@pisell/private-materials 6.11.68 → 6.11.69

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 (106) 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.js +2 -2
  6. package/build/lowcode/view.js +2 -2
  7. package/es/components/booking/forms/sendModal/useSendModal.d.ts +1 -0
  8. package/es/components/booking/info/service/addService/utils.d.ts +1 -1
  9. package/es/components/booking/info/service2/utils.d.ts +1 -1
  10. package/es/components/booking/info2/service/addService/utils.d.ts +1 -1
  11. package/es/components/booking/utils.d.ts +2 -2
  12. package/es/components/eftposPay/amount.d.ts +1 -1
  13. package/es/components/eftposPay/device.d.ts +1 -1
  14. package/es/components/eftposPay/hooks.d.ts +2 -2
  15. package/es/components/eftposPay/store/index.d.ts +5 -5
  16. package/es/components/eventBooking/components/ErrorTip/index.d.ts +1 -0
  17. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/CallToBook/index.d.ts +1 -0
  18. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +1 -0
  19. package/es/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +1 -0
  20. package/es/components/shoppingCart/components/Empty/index.d.ts +1 -0
  21. package/es/plus/pisellReservation/PisellReservation.js +31 -41
  22. package/es/plus/pisellReservation/floorPlanApi.js +3 -1
  23. package/es/plus/pisellReservation/hooks/usePisellReservationBookingData.d.ts +2 -0
  24. package/es/plus/pisellReservation/hooks/usePisellReservationBookingData.js +4 -1
  25. package/es/plus/pisellReservation/hooks/usePisellReservationResourceTableData.d.ts +1 -1
  26. package/es/plus/pisellReservation/hooks/usePisellReservationResourceTableData.js +2 -1
  27. package/es/plus/pisellReservation/index.d.ts +1 -1
  28. package/es/plus/pisellReservation/index.js +1 -1
  29. package/es/plus/pisellReservation/locales-ja.d.ts +69 -0
  30. package/es/plus/pisellReservation/locales-ja.js +68 -0
  31. package/es/plus/pisellReservation/locales-pt.d.ts +69 -0
  32. package/es/plus/pisellReservation/locales-pt.js +68 -0
  33. package/es/plus/pisellReservation/locales.d.ts +161 -0
  34. package/es/plus/pisellReservation/locales.js +35 -4
  35. package/es/plus/pisellReservation/reservationCards.js +7 -4
  36. package/es/plus/pisellReservation/reservationConstants.d.ts +33 -0
  37. package/es/plus/pisellReservation/reservationConstants.js +4 -1
  38. package/es/plus/pisellReservation/reservationMock.d.ts +10 -4
  39. package/es/plus/pisellReservation/reservationMock.js +94 -39
  40. package/es/plus/pisellReservation/useReservationFloorMapMerged.d.ts +2 -0
  41. package/es/plus/pisellReservation/useReservationFloorMapMerged.js +8 -5
  42. package/es/plus/pisellReservation/useReservationFloorPlan.d.ts +2 -0
  43. package/es/plus/pisellReservation/useReservationFloorPlan.js +5 -4
  44. package/es/plus/pisellSalesManagement/config/booking.d.ts +1 -0
  45. package/es/plus/pisellSalesManagement/hooks/useSalesGridData.d.ts +1 -0
  46. package/es/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.d.ts +1 -1
  47. package/es/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.d.ts +1 -1
  48. package/es/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.d.ts +1 -1
  49. package/es/plus/productSelect/ProductCard/SkuCard/components/Duration/index.d.ts +1 -1
  50. package/es/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.d.ts +1 -1
  51. package/es/plus/productSelect/ProductCard/SkuCard/components/Resource/index.d.ts +1 -1
  52. package/es/plus/productSelect/ProductCard/SkuCard/components/Stock/index.d.ts +1 -1
  53. package/es/plus/productSelect/ProductCard/SkuCard/components/Time/index.d.ts +1 -1
  54. package/es/plus/productSelect/ProductCard/utils.d.ts +1 -1
  55. package/es/plus/selectHolder/components/ErrorTip/index.d.ts +1 -0
  56. package/lib/components/booking/forms/sendModal/useSendModal.d.ts +1 -0
  57. package/lib/components/booking/info/service/addService/utils.d.ts +1 -1
  58. package/lib/components/booking/info/service2/utils.d.ts +1 -1
  59. package/lib/components/booking/info2/service/addService/utils.d.ts +1 -1
  60. package/lib/components/booking/utils.d.ts +2 -2
  61. package/lib/components/eftposPay/amount.d.ts +1 -1
  62. package/lib/components/eftposPay/device.d.ts +1 -1
  63. package/lib/components/eftposPay/hooks.d.ts +2 -2
  64. package/lib/components/eftposPay/store/index.d.ts +5 -5
  65. package/lib/components/eventBooking/components/ErrorTip/index.d.ts +1 -0
  66. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/CallToBook/index.d.ts +1 -0
  67. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/WeekItem/index.d.ts +1 -0
  68. package/lib/components/eventBooking/components/bookingAvailabilityCalendar/components/CalendarDate/CalenDateWeek/index.d.ts +1 -0
  69. package/lib/components/shoppingCart/components/Empty/index.d.ts +1 -0
  70. package/lib/plus/pisellReservation/PisellReservation.js +28 -64
  71. package/lib/plus/pisellReservation/floorPlanApi.js +7 -5
  72. package/lib/plus/pisellReservation/hooks/usePisellReservationBookingData.d.ts +2 -0
  73. package/lib/plus/pisellReservation/hooks/usePisellReservationBookingData.js +4 -1
  74. package/lib/plus/pisellReservation/hooks/usePisellReservationResourceTableData.d.ts +1 -1
  75. package/lib/plus/pisellReservation/hooks/usePisellReservationResourceTableData.js +2 -1
  76. package/lib/plus/pisellReservation/index.d.ts +1 -1
  77. package/lib/plus/pisellReservation/index.js +2 -2
  78. package/lib/plus/pisellReservation/locales-ja.d.ts +69 -0
  79. package/lib/plus/pisellReservation/locales-ja.js +91 -0
  80. package/lib/plus/pisellReservation/locales-pt.d.ts +69 -0
  81. package/lib/plus/pisellReservation/locales-pt.js +91 -0
  82. package/lib/plus/pisellReservation/locales.d.ts +161 -0
  83. package/lib/plus/pisellReservation/locales.js +45 -4
  84. package/lib/plus/pisellReservation/reservationCards.js +7 -8
  85. package/lib/plus/pisellReservation/reservationConstants.d.ts +33 -0
  86. package/lib/plus/pisellReservation/reservationConstants.js +10 -0
  87. package/lib/plus/pisellReservation/reservationMock.d.ts +10 -4
  88. package/lib/plus/pisellReservation/reservationMock.js +106 -19
  89. package/lib/plus/pisellReservation/useReservationFloorMapMerged.d.ts +2 -0
  90. package/lib/plus/pisellReservation/useReservationFloorMapMerged.js +10 -4
  91. package/lib/plus/pisellReservation/useReservationFloorPlan.d.ts +2 -0
  92. package/lib/plus/pisellReservation/useReservationFloorPlan.js +4 -3
  93. package/lib/plus/pisellSalesManagement/config/booking.d.ts +1 -0
  94. package/lib/plus/pisellSalesManagement/hooks/useSalesGridData.d.ts +1 -0
  95. package/lib/plus/productSelect/ProductCard/SkuCard/components/Capacity/index.d.ts +1 -1
  96. package/lib/plus/productSelect/ProductCard/SkuCard/components/CardMask/index.d.ts +1 -1
  97. package/lib/plus/productSelect/ProductCard/SkuCard/components/Countdown/index.d.ts +1 -1
  98. package/lib/plus/productSelect/ProductCard/SkuCard/components/Duration/index.d.ts +1 -1
  99. package/lib/plus/productSelect/ProductCard/SkuCard/components/MemberPrice/index.d.ts +1 -1
  100. package/lib/plus/productSelect/ProductCard/SkuCard/components/Resource/index.d.ts +1 -1
  101. package/lib/plus/productSelect/ProductCard/SkuCard/components/Stock/index.d.ts +1 -1
  102. package/lib/plus/productSelect/ProductCard/SkuCard/components/Time/index.d.ts +1 -1
  103. package/lib/plus/productSelect/ProductCard/utils.d.ts +1 -1
  104. package/lib/plus/selectHolder/components/ErrorTip/index.d.ts +1 -0
  105. package/lowcode/pisell-reservation/meta.ts +1 -1
  106. package/package.json +4 -4
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import { SendModalValues } from './index';
2
3
  declare const useSendModal: (bookingId?: number) => {
3
4
  open: boolean;
@@ -6,7 +6,7 @@ export declare const getDurationProps: ({ cacheItem, useStartTime, currentResour
6
6
  type: string;
7
7
  value: number;
8
8
  };
9
- locale: any;
9
+ locale: string;
10
10
  slice: any;
11
11
  selectProps: {
12
12
  size: string;
@@ -216,7 +216,7 @@ export declare const updateAppointmentServicePrice: (state: any, { start_date, e
216
216
  * @Author: WangHan
217
217
  * @Date: 2024-12-24 11:32
218
218
  */
219
- export declare const updateServicePrice: (state: any) => never[] | Promise<any>;
219
+ export declare const updateServicePrice: (state: any) => Promise<any> | never[];
220
220
  /**
221
221
  * @description: 根据_id和sourceProductId来获取主商品已选择的赠品
222
222
  * @param {string} productId 主商品_id
@@ -7,7 +7,7 @@ export declare const getDurationProps: ({ cacheItem, useStartTime, currentResour
7
7
  type: string;
8
8
  value: number;
9
9
  };
10
- locale: any;
10
+ locale: string;
11
11
  slice: any;
12
12
  selectProps: {
13
13
  size: string;
@@ -175,10 +175,10 @@ export declare const getProductTotalPrice: (item: any, options?: {
175
175
  export declare const getDuration: (duration: number | {
176
176
  type: string;
177
177
  value: number;
178
- }) => number | {
178
+ }) => number | "flexible" | {
179
179
  type: string;
180
180
  value: number;
181
- } | "flexible";
181
+ };
182
182
  export declare const isWalkIn: (customer_id?: number | string) => boolean;
183
183
  export declare const getIsEdit: (state: any) => boolean;
184
184
  export {};
@@ -9,7 +9,7 @@ import { PosProps } from './const';
9
9
  */
10
10
  declare const _default: ({ className, onChange, onClose, formatAmount, isMobile, net, client }: {
11
11
  className?: string | undefined;
12
- onChange?: ((status: "page" | "success" | "fail" | "print" | "mark_tx_processed", params?: string | {
12
+ onChange?: ((status: "page" | "success" | "print" | "fail" | "mark_tx_processed", params?: string | {
13
13
  [keys: string]: unknown;
14
14
  } | undefined, other?: any) => void) | undefined;
15
15
  onClose: () => void;
@@ -11,7 +11,7 @@ import './device.less';
11
11
  declare const _default: ({ api, onChange, onClose, className, device_number, isMobile, net, client, formatAmount, containerStyle, }: {
12
12
  api: PayProps['api'];
13
13
  className?: string | undefined;
14
- onChange?: ((status: "page" | "success" | "fail" | "print" | "mark_tx_processed", params?: string | {
14
+ onChange?: ((status: "page" | "success" | "print" | "fail" | "mark_tx_processed", params?: string | {
15
15
  [keys: string]: unknown;
16
16
  } | undefined, other?: any) => void) | undefined;
17
17
  onClose: () => void;
@@ -15,11 +15,11 @@ export declare const useStoreRef: <T extends {
15
15
  readonly numRef: React.MutableRefObject<string | number | undefined>;
16
16
  readonly orderIdRef: React.MutableRefObject<string | number>;
17
17
  readonly modeRef: React.MutableRefObject<ModeEnum>;
18
- readonly statusRef: React.MutableRefObject<"loading" | "warn" | "success" | "fail" | "init" | "pedding" | "resove" | "reject" | "question">;
18
+ readonly statusRef: React.MutableRefObject<"loading" | "success" | "warn" | "fail" | "init" | "pedding" | "resove" | "reject" | "question">;
19
19
  readonly netRef: React.MutableRefObject<boolean | undefined>;
20
20
  readonly symbolRef: React.MutableRefObject<string>;
21
21
  readonly amountRef: React.MutableRefObject<string | number>;
22
- readonly eftposRef: React.MutableRefObject<"stripe" | "payo" | "tyro" | "windcave" | "linkly" | "huifu">;
22
+ readonly eftposRef: React.MutableRefObject<"payo" | "tyro" | "windcave" | "stripe" | "linkly" | "huifu">;
23
23
  readonly clientRef: React.MutableRefObject<ClientEnum>;
24
24
  readonly dataRef: React.MutableRefObject<import("./store").State>;
25
25
  };
@@ -176,7 +176,7 @@ export declare const updateCustom: (payload: {
176
176
  export declare const updateStatus: (status: 'loading' | 'warn' | 'fail' | 'success' | 'question') => {
177
177
  type: EActionTypes;
178
178
  payload: {
179
- status: "loading" | "warn" | "success" | "fail" | "question";
179
+ status: "loading" | "success" | "warn" | "fail" | "question";
180
180
  };
181
181
  };
182
182
  /**
@@ -297,10 +297,10 @@ export declare const backUpFree: (payload: Partial<State>) => {
297
297
  name?: string | undefined;
298
298
  symbol?: string | undefined;
299
299
  amount?: string | number | undefined;
300
- mode?: "refund" | "fullPay" | "pay" | "query" | undefined;
300
+ mode?: "pay" | "refund" | "fullPay" | "query" | undefined;
301
301
  order_id?: string | number | undefined;
302
- eftpos?: "stripe" | "payo" | "tyro" | "windcave" | "linkly" | "huifu" | undefined;
303
- action?: "amount" | "deviceList" | "pay" | undefined;
302
+ eftpos?: "payo" | "tyro" | "windcave" | "stripe" | "linkly" | "huifu" | undefined;
303
+ action?: "pay" | "amount" | "deviceList" | undefined;
304
304
  key?: number | undefined;
305
305
  step?: number | undefined;
306
306
  title?: string | undefined;
@@ -310,7 +310,7 @@ export declare const backUpFree: (payload: Partial<State>) => {
310
310
  net?: boolean | undefined;
311
311
  component?: string | undefined;
312
312
  form?: string | undefined;
313
- status?: "loading" | "warn" | "success" | "fail" | "init" | "pedding" | "resove" | "reject" | "question" | undefined;
313
+ status?: "loading" | "success" | "warn" | "fail" | "init" | "pedding" | "resove" | "reject" | "question" | undefined;
314
314
  warn?: string | undefined;
315
315
  steps?: {
316
316
  /** 用于重置当前步骤 */
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import './index.less';
2
3
  declare const ErrorTip: ({ text }: any) => import("react").JSX.Element;
3
4
  export default ErrorTip;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import './index.less';
2
3
  declare type CallToBookProps = {
3
4
  show: boolean;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import './index.less';
2
3
  declare const WeekItem: (props: any) => import("react").JSX.Element;
3
4
  export default WeekItem;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import './index.less';
2
3
  declare type CalenDateWeekProps = {
3
4
  currentDate: string;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import './index.less';
2
3
  declare const Empty: (props: any) => import("react").JSX.Element;
3
4
  export default Empty;
@@ -275,6 +275,10 @@ var PisellReservation = function PisellReservation(props) {
275
275
  var effectiveFloorPlanCode = floorPlanCode !== null && floorPlanCode !== void 0 ? floorPlanCode : PISELL_RESERVATION_FLOOR_PLAN_CODE;
276
276
  var engineCtx = useEngineContext();
277
277
  var pisellos = usePisellOS();
278
+ /** 低代码里 context 常每次给新 `pisellos` 对象,勿把 `pisellos` 放进 effect 依赖 */
279
+ var pisellosRef = useRef(pisellos);
280
+ pisellosRef.current = pisellos;
281
+ var hasPisellosGetModule = typeof (pisellos === null || pisellos === void 0 ? void 0 : pisellos.getModule) === 'function';
278
282
  var engineLocale = (engineCtx === null || engineCtx === void 0 || (_engineCtx$engine = engineCtx.engine) === null || _engineCtx$engine === void 0 || (_engineCtx$engine = _engineCtx$engine.props) === null || _engineCtx$engine === void 0 ? void 0 : _engineCtx$engine.locale) || 'zh-CN';
279
283
  var app = engineCtx === null || engineCtx === void 0 || (_engineCtx$appHelper = engineCtx.appHelper) === null || _engineCtx$appHelper === void 0 || (_engineCtx$appHelper = _engineCtx$appHelper.utils) === null || _engineCtx$appHelper === void 0 || (_engineCtx$appHelper$ = _engineCtx$appHelper.getApp) === null || _engineCtx$appHelper$ === void 0 ? void 0 : _engineCtx$appHelper$.call(_engineCtx$appHelper);
280
284
  var router = app === null || app === void 0 || (_app$router = app.router) === null || _app$router === void 0 || (_app$router$getRoutes = _app$router.getRoutes) === null || _app$router$getRoutes === void 0 ? void 0 : _app$router$getRoutes.call(_app$router);
@@ -403,11 +407,11 @@ var PisellReservation = function PisellReservation(props) {
403
407
  var scheduleAtMs = schedule.at != null && dayjs(schedule.at).isValid() ? dayjs(schedule.at).valueOf() : null;
404
408
  var scheduleDayMs = dayjs(schedule.date).startOf('day').valueOf();
405
409
 
406
- /** 受控日程由父级直接改 value 时,同样走防抖提交 */
410
+ /** 受控日程由父级直接改 value 时,同样走防抖提交(勿依赖 `schedule` 引用,父级易每次新建对象) */
407
411
  useEffect(function () {
408
412
  if (scheduleValueProp === undefined) return;
409
- queueCommittedSchedule(schedule);
410
- }, [scheduleAtMs, scheduleDayMs, scheduleValueProp, schedule, queueCommittedSchedule]);
413
+ queueCommittedSchedule(scheduleRef.current);
414
+ }, [scheduleAtMs, scheduleDayMs, scheduleValueProp, queueCommittedSchedule]);
411
415
 
412
416
  /**
413
417
  * 「当前时刻」预约列表(宿主算 or 本地 filter):
@@ -425,14 +429,17 @@ var PisellReservation = function PisellReservation(props) {
425
429
  var salesBookingRequestRef = useRef(0);
426
430
  useEffect(function () {
427
431
  var _salesModule;
432
+ var pisellosNow = pisellosRef.current;
428
433
  if (!isInternalListData) {
429
- setSalesResourceBookings(null);
430
- console.warn('[PisellReservation] sales.getResourceBookingList rejected !isInternalListData');
434
+ setSalesResourceBookings(function (p) {
435
+ return p == null ? p : null;
436
+ });
431
437
  return;
432
438
  }
433
- if (!(pisellos !== null && pisellos !== void 0 && pisellos.getModule)) {
434
- setSalesResourceBookings(null);
435
- console.warn('[PisellReservation] sales.getResourceBookingList rejected !pisellos?.getModule');
439
+ if (!(pisellosNow !== null && pisellosNow !== void 0 && pisellosNow.getModule)) {
440
+ setSalesResourceBookings(function (p) {
441
+ return p == null ? p : null;
442
+ });
436
443
  return;
437
444
  }
438
445
  if (!(debouncedSchedule !== null && debouncedSchedule !== void 0 && debouncedSchedule.at) || !dayjs(debouncedSchedule.at).isValid()) {
@@ -448,16 +455,18 @@ var PisellReservation = function PisellReservation(props) {
448
455
  }
449
456
  var salesModule;
450
457
  try {
451
- salesModule = pisellos.getModule('sales');
458
+ salesModule = pisellosNow.getModule('sales');
452
459
  } catch (_unused) {
453
- setSalesResourceBookings(null);
454
- console.warn("[PisellReservation] sales.getResourceBookingList rejected salesModule = pisellos.getModule('sales')");
460
+ setSalesResourceBookings(function (p) {
461
+ return p == null ? p : null;
462
+ });
455
463
  return;
456
464
  }
457
465
  var fn = (_salesModule = salesModule) === null || _salesModule === void 0 ? void 0 : _salesModule.getResourceBookingList;
458
466
  if (typeof fn !== 'function') {
459
- setSalesResourceBookings(null);
460
- console.warn("[PisellReservation] sales.getResourceBookingList rejected typeof fn !== 'function'", fn);
467
+ setSalesResourceBookings(function (p) {
468
+ return p == null ? p : null;
469
+ });
461
470
  return;
462
471
  }
463
472
  var reqId = ++salesBookingRequestRef.current;
@@ -494,7 +503,7 @@ var PisellReservation = function PisellReservation(props) {
494
503
  console.warn('[PisellReservation] sales.getResourceBookingList error', e);
495
504
  revertToLocalFilter();
496
505
  }
497
- }, [isInternalListData, pisellos, resourceBoardData.loading, floorDayBookingData.loading, floorDayBookingData.data, (debouncedSchedule === null || debouncedSchedule === void 0 ? void 0 : debouncedSchedule.at) != null && dayjs(debouncedSchedule.at).isValid() ? dayjs(debouncedSchedule.at).valueOf() : null]);
506
+ }, [isInternalListData, hasPisellosGetModule, resourceBoardData.loading, floorDayBookingData.loading, floorDayBookingData.data, (debouncedSchedule === null || debouncedSchedule === void 0 ? void 0 : debouncedSchedule.at) != null && dayjs(debouncedSchedule.at).isValid() ? dayjs(debouncedSchedule.at).valueOf() : null]);
498
507
 
499
508
  /**
500
509
  * 时间轴折线:`sales.getTimelineHighlights(预约列表, 轴起, 轴止)` → number[],与轴格对齐后交给 PisellTimeNavigator。
@@ -514,13 +523,14 @@ var PisellReservation = function PisellReservation(props) {
514
523
  useEffect(function () {
515
524
  var _salesModule2, _timeNavigatorPropsPr;
516
525
  if (!isInternalListData) return;
517
- if (!(pisellos !== null && pisellos !== void 0 && pisellos.getModule)) return;
526
+ var pisellosNow = pisellosRef.current;
527
+ if (!(pisellosNow !== null && pisellosNow !== void 0 && pisellosNow.getModule)) return;
518
528
  if (resourceBoardData.loading || floorDayBookingData.loading) return;
519
529
  var bookingList = floorDayBookingData.data;
520
530
  if (!Array.isArray(bookingList)) return;
521
531
  var salesModule;
522
532
  try {
523
- salesModule = pisellos.getModule('sales');
533
+ salesModule = pisellosNow.getModule('sales');
524
534
  } catch (_unused2) {
525
535
  return;
526
536
  }
@@ -567,7 +577,7 @@ var PisellReservation = function PisellReservation(props) {
567
577
  } catch (e) {
568
578
  console.warn('[PisellReservation] sales.getTimelineHighlights 同步调用异常', e);
569
579
  }
570
- }, [isInternalListData, pisellos, resourceBoardData.loading, floorDayBookingData.loading, floorDayBookingData.data, scheduleDayMs, timeNavigatorPropsProp === null || timeNavigatorPropsProp === void 0 || (_timeNavigatorPropsPr2 = timeNavigatorPropsProp.range) === null || _timeNavigatorPropsPr2 === void 0 ? void 0 : _timeNavigatorPropsPr2.start, timeNavigatorPropsProp === null || timeNavigatorPropsProp === void 0 || (_timeNavigatorPropsPr3 = timeNavigatorPropsProp.range) === null || _timeNavigatorPropsPr3 === void 0 ? void 0 : _timeNavigatorPropsPr3.end]);
580
+ }, [isInternalListData, hasPisellosGetModule, resourceBoardData.loading, floorDayBookingData.loading, floorDayBookingData.data, scheduleDayMs, timeNavigatorPropsProp === null || timeNavigatorPropsProp === void 0 || (_timeNavigatorPropsPr2 = timeNavigatorPropsProp.range) === null || _timeNavigatorPropsPr2 === void 0 ? void 0 : _timeNavigatorPropsPr2.start, timeNavigatorPropsProp === null || timeNavigatorPropsProp === void 0 || (_timeNavigatorPropsPr3 = timeNavigatorPropsProp.range) === null || _timeNavigatorPropsPr3 === void 0 ? void 0 : _timeNavigatorPropsPr3.end]);
571
581
  var tables = useMemo(function () {
572
582
  return buildReservationMergedTableRows({
573
583
  dataSourcesProp: dataSourcesProp,
@@ -665,28 +675,6 @@ var PisellReservation = function PisellReservation(props) {
665
675
  var dataSources = useMemo(function () {
666
676
  return _objectSpread(_objectSpread({}, dataSourcesProp), {}, _defineProperty({}, gridDataSourceKey, tables));
667
677
  }, [gridDataSourceKey, tables, dataSourcesProp]);
668
-
669
- /** 调试:网格 booking / 平面图合并用数据 / 合并后的 tables */
670
- useEffect(function () {
671
- var gridBookingList = isInternalListData ? gridBookingData.data : dataProp !== null && dataProp !== void 0 ? dataProp : [];
672
- var floorDayBookingList = isInternalListData ? floorDayBookingData.data : undefined;
673
- console.log('[PisellReservation] booking 数据', {
674
- isInternalListData: isInternalListData,
675
- gridLoading: isInternalListData ? gridBookingData.loading : undefined,
676
- floorDayLoading: isInternalListData ? floorDayBookingData.loading : undefined,
677
- resourceLoading: isInternalListData ? resourceBoardData.loading : undefined,
678
- gridBookingListLength: Array.isArray(gridBookingList) ? gridBookingList.length : 0,
679
- floorDayBookingListLength: Array.isArray(floorDayBookingList) ? floorDayBookingList.length : 0,
680
- salesResourceBookingsLength: salesResourceBookings == null ? null : salesResourceBookings.length,
681
- gridBookingList: gridBookingList,
682
- floorDayBookingList: floorDayBookingList,
683
- salesResourceBookings: salesResourceBookings
684
- });
685
- console.log('[PisellReservation] tables 数据', {
686
- length: tables.length,
687
- tables: tables
688
- });
689
- }, [isInternalListData, gridBookingData.loading, gridBookingData.data, floorDayBookingData.loading, floorDayBookingData.data, resourceBoardData.loading, dataProp, salesResourceBookings, tables]);
690
678
  var renderItemByKind = useMemo(function () {
691
679
  return getReservationRenderItemByKind(dataSources);
692
680
  }, [dataSources]);
@@ -700,7 +688,8 @@ var PisellReservation = function PisellReservation(props) {
700
688
  resolvedFloorPlanId: resolvedFloorPlanId,
701
689
  effectiveFloorPlanCode: effectiveFloorPlanCode,
702
690
  gridDataSourceKey: gridDataSourceKey,
703
- floorMapConfigFromProp: floorMapProp === null || floorMapProp === void 0 ? void 0 : floorMapProp.floorMapConfig
691
+ floorMapConfigFromProp: floorMapProp === null || floorMapProp === void 0 ? void 0 : floorMapProp.floorMapConfig,
692
+ engineLocale: engineLocale
704
693
  }),
705
694
  baseFloorConfig = _useReservationFloorP.baseFloorConfig,
706
695
  floorPlanRemoteId = _useReservationFloorP.floorPlanRemoteId,
@@ -750,7 +739,8 @@ var PisellReservation = function PisellReservation(props) {
750
739
  floorMapLayoutRef: floorMapLayoutRef,
751
740
  reservationFloorMapViewportOverlay: reservationFloorMapViewportOverlay,
752
741
  setRemoteFloorPlanView: setRemoteFloorPlanView,
753
- floorMapItemClickBefore: floorMapItemClickBefore
742
+ floorMapItemClickBefore: floorMapItemClickBefore,
743
+ engineLocale: engineLocale
754
744
  });
755
745
  var data = isInternalListData ? gridBookingData.data : dataProp !== null && dataProp !== void 0 ? dataProp : [];
756
746
  var loading = isInternalListData ? gridBookingData.loading : loadingProp !== null && loadingProp !== void 0 ? loadingProp : false;
@@ -14,8 +14,10 @@ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" ==
14
14
  * 店铺平面图 HTTP 接口(/shop/schedule/floor-plan)与编辑态 {@link FloorMapViewConfig} 的映射。
15
15
  */
16
16
  import { PisellToast } from '@pisell/materials';
17
+ import { locales } from '@pisell/utils';
17
18
  import { request } from "../../utils";
18
19
  import { RESERVATION_BOUND_TABLE_ELEMENT_KIND } from "./reservationMock";
20
+ var I18N_FLOOR_PLAN_SAVE_FAILED = 'pisell-reservation.floor-plan.save-failed';
19
21
 
20
22
  /** 未传 floorPlanId 时 PisellReservation 用于 GET/PUT 的占位 id */
21
23
  export var RESERVATION_DEFAULT_FLOOR_PLAN_ID = 1;
@@ -349,7 +351,7 @@ function _putShopFloorPlan() {
349
351
  _context3.next = 7;
350
352
  break;
351
353
  }
352
- msg = (res === null || res === void 0 ? void 0 : res.message) || (_typeof(res === null || res === void 0 ? void 0 : res.data) === 'object' && res !== null && res !== void 0 && res.data && 'message' in res.data && typeof res.data.message === 'string' ? res.data.message : null) || '平面图保存失败';
354
+ msg = (res === null || res === void 0 ? void 0 : res.message) || (_typeof(res === null || res === void 0 ? void 0 : res.data) === 'object' && res !== null && res !== void 0 && res.data && 'message' in res.data && typeof res.data.message === 'string' ? res.data.message : null) || locales.getText(I18N_FLOOR_PLAN_SAVE_FAILED);
353
355
  throw new Error(msg);
354
356
  case 7:
355
357
  return _context3.abrupt("return", (_res$data = res === null || res === void 0 ? void 0 : res.data) !== null && _res$data !== void 0 ? _res$data : res);
@@ -1,4 +1,6 @@
1
1
  import { type Dayjs } from 'dayjs';
2
+ /** 避免 `?? []` 每次 render 新数组引用,触发依赖 list 的 effect 死循环 */
3
+ export declare const EMPTY_RESERVATION_LIST: unknown[];
2
4
  /** 营业日锚定:当日 02:00 — 次日 02:00(与时间轴默认一致) */
3
5
  export declare function bookingTimeWindowForAnchorDay(anchorDay: Dayjs): [Dayjs, Dayjs];
4
6
  /**
@@ -23,6 +23,9 @@ import { getUniqueId } from '@pisell/utils';
23
23
  import { defaultPaymentStatusKeys } from "../../pisellSalesManagement/config/booking";
24
24
  import { formatBookingResult, getBookingList } from "../../pisellSalesGrid/serve";
25
25
 
26
+ /** 避免 `?? []` 每次 render 新数组引用,触发依赖 list 的 effect 死循环 */
27
+ export var EMPTY_RESERVATION_LIST = [];
28
+
26
29
  /** 营业日锚定:当日 02:00 — 次日 02:00(与时间轴默认一致) */
27
30
  export function bookingTimeWindowForAnchorDay(anchorDay) {
28
31
  var d0 = anchorDay.startOf('day');
@@ -171,7 +174,7 @@ export function usePisellReservationBookingData(enabled, options) {
171
174
  var refreshAsync = useCallback(function () {
172
175
  return req.runAsync(requestParams);
173
176
  }, [req, requestParams]);
174
- var data = (_req$data$list = (_req$data = req.data) === null || _req$data === void 0 ? void 0 : _req$data.list) !== null && _req$data$list !== void 0 ? _req$data$list : [];
177
+ var data = (_req$data$list = (_req$data = req.data) === null || _req$data === void 0 ? void 0 : _req$data.list) !== null && _req$data$list !== void 0 ? _req$data$list : EMPTY_RESERVATION_LIST;
175
178
  var total = (_req$data$count = (_req$data2 = req.data) === null || _req$data2 === void 0 ? void 0 : _req$data2.count) !== null && _req$data$count !== void 0 ? _req$data$count : 0;
176
179
  var loading = req.loading;
177
180
  return {
@@ -1,3 +1,3 @@
1
- import type { UsePisellReservationBookingDataResult } from './usePisellReservationBookingData';
1
+ import { type UsePisellReservationBookingDataResult } from './usePisellReservationBookingData';
2
2
  /** 与 {@link usePisellReservationBookingData} 同形,便于 PisellRecordBoard 无感切换数据源 */
3
3
  export declare function usePisellReservationResourceTableData(enabled: boolean): UsePisellReservationBookingDataResult;
@@ -8,6 +8,7 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
8
8
  import { useCallback, useEffect, useMemo } from 'react';
9
9
  import { useMemoizedFn, useRequest } from 'ahooks';
10
10
  import { getFormResourcePage } from "../serve/formResourcePage";
11
+ import { EMPTY_RESERVATION_LIST } from "./usePisellReservationBookingData";
11
12
  var RESOURCE_PAGE_NUM = 999;
12
13
 
13
14
  /** 与 {@link usePisellReservationBookingData} 同形,便于 PisellRecordBoard 无感切换数据源 */
@@ -52,7 +53,7 @@ export function usePisellReservationResourceTableData(enabled) {
52
53
  var searchParams = useMemo(function () {
53
54
  return {};
54
55
  }, []);
55
- var data = (_req$data$list = (_req$data = req.data) === null || _req$data === void 0 ? void 0 : _req$data.list) !== null && _req$data$list !== void 0 ? _req$data$list : [];
56
+ var data = (_req$data$list = (_req$data = req.data) === null || _req$data === void 0 ? void 0 : _req$data.list) !== null && _req$data$list !== void 0 ? _req$data$list : EMPTY_RESERVATION_LIST;
56
57
  var total = (_req$data$count = (_req$data2 = req.data) === null || _req$data2 === void 0 ? void 0 : _req$data2.count) !== null && _req$data$count !== void 0 ? _req$data$count : 0;
57
58
  var pagination = useMemo(function () {
58
59
  return {
@@ -3,7 +3,7 @@ export { default as PisellReservation } from './PisellReservation';
3
3
  export type { PisellReservationProps, PisellReservationTableRow, } from './types';
4
4
  export type { PutShopFloorPlanBody, ShopFloorPlanDetail, ShopFloorPlanLayoutItem, } from './floorPlanApi';
5
5
  export { PISELL_RESERVATION_FLOOR_PLAN_CODE, RESERVATION_DEFAULT_FLOOR_PLAN_ID, buildFloorPlanPutBody, getShopFloorPlan, getShopFloorPlanByCode, inferCanvasSizeFromScene, putShopFloorPlan, saveViewConfigToShopFloorPlan, sceneElementsToShopLayout, shopLayoutToSceneElements, toastFloorPlanLoadError, toastFloorPlanSaveError, } from './floorPlanApi';
6
- export { defaultReservationSceneElements, defaultReservationTableRows, getDefaultReservationFloorMapConfig, getReservationFloorMapShellConfig, RESERVATION_BOUND_TABLE_ELEMENT_KIND, reservationDataSourceFormColumns, reservationDataSourcePlacements, reservationPlacementsToSceneElements, type ReservationFloorMapConfigPersisted, } from './reservationMock';
6
+ export { defaultReservationSceneElements, defaultReservationTableRows, getDefaultReservationFloorMapConfig, getReservationFloorMapShellConfig, RESERVATION_BOUND_TABLE_ELEMENT_KIND, getReservationDataSourceFormColumns, reservationDataSourcePlacements, reservationPlacementsToSceneElements, type ReservationFloorMapConfigPersisted, } from './reservationMock';
7
7
  export { applyHostResourceShellToBaseRow, bookingListToReservationTableRows, hostBookingStatusToCardStatus, hostBookingUiPatchFromRecord, mergeBookingsForResourceRecord, } from './bookingToReservationTables';
8
8
  export { isSalesEmbeddedResourceBookingsList, salesEmbeddedResourceListToTableRows, } from './salesEmbeddedResourceToTableRows';
9
9
  export { formResourceItemToReservationRow, formResourceListToReservationTableRows, } from './formResourceToReservationTables';
@@ -1,7 +1,7 @@
1
1
  export { default } from "./PisellReservation";
2
2
  export { default as PisellReservation } from "./PisellReservation";
3
3
  export { PISELL_RESERVATION_FLOOR_PLAN_CODE, RESERVATION_DEFAULT_FLOOR_PLAN_ID, buildFloorPlanPutBody, getShopFloorPlan, getShopFloorPlanByCode, inferCanvasSizeFromScene, putShopFloorPlan, saveViewConfigToShopFloorPlan, sceneElementsToShopLayout, shopLayoutToSceneElements, toastFloorPlanLoadError, toastFloorPlanSaveError } from "./floorPlanApi";
4
- export { defaultReservationSceneElements, defaultReservationTableRows, getDefaultReservationFloorMapConfig, getReservationFloorMapShellConfig, RESERVATION_BOUND_TABLE_ELEMENT_KIND, reservationDataSourceFormColumns, reservationDataSourcePlacements, reservationPlacementsToSceneElements } from "./reservationMock";
4
+ export { defaultReservationSceneElements, defaultReservationTableRows, getDefaultReservationFloorMapConfig, getReservationFloorMapShellConfig, RESERVATION_BOUND_TABLE_ELEMENT_KIND, getReservationDataSourceFormColumns, reservationDataSourcePlacements, reservationPlacementsToSceneElements } from "./reservationMock";
5
5
  export { applyHostResourceShellToBaseRow, bookingListToReservationTableRows, hostBookingStatusToCardStatus, hostBookingUiPatchFromRecord, mergeBookingsForResourceRecord } from "./bookingToReservationTables";
6
6
  export { isSalesEmbeddedResourceBookingsList, salesEmbeddedResourceListToTableRows } from "./salesEmbeddedResourceToTableRows";
7
7
  export { formResourceItemToReservationRow, formResourceListToReservationTableRows } from "./formResourceToReservationTables";
@@ -0,0 +1,69 @@
1
+ /** PisellReservation — 日本語 */
2
+ declare const _default: {
3
+ 'pisell-reservation.page-title': string;
4
+ 'pisell-reservation.new': string;
5
+ 'pisell-reservation.new-modal-title': string;
6
+ 'pisell-reservation.new-modal-placeholder': string;
7
+ 'pisell-reservation.cancel': string;
8
+ 'pisell-reservation.edit-map': string;
9
+ 'pisell-reservation.edit-map-done': string;
10
+ 'pisell-reservation.follow-current': string;
11
+ 'pisell-reservation.view-grid': string;
12
+ 'pisell-reservation.view-floor': string;
13
+ 'pisell-reservation.follow-live-time': string;
14
+ 'pisell-reservation.follow-custom-time': string;
15
+ 'pisell-reservation.follow-live-hint': string;
16
+ 'pisell-reservation.follow-custom-hint': string;
17
+ 'pisell-reservation.switch-to-custom-time': string;
18
+ 'pisell-reservation.switch-to-live-time': string;
19
+ 'pisell-reservation.non-current-hint': string;
20
+ 'pisell-reservation.at-current-time': string;
21
+ 'pisell-reservation.go-current': string;
22
+ 'pisell-reservation.grid.code': string;
23
+ 'pisell-reservation.grid.area': string;
24
+ 'pisell-reservation.grid.status': string;
25
+ 'pisell-reservation.grid.guest': string;
26
+ 'pisell-reservation.grid.time': string;
27
+ 'pisell-reservation.grid.party': string;
28
+ 'pisell-reservation.canvas.main': string;
29
+ 'pisell-reservation.canvas.secondary': string;
30
+ 'pisell-reservation.canvas.vip': string;
31
+ 'pisell-reservation.maintenance': string;
32
+ 'pisell-reservation.next': string;
33
+ 'pisell-reservation.party': string;
34
+ 'pisell-reservation.more': string;
35
+ 'pisell-reservation.late': string;
36
+ 'pisell-reservation.floor-hud.total': string;
37
+ 'pisell-reservation.floor-map.data-source-label': string;
38
+ 'pisell-reservation.floor-map.category-background': string;
39
+ 'pisell-reservation.floor-map.palette-image-bg': string;
40
+ 'pisell-reservation.floor-plan.save-failed': string;
41
+ 'pisell-reservation.card-placeholder.hint-select-row': string;
42
+ 'pisell-reservation.card-placeholder.hint-bind-datasource': string;
43
+ 'pisell-reservation.card-placeholder.hint-new-slot': string;
44
+ 'pisell-reservation.card-placeholder.hint-row-not-found': string;
45
+ 'pisell-reservation.resource-grid.id': string;
46
+ 'pisell-reservation.resource-grid.name': string;
47
+ 'pisell-reservation.resource-grid.form-code': string;
48
+ 'pisell-reservation.resource-grid.capacity': string;
49
+ 'pisell-reservation.resource-grid.schedule': string;
50
+ 'pisell-reservation.resource-grid.form-id': string;
51
+ 'pisell-reservation.resource-grid.card-status': string;
52
+ 'pisell-reservation.room-kind-bound': string;
53
+ 'pisell-reservation.room-status-occupied': string;
54
+ 'pisell-reservation.room-status-reserved': string;
55
+ 'pisell-reservation.room-status-empty': string;
56
+ 'pisell-reservation.room-status-locked': string;
57
+ 'pisell-reservation.room-status-unbound': string;
58
+ 'pisell-reservation.room-paid': string;
59
+ 'pisell-reservation.room-unpaid': string;
60
+ 'pisell-reservation.room-cap-prefix': string;
61
+ 'pisell-reservation.room-time-end': string;
62
+ 'pisell-reservation.room-time-start': string;
63
+ 'pisell-reservation.room-in-minutes': string;
64
+ 'pisell-reservation.room-view-all': string;
65
+ 'pisell-reservation.room-next-prefix': string;
66
+ 'pisell-reservation.room-guest-unknown': string;
67
+ 'pisell-reservation.room-collapse': string;
68
+ };
69
+ export default _default;
@@ -0,0 +1,68 @@
1
+ /** PisellReservation — 日本語 */
2
+ export default {
3
+ 'pisell-reservation.page-title': '予約',
4
+ 'pisell-reservation.new': '+ 新規',
5
+ 'pisell-reservation.new-modal-title': '新規',
6
+ 'pisell-reservation.new-modal-placeholder': '利用できるルートがありません',
7
+ 'pisell-reservation.cancel': 'キャンセル',
8
+ 'pisell-reservation.edit-map': 'フロア図を編集',
9
+ 'pisell-reservation.edit-map-done': '編集を完了',
10
+ 'pisell-reservation.follow-current': '現在',
11
+ 'pisell-reservation.view-grid': '表',
12
+ 'pisell-reservation.view-floor': 'フロア図',
13
+ 'pisell-reservation.follow-live-time': '現在時刻',
14
+ 'pisell-reservation.follow-custom-time': 'カスタム時刻',
15
+ 'pisell-reservation.follow-live-hint': '現在時刻に追従しています',
16
+ 'pisell-reservation.follow-custom-hint': 'カスタム時刻を使用しています',
17
+ 'pisell-reservation.switch-to-custom-time': 'カスタム時刻に切り替え',
18
+ 'pisell-reservation.switch-to-live-time': '現在時刻に切り替え',
19
+ 'pisell-reservation.non-current-hint': '現在時刻ではありません',
20
+ 'pisell-reservation.at-current-time': '現在時刻を表示中です',
21
+ 'pisell-reservation.go-current': '現在へ',
22
+ 'pisell-reservation.grid.code': '卓番',
23
+ 'pisell-reservation.grid.area': 'エリア',
24
+ 'pisell-reservation.grid.status': '状態',
25
+ 'pisell-reservation.grid.guest': 'ゲスト',
26
+ 'pisell-reservation.grid.time': '時間',
27
+ 'pisell-reservation.grid.party': '人数',
28
+ 'pisell-reservation.canvas.main': 'メインエリア',
29
+ 'pisell-reservation.canvas.secondary': 'サブエリア',
30
+ 'pisell-reservation.canvas.vip': 'VIP エリア',
31
+ 'pisell-reservation.maintenance': 'メンテナンス中',
32
+ 'pisell-reservation.next': '次',
33
+ 'pisell-reservation.party': '名',
34
+ 'pisell-reservation.more': 'その他',
35
+ 'pisell-reservation.late': '遅刻',
36
+ 'pisell-reservation.floor-hud.total': '合計',
37
+ 'pisell-reservation.floor-map.data-source-label': 'リソース',
38
+ 'pisell-reservation.floor-map.category-background': '背景',
39
+ 'pisell-reservation.floor-map.palette-image-bg': '画像(背景)',
40
+ 'pisell-reservation.floor-plan.save-failed': 'フロア図の保存に失敗しました',
41
+ 'pisell-reservation.card-placeholder.hint-select-row': 'データソースは選択済みです。サイドバーで行を選択してください。',
42
+ 'pisell-reservation.card-placeholder.hint-bind-datasource': '行が未連携です。サイドバーでデータソースとレコードを選択してください。',
43
+ 'pisell-reservation.card-placeholder.hint-new-slot': '新しい卓のプレースホルダーです。サイドバーでレコードを紐付けられます。',
44
+ 'pisell-reservation.card-placeholder.hint-row-not-found': 'レコードが見つかりません。連携とデータ一覧を確認してください。',
45
+ 'pisell-reservation.resource-grid.id': 'ID',
46
+ 'pisell-reservation.resource-grid.name': '名称',
47
+ 'pisell-reservation.resource-grid.form-code': 'フォームコード',
48
+ 'pisell-reservation.resource-grid.capacity': '収容人数',
49
+ 'pisell-reservation.resource-grid.schedule': 'スケジュール',
50
+ 'pisell-reservation.resource-grid.form-id': 'フォーム ID',
51
+ 'pisell-reservation.resource-grid.card-status': 'カード状態',
52
+ 'pisell-reservation.room-kind-bound': 'リソース(紐付け済み)',
53
+ 'pisell-reservation.room-status-occupied': '使用中',
54
+ 'pisell-reservation.room-status-reserved': '予約済み',
55
+ 'pisell-reservation.room-status-empty': '空席',
56
+ 'pisell-reservation.room-status-locked': 'ロック',
57
+ 'pisell-reservation.room-status-unbound': '未連携',
58
+ 'pisell-reservation.room-paid': '支払済み',
59
+ 'pisell-reservation.room-unpaid': '未払い',
60
+ 'pisell-reservation.room-cap-prefix': '定員',
61
+ 'pisell-reservation.room-time-end': '終了',
62
+ 'pisell-reservation.room-time-start': '開始',
63
+ 'pisell-reservation.room-in-minutes': 'あと {d}',
64
+ 'pisell-reservation.room-view-all': '予約 {n} 件をすべて表示',
65
+ 'pisell-reservation.room-next-prefix': '次枠',
66
+ 'pisell-reservation.room-guest-unknown': 'ゲスト',
67
+ 'pisell-reservation.room-collapse': '折りたたむ'
68
+ };
@@ -0,0 +1,69 @@
1
+ /** PisellReservation — Português */
2
+ declare const _default: {
3
+ 'pisell-reservation.page-title': string;
4
+ 'pisell-reservation.new': string;
5
+ 'pisell-reservation.new-modal-title': string;
6
+ 'pisell-reservation.new-modal-placeholder': string;
7
+ 'pisell-reservation.cancel': string;
8
+ 'pisell-reservation.edit-map': string;
9
+ 'pisell-reservation.edit-map-done': string;
10
+ 'pisell-reservation.follow-current': string;
11
+ 'pisell-reservation.view-grid': string;
12
+ 'pisell-reservation.view-floor': string;
13
+ 'pisell-reservation.follow-live-time': string;
14
+ 'pisell-reservation.follow-custom-time': string;
15
+ 'pisell-reservation.follow-live-hint': string;
16
+ 'pisell-reservation.follow-custom-hint': string;
17
+ 'pisell-reservation.switch-to-custom-time': string;
18
+ 'pisell-reservation.switch-to-live-time': string;
19
+ 'pisell-reservation.non-current-hint': string;
20
+ 'pisell-reservation.at-current-time': string;
21
+ 'pisell-reservation.go-current': string;
22
+ 'pisell-reservation.grid.code': string;
23
+ 'pisell-reservation.grid.area': string;
24
+ 'pisell-reservation.grid.status': string;
25
+ 'pisell-reservation.grid.guest': string;
26
+ 'pisell-reservation.grid.time': string;
27
+ 'pisell-reservation.grid.party': string;
28
+ 'pisell-reservation.canvas.main': string;
29
+ 'pisell-reservation.canvas.secondary': string;
30
+ 'pisell-reservation.canvas.vip': string;
31
+ 'pisell-reservation.maintenance': string;
32
+ 'pisell-reservation.next': string;
33
+ 'pisell-reservation.party': string;
34
+ 'pisell-reservation.more': string;
35
+ 'pisell-reservation.late': string;
36
+ 'pisell-reservation.floor-hud.total': string;
37
+ 'pisell-reservation.floor-map.data-source-label': string;
38
+ 'pisell-reservation.floor-map.category-background': string;
39
+ 'pisell-reservation.floor-map.palette-image-bg': string;
40
+ 'pisell-reservation.floor-plan.save-failed': string;
41
+ 'pisell-reservation.card-placeholder.hint-select-row': string;
42
+ 'pisell-reservation.card-placeholder.hint-bind-datasource': string;
43
+ 'pisell-reservation.card-placeholder.hint-new-slot': string;
44
+ 'pisell-reservation.card-placeholder.hint-row-not-found': string;
45
+ 'pisell-reservation.resource-grid.id': string;
46
+ 'pisell-reservation.resource-grid.name': string;
47
+ 'pisell-reservation.resource-grid.form-code': string;
48
+ 'pisell-reservation.resource-grid.capacity': string;
49
+ 'pisell-reservation.resource-grid.schedule': string;
50
+ 'pisell-reservation.resource-grid.form-id': string;
51
+ 'pisell-reservation.resource-grid.card-status': string;
52
+ 'pisell-reservation.room-kind-bound': string;
53
+ 'pisell-reservation.room-status-occupied': string;
54
+ 'pisell-reservation.room-status-reserved': string;
55
+ 'pisell-reservation.room-status-empty': string;
56
+ 'pisell-reservation.room-status-locked': string;
57
+ 'pisell-reservation.room-status-unbound': string;
58
+ 'pisell-reservation.room-paid': string;
59
+ 'pisell-reservation.room-unpaid': string;
60
+ 'pisell-reservation.room-cap-prefix': string;
61
+ 'pisell-reservation.room-time-end': string;
62
+ 'pisell-reservation.room-time-start': string;
63
+ 'pisell-reservation.room-in-minutes': string;
64
+ 'pisell-reservation.room-view-all': string;
65
+ 'pisell-reservation.room-next-prefix': string;
66
+ 'pisell-reservation.room-guest-unknown': string;
67
+ 'pisell-reservation.room-collapse': string;
68
+ };
69
+ export default _default;