@pisell/private-materials 6.12.167 → 6.12.169

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 (231) 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/meta.js +1 -1
  5. package/build/lowcode/render/default/view.css +1 -1
  6. package/build/lowcode/render/default/view.js +10 -10
  7. package/build/lowcode/view.css +1 -1
  8. package/build/lowcode/view.js +10 -10
  9. package/es/components/HDLKiosk/{contracts → app/contracts}/config.js +1 -1
  10. package/es/components/HDLKiosk/app/manifest.js +11 -11
  11. package/es/components/HDLKiosk/app/operations.js +92 -0
  12. package/es/components/HDLKiosk/app/workflow/barcode.js +11 -13
  13. package/es/components/HDLKiosk/app/workflow/index.js +16 -0
  14. package/es/components/HDLKiosk/app/workflow/predicates.js +1 -1
  15. package/es/components/HDLKiosk/app/workflow/quick.js +1 -1
  16. package/es/components/HDLKiosk/app/workflow/registry.js +4 -4
  17. package/es/components/HDLKiosk/app/workflow/scale.js +5 -1
  18. package/es/components/HDLKiosk/docs/00-/346/226/207/344/273/266/345/257/274/350/210/252.md +104 -167
  19. package/es/components/HDLKiosk/docs/01-/346/240/270/345/277/203/350/277/220/350/241/214/346/234/272/345/210/266.md +105 -101
  20. package/es/components/HDLKiosk/docs/03-/344/270/232/345/212/241/346/265/201/347/250/213/344/270/216/344/272/244/344/272/222/350/247/204/345/210/231.md +2 -2
  21. package/es/components/HDLKiosk/docs/04-/350/256/276/345/244/207/344/270/216/347/247/260/351/207/215.md +43 -26
  22. package/es/components/HDLKiosk/docs/05-/344/272/244/346/230/223/345/256/211/345/205/250.md +2 -0
  23. package/es/components/HDLKiosk/docs/07-/345/220/216/347/273/255/345/267/245/344/275/234.md +1 -1
  24. package/es/components/HDLKiosk/docs/08-/346/227/240/345/244/264Application/350/277/220/350/241/214/346/227/266/351/207/215/346/236/204/350/256/276/350/256/241.md +719 -0
  25. package/es/components/HDLKiosk/docs/09-Entry/350/256/276/345/244/207/344/272/213/344/273/266/351/207/215/346/236/204/344/277/256/345/244/215/346/212/245/345/221/212.md +187 -0
  26. package/es/components/HDLKiosk/docs/README.md +6 -2
  27. package/es/components/HDLKiosk/docs//345/256/236/346/226/275/350/277/233/345/272/246.md +8 -7
  28. package/es/components/HDLKiosk/docs//346/236/266/346/236/204/350/256/276/350/256/241.md +16 -18
  29. package/es/components/HDLKiosk/index.js +22 -28
  30. package/es/components/HDLKiosk/index.less +1 -1
  31. package/es/components/HDLKiosk/kernel/README.md +14 -13
  32. package/es/components/HDLKiosk/kernel/application/defineApplication.js +63 -24
  33. package/es/components/HDLKiosk/kernel/application/defineSlice.js +6 -6
  34. package/es/components/HDLKiosk/kernel/application/runtime.js +237 -0
  35. package/es/components/HDLKiosk/kernel/operations/coordinator.js +1 -1
  36. package/es/components/HDLKiosk/kernel/operations/registry.js +3 -3
  37. package/es/components/HDLKiosk/kernel/operations/sessionEpoch.js +1 -1
  38. package/es/components/HDLKiosk/kernel/operations/types.js +7 -3
  39. package/es/components/HDLKiosk/kernel/workflow/actor.js +51 -22
  40. package/es/components/HDLKiosk/kernel/workflow/compiler.js +23 -30
  41. package/es/components/HDLKiosk/runtime/createRuntime.js +238 -0
  42. package/es/components/HDLKiosk/{devices → runtime/devices}/dedupeStore.js +1 -1
  43. package/es/components/HDLKiosk/{devices → runtime/devices}/scaleIngress.js +1 -1
  44. package/es/components/HDLKiosk/{devices/scale/runtime.js → runtime/devices/scaleStore.js} +18 -24
  45. package/es/components/HDLKiosk/{devices → runtime/devices}/scannerIngress.js +1 -1
  46. package/es/components/HDLKiosk/runtime/devices/scannerSessionPort.js +60 -0
  47. package/es/components/HDLKiosk/runtime/devices/scannerSessionRouter.js +212 -0
  48. package/es/components/HDLKiosk/runtime/operations/barcode.js +18 -0
  49. package/es/components/HDLKiosk/runtime/operations/cart.js +44 -0
  50. package/es/components/HDLKiosk/{app → runtime}/operations/cartConsistency.js +1 -1
  51. package/es/components/HDLKiosk/{app → runtime}/operations/checkout.js +95 -110
  52. package/es/components/HDLKiosk/{app → runtime}/operations/checkoutRequirements.js +1 -1
  53. package/es/components/HDLKiosk/{app → runtime}/operations/checkoutSafety.js +1 -1
  54. package/es/components/HDLKiosk/{app → runtime}/operations/coordinator.js +2 -2
  55. package/es/components/HDLKiosk/runtime/operations/customization.js +70 -0
  56. package/es/components/HDLKiosk/{app → runtime}/operations/errors.js +1 -1
  57. package/es/components/HDLKiosk/runtime/operations/fulfillment.js +6 -0
  58. package/es/components/HDLKiosk/runtime/operations/identity.js +55 -0
  59. package/es/components/HDLKiosk/runtime/operations/registry.js +34 -0
  60. package/es/components/HDLKiosk/runtime/operations/session.js +29 -0
  61. package/es/components/HDLKiosk/runtime/operations/types.js +13 -0
  62. package/es/components/HDLKiosk/runtime/session/blockPolicy.js +14 -0
  63. package/es/components/HDLKiosk/runtime/{createWorkflowSession.js → session/createSession.js} +67 -17
  64. package/es/components/HDLKiosk/runtime/{domainTransitionRunner.js → session/transitionRunner.js} +10 -5
  65. package/es/components/HDLKiosk/runtime/{workflowContext.js → session/workflowContext.js} +2 -2
  66. package/es/components/HDLKiosk/runtime/{workflowLifecycle.js → session/workflowLifecycle.js} +2 -2
  67. package/es/components/HDLKiosk/runtime/triggers.js +28 -0
  68. package/es/components/HDLKiosk/slices/catalog/Screen/index.js +15 -8
  69. package/es/components/HDLKiosk/slices/catalog/Screen/index.less +74 -13
  70. package/es/components/HDLKiosk/slices/catalog/slice.js +2 -2
  71. package/es/components/HDLKiosk/slices/customization/Screen/index.js +37 -38
  72. package/es/components/HDLKiosk/slices/customization/Screen/index.less +5 -0
  73. package/es/components/HDLKiosk/slices/customization/slice.js +3 -4
  74. package/es/components/HDLKiosk/slices/fulfillment/slice.js +2 -2
  75. package/es/components/HDLKiosk/slices/fulfillment/view.js +1 -1
  76. package/es/components/HDLKiosk/slices/identity/Screen/index.js +2 -2
  77. package/es/components/HDLKiosk/slices/identity/slice.js +3 -3
  78. package/es/components/HDLKiosk/slices/identity/view.js +1 -1
  79. package/es/components/HDLKiosk/slices/payment/slice.js +3 -3
  80. package/es/components/HDLKiosk/slices/primaryProductPrompt/slice.js +2 -2
  81. package/es/components/HDLKiosk/slices/primaryProductPrompt/view.js +2 -2
  82. package/es/components/HDLKiosk/{runtime → ui}/HDLKioskWorkflowView.js +45 -131
  83. package/es/components/HDLKiosk/ui/ScaleSimulatorConsole/index.js +387 -0
  84. package/es/components/HDLKiosk/ui/ScaleSimulatorConsole/index.less +621 -0
  85. package/es/components/HDLKiosk/{app → ui}/ScreenRenderer.js +7 -7
  86. package/es/components/HDLKiosk/ui/controllers/useHDLKioskActionDispatcher.js +66 -0
  87. package/es/components/HDLKiosk/{runtime → ui}/controllers/useHDLKioskCustomerController.js +1 -1
  88. package/es/components/HDLKiosk/ui/controllers/useHDLKioskDeviceController.js +25 -0
  89. package/es/components/HDLKiosk/ui/controllers/useHDLKioskExitController.js +53 -0
  90. package/es/components/HDLKiosk/{runtime → ui}/controllers/useHDLKioskScreenData.js +1 -1
  91. package/es/components/HDLKiosk/ui/controllers/useHDLKioskSessionController.js +39 -0
  92. package/es/components/HDLKiosk/{app → ui}/entry/Screen/index.js +8 -6
  93. package/es/components/HDLKiosk/{app → ui}/entry/model.js +2 -2
  94. package/es/components/HDLKiosk/ui/scale.js +20 -0
  95. package/es/components/HDLKiosk/{runtime/useHostSnapshot.js → ui/snapshots.js} +6 -8
  96. package/es/components/HDLKiosk/{app → ui}/views.js +1 -1
  97. package/es/components/HDLKiosk/{runtime → ui}/workflowEvent.js +1 -1
  98. package/es/components/HDLKiosk/utils.js +4 -4
  99. package/es/components/bigSale/templates/HDLKiosk/adapter/HDLKioskPaymentRuntime.js +2 -1
  100. package/es/components/bigSale/templates/HDLKiosk/adapter/capabilities.js +1 -1
  101. package/es/components/bigSale/templates/HDLKiosk/adapter/projection.js +21 -11
  102. package/es/components/bigSale/templates/HDLKiosk/adapter/sales.js +21 -3
  103. package/es/components/bigSale/templates/HDLKiosk/adapter/scaleTrigger.js +20 -5
  104. package/es/components/bigSale/templates/HDLKiosk/adapter/useBigSaleHDLKioskHost.js +3 -0
  105. package/es/components/bigSale/templates/HDLKiosk/index.js +3 -3
  106. package/lib/components/HDLKiosk/{contracts → app/contracts}/config.js +1 -1
  107. package/lib/components/HDLKiosk/app/manifest.js +18 -19
  108. package/lib/components/HDLKiosk/app/operations.js +105 -0
  109. package/lib/components/HDLKiosk/app/workflow/barcode.js +11 -13
  110. package/lib/components/HDLKiosk/app/workflow/index.js +16 -0
  111. package/lib/components/HDLKiosk/app/workflow/predicates.js +1 -0
  112. package/lib/components/HDLKiosk/app/workflow/quick.js +1 -1
  113. package/lib/components/HDLKiosk/app/workflow/registry.js +3 -3
  114. package/lib/components/HDLKiosk/app/workflow/scale.js +5 -1
  115. package/lib/components/HDLKiosk/docs/00-/346/226/207/344/273/266/345/257/274/350/210/252.md +104 -167
  116. package/lib/components/HDLKiosk/docs/01-/346/240/270/345/277/203/350/277/220/350/241/214/346/234/272/345/210/266.md +105 -101
  117. package/lib/components/HDLKiosk/docs/03-/344/270/232/345/212/241/346/265/201/347/250/213/344/270/216/344/272/244/344/272/222/350/247/204/345/210/231.md +2 -2
  118. package/lib/components/HDLKiosk/docs/04-/350/256/276/345/244/207/344/270/216/347/247/260/351/207/215.md +43 -26
  119. package/lib/components/HDLKiosk/docs/05-/344/272/244/346/230/223/345/256/211/345/205/250.md +2 -0
  120. package/lib/components/HDLKiosk/docs/07-/345/220/216/347/273/255/345/267/245/344/275/234.md +1 -1
  121. package/lib/components/HDLKiosk/docs/08-/346/227/240/345/244/264Application/350/277/220/350/241/214/346/227/266/351/207/215/346/236/204/350/256/276/350/256/241.md +719 -0
  122. package/lib/components/HDLKiosk/docs/09-Entry/350/256/276/345/244/207/344/272/213/344/273/266/351/207/215/346/236/204/344/277/256/345/244/215/346/212/245/345/221/212.md +187 -0
  123. package/lib/components/HDLKiosk/docs/README.md +6 -2
  124. package/lib/components/HDLKiosk/docs//345/256/236/346/226/275/350/277/233/345/272/246.md +8 -7
  125. package/lib/components/HDLKiosk/docs//346/236/266/346/236/204/350/256/276/350/256/241.md +16 -18
  126. package/lib/components/HDLKiosk/index.js +25 -31
  127. package/lib/components/HDLKiosk/index.less +1 -1
  128. package/lib/components/HDLKiosk/kernel/README.md +14 -13
  129. package/lib/components/HDLKiosk/kernel/application/defineApplication.js +65 -25
  130. package/lib/components/HDLKiosk/kernel/application/defineSlice.js +6 -6
  131. package/lib/components/HDLKiosk/kernel/application/runtime.js +237 -0
  132. package/lib/components/HDLKiosk/kernel/operations/coordinator.js +1 -1
  133. package/lib/components/HDLKiosk/kernel/operations/registry.js +3 -3
  134. package/lib/components/HDLKiosk/kernel/operations/sessionEpoch.js +1 -1
  135. package/lib/components/HDLKiosk/kernel/operations/types.js +8 -3
  136. package/lib/components/HDLKiosk/kernel/workflow/actor.js +51 -22
  137. package/lib/components/HDLKiosk/kernel/workflow/compiler.js +23 -30
  138. package/lib/components/HDLKiosk/runtime/createRuntime.js +239 -0
  139. package/lib/components/HDLKiosk/{devices → runtime/devices}/dedupeStore.js +1 -1
  140. package/lib/components/HDLKiosk/{devices → runtime/devices}/scaleIngress.js +1 -1
  141. package/lib/components/HDLKiosk/{devices/scale/runtime.js → runtime/devices/scaleStore.js} +17 -27
  142. package/lib/components/HDLKiosk/{devices → runtime/devices}/scannerIngress.js +1 -1
  143. package/lib/components/HDLKiosk/runtime/devices/scannerSessionPort.js +60 -0
  144. package/lib/components/HDLKiosk/runtime/devices/scannerSessionRouter.js +212 -0
  145. package/lib/components/HDLKiosk/runtime/operations/barcode.js +17 -0
  146. package/lib/components/HDLKiosk/runtime/operations/cart.js +46 -0
  147. package/lib/components/HDLKiosk/{app → runtime}/operations/cartConsistency.js +1 -1
  148. package/lib/components/HDLKiosk/{app → runtime}/operations/checkout.js +97 -112
  149. package/lib/components/HDLKiosk/{app → runtime}/operations/checkoutRequirements.js +1 -1
  150. package/lib/components/HDLKiosk/{app → runtime}/operations/checkoutSafety.js +1 -1
  151. package/lib/components/HDLKiosk/{app → runtime}/operations/coordinator.js +2 -2
  152. package/lib/components/HDLKiosk/runtime/operations/customization.js +73 -0
  153. package/lib/components/HDLKiosk/{app → runtime}/operations/errors.js +1 -1
  154. package/lib/components/HDLKiosk/runtime/operations/fulfillment.js +5 -0
  155. package/lib/components/HDLKiosk/runtime/operations/identity.js +55 -0
  156. package/lib/components/HDLKiosk/runtime/operations/registry.js +34 -0
  157. package/lib/components/HDLKiosk/runtime/operations/session.js +30 -0
  158. package/lib/components/HDLKiosk/runtime/operations/types.js +14 -0
  159. package/lib/components/HDLKiosk/runtime/session/blockPolicy.js +14 -0
  160. package/lib/components/HDLKiosk/runtime/{createWorkflowSession.js → session/createSession.js} +71 -21
  161. package/lib/components/HDLKiosk/runtime/{domainTransitionRunner.js → session/transitionRunner.js} +10 -5
  162. package/lib/components/HDLKiosk/runtime/{workflowContext.js → session/workflowContext.js} +2 -2
  163. package/lib/components/HDLKiosk/runtime/{workflowLifecycle.js → session/workflowLifecycle.js} +2 -2
  164. package/lib/components/HDLKiosk/runtime/triggers.js +28 -0
  165. package/lib/components/HDLKiosk/slices/catalog/Screen/index.js +15 -8
  166. package/lib/components/HDLKiosk/slices/catalog/Screen/index.less +74 -13
  167. package/lib/components/HDLKiosk/slices/catalog/slice.js +3 -3
  168. package/lib/components/HDLKiosk/slices/customization/Screen/index.js +38 -39
  169. package/lib/components/HDLKiosk/slices/customization/Screen/index.less +5 -0
  170. package/lib/components/HDLKiosk/slices/customization/slice.js +5 -6
  171. package/lib/components/HDLKiosk/slices/fulfillment/slice.js +3 -3
  172. package/lib/components/HDLKiosk/slices/fulfillment/view.js +1 -1
  173. package/lib/components/HDLKiosk/slices/identity/Screen/index.js +2 -2
  174. package/lib/components/HDLKiosk/slices/identity/slice.js +4 -4
  175. package/lib/components/HDLKiosk/slices/identity/view.js +1 -1
  176. package/lib/components/HDLKiosk/slices/payment/slice.js +5 -5
  177. package/lib/components/HDLKiosk/slices/primaryProductPrompt/slice.js +2 -2
  178. package/lib/components/HDLKiosk/slices/primaryProductPrompt/view.js +2 -2
  179. package/lib/components/HDLKiosk/{runtime → ui}/HDLKioskWorkflowView.js +46 -132
  180. package/lib/components/HDLKiosk/ui/ScaleSimulatorConsole/index.js +390 -0
  181. package/lib/components/HDLKiosk/ui/ScaleSimulatorConsole/index.less +621 -0
  182. package/lib/components/HDLKiosk/{app → ui}/ScreenRenderer.js +7 -7
  183. package/lib/components/HDLKiosk/ui/controllers/useHDLKioskActionDispatcher.js +67 -0
  184. package/lib/components/HDLKiosk/{runtime → ui}/controllers/useHDLKioskCustomerController.js +1 -1
  185. package/lib/components/HDLKiosk/ui/controllers/useHDLKioskDeviceController.js +26 -0
  186. package/lib/components/HDLKiosk/ui/controllers/useHDLKioskExitController.js +54 -0
  187. package/lib/components/HDLKiosk/{runtime → ui}/controllers/useHDLKioskScreenData.js +1 -1
  188. package/lib/components/HDLKiosk/ui/controllers/useHDLKioskSessionController.js +40 -0
  189. package/lib/components/HDLKiosk/{app → ui}/entry/Screen/index.js +8 -6
  190. package/lib/components/HDLKiosk/{app → ui}/entry/model.js +2 -2
  191. package/lib/components/HDLKiosk/ui/scale.js +24 -0
  192. package/lib/components/HDLKiosk/{runtime/useHostSnapshot.js → ui/snapshots.js} +6 -7
  193. package/lib/components/HDLKiosk/{app → ui}/views.js +1 -1
  194. package/lib/components/HDLKiosk/{runtime → ui}/workflowEvent.js +1 -1
  195. package/lib/components/HDLKiosk/utils.js +4 -4
  196. package/lib/components/bigSale/templates/HDLKiosk/adapter/HDLKioskPaymentRuntime.js +2 -1
  197. package/lib/components/bigSale/templates/HDLKiosk/adapter/capabilities.js +1 -1
  198. package/lib/components/bigSale/templates/HDLKiosk/adapter/projection.js +21 -10
  199. package/lib/components/bigSale/templates/HDLKiosk/adapter/sales.js +20 -2
  200. package/lib/components/bigSale/templates/HDLKiosk/adapter/scaleTrigger.js +19 -4
  201. package/lib/components/bigSale/templates/HDLKiosk/adapter/useBigSaleHDLKioskHost.js +3 -0
  202. package/lib/components/bigSale/templates/HDLKiosk/index.js +4 -4
  203. package/package.json +2 -2
  204. package/es/components/HDLKiosk/app/constants.js +0 -9
  205. package/es/components/HDLKiosk/app/operations/barcode.js +0 -22
  206. package/es/components/HDLKiosk/app/operations/cart.js +0 -60
  207. package/es/components/HDLKiosk/app/operations/fulfillment.js +0 -11
  208. package/es/components/HDLKiosk/app/operations/session.js +0 -41
  209. package/es/components/HDLKiosk/app/operations/types.js +0 -11
  210. package/es/components/HDLKiosk/devices/entryArbiter.js +0 -33
  211. package/es/components/HDLKiosk/runtime/controllers/useHDLKioskDeviceController.js +0 -75
  212. package/es/components/HDLKiosk/runtime/controllers/useHDLKioskScannerController.js +0 -160
  213. package/es/components/HDLKiosk/runtime/controllers/useHDLKioskSessionController.js +0 -185
  214. package/es/components/HDLKiosk/runtime/useWorkflowSnapshot.js +0 -12
  215. package/es/components/HDLKiosk/slices/customization/operation.js +0 -80
  216. package/es/components/HDLKiosk/slices/identity/operation.js +0 -60
  217. package/lib/components/HDLKiosk/app/constants.js +0 -9
  218. package/lib/components/HDLKiosk/app/operations/barcode.js +0 -21
  219. package/lib/components/HDLKiosk/app/operations/cart.js +0 -62
  220. package/lib/components/HDLKiosk/app/operations/fulfillment.js +0 -10
  221. package/lib/components/HDLKiosk/app/operations/session.js +0 -42
  222. package/lib/components/HDLKiosk/app/operations/types.js +0 -12
  223. package/lib/components/HDLKiosk/devices/entryArbiter.js +0 -33
  224. package/lib/components/HDLKiosk/runtime/controllers/useHDLKioskDeviceController.js +0 -76
  225. package/lib/components/HDLKiosk/runtime/controllers/useHDLKioskScannerController.js +0 -161
  226. package/lib/components/HDLKiosk/runtime/controllers/useHDLKioskSessionController.js +0 -186
  227. package/lib/components/HDLKiosk/runtime/useWorkflowSnapshot.js +0 -13
  228. package/lib/components/HDLKiosk/slices/customization/operation.js +0 -83
  229. package/lib/components/HDLKiosk/slices/identity/operation.js +0 -60
  230. /package/es/components/HDLKiosk/{app → ui}/entry/Screen/index.less +0 -0
  231. /package/lib/components/HDLKiosk/{app → ui}/entry/Screen/index.less +0 -0
