рдЖрдк рдЬреЛ рд╕рдорд╛рдзрд╛рди рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ
рдореИрдВ Stencil.js рд╕рдорд░реНрдерди рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЛ рдмрд╣реБрдд рдШрдЯрдХ рдХреЗрдВрджреНрд░рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрдЦрддрд╛ рд╣реВрдВ, рдФрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдПрдХ рдмрд╣реБрдд рд╣реА рдШрдЯрдХ рдлреЛрдХрд╕ рдврд╛рдВрдЪрд╛ рд╣реИ - рдпреЗ рдЯреВрд▓ рдПрдХ-рджреВрд╕рд░реЗ рдХреА рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рддрд╛рд░реАрдл рдХрд░реЗрдВрдЧреЗред
рдХреНрдпрд╛ рдЖрдк рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдореЗрдВ рд▓рд╛рдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ?
рд╣рд╛рдБ рдореИрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ...
#1870 рдФрд░ #3423 рдкрд░ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХрд░реЗрдВред рдЖрдЗрдП рд╡рд╣рд╛рдВ рдПрдХ рдЪрд░реНрдЪрд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВ
рдХрд░рдВрдЯ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдФрд░ рдПрд╕рдмреА 5 рдХреЗ рд▓рд┐рдП рдирдпрд╛ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдмрд┐рд▓реНрдб рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛
@ рдПрдб-рд╕реНрдЯреНрд░рд┐рдХрд▓реИрдВрдб рдПрдХ рд╕реНрдЯреИрдВрдХреНрд▓ рд╕рдкреЛрд░реНрдЯ рд╡рд░реНрдЬрди рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ
рдореИрдВрдиреЗ рдкреЙрд▓реАрдорд░ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдХреЛ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рд╕рд╛рде рдПрд╕рдмреА рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд┐рдпрд╛ рд╣реИ, рдкреЙрд▓реАрдорд░ рдХреЛ рд╣рдЯрд╛рдиреЗ рдФрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХрдВрдкреНрд▓рд╛рдпрд░ рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдореЗрдВ рдХреБрдЫ рдорджрдж рдХреА рдЬрд░реВрд░рдд рд╣реИ
рдирдорд╕реНрддреЗ,
@ рдПрдб-рд╕реНрдЯреНрд░рд┐рдХрд▓реИрдВрдб рд╕рд┐рд░реНрдл рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЗ рдЕрдВрджрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рд╣реИ рдЬреИрд╕реЗ рдЖрдкрдиреЗ рдЕрдкрдиреЗ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдореЗрдВ рдХрд┐рдпрд╛ рдерд╛, рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ: https://github.com/vogloblinsky/nutrition-web-components
рдореИрдВрдиреЗ Storybook рдХреЗ HTML рд╕реНрдЯрд╛рд░реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИред
рд╕реНрдЯреЛрд░реАрдмреБрдХ рдФрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рд╕рд╛рде рдЕрднреА рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдмрд╕ рдпрд╣ рдХрд░рдирд╛ рдерд╛:
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдХрд╣рд╛рдиреА рдХреЗ рдЕрдВрджрд░ рдЖрдпрд╛рдд рдХреА рдЧрдИ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЛрд░реАрдмреБрдХ рджреНрд╡рд╛рд░рд╛ рд╡реЗрдмрдкреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣реИред рдЖрджрд░реНрд╢ рдХрд╛рд░реНрдпрдкреНрд░рд╡рд╛рд╣ рдХреЗрд╡рд▓ рд╡реЗрдм рдШрдЯрдХ рдХреА JS рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдирд╛ рд╣реИред
рд╣рд╛рдБ, рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдмрд╣реБрд▓рдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╕рд╛рджреЗ рд╕реНрдерд┐рд░ рдбрдмреНрд▓реНрдпреВ/рд╕реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рдХреЗ рдЖрдкрдХреЛ рд╣рд░ рдмрд╛рд░ рдЕрдкрдиреА рдХрд╣рд╛рдиреА рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬреЛ рд╕реАрдорд┐рдд рдорд╣рд╕реВрд╕ рдХрд░рддреА рд╣реИред
рд╣рд╛рдп рд╕рдм, рдореИрдВрдиреЗ рдПрдХ рд░реИрдкрд░ рдмрдирд╛рдпрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╕реНрдЯреИрдВрд╕рд┐рд▓ component
рдЯрд╛рдЗрдк рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рд╕рд╣рд╛рдпрддрд╛ рдорд┐рд▓реЗрдЧреАред https://github.com/nisheed2440/stencil-storybook-wrapper
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИ рдореИрдВ рд╕реЛрдорд╡рд╛рд░ рдХреЛ рдкрд░реАрдХреНрд╖рдг рдХрд░реВрдВрдЧрд╛ред рдЕрдЪреНрдЫрд╛ рдХрд╛рд░реНрдп :)
рдХреНрдпрд╛ рдЗрд╕реЗ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХрд╛ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╣рд┐рд╕реНрд╕рд╛ рдмрдирд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛? рдореБрдЭреЗ рдЗрд╕рдХреА рд╕рдЦреНрдд рдЬрд░реВрд░рдд рд╣реИ!
@otw рд╣рдо рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдХреНрдпрд╛ рдЖрдк рд╣рдорд╛рд░реА рдорджрдж рдХрд░ рдкрд╛рдПрдВрдЧреЗ?
@ndelangen рдореБрдЭреЗ рдЪреАрдЬреЛрдВ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдФрд░ рдлреАрдбрдмреИрдХ/рдмрдЧ рд░рд┐рдкреЛрд░реНрдЯ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред
рдХреНрдпрд╛ рдпрд╣ рд▓рд┐рдЯрд▓реЗрдореЗрдВрдЯ (рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╡реЗрдм рдШрдЯрдХреЛрдВ) рдпрд╛ рд╕рд┐рд░реНрдл рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдЧрд╛?
@ nisheed2440 рдЖрдкрдХрд╛ рд░реИрдкрд░ рдЖрд╢рд╛рдЬрдирдХ рд▓рдЧрддрд╛ рд╣реИ, рдореИрдВ рдЬрд▓реНрдж рд╣реА рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░реВрдВрдЧрд╛! рд▓реЗрдХрд┐рди рд╕реНрдЯреЛрд░реАрдмреБрдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд▓реЗрдЦрд┐рдд "рдореВрд▓" рдПрдХреАрдХрд░рдг рд╣реЛрдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
@ nisheed2440 рдореИрдВ рдмрд╣реБрдд рд╡реНрдпрд╕реНрдд рд░рд╣рд╛ рд╣реВрдВ (рд╕рднреА рдХреЛ рдХреНрд╖рдорд╛ рдХрд░реЗрдВ) рд▓реЗрдХрд┐рди рд╕реНрдерд╛рдиреАрдп рд╕реНрддрд░ рдкрд░ рдЗрд╕рдХреЗ рдмрд╣реБрдд рд╣реА рд╡реИрдирд┐рд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдЬ рдПрдХ рдмрд╣реБрдд рдЫреЛрдЯреА рдЦрд┐рдбрд╝рдХреА рд╣реИ рдФрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЕрдЧрд▓реЗ рд╣рдлреНрддреЗ рдЗрд╕ рдкрд░ рдХреБрдЫ рд╕рдордп рдмрд┐рддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдореМрдЬреВрджрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдпрд╣ рдореМрдЬреВрджрд╛ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ/рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдЖрдЬ рд╕реБрдмрд╣ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рднреА рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ! рдЬреАрдЬреЗ рдЗрд╕реЗ рд╕реЗрдЯрдЕрдк рдХрд░рдирд╛ рд╡рд╛рдХрдИ рдЖрд╕рд╛рди рд╣реИред рдореИрдВрдиреЗ рдХреБрдЫ рдРрдбрдСрди рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рд╣реИрдВ:
import '@storybook/addon-backgrounds/register';
import '@storybook/addon-knobs/register';
import '@storybook/addon-actions/register';
import '@storybook/addon-notes/register';
рд╕рдм рдХреБрдЫ рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдмрд╕ рдРрдбрдСрди-рдиреЙрдмреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╕реНрдпрд╛ рдорд┐рд▓реА https://github.com/storybooks/storybook/issues/5017 рд▓реЗрдХрд┐рди рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ рдФрд░ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдмрд╣реБрдд рдЬрд▓реНрдж рддрдп рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ 2 рд╕рдкреНрддрд╛рд╣ рд╕реНрдЯреИрдВрд╕рд┐рд▓рдЬреЗрдПрд╕ рдФрд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рддреЗ рд╣реБрдП рдмрд┐рддрд╛рдП рдФрд░ рдПрдХ рд▓рд╛рдЗрд╡рд╕реНрдЯреНрд░реАрдо рдХрд┐рдпрд╛ рдЬрд╣рд╛рдВ рдореИрдВ рдЕрдкрдирд╛ рд╕рдорд╛рдзрд╛рди рдХрд╡рд░ рдХрд░рддрд╛ рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдЪрдПрдордЖрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЫреЛрдЯреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред рд╡рд┐рддрд░рдг рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдмрдВрдбрд▓ рд╕реЗ рд▓реЛрдбрд░ рдХреЛ рд╕реБрдзрд╛рд░рдиреЗ рдпрд╛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрд╕рдВрдж рдЖрдПрдЧреАред
https://www.youtube.com/watch?v=XwHtPw3izLE
рдФрд░ рдпрд╣рд╛рдБ рд░реЗрдкреЛ рд╣реИ! ^_^
https://github.com/MadnessLabs/enjin-components
@ nisheed2440 рд╣реИрд▓реЛ, рдореИрдВ рдЖрдкрдХреЗ рд╕рдорд╛рди рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛
рдЬрдм рдореИрдВ рджреМрдбрд╝рддрд╛ рд╣реВрдВ, рддреЛ рдпрд╣ рдореЗрд░реА рд╕рднреА рдХрд╣рд╛рдирд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд╕рднреА рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЦрд╛рд▓реА рд╣реЛрддреЗ рд╣реИрдВред рд░рдВрдЧреАрди рд╕рд░реНрд╡рд░ рдкрд░ рдШрдЯрдХ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╕рдордп рд╢рд╛рдпрдж рдпрд╣ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдЧреБрдо рд╣реИ
@nisheed2440 рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдорд╣рд╛рди рдкреНрд░рдпрд╛рд╕ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд-рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдпрд╣рд╛рдВ рдХреА рдЯреАрдо рдХреЛ рд╕рд╣реА рджрд┐рд╢рд╛ рдореЗрдВ рд╢реБрд░реБрдЖрдд рдорд┐рд▓реЗрдЧреАред рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдФрд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реИрдВред
рд╣реЗрд▓реЛ рд╕рдм рд▓реЛрдЧ! рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рдпрджрд┐ рдЕрднреА рднреА рдкреНрд░рд╢реНрди, рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдпрд╛ рдмрдЧ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдмреЗрдЭрд┐рдЭрдХ рдЪрд░реНрдЪрд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣рд░ рдореБрджреНрджреЗ рдкрд░ рдкрд╣реБрдВрдЪрдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИред рд╣рдо рдпреЛрдЧрджрд╛рди рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдЦреБрд▓реЗ рд╣реИрдВ рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдПрдХ рдкреБрд▓ рдЕрдиреБрд░реЛрдз рднреЗрдЬреЗрдВред рдирд┐рд╖реНрдХреНрд░рд┐рдп рдореБрджреНрджреЗ 30 рджрд┐рдиреЛрдВ рдХреЗ рдмрд╛рдж рдмрдВрдж рдХрд░ рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗред рдзрдиреНрдпрд╡рд╛рдж!
рдХреЛрдИ рдЗрд╕реЗ рдЙрдард╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ?
рдореЗрд░реА рдЯреАрдо рд╣рдорд╛рд░реЗ рд╕рд╛рдорд╛рдиреНрдп рдШрдЯрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЗ рд▓рд┐рдП StencilJS + Storybook рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реА рд╣реИ рдФрд░ рдореБрдЭреЗ рдпреЛрдЧрджрд╛рди рджреЗрдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдореЗрдВ рд╕реЗ рдХреБрдЫ рд▓реЛрдЧ рдЗрд╕ рдЪреАрдЬрд╝ рдХреЛ рдлрд┐рд░ рд╕реЗ рдкрдЯрд░реА рдкрд░ рд▓рд╛ рд╕рдХреЗрдВ...
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд░реБрдЪрд┐ рд╣реИ, рдЬреИрд╕реЗ https://twitter.com/dboskovic/status/1120336958008348672
рдПрдХ рдЖрд╕рд╛рди рдЬреАрдд рдПрдХ @storybook/preset-stencil
рдкреИрдХреЗрдЬ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ @popcorn245 рдХреЗ рдХреЙрдиреНрдлрд┐рдЧ рдХреЛ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдкреНрд░реАрд╕реЗрдЯ рдореЗрдВ рдкреИрдХреЗрдЬ рдХрд░рддрд╛ рд╣реИред рдореБрдЭреЗ рдЕрднреА рднреА рдЗрд╕рдХреЗ рд▓рд┐рдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдЖрдЧрд╛рдореА рд╕реНрдЯреЛрд░реАрдмреБрдХ рдбреЙрдХреНрд╕ рд░рд┐рд▓реАрдЬ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдпрд╣ рд╕реАрдзрд╛ рд╣реИ рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рдПрд╕рдмреА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рдореБрдЭреЗ рдХрд┐рд╕реА рдХрд╛ рднреА рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА рдЬреЛ рдЗрд╕реЗ рдЪреБрдирдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИред
рдЕрд░реЗ @shilman , рдЗрддрдиреЗ рд╕рд╛рд░реЗ рд▓реЛрдЧ рдЗрд╕ рдкрд░ рдкрд┐рдХрдЕрдк рдХрд░рдиреЗ рдФрд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЗ рд╕рд╛рде рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдПрдХ рдмреЗрд╣рддрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХрдВрдкрд╛рдЗрд▓рд░ рд╕реЗ рдкреАрдЫреЗ рд╣рдЯ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЬреЗрдПрд╕рдПрдХреНрд╕ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдЬреИрд╕реЗ рд░рд┐рдПрдХреНрдЯ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд╛рде, рд▓реЗрдХрд┐рди рд╡рд╣ рдПрдордПрдЪрдУ рд╣реИред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╡рди рдХреБрдЫ рдмрдбрд╝реЗ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЗ рд╕рд╛рде рдЧрд┐рд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЗрд╕ рдЪреИрдВрдЬ рдкрд░ рдЭрд╛рдВрдХрдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛ рд╕рдХреЗ рдХрд┐ рдЬреЛ рдХреЛрдИ рднреА рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рд╡рд╣ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдХреНрдпрд╛ рдЖ рд░рд╣рд╛ рд╣реИред
https://github.com/ionic-team/stencil/blob/core-refactor/BREAKING_CHANGES.md
рдпрд╣ рдзрд╛рдЧрд╛ рдореЗрд░реЗ рд▓рд┐рдП рдмреЗрд╣рдж рдорджрджрдЧрд╛рд░ рдерд╛, рдЦрд╛рд╕рдХрд░ @ рдкреЙрдкрдХреЙрд░реНрди 245 рдХреЗ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдиред рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдореИрдВ @stencil/state-tunnel
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛, рдЬрд┐рд╕рдиреЗ рдЙрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рддреЛрдбрд╝ рджрд┐рдпрд╛ред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ рдореИрдВ рдЗрд╕реЗ рдЪрд▓рд╛рдХрд░ рдХреБрдЫ рдорд╛рдореВрд▓реА ~ рд╣реИрдХреНрд╕ ~ рдЯреНрд╡реАрдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛:
npm i -D [email protected]
рдФрд░ рдЗрд╕реЗ .storybook/webpack.config.js
рдЬреЛрдбрд╝рдирд╛:
const { existsSync, readdirSync } = require('fs');
const { resolve } = require('path');
const CopyPlugin = require('copy-webpack-plugin');
module.exports = ({ config }) => {
// 1. Transpile <strong i="11">@stencil</strong> modules with Babel
const babelLoader = config.module.rules.find(
({ use }) => use && use[0].loader === 'babel-loader'
);
babelLoader.exclude = [/node_modules\/(?!\@stencil).*/];
if (babelLoader.use[0].options) {
babelLoader.use[0].options.plugins = ['@babel/plugin-syntax-dynamic-import'];
}
// 2. Load JS & CSS from our components
config.entry.push(resolve(__dirname, '..', 'dist', 'MYCOMPONENTNAME.js'));
config.entry.push(resolve(__dirname, '..', 'dist', 'MYCOMPONENTNAME.css'));
const components = resolve(__dirname, '..', 'dist', 'collection', 'components');
readdirSync(components).map(file => {
jsFilePath = resolve(components, file, `${file}.js`);
try {
if (existsSync(jsFilePath)) config.entry.push(jsFilePath);
} catch (err) {
console.error(err);
}
cssFilePath = resolve(components, file, `${file}.css`);
try {
if (existsSync(cssFilePath)) config.entry.push(cssFilePath);
} catch (err) {
console.error(err);
}
});
// 3. Fix dynamic imports for Storybook
// IMPORTANT: webpack must be at 4.28 due to a bug. See here: https://github.com/webpack/webpack/issues/8656
config.plugins.push(
new CopyPlugin([
{
from: resolve(__dirname, '..', 'dist'),
to: resolve(__dirname, '..', 'node_modules', '<strong i="12">@storybook</strong>', 'core', 'dist', 'public'),
},
])
);
return config;
};
рдЗрд╕рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рдирд╛ рдФрд░ (рдЬреИрд╕рд╛ рдХрд┐ рдХрд╣реАрдВ рдФрд░ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ) concurrently
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рдЕрднреА рдХреЗ рд▓рд┐рдП)ред рдореИрдВрдиреЗ рдПрдХ рддреНрд╡рд░рд┐рдд рд╕реНрдЯрд╛рд░реНрдЯрд░ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдмрдирд╛рдпрд╛ рдЬрд┐рд╕рдореЗрдВ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдФрд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ рджреЛрдиреЛрдВ рдХреЗ рд╕рд╛рде рдЙрдардиреЗ рдФрд░ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рдм рдХреБрдЫ рд╢рд╛рдорд┐рд▓ рд╣реИред рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирд╡реАрдирддрдо рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд░рд┐рд▓реАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдЗрд╕реЗ рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ: рд╕реНрдЯреИрдВрд╕рд┐рд▓-рд╕реНрдЯреЛрд░реАрдмреБрдХ-рд╕реНрдЯрд╛рд░реНрдЯрд░
@ fvaldes33 рдЕрдЪреНрдЫрд╛! рдЗрд╕реЗ рддрд╛рд░рд╛рдВрдХрд┐рдд рдХрд┐рдпрд╛ред рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд┐рд░реНрдл рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╡рди рдмреАрдЯрд╛ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдореЗрд░реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рдорд╛рди рджрд┐рдЦрддреА рд╣реИ- рдореИрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рд╕реНрдЯреЙрдХ рд╡реЗрдмрдкреИрдХ рд╕реЗрдЯрдЕрдк рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рдерд╛ред
рдореЗрд░реЗ рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ рдЕрдВрддрд░ stencil build --watch
(рдЙрддреНрдкрд╛рдж, рджреЗрд╡ рдирд╣реАрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рдерд╛ рдХреНрдпреЛрдВрдХрд┐ рдирд┐рд░реНрдорд╛рдг рд╕рдордп рдЗрддрдирд╛ рддреЗрдЬрд╝ рд╣реИ рдФрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдореЗрдВ рдЙрддреНрдкрд╛рдж рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ рд╢реИрд▓рд┐рдпреЛрдВ рдФрд░ рдЕрдиреНрдп рдЖрдпрд╛рддреЛрдВ рдХреЗ рд╕рд╛рде)ред
@ fvaldes33 рдЖрдк рдЕрдкрдиреЗ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди-head.html рдореЗрдВ рдмрд┐рд▓реНрдб/ рддрд░рд╣ рдХреИрд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдореБрдЭреЗ рдкреВрд░реНрдг рдкрде рдХреА рдЖрдкреВрд░реНрддрд┐ рдХрд░рдиреА рд╣реИ рдЬреИрд╕реЗ http://localhost :3333/build/components.jsред рд▓реЗрдХрд┐рди рдореИрдВ рдЪрд╛рд╣реВрдВрдЧрд╛ рдХрд┐ рдРрд╕рд╛ рди рдХрд░рдирд╛ рдкрдбрд╝реЗред
(рдореИрдВ рдЖрдкрдХреЗ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рддрд╛рдЬрд╛ рд╕реНрдЯреЛрд░реАрдмреБрдХ/рдПрдЪрдЯреАрдПрдордПрд▓ рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЗ рд╕рд╛рде рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ)
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:
рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдореИрдВ www рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдмрдЬрд╛рдп рдкреЛрд░реНрдЯ 6006 рдкрд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ рд╢реБрд░реВ рдХрд░ рд░рд╣рд╛ рдерд╛ред рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рд╣реЛ рдЧрдИ!
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдордореЗрдВ рд╕реЗ рдмрд╣реБрддреЛрдВ рдХреЗ рдкрд╛рд╕ рд╕рдорд╛рди рд╕рдорд╛рдзрд╛рди рд╣реИрдВ (рдореЗрд░реЗ рд╕рд╛рде https://github.com/jagreehal/stencil-boilerplate), рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧрд░реНрдо/рд▓рд╛рдЗрд╡ рдЕрдкрдбреЗрдЯ рдкрд╕рдВрдж рдЖрдПрдЧрд╛ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореБрдЭреЗ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд░реАрдлреНрд░реЗрд╢ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рдХреНрдпрд╛ рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреА рдмреБрд▓реЗрдЯ рд╕реВрдЪреА рд╣реИ? рдореБрдЭреЗ рдкрд┐рдЪ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рдореБрдЭреЗ рдкрддрд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдмрдирд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред
рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ? рдХреНрдпрд╛ рд╣рдо рдпреЛрдЧрджрд╛рди рджреЗ рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВ рдЗрд╕реЗ рджреЗрдЦрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛!
рдореИрдВрдиреЗ рдКрдкрд░ рдПрдХ рдкреВрд░реНрд╡ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ред
рдЕрдЧрд░ рдХреЛрдИ рдЙрдкрд░реЛрдХреНрдд рдкреИрдЯрд░реНрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдкреНрд░реАрд╕реЗрдЯ рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдкрдХреНрд╖ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред рдореИрдВ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдкрдХреНрд╖ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдБред
рдореИрдВрдиреЗ рдЕрднреА рдЕрдкрдирд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡рд╣рд╛рдВ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдЗрд╕реЗ рдЪрд╛рд╣рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ:
@Props
рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдШреБрдВрдбреА рдкреАрдврд╝реАрдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ: https://github.com/DesignByOnyx/stencil-storybook-starter
@DesignByOnyx рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯреНрд╡реАрдЯ рдХрд░реЗрдВ рдФрд░ @storybookjs
рдЙрд▓реНрд▓реЗрдЦ рдХрд░реЗрдВ рдФрд░ рдореИрдВ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдЦрд╛рддреЗ рд╕реЗ RT рдХрд░реВрдВрдЧрд╛ред рдФрд░ рдЕрдЧрд░ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдкреЛрд╕реНрдЯ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдЖрдкрдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдХреЗ рдЗрд╕реЗ рдкреНрд░рдЪрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдХрд╛рдлреА рдмрдбрд╝реА рдорд╛рдВрдЧ рд╣реИред
рдХрдорд╛рд▓ рдХрд╛ рдХрд╛рдо @DesignByOnyx ! рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреВрд░реНрд╡ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ :tada:
рдареАрдХ рд╣реИ, рдореИрдВрдиреЗ рдЯреНрд╡реАрдЯ рдХрд┐рдпрд╛ рд╣реИ (рдореИрдВ рдЬреНрдпрд╛рджрд╛ рдЯреНрд╡рд┐рдЯрд░ рдирд╣реАрдВ рдХрд░рддрд╛)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рдмреНрд▓реЙрдЧ рдирд╣реАрдВ рд╣реИ: /, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХреЛрдИ рдЗрд╕реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рдПрдХ рд╕рд╛рде рд░рдЦрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред
рдЬрдмрдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдЬрд▓реНрджреА рдореЗрдВ рдПрдХ рд╕рд╛рде рдлреЗрдВрдХ рджрд┐рдпрд╛ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рдмрдирд╛рдпрд╛ред рд╡рд╣рд╛рдВ рдХреЗ рдХреБрдЫ рдХреЛрдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рднрдВрдЧреБрд░ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдШрдЯрдХ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХрд╛рдзрд┐рдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓реЛрдб рдФрд░ рдорд░реНрдЬ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рдЙрдкрднреЛрдЬреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рд╕рдордп рдЦрд░реНрдЪ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреБрдЫ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реВрдВ рдХрд┐ рдкреНрд░реАрд╕реЗрдЯ рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛ред рд╕рдмрд╕реЗ рдмрдбрд╝реА рдмрд╛рдд рдЬреЛ рдЕрдЪреНрдЫреА рд╣реЛрдЧреА рд╡рд╣ рд╣реИ JSX рдкреНрд░реАрд╕реЗрдЯ рдЬреЛ рд░рд┐рдПрдХреНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕реНрдЯреЛрд░реАрдмреБрдХ-рдПрдЪрдЯреАрдПрдордПрд▓ рдХрд┐рд╕реНрдо рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдереЛрдбрд╝рд╛ рдЖрд╕рд╛рди рдкреНрд░рддрд┐рдкрд╛рджрди рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдкреАрдврд╝реА рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдЧрд╛, рдФрд░ рдЗрд╕рдХрд╛ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдРрдбрдСрди рдХреЛ рднреА рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдЙрд╕ рдкреНрд░рдпрд╛рд╕ рдХреЛ рд╕рдордиреНрд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реВрдВред рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ, рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдореИрдВ рдорджрдж рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред
@DesignByOnyx рдХрд┐рд╕реА рднреА рдореМрдХреЗ рдкрд░ рдЖрдк рд╣рдорд╛рд░реЗ рдХрд▓рд╣ рдкрд░ https://discordapp.com/invite/UUt2PJb
рдореБрдЭреЗ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдмреНрд▓реЙрдЧ рдкрд░ рдЗрд╕ рдХрд╛рдо рдХреЛ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╕рдореБрджрд╛рдп рдореЗрдВ рдкреНрд░рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдмрд╛рдд рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ред
рдореИрдВ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рд▓рд┐рдП @storybook/html
рд╕рд╛рде рдЦреЗрд▓ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЕрдиреБрднрд╡ рдХрд╛рдлреА "рдмрд╕ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ"ред рдЖрдк рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ:
concurrently
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ stencil build --watch
"рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ"storybook
рдХреЛ -s dist
рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ, рддрд╛рдХрд┐ рдЖрдкрдХреА рд╕реНрдЯреИрдВрд╕рд┐рд▓ dist
рдХреЛ рд╕реНрдерд┐рд░ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗредрдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреИрдЧ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .storybook/preview-head.html
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ рдЬреИрд╕реЗ:
<script type="module" src="/$PACKAGE_NAME/$PACKAGE_NAME.esm.js"></script>
<script nomodule="" src="/$PACKAGE_NAME/$PACKAGE_NAME.js"></script>
рдФрд░ рдмрд╕! рдЖрдЙрдЯ-рдСрдл-рдж-рдмреЙрдХреНрд╕ html
рд╕рдорд░реНрдерди рдЖрдкрдХреА рд╕рднреА рд╡реЗрдм рдШрдЯрдХ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред
рдореИрдВ рдЬреЛ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рд╡рд╣ @storybook/stencil
рдЬреИрд╕рд╛ рдХреБрдЫ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрд╣рд╛рдиреА рд╕рдВрд▓реЗрдЦрди рдкрдХреНрд╖ рдкрд░ html
рдкреИрдХреЗрдЬ рдХреЗ рд╕рдорд╛рди рдЕрдиреБрднрд╡ (рдФрд░ рдХреЛрдб) рд╣реИ, рд▓реЗрдХрд┐рди
concurrently
рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛscript
рдЯреИрдЧ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИрдХреНрдпрд╛ рдРрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ? рдореИрдВ рдЕрдкрдиреА рдХрдВрдкрдиреА рдХреЛ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдФрд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдкрд░ рдмреЗрдЪрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реВрдВ, рдФрд░ рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рд▓рд╛рдн рдХрд░реНрд╖рдг рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ рд╕реНрдЯреЛрд░реАрдмреБрдХ + рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рдПрдХ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЙрд╕ рдХрд╣рд╛рдиреА рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП "рдХрд╛рдо рдХрд╛ рд╕рдордп" рд╣реЛрдЧрд╛ред
@DesignByOnyx рдиреЗ рдЬреЛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЙрд╕ рдХрд┐рдЯ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХреЛрдВ рдХреЛ _start_ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рд▓рд┐рдП "рд╕рд╛рдорд╛рдиреНрдп" рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдПрдХ рдкреИрдХреЗрдЬ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ "рд╕рд╛рдорд╛рдиреНрдп" рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдХрд┐рдЯ рдХреЗ рдКрдкрд░ рд╕реНрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХреЛрдВ рдХреЗ рдореМрдЬреВрджрд╛ рд╕реЗрдЯ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред
рдорд╣рд╛рди рд╕рд╛рд░рд╛рдВрд╢ @alexlafroscia рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдмрд╣реБрдд рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рдЬрдм рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рд╣реЛрддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдПрдЪрдПрдордЖрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдХреНрдпреЛрдВ рдирд╣реАрдВ?
@ рдЗрдЧреЛрд░-рдбреАрд╡реА рдХреНрдпрд╛ рдкреНрд░реАрд╕реЗрдЯ рдореЗрдВ preview-head.html
рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реИ?
@Hypnosphi рд╢рд╛рдпрдж рдпрд╣ рдЖрдкрдХреЗ рдмрд╣реБ-рдврд╛рдВрдЪреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЙрджрд╛рд╣рд░рдг рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреЛрдИ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ (рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░) рд▓реЗрдХрд┐рди рдПрдХ рд╕рдВрдкреВрд░реНрдг рдХрдВрдкрд╛рдЗрд▓рд░ рдХреА рдЬрд░реВрд░рдд рд╣реИред
@alexlafroscia рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд╣рд╛рдиреА рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ?
рдЬрд┐рд╕ рдХрдВрдкрдиреА рдореЗрдВ рдореИрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рд╣рдо рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП Storybook HTML рдФрд░ StencilJS рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдЦреЗрд▓ рд░рд╣реЗ рд╣реИрдВред рдореБрдЭреЗ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА!
@alexlafroscia рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рд╡рд┐рдЪрд╛рд░, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╕рдорд░реНрдерди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдпрд╣рд╛рдБ рдХреБрдЫ рдЕрдиреНрдп рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ:
рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╕реНрдЯреИрдВрд╕рд┐рд▓рдЬреЗрдПрд╕ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд░реЛрдбрдореИрдк рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдВрдХрд▓рдХ рдПрдкреАрдЖрдИ
рдПрдХ рдЕрдиреНрдп рдХреНрд╖реЗрддреНрд░ рдЬрд┐рд╕ рдкрд░ рд╣рдо рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХрдВрдкрд╛рдЗрд▓рд░ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рднреАрддрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЕрдиреНрдп рдЯреВрд▓реНрд╕ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рд╢рд╛рдирджрд╛рд░ рдЯреАрдореЛрдВ рдЬреИрд╕реЗ рдХрд┐ Stackblitz, CodeSandbox, рдФрд░ WebComponents.dev рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдирд┐рдореНрдирддрдо рд╕реНрддрд░реЛрдВ рдкрд░, рд╕рдВрдХрд▓рдХ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ NodeJS рд╡рд╛рддрд╛рд╡рд░рдг рдХреЗ рдКрдкрд░ рдЪрд▓рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдпрд╣ рдПрдХ рдкреНрд░рдореБрдЦ рд░рд┐рдлреНрд▓реЗрдХреНрдЯрд░ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдзрд┐рдХ-рддреЛ рдмрд╕ рд╕рд╣реА рдПрдкреАрдЖрдИ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдирд╛ред
рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рдХрдИ рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЛ рднреА рджреЗрдЦ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рд░реЛрд▓рдЕрдк, рдкрд╛рд░реНрд╕рд▓, рд╡реЗрдмрдкреИрдХ рдФрд░ рдмреЗрдЬрд╝рд▓ рд╕рд╣рд┐рдд рдЕрдиреНрдп NodeJS рдЯреВрд▓ рджреНрд╡рд╛рд░рд╛ рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрднреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдпрджрд┐ рдЖрдк рдХрд┐рд╕реА рдЯреВрд▓рд┐рдВрдЧ рдХреЗ рдЕрдиреБрд░рдХреНрд╖рдХ рд╣реИрдВ, рдЪрд╛рд╣реЗ рд╡рд╣ рдСрдирд▓рд╛рдЗрди рдЯреВрд▓ рд╣реЛ рдпрд╛ NodeJS рд╡рд╛рддрд╛рд╡рд░рдг, рдФрд░ рдЖрдк рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХреГрдкрдпрд╛ рдмреЗрдЭрд┐рдЭрдХ рдкрд╣реБрдВрдЪреЗрдВ рдФрд░ рд╣рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА!
рдпреЛрдЧреНрдп рд╣реЛ рд╕рдХрддрд╛ рд╣реИ!
рдЬрдм рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рд╣реЛрддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдПрдЪрдПрдордЖрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдХреНрдпреЛрдВ рдирд╣реАрдВ?
@shilman рдпрд╣ рдХрд┐рдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдФрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рдмреАрдЪ рдореЗрд░реЗ рдкрд╛рд╕ рдЬреЛ рд╕реЗрдЯрдЕрдк рд╣реИ, рдЙрд╕рдореЗрдВ рдХреЛрдИ "рд╡рд╛рд╕реНрддрд╡рд┐рдХ" рдХрдиреЗрдХреНрд╢рди рдирд╣реАрдВ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рдПрдХ рд╕рд╛рдзрд╛рд░рдг <script>
рдЯреИрдЧ рд╣реИ рдЬреЛ рдирд┐рд░реНрдорд┐рдд рд╕рдВрдкрддреНрддрд┐рдпреЛрдВ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реИред
рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд╣рд╛рдиреА рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ?
@Hypnosphi рд╡реЗ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ my-component
рд▓рд┐рдП рдПрдХ рдХрд╣рд╛рдиреА рдЬреЛ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрдирд╛рдП рдЧрдП рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкреИрдХреЗрдЬ рдореЗрдВ рдЙрддреНрдкрдиреНрди рд╣реЛрддреА рд╣реИ рдЬрдм рдЖрдк npm init stencil
import { document, console } from 'global';
import { storiesOf } from '@storybook/html';
storiesOf('My Component', module)
.add('without a middle name', () => `
<my-component
first="Alex"
last="LaFroscia"
></my-component>
`)
.add('with a middle name', () => `
<my-component
first="Alex"
middle="Robert"
last="LaFroscia"
></my-component>
`);
рдХрд╣рд╛рдирд┐рдпреЛрдВ рдХреЛ рдЕрдзрд┐рдХ рд░рдЦрд░рдЦрд╛рд╡ рдпреЛрдЧреНрдп рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП StencilJS JSX рдХреНрд╖рдорддрд╛рдУрдВ (рдлрд┐рд▓рд╣рд╛рд▓ Preact рдкрд░ рдЖрдзрд╛рд░рд┐рдд) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд╕рд╛рджреЗ рдкреБрд░рд╛рдиреЗ рдЬреЗрдПрд╕ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЕрдХреНрд╖рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЛрдЭрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ ...
@darondel рдореИрдВ рдХрд╣рд╛рдиреА рд╕рдВрд▓реЗрдЦрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ @storybook/html
рдЙрдкрд▓рдмреНрдз рдерд╛, рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдЕрдиреБрднрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬреЛ рдареАрдХ рдерд╛ред
рдЪреАрдЬреЛрдВ рдХреЛ "рдбрд┐рдлрд╝реЙрд▓реНрдЯ" html
рдЕрдиреБрднрд╡ рдХреЗ рдХрд░реАрдм рд░рдЦрдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдХрд╛ рдПрдХ рд╣рд┐рд╕реНрд╕рд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХрд╣рд╛рдирд┐рдпрд╛рдВ HTML рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рд╕реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддреА рд╣реИрдВ - рдЕрдиреНрдпрдерд╛ рд╡реЗ рдкреНрд░реАрдПрдХреНрдЯ рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рд╕реЗ рдмрдВрдзреЗ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рдХрдо рд╕реЗ рдХрдо рдореЗрд░реЗ рд╕рдВрдЧрдарди рдореЗрдВ, рдХрд╣реАрдВ рдФрд░ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ (рд╣рдо рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдПрдХ Ember.js рджреБрдХрд╛рди рд╣реИрдВ)ред
рдЖрдкрдиреЗ рдмрддрд╛рдпрд╛ рдХрд┐ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдЯреИрдЧ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ htm
рдЬреИрд╕рд╛ рдХреБрдЫ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдмрд┐рд▓реНрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЕрдЪреНрдЫрд╛ рдФрд░ рд╕рд░рд▓ рднреА рд░рдЦрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдИ рдЖрд╡рд╢реНрдпрдХ рдмрд┐рд▓реНрдб рд╕реНрдЯреЗрдк рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдиреЙрдмреНрд╕ рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдореИрдВ рдпрд╣ рднреА рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛ рдХрд┐ рдЖрдЧрд╛рдореА DocsPage рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИ! рдореИрдВ рд╢рд░реНрдд рд▓рдЧрд╛рддрд╛ рд╣реВрдБ рдХрд┐ рдХреБрдЫ рдХрд╛рдо рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА @DesignByOnyx рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИ, рдпрд╣рд╛рдБ рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдПрдХ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХ рдХреЗ "рдореЗрдЯрд╛рдбреЗрдЯрд╛" рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рд░реНрдЧ рд╣реЛ рддрд╛рдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдЬрд╛рдирдХрд╛рд░реА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХреЗред рд╢рд╛рдпрдж "v1" рдЪрд┐рдВрддрд╛ рдХрд╛ рд╡рд┐рд╖рдп рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рдХреБрдЫ рдЬреЛ "v1.1" рдХреЗ рд▓рд┐рдП рджреЗрдЦрдирд╛ рд╡рд╛рдХрдИ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛! рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрд╕ рдСрдЯреЛ-рдиреЙрдмреНрд╕ рдПрдбрдСрди рдХреА рддрд░рд╣ рдХреБрдЫ рдмрдирд╛рдиреЗ рдХрд╛ рдЖрдкрдХрд╛ рд╡рд┐рдЪрд╛рд░ рдкрд╕рдВрдж рд╣реИ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛!
рд╕реНрдЯреЛрд░реАрдмреБрдХ 5.2 рдХреЗ рд╕рд╛рде рдЖрдЬ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рдбреЙрдХреНрд╕рдкреЗрдЬ рдХреЗ рд╕рд╛рде, рдореИрдВрдиреЗ рдХреБрдЫ рд╢реЛрдз рдХрд┐рдпрд╛ рдХрд┐ рдХреНрдпрд╛ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╕реЗ рдкреНрд░реЙрдкреНрд╕ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ рдФрд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд▓реЗрдХрд┐рди рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рдмрд╛рдд рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ "рдЧреЛрдВрдж" рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рд╕рд╛рде рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдПрдбрдСрди рдпрд╛ рдкреНрд░реАрд╕реЗрдЯ рдХреИрд╕реЗ рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧрд╛ред
рдореИрдВ рдЗрд╕ рд╕рдкреНрддрд╛рд╣ рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдФрд░ рдЧрдбрд╝рдмрдбрд╝ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рджреЗрдЦрддрд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдХреБрдЫ рдПрдХ рд╕рд╛рде рд░рдЦ рд╕рдХрддрд╛ рд╣реВрдВред
@alexlafroscia рдорд╛рдирдХреАрдХреГрдд рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдврд╛рдВрдЪреЗ рдЗрд╕ рдбреЗрдЯрд╛ рдХреЛ рдХреИрд╕реЗ рд╕рдВрд╡рд╛рдж рдХрд░рддреЗ рд╣реИрдВред Jetbrains рд╕реЗ рдХреБрдЫ рджрд┐рд▓рдЪрд╕реНрдк рджреЗрдЦрд╛ рд╣реИ (web_types? Cc @elevatebart ) рдФрд░ @atanasster рднреА рдкреНрд░рджрд░реНрд╢рди рдХреЗ рд▓рд┐рдП JSON рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдкреНрд░реЛрдк рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдХреИрд╢рд┐рдВрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЗрди рд╕рднреА рдХреЛ 6.0 . рдореЗрдВ рдПрдХреАрдХреГрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП
рдореИрдВ Jetbrains рдХреЗ рдХрд╛рд░реНрдп рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдБ -- рдореБрдЭреЗ рдЗрд╕рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреА рд╣реЛрдЧреА! рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЛрдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЬрд╛рдирдХрд╛рд░реА рд╣реИ рдЬреЛ рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрдХ рд╣реЛрдЧреА, рддреЛ рдореБрдЭреЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдореЗрд░реЗ рдкрд╛рд╕ рднреЗрдЬ рд╕рдХреЗрдВ!
рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ "рд╕рд░реНрд╡рд╢реНрд░реЗрд╖реНрда рд╢рд░реНрдд" рдпрд╣ рд╣реЛрдЧреА рдХрд┐ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдмрд┐рд▓реНрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЬреЗрдПрд╕рдУрдПрди рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреЛ рдХрд┐рд╕реА рдРрд╕реЗ рд╕реНрдерд╛рди рдкрд░ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗ рдЬреЛ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдПрдбрди рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕рд┐рджреНрдз рд╣реЛ рдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛред рдЙрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд┐рдд рдкреНрд░реЙрдкреНрд╕, рдЙрддреНрд╕рд░реНрдЬрд┐рдд рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдШрдЯрдирд╛рдУрдВ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП readme
рдлрд╝рд╛рдЗрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА (рдСрдЯреЛ-рдЬреЗрдирд░реЗрдЯреЗрдб рдкреНрд░реЙрдкреНрд╕ рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рдХреЗ рдмрд┐рдирд╛) рдХреА рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рд╢рд╛рдорд┐рд▓ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рд╕реНрдЯреЛрд░реАрдмреБрдХ рдбреЙрдХреНрд╕рдкреЗрдЬ рдХреЛ рдЙрд╕ JSON рдлрд╝рд╛рдЗрд▓ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЖрдХрд░реНрд╖рдХ рдХрд╣рд╛рдиреА рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЙрд╕ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг
{
"timestamp": "2019-09-18T14:30:38",
"compiler": {
"name": "@stencil/core",
"version": "1.3.2",
"typescriptVersion": "3.5.3"
},
"components": [
{
"tag": "fluid-banner",
"encapsulation": "shadow",
"readme": "# fluid-banner\n\nThis is the contents of the README!\n",
"docs": "This is the contents of the README!",
"docsTags": [],
"usage": {},
"props": [],
"methods": [],
"events": [],
"styles": [],
"slots": []
},
{
"tag": "fluid-button",
"encapsulation": "shadow",
"readme": "# fluid-button\n\n\n",
"docs": "",
"docsTags": [],
"usage": {},
"props": [
{
"name": "destructive",
"type": "boolean",
"mutable": false,
"attr": "destructive",
"reflectToAttr": false,
"docs": "Whether to display in the `destructive` style",
"docsTags": [],
"default": "false",
"optional": false,
"required": false
},
{
"name": "disabled",
"type": "boolean",
"mutable": false,
"attr": "disabled",
"reflectToAttr": false,
"docs": "Whether the button should be treated as `disabled`",
"docsTags": [],
"default": "false",
"optional": false,
"required": false
},
{
"name": "plain",
"type": "boolean",
"mutable": false,
"attr": "plain",
"reflectToAttr": false,
"docs": "Whether to display in the `plain` style",
"docsTags": [],
"default": "false",
"optional": false,
"required": false
},
{
"name": "primary",
"type": "boolean",
"mutable": false,
"attr": "primary",
"reflectToAttr": false,
"docs": "Whether to display in the `primary` style",
"docsTags": [],
"default": "false",
"optional": false,
"required": false
},
{
"name": "size",
"type": "\"large\" | \"medium\" | \"small\"",
"mutable": false,
"attr": "size",
"reflectToAttr": true,
"docs": "The size to display the button",
"docsTags": [],
"default": "\"medium\"",
"optional": false,
"required": false
}
],
"methods": [],
"events": [],
"styles": [],
"slots": []
}
]
}
рдпрд╣ рдПрдХ рддрд░рд╣ рдХрд╛ рд╣реИрдХ рд╣реИ (рдореИрдВрдиреЗ рдЗрд╕реЗ JSON рдЖрдЙрдЯрдкреБрдЯ рдХреЛ dist/output.json
рдореЗрдВ рд▓рд┐рдЦрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдерд┐рдпрд╛рдиреЗ рдХреЗ рд▓рд┐рдП fetch
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ) рд▓реЗрдХрд┐рди рдореИрдВ рдХреЗрд╡рд▓ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдХреЗ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдбреЙрдХреНрд╕рдкреЗрдЬ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ рд╕реНрд▓реЙрдЯ рд╕рд╣рд╛рд░рд╛ рджреЗрддрд╛ рд╣реИ рдХрд┐ DocsPage
рдШрдЯрдХ рд▓реЗ рд╕рдХрддрд╛ рд╣реИред
рдкреНрд░реЙрдкреНрд╕ рдЯреЗрдмрд▓ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ; рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдЖрдЙрдЯрдкреБрдЯ рд╡реЗ рд╕рднреА рдкреНрд░реЙрдкреНрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХреА рддрд╛рд▓рд┐рдХрд╛ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреА рд╣реИ, рдФрд░ рдлрд┐рд░ рдХреБрдЫред рдШрдЯрдХ рдХреЗ рд▓рд┐рдП readme.md
рдореЗрдВ рдЬреЛ рдХреБрдЫ рднреА рд╣реИ рд╡рд╣ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдпрджрд┐ рдЖрдк рд╕реНрд╡рдпрдВ рдЗрд╕рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди
page
рдШрдЯрдХ рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рд▓рд┐рдЦрд╛ рдерд╛редimport React, { useContext, useEffect, useState } from "react";
import { DocsPage, DocsContext } from "@storybook/addon-docs/blocks";
export const StorybookDocsPage = () => {
const docsContext = useContext(DocsContext);
const [payload, setPayload] = useState(null);
useEffect(function() {
fetch("./output.json")
.then(res => res.json())
.then(res => setPayload(res));
});
if (!payload) {
return null;
}
const component = payload.components.find(component =>
docsContext.selectedKind.includes(component.tag)
);
// Empty because we will use the whole component README
const titleSlot = () => "";
const subtitleSlot = () => "";
const descriptionSlot = () => component.readme;
const propsSlot = () => ({
rows: component.props.map(prop => ({
name: prop.name,
type: prop.type,
description: prop.docs,
required: prop.required,
defaultValue: prop.default
}))
});
return React.createElement(
DocsPage,
{ titleSlot, subtitleSlot, descriptionSlot, propsSlot },
null
);
};
рдЕрджреНрдпрддрди: рдПрдХ рдХрджрдо рдЖрдЧреЗ рдмрдврд╝рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдХрд┐рд╕реА рднреА рдХрд╕реНрдЯрдо рд╢реИрд▓рд┐рдпреЛрдВ рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рд╕рд╛рде рджреВрд╕рд░реА рддрд╛рд▓рд┐рдХрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдкреВрд░реНрдг рдХрд╕реНрдЯрдо DocsPage
(рдХреЗрд╡рд▓ рд╕реНрд▓реЙрдЯ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп) рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ред
рдХрд╕реНрдЯрдо рдбреЙрдХреНрд╕рдкреЗрдЬ рдХреЗ рд▓рд┐рдП рдХреЛрдб
import { createElement as e, useContext, useEffect, useState } from "react";
import { DocsPage, PropsTable } from "@storybook/components";
import { H2, H3 } from "@storybook/components/html";
import {
Anchor,
Description,
DocsContext,
Preview,
Story
} from "@storybook/addon-docs/blocks";
function useStencilComponent() {
const docsContext = useContext(DocsContext);
const [payload, setPayload] = useState(null);
useEffect(function() {
fetch("./output.json")
.then(res => res.json())
.then(res => setPayload(res));
});
if (!payload) {
return undefined;
}
return payload.components.find(component =>
docsContext.selectedKind.includes(component.tag)
);
}
const DocsStory = ({
id,
name,
expanded = true,
withToolbar = false,
parameters
}) =>
e(
Anchor,
{ storyId: id },
expanded && e(H3, null, (parameters && parameters.displayName) || name),
expanded &&
parameters &&
parameters.docs &&
parameters.docs.storyDescription &&
e(Description, { markdown: parameters.docs.storyDescription }, null),
e(Preview, { withToolbar }, e(Story, { id, height: "auto" }, null))
);
export const CustomDocsPage = () => {
const docsContext = useContext(DocsContext);
const component = useStencilComponent();
if (!component) {
return null;
}
const { selectedKind, storyStore } = docsContext;
const stories = storyStore.getStoriesForKind(selectedKind);
const [primary, ...otherStories] = stories;
const propDocs = component.props.length
? [
e(H2, null, "Props"),
e(
PropsTable,
{
rows: component.props.map(prop => ({
name: prop.name,
type: prop.type,
description: prop.docs,
required: prop.required,
defaultValue: JSON.parse(prop.default)
}))
},
null
)
]
: [];
const styleDocs = component.styles.length
? [
e(H2, null, "Styles"),
e(
PropsTable,
{
rows: component.styles.map(style => ({
name: style.name,
description: style.docs
}))
},
null
)
]
: [];
const additionalStories = otherStories.length
? [
e(H2, null, "Stories"),
...otherStories.map(story =>
e(
DocsStory,
{ key: story.id, ...story, expanded: true, withToolbar: false },
null
)
)
]
: [];
return e(
DocsPage,
null,
e(Description, { markdown: component.readme }, null),
e(
DocsStory,
{ key: primary.id, ...primary, expanded: false, withToolbar: true },
null
),
...propDocs,
...styleDocs,
...additionalStories
);
};
рдХрд╕реНрдЯрдо рдкреЗрдЬ рдЗрд╕ рддрдереНрдп рдХреЛ рднреА рдареАрдХ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХрд╣рд╛рдиреА рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ 500px
рдКрдВрдЪрд╛рдИ рдореЗрдВ рд╣реИ, рдЬреЛ рдХрд┐ рдмрд╣реБрдд рд▓рдВрдмрд╛ рд╣реИ
@alexlafroscia рдпрд╣ рдЕрджреНрднреБрдд, рдЬрдмрд░рджрд╕реНрдд рдХрд╛рдо рд╣реИ!
FYI рдХрд░реЗрдВ, рд╣рдо 5.3 рдореЗрдВ рдкреНрд░реЛрдк рдЯреЗрдмрд▓ рд╕реНрдЯрдл рдХреЛ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, Vue рдЬреИрд╕реЗ рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рд╕реНрд▓реЙрдЯреНрд╕ рдФрд░ рдЗрд╡реЗрдВрдЯреНрд╕ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рд╣реЛрддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреА рдЯреЗрдмрд▓ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреА рд╢реИрд▓рд┐рдпреЛрдВ рдХрд╛ рдХрд╛рдо рдЙрд╕реА рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗред https://github.com/storybookjs/storybook/issues/8123
рдореИрдВ рдЬрд┐рд╕ Jetbrains рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреА рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рдерд╛, рд╡рд╣ рдпрд╣ рд╣реИ (cc @piotrtomiak): https://github.com/JetBrains/web-types
рдореИрдВрдиреЗ рдЗрд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ, рдФрд░ рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдпрд╣ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╕рд╣реА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдпрд╣ рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд░реЙрдлреНрдЯ рдирд╣реАрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИ, рддреЛ рдореИрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХреЗ рдмрдЬрд╛рдп рдореМрдЬреВрджрд╛ рдорд╛рдирдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред
@shilman рд╡реЗрдм рдШрдЯрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдореЗрдВ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕реВрдЪрдирд╛ рд╡рд┐рдирд┐рдордп рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдорд╛рдирдХ рд▓рд╛рдиреЗ рдХреЗ рд╣рдорд╛рд░реЗ (рдЬреЗрдЯрдмреНрд░реЗрди) рдкреНрд░рдпрд╛рд╕ рдХреЛ web-types
рдорд╛рдирдХ рдмрд╣реБрдд рддрд╛рдЬрд╝рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА Vue рд╕рдореБрджрд╛рдп рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдХреБрдЫ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдБ рд╕реБрдиреА рд╣реИрдВред рдореИрдВ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ Vue рд╕рдореБрджрд╛рдп рдореЗрдВ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдкреНрд░рдЪрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рд╕рдореБрджрд╛рдп рд╕реЗ рдХреБрдЫ рд░реБрдЪрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ!
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ web-types
JSON рд╕реНрдХреАрдорд╛ рдореЗрдВ рдХреБрдЫ рдЪреАрдЬреЗрдВ рдЧрд╛рдпрдм рд╣реЛ рд╕рдХрддреА рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реЛрдВрдЧреА рдФрд░ рдЬрд┐рдиреНрд╣реЗрдВ рдХрд▓реНрдкрдирд╛ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Vue рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЖрдЗрдЯрдо vue
рд╕рд╛рде рдкреНрд░реАрдлрд╝рд┐рдХреНрд╕реНрдб рд╣реИрдВред рд╕реАрдПрд╕рдПрд╕ рд╕рдорд░реНрдерди рдХреЗ рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдкреВрд░рд╛ рдЦрдВрдб рднреА рдЧрд╛рдпрдм рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЕрдЧрд░ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ web-types
рдПрдХ рдореМрдХрд╛ рджреЗрдирд╛ рдЙрдЪрд┐рдд рд╣реИ рддреЛ рдмреЗрдЭрд┐рдЭрдХ рдореБрджреНрджреЛрдВ рдХреЛ рджрд░реНрдЬ рдХрд░реЗрдВ рдпрд╛ рдЕрдиреБрдкрд▓рдмреНрдз рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдкреАрдЖрд░ рдмрдирд╛рдПрдВред
рдЖрдкрдХреЗ рдШрдЯрдХреЛрдВ рдХреЛ web-types
рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд░рдиреЗ рдХрд╛ рджреБрд╖реНрдкреНрд░рднрд╛рд╡ рдПрдХ рдЕрдЪреНрдЫрд╛ рдХреЛрдб рдкреВрд░реНрдгрддрд╛ рд╣реЛрдЧрд╛ рдЬрдм рдбреЗрд╡рд▓рдкрд░реНрд╕ рдЖрдкрдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВрдЧреЗред рд╣рдо рдирд┐рдХрдЯ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕рднреА рдврд╛рдВрдЪреЗ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп web-types
рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд░реНрдерди рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВред рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рдкреНрд░рд╛рд░реВрдк рдХреА рдПрдХ рдмрдбрд╝реА рд╕рдореБрджрд╛рдп рд╕реНрд╡реАрдХреГрддрд┐ рдХреЗ рд╕рд╛рде рдЕрдиреНрдп рдЖрдИрдбреАрдИ рдкреНрд░рд╛рд░реВрдк рдХреЗ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рдкрд╛рд▓рди рдХрд░реЗрдВрдЧреЗ, рдЬрд┐рд╕рд╕реЗ рд╕рднреА рдХреЛ рдлрд╛рдпрджрд╛ рд╣реЛрдЧрд╛ :)
@alexlafroscia рд╢рд╛рдирджрд╛рд░ рдХрд╛рдо! рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдФрд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдПрдХреАрдХрд░рдг (https://github.com/storybookjs/storybook/issues/7644 рдХреЗ рд╕рд╛рде) рдЕрдЪреНрдЫрд╛ рджрд┐рдЦ рд░рд╣рд╛ рд╣реИ
рдЙрд╕ рдореБрджреНрджреЗ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж! рдореИрдВ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рд╕рдорд╛рди рдкрде рдкрд░ рдЪрд▓рд╛ рдЧрдпрд╛ (рдХрд┐рд╕реА рднреА рддрд░рд╣ рдореМрдЬреВрджрд╛ рд░реАрдбрдореЗ рдлрд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реАрдзреЗ рдбреЙрдХреНрд╕рдкреЗрдЬ рдореЗрдВ рдЦреАрдВрдЪрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рдерд╛) рд▓реЗрдХрд┐рди рдЖрдЦрд┐рд░рдХрд╛рд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдбреЙрдХреНрд╕ рдЬреЗрдПрд╕рдУрдПрди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбреЗрдЯрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдкрд╛рдпрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рд╣реИ рдкреНрд░реЙрдкреНрд╕ рдФрд░ рд╕рдм рдХреБрдЫ (рдЪреВрдВрдХрд┐ рд╡рд╣ рдбреЗрдЯрд╛ JSON рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд╣реАрдВ рдФрд░ рд╣реИ рдФрд░ рд╕рдВрд░рдЪрд┐рдд рдбреЗрдЯрд╛ рдПрдХ рдХрд╕реНрдЯрдо рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХрджрдо рд╕рд╣реА рд╣реИ)ред
@alexlafroscia рдЕрдкрдиреЗ рдирд┐рд╖реНрдХрд░реНрд╖ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдХреНрдпрд╛ рдореИрдВ рдкреВрдЫ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ CustomDocsPage
рдХреЛ рдХреИрд╕реЗ рдбрд┐рдмрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
рдореИрдВрдиреЗ рдЗрд╕реЗ addParameters
рд╕рд╛рде рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╕реНрдЯрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдмрд▓реНрдХрд┐ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╣реИред
.storybook/config.js
рд╕реЗрдЯрдЕрдк
import { configure, addParameters } from '@storybook/react';
import { themes } from '@storybook/theming';
import { CustomDocsPage } from './docs.jsx';
addParameters({
options: { theme: themes.dark },
docs: { page: CustomDocsPage }
});
configure(require.context('../src', true, /\.(story|stories)\.(mdx)$/), module);
component.story.mdx
### Web Component
<Story name="WC">
<component-name name="test"></component-name>
</Story>
CustomDocsPage
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рднреА WC рдХреЛ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдбреЙрдХреНрд╕ рдкреЗрдЬ рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдореИрдВ рдШрдЯрдХ рдХреЛ рдбреАрдмрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ? рдореИрдВрдиреЗ рдХреБрдЫ рд▓реЙрдЧ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдХреЛрдИ рджрд┐рдЦрд╛рдИ рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд╣реИред
рдЕрдЧреНрд░рд┐рдо рдореЗрдВ рдзрдиреНрдпрд╡рд╛рджред
рдореИрдВ рдЙрд╕ рдореБрджреНрджреЗ рдореЗрдВ рднреА рднрд╛рдЧ рдЧрдпрд╛ - рдореБрдЭреЗ "рдШрдЯрдХ" рд╕реНрддрд░ рдкрд░ DocsPage
рдШрдЯрдХ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛ рдкрдбрд╝рд╛
https://github.com/storybookjs/storybook/blob/next/addons/docs/docs/docspage.md#replaceing -docspage
рдХреНрдпрд╛ рдЬреЗрдПрд╕рдПрдХреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП @storybook/html
рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ? рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдореЗрд░реА рдХрд╣рд╛рдирд┐рдпреЛрдВ рдХреЛ рд▓рд┐рдЦрдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдмрдирд╛ рджреЗрдЧрд╛ред рдЯрд╛рдЗрдкрд┐рдВрдЧ, рд╕реНрд╡рддрдГ рдкреВрд░реНрдг, рдФрд░ document.createElement
рдпрд╛ рдмрдбрд╝реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреАред рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ // @jsx
рд╕рд╛рде рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрдХрдорд╛ рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ред
@vidarc рдЬрдм рдЖрдкрдиреЗ рдРрд╕рд╛ рдХрд┐рдпрд╛ рддреЛ рдХреНрдпрд╛ рддреНрд░реБрдЯрд┐ рдереА? рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдХрд╕реНрдЯрдо рдмреЗрдмреЗрд▓ рдХреЙрдиреНрдлрд┐рдЧрд░ рд╣реИ ?
рдЬреНрдпрд╛рджрд╛ рдЕрдиреБрдХреВрд▓рди рдирд╣реАрдВред рд╡реЗрдмрдкреИрдХ рдореЗрдВ рдХреБрдЫ рдЪреАрдЬреЗрдВ рдЬреЛрдбрд╝реА рдЧрдИрдВред рдкрд╣рд▓реА рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ Cannot find name 'h'
рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддреА рд╣реИред рдореЗрд░реЗ tsconfig рдореЗрдВ jsx = рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ jsxFactory = h. рдореИрдВ рд╢реАрд░реНрд╖ рдкрд░ // <strong i="6">@jsx</strong> h
рдкреНрд░рдЧрддрд┐ рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрди рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рджреВрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдореБрдЭреЗ рдПрдХ рдбреЛрдо рдиреЛрдб рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рдПрдХ рд╕реНрдЯреЛрд░реАрдмреБрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред
рдЖрдЬрдорд╛рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ: https://github.com/developit/vhtml рдЕрдЧрд▓рд╛
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЬреЗрдПрд╕рдПрдХреНрд╕ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ рдХрд┐ рдЗрд╕реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ: /
@vidarc рдпрджрд┐ h
рд╣рд╛рдЗрдкрд░рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рдЦрдбрд╝рд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рдХрд╕реНрдЯрдо рдСрдмреНрдЬреЗрдХреНрдЯ рджреЗрддрд╛ рд╣реИ рдЬреЛ рди рддреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реИ рдФрд░ рди рд╣реА DOM рддрддреНрд╡ рд╣реИ
vhtml рдЬрд╛рдиреЗ рдХрд╛ рд░рд╛рд╕реНрддрд╛ рд▓рдЧрддрд╛ рд╣реИ
рдПрдлрд╡рд╛рдИрдЖрдИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ web-components
рдРрдк рдХреЗ рд▓рд┐рдП рдЖрдиреЗ рд╡рд╛рд▓рд╛ рдкреАрдЖрд░ рд╣реИ: https://github.com/storybookjs/storybook/pull/8400
рдХреНрдпрд╛ рдпрд╣рд╛рдВ рдХреЛрдИ рдЗрд╕ рдкрд░ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдкреНрд░рддрд┐рдЪреНрдЫреЗрдж рдХрд░рддрд╛ рд╣реИ? @vidarc @DesignByOnyx @Edd-Strickland @alexlafroscia @daKmoR
рдореИрдВрдиреЗ рдЕрднреА рддрдХ #8400 рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░реАрдХреНрд╖рдг рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ "рд▓рд╛рдЗрд╡" рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ:
start-storybook -s ./www
рдЪрд▓рд╛рдПрдБредstencil build --dev --watch
рдЪрд▓рд╛рдПрдБред.storybook/config.ts
рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:const req = require.context('../src/components', true, /.stories.tsx$/);
function loadStories() {
req.keys().forEach(filename => req(filename));
}
configure(loadStories, module);
if (module.hot) {
module.hot.accept(req.id, () => {
const currentLocationHref = window.location.href;
window.history.pushState(null, null, currentLocationHref);
window.location.reload();
});
}
рдпрд╣ рдереЛрдбрд╝рд╛ рдХреНрд▓рдбреА рд╣реИред
рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ рдЬреИрд╕реЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ https://github.com/CleverCloud/clever-components/blob/master/stories/atoms/cc-button.stories.js рдХрд┐ рд╣реИ import "./my-component"
рдХреЗ рдмрд╛рдж рд╕реЗ рд╡рд┐рдлрд▓ рд░рд╣рддрд╛ рд╣реИ import { Component } from "@stencil/core"
рд╡реИрдз рдирд┐рд░реНрдпрд╛рдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЫреАрди рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдФрд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди/рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ рдЬреЛ рдЖрдИрдИ 11 рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ? рдореИрдВрдиреЗ рдЗрд╕ рдзрд╛рдЧреЗ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рднрд╛рдЧреНрдп рдХреЗ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рд╣реИред
рд╣рдореЗрд╢рд╛ рдЕрдирдЪрд╛рд╣реЗ рд╡рд╛рджреЗ рдЕрд╕реНрд╡реАрдХреГрддрд┐ рдореЗрдВ рдЪрд▓рд╛рдПрдВ TypeError: рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╕рдВрд╕реНрдХрд░рдг 1.2.4 -> 1.7.4 рдХреЗ рд╕рд╛рде рдЕрдорд╛рдиреНрдп рдпреЛрдЬрдирд╛ред
@shilman рдореИрдВ web-components
рдРрдк рдкрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛ рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдиреНрд╣реЗрдВ рдЙрд╕реА рддрд░рд╣ рдкрдврд╝ рд░рд╣рд╛ рд╣реИ рдЬреИрд╕реЗ рд╣рд░ рдХреЛрдИ html
рдПрдХ рдХреЗ рд╕рд╛рде рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдПрдЪрдПрдордЖрд░ ' рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХреЛрдВ рдХреЗ рдЕрдкрдбреЗрдЯ рдкрд░ рд╕реНрд╡рдпрдВ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рди рдХрд░реЗрдВред
рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рд╕реНрдЯреЛрд░реАрдмреБрдХ рд░рди рд╕реАрдХреНрд╡реЗрдВрд╕ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рд░рд┐рдПрдХреНрдЯ, рдПрдВрдЧреБрд▓рд░ рдЖрджрд┐ рдХреЗ рд▓рд┐рдП рд╣реИред
рдореИрдВ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХреЛрдВ рдХреЛ "рд▓рд╛рдЗрд╡" рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреВрдВрдЧрд╛, рд▓реЗрдХрд┐рди рдЬрд┐рд╕ рд╡рд╛рд╕реНрддреБрд╢рд┐рд▓реНрдк рд╕рдорд╕реНрдпрд╛ рдореЗрдВ рдореИрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реВрдВ, рд╡рд╣ рдпрд╣ рд╣реИ рдХрд┐, рдЬрдм рддрдХ рдХрд┐ рдореБрдЭрд╕реЗ рдЧрд▓рддреА рди рд╣реЛ, _Stencil рдШрдЯрдХреЛрдВ рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╕реНрдЯрдо рдмрд┐рд▓реНрдб рдЪрд░рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ_ ( stencil build --dev --watch
), рдФрд░ рд░рди-рдЯрд╛рдЗрдо рд╕рдордХрдХреНрд╖ рдирд╣реАрдВ рд╣реИред
рдореИрдВрдиреЗ import { MyComponent} from "./MyComponent"
рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд┐рдлрд▓ рд╣реЛ рдЧрдпрд╛ рдХреНрдпреЛрдВрдХрд┐ @Component
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ @stencil/core
рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕реЗ рдмрд┐рд▓реНрдб рд╕реНрдЯреЗрдк рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЫреАрди рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рдмрд╛рдж, рдореЗрд░рд╛ рдЕрдЧрд▓рд╛ рдкрд░реАрдХреНрд╖рдг рд░рд┐рдПрдХреНрдЯ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ (https://github.com/ionic-team/stencil-ds-plugins) рдХреЗ рд╕рд╛рде рдмрд┐рд▓реНрдб рд╕реНрдЯреЗрдк рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд░рд┐рдПрдХреНрдЯ (HTML рдХреЗ рдмрдЬрд╛рдп) рдХрд╣рд╛рдирд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП HMR рд▓реЙрдЬрд┐рдХ рдХреЛ рдмрджрд▓реЗрдВред .
рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдпреВрдПрдХреНрд╕ рдХреЛ рд░рд┐рдПрдХреНрдЯ рд╡рди рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рджреЗрдЧрд╛, рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЛ рдХреЗрд╡рд▓ рдШрдЯрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджреЗрдЧрд╛ред
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рджреЗрд╡ рдореЛрдб рдореЗрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЪрд▓рдиреЗ рдХреЗ рд▓рд┐рдП stencil build
рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рд▓рд┐рдП рдпрд╣ рджреБрдирд┐рдпрд╛ рдХрд╛ рдЕрдВрдд рд╣реИ:
package.json
рдореЗрдВ рд╕рдорд╡рд░реНрддреА рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдПрдХрдо рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рднрд╛рдЧреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рдзрд╛рди рдмреЗрд╣рддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЪрд▓реЛ рдпрд╣рд╛рдБ рдорд╣рд╛рди рдХрд╛ рджреБрд╢реНрдорди рдирд╣реАрдВ рд╣реИред AFAIK рдЕрднреА рдХреЗ рд▓рд┐рдП рдЕрднреА рднреА рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╕рдорд░реНрдерди рдХреЛ рд░реЛрд▓ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдпрд╣рд╛рдВ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЪреАрдЬреЛрдВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрд╡рд╕рд░ рд╣реИ ...
рд╕рдорд╡рд░реНрддреА рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╡реГрджреНрдзрд┐рд╢реАрд▓ рдХрджрдо рд╣реИрдВред
рдореБрдЦреНрдп рдмрд╛рдд рдЬреЛ рдореБрдЭреЗ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдорд┐рд▓реА рд╡рд╣ рдереА "рдХреНрдпреЛрдВ" рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдиреЗ рд╕рдорд╛рди рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛
рдореЗрд░реА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╣рд╛рдирд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ, рдЬрд┐рд╕реЗ рд╕реНрдЯреИрдВрд╕рд┐рд▓-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЗ рдмрд┐рдирд╛ рд╣рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдкрд░рд┐рд╡рд░реНрддрдиред
рдЧреБрд░реБ, 31 рдЕрдХреНрдЯреВрдмрд░, 2019, рд╢рд╛рдо 5:02 рдмрдЬреЗ рдорд╛рдЗрдХрд▓ рд╢рд┐рд▓рдореИрди рдиреЛрдЯрд┐рдлрд┐рдХреЗрд╢рди @github.com
рд▓рд┐рдЦрд╛ рдерд╛:
рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рджреБрдирд┐рдпрд╛ рдХрд╛ рдЕрдВрдд рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдирд┐рд░реНрдорд╛рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
рджреЗрд╡ рдореЛрдб рдореЗрдВ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ:
- рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдирд┐рд░реНрджреЗрд╢ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕реЗ рд╕рдорд╡рд░реНрддреА рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдП
https://www.npmjs.com/package/concurrently рдЙрдирдХреЗ рдкреИрдХреЗрдЬ рдореЗрдВредjson- рдПрдХ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдкреНрд░реАрд╕реЗрдЯ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдорд╛рд░ рд╕рдХрддрд╛ рд╣реИ
рдпрд╣ рд╢рдЯрдбрд╛рдЙрди рдкрд░ рд╣реИ рдЕрдЧрд░ рд╣рдо рдЗрд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдЫрд┐рдкрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВрдХрдо рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рднрд╛рдЧреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рд╕рдорд╛рдзрд╛рди рдмреЗрд╣рддрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдЪрд▓реЛ рдЕрдЪреНрдЫрд╛ рдирд╣реАрдВ рд╣реЛрдиреЗ рджреЗрдВ
рдпрд╣рд╛рдБ рдорд╣рд╛рди рдХреЗ рджреБрд╢реНрдорди рдмрдиреЛред AFAIK рдЕрднреА рдХреЗ рд▓рд┐рдП рд╣рд░ рдХреЛрдИ рдЕрднреА рднреА рдЕрдкрдирд╛ рд░реЛрд▓ рдХрд░ рд░рд╣рд╛ рд╣реИ
рдЕрднреА рдЦреБрдж рдХрд╛ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╕рдорд░реНрдерди, рдФрд░ рдорджрдж рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЕрд╡рд╕рд░ рд╣реИ
рдпрд╣рд╛рдВ рдмрд╣реБрдд рд╕реЗ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЪреАрдЬреЛрдВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдПрдВ...-
рдЖрдк рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдХреА рдереАред
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ, рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВ
https://github.com/storybookjs/storybook/issues/4600?email_source=notifications&email_token=AAADWTSIACMC4XSZHQWMAFTQRNW2DA5CNFSM4F7Y7BGKYY3PNVWWWK3TUL52HS4DFVREXG43VMVBW63#PZGOZ54T86T
рдпрд╛ рд╕рджрд╕реНрдпрддрд╛ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ
https://github.com/notifications/unsubscribe-auth/AAADWTWS5RITQW46NXEJHZLQRNW2DANCNFSM4F7Y7BGA
.
рдЗрд╕рдХрд╛ рдПрдХ рдЕрдиреНрдп рддрд░реАрдХрд╛ рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ UI (рд╕реНрдЯреЛрд░реАрдмреБрдХ) рдХреЛ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди (рд╕реНрдЯреИрдВрд╕рд┐рд▓) рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПред рд╕реНрдЯреЛрд░реАрдмреБрдХ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдХреЗ рд╕рд╛рде, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрднрд╡ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЗрд╕ рддрд░рд╣ рдЖрдк рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЛ рдкреНрд░реАрдмрд┐рд▓реНрдб рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХрд╛ рдорддрд▓рдм рд╣реЛрдЧрд╛ рдХрд┐ рддреЗрдЬреА рд╕реЗ рдмреВрдЯрдЕрдк рд╕рдордпред
рдФрд░ рдлрд┐рд░ рдЖрдк рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдХреЗрд╡рд▓ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдмрд┐рд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ (рд▓реЗрдХрд┐рди рдЕрднреА рднреА рд╕реНрдЯреЛрд░реАрдмреБрдХ рдпреВрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ)ред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдкрдХреЛ рд╕реНрдЯреЛрд░реАрдмреБрдХ рд╡реЗрдмрдкреИрдХ рд╕реЗрдЯрдЕрдк рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░реЙрдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рджреЗрд╡ рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╕рднреА рдЙрдкрд╣рд╛рд░ рдорд┐рд▓реЗрдВрдЧреЗред
рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрдпреЛрдЧ рдХрд░ рдЗрд╕ рдЬрд╛рдВрдЪ рдХреА es-dev-server
рдХреЗ рд▓рд┐рдП рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд╕рддреНрддрд╛ рдореЗрдВ web-components
ред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ POC рд╣реИ... рд▓реЗрдХрд┐рди рдЕрднреА рднреА рдХреБрдЫ рдЦреБрд░рджреБрд░реЗ рдХрд┐рдирд╛рд░реЗ рд╣реИрдВред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдареАрдХ рдЙрд╕реА рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдЕрдЧрд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдкреНрд░рд╢реНрди рд╣реИ рдпрд╛ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдпрд╛ es-dev-server
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рдВрджрд░реНрдн рдкрд░рд┐рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реЛрдЧреА рддреЛ рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ @LarsDenBakker рдХреБрдЫ рдФрд░ рд╡рд┐рд╡рд░рдг рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдореЗрдВ рдкреНрд░рд╕рдиреНрди рд╣реИ
рдкреБрдирд╢реНрдЪ: рдпрд╣ рд╕рдм рдХреЗрд╡рд▓ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреА рд╡рдЬрд╣ рд╕реЗ рд╕рдВрднрд╡ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпреВрдЖрдИ рдХреЛ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рд╕реЗ рдЕрд▓рдЧ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЪреИрдирд▓ рд╕рдВрджреЗрд╢реЛрдВ рдХреЗ рд╕рд╛рде рдпрд╣ рднрдпрд╛рдирдХ рдЖрдИрдлреНрд░реЗрдо рд╕реЗрдЯрдЕрдк рд╣реИ
рд╕рднреА рдХреЛ рдкреНрд░рдгрд╛рдо
рдХреБрдЫ рд╕рдордп рдХреЗ рдмрд╛рдж рдФрд░ рдЗрд╕рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдмрд╣реБрдд рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдПрдХ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдПрдХреАрдХреГрдд рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рдореЗрд░рд╛ рд░реЗрдкреЛ рд╣реИ https://github.com/Edd-Stricland/stencilbookред
рдЖрдЧреЗ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реБрдИ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдЬреНрдпрд╛рджрд╛рддрд░ рдЪреАрдЬреЗрдВ рд░реАрдбрдореА рд╕реЗ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП package.json рдХреЛ рджреЗрдЦрдиреЗ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реИрдВред
рдпрд╣ рд╡реЗрдирд┐рд▓рд╛ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдШрдЯрдХ рдФрд░ рд╡реЗрдирд┐рд▓рд╛ рд╕реНрдЯреЛрд░реАрдмреБрдХ HTML рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдХреГрдкрдпрд╛ рджреЗрдЦреЗрдВ рдФрд░ рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВ...
рдпрд╣ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдФрд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рд╡реЗрдм рдШрдЯрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИред
рд╡реЗрдм рдШрдЯрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддреЗрдЬрд╝ рд╡реЗрдм рдРрдкреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рд╣реИред
рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд░рди-рдЯрд╛рдЗрдо рдЯреВрд▓ рдХреЗ рдмрдЬрд╛рдп рдХрдВрдкрд╛рдЗрд▓-рдЯрд╛рдЗрдо рдореЗрдВ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдлреНрд░рдВрдЯрдПрдВрдб рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреА рд╕рд░реНрд╡реЛрддреНрддрдо рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рдХреЛ рдЬреЛрдбрд╝рддреА рд╣реИред рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ, JSX, рдПрдХ рдЫреЛрдЯреА рд╡рд░реНрдЪреБрдЕрд▓ DOM рд▓реЗрдпрд░, рдХреБрд╢рд▓ рд╡рди-рд╡реЗ рдбреЗрдЯрд╛ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ, рдПрдХ рдПрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдкрд╛рдЗрдкрд▓рд╛рдЗрди (рд░рд┐рдПрдХреНрдЯ рдлрд╛рдЗрдмрд░ рдХреЗ рд╕рдорд╛рди), рдФрд░ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдЖрд▓рд╕реА-рд▓реЛрдбрд┐рдВрдЧ рд▓реЗрддрд╛ рд╣реИ, рдФрд░ 100% рдорд╛рдирдХ-рдЖрдзрд╛рд░рд┐рдд рд╡реЗрдм рдШрдЯрдХ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдЪрд▓рддрд╛ рд╣реИ рдХрд╕реНрдЯрдо рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ v1 рд╕реНрдкреЗрдХ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд┐рд╕реА рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВред
рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХ рд╕рд┐рд░реНрдл рд╡реЗрдм рдШрдЯрдХ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рдХрд┐рд╕реА рднреА рдкреНрд░рдореБрдЦ рдврд╛рдВрдЪреЗ рдореЗрдВ рдпрд╛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдврд╛рдВрдЪреЗ рдХреЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред
рд░реЗрдкреЛ рдХреНрд▓реЛрди рдХрд░реЗрдВ
git clone https://github.com/Edd-Strickland/stencilbook.git
рдЖрдзрд╛рд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдмрджрд▓реЗрдВ:
cd stencilbook
рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
npm install
рдФрд░ рдкреВрд░реЗ рд░реЗрдкреЛ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд┐рд▓реНрдб рдЪрд▓рд╛рдПрдБ:
npm run build:all
рдЗрд╕ рд░рди рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЗ рдмрд╛рдж:
npm run storybook
рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдмрдирд╛рдПрдВ:
npm run stencil
рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЛ рд╕реАрдзреЗ рд╕рд░реНрд╡/рдШрдбрд╝реА рдореЛрдб рдореЗрдВ рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ; рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХреЛрдВ рдХреЛ рд╕реАрдзреЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА:
npm run stencil:start
рд╕реНрдЯреЛрд░реАрдмреБрдХ рдФрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдмрд┐рд▓реНрдб рдХреЛ рд╡реЙрдЪ рдПрдВрдб рд╕рд░реНрд╡ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдПрдВ, рдЬреЛ рдкрд┐рдЫрд▓реЗ рдХрд┐рд╕реА рднреА рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░реЗрдЧрд╛:
npm run storybook:build:all
рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдкрд░реЛрд╕реЗрдВ:
npm run storybook:serve
рдореЙрдбреНрдпреВрд▓ рд░реАрд╕реЗрдЯ рдХрд░реЗрдВ; рдиреЛрдб рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╣рдЯрд╛рддрд╛ рдФрд░ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ:
npm run reset:modules
рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЪрд▓рд╛рдПрдБ:
npm test
рдШрдбрд╝реА рдореЛрдб рдореЗрдВ рдкрд░реАрдХреНрд╖рдг рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП:
npm run test.watch
рдирдП рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХреЛрдВ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
npm run generate
@ рдПрдб-рд╕реНрдЯреНрд░рд┐рдХрд▓реИрдВрдб рдпрд╣ рдПрдХ рд╢рд╛рдирджрд╛рд░ рд╢реБрд░реБрдЖрдд рд╣реИ! рдЕрдЧрд░ рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдЖрд╕рд╛рди рдмреВрдЯрдЕрдк рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯрд╛рд░реНрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВрдиреЗ "start": "npm-run-all -p stencil:start storybook"
рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдХреЛрдИ рд╣реЙрдЯ рд░реАрд▓реЛрдбрд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рдордп рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЛ рдкрд╣рдЪрд╛рди рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред
...рд╡рд╣ рддрдм рддрдХ рд╣реИ рдЬрдм рддрдХ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ?
@shilman рдЕрд▓реНрдлрд╛ рдореЗрдВ рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА @ рд╕реНрдЯреЛрд░реАрдмреБрдХ/рд╡реЗрдм-рдШрдЯрдХ рдкреИрдХреЗрдЬ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЛ README.md рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: https://github.com/storybookjs/storybook/tree/next/ рдРрдк/рд╡реЗрдм-рдШрдЯрдХ
рдХреНрдпрд╛ рдпрд╣ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░рдпрд╛рд╕ рд╣реИ? рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдХреНрдпрд╛ рдЖрдк рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЗ рдХреЛ рдЬрд╛рди рдкрд╛рдПрдВрдЧреЗ? рд╕рдорд╕реНрдпрд╛рдУрдВ рдореЗрдВ web-components
рдЦреЛрдЬрдиреЗ рдкрд░ рдирд╣реАрдВ рдорд┐рд▓рд╛ред app: web-components
рдЯреИрдЧ рдорд┐рд▓рд╛, рд▓реЗрдХрд┐рди рдЕрднреА-рдЕрднреА рд░рд┐рд▓реАрдЬрд╝ рдФрд░ рдПрдХ рдмрдЧ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред
рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐ @storybook/web-components
рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдКрдкрд░ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдЙрдЪрд┐рдд рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЗрд╕ рдзрд╛рдЧреЗ рдкрд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ!
@ рдПрдб-рд╕реНрдЯреНрд░рд┐рдХрд▓реИрдВрдб рдпрд╣ рдПрдХ рд╢рд╛рдирджрд╛рд░ рд╢реБрд░реБрдЖрдд рд╣реИ! рдЕрдЧрд░ рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдЖрд╕рд╛рди рдмреВрдЯрдЕрдк рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯрд╛рд░реНрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВрдиреЗ
"start": "npm-run-all -p stencil:start storybook"
рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдХреЛрдИ рд╣реЙрдЯ рд░реАрд▓реЛрдбрд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рдордп рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЛ рдкрд╣рдЪрд╛рди рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред...рд╡рд╣ рддрдм рддрдХ рд╣реИ рдЬрдм рддрдХ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ?
рд╣рдореНрдо рдорд╛рдлреА рдкрд┐рдЫрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╡реНрдпрд╕реНрдд рдФрд░ рд╕рдореНрдореЗрд▓рдиреЛрдВ рдореЗрдВ рдереАред
рдореИрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рдореМрдЬреВрдж рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрд▓рдЭрди рдореЗрдВ рд╣реВрдВ, рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЗ рдмрдЬрд╛рдп рд░реЗрдкреЛ рдореБрджреНрджреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред
рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрджрд┐ рдЖрдк рдПрдХ рдЗрдВрд╕реНрдЯрд╛рд▓ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХрдорд╛рдВрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рд╡реЙрдЪ рд╕рд░реНрд╡рд░ рдХреЛ рдЙрд╕реА рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓реЙрдиреНрдЪ рдХрд░реЗрдЧрд╛ред рдЬрдм рднреА рдЖрдк рдХрд┐рд╕реА рдШрдЯрдХ рдХреЛ рдмрджрд▓рддреЗ рдпрд╛ рдЬреЛрдбрд╝рддреЗ рдпрд╛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдСрдЯреЛ рдПрдЪрдПрдордЖрд░ рд╣реЛрдЧрд╛ред
рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐
@storybook/web-components
рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдКрдкрд░ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдЙрдЪрд┐рдд рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЗрд╕ рдзрд╛рдЧреЗ рдкрд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ!
рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рд╡реЗрдм рдШрдЯрдХ рд╡реЗрдирд┐рд▓рд╛ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдореИрдВрдиреЗ рдЙрдирдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдирд╣реАрдВ рдХреА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╡реЗрдм рдШрдЯрдХреЛрдВ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдбрдмреНрд▓реНрдпреВ/рд╕реА рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдбрдмреНрд▓реНрдпреВ/рд╕реА рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрдкрд╛рд▓рди рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИред
рддреЛ рдпрдХреАрдирди рджреЛрдиреЛрдВ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдПрдХ рджреЗрд╢реА рдЬреЗрдПрд╕ рдбрдмреНрд▓реНрдпреВ/рд╕реА рдФрд░ рдПрдХ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд▓рд┐рдП рдпрджрд┐ рдЖрдк рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдЖрдзрд╛рд░рд┐рдд рдбрдмреНрд▓реНрдпреВ/рд╕реА рдХреЛ рддреЗрдЬреА рд╕реЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдпрд╛ рдХреЛрдгреАрдп рдШрдЯрдХ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВред
рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рдмрд╛рдд рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП @daKmoR рдХреЗ рд╕рд╛рде рдкрдХрдбрд╝рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рджреЛрд╣рд░рд╛рд╡ рд╣реИ рдпрд╛ рдЙрдирдХреЗ рдХрд╛рдо рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдмреЗрдорд╛рдиреА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐
рдореИрдВ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдмреБрд▓рдорд┐рд▓ рдкрд░ рдирдХреНрд╕рдЯ-рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рд╕рд╛рде рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдПрдХреАрдХрд░рдг рдФрд░ рдЙрдирдХреЗ рдирдХреНрд╕реНрдЯ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рдЙрдирдХреЗ рдХрд╛рдо рдХреЗ рдХрд╛рд░рдг рдареЛрдХрд░ рдЦрд╛рдИред
рдореБрдЭреЗ рдпрд╣ рднреА рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕реНрдЯреЛрд░реАрдмреБрдХ рд╕рдкреЛрд░реНрдЯ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рднреА рджреЗрдЦрдиреЗ рд▓рд╛рдпрдХ рд╣реИред рдореИрдВ рдЖрдВрддрд░рд┐рдХ рдирд╣реАрдВ рдЬрд╛рдирддрд╛/рдХреИрд╕реЗ рд╡реЗ рдЗрд╕ рдзрд╛рдЧреЗ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рд╕реЗ рднрд┐рдиреНрди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рд╕реНрдЯреЛрд░реАрдмреБрдХ рдЪрд▓рд╛рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдмреБрд▓рдорд┐рд▓ рдХреЗ рднреАрддрд░ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
@storybook/addon-actions
рдЕрднреА рддрдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдореИрдВ рдЕрднреА рддрдХ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛ред
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕ рд╕реВрддреНрд░ рдореЗрдВ @Gomah рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХреЗрдВ рдФрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╕рдорд░реНрдерди рдХреЛ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдкрд░ рд╕рд╣рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдЙрдирдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХреЛ рд╕реБрди рд╕рдХреЗрдВ?
рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдореИрдВ рдмреБрд▓рдорд┐рд▓ рдкрд░ рдирдХреНрд╕рдЯ-рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рд╕рд╛рде рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдПрдХреАрдХрд░рдг рдкрд░ рдЙрдирдХреЗ рдХрд╛рдо рдФрд░ рдЙрдирдХреЗ рдирдХреНрд╕реНрдЯ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдХрд╛рд░рдг рдареЛрдХрд░ рдЦрд╛рдИред
рдореБрдЭреЗ рдпрд╣ рднреА рдкрддрд╛ рдЪрд▓рд╛ рдХрд┐ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕реНрдЯреЛрд░реАрдмреБрдХ рд╕рдкреЛрд░реНрдЯ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рднреА рджреЗрдЦрдиреЗ рд▓рд╛рдпрдХ рд╣реИред рдореИрдВ рдЖрдВрддрд░рд┐рдХ рдирд╣реАрдВ рдЬрд╛рдирддрд╛/рдХреИрд╕реЗ рд╡реЗ рдЗрд╕ рдзрд╛рдЧреЗ рдХреА рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рд╕реЗ рднрд┐рдиреНрди рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЬрдм рдЖрдк рд╕реНрдЯреЛрд░реАрдмреБрдХ рдЪрд▓рд╛рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдмреБрд▓рдорд┐рд▓ рдХреЗ рднреАрддрд░ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
@storybook/addon-actions
рдЕрднреА рддрдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдореИрдВ рдЕрднреА рддрдХ рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛ред
рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдЙрдкрд░реЛрдХреНрдд рд░реЗрдкреЛ рдХреЗ рднреАрддрд░ рдРрдб-рдСрди-рдПрдХреНрд╢рди рдПрдХ рдорд╛рдирдХ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдПрдбрдСрди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛
E2A: рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдмреБрдХ @Gomah рд╡реИрд░рд┐рдПрдВрдЯ рдирд╣реАрдВ рд╣реИред
рдЙрдкрд░реЛрдХреНрдд рдореВрд▓ рд╕реНрдЯреИрдВрд╕рд┐рд▓/рдПрд╕рдмреА рдПрдХреАрдХрд░рдг рдХреЗ рд╕рд╛рде рд╡рд╕реНрддреБ рдмрд╕ рдПрдХ рдЖрдзрд╛рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдереА рдЬрд┐рд╕рдиреЗ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЛ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдФрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЛ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдФрд░ рдлрд┐рд░ рдЙрди рджреЛрдиреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рддрд╛рдХрд┐ рдЖрдк рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡реЗрдм рдШрдЯрдХреЛрдВ рдХреЛ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдлреНрд░реЗрдо рдореЗрдВ рдбрд╛рд▓ рд╕рдХреЗрдВред
рдореИрдВрдиреЗ рдЕрдЧрд▓реЗ рджреЛ рд╣рдлреНрддреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреА рдЯреАрдо рд╕реНрдкреНрд░рд┐рдВрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдкрд╛рдЗрдХ рдлрдВрд╕ рдЧрдпрд╛ рд╣реИ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХреНрдпрд╛ рдбрдмреНрд▓реНрдпреВ/рд╕реА рд╕рдВрд╕реНрдХрд░рдг рдЗрд╕ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдЪрд▓реЗрдВрдЧреЗ рдФрд░ рдпрджрд┐ рд╣рдо рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдбрдмреНрд▓реНрдпреВ/рд╕реА рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдпрд╣ рд╕рдм рдХрд╛рдо рдХрд░реЗрдЧрд╛ рдЗрд╕рд▓рд┐рдП рдбрдмреНрд▓реНрдпреВ/рд╕реА рд╡реЗрд░рд┐рдПрдВрдЯ рдХрд╛ рдХреЛрдИ рд╡рд┐рдЦрдВрдбрди рдирд╣реАрдВ рд╣реЛрдЧрд╛ рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореВрд▓ рдбрдмреНрд▓реНрдпреВ/рд╕реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╡рд┐рдкрд░реАрдд рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдврд╛рдВрдЪрд╛ рдирд╣реАрдВ рд╣реИред рд╕рдВрдХрд▓рдХред рддреЛ рдпрд╣ рдЕрднреА рднреА рд▓рд╛рдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк JSX рдШрдЯрдХреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ, рдЬреЛ рдмрд╛рдж рдореЗрдВ W/C рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрдЧрд╛ред
рдпрд╛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд░рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдПрдХ рдмрд╛рд░ рдЬрдм рд╣рдо рд╕реНрдкрд╛рдЗрдХ рдкреВрд░рд╛ рдХрд░ рд▓реЗрдВрдЧреЗ рддреЛ рдЖрдкрдХреЛ рдмрддрд╛рдПрдВрдЧреЗред
рдЬреНрдпрд╛рджрд╛ рдЕрдиреБрдХреВрд▓рди рдирд╣реАрдВред рд╡реЗрдмрдкреИрдХ рдореЗрдВ рдХреБрдЫ рдЪреАрдЬреЗрдВ рдЬреЛрдбрд╝реА рдЧрдИрдВред рдкрд╣рд▓реА рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ
Cannot find name 'h'
рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддреА рд╣реИред рдореЗрд░реЗ tsconfig рдореЗрдВ jsx = рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ jsxFactory = h. рдореИрдВ рд╢реАрд░реНрд╖ рдкрд░// <strong i="7">@jsx</strong> h
рдкреНрд░рдЧрддрд┐ рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрди рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рджреВрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдореБрдЭреЗ рдПрдХ рдбреЛрдо рдиреЛрдб рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рдПрдХ рд╕реНрдЯреЛрд░реАрдмреБрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИредрдЖрдЬрдорд╛рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ: https://github.com/developit/vhtml рдЕрдЧрд▓рд╛
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЬреЗрдПрд╕рдПрдХреНрд╕ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ рдХрд┐ рдЗрд╕реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ: /
рд╣рд╛рдп @vidarcред рдХреНрдпрд╛ рдЖрдк storiesOf()
рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ? рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реВрдВ рдХрд┐ рдЖрдкрдиреЗ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдпрд╛ рдХреЛрдб рдЖрдзрд╛рд░ рд╣реИ?
рдЬрдмрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдФрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдПрдХреАрдХреГрдд рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рджрд░реНрдж рдмрд┐рдВрджреБ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░реЙрдкреНрд╕ рдЖрджрд┐ рдХреЗ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП document.createElement()
рд╕рд╛рде рдХрд╣рд╛рдирд┐рдпрд╛рдВ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрдирд╛ рд╣реИред рдпрджрд┐ vhtml
рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╣, рдпрд╣ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд╣реЛрдЧрд╛!
рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐
@storybook/web-components
рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдКрдкрд░ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдЙрдЪрд┐рдд рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЗрд╕ рдзрд╛рдЧреЗ рдкрд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ!
рддреБрдо рд╕рд╣реА рд╣реЛ, рдФрд░ рдореИрдВ рд╕рд╣рдордд рд╣реВрдБред рдореИрдВрдиреЗ README.md рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЛ рджреЗрдЦрд╛, рдФрд░ рдЕрдиреНрдп рд╡реЗрдм-рдШрдЯрдХреЛрдВ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЛ рджреЗрдЦрд╛, рд▓реЗрдХрд┐рди рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдирд╣реАрдВ:
By default the following folders are included
src/*.js
packages/*/src/*.js
node_modules/lit-html/*.js
node_modules/lit-element/*.js
node_modules/@open-wc/*.js
node_modules/@polymer/*.js
node_modules/@vaadin/*.js
рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдпрд╣ рдмрд┐рдирд╛ рдХреБрдЫ рдЬреЛрдбрд╝реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдореЗрд░реЗ рд╕рд╛рде рдмрд┐рд▓реНрдХреБрд▓ рдареАрдХ рд╣реИред
рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ, рдХреНрдпрд╛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЕрдм рдмрдВрдж рд╣реЛ рд╕рдХрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдкреВрд░реНрд╡реЛрдХреНрдд рд╡реЗрдм-рдШрдЯрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?
рдЬреНрдпрд╛рджрд╛ рдЕрдиреБрдХреВрд▓рди рдирд╣реАрдВред рд╡реЗрдмрдкреИрдХ рдореЗрдВ рдХреБрдЫ рдЪреАрдЬреЗрдВ рдЬреЛрдбрд╝реА рдЧрдИрдВред рдкрд╣рд▓реА рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ
Cannot find name 'h'
рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддреА рд╣реИред рдореЗрд░реЗ tsconfig рдореЗрдВ jsx = рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ jsxFactory = h. рдореИрдВ рд╢реАрд░реНрд╖ рдкрд░// <strong i="8">@jsx</strong> h
рдкреНрд░рдЧрддрд┐ рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрди рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рджреВрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдореБрдЭреЗ рдПрдХ рдбреЛрдо рдиреЛрдб рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рдПрдХ рд╕реНрдЯреЛрд░реАрдмреБрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред
рдЖрдЬрдорд╛рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ: https://github.com/developit/vhtml рдЕрдЧрд▓рд╛
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЬреЗрдПрд╕рдПрдХреНрд╕ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ рдХрд┐ рдЗрд╕реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ: /рд╣рд╛рдп @vidarcред рдХреНрдпрд╛ рдЖрдк
storiesOf()
рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ? рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реВрдВ рдХрд┐ рдЖрдкрдиреЗ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдпрд╛ рдХреЛрдб рдЖрдзрд╛рд░ рд╣реИ?рдЬрдмрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдФрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдПрдХреАрдХреГрдд рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рджрд░реНрдж рдмрд┐рдВрджреБ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░реЙрдкреНрд╕ рдЖрджрд┐ рдХреЗ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП
document.createElement()
рд╕рд╛рде рдХрд╣рд╛рдирд┐рдпрд╛рдВ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрдирд╛ рд╣реИред рдпрджрд┐vhtml
рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╣, рдпрд╣ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд╣реЛрдЧрд╛!
рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╕реАрдзреЗ рдирд╡реАрдирддрдо рдХреЗ рд╕рд╛рде рд╕реАрдПрд╕рдПрдл рдХрд╣рд╛рдирд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреА рдХрд╣рд╛рдирд┐рдпреЛрдВ рдХреЛ рдЙрд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕реНрд╡реИрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдбреЗрдЯрд╛ рдлрд╝реИрдХреНрдЯрд░реА рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЗрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдкрдиреЗ рдкреНрд░реЙрдкреНрд╕ рдХреЛ рд╣рд╛рдЗрдбреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ....
@robaxelsen https://github.com/storybookjs/storybook/pulls?utf8=%E2%9C%93&q=is%3Apr+sort%3Aupdated-desc+is%3Aclosed+label%3A%22app%3A+web-components %22+
рдореБрдЭреЗ рд╕рдордЭ рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ рдХрд┐@storybook/web-components
рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдКрдкрд░ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдЙрдЪрд┐рдд рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЗрд╕ рдзрд╛рдЧреЗ рдкрд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ!рддреБрдо рд╕рд╣реА рд╣реЛ, рдФрд░ рдореИрдВ рд╕рд╣рдордд рд╣реВрдБред рдореИрдВрдиреЗ README.md рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдлрд╝реЛрд▓реНрдбрд░реЛрдВ рдХреЛ рджреЗрдЦрд╛, рдФрд░ рдЕрдиреНрдп рд╡реЗрдм-рдШрдЯрдХреЛрдВ рдХреЗ рдврд╛рдВрдЪреЗ рдХреЛ рджреЗрдЦрд╛, рд▓реЗрдХрд┐рди рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдирд╣реАрдВ:
By default the following folders are included src/*.js packages/*/src/*.js node_modules/lit-html/*.js node_modules/lit-element/*.js node_modules/@open-wc/*.js node_modules/@polymer/*.js node_modules/@vaadin/*.js
рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдпрд╣ рдмрд┐рдирд╛ рдХреБрдЫ рдЬреЛрдбрд╝реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдореЗрд░реЗ рд╕рд╛рде рдмрд┐рд▓реНрдХреБрд▓ рдареАрдХ рд╣реИред
рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ, рдХреНрдпрд╛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЕрдм рдмрдВрдж рд╣реЛ рд╕рдХрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдкреВрд░реНрд╡реЛрдХреНрдд рд╡реЗрдм-рдШрдЯрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?
рдореИрдВ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╡рд╛рдкрд╕ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдЧрд╛ рддреЛ рд╣рдо рдмрдВрдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ рдЕрдЧрд░ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ ...
...
рд╣рд╛рдп @vidarcред рдХреНрдпрд╛ рдЖрдк
storiesOf()
рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ? рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реВрдВ рдХрд┐ рдЖрдкрдиреЗ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдпрд╛ рдХреЛрдб рдЖрдзрд╛рд░ рд╣реИ?
рдЬрдмрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдФрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдПрдХреАрдХреГрдд рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рджрд░реНрдж рдмрд┐рдВрджреБ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░реЙрдкреНрд╕ рдЖрджрд┐ рдХреЗ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдПdocument.createElement()
рд╕рд╛рде рдХрд╣рд╛рдирд┐рдпрд╛рдВ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрдирд╛ рд╣реИред рдпрджрд┐vhtml
рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╣, рдпрд╣ рдХрдорд╛рд▓ рд╣реЛрдЧрд╛!рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╕реАрдзреЗ рдирд╡реАрдирддрдо рдХреЗ рд╕рд╛рде рд╕реАрдПрд╕рдПрдл рдХрд╣рд╛рдирд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреА рдХрд╣рд╛рдирд┐рдпреЛрдВ рдХреЛ рдЙрд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕реНрд╡реИрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдбреЗрдЯрд╛ рдлрд╝реИрдХреНрдЯрд░реА рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЗрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдкрдиреЗ рдкреНрд░реЙрдкреНрд╕ рдХреЛ рд╣рд╛рдЗрдбреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ....
рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рд╕реАрдПрд╕рдПрдл рдЕрдм рдХрд╣рд╛рдирд┐рдпреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдЕрдиреБрд╢рдВрд╕рд┐рдд рддрд░реАрдХрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЬреЗрдПрд╕рдПрдХреНрд╕ рдПрдбрди рдХреЛ рд╡реАрдПрдЪрдЯреАрдПрдордПрд▓ рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ рд╣реИрдВ, рдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ?
...
рд╣рд╛рдп @vidarcред рдХреНрдпрд╛ рдЖрдк
storiesOf()
рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ? рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реВрдВ рдХрд┐ рдЖрдкрдиреЗ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдпрд╛ рдХреЛрдб рдЖрдзрд╛рд░ рд╣реИ?
рдЬрдмрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдФрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдПрдХреАрдХреГрдд рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рджрд░реНрдж рдмрд┐рдВрджреБ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░реЙрдкреНрд╕ рдЖрджрд┐ рдХреЗ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдПdocument.createElement()
рд╕рд╛рде рдХрд╣рд╛рдирд┐рдпрд╛рдВ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрдирд╛ рд╣реИред рдпрджрд┐vhtml
рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╣, рдпрд╣ рдХрдорд╛рд▓ рд╣реЛрдЧрд╛!рдЖрдк рдЙрдиреНрд╣реЗрдВ рд╕реАрдзреЗ рдирд╡реАрдирддрдо рдХреЗ рд╕рд╛рде рд╕реАрдПрд╕рдПрдл рдХрд╣рд╛рдирд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреА рдХрд╣рд╛рдирд┐рдпреЛрдВ рдХреЛ рдЙрд╕ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕реНрд╡реИрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрджрд┐ рдЖрдк рдбреЗрдЯрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдбреЗрдЯрд╛ рдлрд╝реИрдХреНрдЯрд░реА рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рдЗрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдкрдиреЗ рдкреНрд░реЙрдкреНрд╕ рдХреЛ рд╣рд╛рдЗрдбреНрд░реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ ....
рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рд╕реАрдПрд╕рдПрдл рдЕрдм рдХрд╣рд╛рдирд┐рдпреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдЕрдиреБрд╢рдВрд╕рд┐рдд рддрд░реАрдХрд╛ рд╣реИред рдХреНрдпрд╛ рдЖрдк рдЬреЗрдПрд╕рдПрдХреНрд╕ рдПрдбрди рдХреЛ рд╡реАрдПрдЪрдЯреАрдПрдордПрд▓ рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рдХрд╛рдордпрд╛рдм рд░рд╣реЗ рд╣реИрдВ, рдпрд╛ рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ?
рддреЛ JSX рдХреЛ рд╕реАрдзреЗ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╢реИрдбреЛ рдбреЛрдо рдореЗрдВ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЬрдм рддрдХ рдЖрдк рд╕реНрдЯреЛрд░реАрдмреБрдХ рдореЗрдВ рдЕрдиреБрдкрд╛рд▓рдирдХрд░реНрддрд╛ рдХреЗ рдПрдХреАрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддрдм рддрдХ рдЖрдк рдЕрдкрдирд╛ рдорд╛рдирдХ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ рд╕реАрдПрд╕рдПрдл рдХрд╣рд╛рдиреА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдлрд┐рд░ рдкреНрд░реЛрдк рдХреЛ рдкреЙрдкреНрдпреБрд▓реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдлрд╝реИрдХреНрдЯрд░реА рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рддреЗ рд╣реИрдВред
рдЬрд┐рд╕ рд╡реИрдирд┐рд▓рд╛ рд░реЗрдкреЛ рдХреЗ рд╕рд╛рде рдореИрдВрдиреЗ рдЗрд╕реЗ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ, рд╡рд╣ рдмреЙрдХреНрд╕ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИ, рд╡реАрдПрдЪрдЯреАрдПрдордПрд▓ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреА рдХреЛрдИ рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ рдпрд╛ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬ рдХреА рдХреЛрдИ рдЬрд╝рд░реВрд░рдд рдирд╣реАрдВ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдПрдХ рд░реИрдкрд░ рдХреЗ рд▓рд┐рдП рднреА рдЖрдк рд╕реАрдзреЗ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдФрд░ рд╕рд┐рд░реНрдл рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдк рд╕реНрдЯреЛрд░реАрдСрдлрд╝ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЖрдк рдХреНрд▓рд╛рд╕рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдмрдВрдж рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред рдПрд▓рд┐рдореЗрдВрдЯ рдкреИрдЯрд░реНрди рдмрдирд╛рдПрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдЖрдЗрдХрди рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЯреЗрдХреНрд╕ рдХреА рдпрд╣ рдкреБрд░рд╛рдиреА рдХрд╣рд╛рдиреА
import { storiesOf } from '@storybook/html';
/**
* Import readme from component into the story
*/
import markdown from './readme.md';
storiesOf('1-Atoms/icon', module)
.addParameters({ viewport: { defaultViewport: 'responsive' } })
.add('knobs', () => {
/**
* Add Knobs to component panel
* Set within Each knob as the third parameter
*/
let icon = document.createElement('namespace-icon');
icon.classList.add('namespace-action-plan');
icon.size = 'medium';
return icon;
}, { notes: { markdown } });
рдмрдирд╛рдо
import centered from '@storybook/addon-centered/html';
import markdown from './readme.md';
export default {
title: 'Atoms|Icon',
decorators: [centered],
parameters: {
notes: { markdown },
viewport: { defaultViewport: 'responsive' }
}
};
export const knobs = (): HTMLNamespaceIconElement => {
const icon: HTMLYooIconElement = document.createElement('namespace-icon');
icon.classList.add('namespace-action-plan');
icon.size = 'medium';
return icon;
};
рдЬреНрдпрд╛рджрд╛ рдЕрдиреБрдХреВрд▓рди рдирд╣реАрдВред рд╡реЗрдмрдкреИрдХ рдореЗрдВ рдХреБрдЫ рдЪреАрдЬреЗрдВ рдЬреЛрдбрд╝реА рдЧрдИрдВред рдкрд╣рд▓реА рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ
Cannot find name 'h'
рдмрд╛рд░реЗ рдореЗрдВ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддреА рд╣реИред рдореЗрд░реЗ tsconfig рдореЗрдВ jsx = рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдФрд░ jsxFactory = h. рдореИрдВ рд╢реАрд░реНрд╖ рдкрд░// <strong i="8">@jsx</strong> h
рдкреНрд░рдЧрддрд┐ рд╕реЗрдЯрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрди рдЪреЗрддрд╛рд╡рдирд┐рдпреЛрдВ рдХреЛ рджреВрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдлрд┐рд░ рдореБрдЭреЗ рдПрдХ рдбреЛрдо рдиреЛрдб рдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рдХрд╛рд░рдг рдПрдХ рд╕реНрдЯреЛрд░реАрдмреБрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред
рдЖрдЬрдорд╛рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ: https://github.com/developit/vhtml рдЕрдЧрд▓рд╛
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЬреЗрдПрд╕рдПрдХреНрд╕ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рд╕рдХрддрд╛ рдХрд┐ рдЗрд╕реЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИ: /рд╣рд╛рдп @vidarcред рдХреНрдпрд╛ рдЖрдк
storiesOf()
рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде рдпрд╣ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ? рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реВрдВ рдХрд┐ рдЖрдкрдиреЗ рдпрд╣ рдХреИрд╕реЗ рдХрд┐рдпрд╛ред рдХреНрдпрд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдпрд╛ рдХреЛрдб рдЖрдзрд╛рд░ рд╣реИ?рдЬрдмрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдФрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдПрдХреАрдХреГрдд рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕рдмрд╕реЗ рдмрдбрд╝рд╛ рджрд░реНрдж рдмрд┐рдВрджреБ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░реЙрдкреНрд╕ рдЖрджрд┐ рдХреЗ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП
document.createElement()
рд╕рд╛рде рдХрд╣рд╛рдирд┐рдпрд╛рдВ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрдирд╛ рд╣реИред рдпрджрд┐vhtml
рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╣, рдпрд╣ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд╣реЛрдЧрд╛!
@robaxelsen
рдореИрдВрдиреЗ рдПрдордбреАрдПрдХреНрд╕ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдПрдордбреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ @ рд╕реНрдЯреЛрд░реАрдмреБрдХ/рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡реЗрдмрдкреИрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ред рдлрд┐рд░ рдЬреЛрдВрд╕ рдбреЙрдХ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдиреЙрдмреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдХреЛрдбред рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЛрдб рдХреЗ рд▓рд┐рдП, рд╣рдо рдЙрдирдХреЗ рд╕реАрдПрд▓рдЖрдИ рд╕реЗ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреА рдХреЙрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрди рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдкреНрд░реАрд╡реНрдпреВ-рд╣реЗрдб.рдПрдЪрдЯреАрдПрдордПрд▓ рдлрд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдВрдХ рдХрд░рддреЗ рд╣реИрдВред рдореЗрд░реЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИред
@ рдПрдб-рд╕реНрдЯреНрд░рд┐рдХрд▓реИрдВрдб рдЙрджрд╛рд╣рд░рдг рдФрд░ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рджред рдЖрдкрдХреЗ рдЕрдВрддрд┐рдо рдЙрджрд╛рд╣рд░рдг рдХреЗ рд╕рд╛рде, рдореИрдВ рдЕрднреА рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдЧреБрдгреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реВрдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рддрддреНрд╡ рдкрд░ рдкреНрд░реЛрдк рдХреЗ рд░реВрдк рдореЗрдВред рдореЗрд░реА рдЖрд╢рд╛ рдереА рдХрд┐ рдореИрдВ рдпрд╛ рддреЛ рд╡реАрдПрдЪрдЯреАрдПрдордПрд▓ рдпрд╛ рд╕рд╛рджреЗ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд╕рд╛рде рдЬреЗрдПрд╕рдПрдХреНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдиреА рдХрд╣рд╛рдирд┐рдпрд╛рдВ рд▓рд┐рдЦ рд╕рдХрддрд╛ рд╣реВрдВред
рддреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп:
export const knobs = (): HTMLNamespaceIconElement => {
const icon: HTMLYooIconElement = document.createElement('namespace-icon');
icon.classList.add('namespace-action-plan');
icon.size = 'medium';
return icon;
};
...рдореИрдВ рд▓рд┐рдЦреВрдБрдЧрд╛:
export const knobs = (): HTMLNamespaceIconElement => {
return (
<namespace-icon class="namespace-action-plan" size="medium">
</namespace-icon>
);
};
рджреЛрдиреЛрдВ рдкрдардиреАрдпрддрд╛ рдХреЗ рд▓рд┐рдП, рдФрд░ рдХрд╣рд╛рдирд┐рдпрд╛рдБ рдмрдирд╛рдиреЗ рдореЗрдВ рдЖрд╕рд╛рдиреА рдХреЗ рд▓рд┐рдПред рддреЛ рдпрд╣ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИ? рдпрджрд┐ рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рддреЛ рдХреНрдпрд╛ рдЖрдк рдПрдХ рддреНрд╡рд░рд┐рдд рдЙрджрд╛рд╣рд░рдг рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдЕрдЧрд░ рдпрд╣ рдЖрд╕рд╛рди рд╣реИ рддреЛ рд╣рдо рдХрд▓рд╣ рдЪреИрдЯ рдореЗрдВ рднреА рдмрд╛рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ Rob Axelsen#1373
рд╣реВрдВред
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЙрдкрд░реЛрдХреНрдд рдореЗрдВ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕реАрдПрд╕рдПрдл рджрд╕реНрддрд╛рд╡реЗрдЬ рдХреЛ рднреА рджреЗрдЦрд╛ рд╣реИ, рдФрд░ рдЬреЗрдПрд╕рдПрдХреНрд╕ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рд╕рд╛рде h
рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рддреНрд░реБрдЯрд┐ рдлреЗрдВрдХрддрд╛ рд╣реИ "рдХрд╣рд╛рдиреА рд╕реЗ рдПрдХ HTML рд╕реНрдирд┐рдкреЗрдЯ рдпрд╛ рдбреЛрдо рдиреЛрдб рдХреА рдЕрдкреЗрдХреНрд╖рд╛:" рд╕рд░рд▓ рдХрд╣рд╛рдиреА " "рдШрдЯрдХ" рдХрд╛ред":
export const simpleStory = () => <namespace-icon class="namespace-action-plan" size="medium"></name-spaceicon>;
рдпрджрд┐ рдпрд╣ рдЙрди рдХрд╣рд╛рдирд┐рдпреЛрдВ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╡реЗрдм рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЧреБрдг рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рдЖрдк @storybook/web-components
рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде html рдХреЛ рдШреЛрд╖рд┐рдд рд░реВрдк рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП
рд╕реНрдЯреЛрд░реАрдмреБрдХ рдФрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЛ рд╕рд╛рде-рд╕рд╛рде рдЪрд▓рд╛рддреЗ рд╕рдордп рдпрд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП :)
рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд▓рд┐рдЯ html рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╡реАрдпреВ рдЪреАрдЬ рд╣реИ ...
@shilman рдЕрд▓реНрдлрд╛ рдореЗрдВ рдорд╛рд╕реНрдЯрд░ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА @ рд╕реНрдЯреЛрд░реАрдмреБрдХ/рд╡реЗрдм-рдШрдЯрдХ рдкреИрдХреЗрдЬ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЛ README.md рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: https://github.com/storybookjs/storybook/tree/next/ рдРрдк/рд╡реЗрдм-рдШрдЯрдХ
рд╣рдо рд╡реЗрдм-рдШрдЯрдХ рдкреИрдХреЗрдЬ рдХреЛ рдХреИрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдФрд░ рдкрд░реАрдХреНрд╖рдг рдХрд░рддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рд▓рд┐рдВрдХ рдХрд┐рдП рдЧрдП рд░реЗрдкреЛ рдореЗрдВ рдХреЛрдИ рдХреНрд▓реЛрди рдХреНрд░рд┐рдпрд╛ рдЖрджрд┐ рдирд╣реАрдВ рд╣реИ?
@ рдПрдб-рд╕реНрдЯреНрд░рд┐рдХрд▓реИрдВрдб рдЬреЛ рдХрд┐ рдореБрдЦреНрдп рд╕реНрдЯреЛрд░реАрдмреБрдХ рдореЛрдиреЛрд░реЗрдкреЛ рдореЗрдВ рд╕рд┐рд░реНрдл рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реИ
рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд▓рд┐рдЯ html рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдПрдХ рд╡реАрдпреВ рдЪреАрдЬ рд╣реИ ...
рдпрд╣ рдПрдХ lit thing
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╡реЗрдм рдШрдЯрдХреЛрдВ рдХреА рд╕реБрдВрджрд░рддрд╛ рд╣реИ - рдЗрд╕рд╕реЗ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╣реБрдб рдХреЗ рдиреАрдЪреЗ рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЖрдк рдЕрдкрдиреА рдХрд╣рд╛рдирд┐рдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП lit-html рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рддрд░реАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рд╢рд╛рдпрдж рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде "рдПрдЪрдЯреАрдПрдордПрд▓" рд▓рд┐рдЦрдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдЪрд╛рд╣рд┐рдПред
рд▓рд┐рдЯ-рдПрдЪрдЯреАрдПрдордПрд▓ рдХреЗ рд▓рд┐рдП рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛
export myStory = () => {
const dataArray = [{ name: 'john', age: 21 }, { name: 'maria', age: 28 }];
return html`
<my-lit-component .title=${'some title'} power="unlimited">
<p> some light dom</p>
</my-lit-component>
<my-stencil-component super-mode .data=${dataArray}></my-stencil-component>
`;
}
рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдХрд╣рд╛рдиреА рдореЗрдВ рдХреНрд░реЛрдо рдореЗрдВ DevTools рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рд▓рд┐рдЯ-рдШрдЯрдХ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╡рд░рдг рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ
рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдпрд╣ "рд╡рд╣реА" рд╣реЛрдЧрд╛
рд▓рд┐рдЯ-рдПрдЪрдЯреАрдПрдордПрд▓ рдХреЗрд╡рд▓ рдбреЛрдо рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ ... рдбреЛрдо рддрддреНрд╡ рдХрд╣рд╛рдВ/рдХреИрд╕реЗ рдкрдВрдЬреАрдХреГрдд рд╣реИрдВ рд▓рд┐рдЯ-рдПрдЪрдЯреАрдПрдордПрд▓ рдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ/рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ - рдЗрд╕рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реА рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд╡рд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ ... рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдкрд╛рд╕ рдШрдЯрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд▓рд┐рдЯ-рдПрд▓рд┐рдореЗрдВрдЯ, рд╕реНрдЯреИрдВрд╕рд┐рд▓, рд╡реЗрдирд┐рд▓рд╛ HTMLElement рд╣реИрдВ рдпрд╛ рдпрд╣ рдПрдХ рдкреВрд░реНрдг рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛/рд╡реНрдпреВ/рдХреЛрдгреАрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡реЗрдм рдШрдЯрдХ рдЖрд╡рд░рдг рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ...
рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдПрдХ рдмрд╛рд░ рдЗрд╕реЗ рд╡реЗрдм рдХрдВрдкреЛрдиреЗрдВрдЯ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рд╕рд┐рд░реНрдл рдбреЛрдо рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
рдкреБрдирд╢реНрдЪ: @storybook/web-components
lit-html рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ
рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдЯреАрдо рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рд╕рдХреНрд░рд┐рдп рдХрд░ рд░рд╣реА рд╣реИ рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдЯреИрдВрд╕рд┐рд▓/рд╕реНрдЯреЛрд░реАрдмреБрдХ рдПрдХреАрдХрд░рдг рдХреЛ рдмрджрд▓ рджреЗрдЧрд╛ред
рдЕрдЧрд░ рдХреЛрдИ рд░рд┐рдПрдХреНрдЯ рдЪреЗрдХрдЖрдЙрдЯ https://github.com/the-road-to-learn-react/use-custom-element рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдФрд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╕рд░рдгрд┐рдпреЛрдВ рдФрд░ рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдореИрдВ рдмрд╛рдж рдореЗрдВ рдЦреБрдж рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдХреБрдЫ рд▓реЛрдЧреЛрдВ рдХреЛ рдорджрдж рдорд┐рд▓ рд╕рдХрддреА рд╣реИред
рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рд╕реНрдЯреЛрд░реАрдмреБрдХ/рд░рд┐рдПрдХреНрдЯ рдФрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рд╣реИ: https://github.com/bbellmyers/stencil-storybook-starterред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде, рдШрдЯрдХреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╣рд╛рд░реНрдб рд░реАрдлрд╝реНрд░реЗрд╢ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╣рд╛рдирд┐рдпреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред
рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реНрдЯреЛрд░реАрдмреБрдХ рд╡реЗрдм рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЛрд░реАрдмреБрдХ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣реА рд╣реИред рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рд╕рд╛рде рдЖрдЬрд╝рдорд╛рдпрд╛ рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
https://github.com/storybookjs/storybook/tree/next/app/web-components
@ sem4phor рдХреНрдпрд╛ рдЖрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдореБрдЭреЗ рд╡реЗрдм-рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдЗрдВрд╕реНрдЯреЙрд▓ рдкрд░ рд▓рд┐рдЯ-рдПрдЪрдЯреАрдПрдордПрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓ рд░рд╣реА рд╣реИрдВ
ERROR in ./node_modules/@storybook/web-components/dist/client/preview/render.js
Module not found: Error: Can't resolve 'lit-html' in '/Users/david/www/stencil-starter/node_modules/@storybook/web-components/dist/client/preview'
@ ./node_modules/@storybook/web-components/dist/client/preview/render.js 20:15-34
@ ./node_modules/@storybook/web-components/dist/client/preview/index.js
@ ./node_modules/@storybook/web-components/dist/client/index.js
@ ./.storybook/preview.js
@ multi ./node_modules/@storybook/core/dist/server/common/polyfills.js ./node_modules/@storybook/core/dist/server/preview/globals.js ./.storybook/preview.js ./.storybook/generated-entry.js (webpack)-hot-middleware/client.js?reload=true&quiet=true
@dmartinjs рдЖрдкрдХреЛ
@ рдПрдб-рд╕реНрдЯреНрд░рд┐рдХрд▓реИрдВрдб рд╣рдордиреЗ рд╡реЗрдм-рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЛ рдЬреЛрдбрд╝рд╛ рдФрд░ рдкреЙрд▓рд┐рдорд░ рдХреЗ рд▓рд┐рдП 6.0.0 рд╕реНрдЯреЛрд░реАрдмреБрдХ рдореЗрдВ рдЕрдм рдкрджрд╛рд╡рдирдд/рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдХреНрдпрд╛ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╡реЗрдм-рдШрдЯрдХреЛрдВ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЛрд░реАрдмреБрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
рд╡реЗрдм рдШрдЯрдХ рд╕реНрдЯреЛрд░реАрдмреБрдХ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╡реЗрдм рдШрдЯрдХ рдШрдЯрдХреЛрдВ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЪрд▓рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рдЕрднреА рднреА рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЬрдм рддрдХ рдХрд┐ рдЖрдк рд╕реНрдЯреЛрд░реАрдмреБрдХ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХреЛрдВ рдХреЛ рд╕рдВрдХрд▓рд┐рдд рди рдХрд░реЗрдВред
@LarsDenBakker рдЙрдкрд░реЛрдХреНрдд рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рд╣рд╛рдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╕реНрд╡рдпрдВ рд░реЛрд▓рдЕрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рд╕рдВрдХрд▓рди рдЪрд░рдг рдХреЛ рдПрдХ рдЕрд▓рдЧ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рд╢рд╛рдпрдж рд╡реЗрдмрдкреИрдХ рдкреНрд▓рдЧрдЗрди рдореЗрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП рдЖрдВрддрд░рд┐рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдЬрд╛рдирддрд╛ред
рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╡реЗрдмрдкреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рд░реЛрд▓рдЕрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдореЗрд░реЗ рджреНрд╡рд╛рд░рд╛ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рд░реЗрдкреЛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ рддрд╛рдХрд┐ рджреЛрдиреЛрдВ рддрджрдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░ рд╕рдХреЗрдВ рдФрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдореЗрдВ рдПрдЪрдПрдордЖрд░ рд╕рдордХрдХреНрд╖ рдХреЛ -рд╡реЙрдЪ рдХреЙрд▓ рдХреЗ рд╕рд╛рде рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХреЗрдВред рддрд╛рдХрд┐ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдЕрдкрдбреЗрдЯ рд╣реЛрдиреЗ рдкрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рд╣реЛ рдЬрд╛рдП рдФрд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдЕрдкрдбреЗрдЯ рд╣реЛрдиреЗ рдкрд░ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рд╣реЛ рдЬрд╛рдПред
рдЗрд╕рд▓рд┐рдП рд╣рд░ рдмрд╛рд░ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрд╕реЗ рдХрд╡рд░ рдХрд░реЗрдЧрд╛ред
рдЬрдмрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдирд╡реАрдирддрдо рдПрд╕рдмреА рдпрд╛ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рд╕рд╛рде рд░реЗрдкреЛ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрднреА рднреА рдХрд╛рдо рдХрд░реЗрдЧреА рдФрд░ рдлрд┐рд░ рдЖрдк рд░реЗрдкреЛ рдХреЛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдЧреНрд░реЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдзрдиреНрдпрд╡рд╛рдж
@ рдПрдб-рд╕реНрдЯреНрд░рд┐рдХрд▓реИрдВрдб рд╣рдордиреЗ рд╡реЗрдм-рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЛ рдЬреЛрдбрд╝рд╛ рдФрд░ рдкреЙрд▓рд┐рдорд░ рдХреЗ рд▓рд┐рдП 6.0.0 рд╕реНрдЯреЛрд░реАрдмреБрдХ рдореЗрдВ рдЕрдм рдкрджрд╛рд╡рдирдд/рдЕрдкрдбреЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдХреНрдпрд╛ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╡реЗрдм-рдШрдЯрдХреЛрдВ рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЛрд░реАрдмреБрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?
рд╣рд╛рдВ рдпрд╣ рдЕрднреА рднреА рд▓рд╛рдЗрд╡ рд░реАрд▓реЛрдб/рдПрдЪрдПрдордЖрд░ рдХреЗ рд▓рд┐рдП рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрд┐рдореНрдореЗрджрд╛рд░ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗрдмрдкреИрдХ рдЙрдкрдпреЛрдЧ рдФрд░ рд░реЛрд▓ рдЕрдк рдЙрдкрдпреЛрдЧ рдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░реЛрдВ рдХреЗ рдКрдкрд░ рд╡рд┐рд╕реНрддреГрдд рд░реВрдк рд╕реЗ рдпрджрд┐ рдЖрдк рдПрд╕рдмреА рдбрдмреНрд▓реНрдпреВрд╕реА рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕реЗ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рдкреВрд░реНрдг рдирд┐рд░реНрдорд╛рдг рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрдм рдПрдЪрдПрдордЖрд░ рдХреА рд╕рд╛рд░реА рдЕрдЪреНрдЫрд╛рдИ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдореЗрдВ рдЦреЛ рдЬрд╛рддреА рд╣реИред
рдпрд╣ рд╕рдВрд╕реНрдХрд░рдг рд╡рд░реНрддрдорд╛рди рдореЗрдВ HTML рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рди рдХрд┐ рдмрд╣реБрд▓рдХ рд╕рдВрд╕реНрдХрд░рдг рдкрд░, рдЗрд╕рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рджреАрд░реНрдШрдХрд╛рд▓рд┐рдХ рд▓рдХреНрд╖реНрдп рдкрд░ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
@LarsDenBakker рдЙрдкрд░реЛрдХреНрдд рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
рдореИрдВ рдЗрд╕рдХреА рд╕рд▓рд╛рд╣ рдирд╣реАрдВ рджреВрдВрдЧрд╛, рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХрд╛ рд╡реЗрдмрдкреИрдХ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛рдлреА рдЕрдзрд┐рдХ рдХрдард┐рди рд╡рд┐рдХрд╛рд╕ рдкрде рд╣реИ рдФрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рдкрджрдЪрд┐рд╣реНрди рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд░реЗрдкреЛ рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдореИрдВрдиреЗ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЛ рдШрдбрд╝реА рдореЗрдВ рдЪрд▓рд╛рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╡ рд╣реИ рдЬреЛ рд╣рд░ рдкрд░ рд▓рд╛рдЗрд╡ рдкреБрди: рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ WC рдпрд╛ SB рдЙрджрд╛рд╣рд░рдг рдХрд╛ рдкрд░рд┐рд╡рд░реНрддрдиред рдпрд╣ рджреЛрдиреЛрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред
рд╣рд╛рдВ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╕реНрд╡рдпрдВ рд░реЛрд▓рдЕрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рд╕рдВрдХрд▓рди рдЪрд░рдг рдХреЛ рдПрдХ рдЕрд▓рдЧ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдЗрд╕реЗ рд╢рд╛рдпрдж рд╡реЗрдмрдкреИрдХ рдкреНрд▓рдЧрдЗрди рдореЗрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдЙрд╕рдХреЗ рд▓рд┐рдП рдЖрдВрддрд░рд┐рдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рдЬрд╛рдирддрд╛ред
рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕реНрдЯреИрдВрд╕рд┐рд▓ WP рдкреНрд▓рдЧрдЗрди рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рдорд░реНрдерд┐рдд рдпрд╛ рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рд╕реНрд╡реАрдХреГрдд рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рд╣реИред
cc @jthoms1 @adamdbradley
@dmartinjs рдЖрдкрдХреЛ
@ sem4phor рдХреНрдпрд╛ рдЖрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╕рд╛рдЭрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
рдореБрдЭреЗ рд╡реЗрдм-рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдирдИ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдЗрдВрд╕реНрдЯреЙрд▓ рдкрд░ рд▓рд┐рдЯ-рдПрдЪрдЯреАрдПрдордПрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдорд┐рд▓ рд░рд╣реА рд╣реИрдВ
ERROR in ./node_modules/@storybook/web-components/dist/client/preview/render.js Module not found: Error: Can't resolve 'lit-html' in '/Users/david/www/stencil-starter/node_modules/@storybook/web-components/dist/client/preview' @ ./node_modules/@storybook/web-components/dist/client/preview/render.js 20:15-34 @ ./node_modules/@storybook/web-components/dist/client/preview/index.js @ ./node_modules/@storybook/web-components/dist/client/index.js @ ./.storybook/preview.js @ multi ./node_modules/@storybook/core/dist/server/common/polyfills.js ./node_modules/@storybook/core/dist/server/preview/globals.js ./.storybook/preview.js ./.storybook/generated-entry.js (webpack)-hot-middleware/client.js?reload=true&quiet=true
рдЗрд╕ рдкрд░ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛? рдореБрдЭреЗ рдЗрд╕ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рд╕реНрд╡рдпрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реИред рдпрджрд┐ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ @ рд╕реНрдЯреЛрд░реАрдмреБрдХ/рд╡реЗрдм-рдШрдЯрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ...?
@LeeBurton рдЕрдЧрд░ рдпрд╣ рдПрдХ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рдирд╣реАрдВ рд╣реИ? (рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рд╣реИ, рдЕрдЧрд░ рдпрд╣ рдирд╣реАрдВ рд╣реИ рддреЛ рд╢рд╛рдпрдж рдпрд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП) cc @daKmoR
@LeeBurton рдЬрд┐рд╕ рд╕рдордп рдореИрдВ рдЗрд╕рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░ рд░рд╣рд╛ рдерд╛, рдЙрд╕ рд╕рдордп рд▓рд┐рдЯ-рдПрдЪрдЯреАрдПрдордПрд▓ рдПрдХ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛ рдереАред рдпрд╣ рд╕рд╛рдорд╛рдиреНрдп рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╕реНрд╡рдпрдВ рд╕рд╣рдХрд░реНрдореА рдирд┐рд░реНрднрд░рддрд╛рдПрдБ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреА рд╣реЛрдВрдЧреАред https://nodejs.org/es/blog/npm/peer-dependencies/
рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рдХреНрдпрд╛ рд╣реИ, рдореБрдЭреЗ рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЗ рд╕рд╛рде .storybook/preview.js
рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдорд┐рд▓реА рд╣реИ
import { defineCustomElements } from "../dist/esm/loader.mjs"
defineCustomElements()
configure(require.context('../src', true, /.*\.stories\.(js|mdx)$/), module);
@idmyn рдореИрдВрдиреЗ рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдЬрдм рдпрд╣ рд╕рдВрдХрд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдХрд┐рд╕реА рднреА рд╕реНрд░реЛрдд рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд┐рдП рдЧрдП рдХрд┐рд╕реА рднреА рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд╣рд╛рд░реНрдб рд░реАрд▓реЛрдб рдХреЗ рдмрд┐рдирд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдореИрдВрдиреЗ рдЗрд╕реЗ npm-run-all
рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ start-storybook
рдЪрд▓рд╛рддреЗ рд╕рдордп рдПрдХ npm рд░рди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕рдХреНрд╖рдо рдШрдбрд╝реА рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдЪрд▓рд╛рдХрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ред
рдореИрдВрдиреЗ рдЕрдкрдиреЗ main.js рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреА рдбрд┐рд╕реНрдЯ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЗ рд╡реЗрдмрдкреИрдХ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИ:
const path = require('path');
const glob = require('glob');
module.exports = {
webpackFinal: (config) => {
// watch all revelant files in dist folder
const distDir = path.resolve(__dirname, '../dist');
const files = glob.sync(`${distDir}/**/*.entry.js`, { absolute: true, ignore: ['**/*.system.entry.js'] });
config.entry.push(...files);
return config;
},
};
рдЖрдкрдХреЛ рдЕрдкрдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдкрде/рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдереЛрдбрд╝рд╛ рдмрджрд▓рдирд╛ рдкрдбрд╝ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдмрд╕ рд╕реЛрдЪ рд░рд╣рд╛ рдерд╛, рдХреНрдпрд╛ @DesignByOnyx рдпрд╛ @ Edd-
рдореИрдВрдиреЗ @ рдПрдб-рд╕реНрдЯреНрд░рд┐рдХрд▓реИрдВрдб рдХреА рдЕрдкрдиреА рдХреЙрдкреА рдХреЛ 6.0.0-рдмреАрдЯрд╛ рдореЗрдВ рдпрдереЛрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬрдм рдпрд╣ рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИ рддреЛ рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕рдм рдХреБрдЫ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП readme.md)ред
рдХреНрдпрд╛ рдпрд╣ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╕реЗ @paulfelton рдЙрдкрд▓рдмреНрдз рд╣реИ?
рдпрд╣ рдЕрдм рд╣реИ, рд╕реНрд╡рдпрдВ рдХреА рд╕рд╣рд╛рдпрддрд╛ рдХрд░реЗрдВ :-)
рдореИрдВрдиреЗ рдПрдб рдХреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреЛ рдлреЛрд░реНрдХ рдХрд┐рдпрд╛ рд╣реИ ред @ рдПрдб-рд╕реНрдЯреНрд░рд┐рдХрд▓реИрдВрдб, рдХреНрдпрд╛ рдореИрдВ рдкреАрдЖрд░ рдореЗрдВ рдкреЙрдк рдХрд░реВрдВрдЧрд╛? рдЗрд╕реЗ рдЕрдЪреНрдЫреА рд╕рдореАрдХреНрд╖рд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдореИрдВ рдЗрд╕рдореЗрдВ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рдирд╣реАрдВ рд╣реВрдВред
рдореИрдВрдиреЗ рд╕рдВрдХреБрд▓ рдХреЛ рдЯрдХреНрдХрд░ рджреА рд╣реИ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдирдП рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рджреЛрдмрд╛рд░рд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреА рд╣реИред рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд░реАрдбрдореА рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛рдиреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдПрдХ рдЯрд╛рдЗрдкрд┐рдВрдЧ рдЬреЛрдбрд╝рдирд╛ рдерд╛ рдФрд░ рдЗрд╕реЗ tsconfig рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рдирд╛ рдерд╛, рдФрд░ 'рдиреЛрдЯреНрд╕' рдХреЛ 'рдбреЙрдХреНрд╕' рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЬреЛрдбрд╝рдирд╛ рдерд╛ред
рдЗрдЪреНрдЫрд╛ рд╕реВрдЪреА:
@paulfelton рдХреНрдпрд╛ рдЖрдкрдХреЛ рдореБрдЭрд╕реЗ рдХреБрдЫ рдЪрд╛рд╣рд┐рдП?
@ndelangen рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЗрдХрдЯреНрдард╛ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдореИрдВ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдФрд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдирдпрд╛ рд╣реВрдВ, рдЗрд╕рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рдореБрджреНрджреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛, Google, рдЖрджрд┐ рд╕реЗ рдореИрдВ рдЬреЛ рдХреБрдЫ рднреА рдЦреАрдВрдЪ рд╕рдХрддрд╛ рд╣реВрдВ рдЙрд╕реЗ рдПрдХ рд╕рд╛рде рдЬреЛрдбрд╝ рджрд┐рдпрд╛ред
рдореБрдЭреЗ рд╕реНрдЯрд╛рд░реНрдЯрд░ рд░реЗрдкреЛ рдореЗрдВ рднреА рдЬрд╛рдирд╛ рдерд╛, рднрд╛рд░реА рдкреНрд░реЗрд░рд┐рдд рд▓реЗрдХрд┐рди рдЗрд╕ рдореБрджреНрджреЗ рдореЗрдВ рд╕рднреА рдорд╣рд╛рди рдкреНрд░рдпрд╛рд╕ (рдзрдиреНрдпрд╡рд╛рдж!)
https://github.com/elwynelwyn/stencilbook-ding
@storybook/web-components
рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЖрд╡рд╢реНрдпрдХ рдРрдбрдСрди (рдЬреИрд╕реЗ рдирд┐рдпрдВрддреНрд░рдг, рдХреНрд░рд┐рдпрд╛) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╕реНрддрд░ рдкрд░ рд╕рдм рдХреБрдЫ рдХреЗ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг ..
рд╕реНрдЯреИрдВрд╕рд┐рд▓ рджреЗрд╡ рд╕рд░реНрд╡рд░ рдФрд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдлреНрд░реЗрдо рдХреЗ рдмреАрдЪ рдХреБрдЫ рдЕрддрд┐рд░рд┐рдХреНрдд рдПрдХреАрдХрд░рдг (рдЗрд╕рд▓рд┐рдП рд╕реНрдЯреИрдВрд╕рд┐рд▓ рддреНрд░реБрдЯрд┐ рдУрд╡рд░рд▓реЗ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдореЗрдВ рдЗрдирд▓рд╛рдЗрди рджрд┐рдЦрд╛рддрд╛ рд╣реИ - рдмреЗрд╣рддрд░ рдбреАрдПрдХреНрд╕!) (рдбреАрдЯреНрд╕ рдХреЗ рд▓рд┐рдП ./storybook/preview-body.html
рдФрд░ ./src/index.html
рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ)ред
~рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдбрд┐рд╕рд░реНрд╡рд░ рдХреЛ start-storybook
рдореЗрдВ рдореИрд╢ рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рдХрдорд╛рдВрдб рдЪрд▓рд╛ рд╕рдХреЗрдВ рдФрд░ рдпрд╣ рдкрд░реНрджреЗ рдХреЗ рдкреАрдЫреЗ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЛ рд╕реНрдкрд┐рди рдХрд░ рд╕рдХреЗред~
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: рдЗрд╕реЗ concurrently
+ wait-on
рд╕рд╛рде рд╕рд░рд▓ рдмрдирд╛рдПрдВ - рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рд╕реНрдкрд┐рди рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ, рдлрд┐рд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝реЗрдВ
рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди (рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХреЛрдВ рдпрд╛ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХрд╣рд╛рдирд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП) рдкреВрд░реНрд╡рд╛рд╡рд▓реЛрдХрди рдлрд╝реНрд░реЗрдо рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд░реЗрдЧрд╛ (рд╕рдВрдкреВрд░реНрдг рд╕реНрдЯреЛрд░реАрдмреБрдХ рдРрдк рдирд╣реАрдВ)ред рдпрд╣ рдЙрдЪрд┐рдд рдПрдЪрдПрдордЖрд░ рдирд╣реАрдВ рд╣реИ рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд╕рд╛рде рджреЗрд╡ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд╣реИ!
рдЕрдЪреНрдЫрд╛ред рд▓рд┐рдВрдХ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
рдУрд╣, рд░реЗрдкреЛ рдЕрдм рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╣реЛ рдЧрдпрд╛ рд╣реИ ^
рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рд╕реНрдЯреИрдВрд╕рд┐рд▓ v2 рдФрд░ @ рд╕реНрдЯреЛрд░реАрдмреБрдХ/рд╡реЗрдм-рдШрдЯрдХреЛрдВ v6 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рд░реЗрдкреЛ рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрд╛ рд╣реИ: https://github.com/bjankord/stencil-storybook-boilerplate
рд╕реНрдЯреЛрд░реАрдмреБрдХ/рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдбрд┐рд╕реНрдХреЙрд░реНрдб рдЪреИрдирд▓ рд╕реЗ
рдпреЗ рджреЛ рд░реЗрдкреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рд▓рдЧрддреЗ рд╣реИрдВред рдпрджрд┐ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдХреЗ рд╕рд╛рде рд╕рдореЗрдХрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рддреЛ рдпрд╣ рдПрдХ рдЕрдЪреНрдЫрд╛ рдЬреЛрдбрд╝ рд╣реЛрдЧрд╛ред рдФрд░ рдЕрдЧрд░ рдХреЛрдИ рдЗрди рджреЛ рд░рд┐рдкреЛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрдВрдЯреНрд░реЛ рдЯреВ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдореЗрдВ рдПрдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдХреЗ рд╕рд╛рде рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХреЛ рддреИрдпрд╛рд░ рд╣реЛрдЧрд╛, рддреЛ рд╣рдо рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рд░рд╛рд╣рдирд╛ рдХрд░реЗрдВрдЧреЗред рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рдЗрд╕рдореЗрдВ рд╣рдорд╛рд░реА рдорджрдж рдХрд░рдиреЗ рдХреЛ рддреИрдпрд╛рд░ рд╣реИ рдФрд░ рдореИрдВ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╕рдореБрджрд╛рдп рдХреЗ рд╕рджрд╕реНрдпреЛрдВ рдХреА рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрд╢реА рд╕реЗ рдЖрдЧреЗ рдмрдврд╝реВрдВрдЧрд╛ред
рдореБрдЭреЗ рдПрдХ рдЙрдЪрд┐рдд рдПрдЪрдПрдордЖрд░ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛;) рдЬрд▓реНрдж рд╣реА рдЖ рд░рд╣рд╛ рд╣реИ!
рдореБрдЭреЗ рдПрдХ рдЙрдЪрд┐рдд рдПрдЪрдПрдордЖрд░ рд╕рдорд╛рдзрд╛рди рдорд┐рд▓рд╛;) рдЬрд▓реНрдж рд╣реА рдЖ рд░рд╣рд╛ рд╣реИ!
рдпрд╣ рд░рд╣рд╛!
рд╕реНрдЯреИрдВрд╕рд┐рд▓ 2+ рдФрд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ 6+ (рдкреБрд░рд╛рдирд╛ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╕рдВрд╕реНрдХрд░рдг рднреА рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП;))
https://github.com/dutscher/stencil-storybook
рдордЬрд╝реЗ рдХрд░реЛ рдФрд░ рдЪреАрдпрд░реНрд╕
рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ: gh-рдкреГрд╖реНрдареЛрдВ рдкрд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЗ рд╕рд╛рде https://dutscher.github.io/stencil-storybook/index.html
рдкрд┐рдЫрд▓реЗ рд╣рдлреНрддреЗ рд╣рдорд╛рд░реЗ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЗрд╕ ^^ рдХреЛ рд╕реНрд╡реИрдк рдХрд┐рдпрд╛ рдФрд░ рдмрд┐рдЯреНрд╕ рдХреЛ рдмрд╛рд╣рд░ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рдмрд╛рдж рдЬреЛ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИ (рдмреВрдЯрд╕реНрдЯреНрд░реИрдк, рдПрд╕рд╕реАрдПрд╕рдПрд╕, рдХреНрд░реЛрдореИрдЯрд┐рдХ рдЗрддреНрдпрд╛рджрд┐) рдФрд░ рдХреБрдЫ рдЫреЛрдЯреА рдЪреАрдЬреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдирд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкреИрдХреЗрдЬ.рдЬреЗрд╕рди рдирд╛рдо рд╣рд░ рдЬрдЧрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ @ рдореЗрдВ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред myorg/my-proj рдкреНрд░рд╛рд░реВрдк) рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред
рдПрдХ-рдПрдХ рджрд┐рди рд╕реЗ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдФрд░ рдПрдЪрдПрдордЖрд░ рдЙрддреНрдХреГрд╖реНрдЯ рд╣реИ!
@elwynelwyn рдХреБрдЫ рднреА рд╣рдореЗрдВ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рдХрд░рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдХреНрдпрд╛ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ?
@ndelangen рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪреАрдЬреЗрдВ рд╣реИрдВ:
рдЪрд┐рдпрд░реНрд╕
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ 2 рд╕рдкреНрддрд╛рд╣ рд╕реНрдЯреИрдВрд╕рд┐рд▓рдЬреЗрдПрд╕ рдФрд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рддреЗ рд╣реБрдП рдмрд┐рддрд╛рдП рдФрд░ рдПрдХ рд▓рд╛рдЗрд╡рд╕реНрдЯреНрд░реАрдо рдХрд┐рдпрд╛ рдЬрд╣рд╛рдВ рдореИрдВ рдЕрдкрдирд╛ рд╕рдорд╛рдзрд╛рди рдХрд╡рд░ рдХрд░рддрд╛ рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдЪрдПрдордЖрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЫреЛрдЯреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред рд╡рд┐рддрд░рдг рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдмрдВрдбрд▓ рд╕реЗ рд▓реЛрдбрд░ рдХреЛ рд╕реБрдзрд╛рд░рдиреЗ рдпрд╛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрд╕рдВрдж рдЖрдПрдЧреАред
https://www.youtube.com/watch?v=XwHtPw3izLE
рдФрд░ рдпрд╣рд╛рдБ рд░реЗрдкреЛ рд╣реИ! ^_^
https://github.com/MadnessLabs/enjin-components