Storybook: рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рдорд░реНрдерди - Stencil.js

рдХреЛ рдирд┐рд░реНрдорд┐рдд 29 рдЕрдХреНрддреВре░ 2018  ┬╖  119рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: storybookjs/storybook

рдЖрдк рдЬреЛ рд╕рдорд╛рдзрд╛рди рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ
рдореИрдВ Stencil.js рд╕рдорд░реНрдерди рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЛ рдмрд╣реБрдд рдШрдЯрдХ рдХреЗрдВрджреНрд░рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рджреЗрдЦрддрд╛ рд╣реВрдВ, рдФрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдПрдХ рдмрд╣реБрдд рд╣реА рдШрдЯрдХ рдлреЛрдХрд╕ рдврд╛рдВрдЪрд╛ рд╣реИ - рдпреЗ рдЯреВрд▓ рдПрдХ-рджреВрд╕рд░реЗ рдХреА рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рддрд╛рд░реАрдл рдХрд░реЗрдВрдЧреЗред

рдХреНрдпрд╛ рдЖрдк рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдореЗрдВ рд▓рд╛рдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрддрд╛ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ?
рд╣рд╛рдБ рдореИрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ...

P1 html web-components feature request todo

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ 2 рд╕рдкреНрддрд╛рд╣ рд╕реНрдЯреИрдВрд╕рд┐рд▓рдЬреЗрдПрд╕ рдФрд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЗ рд╕рд╛рде рдЦреЗрд▓рддреЗ рд╣реБрдП рдмрд┐рддрд╛рдП рдФрд░ рдПрдХ рд▓рд╛рдЗрд╡рд╕реНрдЯреНрд░реАрдо рдХрд┐рдпрд╛ рдЬрд╣рд╛рдВ рдореИрдВ рдЕрдкрдирд╛ рд╕рдорд╛рдзрд╛рди рдХрд╡рд░ рдХрд░рддрд╛ рд╣реВрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдЪрдПрдордЖрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛, рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рдкреНрд▓рдЧрдЗрдиреНрд╕ рдЫреЛрдЯреА рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗред рд╡рд┐рддрд░рдг рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдмрдВрдбрд▓ рд╕реЗ рд▓реЛрдбрд░ рдХреЛ рд╕реБрдзрд╛рд░рдиреЗ рдпрд╛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рд▓реЛрдЧреЛрдВ рдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкрд╕рдВрдж рдЖрдПрдЧреАред

https://www.youtube.com/watch?v=XwHtPw3izLE

рдФрд░ рдпрд╣рд╛рдБ рд░реЗрдкреЛ рд╣реИ! ^_^
https://github.com/MadnessLabs/enjin-components

рд╕рднреА 119 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

#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), рд▓реЗрдХрд┐рди рдЬрдм рдореИрдВ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ рддреЛ рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЧрд░реНрдо/рд▓рд╛рдЗрд╡ рдЕрдкрдбреЗрдЯ рдкрд╕рдВрдж рдЖрдПрдЧрд╛ред рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореБрдЭреЗ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд░реАрдлреНрд░реЗрд╢ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдХреНрдпрд╛ рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреА рдмреБрд▓реЗрдЯ рд╕реВрдЪреА рд╣реИ? рдореБрдЭреЗ рдкрд┐рдЪ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рдореБрдЭреЗ рдкрддрд╛ рдерд╛ рдХрд┐ рдХреНрдпрд╛ рдмрдирд╛рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИред

рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ? рдХреНрдпрд╛ рд╣рдо рдпреЛрдЧрджрд╛рди рджреЗ рд╕рдХрддреЗ рд╣реИрдВ? рдореИрдВ рдЗрд╕реЗ рджреЗрдЦрдирд╛ рдкрд╕рдВрдж рдХрд░реВрдВрдЧрд╛!

