@pisell/private-materials 6.5.2 → 6.5.4

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 (289) 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 +1 -1
  6. package/build/lowcode/preview.js +150 -164
  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/businessModel/SalesModel/index.d.ts +1 -0
  12. package/es/components/appointmentBooking/components/Content/index.d.ts +1 -0
  13. package/es/components/appointmentBooking/components/Header/index.d.ts +1 -0
  14. package/es/components/appointmentBooking/components/Voucher/index.d.ts +1 -0
  15. package/es/components/appointmentBooking/deposit/index.d.ts +1 -0
  16. package/es/components/appointmentBooking/index.d.ts +1 -0
  17. package/es/components/booking/components/actionButtons/index.js +2 -2
  18. package/es/components/booking/components/customiseItemModal/index.js +2 -2
  19. package/es/components/booking/components/footer/index.d.ts +1 -0
  20. package/es/components/booking/components/footer/index.js +48 -42
  21. package/es/components/booking/components/voucher/index.d.ts +1 -0
  22. package/es/components/booking/components/voucher/index.js +18 -4
  23. package/es/components/booking/deposit/index.d.ts +1 -0
  24. package/es/components/booking/hooks/useQuotation.d.ts +1 -0
  25. package/es/components/booking/info/addServiceVariant/index.d.ts +1 -0
  26. package/es/components/booking/info/header/index.d.ts +1 -0
  27. package/es/components/booking/info/hooks/useInfoHolder.d.ts +1 -0
  28. package/es/components/booking/info/index.d.ts +1 -0
  29. package/es/components/booking/info/service/Lists.d.ts +1 -0
  30. package/es/components/booking/info/service/addService/index.d.ts +1 -0
  31. package/es/components/booking/info/service/addTimeModal/index.d.ts +1 -0
  32. package/es/components/booking/info/service/editService/BookingList/index.d.ts +1 -0
  33. package/es/components/booking/info/service/serviceItem/index.d.ts +1 -0
  34. package/es/components/booking/info/service/serviceList/index.d.ts +1 -0
  35. package/es/components/booking/info/service2/Lists.d.ts +1 -0
  36. package/es/components/booking/info/service2/utils.d.ts +1 -1
  37. package/es/components/booking/info2/cartClientCard/index.js +33 -20
  38. package/es/components/booking/info2/cartClientCard/utils.d.ts +2 -2
  39. package/es/components/booking/info2/service/addService/index.d.ts +1 -0
  40. package/es/components/booking/info2/service/serviceItem/index.d.ts +1 -0
  41. package/es/components/booking/info2/service/serviceList/index.d.ts +1 -0
  42. package/es/components/booking/notes/NoteBlock/index.d.ts +1 -0
  43. package/es/components/booking/notes/addNote/index.d.ts +1 -0
  44. package/es/components/booking/utils.d.ts +2 -2
  45. package/es/components/checkout/PaymentModal.js +719 -432
  46. package/es/components/checkout/PaymentPlugin.d.ts +1 -0
  47. package/es/components/checkout/components/AdditionalModule/index.d.ts +1 -1
  48. package/es/components/checkout/components/AdditionalModule/index.js +80 -49
  49. package/es/components/checkout/components/AdditionalModule/index.less +33 -34
  50. package/es/components/checkout/components/AdditionalModule/locales.d.ts +3 -0
  51. package/es/components/checkout/components/AdditionalModule/locales.js +7 -4
  52. package/es/components/checkout/components/AmountSummary/index.d.ts +2 -1
  53. package/es/components/checkout/components/AmountSummary/index.js +69 -31
  54. package/es/components/checkout/components/AmountSummary/index.less +27 -9
  55. package/es/components/checkout/components/CashPaymentModule/index.js +8 -1
  56. package/es/components/checkout/components/CashPaymentModule/index.less +0 -2
  57. package/es/components/checkout/components/PaymentDetailModal/index.js +55 -10
  58. package/es/components/checkout/components/PaymentOptionsModule/index.d.ts +2 -1
  59. package/es/components/checkout/components/PaymentOptionsModule/index.js +40 -25
  60. package/es/components/checkout/components/PaymentOptionsModule/index.less +11 -6
  61. package/es/components/checkout/components/PaymentResultToast/PaymentResultToastProvider.d.ts +42 -9
  62. package/es/components/checkout/components/PaymentResultToast/PaymentResultToastProvider.js +512 -82
  63. package/es/components/checkout/components/PaymentResultToast/index.d.ts +2 -1
  64. package/es/components/checkout/components/PaymentResultToast/index.js +90 -35
  65. package/es/components/checkout/components/PaymentResultToast/index.less +445 -77
  66. package/es/components/checkout/components/PaymentResultToast/types.d.ts +3 -3
  67. package/es/components/checkout/components/PaymentResultToast/utils.d.ts +26 -0
  68. package/es/components/checkout/components/PaymentResultToast/utils.js +81 -2
  69. package/es/components/checkout/components/SearchAndClientModule/index.d.ts +1 -0
  70. package/es/components/checkout/components/SearchAndClientModule/index.js +17 -16
  71. package/es/components/checkout/components/SearchAndClientModule/index.less +29 -8
  72. package/es/components/checkout/components/WalletPassModule/components/ConflictModal/index.d.ts +1 -0
  73. package/es/components/checkout/components/WalletPassModule/components/DiscountWallet/index.d.ts +1 -0
  74. package/es/components/checkout/components/WalletPassModule/components/WalletPassHeader/index.js +3 -1
  75. package/es/components/checkout/components/WalletPassModule/index.less +3 -3
  76. package/es/components/checkout/hooks/useWalletPass.d.ts +1 -1
  77. package/es/components/checkout/hooks/useWalletPass.js +1 -1
  78. package/es/components/checkout/index.d.ts +1 -1
  79. package/es/components/checkout/index.js +1 -1
  80. package/es/components/checkout/index.less +56 -38
  81. package/es/components/checkout/locales.d.ts +6 -0
  82. package/es/components/checkout/locales.js +9 -3
  83. package/es/components/checkout/payment-modal-utils.js +5 -5
  84. package/es/components/checkout/utils/PaymentResultToastUtils.d.ts +3 -3
  85. package/es/components/checkout/utils/PaymentResultToastUtils.js +111 -72
  86. package/es/components/eftpos/surcharge/index.d.ts +1 -0
  87. package/es/components/eftposPay/amount.d.ts +1 -1
  88. package/es/components/eftposPay/app.d.ts +1 -0
  89. package/es/components/eftposPay/device.d.ts +1 -1
  90. package/es/components/eftposPay/hooks.d.ts +2 -2
  91. package/es/components/eftposPay/index.d.ts +1 -0
  92. package/es/components/eftposPay/linkly/index.d.ts +1 -0
  93. package/es/components/eftposPay/store/index.d.ts +6 -6
  94. package/es/components/eventBooking/components/Provider/Cart/ContinueButton/index.d.ts +1 -0
  95. package/es/components/eventBooking/components/Provider/Cart/Item/Total.d.ts +1 -0
  96. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/CallToBook/index.d.ts +1 -0
  97. package/es/components/eventBooking/components/scheduleCalendar/calendarItem.d.ts +1 -0
  98. package/es/components/eventBooking/index.d.ts +1 -0
  99. package/es/components/pay/toB/components/Cache/index.d.ts +1 -0
  100. package/es/components/pay/toB/components/Card/index.d.ts +1 -0
  101. package/es/components/pay/toB/components/CardGroup/index.d.ts +1 -0
  102. package/es/components/pay/toB/components/ConfirmedPayment/index.d.ts +1 -0
  103. package/es/components/pay/toB/components/Content/Footer.d.ts +1 -0
  104. package/es/components/pay/toB/components/Content/Header.d.ts +1 -0
  105. package/es/components/pay/toB/components/EFTPOS/index.js +91 -58
  106. package/es/components/pay/toC/PaymentMethods/MWCreditCard/TDSPay/ThreedsLoading/index.d.ts +1 -0
  107. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/Finish/index.d.ts +1 -0
  108. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/SDK.d.ts +1 -0
  109. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/components/PageLoading/index.d.ts +1 -0
  110. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/PaymentRequestForm.d.ts +1 -0
  111. package/es/components/pisellSelectCustomerModal/RightPanel/Add/PhoneField/index.d.ts +1 -0
  112. package/es/components/pisellSelectCustomerModal/RightPanel/index.d.ts +1 -0
  113. package/es/components/pisellSelectCustomerModal/index.d.ts +1 -0
  114. package/es/components/productExtension/index.d.ts +1 -0
  115. package/es/components/productSelect/components/TabProduct/index.d.ts +1 -0
  116. package/es/components/productSelect/components/productGroup/index.d.ts +1 -0
  117. package/es/components/ruleSetting/index.d.ts +1 -0
  118. package/es/components/schedules/components/ScheduleList/RenderScheduleItem/index.d.ts +1 -0
  119. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/AddSchedules/index.d.ts +1 -0
  120. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/index.d.ts +1 -0
  121. package/es/components/schedules/utils.d.ts +1 -1
  122. package/es/components/shoppingCart/components/Cart/Product.d.ts +1 -0
  123. package/es/components/taxSelect/index.d.ts +1 -0
  124. package/es/components/ticketBooking/components/addServiceVariant/addService.d.ts +1 -0
  125. package/es/components/ticketBooking/components/addServiceVariant/addService.js +4 -3
  126. package/es/components/ticketBooking/components/addServiceVariant/index.d.ts +1 -0
  127. package/es/components/ticketBooking/components/bookingDataPanel/index.js +1 -1
  128. package/es/components/ticketBooking/components/menuBar/index.d.ts +1 -0
  129. package/es/components/ticketBooking/components/menuBar/index.js +1 -1
  130. package/es/components/ticketBooking/components/ticketBooking/index.d.ts +1 -0
  131. package/es/components/ticketBooking/components/ticketBooking/index.js +2 -2
  132. package/es/components/ticketBooking/components/timeBar/index.d.ts +1 -0
  133. package/es/components/ticketBooking/hooks/pisellos/useScanCustomer.js +1 -1
  134. package/es/components/ticketBooking/hooks/pisellos/useScanGlobal.js +1 -1
  135. package/es/components/ticketBooking/hooks/pisellos/useScanGlobalHandle.js +4 -2
  136. package/es/components/ticketBooking/index.d.ts +1 -0
  137. package/es/components/workSpaceList/components/SearchWorkspaceAndBase/index.d.ts +1 -0
  138. package/es/plus/clientCard/index.js +3 -2
  139. package/es/plus/clientCard/index.less +3 -32
  140. package/es/plus/clientName/index.d.ts +1 -0
  141. package/es/plus/clinetSearch/Add/BirthdayField/index.d.ts +1 -0
  142. package/es/plus/clinetSearch/Add/GenderField/index.d.ts +1 -0
  143. package/es/plus/clinetSearch/Add/PhoneField/index.d.ts +1 -0
  144. package/es/plus/noteModal/AddTempModal.d.ts +1 -0
  145. package/es/plus/saasCreateOrganization/index.d.ts +1 -0
  146. package/es/pro/comprehensiveSearch/components/searchSection/index.js +9 -12
  147. package/es/pro/comprehensiveSearch/components/searchSection/index.less +22 -19
  148. package/es/pro/pisellPhoneKeyboard/index.d.ts +1 -0
  149. package/es/utils/index.d.ts +1 -1
  150. package/lib/businessModel/SalesModel/index.d.ts +1 -0
  151. package/lib/components/appointmentBooking/components/Content/index.d.ts +1 -0
  152. package/lib/components/appointmentBooking/components/Header/index.d.ts +1 -0
  153. package/lib/components/appointmentBooking/components/Voucher/index.d.ts +1 -0
  154. package/lib/components/appointmentBooking/deposit/index.d.ts +1 -0
  155. package/lib/components/appointmentBooking/index.d.ts +1 -0
  156. package/lib/components/booking/components/actionButtons/index.js +2 -1
  157. package/lib/components/booking/components/customiseItemModal/index.js +2 -2
  158. package/lib/components/booking/components/footer/index.d.ts +1 -0
  159. package/lib/components/booking/components/footer/index.js +3 -0
  160. package/lib/components/booking/components/voucher/index.d.ts +1 -0
  161. package/lib/components/booking/components/voucher/index.js +15 -3
  162. package/lib/components/booking/deposit/index.d.ts +1 -0
  163. package/lib/components/booking/hooks/useQuotation.d.ts +1 -0
  164. package/lib/components/booking/info/addServiceVariant/index.d.ts +1 -0
  165. package/lib/components/booking/info/header/index.d.ts +1 -0
  166. package/lib/components/booking/info/hooks/useInfoHolder.d.ts +1 -0
  167. package/lib/components/booking/info/index.d.ts +1 -0
  168. package/lib/components/booking/info/service/Lists.d.ts +1 -0
  169. package/lib/components/booking/info/service/addService/index.d.ts +1 -0
  170. package/lib/components/booking/info/service/addTimeModal/index.d.ts +1 -0
  171. package/lib/components/booking/info/service/editService/BookingList/index.d.ts +1 -0
  172. package/lib/components/booking/info/service/serviceItem/index.d.ts +1 -0
  173. package/lib/components/booking/info/service/serviceList/index.d.ts +1 -0
  174. package/lib/components/booking/info/service2/Lists.d.ts +1 -0
  175. package/lib/components/booking/info/service2/utils.d.ts +1 -1
  176. package/lib/components/booking/info2/cartClientCard/index.js +16 -5
  177. package/lib/components/booking/info2/cartClientCard/utils.d.ts +2 -2
  178. package/lib/components/booking/info2/service/addService/index.d.ts +1 -0
  179. package/lib/components/booking/info2/service/serviceItem/index.d.ts +1 -0
  180. package/lib/components/booking/info2/service/serviceList/index.d.ts +1 -0
  181. package/lib/components/booking/notes/NoteBlock/index.d.ts +1 -0
  182. package/lib/components/booking/notes/addNote/index.d.ts +1 -0
  183. package/lib/components/booking/utils.d.ts +2 -2
  184. package/lib/components/checkout/PaymentModal.js +241 -109
  185. package/lib/components/checkout/PaymentPlugin.d.ts +1 -0
  186. package/lib/components/checkout/components/AdditionalModule/index.d.ts +1 -1
  187. package/lib/components/checkout/components/AdditionalModule/index.js +98 -34
  188. package/lib/components/checkout/components/AdditionalModule/index.less +33 -34
  189. package/lib/components/checkout/components/AdditionalModule/locales.d.ts +3 -0
  190. package/lib/components/checkout/components/AdditionalModule/locales.js +7 -4
  191. package/lib/components/checkout/components/AmountSummary/index.d.ts +2 -1
  192. package/lib/components/checkout/components/AmountSummary/index.js +103 -47
  193. package/lib/components/checkout/components/AmountSummary/index.less +27 -9
  194. package/lib/components/checkout/components/CashPaymentModule/index.js +5 -1
  195. package/lib/components/checkout/components/CashPaymentModule/index.less +0 -2
  196. package/lib/components/checkout/components/PaymentDetailModal/index.js +56 -11
  197. package/lib/components/checkout/components/PaymentOptionsModule/index.d.ts +2 -1
  198. package/lib/components/checkout/components/PaymentOptionsModule/index.js +11 -8
  199. package/lib/components/checkout/components/PaymentOptionsModule/index.less +11 -6
  200. package/lib/components/checkout/components/PaymentResultToast/PaymentResultToastProvider.d.ts +42 -9
  201. package/lib/components/checkout/components/PaymentResultToast/PaymentResultToastProvider.js +279 -73
  202. package/lib/components/checkout/components/PaymentResultToast/index.d.ts +2 -1
  203. package/lib/components/checkout/components/PaymentResultToast/index.js +69 -22
  204. package/lib/components/checkout/components/PaymentResultToast/index.less +445 -77
  205. package/lib/components/checkout/components/PaymentResultToast/types.d.ts +3 -3
  206. package/lib/components/checkout/components/PaymentResultToast/utils.d.ts +26 -0
  207. package/lib/components/checkout/components/PaymentResultToast/utils.js +58 -4
  208. package/lib/components/checkout/components/SearchAndClientModule/index.d.ts +1 -0
  209. package/lib/components/checkout/components/SearchAndClientModule/index.js +17 -15
  210. package/lib/components/checkout/components/SearchAndClientModule/index.less +29 -8
  211. package/lib/components/checkout/components/WalletPassModule/components/ConflictModal/index.d.ts +1 -0
  212. package/lib/components/checkout/components/WalletPassModule/components/DiscountWallet/index.d.ts +1 -0
  213. package/lib/components/checkout/components/WalletPassModule/components/WalletPassHeader/index.js +12 -2
  214. package/lib/components/checkout/components/WalletPassModule/index.less +3 -3
  215. package/lib/components/checkout/hooks/useWalletPass.d.ts +1 -1
  216. package/lib/components/checkout/hooks/useWalletPass.js +2 -2
  217. package/lib/components/checkout/index.d.ts +1 -1
  218. package/lib/components/checkout/index.js +2 -0
  219. package/lib/components/checkout/index.less +56 -38
  220. package/lib/components/checkout/locales.d.ts +6 -0
  221. package/lib/components/checkout/locales.js +9 -3
  222. package/lib/components/checkout/payment-modal-utils.js +5 -5
  223. package/lib/components/checkout/utils/PaymentResultToastUtils.d.ts +3 -3
  224. package/lib/components/checkout/utils/PaymentResultToastUtils.js +26 -18
  225. package/lib/components/eftpos/surcharge/index.d.ts +1 -0
  226. package/lib/components/eftposPay/amount.d.ts +1 -1
  227. package/lib/components/eftposPay/app.d.ts +1 -0
  228. package/lib/components/eftposPay/device.d.ts +1 -1
  229. package/lib/components/eftposPay/hooks.d.ts +2 -2
  230. package/lib/components/eftposPay/index.d.ts +1 -0
  231. package/lib/components/eftposPay/linkly/index.d.ts +1 -0
  232. package/lib/components/eftposPay/store/index.d.ts +6 -6
  233. package/lib/components/eventBooking/components/Provider/Cart/ContinueButton/index.d.ts +1 -0
  234. package/lib/components/eventBooking/components/Provider/Cart/Item/Total.d.ts +1 -0
  235. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/CallToBook/index.d.ts +1 -0
  236. package/lib/components/eventBooking/components/scheduleCalendar/calendarItem.d.ts +1 -0
  237. package/lib/components/eventBooking/index.d.ts +1 -0
  238. package/lib/components/pay/toB/components/Cache/index.d.ts +1 -0
  239. package/lib/components/pay/toB/components/Card/index.d.ts +1 -0
  240. package/lib/components/pay/toB/components/CardGroup/index.d.ts +1 -0
  241. package/lib/components/pay/toB/components/ConfirmedPayment/index.d.ts +1 -0
  242. package/lib/components/pay/toB/components/Content/Footer.d.ts +1 -0
  243. package/lib/components/pay/toB/components/Content/Header.d.ts +1 -0
  244. package/lib/components/pay/toB/components/EFTPOS/index.js +25 -10
  245. package/lib/components/pay/toC/PaymentMethods/MWCreditCard/TDSPay/ThreedsLoading/index.d.ts +1 -0
  246. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/Finish/index.d.ts +1 -0
  247. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/SDK.d.ts +1 -0
  248. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/components/PageLoading/index.d.ts +1 -0
  249. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/components/SetupForm/PaymentRequestForm.d.ts +1 -0
  250. package/lib/components/pisellSelectCustomerModal/RightPanel/Add/PhoneField/index.d.ts +1 -0
  251. package/lib/components/pisellSelectCustomerModal/RightPanel/index.d.ts +1 -0
  252. package/lib/components/pisellSelectCustomerModal/index.d.ts +1 -0
  253. package/lib/components/productExtension/index.d.ts +1 -0
  254. package/lib/components/productSelect/components/TabProduct/index.d.ts +1 -0
  255. package/lib/components/productSelect/components/productGroup/index.d.ts +1 -0
  256. package/lib/components/ruleSetting/index.d.ts +1 -0
  257. package/lib/components/schedules/components/ScheduleList/RenderScheduleItem/index.d.ts +1 -0
  258. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/AddSchedules/index.d.ts +1 -0
  259. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/index.d.ts +1 -0
  260. package/lib/components/schedules/utils.d.ts +1 -1
  261. package/lib/components/shoppingCart/components/Cart/Product.d.ts +1 -0
  262. package/lib/components/taxSelect/index.d.ts +1 -0
  263. package/lib/components/ticketBooking/components/addServiceVariant/addService.d.ts +1 -0
  264. package/lib/components/ticketBooking/components/addServiceVariant/addService.js +7 -6
  265. package/lib/components/ticketBooking/components/addServiceVariant/index.d.ts +1 -0
  266. package/lib/components/ticketBooking/components/bookingDataPanel/index.js +2 -2
  267. package/lib/components/ticketBooking/components/menuBar/index.d.ts +1 -0
  268. package/lib/components/ticketBooking/components/menuBar/index.js +1 -1
  269. package/lib/components/ticketBooking/components/ticketBooking/index.d.ts +1 -0
  270. package/lib/components/ticketBooking/components/ticketBooking/index.js +1 -1
  271. package/lib/components/ticketBooking/components/timeBar/index.d.ts +1 -0
  272. package/lib/components/ticketBooking/hooks/pisellos/useScanCustomer.js +2 -12
  273. package/lib/components/ticketBooking/hooks/pisellos/useScanGlobal.js +2 -12
  274. package/lib/components/ticketBooking/hooks/pisellos/useScanGlobalHandle.js +5 -13
  275. package/lib/components/ticketBooking/index.d.ts +1 -0
  276. package/lib/components/workSpaceList/components/SearchWorkspaceAndBase/index.d.ts +1 -0
  277. package/lib/plus/clientCard/index.js +5 -4
  278. package/lib/plus/clientCard/index.less +3 -32
  279. package/lib/plus/clientName/index.d.ts +1 -0
  280. package/lib/plus/clinetSearch/Add/BirthdayField/index.d.ts +1 -0
  281. package/lib/plus/clinetSearch/Add/GenderField/index.d.ts +1 -0
  282. package/lib/plus/clinetSearch/Add/PhoneField/index.d.ts +1 -0
  283. package/lib/plus/noteModal/AddTempModal.d.ts +1 -0
  284. package/lib/plus/saasCreateOrganization/index.d.ts +1 -0
  285. package/lib/pro/comprehensiveSearch/components/searchSection/index.js +6 -18
  286. package/lib/pro/comprehensiveSearch/components/searchSection/index.less +22 -19
  287. package/lib/pro/pisellPhoneKeyboard/index.d.ts +1 -0
  288. package/lib/utils/index.d.ts +1 -1
  289. package/package.json +12 -12
