@pisell/private-materials 6.3.138 → 6.3.140

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 (329) 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 +153 -426
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +8 -8
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +10 -10
  11. package/es/businessModel/SalesModel/index.d.ts +0 -1
  12. package/es/components/authentication/admin/ChannelAuthSetting/OnlineShopAuth/index.js +24 -5
  13. package/es/components/authentication/admin/ChannelAuthSetting/index.js +1 -1
  14. package/es/components/booking/addons/model.d.ts +10 -1
  15. package/es/components/booking/components/TabProduct/selectProductItem/index.d.ts +1 -0
  16. package/es/components/booking/components/collapsibleList/utils.d.ts +1 -0
  17. package/es/components/booking/components/emptyBooking/index.d.ts +1 -0
  18. package/es/components/booking/components/footer/FooterMenus/index.d.ts +1 -0
  19. package/es/components/booking/components/formItemChildrenWrap/index.d.ts +1 -0
  20. package/es/components/booking/components/reloadResourceModal/index.d.ts +1 -0
  21. package/es/components/booking/deposit/index.d.ts +0 -1
  22. package/es/components/booking/forms/model.d.ts +10 -1
  23. package/es/components/booking/forms/table/index.d.ts +1 -0
  24. package/es/components/booking/info/addServiceVariant/index.d.ts +0 -1
  25. package/es/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +1 -0
  26. package/es/components/booking/info/hooks/useInfoHolder.d.ts +0 -1
  27. package/es/components/booking/info/index.d.ts +0 -1
  28. package/es/components/booking/info/model.d.ts +10 -1
  29. package/es/components/booking/info/service/Lists.d.ts +0 -1
  30. package/es/components/booking/info/service/addService/index.d.ts +0 -1
  31. package/es/components/booking/info/service/addTimeModal/index.d.ts +0 -1
  32. package/es/components/booking/info/service/like/index.d.ts +1 -0
  33. package/es/components/booking/info/service/serviceList/index.d.ts +0 -1
  34. package/es/components/booking/info/service2/Lists.d.ts +0 -1
  35. package/es/components/booking/info2/service/addTimeModal/index.d.ts +0 -1
  36. package/es/components/booking/info2/service/serviceList/index.d.ts +0 -1
  37. package/es/components/booking/materiels/contacts/index.d.ts +1 -0
  38. package/es/components/booking/model.d.ts +9 -1
  39. package/es/components/booking/notes/NoteBlock/NoteItem/index.d.ts +1 -0
  40. package/es/components/booking/notes/model.d.ts +10 -1
  41. package/es/components/booking/payments/model.d.ts +10 -1
  42. package/es/components/booking/utils.d.ts +2 -2
  43. package/es/components/ecocup/components/CupInfoCard/index.d.ts +1 -0
  44. package/es/components/ecocup/components/CustomerCard/index.d.ts +1 -0
  45. package/es/components/eftpos/deviceList/index.d.ts +1 -0
  46. package/es/components/eftpos/form/index.d.ts +1 -0
  47. package/es/components/eftpos/group/index.d.ts +1 -0
  48. package/es/components/eftpos/icon/apiKey.d.ts +1 -0
  49. package/es/components/eftpos/icon/device.d.ts +1 -0
  50. package/es/components/eftpos/pos.d.ts +1 -0
  51. package/es/components/eftpos/receipt/index.d.ts +1 -0
  52. package/es/components/eftposPay/app.d.ts +0 -1
  53. package/es/components/eftposPay/component/alert/warn.d.ts +1 -0
  54. package/es/components/eftposPay/component/fail/failCustom.d.ts +0 -1
  55. package/es/components/eftposPay/component/fail/network.d.ts +1 -0
  56. package/es/components/eftposPay/component/fail/unknow.d.ts +1 -0
  57. package/es/components/eftposPay/component/header/titlebar.d.ts +1 -0
  58. package/es/components/eftposPay/component/signature/index.d.ts +1 -0
  59. package/es/components/eftposPay/component/step/index.d.ts +1 -0
  60. package/es/components/eftposPay/component/step/step.d.ts +1 -0
  61. package/es/components/eftposPay/device.d.ts +0 -1
  62. package/es/components/eftposPay/index.d.ts +0 -1
  63. package/es/components/eftposPay/linkly/index.d.ts +0 -1
  64. package/es/components/eftposPay/pay.d.ts +0 -1
  65. package/es/components/eftposPay/payo/config.d.ts +1 -0
  66. package/es/components/eftposPay/tip.d.ts +1 -0
  67. package/es/components/eftposPay/tyro/hooks.d.ts +1 -0
  68. package/es/components/eftposPay/windcave/receiptAction.d.ts +1 -0
  69. package/es/components/eftposPay/windcave/windcave.d.ts +1 -0
  70. package/es/components/eventBooking/components/Provider/Content/index.d.ts +0 -1
  71. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +1 -0
  72. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +1 -0
  73. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +1 -0
  74. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Status/index.d.ts +1 -0
  75. package/es/components/eventBooking/components/scheduleCalendar/ProductItem/index.d.ts +1 -0
  76. package/es/components/eventBooking/index.d.ts +0 -1
  77. package/es/components/login/index.d.ts +1 -0
  78. package/es/components/pay/toC/PaymentMethods/MWCreditCard/tds2.js +7 -5
  79. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +1 -0
  80. package/es/components/pay/toC/model.d.ts +9 -1
  81. package/es/components/pisellSelectCustomerModal/RightPanel/Add/BirthdayField/index.d.ts +1 -0
  82. package/es/components/pisellSelectCustomerModal/RightPanel/Add/GenderField/index.d.ts +1 -0
  83. package/es/components/pisellSelectCustomerModal/RightPanel/Add/PhoneField/index.d.ts +0 -1
  84. package/es/components/pisellSelectCustomerModal/RightPanel/index.d.ts +0 -1
  85. package/es/components/productExtension/fields/SelectProducts/ProductItemPreview/index.d.ts +1 -0
  86. package/es/components/productExtension/index.d.ts +0 -1
  87. package/es/components/ruleSetting/index.d.ts +0 -1
  88. package/es/components/ruleSetting/ruleBorder/index.d.ts +1 -0
  89. package/es/components/scanOrder/components/Cart/index.d.ts +2 -0
  90. package/es/components/scanOrder/components/Cart/index.js +181 -76
  91. package/es/components/scanOrder/components/Cart/index.less +72 -13
  92. package/es/components/scanOrder/components/Check/index.js +261 -75
  93. package/es/components/scanOrder/components/Check/index.less +30 -0
  94. package/es/components/scanOrder/components/Content/index.js +382 -144
  95. package/es/components/scanOrder/components/Footer/index.d.ts +2 -0
  96. package/es/components/scanOrder/components/Footer/index.js +4 -2
  97. package/es/components/scanOrder/components/Footer/index.less +16 -7
  98. package/es/components/scanOrder/components/FulfillmentMode/index.d.ts +11 -0
  99. package/es/components/scanOrder/components/FulfillmentMode/index.js +90 -0
  100. package/es/components/scanOrder/components/FulfillmentMode/index.less +40 -0
  101. package/es/components/scanOrder/components/ManualPickupRefModal/index.d.ts +16 -0
  102. package/es/components/scanOrder/components/ManualPickupRefModal/index.js +87 -0
  103. package/es/components/scanOrder/components/ManualPickupRefModal/index.less +61 -0
  104. package/es/components/scanOrder/components/Menu/index.d.ts +11 -0
  105. package/es/components/scanOrder/components/Menu/index.js +140 -169
  106. package/es/components/scanOrder/components/Voucher/index.d.ts +8 -0
  107. package/es/components/scanOrder/components/Voucher/index.js +250 -0
  108. package/es/components/scanOrder/context.js +123 -3
  109. package/es/components/scanOrder/hooks.js +4 -1
  110. package/es/components/scanOrder/locales.d.ts +120 -0
  111. package/es/components/scanOrder/locales.js +120 -0
  112. package/es/components/scanOrder/types.d.ts +33 -0
  113. package/es/components/scanOrder/utils/toShoppingCartProducts.d.ts +1 -0
  114. package/es/components/scanOrder/utils/toShoppingCartProducts.js +137 -9
  115. package/es/components/scanOrder/utils/transformProductDetail.js +21 -4
  116. package/es/components/schedules/calendar/calendarItem.d.ts +1 -0
  117. package/es/components/schedules/calendar/index.d.ts +1 -0
  118. package/es/components/schedules/components/CurrentDay/index.d.ts +1 -0
  119. package/es/components/schedules/components/ScheduleDetailList/index.d.ts +1 -0
  120. package/es/components/schedules/components/ScheduleList/index.d.ts +1 -0
  121. package/es/components/schedules/model.d.ts +9 -1
  122. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/MaxParticipantsModule/index.d.ts +1 -0
  123. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/ResourcesModule/index.d.ts +1 -0
  124. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/index.d.ts +1 -0
  125. package/es/components/schedules/products/ProductDetailDrawer/ProductDetailByDate/index.d.ts +1 -0
  126. package/es/components/schedules/products/ProductDetailDrawer/index.d.ts +1 -0
  127. package/es/components/schedules/products/index.d.ts +1 -0
  128. package/es/components/schedules/products/list/ProductItem/index.d.ts +1 -0
  129. package/es/components/schedules/products/list/index.d.ts +1 -0
  130. package/es/components/schedules/resources/index.d.ts +1 -0
  131. package/es/components/schedules/resources/list/index.d.ts +1 -0
  132. package/es/components/schedules/resources/relationProduct/index.d.ts +1 -0
  133. package/es/components/schedules/schedules/AllSchedules/index.d.ts +1 -0
  134. package/es/components/schedules/schedules/ScheduleDetailDrawer/index.d.ts +1 -0
  135. package/es/components/schedules/schedules/index.d.ts +1 -0
  136. package/es/components/systemSettings/registry/components/GroupModal.js +8 -1
  137. package/es/components/systemSettings/registry/components/ItemModal.js +3 -0
  138. package/es/components/systemSettings/registry/index.js +3 -1
  139. package/es/components/systemSettings/registry/services.d.ts +2 -0
  140. package/es/components/systemSettings/registry/types.d.ts +3 -0
  141. package/es/components/ticketBooking/components/addServiceVariant/index.d.ts +0 -1
  142. package/es/components/venueBooking/components/Addons/index.js +42 -33
  143. package/es/components/venueBooking/components/Cart/index.js +26 -14
  144. package/es/components/venueBooking/components/VenueSelection/components/TimeGrid.js +129 -17
  145. package/es/components/venueBooking/context.js +6 -6
  146. package/es/components/venueBooking/hooks.d.ts +16 -3
  147. package/es/components/venueBooking/hooks.js +16 -4
  148. package/es/components/venueBooking/types.d.ts +19 -2
  149. package/es/hooks/usePaymentLogger.d.ts +1 -0
  150. package/es/index.d.ts +1 -1
  151. package/es/index.js +1 -1
  152. package/es/plus/clientName/index.d.ts +1 -0
  153. package/es/plus/clinetSearch/Add/BirthdayField/index.d.ts +1 -0
  154. package/es/plus/clinetSearch/Add/GenderField/index.d.ts +1 -0
  155. package/es/plus/pisellReservation/floorRoomCard/views/RoomCardIcons.d.ts +1 -0
  156. package/es/plus/pisellSalesManagement/hooks/useSalesGridData.d.ts +1 -0
  157. package/es/plus/saasCreateOrganization/components/Header.d.ts +1 -0
  158. package/es/plus/saasRegister/components/EntryEmail.d.ts +1 -0
  159. package/es/plus/saasRegister/components/EntryInfo.d.ts +1 -0
  160. package/es/plus/saasRegister/components/GoLogin.d.ts +1 -0
  161. package/es/plus/saasRegister/components/Header.d.ts +1 -0
  162. package/es/plus/saasRegister/components/VerifyError.d.ts +1 -0
  163. package/es/plus/saasRegister/components/VerifyingLink.d.ts +1 -0
  164. package/es/plus/skuOptionsSelection/components/NormalCard/index.d.ts +1 -0
  165. package/es/plus/skuOptionsSelection/components/TitleExtra/index.d.ts +1 -0
  166. package/es/plus/skuOptionsSelection/components/VariantCard/index.d.ts +1 -0
  167. package/es/plus/walletEditor/components/relationProduct/index.d.ts +1 -0
  168. package/es/pro/Selector/demo.d.ts +1 -0
  169. package/lib/businessModel/SalesModel/index.d.ts +0 -1
  170. package/lib/components/authentication/admin/ChannelAuthSetting/OnlineShopAuth/index.js +19 -4
  171. package/lib/components/authentication/admin/ChannelAuthSetting/index.js +1 -1
  172. package/lib/components/booking/addons/model.d.ts +10 -1
  173. package/lib/components/booking/components/TabProduct/selectProductItem/index.d.ts +1 -0
  174. package/lib/components/booking/components/collapsibleList/utils.d.ts +1 -0
  175. package/lib/components/booking/components/emptyBooking/index.d.ts +1 -0
  176. package/lib/components/booking/components/footer/FooterMenus/index.d.ts +1 -0
  177. package/lib/components/booking/components/formItemChildrenWrap/index.d.ts +1 -0
  178. package/lib/components/booking/components/reloadResourceModal/index.d.ts +1 -0
  179. package/lib/components/booking/deposit/index.d.ts +0 -1
  180. package/lib/components/booking/forms/model.d.ts +10 -1
  181. package/lib/components/booking/forms/table/index.d.ts +1 -0
  182. package/lib/components/booking/info/addServiceVariant/index.d.ts +0 -1
  183. package/lib/components/booking/info/clientVariant/hooks/useIsLowSpeedNetwork.d.ts +1 -0
  184. package/lib/components/booking/info/hooks/useInfoHolder.d.ts +0 -1
  185. package/lib/components/booking/info/index.d.ts +0 -1
  186. package/lib/components/booking/info/model.d.ts +10 -1
  187. package/lib/components/booking/info/service/Lists.d.ts +0 -1
  188. package/lib/components/booking/info/service/addService/index.d.ts +0 -1
  189. package/lib/components/booking/info/service/addTimeModal/index.d.ts +0 -1
  190. package/lib/components/booking/info/service/like/index.d.ts +1 -0
  191. package/lib/components/booking/info/service/serviceList/index.d.ts +0 -1
  192. package/lib/components/booking/info/service2/Lists.d.ts +0 -1
  193. package/lib/components/booking/info2/service/addTimeModal/index.d.ts +0 -1
  194. package/lib/components/booking/info2/service/serviceList/index.d.ts +0 -1
  195. package/lib/components/booking/materiels/contacts/index.d.ts +1 -0
  196. package/lib/components/booking/model.d.ts +9 -1
  197. package/lib/components/booking/notes/NoteBlock/NoteItem/index.d.ts +1 -0
  198. package/lib/components/booking/notes/model.d.ts +10 -1
  199. package/lib/components/booking/payments/model.d.ts +10 -1
  200. package/lib/components/booking/utils.d.ts +2 -2
  201. package/lib/components/ecocup/components/CupInfoCard/index.d.ts +1 -0
  202. package/lib/components/ecocup/components/CustomerCard/index.d.ts +1 -0
  203. package/lib/components/eftpos/deviceList/index.d.ts +1 -0
  204. package/lib/components/eftpos/form/index.d.ts +1 -0
  205. package/lib/components/eftpos/group/index.d.ts +1 -0
  206. package/lib/components/eftpos/icon/apiKey.d.ts +1 -0
  207. package/lib/components/eftpos/icon/device.d.ts +1 -0
  208. package/lib/components/eftpos/pos.d.ts +1 -0
  209. package/lib/components/eftpos/receipt/index.d.ts +1 -0
  210. package/lib/components/eftposPay/app.d.ts +0 -1
  211. package/lib/components/eftposPay/component/alert/warn.d.ts +1 -0
  212. package/lib/components/eftposPay/component/fail/failCustom.d.ts +0 -1
  213. package/lib/components/eftposPay/component/fail/network.d.ts +1 -0
  214. package/lib/components/eftposPay/component/fail/unknow.d.ts +1 -0
  215. package/lib/components/eftposPay/component/header/titlebar.d.ts +1 -0
  216. package/lib/components/eftposPay/component/signature/index.d.ts +1 -0
  217. package/lib/components/eftposPay/component/step/index.d.ts +1 -0
  218. package/lib/components/eftposPay/component/step/step.d.ts +1 -0
  219. package/lib/components/eftposPay/device.d.ts +0 -1
  220. package/lib/components/eftposPay/index.d.ts +0 -1
  221. package/lib/components/eftposPay/linkly/index.d.ts +0 -1
  222. package/lib/components/eftposPay/pay.d.ts +0 -1
  223. package/lib/components/eftposPay/payo/config.d.ts +1 -0
  224. package/lib/components/eftposPay/tip.d.ts +1 -0
  225. package/lib/components/eftposPay/tyro/hooks.d.ts +1 -0
  226. package/lib/components/eftposPay/windcave/receiptAction.d.ts +1 -0
  227. package/lib/components/eftposPay/windcave/windcave.d.ts +1 -0
  228. package/lib/components/eventBooking/components/Provider/Content/index.d.ts +0 -1
  229. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateStatus/index.d.ts +1 -0
  230. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/DayItem/index.d.ts +1 -0
  231. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Item/index.d.ts +1 -0
  232. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/Status/index.d.ts +1 -0
  233. package/lib/components/eventBooking/components/scheduleCalendar/ProductItem/index.d.ts +1 -0
  234. package/lib/components/eventBooking/index.d.ts +0 -1
  235. package/lib/components/login/index.d.ts +1 -0
  236. package/lib/components/pay/toC/PaymentMethods/MWCreditCard/tds2.js +2 -0
  237. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/index.d.ts +1 -0
  238. package/lib/components/pay/toC/model.d.ts +9 -1
  239. package/lib/components/pisellSelectCustomerModal/RightPanel/Add/BirthdayField/index.d.ts +1 -0
  240. package/lib/components/pisellSelectCustomerModal/RightPanel/Add/GenderField/index.d.ts +1 -0
  241. package/lib/components/pisellSelectCustomerModal/RightPanel/Add/PhoneField/index.d.ts +0 -1
  242. package/lib/components/pisellSelectCustomerModal/RightPanel/index.d.ts +0 -1
  243. package/lib/components/productExtension/fields/SelectProducts/ProductItemPreview/index.d.ts +1 -0
  244. package/lib/components/productExtension/index.d.ts +0 -1
  245. package/lib/components/ruleSetting/index.d.ts +0 -1
  246. package/lib/components/ruleSetting/ruleBorder/index.d.ts +1 -0
  247. package/lib/components/scanOrder/components/Cart/index.d.ts +2 -0
  248. package/lib/components/scanOrder/components/Cart/index.js +117 -28
  249. package/lib/components/scanOrder/components/Cart/index.less +72 -13
  250. package/lib/components/scanOrder/components/Check/index.js +109 -15
  251. package/lib/components/scanOrder/components/Check/index.less +30 -0
  252. package/lib/components/scanOrder/components/Content/index.js +175 -48
  253. package/lib/components/scanOrder/components/Footer/index.d.ts +2 -0
  254. package/lib/components/scanOrder/components/Footer/index.js +2 -2
  255. package/lib/components/scanOrder/components/Footer/index.less +16 -7
  256. package/lib/components/scanOrder/components/FulfillmentMode/index.d.ts +11 -0
  257. package/lib/components/scanOrder/components/FulfillmentMode/index.js +96 -0
  258. package/lib/components/scanOrder/components/FulfillmentMode/index.less +40 -0
  259. package/lib/components/scanOrder/components/ManualPickupRefModal/index.d.ts +16 -0
  260. package/lib/components/scanOrder/components/ManualPickupRefModal/index.js +116 -0
  261. package/lib/components/scanOrder/components/ManualPickupRefModal/index.less +61 -0
  262. package/lib/components/scanOrder/components/Menu/index.d.ts +11 -0
  263. package/lib/components/scanOrder/components/Menu/index.js +23 -36
  264. package/lib/components/scanOrder/components/Voucher/index.d.ts +8 -0
  265. package/lib/components/scanOrder/components/Voucher/index.js +162 -0
  266. package/lib/components/scanOrder/context.js +91 -2
  267. package/lib/components/scanOrder/hooks.js +4 -1
  268. package/lib/components/scanOrder/locales.d.ts +120 -0
  269. package/lib/components/scanOrder/locales.js +120 -0
  270. package/lib/components/scanOrder/types.d.ts +33 -0
  271. package/lib/components/scanOrder/utils/toShoppingCartProducts.d.ts +1 -0
  272. package/lib/components/scanOrder/utils/toShoppingCartProducts.js +88 -6
  273. package/lib/components/scanOrder/utils/transformProductDetail.js +10 -3
  274. package/lib/components/schedules/calendar/calendarItem.d.ts +1 -0
  275. package/lib/components/schedules/calendar/index.d.ts +1 -0
  276. package/lib/components/schedules/components/CurrentDay/index.d.ts +1 -0
  277. package/lib/components/schedules/components/ScheduleDetailList/index.d.ts +1 -0
  278. package/lib/components/schedules/components/ScheduleList/index.d.ts +1 -0
  279. package/lib/components/schedules/model.d.ts +9 -1
  280. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/MaxParticipantsModule/index.d.ts +1 -0
  281. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/ResourcesModule/index.d.ts +1 -0
  282. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/index.d.ts +1 -0
  283. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetailByDate/index.d.ts +1 -0
  284. package/lib/components/schedules/products/ProductDetailDrawer/index.d.ts +1 -0
  285. package/lib/components/schedules/products/index.d.ts +1 -0
  286. package/lib/components/schedules/products/list/ProductItem/index.d.ts +1 -0
  287. package/lib/components/schedules/products/list/index.d.ts +1 -0
  288. package/lib/components/schedules/resources/index.d.ts +1 -0
  289. package/lib/components/schedules/resources/list/index.d.ts +1 -0
  290. package/lib/components/schedules/resources/relationProduct/index.d.ts +1 -0
  291. package/lib/components/schedules/schedules/AllSchedules/index.d.ts +1 -0
  292. package/lib/components/schedules/schedules/ScheduleDetailDrawer/index.d.ts +1 -0
  293. package/lib/components/schedules/schedules/index.d.ts +1 -0
  294. package/lib/components/systemSettings/registry/components/GroupModal.js +71 -72
  295. package/lib/components/systemSettings/registry/components/ItemModal.js +2 -1
  296. package/lib/components/systemSettings/registry/index.js +3 -1
  297. package/lib/components/systemSettings/registry/services.d.ts +2 -0
  298. package/lib/components/systemSettings/registry/types.d.ts +3 -0
  299. package/lib/components/ticketBooking/components/addServiceVariant/index.d.ts +0 -1
  300. package/lib/components/venueBooking/components/Addons/index.js +15 -8
  301. package/lib/components/venueBooking/components/Cart/index.js +8 -2
  302. package/lib/components/venueBooking/components/VenueSelection/components/TimeGrid.js +118 -18
  303. package/lib/components/venueBooking/context.js +2 -1
  304. package/lib/components/venueBooking/hooks.d.ts +16 -3
  305. package/lib/components/venueBooking/hooks.js +8 -2
  306. package/lib/components/venueBooking/types.d.ts +19 -2
  307. package/lib/hooks/usePaymentLogger.d.ts +1 -0
  308. package/lib/index.d.ts +1 -1
  309. package/lib/index.js +2 -0
  310. package/lib/plus/clientName/index.d.ts +1 -0
  311. package/lib/plus/clinetSearch/Add/BirthdayField/index.d.ts +1 -0
  312. package/lib/plus/clinetSearch/Add/GenderField/index.d.ts +1 -0
  313. package/lib/plus/pisellReservation/floorRoomCard/views/RoomCardIcons.d.ts +1 -0
  314. package/lib/plus/pisellSalesManagement/hooks/useSalesGridData.d.ts +1 -0
  315. package/lib/plus/saasCreateOrganization/components/Header.d.ts +1 -0
  316. package/lib/plus/saasRegister/components/EntryEmail.d.ts +1 -0
  317. package/lib/plus/saasRegister/components/EntryInfo.d.ts +1 -0
  318. package/lib/plus/saasRegister/components/GoLogin.d.ts +1 -0
  319. package/lib/plus/saasRegister/components/Header.d.ts +1 -0
  320. package/lib/plus/saasRegister/components/VerifyError.d.ts +1 -0
  321. package/lib/plus/saasRegister/components/VerifyingLink.d.ts +1 -0
  322. package/lib/plus/skuOptionsSelection/components/NormalCard/index.d.ts +1 -0
  323. package/lib/plus/skuOptionsSelection/components/TitleExtra/index.d.ts +1 -0
  324. package/lib/plus/skuOptionsSelection/components/VariantCard/index.d.ts +1 -0
  325. package/lib/plus/walletEditor/components/relationProduct/index.d.ts +1 -0
  326. package/lib/pro/Selector/demo.d.ts +1 -0
  327. package/lowcode/admin-auth-channel-auth/meta.ts +116 -0
  328. package/lowcode/admin-auth-online-shop-auth/meta.ts +81 -5
  329. package/package.json +1 -1