рдореИрдВрдиреЗ рдКрдкрд░ рдПрдХ рдкреВрд░реНрд╡ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ред

  • рдкреНрд░реАрд╕реЗрдЯ рдпрд╣рд╛рдВ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╣реИрдВ: https://storybook.js.org/docs/presets/introduction/
  • рдпрд╣рд╛рдВ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рдкреНрд░реАрд╕реЗрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реЗрдкреЛ рд╣реИ: https://github.com/storybookjs/presets

рдЕрдЧрд░ рдХреЛрдИ рдЙрдкрд░реЛрдХреНрдд рдкреИрдЯрд░реНрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдПрдХ рдкреНрд░реАрд╕реЗрдЯ рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ рдореБрдЭреЗ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдкрдХреНрд╖ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред рдореИрдВ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдкрдХреНрд╖ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реВрдБред

рдореИрдВрдиреЗ рдЕрднреА рдЕрдкрдирд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╡рд╣рд╛рдВ рдкреЛрд╕реНрдЯ рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдЗрд╕реЗ рдЪрд╛рд╣рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реИрдВ:

  • рдХрд╣рд╛рдирд┐рдпреЛрдВ рдХреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреАрдврд╝реА

    • рдЖрдкрдХреЗ рдШрдЯрдХреЛрдВ рдкрд░ рд╕рднреА @Props рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдШреБрдВрдбреА рдкреАрдврд╝реА

    • рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдк рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реЗ рдиреЙрдмреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдХреЛрдб рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕, рдирдВрдмрд░реНрд╕, рдмреВрд▓рд┐рдпрдиреНрд╕, рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕, рдбреЗрдЯреНрд╕ рдФрд░ рд░рдВрдЧреЛрдВ рдХреЗ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдиреЗ рдХрд╛ рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ)ред

    • рдХрдИ рд░рд╛рдЬреНрдпреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛ рдПрдХ рд╣реА рдкреГрд╖реНрда рдкрд░ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдкреНрд░рддреНрдпреЗрдХ рдПрдХ рд╢реАрд░реНрд╖рдХ, рд╡рд┐рд╡рд░рдг рдФрд░ рдХреЙрдкреА рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯ рдХреЗ рд╕рд╛рде (рдПрдХ рд╣рд▓реНрдХреЗ рдЕрдзреНрдпрд╛рдп рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреА рддрд░рд╣)

    • рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдиреЛрдЯреНрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ (рдЖрдорддреМрд░ рдкрд░ рдЖрдк рдЙрддреНрдкрдиреНрди рд░реАрдбрдореА рдЪрд╛рд╣рддреЗ рд╣реИрдВ)

  • рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХреЛрдВ рдХрд╛ рд▓рд╛рдЗрд╡ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг/рдкреБрдирдГ рд▓реЛрдб (рдпрд╣ рдЕрднреА рднреА рдереЛрдбрд╝рд╛ рднрджреНрджрд╛ рд╣реИ - рдХрднреА-рдХрднреА рдЖрдкрдХреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рд░реАрдлреНрд░реЗрд╢ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ)
  • рд╡реНрдпреВрдкреЛрд░реНрдЯ рдРрдб-рдСрди рдХреЗ рд╕рд╛рде рдЖрддрд╛ рд╣реИ

рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ: https://github.com/DesignByOnyx/stencil-storybook-starter

@DesignByOnyx рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд▓рдЧ рд░рд╣рд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЯреНрд╡реАрдЯ рдХрд░реЗрдВ рдФрд░ @storybookjs рдЙрд▓реНрд▓реЗрдЦ рдХрд░реЗрдВ рдФрд░ рдореИрдВ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдЦрд╛рддреЗ рд╕реЗ RT рдХрд░реВрдВрдЧрд╛ред рдФрд░ рдЕрдЧрд░ рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдкреЛрд╕реНрдЯ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдореБрдЭреЗ рдЖрдкрдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдХреЗ рдЗрд╕реЗ рдкреНрд░рдЪрд╛рд░рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдХрд╛рдлреА рдмрдбрд╝реА рдорд╛рдВрдЧ рд╣реИред