@@ -80,6 +80,7 @@ function AmountSummary({
80
80
  clientInfo,
81
81
  onAmountChange,
82
82
  onDepositStatusChange,
83
+ onBalanceDueAmountClick,
83
84
  onConfirm,
84
85
  paymentItems,
85
86
  cartData,
@@ -173,7 +174,12 @@ function AmountSummary({
173
174
  const roundingAmount = new import_decimal.default(item.rounding_amount);
174
175
  if (roundingAmount.isNegative()) {
175
176
  itemAmount = itemAmount.plus(roundingAmount.abs());
176
- console.log("添加抹零金额到已付:", roundingAmount.abs().toNumber(), "项目:", item);
177
+ console.log(
178
+ "添加抹零金额到已付:",
179
+ roundingAmount.abs().toNumber(),
180
+ "项目:",
181
+ item
182
+ );
177
183
  }
178
184
  }
179
185
  return acc.plus(itemAmount);
@@ -204,14 +210,17 @@ function AmountSummary({
204
210
  if (!(walletPassData == null ? void 0 : walletPassData.selectedWallet) || !Array.isArray(walletPassData.selectedWallet)) {
205
211
  return 0;
206
212
  }
207
- const totalDecimal = walletPassData.selectedWallet.reduce((totalDecimal2, wallet) => {
208
- try {
209
- const redeemDecimal = new import_decimal.default(wallet.redeem || "0");
210
- return totalDecimal2.plus(redeemDecimal);
211
- } catch {
212
- return totalDecimal2;
213
- }
214
- }, new import_decimal.default(0));
213
+ const totalDecimal = walletPassData.selectedWallet.reduce(
214
+ (totalDecimal2, wallet) => {
215
+ try {
216
+ const redeemDecimal = new import_decimal.default(wallet.redeem || "0");
217
+ return totalDecimal2.plus(redeemDecimal);
218
+ } catch {
219
+ return totalDecimal2;
220
+ }
221
+ },
222
+ new import_decimal.default(0)
223
+ );
215
224
  return totalDecimal.toNumber();
216
225
  };
217
226
  const getOrderDueAmount = () => {
@@ -254,7 +263,12 @@ function AmountSummary({
254
263
  }
255
264
  const limits = getKeyboardLimits();
256
265
  if (numericValue === 0) {
257
- Toast.fail(getText("pisell2.amount-summary.amount-cannot-be-zero", "The amount cannot be 0"));
266
+ Toast.fail(
267
+ getText(
268
+ "pisell2.amount-summary.amount-cannot-be-zero",
269
+ "The amount cannot be 0"
270
+ )
271
+ );
258
272
  return;
259
273
  }
260
274
  if (!inputStr || numericValue <= 0) {
@@ -314,7 +328,12 @@ function AmountSummary({
314
328
  const visibleItems = hasMoreItems2 ? summaryData.slice(0, maxVisibleItems) : summaryData;
315
329
  return visibleItems.map((item) => {
316
330
  const displayLabel = item.label || labelMaps[item.key] || item.key;
317
- return /* @__PURE__ */ import_react2.default.createElement("div", { key: item.key, className: (0, import_classnames.default)("payment-detail-row") }, /* @__PURE__ */ import_react2.default.createElement("span", { className: (0, import_classnames.default)("payment-detail-label") }, displayLabel), /* @__PURE__ */ import_react2.default.createElement("span", { className: (0, import_classnames.default)("payment-detail-amount") }, (0, import_utils.formatAmount)(item.value, 2, amountSymbol)));
331
+ return /* @__PURE__ */ import_react2.default.createElement("div", { key: item.key, className: (0, import_classnames.default)("payment-detail-row") }, /* @__PURE__ */ import_react2.default.createElement("span", { className: (0, import_classnames.default)("payment-detail-label") }, displayLabel), /* @__PURE__ */ import_react2.default.createElement("span", { className: (0, import_classnames.default)("payment-detail-amount") }, (0, import_utils.formatAmountWithOptions)(item.value, amountSymbol, {
332
+ precision: 2,
333
+ hideDecimalForWholeNumbers: false,
334
+ useThousandsSeparator: true,
335
+ showCurrencySymbol: true
336
+ })));
318
337
  });
319
338
  };
320
339
  const hasMoreItems = () => {
@@ -352,7 +371,16 @@ function AmountSummary({
352
371
  const renderConfirmMode = () => {
353
372
  let balanceAmountValue = parseFormattedAmount(getBalanceDueAmount());
354
373
  let balanceDecimal = new import_decimal.default(balanceAmountValue);
355
- const finalBalanceAmount = (0, import_utils.formatAmount)(balanceDecimal.toNumber(), 2, amountSymbol);
374
+ const finalBalanceAmount = (0, import_utils.formatAmountWithOptions)(
375
+ balanceDecimal.toNumber(),
376
+ amountSymbol,
377
+ {
378
+ precision: 2,
379
+ hideDecimalForWholeNumbers: false,
380
+ useThousandsSeparator: true,
381
+ showCurrencySymbol: true
382
+ }
383
+ );
356
384
  return /* @__PURE__ */ import_react2.default.createElement("div", { className: (0, import_classnames.default)("confirm-payment-container") }, /* @__PURE__ */ import_react2.default.createElement("div", { className: (0, import_classnames.default)("confirm-payment-content") }, /* @__PURE__ */ import_react2.default.createElement("div", { className: (0, import_classnames.default)("confirm-payment-text") }, getText("will.be.paid.in.full") || "Will be paid in full", " ", /* @__PURE__ */ import_react2.default.createElement("span", { className: (0, import_classnames.default)("amount-text") }, finalBalanceAmount), " ", getText("by.wallet") || "by Wallet"), /* @__PURE__ */ import_react2.default.createElement(
357
385
  import_antd.Button,
358
386
  {
@@ -365,7 +393,12 @@ function AmountSummary({
365
393
  };
366
394
  const getMiddleContent = () => {
367
395
  if (paymentType === "deposit") {
368
- return /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, /* @__PURE__ */ import_react2.default.createElement("div", { className: (0, import_classnames.default)("payment-details") }, shouldShowPartialPaidCard() && /* @__PURE__ */ import_react2.default.createElement("div", { className: (0, import_classnames.default)("partial-paid-card") }, /* @__PURE__ */ import_react2.default.createElement("span", { className: (0, import_classnames.default)("partial-paid-label") }, getText("partial.paid") || "Partial Paid"), /* @__PURE__ */ import_react2.default.createElement("span", { className: (0, import_classnames.default)("partial-paid-amount") }, (0, import_utils.formatAmount)(partialPaidAmount, 2, amountSymbol))), renderSummaryItems(), hasMoreItems() && /* @__PURE__ */ import_react2.default.createElement(
396
+ return /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, /* @__PURE__ */ import_react2.default.createElement("div", { className: (0, import_classnames.default)("payment-details") }, shouldShowPartialPaidCard() && /* @__PURE__ */ import_react2.default.createElement("div", { className: (0, import_classnames.default)("partial-paid-card") }, /* @__PURE__ */ import_react2.default.createElement("span", { className: (0, import_classnames.default)("partial-paid-label") }, getText("partial.paid") || "Partial Paid"), /* @__PURE__ */ import_react2.default.createElement("span", { className: (0, import_classnames.default)("partial-paid-amount") }, (0, import_utils.formatAmountWithOptions)(partialPaidAmount, amountSymbol, {
397
+ precision: 2,
398
+ hideDecimalForWholeNumbers: false,
399
+ useThousandsSeparator: true,
400
+ showCurrencySymbol: true
401
+ }))), renderSummaryItems(), hasMoreItems() && /* @__PURE__ */ import_react2.default.createElement(
369
402
  "div",
370
403
  {
371
404
  className: (0, import_classnames.default)("more-section"),
@@ -383,7 +416,12 @@ function AmountSummary({
383
416
  )
384
417
  )));
385
418
  } else {
386
- return /* @__PURE__ */ import_react2.default.createElement("div", { className: (0, import_classnames.default)("payment-details") }, shouldShowPartialPaidCard() && /* @__PURE__ */ import_react2.default.createElement("div", { className: (0, import_classnames.default)("partial-paid-card") }, /* @__PURE__ */ import_react2.default.createElement("span", { className: (0, import_classnames.default)("partial-paid-label") }, getText("partial.paid") || "Partial Paid"), /* @__PURE__ */ import_react2.default.createElement("span", { className: (0, import_classnames.default)("partial-paid-amount") }, (0, import_utils.formatAmount)(partialPaidAmount, 2, amountSymbol))), renderSummaryItems(), hasMoreItems() && /* @__PURE__ */ import_react2.default.createElement(
419
+ return /* @__PURE__ */ import_react2.default.createElement("div", { className: (0, import_classnames.default)("payment-details") }, shouldShowPartialPaidCard() && /* @__PURE__ */ import_react2.default.createElement("div", { className: (0, import_classnames.default)("partial-paid-card") }, /* @__PURE__ */ import_react2.default.createElement("span", { className: (0, import_classnames.default)("partial-paid-label") }, getText("partial.paid") || "Partial Paid"), /* @__PURE__ */ import_react2.default.createElement("span", { className: (0, import_classnames.default)("partial-paid-amount") }, (0, import_utils.formatAmountWithOptions)(partialPaidAmount, amountSymbol, {
420
+ precision: 2,
421
+ hideDecimalForWholeNumbers: false,
422
+ useThousandsSeparator: true,
423
+ showCurrencySymbol: true
424
+ }))), renderSummaryItems(), hasMoreItems() && /* @__PURE__ */ import_react2.default.createElement(
387
425
  "div",
388
426
  {
389
427
  className: (0, import_classnames.default)("more-section"),
@@ -437,50 +475,68 @@ function AmountSummary({
437
475
  /* @__PURE__ */ import_react2.default.createElement("div", { className: (0, import_classnames.default)("middle-section") }, getMiddleContent()),
438
476
  /* @__PURE__ */ import_react2.default.createElement(
439
477
  "div",
440
- { className: (0, import_classnames.default)("balance-due-card") },
478
+ { className: (0, import_classnames.default)("balance-due-card", {
479
+ "confirm-mode": shouldShowConfirmMode()
480
+ }) },
441
481
  // 如果应该显示确认模式,直接返回确认界面
442
- shouldShowConfirmMode() ? renderConfirmMode() : /* @__PURE__ */ import_react2.default.createElement("div", { className: (0, import_classnames.default)("balance-due-info") }, /* @__PURE__ */ import_react2.default.createElement("div", { className: (0, import_classnames.default)("balance-due-label") }, paymentType === "deposit" ? getText("deposit.due") || "Deposit Due" : getText("balance.due") || "Balance Due"), /* @__PURE__ */ import_react2.default.createElement("div", { className: (0, import_classnames.default)("balance-due-amount") }, (0, import_utils.formatAmount)(balanceDueAmount, 2, amountSymbol))),
443
- !shouldShowConfirmMode() && /* @__PURE__ */ import_react2.default.createElement(
444
- import_pisellPriceKeyboardPopover.default,
482
+ shouldShowConfirmMode() ? renderConfirmMode() : /* @__PURE__ */ import_react2.default.createElement("div", { className: (0, import_classnames.default)("balance-due-info") }, /* @__PURE__ */ import_react2.default.createElement("div", { className: (0, import_classnames.default)("balance-due-label") }, paymentType === "deposit" ? getText("deposit.due") || "Deposit Due" : getText("balance.due") || "Balance Due"), /* @__PURE__ */ import_react2.default.createElement("div", { className: (0, import_classnames.default)("balance-due-amount"), onClick: () => {
483
+ onBalanceDueAmountClick == null ? void 0 : onBalanceDueAmountClick("manual-discount");
484
+ } }, (0, import_utils.formatAmountWithOptions)(balanceDueAmount, amountSymbol, {
485
+ precision: 2,
486
+ hideDecimalForWholeNumbers: false,
487
+ useThousandsSeparator: true,
488
+ showCurrencySymbol: true
489
+ }), /* @__PURE__ */ import_react2.default.createElement(
490
+ import_icon.Edit05,
445
491
  {
446
- value: (() => {
492
+ className: (0, import_classnames.default)("edit-icon"),
493
+ style: { color: "#7F56DA" }
494
+ }
495
+ ))),
496
+ /* @__PURE__ */ import_react2.default.createElement(
497
+ "div",
498
+ {
499
+ className: (0, import_classnames.default)("pay-section"),
500
+ style: { cursor: "pointer" },
501
+ role: "button"
502
+ },
503
+ /* @__PURE__ */ import_react2.default.createElement("span", { className: (0, import_classnames.default)("pay-text") }, getText("pay") || "支付"),
504
+ /* @__PURE__ */ import_react2.default.createElement("span", { className: (0, import_classnames.default)("pay-amount") }, (0, import_utils.formatAmountWithOptions)(
505
+ (() => {
447
506
  try {
448
507
  return new import_decimal.default(currentAmount || "0").toNumber();
449
508
  } catch {
450
509
  return 0;
451
510
  }
452
511
  })(),
453
- onConfirm: handleKeyboardConfirm,
454
- showCurrencySymbol: true,
455
- useThousandsSeparator: false,
456
- selectType: "dark",
457
- overlayClassName: "amount-summary-keyboard-popover"
458
- },
459
- /* @__PURE__ */ import_react2.default.createElement(
460
- "div",
512
+ amountSymbol,
461
513
  {
462
- className: (0, import_classnames.default)("pay-section"),
463
- style: { cursor: "pointer" },
464
- role: "button"
465
- },
466
- /* @__PURE__ */ import_react2.default.createElement("span", { className: (0, import_classnames.default)("pay-text") }, getText("pay") || "支付"),
467
- /* @__PURE__ */ import_react2.default.createElement("span", { className: (0, import_classnames.default)("pay-amount") }, (0, import_utils.formatAmount)((() => {
468
- try {
469
- return new import_decimal.default(currentAmount || "0").toNumber();
470
- } catch {
471
- return 0;
472
- }
473
- })(), 2, amountSymbol)),
474
- /* @__PURE__ */ import_react2.default.createElement(
475
- import_icon.Edit05,
476
- {
477
- className: (0, import_classnames.default)("edit-icon"),
478
- style: { color: "#7F56DA" }
479
- }
480
- )
481
- )
514
+ precision: 2,
515
+ hideDecimalForWholeNumbers: false,
516
+ useThousandsSeparator: true,
517
+ showCurrencySymbol: true
518
+ }
519
+ ))
482
520
  )
483
521
  ),
522
+ !shouldShowConfirmMode() && /* @__PURE__ */ import_react2.default.createElement(
523
+ import_pisellPriceKeyboardPopover.default,
524
+ {
525
+ value: (() => {
526
+ try {
527
+ return new import_decimal.default(currentAmount || "0").toNumber();
528
+ } catch {
529
+ return 0;
530
+ }
531
+ })(),
532
+ onConfirm: handleKeyboardConfirm,
533
+ showCurrencySymbol: true,
534
+ useThousandsSeparator: false,
535
+ selectType: "dark",
536
+ overlayClassName: "amount-summary-keyboard-popover"
537
+ },
538
+ /* @__PURE__ */ import_react2.default.createElement(import_antd.Button, { className: (0, import_classnames.default)("split-payment-button") }, getText("split.payment") || "拆分支付")
539
+ ),
484
540
  /* @__PURE__ */ import_react2.default.createElement(
485
541
  import_materials.PisellModal,
486
542
  {
@@ -226,13 +226,18 @@
226
226
  border-radius: 16px;
227
227
  padding: 0 16px 0 16px;
228
228
  color: #1a1a1a;
229
- width: 348px;
229
+ width: 350px;
230
230
  min-width: 200px;
231
231
  height: 80px;
232
232
  display: flex;
233
233
  align-items: center;
234
234
  justify-content: space-between;
235
235
  gap: 8px;
236
+
237
+ // 确认模式下的特殊样式
238
+ &.confirm-mode {
239
+ width: 420px;
240
+ }
236
241
  }
237
242
 
238
243
  .balance-due-info {
@@ -250,10 +255,12 @@
250
255
  }
251
256
 
252
257
  .balance-due-amount {
253
- font-size: 16px;
258
+ font-size: 14px;
254
259
  font-weight: 400;
255
260
  color: #7f56da;
256
261
  line-height: 0.75;
262
+ text-decoration: underline;
263
+ text-underline-offset: 4px;
257
264
  }
258
265
 
259
266
  .pay-section {
@@ -272,17 +279,16 @@
272
279
  .pay-amount {
273
280
  font-size: 32px;
274
281
  font-weight: 400;
275
- color: #7f56da;
282
+ color: #1e1830;
276
283
  line-height: 0.75;
277
- text-decoration: underline;
278
- text-underline-offset: 6px;
279
284
  }
280
285
 
281
286
  .edit-icon {
282
- width: 24px;
283
- height: 24px;
287
+ width: 20px;
288
+ height: 20px;
284
289
  flex-shrink: 0;
285
- font-size: 24px;
290
+ font-size: 20px;
291
+ margin-left: 8px;
286
292
  }
287
293
 
288
294
  /* 覆盖下拉菜单选项的hover和active状态 */
@@ -401,7 +407,7 @@
401
407
  border: none !important;
402
408
  border-radius: 12px !important;
403
409
  height: 48px !important;
404
- padding: 12px 32px !important;
410
+ padding: 12px 0 !important;
405
411
  font-size: 16px !important;
406
412
  font-weight: 600 !important;
407
413
  color: white !important;
@@ -468,3 +474,15 @@
468
474
  }
469
475
  }
470
476
  }
477
+
478
+ .split-payment-button {
479
+ padding: 0 8px;
480
+ background: #079455;
481
+ color: white;
482
+ font-size: 14px;
483
+ border: 1px solid #C3B2E7;
484
+ height: 80px;
485
+ white-space: pre-line; // 让换行符(\n)生效
486
+ text-align: left; // 确保文本居中对齐
487
+ min-width: 68px;
488
+ }
@@ -42,6 +42,7 @@ var import_useEngineContext = __toESM(require("../../../../hooks/useEngineContex
42
42
  var import_utils = require("@pisell/utils");
43
43
  var import_locales = __toESM(require("../../locales"));
44
44
  var import_useToast = __toESM(require("../../../../hooks/useToast"));
45
+ var import_ahooks = require("ahooks");
45
46
  function CashPaymentModule({
46
47
  amountSymbol,
47
48
  orderInfo,
@@ -83,7 +84,7 @@ function CashPaymentModule({
83
84
  setAmount(amountStr);
84
85
  setRoundingAmount(0);
85
86
  };
86
- const handleCashPay = () => {
87
+ const handleCashPayInternal = () => {
87
88
  if (isAmountButtonsDisabled) return;
88
89
  if (onPaymentComplete) {
89
90
  if (Number(amount) === 0 && Math.abs(roundingAmount) === 0) {
@@ -100,6 +101,9 @@ function CashPaymentModule({
100
101
  });
101
102
  }
102
103
  };
104
+ const { run: handleCashPay } = (0, import_ahooks.useDebounceFn)(handleCashPayInternal, {
105
+ wait: 1e3
106
+ });
103
107
  const handleKeyboardConfirm = async (value) => {
104
108
  if (isInputDisabled) {
105
109
  setAmount("0.00");
@@ -15,8 +15,6 @@
15
15
  /* 标题栏 */
16
16
  .cash-pay-header {
17
17
  align-self: stretch;
18
- padding-left: 8px;
19
- padding-right: 8px;
20
18
  justify-content: space-between;
21
19
  display: inline-flex;
22
20
  width: 100%;
@@ -108,7 +108,12 @@ function PaymentDetailModal({
108
108
  if (!paymentItems || paymentItems.length === 0 || regularPayments.length === 0) {
109
109
  return /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("section-content") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("no-payment-text") }, getText("no.payments.recorded") || "No payments recorded"));
110
110
  }
111
- return /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("section-content") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("payment-record-container") }, regularPayments.map((item) => /* @__PURE__ */ import_react.default.createElement("div", { key: item.uuid, className: (0, import_classnames.default)("payment-item") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("payment-item-content") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("payment-item-text") }, item.name, " - ", (/* @__PURE__ */ new Date()).toLocaleDateString(), " ", getText("pisell2.checkout.payment-detail.by") || "by", " ", getCustomerInfo().nickname), /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("payment-item-actions") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("payment-item-amount") }, "-", (0, import_utils.formatAmount)(Math.abs(item.amount), 2, amountSymbol)), shouldShowVoidButton(item) && /* @__PURE__ */ import_react.default.createElement(
111
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("section-content") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("payment-record-container") }, regularPayments.map((item) => /* @__PURE__ */ import_react.default.createElement("div", { key: item.uuid, className: (0, import_classnames.default)("payment-item") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("payment-item-content") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("payment-item-text") }, item.name, " - ", (/* @__PURE__ */ new Date()).toLocaleDateString(), " ", getText("pisell2.checkout.payment-detail.by") || "by", " ", getCustomerInfo().nickname), /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("payment-item-actions") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("payment-item-amount") }, "-", (0, import_utils.formatAmountWithOptions)(Math.abs(item.amount), amountSymbol, {
112
+ precision: 2,
113
+ hideDecimalForWholeNumbers: false,
114
+ useThousandsSeparator: true,
115
+ showCurrencySymbol: true
116
+ })), shouldShowVoidButton(item) && /* @__PURE__ */ import_react.default.createElement(
112
117
  "button",
113
118
  {
114
119
  className: (0, import_classnames.default)("void-button"),
@@ -131,10 +136,15 @@ function PaymentDetailModal({
131
136
  className: (0, import_classnames.default)("balance-item-row")
132
137
  },
133
138
  /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("balance-item-text") }, wallet.name || wallet.product_name || getText("wallet.pass") || "Wallet Pass"),
134
- /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("balance-item-amount") }, "-", wallet.redeem || (0, import_utils.formatAmount)(
139
+ /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("balance-item-amount") }, "-", wallet.redeem || (0, import_utils.formatAmountWithOptions)(
135
140
  Math.abs(wallet.savedAmount || 0),
136
- 2,
137
- amountSymbol
141
+ amountSymbol,
142
+ {
143
+ precision: 2,
144
+ hideDecimalForWholeNumbers: false,
145
+ useThousandsSeparator: true,
146
+ showCurrencySymbol: true
147
+ }
138
148
  ))
139
149
  )
140
150
  );
@@ -158,7 +168,12 @@ function PaymentDetailModal({
158
168
  };
159
169
  const renderSummaryItems = () => {
160
170
  if (!summaryData || summaryData.length === 0) {
161
- return /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("order-details-grid") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("order-details-column") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("order-row") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("order-row-text") }, getText("no.items.found") || "No items found"), /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("order-row-amount") }, (0, import_utils.formatAmount)(0, 2, amountSymbol)))));
171
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("order-details-grid") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("order-details-column") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("order-row") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("order-row-text") }, getText("no.items.found") || "No items found"), /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("order-row-amount") }, (0, import_utils.formatAmountWithOptions)(0, amountSymbol, {
172
+ precision: 2,
173
+ hideDecimalForWholeNumbers: false,
174
+ useThousandsSeparator: true,
175
+ showCurrencySymbol: true
176
+ })))));
162
177
  }
163
178
  const leftItems = summaryData.slice(0, Math.ceil(summaryData.length / 2));
164
179
  const rightItems = summaryData.slice(Math.ceil(summaryData.length / 2));
@@ -167,13 +182,23 @@ function PaymentDetailModal({
167
182
  if ((item == null ? void 0 : item.key) !== "discount") {
168
183
  prefix = item.value >= 0 ? "+" : "";
169
184
  }
170
- return /* @__PURE__ */ import_react.default.createElement("div", { key: item.key, className: (0, import_classnames.default)("order-row") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("order-row-label") }, getDisplayLabel(item)), /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("order-row-amount") }, prefix, (0, import_utils.formatAmount)(item.value, 2, amountSymbol)));
185
+ return /* @__PURE__ */ import_react.default.createElement("div", { key: item.key, className: (0, import_classnames.default)("order-row") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("order-row-label") }, getDisplayLabel(item)), /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("order-row-amount") }, prefix, (0, import_utils.formatAmountWithOptions)(item.value, amountSymbol, {
186
+ precision: 2,
187
+ hideDecimalForWholeNumbers: false,
188
+ useThousandsSeparator: true,
189
+ showCurrencySymbol: true
190
+ })));
171
191
  })), rightItems.length > 0 && /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("divider-vertical") }), /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("order-details-column") }, rightItems.map((item) => {
172
192
  let prefix = "";
173
193
  if ((item == null ? void 0 : item.key) !== "discount") {
174
194
  prefix = item.value >= 0 ? "+" : "";
175
195
  }
176
- return /* @__PURE__ */ import_react.default.createElement("div", { key: item.key, className: (0, import_classnames.default)("order-row") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("order-row-label") }, getDisplayLabel(item)), /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("order-row-amount") }, prefix, (0, import_utils.formatAmount)(item.value, 2, amountSymbol)));
196
+ return /* @__PURE__ */ import_react.default.createElement("div", { key: item.key, className: (0, import_classnames.default)("order-row") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("order-row-label") }, getDisplayLabel(item)), /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("order-row-amount") }, prefix, (0, import_utils.formatAmountWithOptions)(item.value, amountSymbol, {
197
+ precision: 2,
198
+ hideDecimalForWholeNumbers: false,
199
+ useThousandsSeparator: true,
200
+ showCurrencySymbol: true
201
+ })));
177
202
  }))));
178
203
  };
