@anker-in/headless-ui 1.1.9-alpha.1764130591163 → 1.1.9-alpha.1764141671439

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (597) hide show
  1. package/dist/cjs/biz-components/AccordionCards/index.d.ts +2 -2
  2. package/dist/cjs/biz-components/AplusDesc/index.d.ts +3 -2
  3. package/dist/cjs/biz-components/BrandEquity/BrandEquity.d.ts +3 -2
  4. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js +1 -1
  5. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js.map +3 -3
  6. package/dist/cjs/biz-components/BrandEquity/types.d.ts +0 -1
  7. package/dist/cjs/biz-components/BrandEquity/types.js +1 -1
  8. package/dist/cjs/biz-components/BrandEquity/types.js.map +1 -1
  9. package/dist/cjs/biz-components/Category/index.d.ts +2 -2
  10. package/dist/cjs/biz-components/CreativeModule/index.d.ts +3 -2
  11. package/dist/cjs/biz-components/DownLoad/index.d.ts +3 -2
  12. package/dist/cjs/biz-components/Evaluate/index.d.ts +2 -2
  13. package/dist/cjs/biz-components/Faq/Faq.d.ts +2 -2
  14. package/dist/cjs/biz-components/Faq/Faq.js.map +2 -2
  15. package/dist/cjs/biz-components/FeatureCards/FeatureCards.d.ts +7 -0
  16. package/dist/cjs/biz-components/FeatureCards/FeatureCards.js +2 -0
  17. package/dist/cjs/biz-components/FeatureCards/FeatureCards.js.map +7 -0
  18. package/dist/cjs/biz-components/FeatureCards/index.d.ts +2 -0
  19. package/dist/cjs/biz-components/FeatureCards/index.js +2 -0
  20. package/dist/cjs/biz-components/FeatureCards/index.js.map +7 -0
  21. package/dist/cjs/biz-components/FeatureCards/types.d.ts +27 -0
  22. package/dist/cjs/biz-components/FeatureCards/types.js +2 -0
  23. package/dist/cjs/biz-components/FeatureCards/types.js.map +7 -0
  24. package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.d.ts +7 -0
  25. package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.js +2 -0
  26. package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.js.map +7 -0
  27. package/dist/cjs/biz-components/FeatureShowcase/index.d.ts +2 -0
  28. package/dist/cjs/biz-components/FeatureShowcase/index.js +2 -0
  29. package/dist/cjs/biz-components/FeatureShowcase/index.js.map +7 -0
  30. package/dist/cjs/biz-components/FeatureShowcase/types.d.ts +23 -0
  31. package/dist/cjs/biz-components/FeatureShowcase/types.js +2 -0
  32. package/dist/cjs/biz-components/FeatureShowcase/types.js.map +7 -0
  33. package/dist/cjs/biz-components/Features/index.d.ts +3 -2
  34. package/dist/cjs/biz-components/FootCharger/index.d.ts +3 -2
  35. package/dist/cjs/biz-components/FooterNavigation/index.d.ts +3 -2
  36. package/dist/cjs/biz-components/GiftBox/index.d.ts +3 -2
  37. package/dist/cjs/biz-components/Graphic/index.d.ts +2 -2
  38. package/dist/cjs/biz-components/GraphicAttractionBlock/index.d.ts +2 -2
  39. package/dist/cjs/biz-components/GraphicMore/index.d.ts +3 -2
  40. package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.d.ts +2 -2
  41. package/dist/cjs/biz-components/HeaderNavigation/index.d.ts +2 -2
  42. package/dist/cjs/biz-components/HeaderNavigation/index.js.map +2 -2
  43. package/dist/cjs/biz-components/HeroBanner/HeroBanner.d.ts +2 -2
  44. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js +1 -1
  45. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  46. package/dist/cjs/biz-components/HeroBanner/types.d.ts +2 -0
  47. package/dist/cjs/biz-components/HeroBanner/types.js +1 -1
  48. package/dist/cjs/biz-components/HeroBanner/types.js.map +1 -1
  49. package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.d.ts +7 -0
  50. package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.js +2 -0
  51. package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.js.map +7 -0
  52. package/dist/cjs/biz-components/ImageTextFeature/index.d.ts +2 -0
  53. package/dist/cjs/biz-components/ImageTextFeature/index.js +2 -0
  54. package/dist/cjs/biz-components/ImageTextFeature/index.js.map +7 -0
  55. package/dist/cjs/biz-components/ImageTextFeature/types.d.ts +31 -0
  56. package/dist/cjs/biz-components/ImageTextFeature/types.js +2 -0
  57. package/dist/cjs/biz-components/ImageTextFeature/types.js.map +7 -0
  58. package/dist/cjs/biz-components/ImageWithText/ImageWithText.d.ts +7 -0
  59. package/dist/cjs/biz-components/ImageWithText/ImageWithText.js +2 -0
  60. package/dist/cjs/biz-components/ImageWithText/ImageWithText.js.map +7 -0
  61. package/dist/cjs/biz-components/ImageWithText/index.d.ts +3 -0
  62. package/dist/cjs/biz-components/ImageWithText/index.js +2 -0
  63. package/dist/cjs/biz-components/ImageWithText/index.js.map +7 -0
  64. package/dist/cjs/biz-components/ImageWithText/types.d.ts +110 -0
  65. package/dist/cjs/biz-components/ImageWithText/types.js +2 -0
  66. package/dist/cjs/biz-components/ImageWithText/types.js.map +7 -0
  67. package/dist/cjs/biz-components/InlineVideo/index.d.ts +16 -0
  68. package/dist/cjs/biz-components/InlineVideo/index.js +2 -0
  69. package/dist/cjs/biz-components/InlineVideo/index.js.map +7 -0
  70. package/dist/cjs/biz-components/Ksp/index.d.ts +44 -0
  71. package/dist/cjs/biz-components/Ksp/index.js +2 -0
  72. package/dist/cjs/biz-components/Ksp/index.js.map +7 -0
  73. package/dist/cjs/biz-components/Listing/BizProductProvider.d.ts +1 -1
  74. package/dist/cjs/biz-components/Listing/components/PaidShipping/index.d.ts +19 -6
  75. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +2 -2
  76. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +3 -2
  77. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +3 -2
  78. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +3 -2
  79. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +3 -2
  80. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +3 -2
  81. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +3 -2
  82. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +3 -2
  83. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.d.ts +1 -0
  84. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.d.ts +3 -2
  85. package/dist/cjs/biz-components/Marquee/Marquee.d.ts +2 -2
  86. package/dist/cjs/biz-components/MarqueeReview/index.d.ts +42 -0
  87. package/dist/cjs/biz-components/MarqueeReview/index.js +2 -0
  88. package/dist/cjs/biz-components/MarqueeReview/index.js.map +7 -0
  89. package/dist/cjs/biz-components/MediaPlayerBase/index.backup.d.ts +7 -0
  90. package/dist/cjs/biz-components/MediaPlayerBase/index.backup.js +2 -0
  91. package/dist/cjs/biz-components/MediaPlayerBase/index.backup.js.map +7 -0
  92. package/dist/cjs/biz-components/MediaPlayerBase/index.d.ts +3 -2
  93. package/dist/cjs/biz-components/MediaPlayerBase/index.js +1 -1
  94. package/dist/cjs/biz-components/MediaPlayerBase/index.js.map +3 -3
  95. package/dist/cjs/biz-components/MediaPlayerMulti/index.d.ts +3 -2
  96. package/dist/cjs/biz-components/MediaPlayerSticky/index.d.ts +2 -2
  97. package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +8 -0
  98. package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js +11 -0
  99. package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js.map +7 -0
  100. package/dist/cjs/biz-components/MediaSceneSwitcher/index.d.ts +2 -0
  101. package/dist/cjs/biz-components/MediaSceneSwitcher/index.js +2 -0
  102. package/dist/cjs/biz-components/MediaSceneSwitcher/index.js.map +7 -0
  103. package/dist/cjs/biz-components/MediaSceneSwitcher/types.d.ts +19 -0
  104. package/dist/cjs/biz-components/MediaSceneSwitcher/types.js +2 -0
  105. package/dist/cjs/biz-components/MediaSceneSwitcher/types.js.map +7 -0
  106. package/dist/cjs/biz-components/MemberEquity/index.d.ts +2 -2
  107. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +2 -2
  108. package/dist/cjs/biz-components/NavigationSearch/index.d.ts +1 -0
  109. package/dist/cjs/biz-components/ProductCompare/index.d.ts +54 -0
  110. package/dist/cjs/biz-components/ProductCompare/index.js +2 -0
  111. package/dist/cjs/biz-components/ProductCompare/index.js.map +7 -0
  112. package/dist/cjs/biz-components/ProductHero/ProductHero.d.ts +7 -0
  113. package/dist/cjs/biz-components/ProductHero/ProductHero.js +2 -0
  114. package/dist/cjs/biz-components/ProductHero/ProductHero.js.map +7 -0
  115. package/dist/cjs/biz-components/ProductHero/index.d.ts +2 -0
  116. package/dist/cjs/biz-components/ProductHero/index.js +2 -0
  117. package/dist/cjs/biz-components/ProductHero/index.js.map +7 -0
  118. package/dist/cjs/biz-components/ProductHero/types.d.ts +23 -0
  119. package/dist/cjs/biz-components/ProductHero/types.js +2 -0
  120. package/dist/cjs/biz-components/ProductHero/types.js.map +7 -0
  121. package/dist/cjs/biz-components/ProductNav/ProductNav.d.ts +7 -0
  122. package/dist/cjs/biz-components/ProductNav/ProductNav.js +2 -0
  123. package/dist/cjs/biz-components/ProductNav/ProductNav.js.map +7 -0
  124. package/dist/cjs/biz-components/ProductNav/index.d.ts +2 -0
  125. package/dist/cjs/biz-components/ProductNav/index.js +2 -0
  126. package/dist/cjs/biz-components/ProductNav/index.js.map +7 -0
  127. package/dist/cjs/biz-components/ProductNav/types.d.ts +35 -0
  128. package/dist/cjs/biz-components/ProductNav/types.js +2 -0
  129. package/dist/cjs/biz-components/ProductNav/types.js.map +7 -0
  130. package/dist/cjs/biz-components/SelectStore/index.d.ts +3 -2
  131. package/dist/cjs/biz-components/ShelfDisplay/index.d.ts +2 -2
  132. package/dist/cjs/biz-components/Slogan/index.d.ts +2 -2
  133. package/dist/cjs/biz-components/Spacer/index.d.ts +2 -2
  134. package/dist/cjs/biz-components/Spacer/index.js +1 -1
  135. package/dist/cjs/biz-components/Spacer/index.js.map +2 -2
  136. package/dist/cjs/biz-components/Specs/index.d.ts +2 -2
  137. package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.d.ts +7 -0
  138. package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.js +2 -0
  139. package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.js.map +7 -0
  140. package/dist/cjs/biz-components/SpecsComparison/index.d.ts +2 -0
  141. package/dist/cjs/biz-components/SpecsComparison/index.js +2 -0
  142. package/dist/cjs/biz-components/SpecsComparison/index.js.map +7 -0
  143. package/dist/cjs/biz-components/SpecsComparison/types.d.ts +34 -0
  144. package/dist/cjs/biz-components/SpecsComparison/types.js +2 -0
  145. package/dist/cjs/biz-components/SpecsComparison/types.js.map +7 -0
  146. package/dist/cjs/biz-components/TabWithImage/TabWithImage.d.ts +7 -0
  147. package/dist/cjs/biz-components/TabWithImage/TabWithImage.js +2 -0
  148. package/dist/cjs/biz-components/TabWithImage/TabWithImage.js.map +7 -0
  149. package/dist/cjs/biz-components/TabWithImage/index.d.ts +2 -0
  150. package/dist/cjs/biz-components/TabWithImage/index.js +2 -0
  151. package/dist/cjs/biz-components/TabWithImage/index.js.map +7 -0
  152. package/dist/cjs/biz-components/TabWithImage/types.d.ts +29 -0
  153. package/dist/cjs/biz-components/TabWithImage/types.js +2 -0
  154. package/dist/cjs/biz-components/TabWithImage/types.js.map +7 -0
  155. package/dist/cjs/biz-components/Tabs/Tabs.d.ts +2 -2
  156. package/dist/cjs/biz-components/Tabs/Tabs.js +1 -1
  157. package/dist/cjs/biz-components/Tabs/Tabs.js.map +1 -1
  158. package/dist/cjs/biz-components/Tabs/types.d.ts +11 -0
  159. package/dist/cjs/biz-components/Tabs/types.js +1 -1
  160. package/dist/cjs/biz-components/Tabs/types.js.map +1 -1
  161. package/dist/cjs/biz-components/TabsGroup/index.d.ts +2 -2
  162. package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.d.ts +7 -0
  163. package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.js +2 -0
  164. package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.js.map +7 -0
  165. package/dist/cjs/biz-components/TabsWithMedia/index.d.ts +2 -0
  166. package/dist/cjs/biz-components/TabsWithMedia/index.js +2 -0
  167. package/dist/cjs/biz-components/TabsWithMedia/index.js.map +7 -0
  168. package/dist/cjs/biz-components/TabsWithMedia/types.d.ts +43 -0
  169. package/dist/cjs/biz-components/TabsWithMedia/types.js +2 -0
  170. package/dist/cjs/biz-components/TabsWithMedia/types.js.map +7 -0
  171. package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +11 -0
  172. package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.js +2 -0
  173. package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.js.map +7 -0
  174. package/dist/cjs/biz-components/ThreeDCarousel/index.d.ts +2 -0
  175. package/dist/cjs/biz-components/ThreeDCarousel/index.js +2 -0
  176. package/dist/cjs/biz-components/ThreeDCarousel/index.js.map +7 -0
  177. package/dist/cjs/biz-components/ThreeDCarousel/types.d.ts +26 -0
  178. package/dist/cjs/biz-components/ThreeDCarousel/types.js +2 -0
  179. package/dist/cjs/biz-components/ThreeDCarousel/types.js.map +7 -0
  180. package/dist/cjs/biz-components/Title/index.d.ts +2 -2
  181. package/dist/cjs/biz-components/Title/types.js +1 -1
  182. package/dist/cjs/biz-components/Title/types.js.map +1 -1
  183. package/dist/cjs/biz-components/VideoFeature/VideoFeature.d.ts +7 -0
  184. package/dist/cjs/biz-components/VideoFeature/VideoFeature.js +2 -0
  185. package/dist/cjs/biz-components/VideoFeature/VideoFeature.js.map +7 -0
  186. package/dist/cjs/biz-components/VideoFeature/index.d.ts +2 -0
  187. package/dist/cjs/biz-components/VideoFeature/index.js +2 -0
  188. package/dist/cjs/biz-components/VideoFeature/index.js.map +7 -0
  189. package/dist/cjs/biz-components/VideoFeature/types.d.ts +19 -0
  190. package/dist/cjs/biz-components/VideoFeature/types.js +2 -0
  191. package/dist/cjs/biz-components/VideoFeature/types.js.map +7 -0
  192. package/dist/cjs/biz-components/WhyChoose/WhyChoose.d.ts +2 -2
  193. package/dist/cjs/biz-components/index.d.ts +33 -0
  194. package/dist/cjs/biz-components/index.js +1 -1
  195. package/dist/cjs/biz-components/index.js.map +3 -3
  196. package/dist/cjs/components/alert.d.ts +2 -2
  197. package/dist/cjs/components/avatar.d.ts +8 -8
  198. package/dist/cjs/components/container.d.ts +7 -7
  199. package/dist/cjs/components/container.js +1 -1
  200. package/dist/cjs/components/container.js.map +2 -2
  201. package/dist/cjs/components/dialog.d.ts +1 -1
  202. package/dist/cjs/components/drop-down.d.ts +3 -3
  203. package/dist/cjs/components/heading.d.ts +1 -0
  204. package/dist/cjs/components/heading.js +1 -1
  205. package/dist/cjs/components/heading.js.map +3 -3
  206. package/dist/cjs/components/input-number.d.ts +15 -15
  207. package/dist/cjs/components/link.d.ts +6 -6
  208. package/dist/cjs/components/tabs.d.ts +2 -2
  209. package/dist/cjs/components/tabs.js +1 -1
  210. package/dist/cjs/components/tabs.js.map +2 -2
  211. package/dist/cjs/cpn-components/CpnNavigation/index.js +1 -1
  212. package/dist/cjs/cpn-components/CpnNavigation/index.js.map +3 -3
  213. package/dist/cjs/helpers/ScrollLoadVideo.js.map +2 -2
  214. package/dist/cjs/shared/ErrorBoundary.d.ts +18 -0
  215. package/dist/cjs/shared/ErrorBoundary.js +2 -0
  216. package/dist/cjs/shared/ErrorBoundary.js.map +7 -0
  217. package/dist/cjs/shared/Styles.d.ts +2 -2
  218. package/dist/cjs/shared/Styles.js +1 -1
  219. package/dist/cjs/shared/Styles.js.map +3 -3
  220. package/dist/cjs/stories/InlineVideo.stories.js +164 -0
  221. package/dist/cjs/stories/InlineVideo.stories.js.map +7 -0
  222. package/dist/cjs/stories/MarqueeReview.stories.js +19 -0
  223. package/dist/cjs/stories/MarqueeReview.stories.js.map +7 -0
  224. package/dist/cjs/stories/MediaSceneSwitcher.stories.js +2 -0
  225. package/dist/cjs/stories/MediaSceneSwitcher.stories.js.map +7 -0
  226. package/dist/cjs/stories/ProductNav.stories.js +2 -0
  227. package/dist/cjs/stories/ProductNav.stories.js.map +7 -0
  228. package/dist/cjs/stories/ThreeDCarousel.stories.js +118 -0
  229. package/dist/cjs/stories/ThreeDCarousel.stories.js.map +7 -0
  230. package/dist/cjs/stories/featureCards.stories.js +61 -0
  231. package/dist/cjs/stories/featureCards.stories.js.map +7 -0
  232. package/dist/cjs/stories/featureShowcase.stories.js +44 -0
  233. package/dist/cjs/stories/featureShowcase.stories.js.map +7 -0
  234. package/dist/cjs/stories/imageTextFeature.stories.js +50 -0
  235. package/dist/cjs/stories/imageTextFeature.stories.js.map +7 -0
  236. package/dist/cjs/stories/imageWithText.stories.js +84 -0
  237. package/dist/cjs/stories/imageWithText.stories.js.map +7 -0
  238. package/dist/cjs/stories/ksp.stories.js +128 -0
  239. package/dist/cjs/stories/ksp.stories.js.map +7 -0
  240. package/dist/cjs/stories/productCompare.stories.js +54 -0
  241. package/dist/cjs/stories/productCompare.stories.js.map +7 -0
  242. package/dist/cjs/stories/productHero.stories.js +50 -0
  243. package/dist/cjs/stories/productHero.stories.js.map +7 -0
  244. package/dist/cjs/stories/specsComparison.stories.js +105 -0
  245. package/dist/cjs/stories/specsComparison.stories.js.map +7 -0
  246. package/dist/cjs/stories/tabWithImage.stories.js +53 -0
  247. package/dist/cjs/stories/tabWithImage.stories.js.map +7 -0
  248. package/dist/cjs/stories/tabsWithMedia.stories.js +68 -0
  249. package/dist/cjs/stories/tabsWithMedia.stories.js.map +7 -0
  250. package/dist/cjs/stories/videoFeature.stories.js +56 -0
  251. package/dist/cjs/stories/videoFeature.stories.js.map +7 -0
  252. package/dist/cjs/types/props.d.ts +9 -2
  253. package/dist/cjs/types/props.js +1 -1
  254. package/dist/cjs/types/props.js.map +1 -1
  255. package/dist/esm/biz-components/AccordionCards/index.d.ts +2 -2
  256. package/dist/esm/biz-components/AplusDesc/index.d.ts +3 -2
  257. package/dist/esm/biz-components/BrandEquity/BrandEquity.d.ts +3 -2
  258. package/dist/esm/biz-components/BrandEquity/BrandEquity.js +1 -1
  259. package/dist/esm/biz-components/BrandEquity/BrandEquity.js.map +3 -3
  260. package/dist/esm/biz-components/BrandEquity/types.d.ts +0 -1
  261. package/dist/esm/biz-components/Category/index.d.ts +2 -2
  262. package/dist/esm/biz-components/CreativeModule/index.d.ts +3 -2
  263. package/dist/esm/biz-components/DownLoad/index.d.ts +3 -2
  264. package/dist/esm/biz-components/Evaluate/index.d.ts +2 -2
  265. package/dist/esm/biz-components/Faq/Faq.d.ts +2 -2
  266. package/dist/esm/biz-components/Faq/Faq.js +1 -1
  267. package/dist/esm/biz-components/Faq/Faq.js.map +2 -2
  268. package/dist/esm/biz-components/FeatureCards/FeatureCards.d.ts +7 -0
  269. package/dist/esm/biz-components/FeatureCards/FeatureCards.js +2 -0
  270. package/dist/esm/biz-components/FeatureCards/FeatureCards.js.map +7 -0
  271. package/dist/esm/biz-components/FeatureCards/index.d.ts +2 -0
  272. package/dist/esm/biz-components/FeatureCards/index.js +2 -0
  273. package/dist/esm/biz-components/FeatureCards/index.js.map +7 -0
  274. package/dist/esm/biz-components/FeatureCards/types.d.ts +27 -0
  275. package/dist/esm/biz-components/FeatureCards/types.js +1 -0
  276. package/dist/esm/biz-components/FeatureCards/types.js.map +7 -0
  277. package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.d.ts +7 -0
  278. package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.js +2 -0
  279. package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.js.map +7 -0
  280. package/dist/esm/biz-components/FeatureShowcase/index.d.ts +2 -0
  281. package/dist/esm/biz-components/FeatureShowcase/index.js +2 -0
  282. package/dist/esm/biz-components/FeatureShowcase/index.js.map +7 -0
  283. package/dist/esm/biz-components/FeatureShowcase/types.d.ts +23 -0
  284. package/dist/esm/biz-components/FeatureShowcase/types.js +1 -0
  285. package/dist/esm/biz-components/FeatureShowcase/types.js.map +7 -0
  286. package/dist/esm/biz-components/Features/index.d.ts +3 -2
  287. package/dist/esm/biz-components/FootCharger/index.d.ts +3 -2
  288. package/dist/esm/biz-components/FooterNavigation/index.d.ts +3 -2
  289. package/dist/esm/biz-components/GiftBox/index.d.ts +3 -2
  290. package/dist/esm/biz-components/Graphic/index.d.ts +2 -2
  291. package/dist/esm/biz-components/GraphicAttractionBlock/index.d.ts +2 -2
  292. package/dist/esm/biz-components/GraphicMore/index.d.ts +3 -2
  293. package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.d.ts +2 -2
  294. package/dist/esm/biz-components/HeaderNavigation/index.d.ts +2 -2
  295. package/dist/esm/biz-components/HeaderNavigation/index.js.map +2 -2
  296. package/dist/esm/biz-components/HeroBanner/HeroBanner.d.ts +2 -2
  297. package/dist/esm/biz-components/HeroBanner/HeroBanner.js +1 -1
  298. package/dist/esm/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  299. package/dist/esm/biz-components/HeroBanner/types.d.ts +2 -0
  300. package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.d.ts +7 -0
  301. package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.js +2 -0
  302. package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.js.map +7 -0
  303. package/dist/esm/biz-components/ImageTextFeature/index.d.ts +2 -0
  304. package/dist/esm/biz-components/ImageTextFeature/index.js +2 -0
  305. package/dist/esm/biz-components/ImageTextFeature/index.js.map +7 -0
  306. package/dist/esm/biz-components/ImageTextFeature/types.d.ts +31 -0
  307. package/dist/esm/biz-components/ImageTextFeature/types.js +1 -0
  308. package/dist/esm/biz-components/ImageTextFeature/types.js.map +7 -0
  309. package/dist/esm/biz-components/ImageWithText/ImageWithText.d.ts +7 -0
  310. package/dist/esm/biz-components/ImageWithText/ImageWithText.js +2 -0
  311. package/dist/esm/biz-components/ImageWithText/ImageWithText.js.map +7 -0
  312. package/dist/esm/biz-components/ImageWithText/index.d.ts +3 -0
  313. package/dist/esm/biz-components/ImageWithText/index.js +2 -0
  314. package/dist/esm/biz-components/ImageWithText/index.js.map +7 -0
  315. package/dist/esm/biz-components/ImageWithText/types.d.ts +110 -0
  316. package/dist/esm/biz-components/ImageWithText/types.js +2 -0
  317. package/dist/esm/biz-components/ImageWithText/types.js.map +7 -0
  318. package/dist/esm/biz-components/InlineVideo/index.d.ts +16 -0
  319. package/dist/esm/biz-components/InlineVideo/index.js +2 -0
  320. package/dist/esm/biz-components/InlineVideo/index.js.map +7 -0
  321. package/dist/esm/biz-components/Ksp/index.d.ts +44 -0
  322. package/dist/esm/biz-components/Ksp/index.js +2 -0
  323. package/dist/esm/biz-components/Ksp/index.js.map +7 -0
  324. package/dist/esm/biz-components/Listing/BizProductProvider.d.ts +1 -1
  325. package/dist/esm/biz-components/Listing/components/PaidShipping/index.d.ts +19 -6
  326. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +2 -2
  327. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +3 -2
  328. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +3 -2
  329. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +3 -2
  330. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +3 -2
  331. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +3 -2
  332. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +3 -2
  333. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +3 -2
  334. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.d.ts +1 -0
  335. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.d.ts +3 -2
  336. package/dist/esm/biz-components/Marquee/Marquee.d.ts +2 -2
  337. package/dist/esm/biz-components/MarqueeReview/index.d.ts +42 -0
  338. package/dist/esm/biz-components/MarqueeReview/index.js +2 -0
  339. package/dist/esm/biz-components/MarqueeReview/index.js.map +7 -0
  340. package/dist/esm/biz-components/MediaPlayerBase/index.backup.d.ts +7 -0
  341. package/dist/esm/biz-components/MediaPlayerBase/index.backup.js +2 -0
  342. package/dist/esm/biz-components/MediaPlayerBase/index.backup.js.map +7 -0
  343. package/dist/esm/biz-components/MediaPlayerBase/index.d.ts +3 -2
  344. package/dist/esm/biz-components/MediaPlayerBase/index.js +1 -1
  345. package/dist/esm/biz-components/MediaPlayerBase/index.js.map +3 -3
  346. package/dist/esm/biz-components/MediaPlayerMulti/index.d.ts +3 -2
  347. package/dist/esm/biz-components/MediaPlayerSticky/index.d.ts +2 -2
  348. package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +8 -0
  349. package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js +11 -0
  350. package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.js.map +7 -0
  351. package/dist/esm/biz-components/MediaSceneSwitcher/index.d.ts +2 -0
  352. package/dist/esm/biz-components/MediaSceneSwitcher/index.js +2 -0
  353. package/dist/esm/biz-components/MediaSceneSwitcher/index.js.map +7 -0
  354. package/dist/esm/biz-components/MediaSceneSwitcher/types.d.ts +19 -0
  355. package/dist/esm/biz-components/MediaSceneSwitcher/types.js +1 -0
  356. package/dist/esm/biz-components/MediaSceneSwitcher/types.js.map +7 -0
  357. package/dist/esm/biz-components/MemberEquity/index.d.ts +2 -2
  358. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +2 -2
  359. package/dist/esm/biz-components/NavigationSearch/index.d.ts +1 -0
  360. package/dist/esm/biz-components/ProductCompare/index.d.ts +54 -0
  361. package/dist/esm/biz-components/ProductCompare/index.js +2 -0
  362. package/dist/esm/biz-components/ProductCompare/index.js.map +7 -0
  363. package/dist/esm/biz-components/ProductHero/ProductHero.d.ts +7 -0
  364. package/dist/esm/biz-components/ProductHero/ProductHero.js +2 -0
  365. package/dist/esm/biz-components/ProductHero/ProductHero.js.map +7 -0
  366. package/dist/esm/biz-components/ProductHero/index.d.ts +2 -0
  367. package/dist/esm/biz-components/ProductHero/index.js +2 -0
  368. package/dist/esm/biz-components/ProductHero/index.js.map +7 -0
  369. package/dist/esm/biz-components/ProductHero/types.d.ts +23 -0
  370. package/dist/esm/biz-components/ProductHero/types.js +1 -0
  371. package/dist/esm/biz-components/ProductHero/types.js.map +7 -0
  372. package/dist/esm/biz-components/ProductNav/ProductNav.d.ts +7 -0
  373. package/dist/esm/biz-components/ProductNav/ProductNav.js +2 -0
  374. package/dist/esm/biz-components/ProductNav/ProductNav.js.map +7 -0
  375. package/dist/esm/biz-components/ProductNav/index.d.ts +2 -0
  376. package/dist/esm/biz-components/ProductNav/index.js +2 -0
  377. package/dist/esm/biz-components/ProductNav/index.js.map +7 -0
  378. package/dist/esm/biz-components/ProductNav/types.d.ts +35 -0
  379. package/dist/esm/biz-components/ProductNav/types.js +1 -0
  380. package/dist/esm/biz-components/ProductNav/types.js.map +7 -0
  381. package/dist/esm/biz-components/SelectStore/index.d.ts +3 -2
  382. package/dist/esm/biz-components/ShelfDisplay/index.d.ts +2 -2
  383. package/dist/esm/biz-components/Slogan/index.d.ts +2 -2
  384. package/dist/esm/biz-components/Spacer/index.d.ts +2 -2
  385. package/dist/esm/biz-components/Spacer/index.js +1 -1
  386. package/dist/esm/biz-components/Spacer/index.js.map +2 -2
  387. package/dist/esm/biz-components/Specs/index.d.ts +2 -2
  388. package/dist/esm/biz-components/SpecsComparison/SpecsComparison.d.ts +7 -0
  389. package/dist/esm/biz-components/SpecsComparison/SpecsComparison.js +2 -0
  390. package/dist/esm/biz-components/SpecsComparison/SpecsComparison.js.map +7 -0
  391. package/dist/esm/biz-components/SpecsComparison/index.d.ts +2 -0
  392. package/dist/esm/biz-components/SpecsComparison/index.js +2 -0
  393. package/dist/esm/biz-components/SpecsComparison/index.js.map +7 -0
  394. package/dist/esm/biz-components/SpecsComparison/types.d.ts +34 -0
  395. package/dist/esm/biz-components/SpecsComparison/types.js +1 -0
  396. package/dist/esm/biz-components/SpecsComparison/types.js.map +7 -0
  397. package/dist/esm/biz-components/TabWithImage/TabWithImage.d.ts +7 -0
  398. package/dist/esm/biz-components/TabWithImage/TabWithImage.js +2 -0
  399. package/dist/esm/biz-components/TabWithImage/TabWithImage.js.map +7 -0
  400. package/dist/esm/biz-components/TabWithImage/index.d.ts +2 -0
  401. package/dist/esm/biz-components/TabWithImage/index.js +2 -0
  402. package/dist/esm/biz-components/TabWithImage/index.js.map +7 -0
  403. package/dist/esm/biz-components/TabWithImage/types.d.ts +29 -0
  404. package/dist/esm/biz-components/TabWithImage/types.js +1 -0
  405. package/dist/esm/biz-components/TabWithImage/types.js.map +7 -0
  406. package/dist/esm/biz-components/Tabs/Tabs.d.ts +2 -2
  407. package/dist/esm/biz-components/Tabs/Tabs.js +1 -1
  408. package/dist/esm/biz-components/Tabs/Tabs.js.map +1 -1
  409. package/dist/esm/biz-components/Tabs/types.d.ts +11 -0
  410. package/dist/esm/biz-components/TabsGroup/index.d.ts +2 -2
  411. package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.d.ts +7 -0
  412. package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.js +2 -0
  413. package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.js.map +7 -0
  414. package/dist/esm/biz-components/TabsWithMedia/index.d.ts +2 -0
  415. package/dist/esm/biz-components/TabsWithMedia/index.js +2 -0
  416. package/dist/esm/biz-components/TabsWithMedia/index.js.map +7 -0
  417. package/dist/esm/biz-components/TabsWithMedia/types.d.ts +43 -0
  418. package/dist/esm/biz-components/TabsWithMedia/types.js +1 -0
  419. package/dist/esm/biz-components/TabsWithMedia/types.js.map +7 -0
  420. package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +11 -0
  421. package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.js +2 -0
  422. package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.js.map +7 -0
  423. package/dist/esm/biz-components/ThreeDCarousel/index.d.ts +2 -0
  424. package/dist/esm/biz-components/ThreeDCarousel/index.js +2 -0
  425. package/dist/esm/biz-components/ThreeDCarousel/index.js.map +7 -0
  426. package/dist/esm/biz-components/ThreeDCarousel/types.d.ts +26 -0
  427. package/dist/esm/biz-components/ThreeDCarousel/types.js +1 -0
  428. package/dist/esm/biz-components/ThreeDCarousel/types.js.map +7 -0
  429. package/dist/esm/biz-components/Title/index.d.ts +2 -2
  430. package/dist/esm/biz-components/VideoFeature/VideoFeature.d.ts +7 -0
  431. package/dist/esm/biz-components/VideoFeature/VideoFeature.js +2 -0
  432. package/dist/esm/biz-components/VideoFeature/VideoFeature.js.map +7 -0
  433. package/dist/esm/biz-components/VideoFeature/index.d.ts +2 -0
  434. package/dist/esm/biz-components/VideoFeature/index.js +2 -0
  435. package/dist/esm/biz-components/VideoFeature/index.js.map +7 -0
  436. package/dist/esm/biz-components/VideoFeature/types.d.ts +19 -0
  437. package/dist/esm/biz-components/VideoFeature/types.js +1 -0
  438. package/dist/esm/biz-components/VideoFeature/types.js.map +7 -0
  439. package/dist/esm/biz-components/WhyChoose/WhyChoose.d.ts +2 -2
  440. package/dist/esm/biz-components/index.d.ts +33 -0
  441. package/dist/esm/biz-components/index.js +1 -1
  442. package/dist/esm/biz-components/index.js.map +2 -2
  443. package/dist/esm/components/alert.d.ts +2 -2
  444. package/dist/esm/components/avatar.d.ts +8 -8
  445. package/dist/esm/components/container.d.ts +7 -7
  446. package/dist/esm/components/container.js +1 -1
  447. package/dist/esm/components/container.js.map +2 -2
  448. package/dist/esm/components/dialog.d.ts +1 -1
  449. package/dist/esm/components/drop-down.d.ts +3 -3
  450. package/dist/esm/components/heading.d.ts +1 -0
  451. package/dist/esm/components/heading.js +1 -1
  452. package/dist/esm/components/heading.js.map +3 -3
  453. package/dist/esm/components/input-number.d.ts +15 -15
  454. package/dist/esm/components/link.d.ts +6 -6
  455. package/dist/esm/components/tabs.d.ts +2 -2
  456. package/dist/esm/components/tabs.js +1 -1
  457. package/dist/esm/components/tabs.js.map +2 -2
  458. package/dist/esm/cpn-components/CpnNavigation/index.js +1 -1
  459. package/dist/esm/cpn-components/CpnNavigation/index.js.map +2 -2
  460. package/dist/esm/helpers/ScrollLoadVideo.js.map +2 -2
  461. package/dist/esm/shared/ErrorBoundary.d.ts +18 -0
  462. package/dist/esm/shared/ErrorBoundary.js +2 -0
  463. package/dist/esm/shared/ErrorBoundary.js.map +7 -0
  464. package/dist/esm/shared/Styles.d.ts +2 -2
  465. package/dist/esm/shared/Styles.js +1 -1
  466. package/dist/esm/shared/Styles.js.map +3 -3
  467. package/dist/esm/stories/InlineVideo.stories.js +164 -0
  468. package/dist/esm/stories/InlineVideo.stories.js.map +7 -0
  469. package/dist/esm/stories/MarqueeReview.stories.js +19 -0
  470. package/dist/esm/stories/MarqueeReview.stories.js.map +7 -0
  471. package/dist/esm/stories/MediaSceneSwitcher.stories.js +2 -0
  472. package/dist/esm/stories/MediaSceneSwitcher.stories.js.map +7 -0
  473. package/dist/esm/stories/ProductNav.stories.js +2 -0
  474. package/dist/esm/stories/ProductNav.stories.js.map +7 -0
  475. package/dist/esm/stories/ThreeDCarousel.stories.js +118 -0
  476. package/dist/esm/stories/ThreeDCarousel.stories.js.map +7 -0
  477. package/dist/esm/stories/featureCards.stories.js +61 -0
  478. package/dist/esm/stories/featureCards.stories.js.map +7 -0
  479. package/dist/esm/stories/featureShowcase.stories.js +44 -0
  480. package/dist/esm/stories/featureShowcase.stories.js.map +7 -0
  481. package/dist/esm/stories/imageTextFeature.stories.js +50 -0
  482. package/dist/esm/stories/imageTextFeature.stories.js.map +7 -0
  483. package/dist/esm/stories/imageWithText.stories.js +84 -0
  484. package/dist/esm/stories/imageWithText.stories.js.map +7 -0
  485. package/dist/esm/stories/ksp.stories.js +128 -0
  486. package/dist/esm/stories/ksp.stories.js.map +7 -0
  487. package/dist/esm/stories/productCompare.stories.js +54 -0
  488. package/dist/esm/stories/productCompare.stories.js.map +7 -0
  489. package/dist/esm/stories/productHero.stories.js +50 -0
  490. package/dist/esm/stories/productHero.stories.js.map +7 -0
  491. package/dist/esm/stories/specsComparison.stories.js +105 -0
  492. package/dist/esm/stories/specsComparison.stories.js.map +7 -0
  493. package/dist/esm/stories/tabWithImage.stories.js +53 -0
  494. package/dist/esm/stories/tabWithImage.stories.js.map +7 -0
  495. package/dist/esm/stories/tabsWithMedia.stories.js +68 -0
  496. package/dist/esm/stories/tabsWithMedia.stories.js.map +7 -0
  497. package/dist/esm/stories/videoFeature.stories.js +56 -0
  498. package/dist/esm/stories/videoFeature.stories.js.map +7 -0
  499. package/dist/esm/types/props.d.ts +9 -2
  500. package/dist/tokens/base.css +3 -0
  501. package/package.json +18 -13
  502. package/style.css +11 -2
  503. package/tailwind.config.js +24 -0
  504. package/dist/cjs/stories/HeroBanner.stories.d.ts +0 -27
  505. package/dist/cjs/stories/MemberEquity.stories.d.ts +0 -9
  506. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.d.ts +0 -9
  507. package/dist/cjs/stories/accordionCards.stories.d.ts +0 -17
  508. package/dist/cjs/stories/alert.stories.d.ts +0 -27
  509. package/dist/cjs/stories/avatar.stories.d.ts +0 -39
  510. package/dist/cjs/stories/badge.stories.d.ts +0 -31
  511. package/dist/cjs/stories/bizTabs.stories.d.ts +0 -7
  512. package/dist/cjs/stories/board.stories.d.ts +0 -6
  513. package/dist/cjs/stories/brandEquity.stories.d.ts +0 -16
  514. package/dist/cjs/stories/button.stories.d.ts +0 -56
  515. package/dist/cjs/stories/card.stories.d.ts +0 -27
  516. package/dist/cjs/stories/carousel.stories.d.ts +0 -8
  517. package/dist/cjs/stories/category.stories.d.ts +0 -17
  518. package/dist/cjs/stories/checkbox.stories.d.ts +0 -46
  519. package/dist/cjs/stories/container.stories.d.ts +0 -28
  520. package/dist/cjs/stories/cpnBanner.stories.d.ts +0 -14
  521. package/dist/cjs/stories/cpnCountdown.stories.d.ts +0 -12
  522. package/dist/cjs/stories/cpnNavigation.stories.d.ts +0 -14
  523. package/dist/cjs/stories/cpnProductcard.stories.d.ts +0 -14
  524. package/dist/cjs/stories/cpnTitle.stories.d.ts +0 -14
  525. package/dist/cjs/stories/creativeModule.stories.d.ts +0 -19
  526. package/dist/cjs/stories/dialog.stories.d.ts +0 -20
  527. package/dist/cjs/stories/drawer.stories.d.ts +0 -20
  528. package/dist/cjs/stories/drop-down.stories.d.ts +0 -16
  529. package/dist/cjs/stories/evaluate.stories.d.ts +0 -16
  530. package/dist/cjs/stories/faq.stories.d.ts +0 -21
  531. package/dist/cjs/stories/graphic.stories.d.ts +0 -64
  532. package/dist/cjs/stories/graphicAttractionBlock.stories.d.ts +0 -6
  533. package/dist/cjs/stories/grid.stories.d.ts +0 -22
  534. package/dist/cjs/stories/heading.stories.d.ts +0 -84
  535. package/dist/cjs/stories/input-number.stories.d.ts +0 -39
  536. package/dist/cjs/stories/input.stories.d.ts +0 -35
  537. package/dist/cjs/stories/link.stories.d.ts +0 -69
  538. package/dist/cjs/stories/marquee.stories.d.ts +0 -30
  539. package/dist/cjs/stories/mediaplayerBase.stories.d.ts +0 -6
  540. package/dist/cjs/stories/mediaplayerMulti.stories.d.ts +0 -16
  541. package/dist/cjs/stories/picture.stories.d.ts +0 -22
  542. package/dist/cjs/stories/popover.stories.d.ts +0 -17
  543. package/dist/cjs/stories/radio.stories.d.ts +0 -39
  544. package/dist/cjs/stories/shelfDisplay.stories.d.ts +0 -16
  545. package/dist/cjs/stories/skeleton.stories.d.ts +0 -20
  546. package/dist/cjs/stories/slogan.stories.d.ts +0 -20
  547. package/dist/cjs/stories/specs.stories.d.ts +0 -13
  548. package/dist/cjs/stories/tabs.stories.d.ts +0 -373
  549. package/dist/cjs/stories/text.stories.d.ts +0 -86
  550. package/dist/cjs/stories/whychoose.stories.d.ts +0 -21
  551. package/dist/esm/stories/HeroBanner.stories.d.ts +0 -27
  552. package/dist/esm/stories/MemberEquity.stories.d.ts +0 -9
  553. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.d.ts +0 -9
  554. package/dist/esm/stories/accordionCards.stories.d.ts +0 -17
  555. package/dist/esm/stories/alert.stories.d.ts +0 -27
  556. package/dist/esm/stories/avatar.stories.d.ts +0 -39
  557. package/dist/esm/stories/badge.stories.d.ts +0 -31
  558. package/dist/esm/stories/bizTabs.stories.d.ts +0 -7
  559. package/dist/esm/stories/board.stories.d.ts +0 -6
  560. package/dist/esm/stories/brandEquity.stories.d.ts +0 -16
  561. package/dist/esm/stories/button.stories.d.ts +0 -56
  562. package/dist/esm/stories/card.stories.d.ts +0 -27
  563. package/dist/esm/stories/carousel.stories.d.ts +0 -8
  564. package/dist/esm/stories/category.stories.d.ts +0 -17
  565. package/dist/esm/stories/checkbox.stories.d.ts +0 -46
  566. package/dist/esm/stories/container.stories.d.ts +0 -28
  567. package/dist/esm/stories/cpnBanner.stories.d.ts +0 -14
  568. package/dist/esm/stories/cpnCountdown.stories.d.ts +0 -12
  569. package/dist/esm/stories/cpnNavigation.stories.d.ts +0 -14
  570. package/dist/esm/stories/cpnProductcard.stories.d.ts +0 -14
  571. package/dist/esm/stories/cpnTitle.stories.d.ts +0 -14
  572. package/dist/esm/stories/creativeModule.stories.d.ts +0 -19
  573. package/dist/esm/stories/dialog.stories.d.ts +0 -20
  574. package/dist/esm/stories/drawer.stories.d.ts +0 -20
  575. package/dist/esm/stories/drop-down.stories.d.ts +0 -16
  576. package/dist/esm/stories/evaluate.stories.d.ts +0 -16
  577. package/dist/esm/stories/faq.stories.d.ts +0 -21
  578. package/dist/esm/stories/graphic.stories.d.ts +0 -64
  579. package/dist/esm/stories/graphicAttractionBlock.stories.d.ts +0 -6
  580. package/dist/esm/stories/grid.stories.d.ts +0 -22
  581. package/dist/esm/stories/heading.stories.d.ts +0 -84
  582. package/dist/esm/stories/input-number.stories.d.ts +0 -39
  583. package/dist/esm/stories/input.stories.d.ts +0 -35
  584. package/dist/esm/stories/link.stories.d.ts +0 -69
  585. package/dist/esm/stories/marquee.stories.d.ts +0 -30
  586. package/dist/esm/stories/mediaplayerBase.stories.d.ts +0 -6
  587. package/dist/esm/stories/mediaplayerMulti.stories.d.ts +0 -16
  588. package/dist/esm/stories/picture.stories.d.ts +0 -22
  589. package/dist/esm/stories/popover.stories.d.ts +0 -17
  590. package/dist/esm/stories/radio.stories.d.ts +0 -39
  591. package/dist/esm/stories/shelfDisplay.stories.d.ts +0 -16
  592. package/dist/esm/stories/skeleton.stories.d.ts +0 -20
  593. package/dist/esm/stories/slogan.stories.d.ts +0 -20
  594. package/dist/esm/stories/specs.stories.d.ts +0 -13
  595. package/dist/esm/stories/tabs.stories.d.ts +0 -373
  596. package/dist/esm/stories/text.stories.d.ts +0 -86
  597. package/dist/esm/stories/whychoose.stories.d.ts +0 -21
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/tabs.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../helpers/index.js'\n\nimport * as TabsPrimitive from '@radix-ui/react-tabs'\nimport { cva } from 'class-variance-authority'\nimport type { Align, Shape } from '../types/props.js'\n\nconst TabListContext = React.createContext<{\n align?: Align\n shape: Shape\n}>({\n align: 'left',\n shape: 'square',\n})\n\nconst Tabs = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Root> & {\n align?: Align\n shape?: Shape\n }\n>(({ children, align = 'left', shape = 'square', ...props }, ref) => (\n <TabsPrimitive.Root ref={ref} {...props}>\n <TabListContext.Provider value={{ align, shape }}>{children}</TabListContext.Provider>\n </TabsPrimitive.Root>\n))\nTabs.displayName = 'Tabs'\n\nconst tabsListVariants = cva('', {\n variants: {\n align: {\n left: 'justify-left',\n center: 'justify-center',\n right: 'justify-end',\n },\n shape: {\n rounded: 'rounded-[28px]',\n square: 'rounded-none',\n },\n },\n defaultVariants: {\n align: 'left',\n shape: 'square',\n },\n})\n\nconst tabsTriggerVariants = cva('', {\n variants: {\n shape: {\n rounded: 'rounded-[28px]',\n square: 'rounded-none',\n },\n },\n defaultVariants: {\n shape: 'square',\n },\n})\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({ className, ...props }, ref) => {\n const { align: alignFromParent, shape: shapeFromParent } = React.useContext(TabListContext)\n return (\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n 'bg-tabs-list-bg flex w-fit max-w-full overflow-x-auto p-1',\n tabsListVariants({\n align: alignFromParent,\n shape: shapeFromParent,\n }),\n className\n )}\n style={{\n scrollbarWidth: 'none',\n msOverflowStyle: 'none',\n }}\n {...props}\n />\n )\n})\nTabsList.displayName = TabsPrimitive.List.displayName\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, onClick, ...props }, ref) => {\n const { shape: shapeFromParent } = React.useContext(TabListContext)\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(e)\n const tabElement = e?.currentTarget\n const container = e?.currentTarget?.parentElement\n if (tabElement && container) {\n const tabLeft = tabElement.offsetLeft\n const tabWidth = tabElement.offsetWidth\n const containerWidth = container.offsetWidth\n const scrollTo = tabLeft - containerWidth / 2 + tabWidth / 2\n container.scrollTo({\n left: scrollTo,\n behavior: 'smooth',\n })\n }\n // e.currentTarget.scrollIntoView({\n // behavior: 'smooth',\n // inline: 'center',\n // block: 'nearest',\n // })\n }\n return (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n 'text-info-primary lg-desktop:text-base disabled:text-btn-secondary-disabled lg-desktop:px-[28px] lg-desktop:pt-[15px] lg-desktop:pb-[14px] shrink-0 px-5 pb-2.5 pt-[11px] text-sm font-bold data-[state=active]:bg-white data-[state=active]:text-[#1d1d1d]',\n className,\n tabsTriggerVariants({\n shape: shapeFromParent,\n })\n )}\n onClick={handleClick}\n {...props}\n />\n )\n})\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => <TabsPrimitive.Content ref={ref} className={cn(className)} {...props} />)\nTabsContent.displayName = TabsPrimitive.Content.displayName\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent }\n"],
5
- "mappings": "aAyBI,cAAAA,MAAA,oBAvBJ,UAAYC,MAAW,QACvB,OAAS,MAAAC,MAAU,sBAEnB,UAAYC,MAAmB,uBAC/B,OAAS,OAAAC,MAAW,2BAGpB,MAAMC,EAAiBJ,EAAM,cAG1B,CACD,MAAO,OACP,MAAO,QACT,CAAC,EAEKK,EAAOL,EAAM,WAMjB,CAAC,CAAE,SAAAM,EAAU,MAAAC,EAAQ,OAAQ,MAAAC,EAAQ,SAAU,GAAGC,CAAM,EAAGC,IAC3DX,EAACG,EAAc,KAAd,CAAmB,IAAKQ,EAAM,GAAGD,EAChC,SAAAV,EAACK,EAAe,SAAf,CAAwB,MAAO,CAAE,MAAAG,EAAO,MAAAC,CAAM,EAAI,SAAAF,EAAS,EAC9D,CACD,EACDD,EAAK,YAAc,OAEnB,MAAMM,EAAmBR,EAAI,GAAI,CAC/B,SAAU,CACR,MAAO,CACL,KAAM,eACN,OAAQ,iBACR,MAAO,aACT,EACA,MAAO,CACL,QAAS,iBACT,OAAQ,cACV,CACF,EACA,gBAAiB,CACf,MAAO,OACP,MAAO,QACT,CACF,CAAC,EAEKS,EAAsBT,EAAI,GAAI,CAClC,SAAU,CACR,MAAO,CACL,QAAS,iBACT,OAAQ,cACV,CACF,EACA,gBAAiB,CACf,MAAO,QACT,CACF,CAAC,EACKU,EAAWb,EAAM,WAGrB,CAAC,CAAE,UAAAc,EAAW,GAAGL,CAAM,EAAGC,IAAQ,CAClC,KAAM,CAAE,MAAOK,EAAiB,MAAOC,CAAgB,EAAIhB,EAAM,WAAWI,CAAc,EAC1F,OACEL,EAACG,EAAc,KAAd,CACC,IAAKQ,EACL,UAAWT,EACT,4DACAU,EAAiB,CACf,MAAOI,EACP,MAAOC,CACT,CAAC,EACDF,CACF,EACA,MAAO,CACL,eAAgB,OAChB,gBAAiB,MACnB,EACC,GAAGL,EACN,CAEJ,CAAC,EACDI,EAAS,YAAcX,EAAc,KAAK,YAE1C,MAAMe,EAAcjB,EAAM,WAGxB,CAAC,CAAE,UAAAc,EAAW,QAAAI,EAAS,GAAGT,CAAM,EAAGC,IAAQ,CAC3C,KAAM,CAAE,MAAOM,CAAgB,EAAIhB,EAAM,WAAWI,CAAc,EAC5De,EAAeC,GAA2C,CAC9DF,IAAUE,CAAC,EACX,MAAMC,EAAaD,GAAG,cAChBE,EAAYF,GAAG,eAAe,cACpC,GAAIC,GAAcC,EAAW,CAC3B,MAAMC,EAAUF,EAAW,WACrBG,EAAWH,EAAW,YACtBI,EAAiBH,EAAU,YAC3BI,EAAWH,EAAUE,EAAiB,EAAID,EAAW,EAC3DF,EAAU,SAAS,CACjB,KAAMI,EACN,SAAU,QACZ,CAAC,CACH,CAMF,EACA,OACE3B,EAACG,EAAc,QAAd,CACC,IAAKQ,EACL,UAAWT,EACT,8PACAa,EACAF,EAAoB,CAClB,MAAOI,CACT,CAAC,CACH,EACA,QAASG,EACR,GAAGV,EACN,CAEJ,CAAC,EACDQ,EAAY,YAAcf,EAAc,QAAQ,YAEhD,MAAMyB,EAAc3B,EAAM,WAGxB,CAAC,CAAE,UAAAc,EAAW,GAAGL,CAAM,EAAGC,IAAQX,EAACG,EAAc,QAAd,CAAsB,IAAKQ,EAAK,UAAWT,EAAGa,CAAS,EAAI,GAAGL,EAAO,CAAE,EAC5GkB,EAAY,YAAczB,EAAc,QAAQ",
4
+ "sourcesContent": ["'use client'\n\nimport * as React from 'react'\nimport { cn } from '../helpers/index.js'\n\nimport * as TabsPrimitive from '@radix-ui/react-tabs'\nimport { cva } from 'class-variance-authority'\nimport type { Align, Shape } from '../types/props.js'\n\nconst TabListContext = React.createContext<{\n align?: Align\n shape: Shape\n}>({\n align: 'left',\n shape: 'square',\n})\n\nconst Tabs = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Root> & {\n align?: Align\n shape?: Shape\n }\n>(({ children, align = 'left', shape = 'square', ...props }, ref) => (\n <TabsPrimitive.Root ref={ref} {...props}>\n <TabListContext.Provider value={{ align, shape }}>{children}</TabListContext.Provider>\n </TabsPrimitive.Root>\n))\nTabs.displayName = 'Tabs'\n\nconst tabsListVariants = cva('', {\n variants: {\n align: {\n left: 'justify-left',\n center: 'justify-center',\n right: 'justify-end',\n },\n shape: {\n rounded: 'rounded-[28px]',\n square: 'rounded-none',\n },\n },\n defaultVariants: {\n align: 'left',\n shape: 'square',\n },\n})\n\nconst tabsTriggerVariants = cva('', {\n variants: {\n shape: {\n rounded: 'rounded-[28px]',\n square: 'rounded-none',\n },\n },\n defaultVariants: {\n shape: 'square',\n },\n})\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({ className, ...props }, ref) => {\n const { align: alignFromParent, shape: shapeFromParent } = React.useContext(TabListContext)\n return (\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n 'bg-tabs-list-bg flex w-fit max-w-full overflow-x-auto p-1',\n tabsListVariants({\n align: alignFromParent,\n shape: shapeFromParent,\n }),\n className\n )}\n style={{\n scrollbarWidth: 'none',\n msOverflowStyle: 'none',\n }}\n {...props}\n />\n )\n})\nTabsList.displayName = TabsPrimitive.List.displayName\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, onClick, ...props }, ref) => {\n const { shape: shapeFromParent } = React.useContext(TabListContext)\n const handleClick = (e: React.MouseEvent<HTMLButtonElement>) => {\n onClick?.(e)\n const tabElement = e?.currentTarget\n const container = (e?.currentTarget as any)?.parentElement\n if (tabElement && container) {\n const tabLeft = (tabElement as any).offsetLeft\n const tabWidth = (tabElement as any).offsetWidth\n const containerWidth = container.offsetWidth\n const scrollTo = tabLeft - containerWidth / 2 + tabWidth / 2\n container.scrollTo({\n left: scrollTo,\n behavior: 'smooth',\n })\n }\n // e.currentTarget.scrollIntoView({\n // behavior: 'smooth',\n // inline: 'center',\n // block: 'nearest',\n // })\n }\n return (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n 'text-info-primary lg-desktop:text-base disabled:text-btn-secondary-disabled lg-desktop:px-[28px] lg-desktop:pt-[15px] lg-desktop:pb-[14px] shrink-0 px-5 pb-2.5 pt-[11px] text-sm font-bold data-[state=active]:bg-white data-[state=active]:text-[#1d1d1d]',\n className,\n tabsTriggerVariants({\n shape: shapeFromParent,\n })\n )}\n onClick={handleClick}\n {...props}\n />\n )\n})\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => <TabsPrimitive.Content ref={ref} className={cn(className)} {...props} />)\nTabsContent.displayName = TabsPrimitive.Content.displayName\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent }\n"],
5
+ "mappings": "aAyBI,cAAAA,MAAA,oBAvBJ,UAAYC,MAAW,QACvB,OAAS,MAAAC,MAAU,sBAEnB,UAAYC,MAAmB,uBAC/B,OAAS,OAAAC,MAAW,2BAGpB,MAAMC,EAAiBJ,EAAM,cAG1B,CACD,MAAO,OACP,MAAO,QACT,CAAC,EAEKK,EAAOL,EAAM,WAMjB,CAAC,CAAE,SAAAM,EAAU,MAAAC,EAAQ,OAAQ,MAAAC,EAAQ,SAAU,GAAGC,CAAM,EAAGC,IAC3DX,EAACG,EAAc,KAAd,CAAmB,IAAKQ,EAAM,GAAGD,EAChC,SAAAV,EAACK,EAAe,SAAf,CAAwB,MAAO,CAAE,MAAAG,EAAO,MAAAC,CAAM,EAAI,SAAAF,EAAS,EAC9D,CACD,EACDD,EAAK,YAAc,OAEnB,MAAMM,EAAmBR,EAAI,GAAI,CAC/B,SAAU,CACR,MAAO,CACL,KAAM,eACN,OAAQ,iBACR,MAAO,aACT,EACA,MAAO,CACL,QAAS,iBACT,OAAQ,cACV,CACF,EACA,gBAAiB,CACf,MAAO,OACP,MAAO,QACT,CACF,CAAC,EAEKS,EAAsBT,EAAI,GAAI,CAClC,SAAU,CACR,MAAO,CACL,QAAS,iBACT,OAAQ,cACV,CACF,EACA,gBAAiB,CACf,MAAO,QACT,CACF,CAAC,EACKU,EAAWb,EAAM,WAGrB,CAAC,CAAE,UAAAc,EAAW,GAAGL,CAAM,EAAGC,IAAQ,CAClC,KAAM,CAAE,MAAOK,EAAiB,MAAOC,CAAgB,EAAIhB,EAAM,WAAWI,CAAc,EAC1F,OACEL,EAACG,EAAc,KAAd,CACC,IAAKQ,EACL,UAAWT,EACT,4DACAU,EAAiB,CACf,MAAOI,EACP,MAAOC,CACT,CAAC,EACDF,CACF,EACA,MAAO,CACL,eAAgB,OAChB,gBAAiB,MACnB,EACC,GAAGL,EACN,CAEJ,CAAC,EACDI,EAAS,YAAcX,EAAc,KAAK,YAE1C,MAAMe,EAAcjB,EAAM,WAGxB,CAAC,CAAE,UAAAc,EAAW,QAAAI,EAAS,GAAGT,CAAM,EAAGC,IAAQ,CAC3C,KAAM,CAAE,MAAOM,CAAgB,EAAIhB,EAAM,WAAWI,CAAc,EAC5De,EAAeC,GAA2C,CAC9DF,IAAUE,CAAC,EACX,MAAMC,EAAaD,GAAG,cAChBE,EAAaF,GAAG,eAAuB,cAC7C,GAAIC,GAAcC,EAAW,CAC3B,MAAMC,EAAWF,EAAmB,WAC9BG,EAAYH,EAAmB,YAC/BI,EAAiBH,EAAU,YAC3BI,EAAWH,EAAUE,EAAiB,EAAID,EAAW,EAC3DF,EAAU,SAAS,CACjB,KAAMI,EACN,SAAU,QACZ,CAAC,CACH,CAMF,EACA,OACE3B,EAACG,EAAc,QAAd,CACC,IAAKQ,EACL,UAAWT,EACT,8PACAa,EACAF,EAAoB,CAClB,MAAOI,CACT,CAAC,CACH,EACA,QAASG,EACR,GAAGV,EACN,CAEJ,CAAC,EACDQ,EAAY,YAAcf,EAAc,QAAQ,YAEhD,MAAMyB,EAAc3B,EAAM,WAGxB,CAAC,CAAE,UAAAc,EAAW,GAAGL,CAAM,EAAGC,IAAQX,EAACG,EAAc,QAAd,CAAsB,IAAKQ,EAAK,UAAWT,EAAGa,CAAS,EAAI,GAAGL,EAAO,CAAE,EAC5GkB,EAAY,YAAczB,EAAc,QAAQ",
6
6
  "names": ["jsx", "React", "cn", "TabsPrimitive", "cva", "TabListContext", "Tabs", "children", "align", "shape", "props", "ref", "tabsListVariants", "tabsTriggerVariants", "TabsList", "className", "alignFromParent", "shapeFromParent", "TabsTrigger", "onClick", "handleClick", "e", "tabElement", "container", "tabLeft", "tabWidth", "containerWidth", "scrollTo", "TabsContent"]
7
7
  }