рдХрдорд╛рд▓ рдХрд╛ рдХрд╛рдо @DesignByOnyx ! рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреВрд░реНрд╡ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд┐рдЯ рдмреИрдарддрд╛ рд╣реИ :tada:

рдареАрдХ рд╣реИ, рдореИрдВрдиреЗ рдЯреНрд╡реАрдЯ рдХрд┐рдпрд╛ рд╣реИ (рдореИрдВ рдЬреНрдпрд╛рджрд╛ рдЯреНрд╡рд┐рдЯрд░ рдирд╣реАрдВ рдХрд░рддрд╛)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рдмреНрд▓реЙрдЧ рдирд╣реАрдВ рд╣реИ: /, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХреЛрдИ рдЗрд╕реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рддреЛ рдореБрдЭреЗ рдПрдХ рд╕рд╛рде рд░рдЦрдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред

рдЬрдмрдХрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛рдо рдХрд░рддреА рд╣реИ, рдореИрдВрдиреЗ рдЗрд╕реЗ рдЬрд▓реНрджреА рдореЗрдВ рдПрдХ рд╕рд╛рде рдлреЗрдВрдХ рджрд┐рдпрд╛ рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕реЗ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рдмрдирд╛рдпрд╛ред рд╡рд╣рд╛рдВ рдХреЗ рдХреБрдЫ рдХреЛрдб рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рднрдВрдЧреБрд░ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдШрдЯрдХ рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХрд╛рдзрд┐рдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓реЛрдб рдФрд░ рдорд░реНрдЬ рдХрд░рдирд╛ рдкрдбрд╝ рд░рд╣рд╛ рд╣реИред рдореИрдВ рдЗрд╕реЗ рдФрд░ рдЕрдзрд┐рдХ рдЙрдкрднреЛрдЬреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рд╕рдордп рдЦрд░реНрдЪ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреБрдЫ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рдЙрдореНрдореАрдж рдХрд░ рд░рд╣рд╛ рд╣реВрдВред

рдореИрдВ рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрддреНрд╕реБрдХ рд╣реВрдВ рдХрд┐ рдкреНрд░реАрд╕реЗрдЯ рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛ред рд╕рдмрд╕реЗ рдмрдбрд╝реА рдмрд╛рдд рдЬреЛ рдЕрдЪреНрдЫреА рд╣реЛрдЧреА рд╡рд╣ рд╣реИ JSX рдкреНрд░реАрд╕реЗрдЯ рдЬреЛ рд░рд┐рдПрдХреНрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕реНрдЯреЛрд░реАрдмреБрдХ-рдПрдЪрдЯреАрдПрдордПрд▓ рдХрд┐рд╕реНрдо рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдереЛрдбрд╝рд╛ рдЖрд╕рд╛рди рдкреНрд░рддрд┐рдкрд╛рджрди рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдкреАрдврд╝реА рдХреЛ рд╕рдХреНрд╖рдо рдХрд░реЗрдЧрд╛, рдФрд░ рдЗрд╕рдХрд╛ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рд╕рд╛рде рдмрд╣реБрдд рдХреБрдЫ рдирд╣реАрдВ рд╣реИред рдЗрд╕реЗ рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдРрдбрдСрди рдХреЛ рднреА рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА, рдФрд░ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдореИрдВ рдЙрд╕ рдкреНрд░рдпрд╛рд╕ рдХреЛ рд╕рдордиреНрд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реВрдВред рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ, рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдореИрдВ рдорджрдж рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред

@DesignByOnyx рдХрд┐рд╕реА рднреА рдореМрдХреЗ рдкрд░ рдЖрдк рд╣рдорд╛рд░реЗ рдХрд▓рд╣ рдкрд░ https://discordapp.com/invite/UUt2PJb

рдореБрдЭреЗ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдмреНрд▓реЙрдЧ рдкрд░ рдЗрд╕ рдХрд╛рдо рдХреЛ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╕рдореБрджрд╛рдп рдореЗрдВ рдкреНрд░рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдмрд╛рдд рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛ред

