@pisell/materials 6.11.36 → 6.11.38

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 (200) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +1 -1
  6. package/build/lowcode/preview.js +8 -8
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +26 -56
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +26 -56
  11. package/es/components/PisellLayouts/index.d.ts +1 -1
  12. package/es/components/colorPicker/index.d.ts +0 -1
  13. package/es/components/dataSourceComponents/dataSourceForm/utils.d.ts +1 -1
  14. package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +2 -2
  15. package/es/components/dataSourceComponents/fields/RecordListWrapper/index.d.ts +1 -1
  16. package/es/components/dataSourceComponents/fields/Select/index.d.ts +1 -1
  17. package/es/components/dataSourceComponents/fields/Tabs/index.d.ts +1 -1
  18. package/es/components/dataSourceComponents/fields/Upload/utils.d.ts +1 -1
  19. package/es/components/dataSourceComponents/fields/index.d.ts +6 -6
  20. package/es/components/filter/components/items/index.d.ts +0 -1
  21. package/es/components/filter/components/items/text/Editor/index.d.ts +0 -1
  22. package/es/components/filter/components/items/text/Preview/index.d.ts +0 -1
  23. package/es/components/filter/components/items/text/index.d.ts +0 -1
  24. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.d.ts +2 -1
  25. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.js +47 -3
  26. package/es/components/pisellFloorMapLayout/types.d.ts +7 -7
  27. package/es/components/pisellFloorMapLayout/types.js +2 -2
  28. package/es/components/pisellRecordBoard/index.d.ts +1 -1
  29. package/es/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendar.d.ts +5 -0
  30. package/es/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendar.js +1039 -0
  31. package/es/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendar.less +323 -0
  32. package/es/components/pisellRecordBoard/shellFrame/Calendar/PisellRecordBoardCalendarView.d.ts +5 -1
  33. package/es/components/pisellRecordBoard/shellFrame/Calendar/PisellRecordBoardCalendarView.js +10 -10
  34. package/es/components/pisellRecordBoard/shellFrame/Calendar/bookingCalendarViewShared.d.ts +23 -0
  35. package/es/components/pisellRecordBoard/shellFrame/Calendar/bookingCalendarViewShared.js +287 -0
  36. package/es/components/pisellRecordBoard/shellFrame/Calendar/calendarI18n.d.ts +4 -0
  37. package/es/components/pisellRecordBoard/shellFrame/Calendar/calendarI18n.js +28 -0
  38. package/es/components/pisellRecordBoard/shellFrame/Calendar/calendarPersistGuard.d.ts +1 -1
  39. package/es/components/pisellRecordBoard/shellFrame/Calendar/const/bookingCalendarConstants.d.ts +36 -0
  40. package/es/components/pisellRecordBoard/shellFrame/Calendar/const/bookingCalendarConstants.js +38 -0
  41. package/es/components/pisellRecordBoard/shellFrame/Calendar/index.d.ts +3 -0
  42. package/es/components/pisellRecordBoard/shellFrame/Calendar/index.js +3 -0
  43. package/es/components/pisellRecordBoard/shellFrame/Calendar/modal/MoveConfirmModal.d.ts +17 -0
  44. package/es/components/pisellRecordBoard/shellFrame/Calendar/modal/MoveConfirmModal.js +197 -0
  45. package/es/components/pisellRecordBoard/shellFrame/Calendar/modal/OverflowListModal.d.ts +17 -0
  46. package/es/components/pisellRecordBoard/shellFrame/Calendar/modal/OverflowListModal.js +65 -0
  47. package/es/components/pisellRecordBoard/shellFrame/Calendar/modal/OverflowPopover.d.ts +9 -0
  48. package/es/components/pisellRecordBoard/shellFrame/Calendar/modal/OverflowPopover.js +52 -0
  49. package/es/components/pisellRecordBoard/shellFrame/Calendar/utils/BookingCalendarStyle.d.ts +10 -0
  50. package/es/components/pisellRecordBoard/shellFrame/Calendar/utils/BookingCalendarStyle.js +58 -0
  51. package/es/components/pisellRecordBoard/shellFrame/Calendar/utils/bookingCalendarDateUtils.d.ts +232 -0
  52. package/es/components/pisellRecordBoard/shellFrame/Calendar/utils/bookingCalendarDateUtils.js +735 -0
  53. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarDaySelectionBar.d.ts +13 -0
  54. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarDaySelectionBar.js +37 -0
  55. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarDayView.d.ts +56 -0
  56. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarDayView.js +682 -0
  57. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarMonthView.d.ts +18 -0
  58. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarMonthView.js +155 -0
  59. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarWeekView.d.ts +27 -0
  60. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarWeekView.js +259 -0
  61. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/bookingCalendarDayViewContext.d.ts +12 -0
  62. package/es/components/pisellRecordBoard/shellFrame/Calendar/view/bookingCalendarDayViewContext.js +19 -0
  63. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/NoteTicker.d.ts +2 -1
  64. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/NoteTicker.js +44 -14
  65. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.d.ts +4 -2
  66. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.js +117 -125
  67. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanel.d.ts +3 -5
  68. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanel.js +71 -352
  69. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanelColorTab.d.ts +17 -0
  70. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanelColorTab.js +143 -0
  71. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanelLayoutTab.d.ts +28 -0
  72. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanelLayoutTab.js +128 -0
  73. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallViewport.less +8 -0
  74. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallViewportToolbar.d.ts +18 -0
  75. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallViewportToolbar.js +115 -0
  76. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.d.ts +6 -4
  77. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.js +63 -120
  78. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/resourceWallConstants.d.ts +2 -0
  79. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/resourceWallConstants.js +2 -0
  80. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallCardPresentation.d.ts +42 -0
  81. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallCardPresentation.js +114 -0
  82. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.d.ts +26 -0
  83. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.js +54 -1
  84. package/es/components/pisellRecordBoard/shellFrame/ToolBar/index.js +67 -12
  85. package/es/components/pisellRecordBoard/shellFrame/index.js +34 -7
  86. package/es/components/pisellRecordBoard/types.d.ts +97 -4
  87. package/es/components/pisellRecordBoard/types.js +18 -2
  88. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.less +34 -2
  89. package/es/components/pisellShellFrame/PisellShellFrame.less +5 -2
  90. package/es/components/table/Table/SelectField/index.d.ts +0 -1
  91. package/es/components/table/Table/tableConfig/summary/index.d.ts +0 -1
  92. package/es/hooks/useResponsive.d.ts +1 -1
  93. package/es/index.d.ts +1 -1
  94. package/es/locales/en-US.d.ts +74 -0
  95. package/es/locales/en-US.js +76 -1
  96. package/es/locales/ja.d.ts +74 -0
  97. package/es/locales/ja.js +75 -0
  98. package/es/locales/pt.d.ts +74 -0
  99. package/es/locales/pt.js +75 -0
  100. package/es/locales/zh-CN.d.ts +74 -0
  101. package/es/locales/zh-CN.js +76 -1
  102. package/es/locales/zh-TW.d.ts +74 -0
  103. package/es/locales/zh-TW.js +76 -1
  104. package/es/pisell-materials.tw.css +1 -1
  105. package/lib/components/PisellLayouts/index.d.ts +1 -1
  106. package/lib/components/colorPicker/index.d.ts +0 -1
  107. package/lib/components/dataSourceComponents/dataSourceForm/utils.d.ts +1 -1
  108. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +2 -2
  109. package/lib/components/dataSourceComponents/fields/RecordListWrapper/index.d.ts +1 -1
  110. package/lib/components/dataSourceComponents/fields/Select/index.d.ts +1 -1
  111. package/lib/components/dataSourceComponents/fields/Tabs/index.d.ts +1 -1
  112. package/lib/components/dataSourceComponents/fields/Upload/utils.d.ts +1 -1
  113. package/lib/components/dataSourceComponents/fields/index.d.ts +6 -6
  114. package/lib/components/filter/components/items/index.d.ts +0 -1
  115. package/lib/components/filter/components/items/text/Editor/index.d.ts +0 -1
  116. package/lib/components/filter/components/items/text/Preview/index.d.ts +0 -1
  117. package/lib/components/filter/components/items/text/index.d.ts +0 -1
  118. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.d.ts +2 -1
  119. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.js +1 -1
  120. package/lib/components/pisellFloorMapLayout/types.d.ts +7 -7
  121. package/lib/components/pisellRecordBoard/index.d.ts +1 -1
  122. package/lib/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendar.d.ts +5 -0
  123. package/lib/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendar.js +892 -0
  124. package/lib/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendar.less +323 -0
  125. package/lib/components/pisellRecordBoard/shellFrame/Calendar/PisellRecordBoardCalendarView.d.ts +5 -1
  126. package/lib/components/pisellRecordBoard/shellFrame/Calendar/PisellRecordBoardCalendarView.js +7 -6
  127. package/lib/components/pisellRecordBoard/shellFrame/Calendar/bookingCalendarViewShared.d.ts +23 -0
  128. package/lib/components/pisellRecordBoard/shellFrame/Calendar/bookingCalendarViewShared.js +268 -0
  129. package/lib/components/pisellRecordBoard/shellFrame/Calendar/calendarI18n.d.ts +4 -0
  130. package/lib/components/pisellRecordBoard/shellFrame/Calendar/calendarI18n.js +53 -0
  131. package/lib/components/pisellRecordBoard/shellFrame/Calendar/calendarPersistGuard.d.ts +1 -1
  132. package/lib/components/pisellRecordBoard/shellFrame/Calendar/const/bookingCalendarConstants.d.ts +36 -0
  133. package/lib/components/pisellRecordBoard/shellFrame/Calendar/const/bookingCalendarConstants.js +98 -0
  134. package/lib/components/pisellRecordBoard/shellFrame/Calendar/index.d.ts +3 -0
  135. package/lib/components/pisellRecordBoard/shellFrame/Calendar/modal/MoveConfirmModal.d.ts +17 -0
  136. package/lib/components/pisellRecordBoard/shellFrame/Calendar/modal/MoveConfirmModal.js +306 -0
  137. package/lib/components/pisellRecordBoard/shellFrame/Calendar/modal/OverflowListModal.d.ts +17 -0
  138. package/lib/components/pisellRecordBoard/shellFrame/Calendar/modal/OverflowListModal.js +111 -0
  139. package/lib/components/pisellRecordBoard/shellFrame/Calendar/modal/OverflowPopover.d.ts +9 -0
  140. package/lib/components/pisellRecordBoard/shellFrame/Calendar/modal/OverflowPopover.js +96 -0
  141. package/lib/components/pisellRecordBoard/shellFrame/Calendar/utils/BookingCalendarStyle.d.ts +10 -0
  142. package/lib/components/pisellRecordBoard/shellFrame/Calendar/utils/BookingCalendarStyle.js +92 -0
  143. package/lib/components/pisellRecordBoard/shellFrame/Calendar/utils/bookingCalendarDateUtils.d.ts +232 -0
  144. package/lib/components/pisellRecordBoard/shellFrame/Calendar/utils/bookingCalendarDateUtils.js +666 -0
  145. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarDaySelectionBar.d.ts +13 -0
  146. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarDaySelectionBar.js +90 -0
  147. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarDayView.d.ts +56 -0
  148. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarDayView.js +812 -0
  149. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarMonthView.d.ts +18 -0
  150. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarMonthView.js +219 -0
  151. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarWeekView.d.ts +27 -0
  152. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/BookingCalendarWeekView.js +352 -0
  153. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/bookingCalendarDayViewContext.d.ts +12 -0
  154. package/lib/components/pisellRecordBoard/shellFrame/Calendar/view/bookingCalendarDayViewContext.js +57 -0
  155. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/NoteTicker.d.ts +2 -1
  156. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/NoteTicker.js +44 -9
  157. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.d.ts +4 -2
  158. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.js +60 -142
  159. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanel.d.ts +3 -5
  160. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanel.js +40 -269
  161. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanelColorTab.d.ts +17 -0
  162. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanelColorTab.js +163 -0
  163. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanelLayoutTab.d.ts +28 -0
  164. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallControlPanelLayoutTab.js +136 -0
  165. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallViewport.less +8 -0
  166. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallViewportToolbar.d.ts +18 -0
  167. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/ResourceWallViewportToolbar.js +175 -0
  168. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.d.ts +6 -4
  169. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.js +61 -88
  170. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/resourceWallConstants.d.ts +2 -0
  171. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/resourceWallConstants.js +29 -0
  172. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallCardPresentation.d.ts +42 -0
  173. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallCardPresentation.js +139 -0
  174. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.d.ts +26 -0
  175. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.js +31 -3
  176. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/index.js +50 -5
  177. package/lib/components/pisellRecordBoard/shellFrame/index.js +29 -13
  178. package/lib/components/pisellRecordBoard/types.d.ts +97 -4
  179. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.less +34 -2
  180. package/lib/components/pisellShellFrame/PisellShellFrame.less +5 -2
  181. package/lib/components/table/Table/SelectField/index.d.ts +0 -1
  182. package/lib/components/table/Table/tableConfig/summary/index.d.ts +0 -1
  183. package/lib/hooks/useResponsive.d.ts +1 -1
  184. package/lib/index.d.ts +1 -1
  185. package/lib/locales/en-US.d.ts +74 -0
  186. package/lib/locales/en-US.js +76 -1
  187. package/lib/locales/ja.d.ts +74 -0
  188. package/lib/locales/ja.js +75 -0
  189. package/lib/locales/pt.d.ts +74 -0
  190. package/lib/locales/pt.js +75 -0
  191. package/lib/locales/zh-CN.d.ts +74 -0
  192. package/lib/locales/zh-CN.js +76 -1
  193. package/lib/locales/zh-TW.d.ts +74 -0
  194. package/lib/locales/zh-TW.js +76 -1
  195. package/lib/pisell-materials.tw.css +1 -1
  196. package/package.json +3 -4
  197. package/es/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendarDemo.d.ts +0 -3
  198. package/es/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendarDemo.js +0 -6233
  199. package/lib/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendarDemo.d.ts +0 -3
  200. package/lib/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendarDemo.js +0 -7079