@@ -93,11 +93,12 @@ function Addons() {
93
93
  }
94
94
  };
95
95
  const removeOrderProduct = async (params) => {
96
- const { product_id, product_variant_id, sourceData } = params;
96
+ const { product_id, product_variant_id, identity_key, sourceData } = params;
97
97
  try {
98
98
  await runModuleAction("removeProductFromOrder", {
99
99
  product_id,
100
- product_variant_id
100
+ product_variant_id,
101
+ ...identity_key ? { identity_key } : {}
101
102
  });
102
103
  await refreshViewModel();
103
104
  } catch (error) {
@@ -105,16 +106,18 @@ function Addons() {
105
106
  error,
106
107
  sourceData,
107
108
  product_id,
108
- product_variant_id
109
+ product_variant_id,
110
+ identity_key
109
111
  });
110
112
  }
111
113
  };
112
114
  const updateOrderProduct = async (params) => {
113
- const { product_id, product_variant_id, updates, sourceData } = params;
115
+ const { product_id, product_variant_id, identity_key, updates, sourceData } = params;
114
116
  try {
115
117
  await runModuleAction("updateProductInOrder", {
116
118
  product_id,
117
119
  product_variant_id,
120
+ ...identity_key ? { identity_key } : {},
118
121
  updates
119
122
  });
120
123
  await refreshViewModel();
@@ -124,6 +127,7 @@ function Addons() {
124
127
  sourceData,
125
128
  product_id,
126
129
  product_variant_id,
130
+ identity_key,
127
131
  updates
128
132
  });
129
133
  }