179
204
  return /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("payment-detail-modal") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("main-content") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("section-container") }, /* @__PURE__ */ import_react.default.createElement(
@@ -183,7 +208,12 @@ function PaymentDetailModal({
183
208
  onClick: () => setOrderTotalExpanded(!orderTotalExpanded)
184
209
  },
185
210
  /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("section-title-container") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("section-title") }, getText("order.total") || "Order Total")),
186
- /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("section-right") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("section-amount") }, (0, import_utils.formatAmount)(getTotalAmount(), 2, amountSymbol)), /* @__PURE__ */ import_react.default.createElement(CollapseIcon, { expanded: orderTotalExpanded }))
211
+ /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("section-right") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("section-amount") }, (0, import_utils.formatAmountWithOptions)(getTotalAmount(), amountSymbol, {
212
+ precision: 2,
213
+ hideDecimalForWholeNumbers: false,
214
+ useThousandsSeparator: true,
215
+ showCurrencySymbol: true
216
+ })), /* @__PURE__ */ import_react.default.createElement(CollapseIcon, { expanded: orderTotalExpanded }))
187
217
  ), orderTotalExpanded && /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("section-content") }, renderSummaryItems())), /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("divider-horizontal") }), /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("section-container") }, /* @__PURE__ */ import_react.default.createElement(
188
218
  "div",
189
219
  {
@@ -193,7 +223,12 @@ function PaymentDetailModal({
193
223
  tabIndex: 0
194
224
  },
195
225
  /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("section-title-container") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("section-title") }, getText("order.paid") || "Order Paid")),
