@anker-in/headless-ui 1.0.19-temp-101705 → 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 (555) hide show
  1. package/dist/cjs/biz-components/AccordionCards/index.js.map +2 -2
  2. package/dist/cjs/biz-components/AplusDesc/index.js +2 -0
  3. package/dist/cjs/biz-components/AplusDesc/index.js.map +7 -0
  4. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.d.ts +0 -1
  5. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.js +1 -1
  6. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.js.map +3 -3
  7. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrapItem.js +1 -1
  8. package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrapItem.js.map +3 -3
  9. package/dist/cjs/biz-components/CollectionsFilters/component/TabFilter.js +1 -1
  10. package/dist/cjs/biz-components/CollectionsFilters/component/TabFilter.js.map +2 -2
  11. package/dist/cjs/biz-components/CollectionsFilters/index.d.ts +0 -1
  12. package/dist/cjs/biz-components/CollectionsFilters/index.js +1 -1
  13. package/dist/cjs/biz-components/CollectionsFilters/index.js.map +3 -3
  14. package/dist/cjs/biz-components/DownLoad/index.d.ts +9 -6
  15. package/dist/cjs/biz-components/DownLoad/index.js +2 -0
  16. package/dist/cjs/biz-components/DownLoad/index.js.map +7 -0
  17. package/dist/cjs/biz-components/Faq/Faq.js +1 -1
  18. package/dist/cjs/biz-components/Faq/Faq.js.map +2 -2
  19. package/dist/cjs/biz-components/Features/index.js +2 -0
  20. package/dist/cjs/biz-components/Features/index.js.map +7 -0
  21. package/dist/cjs/biz-components/FootCharger/index.js +2 -0
  22. package/dist/cjs/biz-components/FootCharger/index.js.map +7 -0
  23. package/dist/cjs/biz-components/FooterNavigation/index.js +1 -1
  24. package/dist/cjs/biz-components/FooterNavigation/index.js.map +3 -3
  25. package/dist/cjs/biz-components/FooterNavigation/types.d.ts +2 -1
  26. package/dist/cjs/biz-components/FooterNavigation/types.js +1 -1
  27. package/dist/cjs/biz-components/FooterNavigation/types.js.map +2 -2
  28. package/dist/cjs/biz-components/GiftBox/index.js +2 -0
  29. package/dist/cjs/biz-components/GiftBox/index.js.map +7 -0
  30. package/dist/cjs/biz-components/Graphic/index.js +1 -1
  31. package/dist/cjs/biz-components/Graphic/index.js.map +2 -2
  32. package/dist/cjs/biz-components/GraphicMore/index.js +2 -0
  33. package/dist/cjs/biz-components/GraphicMore/index.js.map +7 -0
  34. package/dist/cjs/biz-components/HeaderNavigation/NavProvider.d.ts +6 -5
  35. package/dist/cjs/biz-components/HeaderNavigation/NavProvider.js +1 -1
  36. package/dist/cjs/biz-components/HeaderNavigation/NavProvider.js.map +3 -3
  37. package/dist/cjs/biz-components/HeaderNavigation/icons/Polygon.js +2 -0
  38. package/dist/cjs/biz-components/HeaderNavigation/icons/Polygon.js.map +7 -0
  39. package/dist/cjs/biz-components/HeaderNavigation/icons/index.d.ts +2 -1
  40. package/dist/cjs/biz-components/HeaderNavigation/icons/index.js +1 -1
  41. package/dist/cjs/biz-components/HeaderNavigation/icons/index.js.map +3 -3
  42. package/dist/cjs/biz-components/HeaderNavigation/index.js +1 -1
  43. package/dist/cjs/biz-components/HeaderNavigation/index.js.map +3 -3
  44. package/dist/cjs/biz-components/HeaderNavigation/types.d.ts +18 -2
  45. package/dist/cjs/biz-components/HeaderNavigation/types.js +1 -1
  46. package/dist/cjs/biz-components/HeaderNavigation/types.js.map +2 -2
  47. package/dist/cjs/biz-components/HeaderNavigation/withCategory.d.ts +1 -1
  48. package/dist/cjs/biz-components/HeaderNavigation/withCategory.js +1 -1
  49. package/dist/cjs/biz-components/HeaderNavigation/withCategory.js.map +3 -3
  50. package/dist/cjs/biz-components/Listing/ProductProvider.d.ts +7 -7
  51. package/dist/cjs/biz-components/Listing/ProductProvider.js +2 -0
  52. package/dist/cjs/biz-components/Listing/ProductProvider.js.map +7 -0
  53. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js +2 -0
  54. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js.map +7 -0
  55. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js +2 -0
  56. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js.map +7 -0
  57. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js +2 -0
  58. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js.map +7 -0
  59. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js +2 -0
  60. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js.map +7 -0
  61. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js +2 -0
  62. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js.map +7 -0
  63. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/index.js +2 -0
  64. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/index.js.map +7 -0
  65. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/types.js +2 -0
  66. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/types.js.map +7 -0
  67. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js +2 -0
  68. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js.map +7 -0
  69. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js +2 -0
  70. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js.map +7 -0
  71. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js +2 -0
  72. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js.map +7 -0
  73. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js +2 -0
  74. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js.map +7 -0
  75. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js +2 -0
  76. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +7 -0
  77. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/types.js +2 -0
  78. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/types.js.map +7 -0
  79. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGridBox.js +2 -0
  80. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGridBox.js.map +7 -0
  81. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js +2 -0
  82. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +7 -0
  83. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/types.js +2 -0
  84. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/types.js.map +7 -0
  85. package/dist/cjs/biz-components/Listing/components/ProductCard/index.js +2 -0
  86. package/dist/cjs/biz-components/Listing/components/ProductCard/index.js.map +7 -0
  87. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +2 -0
  88. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +7 -0
  89. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js +2 -0
  90. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js.map +7 -0
  91. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js +2 -0
  92. package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js.map +7 -0
  93. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.js +2 -0
  94. package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.js.map +7 -0
  95. package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.js +2 -0
  96. package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.js.map +7 -0
  97. package/dist/cjs/biz-components/Listing/components/index.js +2 -0
  98. package/dist/cjs/biz-components/Listing/components/index.js.map +7 -0
  99. package/dist/cjs/biz-components/Listing/const.js +2 -0
  100. package/dist/cjs/biz-components/Listing/const.js.map +7 -0
  101. package/dist/cjs/biz-components/Listing/hooks/use-options.js +2 -0
  102. package/dist/cjs/biz-components/Listing/hooks/use-options.js.map +7 -0
  103. package/dist/cjs/biz-components/Listing/hooks/use-variant-media.js +2 -0
  104. package/dist/cjs/biz-components/Listing/hooks/use-variant-media.js.map +7 -0
  105. package/dist/cjs/biz-components/Listing/hooks/use-variant.js +2 -0
  106. package/dist/cjs/biz-components/Listing/hooks/use-variant.js.map +7 -0
  107. package/dist/cjs/biz-components/Listing/hooks/useCopy.js +2 -0
  108. package/dist/cjs/biz-components/Listing/hooks/useCopy.js.map +7 -0
  109. package/dist/cjs/biz-components/Listing/index.d.ts +1 -1
  110. package/dist/cjs/biz-components/Listing/index.js +2 -0
  111. package/dist/cjs/biz-components/Listing/index.js.map +7 -0
  112. package/dist/cjs/biz-components/Listing/types/graphql.js +2 -0
  113. package/dist/cjs/biz-components/Listing/types/graphql.js.map +7 -0
  114. package/dist/cjs/biz-components/Listing/types/product.js +2 -0
  115. package/dist/cjs/biz-components/Listing/types/product.js.map +7 -0
  116. package/dist/cjs/biz-components/Listing/types/productMetafields.d.js +2 -0
  117. package/dist/cjs/biz-components/Listing/types/productMetafields.d.js.map +7 -0
  118. package/dist/cjs/biz-components/Listing/types/type-helper.js +2 -0
  119. package/dist/cjs/biz-components/Listing/types/type-helper.js.map +7 -0
  120. package/dist/cjs/biz-components/Listing/types.js +2 -0
  121. package/dist/cjs/biz-components/Listing/types.js.map +7 -0
  122. package/dist/cjs/biz-components/Listing/utils/helper.js +2 -0
  123. package/dist/cjs/biz-components/Listing/utils/helper.js.map +7 -0
  124. package/dist/cjs/biz-components/Listing/utils/index.js +2 -0
  125. package/dist/cjs/biz-components/Listing/utils/index.js.map +7 -0
  126. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  127. package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +2 -2
  128. package/dist/cjs/biz-components/NavigationSearch/index.js +2 -0
  129. package/dist/cjs/biz-components/NavigationSearch/index.js.map +7 -0
  130. package/dist/cjs/biz-components/NavigationSearch/types.js +2 -0
  131. package/dist/cjs/biz-components/NavigationSearch/types.js.map +7 -0
  132. package/dist/cjs/biz-components/SearchPage/index.js +2 -0
  133. package/dist/cjs/biz-components/SearchPage/index.js.map +7 -0
  134. package/dist/cjs/biz-components/SearchPage/types.js +2 -0
  135. package/dist/cjs/biz-components/SearchPage/types.js.map +7 -0
  136. package/dist/cjs/biz-components/SelectStore/index.d.ts +4 -10
  137. package/dist/cjs/biz-components/SelectStore/index.js +2 -0
  138. package/dist/cjs/biz-components/SelectStore/index.js.map +7 -0
  139. package/dist/cjs/biz-components/ShelfDisplay/index.js +1 -1
  140. package/dist/cjs/biz-components/ShelfDisplay/index.js.map +3 -3
  141. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js +4 -4
  142. package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
  143. package/dist/cjs/biz-components/Specs/dropdown.js +3 -0
  144. package/dist/cjs/biz-components/Specs/dropdown.js.map +7 -0
  145. package/dist/cjs/biz-components/Specs/index.js +2 -0
  146. package/dist/cjs/biz-components/Specs/index.js.map +7 -0
  147. package/dist/cjs/biz-components/Subscribe/index.d.ts +7 -1
  148. package/dist/cjs/biz-components/Subscribe/index.js +10 -1
  149. package/dist/cjs/biz-components/Subscribe/index.js.map +3 -3
  150. package/dist/cjs/biz-components/Tabs/Tabs.js +1 -1
  151. package/dist/cjs/biz-components/Tabs/Tabs.js.map +2 -2
  152. package/dist/cjs/biz-components/TabsGroup/index.d.ts +7 -0
  153. package/dist/cjs/biz-components/TabsGroup/index.js +2 -0
  154. package/dist/cjs/biz-components/TabsGroup/index.js.map +7 -0
  155. package/dist/cjs/biz-components/TabsGroup/types.d.ts +16 -0
  156. package/dist/cjs/biz-components/TabsGroup/types.js +2 -0
  157. package/dist/cjs/biz-components/TabsGroup/types.js.map +7 -0
  158. package/dist/cjs/biz-components/Title/index.js +1 -1
  159. package/dist/cjs/biz-components/Title/index.js.map +2 -2
  160. package/dist/cjs/biz-components/Title/types.d.ts +3 -1
  161. package/dist/cjs/biz-components/Title/types.js +1 -1
  162. package/dist/cjs/biz-components/Title/types.js.map +1 -1
  163. package/dist/cjs/biz-components/index.d.ts +26 -0
  164. package/dist/cjs/biz-components/index.js +1 -1
  165. package/dist/cjs/biz-components/index.js.map +3 -3
  166. package/dist/cjs/components/button.js +1 -1
  167. package/dist/cjs/components/button.js.map +2 -2
  168. package/dist/cjs/components/checkbox.js +1 -1
  169. package/dist/cjs/components/checkbox.js.map +3 -3
  170. package/dist/cjs/components/container.js +1 -1
  171. package/dist/cjs/components/container.js.map +2 -2
  172. package/dist/cjs/components/dialog.d.ts +3 -1
  173. package/dist/cjs/components/dialog.js +1 -1
  174. package/dist/cjs/components/dialog.js.map +3 -3
  175. package/dist/cjs/components/index.d.ts +1 -0
  176. package/dist/cjs/components/index.js +1 -1
  177. package/dist/cjs/components/index.js.map +3 -3
  178. package/dist/cjs/components/loadingDots.js +42 -0
  179. package/dist/cjs/components/loadingDots.js.map +7 -0
  180. package/dist/cjs/helpers/utils.d.ts +1 -0
  181. package/dist/cjs/helpers/utils.js +1 -1
  182. package/dist/cjs/helpers/utils.js.map +3 -3
  183. package/dist/cjs/stories/aplusdesc.stories.js +2 -0
  184. package/dist/cjs/stories/aplusdesc.stories.js.map +7 -0
  185. package/dist/cjs/stories/download.stories.d.ts +1 -6
  186. package/dist/cjs/stories/download.stories.js +2 -0
  187. package/dist/cjs/stories/download.stories.js.map +7 -0
  188. package/dist/cjs/stories/features.stories.js +2 -0
  189. package/dist/cjs/stories/features.stories.js.map +7 -0
  190. package/dist/cjs/stories/footcharger.stories.js +2 -0
  191. package/dist/cjs/stories/footcharger.stories.js.map +7 -0
  192. package/dist/cjs/stories/giftbox.stories.js +2 -0
  193. package/dist/cjs/stories/giftbox.stories.js.map +7 -0
  194. package/dist/cjs/stories/graphicMore.stories.js +2 -0
  195. package/dist/cjs/stories/graphicMore.stories.js.map +7 -0
  196. package/dist/cjs/stories/selectstore.stories.js +2 -0
  197. package/dist/cjs/stories/selectstore.stories.js.map +7 -0
  198. package/dist/cjs/stories/shelfDisplay.stories.js +644 -1
  199. package/dist/cjs/stories/shelfDisplay.stories.js.map +2 -2
  200. package/dist/cjs/stories/tabs.stories.js +1 -1
  201. package/dist/cjs/stories/tabs.stories.js.map +3 -3
  202. package/dist/esm/biz-components/AccordionCards/index.js.map +2 -2
  203. package/dist/esm/biz-components/AplusDesc/index.js +2 -0
  204. package/dist/esm/biz-components/AplusDesc/index.js.map +7 -0
  205. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.d.ts +0 -1
  206. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.js +1 -1
  207. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.js.map +3 -3
  208. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrapItem.js +1 -1
  209. package/dist/esm/biz-components/CollectionsFilters/FilterCardWrapItem.js.map +3 -3
  210. package/dist/esm/biz-components/CollectionsFilters/component/TabFilter.js +1 -1
  211. package/dist/esm/biz-components/CollectionsFilters/component/TabFilter.js.map +2 -2
  212. package/dist/esm/biz-components/CollectionsFilters/index.d.ts +0 -1
  213. package/dist/esm/biz-components/CollectionsFilters/index.js +1 -1
  214. package/dist/esm/biz-components/CollectionsFilters/index.js.map +3 -3
  215. package/dist/esm/biz-components/DownLoad/index.d.ts +9 -6
  216. package/dist/esm/biz-components/DownLoad/index.js +2 -0
  217. package/dist/esm/biz-components/DownLoad/index.js.map +7 -0
  218. package/dist/esm/biz-components/Faq/Faq.js +1 -1
  219. package/dist/esm/biz-components/Faq/Faq.js.map +3 -3
  220. package/dist/esm/biz-components/Features/index.js +2 -0
  221. package/dist/esm/biz-components/Features/index.js.map +7 -0
  222. package/dist/esm/biz-components/FootCharger/index.js +2 -0
  223. package/dist/esm/biz-components/FootCharger/index.js.map +7 -0
  224. package/dist/esm/biz-components/FooterNavigation/index.js +1 -1
  225. package/dist/esm/biz-components/FooterNavigation/index.js.map +3 -3
  226. package/dist/esm/biz-components/FooterNavigation/types.d.ts +2 -1
  227. package/dist/esm/biz-components/FooterNavigation/types.js +1 -1
  228. package/dist/esm/biz-components/FooterNavigation/types.js.map +2 -2
  229. package/dist/esm/biz-components/GiftBox/index.js +2 -0
  230. package/dist/esm/biz-components/GiftBox/index.js.map +7 -0
  231. package/dist/esm/biz-components/Graphic/index.js +1 -1
  232. package/dist/esm/biz-components/Graphic/index.js.map +2 -2
  233. package/dist/esm/biz-components/GraphicMore/index.js +2 -0
  234. package/dist/esm/biz-components/GraphicMore/index.js.map +7 -0
  235. package/dist/esm/biz-components/HeaderNavigation/NavProvider.d.ts +6 -5
  236. package/dist/esm/biz-components/HeaderNavigation/NavProvider.js +1 -1
  237. package/dist/esm/biz-components/HeaderNavigation/NavProvider.js.map +3 -3
  238. package/dist/esm/biz-components/HeaderNavigation/icons/Polygon.js +2 -0
  239. package/dist/esm/biz-components/HeaderNavigation/icons/Polygon.js.map +7 -0
  240. package/dist/esm/biz-components/HeaderNavigation/icons/index.d.ts +2 -1
  241. package/dist/esm/biz-components/HeaderNavigation/icons/index.js +1 -1
  242. package/dist/esm/biz-components/HeaderNavigation/icons/index.js.map +3 -3
  243. package/dist/esm/biz-components/HeaderNavigation/index.js +1 -1
  244. package/dist/esm/biz-components/HeaderNavigation/index.js.map +3 -3
  245. package/dist/esm/biz-components/HeaderNavigation/types.d.ts +18 -2
  246. package/dist/esm/biz-components/HeaderNavigation/types.js +1 -1
  247. package/dist/esm/biz-components/HeaderNavigation/types.js.map +2 -2
  248. package/dist/esm/biz-components/HeaderNavigation/withCategory.d.ts +1 -1
  249. package/dist/esm/biz-components/HeaderNavigation/withCategory.js +1 -1
  250. package/dist/esm/biz-components/HeaderNavigation/withCategory.js.map +3 -3
  251. package/dist/esm/biz-components/Listing/ProductProvider.d.ts +7 -7
  252. package/dist/esm/biz-components/Listing/ProductProvider.js +2 -0
  253. package/dist/esm/biz-components/Listing/ProductProvider.js.map +7 -0
  254. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js +2 -0
  255. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js.map +7 -0
  256. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js +2 -0
  257. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js.map +7 -0
  258. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js +2 -0
  259. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js.map +7 -0
  260. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js +2 -0
  261. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js.map +7 -0
  262. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js +2 -0
  263. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js.map +7 -0
  264. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/index.js +2 -0
  265. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/index.js.map +7 -0
  266. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/types.js +2 -0
  267. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/types.js.map +7 -0
  268. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js +2 -0
  269. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js.map +7 -0
  270. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js +2 -0
  271. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js.map +7 -0
  272. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js +2 -0
  273. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js.map +7 -0
  274. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js +2 -0
  275. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js.map +7 -0
  276. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js +2 -0
  277. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +7 -0
  278. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/types.js +2 -0
  279. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/types.js.map +7 -0
  280. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGridBox.js +2 -0
  281. package/dist/esm/biz-components/Listing/components/ProductCard/ProductGridBox.js.map +7 -0
  282. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js +2 -0
  283. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +7 -0
  284. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/types.js +1 -0
  285. package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/types.js.map +7 -0
  286. package/dist/esm/biz-components/Listing/components/ProductCard/index.js +2 -0
  287. package/dist/esm/biz-components/Listing/components/ProductCard/index.js.map +7 -0
  288. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +2 -0
  289. package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +7 -0
  290. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js +2 -0
  291. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js.map +7 -0
  292. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js +1 -0
  293. package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js.map +7 -0
  294. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.js +2 -0
  295. package/dist/esm/biz-components/Listing/components/PurchaseBar/index.js.map +7 -0
  296. package/dist/esm/biz-components/Listing/components/PurchaseBar/types.js +1 -0
  297. package/dist/esm/biz-components/Listing/components/PurchaseBar/types.js.map +7 -0
  298. package/dist/esm/biz-components/Listing/components/index.js +2 -0
  299. package/dist/esm/biz-components/Listing/components/index.js.map +7 -0
  300. package/dist/esm/biz-components/Listing/const.js +2 -0
  301. package/dist/esm/biz-components/Listing/const.js.map +7 -0
  302. package/dist/esm/biz-components/Listing/hooks/use-options.js +2 -0
  303. package/dist/esm/biz-components/Listing/hooks/use-options.js.map +7 -0
  304. package/dist/esm/biz-components/Listing/hooks/use-variant-media.js +2 -0
  305. package/dist/esm/biz-components/Listing/hooks/use-variant-media.js.map +7 -0
  306. package/dist/esm/biz-components/Listing/hooks/use-variant.js +2 -0
  307. package/dist/esm/biz-components/Listing/hooks/use-variant.js.map +7 -0
  308. package/dist/esm/biz-components/Listing/hooks/useCopy.js +2 -0
  309. package/dist/esm/biz-components/Listing/hooks/useCopy.js.map +7 -0
  310. package/dist/esm/biz-components/Listing/index.d.ts +1 -1
  311. package/dist/esm/biz-components/Listing/index.js +2 -0
  312. package/dist/esm/biz-components/Listing/index.js.map +7 -0
  313. package/dist/esm/biz-components/Listing/types/graphql.js +2 -0
  314. package/dist/esm/biz-components/Listing/types/graphql.js.map +7 -0
  315. package/dist/esm/biz-components/Listing/types/product.js +2 -0
  316. package/dist/esm/biz-components/Listing/types/product.js.map +7 -0
  317. package/dist/esm/biz-components/Listing/types/productMetafields.d.js +2 -0
  318. package/dist/esm/biz-components/Listing/types/productMetafields.d.js.map +7 -0
  319. package/dist/esm/biz-components/Listing/types/type-helper.js +1 -0
  320. package/dist/esm/biz-components/Listing/types/type-helper.js.map +7 -0
  321. package/dist/esm/biz-components/Listing/types.js +1 -0
  322. package/dist/esm/biz-components/Listing/types.js.map +7 -0
  323. package/dist/esm/biz-components/Listing/utils/helper.js +2 -0
  324. package/dist/esm/biz-components/Listing/utils/helper.js.map +7 -0
  325. package/dist/esm/biz-components/Listing/utils/index.js +2 -0
  326. package/dist/esm/biz-components/Listing/utils/index.js.map +7 -0
  327. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
  328. package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +2 -2
  329. package/dist/esm/biz-components/NavigationSearch/index.js +2 -0
  330. package/dist/esm/biz-components/NavigationSearch/index.js.map +7 -0
  331. package/dist/esm/biz-components/NavigationSearch/types.js +2 -0
  332. package/dist/esm/biz-components/NavigationSearch/types.js.map +7 -0
  333. package/dist/esm/biz-components/SearchPage/index.js +2 -0
  334. package/dist/esm/biz-components/SearchPage/index.js.map +7 -0
  335. package/dist/esm/biz-components/SearchPage/types.js +2 -0
  336. package/dist/esm/biz-components/SearchPage/types.js.map +7 -0
  337. package/dist/esm/biz-components/SelectStore/index.d.ts +4 -10
  338. package/dist/esm/biz-components/SelectStore/index.js +2 -0
  339. package/dist/esm/biz-components/SelectStore/index.js.map +7 -0
  340. package/dist/esm/biz-components/ShelfDisplay/index.js +1 -1
  341. package/dist/esm/biz-components/ShelfDisplay/index.js.map +3 -3
  342. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js +9 -9
  343. package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
  344. package/dist/esm/biz-components/Specs/dropdown.js +3 -0
  345. package/dist/esm/biz-components/Specs/dropdown.js.map +7 -0
  346. package/dist/esm/biz-components/Specs/index.js +2 -0
  347. package/dist/esm/biz-components/Specs/index.js.map +7 -0
  348. package/dist/esm/biz-components/Subscribe/index.d.ts +7 -1
  349. package/dist/esm/biz-components/Subscribe/index.js +10 -1
  350. package/dist/esm/biz-components/Subscribe/index.js.map +3 -3
  351. package/dist/esm/biz-components/Tabs/Tabs.js +1 -1
  352. package/dist/esm/biz-components/Tabs/Tabs.js.map +2 -2
  353. package/dist/esm/biz-components/TabsGroup/index.d.ts +7 -0
  354. package/dist/esm/biz-components/TabsGroup/index.js +2 -0
  355. package/dist/esm/biz-components/TabsGroup/index.js.map +7 -0
  356. package/dist/esm/biz-components/TabsGroup/types.d.ts +16 -0
  357. package/dist/esm/biz-components/TabsGroup/types.js +1 -0
  358. package/dist/esm/biz-components/TabsGroup/types.js.map +7 -0
  359. package/dist/esm/biz-components/Title/index.js +1 -1
  360. package/dist/esm/biz-components/Title/index.js.map +2 -2
  361. package/dist/esm/biz-components/Title/types.d.ts +3 -1
  362. package/dist/esm/biz-components/index.d.ts +26 -0
  363. package/dist/esm/biz-components/index.js +1 -1
  364. package/dist/esm/biz-components/index.js.map +3 -3
  365. package/dist/esm/components/button.js +1 -1
  366. package/dist/esm/components/button.js.map +2 -2
  367. package/dist/esm/components/checkbox.js +1 -1
  368. package/dist/esm/components/checkbox.js.map +3 -3
  369. package/dist/esm/components/container.js +1 -1
  370. package/dist/esm/components/container.js.map +2 -2
  371. package/dist/esm/components/dialog.d.ts +3 -1
  372. package/dist/esm/components/dialog.js +1 -1
  373. package/dist/esm/components/dialog.js.map +3 -3
  374. package/dist/esm/components/index.d.ts +1 -0
  375. package/dist/esm/components/index.js +1 -1
  376. package/dist/esm/components/index.js.map +2 -2
  377. package/dist/esm/components/loadingDots.js +42 -0
  378. package/dist/esm/components/loadingDots.js.map +7 -0
  379. package/dist/esm/helpers/utils.d.ts +1 -0
  380. package/dist/esm/helpers/utils.js +1 -1
  381. package/dist/esm/helpers/utils.js.map +3 -3
  382. package/dist/esm/stories/aplusdesc.stories.js +2 -0
  383. package/dist/esm/stories/aplusdesc.stories.js.map +7 -0
  384. package/dist/esm/stories/download.stories.d.ts +1 -6
  385. package/dist/esm/stories/download.stories.js +2 -0
  386. package/dist/esm/stories/download.stories.js.map +7 -0
  387. package/dist/esm/stories/features.stories.js +2 -0
  388. package/dist/esm/stories/features.stories.js.map +7 -0
  389. package/dist/esm/stories/footcharger.stories.js +2 -0
  390. package/dist/esm/stories/footcharger.stories.js.map +7 -0
  391. package/dist/esm/stories/giftbox.stories.js +2 -0
  392. package/dist/esm/stories/giftbox.stories.js.map +7 -0
  393. package/dist/esm/stories/graphicMore.stories.js +2 -0
  394. package/dist/esm/stories/graphicMore.stories.js.map +7 -0
  395. package/dist/esm/stories/selectstore.stories.js +2 -0
  396. package/dist/esm/stories/selectstore.stories.js.map +7 -0
  397. package/dist/esm/stories/shelfDisplay.stories.js +644 -1
  398. package/dist/esm/stories/shelfDisplay.stories.js.map +2 -2
  399. package/dist/esm/stories/tabs.stories.js +1 -1
  400. package/dist/esm/stories/tabs.stories.js.map +3 -3
  401. package/dist/tokens/base.css +1 -1
  402. package/package.json +1 -1
  403. package/style.css +9 -2
  404. package/dist/cjs/apps/playground/utils/classnames.d.ts +0 -1
  405. package/dist/cjs/apps/storefront/lib/utils/classnames.d.ts +0 -2
  406. package/dist/cjs/biz-components/AccordionCards/useDebounce.d.ts +0 -6
  407. package/dist/cjs/biz-components/CollectionsBanner/HeroBanner.d.ts +0 -7
  408. package/dist/cjs/biz-components/CollectionsFilters/AnimatedUL.d.ts +0 -9
  409. package/dist/cjs/biz-components/CollectionsFilters/FilterTab.d.ts +0 -7
  410. package/dist/cjs/biz-components/CollectionsFilters/FiterTab.d.ts +0 -7
  411. package/dist/cjs/biz-components/CollectionsFilters/FiterTab.js +0 -2
  412. package/dist/cjs/biz-components/CollectionsFilters/FiterTab.js.map +0 -7
  413. package/dist/cjs/biz-components/CollectionsFilters/Helper.d.ts +0 -8
  414. package/dist/cjs/biz-components/CollectionsFilters/MoblieSortFilter.d.ts +0 -8
  415. package/dist/cjs/biz-components/CollectionsFilters/SortFilter.d.ts +0 -8
  416. package/dist/cjs/biz-components/CollectionsFilters/component/LoadingDots.d.ts +0 -6
  417. package/dist/cjs/biz-components/CollectionsFilters/data.d.ts +0 -24804
  418. package/dist/cjs/biz-components/CollectionsFilters/price.d.ts +0 -25
  419. package/dist/cjs/biz-components/CollectionsFilters/priceProps.d.ts +0 -215
  420. package/dist/cjs/biz-components/CollectionsFilters/tabFilter.d.ts +0 -10
  421. package/dist/cjs/biz-components/CollectionsFilters/tabSwitch.d.ts +0 -9
  422. package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTabs/index.d.ts +0 -5
  423. package/dist/cjs/biz-components/MediaPlayerMulti/YouTubePlayer.d.ts +0 -3
  424. package/dist/cjs/biz-components/SectionHeading/SectionHeading.d.ts +0 -4
  425. package/dist/cjs/biz-components/SectionHeading/index.d.ts +0 -0
  426. package/dist/cjs/biz-components/SectionHeading/types.d.ts +0 -6
  427. package/dist/cjs/biz-components/Shelf/Shelf.d.ts +0 -8
  428. package/dist/cjs/biz-components/Shelf/index.d.ts +0 -1
  429. package/dist/cjs/biz-components/Shelf/types.d.ts +0 -6
  430. package/dist/cjs/biz-components/ShelfDisplay/tab.d.ts +0 -7
  431. package/dist/cjs/biz-components/TextMa/index.d.ts +0 -9
  432. package/dist/cjs/campaign-ui/tailwind.config.d.ts +0 -62
  433. package/dist/cjs/components/col.d.ts +0 -29
  434. package/dist/cjs/components/dropdown.d.ts +0 -27
  435. package/dist/cjs/components/inputnumber.d.ts +0 -0
  436. package/dist/cjs/components/row.d.ts +0 -18
  437. package/dist/cjs/helpers/get-subtree.d.ts +0 -12
  438. package/dist/cjs/hooks/useMemberPrice.d.ts +0 -20
  439. package/dist/cjs/packages/ui/src/components/avatar.d.ts +0 -26
  440. package/dist/cjs/packages/ui/src/components/index.d.ts +0 -20
  441. package/dist/cjs/packages/ui/src/index.d.ts +0 -1
  442. package/dist/cjs/packages/ui/src/stories/avatar.stories.d.ts +0 -40
  443. package/dist/cjs/packages/ui/src/stories/badge.stories.d.ts +0 -26
  444. package/dist/cjs/packages/ui/src/stories/button.stories.d.ts +0 -48
  445. package/dist/cjs/packages/ui/src/stories/checkbox.stories.d.ts +0 -46
  446. package/dist/cjs/packages/ui/src/stories/container.stories.d.ts +0 -36
  447. package/dist/cjs/packages/ui/src/stories/dialog.stories.d.ts +0 -20
  448. package/dist/cjs/packages/ui/src/stories/grid.stories.d.ts +0 -42
  449. package/dist/cjs/packages/ui/src/stories/heading.stories.d.ts +0 -82
  450. package/dist/cjs/packages/ui/src/stories/input.stories.d.ts +0 -35
  451. package/dist/cjs/packages/ui/src/stories/picture.stories.d.ts +0 -18
  452. package/dist/cjs/packages/ui/src/stories/popover.stories.d.ts +0 -17
  453. package/dist/cjs/packages/ui/src/stories/radio.stories.d.ts +0 -39
  454. package/dist/cjs/packages/ui/src/stories/skeleton.stories.d.ts +0 -20
  455. package/dist/cjs/packages/ui/src/stories/tabs.stories.d.ts +0 -373
  456. package/dist/cjs/packages/ui/src/stories/text.stories.d.ts +0 -94
  457. package/dist/cjs/src/components/index.d.ts +0 -21
  458. package/dist/cjs/src/components/input-number.d.ts +0 -47
  459. package/dist/cjs/src/index.d.ts +0 -1
  460. package/dist/cjs/src/stories/avatar.stories.d.ts +0 -40
  461. package/dist/cjs/src/stories/badge.stories.d.ts +0 -26
  462. package/dist/cjs/src/stories/button.stories.d.ts +0 -48
  463. package/dist/cjs/src/stories/checkbox.stories.d.ts +0 -46
  464. package/dist/cjs/src/stories/container.stories.d.ts +0 -36
  465. package/dist/cjs/src/stories/dialog.stories.d.ts +0 -20
  466. package/dist/cjs/src/stories/grid.stories.d.ts +0 -42
  467. package/dist/cjs/src/stories/heading.stories.d.ts +0 -82
  468. package/dist/cjs/src/stories/input-number.stories.d.ts +0 -51
  469. package/dist/cjs/src/stories/input.stories.d.ts +0 -35
  470. package/dist/cjs/src/stories/picture.stories.d.ts +0 -18
  471. package/dist/cjs/src/stories/popover.stories.d.ts +0 -17
  472. package/dist/cjs/src/stories/radio.stories.d.ts +0 -39
  473. package/dist/cjs/src/stories/skeleton.stories.d.ts +0 -20
  474. package/dist/cjs/src/stories/text.stories.d.ts +0 -94
  475. package/dist/cjs/stories/shelf.stories.d.ts +0 -17
  476. package/dist/cjs/tailwind.config.d.ts +0 -253
  477. package/dist/cjs/tsconfig.tsbuildinfo +0 -1
  478. package/dist/cjs/ui/src/biz-components/CollectionsFilters/FilterCardWrapItem.d.ts +0 -5
  479. package/dist/esm/apps/playground/utils/classnames.d.ts +0 -1
  480. package/dist/esm/apps/storefront/lib/utils/classnames.d.ts +0 -2
  481. package/dist/esm/biz-components/AccordionCards/useDebounce.d.ts +0 -6
  482. package/dist/esm/biz-components/CollectionsBanner/HeroBanner.d.ts +0 -7
  483. package/dist/esm/biz-components/CollectionsFilters/AnimatedUL.d.ts +0 -9
  484. package/dist/esm/biz-components/CollectionsFilters/FilterTab.d.ts +0 -7
  485. package/dist/esm/biz-components/CollectionsFilters/FiterTab.d.ts +0 -7
  486. package/dist/esm/biz-components/CollectionsFilters/FiterTab.js +0 -2
  487. package/dist/esm/biz-components/CollectionsFilters/FiterTab.js.map +0 -7
  488. package/dist/esm/biz-components/CollectionsFilters/Helper.d.ts +0 -8
  489. package/dist/esm/biz-components/CollectionsFilters/MoblieSortFilter.d.ts +0 -8
  490. package/dist/esm/biz-components/CollectionsFilters/SortFilter.d.ts +0 -8
  491. package/dist/esm/biz-components/CollectionsFilters/component/LoadingDots.d.ts +0 -6
  492. package/dist/esm/biz-components/CollectionsFilters/data.d.ts +0 -24804
  493. package/dist/esm/biz-components/CollectionsFilters/price.d.ts +0 -25
  494. package/dist/esm/biz-components/CollectionsFilters/priceProps.d.ts +0 -215
  495. package/dist/esm/biz-components/CollectionsFilters/tabFilter.d.ts +0 -10
  496. package/dist/esm/biz-components/CollectionsFilters/tabSwitch.d.ts +0 -9
  497. package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTabs/index.d.ts +0 -5
  498. package/dist/esm/biz-components/MediaPlayerMulti/YouTubePlayer.d.ts +0 -3
  499. package/dist/esm/biz-components/SectionHeading/SectionHeading.d.ts +0 -4
  500. package/dist/esm/biz-components/SectionHeading/index.d.ts +0 -0
  501. package/dist/esm/biz-components/SectionHeading/types.d.ts +0 -6
  502. package/dist/esm/biz-components/Shelf/Shelf.d.ts +0 -8
  503. package/dist/esm/biz-components/Shelf/index.d.ts +0 -1
  504. package/dist/esm/biz-components/Shelf/types.d.ts +0 -6
  505. package/dist/esm/biz-components/ShelfDisplay/tab.d.ts +0 -7
  506. package/dist/esm/biz-components/TextMa/index.d.ts +0 -9
  507. package/dist/esm/campaign-ui/tailwind.config.d.ts +0 -62
  508. package/dist/esm/components/col.d.ts +0 -29
  509. package/dist/esm/components/dropdown.d.ts +0 -27
  510. package/dist/esm/components/inputnumber.d.ts +0 -0
  511. package/dist/esm/components/row.d.ts +0 -18
  512. package/dist/esm/helpers/get-subtree.d.ts +0 -12
  513. package/dist/esm/hooks/useMemberPrice.d.ts +0 -20
  514. package/dist/esm/packages/ui/src/components/avatar.d.ts +0 -26
  515. package/dist/esm/packages/ui/src/components/index.d.ts +0 -20
  516. package/dist/esm/packages/ui/src/index.d.ts +0 -1
  517. package/dist/esm/packages/ui/src/stories/avatar.stories.d.ts +0 -40
  518. package/dist/esm/packages/ui/src/stories/badge.stories.d.ts +0 -26
  519. package/dist/esm/packages/ui/src/stories/button.stories.d.ts +0 -48
  520. package/dist/esm/packages/ui/src/stories/checkbox.stories.d.ts +0 -46
  521. package/dist/esm/packages/ui/src/stories/container.stories.d.ts +0 -36
  522. package/dist/esm/packages/ui/src/stories/dialog.stories.d.ts +0 -20
  523. package/dist/esm/packages/ui/src/stories/grid.stories.d.ts +0 -42
  524. package/dist/esm/packages/ui/src/stories/heading.stories.d.ts +0 -82
  525. package/dist/esm/packages/ui/src/stories/input.stories.d.ts +0 -35
  526. package/dist/esm/packages/ui/src/stories/picture.stories.d.ts +0 -18
  527. package/dist/esm/packages/ui/src/stories/popover.stories.d.ts +0 -17
  528. package/dist/esm/packages/ui/src/stories/radio.stories.d.ts +0 -39
  529. package/dist/esm/packages/ui/src/stories/skeleton.stories.d.ts +0 -20
  530. package/dist/esm/packages/ui/src/stories/tabs.stories.d.ts +0 -373
  531. package/dist/esm/packages/ui/src/stories/text.stories.d.ts +0 -94
  532. package/dist/esm/src/components/index.d.ts +0 -21
  533. package/dist/esm/src/components/input-number.d.ts +0 -47
  534. package/dist/esm/src/index.d.ts +0 -1
  535. package/dist/esm/src/stories/avatar.stories.d.ts +0 -40
  536. package/dist/esm/src/stories/badge.stories.d.ts +0 -26
  537. package/dist/esm/src/stories/button.stories.d.ts +0 -48
  538. package/dist/esm/src/stories/checkbox.stories.d.ts +0 -46
  539. package/dist/esm/src/stories/container.stories.d.ts +0 -36
  540. package/dist/esm/src/stories/dialog.stories.d.ts +0 -20
  541. package/dist/esm/src/stories/grid.stories.d.ts +0 -42
  542. package/dist/esm/src/stories/heading.stories.d.ts +0 -82
  543. package/dist/esm/src/stories/input-number.stories.d.ts +0 -51
  544. package/dist/esm/src/stories/input.stories.d.ts +0 -35
  545. package/dist/esm/src/stories/picture.stories.d.ts +0 -18
  546. package/dist/esm/src/stories/popover.stories.d.ts +0 -17
  547. package/dist/esm/src/stories/radio.stories.d.ts +0 -39
  548. package/dist/esm/src/stories/skeleton.stories.d.ts +0 -20
  549. package/dist/esm/src/stories/text.stories.d.ts +0 -94
  550. package/dist/esm/stories/shelf.stories.d.ts +0 -17
  551. package/dist/esm/tailwind.config.d.ts +0 -253
  552. package/dist/esm/tsconfig.tsbuildinfo +0 -1
  553. package/dist/esm/ui/src/biz-components/CollectionsFilters/FilterCardWrapItem.d.ts +0 -5
  554. /package/dist/cjs/hooks/{useEXposure.d.ts → useExposure.d.ts} +0 -0
  555. /package/dist/esm/hooks/{useEXposure.d.ts → useExposure.d.ts} +0 -0
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/AccordionCards/index.tsx"],
4
- "sourcesContent": ["'use client'\nimport Title from '../Title/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport Button from '../../components/button.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport React, { useState, useRef, useCallback, useImperativeHandle, useEffect, type RefObject } from 'react'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport type { Img } from '../../types/props.js'\nimport throttle from '../../shared/throttle.js'\nimport { Heading } from '../../components/heading.js'\n\nconst componentType = 'image'\nconst componentName = 'scene_banner'\n\n/** Hook\uFF1A\u76D1\u542C\u7A97\u53E3\u5BBD\u5EA6 */\ntype ItemType = {\n /** \u6807\u9898\u6587\u672C */\n title: string\n /** \u56FE\u7247*/\n img: Img\n mobileImg?: Img\n /** \u5185\u5BB9\u8282\u70B9 */\n subTitle: string\n link?: string\n imgLink?: string\n}\n\nexport type AccordionCardsType = {\n className?: string\n data: {\n key?: string\n title?: string\n products: Array<ItemType>\n /** \u6309\u94AE\u5F62\u72B6 */\n shape?: 'round' | 'square'\n /** \u5361\u7247\u5F62\u72B6 */\n itemShape?: 'round' | 'square'\n /** \u4E3B\u6309\u94AE\u914D\u7F6E */\n primaryButton?: string\n theme?: 'light' | 'dark'\n }\n /** \u6309\u94AE\u4E8B\u4EF6*/\n event?: {\n primaryButton?: (v: any, index: number) => void\n }\n}\n\nconst AccordionCardsPcItem = ({\n item,\n idx,\n itemShape,\n hoverIndex,\n getRef,\n handleSwiperItemClick,\n isAnimation,\n contentWidth,\n primaryButton,\n event,\n data,\n accordionRef,\n}: {\n item: ItemType\n idx: number\n itemShape: 'round' | 'square' | undefined\n hoverIndex: number | null\n getRef: (idx: number, el: HTMLDivElement) => void\n handleSwiperItemClick: (idx: number) => void\n isAnimation: any\n contentWidth: number\n primaryButton: string | undefined\n event: any\n data: AccordionCardsType['data']\n accordionRef: React.MutableRefObject<HTMLDivElement[]>\n}) => {\n const isExpanded = hoverIndex === idx\n const flexValue = isExpanded ? 8 : 1\n\n useExposure({ current: accordionRef.current[idx] } as RefObject<HTMLDivElement>, {\n componentType,\n componentName,\n componentTitle: item?.title,\n position: idx + 1,\n componentDescription: item?.subTitle,\n })\n\n return (\n <div\n key={idx}\n style={{\n flex: `${flexValue} 1 0%`,\n transition: 'all 0.6s',\n }}\n ref={(el: HTMLDivElement | null) => {\n if (el) getRef(idx, el)\n }}\n className={cn('relative cursor-pointer overflow-hidden', itemShape === 'round' ? 'rounded-2xl' : '')}\n onMouseEnter={() => handleSwiperItemClick(idx)}\n onMouseLeave={() => {\n isAnimation.current = false\n }}\n onClick={() => {\n handleSwiperItemClick(idx)\n }}\n >\n <a\n href={trackUrlRef(item?.imgLink, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${item?.title}#${item?.subTitle}`}\n >\n <Picture\n source={item?.img?.url}\n className=\"size-full object-cover [&_img]:h-full [&_img]:object-cover\"\n alt={item?.img?.alt || ''}\n />\n </a>\n <div\n style={{\n width: contentWidth,\n }}\n className={cn(\n 'absolute inset-x-0 bottom-0 flex w-full items-end justify-between overflow-hidden px-8 pb-8 opacity-0 transition-opacity duration-[600ms] ease-in',\n isExpanded && contentWidth ? 'opacity-100' : 'opacity-0'\n )}\n >\n <div className=\"mr-16 flex-1 overflow-hidden\">\n <Heading as=\"h3\" className=\"laptop:text-2xl desktop:text-[32px] text-info-primary mb-1 text-xl font-bold\">\n {item?.title}\n </Heading>\n <Heading\n as=\"h4\"\n className=\"lg-desktop:text-[18px] desktop:text-[16px] text-info-primary line-clamp-2 text-[14px] font-[700]\"\n >\n {item?.subTitle}\n </Heading>\n </div>\n <Button\n className={cn('mb-1.5 font-bold')}\n as=\"a\"\n href={trackUrlRef(item?.link, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${item?.title}#${item?.subTitle}#${primaryButton}`}\n onClick={() => event?.primaryButton?.(data, idx)}\n >\n {primaryButton}\n <span className=\"sr-only\">{item?.title ?? item?.subTitle}</span>\n </Button>\n </div>\n </div>\n )\n}\n\nconst MobileItem = ({ data, configuration }: { data: ItemType; configuration?: any }) => {\n const ref = useRef<HTMLDivElement>(null)\n\n useExposure(ref, {\n componentType,\n componentName,\n componentTitle: data?.title,\n position: configuration?.index + 1,\n componentDescription: data?.subTitle,\n })\n \n return (\n <div\n ref={ref}\n className={cn(\n 'bg-container-secondary-1 relative w-full shrink-0 grow-0 overflow-hidden border border-solid',\n configuration?.itemShape === 'round' ? 'rounded-2xl' : ''\n )}\n >\n <a\n href={trackUrlRef(data?.imgLink, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${data?.title}@${data?.subTitle}`}\n data-headless-nav-postion={`''#${configuration?.index + 1}`}\n >\n <Picture\n className=\"size-full object-cover [&_img]:h-full [&_img]:object-cover\"\n source={data?.mobileImg?.url || ''}\n alt={data?.mobileImg?.alt || ''}\n />\n </a>\n <div className={cn('absolute inset-x-0 bottom-0 overflow-hidden px-4 pb-4')}>\n <div className=\"tablet:mb-6 mb-4 flex-1 overflow-hidden\">\n <p className=\"text-info-primary text-2xl font-bold leading-[1.2]\">{data?.title}</p>\n <h3 className=\"text-info-primary line-clamp-2 text-sm font-semibold\">{data?.subTitle}</h3>\n </div>\n\n <Button\n as=\"a\"\n variant=\"secondary\"\n aria-label={data?.title ?? data?.subTitle}\n className={cn('text-info-primary text-sm font-bold')}\n href={trackUrlRef(data.link, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-nav-postion={`''#${configuration?.index + 1}`}\n data-headless-title-desc-button={`${data?.title}#${data?.subTitle}#${configuration?.primaryButton}`}\n >\n {configuration?.primaryButton}\n </Button>\n </div>\n </div>\n )\n}\n\nconst AccordionCards = React.forwardRef<HTMLDivElement, AccordionCardsType>(({ data, className = '', event }, ref) => {\n const [hoverIndex, setHoverIndex] = useState<number | null>(0)\n\n const hoverIndexRef = useRef<number>(0)\n const accordionRef = useRef<HTMLDivElement[]>([])\n const isAnimation = useRef<boolean>(false)\n const [contentWidth, setContentWidth] = useState<number>(0)\n\n const innerRef = useRef<HTMLDivElement>(null)\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n\n const getRef = (index: number, el: HTMLDivElement) => {\n if (el) {\n accordionRef.current[index] = el\n }\n }\n\n useEffect(() => {\n const handleResize = () => {\n if (accordionRef.current[hoverIndexRef.current]) {\n setContentWidth(accordionRef.current[hoverIndexRef.current].offsetWidth)\n }\n }\n handleResize()\n const throttleResize = throttle(handleResize, 300)\n window.addEventListener('resize', throttleResize)\n return () => window.removeEventListener('resize', throttleResize)\n }, [])\n\n\n\n const handleSwiperItemClick = useCallback(\n (idx: number) => {\n if (hoverIndex === idx || isAnimation.current) return\n isAnimation.current = true\n // \u66F4\u65B0\u5BBD\u5EA6\u76F8\u5173\u72B6\u6001\n setHoverIndex(idx)\n hoverIndexRef.current = idx\n },\n [data?.products, hoverIndex]\n )\n\n return (\n <>\n {data?.title && <Title data={{ title: data?.title }} />}\n <div ref={innerRef} className={cn('laptop:block hidden', { 'aiui-dark': data?.theme === 'dark' })}>\n <div\n className={cn(\n 'lg-desktop:h-[calc(560_/_1920*100vw)] desktop:h-[calc(448_/_1440*100vw)] laptop:h-[calc(336_/_1025*100vw)] flex max-h-[560px] min-h-[336px] w-full gap-4 overflow-hidden',\n className\n )}\n >\n {data?.products?.map((item, idx) => (\n <AccordionCardsPcItem\n key={idx}\n item={item}\n idx={idx}\n itemShape={data?.itemShape}\n hoverIndex={hoverIndex}\n getRef={getRef}\n handleSwiperItemClick={handleSwiperItemClick}\n isAnimation={isAnimation}\n contentWidth={contentWidth}\n primaryButton={data?.primaryButton}\n event={event}\n data={data}\n accordionRef={accordionRef}\n />\n ))}\n </div>\n </div>\n <div className={cn('laptop:hidden block', { 'aiui-dark': data?.theme === 'dark' })}>\n <SwiperBox\n className={cn('h-[400px] !overflow-visible', className)}\n id={'AccordionCards' + data?.key}\n data={{\n list: data?.products,\n configuration: {\n shape: data?.shape,\n itemShape: data?.itemShape,\n primaryButton: data?.primaryButton,\n event: event,\n title: data?.title,\n },\n }}\n Slide={MobileItem}\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 }}\n />\n </div>\n </>\n )\n})\nexport default withLayout(AccordionCards)\n"],
5
- "mappings": "ukBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GAgHQ,IAAAI,EAAA,6BA/GRC,EAAkB,gCAClBC,EAAmB,kCACnBC,EAAoB,0CACpBC,EAAmB,yCACnBC,EAAsB,oCACtBC,EAA2B,kCAC3BC,EAAqG,oBACrGC,EAA4B,sCAC5BC,EAA4B,uCAE5BC,EAAqB,uCACrBC,EAAwB,uCAExB,MAAMC,EAAgB,QAChBC,EAAgB,eAmChBC,EAAuB,CAAC,CAC5B,KAAAC,EACA,IAAAC,EACA,UAAAC,EACA,WAAAC,EACA,OAAAC,EACA,sBAAAC,EACA,YAAAC,EACA,aAAAC,EACA,cAAAC,EACA,MAAAC,EACA,KAAAC,EACA,aAAAC,CACF,IAaM,CACJ,MAAMC,EAAaT,IAAeF,EAC5BY,EAAYD,EAAa,EAAI,EAEnC,wBAAY,CAAE,QAASD,EAAa,QAAQV,CAAG,CAAE,EAAgC,CAC/E,cAAAJ,EACA,cAAAC,EACA,eAAgBE,GAAM,MACtB,SAAUC,EAAM,EAChB,qBAAsBD,GAAM,QAC9B,CAAC,KAGC,QAAC,OAEC,MAAO,CACL,KAAM,GAAGa,CAAS,QAClB,WAAY,UACd,EACA,IAAMC,GAA8B,CAC9BA,GAAIV,EAAOH,EAAKa,CAAE,CACxB,EACA,aAAW,MAAG,0CAA2CZ,IAAc,QAAU,cAAgB,EAAE,EACnG,aAAc,IAAMG,EAAsBJ,CAAG,EAC7C,aAAc,IAAM,CAClBK,EAAY,QAAU,EACxB,EACA,QAAS,IAAM,CACbD,EAAsBJ,CAAG,CAC3B,EAEA,oBAAC,KACC,QAAM,eAAYD,GAAM,QAAS,GAAGH,CAAa,IAAIC,CAAa,EAAE,EACpE,0BAAyB,GAAGD,CAAa,IAAIC,CAAa,GAC1D,kCAAiC,GAAGE,GAAM,KAAK,IAAIA,GAAM,QAAQ,GAEjE,mBAAC,EAAAe,QAAA,CACC,OAAQf,GAAM,KAAK,IACnB,UAAU,6DACV,IAAKA,GAAM,KAAK,KAAO,GACzB,EACF,KACA,QAAC,OACC,MAAO,CACL,MAAOO,CACT,EACA,aAAW,MACT,oJACAK,GAAcL,EAAe,cAAgB,WAC/C,EAEA,qBAAC,OAAI,UAAU,+BACb,oBAAC,WAAQ,GAAG,KAAK,UAAU,+EACxB,SAAAP,GAAM,MACT,KACA,OAAC,WACC,GAAG,KACH,UAAU,mGAET,SAAAA,GAAM,SACT,GACF,KACA,QAAC,EAAAgB,QAAA,CACC,aAAW,MAAG,kBAAkB,EAChC,GAAG,IACH,QAAM,eAAYhB,GAAM,KAAM,GAAGH,CAAa,IAAIC,CAAa,EAAE,EACjE,0BAAyB,GAAGD,CAAa,IAAIC,CAAa,GAC1D,kCAAiC,GAAGE,GAAM,KAAK,IAAIA,GAAM,QAAQ,IAAIQ,CAAa,GAClF,QAAS,IAAMC,GAAO,gBAAgBC,EAAMT,CAAG,EAE9C,UAAAO,KACD,OAAC,QAAK,UAAU,UAAW,SAAAR,GAAM,OAASA,GAAM,SAAS,GAC3D,GACF,IA3DKC,CA4DP,CAEJ,EAEMgB,EAAa,CAAC,CAAE,KAAAP,EAAM,cAAAQ,CAAc,IAA+C,CACvF,MAAMC,KAAM,UAAuB,IAAI,EAEvC,wBAAYA,EAAK,CACf,cAAAtB,EACA,cAAAC,EACA,eAAgBY,GAAM,MACtB,SAAUQ,GAAe,MAAQ,EACjC,qBAAsBR,GAAM,QAC9B,CAAC,KAGC,QAAC,OACC,IAAKS,EACL,aAAW,MACT,+FACAD,GAAe,YAAc,QAAU,cAAgB,EACzD,EAEA,oBAAC,KACC,QAAM,eAAYR,GAAM,QAAS,GAAGb,CAAa,IAAIC,CAAa,EAAE,EACpE,0BAAyB,GAAGD,CAAa,IAAIC,CAAa,GAC1D,kCAAiC,GAAGY,GAAM,KAAK,IAAIA,GAAM,QAAQ,GACjE,4BAA2B,MAAMQ,GAAe,MAAQ,CAAC,GAEzD,mBAAC,EAAAH,QAAA,CACC,UAAU,6DACV,OAAQL,GAAM,WAAW,KAAO,GAChC,IAAKA,GAAM,WAAW,KAAO,GAC/B,EACF,KACA,QAAC,OAAI,aAAW,MAAG,uDAAuD,EACxE,qBAAC,OAAI,UAAU,0CACb,oBAAC,KAAE,UAAU,qDAAsD,SAAAA,GAAM,MAAM,KAC/E,OAAC,MAAG,UAAU,uDAAwD,SAAAA,GAAM,SAAS,GACvF,KAEA,OAAC,EAAAM,QAAA,CACC,GAAG,IACH,QAAQ,YACR,aAAYN,GAAM,OAASA,GAAM,SACjC,aAAW,MAAG,qCAAqC,EACnD,QAAM,eAAYA,EAAK,KAAM,GAAGb,CAAa,IAAIC,CAAa,EAAE,EAChE,0BAAyB,GAAGD,CAAa,IAAIC,CAAa,GAC1D,4BAA2B,MAAMoB,GAAe,MAAQ,CAAC,GACzD,kCAAiC,GAAGR,GAAM,KAAK,IAAIA,GAAM,QAAQ,IAAIQ,GAAe,aAAa,GAEhG,SAAAA,GAAe,cAClB,GACF,GACF,CAEJ,EAEME,EAAiB,EAAAC,QAAM,WAA+C,CAAC,CAAE,KAAAX,EAAM,UAAAY,EAAY,GAAI,MAAAb,CAAM,EAAGU,IAAQ,CACpH,KAAM,CAAChB,EAAYoB,CAAa,KAAI,YAAwB,CAAC,EAEvDC,KAAgB,UAAe,CAAC,EAChCb,KAAe,UAAyB,CAAC,CAAC,EAC1CL,KAAc,UAAgB,EAAK,EACnC,CAACC,EAAckB,CAAe,KAAI,YAAiB,CAAC,EAEpDC,KAAW,UAAuB,IAAI,KAC5C,uBAAoBP,EAAK,IAAMO,EAAS,OAAyB,EAEjE,MAAMtB,EAAS,CAACuB,EAAeb,IAAuB,CAChDA,IACFH,EAAa,QAAQgB,CAAK,EAAIb,EAElC,KAEA,aAAU,IAAM,CACd,MAAMc,EAAe,IAAM,CACrBjB,EAAa,QAAQa,EAAc,OAAO,GAC5CC,EAAgBd,EAAa,QAAQa,EAAc,OAAO,EAAE,WAAW,CAE3E,EACAI,EAAa,EACb,MAAMC,KAAiB,EAAAC,SAASF,EAAc,GAAG,EACjD,cAAO,iBAAiB,SAAUC,CAAc,EACzC,IAAM,OAAO,oBAAoB,SAAUA,CAAc,CAClE,EAAG,CAAC,CAAC,EAIL,MAAMxB,KAAwB,eAC3BJ,GAAgB,CACXE,IAAeF,GAAOK,EAAY,UACtCA,EAAY,QAAU,GAEtBiB,EAActB,CAAG,EACjBuB,EAAc,QAAUvB,EAC1B,EACA,CAACS,GAAM,SAAUP,CAAU,CAC7B,EAEA,SACE,oBACG,UAAAO,GAAM,UAAS,OAAC,EAAAqB,QAAA,CAAM,KAAM,CAAE,MAAOrB,GAAM,KAAM,EAAG,KACrD,OAAC,OAAI,IAAKgB,EAAU,aAAW,MAAG,sBAAuB,CAAE,YAAahB,GAAM,QAAU,MAAO,CAAC,EAC9F,mBAAC,OACC,aAAW,MACT,2KACAY,CACF,EAEC,SAAAZ,GAAM,UAAU,IAAI,CAACV,EAAMC,OAC1B,OAACF,EAAA,CAEC,KAAMC,EACN,IAAKC,EACL,UAAWS,GAAM,UACjB,WAAYP,EACZ,OAAQC,EACR,sBAAuBC,EACvB,YAAaC,EACb,aAAcC,EACd,cAAeG,GAAM,cACrB,MAAOD,EACP,KAAMC,EACN,aAAcC,GAZTV,CAaP,CACD,EACH,EACF,KACA,OAAC,OAAI,aAAW,MAAG,sBAAuB,CAAE,YAAaS,GAAM,QAAU,MAAO,CAAC,EAC/E,mBAAC,EAAAsB,QAAA,CACC,aAAW,MAAG,8BAA+BV,CAAS,EACtD,GAAI,iBAAmBZ,GAAM,IAC7B,KAAM,CACJ,KAAMA,GAAM,SACZ,cAAe,CACb,MAAOA,GAAM,MACb,UAAWA,GAAM,UACjB,cAAeA,GAAM,cACrB,MAAOD,EACP,MAAOC,GAAM,KACf,CACF,EACA,MAAOO,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,CACF,EACF,EACF,GACF,CAEJ,CAAC,EACD,IAAOlC,KAAQ,cAAWqC,CAAc",
4
+ "sourcesContent": ["'use client'\nimport Title from '../Title/index.js'\nimport { cn } from '../../helpers/utils.js'\nimport Picture from '../../components/picture.js'\nimport Button from '../../components/button.js'\nimport SwiperBox from '../SwiperBox/index.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport React, { useState, useRef, useCallback, useImperativeHandle, useEffect, type RefObject } from 'react'\nimport { useExposure } from '../../hooks/useExposure.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport type { Img } from '../../types/props.js'\nimport throttle from '../../shared/throttle.js'\nimport { Heading } from '../../components/heading.js'\n\nconst componentType = 'image'\nconst componentName = 'scene_banner'\n\n/** Hook\uFF1A\u76D1\u542C\u7A97\u53E3\u5BBD\u5EA6 */\ntype ItemType = {\n /** \u6807\u9898\u6587\u672C */\n title: string\n /** \u56FE\u7247*/\n img: Img\n mobileImg?: Img\n /** \u5185\u5BB9\u8282\u70B9 */\n subTitle: string\n link?: string\n imgLink?: string\n}\n\nexport type AccordionCardsType = {\n className?: string\n data: {\n key?: string\n title?: string\n products: Array<ItemType>\n /** \u6309\u94AE\u5F62\u72B6 */\n shape?: 'round' | 'square'\n /** \u5361\u7247\u5F62\u72B6 */\n itemShape?: 'round' | 'square'\n /** \u4E3B\u6309\u94AE\u914D\u7F6E */\n primaryButton?: string\n theme?: 'light' | 'dark'\n }\n /** \u6309\u94AE\u4E8B\u4EF6*/\n event?: {\n primaryButton?: (v: any, index: number) => void\n }\n}\n\nconst AccordionCardsPcItem = ({\n item,\n idx,\n itemShape,\n hoverIndex,\n getRef,\n handleSwiperItemClick,\n isAnimation,\n contentWidth,\n primaryButton,\n event,\n data,\n accordionRef,\n}: {\n item: ItemType\n idx: number\n itemShape: 'round' | 'square' | undefined\n hoverIndex: number | null\n getRef: (idx: number, el: HTMLDivElement) => void\n handleSwiperItemClick: (idx: number) => void\n isAnimation: any\n contentWidth: number\n primaryButton: string | undefined\n event: any\n data: AccordionCardsType['data']\n accordionRef: React.MutableRefObject<HTMLDivElement[]>\n}) => {\n const isExpanded = hoverIndex === idx\n const flexValue = isExpanded ? 8 : 1\n\n useExposure({ current: accordionRef.current[idx] } as RefObject<HTMLDivElement>, {\n componentType,\n componentName,\n componentTitle: item?.title,\n position: idx + 1,\n componentDescription: item?.subTitle,\n })\n\n return (\n <div\n key={idx}\n style={{\n flex: `${flexValue} 1 0%`,\n transition: 'all 0.6s',\n }}\n ref={(el: HTMLDivElement | null) => {\n if (el) getRef(idx, el)\n }}\n className={cn('relative cursor-pointer overflow-hidden', itemShape === 'round' ? 'rounded-2xl' : '')}\n onMouseEnter={() => handleSwiperItemClick(idx)}\n onMouseLeave={() => {\n isAnimation.current = false\n }}\n onClick={() => {\n handleSwiperItemClick(idx)\n }}\n >\n <a\n href={trackUrlRef(item?.imgLink, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${item?.title}#${item?.subTitle}`}\n >\n <Picture\n source={item?.img?.url}\n className=\"size-full object-cover [&_img]:h-full [&_img]:object-cover\"\n alt={item?.img?.alt || ''}\n />\n </a>\n <div\n style={{\n width: contentWidth,\n }}\n className={cn(\n 'absolute inset-x-0 bottom-0 flex w-full items-end justify-between overflow-hidden px-8 pb-8 opacity-0 transition-opacity duration-[600ms] ease-in',\n isExpanded && contentWidth ? 'opacity-100' : 'opacity-0'\n )}\n >\n <div className=\"mr-16 flex-1 overflow-hidden\">\n <Heading as=\"h3\" className=\"laptop:text-2xl desktop:text-[32px] text-info-primary mb-1 text-xl font-bold\">\n {item?.title}\n </Heading>\n <Heading\n as=\"h4\"\n className=\"lg-desktop:text-[18px] desktop:text-[16px] text-info-primary line-clamp-2 text-[14px] font-[700]\"\n >\n {item?.subTitle}\n </Heading>\n </div>\n <Button\n className={cn('mb-1.5 font-bold')}\n as=\"a\"\n href={trackUrlRef(item?.link, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${item?.title}#${item?.subTitle}#${primaryButton}`}\n onClick={() => event?.primaryButton?.(data, idx)}\n >\n {primaryButton}\n <span className=\"sr-only\">{item?.title ?? item?.subTitle}</span>\n </Button>\n </div>\n </div>\n )\n}\n\nconst MobileItem = ({ data, configuration }: { data: ItemType; configuration?: any }) => {\n const ref = useRef<HTMLDivElement>(null)\n\n useExposure(ref, {\n componentType,\n componentName,\n componentTitle: data?.title,\n position: configuration?.index + 1,\n componentDescription: data?.subTitle,\n })\n \n return (\n <div\n ref={ref}\n className={cn(\n 'bg-container-secondary-1 relative w-full shrink-0 grow-0 overflow-hidden border border-solid',\n configuration?.itemShape === 'round' ? 'rounded-2xl' : ''\n )}\n >\n <a\n href={trackUrlRef(data?.imgLink, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-title-desc-button={`${data?.title}@${data?.subTitle}`}\n data-headless-nav-postion={`''#${configuration?.index + 1}`}\n >\n <Picture\n className=\"size-full object-cover [&_img]:h-full [&_img]:object-cover\"\n source={data?.mobileImg?.url || ''}\n alt={data?.mobileImg?.alt || ''}\n />\n </a>\n <div className={cn('absolute inset-x-0 bottom-0 overflow-hidden px-4 pb-4')}>\n <div className=\"tablet:mb-6 mb-4 flex-1 overflow-hidden\">\n <p className=\"text-info-primary text-2xl font-bold leading-[1.2]\">{data?.title}</p>\n <h3 className=\"text-info-primary line-clamp-2 text-sm font-semibold\">{data?.subTitle}</h3>\n </div>\n\n <Button\n as=\"a\"\n variant=\"secondary\"\n aria-label={data?.title ?? data?.subTitle}\n className={cn('text-info-primary text-sm font-bold')}\n href={trackUrlRef(data.link, `${componentType}_${componentName}`)}\n data-headless-type-name={`${componentType}#${componentName}`}\n data-headless-nav-postion={`''#${configuration?.index + 1}`}\n data-headless-title-desc-button={`${data?.title}#${data?.subTitle}#${configuration?.primaryButton}`}\n >\n {configuration?.primaryButton}\n </Button>\n </div>\n </div>\n )\n}\n\nconst AccordionCards = React.forwardRef<HTMLDivElement, AccordionCardsType>(({ data, className = '', event }, ref) => {\n const [hoverIndex, setHoverIndex] = useState<number | null>(0)\n\n const hoverIndexRef = useRef<number>(0)\n const accordionRef = useRef<HTMLDivElement[]>([])\n const isAnimation = useRef<boolean>(false)\n const [contentWidth, setContentWidth] = useState<number>(0)\n\n const innerRef = useRef<HTMLDivElement>(null)\n useImperativeHandle(ref, () => innerRef.current as HTMLDivElement)\n\n const getRef = (index: number, el: HTMLDivElement) => {\n if (el) {\n accordionRef.current[index] = el\n }\n }\n\n useEffect(() => {\n const handleResize = () => {\n if (accordionRef.current[hoverIndexRef.current]) {\n setContentWidth(accordionRef.current[hoverIndexRef.current].offsetWidth)\n }\n }\n handleResize()\n const throttleResize = throttle(handleResize, 300)\n window.addEventListener('resize', throttleResize)\n return () => window.removeEventListener('resize', throttleResize)\n }, [])\n\n const handleSwiperItemClick = useCallback(\n (idx: number) => {\n if (hoverIndex === idx || isAnimation.current) return\n isAnimation.current = true\n // \u66F4\u65B0\u5BBD\u5EA6\u76F8\u5173\u72B6\u6001\n setHoverIndex(idx)\n hoverIndexRef.current = idx\n },\n [data?.products, hoverIndex]\n )\n\n return (\n <>\n {data?.title && <Title data={{ title: data?.title }} />}\n <div ref={innerRef} className={cn('laptop:block hidden', { 'aiui-dark': data?.theme === 'dark' })}>\n <div\n className={cn(\n 'lg-desktop:h-[calc(560_/_1920*100vw)] desktop:h-[calc(448_/_1440*100vw)] laptop:h-[calc(336_/_1025*100vw)] flex max-h-[560px] min-h-[336px] w-full gap-4 overflow-hidden',\n className\n )}\n >\n {data?.products?.map((item, idx) => (\n <AccordionCardsPcItem\n key={idx}\n item={item}\n idx={idx}\n itemShape={data?.itemShape}\n hoverIndex={hoverIndex}\n getRef={getRef}\n handleSwiperItemClick={handleSwiperItemClick}\n isAnimation={isAnimation}\n contentWidth={contentWidth}\n primaryButton={data?.primaryButton}\n event={event}\n data={data}\n accordionRef={accordionRef}\n />\n ))}\n </div>\n </div>\n <div className={cn('laptop:hidden block', { 'aiui-dark': data?.theme === 'dark' })}>\n <SwiperBox\n className={cn('h-[400px] !overflow-visible', className)}\n id={'AccordionCards' + data?.key}\n data={{\n list: data?.products,\n configuration: {\n shape: data?.shape,\n itemShape: data?.itemShape,\n primaryButton: data?.primaryButton,\n event: event,\n title: data?.title,\n },\n }}\n Slide={MobileItem}\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 }}\n />\n </div>\n </>\n )\n})\nexport default withLayout(AccordionCards)\n"],
5
+ "mappings": "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",
6
6
  "names": ["AccordionCards_exports", "__export", "AccordionCards_default", "__toCommonJS", "import_jsx_runtime", "import_Title", "import_utils", "import_picture", "import_button", "import_SwiperBox", "import_Styles", "import_react", "import_useExposure", "import_trackUrlRef", "import_throttle", "import_heading", "componentType", "componentName", "AccordionCardsPcItem", "item", "idx", "itemShape", "hoverIndex", "getRef", "handleSwiperItemClick", "isAnimation", "contentWidth", "primaryButton", "event", "data", "accordionRef", "isExpanded", "flexValue", "el", "Picture", "Button", "MobileItem", "configuration", "ref", "AccordionCards", "React", "className", "setHoverIndex", "hoverIndexRef", "setContentWidth", "innerRef", "index", "handleResize", "throttleResize", "throttle", "Title", "SwiperBox"]