рдореИрдВ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рд▓рд┐рдП @storybook/html рд╕рд╛рде рдЦреЗрд▓ рд░рд╣рд╛ рд╣реВрдВ рдФрд░ рдЕрдиреБрднрд╡ рдХрд╛рдлреА "рдмрд╕ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ"ред рдЖрдк рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВ:

  1. рд╕реНрдЯреЛрд░реАрдмреБрдХ рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП concurrently рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ stencil build --watch "рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ"
  2. storybook рдХреЛ -s dist рдзреНрд╡рдЬ рдХреЗ рд╕рд╛рде рдкреНрд░рд╛рд░рдВрдн рдХрд░реЗрдВ, рддрд╛рдХрд┐ рдЖрдкрдХреА рд╕реНрдЯреИрдВрд╕рд┐рд▓ dist рдХреЛ рд╕реНрдерд┐рд░ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
  3. рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреИрдЧ рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .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 рдкреИрдХреЗрдЬ рдХреЗ рд╕рдорд╛рди рдЕрдиреБрднрд╡ (рдФрд░ рдХреЛрдб) рд╣реИ, рд▓реЗрдХрд┐рди

  1. рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдмрд┐рд▓реНрдб рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд╛рд░, рддрд╛рдХрд┐ concurrently рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛ
  2. рдЖрдкрдХреЗ рд▓рд┐рдП рдЙрди script рдЯреИрдЧ рдХреЛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ
  3. рдЬрдм рдЖрдкрдХреЗ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХ рдлрд┐рд░ рд╕реЗ рдмрдирддреЗ рд╣реИрдВ рддреЛ рдСрдЯреЛ-рд░реАрдлрд╝реНрд░реЗрд╢ рдХреЛ рд╣реБрдХ рдХрд░рддрд╛ рд╣реИ

рдХреНрдпрд╛ рдРрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдкреА рд╣реИ? рдореИрдВ рдЕрдкрдиреА рдХрдВрдкрдиреА рдХреЛ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдФрд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдкрд░ рдмреЗрдЪрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╣реВрдВ, рдФрд░ рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рд▓рд╛рдн рдХрд░реНрд╖рдг рд╣реИ, рдореЗрд░реЗ рдкрд╛рд╕ рд╕реНрдЯреЛрд░реАрдмреБрдХ + рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рдПрдХ рд╕рд╛рде рдЦреЗрд▓рдиреЗ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдЙрд╕ рдХрд╣рд╛рдиреА рдХреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдЪреНрдЫрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП "рдХрд╛рдо рдХрд╛ рд╕рдордп" рд╣реЛрдЧрд╛ред

@DesignByOnyx рдиреЗ рдЬреЛ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ рд╡рд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдкрдХреЛ рдЙрд╕ рдХрд┐рдЯ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХреЛрдВ рдХреЛ _start_ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рд▓рд┐рдП "рд╕рд╛рдорд╛рдиреНрдп" рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрджрд┐ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдПрдХ рдкреИрдХреЗрдЬ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ "рд╕рд╛рдорд╛рдиреНрдп" рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╕реНрдЯрд╛рд░реНрдЯрд░ рдХрд┐рдЯ рдХреЗ рдКрдкрд░ рд╕реНрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХреЛрдВ рдХреЗ рдореМрдЬреВрджрд╛ рд╕реЗрдЯ рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдорд╣рд╛рди рд╕рд╛рд░рд╛рдВрд╢ @alexlafroscia рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдмрд╣реБрдд рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рдЬрдм рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХрд╛ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рд╣реЛрддрд╛ рд╣реИ рддреЛ рдХреНрдпрд╛ рдПрдЪрдПрдордЖрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд┐рдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рдХреЛрдИ рд╡рд┐рдЪрд╛рд░ рдХреНрдпреЛрдВ рдирд╣реАрдВ?

