@pisell/private-materials 6.5.27 → 6.6.1
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 +146 -165
- package/build/lowcode/render/default/view.css +1 -1
- package/build/lowcode/render/default/view.js +9 -9
- package/build/lowcode/view.css +1 -1
- package/build/lowcode/view.js +9 -9
- package/es/components/appointmentBooking/components/Cart/Item/index.d.ts +1 -1
- package/es/components/appointmentBooking/components/Cart/Item/index.js +4 -2
- package/es/components/appointmentBooking/components/ConfirmInformation/index.js +273 -76
- package/es/components/appointmentBooking/components/ConfirmInformation/index.less +15 -0
- package/es/components/appointmentBooking/hooks.d.ts +1 -0
- package/es/components/appointmentBooking/hooks.js +30 -30
- package/es/components/appointmentBooking/locales.d.ts +3 -0
- package/es/components/appointmentBooking/locales.js +9 -6
- package/es/components/booking/components/actionButtons/index.js +34 -20
- package/es/components/booking/components/customSelect/index.js +1 -1
- package/es/components/booking/components/footer/amount.js +25 -8
- package/es/components/booking/components/footer/index.js +66 -33
- package/es/components/booking/components/footer/utils.d.ts +7 -0
- package/es/components/booking/components/footer/utils.js +126 -99
- package/es/components/booking/components/voucher/index.js +25 -9
- package/es/components/booking/dashboard/serve.js +1 -6
- package/es/components/booking/forms/footer.js +24 -10
- package/es/components/booking/forms/sendModal/useSendModal.d.ts +1 -1
- package/es/components/booking/forms/serve.js +2 -12
- package/es/components/booking/hooks/useQuotation.js +69 -21
- package/es/components/booking/info/client/index.js +28 -13
- package/es/components/booking/info/client/serve.js +2 -11
- package/es/components/booking/info/clientVariant/hooks/useClientFn.js +16 -10
- package/es/components/booking/info/clientVariant/vertical/SelectDrawer.js +10 -2
- package/es/components/booking/info/clientVariant/vertical/index.js +1 -1
- package/es/components/booking/info/hooks/useHolderConfig.d.ts +1 -0
- package/es/components/booking/info/hooks/useHolderConfig.js +9 -2
- package/es/components/booking/info/main.js +3 -2
- package/es/components/booking/info/model.js +5 -0
- package/es/components/booking/info/pet/serve.js +1 -6
- package/es/components/booking/info/service/Lists.d.ts +1 -1
- package/es/components/booking/info/service/Lists.js +10 -4
- package/es/components/booking/info/service/addTimeModal/serve.js +1 -11
- package/es/components/booking/info/service/serve.d.ts +14 -0
- package/es/components/booking/info/service/serve.js +25 -18
- package/es/components/booking/info/service2/Group/utils.js +2 -0
- package/es/components/booking/info/service2/utils.d.ts +1 -33
- package/es/components/booking/info/service2/utils.js +92 -56
- package/es/components/booking/info/utils.js +5 -0
- package/es/components/booking/info2/cartClientCard/index.js +49 -9
- package/es/components/booking/info2/index.js +3 -2
- package/es/components/booking/info2/serve.js +1 -6
- package/es/components/booking/info2/service/addService/index.js +146 -89
- package/es/components/booking/info2/service/addService/utils.d.ts +8 -0
- package/es/components/booking/info2/service/addService/utils.js +83 -14
- package/es/components/booking/info2/service/contactInfoMode/index.d.ts +2 -0
- package/es/components/booking/info2/service/contactInfoMode/index.js +94 -0
- package/es/components/booking/info2/service/editService/Holder/index.d.ts +12 -0
- package/es/components/booking/info2/service/editService/Holder/index.js +193 -0
- package/es/components/booking/info2/service/editService/Holder/index.less +63 -0
- package/es/components/booking/info2/service/editService/index.js +313 -57
- package/es/components/booking/info2/utilsByBooking.js +19 -14
- package/es/components/booking/locales.d.ts +36 -0
- package/es/components/booking/locales.js +48 -3
- package/es/components/booking/model.d.ts +4 -0
- package/es/components/booking/model.js +3 -0
- package/es/components/booking/utils/confirmHolderModal.d.ts +13 -0
- package/es/components/booking/utils/confirmHolderModal.js +318 -0
- package/es/components/booking/utils/confirmHolderModal.less +40 -0
- package/es/components/booking/utils/selectHolderModal.d.ts +24 -0
- package/es/components/booking/utils/selectHolderModal.js +407 -0
- package/es/components/booking/utils.d.ts +16 -7
- package/es/components/booking/utils.js +26 -37
- package/es/components/checkout/PaymentModal.js +61 -30
- package/es/components/checkout/components/CashPaymentModule/index.js +1 -7
- package/es/components/checkout/components/ScrollableList/index.js +0 -1
- package/es/components/checkout/locales.d.ts +3 -0
- package/es/components/checkout/locales.js +3 -0
- package/es/components/eftposPay/linkly/index.js +64 -2
- package/es/components/eftposPay/tyro/index.js +12 -0
- package/es/components/list/List.js +3 -0
- package/es/components/pay/toB/components/MX51/index.js +14 -44
- package/es/components/pay/toB/types/index.d.ts +0 -12
- package/es/components/pay/toB/types/index.js +0 -4
- package/es/components/pisellSelectCustomerModal/RightPanel/serve.js +1 -5
- package/es/components/shoppingCart/components/Cart/Product.js +6 -3
- package/es/components/shoppingCart/type.d.ts +1 -0
- package/es/components/ticketBooking/components/ProductDisplayAdapter/index.less +0 -12
- package/es/components/ticketBooking/components/addServiceVariant/MultiDayTimeSelectModal.d.ts +18 -0
- package/es/components/ticketBooking/components/addServiceVariant/MultiDayTimeSelectModal.js +119 -0
- package/es/components/ticketBooking/components/addServiceVariant/MultiDayTimeSelectModal.less +0 -0
- package/es/components/ticketBooking/components/addServiceVariant/addService.d.ts +0 -2
- package/es/components/ticketBooking/components/addServiceVariant/addService.js +419 -794
- package/es/components/ticketBooking/components/addServiceVariant/index.d.ts +0 -2
- package/es/components/ticketBooking/components/addServiceVariant/index.js +4 -4
- package/es/components/ticketBooking/components/addServiceVariant/utils.js +1 -2
- package/es/components/ticketBooking/components/menuBar/index.js +109 -12
- package/es/components/ticketBooking/components/ticketBooking/index.d.ts +2 -4
- package/es/components/ticketBooking/components/ticketBooking/index.js +32 -61
- package/es/components/ticketBooking/components/ticketBooking/index.less +2 -1
- package/es/components/ticketBooking/components/timeBar/index.d.ts +0 -1
- package/es/components/ticketBooking/components/timeBar/index.js +1 -4
- package/es/components/ticketBooking/hooks/pisellos/useProducts.d.ts +0 -4
- package/es/components/ticketBooking/hooks/pisellos/useProducts.js +122 -170
- package/es/components/ticketBooking/index.d.ts +0 -1
- package/es/components/ticketBooking/index.js +0 -2
- package/es/components/ticketBooking/serve.js +17 -119
- package/es/components/ticketBooking/utils/index.d.ts +7 -1
- package/es/components/ticketBooking/utils/index.js +44 -28
- package/es/hooks/useEngineContext.d.ts +0 -1
- package/es/hooks/useEngineContext.js +0 -7
- package/es/index.d.ts +4 -0
- package/es/index.js +5 -1
- package/es/plus/clientCard/locales.js +3 -3
- package/es/plus/clinetSearch/index.js +28 -30
- package/es/plus/clinetSearch/locales.d.ts +3 -0
- package/es/plus/clinetSearch/locales.js +7 -4
- package/es/plus/clinetSearch/types.d.ts +12 -0
- package/es/plus/contactInfo/components/Avatar/index.d.ts +10 -0
- package/es/plus/contactInfo/components/Avatar/index.js +30 -0
- package/es/plus/contactInfo/components/SwipeAction/index.d.ts +46 -0
- package/es/plus/contactInfo/components/SwipeAction/index.js +360 -0
- package/es/plus/contactInfo/components/SwipeAction/index.less +74 -0
- package/es/plus/contactInfo/index.d.ts +6 -0
- package/es/plus/contactInfo/index.js +198 -0
- package/es/plus/contactInfo/index.less +621 -0
- package/es/plus/contactInfo/locales.d.ts +15 -0
- package/es/plus/contactInfo/locales.js +14 -0
- package/es/plus/contactInfo/types.d.ts +91 -0
- package/es/plus/contactInfo/types.js +1 -0
- package/es/plus/contactInfo/utils.d.ts +7 -0
- package/es/plus/contactInfo/utils.js +50 -0
- package/es/plus/contactInfoModal/ContactInfoContent.d.ts +3 -0
- package/es/plus/contactInfoModal/ContactInfoContent.js +74 -0
- package/es/plus/contactInfoModal/index.d.ts +41 -0
- package/es/plus/contactInfoModal/index.js +155 -0
- package/es/plus/contactInfoModal/index.less +19 -0
- package/es/plus/contactInfoModal/locales.d.ts +66 -0
- package/es/plus/contactInfoModal/locales.js +65 -0
- package/es/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.js +1 -1
- package/es/plus/productSelect/ProductCard/index.js +1 -1
- package/es/plus/selectHolder/components/ErrorTip/index.d.ts +3 -0
- package/es/plus/selectHolder/components/ErrorTip/index.js +14 -0
- package/es/plus/selectHolder/components/ErrorTip/index.less +51 -0
- package/es/plus/selectHolder/components/HolderItem/index.d.ts +6 -0
- package/es/plus/selectHolder/components/HolderItem/index.js +77 -0
- package/es/plus/selectHolder/components/HolderItem/index.less +105 -0
- package/es/plus/selectHolder/components/HolderList/index.d.ts +30 -0
- package/es/plus/selectHolder/components/HolderList/index.js +43 -0
- package/es/plus/selectHolder/index.d.ts +7 -0
- package/es/plus/selectHolder/index.js +273 -0
- package/es/plus/selectHolder/index.less +137 -0
- package/es/plus/selectHolder/locales.d.ts +24 -0
- package/es/plus/selectHolder/locales.js +29 -0
- package/es/plus/selectHolder/types.d.ts +104 -0
- package/es/plus/selectHolder/types.js +1 -0
- package/es/plus/selectHolder/utils.d.ts +9 -0
- package/es/plus/selectHolder/utils.js +16 -0
- package/es/pro/comprehensiveSearch/components/searchSection/locales.js +3 -3
- package/es/pro/comprehensiveSearch/locales.js +1 -1
- package/es/pro/multiDayTimeSelect/MultiDayTimeSelect.d.ts +9 -0
- package/es/pro/multiDayTimeSelect/MultiDayTimeSelect.js +357 -0
- package/es/pro/multiDayTimeSelect/MultiDayTimeSelect.less +8 -0
- package/es/pro/multiDayTimeSelect/index.d.ts +3 -0
- package/es/pro/multiDayTimeSelect/index.js +1 -0
- package/es/pro/multiDayTimeSelect/types.d.ts +28 -0
- package/es/pro/multiDayTimeSelect/types.js +1 -0
- package/es/pro/skuDetailModal/types.d.ts +1 -0
- package/lib/components/appointmentBooking/components/Cart/Item/index.d.ts +1 -1
- package/lib/components/appointmentBooking/components/Cart/Item/index.js +6 -3
- package/lib/components/appointmentBooking/components/ConfirmInformation/index.js +156 -13
- package/lib/components/appointmentBooking/components/ConfirmInformation/index.less +15 -0
- package/lib/components/appointmentBooking/hooks.d.ts +1 -0
- package/lib/components/appointmentBooking/hooks.js +73 -35
- package/lib/components/appointmentBooking/locales.d.ts +3 -0
- package/lib/components/appointmentBooking/locales.js +6 -3
- package/lib/components/booking/components/actionButtons/index.js +11 -2
- package/lib/components/booking/components/customSelect/index.js +1 -1
- package/lib/components/booking/components/footer/amount.js +23 -6
- package/lib/components/booking/components/footer/index.js +26 -5
- package/lib/components/booking/components/footer/utils.d.ts +7 -0
- package/lib/components/booking/components/footer/utils.js +120 -82
- package/lib/components/booking/components/voucher/index.js +10 -1
- package/lib/components/booking/dashboard/serve.js +1 -6
- package/lib/components/booking/forms/footer.js +29 -11
- package/lib/components/booking/forms/sendModal/useSendModal.d.ts +1 -1
- package/lib/components/booking/forms/serve.js +2 -12
- package/lib/components/booking/hooks/useQuotation.js +45 -13
- package/lib/components/booking/info/client/index.js +14 -1
- package/lib/components/booking/info/client/serve.js +2 -13
- package/lib/components/booking/info/clientVariant/hooks/useClientFn.js +7 -2
- package/lib/components/booking/info/clientVariant/vertical/SelectDrawer.js +11 -4
- package/lib/components/booking/info/clientVariant/vertical/index.js +34 -17
- package/lib/components/booking/info/hooks/useHolderConfig.d.ts +1 -0
- package/lib/components/booking/info/hooks/useHolderConfig.js +8 -3
- package/lib/components/booking/info/main.js +5 -4
- package/lib/components/booking/info/model.js +5 -0
- package/lib/components/booking/info/pet/serve.js +1 -6
- package/lib/components/booking/info/service/Lists.d.ts +1 -1
- package/lib/components/booking/info/service/Lists.js +5 -3
- package/lib/components/booking/info/service/addTimeModal/serve.js +1 -7
- package/lib/components/booking/info/service/serve.d.ts +14 -0
- package/lib/components/booking/info/service/serve.js +8 -17
- package/lib/components/booking/info/service2/Group/utils.js +2 -0
- package/lib/components/booking/info/service2/utils.d.ts +1 -33
- package/lib/components/booking/info/service2/utils.js +38 -29
- package/lib/components/booking/info/utils.js +4 -0
- package/lib/components/booking/info2/cartClientCard/index.js +34 -5
- package/lib/components/booking/info2/index.js +11 -5
- package/lib/components/booking/info2/serve.js +1 -6
- package/lib/components/booking/info2/service/addService/index.js +22 -3
- package/lib/components/booking/info2/service/addService/utils.d.ts +8 -0
- package/lib/components/booking/info2/service/addService/utils.js +48 -11
- package/lib/components/booking/info2/service/contactInfoMode/index.d.ts +2 -0
- package/lib/components/booking/info2/service/contactInfoMode/index.js +111 -0
- package/lib/components/booking/info2/service/editService/Holder/index.d.ts +12 -0
- package/lib/components/booking/info2/service/editService/Holder/index.js +199 -0
- package/lib/components/booking/info2/service/editService/Holder/index.less +63 -0
- package/lib/components/booking/info2/service/editService/index.js +254 -32
- package/lib/components/booking/info2/utilsByBooking.js +26 -19
- package/lib/components/booking/locales.d.ts +36 -0
- package/lib/components/booking/locales.js +42 -3
- package/lib/components/booking/model.d.ts +4 -0
- package/lib/components/booking/model.js +3 -0
- package/lib/components/booking/utils/confirmHolderModal.d.ts +13 -0
- package/lib/components/booking/utils/confirmHolderModal.js +253 -0
- package/lib/components/booking/utils/confirmHolderModal.less +40 -0
- package/lib/components/booking/utils/selectHolderModal.d.ts +24 -0
- package/lib/components/booking/utils/selectHolderModal.js +319 -0
- package/lib/components/booking/utils.d.ts +16 -7
- package/lib/components/booking/utils.js +18 -21
- package/lib/components/checkout/PaymentModal.js +41 -18
- package/lib/components/checkout/components/CashPaymentModule/index.js +1 -7
- package/lib/components/checkout/components/ScrollableList/index.js +0 -1
- package/lib/components/checkout/locales.d.ts +3 -0
- package/lib/components/checkout/locales.js +3 -0
- package/lib/components/eftposPay/linkly/index.js +31 -1
- package/lib/components/eftposPay/tyro/index.js +12 -0
- package/lib/components/list/List.js +3 -0
- package/lib/components/pay/toB/components/MX51/index.js +12 -37
- package/lib/components/pay/toB/types/index.d.ts +0 -12
- package/lib/components/pisellSelectCustomerModal/RightPanel/serve.js +1 -8
- package/lib/components/shoppingCart/components/Cart/Product.js +7 -3
- package/lib/components/shoppingCart/type.d.ts +1 -0
- package/lib/components/ticketBooking/components/ProductDisplayAdapter/index.less +0 -12
- package/lib/components/ticketBooking/components/addServiceVariant/MultiDayTimeSelectModal.d.ts +18 -0
- package/lib/components/ticketBooking/components/addServiceVariant/MultiDayTimeSelectModal.js +118 -0
- package/lib/components/ticketBooking/components/addServiceVariant/MultiDayTimeSelectModal.less +0 -0
- package/lib/components/ticketBooking/components/addServiceVariant/addService.d.ts +0 -2
- package/lib/components/ticketBooking/components/addServiceVariant/addService.js +279 -313
- package/lib/components/ticketBooking/components/addServiceVariant/index.d.ts +0 -2
- package/lib/components/ticketBooking/components/addServiceVariant/index.js +5 -3
- package/lib/components/ticketBooking/components/addServiceVariant/utils.js +1 -2
- package/lib/components/ticketBooking/components/menuBar/index.js +42 -6
- package/lib/components/ticketBooking/components/ticketBooking/index.d.ts +2 -4
- package/lib/components/ticketBooking/components/ticketBooking/index.js +12 -49
- package/lib/components/ticketBooking/components/ticketBooking/index.less +2 -1
- package/lib/components/ticketBooking/components/timeBar/index.d.ts +0 -1
- package/lib/components/ticketBooking/components/timeBar/index.js +1 -3
- package/lib/components/ticketBooking/hooks/pisellos/useProducts.d.ts +0 -4
- package/lib/components/ticketBooking/hooks/pisellos/useProducts.js +69 -98
- package/lib/components/ticketBooking/index.d.ts +0 -1
- package/lib/components/ticketBooking/index.js +0 -2
- package/lib/components/ticketBooking/serve.js +15 -117
- package/lib/components/ticketBooking/utils/index.d.ts +7 -1
- package/lib/components/ticketBooking/utils/index.js +29 -23
- package/lib/hooks/useEngineContext.d.ts +0 -1
- package/lib/hooks/useEngineContext.js +2 -10
- package/lib/index.d.ts +4 -0
- package/lib/index.js +12 -0
- package/lib/plus/clientCard/locales.js +3 -3
- package/lib/plus/clinetSearch/index.js +17 -8
- package/lib/plus/clinetSearch/locales.d.ts +3 -0
- package/lib/plus/clinetSearch/locales.js +7 -4
- package/lib/plus/clinetSearch/types.d.ts +12 -0
- package/lib/plus/contactInfo/components/Avatar/index.d.ts +10 -0
- package/lib/plus/contactInfo/components/Avatar/index.js +56 -0
- package/lib/plus/contactInfo/components/SwipeAction/index.d.ts +46 -0
- package/lib/plus/contactInfo/components/SwipeAction/index.js +373 -0
- package/lib/plus/contactInfo/components/SwipeAction/index.less +74 -0
- package/lib/plus/contactInfo/index.d.ts +6 -0
- package/lib/plus/contactInfo/index.js +226 -0
- package/lib/plus/contactInfo/index.less +621 -0
- package/lib/plus/contactInfo/locales.d.ts +15 -0
- package/lib/plus/contactInfo/locales.js +38 -0
- package/lib/plus/contactInfo/types.d.ts +91 -0
- package/lib/plus/contactInfo/types.js +17 -0
- package/lib/plus/contactInfo/utils.d.ts +7 -0
- package/lib/plus/contactInfo/utils.js +64 -0
- package/lib/plus/contactInfoModal/ContactInfoContent.d.ts +3 -0
- package/lib/plus/contactInfoModal/ContactInfoContent.js +129 -0
- package/lib/plus/contactInfoModal/index.d.ts +41 -0
- package/lib/plus/contactInfoModal/index.js +139 -0
- package/lib/plus/contactInfoModal/index.less +19 -0
- package/lib/plus/contactInfoModal/locales.d.ts +66 -0
- package/lib/plus/contactInfoModal/locales.js +89 -0
- package/lib/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.js +1 -1
- package/lib/plus/productSelect/ProductCard/index.js +1 -1
- package/lib/plus/selectHolder/components/ErrorTip/index.d.ts +3 -0
- package/lib/plus/selectHolder/components/ErrorTip/index.js +30 -0
- package/lib/plus/selectHolder/components/ErrorTip/index.less +51 -0
- package/lib/plus/selectHolder/components/HolderItem/index.d.ts +6 -0
- package/lib/plus/selectHolder/components/HolderItem/index.js +101 -0
- package/lib/plus/selectHolder/components/HolderItem/index.less +105 -0
- package/lib/plus/selectHolder/components/HolderList/index.d.ts +30 -0
- package/lib/plus/selectHolder/components/HolderList/index.js +63 -0
- package/lib/plus/selectHolder/index.d.ts +7 -0
- package/lib/plus/selectHolder/index.js +223 -0
- package/lib/plus/selectHolder/index.less +137 -0
- package/lib/plus/selectHolder/locales.d.ts +24 -0
- package/lib/plus/selectHolder/locales.js +47 -0
- package/lib/plus/selectHolder/types.d.ts +104 -0
- package/lib/plus/selectHolder/types.js +17 -0
- package/lib/plus/selectHolder/utils.d.ts +9 -0
- package/lib/plus/selectHolder/utils.js +34 -0
- package/lib/pro/comprehensiveSearch/components/searchSection/locales.js +3 -3
- package/lib/pro/comprehensiveSearch/locales.js +1 -1
- package/lib/pro/multiDayTimeSelect/MultiDayTimeSelect.d.ts +9 -0
- package/lib/pro/multiDayTimeSelect/MultiDayTimeSelect.js +304 -0
- package/lib/pro/multiDayTimeSelect/MultiDayTimeSelect.less +8 -0
- package/lib/pro/multiDayTimeSelect/index.d.ts +3 -0
- package/lib/{hooks/printer.js → pro/multiDayTimeSelect/index.js} +6 -31
- package/lib/pro/multiDayTimeSelect/types.d.ts +28 -0
- package/lib/pro/multiDayTimeSelect/types.js +17 -0
- package/lib/pro/skuDetailModal/types.d.ts +1 -0
- package/lowcode/contact-info/fragments/cardStyle.ts +68 -0
- package/lowcode/contact-info/fragments/nameStyle.ts +33 -0
- package/lowcode/contact-info/fragments/pisellAvatar.ts +103 -0
- package/lowcode/contact-info/fragments/textStyle.ts +33 -0
- package/lowcode/contact-info/meta.ts +199 -0
- package/lowcode/contact-info-modal/meta.ts +98 -0
- package/lowcode/event-select-holder/meta.ts +2 -2
- package/lowcode/select-holder/meta.ts +220 -0
- package/lowcode/select-holder/snippets.ts +41 -0
- package/package.json +13 -11
- package/es/hooks/printer.d.ts +0 -4
- package/es/hooks/printer.js +0 -35
- package/lib/hooks/printer.d.ts +0 -4
|
@@ -0,0 +1,360 @@
|
|
|
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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
4
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
5
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
6
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
7
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
8
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
9
|
+
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; }
|
|
10
|
+
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; }
|
|
11
|
+
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; }
|
|
12
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
13
|
+
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); }
|
|
14
|
+
import { animated, useSpring } from '@react-spring/web';
|
|
15
|
+
import { useDrag } from '@use-gesture/react/dist/use-gesture-react.cjs';
|
|
16
|
+
import React, { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react';
|
|
17
|
+
|
|
18
|
+
// 本地实现的工具函数和类型
|
|
19
|
+
|
|
20
|
+
// withNativeProps 工具函数
|
|
21
|
+
function withNativeProps(props, element) {
|
|
22
|
+
var p = _objectSpread({}, element.props);
|
|
23
|
+
if (props.className) {
|
|
24
|
+
p.className = props.className + (element.props.className ? " ".concat(element.props.className) : '');
|
|
25
|
+
}
|
|
26
|
+
if (props.style) {
|
|
27
|
+
p.style = _objectSpread(_objectSpread({}, props.style), element.props.style);
|
|
28
|
+
}
|
|
29
|
+
return /*#__PURE__*/React.cloneElement(element, p);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
// nearest 工具函数
|
|
33
|
+
function nearest(arr, target) {
|
|
34
|
+
return arr.reduce(function (prev, curr) {
|
|
35
|
+
return Math.abs(curr - target) < Math.abs(prev - target) ? curr : prev;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
// mergeProps 工具函数
|
|
40
|
+
function mergeProps(a, b) {
|
|
41
|
+
return _objectSpread(_objectSpread({}, a), b);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// withStopPropagation 工具函数
|
|
45
|
+
function withStopPropagation(events, element) {
|
|
46
|
+
if (!events.includes('click')) {
|
|
47
|
+
return element;
|
|
48
|
+
}
|
|
49
|
+
var onClick = function onClick(e) {
|
|
50
|
+
var _element$props$onClic, _element$props;
|
|
51
|
+
e.stopPropagation();
|
|
52
|
+
(_element$props$onClic = (_element$props = element.props).onClick) === null || _element$props$onClic === void 0 || _element$props$onClic.call(_element$props, e);
|
|
53
|
+
};
|
|
54
|
+
return /*#__PURE__*/React.cloneElement(element, _objectSpread(_objectSpread({}, element.props), {}, {
|
|
55
|
+
onClick: onClick
|
|
56
|
+
}));
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
// Button 组件实现
|
|
60
|
+
|
|
61
|
+
var Button = function Button(_ref) {
|
|
62
|
+
var children = _ref.children,
|
|
63
|
+
className = _ref.className,
|
|
64
|
+
style = _ref.style,
|
|
65
|
+
onClick = _ref.onClick;
|
|
66
|
+
return /*#__PURE__*/React.createElement("button", {
|
|
67
|
+
className: className,
|
|
68
|
+
style: _objectSpread({
|
|
69
|
+
border: 'none',
|
|
70
|
+
background: (style === null || style === void 0 ? void 0 : style['--background-color']) || 'transparent'
|
|
71
|
+
}, style),
|
|
72
|
+
onClick: onClick
|
|
73
|
+
}, children);
|
|
74
|
+
};
|
|
75
|
+
import "./index.less";
|
|
76
|
+
var classPrefix = "pisell-custom-swipe-action";
|
|
77
|
+
var defaultProps = {
|
|
78
|
+
rightActions: [],
|
|
79
|
+
leftActions: [],
|
|
80
|
+
closeOnTouchOutside: true,
|
|
81
|
+
closeOnAction: true,
|
|
82
|
+
stopPropagation: []
|
|
83
|
+
};
|
|
84
|
+
export var SwipeAction = /*#__PURE__*/forwardRef(function (p, ref) {
|
|
85
|
+
var props = mergeProps(defaultProps, p);
|
|
86
|
+
var rootRef = useRef(null);
|
|
87
|
+
var leftRef = useRef(null);
|
|
88
|
+
var rightRef = useRef(null);
|
|
89
|
+
|
|
90
|
+
// 添加容器高度状态
|
|
91
|
+
var _useState = useState(0),
|
|
92
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
93
|
+
containerHeight = _useState2[0],
|
|
94
|
+
setContainerHeight = _useState2[1];
|
|
95
|
+
function getWidth(ref) {
|
|
96
|
+
var element = ref.current;
|
|
97
|
+
if (!element) return 0;
|
|
98
|
+
return element.offsetWidth;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// 添加获取高度的函数
|
|
102
|
+
function getHeight(ref) {
|
|
103
|
+
var element = ref.current;
|
|
104
|
+
if (!element) return 0;
|
|
105
|
+
return element.offsetHeight;
|
|
106
|
+
}
|
|
107
|
+
function getLeftWidth() {
|
|
108
|
+
return getWidth(leftRef);
|
|
109
|
+
}
|
|
110
|
+
function getRightWidth() {
|
|
111
|
+
return getWidth(rightRef);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// 添加获取根容器高度的函数
|
|
115
|
+
function getRootHeight() {
|
|
116
|
+
return getHeight(rootRef);
|
|
117
|
+
}
|
|
118
|
+
var _useSpring = useSpring(function () {
|
|
119
|
+
return {
|
|
120
|
+
x: 0,
|
|
121
|
+
config: {
|
|
122
|
+
tension: 200,
|
|
123
|
+
friction: 30
|
|
124
|
+
}
|
|
125
|
+
};
|
|
126
|
+
}, []),
|
|
127
|
+
_useSpring2 = _slicedToArray(_useSpring, 2),
|
|
128
|
+
x = _useSpring2[0].x,
|
|
129
|
+
api = _useSpring2[1];
|
|
130
|
+
var draggingRef = useRef(false);
|
|
131
|
+
var dragCancelRef = useRef(null);
|
|
132
|
+
function forceCancelDrag() {
|
|
133
|
+
var _dragCancelRef$curren;
|
|
134
|
+
(_dragCancelRef$curren = dragCancelRef.current) === null || _dragCancelRef$curren === void 0 || _dragCancelRef$curren.call(dragCancelRef);
|
|
135
|
+
draggingRef.current = false;
|
|
136
|
+
}
|
|
137
|
+
var bind = useDrag(function (state) {
|
|
138
|
+
dragCancelRef.current = state.cancel;
|
|
139
|
+
if (!state.intentional) return;
|
|
140
|
+
if (state.down) {
|
|
141
|
+
draggingRef.current = true;
|
|
142
|
+
}
|
|
143
|
+
if (!draggingRef.current) return;
|
|
144
|
+
var _state$offset = _slicedToArray(state.offset, 1),
|
|
145
|
+
offsetX = _state$offset[0];
|
|
146
|
+
if (state.last) {
|
|
147
|
+
var leftWidth = getLeftWidth();
|
|
148
|
+
var rightWidth = getRightWidth();
|
|
149
|
+
var position = offsetX + state.velocity[0] * state.direction[0] * 50;
|
|
150
|
+
if (offsetX > 0) {
|
|
151
|
+
position = Math.max(0, position);
|
|
152
|
+
} else if (offsetX < 0) {
|
|
153
|
+
position = Math.min(0, position);
|
|
154
|
+
} else {
|
|
155
|
+
position = 0;
|
|
156
|
+
}
|
|
157
|
+
var targetX = nearest([-rightWidth, 0, leftWidth], position);
|
|
158
|
+
api.start({
|
|
159
|
+
x: targetX
|
|
160
|
+
});
|
|
161
|
+
if (targetX !== 0) {
|
|
162
|
+
var _p$onActionsReveal;
|
|
163
|
+
(_p$onActionsReveal = p.onActionsReveal) === null || _p$onActionsReveal === void 0 || _p$onActionsReveal.call(p, targetX > 0 ? 'left' : 'right');
|
|
164
|
+
}
|
|
165
|
+
window.setTimeout(function () {
|
|
166
|
+
draggingRef.current = false;
|
|
167
|
+
});
|
|
168
|
+
} else {
|
|
169
|
+
api.start({
|
|
170
|
+
x: offsetX,
|
|
171
|
+
immediate: true
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
}, {
|
|
175
|
+
from: function from() {
|
|
176
|
+
return [x.get(), 0];
|
|
177
|
+
},
|
|
178
|
+
bounds: function bounds() {
|
|
179
|
+
var leftWidth = getLeftWidth();
|
|
180
|
+
var rightWidth = getRightWidth();
|
|
181
|
+
return {
|
|
182
|
+
left: -rightWidth,
|
|
183
|
+
right: leftWidth
|
|
184
|
+
};
|
|
185
|
+
},
|
|
186
|
+
axis: 'x',
|
|
187
|
+
preventScroll: true,
|
|
188
|
+
pointer: {
|
|
189
|
+
touch: true
|
|
190
|
+
},
|
|
191
|
+
triggerAllEvents: true
|
|
192
|
+
});
|
|
193
|
+
var close = function close() {
|
|
194
|
+
var _props$onClose;
|
|
195
|
+
api.start({
|
|
196
|
+
x: 0
|
|
197
|
+
});
|
|
198
|
+
forceCancelDrag();
|
|
199
|
+
(_props$onClose = props.onClose) === null || _props$onClose === void 0 || _props$onClose.call(props);
|
|
200
|
+
};
|
|
201
|
+
useImperativeHandle(ref, function () {
|
|
202
|
+
return {
|
|
203
|
+
show: function show() {
|
|
204
|
+
var _p$onActionsReveal2;
|
|
205
|
+
var side = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'right';
|
|
206
|
+
if (side === 'right') {
|
|
207
|
+
api.start({
|
|
208
|
+
x: -getRightWidth()
|
|
209
|
+
});
|
|
210
|
+
} else if (side === 'left') {
|
|
211
|
+
api.start({
|
|
212
|
+
x: getLeftWidth()
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
(_p$onActionsReveal2 = p.onActionsReveal) === null || _p$onActionsReveal2 === void 0 || _p$onActionsReveal2.call(p, side);
|
|
216
|
+
},
|
|
217
|
+
close: close
|
|
218
|
+
};
|
|
219
|
+
});
|
|
220
|
+
|
|
221
|
+
// 添加高度检测的 useEffect
|
|
222
|
+
useEffect(function () {
|
|
223
|
+
var updateHeight = function updateHeight() {
|
|
224
|
+
var height = getRootHeight();
|
|
225
|
+
setContainerHeight(height);
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
// 组件挂载后检测高度
|
|
229
|
+
updateHeight();
|
|
230
|
+
|
|
231
|
+
// 监听窗口大小变化
|
|
232
|
+
var resizeObserver = new ResizeObserver(updateHeight);
|
|
233
|
+
if (rootRef.current) {
|
|
234
|
+
resizeObserver.observe(rootRef.current);
|
|
235
|
+
}
|
|
236
|
+
return function () {
|
|
237
|
+
resizeObserver.disconnect();
|
|
238
|
+
};
|
|
239
|
+
}, []);
|
|
240
|
+
useEffect(function () {
|
|
241
|
+
if (!props.closeOnTouchOutside) return;
|
|
242
|
+
function handle(e) {
|
|
243
|
+
// 检查点击的元素或其祖先元素是否有特定 class
|
|
244
|
+
if (e.target && props.escapeDom) {
|
|
245
|
+
var container = document.querySelector(props.escapeDom);
|
|
246
|
+
if (container !== null && container !== void 0 && container.contains(e.target)) return;
|
|
247
|
+
}
|
|
248
|
+
if (x.get() === 0) {
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
var root = rootRef.current;
|
|
252
|
+
if (root && !root.contains(e.target)) {
|
|
253
|
+
close();
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
if ('ontouchstart' in window) {
|
|
257
|
+
document.addEventListener('touchstart', handle);
|
|
258
|
+
} else {
|
|
259
|
+
document.addEventListener('mousedown', handle);
|
|
260
|
+
}
|
|
261
|
+
return function () {
|
|
262
|
+
document.removeEventListener('touchstart', handle);
|
|
263
|
+
document.removeEventListener('mousedown', handle);
|
|
264
|
+
};
|
|
265
|
+
}, [props.closeOnTouchOutside, props.escapeDom]);
|
|
266
|
+
|
|
267
|
+
// 根据容器高度获取右侧容器的 class 名称
|
|
268
|
+
var getRightContainerClass = function getRightContainerClass() {
|
|
269
|
+
var baseClass = "".concat(classPrefix, "-actions ").concat(classPrefix, "-actions-right");
|
|
270
|
+
if (containerHeight > 180) {
|
|
271
|
+
return "".concat(baseClass, " ").concat(classPrefix, "-height-large");
|
|
272
|
+
} else if (containerHeight > 120) {
|
|
273
|
+
return "".concat(baseClass, " ").concat(classPrefix, "-height-medium");
|
|
274
|
+
}
|
|
275
|
+
return "".concat(baseClass, " ").concat(classPrefix, "-height-small");
|
|
276
|
+
};
|
|
277
|
+
|
|
278
|
+
// 根据容器高度获取右侧按钮的 class 名称
|
|
279
|
+
var getRightActionButtonClass = function getRightActionButtonClass() {
|
|
280
|
+
if (containerHeight > 180) {
|
|
281
|
+
return "".concat(classPrefix, "-action-height-large");
|
|
282
|
+
} else if (containerHeight > 120) {
|
|
283
|
+
return "".concat(classPrefix, "-action-height-medium");
|
|
284
|
+
}
|
|
285
|
+
return "".concat(classPrefix, "-action-height-small");
|
|
286
|
+
};
|
|
287
|
+
function renderAction(action) {
|
|
288
|
+
var _action$color, _colorRecord$color;
|
|
289
|
+
var isRightAction = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
290
|
+
var color = (_action$color = action.color) !== null && _action$color !== void 0 ? _action$color : 'light';
|
|
291
|
+
var _style = action.style || {};
|
|
292
|
+
|
|
293
|
+
// 为右侧按钮添加基于高度的 class
|
|
294
|
+
var buttonClass = isRightAction ? "".concat(classPrefix, "-action-button ").concat(getRightActionButtonClass()) : "".concat(classPrefix, "-action-button");
|
|
295
|
+
return /*#__PURE__*/React.createElement(Button, {
|
|
296
|
+
key: action.key,
|
|
297
|
+
className: buttonClass,
|
|
298
|
+
style: _objectSpread({
|
|
299
|
+
'--background-color': (_colorRecord$color = colorRecord[color]) !== null && _colorRecord$color !== void 0 ? _colorRecord$color : color
|
|
300
|
+
}, _style),
|
|
301
|
+
onClick: function onClick(e) {
|
|
302
|
+
var _action$onClick, _props$onAction;
|
|
303
|
+
if (props.closeOnAction) {
|
|
304
|
+
close();
|
|
305
|
+
}
|
|
306
|
+
(_action$onClick = action.onClick) === null || _action$onClick === void 0 || _action$onClick.call(action, e);
|
|
307
|
+
(_props$onAction = props.onAction) === null || _props$onAction === void 0 || _props$onAction.call(props, action, e);
|
|
308
|
+
}
|
|
309
|
+
}, action.text);
|
|
310
|
+
}
|
|
311
|
+
return withNativeProps(props, /*#__PURE__*/React.createElement("div", _extends({
|
|
312
|
+
className: classPrefix
|
|
313
|
+
}, bind(), {
|
|
314
|
+
ref: rootRef,
|
|
315
|
+
onClickCapture: function onClickCapture(e) {
|
|
316
|
+
if (draggingRef.current) {
|
|
317
|
+
e.stopPropagation();
|
|
318
|
+
e.preventDefault();
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
}), /*#__PURE__*/React.createElement(animated.div, {
|
|
322
|
+
className: "".concat(classPrefix, "-track"),
|
|
323
|
+
style: {
|
|
324
|
+
x: x
|
|
325
|
+
}
|
|
326
|
+
}, withStopPropagation(props.stopPropagation, /*#__PURE__*/React.createElement("div", {
|
|
327
|
+
className: "".concat(classPrefix, "-actions ").concat(classPrefix, "-actions-left"),
|
|
328
|
+
ref: leftRef
|
|
329
|
+
}, props.leftActions.map(function (action) {
|
|
330
|
+
return renderAction(action, false);
|
|
331
|
+
}))), /*#__PURE__*/React.createElement("div", {
|
|
332
|
+
className: "".concat(classPrefix, "-content"),
|
|
333
|
+
onClickCapture: function onClickCapture(e) {
|
|
334
|
+
if (x.goal !== 0) {
|
|
335
|
+
e.preventDefault();
|
|
336
|
+
e.stopPropagation();
|
|
337
|
+
close();
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
}, /*#__PURE__*/React.createElement(animated.div, {
|
|
341
|
+
style: {
|
|
342
|
+
pointerEvents: x.to(function (v) {
|
|
343
|
+
return v !== 0 && x.goal !== 0 ? 'none' : 'auto';
|
|
344
|
+
})
|
|
345
|
+
}
|
|
346
|
+
}, props.children)), withStopPropagation(props.stopPropagation, /*#__PURE__*/React.createElement("div", {
|
|
347
|
+
className: getRightContainerClass(),
|
|
348
|
+
ref: rightRef
|
|
349
|
+
}, props.rightActions.map(function (action) {
|
|
350
|
+
return renderAction(action, true);
|
|
351
|
+
}))))));
|
|
352
|
+
});
|
|
353
|
+
var colorRecord = {
|
|
354
|
+
light: '#ccc',
|
|
355
|
+
weak: '#999',
|
|
356
|
+
primary: '#1677ff',
|
|
357
|
+
success: '#00b578',
|
|
358
|
+
warning: '#ff8f1f',
|
|
359
|
+
danger: '#ff3141'
|
|
360
|
+
};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
.pisell-custom-swipe-action {
|
|
2
|
+
cursor: grab;
|
|
3
|
+
overflow: hidden;
|
|
4
|
+
touch-action: pan-y;
|
|
5
|
+
&-track {
|
|
6
|
+
position: relative;
|
|
7
|
+
overflow: visible;
|
|
8
|
+
}
|
|
9
|
+
&-content {
|
|
10
|
+
}
|
|
11
|
+
&-actions {
|
|
12
|
+
position: absolute;
|
|
13
|
+
display: flex;
|
|
14
|
+
justify-content: center;
|
|
15
|
+
align-items: stretch;
|
|
16
|
+
width: auto;
|
|
17
|
+
white-space: nowrap;
|
|
18
|
+
&-right {
|
|
19
|
+
left: 100%;
|
|
20
|
+
top: 0;
|
|
21
|
+
height: 100%;
|
|
22
|
+
}
|
|
23
|
+
&-left {
|
|
24
|
+
right: 100%;
|
|
25
|
+
top: 0;
|
|
26
|
+
height: 100%;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
&-action-button {
|
|
30
|
+
--border-radius: 0;
|
|
31
|
+
--border-width: 0;
|
|
32
|
+
padding-left: 4px;
|
|
33
|
+
padding-right: 4px;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.pisell-custom-swipe-action-action-button {
|
|
38
|
+
min-width: 80px;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/* 容器样式 */
|
|
42
|
+
.pisell-custom-swipe-action-height-large {
|
|
43
|
+
display: flex;
|
|
44
|
+
flex-direction: column;
|
|
45
|
+
background-color: rgba(67, 93, 147, 0.3);
|
|
46
|
+
justify-content: flex-start;
|
|
47
|
+
|
|
48
|
+
.pisell-number-selector-btn {
|
|
49
|
+
width: 40px !important;
|
|
50
|
+
height: 40px !important;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.pisell-custom-swipe-action-height-medium {
|
|
55
|
+
display: flex;
|
|
56
|
+
flex-direction: column;
|
|
57
|
+
background-color: rgba(67, 93, 147, 0.3);
|
|
58
|
+
|
|
59
|
+
.pisell-number-selector-btn {
|
|
60
|
+
width: 40px !important;
|
|
61
|
+
height: 40px !important;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/* 按钮样式 */
|
|
66
|
+
.pisell-custom-swipe-action-action-height-large {
|
|
67
|
+
height: 60px;
|
|
68
|
+
width: 200px;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.pisell-custom-swipe-action-action-height-medium {
|
|
72
|
+
flex: 1;
|
|
73
|
+
width: 200px;
|
|
74
|
+
}
|
|
@@ -0,0 +1,198 @@
|
|
|
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 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; }
|
|
3
|
+
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; }
|
|
4
|
+
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; }
|
|
5
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
6
|
+
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); }
|
|
7
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
8
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
11
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
12
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
|
+
import React, { useMemo, useState } from 'react';
|
|
14
|
+
import { Iconfont } from '@pisell/materials';
|
|
15
|
+
import { locales } from '@pisell/utils';
|
|
16
|
+
import useEngineContext from "../../hooks/useEngineContext";
|
|
17
|
+
import Avatar from "./components/Avatar";
|
|
18
|
+
import { SwipeAction } from "./components/SwipeAction";
|
|
19
|
+
import ContactInfoModal from "../contactInfoModal";
|
|
20
|
+
import localeTexts from "./locales";
|
|
21
|
+
import "./index.less";
|
|
22
|
+
export var PREFIX = 'pisell-plus-contact-info';
|
|
23
|
+
var ContactInfo = function ContactInfo(props) {
|
|
24
|
+
var _context$appHelper$ut, _props$style2;
|
|
25
|
+
console.log('props>>>>>>>>>', props);
|
|
26
|
+
var dataSource = props.dataSource,
|
|
27
|
+
defaultName = props.defaultName,
|
|
28
|
+
placeholder = props.placeholder,
|
|
29
|
+
_props$direction = props.direction,
|
|
30
|
+
direction = _props$direction === void 0 ? 'horizontal' : _props$direction,
|
|
31
|
+
isShowDelete = props.isShowDelete,
|
|
32
|
+
isShowAvatar = props.isShowAvatar,
|
|
33
|
+
isShowPhone = props.isShowPhone,
|
|
34
|
+
isShowEmail = props.isShowEmail,
|
|
35
|
+
horizontalGap = props.horizontalGap,
|
|
36
|
+
verticalGap = props.verticalGap,
|
|
37
|
+
_onSave = props.onSave,
|
|
38
|
+
_onDelete = props.onDelete,
|
|
39
|
+
_onCancel = props.onCancel;
|
|
40
|
+
var context = useEngineContext();
|
|
41
|
+
locales.init(localeTexts, ((_context$appHelper$ut = context.appHelper.utils) === null || _context$appHelper$ut === void 0 || (_context$appHelper$ut = _context$appHelper$ut.storage) === null || _context$appHelper$ut === void 0 ? void 0 : _context$appHelper$ut.get('umi_locale')) || 'en');
|
|
42
|
+
var _useState = useState(false),
|
|
43
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
44
|
+
modalVisible = _useState2[0],
|
|
45
|
+
setModalVisible = _useState2[1];
|
|
46
|
+
var isHorizontal = useMemo(function () {
|
|
47
|
+
return direction === 'horizontal';
|
|
48
|
+
}, [direction]);
|
|
49
|
+
var displayName = useMemo(function () {
|
|
50
|
+
var _ref = dataSource || {},
|
|
51
|
+
first_name = _ref.first_name,
|
|
52
|
+
last_name = _ref.last_name;
|
|
53
|
+
if (!first_name && !last_name) {
|
|
54
|
+
return defaultName || '';
|
|
55
|
+
}
|
|
56
|
+
return "".concat(first_name || '', " ").concat(last_name || '');
|
|
57
|
+
}, [dataSource, defaultName]);
|
|
58
|
+
var displayPhone = useMemo(function () {
|
|
59
|
+
var _ref2 = (dataSource === null || dataSource === void 0 ? void 0 : dataSource.phone) || {},
|
|
60
|
+
country_calling_code = _ref2.country_calling_code,
|
|
61
|
+
phone = _ref2.phone;
|
|
62
|
+
if (!country_calling_code || !phone) {
|
|
63
|
+
return '';
|
|
64
|
+
}
|
|
65
|
+
// 需要对country_calling_code做兼容处理,部分数据可能没有+号前缀
|
|
66
|
+
var countryCallingCode = country_calling_code !== null && country_calling_code !== void 0 && country_calling_code.startsWith('+') ? country_calling_code : "+".concat(country_calling_code);
|
|
67
|
+
return "".concat(countryCallingCode || '', " ").concat(phone || '');
|
|
68
|
+
}, [dataSource === null || dataSource === void 0 ? void 0 : dataSource.phone]);
|
|
69
|
+
var isEmpty = useMemo(function () {
|
|
70
|
+
var _dataSource$phone;
|
|
71
|
+
return !(dataSource !== null && dataSource !== void 0 && dataSource.first_name) && !(dataSource !== null && dataSource !== void 0 && dataSource.last_name) && !(dataSource !== null && dataSource !== void 0 && (_dataSource$phone = dataSource.phone) !== null && _dataSource$phone !== void 0 && _dataSource$phone.phone) && !(dataSource !== null && dataSource !== void 0 && dataSource.email);
|
|
72
|
+
}, [dataSource]);
|
|
73
|
+
var handleClick = function handleClick() {
|
|
74
|
+
console.log('handleClick');
|
|
75
|
+
setModalVisible(true);
|
|
76
|
+
};
|
|
77
|
+
var _rightActions = useMemo(function () {
|
|
78
|
+
var deleteAction = {
|
|
79
|
+
key: 'delete',
|
|
80
|
+
text: /*#__PURE__*/React.createElement("div", {
|
|
81
|
+
style: {
|
|
82
|
+
display: 'flex',
|
|
83
|
+
justifyContent: 'center',
|
|
84
|
+
alignItems: 'center',
|
|
85
|
+
color: 'white',
|
|
86
|
+
cursor: 'pointer',
|
|
87
|
+
padding: '10px 0px',
|
|
88
|
+
borderRadius: '8px'
|
|
89
|
+
}
|
|
90
|
+
}, /*#__PURE__*/React.createElement(Iconfont, {
|
|
91
|
+
type: "pisell2-trash-01",
|
|
92
|
+
style: {
|
|
93
|
+
fontSize: 20,
|
|
94
|
+
marginRight: 4
|
|
95
|
+
}
|
|
96
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
97
|
+
style: {
|
|
98
|
+
fontSize: 12,
|
|
99
|
+
fontWeight: 500
|
|
100
|
+
}
|
|
101
|
+
}, locales.getText('pisell2.text.contact-info.actions.delete'))),
|
|
102
|
+
color: 'danger',
|
|
103
|
+
onClick: function onClick(e) {
|
|
104
|
+
e.preventDefault();
|
|
105
|
+
e.stopPropagation();
|
|
106
|
+
_onDelete === null || _onDelete === void 0 || _onDelete();
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
return [deleteAction];
|
|
110
|
+
}, [dataSource, _onDelete]);
|
|
111
|
+
var renderContent = function renderContent() {
|
|
112
|
+
var _props$style;
|
|
113
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
114
|
+
className: "".concat(PREFIX, "__").concat(direction),
|
|
115
|
+
style: {
|
|
116
|
+
gap: verticalGap,
|
|
117
|
+
padding: (props === null || props === void 0 || (_props$style = props.style) === null || _props$style === void 0 ? void 0 : _props$style.padding) || '8px'
|
|
118
|
+
}
|
|
119
|
+
}, isHorizontal ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
120
|
+
className: "".concat(PREFIX, "__horizontal-left"),
|
|
121
|
+
style: {
|
|
122
|
+
gap: horizontalGap
|
|
123
|
+
}
|
|
124
|
+
}, isShowAvatar && /*#__PURE__*/React.createElement(Avatar, {
|
|
125
|
+
config: props.avatar,
|
|
126
|
+
name: displayName,
|
|
127
|
+
cover: ''
|
|
128
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
129
|
+
className: "".concat(PREFIX, "__horizontal-left-content"),
|
|
130
|
+
style: {
|
|
131
|
+
gap: verticalGap
|
|
132
|
+
}
|
|
133
|
+
}, isEmpty ? /*#__PURE__*/React.createElement("div", {
|
|
134
|
+
className: "".concat(PREFIX, "__empty-description")
|
|
135
|
+
}, placeholder || locales.getText('pisell2.text.contact-info.placeholder')) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
136
|
+
className: "".concat(PREFIX, "__name-horizontal-container")
|
|
137
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
138
|
+
className: "".concat(PREFIX, "__name-horizontal"),
|
|
139
|
+
style: props.nameStyle
|
|
140
|
+
}, displayName), isShowPhone && displayPhone && /*#__PURE__*/React.createElement("span", {
|
|
141
|
+
className: "".concat(PREFIX, "__phone-horizontal"),
|
|
142
|
+
style: props.textStyle
|
|
143
|
+
}, "(", displayPhone, ")")), isShowEmail && (dataSource === null || dataSource === void 0 ? void 0 : dataSource.email) && /*#__PURE__*/React.createElement("div", {
|
|
144
|
+
className: "".concat(PREFIX, "__text"),
|
|
145
|
+
style: props.textStyle
|
|
146
|
+
}, dataSource === null || dataSource === void 0 ? void 0 : dataSource.email)))), /*#__PURE__*/React.createElement("div", {
|
|
147
|
+
className: "".concat(PREFIX, "__horizontal-right")
|
|
148
|
+
}, /*#__PURE__*/React.createElement(Iconfont, {
|
|
149
|
+
type: isEmpty ? 'pisell2-plus-circle' : 'pisell2-edit-05',
|
|
150
|
+
className: "".concat(PREFIX, "__horizontal-right-icon")
|
|
151
|
+
}))) : /*#__PURE__*/React.createElement(React.Fragment, null, isShowAvatar && /*#__PURE__*/React.createElement(Avatar, {
|
|
152
|
+
config: props.avatar,
|
|
153
|
+
name: 'hhhhh',
|
|
154
|
+
cover: ''
|
|
155
|
+
}), isEmpty ? /*#__PURE__*/React.createElement("div", {
|
|
156
|
+
className: "".concat(PREFIX, "__empty-description")
|
|
157
|
+
}, placeholder || locales.getText('pisell2.text.contact-info.placeholder')) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
158
|
+
className: "".concat(PREFIX, "__name"),
|
|
159
|
+
style: props.nameStyle
|
|
160
|
+
}, displayName), isShowPhone && displayPhone && /*#__PURE__*/React.createElement("div", {
|
|
161
|
+
className: "".concat(PREFIX, "__text"),
|
|
162
|
+
style: props.textStyle
|
|
163
|
+
}, displayPhone), isShowEmail && (dataSource === null || dataSource === void 0 ? void 0 : dataSource.email) && /*#__PURE__*/React.createElement("div", {
|
|
164
|
+
className: "".concat(PREFIX, "__text"),
|
|
165
|
+
style: props.textStyle
|
|
166
|
+
}, dataSource === null || dataSource === void 0 ? void 0 : dataSource.email))));
|
|
167
|
+
};
|
|
168
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
169
|
+
className: "".concat(PREFIX),
|
|
170
|
+
style: _objectSpread(_objectSpread({}, props.style || {}), {}, {
|
|
171
|
+
padding: 0
|
|
172
|
+
}),
|
|
173
|
+
onClick: handleClick
|
|
174
|
+
}, isShowDelete && !isEmpty ? /*#__PURE__*/React.createElement(SwipeAction, {
|
|
175
|
+
closeOnAction: false,
|
|
176
|
+
rightActions: _rightActions,
|
|
177
|
+
style: {
|
|
178
|
+
borderRadius: (props === null || props === void 0 || (_props$style2 = props.style) === null || _props$style2 === void 0 ? void 0 : _props$style2.borderRadius) || 0
|
|
179
|
+
}
|
|
180
|
+
}, renderContent()) : renderContent()), /*#__PURE__*/React.createElement(ContactInfoModal, {
|
|
181
|
+
open: modalVisible,
|
|
182
|
+
dataSource: dataSource,
|
|
183
|
+
isShowDelete: isShowDelete,
|
|
184
|
+
onCancel: function onCancel() {
|
|
185
|
+
setModalVisible(false);
|
|
186
|
+
_onCancel === null || _onCancel === void 0 || _onCancel();
|
|
187
|
+
},
|
|
188
|
+
onSave: function onSave(value) {
|
|
189
|
+
setModalVisible(false);
|
|
190
|
+
_onSave === null || _onSave === void 0 || _onSave(value);
|
|
191
|
+
},
|
|
192
|
+
onDelete: function onDelete() {
|
|
193
|
+
setModalVisible(false);
|
|
194
|
+
_onDelete === null || _onDelete === void 0 || _onDelete();
|
|
195
|
+
}
|
|
196
|
+
}));
|
|
197
|
+
};
|
|
198
|
+
export default ContactInfo;
|