@pisell/private-materials 6.7.9 → 6.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (421) 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 +9 -9
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +9 -9
  11. package/es/components/appointmentBooking/components/Voucher/index.js +2 -1
  12. package/es/components/booking/addons/index.js +25 -17
  13. package/es/components/booking/components/footer/amount.d.ts +1 -0
  14. package/es/components/booking/components/footer/amount.js +548 -84
  15. package/es/components/booking/components/footer/index.js +77 -56
  16. package/es/components/booking/components/footer/utils.d.ts +19 -0
  17. package/es/components/booking/components/footer/utils.js +194 -73
  18. package/es/components/booking/components/voucher/index.js +23 -7
  19. package/es/components/booking/hooks/useQuotation.js +4 -1
  20. package/es/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +0 -1
  21. package/es/components/booking/info/hooks/useInfoHolder.d.ts +0 -1
  22. package/es/components/booking/info/service2/utils.js +1 -0
  23. package/es/components/booking/info2/cartClientCard/index.js +30 -6
  24. package/es/components/booking/info2/index.js +1 -1
  25. package/es/components/booking/info2/service/addService/index.js +2 -3
  26. package/es/components/booking/info2/service/editNormalService/index.js +6 -0
  27. package/es/components/booking/info2/service/editService/index.js +16 -6
  28. package/es/components/booking/info2/service/editService/utils.d.ts +15 -0
  29. package/es/components/booking/info2/service/editService/utils.js +66 -0
  30. package/es/components/booking/utils.d.ts +1 -0
  31. package/es/components/booking/utils.js +16 -3
  32. package/es/components/checkout/PaymentModal.d.ts +13 -5
  33. package/es/components/checkout/PaymentModal.js +304 -252
  34. package/es/components/checkout/components/AdditionalModule/index.d.ts +3 -1
  35. package/es/components/checkout/components/AdditionalModule/index.js +52 -12
  36. package/es/components/checkout/components/AmountSummary/index.js +9 -76
  37. package/es/components/checkout/components/AmountSummary/index.less +5 -6
  38. package/es/components/checkout/components/CashPaymentModule/index.d.ts +3 -1
  39. package/es/components/checkout/components/CashPaymentModule/index.js +5 -2
  40. package/es/components/checkout/components/PaymentDetailModal/index.js +2 -2
  41. package/es/components/checkout/components/PaymentOptionsModule/PaymentMethodItem.d.ts +2 -0
  42. package/es/components/checkout/components/PaymentOptionsModule/PaymentMethodItem.js +6 -1
  43. package/es/components/checkout/components/PaymentOptionsModule/index.d.ts +1 -0
  44. package/es/components/checkout/components/PaymentOptionsModule/index.js +2 -1
  45. package/es/components/checkout/components/PaymentOptionsModule/index.less +4 -0
  46. package/es/components/checkout/components/PaymentResultToast/PaymentResultToastProvider.d.ts +4 -0
  47. package/es/components/checkout/components/PaymentResultToast/PaymentResultToastProvider.js +31 -8
  48. package/es/components/checkout/components/PaymentResultToast/index.js +6 -6
  49. package/es/components/checkout/components/PaymentResultToast/index.less +94 -33
  50. package/es/components/checkout/components/SearchAndClientModule/index.js +39 -40
  51. package/es/components/checkout/index.less +1 -1
  52. package/es/components/checkout/locales.d.ts +6 -0
  53. package/es/components/checkout/locales.js +6 -0
  54. package/es/components/checkout/plugin.d.ts +2 -0
  55. package/es/components/checkout/plugin.js +303 -0
  56. package/es/components/checkout/utils/PaymentResultToastUtils.d.ts +0 -1
  57. package/es/components/checkout/utils/PaymentResultToastUtils.js +11 -1
  58. package/es/components/eftpos/hooks.d.ts +0 -1
  59. package/es/components/eftposPay/hooks.d.ts +1 -1
  60. package/es/components/eftposPay/linkly/hooks/useTimeQuery.js +14 -6
  61. package/es/components/eftposPay/payo/config.js +70 -32
  62. package/es/components/eftposPay/payo/payment.d.ts +66 -0
  63. package/es/components/eftposPay/payo/payment.js +579 -0
  64. package/es/components/eftposPay/store/index.d.ts +4 -4
  65. package/es/components/eftposPay/tyro/hooks.d.ts +0 -1
  66. package/es/components/eftposPay/tyro/index.js +12 -0
  67. package/es/components/eftposPay/utils/log/index.d.ts +110 -0
  68. package/es/components/eftposPay/utils/log/index.js +371 -0
  69. package/es/components/eventBooking/components/ErrorTip/index.d.ts +0 -1
  70. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +0 -1
  71. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/CallToBook/index.d.ts +0 -1
  72. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +0 -1
  73. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +0 -1
  74. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +0 -1
  75. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +0 -1
  76. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Status/index.d.ts +0 -1
  77. package/es/components/index.d.ts +2 -1
  78. package/es/components/index.js +2 -1
  79. package/es/components/list/List.js +99 -56
  80. package/es/components/list/hooks/useListState.d.ts +5 -3
  81. package/es/components/list/hooks/useListState.js +10 -2
  82. package/es/components/list/styles/base.less +4 -0
  83. package/es/components/list/styles/content.less +1 -1
  84. package/es/components/list/styles/header.less +4 -4
  85. package/es/components/list/types.d.ts +1 -0
  86. package/es/components/list/utils/index.d.ts +13 -1
  87. package/es/components/list/utils/index.js +43 -1
  88. package/es/components/pay/toC/PaymentMethods/MWCreditCard/tds2.js +14 -12
  89. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/Finish/index.d.ts +0 -1
  90. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +0 -1
  91. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/components/PageLoading/index.d.ts +0 -1
  92. package/es/components/pay/toC/PaymentMethods/WalletPass/serve.d.ts +6 -0
  93. package/es/components/pay/toC/PaymentMethods/WalletPass/utils.js +4 -2
  94. package/es/components/pay/toC/PaymentMethods/components/PaymentReturnContent/index.js +2 -0
  95. package/es/components/pay/toC/PaymentMethods/components/PaymentReturnContent/index.less +13 -3
  96. package/es/components/pay/toC/index.js +7 -4
  97. package/es/components/pay/toC/locales.d.ts +3 -0
  98. package/es/components/pay/toC/locales.js +6 -3
  99. package/es/components/pay/toC/status.d.ts +1 -0
  100. package/es/components/pay/toC/status.js +3 -0
  101. package/es/components/shoppingCart/components/Empty/index.d.ts +0 -1
  102. package/es/components/subTotal/index.js +1 -1
  103. package/es/components/systemSettings/registry/components/GroupModal.d.ts +4 -0
  104. package/es/components/{checkout/PaymentPlugin.js → systemSettings/registry/components/GroupModal.js} +132 -171
  105. package/es/components/systemSettings/registry/components/ItemModal.d.ts +4 -0
  106. package/es/components/systemSettings/registry/components/ItemModal.js +547 -0
  107. package/es/components/systemSettings/registry/components/ModuleList.d.ts +4 -0
  108. package/es/components/systemSettings/registry/components/ModuleList.js +54 -0
  109. package/es/components/systemSettings/registry/components/SectionList.d.ts +4 -0
  110. package/es/components/systemSettings/registry/components/SectionList.js +174 -0
  111. package/es/components/systemSettings/registry/components/SettingsTable.d.ts +4 -0
  112. package/es/components/systemSettings/registry/components/SettingsTable.js +765 -0
  113. package/es/components/systemSettings/registry/components/index.d.ts +4 -0
  114. package/es/components/systemSettings/registry/components/index.js +4 -0
  115. package/es/components/systemSettings/registry/index.d.ts +5 -0
  116. package/es/components/systemSettings/registry/index.js +1059 -0
  117. package/es/components/systemSettings/registry/index.less +410 -0
  118. package/es/components/systemSettings/registry/locales.d.ts +272 -0
  119. package/es/components/systemSettings/registry/locales.js +300 -0
  120. package/es/components/systemSettings/registry/services.d.ts +77 -0
  121. package/es/components/systemSettings/registry/services.js +472 -0
  122. package/es/components/systemSettings/registry/types.d.ts +126 -0
  123. package/es/components/systemSettings/registry/types.js +1 -0
  124. package/es/components/systemSettings/registry/utils/typeValidation.d.ts +16 -0
  125. package/es/components/systemSettings/registry/utils/typeValidation.js +284 -0
  126. package/es/components/systemSettings/registry/utils/validators.d.ts +8 -0
  127. package/es/components/systemSettings/registry/utils/validators.js +44 -0
  128. package/es/components/ticketBooking/components/ProductDisplayAdapter/ProductDisplayAdapter.js +58 -11
  129. package/es/components/ticketBooking/components/ProductDisplayAdapter/index.less +28 -1
  130. package/es/components/ticketBooking/components/ProductDisplayAdapter/utils.d.ts +35 -2
  131. package/es/components/ticketBooking/components/ProductDisplayAdapter/utils.js +149 -36
  132. package/es/components/ticketBooking/components/addServiceVariant/addService.js +2 -86
  133. package/es/components/ticketBooking/components/menuBar/index.js +109 -12
  134. package/es/components/ticketBooking/components/ticketBooking/index.js +2 -2
  135. package/es/components/ticketBooking/components/timeBar/index.js +112 -7
  136. package/es/components/ticketBooking/components/timeBar/index.less +59 -0
  137. package/es/components/ticketBooking/hooks/pisellos/useProducts.js +29 -18
  138. package/es/components/ticketBooking/locales.d.ts +9 -0
  139. package/es/components/ticketBooking/locales.js +12 -3
  140. package/es/components/ticketBooking/utils/index.d.ts +3 -0
  141. package/es/components/ticketBooking/utils/index.js +36 -13
  142. package/es/components/wallet/Detail/index.js +34 -2
  143. package/es/components/wallet/Detail/index.less +11 -0
  144. package/es/components/wallet/Detail/locales.d.ts +6 -0
  145. package/es/components/wallet/Detail/locales.js +14 -2
  146. package/es/components/wallet/Voucher/index.js +11 -10
  147. package/es/components/wallet/components/WalletCard.js +5 -1
  148. package/es/components/wallet/index.js +4 -2
  149. package/es/components/wallet/serve.d.ts +7 -0
  150. package/es/components/wallet/utils.d.ts +48 -0
  151. package/es/components/wallet/utils.js +342 -0
  152. package/es/index.d.ts +5 -0
  153. package/es/index.js +6 -1
  154. package/es/plus/clientCard/locales.js +3 -3
  155. package/es/plus/clinetSearch/index.js +28 -30
  156. package/es/plus/clinetSearch/locales.d.ts +3 -0
  157. package/es/plus/clinetSearch/locales.js +7 -4
  158. package/es/plus/clinetSearch/types.d.ts +12 -0
  159. package/es/plus/productSelect/CategoryTabs/index.d.ts +1 -0
  160. package/es/plus/productSelect/CategoryTabs/index.js +2 -1
  161. package/es/plus/walletPassGallery/components/footerButton/index.js +2 -4
  162. package/es/plus/walletPassGallery/components/footerButton/index.less +14 -59
  163. package/es/plus/walletPassGallery/components/passDetail/index.d.ts +1 -0
  164. package/es/plus/walletPassGallery/components/passDetail/index.js +84 -31
  165. package/es/plus/walletPassGallery/components/passDetail/index.less +4 -0
  166. package/es/plus/walletPassGallery/components/recharge/index.js +19 -8
  167. package/es/plus/walletPassGallery/index.js +7 -3
  168. package/es/plus/walletPassGallery/serve.d.ts +3 -0
  169. package/es/plus/walletPassGallery/serve.js +4 -2
  170. package/es/pro/Login2.0/index.less +15 -8
  171. package/es/pro/Selector/BatchSelectorDemo.d.ts +3 -0
  172. package/es/pro/Selector/BatchSelectorDemo.js +470 -0
  173. package/es/pro/Selector/Selector.d.ts +5 -0
  174. package/es/pro/Selector/Selector.js +283 -0
  175. package/es/pro/Selector/SelectorGroup.d.ts +11 -0
  176. package/es/pro/Selector/SelectorGroup.js +537 -0
  177. package/es/pro/Selector/components/Card/index.d.ts +27 -0
  178. package/es/pro/Selector/components/Card/index.js +96 -0
  179. package/es/pro/Selector/components/Card/index.less +132 -0
  180. package/es/pro/Selector/components/IntersectionObserver.d.ts +105 -0
  181. package/es/pro/Selector/components/IntersectionObserver.js +384 -0
  182. package/es/pro/Selector/components/NumericStepper/index.d.ts +41 -0
  183. package/es/pro/Selector/components/NumericStepper/index.js +198 -0
  184. package/es/pro/Selector/components/NumericStepper/index.less +221 -0
  185. package/es/pro/Selector/components/index.d.ts +2 -0
  186. package/es/pro/Selector/components/index.js +2 -0
  187. package/es/pro/Selector/demo.d.ts +3 -0
  188. package/es/pro/Selector/demo.js +158 -0
  189. package/es/pro/Selector/hooks/useSelectionController.d.ts +42 -0
  190. package/es/pro/Selector/hooks/useSelectionController.js +414 -0
  191. package/es/pro/Selector/index.d.ts +8 -0
  192. package/es/pro/Selector/index.js +5 -0
  193. package/es/pro/Selector/locales.d.ts +42 -0
  194. package/es/pro/Selector/locales.js +80 -0
  195. package/es/pro/Selector/selector.less +3 -0
  196. package/es/pro/Selector/selectorGroup.less +8 -0
  197. package/es/pro/Selector/types.d.ts +114 -0
  198. package/es/pro/Selector/types.js +1 -0
  199. package/es/pro/Selector/utils/index.d.ts +49 -0
  200. package/es/pro/Selector/utils/index.js +229 -0
  201. package/es/pro/comprehensiveSearch/components/searchSection/locales.js +3 -3
  202. package/es/pro/comprehensiveSearch/locales.js +1 -1
  203. package/es/pro/priceKeyboard/components/cashKeyboard/CashKeyboardIntact.js +45 -36
  204. package/es/pro/priceKeyboard/components/cashKeyboard/index.d.ts +1 -0
  205. package/es/pro/priceKeyboard/components/cashKeyboard/index.js +4 -2
  206. package/es/pro/priceKeyboard/components/cashKeyboard/types.d.ts +1 -0
  207. package/es/pro/priceKeyboard/components/discountKeyboard/index.js +10 -1
  208. package/es/pro/priceKeyboard/components/discountKeyboard/index.less +14 -0
  209. package/es/pro/priceKeyboard/components/shortcuts/index.d.ts +1 -0
  210. package/es/pro/priceKeyboard/components/shortcuts/index.js +5 -2
  211. package/es/pro/priceKeyboard/components/shortcuts/index.less +4 -0
  212. package/lib/components/appointmentBooking/components/Voucher/index.js +2 -1
  213. package/lib/components/booking/addons/index.js +15 -7
  214. package/lib/components/booking/components/footer/amount.d.ts +1 -0
  215. package/lib/components/booking/components/footer/amount.js +293 -41
  216. package/lib/components/booking/components/footer/index.js +30 -11
  217. package/lib/components/booking/components/footer/utils.d.ts +19 -0
  218. package/lib/components/booking/components/footer/utils.js +138 -41
  219. package/lib/components/booking/components/voucher/index.js +25 -9
  220. package/lib/components/booking/hooks/useQuotation.js +2 -1
  221. package/lib/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +0 -1
  222. package/lib/components/booking/info/hooks/useInfoHolder.d.ts +0 -1
  223. package/lib/components/booking/info/service2/utils.js +1 -0
  224. package/lib/components/booking/info2/cartClientCard/index.js +25 -5
  225. package/lib/components/booking/info2/index.js +7 -2
  226. package/lib/components/booking/info2/service/addService/index.js +1 -2
  227. package/lib/components/booking/info2/service/editNormalService/index.js +6 -0
  228. package/lib/components/booking/info2/service/editService/index.js +12 -3
  229. package/lib/components/booking/info2/service/editService/utils.d.ts +15 -0
  230. package/lib/components/booking/info2/service/editService/utils.js +40 -3
  231. package/lib/components/booking/utils.d.ts +1 -0
  232. package/lib/components/booking/utils.js +11 -0
  233. package/lib/components/checkout/PaymentModal.d.ts +13 -5
  234. package/lib/components/checkout/PaymentModal.js +190 -147
  235. package/lib/components/checkout/components/AdditionalModule/index.d.ts +3 -1
  236. package/lib/components/checkout/components/AdditionalModule/index.js +52 -11
  237. package/lib/components/checkout/components/AmountSummary/index.js +5 -46
  238. package/lib/components/checkout/components/AmountSummary/index.less +5 -6
  239. package/lib/components/checkout/components/CashPaymentModule/index.d.ts +3 -1
  240. package/lib/components/checkout/components/CashPaymentModule/index.js +5 -2
  241. package/lib/components/checkout/components/PaymentDetailModal/index.js +2 -2
  242. package/lib/components/checkout/components/PaymentOptionsModule/PaymentMethodItem.d.ts +2 -0
  243. package/lib/components/checkout/components/PaymentOptionsModule/PaymentMethodItem.js +5 -1
  244. package/lib/components/checkout/components/PaymentOptionsModule/index.d.ts +1 -0
  245. package/lib/components/checkout/components/PaymentOptionsModule/index.js +6 -0
  246. package/lib/components/checkout/components/PaymentOptionsModule/index.less +4 -0
  247. package/lib/components/checkout/components/PaymentResultToast/PaymentResultToastProvider.d.ts +4 -0
  248. package/lib/components/checkout/components/PaymentResultToast/PaymentResultToastProvider.js +23 -5
  249. package/lib/components/checkout/components/PaymentResultToast/index.js +4 -4
  250. package/lib/components/checkout/components/PaymentResultToast/index.less +94 -33
  251. package/lib/components/checkout/components/SearchAndClientModule/index.js +29 -3
  252. package/lib/components/checkout/index.less +1 -1
  253. package/lib/components/checkout/locales.d.ts +6 -0
  254. package/lib/components/checkout/locales.js +6 -0
  255. package/lib/components/checkout/plugin.d.ts +2 -0
  256. package/lib/components/checkout/plugin.js +263 -0
  257. package/lib/components/checkout/utils/PaymentResultToastUtils.d.ts +0 -1
  258. package/lib/components/checkout/utils/PaymentResultToastUtils.js +11 -1
  259. package/lib/components/eftpos/hooks.d.ts +0 -1
  260. package/lib/components/eftposPay/hooks.d.ts +1 -1
  261. package/lib/components/eftposPay/linkly/hooks/useTimeQuery.js +12 -6
  262. package/lib/components/eftposPay/payo/config.js +98 -73
  263. package/lib/components/eftposPay/payo/payment.d.ts +66 -0
  264. package/lib/components/eftposPay/payo/payment.js +357 -0
  265. package/lib/components/eftposPay/store/index.d.ts +4 -4
  266. package/lib/components/eftposPay/tyro/hooks.d.ts +0 -1
  267. package/lib/components/eftposPay/tyro/index.js +12 -0
  268. package/lib/components/eftposPay/utils/log/index.d.ts +110 -0
  269. package/lib/components/eftposPay/utils/log/index.js +294 -0
  270. package/lib/components/eventBooking/components/ErrorTip/index.d.ts +0 -1
  271. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +0 -1
  272. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/CallToBook/index.d.ts +0 -1
  273. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +0 -1
  274. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +0 -1
  275. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +0 -1
  276. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +0 -1
  277. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Status/index.d.ts +0 -1
  278. package/lib/components/index.d.ts +2 -1
  279. package/lib/components/index.js +3 -0
  280. package/lib/components/list/List.js +58 -36
  281. package/lib/components/list/hooks/useListState.d.ts +5 -3
  282. package/lib/components/list/hooks/useListState.js +9 -1
  283. package/lib/components/list/styles/base.less +4 -0
  284. package/lib/components/list/styles/content.less +1 -1
  285. package/lib/components/list/styles/header.less +4 -4
  286. package/lib/components/list/types.d.ts +1 -0
  287. package/lib/components/list/utils/index.d.ts +13 -1
  288. package/lib/components/list/utils/index.js +27 -0
  289. package/lib/components/pay/toC/PaymentMethods/MWCreditCard/tds2.js +14 -12
  290. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/Finish/index.d.ts +0 -1
  291. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +0 -1
  292. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/components/PageLoading/index.d.ts +0 -1
  293. package/lib/components/pay/toC/PaymentMethods/WalletPass/serve.d.ts +6 -0
  294. package/lib/components/pay/toC/PaymentMethods/WalletPass/utils.js +4 -2
  295. package/lib/components/pay/toC/PaymentMethods/components/PaymentReturnContent/index.js +1 -1
  296. package/lib/components/pay/toC/PaymentMethods/components/PaymentReturnContent/index.less +13 -3
  297. package/lib/components/pay/toC/index.js +4 -1
  298. package/lib/components/pay/toC/locales.d.ts +3 -0
  299. package/lib/components/pay/toC/locales.js +6 -3
  300. package/lib/components/pay/toC/status.d.ts +1 -0
  301. package/lib/components/pay/toC/status.js +5 -0
  302. package/lib/components/shoppingCart/components/Empty/index.d.ts +0 -1
  303. package/lib/components/subTotal/index.js +1 -1
  304. package/lib/components/systemSettings/registry/components/GroupModal.d.ts +4 -0
  305. package/lib/components/systemSettings/registry/components/GroupModal.js +177 -0
  306. package/lib/components/systemSettings/registry/components/ItemModal.d.ts +4 -0
  307. package/lib/components/systemSettings/registry/components/ItemModal.js +508 -0
  308. package/lib/components/systemSettings/registry/components/ModuleList.d.ts +4 -0
  309. package/lib/components/systemSettings/registry/components/ModuleList.js +71 -0
  310. package/lib/components/systemSettings/registry/components/SectionList.d.ts +4 -0
  311. package/lib/components/systemSettings/registry/components/SectionList.js +181 -0
  312. package/lib/components/systemSettings/registry/components/SettingsTable.d.ts +4 -0
  313. package/lib/components/systemSettings/registry/components/SettingsTable.js +575 -0
  314. package/lib/components/systemSettings/registry/components/index.d.ts +4 -0
  315. package/lib/components/systemSettings/registry/components/index.js +48 -0
  316. package/lib/components/systemSettings/registry/index.d.ts +5 -0
  317. package/lib/components/systemSettings/registry/index.js +529 -0
  318. package/lib/components/systemSettings/registry/index.less +410 -0
  319. package/lib/components/systemSettings/registry/locales.d.ts +272 -0
  320. package/lib/components/systemSettings/registry/locales.js +324 -0
  321. package/lib/components/systemSettings/registry/services.d.ts +77 -0
  322. package/lib/components/systemSettings/registry/services.js +290 -0
  323. package/lib/components/systemSettings/registry/types.d.ts +126 -0
  324. package/lib/components/systemSettings/registry/types.js +17 -0
  325. package/lib/components/systemSettings/registry/utils/typeValidation.d.ts +16 -0
  326. package/lib/components/systemSettings/registry/utils/typeValidation.js +228 -0
  327. package/lib/components/systemSettings/registry/utils/validators.d.ts +8 -0
  328. package/lib/components/systemSettings/registry/utils/validators.js +54 -0
  329. package/lib/components/ticketBooking/components/ProductDisplayAdapter/ProductDisplayAdapter.js +40 -5
  330. package/lib/components/ticketBooking/components/ProductDisplayAdapter/index.less +28 -1
  331. package/lib/components/ticketBooking/components/ProductDisplayAdapter/utils.d.ts +35 -2
  332. package/lib/components/ticketBooking/components/ProductDisplayAdapter/utils.js +93 -24
  333. package/lib/components/ticketBooking/components/addServiceVariant/addService.js +0 -1
  334. package/lib/components/ticketBooking/components/menuBar/index.js +42 -6
  335. package/lib/components/ticketBooking/components/ticketBooking/index.js +2 -2
  336. package/lib/components/ticketBooking/components/timeBar/index.js +105 -4
  337. package/lib/components/ticketBooking/components/timeBar/index.less +59 -0
  338. package/lib/components/ticketBooking/hooks/pisellos/useProducts.js +17 -13
  339. package/lib/components/ticketBooking/locales.d.ts +9 -0
  340. package/lib/components/ticketBooking/locales.js +12 -3
  341. package/lib/components/ticketBooking/utils/index.d.ts +3 -0
  342. package/lib/components/ticketBooking/utils/index.js +20 -6
  343. package/lib/components/wallet/Detail/index.js +31 -3
  344. package/lib/components/wallet/Detail/index.less +11 -0
  345. package/lib/components/wallet/Detail/locales.d.ts +6 -0
  346. package/lib/components/wallet/Detail/locales.js +14 -2
  347. package/lib/components/wallet/Voucher/index.js +8 -8
  348. package/lib/components/wallet/components/WalletCard.js +4 -0
  349. package/lib/components/wallet/index.js +2 -2
  350. package/lib/components/wallet/serve.d.ts +7 -0
  351. package/lib/components/wallet/utils.d.ts +48 -0
  352. package/lib/components/wallet/utils.js +287 -0
  353. package/lib/index.d.ts +5 -0
  354. package/lib/index.js +15 -0
  355. package/lib/plus/clientCard/locales.js +3 -3
  356. package/lib/plus/clinetSearch/index.js +17 -8
  357. package/lib/plus/clinetSearch/locales.d.ts +3 -0
  358. package/lib/plus/clinetSearch/locales.js +7 -4
  359. package/lib/plus/clinetSearch/types.d.ts +12 -0
  360. package/lib/plus/productSelect/CategoryTabs/index.d.ts +1 -0
  361. package/lib/plus/productSelect/CategoryTabs/index.js +2 -1
  362. package/lib/plus/walletPassGallery/components/footerButton/index.js +2 -2
  363. package/lib/plus/walletPassGallery/components/footerButton/index.less +14 -59
  364. package/lib/plus/walletPassGallery/components/passDetail/index.d.ts +1 -0
  365. package/lib/plus/walletPassGallery/components/passDetail/index.js +54 -15
  366. package/lib/plus/walletPassGallery/components/passDetail/index.less +4 -0
  367. package/lib/plus/walletPassGallery/components/recharge/index.js +7 -1
  368. package/lib/plus/walletPassGallery/index.js +7 -3
  369. package/lib/plus/walletPassGallery/serve.d.ts +3 -0
  370. package/lib/plus/walletPassGallery/serve.js +3 -2
  371. package/lib/pro/Login2.0/index.less +15 -8
  372. package/lib/pro/Selector/BatchSelectorDemo.d.ts +3 -0
  373. package/lib/pro/Selector/BatchSelectorDemo.js +376 -0
  374. package/lib/pro/Selector/Selector.d.ts +5 -0
  375. package/lib/pro/Selector/Selector.js +264 -0
  376. package/lib/pro/Selector/SelectorGroup.d.ts +11 -0
  377. package/lib/pro/Selector/SelectorGroup.js +463 -0
  378. package/lib/pro/Selector/components/Card/index.d.ts +27 -0
  379. package/lib/pro/Selector/components/Card/index.js +114 -0
  380. package/lib/pro/Selector/components/Card/index.less +132 -0
  381. package/lib/pro/Selector/components/IntersectionObserver.d.ts +105 -0
  382. package/lib/pro/Selector/components/IntersectionObserver.js +281 -0
  383. package/lib/pro/Selector/components/NumericStepper/index.d.ts +41 -0
  384. package/lib/pro/Selector/components/NumericStepper/index.js +221 -0
  385. package/lib/pro/Selector/components/NumericStepper/index.less +221 -0
  386. package/lib/pro/Selector/components/index.d.ts +2 -0
  387. package/lib/pro/Selector/components/index.js +42 -0
  388. package/lib/pro/Selector/demo.d.ts +3 -0
  389. package/lib/pro/Selector/demo.js +102 -0
  390. package/lib/pro/Selector/hooks/useSelectionController.d.ts +42 -0
  391. package/lib/pro/Selector/hooks/useSelectionController.js +338 -0
  392. package/lib/pro/Selector/index.d.ts +8 -0
  393. package/lib/pro/Selector/index.js +39 -0
  394. package/lib/pro/Selector/locales.d.ts +42 -0
  395. package/lib/pro/Selector/locales.js +80 -0
  396. package/lib/pro/Selector/selector.less +3 -0
  397. package/lib/pro/Selector/selectorGroup.less +8 -0
  398. package/lib/pro/Selector/types.d.ts +114 -0
  399. package/lib/pro/Selector/types.js +17 -0
  400. package/lib/pro/Selector/utils/index.d.ts +49 -0
  401. package/lib/pro/Selector/utils/index.js +221 -0
  402. package/lib/pro/comprehensiveSearch/components/searchSection/locales.js +3 -3
  403. package/lib/pro/comprehensiveSearch/locales.js +1 -1
  404. package/lib/pro/priceKeyboard/components/cashKeyboard/CashKeyboardIntact.js +42 -43
  405. package/lib/pro/priceKeyboard/components/cashKeyboard/index.d.ts +1 -0
  406. package/lib/pro/priceKeyboard/components/cashKeyboard/index.js +3 -2
  407. package/lib/pro/priceKeyboard/components/cashKeyboard/types.d.ts +1 -0
  408. package/lib/pro/priceKeyboard/components/discountKeyboard/index.js +8 -1
  409. package/lib/pro/priceKeyboard/components/discountKeyboard/index.less +14 -0
  410. package/lib/pro/priceKeyboard/components/shortcuts/index.d.ts +1 -0
  411. package/lib/pro/priceKeyboard/components/shortcuts/index.js +3 -2
  412. package/lib/pro/priceKeyboard/components/shortcuts/index.less +4 -0
  413. package/lowcode/payment-modal/meta.ts +135 -0
  414. package/lowcode/selector/meta.ts +352 -0
  415. package/lowcode/selector.group/meta.ts +200 -0
  416. package/lowcode/settings-registry/meta.ts +29 -0
  417. package/lowcode/wallet-pass-detail/meta.ts +89 -0
  418. package/package.json +4 -4
  419. package/es/components/checkout/PaymentPlugin.d.ts +0 -3
  420. package/lib/components/checkout/PaymentPlugin.d.ts +0 -3
  421. package/lib/components/checkout/PaymentPlugin.js +0 -181