@@ -1,6 +1,7 @@
1
1
  const require_runtime = require("../../../_virtual/_rolldown/runtime.js");
2
- const require_asyncToGenerator = require("../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/asyncToGenerator.js");
3
2
  const require_useHDLKioskCustomerController = require("./controllers/useHDLKioskCustomerController.js");
3
+ const require_useHDLKioskActionDispatcher = require("./controllers/useHDLKioskActionDispatcher.js");
4
+ const require_useHDLKioskExitController = require("./controllers/useHDLKioskExitController.js");
4
5
  const require_useHDLKioskScreenData = require("./controllers/useHDLKioskScreenData.js");
5
6
  const require_selectors = require("../kernel/workflow/selectors.js");
6
7
  const require_index = require("../components/overlays/EndOrderDialog/index.js");
@@ -11,13 +12,12 @@ const require_index$4 = require("../components/shell/HDLKioskShell/index.js");
11
12
  const require_index$5 = require("../components/shell/HDLKioskBottomBarHost/index.js");
12
13
  const require_index$6 = require("../components/common/BlockingNotice/index.js");
13
14
  const require_utils = require("../utils.js");
14
- const require_ScreenRenderer = require("../app/ScreenRenderer.js");
15
- const require_useWorkflowSnapshot = require("./useWorkflowSnapshot.js");
16
- const require_workflowEvent = require("./workflowEvent.js");
15
+ const require_ScreenRenderer = require("./ScreenRenderer.js");
16
+ const require_snapshots = require("./snapshots.js");
17
17
  let react = require("react");