@@ -1,2 +1,2 @@
1
- import{jsx as s}from"react/jsx-runtime";import{useEffect as x,useRef as C,useState as w}from"react";import{cn as i}from"../../helpers/utils.js";import{debounce as y}from"lodash";const E=d=>{const{lists:a,styles:c,cns:n,offset:v=0,clickHandler:f}=d,[h,p]=w(0),m=C(null),b=e=>{e.scrollIntoView({behavior:"smooth",inline:"center"})},g=(e,o,t)=>{p(o);const r=t.target;b(r),e.anchor&&document.querySelector(`#${e.anchor}`)?.scrollIntoView({behavior:"smooth"}),t.preventDefault(),f&&f(e,o,t)};return x(()=>{const e=y(()=>{const t=[];a?.forEach(l=>{const u=document.querySelector(`#${l.anchor}`);u&&t.push(u.getBoundingClientRect().top)});const r=t.findIndex(l=>l>o+v);p(r===-1?t.length-1:r===0?0:r-1)},100),o=m.current?.getBoundingClientRect().height||0;return window.addEventListener("scroll",e),()=>{window.removeEventListener("scroll",e)}},[a,v]),s("div",{id:"nav",className:i("cpn-nav-container sticky top-0 z-10 w-full bg-[var(--bgColor)]",n?.container),style:{"--bgColor":c?.bgColor||"#C6F1FF","--color":c?.color||"#333","--activeColor":c?.activeColor||"#000"},children:s("div",{className:i("cpn-nav-box relative flex items-center justify-start gap-[18px] overflow-scroll px-6 text-center [&::-webkit-scrollbar]:hidden","tablet:gap-[80px] tablet:justify-center",n?.box),ref:m,children:a?.map((e,o)=>s("a",{href:`#${e.anchor}`,className:i("cpn-nav-item relative cursor-pointer whitespace-nowrap py-[14px] text-[16px] font-medium leading-[1.2] text-[var(--color)] transition-all duration-200",n?.item,{[`border-[var(--activeColor)] text-[var(--activeColor)] after:absolute after:bottom-0 after:left-0 after:h-[2px] after:w-full after:bg-[var(--activeColor)] after:transition-all after:duration-200 after:content-[""] ${n?.activeItem}`]:h===o}),onClick:t=>g(e,o,t),children:e.label},e.label))})})};var k=E;export{k as default};
1
+ import{jsx as s}from"react/jsx-runtime";import{useEffect as x,useRef as C,useState as w}from"react";import{cn as i}from"../../helpers/utils.js";import{debounce as y}from"es-toolkit";const E=d=>{const{lists:a,styles:c,cns:n,offset:v=0,clickHandler:f}=d,[h,p]=w(0),m=C(null),b=e=>{e.scrollIntoView({behavior:"smooth",inline:"center"})},g=(e,o,t)=>{p(o);const r=t.target;b(r),e.anchor&&document.querySelector(`#${e.anchor}`)?.scrollIntoView({behavior:"smooth"}),t.preventDefault(),f&&f(e,o,t)};return x(()=>{const e=y(()=>{const t=[];a?.forEach(l=>{const u=document.querySelector(`#${l.anchor}`);u&&t.push(u.getBoundingClientRect().top)});const r=t.findIndex(l=>l>o+v);p(r===-1?t.length-1:r===0?0:r-1)},100),o=m.current?.getBoundingClientRect().height||0;return window.addEventListener("scroll",e),()=>{window.removeEventListener("scroll",e)}},[a,v]),s("div",{id:"nav",className:i("cpn-nav-container sticky top-0 z-10 w-full bg-[var(--bgColor)]",n?.container),style:{"--bgColor":c?.bgColor||"#C6F1FF","--color":c?.color||"#333","--activeColor":c?.activeColor||"#000"},children:s("div",{className:i("cpn-nav-box relative flex items-center justify-start gap-[18px] overflow-scroll px-6 text-center [&::-webkit-scrollbar]:hidden","tablet:gap-[80px] tablet:justify-center",n?.box),ref:m,children:a?.map((e,o)=>s("a",{href:`#${e.anchor}`,className:i("cpn-nav-item relative cursor-pointer whitespace-nowrap py-[14px] text-[16px] font-medium leading-[1.2] text-[var(--color)] transition-all duration-200",n?.item,{[`border-[var(--activeColor)] text-[var(--activeColor)] after:absolute after:bottom-0 after:left-0 after:h-[2px] after:w-full after:bg-[var(--activeColor)] after:transition-all after:duration-200 after:content-[""] ${n?.activeItem}`]:h===o}),onClick:t=>g(e,o,t),children:e.label},e.label))})})};var k=E;export{k as default};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/cpn-components/CpnNavigation/index.tsx"],
4
- "sourcesContent": ["import React, { useEffect, useRef, useState } from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport type { Nav, NavigationProps } from './types.js'\nimport { debounce } from 'lodash'\n\nconst CpnNavigation = (props: NavigationProps) => {\n const { lists, styles, cns, offset = 0, clickHandler } = props\n const [activeIndex, setActiveIndex] = useState(0)\n const navBox = useRef<HTMLDivElement>(null)\n\n const scrollIntoView = (ele: HTMLElement) => {\n ele.scrollIntoView({ behavior: 'smooth', inline: 'center' })\n }\n\n const handleNavItemClick = (nav: Nav, index: number, e: React.SyntheticEvent<EventTarget>) => {\n setActiveIndex(index)\n const ele = e.target as HTMLAnchorElement\n scrollIntoView(ele)\n if (nav.anchor) {\n document.querySelector(`#${nav.anchor}`)?.scrollIntoView({ behavior: 'smooth' })\n }\n e.preventDefault()\n clickHandler && clickHandler(nav, index, e as React.MouseEvent<HTMLAnchorElement>)\n }\n\n useEffect(() => {\n const scrollHandler = debounce(() => {\n const sectionTops: number[] = []\n lists?.forEach(nav => {\n const section = document.querySelector(`#${nav.anchor}`)\n if (section) {\n sectionTops.push(section.getBoundingClientRect().top)\n }\n })\n const index = sectionTops.findIndex(sectionTop => sectionTop > navHeight + offset)\n setActiveIndex(index === -1 ? sectionTops.length - 1 : index === 0 ? 0 : index - 1)\n }, 100)\n const navHeight = navBox.current?.getBoundingClientRect().height || 0\n window.addEventListener('scroll', scrollHandler)\n return () => {\n window.removeEventListener('scroll', scrollHandler)\n }\n }, [lists, offset])\n\n return (\n <div\n id=\"nav\"\n className={cn('cpn-nav-container sticky top-0 z-10 w-full bg-[var(--bgColor)]', cns?.container)}\n style={\n {\n '--bgColor': styles?.bgColor || '#C6F1FF',\n '--color': styles?.color || '#333',\n '--activeColor': styles?.activeColor || '#000',\n } as React.CSSProperties\n }\n >\n <div\n className={cn(\n 'cpn-nav-box relative flex items-center justify-start gap-[18px] overflow-scroll px-6 text-center [&::-webkit-scrollbar]:hidden',\n 'tablet:gap-[80px] tablet:justify-center',\n cns?.box\n )}\n ref={navBox}\n >\n {lists?.map((nav, index) => {\n return (\n <a\n key={nav.label}\n href={`#${nav.anchor}`}\n className={cn(\n 'cpn-nav-item relative cursor-pointer whitespace-nowrap py-[14px] text-[16px] font-medium leading-[1.2] text-[var(--color)] transition-all duration-200',\n cns?.item,\n {\n [`border-[var(--activeColor)] text-[var(--activeColor)] after:absolute after:bottom-0 after:left-0 after:h-[2px] after:w-full after:bg-[var(--activeColor)] after:transition-all after:duration-200 after:content-[\"\"] ${cns?.activeItem}`]:\n activeIndex === index,\n }\n )}\n onClick={e => handleNavItemClick(nav, index, e)}\n >\n {nav.label}\n </a>\n )\n })}\n </div>\n </div>\n )\n}\n\nexport default CpnNavigation\n"],
5
- "mappings": "AAkEY,cAAAA,MAAA,oBAlEZ,OAAgB,aAAAC,EAAW,UAAAC,EAAQ,YAAAC,MAAgB,QACnD,OAAS,MAAAC,MAAU,yBAEnB,OAAS,YAAAC,MAAgB,SAEzB,MAAMC,EAAiBC,GAA2B,CAChD,KAAM,CAAE,MAAAC,EAAO,OAAAC,EAAQ,IAAAC,EAAK,OAAAC,EAAS,EAAG,aAAAC,CAAa,EAAIL,EACnD,CAACM,EAAaC,CAAc,EAAIX,EAAS,CAAC,EAC1CY,EAASb,EAAuB,IAAI,EAEpCc,EAAkBC,GAAqB,CAC3CA,EAAI,eAAe,CAAE,SAAU,SAAU,OAAQ,QAAS,CAAC,CAC7D,EAEMC,EAAqB,CAACC,EAAUC,EAAeC,IAAyC,CAC5FP,EAAeM,CAAK,EACpB,MAAMH,EAAMI,EAAE,OACdL,EAAeC,CAAG,EACdE,EAAI,QACN,SAAS,cAAc,IAAIA,EAAI,MAAM,EAAE,GAAG,eAAe,CAAE,SAAU,QAAS,CAAC,EAEjFE,EAAE,eAAe,EACjBT,GAAgBA,EAAaO,EAAKC,EAAOC,CAAwC,CACnF,EAEA,OAAApB,EAAU,IAAM,CACd,MAAMqB,EAAgBjB,EAAS,IAAM,CACnC,MAAMkB,EAAwB,CAAC,EAC/Bf,GAAO,QAAQW,GAAO,CACpB,MAAMK,EAAU,SAAS,cAAc,IAAIL,EAAI,MAAM,EAAE,EACnDK,GACFD,EAAY,KAAKC,EAAQ,sBAAsB,EAAE,GAAG,CAExD,CAAC,EACD,MAAMJ,EAAQG,EAAY,UAAUE,GAAcA,EAAaC,EAAYf,CAAM,EACjFG,EAAeM,IAAU,GAAKG,EAAY,OAAS,EAAIH,IAAU,EAAI,EAAIA,EAAQ,CAAC,CACpF,EAAG,GAAG,EACAM,EAAYX,EAAO,SAAS,sBAAsB,EAAE,QAAU,EACpE,cAAO,iBAAiB,SAAUO,CAAa,EACxC,IAAM,CACX,OAAO,oBAAoB,SAAUA,CAAa,CACpD,CACF,EAAG,CAACd,EAAOG,CAAM,CAAC,EAGhBX,EAAC,OACC,GAAG,MACH,UAAWI,EAAG,iEAAkEM,GAAK,SAAS,EAC9F,MACE,CACE,YAAaD,GAAQ,SAAW,UAChC,UAAWA,GAAQ,OAAS,OAC5B,gBAAiBA,GAAQ,aAAe,MAC1C,EAGF,SAAAT,EAAC,OACC,UAAWI,EACT,iIACA,0CACAM,GAAK,GACP,EACA,IAAKK,EAEJ,SAAAP,GAAO,IAAI,CAACW,EAAKC,IAEdpB,EAAC,KAEC,KAAM,IAAImB,EAAI,MAAM,GACpB,UAAWf,EACT,yJACAM,GAAK,KACL,CACE,CAAC,wNAAwNA,GAAK,UAAU,EAAE,EACxOG,IAAgBO,CACpB,CACF,EACA,QAASC,GAAKH,EAAmBC,EAAKC,EAAOC,CAAC,EAE7C,SAAAF,EAAI,OAZAA,EAAI,KAaX,CAEH,EACH,EACF,CAEJ,EAEA,IAAOQ,EAAQrB",
4
+ "sourcesContent": ["import React, { useEffect, useRef, useState } from 'react'\nimport { cn } from '../../helpers/utils.js'\nimport type { Nav, NavigationProps } from './types.js'\nimport { debounce } from 'es-toolkit'\n\nconst CpnNavigation = (props: NavigationProps) => {\n const { lists, styles, cns, offset = 0, clickHandler } = props\n const [activeIndex, setActiveIndex] = useState(0)\n const navBox = useRef<HTMLDivElement>(null)\n\n const scrollIntoView = (ele: HTMLElement) => {\n ele.scrollIntoView({ behavior: 'smooth', inline: 'center' })\n }\n\n const handleNavItemClick = (nav: Nav, index: number, e: React.SyntheticEvent<EventTarget>) => {\n setActiveIndex(index)\n const ele = e.target as HTMLAnchorElement\n scrollIntoView(ele)\n if (nav.anchor) {\n document.querySelector(`#${nav.anchor}`)?.scrollIntoView({ behavior: 'smooth' })\n }\n e.preventDefault()\n clickHandler && clickHandler(nav, index, e as React.MouseEvent<HTMLAnchorElement>)\n }\n\n useEffect(() => {\n const scrollHandler = debounce(() => {\n const sectionTops: number[] = []\n lists?.forEach(nav => {\n const section = document.querySelector(`#${nav.anchor}`)\n if (section) {\n sectionTops.push(section.getBoundingClientRect().top)\n }\n })\n const index = sectionTops.findIndex(sectionTop => sectionTop > navHeight + offset)\n setActiveIndex(index === -1 ? sectionTops.length - 1 : index === 0 ? 0 : index - 1)\n }, 100)\n const navHeight = navBox.current?.getBoundingClientRect().height || 0\n window.addEventListener('scroll', scrollHandler)\n return () => {\n window.removeEventListener('scroll', scrollHandler)\n }\n }, [lists, offset])\n\n return (\n <div\n id=\"nav\"\n className={cn('cpn-nav-container sticky top-0 z-10 w-full bg-[var(--bgColor)]', cns?.container)}\n style={\n {\n '--bgColor': styles?.bgColor || '#C6F1FF',\n '--color': styles?.color || '#333',\n '--activeColor': styles?.activeColor || '#000',\n } as React.CSSProperties\n }\n >\n <div\n className={cn(\n 'cpn-nav-box relative flex items-center justify-start gap-[18px] overflow-scroll px-6 text-center [&::-webkit-scrollbar]:hidden',\n 'tablet:gap-[80px] tablet:justify-center',\n cns?.box\n )}\n ref={navBox}\n >\n {lists?.map((nav, index) => {\n return (\n <a\n key={nav.label}\n href={`#${nav.anchor}`}\n className={cn(\n 'cpn-nav-item relative cursor-pointer whitespace-nowrap py-[14px] text-[16px] font-medium leading-[1.2] text-[var(--color)] transition-all duration-200',\n cns?.item,\n {\n [`border-[var(--activeColor)] text-[var(--activeColor)] after:absolute after:bottom-0 after:left-0 after:h-[2px] after:w-full after:bg-[var(--activeColor)] after:transition-all after:duration-200 after:content-[\"\"] ${cns?.activeItem}`]:\n activeIndex === index,\n }\n )}\n onClick={e => handleNavItemClick(nav, index, e)}\n >\n {nav.label}\n </a>\n )\n })}\n </div>\n </div>\n )\n}\n\nexport default CpnNavigation\n"],
5
+ "mappings": "AAkEY,cAAAA,MAAA,oBAlEZ,OAAgB,aAAAC,EAAW,UAAAC,EAAQ,YAAAC,MAAgB,QACnD,OAAS,MAAAC,MAAU,yBAEnB,OAAS,YAAAC,MAAgB,aAEzB,MAAMC,EAAiBC,GAA2B,CAChD,KAAM,CAAE,MAAAC,EAAO,OAAAC,EAAQ,IAAAC,EAAK,OAAAC,EAAS,EAAG,aAAAC,CAAa,EAAIL,EACnD,CAACM,EAAaC,CAAc,EAAIX,EAAS,CAAC,EAC1CY,EAASb,EAAuB,IAAI,EAEpCc,EAAkBC,GAAqB,CAC3CA,EAAI,eAAe,CAAE,SAAU,SAAU,OAAQ,QAAS,CAAC,CAC7D,EAEMC,EAAqB,CAACC,EAAUC,EAAeC,IAAyC,CAC5FP,EAAeM,CAAK,EACpB,MAAMH,EAAMI,EAAE,OACdL,EAAeC,CAAG,EACdE,EAAI,QACN,SAAS,cAAc,IAAIA,EAAI,MAAM,EAAE,GAAG,eAAe,CAAE,SAAU,QAAS,CAAC,EAEjFE,EAAE,eAAe,EACjBT,GAAgBA,EAAaO,EAAKC,EAAOC,CAAwC,CACnF,EAEA,OAAApB,EAAU,IAAM,CACd,MAAMqB,EAAgBjB,EAAS,IAAM,CACnC,MAAMkB,EAAwB,CAAC,EAC/Bf,GAAO,QAAQW,GAAO,CACpB,MAAMK,EAAU,SAAS,cAAc,IAAIL,EAAI,MAAM,EAAE,EACnDK,GACFD,EAAY,KAAKC,EAAQ,sBAAsB,EAAE,GAAG,CAExD,CAAC,EACD,MAAMJ,EAAQG,EAAY,UAAUE,GAAcA,EAAaC,EAAYf,CAAM,EACjFG,EAAeM,IAAU,GAAKG,EAAY,OAAS,EAAIH,IAAU,EAAI,EAAIA,EAAQ,CAAC,CACpF,EAAG,GAAG,EACAM,EAAYX,EAAO,SAAS,sBAAsB,EAAE,QAAU,EACpE,cAAO,iBAAiB,SAAUO,CAAa,EACxC,IAAM,CACX,OAAO,oBAAoB,SAAUA,CAAa,CACpD,CACF,EAAG,CAACd,EAAOG,CAAM,CAAC,EAGhBX,EAAC,OACC,GAAG,MACH,UAAWI,EAAG,iEAAkEM,GAAK,SAAS,EAC9F,MACE,CACE,YAAaD,GAAQ,SAAW,UAChC,UAAWA,GAAQ,OAAS,OAC5B,gBAAiBA,GAAQ,aAAe,MAC1C,EAGF,SAAAT,EAAC,OACC,UAAWI,EACT,iIACA,0CACAM,GAAK,GACP,EACA,IAAKK,EAEJ,SAAAP,GAAO,IAAI,CAACW,EAAKC,IAEdpB,EAAC,KAEC,KAAM,IAAImB,EAAI,MAAM,GACpB,UAAWf,EACT,yJACAM,GAAK,KACL,CACE,CAAC,wNAAwNA,GAAK,UAAU,EAAE,EACxOG,IAAgBO,CACpB,CACF,EACA,QAASC,GAAKH,EAAmBC,EAAKC,EAAOC,CAAC,EAE7C,SAAAF,EAAI,OAZAA,EAAI,KAaX,CAEH,EACH,EACF,CAEJ,EAEA,IAAOQ,EAAQrB",
6
6
  "names": ["jsx", "useEffect", "useRef", "useState", "cn", "debounce", "CpnNavigation", "props", "lists", "styles", "cns", "offset", "clickHandler", "activeIndex", "setActiveIndex", "navBox", "scrollIntoView", "ele", "handleNavItemClick", "nav", "index", "e", "scrollHandler", "sectionTops", "section", "sectionTop", "navHeight", "CpnNavigation_default"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/ScrollLoadVideo.tsx"],
4
- "sourcesContent": ["import React, { useEffect, useState, useRef, useCallback } from 'react'\nimport { cn } from '../helpers/utils.js'\nimport { debounce } from 'lodash'\n\n// \u521B\u5EFA\u4E00\u4E2A\u5168\u5C40\u7F13\u5B58\u6765\u5B58\u50A8\u5DF2\u52A0\u8F7D\u7684\u89C6\u9891URL\nconst globalLoadedVideoUrls = new Set<string>()\n\nconst ScrollLoadVideo = ({\n src,\n poster,\n alt = 'Scroll Loaded Video',\n className = '',\n videoWrapperClassName = '',\n videoClassName = '',\n autoplay = false,\n muted = true,\n loop = true,\n controls = false,\n playsInline = true,\n videoRef = null,\n ...attr\n}: {\n src: string\n poster?: string\n alt?: string\n className?: string\n videoWrapperClassName?: string\n videoClassName?: string\n autoplay?: boolean\n muted?: boolean\n loop?: boolean\n controls?: boolean\n playsInline?: boolean\n [key: string]: any\n}) => {\n const [isVideoStartLoad, setIsVideoStartLoad] = useState(false)\n const [isVideoLoaded, setIsVideoLoaded] = useState(false)\n const ref = useRef<HTMLDivElement>(null)\n // \u5185\u90E8\u89C6\u9891\u5F15\u7528\uFF0C\u5982\u679C\u5916\u90E8\u6CA1\u6709\u4F20\u5165 videoRef\n const internalVideoRef = useRef<HTMLVideoElement>(null)\n // \u4FDD\u5B58\u5F53\u524D\u52A0\u8F7D\u7684\u89C6\u9891URL\n const currentVideoUrl = useRef<string>('')\n\n // \u5728\u7EC4\u4EF6\u6302\u8F7D\u65F6\u68C0\u67E5\u89C6\u9891\u662F\u5426\u5DF2\u7ECF\u88AB\u52A0\u8F7D\u8FC7\n useEffect(() => {\n // \u5982\u679C\u89C6\u9891\u5DF2\u7ECF\u88AB\u5168\u5C40\u7F13\u5B58\u8FC7\uFF0C\u76F4\u63A5\u8BBE\u7F6E\u4E3A\u5DF2\u52A0\u8F7D\u72B6\u6001\n if (globalLoadedVideoUrls.has(src)) {\n setIsVideoStartLoad(true)\n setIsVideoLoaded(true)\n currentVideoUrl.current = src\n }\n }, [src])\n\n // \u5F53\u89C6\u9891\u5DF2\u52A0\u8F7D\u4E14\u5DF2\u5F00\u59CB\u52A0\u8F7D\u65F6\uFF0C\u5C1D\u8BD5\u64AD\u653E\u89C6\u9891\n useEffect(() => {\n if (isVideoLoaded && isVideoStartLoad) {\n const videoElement = videoRef?.current || internalVideoRef.current\n if (videoElement) {\n // \u786E\u4FDD\u9759\u97F3\u4EE5\u5141\u8BB8\u81EA\u52A8\u64AD\u653E\n videoElement.muted = true\n // \u5C1D\u8BD5\u64AD\u653E\u89C6\u9891\n videoElement.play().catch((error: unknown) => {\n console.warn('\u89C6\u9891\u81EA\u52A8\u64AD\u653E\u5931\u8D25:', error)\n })\n }\n }\n }, [isVideoLoaded, isVideoStartLoad, videoRef])\n\n // \u9884\u52A0\u8F7D\u89C6\u9891\n const preloadVideo = useCallback(() => {\n const videoUrl = src\n\n if (!videoUrl) return\n\n // \u5982\u679C\u5F53\u524DURL\u5DF2\u7ECF\u662F\u89C6\u9891\u7248\u672C\uFF0C\u65E0\u9700\u91CD\u590D\u52A0\u8F7D\n if (currentVideoUrl.current === videoUrl && isVideoLoaded) {\n return\n }\n\n // \u68C0\u67E5\u662F\u5426\u5DF2\u7ECF\u52A0\u8F7D\u8FC7\u8FD9\u4E2AURL\u7684\u89C6\u9891\u7248\u672C\n if (globalLoadedVideoUrls.has(videoUrl)) {\n setIsVideoLoaded(true)\n currentVideoUrl.current = videoUrl\n return\n }\n\n // \u66F4\u65B0\u5F53\u524D\u89C6\u9891URL\n currentVideoUrl.current = videoUrl\n\n // \u9884\u52A0\u8F7D\u89C6\u9891\n const videoElement = document.createElement('video')\n videoElement.preload = 'metadata'\n videoElement.onloadedmetadata = () => {\n setIsVideoLoaded(true)\n globalLoadedVideoUrls.add(videoUrl)\n }\n videoElement.src = videoUrl\n }, [isVideoLoaded, src])\n\n useEffect(() => {\n if (!ref.current || isVideoLoaded) return\n const scrollHandler = debounce(() => {\n if (window.scrollY > 10) {\n setIsVideoStartLoad(true)\n preloadVideo()\n return window.removeEventListener('scroll', scrollHandler)\n }\n }, 100)\n window.addEventListener('scroll', scrollHandler)\n return () => {\n window.removeEventListener('scroll', scrollHandler)\n }\n }, [preloadVideo, isVideoLoaded])\n\n const handleVideoLoad = useCallback(() => {\n setIsVideoLoaded(true)\n // \u8BB0\u5F55\u5F53\u524DURL\u5DF2\u52A0\u8F7D\u89C6\u9891\u7248\u672C\n if (currentVideoUrl.current) {\n globalLoadedVideoUrls.add(currentVideoUrl.current)\n }\n const videoElement = videoRef?.current || internalVideoRef.current\n if (videoElement) {\n videoElement.muted = true\n videoElement.play()\n }\n }, [])\n\n return (\n <div ref={ref} className={cn('relative size-full', className)}>\n {poster && (\n <div\n className={cn(\n 'absolute inset-0 size-full overflow-hidden transition-opacity duration-500 ease-in-out',\n videoWrapperClassName,\n {\n 'opacity-100': !isVideoLoaded,\n 'overflow-visible opacity-0': isVideoLoaded,\n }\n )}\n >\n <img\n src={poster}\n alt={alt}\n style={{ width: '100%', height: '100%', objectFit: 'cover' }}\n className={cn(videoClassName)}\n />\n </div>\n )}\n <div\n className={cn('size-full transition-opacity duration-500 ease-in-out', {\n 'opacity-100': isVideoLoaded,\n 'opacity-0': !isVideoLoaded,\n })}\n style={{ visibility: isVideoStartLoad ? 'visible' : 'hidden' }}\n >\n {isVideoStartLoad && (\n <div className={cn('relative size-full', videoWrapperClassName)}>\n <video\n ref={videoRef || internalVideoRef}\n key={currentVideoUrl.current} // \u6DFB\u52A0key\u786E\u4FDDURL\u53D8\u5316\u65F6\u91CD\u65B0\u6E32\u67D3\n src={currentVideoUrl.current || src}\n poster={poster}\n className={cn('size-full object-cover', videoClassName)}\n onLoadedMetadata={handleVideoLoad}\n autoPlay={autoplay}\n muted={muted}\n loop={loop}\n controls={controls}\n playsInline={playsInline}\n {...attr}\n />\n </div>\n )}\n </div>\n </div>\n )\n}\n\nexport default ScrollLoadVideo\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import React, { useEffect, useState, useRef, useCallback } from 'react'\nimport { cn } from '../helpers/utils.js'\nimport { debounce } from 'lodash'\n\n// \u521B\u5EFA\u4E00\u4E2A\u5168\u5C40\u7F13\u5B58\u6765\u5B58\u50A8\u5DF2\u52A0\u8F7D\u7684\u89C6\u9891URL\nconst globalLoadedVideoUrls = new Set<string>()\n\nconst ScrollLoadVideo = ({\n src,\n poster,\n alt = 'Scroll Loaded Video',\n className = '',\n videoWrapperClassName = '',\n videoClassName = '',\n autoplay = false,\n muted = true,\n loop = true,\n controls = false,\n playsInline = true,\n videoRef = null,\n ...attr\n}: {\n src: string\n poster?: string\n alt?: string\n className?: string\n videoWrapperClassName?: string\n videoClassName?: string\n autoplay?: boolean\n muted?: boolean\n loop?: boolean\n controls?: boolean\n playsInline?: boolean\n [key: string]: any\n}) => {\n const [isVideoStartLoad, setIsVideoStartLoad] = useState(false)\n const [isVideoLoaded, setIsVideoLoaded] = useState(false)\n const ref = useRef<HTMLDivElement>(null)\n // \u5185\u90E8\u89C6\u9891\u5F15\u7528\uFF0C\u5982\u679C\u5916\u90E8\u6CA1\u6709\u4F20\u5165 videoRef\n const internalVideoRef = useRef<HTMLVideoElement>(null)\n // \u4FDD\u5B58\u5F53\u524D\u52A0\u8F7D\u7684\u89C6\u9891URL\n const currentVideoUrl = useRef<string>('')\n\n // \u5728\u7EC4\u4EF6\u6302\u8F7D\u65F6\u68C0\u67E5\u89C6\u9891\u662F\u5426\u5DF2\u7ECF\u88AB\u52A0\u8F7D\u8FC7\n useEffect(() => {\n // \u5982\u679C\u89C6\u9891\u5DF2\u7ECF\u88AB\u5168\u5C40\u7F13\u5B58\u8FC7\uFF0C\u76F4\u63A5\u8BBE\u7F6E\u4E3A\u5DF2\u52A0\u8F7D\u72B6\u6001\n if (globalLoadedVideoUrls.has(src)) {\n setIsVideoStartLoad(true)\n setIsVideoLoaded(true)\n currentVideoUrl.current = src\n }\n }, [src])\n\n // \u5F53\u89C6\u9891\u5DF2\u52A0\u8F7D\u4E14\u5DF2\u5F00\u59CB\u52A0\u8F7D\u65F6\uFF0C\u5C1D\u8BD5\u64AD\u653E\u89C6\u9891\n useEffect(() => {\n if (isVideoLoaded && isVideoStartLoad) {\n const videoElement = videoRef?.current || internalVideoRef.current\n if (videoElement) {\n // \u786E\u4FDD\u9759\u97F3\u4EE5\u5141\u8BB8\u81EA\u52A8\u64AD\u653E\n videoElement.muted = true\n // \u5C1D\u8BD5\u64AD\u653E\u89C6\u9891\n videoElement.play().catch((error: unknown) => {\n console.warn('\u89C6\u9891\u81EA\u52A8\u64AD\u653E\u5931\u8D25:', error)\n })\n }\n }\n }, [isVideoLoaded, isVideoStartLoad, videoRef])\n\n // \u9884\u52A0\u8F7D\u89C6\u9891\n const preloadVideo = useCallback(() => {\n const videoUrl = src\n\n if (!videoUrl) return\n\n // \u5982\u679C\u5F53\u524DURL\u5DF2\u7ECF\u662F\u89C6\u9891\u7248\u672C\uFF0C\u65E0\u9700\u91CD\u590D\u52A0\u8F7D\n if (currentVideoUrl.current === videoUrl && isVideoLoaded) {\n return\n }\n\n // \u68C0\u67E5\u662F\u5426\u5DF2\u7ECF\u52A0\u8F7D\u8FC7\u8FD9\u4E2AURL\u7684\u89C6\u9891\u7248\u672C\n if (globalLoadedVideoUrls.has(videoUrl)) {\n setIsVideoLoaded(true)\n currentVideoUrl.current = videoUrl\n return\n }\n\n // \u66F4\u65B0\u5F53\u524D\u89C6\u9891URL\n currentVideoUrl.current = videoUrl\n\n // \u9884\u52A0\u8F7D\u89C6\u9891\n const videoElement = document.createElement('video')\n videoElement.preload = 'metadata'\n videoElement.onloadedmetadata = () => {\n setIsVideoLoaded(true)\n globalLoadedVideoUrls.add(videoUrl)\n }\n videoElement.src = videoUrl\n }, [isVideoLoaded, src])\n\n useEffect(() => {\n if (!ref.current || isVideoLoaded) return\n // @ts-ignore\n const scrollHandler = debounce(() => {\n if (window.scrollY > 10) {\n setIsVideoStartLoad(true)\n preloadVideo()\n return window.removeEventListener('scroll', scrollHandler)\n }\n }, 100)\n window.addEventListener('scroll', scrollHandler)\n return () => {\n window.removeEventListener('scroll', scrollHandler)\n }\n }, [preloadVideo, isVideoLoaded])\n\n const handleVideoLoad = useCallback(() => {\n setIsVideoLoaded(true)\n // \u8BB0\u5F55\u5F53\u524DURL\u5DF2\u52A0\u8F7D\u89C6\u9891\u7248\u672C\n if (currentVideoUrl.current) {\n globalLoadedVideoUrls.add(currentVideoUrl.current)\n }\n const videoElement = videoRef?.current || internalVideoRef.current\n if (videoElement) {\n videoElement.muted = true\n videoElement.play()\n }\n }, [])\n\n return (\n <div ref={ref} className={cn('relative size-full', className)}>\n {poster && (\n <div\n className={cn(\n 'absolute inset-0 size-full overflow-hidden transition-opacity duration-500 ease-in-out',\n videoWrapperClassName,\n {\n 'opacity-100': !isVideoLoaded,\n 'overflow-visible opacity-0': isVideoLoaded,\n }\n )}\n >\n <img\n src={poster}\n alt={alt}\n style={{ width: '100%', height: '100%', objectFit: 'cover' }}\n className={cn(videoClassName)}\n />\n </div>\n )}\n <div\n className={cn('size-full transition-opacity duration-500 ease-in-out', {\n 'opacity-100': isVideoLoaded,\n 'opacity-0': !isVideoLoaded,\n })}\n style={{ visibility: isVideoStartLoad ? 'visible' : 'hidden' }}\n >\n {isVideoStartLoad && (\n <div className={cn('relative size-full', videoWrapperClassName)}>\n <video\n ref={videoRef || internalVideoRef}\n key={currentVideoUrl.current} // \u6DFB\u52A0key\u786E\u4FDDURL\u53D8\u5316\u65F6\u91CD\u65B0\u6E32\u67D3\n src={currentVideoUrl.current || src}\n poster={poster}\n className={cn('size-full object-cover', videoClassName)}\n onLoadedMetadata={handleVideoLoad}\n autoPlay={autoplay}\n muted={muted}\n loop={loop}\n controls={controls}\n playsInline={playsInline}\n {...attr}\n />\n </div>\n )}\n </div>\n </div>\n )\n}\n\nexport default ScrollLoadVideo\n"],
5
+ "mappings": "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",
6
6
  "names": ["jsx", "jsxs", "useEffect", "useState", "useRef", "useCallback", "cn", "debounce", "globalLoadedVideoUrls", "ScrollLoadVideo", "src", "poster", "alt", "className", "videoWrapperClassName", "videoClassName", "autoplay", "muted", "loop", "controls", "playsInline", "videoRef", "attr", "isVideoStartLoad", "setIsVideoStartLoad", "isVideoLoaded", "setIsVideoLoaded", "ref", "internalVideoRef", "currentVideoUrl", "videoElement", "error", "preloadVideo", "videoUrl", "scrollHandler", "handleVideoLoad", "ScrollLoadVideo_default"]
7
7
  }
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import type { ReactNode } from 'react';
3
+ interface ErrorBoundaryProps {
4
+ children: ReactNode;
5
+ fallback?: ReactNode;
6
+ }
7
+ interface ErrorBoundaryState {
8
+ hasError: boolean;
9
+ error: Error | null;
10
+ errorInfo: React.ErrorInfo | null;
11
+ }
12
+ declare class ErrorBoundary extends React.Component<ErrorBoundaryProps, ErrorBoundaryState> {
13
+ constructor(props: ErrorBoundaryProps);
14
+ static getDerivedStateFromError(error: Error): ErrorBoundaryState;
15
+ componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void;
16
+ render(): string | number | bigint | boolean | import("react/jsx-runtime").JSX.Element | Iterable<React.ReactNode> | Promise<React.AwaitedReactNode> | null | undefined;
17
+ }
18
+ export default ErrorBoundary;
@@ -0,0 +1,2 @@
1
+ import"react/jsx-runtime";import o from"react";class t extends o.Component{constructor(r){super(r),this.state={hasError:!1,error:null,errorInfo:null}}static getDerivedStateFromError(r){return{hasError:!0,error:r,errorInfo:null}}componentDidCatch(r,e){console.error("@anker-in/headless-ui biz component ErrorBoundary caught an error:",r,e),this.setState({errorInfo:e})}render(){return this.state.hasError?this.props.fallback?this.props.fallback:null:this.props.children}}var s=t;export{s as default};
2
+ //# sourceMappingURL=ErrorBoundary.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/shared/ErrorBoundary.tsx"],
4
+ "sourcesContent": ["import React from 'react'\nimport type { ReactNode } from 'react'\n\ninterface ErrorBoundaryProps {\n children: ReactNode\n fallback?: ReactNode // \u53EF\u81EA\u5B9A\u4E49\u9519\u8BEFUI\n}\n\ninterface ErrorBoundaryState {\n hasError: boolean\n error: Error | null\n errorInfo: React.ErrorInfo | null\n}\n\nclass ErrorBoundary extends React.Component<ErrorBoundaryProps, ErrorBoundaryState> {\n constructor(props: ErrorBoundaryProps) {\n super(props)\n this.state = { hasError: false, error: null, errorInfo: null }\n }\n\n static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n return { hasError: true, error, errorInfo: null }\n }\n\n componentDidCatch(error: Error, errorInfo: React.ErrorInfo) {\n console.error('@anker-in/headless-ui biz component ErrorBoundary caught an error:', error, errorInfo)\n this.setState({ errorInfo })\n // \u53EF\u4EE5\u5728\u8FD9\u91CC\u4E0A\u62A5\u9519\u8BEF\u65E5\u5FD7\n }\n\n render() {\n if (this.state.hasError) {\n // \u4F7F\u7528\u81EA\u5B9A\u4E49 fallback UI \u6216\u9ED8\u8BA4 UI\n if (this.props.fallback) return this.props.fallback\n // \u53EA\u5728\u5F00\u53D1\u6A21\u5F0F\u663E\u793A\u9519\u8BEF\n return process.env.NODE_ENV === 'development' ? (\n <div style={{ padding: 20, textAlign: 'center' }}>\n <h1>something went wrong \uD83D\uDE22</h1>\n <p>{this.state.error?.message}</p>\n <details style={{ whiteSpace: 'pre-wrap' }}>{this.state.errorInfo?.componentStack}</details>\n </div>\n ) : null\n }\n\n return this.props.children\n }\n}\n\nexport default ErrorBoundary\n"],
5
+ "mappings": "AAoCQ,0BApCR,OAAOA,MAAW,QAclB,MAAMC,UAAsBD,EAAM,SAAkD,CAClF,YAAYE,EAA2B,CACrC,MAAMA,CAAK,EACX,KAAK,MAAQ,CAAE,SAAU,GAAO,MAAO,KAAM,UAAW,IAAK,CAC/D,CAEA,OAAO,yBAAyBC,EAAkC,CAChE,MAAO,CAAE,SAAU,GAAM,MAAAA,EAAO,UAAW,IAAK,CAClD,CAEA,kBAAkBA,EAAcC,EAA4B,CAC1D,QAAQ,MAAM,qEAAsED,EAAOC,CAAS,EACpG,KAAK,SAAS,CAAE,UAAAA,CAAU,CAAC,CAE7B,CAEA,QAAS,CACP,OAAI,KAAK,MAAM,SAET,KAAK,MAAM,SAAiB,KAAK,MAAM,SAQvC,KAGC,KAAK,MAAM,QACpB,CACF,CAEA,IAAOC,EAAQJ",
6
+ "names": ["React", "ErrorBoundary", "props", "error", "errorInfo", "ErrorBoundary_default"]
7
+ }
@@ -34,6 +34,6 @@ export declare const useStyles: (styleProps: Partial<StylesProps>, data?: Record
34
34
  * @param defaultLayoutProps - 默认样式属性
35
35
  */
36
36
  export declare function withLayout<P extends object>(WrappedComponent: React.ComponentType<P>, defaultLayoutProps?: Partial<StylesProps & ContainerProps>): React.ForwardRefExoticComponent<React.PropsWithoutRef<Omit<P, keyof StylesProps> & Partial<StylesProps & ContainerProps> & {
37
- className?: string;
38
- data?: Record<string, any>;
37
+ className?: string | undefined;
38
+ data?: Record<string, any> | undefined;
39
39
  }> & React.RefAttributes<any>>;
@@ -1,2 +1,2 @@
1
- import{Fragment as w,jsx as a,jsxs as h}from"react/jsx-runtime";import P,{useMemo as l}from"react";import{simpleHash as S}from"./simpleHash.js";import g from"./getKeyPropsString.js";import{Grid as f,GridItem as C}from"../components/gird.js";import{Container as $}from"../components/container.js";const c={12:"col-start-1 col-end-13",10:"col-start-2 col-end-12",8:"col-start-3 col-end-11",6:"col-start-4 col-end-10",4:"col-start-5 col-end-9"},y=t=>{const n=g(t);return`style_${S(n)}`},b=t=>{const{style:n,uid:e,disabled:s}=t;return{style:n,uid:e,disabled:s}},N=({style:t,uid:n=y({}),disabled:e=!1})=>!t||e?null:a("style",{suppressHydrationWarning:!0,"data-style-id":n,children:`.block-${n} { ${t} }`}),R=(t,n)=>{const e=l(()=>t?.uid||y({...t,data:n}),[n,t]),s=l(()=>a(N,{...t,uid:e}),[t,e]);return{className:`block-${e} `,StyleComponent:s,uid:e}},k=t=>{const{desktopSpan:n,mobileSpan:e}=t?.container||{};return`${e?`${c[e]}`:""} ${n?`${c[n].split(" ").map(s=>`tablet:${s}`).join(" ")}`:""}`};function K(t,n){const e=P.forwardRef((s,o)=>{const m={...n,...b(s)},{className:i,StyleComponent:d}=R(m,s?.data),u=r=>a($,{className:`${i} ${r?.className}`,children:a(f,{className:"container_grid",children:a(C,{className:k(r),children:a(t,{...r,ref:o})})})}),p=r=>a(t,{...r,className:`${i} ${r?.className}`,ref:o});return h(w,{children:[d,Reflect.ownKeys(s?.container||{})?.length>0?u(s):p(s)]})});return e.displayName=t.displayName||t.name||"Component",e}export{b as getStylesProps,R as useStyles,K as withLayout};
1
+ import{Fragment as G,jsx as a,jsxs as x}from"react/jsx-runtime";import b,{useMemo as c}from"react";import{simpleHash as p}from"./simpleHash.js";import P from"./getKeyPropsString.js";import{Grid as S,GridItem as g}from"../components/gird.js";import{Container as C}from"../components/container.js";import f from"./ErrorBoundary.js";const N={12:"col-start-1 col-end-13",10:"col-start-2 col-end-12",8:"col-start-3 col-end-11",6:"col-start-4 col-end-10",4:"col-start-5 col-end-9"},R={12:"tablet:col-start-1 tablet:col-end-13",10:"tablet:col-start-2 tablet:col-end-12",8:"tablet:col-start-3 tablet:col-end-11",6:"tablet:col-start-4 tablet:col-end-10",4:"tablet:col-start-5 tablet:col-end-9"},i=t=>{const e=P(t);return`style_${p(e)}`},k=t=>{const{style:e,uid:n,disabled:s}=t;return{style:e,uid:n,disabled:s}},$=({style:t,uid:e=i({}),disabled:n=!1})=>!t||n?null:a("style",{suppressHydrationWarning:!0,"data-style-id":e,children:`.block-${e} { ${t} }`}),w=(t,e)=>{const n=c(()=>t?.uid||i({...t,data:e}),[e,t]),s=c(()=>a($,{...t,uid:n}),[t,n]);return{className:`block-${n} `,StyleComponent:s,uid:n}},h=t=>{const{desktopSpan:e,mobileSpan:n}=t?.container||{},s=n?N[n]:"",r=e?R[e]:"";return`${s} ${r}`.trim()};function L(t,e){const n=b.forwardRef((s,r)=>{const d={...e,...k(s)},{className:l,StyleComponent:m}=w(d,s?.data),y=o=>a(C,{className:`${l} ${o?.className}`,children:a(S,{className:"container_grid",children:a(g,{className:h(o),children:a(t,{...o,ref:r})})})}),u=o=>a(t,{...o,className:`${l} ${o?.className}`,ref:r});return a(G,{children:x(f,{children:[m,Reflect.ownKeys(s?.container||{})?.length>0?y(s):u(s)]})})});return n.displayName=t.displayName||t.name||"Component",n}export{k as getStylesProps,w as useStyles,L as withLayout};
2
2
  //# sourceMappingURL=Styles.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/shared/Styles.tsx"],
4
- "sourcesContent": ["import React, { useMemo } from 'react'\nimport { simpleHash } from './simpleHash.js'\nimport getKeyPropsString from './getKeyPropsString.js'\nimport { Grid, GridItem } from '../components/gird.js'\nimport { Container } from '../components/container.js'\n\nconst colContentClasses: Record<number, string> = {\n 12: 'col-start-1 col-end-13',\n 10: 'col-start-2 col-end-12',\n 8: 'col-start-3 col-end-11',\n 6: 'col-start-4 col-end-10',\n 4: 'col-start-5 col-end-9',\n} as const\n\nexport interface ContainerProps {\n container?: {\n /** \u684C\u9762\u7AEF\u5217\u5185\u5BB9\u5BBD\u5EA6 */\n desktopSpan: number\n /** \u79FB\u52A8\u7AEF\u5217\u5185\u5BB9\u5BBD\u5EA6 */\n mobileSpan: number\n }\n}\n\nexport interface StylesProps {\n /** \u81EA\u5B9A\u4E49\u6837\u5F0F\u5B57\u7B26\u4E32 */\n style?: string\n /** \u552F\u4E00\u6807\u8BC6\u7B26 */\n uid?: string\n /** \u662F\u5426\u7981\u7528 */\n disabled?: boolean\n}\n\n/**\n * \u6839\u636E props \u751F\u6210\u786E\u5B9A\u6027 uid\n */\nconst generateUID = (props: Record<string, any>) => {\n const keyString = getKeyPropsString(props)\n return `style_${simpleHash(keyString)}`\n}\n\n/**\n * \u4ECE\u7EC4\u4EF6 props \u4E2D\u63D0\u53D6\u6837\u5F0F\u76F8\u5173\u5C5E\u6027\n */\nexport const getStylesProps = <T extends Record<string, unknown>>(props: T & StylesProps): StylesProps => {\n const { style, uid, disabled } = props\n return { style, uid, disabled }\n}\n\n/**\n * \u6837\u5F0F\u6CE8\u5165\u7EC4\u4EF6\n */\nconst Styles: React.FC<StylesProps> = ({ style, uid = generateUID({}), disabled = false }) => {\n if (!style || disabled) {\n return null\n }\n\n return <style suppressHydrationWarning data-style-id={uid}>{`.block-${uid} { ${style} }`}</style>\n}\n\n/**\n * \u6837\u5F0F Hook\uFF0C\u8FD4\u56DE\u6837\u5F0F\u7C7B\u540D\u548C\u6837\u5F0F\u7EC4\u4EF6\n * @param styleProps - \u6837\u5F0F\u5C5E\u6027\n */\nexport const useStyles = (styleProps: Partial<StylesProps>, data?: Record<string, any>) => {\n const uid = useMemo(() => styleProps?.uid || generateUID({ ...styleProps, data }), [data, styleProps])\n\n const StyleComponent = useMemo(() => <Styles {...styleProps} uid={uid} />, [styleProps, uid])\n\n return {\n className: `block-${uid} `,\n StyleComponent,\n uid,\n } as const\n}\n\nconst getContainerClassName = (props?: Partial<StylesProps & ContainerProps>) => {\n const { desktopSpan, mobileSpan } = props?.container || {}\n return `${mobileSpan ? `${colContentClasses[mobileSpan]}` : ''} ${\n desktopSpan\n ? `${colContentClasses[desktopSpan]\n .split(' ')\n .map(item => `tablet:${item}`)\n .join(' ')}`\n : ''\n }`\n}\n\n/**\n * \u9AD8\u9636\u7EC4\u4EF6\uFF0C \u7528\u4E8E\u7ED9\u7EC4\u4EF6\u7528style \u6807\u7B7E\u7684\u5F62\u5F0F\u8FFD\u52A0\u6837\u5F0F\n * @param WrappedComponent - \u9700\u8981\u5305\u88C5\u7684\u7EC4\u4EF6\n * @param defaultLayoutProps - \u9ED8\u8BA4\u6837\u5F0F\u5C5E\u6027\n */\nexport function withLayout<P extends object>(\n WrappedComponent: React.ComponentType<P>,\n defaultLayoutProps?: Partial<StylesProps & ContainerProps>\n) {\n const withLayout = React.forwardRef<\n any,\n Omit<P, keyof StylesProps> &\n Partial<StylesProps & ContainerProps> & { className?: string; data?: Record<string, any> }\n >((props, ref) => {\n const finalStyleProps = {\n ...defaultLayoutProps,\n ...getStylesProps(props),\n }\n\n const { className, StyleComponent } = useStyles(finalStyleProps, (props as any)?.data)\n\n const WithContainerWrapper = (props: any) => {\n return (\n <Container className={`${className} ${(props as any)?.className}`}>\n <Grid className=\"container_grid\">\n <GridItem className={getContainerClassName(props)}>\n <WrappedComponent {...(props as unknown as P)} ref={ref} />\n </GridItem>\n </Grid>\n </Container>\n )\n }\n\n const WithoutContainerWrapper = (props: any) => {\n return (\n <WrappedComponent\n {...(props as unknown as P)}\n className={`${className} ${(props as any)?.className}`}\n ref={ref}\n />\n )\n }\n\n return (\n <>\n {StyleComponent}\n {Reflect.ownKeys((props as any)?.container || {})?.length > 0\n ? WithContainerWrapper(props)\n : WithoutContainerWrapper(props)}\n </>\n )\n })\n\n // \u76F4\u63A5\u4F7F\u7528\u539F\u59CB\u7EC4\u4EF6\u7684\u540D\u79F0\n withLayout.displayName = WrappedComponent.displayName || WrappedComponent.name || 'Component'\n return withLayout\n}\n"],
5
- "mappings": "AAwDS,OA2EH,YAAAA,EA3EG,OAAAC,EA2EH,QAAAC,MA3EG,oBAxDT,OAAOC,GAAS,WAAAC,MAAe,QAC/B,OAAS,cAAAC,MAAkB,kBAC3B,OAAOC,MAAuB,yBAC9B,OAAS,QAAAC,EAAM,YAAAC,MAAgB,wBAC/B,OAAS,aAAAC,MAAiB,6BAE1B,MAAMC,EAA4C,CAChD,GAAI,yBACJ,GAAI,yBACJ,EAAG,yBACH,EAAG,yBACH,EAAG,uBACL,EAuBMC,EAAeC,GAA+B,CAClD,MAAMC,EAAYP,EAAkBM,CAAK,EACzC,MAAO,SAASP,EAAWQ,CAAS,CAAC,EACvC,EAKaC,EAAqDF,GAAwC,CACxG,KAAM,CAAE,MAAAG,EAAO,IAAAC,EAAK,SAAAC,CAAS,EAAIL,EACjC,MAAO,CAAE,MAAAG,EAAO,IAAAC,EAAK,SAAAC,CAAS,CAChC,EAKMC,EAAgC,CAAC,CAAE,MAAAH,EAAO,IAAAC,EAAML,EAAY,CAAC,CAAC,EAAG,SAAAM,EAAW,EAAM,IAClF,CAACF,GAASE,EACL,KAGFhB,EAAC,SAAM,yBAAwB,GAAC,gBAAee,EAAM,mBAAUA,CAAG,MAAMD,CAAK,KAAK,EAO9EI,EAAY,CAACC,EAAkCC,IAA+B,CACzF,MAAML,EAAMZ,EAAQ,IAAMgB,GAAY,KAAOT,EAAY,CAAE,GAAGS,EAAY,KAAAC,CAAK,CAAC,EAAG,CAACA,EAAMD,CAAU,CAAC,EAE/FE,EAAiBlB,EAAQ,IAAMH,EAACiB,EAAA,CAAQ,GAAGE,EAAY,IAAKJ,EAAK,EAAI,CAACI,EAAYJ,CAAG,CAAC,EAE5F,MAAO,CACL,UAAW,SAASA,CAAG,IACvB,eAAAM,EACA,IAAAN,CACF,CACF,EAEMO,EAAyBX,GAAkD,CAC/E,KAAM,CAAE,YAAAY,EAAa,WAAAC,CAAW,EAAIb,GAAO,WAAa,CAAC,EACzD,MAAO,GAAGa,EAAa,GAAGf,EAAkBe,CAAU,CAAC,GAAK,EAAE,IAC5DD,EACI,GAAGd,EAAkBc,CAAW,EAC7B,MAAM,GAAG,EACT,IAAIE,GAAQ,UAAUA,CAAI,EAAE,EAC5B,KAAK,GAAG,CAAC,GACZ,EACN,EACF,EAOO,SAASC,EACdC,EACAC,EACA,CACA,MAAMF,EAAaxB,EAAM,WAIvB,CAACS,EAAOkB,IAAQ,CAChB,MAAMC,EAAkB,CACtB,GAAGF,EACH,GAAGf,EAAeF,CAAK,CACzB,EAEM,CAAE,UAAAoB,EAAW,eAAAV,CAAe,EAAIH,EAAUY,EAAkBnB,GAAe,IAAI,EAE/EqB,EAAwBrB,GAE1BX,EAACQ,EAAA,CAAU,UAAW,GAAGuB,CAAS,IAAKpB,GAAe,SAAS,GAC7D,SAAAX,EAACM,EAAA,CAAK,UAAU,iBACd,SAAAN,EAACO,EAAA,CAAS,UAAWe,EAAsBX,CAAK,EAC9C,SAAAX,EAAC2B,EAAA,CAAkB,GAAIhB,EAAwB,IAAKkB,EAAK,EAC3D,EACF,EACF,EAIEI,EAA2BtB,GAE7BX,EAAC2B,EAAA,CACE,GAAIhB,EACL,UAAW,GAAGoB,CAAS,IAAKpB,GAAe,SAAS,GACpD,IAAKkB,EACP,EAIJ,OACE5B,EAAAF,EAAA,CACG,UAAAsB,EACA,QAAQ,QAASV,GAAe,WAAa,CAAC,CAAC,GAAG,OAAS,EACxDqB,EAAqBrB,CAAK,EAC1BsB,EAAwBtB,CAAK,GACnC,CAEJ,CAAC,EAGD,OAAAe,EAAW,YAAcC,EAAiB,aAAeA,EAAiB,MAAQ,YAC3ED,CACT",
6
- "names": ["Fragment", "jsx", "jsxs", "React", "useMemo", "simpleHash", "getKeyPropsString", "Grid", "GridItem", "Container", "colContentClasses", "generateUID", "props", "keyString", "getStylesProps", "style", "uid", "disabled", "Styles", "useStyles", "styleProps", "data", "StyleComponent", "getContainerClassName", "desktopSpan", "mobileSpan", "item", "withLayout", "WrappedComponent", "defaultLayoutProps", "ref", "finalStyleProps", "className", "WithContainerWrapper", "WithoutContainerWrapper"]
4
+ "sourcesContent": ["import React, { useMemo } from 'react'\nimport { simpleHash } from './simpleHash.js'\nimport getKeyPropsString from './getKeyPropsString.js'\nimport { Grid, GridItem } from '../components/gird.js'\nimport { Container } from '../components/container.js'\nimport ErrorBoundary from './ErrorBoundary.js'\n\nconst colContentClasses: Record<number, string> = {\n 12: 'col-start-1 col-end-13',\n 10: 'col-start-2 col-end-12',\n 8: 'col-start-3 col-end-11',\n 6: 'col-start-4 col-end-10',\n 4: 'col-start-5 col-end-9',\n} as const\n\n// \u9884\u5B9A\u4E49\u5E26 tablet \u524D\u7F00\u7684\u7C7B\u540D\uFF0C\u786E\u4FDD Tailwind \u53EF\u4EE5\u8BC6\u522B\nconst colContentClassesTablet: Record<number, string> = {\n 12: 'tablet:col-start-1 tablet:col-end-13',\n 10: 'tablet:col-start-2 tablet:col-end-12',\n 8: 'tablet:col-start-3 tablet:col-end-11',\n 6: 'tablet:col-start-4 tablet:col-end-10',\n 4: 'tablet:col-start-5 tablet:col-end-9',\n} as const\n\nexport interface ContainerProps {\n container?: {\n /** \u684C\u9762\u7AEF\u5217\u5185\u5BB9\u5BBD\u5EA6 */\n desktopSpan: number\n /** \u79FB\u52A8\u7AEF\u5217\u5185\u5BB9\u5BBD\u5EA6 */\n mobileSpan: number\n }\n}\n\nexport interface StylesProps {\n /** \u81EA\u5B9A\u4E49\u6837\u5F0F\u5B57\u7B26\u4E32 */\n style?: string\n /** \u552F\u4E00\u6807\u8BC6\u7B26 */\n uid?: string\n /** \u662F\u5426\u7981\u7528 */\n disabled?: boolean\n}\n\n/**\n * \u6839\u636E props \u751F\u6210\u786E\u5B9A\u6027 uid\n */\nconst generateUID = (props: Record<string, any>) => {\n const keyString = getKeyPropsString(props)\n return `style_${simpleHash(keyString)}`\n}\n\n/**\n * \u4ECE\u7EC4\u4EF6 props \u4E2D\u63D0\u53D6\u6837\u5F0F\u76F8\u5173\u5C5E\u6027\n */\nexport const getStylesProps = <T extends Record<string, unknown>>(props: T & StylesProps): StylesProps => {\n const { style, uid, disabled } = props\n return { style, uid, disabled }\n}\n\n/**\n * \u6837\u5F0F\u6CE8\u5165\u7EC4\u4EF6\n */\nconst Styles: React.FC<StylesProps> = ({ style, uid = generateUID({}), disabled = false }) => {\n if (!style || disabled) {\n return null\n }\n\n return <style suppressHydrationWarning data-style-id={uid}>{`.block-${uid} { ${style} }`}</style>\n}\n\n/**\n * \u6837\u5F0F Hook\uFF0C\u8FD4\u56DE\u6837\u5F0F\u7C7B\u540D\u548C\u6837\u5F0F\u7EC4\u4EF6\n * @param styleProps - \u6837\u5F0F\u5C5E\u6027\n */\nexport const useStyles = (styleProps: Partial<StylesProps>, data?: Record<string, any>) => {\n const uid = useMemo(() => styleProps?.uid || generateUID({ ...styleProps, data }), [data, styleProps])\n\n const StyleComponent = useMemo(() => <Styles {...styleProps} uid={uid} />, [styleProps, uid])\n\n return {\n className: `block-${uid} `,\n StyleComponent,\n uid,\n } as const\n}\n\nconst getContainerClassName = (props?: Partial<StylesProps & ContainerProps>) => {\n const { desktopSpan, mobileSpan } = props?.container || {}\n const mobileClasses = mobileSpan ? colContentClasses[mobileSpan] : ''\n const desktopClasses = desktopSpan ? colContentClassesTablet[desktopSpan] : ''\n return `${mobileClasses} ${desktopClasses}`.trim()\n}\n\n/**\n * \u9AD8\u9636\u7EC4\u4EF6\uFF0C \u7528\u4E8E\u7ED9\u7EC4\u4EF6\u7528style \u6807\u7B7E\u7684\u5F62\u5F0F\u8FFD\u52A0\u6837\u5F0F\n * @param WrappedComponent - \u9700\u8981\u5305\u88C5\u7684\u7EC4\u4EF6\n * @param defaultLayoutProps - \u9ED8\u8BA4\u6837\u5F0F\u5C5E\u6027\n */\nexport function withLayout<P extends object>(\n WrappedComponent: React.ComponentType<P>,\n defaultLayoutProps?: Partial<StylesProps & ContainerProps>\n) {\n const withLayout = React.forwardRef<\n any,\n Omit<P, keyof StylesProps> &\n Partial<StylesProps & ContainerProps> & { className?: string; data?: Record<string, any> }\n >((props, ref) => {\n const finalStyleProps = {\n ...defaultLayoutProps,\n ...getStylesProps(props),\n }\n\n const { className, StyleComponent } = useStyles(finalStyleProps, (props as any)?.data)\n\n const WithContainerWrapper = (props: any) => {\n return (\n <Container className={`${className} ${(props as any)?.className}`}>\n <Grid className=\"container_grid\">\n <GridItem className={getContainerClassName(props)}>\n <WrappedComponent {...(props as unknown as P)} ref={ref} />\n </GridItem>\n </Grid>\n </Container>\n )\n }\n\n const WithoutContainerWrapper = (props: any) => {\n return (\n <WrappedComponent\n {...(props as unknown as P)}\n className={`${className} ${(props as any)?.className}`}\n ref={ref}\n />\n )\n }\n\n return (\n <>\n <ErrorBoundary>\n {StyleComponent}\n {Reflect.ownKeys((props as any)?.container || {})?.length > 0\n ? WithContainerWrapper(props)\n : WithoutContainerWrapper(props)}\n </ErrorBoundary>\n </>\n )\n })\n\n // \u76F4\u63A5\u4F7F\u7528\u539F\u59CB\u7EC4\u4EF6\u7684\u540D\u79F0\n withLayout.displayName = WrappedComponent.displayName || WrappedComponent.name || 'Component'\n return withLayout\n}\n"],
5
+ "mappings": "AAkES,OAsEH,YAAAA,EAtEG,OAAAC,EAuED,QAAAC,MAvEC,oBAlET,OAAOC,GAAS,WAAAC,MAAe,QAC/B,OAAS,cAAAC,MAAkB,kBAC3B,OAAOC,MAAuB,yBAC9B,OAAS,QAAAC,EAAM,YAAAC,MAAgB,wBAC/B,OAAS,aAAAC,MAAiB,6BAC1B,OAAOC,MAAmB,qBAE1B,MAAMC,EAA4C,CAChD,GAAI,yBACJ,GAAI,yBACJ,EAAG,yBACH,EAAG,yBACH,EAAG,uBACL,EAGMC,EAAkD,CACtD,GAAI,uCACJ,GAAI,uCACJ,EAAG,uCACH,EAAG,uCACH,EAAG,qCACL,EAuBMC,EAAeC,GAA+B,CAClD,MAAMC,EAAYT,EAAkBQ,CAAK,EACzC,MAAO,SAAST,EAAWU,CAAS,CAAC,EACvC,EAKaC,EAAqDF,GAAwC,CACxG,KAAM,CAAE,MAAAG,EAAO,IAAAC,EAAK,SAAAC,CAAS,EAAIL,EACjC,MAAO,CAAE,MAAAG,EAAO,IAAAC,EAAK,SAAAC,CAAS,CAChC,EAKMC,EAAgC,CAAC,CAAE,MAAAH,EAAO,IAAAC,EAAML,EAAY,CAAC,CAAC,EAAG,SAAAM,EAAW,EAAM,IAClF,CAACF,GAASE,EACL,KAGFlB,EAAC,SAAM,yBAAwB,GAAC,gBAAeiB,EAAM,mBAAUA,CAAG,MAAMD,CAAK,KAAK,EAO9EI,EAAY,CAACC,EAAkCC,IAA+B,CACzF,MAAML,EAAMd,EAAQ,IAAMkB,GAAY,KAAOT,EAAY,CAAE,GAAGS,EAAY,KAAAC,CAAK,CAAC,EAAG,CAACA,EAAMD,CAAU,CAAC,EAE/FE,EAAiBpB,EAAQ,IAAMH,EAACmB,EAAA,CAAQ,GAAGE,EAAY,IAAKJ,EAAK,EAAI,CAACI,EAAYJ,CAAG,CAAC,EAE5F,MAAO,CACL,UAAW,SAASA,CAAG,IACvB,eAAAM,EACA,IAAAN,CACF,CACF,EAEMO,EAAyBX,GAAkD,CAC/E,KAAM,CAAE,YAAAY,EAAa,WAAAC,CAAW,EAAIb,GAAO,WAAa,CAAC,EACnDc,EAAgBD,EAAahB,EAAkBgB,CAAU,EAAI,GAC7DE,EAAiBH,EAAcd,EAAwBc,CAAW,EAAI,GAC5E,MAAO,GAAGE,CAAa,IAAIC,CAAc,GAAG,KAAK,CACnD,EAOO,SAASC,EACdC,EACAC,EACA,CACA,MAAMF,EAAa3B,EAAM,WAIvB,CAACW,EAAOmB,IAAQ,CAChB,MAAMC,EAAkB,CACtB,GAAGF,EACH,GAAGhB,EAAeF,CAAK,CACzB,EAEM,CAAE,UAAAqB,EAAW,eAAAX,CAAe,EAAIH,EAAUa,EAAkBpB,GAAe,IAAI,EAE/EsB,EAAwBtB,GAE1Bb,EAACQ,EAAA,CAAU,UAAW,GAAG0B,CAAS,IAAKrB,GAAe,SAAS,GAC7D,SAAAb,EAACM,EAAA,CAAK,UAAU,iBACd,SAAAN,EAACO,EAAA,CAAS,UAAWiB,EAAsBX,CAAK,EAC9C,SAAAb,EAAC8B,EAAA,CAAkB,GAAIjB,EAAwB,IAAKmB,EAAK,EAC3D,EACF,EACF,EAIEI,EAA2BvB,GAE7Bb,EAAC8B,EAAA,CACE,GAAIjB,EACL,UAAW,GAAGqB,CAAS,IAAKrB,GAAe,SAAS,GACpD,IAAKmB,EACP,EAIJ,OACEhC,EAAAD,EAAA,CACE,SAAAE,EAACQ,EAAA,CACE,UAAAc,EACA,QAAQ,QAASV,GAAe,WAAa,CAAC,CAAC,GAAG,OAAS,EACxDsB,EAAqBtB,CAAK,EAC1BuB,EAAwBvB,CAAK,GACnC,EACF,CAEJ,CAAC,EAGD,OAAAgB,EAAW,YAAcC,EAAiB,aAAeA,EAAiB,MAAQ,YAC3ED,CACT",
6
+ "names": ["Fragment", "jsx", "jsxs", "React", "useMemo", "simpleHash", "getKeyPropsString", "Grid", "GridItem", "Container", "ErrorBoundary", "colContentClasses", "colContentClassesTablet", "generateUID", "props", "keyString", "getStylesProps", "style", "uid", "disabled", "Styles", "useStyles", "styleProps", "data", "StyleComponent", "getContainerClassName", "desktopSpan", "mobileSpan", "mobileClasses", "desktopClasses", "withLayout", "WrappedComponent", "defaultLayoutProps", "ref", "finalStyleProps", "className", "WithContainerWrapper", "WithoutContainerWrapper"]
7
7
  }
