@pisell/private-materials 6.7.8 → 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 (423) 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/addons/model.d.ts +10 -1
  14. package/es/components/booking/components/footer/amount.d.ts +1 -0
  15. package/es/components/booking/components/footer/amount.js +548 -84
  16. package/es/components/booking/components/footer/index.js +77 -56
  17. package/es/components/booking/components/footer/utils.d.ts +19 -0
  18. package/es/components/booking/components/footer/utils.js +194 -73
  19. package/es/components/booking/components/voucher/index.js +23 -7
  20. package/es/components/booking/forms/model.d.ts +10 -1
  21. package/es/components/booking/hooks/useQuotation.js +4 -1
  22. package/es/components/booking/info/model.d.ts +10 -1
  23. package/es/components/booking/info/service/addService/utils.d.ts +1 -1
  24. package/es/components/booking/info/service2/utils.js +1 -0
  25. package/es/components/booking/info2/cartClientCard/index.js +30 -6
  26. package/es/components/booking/info2/index.js +1 -1
  27. package/es/components/booking/info2/service/addService/index.js +2 -3
  28. package/es/components/booking/info2/service/addService/utils.d.ts +1 -1
  29. package/es/components/booking/info2/service/editNormalService/index.js +6 -0
  30. package/es/components/booking/info2/service/editService/index.js +16 -6
  31. package/es/components/booking/info2/service/editService/utils.d.ts +15 -0
  32. package/es/components/booking/info2/service/editService/utils.js +66 -0
  33. package/es/components/booking/model.d.ts +9 -1
  34. package/es/components/booking/notes/model.d.ts +10 -1
  35. package/es/components/booking/payments/model.d.ts +10 -1
  36. package/es/components/booking/utils.d.ts +1 -0
  37. package/es/components/booking/utils.js +16 -3
  38. package/es/components/checkout/PaymentModal.d.ts +13 -5
  39. package/es/components/checkout/PaymentModal.js +304 -252
  40. package/es/components/checkout/components/AdditionalModule/index.d.ts +3 -1
  41. package/es/components/checkout/components/AdditionalModule/index.js +52 -12
  42. package/es/components/checkout/components/AmountSummary/index.js +9 -76
  43. package/es/components/checkout/components/AmountSummary/index.less +5 -6
  44. package/es/components/checkout/components/CashPaymentModule/index.d.ts +3 -1
  45. package/es/components/checkout/components/CashPaymentModule/index.js +5 -2
  46. package/es/components/checkout/components/PaymentDetailModal/index.js +2 -2
  47. package/es/components/checkout/components/PaymentOptionsModule/PaymentMethodItem.d.ts +2 -0
  48. package/es/components/checkout/components/PaymentOptionsModule/PaymentMethodItem.js +6 -1
  49. package/es/components/checkout/components/PaymentOptionsModule/index.d.ts +1 -0
  50. package/es/components/checkout/components/PaymentOptionsModule/index.js +2 -1
  51. package/es/components/checkout/components/PaymentOptionsModule/index.less +4 -0
  52. package/es/components/checkout/components/PaymentResultToast/PaymentResultToastProvider.d.ts +4 -0
  53. package/es/components/checkout/components/PaymentResultToast/PaymentResultToastProvider.js +31 -8
  54. package/es/components/checkout/components/PaymentResultToast/index.js +6 -6
  55. package/es/components/checkout/components/PaymentResultToast/index.less +94 -33
  56. package/es/components/checkout/components/SearchAndClientModule/index.js +39 -40
  57. package/es/components/checkout/hooks/useWalletPass.js +1 -1
  58. package/es/components/checkout/index.less +1 -1
  59. package/es/components/checkout/locales.d.ts +6 -0
  60. package/es/components/checkout/locales.js +6 -0
  61. package/es/components/checkout/plugin.d.ts +2 -0
  62. package/es/components/checkout/plugin.js +303 -0
  63. package/es/components/checkout/utils/PaymentResultToastUtils.d.ts +0 -1
  64. package/es/components/checkout/utils/PaymentResultToastUtils.js +11 -1
  65. package/es/components/eftposPay/hooks.d.ts +1 -1
  66. package/es/components/eftposPay/linkly/hooks/useTimeQuery.js +14 -6
  67. package/es/components/eftposPay/payo/config.js +70 -32
  68. package/es/components/eftposPay/payo/payment.d.ts +66 -0
  69. package/es/components/eftposPay/payo/payment.js +579 -0
  70. package/es/components/eftposPay/store/index.d.ts +4 -4
  71. package/es/components/eftposPay/tyro/index.js +12 -0
  72. package/es/components/eftposPay/utils/log/index.d.ts +110 -0
  73. package/es/components/eftposPay/utils/log/index.js +371 -0
  74. package/es/components/index.d.ts +2 -1
  75. package/es/components/index.js +2 -1
  76. package/es/components/list/List.js +99 -56
  77. package/es/components/list/hooks/useListState.d.ts +5 -3
  78. package/es/components/list/hooks/useListState.js +10 -2
  79. package/es/components/list/styles/base.less +4 -0
  80. package/es/components/list/styles/content.less +1 -1
  81. package/es/components/list/styles/header.less +4 -4
  82. package/es/components/list/types.d.ts +1 -0
  83. package/es/components/list/utils/index.d.ts +13 -1
  84. package/es/components/list/utils/index.js +43 -1
  85. package/es/components/pay/toC/PaymentMethods/MWCreditCard/tds2.js +14 -12
  86. package/es/components/pay/toC/PaymentMethods/WalletPass/serve.d.ts +6 -0
  87. package/es/components/pay/toC/PaymentMethods/WalletPass/utils.js +4 -2
  88. package/es/components/pay/toC/PaymentMethods/components/PaymentReturnContent/index.js +2 -0
  89. package/es/components/pay/toC/PaymentMethods/components/PaymentReturnContent/index.less +13 -3
  90. package/es/components/pay/toC/index.js +7 -4
  91. package/es/components/pay/toC/locales.d.ts +3 -0
  92. package/es/components/pay/toC/locales.js +6 -3
  93. package/es/components/pay/toC/model.d.ts +9 -1
  94. package/es/components/pay/toC/status.d.ts +1 -0
  95. package/es/components/pay/toC/status.js +3 -0
  96. package/es/components/schedules/model.d.ts +9 -1
  97. package/es/components/subTotal/index.js +1 -1
  98. package/es/components/systemSettings/registry/components/GroupModal.d.ts +4 -0
  99. package/es/components/{checkout/PaymentPlugin.js → systemSettings/registry/components/GroupModal.js} +132 -171
  100. package/es/components/systemSettings/registry/components/ItemModal.d.ts +4 -0
  101. package/es/components/systemSettings/registry/components/ItemModal.js +547 -0
  102. package/es/components/systemSettings/registry/components/ModuleList.d.ts +4 -0
  103. package/es/components/systemSettings/registry/components/ModuleList.js +54 -0
  104. package/es/components/systemSettings/registry/components/SectionList.d.ts +4 -0
  105. package/es/components/systemSettings/registry/components/SectionList.js +174 -0
  106. package/es/components/systemSettings/registry/components/SettingsTable.d.ts +4 -0
  107. package/es/components/systemSettings/registry/components/SettingsTable.js +765 -0
  108. package/es/components/systemSettings/registry/components/index.d.ts +4 -0
  109. package/es/components/systemSettings/registry/components/index.js +4 -0
  110. package/es/components/systemSettings/registry/index.d.ts +5 -0
  111. package/es/components/systemSettings/registry/index.js +1059 -0
  112. package/es/components/systemSettings/registry/index.less +410 -0
  113. package/es/components/systemSettings/registry/locales.d.ts +272 -0
  114. package/es/components/systemSettings/registry/locales.js +300 -0
  115. package/es/components/systemSettings/registry/services.d.ts +77 -0
  116. package/es/components/systemSettings/registry/services.js +472 -0
  117. package/es/components/systemSettings/registry/types.d.ts +126 -0
  118. package/es/components/systemSettings/registry/types.js +1 -0
  119. package/es/components/systemSettings/registry/utils/typeValidation.d.ts +16 -0
  120. package/es/components/systemSettings/registry/utils/typeValidation.js +284 -0
  121. package/es/components/systemSettings/registry/utils/validators.d.ts +8 -0
  122. package/es/components/systemSettings/registry/utils/validators.js +44 -0
  123. package/es/components/ticketBooking/components/ProductDisplayAdapter/ProductDisplayAdapter.js +58 -11
  124. package/es/components/ticketBooking/components/ProductDisplayAdapter/index.less +28 -1
  125. package/es/components/ticketBooking/components/ProductDisplayAdapter/utils.d.ts +35 -2
  126. package/es/components/ticketBooking/components/ProductDisplayAdapter/utils.js +149 -36
  127. package/es/components/ticketBooking/components/addServiceVariant/addService.js +2 -86
  128. package/es/components/ticketBooking/components/menuBar/index.js +109 -12
  129. package/es/components/ticketBooking/components/ticketBooking/index.js +2 -2
  130. package/es/components/ticketBooking/components/timeBar/index.js +112 -7
  131. package/es/components/ticketBooking/components/timeBar/index.less +59 -0
  132. package/es/components/ticketBooking/hooks/pisellos/useProducts.js +29 -18
  133. package/es/components/ticketBooking/locales.d.ts +9 -0
  134. package/es/components/ticketBooking/locales.js +12 -3
  135. package/es/components/ticketBooking/utils/index.d.ts +3 -0
  136. package/es/components/ticketBooking/utils/index.js +36 -13
  137. package/es/components/wallet/Detail/index.js +34 -2
  138. package/es/components/wallet/Detail/index.less +11 -0
  139. package/es/components/wallet/Detail/locales.d.ts +6 -0
  140. package/es/components/wallet/Detail/locales.js +14 -2
  141. package/es/components/wallet/Detail/model.d.ts +13 -1
  142. package/es/components/wallet/DiscountCard/model.d.ts +14 -1
  143. package/es/components/wallet/PointCard/model.d.ts +13 -1
  144. package/es/components/wallet/RechargeableCard/model.d.ts +29 -1
  145. package/es/components/wallet/Voucher/index.js +11 -10
  146. package/es/components/wallet/Voucher/model.d.ts +13 -1
  147. package/es/components/wallet/components/WalletCard.js +5 -1
  148. package/es/components/wallet/index.js +4 -2
  149. package/es/components/wallet/model.d.ts +9 -1
  150. package/es/components/wallet/serve.d.ts +7 -0
  151. package/es/components/wallet/utils.d.ts +48 -0
  152. package/es/components/wallet/utils.js +342 -0
  153. package/es/index.d.ts +5 -0
  154. package/es/index.js +6 -1
  155. package/es/plus/clientCard/locales.js +3 -3
  156. package/es/plus/clinetSearch/index.js +28 -30
  157. package/es/plus/clinetSearch/locales.d.ts +3 -0
  158. package/es/plus/clinetSearch/locales.js +7 -4
  159. package/es/plus/clinetSearch/types.d.ts +12 -0
  160. package/es/plus/productSelect/CategoryTabs/index.d.ts +1 -0
  161. package/es/plus/productSelect/CategoryTabs/index.js +2 -1
  162. package/es/plus/walletPassGallery/components/footerButton/index.js +2 -4
  163. package/es/plus/walletPassGallery/components/footerButton/index.less +14 -59
  164. package/es/plus/walletPassGallery/components/passDetail/index.d.ts +1 -0
  165. package/es/plus/walletPassGallery/components/passDetail/index.js +84 -31
  166. package/es/plus/walletPassGallery/components/passDetail/index.less +4 -0
  167. package/es/plus/walletPassGallery/components/recharge/index.js +19 -8
  168. package/es/plus/walletPassGallery/index.js +7 -3
  169. package/es/plus/walletPassGallery/serve.d.ts +3 -0
  170. package/es/plus/walletPassGallery/serve.js +4 -2
  171. package/es/pro/Login2.0/index.less +15 -8
  172. package/es/pro/Selector/BatchSelectorDemo.d.ts +3 -0
  173. package/es/pro/Selector/BatchSelectorDemo.js +470 -0
  174. package/es/pro/Selector/Selector.d.ts +5 -0
  175. package/es/pro/Selector/Selector.js +283 -0
  176. package/es/pro/Selector/SelectorGroup.d.ts +11 -0
  177. package/es/pro/Selector/SelectorGroup.js +537 -0
  178. package/es/pro/Selector/components/Card/index.d.ts +27 -0
  179. package/es/pro/Selector/components/Card/index.js +96 -0
  180. package/es/pro/Selector/components/Card/index.less +132 -0
  181. package/es/pro/Selector/components/IntersectionObserver.d.ts +105 -0
  182. package/es/pro/Selector/components/IntersectionObserver.js +384 -0
  183. package/es/pro/Selector/components/NumericStepper/index.d.ts +41 -0
  184. package/es/pro/Selector/components/NumericStepper/index.js +198 -0
  185. package/es/pro/Selector/components/NumericStepper/index.less +221 -0
  186. package/es/pro/Selector/components/index.d.ts +2 -0
  187. package/es/pro/Selector/components/index.js +2 -0
  188. package/es/pro/Selector/demo.d.ts +3 -0
  189. package/es/pro/Selector/demo.js +158 -0
  190. package/es/pro/Selector/hooks/useSelectionController.d.ts +42 -0
  191. package/es/pro/Selector/hooks/useSelectionController.js +414 -0
  192. package/es/pro/Selector/index.d.ts +8 -0
  193. package/es/pro/Selector/index.js +5 -0
  194. package/es/pro/Selector/locales.d.ts +42 -0
  195. package/es/pro/Selector/locales.js +80 -0
  196. package/es/pro/Selector/selector.less +3 -0
  197. package/es/pro/Selector/selectorGroup.less +8 -0
  198. package/es/pro/Selector/types.d.ts +114 -0
  199. package/es/pro/Selector/types.js +1 -0
  200. package/es/pro/Selector/utils/index.d.ts +49 -0
  201. package/es/pro/Selector/utils/index.js +229 -0
  202. package/es/pro/comprehensiveSearch/components/searchSection/locales.js +3 -3
  203. package/es/pro/comprehensiveSearch/locales.js +1 -1
  204. package/es/pro/priceKeyboard/components/cashKeyboard/CashKeyboardIntact.js +45 -36
  205. package/es/pro/priceKeyboard/components/cashKeyboard/index.d.ts +1 -0
  206. package/es/pro/priceKeyboard/components/cashKeyboard/index.js +4 -2
  207. package/es/pro/priceKeyboard/components/cashKeyboard/types.d.ts +1 -0
  208. package/es/pro/priceKeyboard/components/discountKeyboard/index.js +10 -1
  209. package/es/pro/priceKeyboard/components/discountKeyboard/index.less +14 -0
  210. package/es/pro/priceKeyboard/components/shortcuts/index.d.ts +1 -0
  211. package/es/pro/priceKeyboard/components/shortcuts/index.js +5 -2
  212. package/es/pro/priceKeyboard/components/shortcuts/index.less +4 -0
  213. package/lib/components/appointmentBooking/components/Voucher/index.js +2 -1
  214. package/lib/components/booking/addons/index.js +15 -7
  215. package/lib/components/booking/addons/model.d.ts +10 -1
  216. package/lib/components/booking/components/footer/amount.d.ts +1 -0
  217. package/lib/components/booking/components/footer/amount.js +293 -41
  218. package/lib/components/booking/components/footer/index.js +30 -11
  219. package/lib/components/booking/components/footer/utils.d.ts +19 -0
  220. package/lib/components/booking/components/footer/utils.js +138 -41
  221. package/lib/components/booking/components/voucher/index.js +25 -9
  222. package/lib/components/booking/forms/model.d.ts +10 -1
  223. package/lib/components/booking/hooks/useQuotation.js +2 -1
  224. package/lib/components/booking/info/model.d.ts +10 -1
  225. package/lib/components/booking/info/service/addService/utils.d.ts +1 -1
  226. package/lib/components/booking/info/service2/utils.js +1 -0
  227. package/lib/components/booking/info2/cartClientCard/index.js +25 -5
  228. package/lib/components/booking/info2/index.js +7 -2
  229. package/lib/components/booking/info2/service/addService/index.js +1 -2
  230. package/lib/components/booking/info2/service/addService/utils.d.ts +1 -1
  231. package/lib/components/booking/info2/service/editNormalService/index.js +6 -0
  232. package/lib/components/booking/info2/service/editService/index.js +12 -3
  233. package/lib/components/booking/info2/service/editService/utils.d.ts +15 -0
  234. package/lib/components/booking/info2/service/editService/utils.js +40 -3
  235. package/lib/components/booking/model.d.ts +9 -1
  236. package/lib/components/booking/notes/model.d.ts +10 -1
  237. package/lib/components/booking/payments/model.d.ts +10 -1
  238. package/lib/components/booking/utils.d.ts +1 -0
  239. package/lib/components/booking/utils.js +11 -0
  240. package/lib/components/checkout/PaymentModal.d.ts +13 -5
  241. package/lib/components/checkout/PaymentModal.js +190 -147
  242. package/lib/components/checkout/components/AdditionalModule/index.d.ts +3 -1
  243. package/lib/components/checkout/components/AdditionalModule/index.js +52 -11
  244. package/lib/components/checkout/components/AmountSummary/index.js +5 -46
  245. package/lib/components/checkout/components/AmountSummary/index.less +5 -6
  246. package/lib/components/checkout/components/CashPaymentModule/index.d.ts +3 -1
  247. package/lib/components/checkout/components/CashPaymentModule/index.js +5 -2
  248. package/lib/components/checkout/components/PaymentDetailModal/index.js +2 -2
  249. package/lib/components/checkout/components/PaymentOptionsModule/PaymentMethodItem.d.ts +2 -0
  250. package/lib/components/checkout/components/PaymentOptionsModule/PaymentMethodItem.js +5 -1
  251. package/lib/components/checkout/components/PaymentOptionsModule/index.d.ts +1 -0
  252. package/lib/components/checkout/components/PaymentOptionsModule/index.js +6 -0
  253. package/lib/components/checkout/components/PaymentOptionsModule/index.less +4 -0
  254. package/lib/components/checkout/components/PaymentResultToast/PaymentResultToastProvider.d.ts +4 -0
  255. package/lib/components/checkout/components/PaymentResultToast/PaymentResultToastProvider.js +23 -5
  256. package/lib/components/checkout/components/PaymentResultToast/index.js +4 -4
  257. package/lib/components/checkout/components/PaymentResultToast/index.less +94 -33
  258. package/lib/components/checkout/components/SearchAndClientModule/index.js +29 -3
  259. package/lib/components/checkout/hooks/useWalletPass.js +1 -1
  260. package/lib/components/checkout/index.less +1 -1
  261. package/lib/components/checkout/locales.d.ts +6 -0
  262. package/lib/components/checkout/locales.js +6 -0
  263. package/lib/components/checkout/plugin.d.ts +2 -0
  264. package/lib/components/checkout/plugin.js +263 -0
  265. package/lib/components/checkout/utils/PaymentResultToastUtils.d.ts +0 -1
  266. package/lib/components/checkout/utils/PaymentResultToastUtils.js +11 -1
  267. package/lib/components/eftposPay/hooks.d.ts +1 -1
  268. package/lib/components/eftposPay/linkly/hooks/useTimeQuery.js +12 -6
  269. package/lib/components/eftposPay/payo/config.js +98 -73
  270. package/lib/components/eftposPay/payo/payment.d.ts +66 -0
  271. package/lib/components/eftposPay/payo/payment.js +357 -0
  272. package/lib/components/eftposPay/store/index.d.ts +4 -4
  273. package/lib/components/eftposPay/tyro/index.js +12 -0
  274. package/lib/components/eftposPay/utils/log/index.d.ts +110 -0
  275. package/lib/components/eftposPay/utils/log/index.js +294 -0
  276. package/lib/components/index.d.ts +2 -1
  277. package/lib/components/index.js +3 -0
  278. package/lib/components/list/List.js +58 -36
  279. package/lib/components/list/hooks/useListState.d.ts +5 -3
  280. package/lib/components/list/hooks/useListState.js +9 -1
  281. package/lib/components/list/styles/base.less +4 -0
  282. package/lib/components/list/styles/content.less +1 -1
  283. package/lib/components/list/styles/header.less +4 -4
  284. package/lib/components/list/types.d.ts +1 -0
  285. package/lib/components/list/utils/index.d.ts +13 -1
  286. package/lib/components/list/utils/index.js +27 -0
  287. package/lib/components/pay/toC/PaymentMethods/MWCreditCard/tds2.js +14 -12
  288. package/lib/components/pay/toC/PaymentMethods/WalletPass/serve.d.ts +6 -0
  289. package/lib/components/pay/toC/PaymentMethods/WalletPass/utils.js +4 -2
  290. package/lib/components/pay/toC/PaymentMethods/components/PaymentReturnContent/index.js +1 -1
  291. package/lib/components/pay/toC/PaymentMethods/components/PaymentReturnContent/index.less +13 -3
  292. package/lib/components/pay/toC/index.js +4 -1
  293. package/lib/components/pay/toC/locales.d.ts +3 -0
  294. package/lib/components/pay/toC/locales.js +6 -3
  295. package/lib/components/pay/toC/model.d.ts +9 -1
  296. package/lib/components/pay/toC/status.d.ts +1 -0
  297. package/lib/components/pay/toC/status.js +5 -0
  298. package/lib/components/schedules/model.d.ts +9 -1
  299. package/lib/components/subTotal/index.js +1 -1
  300. package/lib/components/systemSettings/registry/components/GroupModal.d.ts +4 -0
  301. package/lib/components/systemSettings/registry/components/GroupModal.js +177 -0
  302. package/lib/components/systemSettings/registry/components/ItemModal.d.ts +4 -0
  303. package/lib/components/systemSettings/registry/components/ItemModal.js +508 -0
  304. package/lib/components/systemSettings/registry/components/ModuleList.d.ts +4 -0
  305. package/lib/components/systemSettings/registry/components/ModuleList.js +71 -0
  306. package/lib/components/systemSettings/registry/components/SectionList.d.ts +4 -0
  307. package/lib/components/systemSettings/registry/components/SectionList.js +181 -0
  308. package/lib/components/systemSettings/registry/components/SettingsTable.d.ts +4 -0
  309. package/lib/components/systemSettings/registry/components/SettingsTable.js +575 -0
  310. package/lib/components/systemSettings/registry/components/index.d.ts +4 -0
  311. package/lib/components/systemSettings/registry/components/index.js +48 -0
  312. package/lib/components/systemSettings/registry/index.d.ts +5 -0
  313. package/lib/components/systemSettings/registry/index.js +529 -0
  314. package/lib/components/systemSettings/registry/index.less +410 -0
  315. package/lib/components/systemSettings/registry/locales.d.ts +272 -0
  316. package/lib/components/systemSettings/registry/locales.js +324 -0
  317. package/lib/components/systemSettings/registry/services.d.ts +77 -0
  318. package/lib/components/systemSettings/registry/services.js +290 -0
  319. package/lib/components/systemSettings/registry/types.d.ts +126 -0
  320. package/lib/components/systemSettings/registry/types.js +17 -0
  321. package/lib/components/systemSettings/registry/utils/typeValidation.d.ts +16 -0
  322. package/lib/components/systemSettings/registry/utils/typeValidation.js +228 -0
  323. package/lib/components/systemSettings/registry/utils/validators.d.ts +8 -0
  324. package/lib/components/systemSettings/registry/utils/validators.js +54 -0
  325. package/lib/components/ticketBooking/components/ProductDisplayAdapter/ProductDisplayAdapter.js +40 -5
  326. package/lib/components/ticketBooking/components/ProductDisplayAdapter/index.less +28 -1
  327. package/lib/components/ticketBooking/components/ProductDisplayAdapter/utils.d.ts +35 -2
  328. package/lib/components/ticketBooking/components/ProductDisplayAdapter/utils.js +93 -24
  329. package/lib/components/ticketBooking/components/addServiceVariant/addService.js +0 -1
  330. package/lib/components/ticketBooking/components/menuBar/index.js +42 -6
  331. package/lib/components/ticketBooking/components/ticketBooking/index.js +2 -2
  332. package/lib/components/ticketBooking/components/timeBar/index.js +105 -4
  333. package/lib/components/ticketBooking/components/timeBar/index.less +59 -0
  334. package/lib/components/ticketBooking/hooks/pisellos/useProducts.js +17 -13
  335. package/lib/components/ticketBooking/locales.d.ts +9 -0
  336. package/lib/components/ticketBooking/locales.js +12 -3
  337. package/lib/components/ticketBooking/utils/index.d.ts +3 -0
  338. package/lib/components/ticketBooking/utils/index.js +20 -6
  339. package/lib/components/wallet/Detail/index.js +31 -3
  340. package/lib/components/wallet/Detail/index.less +11 -0
  341. package/lib/components/wallet/Detail/locales.d.ts +6 -0
  342. package/lib/components/wallet/Detail/locales.js +14 -2
  343. package/lib/components/wallet/Detail/model.d.ts +13 -1
  344. package/lib/components/wallet/DiscountCard/model.d.ts +14 -1
  345. package/lib/components/wallet/PointCard/model.d.ts +13 -1
  346. package/lib/components/wallet/RechargeableCard/model.d.ts +29 -1
  347. package/lib/components/wallet/Voucher/index.js +8 -8
  348. package/lib/components/wallet/Voucher/model.d.ts +13 -1
  349. package/lib/components/wallet/components/WalletCard.js +4 -0
  350. package/lib/components/wallet/index.js +2 -2
  351. package/lib/components/wallet/model.d.ts +9 -1
  352. package/lib/components/wallet/serve.d.ts +7 -0
  353. package/lib/components/wallet/utils.d.ts +48 -0
  354. package/lib/components/wallet/utils.js +287 -0
  355. package/lib/index.d.ts +5 -0
  356. package/lib/index.js +15 -0
  357. package/lib/plus/clientCard/locales.js +3 -3
  358. package/lib/plus/clinetSearch/index.js +17 -8
  359. package/lib/plus/clinetSearch/locales.d.ts +3 -0
  360. package/lib/plus/clinetSearch/locales.js +7 -4
  361. package/lib/plus/clinetSearch/types.d.ts +12 -0
  362. package/lib/plus/productSelect/CategoryTabs/index.d.ts +1 -0
  363. package/lib/plus/productSelect/CategoryTabs/index.js +2 -1
  364. package/lib/plus/walletPassGallery/components/footerButton/index.js +2 -2
  365. package/lib/plus/walletPassGallery/components/footerButton/index.less +14 -59
  366. package/lib/plus/walletPassGallery/components/passDetail/index.d.ts +1 -0
  367. package/lib/plus/walletPassGallery/components/passDetail/index.js +54 -15
  368. package/lib/plus/walletPassGallery/components/passDetail/index.less +4 -0
  369. package/lib/plus/walletPassGallery/components/recharge/index.js +7 -1
  370. package/lib/plus/walletPassGallery/index.js +7 -3
  371. package/lib/plus/walletPassGallery/serve.d.ts +3 -0
  372. package/lib/plus/walletPassGallery/serve.js +3 -2
  373. package/lib/pro/Login2.0/index.less +15 -8
  374. package/lib/pro/Selector/BatchSelectorDemo.d.ts +3 -0
  375. package/lib/pro/Selector/BatchSelectorDemo.js +376 -0
  376. package/lib/pro/Selector/Selector.d.ts +5 -0
  377. package/lib/pro/Selector/Selector.js +264 -0
  378. package/lib/pro/Selector/SelectorGroup.d.ts +11 -0
  379. package/lib/pro/Selector/SelectorGroup.js +463 -0
  380. package/lib/pro/Selector/components/Card/index.d.ts +27 -0
  381. package/lib/pro/Selector/components/Card/index.js +114 -0
  382. package/lib/pro/Selector/components/Card/index.less +132 -0
  383. package/lib/pro/Selector/components/IntersectionObserver.d.ts +105 -0
  384. package/lib/pro/Selector/components/IntersectionObserver.js +281 -0
  385. package/lib/pro/Selector/components/NumericStepper/index.d.ts +41 -0
  386. package/lib/pro/Selector/components/NumericStepper/index.js +221 -0
  387. package/lib/pro/Selector/components/NumericStepper/index.less +221 -0
  388. package/lib/pro/Selector/components/index.d.ts +2 -0
  389. package/lib/pro/Selector/components/index.js +42 -0
  390. package/lib/pro/Selector/demo.d.ts +3 -0
  391. package/lib/pro/Selector/demo.js +102 -0
  392. package/lib/pro/Selector/hooks/useSelectionController.d.ts +42 -0
  393. package/lib/pro/Selector/hooks/useSelectionController.js +338 -0
  394. package/lib/pro/Selector/index.d.ts +8 -0
  395. package/lib/pro/Selector/index.js +39 -0
  396. package/lib/pro/Selector/locales.d.ts +42 -0
  397. package/lib/pro/Selector/locales.js +80 -0
  398. package/lib/pro/Selector/selector.less +3 -0
  399. package/lib/pro/Selector/selectorGroup.less +8 -0
  400. package/lib/pro/Selector/types.d.ts +114 -0
  401. package/lib/pro/Selector/types.js +17 -0
  402. package/lib/pro/Selector/utils/index.d.ts +49 -0
  403. package/lib/pro/Selector/utils/index.js +221 -0
  404. package/lib/pro/comprehensiveSearch/components/searchSection/locales.js +3 -3
  405. package/lib/pro/comprehensiveSearch/locales.js +1 -1
  406. package/lib/pro/priceKeyboard/components/cashKeyboard/CashKeyboardIntact.js +42 -43
  407. package/lib/pro/priceKeyboard/components/cashKeyboard/index.d.ts +1 -0
  408. package/lib/pro/priceKeyboard/components/cashKeyboard/index.js +3 -2
  409. package/lib/pro/priceKeyboard/components/cashKeyboard/types.d.ts +1 -0
  410. package/lib/pro/priceKeyboard/components/discountKeyboard/index.js +8 -1
  411. package/lib/pro/priceKeyboard/components/discountKeyboard/index.less +14 -0
  412. package/lib/pro/priceKeyboard/components/shortcuts/index.d.ts +1 -0
  413. package/lib/pro/priceKeyboard/components/shortcuts/index.js +3 -2
  414. package/lib/pro/priceKeyboard/components/shortcuts/index.less +4 -0
  415. package/lowcode/payment-modal/meta.ts +135 -0
  416. package/lowcode/selector/meta.ts +352 -0
  417. package/lowcode/selector.group/meta.ts +200 -0
  418. package/lowcode/settings-registry/meta.ts +29 -0
  419. package/lowcode/wallet-pass-detail/meta.ts +89 -0
  420. package/package.json +3 -3
  421. package/es/components/checkout/PaymentPlugin.d.ts +0 -3
  422. package/lib/components/checkout/PaymentPlugin.d.ts +0 -3
  423. package/lib/components/checkout/PaymentPlugin.js +0 -181