18
18
  react = require_runtime.__toESM(react);
19
19
  let _pisell_utils = require("@pisell/utils");
20
- //#region src/components/HDLKiosk/runtime/HDLKioskWorkflowView.tsx
20
+ //#region src/components/HDLKiosk/ui/HDLKioskWorkflowView.tsx
21
21
  /**
22
22
  * 文件角色:承载一个活跃 HDLKiosk 会话的 React 组合视图。
23
23
  * 运行机制:组合 Customer/ScreenData Controller,订阅 Host 与 Actor
@@ -42,52 +42,42 @@ function HDLKioskWorkflowCartOverlay({ model, busy, memberAction, send, renderCa
42
42
  } : void 0
43
43
  });
44
44
  }
45
+ function HDLKioskWorkflowBlockingSurface({ snapshot, title, description, reference, hideBottomBar = false }) {
46
+ return /* @__PURE__ */ react.default.createElement(require_index$4.HDLKioskShell, { snapshot }, /* @__PURE__ */ react.default.createElement(require_index$5.HDLKioskBottomBarHost, { mode: hideBottomBar ? "hidden" : void 0 }, /* @__PURE__ */ react.default.createElement(require_index$1.HDLKioskHeader, null), /* @__PURE__ */ react.default.createElement("main", { className: "hdl-shell__main" }, /* @__PURE__ */ react.default.createElement(require_index$6.BlockingNotice, {
47
+ title,
48
+ description,
49
+ reference
50
+ }))));
51
+ }
45
52
  /**
46
53
  * 活跃点餐会话的 UI 编排层。
47
54
  *
48
55
  * 它把运行时控制器投影为 Screen/Dialog 所需的 props;具体页面不直接接触
49
56
  * Host、Workflow Actor 或会话计时器。
50
57
  */