@@ -0,0 +1,164 @@
1
+ import{jsx as i,jsxs as a}from"react/jsx-runtime";import"react";import t from"../biz-components/InlineVideo/index.js";const s={title:"Biz Components/InlineVideo",component:t,parameters:{layout:"padded",backgrounds:{default:"dark"},docs:{description:{component:`
2
+ ## InlineVideo - \u5185\u8054\u89C6\u9891\u7EC4\u4EF6
3
+
4
+ \u7528\u4E8E\u4EA7\u54C1\u529F\u80FD\u5C55\u793A\u7684\u54CD\u5E94\u5F0F\u89C6\u9891\u7EC4\u4EF6\uFF0C\u652F\u6301\u81EA\u52A8\u64AD\u653E\u3001\u5FAA\u73AF\u64AD\u653E\u548C\u54CD\u5E94\u5F0F\u5E03\u5C40\u3002
5
+
6
+ ### \u6838\u5FC3\u529F\u80FD
7
+
8
+ - **\u54CD\u5E94\u5F0F\u89C6\u9891\u6E90**: \u652F\u6301\u684C\u9762\u7AEF\u548C\u79FB\u52A8\u7AEF\u4F7F\u7528\u4E0D\u540C\u7684\u89C6\u9891\u6E90\u548C\u6D77\u62A5\u56FE
9
+ - **\u81EA\u52A8\u64AD\u653E**: \u89C6\u9891\u81EA\u52A8\u64AD\u653E\u5E76\u5FAA\u73AF\uFF0C\u63D0\u4F9B\u6D41\u7545\u7684\u89C2\u770B\u4F53\u9A8C
10
+ - **\u4E30\u5BCC\u7684\u5185\u5BB9\u5C55\u793A**: \u652F\u6301\u6807\u9898\u3001\u526F\u6807\u9898\u548C\u8BE6\u7EC6\u63CF\u8FF0
11
+ - **\u54CD\u5E94\u5F0F\u5E03\u5C40**: \u6839\u636E\u5C4F\u5E55\u5C3A\u5BF8\u81EA\u52A8\u8C03\u6574\u89C6\u9891\u6BD4\u4F8B\u548C\u6587\u672C\u5E03\u5C40
12
+
13
+ ### \u4F7F\u7528\u573A\u666F
14
+
15
+ - \u4EA7\u54C1\u7279\u6027\u4ECB\u7ECD
16
+ - \u529F\u80FD\u6F14\u793A\u89C6\u9891
17
+ - \u6280\u672F\u4EAE\u70B9\u5C55\u793A
18
+ - \u4F7F\u7528\u6559\u7A0B\u8BF4\u660E
19
+
20
+ ### \u54CD\u5E94\u5F0F\u65AD\u70B9
21
+
22
+ - **\u79FB\u52A8\u7AEF** (< 768px): 398:400 \u6BD4\u4F8B\uFF0C\u5782\u76F4\u5E03\u5C40
23
+ - **\u5E73\u677F\u7AEF** (\u2265 768px): 3060:1180 \u6BD4\u4F8B\uFF0C\u5C45\u4E2D\u5E03\u5C40
24
+ - **\u684C\u9762\u7AEF** (\u2265 1024px): \u56FA\u5B9A\u9AD8\u5EA6 360px\uFF0C\u5C45\u4E2D\u5BF9\u9F50
25
+
26
+ ### \u6570\u636E\u7ED3\u6784
27
+
28
+ \`\`\`typescript
29
+ {
30
+ title: string // \u4E3B\u6807\u9898\uFF08\u5FC5\u586B\uFF09
31
+ subtitle?: string // \u526F\u6807\u9898\uFF08\u53EF\u9009\uFF09
32
+ desc: string // \u63CF\u8FF0\u6587\u672C\uFF08\u5FC5\u586B\uFF09
33
+ poster?: string // \u684C\u9762\u7AEF\u6D77\u62A5\u56FE\uFF08\u53EF\u9009\uFF09
34
+ videoUrl: string // \u684C\u9762\u7AEF\u89C6\u9891\u5730\u5740\uFF08\u5FC5\u586B\uFF09
35
+ mobPoster?: string // \u79FB\u52A8\u7AEF\u6D77\u62A5\u56FE\uFF08\u53EF\u9009\uFF09
36
+ mobVideoUrl: string // \u79FB\u52A8\u7AEF\u89C6\u9891\u5730\u5740\uFF08\u5FC5\u586B\uFF09
37
+ theme?: 'light' | 'dark' // \u4E3B\u9898\u6A21\u5F0F\uFF08\u53EF\u9009\uFF0C\u9ED8\u8BA4 'light'\uFF09
38
+ }
39
+ \`\`\`
40
+
41
+ ### \u89C6\u9891\u7279\u6027
42
+
43
+ - **\u9759\u97F3\u64AD\u653E**: \u9ED8\u8BA4\u9759\u97F3\uFF0C\u7B26\u5408\u7528\u6237\u4F53\u9A8C\u6700\u4F73\u5B9E\u8DF5
44
+ - **\u5FAA\u73AF\u64AD\u653E**: \u89C6\u9891\u81EA\u52A8\u5FAA\u73AF\uFF0C\u6301\u7EED\u5C55\u793A\u4EA7\u54C1\u7279\u6027
45
+ - **\u5185\u8054\u64AD\u653E**: \u4F7F\u7528 \`playsInline\` \u5C5E\u6027\uFF0C\u907F\u514D\u5168\u5C4F\u64AD\u653E
46
+ - **\u5706\u89D2\u8BBE\u8BA1**: 16px \u5706\u89D2\uFF0C\u4E0E\u73B0\u4EE3\u8BBE\u8BA1\u98CE\u683C\u4E00\u81F4
47
+
48
+ ### \u4E3B\u9898\u6A21\u5F0F
49
+
50
+ \u7EC4\u4EF6\u652F\u6301\u6D45\u8272\u548C\u6DF1\u8272\u4E24\u79CD\u4E3B\u9898\u6A21\u5F0F\uFF1A
51
+
52
+ - **\u6D45\u8272\u6A21\u5F0F** (\`theme: 'light'\`): \u9ED8\u8BA4\u6A21\u5F0F\uFF0C\u9002\u7528\u4E8E\u6D45\u8272\u80CC\u666F
53
+ - **\u6DF1\u8272\u6A21\u5F0F** (\`theme: 'dark'\`): \u6DF1\u8272\u6A21\u5F0F\uFF0C\u4F7F\u7528 \`aiui-dark\` \u7C7B\uFF0C\u6587\u672C\u989C\u8272\u81EA\u52A8\u9002\u914D
54
+
55
+ \u6587\u672C\u989C\u8272\u4F7F\u7528 Tailwind CSS \u7684\u4E3B\u9898\u53D8\u91CF \`text-info-primary\`\uFF0C\u4F1A\u6839\u636E \`.aiui-dark\` \u7C7B\u81EA\u52A8\u5207\u6362\u4E3A\u6DF1\u8272\u6A21\u5F0F\u7684\u989C\u8272\u3002
56
+
57
+ ### \u81EA\u5B9A\u4E49\u6837\u5F0F\u7C7B\u540D
58
+
59
+ \u7EC4\u4EF6\u5185\u90E8\u5173\u952E\u8282\u70B9\u90FD\u6709\u8BED\u4E49\u5316\u7684 className\uFF0C\u65B9\u4FBF\u901A\u8FC7 CSS \u81EA\u5B9A\u4E49\u6837\u5F0F\uFF1A
60
+
61
+ | \u7C7B\u540D | \u8BF4\u660E | \u7528\u9014 |
62
+ |------|------|------|
63
+ | \`.inline-video-section\` | \u6839\u5BB9\u5668 | \u6574\u4F53\u5E03\u5C40\u3001\u80CC\u666F\u3001\u95F4\u8DDD |
64
+ | \`.inline-video-content\` | \u5185\u5BB9\u533A\u57DF | \u6587\u672C\u5185\u5BB9\u7684\u5E03\u5C40\u5BB9\u5668 |
65
+ | \`.inline-video-title\` | \u4E3B\u6807\u9898 | \u6807\u9898\u6837\u5F0F\u3001\u5B57\u4F53\u3001\u989C\u8272 |
66
+ | \`.inline-video-subtitle\` | \u526F\u6807\u9898 | \u526F\u6807\u9898\u6837\u5F0F\u3001\u95F4\u8DDD |
67
+ | \`.inline-video-text-wrapper\` | \u6587\u672C\u5305\u88C5\u5668 | \u526F\u6807\u9898\u548C\u63CF\u8FF0\u7684\u5BB9\u5668 |
68
+ | \`.inline-video-description\` | \u63CF\u8FF0\u6587\u672C | \u63CF\u8FF0\u6837\u5F0F\u3001\u884C\u9AD8\u3001\u5BBD\u5EA6 |
69
+ | \`.inline-video-container\` | \u89C6\u9891\u5BB9\u5668 | \u89C6\u9891\u5BBD\u9AD8\u6BD4\u3001\u5706\u89D2 |
70
+ | \`.inline-video-desktop\` | \u684C\u9762\u7AEF\u89C6\u9891 | \u684C\u9762\u7AEF\u89C6\u9891\u6837\u5F0F |
71
+ | \`.inline-video-mobile\` | \u79FB\u52A8\u7AEF\u89C6\u9891 | \u79FB\u52A8\u7AEF\u89C6\u9891\u6837\u5F0F |
72
+
73
+ ### \u81EA\u5B9A\u4E49\u6837\u5F0F\u793A\u4F8B
74
+
75
+ \`\`\`css
76
+ /* \u4FEE\u6539\u6807\u9898\u989C\u8272 */
77
+ .inline-video-title {
78
+ color: #00d4ff;
79
+ }
80
+
81
+ /* \u4FEE\u6539\u89C6\u9891\u5BB9\u5668\u5706\u89D2 */
82
+ .inline-video-container {
83
+ }
84
+
85
+ /* \u81EA\u5B9A\u4E49\u63CF\u8FF0\u6587\u672C\u6837\u5F0F */
86
+ .inline-video-description {
87
+ line-height: 1.8;
88
+ opacity: 0.9;
89
+ }
90
+
91
+ /* \u6DFB\u52A0\u5BB9\u5668\u80CC\u666F */
92
+ .inline-video-section {
93
+ background: linear-gradient(180deg, #1a1a1a 0%, #000000 100%);
94
+ padding: 32px;
95
+ }
96
+ \`\`\`
97
+ `}}},tags:["autodocs"],argTypes:{data:{description:"\u89C6\u9891\u7EC4\u4EF6\u7684\u6570\u636E\u914D\u7F6E\u5BF9\u8C61",control:"object"},className:{description:"\u81EA\u5B9A\u4E49 CSS \u7C7B\u540D",control:"text"}}};var c=s;const e={title:"DuoSpiral\u2122 \u9632\u7F20\u7ED5\u5237\u5934",subtitle:"\u521B\u65B0\u7684\u53CC\u87BA\u65CB\u8BBE\u8BA1",desc:"DuoSpiral\u2122 \u5237\u5934\u91C7\u7528\u72EC\u7279\u7684\u53CC\u87BA\u65CB\u8BBE\u8BA1\uFF0C\u6709\u6548\u9632\u6B62\u6BDB\u53D1\u7F20\u7ED5\uFF0C\u4E3A\u60A8\u63D0\u4F9B\u65E0\u5FE7\u7684\u6E05\u6D01\u4F53\u9A8C\u3002\u5148\u8FDB\u7684\u5DE5\u7A0B\u8BBE\u8BA1\u786E\u4FDD\u6BCF\u6B21\u4F7F\u7528\u90FD\u80FD\u83B7\u5F97\u6700\u4F73\u7684\u6E05\u6D01\u6548\u679C\u3002",poster:"https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806",videoUrl:"https://cdn.shopify.com/videos/c/o/v/82766208a03240b2b0a5f461578923dc.mp4",mobPoster:"https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_3_790f438a-3cb2-4a8b-a79b-4f47825ee911.png?v=1752820811",mobVideoUrl:"https://cdn.shopify.com/videos/c/o/v/00a233ef01dc40628874e563c8abffac.mp4"},p={name:"\u9ED8\u8BA4\u793A\u4F8B",args:{data:e},parameters:{docs:{description:{story:"\u5B8C\u6574\u914D\u7F6E\u7684\u89C6\u9891\u7EC4\u4EF6\u793A\u4F8B\uFF0C\u5305\u542B\u6807\u9898\u3001\u526F\u6807\u9898\u3001\u63CF\u8FF0\u6587\u672C\u3001\u6D77\u62A5\u56FE\u548C\u89C6\u9891\u6E90\u3002\u5C55\u793A\u4E86\u7EC4\u4EF6\u7684\u6240\u6709\u53EF\u7528\u529F\u80FD\u3002"}}}},l={name:"\u65E0\u526F\u6807\u9898",args:{data:{title:"\u9AD8\u6548\u6E05\u6D01\u6280\u672F",desc:"\u4F53\u9A8C\u6211\u4EEC\u6700\u65B0\u7684\u6E05\u6D01\u521B\u65B0\u6280\u672F\uFF0C\u4E3A\u60A8\u7684\u5BB6\u5C45\u6E05\u6D01\u5E26\u6765\u9769\u547D\u6027\u7684\u6539\u53D8\u3002",poster:"https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806",videoUrl:"https://cdn.shopify.com/videos/c/o/v/82766208a03240b2b0a5f461578923dc.mp4",mobPoster:"https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_3_790f438a-3cb2-4a8b-a79b-4f47825ee911.png?v=1752820811",mobVideoUrl:"https://cdn.shopify.com/videos/c/o/v/00a233ef01dc40628874e563c8abffac.mp4"}},parameters:{docs:{description:{story:"\u7701\u7565\u526F\u6807\u9898\u7684\u7B80\u5316\u7248\u672C\u3002\u9002\u7528\u4E8E\u5185\u5BB9\u8F83\u5C11\u6216\u5F3A\u8C03\u4E3B\u6807\u9898\u7684\u573A\u666F\uFF0C\u4FDD\u6301\u9875\u9762\u7B80\u6D01\u6E05\u6670\u3002"}}}},m={name:"\u65E0\u6D77\u62A5\u56FE",args:{data:{title:"\u65E0\u6D77\u62A5\u56FE\u7247",subtitle:"\u7EAF\u89C6\u9891\u5C55\u793A",desc:"\u4E0D\u4F7F\u7528\u6D77\u62A5\u56FE\u7247\u7684\u89C6\u9891\u5C55\u793A\uFF0C\u76F4\u63A5\u64AD\u653E\u89C6\u9891\u5185\u5BB9\u3002",videoUrl:"https://cdn.shopify.com/videos/c/o/v/82766208a03240b2b0a5f461578923dc.mp4",mobVideoUrl:"https://cdn.shopify.com/videos/c/o/v/00a233ef01dc40628874e563c8abffac.mp4"}},parameters:{docs:{description:{story:"\u4E0D\u4F7F\u7528\u6D77\u62A5\u56FE\u7684\u793A\u4F8B\u3002\u89C6\u9891\u4F1A\u76F4\u63A5\u663E\u793A\u7B2C\u4E00\u5E27\u5185\u5BB9\uFF0C\u9002\u7528\u4E8E\u4E0D\u9700\u8981\u81EA\u5B9A\u4E49\u6D77\u62A5\u56FE\u6216\u5E0C\u671B\u5FEB\u901F\u52A0\u8F7D\u7684\u573A\u666F\u3002"}}}},f={name:"\u957F\u63CF\u8FF0\u6587\u672C",args:{data:{title:"\u4EA7\u54C1\u529F\u80FD\u8BE6\u7EC6\u4ECB\u7ECD",subtitle:"\u5168\u9762\u4E86\u89E3\u4EA7\u54C1\u7279\u6027",desc:"\u6211\u4EEC\u7684\u4EA7\u54C1\u91C7\u7528\u6700\u5148\u8FDB\u7684\u6280\u672F\u548C\u6750\u6599\uFF0C\u7ECF\u8FC7\u4E25\u683C\u7684\u8D28\u91CF\u63A7\u5236\u548C\u6D4B\u8BD5\u3002\u6BCF\u4E2A\u7EC6\u8282\u90FD\u7ECF\u8FC7\u7CBE\u5FC3\u8BBE\u8BA1\uFF0C\u786E\u4FDD\u4E3A\u7528\u6237\u63D0\u4F9B\u6700\u4F73\u7684\u4F7F\u7528\u4F53\u9A8C\u3002\u4ECE\u5916\u89C2\u8BBE\u8BA1\u5230\u5185\u90E8\u7ED3\u6784\uFF0C\u4ECE\u529F\u80FD\u5B9E\u73B0\u5230\u7528\u6237\u754C\u9762\uFF0C\u6BCF\u4E00\u4E2A\u73AF\u8282\u90FD\u4F53\u73B0\u4E86\u6211\u4EEC\u5BF9\u54C1\u8D28\u7684\u8FFD\u6C42\u3002\u65E0\u8BBA\u60A8\u662F\u4E13\u4E1A\u7528\u6237\u8FD8\u662F\u666E\u901A\u6D88\u8D39\u8005\uFF0C\u90FD\u80FD\u5728\u6211\u4EEC\u7684\u4EA7\u54C1\u4E2D\u627E\u5230\u6EE1\u8DB3\u60A8\u9700\u6C42\u7684\u529F\u80FD\u548C\u7279\u6027\u3002",poster:"https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806",videoUrl:"https://cdn.shopify.com/videos/c/o/v/82766208a03240b2b0a5f461578923dc.mp4",mobPoster:"https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_3_790f438a-3cb2-4a8b-a79b-4f47825ee911.png?v=1752820811",mobVideoUrl:"https://cdn.shopify.com/videos/c/o/v/00a233ef01dc40628874e563c8abffac.mp4"}},parameters:{docs:{description:{story:"\u5C55\u793A\u8F83\u957F\u63CF\u8FF0\u6587\u672C\u7684\u6392\u7248\u6548\u679C\u3002\u7EC4\u4EF6\u4F1A\u6839\u636E\u4E0D\u540C\u5C4F\u5E55\u5C3A\u5BF8\u81EA\u52A8\u8C03\u6574\u6587\u672C\u5BBD\u5EA6\u548C\u884C\u9AD8\uFF0C\u786E\u4FDD\u957F\u6587\u672C\u7684\u53EF\u8BFB\u6027\u3002\u9002\u7528\u4E8E\u9700\u8981\u8BE6\u7EC6\u8BF4\u660E\u4EA7\u54C1\u529F\u80FD\u6216\u6280\u672F\u7EC6\u8282\u7684\u573A\u666F\u3002"}}}},b={name:"\u6DF1\u8272\u4E3B\u9898",args:{data:{...e,theme:"dark"}},parameters:{backgrounds:{default:"light"},docs:{description:{story:'\u6DF1\u8272\u4E3B\u9898\u6A21\u5F0F\u793A\u4F8B\u3002\u901A\u8FC7\u8BBE\u7F6E `theme: "dark"` \u542F\u7528\u6DF1\u8272\u6A21\u5F0F\uFF0C\u6587\u672C\u989C\u8272\u4F1A\u81EA\u52A8\u4F7F\u7528\u6DF1\u8272\u4E3B\u9898\u7684\u914D\u8272\u65B9\u6848\u3002\u9002\u7528\u4E8E\u6D45\u8272\u80CC\u666F\u4E0A\u5C55\u793A\u6DF1\u8272\u5185\u5BB9\u7684\u573A\u666F\u3002'}}}},v={name:"\u6D45\u8272\u4E3B\u9898",args:{data:{...e,theme:"light"}},parameters:{backgrounds:{default:"dark"},docs:{description:{story:'\u6D45\u8272\u4E3B\u9898\u6A21\u5F0F\u793A\u4F8B\uFF08\u9ED8\u8BA4\uFF09\u3002\u901A\u8FC7\u8BBE\u7F6E `theme: "light"` \u6216\u4E0D\u8BBE\u7F6E\u4E3B\u9898\uFF08\u9ED8\u8BA4\u4E3A\u6D45\u8272\uFF09\uFF0C\u6587\u672C\u989C\u8272\u4F7F\u7528\u6D45\u8272\u4E3B\u9898\u914D\u8272\u3002\u9002\u7528\u4E8E\u6DF1\u8272\u80CC\u666F\u4E0A\u5C55\u793A\u6D45\u8272\u5185\u5BB9\u7684\u573A\u666F\u3002'}}}},h={name:"\u81EA\u5B9A\u4E49\u6837\u5F0F",args:{data:e,className:"custom-inline-video"},parameters:{docs:{description:{story:`
98
+ \u901A\u8FC7 className \u5C5E\u6027\u548C\u5185\u7F6E\u7684\u8BED\u4E49\u5316\u7C7B\u540D\uFF0C\u53EF\u4EE5\u8F7B\u677E\u81EA\u5B9A\u4E49\u7EC4\u4EF6\u6837\u5F0F\u3002
99
+
100
+ ### \u4F7F\u7528\u65B9\u5F0F
101
+
102
+ 1. **\u901A\u8FC7 className prop**: \u4F20\u5165\u81EA\u5B9A\u4E49\u7C7B\u540D
103
+ 2. **\u4F7F\u7528\u5185\u7F6E\u7C7B\u540D**: \u76F4\u63A5\u8986\u76D6\u5185\u7F6E\u7684\u8BED\u4E49\u5316\u7C7B\u540D
104
+
105
+ ### \u793A\u4F8B\u4EE3\u7801
106
+
107
+ \`\`\`tsx
108
+ <InlineVideo
109
+ data={data}
110
+ className="custom-inline-video"
111
+ />
112
+ \`\`\`
113
+
114
+ \`\`\`css
115
+ /* \u81EA\u5B9A\u4E49\u6837\u5F0F */
116
+ .custom-inline-video {
117
+ background: rgba(0, 0, 0, 0.5);
118
+ padding: 40px;
119
+ backdrop-filter: blur(10px);
120
+ }
121
+
122
+ .custom-inline-video .inline-video-title {
123
+ color: #00d4ff;
124
+ text-shadow: 0 0 20px rgba(0, 212, 255, 0.5);
125
+ }
126
+
127
+ .custom-inline-video .inline-video-subtitle {
128
+ color: #ffd700;
129
+ }
130
+
131
+ .custom-inline-video .inline-video-container {
132
+ border: 2px solid rgba(255, 255, 255, 0.1);
133
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
134
+ }
135
+ \`\`\`
136
+
137
+ \u6B64\u793A\u4F8B\u5C55\u793A\u4E86\u5982\u4F55\u901A\u8FC7\u7EC4\u5408 className prop \u548C\u5185\u7F6E\u7C7B\u540D\u6765\u5B9E\u73B0\u5B8C\u5168\u81EA\u5B9A\u4E49\u7684\u89C6\u89C9\u6548\u679C\u3002
138
+ `}}},decorators:[o=>a("div",{children:[i("style",{children:`
139
+ .custom-inline-video {
140
+ background: rgba(0, 0, 0, 0.3);
141
+ padding: 40px;
142
+ backdrop-filter: blur(10px);
143
+ }
144
+
145
+ .custom-inline-video .inline-video-title {
146
+ color: #00d4ff !important;
147
+ text-shadow: 0 0 20px rgba(0, 212, 255, 0.5);
148
+ }
149
+
150
+ .custom-inline-video .inline-video-subtitle {
151
+ color: #ffd700 !important;
152
+ }
153
+
154
+ .custom-inline-video .inline-video-description {
155
+ opacity: 0.9;
156
+ line-height: 1.8;
157
+ }
158
+
159
+ .custom-inline-video .inline-video-container {
160
+ border: 2px solid rgba(255, 255, 255, 0.1);
161
+ box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
162
+ }
163
+ `}),i(o,{})]})]};export{h as CustomStyled,b as DarkTheme,p as Default,v as LightTheme,f as LongDescription,m as WithoutPosters,l as WithoutSubtitle,c as default};
164
+ //# sourceMappingURL=InlineVideo.stories.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/stories/InlineVideo.stories.tsx"],
4
+ "sourcesContent": ["import React from 'react'\nimport type { Meta, StoryObj } from '@storybook/react'\nimport InlineVideo from '../biz-components/InlineVideo/index.js'\n\nconst meta = {\n title: 'Biz Components/InlineVideo',\n component: InlineVideo,\n parameters: {\n layout: 'padded',\n backgrounds: {\n default: 'dark',\n },\n docs: {\n description: {\n component: `\n## InlineVideo - \u5185\u8054\u89C6\u9891\u7EC4\u4EF6\n\n\u7528\u4E8E\u4EA7\u54C1\u529F\u80FD\u5C55\u793A\u7684\u54CD\u5E94\u5F0F\u89C6\u9891\u7EC4\u4EF6\uFF0C\u652F\u6301\u81EA\u52A8\u64AD\u653E\u3001\u5FAA\u73AF\u64AD\u653E\u548C\u54CD\u5E94\u5F0F\u5E03\u5C40\u3002\n\n### \u6838\u5FC3\u529F\u80FD\n\n- **\u54CD\u5E94\u5F0F\u89C6\u9891\u6E90**: \u652F\u6301\u684C\u9762\u7AEF\u548C\u79FB\u52A8\u7AEF\u4F7F\u7528\u4E0D\u540C\u7684\u89C6\u9891\u6E90\u548C\u6D77\u62A5\u56FE\n- **\u81EA\u52A8\u64AD\u653E**: \u89C6\u9891\u81EA\u52A8\u64AD\u653E\u5E76\u5FAA\u73AF\uFF0C\u63D0\u4F9B\u6D41\u7545\u7684\u89C2\u770B\u4F53\u9A8C\n- **\u4E30\u5BCC\u7684\u5185\u5BB9\u5C55\u793A**: \u652F\u6301\u6807\u9898\u3001\u526F\u6807\u9898\u548C\u8BE6\u7EC6\u63CF\u8FF0\n- **\u54CD\u5E94\u5F0F\u5E03\u5C40**: \u6839\u636E\u5C4F\u5E55\u5C3A\u5BF8\u81EA\u52A8\u8C03\u6574\u89C6\u9891\u6BD4\u4F8B\u548C\u6587\u672C\u5E03\u5C40\n\n### \u4F7F\u7528\u573A\u666F\n\n- \u4EA7\u54C1\u7279\u6027\u4ECB\u7ECD\n- \u529F\u80FD\u6F14\u793A\u89C6\u9891\n- \u6280\u672F\u4EAE\u70B9\u5C55\u793A\n- \u4F7F\u7528\u6559\u7A0B\u8BF4\u660E\n\n### \u54CD\u5E94\u5F0F\u65AD\u70B9\n\n- **\u79FB\u52A8\u7AEF** (< 768px): 398:400 \u6BD4\u4F8B\uFF0C\u5782\u76F4\u5E03\u5C40\n- **\u5E73\u677F\u7AEF** (\u2265 768px): 3060:1180 \u6BD4\u4F8B\uFF0C\u5C45\u4E2D\u5E03\u5C40\n- **\u684C\u9762\u7AEF** (\u2265 1024px): \u56FA\u5B9A\u9AD8\u5EA6 360px\uFF0C\u5C45\u4E2D\u5BF9\u9F50\n\n### \u6570\u636E\u7ED3\u6784\n\n\\`\\`\\`typescript\n{\n title: string // \u4E3B\u6807\u9898\uFF08\u5FC5\u586B\uFF09\n subtitle?: string // \u526F\u6807\u9898\uFF08\u53EF\u9009\uFF09\n desc: string // \u63CF\u8FF0\u6587\u672C\uFF08\u5FC5\u586B\uFF09\n poster?: string // \u684C\u9762\u7AEF\u6D77\u62A5\u56FE\uFF08\u53EF\u9009\uFF09\n videoUrl: string // \u684C\u9762\u7AEF\u89C6\u9891\u5730\u5740\uFF08\u5FC5\u586B\uFF09\n mobPoster?: string // \u79FB\u52A8\u7AEF\u6D77\u62A5\u56FE\uFF08\u53EF\u9009\uFF09\n mobVideoUrl: string // \u79FB\u52A8\u7AEF\u89C6\u9891\u5730\u5740\uFF08\u5FC5\u586B\uFF09\n theme?: 'light' | 'dark' // \u4E3B\u9898\u6A21\u5F0F\uFF08\u53EF\u9009\uFF0C\u9ED8\u8BA4 'light'\uFF09\n}\n\\`\\`\\`\n\n### \u89C6\u9891\u7279\u6027\n\n- **\u9759\u97F3\u64AD\u653E**: \u9ED8\u8BA4\u9759\u97F3\uFF0C\u7B26\u5408\u7528\u6237\u4F53\u9A8C\u6700\u4F73\u5B9E\u8DF5\n- **\u5FAA\u73AF\u64AD\u653E**: \u89C6\u9891\u81EA\u52A8\u5FAA\u73AF\uFF0C\u6301\u7EED\u5C55\u793A\u4EA7\u54C1\u7279\u6027\n- **\u5185\u8054\u64AD\u653E**: \u4F7F\u7528 \\`playsInline\\` \u5C5E\u6027\uFF0C\u907F\u514D\u5168\u5C4F\u64AD\u653E\n- **\u5706\u89D2\u8BBE\u8BA1**: 16px \u5706\u89D2\uFF0C\u4E0E\u73B0\u4EE3\u8BBE\u8BA1\u98CE\u683C\u4E00\u81F4\n\n### \u4E3B\u9898\u6A21\u5F0F\n\n\u7EC4\u4EF6\u652F\u6301\u6D45\u8272\u548C\u6DF1\u8272\u4E24\u79CD\u4E3B\u9898\u6A21\u5F0F\uFF1A\n\n- **\u6D45\u8272\u6A21\u5F0F** (\\`theme: 'light'\\`): \u9ED8\u8BA4\u6A21\u5F0F\uFF0C\u9002\u7528\u4E8E\u6D45\u8272\u80CC\u666F\n- **\u6DF1\u8272\u6A21\u5F0F** (\\`theme: 'dark'\\`): \u6DF1\u8272\u6A21\u5F0F\uFF0C\u4F7F\u7528 \\`aiui-dark\\` \u7C7B\uFF0C\u6587\u672C\u989C\u8272\u81EA\u52A8\u9002\u914D\n\n\u6587\u672C\u989C\u8272\u4F7F\u7528 Tailwind CSS \u7684\u4E3B\u9898\u53D8\u91CF \\`text-info-primary\\`\uFF0C\u4F1A\u6839\u636E \\`.aiui-dark\\` \u7C7B\u81EA\u52A8\u5207\u6362\u4E3A\u6DF1\u8272\u6A21\u5F0F\u7684\u989C\u8272\u3002\n\n### \u81EA\u5B9A\u4E49\u6837\u5F0F\u7C7B\u540D\n\n\u7EC4\u4EF6\u5185\u90E8\u5173\u952E\u8282\u70B9\u90FD\u6709\u8BED\u4E49\u5316\u7684 className\uFF0C\u65B9\u4FBF\u901A\u8FC7 CSS \u81EA\u5B9A\u4E49\u6837\u5F0F\uFF1A\n\n| \u7C7B\u540D | \u8BF4\u660E | \u7528\u9014 |\n|------|------|------|\n| \\`.inline-video-section\\` | \u6839\u5BB9\u5668 | \u6574\u4F53\u5E03\u5C40\u3001\u80CC\u666F\u3001\u95F4\u8DDD |\n| \\`.inline-video-content\\` | \u5185\u5BB9\u533A\u57DF | \u6587\u672C\u5185\u5BB9\u7684\u5E03\u5C40\u5BB9\u5668 |\n| \\`.inline-video-title\\` | \u4E3B\u6807\u9898 | \u6807\u9898\u6837\u5F0F\u3001\u5B57\u4F53\u3001\u989C\u8272 |\n| \\`.inline-video-subtitle\\` | \u526F\u6807\u9898 | \u526F\u6807\u9898\u6837\u5F0F\u3001\u95F4\u8DDD |\n| \\`.inline-video-text-wrapper\\` | \u6587\u672C\u5305\u88C5\u5668 | \u526F\u6807\u9898\u548C\u63CF\u8FF0\u7684\u5BB9\u5668 |\n| \\`.inline-video-description\\` | \u63CF\u8FF0\u6587\u672C | \u63CF\u8FF0\u6837\u5F0F\u3001\u884C\u9AD8\u3001\u5BBD\u5EA6 |\n| \\`.inline-video-container\\` | \u89C6\u9891\u5BB9\u5668 | \u89C6\u9891\u5BBD\u9AD8\u6BD4\u3001\u5706\u89D2 |\n| \\`.inline-video-desktop\\` | \u684C\u9762\u7AEF\u89C6\u9891 | \u684C\u9762\u7AEF\u89C6\u9891\u6837\u5F0F |\n| \\`.inline-video-mobile\\` | \u79FB\u52A8\u7AEF\u89C6\u9891 | \u79FB\u52A8\u7AEF\u89C6\u9891\u6837\u5F0F |\n\n### \u81EA\u5B9A\u4E49\u6837\u5F0F\u793A\u4F8B\n\n\\`\\`\\`css\n/* \u4FEE\u6539\u6807\u9898\u989C\u8272 */\n.inline-video-title {\n color: #00d4ff;\n}\n\n/* \u4FEE\u6539\u89C6\u9891\u5BB9\u5668\u5706\u89D2 */\n.inline-video-container {\n}\n\n/* \u81EA\u5B9A\u4E49\u63CF\u8FF0\u6587\u672C\u6837\u5F0F */\n.inline-video-description {\n line-height: 1.8;\n opacity: 0.9;\n}\n\n/* \u6DFB\u52A0\u5BB9\u5668\u80CC\u666F */\n.inline-video-section {\n background: linear-gradient(180deg, #1a1a1a 0%, #000000 100%);\n padding: 32px;\n}\n\\`\\`\\`\n `,\n },\n },\n },\n tags: ['autodocs'],\n argTypes: {\n data: {\n description: '\u89C6\u9891\u7EC4\u4EF6\u7684\u6570\u636E\u914D\u7F6E\u5BF9\u8C61',\n control: 'object',\n },\n className: {\n description: '\u81EA\u5B9A\u4E49 CSS \u7C7B\u540D',\n control: 'text',\n },\n },\n} satisfies Meta<typeof InlineVideo>\n\nexport default meta\n\ntype Story = StoryObj<typeof meta>\n\nconst defaultData = {\n title: 'DuoSpiral\u2122 \u9632\u7F20\u7ED5\u5237\u5934',\n subtitle: '\u521B\u65B0\u7684\u53CC\u87BA\u65CB\u8BBE\u8BA1',\n desc: 'DuoSpiral\u2122 \u5237\u5934\u91C7\u7528\u72EC\u7279\u7684\u53CC\u87BA\u65CB\u8BBE\u8BA1\uFF0C\u6709\u6548\u9632\u6B62\u6BDB\u53D1\u7F20\u7ED5\uFF0C\u4E3A\u60A8\u63D0\u4F9B\u65E0\u5FE7\u7684\u6E05\u6D01\u4F53\u9A8C\u3002\u5148\u8FDB\u7684\u5DE5\u7A0B\u8BBE\u8BA1\u786E\u4FDD\u6BCF\u6B21\u4F7F\u7528\u90FD\u80FD\u83B7\u5F97\u6700\u4F73\u7684\u6E05\u6D01\u6548\u679C\u3002',\n poster:\n 'https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806',\n videoUrl: 'https://cdn.shopify.com/videos/c/o/v/82766208a03240b2b0a5f461578923dc.mp4',\n mobPoster:\n 'https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_3_790f438a-3cb2-4a8b-a79b-4f47825ee911.png?v=1752820811',\n mobVideoUrl: 'https://cdn.shopify.com/videos/c/o/v/00a233ef01dc40628874e563c8abffac.mp4',\n}\n\nexport const Default: Story = {\n name: '\u9ED8\u8BA4\u793A\u4F8B',\n args: {\n data: defaultData,\n },\n parameters: {\n docs: {\n description: {\n story: '\u5B8C\u6574\u914D\u7F6E\u7684\u89C6\u9891\u7EC4\u4EF6\u793A\u4F8B\uFF0C\u5305\u542B\u6807\u9898\u3001\u526F\u6807\u9898\u3001\u63CF\u8FF0\u6587\u672C\u3001\u6D77\u62A5\u56FE\u548C\u89C6\u9891\u6E90\u3002\u5C55\u793A\u4E86\u7EC4\u4EF6\u7684\u6240\u6709\u53EF\u7528\u529F\u80FD\u3002',\n },\n },\n },\n}\n\nexport const WithoutSubtitle: Story = {\n name: '\u65E0\u526F\u6807\u9898',\n args: {\n data: {\n title: '\u9AD8\u6548\u6E05\u6D01\u6280\u672F',\n desc: '\u4F53\u9A8C\u6211\u4EEC\u6700\u65B0\u7684\u6E05\u6D01\u521B\u65B0\u6280\u672F\uFF0C\u4E3A\u60A8\u7684\u5BB6\u5C45\u6E05\u6D01\u5E26\u6765\u9769\u547D\u6027\u7684\u6539\u53D8\u3002',\n poster:\n 'https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806',\n videoUrl: 'https://cdn.shopify.com/videos/c/o/v/82766208a03240b2b0a5f461578923dc.mp4',\n mobPoster:\n 'https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_3_790f438a-3cb2-4a8b-a79b-4f47825ee911.png?v=1752820811',\n mobVideoUrl: 'https://cdn.shopify.com/videos/c/o/v/00a233ef01dc40628874e563c8abffac.mp4',\n },\n },\n parameters: {\n docs: {\n description: {\n story: '\u7701\u7565\u526F\u6807\u9898\u7684\u7B80\u5316\u7248\u672C\u3002\u9002\u7528\u4E8E\u5185\u5BB9\u8F83\u5C11\u6216\u5F3A\u8C03\u4E3B\u6807\u9898\u7684\u573A\u666F\uFF0C\u4FDD\u6301\u9875\u9762\u7B80\u6D01\u6E05\u6670\u3002',\n },\n },\n },\n}\n\nexport const WithoutPosters: Story = {\n name: '\u65E0\u6D77\u62A5\u56FE',\n args: {\n data: {\n title: '\u65E0\u6D77\u62A5\u56FE\u7247',\n subtitle: '\u7EAF\u89C6\u9891\u5C55\u793A',\n desc: '\u4E0D\u4F7F\u7528\u6D77\u62A5\u56FE\u7247\u7684\u89C6\u9891\u5C55\u793A\uFF0C\u76F4\u63A5\u64AD\u653E\u89C6\u9891\u5185\u5BB9\u3002',\n videoUrl: 'https://cdn.shopify.com/videos/c/o/v/82766208a03240b2b0a5f461578923dc.mp4',\n mobVideoUrl: 'https://cdn.shopify.com/videos/c/o/v/00a233ef01dc40628874e563c8abffac.mp4',\n },\n },\n parameters: {\n docs: {\n description: {\n story: '\u4E0D\u4F7F\u7528\u6D77\u62A5\u56FE\u7684\u793A\u4F8B\u3002\u89C6\u9891\u4F1A\u76F4\u63A5\u663E\u793A\u7B2C\u4E00\u5E27\u5185\u5BB9\uFF0C\u9002\u7528\u4E8E\u4E0D\u9700\u8981\u81EA\u5B9A\u4E49\u6D77\u62A5\u56FE\u6216\u5E0C\u671B\u5FEB\u901F\u52A0\u8F7D\u7684\u573A\u666F\u3002',\n },\n },\n },\n}\n\nexport const LongDescription: Story = {\n name: '\u957F\u63CF\u8FF0\u6587\u672C',\n args: {\n data: {\n title: '\u4EA7\u54C1\u529F\u80FD\u8BE6\u7EC6\u4ECB\u7ECD',\n subtitle: '\u5168\u9762\u4E86\u89E3\u4EA7\u54C1\u7279\u6027',\n desc: '\u6211\u4EEC\u7684\u4EA7\u54C1\u91C7\u7528\u6700\u5148\u8FDB\u7684\u6280\u672F\u548C\u6750\u6599\uFF0C\u7ECF\u8FC7\u4E25\u683C\u7684\u8D28\u91CF\u63A7\u5236\u548C\u6D4B\u8BD5\u3002\u6BCF\u4E2A\u7EC6\u8282\u90FD\u7ECF\u8FC7\u7CBE\u5FC3\u8BBE\u8BA1\uFF0C\u786E\u4FDD\u4E3A\u7528\u6237\u63D0\u4F9B\u6700\u4F73\u7684\u4F7F\u7528\u4F53\u9A8C\u3002\u4ECE\u5916\u89C2\u8BBE\u8BA1\u5230\u5185\u90E8\u7ED3\u6784\uFF0C\u4ECE\u529F\u80FD\u5B9E\u73B0\u5230\u7528\u6237\u754C\u9762\uFF0C\u6BCF\u4E00\u4E2A\u73AF\u8282\u90FD\u4F53\u73B0\u4E86\u6211\u4EEC\u5BF9\u54C1\u8D28\u7684\u8FFD\u6C42\u3002\u65E0\u8BBA\u60A8\u662F\u4E13\u4E1A\u7528\u6237\u8FD8\u662F\u666E\u901A\u6D88\u8D39\u8005\uFF0C\u90FD\u80FD\u5728\u6211\u4EEC\u7684\u4EA7\u54C1\u4E2D\u627E\u5230\u6EE1\u8DB3\u60A8\u9700\u6C42\u7684\u529F\u80FD\u548C\u7279\u6027\u3002',\n poster:\n 'https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_2_a320c1e6-6860-481b-9d1d-fc8a3338ebaf.png?v=1752820806',\n videoUrl: 'https://cdn.shopify.com/videos/c/o/v/82766208a03240b2b0a5f461578923dc.mp4',\n mobPoster:\n 'https://cdn.shopify.com/s/files/1/0504/7094/4954/files/videoframe_0_3_790f438a-3cb2-4a8b-a79b-4f47825ee911.png?v=1752820811',\n mobVideoUrl: 'https://cdn.shopify.com/videos/c/o/v/00a233ef01dc40628874e563c8abffac.mp4',\n },\n },\n parameters: {\n docs: {\n description: {\n story:\n '\u5C55\u793A\u8F83\u957F\u63CF\u8FF0\u6587\u672C\u7684\u6392\u7248\u6548\u679C\u3002\u7EC4\u4EF6\u4F1A\u6839\u636E\u4E0D\u540C\u5C4F\u5E55\u5C3A\u5BF8\u81EA\u52A8\u8C03\u6574\u6587\u672C\u5BBD\u5EA6\u548C\u884C\u9AD8\uFF0C\u786E\u4FDD\u957F\u6587\u672C\u7684\u53EF\u8BFB\u6027\u3002\u9002\u7528\u4E8E\u9700\u8981\u8BE6\u7EC6\u8BF4\u660E\u4EA7\u54C1\u529F\u80FD\u6216\u6280\u672F\u7EC6\u8282\u7684\u573A\u666F\u3002',\n },\n },\n },\n}\n\nexport const DarkTheme: Story = {\n name: '\u6DF1\u8272\u4E3B\u9898',\n args: {\n data: {\n ...defaultData,\n theme: 'dark',\n },\n },\n parameters: {\n backgrounds: {\n default: 'light',\n },\n docs: {\n description: {\n story:\n '\u6DF1\u8272\u4E3B\u9898\u6A21\u5F0F\u793A\u4F8B\u3002\u901A\u8FC7\u8BBE\u7F6E `theme: \"dark\"` \u542F\u7528\u6DF1\u8272\u6A21\u5F0F\uFF0C\u6587\u672C\u989C\u8272\u4F1A\u81EA\u52A8\u4F7F\u7528\u6DF1\u8272\u4E3B\u9898\u7684\u914D\u8272\u65B9\u6848\u3002\u9002\u7528\u4E8E\u6D45\u8272\u80CC\u666F\u4E0A\u5C55\u793A\u6DF1\u8272\u5185\u5BB9\u7684\u573A\u666F\u3002',\n },\n },\n },\n}\n\nexport const LightTheme: Story = {\n name: '\u6D45\u8272\u4E3B\u9898',\n args: {\n data: {\n ...defaultData,\n theme: 'light',\n },\n },\n parameters: {\n backgrounds: {\n default: 'dark',\n },\n docs: {\n description: {\n story:\n '\u6D45\u8272\u4E3B\u9898\u6A21\u5F0F\u793A\u4F8B\uFF08\u9ED8\u8BA4\uFF09\u3002\u901A\u8FC7\u8BBE\u7F6E `theme: \"light\"` \u6216\u4E0D\u8BBE\u7F6E\u4E3B\u9898\uFF08\u9ED8\u8BA4\u4E3A\u6D45\u8272\uFF09\uFF0C\u6587\u672C\u989C\u8272\u4F7F\u7528\u6D45\u8272\u4E3B\u9898\u914D\u8272\u3002\u9002\u7528\u4E8E\u6DF1\u8272\u80CC\u666F\u4E0A\u5C55\u793A\u6D45\u8272\u5185\u5BB9\u7684\u573A\u666F\u3002',\n },\n },\n },\n}\n\nexport const CustomStyled: Story = {\n name: '\u81EA\u5B9A\u4E49\u6837\u5F0F',\n args: {\n data: defaultData,\n className: 'custom-inline-video',\n },\n parameters: {\n docs: {\n description: {\n story: `\n\u901A\u8FC7 className \u5C5E\u6027\u548C\u5185\u7F6E\u7684\u8BED\u4E49\u5316\u7C7B\u540D\uFF0C\u53EF\u4EE5\u8F7B\u677E\u81EA\u5B9A\u4E49\u7EC4\u4EF6\u6837\u5F0F\u3002\n\n### \u4F7F\u7528\u65B9\u5F0F\n\n1. **\u901A\u8FC7 className prop**: \u4F20\u5165\u81EA\u5B9A\u4E49\u7C7B\u540D\n2. **\u4F7F\u7528\u5185\u7F6E\u7C7B\u540D**: \u76F4\u63A5\u8986\u76D6\u5185\u7F6E\u7684\u8BED\u4E49\u5316\u7C7B\u540D\n\n### \u793A\u4F8B\u4EE3\u7801\n\n\\`\\`\\`tsx\n<InlineVideo\n data={data}\n className=\"custom-inline-video\"\n/>\n\\`\\`\\`\n\n\\`\\`\\`css\n/* \u81EA\u5B9A\u4E49\u6837\u5F0F */\n.custom-inline-video {\n background: rgba(0, 0, 0, 0.5);\n padding: 40px;\n backdrop-filter: blur(10px);\n}\n\n.custom-inline-video .inline-video-title {\n color: #00d4ff;\n text-shadow: 0 0 20px rgba(0, 212, 255, 0.5);\n}\n\n.custom-inline-video .inline-video-subtitle {\n color: #ffd700;\n}\n\n.custom-inline-video .inline-video-container {\n border: 2px solid rgba(255, 255, 255, 0.1);\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);\n}\n\\`\\`\\`\n\n\u6B64\u793A\u4F8B\u5C55\u793A\u4E86\u5982\u4F55\u901A\u8FC7\u7EC4\u5408 className prop \u548C\u5185\u7F6E\u7C7B\u540D\u6765\u5B9E\u73B0\u5B8C\u5168\u81EA\u5B9A\u4E49\u7684\u89C6\u89C9\u6548\u679C\u3002\n `,\n },\n },\n },\n decorators: [\n Story => (\n <div>\n <style>{`\n .custom-inline-video {\n background: rgba(0, 0, 0, 0.3);\n padding: 40px;\n backdrop-filter: blur(10px);\n }\n\n .custom-inline-video .inline-video-title {\n color: #00d4ff !important;\n text-shadow: 0 0 20px rgba(0, 212, 255, 0.5);\n }\n\n .custom-inline-video .inline-video-subtitle {\n color: #ffd700 !important;\n }\n\n .custom-inline-video .inline-video-description {\n opacity: 0.9;\n line-height: 1.8;\n }\n\n .custom-inline-video .inline-video-container {\n border: 2px solid rgba(255, 255, 255, 0.1);\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);\n }\n `}</style>\n <Story />\n </div>\n ),\n ],\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["jsx", "jsxs", "InlineVideo", "meta", "InlineVideo_stories_default", "defaultData", "Default", "WithoutSubtitle", "WithoutPosters", "LongDescription", "DarkTheme", "LightTheme", "CustomStyled", "Story"]
7
+ }
@@ -0,0 +1,19 @@
1
+ import a from"../biz-components/MarqueeReview/index.js";const e={title:"Biz-Components/MarqueeReview",component:a,parameters:{layout:"fullscreen",docs:{description:{component:`
2
+ # MarqueeReview \u8BC4\u8BBA\u8F6E\u64AD\u7EC4\u4EF6
3
+
4
+ \u7528\u4E8E\u5C55\u793A\u7528\u6237\u8BC4\u8BBA\u7684\u5782\u76F4\u6EDA\u52A8\u8F6E\u64AD\uFF0C\u901A\u8FC7\u65E0\u9650\u5FAA\u73AF\u52A8\u753B\u5C55\u793A\u5BA2\u6237\u53CD\u9988\u3002
5
+
6
+ ## \u6838\u5FC3\u529F\u80FD
7
+
8
+ - **\u5782\u76F4\u65E0\u9650\u6EDA\u52A8**\uFF1A\u8BC4\u8BBA\u5361\u7247\u4ECE\u4E0B\u5F80\u4E0A\u5FAA\u73AF\u6EDA\u52A8
9
+ - **\u591A\u5217\u54CD\u5E94\u5F0F\u5E03\u5C40**\uFF1A\u79FB\u52A8\u7AEF 1 \u5217\uFF0C\u5E73\u677F 2 \u5217\uFF0C\u684C\u9762 3 \u5217
10
+ - **\u661F\u7EA7\u8BC4\u5206**\uFF1A\u652F\u6301 1-5 \u661F\u8BC4\u5206\u5C55\u793A
11
+ - **\u7528\u6237\u5934\u50CF**\uFF1A\u5C55\u793A\u7528\u6237\u5934\u50CF\uFF0C\u652F\u6301\u56DE\u9000\u65B9\u6848
12
+ - **\u6E10\u53D8\u906E\u7F69**\uFF1A\u9876\u90E8/\u5E95\u90E8\u6E10\u53D8\u906E\u7F69\u6548\u679C
13
+ - **\u81EA\u52A8\u8865\u9F50**\uFF1A\u5C11\u4E8E 9 \u6761\u8BC4\u8BBA\u65F6\u81EA\u52A8\u590D\u5236\u8865\u9F50
14
+
15
+ ## \u4F7F\u7528\u573A\u666F
16
+
17
+ \u9002\u7528\u4E8E\u4EA7\u54C1\u8BC4\u4EF7\u5C55\u793A\u3001\u5BA2\u6237\u53CD\u9988\u5899\u3001\u793E\u4F1A\u8BC1\u660E\u7B49\u573A\u666F\u3002
18
+ `}}},tags:["autodocs"],argTypes:{data:{description:"\u8BC4\u8BBA\u6570\u636E,\u5305\u542B\u6807\u9898\u3001\u526F\u6807\u9898\u548C\u8BC4\u8BBA\u5217\u8868",control:{type:"object"}},className:{description:"\u81EA\u5B9A\u4E49 CSS \u7C7B\u540D",control:{type:"text"}}}};var i=e;const t=[{name:"Sarah Johnson",avatar:"https://i.pravatar.cc/150?img=1",comment:"This product has completely transformed my daily routine. The quality is outstanding!",rating:5},{name:"Michael Chen",avatar:"https://i.pravatar.cc/150?img=2",comment:"Excellent customer service and fast shipping. Highly recommend to everyone!",rating:5},{name:"Emma Williams",avatar:"https://i.pravatar.cc/150?img=3",comment:"Best purchase I made this year. Worth every penny and more!",rating:5},{name:"David Martinez",avatar:"https://i.pravatar.cc/150?img=4",comment:"Amazing build quality. You can feel the attention to detail in every aspect.",rating:5},{name:"Lisa Anderson",avatar:"https://i.pravatar.cc/150?img=5",comment:"Exceeded my expectations in every way. Will definitely buy again!",rating:4},{name:"James Taylor",avatar:"https://i.pravatar.cc/150?img=6",comment:"The design is sleek and modern. Fits perfectly with my aesthetic.",rating:5},{name:"Sophia Lee",avatar:"https://i.pravatar.cc/150?img=7",comment:"Great value for money. I was skeptical at first but now I am a believer!",rating:5},{name:"Robert Brown",avatar:"https://i.pravatar.cc/150?img=8",comment:"Innovative features that actually make a difference in everyday use.",rating:5},{name:"Olivia Garcia",avatar:"https://i.pravatar.cc/150?img=9",comment:"Customer support was incredibly helpful when I had questions. Five stars!",rating:5}],n={args:{data:{title:"What Our Customers Say",subtitle:"Trusted by thousands of satisfied customers worldwide",items:t}}},s={args:{data:{title:"\u5BA2\u6237\u8BC4\u4EF7",subtitle:"\u5168\u7403\u6570\u5343\u540D\u6EE1\u610F\u5BA2\u6237\u7684\u4FE1\u8D56\u4E4B\u9009",items:[{name:"\u5F20\u4F1F",avatar:"https://i.pravatar.cc/150?img=10",comment:"\u4EA7\u54C1\u8D28\u91CF\u975E\u5E38\u597D,\u4F7F\u7528\u4F53\u9A8C\u8D85\u51FA\u9884\u671F,\u5F3A\u70C8\u63A8\u8350!",rating:5},{name:"\u674E\u5A1C",avatar:"https://i.pravatar.cc/150?img=11",comment:"\u8BBE\u8BA1\u5F88\u7CBE\u7F8E,\u529F\u80FD\u4E5F\u5F88\u5B9E\u7528,\u7269\u8D85\u6240\u503C!",rating:5},{name:"\u738B\u5F3A",avatar:"https://i.pravatar.cc/150?img=12",comment:"\u5BA2\u670D\u6001\u5EA6\u5F88\u597D,\u7269\u6D41\u4E5F\u5F88\u5FEB,\u975E\u5E38\u6EE1\u610F!",rating:5},{name:"\u5218\u82B3",avatar:"https://i.pravatar.cc/150?img=13",comment:"\u8FD9\u662F\u6211\u4ECA\u5E74\u4E70\u8FC7\u6700\u6EE1\u610F\u7684\u4EA7\u54C1,\u503C\u5F97\u8D2D\u4E70!",rating:5},{name:"\u9648\u660E",avatar:"https://i.pravatar.cc/150?img=14",comment:"\u505A\u5DE5\u7CBE\u7EC6,\u8D28\u91CF\u4E0A\u4E58,\u4F7F\u7528\u8D77\u6765\u5F88\u8212\u9002!",rating:4},{name:"\u8D75\u4E3D",avatar:"https://i.pravatar.cc/150?img=15",comment:"\u5916\u89C2\u8BBE\u8BA1\u65F6\u5C1A,\u6027\u80FD\u7A33\u5B9A,\u975E\u5E38\u4E0D\u9519!",rating:5},{name:"\u5B59\u6D69",avatar:"https://i.pravatar.cc/150?img=16",comment:"\u6027\u4EF7\u6BD4\u5F88\u9AD8,\u8D85\u51FA\u4E86\u6211\u7684\u9884\u671F,\u4F1A\u56DE\u8D2D!",rating:5},{name:"\u5468\u654F",avatar:"https://i.pravatar.cc/150?img=17",comment:"\u529F\u80FD\u521B\u65B0,\u5B9E\u7528\u6027\u5F3A,\u65E5\u5E38\u4F7F\u7528\u5F88\u65B9\u4FBF!",rating:5},{name:"\u5434\u521A",avatar:"https://i.pravatar.cc/150?img=18",comment:"\u552E\u540E\u670D\u52A1\u5F88\u597D,\u6709\u95EE\u9898\u53CA\u65F6\u89E3\u51B3,\u4E94\u661F\u597D\u8BC4!",rating:5}]}}},m={args:{data:{title:"Early Reviews",subtitle:"What our first customers are saying",items:t.slice(0,3)}}},o={args:{data:{title:"Customer Feedback",subtitle:"Real reviews from real customers",items:[{name:"John Doe",avatar:"https://i.pravatar.cc/150?img=20",comment:"Perfect product! Could not be happier with my purchase.",rating:5},{name:"Jane Smith",avatar:"https://i.pravatar.cc/150?img=21",comment:"Very good quality. Minor improvements could be made but overall great.",rating:4},{name:"Bob Wilson",avatar:"https://i.pravatar.cc/150?img=22",comment:"Good product for the price. Does what it promises.",rating:3},{name:"Alice Cooper",avatar:"https://i.pravatar.cc/150?img=23",comment:"Excellent design and functionality. Impressed!",rating:5},{name:"Tom Harris",avatar:"https://i.pravatar.cc/150?img=24",comment:"Pretty good overall. Some features could be better.",rating:4},{name:"Mary Johnson",avatar:"https://i.pravatar.cc/150?img=25",comment:"Amazing! This is exactly what I was looking for.",rating:5},{name:"Peter Parker",avatar:"https://i.pravatar.cc/150?img=26",comment:"Great value. Happy with my decision to buy.",rating:4},{name:"Diana Prince",avatar:"https://i.pravatar.cc/150?img=27",comment:"Outstanding quality and customer service.",rating:5},{name:"Bruce Wayne",avatar:"https://i.pravatar.cc/150?img=28",comment:"Solid product. Meets all my needs perfectly.",rating:4}]}}},c={args:{data:{title:"Styled Reviews",subtitle:"Custom styling applied",items:t},className:"border-t-4 border-orange-500"}},p={args:{data:{title:"Detailed Reviews",subtitle:"In-depth feedback from our customers",items:[{name:"Alexandra Mitchell",avatar:"https://i.pravatar.cc/150?img=30",comment:"I have been using this product for several months now and I must say it has completely exceeded all of my expectations. The quality is outstanding and the attention to detail is remarkable. Every aspect has been carefully thought through.",rating:5},{name:"Christopher Davis",avatar:"https://i.pravatar.cc/150?img=31",comment:"Initially I was skeptical about making this purchase, but after reading all the positive reviews I decided to give it a try. I am so glad I did! This has become an essential part of my daily routine.",rating:5},{name:"Victoria Thompson",avatar:"https://i.pravatar.cc/150?img=32",comment:"The customer service team was incredibly helpful throughout the entire process. They answered all my questions promptly and made sure I was completely satisfied with my purchase. Five stars!",rating:5},...t.slice(0,6)]}}};export{s as Chinese,c as CustomStyle,n as Default,m as FewReviews,p as LongComments,o as MixedRatings,i as default};
19
+ //# sourceMappingURL=MarqueeReview.stories.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/stories/MarqueeReview.stories.tsx"],
4
+ "sourcesContent": ["import type { Meta, StoryObj } from '@storybook/react'\nimport MarqueeReview from '../biz-components/MarqueeReview/index.js'\nimport type { ReviewItem } from '../biz-components/MarqueeReview/index.js'\n\n/**\n * MarqueeReview \u7EC4\u4EF6\u7528\u4E8E\u5C55\u793A\u5782\u76F4\u6EDA\u52A8\u7684\u7528\u6237\u8BC4\u8BBA\u8F6E\u64AD\u3002\n *\n * ## \u529F\u80FD\u7279\u6027\n * - \u5782\u76F4\u65E0\u9650\u6EDA\u52A8\u52A8\u753B\n * - \u652F\u6301\u591A\u5217\u5E03\u5C40(\u54CD\u5E94\u5F0F)\n * - \u661F\u7EA7\u8BC4\u5206\u663E\u793A\n * - \u7528\u6237\u5934\u50CF\u5C55\u793A\n * - \u6E10\u53D8\u8FB9\u7F18\u906E\u7F69\u6548\u679C\n *\n * ## \u4F7F\u7528\u573A\u666F\n * - \u4EA7\u54C1\u8BC4\u4EF7\u5C55\u793A\n * - \u7528\u6237\u8BC1\u8A00\n * - \u5BA2\u6237\u53CD\u9988\u5899\n */\nconst meta = {\n title: 'Biz-Components/MarqueeReview',\n component: MarqueeReview,\n parameters: {\n layout: 'fullscreen',\n docs: {\n description: {\n component: `\n# MarqueeReview \u8BC4\u8BBA\u8F6E\u64AD\u7EC4\u4EF6\n\n\u7528\u4E8E\u5C55\u793A\u7528\u6237\u8BC4\u8BBA\u7684\u5782\u76F4\u6EDA\u52A8\u8F6E\u64AD\uFF0C\u901A\u8FC7\u65E0\u9650\u5FAA\u73AF\u52A8\u753B\u5C55\u793A\u5BA2\u6237\u53CD\u9988\u3002\n\n## \u6838\u5FC3\u529F\u80FD\n\n- **\u5782\u76F4\u65E0\u9650\u6EDA\u52A8**\uFF1A\u8BC4\u8BBA\u5361\u7247\u4ECE\u4E0B\u5F80\u4E0A\u5FAA\u73AF\u6EDA\u52A8\n- **\u591A\u5217\u54CD\u5E94\u5F0F\u5E03\u5C40**\uFF1A\u79FB\u52A8\u7AEF 1 \u5217\uFF0C\u5E73\u677F 2 \u5217\uFF0C\u684C\u9762 3 \u5217\n- **\u661F\u7EA7\u8BC4\u5206**\uFF1A\u652F\u6301 1-5 \u661F\u8BC4\u5206\u5C55\u793A\n- **\u7528\u6237\u5934\u50CF**\uFF1A\u5C55\u793A\u7528\u6237\u5934\u50CF\uFF0C\u652F\u6301\u56DE\u9000\u65B9\u6848\n- **\u6E10\u53D8\u906E\u7F69**\uFF1A\u9876\u90E8/\u5E95\u90E8\u6E10\u53D8\u906E\u7F69\u6548\u679C\n- **\u81EA\u52A8\u8865\u9F50**\uFF1A\u5C11\u4E8E 9 \u6761\u8BC4\u8BBA\u65F6\u81EA\u52A8\u590D\u5236\u8865\u9F50\n\n## \u4F7F\u7528\u573A\u666F\n\n\u9002\u7528\u4E8E\u4EA7\u54C1\u8BC4\u4EF7\u5C55\u793A\u3001\u5BA2\u6237\u53CD\u9988\u5899\u3001\u793E\u4F1A\u8BC1\u660E\u7B49\u573A\u666F\u3002\n `,\n },\n },\n },\n tags: ['autodocs'],\n argTypes: {\n data: {\n description: '\u8BC4\u8BBA\u6570\u636E,\u5305\u542B\u6807\u9898\u3001\u526F\u6807\u9898\u548C\u8BC4\u8BBA\u5217\u8868',\n control: { type: 'object' },\n },\n className: {\n description: '\u81EA\u5B9A\u4E49 CSS \u7C7B\u540D',\n control: { type: 'text' },\n },\n },\n} satisfies Meta<typeof MarqueeReview>\n\nexport default meta\ntype Story = StoryObj<typeof meta>\n\n// \u6A21\u62DF\u8BC4\u8BBA\u6570\u636E\nconst mockReviews: ReviewItem[] = [\n {\n name: 'Sarah Johnson',\n avatar: 'https://i.pravatar.cc/150?img=1',\n comment: 'This product has completely transformed my daily routine. The quality is outstanding!',\n rating: 5,\n },\n {\n name: 'Michael Chen',\n avatar: 'https://i.pravatar.cc/150?img=2',\n comment: 'Excellent customer service and fast shipping. Highly recommend to everyone!',\n rating: 5,\n },\n {\n name: 'Emma Williams',\n avatar: 'https://i.pravatar.cc/150?img=3',\n comment: 'Best purchase I made this year. Worth every penny and more!',\n rating: 5,\n },\n {\n name: 'David Martinez',\n avatar: 'https://i.pravatar.cc/150?img=4',\n comment: 'Amazing build quality. You can feel the attention to detail in every aspect.',\n rating: 5,\n },\n {\n name: 'Lisa Anderson',\n avatar: 'https://i.pravatar.cc/150?img=5',\n comment: 'Exceeded my expectations in every way. Will definitely buy again!',\n rating: 4,\n },\n {\n name: 'James Taylor',\n avatar: 'https://i.pravatar.cc/150?img=6',\n comment: 'The design is sleek and modern. Fits perfectly with my aesthetic.',\n rating: 5,\n },\n {\n name: 'Sophia Lee',\n avatar: 'https://i.pravatar.cc/150?img=7',\n comment: 'Great value for money. I was skeptical at first but now I am a believer!',\n rating: 5,\n },\n {\n name: 'Robert Brown',\n avatar: 'https://i.pravatar.cc/150?img=8',\n comment: 'Innovative features that actually make a difference in everyday use.',\n rating: 5,\n },\n {\n name: 'Olivia Garcia',\n avatar: 'https://i.pravatar.cc/150?img=9',\n comment: 'Customer support was incredibly helpful when I had questions. Five stars!',\n rating: 5,\n },\n]\n\n/**\n * \u9ED8\u8BA4\u72B6\u6001 - \u5C55\u793A\u5B8C\u6574\u7684\u8BC4\u8BBA\u8F6E\u64AD\u6548\u679C\n */\nexport const Default: Story = {\n args: {\n data: {\n title: 'What Our Customers Say',\n subtitle: 'Trusted by thousands of satisfied customers worldwide',\n items: mockReviews,\n },\n },\n}\n\n/**\n * \u4E2D\u6587\u5185\u5BB9 - \u5C55\u793A\u4E2D\u6587\u8BC4\u8BBA\n */\nexport const Chinese: Story = {\n args: {\n data: {\n title: '\u5BA2\u6237\u8BC4\u4EF7',\n subtitle: '\u5168\u7403\u6570\u5343\u540D\u6EE1\u610F\u5BA2\u6237\u7684\u4FE1\u8D56\u4E4B\u9009',\n items: [\n {\n name: '\u5F20\u4F1F',\n avatar: 'https://i.pravatar.cc/150?img=10',\n comment: '\u4EA7\u54C1\u8D28\u91CF\u975E\u5E38\u597D,\u4F7F\u7528\u4F53\u9A8C\u8D85\u51FA\u9884\u671F,\u5F3A\u70C8\u63A8\u8350!',\n rating: 5,\n },\n {\n name: '\u674E\u5A1C',\n avatar: 'https://i.pravatar.cc/150?img=11',\n comment: '\u8BBE\u8BA1\u5F88\u7CBE\u7F8E,\u529F\u80FD\u4E5F\u5F88\u5B9E\u7528,\u7269\u8D85\u6240\u503C!',\n rating: 5,\n },\n {\n name: '\u738B\u5F3A',\n avatar: 'https://i.pravatar.cc/150?img=12',\n comment: '\u5BA2\u670D\u6001\u5EA6\u5F88\u597D,\u7269\u6D41\u4E5F\u5F88\u5FEB,\u975E\u5E38\u6EE1\u610F!',\n rating: 5,\n },\n {\n name: '\u5218\u82B3',\n avatar: 'https://i.pravatar.cc/150?img=13',\n comment: '\u8FD9\u662F\u6211\u4ECA\u5E74\u4E70\u8FC7\u6700\u6EE1\u610F\u7684\u4EA7\u54C1,\u503C\u5F97\u8D2D\u4E70!',\n rating: 5,\n },\n {\n name: '\u9648\u660E',\n avatar: 'https://i.pravatar.cc/150?img=14',\n comment: '\u505A\u5DE5\u7CBE\u7EC6,\u8D28\u91CF\u4E0A\u4E58,\u4F7F\u7528\u8D77\u6765\u5F88\u8212\u9002!',\n rating: 4,\n },\n {\n name: '\u8D75\u4E3D',\n avatar: 'https://i.pravatar.cc/150?img=15',\n comment: '\u5916\u89C2\u8BBE\u8BA1\u65F6\u5C1A,\u6027\u80FD\u7A33\u5B9A,\u975E\u5E38\u4E0D\u9519!',\n rating: 5,\n },\n {\n name: '\u5B59\u6D69',\n avatar: 'https://i.pravatar.cc/150?img=16',\n comment: '\u6027\u4EF7\u6BD4\u5F88\u9AD8,\u8D85\u51FA\u4E86\u6211\u7684\u9884\u671F,\u4F1A\u56DE\u8D2D!',\n rating: 5,\n },\n {\n name: '\u5468\u654F',\n avatar: 'https://i.pravatar.cc/150?img=17',\n comment: '\u529F\u80FD\u521B\u65B0,\u5B9E\u7528\u6027\u5F3A,\u65E5\u5E38\u4F7F\u7528\u5F88\u65B9\u4FBF!',\n rating: 5,\n },\n {\n name: '\u5434\u521A',\n avatar: 'https://i.pravatar.cc/150?img=18',\n comment: '\u552E\u540E\u670D\u52A1\u5F88\u597D,\u6709\u95EE\u9898\u53CA\u65F6\u89E3\u51B3,\u4E94\u661F\u597D\u8BC4!',\n rating: 5,\n },\n ],\n },\n },\n}\n\n/**\n * \u5C11\u91CF\u8BC4\u8BBA - \u5F53\u8BC4\u8BBA\u6570\u91CF\u4E0D\u8DB3\u65F6,\u7EC4\u4EF6\u4F1A\u81EA\u52A8\u590D\u5236\u586B\u5145\n */\nexport const FewReviews: Story = {\n args: {\n data: {\n title: 'Early Reviews',\n subtitle: 'What our first customers are saying',\n items: mockReviews.slice(0, 3),\n },\n },\n}\n\n/**\n * \u4E0D\u540C\u8BC4\u5206 - \u5C55\u793A\u4E0D\u540C\u661F\u7EA7\u8BC4\u5206\n */\nexport const MixedRatings: Story = {\n args: {\n data: {\n title: 'Customer Feedback',\n subtitle: 'Real reviews from real customers',\n items: [\n {\n name: 'John Doe',\n avatar: 'https://i.pravatar.cc/150?img=20',\n comment: 'Perfect product! Could not be happier with my purchase.',\n rating: 5,\n },\n {\n name: 'Jane Smith',\n avatar: 'https://i.pravatar.cc/150?img=21',\n comment: 'Very good quality. Minor improvements could be made but overall great.',\n rating: 4,\n },\n {\n name: 'Bob Wilson',\n avatar: 'https://i.pravatar.cc/150?img=22',\n comment: 'Good product for the price. Does what it promises.',\n rating: 3,\n },\n {\n name: 'Alice Cooper',\n avatar: 'https://i.pravatar.cc/150?img=23',\n comment: 'Excellent design and functionality. Impressed!',\n rating: 5,\n },\n {\n name: 'Tom Harris',\n avatar: 'https://i.pravatar.cc/150?img=24',\n comment: 'Pretty good overall. Some features could be better.',\n rating: 4,\n },\n {\n name: 'Mary Johnson',\n avatar: 'https://i.pravatar.cc/150?img=25',\n comment: 'Amazing! This is exactly what I was looking for.',\n rating: 5,\n },\n {\n name: 'Peter Parker',\n avatar: 'https://i.pravatar.cc/150?img=26',\n comment: 'Great value. Happy with my decision to buy.',\n rating: 4,\n },\n {\n name: 'Diana Prince',\n avatar: 'https://i.pravatar.cc/150?img=27',\n comment: 'Outstanding quality and customer service.',\n rating: 5,\n },\n {\n name: 'Bruce Wayne',\n avatar: 'https://i.pravatar.cc/150?img=28',\n comment: 'Solid product. Meets all my needs perfectly.',\n rating: 4,\n },\n ],\n },\n },\n}\n\n/**\n * \u81EA\u5B9A\u4E49\u6837\u5F0F - \u4F7F\u7528\u81EA\u5B9A\u4E49 className\n */\nexport const CustomStyle: Story = {\n args: {\n data: {\n title: 'Styled Reviews',\n subtitle: 'Custom styling applied',\n items: mockReviews,\n },\n className: 'border-t-4 border-orange-500',\n },\n}\n\n/**\n * \u957F\u8BC4\u8BBA\u5185\u5BB9 - \u6D4B\u8BD5\u957F\u6587\u672C\u7684\u663E\u793A\u6548\u679C\n */\nexport const LongComments: Story = {\n args: {\n data: {\n title: 'Detailed Reviews',\n subtitle: 'In-depth feedback from our customers',\n items: [\n {\n name: 'Alexandra Mitchell',\n avatar: 'https://i.pravatar.cc/150?img=30',\n comment:\n 'I have been using this product for several months now and I must say it has completely exceeded all of my expectations. The quality is outstanding and the attention to detail is remarkable. Every aspect has been carefully thought through.',\n rating: 5,\n },\n {\n name: 'Christopher Davis',\n avatar: 'https://i.pravatar.cc/150?img=31',\n comment:\n 'Initially I was skeptical about making this purchase, but after reading all the positive reviews I decided to give it a try. I am so glad I did! This has become an essential part of my daily routine.',\n rating: 5,\n },\n {\n name: 'Victoria Thompson',\n avatar: 'https://i.pravatar.cc/150?img=32',\n comment:\n 'The customer service team was incredibly helpful throughout the entire process. They answered all my questions promptly and made sure I was completely satisfied with my purchase. Five stars!',\n rating: 5,\n },\n ...mockReviews.slice(0, 6),\n ],\n },\n },\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["MarqueeReview", "meta", "MarqueeReview_stories_default", "mockReviews", "Default", "Chinese", "FewReviews", "MixedRatings", "CustomStyle", "LongComments"]
7
+ }
@@ -0,0 +1,2 @@
1
+ import{jsx as t}from"react/jsx-runtime";import c from"../biz-components/MediaSceneSwitcher/index.js";const s={title:"Biz-Components/MediaSceneSwitcher",component:c,parameters:{layout:"fullscreen",docs:{description:{component:"Media Scene Switcher component - A versatile component for switching between multiple media scenes with auto-play functionality"}}},decorators:[i=>t("div",{style:{paddingTop:"2em",background:"#000",minHeight:"100vh"},children:t(i,{})})],tags:["autodocs"]};var l=s;const e={id:"690c3b11535a7c9975ffcd47",display:"visible",title:"360 Times/Minute",subtitle:"Self-Cleaning",container:{mobileSpan:"12",desktopSpan:"10"},blockName:"\u591A\u573A\u666F\u5207\u63621_10\u6805\u683C_public",blockType:"MediaSceneSwitcher",items:[{id:"690c3b32535a7c9975ffcd49",title:"Scrapes Off Dirt",tag:"20% OFF",videoUrl:{id:3066,alt:null,baseUrl:"https://cdn.shopify.com/videos/c/o/v/1e998bd871c04ccbb800c1d8d3d3fea8.mp4",url:"https://cdn.shopify.com/videos/c/o/v/1e998bd871c04ccbb800c1d8d3d3fea8.mp4",thumbnailURL:"https://cdn.shopify.com/s/files/1/0615/0511/0255/files/preview_images/1e998bd871c04ccbb800c1d8d3d3fea8.thumbnail.0000000000.jpg?v=1762410832",filename:"987f27aa1745438f80200fa6bc87429f.mp4",mimeType:"video/mp4",width:null,height:null},imageUrl:{id:3067,alt:null,baseUrl:"https://cdn.shopify.com/s/files/1/0615/0511/0255/files/d1d9f512-4594-4e99-b4f7-18823466e20c_Frame_2121235302.png?v=1762410856",url:"https://cdn.shopify.com/s/files/1/0615/0511/0255/files/d1d9f512-4594-4e99-b4f7-18823466e20c_Frame_2121235302.png?v=1762410856",thumbnailURL:"https://cdn.shopify.com/s/files/1/0615/0511/0255/files/d1d9f512-4594-4e99-b4f7-18823466e20c_Frame_2121235302.png?v=1762410856",filename:"Frame_2121235302.png",mimeType:"image/png",width:1648,height:1120},mobVideoUrl:null,mobImageUrl:null},{id:"690c3b35535a7c9975ffcd4b",title:"Cleans the Mop with Water and Detergent",tag:"20% OFF",videoUrl:{id:3068,alt:null,baseUrl:"https://cdn.shopify.com/videos/c/o/v/1e998bd871c04ccbb800c1d8d3d3fea8.mp4",url:"https://cdn.shopify.com/videos/c/o/v/1e998bd871c04ccbb800c1d8d3d3fea8.mp4",thumbnailURL:"https://cdn.shopify.com/s/files/1/0615/0511/0255/files/preview_images/1e998bd871c04ccbb800c1d8d3d3fea8.thumbnail.0000000000.jpg?v=1762410832",filename:"987f27aa1745438f80200fa6bc87429f.mp4",mimeType:"video/mp4",width:null,height:null},imageUrl:{id:3069,alt:null,baseUrl:"https://cdn.shopify.com/s/files/1/0615/0511/0255/files/d1d9f512-4594-4e99-b4f7-18823466e20c_Frame_2121235302.png?v=1762410856",url:"https://cdn.shopify.com/s/files/1/0615/0511/0255/files/d1d9f512-4594-4e99-b4f7-18823466e20c_Frame_2121235302.png?v=1762410856",thumbnailURL:"https://cdn.shopify.com/s/files/1/0615/0511/0255/files/d1d9f512-4594-4e99-b4f7-18823466e20c_Frame_2121235302.png?v=1762410856",filename:"Frame_2121235302.png",mimeType:"image/png",width:1648,height:1120},mobVideoUrl:null,mobImageUrl:null},{id:"690c3b38535a7c9975ffcd4d",title:"Squeezes Out Dirty Water",tag:"20% OFF",videoUrl:{id:3070,alt:null,baseUrl:"https://cdn.shopify.com/videos/c/o/v/1e998bd871c04ccbb800c1d8d3d3fea8.mp4",url:"https://cdn.shopify.com/videos/c/o/v/1e998bd871c04ccbb800c1d8d3d3fea8.mp4",thumbnailURL:"https://cdn.shopify.com/s/files/1/0615/0511/0255/files/preview_images/1e998bd871c04ccbb800c1d8d3d3fea8.thumbnail.0000000000.jpg?v=1762410832",filename:"987f27aa1745438f80200fa6bc87429f.mp4",mimeType:"video/mp4",width:null,height:null},imageUrl:{id:3071,alt:null,baseUrl:"https://cdn.shopify.com/s/files/1/0615/0511/0255/files/d1d9f512-4594-4e99-b4f7-18823466e20c_Frame_2121235302.png?v=1762410856",url:"https://cdn.shopify.com/s/files/1/0615/0511/0255/files/d1d9f512-4594-4e99-b4f7-18823466e20c_Frame_2121235302.png?v=1762410856",thumbnailURL:"https://cdn.shopify.com/s/files/1/0615/0511/0255/files/d1d9f512-4594-4e99-b4f7-18823466e20c_Frame_2121235302.png?v=1762410856",filename:"Frame_2121235302.png",mimeType:"image/png",width:1648,height:1120},mobVideoUrl:null,mobImageUrl:null}]},d={args:{data:e}},o={args:{data:{...e,items:e.items.map(i=>({...i,tag:void 0}))}}},m={args:{data:{...e,items:e.items.map(i=>({...i,videoUrl:null}))}}},n={args:{data:{...e,items:e.items.slice(0,2)}}};export{d as Default,m as ImageOnly,n as TwoItems,o as WithoutTags,l as default};
2
+ //# sourceMappingURL=MediaSceneSwitcher.stories.js.map