@pisell/private-materials 6.5.13 → 6.5.14
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/build/lowcode/assets-daily.json +11 -11
- package/build/lowcode/assets-dev.json +2 -2
- package/build/lowcode/assets-prod.json +11 -11
- package/build/lowcode/index.js +1 -1
- package/build/lowcode/meta.js +2 -2
- package/build/lowcode/preview.js +7 -7
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +7 -7
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +7 -7
- package/es/components/booking/addons/model.d.ts +10 -1
- package/es/components/booking/components/actionButtons/index.js +15 -9
- package/es/components/booking/components/footer/index.js +2 -2
- package/es/components/booking/components/voucher/index.js +23 -19
- package/es/components/booking/forms/footer.js +4 -13
- package/es/components/booking/forms/model.d.ts +10 -1
- package/es/components/booking/info/model.d.ts +10 -1
- package/es/components/booking/info/service/addService/utils.d.ts +1 -1
- package/es/components/booking/info/service2/utils.d.ts +1 -1
- package/es/components/booking/info2/cartClientCard/index.js +7 -3
- package/es/components/booking/info2/service/addService/utils.d.ts +1 -1
- package/es/components/booking/model.d.ts +9 -1
- package/es/components/booking/notes/model.d.ts +10 -1
- package/es/components/booking/payments/model.d.ts +10 -1
- package/es/components/booking/utils.d.ts +2 -2
- package/es/components/checkout/PaymentModal.js +17 -12
- package/es/components/checkout/components/CashPaymentModule/index.js +9 -9
- package/es/components/checkout/hooks/useWalletPass.d.ts +1 -1
- package/es/components/checkout/hooks/useWalletPass.js +40 -22
- package/es/components/eftposPay/amount.d.ts +1 -1
- package/es/components/eftposPay/device.d.ts +1 -1
- package/es/components/eftposPay/hooks.d.ts +2 -2
- package/es/components/eftposPay/store/index.d.ts +5 -5
- package/es/components/list/List.d.ts +5 -0
- package/es/components/list/List.js +957 -0
- package/es/components/list/List.less +2 -0
- package/es/components/list/ResponsiveWrapper.d.ts +16 -0
- package/es/components/list/ResponsiveWrapper.js +130 -0
- package/es/components/list/TestResponsiveWrapper.d.ts +8 -0
- package/es/components/list/TestResponsiveWrapper.js +816 -0
- package/es/components/list/TestResponsiveWrapper.less +968 -0
- package/es/components/list/components/EmptyState/EmptyState.d.ts +20 -0
- package/es/components/list/components/EmptyState/EmptyState.js +75 -0
- package/es/components/list/components/EmptyState/EmptyState.less +121 -0
- package/es/components/list/components/EmptyState/index.d.ts +2 -0
- package/es/components/list/components/EmptyState/index.js +1 -0
- package/es/components/list/components/ListItemSkeleton/ListItemSkeleton.d.ts +13 -0
- package/es/components/list/components/ListItemSkeleton/ListItemSkeleton.js +39 -0
- package/es/components/list/components/ListItemSkeleton/ListItemSkeleton.less +29 -0
- package/es/components/list/components/ListItemSkeleton/index.d.ts +2 -0
- package/es/components/list/components/ListItemSkeleton/index.js +2 -0
- package/es/components/list/components/Pagination/Pagination.d.ts +30 -0
- package/es/components/list/components/Pagination/Pagination.js +240 -0
- package/es/components/list/components/Pagination/Pagination.less +439 -0
- package/es/components/list/components/Pagination/index.d.ts +1 -0
- package/es/components/list/components/Pagination/index.js +1 -0
- package/es/components/list/components/ScrollLoader/ScrollLoader.d.ts +18 -0
- package/es/components/list/components/ScrollLoader/ScrollLoader.js +18 -0
- package/es/components/list/components/ScrollLoader/ScrollLoader.less +3 -0
- package/es/components/list/components/ScrollLoader/index.d.ts +2 -0
- package/es/components/list/components/ScrollLoader/index.js +1 -0
- package/es/components/list/components/Tab/Tab.d.ts +5 -0
- package/es/components/list/components/Tab/Tab.js +43 -0
- package/es/components/list/components/Tab/Tab.less +139 -0
- package/es/components/list/components/Tab/index.d.ts +2 -0
- package/es/components/list/components/Tab/index.js +1 -0
- package/es/components/list/components/Tab/types.d.ts +14 -0
- package/es/components/list/components/Tab/types.js +1 -0
- package/es/components/list/components/TabSkeleton/TabSkeleton.d.ts +11 -0
- package/es/components/list/components/TabSkeleton/TabSkeleton.js +28 -0
- package/es/components/list/components/TabSkeleton/TabSkeleton.less +38 -0
- package/es/components/list/components/TabSkeleton/index.d.ts +2 -0
- package/es/components/list/components/TabSkeleton/index.js +2 -0
- package/es/components/list/components/WaterfallList/WaterfallList.d.ts +33 -0
- package/es/components/list/components/WaterfallList/WaterfallList.js +191 -0
- package/es/components/list/components/WaterfallList/WaterfallList.less +201 -0
- package/es/components/list/components/WaterfallList/index.d.ts +2 -0
- package/es/components/list/components/WaterfallList/index.js +1 -0
- package/es/components/list/examples/GroupedListExample.d.ts +3 -0
- package/es/components/list/examples/GroupedListExample.js +207 -0
- package/es/components/list/hooks/index.d.ts +5 -0
- package/es/components/list/hooks/index.js +3 -0
- package/es/components/list/hooks/useDevice.d.ts +24 -0
- package/es/components/list/hooks/useDevice.js +102 -0
- package/es/components/list/hooks/useListState.d.ts +43 -0
- package/es/components/list/hooks/useListState.js +176 -0
- package/es/components/list/hooks/useWaterfall.d.ts +34 -0
- package/es/components/list/hooks/useWaterfall.js +161 -0
- package/es/components/list/index.d.ts +10 -0
- package/es/components/list/index.js +7 -0
- package/es/components/list/locales.d.ts +66 -0
- package/es/components/list/locales.js +107 -0
- package/es/components/list/styles/base.less +39 -0
- package/es/components/list/styles/content.less +415 -0
- package/es/components/list/styles/floatButton.less +107 -0
- package/es/components/list/styles/footer.less +49 -0
- package/es/components/list/styles/header.less +69 -0
- package/es/components/list/styles/responsive.less +166 -0
- package/es/components/list/types.d.ts +177 -0
- package/es/components/list/types.js +1 -0
- package/es/components/list/utils/getText.d.ts +53 -0
- package/es/components/list/utils/getText.js +150 -0
- package/es/components/list/utils/index.d.ts +4 -0
- package/es/components/list/utils/index.js +5 -0
- package/es/components/pay/toB/store/hooks.js +19 -5
- package/es/components/pay/toC/model.d.ts +9 -1
- package/es/components/schedules/model.d.ts +9 -1
- package/es/components/ticketBooking/components/ProductDisplayAdapter/ProductDisplayAdapter.d.ts +27 -0
- package/es/components/ticketBooking/components/ProductDisplayAdapter/ProductDisplayAdapter.js +143 -0
- package/es/components/ticketBooking/components/ProductDisplayAdapter/index.d.ts +7 -0
- package/es/components/ticketBooking/components/ProductDisplayAdapter/index.js +7 -0
- package/es/components/ticketBooking/components/ProductDisplayAdapter/index.less +41 -0
- package/es/components/ticketBooking/components/ProductDisplayAdapter/types.d.ts +115 -0
- package/es/components/ticketBooking/components/ProductDisplayAdapter/types.js +273 -0
- package/es/components/ticketBooking/components/ProductDisplayAdapter/utils.d.ts +50 -0
- package/es/components/ticketBooking/components/ProductDisplayAdapter/utils.js +130 -0
- package/es/components/ticketBooking/components/addServiceVariant/addService.d.ts +20 -0
- package/es/components/ticketBooking/components/addServiceVariant/addService.js +32 -10
- package/es/components/ticketBooking/components/addServiceVariant/index.d.ts +2 -0
- package/es/components/ticketBooking/components/addServiceVariant/index.js +4 -2
- package/es/components/ticketBooking/components/menuBar/index.d.ts +5 -1
- package/es/components/ticketBooking/components/menuBar/index.js +40 -17
- package/es/components/ticketBooking/components/menuBar/index.less +27 -1
- package/es/components/ticketBooking/components/ticketBooking/index.d.ts +4 -0
- package/es/components/ticketBooking/components/ticketBooking/index.js +20 -10
- package/es/components/ticketBooking/components/timeBar/index.less +1 -0
- package/es/components/ticketBooking/context/IsActiveContext.d.ts +26 -0
- package/es/components/ticketBooking/context/IsActiveContext.js +37 -0
- package/es/components/ticketBooking/context/OsKeyContext.d.ts +26 -0
- package/es/components/ticketBooking/context/OsKeyContext.js +37 -0
- package/es/components/ticketBooking/context/index.d.ts +2 -0
- package/es/components/ticketBooking/context/index.js +2 -0
- package/es/components/ticketBooking/hooks/pisellos/bookingTicket.d.ts +5 -0
- package/es/components/ticketBooking/hooks/pisellos/bookingTicket.js +13 -1
- package/es/components/ticketBooking/hooks/pisellos/index.d.ts +1 -0
- package/es/components/ticketBooking/hooks/pisellos/index.js +2 -1
- package/es/components/ticketBooking/hooks/pisellos/useActiveExecute.d.ts +21 -0
- package/es/components/ticketBooking/hooks/pisellos/useActiveExecute.js +50 -0
- package/es/components/ticketBooking/hooks/pisellos/useCustomer.js +12 -4
- package/es/components/ticketBooking/hooks/pisellos/useScanCustomer.js +5 -2
- package/es/components/ticketBooking/hooks/pisellos/useScanGlobal.js +7 -2
- package/es/components/ticketBooking/hooks/pisellos/useShopDiscountModule.d.ts +6 -0
- package/es/components/ticketBooking/hooks/pisellos/useShopDiscountModule.js +17 -0
- package/es/components/ticketBooking/index.d.ts +6 -0
- package/es/components/ticketBooking/index.js +86 -12
- package/es/components/ticketBooking/utils/index.d.ts +28 -1
- package/es/components/ticketBooking/utils/index.js +40 -0
- package/es/components/wallet/Detail/model.d.ts +13 -1
- package/es/components/wallet/DiscountCard/model.d.ts +14 -1
- package/es/components/wallet/PointCard/model.d.ts +13 -1
- package/es/components/wallet/RechargeableCard/model.d.ts +29 -1
- package/es/components/wallet/Voucher/model.d.ts +13 -1
- package/es/components/wallet/model.d.ts +9 -1
- package/es/index.d.ts +2 -0
- package/es/index.js +3 -1
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.d.ts +3 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.js +11 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.less +8 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.d.ts +3 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.js +11 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.less +17 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.d.ts +3 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.js +11 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.less +17 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.d.ts +3 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.js +11 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.less +17 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.d.ts +3 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.js +11 -0
- package/es/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.less +2 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Action/index.d.ts +7 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Action/index.js +100 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Action/index.less +8 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.d.ts +6 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.js +32 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.less +3 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardCom/index.d.ts +7 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardCom/index.js +239 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardCom/index.less +44 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.d.ts +7 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.js +34 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.less +14 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardMoreText/index.d.ts +3 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardMoreText/index.js +33 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardMoreText/index.less +30 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.d.ts +4 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.js +75 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.less +46 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.d.ts +7 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.js +39 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.less +9 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Cover/index.d.ts +6 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Cover/index.js +53 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Cover/index.less +31 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Duration/index.d.ts +6 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Duration/index.js +31 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Duration/index.less +3 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Favorite/index.d.ts +6 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Favorite/index.js +58 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Favorite/index.less +11 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.d.ts +7 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.js +85 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.less +24 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Price/index.d.ts +6 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Price/index.js +121 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Price/index.less +57 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Promotions/index.d.ts +6 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Promotions/index.js +95 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Promotions/index.less +18 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Resource/index.d.ts +6 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Resource/index.js +31 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Resource/index.less +3 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Stock/index.d.ts +6 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Stock/index.js +47 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Stock/index.less +3 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.d.ts +6 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.js +34 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.less +13 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Tags/index.d.ts +6 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Tags/index.js +95 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Tags/index.less +18 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Time/index.d.ts +6 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Time/index.js +31 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Time/index.less +3 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Title/index.d.ts +6 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Title/index.js +34 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/Title/index.less +13 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.d.ts +6 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.js +39 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.less +22 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.d.ts +3 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.js +20 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.less +20 -0
- package/es/plus/productSelect/ProductCard/SkuCard/hooks/useDynamicComponents.d.ts +6 -0
- package/es/plus/productSelect/ProductCard/SkuCard/hooks/useDynamicComponents.js +55 -0
- package/es/plus/productSelect/ProductCard/SkuCard/index.d.ts +8 -0
- package/es/plus/productSelect/ProductCard/SkuCard/index.js +38 -0
- package/es/plus/productSelect/ProductCard/SkuCard/locales.d.ts +42 -0
- package/es/plus/productSelect/ProductCard/SkuCard/locales.js +41 -0
- package/es/plus/productSelect/ProductCard/SkuCard/status.d.ts +162 -0
- package/es/plus/productSelect/ProductCard/SkuCard/status.js +481 -0
- package/es/plus/productSelect/ProductCard/SkuCard/type.d.ts +298 -0
- package/es/plus/productSelect/ProductCard/SkuCard/type.js +1 -0
- package/es/plus/productSelect/ProductCard/SkuCard/utils.d.ts +9 -0
- package/es/plus/productSelect/ProductCard/SkuCard/utils.js +21 -0
- package/es/plus/productSelect/components/pisellPriceText/index.d.ts +2 -0
- package/es/plus/productSelect/components/pisellPriceText/index.js +7 -5
- package/es/pro/priceKeyboard/components/cashKeyboard/CashKeyboardIntact.js +20 -10
- package/es/pro/priceKeyboard/components/cashKeyboard/index.less +1 -2
- package/lib/components/booking/addons/model.d.ts +10 -1
- package/lib/components/booking/components/actionButtons/index.js +22 -17
- package/lib/components/booking/components/footer/index.js +2 -2
- package/lib/components/booking/components/voucher/index.js +33 -40
- package/lib/components/booking/forms/footer.js +7 -13
- package/lib/components/booking/forms/model.d.ts +10 -1
- package/lib/components/booking/info/model.d.ts +10 -1
- package/lib/components/booking/info/service/addService/utils.d.ts +1 -1
- package/lib/components/booking/info/service2/utils.d.ts +1 -1
- package/lib/components/booking/info2/cartClientCard/index.js +7 -3
- package/lib/components/booking/info2/service/addService/utils.d.ts +1 -1
- package/lib/components/booking/model.d.ts +9 -1
- package/lib/components/booking/notes/model.d.ts +10 -1
- package/lib/components/booking/payments/model.d.ts +10 -1
- package/lib/components/booking/utils.d.ts +2 -2
- package/lib/components/checkout/PaymentModal.js +15 -12
- package/lib/components/checkout/components/CashPaymentModule/index.js +0 -1
- package/lib/components/checkout/hooks/useWalletPass.d.ts +1 -1
- package/lib/components/checkout/hooks/useWalletPass.js +61 -46
- package/lib/components/eftposPay/amount.d.ts +1 -1
- package/lib/components/eftposPay/device.d.ts +1 -1
- package/lib/components/eftposPay/hooks.d.ts +2 -2
- package/lib/components/eftposPay/store/index.d.ts +5 -5
- package/lib/components/list/List.d.ts +5 -0
- package/lib/components/list/List.js +771 -0
- package/lib/components/list/List.less +2 -0
- package/lib/components/list/ResponsiveWrapper.d.ts +16 -0
- package/lib/components/list/ResponsiveWrapper.js +145 -0
- package/lib/components/list/TestResponsiveWrapper.d.ts +8 -0
- package/lib/components/list/TestResponsiveWrapper.js +493 -0
- package/lib/components/list/TestResponsiveWrapper.less +968 -0
- package/lib/components/list/components/EmptyState/EmptyState.d.ts +20 -0
- package/lib/components/list/components/EmptyState/EmptyState.js +75 -0
- package/lib/components/list/components/EmptyState/EmptyState.less +121 -0
- package/lib/components/list/components/EmptyState/index.d.ts +2 -0
- package/lib/components/list/components/EmptyState/index.js +35 -0
- package/lib/components/list/components/ListItemSkeleton/ListItemSkeleton.d.ts +13 -0
- package/lib/components/list/components/ListItemSkeleton/ListItemSkeleton.js +75 -0
- package/lib/components/list/components/ListItemSkeleton/ListItemSkeleton.less +29 -0
- package/lib/components/list/components/ListItemSkeleton/index.d.ts +2 -0
- package/lib/components/list/components/ListItemSkeleton/index.js +41 -0
- package/lib/components/list/components/Pagination/Pagination.d.ts +30 -0
- package/lib/components/list/components/Pagination/Pagination.js +205 -0
- package/lib/components/list/components/Pagination/Pagination.less +439 -0
- package/lib/components/list/components/Pagination/index.d.ts +1 -0
- package/lib/components/list/components/Pagination/index.js +35 -0
- package/lib/components/list/components/ScrollLoader/ScrollLoader.d.ts +18 -0
- package/lib/components/list/components/ScrollLoader/ScrollLoader.js +37 -0
- package/lib/components/list/components/ScrollLoader/ScrollLoader.less +3 -0
- package/lib/components/list/components/ScrollLoader/index.d.ts +2 -0
- package/lib/components/list/components/ScrollLoader/index.js +35 -0
- package/lib/components/list/components/Tab/Tab.d.ts +5 -0
- package/lib/components/list/components/Tab/Tab.js +72 -0
- package/lib/components/list/components/Tab/Tab.less +139 -0
- package/lib/components/list/components/Tab/index.d.ts +2 -0
- package/lib/components/list/components/Tab/index.js +35 -0
- package/lib/components/list/components/Tab/types.d.ts +14 -0
- package/lib/components/list/components/Tab/types.js +17 -0
- package/lib/components/list/components/TabSkeleton/TabSkeleton.d.ts +11 -0
- package/lib/components/list/components/TabSkeleton/TabSkeleton.js +61 -0
- package/lib/components/list/components/TabSkeleton/TabSkeleton.less +38 -0
- package/lib/components/list/components/TabSkeleton/index.d.ts +2 -0
- package/lib/components/list/components/TabSkeleton/index.js +41 -0
- package/lib/components/list/components/WaterfallList/WaterfallList.d.ts +33 -0
- package/lib/components/list/components/WaterfallList/WaterfallList.js +178 -0
- package/lib/components/list/components/WaterfallList/WaterfallList.less +201 -0
- package/lib/components/list/components/WaterfallList/index.d.ts +2 -0
- package/lib/components/list/components/WaterfallList/index.js +35 -0
- package/lib/components/list/examples/GroupedListExample.d.ts +3 -0
- package/lib/components/list/examples/GroupedListExample.js +210 -0
- package/lib/components/list/hooks/index.d.ts +5 -0
- package/lib/components/list/hooks/index.js +47 -0
- package/lib/components/list/hooks/useDevice.d.ts +24 -0
- package/lib/components/list/hooks/useDevice.js +96 -0
- package/lib/components/list/hooks/useListState.d.ts +43 -0
- package/lib/components/list/hooks/useListState.js +149 -0
- package/lib/components/list/hooks/useWaterfall.d.ts +34 -0
- package/lib/components/list/hooks/useWaterfall.js +124 -0
- package/lib/components/list/index.d.ts +10 -0
- package/lib/components/list/index.js +60 -0
- package/lib/components/list/locales.d.ts +66 -0
- package/lib/components/list/locales.js +113 -0
- package/lib/components/list/styles/base.less +39 -0
- package/lib/components/list/styles/content.less +415 -0
- package/lib/components/list/styles/floatButton.less +107 -0
- package/lib/components/list/styles/footer.less +49 -0
- package/lib/components/list/styles/header.less +69 -0
- package/lib/components/list/styles/responsive.less +166 -0
- package/lib/components/list/types.d.ts +177 -0
- package/lib/components/list/types.js +17 -0
- package/lib/components/list/utils/getText.d.ts +53 -0
- package/lib/components/list/utils/getText.js +95 -0
- package/lib/components/list/utils/index.d.ts +4 -0
- package/lib/components/list/utils/index.js +43 -0
- package/lib/components/pay/toB/store/hooks.js +16 -8
- package/lib/components/pay/toC/model.d.ts +9 -1
- package/lib/components/schedules/model.d.ts +9 -1
- package/lib/components/ticketBooking/components/ProductDisplayAdapter/ProductDisplayAdapter.d.ts +27 -0
- package/lib/components/ticketBooking/components/ProductDisplayAdapter/ProductDisplayAdapter.js +165 -0
- package/lib/components/ticketBooking/components/ProductDisplayAdapter/index.d.ts +7 -0
- package/lib/components/ticketBooking/components/ProductDisplayAdapter/index.js +45 -0
- package/lib/components/ticketBooking/components/ProductDisplayAdapter/index.less +41 -0
- package/lib/components/ticketBooking/components/ProductDisplayAdapter/types.d.ts +115 -0
- package/lib/components/ticketBooking/components/ProductDisplayAdapter/types.js +247 -0
- package/lib/components/ticketBooking/components/ProductDisplayAdapter/utils.d.ts +50 -0
- package/lib/components/ticketBooking/components/ProductDisplayAdapter/utils.js +100 -0
- package/lib/components/ticketBooking/components/addServiceVariant/addService.d.ts +20 -0
- package/lib/components/ticketBooking/components/addServiceVariant/addService.js +36 -10
- package/lib/components/ticketBooking/components/addServiceVariant/index.d.ts +2 -0
- package/lib/components/ticketBooking/components/addServiceVariant/index.js +3 -2
- package/lib/components/ticketBooking/components/menuBar/index.d.ts +5 -1
- package/lib/components/ticketBooking/components/menuBar/index.js +24 -18
- package/lib/components/ticketBooking/components/menuBar/index.less +27 -1
- package/lib/components/ticketBooking/components/ticketBooking/index.d.ts +4 -0
- package/lib/components/ticketBooking/components/ticketBooking/index.js +14 -9
- package/lib/components/ticketBooking/components/timeBar/index.less +1 -0
- package/lib/components/ticketBooking/context/IsActiveContext.d.ts +26 -0
- package/lib/components/ticketBooking/context/IsActiveContext.js +56 -0
- package/lib/components/ticketBooking/context/OsKeyContext.d.ts +26 -0
- package/lib/components/ticketBooking/context/OsKeyContext.js +56 -0
- package/lib/components/ticketBooking/context/index.d.ts +2 -0
- package/lib/components/ticketBooking/context/index.js +44 -0
- package/lib/components/ticketBooking/hooks/pisellos/bookingTicket.d.ts +5 -0
- package/lib/components/ticketBooking/hooks/pisellos/bookingTicket.js +5 -1
- package/lib/components/ticketBooking/hooks/pisellos/index.d.ts +1 -0
- package/lib/components/ticketBooking/hooks/pisellos/index.js +3 -1
- package/lib/components/ticketBooking/hooks/pisellos/useActiveExecute.d.ts +21 -0
- package/lib/components/ticketBooking/hooks/pisellos/useActiveExecute.js +47 -0
- package/lib/components/ticketBooking/hooks/pisellos/useCustomer.js +17 -10
- package/lib/components/ticketBooking/hooks/pisellos/useScanCustomer.js +4 -2
- package/lib/components/ticketBooking/hooks/pisellos/useScanGlobal.js +6 -2
- package/lib/components/ticketBooking/hooks/pisellos/useShopDiscountModule.d.ts +6 -0
- package/lib/components/ticketBooking/hooks/pisellos/useShopDiscountModule.js +37 -0
- package/lib/components/ticketBooking/index.d.ts +6 -0
- package/lib/components/ticketBooking/index.js +69 -7
- package/lib/components/ticketBooking/utils/index.d.ts +28 -1
- package/lib/components/ticketBooking/utils/index.js +45 -2
- package/lib/components/wallet/Detail/model.d.ts +13 -1
- package/lib/components/wallet/DiscountCard/model.d.ts +14 -1
- package/lib/components/wallet/PointCard/model.d.ts +13 -1
- package/lib/components/wallet/RechargeableCard/model.d.ts +29 -1
- package/lib/components/wallet/Voucher/model.d.ts +13 -1
- package/lib/components/wallet/model.d.ts +9 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +6 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.d.ts +3 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.js +42 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.less +8 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.d.ts +3 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.js +42 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.less +17 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.d.ts +3 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.js +42 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.less +17 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.d.ts +3 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.js +42 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.less +17 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.d.ts +3 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.js +42 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.less +2 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Action/index.d.ts +7 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Action/index.js +129 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Action/index.less +8 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.d.ts +6 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.js +52 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.less +3 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardCom/index.d.ts +7 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardCom/index.js +178 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardCom/index.less +44 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.d.ts +7 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.js +52 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.less +14 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMoreText/index.d.ts +3 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMoreText/index.js +63 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMoreText/index.less +30 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.d.ts +4 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.js +131 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.less +46 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.d.ts +7 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.js +62 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.less +9 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Cover/index.d.ts +6 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Cover/index.js +78 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Cover/index.less +31 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Duration/index.d.ts +6 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Duration/index.js +51 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Duration/index.less +3 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Favorite/index.d.ts +6 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Favorite/index.js +94 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Favorite/index.less +11 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.d.ts +7 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.js +115 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.less +24 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Price/index.d.ts +6 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Price/index.js +139 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Price/index.less +57 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Promotions/index.d.ts +6 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Promotions/index.js +97 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Promotions/index.less +18 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Resource/index.d.ts +6 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Resource/index.js +51 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Resource/index.less +3 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Stock/index.d.ts +6 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Stock/index.js +58 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Stock/index.less +3 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.d.ts +6 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.js +56 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.less +13 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Tags/index.d.ts +6 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Tags/index.js +97 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Tags/index.less +18 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Time/index.d.ts +6 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Time/index.js +51 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Time/index.less +3 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Title/index.d.ts +6 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Title/index.js +56 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/Title/index.less +13 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.d.ts +6 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.js +58 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.less +22 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.d.ts +3 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.js +49 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.less +20 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/hooks/useDynamicComponents.d.ts +6 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/hooks/useDynamicComponents.js +83 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/index.d.ts +8 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/index.js +68 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/locales.d.ts +42 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/locales.js +65 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/status.d.ts +162 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/status.js +501 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/type.d.ts +298 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/type.js +17 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/utils.d.ts +9 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/utils.js +37 -0
- package/lib/plus/productSelect/components/pisellPriceText/index.d.ts +2 -0
- package/lib/plus/productSelect/components/pisellPriceText/index.js +6 -5
- package/lib/pro/priceKeyboard/components/cashKeyboard/CashKeyboardIntact.js +61 -27
- package/lib/pro/priceKeyboard/components/cashKeyboard/index.less +1 -2
- package/lowcode/sku-card/meta.ts +1812 -0
- package/lowcode/sku-card/snippets.ts +372 -0
- package/lowcode/sku-list/meta.ts +410 -0
- package/package.json +1 -1
package/es/components/ticketBooking/components/ProductDisplayAdapter/ProductDisplayAdapter.d.ts
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ProductDisplayConfig } from './types';
|
|
3
|
+
import './index.less';
|
|
4
|
+
interface ProductDisplayAdapterProps {
|
|
5
|
+
/** 展示配置 */
|
|
6
|
+
config: ProductDisplayConfig;
|
|
7
|
+
/** 数据源 */
|
|
8
|
+
dataSource: any[];
|
|
9
|
+
/** 加载状态 */
|
|
10
|
+
loading?: boolean;
|
|
11
|
+
/** 当前选中的产品ID */
|
|
12
|
+
currentProductId?: number;
|
|
13
|
+
/** 选择产品回调 */
|
|
14
|
+
onSelectProduct: (item: any, type?: 'select' | 'detail') => void;
|
|
15
|
+
/** 空状态描述 */
|
|
16
|
+
emptyDescription?: string;
|
|
17
|
+
/** 自定义样式 */
|
|
18
|
+
style?: React.CSSProperties;
|
|
19
|
+
/** 自定义类名 */
|
|
20
|
+
className?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* 产品展示适配器组件
|
|
24
|
+
* 统一管理 ProductSelect 和 SkuList 两种展示模式
|
|
25
|
+
*/
|
|
26
|
+
declare const ProductDisplayAdapter: React.FC<ProductDisplayAdapterProps>;
|
|
27
|
+
export default ProductDisplayAdapter;
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
2
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
3
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
4
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
5
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
7
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
|
+
import React, { useMemo, useRef } from 'react';
|
|
9
|
+
import { useSize } from 'ahooks';
|
|
10
|
+
import ProductSelect from "../../../../plus/productSelect";
|
|
11
|
+
import List from "../../../list/List";
|
|
12
|
+
import SkuCard from "../../../../plus/productSelect/ProductCard/SkuCard";
|
|
13
|
+
import { formatSkuDataSource, generateProductTabs } from "./utils";
|
|
14
|
+
import "./index.less";
|
|
15
|
+
/**
|
|
16
|
+
* 产品展示适配器组件
|
|
17
|
+
* 统一管理 ProductSelect 和 SkuList 两种展示模式
|
|
18
|
+
*/
|
|
19
|
+
var ProductDisplayAdapter = function ProductDisplayAdapter(props) {
|
|
20
|
+
var config = props.config,
|
|
21
|
+
dataSource = props.dataSource,
|
|
22
|
+
_props$loading = props.loading,
|
|
23
|
+
loading = _props$loading === void 0 ? false : _props$loading,
|
|
24
|
+
currentProductId = props.currentProductId,
|
|
25
|
+
onSelectProduct = props.onSelectProduct,
|
|
26
|
+
emptyDescription = props.emptyDescription,
|
|
27
|
+
style = props.style,
|
|
28
|
+
className = props.className;
|
|
29
|
+
var _config$displayMode = config.displayMode,
|
|
30
|
+
displayMode = _config$displayMode === void 0 ? 'product-select' : _config$displayMode;
|
|
31
|
+
var listRef = useRef(null);
|
|
32
|
+
var size = useSize(listRef);
|
|
33
|
+
|
|
34
|
+
// 渲染 ProductSelect 模式
|
|
35
|
+
var renderProductSelect = useMemo(function () {
|
|
36
|
+
var _ref = config.productSelectConfig || {},
|
|
37
|
+
_ref$showSearch = _ref.showSearch,
|
|
38
|
+
showSearch = _ref$showSearch === void 0 ? true : _ref$showSearch,
|
|
39
|
+
_ref$showTab = _ref.showTab,
|
|
40
|
+
showTab = _ref$showTab === void 0 ? true : _ref$showTab,
|
|
41
|
+
_ref$layout = _ref.layout,
|
|
42
|
+
layout = _ref$layout === void 0 ? {
|
|
43
|
+
grid: true,
|
|
44
|
+
config: '12:12'
|
|
45
|
+
} : _ref$layout,
|
|
46
|
+
_ref$productListSetti = _ref.productListSetting,
|
|
47
|
+
productListSetting = _ref$productListSetti === void 0 ? {
|
|
48
|
+
isProductCover: 1,
|
|
49
|
+
isTitle: 1,
|
|
50
|
+
isSubtitle: 1,
|
|
51
|
+
isPrice: 1,
|
|
52
|
+
isOriginPrice: 0,
|
|
53
|
+
isStock: 0
|
|
54
|
+
} : _ref$productListSetti;
|
|
55
|
+
return /*#__PURE__*/React.createElement(ProductSelect, {
|
|
56
|
+
dataSource: dataSource,
|
|
57
|
+
layout: layout,
|
|
58
|
+
onChange: onSelectProduct,
|
|
59
|
+
value: currentProductId,
|
|
60
|
+
loading: loading,
|
|
61
|
+
productListSetting: productListSetting,
|
|
62
|
+
showSearch: showSearch,
|
|
63
|
+
showTab: showTab,
|
|
64
|
+
emptyDescription: emptyDescription,
|
|
65
|
+
style: style
|
|
66
|
+
});
|
|
67
|
+
}, [config.productSelectConfig, dataSource, currentProductId, onSelectProduct, loading, emptyDescription, style]);
|
|
68
|
+
|
|
69
|
+
// 渲染 SkuList 模式
|
|
70
|
+
var renderSkuList = useMemo(function () {
|
|
71
|
+
var _ref2 = config.skuListConfig || {},
|
|
72
|
+
_ref2$listConfig = _ref2.listConfig,
|
|
73
|
+
listConfig = _ref2$listConfig === void 0 ? {} : _ref2$listConfig,
|
|
74
|
+
_ref2$skuCardAllConfi = _ref2.skuCardAllConfig,
|
|
75
|
+
skuCardAllConfig = _ref2$skuCardAllConfi === void 0 ? {} : _ref2$skuCardAllConfi;
|
|
76
|
+
|
|
77
|
+
// 从配置中获取各项配置
|
|
78
|
+
var displayStyle = listConfig.layout || 'grid';
|
|
79
|
+
var columns = listConfig.columns || 2;
|
|
80
|
+
var paginationType = listConfig.showPagination ? 'pager' : 'all';
|
|
81
|
+
var enableTab = listConfig.showTab || false;
|
|
82
|
+
var tabStyle = listConfig.tabStyle || 'switch';
|
|
83
|
+
var stickyTop = listConfig.stickyTop !== undefined ? listConfig.stickyTop : true;
|
|
84
|
+
var tabData = enableTab ? generateProductTabs(dataSource, tabStyle) : undefined;
|
|
85
|
+
var filteredData = dataSource.map(function (item) {
|
|
86
|
+
var _item$category, _item$category$map;
|
|
87
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
|
88
|
+
category: ((_item$category = item.category) === null || _item$category === void 0 || (_item$category$map = _item$category.map) === null || _item$category$map === void 0 ? void 0 : _item$category$map.call(_item$category, function (category) {
|
|
89
|
+
return "".concat(category.id);
|
|
90
|
+
})) || []
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
94
|
+
className: "sku-list-container ".concat(className || ''),
|
|
95
|
+
style: style,
|
|
96
|
+
ref: listRef
|
|
97
|
+
}, /*#__PURE__*/React.createElement(List, {
|
|
98
|
+
className: "sku-list",
|
|
99
|
+
style: {
|
|
100
|
+
maxHeight: size === null || size === void 0 ? void 0 : size.height,
|
|
101
|
+
overflow: 'auto'
|
|
102
|
+
},
|
|
103
|
+
data: filteredData,
|
|
104
|
+
loading: loading,
|
|
105
|
+
displayStyle: displayStyle,
|
|
106
|
+
columns: columns,
|
|
107
|
+
paginationType: paginationType,
|
|
108
|
+
layoutDirection: "vertical"
|
|
109
|
+
// Tab 配置
|
|
110
|
+
,
|
|
111
|
+
tabStyle: enableTab ? tabStyle : 'none',
|
|
112
|
+
tabData: tabData,
|
|
113
|
+
tabGroup: "category",
|
|
114
|
+
stickyTop: stickyTop
|
|
115
|
+
// 空状态配置
|
|
116
|
+
,
|
|
117
|
+
emptyConfig: {
|
|
118
|
+
show: !loading && filteredData.length === 0,
|
|
119
|
+
text: emptyDescription
|
|
120
|
+
},
|
|
121
|
+
renderItem: function renderItem(item, index) {
|
|
122
|
+
return /*#__PURE__*/React.createElement(SkuCard, _extends({
|
|
123
|
+
key: item.id
|
|
124
|
+
}, skuCardAllConfig, {
|
|
125
|
+
dataSource: formatSkuDataSource(item),
|
|
126
|
+
onCardClick: function onCardClick() {
|
|
127
|
+
return onSelectProduct(item);
|
|
128
|
+
},
|
|
129
|
+
isSelected: item.id === currentProductId
|
|
130
|
+
}));
|
|
131
|
+
}
|
|
132
|
+
}));
|
|
133
|
+
}, [config.skuListConfig, dataSource, loading, currentProductId, onSelectProduct, emptyDescription, style, className, size === null || size === void 0 ? void 0 : size.height]);
|
|
134
|
+
|
|
135
|
+
// 根据配置渲染对应模式
|
|
136
|
+
if (displayMode === 'sku-list') {
|
|
137
|
+
return renderSkuList;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// 默认使用 product-select 模式
|
|
141
|
+
return renderProductSelect;
|
|
142
|
+
};
|
|
143
|
+
export default ProductDisplayAdapter;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ProductDisplayAdapter 产品展示适配器
|
|
3
|
+
* 支持通过配置化方式在 ProductSelect 和 SkuList 两种展示模式之间切换
|
|
4
|
+
*/
|
|
5
|
+
export { default } from './ProductDisplayAdapter';
|
|
6
|
+
export type { ProductDisplayConfig, ProductDisplayPresetKey, ProductSelectConfig, ProductSelectLayout, ProductListSetting, SkuListConfig, SkuCardDisplayMode, ListConfig, ListLayoutType, DisplayMode, } from './types';
|
|
7
|
+
export { ProductDisplayPresets, LegacyProductDisplayPresets, resolveProductDisplayConfig, } from './types';
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
.sku-list-container {
|
|
2
|
+
height: 100%;
|
|
3
|
+
background-color: #4e4e4e;
|
|
4
|
+
.sku-list {
|
|
5
|
+
background-color: #4e4e4e;
|
|
6
|
+
overflow: auto;
|
|
7
|
+
border-radius: 0;
|
|
8
|
+
.list-group-items {
|
|
9
|
+
.list-item {
|
|
10
|
+
height: 100% !important;
|
|
11
|
+
.pisell-product-sku__card-wrapper {
|
|
12
|
+
height: 100% ;
|
|
13
|
+
.pisell-lowcode-card {
|
|
14
|
+
height: 100% !important;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
&::-webkit-scrollbar {
|
|
20
|
+
display: none;
|
|
21
|
+
width: 0;
|
|
22
|
+
height: 0;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
.list-content {
|
|
26
|
+
&::-webkit-scrollbar {
|
|
27
|
+
display: none;
|
|
28
|
+
width: 0;
|
|
29
|
+
height: 0;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
.pisell-list-header {
|
|
33
|
+
overflow: auto;
|
|
34
|
+
|
|
35
|
+
&::-webkit-scrollbar {
|
|
36
|
+
display: none;
|
|
37
|
+
width: 0;
|
|
38
|
+
height: 0;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 产品展示配置类型定义
|
|
3
|
+
*/
|
|
4
|
+
import type { ProductCardConfig } from '../../../../plus/productSelect/ProductCard/SkuCard/type';
|
|
5
|
+
/** 预设配置的字符串键 */
|
|
6
|
+
export declare type ProductDisplayPresetKey = 'product-select' | 'sku-list-a1' | 'sku-list-a2' | 'sku-list-a5' | 'default';
|
|
7
|
+
/** ProductSelect 布局配置 */
|
|
8
|
+
export interface ProductSelectLayout {
|
|
9
|
+
grid: boolean;
|
|
10
|
+
config: string;
|
|
11
|
+
}
|
|
12
|
+
export declare type NumberBoolean = 0 | 1;
|
|
13
|
+
/** ProductSelect 列表设置 */
|
|
14
|
+
export interface ProductListSetting {
|
|
15
|
+
/** 是否显示产品封面 */
|
|
16
|
+
isProductCover?: NumberBoolean;
|
|
17
|
+
/** 是否显示标题 */
|
|
18
|
+
isTitle?: NumberBoolean;
|
|
19
|
+
/** 是否显示副标题 */
|
|
20
|
+
isSubtitle?: NumberBoolean;
|
|
21
|
+
/** 是否显示价格 */
|
|
22
|
+
isPrice?: NumberBoolean;
|
|
23
|
+
/** 是否显示原价 */
|
|
24
|
+
isOriginPrice?: NumberBoolean;
|
|
25
|
+
/** 是否显示库存 */
|
|
26
|
+
isStock?: NumberBoolean;
|
|
27
|
+
}
|
|
28
|
+
/** ProductSelect 模式配置 */
|
|
29
|
+
export interface ProductSelectConfig {
|
|
30
|
+
/** 是否显示搜索框 */
|
|
31
|
+
showSearch?: boolean;
|
|
32
|
+
/** 是否显示分类Tab */
|
|
33
|
+
showTab?: boolean;
|
|
34
|
+
/** 布局配置 */
|
|
35
|
+
layout?: ProductSelectLayout;
|
|
36
|
+
/** 产品列表设置 */
|
|
37
|
+
productListSetting?: ProductListSetting;
|
|
38
|
+
}
|
|
39
|
+
/** SkuCard 显示模式 */
|
|
40
|
+
export declare type SkuCardDisplayMode = 'display_a1' | 'display_a2' | 'display_a5' | 'display_a9' | 'display_custom';
|
|
41
|
+
/**
|
|
42
|
+
* SkuCard 配置
|
|
43
|
+
* 直接使用 ProductCardConfig 类型,保持类型同步
|
|
44
|
+
*
|
|
45
|
+
* @see packages/private-materials/src/plus/productSelect/ProductCard/SkuCard/type.ts ProductCardConfig
|
|
46
|
+
*/
|
|
47
|
+
export declare type SkuCardAllConfig = ProductCardConfig;
|
|
48
|
+
/** List 布局类型 */
|
|
49
|
+
export declare type ListLayoutType = 'grid' | 'list';
|
|
50
|
+
/** Tab 样式类型 */
|
|
51
|
+
export declare type TabStyleType = 'switch' | 'anchor' | 'none';
|
|
52
|
+
/** List 组件配置 */
|
|
53
|
+
export interface ListConfig {
|
|
54
|
+
/** 布局类型 */
|
|
55
|
+
layout?: ListLayoutType;
|
|
56
|
+
/** 列数 */
|
|
57
|
+
columns?: number;
|
|
58
|
+
/** 是否显示分页 */
|
|
59
|
+
showPagination?: boolean;
|
|
60
|
+
/** 是否显示Tab */
|
|
61
|
+
showTab?: boolean;
|
|
62
|
+
/** Tab 样式类型:switch-切换模式,anchor-锚点模式,none-不显示 */
|
|
63
|
+
tabStyle?: TabStyleType;
|
|
64
|
+
/** Tab 是否吸顶 */
|
|
65
|
+
stickyTop?: boolean;
|
|
66
|
+
/** Tab配置 */
|
|
67
|
+
tabConfig?: any;
|
|
68
|
+
/** 分页配置 */
|
|
69
|
+
paginationConfig?: any;
|
|
70
|
+
[key: string]: any;
|
|
71
|
+
}
|
|
72
|
+
/** SkuList 模式配置 */
|
|
73
|
+
export interface SkuListConfig {
|
|
74
|
+
/** List 组件配置 */
|
|
75
|
+
listConfig?: ListConfig;
|
|
76
|
+
/** SkuCard 配置 */
|
|
77
|
+
skuCardAllConfig?: SkuCardAllConfig;
|
|
78
|
+
}
|
|
79
|
+
/** 展示模式类型 */
|
|
80
|
+
export declare type DisplayMode = 'product-select' | 'sku-list';
|
|
81
|
+
/**
|
|
82
|
+
* 产品展示配置
|
|
83
|
+
* 用于配置化控制产品展示的方式
|
|
84
|
+
*/
|
|
85
|
+
export interface ProductDisplayConfig {
|
|
86
|
+
/** 展示模式 */
|
|
87
|
+
displayMode: DisplayMode;
|
|
88
|
+
/** ProductSelect 模式配置 */
|
|
89
|
+
productSelectConfig?: ProductSelectConfig;
|
|
90
|
+
/** SkuList 模式配置 */
|
|
91
|
+
skuListConfig?: SkuListConfig;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* 产品展示配置预设
|
|
95
|
+
* 支持通过字符串键或直接使用配置对象
|
|
96
|
+
*/
|
|
97
|
+
export declare const ProductDisplayPresets: Record<ProductDisplayPresetKey, ProductDisplayConfig>;
|
|
98
|
+
/**
|
|
99
|
+
* 兼容性:保持原有的导出方式
|
|
100
|
+
* @deprecated 建议使用 ProductDisplayPresets['product-select'] 或字符串键访问
|
|
101
|
+
*/
|
|
102
|
+
export declare const LegacyProductDisplayPresets: {
|
|
103
|
+
/** @deprecated 使用 ProductDisplayPresets['product-select'] */
|
|
104
|
+
DEFAULT_PRODUCT_SELECT: ProductDisplayConfig;
|
|
105
|
+
/** @deprecated 使用 ProductDisplayPresets['sku-list-a1'] */
|
|
106
|
+
DEFAULT_SKU_LIST_A1: ProductDisplayConfig;
|
|
107
|
+
/** @deprecated 使用 ProductDisplayPresets['sku-list-a2'] */
|
|
108
|
+
DEFAULT_SKU_LIST_A2: ProductDisplayConfig;
|
|
109
|
+
/** @deprecated 使用 ProductDisplayPresets['sku-list-a5'] */
|
|
110
|
+
DEFAULT_SKU_LIST_A5: ProductDisplayConfig;
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* 工具函数:将字符串键或配置对象解析为配置对象
|
|
114
|
+
*/
|
|
115
|
+
export declare function resolveProductDisplayConfig(config?: ProductDisplayPresetKey | ProductDisplayConfig): ProductDisplayConfig;
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 产品展示配置类型定义
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
// 导入 SkuCard 的完整类型定义
|
|
6
|
+
|
|
7
|
+
/** 预设配置的字符串键 */
|
|
8
|
+
|
|
9
|
+
// 同 'product-select'
|
|
10
|
+
|
|
11
|
+
/** ProductSelect 布局配置 */
|
|
12
|
+
|
|
13
|
+
/** ProductSelect 列表设置 */
|
|
14
|
+
|
|
15
|
+
/** ProductSelect 模式配置 */
|
|
16
|
+
|
|
17
|
+
/** SkuCard 显示模式 */
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* SkuCard 配置
|
|
21
|
+
* 直接使用 ProductCardConfig 类型,保持类型同步
|
|
22
|
+
*
|
|
23
|
+
* @see packages/private-materials/src/plus/productSelect/ProductCard/SkuCard/type.ts ProductCardConfig
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/** List 布局类型 */
|
|
27
|
+
|
|
28
|
+
/** Tab 样式类型 */
|
|
29
|
+
|
|
30
|
+
/** List 组件配置 */
|
|
31
|
+
|
|
32
|
+
/** SkuList 模式配置 */
|
|
33
|
+
|
|
34
|
+
/** 展示模式类型 */
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* 产品展示配置
|
|
38
|
+
* 用于配置化控制产品展示的方式
|
|
39
|
+
*/
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* 产品展示配置预设
|
|
43
|
+
* 支持通过字符串键或直接使用配置对象
|
|
44
|
+
*/
|
|
45
|
+
export var ProductDisplayPresets = {
|
|
46
|
+
// 默认配置
|
|
47
|
+
default: {
|
|
48
|
+
displayMode: 'product-select',
|
|
49
|
+
productSelectConfig: {
|
|
50
|
+
showSearch: true,
|
|
51
|
+
showTab: true,
|
|
52
|
+
layout: {
|
|
53
|
+
grid: true,
|
|
54
|
+
config: '12:12'
|
|
55
|
+
},
|
|
56
|
+
productListSetting: {
|
|
57
|
+
isProductCover: 1,
|
|
58
|
+
isTitle: 1,
|
|
59
|
+
isSubtitle: 1,
|
|
60
|
+
isPrice: 1,
|
|
61
|
+
isOriginPrice: 0,
|
|
62
|
+
isStock: 0
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
},
|
|
66
|
+
// 别名:product-select
|
|
67
|
+
'product-select': {
|
|
68
|
+
displayMode: 'product-select',
|
|
69
|
+
productSelectConfig: {
|
|
70
|
+
showSearch: true,
|
|
71
|
+
showTab: true,
|
|
72
|
+
layout: {
|
|
73
|
+
grid: true,
|
|
74
|
+
config: '12:12'
|
|
75
|
+
},
|
|
76
|
+
productListSetting: {
|
|
77
|
+
isProductCover: 1,
|
|
78
|
+
isTitle: 1,
|
|
79
|
+
isSubtitle: 1,
|
|
80
|
+
isPrice: 1,
|
|
81
|
+
isOriginPrice: 0,
|
|
82
|
+
isStock: 0
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
// SkuList A1
|
|
87
|
+
'sku-list-a1': {
|
|
88
|
+
displayMode: 'sku-list',
|
|
89
|
+
skuListConfig: {
|
|
90
|
+
listConfig: {
|
|
91
|
+
layout: 'grid',
|
|
92
|
+
showPagination: false,
|
|
93
|
+
showTab: false
|
|
94
|
+
},
|
|
95
|
+
skuCardAllConfig: {
|
|
96
|
+
skuCardConfig: {
|
|
97
|
+
displayMode: 'display_a1',
|
|
98
|
+
isFavorite: false,
|
|
99
|
+
layoutDirection: 'column'
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
// SkuList A2 - 详细信息卡片
|
|
105
|
+
'sku-list-a2': {
|
|
106
|
+
displayMode: 'sku-list',
|
|
107
|
+
skuListConfig: {
|
|
108
|
+
listConfig: {
|
|
109
|
+
layout: 'grid',
|
|
110
|
+
showPagination: false,
|
|
111
|
+
showTab: false
|
|
112
|
+
},
|
|
113
|
+
skuCardAllConfig: {
|
|
114
|
+
skuCardConfig: {
|
|
115
|
+
displayMode: 'display_a2',
|
|
116
|
+
layoutDirection: 'row',
|
|
117
|
+
radius: 12,
|
|
118
|
+
paddingX: 12,
|
|
119
|
+
paddingY: 12,
|
|
120
|
+
skuImageConfig: {
|
|
121
|
+
isCover: true,
|
|
122
|
+
width: '140px',
|
|
123
|
+
height: '140px',
|
|
124
|
+
radius: 8
|
|
125
|
+
},
|
|
126
|
+
skuNameConfig: {
|
|
127
|
+
isOpen: true,
|
|
128
|
+
fontSize: 16,
|
|
129
|
+
fontWeight: 600,
|
|
130
|
+
color: '#101828',
|
|
131
|
+
ellipsisCount: 2
|
|
132
|
+
},
|
|
133
|
+
skuSubtitleConfig: {
|
|
134
|
+
isOpen: true,
|
|
135
|
+
fontSize: 14,
|
|
136
|
+
color: '#667085',
|
|
137
|
+
ellipsisCount: 1
|
|
138
|
+
},
|
|
139
|
+
skuPriceConfig: {
|
|
140
|
+
isOpen: true,
|
|
141
|
+
isPrice: true,
|
|
142
|
+
priceFontSize: 18,
|
|
143
|
+
priceFontWeight: 600,
|
|
144
|
+
priceColor: '#101828',
|
|
145
|
+
isOriginPrice: true,
|
|
146
|
+
originPriceFontSize: 14,
|
|
147
|
+
originPriceColor: '#98A2B3'
|
|
148
|
+
},
|
|
149
|
+
skuStockConfig: {
|
|
150
|
+
isOpen: true,
|
|
151
|
+
fontSize: 12,
|
|
152
|
+
color: '#667085'
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
},
|
|
158
|
+
// SkuList A5
|
|
159
|
+
'sku-list-a5': {
|
|
160
|
+
displayMode: 'sku-list',
|
|
161
|
+
skuListConfig: {
|
|
162
|
+
listConfig: {
|
|
163
|
+
layout: 'grid',
|
|
164
|
+
showPagination: false,
|
|
165
|
+
showTab: true,
|
|
166
|
+
// 启用 Tab
|
|
167
|
+
tabStyle: 'switch',
|
|
168
|
+
// 使用 switch 模式
|
|
169
|
+
stickyTop: true,
|
|
170
|
+
// Tab 吸顶
|
|
171
|
+
columns: 5,
|
|
172
|
+
tabGroup: 'category'
|
|
173
|
+
},
|
|
174
|
+
skuCardAllConfig: {
|
|
175
|
+
skuCardConfig: {
|
|
176
|
+
displayMode: 'display_a5',
|
|
177
|
+
layoutDirection: 'column',
|
|
178
|
+
background: '#ffffff',
|
|
179
|
+
paddingY: 8,
|
|
180
|
+
paddingX: 8,
|
|
181
|
+
marginY: 0,
|
|
182
|
+
marginX: 0,
|
|
183
|
+
radius: 12,
|
|
184
|
+
isBorderVisible: false,
|
|
185
|
+
borderWidth: 1,
|
|
186
|
+
borderColor: '#ffffff',
|
|
187
|
+
isFoldable: true
|
|
188
|
+
},
|
|
189
|
+
skuActionConfig: {
|
|
190
|
+
isOpen: false
|
|
191
|
+
},
|
|
192
|
+
skuTextConfig: {
|
|
193
|
+
skuSubtitleConfig: {
|
|
194
|
+
isOpen: false
|
|
195
|
+
},
|
|
196
|
+
skuNameConfig: {
|
|
197
|
+
isOpen: true
|
|
198
|
+
// fontSize: 18,
|
|
199
|
+
// fontWeight: 600,
|
|
200
|
+
// color: '#101828',
|
|
201
|
+
// ellipsisCount: 1,
|
|
202
|
+
},
|
|
203
|
+
skuPriceConfig: {
|
|
204
|
+
isOpen: true,
|
|
205
|
+
isPrice: true,
|
|
206
|
+
priceFontSize: 18,
|
|
207
|
+
priceFontWeight: 600,
|
|
208
|
+
priceColor: '#101828',
|
|
209
|
+
isShowZeroPrice: true,
|
|
210
|
+
isShowFreePrice: false,
|
|
211
|
+
isOriginPrice: true,
|
|
212
|
+
originPriceFontSize: 16,
|
|
213
|
+
originPriceFontWeight: 400,
|
|
214
|
+
originPriceColor: '#667085',
|
|
215
|
+
isTaxPrice: true,
|
|
216
|
+
isCustomText: false
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
skuImageConfig: {
|
|
220
|
+
isCover: true,
|
|
221
|
+
width: '100%',
|
|
222
|
+
height: '126px',
|
|
223
|
+
isTextFallback: true,
|
|
224
|
+
background: '#ffffff',
|
|
225
|
+
skuImageRadius: 12,
|
|
226
|
+
slotPosition: 'left_top',
|
|
227
|
+
radius: 12
|
|
228
|
+
},
|
|
229
|
+
skuExtraConfig: {
|
|
230
|
+
isOpen: false
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
};
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* 兼容性:保持原有的导出方式
|
|
239
|
+
* @deprecated 建议使用 ProductDisplayPresets['product-select'] 或字符串键访问
|
|
240
|
+
*/
|
|
241
|
+
export var LegacyProductDisplayPresets = {
|
|
242
|
+
/** @deprecated 使用 ProductDisplayPresets['product-select'] */
|
|
243
|
+
DEFAULT_PRODUCT_SELECT: ProductDisplayPresets['product-select'],
|
|
244
|
+
/** @deprecated 使用 ProductDisplayPresets['sku-list-a1'] */
|
|
245
|
+
DEFAULT_SKU_LIST_A1: ProductDisplayPresets['sku-list-a1'],
|
|
246
|
+
/** @deprecated 使用 ProductDisplayPresets['sku-list-a2'] */
|
|
247
|
+
DEFAULT_SKU_LIST_A2: ProductDisplayPresets['sku-list-a2'],
|
|
248
|
+
/** @deprecated 使用 ProductDisplayPresets['sku-list-a5'] */
|
|
249
|
+
DEFAULT_SKU_LIST_A5: ProductDisplayPresets['sku-list-a5']
|
|
250
|
+
};
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* 工具函数:将字符串键或配置对象解析为配置对象
|
|
254
|
+
*/
|
|
255
|
+
export function resolveProductDisplayConfig(config) {
|
|
256
|
+
// 未传配置,使用默认
|
|
257
|
+
if (!config) {
|
|
258
|
+
return ProductDisplayPresets['default'];
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
// 如果是字符串,从预设中获取
|
|
262
|
+
if (typeof config === 'string') {
|
|
263
|
+
var preset = ProductDisplayPresets[config];
|
|
264
|
+
if (!preset) {
|
|
265
|
+
console.warn("Unknown preset key: \"".concat(config, "\", falling back to default"));
|
|
266
|
+
return ProductDisplayPresets['default'];
|
|
267
|
+
}
|
|
268
|
+
return preset;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
// 如果是对象,直接返回
|
|
272
|
+
return config;
|
|
273
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 格式化 SKU 数据源,适配 SkuCard 组件
|
|
3
|
+
*/
|
|
4
|
+
export declare const formatSkuDataSource: (dataSource: any) => {
|
|
5
|
+
id: any;
|
|
6
|
+
title: any;
|
|
7
|
+
subtitle: any;
|
|
8
|
+
cover: any;
|
|
9
|
+
price: any;
|
|
10
|
+
original_price: any;
|
|
11
|
+
stock: any;
|
|
12
|
+
sortKeys: string[];
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Tab 项接口定义(与 List 组件保持一致)
|
|
16
|
+
*/
|
|
17
|
+
export interface TabItem {
|
|
18
|
+
key: string;
|
|
19
|
+
label: string;
|
|
20
|
+
group?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* 产品分类信息接口
|
|
24
|
+
*/
|
|
25
|
+
interface ProductCategory {
|
|
26
|
+
id: number;
|
|
27
|
+
name: string;
|
|
28
|
+
icon?: string;
|
|
29
|
+
slug?: string;
|
|
30
|
+
sort?: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* 产品项接口
|
|
34
|
+
*/
|
|
35
|
+
interface Product {
|
|
36
|
+
id: number;
|
|
37
|
+
title: string;
|
|
38
|
+
category?: ProductCategory[];
|
|
39
|
+
[key: string]: any;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* 根据产品数据生成分类 Tabs(Switch 模式)
|
|
43
|
+
* 参考 TestResponsiveWrapper 的 generateSimpleTabItems 函数
|
|
44
|
+
*
|
|
45
|
+
* @param products 产品列表
|
|
46
|
+
* @param tabStyle tab 样式类型
|
|
47
|
+
* @returns TabItem 数组
|
|
48
|
+
*/
|
|
49
|
+
export declare const generateProductTabs: (products: Product[], tabStyle?: 'switch' | 'anchor') => TabItem[];
|
|
50
|
+
export {};
|