@pisell/private-materials 6.5.13 → 6.5.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (716) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +2 -2
  6. package/build/lowcode/preview.js +7 -7
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +7 -7
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +7 -7
  11. package/es/components/appointmentBooking/components/Header/index.d.ts +1 -0
  12. package/es/components/appointmentBooking/index.d.ts +1 -0
  13. package/es/components/booking/components/TabProduct/index.d.ts +1 -0
  14. package/es/components/booking/components/TabProduct/productItem/index.d.ts +1 -0
  15. package/es/components/booking/components/TabProduct/selectProductItem/index.d.ts +1 -0
  16. package/es/components/booking/components/actionButtons/index.js +15 -9
  17. package/es/components/booking/components/collapsibleList/utils.d.ts +1 -0
  18. package/es/components/booking/components/emptyBooking/index.d.ts +1 -0
  19. package/es/components/booking/components/footer/FooterMenus/index.d.ts +1 -0
  20. package/es/components/booking/components/footer/amount.js +7 -2
  21. package/es/components/booking/components/footer/index.js +2 -2
  22. package/es/components/booking/components/footer/utils.js +8 -1
  23. package/es/components/booking/components/formItemChildrenWrap/index.d.ts +1 -0
  24. package/es/components/booking/components/reloadResourceModal/index.d.ts +1 -0
  25. package/es/components/booking/components/voucher/index.js +23 -19
  26. package/es/components/booking/deposit/index.d.ts +1 -0
  27. package/es/components/booking/forms/footer.js +4 -13
  28. package/es/components/booking/forms/single/index.d.ts +1 -0
  29. package/es/components/booking/forms/table/index.d.ts +1 -0
  30. package/es/components/booking/info/addServiceVariant/index.d.ts +1 -0
  31. package/es/components/booking/info/clientVariant/hooks/useClientFn.d.ts +1 -0
  32. package/es/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +1 -0
  33. package/es/components/booking/info/date/index.d.ts +1 -0
  34. package/es/components/booking/info/header/index.d.ts +1 -0
  35. package/es/components/booking/info/hooks/useInfoHolder.d.ts +1 -0
  36. package/es/components/booking/info/index.d.ts +1 -0
  37. package/es/components/booking/info/notes/index.d.ts +1 -0
  38. package/es/components/booking/info/service/actions/index.d.ts +1 -0
  39. package/es/components/booking/info/service/like/index.d.ts +1 -0
  40. package/es/components/booking/info/service/serviceList/index.d.ts +1 -0
  41. package/es/components/booking/info/service2/utils.d.ts +1 -1
  42. package/es/components/booking/info2/cartClientCard/index.js +7 -3
  43. package/es/components/booking/info2/service/actions/index.d.ts +1 -0
  44. package/es/components/booking/info2/service/addService/index.d.ts +1 -0
  45. package/es/components/booking/info2/service/serviceList/index.d.ts +1 -0
  46. package/es/components/booking/materiels/contacts/index.d.ts +1 -0
  47. package/es/components/booking/materiels/duration/index.d.ts +1 -0
  48. package/es/components/booking/materiels/holder/index.d.ts +1 -0
  49. package/es/components/booking/materiels/startTime/index.d.ts +1 -0
  50. package/es/components/booking/notes/NoteBlock/NoteItem/index.d.ts +1 -0
  51. package/es/components/booking/notes/NoteBlock/index.d.ts +1 -0
  52. package/es/components/booking/notes/addNote/index.d.ts +1 -0
  53. package/es/components/booking/utils.js +1 -1
  54. package/es/components/checkout/PaymentModal.js +42 -30
  55. package/es/components/checkout/PaymentPlugin.d.ts +1 -0
  56. package/es/components/checkout/components/CashPaymentModule/index.js +9 -9
  57. package/es/components/checkout/hooks/useWalletPass.d.ts +1 -1
  58. package/es/components/checkout/hooks/useWalletPass.js +40 -22
  59. package/es/components/eftpos/deviceList/index.d.ts +1 -0
  60. package/es/components/eftpos/form/index.d.ts +1 -0
  61. package/es/components/eftpos/group/index.d.ts +1 -0
  62. package/es/components/eftpos/hooks.d.ts +1 -0
  63. package/es/components/eftpos/icon/apiKey.d.ts +1 -0
  64. package/es/components/eftpos/icon/device.d.ts +1 -0
  65. package/es/components/eftpos/index.d.ts +1 -0
  66. package/es/components/eftpos/pos.d.ts +1 -0
  67. package/es/components/eftpos/receipt/index.d.ts +1 -0
  68. package/es/components/eftpos/surcharge/index.d.ts +1 -0
  69. package/es/components/eftposPay/amount.d.ts +2 -1
  70. package/es/components/eftposPay/app.d.ts +1 -0
  71. package/es/components/eftposPay/component/alert/warn.d.ts +1 -0
  72. package/es/components/eftposPay/component/fail/failCustom.d.ts +1 -0
  73. package/es/components/eftposPay/component/fail/index.d.ts +1 -0
  74. package/es/components/eftposPay/component/fail/network.d.ts +1 -0
  75. package/es/components/eftposPay/component/fail/unknow.d.ts +1 -0
  76. package/es/components/eftposPay/component/header/titlebar.d.ts +1 -0
  77. package/es/components/eftposPay/component/manual/index.d.ts +1 -0
  78. package/es/components/eftposPay/component/signature/index.d.ts +1 -0
  79. package/es/components/eftposPay/component/step/index.d.ts +1 -0
  80. package/es/components/eftposPay/component/step/step.d.ts +1 -0
  81. package/es/components/eftposPay/device.d.ts +1 -1
  82. package/es/components/eftposPay/hooks.d.ts +2 -2
  83. package/es/components/eftposPay/index.d.ts +1 -0
  84. package/es/components/eftposPay/pay.d.ts +1 -0
  85. package/es/components/eftposPay/payo/config.d.ts +1 -0
  86. package/es/components/eftposPay/store/index.d.ts +5 -5
  87. package/es/components/eftposPay/tip.d.ts +1 -0
  88. package/es/components/eftposPay/tyro/hooks.d.ts +1 -0
  89. package/es/components/eftposPay/windcave/receiptAction.d.ts +1 -0
  90. package/es/components/eftposPay/windcave/windcave.d.ts +1 -0
  91. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +1 -0
  92. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +1 -0
  93. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +1 -0
  94. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Status/index.d.ts +1 -0
  95. package/es/components/eventBooking/components/scheduleCalendar/ProductItem/index.d.ts +1 -0
  96. package/es/components/list/List.d.ts +5 -0
  97. package/es/components/list/List.js +957 -0
  98. package/es/components/list/List.less +2 -0
  99. package/es/components/list/ResponsiveWrapper.d.ts +16 -0
  100. package/es/components/list/ResponsiveWrapper.js +130 -0
  101. package/es/components/list/TestResponsiveWrapper.d.ts +8 -0
  102. package/es/components/list/TestResponsiveWrapper.js +816 -0
  103. package/es/components/list/TestResponsiveWrapper.less +968 -0
  104. package/es/components/list/components/EmptyState/EmptyState.d.ts +20 -0
  105. package/es/components/list/components/EmptyState/EmptyState.js +75 -0
  106. package/es/components/list/components/EmptyState/EmptyState.less +121 -0
  107. package/es/components/list/components/EmptyState/index.d.ts +2 -0
  108. package/es/components/list/components/EmptyState/index.js +1 -0
  109. package/es/components/list/components/ListItemSkeleton/ListItemSkeleton.d.ts +13 -0
  110. package/es/components/list/components/ListItemSkeleton/ListItemSkeleton.js +39 -0
  111. package/es/components/list/components/ListItemSkeleton/ListItemSkeleton.less +29 -0
  112. package/es/components/list/components/ListItemSkeleton/index.d.ts +2 -0
  113. package/es/components/list/components/ListItemSkeleton/index.js +2 -0
  114. package/es/components/list/components/Pagination/Pagination.d.ts +30 -0
  115. package/es/components/list/components/Pagination/Pagination.js +240 -0
  116. package/es/components/list/components/Pagination/Pagination.less +439 -0
  117. package/es/components/list/components/Pagination/index.d.ts +1 -0
  118. package/es/components/list/components/Pagination/index.js +1 -0
  119. package/es/components/list/components/ScrollLoader/ScrollLoader.d.ts +18 -0
  120. package/es/components/list/components/ScrollLoader/ScrollLoader.js +18 -0
  121. package/es/components/list/components/ScrollLoader/ScrollLoader.less +3 -0
  122. package/es/components/list/components/ScrollLoader/index.d.ts +2 -0
  123. package/es/components/list/components/ScrollLoader/index.js +1 -0
  124. package/es/components/list/components/Tab/Tab.d.ts +5 -0
  125. package/es/components/list/components/Tab/Tab.js +43 -0
  126. package/es/components/list/components/Tab/Tab.less +139 -0
  127. package/es/components/list/components/Tab/index.d.ts +2 -0
  128. package/es/components/list/components/Tab/index.js +1 -0
  129. package/es/components/list/components/Tab/types.d.ts +14 -0
  130. package/es/components/list/components/Tab/types.js +1 -0
  131. package/es/components/list/components/TabSkeleton/TabSkeleton.d.ts +11 -0
  132. package/es/components/list/components/TabSkeleton/TabSkeleton.js +28 -0
  133. package/es/components/list/components/TabSkeleton/TabSkeleton.less +38 -0
  134. package/es/components/list/components/TabSkeleton/index.d.ts +2 -0
  135. package/es/components/list/components/TabSkeleton/index.js +2 -0
  136. package/es/components/list/components/WaterfallList/WaterfallList.d.ts +33 -0
  137. package/es/components/list/components/WaterfallList/WaterfallList.js +191 -0
  138. package/es/components/list/components/WaterfallList/WaterfallList.less +201 -0
  139. package/es/components/list/components/WaterfallList/index.d.ts +2 -0
  140. package/es/components/list/components/WaterfallList/index.js +1 -0
  141. package/es/components/list/examples/GroupedListExample.d.ts +3 -0
  142. package/es/components/list/examples/GroupedListExample.js +207 -0
  143. package/es/components/list/hooks/index.d.ts +5 -0
  144. package/es/components/list/hooks/index.js +3 -0
  145. package/es/components/list/hooks/useDevice.d.ts +24 -0
  146. package/es/components/list/hooks/useDevice.js +102 -0
  147. package/es/components/list/hooks/useListState.d.ts +43 -0
  148. package/es/components/list/hooks/useListState.js +176 -0
  149. package/es/components/list/hooks/useWaterfall.d.ts +34 -0
  150. package/es/components/list/hooks/useWaterfall.js +161 -0
  151. package/es/components/list/index.d.ts +10 -0
  152. package/es/components/list/index.js +7 -0
  153. package/es/components/list/locales.d.ts +66 -0
  154. package/es/components/list/locales.js +107 -0
  155. package/es/components/list/styles/base.less +39 -0
  156. package/es/components/list/styles/content.less +416 -0
  157. package/es/components/list/styles/floatButton.less +107 -0
  158. package/es/components/list/styles/footer.less +49 -0
  159. package/es/components/list/styles/header.less +69 -0
  160. package/es/components/list/styles/responsive.less +166 -0
  161. package/es/components/list/types.d.ts +177 -0
  162. package/es/components/list/types.js +1 -0
  163. package/es/components/list/utils/getText.d.ts +53 -0
  164. package/es/components/list/utils/getText.js +150 -0
  165. package/es/components/list/utils/index.d.ts +4 -0
  166. package/es/components/list/utils/index.js +5 -0
  167. package/es/components/login/index.d.ts +1 -0
  168. package/es/components/pay/toB/components/CardGroup/index.d.ts +1 -0
  169. package/es/components/pay/toB/components/Content/Header.d.ts +1 -0
  170. package/es/components/pay/toB/store/hooks.js +19 -5
  171. package/es/components/pay/toC/PaymentMethods/MWCreditCard/TDSPay/ThreedsLoading/index.d.ts +1 -0
  172. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/Finish/index.d.ts +1 -0
  173. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/SDK.d.ts +1 -0
  174. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +1 -0
  175. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/components/PageLoading/index.d.ts +1 -0
  176. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/PaymentRequestForm.d.ts +1 -0
  177. package/es/components/pisellSelectCustomerModal/RightPanel/Add/BirthdayField/index.d.ts +1 -0
  178. package/es/components/pisellSelectCustomerModal/RightPanel/Add/GenderField/index.d.ts +1 -0
  179. package/es/components/productExtension/fields/Forms/index.d.ts +1 -0
  180. package/es/components/productExtension/fields/SelectProducts/ProductItem/index.d.ts +1 -0
  181. package/es/components/productExtension/fields/SelectProducts/ProductItemPreview/index.d.ts +1 -0
  182. package/es/components/ruleSetting/ruleBorder/index.d.ts +1 -0
  183. package/es/components/schedules/calendar/calendarItem.d.ts +1 -0
  184. package/es/components/schedules/calendar/index.d.ts +1 -0
  185. package/es/components/schedules/components/CurrentDay/index.d.ts +1 -0
  186. package/es/components/schedules/components/ScheduleDetailList/index.d.ts +1 -0
  187. package/es/components/schedules/components/ScheduleList/RenderScheduleItem/index.d.ts +1 -0
  188. package/es/components/schedules/components/ScheduleList/index.d.ts +1 -0
  189. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/MaxParticipantsModule/index.d.ts +1 -0
  190. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/ResourcesModule/index.d.ts +1 -0
  191. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/AddSchedules/index.d.ts +1 -0
  192. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/index.d.ts +1 -0
  193. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/index.d.ts +1 -0
  194. package/es/components/schedules/products/ProductDetailDrawer/ProductDetailByDate/index.d.ts +1 -0
  195. package/es/components/schedules/products/ProductDetailDrawer/index.d.ts +1 -0
  196. package/es/components/schedules/products/index.d.ts +1 -0
  197. package/es/components/schedules/products/list/ProductItem/index.d.ts +1 -0
  198. package/es/components/schedules/products/list/index.d.ts +1 -0
  199. package/es/components/schedules/resources/index.d.ts +1 -0
  200. package/es/components/schedules/resources/list/index.d.ts +1 -0
  201. package/es/components/schedules/resources/relationProduct/index.d.ts +1 -0
  202. package/es/components/schedules/schedules/AllSchedules/index.d.ts +1 -0
  203. package/es/components/schedules/schedules/ScheduleDetailDrawer/index.d.ts +1 -0
  204. package/es/components/schedules/schedules/index.d.ts +1 -0
  205. package/es/components/taxSelect/index.d.ts +1 -0
  206. package/es/components/ticketBooking/components/ProductDisplayAdapter/ProductDisplayAdapter.d.ts +27 -0
  207. package/es/components/ticketBooking/components/ProductDisplayAdapter/ProductDisplayAdapter.js +143 -0
  208. package/es/components/ticketBooking/components/ProductDisplayAdapter/index.d.ts +7 -0
  209. package/es/components/ticketBooking/components/ProductDisplayAdapter/index.js +7 -0
  210. package/es/components/ticketBooking/components/ProductDisplayAdapter/index.less +41 -0
  211. package/es/components/ticketBooking/components/ProductDisplayAdapter/types.d.ts +115 -0
  212. package/es/components/ticketBooking/components/ProductDisplayAdapter/types.js +273 -0
  213. package/es/components/ticketBooking/components/ProductDisplayAdapter/utils.d.ts +50 -0
  214. package/es/components/ticketBooking/components/ProductDisplayAdapter/utils.js +130 -0
  215. package/es/components/ticketBooking/components/addServiceVariant/addService.d.ts +21 -0
  216. package/es/components/ticketBooking/components/addServiceVariant/addService.js +665 -217
  217. package/es/components/ticketBooking/components/addServiceVariant/index.d.ts +3 -0
  218. package/es/components/ticketBooking/components/addServiceVariant/index.js +6 -2
  219. package/es/components/ticketBooking/components/menuBar/index.d.ts +5 -1
  220. package/es/components/ticketBooking/components/menuBar/index.js +40 -17
  221. package/es/components/ticketBooking/components/menuBar/index.less +27 -1
  222. package/es/components/ticketBooking/components/ticketBooking/index.d.ts +4 -0
  223. package/es/components/ticketBooking/components/ticketBooking/index.js +105 -32
  224. package/es/components/ticketBooking/components/timeBar/index.d.ts +1 -0
  225. package/es/components/ticketBooking/components/timeBar/index.js +4 -1
  226. package/es/components/ticketBooking/components/timeBar/index.less +1 -0
  227. package/es/components/ticketBooking/context/IsActiveContext.d.ts +26 -0
  228. package/es/components/ticketBooking/context/IsActiveContext.js +37 -0
  229. package/es/components/ticketBooking/context/OsKeyContext.d.ts +26 -0
  230. package/es/components/ticketBooking/context/OsKeyContext.js +37 -0
  231. package/es/components/ticketBooking/context/index.d.ts +2 -0
  232. package/es/components/ticketBooking/context/index.js +2 -0
  233. package/es/components/ticketBooking/hooks/pisellos/bookingTicket.d.ts +5 -0
  234. package/es/components/ticketBooking/hooks/pisellos/bookingTicket.js +13 -1
  235. package/es/components/ticketBooking/hooks/pisellos/index.d.ts +1 -0
  236. package/es/components/ticketBooking/hooks/pisellos/index.js +2 -1
  237. package/es/components/ticketBooking/hooks/pisellos/useActiveExecute.d.ts +21 -0
  238. package/es/components/ticketBooking/hooks/pisellos/useActiveExecute.js +50 -0
  239. package/es/components/ticketBooking/hooks/pisellos/useCustomer.js +12 -4
  240. package/es/components/ticketBooking/hooks/pisellos/useProducts.d.ts +4 -0
  241. package/es/components/ticketBooking/hooks/pisellos/useProducts.js +141 -4
  242. package/es/components/ticketBooking/hooks/pisellos/useScanCustomer.js +5 -2
  243. package/es/components/ticketBooking/hooks/pisellos/useScanGlobal.js +7 -2
  244. package/es/components/ticketBooking/hooks/pisellos/useShopDiscountModule.d.ts +6 -0
  245. package/es/components/ticketBooking/hooks/pisellos/useShopDiscountModule.js +17 -0
  246. package/es/components/ticketBooking/index.d.ts +6 -0
  247. package/es/components/ticketBooking/index.js +86 -12
  248. package/es/components/ticketBooking/utils/index.d.ts +30 -2
  249. package/es/components/ticketBooking/utils/index.js +73 -8
  250. package/es/components/ticketBooking/utils/productCache.d.ts +75 -0
  251. package/es/components/ticketBooking/utils/productCache.js +184 -0
  252. package/es/hooks/usePaymentLogger.d.ts +1 -0
  253. package/es/index.d.ts +2 -0
  254. package/es/index.js +3 -1
  255. package/es/plus/clientName/index.d.ts +1 -0
  256. package/es/plus/clinetSearch/Add/BirthdayField/index.d.ts +1 -0
  257. package/es/plus/clinetSearch/Add/GenderField/index.d.ts +1 -0
  258. package/es/plus/clinetSearch/Add/PhoneField/index.d.ts +1 -0
  259. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.d.ts +4 -0
  260. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.js +11 -0
  261. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.less +8 -0
  262. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.d.ts +4 -0
  263. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.js +11 -0
  264. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.less +17 -0
  265. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.d.ts +4 -0
  266. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.js +11 -0
  267. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.less +17 -0
  268. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.d.ts +4 -0
  269. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.js +11 -0
  270. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.less +17 -0
  271. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.d.ts +4 -0
  272. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.js +11 -0
  273. package/es/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.less +2 -0
  274. package/es/plus/productSelect/ProductCard/SkuCard/components/Action/index.d.ts +7 -0
  275. package/es/plus/productSelect/ProductCard/SkuCard/components/Action/index.js +100 -0
  276. package/es/plus/productSelect/ProductCard/SkuCard/components/Action/index.less +8 -0
  277. package/es/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.d.ts +6 -0
  278. package/es/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.js +32 -0
  279. package/es/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.less +3 -0
  280. package/es/plus/productSelect/ProductCard/SkuCard/components/CardCom/index.d.ts +8 -0
  281. package/es/plus/productSelect/ProductCard/SkuCard/components/CardCom/index.js +239 -0
  282. package/es/plus/productSelect/ProductCard/SkuCard/components/CardCom/index.less +44 -0
  283. package/es/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.d.ts +7 -0
  284. package/es/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.js +34 -0
  285. package/es/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.less +14 -0
  286. package/es/plus/productSelect/ProductCard/SkuCard/components/CardMoreText/index.d.ts +3 -0
  287. package/es/plus/productSelect/ProductCard/SkuCard/components/CardMoreText/index.js +33 -0
  288. package/es/plus/productSelect/ProductCard/SkuCard/components/CardMoreText/index.less +30 -0
  289. package/es/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.d.ts +4 -0
  290. package/es/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.js +75 -0
  291. package/es/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.less +46 -0
  292. package/es/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.d.ts +7 -0
  293. package/es/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.js +39 -0
  294. package/es/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.less +9 -0
  295. package/es/plus/productSelect/ProductCard/SkuCard/components/Cover/index.d.ts +7 -0
  296. package/es/plus/productSelect/ProductCard/SkuCard/components/Cover/index.js +53 -0
  297. package/es/plus/productSelect/ProductCard/SkuCard/components/Cover/index.less +31 -0
  298. package/es/plus/productSelect/ProductCard/SkuCard/components/Duration/index.d.ts +6 -0
  299. package/es/plus/productSelect/ProductCard/SkuCard/components/Duration/index.js +31 -0
  300. package/es/plus/productSelect/ProductCard/SkuCard/components/Duration/index.less +3 -0
  301. package/es/plus/productSelect/ProductCard/SkuCard/components/Favorite/index.d.ts +6 -0
  302. package/es/plus/productSelect/ProductCard/SkuCard/components/Favorite/index.js +58 -0
  303. package/es/plus/productSelect/ProductCard/SkuCard/components/Favorite/index.less +11 -0
  304. package/es/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.d.ts +7 -0
  305. package/es/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.js +85 -0
  306. package/es/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.less +24 -0
  307. package/es/plus/productSelect/ProductCard/SkuCard/components/Price/index.d.ts +7 -0
  308. package/es/plus/productSelect/ProductCard/SkuCard/components/Price/index.js +121 -0
  309. package/es/plus/productSelect/ProductCard/SkuCard/components/Price/index.less +57 -0
  310. package/es/plus/productSelect/ProductCard/SkuCard/components/Promotions/index.d.ts +6 -0
  311. package/es/plus/productSelect/ProductCard/SkuCard/components/Promotions/index.js +95 -0
  312. package/es/plus/productSelect/ProductCard/SkuCard/components/Promotions/index.less +18 -0
  313. package/es/plus/productSelect/ProductCard/SkuCard/components/Resource/index.d.ts +6 -0
  314. package/es/plus/productSelect/ProductCard/SkuCard/components/Resource/index.js +31 -0
  315. package/es/plus/productSelect/ProductCard/SkuCard/components/Resource/index.less +3 -0
  316. package/es/plus/productSelect/ProductCard/SkuCard/components/Stock/index.d.ts +6 -0
  317. package/es/plus/productSelect/ProductCard/SkuCard/components/Stock/index.js +47 -0
  318. package/es/plus/productSelect/ProductCard/SkuCard/components/Stock/index.less +3 -0
  319. package/es/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.d.ts +7 -0
  320. package/es/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.js +34 -0
  321. package/es/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.less +13 -0
  322. package/es/plus/productSelect/ProductCard/SkuCard/components/Tags/index.d.ts +6 -0
  323. package/es/plus/productSelect/ProductCard/SkuCard/components/Tags/index.js +95 -0
  324. package/es/plus/productSelect/ProductCard/SkuCard/components/Tags/index.less +18 -0
  325. package/es/plus/productSelect/ProductCard/SkuCard/components/Time/index.d.ts +6 -0
  326. package/es/plus/productSelect/ProductCard/SkuCard/components/Time/index.js +31 -0
  327. package/es/plus/productSelect/ProductCard/SkuCard/components/Time/index.less +3 -0
  328. package/es/plus/productSelect/ProductCard/SkuCard/components/Title/index.d.ts +7 -0
  329. package/es/plus/productSelect/ProductCard/SkuCard/components/Title/index.js +34 -0
  330. package/es/plus/productSelect/ProductCard/SkuCard/components/Title/index.less +13 -0
  331. package/es/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.d.ts +7 -0
  332. package/es/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.js +39 -0
  333. package/es/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.less +22 -0
  334. package/es/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.d.ts +4 -0
  335. package/es/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.js +20 -0
  336. package/es/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.less +20 -0
  337. package/es/plus/productSelect/ProductCard/SkuCard/hooks/useDynamicComponents.d.ts +6 -0
  338. package/es/plus/productSelect/ProductCard/SkuCard/hooks/useDynamicComponents.js +55 -0
  339. package/es/plus/productSelect/ProductCard/SkuCard/index.d.ts +9 -0
  340. package/es/plus/productSelect/ProductCard/SkuCard/index.js +38 -0
  341. package/es/plus/productSelect/ProductCard/SkuCard/locales.d.ts +42 -0
  342. package/es/plus/productSelect/ProductCard/SkuCard/locales.js +41 -0
  343. package/es/plus/productSelect/ProductCard/SkuCard/status.d.ts +162 -0
  344. package/es/plus/productSelect/ProductCard/SkuCard/status.js +481 -0
  345. package/es/plus/productSelect/ProductCard/SkuCard/type.d.ts +298 -0
  346. package/es/plus/productSelect/ProductCard/SkuCard/type.js +1 -0
  347. package/es/plus/productSelect/ProductCard/SkuCard/utils.d.ts +9 -0
  348. package/es/plus/productSelect/ProductCard/SkuCard/utils.js +21 -0
  349. package/es/plus/productSelect/components/pisellPriceText/index.d.ts +2 -0
  350. package/es/plus/productSelect/components/pisellPriceText/index.js +7 -5
  351. package/es/plus/saasCreateOrganization/components/Header.d.ts +1 -0
  352. package/es/plus/saasCreateOrganization/index.d.ts +1 -0
  353. package/es/plus/saasRegister/components/EntryEmail.d.ts +1 -0
  354. package/es/plus/saasRegister/components/EntryInfo.d.ts +1 -0
  355. package/es/plus/saasRegister/components/GoLogin.d.ts +1 -0
  356. package/es/plus/saasRegister/components/Header.d.ts +1 -0
  357. package/es/plus/saasRegister/components/VerifyError.d.ts +1 -0
  358. package/es/plus/saasRegister/components/VerifyingLink.d.ts +1 -0
  359. package/es/pro/priceKeyboard/components/cashKeyboard/CashKeyboardIntact.js +20 -10
  360. package/es/pro/priceKeyboard/components/cashKeyboard/index.d.ts +1 -0
  361. package/es/pro/priceKeyboard/components/cashKeyboard/index.less +1 -2
  362. package/lib/components/appointmentBooking/components/Header/index.d.ts +1 -0
  363. package/lib/components/appointmentBooking/index.d.ts +1 -0
  364. package/lib/components/booking/components/TabProduct/index.d.ts +1 -0
  365. package/lib/components/booking/components/TabProduct/productItem/index.d.ts +1 -0
  366. package/lib/components/booking/components/TabProduct/selectProductItem/index.d.ts +1 -0
  367. package/lib/components/booking/components/actionButtons/index.js +22 -17
  368. package/lib/components/booking/components/collapsibleList/utils.d.ts +1 -0
  369. package/lib/components/booking/components/emptyBooking/index.d.ts +1 -0
  370. package/lib/components/booking/components/footer/FooterMenus/index.d.ts +1 -0
  371. package/lib/components/booking/components/footer/amount.js +5 -2
  372. package/lib/components/booking/components/footer/index.js +2 -2
  373. package/lib/components/booking/components/footer/utils.js +8 -1
  374. package/lib/components/booking/components/formItemChildrenWrap/index.d.ts +1 -0
  375. package/lib/components/booking/components/reloadResourceModal/index.d.ts +1 -0
  376. package/lib/components/booking/components/voucher/index.js +33 -40
  377. package/lib/components/booking/deposit/index.d.ts +1 -0
  378. package/lib/components/booking/forms/footer.js +7 -13
  379. package/lib/components/booking/forms/single/index.d.ts +1 -0
  380. package/lib/components/booking/forms/table/index.d.ts +1 -0
  381. package/lib/components/booking/info/addServiceVariant/index.d.ts +1 -0
  382. package/lib/components/booking/info/clientVariant/hooks/useClientFn.d.ts +1 -0
  383. package/lib/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +1 -0
  384. package/lib/components/booking/info/date/index.d.ts +1 -0
  385. package/lib/components/booking/info/header/index.d.ts +1 -0
  386. package/lib/components/booking/info/hooks/useInfoHolder.d.ts +1 -0
  387. package/lib/components/booking/info/index.d.ts +1 -0
  388. package/lib/components/booking/info/notes/index.d.ts +1 -0
  389. package/lib/components/booking/info/service/actions/index.d.ts +1 -0
  390. package/lib/components/booking/info/service/like/index.d.ts +1 -0
  391. package/lib/components/booking/info/service/serviceList/index.d.ts +1 -0
  392. package/lib/components/booking/info/service2/utils.d.ts +1 -1
  393. package/lib/components/booking/info2/cartClientCard/index.js +7 -3
  394. package/lib/components/booking/info2/service/actions/index.d.ts +1 -0
  395. package/lib/components/booking/info2/service/addService/index.d.ts +1 -0
  396. package/lib/components/booking/info2/service/serviceList/index.d.ts +1 -0
  397. package/lib/components/booking/materiels/contacts/index.d.ts +1 -0
  398. package/lib/components/booking/materiels/duration/index.d.ts +1 -0
  399. package/lib/components/booking/materiels/holder/index.d.ts +1 -0
  400. package/lib/components/booking/materiels/startTime/index.d.ts +1 -0
  401. package/lib/components/booking/notes/NoteBlock/NoteItem/index.d.ts +1 -0
  402. package/lib/components/booking/notes/NoteBlock/index.d.ts +1 -0
  403. package/lib/components/booking/notes/addNote/index.d.ts +1 -0
  404. package/lib/components/booking/utils.js +1 -1
  405. package/lib/components/checkout/PaymentModal.js +26 -19
  406. package/lib/components/checkout/PaymentPlugin.d.ts +1 -0
  407. package/lib/components/checkout/components/CashPaymentModule/index.js +0 -1
  408. package/lib/components/checkout/hooks/useWalletPass.d.ts +1 -1
  409. package/lib/components/checkout/hooks/useWalletPass.js +61 -46
  410. package/lib/components/eftpos/deviceList/index.d.ts +1 -0
  411. package/lib/components/eftpos/form/index.d.ts +1 -0
  412. package/lib/components/eftpos/group/index.d.ts +1 -0
  413. package/lib/components/eftpos/hooks.d.ts +1 -0
  414. package/lib/components/eftpos/icon/apiKey.d.ts +1 -0
  415. package/lib/components/eftpos/icon/device.d.ts +1 -0
  416. package/lib/components/eftpos/index.d.ts +1 -0
  417. package/lib/components/eftpos/pos.d.ts +1 -0
  418. package/lib/components/eftpos/receipt/index.d.ts +1 -0
  419. package/lib/components/eftpos/surcharge/index.d.ts +1 -0
  420. package/lib/components/eftposPay/amount.d.ts +2 -1
  421. package/lib/components/eftposPay/app.d.ts +1 -0
  422. package/lib/components/eftposPay/component/alert/warn.d.ts +1 -0
  423. package/lib/components/eftposPay/component/fail/failCustom.d.ts +1 -0
  424. package/lib/components/eftposPay/component/fail/index.d.ts +1 -0
  425. package/lib/components/eftposPay/component/fail/network.d.ts +1 -0
  426. package/lib/components/eftposPay/component/fail/unknow.d.ts +1 -0
  427. package/lib/components/eftposPay/component/header/titlebar.d.ts +1 -0
  428. package/lib/components/eftposPay/component/manual/index.d.ts +1 -0
  429. package/lib/components/eftposPay/component/signature/index.d.ts +1 -0
  430. package/lib/components/eftposPay/component/step/index.d.ts +1 -0
  431. package/lib/components/eftposPay/component/step/step.d.ts +1 -0
  432. package/lib/components/eftposPay/device.d.ts +1 -1
  433. package/lib/components/eftposPay/hooks.d.ts +2 -2
  434. package/lib/components/eftposPay/index.d.ts +1 -0
  435. package/lib/components/eftposPay/pay.d.ts +1 -0
  436. package/lib/components/eftposPay/payo/config.d.ts +1 -0
  437. package/lib/components/eftposPay/store/index.d.ts +5 -5
  438. package/lib/components/eftposPay/tip.d.ts +1 -0
  439. package/lib/components/eftposPay/tyro/hooks.d.ts +1 -0
  440. package/lib/components/eftposPay/windcave/receiptAction.d.ts +1 -0
  441. package/lib/components/eftposPay/windcave/windcave.d.ts +1 -0
  442. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +1 -0
  443. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +1 -0
  444. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +1 -0
  445. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Status/index.d.ts +1 -0
  446. package/lib/components/eventBooking/components/scheduleCalendar/ProductItem/index.d.ts +1 -0
  447. package/lib/components/list/List.d.ts +5 -0
  448. package/lib/components/list/List.js +771 -0
  449. package/lib/components/list/List.less +2 -0
  450. package/lib/components/list/ResponsiveWrapper.d.ts +16 -0
  451. package/lib/components/list/ResponsiveWrapper.js +145 -0
  452. package/lib/components/list/TestResponsiveWrapper.d.ts +8 -0
  453. package/lib/components/list/TestResponsiveWrapper.js +493 -0
  454. package/lib/components/list/TestResponsiveWrapper.less +968 -0
  455. package/lib/components/list/components/EmptyState/EmptyState.d.ts +20 -0
  456. package/lib/components/list/components/EmptyState/EmptyState.js +75 -0
  457. package/lib/components/list/components/EmptyState/EmptyState.less +121 -0
  458. package/lib/components/list/components/EmptyState/index.d.ts +2 -0
  459. package/lib/components/list/components/EmptyState/index.js +35 -0
  460. package/lib/components/list/components/ListItemSkeleton/ListItemSkeleton.d.ts +13 -0
  461. package/lib/components/list/components/ListItemSkeleton/ListItemSkeleton.js +75 -0
  462. package/lib/components/list/components/ListItemSkeleton/ListItemSkeleton.less +29 -0
  463. package/lib/components/list/components/ListItemSkeleton/index.d.ts +2 -0
  464. package/lib/components/list/components/ListItemSkeleton/index.js +41 -0
  465. package/lib/components/list/components/Pagination/Pagination.d.ts +30 -0
  466. package/lib/components/list/components/Pagination/Pagination.js +205 -0
  467. package/lib/components/list/components/Pagination/Pagination.less +439 -0
  468. package/lib/components/list/components/Pagination/index.d.ts +1 -0
  469. package/lib/components/list/components/Pagination/index.js +35 -0
  470. package/lib/components/list/components/ScrollLoader/ScrollLoader.d.ts +18 -0
  471. package/lib/components/list/components/ScrollLoader/ScrollLoader.js +37 -0
  472. package/lib/components/list/components/ScrollLoader/ScrollLoader.less +3 -0
  473. package/lib/components/list/components/ScrollLoader/index.d.ts +2 -0
  474. package/lib/components/list/components/ScrollLoader/index.js +35 -0
  475. package/lib/components/list/components/Tab/Tab.d.ts +5 -0
  476. package/lib/components/list/components/Tab/Tab.js +72 -0
  477. package/lib/components/list/components/Tab/Tab.less +139 -0
  478. package/lib/components/list/components/Tab/index.d.ts +2 -0
  479. package/lib/components/list/components/Tab/index.js +35 -0
  480. package/lib/components/list/components/Tab/types.d.ts +14 -0
  481. package/lib/components/list/components/Tab/types.js +17 -0
  482. package/lib/components/list/components/TabSkeleton/TabSkeleton.d.ts +11 -0
  483. package/lib/components/list/components/TabSkeleton/TabSkeleton.js +61 -0
  484. package/lib/components/list/components/TabSkeleton/TabSkeleton.less +38 -0
  485. package/lib/components/list/components/TabSkeleton/index.d.ts +2 -0
  486. package/lib/components/list/components/TabSkeleton/index.js +41 -0
  487. package/lib/components/list/components/WaterfallList/WaterfallList.d.ts +33 -0
  488. package/lib/components/list/components/WaterfallList/WaterfallList.js +178 -0
  489. package/lib/components/list/components/WaterfallList/WaterfallList.less +201 -0
  490. package/lib/components/list/components/WaterfallList/index.d.ts +2 -0
  491. package/lib/components/list/components/WaterfallList/index.js +35 -0
  492. package/lib/components/list/examples/GroupedListExample.d.ts +3 -0
  493. package/lib/components/list/examples/GroupedListExample.js +210 -0
  494. package/lib/components/list/hooks/index.d.ts +5 -0
  495. package/lib/components/list/hooks/index.js +47 -0
  496. package/lib/components/list/hooks/useDevice.d.ts +24 -0
  497. package/lib/components/list/hooks/useDevice.js +96 -0
  498. package/lib/components/list/hooks/useListState.d.ts +43 -0
  499. package/lib/components/list/hooks/useListState.js +149 -0
  500. package/lib/components/list/hooks/useWaterfall.d.ts +34 -0
  501. package/lib/components/list/hooks/useWaterfall.js +124 -0
  502. package/lib/components/list/index.d.ts +10 -0
  503. package/lib/components/list/index.js +60 -0
  504. package/lib/components/list/locales.d.ts +66 -0
  505. package/lib/components/list/locales.js +113 -0
  506. package/lib/components/list/styles/base.less +39 -0
  507. package/lib/components/list/styles/content.less +416 -0
  508. package/lib/components/list/styles/floatButton.less +107 -0
  509. package/lib/components/list/styles/footer.less +49 -0
  510. package/lib/components/list/styles/header.less +69 -0
  511. package/lib/components/list/styles/responsive.less +166 -0
  512. package/lib/components/list/types.d.ts +177 -0
  513. package/lib/components/list/types.js +17 -0
  514. package/lib/components/list/utils/getText.d.ts +53 -0
  515. package/lib/components/list/utils/getText.js +95 -0
  516. package/lib/components/list/utils/index.d.ts +4 -0
  517. package/lib/components/list/utils/index.js +43 -0
  518. package/lib/components/login/index.d.ts +1 -0
  519. package/lib/components/pay/toB/components/CardGroup/index.d.ts +1 -0
  520. package/lib/components/pay/toB/components/Content/Header.d.ts +1 -0
  521. package/lib/components/pay/toB/store/hooks.js +16 -8
  522. package/lib/components/pay/toC/PaymentMethods/MWCreditCard/TDSPay/ThreedsLoading/index.d.ts +1 -0
  523. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/Finish/index.d.ts +1 -0
  524. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/SDK.d.ts +1 -0
  525. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +1 -0
  526. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/components/PageLoading/index.d.ts +1 -0
  527. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/PaymentRequestForm.d.ts +1 -0
  528. package/lib/components/pisellSelectCustomerModal/RightPanel/Add/BirthdayField/index.d.ts +1 -0
  529. package/lib/components/pisellSelectCustomerModal/RightPanel/Add/GenderField/index.d.ts +1 -0
  530. package/lib/components/productExtension/fields/Forms/index.d.ts +1 -0
  531. package/lib/components/productExtension/fields/SelectProducts/ProductItem/index.d.ts +1 -0
  532. package/lib/components/productExtension/fields/SelectProducts/ProductItemPreview/index.d.ts +1 -0
  533. package/lib/components/ruleSetting/ruleBorder/index.d.ts +1 -0
  534. package/lib/components/schedules/calendar/calendarItem.d.ts +1 -0
  535. package/lib/components/schedules/calendar/index.d.ts +1 -0
  536. package/lib/components/schedules/components/CurrentDay/index.d.ts +1 -0
  537. package/lib/components/schedules/components/ScheduleDetailList/index.d.ts +1 -0
  538. package/lib/components/schedules/components/ScheduleList/RenderScheduleItem/index.d.ts +1 -0
  539. package/lib/components/schedules/components/ScheduleList/index.d.ts +1 -0
  540. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/MaxParticipantsModule/index.d.ts +1 -0
  541. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/ResourcesModule/index.d.ts +1 -0
  542. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/AddSchedules/index.d.ts +1 -0
  543. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/index.d.ts +1 -0
  544. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/index.d.ts +1 -0
  545. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetailByDate/index.d.ts +1 -0
  546. package/lib/components/schedules/products/ProductDetailDrawer/index.d.ts +1 -0
  547. package/lib/components/schedules/products/index.d.ts +1 -0
  548. package/lib/components/schedules/products/list/ProductItem/index.d.ts +1 -0
  549. package/lib/components/schedules/products/list/index.d.ts +1 -0
  550. package/lib/components/schedules/resources/index.d.ts +1 -0
  551. package/lib/components/schedules/resources/list/index.d.ts +1 -0
  552. package/lib/components/schedules/resources/relationProduct/index.d.ts +1 -0
  553. package/lib/components/schedules/schedules/AllSchedules/index.d.ts +1 -0
  554. package/lib/components/schedules/schedules/ScheduleDetailDrawer/index.d.ts +1 -0
  555. package/lib/components/schedules/schedules/index.d.ts +1 -0
  556. package/lib/components/taxSelect/index.d.ts +1 -0
  557. package/lib/components/ticketBooking/components/ProductDisplayAdapter/ProductDisplayAdapter.d.ts +27 -0
  558. package/lib/components/ticketBooking/components/ProductDisplayAdapter/ProductDisplayAdapter.js +165 -0
  559. package/lib/components/ticketBooking/components/ProductDisplayAdapter/index.d.ts +7 -0
  560. package/lib/components/ticketBooking/components/ProductDisplayAdapter/index.js +45 -0
  561. package/lib/components/ticketBooking/components/ProductDisplayAdapter/index.less +41 -0
  562. package/lib/components/ticketBooking/components/ProductDisplayAdapter/types.d.ts +115 -0
  563. package/lib/components/ticketBooking/components/ProductDisplayAdapter/types.js +247 -0
  564. package/lib/components/ticketBooking/components/ProductDisplayAdapter/utils.d.ts +50 -0
  565. package/lib/components/ticketBooking/components/ProductDisplayAdapter/utils.js +100 -0
  566. package/lib/components/ticketBooking/components/addServiceVariant/addService.d.ts +21 -0
  567. package/lib/components/ticketBooking/components/addServiceVariant/addService.js +322 -223
  568. package/lib/components/ticketBooking/components/addServiceVariant/index.d.ts +3 -0
  569. package/lib/components/ticketBooking/components/addServiceVariant/index.js +4 -2
  570. package/lib/components/ticketBooking/components/menuBar/index.d.ts +5 -1
  571. package/lib/components/ticketBooking/components/menuBar/index.js +24 -18
  572. package/lib/components/ticketBooking/components/menuBar/index.less +27 -1
  573. package/lib/components/ticketBooking/components/ticketBooking/index.d.ts +4 -0
  574. package/lib/components/ticketBooking/components/ticketBooking/index.js +71 -17
  575. package/lib/components/ticketBooking/components/timeBar/index.d.ts +1 -0
  576. package/lib/components/ticketBooking/components/timeBar/index.js +3 -1
  577. package/lib/components/ticketBooking/components/timeBar/index.less +1 -0
  578. package/lib/components/ticketBooking/context/IsActiveContext.d.ts +26 -0
  579. package/lib/components/ticketBooking/context/IsActiveContext.js +56 -0
  580. package/lib/components/ticketBooking/context/OsKeyContext.d.ts +26 -0
  581. package/lib/components/ticketBooking/context/OsKeyContext.js +56 -0
  582. package/lib/components/ticketBooking/context/index.d.ts +2 -0
  583. package/lib/components/ticketBooking/context/index.js +44 -0
  584. package/lib/components/ticketBooking/hooks/pisellos/bookingTicket.d.ts +5 -0
  585. package/lib/components/ticketBooking/hooks/pisellos/bookingTicket.js +5 -1
  586. package/lib/components/ticketBooking/hooks/pisellos/index.d.ts +1 -0
  587. package/lib/components/ticketBooking/hooks/pisellos/index.js +3 -1
  588. package/lib/components/ticketBooking/hooks/pisellos/useActiveExecute.d.ts +21 -0
  589. package/lib/components/ticketBooking/hooks/pisellos/useActiveExecute.js +47 -0
  590. package/lib/components/ticketBooking/hooks/pisellos/useCustomer.js +17 -10
  591. package/lib/components/ticketBooking/hooks/pisellos/useProducts.d.ts +4 -0
  592. package/lib/components/ticketBooking/hooks/pisellos/useProducts.js +83 -0
  593. package/lib/components/ticketBooking/hooks/pisellos/useScanCustomer.js +4 -2
  594. package/lib/components/ticketBooking/hooks/pisellos/useScanGlobal.js +6 -2
  595. package/lib/components/ticketBooking/hooks/pisellos/useShopDiscountModule.d.ts +6 -0
  596. package/lib/components/ticketBooking/hooks/pisellos/useShopDiscountModule.js +37 -0
  597. package/lib/components/ticketBooking/index.d.ts +6 -0
  598. package/lib/components/ticketBooking/index.js +69 -7
  599. package/lib/components/ticketBooking/utils/index.d.ts +30 -2
  600. package/lib/components/ticketBooking/utils/index.js +91 -6
  601. package/lib/components/ticketBooking/utils/productCache.d.ts +75 -0
  602. package/lib/components/ticketBooking/utils/productCache.js +144 -0
  603. package/lib/hooks/usePaymentLogger.d.ts +1 -0
  604. package/lib/index.d.ts +2 -0
  605. package/lib/index.js +6 -0
  606. package/lib/plus/clientName/index.d.ts +1 -0
  607. package/lib/plus/clinetSearch/Add/BirthdayField/index.d.ts +1 -0
  608. package/lib/plus/clinetSearch/Add/GenderField/index.d.ts +1 -0
  609. package/lib/plus/clinetSearch/Add/PhoneField/index.d.ts +1 -0
  610. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.d.ts +4 -0
  611. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.js +42 -0
  612. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA1/index.less +8 -0
  613. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.d.ts +4 -0
  614. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.js +42 -0
  615. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA2/index.less +17 -0
  616. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.d.ts +4 -0
  617. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.js +42 -0
  618. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA5/index.less +17 -0
  619. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.d.ts +4 -0
  620. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.js +42 -0
  621. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardA9/index.less +17 -0
  622. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.d.ts +4 -0
  623. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.js +42 -0
  624. package/lib/plus/productSelect/ProductCard/SkuCard/SkuCardCustom/index.less +2 -0
  625. package/lib/plus/productSelect/ProductCard/SkuCard/components/Action/index.d.ts +7 -0
  626. package/lib/plus/productSelect/ProductCard/SkuCard/components/Action/index.js +129 -0
  627. package/lib/plus/productSelect/ProductCard/SkuCard/components/Action/index.less +8 -0
  628. package/lib/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.d.ts +6 -0
  629. package/lib/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.js +52 -0
  630. package/lib/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.less +3 -0
  631. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardCom/index.d.ts +8 -0
  632. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardCom/index.js +178 -0
  633. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardCom/index.less +44 -0
  634. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.d.ts +7 -0
  635. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.js +52 -0
  636. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.less +14 -0
  637. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMoreText/index.d.ts +3 -0
  638. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMoreText/index.js +63 -0
  639. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMoreText/index.less +30 -0
  640. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.d.ts +4 -0
  641. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.js +131 -0
  642. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardWrapper/index.less +46 -0
  643. package/lib/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.d.ts +7 -0
  644. package/lib/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.js +62 -0
  645. package/lib/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.less +9 -0
  646. package/lib/plus/productSelect/ProductCard/SkuCard/components/Cover/index.d.ts +7 -0
  647. package/lib/plus/productSelect/ProductCard/SkuCard/components/Cover/index.js +78 -0
  648. package/lib/plus/productSelect/ProductCard/SkuCard/components/Cover/index.less +31 -0
  649. package/lib/plus/productSelect/ProductCard/SkuCard/components/Duration/index.d.ts +6 -0
  650. package/lib/plus/productSelect/ProductCard/SkuCard/components/Duration/index.js +51 -0
  651. package/lib/plus/productSelect/ProductCard/SkuCard/components/Duration/index.less +3 -0
  652. package/lib/plus/productSelect/ProductCard/SkuCard/components/Favorite/index.d.ts +6 -0
  653. package/lib/plus/productSelect/ProductCard/SkuCard/components/Favorite/index.js +94 -0
  654. package/lib/plus/productSelect/ProductCard/SkuCard/components/Favorite/index.less +11 -0
  655. package/lib/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.d.ts +7 -0
  656. package/lib/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.js +115 -0
  657. package/lib/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.less +24 -0
  658. package/lib/plus/productSelect/ProductCard/SkuCard/components/Price/index.d.ts +7 -0
  659. package/lib/plus/productSelect/ProductCard/SkuCard/components/Price/index.js +139 -0
  660. package/lib/plus/productSelect/ProductCard/SkuCard/components/Price/index.less +57 -0
  661. package/lib/plus/productSelect/ProductCard/SkuCard/components/Promotions/index.d.ts +6 -0
  662. package/lib/plus/productSelect/ProductCard/SkuCard/components/Promotions/index.js +97 -0
  663. package/lib/plus/productSelect/ProductCard/SkuCard/components/Promotions/index.less +18 -0
  664. package/lib/plus/productSelect/ProductCard/SkuCard/components/Resource/index.d.ts +6 -0
  665. package/lib/plus/productSelect/ProductCard/SkuCard/components/Resource/index.js +51 -0
  666. package/lib/plus/productSelect/ProductCard/SkuCard/components/Resource/index.less +3 -0
  667. package/lib/plus/productSelect/ProductCard/SkuCard/components/Stock/index.d.ts +6 -0
  668. package/lib/plus/productSelect/ProductCard/SkuCard/components/Stock/index.js +58 -0
  669. package/lib/plus/productSelect/ProductCard/SkuCard/components/Stock/index.less +3 -0
  670. package/lib/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.d.ts +7 -0
  671. package/lib/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.js +56 -0
  672. package/lib/plus/productSelect/ProductCard/SkuCard/components/SubTitle/index.less +13 -0
  673. package/lib/plus/productSelect/ProductCard/SkuCard/components/Tags/index.d.ts +6 -0
  674. package/lib/plus/productSelect/ProductCard/SkuCard/components/Tags/index.js +97 -0
  675. package/lib/plus/productSelect/ProductCard/SkuCard/components/Tags/index.less +18 -0
  676. package/lib/plus/productSelect/ProductCard/SkuCard/components/Time/index.d.ts +6 -0
  677. package/lib/plus/productSelect/ProductCard/SkuCard/components/Time/index.js +51 -0
  678. package/lib/plus/productSelect/ProductCard/SkuCard/components/Time/index.less +3 -0
  679. package/lib/plus/productSelect/ProductCard/SkuCard/components/Title/index.d.ts +7 -0
  680. package/lib/plus/productSelect/ProductCard/SkuCard/components/Title/index.js +56 -0
  681. package/lib/plus/productSelect/ProductCard/SkuCard/components/Title/index.less +13 -0
  682. package/lib/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.d.ts +7 -0
  683. package/lib/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.js +58 -0
  684. package/lib/plus/productSelect/ProductCard/SkuCard/components/TooltipTags/index.less +22 -0
  685. package/lib/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.d.ts +4 -0
  686. package/lib/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.js +49 -0
  687. package/lib/plus/productSelect/ProductCard/SkuCard/components/WarningLists/index.less +20 -0
  688. package/lib/plus/productSelect/ProductCard/SkuCard/hooks/useDynamicComponents.d.ts +6 -0
  689. package/lib/plus/productSelect/ProductCard/SkuCard/hooks/useDynamicComponents.js +83 -0
  690. package/lib/plus/productSelect/ProductCard/SkuCard/index.d.ts +9 -0
  691. package/lib/plus/productSelect/ProductCard/SkuCard/index.js +68 -0
  692. package/lib/plus/productSelect/ProductCard/SkuCard/locales.d.ts +42 -0
  693. package/lib/plus/productSelect/ProductCard/SkuCard/locales.js +65 -0
  694. package/lib/plus/productSelect/ProductCard/SkuCard/status.d.ts +162 -0
  695. package/lib/plus/productSelect/ProductCard/SkuCard/status.js +501 -0
  696. package/lib/plus/productSelect/ProductCard/SkuCard/type.d.ts +298 -0
  697. package/lib/plus/productSelect/ProductCard/SkuCard/type.js +17 -0
  698. package/lib/plus/productSelect/ProductCard/SkuCard/utils.d.ts +9 -0
  699. package/lib/plus/productSelect/ProductCard/SkuCard/utils.js +37 -0
  700. package/lib/plus/productSelect/components/pisellPriceText/index.d.ts +2 -0
  701. package/lib/plus/productSelect/components/pisellPriceText/index.js +6 -5
  702. package/lib/plus/saasCreateOrganization/components/Header.d.ts +1 -0
  703. package/lib/plus/saasCreateOrganization/index.d.ts +1 -0
  704. package/lib/plus/saasRegister/components/EntryEmail.d.ts +1 -0
  705. package/lib/plus/saasRegister/components/EntryInfo.d.ts +1 -0
  706. package/lib/plus/saasRegister/components/GoLogin.d.ts +1 -0
  707. package/lib/plus/saasRegister/components/Header.d.ts +1 -0
  708. package/lib/plus/saasRegister/components/VerifyError.d.ts +1 -0
  709. package/lib/plus/saasRegister/components/VerifyingLink.d.ts +1 -0
  710. package/lib/pro/priceKeyboard/components/cashKeyboard/CashKeyboardIntact.js +61 -27
  711. package/lib/pro/priceKeyboard/components/cashKeyboard/index.d.ts +1 -0
  712. package/lib/pro/priceKeyboard/components/cashKeyboard/index.less +1 -2
  713. package/lowcode/sku-card/meta.ts +1812 -0
  714. package/lowcode/sku-card/snippets.ts +372 -0
  715. package/lowcode/sku-list/meta.ts +410 -0
  716. package/package.json +1 -1
