@anker-in/headless-ui 1.1.32 → 1.1.34-alpha.1768461697532

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 (864) hide show
  1. package/dist/cjs/biz-components/AccordionCards/index.d.ts +3 -3
  2. package/dist/cjs/biz-components/ActiveShelf/index.d.ts +222 -0
  3. package/dist/cjs/biz-components/ActiveShelf/index.js +2 -0
  4. package/dist/cjs/biz-components/ActiveShelf/index.js.map +7 -0
  5. package/dist/cjs/biz-components/ActiveShelf/types.d.ts +22 -0
  6. package/dist/cjs/biz-components/ActiveShelf/types.js +2 -0
  7. package/dist/cjs/biz-components/ActiveShelf/types.js.map +7 -0
  8. package/dist/cjs/biz-components/AiuiProvider/index.d.ts +7 -0
  9. package/dist/cjs/biz-components/AiuiProvider/index.js +1 -1
  10. package/dist/cjs/biz-components/AiuiProvider/index.js.map +2 -2
  11. package/dist/cjs/biz-components/AnchorNavigation/index.d.ts +42 -0
  12. package/dist/cjs/biz-components/AnchorNavigation/index.js +2 -0
  13. package/dist/cjs/biz-components/AnchorNavigation/index.js.map +7 -0
  14. package/dist/cjs/biz-components/AnchorNavigation/useAnchorPosition.d.ts +2 -0
  15. package/dist/cjs/biz-components/AnchorNavigation/useAnchorPosition.js +2 -0
  16. package/dist/cjs/biz-components/AnchorNavigation/useAnchorPosition.js.map +7 -0
  17. package/dist/cjs/biz-components/AplusDesc/index.d.ts +3 -3
  18. package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.d.ts +3 -3
  19. package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.js +1 -1
  20. package/dist/cjs/biz-components/BrandCardLink/BrandCardLink.js.map +1 -1
  21. package/dist/cjs/biz-components/BrandEquity/BrandEquity.d.ts +3 -3
  22. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js +1 -1
  23. package/dist/cjs/biz-components/BrandEquity/BrandEquity.js.map +3 -3
  24. package/dist/cjs/biz-components/BrandEquity/types.d.ts +1 -0
  25. package/dist/cjs/biz-components/BrandEquity/types.js +1 -1
  26. package/dist/cjs/biz-components/BrandEquity/types.js.map +1 -1
  27. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.d.ts +74 -0
  28. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.js +2 -0
  29. package/dist/cjs/biz-components/BuyOneGetOneShelf/ProductCard.js.map +7 -0
  30. package/dist/cjs/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.d.ts +36 -0
  31. package/dist/cjs/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.js +2 -0
  32. package/dist/cjs/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.js.map +7 -0
  33. package/dist/cjs/biz-components/BuyOneGetOneShelf/index.d.ts +193 -0
  34. package/dist/cjs/biz-components/BuyOneGetOneShelf/index.js +2 -0
  35. package/dist/cjs/biz-components/BuyOneGetOneShelf/index.js.map +7 -0
  36. package/dist/cjs/biz-components/Category/index.d.ts +3 -3
  37. package/dist/cjs/biz-components/CreativeModule/index.d.ts +3 -3
  38. package/dist/cjs/biz-components/DownLoad/index.d.ts +3 -3
  39. package/dist/cjs/biz-components/Evaluate/index.d.ts +3 -3
  40. package/dist/cjs/biz-components/Evaluate/index.js +1 -1
  41. package/dist/cjs/biz-components/Evaluate/index.js.map +3 -3
  42. package/dist/cjs/biz-components/EventSchedule/index.d.ts +63 -0
  43. package/dist/cjs/biz-components/EventSchedule/index.js +2 -0
  44. package/dist/cjs/biz-components/EventSchedule/index.js.map +7 -0
  45. package/dist/cjs/biz-components/Faq/Faq.d.ts +3 -3
  46. package/dist/cjs/biz-components/FeatureCards/FeatureCards.d.ts +3 -3
  47. package/dist/cjs/biz-components/FeatureShowcase/FeatureShowcase.d.ts +3 -3
  48. package/dist/cjs/biz-components/Features/index.d.ts +3 -3
  49. package/dist/cjs/biz-components/FootCharger/index.d.ts +3 -3
  50. package/dist/cjs/biz-components/FooterNavigation/index.d.ts +3 -3
  51. package/dist/cjs/biz-components/GiftBox/index.d.ts +3 -3
  52. package/dist/cjs/biz-components/Graphic/index.d.ts +3 -3
  53. package/dist/cjs/biz-components/Graphic/index.js +1 -1
  54. package/dist/cjs/biz-components/Graphic/index.js.map +3 -3
  55. package/dist/cjs/biz-components/GraphicAttractionBlock/index.d.ts +3 -3
  56. package/dist/cjs/biz-components/GraphicMore/index.d.ts +3 -3
  57. package/dist/cjs/biz-components/GraphicOverlay/GraphicOverlay.d.ts +3 -3
  58. package/dist/cjs/biz-components/HeaderNavigation/MobileSidebarMenu.js +1 -1
  59. package/dist/cjs/biz-components/HeaderNavigation/MobileSidebarMenu.js.map +3 -3
  60. package/dist/cjs/biz-components/HeaderNavigation/SidebarDropdown.js +1 -1
  61. package/dist/cjs/biz-components/HeaderNavigation/SidebarDropdown.js.map +2 -2
  62. package/dist/cjs/biz-components/HeaderNavigation/index.d.ts +3 -3
  63. package/dist/cjs/biz-components/HeroBanner/Countdown.js +1 -1
  64. package/dist/cjs/biz-components/HeroBanner/Countdown.js.map +2 -2
  65. package/dist/cjs/biz-components/HeroBanner/HeroBanner.d.ts +6 -3
  66. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js +1 -1
  67. package/dist/cjs/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  68. package/dist/cjs/biz-components/IPRedirect/RegionBanner.d.ts +37 -0
  69. package/dist/cjs/biz-components/IPRedirect/RegionBanner.js +60 -0
  70. package/dist/cjs/biz-components/IPRedirect/RegionBanner.js.map +7 -0
  71. package/dist/cjs/biz-components/IPRedirect/RegionSelectorModal.d.ts +47 -0
  72. package/dist/cjs/biz-components/IPRedirect/RegionSelectorModal.js +69 -0
  73. package/dist/cjs/biz-components/IPRedirect/RegionSelectorModal.js.map +7 -0
  74. package/dist/cjs/biz-components/IPRedirect/index.d.ts +9 -0
  75. package/dist/cjs/biz-components/IPRedirect/index.js +2 -0
  76. package/dist/cjs/biz-components/IPRedirect/index.js.map +7 -0
  77. package/dist/cjs/biz-components/IPRedirect/type.d.ts +36 -0
  78. package/dist/cjs/biz-components/IPRedirect/type.js +2 -0
  79. package/dist/cjs/biz-components/IPRedirect/type.js.map +7 -0
  80. package/dist/cjs/biz-components/IPRedirect/useAutoRedirect.d.ts +66 -0
  81. package/dist/cjs/biz-components/IPRedirect/useAutoRedirect.js +2 -0
  82. package/dist/cjs/biz-components/IPRedirect/useAutoRedirect.js.map +7 -0
  83. package/dist/cjs/biz-components/IPRedirect/useDetectedRegionRedirect.d.ts +51 -0
  84. package/dist/cjs/biz-components/IPRedirect/useDetectedRegionRedirect.js +2 -0
  85. package/dist/cjs/biz-components/IPRedirect/useDetectedRegionRedirect.js.map +7 -0
  86. package/dist/cjs/biz-components/IPRedirect/useIPRedirect.d.ts +42 -0
  87. package/dist/cjs/biz-components/IPRedirect/useIPRedirect.js +2 -0
  88. package/dist/cjs/biz-components/IPRedirect/useIPRedirect.js.map +7 -0
  89. package/dist/cjs/biz-components/IPRedirect/useRedirectBanner.d.ts +108 -0
  90. package/dist/cjs/biz-components/IPRedirect/useRedirectBanner.js +2 -0
  91. package/dist/cjs/biz-components/IPRedirect/useRedirectBanner.js.map +7 -0
  92. package/dist/cjs/biz-components/IPRedirect/useRegionRedirectManager.d.ts +152 -0
  93. package/dist/cjs/biz-components/IPRedirect/useRegionRedirectManager.js +2 -0
  94. package/dist/cjs/biz-components/IPRedirect/useRegionRedirectManager.js.map +7 -0
  95. package/dist/cjs/biz-components/IPRedirect/useSavedRegionRedirect.d.ts +51 -0
  96. package/dist/cjs/biz-components/IPRedirect/useSavedRegionRedirect.js +2 -0
  97. package/dist/cjs/biz-components/IPRedirect/useSavedRegionRedirect.js.map +7 -0
  98. package/dist/cjs/biz-components/IPRedirect/utils.d.ts +222 -0
  99. package/dist/cjs/biz-components/IPRedirect/utils.js +2 -0
  100. package/dist/cjs/biz-components/IPRedirect/utils.js.map +7 -0
  101. package/dist/cjs/biz-components/ImageOverlayShelf/index.d.ts +130 -0
  102. package/dist/cjs/biz-components/ImageOverlayShelf/index.js +2 -0
  103. package/dist/cjs/biz-components/ImageOverlayShelf/index.js.map +7 -0
  104. package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.d.ts +3 -3
  105. package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.js +1 -1
  106. package/dist/cjs/biz-components/ImageTextFeature/ImageTextFeature.js.map +3 -3
  107. package/dist/cjs/biz-components/ImageWithText/ImageWithText.d.ts +3 -3
  108. package/dist/cjs/biz-components/Ksp/index.d.ts +3 -3
  109. package/dist/cjs/biz-components/Listing/components/PaidShipping/index.d.ts +4 -4
  110. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +3 -3
  111. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +3 -3
  112. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +3 -3
  113. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +3 -3
  114. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +3 -3
  115. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +3 -3
  116. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +3 -3
  117. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +3 -3
  118. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.d.ts +3 -3
  119. package/dist/cjs/biz-components/Marquee/Marquee.d.ts +3 -3
  120. package/dist/cjs/biz-components/Marquee/Marquee.js +1 -1
  121. package/dist/cjs/biz-components/Marquee/Marquee.js.map +3 -3
  122. package/dist/cjs/biz-components/MarqueeReview/index.d.ts +3 -3
  123. package/dist/cjs/biz-components/Media/index.d.ts +32 -0
  124. package/dist/cjs/biz-components/Media/index.js +2 -0
  125. package/dist/cjs/biz-components/Media/index.js.map +7 -0
  126. package/dist/cjs/biz-components/MediaPlayerBase/index.d.ts +3 -3
  127. package/dist/cjs/biz-components/MediaPlayerMulti/index.d.ts +3 -3
  128. package/dist/cjs/biz-components/MediaPlayerSticky/index.d.ts +4 -4
  129. package/dist/cjs/biz-components/MediaPlayerSticky/types.d.ts +1 -0
  130. package/dist/cjs/biz-components/MediaPlayerSticky/types.js +1 -1
  131. package/dist/cjs/biz-components/MediaPlayerSticky/types.js.map +1 -1
  132. package/dist/cjs/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +3 -3
  133. package/dist/cjs/biz-components/MediaShelf/index.d.ts +216 -0
  134. package/dist/cjs/biz-components/MediaShelf/index.js +2 -0
  135. package/dist/cjs/biz-components/MediaShelf/index.js.map +7 -0
  136. package/dist/cjs/biz-components/MediaShelf/types.d.ts +22 -0
  137. package/dist/cjs/biz-components/MediaShelf/types.js +2 -0
  138. package/dist/cjs/biz-components/MediaShelf/types.js.map +7 -0
  139. package/dist/cjs/biz-components/MemberEquity/index.d.ts +3 -3
  140. package/dist/cjs/biz-components/MiniCart/index.d.ts +88 -0
  141. package/dist/cjs/biz-components/MiniCart/index.js +2 -0
  142. package/dist/cjs/biz-components/MiniCart/index.js.map +7 -0
  143. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +3 -3
  144. package/dist/cjs/biz-components/ProductCompare/index.d.ts +3 -3
  145. package/dist/cjs/biz-components/ProductHero/ProductHero.d.ts +3 -3
  146. package/dist/cjs/biz-components/ProductNav/ProductNav.d.ts +3 -3
  147. package/dist/cjs/biz-components/PromotionalBar/index.d.ts +49 -0
  148. package/dist/cjs/biz-components/PromotionalBar/index.js +2 -0
  149. package/dist/cjs/biz-components/PromotionalBar/index.js.map +7 -0
  150. package/dist/cjs/biz-components/SecondaryBanner/index.d.ts +69 -0
  151. package/dist/cjs/biz-components/SecondaryBanner/index.js +2 -0
  152. package/dist/cjs/biz-components/SecondaryBanner/index.js.map +7 -0
  153. package/dist/cjs/biz-components/SelectStore/index.d.ts +3 -3
  154. package/dist/cjs/biz-components/ShelfDisplay/index.d.ts +3 -3
  155. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.d.ts +0 -11
  156. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
  157. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js.map +3 -3
  158. package/dist/cjs/biz-components/Slogan/index.d.ts +3 -3
  159. package/dist/cjs/biz-components/Spacer/index.d.ts +3 -3
  160. package/dist/cjs/biz-components/Specs/index.d.ts +3 -3
  161. package/dist/cjs/biz-components/Specs/index.js +1 -1
  162. package/dist/cjs/biz-components/Specs/index.js.map +2 -2
  163. package/dist/cjs/biz-components/SpecsComparison/SpecsComparison.d.ts +3 -3
  164. package/dist/cjs/biz-components/TabWithImage/TabWithImage.d.ts +3 -3
  165. package/dist/cjs/biz-components/Tabs/Tabs.d.ts +3 -3
  166. package/dist/cjs/biz-components/TabsGroup/index.d.ts +3 -3
  167. package/dist/cjs/biz-components/TabsWithMedia/TabsWithMedia.d.ts +3 -3
  168. package/dist/cjs/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +3 -3
  169. package/dist/cjs/biz-components/Title/Countdown.d.ts +14 -0
  170. package/dist/cjs/biz-components/Title/Countdown.js +2 -0
  171. package/dist/cjs/biz-components/Title/Countdown.js.map +7 -0
  172. package/dist/cjs/biz-components/Title/index.d.ts +3 -3
  173. package/dist/cjs/biz-components/Title/index.js +1 -1
  174. package/dist/cjs/biz-components/Title/index.js.map +3 -3
  175. package/dist/cjs/biz-components/Title/types.d.ts +55 -0
  176. package/dist/cjs/biz-components/Title/types.js +1 -1
  177. package/dist/cjs/biz-components/Title/types.js.map +1 -1
  178. package/dist/cjs/biz-components/VideoFeature/VideoFeature.d.ts +3 -3
  179. package/dist/cjs/biz-components/WheelLottery/BaseModal.d.ts +55 -0
  180. package/dist/cjs/biz-components/WheelLottery/BaseModal.js +12 -0
  181. package/dist/cjs/biz-components/WheelLottery/BaseModal.js.map +7 -0
  182. package/dist/cjs/biz-components/WheelLottery/ChanceMethods.d.ts +30 -0
  183. package/dist/cjs/biz-components/WheelLottery/ChanceMethods.js +2 -0
  184. package/dist/cjs/biz-components/WheelLottery/ChanceMethods.js.map +7 -0
  185. package/dist/cjs/biz-components/WheelLottery/ErrorModal.d.ts +42 -0
  186. package/dist/cjs/biz-components/WheelLottery/ErrorModal.js +2 -0
  187. package/dist/cjs/biz-components/WheelLottery/ErrorModal.js.map +7 -0
  188. package/dist/cjs/biz-components/WheelLottery/MyRewardsModal.d.ts +91 -0
  189. package/dist/cjs/biz-components/WheelLottery/MyRewardsModal.js +2 -0
  190. package/dist/cjs/biz-components/WheelLottery/MyRewardsModal.js.map +7 -0
  191. package/dist/cjs/biz-components/WheelLottery/PrizePool.d.ts +26 -0
  192. package/dist/cjs/biz-components/WheelLottery/PrizePool.js +2 -0
  193. package/dist/cjs/biz-components/WheelLottery/PrizePool.js.map +7 -0
  194. package/dist/cjs/biz-components/WheelLottery/RulesModal.d.ts +43 -0
  195. package/dist/cjs/biz-components/WheelLottery/RulesModal.js +2 -0
  196. package/dist/cjs/biz-components/WheelLottery/RulesModal.js.map +7 -0
  197. package/dist/cjs/biz-components/WheelLottery/ShareModal.d.ts +74 -0
  198. package/dist/cjs/biz-components/WheelLottery/ShareModal.js +2 -0
  199. package/dist/cjs/biz-components/WheelLottery/ShareModal.js.map +7 -0
  200. package/dist/cjs/biz-components/WheelLottery/Wheel.d.ts +27 -0
  201. package/dist/cjs/biz-components/WheelLottery/Wheel.js +2 -0
  202. package/dist/cjs/biz-components/WheelLottery/Wheel.js.map +7 -0
  203. package/dist/cjs/biz-components/WheelLottery/WinnerModal.d.ts +25 -0
  204. package/dist/cjs/biz-components/WheelLottery/WinnerModal.js +2 -0
  205. package/dist/cjs/biz-components/WheelLottery/WinnerModal.js.map +7 -0
  206. package/dist/cjs/biz-components/WheelLottery/index.d.ts +52 -0
  207. package/dist/cjs/biz-components/WheelLottery/index.js +2 -0
  208. package/dist/cjs/biz-components/WheelLottery/index.js.map +7 -0
  209. package/dist/cjs/biz-components/WheelLottery/types.d.ts +1193 -0
  210. package/dist/cjs/biz-components/WheelLottery/types.js +2 -0
  211. package/dist/cjs/biz-components/WheelLottery/types.js.map +7 -0
  212. package/dist/cjs/biz-components/WhyChoose/WhyChoose.d.ts +3 -3
  213. package/dist/cjs/biz-components/index.d.ts +30 -2
  214. package/dist/cjs/biz-components/index.js +1 -1
  215. package/dist/cjs/biz-components/index.js.map +3 -3
  216. package/dist/cjs/components/badge.js +1 -1
  217. package/dist/cjs/components/badge.js.map +2 -2
  218. package/dist/cjs/components/index.d.ts +2 -0
  219. package/dist/cjs/components/index.js +1 -1
  220. package/dist/cjs/components/index.js.map +3 -3
  221. package/dist/cjs/components/paginator.d.ts +12 -0
  222. package/dist/cjs/components/paginator.js +7 -0
  223. package/dist/cjs/components/paginator.js.map +7 -0
  224. package/dist/cjs/components/progress.d.ts +46 -0
  225. package/dist/cjs/components/progress.js +2 -0
  226. package/dist/cjs/components/progress.js.map +7 -0
  227. package/dist/cjs/components/tabs.d.ts +2 -1
  228. package/dist/cjs/components/tabs.js +1 -1
  229. package/dist/cjs/components/tabs.js.map +2 -2
  230. package/dist/cjs/helpers/index.d.ts +1 -0
  231. package/dist/cjs/helpers/index.js +1 -1
  232. package/dist/cjs/helpers/index.js.map +3 -3
  233. package/dist/cjs/helpers/priceFormatting.d.ts +11 -0
  234. package/dist/cjs/helpers/priceFormatting.js +2 -0
  235. package/dist/cjs/helpers/priceFormatting.js.map +7 -0
  236. package/dist/cjs/shared/Styles.d.ts +5 -4
  237. package/dist/cjs/shared/Styles.js +1 -1
  238. package/dist/cjs/shared/Styles.js.map +3 -3
  239. package/dist/cjs/types/props.d.ts +0 -3
  240. package/dist/cjs/types/props.js +1 -1
  241. package/dist/cjs/types/props.js.map +1 -1
  242. package/dist/esm/biz-components/AccordionCards/index.d.ts +3 -3
  243. package/dist/esm/biz-components/ActiveShelf/index.d.ts +222 -0
  244. package/dist/esm/biz-components/ActiveShelf/index.js +2 -0
  245. package/dist/esm/biz-components/ActiveShelf/index.js.map +7 -0
  246. package/dist/esm/biz-components/ActiveShelf/types.d.ts +22 -0
  247. package/dist/esm/biz-components/ActiveShelf/types.js +1 -0
  248. package/dist/esm/biz-components/ActiveShelf/types.js.map +7 -0
  249. package/dist/esm/biz-components/AiuiProvider/index.d.ts +7 -0
  250. package/dist/esm/biz-components/AiuiProvider/index.js +1 -1
  251. package/dist/esm/biz-components/AiuiProvider/index.js.map +2 -2
  252. package/dist/esm/biz-components/AnchorNavigation/index.d.ts +42 -0
  253. package/dist/esm/biz-components/AnchorNavigation/index.js +2 -0
  254. package/dist/esm/biz-components/AnchorNavigation/index.js.map +7 -0
  255. package/dist/esm/biz-components/AnchorNavigation/useAnchorPosition.d.ts +2 -0
  256. package/dist/esm/biz-components/AnchorNavigation/useAnchorPosition.js +2 -0
  257. package/dist/esm/biz-components/AnchorNavigation/useAnchorPosition.js.map +7 -0
  258. package/dist/esm/biz-components/AplusDesc/index.d.ts +3 -3
  259. package/dist/esm/biz-components/BrandCardLink/BrandCardLink.d.ts +3 -3
  260. package/dist/esm/biz-components/BrandCardLink/BrandCardLink.js +1 -1
  261. package/dist/esm/biz-components/BrandCardLink/BrandCardLink.js.map +1 -1
  262. package/dist/esm/biz-components/BrandEquity/BrandEquity.d.ts +3 -3
  263. package/dist/esm/biz-components/BrandEquity/BrandEquity.js +1 -1
  264. package/dist/esm/biz-components/BrandEquity/BrandEquity.js.map +3 -3
  265. package/dist/esm/biz-components/BrandEquity/types.d.ts +1 -0
  266. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.d.ts +74 -0
  267. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.js +2 -0
  268. package/dist/esm/biz-components/BuyOneGetOneShelf/ProductCard.js.map +7 -0
  269. package/dist/esm/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.d.ts +36 -0
  270. package/dist/esm/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.js +2 -0
  271. package/dist/esm/biz-components/BuyOneGetOneShelf/hooks/useBogoDataTransform.js.map +7 -0
  272. package/dist/esm/biz-components/BuyOneGetOneShelf/index.d.ts +193 -0
  273. package/dist/esm/biz-components/BuyOneGetOneShelf/index.js +2 -0
  274. package/dist/esm/biz-components/BuyOneGetOneShelf/index.js.map +7 -0
  275. package/dist/esm/biz-components/Category/index.d.ts +3 -3
  276. package/dist/esm/biz-components/CreativeModule/index.d.ts +3 -3
  277. package/dist/esm/biz-components/DownLoad/index.d.ts +3 -3
  278. package/dist/esm/biz-components/Evaluate/index.d.ts +3 -3
  279. package/dist/esm/biz-components/Evaluate/index.js +1 -1
  280. package/dist/esm/biz-components/Evaluate/index.js.map +3 -3
  281. package/dist/esm/biz-components/EventSchedule/index.d.ts +63 -0
  282. package/dist/esm/biz-components/EventSchedule/index.js +2 -0
  283. package/dist/esm/biz-components/EventSchedule/index.js.map +7 -0
  284. package/dist/esm/biz-components/Faq/Faq.d.ts +3 -3
  285. package/dist/esm/biz-components/FeatureCards/FeatureCards.d.ts +3 -3
  286. package/dist/esm/biz-components/FeatureShowcase/FeatureShowcase.d.ts +3 -3
  287. package/dist/esm/biz-components/Features/index.d.ts +3 -3
  288. package/dist/esm/biz-components/FootCharger/index.d.ts +3 -3
  289. package/dist/esm/biz-components/FooterNavigation/index.d.ts +3 -3
  290. package/dist/esm/biz-components/GiftBox/index.d.ts +3 -3
  291. package/dist/esm/biz-components/Graphic/index.d.ts +3 -3
  292. package/dist/esm/biz-components/Graphic/index.js +1 -1
  293. package/dist/esm/biz-components/Graphic/index.js.map +3 -3
  294. package/dist/esm/biz-components/GraphicAttractionBlock/index.d.ts +3 -3
  295. package/dist/esm/biz-components/GraphicMore/index.d.ts +3 -3
  296. package/dist/esm/biz-components/GraphicOverlay/GraphicOverlay.d.ts +3 -3
  297. package/dist/esm/biz-components/HeaderNavigation/MobileSidebarMenu.js +1 -1
  298. package/dist/esm/biz-components/HeaderNavigation/MobileSidebarMenu.js.map +3 -3
  299. package/dist/esm/biz-components/HeaderNavigation/SidebarDropdown.js +1 -1
  300. package/dist/esm/biz-components/HeaderNavigation/SidebarDropdown.js.map +2 -2
  301. package/dist/esm/biz-components/HeaderNavigation/index.d.ts +3 -3
  302. package/dist/esm/biz-components/HeroBanner/Countdown.js +1 -1
  303. package/dist/esm/biz-components/HeroBanner/Countdown.js.map +2 -2
  304. package/dist/esm/biz-components/HeroBanner/HeroBanner.d.ts +6 -3
  305. package/dist/esm/biz-components/HeroBanner/HeroBanner.js +1 -1
  306. package/dist/esm/biz-components/HeroBanner/HeroBanner.js.map +3 -3
  307. package/dist/esm/biz-components/IPRedirect/RegionBanner.d.ts +37 -0
  308. package/dist/esm/biz-components/IPRedirect/RegionBanner.js +60 -0
  309. package/dist/esm/biz-components/IPRedirect/RegionBanner.js.map +7 -0
  310. package/dist/esm/biz-components/IPRedirect/RegionSelectorModal.d.ts +47 -0
  311. package/dist/esm/biz-components/IPRedirect/RegionSelectorModal.js +69 -0
  312. package/dist/esm/biz-components/IPRedirect/RegionSelectorModal.js.map +7 -0
  313. package/dist/esm/biz-components/IPRedirect/index.d.ts +9 -0
  314. package/dist/esm/biz-components/IPRedirect/index.js +2 -0
  315. package/dist/esm/biz-components/IPRedirect/index.js.map +7 -0
  316. package/dist/esm/biz-components/IPRedirect/type.d.ts +36 -0
  317. package/dist/esm/biz-components/IPRedirect/type.js +1 -0
  318. package/dist/esm/biz-components/IPRedirect/type.js.map +7 -0
  319. package/dist/esm/biz-components/IPRedirect/useAutoRedirect.d.ts +66 -0
  320. package/dist/esm/biz-components/IPRedirect/useAutoRedirect.js +2 -0
  321. package/dist/esm/biz-components/IPRedirect/useAutoRedirect.js.map +7 -0
  322. package/dist/esm/biz-components/IPRedirect/useDetectedRegionRedirect.d.ts +51 -0
  323. package/dist/esm/biz-components/IPRedirect/useDetectedRegionRedirect.js +2 -0
  324. package/dist/esm/biz-components/IPRedirect/useDetectedRegionRedirect.js.map +7 -0
  325. package/dist/esm/biz-components/IPRedirect/useIPRedirect.d.ts +42 -0
  326. package/dist/esm/biz-components/IPRedirect/useIPRedirect.js +2 -0
  327. package/dist/esm/biz-components/IPRedirect/useIPRedirect.js.map +7 -0
  328. package/dist/esm/biz-components/IPRedirect/useRedirectBanner.d.ts +108 -0
  329. package/dist/esm/biz-components/IPRedirect/useRedirectBanner.js +2 -0
  330. package/dist/esm/biz-components/IPRedirect/useRedirectBanner.js.map +7 -0
  331. package/dist/esm/biz-components/IPRedirect/useRegionRedirectManager.d.ts +152 -0
  332. package/dist/esm/biz-components/IPRedirect/useRegionRedirectManager.js +2 -0
  333. package/dist/esm/biz-components/IPRedirect/useRegionRedirectManager.js.map +7 -0
  334. package/dist/esm/biz-components/IPRedirect/useSavedRegionRedirect.d.ts +51 -0
  335. package/dist/esm/biz-components/IPRedirect/useSavedRegionRedirect.js +2 -0
  336. package/dist/esm/biz-components/IPRedirect/useSavedRegionRedirect.js.map +7 -0
  337. package/dist/esm/biz-components/IPRedirect/utils.d.ts +222 -0
  338. package/dist/esm/biz-components/IPRedirect/utils.js +2 -0
  339. package/dist/esm/biz-components/IPRedirect/utils.js.map +7 -0
  340. package/dist/esm/biz-components/ImageOverlayShelf/index.d.ts +130 -0
  341. package/dist/esm/biz-components/ImageOverlayShelf/index.js +2 -0
  342. package/dist/esm/biz-components/ImageOverlayShelf/index.js.map +7 -0
  343. package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.d.ts +3 -3
  344. package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.js +1 -1
  345. package/dist/esm/biz-components/ImageTextFeature/ImageTextFeature.js.map +3 -3
  346. package/dist/esm/biz-components/ImageWithText/ImageWithText.d.ts +3 -3
  347. package/dist/esm/biz-components/Ksp/index.d.ts +3 -3
  348. package/dist/esm/biz-components/Listing/components/PaidShipping/index.d.ts +4 -4
  349. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTab.d.ts +3 -3
  350. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +3 -3
  351. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductExchangePurchase/index.d.ts +3 -3
  352. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +3 -3
  353. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +3 -3
  354. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +3 -3
  355. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +3 -3
  356. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +3 -3
  357. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.d.ts +3 -3
  358. package/dist/esm/biz-components/Marquee/Marquee.d.ts +3 -3
  359. package/dist/esm/biz-components/Marquee/Marquee.js +1 -1
  360. package/dist/esm/biz-components/Marquee/Marquee.js.map +3 -3
  361. package/dist/esm/biz-components/MarqueeReview/index.d.ts +3 -3
  362. package/dist/esm/biz-components/Media/index.d.ts +32 -0
  363. package/dist/esm/biz-components/Media/index.js +2 -0
  364. package/dist/esm/biz-components/Media/index.js.map +7 -0
  365. package/dist/esm/biz-components/MediaPlayerBase/index.d.ts +3 -3
  366. package/dist/esm/biz-components/MediaPlayerMulti/index.d.ts +3 -3
  367. package/dist/esm/biz-components/MediaPlayerSticky/index.d.ts +4 -4
  368. package/dist/esm/biz-components/MediaPlayerSticky/types.d.ts +1 -0
  369. package/dist/esm/biz-components/MediaSceneSwitcher/MediaSceneSwitcher.d.ts +3 -3
  370. package/dist/esm/biz-components/MediaShelf/index.d.ts +216 -0
  371. package/dist/esm/biz-components/MediaShelf/index.js +2 -0
  372. package/dist/esm/biz-components/MediaShelf/index.js.map +7 -0
  373. package/dist/esm/biz-components/MediaShelf/types.d.ts +22 -0
  374. package/dist/esm/biz-components/MediaShelf/types.js +1 -0
  375. package/dist/esm/biz-components/MediaShelf/types.js.map +7 -0
  376. package/dist/esm/biz-components/MemberEquity/index.d.ts +3 -3
  377. package/dist/esm/biz-components/MiniCart/index.d.ts +88 -0
  378. package/dist/esm/biz-components/MiniCart/index.js +2 -0
  379. package/dist/esm/biz-components/MiniCart/index.js.map +7 -0
  380. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.d.ts +3 -3
  381. package/dist/esm/biz-components/ProductCompare/index.d.ts +3 -3
  382. package/dist/esm/biz-components/ProductHero/ProductHero.d.ts +3 -3
  383. package/dist/esm/biz-components/ProductNav/ProductNav.d.ts +3 -3
  384. package/dist/esm/biz-components/PromotionalBar/index.d.ts +49 -0
  385. package/dist/esm/biz-components/PromotionalBar/index.js +2 -0
  386. package/dist/esm/biz-components/PromotionalBar/index.js.map +7 -0
  387. package/dist/esm/biz-components/SecondaryBanner/index.d.ts +69 -0
  388. package/dist/esm/biz-components/SecondaryBanner/index.js +2 -0
  389. package/dist/esm/biz-components/SecondaryBanner/index.js.map +7 -0
  390. package/dist/esm/biz-components/SelectStore/index.d.ts +3 -3
  391. package/dist/esm/biz-components/ShelfDisplay/index.d.ts +3 -3
  392. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.d.ts +0 -11
  393. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
  394. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js.map +3 -3
  395. package/dist/esm/biz-components/Slogan/index.d.ts +3 -3
  396. package/dist/esm/biz-components/Spacer/index.d.ts +3 -3
  397. package/dist/esm/biz-components/Specs/index.d.ts +3 -3
  398. package/dist/esm/biz-components/Specs/index.js +1 -1
  399. package/dist/esm/biz-components/Specs/index.js.map +2 -2
  400. package/dist/esm/biz-components/SpecsComparison/SpecsComparison.d.ts +3 -3
  401. package/dist/esm/biz-components/TabWithImage/TabWithImage.d.ts +3 -3
  402. package/dist/esm/biz-components/Tabs/Tabs.d.ts +3 -3
  403. package/dist/esm/biz-components/TabsGroup/index.d.ts +3 -3
  404. package/dist/esm/biz-components/TabsWithMedia/TabsWithMedia.d.ts +3 -3
  405. package/dist/esm/biz-components/ThreeDCarousel/ThreeDCarousel.d.ts +3 -3
  406. package/dist/esm/biz-components/Title/Countdown.d.ts +14 -0
  407. package/dist/esm/biz-components/Title/Countdown.js +2 -0
  408. package/dist/esm/biz-components/Title/Countdown.js.map +7 -0
  409. package/dist/esm/biz-components/Title/index.d.ts +3 -3
  410. package/dist/esm/biz-components/Title/index.js +1 -1
  411. package/dist/esm/biz-components/Title/index.js.map +3 -3
  412. package/dist/esm/biz-components/Title/types.d.ts +55 -0
  413. package/dist/esm/biz-components/VideoFeature/VideoFeature.d.ts +3 -3
  414. package/dist/esm/biz-components/WheelLottery/BaseModal.d.ts +55 -0
  415. package/dist/esm/biz-components/WheelLottery/BaseModal.js +12 -0
  416. package/dist/esm/biz-components/WheelLottery/BaseModal.js.map +7 -0
  417. package/dist/esm/biz-components/WheelLottery/ChanceMethods.d.ts +30 -0
  418. package/dist/esm/biz-components/WheelLottery/ChanceMethods.js +2 -0
  419. package/dist/esm/biz-components/WheelLottery/ChanceMethods.js.map +7 -0
  420. package/dist/esm/biz-components/WheelLottery/ErrorModal.d.ts +42 -0
  421. package/dist/esm/biz-components/WheelLottery/ErrorModal.js +2 -0
  422. package/dist/esm/biz-components/WheelLottery/ErrorModal.js.map +7 -0
  423. package/dist/esm/biz-components/WheelLottery/MyRewardsModal.d.ts +91 -0
  424. package/dist/esm/biz-components/WheelLottery/MyRewardsModal.js +2 -0
  425. package/dist/esm/biz-components/WheelLottery/MyRewardsModal.js.map +7 -0
  426. package/dist/esm/biz-components/WheelLottery/PrizePool.d.ts +26 -0
  427. package/dist/esm/biz-components/WheelLottery/PrizePool.js +2 -0
  428. package/dist/esm/biz-components/WheelLottery/PrizePool.js.map +7 -0
  429. package/dist/esm/biz-components/WheelLottery/RulesModal.d.ts +43 -0
  430. package/dist/esm/biz-components/WheelLottery/RulesModal.js +2 -0
  431. package/dist/esm/biz-components/WheelLottery/RulesModal.js.map +7 -0
  432. package/dist/esm/biz-components/WheelLottery/ShareModal.d.ts +74 -0
  433. package/dist/esm/biz-components/WheelLottery/ShareModal.js +2 -0
  434. package/dist/esm/biz-components/WheelLottery/ShareModal.js.map +7 -0
  435. package/dist/esm/biz-components/WheelLottery/Wheel.d.ts +27 -0
  436. package/dist/esm/biz-components/WheelLottery/Wheel.js +2 -0
  437. package/dist/esm/biz-components/WheelLottery/Wheel.js.map +7 -0
  438. package/dist/esm/biz-components/WheelLottery/WinnerModal.d.ts +25 -0
  439. package/dist/esm/biz-components/WheelLottery/WinnerModal.js +2 -0
  440. package/dist/esm/biz-components/WheelLottery/WinnerModal.js.map +7 -0
  441. package/dist/esm/biz-components/WheelLottery/index.d.ts +52 -0
  442. package/dist/esm/biz-components/WheelLottery/index.js +2 -0
  443. package/dist/esm/biz-components/WheelLottery/index.js.map +7 -0
  444. package/dist/esm/biz-components/WheelLottery/types.d.ts +1193 -0
  445. package/dist/esm/biz-components/WheelLottery/types.js +2 -0
  446. package/dist/esm/biz-components/WheelLottery/types.js.map +7 -0
  447. package/dist/esm/biz-components/WhyChoose/WhyChoose.d.ts +3 -3
  448. package/dist/esm/biz-components/index.d.ts +30 -2
  449. package/dist/esm/biz-components/index.js +1 -1
  450. package/dist/esm/biz-components/index.js.map +3 -3
  451. package/dist/esm/components/badge.js +1 -1
  452. package/dist/esm/components/badge.js.map +2 -2
  453. package/dist/esm/components/index.d.ts +2 -0
  454. package/dist/esm/components/index.js +1 -1
  455. package/dist/esm/components/index.js.map +2 -2
  456. package/dist/esm/components/paginator.d.ts +12 -0
  457. package/dist/esm/components/paginator.js +7 -0
  458. package/dist/esm/components/paginator.js.map +7 -0
  459. package/dist/esm/components/progress.d.ts +46 -0
  460. package/dist/esm/components/progress.js +2 -0
  461. package/dist/esm/components/progress.js.map +7 -0
  462. package/dist/esm/components/tabs.d.ts +2 -1
  463. package/dist/esm/components/tabs.js +1 -1
  464. package/dist/esm/components/tabs.js.map +2 -2
  465. package/dist/esm/helpers/index.d.ts +1 -0
  466. package/dist/esm/helpers/index.js +1 -1
  467. package/dist/esm/helpers/index.js.map +3 -3
  468. package/dist/esm/helpers/priceFormatting.d.ts +11 -0
  469. package/dist/esm/helpers/priceFormatting.js +2 -0
  470. package/dist/esm/helpers/priceFormatting.js.map +7 -0
  471. package/dist/esm/shared/Styles.d.ts +5 -4
  472. package/dist/esm/shared/Styles.js +1 -1
  473. package/dist/esm/shared/Styles.js.map +3 -3
  474. package/dist/esm/types/props.d.ts +0 -3
  475. package/dist/tokens/base.css +4 -3
  476. package/dist/tokens/eufy.css +1 -0
  477. package/dist/tokens/soundcore.css +4 -3
  478. package/package.json +8 -3
  479. package/style.css +4915 -126
  480. package/tailwind.config.js +19 -2
  481. package/dist/cjs/stories/HeroBanner.stories.d.ts +0 -28
  482. package/dist/cjs/stories/HeroBanner.stories.js +0 -11
  483. package/dist/cjs/stories/HeroBanner.stories.js.map +0 -7
  484. package/dist/cjs/stories/InlineVideo.stories.d.ts +0 -37
  485. package/dist/cjs/stories/InlineVideo.stories.js +0 -164
  486. package/dist/cjs/stories/InlineVideo.stories.js.map +0 -7
  487. package/dist/cjs/stories/MarqueeReview.stories.d.ts +0 -72
  488. package/dist/cjs/stories/MarqueeReview.stories.js +0 -19
  489. package/dist/cjs/stories/MarqueeReview.stories.js.map +0 -7
  490. package/dist/cjs/stories/MediaSceneSwitcher.stories.d.ts +0 -47
  491. package/dist/cjs/stories/MediaSceneSwitcher.stories.js +0 -2
  492. package/dist/cjs/stories/MediaSceneSwitcher.stories.js.map +0 -7
  493. package/dist/cjs/stories/MemberEquity.stories.d.ts +0 -9
  494. package/dist/cjs/stories/MemberEquity.stories.js +0 -31
  495. package/dist/cjs/stories/MemberEquity.stories.js.map +0 -7
  496. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.d.ts +0 -9
  497. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.js +0 -2
  498. package/dist/cjs/stories/MultiLayoutGraphicBlock.stories.js.map +0 -7
  499. package/dist/cjs/stories/ProductNav.stories.d.ts +0 -55
  500. package/dist/cjs/stories/ProductNav.stories.js +0 -2
  501. package/dist/cjs/stories/ProductNav.stories.js.map +0 -7
  502. package/dist/cjs/stories/ThreeDCarousel.stories.d.ts +0 -27
  503. package/dist/cjs/stories/ThreeDCarousel.stories.js +0 -118
  504. package/dist/cjs/stories/ThreeDCarousel.stories.js.map +0 -7
  505. package/dist/cjs/stories/accordionCards.stories.d.ts +0 -38
  506. package/dist/cjs/stories/accordionCards.stories.js +0 -2
  507. package/dist/cjs/stories/accordionCards.stories.js.map +0 -7
  508. package/dist/cjs/stories/alert.stories.d.ts +0 -27
  509. package/dist/cjs/stories/alert.stories.js +0 -2
  510. package/dist/cjs/stories/alert.stories.js.map +0 -7
  511. package/dist/cjs/stories/avatar.stories.d.ts +0 -39
  512. package/dist/cjs/stories/avatar.stories.js +0 -2
  513. package/dist/cjs/stories/avatar.stories.js.map +0 -7
  514. package/dist/cjs/stories/badge.stories.d.ts +0 -96
  515. package/dist/cjs/stories/badge.stories.js +0 -2
  516. package/dist/cjs/stories/badge.stories.js.map +0 -7
  517. package/dist/cjs/stories/bizTabs.stories.d.ts +0 -7
  518. package/dist/cjs/stories/bizTabs.stories.js +0 -2
  519. package/dist/cjs/stories/bizTabs.stories.js.map +0 -7
  520. package/dist/cjs/stories/board.stories.d.ts +0 -6
  521. package/dist/cjs/stories/board.stories.js +0 -2
  522. package/dist/cjs/stories/board.stories.js.map +0 -7
  523. package/dist/cjs/stories/brandEquity.stories.d.ts +0 -16
  524. package/dist/cjs/stories/brandEquity.stories.js +0 -2
  525. package/dist/cjs/stories/brandEquity.stories.js.map +0 -7
  526. package/dist/cjs/stories/brandStrip.stories.d.ts +0 -12
  527. package/dist/cjs/stories/brandStrip.stories.js +0 -2
  528. package/dist/cjs/stories/brandStrip.stories.js.map +0 -7
  529. package/dist/cjs/stories/button.stories.d.ts +0 -56
  530. package/dist/cjs/stories/button.stories.js +0 -2
  531. package/dist/cjs/stories/button.stories.js.map +0 -7
  532. package/dist/cjs/stories/card.stories.d.ts +0 -27
  533. package/dist/cjs/stories/card.stories.js +0 -2
  534. package/dist/cjs/stories/card.stories.js.map +0 -7
  535. package/dist/cjs/stories/carousel.stories.d.ts +0 -8
  536. package/dist/cjs/stories/carousel.stories.js +0 -2
  537. package/dist/cjs/stories/carousel.stories.js.map +0 -7
  538. package/dist/cjs/stories/category.stories.d.ts +0 -17
  539. package/dist/cjs/stories/category.stories.js +0 -2
  540. package/dist/cjs/stories/category.stories.js.map +0 -7
  541. package/dist/cjs/stories/checkbox.stories.d.ts +0 -46
  542. package/dist/cjs/stories/checkbox.stories.js +0 -2
  543. package/dist/cjs/stories/checkbox.stories.js.map +0 -7
  544. package/dist/cjs/stories/container.stories.d.ts +0 -28
  545. package/dist/cjs/stories/container.stories.js +0 -15
  546. package/dist/cjs/stories/container.stories.js.map +0 -7
  547. package/dist/cjs/stories/cpnBanner.stories.d.ts +0 -14
  548. package/dist/cjs/stories/cpnBanner.stories.js +0 -2
  549. package/dist/cjs/stories/cpnBanner.stories.js.map +0 -7
  550. package/dist/cjs/stories/cpnCountdown.stories.d.ts +0 -12
  551. package/dist/cjs/stories/cpnCountdown.stories.js +0 -2
  552. package/dist/cjs/stories/cpnCountdown.stories.js.map +0 -7
  553. package/dist/cjs/stories/cpnNavigation.stories.d.ts +0 -14
  554. package/dist/cjs/stories/cpnNavigation.stories.js +0 -2
  555. package/dist/cjs/stories/cpnNavigation.stories.js.map +0 -7
  556. package/dist/cjs/stories/cpnProductcard.stories.d.ts +0 -14
  557. package/dist/cjs/stories/cpnProductcard.stories.js +0 -2
  558. package/dist/cjs/stories/cpnProductcard.stories.js.map +0 -7
  559. package/dist/cjs/stories/cpnTitle.stories.d.ts +0 -14
  560. package/dist/cjs/stories/cpnTitle.stories.js +0 -2
  561. package/dist/cjs/stories/cpnTitle.stories.js.map +0 -7
  562. package/dist/cjs/stories/creativeModule.stories.d.ts +0 -19
  563. package/dist/cjs/stories/creativeModule.stories.js +0 -2
  564. package/dist/cjs/stories/creativeModule.stories.js.map +0 -7
  565. package/dist/cjs/stories/dialog.stories.d.ts +0 -20
  566. package/dist/cjs/stories/dialog.stories.js +0 -2
  567. package/dist/cjs/stories/dialog.stories.js.map +0 -7
  568. package/dist/cjs/stories/drawer.stories.d.ts +0 -20
  569. package/dist/cjs/stories/drawer.stories.js +0 -2
  570. package/dist/cjs/stories/drawer.stories.js.map +0 -7
  571. package/dist/cjs/stories/drop-down.stories.d.ts +0 -16
  572. package/dist/cjs/stories/drop-down.stories.js +0 -2
  573. package/dist/cjs/stories/drop-down.stories.js.map +0 -7
  574. package/dist/cjs/stories/evaluate.stories.d.ts +0 -16
  575. package/dist/cjs/stories/evaluate.stories.js +0 -2
  576. package/dist/cjs/stories/evaluate.stories.js.map +0 -7
  577. package/dist/cjs/stories/faq.stories.d.ts +0 -21
  578. package/dist/cjs/stories/faq.stories.js +0 -2
  579. package/dist/cjs/stories/faq.stories.js.map +0 -7
  580. package/dist/cjs/stories/featureCards.stories.d.ts +0 -30
  581. package/dist/cjs/stories/featureCards.stories.js +0 -61
  582. package/dist/cjs/stories/featureCards.stories.js.map +0 -7
  583. package/dist/cjs/stories/featureShowcase.stories.d.ts +0 -29
  584. package/dist/cjs/stories/featureShowcase.stories.js +0 -44
  585. package/dist/cjs/stories/featureShowcase.stories.js.map +0 -7
  586. package/dist/cjs/stories/graphic.stories.d.ts +0 -64
  587. package/dist/cjs/stories/graphic.stories.js +0 -2
  588. package/dist/cjs/stories/graphic.stories.js.map +0 -7
  589. package/dist/cjs/stories/graphicAttractionBlock.stories.d.ts +0 -6
  590. package/dist/cjs/stories/graphicAttractionBlock.stories.js +0 -2
  591. package/dist/cjs/stories/graphicAttractionBlock.stories.js.map +0 -7
  592. package/dist/cjs/stories/grid.stories.d.ts +0 -22
  593. package/dist/cjs/stories/grid.stories.js +0 -13
  594. package/dist/cjs/stories/grid.stories.js.map +0 -7
  595. package/dist/cjs/stories/heading.stories.d.ts +0 -84
  596. package/dist/cjs/stories/heading.stories.js +0 -15
  597. package/dist/cjs/stories/heading.stories.js.map +0 -7
  598. package/dist/cjs/stories/imageTextFeature.stories.d.ts +0 -28
  599. package/dist/cjs/stories/imageTextFeature.stories.js +0 -50
  600. package/dist/cjs/stories/imageTextFeature.stories.js.map +0 -7
  601. package/dist/cjs/stories/imageWithText.stories.d.ts +0 -51
  602. package/dist/cjs/stories/imageWithText.stories.js +0 -84
  603. package/dist/cjs/stories/imageWithText.stories.js.map +0 -7
  604. package/dist/cjs/stories/input-number.stories.d.ts +0 -39
  605. package/dist/cjs/stories/input-number.stories.js +0 -2
  606. package/dist/cjs/stories/input-number.stories.js.map +0 -7
  607. package/dist/cjs/stories/input.stories.d.ts +0 -35
  608. package/dist/cjs/stories/input.stories.js +0 -2
  609. package/dist/cjs/stories/input.stories.js.map +0 -7
  610. package/dist/cjs/stories/ksp.stories.d.ts +0 -63
  611. package/dist/cjs/stories/ksp.stories.js +0 -128
  612. package/dist/cjs/stories/ksp.stories.js.map +0 -7
  613. package/dist/cjs/stories/link.stories.d.ts +0 -69
  614. package/dist/cjs/stories/link.stories.js +0 -2
  615. package/dist/cjs/stories/link.stories.js.map +0 -7
  616. package/dist/cjs/stories/marquee.stories.d.ts +0 -30
  617. package/dist/cjs/stories/marquee.stories.js +0 -2
  618. package/dist/cjs/stories/marquee.stories.js.map +0 -7
  619. package/dist/cjs/stories/mediaplayerBase.stories.d.ts +0 -6
  620. package/dist/cjs/stories/mediaplayerBase.stories.js +0 -2
  621. package/dist/cjs/stories/mediaplayerBase.stories.js.map +0 -7
  622. package/dist/cjs/stories/mediaplayerMulti.stories.d.ts +0 -16
  623. package/dist/cjs/stories/mediaplayerMulti.stories.js +0 -2
  624. package/dist/cjs/stories/mediaplayerMulti.stories.js.map +0 -7
  625. package/dist/cjs/stories/picture.stories.d.ts +0 -23
  626. package/dist/cjs/stories/picture.stories.js +0 -9
  627. package/dist/cjs/stories/picture.stories.js.map +0 -7
  628. package/dist/cjs/stories/popover.stories.d.ts +0 -17
  629. package/dist/cjs/stories/popover.stories.js +0 -2
  630. package/dist/cjs/stories/popover.stories.js.map +0 -7
  631. package/dist/cjs/stories/productCompare.stories.d.ts +0 -54
  632. package/dist/cjs/stories/productCompare.stories.js +0 -54
  633. package/dist/cjs/stories/productCompare.stories.js.map +0 -7
  634. package/dist/cjs/stories/productHero.stories.d.ts +0 -29
  635. package/dist/cjs/stories/productHero.stories.js +0 -50
  636. package/dist/cjs/stories/productHero.stories.js.map +0 -7
  637. package/dist/cjs/stories/radio.stories.d.ts +0 -39
  638. package/dist/cjs/stories/radio.stories.js +0 -2
  639. package/dist/cjs/stories/radio.stories.js.map +0 -7
  640. package/dist/cjs/stories/shelfDisplay.stories.d.ts +0 -16
  641. package/dist/cjs/stories/shelfDisplay.stories.js +0 -2
  642. package/dist/cjs/stories/shelfDisplay.stories.js.map +0 -7
  643. package/dist/cjs/stories/skeleton.stories.d.ts +0 -20
  644. package/dist/cjs/stories/skeleton.stories.js +0 -2
  645. package/dist/cjs/stories/skeleton.stories.js.map +0 -7
  646. package/dist/cjs/stories/slogan.stories.d.ts +0 -20
  647. package/dist/cjs/stories/slogan.stories.js +0 -6
  648. package/dist/cjs/stories/slogan.stories.js.map +0 -7
  649. package/dist/cjs/stories/specs.stories.d.ts +0 -13
  650. package/dist/cjs/stories/specs.stories.js +0 -57
  651. package/dist/cjs/stories/specs.stories.js.map +0 -7
  652. package/dist/cjs/stories/specsComparison.stories.d.ts +0 -28
  653. package/dist/cjs/stories/specsComparison.stories.js +0 -105
  654. package/dist/cjs/stories/specsComparison.stories.js.map +0 -7
  655. package/dist/cjs/stories/tabWithImage.stories.d.ts +0 -28
  656. package/dist/cjs/stories/tabWithImage.stories.js +0 -53
  657. package/dist/cjs/stories/tabWithImage.stories.js.map +0 -7
  658. package/dist/cjs/stories/tabs.stories.d.ts +0 -373
  659. package/dist/cjs/stories/tabs.stories.js +0 -2
  660. package/dist/cjs/stories/tabs.stories.js.map +0 -7
  661. package/dist/cjs/stories/tabsWithMedia.stories.d.ts +0 -28
  662. package/dist/cjs/stories/tabsWithMedia.stories.js +0 -68
  663. package/dist/cjs/stories/tabsWithMedia.stories.js.map +0 -7
  664. package/dist/cjs/stories/text.stories.d.ts +0 -86
  665. package/dist/cjs/stories/text.stories.js +0 -21
  666. package/dist/cjs/stories/text.stories.js.map +0 -7
  667. package/dist/cjs/stories/videoFeature.stories.d.ts +0 -29
  668. package/dist/cjs/stories/videoFeature.stories.js +0 -56
  669. package/dist/cjs/stories/videoFeature.stories.js.map +0 -7
  670. package/dist/cjs/stories/whychoose.stories.d.ts +0 -21
  671. package/dist/cjs/stories/whychoose.stories.js +0 -2
  672. package/dist/cjs/stories/whychoose.stories.js.map +0 -7
  673. package/dist/esm/stories/HeroBanner.stories.d.ts +0 -28
  674. package/dist/esm/stories/HeroBanner.stories.js +0 -11
  675. package/dist/esm/stories/HeroBanner.stories.js.map +0 -7
  676. package/dist/esm/stories/InlineVideo.stories.d.ts +0 -37
  677. package/dist/esm/stories/InlineVideo.stories.js +0 -164
  678. package/dist/esm/stories/InlineVideo.stories.js.map +0 -7
  679. package/dist/esm/stories/MarqueeReview.stories.d.ts +0 -72
  680. package/dist/esm/stories/MarqueeReview.stories.js +0 -19
  681. package/dist/esm/stories/MarqueeReview.stories.js.map +0 -7
  682. package/dist/esm/stories/MediaSceneSwitcher.stories.d.ts +0 -47
  683. package/dist/esm/stories/MediaSceneSwitcher.stories.js +0 -2
  684. package/dist/esm/stories/MediaSceneSwitcher.stories.js.map +0 -7
  685. package/dist/esm/stories/MemberEquity.stories.d.ts +0 -9
  686. package/dist/esm/stories/MemberEquity.stories.js +0 -31
  687. package/dist/esm/stories/MemberEquity.stories.js.map +0 -7
  688. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.d.ts +0 -9
  689. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.js +0 -2
  690. package/dist/esm/stories/MultiLayoutGraphicBlock.stories.js.map +0 -7
  691. package/dist/esm/stories/ProductNav.stories.d.ts +0 -55
  692. package/dist/esm/stories/ProductNav.stories.js +0 -2
  693. package/dist/esm/stories/ProductNav.stories.js.map +0 -7
  694. package/dist/esm/stories/ThreeDCarousel.stories.d.ts +0 -27
  695. package/dist/esm/stories/ThreeDCarousel.stories.js +0 -118
  696. package/dist/esm/stories/ThreeDCarousel.stories.js.map +0 -7
  697. package/dist/esm/stories/accordionCards.stories.d.ts +0 -38
  698. package/dist/esm/stories/accordionCards.stories.js +0 -2
  699. package/dist/esm/stories/accordionCards.stories.js.map +0 -7
  700. package/dist/esm/stories/alert.stories.d.ts +0 -27
  701. package/dist/esm/stories/alert.stories.js +0 -2
  702. package/dist/esm/stories/alert.stories.js.map +0 -7
  703. package/dist/esm/stories/avatar.stories.d.ts +0 -39
  704. package/dist/esm/stories/avatar.stories.js +0 -2
  705. package/dist/esm/stories/avatar.stories.js.map +0 -7
  706. package/dist/esm/stories/badge.stories.d.ts +0 -96
  707. package/dist/esm/stories/badge.stories.js +0 -2
  708. package/dist/esm/stories/badge.stories.js.map +0 -7
  709. package/dist/esm/stories/bizTabs.stories.d.ts +0 -7
  710. package/dist/esm/stories/bizTabs.stories.js +0 -2
  711. package/dist/esm/stories/bizTabs.stories.js.map +0 -7
  712. package/dist/esm/stories/board.stories.d.ts +0 -6
  713. package/dist/esm/stories/board.stories.js +0 -2
  714. package/dist/esm/stories/board.stories.js.map +0 -7
  715. package/dist/esm/stories/brandEquity.stories.d.ts +0 -16
  716. package/dist/esm/stories/brandEquity.stories.js +0 -2
  717. package/dist/esm/stories/brandEquity.stories.js.map +0 -7
  718. package/dist/esm/stories/brandStrip.stories.d.ts +0 -12
  719. package/dist/esm/stories/brandStrip.stories.js +0 -2
  720. package/dist/esm/stories/brandStrip.stories.js.map +0 -7
  721. package/dist/esm/stories/button.stories.d.ts +0 -56
  722. package/dist/esm/stories/button.stories.js +0 -2
  723. package/dist/esm/stories/button.stories.js.map +0 -7
  724. package/dist/esm/stories/card.stories.d.ts +0 -27
  725. package/dist/esm/stories/card.stories.js +0 -2
  726. package/dist/esm/stories/card.stories.js.map +0 -7
  727. package/dist/esm/stories/carousel.stories.d.ts +0 -8
  728. package/dist/esm/stories/carousel.stories.js +0 -2
  729. package/dist/esm/stories/carousel.stories.js.map +0 -7
  730. package/dist/esm/stories/category.stories.d.ts +0 -17
  731. package/dist/esm/stories/category.stories.js +0 -2
  732. package/dist/esm/stories/category.stories.js.map +0 -7
  733. package/dist/esm/stories/checkbox.stories.d.ts +0 -46
  734. package/dist/esm/stories/checkbox.stories.js +0 -2
  735. package/dist/esm/stories/checkbox.stories.js.map +0 -7
  736. package/dist/esm/stories/container.stories.d.ts +0 -28
  737. package/dist/esm/stories/container.stories.js +0 -15
  738. package/dist/esm/stories/container.stories.js.map +0 -7
  739. package/dist/esm/stories/cpnBanner.stories.d.ts +0 -14
  740. package/dist/esm/stories/cpnBanner.stories.js +0 -2
  741. package/dist/esm/stories/cpnBanner.stories.js.map +0 -7
  742. package/dist/esm/stories/cpnCountdown.stories.d.ts +0 -12
  743. package/dist/esm/stories/cpnCountdown.stories.js +0 -2
  744. package/dist/esm/stories/cpnCountdown.stories.js.map +0 -7
  745. package/dist/esm/stories/cpnNavigation.stories.d.ts +0 -14
  746. package/dist/esm/stories/cpnNavigation.stories.js +0 -2
  747. package/dist/esm/stories/cpnNavigation.stories.js.map +0 -7
  748. package/dist/esm/stories/cpnProductcard.stories.d.ts +0 -14
  749. package/dist/esm/stories/cpnProductcard.stories.js +0 -2
  750. package/dist/esm/stories/cpnProductcard.stories.js.map +0 -7
  751. package/dist/esm/stories/cpnTitle.stories.d.ts +0 -14
  752. package/dist/esm/stories/cpnTitle.stories.js +0 -2
  753. package/dist/esm/stories/cpnTitle.stories.js.map +0 -7
  754. package/dist/esm/stories/creativeModule.stories.d.ts +0 -19
  755. package/dist/esm/stories/creativeModule.stories.js +0 -2
  756. package/dist/esm/stories/creativeModule.stories.js.map +0 -7
  757. package/dist/esm/stories/dialog.stories.d.ts +0 -20
  758. package/dist/esm/stories/dialog.stories.js +0 -2
  759. package/dist/esm/stories/dialog.stories.js.map +0 -7
  760. package/dist/esm/stories/drawer.stories.d.ts +0 -20
  761. package/dist/esm/stories/drawer.stories.js +0 -2
  762. package/dist/esm/stories/drawer.stories.js.map +0 -7
  763. package/dist/esm/stories/drop-down.stories.d.ts +0 -16
  764. package/dist/esm/stories/drop-down.stories.js +0 -2
  765. package/dist/esm/stories/drop-down.stories.js.map +0 -7
  766. package/dist/esm/stories/evaluate.stories.d.ts +0 -16
  767. package/dist/esm/stories/evaluate.stories.js +0 -2
  768. package/dist/esm/stories/evaluate.stories.js.map +0 -7
  769. package/dist/esm/stories/faq.stories.d.ts +0 -21
  770. package/dist/esm/stories/faq.stories.js +0 -2
  771. package/dist/esm/stories/faq.stories.js.map +0 -7
  772. package/dist/esm/stories/featureCards.stories.d.ts +0 -30
  773. package/dist/esm/stories/featureCards.stories.js +0 -61
  774. package/dist/esm/stories/featureCards.stories.js.map +0 -7
  775. package/dist/esm/stories/featureShowcase.stories.d.ts +0 -29
  776. package/dist/esm/stories/featureShowcase.stories.js +0 -44
  777. package/dist/esm/stories/featureShowcase.stories.js.map +0 -7
  778. package/dist/esm/stories/graphic.stories.d.ts +0 -64
  779. package/dist/esm/stories/graphic.stories.js +0 -2
  780. package/dist/esm/stories/graphic.stories.js.map +0 -7
  781. package/dist/esm/stories/graphicAttractionBlock.stories.d.ts +0 -6
  782. package/dist/esm/stories/graphicAttractionBlock.stories.js +0 -2
  783. package/dist/esm/stories/graphicAttractionBlock.stories.js.map +0 -7
  784. package/dist/esm/stories/grid.stories.d.ts +0 -22
  785. package/dist/esm/stories/grid.stories.js +0 -13
  786. package/dist/esm/stories/grid.stories.js.map +0 -7
  787. package/dist/esm/stories/heading.stories.d.ts +0 -84
  788. package/dist/esm/stories/heading.stories.js +0 -15
  789. package/dist/esm/stories/heading.stories.js.map +0 -7
  790. package/dist/esm/stories/imageTextFeature.stories.d.ts +0 -28
  791. package/dist/esm/stories/imageTextFeature.stories.js +0 -50
  792. package/dist/esm/stories/imageTextFeature.stories.js.map +0 -7
  793. package/dist/esm/stories/imageWithText.stories.d.ts +0 -51
  794. package/dist/esm/stories/imageWithText.stories.js +0 -84
  795. package/dist/esm/stories/imageWithText.stories.js.map +0 -7
  796. package/dist/esm/stories/input-number.stories.d.ts +0 -39
  797. package/dist/esm/stories/input-number.stories.js +0 -2
  798. package/dist/esm/stories/input-number.stories.js.map +0 -7
  799. package/dist/esm/stories/input.stories.d.ts +0 -35
  800. package/dist/esm/stories/input.stories.js +0 -2
  801. package/dist/esm/stories/input.stories.js.map +0 -7
  802. package/dist/esm/stories/ksp.stories.d.ts +0 -63
  803. package/dist/esm/stories/ksp.stories.js +0 -128
  804. package/dist/esm/stories/ksp.stories.js.map +0 -7
  805. package/dist/esm/stories/link.stories.d.ts +0 -69
  806. package/dist/esm/stories/link.stories.js +0 -2
  807. package/dist/esm/stories/link.stories.js.map +0 -7
  808. package/dist/esm/stories/marquee.stories.d.ts +0 -30
  809. package/dist/esm/stories/marquee.stories.js +0 -2
  810. package/dist/esm/stories/marquee.stories.js.map +0 -7
  811. package/dist/esm/stories/mediaplayerBase.stories.d.ts +0 -6
  812. package/dist/esm/stories/mediaplayerBase.stories.js +0 -2
  813. package/dist/esm/stories/mediaplayerBase.stories.js.map +0 -7
  814. package/dist/esm/stories/mediaplayerMulti.stories.d.ts +0 -16
  815. package/dist/esm/stories/mediaplayerMulti.stories.js +0 -2
  816. package/dist/esm/stories/mediaplayerMulti.stories.js.map +0 -7
  817. package/dist/esm/stories/picture.stories.d.ts +0 -23
  818. package/dist/esm/stories/picture.stories.js +0 -9
  819. package/dist/esm/stories/picture.stories.js.map +0 -7
  820. package/dist/esm/stories/popover.stories.d.ts +0 -17
  821. package/dist/esm/stories/popover.stories.js +0 -2
  822. package/dist/esm/stories/popover.stories.js.map +0 -7
  823. package/dist/esm/stories/productCompare.stories.d.ts +0 -54
  824. package/dist/esm/stories/productCompare.stories.js +0 -54
  825. package/dist/esm/stories/productCompare.stories.js.map +0 -7
  826. package/dist/esm/stories/productHero.stories.d.ts +0 -29
  827. package/dist/esm/stories/productHero.stories.js +0 -50
  828. package/dist/esm/stories/productHero.stories.js.map +0 -7
  829. package/dist/esm/stories/radio.stories.d.ts +0 -39
  830. package/dist/esm/stories/radio.stories.js +0 -2
  831. package/dist/esm/stories/radio.stories.js.map +0 -7
  832. package/dist/esm/stories/shelfDisplay.stories.d.ts +0 -16
  833. package/dist/esm/stories/shelfDisplay.stories.js +0 -2
  834. package/dist/esm/stories/shelfDisplay.stories.js.map +0 -7
  835. package/dist/esm/stories/skeleton.stories.d.ts +0 -20
  836. package/dist/esm/stories/skeleton.stories.js +0 -2
  837. package/dist/esm/stories/skeleton.stories.js.map +0 -7
  838. package/dist/esm/stories/slogan.stories.d.ts +0 -20
  839. package/dist/esm/stories/slogan.stories.js +0 -6
  840. package/dist/esm/stories/slogan.stories.js.map +0 -7
  841. package/dist/esm/stories/specs.stories.d.ts +0 -13
  842. package/dist/esm/stories/specs.stories.js +0 -57
  843. package/dist/esm/stories/specs.stories.js.map +0 -7
  844. package/dist/esm/stories/specsComparison.stories.d.ts +0 -28
  845. package/dist/esm/stories/specsComparison.stories.js +0 -105
  846. package/dist/esm/stories/specsComparison.stories.js.map +0 -7
  847. package/dist/esm/stories/tabWithImage.stories.d.ts +0 -28
  848. package/dist/esm/stories/tabWithImage.stories.js +0 -53
  849. package/dist/esm/stories/tabWithImage.stories.js.map +0 -7
  850. package/dist/esm/stories/tabs.stories.d.ts +0 -373
  851. package/dist/esm/stories/tabs.stories.js +0 -2
  852. package/dist/esm/stories/tabs.stories.js.map +0 -7
  853. package/dist/esm/stories/tabsWithMedia.stories.d.ts +0 -28
  854. package/dist/esm/stories/tabsWithMedia.stories.js +0 -68
  855. package/dist/esm/stories/tabsWithMedia.stories.js.map +0 -7
  856. package/dist/esm/stories/text.stories.d.ts +0 -86
  857. package/dist/esm/stories/text.stories.js +0 -21
  858. package/dist/esm/stories/text.stories.js.map +0 -7
  859. package/dist/esm/stories/videoFeature.stories.d.ts +0 -29
  860. package/dist/esm/stories/videoFeature.stories.js +0 -56
  861. package/dist/esm/stories/videoFeature.stories.js.map +0 -7
  862. package/dist/esm/stories/whychoose.stories.d.ts +0 -21
  863. package/dist/esm/stories/whychoose.stories.js +0 -2
  864. package/dist/esm/stories/whychoose.stories.js.map +0 -7