196
- /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("section-right") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("section-amount") }, "-", (0, import_utils.formatAmount)(getTotalPaidAmount(), 2, amountSymbol)), /* @__PURE__ */ import_react.default.createElement(CollapseIcon, { expanded: orderPaidExpanded }))
226
+ /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("section-right") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("section-amount") }, "-", (0, import_utils.formatAmountWithOptions)(getTotalPaidAmount(), amountSymbol, {
227
+ precision: 2,
228
+ hideDecimalForWholeNumbers: false,
229
+ useThousandsSeparator: true,
230
+ showCurrencySymbol: true
231
+ })), /* @__PURE__ */ import_react.default.createElement(CollapseIcon, { expanded: orderPaidExpanded }))
197
232
  ), orderPaidExpanded && renderPaymentItems())), /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("balance-to-pay-section") }, /* @__PURE__ */ import_react.default.createElement(
198
233
  "div",
199
234
  {
@@ -203,7 +238,17 @@ function PaymentDetailModal({
203
238
  tabIndex: 0
204
239
  },
205
240
  /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("section-title-container") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("balance-to-pay-title") }, getText("balance.to.pay") || "Balance to Pay")),
206
- /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("balance-to-pay-right") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("balance-to-pay-amount") }, (0, import_utils.formatAmount)(getBalanceDueAmount(), 2, amountSymbol)), /* @__PURE__ */ import_react.default.createElement(CollapseIcon, { expanded: balanceToPayExpanded, color: "#7F56DA" }))
207
- ), balanceToPayExpanded && /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("balance-to-pay-content") }, renderVoucherItems()), /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("balance-due-section") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("balance-due-header") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("balance-due-title") }, getText("balance.due") || "Balance Due"), /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("balance-due-amount") }, (0, import_utils.formatAmount)(customAmount || 0, 2, amountSymbol))))));
241
+ /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("balance-to-pay-right") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("balance-to-pay-amount") }, (0, import_utils.formatAmountWithOptions)(getBalanceDueAmount(), amountSymbol, {
242
+ precision: 2,
243
+ hideDecimalForWholeNumbers: false,
244
+ useThousandsSeparator: true,
245
+ showCurrencySymbol: true
246
+ })), /* @__PURE__ */ import_react.default.createElement(CollapseIcon, { expanded: balanceToPayExpanded, color: "#7F56DA" }))
247
+ ), balanceToPayExpanded && /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("balance-to-pay-content") }, renderVoucherItems()), /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("balance-due-section") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("balance-due-header") }, /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("balance-due-title") }, getText("balance.due") || "Balance Due"), /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("balance-due-amount") }, (0, import_utils.formatAmountWithOptions)(customAmount || 0, amountSymbol, {
248
+ precision: 2,
249
+ hideDecimalForWholeNumbers: false,
250
+ useThousandsSeparator: true,
251
+ showCurrencySymbol: true
252
+ }))))));
208
253
  }