@@ -26,14 +26,15 @@ import { getProductExtend } from "../../../booking/info2/service/addService/util
26
26
  import { holderId, isDaysBooking, isNormalProductByDurationSchedule } from "../../../booking/info/service2/utils";
27
27
  import { isBooking4Shop } from "../../../booking/info/utils";
28
28
  import { useService } from "../../../booking/info/service/serviceManager";
29
- import ProductSelect from "../../../../plus/productSelect";
29
+ import ProductDisplayAdapter, { resolveProductDisplayConfig } from "../ProductDisplayAdapter";
30
30
  import "./index.less";
31
- import { addService, addServiceScroll, createSimpleCacheItem, genServiceKey, getIsShowNumber, isSameProduct } from "../../utils";
31
+ import { addService, addServiceScroll, genServiceKey, getIsShowNumber, isSameProduct } from "../../utils";
32
32
  import NotAvailable from "../notAvailable";
33
33
  import dayjs from 'dayjs';
34
34
  import { useProducts } from "../../hooks/pisellos";
35
35
  import { createCacheItem, genValues, isBundle, isOption, setHandleSetService } from "./utils";
36
36
  import { useToast } from '@pisell/materials';
37
+ import { useIsActive } from "../../context/IsActiveContext";
37
38
  var productListLayout = {
38
39
  grid: true,
39
40
  config: '12:12'
@@ -53,11 +54,14 @@ var AddSerivce = function AddSerivce(props) {
53
54
  dispatch = props.dispatch,
54
55
  _props$renderMode = props.renderMode,
55
56
  renderMode = _props$renderMode === void 0 ? 'current' : _props$renderMode,
56
- onPrerenderComplete = props.onPrerenderComplete;
57
+ onPrerenderComplete = props.onPrerenderComplete,
58
+ onGetProductsReady = props.onGetProductsReady,
59
+ productDisplayConfig = props.productDisplayConfig;
57
60
  var context = useEngineContext();
58
61
  var notAvailableRef = useRef(null);
59
62
  var isLoadedServiceRef = useRef(false);
60
63
  request.setRequest(context.appHelper.utils.request);
64
+ var isActive = useIsActive();
61
65
  var Toast = useToast();
62
66
  var _useService = useService({
63
67
  renderMode: renderMode,
@@ -72,6 +76,10 @@ var AddSerivce = function AddSerivce(props) {
72
76
  _useState2 = _slicedToArray(_useState, 2),
73
77
  currentProduct = _useState2[0],
74
78
  setCurrentProduct = _useState2[1];
79
+ var _useState3 = useState(true),
80
+ _useState4 = _slicedToArray(_useState3, 2),
81
+ firstLoading = _useState4[0],
82
+ setFirstLoading = _useState4[1];
75
83
  var stateRef = useRef(state);
76
84
  stateRef.current = state;
77
85
  var prerenderCompletedRef = useRef(false);
@@ -102,7 +110,22 @@ var AddSerivce = function AddSerivce(props) {
102
110
  var _useProducts = useProducts(),
103
111
  getProducts = _useProducts.getProducts,
104
112
  products = _useProducts.products,
105
- loading = _useProducts.loading;
113
+ loading = _useProducts.loading,
114
+ getScheduleTimePoints = _useProducts.getScheduleTimePoints;
115
+ useEffect(function () {
116
+ if (onGetProductsReady && getProducts) {
117
+ onGetProductsReady(getProducts);
118
+ }
119
+ }, []);
120
+ useEffect(function () {
121
+ var timer = setTimeout(function () {
122
+ setFirstLoading(false);
123
+ }, 300);
124
+ return function () {
125
+ clearTimeout(timer);
126
+ };
127
+ }, []);
128
+
106
129
  // 组件卸载时清理所有定时器
107
130
  useEffect(function () {
108
131
  return function () {
@@ -147,22 +170,30 @@ var AddSerivce = function AddSerivce(props) {
147
170
  return ((_state$client = state.client) === null || _state$client === void 0 || (_state$client = _state$client.value) === null || _state$client === void 0 ? void 0 : _state$client.id) || undefined;
148
171
  }, [(_state$client2 = state.client) === null || _state$client2 === void 0 || (_state$client2 = _state$client2.value) === null || _state$client2 === void 0 ? void 0 : _state$client2.id]);
149
172
  var scanAddService = useMemoizedFn(function (list, code) {
150
- var newService = _toConsumableArray(state.service.value);
173
+ // 使用 stateRef 获取最新状态
174
+ var newService = _toConsumableArray(stateRef.current.service.value || []);
151
175
  list.forEach(function (item) {
152
176
  if (isBundle(item) || isOption(item)) {
153
177
  handleSelectProduct(item);
154
178
  return;
155
179
  }
156
180
  var values = genValues(item, code);
157
- var cacheItem = createCacheItem(item, values, state);
181
+ var cacheItem = createCacheItem(item, values, stateRef.current);
158
182
  cacheItem._serviceKey = genServiceKey(cacheItem);
159
183
  cacheItem.autoClose = false;
160
- var _addService = addService(_toConsumableArray(newService), cacheItem, state),
184
+ var _addService = addService(_toConsumableArray(newService), cacheItem, stateRef.current),
161
185
  _list = _addService.list,
162
186
  quantity = _addService.quantity;
163
187
  handleAddToast(cacheItem.title, quantity);
164
188
  newService = _list;
165
189
  });
190
+
191
+ // 立即更新 stateRef
192
+ stateRef.current = _objectSpread(_objectSpread({}, stateRef.current), {}, {
193
+ service: _objectSpread(_objectSpread({}, stateRef.current.service), {}, {
194
+ value: newService
195
+ })
196
+ });
166
197
  dispatch({
167
198
  type: 'setService',
168
199
  payload: {
@@ -172,8 +203,10 @@ var AddSerivce = function AddSerivce(props) {
172
203
  });
173
204
  });
174
205
  useMemo(function () {
175
- setHandleSetService(scanAddService);
176
- }, []);
206
+ if (isActive) {
207
+ setHandleSetService(scanAddService);
208
+ }
209
+ }, [isActive]);
177
210
 
178
211
  /*
179
212
  const removeNotAvailableService = (list: any) => {
@@ -298,9 +331,9 @@ var AddSerivce = function AddSerivce(props) {
298
331
  executeCacheValues(productId, cacheValues, item, callback);
299
332
  }, 0);
300
333
  });
301
- var handleSelectProduct = useMemoizedFn(function (item) {
302
- var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'select';
303
- console.log('handleSelectProduct');
334
+
335
+ // 检查资源可用性
336
+ var checkResourceAvailability = useMemoizedFn(function (item) {
304
337
  if (!isNormalProductByDurationSchedule(item)) {
305
338
  var _state$service3;
306
339
  if (!Array.isArray((_state$service3 = state.service) === null || _state$service3 === void 0 ? void 0 : _state$service3.resourcesOrigin) || !state.service.resourcesOrigin.length) {
@@ -310,225 +343,331 @@ var AddSerivce = function AddSerivce(props) {
310
343
  reloadResourceModal: true
311
344
  })
312
345
  });
313
- return;
346
+ return false;
314
347
  }
315
348
  }
316
- var isSession = isSessionProduct(item);
317
- // 是否有单规格 组合规格 套餐, 或者session商品 如果没有不需要打开弹窗
318
- var isEject = getIsEject(item, type);
319
- var isOnlySession = getIsOnlySession(item);
320
- var lock = false;
321
- // 对于不需要打开弹窗的商品, 直接模拟数据, 不走弹窗
322
- var cacheValues = null;
323
- if (isEject) {
324
- setCurrentProduct(item);
349
+ return true;
350
+ });
351
+
352
+ // 创建缓存项
353
+ var createCacheItemFromParams = useMemoizedFn(function (item, params, detail) {
354
+ var _detail = detail || item;
355
+ var other = JSON.parse(JSON.stringify(params));
356
+ other.session = params.session;
357
+ var cacheItem = _objectSpread(_objectSpread({}, _detail), {}, {
358
+ product_id: item.id,
359
+ _id: getUniqueId(),
360
+ _key: params.key,
361
+ _extend: {
362
+ start_date: state.date.value,
363
+ quantity: (params === null || params === void 0 ? void 0 : params.quantity) || 1,
364
+ price: _detail.price,
365
+ product_name: item.title,
366
+ other: other
367
+ },
368
+ new: 1
369
+ });
370
+ var _total = getProductTotalPrice(cacheItem);
371
+ cacheItem._extend.total = _total;
372
+ cacheItem._extend.origin_total = _total;
373
+ var _isEdit = !!state.service.cacheItem;
374
+ if (_isEdit) {
375
+ var _state$service$cacheI;
376
+ cacheItem._id = (_state$service$cacheI = state.service.cacheItem) === null || _state$service$cacheI === void 0 ? void 0 : _state$service$cacheI._id;
377
+ cacheItem.new = 0;
378
+ }
379
+ if (renderMode === 'current') {
380
+ cacheItem.currentDefaultTime = state.date.value.format('HH:mm');
381
+ }
382
+ cacheItem = getProductExtend({
383
+ cacheItem: cacheItem,
384
+ state: state,
385
+ isDisabledTime: true
386
+ });
387
+ if (state.renderType === 'eventBooking') {
388
+ cacheItem.autoClose = false;
389
+ }
390
+ return cacheItem;
391
+ });
392
+
393
+ // 生成商品唯一标识
394
+ var getProductKey = useMemoizedFn(function (item, cacheItem) {
395
+ // 使用 _serviceKey 来区分同一商品的不同规格/选项
396
+ return cacheItem._serviceKey || "".concat(item.id, "_").concat(cacheItem._key);
397
+ });
398
+
399
+ // 获取当前服务列表中的商品数量
400
+ var getServiceQuantity = useMemoizedFn(function (cacheItem) {
401
+ var _stateRef$current$ser, _existingService$_ext;
402
+ // 使用 stateRef 获取最新的 service.value
403
+ var existingService = (_stateRef$current$ser = stateRef.current.service.value) === null || _stateRef$current$ser === void 0 ? void 0 : _stateRef$current$ser.find(function (val) {
404
+ return isSameProduct(val, cacheItem);
405
+ });
406
+ return (existingService === null || existingService === void 0 || (_existingService$_ext = existingService._extend) === null || _existingService$_ext === void 0 ? void 0 : _existingService$_ext.quantity) || 0;
407
+ });
408
+
409
+ // 处理自动关闭的服务添加(带防抖)
410
+ var processAutoCloseService = useMemoizedFn(function (cacheItem, item, detail, notShowToast) {
411
+ cacheItem.autoClose = false;
412
+ cacheItem._serviceKey = genServiceKey(cacheItem);
413
+ var productKey = getProductKey(item, cacheItem);
414
+
415
+ // 如果已经有待处理的同商品,增加点击次数
416
+ if (pendingCacheValuesRef.current[productKey]) {
417
+ clickCountRef.current[productKey] = (clickCountRef.current[productKey] || 1) + 1;
325
418
  } else {
326
- setCurrentProduct(null);
327
- if ((item === null || item === void 0 ? void 0 : item.extension_type) === 'normal') {
328
- cacheValues = {
329
- bundle: [],
330
- key: item.id,
331
- option: [],
332
- product_id: item.id,
333
- product_variant_id: 0,
334
- quantity: 1,
335
- rowKey: item.id,
336
- session: null,
337
- unique: '08974625397',
338
- _originalItem: item // 保存原始商品信息
419
+ // 第一次点击,初始化数据
420
+ pendingCacheValuesRef.current[productKey] = {
421
+ cacheItem: cacheItem,
422
+ item: item,
423
+ detail: detail,
424
+ notShowToast: notShowToast
425
+ };
426
+ clickCountRef.current[productKey] = 1;
427
+ }
428
+
429
+ // 立即显示 toast
430
+ // 显示:购物车中已有数量 + 当前累积点击次数
431
+ if (!notShowToast) {
432
+ var originalQuantity = getServiceQuantity(cacheItem);
433
+ var currentClickCount = clickCountRef.current[productKey] || 1;
434
+ var totalQuantity = originalQuantity + currentClickCount;
435
+ handleAddToast(cacheItem.title, totalQuantity);
436
+ }
437
+
438
+ // 清除旧的防抖定时器
439
+ if (debounceTimersRef.current[productKey]) {
440
+ clearTimeout(debounceTimersRef.current[productKey]);
441
+ }
442
+
443
+ // 创建新的防抖定时器
444
+ debounceTimersRef.current[productKey] = setTimeout(function () {
445
+ executeServiceDispatch(productKey);
446
+ }, 300); // 300ms 防抖时间
447
+ });
448
+
449
+ // 执行实际的 dispatch 操作
450
+ var executeServiceDispatch = useMemoizedFn(function (productKey) {
451
+ var pendingData = pendingCacheValuesRef.current[productKey];
452
+ if (!pendingData) return;
453
+ var cacheItem = pendingData.cacheItem,
454
+ item = pendingData.item,
455
+ detail = pendingData.detail;
456
+ var clickCount = clickCountRef.current[productKey] || 1;
457
+
458
+ // 更新 quantity 为累积的点击次数
459
+ var finalCacheItem = _objectSpread(_objectSpread({}, cacheItem), {}, {
460
+ _extend: _objectSpread(_objectSpread({}, cacheItem._extend), {}, {
461
+ quantity: clickCount
462
+ })
463
+ });
464
+
465
+ // 使用 stateRef 获取最新的 service.value,避免竞态条件
466
+ var _addService2 = addService(_toConsumableArray(stateRef.current.service.value || []), finalCacheItem, stateRef.current),
467
+ _list = _addService2.list,
468
+ quantity = _addService2.quantity;
469
+ window.dispatchEvent(new CustomEvent('onAddNewService', {
470
+ detail: {
471
+ cacheItem: finalCacheItem
472
+ }
473
+ }));
474
+
475
+ // 2155 日志记录
476
+ logServiceForSpecificShop(item, detail, _list);
477
+
478
+ // 立即更新 stateRef,减少竞态窗口
479
+ stateRef.current = _objectSpread(_objectSpread({}, stateRef.current), {}, {
480
+ service: _objectSpread(_objectSpread({}, stateRef.current.service), {}, {
481
+ value: _list
482
+ })
483
+ });
484
+ dispatch({
485
+ type: 'setService',
486
+ payload: {
487
+ addModal: false,
488
+ value: _list,
489
+ edit: true,
490
+ changeService: false
491
+ }
492
+ });
493
+
494
+ // 清理缓存数据
495
+ delete pendingCacheValuesRef.current[productKey];
496
+ delete clickCountRef.current[productKey];
497
+ delete debounceTimersRef.current[productKey];
498
+ });
499
+
500
+ // 处理手动编辑的服务
501
+ var processManualEditService = useMemoizedFn(function (cacheItem) {
502
+ var _window$openBookingEd, _window;
503
+ (_window$openBookingEd = (_window = window).openBookingEditModal) === null || _window$openBookingEd === void 0 || _window$openBookingEd.call(_window);
504
+ dispatch({
505
+ type: 'setService',
506
+ payload: {
507
+ editModal: true,
508
+ cacheItem: cacheItem,
509
+ addModal: !cacheItem.autoClose,
510
+ changeService: false
511
+ }
512
+ });
513
+ onEdit === null || onEdit === void 0 || onEdit(cacheItem);
514
+ });
515
+
516
+ // 特定商店的日志记录
517
+ var logServiceForSpecificShop = useMemoizedFn(function (item, detail, _list) {
518
+ try {
519
+ var _context$appHelper$ut4, _context$appHelper$ut5;
520
+ if (((_context$appHelper$ut4 = context.appHelper.utils.store) === null || _context$appHelper$ut4 === void 0 || (_context$appHelper$ut5 = _context$appHelper$ut4.getState) === null || _context$appHelper$ut5 === void 0 || (_context$appHelper$ut5 = _context$appHelper$ut5.call(_context$appHelper$ut4)) === null || _context$appHelper$ut5 === void 0 || (_context$appHelper$ut5 = _context$appHelper$ut5.global) === null || _context$appHelper$ut5 === void 0 || (_context$appHelper$ut5 = _context$appHelper$ut5.globalConfig) === null || _context$appHelper$ut5 === void 0 ? void 0 : _context$appHelper$ut5.id) === 2155) {
521
+ var val = _list === null || _list === void 0 ? void 0 : _list.map(function (s) {
522
+ return {
523
+ product_id: s === null || s === void 0 ? void 0 : s.product_id,
524
+ detailId: s === null || s === void 0 ? void 0 : s.id,
525
+ detailProductId: s === null || s === void 0 ? void 0 : s.product_id,
526
+ product_name: s === null || s === void 0 ? void 0 : s.title,
527
+ price: s === null || s === void 0 ? void 0 : s.price,
528
+ _id: s === null || s === void 0 ? void 0 : s._id,
529
+ _key: s === null || s === void 0 ? void 0 : s._key,
530
+ _serviceKey: s === null || s === void 0 ? void 0 : s._serviceKey
531
+ };
532
+ });
533
+ var sendData = {
534
+ product_id: item === null || item === void 0 ? void 0 : item.id,
535
+ detailId: detail === null || detail === void 0 ? void 0 : detail.id,
536
+ detailProductId: detail === null || detail === void 0 ? void 0 : detail.product_id,
537
+ product_name: item === null || item === void 0 ? void 0 : item.title,
538
+ price: detail === null || detail === void 0 ? void 0 : detail.price,
539
+ serviceVal: val
339
540
  };
541
+ sendWarningLog({
542
+ title: 'addService',
543
+ content: [{
544
+ key: '添加数据',
545
+ value: JSON.stringify(sendData)
546
+ }, {
547
+ key: '日期',
548
+ value: dayjs().format('YYYY-MM-DD HH:mm:ss')
549
+ }]
550
+ });
340
551
  }
552
+ } catch (error) {}
553
+ });
554
+
555
+ // 处理非 booking4 的预约创建
556
+ var handleBookingCreation = useMemoizedFn( /*#__PURE__*/function () {
557
+ var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(item, params, detail) {
558
+ var data;
559
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
560
+ while (1) switch (_context.prev = _context.next) {
561
+ case 0:
562
+ _context.next = 2;
563
+ return createBookingData({
564
+ product: _objectSpread(_objectSpread({}, detail || item), {}, {
565
+ _params: params
566
+ })
567
+ });
568
+ case 2:
569
+ data = _context.sent;
570
+ createBooking({
571
+ booking: data
572
+ });
573
+ case 4:
574
+ case "end":
575
+ return _context.stop();
576
+ }
577
+ }, _callee);
578
+ }));
579
+ return function (_x, _x2, _x3) {
580
+ return _ref.apply(this, arguments);
581
+ };
582
+ }());
583
+
584
+ // 处理 booking4 的服务添加
585
+ var handleBooking4Service = useMemoizedFn(function (item, params, detail, notShowToast) {
586
+ var cacheItem = createCacheItemFromParams(item, params, detail);
587
+ if (cacheItem.autoClose) {
588
+ processAutoCloseService(cacheItem, item, detail, notShowToast);
589
+ } else {
590
+ processManualEditService(cacheItem);
341
591
  }
342
- var callback = /*#__PURE__*/function () {
343
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(e, extension_type, detail, notShowToast) {
344
- var data, _currentItem, _detail, other, cacheItem, _total, _isEdit, _state$service$cacheI, val, _addService2, _list, quantity, _context$appHelper$ut4, _context$appHelper$ut5, _val, sendData, _window$openBookingEd, _window;
345
- return _regeneratorRuntime().wrap(function _callee$(_context) {
346
- while (1) switch (_context.prev = _context.next) {
347
- case 0:
348
- setCurrentProduct(null);
349
- // 防止选择商品弹窗多次触发callback
350
- // if (lock) {
351
- // return;
352
- // }
592
+ });
353
593
 
354
- lock = true;
594
+ // 直接添加商品(不打开弹窗)
595
+ var handleDirectAddService = useMemoizedFn( /*#__PURE__*/function () {
596
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(item) {
597
+ var cacheItem;
598
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
599
+ while (1) switch (_context2.prev = _context2.next) {
600
+ case 0:
601
+ console.log(item, 'handleSelectProduct33', '_list_list');
602
+ if (isBooking4) {
603
+ _context2.next = 5;
604
+ break;
605
+ }
606
+ _context2.next = 4;
607
+ return handleBookingCreation(item, item.cartDetailValue);
608
+ case 4:
609
+ return _context2.abrupt("return");
610
+ case 5:
611
+ cacheItem = createCacheItemFromParams(item, item.cartDetailValue);
612
+ if (cacheItem.autoClose) {
613
+ // 使用带防抖的处理函数
614
+ processAutoCloseService(cacheItem, item, item, false);
615
+ } else {
616
+ processManualEditService(cacheItem);
617
+ }
618
+ case 7:
619
+ case "end":
620
+ return _context2.stop();
621
+ }
622
+ }, _callee2);
623
+ }));
624
+ return function (_x4) {
625
+ return _ref2.apply(this, arguments);
626
+ };
627
+ }());
355
628
 
356
- // 2秒后解除
357
- setTimeout(function () {
358
- lock = false;
359
- }, 2000);
629
+ // 创建产品弹窗回调
630
+ var createProductModalCallback = useMemoizedFn(function (item) {
631
+ return /*#__PURE__*/function () {
632
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(e, extension_type, detail, notShowToast) {
633
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
634
+ while (1) switch (_context3.prev = _context3.next) {
635
+ case 0:
636
+ setCurrentProduct(null);
360
637
  if (isBooking4) {
361
- _context.next = 9;
638
+ _context3.next = 5;
362
639
  break;
363
640
  }
364
- _context.next = 6;
365
- return createBookingData({
366
- product: _objectSpread(_objectSpread({}, detail || item), {}, {
367
- _params: e
368
- })
369
- });
641
+ _context3.next = 4;
642
+ return handleBookingCreation(item, e, detail);
643
+ case 4:
644
+ return _context3.abrupt("return");
645
+ case 5:
646
+ handleBooking4Service(item, e, detail, notShowToast);
370
647
  case 6:
371
- data = _context.sent;
372
- // 创建预约
373
- createBooking({
374
- booking: data
375
- });
376
- return _context.abrupt("return");
377
- case 9:
378
- _currentItem = detail || item; // info2 addService 逻辑
379
- _detail = _currentItem;
380
- other = JSON.parse(JSON.stringify(e));
381
- other.session = e.session;
382
- cacheItem = _objectSpread(_objectSpread({}, _detail), {}, {
383
- product_id: _currentItem.id,
384
- _id: getUniqueId(),
385
- _key: e.key,
386
- _extend: {
387
- start_date: state.date.value,
388
- quantity: (e === null || e === void 0 ? void 0 : e.quantity) || 1,
389
- price: _detail.price,
390
- product_name: _currentItem.title,
391
- other: other
392
- },
393
- new: 1
394
- });
395
- _total = getProductTotalPrice(cacheItem); // 用于折扣 可修改
396
- cacheItem._extend.total = _total;
397
- // 用于储存原价
398
- cacheItem._extend.origin_total = _total;
399
- _isEdit = !!state.service.cacheItem;
400
- if (_isEdit) {
401
- cacheItem._id = (_state$service$cacheI = state.service.cacheItem) === null || _state$service$cacheI === void 0 ? void 0 : _state$service$cacheI._id;
402
- cacheItem.new = 0;
403
- }
404
- // 渲染到当前位置模式时,默认无资源 时间默认取顶部设置的时间
405
- if (renderMode === 'current') {
406
- // cacheItem._extend.resource = 0;
407
- cacheItem.currentDefaultTime = state.date.value.format('HH:mm');
408
- }
409
- cacheItem = getProductExtend({
410
- cacheItem: cacheItem,
411
- state: state,
412
- isDisabledTime: true
413
- });
414
- if (state.renderType === 'eventBooking') {
415
- cacheItem.autoClose = false;
416
- }
417
- if (cacheItem.autoClose) {
418
- cacheItem.autoClose = false;
419
- cacheItem._serviceKey = genServiceKey(cacheItem);
420
- val = getCurrentServiceValue();
421
- _addService2 = addService(_toConsumableArray(val), cacheItem, state), _list = _addService2.list, quantity = _addService2.quantity; // 更新ref以确保后续快速操作时使用最新值
422
- latestServiceValueRef.current = _list;
423
- lastOperationTimeRef.current = Date.now();
424
- if (!notShowToast) {
425
- handleAddToast(cacheItem.title, quantity || 1);
426
- }
427
- window.dispatchEvent(new CustomEvent('onAddNewService', {
428
- detail: {
429
- cacheItem: cacheItem
430
- }
431
- }));
432
- try {
433
- if (((_context$appHelper$ut4 = context.appHelper.utils.store) === null || _context$appHelper$ut4 === void 0 || (_context$appHelper$ut5 = _context$appHelper$ut4.getState) === null || _context$appHelper$ut5 === void 0 || (_context$appHelper$ut5 = _context$appHelper$ut5.call(_context$appHelper$ut4)) === null || _context$appHelper$ut5 === void 0 || (_context$appHelper$ut5 = _context$appHelper$ut5.global) === null || _context$appHelper$ut5 === void 0 || (_context$appHelper$ut5 = _context$appHelper$ut5.globalConfig) === null || _context$appHelper$ut5 === void 0 ? void 0 : _context$appHelper$ut5.id) === 2155) {
434
- _val = _list === null || _list === void 0 ? void 0 : _list.map(function (s) {
435
- return {
436
- product_id: s === null || s === void 0 ? void 0 : s.product_id,
437
- detailId: s === null || s === void 0 ? void 0 : s.id,
438
- detailProductId: s === null || s === void 0 ? void 0 : s.product_id,
439
- product_name: s === null || s === void 0 ? void 0 : s.title,
440
- price: s === null || s === void 0 ? void 0 : s.price,
441
- _id: s === null || s === void 0 ? void 0 : s._id,
442
- _key: s === null || s === void 0 ? void 0 : s._key,
443
- _serviceKey: s === null || s === void 0 ? void 0 : s._serviceKey
444
- };
445
- });
446
- sendData = {
447
- product_id: _currentItem === null || _currentItem === void 0 ? void 0 : _currentItem.id,
448
- detailId: _detail === null || _detail === void 0 ? void 0 : _detail.id,
449
- detailProductId: _detail === null || _detail === void 0 ? void 0 : _detail.product_id,
450
- product_name: _currentItem === null || _currentItem === void 0 ? void 0 : _currentItem.title,
451
- price: _detail === null || _detail === void 0 ? void 0 : _detail.price,
452
- serviceVal: _val
453
- };
454
- sendWarningLog({
455
- title: 'addService',
456
- content: [{
457
- key: '添加数据',
458
- value: JSON.stringify(sendData)
459
- }, {
460
- key: '日期',
461
- value: dayjs().format('YYYY-MM-DD HH:mm:ss')
462
- }]
463
- });
464
- }
465
- } catch (error) {}
466
- dispatch({
467
- type: 'setService',
468
- payload: {
469
- addModal: false,
470
- value: _list,
471
- edit: true,
472
- changeService: false
473
- }
474
- });
475
- } else {
476
- (_window$openBookingEd = (_window = window).openBookingEditModal) === null || _window$openBookingEd === void 0 || _window$openBookingEd.call(_window);
477
- dispatch({
478
- type: 'setService',
479
- payload: {
480
- editModal: true,
481
- cacheItem: cacheItem,
482
- addModal: !cacheItem.autoClose,
483
- changeService: false
484
- }
485
- });
486
- onEdit === null || onEdit === void 0 || onEdit(cacheItem);
487
- }
488
- case 23:
489
648
  case "end":
490
- return _context.stop();
649
+ return _context3.stop();
491
650
  }
492
- }, _callee);
651
+ }, _callee3);
493
652
  }));
494
- return function callback(_x, _x2, _x3, _x4) {
495
- return _ref.apply(this, arguments);
653
+ return function (_x5, _x6, _x7, _x8) {
654
+ return _ref3.apply(this, arguments);
496
655
  };
497
656
  }();
657
+ });
498
658
 