@@ -1,15 +1,4 @@
1
1
  import type { ContainerProps, CurrencyDisplayType } from '../../types/props.js';
2
- export declare const PRICE_SYMBOL: any;
3
- export declare const languageTerritory: (locale: string) => string;
4
- export declare function formatPrice({ amount, currencyCode, currencyDisplay, locale, maximumFractionDigits, minimumFractionDigits, removeTrailingZeros, }: {
5
- amount: number;
6
- currencyCode: string;
7
- currencyDisplay?: CurrencyDisplayType;
8
- locale: string;
9
- maximumFractionDigits?: number;
10
- minimumFractionDigits?: number;
11
- removeTrailingZeros?: boolean;
12
- }): string | null;
13
2
  export declare function formatVariantPrice({ amount, baseAmount, currencyCode, currencyDisplay, locale, maximumFractionDigits, minimumFractionDigits, removeTrailingZeros, }: {
14
3
  baseAmount: number;
15
4
  amount: number;
@@ -1,2 +1,2 @@
1
- "use strict";var v=Object.create;var u=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var C=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var E=(e,n)=>{for(var t in n)u(e,t,{get:n[t],enumerable:!0})},b=(e,n,t,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of P(n))!k.call(e,r)&&r!==t&&u(e,r,{get:()=>n[r],enumerable:!(i=T(n,r))||i.enumerable});return e};var w=(e,n,t)=>(t=e!=null?v(C(e)):{},b(n||!e||!e.__esModule?u(t,"default",{value:e,enumerable:!0}):t,e)),$=e=>b(u({},"__esModule",{value:!0}),e);var F={};E(F,{PRICE_SYMBOL:()=>c,formatPrice:()=>l,formatVariantPrice:()=>x,languageTerritory:()=>g});module.exports=$(F);var D=w(require("decimal.js"));const c={us:"$",uk:"\xA3",ca:"$",eu:"\u20AC",fr:"\u20AC",de:"\u20AC",nl:"\u20AC",vn:"\u20AB",cl:"$",sg:"$",ae:"AED"},g=e=>({us:"en-US",uk:"en-GB",ca:"en-CA",eu:"en",fr:"fr-FR",au:"en-AU",my:"en-my","eu-es":"de-DE","eu-fr":"de-DE","eu-it":"de-DE","eu-de":"de-DE","eu-en":"en-US","cz-en":"de-DE","ca-fr":"fr-FR",nl:"de-DE",de:"de-DE",vn:"vi-vn",sg:"en-sg","ae-en":"ae-en",plus:"en-us",cl:"es-cl",dk:"en-dk",fi:"en-fi",no:"en-no",is:"en-is",se:"en-se","eu-pl":"pl-PL",es:"es-es",pl:"pl-PL",nz:"en-NZ","sg-en":"en-SG","sa-en":"en-SA","vn-vi":"vi-VN",ie:"en-IE",tw:"zh-TW"})[e]||"";function l({amount:e,currencyCode:n,currencyDisplay:t,locale:i,maximumFractionDigits:r,minimumFractionDigits:m,removeTrailingZeros:p=!1}){const o=i==="nl"?"EUR":n||"USD",a=g(i);if(!a)return null;let s=new Intl.NumberFormat(a,{style:"currency",currency:o,currencyDisplay:t||"symbol",minimumFractionDigits:r===0?0:m,maximumFractionDigits:r})?.format?.(e);return["eu-de","eu-en","de","eu"].includes(i)&&(s=s?.toString()?.replace?.(/[\s]/g,"")),p&&(s=s?.replace?.(/(\.\d*?[1-9])0+\b/,"$1")?.replace?.(/\.0+\b/,"")?.replace?.(/(\,\d*?[1-9])0+\b/,"$1")?.replace?.(/\,0+\b/,"")),s}function x({amount:e,baseAmount:n,currencyCode:t,currencyDisplay:i,locale:r,maximumFractionDigits:m,minimumFractionDigits:p,removeTrailingZeros:o}){if(typeof Intl>"u")return{price:`${c[r]}${e}`,basePrice:`${c[r]}${n}`,discount:`${c[r]}${n-e||0}`};const a=n>e;let d=null;const s=g(r);if(s){const y=new Intl.NumberFormat(s,{style:"percent"});d=a?y.format((n-e)/n):null}let f;if(a){const y=new D.default(n).sub(e||0).toNumber();f=l({amount:y,currencyDisplay:i,currencyCode:t||"USD",locale:r,maximumFractionDigits:2})}const h=l({amount:e,currencyCode:t,currencyDisplay:i,locale:r,removeTrailingZeros:o}),S=a?l({amount:n,currencyCode:t,currencyDisplay:i,locale:r,maximumFractionDigits:m,minimumFractionDigits:p,removeTrailingZeros:o}):void 0;return{price:h,basePrice:S,discount:d,discountAmount:f}}
1
+ "use strict";var D=Object.create;var s=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var T=Object.getPrototypeOf,_=Object.prototype.hasOwnProperty;var w=(e,r)=>{for(var n in r)s(e,n,{get:r[n],enumerable:!0})},d=(e,r,n,a)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of P(r))!_.call(e,t)&&t!==n&&s(e,t,{get:()=>r[t],enumerable:!(a=S(r,t))||a.enumerable});return e};var k=(e,r,n)=>(n=e!=null?D(T(e)):{},d(r||!e||!e.__esModule?s(n,"default",{value:e,enumerable:!0}):n,e)),v=e=>d(s({},"__esModule",{value:!0}),e);var C={};w(C,{formatVariantPrice:()=>B});module.exports=v(C);var l=k(require("decimal.js")),i=require("../../helpers/index.js");function B({amount:e,baseAmount:r,currencyCode:n,currencyDisplay:a,locale:t,maximumFractionDigits:g,minimumFractionDigits:f,removeTrailingZeros:u}){if(typeof Intl>"u")return{price:`${i.PRICE_SYMBOL[t]}${e}`,basePrice:`${i.PRICE_SYMBOL[t]}${r}`,discount:`${i.PRICE_SYMBOL[t]}${r-e||0}`};const o=r>e;let m=null;const c=(0,i.languageTerritory)(t);if(c){const p=new Intl.NumberFormat(c,{style:"percent"});m=o?p.format((r-e)/r):null}let y;if(o){const p=new l.default(r).sub(e||0).toNumber();y=(0,i.formatPrice)({amount:p,currencyDisplay:a,currencyCode:n||"USD",locale:t,maximumFractionDigits:2})}const b=(0,i.formatPrice)({amount:e,currencyCode:n,currencyDisplay:a,locale:t,removeTrailingZeros:u}),h=o?(0,i.formatPrice)({amount:r,currencyCode:n,currencyDisplay:a,locale:t,maximumFractionDigits:g,minimumFractionDigits:f,removeTrailingZeros:u}):void 0;return{price:b,basePrice:h,discount:m,discountAmount:y}}
2
2
  //# sourceMappingURL=shelfDisplay.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/ShelfDisplay/shelfDisplay.ts"],