@@ -0,0 +1,54 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/components/systemSettings/registry/utils/validators.ts
20
+ var validators_exports = {};
21
+ __export(validators_exports, {
22
+ createPrefixedAppIdentifierValidator: () => createPrefixedAppIdentifierValidator
23
+ });
24
+ module.exports = __toCommonJS(validators_exports);
25
+ var createPrefixedAppIdentifierValidator = (sectionCode) => {
26
+ return (_, value) => {
27
+ if (!value) {
28
+ return Promise.resolve();
29
+ }
30
+ const expectedPrefix = `${sectionCode}.`;
31
+ if (!value.startsWith(expectedPrefix)) {
32
+ return Promise.reject(new Error(`键必须以 "${expectedPrefix}" 开头`));
33
+ }
34
+ const remainingPart = value.substring(expectedPrefix.length);
35
+ if (!remainingPart) {
36
+ return Promise.reject(new Error("键不能只包含前缀"));
37
+ }
38
+ const validPattern = /^[a-z0-9._]+$/;
39
+ if (!validPattern.test(remainingPart)) {
40
+ return Promise.reject(new Error("键只能包含小写字母、数字、点、下划线"));
41
+ }
42
+ if (remainingPart.startsWith(".") || remainingPart.startsWith("_") || remainingPart.endsWith(".") || remainingPart.endsWith("_")) {
43
+ return Promise.reject(new Error("键不能以点或下划线开头或结尾"));
44
+ }
45
+ if (remainingPart.includes("..") || remainingPart.includes("__") || remainingPart.includes("._") || remainingPart.includes("_.")) {
46
+ return Promise.reject(new Error("键不能包含连续的点或下划线"));
47
+ }
48
+ return Promise.resolve();
49
+ };
50
+ };
51
+ // Annotate the CommonJS export names for ESM import in node:
52
+ 0 && (module.exports = {
53
+ createPrefixedAppIdentifierValidator
54
+ });
@@ -39,6 +39,9 @@ var import_List = __toESM(require("../../../list/List"));
39
39
  var import_SkuCard = __toESM(require("../../../../plus/productSelect/ProductCard/SkuCard"));
