@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,132 @@
1
+ /* Card组件样式 */
2
+ .pisell-selector_card-item {
3
+ position: relative;
4
+ display: flex;
5
+ border-radius: 8px;
6
+ border: 1px solid #d9d9d9;
7
+ background-color: #ffffff;
8
+ cursor: pointer;
9
+ transition: all 0.2s;
10
+ overflow: hidden;
11
+
12
+ .pisell-selector_card-label {
13
+ flex: 1;
14
+ }
15
+
16
+ &:hover {
17
+ border-color: #7f56d9;
18
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
19
+ }
20
+
21
+ &.disabled {
22
+ cursor: not-allowed;
23
+ color: #98a2b3;
24
+ background-color: #f9fafb;
25
+
26
+ &:hover {
27
+ border-color: #d0d5dd;
28
+ box-shadow: none;
29
+ }
30
+ }
31
+
32
+ &.bordered {
33
+ border: 1px solid #d0d5dd;
34
+ }
35
+
36
+ &:not(.bordered) {
37
+ border: none;
38
+ }
39
+
40
+ /* 垂直布局 */
41
+ &.pisell-selector_card-item-vertical {
42
+ flex-direction: column;
43
+ align-items: stretch;
44
+ border-radius: 12px;
45
+
46
+ .pisell-selector_card-content {
47
+ justify-content: center;
48
+ }
49
+
50
+ .pisell-selector_card-extra {
51
+ padding: 20px;
52
+ width: 100%;
53
+ }
54
+ }
55
+
56
+ /* 水平布局 */
57
+ &.pisell-selector_card-item-horizontal {
58
+ flex-direction: row;
59
+ align-items: center;
60
+ justify-content: space-between;
61
+ padding: 8px;
62
+
63
+ .pisell-selector_card-content {
64
+ flex: 1;
65
+ }
66
+ }
67
+
68
+ /* 选中状态样式 */
69
+ &.selected-default {
70
+ border-color: #7f56d9;
71
+ background-color: #f9f5ff;
72
+ color: #7f56d9;
73
+ }
74
+
75
+ &.selected-filled {
76
+ border-color: #7f56d9;
77
+ background-color: #7f56d9;
78
+ color: #ffffff;
79
+
80
+ .pisell-selector_card-selected-icon {
81
+ color: #ffffff;
82
+ }
83
+ }
84
+
85
+ &.selected-cornered {
86
+ border-color: #7f56d9;
87
+ position: relative;
88
+ }
89
+ }
90
+
91
+ /* 卡片内容区域 */
92
+ .pisell-selector_card-content {
93
+ display: flex;
94
+ align-items: center;
95
+ justify-content: center;
96
+ font-size: 14px;
97
+ min-height: 32px;
98
+
99
+ &.content-start {
100
+ justify-content: flex-start;
101
+ }
102
+ }
103
+
104
+ /* 控制器区域 */
105
+ .pisell-selector_card-extra {
106
+ display: flex;
107
+ align-items: center;
108
+ justify-content: center;
109
+ }
110
+
111
+ /* Cornered布局的trigger(右上角) */
112
+ .pisell-selector_card-trigger-cornered {
113
+ position: absolute;
114
+ top: 10px;
115
+ right: 10px;
116
+ display: flex;
117
+ align-items: center;
118
+ justify-content: center;
119
+ }
120
+
121
+ /* trigger和numberSelector的样式优化 */
122
+ .pisell-selector_card-item {
123
+ :global(.pisell-selector_radio-trigger),
124
+ :global(.pisell-selector_checkbox-trigger) {
125
+ margin: 0;
126
+
127
+ .ant-radio,
128
+ .ant-checkbox {
129
+ margin-right: 0;
130
+ }
131
+ }
132
+ }
@@ -0,0 +1,105 @@
1
+ /**
2
+ * IntersectionObserver 组件
3
+ * 用于监听一组 DOM 元素的可见性状态,并获取第一个可见元素的索引。
4
+ * @example
5
+ * function App() {
6
+ * return (
7
+ * <IntersectionObserverProvider
8
+ * onFirstVisibleIndexChange={(index) => {
9
+ * console.log('第一个可见元素的索引:', index);
10
+ * }}
11
+ * rootMargin="0px 0px -10% 0px" // 自定义根边距
12
+ * >
13
+ * <ScrollContainer>
14
+ * {items.map((item, index) => (
15
+ * <IntersectionItem key={item.id} index={index}>
16
+ * <ItemComponent data={item} />
17
+ * </IntersectionItem>
18
+ * ))}
19
+ * </ScrollContainer>
20
+ * </IntersectionObserverProvider>
21
+ * );
22
+ * }
23
+ */
24
+ import React from 'react';
25
+ import type { ReactNode, CSSProperties } from 'react';
26
+ declare global {
27
+ interface Window {
28
+ IntersectionObserver: typeof IntersectionObserver;
29
+ }
30
+ }
31
+ /**
32
+ * 元素信息接口
33
+ */
34
+ interface ElementInfo {
35
+ element: HTMLElement;
36
+ index: number;
37
+ isVisible: boolean;
38
+ }
39
+ /**
40
+ * IntersectionObserver 上下文值接口
41
+ */
42
+ interface IntersectionObserverContextValue {
43
+ /** 是否已初始化 */
44
+ initialized: boolean;
45
+ /** 注册元素 */
46
+ registerElement: (element: HTMLElement, index: number) => void;
47
+ /** 注销元素 */
48
+ unregisterElement: (element: HTMLElement) => void;
49
+ /** 批量注册元素 */
50
+ registerElements: (elements: Array<{
51
+ element: HTMLElement;
52
+ index: number;
53
+ }>) => void;
54
+ /** 清除所有注册的元素 */
55
+ clearAll: () => void;
56
+ /** 第一个可见元素的索引,-1 表示没有可见元素 */
57
+ firstVisibleIndex: number;
58
+ }
59
+ /**
60
+ * IntersectionObserver Provider 属性接口
61
+ */
62
+ interface IntersectionObserverProps {
63
+ children: ReactNode;
64
+ /** 根容器,默认为视口 */
65
+ root?: Element | null;
66
+ /** 根边距 */
67
+ rootMargin?: string;
68
+ /** 阈值 */
69
+ threshold?: number | number[];
70
+ /** 第一个可见元素索引变化时的回调 */
71
+ onFirstVisibleIndexChange?: (index: number) => void;
72
+ /** 是否禁用组件,禁用后不会创建 IntersectionObserver */
73
+ disabled?: boolean;
74
+ }
75
+ /**
76
+ * IntersectionItem 组件属性接口
77
+ */
78
+ interface IntersectionItemProps {
79
+ /** 元素索引 */
80
+ index: number;
81
+ /** 子元素 */
82
+ children?: ReactNode;
83
+ /** 类名 */
84
+ className?: string;
85
+ /** 样式 */
86
+ style?: CSSProperties;
87
+ }
88
+ /**
89
+ * IntersectionObserver 上下文
90
+ */
91
+ declare const IntersectionObserverContext: React.Context<IntersectionObserverContextValue>;
92
+ export declare const IntersectionObserverProvider: React.FC<IntersectionObserverProps>;
93
+ /**
94
+ * 使用 IntersectionObserver 的 Hook
95
+ * @returns {Object} 包含注册元素函数和第一个可见元素索引的对象
96
+ */
97
+ export declare const useIntersectionObserver: () => IntersectionObserverContextValue;
98
+ /**
99
+ * IntersectionItem 组件
100
+ * 自动注册元素到 IntersectionObserver 中
101
+ */
102
+ export declare const IntersectionItem: React.FC<IntersectionItemProps>;
103
+ export type { IntersectionObserverProps, IntersectionItemProps, IntersectionObserverContextValue, ElementInfo, };
104
+ export { IntersectionObserverContext, };
105
+ export default IntersectionObserverProvider;
@@ -0,0 +1,281 @@
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/pro/Selector/components/IntersectionObserver.tsx
30
+ var IntersectionObserver_exports = {};
31
+ __export(IntersectionObserver_exports, {
32
+ IntersectionItem: () => IntersectionItem,
33
+ IntersectionObserverContext: () => IntersectionObserverContext,
34
+ IntersectionObserverProvider: () => IntersectionObserverProvider,
35
+ default: () => IntersectionObserver_default,
36
+ useIntersectionObserver: () => useIntersectionObserver
37
+ });
38
+ module.exports = __toCommonJS(IntersectionObserver_exports);
39
+ var import_react = __toESM(require("react"));
40
+ function useMemoizedFn(fn) {
41
+ const fnRef = (0, import_react.useRef)(fn);
42
+ const memoizedFn = (0, import_react.useRef)();
43
+ fnRef.current = fn;
44
+ if (!memoizedFn.current) {
45
+ memoizedFn.current = (...args) => {
46
+ return fnRef.current(...args);
47
+ };
48
+ }
49
+ return memoizedFn.current;
50
+ }
51
+ var IntersectionObserverContext = (0, import_react.createContext)({
52
+ initialized: false,
53
+ registerElement: () => {
54
+ },
55
+ unregisterElement: () => {
56
+ },
57
+ registerElements: () => {
58
+ },
59
+ clearAll: () => {
60
+ },
61
+ firstVisibleIndex: -1
62
+ });
63
+ var IntersectionObserverProvider = ({
64
+ children,
65
+ root = null,
66
+ rootMargin = "0px",
67
+ threshold = 0,
68
+ onFirstVisibleIndexChange,
69
+ disabled = false
70
+ }) => {
71
+ const [initialized, setInitialized] = (0, import_react.useState)(false);
72
+ const [firstVisibleIndex, setFirstVisibleIndex] = (0, import_react.useState)(-1);
73
+ const observerRef = (0, import_react.useRef)(null);
74
+ const elementsMapRef = (0, import_react.useRef)(/* @__PURE__ */ new Map());
75
+ const pendingRegistrationsRef = (0, import_react.useRef)([]);
76
+ const firstVisibleIndexRef = (0, import_react.useRef)(-1);
77
+ const onFirstVisibleIndexChangeRef = (0, import_react.useRef)(onFirstVisibleIndexChange);
78
+ (0, import_react.useEffect)(() => {
79
+ onFirstVisibleIndexChangeRef.current = onFirstVisibleIndexChange;
80
+ });
81
+ (0, import_react.useEffect)(() => {
82
+ firstVisibleIndexRef.current = firstVisibleIndex;
83
+ });
84
+ const calculateFirstVisibleIndex = (0, import_react.useCallback)(() => {
85
+ let minIndex = -1;
86
+ elementsMapRef.current.forEach((elementInfo) => {
87
+ if (elementInfo.isVisible) {
88
+ if (minIndex === -1 || elementInfo.index < minIndex) {
89
+ minIndex = elementInfo.index;
90
+ }
91
+ }
92
+ });
93
+ return minIndex;
94
+ }, []);
95
+ const updateFirstVisibleIndex = useMemoizedFn(() => {
96
+ var _a;
97
+ const newIndex = calculateFirstVisibleIndex();
98
+ if (newIndex !== firstVisibleIndexRef.current) {
99
+ setFirstVisibleIndex(newIndex);
100
+ (_a = onFirstVisibleIndexChangeRef.current) == null ? void 0 : _a.call(onFirstVisibleIndexChangeRef, newIndex);
101
+ }
102
+ });
103
+ const observerOptions = (0, import_react.useMemo)(
104
+ () => ({
105
+ root,
106
+ rootMargin,
107
+ threshold
108
+ }),
109
+ [root, rootMargin, threshold]
110
+ );
111
+ const createObserver = (0, import_react.useCallback)(() => {
112
+ if (disabled) {
113
+ return null;
114
+ }
115
+ if (typeof window === "undefined" || !window.IntersectionObserver) {
116
+ console.warn("IntersectionObserver is not supported in this browser");
117
+ return null;
118
+ }
119
+ return new IntersectionObserver((entries) => {
120
+ let hasChanged = false;
121
+ entries.forEach((entry) => {
122
+ const elementInfo = elementsMapRef.current.get(entry.target);
123
+ if (elementInfo) {
124
+ const wasVisible = elementInfo.isVisible;
125
+ const isVisible = entry.isIntersecting;
126
+ if (wasVisible !== isVisible) {
127
+ elementInfo.isVisible = isVisible;
128
+ hasChanged = true;
129
+ }
130
+ }
131
+ });
132
+ if (hasChanged) {
133
+ updateFirstVisibleIndex();
134
+ }
135
+ }, observerOptions);
136
+ }, [observerOptions, disabled]);
137
+ const doRegisterElement = (0, import_react.useCallback)((element, index) => {
138
+ if (!observerRef.current || !element) {
139
+ return false;
140
+ }
141
+ if (elementsMapRef.current.has(element)) {
142
+ const elementInfo2 = elementsMapRef.current.get(element);
143
+ if (elementInfo2.index !== index) {
144
+ elementInfo2.index = index;
145
+ }
146
+ return true;
147
+ }
148
+ const elementInfo = {
149
+ element,
150
+ index,
151
+ isVisible: false
152
+ };
153
+ elementsMapRef.current.set(element, elementInfo);
154
+ observerRef.current.observe(element);
155
+ return true;
156
+ }, []);
157
+ const processPendingRegistrations = useMemoizedFn(() => {
158
+ const pending = pendingRegistrationsRef.current;
159
+ pendingRegistrationsRef.current = [];
160
+ pending.forEach(({ element, index }) => {
161
+ doRegisterElement(element, index);
162
+ });
163
+ });
164
+ const registerElement = (0, import_react.useCallback)((element, index) => {
165
+ if (!element) {
166
+ return;
167
+ }
168
+ if (observerRef.current) {
169
+ doRegisterElement(element, index);
170
+ return;
171
+ }
172
+ const existingIndex = pendingRegistrationsRef.current.findIndex(
173
+ (item) => item.element === element
174
+ );
175
+ if (existingIndex === -1) {
176
+ pendingRegistrationsRef.current.push({ element, index });
177
+ } else {
178
+ pendingRegistrationsRef.current[existingIndex].index = index;
179
+ }
180
+ }, [doRegisterElement]);
181
+ const unregisterElement = (0, import_react.useCallback)((element) => {
182
+ if (!element) {
183
+ return;
184
+ }
185
+ const pendingIndex = pendingRegistrationsRef.current.findIndex(
186
+ (item) => item.element === element
187
+ );
188
+ if (pendingIndex !== -1) {
189
+ pendingRegistrationsRef.current.splice(pendingIndex, 1);
190
+ }
191
+ if (observerRef.current && elementsMapRef.current.has(element)) {
192
+ elementsMapRef.current.delete(element);
193
+ observerRef.current.unobserve(element);
194
+ updateFirstVisibleIndex();
195
+ }
196
+ }, []);
197
+ const registerElements = (0, import_react.useCallback)((elements) => {
198
+ elements.forEach(({ element, index }) => {
199
+ registerElement(element, index);
200
+ });
201
+ }, [registerElement]);
202
+ const clearAll = (0, import_react.useCallback)(() => {
203
+ pendingRegistrationsRef.current = [];
204
+ if (observerRef.current) {
205
+ elementsMapRef.current.forEach((_, element) => {
206
+ observerRef.current.unobserve(element);
207
+ });
208
+ }
209
+ elementsMapRef.current.clear();
210
+ updateFirstVisibleIndex();
211
+ }, []);
212
+ (0, import_react.useEffect)(() => {
213
+ const observer = createObserver();
214
+ if (observer) {
215
+ observerRef.current = observer;
216
+ processPendingRegistrations();
217
+ setInitialized(true);
218
+ }
219
+ return () => {
220
+ if (observerRef.current) {
221
+ observerRef.current.disconnect();
222
+ observerRef.current = null;
223
+ }
224
+ elementsMapRef.current.clear();
225
+ pendingRegistrationsRef.current = [];
226
+ setInitialized(false);
227
+ setFirstVisibleIndex(-1);
228
+ };
229
+ }, [createObserver]);
230
+ const contextValue = (0, import_react.useMemo)(() => ({
231
+ initialized,
232
+ registerElement,
233
+ unregisterElement,
234
+ registerElements,
235
+ clearAll,
236
+ firstVisibleIndex
237
+ }), [initialized, registerElement, unregisterElement, registerElements, clearAll, firstVisibleIndex]);
238
+ return /* @__PURE__ */ import_react.default.createElement(IntersectionObserverContext.Provider, { value: contextValue }, children);
239
+ };
240
+ var useIntersectionObserver = () => {
241
+ const context = (0, import_react.useContext)(IntersectionObserverContext);
242
+ if (!context) {
243
+ throw new Error("useIntersectionObserver must be used within IntersectionObserverProvider");
244
+ }
245
+ return context;
246
+ };
247
+ var IntersectionItem = ({
248
+ index,
249
+ children,
250
+ className,
251
+ style
252
+ }) => {
253
+ const elementRef = (0, import_react.useRef)(null);
254
+ const { initialized, registerElement, unregisterElement } = useIntersectionObserver();
255
+ (0, import_react.useEffect)(() => {
256
+ const element = elementRef.current;
257
+ if (initialized && element) {
258
+ registerElement(element, index);
259
+ return () => {
260
+ unregisterElement(element);
261
+ };
262
+ }
263
+ }, [initialized, index, registerElement, unregisterElement]);
264
+ return /* @__PURE__ */ import_react.default.createElement(
265
+ "div",
266
+ {
267
+ ref: elementRef,
268
+ className,
269
+ style
270
+ },
271
+ children
272
+ );
273
+ };
274
+ var IntersectionObserver_default = IntersectionObserverProvider;
275
+ // Annotate the CommonJS export names for ESM import in node:
276
+ 0 && (module.exports = {
277
+ IntersectionItem,
278
+ IntersectionObserverContext,
279
+ IntersectionObserverProvider,
280
+ useIntersectionObserver
281
+ });
@@ -0,0 +1,41 @@
1
+ import * as React from 'react';
2
+ import './index.less';
3
+ declare global {
4
+ namespace JSX {
5
+ interface IntrinsicElements {
6
+ [elemName: string]: any;
7
+ }
8
+ }
9
+ }
10
+ export interface NumericStepperProps {
11
+ /** 当前值 */
12
+ value?: number;
13
+ /** 默认值 */
14
+ defaultValue?: number;
15
+ /** 最小值 */
16
+ min?: number;
17
+ /** 最大值 */
18
+ max?: number;
19
+ /** 步长 */
20
+ step?: number;
21
+ /** 是否禁用 */
22
+ disabled?: boolean;
23
+ /** 值变化回调 */
24
+ onChange?: (value: number) => void;
25
+ /** 自定义类名 */
26
+ className?: string;
27
+ /** 自定义样式 */
28
+ style?: React.CSSProperties;
29
+ /** 尺寸 */
30
+ size?: 'small' | 'middle' | 'large';
31
+ /** 按钮形状 */
32
+ shape?: 'round' | 'square';
33
+ /** 是否显示输入框 */
34
+ showInput?: boolean;
35
+ /** 减号按钮的自定义内容 */
36
+ minusIcon?: React.ReactNode;
37
+ /** 加号按钮的自定义内容 */
38
+ plusIcon?: React.ReactNode;
39
+ }
40
+ declare const NumericStepper: React.FC<NumericStepperProps>;
41
+ export default NumericStepper;