4
- "sourcesContent": ["import Decimal from 'decimal.js'\nimport type { ContainerProps, CurrencyDisplayType } from '../../types/props.js'\n/* eslint-disable no-useless-escape */\nexport const PRICE_SYMBOL = {\n us: '$',\n uk: '\u00A3',\n ca: '$',\n eu: '\u20AC',\n fr: '\u20AC',\n de: '\u20AC',\n nl: '\u20AC',\n vn: '\u20AB',\n cl: '$',\n sg: '$',\n ae: 'AED',\n} as any\n\nexport const languageTerritory = (locale: string) =>\n // https://unicode-org.github.io/cldr-staging/charts/37/supplemental/language_territory_information.html\n ({\n us: 'en-US',\n uk: 'en-GB',\n ca: 'en-CA',\n eu: 'en',\n fr: 'fr-FR',\n au: 'en-AU',\n my: 'en-my',\n 'eu-es': 'de-DE',\n 'eu-fr': 'de-DE',\n 'eu-it': 'de-DE',\n 'eu-de': 'de-DE',\n 'eu-en': 'en-US',\n 'cz-en': 'de-DE',\n 'ca-fr': 'fr-FR',\n nl: 'de-DE',\n de: 'de-DE',\n vn: 'vi-vn',\n sg: 'en-sg',\n 'ae-en': 'ae-en',\n plus: 'en-us',\n cl: 'es-cl',\n dk: 'en-dk',\n fi: 'en-fi',\n no: 'en-no',\n is: 'en-is',\n se: 'en-se',\n 'eu-pl': 'pl-PL',\n es: 'es-es',\n pl: 'pl-PL',\n nz: 'en-NZ',\n 'sg-en': 'en-SG',\n 'sa-en': 'en-SA',\n 'vn-vi': 'vi-VN',\n ie: 'en-IE',\n tw: 'zh-TW',\n })[locale] || ''\n\nexport function formatPrice({\n amount,\n currencyCode,\n currencyDisplay,\n locale,\n maximumFractionDigits,\n minimumFractionDigits,\n removeTrailingZeros = false,\n}: {\n amount: number\n currencyCode: string\n currencyDisplay?: CurrencyDisplayType\n locale: string\n maximumFractionDigits?: number\n minimumFractionDigits?: number\n removeTrailingZeros?: boolean\n}) {\n const code = locale === 'nl' ? 'EUR' : currencyCode || 'USD'\n const localeLanguage = languageTerritory(locale)\n if (!localeLanguage) {\n return null\n }\n const formatCurrency = new Intl.NumberFormat(localeLanguage, {\n style: 'currency',\n currency: code,\n currencyDisplay: currencyDisplay || 'symbol',\n minimumFractionDigits: maximumFractionDigits === 0 ? 0 : minimumFractionDigits,\n maximumFractionDigits,\n })\n\n let formattedValue = formatCurrency?.format?.(amount)\n\n if (['eu-de', 'eu-en', 'de', 'eu'].includes(locale)) {\n formattedValue = formattedValue?.toString()?.replace?.(/[\\s]/g, '')\n }\n\n if (removeTrailingZeros) {\n formattedValue = formattedValue\n ?.replace?.(/(\\.\\d*?[1-9])0+\\b/, '$1')\n ?.replace?.(/\\.0+\\b/, '')\n ?.replace?.(/(\\,\\d*?[1-9])0+\\b/, '$1')\n ?.replace?.(/\\,0+\\b/, '')\n }\n\n return formattedValue\n}\n\nexport function formatVariantPrice({\n amount,\n baseAmount,\n currencyCode,\n currencyDisplay,\n locale,\n maximumFractionDigits,\n minimumFractionDigits,\n removeTrailingZeros,\n}: {\n baseAmount: number\n amount: number\n currencyCode: string\n currencyDisplay?: CurrencyDisplayType\n locale: string\n maximumFractionDigits?: number\n minimumFractionDigits?: number\n removeTrailingZeros?: boolean\n}) {\n if (typeof Intl === 'undefined') {\n return {\n price: `${PRICE_SYMBOL[locale]}${amount}`,\n basePrice: `${PRICE_SYMBOL[locale]}${baseAmount}`,\n discount: `${PRICE_SYMBOL[locale]}${baseAmount - amount || 0}`,\n }\n }\n\n const hasDiscount = baseAmount > amount\n let discount = null\n const currentLocale = languageTerritory(locale)\n if (currentLocale) {\n const formatDiscount = new Intl.NumberFormat(currentLocale, {\n style: 'percent',\n })\n discount = hasDiscount ? formatDiscount.format((baseAmount - amount) / baseAmount) : null\n }\n // \u6298\u6263\u91D1\u989D\n let discountAmount\n if (hasDiscount) {\n const savePriceAmount = new Decimal(baseAmount).sub(amount || 0).toNumber()\n discountAmount = formatPrice({\n amount: savePriceAmount,\n currencyDisplay,\n currencyCode: currencyCode || 'USD',\n locale,\n maximumFractionDigits: 2,\n })\n }\n\n const price = formatPrice({ amount, currencyCode, currencyDisplay, locale, removeTrailingZeros })\n const basePrice = hasDiscount\n ? formatPrice({\n amount: baseAmount,\n currencyCode,\n currencyDisplay,\n locale,\n maximumFractionDigits,\n minimumFractionDigits,\n removeTrailingZeros,\n })\n : undefined\n\n return { price, basePrice, discount, discountAmount }\n}\n\ntype EventType = {\n primaryButton?: (v: any, index: number, data: ShelfDisplayType, coupon: any) => void\n secondaryButton?: (v: any, index: number, data: ShelfDisplayType, coupon: any) => void\n}\n\nexport interface ShelfDisplayItem {\n custom_primary_link?: string\n custom_secondary_link?: string\n id?: string\n /** \u4EA7\u54C1\u56FE\u7247*/\n img?: {\n url: string\n }\n handle?: string\n sku?: string\n /** \u6298\u6263\u540E\u4EF7\u683C*/\n price?: string\n title?: string\n /** \u6298\u6263\u524D\u4EF7\u683C*/\n basePrice?: string\n subTitle?: string\n /** \u6807\u7B7E*/\n tagItems?: string[]\n tab?: string\n data?: ShelfDisplayItem[]\n custom_name?: string\n custom_description?: string\n custom_image?: string\n custom_theme?: string\n}\n\nexport type ShelfDisplayType = {\n title?: string\n isShowTab?: boolean\n isShowTag?: boolean\n isShowRecommendedCard?: boolean\n isShowOriginalPrice?: boolean\n direction?: 'horizontal' | 'vertical'\n align?: 'left' | 'center' | 'right'\n productsTab?: any[]\n productsCard?: any[]\n /** \u5361\u7247\u5F62\u72B6 */\n itemShape?: 'round' | 'square'\n /** \u6309\u94AE\u5F62\u72B6 */\n shape?: 'round' | 'square'\n /** \u6807\u7B7E\u9875\u5F62\u72B6*/\n tabShape?: 'rounded' | 'square'\n /** \u4E3B\u6309\u94AE\u914D\u7F6E */\n primaryButton?: string\n primaryFun?: 'AddCart' | 'BuyNow' | 'LearnMore'\n /** \u526F\u6309\u94AE\u914D\u7F6E */\n secondaryButton?: string\n secondaryFun?: 'AddCart' | 'BuyNow' | 'LearnMore'\n theme?: 'light' | 'dark'\n containerProps?: ContainerProps\n}\n\nexport interface ShelfDisplayProps {\n data: ShelfDisplayType\n buildData?: {\n categories: any[]\n products: any[]\n }\n recommendedData?: any[]\n /** \u6309\u94AE\u4E8B\u4EF6*/\n event?: EventType\n className?: string\n key?: string\n target?: '_self' | '_blank'\n breakpoints?: {\n [key: number]: {\n spaceBetween: number\n freeMode: boolean\n slidesPerView: number\n }\n }\n metafields?: any\n isDisplayGudgments?: boolean\n isDisplayBackImage?: boolean\n}\n"],
5
- "mappings": "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",
6
- "names": ["shelfDisplay_exports", "__export", "PRICE_SYMBOL", "formatPrice", "formatVariantPrice", "languageTerritory", "__toCommonJS", "import_decimal", "locale", "amount", "currencyCode", "currencyDisplay", "maximumFractionDigits", "minimumFractionDigits", "removeTrailingZeros", "code", "localeLanguage", "formattedValue", "baseAmount", "hasDiscount", "discount", "currentLocale", "formatDiscount", "discountAmount", "savePriceAmount", "Decimal", "price", "basePrice"]
4
+ "sourcesContent": ["import Decimal from 'decimal.js'\nimport type { ContainerProps, CurrencyDisplayType } from '../../types/props.js'\n/* eslint-disable no-useless-escape */\nimport { PRICE_SYMBOL, formatPrice, languageTerritory } from '../../helpers/index.js'\n\nexport function formatVariantPrice({\n amount,\n baseAmount,\n currencyCode,\n currencyDisplay,\n locale,\n maximumFractionDigits,\n minimumFractionDigits,\n removeTrailingZeros,\n}: {\n baseAmount: number\n amount: number\n currencyCode: string\n currencyDisplay?: CurrencyDisplayType\n locale: string\n maximumFractionDigits?: number\n minimumFractionDigits?: number\n removeTrailingZeros?: boolean\n}) {\n if (typeof Intl === 'undefined') {\n return {\n price: `${PRICE_SYMBOL[locale]}${amount}`,\n basePrice: `${PRICE_SYMBOL[locale]}${baseAmount}`,\n discount: `${PRICE_SYMBOL[locale]}${baseAmount - amount || 0}`,\n }\n }\n\n const hasDiscount = baseAmount > amount\n let discount = null\n const currentLocale = languageTerritory(locale)\n if (currentLocale) {\n const formatDiscount = new Intl.NumberFormat(currentLocale, {\n style: 'percent',\n })\n discount = hasDiscount ? formatDiscount.format((baseAmount - amount) / baseAmount) : null\n }\n // \u6298\u6263\u91D1\u989D\n let discountAmount\n if (hasDiscount) {\n const savePriceAmount = new Decimal(baseAmount).sub(amount || 0).toNumber()\n discountAmount = formatPrice({\n amount: savePriceAmount,\n currencyDisplay,\n currencyCode: currencyCode || 'USD',\n locale,\n maximumFractionDigits: 2,\n })\n }\n\n const price = formatPrice({ amount, currencyCode, currencyDisplay, locale, removeTrailingZeros })\n const basePrice = hasDiscount\n ? formatPrice({\n amount: baseAmount,\n currencyCode,\n currencyDisplay,\n locale,\n maximumFractionDigits,\n minimumFractionDigits,\n removeTrailingZeros,\n })\n : undefined\n\n return { price, basePrice, discount, discountAmount }\n}\n\ntype EventType = {\n primaryButton?: (v: any, index: number, data: ShelfDisplayType, coupon: any) => void\n secondaryButton?: (v: any, index: number, data: ShelfDisplayType, coupon: any) => void\n}\n\nexport interface ShelfDisplayItem {\n custom_primary_link?: string\n custom_secondary_link?: string\n id?: string\n /** \u4EA7\u54C1\u56FE\u7247*/\n img?: {\n url: string\n }\n handle?: string\n sku?: string\n /** \u6298\u6263\u540E\u4EF7\u683C*/\n price?: string\n title?: string\n /** \u6298\u6263\u524D\u4EF7\u683C*/\n basePrice?: string\n subTitle?: string\n /** \u6807\u7B7E*/\n tagItems?: string[]\n tab?: string\n data?: ShelfDisplayItem[]\n custom_name?: string\n custom_description?: string\n custom_image?: string\n custom_theme?: string\n}\n\nexport type ShelfDisplayType = {\n title?: string\n isShowTab?: boolean\n isShowTag?: boolean\n isShowRecommendedCard?: boolean\n isShowOriginalPrice?: boolean\n direction?: 'horizontal' | 'vertical'\n align?: 'left' | 'center' | 'right'\n productsTab?: any[]\n productsCard?: any[]\n /** \u5361\u7247\u5F62\u72B6 */\n itemShape?: 'round' | 'square'\n /** \u6309\u94AE\u5F62\u72B6 */\n shape?: 'round' | 'square'\n /** \u6807\u7B7E\u9875\u5F62\u72B6*/\n tabShape?: 'rounded' | 'square'\n /** \u4E3B\u6309\u94AE\u914D\u7F6E */\n primaryButton?: string\n primaryFun?: 'AddCart' | 'BuyNow' | 'LearnMore'\n /** \u526F\u6309\u94AE\u914D\u7F6E */\n secondaryButton?: string\n secondaryFun?: 'AddCart' | 'BuyNow' | 'LearnMore'\n theme?: 'light' | 'dark'\n containerProps?: ContainerProps\n}\n\nexport interface ShelfDisplayProps {\n data: ShelfDisplayType\n buildData?: {\n categories: any[]\n products: any[]\n }\n recommendedData?: any[]\n /** \u6309\u94AE\u4E8B\u4EF6*/\n event?: EventType\n className?: string\n key?: string\n target?: '_self' | '_blank'\n breakpoints?: {\n [key: number]: {\n spaceBetween: number\n freeMode: boolean\n slidesPerView: number\n }\n }\n metafields?: any\n isDisplayGudgments?: boolean\n isDisplayBackImage?: boolean\n}\n"],
5
+ "mappings": "0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,IAAA,eAAAC,EAAAH,GAAA,IAAAI,EAAoB,yBAGpBC,EAA6D,kCAEtD,SAASH,EAAmB,CACjC,OAAAI,EACA,WAAAC,EACA,aAAAC,EACA,gBAAAC,EACA,OAAAC,EACA,sBAAAC,EACA,sBAAAC,EACA,oBAAAC,CACF,EASG,CACD,GAAI,OAAO,KAAS,IAClB,MAAO,CACL,MAAO,GAAG,eAAaH,CAAM,CAAC,GAAGJ,CAAM,GACvC,UAAW,GAAG,eAAaI,CAAM,CAAC,GAAGH,CAAU,GAC/C,SAAU,GAAG,eAAaG,CAAM,CAAC,GAAGH,EAAaD,GAAU,CAAC,EAC9D,EAGF,MAAMQ,EAAcP,EAAaD,EACjC,IAAIS,EAAW,KACf,MAAMC,KAAgB,qBAAkBN,CAAM,EAC9C,GAAIM,EAAe,CACjB,MAAMC,EAAiB,IAAI,KAAK,aAAaD,EAAe,CAC1D,MAAO,SACT,CAAC,EACDD,EAAWD,EAAcG,EAAe,QAAQV,EAAaD,GAAUC,CAAU,EAAI,IACvF,CAEA,IAAIW,EACJ,GAAIJ,EAAa,CACf,MAAMK,EAAkB,IAAI,EAAAC,QAAQb,CAAU,EAAE,IAAID,GAAU,CAAC,EAAE,SAAS,EAC1EY,KAAiB,eAAY,CAC3B,OAAQC,EACR,gBAAAV,EACA,aAAcD,GAAgB,MAC9B,OAAAE,EACA,sBAAuB,CACzB,CAAC,CACH,CAEA,MAAMW,KAAQ,eAAY,CAAE,OAAAf,EAAQ,aAAAE,EAAc,gBAAAC,EAAiB,OAAAC,EAAQ,oBAAAG,CAAoB,CAAC,EAC1FS,EAAYR,KACd,eAAY,CACV,OAAQP,EACR,aAAAC,EACA,gBAAAC,EACA,OAAAC,EACA,sBAAAC,EACA,sBAAAC,EACA,oBAAAC,CACF,CAAC,EACD,OAEJ,MAAO,CAAE,MAAAQ,EAAO,UAAAC,EAAW,SAAAP,EAAU,eAAAG,CAAe,CACtD",
6
+ "names": ["shelfDisplay_exports", "__export", "formatVariantPrice", "__toCommonJS", "import_decimal", "import_helpers", "amount", "baseAmount", "currencyCode", "currencyDisplay", "locale", "maximumFractionDigits", "minimumFractionDigits", "removeTrailingZeros", "hasDiscount", "discount", "currentLocale", "formatDiscount", "discountAmount", "savePriceAmount", "Decimal", "price", "basePrice"]
7
7
  }