@@ -158,18 +162,20 @@ function Addons() {
158
162
  return;
159
163
  }
160
164
  const normalizedQuantity = Number.isNaN(nextQuantity) ? 0 : Math.max(0, Math.floor(nextQuantity));
165
+ const cartItems = Array.isArray(viewModel == null ? void 0 : viewModel.cartItems) ? viewModel.cartItems : [];
166
+ const existedCartItem = cartItems.find((cartItem) => {
167
+ return String((cartItem == null ? void 0 : cartItem.product_id) ?? null) === String((orderProduct == null ? void 0 : orderProduct.product_id) ?? null) && Number((cartItem == null ? void 0 : cartItem.product_variant_id) ?? 0) === productVariantId;
168
+ });
169
+ const existedIdentityKey = typeof (existedCartItem == null ? void 0 : existedCartItem.identity_key) === "string" && existedCartItem.identity_key.length > 0 ? existedCartItem.identity_key : void 0;
161
170
  if (normalizedQuantity <= 0) {
162
171
  await removeOrderProduct({
163
172
  product_id: (orderProduct == null ? void 0 : orderProduct.product_id) ?? null,
164
173
  product_variant_id: productVariantId,
174
+ identity_key: existedIdentityKey,
165
175
  sourceData: quantityData
166
176
  });
167
177
  return;
168
178
  }