7
7
  }
@@ -0,0 +1,2 @@
1
+ "use strict";"use client";var m=Object.defineProperty;var u=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var n=Object.prototype.hasOwnProperty;var f=(l,t)=>{for(var p in t)m(l,p,{get:t[p],enumerable:!0})},N=(l,t,p,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of k(t))!n.call(l,o)&&o!==p&&m(l,o,{get:()=>t[o],enumerable:!(a=u(t,o))||a.enumerable});return l};var b=l=>N(m({},"__esModule",{value:!0}),l);var y={};f(y,{default:()=>I});module.exports=b(y);var e=require("react/jsx-runtime"),i=require("../../helpers/utils.js"),g=require("../../shared/Styles.js"),s=require("../../components/index.js");const v=l=>{const{data:t,className:p}=l,{title:a,img:o,mobileImg:r,list:x}=t;return(0,e.jsx)(e.Fragment,{children:(0,e.jsxs)("div",{className:"w-full",children:[(0,e.jsxs)("div",{className:"flex desktop:items-center desktop:justify-between desktop:flex-row flex-col w-full",children:[(0,e.jsx)("div",{className:" desktop:w-[600px] lg-desktop:w-[800px]",children:a&&(0,e.jsx)(s.Text,{html:a,className:"desktop:text-[16px] lg-desktop:text-[18px] text-[14px] font-bold leading-[1.2]"})}),(0,e.jsxs)("div",{children:[o?.url&&(0,e.jsx)(s.Picture,{className:"w-[464px] rounded-2xl hidden desktop:block",imgClassName:"",source:t?.img?.url,alt:t?.img?.alt||""}),r?.url&&(0,e.jsx)(s.Picture,{className:"w-[224px] rounded-2xl block desktop:hidden",imgClassName:"",source:t?.mobileImg?.url,alt:t?.mobileImg?.alt||""})]})]}),(0,e.jsx)("div",{className:"mt-[24px] grid tablet:grid-cols-2 desktop:grid-cols-3 grid-cols-1 gap-[16px] desktop:gap-[24px] lg-desktop:gap-[32px]",children:x.map((d,c)=>(0,e.jsxs)("div",{className:"relative",children:[(0,e.jsx)(s.Picture,{className:" rounded-2xl",imgClassName:"",source:d?.img?.url,alt:d?.img?.alt||""}),(0,e.jsxs)("div",{className:(0,i.cn)("text-info-primary absolute bottom-[16px] left-[16px] flex flex-col desktop:bottom-[24px] desktop:left-[24px] lg-desktop:bottom-[32px] lg-desktop:left-[32px]",{"aiui-dark":d.theme==="dark"}),children:[(0,e.jsx)(s.Text,{html:d?.title,className:" lg-desktop:text-[24px] text-[20px] font-bold leading-[1.2]"}),(0,e.jsx)(s.Text,{html:d?.desc,className:" lg-desktop:text-[16px] text-[14px] font-bold leading-[1.4]"})]})]},c))})]})})};var I=(0,g.withLayout)(v);
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/biz-components/AplusDesc/index.tsx"],
4
+ "sourcesContent": ["'use client'\nimport { cn } from '../../helpers/utils.js'\nimport type { Img } from '../../types/props.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport { Picture, Text } from '../../components/index.js'\n\n\ntype AplusItem = {\n img: Img\n mobileImg: Img\n title: string\n desc: string\n theme: 'light' | 'dark'\n}\n\ntype AplusDescType = {\n data: {\n title: string\n img: Img\n mobileImg: Img\n list: AplusItem[]\n }\n className?: string\n}\n\nconst AplusDesc = (props: AplusDescType) => {\n const { data, className } = props\n const { title, img , mobileImg,list} = data\n\n return (\n <>\n <div className='w-full'>\n <div className='flex desktop:items-center desktop:justify-between desktop:flex-row flex-col w-full'>\n <div className=' desktop:w-[600px] lg-desktop:w-[800px]'>\n {title && (\n <Text\n html={title}\n className=\"desktop:text-[16px] lg-desktop:text-[18px] text-[14px] font-bold leading-[1.2]\"\n />\n )}\n </div>\n <div>\n {img?.url && (\n <Picture\n className=\"w-[464px] rounded-2xl hidden desktop:block\"\n imgClassName=\"\"\n source={data?.img?.url}\n alt={data?.img?.alt || ''}\n />\n )}\n {mobileImg?.url && (\n <Picture\n className=\"w-[224px] rounded-2xl block desktop:hidden\"\n imgClassName=\"\"\n source={data?.mobileImg?.url}\n alt={data?.mobileImg?.alt || ''}\n />\n )}\n </div>\n </div>\n <div className='mt-[24px] grid tablet:grid-cols-2 desktop:grid-cols-3 grid-cols-1 gap-[16px] desktop:gap-[24px] lg-desktop:gap-[32px]'>\n {list.map((item,ind)=>(\n <div key={ind} className='relative'>\n <Picture\n className=\" rounded-2xl\"\n imgClassName=\"\"\n source={item?.img?.url}\n alt={item?.img?.alt || ''}\n />\n <div className={cn(\n 'text-info-primary absolute bottom-[16px] left-[16px] flex flex-col desktop:bottom-[24px] desktop:left-[24px] lg-desktop:bottom-[32px] lg-desktop:left-[32px]',\n {\n 'aiui-dark': item.theme === 'dark',\n }\n )}>\n <Text html={item?.title} className=\" lg-desktop:text-[24px] text-[20px] font-bold leading-[1.2]\" />\n <Text html={item?.desc} className=\" lg-desktop:text-[16px] text-[14px] font-bold leading-[1.4]\" />\n </div>\n </div>\n ))}\n </div>\n </div>\n </>\n )\n}\n\nexport default withLayout(AplusDesc)\n"],
5
+ "mappings": "sbAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,IAAA,eAAAC,EAAAH,GA8BI,IAAAI,EAAA,6BA7BJC,EAAmB,kCAEnBC,EAA2B,kCAC3BC,EAA8B,qCAqB9B,MAAMC,EAAaC,GAAyB,CAC1C,KAAM,CAAE,KAAAC,EAAM,UAAAC,CAAU,EAAIF,EACtB,CAAE,MAAAG,EAAO,IAAAC,EAAM,UAAAC,EAAU,KAAAC,CAAI,EAAIL,EAEvC,SACE,mBACE,oBAAC,OAAI,UAAU,SACb,qBAAC,OAAI,UAAU,qFACX,oBAAC,OAAI,UAAU,0CACV,SAAAE,MACD,OAAC,QACG,KAAMA,EACN,UAAU,iFACd,EAEJ,KACA,QAAC,OACI,UAAAC,GAAK,QACN,OAAC,WACG,UAAU,6CACV,aAAa,GACb,OAAQH,GAAM,KAAK,IACnB,IAAKA,GAAM,KAAK,KAAO,GAC3B,EAEHI,GAAW,QACR,OAAC,WACG,UAAU,6CACV,aAAa,GACb,OAAQJ,GAAM,WAAW,IACzB,IAAKA,GAAM,WAAW,KAAO,GACjC,GAEJ,GACJ,KACA,OAAC,OAAI,UAAU,wHACV,SAAAK,EAAK,IAAI,CAACC,EAAKC,OACZ,QAAC,OAAc,UAAU,WACrB,oBAAC,WACG,UAAU,eACV,aAAa,GACb,OAAQD,GAAM,KAAK,IACnB,IAAKA,GAAM,KAAK,KAAO,GAC3B,KACA,QAAC,OAAI,aAAW,MACZ,+JACA,CACI,YAAaA,EAAK,QAAU,MAChC,CACJ,EACI,oBAAC,QAAK,KAAMA,GAAM,MAAO,UAAU,8DAA8D,KACjG,OAAC,QAAK,KAAMA,GAAM,KAAM,UAAU,8DAA8D,GACpG,IAfMC,CAgBV,CACH,EACL,GACF,EACF,CAEJ,EAEA,IAAOf,KAAQ,cAAWM,CAAS",
6
+ "names": ["AplusDesc_exports", "__export", "AplusDesc_default", "__toCommonJS", "import_jsx_runtime", "import_utils", "import_Styles", "import_components", "AplusDesc", "props", "data", "className", "title", "img", "mobileImg", "list", "item", "ind"]
7
+ }
@@ -7,7 +7,6 @@ type FilterCardWrapProps = {
7
7
  closeFilter: boolean;
8
8
  page: number;
9
9
  metafields: any;
10
- noResultNode?: React.ReactNode;
11
10
  refreshStarRating?: () => void;
12
11
  onPrimaryChange?: (item: any, sku: string) => void;
13
12
  onSecondaryChange?: (item: any, sku: string) => void;
@@ -1,2 +1,2 @@
1
- "use strict";var V=Object.create;var b=Object.defineProperty;var Y=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var H=Object.getPrototypeOf,Q=Object.prototype.hasOwnProperty;var Z=(n,r)=>{for(var d in r)b(n,d,{get:r[d],enumerable:!0})},D=(n,r,d,v)=>{if(r&&typeof r=="object"||typeof r=="function")for(let u of E(r))!Q.call(n,u)&&u!==d&&b(n,u,{get:()=>r[u],enumerable:!(v=Y(r,u))||v.enumerable});return n};var G=(n,r,d)=>(d=n!=null?V(H(n)):{},D(r||!n||!n.__esModule?b(d,"default",{value:n,enumerable:!0}):d,n)),J=n=>D(b({},"__esModule",{value:!0}),n);var X={};Z(X,{default:()=>U});module.exports=J(X);var o=require("react/jsx-runtime"),C=require("../../helpers/utils.js"),L=require("react-responsive"),R=G(require("./FilterCardWrapItem")),l=require("react"),M=require("es-toolkit");const K=(n,r)=>{const{shopifyData:d={},isSale:v=!1,total:u,result:i,closeFilter:w,page:y,metafields:S,noResultNode:j,refreshStarRating:T,onPrimaryChange:W,onSecondaryChange:z,onNextPage:P,onPrevPage:B}=n,{advertisingSpace:k}=S,{buttonText:q,loadMoreText:A}=d,h=k||d?.advertisingSpace,F=(0,l.useRef)(null),[c,x]=(0,l.useState)([]),g=(0,L.useMediaQuery)({query:"(max-width: 1024px)"}),I=a=>{const e=(0,M.cloneDeep)(a||[]);if(h){const t=e.findIndex(m=>m.mImage);if(t===-1){const m=Math.min(w?h?.maxLocation||7:h?.minLocation||5,e.length);e.splice(m,0,h)}else{e.splice(t,1);const m=Math.min(w?h?.maxLocation||7:h?.minLocation||5,e.length);e.splice(m,0,h)}}return e};(0,l.useImperativeHandle)(r,()=>({clearData(){x([])}}));const N=()=>{const a=F.current;if(!a)return;const e=a.getBoundingClientRect()?.top+window?.pageYOffset-120;window?.scrollTo?.({top:e,behavior:"smooth"})},O=a=>a?.metafields?.seoSetting?.noindex;return(0,l.useEffect)(()=>{(i?.slug||i?.id)&&((y===1||!g)&&x([]),i?.products&&x(a=>{const e=i.products?.filter?.(s=>!a.some(p=>p.id===s.id));let t=[...a,...e];const m=t.filter?.(s=>!(!s?.metafields?.seoSetting?.noindex&&s.availableForSale&&s?.variants?.some(p=>p.availableForSale)));return t=t.filter?.(s=>!s?.metafields?.seoSetting?.noindex&&s.availableForSale&&s?.variants?.some(p=>p.availableForSale)),t.push(...m),v&&(t=t.filter?.(s=>{let p=!1;if(s?.options?.find(f=>f?.displayName==="color"))p=s?.variants?.find(f=>f?.coupons?.length&&f?.coupons?.[0]&&typeof f?.coupons?.[0]=="object");else{const f=s?.variants?.[0]?.coupons;p=f?.length&&f?.[0]&&typeof f?.[0]=="object"}return!!p})),t?.length&&(y===1&&!g||g)&&(t=I(t)),t}))},[i?.products,y,g,k,v]),(0,l.useEffect)(()=>{c?.length&&y===1&&!g&&x(I(c))},[w]),(0,l.useEffect)(()=>{const a=document?.querySelector?.(".yotpo-reviews-star-ratings-widget");c?.length&&(!a||g)&&T?.()},[c]),(0,o.jsxs)("div",{className:"filter-card-wrap-container",ref:F,children:[(0,o.jsx)("div",{className:(0,C.cn)("w-full grid gap-3 md-tablet:grid-cols-2 grid-cols-3",{"laptop:grid-cols-4 tablet:grid-cols-3":w&&!g,"laptop:grid-cols-3 tablet:grid-cols-2":!w&&!g},"filter-card-wrap"),children:c?.map?.(a=>O(a)?null:(0,o.jsx)(R.default,{data:a,buttonText:q,metafields:S,onPrimaryChange:(e,t)=>W?.(e,t),onSecondaryChange:(e,t)=>z?.(e,t)},a.id))}),!c?.length&&j,g&&i?.pageInfo?.hasNextPage?(0,o.jsxs)("div",{onClick:()=>{P?.(i?.pageInfo?.endCursor)},className:"mt-6 text-sm font-bold cursor-pointer flex items-center justify-center gap-1 filter-card-wrap-more",children:[(0,o.jsx)("span",{children:A||"View More"}),(0,o.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"6",viewBox:"0 0 12 6",fill:"none",children:(0,o.jsx)("path",{d:"M9.96967 0.21967C10.2626 -0.0732232 10.7373 -0.073223 11.0302 0.21967C11.3231 0.512563 11.3231 0.987324 11.0302 1.28022L6.53022 5.78022C6.23732 6.07311 5.76256 6.07311 5.46967 5.78022L0.96967 1.28022C0.676777 0.987324 0.676777 0.512563 0.96967 0.21967C1.26256 -0.0732233 1.73732 -0.0732233 2.03022 0.21967L5.99994 4.1894L9.96967 0.21967Z",fill:"#1D1D1F"})})]}):null,!g&&u>18?(0,o.jsxs)("div",{className:"mt-6 flex items-center justify-end gap-4 cursor-pointer",children:[(0,o.jsx)("button",{name:"perv page",disabled:!i?.pageInfo?.hasPreviousPage||!c?.length,className:(0,C.cn)("flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]",{"opacity-50 cursor-not-allowed":!i?.pageInfo?.hasPreviousPage||!c?.length}),onClick:()=>{N?.(),B?.(i?.pageInfo?.startCursor)},children:(0,o.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:(0,o.jsx)("path",{d:"M12 5L7 10L12 15",stroke:"#3D3D3F","stroke-width":"1.66667","stroke-linecap":"round","stroke-linejoin":"round"})})}),(0,o.jsx)("button",{name:"next page",className:(0,C.cn)("flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]",{"opacity-50 cursor-not-allowed":!i?.pageInfo?.hasNextPage||!c?.length}),disabled:!i?.pageInfo?.hasNextPage||!c?.length,onClick:()=>{N?.(),P?.(i?.pageInfo?.endCursor)},children:(0,o.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:(0,o.jsx)("path",{d:"M7.5 5L12.5 10L7.5 15",stroke:"#3D3D3F","stroke-width":"1.66667","stroke-linecap":"round","stroke-linejoin":"round"})})})]}):null]})};var U=(0,l.forwardRef)(K);
1
+ "use strict";var O=Object.create;var x=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var Y=Object.getOwnPropertyNames;var q=Object.getPrototypeOf,E=Object.prototype.hasOwnProperty;var H=(o,a)=>{for(var l in a)x(o,l,{get:a[l],enumerable:!0})},L=(o,a,l,w)=>{if(a&&typeof a=="object"||typeof a=="function")for(let f of Y(a))!E.call(o,f)&&f!==l&&x(o,f,{get:()=>a[f],enumerable:!(w=V(a,f))||w.enumerable});return o};var Q=(o,a,l)=>(l=o!=null?O(q(o)):{},L(a||!o||!o.__esModule?x(l,"default",{value:o,enumerable:!0}):l,o)),Z=o=>L(x({},"__esModule",{value:!0}),o);var K={};H(K,{default:()=>J});module.exports=Z(K);var t=require("react/jsx-runtime"),C=require("../../helpers/utils.js"),N=require("react-responsive"),M=Q(require("./FilterCardWrapItem")),s=require("react"),R=require("es-toolkit");const G=(o,a)=>{const{shopifyData:l={},isSale:w=!1,total:f,result:i,closeFilter:h,page:y,metafields:S,refreshStarRating:j,onPrimaryChange:z,onSecondaryChange:T,onNextPage:P,onPrevPage:W}=o,{advertisingSpace:k}=S,{buttonText:B,loadMoreText:A}=l,u=k||l?.advertisingSpace,F=(0,s.useRef)(null),[v,b]=(0,s.useState)([]),c=(0,N.useMediaQuery)({query:"(max-width: 1024px)"}),D=d=>{const e=(0,R.cloneDeep)(d||[]);if(u){const n=e.findIndex(m=>m.mImage);if(n===-1){const m=Math.min(h?u?.maxLocation||7:u?.minLocation||5,e.length);e.splice(m,0,u)}else{e.splice(n,1);const m=Math.min(h?u?.maxLocation||7:u?.minLocation||5,e.length);e.splice(m,0,u)}}return e};(0,s.useImperativeHandle)(a,()=>({clearData(){b([])}}));const I=()=>{const d=F.current;if(!d)return;const e=d.getBoundingClientRect()?.top+window?.pageYOffset-120;window?.scrollTo?.({top:e,behavior:"smooth"})};return(0,s.useEffect)(()=>{(i?.slug||i?.id)&&((y===1||!c)&&b([]),i?.products&&b(d=>{const e=i.products?.filter?.(r=>!d.some(p=>p.id===r.id));let n=[...d,...e];const m=n.filter?.(r=>!(!r?.metafields?.seoSetting?.noindex&&r.availableForSale&&r?.variants?.some(p=>p.availableForSale)));return n.push(...m),n=n.filter?.(r=>!r?.metafields?.seoSetting?.noindex&&r.availableForSale&&r?.variants?.some(p=>p.availableForSale)),w&&(n=n.filter?.(r=>{let p=!1;if(r?.options?.find(g=>g?.displayName==="color"))p=r?.variants?.find(g=>g?.coupons?.length&&g?.coupons?.[0]&&typeof g?.coupons?.[0]=="object");else{const g=r?.variants?.[0]?.coupons;p=g?.length&&g?.[0]&&typeof g?.[0]=="object"}return!!p})),(y===1&&!c||c)&&(n=D(n)),n}))},[i?.products,y,c,k]),(0,s.useEffect)(()=>{v?.length&&y===1&&!c&&b(D(v))},[h]),(0,s.useEffect)(()=>{v?.length&&j?.()},[v]),(0,t.jsxs)("div",{className:"filter-card-wrap-container",ref:F,children:[(0,t.jsx)("div",{className:(0,C.cn)("min-h-[60vh] w-full grid gap-3 md-tablet:grid-cols-2 grid-cols-3",{"laptop:grid-cols-4 tablet:grid-cols-3":h&&!c,"laptop:grid-cols-3 tablet:grid-cols-2":!h&&!c},"filter-card-wrap"),children:v?.map?.(d=>(0,t.jsx)(M.default,{data:d,buttonText:B,metafields:S,onPrimaryChange:(e,n)=>z?.(e,n),onSecondaryChange:(e,n)=>T?.(e,n)},d.id))}),c?(0,t.jsxs)("div",{onClick:()=>{P?.(i?.pageInfo?.endCursor)},className:"mt-6 text-sm font-bold cursor-pointer flex items-center justify-center gap-1 filter-card-wrap-more",children:[(0,t.jsx)("span",{children:A||"View More"}),(0,t.jsx)("div",{className:"size-[18px]",children:(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"6",viewBox:"0 0 12 6",fill:"none",children:(0,t.jsx)("path",{d:"M9.96967 0.21967C10.2626 -0.0732232 10.7373 -0.073223 11.0302 0.21967C11.3231 0.512563 11.3231 0.987324 11.0302 1.28022L6.53022 5.78022C6.23732 6.07311 5.76256 6.07311 5.46967 5.78022L0.96967 1.28022C0.676777 0.987324 0.676777 0.512563 0.96967 0.21967C1.26256 -0.0732233 1.73732 -0.0732233 2.03022 0.21967L5.99994 4.1894L9.96967 0.21967Z",fill:"#1D1D1F"})})})]}):null,!c&&f>18?(0,t.jsxs)("div",{className:"mt-6 flex items-center justify-end gap-4 cursor-pointer",children:[(0,t.jsx)("button",{name:"perv page",disabled:!i?.pageInfo?.hasPreviousPage,className:(0,C.cn)("flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]",{"opacity-50 cursor-not-allowed":!i?.pageInfo?.hasPreviousPage}),onClick:()=>{I?.(),W?.(i?.pageInfo?.startCursor)},children:(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:(0,t.jsx)("path",{d:"M12 5L7 10L12 15",stroke:"#3D3D3F","stroke-width":"1.66667","stroke-linecap":"round","stroke-linejoin":"round"})})}),(0,t.jsx)("button",{name:"next page",className:(0,C.cn)("flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]",{"opacity-50 cursor-not-allowed":!i?.pageInfo?.hasNextPage}),disabled:!i?.pageInfo?.hasNextPage,onClick:()=>{I?.(),P?.(i?.pageInfo?.endCursor)},children:(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",children:(0,t.jsx)("path",{d:"M7.5 5L12.5 10L7.5 15",stroke:"#3D3D3F","stroke-width":"1.66667","stroke-linecap":"round","stroke-linejoin":"round"})})})]}):null]})};var J=(0,s.forwardRef)(G);
2
2
  //# sourceMappingURL=FilterCardWrap.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/CollectionsFilters/FilterCardWrap.tsx"],
4
- "sourcesContent": ["import { cn } from '../../helpers/utils.js'\nimport { useMediaQuery } from 'react-responsive'\nimport FilterCardWrapItem from './FilterCardWrapItem'\nimport { useRef, useState, useEffect, forwardRef, useImperativeHandle } from 'react'\nimport type { Ref } from 'react'\nimport { cloneDeep } from 'es-toolkit'\n\ntype FilterCardWrapProps = {\n isSale?: boolean\n result?: any\n total: number\n shopifyData?: any\n currentPage?: number\n closeFilter: boolean\n page: number\n metafields: any\n noResultNode?: React.ReactNode\n refreshStarRating?: () => void\n onPrimaryChange?: (item: any, sku: string) => void\n onSecondaryChange?: (item: any, sku: string) => void\n onNextPage?: (v: string) => void\n onPrevPage?: (v: string) => void\n}\n\nconst FilterCardWrap = (props: FilterCardWrapProps, ref: Ref<unknown> | undefined) => {\n const {\n shopifyData = {},\n isSale = false,\n total,\n result,\n closeFilter,\n page,\n metafields,\n noResultNode,\n refreshStarRating,\n onPrimaryChange,\n onSecondaryChange,\n onNextPage,\n onPrevPage,\n } = props\n const { advertisingSpace } = metafields\n const { buttonText, loadMoreText } = shopifyData\n\n const currentAdvertisingSpace = advertisingSpace || shopifyData?.advertisingSpace\n\n const filterCardWrapRef = useRef<any>(null)\n\n const [data, setData] = useState<any[]>([])\n\n const isMobile = useMediaQuery({ query: '(max-width: 1024px)' })\n\n const handleAdvertisingSpace = (products: any[]) => {\n const updatedProducts = cloneDeep(products || [])\n if (currentAdvertisingSpace) {\n const findIndex = updatedProducts.findIndex(item => item.mImage)\n if (findIndex === -1) {\n const insertIndex = closeFilter\n ? Math.min(currentAdvertisingSpace?.maxLocation || 7, updatedProducts.length)\n : Math.min(currentAdvertisingSpace?.minLocation || 5, updatedProducts.length)\n updatedProducts.splice(insertIndex, 0, currentAdvertisingSpace)\n } else {\n updatedProducts.splice(findIndex, 1)\n const insertIndex = closeFilter\n ? Math.min(currentAdvertisingSpace?.maxLocation || 7, updatedProducts.length)\n : Math.min(currentAdvertisingSpace?.minLocation || 5, updatedProducts.length)\n updatedProducts.splice(insertIndex, 0, currentAdvertisingSpace)\n }\n }\n return updatedProducts\n }\n\n useImperativeHandle(ref, () => ({\n clearData() {\n setData([])\n },\n }))\n\n const onScrollTop = () => {\n const target = filterCardWrapRef.current\n if (!target) return\n const targetY = target.getBoundingClientRect()?.top + window?.pageYOffset - 120\n window?.scrollTo?.({\n top: targetY,\n behavior: 'smooth',\n })\n }\n\n const hasNoIndex = (product: { metafields: { seoSetting: { noindex: any } } }) => {\n return product?.metafields?.seoSetting?.noindex\n }\n\n // \u5904\u7406\u4EA7\u54C1\u6570\u636E\n useEffect(() => {\n if (result?.slug || result?.id) {\n if (page === 1 || !isMobile) {\n setData([])\n }\n if (result?.products) {\n setData(prevProducts => {\n // \u68C0\u67E5\u662F\u5426\u5DF2\u7ECF\u5B58\u5728\u4E8E prevProducts \u4E2D\uFF0C\u907F\u514D\u91CD\u590D\u6DFB\u52A0\n const newProducts = result.products?.filter?.(\n (product: { id: any }) => !prevProducts.some(prev => prev.id === product.id)\n )\n let updatedProducts = [...prevProducts, ...newProducts]\n /** \u5DF2\u552E\u5B8C\u7684\u4EA7\u54C1 */\n const soldOutProducts = updatedProducts.filter?.(\n item =>\n !(\n !item?.metafields?.seoSetting?.noindex &&\n item.availableForSale &&\n item?.variants?.some((item: { availableForSale: any }) => item.availableForSale)\n )\n )\n // \u8FC7\u6EE4\u6389 availableForSale \u4E3A false \u7684\u4EA7\u54C1\n updatedProducts = updatedProducts.filter?.(\n item =>\n !item?.metafields?.seoSetting?.noindex &&\n item.availableForSale &&\n item?.variants?.some((item: { availableForSale: any }) => item.availableForSale)\n )\n // \u5C06\u5DF2\u552E\u5B8C\u7684\u4EA7\u54C1\u6DFB\u52A0\u5230\u6700\u540E\n updatedProducts.push(...soldOutProducts)\n // \u5982\u679C\u662F\u6709\u6298\u6263\u7684\u4EA7\u54C1\uFF0C\u5219\u8FC7\u6EE4\u6389\u6CA1\u6709\u6298\u6263\u7684\u4EA7\u54C1\n if (isSale) {\n updatedProducts = updatedProducts.filter?.((item: any) => {\n let isShow = false\n const isColor = item?.options?.find((item: any) => item?.displayName === 'color')\n if (isColor) {\n isShow = item?.variants?.find(\n (params: any) =>\n params?.coupons?.length && params?.coupons?.[0] && typeof params?.coupons?.[0] === 'object'\n )\n } else {\n const isVariants = item?.variants?.[0]?.coupons\n isShow = isVariants?.length && isVariants?.[0] && typeof isVariants?.[0] === 'object'\n }\n return !!isShow\n })\n }\n // \u5982\u679C advertisingSpace \u5B58\u5728\u4E14\u5C1A\u672A\u6DFB\u52A0\u5230\u6570\u7EC4\u4E2D\n if (updatedProducts?.length && ((page === 1 && !isMobile) || isMobile)) {\n updatedProducts = handleAdvertisingSpace(updatedProducts)\n }\n return updatedProducts\n })\n }\n }\n }, [result?.products, page, isMobile, advertisingSpace, isSale])\n\n useEffect(() => {\n if (!data?.length) return\n if (page === 1 && !isMobile) {\n setData(handleAdvertisingSpace(data))\n }\n }, [closeFilter])\n\n useEffect(() => {\n const isClass = document?.querySelector?.('.yotpo-reviews-star-ratings-widget')\n if (data?.length && (!isClass || isMobile)) {\n refreshStarRating?.()\n }\n }, [data])\n return (\n <div className=\"filter-card-wrap-container\" ref={filterCardWrapRef}>\n <div\n className={cn(\n 'w-full grid gap-3 md-tablet:grid-cols-2 grid-cols-3',\n {\n 'laptop:grid-cols-4 tablet:grid-cols-3': closeFilter && !isMobile,\n 'laptop:grid-cols-3 tablet:grid-cols-2': !closeFilter && !isMobile,\n },\n 'filter-card-wrap'\n )}\n >\n {data?.map?.(item => {\n if (hasNoIndex(item)) return null\n return (\n <FilterCardWrapItem\n data={item}\n key={item.id}\n buttonText={buttonText}\n metafields={metafields}\n onPrimaryChange={(e, data) => onPrimaryChange?.(e, data)}\n onSecondaryChange={(e, data) => onSecondaryChange?.(e, data)}\n />\n )\n })}\n </div>\n {!data?.length && noResultNode}\n {isMobile && result?.pageInfo?.hasNextPage ? (\n <div\n onClick={() => {\n onNextPage?.(result?.pageInfo?.endCursor)\n }}\n className=\"mt-6 text-sm font-bold cursor-pointer flex items-center justify-center gap-1 filter-card-wrap-more\"\n >\n <span>{loadMoreText || 'View More'}</span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"6\" viewBox=\"0 0 12 6\" fill=\"none\">\n <path\n d=\"M9.96967 0.21967C10.2626 -0.0732232 10.7373 -0.073223 11.0302 0.21967C11.3231 0.512563 11.3231 0.987324 11.0302 1.28022L6.53022 5.78022C6.23732 6.07311 5.76256 6.07311 5.46967 5.78022L0.96967 1.28022C0.676777 0.987324 0.676777 0.512563 0.96967 0.21967C1.26256 -0.0732233 1.73732 -0.0732233 2.03022 0.21967L5.99994 4.1894L9.96967 0.21967Z\"\n fill=\"#1D1D1F\"\n />\n </svg>\n </div>\n ) : null}\n {!isMobile && total > 18 ? (\n <div className=\"mt-6 flex items-center justify-end gap-4 cursor-pointer\">\n <button\n name=\"perv page\"\n disabled={!result?.pageInfo?.hasPreviousPage || !data?.length}\n className={cn(\n 'flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]',\n {\n 'opacity-50 cursor-not-allowed': !result?.pageInfo?.hasPreviousPage || !data?.length,\n }\n )}\n onClick={() => {\n onScrollTop?.()\n onPrevPage?.(result?.pageInfo?.startCursor)\n }}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M12 5L7 10L12 15\"\n stroke=\"#3D3D3F\"\n stroke-width=\"1.66667\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n <button\n name=\"next page\"\n className={cn(\n 'flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]',\n {\n 'opacity-50 cursor-not-allowed': !result?.pageInfo?.hasNextPage || !data?.length,\n }\n )}\n disabled={!result?.pageInfo?.hasNextPage || !data?.length}\n onClick={() => {\n onScrollTop?.()\n onNextPage?.(result?.pageInfo?.endCursor)\n }}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M7.5 5L12.5 10L7.5 15\"\n stroke=\"#3D3D3F\"\n stroke-width=\"1.66667\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </div>\n ) : null}\n </div>\n )\n}\n\nexport default forwardRef(FilterCardWrap)\n"],
5
- "mappings": "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",
6
- "names": ["FilterCardWrap_exports", "__export", "FilterCardWrap_default", "__toCommonJS", "import_jsx_runtime", "import_utils", "import_react_responsive", "import_FilterCardWrapItem", "import_react", "import_es_toolkit", "FilterCardWrap", "props", "ref", "shopifyData", "isSale", "total", "result", "closeFilter", "page", "metafields", "noResultNode", "refreshStarRating", "onPrimaryChange", "onSecondaryChange", "onNextPage", "onPrevPage", "advertisingSpace", "buttonText", "loadMoreText", "currentAdvertisingSpace", "filterCardWrapRef", "data", "setData", "isMobile", "handleAdvertisingSpace", "products", "updatedProducts", "findIndex", "item", "insertIndex", "onScrollTop", "target", "targetY", "hasNoIndex", "product", "prevProducts", "newProducts", "prev", "soldOutProducts", "isShow", "params", "isVariants", "isClass", "FilterCardWrapItem"]
4
+ "sourcesContent": ["import { cn } from '../../helpers/utils.js'\nimport { useMediaQuery } from 'react-responsive'\nimport FilterCardWrapItem from './FilterCardWrapItem'\nimport { useRef, useState, useEffect, forwardRef, useImperativeHandle } from 'react'\nimport type { Ref } from 'react'\nimport { cloneDeep } from 'es-toolkit'\n\ntype FilterCardWrapProps = {\n isSale?: boolean\n result?: any\n total: number\n shopifyData?: any\n currentPage?: number\n closeFilter: boolean\n page: number\n metafields: any\n refreshStarRating?: () => void\n onPrimaryChange?: (item: any, sku: string) => void\n onSecondaryChange?: (item: any, sku: string) => void\n onNextPage?: (v: string) => void\n onPrevPage?: (v: string) => void\n}\n\nconst FilterCardWrap = (props: FilterCardWrapProps, ref: Ref<unknown> | undefined) => {\n const {\n shopifyData = {},\n isSale = false,\n total,\n result,\n closeFilter,\n page,\n metafields,\n refreshStarRating,\n onPrimaryChange,\n onSecondaryChange,\n onNextPage,\n onPrevPage,\n } = props\n const { advertisingSpace } = metafields\n const { buttonText, loadMoreText } = shopifyData\n\n const currentAdvertisingSpace = advertisingSpace || shopifyData?.advertisingSpace\n\n const filterCardWrapRef = useRef<any>(null)\n\n const [data, setData] = useState<any[]>([])\n\n const isMobile = useMediaQuery({ query: '(max-width: 1024px)' })\n\n const handleAdvertisingSpace = (products: any[]) => {\n const updatedProducts = cloneDeep(products || [])\n if (currentAdvertisingSpace) {\n const findIndex = updatedProducts.findIndex(item => item.mImage)\n if (findIndex === -1) {\n const insertIndex = closeFilter\n ? Math.min(currentAdvertisingSpace?.maxLocation || 7, updatedProducts.length)\n : Math.min(currentAdvertisingSpace?.minLocation || 5, updatedProducts.length)\n updatedProducts.splice(insertIndex, 0, currentAdvertisingSpace)\n } else {\n updatedProducts.splice(findIndex, 1)\n const insertIndex = closeFilter\n ? Math.min(currentAdvertisingSpace?.maxLocation || 7, updatedProducts.length)\n : Math.min(currentAdvertisingSpace?.minLocation || 5, updatedProducts.length)\n updatedProducts.splice(insertIndex, 0, currentAdvertisingSpace)\n }\n }\n return updatedProducts\n }\n\n useImperativeHandle(ref, () => ({\n clearData() {\n setData([])\n },\n }))\n\n const onScrollTop = () => {\n const target = filterCardWrapRef.current\n if (!target) return\n const targetY = target.getBoundingClientRect()?.top + window?.pageYOffset - 120\n window?.scrollTo?.({\n top: targetY,\n behavior: 'smooth',\n })\n }\n\n // \u5904\u7406\u4EA7\u54C1\u6570\u636E\n useEffect(() => {\n if (result?.slug || result?.id) {\n (page === 1 || !isMobile) && setData([])\n if (result?.products) {\n setData(prevProducts => {\n // \u68C0\u67E5\u662F\u5426\u5DF2\u7ECF\u5B58\u5728\u4E8E prevProducts \u4E2D\uFF0C\u907F\u514D\u91CD\u590D\u6DFB\u52A0\n const newProducts = result.products?.filter?.(\n (product: { id: any }) => !prevProducts.some(prev => prev.id === product.id)\n )\n let updatedProducts = [...prevProducts, ...newProducts]\n /** \u5DF2\u552E\u5B8C\u7684\u4EA7\u54C1 */\n const soldOutProducts = updatedProducts.filter?.(\n item =>\n !(\n !item?.metafields?.seoSetting?.noindex &&\n item.availableForSale &&\n item?.variants?.some((item: { availableForSale: any }) => item.availableForSale)\n )\n )\n // \u5C06\u5DF2\u552E\u5B8C\u7684\u4EA7\u54C1\u6DFB\u52A0\u5230\u6700\u540E\n updatedProducts.push(...soldOutProducts)\n // \u8FC7\u6EE4\u6389 availableForSale \u4E3A false \u7684\u4EA7\u54C1\n updatedProducts = updatedProducts.filter?.(\n item =>\n !item?.metafields?.seoSetting?.noindex &&\n item.availableForSale &&\n item?.variants?.some((item: { availableForSale: any }) => item.availableForSale)\n )\n // \u5982\u679C\u662F\u6709\u6298\u6263\u7684\u4EA7\u54C1\uFF0C\u5219\u8FC7\u6EE4\u6389\u6CA1\u6709\u6298\u6263\u7684\u4EA7\u54C1\n if (isSale) {\n updatedProducts = updatedProducts.filter?.((item: any) => {\n let isShow = false\n const isColor = item?.options?.find((item: any) => item?.displayName === 'color')\n if (isColor) {\n isShow = item?.variants?.find(\n (params: any) =>\n params?.coupons?.length && params?.coupons?.[0] && typeof params?.coupons?.[0] === 'object'\n )\n } else {\n const isVariants = item?.variants?.[0]?.coupons\n isShow = isVariants?.length && isVariants?.[0] && typeof isVariants?.[0] === 'object'\n }\n return !!isShow\n })\n }\n // \u5982\u679C advertisingSpace \u5B58\u5728\u4E14\u5C1A\u672A\u6DFB\u52A0\u5230\u6570\u7EC4\u4E2D\n if ((page === 1 && !isMobile) || isMobile) {\n updatedProducts = handleAdvertisingSpace(updatedProducts)\n }\n return updatedProducts\n })\n }\n }\n }, [result?.products, page, isMobile, advertisingSpace])\n\n useEffect(() => {\n if (!data?.length) return\n if (page === 1 && !isMobile) {\n setData(handleAdvertisingSpace(data))\n }\n }, [closeFilter])\n\n useEffect(() => {\n if (data?.length) {\n refreshStarRating?.()\n }\n }, [data])\n\n return (\n <div className=\"filter-card-wrap-container\" ref={filterCardWrapRef}>\n <div\n className={cn(\n 'min-h-[60vh] w-full grid gap-3 md-tablet:grid-cols-2 grid-cols-3',\n {\n 'laptop:grid-cols-4 tablet:grid-cols-3': closeFilter && !isMobile,\n 'laptop:grid-cols-3 tablet:grid-cols-2': !closeFilter && !isMobile,\n },\n 'filter-card-wrap'\n )}\n >\n {data?.map?.(item => {\n return (\n <FilterCardWrapItem\n data={item}\n key={item.id}\n buttonText={buttonText}\n metafields={metafields}\n onPrimaryChange={(e, data) => onPrimaryChange?.(e, data)}\n onSecondaryChange={(e, data) => onSecondaryChange?.(e, data)}\n />\n )\n })}\n </div>\n {isMobile ? (\n <div\n onClick={() => {\n onNextPage?.(result?.pageInfo?.endCursor)\n }}\n className=\"mt-6 text-sm font-bold cursor-pointer flex items-center justify-center gap-1 filter-card-wrap-more\"\n >\n <span>{loadMoreText || 'View More'}</span>\n <div className=\"size-[18px]\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"6\" viewBox=\"0 0 12 6\" fill=\"none\">\n <path\n d=\"M9.96967 0.21967C10.2626 -0.0732232 10.7373 -0.073223 11.0302 0.21967C11.3231 0.512563 11.3231 0.987324 11.0302 1.28022L6.53022 5.78022C6.23732 6.07311 5.76256 6.07311 5.46967 5.78022L0.96967 1.28022C0.676777 0.987324 0.676777 0.512563 0.96967 0.21967C1.26256 -0.0732233 1.73732 -0.0732233 2.03022 0.21967L5.99994 4.1894L9.96967 0.21967Z\"\n fill=\"#1D1D1F\"\n />\n </svg>\n </div>\n </div>\n ) : null}\n {!isMobile && total > 18 ? (\n <div className=\"mt-6 flex items-center justify-end gap-4 cursor-pointer\">\n <button\n name=\"perv page\"\n disabled={!result?.pageInfo?.hasPreviousPage}\n className={cn(\n 'flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]',\n {\n 'opacity-50 cursor-not-allowed': !result?.pageInfo?.hasPreviousPage,\n }\n )}\n onClick={() => {\n onScrollTop?.()\n onPrevPage?.(result?.pageInfo?.startCursor)\n }}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M12 5L7 10L12 15\"\n stroke=\"#3D3D3F\"\n stroke-width=\"1.66667\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n <button\n name=\"next page\"\n className={cn(\n 'flex items-center justify-center lg-desktop:size-14 size-10 rounded-full leading-tight overflow-hidden bg-transparent border-[1.5px] border-[#3D3D3F]',\n {\n 'opacity-50 cursor-not-allowed': !result?.pageInfo?.hasNextPage,\n }\n )}\n disabled={!result?.pageInfo?.hasNextPage}\n onClick={() => {\n onScrollTop?.()\n onNextPage?.(result?.pageInfo?.endCursor)\n }}\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\n <path\n d=\"M7.5 5L12.5 10L7.5 15\"\n stroke=\"#3D3D3F\"\n stroke-width=\"1.66667\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n </button>\n </div>\n ) : // <Paginator\n // className=\"mt-6\"\n // currentPage={currentPage}\n // onPageChange={(v: number) => {\n // setData([])\n // if(v > currentPage) {\n // onNextPage?.(result?.pageInfo?.endCursor)\n // } else {\n // onPrevPage?.(result?.pageInfo?.startCursor)\n // }\n // setCurrentPage(v)\n // }}\n // total={100}\n // />\n null}\n </div>\n )\n}\n\nexport default forwardRef(FilterCardWrap)\n"],
5
+ "mappings": "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",
6
+ "names": ["FilterCardWrap_exports", "__export", "FilterCardWrap_default", "__toCommonJS", "import_jsx_runtime", "import_utils", "import_react_responsive", "import_FilterCardWrapItem", "import_react", "import_es_toolkit", "FilterCardWrap", "props", "ref", "shopifyData", "isSale", "total", "result", "closeFilter", "page", "metafields", "refreshStarRating", "onPrimaryChange", "onSecondaryChange", "onNextPage", "onPrevPage", "advertisingSpace", "buttonText", "loadMoreText", "currentAdvertisingSpace", "filterCardWrapRef", "data", "setData", "isMobile", "handleAdvertisingSpace", "products", "updatedProducts", "findIndex", "item", "insertIndex", "onScrollTop", "target", "targetY", "prevProducts", "newProducts", "product", "prev", "soldOutProducts", "isShow", "params", "isVariants", "FilterCardWrapItem"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";var he=Object.create;var _=Object.defineProperty;var _e=Object.getOwnPropertyDescriptor;var ke=Object.getOwnPropertyNames;var Ce=Object.getPrototypeOf,Ne=Object.prototype.hasOwnProperty;var we=(e,r)=>{for(var i in r)_(e,i,{get:r[i],enumerable:!0})},K=(e,r,i,x)=>{if(r&&typeof r=="object"||typeof r=="function")for(let p of ke(r))!Ne.call(e,p)&&p!==i&&_(e,p,{get:()=>r[p],enumerable:!(x=_e(r,p))||x.enumerable});return e};var P=(e,r,i)=>(i=e!=null?he(Ce(e)):{},K(r||!e||!e.__esModule?_(i,"default",{value:e,enumerable:!0}):i,e)),Se=e=>K(_({},"__esModule",{value:!0}),e);var Be={};we(Be,{default:()=>Te});module.exports=Se(Be);var t=require("react/jsx-runtime"),a=require("../../helpers/utils.js"),Q=require("../AiuiProvider/index.js"),X=require("../ShelfDisplay/shelfDisplay.js"),Y=P(require("../../components/badge.js")),Z=require("../../components/text.js"),B=P(require("../../components/button.js")),M=P(require("../../components/picture.js")),k=require("../../shared/trackUrlRef.js"),ee=require("./component/price.js"),l=require("react");const I="image",T="product_shelf",$e=999999999e-2,Pe=e=>{let r;return e?.includes("products")?r=e?.split("products")[0]+"files/":r=e?.replace(e?.split("files")?.pop()||"","")+"/",r},Ie=({data:e,buttonText:r,itemShape:i,metafields:x,onPrimaryChange:p,onSecondaryChange:te})=>{const{memberPriceDiscount:oe,memberSetting:z,discounts:L,shopCommon:se}=x,[b,W]=(0,l.useState)(""),[re,j]=(0,l.useState)(""),[g,F]=(0,l.useState)(""),[O,ne]=(0,l.useState)(!1),[D,le]=(0,l.useState)({}),[ie,ae]=(0,l.useState)(!1),[H,ce]=(0,l.useState)({price:"",basePrice:""}),[A,de]=(0,l.useState)([]),[me,ue]=(0,l.useState)([]),[y,pe]=(0,l.useState)(""),[fe,be]=(0,l.useState)(""),{locale:c="us",currencyCode:ge,isLogin:U}=(0,Q.useAiuiContext)(),C=e?.custom_name||e?.title||e?.name,E=e?.custom_description||e?.description||e?.descriptionHtml,m=e?.filter_variants||e?.variants||[],R=(0,a.atobID)(e?.id||""),V=e?.images?.[0]?.url,xe=o=>F(o),N=(o,n,s,d)=>{ae(d),pe(o||""),ce({basePrice:n||"",price:s||""})};return(0,l.useEffect)(()=>{if(g){const s=m?.find(d=>d?.name?.includes?.(g));W(s?.sku||m?.[0]?.sku||""),j(s?.image?.url||m?.[0]?.image?.url||"");return}const o=e?.options?.find(s=>s?.displayName==="color")?.values?.[0]?.label;o&&F(o);const n=m?.find(s=>s?.name?.includes?.(o));W(n?.sku||m?.[0]?.sku||""),j(n?.image?.url||m?.[0]?.image?.url||"")},[g]),(0,l.useEffect)(()=>{if(!b)return;de(e?.tags||[]);const o=m?.find(u=>u?.sku===b)||m?.[0]||{};le(o),ne(!o?.availableForSale||o?.price?.amount===$e);const{infos:n}=o?.metafields||{},{productInfos:s,preRender:d}=e?.metafields||{};be(n?.comingSoon||s?.comingSoon||d?.soldOut||se?.soldOut||"");const v=o?.coupons?.[0],{price:q,basePrice:G,discount:ye,discountAmount:ve}=(0,X.formatVariantPrice)({locale:c,amount:v?v.variant_price4wscode:o.price,baseAmount:v?o.price:0,currencyCode:e?.price?.currencyCode||"USD"}),J=(()=>{if(v?.value_type==="fixed_amount"){const u=ve||"",h=u.match(/^(.*?)(\d[\d.,]*)(.*)$/);if(h){const[,w,f,S]=h;let $=f;return f.endsWith(".00")?$=f.replace(/\.00$/,""):f.endsWith(",00")&&($=f.replace(/,00$/,"")),`${w}${$}${S}`}return u}return ye||""})();if(U){const u=(0,ee.getFunctionMemberPrice)({locale:c,variant:o,shopMemberPriceDiscountConfig:oe,currencyCode:ge||e?.price?.currencyCode||"USD"});if(u){const{hasMemberPrice:h,salePriceWithCurrency:w,originalPriceWithCurrency:f,savePriceWithCurrency:S}=u;N(S||"",f||"",h?w:"",u?.hasMemberPrice)}else N(J,G||"",q||"",!1)}else N(J,G||"",q||"",!1)},[e,b]),(0,l.useEffect)(()=>{let o=[];if(y){const s=`${y} ${L?.off}`;o.push(s)}const n=A?.filter?.(s=>s?.startsWith?.("CLtag"))?.map?.(s=>s?.replace?.("CLtag:",""))?.slice?.(0,y?1:2);ue(o.concat(n))},[A,y]),(0,t.jsx)("div",{className:(0,a.cn)(i==="round"?"rounded-2xl":"rounded-none","tablet:hover:bg-info-white bg-container-secondary-1 box-border w-full cursor-pointer overflow-hidden duration-300",{"aiui-dark":e.theme==="dark"}),children:e?.mImage?(0,t.jsx)("div",{className:"size-full box-border overflow-hidden hover:[&_img]:scale-105",children:(0,t.jsx)("div",{className:"relative inset-0 size-full",children:(0,t.jsxs)("a",{className:"size-full",href:(0,k.trackUrlRef)(e?.link,`${I}_${T}`),children:[(0,t.jsx)(M.default,{alt:"",source:e?.mImage?.url||e?.mImage,className:"size-full [&_img]:object-cover [&_img]:size-full",imgClassName:"size-full object-cover transition-all duration-300"}),(0,t.jsxs)("div",{className:"desktop:p-6 absolute inset-x-0 top-0 box-border overflow-hidden p-4",children:[(0,t.jsx)("p",{className:"desktop:mb-2 mb-1 text-info-primary desktop:text-base text-sm font-bold",dangerouslySetInnerHTML:{__html:e?.subTitle}}),(0,t.jsx)("span",{className:"text-info-secondary desktop:text-[32px] text-[20px] font-bold desktop:leading-9 line-clamp-4 leading-6",dangerouslySetInnerHTML:{__html:e?.title}})]})]})})}):(0,t.jsxs)("div",{className:"size-full desktop:p-6 desktop:pt-4 box-border overflow-hidden flex flex-col justify-between tablet:p-4 p-2 pb-4",children:[(0,t.jsx)("div",{className:"min-h-6 flex flex-wrap gap-1 overflow-hidden collection-filter-tags",children:me?.map?.((o,n)=>(0,t.jsx)(Y.default,{className:"whitespace-nowrap max-w-full truncate px-1 box-border font-bold item-badge",children:o},n))}),(0,t.jsx)("a",{target:"_blank","aria-label":C,className:"my-1",href:(0,k.trackUrlRef)(`${c==="us"||!c?"":`/${c}`}/products/${e?.handle}`,`${I}_${T}`),children:(0,t.jsx)("div",{className:(0,a.cn)("m-auto desktop:size-[196px] size-[120px] overflow-hidden"),children:(0,t.jsx)(M.default,{alt:"",source:re,className:"h-full [&_img]:object-cover [&_img]:h-full [&_img]:w-fit"})})}),e?.options?.map(o=>{if(o?.displayName==="color")return(0,t.jsx)("div",{className:"flex items-center gap-1",children:o?.values?.map(n=>{const s=n?.hexColors?n.hexColors?.[0]:n?.label,d=s.startsWith("#")?s:"";return(0,t.jsx)("button",{onClick:()=>xe(n?.label),className:(0,a.cn)("size-4 rounded-full cursor-pointer overflow-hidden",`${g===n?.label?"border-[#00BEFA]":""}`),children:(0,t.jsx)("span",{className:(0,a.cn)("h-full w-full overflow-hidden border-[0.5px] border-transparent","relative flex items-center justify-center overflow-hidden rounded-full",g===n?.label&&"border-[#ddd]"),style:d?{backgroundColor:d}:{},children:!d&&V&&(0,t.jsx)("img",{alt:s,className:"h-full w-full object-cover",src:`${Pe(V)}${s?.toLowerCase().split(" ")?.join("-")}_50x.png`})})},n?.label)})})}),(0,t.jsxs)("div",{children:[C?(0,t.jsx)("span",{dangerouslySetInnerHTML:{__html:C||""},className:"shelf-display-product-title line-clamp-2 lg-desktop:text-2xl laptop:text-xl text-base font-bold"}):null,e?.metafields?.judgemeBadge?(0,t.jsx)("a",{target:"_blank",className:"font-bold text-xs [&_.jdgm-star]:text-[#F77234]",dangerouslySetInnerHTML:{__html:e?.metafields?.judgemeBadge},href:(0,k.trackUrlRef)(`${c==="us"||!c?"":`/${c}`}/products/${e?.handle}`,`${I}_${T}`)}):(0,t.jsx)("div",{className:"w-full truncate font-bold yotpo-widget-instance [&_.yotpo-sr-bottom-line-new-review]:hidden [&_.yotpo-sr-bottom-line-text]:!text-xs [&_.yotpo-sr-bottom-line-text]:!pt-0 [&_.yotpo-sr-bottom-line-summary]:!items-center [&_.yotpo-sr-bottom-line-summary_span]:!h-auto [&_.yotpo-sr-bottom-line-summary_svg]:!mr-[3px]","data-yotpo-instance-id":(0,a.yotpoInstanceId)(c),"data-yotpo-product-id":R,"data-yotpo-cart-product-id":R,"data-yotpo-section-id":""}),E?(0,t.jsx)(Z.Text,{size:2,html:E||"",className:"desktop:text-base laptop:text-sm shelf-display-product-description line-clamp-1 text-xs font-bold"}):null,(0,t.jsxs)("div",{className:"mt-3 mb-2",children:[(0,t.jsx)("p",{dangerouslySetInnerHTML:{__html:U&&ie&&(L?.memberPrice||z?.member_price||z?.plus_member_price)||""},className:"text-info-primary lg-desktop:text-lg desktop:text-base laptop:text-sm text-xs font-bold"}),(0,t.jsx)("div",{className:"flex items-center",children:O?(0,t.jsx)("div",{className:"desktop:text-2xl tablet:text-xl text-info-primary text-base font-bold",children:fe||""}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"final-price desktop:text-2xl tablet:text-xl text-info-primary text-base font-bold",children:D?.availableForSale&&H?.price||""}),(0,t.jsx)("div",{className:"origin-price desktop:text-xl tablet:text-lg text-info-secondary ml-1 text-sm font-bold line-through",children:D?.availableForSale&&H?.basePrice||""})]})})]}),(0,t.jsxs)("div",{className:(0,a.cn)("shelf-flex-button-group","lg-desktop:gap-3 flex items-center gap-2 m-tablet:flex-col"),children:[(0,t.jsx)(B.default,{variant:"secondary",className:"m-tablet:w-full font-bold",onClick:()=>te?.(e,b),children:r?.secondaryButton||"Learn More"}),(0,t.jsx)(B.default,{variant:"primary",className:"m-tablet:w-full font-bold",disabled:O,onClick:()=>p?.(e,b),children:r?.primaryButton||"Shop Now"})]})]})]})},e?.id||e?.handle)};var Te=Ie;
1
+ "use strict";var ye=Object.create;var k=Object.defineProperty;var he=Object.getOwnPropertyDescriptor;var ke=Object.getOwnPropertyNames;var Ce=Object.getPrototypeOf,Ne=Object.prototype.hasOwnProperty;var _e=(e,r)=>{for(var l in r)k(e,l,{get:r[l],enumerable:!0})},J=(e,r,l,g)=>{if(r&&typeof r=="object"||typeof r=="function")for(let p of ke(r))!Ne.call(e,p)&&p!==l&&k(e,p,{get:()=>r[p],enumerable:!(g=he(r,p))||g.enumerable});return e};var P=(e,r,l)=>(l=e!=null?ye(Ce(e)):{},J(r||!e||!e.__esModule?k(l,"default",{value:e,enumerable:!0}):l,e)),Se=e=>J(k({},"__esModule",{value:!0}),e);var Te={};_e(Te,{default:()=>Ie});module.exports=Se(Te);var t=require("react/jsx-runtime"),c=require("../../helpers/utils.js"),K=require("../AiuiProvider/index.js"),Q=require("../ShelfDisplay/shelfDisplay.js"),X=P(require("../../components/badge.js")),Y=require("../../components/text.js"),B=P(require("../../components/button.js")),M=P(require("../../components/picture.js")),C=require("../../shared/trackUrlRef.js"),Z=require("./component/price.js"),n=require("react");const I="image",T="product_shelf",we=999999999e-2,$e=e=>{let r;return e?.includes("products")?r=e?.split("products")[0]+"files/":r=e?.replace(e?.split("files")?.pop()||"","")+"/",r},Pe=({data:e,buttonText:r,itemShape:l,metafields:g,onPrimaryChange:p,onSecondaryChange:ee})=>{const{memberPriceDiscount:te,memberSetting:z,discounts:L,shopCommon:oe}=g,[f,F]=(0,n.useState)(""),[se,O]=(0,n.useState)(""),[x,W]=(0,n.useState)(""),[j,re]=(0,n.useState)(!1),[D,ie]=(0,n.useState)({}),[ne,le]=(0,n.useState)(!1),[H,ae]=(0,n.useState)({price:"",basePrice:""}),[A,ce]=(0,n.useState)([]),[de,me]=(0,n.useState)([]),[v,pe]=(0,n.useState)(""),[ue,fe]=(0,n.useState)(""),{locale:a="us",currencyCode:be,isLogin:U}=(0,K.useAiuiContext)(),N=e?.custom_name||e?.title||e?.name,E=e?.custom_description||e?.description||e?.descriptionHtml,d=e?.filter_variants||e?.variants||[],R=(0,c.atobID)(e?.id||""),ge=o=>W(o),_=(o,i,s,b)=>{le(b),pe(o||""),ae({basePrice:i||"",price:s||""})};return(0,n.useEffect)(()=>{if(x){const s=d?.find(b=>b?.name?.includes?.(x));F(s?.sku||d?.[0]?.sku||""),O(s?.image?.url||d?.[0]?.image?.url||"");return}const o=e?.options?.find(s=>s?.displayName==="color")?.values?.[0]?.label;o&&W(o);const i=d?.find(s=>s?.name?.includes?.(o));F(i?.sku||d?.[0]?.sku||""),O(i?.image?.url||d?.[0]?.image?.url||"")},[x]),(0,n.useEffect)(()=>{if(!f)return;ce(e?.tags||[]);const o=d?.find(m=>m?.sku===f)||d?.[0]||{};ie(o),re(!o?.availableForSale||o?.price?.amount===we);const{infos:i}=o?.metafields||{},{productInfos:s,preRender:b}=e?.metafields||{};fe(i?.comingSoon||s?.comingSoon||b?.soldOut||oe?.soldOut||"");const y=o?.coupons?.[0],{price:V,basePrice:q,discount:xe,discountAmount:ve}=(0,Q.formatVariantPrice)({locale:a,amount:y?y.variant_price4wscode:o.price,baseAmount:y?o.price:0,currencyCode:e?.price?.currencyCode||"USD"}),G=(()=>{if(y?.value_type==="fixed_amount"){const m=ve||"",h=m.match(/^(.*?)(\d[\d.,]*)(.*)$/);if(h){const[,S,u,w]=h;let $=u;return u.endsWith(".00")?$=u.replace(/\.00$/,""):u.endsWith(",00")&&($=u.replace(/,00$/,"")),`${S}${$}${w}`}return m}return xe||""})();if(U){const m=(0,Z.getFunctionMemberPrice)({locale:a,variant:o,shopMemberPriceDiscountConfig:te,currencyCode:be||e?.price?.currencyCode||"USD"});if(m){const{hasMemberPrice:h,salePriceWithCurrency:S,originalPriceWithCurrency:u,savePriceWithCurrency:w}=m;_(w||"",u||"",h?S:"",m?.hasMemberPrice)}else _(G,q||"",V||"",!1)}else _(G,q||"",V||"",!1)},[e,f]),(0,n.useEffect)(()=>{let o=[];if(v){const s=`${v} ${L?.off}`;o.push(s)}const i=A?.filter?.(s=>s?.startsWith?.("CLtag"))?.map?.(s=>s?.replace?.("CLtag:",""))?.slice?.(0,v?1:2);me(o.concat(i))},[A,v]),(0,t.jsx)("div",{className:(0,c.cn)(l==="round"?"rounded-2xl":"rounded-none","tablet:hover:bg-info-white bg-container-secondary-1 box-border w-full cursor-pointer overflow-hidden duration-300",{"aiui-dark":e.theme==="dark"}),children:e?.mImage?(0,t.jsx)("div",{className:"size-full box-border overflow-hidden hover:[&_img]:scale-105",children:(0,t.jsx)("div",{className:"relative inset-0 size-full",children:(0,t.jsxs)("a",{className:"size-full",href:(0,C.trackUrlRef)(e?.link,`${I}_${T}`),children:[(0,t.jsx)(M.default,{alt:"",source:e?.mImage?.url||e?.mImage,className:"size-full [&_img]:object-cover [&_img]:size-full",imgClassName:"size-full object-cover transition-all duration-300"}),(0,t.jsxs)("div",{className:"desktop:p-6 absolute inset-x-0 top-0 box-border overflow-hidden p-4",children:[(0,t.jsx)("p",{className:"desktop:mb-2 mb-1 text-info-primary desktop:text-base text-sm font-bold",dangerouslySetInnerHTML:{__html:e?.subTitle}}),(0,t.jsx)("span",{className:"text-info-secondary desktop:text-[32px] text-[20px] font-bold desktop:leading-9 line-clamp-4 leading-6",dangerouslySetInnerHTML:{__html:e?.title}})]})]})})}):(0,t.jsxs)("div",{className:"size-full desktop:p-6 desktop:pt-4 box-border overflow-hidden flex flex-col justify-between tablet:p-4 p-2 pb-4",children:[(0,t.jsx)("div",{className:"flex flex-wrap gap-1 overflow-hidden collection-filter-tags",children:de?.map?.((o,i)=>(0,t.jsx)(X.default,{className:"whitespace-nowrap max-w-full truncate px-1 box-border font-bold item-badge",children:o},i))}),(0,t.jsx)("a",{target:"_blank","aria-label":N,className:"my-1",href:(0,C.trackUrlRef)(`${a==="us"||!a?"":`/${a}`}/products/${e?.handle}`,`${I}_${T}`),children:(0,t.jsx)("div",{className:(0,c.cn)("m-auto desktop:size-[196px] size-[120px] overflow-hidden"),children:(0,t.jsx)(M.default,{alt:"",source:se,className:"h-full [&_img]:object-cover [&_img]:h-full [&_img]:w-fit"})})}),e?.options?.map(o=>{if(o?.displayName==="color")return(0,t.jsx)("div",{className:"flex items-center gap-1",children:o?.values?.map(i=>{const s=i?.hexColors?i.hexColors?.[0]:i?.label;return(0,t.jsx)("button",{onClick:()=>ge(i?.label),className:(0,c.cn)("size-4 rounded-full cursor-pointer overflow-hidden border-2 border-transparent",`${x===i?.label?"border-[#00BEFA]":""}`),children:(0,t.jsx)("img",{alt:s,className:"h-full w-full object-cover",src:`${$e(e?.images?.[0]?.url)}${s?.toLowerCase().split(" ")?.join("-")}_50x.png`})},i?.label)})})}),(0,t.jsxs)("div",{children:[N?(0,t.jsx)("span",{dangerouslySetInnerHTML:{__html:N||""},className:"shelf-display-product-title line-clamp-2 lg-desktop:text-2xl laptop:text-xl text-base font-bold"}):null,e?.metafields?.judgemeBadge?(0,t.jsx)("a",{target:"_blank",className:"font-bold text-xs [&_.jdgm-star]:text-[#F77234]",dangerouslySetInnerHTML:{__html:e?.metafields?.judgemeBadge},href:(0,C.trackUrlRef)(`${a==="us"||!a?"":`/${a}`}/products/${e?.handle}`,`${I}_${T}`)}):(0,t.jsx)("div",{className:"font-bold text-xs yotpo-widget-instance [&_.yotpo-sr-bottom-line-new-review]:hidden","data-yotpo-instance-id":(0,c.yotpoInstanceId)(a),"data-yotpo-product-id":R,"data-yotpo-cart-product-id":R,"data-yotpo-section-id":""}),E?(0,t.jsx)(Y.Text,{size:2,html:E||"",className:"desktop:text-base laptop:text-sm shelf-display-product-description line-clamp-1 text-xs font-bold"}):null,(0,t.jsxs)("div",{className:"mt-3 mb-2",children:[(0,t.jsx)("p",{dangerouslySetInnerHTML:{__html:U&&ne&&(L?.memberPrice||z?.member_price||z?.plus_member_price)||""},className:"text-info-primary lg-desktop:text-lg desktop:text-base laptop:text-sm text-xs font-bold"}),(0,t.jsx)("div",{className:"flex items-center",children:j?(0,t.jsx)("div",{className:"desktop:text-2xl tablet:text-xl text-info-primary text-base font-bold",children:ue||""}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"final-price desktop:text-2xl tablet:text-xl text-info-primary text-base font-bold",children:D?.availableForSale&&H?.price||""}),(0,t.jsx)("div",{className:"origin-price desktop:text-xl tablet:text-lg text-info-secondary ml-1 text-sm font-bold line-through",children:D?.availableForSale&&H?.basePrice||""})]})})]}),(0,t.jsxs)("div",{className:(0,c.cn)("shelf-flex-button-group","lg-desktop:gap-3 flex items-center gap-2 m-tablet:flex-col"),children:[(0,t.jsx)(B.default,{variant:"secondary",className:"m-tablet:w-full font-bold",onClick:()=>ee?.(e,f),children:r?.secondaryButton||"Learn More"}),(0,t.jsx)(B.default,{variant:"primary",className:"m-tablet:w-full font-bold",disabled:j,onClick:()=>p?.(e,f),children:r?.primaryButton||"Shop Now"})]})]})]})},e?.id||e?.handle)};var Ie=Pe;
2
2
  //# sourceMappingURL=FilterCardWrapItem.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/biz-components/CollectionsFilters/FilterCardWrapItem.tsx"],
4
- "sourcesContent": ["import { cn, atobID, yotpoInstanceId } from '../../helpers/utils.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\nimport { formatVariantPrice } from '../ShelfDisplay/shelfDisplay.js'\nimport Badge from '../../components/badge.js'\nimport { Text } from '../../components/text.js'\nimport Button from '../../components/button.js'\nimport Picture from '../../components/picture.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport { getFunctionMemberPrice } from './component/price.js'\nimport { useState, useEffect } from 'react'\n\nconst componentType = 'image'\nconst componentName = 'product_shelf'\n\nconst SOLD_OUT_PRICE = 9999999.99\n\nconst getShopifyCdnBaseUrl = (imagePath: string | null) => {\n // \u76EE\u524D\u77E5\u9053\u7684 shopify \u56FE\u7247\u8DEF\u7531\u7684\u5F62\u5F0F\n // https://cdn.shopify.com/s/files/1/0493/9834/9974/files/Group_5581_2.jpg?v=1662379184\n // https://cdn.shopify.com/s/files/1/0493/9834/9974/products/B2633123.jpg?v=1631264041_3840x\n // \u8FD4\u56DE https://cdn.shopify.com/s/files/1/0493/9834/9974/files/\n let path\n if (imagePath?.includes('products')) {\n path = imagePath?.split('products')[0] + 'files/'\n } else {\n path = imagePath?.replace(imagePath?.split('files')?.pop() || '', '') + '/'\n }\n return path\n}\n\ntype FilterCardWrapItemProps = {\n data: any\n buttonText?: any\n itemShape?: string\n metafields: any\n onPrimaryChange?: (item: any, sku: string) => void\n onSecondaryChange?: (item: any, sku: string) => void\n}\n\nconst FilterCardWrapItem = ({\n data,\n buttonText,\n itemShape,\n metafields,\n onPrimaryChange,\n onSecondaryChange,\n}: FilterCardWrapItemProps) => {\n const { memberPriceDiscount, memberSetting, discounts, shopCommon } = metafields\n const [currentSku, setCurrentSku] = useState<string>('')\n const [currentImage, setCurrentImage] = useState<string>('')\n const [selectedColor, setSelectedColor] = useState<string>('')\n const [isSoldOut, setIsSoldOut] = useState<boolean>(false)\n const [currentVariant, setCurrentVariant] = useState<any>({})\n const [plusMemberStatus, setPlusMemberStatus] = useState<boolean>(false)\n const [priceCollection, setPriceCollection] = useState<{ price: string; basePrice: string }>({\n price: '',\n basePrice: '',\n })\n const [tags, setTags] = useState<string[]>([])\n const [showTags, setShowTags] = useState<string[]>([])\n const [discountCollection, setDiscountCollection] = useState<string>('')\n const [soldOutText, setSoldOutText] = useState<string>('')\n\n const { locale = 'us', currencyCode, isLogin } = useAiuiContext()\n\n const displayTitle = data?.custom_name || data?.title || data?.name\n const displayDescription = data?.custom_description || data?.description || data?.descriptionHtml\n const skuArray = data?.filter_variants || data?.variants || []\n const id = atobID(data?.id || '')\n\n const imagePath = data?.images?.[0]?.url\n\n const onColorClick = (color: string) => setSelectedColor(color)\n\n const handleBasePrice = (discount: string, priceCurrency: string, salePrice: string, status: boolean) => {\n setPlusMemberStatus(status)\n setDiscountCollection(discount || '')\n setPriceCollection({\n basePrice: priceCurrency || '',\n price: salePrice || '',\n })\n }\n\n useEffect(() => {\n if (selectedColor) {\n const findSku = skuArray?.find((item: any) => item?.name?.includes?.(selectedColor))\n setCurrentSku(findSku?.sku || skuArray?.[0]?.sku || '')\n setCurrentImage(findSku?.image?.url || skuArray?.[0]?.image?.url || '')\n return\n }\n const firstOption = data?.options?.find((item: any) => item?.displayName === 'color')?.values?.[0]?.label\n firstOption && setSelectedColor(firstOption)\n const findSku = skuArray?.find((item: any) => item?.name?.includes?.(firstOption))\n setCurrentSku(findSku?.sku || skuArray?.[0]?.sku || '')\n setCurrentImage(findSku?.image?.url || skuArray?.[0]?.image?.url || '')\n }, [selectedColor])\n\n useEffect(() => {\n if (!currentSku) return\n setTags(data?.tags || [])\n const variant = skuArray?.find((item: any) => item?.sku === currentSku) || skuArray?.[0] || {}\n setCurrentVariant(variant)\n setIsSoldOut(!variant?.availableForSale || variant?.price?.amount === SOLD_OUT_PRICE)\n const { infos } = variant?.metafields || {}\n const { productInfos, preRender } = data?.metafields || {}\n setSoldOutText(infos?.comingSoon || productInfos?.comingSoon || preRender?.soldOut || shopCommon?.soldOut || '')\n // active \u7684 \u901A\u7528\u6298\u6263\n const coupon = variant?.coupons?.[0]\n const { price, basePrice, discount, discountAmount } = formatVariantPrice({\n locale: locale,\n amount: coupon ? coupon.variant_price4wscode : variant.price,\n baseAmount: coupon ? variant.price : 0,\n currencyCode: data?.price?.currencyCode || 'USD',\n })\n const showPrice = (() => {\n if (coupon?.value_type === 'fixed_amount') {\n const amountStr = discountAmount || ''\n const match = amountStr.match(/^(.*?)(\\d[\\d.,]*)(.*)$/)\n if (match) {\n const [, prefix, numeric, suffix] = match\n let updatedNumeric = numeric\n if (numeric.endsWith('.00')) {\n updatedNumeric = numeric.replace(/\\.00$/, '')\n } else if (numeric.endsWith(',00')) {\n updatedNumeric = numeric.replace(/,00$/, '')\n }\n return `${prefix}${updatedNumeric}${suffix}`\n }\n return amountStr\n }\n return discount || ''\n })()\n // \u4F1A\u5458\u6298\u6263\n if (isLogin) {\n const result = getFunctionMemberPrice({\n locale: locale,\n variant: variant,\n shopMemberPriceDiscountConfig: memberPriceDiscount,\n currencyCode: currencyCode || data?.price?.currencyCode || 'USD',\n })\n if (result) {\n const { hasMemberPrice, salePriceWithCurrency, originalPriceWithCurrency, savePriceWithCurrency } = result\n handleBasePrice(\n savePriceWithCurrency || '',\n originalPriceWithCurrency || '',\n hasMemberPrice ? salePriceWithCurrency : '',\n result?.hasMemberPrice\n )\n } else {\n handleBasePrice(showPrice, basePrice || '', price || '', false)\n }\n } else {\n handleBasePrice(showPrice, basePrice || '', price || '', false)\n }\n }, [data, currentSku])\n\n // \u5904\u7406\u6807\u7B7E\n useEffect(() => {\n let handleTags: string[] = []\n if (discountCollection) {\n const discountTag = `${discountCollection} ${discounts?.off}`\n handleTags.push(discountTag)\n }\n const newTags = tags\n ?.filter?.((item: string) => item?.startsWith?.('CLtag'))\n ?.map?.((item: string) => item?.replace?.('CLtag:', ''))\n ?.slice?.(0, discountCollection ? 1 : 2)\n setShowTags(handleTags.concat(newTags))\n }, [tags, discountCollection])\n\n return (\n <div\n key={data?.id || data?.handle}\n className={cn(\n itemShape === 'round' ? 'rounded-2xl' : 'rounded-none',\n 'tablet:hover:bg-info-white bg-container-secondary-1 box-border w-full cursor-pointer overflow-hidden duration-300',\n {\n 'aiui-dark': data.theme === 'dark',\n }\n )}\n >\n {data?.mImage ? (\n <div className=\"size-full box-border overflow-hidden hover:[&_img]:scale-105\">\n <div className=\"relative inset-0 size-full\">\n <a className=\"size-full\" href={trackUrlRef(data?.link, `${componentType}_${componentName}`)}>\n <Picture\n alt=\"\"\n source={data?.mImage?.url || data?.mImage}\n className=\"size-full [&_img]:object-cover [&_img]:size-full\"\n imgClassName=\"size-full object-cover transition-all duration-300\"\n />\n <div className=\"desktop:p-6 absolute inset-x-0 top-0 box-border overflow-hidden p-4\">\n <p\n className=\"desktop:mb-2 mb-1 text-info-primary desktop:text-base text-sm font-bold\"\n dangerouslySetInnerHTML={{ __html: data?.subTitle }}\n />\n <span\n className=\"text-info-secondary desktop:text-[32px] text-[20px] font-bold desktop:leading-9 line-clamp-4 leading-6\"\n dangerouslySetInnerHTML={{ __html: data?.title }}\n />\n </div>\n </a>\n </div>\n </div>\n ) : (\n <div className=\"size-full desktop:p-6 desktop:pt-4 box-border overflow-hidden flex flex-col justify-between tablet:p-4 p-2 pb-4\">\n <div className=\"min-h-6 flex flex-wrap gap-1 overflow-hidden collection-filter-tags\">\n {showTags?.map?.((item: string, index: number) => (\n <Badge key={index} className=\"whitespace-nowrap max-w-full truncate px-1 box-border font-bold item-badge\">\n {item}\n </Badge>\n ))}\n </div>\n <a\n target=\"_blank\"\n aria-label={displayTitle}\n className=\"my-1\"\n href={trackUrlRef(\n `${locale === 'us' || !locale ? '' : `/${locale}`}/products/${data?.handle}`,\n `${componentType}_${componentName}`\n )}\n >\n <div className={cn('m-auto desktop:size-[196px] size-[120px] overflow-hidden')}>\n <Picture\n alt=\"\"\n source={currentImage}\n className=\"h-full [&_img]:object-cover [&_img]:h-full [&_img]:w-fit\"\n />\n </div>\n </a>\n {data?.options?.map((option: any) => {\n if (option?.displayName === 'color') {\n return (\n <div className=\"flex items-center gap-1\">\n {option?.values?.map((item: any) => {\n const color = item?.hexColors ? item.hexColors?.[0] : item?.label\n const hexColor = color.startsWith('#') ? color : ''\n return (\n <button\n key={item?.label}\n onClick={() => onColorClick(item?.label)}\n className={cn(\n 'size-4 rounded-full cursor-pointer overflow-hidden',\n `${selectedColor === item?.label ? 'border-[#00BEFA]' : ''}`\n )}\n >\n <span\n className={cn(\n 'h-full w-full overflow-hidden border-[0.5px] border-transparent',\n 'relative flex items-center justify-center overflow-hidden rounded-full',\n selectedColor === item?.label && 'border-[#ddd]'\n )}\n style={hexColor ? { backgroundColor: hexColor } : {}}\n >\n {!hexColor && imagePath && (\n <img\n alt={color}\n className=\"h-full w-full object-cover\"\n src={`${getShopifyCdnBaseUrl(imagePath)}${color\n ?.toLowerCase()\n .split(' ')\n ?.join('-')}_${'50x'}.png`}\n />\n )}\n </span>\n </button>\n )\n })}\n </div>\n )\n }\n })}\n <div>\n {displayTitle ? (\n <span\n dangerouslySetInnerHTML={{ __html: displayTitle || '' }}\n className=\"shelf-display-product-title line-clamp-2 lg-desktop:text-2xl laptop:text-xl text-base font-bold\"\n />\n ) : null}\n {data?.metafields?.judgemeBadge ? (\n <a\n target=\"_blank\"\n className=\"font-bold text-xs [&_.jdgm-star]:text-[#F77234]\"\n dangerouslySetInnerHTML={{ __html: data?.metafields?.judgemeBadge }}\n href={trackUrlRef(\n `${locale === 'us' || !locale ? '' : `/${locale}`}/products/${data?.handle}`,\n `${componentType}_${componentName}`\n )}\n />\n ) : (\n <div\n className=\"w-full truncate font-bold yotpo-widget-instance [&_.yotpo-sr-bottom-line-new-review]:hidden [&_.yotpo-sr-bottom-line-text]:!text-xs [&_.yotpo-sr-bottom-line-text]:!pt-0 [&_.yotpo-sr-bottom-line-summary]:!items-center [&_.yotpo-sr-bottom-line-summary_span]:!h-auto [&_.yotpo-sr-bottom-line-summary_svg]:!mr-[3px]\"\n data-yotpo-instance-id={yotpoInstanceId(locale)}\n data-yotpo-product-id={id}\n data-yotpo-cart-product-id={id}\n data-yotpo-section-id=\"\"\n />\n )}\n {displayDescription ? (\n <Text\n size={2}\n html={displayDescription || ''}\n className=\"desktop:text-base laptop:text-sm shelf-display-product-description line-clamp-1 text-xs font-bold\"\n />\n ) : null}\n <div className=\"mt-3 mb-2\">\n <p\n dangerouslySetInnerHTML={{\n __html:\n isLogin && plusMemberStatus\n ? discounts?.memberPrice || memberSetting?.member_price || memberSetting?.plus_member_price || ''\n : '',\n }}\n className=\"text-info-primary lg-desktop:text-lg desktop:text-base laptop:text-sm text-xs font-bold\"\n />\n <div className=\"flex items-center\">\n {isSoldOut ? (\n <div className=\"desktop:text-2xl tablet:text-xl text-info-primary text-base font-bold\">\n {soldOutText || ''}\n </div>\n ) : (\n <>\n <div className=\"final-price desktop:text-2xl tablet:text-xl text-info-primary text-base font-bold\">\n {currentVariant?.availableForSale ? priceCollection?.price || '' : ''}\n </div>\n <div className=\"origin-price desktop:text-xl tablet:text-lg text-info-secondary ml-1 text-sm font-bold line-through\">\n {currentVariant?.availableForSale ? priceCollection?.basePrice || '' : ''}\n </div>\n </>\n )}\n </div>\n </div>\n {/* \u6309\u94AE\u7EC4 */}\n <div\n className={cn('shelf-flex-button-group', 'lg-desktop:gap-3 flex items-center gap-2 m-tablet:flex-col')}\n >\n <Button\n variant=\"secondary\"\n className=\"m-tablet:w-full font-bold\"\n onClick={() => onSecondaryChange?.(data, currentSku)}\n >\n {buttonText?.secondaryButton || 'Learn More'}\n </Button>\n <Button\n variant=\"primary\"\n className=\"m-tablet:w-full font-bold\"\n disabled={isSoldOut}\n onClick={() => onPrimaryChange?.(data, currentSku)}\n >\n {buttonText?.primaryButton || 'Shop Now'}\n </Button>\n </div>\n </div>\n </div>\n )}\n </div>\n )\n}\nexport default FilterCardWrapItem\n"],
5
- "mappings": "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",
6
- "names": ["FilterCardWrapItem_exports", "__export", "FilterCardWrapItem_default", "__toCommonJS", "import_jsx_runtime", "import_utils", "import_AiuiProvider", "import_shelfDisplay", "import_badge", "import_text", "import_button", "import_picture", "import_trackUrlRef", "import_price", "import_react", "componentType", "componentName", "SOLD_OUT_PRICE", "getShopifyCdnBaseUrl", "imagePath", "path", "FilterCardWrapItem", "data", "buttonText", "itemShape", "metafields", "onPrimaryChange", "onSecondaryChange", "memberPriceDiscount", "memberSetting", "discounts", "shopCommon", "currentSku", "setCurrentSku", "currentImage", "setCurrentImage", "selectedColor", "setSelectedColor", "isSoldOut", "setIsSoldOut", "currentVariant", "setCurrentVariant", "plusMemberStatus", "setPlusMemberStatus", "priceCollection", "setPriceCollection", "tags", "setTags", "showTags", "setShowTags", "discountCollection", "setDiscountCollection", "soldOutText", "setSoldOutText", "locale", "currencyCode", "isLogin", "displayTitle", "displayDescription", "skuArray", "id", "onColorClick", "color", "handleBasePrice", "discount", "priceCurrency", "salePrice", "status", "findSku", "item", "firstOption", "variant", "infos", "productInfos", "preRender", "coupon", "price", "basePrice", "discountAmount", "showPrice", "amountStr", "match", "prefix", "numeric", "suffix", "updatedNumeric", "result", "hasMemberPrice", "salePriceWithCurrency", "originalPriceWithCurrency", "savePriceWithCurrency", "handleTags", "discountTag", "newTags", "Picture", "index", "Badge", "option", "hexColor", "Button"]
4
+ "sourcesContent": ["import { cn, atobID, yotpoInstanceId } from '../../helpers/utils.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\nimport { formatVariantPrice } from '../ShelfDisplay/shelfDisplay.js'\nimport Badge from '../../components/badge.js'\nimport { Text } from '../../components/text.js'\nimport Button from '../../components/button.js'\nimport Picture from '../../components/picture.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport { getFunctionMemberPrice } from './component/price.js'\nimport { useState, useEffect } from 'react'\n\nconst componentType = 'image'\nconst componentName = 'product_shelf'\n\nconst SOLD_OUT_PRICE = 9999999.99\n\nconst getShopifyCdnBaseUrl = (imagePath: string | null) => {\n // \u76EE\u524D\u77E5\u9053\u7684 shopify \u56FE\u7247\u8DEF\u7531\u7684\u5F62\u5F0F\n // https://cdn.shopify.com/s/files/1/0493/9834/9974/files/Group_5581_2.jpg?v=1662379184\n // https://cdn.shopify.com/s/files/1/0493/9834/9974/products/B2633123.jpg?v=1631264041_3840x\n // \u8FD4\u56DE https://cdn.shopify.com/s/files/1/0493/9834/9974/files/\n let path\n if (imagePath?.includes('products')) {\n path = imagePath?.split('products')[0] + 'files/'\n } else {\n path = imagePath?.replace(imagePath?.split('files')?.pop() || '', '') + '/'\n }\n return path\n}\n\ntype FilterCardWrapItemProps = {\n data: any\n buttonText?: any\n itemShape?: string\n metafields: any\n onPrimaryChange?: (item: any, sku: string) => void\n onSecondaryChange?: (item: any, sku: string) => void\n}\n\nconst FilterCardWrapItem = ({\n data,\n buttonText,\n itemShape,\n metafields,\n onPrimaryChange,\n onSecondaryChange,\n}: FilterCardWrapItemProps) => {\n const { memberPriceDiscount, memberSetting, discounts, shopCommon } = metafields\n const [currentSku, setCurrentSku] = useState<string>('')\n const [currentImage, setCurrentImage] = useState<string>('')\n const [selectedColor, setSelectedColor] = useState<string>('')\n const [isSoldOut, setIsSoldOut] = useState<any>(false)\n const [currentVariant, setCurrentVariant] = useState<any>({})\n const [plusMemberStatus, setPlusMemberStatus] = useState<boolean>(false)\n const [priceCollection, setPriceCollection] = useState<{ price: string; basePrice: string }>({\n price: '',\n basePrice: '',\n })\n const [tags, setTags] = useState<string[]>([])\n const [showTags, setShowTags] = useState<string[]>([])\n const [discountCollection, setDiscountCollection] = useState<string>('')\n const [soldOutText, setSoldOutText] = useState<string>('')\n\n const { locale = 'us', currencyCode, isLogin } = useAiuiContext()\n\n const displayTitle = data?.custom_name || data?.title || data?.name\n const displayDescription = data?.custom_description || data?.description || data?.descriptionHtml\n const skuArray = data?.filter_variants || data?.variants || []\n const id = atobID(data?.id || '')\n\n const onColorClick = (color: string) => setSelectedColor(color)\n\n const handleBasePrice = (discount: string, priceCurrency: string, salePrice: string, status: boolean) => {\n setPlusMemberStatus(status)\n setDiscountCollection(discount || '')\n setPriceCollection({\n basePrice: priceCurrency || '',\n price: salePrice || '',\n })\n }\n\n useEffect(() => {\n if (selectedColor) {\n const findSku = skuArray?.find((item: any) => item?.name?.includes?.(selectedColor))\n setCurrentSku(findSku?.sku || skuArray?.[0]?.sku || '')\n setCurrentImage(findSku?.image?.url || skuArray?.[0]?.image?.url || '')\n return\n }\n const firstOption = data?.options?.find((item: any) => item?.displayName === 'color')?.values?.[0]?.label\n firstOption && setSelectedColor(firstOption)\n const findSku = skuArray?.find((item: any) => item?.name?.includes?.(firstOption))\n setCurrentSku(findSku?.sku || skuArray?.[0]?.sku || '')\n setCurrentImage(findSku?.image?.url || skuArray?.[0]?.image?.url || '')\n }, [selectedColor])\n\n useEffect(() => {\n if (!currentSku) return\n setTags(data?.tags || [])\n const variant = skuArray?.find((item: any) => item?.sku === currentSku) || skuArray?.[0] || {}\n setCurrentVariant(variant)\n setIsSoldOut(!variant?.availableForSale || variant?.price?.amount === SOLD_OUT_PRICE)\n const { infos } = variant?.metafields || {}\n const { productInfos, preRender } = data?.metafields || {}\n setSoldOutText(infos?.comingSoon || productInfos?.comingSoon || preRender?.soldOut || shopCommon?.soldOut || '')\n // active \u7684 \u901A\u7528\u6298\u6263\n const coupon = variant?.coupons?.[0]\n const { price, basePrice, discount, discountAmount } = formatVariantPrice({\n locale: locale,\n amount: coupon ? coupon.variant_price4wscode : variant.price,\n baseAmount: coupon ? variant.price : 0,\n currencyCode: data?.price?.currencyCode || 'USD',\n })\n const showPrice = (() => {\n if (coupon?.value_type === 'fixed_amount') {\n const amountStr = discountAmount || ''\n const match = amountStr.match(/^(.*?)(\\d[\\d.,]*)(.*)$/)\n if (match) {\n const [, prefix, numeric, suffix] = match\n let updatedNumeric = numeric\n if (numeric.endsWith('.00')) {\n updatedNumeric = numeric.replace(/\\.00$/, '')\n } else if (numeric.endsWith(',00')) {\n updatedNumeric = numeric.replace(/,00$/, '')\n }\n return `${prefix}${updatedNumeric}${suffix}`\n }\n return amountStr\n }\n return discount || ''\n })()\n // \u4F1A\u5458\u6298\u6263\n if (isLogin) {\n const result = getFunctionMemberPrice({\n locale: locale,\n variant: variant,\n shopMemberPriceDiscountConfig: memberPriceDiscount,\n currencyCode: currencyCode || data?.price?.currencyCode || 'USD',\n })\n if (result) {\n const { hasMemberPrice, salePriceWithCurrency, originalPriceWithCurrency, savePriceWithCurrency } = result\n handleBasePrice(\n savePriceWithCurrency || '',\n originalPriceWithCurrency || '',\n hasMemberPrice ? salePriceWithCurrency : '',\n result?.hasMemberPrice\n )\n } else {\n handleBasePrice(showPrice, basePrice || '', price || '', false)\n }\n } else {\n handleBasePrice(showPrice, basePrice || '', price || '', false)\n }\n }, [data, currentSku])\n\n // \u5904\u7406\u6807\u7B7E\n useEffect(() => {\n let handleTags: string[] = []\n if (discountCollection) {\n const discountTag = `${discountCollection} ${discounts?.off}`\n handleTags.push(discountTag)\n }\n const newTags = tags\n ?.filter?.((item: string) => item?.startsWith?.('CLtag'))\n ?.map?.((item: string) => item?.replace?.('CLtag:', ''))\n ?.slice?.(0, discountCollection ? 1 : 2)\n setShowTags(handleTags.concat(newTags))\n }, [tags, discountCollection])\n\n return (\n <div\n key={data?.id || data?.handle}\n className={cn(\n itemShape === 'round' ? 'rounded-2xl' : 'rounded-none',\n 'tablet:hover:bg-info-white bg-container-secondary-1 box-border w-full cursor-pointer overflow-hidden duration-300',\n {\n 'aiui-dark': data.theme === 'dark',\n }\n )}\n >\n {data?.mImage ? (\n <div className=\"size-full box-border overflow-hidden hover:[&_img]:scale-105\">\n <div className=\"relative inset-0 size-full\">\n <a className=\"size-full\" href={trackUrlRef(data?.link, `${componentType}_${componentName}`)}>\n <Picture\n alt=\"\"\n source={data?.mImage?.url || data?.mImage}\n className=\"size-full [&_img]:object-cover [&_img]:size-full\"\n imgClassName=\"size-full object-cover transition-all duration-300\"\n />\n <div className=\"desktop:p-6 absolute inset-x-0 top-0 box-border overflow-hidden p-4\">\n <p\n className=\"desktop:mb-2 mb-1 text-info-primary desktop:text-base text-sm font-bold\"\n dangerouslySetInnerHTML={{ __html: data?.subTitle }}\n />\n <span\n className=\"text-info-secondary desktop:text-[32px] text-[20px] font-bold desktop:leading-9 line-clamp-4 leading-6\"\n dangerouslySetInnerHTML={{ __html: data?.title }}\n />\n </div>\n </a>\n </div>\n </div>\n ) : (\n <div className=\"size-full desktop:p-6 desktop:pt-4 box-border overflow-hidden flex flex-col justify-between tablet:p-4 p-2 pb-4\">\n <div className=\"flex flex-wrap gap-1 overflow-hidden collection-filter-tags\">\n {showTags?.map?.((item: string, index: number) => (\n <Badge key={index} className=\"whitespace-nowrap max-w-full truncate px-1 box-border font-bold item-badge\">\n {item}\n </Badge>\n ))}\n </div>\n <a\n target=\"_blank\"\n aria-label={displayTitle}\n className=\"my-1\"\n href={trackUrlRef(\n `${locale === 'us' || !locale ? '' : `/${locale}`}/products/${data?.handle}`,\n `${componentType}_${componentName}`\n )}\n >\n <div className={cn('m-auto desktop:size-[196px] size-[120px] overflow-hidden')}>\n <Picture\n alt=\"\"\n source={currentImage}\n className=\"h-full [&_img]:object-cover [&_img]:h-full [&_img]:w-fit\"\n />\n </div>\n </a>\n {data?.options?.map((option: any) => {\n if (option?.displayName === 'color') {\n return (\n <div className=\"flex items-center gap-1\">\n {option?.values?.map((item: any) => {\n const color = item?.hexColors ? item.hexColors?.[0] : item?.label\n return (\n <button\n key={item?.label}\n onClick={() => onColorClick(item?.label)}\n className={cn(\n 'size-4 rounded-full cursor-pointer overflow-hidden border-2 border-transparent',\n `${selectedColor === item?.label ? 'border-[#00BEFA]' : ''}`\n )}\n >\n <img\n alt={color}\n className=\"h-full w-full object-cover\"\n src={`${getShopifyCdnBaseUrl(data?.images?.[0]?.url)}${color\n ?.toLowerCase()\n .split(' ')\n ?.join('-')}_${'50x'}.png`}\n />\n </button>\n )\n })}\n </div>\n )\n }\n })}\n <div>\n {displayTitle ? (\n <span\n dangerouslySetInnerHTML={{ __html: displayTitle || '' }}\n className=\"shelf-display-product-title line-clamp-2 lg-desktop:text-2xl laptop:text-xl text-base font-bold\"\n />\n ) : null}\n {data?.metafields?.judgemeBadge ? (\n <a\n target=\"_blank\"\n className=\"font-bold text-xs [&_.jdgm-star]:text-[#F77234]\"\n dangerouslySetInnerHTML={{ __html: data?.metafields?.judgemeBadge }}\n href={trackUrlRef(\n `${locale === 'us' || !locale ? '' : `/${locale}`}/products/${data?.handle}`,\n `${componentType}_${componentName}`\n )}\n />\n ) : (\n <div\n className=\"font-bold text-xs yotpo-widget-instance [&_.yotpo-sr-bottom-line-new-review]:hidden\"\n data-yotpo-instance-id={yotpoInstanceId(locale)}\n data-yotpo-product-id={id}\n data-yotpo-cart-product-id={id}\n data-yotpo-section-id=\"\"\n />\n )}\n {displayDescription ? (\n <Text\n size={2}\n html={displayDescription || ''}\n className=\"desktop:text-base laptop:text-sm shelf-display-product-description line-clamp-1 text-xs font-bold\"\n />\n ) : null}\n <div className=\"mt-3 mb-2\">\n <p\n dangerouslySetInnerHTML={{\n __html:\n isLogin && plusMemberStatus\n ? discounts?.memberPrice || memberSetting?.member_price || memberSetting?.plus_member_price || ''\n : '',\n }}\n className=\"text-info-primary lg-desktop:text-lg desktop:text-base laptop:text-sm text-xs font-bold\"\n />\n <div className=\"flex items-center\">\n {isSoldOut ? (\n <div className=\"desktop:text-2xl tablet:text-xl text-info-primary text-base font-bold\">\n {soldOutText || ''}\n </div>\n ) : (\n <>\n <div className=\"final-price desktop:text-2xl tablet:text-xl text-info-primary text-base font-bold\">\n {currentVariant?.availableForSale ? priceCollection?.price || '' : ''}\n </div>\n <div className=\"origin-price desktop:text-xl tablet:text-lg text-info-secondary ml-1 text-sm font-bold line-through\">\n {currentVariant?.availableForSale ? priceCollection?.basePrice || '' : ''}\n </div>\n </>\n )}\n </div>\n </div>\n {/* \u6309\u94AE\u7EC4 */}\n <div\n className={cn('shelf-flex-button-group', 'lg-desktop:gap-3 flex items-center gap-2 m-tablet:flex-col')}\n >\n <Button\n variant=\"secondary\"\n className=\"m-tablet:w-full font-bold\"\n onClick={() => onSecondaryChange?.(data, currentSku)}\n >\n {buttonText?.secondaryButton || 'Learn More'}\n </Button>\n <Button\n variant=\"primary\"\n className=\"m-tablet:w-full font-bold\"\n disabled={isSoldOut}\n onClick={() => onPrimaryChange?.(data, currentSku)}\n >\n {buttonText?.primaryButton || 'Shop Now'}\n </Button>\n </div>\n </div>\n </div>\n )}\n </div>\n )\n}\nexport default FilterCardWrapItem\n"],
5
+ "mappings": "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",
6
+ "names": ["FilterCardWrapItem_exports", "__export", "FilterCardWrapItem_default", "__toCommonJS", "import_jsx_runtime", "import_utils", "import_AiuiProvider", "import_shelfDisplay", "import_badge", "import_text", "import_button", "import_picture", "import_trackUrlRef", "import_price", "import_react", "componentType", "componentName", "SOLD_OUT_PRICE", "getShopifyCdnBaseUrl", "imagePath", "path", "FilterCardWrapItem", "data", "buttonText", "itemShape", "metafields", "onPrimaryChange", "onSecondaryChange", "memberPriceDiscount", "memberSetting", "discounts", "shopCommon", "currentSku", "setCurrentSku", "currentImage", "setCurrentImage", "selectedColor", "setSelectedColor", "isSoldOut", "setIsSoldOut", "currentVariant", "setCurrentVariant", "plusMemberStatus", "setPlusMemberStatus", "priceCollection", "setPriceCollection", "tags", "setTags", "showTags", "setShowTags", "discountCollection", "setDiscountCollection", "soldOutText", "setSoldOutText", "locale", "currencyCode", "isLogin", "displayTitle", "displayDescription", "skuArray", "id", "onColorClick", "color", "handleBasePrice", "discount", "priceCurrency", "salePrice", "status", "findSku", "item", "firstOption", "variant", "infos", "productInfos", "preRender", "coupon", "price", "basePrice", "discountAmount", "showPrice", "amountStr", "match", "prefix", "numeric", "suffix", "updatedNumeric", "result", "hasMemberPrice", "salePriceWithCurrency", "originalPriceWithCurrency", "savePriceWithCurrency", "handleTags", "discountTag", "newTags", "Picture", "index", "Badge", "option", "Button"]
7
7
  }
@@ -1,2 +1,2 @@
1
- "use strict";"use client";var q=Object.create;var f=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var O=Object.getPrototypeOf,j=Object.prototype.hasOwnProperty;var B=(t,a)=>{for(var n in a)f(t,n,{get:a[n],enumerable:!0})},P=(t,a,n,d)=>{if(a&&typeof a=="object"||typeof a=="function")for(let o of M(a))!j.call(t,o)&&o!==n&&f(t,o,{get:()=>a[o],enumerable:!(d=F(a,o))||d.enumerable});return t};var H=(t,a,n)=>(n=t!=null?q(O(t)):{},P(a||!t||!t.__esModule?f(n,"default",{value:t,enumerable:!0}):n,t)),I=t=>P(f({},"__esModule",{value:!0}),t);var z={};B(z,{default:()=>_});module.exports=I(z);var c=require("react/jsx-runtime"),w=require("es-toolkit"),l=require("react"),D=H(require("../../../components/link")),b=require("../../../helpers/utils.js"),L=require("../../AiuiProvider/index.js");const g="All",X=t=>{const{metafields:a,tabs:n,onTabClick:d,tabShape:o="square",filtersPair:m,filtered:u,filtersData:p}=t,{name:h}=a,{pathname:C}=(0,L.useAiuiContext)(),k=(0,l.useRef)(null),[y,E]=(0,l.useState)([]),[T,R]=(0,l.useState)([]),W=e=>{const i=(0,w.cloneDeep)(u)||{};let s=i?.[r?.value]||[];e?.options===(p?.mainPair?.alltxt||h||g)?s=[]:s=[e?.value||e],i[r?.value]=s,s.length<=0&&Reflect.deleteProperty(i,r?.value),d?.({...i},e);const v=document.getElementById(`tab-${e?.label||e}`),x=k.current;if(v&&x){const A=v.offsetLeft,N=v.offsetWidth,S=x.offsetWidth,$=A-S/2+N/2;x.scrollTo({left:$,behavior:"smooth"})}},r=(0,l.useMemo)(()=>m?.find(e=>e.mainPair),[m]);return(0,l.useEffect)(()=>{if(n?.length)E(n);else{const e=r?.options||[],s=[{label:p?.mainPair?.alltxt||h||g,value:r?.value,options:p?.mainPair?.alltxt||h||g},...e];R(s)}},[r,p,n]),y?.length>0||T?.length>0?(0,c.jsx)("div",{ref:k,className:(0,b.cn)(o==="rounded"?"rounded-[28px]":"","tab-switch-wrap bg-tabs-list-bg relative flex gap-x-1 w-fit max-w-full overflow-x-auto overflow-y-hidden p-1 laptop:m-auto"),children:y?.length>0?y?.map?.(e=>(0,c.jsx)(D.default,{id:`tab-${e?.label}`,href:e?.href,className:(0,b.cn)("relative flex-1 shrink-0 whitespace-nowrap transition-all cursor-pointer","text-info-primary px-5 py-2.5 text-sm lg-desktop:text-base font-bold no-underline","lg-desktop:text-base lg-desktop:px-7 lg-desktop:py-3.5 hover:bg-btn-primary-disabled-foreground hover:text-info-primary",o==="rounded"?"rounded-[28px]":"",e?.href&&e?.href===C?"bg-btn-primary-disabled-foreground":""),children:e?.label||""},e?.label)):T?.map?.(e=>(0,c.jsx)("div",{id:`tab-${e?.label||e}`,onClick:()=>W(e),className:(0,b.cn)("relative flex-1 shrink-0 whitespace-nowrap transition-all cursor-pointer","text-info-primary px-5 py-2.5 text-sm lg-desktop:text-base font-bold no-underline","lg-desktop:text-base lg-desktop:px-7 lg-desktop:py-3.5 hover:bg-btn-primary-disabled-foreground hover:text-info-primary",o==="rounded"?"rounded-[28px]":"",u?.[r?.value]?.includes?.(e?.value||e)||!u?.[r?.value]?.length&&e?.options?"bg-btn-primary-disabled-foreground":""),children:e?.label||e},e?.value||e))}):null};var _=X;
1
+ "use strict";"use client";var q=Object.create;var p=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var O=Object.getPrototypeOf,j=Object.prototype.hasOwnProperty;var B=(t,a)=>{for(var n in a)p(t,n,{get:a[n],enumerable:!0})},P=(t,a,n,d)=>{if(a&&typeof a=="object"||typeof a=="function")for(let l of M(a))!j.call(t,l)&&l!==n&&p(t,l,{get:()=>a[l],enumerable:!(d=F(a,l))||d.enumerable});return t};var H=(t,a,n)=>(n=t!=null?q(O(t)):{},P(a||!t||!t.__esModule?p(n,"default",{value:t,enumerable:!0}):n,t)),I=t=>P(p({},"__esModule",{value:!0}),t);var z={};B(z,{default:()=>_});module.exports=I(z);var c=require("react/jsx-runtime"),w=require("es-toolkit"),o=require("react"),D=H(require("../../../components/link")),b=require("../../../helpers/utils.js"),L=require("../../AiuiProvider/index.js");const g="All",X=t=>{const{metafields:a,tabs:n,onTabClick:d,tabShape:l="square",filtersPair:m,filtered:u,filtersData:f}=t,{name:h}=a,{pathname:C}=(0,L.useAiuiContext)(),k=(0,o.useRef)(null),[y,E]=(0,o.useState)([]),[T,R]=(0,o.useState)([]),W=e=>{const i=(0,w.cloneDeep)(u)||{};let s=i?.[r?.value]||[];e?.options===(f?.mainPair?.alltxt||h||g)?s=[]:s=[e?.value||e],i[r?.value]=s,s.length<=0&&Reflect.deleteProperty(i,r?.value),d?.({...i},e);const v=document.getElementById(`tab-${e?.label||e}`),x=k.current;if(v&&x){const A=v.offsetLeft,N=v.offsetWidth,S=x.offsetWidth,$=A-S/2+N/2;x.scrollTo({left:$,behavior:"smooth"})}},r=(0,o.useMemo)(()=>m?.find(e=>e.mainPair),[m]);return(0,o.useEffect)(()=>{if(n?.length)E(n);else{const e=r?.options||[],s=[{label:f?.mainPair?.alltxt||h||g,value:r?.value,options:f?.mainPair?.alltxt||h||g},...e];R(s)}},[r,f,n]),y?.length>0||T?.length>0?(0,c.jsx)("div",{ref:k,className:(0,b.cn)(l==="rounded"?"rounded-[28px]":"","tab-switch-wrap bg-tabs-list-bg relative flex gap-x-1 w-fit max-w-full overflow-x-auto overflow-y-hidden p-1 laptop:m-auto"),children:y?.length>0?y?.map?.(e=>(0,c.jsx)(D.default,{id:`tab-${e?.label}`,href:e?.href,className:(0,b.cn)("relative flex-1 shrink-0 whitespace-nowrap transition-all","text-info-primary px-5 py-2.5 text-sm lg-desktop:text-base font-bold no-underline","lg-desktop:text-base lg-desktop:px-7 lg-desktop:py-3.5 hover:bg-btn-primary-disabled-foreground hover:text-info-primary",l==="rounded"?"rounded-[28px]":"",e?.href&&e?.href===C?"bg-btn-primary-disabled-foreground":""),children:e?.label||""},e?.label)):T?.map?.(e=>(0,c.jsx)("div",{id:`tab-${e?.label||e}`,onClick:()=>W(e),className:(0,b.cn)("relative flex-1 shrink-0 whitespace-nowrap transition-all","text-info-primary px-5 py-2.5 text-sm lg-desktop:text-base font-bold no-underline","lg-desktop:text-base lg-desktop:px-7 lg-desktop:py-3.5 hover:bg-btn-primary-disabled-foreground hover:text-info-primary",l==="rounded"?"rounded-[28px]":"",u?.[r?.value]?.includes?.(e?.value||e)||!u?.[r?.value]?.length&&e?.options?"bg-btn-primary-disabled-foreground":""),children:e?.label||e},e?.value||e))}):null};var _=X;
2
2
  //# sourceMappingURL=TabFilter.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/biz-components/CollectionsFilters/component/TabFilter.tsx"],
4
- "sourcesContent": ["'use client'\nimport { remove, cloneDeep } from 'es-toolkit'\nimport React, { useRef, useState, useMemo, useEffect } from 'react'\nimport Link from '../../../components/link'\nimport { cn } from '../../../helpers/utils.js'\nimport { useAiuiContext } from '../../AiuiProvider/index.js'\ninterface TabsProps {\n tabs: any[]\n filtered: any\n metafields: any\n filtersPair: any\n filtersData: any\n tabShape?: 'rounded' | 'square'\n onTabClick?: (value: any, item: any) => void\n}\n\nconst ALL_TEXT = 'All'\n\nconst TabFilter: React.FC<TabsProps> = (props: TabsProps) => {\n const { metafields, tabs, onTabClick, tabShape = 'square', filtersPair, filtered, filtersData } = props\n const { name } = metafields\n\n const { pathname } = useAiuiContext()\n\n const tabRef = useRef<HTMLDivElement>(null)\n const [linkData, setLinkData] = useState<any[]>([])\n const [tabData, setTabData] = useState<any[]>([])\n\n const handleTabClick = (item: any) => {\n const clonefiltered = cloneDeep(filtered) || {}\n let current = clonefiltered?.[mainPair?.value] || []\n if (item?.options === (filtersData?.mainPair?.alltxt || name || ALL_TEXT)) {\n current = []\n } else {\n current = [item?.value || item]\n }\n clonefiltered[mainPair?.value] = current\n if (current.length <= 0) {\n Reflect.deleteProperty(clonefiltered, mainPair?.value)\n }\n onTabClick?.({ ...clonefiltered }, item)\n\n // \u83B7\u53D6\u5F53\u524D\u9009\u4E2D\u7684 tab \u5E76\u8BA1\u7B97\u4E0B\u5212\u7EBF\u4F4D\u7F6E\n const tabElement = document.getElementById(`tab-${item?.label || item}`)\n // **\u8BA1\u7B97\u6EDA\u52A8\u4F4D\u7F6E**\n const container = tabRef.current\n if (tabElement && container) {\n const tabLeft = tabElement.offsetLeft // \u9009\u4E2D tab \u7684\u5DE6\u4FA7\u504F\u79FB\u91CF\n const tabWidth = tabElement.offsetWidth\n const containerWidth = container.offsetWidth\n // \u8BA1\u7B97\u76EE\u6807\u6EDA\u52A8\u4F4D\u7F6E\uFF0C\u4F7F tab \u5C45\u4E2D\n const scrollTo = tabLeft - containerWidth / 2 + tabWidth / 2\n container.scrollTo({\n left: scrollTo,\n behavior: 'smooth',\n })\n }\n }\n\n const mainPair = useMemo(() => {\n return filtersPair?.find((item: any) => item.mainPair)\n }, [filtersPair])\n\n useEffect(() => {\n if (tabs?.length) {\n setLinkData(tabs)\n } else {\n const currentData = mainPair?.options || []\n const allObject = {\n label: filtersData?.mainPair?.alltxt || name || ALL_TEXT,\n value: mainPair?.value,\n options: filtersData?.mainPair?.alltxt || name || ALL_TEXT,\n }\n const tabData = [allObject, ...currentData]\n setTabData(tabData)\n }\n }, [mainPair, filtersData, tabs])\n\n return linkData?.length > 0 || tabData?.length > 0 ? (\n <div\n ref={tabRef}\n className={cn(\n tabShape === 'rounded' ? 'rounded-[28px]' : '',\n 'tab-switch-wrap bg-tabs-list-bg relative flex gap-x-1 w-fit max-w-full overflow-x-auto overflow-y-hidden p-1 laptop:m-auto'\n )}\n >\n {linkData?.length > 0\n ? linkData?.map?.((item: any) => (\n <Link\n key={item?.label}\n id={`tab-${item?.label}`}\n href={item?.href}\n className={cn(\n 'relative flex-1 shrink-0 whitespace-nowrap transition-all cursor-pointer',\n 'text-info-primary px-5 py-2.5 text-sm lg-desktop:text-base font-bold no-underline',\n 'lg-desktop:text-base lg-desktop:px-7 lg-desktop:py-3.5 hover:bg-btn-primary-disabled-foreground hover:text-info-primary',\n tabShape === 'rounded' ? 'rounded-[28px]' : '',\n item?.href && item?.href === pathname ? 'bg-btn-primary-disabled-foreground' : ''\n )}\n >\n {item?.label || ''}\n </Link>\n ))\n : tabData?.map?.((item: any) => {\n return (\n <div\n key={item?.value || item}\n id={`tab-${item?.label || item}`}\n onClick={() => handleTabClick(item)}\n className={cn(\n 'relative flex-1 shrink-0 whitespace-nowrap transition-all cursor-pointer',\n 'text-info-primary px-5 py-2.5 text-sm lg-desktop:text-base font-bold no-underline',\n 'lg-desktop:text-base lg-desktop:px-7 lg-desktop:py-3.5 hover:bg-btn-primary-disabled-foreground hover:text-info-primary',\n tabShape === 'rounded' ? 'rounded-[28px]' : '',\n filtered?.[mainPair?.value]?.includes?.(item?.value || item) ||\n (!filtered?.[mainPair?.value]?.length && item?.options)\n ? 'bg-btn-primary-disabled-foreground'\n : ''\n )}\n >\n {item?.label || item}\n </div>\n )\n })}\n </div>\n ) : null\n}\n\nexport default TabFilter\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["'use client'\nimport { remove, cloneDeep } from 'es-toolkit'\nimport React, { useRef, useState, useMemo, useEffect } from 'react'\nimport Link from '../../../components/link'\nimport { cn } from '../../../helpers/utils.js'\nimport { useAiuiContext } from '../../AiuiProvider/index.js'\ninterface TabsProps {\n tabs: any[]\n filtered: any\n metafields: any\n filtersPair: any\n filtersData: any\n tabShape?: 'rounded' | 'square'\n onTabClick?: (value: any, item: any) => void\n}\n\nconst ALL_TEXT = 'All'\n\nconst TabFilter: React.FC<TabsProps> = (props: TabsProps) => {\n const { metafields, tabs, onTabClick, tabShape = 'square', filtersPair, filtered, filtersData } = props\n const { name } = metafields\n\n const { pathname } = useAiuiContext()\n\n const tabRef = useRef<HTMLDivElement>(null)\n const [linkData, setLinkData] = useState<any[]>([])\n const [tabData, setTabData] = useState<any[]>([])\n\n const handleTabClick = (item: any) => {\n const clonefiltered = cloneDeep(filtered) || {}\n let current = clonefiltered?.[mainPair?.value] || []\n if (item?.options === (filtersData?.mainPair?.alltxt || name || ALL_TEXT)) {\n current = []\n } else {\n current = [item?.value || item]\n }\n clonefiltered[mainPair?.value] = current\n if (current.length <= 0) {\n Reflect.deleteProperty(clonefiltered, mainPair?.value)\n }\n onTabClick?.({ ...clonefiltered }, item)\n\n // \u83B7\u53D6\u5F53\u524D\u9009\u4E2D\u7684 tab \u5E76\u8BA1\u7B97\u4E0B\u5212\u7EBF\u4F4D\u7F6E\n const tabElement = document.getElementById(`tab-${item?.label || item}`)\n // **\u8BA1\u7B97\u6EDA\u52A8\u4F4D\u7F6E**\n const container = tabRef.current\n if (tabElement && container) {\n const tabLeft = tabElement.offsetLeft // \u9009\u4E2D tab \u7684\u5DE6\u4FA7\u504F\u79FB\u91CF\n const tabWidth = tabElement.offsetWidth\n const containerWidth = container.offsetWidth\n // \u8BA1\u7B97\u76EE\u6807\u6EDA\u52A8\u4F4D\u7F6E\uFF0C\u4F7F tab \u5C45\u4E2D\n const scrollTo = tabLeft - containerWidth / 2 + tabWidth / 2\n container.scrollTo({\n left: scrollTo,\n behavior: 'smooth',\n })\n }\n }\n\n const mainPair = useMemo(() => {\n return filtersPair?.find((item: any) => item.mainPair)\n }, [filtersPair])\n\n useEffect(() => {\n if (tabs?.length) {\n setLinkData(tabs)\n } else {\n const currentData = mainPair?.options || []\n const allObject = {\n label: filtersData?.mainPair?.alltxt || name || ALL_TEXT,\n value: mainPair?.value,\n options: filtersData?.mainPair?.alltxt || name || ALL_TEXT,\n }\n const tabData = [allObject, ...currentData]\n setTabData(tabData)\n }\n }, [mainPair, filtersData, tabs])\n\n return linkData?.length > 0 || tabData?.length > 0 ? (\n <div\n ref={tabRef}\n className={cn(\n tabShape === 'rounded' ? 'rounded-[28px]' : '',\n 'tab-switch-wrap bg-tabs-list-bg relative flex gap-x-1 w-fit max-w-full overflow-x-auto overflow-y-hidden p-1 laptop:m-auto'\n )}\n >\n {linkData?.length > 0\n ? linkData?.map?.((item: any) => (\n <Link\n key={item?.label}\n id={`tab-${item?.label}`}\n href={item?.href}\n className={cn(\n 'relative flex-1 shrink-0 whitespace-nowrap transition-all',\n 'text-info-primary px-5 py-2.5 text-sm lg-desktop:text-base font-bold no-underline',\n 'lg-desktop:text-base lg-desktop:px-7 lg-desktop:py-3.5 hover:bg-btn-primary-disabled-foreground hover:text-info-primary',\n tabShape === 'rounded' ? 'rounded-[28px]' : '',\n item?.href && item?.href === pathname ? 'bg-btn-primary-disabled-foreground' : ''\n )}\n >\n {item?.label || ''}\n </Link>\n ))\n : tabData?.map?.((item: any) => {\n return (\n <div\n key={item?.value || item}\n id={`tab-${item?.label || item}`}\n onClick={() => handleTabClick(item)}\n className={cn(\n 'relative flex-1 shrink-0 whitespace-nowrap transition-all',\n 'text-info-primary px-5 py-2.5 text-sm lg-desktop:text-base font-bold no-underline',\n 'lg-desktop:text-base lg-desktop:px-7 lg-desktop:py-3.5 hover:bg-btn-primary-disabled-foreground hover:text-info-primary',\n tabShape === 'rounded' ? 'rounded-[28px]' : '',\n filtered?.[mainPair?.value]?.includes?.(item?.value || item) ||\n (!filtered?.[mainPair?.value]?.length && item?.options)\n ? 'bg-btn-primary-disabled-foreground'\n : ''\n )}\n >\n {item?.label || item}\n </div>\n )\n })}\n </div>\n ) : null\n}\n\nexport default TabFilter\n"],
5
+ "mappings": "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",
6
6
  "names": ["TabFilter_exports", "__export", "TabFilter_default", "__toCommonJS", "import_jsx_runtime", "import_es_toolkit", "import_react", "import_link", "import_utils", "import_AiuiProvider", "ALL_TEXT", "TabFilter", "props", "metafields", "tabs", "onTabClick", "tabShape", "filtersPair", "filtered", "filtersData", "name", "pathname", "tabRef", "linkData", "setLinkData", "tabData", "setTabData", "handleTabClick", "item", "clonefiltered", "current", "mainPair", "tabElement", "container", "tabLeft", "tabWidth", "containerWidth", "scrollTo", "currentData", "Link"]
7
7
  }
@@ -7,7 +7,6 @@ type CollectionsFiltersProps = {
7
7
  isLoading?: boolean;
8
8
  refreshStarRating?: () => void;
9
9
  loadMore?: React.ReactNode;
10
- noResultNode?: React.ReactNode;
11
10
  data?: any;
12
11
  onNextPage?: (v: string) => void;
13
12
  onPrevPage?: (v: string) => void;
@@ -1,2 +1,2 @@
1
- "use strict";var oe=Object.create;var g=Object.defineProperty;var re=Object.getOwnPropertyDescriptor;var ne=Object.getOwnPropertyNames;var se=Object.getPrototypeOf,ae=Object.prototype.hasOwnProperty;var le=(o,r)=>{for(var n in r)g(o,n,{get:r[n],enumerable:!0})},L=(o,r,n,f)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of ne(r))!ae.call(o,i)&&i!==n&&g(o,i,{get:()=>r[i],enumerable:!(f=re(r,i))||f.enumerable});return o};var h=(o,r,n)=>(n=o!=null?oe(se(o)):{},L(r||!o||!o.__esModule?g(n,"default",{value:o,enumerable:!0}):n,o)),ie=o=>L(g({},"__esModule",{value:!0}),o);var ce={};le(ce,{default:()=>fe});module.exports=ie(ce);var a=require("react/jsx-runtime"),K=h(require("./FilterList")),_=h(require("./FilterHeader")),k=h(require("./FilterCardWrap")),M=require("../../shared/Styles.js"),A=h(require("./component/TabFilter")),t=require("react"),l=require("./component/filtersFun");function de(o){const{data:r,result:n={},allResult:f={},loadMore:i=null,noResultNode:V=null,metafields:c={},filterPrice:F={},isLoading:P=!1,refreshStarRating:z,onFilteredChange:x,onSortAndReverseChange:T,onPrimaryChange:W,onSecondaryChange:E,onNextPage:H,onPrevPage:q}=o,{shop_filters_pair:u}=c,{data:R}=(0,l.getComponentData)(c,"FilterProduct"),[p,B]=(0,t.useState)(!1),[G,S]=(0,t.useState)(!1),[J,Q]=(0,t.useState)([]),[d,N]=(0,t.useState)({}),[y,U]=(0,t.useState)(0),[v,m]=(0,t.useState)(1),[X,Y]=(0,t.useState)(!1),[Z,$]=(0,t.useState)(!1),j=(0,t.useRef)(null),b=(0,t.useRef)(!1);(0,t.useMemo)(()=>{const e=u?.filter_txt?.sortList,[s,te]=(0,l.handleSortKeyAndReverse)(e,y);T?.(s,te)},[u?.filter_txt?.sortList,d,y]);const ee=e=>!e?.metafields?.seoSetting?.noindex,D=(0,t.useMemo)(()=>f?.products?.filter(ee)?.length||0,[f?.products]),C=(0,t.useMemo)(()=>(0,l.handleFilterOptions)(n,F,u,R),[F,n?.filters,u?.filter_txt?.offers?.name,u?.filter_txt?.offers?.onsale]),O=(0,t.useMemo)(()=>C?.length?C?.map?.(e=>({...e,options:e?.options?.map?.(s=>({...s,checked:d?.[e?.value]?.indexOf?.(s?.value)>-1}))})):[],[d,C]),w=e=>{N?.({}),e&&m(1),x?.((0,l.handleFilters)({}))},I=e=>{N(e),m(1),x?.((0,l.handleFilters)(e))};return(0,t.useEffect)(()=>{const s=(d?.offers||[])?.includes?.("onsale");Y(s)},[d]),(0,t.useEffect)(()=>{!b.current&&n?.products?.length&&(b.current=!0),b.current&&$(!0)},[n?.products]),(0,a.jsxs)("div",{className:"size-full box-border",children:[(0,a.jsx)("div",{className:"laptop:mb-12 mb-6",children:(0,a.jsx)(A.default,{tabs:r?.tabItems,filtered:d,filtersPair:O,filtersData:R,metafields:c,onTabClick:e=>I(e)})}),(0,a.jsx)(_.default,{total:D||0,metafields:c,closeFilter:p,sortKeyIndx:y,shopifyData:r,onSortChange:U,onCloseFilter:B,onClearFiltered:()=>w(),onMobileOpenDrawer:S}),(0,a.jsxs)("div",{className:"flex-1 overflow-hidden tablet:flex desktop:gap-x-16 tablet:gap-x-8",children:[!p&&(0,a.jsx)(K.default,{shopifyData:r,filtered:d,openOptions:J,closeFilter:p,filtersPair:O,mobileDrawerVisible:G,onFilteredChange:I,onClearFiltered:()=>w(!1),onOpenOptions:Q,onCloseDrawer:S}),(0,a.jsxs)("div",{className:"flex-1 overflow-y-auto relative",children:[(0,a.jsx)(k.default,{page:v,result:n,shopifyData:r,total:D,isSale:X,ref:j,metafields:c,closeFilter:p,noResultNode:Z&&!P?V:null,refreshStarRating:z,onNextPage:e=>{m(v+1),H?.(e)},onPrevPage:e=>{m(v-1),q?.(e)},onPrimaryChange:(e,s)=>W?.(e,s),onSecondaryChange:(e,s)=>E?.(e,s)}),P&&i||null]})]})]})}var fe=(0,M.withLayout)(de);
1
+ "use strict";var $=Object.create;var u=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var ee=Object.getOwnPropertyNames;var te=Object.getPrototypeOf,oe=Object.prototype.hasOwnProperty;var re=(o,r)=>{for(var n in r)u(o,n,{get:r[n],enumerable:!0})},N=(o,r,n,f)=>{if(r&&typeof r=="object"||typeof r=="function")for(let l of ee(r))!oe.call(o,l)&&l!==n&&u(o,l,{get:()=>r[l],enumerable:!(f=j(r,l))||f.enumerable});return o};var y=(o,r,n)=>(n=o!=null?$(te(o)):{},N(r||!o||!o.__esModule?u(n,"default",{value:o,enumerable:!0}):n,o)),ne=o=>N(u({},"__esModule",{value:!0}),o);var ie={};re(ie,{default:()=>se});module.exports=ne(ie);var s=require("react/jsx-runtime"),L=y(require("./FilterList")),I=y(require("./FilterHeader")),K=y(require("./FilterCardWrap")),_=require("../../shared/Styles.js"),k=y(require("./component/TabFilter")),t=require("react"),i=require("./component/filtersFun");function ae(o){const{data:r,result:n={},allResult:f={},loadMore:l=null,metafields:c={},filterPrice:b={},isLoading:M=!1,refreshStarRating:A,onFilteredChange:F,onSortAndReverseChange:V,onPrimaryChange:z,onSecondaryChange:T,onNextPage:W,onPrevPage:E}=o,{shop_filters_pair:m}=c,{data:P}=(0,i.getComponentData)(c,"FilterProduct"),[p,H]=(0,t.useState)(!1),[q,x]=(0,t.useState)(!1),[B,G]=(0,t.useState)([]),[d,S]=(0,t.useState)({}),[h,J]=(0,t.useState)(0),[v,g]=(0,t.useState)(1),[Q,U]=(0,t.useState)(!1),X=(0,t.useRef)(null);(0,t.useMemo)(()=>{const e=m?.filter_txt?.sortList,[a,Z]=(0,i.handleSortKeyAndReverse)(e,h);V?.(a,Z)},[m?.filter_txt?.sortList,d,h]);const Y=e=>!e?.metafields?.seoSetting?.noindex,R=(0,t.useMemo)(()=>f?.products?.filter(Y)?.length||0,[f?.products]),C=(0,t.useMemo)(()=>(0,i.handleFilterOptions)(n,b,m,P),[b,n?.filters,m?.filter_txt?.offers?.name,m?.filter_txt?.offers?.onsale]),D=(0,t.useMemo)(()=>C?.length?C?.map?.(e=>({...e,options:e?.options?.map?.(a=>({...a,checked:d?.[e?.value]?.indexOf?.(a?.value)>-1}))})):[],[d,C]),O=e=>{S?.({}),e&&g(1),F?.((0,i.handleFilters)({}))},w=e=>{S(e),g(1),F?.((0,i.handleFilters)(e))};return(0,t.useEffect)(()=>{const a=(d?.offers||[])?.includes?.("onsale");U(a)},[d]),(0,s.jsxs)("div",{className:"size-full box-border",children:[(0,s.jsx)("div",{className:"laptop:mb-12 mb-6",children:(0,s.jsx)(k.default,{tabs:r?.tabItems,filtered:d,filtersPair:D,filtersData:P,metafields:c,onTabClick:e=>w(e)})}),(0,s.jsx)(I.default,{total:R||0,metafields:c,closeFilter:p,sortKeyIndx:h,shopifyData:r,onSortChange:J,onCloseFilter:H,onClearFiltered:()=>O(),onMobileOpenDrawer:x}),(0,s.jsxs)("div",{className:"flex-1 overflow-hidden tablet:flex desktop:gap-x-16 tablet:gap-x-8",children:[!p&&(0,s.jsx)(L.default,{shopifyData:r,filtered:d,openOptions:B,closeFilter:p,filtersPair:D,mobileDrawerVisible:q,onFilteredChange:w,onClearFiltered:()=>O(!1),onOpenOptions:G,onCloseDrawer:x}),(0,s.jsxs)("div",{className:"flex-1 overflow-y-auto relative",children:[(0,s.jsx)(K.default,{page:v,result:n,shopifyData:r,total:R,isSale:Q,ref:X,metafields:c,closeFilter:p,refreshStarRating:A,onNextPage:e=>{g(v+1),W?.(e)},onPrevPage:e=>{g(v-1),E?.(e)},onPrimaryChange:(e,a)=>z?.(e,a),onSecondaryChange:(e,a)=>T?.(e,a)}),M&&l||null]})]})]})}var se=(0,_.withLayout)(ae);
2
2
  //# sourceMappingURL=index.js.map