@ рдЗрдЧреЛрд░-рдбреАрд╡реА рдХреНрдпрд╛ рдкреНрд░реАрд╕реЗрдЯ рдореЗрдВ preview-head.html рдореЗрдВ рдЬреЛрдбрд╝рдирд╛ рд╕рдВрднрд╡ рд╣реИ?

@Hypnosphi рд╢рд╛рдпрдж рдпрд╣ рдЖрдкрдХреЗ рдмрд╣реБ-рдврд╛рдВрдЪреЗ рдХреЗ рдкреНрд░рдпрд╛рд╕реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рджрд┐рд▓рдЪрд╕реНрдк рдЙрджрд╛рд╣рд░рдг рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдХреЛрдИ рдбреЗрдХреЛрд░реЗрдЯрд░ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ (рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░) рд▓реЗрдХрд┐рди рдПрдХ рд╕рдВрдкреВрд░реНрдг рдХрдВрдкрд╛рдЗрд▓рд░ рдХреА рдЬрд░реВрд░рдд рд╣реИред

@alexlafroscia рдЖрдкрдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд╣рд╛рдиреА рдХрд╛ рдЙрджрд╛рд╣рд░рдг рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ?

рдЬрд┐рд╕ рдХрдВрдкрдиреА рдореЗрдВ рдореИрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реВрдВ, рд╣рдо рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП Storybook HTML рдФрд░ StencilJS рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдЦреЗрд▓ рд░рд╣реЗ рд╣реИрдВред рдореБрдЭреЗ рдпреЛрдЧрджрд╛рди рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреА!

@alexlafroscia рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рд╡рд┐рдЪрд╛рд░, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд╕рдорд░реНрдерди рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдпрд╣рд╛рдБ рдХреБрдЫ рдЕрдиреНрдп рд╡рд┐рдЪрд╛рд░ рд╣реИрдВ:

  • рдХрд╣рд╛рдирд┐рдпреЛрдВ рдХреЛ рдЕрдзрд┐рдХ рд░рдЦрд░рдЦрд╛рд╡ рдпреЛрдЧреНрдп рддрд░реАрдХреЗ рд╕реЗ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП StencilJS JSX рдХреНрд╖рдорддрд╛рдУрдВ (рдлрд┐рд▓рд╣рд╛рд▓ Preact рдкрд░ рдЖрдзрд╛рд░рд┐рдд) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд╕рд╛рджреЗ рдкреБрд░рд╛рдиреЗ рдЬреЗрдПрд╕ рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЕрдХреНрд╖рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЛрдЭрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ ...
  • рд╡реЗрдм рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рд╕реНрдорд╛рд░реНрдЯ рдиреЙрдмреНрд╕ рдПрдбрдСрди рд░рдЦреЗрдВ ред @DesignByOnyx рдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рдЖрдзрд╛рд░ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ред

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╕реНрдЯреИрдВрд╕рд┐рд▓рдЬреЗрдПрд╕ рдореЗрдВ рдЪрд▓ рд░рд╣реЗ рд░реЛрдбрдореИрдк рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдВрдХрд▓рдХ рдПрдкреАрдЖрдИ

рдПрдХ рдЕрдиреНрдп рдХреНрд╖реЗрддреНрд░ рдЬрд┐рд╕ рдкрд░ рд╣рдо рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рд╡рд╣ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХрдВрдкрд╛рдЗрд▓рд░ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рднреАрддрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЕрдиреНрдп рдЯреВрд▓реНрд╕ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рд╢рд╛рдирджрд╛рд░ рдЯреАрдореЛрдВ рдЬреИрд╕реЗ рдХрд┐ 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 рдШрдЯрдХ рд▓реЗ рд╕рдХрддрд╛ рд╣реИред

Screen Shot 2019-09-18 at 11 35 40 AM

