@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,9 @@
1
+ /// <reference types="react" />
2
+ import { type CalendarBookingSegmentInput } from '../utils/bookingCalendarDateUtils';
3
+ export declare type MonthGridOverflowVirtualListProps = {
4
+ items: CalendarBookingSegmentInput[];
5
+ listWidth: number;
6
+ onPickItem: (item: CalendarBookingSegmentInput) => void;
7
+ };
8
+ /** 月/周格「+N」悬停层内的虚拟列表(overflowPopover) */
9
+ export declare function MonthGridOverflowVirtualList({ items, listWidth, onPickItem, }: MonthGridOverflowVirtualListProps): JSX.Element | null;
@@ -0,0 +1,96 @@
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/OverflowPopover.tsx
30
+ var OverflowPopover_exports = {};
31
+ __export(OverflowPopover_exports, {
32
+ MonthGridOverflowVirtualList: () => MonthGridOverflowVirtualList
33
+ });
34
+ module.exports = __toCommonJS(OverflowPopover_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
+ function MonthGridOverflowVirtualList({
40
+ items,
41
+ listWidth,
42
+ onPickItem
43
+ }) {
44
+ if (!(items == null ? void 0 : items.length)) return null;
45
+ const listH = Math.min(
46
+ items.length * import_bookingCalendarConstants.MONTH_OVERFLOW_POPOVER_ITEM_H,
47
+ import_bookingCalendarConstants.MONTH_OVERFLOW_POPOVER_LIST_MAX_H
48
+ );
49
+ const Row = (0, import_react.useCallback)(
50
+ ({ index, style }) => {
51
+ const extraItem = items[index];
52
+ if (!extraItem) return null;
53
+ return /* @__PURE__ */ import_react.default.createElement(
54
+ "div",
55
+ {
56
+ style: {
57
+ ...style,
58
+ boxSizing: "border-box",
59
+ paddingLeft: 2,
60
+ paddingRight: 6,
61
+ paddingBottom: import_bookingCalendarConstants.MONTH_OVERFLOW_POPOVER_ROW_GAP
62
+ }
63
+ },
64
+ /* @__PURE__ */ import_react.default.createElement(
65
+ "button",
66
+ {
67
+ type: "button",
68
+ onClick: (e) => {
69
+ e.stopPropagation();
70
+ onPickItem(extraItem);
71
+ },
72
+ className: `flex h-full min-h-0 w-full flex-col justify-center rounded-lg px-3 py-2 text-xs text-left ${extraItem.kind === "block" ? "bg-red-700/70 text-red-100" : "bg-violet-700/90 text-violet-50"}`
73
+ },
74
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "truncate" }, extraItem.name),
75
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "mt-1 opacity-80" }, (0, import_bookingCalendarDateUtils.formatHourLabel)(extraItem.startHour), " -", " ", (0, import_bookingCalendarDateUtils.formatHourLabel)(extraItem.endHour))
76
+ )
77
+ );
78
+ },
79
+ [items, onPickItem]
80
+ );
81
+ return /* @__PURE__ */ import_react.default.createElement(
82
+ import_react_window.FixedSizeList,
83
+ {
84
+ height: listH,
85
+ itemCount: items.length,
86
+ itemSize: import_bookingCalendarConstants.MONTH_OVERFLOW_POPOVER_ITEM_H,
87
+ width: listWidth,
88
+ style: { overflowX: "hidden" }
89
+ },
90
+ Row
91
+ );
92
+ }
93
+ // Annotate the CommonJS export names for ESM import in node:
94
+ 0 && (module.exports = {
95
+ MonthGridOverflowVirtualList
96
+ });
@@ -0,0 +1,10 @@
1
+ import { type CalendarBookingSegmentInput } from './bookingCalendarDateUtils';
2
+ export declare function getDrawerStatusTheme(item: CalendarBookingSegmentInput, dateKey: string): "bg-red-700/88 border-b-4 border-red-300/55" | "bg-zinc-700/88 border-b-4 border-zinc-400/45" | "bg-zinc-700/88 border-b-4 border-red-400/75" | "bg-violet-700/92 border-b-4 border-amber-400/95" | "bg-violet-700/92 border-b-4 border-zinc-300/45" | "bg-violet-700/92 border-b-4 border-violet-300/30";
3
+ export declare function paymentTagClass(label: string, isLight?: boolean): "theme-success-chip border" | "bg-emerald-500 text-white" | "theme-warning-chip border" | "bg-amber-500 text-white" | "theme-info-chip border" | "bg-sky-500 text-white" | "theme-danger-chip border" | "bg-red-500 text-white";
4
+ export declare function fulfillmentTagClass(label: string, isLight?: boolean): "theme-success-chip border" | "theme-warning-chip border" | "bg-amber-500 text-white" | "theme-info-chip border" | "theme-danger-chip border" | "bg-emerald-600 text-white" | "bg-cyan-500 text-white" | "bg-red-600 text-white" | "border border-[var(--border-strong)] bg-[var(--bg-input)] theme-text-soft" | "bg-zinc-600 text-white" | "border border-[var(--brand-light)] bg-[var(--brand-surface)] theme-brand-text" | "bg-violet-600 text-white";
5
+ export declare function getBookingStateClasses(item: CalendarBookingSegmentInput, dateKey: string): "bg-zinc-700/55 border border-zinc-500/70 text-zinc-100 grayscale-[0.2]" | "bg-zinc-700/55 border border-red-500/70 text-zinc-200 grayscale-[0.15]" | "bg-violet-700/90 border border-amber-400/80 text-violet-50" | "bg-red-700/70 text-red-100" | "bg-violet-700/90 text-violet-50";
6
+ /**
7
+ * 月 / 周紧凑格:不按签到/取消/迟到等状态变色,仅区分 booking(默认紫)与 block(红)。
8
+ * 与 {@link getBookingStateClasses} 在无状态分支时一致,但不读取 `dateKey`。
9
+ */
10
+ export declare function getGridBookingRowStateClasses(item: CalendarBookingSegmentInput): string;
@@ -0,0 +1,92 @@
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/utils/BookingCalendarStyle.ts
20
+ var BookingCalendarStyle_exports = {};
21
+ __export(BookingCalendarStyle_exports, {
22
+ fulfillmentTagClass: () => fulfillmentTagClass,
23
+ getBookingStateClasses: () => getBookingStateClasses,
24
+ getDrawerStatusTheme: () => getDrawerStatusTheme,
25
+ getGridBookingRowStateClasses: () => getGridBookingRowStateClasses,
26
+ paymentTagClass: () => paymentTagClass
27
+ });
28
+ module.exports = __toCommonJS(BookingCalendarStyle_exports);
29
+ var import_bookingCalendarDateUtils = require("./bookingCalendarDateUtils");
30
+ function getDrawerStatusTheme(item, dateKey) {
31
+ const tag = (0, import_bookingCalendarDateUtils.getDisplayStatusTag)(item, dateKey);
32
+ if (item.kind === "block")
33
+ return "bg-red-700/88 border-b-4 border-red-300/55";
34
+ if (tag === "cancel") return "bg-zinc-700/88 border-b-4 border-zinc-400/45";
35
+ if (tag === "no_show") return "bg-zinc-700/88 border-b-4 border-red-400/75";
36
+ if (tag === "late") return "bg-violet-700/92 border-b-4 border-amber-400/95";
37
+ if (tag === "checked_in")
38
+ return "bg-violet-700/92 border-b-4 border-zinc-300/45";
39
+ return "bg-violet-700/92 border-b-4 border-violet-300/30";
40
+ }
41
+ function paymentTagClass(label, isLight = false) {
42
+ switch (label) {
43
+ case "Paid":
44
+ return isLight ? "theme-success-chip border" : "bg-emerald-500 text-white";
45
+ case "Partial paid":
46
+ return isLight ? "theme-warning-chip border" : "bg-amber-500 text-white";
47
+ case "Refunded":
48
+ return isLight ? "theme-info-chip border" : "bg-sky-500 text-white";
49
+ case "Unpaid":
50
+ default:
51
+ return isLight ? "theme-danger-chip border" : "bg-red-500 text-white";
52
+ }
53
+ }
54
+ function fulfillmentTagClass(label, isLight = false) {
55
+ switch (label) {
56
+ case "Finished":
57
+ return isLight ? "theme-success-chip border" : "bg-emerald-600 text-white";
58
+ case "Arrived":
59
+ return isLight ? "theme-info-chip border" : "bg-cyan-500 text-white";
60
+ case "Late":
61
+ return isLight ? "theme-warning-chip border" : "bg-amber-500 text-white";
62
+ case "No-show":
63
+ return isLight ? "theme-danger-chip border" : "bg-red-600 text-white";
64
+ case "Cancelled":
65
+ return isLight ? "border border-[var(--border-strong)] bg-[var(--bg-input)] theme-text-soft" : "bg-zinc-600 text-white";
66
+ default:
67
+ return isLight ? "border border-[var(--brand-light)] bg-[var(--brand-surface)] theme-brand-text" : "bg-violet-600 text-white";
68
+ }
69
+ }
70
+ function getBookingStateClasses(item, dateKey) {
71
+ const displayTag = (0, import_bookingCalendarDateUtils.getDisplayStatusTag)(item, dateKey);
72
+ if (displayTag === "cancel")
73
+ return "bg-zinc-700/55 border border-zinc-500/70 text-zinc-100 grayscale-[0.2]";
74
+ if (displayTag === "no_show")
75
+ return "bg-zinc-700/55 border border-red-500/70 text-zinc-200 grayscale-[0.15]";
76
+ if (displayTag === "late")
77
+ return "bg-violet-700/90 border border-amber-400/80 text-violet-50";
78
+ if (item.kind === "block") return "bg-red-700/70 text-red-100";
79
+ return "bg-violet-700/90 text-violet-50";
80
+ }
81
+ function getGridBookingRowStateClasses(item) {
82
+ if (item.kind === "block") return "bg-red-700/70 text-red-100";
83
+ return "bg-violet-700/90 text-violet-50";
84
+ }
85
+ // Annotate the CommonJS export names for ESM import in node:
86
+ 0 && (module.exports = {
87
+ fulfillmentTagClass,
88
+ getBookingStateClasses,
89
+ getDrawerStatusTheme,
90
+ getGridBookingRowStateClasses,
91
+ paymentTagClass
92
+ });
@@ -0,0 +1,232 @@
1
+ import type { Dayjs } from 'dayjs';
2
+ import type { RecordBoardCalendarBookingLike } from '../../../types';
3
+ /**
4
+ * 日历日期与时间轴纯函数:`fmtDate`、占用矩阵、月格、overlay 分段、周范围等,供 BookingCalendar 三视图共用。
5
+ */
6
+ /** 与 {@link RecordBoardCalendarBookingLike} 一致,并支持跨日 endDate */
7
+ export declare type CalendarBookingSegmentInput = RecordBoardCalendarBookingLike & {
8
+ endDate?: string;
9
+ };
10
+ export interface BookingSegmentForDate {
11
+ startHour: number;
12
+ endHour: number;
13
+ continuesPrev: boolean;
14
+ continuesNext: boolean;
15
+ }
16
+ export interface ViewNowReference {
17
+ dateKey: string;
18
+ hourFloat: number;
19
+ }
20
+ export declare function fmtDate(date: Date): string;
21
+ /** 本地当前日期键与「日历时」小数小时,用于状态徽标与当前时刻线 */
22
+ export declare function getViewNowReference(): ViewNowReference;
23
+ export declare function parseDate(str: string): Date;
24
+ export declare function addDays(date: Date, n: number): Date;
25
+ export declare function startOfWeek(date: Date): Date;
26
+ export declare function rangeDays(anchor: Date): Date[];
27
+ export declare function isHourInTimelineSlots(hour: number, hourSlots: number[] | undefined): boolean;
28
+ export declare function formatHourLabel(hour: number): string;
29
+ export declare function buildTimeOptions(start?: number, end?: number, sliceMinutes?: number): number[];
30
+ export declare function monthGrid(date: Date, bookings: CalendarBookingSegmentInput[], courtsList: {
31
+ id: string;
32
+ }[] | undefined, hourSlotsIn: number[] | undefined, slotStepHours?: number): {
33
+ date: Date;
34
+ key: string;
35
+ inMonth: boolean;
36
+ bookingCount: number;
37
+ blockCount: number;
38
+ fullyBooked: boolean;
39
+ }[];
40
+ export declare function getBookingSegmentForDate(item: CalendarBookingSegmentInput, dateKey: string): BookingSegmentForDate | null;
41
+ export declare function dayOccupancy(courtId: string, dateKey: string, bookings: CalendarBookingSegmentInput[], hourSlots: number[] | undefined, slotStepHours: number): Record<number, CalendarBookingSegmentInput | null>;
42
+ export interface SelectedSlotLike {
43
+ courtId: string;
44
+ date: string;
45
+ hour: number;
46
+ }
47
+ export declare function groupSelectedSlots(slots: SelectedSlotLike[], slotStepHours?: number): Array<{
48
+ courtId: string;
49
+ date: string;
50
+ startHour: number;
51
+ endHour: number;
52
+ }>;
53
+ /**
54
+ * 日视图空闲格:仅当全部为同一 court、同一日,且时间上首尾相接成一段时返回 true(与 {@link groupSelectedSlots} 合并规则一致)。
55
+ */
56
+ export declare function isFreeSelectionContiguousSameResource(slots: SelectedSlotLike[], slotStepHours?: number): boolean;
57
+ export declare function hasConflict(bookings: CalendarBookingSegmentInput[], courtId: string, date: string, startHour: number, endHour: number, ignoreId?: string | null): boolean;
58
+ export declare function overlappingBookings(bookings: CalendarBookingSegmentInput[], courtId: string, date: string, startHour: number, endHour: number): CalendarBookingSegmentInput[];
59
+ export declare function courtDaySummary(courtId: string, dateKey: string, bookings: CalendarBookingSegmentInput[], hourSlots: number[] | undefined, slotStepHours: number): {
60
+ occupiedHours: number[];
61
+ hasBlock: boolean;
62
+ fullyBooked: boolean;
63
+ items: CalendarBookingSegmentInput[];
64
+ };
65
+ export declare function sameSlot(a: SelectedSlotLike, b: SelectedSlotLike): boolean;
66
+ /** 营业日 `dateStr` + 浮点小时(含半格)→ dayjs */
67
+ export declare function dayAndHourToDayjs(dateStr: string, hourFloat: number): Dayjs;
68
+ export declare function getDisplayStatusTag(item: CalendarBookingSegmentInput, dateKey: string): string | null;
69
+ export declare function getLateMinutes(item: CalendarBookingSegmentInput, dateKey: string): number | null;
70
+ export declare function currentTimeLabel(): string;
71
+ export declare function formatDateLoose(str: string | undefined): string;
72
+ export declare function formatTimelineStamp(value: string | undefined | null): {
73
+ date: string;
74
+ time: string;
75
+ };
76
+ /** 日视图 overlay 条(可原地写入 lane) */
77
+ export declare type DayOverlayLaneMutable = {
78
+ courtId: string;
79
+ start: number;
80
+ span: number;
81
+ lane?: number;
82
+ laneCount?: number;
83
+ };
84
+ /**
85
+ * 同一 court 上时间重叠的 overlay 分配纵向 lane,避免多张卡片完全叠在同一矩形里。
86
+ * 使用按开始时间排序 + 贪心:每条预约放入「上一条已结束时间不晚于本段开始」的最小编号线。
87
+ */
88
+ export declare function assignDayOverlapLanesInPlace(overlays: DayOverlayLaneMutable[]): void;
89
+ /** 扫描时间轴:同一 court 在任一时刻的最大并行条数(用于行高,与分 lane 一致) */
90
+ export declare function maxConcurrentBookingsOnCourt(overlays: Array<{
91
+ courtId: string;
92
+ start: number;
93
+ span: number;
94
+ }>, courtId: string): number;
95
+ /** 并行超过 cap 时:cap 条内容 + 1 行「+N」占位 */
96
+ export declare function effectiveDayOverlayDisplayLaneCount(rawConcurrent: number): number;
97
+ /** 同一 court 下时间轴区间相交的 overlay 归为一簇(用于 3+N 合并展示) */
98
+ export declare function clusterDayCourtOverlaysByOverlap<T extends {
99
+ courtId: string;
100
+ start: number;
101
+ span: number;
102
+ }>(overlays: T[], courtId: string): T[][];
103
+ export declare function dayOverlayHiddenKey(item: {
104
+ id?: string | number;
105
+ } | null | undefined, dayKey: string, courtId: string): string;
106
+ /**
107
+ * 将 totalInner 像素整数分给 n 条竖向 lane(含缝),保证 Σheight + Σgap === totalInner,消除底部留白缝。
108
+ */
109
+ export declare function dayOverlayLaneMetrics(totalInner: number, laneCount: number, gap: number): {
110
+ topFor: (lane: number) => number;
111
+ heightFor: (lane: number) => number;
112
+ };
113
+ export interface BuildOverlayBookingRow {
114
+ kind: string;
115
+ id: string;
116
+ }
117
+ export interface BuiltDayOverlay {
118
+ item: CalendarBookingSegmentInput;
119
+ rowIndex: number;
120
+ rowTop: number;
121
+ rowHeight: number;
122
+ courtId: string;
123
+ start: number;
124
+ end: number;
125
+ span: number;
126
+ continuesNext?: boolean;
127
+ continuesPrev?: boolean;
128
+ lane?: number;
129
+ laneCount?: number;
130
+ }
131
+ export declare function buildOverlayBookings(visibleCourtRows: BuildOverlayBookingRow[], dayKey: string, bookings: CalendarBookingSegmentInput[], rowTopMap: Record<string, number> | undefined, hourSlots: number[] | undefined, dayRowHeights: number[], slotStepHours?: number): BuiltDayOverlay[];
132
+ /** 日视图:按行高累加每行 rowTop(court / group) */
133
+ export declare function buildDayRowTopMap(visibleCourtRows: Array<{
134
+ id: string;
135
+ }>, heights: number[]): Record<string, number>;
136
+ /** 日历状态徽标:返回 i18n key + className;文案在 UI 层通过 tCal 解析,便于 utils 单测 */
137
+ export declare function statusTagMetaParts(tag: string | null | undefined): {
138
+ labelI18nKey: string;
139
+ className: string;
140
+ } | null;
141
+ export declare type CalendarCourtNameRow = {
142
+ id: string;
143
+ name?: string | null;
144
+ };
145
+ export declare function getBookingDetailData(item: CalendarBookingSegmentInput, courtsList?: CalendarCourtNameRow[]): {
146
+ rawSales: null;
147
+ bookingId: string;
148
+ orderNumber: string;
149
+ shopOrderNumber: string;
150
+ orderStatus: string;
151
+ appointmentStatus: string;
152
+ paymentStatus: string;
153
+ customer: {
154
+ id: null;
155
+ name: string;
156
+ email: string;
157
+ phone: string;
158
+ };
159
+ guestCount: number;
160
+ checkedInCount: number;
161
+ guests: never[];
162
+ schedule: {
163
+ startDate: string;
164
+ startTime: string;
165
+ endDate: string;
166
+ endTime: string;
167
+ duration: number;
168
+ arrivedAt: null;
169
+ completedAt: null;
170
+ };
171
+ resources: never[];
172
+ summaryItems: never[];
173
+ items: never[];
174
+ note: string;
175
+ files: {
176
+ form: never[];
177
+ uploaded: never[];
178
+ invoice: never[];
179
+ };
180
+ payments: never[];
181
+ history: never[];
182
+ summary: {};
183
+ paymentSummary: {
184
+ totalAmount: number;
185
+ paidAmount: number;
186
+ balanceAmount: number;
187
+ currencySymbol: string;
188
+ isFullyPaid: boolean;
189
+ };
190
+ itemSummary: {
191
+ itemCount: number;
192
+ itemQtyTotal: number;
193
+ };
194
+ headerSummary: {
195
+ customerName: string;
196
+ guestCount: number;
197
+ checkedInCount: number;
198
+ timeLabel: string;
199
+ resourceLabel: string;
200
+ };
201
+ headerTags: {
202
+ paymentTag: string;
203
+ fulfillmentTag: string;
204
+ hasNote: boolean;
205
+ paymentStatus: string;
206
+ orderStatus: string;
207
+ };
208
+ fileCount: number;
209
+ canChangeCustomer: boolean;
210
+ noteCount: number;
211
+ noteGroups: {
212
+ internal: never[];
213
+ order: {
214
+ id: string;
215
+ label: string;
216
+ text: string;
217
+ }[];
218
+ item: never[];
219
+ };
220
+ metaFlags: {
221
+ itemsChanged: boolean;
222
+ paymentsChanged: boolean;
223
+ guestChanged: boolean;
224
+ filesChanged: boolean;
225
+ notesChanged: boolean;
226
+ formChanged: boolean;
227
+ uploadedChanged: boolean;
228
+ invoiceChanged: boolean;
229
+ historyChanged: boolean;
230
+ };
231
+ actions: never[];
232
+ };