209
254
  var PaymentDetailModal_default = PaymentDetailModal;
@@ -11,6 +11,7 @@ interface ExtendedPaymentOptionsModuleProps extends PaymentOptionsModuleProps {
11
11
  title?: string;
12
12
  onClick?: (method: ExtendedPaymentMethod) => void;
13
13
  disabled?: boolean;
14
+ showCashPayment?: boolean;
14
15
  }
15
- declare function PaymentOptionsModule({ amountSymbol, orderInfo, onClick, paymentMethods, customAmount, title, disabled, }: ExtendedPaymentOptionsModuleProps): JSX.Element;
16
+ declare function PaymentOptionsModule({ amountSymbol, orderInfo, onClick, paymentMethods, customAmount, title, disabled, showCashPayment, }: ExtendedPaymentOptionsModuleProps): JSX.Element;
16
17
  export default PaymentOptionsModule;
@@ -55,7 +55,8 @@ function PaymentOptionsModule({
55
55
  paymentMethods = [],
56
56
  customAmount,
57
57
  title,
58
- disabled = false
58
+ disabled = false,
59
+ showCashPayment = false
59
60
  }) {
60
61
  var _a, _b, _c, _d, _e, _f, _g, _h;
61
62
  const context = (0, import_useEngineContext.default)();
@@ -108,14 +109,14 @@ function PaymentOptionsModule({
108
109
  );
109
110
  const renderPaymentIcon = (method) => {
110
111
  if (method.code === "EFTPOS") {
111
- return /* @__PURE__ */ import_react.default.createElement(import_materials.Iconfont, { type: "pisell2-credit-card-02", style: { fontSize: "36px", color: "#7F56DA" } });
112
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("payment-options-module-icon-container"), style: { background: "#FE8279" } }, /* @__PURE__ */ import_react.default.createElement(import_materials.Iconfont, { type: "pisell2-credit", style: { fontSize: "26px", color: "#ffffff" } }));
112
113
  }
113
114
  switch (String(method.type)) {
114
115
  case "credit-card":
115
116
  case "eftpos":
116
- return /* @__PURE__ */ import_react.default.createElement(import_materials.Iconfont, { type: "pisell2-credit-card-02", style: { fontSize: "36px", color: "#7F56DA" } });
117
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("payment-options-module-icon-container"), style: { background: "#FE8279" } }, /* @__PURE__ */ import_react.default.createElement(import_materials.Iconfont, { type: "pisell2-credit", style: { fontSize: "26px", color: "#ffffff" } }));
117
118
  default:
118
- return /* @__PURE__ */ import_react.default.createElement(import_materials.Iconfont, { type: "pisell2-a-wallet-021", style: { fontSize: "36px", color: "#7F56DA" } });
119
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: (0, import_classnames.default)("payment-options-module-icon-container"), style: { background: "#D277E4" } }, /* @__PURE__ */ import_react.default.createElement(import_materials.Iconfont, { type: "pisell2-custom", style: { fontSize: "26px", color: "#ffffff" } }));
119
120
  }
120
121
  };
121
122
  return /* @__PURE__ */ import_react.default.createElement(
@@ -130,19 +131,21 @@ function PaymentOptionsModule({
130
131
  import_ScrollableList.default,
131
132
  {
132
133
  height: "100%",
133
- maxHeight: 400,
134
+ maxHeight: 330,
134
135
  gradientColor: "rgba(139, 92, 246, 0.1)",
135
136
  gradientHeight: 50,
136
- columnCount: 1,
137
+ columnCount: showCashPayment ? 1 : 2,
137
138
  rowGap: 7,
139
+ columnGap: 8,
138
140
  containerStyle: {
139
141
  width: "100%",
140
142
  flex: 1,
141
143
  // 使用flex来占用剩余空间
142
144
  minHeight: 0,
143
145
  // 允许缩小
144
- position: "relative"
146
+ position: "relative",
145
147
  // 确保定位上下文
148
+ paddingBottom: 8
146
149
  }
147
150
  },
148
151
  filteredPaymentMethods.map((method) => /* @__PURE__ */ import_react.default.createElement(
@@ -217,7 +220,7 @@ function PaymentOptionsModule({
217
220
  "payment-options-module-payment-method-right"
218
221
  )
219
222
  },
220
- /* @__PURE__ */ import_react.default.createElement(
223
+ method.code !== "EFTPOS" && method.type !== "eftpos" && /* @__PURE__ */ import_react.default.createElement(
221
224
  "div",
222
225
  {
223
226
  className: (0, import_classnames.default)(
@@ -34,10 +34,10 @@
34
34
  /* 支付方式项样式 */
35
35
  .payment-options-module-payment-method-item {
36
36
  width: 100%;
37
- height: 72px;
38
- padding: 14px;
37
+ height: 62px;
38
+ padding: 8px 16px;
39
39
  background: white;
40
- border-radius: 16px;
40
+ border-radius: 8px;
41
41
  border: 1px var(--theme-color, #7f56da) solid;
42
42
  cursor: pointer;
43
43
  justify-content: space-between;
@@ -118,7 +118,7 @@
118
118
  /* 选择按钮禁用状态样式 */
119
119
  .payment-options-module-selection-button-disabled {
120
120
  color: #D0D5DD;
121
-
121
+
122
122
  .iconfont {
123
123
  color: #D0D5DD !important;
124
124
  }
@@ -197,7 +197,12 @@
197
197
 
198
198
  /* PaymentIcon 样式 */
199
199
  .payment-options-module-icon-container {
200
- width: 40px;
200
+ width: 32px;
201
+ height: 32px;
202
+ border-radius: 50%;
203
+ display: flex;
204
+ align-items: center;
205
+ justify-content: center;
201
206
  img {
202
207
  width: 100%;
203
208
  }
@@ -252,4 +257,4 @@
252
257
  color: #101828;
253
258
  /* 标题保持正常颜色 */
254
259
  }
255
- }
260
+ }