@@ -0,0 +1,294 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/components/eftposPay/utils/log/index.ts
30
+ var log_exports = {};
31
+ __export(log_exports, {
32
+ default: () => log_default
33
+ });
34
+ module.exports = __toCommonJS(log_exports);
35
+ var import_dayjs = __toESM(require("dayjs"));
36
+ var import_utils = require("@pisell/utils");
37
+ var PAYMENT_LOGS_KEY = "pisell2_eftpos_payment_logs";
38
+ var PaymentLogInstance = class _PaymentLogInstance {
39
+ static instance;
40
+ /** 当前交易记录号 */
41
+ currentNumber = null;
42
+ /** 当前日志记录 */
43
+ currentRecord = null;
44
+ constructor() {
45
+ }
46
+ /**
47
+ * 获取单例实例
48
+ */
49
+ static getInstance() {
50
+ if (!_PaymentLogInstance.instance) {
51
+ _PaymentLogInstance.instance = new _PaymentLogInstance();
52
+ }
53
+ return _PaymentLogInstance.instance;
54
+ }
55
+ /**
56
+ * 初始化支付日志
57
+ * @param number 交易记录号
58
+ * @param options 初始化选项
59
+ */
60
+ init(number, options) {
61
+ try {
62
+ this.checkAndUploadOldLogs();
63
+ this.currentNumber = number;
64
+ this.currentRecord = {
65
+ number,
66
+ orderId: options == null ? void 0 : options.orderId,
67
+ deviceId: options == null ? void 0 : options.deviceId,
68
+ paymentType: options == null ? void 0 : options.paymentType,
69
+ createdAt: (0, import_dayjs.default)().format("YYYY-MM-DD HH:mm:ss.SSS"),
70
+ logs: []
71
+ };
72
+ this.addLog({
73
+ title: "EFTPOS日志初始化",
74
+ content: { number, ...options || {} }
75
+ });
76
+ console.log(`📝 支付日志初始化成功,交易号: ${number}`);
77
+ } catch (error) {
78
+ console.error("❌ 支付日志初始化失败:", error);
79
+ }
80
+ }
81
+ /**
82
+ * 添加日志条目
83
+ * @param title 日志标题
84
+ * @param content 日志内容
85
+ */
86
+ addLog(params) {
87
+ try {
88
+ if (!this.currentRecord || !this.currentNumber) {
89
+ console.warn("⚠️ 日志未初始化,无法添加日志");
90
+ return;
91
+ }
92
+ const logEntry = {
93
+ title: params.title,
94
+ time: (0, import_dayjs.default)().format("YYYY-MM-DD HH:mm:ss.SSS")
95
+ };
96
+ if (params == null ? void 0 : params.content) {
97
+ logEntry.content = params.content;
98
+ }
99
+ this.currentRecord.logs.push(logEntry);
100
+ this.saveToLocalStorage();
101
+ console.log(`📝 添加支付日志: ${params.title}`, logEntry);
102
+ } catch (error) {
103
+ console.error("❌ 添加日志失败:", error);
104
+ }
105
+ }
106
+ /**
107
+ * 构建日志内容
108
+ * @param record 日志记录
109
+ * @returns 格式化的日志内容数组
110
+ */
111
+ buildLogContent(record) {
112
+ return [
113
+ {
114
+ key: "交易记录号",
115
+ value: record.number
116
+ },
117
+ {
118
+ key: "订单ID",
119
+ value: (record == null ? void 0 : record.orderId) || "未知"
120
+ },
121
+ {
122
+ key: "设备ID",
123
+ value: (record == null ? void 0 : record.deviceId) || "未知"
124
+ },
125
+ {
126
+ key: "支付类型",
127
+ value: (record == null ? void 0 : record.paymentType) || "未知"
128
+ },
129
+ {
130
+ key: "创建时间",
131
+ value: record.createdAt
132
+ },
133
+ {
134
+ key: "详细日志",
135
+ value: JSON.stringify(record.logs || [])
136
+ }
137
+ ];
138
+ }
139
+ /**
140
+ * 发送单条日志记录到飞书
141
+ * @param record 日志记录
142
+ * @param isRestore 是否是恢复上传
143
+ */
144
+ sendLogRecord(record, isRestore = false) {
145
+ const prefix = isRestore ? "[恢复]" : "";
146
+ const title = `${prefix}支付日志-${record.paymentType || "Unknown"}-${record.orderId || "Unknown"}`;
147
+ const content = this.buildLogContent(record);
148
+ (0, import_utils.sendWarningLog)({ title, content });
149
+ console.log(`✅ 日志已发送到飞书: ${title}`);
150
+ }
151
+ /**
152
+ * 发送日志到飞书
153
+ * @param title 日志标题(可选,仅在需要自定义标题时使用)
154
+ */
155
+ sendLogs(title) {
156
+ try {
157
+ if (!this.currentRecord) {
158
+ console.warn("⚠️ 没有日志记录需要发送");
159
+ return;
160
+ }
161
+ if (title) {
162
+ const content = this.buildLogContent(this.currentRecord);
163
+ (0, import_utils.sendWarningLog)({ title, content });
164
+ console.log(`✅ 日志已发送到飞书: ${title}`);
165
+ } else {
166
+ this.sendLogRecord(this.currentRecord, false);
167
+ }
168
+ } catch (error) {
169
+ console.error("❌ 发送日志到飞书失败:", error);
170
+ }
171
+ }
172
+ /**
173
+ * 清除当前日志
174
+ * @param shouldSend 清除前是否发送到飞书,默认为 true
175
+ */
176
+ clearLogs(shouldSend = true) {
177
+ try {
178
+ if (!this.currentNumber) {
179
+ console.warn("⚠️ 没有活动的日志记录需要清除");
180
+ return;
181
+ }
182
+ if (shouldSend && this.currentRecord) {
183
+ this.sendLogs();
184
+ }
185
+ this.removeFromLocalStorage(this.currentNumber);
186
+ this.currentNumber = null;
187
+ this.currentRecord = null;
188
+ console.log("🧹 日志已清除");
189
+ } catch (error) {
190
+ console.error("❌ 清除日志失败:", error);
191
+ }
192
+ }
193
+ /**
194
+ * 检查并上传旧日志
195
+ */
196
+ checkAndUploadOldLogs() {
197
+ try {
198
+ const oldLogs = this.getOldLogsFromLocalStorage();
199
+ if (oldLogs.length === 0) {
200
+ return;
201
+ }
202
+ console.log(`📤 发现 ${oldLogs.length} 条旧日志记录,准备上传...`);
203
+ for (const log of oldLogs) {
204
+ try {
205
+ this.sendLogRecord(log, true);
206
+ this.removeFromLocalStorage(log.number);
207
+ console.log(`✅ 旧日志已上传并删除: ${log.number}`);
208
+ } catch (error) {
209
+ console.error(`❌ 上传旧日志失败 (${log.number}):`, error);
210
+ }
211
+ }
212
+ } catch (error) {
213
+ console.error("❌ 检查旧日志失败:", error);
214
+ }
215
+ }
216
+ /**
217
+ * 获取所有支付日志对象
218
+ */
219
+ getAllLogsObject() {
220
+ try {
221
+ const value = localStorage.getItem(PAYMENT_LOGS_KEY);
222
+ if (!value) {
223
+ return {};
224
+ }
225
+ return JSON.parse(value);
226
+ } catch (error) {
227
+ console.error("❌ 读取 localStorage 失败:", error);
228
+ return {};
229
+ }
230
+ }
231
+ /**
232
+ * 保存所有支付日志对象
233
+ */
234
+ saveAllLogsObject(logsObject) {
235
+ try {
236
+ localStorage.setItem(PAYMENT_LOGS_KEY, JSON.stringify(logsObject));
237
+ } catch (error) {
238
+ console.error("❌ 保存到 localStorage 失败:", error);
239
+ }
240
+ }
241
+ /**
242
+ * 保存到 localStorage
243
+ */
244
+ saveToLocalStorage() {
245
+ try {
246
+ if (!this.currentRecord || !this.currentNumber) {
247
+ return;
248
+ }
249
+ const allLogs = this.getAllLogsObject();
250
+ allLogs[this.currentNumber] = this.currentRecord;
251
+ this.saveAllLogsObject(allLogs);
252
+ } catch (error) {
253
+ console.error("❌ 保存到 localStorage 失败:", error);
254
+ }
255
+ }
256
+ /**
257
+ * 从 localStorage 中删除
258
+ */
259
+ removeFromLocalStorage(number) {
260
+ try {
261
+ const allLogs = this.getAllLogsObject();
262
+ delete allLogs[number];
263
+ this.saveAllLogsObject(allLogs);
264
+ } catch (error) {
265
+ console.error("❌ 从 localStorage 删除失败:", error);
266
+ }
267
+ }
268
+ /**
269
+ * 获取所有旧日志
270
+ */
271
+ getOldLogsFromLocalStorage() {
272
+ try {
273
+ const allLogs = this.getAllLogsObject();
274
+ return Object.values(allLogs);
275
+ } catch (error) {
276
+ console.error("❌ 获取旧日志失败:", error);
277
+ return [];
278
+ }
279
+ }
280
+ /**
281
+ * 获取当前日志记录(用于调试)
282
+ */
283
+ getCurrentRecord() {
284
+ return this.currentRecord;
285
+ }
286
+ /**
287
+ * 获取当前交易号(用于调试)
288
+ */
289
+ getCurrentNumber() {
290
+ return this.currentNumber;
291
+ }
292
+ };
293
+ var paymentLog = PaymentLogInstance.getInstance();
294
+ var log_default = paymentLog;
@@ -20,4 +20,5 @@ import StepController from './stepController';
20
20
  import PinModal from './pinModal';