169
- const cartItems = Array.isArray(viewModel == null ? void 0 : viewModel.cartItems) ? viewModel.cartItems : [];
170
- const existedCartItem = cartItems.find((cartItem) => {
171
- return String((cartItem == null ? void 0 : cartItem.product_id) ?? null) === String((orderProduct == null ? void 0 : orderProduct.product_id) ?? null) && Number((cartItem == null ? void 0 : cartItem.product_variant_id) ?? 0) === productVariantId;
172
- });
173
179
  if (!existedCartItem) {
174
180
  await addOrderProduct({
175
181
  orderProduct: { ...orderProduct, num: normalizedQuantity },
@@ -180,6 +186,7 @@ function Addons() {
180
186
  await updateOrderProduct({
181
187
  product_id: (orderProduct == null ? void 0 : orderProduct.product_id) ?? null,
182
188
  product_variant_id: productVariantId,
189
+ identity_key: existedIdentityKey,
183
190
  updates: {
184
191
  num: normalizedQuantity,
185
192
  _origin: orderProduct == null ? void 0 : orderProduct._origin
@@ -139,7 +139,7 @@ function Cart(props) {
139
139
  const isVenueBookingCartItem = (target) => {
140
140
  if (!target || typeof target !== "object") return false;
141
141
  if ((target == null ? void 0 : target.start_date) && (target == null ? void 0 : target.end_date)) return true;
142
- const identity = String((target == null ? void 0 : target.identity_key) || (target == null ? void 0 : target.rowKey) || (target == null ? void 0 : target._id) || "");
142
+ const identity = String((target == null ? void 0 : target.identity_key) || "");
143
143
  if (identity.startsWith("venue:")) return true;
144
144
  return false;
145
145
  };
@@ -157,8 +157,14 @@ function Cart(props) {
157
157
  }
158
158
  const productId = (targetItem == null ? void 0 : targetItem.product_id) ?? (targetItem == null ? void 0 : targetItem.id) ?? null;
159
159
  const productVariantId = Number((targetItem == null ? void 0 : targetItem.product_variant_id) ?? 0);
160
- const identityKey = (targetItem == null ? void 0 : targetItem.identity_key) || (targetItem == null ? void 0 : targetItem.rowKey) || void 0;
160
+ const identityKey = targetItem == null ? void 0 : targetItem.identity_key;
161
161
  if (productId === null && Number.isNaN(productVariantId)) return;
162
+ if (typeof identityKey !== "string" || identityKey.length === 0) {
163
+ console.error("[venueBooking] removeProductFromOrder skipped: missing identity_key", {
164
+ item: targetItem
165
+ });
166
+ return;
167
+ }
162
168
  try {
163
169
  await runModuleAction("removeProductFromOrder", {
164
170
  product_id: productId,
@@ -165,13 +165,17 @@ function TimeGrid() {
165
165
  scroller.addEventListener("wheel", onWheel, { passive: false });
166
166
  return () => scroller.removeEventListener("wheel", onWheel);
167
167
  }, []);
168
- function handleSlotClick(resourceId, slot) {
168
+ const [expandedResources, setExpandedResources] = (0, import_react.useState)({});
169
+ const toggleExpanded = (0, import_react.useCallback)((resourceId) => {
170
+ setExpandedResources((prev) => ({ ...prev, [String(resourceId)]: !prev[String(resourceId)] }));
171
+ }, []);
172
+ function handleSlotClick(resourceId, productId, slot) {
169
173
  if (dragStateRef.current.moved) {
170
174
  dragStateRef.current.moved = false;
171
175
  return;
172
176
  }
173
177
  if (slot.status !== "available") return;
174
- toggleSlot(resourceId, slot);
178
+ toggleSlot(resourceId, productId, slot);
175
179
  }
176
180
  if (isGridLoading || !grid || !timeLabels.length) {
177
181
  return /* @__PURE__ */ import_react.default.createElement(TimeGridSkeleton, null);
@@ -246,34 +250,73 @@ function TimeGrid() {
246
250
  },
247
251
  /* @__PURE__ */ import_react.default.createElement("div", { className: "w-full", key: grid.date }, visibleResources.map((resource) => {
248
252
  const courtMeta = (0, import_utils2.getResourceCourtMeta)(resource);
249
- return /* @__PURE__ */ import_react.default.createElement("div", { key: `${resource.resourceId}-${grid.date}`, className: "grid border-b border-black/6", style: tableGridStyle }, /* @__PURE__ */ import_react.default.createElement("div", { className: `sticky left-0 z-10 border-r border-black/6 px-2 py-2 shadow-[10px_0_16px_-14px_rgba(0,0,0,0.2)] md:px-4 ${courtMeta.soldOut ? "bg-zinc-50" : "bg-white"}` }, /* @__PURE__ */ import_react.default.createElement("div", { className: "flex items-start justify-between gap-2" }, /* @__PURE__ */ import_react.default.createElement("div", null, /* @__PURE__ */ import_react.default.createElement("div", { className: `text-[13px] font-extrabold leading-5 md:text-[15px] ${courtMeta.soldOut ? "text-zinc-400" : "text-zinc-900"}` }, resource.resourceName)))), resource.slots.map((slot, slotIndex) => {
253
+ const isMultiProduct = !!resource.hasMultipleProducts && Array.isArray(resource.products);
254
+ const expanded = !!expandedResources[String(resource.resourceId)];
255
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, { key: `${resource.resourceId}-${grid.date}` }, /* @__PURE__ */ import_react.default.createElement("div", { className: "grid border-b border-black/6", style: tableGridStyle }, /* @__PURE__ */ import_react.default.createElement("div", { className: `sticky left-0 z-10 border-r border-black/6 px-2 py-2 shadow-[10px_0_16px_-14px_rgba(0,0,0,0.2)] md:px-4 ${courtMeta.soldOut ? "bg-zinc-50" : "bg-white"}` }, /* @__PURE__ */ import_react.default.createElement("div", { className: "flex items-start justify-between gap-2" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "flex items-center gap-1.5" }, isMultiProduct ? /* @__PURE__ */ import_react.default.createElement(
256
+ "button",
257
+ {
258
+ type: "button",
259
+ "data-cart-button": "true",
260
+ onClick: (e) => {
261
+ e.stopPropagation();
262
+ toggleExpanded(resource.resourceId);
263
+ },
264
+ className: "flex h-5 w-5 items-center justify-center rounded text-zinc-500 hover:bg-black/5",
265
+ "aria-label": expanded ? "collapse" : "expand"
266
+ },
267
+ /* @__PURE__ */ import_react.default.createElement(
268
+ import_materials.Iconfont,
269
+ {
270
+ type: expanded ? "pisell2-chevron-down" : "pisell2-chevron-right",
271
+ style: { fontSize: 12 }
272
+ }
273
+ )
274
+ ) : null, /* @__PURE__ */ import_react.default.createElement("div", { className: `text-[13px] font-extrabold leading-5 md:text-[15px] ${courtMeta.soldOut ? "text-zinc-400" : "text-zinc-900"}` }, resource.resourceName)))), resource.slots.map((slot, slotIndex) => {
250
275
  const isAvailable = slot.status === "available";
251
276
  const isUnavailable = slot.status === "occupied" || slot.status === "past" || slot.status === "unavailable";
252
- const selected = isAvailable && (0, import_hooks.isSlotSelected)(
253
- venueBookingModule,
254
- resource.resourceId,
255
- slot.startTime
256
- );
277
+ const timeLabel = timeLabels[slotIndex] || "";
257
278
  const priceInfo = (0, import_utils2.buildSlotPriceInfo)(slot);
258
279
  const priceClass = (0, import_utils2.getPriceColor)({ ...priceInfo, courtType: resource.productTitle });
259
- const timeLabel = timeLabels[slotIndex] || "";
260
280
  const tag = (0, import_utils2.getSlotTag)(priceInfo);
261
281
  const tagText = (tag == null ? void 0 : tag.text) === "pisell2.venue.label.promo" ? import_utils.locales.getText("pisell2.venue.label.promo") || "促销" : (tag == null ? void 0 : tag.text) === "pisell2.venue.label.off.peak" ? import_utils.locales.getText("pisell2.venue.label.off.peak") || "非高峰" : null;
282
+ const productIdForSingle = resource.productId;
283
+ const disabledBySelection = !isMultiProduct && !isUnavailable ? (0, import_hooks.isSlotDisabledBySelection)(venueBookingModule, {
284
+ resourceId: resource.resourceId,
285
+ productId: productIdForSingle,
286
+ startTime: slot.startTime
287
+ }) : false;
288
+ const isBlocked = isUnavailable || disabledBySelection;
289
+ const selected = !isMultiProduct && isAvailable && (0, import_hooks.isSlotSelected)(
290
+ venueBookingModule,
291
+ resource.resourceId,
292
+ slot.startTime,
293
+ productIdForSingle
294
+ );
295
+ const interactive = !isMultiProduct && !isBlocked;
296
+ const showPlusLabel = isMultiProduct && !isBlocked;
262
297
  return /* @__PURE__ */ import_react.default.createElement(
263
298
  "button",
264
299
  {
265
300
  "data-slot-button": "true",
266
- key: `${resource.resourceId}-${slot.startTime}`,
267
- onClick: () => handleSlotClick(resource.resourceId, slot),
268
- disabled: isUnavailable,
269
- className: `px-1 py-2 text-center transition md:px-2 ${isUnavailable ? "cursor-not-allowed bg-zinc-100 text-zinc-400" : selected ? "text-white" : "bg-white hover:bg-[#fff6f6]"}`,
301
+ key: `${resource.resourceId}-outer-${slot.startTime}`,
302
+ onClick: () => {
303
+ if (isMultiProduct) {
304
+ if (isBlocked) return;
305
+ toggleExpanded(resource.resourceId);
306
+ return;
307
+ }
308
+ if (isBlocked) return;
309
+ handleSlotClick(resource.resourceId, productIdForSingle, slot);
310
+ },
311
+ disabled: isBlocked,
312
+ className: `px-1 py-2 text-center transition md:px-2 ${isBlocked ? "cursor-not-allowed bg-zinc-100 text-zinc-400" : selected ? "text-white" : "bg-white hover:bg-[#fff6f6]"}`,
270
313
  style: {
271
314
  borderLeft: (0, import_utils2.isHourBoundary)(timeLabel) ? "1px solid rgba(0,0,0,0.08)" : "1px solid rgba(0,0,0,0.03)",
272
315
  borderBottom: "1px solid rgba(0,0,0,0.04)",
273
- ...selected && !isUnavailable ? { backgroundColor: "var(--vb-primary)" } : null
316
+ ...selected && interactive ? { backgroundColor: "var(--vb-primary)" } : null
274
317
  }
275
318
  },
276
- isUnavailable ? /* @__PURE__ */ import_react.default.createElement("div", { className: "flex flex-col items-center justify-center gap-1 text-zinc-400" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "text-lg font-bold leading-none" }, "×")) : selected ? /* @__PURE__ */ import_react.default.createElement("div", { className: "space-y-0.5" }, /* @__PURE__ */ import_react.default.createElement(
319
+ isBlocked ? /* @__PURE__ */ import_react.default.createElement("div", { className: "flex flex-col items-center justify-center gap-1 text-zinc-400" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "text-lg font-bold leading-none" }, "×")) : selected ? /* @__PURE__ */ import_react.default.createElement("div", { className: "space-y-0.5" }, /* @__PURE__ */ import_react.default.createElement(
277
320
  import_materials.PisellText.Amount,
278
321
  {
279
322
  value: Number(slot.price || 0),
@@ -282,7 +325,7 @@ function TimeGrid() {
282
325
  showCurrencySymbol: true,
283
326
  className: "text-[13px] font-extrabold leading-4 text-white md:text-sm"
284
327
  }
285
- )) : /* @__PURE__ */ import_react.default.createElement("div", { className: "space-y-0.5" }, /* @__PURE__ */ import_react.default.createElement(
328
+ )) : /* @__PURE__ */ import_react.default.createElement("div", { className: "space-y-0.5" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "flex items-baseline justify-center gap-0.5" }, /* @__PURE__ */ import_react.default.createElement(
286
329
  import_materials.PisellText.Amount,
287
330
  {
288
331
  value: Number(slot.price || 0),
@@ -292,9 +335,66 @@ function TimeGrid() {
292
335
  hideDecimalForWholeNumbers: true,
293
336
  className: `text-[13px] font-normal leading-4 ${priceClass} md:text-sm`
294
337
  }
295
- ), tag ? /* @__PURE__ */ import_react.default.createElement("div", { className: `inline-flex rounded-full px-1.5 py-0 text-[8px] font-semibold leading-4 ring-1 md:text-[9px] ${tag.className}` }, tagText) : null)
338
+ ), showPlusLabel ? /* @__PURE__ */ import_react.default.createElement("span", { className: `text-[13px] font-semibold leading-4 ${priceClass} md:text-sm` }, "+") : null), tag ? /* @__PURE__ */ import_react.default.createElement("div", { className: `inline-flex rounded-full px-1.5 py-0 text-[8px] font-semibold leading-4 ring-1 md:text-[9px] ${tag.className}` }, tagText) : null)
296
339
  );
297
- }));
340
+ })), isMultiProduct && expanded && resource.products.map((subRow) => /* @__PURE__ */ import_react.default.createElement(
341
+ "div",
342
+ {
343
+ key: `${resource.resourceId}-sub-${subRow.productId}`,
344
+ className: "grid border-b border-black/6 bg-zinc-50/60",
345
+ style: tableGridStyle
346
+ },
347
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "sticky left-0 z-10 border-r border-black/6 bg-zinc-50/60 px-2 py-2 pl-8 shadow-[10px_0_16px_-14px_rgba(0,0,0,0.2)] md:px-4 md:pl-10" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "text-[12px] font-semibold leading-5 text-zinc-700 md:text-[13px]" }, subRow.productTitle)),
348
+ subRow.slots.map((slot, slotIndex) => {
349
+ const isAvailable = slot.status === "available";
350
+ const isUnavailable = slot.status === "occupied" || slot.status === "past" || slot.status === "unavailable";
351
+ const timeLabel = timeLabels[slotIndex] || "";
352
+ const disabledBySelection = !isUnavailable && (0, import_hooks.isSlotDisabledBySelection)(venueBookingModule, {
353
+ resourceId: resource.resourceId,
354
+ productId: subRow.productId,
355
+ startTime: slot.startTime
356
+ });
357
+ const isBlocked = isUnavailable || disabledBySelection;
358
+ const selected = isAvailable && (0, import_hooks.isSlotSelected)(
359
+ venueBookingModule,
360
+ resource.resourceId,
361
+ slot.startTime,
362
+ subRow.productId
363
+ );
364
+ const interactive = !isBlocked;
365
+ const priceInfo = (0, import_utils2.buildSlotPriceInfo)(slot);
366
+ const priceClass = (0, import_utils2.getPriceColor)({ ...priceInfo, courtType: subRow.productTitle });
367
+ return /* @__PURE__ */ import_react.default.createElement(
368
+ "button",
369
+ {
370
+ "data-slot-button": "true",
371
+ key: `${resource.resourceId}-${subRow.productId}-${slot.startTime}`,
372
+ onClick: () => {
373
+ if (!interactive) return;
374
+ handleSlotClick(resource.resourceId, subRow.productId, slot);
375
+ },
376
+ disabled: !interactive,
377
+ className: `px-1 py-2 text-center transition md:px-2 ${isBlocked ? "cursor-not-allowed bg-zinc-100 text-zinc-400" : selected ? "text-white" : "bg-white hover:bg-[#fff6f6]"}`,
378
+ style: {
379
+ borderLeft: (0, import_utils2.isHourBoundary)(timeLabel) ? "1px solid rgba(0,0,0,0.08)" : "1px solid rgba(0,0,0,0.03)",
380
+ borderBottom: "1px solid rgba(0,0,0,0.04)",
381
+ ...selected && interactive ? { backgroundColor: "var(--vb-primary)" } : null
382
+ }
383
+ },
384
+ isBlocked ? /* @__PURE__ */ import_react.default.createElement("div", { className: "flex flex-col items-center justify-center gap-1 text-zinc-400" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "text-lg font-bold leading-none" }, "×")) : /* @__PURE__ */ import_react.default.createElement("div", { className: "space-y-0.5" }, /* @__PURE__ */ import_react.default.createElement(
385
+ import_materials.PisellText.Amount,
386
+ {
387
+ value: Number(slot.price || 0),
388
+ symbol,
389
+ precision: 2,
390
+ showCurrencySymbol: true,
391
+ hideDecimalForWholeNumbers: true,
392
+ className: `text-[13px] leading-4 ${selected ? "font-extrabold text-white" : `font-normal ${priceClass}`} md:text-sm`
393
+ }
394
+ ))
395
+ );
396
+ })
397
+ )));
298
398
  }))
299
399
  ));
300
400
  }
@@ -239,11 +239,12 @@ function VenueBookingProvider({ entryContext, children }) {
239
239
  setIsWeekLoading(false);
240
240
  }
241
241
  }, [venueBookingModule]);
