@anker-in/headless-ui 1.0.19 → 1.0.20-alpha.1761027154344

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 (615) hide show
  1. package/dist/cjs/biz-components/AccordionCards/index.js.map +2 -2
  2. package/dist/cjs/biz-components/AiuiProvider/index.d.ts +4 -0
  3. package/dist/cjs/biz-components/AiuiProvider/index.js +1 -1
  4. package/dist/cjs/biz-components/AiuiProvider/index.js.map +2 -2
  5. package/dist/cjs/biz-components/AplusDesc/index.d.ts +22 -0
  6. package/dist/cjs/biz-components/AplusDesc/index.js +2 -0
  7. package/dist/cjs/biz-components/AplusDesc/index.js.map +7 -0
  8. package/dist/cjs/biz-components/CollectionShelves/CollectionShelvesItem.d.ts +4 -0
  9. package/dist/cjs/biz-components/CollectionShelves/CollectionShelvesItem.js +2 -0
  10. package/dist/cjs/biz-components/CollectionShelves/CollectionShelvesItem.js.map +7 -0
  11. package/dist/cjs/biz-components/CollectionShelves/index.d.ts +6 -0
  12. package/dist/cjs/biz-components/CollectionShelves/index.js +2 -0
  13. package/dist/cjs/biz-components/CollectionShelves/index.js.map +7 -0
  14. package/dist/cjs/biz-components/CollectionsBanner/index.d.ts +7 -0
  15. package/dist/cjs/biz-components/CollectionsBanner/index.js +2 -0
  16. package/dist/cjs/biz-components/CollectionsBanner/index.js.map +7 -0
  17. package/dist/cjs/biz-components/CollectionsBanner/types.d.ts +43 -0
  18. package/dist/cjs/biz-components/CollectionsBanner/types.js +2 -0
  19. package/dist/cjs/biz-components/CollectionsBanner/types.js.map +7 -0
  20. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.d.ts +17 -0
  21. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.js +2 -0
  22. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.js.map +7 -0
  23. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrapItem.d.ts +10 -0
  24. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrapItem.js +2 -0
  25. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrapItem.js.map +7 -0
  26. package/dist/cjs/biz-components/CollectionsFilters/FilterHeader.d.ts +13 -0
  27. package/dist/cjs/biz-components/CollectionsFilters/FilterHeader.js +2 -0
  28. package/dist/cjs/biz-components/CollectionsFilters/FilterHeader.js.map +7 -0
  29. package/dist/cjs/biz-components/CollectionsFilters/FilterList.d.ts +14 -0
  30. package/dist/cjs/biz-components/CollectionsFilters/FilterList.js +2 -0
  31. package/dist/cjs/biz-components/CollectionsFilters/FilterList.js.map +7 -0
  32. package/dist/cjs/biz-components/CollectionsFilters/component/AnimatedUL.d.ts +5 -0
  33. package/dist/cjs/biz-components/CollectionsFilters/component/AnimatedUL.js +2 -0
  34. package/dist/cjs/biz-components/CollectionsFilters/component/AnimatedUL.js.map +7 -0
  35. package/dist/cjs/biz-components/CollectionsFilters/component/TabFilter.d.ts +12 -0
  36. package/dist/cjs/biz-components/CollectionsFilters/component/TabFilter.js +2 -0
  37. package/dist/cjs/biz-components/CollectionsFilters/component/TabFilter.js.map +7 -0
  38. package/dist/cjs/biz-components/CollectionsFilters/component/filtersFun.d.ts +12 -0
  39. package/dist/cjs/biz-components/CollectionsFilters/component/filtersFun.js +2 -0
  40. package/dist/cjs/biz-components/CollectionsFilters/component/filtersFun.js.map +7 -0
  41. package/dist/cjs/biz-components/CollectionsFilters/component/helper.d.ts +81 -0
  42. package/dist/cjs/biz-components/CollectionsFilters/component/helper.js +2 -0
  43. package/dist/cjs/biz-components/CollectionsFilters/component/helper.js.map +7 -0
  44. package/dist/cjs/biz-components/CollectionsFilters/component/price.d.ts +25 -0
  45. package/dist/cjs/biz-components/CollectionsFilters/component/price.js +2 -0
  46. package/dist/cjs/biz-components/CollectionsFilters/component/price.js.map +7 -0
  47. package/dist/cjs/biz-components/CollectionsFilters/component/priceProps.d.ts +215 -0
  48. package/dist/cjs/biz-components/CollectionsFilters/component/priceProps.js +2 -0
  49. package/dist/cjs/biz-components/CollectionsFilters/component/priceProps.js.map +7 -0
  50. package/dist/cjs/biz-components/CollectionsFilters/index.d.ts +22 -0
  51. package/dist/cjs/biz-components/CollectionsFilters/index.js +2 -0
  52. package/dist/cjs/biz-components/CollectionsFilters/index.js.map +7 -0
  53. package/dist/cjs/biz-components/DownLoad/index.d.ts +20 -0
  54. package/dist/cjs/biz-components/DownLoad/index.js +2 -0
  55. package/dist/cjs/biz-components/DownLoad/index.js.map +7 -0
  56. package/dist/cjs/biz-components/Faq/Faq.js +1 -1
  57. package/dist/cjs/biz-components/Faq/Faq.js.map +2 -2
  58. package/dist/cjs/biz-components/Features/index.d.ts +26 -0
  59. package/dist/cjs/biz-components/Features/index.js +2 -0
  60. package/dist/cjs/biz-components/Features/index.js.map +7 -0
  61. package/dist/cjs/biz-components/FootCharger/index.d.ts +12 -0
  62. package/dist/cjs/biz-components/FootCharger/index.js +2 -0
  63. package/dist/cjs/biz-components/FootCharger/index.js.map +7 -0
  64. package/dist/cjs/biz-components/FooterNavigation/index.js +1 -1
  65. package/dist/cjs/biz-components/FooterNavigation/index.js.map +3 -3
  66. package/dist/cjs/biz-components/FooterNavigation/types.d.ts +2 -1
  67. package/dist/cjs/biz-components/FooterNavigation/types.js +1 -1
  68. package/dist/cjs/biz-components/FooterNavigation/types.js.map +2 -2
  69. package/dist/cjs/biz-components/GiftBox/index.d.ts +17 -0
  70. package/dist/cjs/biz-components/GiftBox/index.js +2 -0
  71. package/dist/cjs/biz-components/GiftBox/index.js.map +7 -0
  72. package/dist/cjs/biz-components/Graphic/index.js +1 -1
  73. package/dist/cjs/biz-components/Graphic/index.js.map +2 -2
  74. package/dist/cjs/biz-components/GraphicMore/index.d.ts +22 -0
  75. package/dist/cjs/biz-components/GraphicMore/index.js +2 -0
  76. package/dist/cjs/biz-components/GraphicMore/index.js.map +7 -0
  77. package/dist/cjs/biz-components/HeaderNavigation/NavProvider.d.ts +6 -5
  78. package/dist/cjs/biz-components/HeaderNavigation/NavProvider.js +1 -1
  79. package/dist/cjs/biz-components/HeaderNavigation/NavProvider.js.map +3 -3
  80. package/dist/cjs/biz-components/HeaderNavigation/icons/Polygon.d.ts +3 -0
  81. package/dist/cjs/biz-components/HeaderNavigation/icons/Polygon.js +2 -0
  82. package/dist/cjs/biz-components/HeaderNavigation/icons/Polygon.js.map +7 -0
  83. package/dist/cjs/biz-components/HeaderNavigation/icons/index.d.ts +2 -1
  84. package/dist/cjs/biz-components/HeaderNavigation/icons/index.js +1 -1
  85. package/dist/cjs/biz-components/HeaderNavigation/icons/index.js.map +3 -3
  86. package/dist/cjs/biz-components/HeaderNavigation/index.js +1 -1
  87. package/dist/cjs/biz-components/HeaderNavigation/index.js.map +3 -3
  88. package/dist/cjs/biz-components/HeaderNavigation/types.d.ts +18 -2
  89. package/dist/cjs/biz-components/HeaderNavigation/types.js +1 -1
  90. package/dist/cjs/biz-components/HeaderNavigation/types.js.map +2 -2
  91. package/dist/cjs/biz-components/HeaderNavigation/withCategory.d.ts +1 -1
  92. package/dist/cjs/biz-components/HeaderNavigation/withCategory.js +1 -1
  93. package/dist/cjs/biz-components/HeaderNavigation/withCategory.js.map +3 -3
  94. package/dist/cjs/biz-components/Listing/ProductProvider.d.ts +52 -0
  95. package/dist/cjs/biz-components/Listing/ProductProvider.js +2 -0
  96. package/dist/cjs/biz-components/Listing/ProductProvider.js.map +7 -0
  97. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.d.ts +30 -0
  98. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js +2 -0
  99. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js.map +7 -0
  100. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +2 -0
  101. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js +2 -0
  102. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js.map +7 -0
  103. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +2 -0
  104. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js +2 -0
  105. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js.map +7 -0
  106. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +2 -0
  107. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js +2 -0
  108. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js.map +7 -0
  109. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +2 -0
  110. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js +2 -0
  111. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js.map +7 -0
  112. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/index.d.ts +2 -0
  113. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/index.js +2 -0
  114. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/index.js.map +7 -0
  115. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/types.d.ts +43 -0
  116. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/types.js +2 -0
  117. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/types.js.map +7 -0
  118. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.d.ts +2 -0
  119. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js +2 -0
  120. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js.map +7 -0
  121. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.d.ts +21 -0
  122. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js +2 -0
  123. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js.map +7 -0
  124. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.d.ts +5 -0
  125. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js +2 -0
  126. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js.map +7 -0
  127. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.d.ts +1 -0
  128. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js +2 -0
  129. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js.map +7 -0
  130. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +2 -0
  131. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js +2 -0
  132. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +7 -0
  133. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/types.d.ts +35 -0
  134. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/types.js +2 -0
  135. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/types.js.map +7 -0
  136. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGridBox.d.ts +6 -0
  137. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGridBox.js +2 -0
  138. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGridBox.js.map +7 -0
  139. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +3 -0
  140. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js +2 -0
  141. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +7 -0
  142. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/types.d.ts +2 -0
  143. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/types.js +2 -0
  144. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/types.js.map +7 -0
  145. package/dist/cjs/biz-components/Listing/components/ProductCard/index.d.ts +2 -0
  146. package/dist/cjs/biz-components/Listing/components/ProductCard/index.js +2 -0
  147. package/dist/cjs/biz-components/Listing/components/ProductCard/index.js.map +7 -0
  148. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.d.ts +2 -0
  149. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +2 -0
  150. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +7 -0
  151. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.d.ts +4 -0
  152. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js +2 -0
  153. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js.map +7 -0
  154. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.d.ts +10 -0
  155. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js +2 -0
  156. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js.map +7 -0
  157. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.d.ts +3 -0
  158. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.js +2 -0
  159. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.js.map +7 -0
  160. package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.d.ts +12 -0
  161. package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.js +2 -0
  162. package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.js.map +7 -0
  163. package/dist/cjs/biz-components/Listing/components/index.d.ts +3 -0
  164. package/dist/cjs/biz-components/Listing/components/index.js +2 -0
  165. package/dist/cjs/biz-components/Listing/components/index.js.map +7 -0
  166. package/dist/cjs/biz-components/Listing/const.d.ts +28 -0
  167. package/dist/cjs/biz-components/Listing/const.js +2 -0
  168. package/dist/cjs/biz-components/Listing/const.js.map +7 -0
  169. package/dist/cjs/biz-components/Listing/hooks/use-options.d.ts +3 -0
  170. package/dist/cjs/biz-components/Listing/hooks/use-options.js +2 -0
  171. package/dist/cjs/biz-components/Listing/hooks/use-options.js.map +7 -0
  172. package/dist/cjs/biz-components/Listing/hooks/use-variant-media.d.ts +14 -0
  173. package/dist/cjs/biz-components/Listing/hooks/use-variant-media.js +2 -0
  174. package/dist/cjs/biz-components/Listing/hooks/use-variant-media.js.map +7 -0
  175. package/dist/cjs/biz-components/Listing/hooks/use-variant.d.ts +5 -0
  176. package/dist/cjs/biz-components/Listing/hooks/use-variant.js +2 -0
  177. package/dist/cjs/biz-components/Listing/hooks/use-variant.js.map +7 -0
  178. package/dist/cjs/biz-components/Listing/hooks/useCopy.d.ts +8 -0
  179. package/dist/cjs/biz-components/Listing/hooks/useCopy.js +2 -0
  180. package/dist/cjs/biz-components/Listing/hooks/useCopy.js.map +7 -0
  181. package/dist/cjs/biz-components/Listing/index.d.ts +3 -0
  182. package/dist/cjs/biz-components/Listing/index.js +2 -0
  183. package/dist/cjs/biz-components/Listing/index.js.map +7 -0
  184. package/dist/cjs/biz-components/Listing/types/graphql.d.ts +7473 -0
  185. package/dist/cjs/biz-components/Listing/types/graphql.js +2 -0
  186. package/dist/cjs/biz-components/Listing/types/graphql.js.map +7 -0
  187. package/dist/cjs/biz-components/Listing/types/product.d.ts +141 -0
  188. package/dist/cjs/biz-components/Listing/types/product.js +2 -0
  189. package/dist/cjs/biz-components/Listing/types/product.js.map +7 -0
  190. package/dist/cjs/biz-components/Listing/types/productMetafields.d.js +2 -0
  191. package/dist/cjs/biz-components/Listing/types/productMetafields.d.js.map +7 -0
  192. package/dist/cjs/biz-components/Listing/types/type-helper.d.ts +5 -0
  193. package/dist/cjs/biz-components/Listing/types/type-helper.js +2 -0
  194. package/dist/cjs/biz-components/Listing/types/type-helper.js.map +7 -0
  195. package/dist/cjs/biz-components/Listing/types.d.ts +21 -0
  196. package/dist/cjs/biz-components/Listing/types.js +2 -0
  197. package/dist/cjs/biz-components/Listing/types.js.map +7 -0
  198. package/dist/cjs/biz-components/Listing/utils/helper.d.ts +21 -0
  199. package/dist/cjs/biz-components/Listing/utils/helper.js +2 -0
  200. package/dist/cjs/biz-components/Listing/utils/helper.js.map +7 -0
  201. package/dist/cjs/biz-components/Listing/utils/index.d.ts +37 -0
  202. package/dist/cjs/biz-components/Listing/utils/index.js +2 -0
  203. package/dist/cjs/biz-components/Listing/utils/index.js.map +7 -0
  204. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  205. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +2 -2
  206. package/dist/cjs/biz-components/NavigationSearch/index.d.ts +4 -0
  207. package/dist/cjs/biz-components/NavigationSearch/index.js +2 -0
  208. package/dist/cjs/biz-components/NavigationSearch/index.js.map +7 -0
  209. package/dist/cjs/biz-components/NavigationSearch/types.d.ts +18 -0
  210. package/dist/cjs/biz-components/NavigationSearch/types.js +2 -0
  211. package/dist/cjs/biz-components/NavigationSearch/types.js.map +7 -0
  212. package/dist/cjs/biz-components/Paginator/index.d.ts +7 -0
  213. package/dist/cjs/biz-components/Paginator/index.js +7 -0
  214. package/dist/cjs/biz-components/Paginator/index.js.map +7 -0
  215. package/dist/cjs/biz-components/SearchPage/index.d.ts +6 -0
  216. package/dist/cjs/biz-components/SearchPage/index.js +2 -0
  217. package/dist/cjs/biz-components/SearchPage/index.js.map +7 -0
  218. package/dist/cjs/biz-components/SearchPage/types.d.ts +58 -0
  219. package/dist/cjs/biz-components/SearchPage/types.js +2 -0
  220. package/dist/cjs/biz-components/SearchPage/types.js.map +7 -0
  221. package/dist/cjs/biz-components/SelectStore/index.d.ts +20 -0
  222. package/dist/cjs/biz-components/SelectStore/index.js +2 -0
  223. package/dist/cjs/biz-components/SelectStore/index.js.map +7 -0
  224. package/dist/cjs/biz-components/ShelfDisplay/index.js +1 -1
  225. package/dist/cjs/biz-components/ShelfDisplay/index.js.map +3 -3
  226. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.d.ts +11 -2
  227. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
  228. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js.map +3 -3
  229. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js +4 -4
  230. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
  231. package/dist/cjs/biz-components/Specs/dropdown.d.ts +11 -0
  232. package/dist/cjs/biz-components/Specs/dropdown.js +3 -0
  233. package/dist/cjs/biz-components/Specs/dropdown.js.map +7 -0
  234. package/dist/cjs/biz-components/Specs/index.d.ts +6 -0
  235. package/dist/cjs/biz-components/Specs/index.js +2 -0
  236. package/dist/cjs/biz-components/Specs/index.js.map +7 -0
  237. package/dist/cjs/biz-components/Subscribe/index.d.ts +7 -1
  238. package/dist/cjs/biz-components/Subscribe/index.js +10 -1
  239. package/dist/cjs/biz-components/Subscribe/index.js.map +3 -3
  240. package/dist/cjs/biz-components/Tabs/Tabs.js +1 -1
  241. package/dist/cjs/biz-components/Tabs/Tabs.js.map +2 -2
  242. package/dist/cjs/biz-components/TabsGroup/index.d.ts +7 -0
  243. package/dist/cjs/biz-components/TabsGroup/index.js +2 -0
  244. package/dist/cjs/biz-components/TabsGroup/index.js.map +7 -0
  245. package/dist/cjs/biz-components/TabsGroup/types.d.ts +16 -0
  246. package/dist/cjs/biz-components/TabsGroup/types.js +2 -0
  247. package/dist/cjs/biz-components/TabsGroup/types.js.map +7 -0
  248. package/dist/cjs/biz-components/TextMarquee/index.d.ts +9 -0
  249. package/dist/cjs/biz-components/TextMarquee/index.js +2 -0
  250. package/dist/cjs/biz-components/TextMarquee/index.js.map +7 -0
  251. package/dist/cjs/biz-components/Title/index.js +1 -1
  252. package/dist/cjs/biz-components/Title/index.js.map +3 -3
  253. package/dist/cjs/biz-components/Title/types.d.ts +4 -1
  254. package/dist/cjs/biz-components/Title/types.js +1 -1
  255. package/dist/cjs/biz-components/Title/types.js.map +1 -1
  256. package/dist/cjs/biz-components/index.d.ts +35 -0
  257. package/dist/cjs/biz-components/index.js +1 -1
  258. package/dist/cjs/biz-components/index.js.map +3 -3
  259. package/dist/cjs/components/breadcrumb.d.ts +12 -0
  260. package/dist/cjs/components/breadcrumb.js +2 -0
  261. package/dist/cjs/components/breadcrumb.js.map +7 -0
  262. package/dist/cjs/components/button.js +1 -1
  263. package/dist/cjs/components/button.js.map +2 -2
  264. package/dist/cjs/components/checkbox.js +1 -1
  265. package/dist/cjs/components/checkbox.js.map +3 -3
  266. package/dist/cjs/components/container.js +1 -1
  267. package/dist/cjs/components/container.js.map +2 -2
  268. package/dist/cjs/components/dialog.d.ts +3 -1
  269. package/dist/cjs/components/dialog.js +1 -1
  270. package/dist/cjs/components/dialog.js.map +3 -3
  271. package/dist/cjs/components/index.d.ts +2 -0
  272. package/dist/cjs/components/index.js +1 -1
  273. package/dist/cjs/components/index.js.map +3 -3
  274. package/dist/cjs/components/loadingDots.d.ts +6 -0
  275. package/dist/cjs/components/loadingDots.js +42 -0
  276. package/dist/cjs/components/loadingDots.js.map +7 -0
  277. package/dist/cjs/helpers/utils.d.ts +2 -0
  278. package/dist/cjs/helpers/utils.js +1 -1
  279. package/dist/cjs/helpers/utils.js.map +3 -3
  280. package/dist/cjs/hooks/useRollout.d.ts +1 -0
  281. package/dist/cjs/hooks/useRollout.js +2 -0
  282. package/dist/cjs/hooks/useRollout.js.map +7 -0
  283. package/dist/cjs/stories/aplusdesc.stories.d.ts +27 -0
  284. package/dist/cjs/stories/aplusdesc.stories.js +2 -0
  285. package/dist/cjs/stories/aplusdesc.stories.js.map +7 -0
  286. package/dist/cjs/stories/download.stories.d.ts +18 -0
  287. package/dist/cjs/stories/download.stories.js +2 -0
  288. package/dist/cjs/stories/download.stories.js.map +7 -0
  289. package/dist/cjs/stories/features.stories.d.ts +21 -0
  290. package/dist/cjs/stories/features.stories.js +2 -0
  291. package/dist/cjs/stories/features.stories.js.map +7 -0
  292. package/dist/cjs/stories/footcharger.stories.d.ts +19 -0
  293. package/dist/cjs/stories/footcharger.stories.js +2 -0
  294. package/dist/cjs/stories/footcharger.stories.js.map +7 -0
  295. package/dist/cjs/stories/giftbox.stories.d.ts +18 -0
  296. package/dist/cjs/stories/giftbox.stories.js +2 -0
  297. package/dist/cjs/stories/giftbox.stories.js.map +7 -0
  298. package/dist/cjs/stories/graphicMore.stories.d.ts +19 -0
  299. package/dist/cjs/stories/graphicMore.stories.js +2 -0
  300. package/dist/cjs/stories/graphicMore.stories.js.map +7 -0
  301. package/dist/cjs/stories/selectstore.stories.d.ts +18 -0
  302. package/dist/cjs/stories/selectstore.stories.js +2 -0
  303. package/dist/cjs/stories/selectstore.stories.js.map +7 -0
  304. package/dist/cjs/stories/shelfDisplay.stories.js +644 -1
  305. package/dist/cjs/stories/shelfDisplay.stories.js.map +2 -2
  306. package/dist/cjs/stories/tabs.stories.js +1 -1
  307. package/dist/cjs/stories/tabs.stories.js.map +3 -3
  308. package/dist/esm/biz-components/AccordionCards/index.js.map +2 -2
  309. package/dist/esm/biz-components/AiuiProvider/index.d.ts +4 -0
  310. package/dist/esm/biz-components/AiuiProvider/index.js +1 -1
  311. package/dist/esm/biz-components/AiuiProvider/index.js.map +2 -2
  312. package/dist/esm/biz-components/AplusDesc/index.d.ts +22 -0
  313. package/dist/esm/biz-components/AplusDesc/index.js +2 -0
  314. package/dist/esm/biz-components/AplusDesc/index.js.map +7 -0
  315. package/dist/esm/biz-components/CollectionShelves/CollectionShelvesItem.d.ts +4 -0
  316. package/dist/esm/biz-components/CollectionShelves/CollectionShelvesItem.js +2 -0
  317. package/dist/esm/biz-components/CollectionShelves/CollectionShelvesItem.js.map +7 -0
  318. package/dist/esm/biz-components/CollectionShelves/index.d.ts +6 -0
  319. package/dist/esm/biz-components/CollectionShelves/index.js +2 -0
  320. package/dist/esm/biz-components/CollectionShelves/index.js.map +7 -0
  321. package/dist/esm/biz-components/CollectionsBanner/index.d.ts +7 -0
  322. package/dist/esm/biz-components/CollectionsBanner/index.js +2 -0
  323. package/dist/esm/biz-components/CollectionsBanner/index.js.map +7 -0
  324. package/dist/esm/biz-components/CollectionsBanner/types.d.ts +43 -0
  325. package/dist/esm/biz-components/CollectionsBanner/types.js +1 -0
  326. package/dist/esm/biz-components/CollectionsBanner/types.js.map +7 -0
  327. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.d.ts +17 -0
  328. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.js +2 -0
  329. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.js.map +7 -0
  330. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrapItem.d.ts +10 -0
  331. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrapItem.js +2 -0
  332. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrapItem.js.map +7 -0
  333. package/dist/esm/biz-components/CollectionsFilters/FilterHeader.d.ts +13 -0
  334. package/dist/esm/biz-components/CollectionsFilters/FilterHeader.js +2 -0
  335. package/dist/esm/biz-components/CollectionsFilters/FilterHeader.js.map +7 -0
  336. package/dist/esm/biz-components/CollectionsFilters/FilterList.d.ts +14 -0
  337. package/dist/esm/biz-components/CollectionsFilters/FilterList.js +2 -0
  338. package/dist/esm/biz-components/CollectionsFilters/FilterList.js.map +7 -0
  339. package/dist/esm/biz-components/CollectionsFilters/component/AnimatedUL.d.ts +5 -0
  340. package/dist/esm/biz-components/CollectionsFilters/component/AnimatedUL.js +2 -0
  341. package/dist/esm/biz-components/CollectionsFilters/component/AnimatedUL.js.map +7 -0
  342. package/dist/esm/biz-components/CollectionsFilters/component/TabFilter.d.ts +12 -0
  343. package/dist/esm/biz-components/CollectionsFilters/component/TabFilter.js +2 -0
  344. package/dist/esm/biz-components/CollectionsFilters/component/TabFilter.js.map +7 -0
  345. package/dist/esm/biz-components/CollectionsFilters/component/filtersFun.d.ts +12 -0
  346. package/dist/esm/biz-components/CollectionsFilters/component/filtersFun.js +2 -0
  347. package/dist/esm/biz-components/CollectionsFilters/component/filtersFun.js.map +7 -0
  348. package/dist/esm/biz-components/CollectionsFilters/component/helper.d.ts +81 -0
  349. package/dist/esm/biz-components/CollectionsFilters/component/helper.js +2 -0
  350. package/dist/esm/biz-components/CollectionsFilters/component/helper.js.map +7 -0
  351. package/dist/esm/biz-components/CollectionsFilters/component/price.d.ts +25 -0
  352. package/dist/esm/biz-components/CollectionsFilters/component/price.js +2 -0
  353. package/dist/esm/biz-components/CollectionsFilters/component/price.js.map +7 -0
  354. package/dist/esm/biz-components/CollectionsFilters/component/priceProps.d.ts +215 -0
  355. package/dist/esm/biz-components/CollectionsFilters/component/priceProps.js +2 -0
  356. package/dist/esm/biz-components/CollectionsFilters/component/priceProps.js.map +7 -0
  357. package/dist/esm/biz-components/CollectionsFilters/index.d.ts +22 -0
  358. package/dist/esm/biz-components/CollectionsFilters/index.js +2 -0
  359. package/dist/esm/biz-components/CollectionsFilters/index.js.map +7 -0
  360. package/dist/esm/biz-components/DownLoad/index.d.ts +20 -0
  361. package/dist/esm/biz-components/DownLoad/index.js +2 -0
  362. package/dist/esm/biz-components/DownLoad/index.js.map +7 -0
  363. package/dist/esm/biz-components/Faq/Faq.js +1 -1
  364. package/dist/esm/biz-components/Faq/Faq.js.map +3 -3
  365. package/dist/esm/biz-components/Features/index.d.ts +26 -0
  366. package/dist/esm/biz-components/Features/index.js +2 -0
  367. package/dist/esm/biz-components/Features/index.js.map +7 -0
  368. package/dist/esm/biz-components/FootCharger/index.d.ts +12 -0
  369. package/dist/esm/biz-components/FootCharger/index.js +2 -0
  370. package/dist/esm/biz-components/FootCharger/index.js.map +7 -0
  371. package/dist/esm/biz-components/FooterNavigation/index.js +1 -1
  372. package/dist/esm/biz-components/FooterNavigation/index.js.map +3 -3
  373. package/dist/esm/biz-components/FooterNavigation/types.d.ts +2 -1
  374. package/dist/esm/biz-components/FooterNavigation/types.js +1 -1
  375. package/dist/esm/biz-components/FooterNavigation/types.js.map +2 -2
  376. package/dist/esm/biz-components/GiftBox/index.d.ts +17 -0
  377. package/dist/esm/biz-components/GiftBox/index.js +2 -0
  378. package/dist/esm/biz-components/GiftBox/index.js.map +7 -0
  379. package/dist/esm/biz-components/Graphic/index.js +1 -1
  380. package/dist/esm/biz-components/Graphic/index.js.map +2 -2
  381. package/dist/esm/biz-components/GraphicMore/index.d.ts +22 -0
  382. package/dist/esm/biz-components/GraphicMore/index.js +2 -0
  383. package/dist/esm/biz-components/GraphicMore/index.js.map +7 -0
  384. package/dist/esm/biz-components/HeaderNavigation/NavProvider.d.ts +6 -5
  385. package/dist/esm/biz-components/HeaderNavigation/NavProvider.js +1 -1
  386. package/dist/esm/biz-components/HeaderNavigation/NavProvider.js.map +3 -3
  387. package/dist/esm/biz-components/HeaderNavigation/icons/Polygon.d.ts +3 -0
  388. package/dist/esm/biz-components/HeaderNavigation/icons/Polygon.js +2 -0
  389. package/dist/esm/biz-components/HeaderNavigation/icons/Polygon.js.map +7 -0
  390. package/dist/esm/biz-components/HeaderNavigation/icons/index.d.ts +2 -1
  391. package/dist/esm/biz-components/HeaderNavigation/icons/index.js +1 -1
  392. package/dist/esm/biz-components/HeaderNavigation/icons/index.js.map +3 -3
  393. package/dist/esm/biz-components/HeaderNavigation/index.js +1 -1
  394. package/dist/esm/biz-components/HeaderNavigation/index.js.map +3 -3
  395. package/dist/esm/biz-components/HeaderNavigation/types.d.ts +18 -2
  396. package/dist/esm/biz-components/HeaderNavigation/types.js +1 -1
  397. package/dist/esm/biz-components/HeaderNavigation/types.js.map +2 -2
  398. package/dist/esm/biz-components/HeaderNavigation/withCategory.d.ts +1 -1
  399. package/dist/esm/biz-components/HeaderNavigation/withCategory.js +1 -1
  400. package/dist/esm/biz-components/HeaderNavigation/withCategory.js.map +3 -3
  401. package/dist/esm/biz-components/Listing/ProductProvider.d.ts +52 -0
  402. package/dist/esm/biz-components/Listing/ProductProvider.js +2 -0
  403. package/dist/esm/biz-components/Listing/ProductProvider.js.map +7 -0
  404. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.d.ts +30 -0
  405. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js +2 -0
  406. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js.map +7 -0
  407. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +2 -0
  408. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js +2 -0
  409. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js.map +7 -0
  410. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +2 -0
  411. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js +2 -0
  412. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js.map +7 -0
  413. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +2 -0
  414. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js +2 -0
  415. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js.map +7 -0
  416. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +2 -0
  417. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js +2 -0
  418. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js.map +7 -0
  419. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/index.d.ts +2 -0
  420. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/index.js +2 -0
  421. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/index.js.map +7 -0
  422. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/types.d.ts +43 -0
  423. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/types.js +2 -0
  424. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/types.js.map +7 -0
  425. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.d.ts +2 -0
  426. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js +2 -0
  427. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js.map +7 -0
  428. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.d.ts +21 -0
  429. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js +2 -0
  430. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js.map +7 -0
  431. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.d.ts +5 -0
  432. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js +2 -0
  433. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js.map +7 -0
  434. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.d.ts +1 -0
  435. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js +2 -0
  436. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js.map +7 -0
  437. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +2 -0
  438. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js +2 -0
  439. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +7 -0
  440. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/types.d.ts +35 -0
  441. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/types.js +2 -0
  442. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/types.js.map +7 -0
  443. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGridBox.d.ts +6 -0
  444. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGridBox.js +2 -0
  445. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGridBox.js.map +7 -0
  446. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +3 -0
  447. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js +2 -0
  448. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +7 -0
  449. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/types.d.ts +2 -0
  450. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/types.js +1 -0
  451. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/types.js.map +7 -0
  452. package/dist/esm/biz-components/Listing/components/ProductCard/index.d.ts +2 -0
  453. package/dist/esm/biz-components/Listing/components/ProductCard/index.js +2 -0
  454. package/dist/esm/biz-components/Listing/components/ProductCard/index.js.map +7 -0
  455. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.d.ts +2 -0
  456. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +2 -0
  457. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +7 -0
  458. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.d.ts +4 -0
  459. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js +2 -0
  460. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js.map +7 -0
  461. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.d.ts +10 -0
  462. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js +1 -0
  463. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js.map +7 -0
  464. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.d.ts +3 -0
  465. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.js +2 -0
  466. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.js.map +7 -0
  467. package/dist/esm/biz-components/Listing/components/PurchaseBar/types.d.ts +12 -0
  468. package/dist/esm/biz-components/Listing/components/PurchaseBar/types.js +1 -0
  469. package/dist/esm/biz-components/Listing/components/PurchaseBar/types.js.map +7 -0
  470. package/dist/esm/biz-components/Listing/components/index.d.ts +3 -0
  471. package/dist/esm/biz-components/Listing/components/index.js +2 -0
  472. package/dist/esm/biz-components/Listing/components/index.js.map +7 -0
  473. package/dist/esm/biz-components/Listing/const.d.ts +28 -0
  474. package/dist/esm/biz-components/Listing/const.js +2 -0
  475. package/dist/esm/biz-components/Listing/const.js.map +7 -0
  476. package/dist/esm/biz-components/Listing/hooks/use-options.d.ts +3 -0
  477. package/dist/esm/biz-components/Listing/hooks/use-options.js +2 -0
  478. package/dist/esm/biz-components/Listing/hooks/use-options.js.map +7 -0
  479. package/dist/esm/biz-components/Listing/hooks/use-variant-media.d.ts +14 -0
  480. package/dist/esm/biz-components/Listing/hooks/use-variant-media.js +2 -0
  481. package/dist/esm/biz-components/Listing/hooks/use-variant-media.js.map +7 -0
  482. package/dist/esm/biz-components/Listing/hooks/use-variant.d.ts +5 -0
  483. package/dist/esm/biz-components/Listing/hooks/use-variant.js +2 -0
  484. package/dist/esm/biz-components/Listing/hooks/use-variant.js.map +7 -0
  485. package/dist/esm/biz-components/Listing/hooks/useCopy.d.ts +8 -0
  486. package/dist/esm/biz-components/Listing/hooks/useCopy.js +2 -0
  487. package/dist/esm/biz-components/Listing/hooks/useCopy.js.map +7 -0
  488. package/dist/esm/biz-components/Listing/index.d.ts +3 -0
  489. package/dist/esm/biz-components/Listing/index.js +2 -0
  490. package/dist/esm/biz-components/Listing/index.js.map +7 -0
  491. package/dist/esm/biz-components/Listing/types/graphql.d.ts +7473 -0
  492. package/dist/esm/biz-components/Listing/types/graphql.js +2 -0
  493. package/dist/esm/biz-components/Listing/types/graphql.js.map +7 -0
  494. package/dist/esm/biz-components/Listing/types/product.d.ts +141 -0
  495. package/dist/esm/biz-components/Listing/types/product.js +2 -0
  496. package/dist/esm/biz-components/Listing/types/product.js.map +7 -0
  497. package/dist/esm/biz-components/Listing/types/productMetafields.d.js +2 -0
  498. package/dist/esm/biz-components/Listing/types/productMetafields.d.js.map +7 -0
  499. package/dist/esm/biz-components/Listing/types/type-helper.d.ts +5 -0
  500. package/dist/esm/biz-components/Listing/types/type-helper.js +1 -0
  501. package/dist/esm/biz-components/Listing/types/type-helper.js.map +7 -0
  502. package/dist/esm/biz-components/Listing/types.d.ts +21 -0
  503. package/dist/esm/biz-components/Listing/types.js +1 -0
  504. package/dist/esm/biz-components/Listing/types.js.map +7 -0
  505. package/dist/esm/biz-components/Listing/utils/helper.d.ts +21 -0
  506. package/dist/esm/biz-components/Listing/utils/helper.js +2 -0
  507. package/dist/esm/biz-components/Listing/utils/helper.js.map +7 -0
  508. package/dist/esm/biz-components/Listing/utils/index.d.ts +37 -0
  509. package/dist/esm/biz-components/Listing/utils/index.js +2 -0
  510. package/dist/esm/biz-components/Listing/utils/index.js.map +7 -0
  511. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  512. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +2 -2
  513. package/dist/esm/biz-components/NavigationSearch/index.d.ts +4 -0
  514. package/dist/esm/biz-components/NavigationSearch/index.js +2 -0
  515. package/dist/esm/biz-components/NavigationSearch/index.js.map +7 -0
  516. package/dist/esm/biz-components/NavigationSearch/types.d.ts +18 -0
  517. package/dist/esm/biz-components/NavigationSearch/types.js +2 -0
  518. package/dist/esm/biz-components/NavigationSearch/types.js.map +7 -0
  519. package/dist/esm/biz-components/Paginator/index.d.ts +7 -0
  520. package/dist/esm/biz-components/Paginator/index.js +7 -0
  521. package/dist/esm/biz-components/Paginator/index.js.map +7 -0
  522. package/dist/esm/biz-components/SearchPage/index.d.ts +6 -0
  523. package/dist/esm/biz-components/SearchPage/index.js +2 -0
  524. package/dist/esm/biz-components/SearchPage/index.js.map +7 -0
  525. package/dist/esm/biz-components/SearchPage/types.d.ts +58 -0
  526. package/dist/esm/biz-components/SearchPage/types.js +2 -0
  527. package/dist/esm/biz-components/SearchPage/types.js.map +7 -0
  528. package/dist/esm/biz-components/SelectStore/index.d.ts +20 -0
  529. package/dist/esm/biz-components/SelectStore/index.js +2 -0
  530. package/dist/esm/biz-components/SelectStore/index.js.map +7 -0
  531. package/dist/esm/biz-components/ShelfDisplay/index.js +1 -1
  532. package/dist/esm/biz-components/ShelfDisplay/index.js.map +3 -3
  533. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.d.ts +11 -2
  534. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
  535. package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js.map +3 -3
  536. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js +9 -9
  537. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
  538. package/dist/esm/biz-components/Specs/dropdown.d.ts +11 -0
  539. package/dist/esm/biz-components/Specs/dropdown.js +3 -0
  540. package/dist/esm/biz-components/Specs/dropdown.js.map +7 -0
  541. package/dist/esm/biz-components/Specs/index.d.ts +6 -0
  542. package/dist/esm/biz-components/Specs/index.js +2 -0
  543. package/dist/esm/biz-components/Specs/index.js.map +7 -0
  544. package/dist/esm/biz-components/Subscribe/index.d.ts +7 -1
  545. package/dist/esm/biz-components/Subscribe/index.js +10 -1
  546. package/dist/esm/biz-components/Subscribe/index.js.map +3 -3
  547. package/dist/esm/biz-components/Tabs/Tabs.js +1 -1
  548. package/dist/esm/biz-components/Tabs/Tabs.js.map +2 -2
  549. package/dist/esm/biz-components/TabsGroup/index.d.ts +7 -0
  550. package/dist/esm/biz-components/TabsGroup/index.js +2 -0
  551. package/dist/esm/biz-components/TabsGroup/index.js.map +7 -0
  552. package/dist/esm/biz-components/TabsGroup/types.d.ts +16 -0
  553. package/dist/esm/biz-components/TabsGroup/types.js +1 -0
  554. package/dist/esm/biz-components/TabsGroup/types.js.map +7 -0
  555. package/dist/esm/biz-components/TextMarquee/index.d.ts +9 -0
  556. package/dist/esm/biz-components/TextMarquee/index.js +2 -0
  557. package/dist/esm/biz-components/TextMarquee/index.js.map +7 -0
  558. package/dist/esm/biz-components/Title/index.js +1 -1
  559. package/dist/esm/biz-components/Title/index.js.map +3 -3
  560. package/dist/esm/biz-components/Title/types.d.ts +4 -1
  561. package/dist/esm/biz-components/index.d.ts +35 -0
  562. package/dist/esm/biz-components/index.js +1 -1
  563. package/dist/esm/biz-components/index.js.map +3 -3
  564. package/dist/esm/components/breadcrumb.d.ts +12 -0
  565. package/dist/esm/components/breadcrumb.js +2 -0
  566. package/dist/esm/components/breadcrumb.js.map +7 -0
  567. package/dist/esm/components/button.js +1 -1
  568. package/dist/esm/components/button.js.map +2 -2
  569. package/dist/esm/components/checkbox.js +1 -1
  570. package/dist/esm/components/checkbox.js.map +3 -3
  571. package/dist/esm/components/container.js +1 -1
  572. package/dist/esm/components/container.js.map +2 -2
  573. package/dist/esm/components/dialog.d.ts +3 -1
  574. package/dist/esm/components/dialog.js +1 -1
  575. package/dist/esm/components/dialog.js.map +3 -3
  576. package/dist/esm/components/index.d.ts +2 -0
  577. package/dist/esm/components/index.js +1 -1
  578. package/dist/esm/components/index.js.map +2 -2
  579. package/dist/esm/components/loadingDots.d.ts +6 -0
  580. package/dist/esm/components/loadingDots.js +42 -0
  581. package/dist/esm/components/loadingDots.js.map +7 -0
  582. package/dist/esm/helpers/utils.d.ts +2 -0
  583. package/dist/esm/helpers/utils.js +1 -1
  584. package/dist/esm/helpers/utils.js.map +3 -3
  585. package/dist/esm/hooks/useRollout.d.ts +1 -0
  586. package/dist/esm/hooks/useRollout.js +2 -0
  587. package/dist/esm/hooks/useRollout.js.map +7 -0
  588. package/dist/esm/stories/aplusdesc.stories.d.ts +27 -0
  589. package/dist/esm/stories/aplusdesc.stories.js +2 -0
  590. package/dist/esm/stories/aplusdesc.stories.js.map +7 -0
  591. package/dist/esm/stories/download.stories.d.ts +18 -0
  592. package/dist/esm/stories/download.stories.js +2 -0
  593. package/dist/esm/stories/download.stories.js.map +7 -0
  594. package/dist/esm/stories/features.stories.d.ts +21 -0
  595. package/dist/esm/stories/features.stories.js +2 -0
  596. package/dist/esm/stories/features.stories.js.map +7 -0
  597. package/dist/esm/stories/footcharger.stories.d.ts +19 -0
  598. package/dist/esm/stories/footcharger.stories.js +2 -0
  599. package/dist/esm/stories/footcharger.stories.js.map +7 -0
  600. package/dist/esm/stories/giftbox.stories.d.ts +18 -0
  601. package/dist/esm/stories/giftbox.stories.js +2 -0
  602. package/dist/esm/stories/giftbox.stories.js.map +7 -0
  603. package/dist/esm/stories/graphicMore.stories.d.ts +19 -0
  604. package/dist/esm/stories/graphicMore.stories.js +2 -0
  605. package/dist/esm/stories/graphicMore.stories.js.map +7 -0
  606. package/dist/esm/stories/selectstore.stories.d.ts +18 -0
  607. package/dist/esm/stories/selectstore.stories.js +2 -0
  608. package/dist/esm/stories/selectstore.stories.js.map +7 -0
  609. package/dist/esm/stories/shelfDisplay.stories.js +644 -1
  610. package/dist/esm/stories/shelfDisplay.stories.js.map +2 -2
  611. package/dist/esm/stories/tabs.stories.js +1 -1
  612. package/dist/esm/stories/tabs.stories.js.map +3 -3
  613. package/dist/tokens/base.css +1 -1
  614. package/package.json +1 -1
  615. package/style.css +32 -2