@@ -2,8 +2,8 @@ import React from 'react';
2
2
  import type { SloganProps } from './types.js';
3
3
  export declare const componentType = "copy";
4
4
  export declare const componentName = "brand_slogan";
5
- declare const _default: React.ForwardRefExoticComponent<Omit<Omit<SloganProps & React.RefAttributes<HTMLDivElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
6
- className?: string;
7
- data?: Record<string, any>;
5
+ declare const _default: React.ForwardRefExoticComponent<Omit<SloganProps & React.RefAttributes<HTMLDivElement> & {
6
+ style?: string | React.CSSProperties;
7
+ container?: import("../../shared/Styles.js").ContainerProps["container"];
8
8
  }, "ref"> & React.RefAttributes<any>>;
9
9
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { SpacerProps } from './types.js';
3
- declare const _default: React.ForwardRefExoticComponent<Omit<Omit<SpacerProps & React.RefAttributes<HTMLDivElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
4
- className?: string;
5
- data?: Record<string, any>;
3
+ declare const _default: React.ForwardRefExoticComponent<Omit<SpacerProps & React.RefAttributes<HTMLDivElement> & {
4
+ style?: string | React.CSSProperties;
5
+ container?: import("../../shared/Styles.js").ContainerProps["container"];
6
6
  }, "ref"> & React.RefAttributes<any>>;