рдкреНрд░реЙрдкреНрд╕ рдЯреЗрдмрд▓ рд╕рд╣реА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ; рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдЖрдЙрдЯрдкреБрдЯ рд╡реЗ рд╕рднреА рдкреНрд░реЙрдкреНрд╕ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХреА рддрд╛рд▓рд┐рдХрд╛ рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддреА рд╣реИ, рдФрд░ рдлрд┐рд░ рдХреБрдЫред рдШрдЯрдХ рдХреЗ рд▓рд┐рдП 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 (рдХреЗрд╡рд▓ рд╕реНрд▓реЙрдЯ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп) рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ред

Screen Shot 2019-09-18 at 12 27 33 PM


рдХрд╕реНрдЯрдо рдбреЙрдХреНрд╕рдкреЗрдЬ рдХреЗ рд▓рд┐рдП рдХреЛрдб

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 рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд░реАрдХреНрд╖рдг рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдореИрдВ "рд▓рд╛рдЗрд╡" рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реВрдВ:

  1. рдПрдХ рд╡рд┐рдВрдбреЛ рдореЗрдВ start-storybook -s ./www рдЪрд▓рд╛рдПрдБред
  2. рджреВрд╕рд░реЗ рдореЗрдВ stencil build --dev --watch рдЪрд▓рд╛рдПрдБред
  3. HMR рдкрд░ рд╡рд┐рдВрдбреЛ рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП .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" рд╡реИрдз рдирд┐рд░реНрдпрд╛рдд рдирд╣реАрдВ рд╣реИ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдЫреАрди рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

https://github.com/ionic-team/stencil/blob/master/src/compiler/transformers/validate-types-transform.ts

рдХреНрдпрд╛ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдФрд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди/рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИ рдЬреЛ рдЖрдИрдИ 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/blob/master/src/compiler/transformers/validate-types-transform.ts

