@anker-in/headless-ui 1.1.9-alpha.1765446497658 → 1.1.9-alpha.1765794787092
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.
- package/dist/cjs/biz-components/AiuiProvider/index.d.ts +1 -1
- package/dist/cjs/biz-components/AiuiProvider/index.js.map +1 -1
- package/dist/cjs/biz-components/CollectionShelves/CollectionShelvesItem.d.ts +4 -0
- package/dist/cjs/biz-components/CollectionShelves/CollectionShelvesItem.js +2 -0
- package/dist/cjs/biz-components/CollectionShelves/CollectionShelvesItem.js.map +7 -0
- package/dist/cjs/biz-components/CollectionShelves/index.d.ts +7 -0
- package/dist/cjs/biz-components/CollectionShelves/index.js +2 -0
- package/dist/cjs/biz-components/CollectionShelves/index.js.map +7 -0
- package/dist/cjs/biz-components/CollectionsBanner/index.d.ts +7 -0
- package/dist/cjs/biz-components/CollectionsBanner/index.js +2 -0
- package/dist/cjs/biz-components/CollectionsBanner/index.js.map +7 -0
- package/dist/cjs/biz-components/CollectionsBanner/types.d.ts +43 -0
- package/dist/cjs/biz-components/CollectionsBanner/types.js +2 -0
- package/dist/cjs/biz-components/CollectionsBanner/types.js.map +7 -0
- package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.d.ts +19 -0
- package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.js +2 -0
- package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.js.map +7 -0
- package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrapItem.d.ts +10 -0
- package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrapItem.js +2 -0
- package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrapItem.js.map +7 -0
- package/dist/cjs/biz-components/CollectionsFilters/FilterHeader.d.ts +13 -0
- package/dist/cjs/biz-components/CollectionsFilters/FilterHeader.js +2 -0
- package/dist/cjs/biz-components/CollectionsFilters/FilterHeader.js.map +7 -0
- package/dist/cjs/biz-components/CollectionsFilters/FilterList.d.ts +14 -0
- package/dist/cjs/biz-components/CollectionsFilters/FilterList.js +2 -0
- package/dist/cjs/biz-components/CollectionsFilters/FilterList.js.map +7 -0
- package/dist/cjs/biz-components/CollectionsFilters/component/AnimatedUL.d.ts +5 -0
- package/dist/cjs/biz-components/CollectionsFilters/component/AnimatedUL.js +2 -0
- package/dist/cjs/biz-components/CollectionsFilters/component/AnimatedUL.js.map +7 -0
- package/dist/cjs/biz-components/CollectionsFilters/component/TabFilter.d.ts +12 -0
- package/dist/cjs/biz-components/CollectionsFilters/component/TabFilter.js +2 -0
- package/dist/cjs/biz-components/CollectionsFilters/component/TabFilter.js.map +7 -0
- package/dist/cjs/biz-components/CollectionsFilters/component/filtersFun.d.ts +12 -0
- package/dist/cjs/biz-components/CollectionsFilters/component/filtersFun.js +2 -0
- package/dist/cjs/biz-components/CollectionsFilters/component/filtersFun.js.map +7 -0
- package/dist/cjs/biz-components/CollectionsFilters/component/helper.d.ts +81 -0
- package/dist/cjs/biz-components/CollectionsFilters/component/helper.js +2 -0
- package/dist/cjs/biz-components/CollectionsFilters/component/helper.js.map +7 -0
- package/dist/cjs/biz-components/CollectionsFilters/component/price.d.ts +25 -0
- package/dist/cjs/biz-components/CollectionsFilters/component/price.js +2 -0
- package/dist/cjs/biz-components/CollectionsFilters/component/price.js.map +7 -0
- package/dist/cjs/biz-components/CollectionsFilters/component/priceProps.d.ts +215 -0
- package/dist/cjs/biz-components/CollectionsFilters/component/priceProps.js +2 -0
- package/dist/cjs/biz-components/CollectionsFilters/component/priceProps.js.map +7 -0
- package/dist/cjs/biz-components/CollectionsFilters/index.d.ts +24 -0
- package/dist/cjs/biz-components/CollectionsFilters/index.js +2 -0
- package/dist/cjs/biz-components/CollectionsFilters/index.js.map +7 -0
- package/dist/cjs/biz-components/HeaderNavigation/index.d.ts +2 -5
- package/dist/cjs/biz-components/HeaderNavigation/index.js +1 -1
- package/dist/cjs/biz-components/HeaderNavigation/index.js.map +3 -3
- package/dist/cjs/biz-components/NavigationSearch/index.js +2 -2
- package/dist/cjs/biz-components/NavigationSearch/index.js.map +2 -2
- package/dist/cjs/biz-components/Paginator/index.d.ts +7 -0
- package/dist/cjs/biz-components/Paginator/index.js +7 -0
- package/dist/cjs/biz-components/Paginator/index.js.map +7 -0
- package/dist/cjs/biz-components/TextMarquee/index.d.ts +10 -0
- package/dist/cjs/biz-components/TextMarquee/index.js +2 -0
- package/dist/cjs/biz-components/TextMarquee/index.js.map +7 -0
- package/dist/cjs/biz-components/TextModal/index.js +1 -1
- package/dist/cjs/biz-components/TextModal/index.js.map +3 -3
- package/dist/cjs/biz-components/Title/types.js +1 -1
- package/dist/cjs/biz-components/Title/types.js.map +1 -1
- package/dist/cjs/biz-components/VideoModal/index.js +1 -1
- package/dist/cjs/biz-components/VideoModal/index.js.map +2 -2
- package/dist/cjs/biz-components/index.d.ts +9 -0
- package/dist/cjs/biz-components/index.js +1 -1
- package/dist/cjs/biz-components/index.js.map +3 -3
- package/dist/cjs/components/breadcrumb.d.ts +12 -0
- package/dist/cjs/components/breadcrumb.js +2 -0
- package/dist/cjs/components/breadcrumb.js.map +7 -0
- package/dist/cjs/components/index.d.ts +1 -0
- package/dist/cjs/components/index.js +1 -1
- package/dist/cjs/components/index.js.map +3 -3
- package/dist/cjs/helpers/utils.d.ts +1 -0
- package/dist/cjs/helpers/utils.js +1 -1
- package/dist/cjs/helpers/utils.js.map +3 -3
- package/dist/cjs/hooks/useRollout.d.ts +2 -2
- package/dist/cjs/hooks/useRollout.js +1 -1
- package/dist/cjs/hooks/useRollout.js.map +2 -2
- package/dist/esm/biz-components/AiuiProvider/index.d.ts +1 -1
- package/dist/esm/biz-components/AiuiProvider/index.js.map +1 -1
- package/dist/esm/biz-components/CollectionShelves/CollectionShelvesItem.d.ts +4 -0
- package/dist/esm/biz-components/CollectionShelves/CollectionShelvesItem.js +2 -0
- package/dist/esm/biz-components/CollectionShelves/CollectionShelvesItem.js.map +7 -0
- package/dist/esm/biz-components/CollectionShelves/index.d.ts +7 -0
- package/dist/esm/biz-components/CollectionShelves/index.js +2 -0
- package/dist/esm/biz-components/CollectionShelves/index.js.map +7 -0
- package/dist/esm/biz-components/CollectionsBanner/index.d.ts +7 -0
- package/dist/esm/biz-components/CollectionsBanner/index.js +2 -0
- package/dist/esm/biz-components/CollectionsBanner/index.js.map +7 -0
- package/dist/esm/biz-components/CollectionsBanner/types.d.ts +43 -0
- package/dist/esm/biz-components/CollectionsBanner/types.js +1 -0
- package/dist/esm/biz-components/CollectionsBanner/types.js.map +7 -0
- package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.d.ts +19 -0
- package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.js +2 -0
- package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.js.map +7 -0
- package/dist/esm/biz-components/CollectionsFilters/FilterCardWrapItem.d.ts +10 -0
- package/dist/esm/biz-components/CollectionsFilters/FilterCardWrapItem.js +2 -0
- package/dist/esm/biz-components/CollectionsFilters/FilterCardWrapItem.js.map +7 -0
- package/dist/esm/biz-components/CollectionsFilters/FilterHeader.d.ts +13 -0
- package/dist/esm/biz-components/CollectionsFilters/FilterHeader.js +2 -0
- package/dist/esm/biz-components/CollectionsFilters/FilterHeader.js.map +7 -0
- package/dist/esm/biz-components/CollectionsFilters/FilterList.d.ts +14 -0
- package/dist/esm/biz-components/CollectionsFilters/FilterList.js +2 -0
- package/dist/esm/biz-components/CollectionsFilters/FilterList.js.map +7 -0
- package/dist/esm/biz-components/CollectionsFilters/component/AnimatedUL.d.ts +5 -0
- package/dist/esm/biz-components/CollectionsFilters/component/AnimatedUL.js +2 -0
- package/dist/esm/biz-components/CollectionsFilters/component/AnimatedUL.js.map +7 -0
- package/dist/esm/biz-components/CollectionsFilters/component/TabFilter.d.ts +12 -0
- package/dist/esm/biz-components/CollectionsFilters/component/TabFilter.js +2 -0
- package/dist/esm/biz-components/CollectionsFilters/component/TabFilter.js.map +7 -0
- package/dist/esm/biz-components/CollectionsFilters/component/filtersFun.d.ts +12 -0
- package/dist/esm/biz-components/CollectionsFilters/component/filtersFun.js +2 -0
- package/dist/esm/biz-components/CollectionsFilters/component/filtersFun.js.map +7 -0
- package/dist/esm/biz-components/CollectionsFilters/component/helper.d.ts +81 -0
- package/dist/esm/biz-components/CollectionsFilters/component/helper.js +2 -0
- package/dist/esm/biz-components/CollectionsFilters/component/helper.js.map +7 -0
- package/dist/esm/biz-components/CollectionsFilters/component/price.d.ts +25 -0
- package/dist/esm/biz-components/CollectionsFilters/component/price.js +2 -0
- package/dist/esm/biz-components/CollectionsFilters/component/price.js.map +7 -0
- package/dist/esm/biz-components/CollectionsFilters/component/priceProps.d.ts +215 -0
- package/dist/esm/biz-components/CollectionsFilters/component/priceProps.js +2 -0
- package/dist/esm/biz-components/CollectionsFilters/component/priceProps.js.map +7 -0
- package/dist/esm/biz-components/CollectionsFilters/index.d.ts +24 -0
- package/dist/esm/biz-components/CollectionsFilters/index.js +2 -0
- package/dist/esm/biz-components/CollectionsFilters/index.js.map +7 -0
- package/dist/esm/biz-components/HeaderNavigation/index.d.ts +2 -5
- package/dist/esm/biz-components/HeaderNavigation/index.js +1 -1
- package/dist/esm/biz-components/HeaderNavigation/index.js.map +3 -3
- package/dist/esm/biz-components/NavigationSearch/index.js +2 -2
- package/dist/esm/biz-components/NavigationSearch/index.js.map +2 -2
- package/dist/esm/biz-components/Paginator/index.d.ts +7 -0
- package/dist/esm/biz-components/Paginator/index.js +7 -0
- package/dist/esm/biz-components/Paginator/index.js.map +7 -0
- package/dist/esm/biz-components/TextMarquee/index.d.ts +10 -0
- package/dist/esm/biz-components/TextMarquee/index.js +2 -0
- package/dist/esm/biz-components/TextMarquee/index.js.map +7 -0
- package/dist/esm/biz-components/TextModal/index.js +1 -1
- package/dist/esm/biz-components/TextModal/index.js.map +2 -2
- package/dist/esm/biz-components/VideoModal/index.js +1 -1
- package/dist/esm/biz-components/VideoModal/index.js.map +2 -2
- package/dist/esm/biz-components/index.d.ts +9 -0
- package/dist/esm/biz-components/index.js +1 -1
- package/dist/esm/biz-components/index.js.map +2 -2
- package/dist/esm/components/breadcrumb.d.ts +12 -0
- package/dist/esm/components/breadcrumb.js +2 -0
- package/dist/esm/components/breadcrumb.js.map +7 -0
- package/dist/esm/components/index.d.ts +1 -0
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/index.js.map +2 -2
- package/dist/esm/helpers/utils.d.ts +1 -0
- package/dist/esm/helpers/utils.js +1 -1
- package/dist/esm/helpers/utils.js.map +3 -3
- package/dist/esm/hooks/useRollout.d.ts +2 -2
- package/dist/esm/hooks/useRollout.js +1 -1
- package/dist/esm/hooks/useRollout.js.map +3 -3
- package/package.json +1 -1
- package/style.css +23 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/biz-components/CollectionsFilters/component/priceProps.ts"],
|
|
4
|
+
"sourcesContent": ["export enum RuleType {\n AUTO_FREE_GIFT = 1, // \u81EA\u52A8\u8D60\u54C1\n BUNDLE = 2, // \u7EC4\u5408\n VOLUME_DISCOUNT = 3, // \u91CF\u4EF7\u6298\u6263\n ORDER_DISCOUNT = 4, // \u8BA2\u5355\u6298\u6263\n PRICE_DISCOUNT = 5, // \u4EF7\u683C\u6298\u6263\n}\n\nexport type FunctionMemberPriceResult = {\n // \u662F\u5426\u5305\u542B\u4F1A\u5458\u4EF7\n hasMemberPrice: boolean\n // \u662F\u5426\u53EF\u4EE5\u53E0\u52A0\u5238\n useCoupon: boolean\n // \u539F\u4EF7\n originalPrice: number\n // \u539F\u4EF7\u5E26\u8D27\u5E01\u7B26\u53F7\n originalPriceWithCurrency: string\n // \u6298\u540E\u4EF7\n salePrice: number\n // \u6298\u540E\u4EF7\u5E26\u8D27\u5E01\u7B26\u53F7\n salePriceWithCurrency: string\n // \u4E0D\u4F7F\u7528\u5238\u7684\u6298\u540E\u4EF7\n salePriceWithoutCoupon: number\n // \u4E0D\u4F7F\u7528\u5238\u7684\u6298\u540E\u4EF7\u5E26\u8D27\u5E01\u7B26\u53F7\n salePriceWithoutCouponWithCurrency: string\n // \u5305\u542B\u4F7F\u7528\u5238\u7684\u8282\u7701\u91D1\u989D\n savePrice: number\n // \u5305\u542B\u4F7F\u7528\u5238\u7684\u8282\u7701\u91D1\u989D\u5E26\u8D27\u5E01\u7B26\u53F7\n savePriceWithCurrency: string\n // \u4E0D\u4F7F\u7528\u5238\u7684\u8282\u7701\u91D1\u989D\n savePriceWithoutCoupon: number\n // \u4E0D\u4F7F\u7528\u5238\u7684\u8282\u7701\u91D1\u989D\u5E26\u8D27\u5E01\u7B26\u53F7\n savePriceWithoutCouponWithCurrency: string\n}\n\nexport enum ProductionsCombination {\n SAME_PRODUCT, // \u76F8\u540C\u4EA7\u54C1\n SAME_VARIANT, // \u76F8\u540C\u53D8\u4F53\n MIX_MATCH, // \u7EC4\u5408\n}\n\nexport enum DiscountOptions {\n MINIMUM_QUANTITY = 1,\n FIXED_QUANTITY,\n TIERED_QUANTITY,\n}\n\nexport enum DISCOUNT_TYPE {\n PERCENTAGE = 1, // \u767E\u5206\u6BD4\n FIXED_AMOUNT, // \u56FA\u5B9A\u91D1\u989D\n FIXED_PRICE, // \u56FA\u5B9A\u4EF7\u683C\n}\n\nexport enum ROUND_SELECTED {\n ROUND_HIGHEST = 1, // \u5411\u4E0A\u53D6\u6574\n ROUND_LOWEST, // \u5411\u4E0B\u53D6\u6574\n ROUND_NEAREST, // \u56DB\u820D\u4E94\u5165\n}\n\nexport enum DISCOUNT_BASE_TYPE {\n CURRENT_PRICE = 1, // \u6298\u540E\u4EF7\n COMPARE_AT_PRICE = 2, // \u5404\u6E20\u9053\u62C9\u9F50\u7684\u539F\u4EF7\n}\n\nexport type TieredDiscount = {\n quantity: number //\u6570\u91CF\n discount: number //\u6298\u6263\n discount_type: DISCOUNT_TYPE\n}\n\n// \u5B9A\u4E49\u53D8\u4F53\u9879\u7C7B\u578B\ntype VariantItem = {\n variant_id: string // \u53D8\u4F53ID\n sku: string // \u5E93\u5B58\u5355\u4F4D\n handle: string // \u5904\u7406\u6807\u8BC6\n}\n\n// \u5B9A\u4E49\u89C4\u5219\u6761\u4EF6\u7C7B\u578B\nexport type RuleCondition = {\n with_special_url_params: string[] // \u5305\u542B\u7279\u6B8AURL\u53C2\u6570\n without_special_url_params: string[] // \u4E0D\u5305\u542B\u7279\u6B8AURL\u53C2\u6570\n with_user_tags: string[] // \u5305\u542B\u7528\u6237\u6807\u7B7E\n without_user_tags: string[] // \u4E0D\u5305\u542B\u7528\u6237\u6807\u7B7E\n}\n\n// \u4EF7\u683C\u8BA1\u7B97\u914D\u7F6E\uFF0C\u5C0F\u6570\u4F4D\u53D6\u820D\u89C4\u5219\nexport type DiscountConfig = {\n discount_type: DISCOUNT_TYPE\n discount_value: number\n price_ending_conf: {\n apply_price_ending: boolean\n conf_one_decimal_place: boolean\n conf_two_decimal_place: false\n one_decimal_place: number\n two_decimal_place: number\n round_selected: ROUND_SELECTED\n }\n}\n\n// function \u6298\u6263\u7C7B\u578B\u914D\u7F6E\u7684\u57FA\u7840\u7C7B\u578B\nexport type FunctionDiscountConfig = {\n // \u89C4\u5219ID\n rule_id: number\n // \u89C4\u5219\u7C7B\u578B\n rule_type: RuleType\n // \u6298\u6263\u6807\u7B7E\n discount_labels: {\n // \u8D2D\u7269\u8F66\u7ED3\u8D26\u6807\u7B7E\n cart_checkout_label: string\n // \u4EA7\u54C1\u6807\u7B7E\n product_label: string\n // \u552E\u7F44\u6807\u7B7E\n sold_out_label: string\n }\n // \u6298\u6263\u53EF\u7EC4\u5408\u89C4\u5219\n discount_combinations: {\n // \u662F\u5426\u4E0E\u5176\u4ED6\u8BA2\u5355\u6298\u6263\u7EC4\u5408\n other_order_discounts: boolean\n // \u662F\u5426\u4E0E\u5176\u4ED6\u4EA7\u54C1\u6298\u6263\u7EC4\u5408\n other_product_discounts: boolean\n // \u662F\u5426\u4E0E\u5176\u4ED6\u8FD0\u8D39\u6298\u6263\u7EC4\u5408\n shipping_discounts: boolean\n }\n // \u89C4\u5219\u6761\u4EF6\n rule_conditions: RuleCondition[]\n}\n\n// \u9636\u68AF\u6298\u6263\u7C7B\u578B\u914D\u7F6E\uFF08\u5C0Fb\uFF09\nexport type VolumeConfig = {\n // \u89C4\u5219\u7ED3\u679C\n result_detail: {\n //\u4EA7\u54C1\u53E0\u52A0\u8BA1\u6570\u89C4\u5219\n productions_combination: ProductionsCombination\n //\u6298\u6263\u5E94\u7528\u65B9\u5F0F\n discount_options: DiscountOptions\n //\u4E0D\u5305\u542B\u5B9A\u5236\u5316\u4EF7\u683C\n discount_exclude_customed_price: boolean //false.\u6298\u6263\u4E0D\u6392\u9664\u5B9A\u5236\u5316\u4EF7\u683C true.\u6298\u6263\u6392\u9664\u5B9A\u5236\u5316\u4EF7\u683C\n //\u6298\u6263\u9636\u68AF\u5217\u8868\uFF08\u5012\u5E8F\uFF0C\u4ECE\u5927\u5230\u5C0F\uFF09\n tiered_discounts: TieredDiscount[]\n main_product: {\n variant_list: VariantItem[] // \u53D8\u4F53\u5217\u8868\n all_store_variant: boolean // \u6240\u6709\u5546\u5E97\u53D8\u4F53\n }\n }\n} & FunctionDiscountConfig\n\nexport type FunctionMemberPriceConfig = {\n // \u89C4\u5219\u7ED3\u679C\n result_detail: {\n member_discounts: {\n main_products: {\n // \u6307\u5B9A\u751F\u6548\u7684 variant\n variants: {\n variant_id: string\n sku: string\n handle: string\n discount_value: number\n }[]\n // \u4E0D\u751F\u6548\u7684 variant\n skip_variants: {\n variant_id: string\n sku: string\n handle: string\n discount_value: number\n }[]\n // \u751F\u6548\u7684 variant \u7684\u52A8\u6001\u914D\u7F6E\u89C4\u5219\n dynamic_conf: {\n // \u5728\u6307\u5B9A collection \u4E2D\n in_collections?: string[]\n // \u4E0D\u5728\u6307\u5B9A collection \u4E2D\n not_in_collections?: string[]\n // \u5728\u6307\u5B9A\u4EA7\u54C1\u4E2D\n in_products?: string[]\n // \u4E0D\u5728\u6307\u5B9A\u4EA7\u54C1\u4E2D\n not_in_products?: string[]\n // SKU\u540D\u79F0\u89C4\u5219\n SKU: {\n // \u5FC5\u987B\u5728\u6307\u5B9ASKU\u8303\u56F4\u5185\n in?: string[]\n // \u5FC5\u987B\u4E0D\u5728\u6307\u5B9ASKU\u8303\u56F4\u5185\n not_in?: string[]\n // \u5FC5\u987B\u4EE5\u6307\u5B9A\u5B57\u7B26\u4E32\u5F00\u5934\n start_with?: string\n // \u5FC5\u987B\u4E0D\u4EE5\u6307\u5B9A\u5B57\u7B26\u4E32\u5F00\u5934\n notstart_with?: string\n // \u5FC5\u987B\u4EE5\u6307\u5B9A\u5B57\u7B26\u4E32\u7ED3\u675F\n end_with?: string\n // \u5FC5\u987B\u4E0D\u4EE5\u6307\u5B9A\u5B57\u7B26\u4E32\u7ED3\u675F\n unend_with?: string\n // \u5FC5\u987B\u5305\u542B\u6307\u5B9A\u5B57\u7B26\u4E32\n contain?: string\n // \u5FC5\u987B\u4E0D\u5305\u542B\u6307\u5B9A\u5B57\u7B26\u4E32\n uncontain?: string\n }\n }\n all_store_variant: boolean\n }\n discount_conf: DiscountConfig\n }[]\n limit_discount_max: number\n }\n} & FunctionDiscountConfig\n\n// \u76F4\u964D\u6298\u6263\nexport type PriceDiscountConfig = FunctionDiscountConfig & {\n result_detail: {\n main_product: {\n variant_list: {\n variant_id: string\n sku: string\n handle: string\n }[]\n all_store_variant: boolean\n }\n price_conf: {\n discount_type: DISCOUNT_TYPE\n discount_base: DISCOUNT_BASE_TYPE\n discount_amount: number\n price_ending_conf: {\n apply_price_ending: false\n one_decimal_place: number\n two_decimal_place: number\n round_selected: ROUND_SELECTED\n }\n }\n }\n}\n\nexport type ProductImage = {\n url: string\n alt?: string\n}\n\nexport type ProductOption = {\n __typename?: 'MultipleChoiceOption'\n id: string\n displayName: string\n values: ProductOptionValues[]\n}\n\nexport type ProductOptionValues = {\n label: string\n hexColors?: string[]\n}\n\nexport type ProductVariant = {\n id: string | number\n options: ProductOption[]\n availableForSale?: boolean\n quantityAvailable: number\n metafields?: Record<string, any>\n [key: string]: any\n}\n\nexport type ProductPrice = {\n value: number\n currencyCode?: 'USD' | 'EUR' | 'ARS' | string\n retailPrice?: number\n salePrice?: number\n listPrice?: number\n extendedSalePrice?: number\n extendedListPrice?: number\n}\n\nexport type Product = any & {\n id: string\n name: string\n description: string\n descriptionHtml?: string\n productType?: string\n sku?: string\n slug?: string\n handle?: string\n path?: string\n images: ProductImage[]\n variants: ProductVariant[]\n price: ProductPrice\n listPrice?: number\n options: ProductOption[]\n preRender?: string\n seo?: any\n metafields?: { [key: string]: any }\n}\n"],
|
|
5
|
+
"mappings": "yaAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,EAAA,kBAAAC,EAAA,oBAAAC,EAAA,2BAAAC,EAAA,mBAAAC,EAAA,aAAAC,IAAA,eAAAC,EAAAR,GAAO,IAAKO,OACVA,IAAA,eAAiB,GAAjB,iBACAA,IAAA,OAAS,GAAT,SACAA,IAAA,gBAAkB,GAAlB,kBACAA,IAAA,eAAiB,GAAjB,iBACAA,IAAA,eAAiB,GAAjB,iBALUA,OAAA,IAmCAF,OACVA,IAAA,+BACAA,IAAA,+BACAA,IAAA,yBAHUA,OAAA,IAMAD,OACVA,IAAA,iBAAmB,GAAnB,mBACAA,IAAA,mCACAA,IAAA,qCAHUA,OAAA,IAMAD,OACVA,IAAA,WAAa,GAAb,aACAA,IAAA,+BACAA,IAAA,6BAHUA,OAAA,IAMAG,OACVA,IAAA,cAAgB,GAAhB,gBACAA,IAAA,+BACAA,IAAA,iCAHUA,OAAA,IAMAJ,OACVA,IAAA,cAAgB,GAAhB,gBACAA,IAAA,iBAAmB,GAAnB,mBAFUA,OAAA",
|
|
6
|
+
"names": ["priceProps_exports", "__export", "DISCOUNT_BASE_TYPE", "DISCOUNT_TYPE", "DiscountOptions", "ProductionsCombination", "ROUND_SELECTED", "RuleType", "__toCommonJS"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
type CollectionsFiltersProps = {
|
|
3
|
+
metafields: any;
|
|
4
|
+
result: any;
|
|
5
|
+
allResult: any;
|
|
6
|
+
pageSize?: number;
|
|
7
|
+
filterPrice: any;
|
|
8
|
+
isLoading?: boolean;
|
|
9
|
+
refreshStarRating?: () => void;
|
|
10
|
+
loadMore?: React.ReactNode;
|
|
11
|
+
noResultNode?: React.ReactNode;
|
|
12
|
+
data?: any;
|
|
13
|
+
onNextPage?: (v: string) => void;
|
|
14
|
+
onPrevPage?: (v: string) => void;
|
|
15
|
+
onFilteredChange?: (filtered: any) => void;
|
|
16
|
+
onSortAndReverseChange?: (sortKey: string, reverse: boolean) => void;
|
|
17
|
+
onPrimaryChange?: (item: any, sku: string) => void;
|
|
18
|
+
onSecondaryChange?: (item: any, sku: string) => void;
|
|
19
|
+
};
|
|
20
|
+
declare const _default: import("react").ForwardRefExoticComponent<Omit<CollectionsFiltersProps, keyof import("../../shared/Styles.js").StylesProps> & Partial<import("../../shared/Styles.js").StylesProps & import("../../shared/Styles.js").ContainerProps> & {
|
|
21
|
+
className?: string | undefined;
|
|
22
|
+
data?: Record<string, any> | undefined;
|
|
23
|
+
} & import("react").RefAttributes<any>>;
|
|
24
|
+
export default _default;
|
|
@@ -0,0 +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.js")),_=h(require("./FilterHeader.js")),k=h(require("./FilterCardWrap.js")),M=require("../../shared/Styles.js"),A=h(require("./component/TabFilter.js")),t=require("react"),l=require("./component/filtersFun.js");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:"box-border size-full",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:"tablet:flex desktop:gap-x-16 tablet:gap-x-8 flex-1 overflow-hidden",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:"relative flex-1 overflow-y-auto",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);
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/CollectionsFilters/index.tsx"],
|
|
4
|
+
"sourcesContent": ["import FilterList from './FilterList.js'\nimport FilterHeader from './FilterHeader.js'\nimport FilterCardWrap from './FilterCardWrap.js'\nimport { withLayout } from '../../shared/Styles.js'\nimport TabFilter from './component/TabFilter.js'\nimport { useState, useMemo, useEffect, useRef } from 'react'\nimport {\n handleSortKeyAndReverse,\n handleFilters,\n handleFilterOptions,\n getComponentData,\n} from './component/filtersFun.js'\n\ntype CollectionsFiltersProps = {\n metafields: any\n result: any\n allResult: any\n pageSize?: number\n filterPrice: any\n isLoading?: boolean\n refreshStarRating?: () => void\n loadMore?: React.ReactNode\n noResultNode?: React.ReactNode\n data?: any\n onNextPage?: (v: string) => void\n onPrevPage?: (v: string) => void\n onFilteredChange?: (filtered: any) => void\n onSortAndReverseChange?: (sortKey: string, reverse: boolean) => void\n onPrimaryChange?: (item: any, sku: string) => void\n onSecondaryChange?: (item: any, sku: string) => void\n}\nfunction CollectionsFilters(props: CollectionsFiltersProps) {\n const {\n data,\n result = {},\n allResult = {},\n loadMore = null,\n noResultNode = null,\n metafields = {},\n filterPrice = {},\n isLoading = false,\n refreshStarRating,\n onFilteredChange,\n onSortAndReverseChange,\n onPrimaryChange,\n onSecondaryChange,\n onNextPage,\n onPrevPage,\n } = props\n\n const { shop_filters_pair } = metafields\n\n const { data: filterProductData } = getComponentData(metafields, 'FilterProduct')\n\n const [closeFilter, setCloseFilter] = useState<boolean>(false)\n const [mobileDrawerVisible, setMobileDrawerVisible] = useState<boolean>(false) // \u79FB\u52A8\u7AEF\u7B5B\u9009\u9009\u9879\u5C55\u793A\u72B6\u6001\n const [openOptions, setOpenOptions] = useState<any[]>([]) // \u5C55\u5F00\u7684\u7B5B\u9009\u9879\n const [filtered, setFiltered] = useState<any>({}) // \u9009\u62E9\u7684\u7B5B\u9009\u9009\u9879\n const [sortKeyIndx, setSortKeyIndx] = useState<number>(0) // \u6392\u5E8F\u65B9\u5F0F\n const [currentPage, setCurrentPage] = useState<number>(1)\n const [isSale, setIsSale] = useState<boolean>(false)\n const [isRefresh, setIsRefresh] = useState<boolean>(false)\n\n const filterCardWrapRef = useRef<any>(null)\n const initRefresh = useRef<boolean>(false)\n\n // \u5904\u7406\u6392\u5E8F\u6570\u636E\n useMemo(() => {\n const sortList = shop_filters_pair?.filter_txt?.sortList\n const [sortKey, reverse] = handleSortKeyAndReverse(sortList, sortKeyIndx)\n onSortAndReverseChange?.(sortKey, reverse)\n }, [shop_filters_pair?.filter_txt?.sortList, filtered, sortKeyIndx])\n\n const hasNoIndex = (product: { metafields: { seoSetting: { noindex: any } } }) => {\n return !product?.metafields?.seoSetting?.noindex\n }\n const totalCount = useMemo(() => {\n return allResult?.products?.filter(hasNoIndex)?.length || 0\n }, [allResult?.products])\n\n // \u5904\u7406\u7B5B\u9009\u9879\u6570\u636E\n const filtersOptions = useMemo(() => {\n return handleFilterOptions(result, filterPrice, shop_filters_pair, filterProductData)\n }, [\n filterPrice,\n result?.filters,\n shop_filters_pair?.filter_txt?.offers?.name,\n shop_filters_pair?.filter_txt?.offers?.onsale,\n ])\n\n const filtersPair = useMemo(() => {\n if (!filtersOptions?.length) return []\n return filtersOptions?.map?.((filter: any) => {\n return {\n ...filter,\n options: filter?.options?.map?.((opt: any) => {\n return {\n ...opt,\n checked: filtered?.[filter?.value]?.indexOf?.(opt?.value) > -1,\n }\n }),\n }\n })\n }, [filtered, filtersOptions])\n\n const clearFiltered = (flag?: boolean) => {\n setFiltered?.({})\n if (flag) {\n setCurrentPage(1)\n }\n onFilteredChange?.(handleFilters({}))\n }\n\n const filterChange = (v: any) => {\n setFiltered(v)\n setCurrentPage(1)\n onFilteredChange?.(handleFilters(v))\n }\n\n useEffect(() => {\n const offers = filtered?.offers || []\n const isShowSale = offers?.includes?.('onsale')\n setIsSale(isShowSale)\n }, [filtered])\n\n useEffect(() => {\n if (!initRefresh.current && result?.products?.length) {\n initRefresh.current = true\n }\n if (initRefresh.current) {\n setIsRefresh(true)\n }\n }, [result?.products])\n\n return (\n <div className=\"box-border size-full\">\n {/* \u5934\u90E8 */}\n <div className=\"laptop:mb-12 mb-6\">\n <TabFilter\n tabs={data?.tabItems}\n filtered={filtered}\n filtersPair={filtersPair}\n filtersData={filterProductData}\n metafields={metafields}\n onTabClick={v => filterChange(v)}\n />\n </div>\n <FilterHeader\n total={totalCount || 0}\n metafields={metafields}\n closeFilter={closeFilter}\n sortKeyIndx={sortKeyIndx}\n shopifyData={data}\n onSortChange={setSortKeyIndx}\n onCloseFilter={setCloseFilter}\n onClearFiltered={() => clearFiltered()}\n onMobileOpenDrawer={setMobileDrawerVisible}\n />\n {/* PC\u7B5B\u9009\u9009\u9879 */}\n <div className=\"tablet:flex desktop:gap-x-16 tablet:gap-x-8 flex-1 overflow-hidden\">\n {!closeFilter && (\n <FilterList\n shopifyData={data}\n filtered={filtered}\n openOptions={openOptions}\n closeFilter={closeFilter}\n filtersPair={filtersPair}\n mobileDrawerVisible={mobileDrawerVisible}\n onFilteredChange={filterChange}\n onClearFiltered={() => clearFiltered(false)}\n onOpenOptions={setOpenOptions}\n onCloseDrawer={setMobileDrawerVisible}\n />\n )}\n <div className=\"relative flex-1 overflow-y-auto\">\n <FilterCardWrap\n page={currentPage}\n result={result}\n shopifyData={data}\n total={totalCount}\n isSale={isSale}\n ref={filterCardWrapRef}\n metafields={metafields}\n closeFilter={closeFilter}\n noResultNode={isRefresh && !isLoading ? noResultNode : null}\n refreshStarRating={refreshStarRating}\n onNextPage={v => {\n setCurrentPage(currentPage + 1)\n onNextPage?.(v)\n }}\n onPrevPage={v => {\n setCurrentPage(currentPage - 1)\n onPrevPage?.(v)\n }}\n onPrimaryChange={(e, data) => onPrimaryChange?.(e, data)}\n onSecondaryChange={(e, data) => onSecondaryChange?.(e, data)}\n />\n {isLoading ? loadMore || null : null}\n </div>\n </div>\n </div>\n )\n}\n\nexport default withLayout(CollectionsFilters)\n"],
|
|
5
|
+
"mappings": "skBAAA,IAAAA,GAAA,GAAAC,GAAAD,GAAA,aAAAE,KAAA,eAAAC,GAAAH,IA0IQ,IAAAI,EAAA,6BA1IRC,EAAuB,8BACvBC,EAAyB,gCACzBC,EAA2B,kCAC3BC,EAA2B,kCAC3BC,EAAsB,uCACtBC,EAAqD,iBACrDC,EAKO,qCAoBP,SAASC,GAAmBC,EAAgC,CAC1D,KAAM,CACJ,KAAAC,EACA,OAAAC,EAAS,CAAC,EACV,UAAAC,EAAY,CAAC,EACb,SAAAC,EAAW,KACX,aAAAC,EAAe,KACf,WAAAC,EAAa,CAAC,EACd,YAAAC,EAAc,CAAC,EACf,UAAAC,EAAY,GACZ,kBAAAC,EACA,iBAAAC,EACA,uBAAAC,EACA,gBAAAC,EACA,kBAAAC,EACA,WAAAC,EACA,WAAAC,CACF,EAAIf,EAEE,CAAE,kBAAAgB,CAAkB,EAAIV,EAExB,CAAE,KAAMW,CAAkB,KAAI,oBAAiBX,EAAY,eAAe,EAE1E,CAACY,EAAaC,CAAc,KAAI,YAAkB,EAAK,EACvD,CAACC,EAAqBC,CAAsB,KAAI,YAAkB,EAAK,EACvE,CAACC,EAAaC,CAAc,KAAI,YAAgB,CAAC,CAAC,EAClD,CAACC,EAAUC,CAAW,KAAI,YAAc,CAAC,CAAC,EAC1C,CAACC,EAAaC,CAAc,KAAI,YAAiB,CAAC,EAClD,CAACC,EAAaC,CAAc,KAAI,YAAiB,CAAC,EAClD,CAACC,EAAQC,CAAS,KAAI,YAAkB,EAAK,EAC7C,CAACC,EAAWC,CAAY,KAAI,YAAkB,EAAK,EAEnDC,KAAoB,UAAY,IAAI,EACpCC,KAAc,UAAgB,EAAK,KAGzC,WAAQ,IAAM,CACZ,MAAMC,EAAWpB,GAAmB,YAAY,SAC1C,CAACqB,EAASC,EAAO,KAAI,2BAAwBF,EAAUV,CAAW,EACxEf,IAAyB0B,EAASC,EAAO,CAC3C,EAAG,CAACtB,GAAmB,YAAY,SAAUQ,EAAUE,CAAW,CAAC,EAEnE,MAAMa,GAAcC,GACX,CAACA,GAAS,YAAY,YAAY,QAErCC,KAAa,WAAQ,IAClBtC,GAAW,UAAU,OAAOoC,EAAU,GAAG,QAAU,EACzD,CAACpC,GAAW,QAAQ,CAAC,EAGlBuC,KAAiB,WAAQ,OACtB,uBAAoBxC,EAAQK,EAAaS,EAAmBC,CAAiB,EACnF,CACDV,EACAL,GAAQ,QACRc,GAAmB,YAAY,QAAQ,KACvCA,GAAmB,YAAY,QAAQ,MACzC,CAAC,EAEK2B,KAAc,WAAQ,IACrBD,GAAgB,OACdA,GAAgB,MAAOE,IACrB,CACL,GAAGA,EACH,QAASA,GAAQ,SAAS,MAAOC,IACxB,CACL,GAAGA,EACH,QAASrB,IAAWoB,GAAQ,KAAK,GAAG,UAAUC,GAAK,KAAK,EAAI,EAC9D,EACD,CACH,EACD,EAXmC,CAAC,EAYpC,CAACrB,EAAUkB,CAAc,CAAC,EAEvBI,EAAiBC,GAAmB,CACxCtB,IAAc,CAAC,CAAC,EACZsB,GACFlB,EAAe,CAAC,EAElBnB,OAAmB,iBAAc,CAAC,CAAC,CAAC,CACtC,EAEMsC,EAAgBC,GAAW,CAC/BxB,EAAYwB,CAAC,EACbpB,EAAe,CAAC,EAChBnB,OAAmB,iBAAcuC,CAAC,CAAC,CACrC,EAEA,sBAAU,IAAM,CAEd,MAAMC,GADS1B,GAAU,QAAU,CAAC,IACT,WAAW,QAAQ,EAC9CO,EAAUmB,CAAU,CACtB,EAAG,CAAC1B,CAAQ,CAAC,KAEb,aAAU,IAAM,CACV,CAACW,EAAY,SAAWjC,GAAQ,UAAU,SAC5CiC,EAAY,QAAU,IAEpBA,EAAY,SACdF,EAAa,EAAI,CAErB,EAAG,CAAC/B,GAAQ,QAAQ,CAAC,KAGnB,QAAC,OAAI,UAAU,uBAEb,oBAAC,OAAI,UAAU,oBACb,mBAAC,EAAAiD,QAAA,CACC,KAAMlD,GAAM,SACZ,SAAUuB,EACV,YAAamB,EACb,YAAa1B,EACb,WAAYX,EACZ,WAAY2C,GAAKD,EAAaC,CAAC,EACjC,EACF,KACA,OAAC,EAAAG,QAAA,CACC,MAAOX,GAAc,EACrB,WAAYnC,EACZ,YAAaY,EACb,YAAaQ,EACb,YAAazB,EACb,aAAc0B,EACd,cAAeR,EACf,gBAAiB,IAAM2B,EAAc,EACrC,mBAAoBzB,EACtB,KAEA,QAAC,OAAI,UAAU,qEACZ,WAACH,MACA,OAAC,EAAAmC,QAAA,CACC,YAAapD,EACb,SAAUuB,EACV,YAAaF,EACb,YAAaJ,EACb,YAAayB,EACb,oBAAqBvB,EACrB,iBAAkB4B,EAClB,gBAAiB,IAAMF,EAAc,EAAK,EAC1C,cAAevB,EACf,cAAeF,EACjB,KAEF,QAAC,OAAI,UAAU,kCACb,oBAAC,EAAAiC,QAAA,CACC,KAAM1B,EACN,OAAQ1B,EACR,YAAaD,EACb,MAAOwC,EACP,OAAQX,EACR,IAAKI,EACL,WAAY5B,EACZ,YAAaY,EACb,aAAcc,GAAa,CAACxB,EAAYH,EAAe,KACvD,kBAAmBI,EACnB,WAAYwC,GAAK,CACfpB,EAAeD,EAAc,CAAC,EAC9Bd,IAAamC,CAAC,CAChB,EACA,WAAYA,GAAK,CACfpB,EAAeD,EAAc,CAAC,EAC9Bb,IAAakC,CAAC,CAChB,EACA,gBAAiB,CAAC,EAAGhD,IAASW,IAAkB,EAAGX,CAAI,EACvD,kBAAmB,CAAC,EAAGA,IAASY,IAAoB,EAAGZ,CAAI,EAC7D,EACCO,GAAYJ,GAAY,MAC3B,GACF,GACF,CAEJ,CAEA,IAAOf,MAAQ,cAAWU,EAAkB",
|
|
6
|
+
"names": ["CollectionsFilters_exports", "__export", "CollectionsFilters_default", "__toCommonJS", "import_jsx_runtime", "import_FilterList", "import_FilterHeader", "import_FilterCardWrap", "import_Styles", "import_TabFilter", "import_react", "import_filtersFun", "CollectionsFilters", "props", "data", "result", "allResult", "loadMore", "noResultNode", "metafields", "filterPrice", "isLoading", "refreshStarRating", "onFilteredChange", "onSortAndReverseChange", "onPrimaryChange", "onSecondaryChange", "onNextPage", "onPrevPage", "shop_filters_pair", "filterProductData", "closeFilter", "setCloseFilter", "mobileDrawerVisible", "setMobileDrawerVisible", "openOptions", "setOpenOptions", "filtered", "setFiltered", "sortKeyIndx", "setSortKeyIndx", "currentPage", "setCurrentPage", "isSale", "setIsSale", "isRefresh", "setIsRefresh", "filterCardWrapRef", "initRefresh", "sortList", "sortKey", "reverse", "hasNoIndex", "product", "totalCount", "filtersOptions", "filtersPair", "filter", "opt", "clearFiltered", "flag", "filterChange", "v", "isShowSale", "TabFilter", "FilterHeader", "FilterList", "FilterCardWrap"]
|
|
7
|
+
}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { HeaderNavigationProps } from './types.js';
|
|
3
|
-
declare const
|
|
4
|
-
|
|
5
|
-
data?: Record<string, any> | undefined;
|
|
6
|
-
}, "ref"> & React.RefAttributes<any>>;
|
|
7
|
-
export default _default;
|
|
3
|
+
declare const HeaderNavigation: React.ForwardRefExoticComponent<HeaderNavigationProps & React.RefAttributes<HTMLDivElement>>;
|
|
4
|
+
export default HeaderNavigation;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";"use client";var me=Object.create;var G=Object.defineProperty;var pe=Object.getOwnPropertyDescriptor;var be=Object.getOwnPropertyNames;var fe=Object.getPrototypeOf,ve=Object.prototype.hasOwnProperty;var ge=(t,n)=>{for(var o in n)G(t,o,{get:n[o],enumerable:!0})},Z=(t,n,o,c)=>{if(n&&typeof n=="object"||typeof n=="function")for(let r of be(n))!ve.call(t,r)&&r!==o&&G(t,r,{get:()=>n[r],enumerable:!(c=pe(n,r))||c.enumerable});return t};var K=(t,n,o)=>(o=t!=null?me(fe(t)):{},Z(n||!t||!t.__esModule?G(o,"default",{value:t,enumerable:!0}):o,t)),he=t=>Z(G({},"__esModule",{value:!0}),t);var He={};ge(He,{default:()=>Ee});module.exports=he(He);var e=require("react/jsx-runtime"),a=K(require("react")),l=require("../../components/index.js"),se=require("../../shared/Styles.js"),k=require("../../helpers/utils.js"),B=K(require("./NavProvider.js")),x=require("./types.js"),$e=require("react-responsive"),ie=require("es-toolkit"),ce=K(require("jump.js")),J=require("@gsap/react"),V=require("gsap"),T=require("./withCategory.js"),P=require("./icons/index.js"),de=K(require("../NavigationSearch/index.js"));const ye=(0,a.forwardRef)((t,n)=>{const{data:{headerNavigation:o}={},buildProps:c,event:r,profile:f,theme:u="light",isTop:m=!1,searchResult:d,onSearch:w,isSearching:i,keywords:C,onPrimaryNavClick:N,onSeriesProductClick:v,onSidebarNavClick:g,headerId:h,cartCount:p}=t,s=(0,a.useRef)(null),[b,S]=(0,a.useState)(!1),[L,z]=(0,a.useState)(!1),[M,j]=(0,a.useState)(!1),[_,D]=(0,a.useState)(!1),$=(0,a.useRef)(null),R=()=>{const F=document?.querySelector("body")?.offsetWidth||0;D(F<=1440)};(0,a.useEffect)(()=>(R(),window.addEventListener("resize",R),()=>{window.removeEventListener("resize",R)}),[]),(0,a.useImperativeHandle)(n,()=>$.current),(0,a.useEffect)(()=>{$.current&&m&&(0,ce.default)($.current,{duration:0,offset:$.current?.getBoundingClientRect()?.bottom||0})},[m]),(0,a.useEffect)(()=>{r&&(r.search=()=>S(!0))},[r]),(0,J.useGSAP)(()=>{s?.current&&b&&V.gsap.fromTo(s.current,{height:0},{height:"auto",duration:.3})},[b]),(0,a.useEffect)(()=>{document.documentElement.style.overflow=b?"hidden":"auto"},[b]);const q=(0,a.useMemo)(()=>o?.headerBar?.actions?.find(F=>F?.blockType===x.HeaderNavigationActionBlockType.Search)?.searchBar?.[0]||{},[o]);return(0,e.jsx)(B.default,{buildProps:c,profile:f,isMobile:_,event:r,payloadData:o,onSidebarNavClick:g,onSeriesProductClick:v,cartCount:p,children:(0,e.jsx)("header",{id:h||"header","data-ui-component-id":"HeaderNavigation",className:"relative z-[100] bg-white",ref:$,children:(0,e.jsxs)("div",{className:(0,k.cn)("hover:bg-white hover:text-black",u==="light"?"text-black":"text-white",{}),onClick:()=>j(!0),children:[(0,e.jsx)(xe,{data:o,className:"desktop:block hidden !bg-white",theme:u,onNavItemClick:()=>j(!0),onPrimaryNavClick:N}),(0,e.jsx)(Ce,{data:o,className:"desktop:hidden block !bg-white",onPrimaryNavClick:N}),b&&(0,e.jsxs)("div",{className:"absolute left-0 top-0 z-[60] flex w-full flex-col bg-black/70",style:{height:`calc(100dvh - ${$?.current?.getBoundingClientRect()?.top}px)`},children:[(0,e.jsx)("div",{ref:s,className:(0,k.cn)("overflow-y-auto",{}),children:(0,e.jsx)(de.default,{data:q,keywords:C,isSearching:i,searchResult:d,onSearch:F=>{w?.(F)},onClose:()=>{w?.(),S(!1)}})}),(0,e.jsx)("div",{className:"flex-1 bg-transparent",onClick:()=>S(!1)})]})]})})})}),xe=(0,a.forwardRef)((t,n)=>{const{data:o,onNavItemClick:c,className:r,theme:f,onPrimaryNavClick:u}=t,{event:m,profile:d}=(0,B.useNavContext)(),[w,i]=(0,a.useState)(!1),C=(0,a.useMemo)(()=>(0,T.WithGroupCategory)(o?.categories?.filter(y=>y?.pcShow)),[o]),[N,v]=(0,a.useState)(null),[g,h]=(0,a.useState)([]),p=(0,a.useRef)(null),[s,b]=(0,a.useState)(!1),S=(0,a.useRef)(null),L=(0,a.useRef)(null),z=(0,a.useRef)(C.map(y=>Array(y?.length||0).fill(null)));(0,a.useEffect)(()=>{C?.length&&h(C?.map((y,E)=>y?.map((H,A)=>({groupIndex:E,index:A,open:!1}))))},[C]);const M=(0,a.useMemo)(()=>{let y=null;for(const E of g){for(const H of E)if(H.open){y=H;break}if(y)break}return y},[g]);(0,a.useEffect)(()=>{document.documentElement.style.overflow=M?.open||s?"hidden":"auto"},[M?.open,s]);const j=(y,E,H)=>{if(b(!1),N?.components?.[0]?.blockType===x.HeaderNavigationBlockType.Links)N?.components?.[0]?.url&&window.open(N?.components?.[0]?.url);else{const A=C?.flat()||[],I=A?.findIndex(Y=>Y?.id===C[E][H]?.id);y.stopPropagation(),c?.(),u?.(A[I],I),v(C[E][H]),h(Y=>Y.map(ue=>ue.map(W=>W.groupIndex===E&&W.index===H?{...W,open:!W.open}:{...W,open:!1})))}},_=()=>{h(y=>y.map(E=>E.map(H=>({...H,open:!1}))))},D=(0,a.useMemo)(()=>{if(N)return N?.components?.[0]?.blockType},[N]),$=(0,T.WithSidebar)(Ne,N),R=(0,T.WithMulticol)(ke,N),q=(0,T.WithSupports)(we,{categoriesItem:N,currentNavItemRef:z.current?.[M?.groupIndex||0]?.[M?.index||0]}),F=(0,a.useMemo)(()=>{switch(D){case x.HeaderNavigationBlockType.Sidebar:return(0,e.jsx)($,{});case x.HeaderNavigationBlockType.Supports:return(0,e.jsx)(q,{});case x.HeaderNavigationBlockType.Multicol:return(0,e.jsx)(R,{});default:return null}},[D,N]),Q=(0,a.useMemo)(()=>o?.headerBar?.actions?.filter(y=>y?.pcShow),[o]),O=(0,a.useMemo)(()=>Q?.find(y=>y?.blockType===x.HeaderNavigationActionBlockType.Profile),[Q]),X=(0,a.useCallback)(()=>{b(y=>!y)},[]);return(0,a.useEffect)(()=>{if(p?.current){const y=p.current;return y.addEventListener("click",X),()=>{y.removeEventListener("click",X)}}},[X]),(0,J.useGSAP)(()=>{M?.open&&V.gsap.fromTo(L?.current,{height:0},{height:"auto"})},[M?.open]),(0,e.jsxs)(l.Container,{className:(0,k.cn)("relative h-[96px]",r),children:[(0,e.jsxs)("div",{ref:S,onClick:_,className:"flex h-full flex-col justify-end gap-4",children:[(0,e.jsxs)("div",{className:"flex items-center justify-between",children:[(0,e.jsx)(le,{}),(0,e.jsx)(oe,{ref:p,actions:Q,activeStatus:s})]}),(0,e.jsx)("div",{className:"flex justify-between",children:C?.map((y,E)=>(0,e.jsx)("div",{className:"flex gap-3",children:y?.map((H,A)=>(0,e.jsx)("div",{ref:I=>{z.current[E][A]=I},className:"group cursor-pointer",children:(0,e.jsxs)("div",{className:"relative",children:[(0,e.jsxs)("div",{className:"flex items-center gap-1 pb-4",onClick:I=>j(I,E,A),children:[(0,e.jsx)(l.Text,{html:H.text,className:"text-sm font-bold leading-[1.4]"}),(0,e.jsx)(P.DownArrow,{className:(0,k.cn)("size-4 opacity-0 transition-opacity duration-500 group-hover:opacity-100",{"rotate-180":M?.groupIndex===E&&M?.index===A,"opacity-100":w&&M?.groupIndex===E&&M?.index===A})})]}),(0,e.jsx)("div",{className:(0,k.cn)("absolute bottom-0 left-0 h-[2px] w-0 transition-all duration-500",{"w-[calc(100%-20px)]":M?.groupIndex===E&&M?.index===A},f==="dark"?"bg-white":"bg-[#080A0F]")})]})},H.id))},`groupCategory-${E}`))})]}),(0,e.jsxs)("div",{className:(0,k.cn)("absolute left-0 top-full z-[999] flex w-full flex-col overflow-hidden border-t border-b-[#E4E5E6] bg-black/70 text-black",{hidden:!(M?.open&&N)}),onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),style:{height:`calc(100dvh - ${S?.current?.getBoundingClientRect()?.bottom}px)`},children:[(0,e.jsx)("div",{ref:L,className:(0,k.cn)("relative z-50",{"overflow-hidden":D!==x.HeaderNavigationBlockType.Supports}),children:F}),(0,e.jsx)("div",{className:"flex-1 bg-transparent",onClick:_})]}),s&&(0,e.jsxs)("div",{className:"absolute left-0 top-full z-[999] flex h-dvh w-full bg-black/70",children:[(0,e.jsx)("div",{className:"absolute w-[272px] bg-white p-4",style:{right:`calc(100% - ${p?.current?.getBoundingClientRect()?.right}px)`,top:"-36px"},children:d?.email?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(l.Text,{html:d?.nick_name||O?.welcome,className:"text-sm font-bold"}),(0,e.jsx)("div",{className:"mt-2 h-px bg-[#D9D9D9]"}),(0,e.jsx)("div",{className:"mt-2",children:O?.profiles?.map(y=>(0,e.jsx)(U,{className:"py-2",label:y?.title,href:y?.url},y.id))})]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(P.Polygon,{className:"absolute -top-2 right-[46px] z-30 text-white"}),(0,e.jsx)(l.Text,{html:O?.benefits_title,className:"text-sm font-bold leading-[1.4]"}),(0,e.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:O?.benefits?.map(y=>(0,e.jsxs)("div",{className:"flex items-center gap-[6px]",children:[(0,e.jsx)(l.Picture,{source:y.benefitIcon?.url,className:"size-4",alt:y.benefit,width:16,height:16}),(0,e.jsx)(l.Text,{html:y.benefit,className:"text-sm font-bold leading-[1.4]"})]},y.id))}),(0,e.jsxs)("div",{className:"mt-4 flex items-center gap-2",children:[(0,e.jsx)(l.Button,{variant:"secondary",size:"lg",onClick:()=>m?.join?.(),children:(0,e.jsx)(l.Text,{html:O?.primaryButton||"Join Now",className:"font-bold"})}),(0,e.jsx)(l.Button,{variant:"primary",size:"lg",onClick:()=>m?.login?.(),children:(0,e.jsx)(l.Text,{html:O?.secondaryButton||"Log In",className:"font-bold"})})]})]})}),(0,e.jsx)("div",{className:"flex-1 bg-transparent",onClick:()=>b(!1)})]})]})}),Ne=a.default.memo(({sidebarCategoriesMetadata:t,seriesMetadata:n})=>{const{buildProps:o,onSidebarNavClick:c}=(0,B.useNavContext)(),[r,f]=(0,a.useState)([]),[u,m]=(0,a.useState)(-1),d=(0,a.useRef)(null),w=(0,a.useCallback)(()=>{const v=t?.subcategories;if(!v?.length)return;const g=v.findIndex(s=>!!s?.subSubCategories),h=v.findIndex(s=>!s?.subSubCategories),p=v.map((s,b)=>({index:b,open:g===b||h===b}));f(p)},[t]);(0,a.useEffect)(()=>{w()},[w]);const i=(0,a.useMemo)(()=>{const v=t?.subcategories?.[r?.find(h=>h.open)?.index||0],g=n?.find(h=>h?.label?.toLowerCase()===v?.label?.toLowerCase())||{};if(v?.collections){const h=o?.categories?.[v?.collections]||{};return{label:g?.label,isCollection:!0,banner:g?.banner,primary:g?.primary,series:[{products:h?.products}]}}else if(v?.subSubCategories){const h=v?.subSubCategories?.[u],p=n?.find(s=>s?.label?.toLowerCase()===h?.label?.toLowerCase())||{};if(h?.collections){const s=o?.categories?.[h?.collections]||{};return{label:p?.label,isCollection:!0,banner:p?.banner,primary:p?.primary,series:[{products:s?.products}]}}else return p}else return g},[t,r,u,n]),C=(0,a.useCallback)((v,g)=>{if(g?.subSubCategories?.length>0?m(0):m(-1),g?.subSubCategories?.length>0)f(h=>h.map(p=>p.index===v?{...p,open:!0}:{...p,open:!1}));else{const p=t?.subcategories?.findIndex(s=>!!s?.subSubCategories);f(s=>s.map(b=>({...b,open:b.index===v||b.index===p})))}},[t,w]),N=(v,g)=>{f(h=>h.map(p=>p.index===v?{...p,open:!0}:{...p,open:!1})),m(g)};return(0,e.jsxs)(l.Container,{childClassName:"lg-desktop:gap-12 flex bg-white gap-8",children:[(0,e.jsxs)("div",{className:"lg-desktop:basis-[356px] flex basis-[284px] flex-col gap-4 py-4",style:{userSelect:"none"},ref:d,children:[(0,e.jsx)("div",{className:"desktop:h-[416px] flex flex-col overflow-y-auto",style:{scrollbarWidth:"none",msOverflowStyle:"none"},children:t?.subcategories?.map((v,g)=>{const h=Array.isArray(v?.subSubCategories)&&v?.subSubCategories?.length>0;return(0,e.jsxs)("div",{children:[(0,e.jsxs)("div",{className:(0,k.cn)("flex cursor-pointer items-center justify-between",{"bg-[#F5F5F7]":!h&&r?.find(p=>p.index===g)?.open}),onClick:()=>{C(g,v),c?.(v,g)},children:[(0,e.jsx)(l.Text,{html:v.label,className:"p-4 text-sm font-bold leading-[1.4]"}),h&&(0,e.jsx)(P.DownArrow,{className:(0,k.cn)("size-4",{"rotate-180":r?.find(p=>p.index===g)?.open})})]}),r?.find(p=>p.index===g)?.open&&(0,e.jsx)("div",{className:"flex flex-col",children:v.subSubCategories?.map((p,s)=>(0,e.jsx)(l.Text,{html:p.label,onClick:()=>{N(g,s),c?.(p,s)},className:(0,k.cn)("cursor-pointer px-6 py-4 text-sm font-bold leading-[1.4] text-[#6D6D6F] hover:bg-[#F5F5F7]",{"bg-[#F5F5F7]":u===s})},`subSubItem-${g}-${s}`))})]},`subcategoryItem-${g}`)})}),t&&(0,e.jsx)("div",{className:"flex",children:(0,e.jsxs)("div",{className:"flex flex-col gap-4",children:[t?.primary&&(0,e.jsx)(l.Button,{as:"a",href:`${t?.primary?.url}?ref=${t?.primary?.label}_shopall`,variant:"primary",size:"lg",className:"lg-desktop:text-base text-sm",children:t?.primary?.label}),t?.secondary&&(0,e.jsx)(l.Button,{as:"a",href:t?.secondary?.url,variant:"link",size:"lg",className:"lg-desktop:text-base justify-start !p-0 text-sm",children:t?.secondary?.label})]})})]}),(0,e.jsxs)("div",{className:"flex-1 py-4",children:[Reflect.ownKeys(i).length>0&&(0,e.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(l.Text,{html:i?.label,className:"lg-desktop:text-2xl text-xl font-bold leading-[1.4]"}),i?.primary&&!i?.primary?.hide&&(0,e.jsx)(l.Button,{as:"a",href:`${i?.primary?.url}?ref=${i?.label}_viewmore`,variant:"link",size:"lg",className:"lg-desktop:text-base justify-start !p-0 text-sm font-bold leading-[1.2] no-underline",children:i?.primary?.label})]}),(0,e.jsx)(l.Link,{href:i?.guide?.url,className:"lg-desktop:text-base text-sm leading-[1.2] text-[#6D6D6F]",children:i?.guide?.label})]}),(0,e.jsx)("div",{className:"flex h-[426px] flex-col gap-4 overflow-y-auto",style:{scrollbarWidth:"none",msOverflowStyle:"none"},children:i?.series?.map((v,g)=>(0,e.jsxs)("div",{children:[v.label&&(0,e.jsx)(l.Text,{html:v.label,className:"mb-2 text-sm font-bold leading-[1.4] text-[#6D6D6F]"}),(0,e.jsxs)("div",{className:"grid grid-cols-3 gap-4",children:[!!i?.banner&&(0,e.jsx)(l.Link,{asChild:!i?.banner?.href,href:i?.banner?.href,children:(0,e.jsxs)("div",{className:"[&_img]:hover:duration-600 relative [&_img]:hover:scale-110 [&_img]:hover:transition-all",children:[(0,e.jsx)(l.Picture,{source:i?.banner?.imageUrl,className:"laptop:h-[120px] h-[114px]",imgClassName:"object-cover h-full"}),(0,e.jsxs)("div",{className:"absolute inset-x-0 bottom-0 p-4",children:[(0,e.jsx)(l.Heading,{size:2,html:i?.banner?.title||"Buy in Guide",className:"font-bold text-white"}),(0,e.jsx)(l.Text,{html:i?.banner?.desc||"20.000mAh",className:"text-sm font-bold text-white"})]})]})}),v.products?.map((h,p)=>(0,e.jsx)(ee,{seriesLabel:i?.label,product:h,isCollection:i?.isCollection},`seriesProductItem-${p}`))]})]},`seriesItem-${g}`))})]})]})}),ke=({multicolMetadata:t})=>{const n=(0,a.useRef)(null);return(0,e.jsx)("div",{ref:n,children:(0,e.jsx)(l.Container,{childClassName:"bg-white",className:"h-full",children:(0,e.jsx)("div",{className:"flex gap-4 py-4",children:t?.map((o,c)=>(0,e.jsx)("div",{className:"w-1/4",children:(0,e.jsx)(te,{item:o})},`multicolItem-${o?.label}-${c}`))})})})},we=({supportsMetadata:t,currentNavItemRef:n})=>{const o=(0,a.useRef)(null),[c,r]=(0,a.useState)(null),[f,u]=(0,a.useState)(0);(0,a.useEffect)(()=>{if(o?.current){const d=o?.current?.getBoundingClientRect();u(d.height)}},[o]);const m=(0,ie.debounce)(()=>{if(n){const d=n.getBoundingClientRect();r(d)}},500);return(0,a.useEffect)(()=>(m(),window.addEventListener("resize",m),()=>{window.removeEventListener("resize",m)}),[m]),(0,a.useEffect)(()=>{if(n){const d=n.getBoundingClientRect();r(d)}},[n]),(0,e.jsx)("div",{className:"absolute top-0 h-full overflow-hidden bg-white transition-all duration-500",style:{right:`calc(100% - ${c?.right}px)`,height:f},children:(0,e.jsx)("div",{ref:o,className:"p-4",children:t?.map(d=>(0,e.jsx)("div",{className:"py-2",children:(0,e.jsx)(l.Link,{href:d.url,className:"text-sm font-bold leading-[1.4] no-underline",children:d.label})},d.id))})})},ee=({product:t,isCollection:n,position:o,seriesLabel:c})=>{const{buildProps:r,onSeriesProductClick:f}=(0,B.useNavContext)();let u=n?t:r?.products?.find(i=>i.handle===t.handle);const m=u?.variants?.find(i=>i.sku===t.sku)||u?.variants?.[0],d=(0,a.useMemo)(()=>`/products/${u?.handle}?variant=${(0,k.atobID)(m?.id)}`,[u?.handle,m?.id]),w=(0,a.useMemo)(()=>u?.tags?.filter?.(i=>i?.startsWith?.("CLtag"))?.map?.(i=>i?.replace?.("CLtag:",""))?.slice?.(0,2),[u?.tags]);return m?.availableForSale?(0,e.jsx)(l.Link,{href:d,onClick:i=>{i.preventDefault(),window.open(d),f?.(u,o||0,c)},className:"no-underline hover:text-current",children:(0,e.jsxs)("div",{className:"flex shrink-0 items-center gap-4 bg-[#F5F5F7] px-4 py-3 [&_img]:hover:scale-110",children:[(0,e.jsx)("div",{className:"shrink-0",children:(0,e.jsx)(l.Picture,{source:`${m?.image?.url||t?.images?.[0]?.url}}`,width:90,height:90,className:"size-[96px]",imgClassName:"object-contain h-full"})}),(0,e.jsxs)("div",{className:"relative",children:[(0,e.jsx)("div",{className:"flex gap-1",children:Array.isArray(w)&&w?.map(i=>(0,e.jsx)(l.Text,{as:"p",html:i,className:"text-brand-0 mb-1 inline-block h-[24px] whitespace-nowrap rounded-full border-[1.6px] border-[#00BEFA] px-[6px] text-sm font-bold !leading-[22px]"}))}),(0,e.jsx)(l.Text,{className:"lg-desktop:h-[44px] lg-desktop:text-base line-clamp-2 h-[40px] text-sm font-bold leading-[1.4]",html:u?.title||t?.name}),t?.desc&&(0,e.jsx)(l.Text,{as:"p",html:t?.desc,className:"lg-desktop:text-sm mt-1 line-clamp-1 text-xs font-bold leading-[1.4] text-[#6D6D6F]"})]})]})}):null},te=({item:t,allPicture:n})=>(0,e.jsxs)(e.Fragment,{children:[t?.columns&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(l.Text,{html:t.label,as:"div",className:"my-2 text-sm font-bold leading-[1.4] text-[#6D6D6F]"}),(0,e.jsx)("div",{className:"mt-2 flex flex-col",children:t.columns?.map(o=>(0,e.jsxs)("div",{className:"flex items-center gap-1 py-2",children:[(0,e.jsx)(l.Link,{href:`${o.url}?ref=navMenu`,asChild:!o.url,className:"text-sm font-bold leading-[1.4] no-underline",children:o.label}),o?.badge&&(0,e.jsx)(l.Text,{as:"p",html:o?.badge||"badge",className:"text-brand-0 h-[24px] rounded-full border-[1.6px] border-[var(--brand-color-0)] px-[6px] text-sm font-bold !leading-[22px]"})]},o.label))})]}),t?.imageUrl&&(0,e.jsx)("div",{className:(0,k.cn)("laptop:h-[280px] desktop:h-[224px] lg-desktop:h-[280px] tablet:max-w-[346px] laptop:max-w-[440px] desktop:w-full relative h-[240px] max-w-[358px] overflow-hidden",{"tablet:max-w-none laptop:max-w-none":n}),children:(0,e.jsxs)(l.Link,{href:`${t.url}?ref=navMenu`,asChild:!t.url,children:[(0,e.jsx)(l.Picture,{source:t.imageUrl,width:404,height:280,className:"size-full",imgClassName:"object-cover h-full hover:scale-105 transition-all duration-300"}),(0,e.jsxs)("div",{className:"absolute bottom-4 left-4 z-10 flex flex-col justify-end no-underline",children:[(0,e.jsx)(l.Text,{html:t.title,className:(0,k.cn)("lg-desktop:text-2xl text-xl font-bold leading-[1.2] text-white",{"text-black":t?.theme==="dark"})}),t.subtitle&&(0,e.jsx)(l.Text,{html:t.subtitle,className:(0,k.cn)("text-sm font-bold leading-[1.4] text-white",{"text-black":t?.theme==="dark"})}),t?.primary?.label&&(0,e.jsx)(l.Button,{as:"a",href:t?.primary?.url,variant:"link",size:"lg",className:(0,k.cn)("mr-auto !p-0 text-sm font-bold leading-[1.4] text-white",{"text-black":t?.theme==="dark"}),children:t?.primary?.label||"more"})]})]})})]}),Ce=(0,a.forwardRef)(({data:t,className:n,onPrimaryNavClick:o},c)=>{const r=(0,a.useMemo)(()=>(0,T.WithGroupCategory)(t?.categories?.filter(D=>D?.mobileShow)),[t]),{currentMenu:f,setCurrentMenu:u,subSubCategory:m}=(0,B.useNavContext)(),[d,w]=(0,a.useState)(!1),[i,C]=(0,a.useState)(0),[N,v]=(0,a.useState)(null),g=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(g?.current&&d){const D=g?.current?.getBoundingClientRect();C(window?.innerHeight-(D?.bottom||0))}},[d]),(0,J.useGSAP)(()=>{V.gsap.fromTo(g.current,{height:0},{height:i,duration:.3})},[i]),(0,a.useEffect)(()=>{document.documentElement.style.overflow=d?"hidden":"auto"},[d]);const h=(0,a.useMemo)(()=>N?.components?.[0]?.blockType,[N]),p=(0,T.WithSupports)(Me,{categoriesItem:N}),s=(0,T.WithSidebar)(Le,N),b=(0,T.WithMulticol)(De,N),S=(0,a.useMemo)(()=>{switch(h){case x.HeaderNavigationBlockType.Sidebar:return(0,e.jsx)(s,{});case x.HeaderNavigationBlockType.Supports:return(0,e.jsx)(p,{});case x.HeaderNavigationBlockType.Multicol:return(0,e.jsx)(b,{});default:return null}},[h,N,p]),L=(0,a.useCallback)(()=>{w(!1),C(0),u&&u(x.HeaderNavigationMenu.Primary)},[w,C,u]),z=(0,a.useMemo)(()=>t?.headerBar?.actions?.filter(D=>D?.mobileShow&&D?.blockType!==x.HeaderNavigationActionBlockType.Profile),[t]),M=(0,a.useMemo)(()=>t?.headerBar?.actions?.find(D=>D?.mobileShow&&D?.blockType===x.HeaderNavigationActionBlockType.Profile)||{},[t]),j=(0,a.useMemo)(()=>{switch(f){case x.HeaderNavigationMenu.Primary:return(0,e.jsx)(ze,{actions:z,menuOpen:d,onMenuOpenClose:()=>{w(!1),C(0)},onMenuOpenClick:()=>w(!0)});case x.HeaderNavigationMenu.Secondary:return(0,e.jsx)(re,{title:N?.text,onMenuOpenClose:L,onMenuBackClick:()=>u?.(x.HeaderNavigationMenu.Primary)});case x.HeaderNavigationMenu.Third:return(0,e.jsx)(re,{title:m?.label,onMenuOpenClose:L,onMenuBackClick:()=>u?.(x.HeaderNavigationMenu.Secondary)});default:return null}},[d,f,u,N,z,m,L]),_=(0,a.useCallback)((D,$)=>{const R=Array.isArray(r)?Array.isArray(r[D])?r[D][$]:{}:{};v(R),R?.components?.[0]?.blockType===x.HeaderNavigationBlockType.Links?R?.components?.[0]?.url&&window.open(R?.components?.[0]?.url):u?.(x.HeaderNavigationMenu.Secondary)},[r,u]);return(0,e.jsxs)(l.Container,{className:(0,k.cn)("relative h-[52px]",n),children:[j,d&&(0,e.jsx)("div",{ref:g,className:"absolute left-0 top-full z-[999] w-full overflow-y-auto border-t border-[#E4E5E6] bg-white text-black",style:{height:i},children:f===x.HeaderNavigationMenu.Primary?(0,e.jsx)(Se,{categories:r,onPrimaryMenuClick:_,onPrimaryNavClick:o,profileAction:M}):S})]})}),Se=({categories:t,onPrimaryMenuClick:n,profileAction:o,onPrimaryNavClick:c})=>{const{onSidebarNavClick:r}=(0,B.useNavContext)();return(0,e.jsxs)("div",{className:"flex h-full flex-col justify-between",children:[(0,e.jsx)("div",{className:"tablet:px-8 laptop:px-16 p-4",children:t?.map((f,u)=>(0,e.jsxs)("div",{className:"",children:[f?.map((m,d)=>(0,e.jsx)(U,{label:m.text,onClick:()=>{const i=(t?.flat()||[])?.findIndex(C=>C?.id===t[u][d]?.id);n(u,d),c?.(m,i)},icon:m.components?.[0]?.icon},m.id)),(0,e.jsx)("div",{className:(0,k.cn)("my-2 h-px w-full bg-[#E5E5E7]",{hidden:u===t.length-1})})]},`groupCategory-${u}`))}),(0,e.jsx)(Pe,{profileAction:o})]})},Le=({sidebarCategoriesMetadata:t,seriesMetadata:n})=>{const{currentMenu:o,setCurrentMenu:c,subSubCategory:r,setSubSubCategory:f,setCurrentSeriesMetadata:u,currentSeriesMetadata:m,buildProps:d,onSidebarNavClick:w}=(0,B.useNavContext)(),[i,C]=(0,a.useState)([]),[N,v]=(0,a.useState)([]);(0,a.useEffect)(()=>{t?.subcategories?.length&&C(t?.subcategories?.map((s,b)=>({index:b,open:!1})))},[t]),(0,a.useEffect)(()=>{r?.subSubCategories?.length&&v(r?.subSubCategories?.map((s,b)=>({index:b,open:b===0})))},[r]);const g=(0,a.useCallback)((s,b)=>{c&&c(x.HeaderNavigationMenu.Third),f?.(s);const S=n?.find(L=>b!==void 0?s?.subSubCategories?.[b]?.label?.toLowerCase()===L.label?.toLowerCase():s?.label?.toLowerCase()===L.label?.toLowerCase())||{};if(s?.collections){const L=d?.categories?.[s?.collections]||{};u?.({label:S?.label,isCollection:!0,banner:S?.banner,primary:S?.primary,series:[{products:L?.products}]})}else u?.(S)},[n,t,c,f,u]),h=(0,a.useMemo)(()=>n?.find(s=>!!s?.guide)?.guide,[n,t]);return(0,a.useMemo)(()=>{switch(o){case x.HeaderNavigationMenu.Secondary:return(0,e.jsxs)("div",{className:"tablet:px-8 laptop:px-16 tablet:justify-start tablet:gap-16 flex h-full flex-col justify-between p-4",children:[(0,e.jsx)("div",{children:t?.subcategories?.map((s,b)=>(0,e.jsx)("div",{children:(0,e.jsx)(U,{label:s?.label,active:i.find(S=>S.index===b)?.open,onClick:()=>{g(s),w?.(s,b)}})},`${s.label}-${b}`))}),(0,e.jsxs)("div",{className:"tablet:items-start flex flex-col items-center gap-4",children:[t?.primary&&(0,e.jsx)(l.Button,{as:"a",href:`${t?.primary?.url}?ref=${t?.primary?.label}_shopall`,variant:"primary",size:"lg",className:"tablet:w-auto w-full text-base",children:t?.primary?.label}),t?.secondary&&(0,e.jsx)(l.Button,{as:"a",href:t?.secondary?.url,variant:"link",size:"lg",className:"tablet:w-auto tablet:px-0 w-full py-0 text-base",children:t?.secondary?.label})]})]});case x.HeaderNavigationMenu.Third:return(0,e.jsxs)("div",{className:"tablet:px-8 laptop:px-16 p-4",children:[r?.subSubCategories?r?.subSubCategories?.map((s,b)=>{const S=n?.find(z=>z.label.toLowerCase()===s?.label?.toLowerCase())||{};let L={};if(s?.collections){const z=d?.categories?.[s?.collections]||{};L={label:S?.label,isCollection:!0,banner:S?.banner,primary:S?.primary,series:[{products:z?.products}]}}else L=S;return(0,e.jsxs)("div",{children:[Reflect.ownKeys(s).length>0&&(0,e.jsx)(ae,{matchSeriesMetadata:L,onSubSubCategoryItemClick:()=>{w?.(s,b),v(z=>z.map((M,j)=>({...M,open:j===b?!M.open:M.open})))},expanded:!!N?.find(z=>z.index===b)?.open}),N?.find(z=>z.index===b)?.open&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(ne,{matchSeriesMetadata:L}),L?.primary&&(0,e.jsx)("div",{className:"my-4 text-center",children:(0,e.jsx)(l.Button,{as:"a",href:L?.primary?.url,className:"text-base leading-[1.2] no-underline",variant:"secondary",size:"base",children:L?.primary?.label})})]})]},`${s.label}-${b}`)}):(0,e.jsxs)(e.Fragment,{children:[Reflect.ownKeys(m).length>0&&(0,e.jsx)(ae,{matchSeriesMetadata:m}),(0,e.jsx)(ne,{matchSeriesMetadata:m}),m?.primary&&(0,e.jsx)("div",{className:"my-4 text-center ",children:(0,e.jsx)(l.Button,{as:"a",href:`${m?.primary?.url}?ref=${m?.label}_viewmore`,variant:"secondary",size:"base",className:"text-base leading-[1.2] no-underline",children:m?.primary?.label})})]}),h&&(0,e.jsx)(l.Link,{href:h?.url,children:(0,e.jsx)("div",{className:"mt-4",children:(0,e.jsx)(l.Text,{html:h?.label,className:"text-sm font-bold leading-[1.2] text-[#6D6D6F]"})})})]});default:return null}},[o,t,c,n,i,N,f,r,u,m])},ae=({matchSeriesMetadata:t,onSubSubCategoryItemClick:n,expanded:o})=>(0,e.jsxs)("div",{className:"tablet:pt-0 flex items-center justify-between py-4",onClick:n,children:[t?.label&&(0,e.jsx)(l.Text,{html:t?.label,className:"text-sm font-bold leading-[1.4]"}),n&&(0,e.jsx)(P.DownArrow,{className:(0,k.cn)("size-5",{"rotate-180":o})})]}),ne=({matchSeriesMetadata:t})=>(0,e.jsx)("div",{className:"laptop:gap-3 flex flex-col gap-2",children:!!t?.series?.length&&t?.series?.map((n,o)=>(0,e.jsxs)("div",{children:[n.label&&(0,e.jsx)(l.Text,{html:n.label,className:"mb-2 text-sm font-bold leading-[1.4] text-[#3D3D3F]"}),(0,e.jsxs)("div",{className:"laptop:grid-cols-3 laptop:gap-4 tablet:grid tablet:grid-cols-2 tablet:gap-3 flex flex-col gap-2",children:[!!t?.banner&&(0,e.jsx)(l.Link,{asChild:!t?.banner?.href,href:t?.banner?.href,children:(0,e.jsxs)("div",{className:"[&_img]:hover:duration-600 relative [&_img]:hover:scale-110 [&_img]:hover:transition-all",children:[(0,e.jsx)(l.Picture,{source:t?.banner?.imageUrl,className:"laptop:h-[120px] h-[114px]",imgClassName:"object-cover h-full"}),(0,e.jsxs)("div",{className:"absolute inset-x-0 bottom-0 p-4",children:[(0,e.jsx)(l.Heading,{size:2,html:t?.banner?.title||"Buy in Guide",className:(0,k.cn)("font-bold text-white",{"text-black":t?.banner?.theme==="dark"})}),(0,e.jsx)(l.Text,{html:t?.banner?.desc||"20.000mAh",className:(0,k.cn)("text-sm font-bold text-white",{"text-black":t?.banner?.theme==="dark"})})]})]})}),n.products?.map((c,r)=>(0,e.jsx)(ee,{position:r,product:c,seriesLabel:t?.label,isCollection:t?.isCollection},`seriesProductItem-${o}-${r}`))]})]},`seriesItem-${o}`))}),Me=({supportsMetadata:t})=>(0,e.jsx)("div",{className:"tablet:px-8 laptop:px-16 p-4",children:t?.map(n=>(0,e.jsx)(U,{href:n.url,label:n.label,onClick:()=>{}},n.id))}),De=({multicolMetadata:t})=>{const n=(0,a.useMemo)(()=>!t?.some(o=>!!o.columns),[t]);return(0,e.jsx)("div",{className:(0,k.cn)("tablet:py-4 tablet:px-8 laptop:px-16 tablet:gap-6 flex flex-col gap-4 p-4",{"tablet:grid tablet:grid-cols-2 tablet:gap-3 laptop:gap-4":n}),children:t?.map((o,c)=>(0,e.jsx)("div",{children:(0,e.jsx)(te,{item:o,allPicture:n})},`multicolItem-${o?.label}-${c}`))})},Pe=({profileAction:t})=>{const[n,o]=(0,a.useState)(!1),{profile:c,event:r}=(0,B.useNavContext)();return(0,e.jsxs)("div",{className:(0,k.cn)("tablet:px-8 laptop:px-16 bg-[#F5F5F7] px-4 py-6",{"p-4":n}),children:[(0,e.jsxs)("div",{className:"flex items-center justify-between",onClick:()=>o(!n),children:[(0,e.jsxs)("div",{className:"flex items-center gap-[14px]",children:[(0,e.jsx)("div",{className:"flex size-[40px] shrink-0 items-center justify-center rounded-full bg-white",children:(0,e.jsx)(P.User,{})}),(0,e.jsx)(l.Text,{html:c?.nick_name||t?.welcome,className:"text-base font-bold leading-[1.4]"})]}),!c?.email&&(0,e.jsx)(P.DownArrow,{className:(0,k.cn)("laptop:size-4 size-5",{"rotate-180":n})})]}),c?.email&&(0,e.jsx)("div",{className:"mt-4",children:t?.profiles?.map(f=>(0,e.jsx)(U,{label:f?.title,href:f?.url},f.id))}),n&&!c?.email&&(0,e.jsxs)("div",{className:"mt-4",children:[(0,e.jsx)(l.Text,{html:t?.benefits_title,className:"text-sm font-bold leading-[1.4]"}),(0,e.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:t?.benefits?.map(f=>(0,e.jsxs)("div",{className:"flex items-center gap-[6px]",children:[(0,e.jsx)(l.Picture,{source:f.benefitIcon?.url,className:"size-4",alt:f.benefit,width:16,height:16}),(0,e.jsx)(l.Text,{html:f.benefit,className:"text-sm font-bold leading-[1.4]"})]},f.id))})]}),!c?.email&&(0,e.jsxs)("div",{className:"mt-4 flex items-center gap-3",children:[(0,e.jsx)(l.Button,{className:"tablet:flex-none flex-1",variant:"secondary",size:"base",onClick:()=>r?.join?.(),children:(0,e.jsx)(l.Text,{html:t?.primaryButton||"Join Now",className:"text-sm font-bold leading-[1.4]"})}),(0,e.jsx)(l.Button,{className:"tablet:flex-none flex-1",variant:"primary",size:"base",onClick:()=>r?.login?.(),children:(0,e.jsx)(l.Text,{html:t?.secondaryButton||"Log In",className:"text-sm font-bold leading-[1.4]"})})]})]})},ze=({menuOpen:t,onMenuOpenClose:n,onMenuOpenClick:o,actions:c})=>(0,e.jsxs)("div",{className:"flex h-full items-center justify-between gap-4",children:[(0,e.jsx)(le,{}),(0,e.jsxs)("div",{className:"desktop:gap-6 flex items-center gap-4",children:[(0,e.jsx)(oe,{actions:c}),t?(0,e.jsx)(P.Close,{className:"size-5",onClick:()=>n()}):(0,e.jsx)(P.Menu,{className:"size-5",onClick:()=>o()})]})]}),le=()=>{const{payloadData:t,isMobile:n}=(0,B.useNavContext)();return(0,e.jsx)("div",{className:"hover:text-brand-0 cursor-pointer [&>svg]:w-full",onClick:()=>{window.location.href="/"},dangerouslySetInnerHTML:{__html:n?t?.headerBar?.mobileLogo:t?.headerBar?.desktopLogo}})},oe=(0,a.forwardRef)(({actions:t,activeStatus:n=!1},o)=>{const{event:c,cartCount:r}=(0,B.useNavContext)(),[f,u]=(0,a.useState)(null),m=(0,a.useCallback)((d,w)=>{switch(u(w),d?.blockType){case x.HeaderNavigationActionBlockType.Search:c?.search?.();break;case x.HeaderNavigationActionBlockType.Cart:c?.cart?.();break;case x.HeaderNavigationActionBlockType.Profile:c?.profile?.();break;case x.HeaderNavigationActionBlockType.Livestream:c?.livestream?.();break;default:return()=>{}}},[c]);return(0,e.jsx)("div",{className:"desktop:gap-6 flex items-center gap-4",children:Array.isArray(t)&&t?.map((d,w)=>(0,e.jsxs)("div",{className:"relative",ref:d.blockType===x.HeaderNavigationActionBlockType.Profile?o:null,onClick:()=>m(d,w),children:[(0,e.jsx)(l.Text,{html:d.icon,className:(0,k.cn)("size-5 cursor-pointer",{"text-brand-0":n&&f===w})}),d.blockType===x.HeaderNavigationActionBlockType.Cart&&r>0&&(0,e.jsx)("div",{className:"bg-brand-0 absolute right-[-12px] top-[calc(100%-16px)] z-[1] flex min-h-5 min-w-5 items-center justify-center rounded-full px-[2px]",children:(0,e.jsx)(l.Text,{html:r?.toString(),className:"text-sm font-bold leading-[1.2] text-white"})})]},d.id))})}),re=({title:t,onMenuOpenClose:n,onMenuBackClick:o})=>(0,e.jsxs)("div",{className:"flex h-full items-center gap-3",children:[(0,e.jsx)(P.LeftArrow,{className:"size-5",onClick:()=>o()}),(0,e.jsx)(l.Text,{html:t,className:"flex-1 text-center text-base font-bold leading-[1.4]"}),(0,e.jsx)(P.Close,{className:"size-5",onClick:()=>n()})]}),U=({label:t,href:n,onClick:o,active:c,icon:r,className:f})=>(0,e.jsx)("div",{className:(0,k.cn)("flex cursor-pointer items-center justify-between py-4",f),onClick:o,children:(0,e.jsxs)(l.Link,{href:n,asChild:!n,className:"flex w-full items-center justify-between no-underline",children:[(0,e.jsxs)("div",{className:"flex items-center gap-4",children:[(0,e.jsx)(l.Text,{html:t,className:(0,k.cn)("text-sm font-bold leading-[1.4]",{underline:r})}),r&&(0,e.jsx)(l.Text,{html:r})]}),(0,e.jsx)(P.RightArrow,{className:(0,k.cn)("laptop:size-4 size-5",{"rotate-90":c})})]})});var Ee=(0,se.withLayout)(ye);
|
|
1
|
+
"use strict";"use client";var pe=Object.create;var U=Object.defineProperty;var me=Object.getOwnPropertyDescriptor;var be=Object.getOwnPropertyNames;var fe=Object.getPrototypeOf,ve=Object.prototype.hasOwnProperty;var ge=(t,n)=>{for(var r in n)U(t,r,{get:n[r],enumerable:!0})},X=(t,n,r,d)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of be(n))!ve.call(t,s)&&s!==r&&U(t,s,{get:()=>n[s],enumerable:!(d=me(n,s))||d.enumerable});return t};var G=(t,n,r)=>(r=t!=null?pe(fe(t)):{},X(n||!t||!t.__esModule?U(r,"default",{value:t,enumerable:!0}):r,t)),he=t=>X(U({},"__esModule",{value:!0}),t);var ze={};ge(ze,{default:()=>Be});module.exports=he(ze);var e=require("react/jsx-runtime"),a=G(require("react")),l=require("../../components/index.js"),Te=require("../../shared/Styles.js"),w=require("../../helpers/utils.js"),T=G(require("./NavProvider.js")),f=require("./types.js"),re=require("es-toolkit"),oe=G(require("jump.js")),J=require("@gsap/react"),V=require("gsap"),H=require("./withCategory.js"),B=require("./icons/index.js"),se=G(require("../NavigationSearch/index.js"));const ye=(0,a.forwardRef)((t,n)=>{const{data:{headerNavigation:r}={},buildProps:d,event:s,profile:m,theme:u="light",isTop:v=!1,searchResult:g,onSearch:N,isSearching:i,keywords:L,onPrimaryNavClick:k,onSeriesProductClick:h,onSidebarNavClick:x,headerId:b,cartCount:y}=t,[o,p]=(0,a.useState)(!1),[P,D]=(0,a.useState)(!1),M=(0,a.useRef)(null),S=(0,a.useRef)(null),$=()=>{const C=document?.querySelector("body")?.offsetWidth||0;D(C<=1440)};(0,a.useEffect)(()=>($(),window.addEventListener("resize",$),()=>{window.removeEventListener("resize",$)}),[]),(0,a.useImperativeHandle)(n,()=>S.current),(0,a.useEffect)(()=>{S.current&&v&&(0,oe.default)(S.current,{duration:0,offset:S.current?.getBoundingClientRect()?.bottom||0})},[v]),(0,a.useEffect)(()=>{s&&(s.search=()=>p(!0))},[s]),(0,J.useGSAP)(()=>{M?.current&&o&&V.gsap.fromTo(M.current,{height:0},{height:"auto",duration:.3})},[o]),(0,a.useEffect)(()=>{document.documentElement.style.overflow=o?"hidden":"auto"},[o]);const O=(0,a.useMemo)(()=>r?.headerBar?.actions?.find(C=>C?.blockType===f.HeaderNavigationActionBlockType.Search)?.searchBar?.[0]||{},[r]);return(0,e.jsx)(T.default,{buildProps:d,profile:m,isMobile:P,event:s,payloadData:r,onSidebarNavClick:x,onSeriesProductClick:h,cartCount:y,children:(0,e.jsx)("header",{id:b||"header","data-ui-component-id":"HeaderNavigation",className:"relative z-[100] bg-white",ref:S,children:(0,e.jsxs)("div",{className:(0,w.cn)("hover:bg-white hover:text-black",u==="light"?"text-black":"text-white",{}),children:[(0,e.jsx)(xe,{data:r,className:"desktop:block hidden !bg-white",theme:u,onPrimaryNavClick:k}),(0,e.jsx)(Ce,{data:r,className:"desktop:hidden block !bg-white",onPrimaryNavClick:k}),o&&(0,e.jsxs)("div",{className:"absolute left-0 top-0 z-[60] flex w-full flex-col bg-black/70",style:{height:`calc(100dvh - ${S?.current?.getBoundingClientRect()?.top}px)`},role:"dialog","aria-modal":"true","aria-label":"Search",children:[(0,e.jsx)("div",{ref:M,className:(0,w.cn)("overflow-y-auto",{}),children:(0,e.jsx)(se.default,{data:O,keywords:L,isSearching:i,searchResult:g,onSearch:C=>{N?.(C)},onClose:()=>{N?.(),p(!1)}})}),(0,e.jsx)("div",{className:"flex-1 bg-transparent",onClick:()=>p(!1),role:"button",tabIndex:0,"aria-label":"Close search",onKeyDown:C=>{(C.key==="Enter"||C.key===" "||C.key==="Escape")&&(C.preventDefault(),p(!1))}})]})]})})})}),xe=(0,a.forwardRef)((t,n)=>{const{data:r,onNavItemClick:d,className:s,theme:m,onPrimaryNavClick:u}=t,{event:v,profile:g}=(0,T.useNavContext)(),[N,i]=(0,a.useState)(!1),L=(0,a.useMemo)(()=>(0,H.WithGroupCategory)(r?.categories?.filter(c=>c?.pcShow)),[r]),[k,h]=(0,a.useState)(null),[x,b]=(0,a.useState)([]),y=(0,a.useRef)(null),[o,p]=(0,a.useState)(!1),P=(0,a.useRef)(null),D=(0,a.useRef)(null),M=(0,a.useRef)(L.map(c=>Array(c?.length||0).fill(null)));(0,a.useEffect)(()=>{L?.length&&b(L?.map((c,E)=>c?.map((z,R)=>({groupIndex:E,index:R,open:!1}))))},[L]);const S=(0,a.useMemo)(()=>{let c=null;for(const E of x){for(const z of E)if(z.open){c=z;break}if(c)break}return c},[x]);(0,a.useEffect)(()=>{document.documentElement.style.overflow=S?.open||o?"hidden":"auto"},[S?.open,o]);const $=(c,E,z)=>{if(p(!1),k?.components?.[0]?.blockType===f.HeaderNavigationBlockType.Links)k?.components?.[0]?.url&&window.open(k?.components?.[0]?.url);else{const R=L?.flat()||[],j=R?.findIndex(A=>A?.id===L[E][z]?.id);c.stopPropagation(),d?.(),u?.(R[j],j),h(L[E][z]),b(A=>A.map(ue=>ue.map(W=>W.groupIndex===E&&W.index===z?{...W,open:!W.open}:{...W,open:!1})))}},O=(c,E,z)=>{c.key==="Enter"||c.key===" "?(c.preventDefault(),$(c,E,z)):c.key==="Escape"&&S?.groupIndex===E&&S?.index===z&&(c.preventDefault(),C())},C=()=>{b(c=>c.map(E=>E.map(z=>({...z,open:!1}))))},I=(0,a.useMemo)(()=>{if(k)return k?.components?.[0]?.blockType},[k]),F=(0,H.WithSidebar)(Ne,k),ie=(0,H.WithMulticol)(ke,k),ce=(0,H.WithSupports)(we,{categoriesItem:k,currentNavItemRef:M.current?.[S?.groupIndex||0]?.[S?.index||0]}),de=(0,a.useMemo)(()=>{switch(I){case f.HeaderNavigationBlockType.Sidebar:return(0,e.jsx)(F,{});case f.HeaderNavigationBlockType.Supports:return(0,e.jsx)(ce,{});case f.HeaderNavigationBlockType.Multicol:return(0,e.jsx)(ie,{});default:return null}},[I,k]),q=(0,a.useMemo)(()=>r?.headerBar?.actions?.filter(c=>c?.pcShow),[r]),_=(0,a.useMemo)(()=>q?.find(c=>c?.blockType===f.HeaderNavigationActionBlockType.Profile),[q]),Q=(0,a.useCallback)(()=>{p(c=>!c)},[]);return(0,a.useEffect)(()=>{if(y?.current){const c=y.current;return c.addEventListener("click",Q),()=>{c.removeEventListener("click",Q)}}},[Q]),(0,J.useGSAP)(()=>{S?.open&&V.gsap.fromTo(D?.current,{height:0},{height:"auto"})},[S?.open]),(0,e.jsxs)(l.Container,{className:(0,w.cn)("relative h-[96px]",s),children:[(0,e.jsxs)("div",{ref:P,onClick:C,className:"flex h-full flex-col justify-end gap-4",children:[(0,e.jsxs)("div",{className:"flex items-center justify-between",children:[(0,e.jsx)(ae,{}),(0,e.jsx)(ne,{ref:y,actions:q,activeStatus:o})]}),(0,e.jsx)("nav",{className:"flex justify-between",role:"navigation","aria-label":"Primary navigation",children:L?.map((c,E)=>(0,e.jsx)("div",{className:"flex gap-3",children:c?.map((z,R)=>{const j=S?.groupIndex===E&&S?.index===R;return(0,e.jsx)("div",{ref:A=>{M.current[E][R]=A},className:"group cursor-pointer",children:(0,e.jsxs)("div",{className:"relative",children:[(0,e.jsxs)("button",{className:"flex cursor-pointer items-center gap-1 border-0 bg-transparent pb-4",onClick:A=>$(A,E,R),onKeyDown:A=>O(A,E,R),"aria-expanded":j,"aria-haspopup":"true","aria-label":z.text,children:[(0,e.jsx)(l.Text,{html:z.text,className:"text-sm font-bold leading-[1.4]"}),(0,e.jsx)(B.DownArrow,{"aria-hidden":"true",className:(0,w.cn)("size-4 opacity-0 transition-opacity duration-500 group-hover:opacity-100",{"rotate-180":j,"opacity-100":N&&j})})]}),(0,e.jsx)("div",{className:(0,w.cn)("absolute bottom-0 left-0 h-[2px] w-0 transition-all duration-500",{"w-[calc(100%-20px)]":j},m==="dark"?"bg-white":"bg-[#080A0F]"),"aria-hidden":"true"})]})},z.id)})},`groupCategory-${E}`))})]}),(0,e.jsxs)("div",{role:"menu","aria-hidden":!(S?.open&&k),className:(0,w.cn)("absolute left-0 top-full z-[999] flex w-full flex-col overflow-hidden border-t border-b-[#E4E5E6] bg-black/70 text-black",{hidden:!(S?.open&&k)}),onMouseEnter:()=>i(!0),onMouseLeave:()=>i(!1),style:{height:`calc(100dvh - ${P?.current?.getBoundingClientRect()?.bottom}px)`},children:[(0,e.jsx)("div",{ref:D,className:(0,w.cn)("relative z-50",{"overflow-hidden":I!==f.HeaderNavigationBlockType.Supports}),children:de}),(0,e.jsx)("div",{className:"flex-1 bg-transparent",onClick:C,role:"button",tabIndex:0,"aria-label":"Close menu",onKeyDown:c=>{(c.key==="Enter"||c.key===" "||c.key==="Escape")&&(c.preventDefault(),C())}})]}),o&&(0,e.jsxs)("div",{className:"absolute left-0 top-full z-[999] flex h-dvh w-full bg-black/70",role:"dialog","aria-modal":"true","aria-label":"User profile menu",children:[(0,e.jsx)("div",{className:"absolute w-[272px] bg-white p-4",style:{right:`calc(100% - ${y?.current?.getBoundingClientRect()?.right}px)`,top:"-36px"},children:g?.email?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(l.Text,{html:g?.nick_name||_?.welcome,className:"text-sm font-bold"}),(0,e.jsx)("div",{className:"mt-2 h-px bg-[#D9D9D9]","aria-hidden":"true"}),(0,e.jsx)("nav",{className:"mt-2",role:"navigation","aria-label":"Profile navigation",children:_?.profiles?.map(c=>(0,e.jsx)(K,{className:"py-2",label:c?.title,href:c?.url},c.id))})]}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(B.Polygon,{className:"absolute -top-2 right-[46px] z-30 text-white","aria-hidden":"true"}),(0,e.jsx)(l.Text,{html:_?.benefits_title,className:"text-sm font-bold leading-[1.4]"}),(0,e.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:_?.benefits?.map(c=>(0,e.jsxs)("div",{className:"flex items-center gap-[6px]",children:[(0,e.jsx)(l.Picture,{source:c.benefitIcon?.url,className:"size-4",alt:c.benefit,width:16,height:16}),(0,e.jsx)(l.Text,{html:c.benefit,className:"text-sm font-bold leading-[1.4]"})]},c.id))}),(0,e.jsxs)("div",{className:"mt-4 flex items-center gap-2",children:[(0,e.jsx)(l.Button,{variant:"secondary",size:"lg",onClick:()=>v?.join?.(),children:(0,e.jsx)(l.Text,{html:_?.primaryButton||"Join Now",className:"font-bold"})}),(0,e.jsx)(l.Button,{variant:"primary",size:"lg",onClick:()=>v?.login?.(),children:(0,e.jsx)(l.Text,{html:_?.secondaryButton||"Log In",className:"font-bold"})})]})]})}),(0,e.jsx)("div",{className:"flex-1 bg-transparent",onClick:()=>p(!1),role:"button",tabIndex:0,"aria-label":"Close profile menu",onKeyDown:c=>{(c.key==="Enter"||c.key===" "||c.key==="Escape")&&(c.preventDefault(),p(!1))}})]})]})}),Ne=a.default.memo(({sidebarCategoriesMetadata:t,seriesMetadata:n})=>{const{buildProps:r,onSidebarNavClick:d}=(0,T.useNavContext)(),[s,m]=(0,a.useState)([]),[u,v]=(0,a.useState)(-1),g=(0,a.useRef)(null),N=(0,a.useCallback)(()=>{const h=t?.subcategories;if(!h?.length)return;const x=h.findIndex(o=>!!o?.subSubCategories),b=h.findIndex(o=>!o?.subSubCategories),y=h.map((o,p)=>({index:p,open:x===p||b===p}));m(y)},[t]);(0,a.useEffect)(()=>{N()},[N]);const i=(0,a.useMemo)(()=>{const h=t?.subcategories?.[s?.find(b=>b.open)?.index||0],x=n?.find(b=>b?.label?.toLowerCase()===h?.label?.toLowerCase())||{};if(h?.collections){const b=r?.categories?.[h?.collections]||{};return{label:x?.label,isCollection:!0,banner:x?.banner,primary:x?.primary,series:[{products:b?.products}]}}else if(h?.subSubCategories){const b=h?.subSubCategories?.[u],y=n?.find(o=>o?.label?.toLowerCase()===b?.label?.toLowerCase())||{};if(b?.collections){const o=r?.categories?.[b?.collections]||{};return{label:y?.label,isCollection:!0,banner:y?.banner,primary:y?.primary,series:[{products:o?.products}]}}else return y}else return x},[t,s,u,n,r]),L=(0,a.useCallback)((h,x)=>{if(x?.subSubCategories?.length>0?v(0):v(-1),x?.subSubCategories?.length>0)m(b=>b.map(y=>y.index===h?{...y,open:!0}:{...y,open:!1}));else{const y=t?.subcategories?.findIndex(o=>!!o?.subSubCategories);m(o=>o.map(p=>({...p,open:p.index===h||p.index===y})))}},[t]),k=(h,x)=>{m(b=>b.map(y=>y.index===h?{...y,open:!0}:{...y,open:!1})),v(x)};return(0,e.jsxs)(l.Container,{childClassName:"lg-desktop:gap-12 flex bg-white gap-8",children:[(0,e.jsxs)("div",{className:"lg-desktop:basis-[356px] flex basis-[284px] flex-col gap-4 py-4",style:{userSelect:"none"},ref:g,children:[(0,e.jsx)("div",{className:"desktop:h-[416px] flex flex-col overflow-y-auto",style:{scrollbarWidth:"none",msOverflowStyle:"none"},children:t?.subcategories?.map((h,x)=>{const b=Array.isArray(h?.subSubCategories)&&h?.subSubCategories?.length>0,y=s?.find(o=>o.index===x)?.open;return(0,e.jsxs)("div",{children:[(0,e.jsxs)("button",{className:(0,w.cn)("flex w-full cursor-pointer items-center justify-between border-0 bg-transparent text-left",{"bg-[#F5F5F7]":!b&&y}),onClick:()=>{L(x,h),d?.(h,x)},"aria-expanded":b?y:void 0,"aria-haspopup":b?"true":void 0,children:[(0,e.jsx)(l.Text,{html:h.label,className:"p-4 text-sm font-bold leading-[1.4]"}),b&&(0,e.jsx)(B.DownArrow,{"aria-hidden":"true",className:(0,w.cn)("size-4",{"rotate-180":y})})]}),y&&(0,e.jsx)("div",{className:"flex flex-col",role:"menu",children:h.subSubCategories?.map((o,p)=>(0,e.jsx)("button",{onClick:()=>{k(x,p),d?.(o,p)},className:(0,w.cn)("w-full cursor-pointer border-0 bg-transparent px-6 py-4 text-left",{"bg-[#F5F5F7]":u===p}),role:"menuitem","aria-label":o.label,children:(0,e.jsx)(l.Text,{html:o.label,className:"text-sm font-bold leading-[1.4] text-[#6D6D6F] hover:bg-[#F5F5F7]"})},`subSubItem-${x}-${p}`))})]},`subcategoryItem-${x}`)})}),t&&(0,e.jsx)("div",{className:"flex",children:(0,e.jsxs)("div",{className:"flex flex-col gap-4",children:[t?.primary&&(0,e.jsx)(l.Button,{as:"a",href:`${t?.primary?.url}?ref=${t?.primary?.label}_shopall`,variant:"primary",size:"lg",className:"lg-desktop:text-base text-sm",children:t?.primary?.label}),t?.secondary&&(0,e.jsx)(l.Button,{as:"a",href:t?.secondary?.url,variant:"link",size:"lg",className:"lg-desktop:text-base justify-start !p-0 text-sm",children:t?.secondary?.label})]})})]}),(0,e.jsxs)("div",{className:"flex-1 py-4",children:[Reflect.ownKeys(i).length>0&&(0,e.jsxs)("div",{className:"mb-4 flex items-center justify-between",children:[(0,e.jsxs)("div",{className:"flex items-center gap-2",children:[(0,e.jsx)(l.Text,{html:i?.label,className:"lg-desktop:text-2xl text-xl font-bold leading-[1.4]"}),i?.primary&&!i?.primary?.hide&&(0,e.jsx)(l.Button,{as:"a",href:`${i?.primary?.url}?ref=${i?.label}_viewmore`,variant:"link",size:"lg",className:"lg-desktop:text-base justify-start !p-0 text-sm font-bold leading-[1.2] no-underline",children:i?.primary?.label})]}),(0,e.jsx)(l.Link,{href:i?.guide?.url,className:"lg-desktop:text-base text-sm leading-[1.2] text-[#6D6D6F]",children:i?.guide?.label})]}),(0,e.jsx)("div",{className:"flex h-[426px] flex-col gap-4 overflow-y-auto",style:{scrollbarWidth:"none",msOverflowStyle:"none"},children:i?.series?.map((h,x)=>(0,e.jsxs)("div",{children:[h.label&&(0,e.jsx)(l.Text,{html:h.label,className:"mb-2 text-sm font-bold leading-[1.4] text-[#6D6D6F]"}),(0,e.jsxs)("div",{className:"grid grid-cols-3 gap-4",children:[!!i?.banner&&(0,e.jsx)(l.Link,{asChild:!i?.banner?.href,href:i?.banner?.href,children:(0,e.jsxs)("div",{className:"[&_img]:hover:duration-600 relative [&_img]:hover:scale-110 [&_img]:hover:transition-all",children:[(0,e.jsx)(l.Picture,{source:i?.banner?.imageUrl,className:"laptop:h-[120px] h-[114px]",imgClassName:"object-cover h-full"}),(0,e.jsxs)("div",{className:"absolute inset-x-0 bottom-0 p-4",children:[(0,e.jsx)(l.Heading,{size:2,html:i?.banner?.title||"Buy in Guide",className:"font-bold text-white"}),(0,e.jsx)(l.Text,{html:i?.banner?.desc||"20.000mAh",className:"text-sm font-bold text-white"})]})]})}),h.products?.map((b,y)=>(0,e.jsx)(Y,{seriesLabel:i?.label,product:b,isCollection:i?.isCollection},`seriesProductItem-${y}`))]})]},`seriesItem-${x}`))})]})]})}),ke=({multicolMetadata:t})=>{const n=(0,a.useRef)(null);return(0,e.jsx)("div",{ref:n,children:(0,e.jsx)(l.Container,{childClassName:"bg-white",className:"h-full",children:(0,e.jsx)("div",{className:"flex gap-4 py-4",children:t?.map((r,d)=>(0,e.jsx)("div",{className:"w-1/4",children:(0,e.jsx)(Z,{item:r})},`multicolItem-${r?.label}-${d}`))})})})},we=({supportsMetadata:t,currentNavItemRef:n})=>{const r=(0,a.useRef)(null),[d,s]=(0,a.useState)(null),[m,u]=(0,a.useState)(0);(0,a.useEffect)(()=>{if(r?.current){const g=r?.current?.getBoundingClientRect();u(g.height)}},[r]);const v=(0,re.debounce)(()=>{if(n){const g=n.getBoundingClientRect();s(g)}},500);return(0,a.useEffect)(()=>(v(),window.addEventListener("resize",v),()=>{window.removeEventListener("resize",v)}),[v]),(0,a.useEffect)(()=>{if(n){const g=n.getBoundingClientRect();s(g)}},[n]),(0,e.jsx)("div",{className:"absolute top-0 h-full overflow-hidden bg-white transition-all duration-500",style:{right:`calc(100% - ${d?.right}px)`,height:m},children:(0,e.jsx)("div",{ref:r,className:"p-4",children:t?.map(g=>(0,e.jsx)("div",{className:"py-2",children:(0,e.jsx)(l.Link,{href:g.url,className:"text-sm font-bold leading-[1.4] no-underline",children:g.label})},g.id))})})},Y=({product:t,isCollection:n,position:r,seriesLabel:d})=>{const{buildProps:s,onSeriesProductClick:m}=(0,T.useNavContext)();let u=n?t:s?.products?.find(i=>i.handle===t.handle);const v=u?.variants?.find(i=>i.sku===t.sku)||u?.variants?.[0],g=(0,a.useMemo)(()=>`/products/${u?.handle}?variant=${(0,w.atobID)(v?.id)}`,[u?.handle,v?.id]),N=(0,a.useMemo)(()=>u?.tags?.filter?.(i=>i?.startsWith?.("CLtag"))?.map?.(i=>i?.replace?.("CLtag:",""))?.slice?.(0,2),[u?.tags]);return v?.availableForSale?(0,e.jsx)(l.Link,{href:g,onClick:i=>{i.preventDefault(),window.open(g,"_self"),m?.(u,r||0,d)},className:"no-underline hover:text-current",children:(0,e.jsxs)("div",{className:"flex shrink-0 items-center gap-4 bg-[#F5F5F7] px-4 py-3 [&_img]:hover:scale-110",children:[(0,e.jsx)("div",{className:"shrink-0",children:(0,e.jsx)(l.Picture,{source:`${v?.image?.url||t?.images?.[0]?.url}}`,width:90,height:90,className:"size-[96px]",imgClassName:"object-contain h-full"})}),(0,e.jsxs)("div",{className:"relative",children:[(0,e.jsx)("div",{className:"flex gap-1",children:Array.isArray(N)&&N?.map(i=>(0,e.jsx)(l.Text,{as:"p",html:i,className:"text-brand-0 mb-1 inline-block h-[24px] whitespace-nowrap rounded-full border-[1.6px] border-[#00BEFA] px-[6px] text-sm font-bold !leading-[22px]"}))}),(0,e.jsx)(l.Text,{className:"lg-desktop:h-[44px] lg-desktop:text-base line-clamp-2 h-[40px] text-sm font-bold leading-[1.4]",html:u?.title||t?.name}),t?.desc&&(0,e.jsx)(l.Text,{as:"p",html:t?.desc,className:"lg-desktop:text-sm mt-1 line-clamp-1 text-xs font-bold leading-[1.4] text-[#6D6D6F]"})]})]})}):null},Z=({item:t,allPicture:n})=>(0,e.jsxs)(e.Fragment,{children:[t?.columns&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(l.Text,{html:t.label,as:"div",className:"my-2 text-sm font-bold leading-[1.4] text-[#6D6D6F]"}),(0,e.jsx)("div",{className:"mt-2 flex flex-col",children:t.columns?.map(r=>(0,e.jsxs)("div",{className:"flex items-center gap-1 py-2",children:[(0,e.jsx)(l.Link,{href:`${r.url}?ref=navMenu`,asChild:!r.url,className:"text-sm font-bold leading-[1.4] no-underline",children:r.label}),r?.badge&&(0,e.jsx)(l.Text,{as:"p",html:r?.badge||"badge",className:"text-brand-0 h-[24px] rounded-full border-[1.6px] border-[var(--brand-color-0)] px-[6px] text-sm font-bold !leading-[22px]"})]},r.label))})]}),t?.imageUrl&&(0,e.jsx)("div",{className:(0,w.cn)("laptop:h-[280px] desktop:h-[224px] lg-desktop:h-[280px] tablet:max-w-[346px] laptop:max-w-[440px] desktop:w-full relative h-[240px] max-w-[358px] overflow-hidden",{"tablet:max-w-none laptop:max-w-none":n}),children:(0,e.jsxs)(l.Link,{href:`${t.url}?ref=navMenu`,asChild:!t.url,children:[(0,e.jsx)(l.Picture,{source:t.imageUrl,width:404,height:280,className:"size-full",imgClassName:"object-cover h-full hover:scale-105 transition-all duration-300"}),(0,e.jsxs)("div",{className:"absolute bottom-4 left-4 z-10 flex flex-col justify-end no-underline",children:[(0,e.jsx)(l.Text,{html:t.title,className:(0,w.cn)("lg-desktop:text-2xl text-xl font-bold leading-[1.2] text-white",{"text-black":t?.theme==="dark"})}),t.subtitle&&(0,e.jsx)(l.Text,{html:t.subtitle,className:(0,w.cn)("text-sm font-bold leading-[1.4] text-white",{"text-black":t?.theme==="dark"})}),t?.primary?.label&&(0,e.jsx)(l.Button,{as:"a",href:t?.primary?.url,variant:"link",size:"lg",className:(0,w.cn)("mr-auto !p-0 text-sm font-bold leading-[1.4] text-white",{"text-black":t?.theme==="dark"}),children:t?.primary?.label||"more"})]})]})})]}),Ce=(0,a.forwardRef)(({data:t,className:n,onPrimaryNavClick:r},d)=>{const s=(0,a.useMemo)(()=>(0,H.WithGroupCategory)(t?.categories?.filter(C=>C?.mobileShow)),[t]),{currentMenu:m,setCurrentMenu:u,subSubCategory:v}=(0,T.useNavContext)(),[g,N]=(0,a.useState)(!1),[i,L]=(0,a.useState)(0),[k,h]=(0,a.useState)(null),x=(0,a.useRef)(null);(0,a.useEffect)(()=>{if(x?.current&&g){const C=x?.current?.getBoundingClientRect();L(window?.innerHeight-(C?.bottom||0))}},[g]),(0,J.useGSAP)(()=>{V.gsap.fromTo(x.current,{height:0},{height:i,duration:.3})},[i]),(0,a.useEffect)(()=>{document.documentElement.style.overflow=g?"hidden":"auto"},[g]);const b=(0,a.useMemo)(()=>k?.components?.[0]?.blockType,[k]),y=(0,H.WithSupports)(Le,{categoriesItem:k}),o=(0,H.WithSidebar)(De,k),p=(0,H.WithMulticol)(Me,k),P=(0,a.useMemo)(()=>{switch(b){case f.HeaderNavigationBlockType.Sidebar:return(0,e.jsx)(o,{});case f.HeaderNavigationBlockType.Supports:return(0,e.jsx)(y,{});case f.HeaderNavigationBlockType.Multicol:return(0,e.jsx)(p,{});default:return null}},[b,k,y]),D=(0,a.useCallback)(()=>{N(!1),L(0),u&&u(f.HeaderNavigationMenu.Primary)},[N,L,u]),M=(0,a.useMemo)(()=>t?.headerBar?.actions?.filter(C=>C?.mobileShow&&C?.blockType!==f.HeaderNavigationActionBlockType.Profile),[t]),S=(0,a.useMemo)(()=>t?.headerBar?.actions?.find(C=>C?.mobileShow&&C?.blockType===f.HeaderNavigationActionBlockType.Profile)||{},[t]),$=(0,a.useMemo)(()=>{switch(m){case f.HeaderNavigationMenu.Primary:return(0,e.jsx)(Ee,{actions:M,menuOpen:g,onMenuOpenClose:()=>{N(!1),L(0)},onMenuOpenClick:()=>N(!0)});case f.HeaderNavigationMenu.Secondary:return(0,e.jsx)(le,{title:k?.text,onMenuOpenClose:D,onMenuBackClick:()=>u?.(f.HeaderNavigationMenu.Primary)});case f.HeaderNavigationMenu.Third:return(0,e.jsx)(le,{title:v?.label,onMenuOpenClose:D,onMenuBackClick:()=>u?.(f.HeaderNavigationMenu.Secondary)});default:return null}},[g,m,u,k,M,v,D]),O=(0,a.useCallback)((C,I)=>{const F=Array.isArray(s)?Array.isArray(s[C])?s[C][I]:{}:{};h(F),F?.components?.[0]?.blockType===f.HeaderNavigationBlockType.Links?F?.components?.[0]?.url&&window.open(F?.components?.[0]?.url):u?.(f.HeaderNavigationMenu.Secondary)},[s,u]);return(0,e.jsxs)(l.Container,{className:(0,w.cn)("relative h-[52px]",n),children:[$,g&&(0,e.jsx)("nav",{ref:x,className:"absolute left-0 top-full z-[999] w-full overflow-y-auto border-t border-[#E4E5E6] bg-white text-black",style:{height:i},role:"navigation","aria-label":"Mobile navigation menu",children:m===f.HeaderNavigationMenu.Primary?(0,e.jsx)(Se,{categories:s,onPrimaryMenuClick:O,onPrimaryNavClick:r,profileAction:S}):P})]})}),Se=({categories:t,onPrimaryMenuClick:n,profileAction:r,onPrimaryNavClick:d})=>(0,e.jsxs)("div",{className:"flex h-full flex-col justify-between",children:[(0,e.jsx)("div",{className:"tablet:px-8 laptop:px-16 p-4",children:t?.map((s,m)=>(0,e.jsxs)("div",{className:"",children:[s?.map((u,v)=>(0,e.jsx)(K,{label:u.text,onClick:()=>{const N=(t?.flat()||[])?.findIndex(i=>i?.id===t[m][v]?.id);n(m,v),d?.(u,N)},icon:u.components?.[0]?.icon},u.id)),(0,e.jsx)("div",{className:(0,w.cn)("my-2 h-px w-full bg-[#E5E5E7]",{hidden:m===t.length-1})})]},`groupCategory-${m}`))}),(0,e.jsx)(Pe,{profileAction:r})]}),De=({sidebarCategoriesMetadata:t,seriesMetadata:n})=>{const{currentMenu:r,setCurrentMenu:d,subSubCategory:s,setSubSubCategory:m,setCurrentSeriesMetadata:u,currentSeriesMetadata:v,buildProps:g,onSidebarNavClick:N}=(0,T.useNavContext)(),[i,L]=(0,a.useState)([]),[k,h]=(0,a.useState)([]);(0,a.useEffect)(()=>{t?.subcategories?.length&&L(t?.subcategories?.map((o,p)=>({index:p,open:!1})))},[t]),(0,a.useEffect)(()=>{s?.subSubCategories?.length&&h(s?.subSubCategories?.map((o,p)=>({index:p,open:p===0})))},[s]);const x=(0,a.useCallback)((o,p)=>{d&&d(f.HeaderNavigationMenu.Third),m?.(o);const P=n?.find(D=>p!==void 0?o?.subSubCategories?.[p]?.label?.toLowerCase()===D.label?.toLowerCase():o?.label?.toLowerCase()===D.label?.toLowerCase())||{};if(o?.collections){const D=g?.categories?.[o?.collections]||{};u?.({label:P?.label,isCollection:!0,banner:P?.banner,primary:P?.primary,series:[{products:D?.products}]})}else u?.(P)},[n,d,m,u,g?.categories]),b=(0,a.useMemo)(()=>n?.find(o=>!!o?.guide)?.guide,[n]);return(0,a.useMemo)(()=>{switch(r){case f.HeaderNavigationMenu.Secondary:return(0,e.jsxs)("div",{className:"tablet:px-8 laptop:px-16 tablet:justify-start tablet:gap-16 flex h-full flex-col justify-between p-4",children:[(0,e.jsx)("div",{children:t?.subcategories?.map((o,p)=>(0,e.jsx)("div",{children:(0,e.jsx)(K,{label:o?.label,active:i.find(P=>P.index===p)?.open,onClick:()=>{x(o),N?.(o,p)}})},`${o.label}-${p}`))}),(0,e.jsxs)("div",{className:"tablet:items-start flex flex-col items-center gap-4",children:[t?.primary&&(0,e.jsx)(l.Button,{as:"a",href:`${t?.primary?.url}?ref=${t?.primary?.label}_shopall`,variant:"primary",size:"lg",className:"tablet:w-auto w-full text-base",children:t?.primary?.label}),t?.secondary&&(0,e.jsx)(l.Button,{as:"a",href:t?.secondary?.url,variant:"link",size:"lg",className:"tablet:w-auto tablet:px-0 w-full py-0 text-base",children:t?.secondary?.label})]})]});case f.HeaderNavigationMenu.Third:return(0,e.jsxs)("div",{className:"tablet:px-8 laptop:px-16 p-4",children:[s?.subSubCategories?s?.subSubCategories?.map((o,p)=>{const P=n?.find(M=>M.label.toLowerCase()===o?.label?.toLowerCase())||{};let D={};if(o?.collections){const M=g?.categories?.[o?.collections]||{};D={label:P?.label,isCollection:!0,banner:P?.banner,primary:P?.primary,series:[{products:M?.products}]}}else D=P;return(0,e.jsxs)("div",{children:[Reflect.ownKeys(o).length>0&&(0,e.jsx)(ee,{matchSeriesMetadata:D,onSubSubCategoryItemClick:()=>{N?.(o,p),h(M=>M.map((S,$)=>({...S,open:$===p?!S.open:S.open})))},expanded:!!k?.find(M=>M.index===p)?.open}),k?.find(M=>M.index===p)?.open&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(te,{matchSeriesMetadata:D}),D?.primary&&(0,e.jsx)("div",{className:"my-4 text-center",children:(0,e.jsx)(l.Button,{as:"a",href:D?.primary?.url,className:"text-base leading-[1.2] no-underline",variant:"secondary",size:"base",children:D?.primary?.label})})]})]},`${o.label}-${p}`)}):(0,e.jsxs)(e.Fragment,{children:[Reflect.ownKeys(v).length>0&&(0,e.jsx)(ee,{matchSeriesMetadata:v}),(0,e.jsx)(te,{matchSeriesMetadata:v}),v?.primary&&(0,e.jsx)("div",{className:"my-4 text-center ",children:(0,e.jsx)(l.Button,{as:"a",href:`${v?.primary?.url}?ref=${v?.label}_viewmore`,variant:"secondary",size:"base",className:"text-base leading-[1.2] no-underline",children:v?.primary?.label})})]}),b&&(0,e.jsx)(l.Link,{href:b?.url,children:(0,e.jsx)("div",{className:"mt-4",children:(0,e.jsx)(l.Text,{html:b?.label,className:"text-sm font-bold leading-[1.2] text-[#6D6D6F]"})})})]});default:return null}},[r,t,n,i,k,s,v,g?.categories,b,x,N])},ee=({matchSeriesMetadata:t,onSubSubCategoryItemClick:n,expanded:r})=>{const d=(0,e.jsxs)(e.Fragment,{children:[t?.label&&(0,e.jsx)(l.Text,{html:t?.label,className:"text-sm font-bold leading-[1.4]"}),n&&(0,e.jsx)(B.DownArrow,{"aria-hidden":"true",className:(0,w.cn)("size-5",{"rotate-180":r})})]});return n?(0,e.jsx)("button",{className:"tablet:pt-0 flex w-full cursor-pointer items-center justify-between border-0 bg-transparent py-4 text-left",onClick:n,"aria-expanded":r,children:d}):(0,e.jsx)("div",{className:"tablet:pt-0 flex items-center justify-between py-4",children:d})},te=({matchSeriesMetadata:t})=>(0,e.jsx)("div",{className:"laptop:gap-3 flex flex-col gap-2",children:!!t?.series?.length&&t?.series?.map((n,r)=>(0,e.jsxs)("div",{children:[n.label&&(0,e.jsx)(l.Text,{html:n.label,className:"mb-2 text-sm font-bold leading-[1.4] text-[#3D3D3F]"}),(0,e.jsxs)("div",{className:"laptop:grid-cols-3 laptop:gap-4 tablet:grid tablet:grid-cols-2 tablet:gap-3 flex flex-col gap-2",children:[!!t?.banner&&(0,e.jsx)(l.Link,{asChild:!t?.banner?.href,href:t?.banner?.href,children:(0,e.jsxs)("div",{className:"[&_img]:hover:duration-600 relative [&_img]:hover:scale-110 [&_img]:hover:transition-all",children:[(0,e.jsx)(l.Picture,{source:t?.banner?.imageUrl,className:"laptop:h-[120px] h-[114px]",imgClassName:"object-cover h-full"}),(0,e.jsxs)("div",{className:"absolute inset-x-0 bottom-0 p-4",children:[(0,e.jsx)(l.Heading,{size:2,html:t?.banner?.title||"Buy in Guide",className:(0,w.cn)("font-bold text-white",{"text-black":t?.banner?.theme==="dark"})}),(0,e.jsx)(l.Text,{html:t?.banner?.desc||"20.000mAh",className:(0,w.cn)("text-sm font-bold text-white",{"text-black":t?.banner?.theme==="dark"})})]})]})}),n.products?.map((d,s)=>(0,e.jsx)(Y,{position:s,product:d,seriesLabel:t?.label,isCollection:t?.isCollection},`seriesProductItem-${r}-${s}`))]})]},`seriesItem-${r}`))}),Le=({supportsMetadata:t})=>(0,e.jsx)("div",{className:"tablet:px-8 laptop:px-16 p-4",children:t?.map(n=>(0,e.jsx)(K,{href:n.url,label:n.label,onClick:()=>{}},n.id))}),Me=({multicolMetadata:t})=>{const n=(0,a.useMemo)(()=>!t?.some(r=>!!r.columns),[t]);return(0,e.jsx)("div",{className:(0,w.cn)("tablet:py-4 tablet:px-8 laptop:px-16 tablet:gap-6 flex flex-col gap-4 p-4",{"tablet:grid tablet:grid-cols-2 tablet:gap-3 laptop:gap-4":n}),children:t?.map((r,d)=>(0,e.jsx)("div",{children:(0,e.jsx)(Z,{item:r,allPicture:n})},`multicolItem-${r?.label}-${d}`))})},Pe=({profileAction:t})=>{const[n,r]=(0,a.useState)(!1),{profile:d,event:s}=(0,T.useNavContext)();return(0,e.jsxs)("div",{className:(0,w.cn)("tablet:px-8 laptop:px-16 bg-[#F5F5F7] px-4 py-6",{"p-4":n}),children:[(0,e.jsxs)("button",{className:"flex w-full cursor-pointer items-center justify-between border-0 bg-transparent",onClick:()=>r(!n),"aria-expanded":n,"aria-label":d?.nick_name||t?.welcome,children:[(0,e.jsxs)("div",{className:"flex items-center gap-[14px]",children:[(0,e.jsx)("div",{className:"flex size-[40px] shrink-0 items-center justify-center rounded-full bg-white",children:(0,e.jsx)(B.User,{"aria-hidden":"true"})}),(0,e.jsx)(l.Text,{html:d?.nick_name||t?.welcome,className:"text-base font-bold leading-[1.4]"})]}),!d?.email&&(0,e.jsx)(B.DownArrow,{"aria-hidden":"true",className:(0,w.cn)("laptop:size-4 size-5",{"rotate-180":n})})]}),d?.email&&(0,e.jsx)("nav",{className:"mt-4",role:"navigation","aria-label":"Profile menu",children:t?.profiles?.map(m=>(0,e.jsx)(K,{label:m?.title,href:m?.url},m.id))}),n&&!d?.email&&(0,e.jsxs)("div",{className:"mt-4",children:[(0,e.jsx)(l.Text,{html:t?.benefits_title,className:"text-sm font-bold leading-[1.4]"}),(0,e.jsx)("div",{className:"mt-2 flex flex-col gap-1",children:t?.benefits?.map(m=>(0,e.jsxs)("div",{className:"flex items-center gap-[6px]",children:[(0,e.jsx)(l.Picture,{source:m.benefitIcon?.url,className:"size-4",alt:m.benefit,width:16,height:16}),(0,e.jsx)(l.Text,{html:m.benefit,className:"text-sm font-bold leading-[1.4]"})]},m.id))})]}),!d?.email&&(0,e.jsxs)("div",{className:"mt-4 flex items-center gap-3",children:[(0,e.jsx)(l.Button,{className:"tablet:flex-none flex-1",variant:"secondary",size:"base",onClick:()=>s?.join?.(),children:(0,e.jsx)(l.Text,{html:t?.primaryButton||"Join Now",className:"text-sm font-bold leading-[1.4]"})}),(0,e.jsx)(l.Button,{className:"tablet:flex-none flex-1",variant:"primary",size:"base",onClick:()=>s?.login?.(),children:(0,e.jsx)(l.Text,{html:t?.secondaryButton||"Log In",className:"text-sm font-bold leading-[1.4]"})})]})]})},Ee=({menuOpen:t,onMenuOpenClose:n,onMenuOpenClick:r,actions:d})=>(0,e.jsxs)("div",{className:"flex h-full items-center justify-between gap-4",children:[(0,e.jsx)(ae,{}),(0,e.jsxs)("div",{className:"desktop:gap-6 flex items-center gap-4",children:[(0,e.jsx)(ne,{actions:d}),t?(0,e.jsx)("button",{className:"cursor-pointer border-0 bg-transparent p-0",onClick:()=>n(),"aria-label":"Close menu","aria-expanded":"true",children:(0,e.jsx)(B.Close,{className:"size-5","aria-hidden":"true"})}):(0,e.jsx)("button",{className:"cursor-pointer border-0 bg-transparent p-0",onClick:()=>r(),"aria-label":"Open menu","aria-expanded":"false","aria-haspopup":"true",children:(0,e.jsx)(B.Menu,{className:"size-5","aria-hidden":"true"})})]})]}),ae=()=>{const{payloadData:t,isMobile:n}=(0,T.useNavContext)();return(0,e.jsx)("a",{href:"/",className:"hover:text-brand-0 [&>svg]:w-full","aria-label":"Home",dangerouslySetInnerHTML:{__html:n?t?.headerBar?.mobileLogo:t?.headerBar?.desktopLogo}})},ne=(0,a.forwardRef)(({actions:t,activeStatus:n=!1},r)=>{const{event:d,cartCount:s}=(0,T.useNavContext)(),[m,u]=(0,a.useState)(null),v=N=>{switch(N){case f.HeaderNavigationActionBlockType.Search:return"Search";case f.HeaderNavigationActionBlockType.Cart:return`Shopping cart${s>0?` (${s} items)`:""}`;case f.HeaderNavigationActionBlockType.Profile:return"User profile";case f.HeaderNavigationActionBlockType.Livestream:return"Livestream";default:return"Action"}},g=(0,a.useCallback)((N,i)=>{switch(u(i),N?.blockType){case f.HeaderNavigationActionBlockType.Search:d?.search?.();break;case f.HeaderNavigationActionBlockType.Cart:d?.cart?.();break;case f.HeaderNavigationActionBlockType.Profile:d?.profile?.();break;case f.HeaderNavigationActionBlockType.Livestream:d?.livestream?.();break;default:return()=>{}}},[d]);return(0,e.jsx)("div",{className:"desktop:gap-6 flex items-center gap-4",children:Array.isArray(t)&&t?.map((N,i)=>(0,e.jsxs)("button",{className:"relative cursor-pointer border-0 bg-transparent p-0",ref:N.blockType===f.HeaderNavigationActionBlockType.Profile?r:null,onClick:()=>g(N,i),"aria-label":v(N.blockType),"aria-pressed":n&&m===i,children:[(0,e.jsx)(l.Text,{html:N.icon,className:(0,w.cn)("size-5",{"text-brand-0":n&&m===i}),"aria-hidden":"true"}),N.blockType===f.HeaderNavigationActionBlockType.Cart&&s>0&&(0,e.jsx)("div",{className:"bg-brand-0 absolute right-[-12px] top-[calc(100%-16px)] z-[1] flex min-h-5 min-w-5 items-center justify-center rounded-full px-[2px]","aria-hidden":"true",children:(0,e.jsx)(l.Text,{html:s?.toString(),className:"text-sm font-bold leading-[1.2] text-white"})})]},N.id))})}),le=({title:t,onMenuOpenClose:n,onMenuBackClick:r})=>(0,e.jsxs)("div",{className:"flex h-full items-center gap-3",children:[(0,e.jsx)("button",{className:"cursor-pointer border-0 bg-transparent p-0",onClick:()=>r(),"aria-label":"Back to previous menu",children:(0,e.jsx)(B.LeftArrow,{className:"size-5","aria-hidden":"true"})}),(0,e.jsx)(l.Text,{html:t,className:"flex-1 text-center text-base font-bold leading-[1.4]"}),(0,e.jsx)("button",{className:"cursor-pointer border-0 bg-transparent p-0",onClick:()=>n(),"aria-label":"Close menu",children:(0,e.jsx)(B.Close,{className:"size-5","aria-hidden":"true"})})]}),K=({label:t,href:n,onClick:r,active:d,icon:s,className:m})=>{const u=(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)("div",{className:"flex items-center gap-4",children:[(0,e.jsx)(l.Text,{html:t,className:(0,w.cn)("text-sm font-bold leading-[1.4]",{underline:s})}),s&&(0,e.jsx)(l.Text,{html:s,"aria-hidden":"true"})]}),(0,e.jsx)(B.RightArrow,{className:(0,w.cn)("laptop:size-4 size-5",{"rotate-90":d}),"aria-hidden":"true"})]});return n?(0,e.jsx)(l.Link,{href:n,className:(0,w.cn)("flex cursor-pointer items-center justify-between py-4 no-underline",m),children:u}):(0,e.jsx)("button",{className:(0,w.cn)("flex w-full cursor-pointer items-center justify-between border-0 bg-transparent py-4 text-left",m),onClick:r,"aria-expanded":d,children:u})};var Be=ye;
|
|
2
2
|
//# sourceMappingURL=index.js.map
|