51
- function HDLKioskWorkflowView({ session, host, sales, config, isActive, renderIdentityAuth, renderCartContent, cartOverlayActions, returnToEntry }) {
52
- var _snapshot$pendingNavi, _snapshot$pendingNavi2, _activeNode$presentat, _customer$error, _activeNode$presentat2;
53
- const snapshot = require_useWorkflowSnapshot.useWorkflowSnapshot(session.actor);
54
- const sequence = (0, react.useRef)(0);
55
- const resetInFlight = (0, react.useRef)(false);
56
- const [resetting, setResetting] = (0, react.useState)(false);
57
- const [resetError, setResetError] = (0, react.useState)();
58
+ function HDLKioskWorkflowView({ session, host, sales, config, isActive, returning, returnError, renderIdentityAuth, renderCartContent, cartOverlayActions, returnToEntry }) {
59
+ var _session$definition$n2, _customer$error, _activeNode$presentat;
60
+ const snapshot = require_snapshots.useWorkflowSnapshot(session.actor);
61
+ const navigationSequence = (0, react.useRef)(0);
58
62
  const [memberLoginOpen, setMemberLoginOpen] = (0, react.useState)(false);
59
- const [commandState, setCommandState] = (0, react.useState)({ busy: false });
60
- const commandGeneration = (0, react.useRef)(0);
61
- const pendingCommands = (0, react.useRef)(0);
62
63
  const activeNode = session.definition.nodes[snapshot.nodeId];
63
- const pendingEndOrderNavigation = ((_snapshot$pendingNavi = snapshot.pendingNavigation) === null || _snapshot$pendingNavi === void 0 ? void 0 : _snapshot$pendingNavi.request.kind) === "confirmEndOrder" ? snapshot.pendingNavigation : void 0;
64
- const pendingAutomaticExitNavigation = ((_snapshot$pendingNavi2 = snapshot.pendingNavigation) === null || _snapshot$pendingNavi2 === void 0 ? void 0 : _snapshot$pendingNavi2.request.kind) === "performSessionExit" ? snapshot.pendingNavigation : void 0;
65
- const endOrderConfirmationOpen = Boolean(pendingEndOrderNavigation);
66
- const currentScreenId = activeNode.screenId;
67
64
  const customizationStepId = session.definition.stepOrder.find((stepId) => {
68
65
  var _session$definition$n;
69
66
  return ((_session$definition$n = session.definition.nodes[stepId]) === null || _session$definition$n === void 0 ? void 0 : _session$definition$n.activity) === "customization";
70
67
  });
71
- const screenDataNode = ((_activeNode$presentat = activeNode.presentation) === null || _activeNode$presentat === void 0 ? void 0 : _activeNode$presentat.mode) === "modal" ? session.definition.nodes[activeNode.presentation.base] : activeNode;
68
+ const screenDataNode = (_session$definition$n2 = session.definition.nodes[snapshot.surface.pageStepId]) !== null && _session$definition$n2 !== void 0 ? _session$definition$n2 : activeNode;
72
69
  const paymentSafeForReset = sales.payment.status === "idle" || sales.payment.status === "failed";
73
- const resetSession = (0, react.useCallback)(require_asyncToGenerator._asyncToGenerator(function* () {
74
- if (resetInFlight.current) return;
75
- resetInFlight.current = true;
76
- setResetting(true);
77
- setResetError(void 0);
78
- sequence.current += 1;
79
- const result = yield returnToEntry("ui");
80
- if (result.status === "succeeded") return;
81
- resetInFlight.current = false;
82
- setResetting(false);
83
- setResetError(result.status === "failed" || result.status === "partialFailure" || result.status === "unknown" ? result.error : {
84
- code: "resetCancelled",
85
- source: "operation",
86
- recovery: "staff",
87
- safeMessageKey: "hdlKiosk.error.resetCancelled",
88
- traceId: `hdl-reset-cancelled-${Date.now()}`
89
- });
90
- }), [returnToEntry]);
70
+ const { endOrderConfirmationOpen, resetSession, requestEndOrder, cancelEndOrder, confirmEndOrder } = require_useHDLKioskExitController.useHDLKioskExitController({
71
+ session,
72
+ snapshot,
73
+ returnToEntry
74
+ });
75
+ const { send, commandState } = require_useHDLKioskActionDispatcher.useHDLKioskActionDispatcher({
76
+ session,
77
+ snapshot,
78
+ activityId: activeNode.activity,
79
+ resetSession
80
+ });
91
81
  const customer = require_useHDLKioskCustomerController.useHDLKioskCustomerController({
92
82
  session,
93
83
  snapshot,
@@ -95,7 +85,7 @@ function HDLKioskWorkflowView({ session, host, sales, config, isActive, renderId
95
85
  activityId: activeNode.activity,
96
86
  isActive,
97
87
  loginAvailable: Boolean(renderIdentityAuth),
98
- interactionBlocked: resetting || commandState.busy
88
+ interactionBlocked: returning || commandState.busy
99
89
  });
100
90
  const requestMemberLogin = (0, react.useCallback)(() => {
101
91
  if (customer.canLogin && renderIdentityAuth) setMemberLoginOpen(true);
@@ -104,106 +94,27 @@ function HDLKioskWorkflowView({ session, host, sales, config, isActive, renderId
104
94
  setMemberLoginOpen(false);
105
95
  customer.applyAuthenticatedCustomer(customerId);
106
96
  }, [customer.applyAuthenticatedCustomer]);
107
- const requestEndOrder = (0, react.useCallback)(() => {
108
- sequence.current += 1;
109
- session.actor.navigate({
110
- kind: "sessionExit",
111
- reason: "userRequest"
112
- }, `ui:${snapshot.sessionEpoch}:${sequence.current}`);
113
- }, [session, snapshot.sessionEpoch]);
114
97
  const editPrimaryProduct = (0, react.useCallback)(() => {
115
98
  if (!customizationStepId || customizationStepId === snapshot.nodeId) return;
116
- sequence.current += 1;
99
+ navigationSequence.current += 1;
117
100
  session.actor.navigate({
118
101
  kind: "step",
119
102
  stepId: customizationStepId
120
- }, `ui:edit-primary-product:${snapshot.sessionEpoch}:${sequence.current}`);
103
+ }, `ui:edit-primary-product:${snapshot.sessionEpoch}:${navigationSequence.current}`);
121
104
  }, [
122
105
  customizationStepId,
123
106
  session.actor,
124
107
  snapshot.nodeId,
125
108
  snapshot.sessionEpoch
126
109
  ]);
127
- const cancelEndOrder = (0, react.useCallback)(() => {
128
- if (!pendingEndOrderNavigation) return;
129
- session.actor.resolvePendingNavigation(pendingEndOrderNavigation.navigationId, "cancel");
130
- }, [pendingEndOrderNavigation, session.actor]);
131
- const confirmEndOrder = (0, react.useCallback)(() => {
132
- if (!pendingEndOrderNavigation || !session.actor.resolvePendingNavigation(pendingEndOrderNavigation.navigationId, "allow")) return;
133
- resetSession();
134
- }, [
135
- pendingEndOrderNavigation,
136
- resetSession,
137
- session.actor
138
- ]);
139
- (0, react.useEffect)(() => {
140
- if (!pendingAutomaticExitNavigation || !session.actor.resolvePendingNavigation(pendingAutomaticExitNavigation.navigationId, "allow")) return;
141
- resetSession();
142
- }, [
143
- pendingAutomaticExitNavigation,
144
- resetSession,
145
- session.actor
146
- ]);
147
110
  const { catalog, customization, payment } = require_useHDLKioskScreenData.useHDLKioskScreenData({
148
111
  host,
149
- currentScreenId: screenDataNode.screenId,
112
+ currentScreenId: screenDataNode.surfaceId,
150
113
  activity: screenDataNode.activity,
151
114
  isActive,
152
115
  primaryWeightedProductId: config.primaryWeightedProductId
153
116
  });
154
- (0, react.useEffect)(() => {
155
- commandGeneration.current += 1;
156
- pendingCommands.current = 0;
157
- setCommandState({ busy: false });
158
- setMemberLoginOpen(false);
159
- }, [session]);
160
- const send = (0, react.useCallback)((action) => {
161
- if (action.kind === "session") {
162
- resetSession();
163
- return;
164
- }
165
- sequence.current += 1;
166
- const intentId = `ui:${snapshot.sessionEpoch}:${sequence.current}`;
167
- if (action.kind === "intent" || action.kind === "navigation") {
168
- const event = require_workflowEvent.createWorkflowEvent(action, activeNode.activity, snapshot.nodeId, intentId);
169
- if (event) session.actor.send(event);
170
- return;
171
- }
172
- const generation = commandGeneration.current;
173
- pendingCommands.current += 1;
174
- setCommandState({
175
- busy: true,
176
- commandId: action.command
177
- });
178
- session.executeCommand(action.command, action.input, intentId).then((result) => {
179
- if (generation !== commandGeneration.current) return;
180
- pendingCommands.current = Math.max(0, pendingCommands.current - 1);
181
- setCommandState({
182
- busy: pendingCommands.current > 0,
183
- commandId: pendingCommands.current > 0 ? action.command : void 0,
184
- error: result.status === "failed" ? result.error : void 0
185
- });
186
- });
187
- }, [
188
- activeNode.activity,
189
- resetSession,
190
- session,
191
- snapshot.nodeId,
192
- snapshot.sessionEpoch
193
- ]);
194
- (0, react.useEffect)(() => {
195
- if (activeNode.activity !== "paymentMethod" || snapshot.status !== "idle" || sales.payment.status !== "succeeded") return;
196
- send({
197
- kind: "intent",
198
- activityId: "paymentMethod",
199
- intent: "complete"
200
- });
201
- }, [
202
- activeNode.activity,
203
- sales.payment.status,
204
- send,
205
- snapshot.status
206
- ]);
117
+ (0, react.useEffect)(() => setMemberLoginOpen(false), [session, snapshot.nodeId]);
207
118
  const memberAction = customer.visible ? {
208
119
  member: customer.member,
209
120
  memberName: customer.memberName,
@@ -213,7 +124,7 @@ function HDLKioskWorkflowView({ session, host, sales, config, isActive, renderId
213
124
  errorReference: (_customer$error = customer.error) === null || _customer$error === void 0 ? void 0 : _customer$error.traceId,
214
125
  onLogin: requestMemberLogin
215
126
  } : void 0;
216
- const canEndOrder = snapshot.status === "idle" && !resetting && !snapshot.pendingNavigation && !commandState.busy && !customer.busy && paymentSafeForReset;
127
+ const canEndOrder = snapshot.status === "idle" && !returning && !snapshot.pendingNavigation && !commandState.busy && !customer.busy && paymentSafeForReset;
217
128
  const cartDrawerModel = (0, react.useMemo)(() => require_utils.createCartDrawerModel(sales, snapshot.context.primaryWeightedProductId), [sales, snapshot.context.primaryWeightedProductId]);
218
129
  const endOrderBottomBar = activeNode.activity === "paymentCompleted" ? void 0 : {
219
130
  ariaLabel: _pisell_utils.locales.getText("pisell2.hdl-kiosk.exit-order"),
@@ -228,25 +139,28 @@ function HDLKioskWorkflowView({ session, host, sales, config, isActive, renderId
228
139
  "aria-hidden": "true"
229
140
  }, /* @__PURE__ */ react.default.createElement("path", { d: "m15 5-7 7 7 7M8 12h10" })), /* @__PURE__ */ react.default.createElement("span", null, _pisell_utils.locales.getText("pisell2.hdl-kiosk.back")))
230
141
  };
231
- if (resetError) return /* @__PURE__ */ react.default.createElement(require_index$4.HDLKioskShell, { snapshot }, /* @__PURE__ */ react.default.createElement(require_index$5.HDLKioskBottomBarHost, null, /* @__PURE__ */ react.default.createElement(require_index$1.HDLKioskHeader, null), /* @__PURE__ */ react.default.createElement("main", { className: "hdl-shell__main" }, /* @__PURE__ */ react.default.createElement(require_index$6.BlockingNotice, {
142
+ if (returnError) return /* @__PURE__ */ react.default.createElement(HDLKioskWorkflowBlockingSurface, {
143
+ snapshot,
232
144
  title: _pisell_utils.locales.getText("pisell2.hdl-kiosk.reset-failed-title"),
233
145
  description: _pisell_utils.locales.getText("pisell2.hdl-kiosk.reset-failed-description"),
234
- reference: resetError.traceId
235
- }))));
146
+ reference: returnError.traceId
147
+ });
236
148
  if (snapshot.status === "blocked") {
237
149
  var _snapshot$lastError;
238
- return /* @__PURE__ */ react.default.createElement(require_index$4.HDLKioskShell, { snapshot }, /* @__PURE__ */ react.default.createElement(require_index$5.HDLKioskBottomBarHost, { mode: "hidden" }, /* @__PURE__ */ react.default.createElement(require_index$1.HDLKioskHeader, null), /* @__PURE__ */ react.default.createElement("main", { className: "hdl-shell__main" }, /* @__PURE__ */ react.default.createElement(require_index$6.BlockingNotice, {
150
+ return /* @__PURE__ */ react.default.createElement(HDLKioskWorkflowBlockingSurface, {
151
+ snapshot,
239
152
  title: _pisell_utils.locales.getText("pisell2.hdl-kiosk.blocked-title"),
240
153
  description: _pisell_utils.locales.getText("pisell2.hdl-kiosk.blocked-description"),
241
- reference: (_snapshot$lastError = snapshot.lastError) === null || _snapshot$lastError === void 0 ? void 0 : _snapshot$lastError.traceId
242
- }))));
154
+ reference: (_snapshot$lastError = snapshot.lastError) === null || _snapshot$lastError === void 0 ? void 0 : _snapshot$lastError.traceId,
155
+ hideBottomBar: true
156
+ });
243
157
  }
244
158
  return /* @__PURE__ */ react.default.createElement(require_index$4.HDLKioskShell, {
245
159
  snapshot,
246
160
  memberAction,
247
- variant: currentScreenId === "identity" ? "identityGate" : "default"
161
+ variant: screenDataNode.surfaceId === "identity" ? "identityGate" : "default"
248
162
  }, /* @__PURE__ */ react.default.createElement(require_index$5.HDLKioskBottomBarHost, {
249
- mode: ((_activeNode$presentat2 = activeNode.presentation) === null || _activeNode$presentat2 === void 0 ? void 0 : _activeNode$presentat2.mode) === "modal" || endOrderConfirmationOpen || memberLoginOpen ? "masked" : "visible",
163
+ mode: ((_activeNode$presentat = activeNode.presentation) === null || _activeNode$presentat === void 0 ? void 0 : _activeNode$presentat.mode) === "modal" || endOrderConfirmationOpen || memberLoginOpen ? "masked" : "visible",
250
164
  fallback: endOrderBottomBar,
251
165
  cartOverlayActions,
252
166
  promotionsAvailable: Boolean(renderCartContent)
@@ -259,7 +173,7 @@ function HDLKioskWorkflowView({ session, host, sales, config, isActive, renderId
259
173
  sales,
260
174
  send,
261
175
  commandState,
262
- resetting,
176
+ resetting: returning,
263
177
  capabilities: host.capabilities,
264
178
  businessMode: config.businessMode,
265
179
  scaleMinimumWeightKg: config.scaleTriggerMinimumWeightKg,