@pisell/private-materials 6.12.276 → 6.12.278

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 (61) 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/preview.js +1 -1
  6. package/build/lowcode/render/default/view.js +12 -12
  7. package/build/lowcode/view.js +12 -12
  8. package/es/components/bigSale/components/BookingFloatingPanel/useBookingPanelController.js +1 -0
  9. package/es/components/bigSale/components/ProductList/index.js +1 -0
  10. package/es/components/bigSale/components/TimeBar/index.js +1 -0
  11. package/es/components/bigSale/dialog.js +1 -0
  12. package/es/components/bigSale/hooks/useBigSaleContext.js +1 -0
  13. package/es/components/bigSale/hooks/useSelectFloorMapResourceForBigSale.js +1 -0
  14. package/es/components/bigSale/index.js +1 -0
  15. package/es/components/bigSale/templates/HDLKiosk/HDLKioskIdentityAuthPanel.js +2 -2
  16. package/es/components/bigSale/templates/HDLKiosk/hooks/useHDLKioskH5AuthModule.js +2 -2
  17. package/es/components/bigSale/templates/HDLKiosk/payment/HDLKioskPaymentRuntime.js +1 -0
  18. package/es/components/bigSale/templates/Kiosk/index.js +1 -0
  19. package/es/components/bigSale/templates/Kiosk/useKioskFulfillmentCheckout.js +6 -5
  20. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/NavigationHintIcon.js +2 -1
  21. package/es/components/eventBooking/locales.js +10 -0
  22. package/es/components/sharedSecondaryBigSale/SharedSecondaryBigSaleReceiver.js +1 -0
  23. package/es/index.js +2 -0
  24. package/es/plus/multiCurrencySettlement/index.js +1 -1
  25. package/es/plus/pisellReservation/data/bookingToReservationTables.js +1 -1
  26. package/es/plus/pisellReservation/floorMap/floorPlanApi.js +1 -1
  27. package/es/plus/pisellReservation/floorMap/reservationMock.js +1 -1
  28. package/es/plus/pisellReservation/index.js +17 -0
  29. package/es/plus/saleDetail/Base.js +1 -0
  30. package/es/plus/saleDetail/actions/index.js +5 -2
  31. package/es/plus/saleDetail/components/Client/hooks/useClientSelectorProps.js +1 -0
  32. package/es/plus/saleDetail/components/DetailActions/PrintAction.js +1 -0
  33. package/es/plus/saleDetail/components/DetailActions/index.js +1 -0
  34. package/es/plus/saleDetail/components/SummaryFinancialSections/index.js +1 -0
  35. package/es/plus/saleDetail/index.js +1 -0
  36. package/es/plus/saleDetail/tmpl/B/components/Dish/index.js +1 -0
  37. package/es/plus/saleDetail/tmpl/B/index.js +1 -0
  38. package/es/plus/salesSdk/components/FulfillmentTiming/Picker.js +4 -1
  39. package/es/plus/salesSdk/components/FulfillmentTiming/index.js +2 -1
  40. package/es/plus/salesSdk/components/FulfillmentTiming/locales.js +130 -3
  41. package/es/plus/salesSdk/components/FulfillmentTiming/messages.js +40 -0
  42. package/es/plus/salesSdk/index.js +54 -0
  43. package/es/plus/salesSdk/utils/addProductWithFlowDebounced.js +1 -1
  44. package/es/plus/salesSdk/utils/bookingDate.js +1 -1
  45. package/es/plus/salesSdk/utils/enrichCartLineHolderDisplay.js +1 -1
  46. package/es/pro/Login2.0/AuthModal.d.ts +1 -1
  47. package/es/pro/Login2.0/index.d.ts +2 -2
  48. package/es/pro/Login2.0/shared/types.d.ts +1 -1
  49. package/lib/components/bigSale/templates/HDLKiosk/HDLKioskIdentityAuthPanel.js +2 -2
  50. package/lib/components/bigSale/templates/HDLKiosk/hooks/useHDLKioskH5AuthModule.js +2 -2
  51. package/lib/components/bigSale/templates/HDLKiosk/payment/HDLKioskPaymentRuntime.js +1 -0
  52. package/lib/components/bigSale/templates/Kiosk/useKioskFulfillmentCheckout.js +6 -5
  53. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/NavigationHintIcon.js +2 -1
  54. package/lib/components/eventBooking/locales.js +10 -0
  55. package/lib/plus/saleDetail/actions/index.js +5 -2
  56. package/lib/plus/salesSdk/components/FulfillmentTiming/Picker.js +4 -1
  57. package/lib/plus/salesSdk/components/FulfillmentTiming/index.js +2 -1
  58. package/lib/plus/salesSdk/components/FulfillmentTiming/locales.js +130 -3
  59. package/lib/plus/salesSdk/components/FulfillmentTiming/messages.js +42 -0
  60. package/package.json +2 -2
  61. package/es/private-materials/lowcode/authmodal/meta.d.ts +0 -1