@@ -0,0 +1,53 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/components/pisellRecordBoard/shellFrame/Calendar/calendarI18n.ts
20
+ var calendarI18n_exports = {};
21
+ __export(calendarI18n_exports, {
22
+ CALENDAR_WEEKDAY_IDS: () => CALENDAR_WEEKDAY_IDS,
23
+ tCal: () => tCal
24
+ });
25
+ module.exports = __toCommonJS(calendarI18n_exports);
26
+ var import_locales = require("../../../../locales");
27
+ function tCal(id, vars) {
28
+ const raw = (0, import_locales.getText)(id);
29
+ if (typeof raw === "function") {
30
+ return id;
31
+ }
32
+ let s = String(raw ?? "");
33
+ if (vars) {
34
+ for (const [k, v] of Object.entries(vars)) {
35
+ s = s.split(`{${k}}`).join(String(v));
36
+ }
37
+ }
38
+ return s;
39
+ }
40
+ var CALENDAR_WEEKDAY_IDS = [
41
+ "pisell2.recordBoard.calendar.weekday.mon",
42
+ "pisell2.recordBoard.calendar.weekday.tue",
43
+ "pisell2.recordBoard.calendar.weekday.wed",
44
+ "pisell2.recordBoard.calendar.weekday.thu",
45
+ "pisell2.recordBoard.calendar.weekday.fri",
46
+ "pisell2.recordBoard.calendar.weekday.sat",
47
+ "pisell2.recordBoard.calendar.weekday.sun"
48
+ ];
49
+ // Annotate the CommonJS export names for ESM import in node:
50
+ 0 && (module.exports = {
51
+ CALENDAR_WEEKDAY_IDS,
52
+ tCal
53
+ });
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  /** 日历内会改本地预约数据的动作类型,供业务层拦截(如平面图未支持写接口时 toast) */
3
- export declare type CalendarPersistKind = 'moveBooking' | 'applyConflictMove' | 'createBooking' | 'removeBlocks' | 'createBlock' | 'confirmBlockWithConflicts' | 'checkin' | 'checkinReschedule' | 'mergeOrder' | 'other';
3
+ export declare type CalendarPersistKind = 'moveBooking' | 'createBooking' | 'removeBlocks' | 'createBlock' | 'checkin' | 'checkinReschedule' | 'mergeOrder' | 'other';
4
4
  export interface CalendarPersistContextValue {
5
5
  /**
6
6
  * 返回 false 时日历组件应取消本次本地数据变更(由调用方决定是否已 toast)。
@@ -0,0 +1,36 @@
1
+ /** BookingCalendarDemo:布局数值与虚拟列表高度等(无演示种子数据)。 */
2
+ export declare const timeSliceMinutes = 60;
3
+ /** 未传 timelineRange 时默认营业日界钟 */
4
+ export declare const DEFAULT_CALENDAR_TIMELINE: {
5
+ start: string;
6
+ end: string;
7
+ };
8
+ export declare const frozenColWidth = 132;
9
+ export declare const dayColWidth = 92;
10
+ export declare const dayRowHeight = 122;
11
+ export declare const groupRowHeight = 54;
12
+ export declare const dayHeaderHeight = 56;
13
+ /** 日视图同一资源行内竖向分带的最小高度(须容下标题+时间两行 + py-2/py-3);并行时抬高该行 */
14
+ export declare const DAY_OVERLAY_LANE_MIN_PX = 64;
15
+ export declare const DAY_OVERLAY_INNER_TOP = 8;
16
+ export declare const DAY_OVERLAY_INNER_BOTTOM = 8;
17
+ export declare const DAY_OVERLAY_LANE_GAP = 2;
18
+ /** 同一重叠簇内最多展示的预约条数;超出合并为第 4 行的 +N(与日/周时间轴 overlay 一致) */
19
+ export declare const DAY_OVERLAY_VISIBLE_BOOKING_CAP = 3;
20
+ /** 低于该宽度时日视图预约条内难以排下两行文案,默认用 Tooltip 展示完整信息 */
21
+ export declare const DAY_BOOKING_NARROW_PX = 88;
22
+ /** 低于该宽度时条内仅保留居中首字/圆点,避免文字竖排或完全不可读 */
23
+ export declare const DAY_BOOKING_MICRO_PX = 32;
24
+ /** 日视图横向:视口外多渲染的槽列数(减轻快速滚动白边) */
25
+ export declare const DAY_VIEW_COL_BUFFER = 5;
26
+ /** 日视图纵向:视口外多渲染的像素边距 */
27
+ export declare const DAY_VIEW_ROW_BUFFER_PX = 240;
28
+ /** 月格「+N」悬停层:卡片区约 64px + 行间 8px,与 react-window itemSize 一致 */
29
+ export declare const MONTH_OVERFLOW_POPOVER_CARD_H = 64;
30
+ export declare const MONTH_OVERFLOW_POPOVER_ROW_GAP = 8;
31
+ export declare const MONTH_OVERFLOW_POPOVER_ITEM_H: number;
32
+ export declare const MONTH_OVERFLOW_POPOVER_LIST_MAX_H = 280;
33
+ export declare const OVERFLOW_MODAL_CARD_H = 100;
34
+ export declare const OVERFLOW_MODAL_ROW_GAP = 8;
35
+ export declare const OVERFLOW_MODAL_ROW_H: number;
36
+ export declare const OVERFLOW_MODAL_LIST_MAX_H = 420;
@@ -0,0 +1,98 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/components/pisellRecordBoard/shellFrame/Calendar/const/bookingCalendarConstants.ts
20
+ var bookingCalendarConstants_exports = {};
21
+ __export(bookingCalendarConstants_exports, {
22
+ DAY_BOOKING_MICRO_PX: () => DAY_BOOKING_MICRO_PX,
23
+ DAY_BOOKING_NARROW_PX: () => DAY_BOOKING_NARROW_PX,
24
+ DAY_OVERLAY_INNER_BOTTOM: () => DAY_OVERLAY_INNER_BOTTOM,
25
+ DAY_OVERLAY_INNER_TOP: () => DAY_OVERLAY_INNER_TOP,
26
+ DAY_OVERLAY_LANE_GAP: () => DAY_OVERLAY_LANE_GAP,
27
+ DAY_OVERLAY_LANE_MIN_PX: () => DAY_OVERLAY_LANE_MIN_PX,
28
+ DAY_OVERLAY_VISIBLE_BOOKING_CAP: () => DAY_OVERLAY_VISIBLE_BOOKING_CAP,
29
+ DAY_VIEW_COL_BUFFER: () => DAY_VIEW_COL_BUFFER,
30
+ DAY_VIEW_ROW_BUFFER_PX: () => DAY_VIEW_ROW_BUFFER_PX,
31
+ DEFAULT_CALENDAR_TIMELINE: () => DEFAULT_CALENDAR_TIMELINE,
32
+ MONTH_OVERFLOW_POPOVER_CARD_H: () => MONTH_OVERFLOW_POPOVER_CARD_H,
33
+ MONTH_OVERFLOW_POPOVER_ITEM_H: () => MONTH_OVERFLOW_POPOVER_ITEM_H,
34
+ MONTH_OVERFLOW_POPOVER_LIST_MAX_H: () => MONTH_OVERFLOW_POPOVER_LIST_MAX_H,
35
+ MONTH_OVERFLOW_POPOVER_ROW_GAP: () => MONTH_OVERFLOW_POPOVER_ROW_GAP,
36
+ OVERFLOW_MODAL_CARD_H: () => OVERFLOW_MODAL_CARD_H,
37
+ OVERFLOW_MODAL_LIST_MAX_H: () => OVERFLOW_MODAL_LIST_MAX_H,
38
+ OVERFLOW_MODAL_ROW_GAP: () => OVERFLOW_MODAL_ROW_GAP,
39
+ OVERFLOW_MODAL_ROW_H: () => OVERFLOW_MODAL_ROW_H,
40
+ dayColWidth: () => dayColWidth,
41
+ dayHeaderHeight: () => dayHeaderHeight,
42
+ dayRowHeight: () => dayRowHeight,
43
+ frozenColWidth: () => frozenColWidth,
44
+ groupRowHeight: () => groupRowHeight,
45
+ timeSliceMinutes: () => timeSliceMinutes
46
+ });
47
+ module.exports = __toCommonJS(bookingCalendarConstants_exports);
48
+ var timeSliceMinutes = 60;
49
+ var DEFAULT_CALENDAR_TIMELINE = { start: "02:00", end: "02:00" };
50
+ var frozenColWidth = 132;
51
+ var dayColWidth = 92;
52
+ var dayRowHeight = 122;
53
+ var groupRowHeight = 54;
54
+ var dayHeaderHeight = 56;
55
+ var DAY_OVERLAY_LANE_MIN_PX = 64;
56
+ var DAY_OVERLAY_INNER_TOP = 8;
57
+ var DAY_OVERLAY_INNER_BOTTOM = 8;
58
+ var DAY_OVERLAY_LANE_GAP = 2;
59
+ var DAY_OVERLAY_VISIBLE_BOOKING_CAP = 3;
60
+ var DAY_BOOKING_NARROW_PX = 88;
61
+ var DAY_BOOKING_MICRO_PX = 32;
62
+ var DAY_VIEW_COL_BUFFER = 5;
63
+ var DAY_VIEW_ROW_BUFFER_PX = 240;
64
+ var MONTH_OVERFLOW_POPOVER_CARD_H = 64;
65
+ var MONTH_OVERFLOW_POPOVER_ROW_GAP = 8;
66
+ var MONTH_OVERFLOW_POPOVER_ITEM_H = MONTH_OVERFLOW_POPOVER_CARD_H + MONTH_OVERFLOW_POPOVER_ROW_GAP;
67
+ var MONTH_OVERFLOW_POPOVER_LIST_MAX_H = 280;
68
+ var OVERFLOW_MODAL_CARD_H = 100;
69
+ var OVERFLOW_MODAL_ROW_GAP = 8;
70
+ var OVERFLOW_MODAL_ROW_H = OVERFLOW_MODAL_CARD_H + OVERFLOW_MODAL_ROW_GAP;
71
+ var OVERFLOW_MODAL_LIST_MAX_H = 420;
72
+ // Annotate the CommonJS export names for ESM import in node:
73
+ 0 && (module.exports = {
74
+ DAY_BOOKING_MICRO_PX,
75
+ DAY_BOOKING_NARROW_PX,
76
+ DAY_OVERLAY_INNER_BOTTOM,
77
+ DAY_OVERLAY_INNER_TOP,
78
+ DAY_OVERLAY_LANE_GAP,
79
+ DAY_OVERLAY_LANE_MIN_PX,
80
+ DAY_OVERLAY_VISIBLE_BOOKING_CAP,
81
+ DAY_VIEW_COL_BUFFER,
82
+ DAY_VIEW_ROW_BUFFER_PX,
83
+ DEFAULT_CALENDAR_TIMELINE,
84
+ MONTH_OVERFLOW_POPOVER_CARD_H,
85
+ MONTH_OVERFLOW_POPOVER_ITEM_H,
86
+ MONTH_OVERFLOW_POPOVER_LIST_MAX_H,
87
+ MONTH_OVERFLOW_POPOVER_ROW_GAP,
88
+ OVERFLOW_MODAL_CARD_H,
89
+ OVERFLOW_MODAL_LIST_MAX_H,
90
+ OVERFLOW_MODAL_ROW_GAP,
91
+ OVERFLOW_MODAL_ROW_H,
92
+ dayColWidth,
93
+ dayHeaderHeight,
94
+ dayRowHeight,
95
+ frozenColWidth,
96
+ groupRowHeight,
97
+ timeSliceMinutes
98
+ });
@@ -1,3 +1,6 @@
1
+ /**
2
+ * 看板日历子模块导出:持久化守卫、日历根视图、Shell 槽位占位组件。
3
+ */
1
4
  export { CalendarPersistProvider, useCalendarPersist, } from './calendarPersistGuard';
2
5
  export type { CalendarPersistContextValue, CalendarPersistKind, } from './calendarPersistGuard';
3
6
  export { PisellRecordBoardCalendarView, type PisellRecordBoardCalendarViewProps, } from './PisellRecordBoardCalendarView';
@@ -0,0 +1,17 @@
1
+ /// <reference types="react" />
2
+ /** 拖拽改期后的确认弹窗(Court / 日期 / 起止时间) */
3
+ export declare function MoveConfirmModal({ moveConfirm, moveDraft, setMoveDraft, panelRef, isLight, courts, visibleCourts, hourSlots, isBusinessHour, firstTimelineHour, endTimelineExclusive, onConfirm, onClose, }: {
4
+ moveConfirm: any;
5
+ moveDraft: any;
6
+ setMoveDraft: any;
7
+ panelRef: any;
8
+ isLight: any;
9
+ courts: any;
10
+ visibleCourts: any;
11
+ hourSlots: any;
12
+ isBusinessHour: any;
13
+ firstTimelineHour: any;
14
+ endTimelineExclusive: any;
15
+ onConfirm: any;
16
+ onClose: any;
17
+ }): JSX.Element | null;
@@ -0,0 +1,306 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/components/pisellRecordBoard/shellFrame/Calendar/modal/MoveConfirmModal.tsx
30
+ var MoveConfirmModal_exports = {};
31
+ __export(MoveConfirmModal_exports, {
32
+ MoveConfirmModal: () => MoveConfirmModal
33
+ });
34
+ module.exports = __toCommonJS(MoveConfirmModal_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_bookingCalendarDateUtils = require("../utils/bookingCalendarDateUtils");
37
+ var import_calendarI18n = require("../calendarI18n");
38
+ function MoveConfirmModal({
39
+ moveConfirm,
40
+ moveDraft,
41
+ setMoveDraft,
42
+ panelRef,
43
+ isLight,
44
+ courts,
45
+ visibleCourts,
46
+ hourSlots,
47
+ isBusinessHour,
48
+ firstTimelineHour,
49
+ endTimelineExclusive,
50
+ onConfirm,
51
+ onClose
52
+ }) {
53
+ var _a, _b, _c, _d, _e;
54
+ if (!moveConfirm) return null;
55
+ const detail = (0, import_bookingCalendarDateUtils.getBookingDetailData)(moveConfirm.item, courts);
56
+ const currentCustomer = {
57
+ name: ((_a = detail.customer) == null ? void 0 : _a.name) || detail.headerSummary.customerName,
58
+ phone: ((_b = detail.customer) == null ? void 0 : _b.phone) || "",
59
+ email: ((_c = detail.customer) == null ? void 0 : _c.email) || ""
60
+ };
61
+ const originalCourtName = ((_d = courts.find((c) => c.id === moveConfirm.item.courtId)) == null ? void 0 : _d.name) || detail.headerSummary.resourceLabel || (0, import_calendarI18n.tCal)("pisell2.recordBoard.calendar.move.courtFallback");
62
+ const nextCourtName = ((_e = courts.find(
63
+ (c) => c.id === ((moveDraft == null ? void 0 : moveDraft.targetCourtId) || moveConfirm.targetCourtId)
64
+ )) == null ? void 0 : _e.name) || (0, import_calendarI18n.tCal)("pisell2.recordBoard.calendar.move.courtFallback");
65
+ const originalDate = moveConfirm.item.date;
66
+ const originalStart = (0, import_bookingCalendarDateUtils.formatHourLabel)(moveConfirm.item.startHour);
67
+ const originalEnd = (0, import_bookingCalendarDateUtils.formatHourLabel)(moveConfirm.item.endHour);
68
+ const nextDate = (moveDraft == null ? void 0 : moveDraft.targetDate) || moveConfirm.targetDate;
69
+ const nextStartHour = (moveDraft == null ? void 0 : moveDraft.targetHour) ?? moveConfirm.targetHour;
70
+ const duration = moveConfirm.item.endHour - moveConfirm.item.startHour;
71
+ const nextEndHour = nextStartHour + duration;
72
+ const changed = originalDate !== nextDate || moveConfirm.item.courtId !== ((moveDraft == null ? void 0 : moveDraft.targetCourtId) || moveConfirm.targetCourtId) || moveConfirm.item.startHour !== nextStartHour;
73
+ const isDragScenario = moveConfirm.item.date !== moveConfirm.targetDate || moveConfirm.item.startHour !== moveConfirm.targetHour || moveConfirm.item.courtId !== moveConfirm.targetCourtId;
74
+ const slotDisabledLabel = (hour) => (0, import_calendarI18n.tCal)("pisell2.recordBoard.calendar.move.slotDisabled", {
75
+ time: (0, import_bookingCalendarDateUtils.formatHourLabel)(hour)
76
+ });
77
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: "fixed inset-0 z-[72] bg-black/45 backdrop-blur-sm flex items-center justify-center p-4" }, /* @__PURE__ */ import_react.default.createElement(
78
+ "div",
79
+ {
80
+ ref: panelRef,
81
+ className: `w-full max-w-[980px] rounded-3xl border p-6 shadow-2xl ${isLight ? "theme-panel theme-border soft-shadow" : "border-zinc-700 bg-[#121217]"}`
82
+ },
83
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "text-[22px] font-semibold" }, (0, import_calendarI18n.tCal)("pisell2.recordBoard.calendar.move.title")),
84
+ /* @__PURE__ */ import_react.default.createElement(
85
+ "div",
86
+ {
87
+ className: `mt-2 text-sm ${isLight ? "theme-text-muted" : "text-zinc-400"}`
88
+ },
89
+ (0, import_calendarI18n.tCal)("pisell2.recordBoard.calendar.move.subtitle")
90
+ ),
91
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "mt-5 space-y-4" }, /* @__PURE__ */ import_react.default.createElement(
92
+ "div",
93
+ {
94
+ className: `rounded-3xl border p-5 ${isLight ? "theme-panel-alt theme-border" : "border-zinc-700 bg-[#171820]"}`
95
+ },
96
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "min-w-0 flex-1" }, /* @__PURE__ */ import_react.default.createElement(
97
+ "div",
98
+ {
99
+ className: `text-xs uppercase tracking-[0.14em] ${isLight ? "theme-text-muted" : "text-zinc-500"}`
100
+ },
101
+ (0, import_calendarI18n.tCal)("pisell2.recordBoard.calendar.move.customer")
102
+ ), /* @__PURE__ */ import_react.default.createElement(
103
+ "div",
104
+ {
105
+ className: `mt-3 text-[20px] font-semibold ${isLight ? "theme-text" : "text-white"}`
106
+ },
107
+ currentCustomer.name
108
+ ), /* @__PURE__ */ import_react.default.createElement(
109
+ "div",
110
+ {
111
+ className: `mt-2 text-sm ${isLight ? "theme-text-muted" : "text-zinc-400"}`
112
+ },
113
+ currentCustomer.phone || (0, import_calendarI18n.tCal)("pisell2.recordBoard.calendar.move.noPhone")
114
+ ), /* @__PURE__ */ import_react.default.createElement(
115
+ "div",
116
+ {
117
+ className: `mt-1 text-sm ${isLight ? "theme-text-muted" : "text-zinc-400"}`
118
+ },
119
+ currentCustomer.email || (0, import_calendarI18n.tCal)("pisell2.recordBoard.calendar.move.noEmail")
120
+ ))
121
+ ), /* @__PURE__ */ import_react.default.createElement("div", { className: "grid min-w-0 gap-4 md:grid-cols-2" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ import_react.default.createElement(
122
+ "label",
123
+ {
124
+ className: `mb-2 block text-sm ${isLight ? "theme-text-muted" : "text-zinc-400"}`
125
+ },
126
+ (0, import_calendarI18n.tCal)("pisell2.recordBoard.calendar.move.court")
127
+ ), /* @__PURE__ */ import_react.default.createElement(
128
+ "select",
129
+ {
130
+ value: (moveDraft == null ? void 0 : moveDraft.targetCourtId) || moveConfirm.targetCourtId,
131
+ onChange: (e) => setMoveDraft((prev) => ({
132
+ ...prev || {},
133
+ targetCourtId: e.target.value
134
+ })),
135
+ className: `min-w-0 w-full rounded-2xl px-4 py-4 outline-none ${isLight ? "theme-input theme-text" : "border border-zinc-700 bg-[#171820] text-white"}`
136
+ },
137
+ visibleCourts.map((court) => /* @__PURE__ */ import_react.default.createElement("option", { key: court.id, value: court.id }, court.name))
138
+ )), /* @__PURE__ */ import_react.default.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ import_react.default.createElement(
139
+ "label",
140
+ {
141
+ className: `mb-2 block text-sm ${isLight ? "theme-text-muted" : "text-zinc-400"}`
142
+ },
143
+ (0, import_calendarI18n.tCal)("pisell2.recordBoard.calendar.move.newDate")
144
+ ), /* @__PURE__ */ import_react.default.createElement(
145
+ "input",
146
+ {
147
+ type: "date",
148
+ value: (moveDraft == null ? void 0 : moveDraft.targetDate) || moveConfirm.targetDate,
149
+ onChange: (e) => setMoveDraft((prev) => ({
150
+ ...prev || {},
151
+ targetDate: e.target.value
152
+ })),
153
+ className: `min-w-0 w-full rounded-2xl py-4 pl-4 pr-11 outline-none [color-scheme:dark] [&::-webkit-calendar-picker-indicator]:ml-auto [&::-webkit-calendar-picker-indicator]:mr-1 ${isLight ? "theme-input theme-text [color-scheme:light]" : "border border-zinc-700 bg-[#171820] text-white"}`
154
+ }
155
+ ))), /* @__PURE__ */ import_react.default.createElement("div", { className: "grid min-w-0 gap-4 md:grid-cols-2" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ import_react.default.createElement(
156
+ "label",
157
+ {
158
+ className: `mb-2 block text-sm ${isLight ? "theme-text-muted" : "text-zinc-400"}`
159
+ },
160
+ (0, import_calendarI18n.tCal)("pisell2.recordBoard.calendar.move.newStartTime")
161
+ ), /* @__PURE__ */ import_react.default.createElement(
162
+ "select",
163
+ {
164
+ value: nextStartHour,
165
+ onChange: (e) => setMoveDraft((prev) => ({
166
+ ...prev || {},
167
+ targetHour: Number(e.target.value)
168
+ })),
169
+ className: `min-w-0 w-full rounded-2xl px-4 py-4 outline-none ${isLight ? "theme-input theme-text" : "border border-zinc-700 bg-[#171820] text-white"}`
170
+ },
171
+ hourSlots.filter(isBusinessHour).map((hour) => {
172
+ const disabled = hour + duration > endTimelineExclusive;
173
+ return /* @__PURE__ */ import_react.default.createElement("option", { key: hour, value: hour, disabled }, disabled ? slotDisabledLabel(hour) : (0, import_bookingCalendarDateUtils.formatHourLabel)(hour));
174
+ })
175
+ )), /* @__PURE__ */ import_react.default.createElement("div", { className: "min-w-0" }, /* @__PURE__ */ import_react.default.createElement(
176
+ "label",
177
+ {
178
+ className: `mb-2 block text-sm ${isLight ? "theme-text-muted" : "text-zinc-400"}`
179
+ },
180
+ (0, import_calendarI18n.tCal)("pisell2.recordBoard.calendar.move.newEndTime")
181
+ ), /* @__PURE__ */ import_react.default.createElement(
182
+ "select",
183
+ {
184
+ value: nextEndHour,
185
+ onChange: (e) => {
186
+ const nextEnd = Number(e.target.value);
187
+ setMoveDraft((prev) => ({
188
+ ...prev || {},
189
+ targetHour: nextEnd - duration
190
+ }));
191
+ },
192
+ className: `min-w-0 w-full rounded-2xl px-4 py-4 outline-none ${isLight ? "theme-input theme-text" : "border border-zinc-700 bg-[#171820] text-white"}`
193
+ },
194
+ hourSlots.filter(isBusinessHour).map((hour) => {
195
+ const startHour = hour - duration;
196
+ const disabled = startHour < firstTimelineHour;
197
+ return /* @__PURE__ */ import_react.default.createElement("option", { key: `end-${hour}`, value: hour, disabled }, disabled ? slotDisabledLabel(hour) : (0, import_bookingCalendarDateUtils.formatHourLabel)(hour));
198
+ })
199
+ ))), changed && /* @__PURE__ */ import_react.default.createElement(
200
+ "div",
201
+ {
202
+ className: `rounded-3xl border p-5 ${isLight ? "theme-panel-alt theme-border" : "border-zinc-700 bg-[#171820]"}`
203
+ },
204
+ /* @__PURE__ */ import_react.default.createElement(
205
+ "div",
206
+ {
207
+ className: `text-xs uppercase tracking-[0.14em] ${isLight ? "theme-text-muted" : "text-zinc-500"}`
208
+ },
209
+ (0, import_calendarI18n.tCal)("pisell2.recordBoard.calendar.move.previousInfo")
210
+ ),
211
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "mt-3 grid gap-3 md:grid-cols-2" }, /* @__PURE__ */ import_react.default.createElement(
212
+ "div",
213
+ {
214
+ className: `rounded-2xl p-4 ${isLight ? "theme-panel" : "bg-[#101117]"}`
215
+ },
216
+ /* @__PURE__ */ import_react.default.createElement(
217
+ "div",
218
+ {
219
+ className: `text-xs ${isLight ? "theme-text-muted" : "text-zinc-500"}`
220
+ },
221
+ (0, import_calendarI18n.tCal)("pisell2.recordBoard.calendar.move.original")
222
+ ),
223
+ /* @__PURE__ */ import_react.default.createElement(
224
+ "div",
225
+ {
226
+ className: `mt-2 text-sm ${isLight ? "theme-text-soft" : "text-zinc-300"}`
227
+ },
228
+ originalCourtName
229
+ ),
230
+ /* @__PURE__ */ import_react.default.createElement(
231
+ "div",
232
+ {
233
+ className: `mt-1 text-sm ${isLight ? "theme-text-soft" : "text-zinc-300"}`
234
+ },
235
+ originalDate
236
+ ),
237
+ /* @__PURE__ */ import_react.default.createElement(
238
+ "div",
239
+ {
240
+ className: `mt-1 text-sm ${isLight ? "theme-text-soft" : "text-zinc-300"}`
241
+ },
242
+ originalStart,
243
+ " - ",
244
+ originalEnd
245
+ )
246
+ ), /* @__PURE__ */ import_react.default.createElement(
247
+ "div",
248
+ {
249
+ className: `rounded-2xl p-4 ${isLight ? "theme-brand-surface border border-[var(--brand-light)]" : "bg-violet-600/10 border border-violet-500/30"}`
250
+ },
251
+ /* @__PURE__ */ import_react.default.createElement(
252
+ "div",
253
+ {
254
+ className: `text-xs ${isLight ? "theme-brand-text" : "text-violet-300"}`
255
+ },
256
+ isDragScenario ? (0, import_calendarI18n.tCal)("pisell2.recordBoard.calendar.move.dropTarget") : (0, import_calendarI18n.tCal)("pisell2.recordBoard.calendar.move.updated")
257
+ ),
258
+ /* @__PURE__ */ import_react.default.createElement(
259
+ "div",
260
+ {
261
+ className: `mt-2 text-sm ${isLight ? "theme-text" : "text-white"}`
262
+ },
263
+ nextCourtName
264
+ ),
265
+ /* @__PURE__ */ import_react.default.createElement(
266
+ "div",
267
+ {
268
+ className: `mt-1 text-sm ${isLight ? "theme-text" : "text-white"}`
269
+ },
270
+ nextDate
271
+ ),
272
+ /* @__PURE__ */ import_react.default.createElement(
273
+ "div",
274
+ {
275
+ className: `mt-1 text-sm ${isLight ? "theme-text" : "text-white"}`
276
+ },
277
+ (0, import_bookingCalendarDateUtils.formatHourLabel)(nextStartHour),
278
+ " -",
279
+ " ",
280
+ (0, import_bookingCalendarDateUtils.formatHourLabel)(nextEndHour)
281
+ )
282
+ ))
283
+ )),
284
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "mt-6 flex justify-end gap-3" }, /* @__PURE__ */ import_react.default.createElement(
285
+ "button",
286
+ {
287
+ type: "button",
288
+ onClick: onClose,
289
+ className: `rounded-2xl px-5 py-3 ${isLight ? "btn-neutral" : "border border-zinc-700 text-zinc-300 hover:bg-zinc-800"}`
290
+ },
291
+ (0, import_calendarI18n.tCal)("pisell2.recordBoard.calendar.common.cancel")
292
+ ), /* @__PURE__ */ import_react.default.createElement(
293
+ "button",
294
+ {
295
+ type: "button",
296
+ onClick: onConfirm,
297
+ className: "rounded-2xl bg-violet-600 px-6 py-3 font-semibold text-white hover:bg-violet-500"
298
+ },
299
+ (0, import_calendarI18n.tCal)("pisell2.recordBoard.calendar.move.confirm")
300
+ ))
301
+ ));
302
+ }
303
+ // Annotate the CommonJS export names for ESM import in node:
304
+ 0 && (module.exports = {
305
+ MoveConfirmModal
306
+ });
@@ -0,0 +1,17 @@
1
+ /// <reference types="react" />
2
+ import { type CalendarBookingSegmentInput } from '../utils/bookingCalendarDateUtils';
3
+ export declare type OverflowListModalVirtualListProps = {
4
+ items: CalendarBookingSegmentInput[];
5
+ dateKey: string;
6
+ listWidth: number;
7
+ onPickItem: (item: CalendarBookingSegmentInput) => void;
8
+ onClose: () => void;
9
+ /**
10
+ * 为 true 时按日视图逻辑展示状态徽标与状态底色(如日视图 lane 溢出列表)。
11
+ * 月 / 周打开的列表传 false,仅默认 booking / block 样式。
12
+ * @default true
13
+ */
14
+ showStatusUi?: boolean;
15
+ };
16
+ /** 溢出预约全屏列表弹层内的虚拟列表(overflowListModal) */
17
+ export declare function OverflowListModalVirtualList({ items, dateKey, listWidth, onPickItem, onClose, showStatusUi, }: OverflowListModalVirtualListProps): JSX.Element | null;
@@ -0,0 +1,111 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/components/pisellRecordBoard/shellFrame/Calendar/modal/OverflowListModal.tsx
30
+ var OverflowListModal_exports = {};
31
+ __export(OverflowListModal_exports, {
32
+ OverflowListModalVirtualList: () => OverflowListModalVirtualList
33
+ });
34
+ module.exports = __toCommonJS(OverflowListModal_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_react_window = require("react-window");
37
+ var import_bookingCalendarConstants = require("../const/bookingCalendarConstants");
38
+ var import_bookingCalendarDateUtils = require("../utils/bookingCalendarDateUtils");
39
+ var import_bookingCalendarViewShared = require("../bookingCalendarViewShared");
40
+ var import_BookingCalendarStyle = require("../utils/BookingCalendarStyle");
41
+ function OverflowListModalVirtualList({
42
+ items,
43
+ dateKey,
44
+ listWidth,
45
+ onPickItem,
46
+ onClose,
47
+ showStatusUi = true
48
+ }) {
49
+ if (!(items == null ? void 0 : items.length)) return null;
50
+ const listH = Math.min(
51
+ items.length * import_bookingCalendarConstants.OVERFLOW_MODAL_ROW_H,
52
+ import_bookingCalendarConstants.OVERFLOW_MODAL_LIST_MAX_H
53
+ );
54
+ const Row = (0, import_react.useCallback)(
55
+ ({ index, style }) => {
56
+ const extraItem = items[index];
57
+ if (!extraItem) return null;
58
+ const displayTag = showStatusUi ? (0, import_bookingCalendarDateUtils.getDisplayStatusTag)(extraItem, dateKey) : null;
59
+ const tagMeta = showStatusUi && displayTag ? (0, import_bookingCalendarViewShared.statusTagMeta)(displayTag) : null;
60
+ const rowStateClass = showStatusUi ? (0, import_BookingCalendarStyle.getBookingStateClasses)(extraItem, dateKey) : (0, import_BookingCalendarStyle.getGridBookingRowStateClasses)(extraItem);
61
+ return /* @__PURE__ */ import_react.default.createElement(
62
+ "div",
63
+ {
64
+ style: {
65
+ ...style,
66
+ boxSizing: "border-box",
67
+ paddingLeft: 4,
68
+ paddingRight: 4,
69
+ paddingBottom: import_bookingCalendarConstants.OVERFLOW_MODAL_ROW_GAP
70
+ }
71
+ },
72
+ /* @__PURE__ */ import_react.default.createElement(
73
+ "button",
74
+ {
75
+ type: "button",
76
+ onClick: () => {
77
+ onClose();
78
+ onPickItem(extraItem);
79
+ },
80
+ className: `flex h-full min-h-0 w-full flex-col justify-center rounded-xl px-4 py-3 text-left text-white hover:bg-violet-600 ${rowStateClass}`
81
+ },
82
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "font-medium" }, extraItem.name),
83
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "mt-1 text-sm opacity-85" }, (0, import_bookingCalendarDateUtils.formatHourLabel)(extraItem.startHour), " -", " ", (0, import_bookingCalendarDateUtils.formatHourLabel)(extraItem.endHour)),
84
+ tagMeta && /* @__PURE__ */ import_react.default.createElement("div", { className: "mt-2 flex justify-end" }, /* @__PURE__ */ import_react.default.createElement(
85
+ "span",
86
+ {
87
+ className: `rounded-lg px-2 py-0.5 text-[10px] font-semibold ${tagMeta.className} backdrop-blur-[2px]`
88
+ },
89
+ tagMeta.label
90
+ ))
91
+ )
92
+ );
93
+ },
94
+ [items, dateKey, onPickItem, onClose, showStatusUi]
95
+ );
96
+ return /* @__PURE__ */ import_react.default.createElement(
97
+ import_react_window.FixedSizeList,
98
+ {
99
+ height: listH,
100
+ itemCount: items.length,
101
+ itemSize: import_bookingCalendarConstants.OVERFLOW_MODAL_ROW_H,
102
+ width: listWidth,
103
+ style: { overflowX: "hidden" }
104
+ },
105
+ Row
106
+ );
107
+ }
108
+ // Annotate the CommonJS export names for ESM import in node:
109
+ 0 && (module.exports = {
110
+ OverflowListModalVirtualList
111
+ });