7
7
  export default _default;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
- declare const _default: React.ForwardRefExoticComponent<Omit<Omit<Omit<any, "ref"> & React.RefAttributes<HTMLDivElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
3
- className?: string;
4
- data?: Record<string, any>;
2
+ declare const _default: React.ForwardRefExoticComponent<Omit<Omit<any, "ref"> & React.RefAttributes<HTMLDivElement> & {
3
+ style?: string | React.CSSProperties;
4
+ container?: import("../../shared/Styles.js").ContainerProps["container"];
5
5
  }, "ref"> & React.RefAttributes<any>>;
6
6
  export default _default;
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var W=Object.create;var h=Object.defineProperty;var G=Object.getOwnPropertyDescriptor;var J=Object.getOwnPropertyNames;var K=Object.getPrototypeOf,X=Object.prototype.hasOwnProperty;var Y=(a,o)=>{for(var c in o)h(a,c,{get:o[c],enumerable:!0})},A=(a,o,c,m)=>{if(o&&typeof o=="object"||typeof o=="function")for(let f of J(o))!X.call(a,f)&&f!==c&&h(a,f,{get:()=>o[f],enumerable:!(m=G(o,f))||m.enumerable});return a};var C=(a,o,c)=>(c=a!=null?W(K(a)):{},A(o||!a||!a.__esModule?h(c,"default",{value:a,enumerable:!0}):c,a)),Z=a=>A(h({},"__esModule",{value:!0}),a);var te={};Y(te,{default:()=>ee});module.exports=Z(te);var e=require("react/jsx-runtime"),F=C(require("./dropdown.js")),H=require("../AiuiProvider/index.js"),R=require("react-responsive"),p=require("react"),I=require("../../shared/Styles.js"),O=require("../ShelfDisplay/shelfDisplay.js"),d=require("../../components/index.js"),g=C(require("react"));const T=g.default.forwardRef((a,o)=>{const{data:c,buildData:m,onChange:f,onSecondaryChange:se}=a||{},y=(0,R.useMediaQuery)({query:"(max-width: 768px)"}),[r,k]=(0,p.useState)({}),[P,_]=(0,p.useState)([]),[N,D]=(0,p.useState)(!1),[w,M]=(0,p.useState)({}),S=(0,g.useRef)(null),{locale:$="us",currencyDisplay:U}=(0,H.useAiuiContext)(),{LeftMenu:E,RightMenu:L,DefaultSelectMenu:v}=(0,p.useMemo)(()=>c?.data||{},[c?.data]),V=t=>{try{const l=new URL(t).pathname.toLowerCase();return/\.(jpeg|jpg|gif|png|webp|bmp|svg|tiff)$/.test(l)}catch{return/\.(jpeg|jpg|gif|png|webp|bmp|svg|tiff)$/i.test(t)}},B=(t,s)=>{const l=t?.variants?.find?.(x=>x?.sku===t?.sku),n=l?.coupons?.[0],{price:u,basePrice:i}=(0,O.formatVariantPrice)({locale:$||"us",amount:n?n?.variant_price4wscode:l?.price,baseAmount:n?l?.price:0,currencyDisplay:U,currencyCode:t?.price?.currencyCode||"USD"}),b=typeof v?.buttonText=="string"?v?.buttonText:v?.buttonText?.[String(s)]||"";return(0,e.jsxs)("div",{className:"specs-sku-node-wrap box-border",children:[(0,e.jsxs)(d.Text,{className:"md-tablet:p-2 l-tablet:mb-4 l-tablet:text-sm desktop:px-6 lg-desktop:mb-8 lg-desktop:text-lg openDropDown specs-sku-node-text relative mb-6 box-border block rounded-[50px] border border-[#E4E5E6] bg-[#F5F5F7] px-6 py-4 text-base font-bold",onClick:()=>{if(Object.keys(r||{})?.length<=2)return null;M({...w,[s]:!w?.[s]})},children:[(0,e.jsxs)("div",{className:"flex items-center justify-between overflow-hidden",children:[(0,e.jsx)("div",{className:"openDropDown md-tablet:text-sm lg-desktop:text-lg specs-sku-node-title flex-1 truncate text-base",title:r?.[s]?.name||"",children:r?.[s]?.name||""}),Object.keys(r||{})?.length>2?(0,e.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"25",viewBox:"0 0 24 25",fill:"none",className:"openDropDown",children:(0,e.jsx)("path",{d:"M6 9.5L12 15.5L18 9.5",stroke:"#1D1D1F",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}):null]}),(0,e.jsx)(F.default,{index:s,list:P,active:r,setActive:k,visible:w,setVisible:M})]}),(0,e.jsx)("div",{className:"lg-desktop:max-h-[196px] lg-desktop:max-w-[196px] max-h-[138px] max-w-[138px]",children:(0,e.jsx)(d.Picture,{source:l?.image?.url||"",className:"aspect-h-[280] aspect-w-[280]",imgClassName:"w-full h-full object-cover hover:scale-105 transition-all duration-300"})}),l?.availableForSale?(0,e.jsxs)("div",{className:"lg-desktop:text-2xl mb-2 mt-6 flex items-center text-xl font-bold",children:[(0,e.jsx)("div",{className:"specs-sku-node-price text-[#080A0F]",children:u||""}),i&&(0,e.jsx)("div",{className:"lg-desktop:text-2xl specs-sku-node-base-price ml-1 text-xl text-[#86868C] line-through",children:i})]}):!1,b?(0,e.jsx)(d.Button,{onClick:()=>{f?.(t,s)},className:"specs-sku-node-button",children:b}):null]})},q=t=>t&&typeof t!="string"?(0,e.jsxs)("div",{className:"size-full",children:[(0,e.jsx)("p",{className:"min-xxl:text-lg specs-normal-node-text text-base font-bold text-[#080A0F] md:text-sm",dangerouslySetInnerHTML:{__html:t?.text||""}}),(0,e.jsx)(d.Picture,{source:t?.imgUrl,className:"l:max-h-[174px] l:max-w-[174px] m-auto max-h-[360px] max-w-[360px]",imgClassName:"w-full h-full object-cover"})]}):(0,e.jsx)("div",{className:"break-all",children:V(t)?(0,e.jsx)(d.Picture,{source:t,className:"l:max-h-[174px] l:max-w-[174px] m-auto max-h-[360px] max-w-[360px]",imgClassName:"w-full h-full object-cover"}):(0,e.jsx)("p",{className:"min-xxl:text-lg specs-normal-node-text text-base font-bold text-[#080A0F] md:text-sm",dangerouslySetInnerHTML:{__html:t||""}})}),j=t=>t.map((s,l)=>{const n=l===0;return(0,e.jsxs)("div",{className:"l-tablet:flex l-tablet:flex-col box-border grid w-full cursor-pointer grid-cols-3 overflow-hidden border-t border-t-[#E4E5E6] specs-product-node-wrap",children:[(0,e.jsx)(d.Heading,{as:"h3",html:s||"",className:"tablet:py-6 l-tablet:text-[#86868C] desktop:p-6 lg-desktop:text-lg specs-product-node-title mr-4 flex-1 pt-4 text-base font-bold md:text-sm"}),(0,e.jsx)("div",{className:`l-tablet:w-full l-tablet:gap-4 laptop:gap-8 desktop:gap-12 desktop:p-6 lg-desktop:gap-16 grid-cols-${N?3:2} specs-product-node-body col-span-2 grid flex-1 py-6`,children:Object.keys(r)?.map?.(u=>{const i=r?.[u],b=L?.menus?.find?.(x=>x?.handle===i?.handle)?.subTitle;return q(b?.[s])})})]},s)}),z=t=>{if(!r)return;const{subTitle:s,isProduct:l}=t;return l?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:"l-tablet:flex l-tablet:flex-col specs-content-item-product box-border grid w-full cursor-pointer grid-cols-3 border-t-0 border-t-[#E4E5E6]",children:[t?.title&&(0,e.jsx)(d.Heading,{as:"h3",html:t?.title||"",className:"l:hidden specs-item-product-title"}),(0,e.jsx)("div",{className:`l-tablet:w-full l-tablet:gap-4 laptop:gap-8 desktop:gap-12 desktop:px-6 desktop:pb-6 lg-desktop:gap-16 grid-cols-${N?3:2} specs-item-product-body col-span-2 grid flex-1 pb-4 pr-0`,children:Object.keys(r)?.map((n,u)=>{const i=r?.[n],b=m?.products?.find?.(x=>x?.handle===i?.handle);return(0,e.jsx)("div",{children:B({...b,item:n,sku:i?.sku},u)},n)})})]}),s?.length?j(s):null]}):j(s)};return(0,g.useImperativeHandle)(o,()=>S.current),(0,p.useEffect)(()=>{if(!m?.products?.length)return;const t=v?.sku?.split?.(",")||[];let s={};t?.forEach?.((n,u)=>{const i=m?.products?.find?.(b=>{if(b?.variants?.find?.(Q=>Q?.sku===n))return!0});i&&(s={...s,[u]:{sku:n,name:i?.name||i?.title,handle:i?.handle}})});const l=m?.products?.filter(n=>L?.menus?.find(u=>u?.handle===n?.handle));k(s),_(l),D(t?.length>2)},[m]),(0,p.useEffect)(()=>{if(y){const t=Object.keys(r||{});if(t?.length>2){const s=t?.slice?.(0,2);let l={};s?.forEach?.(n=>{l={...l,[n]:r?.[n]}}),D(!1),k(l)}}},[y]),(0,e.jsx)("div",{className:"specs-wrapper w-full overflow-hidden bg-[#F5F5F7]",ref:S,children:E?.data?(0,e.jsx)("div",{className:"specs-wrapper-content box-border w-full overflow-hidden",children:E?.data?.map?.((t,s)=>(0,e.jsx)("div",{className:"specs-wrapper-content-item w-full overflow-hidden pt-10 [&:first-child]:pt-0",children:z(t)},s))}):null})});T.displayName="Specs";var ee=(0,I.withLayout)(T);
1
+ "use strict";"use client";var W=Object.create;var h=Object.defineProperty;var G=Object.getOwnPropertyDescriptor;var J=Object.getOwnPropertyNames;var K=Object.getPrototypeOf,X=Object.prototype.hasOwnProperty;var Y=(a,o)=>{for(var c in o)h(a,c,{get:o[c],enumerable:!0})},A=(a,o,c,m)=>{if(o&&typeof o=="object"||typeof o=="function")for(let x of J(o))!X.call(a,x)&&x!==c&&h(a,x,{get:()=>o[x],enumerable:!(m=G(o,x))||m.enumerable});return a};var C=(a,o,c)=>(c=a!=null?W(K(a)):{},A(o||!a||!a.__esModule?h(c,"default",{value:a,enumerable:!0}):c,a)),Z=a=>A(h({},"__esModule",{value:!0}),a);var te={};Y(te,{default:()=>ee});module.exports=Z(te);var e=require("react/jsx-runtime"),F=C(require("./dropdown.js")),H=require("../AiuiProvider/index.js"),R=require("react-responsive"),p=require("react"),I=require("../../shared/Styles.js"),O=require("../ShelfDisplay/shelfDisplay.js"),d=require("../../components/index.js"),g=C(require("react"));const T=g.default.forwardRef((a,o)=>{const{data:c,buildData:m,onChange:x,onSecondaryChange:se}=a||{},y=(0,R.useMediaQuery)({query:"(max-width: 768px)"}),[r,k]=(0,p.useState)({}),[P,_]=(0,p.useState)([]),[N,D]=(0,p.useState)(!1),[w,M]=(0,p.useState)({}),S=(0,g.useRef)(null),{locale:$="us",currencyDisplay:U}=(0,H.useAiuiContext)(),{LeftMenu:E,RightMenu:L,DefaultSelectMenu:v}=(0,p.useMemo)(()=>c?.data||{},[c?.data]),V=t=>{try{const l=new URL(t).pathname.toLowerCase();return/\.(jpeg|jpg|gif|png|webp|bmp|svg|tiff)$/.test(l)}catch{return/\.(jpeg|jpg|gif|png|webp|bmp|svg|tiff)$/i.test(t)}},B=(t,s)=>{const l=t?.variants?.find?.(f=>f?.sku===t?.sku),n=l?.coupons?.[0],{price:u,basePrice:i}=(0,O.formatVariantPrice)({locale:$||"us",amount:n?n?.variant_price4wscode:l?.price,baseAmount:n?l?.price:0,currencyDisplay:U,currencyCode:t?.price?.currencyCode||"USD"}),b=typeof v?.buttonText=="string"?v?.buttonText:v?.buttonText?.[String(s)]||"";return(0,e.jsxs)("div",{className:"specs-sku-node-wrap box-border",children:[(0,e.jsxs)(d.Text,{className:"md-tablet:p-2 l-tablet:mb-4 l-tablet:text-sm desktop:px-6 lg-desktop:mb-8 lg-desktop:text-lg openDropDown specs-sku-node-text relative mb-6 box-border block rounded-[50px] border border-[#E4E5E6] bg-[#F5F5F7] px-6 py-4 text-base font-bold",onClick:()=>{if(Object.keys(r||{})?.length<=2)return null;M({...w,[s]:!w?.[s]})},children:[(0,e.jsxs)("div",{className:"flex items-center justify-between overflow-hidden",children:[(0,e.jsx)("div",{className:"openDropDown md-tablet:text-sm lg-desktop:text-lg specs-sku-node-title flex-1 truncate text-base",title:r?.[s]?.name||"",children:r?.[s]?.name||""}),Object.keys(r||{})?.length>2?(0,e.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"24",height:"25",viewBox:"0 0 24 25",fill:"none",className:"openDropDown",children:(0,e.jsx)("path",{d:"M6 9.5L12 15.5L18 9.5",stroke:"#1D1D1F",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})}):null]}),(0,e.jsx)(F.default,{index:s,list:P,active:r,setActive:k,visible:w,setVisible:M})]}),(0,e.jsx)("div",{className:"lg-desktop:max-h-[196px] lg-desktop:max-w-[196px] max-h-[138px] max-w-[138px]",children:(0,e.jsx)(d.Picture,{source:l?.image?.url||"",className:"aspect-h-[280] aspect-w-[280]",imgClassName:"w-full h-full object-cover hover:scale-105 transition-all duration-300"})}),(0,e.jsx)("div",{className:"lg-desktop:text-2xl mb-2 mt-6 text-xl font-bold",children:(0,e.jsx)("div",{className:"lg-desktop:min-h-[32px] flex min-h-[28px] items-center",children:l?.availableForSale?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("div",{className:"specs-sku-node-price text-[#080A0F]",children:u||""}),i&&(0,e.jsx)("div",{className:"lg-desktop:text-2xl specs-sku-node-base-price ml-1 text-xl text-[#86868C] line-through",children:i})]}):null})}),b?(0,e.jsx)(d.Button,{onClick:()=>{x?.(t,s)},className:"specs-sku-node-button",children:b}):null]})},q=t=>t&&typeof t!="string"?(0,e.jsxs)("div",{className:"size-full",children:[(0,e.jsx)("p",{className:"min-xxl:text-lg specs-normal-node-text text-base font-bold text-[#080A0F] md:text-sm",dangerouslySetInnerHTML:{__html:t?.text||""}}),(0,e.jsx)(d.Picture,{source:t?.imgUrl,className:"l:max-h-[174px] l:max-w-[174px] m-auto max-h-[360px] max-w-[360px]",imgClassName:"w-full h-full object-cover"})]}):(0,e.jsx)("div",{className:"break-all",children:V(t)?(0,e.jsx)(d.Picture,{source:t,className:"l:max-h-[174px] l:max-w-[174px] m-auto max-h-[360px] max-w-[360px]",imgClassName:"w-full h-full object-cover"}):(0,e.jsx)("p",{className:"min-xxl:text-lg specs-normal-node-text text-base font-bold text-[#080A0F] md:text-sm",dangerouslySetInnerHTML:{__html:t||""}})}),j=t=>t.map((s,l)=>{const n=l===0;return(0,e.jsxs)("div",{className:"l-tablet:flex l-tablet:flex-col box-border grid w-full cursor-pointer grid-cols-3 overflow-hidden border-t border-t-[#E4E5E6] specs-product-node-wrap",children:[(0,e.jsx)(d.Heading,{as:"h3",html:s||"",className:"tablet:py-6 l-tablet:text-[#86868C] desktop:p-6 lg-desktop:text-lg specs-product-node-title mr-4 flex-1 pt-4 text-base font-bold md:text-sm"}),(0,e.jsx)("div",{className:`l-tablet:w-full l-tablet:gap-4 laptop:gap-8 desktop:gap-12 desktop:p-6 lg-desktop:gap-16 grid-cols-${N?3:2} specs-product-node-body col-span-2 grid flex-1 py-6`,children:Object.keys(r)?.map?.(u=>{const i=r?.[u],b=L?.menus?.find?.(f=>f?.handle===i?.handle)?.subTitle;return q(b?.[s])})})]},s)}),z=t=>{if(!r)return;const{subTitle:s,isProduct:l}=t;return l?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:"l-tablet:flex l-tablet:flex-col specs-content-item-product box-border grid w-full cursor-pointer grid-cols-3 border-t-0 border-t-[#E4E5E6]",children:[t?.title&&(0,e.jsx)(d.Heading,{as:"h3",html:t?.title||"",className:"l:hidden specs-item-product-title"}),(0,e.jsx)("div",{className:`l-tablet:w-full l-tablet:gap-4 laptop:gap-8 desktop:gap-12 desktop:px-6 desktop:pb-6 lg-desktop:gap-16 grid-cols-${N?3:2} specs-item-product-body col-span-2 grid flex-1 pb-4 pr-0`,children:Object.keys(r)?.map((n,u)=>{const i=r?.[n],b=m?.products?.find?.(f=>f?.handle===i?.handle);return(0,e.jsx)("div",{children:B({...b,item:n,sku:i?.sku},u)},n)})})]}),s?.length?j(s):null]}):j(s)};return(0,g.useImperativeHandle)(o,()=>S.current),(0,p.useEffect)(()=>{if(!m?.products?.length)return;const t=v?.sku?.split?.(",")||[];let s={};t?.forEach?.((n,u)=>{const i=m?.products?.find?.(b=>{if(b?.variants?.find?.(Q=>Q?.sku===n))return!0});i&&(s={...s,[u]:{sku:n,name:i?.name||i?.title,handle:i?.handle}})});const l=m?.products?.filter(n=>L?.menus?.find(u=>u?.handle===n?.handle));k(s),_(l),D(t?.length>2)},[m]),(0,p.useEffect)(()=>{if(y){const t=Object.keys(r||{});if(t?.length>2){const s=t?.slice?.(0,2);let l={};s?.forEach?.(n=>{l={...l,[n]:r?.[n]}}),D(!1),k(l)}}},[y]),(0,e.jsx)("div",{className:"specs-wrapper w-full overflow-hidden bg-[#F5F5F7]",ref:S,children:E?.data?(0,e.jsx)("div",{className:"specs-wrapper-content box-border w-full overflow-hidden",children:E?.data?.map?.((t,s)=>(0,e.jsx)("div",{className:"specs-wrapper-content-item w-full overflow-hidden pt-10 [&:first-child]:pt-0",children:z(t)},s))}):null})});T.displayName="Specs";var ee=(0,I.withLayout)(T);
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/Specs/index.tsx"],
4
- "sourcesContent": ["'use client'\n\nimport DropDown from './dropdown.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\nimport { useMediaQuery } from 'react-responsive'\nimport { useMemo, useState, useEffect } from 'react'\nimport { withLayout } from '../../shared/Styles.js'\nimport { formatVariantPrice } from '../ShelfDisplay/shelfDisplay.js'\nimport { Picture, Text, Button, Heading } from '../../components/index.js'\nimport React, { useImperativeHandle, useRef } from 'react'\n\nconst Specs = React.forwardRef<HTMLDivElement, any>((page: any, ref) => {\n const { data, buildData, onChange, onSecondaryChange } = page || {}\n\n const isMobile = useMediaQuery({ query: '(max-width: 768px)' })\n\n const [active, setActive] = useState<any>({})\n const [menuList, setMenuList] = useState<any[]>([])\n const [isShowMax, setIsShowMax] = useState<boolean>(false)\n const [visibleActive, setVisibleActive] = useState<{ [key: number]: boolean }>({})\n\n const innerRef = useRef<HTMLDivElement>(null)\n\n const { locale = 'us', currencyDisplay } = useAiuiContext()\n\n const { LeftMenu, RightMenu, DefaultSelectMenu } = useMemo(() => data?.data || {}, [data?.data])\n\n const isImageUrl = (urlPath: string) => {\n try {\n const url = new URL(urlPath)\n const path = url.pathname.toLowerCase()\n return /\\.(jpeg|jpg|gif|png|webp|bmp|svg|tiff)$/.test(path)\n } catch (e) {\n // \u5982\u679C\u4F20\u5165\u7684\u4E0D\u662F\u6709\u6548URL\uFF08\u5982\u76F8\u5BF9\u8DEF\u5F84\uFF09\uFF0C\u76F4\u63A5\u68C0\u67E5\u8DEF\u5F84\n return /\\.(jpeg|jpg|gif|png|webp|bmp|svg|tiff)$/i.test(urlPath)\n }\n }\n\n const skuNode = (product: any, index: number) => {\n const findSku = product?.variants?.find?.((item: any) => item?.sku === product?.sku)\n const coupon = findSku?.coupons?.[0]\n const { price, basePrice } = formatVariantPrice({\n locale: locale || 'us',\n amount: coupon ? coupon?.variant_price4wscode : findSku?.price,\n baseAmount: coupon ? findSku?.price : 0,\n currencyDisplay,\n currencyCode: product?.price?.currencyCode || 'USD',\n })\n const buttonTextValue =\n typeof DefaultSelectMenu?.buttonText === 'string'\n ? DefaultSelectMenu?.buttonText\n : DefaultSelectMenu?.buttonText?.[String(index)] || ''\n return (\n <div className=\"specs-sku-node-wrap box-border\">\n <Text\n className={`md-tablet:p-2 l-tablet:mb-4 l-tablet:text-sm desktop:px-6 lg-desktop:mb-8 lg-desktop:text-lg openDropDown specs-sku-node-text relative mb-6 box-border block rounded-[50px] border border-[#E4E5E6] bg-[#F5F5F7] px-6 py-4 text-base font-bold`}\n onClick={() => {\n if (Object.keys(active || {})?.length <= 2) return null\n\n setVisibleActive({\n ...visibleActive,\n [index]: !visibleActive?.[index],\n })\n }}\n >\n <div className=\"flex items-center justify-between overflow-hidden\">\n <div\n className=\"openDropDown md-tablet:text-sm lg-desktop:text-lg specs-sku-node-title flex-1 truncate text-base\"\n title={active?.[index]?.name || ''}\n >\n {active?.[index]?.name || ''}\n </div>\n {Object.keys(active || {})?.length > 2 ? (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"25\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n className=\"openDropDown\"\n >\n <path\n d=\"M6 9.5L12 15.5L18 9.5\"\n stroke=\"#1D1D1F\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n ) : null}\n </div>\n <DropDown\n index={index}\n list={menuList}\n active={active}\n setActive={setActive}\n visible={visibleActive}\n setVisible={setVisibleActive}\n />\n </Text>\n <div className=\"lg-desktop:max-h-[196px] lg-desktop:max-w-[196px] max-h-[138px] max-w-[138px]\">\n <Picture\n source={findSku?.image?.url || ''}\n className=\"aspect-h-[280] aspect-w-[280]\"\n imgClassName=\"w-full h-full object-cover hover:scale-105 transition-all duration-300\"\n />\n </div>\n {findSku?.availableForSale ? (\n <div className=\"lg-desktop:text-2xl mb-2 mt-6 flex items-center text-xl font-bold\">\n <div className=\"specs-sku-node-price text-[#080A0F]\">{price || ''}</div>\n {basePrice && (\n <div className=\"lg-desktop:text-2xl specs-sku-node-base-price ml-1 text-xl text-[#86868C] line-through\">\n {basePrice}\n </div>\n )}\n </div>\n ) : (\n false\n )}\n {buttonTextValue ? (\n <Button\n onClick={() => {\n onChange?.(product, index)\n }}\n className=\"specs-sku-node-button\"\n >\n {buttonTextValue}\n </Button>\n ) : null}\n </div>\n )\n }\n\n const normalNode = (v: any) => {\n if (v && typeof v !== 'string') {\n return (\n <div className=\"size-full\">\n <p\n className=\"min-xxl:text-lg specs-normal-node-text text-base font-bold text-[#080A0F] md:text-sm\"\n dangerouslySetInnerHTML={{\n __html: v?.text || '',\n }}\n />\n <Picture\n source={v?.imgUrl}\n className=\"l:max-h-[174px] l:max-w-[174px] m-auto max-h-[360px] max-w-[360px]\"\n imgClassName=\"w-full h-full object-cover\"\n />\n </div>\n )\n }\n return (\n <div className=\"break-all\">\n {isImageUrl(v) ? (\n <Picture\n source={v}\n className=\"l:max-h-[174px] l:max-w-[174px] m-auto max-h-[360px] max-w-[360px]\"\n imgClassName=\"w-full h-full object-cover\"\n />\n ) : (\n <p\n className=\"min-xxl:text-lg specs-normal-node-text text-base font-bold text-[#080A0F] md:text-sm\"\n dangerouslySetInnerHTML={{\n __html: v || '',\n }}\n />\n )}\n </div>\n )\n }\n\n const productNode = (data: any) => {\n return data.map((st: any, idx: number) => {\n const isFirstParameter = idx === 0\n return (\n <div\n key={st}\n className={`l-tablet:flex l-tablet:flex-col box-border grid w-full cursor-pointer grid-cols-3 overflow-hidden border-t border-t-[#E4E5E6] ${isFirstParameter ? '' : ''} specs-product-node-wrap`}\n >\n <Heading\n as=\"h3\"\n html={st || ''}\n className=\"tablet:py-6 l-tablet:text-[#86868C] desktop:p-6 lg-desktop:text-lg specs-product-node-title mr-4 flex-1 pt-4 text-base font-bold md:text-sm\"\n />\n <div\n className={`l-tablet:w-full l-tablet:gap-4 laptop:gap-8 desktop:gap-12 desktop:p-6 lg-desktop:gap-16 grid-cols-${isShowMax ? 3 : 2} specs-product-node-body col-span-2 grid flex-1 py-6`}\n >\n {Object.keys(active)?.map?.((item: string) => {\n const currentData = active?.[item]\n const currentMenus = RightMenu?.menus?.find?.(\n (item: any) => item?.handle === currentData?.handle\n )?.subTitle\n return normalNode(currentMenus?.[st])\n })}\n </div>\n </div>\n )\n })\n }\n\n // \u5DE6\u4FA7\u6807\u9898\u83DC\u5355\n const childrenNode = (node: any) => {\n if (!active) return\n const { subTitle, isProduct } = node\n // \u5982\u679C\u662F\u4EA7\u54C1\n if (isProduct) {\n return (\n <>\n <div\n className={`l-tablet:flex l-tablet:flex-col specs-content-item-product box-border grid w-full cursor-pointer grid-cols-3 border-t-0 border-t-[#E4E5E6]`}\n >\n {node?.title && <Heading as=\"h3\" html={node?.title || ''} className=\"l:hidden specs-item-product-title\" />}\n <div\n className={`l-tablet:w-full l-tablet:gap-4 laptop:gap-8 desktop:gap-12 desktop:px-6 desktop:pb-6 lg-desktop:gap-16 grid-cols-${isShowMax ? 3 : 2} specs-item-product-body col-span-2 grid flex-1 pb-4 pr-0`}\n >\n {Object.keys(active)?.map((item: string, index: number) => {\n const currentData = active?.[item]\n const currentProduct = buildData?.products?.find?.((item: any) => item?.handle === currentData?.handle)\n return <div key={item}>{skuNode({ ...currentProduct, item: item, sku: currentData?.sku }, index)}</div>\n })}\n </div>\n </div>\n {subTitle?.length ? productNode(subTitle) : null}\n </>\n )\n }\n return productNode(subTitle)\n }\n\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n\n useEffect(() => {\n if (!buildData?.products?.length) return\n const skus = DefaultSelectMenu?.sku?.split?.(',') || []\n let currentActive = {}\n skus?.forEach?.((sku: string, index: number) => {\n const findData = buildData?.products?.find?.((item: any) => {\n const findSku = item?.variants?.find?.((v: any) => v?.sku === sku)\n if (findSku) return true\n })\n if (findData) {\n currentActive = {\n ...currentActive,\n [index]: {\n sku: sku,\n name: findData?.name || findData?.title,\n handle: findData?.handle,\n },\n }\n }\n })\n const currentMenu = buildData?.products?.filter((item: any) => {\n return RightMenu?.menus?.find((params: any) => params?.handle === item?.handle)\n })\n setActive(currentActive)\n setMenuList(currentMenu)\n setIsShowMax(skus?.length > 2)\n }, [buildData])\n\n useEffect(() => {\n if (isMobile) {\n const currentActive = Object.keys(active || {})\n if (currentActive?.length > 2) {\n const newActive = currentActive?.slice?.(0, 2)\n let newShowActive = {}\n newActive?.forEach?.((item: string) => {\n newShowActive = { ...newShowActive, [item]: active?.[item] }\n })\n setIsShowMax(false)\n setActive(newShowActive)\n }\n }\n }, [isMobile])\n\n return (\n <div className=\"specs-wrapper w-full overflow-hidden bg-[#F5F5F7]\" ref={innerRef}>\n {LeftMenu?.data ? (\n <div className=\"specs-wrapper-content box-border w-full overflow-hidden\">\n {LeftMenu?.data?.map?.((item: any, index: number) => {\n return (\n <div key={index} className=\"specs-wrapper-content-item w-full overflow-hidden pt-10 [&:first-child]:pt-0\">\n {childrenNode(item)}\n </div>\n )\n })}\n </div>\n ) : null}\n </div>\n )\n})\n\nSpecs.displayName = 'Specs'\n\nexport default withLayout(Specs)\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["'use client'\n\nimport DropDown from './dropdown.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\nimport { useMediaQuery } from 'react-responsive'\nimport { useMemo, useState, useEffect } from 'react'\nimport { withLayout } from '../../shared/Styles.js'\nimport { formatVariantPrice } from '../ShelfDisplay/shelfDisplay.js'\nimport { Picture, Text, Button, Heading } from '../../components/index.js'\nimport React, { useImperativeHandle, useRef } from 'react'\n\nconst Specs = React.forwardRef<HTMLDivElement, any>((page: any, ref) => {\n const { data, buildData, onChange, onSecondaryChange } = page || {}\n\n const isMobile = useMediaQuery({ query: '(max-width: 768px)' })\n\n const [active, setActive] = useState<any>({})\n const [menuList, setMenuList] = useState<any[]>([])\n const [isShowMax, setIsShowMax] = useState<boolean>(false)\n const [visibleActive, setVisibleActive] = useState<{ [key: number]: boolean }>({})\n\n const innerRef = useRef<HTMLDivElement>(null)\n\n const { locale = 'us', currencyDisplay } = useAiuiContext()\n\n const { LeftMenu, RightMenu, DefaultSelectMenu } = useMemo(() => data?.data || {}, [data?.data])\n\n const isImageUrl = (urlPath: string) => {\n try {\n const url = new URL(urlPath)\n const path = url.pathname.toLowerCase()\n return /\\.(jpeg|jpg|gif|png|webp|bmp|svg|tiff)$/.test(path)\n } catch (e) {\n // \u5982\u679C\u4F20\u5165\u7684\u4E0D\u662F\u6709\u6548URL\uFF08\u5982\u76F8\u5BF9\u8DEF\u5F84\uFF09\uFF0C\u76F4\u63A5\u68C0\u67E5\u8DEF\u5F84\n return /\\.(jpeg|jpg|gif|png|webp|bmp|svg|tiff)$/i.test(urlPath)\n }\n }\n\n const skuNode = (product: any, index: number) => {\n const findSku = product?.variants?.find?.((item: any) => item?.sku === product?.sku)\n const coupon = findSku?.coupons?.[0]\n const { price, basePrice } = formatVariantPrice({\n locale: locale || 'us',\n amount: coupon ? coupon?.variant_price4wscode : findSku?.price,\n baseAmount: coupon ? findSku?.price : 0,\n currencyDisplay,\n currencyCode: product?.price?.currencyCode || 'USD',\n })\n const buttonTextValue =\n typeof DefaultSelectMenu?.buttonText === 'string'\n ? DefaultSelectMenu?.buttonText\n : DefaultSelectMenu?.buttonText?.[String(index)] || ''\n return (\n <div className=\"specs-sku-node-wrap box-border\">\n <Text\n className={`md-tablet:p-2 l-tablet:mb-4 l-tablet:text-sm desktop:px-6 lg-desktop:mb-8 lg-desktop:text-lg openDropDown specs-sku-node-text relative mb-6 box-border block rounded-[50px] border border-[#E4E5E6] bg-[#F5F5F7] px-6 py-4 text-base font-bold`}\n onClick={() => {\n if (Object.keys(active || {})?.length <= 2) return null\n\n setVisibleActive({\n ...visibleActive,\n [index]: !visibleActive?.[index],\n })\n }}\n >\n <div className=\"flex items-center justify-between overflow-hidden\">\n <div\n className=\"openDropDown md-tablet:text-sm lg-desktop:text-lg specs-sku-node-title flex-1 truncate text-base\"\n title={active?.[index]?.name || ''}\n >\n {active?.[index]?.name || ''}\n </div>\n {Object.keys(active || {})?.length > 2 ? (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"25\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n className=\"openDropDown\"\n >\n <path\n d=\"M6 9.5L12 15.5L18 9.5\"\n stroke=\"#1D1D1F\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n ) : null}\n </div>\n <DropDown\n index={index}\n list={menuList}\n active={active}\n setActive={setActive}\n visible={visibleActive}\n setVisible={setVisibleActive}\n />\n </Text>\n <div className=\"lg-desktop:max-h-[196px] lg-desktop:max-w-[196px] max-h-[138px] max-w-[138px]\">\n <Picture\n source={findSku?.image?.url || ''}\n className=\"aspect-h-[280] aspect-w-[280]\"\n imgClassName=\"w-full h-full object-cover hover:scale-105 transition-all duration-300\"\n />\n </div>\n <div className=\"lg-desktop:text-2xl mb-2 mt-6 text-xl font-bold\">\n <div className=\"lg-desktop:min-h-[32px] flex min-h-[28px] items-center\">\n {findSku?.availableForSale ? (\n <>\n <div className=\"specs-sku-node-price text-[#080A0F]\">{price || ''}</div>\n {basePrice && (\n <div className=\"lg-desktop:text-2xl specs-sku-node-base-price ml-1 text-xl text-[#86868C] line-through\">\n {basePrice}\n </div>\n )}\n </>\n ) : null}\n </div>\n </div>\n {buttonTextValue ? (\n <Button\n onClick={() => {\n onChange?.(product, index)\n }}\n className=\"specs-sku-node-button\"\n >\n {buttonTextValue}\n </Button>\n ) : null}\n </div>\n )\n }\n\n const normalNode = (v: any) => {\n if (v && typeof v !== 'string') {\n return (\n <div className=\"size-full\">\n <p\n className=\"min-xxl:text-lg specs-normal-node-text text-base font-bold text-[#080A0F] md:text-sm\"\n dangerouslySetInnerHTML={{\n __html: v?.text || '',\n }}\n />\n <Picture\n source={v?.imgUrl}\n className=\"l:max-h-[174px] l:max-w-[174px] m-auto max-h-[360px] max-w-[360px]\"\n imgClassName=\"w-full h-full object-cover\"\n />\n </div>\n )\n }\n return (\n <div className=\"break-all\">\n {isImageUrl(v) ? (\n <Picture\n source={v}\n className=\"l:max-h-[174px] l:max-w-[174px] m-auto max-h-[360px] max-w-[360px]\"\n imgClassName=\"w-full h-full object-cover\"\n />\n ) : (\n <p\n className=\"min-xxl:text-lg specs-normal-node-text text-base font-bold text-[#080A0F] md:text-sm\"\n dangerouslySetInnerHTML={{\n __html: v || '',\n }}\n />\n )}\n </div>\n )\n }\n\n const productNode = (data: any) => {\n return data.map((st: any, idx: number) => {\n const isFirstParameter = idx === 0\n return (\n <div\n key={st}\n className={`l-tablet:flex l-tablet:flex-col box-border grid w-full cursor-pointer grid-cols-3 overflow-hidden border-t border-t-[#E4E5E6] ${isFirstParameter ? '' : ''} specs-product-node-wrap`}\n >\n <Heading\n as=\"h3\"\n html={st || ''}\n className=\"tablet:py-6 l-tablet:text-[#86868C] desktop:p-6 lg-desktop:text-lg specs-product-node-title mr-4 flex-1 pt-4 text-base font-bold md:text-sm\"\n />\n <div\n className={`l-tablet:w-full l-tablet:gap-4 laptop:gap-8 desktop:gap-12 desktop:p-6 lg-desktop:gap-16 grid-cols-${isShowMax ? 3 : 2} specs-product-node-body col-span-2 grid flex-1 py-6`}\n >\n {Object.keys(active)?.map?.((item: string) => {\n const currentData = active?.[item]\n const currentMenus = RightMenu?.menus?.find?.(\n (item: any) => item?.handle === currentData?.handle\n )?.subTitle\n return normalNode(currentMenus?.[st])\n })}\n </div>\n </div>\n )\n })\n }\n\n // \u5DE6\u4FA7\u6807\u9898\u83DC\u5355\n const childrenNode = (node: any) => {\n if (!active) return\n const { subTitle, isProduct } = node\n // \u5982\u679C\u662F\u4EA7\u54C1\n if (isProduct) {\n return (\n <>\n <div\n className={`l-tablet:flex l-tablet:flex-col specs-content-item-product box-border grid w-full cursor-pointer grid-cols-3 border-t-0 border-t-[#E4E5E6]`}\n >\n {node?.title && <Heading as=\"h3\" html={node?.title || ''} className=\"l:hidden specs-item-product-title\" />}\n <div\n className={`l-tablet:w-full l-tablet:gap-4 laptop:gap-8 desktop:gap-12 desktop:px-6 desktop:pb-6 lg-desktop:gap-16 grid-cols-${isShowMax ? 3 : 2} specs-item-product-body col-span-2 grid flex-1 pb-4 pr-0`}\n >\n {Object.keys(active)?.map((item: string, index: number) => {\n const currentData = active?.[item]\n const currentProduct = buildData?.products?.find?.((item: any) => item?.handle === currentData?.handle)\n return <div key={item}>{skuNode({ ...currentProduct, item: item, sku: currentData?.sku }, index)}</div>\n })}\n </div>\n </div>\n {subTitle?.length ? productNode(subTitle) : null}\n </>\n )\n }\n return productNode(subTitle)\n }\n\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n\n useEffect(() => {\n if (!buildData?.products?.length) return\n const skus = DefaultSelectMenu?.sku?.split?.(',') || []\n let currentActive = {}\n skus?.forEach?.((sku: string, index: number) => {\n const findData = buildData?.products?.find?.((item: any) => {\n const findSku = item?.variants?.find?.((v: any) => v?.sku === sku)\n if (findSku) return true\n })\n if (findData) {\n currentActive = {\n ...currentActive,\n [index]: {\n sku: sku,\n name: findData?.name || findData?.title,\n handle: findData?.handle,\n },\n }\n }\n })\n const currentMenu = buildData?.products?.filter((item: any) => {\n return RightMenu?.menus?.find((params: any) => params?.handle === item?.handle)\n })\n setActive(currentActive)\n setMenuList(currentMenu)\n setIsShowMax(skus?.length > 2)\n }, [buildData])\n\n useEffect(() => {\n if (isMobile) {\n const currentActive = Object.keys(active || {})\n if (currentActive?.length > 2) {\n const newActive = currentActive?.slice?.(0, 2)\n let newShowActive = {}\n newActive?.forEach?.((item: string) => {\n newShowActive = { ...newShowActive, [item]: active?.[item] }\n })\n setIsShowMax(false)\n setActive(newShowActive)\n }\n }\n }, [isMobile])\n\n return (\n <div className=\"specs-wrapper w-full overflow-hidden bg-[#F5F5F7]\" ref={innerRef}>\n {LeftMenu?.data ? (\n <div className=\"specs-wrapper-content box-border w-full overflow-hidden\">\n {LeftMenu?.data?.map?.((item: any, index: number) => {\n return (\n <div key={index} className=\"specs-wrapper-content-item w-full overflow-hidden pt-10 [&:first-child]:pt-0\">\n {childrenNode(item)}\n </div>\n )\n })}\n </div>\n ) : null}\n </div>\n )\n})\n\nSpecs.displayName = 'Specs'\n\nexport default withLayout(Specs)\n"],
5
+ "mappings": "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",
6
6
  "names": ["Specs_exports", "__export", "Specs_default", "__toCommonJS", "import_jsx_runtime", "import_dropdown", "import_AiuiProvider", "import_react_responsive", "import_react", "import_Styles", "import_shelfDisplay", "import_components", "Specs", "React", "page", "ref", "data", "buildData", "onChange", "onSecondaryChange", "isMobile", "active", "setActive", "menuList", "setMenuList", "isShowMax", "setIsShowMax", "visibleActive", "setVisibleActive", "innerRef", "locale", "currencyDisplay", "LeftMenu", "RightMenu", "DefaultSelectMenu", "isImageUrl", "urlPath", "path", "skuNode", "product", "index", "findSku", "item", "coupon", "price", "basePrice", "buttonTextValue", "DropDown", "normalNode", "v", "productNode", "st", "idx", "isFirstParameter", "currentData", "currentMenus", "childrenNode", "node", "subTitle", "isProduct", "currentProduct", "skus", "currentActive", "sku", "findData", "currentMenu", "params", "newActive", "newShowActive"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { SpecsComparisonProps } from './types.js';
3
- declare const _default: React.ForwardRefExoticComponent<Omit<Omit<SpecsComparisonProps & React.RefAttributes<HTMLDivElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
4
- className?: string;
5
- data?: Record<string, any>;
3
+ declare const _default: React.ForwardRefExoticComponent<Omit<SpecsComparisonProps & React.RefAttributes<HTMLDivElement> & {
4
+ style?: string | React.CSSProperties;
5
+ container?: import("../../shared/Styles.js").ContainerProps["container"];
6
6
  }, "ref"> & React.RefAttributes<any>>;
7
7
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { TabWithImageProps } from './types.js';
3
- declare const _default: React.ForwardRefExoticComponent<Omit<Omit<TabWithImageProps & React.RefAttributes<HTMLDivElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
4
- className?: string;
5
- data?: Record<string, any>;
3
+ declare const _default: React.ForwardRefExoticComponent<Omit<TabWithImageProps & React.RefAttributes<HTMLDivElement> & {
4
+ style?: string | React.CSSProperties;
5
+ container?: import("../../shared/Styles.js").ContainerProps["container"];
6
6
  }, "ref"> & React.RefAttributes<any>>;
7
7
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import type { TabsProps } from './types.js';
2
2
  import React from 'react';
3
- declare const _default: React.ForwardRefExoticComponent<Omit<Omit<TabsProps & React.RefAttributes<HTMLDivElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
4
- className?: string;
5
- data?: Record<string, any>;
3
+ declare const _default: React.ForwardRefExoticComponent<Omit<TabsProps & React.RefAttributes<HTMLDivElement> & {
4
+ style?: string | React.CSSProperties;
5
+ container?: import("../../shared/Styles.js").ContainerProps["container"];
6
6
  }, "ref"> & React.RefAttributes<any>>;
7
7
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import type { TabsGroupProps } from './types.js';
2
2
  import React from 'react';
3
- declare const _default: React.ForwardRefExoticComponent<Omit<Omit<TabsGroupProps & React.RefAttributes<HTMLDivElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
4
- className?: string;
5
- data?: Record<string, any>;
3
+ declare const _default: React.ForwardRefExoticComponent<Omit<TabsGroupProps & React.RefAttributes<HTMLDivElement> & {
4
+ style?: string | React.CSSProperties;
5
+ container?: import("../../shared/Styles.js").ContainerProps["container"];
6
6
  }, "ref"> & React.RefAttributes<any>>;
7
7
  export default _default;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { TabsWithMediaProps } from './types.js';
3
- declare const _default: React.ForwardRefExoticComponent<Omit<Omit<TabsWithMediaProps & React.RefAttributes<HTMLDivElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
4
- className?: string;
5
- data?: Record<string, any>;
3
+ declare const _default: React.ForwardRefExoticComponent<Omit<TabsWithMediaProps & React.RefAttributes<HTMLDivElement> & {
4
+ style?: string | React.CSSProperties;
5
+ container?: import("../../shared/Styles.js").ContainerProps["container"];
6
6
  }, "ref"> & React.RefAttributes<any>>;
7
7
  export default _default;
@@ -4,8 +4,8 @@ import 'swiper/css';
4
4
  import 'swiper/css/navigation';
5
5
  import 'swiper/css/pagination';
6
6
  import 'swiper/css/effect-coverflow';
7
- declare const _default: React.ForwardRefExoticComponent<Omit<Omit<ThreeDCarouselProps & React.RefAttributes<HTMLDivElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
8
- className?: string;
9
- data?: Record<string, any>;
7
+ declare const _default: React.ForwardRefExoticComponent<Omit<ThreeDCarouselProps & React.RefAttributes<HTMLDivElement> & {
8
+ style?: string | React.CSSProperties;
9
+ container?: import("../../shared/Styles.js").ContainerProps["container"];
10
10
  }, "ref"> & React.RefAttributes<any>>;
11
11
  export default _default;
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import type { CountdownConfig } from './types.js';
3
+ import type { Theme } from '../../types/props.js';
4
+ interface CountdownProps {
5
+ config: CountdownConfig;
6
+ className?: string;
7
+ onCountdownEnd?: () => void;
8
+ theme?: Theme;
9
+ }
10
+ /**
11
+ * Countdown - 倒计时组件
12
+ */
13
+ declare const Countdown: React.ForwardRefExoticComponent<CountdownProps & React.RefAttributes<HTMLDivElement>>;
14
+ export default Countdown;
@@ -0,0 +1,2 @@
1
+ "use strict";"use client";var S=Object.create;var p=Object.defineProperty;var D=Object.getOwnPropertyDescriptor;var V=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,F=Object.prototype.hasOwnProperty;var H=(e,t)=>{for(var s in t)p(e,s,{get:t[s],enumerable:!0})},v=(e,t,s,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let a of V(t))!F.call(e,a)&&a!==s&&p(e,a,{get:()=>t[a],enumerable:!(n=D(t,a))||n.enumerable});return e};var w=(e,t,s)=>(s=e!=null?S(j(e)):{},v(t||!e||!e.__esModule?p(s,"default",{value:e,enumerable:!0}):s,e)),I=e=>v(p({},"__esModule",{value:!0}),e);var U={};H(U,{default:()=>P});module.exports=I(U);var o=require("react/jsx-runtime"),i=w(require("react")),b=w(require("dayjs")),h=require("../../helpers/utils.js"),y=require("class-variance-authority");const T=e=>{const t=(0,b.default)(),n=(0,b.default)(e).diff(t,"second");if(n<=0)return{days:0,hours:0,minutes:0,seconds:0};const a=Math.floor(n/(24*60*60)),c=Math.floor(n%(24*60*60)/(60*60)),g=Math.floor(n%(60*60)/60),x=n%60;return{days:a,hours:c,minutes:g,seconds:x}},R=(0,y.cva)("lg-desktop:size-12 lg-desktop:px-1 flex size-10 flex-col items-center justify-center px-[2px] text-center",{variants:{theme:{light:"bg-info-primary",dark:"bg-[#f5f6f7]"}},defaultVariants:{theme:"light"}}),k=(0,y.cva)("",{variants:{theme:{light:"text-white",dark:"text-[#080A0F]"}},defaultVariants:{theme:"light"}}),z=({value:e,label:t,theme:s="light"})=>(0,o.jsxs)("div",{className:R({theme:s}),children:[(0,o.jsx)("p",{className:(0,h.cn)("lg-desktop:text-2xl text-[20px] font-bold leading-[1.2] tracking-[-0.96px]",k({theme:s})),children:String(e).padStart(2,"0")}),(0,o.jsx)("p",{className:(0,h.cn)("text-[12px] font-bold leading-[1.4] tracking-[-0.24px]",k({theme:s})),children:t})]}),E=()=>(0,o.jsx)("p",{className:"lg-desktop:text-2xl text-info-primary text-center text-xl font-bold leading-[1.2] tracking-[-0.96px]",children:":"}),C=i.default.forwardRef(({config:e,className:t,onCountdownEnd:s,theme:n="light"},a)=>{const{targetDate:c,showDays:g=!0,showHours:x=!0,showMinutes:L=!0,showSeconds:N=!0,labels:d={}}=e,[m,M]=(0,i.useState)(()=>T(c));(0,i.useEffect)(()=>{const u=setInterval(()=>{const r=T(c);M(r),r.days===0&&r.hours===0&&r.minutes===0&&r.seconds===0&&(s?.(),clearInterval(u))},1e3);return()=>clearInterval(u)},[c,s]);const f={days:d.days||"Day",hours:d.hours||"Hours",minutes:d.minutes||"Mins",seconds:d.seconds||"Secs"},l=[];return g&&l.push({value:m.days,label:f.days}),x&&l.push({value:m.hours,label:f.hours}),L&&l.push({value:m.minutes,label:f.minutes}),N&&l.push({value:m.seconds,label:f.seconds}),(0,o.jsx)("div",{ref:a,className:(0,h.cn)("flex items-center gap-1",t),children:l.map((u,r)=>(0,o.jsxs)(i.default.Fragment,{children:[(0,o.jsx)(z,{value:u.value,label:u.label,theme:n}),r<l.length-1&&(0,o.jsx)(E,{})]},u.label))})});C.displayName="Countdown";var P=C;
2
+ //# sourceMappingURL=Countdown.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/Title/Countdown.tsx"],
4
+ "sourcesContent": ["'use client'\nimport React, { useState, useEffect } from 'react'\nimport dayjs from 'dayjs'\nimport { cn } from '../../helpers/utils.js'\nimport { cva } from 'class-variance-authority'\nimport type { CountdownConfig } from './types.js'\nimport type { Theme } from '../../types/props.js'\n\ninterface CountdownProps {\n config: CountdownConfig\n className?: string\n onCountdownEnd?: () => void\n theme?: Theme\n}\n\ninterface TimeLeft {\n days: number\n hours: number\n minutes: number\n seconds: number\n}\n\n/**\n * \u8BA1\u7B97\u5269\u4F59\u65F6\u95F4\n */\nconst calculateTimeLeft = (targetDate: string): TimeLeft => {\n const now = dayjs()\n const target = dayjs(targetDate)\n const diff = target.diff(now, 'second')\n\n if (diff <= 0) {\n return { days: 0, hours: 0, minutes: 0, seconds: 0 }\n }\n\n const days = Math.floor(diff / (24 * 60 * 60))\n const hours = Math.floor((diff % (24 * 60 * 60)) / (60 * 60))\n const minutes = Math.floor((diff % (60 * 60)) / 60)\n const seconds = diff % 60\n\n return { days, hours, minutes, seconds }\n}\n\n/**\n * \u5012\u8BA1\u65F6\u6570\u5B57\u5757\u80CC\u666F\u8272\u6837\u5F0F\u53D8\u4F53\n */\nconst countdownUnitVariants = cva(\n 'lg-desktop:size-12 lg-desktop:px-1 flex size-10 flex-col items-center justify-center px-[2px] text-center',\n {\n variants: {\n theme: {\n light: 'bg-info-primary',\n dark: 'bg-[#f5f6f7]',\n },\n },\n defaultVariants: {\n theme: 'light',\n },\n }\n)\n\n/**\n * \u5012\u8BA1\u65F6\u6587\u5B57\u989C\u8272\u6837\u5F0F\u53D8\u4F53\n */\nconst countdownTextVariants = cva('', {\n variants: {\n theme: {\n light: 'text-white',\n dark: 'text-[#080A0F]',\n },\n },\n defaultVariants: {\n theme: 'light',\n },\n})\n\n/**\n * \u5012\u8BA1\u65F6\u6570\u5B57\u5757\u7EC4\u4EF6\n */\nconst CountdownUnit = ({ value, label, theme = 'light' }: { value: number; label: string; theme?: Theme }) => {\n return (\n <div className={countdownUnitVariants({ theme })}>\n <p\n className={cn(\n 'lg-desktop:text-2xl text-[20px] font-bold leading-[1.2] tracking-[-0.96px]',\n countdownTextVariants({ theme })\n )}\n >\n {String(value).padStart(2, '0')}\n </p>\n <p className={cn('text-[12px] font-bold leading-[1.4] tracking-[-0.24px]', countdownTextVariants({ theme }))}>\n {label}\n </p>\n </div>\n )\n}\n\n/**\n * \u5012\u8BA1\u65F6\u5206\u9694\u7B26\n */\nconst CountdownSeparator = () => {\n return (\n <p className=\"lg-desktop:text-2xl text-info-primary text-center text-xl font-bold leading-[1.2] tracking-[-0.96px]\">\n :\n </p>\n )\n}\n\n/**\n * Countdown - \u5012\u8BA1\u65F6\u7EC4\u4EF6\n */\nconst Countdown = React.forwardRef<HTMLDivElement, CountdownProps>(\n ({ config, className, onCountdownEnd, theme = 'light' }, ref) => {\n const {\n targetDate,\n showDays = true,\n showHours = true,\n showMinutes = true,\n showSeconds = true,\n labels = {},\n } = config\n\n const [timeLeft, setTimeLeft] = useState<TimeLeft>(() => calculateTimeLeft(targetDate))\n\n useEffect(() => {\n const timer = setInterval(() => {\n const newTimeLeft = calculateTimeLeft(targetDate)\n setTimeLeft(newTimeLeft)\n\n // \u68C0\u67E5\u5012\u8BA1\u65F6\u662F\u5426\u7ED3\u675F\n if (\n newTimeLeft.days === 0 &&\n newTimeLeft.hours === 0 &&\n newTimeLeft.minutes === 0 &&\n newTimeLeft.seconds === 0\n ) {\n onCountdownEnd?.()\n clearInterval(timer)\n }\n }, 1000)\n\n return () => clearInterval(timer)\n }, [targetDate, onCountdownEnd])\n\n const defaultLabels = {\n days: labels.days || 'Day',\n hours: labels.hours || 'Hours',\n minutes: labels.minutes || 'Mins',\n seconds: labels.seconds || 'Secs',\n }\n\n const units = []\n if (showDays) units.push({ value: timeLeft.days, label: defaultLabels.days })\n if (showHours) units.push({ value: timeLeft.hours, label: defaultLabels.hours })\n if (showMinutes) units.push({ value: timeLeft.minutes, label: defaultLabels.minutes })\n if (showSeconds) units.push({ value: timeLeft.seconds, label: defaultLabels.seconds })\n\n return (\n <div ref={ref} className={cn('flex items-center gap-1', className)}>\n {units.map((unit, index) => (\n <React.Fragment key={unit.label}>\n <CountdownUnit value={unit.value} label={unit.label} theme={theme} />\n {index < units.length - 1 && <CountdownSeparator />}\n </React.Fragment>\n ))}\n </div>\n )\n }\n)\n\nCountdown.displayName = 'Countdown'\n\nexport default Countdown\n"],
5
+ "mappings": "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",
6
+ "names": ["Countdown_exports", "__export", "Countdown_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_dayjs", "import_utils", "import_class_variance_authority", "calculateTimeLeft", "targetDate", "now", "dayjs", "diff", "days", "hours", "minutes", "seconds", "countdownUnitVariants", "countdownTextVariants", "CountdownUnit", "value", "label", "theme", "CountdownSeparator", "Countdown", "React", "config", "className", "onCountdownEnd", "ref", "showDays", "showHours", "showMinutes", "showSeconds", "labels", "timeLeft", "setTimeLeft", "timer", "newTimeLeft", "defaultLabels", "units", "unit", "index"]
7
+ }
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { TitleProps } from './types.js';
3
- declare const _default: React.ForwardRefExoticComponent<Omit<Omit<TitleProps & React.RefAttributes<HTMLDivElement>, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
4
- className?: string;
5
- data?: Record<string, any>;
3
+ declare const _default: React.ForwardRefExoticComponent<Omit<TitleProps & React.RefAttributes<HTMLDivElement> & {
4
+ style?: string | React.CSSProperties;
5
+ container?: import("../../shared/Styles.js").ContainerProps["container"];
6
6
  }, "ref"> & React.RefAttributes<any>>;