242
- const toggleSlot = (0, import_react.useCallback)(async (resourceId, slot) => {
242
+ const toggleSlot = (0, import_react.useCallback)(async (resourceId, productId, slot) => {
243
243
  if (!venueBookingModule || !slot.price) return;
244
244
  try {
245
245
  await (0, import_hooks.toggleSlotAction)(venueBookingModule, {
246
246
  resourceId,
247
+ productId,
247
248
  startTime: slot.startTime,
248
249
  endTime: slot.endTime,
249
250
  price: slot.price
@@ -27,15 +27,28 @@ export declare function fetchResourceAvailability(module: any, startDate: string
27
27
  export declare function getDateRangeSummary(module: any, startDate: string, endDate: string): VenueDateSummaryItem[];
28
28
  /** 获取某天的时段网格(纯计算不发请求,切换日期时调用) */
29
29
  export declare function getTimeSlotGrid(module: any, date: string): VenueTimeSlotGrid | null;
30
- /** 切换选中/取消一个时段 */
30
+ /** 切换选中/取消一个时段(同一资源下多商品场景必须携带 productId) */
31
31
  export declare function toggleSlotAction(module: any, params: {
32
32
  resourceId: number;
33
+ productId: number;
33
34
  startTime: string;
34
35
  endTime: string;
35
36
  price: string;
36
37
  }): Promise<any>;
37
- /** 查询某个时段是否已被选中 */
38
- export declare function isSlotSelected(module: any, resourceId: number, startTime: string): boolean;
38
+ /**
39
+ * 查询某个时段是否已被选中
40
+ * 不传 productId 时:该资源下任一商品选中即 true;传了则精确匹配
41
+ */
42
+ export declare function isSlotSelected(module: any, resourceId: number, startTime: string, productId?: number): boolean;
43
+ /**
44
+ * 询问 OS:该 (resourceId, productId, startTime) 格子是否因其它已选项而应禁用
45
+ * 覆盖:同场地多商品互斥、组合资源 ↔ 子资源联动
46
+ */
47
+ export declare function isSlotDisabledBySelection(module: any, params: {
48
+ resourceId: number;
49
+ productId: number;
50
+ startTime: string;
51
+ }): boolean;
39
52
  /** 获取全部已选时段(按资源分组) */
40
53
  export declare function getAllSelectedSlots(module: any): any[];
41
54
  /** 查询 otherParams */
@@ -39,6 +39,7 @@ __export(hooks_exports, {
39
39
  getOtherParams: () => getOtherParams,
40
40
  getSelectedDateKeySet: () => getSelectedDateKeySet,
41
41
  getTimeSlotGrid: () => getTimeSlotGrid,
42
+ isSlotDisabledBySelection: () => isSlotDisabledBySelection,
42
43
  isSlotSelected: () => isSlotSelected,
43
44
  loadVenueProducts: () => loadVenueProducts,
44
45
  normalizeEntryContext: () => normalizeEntryContext,
@@ -110,9 +111,13 @@ function getTimeSlotGrid(module2, date) {
110
111
  async function toggleSlotAction(module2, params) {
111
112
  return safeRunModuleAction(module2, "toggleSlot", params);
112
113
  }
113
- function isSlotSelected(module2, resourceId, startTime) {
114
+ function isSlotSelected(module2, resourceId, startTime, productId) {
114
115
  if (!module2 || typeof module2.isSlotSelected !== "function") return false;
115
- return !!module2.isSlotSelected(resourceId, startTime);
116
+ return !!module2.isSlotSelected(resourceId, startTime, productId);
117
+ }
118
+ function isSlotDisabledBySelection(module2, params) {
119
+ if (!module2 || typeof module2.isSlotDisabledBySelection !== "function") return false;
120
+ return !!module2.isSlotDisabledBySelection(params);
116
121
  }
117
122
  function getAllSelectedSlots(module2) {
118
123
  if (!module2 || typeof module2.getAllSelectedSlots !== "function") return [];
@@ -212,6 +217,7 @@ function useVenueBookingLogin() {
212
217
  getOtherParams,
213
218
  getSelectedDateKeySet,
214
219
  getTimeSlotGrid,
220
+ isSlotDisabledBySelection,
215
221
  isSlotSelected,
216
222
  loadVenueProducts,
217
223
  normalizeEntryContext,
@@ -16,16 +16,33 @@ export interface VenueBookingEntryContext {
16
16
  export interface VenueResourceSlot {
17
17
  startTime: string;
18
18
  endTime: string;
19
- status: 'past' | 'occupied' | 'available';
19
+ status: 'past' | 'occupied' | 'available' | 'partially_occupied' | 'unavailable';
20
20
  price: string | null;
21
+ /** per-product 子行的 slot 带 productId;外层合并 slot 不带 */
22
+ productId?: number;
23
+ }
24
+ /** 多商品共享一个 resource 时的子行 */
25
+ export interface VenueResourceSubRow {
26
+ productId: number;
27
+ productTitle: string;
28
+ price: string;
29
+ slots: VenueResourceSlot[];
21
30
  }
22
31
  /** 单个资源/场地(来自 getTimeSlotGrid) */
23
32
  export interface VenueResource {
24
33
  resourceId: number;
25
34
  resourceName: string;
35
+ /** 单商品时唯一;多商品时取第一个(兼容字段,请优先使用 products) */
26
36
  productId: number;
27
37
  productTitle: string;
28
38
  slots: VenueResourceSlot[];
39
+ /** 多商品子行;仅当 hasMultipleProducts 时存在 */
40
+ products?: VenueResourceSubRow[];
41
+ hasMultipleProducts?: boolean;
42
+ /** 组合资源元信息(combined_resource.status === 1) */
43
+ combinedResource?: {
44
+ resourceIds: Array<number | string>;
45
+ };
29
46
  }
30
47
  /** 日期时段网格(来自 getTimeSlotGrid) */
31
48
  export interface VenueTimeSlotGrid {
@@ -162,7 +179,7 @@ export interface VenueBookingContextValue {
162
179
  setMonthCursor: (cursor: Dayjs) => void;
163
180
  setFooterActionText: (text: string) => void;
164
181
  /** 切换选中/取消某个时段(调用 OS venueBooking.toggleSlot) */
165
- toggleSlot: (resourceId: number, slot: VenueResourceSlot) => Promise<void>;
182
+ toggleSlot: (resourceId: number, productId: number, slot: VenueResourceSlot) => Promise<void>;
166
183
  /** 刷新 OS 模块视图模型(调用 getSummary + 重建 viewModel),可选传入额外字段合并 */
167
184
  refreshViewModel: (extraFields?: Partial<VenueBookingViewModel>) => Promise<void>;
168
185
  /** 拉取指定周的资源数据并刷新 dateSummary + timeSlotGrid */
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  interface LogData {
2
3
  key: string;
3
4
  value: any;
package/lib/index.d.ts CHANGED
@@ -55,7 +55,7 @@ export { default as SaasRegister } from './plus/saasRegister';
55
55
  export { default as SaasCreateOrganization } from './plus/saasCreateOrganization';
56
56
  export { default as PinModal } from './components/pinModal';
57
57
  export { default as PinVerifyModal } from './components/pinVerifyModal';
58
- export { OAuthConfig, SaaSAdminAuth, OrgAdminAuth, CustomerAuth, CustomerOAuthConfig, DeviceAuth, POSOperatorAuth, OnlineShopAuth, SaaSManagermentAuth, } from './components/authentication/admin';
58
+ export { ChannelAuthSetting, OAuthConfig, SaaSAdminAuth, OrgAdminAuth, CustomerAuth, CustomerOAuthConfig, DeviceAuth, POSOperatorAuth, OnlineShopAuth, SaaSManagermentAuth, } from './components/authentication/admin';
59
59
  export type { SaaSAdminAuthProps, OrgAdminAuthProps, DeviceAuthProps, POSOperatorAuthProps, CustomerOAuthConfigProps, } from './components/authentication/admin';
60
60
  export { default as ContactInfo } from './plus/contactInfo';
61
61
  export { default as ContactInfoModal } from './plus/contactInfoModal';
package/lib/index.js CHANGED
@@ -44,6 +44,7 @@ __export(src_exports, {
44
44
  BookingPayment: () => import_payments.default,
45
45
  BookingResources: () => import_resources.default,
46
46
  BookingStartTime: () => import_startTime.default,
47
+ ChannelAuthSetting: () => import_admin.ChannelAuthSetting,
47
48
  ClientCard: () => import_clientCard.default,
48
49
  ClientSearch: () => import_clinetSearch.default,
49
50
  ComprehensiveSearch: () => import_comprehensiveSearch.default,
@@ -231,6 +232,7 @@ import_dayjs.default.extend(import_localeData.default);
231
232
  BookingPayment,
232
233
  BookingResources,
233
234
  BookingStartTime,
235
+ ChannelAuthSetting,
234
236
  ClientCard,
235
237
  ClientSearch,
236
238
  ComprehensiveSearch,
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import './index.less';
2
3
  import { IClientNameProps } from './type';
3
4
  declare const ClientName: ({ className, dataSource, style }: IClientNameProps) => JSX.Element | null;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  declare const DateSectionCom: ({ value, onChange, showTime, className, style, useSpace, format, itemStyle, }: any) => JSX.Element;
2
3
  export default DateSectionCom;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  declare const GenderField: (props: any) => JSX.Element;
2
3
  export default GenderField;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  export declare const IconClock: () => JSX.Element;
2
3
  export declare const IconUsers: () => JSX.Element;
3
4
  export declare const IconWarn: () => JSX.Element;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  export interface UseSalesGridDataParams {
2
3
  perspective: 'monitor' | 'handle';
3
4
  extParams?: {
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { SCOProps } from '../types';
2
3
  import '../index.less';
3
4
  export declare const Header: (props: SCOProps) => JSX.Element;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { FormInstance } from 'antd';
2
3
  import { SRProps } from '../types';
3
4
  import '../index.less';
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { FormInstance } from 'antd';
2
3
  import { SRProps } from '../types';
3
4
  import '../index.less';
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { SRProps } from '../types';
2
3
  import '../index.less';
3
4
  declare const GoLogin: (props: SRProps) => JSX.Element;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { SRProps } from '../types';
2
3
  import '../index.less';
3
4
  export declare const Header: (props: SRProps) => JSX.Element;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { SRStepStatus } from '../types';
2
3
  import '../index.less';
3
4
  declare const VerifyError: (props: {
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import '../index.less';
2
3
  declare const VerifyingEmailLink: (props: {
3
4
  onVerifyLink: () => Promise<void>;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { RenderItemProps } from '../../../../pro/Selector/types';
2
3
  declare const NormalCard: (props: RenderItemProps & {
3
4
  parentDataSource: any;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import './index.less';
2
3
  declare const TitleExtra: (props: any) => JSX.Element;
3
4
  export default TitleExtra;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import './index.less';
2
3
  declare const VariantCard: (props: any) => JSX.Element;
3
4
  export default VariantCard;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import './index.less';
2
3
  declare const RelationProduct: ({ value, onChange, }: {
3
4
  value?: string[] | undefined;
@@ -1,2 +1,3 @@
1
+ /// <reference types="react" />
1
2
  declare const SelectorDemo: () => JSX.Element;
2
3
  export default SelectorDemo;