499
- // 如果不需要打开弹窗, 直接添加数据
500
- if (cacheValues) {
501
- var _state$service$value, _detail$_extend, _Toast$success2;
502
- var productId = item.id.toString();
503
-
504
- // 如果已经有pending的同商品,增加点击次数
505
- if (pendingCacheValuesRef.current[productId]) {
506
- clickCountRef.current[productId] = (clickCountRef.current[productId] || 1) + 1;
507
- } else {
508
- // 第一次点击,初始化数据
509
- pendingCacheValuesRef.current[productId] = cacheValues;
510
- clickCountRef.current[productId] = 1;
511
- }
512
- var cacheItem = createSimpleCacheItem(item, cacheValues, state);
513
- var detail = (_state$service$value = state.service.value) === null || _state$service$value === void 0 ? void 0 : _state$service$value.find(function (val) {
514
- return isSameProduct(val, cacheItem);
515
- });
516
- var originalQuantity = (detail === null || detail === void 0 || (_detail$_extend = detail._extend) === null || _detail$_extend === void 0 ? void 0 : _detail$_extend.quantity) || 0;
517
- Toast === null || Toast === void 0 || (_Toast$success2 = Toast.success) === null || _Toast$success2 === void 0 || _Toast$success2.call(Toast, /*#__PURE__*/React.createElement("div", {
518
- className: "add-toast-wrap"
519
- }, /*#__PURE__*/React.createElement("div", {
520
- className: "add-toast-title"
521
- }, item.title), /*#__PURE__*/React.createElement("div", {
522
- className: "add-toast-quantity"
523
- }, locales.getText('pisell2.ticket-booking.in-cart')((clickCountRef.current[productId] || 1) + originalQuantity))));
524
- debouncedExecuteCacheValues(productId, cacheValues, item, callback);
525
- return;
526
- }
659
+ // 打开产品选择弹窗
660
+ var openProductModal = useMemoizedFn(function (item) {
661
+ var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'select';
662
+ var isSession = isSessionProduct(item);
663
+ var isOnlySession = getIsOnlySession(item);
664
+ var isEject = getIsEject(item, type);
527
665
  state.action({
528
666
  type: 'pisell1.handleOpenProductModal',
529
667
  data: {
530
668
  id: item.id,
531
669
  date: state.date.value.format('YYYY-MM-DD'),
670
+ productDetail: item,
532
671
  showConfig: {
533
672
  option: true,
534
673
  session: isSession,
@@ -544,9 +683,298 @@ var AddSerivce = function AddSerivce(props) {
544
683
  onCancel: function onCancel() {
545
684
  setCurrentProduct(null);
546
685
  },
547
- callback: callback
686
+ callback: createProductModalCallback(item)
548
687
  });
549
688
  });
689
+
690
+ // 处理产品选择
691
+ var handleSelectProduct = useMemoizedFn( /*#__PURE__*/function () {
692
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(item) {
693
+ var type,
694
+ _args4 = arguments;
695
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
696
+ while (1) switch (_context4.prev = _context4.next) {
697
+ case 0:
698
+ type = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : 'select';
699
+ console.log(item, 'handleSelectProduct');
700
+ // 检查资源可用性
701
+ if (checkResourceAvailability(item)) {
702
+ _context4.next = 4;
703
+ break;
704
+ }
705
+ return _context4.abrupt("return");
706
+ case 4:
707
+ if (item.isOpenDetailModal) {
708
+ _context4.next = 8;
709
+ break;
710
+ }
711
+ _context4.next = 7;
712
+ return handleDirectAddService(item);
713
+ case 7:
714
+ return _context4.abrupt("return");
715
+ case 8:
716
+ // 打开产品选择弹窗
717
+ openProductModal(item, type);
718
+ case 9:
719
+ case "end":
720
+ return _context4.stop();
721
+ }
722
+ }, _callee4);
723
+ }));
724
+ return function (_x9) {
725
+ return _ref4.apply(this, arguments);
726
+ };
727
+ }());
728
+ /**
729
+ const handleSelectProduct = useMemoizedFn(
730
+ (item: any, type: 'select' | 'detail' = 'select') => {
731
+ console.log(item, 'handleSelectProduct');
732
+ if (!isNormalProductByDurationSchedule(item)) {
733
+ if (
734
+ !Array.isArray(state.service?.resourcesOrigin) ||
735
+ !state.service.resourcesOrigin.length
736
+ ) {
737
+ dispatch({
738
+ type: 'setService',
739
+ payload: {
740
+ ...stateRef.current.service,
741
+ reloadResourceModal: true,
742
+ },
743
+ });
744
+ return;
745
+ }
746
+ }
747
+ const isSession = isSessionProduct(item);
748
+ // 是否有单规格 组合规格 套餐, 或者session商品 如果没有不需要打开弹窗
749
+ const isEject = getIsEject(item, type);
750
+ const isOnlySession = getIsOnlySession(item);
751
+ let lock = false;
752
+ // 对于不需要打开弹窗的商品, 直接模拟数据, 不走弹窗
753
+ let cacheValues = null;
754
+ if (isEject) {
755
+ setCurrentProduct(item);
756
+ } else {
757
+ setCurrentProduct(null);
758
+ if (item?.extension_type === 'normal') {
759
+ cacheValues = {
760
+ bundle: [],
761
+ key: item.id,
762
+ option: [],
763
+ product_id: item.id,
764
+ product_variant_id: 0,
765
+ quantity: 1,
766
+ rowKey: item.id,
767
+ session: null,
768
+ unique: '08974625397',
769
+ _originalItem: item, // 保存原始商品信息
770
+ };
771
+ }
772
+ }
773
+ const callback = async (
774
+ e: any,
775
+ extension_type: any,
776
+ detail: any,
777
+ notShowToast: boolean
778
+ ) => {
779
+ setCurrentProduct(null);
780
+ // 防止选择商品弹窗多次触发callback
781
+ // if (lock) {
782
+ // return;
783
+ // }
784
+ lock = true;
785
+ // 2秒后解除
786
+ setTimeout(() => {
787
+ lock = false;
788
+ }, 2000);
789
+ if (!isBooking4) {
790
+ // info1 addService 逻辑
791
+ // 预生成预约数据
792
+ const data = await createBookingData({
793
+ product: { ...(detail || item), _params: e },
794
+ });
795
+ // 创建预约
796
+ createBooking({ booking: data });
797
+ return;
798
+ }
799
+ const _currentItem = detail || item;
800
+ // info2 addService 逻辑
801
+ const _detail = _currentItem;
802
+ const other = JSON.parse(JSON.stringify(e));
803
+ other.session = e.session;
804
+ let cacheItem: any = {
805
+ ..._detail,
806
+ product_id: _currentItem.id,
807
+ _id: getUniqueId(),
808
+ _key: e.key,
809
+ _extend: {
810
+ start_date: state.date.value,
811
+ quantity: e?.quantity || 1,
812
+ price: _detail.price,
813
+ product_name: _currentItem.title,
814
+ other,
815
+ },
816
+ new: 1,
817
+ };
818
+ let _total = getProductTotalPrice(cacheItem);
819
+ // 用于折扣 可修改
820
+ cacheItem._extend.total = _total;
821
+ // 用于储存原价
822
+ cacheItem._extend.origin_total = _total;
823
+ const _isEdit = !!state.service.cacheItem;
824
+ if (_isEdit) {
825
+ cacheItem._id = state.service.cacheItem?._id;
826
+ cacheItem.new = 0;
827
+ }
828
+ // 渲染到当前位置模式时,默认无资源 时间默认取顶部设置的时间
829
+ if (renderMode === 'current') {
830
+ // cacheItem._extend.resource = 0;
831
+ cacheItem.currentDefaultTime = state.date.value.format('HH:mm');
832
+ }
833
+ cacheItem = getProductExtend({
834
+ cacheItem,
835
+ state,
836
+ isDisabledTime: true,
837
+ });
838
+ if (state.renderType === 'eventBooking') {
839
+ cacheItem.autoClose = false;
840
+ }
841
+ if (cacheItem.autoClose) {
842
+ cacheItem.autoClose = false;
843
+ cacheItem._serviceKey = genServiceKey(cacheItem);
844
+ const val = getCurrentServiceValue();
845
+ let { list: _list, quantity } = addService(
846
+ [...val],
847
+ cacheItem,
848
+ stateRef.current
849
+ );
850
+ // 更新ref以确保后续快速操作时使用最新值
851
+ latestServiceValueRef.current = _list;
852
+ lastOperationTimeRef.current = Date.now();
853
+ if (!notShowToast) {
854
+ handleAddToast(cacheItem.title, quantity || 1);
855
+ }
856
+ window.dispatchEvent(
857
+ new CustomEvent('onAddNewService', {
858
+ detail: {
859
+ cacheItem,
860
+ },
861
+ })
862
+ );
863
+ try {
864
+ if (
865
+ context.appHelper.utils.store?.getState?.()?.global?.globalConfig
866
+ ?.id === 2155
867
+ ) {
868
+ const val = _list?.map((s) => {
869
+ return {
870
+ product_id: s?.product_id,
871
+ detailId: s?.id,
872
+ detailProductId: s?.product_id,
873
+ product_name: s?.title,
874
+ price: s?.price,
875
+ _id: s?._id,
876
+ _key: s?._key,
877
+ _serviceKey: s?._serviceKey,
878
+ };
879
+ });
880
+ const sendData = {
881
+ product_id: _currentItem?.id,
882
+ detailId: _detail?.id,
883
+ detailProductId: _detail?.product_id,
884
+ product_name: _currentItem?.title,
885
+ price: _detail?.price,
886
+ serviceVal: val,
887
+ };
888
+ sendWarningLog({
889
+ title: 'addService',
890
+ content: [
891
+ { key: '添加数据', value: JSON.stringify(sendData) },
892
+ {
893
+ key: '日期',
894
+ value: dayjs().format('YYYY-MM-DD HH:mm:ss'),
895
+ },
896
+ ],
897
+ });
898
+ }
899
+ } catch (error) {}
900
+ dispatch({
901
+ type: 'setService',
902
+ payload: {
903
+ addModal: false,
904
+ value: _list,
905
+ edit: true,
906
+ changeService: false,
907
+ },
908
+ });
909
+ } else {
910
+ window.openBookingEditModal?.();
911
+ dispatch({
912
+ type: 'setService',
913
+ payload: {
914
+ editModal: true,
915
+ cacheItem: cacheItem,
916
+ addModal: !cacheItem.autoClose,
917
+ changeService: false,
918
+ },
919
+ });
920
+ onEdit?.(cacheItem);
921
+ }
922
+ };
923
+ // 如果不需要打开弹窗, 直接添加数据
924
+ if (cacheValues) {
925
+ const productId = item.id.toString();
926
+ // 如果已经有pending的同商品,增加点击次数
927
+ if (pendingCacheValuesRef.current[productId]) {
928
+ clickCountRef.current[productId] =
929
+ (clickCountRef.current[productId] || 1) + 1;
930
+ } else {
931
+ // 第一次点击,初始化数据
932
+ pendingCacheValuesRef.current[productId] = cacheValues;
933
+ clickCountRef.current[productId] = 1;
934
+ }
935
+ const cacheItem = createSimpleCacheItem(item, cacheValues, stateRef.current);
936
+ const detail = stateRef.current.service.value?.find((val: any) =>
937
+ isSameProduct(val, cacheItem)
938
+ );
939
+ const originalQuantity = detail?._extend?.quantity || 0;
940
+ Toast?.success?.(
941
+ <div className="add-toast-wrap">
942
+ <div className="add-toast-title">{item.title}</div>
943
+ <div className="add-toast-quantity">
944
+ {locales.getText('pisell2.ticket-booking.in-cart')(
945
+ (clickCountRef.current[productId] || 1) + originalQuantity
946
+ )}
947
+ </div>
948
+ </div>
949
+ );
950
+ debouncedExecuteCacheValues(productId, cacheValues, item, callback);
951
+ return;
952
+ }
953
+ state.action({
954
+ type: 'pisell1.handleOpenProductModal',
955
+ data: {
956
+ id: item.id,
957
+ date: state.date.value.format('YYYY-MM-DD'),
958
+ showConfig: {
959
+ option: true,
960
+ session: isSession,
961
+ variant: true,
962
+ package: true,
963
+ number: getIsShowNumber(item, state),
964
+ },
965
+ isOnlySession,
966
+ is_eject: isEject ? 1 : 0,
967
+ customer_id: customerId,
968
+ isOS: isSession,
969
+ },
970
+ onCancel: () => {
971
+ setCurrentProduct(null);
972
+ },
973
+ callback,
974
+ });
975
+ }
976
+ );
977
+ */
550
978
  var renderList = useMemo(function () {
551
979
  var _list = products || [];
552
980
 
@@ -575,22 +1003,42 @@ var AddSerivce = function AddSerivce(props) {
575
1003
  menu_list_ids: menuList,
576
1004
  schedule_datetime: currentDatetime
577
1005
  });
1006
+ getScheduleTimePoints({
1007
+ menu_list_ids: menuList
1008
+ });
1009
+ }
1010
+ }, [renderMode, customerId, menuList]);
1011
+
1012
+ // 产品展示配置,支持字符串预设或完整配置对象
1013
+ var finalDisplayConfig = useMemo(function () {
1014
+ // 解析配置(支持字符串或对象)
1015
+ var resolvedConfig = resolveProductDisplayConfig(productDisplayConfig);
1016
+
1017
+ // 如果是 ProductSelect 模式,合并默认的 layout 和 setting
1018
+ if (resolvedConfig.displayMode === 'product-select') {
1019
+ var _resolvedConfig$produ, _resolvedConfig$produ2;
1020
+ return _objectSpread(_objectSpread({}, resolvedConfig), {}, {
1021
+ productSelectConfig: _objectSpread(_objectSpread({}, resolvedConfig.productSelectConfig), {}, {
1022
+ layout: ((_resolvedConfig$produ = resolvedConfig.productSelectConfig) === null || _resolvedConfig$produ === void 0 ? void 0 : _resolvedConfig$produ.layout) || productListLayout,
1023
+ productListSetting: ((_resolvedConfig$produ2 = resolvedConfig.productSelectConfig) === null || _resolvedConfig$produ2 === void 0 ? void 0 : _resolvedConfig$produ2.productListSetting) || productListSetting
1024
+ })
1025
+ });
578
1026
  }
579
- }, [renderMode, currentDate, customerId, menuList, currentDatetime]);
1027
+ return resolvedConfig;
1028
+ }, [productDisplayConfig]);
580
1029
  return useMemo(function () {
581
1030
  if (renderMode === 'current') {
582
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ProductSelect, {
1031
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ProductDisplayAdapter, {
1032
+ config: finalDisplayConfig,
583
1033
  dataSource: renderList,
584
- layout: productListLayout,
585
- onChange: handleSelectProduct,
586
- value: currentProduct === null || currentProduct === void 0 ? void 0 : currentProduct.id,
587
- loading: !renderList.length && loading,
588
- productListSetting: productListSetting
1034
+ loading: !renderList.length && loading || firstLoading,
1035
+ currentProductId: currentProduct === null || currentProduct === void 0 ? void 0 : currentProduct.id,
1036
+ onSelectProduct: handleSelectProduct
589
1037
  }), /*#__PURE__*/React.createElement(NotAvailable, {
590
1038
  ref: notAvailableRef
591
1039
  }));
592
1040
  }
593
1041
  return null;
594
- }, [state.service.addModal, locales, renderList, state.amountSymbol, state.renderType, state === null || state === void 0 ? void 0 : state.activeCartId, holderId(state), loading, currentProduct, isBooking4]);
1042
+ }, [firstLoading, state.service.addModal, locales, renderList, state.amountSymbol, state.renderType, state === null || state === void 0 ? void 0 : state.activeCartId, holderId(state), loading, currentProduct, isBooking4, finalDisplayConfig]);
595
1043
  };
596
1044
  export default AddSerivce;