40
40
  var import_utils = require("./utils");
41
41
  var import_index = require("./index.less");
42
+ var import_materials = require("@pisell/materials");
43
+ var import_SearchLg = __toESM(require("@pisell/icon/es/SearchLg"));
44
+ var import_utils2 = require("@pisell/utils");
42
45
  var ProductDisplayAdapter = (props) => {
43
46
  const {
44
47
  config,
@@ -52,6 +55,7 @@ var ProductDisplayAdapter = (props) => {
52
55
  } = props;
53
56
  const { displayMode = "product-select" } = config;
54
57
  const listRef = (0, import_react.useRef)(null);
58
+ const [keyword, setKeyword] = (0, import_react.useState)("");
55
59
  const size = (0, import_ahooks.useSize)(listRef);
56
60
  const renderProductSelect = (0, import_react.useMemo)(() => {
57
61
  const {
@@ -91,6 +95,34 @@ var ProductDisplayAdapter = (props) => {
91
95
  emptyDescription,
92
96
  style
93
97
  ]);
98
+ const _filteredList = (0, import_react.useMemo)(() => {
99
+ if (!keyword) return dataSource;
100
+ return dataSource.filter((product) => {
101
+ if (typeof (product == null ? void 0 : product.title) !== "string") return false;
102
+ return product.title.toLowerCase().indexOf(keyword.toLowerCase()) !== -1;
103
+ });
104
+ }, [keyword, dataSource]);
105
+ const searchDom = (0, import_react.useMemo)(() => {
106
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: `pisell-product-display-adapter__search-wrapper` }, /* @__PURE__ */ import_react.default.createElement(
107
+ import_materials.Input,
108
+ {
109
+ prefix: /* @__PURE__ */ import_react.default.createElement(import_SearchLg.default, null),
110
+ style: { height: 44 },
111
+ placeholder: import_utils2.locales.getText("pisell2.product-select.search"),
112
+ allowClear: true,
113
+ value: keyword,
114
+ onChange: (e) => {
115
+ setKeyword(e.target.value);
116
+ }
117
+ }
118
+ ));
119
+ }, [keyword]);
120
+ const tabData = (0, import_react.useMemo)(() => {
121
+ const { listConfig = {} } = config.skuListConfig || {};
122
+ const enableTab = listConfig.showTab || false;
123
+ const tabStyle = listConfig.tabStyle || "switch";
124
+ return enableTab ? (0, import_utils.generateProductTabs)(_filteredList, tabStyle) : void 0;
125
+ }, [_filteredList]);
94
126
  const renderSkuList = (0, import_react.useMemo)(() => {
95
127
  const { listConfig = {}, skuCardAllConfig = {} } = config.skuListConfig || {};
96
128
  const displayStyle = listConfig.layout || "grid";
@@ -99,14 +131,14 @@ var ProductDisplayAdapter = (props) => {
99
131
  const enableTab = listConfig.showTab || false;
100
132
  const tabStyle = listConfig.tabStyle || "switch";
101
133
  const stickyTop = listConfig.stickyTop !== void 0 ? listConfig.stickyTop : true;
102
- const tabData = enableTab ? (0, import_utils.generateProductTabs)(dataSource, tabStyle) : void 0;
103
- const filteredData = dataSource.map((item) => {
134
+ const filteredData = _filteredList.map((item) => {
104
135
  var _a, _b;
105
136
  return {
106
137
  ...item,
107
138
  category: ((_b = (_a = item.category) == null ? void 0 : _a.map) == null ? void 0 : _b.call(_a, (category) => `${category.id}`)) || []
108
139
  };
109
140
  });
141
+ console.log(tabData, "tabData123");
110
142
  return /* @__PURE__ */ import_react.default.createElement(
111
143
  "div",
112
144
  {
@@ -120,11 +152,12 @@ var ProductDisplayAdapter = (props) => {
120
152
  className: "sku-list",
121
153
  style: { maxHeight: size == null ? void 0 : size.height, overflow: "auto" },
122
154
  data: filteredData,
123
- loading,
155
+ renderSearch: () => searchDom,
156
+ loading: false,
124
157
  displayStyle,
125
158
  columns,
126
159
  paginationType,
127
- layoutDirection: "vertical",
160
+ layoutDirection: "horizontal",
128
161
  tabStyle: enableTab ? tabStyle : "none",
129
162
  tabData,
130
163
  tabGroup: "category",
@@ -155,7 +188,9 @@ var ProductDisplayAdapter = (props) => {
155
188
  emptyDescription,
156
189
  style,
157
190
  className,
158
- size == null ? void 0 : size.height
191
+ size == null ? void 0 : size.height,
192
+ _filteredList,
193
+ tabData
159
194
  ]);
160
195
  if (displayMode === "sku-list") {
161
196
  return renderSkuList;
@@ -21,7 +21,7 @@
21
21
  .list-item {
22
22
  height: 100% !important;
23
23
  .pisell-product-sku__card-wrapper {
24
- height: 100% ;
24
+ height: 100%;
25
25
  .pisell-lowcode-card {
26
26
  height: 100% !important;
27
27
  }
@@ -51,3 +51,30 @@
51
51
  }
52
52
  }
53
53
  }
54
+
55
+ .pisell-product-display-adapter__search-wrapper {
56
+ padding: 0;
57
+ margin-bottom: 12px;
58
+ --ps-color-primary: #8157d5;
59
+ --ps-color-text: #1b1b1b;
60
+ --ps-color-text-secondary: #4e4e4e;
61
+ --ps-container-bg: #4e4e4e;
62
+ --ps-search-input-color: #98a2b3;
63
+ --ps-tab-item-bg: #ffffff;
64
+ --ps-tab-item-hover-bg: #ffffff;
65
+ --ps-tab-item-active-bg: #8157d5;
66
+ --ps-category-text-color: #ffffff;
67
+ --ps-card-bg: #ffffff;
68
+ --ps-card-hover-bg: #eaecf0;
69
+ --ps-card-selected-bg: #8157d5;
70
+ --ps-card-selected-text-color: #ffffff;
71
+ --ps-card-selected-secondary-text-color: rgba(255, 255, 255, 0.7);
72
+ &> span {
73
+ background: var(--ps-container-bg, #fff);
74
+ color: var(--ps-search-input-color, #98a2b3);
75
+ }
76
+ input {
77
+ background: transparent;
78
+ color: var(--ps-search-input-color, #98a2b3);
79
+ }
80
+ }
@@ -28,6 +28,8 @@ interface ProductCategory {
28
28
  icon?: string;
29
29
  slug?: string;
30
30
  sort?: number;
31
+ /** 父级分类 ID,0 或 null/undefined 表示一级分类 */
32
+ parent_id?: number | null;
31
33
  }
32
34
  /**
33
35
  * 产品项接口
@@ -38,13 +40,44 @@ interface Product {
38
40
  category?: ProductCategory[];
39
41
  [key: string]: any;
40
42
  }
43
+ /**
44
+ * 分类树节点接口(Switch 模式返回值)
45
+ */
46
+ export interface CategoryTreeNode {
47
+ /** 分类 ID,All 节点为 '{父级路径}_all' 格式 */
48
+ id: number | string;
49
+ /** 分类唯一标识 兼容 List 组件的 key 字段 */
50
+ key: number | string;
51
+ /** 分类名称 兼容 List 组件的 label 字段 */
52
+ label: string;
53
+ /** 分类分组 兼容 List 组件的 group 字段 */
54
+ group: number | string;
55
+ /** 分类名称 */
56
+ name: string;
57
+ /** 分类图标 */
58
+ icon?: string;
59
+ /**
60
+ * 路径式父级标识
61
+ * - 一级分类:无此字段
62
+ * - 二级分类:'1'(父级 id)
63
+ * - 三级分类:'1_2'(路径格式)
64
+ * - 以此类推
65
+ */
66
+ pid?: string;
67
+ /** 该分类下所有商品的 ID 数组(包含子分类的商品) */
68
+ productIds: number[];
69
+ /** 子分类列表,如果有子分类,第一个为 All 节点 */
70
+ children?: CategoryTreeNode[];
71
+ /** 子分类最大层级 */
72
+ childrenMaxLevel: number;
73
+ }
41
74
  /**
42
75
  * 根据产品数据生成分类 Tabs(Switch 模式)
43
76
  * 参考 TestResponsiveWrapper 的 generateSimpleTabItems 函数
44
77
  *
45
78
  * @param products 产品列表
46
79
  * @param tabStyle tab 样式类型
47
- * @returns TabItem 数组
80
+ * @returns Switch 模式返回 CategoryTreeNode[],Anchor 模式返回 TabItem[]
48
81
  */
49
- export declare const generateProductTabs: (products: Product[], tabStyle?: 'switch' | 'anchor') => TabItem[];
82
+ export declare const generateProductTabs: (products: Product[], tabStyle?: 'switch' | 'anchor') => CategoryTreeNode[] | TabItem[];
50
83
  export {};
@@ -38,33 +38,13 @@ var formatSkuDataSource = (dataSource) => {
38
38
  };
39
39
  var generateProductTabs = (products, tabStyle = "switch") => {
40
40
  if (!products || products.length === 0) {
41
+ if (tabStyle === "switch") {
42
+ return [];
43
+ }
41
44
  return [{ key: "all", label: import_utils.locales.getText("pisell2.ticket-booking.all") }];
42
45
  }
43
46
  if (tabStyle === "switch") {
44
- const categoryMap = /* @__PURE__ */ new Map();
45
- products.forEach((product) => {
46
- if (product.category && Array.isArray(product.category)) {
47
- product.category.forEach((cat) => {
48
- if (!categoryMap.has(cat.id)) {
49
- categoryMap.set(cat.id, cat);
50
- }
51
- });
52
- }
53
- });
54
- const sortedCategories = Array.from(categoryMap.values()).sort(
55
- (a, b) => (b.sort || 0) - (a.sort || 0)
56
- );
57
- const tabs = [
58
- { key: "all", label: import_utils.locales.getText("pisell2.ticket-booking.all") }
59
- ];
60
- sortedCategories.forEach((category) => {
61
- tabs.push({
62
- key: String(category.id),
63
- label: category.name,
64
- group: String(category.id)
65
- });
66
- });
67
- return tabs;
47
+ return buildCategoryTree(products);
68
48
  } else {
69
49
  const categoryCount = products.reduce((acc, product) => {
70
50
  if (product.category && Array.isArray(product.category)) {
@@ -94,6 +74,95 @@ var generateProductTabs = (products, tabStyle = "switch") => {
94
74
  return tabs;
95
75
  }
96
76
  };
77
+ var buildCategoryTree = (products) => {
78
+ const categoryMap = /* @__PURE__ */ new Map();
79
+ const categoryProductMap = /* @__PURE__ */ new Map();
80
+ products.forEach((product) => {
81
+ if (product.category && Array.isArray(product.category)) {
82
+ product.category.forEach((cat) => {
83
+ if (!categoryMap.has(cat.id)) {
84
+ categoryMap.set(cat.id, cat);
85
+ }
86
+ if (!categoryProductMap.has(cat.id)) {
87
+ categoryProductMap.set(cat.id, /* @__PURE__ */ new Set());
88
+ }
89
+ categoryProductMap.get(cat.id).add(product.id);
90
+ });
91
+ }
92
+ });
93
+ const childrenMap = /* @__PURE__ */ new Map();
94
+ const rootCategories = [];
95
+ categoryMap.forEach((category, id) => {
96
+ const parentId = category.parent_id;
97
+ if (!parentId || parentId === 0) {
98
+ rootCategories.push(id);
99
+ } else {
100
+ if (!childrenMap.has(parentId)) {
101
+ childrenMap.set(parentId, []);
102
+ }
103
+ childrenMap.get(parentId).push(id);
104
+ }
105
+ });
106
+ const sortBySort = (ids) => {
107
+ return ids.sort((a, b) => {
108
+ const catA = categoryMap.get(a);
109
+ const catB = categoryMap.get(b);
110
+ return ((catB == null ? void 0 : catB.sort) || 0) - ((catA == null ? void 0 : catA.sort) || 0);
111
+ });
112
+ };
113
+ const buildNode = (categoryId, parentPath) => {
114
+ const category = categoryMap.get(categoryId);
115
+ const childIds = childrenMap.get(categoryId) || [];
116
+ const sortedChildIds = sortBySort([...childIds]);
117
+ const directProductIds = Array.from(categoryProductMap.get(categoryId) || []);
118
+ const currentPath = parentPath ? `${parentPath}_${categoryId}` : String(categoryId);
119
+ const pid = parentPath || void 0;
120
+ const node = {
121
+ id: categoryId,
122
+ key: categoryId,
123
+ group: categoryId,
124
+ label: category.name,
125
+ name: category.name,
126
+ icon: category.icon,
127
+ productIds: directProductIds,
128
+ childrenMaxLevel: 0
129
+ // 默认无子分类时为 0
130
+ };
131
+ if (pid) {
132
+ node.pid = pid;
133
+ }
134
+ if (sortedChildIds.length > 0) {
135
+ const childNodes = sortedChildIds.map(
136
+ (childId) => buildNode(childId, currentPath)
137
+ );
138
+ const allChildProductIds = childNodes.reduce((acc, child) => {
139
+ return acc.concat(child.productIds);
140
+ }, []);
141
+ const mergedProductIds = Array.from(
142
+ /* @__PURE__ */ new Set([...directProductIds, ...allChildProductIds])
143
+ );
144
+ node.productIds = mergedProductIds;
145
+ node.children = [...childNodes];
146
+ let maxChildLevel = 0;
147
+ for (let i = 0; i < childNodes.length; i++) {
148
+ if (childNodes[i].childrenMaxLevel > maxChildLevel) {
149
+ maxChildLevel = childNodes[i].childrenMaxLevel;
150
+ }
151
+ }
152
+ node.childrenMaxLevel = maxChildLevel + 1;
153
+ }
154
+ return node;
155
+ };
156
+ const sortedRootIds = sortBySort([...rootCategories]);
157
+ const rootNodes = sortedRootIds.map((rootId) => buildNode(rootId, ""));
158
+ if (rootNodes.length > 0) {
159
+ const allProductIds = Array.from(
160
+ new Set(rootNodes.flatMap((node) => node.productIds))
161
+ );
162
+ return [...rootNodes];
163
+ }
164
+ return rootNodes;
165
+ };
97
166
  // Annotate the CommonJS export names for ESM import in node:
98
167
  0 && (module.exports = {
99
168
  formatSkuDataSource,
@@ -76,7 +76,6 @@ var AddSerivce = (props) => {
76
76
  const context = (0, import_useEngineContext.default)();
77
77
  const platform = (0, import_useEngineContext.usePlatform)();
78
78
  const notAvailableRef = (0, import_react.useRef)(null);
79
- const isLoadedServiceRef = (0, import_react.useRef)(false);
80
79
  import_utils2.request.setRequest(context.appHelper.utils.request);
81
80
  const isActive = (0, import_IsActiveContext.useIsActive)();
82
81
  const Toast = (0, import_materials.useToast)();
@@ -39,20 +39,43 @@ var import_antd = require("antd");
39
39
  var import_icons = require("@ant-design/icons");
40
40
  var import_utils = require("@pisell/utils");
41
41
  var import_materials = require("@pisell/materials");
42
+ var import_serve = require("../../serve");
43
+ var import_hooks = require("../../../../hooks");
42
44
  var index = (props) => {
43
45
  const { activeNavKey = "ticket", onNavChange } = props;
44
46
  const status = (0, import_useNetworkStatus.useNetworkStatus)();
47
+ const [showFoodMenu, setShowFoodMenu] = (0, import_react.useState)(false);
48
+ const context = (0, import_hooks.useEngineContext)();
49
+ (0, import_react.useEffect)(() => {
50
+ const checkFoodConfig = async () => {
51
+ try {
52
+ const data = await (0, import_serve.getBookingConfig)({
53
+ item_type: "appointment_booking",
54
+ sub_type: "food",
55
+ source_type: "pos"
56
+ });
57
+ if (data) {
58
+ setShowFoodMenu(true);
59
+ }
60
+ } catch (error) {
61
+ console.error("获取 food 配置失败:", error);
62
+ }
63
+ };
64
+ checkFoodConfig();
65
+ }, []);
45
66
  const navItems = [
46
67
  {
47
68
  key: "ticket",
48
69
  icon: /* @__PURE__ */ import_react.default.createElement(import_materials.Iconfont, { type: "pisell2-ticket", style: { fontSize: 32 } }),
49
70
  label: ""
50
71
  },
51
- {
52
- key: "food",
53
- label: "",
54
- icon: /* @__PURE__ */ import_react.default.createElement(import_materials.Iconfont, { type: "pisell2-food", style: { fontSize: 32 } })
55
- }
72
+ ...showFoodMenu ? [
73
+ {
74
+ key: "food",
75
+ label: "",
76
+ icon: /* @__PURE__ */ import_react.default.createElement(import_materials.Iconfont, { type: "pisell2-food", style: { fontSize: 32 } })
77
+ }
78
+ ] : []
56
79
  ];
57
80
  const items = [
58
81
  {
@@ -87,8 +110,21 @@ var index = (props) => {
87
110
  return "Offline";
88
111
  }
89
112
  };
90
- const handleClick = ({ key }) => {
113
+ const handleClick = async ({ key }) => {
114
+ var _a, _b;
91
115
  if (key === "reload") {
116
+ try {
117
+ const { getApp } = ((_a = context.appHelper) == null ? void 0 : _a.utils) || {};
118
+ const app = getApp();
119
+ if (app) {
120
+ app.logger.addLog({
121
+ type: "info",
122
+ title: "Reload App"
123
+ });
124
+ await ((_b = app == null ? void 0 : app.logger) == null ? void 0 : _b.storeLog());
125
+ }
126
+ } catch (err) {
127
+ }
92
128
  window.location.reload();
93
129
  }
94
130
  if (key === "logout") {
@@ -448,12 +448,12 @@ var TicketBooking = (props) => {
448
448
  };
449
449
  }, []);
450
450
  const _getProducts = (date) => {
451
- var _a2, _b2, _c2, _d2, _e2, _f;
451
+ var _a2, _b2, _c2, _d2, _e2, _f, _g;
452
452
  const currentDate2 = date.format("YYYY-MM-DD");
453
453
  const currentDatetime = date.format("YYYY-MM-DD HH:mm:ss");
454
454
  const customerId = (_c2 = (_b2 = (_a2 = state.modalState) == null ? void 0 : _a2.client) == null ? void 0 : _b2.value) == null ? void 0 : _c2.id;
455
455
  const menuList = ((_f = (_e2 = (_d2 = state.bookingConfig) == null ? void 0 : _d2.config) == null ? void 0 : _e2.menu_list_tab) == null ? void 0 : _f.menu_list) || [];
456
- getProductsRef.current({
456
+ (_g = getProductsRef == null ? void 0 : getProductsRef.current) == null ? void 0 : _g.call(getProductsRef, {
457
457
  schedule_date: currentDate2,
458
458
  customer_id: customerId,
459
459
  menu_list_ids: menuList,
@@ -41,9 +41,43 @@ var import_dayjs = __toESM(require("dayjs"));
41
41
  var import_classnames = __toESM(require("classnames"));
42
42
  var import_utils = require("@pisell/utils");
43
43
  var import_index = require("./index.less");
44
+ var import_materials2 = require("@pisell/materials");
44
45
  var TimeBar = (props) => {
45
46
  var _a, _b;
46
47
  const { globalState: state, setGlobalState, locale, onCreateClick, setNowTime } = props;
48
+ const [collapsed, setCollapsed] = (0, import_react.useState)(true);
49
+ const [scaleCompensation, setScaleCompensation] = (0, import_react.useState)(1);
50
+ (0, import_react.useEffect)(() => {
51
+ const getBodyScale = () => {
52
+ const body = document.body;
53
+ const computedStyle = window.getComputedStyle(body);
54
+ const transform = computedStyle.transform;
55
+ if (transform && transform !== "none") {
56
+ const matrix = transform.match(/matrix\(([^)]+)\)/);
57
+ if (matrix) {
58
+ const values = matrix[1].split(",").map((v) => parseFloat(v.trim()));
59
+ const scale = values[0] || 1;
60
+ return scale;
61
+ }
62
+ }
63
+ return 1;
64
+ };
65
+ const updateScale = () => {
66
+ const scale = getBodyScale();
67
+ setScaleCompensation(scale);
68
+ };
69
+ updateScale();
70
+ const observer = new MutationObserver(updateScale);
71
+ observer.observe(document.body, {
72
+ attributes: true,
73
+ attributeFilter: ["style", "class"]
74
+ });
75
+ window.addEventListener("resize", updateScale);
76
+ return () => {
77
+ observer.disconnect();
78
+ window.removeEventListener("resize", updateScale);
79
+ };
80
+ }, []);
47
81
  const _onClickNext = (0, import_ahooks.useMemoizedFn)(() => {
48
82
  var _a2, _b2, _c, _d;
49
83
  const currentTime = (_b2 = (_a2 = state.modalState) == null ? void 0 : _a2.date) == null ? void 0 : _b2.value;
@@ -79,8 +113,62 @@ var TimeBar = (props) => {
79
113
  });
80
114
  (_d = props.setIntervalTime) == null ? void 0 : _d.call(props, timeString === (0, import_dayjs.default)().format("HH:mm"));
81
115
  });
116
+ const _onToggleCollapse = (0, import_ahooks.useMemoizedFn)(() => {
117
+ setCollapsed(!collapsed);
118
+ });
82
119
  return (0, import_react.useMemo)(() => {
83
- var _a2, _b2, _c, _d;
120
+ var _a2, _b2, _c, _d, _e, _f;
121
+ if (collapsed) {
122
+ const currentDate = (_b2 = (_a2 = state == null ? void 0 : state.modalState) == null ? void 0 : _a2.date) == null ? void 0 : _b2.value;
123
+ const isToday = currentDate && currentDate.isSame((0, import_dayjs.default)(), "day");
124
+ const displayText = isToday ? import_utils.locales.getText("pisell2.ticket-booking.today") : (currentDate == null ? void 0 : currentDate.format("YYYY-MM-DD")) || "";
125
+ const targetHeight = 40;
126
+ const compensatedHeight = targetHeight / scaleCompensation;
127
+ return /* @__PURE__ */ import_react.default.createElement(
128
+ "div",
129
+ {
130
+ className: (0, import_classnames.default)("pisell-ticket-booking-time-bar", "collapsed"),
131
+ style: {
132
+ height: `${compensatedHeight}px`,
133
+ minHeight: `${compensatedHeight}px`,
134
+ maxHeight: `${compensatedHeight}px`
135
+ }
136
+ },
137
+ /* @__PURE__ */ import_react.default.createElement(
138
+ "div",
139
+ {
140
+ className: "pisell-ticket-booking-time-bar-collapsed-content",
141
+ style: {
142
+ height: `${compensatedHeight}px`
143
+ }
144
+ },
145
+ /* @__PURE__ */ import_react.default.createElement(
146
+ "span",
147
+ {
148
+ className: "pisell-ticket-booking-time-bar-collapsed-today",
149
+ style: {
150
+ lineHeight: `${compensatedHeight}px`
151
+ }
152
+ },
153
+ displayText
154
+ ),
155
+ /* @__PURE__ */ import_react.default.createElement(
156
+ import_antd.Button,
157
+ {
158
+ type: "link",
159
+ size: "small",
160
+ className: "pisell-ticket-booking-time-bar-collapsed-expand",
161
+ onClick: _onToggleCollapse,
162
+ style: {
163
+ lineHeight: `${compensatedHeight}px`
164
+ }
165
+ },
166
+ /* @__PURE__ */ import_react.default.createElement("span", null, import_utils.locales.getText("pisell2.ticket-booking.expand")),
167
+ /* @__PURE__ */ import_react.default.createElement(import_materials2.Iconfont, { type: "pisell2-chevron-right-double" })
168
+ )
169
+ )
170
+ );
171
+ }
84
172
  return /* @__PURE__ */ import_react.default.createElement(
85
173
  "div",
86
174
  {
@@ -116,7 +204,7 @@ var TimeBar = (props) => {
116
204
  import_materials.DatePicker,
117
205
  {
118
206
  inputReadOnly: true,
119
- value: (_b2 = (_a2 = state == null ? void 0 : state.modalState) == null ? void 0 : _a2.date) == null ? void 0 : _b2.value,
207
+ value: (_d = (_c = state == null ? void 0 : state.modalState) == null ? void 0 : _c.date) == null ? void 0 : _d.value,
120
208
  format: locale === "en" ? "dddd, DD MMM YYYY" : "YYYY年MM月DD日",
121
209
  onChange: props == null ? void 0 : props.onDateChange,
122
210
  size: "large",
@@ -142,7 +230,7 @@ var TimeBar = (props) => {
142
230
  /* @__PURE__ */ import_react.default.createElement(
143
231
  import_materials.SelectTime,
144
232
  {
145
- value: (_d = (_c = state == null ? void 0 : state.modalState) == null ? void 0 : _c.date) == null ? void 0 : _d.value.format("HH:mm"),
233
+ value: (_f = (_e = state == null ? void 0 : state.modalState) == null ? void 0 : _e.date) == null ? void 0 : _f.value.format("HH:mm"),
146
234
  onChange: _onDateTimeChange,
147
235
  popoverProps: {
148
236
  style: { zoom: 0.8 }
@@ -172,14 +260,27 @@ var TimeBar = (props) => {
172
260
  type: "primary"
173
261
  },
174
262
  import_utils.locales.getText("pisell2.ticket-booking.create-new")
263
+ ),
264
+ /* @__PURE__ */ import_react.default.createElement(
265
+ import_antd.Button,
266
+ {
267
+ type: "link",
268
+ style: { marginLeft: "auto" },
269
+ onClick: _onToggleCollapse
270
+ },
271
+ /* @__PURE__ */ import_react.default.createElement("span", null, import_utils.locales.getText("pisell2.ticket-booking.collapse")),
272
+ /* @__PURE__ */ import_react.default.createElement(import_materials2.Iconfont, { type: "pisell2-chevron-left-double" })
175
273
  )
176
274
  );
177
275
  }, [
276
+ collapsed,
178
277
  (_b = (_a = state.modalState) == null ? void 0 : _a.date) == null ? void 0 : _b.value,
179
278
  state.intervalSetTime,
180
279
  state.isTimeChange,
181
280
  state.isDateChange,
182
- locale
281
+ locale,
282
+ _onToggleCollapse,
283
+ scaleCompensation
183
284
  ]);
184
285
  };
185
286
  var timeBar_default = TimeBar;