21
21
  import PinVerifyModal from './pinVerifyModal';
22
22
  import { OAuthConfig, SaaSAdminAuth, OrgAdminAuth, CustomerAuth, CustomerOAuthConfig, DeviceAuth, POSOperatorAuth, OnlineShopAuth, SaaSManagermentAuth } from './authentication/admin';
23
- export { Login, BookingInfo, Booking, BookingNotes, BookingAddons, BookingForms, Schedules, ProductExtension, RuleSetting, TaxSelect, ToCPay, PisellSelectCustomerModal, Wallet, WalletList, WorkspaceList, WorkspaceListDetail, SubTotal, EditBookingModal, StepController, PinModal, PinVerifyModal, OAuthConfig, SaaSAdminAuth, OrgAdminAuth, CustomerAuth, CustomerOAuthConfig, DeviceAuth, POSOperatorAuth, OnlineShopAuth, SaaSManagermentAuth, };
23
+ import Registry from './systemSettings/registry';
24
+ export { Login, BookingInfo, Booking, BookingNotes, BookingAddons, BookingForms, Schedules, ProductExtension, RuleSetting, TaxSelect, ToCPay, PisellSelectCustomerModal, Wallet, WalletList, WorkspaceList, WorkspaceListDetail, SubTotal, EditBookingModal, StepController, PinModal, PinVerifyModal, OAuthConfig, SaaSAdminAuth, OrgAdminAuth, CustomerAuth, CustomerOAuthConfig, DeviceAuth, POSOperatorAuth, OnlineShopAuth, SaaSManagermentAuth, Registry, };
@@ -47,6 +47,7 @@ __export(components_exports, {
47
47
  PinVerifyModal: () => import_pinVerifyModal.default,
48
48
  PisellSelectCustomerModal: () => import_pisellSelectCustomerModal.default,
49
49
  ProductExtension: () => import_productExtension.default,
50
+ Registry: () => import_registry.default,
50
51
  RuleSetting: () => import_ruleSetting.default,
51
52
  SaaSAdminAuth: () => import_admin.SaaSAdminAuth,
52
53
  SaaSManagermentAuth: () => import_admin.SaaSManagermentAuth,
@@ -83,6 +84,7 @@ var import_stepController = __toESM(require("./stepController"));
83
84
  var import_pinModal = __toESM(require("./pinModal"));
84
85
  var import_pinVerifyModal = __toESM(require("./pinVerifyModal"));
85
86
  var import_admin = require("./authentication/admin");
87
+ var import_registry = __toESM(require("./systemSettings/registry"));
86
88
  // Annotate the CommonJS export names for ESM import in node:
87
89
  0 && (module.exports = {
88
90
  Booking,
@@ -103,6 +105,7 @@ var import_admin = require("./authentication/admin");
103
105
  PinVerifyModal,
104
106
  PisellSelectCustomerModal,
105
107
  ProductExtension,
108
+ Registry,
106
109
  RuleSetting,
107
110
  SaaSAdminAuth,
108
111
  SaaSManagermentAuth,
@@ -35,7 +35,6 @@ module.exports = __toCommonJS(List_exports);
35
35
  var import_react = __toESM(require("react"));
36
36
  var import_antd = require("antd");
37
37
  var import_classnames = __toESM(require("classnames"));
38
- var import_Tab = __toESM(require("./components/Tab"));
39
38
  var import_Pagination = __toESM(require("./components/Pagination"));
40
39
  var import_EmptyState = __toESM(require("./components/EmptyState"));
41
40
  var import_ScrollLoader = __toESM(require("./components/ScrollLoader"));
@@ -48,6 +47,7 @@ var import_locales = __toESM(require("./locales"));
48
47
  var import_useWaterfall = __toESM(require("./hooks/useWaterfall"));
49
48
  var import_useListState = require("./hooks/useListState");
50
49
  var import_useEngineContext = __toESM(require("../../hooks/useEngineContext"));
50
+ var import_utils = require("./utils");
51
51
  var MOCK_LIST_DATA = (() => {
52
52
  const mockData = [];
53
53
  for (let i = 0; i < 8; i++) {
@@ -112,7 +112,8 @@ var List = (props) => {
112
112
  renderItem,
113
113
  emptyConfig = { show: true, text: getLocalText("pisell-list-empty-text-default", "No data available"), icon: null, description: "" },
114
114
  pagination,
115
- loading = false
115
+ loading = false,
116
+ renderSearch
116
117
  } = props;
117
118
  console.log("List props", props);
118
119
  const tabItems = tabStyle === "none" ? [] : tabData || [];
@@ -131,6 +132,7 @@ var List = (props) => {
131
132
  externalCurrentPage: pagination == null ? void 0 : pagination.current,
132
133
  tabItems,
133
134
  defaultPageSize,
135
+ tabStyle,
134
136
  onLoadData
135
137
  });
136
138
  const { activeTab, isStickyActive } = listState;
@@ -143,6 +145,14 @@ var List = (props) => {
143
145
  }
144
146
  return fieldValue === targetValue;
145
147
  };
148
+ const dataIdMap = (0, import_react.useMemo)(() => {
149
+ return data.reduce((pre, cur) => {
150
+ return {
151
+ ...pre,
152
+ [cur.id]: cur
153
+ };
154
+ }, {});
155
+ }, [data]);
146
156
  const processedData = (0, import_react.useMemo)(() => {
147
157
  const sourceData = loading ? MOCK_LIST_DATA : data || [];
148
158
  if (tabStyle === "anchor" && tabItems.length > 0) {
@@ -192,20 +202,30 @@ var List = (props) => {
192
202
  if (!activeTab || activeTab === "all") {
193
203
  return [{ tabKey: "all", tabLabel: "", items: filteredData }];
194
204
  }
195
- const currentTab = tabItems.find((tab) => tab.key === activeTab);
196
- if (currentTab && currentTab.group) {
197
- const filterField = "category";
198
- filteredData = filteredData.filter((item) => matchesFieldValue(item[filterField], currentTab.group));
199
- } else if (currentTab) {
200
- const possibleFields = ["category", "status", "type", tabGroup];
201
- for (const field of possibleFields) {
202
- if (field && field !== "字段" && filteredData.some((item) => matchesFieldValue(item[field], activeTab))) {
203
- filteredData = filteredData.filter((item) => matchesFieldValue(item[field], activeTab));
204
- break;
205
+ if (Array.isArray(activeTab)) {
206
+ const productIds = (0, import_utils.findProductIdsByPath)(tabItems, activeTab, 0);
207
+ const items = productIds.map((id) => dataIdMap[id]);
208
+ return [{
209
+ tabKey: activeTab,
210
+ tabLabel: "",
211
+ items
212
+ }];
213
+ } else {
214
+ const currentTab = tabItems.find((tab) => tab.key === activeTab);
215
+ if (currentTab && currentTab.group) {
216
+ const filterField = "category";
217
+ filteredData = filteredData.filter((item) => matchesFieldValue(item[filterField], currentTab.group));
218
+ } else if (currentTab) {
219
+ const possibleFields = ["category", "status", "type", tabGroup];
220
+ for (const field of possibleFields) {
221
+ if (field && field !== "字段" && filteredData.some((item) => matchesFieldValue(item[field], activeTab))) {
222
+ filteredData = filteredData.filter((item) => matchesFieldValue(item[field], activeTab));
223
+ break;
224
+ }
205
225
  }
206
226
  }
227
+ return [{ tabKey: activeTab, tabLabel: (currentTab == null ? void 0 : currentTab.label) || "", items: filteredData }];
207
228
  }
208
- return [{ tabKey: activeTab, tabLabel: (currentTab == null ? void 0 : currentTab.label) || "", items: filteredData }];
209
229
  }
210
230
  }, [data, activeTab, tabItems, tabGroup, tabStyle, loading]);
211
231
  const totalDataLength = (0, import_react.useMemo)(() => {
@@ -413,20 +433,11 @@ var List = (props) => {
413
433
  rowGap: `${rowGap}px`
414
434
  };
415
435
  if (displayStyle === "grid") {
416
- if (layoutDirection === "vertical") {
417
- return {
418
- ...baseStyle,
419
- display: "grid",
420
- gridTemplateColumns: `repeat(${columns}, 1fr)`
421
- };
422
- } else {
423
- return {
424
- ...baseStyle,
425
- display: "grid",
426
- gridTemplateRows: `repeat(${rows}, 1fr)`,
427
- gridAutoFlow: "column"
428
- };
429
- }
436
+ return {
437
+ ...baseStyle,
438
+ display: "grid",
439
+ gridTemplateColumns: `repeat(${columns}, 1fr)`
440
+ };
430
441
  } else {
431
442
  return {
432
443
  ...baseStyle,
@@ -495,22 +506,30 @@ var List = (props) => {
495
506
  /* @__PURE__ */ import_react.default.createElement(import_TabSkeleton.default, { tabStyle })
496
507
  );
497
508
  }
498
- return /* @__PURE__ */ import_react.default.createElement(
509
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement("div", { id: "level1-wrap" }), /* @__PURE__ */ import_react.default.createElement(
499
510
  "div",
500
511
  {
501
512
  ref: headerRef,
502
513
  className: headerClasses
503
514
  },
504
515
  /* @__PURE__ */ import_react.default.createElement(
505
- import_Tab.default,
516
+ import_materials.PisellTabbar,
506
517
  {
507
- className: (0, import_classnames.default)("pisell-list-tabs", `pisell-list-tabs-${tabStyle}`),
508
- activeKey: activeTab,
509
- items: tabItems,
518
+ levelConfig: {
519
+ level1: {
520
+ positionId: "#level1-wrap"
521
+ },
522
+ level2: {
523
+ positionId: "#level2-wrap"
524
+ }
525
+ },
526
+ style: { height: "100%" },
527
+ dataSource: tabItems,
528
+ value: activeTab,
510
529
  onChange: handleTabChangeWithScroll
511
530
  }
512
531
  )
513
- );
532
+ ));
514
533
  };
515
534
  const renderContent = (0, import_react.useCallback)(() => {
516
535
  const hasChildren = children && import_react.default.Children.count(children) > 0;
@@ -541,6 +560,8 @@ var List = (props) => {
541
560
  }
542
561
  }
543
562
  },
563
+ renderSearch == null ? void 0 : renderSearch(),
564
+ /* @__PURE__ */ import_react.default.createElement("div", { id: "level2-wrap" }),
544
565
  layoutDirection === "vertical" && renderTabs(),
545
566
  totalDataLength === 0 && !loading ? /* @__PURE__ */ import_react.default.createElement(
546
567
  import_EmptyState.default,
@@ -633,7 +654,7 @@ var List = (props) => {
633
654
  )
634
655
  )
635
656
  );
636
- }, [displayStyle, layoutDirection, paginationType, listStyle, processedData, renderItem, loading, children, height, scrollLoadState, emptyConfig, totalDataLength, tabStyle]);
657
+ }, [displayStyle, layoutDirection, paginationType, listStyle, processedData, renderItem, loading, children, height, scrollLoadState, emptyConfig, totalDataLength, tabStyle, renderSearch]);
637
658
  const renderFooter = () => {
638
659
  if (paginationType === "all" || paginationType === "scroll") return null;
639
660
  if (paginationType === "more") {
@@ -744,13 +765,14 @@ var List = (props) => {
744
765
  position: "relative",
745
766
  // 为悬浮按钮提供定位基准
746
767
  // 上下排版时,容器不需要滚动,让 list-content 控制滚动
747
- ...layoutDirection === "vertical" && height !== "auto" && { overflowY: "hidden" }
768
+ ...layoutDirection === "vertical" && height !== "auto" && { overflowY: "hidden" },
769
+ ...layoutDirection === "horizontal" && { display: "flex", flexDirection: "row" }
748
770
  };
749
771
  const renderMainContent = () => {
750
772
  if (layoutDirection === "vertical") {
751
773
  return renderContent();
752
774
  } else {
753
- return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, renderTabs(), renderContent());
775
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, renderContent(), renderTabs());
754
776
  }
755
777
  };
756
778
  return /* @__PURE__ */ import_react.default.createElement(
@@ -6,7 +6,7 @@ export interface ListState {
6
6
  }
7
7
  export declare type ListAction = {
8
8
  type: 'SET_ACTIVE_TAB';
9
- payload: string;
9
+ payload: string[] | string;
10
10
  } | {
11
11
  type: 'SET_CURRENT_PAGE';
12
12
  payload: number;
@@ -25,6 +25,8 @@ export interface UseListStateProps {
25
25
  defaultPageSize: number;
26
26
  /** 数据加载回调 */
27
27
  onLoadData?: (params: LoadDataParams) => void;
28
+ /** tab样式 */
29
+ tabStyle: 'anchor' | 'switch' | 'none';
28
30
  }
29
31
  export interface UseListStateReturn {
30
32
  state: ListState;
@@ -32,7 +34,7 @@ export interface UseListStateReturn {
32
34
  setCurrentPage: (page: number) => void;
33
35
  setStickyActive: (active: boolean) => void;
34
36
  resetPage: () => void;
35
- handleTabChange: (key: string) => void;
37
+ handleTabChange: (key: string[] | string) => void;
36
38
  handlePageChange: (page: number, size?: number) => void;
37
39
  handleShowSizeChange: (current: number, size: number) => void;
38
40
  handleLoadMore: () => void;
@@ -40,4 +42,4 @@ export interface UseListStateReturn {
40
42
  handleScrollLoad: () => void;
41
43
  actualCurrentPage: number;
42
44
  }
43
- export declare const useListState: ({ externalCurrentPage, tabItems, defaultPageSize, onLoadData, }: UseListStateProps) => UseListStateReturn;
45
+ export declare const useListState: ({ externalCurrentPage, tabItems, defaultPageSize, onLoadData, tabStyle, }: UseListStateProps) => UseListStateReturn;
@@ -23,6 +23,7 @@ __export(useListState_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(useListState_exports);
25
25
  var import_react = require("react");
26
+ var import_materials = require("@pisell/materials");
26
27
  function listStateReducer(state, action) {
27
28
  switch (action.type) {
28
29
  case "SET_ACTIVE_TAB":
@@ -41,7 +42,8 @@ var useListState = ({
41
42
  externalCurrentPage,
42
43
  tabItems,
43
44
  defaultPageSize,
44
- onLoadData
45
+ onLoadData,
46
+ tabStyle
45
47
  }) => {
46
48
  const initialState = {
47
49
  activeTab: tabItems.length > 0 ? tabItems[0].key : "all",
@@ -49,6 +51,12 @@ var useListState = ({
49
51
  isStickyActive: false
50
52
  };
51
53
  const [state, dispatch] = (0, import_react.useReducer)(listStateReducer, initialState);
54
+ (0, import_react.useEffect)(() => {
55
+ if (tabStyle === "switch" && tabItems.length > 0) {
56
+ const defaultTab = import_materials.PisellTabbar.getDefaultActiveKey(tabItems, "id");
57
+ setActiveTab(defaultTab);
58
+ }
59
+ }, [tabItems]);
52
60
  const actualCurrentPage = externalCurrentPage || state.currentPage;
53
61
  const setActiveTab = (0, import_react.useCallback)((tab) => {
54
62
  dispatch({ type: "SET_ACTIVE_TAB", payload: tab });
@@ -35,5 +35,9 @@
35
35
  position: relative;
36
36
  }
37
37
 
38
+ #level2-wrap {
39
+ margin-bottom: 12px;
40
+ }
41
+
38
42
  /* 空状态样式已移至 EmptyState 组件 */
39
43
  }
@@ -315,7 +315,7 @@
315
315
  &.list-content-horizontal {
316
316
  /* 水平排版时,允许水平滚动 */
317
317
  overflow-x: auto;
318
- overflow-y: hidden;
318
+ overflow-y: auto;
319
319
 
320
320
  &.list-content-grid {
321
321
  .list-items {
@@ -1,7 +1,7 @@
1
1
  /* 头部Tab栏样式 */
2
2
 
3
3
  .pisell-list-header {
4
- padding: 16px;
4
+ padding: 0;
5
5
 
6
6
  &.pisell-list-header-sticky {
7
7
  position: sticky;
@@ -58,12 +58,12 @@
58
58
  top: 0;
59
59
  z-index: 10;
60
60
  /* 毛玻璃效果 */
61
- background: rgba(255, 255, 255, 0.80);
61
+ background: transparent;
62
62
  backdrop-filter: blur(12px);
63
- border-bottom: 1px solid #D0D5DD;
64
- padding-bottom: 12px;
63
+ padding: 0;
65
64
  box-shadow: 0px 1px 2px rgba(16, 24, 40, 0.05);
66
65
  transition: box-shadow 0.2s ease, backdrop-filter 0.2s ease, background 0.2s ease;
66
+ border: none;
67
67
  }
68
68
 
69
69
  }
@@ -133,6 +133,7 @@ export interface ListProps<TItem extends BaseListItem = BaseListItem> {
133
133
  /** 状态配置 */
134
134
  emptyConfig?: EmptyStateConfig;
135
135
  loading?: boolean;
136
+ renderSearch?: () => ReactNode;
136
137
  }
137
138
  /** 向后兼容的非泛型版本 */
138
139
  export interface LegacyListProps extends ListProps<any> {
@@ -1,4 +1,16 @@
1
1
  /**
2
2
  * List 组件工具函数导出
3
3
  */
4
- export { useGetText, createGetText, default as createGetTextDefault, type SupportedLanguage, type LocalesObject, type GetTextFunctions } from './getText';
4
+ export { useGetText, createGetText, default as createGetTextDefault, type SupportedLanguage, type LocalesObject, type GetTextFunctions, } from './getText';
5
+ /**
6
+ * 根据层级路径数组递归查找对应节点的 productIds
7
+ * @param nodes 当前层级的节点列表
8
+ * @param levelPath 层级路径数组,每个元素是对应层级的分类 ID
9
+ * @param currentLevel 当前遍历的层级索引
10
+ * @returns 找到的节点的 productIds,找不到返回空数组
11
+ *
12
+ * @description
13
+ * 特殊逻辑:如果 levelPath 最后一位是 0,则取倒数第二层节点的 productIds
14
+ * 例如:[1, 2, 0] -> 取 id=2 节点的 productIds
15
+ */
16
+ export declare const findProductIdsByPath: (nodes: any[], levelPath: (string | number)[], currentLevel?: number) => number[];