@anker-in/headless-ui 1.0.19 → 1.0.20-alpha.102301
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/apps/playground/utils/classnames.d.ts +1 -0
- package/dist/cjs/apps/storefront/lib/utils/classnames.d.ts +2 -0
- package/dist/cjs/biz-components/AccordionCards/index.js.map +2 -2
- package/dist/cjs/biz-components/AccordionCards/useDebounce.d.ts +6 -0
- package/dist/cjs/biz-components/AiuiProvider/index.d.ts +4 -0
- package/dist/cjs/biz-components/AiuiProvider/index.js +1 -1
- package/dist/cjs/biz-components/AiuiProvider/index.js.map +2 -2
- package/dist/cjs/biz-components/AplusDesc/index.d.ts +22 -0
- package/dist/cjs/biz-components/AplusDesc/index.js +2 -0
- package/dist/cjs/biz-components/AplusDesc/index.js.map +7 -0
- 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 +6 -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/HeroBanner.d.ts +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/AnimatedUL.d.ts +9 -0
- package/dist/cjs/biz-components/CollectionsFilters/FilterCardWrap.d.ts +17 -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/FilterTab.d.ts +7 -0
- package/dist/cjs/biz-components/CollectionsFilters/FiterTab.d.ts +7 -0
- package/dist/cjs/biz-components/CollectionsFilters/FiterTab.js +2 -0
- package/dist/cjs/biz-components/CollectionsFilters/FiterTab.js.map +7 -0
- package/dist/cjs/biz-components/CollectionsFilters/Helper.d.ts +8 -0
- package/dist/cjs/biz-components/CollectionsFilters/MoblieSortFilter.d.ts +8 -0
- package/dist/cjs/biz-components/CollectionsFilters/SortFilter.d.ts +8 -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/LoadingDots.d.ts +6 -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/data.d.ts +24804 -0
- package/dist/cjs/biz-components/CollectionsFilters/index.d.ts +22 -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/CollectionsFilters/price.d.ts +25 -0
- package/dist/cjs/biz-components/CollectionsFilters/priceProps.d.ts +215 -0
- package/dist/cjs/biz-components/CollectionsFilters/tabFilter.d.ts +10 -0
- package/dist/cjs/biz-components/CollectionsFilters/tabSwitch.d.ts +9 -0
- package/dist/cjs/biz-components/DownLoad/index.d.ts +20 -0
- package/dist/cjs/biz-components/DownLoad/index.js +2 -0
- package/dist/cjs/biz-components/DownLoad/index.js.map +7 -0
- package/dist/cjs/biz-components/Faq/Faq.js +1 -1
- package/dist/cjs/biz-components/Faq/Faq.js.map +2 -2
- package/dist/cjs/biz-components/Features/index.d.ts +26 -0
- package/dist/cjs/biz-components/Features/index.js +2 -0
- package/dist/cjs/biz-components/Features/index.js.map +7 -0
- package/dist/cjs/biz-components/FootCharger/index.d.ts +12 -0
- package/dist/cjs/biz-components/FootCharger/index.js +2 -0
- package/dist/cjs/biz-components/FootCharger/index.js.map +7 -0
- package/dist/cjs/biz-components/FooterNavigation/index.js +1 -1
- package/dist/cjs/biz-components/FooterNavigation/index.js.map +3 -3
- package/dist/cjs/biz-components/FooterNavigation/types.d.ts +2 -1
- package/dist/cjs/biz-components/FooterNavigation/types.js +1 -1
- package/dist/cjs/biz-components/FooterNavigation/types.js.map +2 -2
- package/dist/cjs/biz-components/GiftBox/index.d.ts +17 -0
- package/dist/cjs/biz-components/GiftBox/index.js +2 -0
- package/dist/cjs/biz-components/GiftBox/index.js.map +7 -0
- package/dist/cjs/biz-components/Graphic/index.js +1 -1
- package/dist/cjs/biz-components/Graphic/index.js.map +2 -2
- package/dist/cjs/biz-components/GraphicMore/index.d.ts +22 -0
- package/dist/cjs/biz-components/GraphicMore/index.js +2 -0
- package/dist/cjs/biz-components/GraphicMore/index.js.map +7 -0
- package/dist/cjs/biz-components/HeaderNavigation/NavProvider.d.ts +6 -5
- package/dist/cjs/biz-components/HeaderNavigation/NavProvider.js +1 -1
- package/dist/cjs/biz-components/HeaderNavigation/NavProvider.js.map +3 -3
- package/dist/cjs/biz-components/HeaderNavigation/icons/Polygon.d.ts +3 -0
- package/dist/cjs/biz-components/HeaderNavigation/icons/Polygon.js +2 -0
- package/dist/cjs/biz-components/HeaderNavigation/icons/Polygon.js.map +7 -0
- package/dist/cjs/biz-components/HeaderNavigation/icons/index.d.ts +2 -1
- package/dist/cjs/biz-components/HeaderNavigation/icons/index.js +1 -1
- package/dist/cjs/biz-components/HeaderNavigation/icons/index.js.map +3 -3
- 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/HeaderNavigation/types.d.ts +20 -2
- package/dist/cjs/biz-components/HeaderNavigation/types.js +1 -1
- package/dist/cjs/biz-components/HeaderNavigation/types.js.map +2 -2
- package/dist/cjs/biz-components/HeaderNavigation/withCategory.d.ts +1 -1
- package/dist/cjs/biz-components/HeaderNavigation/withCategory.js +1 -1
- package/dist/cjs/biz-components/HeaderNavigation/withCategory.js.map +3 -3
- package/dist/cjs/biz-components/Listing/ProductProvider.d.ts +52 -0
- package/dist/cjs/biz-components/Listing/ProductProvider.js +2 -0
- package/dist/cjs/biz-components/Listing/ProductProvider.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTabs/index.d.ts +5 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.d.ts +30 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/index.d.ts +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/index.js +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/index.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/types.d.ts +43 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/types.js +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductDetail/types.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.d.ts +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.d.ts +21 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.d.ts +5 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.d.ts +1 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/types.d.ts +35 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/types.js +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGallery/types.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGridBox.d.ts +6 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGridBox.js +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductGridBox.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +3 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/types.d.ts +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/types.js +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/ProductSummary/types.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/index.d.ts +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/index.js +2 -0
- package/dist/cjs/biz-components/Listing/components/ProductCard/index.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.d.ts +2 -0
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +2 -0
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.d.ts +4 -0
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js +2 -0
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.d.ts +10 -0
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js +2 -0
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.d.ts +3 -0
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.js +2 -0
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/index.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.d.ts +12 -0
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.js +2 -0
- package/dist/cjs/biz-components/Listing/components/PurchaseBar/types.js.map +7 -0
- package/dist/cjs/biz-components/Listing/components/index.d.ts +3 -0
- package/dist/cjs/biz-components/Listing/components/index.js +2 -0
- package/dist/cjs/biz-components/Listing/components/index.js.map +7 -0
- package/dist/cjs/biz-components/Listing/const.d.ts +28 -0
- package/dist/cjs/biz-components/Listing/const.js +2 -0
- package/dist/cjs/biz-components/Listing/const.js.map +7 -0
- package/dist/cjs/biz-components/Listing/hooks/use-options.d.ts +3 -0
- package/dist/cjs/biz-components/Listing/hooks/use-options.js +2 -0
- package/dist/cjs/biz-components/Listing/hooks/use-options.js.map +7 -0
- package/dist/cjs/biz-components/Listing/hooks/use-variant-media.d.ts +14 -0
- package/dist/cjs/biz-components/Listing/hooks/use-variant-media.js +2 -0
- package/dist/cjs/biz-components/Listing/hooks/use-variant-media.js.map +7 -0
- package/dist/cjs/biz-components/Listing/hooks/use-variant.d.ts +5 -0
- package/dist/cjs/biz-components/Listing/hooks/use-variant.js +2 -0
- package/dist/cjs/biz-components/Listing/hooks/use-variant.js.map +7 -0
- package/dist/cjs/biz-components/Listing/hooks/useCopy.d.ts +8 -0
- package/dist/cjs/biz-components/Listing/hooks/useCopy.js +2 -0
- package/dist/cjs/biz-components/Listing/hooks/useCopy.js.map +7 -0
- package/dist/cjs/biz-components/Listing/index.d.ts +3 -0
- package/dist/cjs/biz-components/Listing/index.js +2 -0
- package/dist/cjs/biz-components/Listing/index.js.map +7 -0
- package/dist/cjs/biz-components/Listing/types/graphql.d.ts +7473 -0
- package/dist/cjs/biz-components/Listing/types/graphql.js +2 -0
- package/dist/cjs/biz-components/Listing/types/graphql.js.map +7 -0
- package/dist/cjs/biz-components/Listing/types/product.d.ts +141 -0
- package/dist/cjs/biz-components/Listing/types/product.js +2 -0
- package/dist/cjs/biz-components/Listing/types/product.js.map +7 -0
- package/dist/cjs/biz-components/Listing/types/productMetafields.d.js +2 -0
- package/dist/cjs/biz-components/Listing/types/productMetafields.d.js.map +7 -0
- package/dist/cjs/biz-components/Listing/types/type-helper.d.ts +5 -0
- package/dist/cjs/biz-components/Listing/types/type-helper.js +2 -0
- package/dist/cjs/biz-components/Listing/types/type-helper.js.map +7 -0
- package/dist/cjs/biz-components/Listing/types.d.ts +21 -0
- package/dist/cjs/biz-components/Listing/types.js +2 -0
- package/dist/cjs/biz-components/Listing/types.js.map +7 -0
- package/dist/cjs/biz-components/Listing/utils/helper.d.ts +21 -0
- package/dist/cjs/biz-components/Listing/utils/helper.js +2 -0
- package/dist/cjs/biz-components/Listing/utils/helper.js.map +7 -0
- package/dist/cjs/biz-components/Listing/utils/index.d.ts +37 -0
- package/dist/cjs/biz-components/Listing/utils/index.js +2 -0
- package/dist/cjs/biz-components/Listing/utils/index.js.map +7 -0
- package/dist/cjs/biz-components/MediaPlayerMulti/YouTubePlayer.d.ts +3 -0
- package/dist/cjs/biz-components/MediaPlayerSticky/index.js +1 -1
- package/dist/cjs/biz-components/MediaPlayerSticky/index.js.map +2 -2
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
- package/dist/cjs/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +2 -2
- package/dist/cjs/biz-components/NavigationSearch/index.d.ts +4 -0
- package/dist/cjs/biz-components/NavigationSearch/index.js +2 -0
- package/dist/cjs/biz-components/NavigationSearch/index.js.map +7 -0
- package/dist/cjs/biz-components/NavigationSearch/types.d.ts +18 -0
- package/dist/cjs/biz-components/NavigationSearch/types.js +2 -0
- package/dist/cjs/biz-components/NavigationSearch/types.js.map +7 -0
- 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/SearchPage/index.d.ts +6 -0
- package/dist/cjs/biz-components/SearchPage/index.js +2 -0
- package/dist/cjs/biz-components/SearchPage/index.js.map +7 -0
- package/dist/cjs/biz-components/SearchPage/types.d.ts +58 -0
- package/dist/cjs/biz-components/SearchPage/types.js +2 -0
- package/dist/cjs/biz-components/SearchPage/types.js.map +7 -0
- package/dist/cjs/biz-components/SectionHeading/SectionHeading.d.ts +4 -0
- package/dist/cjs/biz-components/SectionHeading/index.d.ts +0 -0
- package/dist/cjs/biz-components/SectionHeading/types.d.ts +6 -0
- package/dist/cjs/biz-components/SelectStore/index.d.ts +20 -0
- package/dist/cjs/biz-components/SelectStore/index.js +2 -0
- package/dist/cjs/biz-components/SelectStore/index.js.map +7 -0
- package/dist/cjs/biz-components/Shelf/Shelf.d.ts +8 -0
- package/dist/cjs/biz-components/Shelf/index.d.ts +1 -0
- package/dist/cjs/biz-components/Shelf/types.d.ts +6 -0
- package/dist/cjs/biz-components/ShelfDisplay/index.js +1 -1
- package/dist/cjs/biz-components/ShelfDisplay/index.js.map +3 -3
- package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.d.ts +11 -2
- package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
- package/dist/cjs/biz-components/ShelfDisplay/shelfDisplay.js.map +3 -3
- package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js +4 -4
- package/dist/cjs/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
- package/dist/cjs/biz-components/ShelfDisplay/tab.d.ts +7 -0
- package/dist/cjs/biz-components/Specs/dropdown.d.ts +11 -0
- package/dist/cjs/biz-components/Specs/dropdown.js +3 -0
- package/dist/cjs/biz-components/Specs/dropdown.js.map +7 -0
- package/dist/cjs/biz-components/Specs/index.d.ts +6 -0
- package/dist/cjs/biz-components/Specs/index.js +2 -0
- package/dist/cjs/biz-components/Specs/index.js.map +7 -0
- package/dist/cjs/biz-components/Subscribe/index.d.ts +7 -1
- package/dist/cjs/biz-components/Subscribe/index.js +10 -1
- package/dist/cjs/biz-components/Subscribe/index.js.map +3 -3
- package/dist/cjs/biz-components/Tabs/Tabs.js +1 -1
- package/dist/cjs/biz-components/Tabs/Tabs.js.map +2 -2
- package/dist/cjs/biz-components/TabsGroup/index.d.ts +7 -0
- package/dist/cjs/biz-components/TabsGroup/index.js +2 -0
- package/dist/cjs/biz-components/TabsGroup/index.js.map +7 -0
- package/dist/cjs/biz-components/TabsGroup/types.d.ts +16 -0
- package/dist/cjs/biz-components/TabsGroup/types.js +2 -0
- package/dist/cjs/biz-components/TabsGroup/types.js.map +7 -0
- package/dist/cjs/biz-components/TextMa/index.d.ts +9 -0
- package/dist/cjs/biz-components/TextMarquee/index.d.ts +9 -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/Title/index.js +1 -1
- package/dist/cjs/biz-components/Title/index.js.map +3 -3
- package/dist/cjs/biz-components/Title/types.d.ts +4 -1
- 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/index.d.ts +35 -0
- package/dist/cjs/biz-components/index.js +1 -1
- package/dist/cjs/biz-components/index.js.map +3 -3
- package/dist/cjs/campaign-ui/tailwind.config.d.ts +62 -0
- 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/button.js +1 -1
- package/dist/cjs/components/button.js.map +2 -2
- package/dist/cjs/components/checkbox.js +1 -1
- package/dist/cjs/components/checkbox.js.map +3 -3
- package/dist/cjs/components/col.d.ts +29 -0
- package/dist/cjs/components/container.js +1 -1
- package/dist/cjs/components/container.js.map +2 -2
- package/dist/cjs/components/dialog.d.ts +3 -1
- package/dist/cjs/components/dialog.js +1 -1
- package/dist/cjs/components/dialog.js.map +3 -3
- package/dist/cjs/components/dropdown.d.ts +27 -0
- package/dist/cjs/components/index.d.ts +2 -0
- package/dist/cjs/components/index.js +1 -1
- package/dist/cjs/components/index.js.map +3 -3
- package/dist/cjs/components/inputnumber.d.ts +0 -0
- package/dist/cjs/components/loadingDots.d.ts +6 -0
- package/dist/cjs/components/loadingDots.js +42 -0
- package/dist/cjs/components/loadingDots.js.map +7 -0
- package/dist/cjs/components/row.d.ts +18 -0
- package/dist/cjs/helpers/get-subtree.d.ts +12 -0
- package/dist/cjs/helpers/utils.d.ts +2 -0
- package/dist/cjs/helpers/utils.js +1 -1
- package/dist/cjs/helpers/utils.js.map +3 -3
- package/dist/cjs/hooks/useMemberPrice.d.ts +20 -0
- package/dist/cjs/hooks/useRollout.d.ts +1 -0
- package/dist/cjs/hooks/useRollout.js +2 -0
- package/dist/cjs/hooks/useRollout.js.map +7 -0
- package/dist/cjs/packages/ui/src/components/avatar.d.ts +26 -0
- package/dist/cjs/packages/ui/src/components/index.d.ts +20 -0
- package/dist/cjs/packages/ui/src/index.d.ts +1 -0
- package/dist/cjs/packages/ui/src/stories/avatar.stories.d.ts +40 -0
- package/dist/cjs/packages/ui/src/stories/badge.stories.d.ts +26 -0
- package/dist/cjs/packages/ui/src/stories/button.stories.d.ts +48 -0
- package/dist/cjs/packages/ui/src/stories/checkbox.stories.d.ts +46 -0
- package/dist/cjs/packages/ui/src/stories/container.stories.d.ts +36 -0
- package/dist/cjs/packages/ui/src/stories/dialog.stories.d.ts +20 -0
- package/dist/cjs/packages/ui/src/stories/grid.stories.d.ts +42 -0
- package/dist/cjs/packages/ui/src/stories/heading.stories.d.ts +82 -0
- package/dist/cjs/packages/ui/src/stories/input.stories.d.ts +35 -0
- package/dist/cjs/packages/ui/src/stories/picture.stories.d.ts +18 -0
- package/dist/cjs/packages/ui/src/stories/popover.stories.d.ts +17 -0
- package/dist/cjs/packages/ui/src/stories/radio.stories.d.ts +39 -0
- package/dist/cjs/packages/ui/src/stories/skeleton.stories.d.ts +20 -0
- package/dist/cjs/packages/ui/src/stories/tabs.stories.d.ts +373 -0
- package/dist/cjs/packages/ui/src/stories/text.stories.d.ts +94 -0
- package/dist/cjs/src/components/index.d.ts +21 -0
- package/dist/cjs/src/components/input-number.d.ts +47 -0
- package/dist/cjs/src/index.d.ts +1 -0
- package/dist/cjs/src/stories/avatar.stories.d.ts +40 -0
- package/dist/cjs/src/stories/badge.stories.d.ts +26 -0
- package/dist/cjs/src/stories/button.stories.d.ts +48 -0
- package/dist/cjs/src/stories/checkbox.stories.d.ts +46 -0
- package/dist/cjs/src/stories/container.stories.d.ts +36 -0
- package/dist/cjs/src/stories/dialog.stories.d.ts +20 -0
- package/dist/cjs/src/stories/grid.stories.d.ts +42 -0
- package/dist/cjs/src/stories/heading.stories.d.ts +82 -0
- package/dist/cjs/src/stories/input-number.stories.d.ts +51 -0
- package/dist/cjs/src/stories/input.stories.d.ts +35 -0
- package/dist/cjs/src/stories/picture.stories.d.ts +18 -0
- package/dist/cjs/src/stories/popover.stories.d.ts +17 -0
- package/dist/cjs/src/stories/radio.stories.d.ts +39 -0
- package/dist/cjs/src/stories/skeleton.stories.d.ts +20 -0
- package/dist/cjs/src/stories/text.stories.d.ts +94 -0
- package/dist/cjs/stories/aplusdesc.stories.d.ts +27 -0
- package/dist/cjs/stories/aplusdesc.stories.js +2 -0
- package/dist/cjs/stories/aplusdesc.stories.js.map +7 -0
- package/dist/cjs/stories/download.stories.d.ts +18 -0
- package/dist/cjs/stories/download.stories.js +2 -0
- package/dist/cjs/stories/download.stories.js.map +7 -0
- package/dist/cjs/stories/features.stories.d.ts +21 -0
- package/dist/cjs/stories/features.stories.js +2 -0
- package/dist/cjs/stories/features.stories.js.map +7 -0
- package/dist/cjs/stories/footcharger.stories.d.ts +19 -0
- package/dist/cjs/stories/footcharger.stories.js +2 -0
- package/dist/cjs/stories/footcharger.stories.js.map +7 -0
- package/dist/cjs/stories/giftbox.stories.d.ts +18 -0
- package/dist/cjs/stories/giftbox.stories.js +2 -0
- package/dist/cjs/stories/giftbox.stories.js.map +7 -0
- package/dist/cjs/stories/graphicMore.stories.d.ts +19 -0
- package/dist/cjs/stories/graphicMore.stories.js +2 -0
- package/dist/cjs/stories/graphicMore.stories.js.map +7 -0
- package/dist/cjs/stories/selectstore.stories.d.ts +18 -0
- package/dist/cjs/stories/selectstore.stories.js +2 -0
- package/dist/cjs/stories/selectstore.stories.js.map +7 -0
- package/dist/cjs/stories/shelf.stories.d.ts +17 -0
- package/dist/cjs/stories/shelfDisplay.stories.js +644 -1
- package/dist/cjs/stories/shelfDisplay.stories.js.map +2 -2
- package/dist/cjs/stories/tabs.stories.js +1 -1
- package/dist/cjs/stories/tabs.stories.js.map +3 -3
- package/dist/cjs/tailwind.config.d.ts +253 -0
- package/dist/cjs/tsconfig.tsbuildinfo +1 -0
- package/dist/cjs/ui/src/biz-components/CollectionsFilters/FilterCardWrapItem.d.ts +5 -0
- package/dist/esm/apps/playground/utils/classnames.d.ts +1 -0
- package/dist/esm/apps/storefront/lib/utils/classnames.d.ts +2 -0
- package/dist/esm/biz-components/AccordionCards/index.js.map +2 -2
- package/dist/esm/biz-components/AccordionCards/useDebounce.d.ts +6 -0
- package/dist/esm/biz-components/AiuiProvider/index.d.ts +4 -0
- package/dist/esm/biz-components/AiuiProvider/index.js +1 -1
- package/dist/esm/biz-components/AiuiProvider/index.js.map +2 -2
- package/dist/esm/biz-components/AplusDesc/index.d.ts +22 -0
- package/dist/esm/biz-components/AplusDesc/index.js +2 -0
- package/dist/esm/biz-components/AplusDesc/index.js.map +7 -0
- 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 +6 -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/HeroBanner.d.ts +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/AnimatedUL.d.ts +9 -0
- package/dist/esm/biz-components/CollectionsFilters/FilterCardWrap.d.ts +17 -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/FilterTab.d.ts +7 -0
- package/dist/esm/biz-components/CollectionsFilters/FiterTab.d.ts +7 -0
- package/dist/esm/biz-components/CollectionsFilters/FiterTab.js +2 -0
- package/dist/esm/biz-components/CollectionsFilters/FiterTab.js.map +7 -0
- package/dist/esm/biz-components/CollectionsFilters/Helper.d.ts +8 -0
- package/dist/esm/biz-components/CollectionsFilters/MoblieSortFilter.d.ts +8 -0
- package/dist/esm/biz-components/CollectionsFilters/SortFilter.d.ts +8 -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/LoadingDots.d.ts +6 -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/data.d.ts +24804 -0
- package/dist/esm/biz-components/CollectionsFilters/index.d.ts +22 -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/CollectionsFilters/price.d.ts +25 -0
- package/dist/esm/biz-components/CollectionsFilters/priceProps.d.ts +215 -0
- package/dist/esm/biz-components/CollectionsFilters/tabFilter.d.ts +10 -0
- package/dist/esm/biz-components/CollectionsFilters/tabSwitch.d.ts +9 -0
- package/dist/esm/biz-components/DownLoad/index.d.ts +20 -0
- package/dist/esm/biz-components/DownLoad/index.js +2 -0
- package/dist/esm/biz-components/DownLoad/index.js.map +7 -0
- package/dist/esm/biz-components/Faq/Faq.js +1 -1
- package/dist/esm/biz-components/Faq/Faq.js.map +3 -3
- package/dist/esm/biz-components/Features/index.d.ts +26 -0
- package/dist/esm/biz-components/Features/index.js +2 -0
- package/dist/esm/biz-components/Features/index.js.map +7 -0
- package/dist/esm/biz-components/FootCharger/index.d.ts +12 -0
- package/dist/esm/biz-components/FootCharger/index.js +2 -0
- package/dist/esm/biz-components/FootCharger/index.js.map +7 -0
- package/dist/esm/biz-components/FooterNavigation/index.js +1 -1
- package/dist/esm/biz-components/FooterNavigation/index.js.map +3 -3
- package/dist/esm/biz-components/FooterNavigation/types.d.ts +2 -1
- package/dist/esm/biz-components/FooterNavigation/types.js +1 -1
- package/dist/esm/biz-components/FooterNavigation/types.js.map +2 -2
- package/dist/esm/biz-components/GiftBox/index.d.ts +17 -0
- package/dist/esm/biz-components/GiftBox/index.js +2 -0
- package/dist/esm/biz-components/GiftBox/index.js.map +7 -0
- package/dist/esm/biz-components/Graphic/index.js +1 -1
- package/dist/esm/biz-components/Graphic/index.js.map +2 -2
- package/dist/esm/biz-components/GraphicMore/index.d.ts +22 -0
- package/dist/esm/biz-components/GraphicMore/index.js +2 -0
- package/dist/esm/biz-components/GraphicMore/index.js.map +7 -0
- package/dist/esm/biz-components/HeaderNavigation/NavProvider.d.ts +6 -5
- package/dist/esm/biz-components/HeaderNavigation/NavProvider.js +1 -1
- package/dist/esm/biz-components/HeaderNavigation/NavProvider.js.map +3 -3
- package/dist/esm/biz-components/HeaderNavigation/icons/Polygon.d.ts +3 -0
- package/dist/esm/biz-components/HeaderNavigation/icons/Polygon.js +2 -0
- package/dist/esm/biz-components/HeaderNavigation/icons/Polygon.js.map +7 -0
- package/dist/esm/biz-components/HeaderNavigation/icons/index.d.ts +2 -1
- package/dist/esm/biz-components/HeaderNavigation/icons/index.js +1 -1
- package/dist/esm/biz-components/HeaderNavigation/icons/index.js.map +3 -3
- 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/HeaderNavigation/types.d.ts +20 -2
- package/dist/esm/biz-components/HeaderNavigation/types.js +1 -1
- package/dist/esm/biz-components/HeaderNavigation/types.js.map +2 -2
- package/dist/esm/biz-components/HeaderNavigation/withCategory.d.ts +1 -1
- package/dist/esm/biz-components/HeaderNavigation/withCategory.js +1 -1
- package/dist/esm/biz-components/HeaderNavigation/withCategory.js.map +3 -3
- package/dist/esm/biz-components/Listing/ProductProvider.d.ts +52 -0
- package/dist/esm/biz-components/Listing/ProductProvider.js +2 -0
- package/dist/esm/biz-components/Listing/ProductProvider.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/BenefitsTabs/index.d.ts +5 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.d.ts +30 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBenefitsTabs/index.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.d.ts +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductBundle/index.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.d.ts +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductFreeGift/index.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.d.ts +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductHighlight/index.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.d.ts +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/ProductOptions/index.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/index.d.ts +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/index.js +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/index.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/types.d.ts +43 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/types.js +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductDetail/types.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.d.ts +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/CompareModal.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.d.ts +21 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/Select.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.d.ts +5 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/ShopifyColorOption.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.d.ts +1 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/components/SpecsModal.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.d.ts +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/index.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/types.d.ts +35 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/types.js +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGallery/types.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGridBox.d.ts +6 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGridBox.js +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductGridBox.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.d.ts +3 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/index.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/types.d.ts +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/types.js +1 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/ProductSummary/types.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/index.d.ts +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/index.js +2 -0
- package/dist/esm/biz-components/Listing/components/ProductCard/index.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.d.ts +2 -0
- package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js +2 -0
- package/dist/esm/biz-components/Listing/components/PurchaseBar/ProductActions/index.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.d.ts +4 -0
- package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js +2 -0
- package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/index.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.d.ts +10 -0
- package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js +1 -0
- package/dist/esm/biz-components/Listing/components/PurchaseBar/ScrollSpyNav/types.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/PurchaseBar/index.d.ts +3 -0
- package/dist/esm/biz-components/Listing/components/PurchaseBar/index.js +2 -0
- package/dist/esm/biz-components/Listing/components/PurchaseBar/index.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/PurchaseBar/types.d.ts +12 -0
- package/dist/esm/biz-components/Listing/components/PurchaseBar/types.js +1 -0
- package/dist/esm/biz-components/Listing/components/PurchaseBar/types.js.map +7 -0
- package/dist/esm/biz-components/Listing/components/index.d.ts +3 -0
- package/dist/esm/biz-components/Listing/components/index.js +2 -0
- package/dist/esm/biz-components/Listing/components/index.js.map +7 -0
- package/dist/esm/biz-components/Listing/const.d.ts +28 -0
- package/dist/esm/biz-components/Listing/const.js +2 -0
- package/dist/esm/biz-components/Listing/const.js.map +7 -0
- package/dist/esm/biz-components/Listing/hooks/use-options.d.ts +3 -0
- package/dist/esm/biz-components/Listing/hooks/use-options.js +2 -0
- package/dist/esm/biz-components/Listing/hooks/use-options.js.map +7 -0
- package/dist/esm/biz-components/Listing/hooks/use-variant-media.d.ts +14 -0
- package/dist/esm/biz-components/Listing/hooks/use-variant-media.js +2 -0
- package/dist/esm/biz-components/Listing/hooks/use-variant-media.js.map +7 -0
- package/dist/esm/biz-components/Listing/hooks/use-variant.d.ts +5 -0
- package/dist/esm/biz-components/Listing/hooks/use-variant.js +2 -0
- package/dist/esm/biz-components/Listing/hooks/use-variant.js.map +7 -0
- package/dist/esm/biz-components/Listing/hooks/useCopy.d.ts +8 -0
- package/dist/esm/biz-components/Listing/hooks/useCopy.js +2 -0
- package/dist/esm/biz-components/Listing/hooks/useCopy.js.map +7 -0
- package/dist/esm/biz-components/Listing/index.d.ts +3 -0
- package/dist/esm/biz-components/Listing/index.js +2 -0
- package/dist/esm/biz-components/Listing/index.js.map +7 -0
- package/dist/esm/biz-components/Listing/types/graphql.d.ts +7473 -0
- package/dist/esm/biz-components/Listing/types/graphql.js +2 -0
- package/dist/esm/biz-components/Listing/types/graphql.js.map +7 -0
- package/dist/esm/biz-components/Listing/types/product.d.ts +141 -0
- package/dist/esm/biz-components/Listing/types/product.js +2 -0
- package/dist/esm/biz-components/Listing/types/product.js.map +7 -0
- package/dist/esm/biz-components/Listing/types/productMetafields.d.js +2 -0
- package/dist/esm/biz-components/Listing/types/productMetafields.d.js.map +7 -0
- package/dist/esm/biz-components/Listing/types/type-helper.d.ts +5 -0
- package/dist/esm/biz-components/Listing/types/type-helper.js +1 -0
- package/dist/esm/biz-components/Listing/types/type-helper.js.map +7 -0
- package/dist/esm/biz-components/Listing/types.d.ts +21 -0
- package/dist/esm/biz-components/Listing/types.js +1 -0
- package/dist/esm/biz-components/Listing/types.js.map +7 -0
- package/dist/esm/biz-components/Listing/utils/helper.d.ts +21 -0
- package/dist/esm/biz-components/Listing/utils/helper.js +2 -0
- package/dist/esm/biz-components/Listing/utils/helper.js.map +7 -0
- package/dist/esm/biz-components/Listing/utils/index.d.ts +37 -0
- package/dist/esm/biz-components/Listing/utils/index.js +2 -0
- package/dist/esm/biz-components/Listing/utils/index.js.map +7 -0
- package/dist/esm/biz-components/MediaPlayerMulti/YouTubePlayer.d.ts +3 -0
- package/dist/esm/biz-components/MediaPlayerSticky/index.js +1 -1
- package/dist/esm/biz-components/MediaPlayerSticky/index.js.map +2 -2
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js +1 -1
- package/dist/esm/biz-components/MultiLayoutGraphicBlock/MultiLayoutGraphicBlock.js.map +2 -2
- package/dist/esm/biz-components/NavigationSearch/index.d.ts +4 -0
- package/dist/esm/biz-components/NavigationSearch/index.js +2 -0
- package/dist/esm/biz-components/NavigationSearch/index.js.map +7 -0
- package/dist/esm/biz-components/NavigationSearch/types.d.ts +18 -0
- package/dist/esm/biz-components/NavigationSearch/types.js +2 -0
- package/dist/esm/biz-components/NavigationSearch/types.js.map +7 -0
- 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/SearchPage/index.d.ts +6 -0
- package/dist/esm/biz-components/SearchPage/index.js +2 -0
- package/dist/esm/biz-components/SearchPage/index.js.map +7 -0
- package/dist/esm/biz-components/SearchPage/types.d.ts +58 -0
- package/dist/esm/biz-components/SearchPage/types.js +2 -0
- package/dist/esm/biz-components/SearchPage/types.js.map +7 -0
- package/dist/esm/biz-components/SectionHeading/SectionHeading.d.ts +4 -0
- package/dist/esm/biz-components/SectionHeading/index.d.ts +0 -0
- package/dist/esm/biz-components/SectionHeading/types.d.ts +6 -0
- package/dist/esm/biz-components/SelectStore/index.d.ts +20 -0
- package/dist/esm/biz-components/SelectStore/index.js +2 -0
- package/dist/esm/biz-components/SelectStore/index.js.map +7 -0
- package/dist/esm/biz-components/Shelf/Shelf.d.ts +8 -0
- package/dist/esm/biz-components/Shelf/index.d.ts +1 -0
- package/dist/esm/biz-components/Shelf/types.d.ts +6 -0
- package/dist/esm/biz-components/ShelfDisplay/index.js +1 -1
- package/dist/esm/biz-components/ShelfDisplay/index.js.map +3 -3
- package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.d.ts +11 -2
- package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js +1 -1
- package/dist/esm/biz-components/ShelfDisplay/shelfDisplay.js.map +3 -3
- package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js +9 -9
- package/dist/esm/biz-components/ShelfDisplay/shelfDisplayItem.js.map +3 -3
- package/dist/esm/biz-components/ShelfDisplay/tab.d.ts +7 -0
- package/dist/esm/biz-components/Specs/dropdown.d.ts +11 -0
- package/dist/esm/biz-components/Specs/dropdown.js +3 -0
- package/dist/esm/biz-components/Specs/dropdown.js.map +7 -0
- package/dist/esm/biz-components/Specs/index.d.ts +6 -0
- package/dist/esm/biz-components/Specs/index.js +2 -0
- package/dist/esm/biz-components/Specs/index.js.map +7 -0
- package/dist/esm/biz-components/Subscribe/index.d.ts +7 -1
- package/dist/esm/biz-components/Subscribe/index.js +10 -1
- package/dist/esm/biz-components/Subscribe/index.js.map +3 -3
- package/dist/esm/biz-components/Tabs/Tabs.js +1 -1
- package/dist/esm/biz-components/Tabs/Tabs.js.map +2 -2
- package/dist/esm/biz-components/TabsGroup/index.d.ts +7 -0
- package/dist/esm/biz-components/TabsGroup/index.js +2 -0
- package/dist/esm/biz-components/TabsGroup/index.js.map +7 -0
- package/dist/esm/biz-components/TabsGroup/types.d.ts +16 -0
- package/dist/esm/biz-components/TabsGroup/types.js +1 -0
- package/dist/esm/biz-components/TabsGroup/types.js.map +7 -0
- package/dist/esm/biz-components/TextMa/index.d.ts +9 -0
- package/dist/esm/biz-components/TextMarquee/index.d.ts +9 -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/Title/index.js +1 -1
- package/dist/esm/biz-components/Title/index.js.map +3 -3
- package/dist/esm/biz-components/Title/types.d.ts +4 -1
- package/dist/esm/biz-components/index.d.ts +35 -0
- package/dist/esm/biz-components/index.js +1 -1
- package/dist/esm/biz-components/index.js.map +3 -3
- package/dist/esm/campaign-ui/tailwind.config.d.ts +62 -0
- 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/button.js +1 -1
- package/dist/esm/components/button.js.map +2 -2
- package/dist/esm/components/checkbox.js +1 -1
- package/dist/esm/components/checkbox.js.map +3 -3
- package/dist/esm/components/col.d.ts +29 -0
- package/dist/esm/components/container.js +1 -1
- package/dist/esm/components/container.js.map +2 -2
- package/dist/esm/components/dialog.d.ts +3 -1
- package/dist/esm/components/dialog.js +1 -1
- package/dist/esm/components/dialog.js.map +3 -3
- package/dist/esm/components/dropdown.d.ts +27 -0
- package/dist/esm/components/index.d.ts +2 -0
- package/dist/esm/components/index.js +1 -1
- package/dist/esm/components/index.js.map +2 -2
- package/dist/esm/components/inputnumber.d.ts +0 -0
- package/dist/esm/components/loadingDots.d.ts +6 -0
- package/dist/esm/components/loadingDots.js +42 -0
- package/dist/esm/components/loadingDots.js.map +7 -0
- package/dist/esm/components/row.d.ts +18 -0
- package/dist/esm/helpers/get-subtree.d.ts +12 -0
- package/dist/esm/helpers/utils.d.ts +2 -0
- package/dist/esm/helpers/utils.js +1 -1
- package/dist/esm/helpers/utils.js.map +3 -3
- package/dist/esm/hooks/useMemberPrice.d.ts +20 -0
- package/dist/esm/hooks/useRollout.d.ts +1 -0
- package/dist/esm/hooks/useRollout.js +2 -0
- package/dist/esm/hooks/useRollout.js.map +7 -0
- package/dist/esm/packages/ui/src/components/avatar.d.ts +26 -0
- package/dist/esm/packages/ui/src/components/index.d.ts +20 -0
- package/dist/esm/packages/ui/src/index.d.ts +1 -0
- package/dist/esm/packages/ui/src/stories/avatar.stories.d.ts +40 -0
- package/dist/esm/packages/ui/src/stories/badge.stories.d.ts +26 -0
- package/dist/esm/packages/ui/src/stories/button.stories.d.ts +48 -0
- package/dist/esm/packages/ui/src/stories/checkbox.stories.d.ts +46 -0
- package/dist/esm/packages/ui/src/stories/container.stories.d.ts +36 -0
- package/dist/esm/packages/ui/src/stories/dialog.stories.d.ts +20 -0
- package/dist/esm/packages/ui/src/stories/grid.stories.d.ts +42 -0
- package/dist/esm/packages/ui/src/stories/heading.stories.d.ts +82 -0
- package/dist/esm/packages/ui/src/stories/input.stories.d.ts +35 -0
- package/dist/esm/packages/ui/src/stories/picture.stories.d.ts +18 -0
- package/dist/esm/packages/ui/src/stories/popover.stories.d.ts +17 -0
- package/dist/esm/packages/ui/src/stories/radio.stories.d.ts +39 -0
- package/dist/esm/packages/ui/src/stories/skeleton.stories.d.ts +20 -0
- package/dist/esm/packages/ui/src/stories/tabs.stories.d.ts +373 -0
- package/dist/esm/packages/ui/src/stories/text.stories.d.ts +94 -0
- package/dist/esm/src/components/index.d.ts +21 -0
- package/dist/esm/src/components/input-number.d.ts +47 -0
- package/dist/esm/src/index.d.ts +1 -0
- package/dist/esm/src/stories/avatar.stories.d.ts +40 -0
- package/dist/esm/src/stories/badge.stories.d.ts +26 -0
- package/dist/esm/src/stories/button.stories.d.ts +48 -0
- package/dist/esm/src/stories/checkbox.stories.d.ts +46 -0
- package/dist/esm/src/stories/container.stories.d.ts +36 -0
- package/dist/esm/src/stories/dialog.stories.d.ts +20 -0
- package/dist/esm/src/stories/grid.stories.d.ts +42 -0
- package/dist/esm/src/stories/heading.stories.d.ts +82 -0
- package/dist/esm/src/stories/input-number.stories.d.ts +51 -0
- package/dist/esm/src/stories/input.stories.d.ts +35 -0
- package/dist/esm/src/stories/picture.stories.d.ts +18 -0
- package/dist/esm/src/stories/popover.stories.d.ts +17 -0
- package/dist/esm/src/stories/radio.stories.d.ts +39 -0
- package/dist/esm/src/stories/skeleton.stories.d.ts +20 -0
- package/dist/esm/src/stories/text.stories.d.ts +94 -0
- package/dist/esm/stories/aplusdesc.stories.d.ts +27 -0
- package/dist/esm/stories/aplusdesc.stories.js +2 -0
- package/dist/esm/stories/aplusdesc.stories.js.map +7 -0
- package/dist/esm/stories/download.stories.d.ts +18 -0
- package/dist/esm/stories/download.stories.js +2 -0
- package/dist/esm/stories/download.stories.js.map +7 -0
- package/dist/esm/stories/features.stories.d.ts +21 -0
- package/dist/esm/stories/features.stories.js +2 -0
- package/dist/esm/stories/features.stories.js.map +7 -0
- package/dist/esm/stories/footcharger.stories.d.ts +19 -0
- package/dist/esm/stories/footcharger.stories.js +2 -0
- package/dist/esm/stories/footcharger.stories.js.map +7 -0
- package/dist/esm/stories/giftbox.stories.d.ts +18 -0
- package/dist/esm/stories/giftbox.stories.js +2 -0
- package/dist/esm/stories/giftbox.stories.js.map +7 -0
- package/dist/esm/stories/graphicMore.stories.d.ts +19 -0
- package/dist/esm/stories/graphicMore.stories.js +2 -0
- package/dist/esm/stories/graphicMore.stories.js.map +7 -0
- package/dist/esm/stories/selectstore.stories.d.ts +18 -0
- package/dist/esm/stories/selectstore.stories.js +2 -0
- package/dist/esm/stories/selectstore.stories.js.map +7 -0
- package/dist/esm/stories/shelf.stories.d.ts +17 -0
- package/dist/esm/stories/shelfDisplay.stories.js +644 -1
- package/dist/esm/stories/shelfDisplay.stories.js.map +2 -2
- package/dist/esm/stories/tabs.stories.js +1 -1
- package/dist/esm/stories/tabs.stories.js.map +3 -3
- package/dist/esm/tailwind.config.d.ts +253 -0
- package/dist/esm/tsconfig.tsbuildinfo +1 -0
- package/dist/esm/ui/src/biz-components/CollectionsFilters/FilterCardWrapItem.d.ts +5 -0
- package/dist/tokens/base.css +1 -1
- package/package.json +1 -1
- package/style.css +32 -2
- /package/dist/cjs/hooks/{useExposure.d.ts → useEXposure.d.ts} +0 -0
- /package/dist/esm/hooks/{useExposure.d.ts → useEXposure.d.ts} +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/CollectionsFilters/FilterCardWrapItem.tsx"],
|
|
4
|
+
"sourcesContent": ["import { cn, atobID, yotpoInstanceId } from '../../helpers/utils.js'\nimport { useAiuiContext } from '../AiuiProvider/index.js'\nimport { formatVariantPrice } from '../ShelfDisplay/shelfDisplay.js'\nimport Badge from '../../components/badge.js'\nimport { Text } from '../../components/text.js'\nimport Button from '../../components/button.js'\nimport Picture from '../../components/picture.js'\nimport { trackUrlRef } from '../../shared/trackUrlRef.js'\nimport { getFunctionMemberPrice } from './component/price.js'\nimport { useState, useEffect } from 'react'\n\nconst componentType = 'image'\nconst componentName = 'product_shelf'\n\nconst SOLD_OUT_PRICE = 9999999.99\n\nconst getShopifyCdnBaseUrl = (imagePath: string | null) => {\n // \u76EE\u524D\u77E5\u9053\u7684 shopify \u56FE\u7247\u8DEF\u7531\u7684\u5F62\u5F0F\n // https://cdn.shopify.com/s/files/1/0493/9834/9974/files/Group_5581_2.jpg?v=1662379184\n // https://cdn.shopify.com/s/files/1/0493/9834/9974/products/B2633123.jpg?v=1631264041_3840x\n // \u8FD4\u56DE https://cdn.shopify.com/s/files/1/0493/9834/9974/files/\n let path\n if (imagePath?.includes('products')) {\n path = imagePath?.split('products')[0] + 'files/'\n } else {\n path = imagePath?.replace(imagePath?.split('files')?.pop() || '', '') + '/'\n }\n return path\n}\n\ntype FilterCardWrapItemProps = {\n data: any\n buttonText?: any\n itemShape?: string\n metafields: any\n onPrimaryChange?: (item: any, sku: string) => void\n onSecondaryChange?: (item: any, sku: string) => void\n}\n\nconst FilterCardWrapItem = ({\n data,\n buttonText,\n itemShape,\n metafields,\n onPrimaryChange,\n onSecondaryChange,\n}: FilterCardWrapItemProps) => {\n const { memberPriceDiscount, memberSetting, discounts, shopCommon } = metafields\n const [currentSku, setCurrentSku] = useState<string>('')\n const [currentImage, setCurrentImage] = useState<string>('')\n const [selectedColor, setSelectedColor] = useState<string>('')\n const [isSoldOut, setIsSoldOut] = useState<any>(false)\n const [currentVariant, setCurrentVariant] = useState<any>({})\n const [plusMemberStatus, setPlusMemberStatus] = useState<boolean>(false)\n const [priceCollection, setPriceCollection] = useState<{ price: string; basePrice: string }>({\n price: '',\n basePrice: '',\n })\n const [tags, setTags] = useState<string[]>([])\n const [showTags, setShowTags] = useState<string[]>([])\n const [discountCollection, setDiscountCollection] = useState<string>('')\n const [soldOutText, setSoldOutText] = useState<string>('')\n\n const { locale = 'us', currencyCode, isLogin } = useAiuiContext()\n\n const displayTitle = data?.custom_name || data?.title || data?.name\n const displayDescription = data?.custom_description || data?.description || data?.descriptionHtml\n const skuArray = data?.filter_variants || data?.variants || []\n const id = atobID(data?.id || '')\n\n const onColorClick = (color: string) => setSelectedColor(color)\n\n const handleBasePrice = (discount: string, priceCurrency: string, salePrice: string, status: boolean) => {\n setPlusMemberStatus(status)\n setDiscountCollection(discount || '')\n setPriceCollection({\n basePrice: priceCurrency || '',\n price: salePrice || '',\n })\n }\n\n useEffect(() => {\n if (selectedColor) {\n const findSku = skuArray?.find((item: any) => item?.name?.includes?.(selectedColor))\n setCurrentSku(findSku?.sku || skuArray?.[0]?.sku || '')\n setCurrentImage(findSku?.image?.url || skuArray?.[0]?.image?.url || '')\n return\n }\n const firstOption = data?.options?.find((item: any) => item?.displayName === 'color')?.values?.[0]?.label\n firstOption && setSelectedColor(firstOption)\n const findSku = skuArray?.find((item: any) => item?.name?.includes?.(firstOption))\n setCurrentSku(findSku?.sku || skuArray?.[0]?.sku || '')\n setCurrentImage(findSku?.image?.url || skuArray?.[0]?.image?.url || '')\n }, [selectedColor])\n\n useEffect(() => {\n if (!currentSku) return\n setTags(data?.tags || [])\n const variant = skuArray?.find((item: any) => item?.sku === currentSku) || skuArray?.[0] || {}\n setCurrentVariant(variant)\n setIsSoldOut(!variant?.availableForSale || variant?.price?.amount === SOLD_OUT_PRICE)\n const { infos } = variant?.metafields || {}\n const { productInfos, preRender } = data?.metafields || {}\n setSoldOutText(infos?.comingSoon || productInfos?.comingSoon || preRender?.soldOut || shopCommon?.soldOut || '')\n // active \u7684 \u901A\u7528\u6298\u6263\n const coupon = variant?.coupons?.[0]\n const { price, basePrice, discount, discountAmount } = formatVariantPrice({\n locale: locale,\n amount: coupon ? coupon.variant_price4wscode : variant.price,\n baseAmount: coupon ? variant.price : 0,\n currencyCode: data?.price?.currencyCode || 'USD',\n })\n const showPrice = (() => {\n if (coupon?.value_type === 'fixed_amount') {\n const amountStr = discountAmount || ''\n const match = amountStr.match(/^(.*?)(\\d[\\d.,]*)(.*)$/)\n if (match) {\n const [, prefix, numeric, suffix] = match\n let updatedNumeric = numeric\n if (numeric.endsWith('.00')) {\n updatedNumeric = numeric.replace(/\\.00$/, '')\n } else if (numeric.endsWith(',00')) {\n updatedNumeric = numeric.replace(/,00$/, '')\n }\n return `${prefix}${updatedNumeric}${suffix}`\n }\n return amountStr\n }\n return discount || ''\n })()\n // \u4F1A\u5458\u6298\u6263\n if (isLogin) {\n const result = getFunctionMemberPrice({\n locale: locale,\n variant: variant,\n shopMemberPriceDiscountConfig: memberPriceDiscount,\n currencyCode: currencyCode || data?.price?.currencyCode || 'USD',\n })\n if (result) {\n const { hasMemberPrice, salePriceWithCurrency, originalPriceWithCurrency, savePriceWithCurrency } = result\n handleBasePrice(\n savePriceWithCurrency || '',\n originalPriceWithCurrency || '',\n hasMemberPrice ? salePriceWithCurrency : '',\n result?.hasMemberPrice\n )\n } else {\n handleBasePrice(showPrice, basePrice || '', price || '', false)\n }\n } else {\n handleBasePrice(showPrice, basePrice || '', price || '', false)\n }\n }, [data, currentSku])\n\n // \u5904\u7406\u6807\u7B7E\n useEffect(() => {\n let handleTags: string[] = []\n if (discountCollection) {\n const discountTag = `${discountCollection} ${discounts?.off}`\n handleTags.push(discountTag)\n }\n const newTags = tags\n ?.filter?.((item: string) => item?.startsWith?.('CLtag'))\n ?.map?.((item: string) => item?.replace?.('CLtag:', ''))\n ?.slice?.(0, discountCollection ? 1 : 2)\n setShowTags(handleTags.concat(newTags))\n }, [tags, discountCollection])\n\n return (\n <div\n key={data?.id || data?.handle}\n className={cn(\n itemShape === 'round' ? 'rounded-2xl' : 'rounded-none',\n 'tablet:hover:bg-info-white bg-container-secondary-1 box-border w-full cursor-pointer overflow-hidden duration-300',\n {\n 'aiui-dark': data.theme === 'dark',\n }\n )}\n >\n {data?.mImage ? (\n <div className=\"size-full box-border overflow-hidden hover:[&_img]:scale-105\">\n <div className=\"relative inset-0 size-full\">\n <a className=\"size-full\" href={trackUrlRef(data?.link, `${componentType}_${componentName}`)}>\n <Picture\n alt=\"\"\n source={data?.mImage?.url || data?.mImage}\n className=\"size-full [&_img]:object-cover [&_img]:size-full\"\n imgClassName=\"size-full object-cover transition-all duration-300\"\n />\n <div className=\"desktop:p-6 absolute inset-x-0 top-0 box-border overflow-hidden p-4\">\n <p\n className=\"desktop:mb-2 mb-1 text-info-primary desktop:text-base text-sm font-bold\"\n dangerouslySetInnerHTML={{ __html: data?.subTitle }}\n />\n <span\n className=\"text-info-secondary desktop:text-[32px] text-[20px] font-bold desktop:leading-9 line-clamp-4 leading-6\"\n dangerouslySetInnerHTML={{ __html: data?.title }}\n />\n </div>\n </a>\n </div>\n </div>\n ) : (\n <div className=\"size-full desktop:p-6 desktop:pt-4 box-border overflow-hidden flex flex-col justify-between tablet:p-4 p-2 pb-4\">\n <div className=\"flex flex-wrap gap-1 overflow-hidden collection-filter-tags\">\n {showTags?.map?.((item: string, index: number) => (\n <Badge key={index} className=\"whitespace-nowrap max-w-full truncate px-1 box-border font-bold item-badge\">\n {item}\n </Badge>\n ))}\n </div>\n <a\n target=\"_blank\"\n aria-label={displayTitle}\n className=\"my-1\"\n href={trackUrlRef(\n `${locale === 'us' || !locale ? '' : `/${locale}`}/products/${data?.handle}`,\n `${componentType}_${componentName}`\n )}\n >\n <div className={cn('m-auto desktop:size-[196px] size-[120px] overflow-hidden')}>\n <Picture\n alt=\"\"\n source={currentImage}\n className=\"h-full [&_img]:object-cover [&_img]:h-full [&_img]:w-fit\"\n />\n </div>\n </a>\n {data?.options?.map((option: any) => {\n if (option?.displayName === 'color') {\n return (\n <div className=\"flex items-center gap-1\">\n {option?.values?.map((item: any) => {\n const color = item?.hexColors ? item.hexColors?.[0] : item?.label\n return (\n <button\n key={item?.label}\n onClick={() => onColorClick(item?.label)}\n className={cn(\n 'size-4 rounded-full cursor-pointer overflow-hidden border-2 border-transparent',\n `${selectedColor === item?.label ? 'border-[#00BEFA]' : ''}`\n )}\n >\n <img\n alt={color}\n className=\"h-full w-full object-cover\"\n src={`${getShopifyCdnBaseUrl(data?.images?.[0]?.url)}${color\n ?.toLowerCase()\n .split(' ')\n ?.join('-')}_${'50x'}.png`}\n />\n </button>\n )\n })}\n </div>\n )\n }\n })}\n <div>\n {displayTitle ? (\n <span\n dangerouslySetInnerHTML={{ __html: displayTitle || '' }}\n className=\"shelf-display-product-title line-clamp-2 lg-desktop:text-2xl laptop:text-xl text-base font-bold\"\n />\n ) : null}\n {data?.metafields?.judgemeBadge ? (\n <a\n target=\"_blank\"\n className=\"font-bold text-xs [&_.jdgm-star]:text-[#F77234]\"\n dangerouslySetInnerHTML={{ __html: data?.metafields?.judgemeBadge }}\n href={trackUrlRef(\n `${locale === 'us' || !locale ? '' : `/${locale}`}/products/${data?.handle}`,\n `${componentType}_${componentName}`\n )}\n />\n ) : (\n <div\n className=\"font-bold text-xs yotpo-widget-instance [&_.yotpo-sr-bottom-line-new-review]:hidden\"\n data-yotpo-instance-id={yotpoInstanceId(locale)}\n data-yotpo-product-id={id}\n data-yotpo-cart-product-id={id}\n data-yotpo-section-id=\"\"\n />\n )}\n {displayDescription ? (\n <Text\n size={2}\n html={displayDescription || ''}\n className=\"desktop:text-base laptop:text-sm shelf-display-product-description line-clamp-1 text-xs font-bold\"\n />\n ) : null}\n <div className=\"mt-3 mb-2\">\n <p\n dangerouslySetInnerHTML={{\n __html:\n isLogin && plusMemberStatus\n ? discounts?.memberPrice || memberSetting?.member_price || memberSetting?.plus_member_price || ''\n : '',\n }}\n className=\"text-info-primary lg-desktop:text-lg desktop:text-base laptop:text-sm text-xs font-bold\"\n />\n <div className=\"flex items-center\">\n {isSoldOut ? (\n <div className=\"desktop:text-2xl tablet:text-xl text-info-primary text-base font-bold\">\n {soldOutText || ''}\n </div>\n ) : (\n <>\n <div className=\"final-price desktop:text-2xl tablet:text-xl text-info-primary text-base font-bold\">\n {currentVariant?.availableForSale ? priceCollection?.price || '' : ''}\n </div>\n <div className=\"origin-price desktop:text-xl tablet:text-lg text-info-secondary ml-1 text-sm font-bold line-through\">\n {currentVariant?.availableForSale ? priceCollection?.basePrice || '' : ''}\n </div>\n </>\n )}\n </div>\n </div>\n {/* \u6309\u94AE\u7EC4 */}\n <div\n className={cn('shelf-flex-button-group', 'lg-desktop:gap-3 flex items-center gap-2 m-tablet:flex-col')}\n >\n <Button\n variant=\"secondary\"\n className=\"m-tablet:w-full font-bold\"\n onClick={() => onSecondaryChange?.(data, currentSku)}\n >\n {buttonText?.secondaryButton || 'Learn More'}\n </Button>\n <Button\n variant=\"primary\"\n className=\"m-tablet:w-full font-bold\"\n disabled={isSoldOut}\n onClick={() => onPrimaryChange?.(data, currentSku)}\n >\n {buttonText?.primaryButton || 'Shop Now'}\n </Button>\n </div>\n </div>\n </div>\n )}\n </div>\n )\n}\nexport default FilterCardWrapItem\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Fragment", "jsx", "jsxs", "cn", "atobID", "yotpoInstanceId", "useAiuiContext", "formatVariantPrice", "Badge", "Text", "Button", "Picture", "trackUrlRef", "getFunctionMemberPrice", "useState", "useEffect", "componentType", "componentName", "SOLD_OUT_PRICE", "getShopifyCdnBaseUrl", "imagePath", "path", "FilterCardWrapItem", "data", "buttonText", "itemShape", "metafields", "onPrimaryChange", "onSecondaryChange", "memberPriceDiscount", "memberSetting", "discounts", "shopCommon", "currentSku", "setCurrentSku", "currentImage", "setCurrentImage", "selectedColor", "setSelectedColor", "isSoldOut", "setIsSoldOut", "currentVariant", "setCurrentVariant", "plusMemberStatus", "setPlusMemberStatus", "priceCollection", "setPriceCollection", "tags", "setTags", "showTags", "setShowTags", "discountCollection", "setDiscountCollection", "soldOutText", "setSoldOutText", "locale", "currencyCode", "isLogin", "displayTitle", "displayDescription", "skuArray", "id", "onColorClick", "color", "handleBasePrice", "discount", "priceCurrency", "salePrice", "status", "findSku", "item", "firstOption", "variant", "infos", "productInfos", "preRender", "coupon", "price", "basePrice", "discountAmount", "showPrice", "amountStr", "match", "prefix", "numeric", "suffix", "updatedNumeric", "result", "hasMemberPrice", "salePriceWithCurrency", "originalPriceWithCurrency", "savePriceWithCurrency", "handleTags", "discountTag", "newTags", "index", "option", "FilterCardWrapItem_default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type FilterHeaderProps = {
|
|
2
|
+
total?: number;
|
|
3
|
+
sortKeyIndx: number;
|
|
4
|
+
metafields: any;
|
|
5
|
+
closeFilter: boolean;
|
|
6
|
+
shopifyData?: any;
|
|
7
|
+
onClearFiltered: () => void;
|
|
8
|
+
onSortChange: (sortKeyIndx: number) => void;
|
|
9
|
+
onCloseFilter: (closeFilter: boolean) => void;
|
|
10
|
+
onMobileOpenDrawer: (openDrawer: boolean) => void;
|
|
11
|
+
};
|
|
12
|
+
export default function FilterHeader(props: FilterHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as e,jsxs as l}from"react/jsx-runtime";import{cn as i}from"../../helpers/utils";import{Picture as c,Text as n}from"../../components/index.js";import{useState as y,useEffect as _,useRef as w}from"react";function k(p){const{total:a,closeFilter:m,metafields:u,shopifyData:v,onSortChange:h,onCloseFilter:C,onClearFiltered:N,onMobileOpenDrawer:F,sortKeyIndx:b}=p,{drawerText:g}=v,{shop_filters_pair:t}=u,f=w(null),[r,d]=y(!1),x=s=>C?.(s);return _(()=>{const s=o=>{!f.current?.contains(o?.target)&&d(!1)};return document.addEventListener("click",s),()=>document.removeEventListener("click",s)},[]),l("div",{className:"filter-header",children:[l("div",{className:i("desktop:gap-x-16 tablet:gap-x-8","relative flex l-tablet:p-0 text-base font-bold box-border tablet:mb-4 mb-2"),children:[!m&&l("div",{className:i("l-tablet:hidden flex-shrink-0 flex justify-between items-center","desktop:w-60 tablet:w-48 laptop:w-[210px] l-tablet:w-fit box-border"),children:[l("div",{className:"flex items-center cursor-pointer",onClick:()=>x?.(!0),children:[e(c,{className:"mb-0.5 size-5",source:"https://cdn.shopify.com/s/files/1/0508/1815/4652/files/icon_table-of-contents.svg?v=1694054638"}),e("span",{className:"font-bold inline-block pl-2 leading-none",children:t?.filter_txt?.filter||"Close Filter"})]}),e("span",{onClick:()=>N?.(),className:"text-center text-base decoration-1 underline md:hidden font-bold text-[#1D1D1F] cursor-pointer box-border",children:g?.secondaryButton||"Clear"})]}),l("div",{className:"flex-1 flex items-center justify-between",children:[l("div",{className:"l-tablet:hidden flex items-center gap-x-4",children:[m&&l("div",{className:"flex items-center cursor-pointer",onClick:()=>x?.(!1),children:[e(c,{className:"mb-0.5 size-5",source:"https://cdn.shopify.com/s/files/1/0508/1815/4652/files/icon_table-of-contents.svg?v=1694054638"}),e("span",{className:"font-bold inline-block pl-2 leading-none",children:t?.filter_txt?.filter||"Open Filter"})]}),t?.filter_txt?.found?e(n,{className:"text-base font-bold text-[#86868C] md:hidden",html:t?.filter_txt?.found?.replace("${number}",a||0)}):e(n,{className:"text-base font-bold text-[#86868C] md:hidden",html:`${a||0} Item(s) Found`})]}),e("div",{className:"hidden l-tablet:block",children:l("div",{className:"flex items-center",onClick:()=>F?.(!0),children:[e(c,{className:"inline-block size-[20px]",source:"https://cdn.shopify.com/s/files/1/0508/1815/4652/files/icon_table-of-contents.svg?v=1694054638"}),e("span",{className:"font-bold inline-block pl-2 leading-none tablet:text-base text-sm",children:t?.filter_txt?.filter||"Close Filter"})]})}),l("div",{ref:f,className:"flex items-center relative cursor-pointer",onClick:()=>d(!r),children:[e("span",{className:"tablet:text-base text-sm pr-1 text-[#777]",dangerouslySetInnerHTML:{__html:`${t?.filter_txt?.sort||"Sort by"}: `}}),e(n,{html:t?.filter_txt?.sortList?.[b]?.txt||"Recommended",className:"tablet:text-base text-sm font-bold text-[#333]"}),e("div",{className:`ml-1 duration-300 ease-in-out ${r&&"rotate-180"}`,children:e("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"8",viewBox:"0 0 12 8",fill:"none",children:e("path",{d:"M10.412 0.910826C10.7375 0.585389 11.265 0.585389 11.5904 0.910826C11.9159 1.23626 11.9159 1.76377 11.5904 2.08921L6.59043 7.08921C6.265 7.41465 5.73748 7.41465 5.41205 7.08921L0.412046 2.08921C0.0866095 1.76377 0.0866095 1.23626 0.412046 0.910826C0.737483 0.585389 1.26499 0.585389 1.59043 0.910826L6.00124 5.32163L10.412 0.910826Z",fill:"#1D1D1F"})})}),e("ul",{className:i("w-full bg-[#FFFFFF] z-10 py-2 px-0 transition-all duration-400 ease-in-out","l-tablet:left-0 l-tablet:top-[120%] l-tablet:text-left absolute top-[110%] right-0",r?"visibility opacity-100":"invisible opacity-0"),children:t?.filter_txt?.sortList?.map?.((s,o)=>e("li",{className:i("cursor-pointer w-full p-4 text-base font-bold text-[#333] [&:hover]:bg-[#EAEAEC]",o===b?"bg-[#EAEAEC]":""),children:e("button",{name:s?.txt,className:"l-tablet:text-left",dangerouslySetInnerHTML:{__html:s?.txt},onClick:()=>{d(!1),h?.(o)}})},s?.txt+o))})]})]})]}),e("div",{className:"mb-2 hidden l-tablet:block",children:t?.filter_txt?.found?e(n,{className:"tablet:text-base text-sm font-bold text-[#86868C]",html:t?.filter_txt?.found?.replace("${number}",a||0)}):e(n,{className:"tablet:text-base text-sm font-bold text-[#86868C]",html:`${a||0} Item(s) Found`})})]})}export{k as default};
|
|
2
|
+
//# sourceMappingURL=FilterHeader.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/CollectionsFilters/FilterHeader.tsx"],
|
|
4
|
+
"sourcesContent": ["import { cn } from '../../helpers/utils'\nimport { Picture, Text } from '../../components/index.js'\nimport { useState, useEffect, useRef } from 'react'\n\ntype FilterHeaderProps = {\n total?: number\n sortKeyIndx: number\n metafields: any\n closeFilter: boolean\n shopifyData?: any\n onClearFiltered: () => void\n onSortChange: (sortKeyIndx: number) => void\n onCloseFilter: (closeFilter: boolean) => void\n onMobileOpenDrawer: (openDrawer: boolean) => void\n}\n\nexport default function FilterHeader(props: FilterHeaderProps) {\n const {\n total,\n closeFilter,\n metafields,\n shopifyData,\n onSortChange,\n onCloseFilter,\n onClearFiltered,\n onMobileOpenDrawer,\n sortKeyIndx,\n } = props\n \n const { drawerText } = shopifyData\n\n const { shop_filters_pair: shopFiltersPair } = metafields\n\n const containerRef = useRef<HTMLDivElement>(null)\n\n const [openSort, setOpenSort] = useState<boolean>(false)\n\n const onCloseOrOpenFilter = (closeFilter: boolean) => onCloseFilter?.(closeFilter)\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n const isContainer = !containerRef.current?.contains(event?.target as Node)\n if (isContainer) {\n setOpenSort(false)\n }\n }\n document.addEventListener('click', handleClickOutside)\n return () => document.removeEventListener('click', handleClickOutside)\n }, [])\n\n return (\n <div className=\"filter-header\">\n <div\n className={cn(\n 'desktop:gap-x-16 tablet:gap-x-8',\n 'relative flex l-tablet:p-0 text-base font-bold box-border tablet:mb-4 mb-2'\n )}\n >\n {/* pc\u5C55\u793A\u7684\u7B5B\u9009(open\u72B6\u6001) */}\n {!closeFilter && (\n <div\n className={cn(\n 'l-tablet:hidden flex-shrink-0 flex justify-between items-center',\n 'desktop:w-60 tablet:w-48 laptop:w-[210px] l-tablet:w-fit box-border'\n )}\n >\n <div className=\"flex items-center cursor-pointer\" onClick={() => onCloseOrOpenFilter?.(true)}>\n <Picture\n className=\"mb-0.5 size-5\"\n source=\"https://cdn.shopify.com/s/files/1/0508/1815/4652/files/icon_table-of-contents.svg?v=1694054638\"\n />\n <span className=\"font-bold inline-block pl-2 leading-none\">\n {shopFiltersPair?.filter_txt?.filter || 'Close Filter'}\n </span>\n </div>\n <span\n onClick={() => onClearFiltered?.()}\n className=\"text-center text-base decoration-1 underline md:hidden font-bold text-[#1D1D1F] cursor-pointer box-border\"\n >\n {drawerText?.secondaryButton || 'Clear'}\n </span>\n </div>\n )}\n <div className=\"flex-1 flex items-center justify-between\">\n {/* pc\u7AEF\u5C55\u793A\u7684\u7B5B\u9009\uFF08close\u72B6\u6001\uFF09 */}\n <div className=\"l-tablet:hidden flex items-center gap-x-4\">\n {closeFilter && (\n <div className=\"flex items-center cursor-pointer\" onClick={() => onCloseOrOpenFilter?.(false)}>\n <Picture\n className=\"mb-0.5 size-5\"\n source=\"https://cdn.shopify.com/s/files/1/0508/1815/4652/files/icon_table-of-contents.svg?v=1694054638\"\n />\n <span className=\"font-bold inline-block pl-2 leading-none\">\n {shopFiltersPair?.filter_txt?.filter || 'Open Filter'}\n </span>\n </div>\n )}\n {shopFiltersPair?.filter_txt?.found ? (\n <Text\n className=\"text-base font-bold text-[#86868C] md:hidden\"\n html={shopFiltersPair?.filter_txt?.found?.replace('${number}', total || 0)}\n />\n ) : (\n <Text className=\"text-base font-bold text-[#86868C] md:hidden\" html={`${total || 0} Item(s) Found`} />\n )}\n </div>\n {/* \u79FB\u52A8\u7AEF\u5C55\u793A\u7684\u7B5B\u9009 */}\n <div className=\"hidden l-tablet:block\">\n <div className=\"flex items-center\" onClick={() => onMobileOpenDrawer?.(true)}>\n <Picture\n className=\"inline-block size-[20px]\"\n source=\"https://cdn.shopify.com/s/files/1/0508/1815/4652/files/icon_table-of-contents.svg?v=1694054638\"\n />\n <span className=\"font-bold inline-block pl-2 leading-none tablet:text-base text-sm\">\n {shopFiltersPair?.filter_txt?.filter || 'Close Filter'}\n </span>\n </div>\n </div>\n {/* \u6392\u5E8F */}\n <div ref={containerRef} className=\"flex items-center relative cursor-pointer\" onClick={() => setOpenSort(!openSort)}>\n <span\n className=\"tablet:text-base text-sm pr-1 text-[#777]\"\n dangerouslySetInnerHTML={{\n __html: `${shopFiltersPair?.filter_txt?.sort || 'Sort by'}: `,\n }}\n />\n <Text\n html={shopFiltersPair?.filter_txt?.sortList?.[sortKeyIndx]?.txt || 'Recommended'}\n className=\"tablet:text-base text-sm font-bold text-[#333]\"\n />\n <div className={`ml-1 duration-300 ease-in-out ${openSort && 'rotate-180'}`}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"8\" viewBox=\"0 0 12 8\" fill=\"none\">\n <path\n d=\"M10.412 0.910826C10.7375 0.585389 11.265 0.585389 11.5904 0.910826C11.9159 1.23626 11.9159 1.76377 11.5904 2.08921L6.59043 7.08921C6.265 7.41465 5.73748 7.41465 5.41205 7.08921L0.412046 2.08921C0.0866095 1.76377 0.0866095 1.23626 0.412046 0.910826C0.737483 0.585389 1.26499 0.585389 1.59043 0.910826L6.00124 5.32163L10.412 0.910826Z\"\n fill=\"#1D1D1F\"\n />\n </svg>\n </div>\n <ul\n className={cn(\n 'w-full bg-[#FFFFFF] z-10 py-2 px-0 transition-all duration-400 ease-in-out',\n 'l-tablet:left-0 l-tablet:top-[120%] l-tablet:text-left absolute top-[110%] right-0',\n openSort ? 'visibility opacity-100' : 'invisible opacity-0'\n )}\n >\n {shopFiltersPair?.filter_txt?.sortList?.map?.((l: any, k: number) => (\n <li\n key={l?.txt + k}\n className={cn(\n 'cursor-pointer w-full p-4 text-base font-bold text-[#333] [&:hover]:bg-[#EAEAEC]',\n k === sortKeyIndx ? 'bg-[#EAEAEC]' : ''\n )}\n >\n <button\n name={l?.txt}\n className={'l-tablet:text-left'}\n dangerouslySetInnerHTML={{ __html: l?.txt }}\n onClick={() => {\n setOpenSort(false)\n onSortChange?.(k)\n }}\n />\n </li>\n ))}\n </ul>\n </div>\n </div>\n </div>\n <div className=\"mb-2 hidden l-tablet:block\">\n {shopFiltersPair?.filter_txt?.found ? (\n <Text\n className=\"tablet:text-base text-sm font-bold text-[#86868C]\"\n html={shopFiltersPair?.filter_txt?.found?.replace('${number}', total || 0)}\n />\n ) : (\n <Text\n className=\"tablet:text-base text-sm font-bold text-[#86868C]\"\n html={`${total || 0} Item(s) Found`}\n />\n )}\n </div>\n </div>\n )\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["jsx", "jsxs", "cn", "Picture", "Text", "useState", "useEffect", "useRef", "FilterHeader", "props", "total", "closeFilter", "metafields", "shopifyData", "onSortChange", "onCloseFilter", "onClearFiltered", "onMobileOpenDrawer", "sortKeyIndx", "drawerText", "shopFiltersPair", "containerRef", "openSort", "setOpenSort", "onCloseOrOpenFilter", "handleClickOutside", "event", "l", "k"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
interface FilterListProps {
|
|
2
|
+
onFilteredChange: (filtered: any, filter: any, opt: any) => void;
|
|
3
|
+
onOpenOptions: (openOpt: any[]) => void;
|
|
4
|
+
closeFilter: boolean;
|
|
5
|
+
shopifyData?: any;
|
|
6
|
+
filtersPair: any;
|
|
7
|
+
filtered: any;
|
|
8
|
+
openOptions: any[];
|
|
9
|
+
mobileDrawerVisible: boolean;
|
|
10
|
+
onClearFiltered: () => void;
|
|
11
|
+
onCloseDrawer: (closeDrawer: boolean) => void;
|
|
12
|
+
}
|
|
13
|
+
export default function FilterList(props: FilterListProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as t,jsxs as d}from"react/jsx-runtime";import $ from"./component/AnimatedUL";import{cn as i}from"../../helpers/utils";import{remove as M,cloneDeep as P}from"es-toolkit";import{useEffect as y,useRef as T}from"react";import{useMediaQuery as A}from"react-responsive";import{Button as g,Drawer as H,DrawerContent as R,DrawerHeader as z,DrawerTitle as I,DrawerFooter as U}from"../../components/index.js";const x="!pt-4 transition-all duration-400 ease-in-out";function V(C){const b=A({query:"(max-width: 768px)"}),f=T(!1),{filtersPair:c,closeFilter:h,filtered:N,shopifyData:D,openOptions:p,mobileDrawerVisible:k,onCloseDrawer:m,onFilteredChange:F,onOpenOptions:v,onClearFiltered:L}=C,{drawerText:u}=D,O=(e,o,l,a)=>{const n=e.target,r=P(N)||{};let s=r?.[n?.name]||[];n.checked?a==="checkbox"?s.push(n?.value):s=[n?.value]:M(s,B=>B===n.value),r[n.name]=s,s.length<=0&&Reflect.deleteProperty(r,n.name),F?.({...r},o,l)},E=e=>{let o=p?.concat?.();o?.map?.(l=>l.label===e?l.show=!l.show:l),v?.(o)},w=()=>c?.length>0&&t("div",{className:"filter-list",children:c.map((e,o)=>{const l=p?.find?.(a=>a.label==e.label);return d("div",{className:i("mb-4 overflow-hidden duration-300 ease-in-out"),children:[d("div",{onClick:()=>E(e.label),className:"relative flex items-center justify-between md-tablet:justify-center text-base font-bold cursor-pointer leading-none",children:[t("button",{className:"w-full whitespace-nowrap text-left font-medium overflow-hidden box-border",children:t("span",{className:"pr-2 font-bold truncate",children:e.label})}),t("div",{className:`duration-300 ease-in-out ${l?.show&&"rotate-180"}`,children:t("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"7",viewBox:"0 0 12 7",fill:"none",children:t("path",{d:"M5.5268 0.668525C5.82138 0.428262 6.25563 0.445208 6.53022 0.719795L11.0302 5.2198C11.3231 5.51269 11.3231 5.98745 11.0302 6.28034C10.7373 6.57324 10.2626 6.57324 9.96967 6.28034L5.99994 2.31062L2.03022 6.28034C1.73732 6.57324 1.26256 6.57324 0.96967 6.28034C0.676777 5.98745 0.676777 5.51269 0.96967 5.2198L5.46967 0.719795L5.5268 0.668525Z",fill:"#1D1D1F"})})})]}),t("div",{className:"transition-all duration-400 ease-in-out overflow-hidden",children:t($,{className:"!pt-4 transition-all duration-400 ease-in-out","data-label":e.label,isOpen:!!l?.show,children:e?.options?.map?.((a,n)=>{const r=e.type?e.type==="checkbox"?"checkbox":"radio":"checkbox";return t("li",{className:i("w-full mb-4 box-border",{"text-[#32323266] cursor-not-allowed":a?.count<=0,"mb-0":n>=e?.options?.length-1}),children:d("label",{className:"flex items-center overflow-hidden box-border",htmlFor:`${e.value}-${n}`,children:[t("input",{type:r,name:e.value,value:a.value,id:`${e.value}-${n}`,disabled:a?.count<=0,checked:a.checked,className:i("size-4 cursor-pointer",a.checked?"accent-[#000000]":`appearance-none bg-transparent border border-[#000000] ${r==="radio"?"rounded-full":"rounded-[2px]"}`),onChange:s=>O(s,e,a,r)}),t("p",{className:i("pt-0.5 pl-0.5 inline-block cursor-pointer font-bold leading-none text-base"),children:a.label})]})},a.value)})})})]},`${e.label}${o}`)})});return y(()=>{if(c?.length&&!p?.length&&!f.current){f.current=!0;let e=[];const o=document?.getElementsByClassName(x);for(let l=0;l<o.length;l++){let a={};a.label=o?.[l]?.getAttribute("data-label"),a.show=b?!1:l<6,a.height=document?.getElementsByClassName(x)?.[l]?.clientHeight,e.push(a)}v?.(e)}},[c]),y(()=>{!b&&m?.(!1)},[b]),d("div",{className:i("transition-all duration-400 ease-in-out","desktop:w-60 tablet:w-48 laptop:w-[210px] l-tablet:hidden tablet:pt-4 tablet:border-t tablet:border-[#E4E5E6]","md-tablet:fixed md-tablet:bottom-0 md-tablet:left-0 md-tablet:right-0 md-tablet:top-0 md-tablet:z-[99]",h?"md-tablet:pointer-events-auto md-tablet:opacity-100":"md-tablet:pointer-events-none md-tablet:opacity-0"),children:[t("div",{className:i("transition-all duration-400 ease-in-out md-tablet:absolute md-tablet:bottom-0 md-tablet:h-[90vh] md-tablet:w-full",h?"md-tablet:translate-y-0":"md-tablet:translate-y-[100%]"),children:w()}),t(H,{open:k,onOpenChange:()=>m(!1),children:d(R,{className:"px-4 pb-4 max-h-[94.5vh] flex flex-col",children:[t(z,{className:"sticky top-0 inset-x-0 py-0 mb-6",children:t(I,{children:u?.drawerTitle||"Mobile Filter"})}),t("div",{className:"flex-1 overflow-y-auto",children:w()}),t(U,{className:"pb-0 pt-4",children:d("div",{className:i("shelf-flex-button-group","lg-desktop:gap-3 flex items-center gap-2"),children:[t(g,{variant:"secondary",className:"m-tablet:w-full",onClick:()=>{L?.(),m(!1)},children:u?.secondaryButton||"Clear"}),t(g,{variant:"primary",className:"m-tablet:w-full",onClick:()=>{m(!1)},children:u?.primaryButton||"Apply"})]})})]})})]})}export{V as default};
|
|
2
|
+
//# sourceMappingURL=FilterList.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/CollectionsFilters/FilterList.tsx"],
|
|
4
|
+
"sourcesContent": ["import AnimatedUL from './component/AnimatedUL'\nimport { cn } from '../../helpers/utils'\nimport type { ChangeEvent } from 'react'\nimport { remove, cloneDeep } from 'es-toolkit'\nimport { useEffect, useRef } from 'react'\nimport { useMediaQuery } from 'react-responsive'\nimport { Button, Drawer, DrawerContent, DrawerHeader, DrawerTitle, DrawerFooter } from '../../components/index.js'\n\ninterface FilterListProps {\n onFilteredChange: (filtered: any, filter: any, opt: any) => void\n onOpenOptions: (openOpt: any[]) => void\n closeFilter: boolean // \u662F\u5426\u5173\u95ED\u7B5B\u9009\u9879\u5C55\u793A\n shopifyData?: any\n filtersPair: any\n filtered: any // \u9009\u62E9\u7684\u7B5B\u9009\u9009\u9879\n openOptions: any[] // \u5C55\u5F00\u7B5B\u9009\u9879\n mobileDrawerVisible: boolean\n onClearFiltered: () => void\n onCloseDrawer: (closeDrawer: boolean) => void\n}\n\nconst filterListItemClassName = '!pt-4 transition-all duration-400 ease-in-out'\n\nexport default function FilterList(props: FilterListProps) {\n const isMobile = useMediaQuery({ query: '(max-width: 768px)' })\n const onceRef = useRef<boolean>(false)\n\n const {\n filtersPair,\n closeFilter,\n filtered,\n shopifyData,\n openOptions,\n mobileDrawerVisible,\n onCloseDrawer,\n onFilteredChange,\n onOpenOptions,\n onClearFiltered,\n } = props\n\n const { drawerText } = shopifyData\n\n const filterChange = (event: ChangeEvent<HTMLInputElement>, filter: any, opt: any, type: string) => {\n const target = event.target\n const clonefiltered = cloneDeep(filtered) || {}\n let current = clonefiltered?.[target?.name] || []\n if (target.checked) {\n type === 'checkbox' ? current.push(target?.value) : (current = [target?.value])\n } else {\n remove(current, (v: string) => v === target.value)\n }\n clonefiltered[target.name] = current\n if (current.length <= 0) {\n Reflect.deleteProperty(clonefiltered, target.name)\n }\n onFilteredChange?.({ ...clonefiltered }, filter, opt)\n }\n\n const handleFilterOpt = (label: string) => {\n let res = openOptions?.concat?.()\n res?.map?.((item: any) => {\n if (item.label === label) return (item.show = !item.show)\n return item\n })\n onOpenOptions?.(res)\n }\n\n const MobileFilterList = () => {\n return (\n filtersPair?.length > 0 && (\n <div className=\"filter-list\">\n {filtersPair.map((filter: any, i: number) => {\n const openOption = openOptions?.find?.((item: any) => item.label == filter.label) as any\n return (\n <div key={`${filter.label}${i}`} className={cn('mb-4 overflow-hidden duration-300 ease-in-out')}>\n <div\n onClick={() => handleFilterOpt(filter.label)}\n className={\n 'relative flex items-center justify-between md-tablet:justify-center text-base font-bold cursor-pointer leading-none'\n }\n >\n <button className=\"w-full whitespace-nowrap text-left font-medium overflow-hidden box-border\">\n <span className=\"pr-2 font-bold truncate\">{filter.label}</span>\n </button>\n <div className={`duration-300 ease-in-out ${openOption?.show && 'rotate-180'}`}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"7\" viewBox=\"0 0 12 7\" fill=\"none\">\n <path\n d=\"M5.5268 0.668525C5.82138 0.428262 6.25563 0.445208 6.53022 0.719795L11.0302 5.2198C11.3231 5.51269 11.3231 5.98745 11.0302 6.28034C10.7373 6.57324 10.2626 6.57324 9.96967 6.28034L5.99994 2.31062L2.03022 6.28034C1.73732 6.57324 1.26256 6.57324 0.96967 6.28034C0.676777 5.98745 0.676777 5.51269 0.96967 5.2198L5.46967 0.719795L5.5268 0.668525Z\"\n fill=\"#1D1D1F\"\n />\n </svg>\n </div>\n </div>\n <div className={'transition-all duration-400 ease-in-out overflow-hidden'}>\n <AnimatedUL\n className={'!pt-4 transition-all duration-400 ease-in-out'}\n data-label={filter.label}\n isOpen={!!openOption?.show}\n >\n {filter?.options?.map?.((opt: any, p: number) => {\n const type = filter.type ? (filter.type === 'checkbox' ? 'checkbox' : 'radio') : 'checkbox'\n return (\n <li\n key={opt.value}\n className={cn('w-full mb-4 box-border', {\n 'text-[#32323266] cursor-not-allowed': opt?.count <= 0,\n 'mb-0': p >= filter?.options?.length - 1,\n })}\n >\n <label\n className=\"flex items-center overflow-hidden box-border\"\n htmlFor={`${filter.value}-${p}`}\n >\n <input\n type={type}\n name={filter.value}\n value={opt.value}\n id={`${filter.value}-${p}`}\n disabled={opt?.count <= 0}\n checked={opt.checked}\n className={cn(\n 'size-4 cursor-pointer',\n opt.checked\n ? 'accent-[#000000]'\n : `appearance-none bg-transparent border border-[#000000] ${type === 'radio' ? 'rounded-full' : 'rounded-[2px]'}`\n )}\n onChange={e => filterChange(e, filter, opt, type)}\n />\n <p\n className={cn(\n 'pt-0.5 pl-0.5 inline-block cursor-pointer font-bold leading-none text-base'\n )}\n >\n {opt.label}\n </p>\n </label>\n </li>\n )\n })}\n </AnimatedUL>\n </div>\n </div>\n )\n })}\n </div>\n )\n )\n }\n\n useEffect(() => {\n if (filtersPair?.length && !openOptions?.length && !onceRef.current) {\n onceRef.current = true\n let res = []\n const domList = document?.getElementsByClassName(filterListItemClassName)\n for (let index = 0; index < domList.length; index++) {\n let data = {} as any\n data.label = domList?.[index]?.getAttribute('data-label')\n data.show = isMobile ? false : index < 6 ? true : false\n data.height = document?.getElementsByClassName(filterListItemClassName)?.[index]?.clientHeight\n res.push(data)\n }\n onOpenOptions?.(res)\n }\n }, [filtersPair])\n\n useEffect(() => {\n !isMobile && onCloseDrawer?.(false)\n }, [isMobile])\n\n return (\n <div\n className={cn(\n 'transition-all duration-400 ease-in-out',\n 'desktop:w-60 tablet:w-48 laptop:w-[210px] l-tablet:hidden tablet:pt-4 tablet:border-t tablet:border-[#E4E5E6]',\n 'md-tablet:fixed md-tablet:bottom-0 md-tablet:left-0 md-tablet:right-0 md-tablet:top-0 md-tablet:z-[99]',\n closeFilter\n ? 'md-tablet:pointer-events-auto md-tablet:opacity-100'\n : 'md-tablet:pointer-events-none md-tablet:opacity-0'\n )}\n >\n <div\n className={cn(\n 'transition-all duration-400 ease-in-out md-tablet:absolute md-tablet:bottom-0 md-tablet:h-[90vh] md-tablet:w-full',\n closeFilter ? 'md-tablet:translate-y-0' : 'md-tablet:translate-y-[100%]'\n )}\n >\n {MobileFilterList()}\n </div>\n <Drawer open={mobileDrawerVisible} onOpenChange={() => onCloseDrawer(false)}>\n <DrawerContent className=\"px-4 pb-4 max-h-[94.5vh] flex flex-col\">\n <DrawerHeader className=\"sticky top-0 inset-x-0 py-0 mb-6\">\n <DrawerTitle>{drawerText?.drawerTitle || 'Mobile Filter'}</DrawerTitle>\n </DrawerHeader>\n <div className=\"flex-1 overflow-y-auto\">{MobileFilterList()}</div>\n <DrawerFooter className=\"pb-0 pt-4\">\n <div className={cn('shelf-flex-button-group', 'lg-desktop:gap-3 flex items-center gap-2')}>\n <Button\n variant=\"secondary\"\n className=\"m-tablet:w-full\"\n onClick={() => {\n onClearFiltered?.()\n onCloseDrawer(false)\n }}\n >\n {drawerText?.secondaryButton || 'Clear'}\n </Button>\n <Button\n variant=\"primary\"\n className=\"m-tablet:w-full\"\n onClick={() => {\n onCloseDrawer(false)\n }}\n >\n {drawerText?.primaryButton || 'Apply'}\n </Button>\n </div>\n </DrawerFooter>\n </DrawerContent>\n </Drawer>\n </div>\n )\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["jsx", "jsxs", "AnimatedUL", "cn", "remove", "cloneDeep", "useEffect", "useRef", "useMediaQuery", "Button", "Drawer", "DrawerContent", "DrawerHeader", "DrawerTitle", "DrawerFooter", "filterListItemClassName", "FilterList", "props", "isMobile", "onceRef", "filtersPair", "closeFilter", "filtered", "shopifyData", "openOptions", "mobileDrawerVisible", "onCloseDrawer", "onFilteredChange", "onOpenOptions", "onClearFiltered", "drawerText", "filterChange", "event", "filter", "opt", "type", "target", "clonefiltered", "current", "v", "handleFilterOpt", "label", "res", "item", "MobileFilterList", "i", "openOption", "p", "e", "domList", "index", "data"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as d}from"react/jsx-runtime";import p from"./component/TabFilter";import{cloneDeep as s}from"es-toolkit";import{useMemo as u}from"react";function b(t){const{filtered:i={},filtersPair:n=[],onTabChange:o}=t,l=(e,a)=>{const r=s(i),c=r?.[e?.value]||[];r[e?.value]=a?.value?[a?.value]:[],c.length<=0&&Reflect.deleteProperty(r,a?.label),o?.(r)},f=u(()=>n?.find?.(e=>e.mainPair),[n]);return d(p,{tabs:f,tabShape:"square",onTabClick:l})}export{b as default};
|
|
2
|
+
//# sourceMappingURL=FiterTab.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/biz-components/CollectionsFilters/FiterTab.tsx"],
|
|
4
|
+
"sourcesContent": ["import TabFilter from './component/TabFilter'\nimport { cloneDeep } from 'es-toolkit'\nimport { useMemo } from 'react'\n\ntype FiterTabProps = {\n filtered: any\n filtersPair: any\n onTabChange: (filtered: any) => void\n}\n\nexport default function FiterTab(props: FiterTabProps) {\n const {\n filtered = {},\n filtersPair = [],\n onTabChange,\n } = props\n\n const onTabClick = (tabs: any, tab: any) => {\n const clonefiltered = cloneDeep(filtered)\n const current = clonefiltered?.[tabs?.value] || []\n clonefiltered[tabs?.value] = tab?.value ? [tab?.value] : []\n if (current.length <= 0) {\n Reflect.deleteProperty(clonefiltered, tab?.label)\n }\n onTabChange?.(clonefiltered)\n }\n\n const mainPair = useMemo(() => {\n return filtersPair?.find?.((item: any) => item.mainPair)\n }, [filtersPair])\n\n return <TabFilter tabs={mainPair} tabShape=\"square\" onTabClick={onTabClick} />\n}\n"],
|
|
5
|
+
"mappings": "AA+BW,cAAAA,MAAA,oBA/BX,OAAOC,MAAe,wBACtB,OAAS,aAAAC,MAAiB,aAC1B,OAAS,WAAAC,MAAe,QAQT,SAARC,EAA0BC,EAAsB,CACnD,KAAM,CACJ,SAAAC,EAAW,CAAC,EACZ,YAAAC,EAAc,CAAC,EACf,YAAAC,CACF,EAAIH,EAEEI,EAAa,CAACC,EAAWC,IAAa,CAC1C,MAAMC,EAAgBV,EAAUI,CAAQ,EAClCO,EAAUD,IAAgBF,GAAM,KAAK,GAAK,CAAC,EACjDE,EAAcF,GAAM,KAAK,EAAIC,GAAK,MAAQ,CAACA,GAAK,KAAK,EAAI,CAAC,EACtDE,EAAQ,QAAU,GACpB,QAAQ,eAAeD,EAAeD,GAAK,KAAK,EAElDH,IAAcI,CAAa,CAC7B,EAEME,EAAWX,EAAQ,IAChBI,GAAa,OAAQQ,GAAcA,EAAK,QAAQ,EACtD,CAACR,CAAW,CAAC,EAEhB,OAAOP,EAACC,EAAA,CAAU,KAAMa,EAAU,SAAS,SAAS,WAAYL,EAAY,CAChF",
|
|
6
|
+
"names": ["jsx", "TabFilter", "cloneDeep", "useMemo", "FiterTab", "props", "filtered", "filtersPair", "onTabChange", "onTabClick", "tabs", "tab", "clonefiltered", "current", "mainPair", "item"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface SortFilterProps {
|
|
2
|
+
openSort: boolean;
|
|
3
|
+
setOpenSort: (openSort: boolean) => void;
|
|
4
|
+
shopFiltersPair: any;
|
|
5
|
+
setSortKeyIndx: (sortKeyIndx: number) => void;
|
|
6
|
+
}
|
|
7
|
+
export default function SortFilter(props: SortFilterProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
interface SortFilterProps {
|
|
2
|
+
openSort: boolean;
|
|
3
|
+
setOpenSort: (openSort: boolean) => void;
|
|
4
|
+
shopFiltersPair: any;
|
|
5
|
+
setSortKeyIndx: (sortKeyIndx: number) => void;
|
|
6
|
+
}
|
|
7
|
+
export default function SortFilter(props: SortFilterProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as u}from"react/jsx-runtime";import{useLayoutEffect as r,useRef as l}from"react";import t from"gsap";function d({isOpen:p,children:n,className:a,...s}){const o=l(null);return r(()=>{const e=o.current;if(e){if(t.killTweensOf(e),p){t.set(e,{height:"auto",paddingTop:"24px",opacity:1});const i=e.offsetHeight;t.set(e,{height:0,paddingTop:"0px",opacity:0}),t.to(e,{height:i,paddingTop:"24px",opacity:1,duration:.35,ease:"power2.out",onComplete:()=>{t.set(e,{height:"auto"})}})}else{const i=e.offsetHeight;t.set(e,{height:i,paddingTop:e.style.paddingTop||"16px",opacity:1}),t.to(e,{height:0,paddingTop:"0px",opacity:0,duration:.28,ease:"power2.in",onComplete:()=>{t.set(e,{height:0})}})}return()=>{o.current&&t.killTweensOf(o.current)}}},[p]),u("ul",{ref:o,className:a,style:{height:0,overflow:"hidden",paddingTop:0},...s,children:n})}export{d as default};
|
|
2
|
+
//# sourceMappingURL=AnimatedUL.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/biz-components/CollectionsFilters/component/AnimatedUL.tsx"],
|
|
4
|
+
"sourcesContent": ["// \u9876\u90E8 imports\nimport { useLayoutEffect, useRef } from 'react'\nimport gsap from 'gsap'\n\ntype AnimatedULProps = React.HTMLAttributes<HTMLUListElement> & {\n isOpen: boolean\n}\n\nexport default function AnimatedUL({ isOpen, children, className, ...rest }: AnimatedULProps) {\n const ref = useRef<HTMLUListElement | null>(null)\n\n useLayoutEffect(() => {\n const el = ref.current\n if (!el) return\n // \u5148\u505C\u6B62\u5DF2\u6709 tween\uFF0C\u907F\u514D\u51B2\u7A81\n gsap.killTweensOf(el)\n\n if (isOpen) {\n // \u5C55\u5F00\u6D41\u7A0B\uFF1A\u5148\u8BBE\u7F6E\u4E3A auto \u4EE5\u6D4B\u91CF\u5B8C\u6574\u9AD8\u5EA6\uFF0C\u518D\u56DE\u5230 0 \u5F00\u59CB\u52A8\u753B\n gsap.set(el, { height: 'auto', paddingTop: '24px', opacity: 1 })\n const fullHeight = el.offsetHeight // \u83B7\u53D6\u5C55\u5F00\u540E\u603B\u9AD8\u5EA6\n // \u4ECE\u6536\u8D77\u72B6\u6001\u5F00\u59CB\u52A8\u753B\n gsap.set(el, { height: 0, paddingTop: '0px', opacity: 0 })\n gsap.to(el, {\n height: fullHeight,\n paddingTop: '24px',\n opacity: 1,\n duration: 0.35,\n ease: 'power2.out',\n onComplete: () => {\n // \u52A8\u753B\u7ED3\u675F\u540E\u628A height \u8BBE\u4E3A auto \u4FDD\u6301\u81EA\u9002\u5E94\n gsap.set(el, { height: 'auto' })\n },\n })\n } else {\n // \u6536\u8D77\u6D41\u7A0B\uFF1A\u5148\u628A\u5F53\u524D\u9AD8\u5EA6\u56FA\u5B9A\uFF0C\u518D\u52A8\u753B\u5230 0\n const curHeight = el.offsetHeight\n gsap.set(el, { height: curHeight, paddingTop: el.style.paddingTop || '16px', opacity: 1 })\n gsap.to(el, {\n height: 0,\n paddingTop: '0px',\n opacity: 0,\n duration: 0.28,\n ease: 'power2.in',\n onComplete: () => {\n // \u5B8C\u5168\u6536\u8D77\u540E\u4FDD\u6301 height \u4E3A 0\uFF08\u6216\u53EF\u79FB\u9664\u5185\u8054\u6837\u5F0F\uFF09\n gsap.set(el, { height: 0 })\n },\n })\n }\n\n return () => {\n // \u6E05\u7406\n if (ref.current) gsap.killTweensOf(ref.current)\n }\n }, [isOpen])\n\n // \u521D\u59CB\u6837\u5F0F\uFF1A\u6536\u8D77\u72B6\u6001\uFF08\u548C motion.ul \u7684 hidden \u72B6\u6001\u7B49\u4EF7\uFF09\n return (\n <ul ref={ref} className={className} style={{ height: 0, overflow: 'hidden', paddingTop: 0 }} {...rest}>\n {children}\n </ul>\n )\n}\n"],
|
|
5
|
+
"mappings": "AA2DI,cAAAA,MAAA,oBA1DJ,OAAS,mBAAAC,EAAiB,UAAAC,MAAc,QACxC,OAAOC,MAAU,OAMF,SAARC,EAA4B,CAAE,OAAAC,EAAQ,SAAAC,EAAU,UAAAC,EAAW,GAAGC,CAAK,EAAoB,CAC5F,MAAMC,EAAMP,EAAgC,IAAI,EAEhD,OAAAD,EAAgB,IAAM,CACpB,MAAMS,EAAKD,EAAI,QACf,GAAKC,EAIL,IAFAP,EAAK,aAAaO,CAAE,EAEhBL,EAAQ,CAEVF,EAAK,IAAIO,EAAI,CAAE,OAAQ,OAAQ,WAAY,OAAQ,QAAS,CAAE,CAAC,EAC/D,MAAMC,EAAaD,EAAG,aAEtBP,EAAK,IAAIO,EAAI,CAAE,OAAQ,EAAG,WAAY,MAAO,QAAS,CAAE,CAAC,EACzDP,EAAK,GAAGO,EAAI,CACV,OAAQC,EACR,WAAY,OACZ,QAAS,EACT,SAAU,IACV,KAAM,aACN,WAAY,IAAM,CAEhBR,EAAK,IAAIO,EAAI,CAAE,OAAQ,MAAO,CAAC,CACjC,CACF,CAAC,CACH,KAAO,CAEL,MAAME,EAAYF,EAAG,aACrBP,EAAK,IAAIO,EAAI,CAAE,OAAQE,EAAW,WAAYF,EAAG,MAAM,YAAc,OAAQ,QAAS,CAAE,CAAC,EACzFP,EAAK,GAAGO,EAAI,CACV,OAAQ,EACR,WAAY,MACZ,QAAS,EACT,SAAU,IACV,KAAM,YACN,WAAY,IAAM,CAEhBP,EAAK,IAAIO,EAAI,CAAE,OAAQ,CAAE,CAAC,CAC5B,CACF,CAAC,CACH,CAEA,MAAO,IAAM,CAEPD,EAAI,SAASN,EAAK,aAAaM,EAAI,OAAO,CAChD,EACF,EAAG,CAACJ,CAAM,CAAC,EAITL,EAAC,MAAG,IAAKS,EAAK,UAAWF,EAAW,MAAO,CAAE,OAAQ,EAAG,SAAU,SAAU,WAAY,CAAE,EAAI,GAAGC,EAC9F,SAAAF,EACH,CAEJ",
|
|
6
|
+
"names": ["jsx", "useLayoutEffect", "useRef", "gsap", "AnimatedUL", "isOpen", "children", "className", "rest", "ref", "el", "fullHeight", "curHeight"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface TabsProps {
|
|
3
|
+
tabs: any[];
|
|
4
|
+
filtered: any;
|
|
5
|
+
metafields: any;
|
|
6
|
+
filtersPair: any;
|
|
7
|
+
filtersData: any;
|
|
8
|
+
tabShape?: 'rounded' | 'square';
|
|
9
|
+
onTabClick?: (value: any, item: any) => void;
|
|
10
|
+
}
|
|
11
|
+
declare const TabFilter: React.FC<TabsProps>;
|
|
12
|
+
export default TabFilter;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use client";import{jsx as u}from"react/jsx-runtime";import{cloneDeep as W}from"es-toolkit";import{useRef as A,useState as x,useMemo as N,useEffect as S}from"react";import $ from"../../../components/link";import{cn as b}from"../../../helpers/utils.js";import{useAiuiContext as q}from"../../AiuiProvider/index.js";const c="All",F=g=>{const{metafields:m,tabs:o,onTabClick:k,tabShape:r="square",filtersPair:h,filtered:s,filtersData:l}=g,{name:i}=m,{pathname:T}=q(),y=A(null),[d,P]=x([]),[v,w]=x([]),D=e=>{const n=W(s)||{};let a=n?.[t?.value]||[];e?.options===(l?.mainPair?.alltxt||i||c)?a=[]:a=[e?.value||e],n[t?.value]=a,a.length<=0&&Reflect.deleteProperty(n,t?.value),k?.({...n},e);const f=document.getElementById(`tab-${e?.label||e}`),p=y.current;if(f&&p){const L=f.offsetLeft,C=f.offsetWidth,E=p.offsetWidth,R=L-E/2+C/2;p.scrollTo({left:R,behavior:"smooth"})}},t=N(()=>h?.find(e=>e.mainPair),[h]);return S(()=>{if(o?.length)P(o);else{const e=t?.options||[],a=[{label:l?.mainPair?.alltxt||i||c,value:t?.value,options:l?.mainPair?.alltxt||i||c},...e];w(a)}},[t,l,o]),d?.length>0||v?.length>0?u("div",{ref:y,className:b(r==="rounded"?"rounded-[28px]":"","tab-switch-wrap bg-tabs-list-bg relative flex gap-x-1 w-fit max-w-full overflow-x-auto overflow-y-hidden p-1 laptop:m-auto"),children:d?.length>0?d?.map?.(e=>u($,{id:`tab-${e?.label}`,href:e?.href,className:b("relative flex-1 shrink-0 whitespace-nowrap transition-all","text-info-primary px-5 py-2.5 text-sm lg-desktop:text-base font-bold no-underline","lg-desktop:text-base lg-desktop:px-7 lg-desktop:py-3.5 hover:bg-btn-primary-disabled-foreground hover:text-info-primary",r==="rounded"?"rounded-[28px]":"",e?.href&&e?.href===T?"bg-btn-primary-disabled-foreground":""),children:e?.label||""},e?.label)):v?.map?.(e=>u("div",{id:`tab-${e?.label||e}`,onClick:()=>D(e),className:b("relative flex-1 shrink-0 whitespace-nowrap transition-all","text-info-primary px-5 py-2.5 text-sm lg-desktop:text-base font-bold no-underline","lg-desktop:text-base lg-desktop:px-7 lg-desktop:py-3.5 hover:bg-btn-primary-disabled-foreground hover:text-info-primary",r==="rounded"?"rounded-[28px]":"",s?.[t?.value]?.includes?.(e?.value||e)||!s?.[t?.value]?.length&&e?.options?"bg-btn-primary-disabled-foreground":""),children:e?.label||e},e?.value||e))}):null};var _=F;export{_ as default};
|
|
2
|
+
//# sourceMappingURL=TabFilter.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/biz-components/CollectionsFilters/component/TabFilter.tsx"],
|
|
4
|
+
"sourcesContent": ["'use client'\nimport { remove, cloneDeep } from 'es-toolkit'\nimport React, { useRef, useState, useMemo, useEffect } from 'react'\nimport Link from '../../../components/link'\nimport { cn } from '../../../helpers/utils.js'\nimport { useAiuiContext } from '../../AiuiProvider/index.js'\ninterface TabsProps {\n tabs: any[]\n filtered: any\n metafields: any\n filtersPair: any\n filtersData: any\n tabShape?: 'rounded' | 'square'\n onTabClick?: (value: any, item: any) => void\n}\n\nconst ALL_TEXT = 'All'\n\nconst TabFilter: React.FC<TabsProps> = (props: TabsProps) => {\n const { metafields, tabs, onTabClick, tabShape = 'square', filtersPair, filtered, filtersData } = props\n const { name } = metafields\n\n const { pathname } = useAiuiContext()\n\n const tabRef = useRef<HTMLDivElement>(null)\n const [linkData, setLinkData] = useState<any[]>([])\n const [tabData, setTabData] = useState<any[]>([])\n\n const handleTabClick = (item: any) => {\n const clonefiltered = cloneDeep(filtered) || {}\n let current = clonefiltered?.[mainPair?.value] || []\n if (item?.options === (filtersData?.mainPair?.alltxt || name || ALL_TEXT)) {\n current = []\n } else {\n current = [item?.value || item]\n }\n clonefiltered[mainPair?.value] = current\n if (current.length <= 0) {\n Reflect.deleteProperty(clonefiltered, mainPair?.value)\n }\n onTabClick?.({ ...clonefiltered }, item)\n\n // \u83B7\u53D6\u5F53\u524D\u9009\u4E2D\u7684 tab \u5E76\u8BA1\u7B97\u4E0B\u5212\u7EBF\u4F4D\u7F6E\n const tabElement = document.getElementById(`tab-${item?.label || item}`)\n // **\u8BA1\u7B97\u6EDA\u52A8\u4F4D\u7F6E**\n const container = tabRef.current\n if (tabElement && container) {\n const tabLeft = tabElement.offsetLeft // \u9009\u4E2D tab \u7684\u5DE6\u4FA7\u504F\u79FB\u91CF\n const tabWidth = tabElement.offsetWidth\n const containerWidth = container.offsetWidth\n // \u8BA1\u7B97\u76EE\u6807\u6EDA\u52A8\u4F4D\u7F6E\uFF0C\u4F7F tab \u5C45\u4E2D\n const scrollTo = tabLeft - containerWidth / 2 + tabWidth / 2\n container.scrollTo({\n left: scrollTo,\n behavior: 'smooth',\n })\n }\n }\n\n const mainPair = useMemo(() => {\n return filtersPair?.find((item: any) => item.mainPair)\n }, [filtersPair])\n\n useEffect(() => {\n if (tabs?.length) {\n setLinkData(tabs)\n } else {\n const currentData = mainPair?.options || []\n const allObject = {\n label: filtersData?.mainPair?.alltxt || name || ALL_TEXT,\n value: mainPair?.value,\n options: filtersData?.mainPair?.alltxt || name || ALL_TEXT,\n }\n const tabData = [allObject, ...currentData]\n setTabData(tabData)\n }\n }, [mainPair, filtersData, tabs])\n\n return linkData?.length > 0 || tabData?.length > 0 ? (\n <div\n ref={tabRef}\n className={cn(\n tabShape === 'rounded' ? 'rounded-[28px]' : '',\n 'tab-switch-wrap bg-tabs-list-bg relative flex gap-x-1 w-fit max-w-full overflow-x-auto overflow-y-hidden p-1 laptop:m-auto'\n )}\n >\n {linkData?.length > 0\n ? linkData?.map?.((item: any) => (\n <Link\n key={item?.label}\n id={`tab-${item?.label}`}\n href={item?.href}\n className={cn(\n 'relative flex-1 shrink-0 whitespace-nowrap transition-all',\n 'text-info-primary px-5 py-2.5 text-sm lg-desktop:text-base font-bold no-underline',\n 'lg-desktop:text-base lg-desktop:px-7 lg-desktop:py-3.5 hover:bg-btn-primary-disabled-foreground hover:text-info-primary',\n tabShape === 'rounded' ? 'rounded-[28px]' : '',\n item?.href && item?.href === pathname ? 'bg-btn-primary-disabled-foreground' : ''\n )}\n >\n {item?.label || ''}\n </Link>\n ))\n : tabData?.map?.((item: any) => {\n return (\n <div\n key={item?.value || item}\n id={`tab-${item?.label || item}`}\n onClick={() => handleTabClick(item)}\n className={cn(\n 'relative flex-1 shrink-0 whitespace-nowrap transition-all',\n 'text-info-primary px-5 py-2.5 text-sm lg-desktop:text-base font-bold no-underline',\n 'lg-desktop:text-base lg-desktop:px-7 lg-desktop:py-3.5 hover:bg-btn-primary-disabled-foreground hover:text-info-primary',\n tabShape === 'rounded' ? 'rounded-[28px]' : '',\n filtered?.[mainPair?.value]?.includes?.(item?.value || item) ||\n (!filtered?.[mainPair?.value]?.length && item?.options)\n ? 'bg-btn-primary-disabled-foreground'\n : ''\n )}\n >\n {item?.label || item}\n </div>\n )\n })}\n </div>\n ) : null\n}\n\nexport default TabFilter\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["jsx", "cloneDeep", "useRef", "useState", "useMemo", "useEffect", "Link", "cn", "useAiuiContext", "ALL_TEXT", "TabFilter", "props", "metafields", "tabs", "onTabClick", "tabShape", "filtersPair", "filtered", "filtersData", "name", "pathname", "tabRef", "linkData", "setLinkData", "tabData", "setTabData", "handleTabClick", "item", "clonefiltered", "current", "mainPair", "tabElement", "container", "tabLeft", "tabWidth", "containerWidth", "scrollTo", "currentData", "TabFilter_default"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
declare const handleFilters: (filtered: any) => {
|
|
2
|
+
allFilters: any[];
|
|
3
|
+
chunkNumber: number;
|
|
4
|
+
};
|
|
5
|
+
declare const handleSortKeyAndReverse: (sortList: any, sortKeyIndx: number) => any[];
|
|
6
|
+
declare const handleChunkNumber: (filtered: any) => 18 | 150;
|
|
7
|
+
declare const handleFilterOptions: (result: any, filterPrice: any, shop_filters_pair: any, filterProductData?: any) => any;
|
|
8
|
+
declare function getComponentData(metafields: any, dataKey: string, variant?: any, components?: any): {
|
|
9
|
+
key: string;
|
|
10
|
+
data: {};
|
|
11
|
+
};
|
|
12
|
+
export { handleFilters, handleSortKeyAndReverse, handleChunkNumber, handleFilterOptions, getComponentData };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const p=t=>{const e=[];let s=18;return Object.keys(t).forEach(n=>{if(n==="price"){const l=t[n]?.join("|")?.split("|")?.map(r=>Number(r))||[],f=Math.max(...l),a=Math.min(...l);f&&a&&e.push({price:{max:f,min:a}})}if(n.includes("filter.p.tag")&&t[n]?.forEach(l=>{e.push({tag:l})}),n.includes("filter.p.product_type")&&t[n]?.forEach(l=>{e.push({productType:l})}),n.includes("filter.v.availability")&&t[n]?.forEach(l=>{const f=l.split("filter.v.availability.")?.pop();e.push({available:f==="1"})}),n.includes("filter.v.m.filter.")){const l=n.split("filter.v.m.filter.")?.pop();t[n]?.forEach(f=>{e.push({variantMetafield:{namespace:"filter",key:l,value:f}})})}n.includes("offers")&&(s=150)}),{allFilters:e,chunkNumber:s}},v=(t,e)=>{if(t&&e>=0){const s=t?.[e];if(!s?.type?.includes("filter.")){const[n,l]=s?.type?.split("|");return[n,!!l]}}return["COLLECTION_DEFAULT",!1]},b=t=>Object.keys(t)?.some(e=>e==="offers")?150:18,m=(t,e,s,n)=>{const l={label:s?.filter_txt?.offers?.name||"Offers",value:"offers",mainPair:!1,options:[{label:s?.filter_txt?.offers?.onsale||"On Sale",value:"onsale"}]};e.mainPair=!1;const f=[e,l];return t?.filters&&t.filters.reduce((a,r)=>{const u={label:r?.label,options:[],value:r?.id,mainPair:n?.mainPair?.type===r?.id};return r?.id==="filter.v.price"||r?.id==="filter.p.product_type"?a:r?.id==="filter.v.availability"?(u.options=r.values.reduce((o,i)=>(i.id==="filter.v.availability.1"&&o.push({count:i.count,label:i.label,value:i.id}),[...o]),[]),a.push(u),[...a]):r?.id==="filter.v.m.filter.capacity"?(u.options=r.values.reduce((o,i)=>(i?.label?.includes("Over")?o.unshift({count:i.count,label:i.label,value:i.label}):o.push({count:i.count,label:i.label,value:i.label}),[...o]),[]),a.push(u),[...a]):(u.options=r.values.reduce((o,i)=>(o.push({count:i.count,label:i.label,value:i.label}),[...o]),[]),a.push(u),[...a])},f)};function y(t,e,s=null,n=null){let l={};if(n?l=n[e?.trim()]||{}:l=t?.components?t.components[e?.trim()]:{},s){const{variantsMetafields:f={}}=n||t?.components||{},a=Array.isArray(f)?f?.find(r=>r.id===s?.id):{};a?.metafields&&a.metafields[e]&&(l=a.metafields[e])}return{key:e.split("_")[0],data:l}}export{y as getComponentData,b as handleChunkNumber,m as handleFilterOptions,p as handleFilters,v as handleSortKeyAndReverse};
|
|
2
|
+
//# sourceMappingURL=filtersFun.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/biz-components/CollectionsFilters/component/filtersFun.ts"],
|
|
4
|
+
"sourcesContent": ["const handleFilters = (filtered: any) => {\n const allFilters: any[] = []\n let chunkNumber: number = 18\n Object.keys(filtered).forEach(key => {\n if (key === 'price') {\n const priceOptions =\n filtered[key]\n ?.join('|')\n ?.split('|')\n ?.map((item: any) => Number(item)) || []\n const maxValue = Math.max(...priceOptions)\n const minValue = Math.min(...priceOptions)\n maxValue &&\n minValue &&\n allFilters.push({\n price: {\n max: maxValue,\n min: minValue,\n },\n })\n }\n if (key.includes('filter.p.tag')) {\n filtered[key]?.forEach((item: any) => {\n allFilters.push({\n tag: item,\n })\n })\n }\n if (key.includes('filter.p.product_type')) {\n filtered[key]?.forEach((item: any) => {\n allFilters.push({\n productType: item,\n })\n })\n }\n if (key.includes('filter.v.availability')) {\n filtered[key]?.forEach((item: string) => {\n const val = item.split('filter.v.availability.')?.pop()\n allFilters.push({\n available: val === '1',\n })\n })\n }\n if (key.includes('filter.v.m.filter.')) {\n const metafieldsKey = key.split('filter.v.m.filter.')?.pop()\n filtered[key]?.forEach((item: any) => {\n allFilters.push({\n variantMetafield: {\n namespace: 'filter',\n key: metafieldsKey,\n value: item,\n },\n })\n })\n }\n if (key.includes('offers')) {\n chunkNumber = 150\n }\n })\n return { allFilters: allFilters, chunkNumber: chunkNumber }\n}\n\nconst handleSortKeyAndReverse = (sortList: any, sortKeyIndx: number) => {\n if (sortList && sortKeyIndx >= 0) {\n const current = sortList?.[sortKeyIndx]\n if (!current?.type?.includes('filter.')) {\n const [sortKey, reverse] = current?.type?.split('|')\n return [sortKey, !!reverse]\n }\n }\n return ['COLLECTION_DEFAULT', false]\n}\n\nconst handleChunkNumber = (filtered: any) => {\n if (Object.keys(filtered)?.some(key => key === 'offers')) return 150\n return 18\n}\n\n\nconst handleFilterOptions = (result: any, filterPrice: any, shop_filters_pair: any, filterProductData?: any) => {\n const Offers = {\n label: shop_filters_pair?.filter_txt?.offers?.name || 'Offers',\n value: 'offers',\n mainPair: false,\n options: [\n {\n label: shop_filters_pair?.filter_txt?.offers?.onsale || 'On Sale',\n value: 'onsale',\n },\n ],\n }\n filterPrice.mainPair = false\n const initOption = [filterPrice, Offers]\n return (\n result?.filters &&\n result.filters.reduce((ac: any, cu: any) => {\n const filter = {\n label: cu?.label,\n options: [],\n value: cu?.id,\n mainPair: filterProductData?.mainPair?.type === cu?.id ? true : false,\n }\n // if (cu?.id === 'filter.p.tag') return ac\n if (cu?.id === 'filter.v.price') return ac\n if (cu?.id === 'filter.p.product_type') return ac\n if (cu?.id === 'filter.v.availability') {\n filter.options = cu.values.reduce((acV: any, cuV: any) => {\n if (cuV.id === 'filter.v.availability.1') {\n acV.push({\n count: cuV.count,\n label: cuV.label,\n value: cuV.id,\n })\n }\n return [...acV]\n }, [])\n ac.push(filter)\n return [...ac]\n }\n if (cu?.id === 'filter.v.m.filter.capacity') {\n filter.options = cu.values.reduce((acV: any, cuV: any) => {\n if (cuV?.label?.includes('Over')) {\n acV.unshift({\n count: cuV.count,\n label: cuV.label,\n value: cuV.label,\n })\n } else {\n acV.push({\n count: cuV.count,\n label: cuV.label,\n value: cuV.label,\n })\n }\n return [...acV]\n }, [])\n ac.push(filter)\n return [...ac]\n }\n filter.options = cu.values.reduce((acV: any, cuV: any) => {\n acV.push({\n count: cuV.count,\n label: cuV.label,\n value: cuV.label,\n })\n return [...acV]\n }, [])\n ac.push(filter)\n return [...ac]\n }, initOption)\n )\n}\n\nfunction getComponentData(\n metafields: any,\n dataKey: string,\n variant: any = null,\n components: any = null\n) {\n // console.log(\"metafields\", metafields)\n // \u83B7\u53D6 component \u7684\u6587\u6848\n\n let data = {}\n if (components) {\n data = components[dataKey?.trim()] || {}\n } else {\n data = metafields?.components ? metafields.components[dataKey?.trim()] : {}\n }\n\n if (variant) {\n // \u5982\u679C\u6709\u4E14 variant \u6709\u5BF9\u5E94\u6587\u6848\uFF0Cvariant \u8986\u76D6 component\n const { variantsMetafields = {} } =\n components || metafields?.components || {}\n\n const variantMetafields = Array.isArray(variantsMetafields)\n ? variantsMetafields?.find((f) => f.id === variant?.id)\n : {}\n if (\n variantMetafields?.metafields &&\n variantMetafields.metafields[dataKey]\n ) {\n data = variantMetafields.metafields[dataKey]\n }\n }\n\n return {\n key: dataKey.split('_')[0],\n data,\n }\n}\n\nexport { handleFilters, handleSortKeyAndReverse, handleChunkNumber, handleFilterOptions, getComponentData }\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["handleFilters", "filtered", "allFilters", "chunkNumber", "key", "priceOptions", "item", "maxValue", "minValue", "val", "metafieldsKey", "handleSortKeyAndReverse", "sortList", "sortKeyIndx", "current", "sortKey", "reverse", "handleChunkNumber", "handleFilterOptions", "result", "filterPrice", "shop_filters_pair", "filterProductData", "Offers", "initOption", "ac", "cu", "filter", "acV", "cuV", "getComponentData", "metafields", "dataKey", "variant", "components", "data", "variantsMetafields", "variantMetafields", "f"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
export declare const deepMerger: (obj1: any, obj2: any) => any;
|
|
2
|
+
export declare function paginate(arr: any[], pageSize: number, currentPage: number): {
|
|
3
|
+
pageItems: any[];
|
|
4
|
+
totalPages: number;
|
|
5
|
+
currentPage: number;
|
|
6
|
+
startIndex: number;
|
|
7
|
+
endIndex: number;
|
|
8
|
+
};
|
|
9
|
+
export type FilterPriceTxt = {
|
|
10
|
+
text: string;
|
|
11
|
+
gte: string;
|
|
12
|
+
lte: string;
|
|
13
|
+
};
|
|
14
|
+
export type FiltersPairMetafield = {
|
|
15
|
+
collections: {
|
|
16
|
+
[key: string]: {
|
|
17
|
+
filter_params: string[];
|
|
18
|
+
price?: [number[]];
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
filters_label: {
|
|
22
|
+
[key: string]: any;
|
|
23
|
+
};
|
|
24
|
+
cabletype?: {
|
|
25
|
+
[key: string]: any;
|
|
26
|
+
};
|
|
27
|
+
length?: {
|
|
28
|
+
[key: string]: any;
|
|
29
|
+
};
|
|
30
|
+
videoports?: {
|
|
31
|
+
[key: string]: any;
|
|
32
|
+
};
|
|
33
|
+
datatransferspeed?: {
|
|
34
|
+
[key: string]: any;
|
|
35
|
+
};
|
|
36
|
+
connectivity?: {
|
|
37
|
+
[key: string]: any;
|
|
38
|
+
};
|
|
39
|
+
numberofports?: {
|
|
40
|
+
[key: string]: any;
|
|
41
|
+
};
|
|
42
|
+
porttype?: {
|
|
43
|
+
[key: string]: any;
|
|
44
|
+
};
|
|
45
|
+
numberofdevicespowered?: {
|
|
46
|
+
[key: string]: any;
|
|
47
|
+
};
|
|
48
|
+
chargingtechnology?: {
|
|
49
|
+
[key: string]: any;
|
|
50
|
+
};
|
|
51
|
+
capacity?: {
|
|
52
|
+
[key: string]: any;
|
|
53
|
+
};
|
|
54
|
+
product_type: {
|
|
55
|
+
[key: string]: any;
|
|
56
|
+
};
|
|
57
|
+
price: FilterPriceTxt;
|
|
58
|
+
filter_txt: {
|
|
59
|
+
[key: string]: any;
|
|
60
|
+
};
|
|
61
|
+
[key: string]: any;
|
|
62
|
+
};
|
|
63
|
+
export declare function formatPrice({ amount, currencyCode, locale, maximumFractionDigits, minimumFractionDigits, }: {
|
|
64
|
+
amount: number;
|
|
65
|
+
currencyCode: string;
|
|
66
|
+
locale: string;
|
|
67
|
+
maximumFractionDigits?: number;
|
|
68
|
+
minimumFractionDigits?: number;
|
|
69
|
+
}): string | number;
|
|
70
|
+
export declare const normalizeFilterPrice: ({ filters_pair, products, locale, }: {
|
|
71
|
+
filters_pair: FiltersPairMetafield;
|
|
72
|
+
locale?: string;
|
|
73
|
+
products?: any[];
|
|
74
|
+
}) => {
|
|
75
|
+
label: any;
|
|
76
|
+
value: string;
|
|
77
|
+
options: {
|
|
78
|
+
value: any;
|
|
79
|
+
label: string;
|
|
80
|
+
}[];
|
|
81
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{languageTerritory as p}from"../../ShelfDisplay/shelfDisplay";const g=(t,r)=>{if(t===void 0)return r;for(let e in r)t[e]=t?.[e]||"",t[e].toString=="[object Object]"?t[e]=g(t[e],r[e]):t[e]=r?.[e]||"";return t};function x(t,r,e){r=Math.max(1,Math.floor(r||1));const a=t.length,i=Math.max(1,Math.ceil(a/r));e=Math.floor(e)||1,e<1&&(e=1),e>i&&(e=i);const n=(e-1)*r,s=Math.min(n+r,a);return{pageItems:t.slice(n,s),totalPages:i,currentPage:e,startIndex:n,endIndex:s-1}}const f=(t,r)=>{const a=(r-t)/4,i=[];for(let n=0;n<4;n++){let s=0,l=100;n===0?s=Math.ceil(t+n*a-1):s=Math.ceil(t+n*a),n===3?l=Math.ceil(t+(n+1)*a+1)-.01:l=Math.ceil(t+(n+1)*a)-.01,i.push([Math.round(s),Math.round(l*100)/100])}return i};function m({amount:t,currencyCode:r,locale:e,maximumFractionDigits:a,minimumFractionDigits:i}){if(!r)return t;let s=new Intl.NumberFormat(e=="nz"?"en-US":p(e),{style:"currency",currency:r,minimumFractionDigits:a===0?0:i,maximumFractionDigits:a}).format(t);return e==="nz"&&(s=s?.replace("NZ$","NZ$ ")),e==="eu-de"||e=="eu-en"?s?.toString()?.replace(/[\s]/g,""):s}const d=({option:t,price_label:r,currencyCode:e="us",locale:a})=>t.map(i=>i<=0?r.lte:i>=99999?r.gte:m({locale:a,amount:i,currencyCode:e})).join(t[0]>0&&t[1]<99999?" - ":" "),M=({filters_pair:t,products:r,locale:e="us"})=>{const{collections:a,filters_label:i,price:n}=t,s=r?.[0]?.price?.currencyCode;let l="price",o=0,u=0;r?.forEach(c=>{!o&&c.price.value<999999&&(o=Number(c.price.value)),!u&&c.price.value<999999&&(u=Number(c.price.value)),o>c.price.value&&c.price.value<999999&&(o=c.price.value),u<c.price.value&&c.price.value<999999&&(u=c.price.value)});const y=f(o,u)||[];return{label:i[l]||"",value:l,options:y?.map(c=>({value:c.join("|"),label:d({option:c,price_label:n,currencyCode:s,locale:e})}))}};export{g as deepMerger,m as formatPrice,M as normalizeFilterPrice,x as paginate};
|
|
2
|
+
//# sourceMappingURL=helper.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/biz-components/CollectionsFilters/component/helper.ts"],
|
|
4
|
+
"sourcesContent": ["import { languageTerritory } from '../../ShelfDisplay/shelfDisplay'\n\n\n//merge object\nexport const deepMerger = (obj1: any, obj2: any) => {\n if (obj1 === undefined) return obj2\n for (let key in obj2) {\n obj1[key] = obj1?.[key] || ''\n if (obj1[key].toString == '[object Object]') {\n obj1[key] = deepMerger(obj1[key], obj2[key])\n } else {\n obj1[key] = obj2?.[key] || ''\n }\n }\n return obj1\n}\n\nexport function paginate(arr: any[], pageSize: number, currentPage: number) {\n pageSize = Math.max(1, Math.floor(pageSize || 1));\n const total = arr.length;\n const totalPages = Math.max(1, Math.ceil(total / pageSize));\n\n // \u628A currentPage \u9650\u5236\u5728 [1, totalPages]\n currentPage = Math.floor(currentPage) || 1;\n if (currentPage < 1) currentPage = 1;\n if (currentPage > totalPages) currentPage = totalPages;\n\n const startIndex = (currentPage - 1) * pageSize;\n const endIndex = Math.min(startIndex + pageSize, total); // \u4E0D\u5305\u542B endIndex \u7684 slice \u7ED3\u675F\u4F4D\u7F6E\n\n const pageItems = arr.slice(startIndex, endIndex);\n\n return {\n pageItems,\n totalPages,\n currentPage,\n startIndex,\n endIndex: endIndex - 1, // \u66F4\u76F4\u89C2\u7684\u7ED3\u675F\u4E0B\u6807\uFF08\u5305\u542B\uFF09\n };\n}\n\nexport type FilterPriceTxt = {\n text: string\n gte: string\n lte: string\n}\n\nexport type FiltersPairMetafield = {\n collections: {\n [key: string]: {\n filter_params: string[]\n price?: [number[]]\n }\n }\n filters_label: { [key: string]: any }\n cabletype?: { [key: string]: any }\n length?: { [key: string]: any }\n videoports?: { [key: string]: any }\n datatransferspeed?: { [key: string]: any }\n connectivity?: { [key: string]: any }\n numberofports?: { [key: string]: any }\n porttype?: { [key: string]: any }\n numberofdevicespowered?: { [key: string]: any }\n chargingtechnology?: { [key: string]: any }\n capacity?: { [key: string]: any }\n product_type: { [key: string]: any }\n price: FilterPriceTxt\n filter_txt: { [key: string]: any }\n [key: string]: any\n}\n\nconst divideIntoFourEqualParts = (minValue: number, maxValue: number) => {\n // \u8BA1\u7B97\u533A\u95F4\u7684\u957F\u5EA6\n const range = maxValue - minValue\n // \u8BA1\u7B97\u6BCF\u4EFD\u7684\u957F\u5EA6\n const segmentLength = range / 4\n // \u521B\u5EFA\u4E00\u4E2A\u5B58\u50A8\u533A\u95F4\u7684\u6570\u7EC4\n const segments = []\n // \u5FAA\u73AF\u751F\u62104\u4E2A\u533A\u95F4\n for (let i = 0; i < 4; i++) {\n // \u8BA1\u7B97\u533A\u95F4\u7684\u6700\u5C0F\u503C\u548C\u6700\u5927\u503C\n let segmentMin = 0\n let segmentMax = 100\n if (i === 0) {\n segmentMin = Math.ceil(minValue + i * segmentLength - 1)\n } else {\n segmentMin = Math.ceil(minValue + i * segmentLength)\n }\n if (i === 3) {\n segmentMax = Math.ceil(minValue + (i + 1) * segmentLength + 1) - 0.01\n } else {\n segmentMax = Math.ceil(minValue + (i + 1) * segmentLength) - 0.01\n }\n\n // \u5B58\u50A8\u533A\u95F4\n segments.push([Math.round(segmentMin), Math.round(segmentMax * 100) / 100])\n }\n\n return segments\n}\n\nexport function formatPrice({\n amount,\n currencyCode,\n locale,\n maximumFractionDigits,\n minimumFractionDigits,\n}: {\n amount: number\n currencyCode: string\n locale: string\n maximumFractionDigits?: number\n minimumFractionDigits?: number\n}) {\n if (!currencyCode) return amount\n // nz\u7AD9\u70B9 \u7528 eu-US\u8BED\u8A00\u73AF\u5883\uFF0C\u5C55\u793ANZ$\u8D27\u5E01\u7B26\u53F7\n const formatCurrency = new Intl.NumberFormat(\n locale == 'nz' ? 'en-US' : languageTerritory(locale),\n {\n style: 'currency',\n currency: currencyCode,\n minimumFractionDigits:\n maximumFractionDigits === 0 ? 0 : minimumFractionDigits,\n maximumFractionDigits,\n }\n )\n\n let result = formatCurrency.format(amount)\n if (locale === 'nz') {\n result = result?.replace('NZ$', 'NZ$ ')\n }\n return locale === 'eu-de' || locale == 'eu-en'\n ? result?.toString()?.replace(/[\\s]/g, '')\n : result\n}\n\nconst normalizePriceOption = ({\n option,\n price_label,\n currencyCode = 'us',\n locale,\n}: {\n option: number[]\n price_label: FilterPriceTxt\n currencyCode?: string\n locale: string\n}) => {\n return option\n .map((val) => {\n if (val <= 0) return price_label.lte\n if (val >= 99999) return price_label.gte\n const value = formatPrice({\n locale,\n amount: val,\n currencyCode,\n })\n return value\n })\n .join(option[0] > 0 && option[1] < 99999 ? ' - ' : ' ')\n}\n\nexport const normalizeFilterPrice = ({\n filters_pair,\n products,\n locale = 'us',\n}: {\n filters_pair: FiltersPairMetafield\n locale?: string\n products?: any[]\n}) => {\n const { collections, filters_label, price: price_label } = filters_pair\n const currencyCode = products?.[0]?.price?.currencyCode\n let fp = 'price'\n let min: number = 0\n let max: number = 0\n products?.forEach((item: any) => {\n if (!min && item.price.value < 999999) min = Number(item.price.value)\n if (!max && item.price.value < 999999) max = Number(item.price.value)\n if (min > item.price.value && item.price.value < 999999)\n min = item.price.value\n if (max < item.price.value && item.price.value < 999999)\n max = item.price.value\n })\n const poptions = divideIntoFourEqualParts(min, max) || []\n return {\n label: filters_label[fp] || '',\n value: fp,\n options: poptions?.map((option: any) => ({\n value: option.join('|'),\n label: normalizePriceOption({\n option,\n price_label,\n currencyCode,\n locale,\n }),\n })),\n }\n}"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["languageTerritory", "deepMerger", "obj1", "obj2", "key", "paginate", "arr", "pageSize", "currentPage", "total", "totalPages", "startIndex", "endIndex", "divideIntoFourEqualParts", "minValue", "maxValue", "segmentLength", "segments", "i", "segmentMin", "segmentMax", "formatPrice", "amount", "currencyCode", "locale", "maximumFractionDigits", "minimumFractionDigits", "result", "normalizePriceOption", "option", "price_label", "val", "normalizeFilterPrice", "filters_pair", "products", "collections", "filters_label", "fp", "min", "max", "item", "poptions"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { FunctionMemberPriceResult, FunctionMemberPriceConfig, DiscountConfig, ProductVariant } from './priceProps';
|
|
2
|
+
export declare const languageCurrencyCode: (locale: string) => string;
|
|
3
|
+
export declare const languageTerritory: (locale: string) => string;
|
|
4
|
+
export declare function formatPrice({ amount, currencyCode, locale, maximumFractionDigits, minimumFractionDigits, }: {
|
|
5
|
+
amount: number;
|
|
6
|
+
currencyCode: string;
|
|
7
|
+
locale: string;
|
|
8
|
+
maximumFractionDigits?: number;
|
|
9
|
+
minimumFractionDigits?: number;
|
|
10
|
+
}): string;
|
|
11
|
+
export declare function atobID(id?: string): string | null | undefined;
|
|
12
|
+
export declare const functionDiscountCalculate: ({ config, price, }: {
|
|
13
|
+
config: DiscountConfig;
|
|
14
|
+
price: number;
|
|
15
|
+
}) => number;
|
|
16
|
+
export declare const getFunctionMemberPriceDiscountConfig: ({ config, variant, }: {
|
|
17
|
+
config?: FunctionMemberPriceConfig[];
|
|
18
|
+
variant?: ProductVariant;
|
|
19
|
+
}) => DiscountConfig | undefined;
|
|
20
|
+
export declare const getFunctionMemberPrice: ({ shopMemberPriceDiscountConfig, currencyCode, variant, locale, }: {
|
|
21
|
+
shopMemberPriceDiscountConfig?: FunctionMemberPriceConfig[];
|
|
22
|
+
currencyCode?: string;
|
|
23
|
+
variant?: ProductVariant;
|
|
24
|
+
locale: string;
|
|
25
|
+
}) => false | FunctionMemberPriceResult;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import a from"decimal.js";import{DISCOUNT_TYPE as f,ROUND_SELECTED as d}from"./priceProps";const b=e=>({us:"USD",uk:"GBP",ca:"CAD",fr:"EUR",au:"AUD",it:"EUR",my:"MYR",vn:"VND",de:"EUR","eu-en":"EUR",eu:"EUR",nl:"EUR"})[e]||"USD",U=e=>({us:"en-US",uk:"en-GB",ca:"en-CA",fr:"fr-FR",au:"en-AU",my:"my",vn:"vn",it:"it-IT",de:"de-DE",eu:"en-DE",nl:"nl-NL"})[e]||"en-US";function m({amount:e,currencyCode:n,locale:t,maximumFractionDigits:i,minimumFractionDigits:c}){if(!t)return String(e);const u=n||b(t),o=new Intl.NumberFormat(["ca","au"].includes(t)?"en-US":U(t),{style:"currency",currency:u,minimumFractionDigits:i===0?0:c,maximumFractionDigits:i}).format(e)?.replace(/CA\$/g,"C$");if(t==="de"||t==="eu-en")return o?.replace(/[\s]/g,"");if(t==="it"||t==="fr"){let s=o?.toString()?.replace(/\s(?=€)/g,"")?.replace("."," ");return t==="fr"?s?.replace("\u20AC"," \u20AC"):s}return o}function y(e){return e?typeof e=="string"&&e.includes("/")?e?.split?.("/")?.pop()?.split?.("?")?.shift():e:null}const W=({config:e,price:n})=>{const{apply_price_ending:t,one_decimal_place:i,two_decimal_place:c,round_selected:u}=e.price_ending_conf||{};let r=new a(n);switch(e.discount_type){case f.PERCENTAGE:r=r.mul(100-e.discount_value).div(100);break;case f.FIXED_AMOUNT:r=r.sub(e.discount_value);break;case f.FIXED_PRICE:r=new a(e.discount_value);break;default:break}if(t){switch(u){case d.ROUND_HIGHEST:r=r.ceil();break;case d.ROUND_LOWEST:r=r.floor();break;case d.ROUND_NEAREST:r=r.round();break;default:r=new a(r.toFixed(2,a.ROUND_DOWN));break}const o=r.toString().split(".");r=new a(o[0]+"."+i+c)}return r.toNumber()},E=({config:e,variant:n})=>{if(!e||!n)return;let t;for(const i of e)if(t=i.result_detail.member_discounts?.find(c=>c.main_products.all_store_variant?c:c.main_products.variants.find(u=>String(u.variant_id)===y(n.id)))?.discount_conf,t)break;if(t)return t},w=({coupons:e=null,variant:n,product:t=void 0,handle:i="",channel:c=""})=>{if(e){let u=e?.[n?.sku]||e?.[t?.handle]||[];if(u.length>0)return u?.find(r=>r?.handle===i)||{};if(e?.length>0)return e?.find(r=>r?.sku===n?.sku&&r?.handle===i)||{}}else{const u="wsch";return(n?.metafields?.discountCodeApp||[])?.filter(s=>(!s?.ends_at||new Date(s?.ends_at).getTime()>new Date().getTime())&&new Date(s?.starts_at).getTime()<=new Date().getTime()&&s?.variant_shopify_id===+(y(n?.id||"")||"")&&(c?s?.title?.toLocaleLowerCase().includes(c):!s?.title?.toLocaleLowerCase().includes(u)))?.[0]}},h=new Map,A=({shopMemberPriceDiscountConfig:e,currencyCode:n,variant:t,locale:i})=>{const c=w({variant:t}),u=E({config:e,variant:t});if(!u)return h.set(t?.id,!1),!1;const r={amount:t?.price||0,priceWithCurrency:m({amount:t?.price||0,currencyCode:n||"USD",locale:i})},o=u?W({config:u,price:t?.price||0}):t?.price||0,s={amount:o,priceWithCurrency:m({amount:o,currencyCode:n||"USD",locale:i})};let l=o;c?.variant_price4wscode&&t&&(l=new a(o).minus(new a(t.price).minus(c.variant_price4wscode)).toNumber());const p={amount:l,priceWithCurrency:m({amount:l,currencyCode:n||"USD",locale:i})},g=new a(r.amount).sub(p.amount).toNumber(),C={amount:g,priceWithCurrency:m({amount:g,currencyCode:n||"USD",locale:i,maximumFractionDigits:2})},D=new a(r.amount).sub(s.amount).toNumber(),_={amount:D,priceWithCurrency:m({amount:D,currencyCode:n||"USD",locale:i,maximumFractionDigits:2})},P={hasMemberPrice:!!u,useCoupon:!0,originalPrice:r.amount,originalPriceWithCurrency:r.priceWithCurrency,salePrice:p.amount,salePriceWithCurrency:p.priceWithCurrency,salePriceWithoutCoupon:s.amount,salePriceWithoutCouponWithCurrency:s.priceWithCurrency,savePrice:C.amount,savePriceWithCurrency:C.priceWithCurrency,savePriceWithoutCoupon:_.amount,savePriceWithoutCouponWithCurrency:_.priceWithCurrency};return h.set(t?.id,P),P};export{y as atobID,m as formatPrice,W as functionDiscountCalculate,A as getFunctionMemberPrice,E as getFunctionMemberPriceDiscountConfig,b as languageCurrencyCode,U as languageTerritory};
|
|
2
|
+
//# sourceMappingURL=price.js.map
|