@@ -10,6 +10,8 @@ var locales_default = {
10
10
  "pisell2.fulfillment.delivery.description": "Have your order delivered.",
11
11
  "pisell2.fulfillment.dine_in": "Dine in",
12
12
  "pisell2.fulfillment.dine_in.description": "Enjoy your order here.",
13
+ "pisell2.fulfillment.table_service": "Table service",
14
+ "pisell2.fulfillment.table_service.description": "Have your order brought to your table.",
13
15
  "pisell2.fulfillment.when": "When would you like to pick it up?",
14
16
  "pisell2.fulfillment.asap": "As soon as possible",
15
17
  "pisell2.fulfillment.fastest": "Fastest",
@@ -34,7 +36,16 @@ var locales_default = {
34
36
  "pisell2.fulfillment.time": "Pickup time",
35
37
  "pisell2.fulfillment.future.required": "Please enter a valid future pickup time.",
36
38
  "pisell2.fulfillment.selection.failed": "Unable to save your selection. Please retry.",
37
- "pisell2.fulfillment.selection.expired": "This pickup time is no longer available. Please choose another time."
39
+ "pisell2.fulfillment.selection.expired": "This pickup time is no longer available. Please choose another time.",
40
+ "pisell2.fulfillment.order.changed": "Order changed. Please start checkout again.",
41
+ "pisell2.fulfillment.handover.unavailable": "Choose an available handover method.",
42
+ "pisell2.fulfillment.mode.unavailable": "The selected pickup timing mode is unavailable.",
43
+ "pisell2.fulfillment.scheduled.required": "Choose a pickup date and time.",
44
+ "pisell2.fulfillment.invalid.time": "Choose a valid pickup date and time.",
45
+ "pisell2.fulfillment.time.past": "Pickup time cannot be in the past.",
46
+ "pisell2.fulfillment.schedule.unavailable": "Pickup schedule is unavailable. Please retry.",
47
+ "pisell2.fulfillment.configuration.unavailable": "Pickup settings are unavailable. Please retry.",
48
+ "pisell2.fulfillment.load.fulfillment.failed": "Unable to load order fulfillment. Please retry."
38
49
  },
39
50
  "zh-CN": {
40
51
  "pisell2.fulfillment.handover": "您希望如何收取订单?",
@@ -46,6 +57,8 @@ var locales_default = {
46
57
  "pisell2.fulfillment.delivery.description": "将订单配送给您。",
47
58
  "pisell2.fulfillment.dine_in": "堂食",
48
59
  "pisell2.fulfillment.dine_in.description": "在店内享用。",
60
+ "pisell2.fulfillment.table_service": "送餐到桌",
61
+ "pisell2.fulfillment.table_service.description": "将餐品送到您的桌前。",
49
62
  "pisell2.fulfillment.when": "您希望什么时候取餐?",
50
63
  "pisell2.fulfillment.asap": "尽快取餐",
51
64
  "pisell2.fulfillment.fastest": "最快",
@@ -70,7 +83,16 @@ var locales_default = {
70
83
  "pisell2.fulfillment.time": "取餐时间",
71
84
  "pisell2.fulfillment.future.required": "请输入有效的未来取餐时间。",
72
85
  "pisell2.fulfillment.selection.failed": "无法保存选择,请重试。",
73
- "pisell2.fulfillment.selection.expired": "该取餐时间已不可用,请重新选择。"
86
+ "pisell2.fulfillment.selection.expired": "该取餐时间已不可用,请重新选择。",
87
+ "pisell2.fulfillment.order.changed": "订单已变更,请重新结账。",
88
+ "pisell2.fulfillment.handover.unavailable": "请选择可用的取餐方式。",
89
+ "pisell2.fulfillment.mode.unavailable": "所选取餐时间模式不可用。",
90
+ "pisell2.fulfillment.scheduled.required": "请选择取餐日期和时间。",
91
+ "pisell2.fulfillment.invalid.time": "请选择有效的取餐日期和时间。",
92
+ "pisell2.fulfillment.time.past": "取餐时间不能早于当前时间。",
93
+ "pisell2.fulfillment.schedule.unavailable": "取餐排期暂不可用,请重试。",
94
+ "pisell2.fulfillment.configuration.unavailable": "取餐设置暂不可用,请重试。",
95
+ "pisell2.fulfillment.load.fulfillment.failed": "无法加载订单履约信息,请重试。"
74
96
  },
75
97
  "zh-HK": {
76
98
  "pisell2.fulfillment.handover": "您希望如何收取訂單?",
@@ -82,6 +104,8 @@ var locales_default = {
82
104
  "pisell2.fulfillment.delivery.description": "將訂單配送給您。",
83
105
  "pisell2.fulfillment.dine_in": "堂食",
84
106
  "pisell2.fulfillment.dine_in.description": "在店內享用。",
107
+ "pisell2.fulfillment.table_service": "送餐到桌",
108
+ "pisell2.fulfillment.table_service.description": "將餐品送到您的桌前。",
85
109
  "pisell2.fulfillment.when": "您希望甚麼時候取餐?",
86
110
  "pisell2.fulfillment.asap": "盡快取餐",
87
111
  "pisell2.fulfillment.fastest": "最快",
@@ -106,7 +130,110 @@ var locales_default = {
106
130
  "pisell2.fulfillment.time": "取餐時間",
107
131
  "pisell2.fulfillment.future.required": "請輸入有效的未來取餐時間。",
108
132
  "pisell2.fulfillment.selection.failed": "無法儲存選擇,請重試。",
109
- "pisell2.fulfillment.selection.expired": "該取餐時間已不可用,請重新選擇。"
133
+ "pisell2.fulfillment.selection.expired": "該取餐時間已不可用,請重新選擇。",
134
+ "pisell2.fulfillment.order.changed": "訂單已變更,請重新結賬。",
135
+ "pisell2.fulfillment.handover.unavailable": "請選擇可用的取餐方式。",
136
+ "pisell2.fulfillment.mode.unavailable": "所選取餐時間模式不可用。",
137
+ "pisell2.fulfillment.scheduled.required": "請選擇取餐日期和時間。",
138
+ "pisell2.fulfillment.invalid.time": "請選擇有效的取餐日期和時間。",
139
+ "pisell2.fulfillment.time.past": "取餐時間不能早於目前時間。",
140
+ "pisell2.fulfillment.schedule.unavailable": "取餐排期暫不可用,請重試。",
141
+ "pisell2.fulfillment.configuration.unavailable": "取餐設定暫不可用,請重試。",
142
+ "pisell2.fulfillment.load.fulfillment.failed": "無法載入訂單履約資訊,請重試。"
143
+ },
144
+ ja: {
145
+ "pisell2.fulfillment.handover": "ご注文の受け取り方法をお選びください",
146
+ "pisell2.fulfillment.pick_up": "店頭受け取り",
147
+ "pisell2.fulfillment.pick_up.description": "カウンターでお受け取りください。",
148
+ "pisell2.fulfillment.takeaway": "持ち帰り",
149
+ "pisell2.fulfillment.takeaway.description": "ご注文の商品をお持ち帰りいただけます。",
150
+ "pisell2.fulfillment.delivery": "配達",
151
+ "pisell2.fulfillment.delivery.description": "ご注文の商品をお届けします。",
152
+ "pisell2.fulfillment.dine_in": "店内飲食",
153
+ "pisell2.fulfillment.dine_in.description": "店内でお召し上がりください。",
154
+ "pisell2.fulfillment.table_service": "テーブルサービス",
155
+ "pisell2.fulfillment.table_service.description": "ご注文の商品をテーブルまでお届けします。",
156
+ "pisell2.fulfillment.when": "受け取り日時をお選びください",
157
+ "pisell2.fulfillment.asap": "できるだけ早く",
158
+ "pisell2.fulfillment.fastest": "最短",
159
+ "pisell2.fulfillment.earliest": "最短の受け取り日時:{time}",
160
+ "pisell2.fulfillment.preparation": "準備時間:{minutes}分",
161
+ "pisell2.fulfillment.choose": "時間を選択",
162
+ "pisell2.fulfillment.choose.description": "日付と受け取り可能な時間を選択してください。",
163
+ "pisell2.fulfillment.picker.title": "受け取り時間を選択",
164
+ "pisell2.fulfillment.picker.description": "現在選択できる時間のみ表示しています。",
165
+ "pisell2.fulfillment.store.time": "店舗の現地時間で表示しています:{timezone}",
166
+ "pisell2.fulfillment.no.times": "この日は受け取り可能な時間がありません。別の日付を選択してください。",
167
+ "pisell2.fulfillment.no.dates": "現在、受け取り可能な時間がありません。",
168
+ "pisell2.fulfillment.loading": "受け取り時間を読み込み中…",
169
+ "pisell2.fulfillment.load.failed": "受け取り時間を読み込めませんでした。もう一度お試しください。",
170
+ "pisell2.fulfillment.retry": "再試行",
171
+ "pisell2.fulfillment.confirm": "時間を確定",
172
+ "pisell2.fulfillment.cancel": "キャンセル",
173
+ "pisell2.fulfillment.manual": "別の時間を入力",
174
+ "pisell2.fulfillment.manual.description": "スタッフは選択可能な時間枠以外でも、現在より後の受け取り時間を入力できます。",
175
+ "pisell2.fulfillment.available": "受け取り可能な時間から選択",
176
+ "pisell2.fulfillment.date": "受け取り日",
177
+ "pisell2.fulfillment.time": "受け取り時間",
178
+ "pisell2.fulfillment.future.required": "現在より後の有効な受け取り日時を入力してください。",
179
+ "pisell2.fulfillment.selection.failed": "選択内容を保存できませんでした。もう一度お試しください。",
180
+ "pisell2.fulfillment.selection.expired": "この受け取り時間は選択できなくなりました。別の時間を選択してください。",
181
+ "pisell2.fulfillment.order.changed": "注文内容が変更されました。もう一度お会計を開始してください。",
182
+ "pisell2.fulfillment.handover.unavailable": "利用可能な受け取り方法を選択してください。",
183
+ "pisell2.fulfillment.mode.unavailable": "選択した受け取り時間の指定方法は利用できません。",
184
+ "pisell2.fulfillment.scheduled.required": "受け取り日時を選択してください。",
185
+ "pisell2.fulfillment.invalid.time": "有効な受け取り日時を選択してください。",
186
+ "pisell2.fulfillment.time.past": "過去の日時を受け取り時間に指定することはできません。",
187
+ "pisell2.fulfillment.schedule.unavailable": "受け取りスケジュールを利用できません。もう一度お試しください。",
188
+ "pisell2.fulfillment.configuration.unavailable": "受け取り設定を利用できません。もう一度お試しください。",
189
+ "pisell2.fulfillment.load.fulfillment.failed": "注文の受け取り情報を読み込めませんでした。もう一度お試しください。"
190
+ },
191
+ pt: {
192
+ "pisell2.fulfillment.handover": "Como deseja receber o seu pedido?",
193
+ "pisell2.fulfillment.pick_up": "Recolha",
194
+ "pisell2.fulfillment.pick_up.description": "Recolha o seu pedido no balcão.",
195
+ "pisell2.fulfillment.takeaway": "Para levar",
196
+ "pisell2.fulfillment.takeaway.description": "Leve o seu pedido consigo.",
197
+ "pisell2.fulfillment.delivery": "Entrega",
198
+ "pisell2.fulfillment.delivery.description": "Receba o seu pedido por entrega.",
199
+ "pisell2.fulfillment.dine_in": "Comer no local",
200
+ "pisell2.fulfillment.dine_in.description": "Desfrute do seu pedido no local.",
201
+ "pisell2.fulfillment.table_service": "Serviço à mesa",
202
+ "pisell2.fulfillment.table_service.description": "Receba o seu pedido à mesa.",
203
+ "pisell2.fulfillment.when": "Quando deseja recolher o seu pedido?",
204
+ "pisell2.fulfillment.asap": "O mais rápido possível",
205
+ "pisell2.fulfillment.fastest": "Mais rápido",
206
+ "pisell2.fulfillment.earliest": "Primeira hora de recolha disponível: {time}",
207
+ "pisell2.fulfillment.preparation": "Tempo de preparação: {minutes} min",
208
+ "pisell2.fulfillment.choose": "Escolher uma hora",
209
+ "pisell2.fulfillment.choose.description": "Escolha uma data e uma hora de recolha disponível.",
210
+ "pisell2.fulfillment.picker.title": "Escolher uma hora de recolha",
211
+ "pisell2.fulfillment.picker.description": "São apresentadas apenas as horas atualmente disponíveis.",
212
+ "pisell2.fulfillment.store.time": "Horas apresentadas no fuso horário da loja: {timezone}",
213
+ "pisell2.fulfillment.no.times": "Não há horas de recolha disponíveis nesta data. Escolha outra data.",
214
+ "pisell2.fulfillment.no.dates": "Não há horas de recolha disponíveis de momento.",
215
+ "pisell2.fulfillment.loading": "A carregar as horas de recolha…",
216
+ "pisell2.fulfillment.load.failed": "Não foi possível carregar as horas de recolha. Tente novamente.",
217
+ "pisell2.fulfillment.retry": "Tentar novamente",
218
+ "pisell2.fulfillment.confirm": "Confirmar hora",
219
+ "pisell2.fulfillment.cancel": "Cancelar",
220
+ "pisell2.fulfillment.manual": "Introduzir outra hora",
221
+ "pisell2.fulfillment.manual.description": "Os funcionários podem introduzir uma hora de recolha futura fora dos horários disponíveis.",
222
+ "pisell2.fulfillment.available": "Escolher entre as horas disponíveis",
223
+ "pisell2.fulfillment.date": "Data de recolha",
224
+ "pisell2.fulfillment.time": "Hora de recolha",
225
+ "pisell2.fulfillment.future.required": "Introduza uma data e hora de recolha futuras e válidas.",
226
+ "pisell2.fulfillment.selection.failed": "Não foi possível guardar a sua seleção. Tente novamente.",
227
+ "pisell2.fulfillment.selection.expired": "Esta hora de recolha já não está disponível. Escolha outra hora.",
228
+ "pisell2.fulfillment.order.changed": "O pedido foi alterado. Inicie novamente a finalização da compra.",
229
+ "pisell2.fulfillment.handover.unavailable": "Escolha uma forma de receber o pedido que esteja disponível.",
230
+ "pisell2.fulfillment.mode.unavailable": "A modalidade de horário de recolha selecionada não está disponível.",
231
+ "pisell2.fulfillment.scheduled.required": "Escolha uma data e hora de recolha.",
232
+ "pisell2.fulfillment.invalid.time": "Escolha uma data e hora de recolha válidas.",
233
+ "pisell2.fulfillment.time.past": "A hora de recolha não pode ser no passado.",
234
+ "pisell2.fulfillment.schedule.unavailable": "O horário de recolha não está disponível. Tente novamente.",
235
+ "pisell2.fulfillment.configuration.unavailable": "As definições de recolha não estão disponíveis. Tente novamente.",
236
+ "pisell2.fulfillment.load.fulfillment.failed": "Não foi possível carregar as informações de entrega e recolha do pedido. Tente novamente."
110
237
  }
111
238
  };
112
239
  //#endregion
@@ -0,0 +1,40 @@
1
+ import locales_default from "./locales.js";
2
+ import { locales } from "@pisell/utils";
3
+ //#region src/plus/salesSdk/components/FulfillmentTiming/messages.ts
4
+ /** Also available before the dialog mounts, when loading its configuration fails. */
5
+ function getFulfillmentText(key, locale) {
6
+ var _messages$locales$for;
7
+ return ((_messages$locales$for = locales_default[locales.formatLocale(locale)]) === null || _messages$locales$for === void 0 ? void 0 : _messages$locales$for[key]) || locales_default.en[key];
8
+ }
9
+ const errorKeys = {
10
+ "The order changed. Please start checkout again.": "pisell2.fulfillment.order.changed",
11
+ "The order changed. Please cancel and start checkout again.": "pisell2.fulfillment.order.changed",
12
+ "The order changed. Please choose the pickup time again.": "pisell2.fulfillment.order.changed",
13
+ "Choose an available handover method.": "pisell2.fulfillment.handover.unavailable",
14
+ "Choose a pickup date and time.": "pisell2.fulfillment.scheduled.required",
15
+ "Please choose a pickup time.": "pisell2.fulfillment.scheduled.required",
16
+ "The selected pickup timing mode is unavailable.": "pisell2.fulfillment.mode.unavailable",
17
+ "Choose a valid pickup date and time.": "pisell2.fulfillment.invalid.time",
18
+ "Please choose a valid pickup time.": "pisell2.fulfillment.invalid.time",
19
+ "Pickup date is invalid.": "pisell2.fulfillment.invalid.time",
20
+ "Pickup time cannot be in the past.": "pisell2.fulfillment.time.past",
21
+ "This pickup time is no longer available. Choose another time.": "pisell2.fulfillment.selection.expired",
22
+ "This pickup time is no longer available. Please choose another time.": "pisell2.fulfillment.selection.expired",
23
+ "Unable to load pickup times. Please try again.": "pisell2.fulfillment.load.failed",
24
+ "Pickup times are unavailable. Please try again.": "pisell2.fulfillment.load.failed",
25
+ "Pickup schedule is unavailable. Please try again.": "pisell2.fulfillment.schedule.unavailable",
26
+ "Store settings changed. Please try again.": "pisell2.fulfillment.configuration.unavailable",
27
+ "Store timezone is unavailable.": "pisell2.fulfillment.configuration.unavailable",
28
+ "Store timezone is invalid.": "pisell2.fulfillment.configuration.unavailable",
29
+ "Current time is invalid.": "pisell2.fulfillment.configuration.unavailable",
30
+ "UnifiedBookingSales.getPickupTimingAvailability is not available. Please upgrade pisellos.": "pisell2.fulfillment.configuration.unavailable",
31
+ "UnifiedBookingSales.setPickupTimingSelection is not available. Please upgrade pisellos.": "pisell2.fulfillment.configuration.unavailable",
32
+ "UnifiedBookingSales.setPickupRef is not available. Please upgrade pisellos.": "pisell2.fulfillment.configuration.unavailable"
33
+ };
34
+ function getFulfillmentErrorMessage(error, locale, fallback = "pisell2.fulfillment.selection.failed") {
35
+ const message = error instanceof Error ? error.message : typeof error === "string" ? error : "";
36
+ const key = Object.prototype.hasOwnProperty.call(errorKeys, message) ? errorKeys[message] : void 0;
37
+ return key ? getFulfillmentText(key, locale) : message || getFulfillmentText(fallback, locale);
38
+ }
39
+ //#endregion
40
+ export { getFulfillmentErrorMessage, getFulfillmentText };
@@ -0,0 +1,54 @@
1
+ import "./hosts/createInstanceHostBridge.js";
2
+ import "./holderConfirm/createHolderConfirmBridge.js";
3
+ import "./giftSelect/createGiftSelectBridge.js";
4
+ import "./context/SalesSdkHostBridgesContext.js";
5
+ import "./utils/formatHolderOptions.js";
6
+ import "./utils/enrichCartLineHolderDisplay.js";
7
+ import "./context/SalesSdkHolderContext.js";
8
+ import "../multiCurrencySettlement/index.js";
9
+ import "./context/SalesSdkBusinessAvailabilityContext.js";
10
+ import "./utils/appendPromotionTags.js";
11
+ import "./context/SalesSdkUIHostsContext.js";
12
+ import "./utils/runAddProductFlow.js";
13
+ import "./components/showAddToCartToast.js";
14
+ import "./utils/resolveAddProductDebounceKey.js";
15
+ import "./utils/productSkuOptions.js";
16
+ import "./utils/identity.js";
17
+ import "./utils/resolveInCartQuantityForAddToast.js";
18
+ import "./utils/addProductWithFlowDebounced.js";
19
+ import "./utils/customerAuthGate.js";
20
+ import "./utils/bookingDate.js";
21
+ import "./utils/holderSubmitValidation.js";
22
+ import "./utils/removeOrderProducts.js";
23
+ import "./selectors.js";
24
+ import "./utils/enrich.js";
25
+ import "./giftSelect/createOpenGiftSelectHost.js";
26
+ import "./utils/ensureHoldersBeforeSubmit.js";
27
+ import "./hooks/useSalesSdk.js";
28
+ import "./bookingEditService/BookingEditServiceDrawer.js";
29
+ import "./hosts/BookingEditHostRenderer.js";
30
+ import "./hosts/CustomerAuthHostRenderer.js";
31
+ import "./hooks/useSalesSdkCart.js";
32
+ import "./hooks/useSalesSdkCustomer.js";
33
+ import "./normalProductDetail/NormalProductDetailHostRenderer.js";
34
+ import "./hosts/createOpenBookingEditHost.js";
35
+ import "./hosts/createOpenMultiDaySelectHost.js";
36
+ import "./hosts/createOpenHolderSelectHost.js";
37
+ import "./hosts/createOpenCustomerAuthHost.js";
38
+ import "./demo/hosts/legacyOpenProductDetail.js";
39
+ import "./hosts/createCompositeOpenProductDetailHost.js";
40
+ import "./normalProductDetail/createOpenNormalProductDetailHost.js";
41
+ import "./normalProductDetail/createOpenBookingSelectionFlowHost.js";
42
+ import "./giftSelect/GiftSelectModal.js";
43
+ import "./giftSelect/GiftSelectHostRenderer.js";
44
+ import "./allergy/AllergySelectionModal.js";
45
+ import "./context/SalesSdkProvider.js";
46
+ import "./context/SalesSdkDishContext.js";
47
+ import "./context/SalesSdkBookingContext.js";
48
+ import "./hooks/useSalesSdkSummary.js";
49
+ import "./hooks/useSalesSdkProducts.js";
50
+ import "./demo/index.js";
51
+ import "./hooks/useSalesSdkDish.js";
52
+ import "./hooks/useCurrentSalesSdkDish.js";
53
+ import "./hooks/useSyncOsModule.js";
54
+ export {};
@@ -366,4 +366,4 @@ function createAddProductWithFlowDebounced(deps) {
366
366
  };
367
367
  }
368
368
  //#endregion
369
- export { createAddProductWithFlowDebounced };
369
+ export { createAddProductWithFlowDebounced, shouldBypassAddProductDebounce };
@@ -31,4 +31,4 @@ function subscribeBookingDateChange(bookingTicket, callback) {
31
31
  return typeof off === "function" ? off : () => {};
32
32
  }
33
33
  //#endregion
34
- export { formatBookingDateTime, subscribeBookingDateChange };
34
+ export { BOOKING_CONTEXT_DATE_EVENT, formatBookingDateTime, subscribeBookingDateChange };
@@ -71,4 +71,4 @@ function buildHolderListRequestKey(params) {
71
71
  });
72
72
  }
73
73
  //#endregion
74
- export { buildHolderListRequestKey, buildHolderListRequestParams, enrichCartBookingHolderDisplay, resolveHolderDisplayConfig };
74
+ export { buildHolderListRequestKey, buildHolderListRequestParams, enrichCartBookingHolderDisplay, pickHolderIdFromBooking, resolveHolderDisplayConfig };
@@ -14,4 +14,4 @@ interface AuthModalProps {
14
14
  */
15
15
  declare const AuthModal: React.FC<AuthModalProps>;
16
16
  //#endregion
17
- export { AuthModal, AuthModalProps };
17
+ export { AuthModal };
@@ -1,4 +1,4 @@
1
- import { AuthMethodType, VerificationMethod } from "./shared/types.js";
1
+ import { AuthMethodType, EmailAuthConfig, EmailRegistrationVerification, LoginFormData, OAuthConfig, PhoneAuthConfig, RegisterFormData, UIConfig, VerificationMethod } from "./shared/types.js";
2
2
  import { Login2, Login2Config, Login2Events, Login2Props } from "./Login2.js";
3
3
  import { Register2, Register2Config, Register2Events, Register2Props } from "./Register2.js";
4
- import { AuthModal, AuthModalProps } from "./AuthModal.js";
4
+ import { AuthModal } from "./AuthModal.js";
@@ -226,4 +226,4 @@ interface RegisterFormData {
226
226
  verification_token?: string;
227
227
  }
228
228
  //#endregion
229
- export { AuthMethodType, EmailAuthConfig, LegalTermsConfig, LoginFormData, LoginMethodItem, OAuthConfig, PhoneAuthConfig, RegisterFormData, RegistrationMethodItem, UIConfig, VerificationMethod };
229
+ export { AuthMethodType, EmailAuthConfig, EmailRegistrationVerification, LegalTermsConfig, LoginFormData, LoginMethodItem, OAuthConfig, PhoneAuthConfig, RegisterFormData, RegistrationMethodItem, UIConfig, VerificationMethod };
@@ -13,11 +13,11 @@ require("./HDLKioskIdentityAuthPanel.less");
13
13
  * 运行机制:归一化认证结果或按账号搜索客户,暂存客户对象并只向 Core 返回 customerId。
14
14
  * 边界:本组件不调用 customer.select;订单客户写入和重报价统一由 identity.sync 完成。
15
15
  */
16
- const H5_AUTH_CHANNEL = "online-store-h5";
16
+ const KIOSK_AUTH_CHANNEL = "kiosk";
17
17
  const DEFAULT_PHONE_COUNTRY = "AU";
18
18
  function buildLoginConfig() {
19
19
  return {
20
- channel: H5_AUTH_CHANNEL,
20
+ channel: KIOSK_AUTH_CHANNEL,
21
21
  defaultPhoneCountry: DEFAULT_PHONE_COUNTRY,
22
22
  loginMethods: [{
23
23
  type: "phone",
@@ -7,7 +7,7 @@ let react = require("react");
7
7
  * 只清理由本 Hook 创建的模块。
8
8
  * 边界:不渲染登录 UI,也不读取或写入订单客户。
9
9
  */
10
- const H5_AUTH_CHANNEL = "online-store-h5";
10
+ const KIOSK_AUTH_CHANNEL = "kiosk";
11
11
  const FALLBACK_MODULE_KEY = "hdlKiosk";
12
12
  function resolveModuleKey(sales) {
13
13
  const osKey = sales.osKey || FALLBACK_MODULE_KEY;
@@ -28,7 +28,7 @@ function useHDLKioskH5AuthModule(engineContext, sales) {
28
28
  const module = new RegisterAndLoginClass(moduleName);
29
29
  createdModuleRef.current = module;
30
30
  pisellos.registerModule(module, { otherParams: {
31
- channel: H5_AUTH_CHANNEL,
31
+ channel: KIOSK_AUTH_CHANNEL,
32
32
  platform: "h5",
33
33
  fatherModule: moduleKey
34
34
  } });
@@ -241,6 +241,7 @@ function HDLKioskPaymentRuntime({ active, context, controllerRef, onPaymentResul
241
241
  var _baseSales$getOtherPa;
242
242
  const otherParams = (yield baseSales === null || baseSales === void 0 || (_baseSales$getOtherPa = baseSales.getOtherParams) === null || _baseSales$getOtherPa === void 0 ? void 0 : _baseSales$getOtherPa.call(baseSales)) || (baseSales === null || baseSales === void 0 ? void 0 : baseSales.otherParams) || {};
243
243
  const result = yield globalApp.runFunction("authorizeAction", {
244
+ waitingTemplate: "hdl-kiosk",
244
245
  params: {
245
246
  action: "pay",
246
247
  business_code: otherParams.businessCode || otherParams.business_code,
@@ -3,6 +3,7 @@ const require_objectSpread2 = require("../../../../_virtual/_@oxc-project_runtim
3
3
  const require_asyncToGenerator = require("../../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/asyncToGenerator.js");
4
4
  const require_useLocale = require("../../../../hooks/useLocale.js");
5
5
  const require_fulfillmentTimingBooking = require("../../../../plus/salesSdk/utils/fulfillmentTimingBooking.js");
6
+ const require_messages = require("../../../../plus/salesSdk/components/FulfillmentTiming/messages.js");
6
7
  const require_fulfillmentCheckout = require("../../../../plus/salesSdk/utils/fulfillmentCheckout.js");
7
8
  const require_orderIdentity = require("../../utils/orderIdentity.js");
8
9
  const require_KioskFulfillmentModal = require("./KioskFulfillmentModal.js");
@@ -48,9 +49,8 @@ function useKioskFulfillmentCheckout(options) {
48
49
  const [open, setOpen] = (0, react.useState)(false);
49
50
  const [draft, setDraft] = (0, react.useState)(emptyDraft);
50
51
  const draftRef = (0, react.useRef)(draft);
51
- const chinese = String(locale).startsWith("zh");
52
- const loadError = chinese ? "无法加载取餐信息,请重试。" : "Unable to load order fulfillment. Please retry.";
53
- const changedError = chinese ? "订单已变化,请重新结账。" : "The order changed. Please start checkout again.";
52
+ const loadError = require_messages.getFulfillmentText("pisell2.fulfillment.load.fulfillment.failed", locale);
53
+ const changedError = require_messages.getFulfillmentText("pisell2.fulfillment.order.changed", locale);
54
54
  const update = (0, react.useCallback)((patch) => {
55
55
  draftRef.current = require_objectSpread2._objectSpread2(require_objectSpread2._objectSpread2({}, draftRef.current), patch);
56
56
  if (mounted.current) setDraft(draftRef.current);
@@ -161,7 +161,7 @@ function useKioskFulfillmentCheckout(options) {
161
161
  update({
162
162
  loading: false,
163
163
  saving: false,
164
- error: reason instanceof Error ? reason.message : loadError
164
+ error: require_messages.getFulfillmentErrorMessage(reason, locale, "pisell2.fulfillment.load.fulfillment.failed")
165
165
  });
166
166
  setOpen(true);
167
167
  } else if (pending.current === session && sequence === loadSequence.current) reset();
@@ -177,6 +177,7 @@ function useKioskFulfillmentCheckout(options) {
177
177
  isCurrent,
178
178
  loadAvailability,
179
179
  loadError,
180
+ locale,
180
181
  reset,
181
182
  update
182
183
  ]);
@@ -240,7 +241,7 @@ function useKioskFulfillmentCheckout(options) {
240
241
  } catch (reason) {
241
242
  if (pending.current === session && isCurrent(session)) update({
242
243
  saving: false,
243
- error: reason instanceof Error ? reason.message : loadError
244
+ error: require_messages.getFulfillmentErrorMessage(reason, locale)
244
245
  });
245
246
  else if (pending.current === session) reset();
246
247
  }
@@ -1,6 +1,7 @@
1
1
  const require_runtime = require("../../../../../../../_virtual/_rolldown/runtime.js");
2
2
  let react = require("react");
3
3
  react = require_runtime.__toESM(react);
4
+ let _pisell_utils = require("@pisell/utils");
4
5
  let classnames = require("classnames");
5
6
  classnames = require_runtime.__toESM(classnames);
6
7
  //#region src/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/NavigationHintIcon.tsx
@@ -11,7 +12,7 @@ classnames = require_runtime.__toESM(classnames);
11
12
  const NavigationHintIcon = ({ direction, disabled = false, animated = false, onClick }) => /* @__PURE__ */ react.default.createElement("button", {
12
13
  type: "button",
13
14
  className: (0, classnames.default)("calendar-week-navigation__compact-chevron", `calendar-week-navigation__compact-chevron--${direction}`, animated && "calendar-week-navigation__compact-chevron--animated", disabled && "calendar-week-navigation__compact-chevron--disabled"),
14
- "aria-label": direction === "left" ? "Previous week" : "Next week",
15
+ "aria-label": _pisell_utils.locales.getText(direction === "left" ? "pisell2.event.calendar.previous.week" : "pisell2.event.calendar.next.week"),
15
16
  disabled,
16
17
  onClick
17
18
  }, /* @__PURE__ */ react.default.createElement("svg", {
@@ -7,6 +7,8 @@ var locales_default = {
7
7
  "pisell2.event.calendar.limit.filling.up.fast": "Filling up fast",
8
8
  "pisell2.event.calendar.limit.lots.of.space": "Lots of space",
9
9
  "pisell2.event.calendar.select.date": "Select a date",
10
+ "pisell2.event.calendar.previous.week": "Previous week",
11
+ "pisell2.event.calendar.next.week": "Next week",
10
12
  "pisell2.event.calendar.time.select": "Select a time slot",
11
13
  "pisell2.event.calendar.time.required": "Please select a session time",
12
14
  "pisell2.event.calendar.time.empty": "No time slots are available",
@@ -99,6 +101,8 @@ var locales_default = {
99
101
  "pisell2.event.calendar.limit.filling.up.fast": "名额有限",
100
102
  "pisell2.event.calendar.limit.lots.of.space": "名额充足",
101
103
  "pisell2.event.calendar.select.date": "选择日期",
104
+ "pisell2.event.calendar.previous.week": "上一周",
105
+ "pisell2.event.calendar.next.week": "下一周",
102
106
  "pisell2.event.calendar.time.select": "选择时间段",
103
107
  "pisell2.event.calendar.time.required": "请选择预约时间段",
104
108
  "pisell2.event.calendar.time.empty": "暂无可预约时间段",
@@ -191,6 +195,8 @@ var locales_default = {
191
195
  "pisell2.event.calendar.limit.filling.up.fast": "名額有限",
192
196
  "pisell2.event.calendar.limit.lots.of.space": "名額充足",
193
197
  "pisell2.event.calendar.select.date": "選擇日期",
198
+ "pisell2.event.calendar.previous.week": "上一週",
199
+ "pisell2.event.calendar.next.week": "下一週",
194
200
  "pisell2.event.calendar.time.select": "選擇時間段",
195
201
  "pisell2.event.calendar.time.required": "請選擇預約時間段",
196
202
  "pisell2.event.calendar.time.empty": "暫無可預約時間段",
@@ -283,6 +289,8 @@ var locales_default = {
283
289
  "pisell2.event.calendar.limit.filling.up.fast": "残りわずか",
284
290
  "pisell2.event.calendar.limit.lots.of.space": "空きあり",
285
291
  "pisell2.event.calendar.select.date": "日付を選択",
292
+ "pisell2.event.calendar.previous.week": "前の週",
293
+ "pisell2.event.calendar.next.week": "次の週",
286
294
  "pisell2.event.calendar.time.select": "時間帯を選択",
287
295
  "pisell2.event.calendar.time.required": "予約時間帯を選択してください",
288
296
  "pisell2.event.calendar.time.empty": "予約可能な時間帯がありません",
@@ -375,6 +383,8 @@ var locales_default = {
375
383
  "pisell2.event.calendar.limit.filling.up.fast": "Enchendo rapidamente",
376
384
  "pisell2.event.calendar.limit.lots.of.space": "Muito espaço",
377
385
  "pisell2.event.calendar.select.date": "Selecionar data",
386
+ "pisell2.event.calendar.previous.week": "Semana anterior",
387
+ "pisell2.event.calendar.next.week": "Próxima semana",
378
388
  "pisell2.event.calendar.time.select": "Selecionar horário",
379
389
  "pisell2.event.calendar.time.required": "Selecione um horário de reserva",
380
390
  "pisell2.event.calendar.time.empty": "Não há horários disponíveis",
@@ -4,6 +4,7 @@ const require_objectSpread2 = require("../../../_virtual/_@oxc-project_runtime@0
4
4
  const require_asyncToGenerator = require("../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/asyncToGenerator.js");
5
5
  const require_objectWithoutProperties = require("../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectWithoutProperties.js");
6
6
  const require_index = require("../../../pro/posPermission/index.js");
7
+ const require_useLocale = require("../../../hooks/useLocale.js");
7
8
  const require_index$1 = require("../../../pro/priceKeyboard/components/paymentKeyboard/index.js");
8
9
  const require_index$2 = require("../../../pro/priceKeyboard/components/discountKeyboard/index.js");
9
10
  const require_createHolderConfirmBridge = require("../../salesSdk/holderConfirm/createHolderConfirmBridge.js");
@@ -18,6 +19,7 @@ const require_utils = require("../components/Client/utils.js");
18
19
  const require_SalesSdkProvider = require("../../salesSdk/context/SalesSdkProvider.js");
19
20
  const require_utils$1 = require("../utils.js");
20
21
  const require_SaveConfirmModal = require("../../salesSdk/components/SaveConfirmModal.js");
22
+ const require_messages = require("../../salesSdk/components/FulfillmentTiming/messages.js");
21
23
  const require_FulfillmentReferenceModal = require("../../salesSdk/components/FulfillmentReferenceModal.js");
22
24
  const require_constants = require("../../../components/checkout/constants.js");
23
25
  const require_PaymentMethodRuntime = require("../../../components/checkout/paymentRuntime/PaymentMethodRuntime.js");
@@ -90,6 +92,7 @@ function isPaymentActionRuntimeKey(key) {
90
92
  }
91
93
  function SaleOrderActionProvider({ actionConfigs, actionOverrides, children, context, enableFulfillmentReferencePrompt = false, onExternalPaymentSettled, variant }) {
92
94
  var _engineContext$appHel, _engineContext$appHel2, _engineContext$appHel3, _engineContext$appHel4, _engineContext$appHel5, _engineContext$appHel9, _engineContext$appHel10, _cart$items, _cart$bookings, _sales$bookingTicket2, _sales$bookingTicket3, _tempOrder$order_id, _tempOrder$note, _summary$summary2, _selectFloorConfig$bu;
95
+ const fulfillmentLocale = require_useLocale.default();
93
96
  const Toast = (0, _pisell_materials.useToast)();
94
97
  const engineContext = require_useEngineContext.default();
95
98
  const paymentResultLocale = ((_engineContext$appHel = engineContext.appHelper) === null || _engineContext$appHel === void 0 || (_engineContext$appHel = _engineContext$appHel.utils) === null || _engineContext$appHel === void 0 || (_engineContext$appHel2 = _engineContext$appHel.getApp) === null || _engineContext$appHel2 === void 0 || (_engineContext$appHel2 = _engineContext$appHel2.call(_engineContext$appHel)) === null || _engineContext$appHel2 === void 0 || (_engineContext$appHel2 = _engineContext$appHel2.locales) === null || _engineContext$appHel2 === void 0 || (_engineContext$appHel3 = _engineContext$appHel2.getLocale) === null || _engineContext$appHel3 === void 0 ? void 0 : _engineContext$appHel3.call(_engineContext$appHel2)) || ((_engineContext$appHel4 = engineContext.appHelper) === null || _engineContext$appHel4 === void 0 || (_engineContext$appHel4 = _engineContext$appHel4.utils) === null || _engineContext$appHel4 === void 0 || (_engineContext$appHel4 = _engineContext$appHel4.storage) === null || _engineContext$appHel4 === void 0 || (_engineContext$appHel5 = _engineContext$appHel4.get) === null || _engineContext$appHel5 === void 0 ? void 0 : _engineContext$appHel5.call(_engineContext$appHel4, "umi_locale")) || "en";
@@ -291,7 +294,7 @@ function SaleOrderActionProvider({ actionConfigs, actionOverrides, children, con
291
294
  setShowFulfillmentReference(true);
292
295
  });
293
296
  } catch (error) {
294
- const errorMessage = error instanceof Error ? error.message : String(error);
297
+ const errorMessage = require_messages.getFulfillmentErrorMessage(error, fulfillmentLocale);
295
298
  antd.message.error(errorMessage);
296
299
  settleExternalPayment(options === null || options === void 0 ? void 0 : options.externalRequestId, {
297
300
  status: "failed",
@@ -345,7 +348,7 @@ function SaleOrderActionProvider({ actionConfigs, actionOverrides, children, con
345
348
  if (!pendingAction.shouldSkipPrompt() && fulfillmentReferenceEnabled) yield Promise.resolve(sales.bookingTicket.setPickupRef(buzzer));
346
349
  refreshSalesRootSnapshot === null || refreshSalesRootSnapshot === void 0 || refreshSalesRootSnapshot();
347
350
  } catch (error) {
348
- const errorMessage = error instanceof Error ? error.message : String(error);
351
+ const errorMessage = require_messages.getFulfillmentErrorMessage(error, fulfillmentLocale);
349
352
  antd.message.error(errorMessage);
350
353
  setFulfillmentReferenceSaving(false);
351
354
  return;
@@ -1,9 +1,11 @@
1
1
  const require_runtime = require("../../../../_virtual/_rolldown/runtime.js");
2
2
  const require_objectSpread2 = require("../../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/objectSpread2.js");
3
3
  const require_asyncToGenerator = require("../../../../_virtual/_@oxc-project_runtime@0.122.0/helpers/asyncToGenerator.js");
4
+ const require_useLocale = require("../../../../hooks/useLocale.js");
4
5
  const require_index = require("../../../../components/eventBooking/components/timeResourceSelector/index.js");
5
6
  const require_index$1 = require("../../../../components/eventBooking/components/bookingAvailabilityCalendar/index.js");
6
7
  const require_useAvailability = require("./useAvailability.js");
8
+ const require_messages = require("./messages.js");
7
9
  let dayjs = require("dayjs");
8
10
  dayjs = require_runtime.__toESM(dayjs);
9
11
  let react = require("react");
@@ -54,6 +56,7 @@ function storeMinute(now, timezone) {
54
56
  }
55
57
  /** Adapts Pickup candidates to the same calendar and time widgets used by SKU Detail. */
56
58
  function FulfillmentTimingPicker({ value, onChange, loadAvailability, isPos, mobile, disabled, onStateChange }) {
59
+ const locale = require_useLocale.default();
57
60
  const manual = isPos && value.source === "pos_manual";
58
61
  const queryDate = manual ? void 0 : value.date;
59
62
  const query = require_useAvailability.useAvailability(loadAvailability, true, queryDate);
@@ -145,7 +148,7 @@ function FulfillmentTimingPicker({ value, onChange, loadAvailability, isPos, mob
145
148
  const selectedSlot = availability === null || availability === void 0 ? void 0 : availability.slots.find((slot) => value.instant ? slot.instant === value.instant : slot.date === value.date && slot.time === value.time);
146
149
  const selectedIds = (0, react.useMemo)(() => selectedSlot ? [selectedSlot.id] : [], [selectedSlot === null || selectedSlot === void 0 ? void 0 : selectedSlot.id]);
147
150
  const staleSelection = !manual && !loading && availability && availability.date === value.date && value.time && !selectedSlot ? text("selection.expired") : void 0;
148
- const reportedError = queryError || changeError || manualError || staleSelection;
151
+ const reportedError = queryError ? require_messages.getFulfillmentErrorMessage(queryError, locale, "pisell2.fulfillment.load.failed") : changeError || manualError || staleSelection;
149
152
  const stateCallbackRef = (0, react.useRef)(onStateChange);
150
153
  stateCallbackRef.current = onStateChange;
151
154
  (0, react.useEffect)(() => {
@@ -20,7 +20,8 @@ const knownModes = new Set([
20
20
  "pick_up",
21
21
  "takeaway",
22
22
  "delivery",
23
- "dine_in"
23
+ "dine_in",
24
+ "table_service"
24
25
  ]);
25
26
  const serviceLabel = (mode) => knownModes.has(mode) ? text(mode) : mode.replace(/_/g, " ");
26
27
  const summary = (value) => value.date && value.time ? `${value.date} · ${value.time}` : "";