рдпрд╣ рдЬрд╛рдирдиреЗ рдХреЗ рдмрд╛рдж, рдореЗрд░рд╛ рдЕрдЧрд▓рд╛ рдкрд░реАрдХреНрд╖рдг рд░рд┐рдПрдХреНрдЯ рдмрд╛рдЗрдВрдбрд┐рдВрдЧ (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 рдЯреИрдЧ рдорд┐рд▓рд╛, рд▓реЗрдХрд┐рди рдЕрднреА-рдЕрднреА рд░рд┐рд▓реАрдЬрд╝ рдФрд░ рдПрдХ рдмрдЧ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред

@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 рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдКрдкрд░ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдЙрдЪрд┐рдд рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЗрд╕ рдзрд╛рдЧреЗ рдкрд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ!

@ рдПрдб-рд╕реНрдЯреНрд░рд┐рдХрд▓реИрдВрдб рдпрд╣ рдПрдХ рд╢рд╛рдирджрд╛рд░ рд╢реБрд░реБрдЖрдд рд╣реИ! рдЕрдЧрд░ рдореИрдВ рд╕реБрдЭрд╛рд╡ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдЖрд╕рд╛рди рдмреВрдЯрдЕрдк рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдЯрд╛рд░реНрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдореИрдВрдиреЗ "start": "npm-run-all -p stencil:start storybook" рдФрд░ рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдХреЛрдИ рд╣реЙрдЯ рд░реАрд▓реЛрдбрд┐рдВрдЧ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рдордп рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЛ рдкрд╣рдЪрд╛рди рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

...рд╡рд╣ рддрдм рддрдХ рд╣реИ рдЬрдм рддрдХ рдореБрдЭреЗ рдХреБрдЫ рдпрд╛рдж рдирд╣реАрдВ рдЖ рд░рд╣рд╛ рд╣реИ?

рд╣рдореНрдо рдорд╛рдлреА рдкрд┐рдЫрд▓реЗ рд╕рдкреНрддрд╛рд╣ рдХреЗ рдЕрдВрдд рдореЗрдВ рд╡реНрдпрд╕реНрдд рдФрд░ рд╕рдореНрдореЗрд▓рдиреЛрдВ рдореЗрдВ рдереАред

рдореИрдВ рдЖрдкрдХреЗ рдкрд╛рд╕ рдореМрдЬреВрдж рд╕рдорд╕реНрдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЙрд▓рдЭрди рдореЗрдВ рд╣реВрдВ, рдХреНрдпрд╛ рдЖрдк рдЗрд╕реЗ рдЗрд╕ рдзрд╛рдЧреЗ рдХреЗ рдмрдЬрд╛рдп рд░реЗрдкреЛ рдореБрджреНрджреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдЙрдард╛ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрджрд┐ рдЖрдк рдПрдХ рдЗрдВрд╕реНрдЯрд╛рд▓ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд┐рд░ рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХрдорд╛рдВрдб рдЪрд▓рд╛рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рд╡реЙрдЪ рд╕рд░реНрд╡рд░ рдХреЛ рдЙрд╕реА рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд▓реЙрдиреНрдЪ рдХрд░реЗрдЧрд╛ред рдЬрдм рднреА рдЖрдк рдХрд┐рд╕реА рдШрдЯрдХ рдХреЛ рдмрджрд▓рддреЗ рдпрд╛ рдЬреЛрдбрд╝рддреЗ рдпрд╛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдСрдЯреЛ рдПрдЪрдПрдордЖрд░ рд╣реЛрдЧрд╛ред

@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 рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХреА рдЧрдИ рд╕рд╛рдордЧреНрд░реА рдХреЗ рдКрдкрд░ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рдЙрдЪрд┐рдд рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╕рдорд░реНрдерди рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЗрд╕ рдзрд╛рдЧреЗ рдкрд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ!

рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рд╡реЗрдм рдШрдЯрдХ рд╡реЗрдирд┐рд▓рд╛ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдореИрдВрдиреЗ рдЙрдирдХреЗ рдмреАрдЪ рдХреЗ рдЕрдВрддрд░реЛрдВ рдХреА рддреБрд▓рдирд╛ рдирд╣реАрдВ рдХреА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рд╡реЗрдм рдШрдЯрдХреЛрдВ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдбрдмреНрд▓реНрдпреВ/рд╕реА рд╣реЛрдиреЗ рдХреЗ рдмрдЬрд╛рдп рдбрдмреНрд▓реНрдпреВ/рд╕реА рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдиреБрдкрд╛рд▓рди рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИред

рддреЛ рдпрдХреАрдирди рджреЛрдиреЛрдВ рдХреА рдЬрд░реВрд░рдд рд╣реИред рдПрдХ рджреЗрд╢реА рдЬреЗрдПрд╕ рдбрдмреНрд▓реНрдпреВ/рд╕реА рдФрд░ рдПрдХ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд▓рд┐рдП рдпрджрд┐ рдЖрдк рд╕реНрдЯреЛрд░реАрдмреБрдХ рдХреЗ рдкрдХреНрд╖ рдореЗрдВ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдЖрдзрд╛рд░рд┐рдд рдбрдмреНрд▓реНрдпреВ/рд╕реА рдХреЛ рддреЗрдЬреА рд╕реЗ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдпрд╛ рдХреЛрдгреАрдп рдШрдЯрдХ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВред

рдореЗрд░реЗ рдкрд╛рд╕ рдЗрд╕ рдмрд╛рдд рдкрд░ рдЪрд░реНрдЪрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП @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 рд╣рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╣, рдпрд╣ рдмрд╣реБрдд рдмрдврд╝рд┐рдпрд╛ рд╣реЛрдЧрд╛!

@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

рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рд╕реЛрдЪрд╛ рдХрд┐ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдХреЛ рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ рд╢рд╛рдорд┐рд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдпрд╣ рдмрд┐рдирд╛ рдХреБрдЫ рдЬреЛрдбрд╝реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдореЗрд░реЗ рд╕рд╛рде рдмрд┐рд▓реНрдХреБрд▓ рдареАрдХ рд╣реИред

рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВ, рдХреНрдпрд╛ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЕрдм рдмрдВрдж рд╣реЛ рд╕рдХрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдкреВрд░реНрд╡реЛрдХреНрдд рд╡реЗрдм-рдШрдЯрдХреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ?

рдЬреНрдпрд╛рджрд╛ рдЕрдиреБрдХреВрд▓рди рдирд╣реАрдВред рд╡реЗрдмрдкреИрдХ рдореЗрдВ рдХреБрдЫ рдЪреАрдЬреЗрдВ рдЬреЛрдбрд╝реА рдЧрдИрдВред рдкрд╣рд▓реА рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ 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 рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рд▓рд┐рдЯ-рдШрдЯрдХ рдХрд╛ рдЪрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╡рд░рдг рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ

  • рд╕рдВрдкрддреНрддрд┐ рд╢реАрд░реНрд╖рдХ рдЬреИрд╕реЗ рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ($0.рд╢реАрд░реНрд╖рдХ) // рдХреБрдЫ рд╢реАрд░реНрд╖рдХ
  • рд╡рд┐рд╢реЗрд╖рддрд╛ рд╢рдХреНрддрд┐ рдЬреИрд╕реЗ рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ($0.getAttribute('power')) // рдЕрд╕реАрдорд┐рдд

рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдпрд╣ "рд╡рд╣реА" рд╣реЛрдЧрд╛

  • рд╕рдВрдкрддреНрддрд┐ рдбреЗрдЯрд╛ рдЬреИрд╕реЗ рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ($0.рдбреЗрдЯрд╛) // [{рдирд╛рдо: 'рдЬреЙрди', рдЙрдореНрд░: 21}, {рдирд╛рдо: 'рдорд╛рд░рд┐рдпрд╛', рдЙрдореНрд░: 28}];
  • рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕реБрдкрд░-рдореЛрдб рдЬреИрд╕реЗ рдХрдВрд╕реЛрд▓.рд▓реЙрдЧ($0.hasAttribute('super-mode')) // рд╕рдЪ

рд▓рд┐рдЯ-рдПрдЪрдЯреАрдПрдордПрд▓ рдХреЗрд╡рд▓ рдбреЛрдо рдХреЛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ ... рдбреЛрдо рддрддреНрд╡ рдХрд╣рд╛рдВ/рдХреИрд╕реЗ рдкрдВрдЬреАрдХреГрдд рд╣реИрдВ рд▓рд┐рдЯ-рдПрдЪрдЯреАрдПрдордПрд▓ рдХреЛ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ/рдкрд░рд╡рд╛рд╣ рдирд╣реАрдВ рд╣реИ - рдЗрд╕рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реА рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд╡рд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ ... рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЗ рдкрд╛рд╕ рдШрдЯрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рд▓рд┐рдЯ-рдПрд▓рд┐рдореЗрдВрдЯ, рд╕реНрдЯреИрдВрд╕рд┐рд▓, рд╡реЗрдирд┐рд▓рд╛ 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 рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЪреАрдЬреЗрдВ рд╣реИрдВ:

  1. рдкреНрд░реЙрдХреНрд╕реА https://github.com/dutscher/stencil-storybook/blob/master/scripts/proxy.js
  2. main.js https://github.com/dutscher/stencil-storybook/blob/master/.storybook/main.js#L30 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдЯреИрдВрд╕рд┐рд▓ рдЙрддреНрдкрд╛рджрди рдЗрдВрдЬреЗрдХреНрд╢рди
  3. рдФрд░ рджреЗрд╡ рдФрд░ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдФрд░ рдиреНрдпреВрдирддрдо рдПрдирдкреАрдПрдо рд╕реНрдХреНрд░рд┐рдкреНрдЯ https://github.com/dutscher/stencil-storybook/blob/master/package.json

рдЪрд┐рдпрд░реНрд╕

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

tirli picture tirli  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

zvictor picture zvictor  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

purplecones picture purplecones  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

tlrobinson picture tlrobinson  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

wahengchang picture wahengchang  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