@@ -0,0 +1,141 @@
1
+ import type { CurrencyCode, Image, Media, Product as ShopifyProduct, ProductVariant as ShopifyProductVariant } from './graphql';
2
+ import { DiscountType } from '../const';
3
+ export type ProductPrice = {
4
+ amount: number;
5
+ currencyCode: CurrencyCode;
6
+ };
7
+ export type ProductOption = {
8
+ __typename?: 'MultipleChoiceOption';
9
+ id: string;
10
+ name: string;
11
+ values: ProductOptionValues[];
12
+ };
13
+ export type ProductOptionValues = {
14
+ label: string;
15
+ hexColors?: string[];
16
+ };
17
+ export type ProductVariant = {
18
+ id: string | number;
19
+ options: ProductOption[];
20
+ sku: string;
21
+ metafields?: Record<string, any>;
22
+ price: ProductPrice;
23
+ product: Product;
24
+ coupons: VariantCoupon[];
25
+ weight?: number;
26
+ payload?: any;
27
+ } & Omit<ShopifyProductVariant, 'options' | 'metafields' | 'price'>;
28
+ export type Product = {
29
+ path?: string;
30
+ images: Image[];
31
+ media: ProductMedia[];
32
+ variants: ProductVariant[];
33
+ price: ProductPrice;
34
+ options: ProductOption[];
35
+ metafields?: {
36
+ [key: string]: any;
37
+ };
38
+ slug: string;
39
+ payload?: any;
40
+ } & Omit<ShopifyProduct, 'metafields' | 'images' | 'variants' | 'price' | 'options' | 'media'>;
41
+ export type GetProductBody = {
42
+ handles: string;
43
+ locale?: string;
44
+ };
45
+ export type ProductTypes = {
46
+ product: Product;
47
+ getBody: GetProductBody;
48
+ };
49
+ export type GetAllProductPathsOperation<T extends ProductTypes = ProductTypes> = {
50
+ data: {
51
+ products: Pick<T['product'], 'path'>[];
52
+ };
53
+ variables: {
54
+ first?: number;
55
+ };
56
+ };
57
+ export type GetAllProductsOperation<T extends ProductTypes = ProductTypes> = {
58
+ data: {
59
+ products: T['product'][];
60
+ };
61
+ variables: {
62
+ relevance?: 'featured' | 'best_selling' | 'newest';
63
+ ids?: string[];
64
+ first?: number;
65
+ };
66
+ };
67
+ export type GetProductOperation<T extends ProductTypes = ProductTypes> = {
68
+ data: {
69
+ product?: T['product'];
70
+ };
71
+ variables: {
72
+ path: string;
73
+ slug?: never;
74
+ } | {
75
+ path?: never;
76
+ slug: string;
77
+ };
78
+ };
79
+ export type Options = Record<string, string>;
80
+ export type ProductMedia = Media & {
81
+ sources?: {
82
+ url: string;
83
+ altText: string;
84
+ }[];
85
+ image?: {
86
+ url: string;
87
+ altText: string;
88
+ };
89
+ };
90
+ export type VariantCoupon = {
91
+ title: string;
92
+ starts_at: string;
93
+ ends_at: string | null;
94
+ variant_shopify_id: number;
95
+ value_type: DiscountType;
96
+ value: string;
97
+ currency: string;
98
+ fixed_value: string;
99
+ value_style: string;
100
+ variant_price4wscode: number;
101
+ discount_type: string;
102
+ amazon_deal: boolean;
103
+ cdi_id: number;
104
+ cdi_updated_at: string;
105
+ };
106
+ export type ScriptDiscount = {
107
+ type: DiscountType;
108
+ excludeSkus: string[];
109
+ discount: number;
110
+ };
111
+ export type FreeGift = {
112
+ title: string;
113
+ note: string;
114
+ soldOutLabel: string;
115
+ freeLabel: string;
116
+ giftList: ProductVariant[];
117
+ count: number;
118
+ showCoupon: boolean;
119
+ [key: string]: any;
120
+ };
121
+ export type BundleListItem = {
122
+ id: string;
123
+ price: number;
124
+ comparePrice: number;
125
+ savings: number;
126
+ variants: {
127
+ price: number;
128
+ quantity: number;
129
+ label: string;
130
+ variant: ProductVariant;
131
+ }[];
132
+ };
133
+ export type Bundle = {
134
+ title: string;
135
+ soldOutLabel: string;
136
+ youSaveText: string;
137
+ showCoupon: boolean;
138
+ bundleList: BundleListItem[];
139
+ showAtListing: boolean;
140
+ [key: string]: any;
141
+ };
@@ -0,0 +1,2 @@
1
+ import"../const";
2
+ //# sourceMappingURL=product.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/biz-components/Listing/types/product.ts"],
4
+ "sourcesContent": ["import type {\n CurrencyCode,\n Image,\n Media,\n Product as ShopifyProduct,\n ProductVariant as ShopifyProductVariant,\n} from './graphql'\nimport { DiscountType } from '../const'\n\nexport type ProductPrice = {\n amount: number\n currencyCode: CurrencyCode\n}\n\nexport type ProductOption = {\n __typename?: 'MultipleChoiceOption'\n id: string\n name: string\n values: ProductOptionValues[]\n}\n\nexport type ProductOptionValues = {\n label: string\n hexColors?: string[]\n}\n\nexport type ProductVariant = {\n id: string | number\n options: ProductOption[]\n sku: string\n metafields?: Record<string, any>\n price: ProductPrice\n product: Product\n coupons: VariantCoupon[]\n weight?: number\n payload?: any\n} & Omit<ShopifyProductVariant, 'options' | 'metafields' | 'price'>\n\nexport type Product = {\n path?: string\n images: Image[]\n media: ProductMedia[]\n variants: ProductVariant[]\n price: ProductPrice\n options: ProductOption[]\n metafields?: { [key: string]: any }\n slug: string\n payload?: any\n} & Omit<ShopifyProduct, 'metafields' | 'images' | 'variants' | 'price' | 'options' | 'media'>\n\nexport type GetProductBody = {\n handles: string\n locale?: string\n}\n\nexport type ProductTypes = {\n product: Product\n getBody: GetProductBody\n}\n\nexport type GetAllProductPathsOperation<T extends ProductTypes = ProductTypes> = {\n data: { products: Pick<T['product'], 'path'>[] }\n variables: { first?: number }\n}\n\nexport type GetAllProductsOperation<T extends ProductTypes = ProductTypes> = {\n data: { products: T['product'][] }\n variables: {\n relevance?: 'featured' | 'best_selling' | 'newest'\n ids?: string[]\n first?: number\n }\n}\n\nexport type GetProductOperation<T extends ProductTypes = ProductTypes> = {\n data: { product?: T['product'] }\n variables: { path: string; slug?: never } | { path?: never; slug: string }\n}\n\nexport type Options = Record<string, string>\n\nexport type ProductMedia = Media & {\n sources?: {\n url: string\n altText: string\n }[]\n image?: {\n url: string\n altText: string\n }\n}\n\nexport type VariantCoupon = {\n title: string\n starts_at: string // ISO 8601 \u65E5\u671F\u5B57\u7B26\u4E32\n ends_at: string | null // ISO 8601 \u65E5\u671F\u5B57\u7B26\u4E32\u6216 null\n variant_shopify_id: number\n value_type: DiscountType\n value: string // \u8D1F\u6570\u7684\u767E\u5206\u6BD4\u503C\n currency: string\n fixed_value: string // \u56FA\u5B9A\u503C\n value_style: string // \u5E26\u6709\u8D27\u5E01\u7B26\u53F7\u7684\u503C\n variant_price4wscode: number\n discount_type: string // \u5047\u8BBE discount_type \u662F\u4E00\u4E2A\u5B57\u7B26\u4E32\n amazon_deal: boolean\n cdi_id: number\n cdi_updated_at: string // ISO 8601 \u65E5\u671F\u5B57\u7B26\u4E32\n}\n\nexport type ScriptDiscount = {\n type: DiscountType\n excludeSkus: string[]\n discount: number\n}\n\nexport type FreeGift = {\n title: string\n note: string\n soldOutLabel: string\n freeLabel: string\n giftList: ProductVariant[]\n count: number\n showCoupon: boolean\n [key: string]: any\n}\n\nexport type BundleListItem = {\n id: string\n price: number\n comparePrice: number\n savings: number\n variants: {\n price: number\n quantity: number\n label: string\n variant: ProductVariant\n }[]\n}\n\nexport type Bundle = {\n title: string\n soldOutLabel: string\n youSaveText: string\n showCoupon: boolean\n bundleList: BundleListItem[]\n showAtListing: boolean\n [key: string]: any\n}"],
5
+ "mappings": "AAOA,MAA6B",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ import"@projectTypes/product";
2
+ //# sourceMappingURL=productMetafields.d.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/biz-components/Listing/types/productMetafields.d.ts"],
4
+ "sourcesContent": ["import { DiscountType } from '@projectTypes/product'\n\n// \u6EE1\u8D60\nexport type VariantFreeGiftMetafields = {\n count: number // \u6700\u591A\u9009\u62E9\u793C\u54C1\u6570\u91CF\uFF0C\u4E70\u4E00\u8D60X\n showDiscounts: boolean\n list: {\n handle: string\n sku: string\n }[]\n labels: string[]\n}\n\n// bundle\nexport type VariantBundleMetafields = {\n list: {\n handle: string\n sku: string\n price: number\n qty: number\n label: string\n }[][]\n title: string\n discount_type: DiscountType\n showDiscounts: boolean\n labels: string[]\n}\n\n// \u6EE1\u51CF\\\u5C0Fb\u6298\u6263 metafields\nexport type VariantPriceDropMetafields = {\n showDiscounts: boolean\n discountType: DiscountType\n rules: {\n value: number\n }[]\n labels: string[]\n}\n"],
5
+ "mappings": "AAAA,MAA6B",
6
+ "names": []
7
+ }
@@ -0,0 +1,5 @@
1
+ export type PartialRecord<K extends string | number | symbol, T> = Partial<Record<K, T>>;
2
+ export type Optional<T, K extends keyof T> = Pick<Partial<T>, K> & Omit<T, K>;
3
+ export type Replace<T, K extends keyof T, V> = Omit<T, K> & {
4
+ [P in K]: V;
5
+ };
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=type-helper.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,21 @@
1
+ import type { Product } from './types/product';
2
+ export type CompareProductItem = {
3
+ handle: string;
4
+ shortName: string;
5
+ compareProductCollection?: string;
6
+ };
7
+ export type CompareItem = {
8
+ product: Product;
9
+ } & CompareProductItem;
10
+ export type CompareData = {
11
+ data: {
12
+ availableCompareList: Array<CompareItem>;
13
+ currentProductCompareData?: CompareItem;
14
+ options: {
15
+ value: string;
16
+ text: string;
17
+ }[];
18
+ specificationKeys?: string[];
19
+ };
20
+ show: boolean;
21
+ };
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,21 @@
1
+ import type { Product, ProductMedia, ProductVariant } from '../types/product';
2
+ export declare function isObjEmpty(obj?: Record<string, any>): boolean;
3
+ export declare function atobID(id: string): string | undefined;
4
+ export declare function btoaID(id: string, type?: 'ProductVariant' | 'Product'): string;
5
+ export declare const getThemeLocale: (locale: string) => string;
6
+ /**
7
+ * 生成 metafieldIdentifiers 查询参数
8
+ */
9
+ export declare const getNormalCoupon: ({ variant }: {
10
+ variant?: ProductVariant;
11
+ }) => import("../types/product").VariantCoupon | undefined;
12
+ export declare function replaceUmlaut(str: string): string;
13
+ export declare function handle(str: string): string;
14
+ export declare function getVariantImageIndex({ mediaList, variant, }: {
15
+ variant: ProductVariant;
16
+ mediaList: ProductMedia[];
17
+ }): null | number;
18
+ export declare function getVariantMediaList({ product, variant }: {
19
+ variant: ProductVariant;
20
+ product: Product;
21
+ }): ProductMedia[];
@@ -0,0 +1,2 @@
1
+ import{CouponChannel as o}from"../const";function d(t){return t?Object.keys(t).length===0:!0}function p(t){return t&&typeof t=="string"&&t.includes("/")?t.split("/").pop()?.split("?")?.shift():t}function f(t,e="ProductVariant"){return`gid://shopify/${e}/${t}`}const l=t=>t==="eu-de"?"de":t==="eu-en"?"eu":t==="au"?"au":t,m=({variant:t})=>t?.coupons?.find(e=>e.discount_type!==o.WSCH),u={\u00DC:"U",\u00C4:"A",\u00D6:"O",\u00FC:"u",\u00E4:"a",\u00F6:"o",\u00DF:"ss",\u00E8:"e"};function c(t){return t.replace(/[\u00dc|\u00c4|\u00d6][a-z]/g,e=>{const r=u[e.slice(0,1)];return r.charAt(0)+r.charAt(1).toLowerCase()+e.slice(1)}).replace(new RegExp("["+Object.keys(u).join("|")+"]","g"),e=>u[e])}function g(t){return c(t).replace(/ /g,"-").replace(/[^a-zA-Z0-9-]/g,"").toLowerCase()}function i({mediaList:t,variant:e}){const r=e?.image?.url;return r?t.map(n=>n.image?.url).findIndex(n=>n==r):null}function x({product:t,variant:e}){const r=i({mediaList:t.media,variant:e});if(r!==null){const n=t.variants.filter(a=>e.id!==a.id).map(a=>i({mediaList:t.media,variant:a})).find(a=>a!==null&&a>r)||-1;return t.media.slice(r,n===-1?t.media.length:n)}else return t.media}export{p as atobID,f as btoaID,m as getNormalCoupon,l as getThemeLocale,i as getVariantImageIndex,x as getVariantMediaList,g as handle,d as isObjEmpty,c as replaceUmlaut};
2
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/biz-components/Listing/utils/helper.ts"],
4
+ "sourcesContent": ["// \u6539\u7EC4\u4EF6\u5BA2\u6237\u7AEF\u6267\u884C\n// import { SchemaVariant } from '@projectTypes/template'\nimport type { Product, ProductMedia, ProductVariant } from '../types/product'\nimport { CouponChannel } from '../const'\n// import Cookies from 'js-cookie'\n// import { Attribute, HasMetafieldsIdentifier } from 'lib/shopify/gql'\n// import { HasMetafieldQueryRoot } from 'lib/shopify/types/fetcher'\n// import { useEffect, useState } from 'react'\n\n// import { PartialRecord } from './type-helper'\n\n// \u5224\u65AD\u5BF9\u8C61\u662F\u5426\u4E3A\u7A7A\nexport function isObjEmpty(obj?: Record<string, any>) {\n if (!obj) return true\n else {\n return Object.keys(obj).length === 0\n }\n}\n\nexport function atobID(id: string) {\n if (id && typeof id === 'string' && id.includes('/')) {\n return id.split('/').pop()?.split('?')?.shift()\n } else {\n return id\n }\n}\n\nexport function btoaID(id: string, type: 'ProductVariant' | 'Product' = 'ProductVariant') {\n return `gid://shopify/${type}/${id}`\n}\n\n// \u76AE\u80A4\u7AD9\u4E09\u7EA7\u57DF\u540D\nexport const getThemeLocale = (locale: string) => {\n if (locale === 'eu-de') return 'de'\n if (locale === 'eu-en') return 'eu'\n if (locale === 'au') return 'au'\n return locale\n}\n\n/**\n * \u751F\u6210 metafieldIdentifiers \u67E5\u8BE2\u53C2\u6570\n */\n// export function constructMetafieldIdentifiersQueryParams<T extends HasMetafieldQueryRoot>(\n// metafieldIdentifiers: PartialRecord<T, HasMetafieldsIdentifier[]> = {},\n// ): PartialRecord<`${T}MetafieldIdentifiers`, HasMetafieldsIdentifier[]> {\n// const identifiers = Object.entries(metafieldIdentifiers).reduce(\n// (queryInput, [key, value]) => {\n// const metafieldIdentifiers = value as HasMetafieldsIdentifier[]\n// queryInput[`${key}MetafieldIdentifiers`] = metafieldIdentifiers\n// .filter((item) => !item.namespace.startsWith(metafieldNamespacePrefix))\n// .map((item) => ({\n// namespace: `${metafieldNamespacePrefix}combo`,\n// key: item.namespace,\n// }))\n// .concat(metafieldIdentifiers)\n// return queryInput\n// },\n// {} as PartialRecord<`${T}MetafieldIdentifiers`, HasMetafieldsIdentifier[]>,\n// )\n// return identifiers\n// }\n\n// export function cleanShopKey(shop: Shop) {\n// const { privacyPolicy, refundPolicy, shippingPolicy, termsOfService, subscriptionPolicy, ...otherShop } = shop\n// return otherShop\n// }\n\n// export const delHtmlTag = (str?: string) => {\n// return str ? String(str).replace(/<[^>]+>/g, '') : ''\n// }\n\nexport const getNormalCoupon = ({ variant }: { variant?: ProductVariant }) => {\n return variant?.coupons?.find(coupon => coupon.discount_type !== CouponChannel.WSCH)\n}\n\n// export const setCartSecretCookie = ({ cart }) => {\n// const key = cart.id.split('?key=')[1]\n// const id = cart.id.split('?key=')[0].split('gid://shopify/Cart/')[1]\n// Cookies.set(id, key, {\n// Domain: window.location.hostname.split('.').reverse().slice(0, 2).reverse().join('.'),\n// })\n// }\n\n// export const languageCode = (locale: string) =>\n// ({\n// us: 'US',\n// uk: 'GB',\n// ca: 'CA',\n// fr: 'FR',\n// au: 'AU',\n// my: 'MY',\n// vn: 'VN',\n// it: 'IT',\n// de: 'DE',\n// cl: 'CL',\n// })[locale] || 'US'\n\n// shopify \u7684\u7279\u6B8A\u6587\u4EF6\u8F6C\u6362\u89C4\u5219\nconst umlautMap = {\n '\\u00dc': 'U',\n '\\u00c4': 'A',\n '\\u00d6': 'O',\n '\\u00fc': 'u',\n '\\u00e4': 'a',\n '\\u00f6': 'o',\n '\\u00df': 'ss',\n '\\u00E8': 'e',\n}\n\n// \u66FF\u6362\u5B57\u7B26\u4E32\u4E2D\u7684\u7279\u6B8A\u5B57\u7B26\nexport function replaceUmlaut(str: string) {\n return str\n .replace(/[\\u00dc|\\u00c4|\\u00d6][a-z]/g, a => {\n const big = umlautMap[a.slice(0, 1) as keyof typeof umlautMap]\n return big.charAt(0) + big.charAt(1).toLowerCase() + a.slice(1)\n })\n .replace(new RegExp('[' + Object.keys(umlautMap).join('|') + ']', 'g'), a => umlautMap[a as keyof typeof umlautMap])\n}\n\n// \u5C06\u5B57\u7B26\u4E32\u8F6C\u6362\u4E3A slug\nexport function handle(str: string) {\n return replaceUmlaut(str)\n .replace(/ /g, '-')\n .replace(/[^a-zA-Z0-9-]/g, '')\n .toLowerCase()\n}\n\n// get variant image index\nexport function getVariantImageIndex({\n mediaList,\n variant,\n}: {\n variant: ProductVariant\n mediaList: ProductMedia[]\n}): null | number {\n const src = variant?.image?.url\n return src ? mediaList.map(media => media.image?.url).findIndex(imageSrc => imageSrc == src) : null\n}\n\n// get images belong to variant\nexport function getVariantMediaList({ product, variant }: { variant: ProductVariant; product: Product }) {\n const currentVariantImageIndex = getVariantImageIndex({ mediaList: product.media, variant })\n\n if (currentVariantImageIndex !== null) {\n const nextVariantImageIndex =\n product.variants\n .filter(v => variant.id !== v.id)\n .map(v => getVariantImageIndex({ mediaList: product.media, variant: v }))\n .find(index => index !== null && index > currentVariantImageIndex) || -1\n\n // current variant images, if no next variant found, return images from current index to the end\n return product.media.slice(\n currentVariantImageIndex,\n nextVariantImageIndex === -1 ? product.media.length : nextVariantImageIndex\n )\n } else {\n // if no variant image found, return all images\n return product.media\n }\n}\n\n// // \u901A\u8FC7\u9009\u62E9 option \u83B7\u53D6 variant\n// export function getVariantFromSelectedOptions({\n// product,\n// selectedOptions,\n// }: {\n// product: Product\n// selectedOptions: Record<string, string>\n// }) {\n// return product.variants.find((variant) => {\n// return Object.entries(selectedOptions).every(([key, value]) =>\n// variant.options.find((option) => {\n// if (option.__typename === 'MultipleChoiceOption' && option.name === key) {\n// return option.values.find((v) => v.label === value)\n// }\n// }),\n// )\n// })\n// }\n\n// export const getURLParameter = (name, url = window.location.href) => {\n// name = name.replace(/[\\[\\]]/g, '\\\\$&') // \u5C06\u65B9\u62EC\u53F7\u8F6C\u4E49\uFF0C\u4EE5\u4FBF\u5728\u6B63\u5219\u8868\u8FBE\u5F0F\u4E2D\u4F7F\u7528\n// var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)') // \u521B\u5EFA\u5339\u914D\u53C2\u6570\u7684\u6B63\u5219\u8868\u8FBE\u5F0F\n// var results = regex.exec(url) // \u5728URL\u4E2D\u67E5\u627E\u5339\u914D\u7684\u53C2\u6570\n// if (!results) return null // \u5982\u679C\u6CA1\u6709\u627E\u5230\u5339\u914D\u7684\u53C2\u6570\uFF0C\u5219\u8FD4\u56DEnull\n// if (!results[2]) return '' // \u5982\u679C\u53C2\u6570\u7684\u503C\u4E3A\u7A7A\uFF0C\u5219\u8FD4\u56DE\u7A7A\u5B57\u7B26\u4E32\n// return decodeURIComponent(results[2]) // \u8FD4\u56DE\u89E3\u7801\u540E\u7684\u53C2\u6570\u503C\n// }\n\n// export const checkItemAvailableForProduct = ({\n// product,\n// item,\n// variant,\n// }: {\n// product: Product\n// variant: ProductVariant\n// item?: {\n// includeTags?: string[]\n// includeProducts?: SchemaVariant[]\n// excludeProducts?: SchemaVariant[]\n// }\n// }) => {\n// if (item) {\n// if (Number(item?.includeTags?.length) > 0) {\n// return product.tags?.find((tag) => item?.includeTags?.includes(tag))\n// } else if (Number(item?.includeProducts?.length) > 0) {\n// return item.includeProducts?.find((p) => p?.variant?.handle === product.handle && p?.variant?.sku === variant.sku)\n// } else if (Number(item?.excludeProducts?.length) > 0) {\n// return !item.excludeProducts?.find(\n// (p) => p?.variant?.handle === product.handle && p?.variant?.sku === variant.sku,\n// )\n// } else {\n// return true\n// }\n// } else {\n// return false\n// }\n// }\n// export const getReferralAttributes = () => {\n// const inviteCode = Cookies.get('invite_code')\n// const playModeId = Cookies.get('playModeId')\n// const popup = Cookies.get('_popup')\n// if (inviteCode && playModeId) {\n// return popup\n// ? [\n// { key: '_invite_code', value: inviteCode ? inviteCode : '' },\n// { key: '_play_mode_id', value: playModeId ? playModeId : '' },\n// { key: '_popup', value: popup },\n// ]\n// : [\n// { key: '_invite_code', value: inviteCode ? inviteCode : '' },\n// { key: '_play_mode_id', value: playModeId ? playModeId : '' },\n// ]\n// }\n// return []\n// }\n\n// export function useH2Toc(htmlContent: string) {\n// const [toc, setToc] = useState<{ updatedHtmlContent: string; dataList: { url: string; text: string }[] }>({\n// updatedHtmlContent: htmlContent,\n// dataList: [],\n// })\n\n// useEffect(() => {\n// if (typeof window === 'undefined' || typeof document === 'undefined') return\n// const div = document.createElement('div')\n// div.innerHTML = htmlContent\n// const h2s = div.querySelectorAll('h2')\n// const dataList: { url: string; text: string }[] = []\n// h2s.forEach((h2, idx) => {\n// const text = (h2.textContent || '').trim()\n// if (!text) return\n// const id = encodeURIComponent(text).replace(/'/g, '&#39;')\n// h2.setAttribute('id', id)\n// dataList.push({ url: id, text })\n// })\n// setToc({ updatedHtmlContent: div.innerHTML, dataList })\n// }, [htmlContent])\n\n// return toc\n// }\n\n// export const isAttributesEqual = (oldAttributes: Attribute[], newAttributes: Attribute[]) => {\n// // \u6BD4\u5BF9\u4E24\u4E2A\u6570\u636E\u662F\u5426\u5B8C\u5168\u76F8\u540C\n// // \u68C0\u67E5\u6570\u7EC4\u957F\u5EA6\u662F\u5426\u76F8\u540C\n// if (oldAttributes?.length !== newAttributes?.length) {\n// return false\n// }\n\n// // \u5C06\u6570\u7EC4\u8F6C\u6362\u4E3A Map \u4EE5\u4FBF\u5FEB\u901F\u67E5\u627E\n// const oldMap = new Map(oldAttributes.map((attr) => [attr.key, attr.value]))\n// const newMap = new Map(newAttributes.map((attr) => [attr.key, attr.value]))\n\n// // \u68C0\u67E5\u6240\u6709 key \u662F\u5426\u90FD\u5B58\u5728\u4E14\u503C\u76F8\u540C\n// for (const [key, value] of newMap) {\n// if (!oldMap.has(key) || oldMap.get(key) !== value) {\n// return false\n// }\n// }\n\n// return true\n// }\n\n// // \u68C0\u67E5\u8F93\u5165\u6846\u4E2D\u7684\u7279\u6B8A\u7B26\u53F7\n// export function validateSpecialCharacters(input: string): { isValid: boolean; invalidChars: string[] } {\n// // \u5B9A\u4E49\u4E0D\u5141\u8BB8\u7684\u7279\u6B8A\u7B26\u53F7\n// const invalidSpecialChars = /[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?`~]/g\n\n// const matches = input.match(invalidSpecialChars)\n// const invalidChars = matches ? [...new Set(matches)] : []\n\n// return {\n// isValid: invalidChars.length === 0,\n// invalidChars,\n// }\n// }\n\n// // \u83B7\u53D6\u7279\u6B8A\u7B26\u53F7\u7684\u9519\u8BEF\u63D0\u793A\u4FE1\u606F\n// export function getSpecialCharErrorMessage(invalidChars: string[]): string {\n// if (invalidChars.length === 0) return ''\n\n// const uniqueChars = [...new Set(invalidChars)]\n// if (uniqueChars.length === 1) {\n// return `\u4E0D\u5141\u8BB8\u4F7F\u7528\u7279\u6B8A\u7B26\u53F7: ${uniqueChars[0]}`\n// } else {\n// return `\u4E0D\u5141\u8BB8\u4F7F\u7528\u4EE5\u4E0B\u7279\u6B8A\u7B26\u53F7: ${uniqueChars.join(', ')}`\n// }\n// }"],
5
+ "mappings": "AAGA,OAAS,iBAAAA,MAAqB,WASvB,SAASC,EAAWC,EAA2B,CACpD,OAAKA,EAEI,OAAO,KAAKA,CAAG,EAAE,SAAW,EAFpB,EAInB,CAEO,SAASC,EAAOC,EAAY,CACjC,OAAIA,GAAM,OAAOA,GAAO,UAAYA,EAAG,SAAS,GAAG,EAC1CA,EAAG,MAAM,GAAG,EAAE,IAAI,GAAG,MAAM,GAAG,GAAG,MAAM,EAEvCA,CAEX,CAEO,SAASC,EAAOD,EAAYE,EAAqC,iBAAkB,CACxF,MAAO,iBAAiBA,CAAI,IAAIF,CAAE,EACpC,CAGO,MAAMG,EAAkBC,GACzBA,IAAW,QAAgB,KAC3BA,IAAW,QAAgB,KAC3BA,IAAW,KAAa,KACrBA,EAmCIC,EAAkB,CAAC,CAAE,QAAAC,CAAQ,IACjCA,GAAS,SAAS,KAAKC,GAAUA,EAAO,gBAAkBX,EAAc,IAAI,EA0B/EY,EAAY,CAChB,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,IACV,OAAU,KACV,OAAU,GACZ,EAGO,SAASC,EAAcC,EAAa,CACzC,OAAOA,EACJ,QAAQ,+BAAgCC,GAAK,CAC5C,MAAMC,EAAMJ,EAAUG,EAAE,MAAM,EAAG,CAAC,CAA2B,EAC7D,OAAOC,EAAI,OAAO,CAAC,EAAIA,EAAI,OAAO,CAAC,EAAE,YAAY,EAAID,EAAE,MAAM,CAAC,CAChE,CAAC,EACA,QAAQ,IAAI,OAAO,IAAM,OAAO,KAAKH,CAAS,EAAE,KAAK,GAAG,EAAI,IAAK,GAAG,EAAGG,GAAKH,EAAUG,CAA2B,CAAC,CACvH,CAGO,SAASE,EAAOH,EAAa,CAClC,OAAOD,EAAcC,CAAG,EACrB,QAAQ,KAAM,GAAG,EACjB,QAAQ,iBAAkB,EAAE,EAC5B,YAAY,CACjB,CAGO,SAASI,EAAqB,CACnC,UAAAC,EACA,QAAAT,CACF,EAGkB,CAChB,MAAMU,EAAMV,GAAS,OAAO,IAC5B,OAAOU,EAAMD,EAAU,IAAIE,GAASA,EAAM,OAAO,GAAG,EAAE,UAAUC,GAAYA,GAAYF,CAAG,EAAI,IACjG,CAGO,SAASG,EAAoB,CAAE,QAAAC,EAAS,QAAAd,CAAQ,EAAkD,CACvG,MAAMe,EAA2BP,EAAqB,CAAE,UAAWM,EAAQ,MAAO,QAAAd,CAAQ,CAAC,EAE3F,GAAIe,IAA6B,KAAM,CACrC,MAAMC,EACJF,EAAQ,SACL,OAAOG,GAAKjB,EAAQ,KAAOiB,EAAE,EAAE,EAC/B,IAAIA,GAAKT,EAAqB,CAAE,UAAWM,EAAQ,MAAO,QAASG,CAAE,CAAC,CAAC,EACvE,KAAKC,GAASA,IAAU,MAAQA,EAAQH,CAAwB,GAAK,GAG1E,OAAOD,EAAQ,MAAM,MACnBC,EACAC,IAA0B,GAAKF,EAAQ,MAAM,OAASE,CACxD,CACF,KAEE,QAAOF,EAAQ,KAEnB",
6
+ "names": ["CouponChannel", "isObjEmpty", "obj", "atobID", "id", "btoaID", "type", "getThemeLocale", "locale", "getNormalCoupon", "variant", "coupon", "umlautMap", "replaceUmlaut", "str", "a", "big", "handle", "getVariantImageIndex", "mediaList", "src", "media", "imageSrc", "getVariantMediaList", "product", "currentVariantImageIndex", "nextVariantImageIndex", "v", "index"]
7
+ }
@@ -0,0 +1,37 @@
1
+ import type { Options, Product, ProductOption, ProductVariant } from '../types/product';
2
+ export declare function optionsConstructor(options: ProductOption[]): Options;
3
+ /**
4
+ * Returns the first available variant of a product.
5
+ * If no variant is available, it returns the first variant in the list.
6
+ *
7
+ * @param product - The product object.
8
+ * @returns The first available variant of the product.
9
+ */
10
+ export declare const getFirstAvailableVariant: (product: Product) => ProductVariant;
11
+ export declare const getVariantBySku: (product: Product, sku: string) => ProductVariant | undefined;
12
+ export declare const languageTerritory: (locale: string) => string;
13
+ export declare function formatPrice({ amount, currencyCode, locale, maximumFractionDigits, minimumFractionDigits, removeTrailingZeros, }: {
14
+ amount: number;
15
+ currencyCode: string;
16
+ locale: string;
17
+ maximumFractionDigits?: number;
18
+ minimumFractionDigits?: number;
19
+ removeTrailingZeros?: boolean;
20
+ }): string;
21
+ export declare function formatVariantPrice({ amount, baseAmount, currencyCode, locale, maximumFractionDigits, minimumFractionDigits, removeTrailingZeros, }: {
22
+ baseAmount: number;
23
+ amount: number;
24
+ currencyCode: string;
25
+ locale: string;
26
+ maximumFractionDigits?: number;
27
+ minimumFractionDigits?: number;
28
+ removeTrailingZeros?: boolean;
29
+ }): {
30
+ price: string;
31
+ basePrice: string | undefined;
32
+ discount: string | null;
33
+ };
34
+ export declare function getVariantFromSelectedOptions({ product, selectedOptions, }: {
35
+ product: Product;
36
+ selectedOptions: Record<string, string>;
37
+ }): ProductVariant | undefined;
@@ -0,0 +1,2 @@
1
+ import{PRICE_SYMBOL as u}from"../const";function y(e){return e.reduce((r,n)=>(r[n.name]=n.values[0].label,r),{})}const b=e=>e.variants.find(r=>r.availableForSale)||e.variants[0],P=(e,r)=>e.variants.find(n=>n.sku===r),c=e=>({us:"en-us",uk:"en-gb",ca:"en-ca",au:"en-au",eu:"en-eu",pl:"pl-pl",fr:"fr-fr",de:"de-de",vn:"vi-vn",sg:"en-sg","ae-en":"en-ae",plus:"en-us",cl:"es-cl",es:"es-es",se:"en-se",dk:"en-dk",is:"en-is",no:"en-no",fi:"en-fi"})[e]||"";function f({amount:e,currencyCode:r,locale:n,maximumFractionDigits:t,minimumFractionDigits:a,removeTrailingZeros:o=!1}){let i=new Intl.NumberFormat(c(n),{style:"currency",currency:r||"USD",minimumFractionDigits:t===0?0:a,maximumFractionDigits:t}).format(e);return["eu-de","eu-en","de","eu"].includes(n)&&(i=i?.toString()?.replace(/[\s]/g,"")),o&&(i=i.replace(/(\.\d*?[1-9])0+\b/,"$1").replace(/\.0+\b/,"").replace(/(\,\d*?[1-9])0+\b/,"$1").replace(/\,0+\b/,"")),i}function v({amount:e,baseAmount:r,currencyCode:n,locale:t,maximumFractionDigits:a,minimumFractionDigits:o,removeTrailingZeros:s}){if(typeof Intl>"u")return{price:`${u[t]}${e}`,basePrice:`${u[t]}${r}`,discount:`${u[t]}${r-e||0}`};const i=r>e,d=new Intl.NumberFormat(c(t),{style:"percent"}),p=i?d.format((r-e)/r):null,m=f({amount:e,currencyCode:n,locale:t,removeTrailingZeros:s}),l=i?f({amount:r,currencyCode:n,locale:t,maximumFractionDigits:a,minimumFractionDigits:o,removeTrailingZeros:s}):void 0;return{price:m,basePrice:l,discount:p}}function O({product:e,selectedOptions:r}){return e.variants.find(n=>Object.entries(r).every(([t,a])=>n.options.find(o=>{if(o.__typename==="MultipleChoiceOption"&&o.name===t)return o.values.find(s=>s.label===a)})))}export{f as formatPrice,v as formatVariantPrice,b as getFirstAvailableVariant,P as getVariantBySku,O as getVariantFromSelectedOptions,c as languageTerritory,y as optionsConstructor};
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../src/biz-components/Listing/utils/index.ts"],
4
+ "sourcesContent": ["import { PRICE_SYMBOL } from '../const'\nimport type { Options, Product, ProductOption, ProductVariant } from '../types/product'\n\nexport function optionsConstructor(options: ProductOption[]): Options {\n return options.reduce((pre: any, cur: any) => {\n pre[cur.name] = cur.values[0].label\n return pre\n }, {})\n}\n\n/**\n * Returns the first available variant of a product.\n * If no variant is available, it returns the first variant in the list.\n *\n * @param product - The product object.\n * @returns The first available variant of the product.\n */\nexport const getFirstAvailableVariant = (product: Product) =>\n product.variants.find((variant: ProductVariant) => variant.availableForSale) || product.variants[0]\n\nexport const getVariantBySku = (product: Product, sku: string) =>\n product.variants.find((variant: ProductVariant) => variant.sku === sku)\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 au: 'en-au',\n eu: 'en-eu',\n pl: 'pl-pl',\n fr: 'fr-fr',\n de: 'de-de',\n vn: 'vi-vn',\n sg: 'en-sg',\n 'ae-en': 'en-ae',\n plus: 'en-us',\n cl: 'es-cl',\n es: 'es-es',\n // Nordic countries\n se: 'en-se',\n dk: 'en-dk',\n is: 'en-is',\n no: 'en-no',\n fi: 'en-fi',\n })[locale] || ''\n\nexport function formatPrice({\n amount,\n currencyCode,\n locale,\n maximumFractionDigits,\n minimumFractionDigits,\n removeTrailingZeros = false,\n}: {\n amount: number\n currencyCode: string\n locale: string\n maximumFractionDigits?: number\n minimumFractionDigits?: number\n removeTrailingZeros?: boolean\n}) {\n const formatCurrency = new Intl.NumberFormat(languageTerritory(locale), {\n style: 'currency',\n currency: currencyCode || 'USD',\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 // Adjust the regex to match comma as decimal separator\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 locale,\n maximumFractionDigits,\n minimumFractionDigits,\n removeTrailingZeros,\n}: {\n baseAmount: number\n amount: number\n currencyCode: string\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 as keyof typeof PRICE_SYMBOL]}${amount}`,\n basePrice: `${PRICE_SYMBOL[locale as keyof typeof PRICE_SYMBOL]}${baseAmount}`,\n discount: `${PRICE_SYMBOL[locale as keyof typeof PRICE_SYMBOL]}${baseAmount - amount || 0}`,\n }\n }\n\n const hasDiscount = baseAmount > amount\n const formatDiscount = new Intl.NumberFormat(languageTerritory(locale), {\n style: 'percent',\n })\n const discount = hasDiscount ? formatDiscount.format((baseAmount - amount) / baseAmount) : null\n\n const price = formatPrice({ amount, currencyCode, locale, removeTrailingZeros })\n const basePrice = hasDiscount\n ? formatPrice({\n amount: baseAmount,\n currencyCode,\n locale,\n maximumFractionDigits,\n minimumFractionDigits,\n removeTrailingZeros,\n })\n : undefined\n\n return { price, basePrice, discount }\n}\n\nexport function getVariantFromSelectedOptions({\n product,\n selectedOptions,\n}: {\n product: Product\n selectedOptions: Record<string, string>\n}) {\n return product.variants.find(variant => {\n return Object.entries(selectedOptions).every(([key, value]) =>\n variant.options.find(option => {\n if (option.__typename === 'MultipleChoiceOption' && option.name === key) {\n return option.values.find(v => v.label === value)\n }\n })\n )\n })\n}"],
5
+ "mappings": "AAAA,OAAS,gBAAAA,MAAoB,WAGtB,SAASC,EAAmBC,EAAmC,CACpE,OAAOA,EAAQ,OAAO,CAACC,EAAUC,KAC/BD,EAAIC,EAAI,IAAI,EAAIA,EAAI,OAAO,CAAC,EAAE,MACvBD,GACN,CAAC,CAAC,CACP,CASO,MAAME,EAA4BC,GACvCA,EAAQ,SAAS,KAAMC,GAA4BA,EAAQ,gBAAgB,GAAKD,EAAQ,SAAS,CAAC,EAEvFE,EAAkB,CAACF,EAAkBG,IAChDH,EAAQ,SAAS,KAAMC,GAA4BA,EAAQ,MAAQE,CAAG,EAE3DC,EAAqBC,IAE/B,CACC,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,QAAS,QACT,KAAM,QACN,GAAI,QACJ,GAAI,QAEJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,OACN,GAAGA,CAAM,GAAK,GAET,SAASC,EAAY,CAC1B,OAAAC,EACA,aAAAC,EACA,OAAAH,EACA,sBAAAI,EACA,sBAAAC,EACA,oBAAAC,EAAsB,EACxB,EAOG,CAQD,IAAIC,EAPmB,IAAI,KAAK,aAAaR,EAAkBC,CAAM,EAAG,CACtE,MAAO,WACP,SAAUG,GAAgB,MAC1B,sBAAuBC,IAA0B,EAAI,EAAIC,EACzD,sBAAAD,CACF,CAAC,EAEmC,OAAOF,CAAM,EAEjD,MAAI,CAAC,QAAS,QAAS,KAAM,IAAI,EAAE,SAASF,CAAM,IAChDO,EAAiBA,GAAgB,SAAS,GAAG,QAAQ,QAAS,EAAE,GAG9DD,IAEFC,EAAiBA,EACd,QAAQ,oBAAqB,IAAI,EACjC,QAAQ,SAAU,EAAE,EACpB,QAAQ,oBAAqB,IAAI,EACjC,QAAQ,SAAU,EAAE,GAGlBA,CACT,CAEO,SAASC,EAAmB,CACjC,OAAAN,EACA,WAAAO,EACA,aAAAN,EACA,OAAAH,EACA,sBAAAI,EACA,sBAAAC,EACA,oBAAAC,CACF,EAQG,CACD,GAAI,OAAO,KAAS,IAClB,MAAO,CACL,MAAO,GAAGjB,EAAaW,CAAmC,CAAC,GAAGE,CAAM,GACpE,UAAW,GAAGb,EAAaW,CAAmC,CAAC,GAAGS,CAAU,GAC5E,SAAU,GAAGpB,EAAaW,CAAmC,CAAC,GAAGS,EAAaP,GAAU,CAAC,EAC3F,EAGF,MAAMQ,EAAcD,EAAaP,EAC3BS,EAAiB,IAAI,KAAK,aAAaZ,EAAkBC,CAAM,EAAG,CACtE,MAAO,SACT,CAAC,EACKY,EAAWF,EAAcC,EAAe,QAAQF,EAAaP,GAAUO,CAAU,EAAI,KAErFI,EAAQZ,EAAY,CAAE,OAAAC,EAAQ,aAAAC,EAAc,OAAAH,EAAQ,oBAAAM,CAAoB,CAAC,EACzEQ,EAAYJ,EACdT,EAAY,CACV,OAAQQ,EACR,aAAAN,EACA,OAAAH,EACA,sBAAAI,EACA,sBAAAC,EACA,oBAAAC,CACF,CAAC,EACD,OAEJ,MAAO,CAAE,MAAAO,EAAO,UAAAC,EAAW,SAAAF,CAAS,CACtC,CAEO,SAASG,EAA8B,CAC5C,QAAApB,EACA,gBAAAqB,CACF,EAGG,CACD,OAAOrB,EAAQ,SAAS,KAAKC,GACpB,OAAO,QAAQoB,CAAe,EAAE,MAAM,CAAC,CAACC,EAAKC,CAAK,IACvDtB,EAAQ,QAAQ,KAAKuB,GAAU,CAC7B,GAAIA,EAAO,aAAe,wBAA0BA,EAAO,OAASF,EAClE,OAAOE,EAAO,OAAO,KAAKC,GAAKA,EAAE,QAAUF,CAAK,CAEpD,CAAC,CACH,CACD,CACH",
6
+ "names": ["PRICE_SYMBOL", "optionsConstructor", "options", "pre", "cur", "getFirstAvailableVariant", "product", "variant", "getVariantBySku", "sku", "languageTerritory", "locale", "formatPrice", "amount", "currencyCode", "maximumFractionDigits", "minimumFractionDigits", "removeTrailingZeros", "formattedValue", "formatVariantPrice", "baseAmount", "hasDiscount", "formatDiscount", "discount", "price", "basePrice", "getVariantFromSelectedOptions", "selectedOptions", "key", "value", "option", "v"]
7
+ }
@@ -1,2 +1,2 @@
1
- import{Fragment as U,jsx as t,jsxs as i}from"react/jsx-runtime";import E,{useState as T,useEffect as H,useRef as j}from"react";import{useMediaQuery as D}from"react-responsive";import{withLayout as Q}from"../../shared/Styles.js";import G from"../../components/picture.js";import C from"../../components/button.js";import{Heading as _}from"../../components/heading.js";import{VideoModal as Y}from"../VideoModal/index.js";import{Grid as q,GridItem as z}from"../../components/gird.js";import A from"../Title/index.js";import{cn as y,spaceToHyphen as P}from"../../helpers/utils.js";import V from"../SwiperBox/index.js";import{isVideo as S}from"../../shared/mimeType.js";import{Tabs as O,TabsList as Z,TabsTrigger as F,TabsContent as J}from"../../components/tabs.js";import{useExposure as K}from"../../hooks/useExposure.js";import{trackUrlRef as L}from"../../shared/trackUrlRef.js";import{gaTrack as W}from"../../shared/track.js";const m="image",h="p1_banner",B=({data:f,configuration:c,jIndex:l,spanType:o,title:x})=>{const[k,u]=T(!1),g=D({query:"(max-width: 768px)"}),v=j(null),M=()=>{if(o)switch(o){case"full":return"tablet:aspect-w-[704] tablet:aspect-h-[400] laptop:aspect-w-[896] laptop:aspect-h-[384] desktop:aspect-w-[1312] desktop:aspect-h-[512] lg-desktop:aspect-w-[1664] lg-desktop:aspect-h-[640]";case"half":return"tablet:aspect-w-[704] tablet:aspect-h-[480] laptop:aspect-w-[440] laptop:aspect-h-[384] desktop:aspect-w-[648] desktop:aspect-h-[512] lg-desktop:aspect-w-[824] lg-desktop:aspect-h-[640]";case"one-third":return"tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]";default:return"tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]"}else switch(c?.num){case 1:return"tablet:aspect-w-[704] tablet:aspect-h-[400] laptop:aspect-w-[896] laptop:aspect-h-[384] desktop:aspect-w-[1312] desktop:aspect-h-[512] lg-desktop:aspect-w-[1664] lg-desktop:aspect-h-[640]";case 2:return"tablet:aspect-w-[704] tablet:aspect-h-[480] laptop:aspect-w-[440] laptop:aspect-h-[384] desktop:aspect-w-[648] desktop:aspect-h-[512] lg-desktop:aspect-w-[824] lg-desktop:aspect-h-[640]";case 3:return"tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]";default:return"tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]"}};K(v,{componentType:m,componentName:h,position:l,componentTitle:f.title,componentDescription:f.description,navigation:c?.activeTab}),H(()=>{u(g)},[g]);const{theme:$="light",title:n,description:d,imageUrl:p,primaryButton:r,secondaryButton:s,imageMobileUrl:w,blockLink:b,video:e,youtubeId:a,isYouTube:N}=f,I="lg-desktop:px-7 lg-desktop:pb-[14px] lg-desktop:pt-[15px] lg-desktop:text-[16px]";return i("div",{className:y("item-wrapper cursor-pointer","text-info-primary group relative box-border w-full overflow-hidden",M(),{"rounded-2xl":c?.shape==="rounded","aiui-dark":$==="dark","h-[400px]":k},"text-info-primary"),ref:v,children:[(b||s.link)&&t("a",{className:"absolute inset-0 z-10",href:L(b||s.link,`${m}_${h}`),"data-headless-type-name":`${m}#${h}`,"data-headless-title-desc-button":`${n}#${d}`,"data-headless-nav-postion":`${c?.activeTab}#${l}`,"aria-hidden":"true",tabIndex:-1}),i("div",{className:"absolute inset-0",children:[S(p?.mimeType)?t("video",{autoPlay:!0,muted:!0,playsInline:!0,loop:!0,className:"tablet:block hidden overflow-hidden w-full h-full object-cover",children:t("source",{src:p?.url,type:"video/mp4"})}):t(G,{source:p?.url,alt:p?.alt||"",className:"tablet:block hidden h-full overflow-hidden",imgClassName:"h-full transition-all duration-300 group-hover:scale-105 object-cover",style:{aspectRatio:`${p?.width}/${p?.height}`}}),S(w?.mimeType)?t("video",{autoPlay:!0,muted:!0,playsInline:!0,loop:!0,className:"tablet:hidden block overflow-hidden w-full h-full object-cover",children:t("source",{src:w?.url,type:"video/mp4"})}):t(G,{source:w?.url||p?.url,alt:w?.alt||p?.alt||"",className:"tablet:hidden block h-full overflow-hidden",imgClassName:"h-full transition-all duration-300 object-cover"}),i("div",{className:y("laptop:p-6 desktop:p-[32px] laptop:gap-4 desktop:gap-6 absolute inset-x-0 bottom-0 z-20 flex w-fit flex-col gap-6 p-4",{"laptop:top-1/2 laptop:-translate-y-1/2 laptop:bottom-auto":f?.width==="full"}),children:[i("div",{className:"flex flex-col gap-1",children:[t(_,{size:3,as:"h3",className:"item-title",html:n}),t(_,{as:"h4",className:"item-description desktop:text-[16px] lg-desktop:text-[18px] line-clamp-1 text-[14px]",html:d})]}),i("div",{className:"lg-desktop:gap-3 flex gap-2",children:[s&&s.text&&i(C,{"aria-label":n??d,className:y(I,"link-left"),variant:"secondary",as:"a",href:L(s.link,`${m}_${h}`),"data-headless-type-name":`${m}#${h}`,"data-headless-title-desc-button":`${n}#${d}#${s.text}`,"data-headless-nav-postion":`${c?.activeTab}#${l}`,children:[s.text,t("span",{className:"sr-only",children:n??d})]}),r&&r.text&&t(C,{"aria-label":n??d,className:y(I,"link-right"),variant:"primary",as:"a",href:L(r.link,`${m}_${h}`),"data-headless-type-name":`${m}#${h}`,"data-headless-title-desc-button":`${n}#${d}#${r.text}`,"data-headless-nav-postion":`${c?.activeTab}#${l}`,children:r.text})]})]})]}),t("div",{children:t("div",{className:"laptop:bottom-6 laptop:right-6 absolute bottom-4 right-4 z-20",children:(e?.url||a)&&t("button",{onClick:()=>{c?.onVideoPlayBtnClick?.(e?.url||a,N)},className:"laptop:size-12 flex size-8 items-center justify-center rounded-full bg-white bg-opacity-20 hover:bg-black/75",children:t("svg",{width:"12",height:"14",viewBox:"0 0 12 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:t("path",{d:"M12 7L0 14L0 0L12 7Z",fill:"white"})})})})})]})},R=E.forwardRef((f,c)=>{const{shape:l,sectionTitle:o,groupByTab:x=!1,items:k=[],carousel:u}=f.data,[g,v]=T(!1),[M,$]=T(""),[n,d]=T(""),p=e=>{switch(e){case"full":return 12;case"half":return 6;case"one-third":return 4}},r=k.map(e=>e.tabName).filter(Boolean).filter((e,a,N)=>N.indexOf(e)===a),s=(e,a)=>{v(!0),a?d?.(e||""):$?.(e||"")},w=(e,a)=>{switch(e){case 1:return 1;case 2:return 2;default:return a?2.3:3}},b=r.map(e=>({tabName:e,items:k.filter(a=>a.tabName===e)})).reduce((e,a)=>(e[a.tabName]=a.items,e),{});return i("section",{"data-ui-component-id":"MultiLayoutGraphicBlock",ref:c,className:y("multiLayoutGraphicBlock","text-info-primary",f.className),children:[o&&t(A,{data:{title:o},className:"section-title"}),x?i(O,{shape:l,align:"left",defaultValue:P(r[0]),children:[t(Z,{children:r.map((e,a)=>t(F,{value:P(e),onClick:()=>{W({event:"ga4Event",event_name:"component_click",event_parameters:{page_group:"Home Page",component_type:m,component_name:h,component_title:o,component_position:1,navigation:e,button_name:e}})},children:e},a))}),r.map((e,a)=>t(J,{value:P(e),className:"desktop:mt-[36px] mt-[24px] w-full",children:i(U,{children:[t(V,{className:"!overflow-visible",id:"MultiLayoutGraphicBlock1",data:{list:b?.[e]||[],configuration:{shape:l,isTab:x,activeTab:e,title:o,num:b?.[e]?.length||0,onVideoPlayBtnClick:s}},Slide:B,breakpoints:{0:{spaceBetween:12,freeMode:!1,slidesPerView:1},374:{spaceBetween:12,freeMode:!1,slidesPerView:1.2},768:{spaceBetween:16,freeMode:!1,slidesPerView:w(b?.[e]?.length||0,!0)},1024:{spaceBetween:16,freeMode:!1,slidesPerView:w(b?.[e]?.length||0)}}}),u&&u?.items.length>0?t(V,{className:"!overflow-visible",id:"MultiLayoutGraphicBlock2",data:{list:u?.items||[],configuration:{shape:l,isTab:x,onVideoPlayBtnClick:s,title:o}},Slide:B,breakpoints:{0:{spaceBetween:12,freeMode:!1,slidesPerView:1},374:{spaceBetween:12,freeMode:!1,slidesPerView:1.2},768:{spaceBetween:16,freeMode:!1,slidesPerView:2.3},1024:{spaceBetween:16,freeMode:!1,slidesPerView:3.1},1440:{spaceBetween:16,freeMode:!1,slidesPerView:4}}}):null]})},a))]}):i(U,{children:[i(q,{className:"w-full",children:[k.map((e,a)=>t(z,{span:p(e.width??"full"),className:"laptop:block hidden",children:t(B,{data:e,configuration:{shape:l,onVideoPlayBtnClick:s,title:o},jIndex:a,spanType:e.width})},`${e?.title||""}${a}`)),k.map((e,a)=>t(z,{span:p("full"),className:"laptop:hidden block",children:t(B,{data:e,configuration:{shape:l,onVideoPlayBtnClick:s,title:o},jIndex:a,spanType:"full"})},`${e?.title||""}${a}`))]}),u&&u?.items.length>0?t(V,{className:"!overflow-visible",id:"MultiLayoutGraphicBlock3",data:{list:u?.items||[],configuration:{shape:l,onVideoPlayBtnClick:s,title:o}},Slide:B,breakpoints:{0:{spaceBetween:12,freeMode:!1,slidesPerView:1},374:{spaceBetween:12,freeMode:!1,slidesPerView:1.2},768:{spaceBetween:16,freeMode:!1,slidesPerView:2.3},1024:{spaceBetween:16,freeMode:!1,slidesPerView:3.1},1440:{spaceBetween:16,freeMode:!1,slidesPerView:4}}}):null]}),g&&t(Y,{visible:g,youTubeId:n,videoUrl:M,onCloseModal:()=>v(!1)})]})});R.displayName="MultiLayoutGraphicBlock";var fe=Q(R);export{fe as default};
1
+ import{Fragment as U,jsx as t,jsxs as i}from"react/jsx-runtime";import E,{useState as T,useEffect as H,useRef as j}from"react";import{useMediaQuery as D}from"react-responsive";import{withLayout as Q}from"../../shared/Styles.js";import G from"../../components/picture.js";import C from"../../components/button.js";import{Heading as _}from"../../components/heading.js";import{VideoModal as Y}from"../VideoModal/index.js";import{Grid as q,GridItem as z}from"../../components/gird.js";import A from"../Title/index.js";import{cn as y,spaceToHyphen as P}from"../../helpers/utils.js";import V from"../SwiperBox/index.js";import{isVideo as S}from"../../shared/mimeType.js";import{Tabs as O,TabsList as Z,TabsTrigger as F,TabsContent as J}from"../../components/tabs.js";import{useExposure as K}from"../../hooks/useExposure.js";import{trackUrlRef as L}from"../../shared/trackUrlRef.js";import{gaTrack as W}from"../../shared/track.js";const m="image",h="p1_banner",B=({data:f,configuration:c,jIndex:l,spanType:o,title:x})=>{const[k,u]=T(!1),g=D({query:"(max-width: 768px)"}),v=j(null),M=()=>{if(o)switch(o){case"full":return"tablet:aspect-w-[704] tablet:aspect-h-[400] laptop:aspect-w-[896] laptop:aspect-h-[384] desktop:aspect-w-[1312] desktop:aspect-h-[512] lg-desktop:aspect-w-[1664] lg-desktop:aspect-h-[640]";case"half":return"tablet:aspect-w-[704] tablet:aspect-h-[480] laptop:aspect-w-[440] laptop:aspect-h-[384] desktop:aspect-w-[648] desktop:aspect-h-[512] lg-desktop:aspect-w-[824] lg-desktop:aspect-h-[640]";case"one-third":return"tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]";default:return"tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]"}else switch(c?.num){case 1:return"tablet:aspect-w-[704] tablet:aspect-h-[400] laptop:aspect-w-[896] laptop:aspect-h-[384] desktop:aspect-w-[1312] desktop:aspect-h-[512] lg-desktop:aspect-w-[1664] lg-desktop:aspect-h-[640]";case 2:return"tablet:aspect-w-[704] tablet:aspect-h-[480] laptop:aspect-w-[440] laptop:aspect-h-[384] desktop:aspect-w-[648] desktop:aspect-h-[512] lg-desktop:aspect-w-[824] lg-desktop:aspect-h-[640]";case 3:return"tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]";default:return"tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]"}};K(v,{componentType:m,componentName:h,position:l,componentTitle:f.title,componentDescription:f.description,navigation:c?.activeTab}),H(()=>{u(g)},[g]);const{theme:$="light",title:n,description:d,imageUrl:p,primaryButton:r,secondaryButton:s,imageMobileUrl:w,blockLink:b,video:e,youtubeId:a,isYouTube:N}=f,I="lg-desktop:px-7 lg-desktop:pb-[14px] lg-desktop:pt-[15px] lg-desktop:text-[16px]";return i("div",{className:y("item-wrapper cursor-pointer","text-info-primary group relative box-border w-full overflow-hidden",M(),{"rounded-2xl":c?.shape==="rounded","aiui-dark":$==="dark","h-[400px]":k},"text-info-primary"),ref:v,children:[(b||s.link)&&t("a",{className:"absolute inset-0 z-10",href:L(b||s.link,`${m}_${h}`),"data-headless-type-name":`${m}#${h}`,"data-headless-title-desc-button":`${n}#${d}`,"data-headless-nav-postion":`${c?.activeTab}#${l}`,"aria-hidden":"true",tabIndex:-1}),i("div",{className:"absolute inset-0",children:[S(p?.mimeType)?t("video",{autoPlay:!0,muted:!0,playsInline:!0,loop:!0,className:"tablet:block hidden overflow-hidden w-full h-full object-cover",children:t("source",{src:p?.url,type:"video/mp4"})}):t(G,{source:p?.url,alt:p?.alt||"",className:"tablet:block hidden h-full overflow-hidden",imgClassName:"h-full transition-all duration-300 group-hover:scale-105 object-cover",style:{aspectRatio:`${p?.width}/${p?.height}`}}),S(w?.mimeType)?t("video",{autoPlay:!0,muted:!0,playsInline:!0,loop:!0,className:"tablet:hidden block overflow-hidden w-full h-full object-cover",children:t("source",{src:w?.url,type:"video/mp4"})}):t(G,{source:w?.url||p?.url,alt:w?.alt||p?.alt||"",className:"tablet:hidden block h-full overflow-hidden",imgClassName:"h-full transition-all duration-300 object-cover"}),i("div",{className:y("absolutestyle laptop:p-6 desktop:p-[32px] laptop:gap-4 desktop:gap-6 absolute inset-x-0 bottom-0 z-20 flex w-fit flex-col gap-6 p-4",{"fullstyle laptop:top-1/2 laptop:-translate-y-1/2 laptop:bottom-auto":f?.width==="full"}),children:[i("div",{className:"flex flex-col gap-1",children:[t(_,{size:3,as:"h3",className:"item-title",html:n}),t(_,{as:"h4",className:"item-description desktop:text-[16px] lg-desktop:text-[18px] line-clamp-1 text-[14px]",html:d})]}),i("div",{className:"lg-desktop:gap-3 flex gap-2",children:[s&&s.text&&i(C,{"aria-label":n??d,className:y(I,"link-left"),variant:"secondary",as:"a",href:L(s.link,`${m}_${h}`),"data-headless-type-name":`${m}#${h}`,"data-headless-title-desc-button":`${n}#${d}#${s.text}`,"data-headless-nav-postion":`${c?.activeTab}#${l}`,children:[s.text,t("span",{className:"sr-only",children:n??d})]}),r&&r.text&&t(C,{"aria-label":n??d,className:y(I,"link-right"),variant:"primary",as:"a",href:L(r.link,`${m}_${h}`),"data-headless-type-name":`${m}#${h}`,"data-headless-title-desc-button":`${n}#${d}#${r.text}`,"data-headless-nav-postion":`${c?.activeTab}#${l}`,children:r.text})]})]})]}),t("div",{children:t("div",{className:"laptop:bottom-6 laptop:right-6 absolute bottom-4 right-4 z-20",children:(e?.url||a)&&t("button",{onClick:()=>{c?.onVideoPlayBtnClick?.(e?.url||a,N)},className:"laptop:size-12 flex size-8 items-center justify-center rounded-full bg-white bg-opacity-20 hover:bg-black/75",children:t("svg",{width:"12",height:"14",viewBox:"0 0 12 14",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:t("path",{d:"M12 7L0 14L0 0L12 7Z",fill:"white"})})})})})]})},R=E.forwardRef((f,c)=>{const{shape:l,sectionTitle:o,groupByTab:x=!1,items:k=[],carousel:u}=f.data,[g,v]=T(!1),[M,$]=T(""),[n,d]=T(""),p=e=>{switch(e){case"full":return 12;case"half":return 6;case"one-third":return 4}},r=k.map(e=>e.tabName).filter(Boolean).filter((e,a,N)=>N.indexOf(e)===a),s=(e,a)=>{v(!0),a?d?.(e||""):$?.(e||"")},w=(e,a)=>{switch(e){case 1:return 1;case 2:return 2;default:return a?2.3:3}},b=r.map(e=>({tabName:e,items:k.filter(a=>a.tabName===e)})).reduce((e,a)=>(e[a.tabName]=a.items,e),{});return i("section",{"data-ui-component-id":"MultiLayoutGraphicBlock",ref:c,className:y("multiLayoutGraphicBlock","text-info-primary",f.className),children:[o&&t(A,{data:{title:o},className:"section-title"}),x?i(O,{shape:l,align:"left",defaultValue:P(r[0]),children:[t(Z,{children:r.map((e,a)=>t(F,{value:P(e),onClick:()=>{W({event:"ga4Event",event_name:"component_click",event_parameters:{page_group:"Home Page",component_type:m,component_name:h,component_title:o,component_position:1,navigation:e,button_name:e}})},children:e},a))}),r.map((e,a)=>t(J,{value:P(e),className:"desktop:mt-[36px] mt-[24px] w-full",children:i(U,{children:[t(V,{className:"!overflow-visible",id:"MultiLayoutGraphicBlock1",data:{list:b?.[e]||[],configuration:{shape:l,isTab:x,activeTab:e,title:o,num:b?.[e]?.length||0,onVideoPlayBtnClick:s}},Slide:B,breakpoints:{0:{spaceBetween:12,freeMode:!1,slidesPerView:1},374:{spaceBetween:12,freeMode:!1,slidesPerView:1.2},768:{spaceBetween:16,freeMode:!1,slidesPerView:w(b?.[e]?.length||0,!0)},1024:{spaceBetween:16,freeMode:!1,slidesPerView:w(b?.[e]?.length||0)}}}),u&&u?.items.length>0?t(V,{className:"!overflow-visible",id:"MultiLayoutGraphicBlock2",data:{list:u?.items||[],configuration:{shape:l,isTab:x,onVideoPlayBtnClick:s,title:o}},Slide:B,breakpoints:{0:{spaceBetween:12,freeMode:!1,slidesPerView:1},374:{spaceBetween:12,freeMode:!1,slidesPerView:1.2},768:{spaceBetween:16,freeMode:!1,slidesPerView:2.3},1024:{spaceBetween:16,freeMode:!1,slidesPerView:3.1},1440:{spaceBetween:16,freeMode:!1,slidesPerView:4}}}):null]})},a))]}):i(U,{children:[i(q,{className:"w-full",children:[k.map((e,a)=>t(z,{span:p(e.width??"full"),className:"laptop:block hidden",children:t(B,{data:e,configuration:{shape:l,onVideoPlayBtnClick:s,title:o},jIndex:a,spanType:e.width})},`${e?.title||""}${a}`)),k.map((e,a)=>t(z,{span:p("full"),className:"laptop:hidden block",children:t(B,{data:e,configuration:{shape:l,onVideoPlayBtnClick:s,title:o},jIndex:a,spanType:"full"})},`${e?.title||""}${a}`))]}),u&&u?.items.length>0?t(V,{className:"!overflow-visible",id:"MultiLayoutGraphicBlock3",data:{list:u?.items||[],configuration:{shape:l,onVideoPlayBtnClick:s,title:o}},Slide:B,breakpoints:{0:{spaceBetween:12,freeMode:!1,slidesPerView:1},374:{spaceBetween:12,freeMode:!1,slidesPerView:1.2},768:{spaceBetween:16,freeMode:!1,slidesPerView:2.3},1024:{spaceBetween:16,freeMode:!1,slidesPerView:3.1},1440:{spaceBetween:16,freeMode:!1,slidesPerView:4}}}):null]}),g&&t(Y,{visible:g,youTubeId:n,videoUrl:M,onCloseModal:()=>v(!1)})]})});R.displayName="MultiLayoutGraphicBlock";var fe=Q(R);export{fe as default};
2
2
  //# sourceMappingURL=MultiLayoutGraphicBlock.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.tsx"],
4
- "sourcesContent": ["import React, { useState, useEffect, useRef } from 'react'\nimport { useMediaQuery } from 'react-responsive'\nimport type { MultiLayoutGraphicBlockProps, Item } from './types'\nimport { withLayout } from '../../shared/Styles.js'\nimport Picture from '../../components/picture.js'\nimport Button from '../../components/button.js'\nimport { Heading } from '../../components/heading.js'\nimport { VideoModal } from '../VideoModal/index.js'\nimport { Grid, GridItem } from '../../components/gird.js'\nimport Title from '../Title/index.js'\nimport { cn, spaceToHyphen } from '../../helpers/utils.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { isVideo } from '../../shared/mimeType.js'\nimport { Tabs, TabsList, TabsTrigger, TabsContent } from '../../components/tabs.js'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport { gaTrack } from '../../shared/track.js'\n\nconst componentType = 'image'\nconst componentName = 'p1_banner'\n\nconst ItemBlock = ({\n data: item,\n configuration,\n jIndex,\n spanType,\n title: titleProp,\n}: {\n data: Item\n configuration?: any\n jIndex?: number\n spanType?: string\n title?: string\n}) => {\n const [isMobile, setIsMobile] = useState<boolean>(false)\n const mediaQuery = useMediaQuery({ query: '(max-width: 768px)' })\n\n const ref = useRef<HTMLDivElement>(null)\n\n const handleAspect = () => {\n if (spanType) {\n switch (spanType) {\n case 'full':\n return 'tablet:aspect-w-[704] tablet:aspect-h-[400] laptop:aspect-w-[896] laptop:aspect-h-[384] desktop:aspect-w-[1312] desktop:aspect-h-[512] lg-desktop:aspect-w-[1664] lg-desktop:aspect-h-[640]'\n case 'half':\n return 'tablet:aspect-w-[704] tablet:aspect-h-[480] laptop:aspect-w-[440] laptop:aspect-h-[384] desktop:aspect-w-[648] desktop:aspect-h-[512] lg-desktop:aspect-w-[824] lg-desktop:aspect-h-[640]'\n case 'one-third':\n return 'tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]'\n default:\n return 'tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]'\n }\n } else {\n switch (configuration?.num) {\n case 1:\n return 'tablet:aspect-w-[704] tablet:aspect-h-[400] laptop:aspect-w-[896] laptop:aspect-h-[384] desktop:aspect-w-[1312] desktop:aspect-h-[512] lg-desktop:aspect-w-[1664] lg-desktop:aspect-h-[640]'\n case 2:\n return 'tablet:aspect-w-[704] tablet:aspect-h-[480] laptop:aspect-w-[440] laptop:aspect-h-[384] desktop:aspect-w-[648] desktop:aspect-h-[512] lg-desktop:aspect-w-[824] lg-desktop:aspect-h-[640]'\n case 3:\n return 'tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]'\n default:\n return 'tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]'\n }\n }\n }\n\n useExposure(ref, {\n componentType: componentType,\n componentName: componentName,\n position: jIndex,\n componentTitle: item.title,\n componentDescription: item.description,\n navigation: configuration?.activeTab,\n })\n\n useEffect(() => {\n setIsMobile(mediaQuery)\n }, [mediaQuery])\n\n const {\n theme = 'light',\n title,\n description,\n imageUrl,\n primaryButton,\n secondaryButton,\n imageMobileUrl,\n blockLink,\n video,\n youtubeId,\n isYouTube,\n } = item\n const lgButtonSize = 'lg-desktop:px-7 lg-desktop:pb-[14px] lg-desktop:pt-[15px] lg-desktop:text-[16px]'\n\n return (\n <div\n className={cn(\n 'item-wrapper cursor-pointer',\n 'text-info-primary group relative box-border w-full overflow-hidden',\n handleAspect(),\n {\n 'rounded-2xl': configuration?.shape === 'rounded',\n 'aiui-dark': theme === 'dark',\n 'h-[400px]': isMobile,\n },\n `text-info-primary`\n )}\n ref={ref}\n >\n {(blockLink || secondaryButton.link) && (\n <a\n className=\"absolute inset-0 z-10\"\n href={trackUrlRef(blockLink || secondaryButton.link, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${title}#${description}`}\n data-headless-nav-postion={`${configuration?.activeTab}#${jIndex}`}\n aria-hidden=\"true\"\n tabIndex={-1}\n />\n )}\n <div className=\"absolute inset-0\">\n {isVideo(imageUrl?.mimeType) ? (\n <video autoPlay muted playsInline loop className=\"tablet:block hidden overflow-hidden w-full h-full object-cover\">\n <source src={imageUrl?.url} type=\"video/mp4\" />\n </video>\n ) : (\n <Picture\n source={imageUrl?.url}\n alt={imageUrl?.alt || ''}\n className=\"tablet:block hidden h-full overflow-hidden\"\n imgClassName=\"h-full transition-all duration-300 group-hover:scale-105 object-cover\"\n style={{ aspectRatio: `${imageUrl?.width}/${imageUrl?.height}` }}\n />\n )}\n {isVideo(imageMobileUrl?.mimeType) ? (\n <video autoPlay muted playsInline loop className=\"tablet:hidden block overflow-hidden w-full h-full object-cover\">\n <source src={imageMobileUrl?.url} type=\"video/mp4\" />\n </video>\n ) : (\n <Picture\n source={imageMobileUrl?.url || imageUrl?.url}\n alt={imageMobileUrl?.alt || imageUrl?.alt || ''}\n className=\"tablet:hidden block h-full overflow-hidden\"\n imgClassName=\"h-full transition-all duration-300 object-cover\"\n />\n )}\n <div\n className={cn(\n 'laptop:p-6 desktop:p-[32px] laptop:gap-4 desktop:gap-6 absolute inset-x-0 bottom-0 z-20 flex w-fit flex-col gap-6 p-4',\n {\n 'laptop:top-1/2 laptop:-translate-y-1/2 laptop:bottom-auto': item?.width === 'full',\n }\n )}\n >\n <div className=\"flex flex-col gap-1\">\n <Heading size={3} as=\"h3\" className=\"item-title\" html={title} />\n <Heading\n as=\"h4\"\n className=\"item-description desktop:text-[16px] lg-desktop:text-[18px] line-clamp-1 text-[14px]\"\n html={description}\n />\n </div>\n <div className=\"lg-desktop:gap-3 flex gap-2\">\n {secondaryButton && secondaryButton.text && (\n <Button\n aria-label={title ?? description}\n className={cn(lgButtonSize, 'link-left')}\n variant=\"secondary\"\n as=\"a\"\n href={trackUrlRef(secondaryButton.link, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${title}#${description}#${secondaryButton.text}`}\n data-headless-nav-postion={`${configuration?.activeTab}#${jIndex}`}\n >\n {secondaryButton.text}\n <span className=\"sr-only\">{title ?? description}</span>\n </Button>\n )}\n {primaryButton && primaryButton.text && (\n <Button\n aria-label={title ?? description}\n className={cn(lgButtonSize, 'link-right')}\n variant=\"primary\"\n as=\"a\"\n href={trackUrlRef(primaryButton.link, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${title}#${description}#${primaryButton.text}`}\n data-headless-nav-postion={`${configuration?.activeTab}#${jIndex}`}\n >\n {primaryButton.text}\n </Button>\n )}\n </div>\n </div>\n </div>\n <div>\n <div className=\"laptop:bottom-6 laptop:right-6 absolute bottom-4 right-4 z-20\">\n {(video?.url || youtubeId) && (\n <button\n onClick={() => {\n configuration?.onVideoPlayBtnClick?.(video?.url || youtubeId, isYouTube)\n }}\n className=\"laptop:size-12 flex size-8 items-center justify-center rounded-full bg-white bg-opacity-20 hover:bg-black/75\"\n >\n <svg width=\"12\" height=\"14\" viewBox=\"0 0 12 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 7L0 14L0 0L12 7Z\" fill=\"white\" />\n </svg>\n </button>\n )}\n </div>\n </div>\n </div>\n )\n}\n\nconst MultiLayoutGraphicBlock = React.forwardRef<HTMLDivElement, MultiLayoutGraphicBlockProps>((props, ref) => {\n const { shape, sectionTitle, groupByTab = false, items = [], carousel } = props.data\n const [visible, setVisible] = useState<boolean>(false)\n const [videoUrl, setVideoUrl] = useState<string>('')\n const [youTubeId, setYouTubeId] = useState<string>('')\n\n const getSpan = (width: 'full' | 'half' | 'one-third') => {\n switch (width) {\n case 'full':\n return 12\n case 'half':\n return 6\n case 'one-third':\n return 4\n }\n }\n\n const tabNames = items\n .map(item => item.tabName)\n .filter(Boolean)\n .filter((item, index, arr) => arr.indexOf(item) === index) as string[]\n\n const handleVideoPlayBtnClick = (url: string, isYouTube: boolean) => {\n setVisible(true)\n if (isYouTube) {\n setYouTubeId?.(url || '')\n } else {\n setVideoUrl?.(url || '')\n }\n }\n const handleTabNumber = (num: Number, flag?: boolean) => {\n switch (num) {\n case 1:\n return 1\n case 2:\n return 2\n default:\n return flag ? 2.3 : 3\n }\n }\n\n const tabItemsMaps = tabNames\n .map(tabName => ({\n tabName,\n items: items.filter(item => item.tabName === tabName),\n }))\n .reduce(\n (acc, cur) => {\n acc[cur.tabName] = cur.items\n return acc\n },\n {} as Record<string, (Item & { width?: 'full' | 'half' | 'one-third' })[]>\n )\n\n return (\n <section\n data-ui-component-id=\"MultiLayoutGraphicBlock\"\n ref={ref}\n className={cn('multiLayoutGraphicBlock', 'text-info-primary', props.className)}\n >\n {sectionTitle && <Title data={{ title: sectionTitle }} className=\"section-title\" />}\n\n {groupByTab ? (\n <Tabs shape={shape} align=\"left\" defaultValue={spaceToHyphen(tabNames[0]!)}>\n <TabsList>\n {tabNames.map((tabName, index) => (\n <TabsTrigger\n key={index}\n value={spaceToHyphen(tabName!)}\n onClick={() => {\n gaTrack({\n event: 'ga4Event',\n event_name: 'component_click',\n event_parameters: {\n page_group: 'Home Page',\n component_type: componentType,\n component_name: componentName,\n component_title: sectionTitle,\n component_position: 1,\n navigation: tabName,\n button_name: tabName,\n },\n })\n }}\n >\n {tabName}\n </TabsTrigger>\n ))}\n </TabsList>\n {tabNames.map((tabName, index) => (\n <TabsContent key={index} value={spaceToHyphen(tabName!)} className=\"desktop:mt-[36px] mt-[24px] w-full\">\n <>\n <SwiperBox\n className=\"!overflow-visible\"\n id={'MultiLayoutGraphicBlock1'}\n data={{\n list: tabItemsMaps?.[tabName] || [],\n configuration: {\n shape: shape,\n isTab: groupByTab,\n activeTab: tabName,\n title: sectionTitle,\n num: tabItemsMaps?.[tabName]?.length || 0,\n onVideoPlayBtnClick: handleVideoPlayBtnClick,\n },\n }}\n Slide={ItemBlock}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1.2,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: handleTabNumber(tabItemsMaps?.[tabName]?.length || 0, true),\n },\n 1024: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: handleTabNumber(tabItemsMaps?.[tabName]?.length || 0),\n },\n }}\n />\n {carousel && carousel?.items.length > 0 ? (\n <SwiperBox\n className=\"!overflow-visible\"\n id={'MultiLayoutGraphicBlock2'}\n data={{\n list: carousel?.items || [],\n configuration: {\n shape: shape,\n isTab: groupByTab,\n onVideoPlayBtnClick: handleVideoPlayBtnClick,\n title: sectionTitle,\n },\n }}\n Slide={ItemBlock}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1.2,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 2.3,\n },\n 1024: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 3.1,\n },\n 1440: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 4,\n },\n }}\n />\n ) : null}\n </>\n </TabsContent>\n ))}\n </Tabs>\n ) : (\n <>\n <Grid className=\"w-full\">\n {items.map((item, index) => {\n return (\n <GridItem\n key={`${item?.title || ''}${index}`}\n span={getSpan(item.width ?? 'full')}\n className=\"laptop:block hidden\"\n >\n <ItemBlock\n data={item}\n configuration={{ shape: shape, onVideoPlayBtnClick: handleVideoPlayBtnClick, title: sectionTitle }}\n jIndex={index}\n spanType={item.width}\n />\n </GridItem>\n )\n })}\n {items.map((item, index) => (\n <GridItem key={`${item?.title || ''}${index}`} span={getSpan('full')} className=\"laptop:hidden block\">\n <ItemBlock\n data={item}\n configuration={{ shape: shape, onVideoPlayBtnClick: handleVideoPlayBtnClick, title: sectionTitle }}\n jIndex={index}\n spanType={'full'}\n />\n </GridItem>\n ))}\n </Grid>\n {carousel && carousel?.items.length > 0 ? (\n <SwiperBox\n className=\"!overflow-visible\"\n id={'MultiLayoutGraphicBlock3'}\n data={{\n list: carousel?.items || [],\n configuration: { shape: shape, onVideoPlayBtnClick: handleVideoPlayBtnClick, title: sectionTitle },\n }}\n Slide={ItemBlock}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1.2,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 2.3,\n },\n 1024: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 3.1,\n },\n 1440: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 4,\n },\n }}\n />\n ) : null}\n </>\n )}\n {visible && (\n <VideoModal\n visible={visible}\n youTubeId={youTubeId}\n videoUrl={videoUrl}\n onCloseModal={() => setVisible(false)}\n />\n )}\n </section>\n )\n})\n\nMultiLayoutGraphicBlock.displayName = 'MultiLayoutGraphicBlock'\n\nexport default withLayout(MultiLayoutGraphicBlock)\nexport type { MultiLayoutGraphicBlockProps }\n"],
5
- "mappings": "AA6GQ,OAoMM,YAAAA,EApMN,OAAAC,EA4CE,QAAAC,MA5CF,oBA7GR,OAAOC,GAAS,YAAAC,EAAU,aAAAC,EAAW,UAAAC,MAAc,QACnD,OAAS,iBAAAC,MAAqB,mBAE9B,OAAS,cAAAC,MAAkB,yBAC3B,OAAOC,MAAa,8BACpB,OAAOC,MAAY,6BACnB,OAAS,WAAAC,MAAe,8BACxB,OAAS,cAAAC,MAAkB,yBAC3B,OAAS,QAAAC,EAAM,YAAAC,MAAgB,2BAC/B,OAAOC,MAAW,oBAClB,OAAS,MAAAC,EAAI,iBAAAC,MAAqB,yBAClC,OAAOC,MAAe,wBACtB,OAAS,WAAAC,MAAe,2BACxB,OAAS,QAAAC,EAAM,YAAAC,EAAU,eAAAC,EAAa,eAAAC,MAAmB,2BACzD,OAAS,eAAAC,MAAmB,6BAC5B,OAAS,eAAAC,MAAmB,8BAC5B,OAAS,WAAAC,MAAe,wBAExB,MAAMC,EAAgB,QAChBC,EAAgB,YAEhBC,EAAY,CAAC,CACjB,KAAMC,EACN,cAAAC,EACA,OAAAC,EACA,SAAAC,EACA,MAAOC,CACT,IAMM,CACJ,KAAM,CAACC,EAAUC,CAAW,EAAIhC,EAAkB,EAAK,EACjDiC,EAAa9B,EAAc,CAAE,MAAO,oBAAqB,CAAC,EAE1D+B,EAAMhC,EAAuB,IAAI,EAEjCiC,EAAe,IAAM,CACzB,GAAIN,EACF,OAAQA,EAAU,CAChB,IAAK,OACH,MAAO,8LACT,IAAK,OACH,MAAO,4LACT,IAAK,YACH,MAAO,4LACT,QACE,MAAO,2LACX,KAEA,QAAQF,GAAe,IAAK,CAC1B,IAAK,GACH,MAAO,8LACT,IAAK,GACH,MAAO,4LACT,IAAK,GACH,MAAO,4LACT,QACE,MAAO,2LACX,CAEJ,EAEAP,EAAYc,EAAK,CACf,cAAeX,EACf,cAAeC,EACf,SAAUI,EACV,eAAgBF,EAAK,MACrB,qBAAsBA,EAAK,YAC3B,WAAYC,GAAe,SAC7B,CAAC,EAED1B,EAAU,IAAM,CACd+B,EAAYC,CAAU,CACxB,EAAG,CAACA,CAAU,CAAC,EAEf,KAAM,CACJ,MAAAG,EAAQ,QACR,MAAAC,EACA,YAAAC,EACA,SAAAC,EACA,cAAAC,EACA,gBAAAC,EACA,eAAAC,EACA,UAAAC,EACA,MAAAC,EACA,UAAAC,EACA,UAAAC,CACF,EAAIpB,EACEqB,EAAe,mFAErB,OACEjD,EAAC,OACC,UAAWc,EACT,8BACA,qEACAuB,EAAa,EACb,CACE,cAAeR,GAAe,QAAU,UACxC,YAAaS,IAAU,OACvB,YAAaL,CACf,EACA,mBACF,EACA,IAAKG,EAEH,WAAAS,GAAaF,EAAgB,OAC7B5C,EAAC,KACC,UAAU,wBACV,KAAMwB,EAAYsB,GAAaF,EAAgB,KAAM,GAAGlB,CAAa,IAAIC,CAAa,EAAE,EACxF,0BAAyB,GAAGD,CAAa,IAAIC,CAAa,GAC1D,kCAAiC,GAAGa,CAAK,IAAIC,CAAW,GACxD,4BAA2B,GAAGX,GAAe,SAAS,IAAIC,CAAM,GAChE,cAAY,OACZ,SAAU,GACZ,EAEF9B,EAAC,OAAI,UAAU,mBACZ,UAAAiB,EAAQwB,GAAU,QAAQ,EACzB1C,EAAC,SAAM,SAAQ,GAAC,MAAK,GAAC,YAAW,GAAC,KAAI,GAAC,UAAU,iEAC/C,SAAAA,EAAC,UAAO,IAAK0C,GAAU,IAAK,KAAK,YAAY,EAC/C,EAEA1C,EAACQ,EAAA,CACC,OAAQkC,GAAU,IAClB,IAAKA,GAAU,KAAO,GACtB,UAAU,6CACV,aAAa,wEACb,MAAO,CAAE,YAAa,GAAGA,GAAU,KAAK,IAAIA,GAAU,MAAM,EAAG,EACjE,EAEDxB,EAAQ2B,GAAgB,QAAQ,EAC/B7C,EAAC,SAAM,SAAQ,GAAC,MAAK,GAAC,YAAW,GAAC,KAAI,GAAC,UAAU,iEAC/C,SAAAA,EAAC,UAAO,IAAK6C,GAAgB,IAAK,KAAK,YAAY,EACrD,EAEA7C,EAACQ,EAAA,CACC,OAAQqC,GAAgB,KAAOH,GAAU,IACzC,IAAKG,GAAgB,KAAOH,GAAU,KAAO,GAC7C,UAAU,6CACV,aAAa,kDACf,EAEFzC,EAAC,OACC,UAAWc,EACT,wHACA,CACE,4DAA6Dc,GAAM,QAAU,MAC/E,CACF,EAEA,UAAA5B,EAAC,OAAI,UAAU,sBACb,UAAAD,EAACU,EAAA,CAAQ,KAAM,EAAG,GAAG,KAAK,UAAU,aAAa,KAAM8B,EAAO,EAC9DxC,EAACU,EAAA,CACC,GAAG,KACH,UAAU,uFACV,KAAM+B,EACR,GACF,EACAxC,EAAC,OAAI,UAAU,8BACZ,UAAA2C,GAAmBA,EAAgB,MAClC3C,EAACQ,EAAA,CACC,aAAY+B,GAASC,EACrB,UAAW1B,EAAGmC,EAAc,WAAW,EACvC,QAAQ,YACR,GAAG,IACH,KAAM1B,EAAYoB,EAAgB,KAAM,GAAGlB,CAAa,IAAIC,CAAa,EAAE,EAC3E,0BAAyB,GAAGD,CAAa,IAAIC,CAAa,GAC1D,kCAAiC,GAAGa,CAAK,IAAIC,CAAW,IAAIG,EAAgB,IAAI,GAChF,4BAA2B,GAAGd,GAAe,SAAS,IAAIC,CAAM,GAE/D,UAAAa,EAAgB,KACjB5C,EAAC,QAAK,UAAU,UAAW,SAAAwC,GAASC,EAAY,GAClD,EAEDE,GAAiBA,EAAc,MAC9B3C,EAACS,EAAA,CACC,aAAY+B,GAASC,EACrB,UAAW1B,EAAGmC,EAAc,YAAY,EACxC,QAAQ,UACR,GAAG,IACH,KAAM1B,EAAYmB,EAAc,KAAM,GAAGjB,CAAa,IAAIC,CAAa,EAAE,EACzE,0BAAyB,GAAGD,CAAa,IAAIC,CAAa,GAC1D,kCAAiC,GAAGa,CAAK,IAAIC,CAAW,IAAIE,EAAc,IAAI,GAC9E,4BAA2B,GAAGb,GAAe,SAAS,IAAIC,CAAM,GAE/D,SAAAY,EAAc,KACjB,GAEJ,GACF,GACF,EACA3C,EAAC,OACC,SAAAA,EAAC,OAAI,UAAU,gEACX,UAAA+C,GAAO,KAAOC,IACdhD,EAAC,UACC,QAAS,IAAM,CACb8B,GAAe,sBAAsBiB,GAAO,KAAOC,EAAWC,CAAS,CACzE,EACA,UAAU,+GAEV,SAAAjD,EAAC,OAAI,MAAM,KAAK,OAAO,KAAK,QAAQ,YAAY,KAAK,OAAO,MAAM,6BAChE,SAAAA,EAAC,QAAK,EAAE,uBAAuB,KAAK,QAAQ,EAC9C,EACF,EAEJ,EACF,GACF,CAEJ,EAEMmD,EAA0BjD,EAAM,WAAyD,CAACkD,EAAOf,IAAQ,CAC7G,KAAM,CAAE,MAAAgB,EAAO,aAAAC,EAAc,WAAAC,EAAa,GAAO,MAAAC,EAAQ,CAAC,EAAG,SAAAC,CAAS,EAAIL,EAAM,KAC1E,CAACM,EAASC,CAAU,EAAIxD,EAAkB,EAAK,EAC/C,CAACyD,EAAUC,CAAW,EAAI1D,EAAiB,EAAE,EAC7C,CAAC2D,EAAWC,CAAY,EAAI5D,EAAiB,EAAE,EAE/C6D,EAAWC,GAAyC,CACxD,OAAQA,EAAO,CACb,IAAK,OACH,MAAO,IACT,IAAK,OACH,MAAO,GACT,IAAK,YACH,MAAO,EACX,CACF,EAEMC,EAAWV,EACd,IAAI3B,GAAQA,EAAK,OAAO,EACxB,OAAO,OAAO,EACd,OAAO,CAACA,EAAMsC,EAAOC,IAAQA,EAAI,QAAQvC,CAAI,IAAMsC,CAAK,EAErDE,EAA0B,CAACC,EAAarB,IAAuB,CACnEU,EAAW,EAAI,EACXV,EACFc,IAAeO,GAAO,EAAE,EAExBT,IAAcS,GAAO,EAAE,CAE3B,EACMC,EAAkB,CAACC,EAAaC,IAAmB,CACvD,OAAQD,EAAK,CACX,IAAK,GACH,MAAO,GACT,IAAK,GACH,MAAO,GACT,QACE,OAAOC,EAAO,IAAM,CACxB,CACF,EAEMC,EAAeR,EAClB,IAAIS,IAAY,CACf,QAAAA,EACA,MAAOnB,EAAM,OAAO3B,GAAQA,EAAK,UAAY8C,CAAO,CACtD,EAAE,EACD,OACC,CAACC,EAAKC,KACJD,EAAIC,EAAI,OAAO,EAAIA,EAAI,MAChBD,GAET,CAAC,CACH,EAEF,OACE3E,EAAC,WACC,uBAAqB,0BACrB,IAAKoC,EACL,UAAWtB,EAAG,0BAA2B,oBAAqBqC,EAAM,SAAS,EAE5E,UAAAE,GAAgBtD,EAACc,EAAA,CAAM,KAAM,CAAE,MAAOwC,CAAa,EAAG,UAAU,gBAAgB,EAEhFC,EACCtD,EAACkB,EAAA,CAAK,MAAOkC,EAAO,MAAM,OAAO,aAAcrC,EAAckD,EAAS,CAAC,CAAE,EACvE,UAAAlE,EAACoB,EAAA,CACE,SAAA8C,EAAS,IAAI,CAACS,EAASR,IACtBnE,EAACqB,EAAA,CAEC,MAAOL,EAAc2D,CAAQ,EAC7B,QAAS,IAAM,CACblD,EAAQ,CACN,MAAO,WACP,WAAY,kBACZ,iBAAkB,CAChB,WAAY,YACZ,eAAgBC,EAChB,eAAgBC,EAChB,gBAAiB2B,EACjB,mBAAoB,EACpB,WAAYqB,EACZ,YAAaA,CACf,CACF,CAAC,CACH,EAEC,SAAAA,GAlBIR,CAmBP,CACD,EACH,EACCD,EAAS,IAAI,CAACS,EAASR,IACtBnE,EAACsB,EAAA,CAAwB,MAAON,EAAc2D,CAAQ,EAAG,UAAU,qCACjE,SAAA1E,EAAAF,EAAA,CACE,UAAAC,EAACiB,EAAA,CACC,UAAU,oBACV,GAAI,2BACJ,KAAM,CACJ,KAAMyD,IAAeC,CAAO,GAAK,CAAC,EAClC,cAAe,CACb,MAAOtB,EACP,MAAOE,EACP,UAAWoB,EACX,MAAOrB,EACP,IAAKoB,IAAeC,CAAO,GAAG,QAAU,EACxC,oBAAqBN,CACvB,CACF,EACA,MAAOzC,EACP,YAAa,CACX,EAAG,CACD,aAAc,GACd,SAAU,GACV,cAAe,CACjB,EACA,IAAK,CACH,aAAc,GACd,SAAU,GACV,cAAe,GACjB,EACA,IAAK,CACH,aAAc,GACd,SAAU,GACV,cAAe2C,EAAgBG,IAAeC,CAAO,GAAG,QAAU,EAAG,EAAI,CAC3E,EACA,KAAM,CACJ,aAAc,GACd,SAAU,GACV,cAAeJ,EAAgBG,IAAeC,CAAO,GAAG,QAAU,CAAC,CACrE,CACF,EACF,EACClB,GAAYA,GAAU,MAAM,OAAS,EACpCzD,EAACiB,EAAA,CACC,UAAU,oBACV,GAAI,2BACJ,KAAM,CACJ,KAAMwC,GAAU,OAAS,CAAC,EAC1B,cAAe,CACb,MAAOJ,EACP,MAAOE,EACP,oBAAqBc,EACrB,MAAOf,CACT,CACF,EACA,MAAO1B,EACP,YAAa,CACX,EAAG,CACD,aAAc,GACd,SAAU,GACV,cAAe,CACjB,EACA,IAAK,CACH,aAAc,GACd,SAAU,GACV,cAAe,GACjB,EACA,IAAK,CACH,aAAc,GACd,SAAU,GACV,cAAe,GACjB,EACA,KAAM,CACJ,aAAc,GACd,SAAU,GACV,cAAe,GACjB,EACA,KAAM,CACJ,aAAc,GACd,SAAU,GACV,cAAe,CACjB,CACF,EACF,EACE,MACN,GAnFgBuC,CAoFlB,CACD,GACH,EAEAlE,EAAAF,EAAA,CACE,UAAAE,EAACW,EAAA,CAAK,UAAU,SACb,UAAA4C,EAAM,IAAI,CAAC3B,EAAMsC,IAEdnE,EAACa,EAAA,CAEC,KAAMmD,EAAQnC,EAAK,OAAS,MAAM,EAClC,UAAU,sBAEV,SAAA7B,EAAC4B,EAAA,CACC,KAAMC,EACN,cAAe,CAAE,MAAOwB,EAAO,oBAAqBgB,EAAyB,MAAOf,CAAa,EACjG,OAAQa,EACR,SAAUtC,EAAK,MACjB,GATK,GAAGA,GAAM,OAAS,EAAE,GAAGsC,CAAK,EAUnC,CAEH,EACAX,EAAM,IAAI,CAAC3B,EAAMsC,IAChBnE,EAACa,EAAA,CAA8C,KAAMmD,EAAQ,MAAM,EAAG,UAAU,sBAC9E,SAAAhE,EAAC4B,EAAA,CACC,KAAMC,EACN,cAAe,CAAE,MAAOwB,EAAO,oBAAqBgB,EAAyB,MAAOf,CAAa,EACjG,OAAQa,EACR,SAAU,OACZ,GANa,GAAGtC,GAAM,OAAS,EAAE,GAAGsC,CAAK,EAO3C,CACD,GACH,EACCV,GAAYA,GAAU,MAAM,OAAS,EACpCzD,EAACiB,EAAA,CACC,UAAU,oBACV,GAAI,2BACJ,KAAM,CACJ,KAAMwC,GAAU,OAAS,CAAC,EAC1B,cAAe,CAAE,MAAOJ,EAAO,oBAAqBgB,EAAyB,MAAOf,CAAa,CACnG,EACA,MAAO1B,EACP,YAAa,CACX,EAAG,CACD,aAAc,GACd,SAAU,GACV,cAAe,CACjB,EACA,IAAK,CACH,aAAc,GACd,SAAU,GACV,cAAe,GACjB,EACA,IAAK,CACH,aAAc,GACd,SAAU,GACV,cAAe,GACjB,EACA,KAAM,CACJ,aAAc,GACd,SAAU,GACV,cAAe,GACjB,EACA,KAAM,CACJ,aAAc,GACd,SAAU,GACV,cAAe,CACjB,CACF,EACF,EACE,MACN,EAED8B,GACC1D,EAACW,EAAA,CACC,QAAS+C,EACT,UAAWI,EACX,SAAUF,EACV,aAAc,IAAMD,EAAW,EAAK,EACtC,GAEJ,CAEJ,CAAC,EAEDR,EAAwB,YAAc,0BAEtC,IAAO2B,GAAQvE,EAAW4C,CAAuB",
4
+ "sourcesContent": ["import React, { useState, useEffect, useRef } from 'react'\nimport { useMediaQuery } from 'react-responsive'\nimport type { MultiLayoutGraphicBlockProps, Item } from './types'\nimport { withLayout } from '../../shared/Styles.js'\nimport Picture from '../../components/picture.js'\nimport Button from '../../components/button.js'\nimport { Heading } from '../../components/heading.js'\nimport { VideoModal } from '../VideoModal/index.js'\nimport { Grid, GridItem } from '../../components/gird.js'\nimport Title from '../Title/index.js'\nimport { cn, spaceToHyphen } from '../../helpers/utils.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { isVideo } from '../../shared/mimeType.js'\nimport { Tabs, TabsList, TabsTrigger, TabsContent } from '../../components/tabs.js'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport { gaTrack } from '../../shared/track.js'\n\nconst componentType = 'image'\nconst componentName = 'p1_banner'\n\nconst ItemBlock = ({\n data: item,\n configuration,\n jIndex,\n spanType,\n title: titleProp,\n}: {\n data: Item\n configuration?: any\n jIndex?: number\n spanType?: string\n title?: string\n}) => {\n const [isMobile, setIsMobile] = useState<boolean>(false)\n const mediaQuery = useMediaQuery({ query: '(max-width: 768px)' })\n\n const ref = useRef<HTMLDivElement>(null)\n\n const handleAspect = () => {\n if (spanType) {\n switch (spanType) {\n case 'full':\n return 'tablet:aspect-w-[704] tablet:aspect-h-[400] laptop:aspect-w-[896] laptop:aspect-h-[384] desktop:aspect-w-[1312] desktop:aspect-h-[512] lg-desktop:aspect-w-[1664] lg-desktop:aspect-h-[640]'\n case 'half':\n return 'tablet:aspect-w-[704] tablet:aspect-h-[480] laptop:aspect-w-[440] laptop:aspect-h-[384] desktop:aspect-w-[648] desktop:aspect-h-[512] lg-desktop:aspect-w-[824] lg-desktop:aspect-h-[640]'\n case 'one-third':\n return 'tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]'\n default:\n return 'tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]'\n }\n } else {\n switch (configuration?.num) {\n case 1:\n return 'tablet:aspect-w-[704] tablet:aspect-h-[400] laptop:aspect-w-[896] laptop:aspect-h-[384] desktop:aspect-w-[1312] desktop:aspect-h-[512] lg-desktop:aspect-w-[1664] lg-desktop:aspect-h-[640]'\n case 2:\n return 'tablet:aspect-w-[704] tablet:aspect-h-[480] laptop:aspect-w-[440] laptop:aspect-h-[384] desktop:aspect-w-[648] desktop:aspect-h-[512] lg-desktop:aspect-w-[824] lg-desktop:aspect-h-[640]'\n case 3:\n return 'tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]'\n default:\n return 'tablet:aspect-w-[296] tablet:aspect-h-[400] laptop:aspect-w-[288] laptop:aspect-h-[384] desktop:aspect-w-[427] desktop:aspect-h-[512] lg-desktop:aspect-w-[544] lg-desktop:aspect-h-[640]'\n }\n }\n }\n\n useExposure(ref, {\n componentType: componentType,\n componentName: componentName,\n position: jIndex,\n componentTitle: item.title,\n componentDescription: item.description,\n navigation: configuration?.activeTab,\n })\n\n useEffect(() => {\n setIsMobile(mediaQuery)\n }, [mediaQuery])\n\n const {\n theme = 'light',\n title,\n description,\n imageUrl,\n primaryButton,\n secondaryButton,\n imageMobileUrl,\n blockLink,\n video,\n youtubeId,\n isYouTube,\n } = item\n const lgButtonSize = 'lg-desktop:px-7 lg-desktop:pb-[14px] lg-desktop:pt-[15px] lg-desktop:text-[16px]'\n\n return (\n <div\n className={cn(\n 'item-wrapper cursor-pointer',\n 'text-info-primary group relative box-border w-full overflow-hidden',\n handleAspect(),\n {\n 'rounded-2xl': configuration?.shape === 'rounded',\n 'aiui-dark': theme === 'dark',\n 'h-[400px]': isMobile,\n },\n `text-info-primary`\n )}\n ref={ref}\n >\n {(blockLink || secondaryButton.link) && (\n <a\n className=\"absolute inset-0 z-10\"\n href={trackUrlRef(blockLink || secondaryButton.link, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${title}#${description}`}\n data-headless-nav-postion={`${configuration?.activeTab}#${jIndex}`}\n aria-hidden=\"true\"\n tabIndex={-1}\n />\n )}\n <div className=\"absolute inset-0\">\n {isVideo(imageUrl?.mimeType) ? (\n <video autoPlay muted playsInline loop className=\"tablet:block hidden overflow-hidden w-full h-full object-cover\">\n <source src={imageUrl?.url} type=\"video/mp4\" />\n </video>\n ) : (\n <Picture\n source={imageUrl?.url}\n alt={imageUrl?.alt || ''}\n className=\"tablet:block hidden h-full overflow-hidden\"\n imgClassName=\"h-full transition-all duration-300 group-hover:scale-105 object-cover\"\n style={{ aspectRatio: `${imageUrl?.width}/${imageUrl?.height}` }}\n />\n )}\n {isVideo(imageMobileUrl?.mimeType) ? (\n <video autoPlay muted playsInline loop className=\"tablet:hidden block overflow-hidden w-full h-full object-cover\">\n <source src={imageMobileUrl?.url} type=\"video/mp4\" />\n </video>\n ) : (\n <Picture\n source={imageMobileUrl?.url || imageUrl?.url}\n alt={imageMobileUrl?.alt || imageUrl?.alt || ''}\n className=\"tablet:hidden block h-full overflow-hidden\"\n imgClassName=\"h-full transition-all duration-300 object-cover\"\n />\n )}\n <div\n className={cn(\n 'absolutestyle laptop:p-6 desktop:p-[32px] laptop:gap-4 desktop:gap-6 absolute inset-x-0 bottom-0 z-20 flex w-fit flex-col gap-6 p-4',\n {\n 'fullstyle laptop:top-1/2 laptop:-translate-y-1/2 laptop:bottom-auto': item?.width === 'full',\n }\n )}\n >\n <div className=\"flex flex-col gap-1\">\n <Heading size={3} as=\"h3\" className=\"item-title\" html={title} />\n <Heading\n as=\"h4\"\n className=\"item-description desktop:text-[16px] lg-desktop:text-[18px] line-clamp-1 text-[14px]\"\n html={description}\n />\n </div>\n <div className=\"lg-desktop:gap-3 flex gap-2\">\n {secondaryButton && secondaryButton.text && (\n <Button\n aria-label={title ?? description}\n className={cn(lgButtonSize, 'link-left')}\n variant=\"secondary\"\n as=\"a\"\n href={trackUrlRef(secondaryButton.link, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${title}#${description}#${secondaryButton.text}`}\n data-headless-nav-postion={`${configuration?.activeTab}#${jIndex}`}\n >\n {secondaryButton.text}\n <span className=\"sr-only\">{title ?? description}</span>\n </Button>\n )}\n {primaryButton && primaryButton.text && (\n <Button\n aria-label={title ?? description}\n className={cn(lgButtonSize, 'link-right')}\n variant=\"primary\"\n as=\"a\"\n href={trackUrlRef(primaryButton.link, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${title}#${description}#${primaryButton.text}`}\n data-headless-nav-postion={`${configuration?.activeTab}#${jIndex}`}\n >\n {primaryButton.text}\n </Button>\n )}\n </div>\n </div>\n </div>\n <div>\n <div className=\"laptop:bottom-6 laptop:right-6 absolute bottom-4 right-4 z-20\">\n {(video?.url || youtubeId) && (\n <button\n onClick={() => {\n configuration?.onVideoPlayBtnClick?.(video?.url || youtubeId, isYouTube)\n }}\n className=\"laptop:size-12 flex size-8 items-center justify-center rounded-full bg-white bg-opacity-20 hover:bg-black/75\"\n >\n <svg width=\"12\" height=\"14\" viewBox=\"0 0 12 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 7L0 14L0 0L12 7Z\" fill=\"white\" />\n </svg>\n </button>\n )}\n </div>\n </div>\n </div>\n )\n}\n\nconst MultiLayoutGraphicBlock = React.forwardRef<HTMLDivElement, MultiLayoutGraphicBlockProps>((props, ref) => {\n const { shape, sectionTitle, groupByTab = false, items = [], carousel } = props.data\n const [visible, setVisible] = useState<boolean>(false)\n const [videoUrl, setVideoUrl] = useState<string>('')\n const [youTubeId, setYouTubeId] = useState<string>('')\n\n const getSpan = (width: 'full' | 'half' | 'one-third') => {\n switch (width) {\n case 'full':\n return 12\n case 'half':\n return 6\n case 'one-third':\n return 4\n }\n }\n\n const tabNames = items\n .map(item => item.tabName)\n .filter(Boolean)\n .filter((item, index, arr) => arr.indexOf(item) === index) as string[]\n\n const handleVideoPlayBtnClick = (url: string, isYouTube: boolean) => {\n setVisible(true)\n if (isYouTube) {\n setYouTubeId?.(url || '')\n } else {\n setVideoUrl?.(url || '')\n }\n }\n const handleTabNumber = (num: Number, flag?: boolean) => {\n switch (num) {\n case 1:\n return 1\n case 2:\n return 2\n default:\n return flag ? 2.3 : 3\n }\n }\n\n const tabItemsMaps = tabNames\n .map(tabName => ({\n tabName,\n items: items.filter(item => item.tabName === tabName),\n }))\n .reduce(\n (acc, cur) => {\n acc[cur.tabName] = cur.items\n return acc\n },\n {} as Record<string, (Item & { width?: 'full' | 'half' | 'one-third' })[]>\n )\n\n return (\n <section\n data-ui-component-id=\"MultiLayoutGraphicBlock\"\n ref={ref}\n className={cn('multiLayoutGraphicBlock', 'text-info-primary', props.className)}\n >\n {sectionTitle && <Title data={{ title: sectionTitle }} className=\"section-title\" />}\n\n {groupByTab ? (\n <Tabs shape={shape} align=\"left\" defaultValue={spaceToHyphen(tabNames[0]!)}>\n <TabsList>\n {tabNames.map((tabName, index) => (\n <TabsTrigger\n key={index}\n value={spaceToHyphen(tabName!)}\n onClick={() => {\n gaTrack({\n event: 'ga4Event',\n event_name: 'component_click',\n event_parameters: {\n page_group: 'Home Page',\n component_type: componentType,\n component_name: componentName,\n component_title: sectionTitle,\n component_position: 1,\n navigation: tabName,\n button_name: tabName,\n },\n })\n }}\n >\n {tabName}\n </TabsTrigger>\n ))}\n </TabsList>\n {tabNames.map((tabName, index) => (\n <TabsContent key={index} value={spaceToHyphen(tabName!)} className=\"desktop:mt-[36px] mt-[24px] w-full\">\n <>\n <SwiperBox\n className=\"!overflow-visible\"\n id={'MultiLayoutGraphicBlock1'}\n data={{\n list: tabItemsMaps?.[tabName] || [],\n configuration: {\n shape: shape,\n isTab: groupByTab,\n activeTab: tabName,\n title: sectionTitle,\n num: tabItemsMaps?.[tabName]?.length || 0,\n onVideoPlayBtnClick: handleVideoPlayBtnClick,\n },\n }}\n Slide={ItemBlock}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1.2,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: handleTabNumber(tabItemsMaps?.[tabName]?.length || 0, true),\n },\n 1024: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: handleTabNumber(tabItemsMaps?.[tabName]?.length || 0),\n },\n }}\n />\n {carousel && carousel?.items.length > 0 ? (\n <SwiperBox\n className=\"!overflow-visible\"\n id={'MultiLayoutGraphicBlock2'}\n data={{\n list: carousel?.items || [],\n configuration: {\n shape: shape,\n isTab: groupByTab,\n onVideoPlayBtnClick: handleVideoPlayBtnClick,\n title: sectionTitle,\n },\n }}\n Slide={ItemBlock}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1.2,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 2.3,\n },\n 1024: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 3.1,\n },\n 1440: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 4,\n },\n }}\n />\n ) : null}\n </>\n </TabsContent>\n ))}\n </Tabs>\n ) : (\n <>\n <Grid className=\"w-full\">\n {items.map((item, index) => {\n return (\n <GridItem\n key={`${item?.title || ''}${index}`}\n span={getSpan(item.width ?? 'full')}\n className=\"laptop:block hidden\"\n >\n <ItemBlock\n data={item}\n configuration={{ shape: shape, onVideoPlayBtnClick: handleVideoPlayBtnClick, title: sectionTitle }}\n jIndex={index}\n spanType={item.width}\n />\n </GridItem>\n )\n })}\n {items.map((item, index) => (\n <GridItem key={`${item?.title || ''}${index}`} span={getSpan('full')} className=\"laptop:hidden block\">\n <ItemBlock\n data={item}\n configuration={{ shape: shape, onVideoPlayBtnClick: handleVideoPlayBtnClick, title: sectionTitle }}\n jIndex={index}\n spanType={'full'}\n />\n </GridItem>\n ))}\n </Grid>\n {carousel && carousel?.items.length > 0 ? (\n <SwiperBox\n className=\"!overflow-visible\"\n id={'MultiLayoutGraphicBlock3'}\n data={{\n list: carousel?.items || [],\n configuration: { shape: shape, onVideoPlayBtnClick: handleVideoPlayBtnClick, title: sectionTitle },\n }}\n Slide={ItemBlock}\n breakpoints={{\n 0: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1,\n },\n 374: {\n spaceBetween: 12,\n freeMode: false,\n slidesPerView: 1.2,\n },\n 768: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 2.3,\n },\n 1024: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 3.1,\n },\n 1440: {\n spaceBetween: 16,\n freeMode: false,\n slidesPerView: 4,\n },\n }}\n />\n ) : null}\n </>\n )}\n {visible && (\n <VideoModal\n visible={visible}\n youTubeId={youTubeId}\n videoUrl={videoUrl}\n onCloseModal={() => setVisible(false)}\n />\n )}\n </section>\n )\n})\n\nMultiLayoutGraphicBlock.displayName = 'MultiLayoutGraphicBlock'\n\nexport default withLayout(MultiLayoutGraphicBlock)\nexport type { MultiLayoutGraphicBlockProps }\n"],
5
+ "mappings": "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",
6
6
  "names": ["Fragment", "jsx", "jsxs", "React", "useState", "useEffect", "useRef", "useMediaQuery", "withLayout", "Picture", "Button", "Heading", "VideoModal", "Grid", "GridItem", "Title", "cn", "spaceToHyphen", "SwiperBox", "isVideo", "Tabs", "TabsList", "TabsTrigger", "TabsContent", "useExposure", "trackUrlRef", "gaTrack", "componentType", "componentName", "ItemBlock", "item", "configuration", "jIndex", "spanType", "titleProp", "isMobile", "setIsMobile", "mediaQuery", "ref", "handleAspect", "theme", "title", "description", "imageUrl", "primaryButton", "secondaryButton", "imageMobileUrl", "blockLink", "video", "youtubeId", "isYouTube", "lgButtonSize", "MultiLayoutGraphicBlock", "props", "shape", "sectionTitle", "groupByTab", "items", "carousel", "visible", "setVisible", "videoUrl", "setVideoUrl", "youTubeId", "setYouTubeId", "getSpan", "width", "tabNames", "index", "arr", "handleVideoPlayBtnClick", "url", "handleTabNumber", "num", "flag", "tabItemsMaps", "tabName", "acc", "cur", "MultiLayoutGraphicBlock_default"]
7
7
  }
@@ -0,0 +1,4 @@
1
+ import type { NavigationSearchProps } from './types.js';
2
+ export declare const canSearch: (target: any) => boolean;
3
+ declare const NavigationSearch: import("react").ForwardRefExoticComponent<NavigationSearchProps & import("react").RefAttributes<HTMLDivElement>>;
4
+ export default NavigationSearch;
@@ -0,0 +1,2 @@
1
+ import{Fragment as $,jsx as s,jsxs as a}from"react/jsx-runtime";import{Picture as f,Text as r,Button as G,Container as q,Link as u,Heading as k,Grid as z,GridItem as K}from"../../components/index.js";import{Search as j,Close as H}from"../HeaderNavigation/icons/index.js";import{forwardRef as M,useCallback as C,useMemo as L,useState as D}from"react";import{useAiuiContext as V}from"../AiuiProvider/index.js";import{SearchStatus as m}from"./types.js";import{debounce as J}from"es-toolkit";import{cn as x,atobID as w,highlightSearchWord as O}from"../../helpers/utils.js";const Q=t=>!(t.metafields?.global?.HideSearch||t.metafields?.seo?.hidden||t.metafields?.seo?.setting?.noindex),U=M(({data:t,onSearch:l,onClose:n,searchResult:o,isSearching:c,keywords:p},P)=>{const{locale:d="us",copyWriting:Y}=V(),[i,S]=D(""),[b,N]=D(!1),E=J(e=>{l(e)},300),I=C(e=>{e.key==="Enter"&&!b&&l(i)},[b,i,l]),T=L(()=>Array.isArray(p)&&p?.length?p.map(e=>e.search_term):Array.isArray(t?.popularWords)&&t?.popularWords?.length?t?.popularWords.map(e=>e.popularWord):[],[p,t?.popularWords]),A=C(e=>{switch(e.type){case"Product":return`/products${e.path}?q=${i.toLowerCase()}`;case"Article":return`/blogs/${e.blog.handle}/${e.handle.replace("storefront-","")}?q=${i.toLowerCase()}`;default:break}},[i]),y=L(()=>{if(i){if(o?.totalCount)return m.Predict;if(!c)return m.Empty}else return m.Default},[o?.totalCount,i]);return a(q,{childClassName:"!bg-white",className:"relative",ref:P,children:[a("div",{className:"laptop:h-[52px] desktop:h-[60px] flex items-center pt-4 desktop:pt-6 pb-4 justify-between border-b border-b-gray-200",children:[s("input",{value:i,onCompositionStart:()=>N(!0),onCompositionEnd:()=>N(!1),onKeyDown:I,onChange:e=>{S(e.target.value),e.target.value&&E(e.target.value)},type:"text",className:"text-sm basis-[200px] focus-visible:!outline-none outline-none leading-[1.4] font-bold",placeholder:t?.placeholder}),a("div",{className:"flex items-center gap-3",children:[s(j,{className:"size-5 cursor-pointer",onClick:()=>l(i)}),s("div",{className:"w-[1px] h-[20px] bg-[#E4E5E6]"}),s(H,{className:"size-5 cursor-pointer",onClick:n})]})]}),s("div",{className:"flex flex-col gap-6 desktop:gap-12 desktop:py-6 py-4",children:y===m.Predict?a($,{children:[a("div",{children:[a("div",{className:"flex items-center gap-2",children:[s(r,{html:t?.suggestText,className:"text-sm text-[#6D6D6F] leading-[1.4] font-bold"}),o?.items?.length>6&&s(G,{as:"a",href:`${d==="us"?"":d}${t?.moreLink}?q=${i.toLowerCase()}`,className:"!text-sm leading-[1.2] font-bold !p-0",variant:"link",children:t?.moreText})]}),s("div",{className:"flex flex-col mt-2",children:o?.items?.filter(e=>Q(e)).slice(0,6)?.map(e=>s(u,{className:"hover:bg-[#F5F5F7] hover:text-current no-underline w-full p-4",href:A(e),children:s(r,{html:O(e.title,i),className:"text-sm cursor-pointer leading-[1.4] font-bold"})},e.id))})]}),a("div",{children:[s(r,{html:t?.hotProductsText,className:"text-sm text-[#6D6D6F] leading-[1.4] font-bold"}),a("div",{className:"grid grid-cols-1 tablet:grid-cols-2 laptop:grid-cols-3 desktop:grid-cols-4 gap-2 mt-2 tablet:gap-x-3 tablet:gap-y-4 laptop:gap-4",children:[s(u,{asChild:!t?.advertisingLink,href:t?.advertisingLink,children:a("div",{className:"relative",children:[s(f,{source:t?.advertisingBgImg?.url,className:"h-[114px] laptop:h-[120px]",imgClassName:"object-cover h-full"}),a("div",{className:"absolute bottom-0 left-0 right-0 p-4",children:[s(k,{size:2,html:t?.advertisingTitle||"Buy in Guide",className:x("font-bold text-white",{"text-black":t?.advertisingTheme==="dark"})}),s(r,{html:t?.advertisingSubtitle||"20.000mAh",className:x("text-sm text-white font-bold",{"text-black":t?.advertisingTheme==="dark"})})]})]})}),o?.items?.filter(e=>e.type.toLowerCase()==="product").slice(0,7)?.map(e=>{const g=e?.variants?.[0],h=`${g?.image?.url||e?.images?.[0]?.url}`,v=e?.title||e?.name,B=e?.description,W=e?.badge||"",_=`/products/${e?.handle}?variant=${w(g?.id)}`;return s(F,{productImage:h,productName:v,productDesc:B,productBadge:W,listingLink:_},e.id)})]})]})]}):a($,{children:[y===m.Empty&&s(r,{html:t?.noResultText,as:"p",className:"text-sm pb-6 border-[#E4E5E6] border-b text-[#6D6D6F] leading-[1.4] font-bold"}),a("div",{children:[s(r,{html:t?.popularText,className:"text-sm text-[#6D6D6F] leading-[1.4] font-bold"}),a("div",{className:"mt-2",children:[s(X,{data:t,keywords:T,locale:d}),Array.isArray(t?.popularPages)&&!!t?.popularPages?.length&&s(z,{className:"gap-3 laptop:gap-4 mt-3 laptop:mt-4",children:t?.popularPages?.map(e=>s(K,{className:"col-span-12 tablet:col-span-6 p-2 hover:bg-[#F5F5F7] laptop:p-3 desktop:p-4 laptop:col-span-3",children:s("a",{href:`${d==="us"?"":d}${t?.moreLink}?q=${e?.popularPage.toLowerCase()}`,className:"text-sm cursor-pointer line-clamp-1 leading-[1.4] font-bold",children:e?.popularPage})},e?.id))})]})]}),a("div",{children:[s(r,{html:t?.hotProductsText,className:"text-sm text-[#6D6D6F] leading-[1.4] font-bold"}),a("div",{className:"grid grid-cols-1 tablet:grid-cols-2 laptop:grid-cols-3 desktop:grid-cols-4 gap-2 mt-2 tablet:gap-x-3 tablet:gap-y-4 laptop:gap-4",children:[s(u,{asChild:!t?.advertisingLink,href:t?.advertisingLink,children:a("div",{className:"relative [&_img]:hover:scale-105 [&_img]:hover:transition-all [&_img]:hover:duration-300",children:[s(f,{source:t?.advertisingBgImg?.url,className:"h-[114px] laptop:h-[120px]",imgClassName:"object-cover h-full"}),a("div",{className:"absolute bottom-0 left-0 right-0 p-4",children:[s(k,{size:2,html:t?.advertisingTitle||"Buy in Guide",className:"font-bold text-white"}),s(r,{html:t?.advertisingSubtitle||"20.000mAh",className:"text-sm text-white font-bold"})]})]})}),t?.hotProducts?.slice(0,7)?.map(e=>{const g=e?.custom_description,h=e?.badge||"",v=`/products/${e?.handle}?variant=${w(e?.shopify_id)}`;return s(F,{productImage:e?.image,productName:e?.name,productDesc:g,productBadge:h,listingLink:v},e.id)})]})]})]})})]})}),F=({productImage:t,productName:l,productDesc:n,productBadge:o,className:c,listingLink:p})=>a("div",{className:x("flex shrink-0 gap-4 bg-[#F5F5F7] px-4 py-3 [&_img]:hover:scale-105",c),children:[s("div",{className:"shrink-0",children:s(f,{source:t,width:90,height:90,className:"size-[96px]",imgClassName:"object-contain h-full"})}),a("div",{className:"relative",children:[s("div",{className:" h-[24px] ",children:o&&s(r,{as:"p",html:o,className:"text-brand-0 mb-1 inline-block rounded-full border-[1.6px] border-[#00BEFA] px-[6px] text-sm font-bold h-full !leading-[24px]"})}),a("div",{children:[s(u,{href:p,className:"no-underline hover:text-current",children:s(r,{className:"lg-desktop:h-[44px] lg-desktop:text-base line-clamp-2 h-[40px] text-sm font-bold leading-[1.4]",html:l})}),n&&s(r,{as:"p",html:n,className:"lg-desktop:text-sm line-clamp-1 mt-1 text-xs font-bold leading-[1.4] text-[#6D6D6F]"})]})]})]}),X=({data:t,keywords:l,locale:n})=>s("div",{className:"flex flex-wrap gap-3 laptop:gap-4",children:l?.map((o,c)=>s("a",{href:`${n==="us"?"":n}${t?.moreLink}?q=${o?.toLowerCase()}`,className:"text-sm cursor-pointer hover:bg-[#F5F5F7] p-2 laptop:p-3 desktop:p-4 leading-[1.4] font-bold",children:o},c))});var ie=U;export{Q as canSearch,ie as default};
2
+ //# sourceMappingURL=index.js.map