7
7
  export default _default;
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var G=Object.create;var p=Object.defineProperty;var J=Object.getOwnPropertyDescriptor;var K=Object.getOwnPropertyNames;var Q=Object.getPrototypeOf,X=Object.prototype.hasOwnProperty;var Y=(t,e)=>{for(var n in e)p(t,n,{get:e[n],enumerable:!0})},M=(t,e,n,c)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of K(e))!X.call(t,o)&&o!==n&&p(t,o,{get:()=>e[o],enumerable:!(c=J(e,o))||c.enumerable});return t};var Z=(t,e,n)=>(n=t!=null?G(Q(t)):{},M(e||!t||!t.__esModule?p(n,"default",{value:t,enumerable:!0}):n,t)),tt=t=>M(p({},"__esModule",{value:!0}),t);var rt={};Y(rt,{default:()=>et});module.exports=tt(rt);var i=require("react/jsx-runtime"),r=Z(require("react")),d=require("gsap"),v=require("gsap/dist/SplitText"),T=require("gsap/dist/ScrollTrigger"),k=require("../../helpers/utils.js"),P=require("../../components/index.js"),S=require("../../shared/Styles.js"),D=require("../../shared/trackUrlRef.js"),I=require("react-intersection-observer");const E="link",$="title",z=r.default.forwardRef(({data:t,className:e,as:n="h2",weight:c="bold"},o)=>{const{title:f,caption:u,theme:b,extensions:m,align:g="left"}=t,y=(0,r.useRef)(null),l=(0,r.useRef)(null),s=(0,r.useRef)(null),a=(0,r.useRef)(null),{ref:V,inView:L}=(0,I.useInView)();return(0,r.useImperativeHandle)(o,()=>y.current),(0,r.useEffect)(()=>{d.gsap.registerPlugin(v.SplitText,T.ScrollTrigger);function B(){if(!l.current)return;const U=l.current?.clientHeight||80;s.current&&s.current.revert(),a.current&&a.current.kill(),s.current=new v.SplitText(l.current,{type:"words",wordsClass:"word"});const h=s.current.words;d.gsap.set(h,{opacity:0}),a.current=T.ScrollTrigger.create({trigger:l.current,start:"bottom bottom-=4%",end:`bottom+=${U*1.5+60}px bottom-=4%`,scrub:!0,invalidateOnRefresh:!0,onUpdate:j=>{const A=j.progress,R=h.length||1,C=.5,w=1/R,N=w*(1-C),H=(R-1)*N+w,F=Math.min(1,H>0?A/H:0);h.forEach((O,W)=>{const _=W*N,q=w;let x=(F-_)/q;x=Math.max(0,Math.min(1,x)),d.gsap.set(O,{opacity:x})})}})}return L&&B(),()=>{s.current&&s.current.revert(),a.current&&a.current.kill()}},[L]),(f||u)&&(0,i.jsxs)("div",{id:m?.id,className:"titleBottom title-box laptop:flex-row laptop:justify-between laptop:items-end mb-6 flex flex-col gap-2",ref:y,children:[(0,i.jsx)("div",{ref:V,className:(0,k.cn)("flex-1 space-y-4",e,{"aiui-dark":b==="dark","text-center":g==="center","text-right":g==="right","text-left":g==="left"}),children:(0,i.jsx)(P.Heading,{ref:l,as:n,size:4,html:u||f,weight:c})}),m?.textLink&&(0,i.jsxs)("a",{className:(0,k.cn)({"aiui-dark":b==="dark"},"flex items-center overflow-hidden text-base font-[700] leading-[1.4] text-[#777] transition-all duration-[0.4s] hover:text-[#080A0F]"),href:(0,D.trackUrlRef)(m?.link,`${E}_${$}`),"data-headless-type-name":`${E}#${$}`,"data-headless-title-desc-button":`${f}#${u}`,children:[(0,i.jsx)("div",{className:" laptop:flex-1 truncate whitespace-nowrap",children:m?.textLink}),(0,i.jsx)("div",{className:"size-6",children:(0,i.jsx)("svg",{width:"24",height:"24",className:"mb-[3px]",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",children:(0,i.jsx)("path",{className:"transition-all duration-[0.4s]",d:"M10.5 8L14.5 12L10.5 16",stroke:"#777",strokeWidth:"1.5",strokeLinecap:"round"})})})]})]})});z.displayName="Title";var et=(0,S.withLayout)(z);
1
+ "use strict";"use client";var rt=Object.create;var h=Object.defineProperty;var st=Object.getOwnPropertyDescriptor;var it=Object.getOwnPropertyNames;var ot=Object.getPrototypeOf,at=Object.prototype.hasOwnProperty;var lt=(t,e)=>{for(var n in e)h(t,n,{get:e[n],enumerable:!0})},M=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of it(e))!at.call(t,i)&&i!==n&&h(t,i,{get:()=>e[i],enumerable:!(o=st(e,i))||o.enumerable});return t};var C=(t,e,n)=>(n=t!=null?rt(ot(t)):{},M(e||!t||!t.__esModule?h(n,"default",{value:t,enumerable:!0}):n,t)),ct=t=>M(h({},"__esModule",{value:!0}),t);var ft={};lt(ft,{default:()=>ut});module.exports=ct(ft);var r=require("react/jsx-runtime"),s=C(require("react")),g=require("gsap"),b=require("gsap/dist/SplitText"),T=require("gsap/dist/ScrollTrigger"),a=require("../../helpers/utils.js"),F=require("class-variance-authority"),x=require("../../components/index.js"),z=require("../../shared/Styles.js"),A=require("../../shared/trackUrlRef.js"),I=require("react-intersection-observer"),B=C(require("./Countdown.js"));const $="link",P="title",dt=(0,F.cva)("",{variants:{theme:{light:"text-[#080A0F]",dark:"text-[#F5F6F7]"}},defaultVariants:{theme:"light"}}),mt=(0,F.cva)("desktop:text-base desktop:mt-2 lg-desktop:text-[18px] mt-1 text-[14px] font-bold leading-[1.4] tracking-[-0.36px]",{variants:{theme:{light:"text-[#080A0F]",dark:"text-[#F5F6F7]"}},defaultVariants:{theme:"light"}}),S=({data:t,className:e})=>{const{theme:n="light",extensions:o,title:i,caption:f,align:c}=t;return o?.textLink?(0,r.jsxs)("a",{className:(0,a.cn)({"aiui-dark":n==="dark"},"hover:text-brand-0 [&_svg_path]:hover:stroke-brand-0 flex items-center overflow-hidden text-base font-[700] leading-[1.4] transition-all duration-[0.4s]",{"text-[#080A0F]":n==="light"},{"text-[#F5F6F7]":n==="dark"},{"justify-center":c==="center"},e),href:(0,A.trackUrlRef)(o?.link,`${$}_${P}`),"data-headless-type-name":`${$}#${P}`,"data-headless-title-desc-button":`${i}#${f}`,children:[(0,r.jsx)("div",{className:(0,a.cn)("flex-1 truncate whitespace-nowrap",{"flex-none":c==="center"}),children:o?.textLink}),(0,r.jsx)("div",{className:"size-6",children:(0,r.jsx)("svg",{width:"24",height:"24",className:"mb-[3px]",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",children:(0,r.jsx)("path",{className:"transition-all duration-[0.4s]",d:"M10.5 8L14.5 12L10.5 16",stroke:n==="dark"?"#F5F6F7":"#080A0F",strokeWidth:"1.5",strokeLinecap:"round"})})})]}):null},j=s.default.forwardRef(({data:t,className:e,as:n="h2",weight:o="bold"},i)=>{const{title:f,caption:c,subtitle:y,countdown:N,showCountdown:D=!1,theme:p="light",extensions:_,align:d="left"}=t,L=(0,s.useRef)(null),m=(0,s.useRef)(null),l=(0,s.useRef)(null),u=(0,s.useRef)(null),[U,O]=(0,s.useState)(!0),{ref:W,inView:R}=(0,I.useInView)();(0,s.useImperativeHandle)(i,()=>L.current);const q=()=>{O(!1)};return(0,s.useEffect)(()=>{g.gsap.registerPlugin(b.SplitText,T.ScrollTrigger);function G(){if(!m.current)return;const J=m.current?.clientHeight||80;l.current&&l.current.revert(),u.current&&u.current.kill(),l.current=new b.SplitText(m.current,{type:"words",wordsClass:"word"});const w=l.current.words;g.gsap.set(w,{opacity:0}),u.current=T.ScrollTrigger.create({trigger:m.current,start:"bottom bottom-=4%",end:`bottom+=${J*1.5+60}px bottom-=4%`,scrub:!0,invalidateOnRefresh:!0,onUpdate:K=>{const Q=K.progress,E=w.length||1,X=.5,v=1/E,H=v*(1-X),V=(E-1)*H+v,Y=Math.min(1,V>0?Q/V:0);w.forEach((Z,tt)=>{const et=tt*H,nt=v;let k=(Y-et)/nt;k=Math.max(0,Math.min(1,k)),g.gsap.set(Z,{opacity:k})})}})}return R&&G(),()=>{l.current&&l.current.revert(),u.current&&u.current.kill()}},[R]),(f||c)&&(0,r.jsxs)("div",{id:_?.id,className:"titleBottom title-box mb-6 flex items-end justify-between gap-2",ref:L,children:[(0,r.jsxs)("div",{ref:W,className:(0,a.cn)("flex-1",e,{"aiui-dark":p==="dark","text-center":d==="center","text-left":d==="left"}),children:[(0,r.jsx)(x.Heading,{ref:m,as:n,size:4,html:c||f,weight:o,className:dt({theme:p})}),y&&(0,r.jsx)(x.Text,{html:y,as:"p",className:mt({theme:p})}),(0,r.jsx)(S,{data:t,className:(0,a.cn)({hidden:d==="left"})}),D&&N&&U&&(0,r.jsx)(B.default,{className:(0,a.cn)("mt-4 justify-start",{"justify-center":d==="center"}),config:N,onCountdownEnd:q,theme:p})]}),(0,r.jsx)(S,{data:t,className:(0,a.cn)({hidden:d==="center"})})]})});j.displayName="Title";var ut=(0,z.withLayout)(j);
2
2
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/Title/index.tsx"],
4
- "sourcesContent": ["'use client'\nimport React, { useEffect, useRef, useImperativeHandle } from 'react'\nimport { gsap } from 'gsap'\nimport { SplitText } from 'gsap/dist/SplitText'\nimport { ScrollTrigger } from 'gsap/dist/ScrollTrigger'\nimport { cn } from '../../helpers/utils.js'\nimport { Heading } from '../../components/index.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport type { TitleProps } from './types.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport { useInView } from 'react-intersection-observer'\n\nconst componentType = 'link'\nconst componentName = 'title'\n\nconst Title = React.forwardRef<HTMLDivElement, TitleProps>(({ data, className, as = 'h2', weight = 'bold' }, ref) => {\n const { title, caption, theme, extensions, align = 'left' } = data\n const innerRef = useRef<HTMLDivElement>(null)\n const titleRef = useRef<HTMLHeadingElement>(null)\n const splitTextInstance = useRef<SplitText | null>(null)\n const scrollTriggerRef = useRef<ScrollTrigger | null>(null)\n\n const { ref: inViewRef, inView } = useInView()\n\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n\n useEffect(() => {\n gsap.registerPlugin(SplitText, ScrollTrigger)\n function gsapResize() {\n if (!titleRef.current) return\n const height = titleRef.current?.clientHeight || 80\n if (splitTextInstance.current) {\n splitTextInstance.current.revert()\n }\n if (scrollTriggerRef.current) {\n scrollTriggerRef.current.kill()\n }\n splitTextInstance.current = new SplitText(titleRef.current, {\n type: 'words',\n wordsClass: 'word',\n })\n const words = splitTextInstance.current.words\n gsap.set(words, { opacity: 0 })\n scrollTriggerRef.current = ScrollTrigger.create({\n trigger: titleRef.current,\n start: 'bottom bottom-=4%',\n end: `bottom+=${height * 1.5 + 60}px bottom-=4%`,\n scrub: true,\n invalidateOnRefresh: true,\n onUpdate: (self: any) => {\n const progress = self.progress\n const total = words.length || 1\n const overlap = 0.5\n const interval = 1 / total\n const step = interval * (1 - overlap)\n const lastEnd = (total - 1) * step + interval\n const normalizedProgress = Math.min(1, lastEnd > 0 ? progress / lastEnd : 0)\n words.forEach((word: any, i: number) => {\n const start = i * step\n const width = interval\n let opacity = (normalizedProgress - start) / width\n opacity = Math.max(0, Math.min(1, opacity))\n gsap.set(word, { opacity })\n })\n },\n })\n }\n\n if (inView) {\n gsapResize()\n }\n\n return () => {\n splitTextInstance.current && splitTextInstance.current.revert()\n // ScrollTrigger.getAll().forEach((t: { kill: () => any }) => t.kill())\n scrollTriggerRef.current && scrollTriggerRef.current.kill()\n }\n }, [inView])\n\n return (\n (title || caption) && (\n <div\n id={extensions?.id}\n className=\"titleBottom title-box laptop:flex-row laptop:justify-between laptop:items-end mb-6 flex flex-col gap-2\"\n ref={innerRef}\n >\n <div\n ref={inViewRef}\n className={cn('flex-1 space-y-4', className, {\n 'aiui-dark': theme === 'dark',\n 'text-center': align === 'center',\n 'text-right': align === 'right',\n 'text-left': align === 'left',\n })}\n >\n <Heading ref={titleRef} as={as} size={4} html={caption || title} weight={weight} />\n </div>\n {extensions?.textLink && (\n <a\n className={cn(\n { 'aiui-dark': theme === 'dark' },\n 'flex items-center overflow-hidden text-base font-[700] leading-[1.4] text-[#777] transition-all duration-[0.4s] hover:text-[#080A0F]'\n )}\n href={trackUrlRef(extensions?.link, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${title}#${caption}`}\n >\n <div className=\" laptop:flex-1 truncate whitespace-nowrap\">{extensions?.textLink}</div>\n <div className=\"size-6\">\n <svg\n width=\"24\"\n height=\"24\"\n className=\"mb-[3px]\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n className=\"transition-all duration-[0.4s]\"\n d=\"M10.5 8L14.5 12L10.5 16\"\n stroke=\"#777\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n ></path>\n </svg>\n </div>\n </a>\n )}\n </div>\n )\n )\n})\n\nTitle.displayName = 'Title'\n\nexport default withLayout(Title)\n"],
5
- "mappings": "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",
6
- "names": ["Title_exports", "__export", "Title_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_gsap", "import_SplitText", "import_ScrollTrigger", "import_utils", "import_components", "import_Styles", "import_trackUrlRef", "import_react_intersection_observer", "componentType", "componentName", "Title", "React", "data", "className", "as", "weight", "ref", "title", "caption", "theme", "extensions", "align", "innerRef", "titleRef", "splitTextInstance", "scrollTriggerRef", "inViewRef", "inView", "gsapResize", "height", "words", "self", "progress", "total", "overlap", "interval", "step", "lastEnd", "normalizedProgress", "word", "i", "start", "width", "opacity"]
4
+ "sourcesContent": ["'use client'\nimport React, { useEffect, useRef, useImperativeHandle, useState } from 'react'\nimport { gsap } from 'gsap'\nimport { SplitText } from 'gsap/dist/SplitText'\nimport { ScrollTrigger } from 'gsap/dist/ScrollTrigger'\nimport { cn } from '../../helpers/utils.js'\nimport { cva } from 'class-variance-authority'\nimport { Heading, Text } from '../../components/index.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport type { TitleProps } from './types.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport { useInView } from 'react-intersection-observer'\nimport Countdown from './Countdown.js'\n\nconst componentType = 'link'\nconst componentName = 'title'\n\n/**\n * \u6807\u9898\u6837\u5F0F\u53D8\u4F53\n */\nconst titleHeadingVariants = cva('', {\n variants: {\n theme: {\n light: 'text-[#080A0F]',\n dark: 'text-[#F5F6F7]',\n },\n },\n defaultVariants: {\n theme: 'light',\n },\n})\n\n/**\n * \u526F\u6807\u9898\u6837\u5F0F\u53D8\u4F53\n */\nconst subtitleVariants = cva(\n 'desktop:text-base desktop:mt-2 lg-desktop:text-[18px] mt-1 text-[14px] font-bold leading-[1.4] tracking-[-0.36px]',\n {\n variants: {\n theme: {\n light: 'text-[#080A0F]',\n dark: 'text-[#F5F6F7]',\n },\n },\n defaultVariants: {\n theme: 'light',\n },\n }\n)\n\nconst TitleButton = ({ data, className }: { data: TitleProps['data']; className?: string }) => {\n const { theme = 'light', extensions, title, caption, align } = data\n if (!extensions?.textLink) return null\n return (\n <a\n className={cn(\n { 'aiui-dark': theme === 'dark' },\n 'hover:text-brand-0 [&_svg_path]:hover:stroke-brand-0 flex items-center overflow-hidden text-base font-[700] leading-[1.4] transition-all duration-[0.4s]',\n { 'text-[#080A0F]': theme === 'light' },\n { 'text-[#F5F6F7]': theme === 'dark' },\n { 'justify-center': align === 'center' },\n className\n )}\n href={trackUrlRef(extensions?.link, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${title}#${caption}`}\n >\n <div\n className={cn('flex-1 truncate whitespace-nowrap', {\n 'flex-none': align === 'center',\n })}\n >\n {extensions?.textLink}\n </div>\n <div className=\"size-6\">\n <svg\n width=\"24\"\n height=\"24\"\n className=\"mb-[3px]\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n >\n <path\n className=\"transition-all duration-[0.4s]\"\n d=\"M10.5 8L14.5 12L10.5 16\"\n stroke={theme === 'dark' ? '#F5F6F7' : '#080A0F'}\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n ></path>\n </svg>\n </div>\n </a>\n )\n}\n\nconst Title = React.forwardRef<HTMLDivElement, TitleProps>(({ data, className, as = 'h2', weight = 'bold' }, ref) => {\n const {\n title,\n caption,\n subtitle,\n countdown,\n showCountdown = false,\n theme = 'light',\n extensions,\n align = 'left',\n } = data\n const innerRef = useRef<HTMLDivElement>(null)\n const titleRef = useRef<HTMLHeadingElement>(null)\n const splitTextInstance = useRef<SplitText | null>(null)\n const scrollTriggerRef = useRef<ScrollTrigger | null>(null)\n\n // \u63A7\u5236\u5012\u8BA1\u65F6\u663E\u793A\u72B6\u6001\n const [isCountdownVisible, setIsCountdownVisible] = useState(true)\n\n const { ref: inViewRef, inView } = useInView()\n\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n\n // \u5012\u8BA1\u65F6\u7ED3\u675F\u56DE\u8C03\n const handleCountdownEnd = () => {\n setIsCountdownVisible(false)\n }\n\n useEffect(() => {\n gsap.registerPlugin(SplitText, ScrollTrigger)\n function gsapResize() {\n if (!titleRef.current) return\n const height = titleRef.current?.clientHeight || 80\n if (splitTextInstance.current) {\n splitTextInstance.current.revert()\n }\n if (scrollTriggerRef.current) {\n scrollTriggerRef.current.kill()\n }\n splitTextInstance.current = new SplitText(titleRef.current, {\n type: 'words',\n wordsClass: 'word',\n })\n const words = splitTextInstance.current.words\n gsap.set(words, { opacity: 0 })\n scrollTriggerRef.current = ScrollTrigger.create({\n trigger: titleRef.current,\n start: 'bottom bottom-=4%',\n end: `bottom+=${height * 1.5 + 60}px bottom-=4%`,\n scrub: true,\n invalidateOnRefresh: true,\n onUpdate: (self: any) => {\n const progress = self.progress\n const total = words.length || 1\n const overlap = 0.5\n const interval = 1 / total\n const step = interval * (1 - overlap)\n const lastEnd = (total - 1) * step + interval\n const normalizedProgress = Math.min(1, lastEnd > 0 ? progress / lastEnd : 0)\n words.forEach((word: any, i: number) => {\n const start = i * step\n const width = interval\n let opacity = (normalizedProgress - start) / width\n opacity = Math.max(0, Math.min(1, opacity))\n gsap.set(word, { opacity })\n })\n },\n })\n }\n\n if (inView) {\n gsapResize()\n }\n\n return () => {\n splitTextInstance.current && splitTextInstance.current.revert()\n // ScrollTrigger.getAll().forEach((t: { kill: () => any }) => t.kill())\n scrollTriggerRef.current && scrollTriggerRef.current.kill()\n }\n }, [inView])\n\n return (\n (title || caption) && (\n <div\n id={extensions?.id}\n className=\"titleBottom title-box mb-6 flex items-end justify-between gap-2\"\n ref={innerRef}\n >\n <div\n ref={inViewRef}\n className={cn('flex-1', className, {\n 'aiui-dark': theme === 'dark',\n 'text-center': align === 'center',\n 'text-left': align === 'left',\n })}\n >\n <Heading\n ref={titleRef}\n as={as}\n size={4}\n html={caption || title}\n weight={weight}\n className={titleHeadingVariants({ theme })}\n />\n {subtitle && <Text html={subtitle} as=\"p\" className={subtitleVariants({ theme })} />}\n <TitleButton data={data} className={cn({ hidden: align === 'left' })} />\n {showCountdown && countdown && isCountdownVisible && (\n <Countdown\n className={cn('mt-4 justify-start', {\n 'justify-center': align === 'center',\n })}\n config={countdown}\n onCountdownEnd={handleCountdownEnd}\n theme={theme}\n />\n )}\n </div>\n <TitleButton data={data} className={cn({ hidden: align === 'center' })} />\n </div>\n )\n )\n})\n\nTitle.displayName = 'Title'\n\nexport default withLayout(Title)\n"],
5
+ "mappings": "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",
6
+ "names": ["Title_exports", "__export", "Title_default", "__toCommonJS", "import_jsx_runtime", "import_react", "import_gsap", "import_SplitText", "import_ScrollTrigger", "import_utils", "import_class_variance_authority", "import_components", "import_Styles", "import_trackUrlRef", "import_react_intersection_observer", "import_Countdown", "componentType", "componentName", "titleHeadingVariants", "subtitleVariants", "TitleButton", "data", "className", "theme", "extensions", "title", "caption", "align", "Title", "React", "as", "weight", "ref", "subtitle", "countdown", "showCountdown", "innerRef", "titleRef", "splitTextInstance", "scrollTriggerRef", "isCountdownVisible", "setIsCountdownVisible", "inViewRef", "inView", "handleCountdownEnd", "gsapResize", "height", "words", "self", "progress", "total", "overlap", "interval", "step", "lastEnd", "normalizedProgress", "word", "i", "start", "width", "opacity", "Countdown"]
7
7
  }
@@ -5,6 +5,44 @@ export interface Feature {
5
5
  */
6
6
  title: string;
7
7
  }
8
+ /**
9
+ * 倒计时配置
10
+ */
11
+ export interface CountdownConfig {
12
+ /**
13
+ * 倒计时目标时间(ISO 8601 格式或任何 dayjs 支持的格式)
14
+ */
15
+ targetDate: string;
16
+ /**
17
+ * 是否显示天数
18
+ * @default true
19
+ */
20
+ showDays?: boolean;
21
+ /**
22
+ * 是否显示小时
23
+ * @default true
24
+ */
25
+ showHours?: boolean;
26
+ /**
27
+ * 是否显示分钟
28
+ * @default true
29
+ */
30
+ showMinutes?: boolean;
31
+ /**
32
+ * 是否显示秒数
33
+ * @default true
34
+ */
35
+ showSeconds?: boolean;
36
+ /**
37
+ * 自定义标签文本
38
+ */
39
+ labels?: {
40
+ days?: string;
41
+ hours?: string;
42
+ minutes?: string;
43
+ seconds?: string;
44
+ };
45
+ }
8
46
  export interface TitleProps {
9
47
  data: {
10
48
  /**
@@ -12,6 +50,19 @@ export interface TitleProps {
12
50
  */
13
51
  title?: string;
14
52
  caption?: string;
53
+ /**
54
+ * 副标题
55
+ */
56
+ subtitle?: string;
57
+ /**
58
+ * 倒计时配置
59
+ */
60
+ countdown?: CountdownConfig;
61
+ /**
62
+ * 是否显示倒计时
63
+ * @default false
64
+ */
65
+ showCountdown?: boolean;
15
66
  /**
16
67
  * 特性列表,最多支持3个
17
68
  */
@@ -24,6 +75,10 @@ export interface TitleProps {
24
75
  * 扩展数据
25
76
  */
26
77
  extensions?: any;
78
+ /**
79
+ * 对齐方式
80
+ * @default 'left'
81
+ */
27
82
  align?: 'left' | 'center' | 'right';
28
83
  };
29
84
  weight?: 'medium' | 'semibold' | 'bold' | 'extraBold' | 'black';