@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,18 @@
1
+ /// <reference types="react" />
2
+ /** 月视图:由 BookingCalendar 传入数据与交互,本文件仅负责渲染结构 */
3
+ export declare function BookingCalendarMonthView({ isLight, anchorDate, monthDays, bookings, goToDayFromCell, handleGridDropMove, setDraggingItem, openBookingDetail, overflowPopover, setOverflowPopover, overflowListModal, setOverflowListModal, overflowPanelRef, renderMonthWeekBooking, }: {
4
+ isLight: any;
5
+ anchorDate: any;
6
+ monthDays: any;
7
+ bookings: any;
8
+ goToDayFromCell: any;
9
+ handleGridDropMove: any;
10
+ setDraggingItem: any;
11
+ openBookingDetail: any;
12
+ overflowPopover: any;
13
+ setOverflowPopover: any;
14
+ overflowListModal: any;
15
+ setOverflowListModal: any;
16
+ overflowPanelRef: any;
17
+ renderMonthWeekBooking: any;
18
+ }): JSX.Element;
@@ -0,0 +1,219 @@
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/view/BookingCalendarMonthView.tsx
30
+ var BookingCalendarMonthView_exports = {};
31
+ __export(BookingCalendarMonthView_exports, {
32
+ BookingCalendarMonthView: () => BookingCalendarMonthView
33
+ });
34
+ module.exports = __toCommonJS(BookingCalendarMonthView_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_OverflowPopover = require("../modal/OverflowPopover");
37
+ var import_calendarI18n = require("../calendarI18n");
38
+ var import_BookingCalendarStyle = require("../utils/BookingCalendarStyle");
39
+ var import_bookingCalendarDateUtils = require("../utils/bookingCalendarDateUtils");
40
+ function BookingCalendarMonthView({
41
+ isLight,
42
+ anchorDate,
43
+ monthDays,
44
+ bookings,
45
+ goToDayFromCell,
46
+ handleGridDropMove,
47
+ setDraggingItem,
48
+ openBookingDetail,
49
+ overflowPopover,
50
+ setOverflowPopover,
51
+ overflowListModal,
52
+ setOverflowListModal,
53
+ overflowPanelRef,
54
+ renderMonthWeekBooking
55
+ }) {
56
+ return /* @__PURE__ */ import_react.default.createElement(
57
+ "div",
58
+ {
59
+ key: `month-${anchorDate.getFullYear()}-${anchorDate.getMonth()}`,
60
+ className: "flex min-h-0 flex-1 flex-col"
61
+ },
62
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "p-2 md:p-4 relative flex min-h-0 flex-1 flex-col" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "theme-panel rounded-3xl border min-w-[980px] min-h-0 max-h-none flex-1 overflow-auto" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "theme-panel-alt sticky top-0 z-20 grid grid-cols-7 border-b theme-border shadow-[0_6px_12px_rgba(0,0,0,0.08)]" }, import_calendarI18n.CALENDAR_WEEKDAY_IDS.map((id, i) => /* @__PURE__ */ import_react.default.createElement(
63
+ "div",
64
+ {
65
+ key: id,
66
+ className: `px-4 py-3 text-center font-medium ${i >= 5 ? isLight ? "bg-violet-200" : "bg-violet-900" : ""}`
67
+ },
68
+ (0, import_calendarI18n.tCal)(id)
69
+ ))), /* @__PURE__ */ import_react.default.createElement("div", { className: "grid grid-cols-7 auto-rows-[255px]" }, monthDays.map((day) => {
70
+ const allItems = bookings.filter((b) => b.date === day.key);
71
+ const dayItems = allItems.slice(0, 3);
72
+ const moreItems = allItems.slice(3);
73
+ const moreCount = moreItems.length;
74
+ const showMoreTile = moreCount > 0 && dayItems.length > 0;
75
+ return /* @__PURE__ */ import_react.default.createElement(
76
+ "button",
77
+ {
78
+ key: day.key,
79
+ onClick: () => goToDayFromCell(day.date, null, `month-${day.key}`),
80
+ onDragOver: (e) => e.preventDefault(),
81
+ onDrop: (e) => {
82
+ e.preventDefault();
83
+ handleGridDropMove(day.key);
84
+ },
85
+ className: `relative flex flex-col justify-start border-r border-b theme-border p-3 text-left align-top ${day.inMonth ? isLight ? "theme-grid-cell theme-text" : "bg-[#1a1b21]" : isLight ? "theme-grid-muted theme-text-faint" : "bg-[#111217] text-zinc-600"} ${isLight ? "hover:bg-violet-50/70" : "hover:bg-zinc-900"}`
86
+ },
87
+ /* @__PURE__ */ import_react.default.createElement(
88
+ "div",
89
+ {
90
+ className: `absolute left-3 top-3 text-4xl font-semibold leading-none ${isLight ? "theme-text-soft" : ""}`
91
+ },
92
+ day.date.getDate()
93
+ ),
94
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "absolute right-3 top-3 flex gap-1 pt-1" }, day.bookingCount > 0 && /* @__PURE__ */ import_react.default.createElement("span", { className: "h-3 w-3 rounded-full bg-violet-500" }), (day.blockCount > 0 || day.fullyBooked) && /* @__PURE__ */ import_react.default.createElement("span", { className: "h-3 w-3 rounded-full bg-red-500" })),
95
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "mt-10 flex flex-col items-start gap-1.5 w-full" }, dayItems.map((item, i) => {
96
+ const isLastVisible = i === dayItems.length - 1;
97
+ const shrinkForMore = showMoreTile && isLastVisible;
98
+ const layoutClassName = `block rounded-md px-2 py-2 text-xs text-left ${(0, import_BookingCalendarStyle.getGridBookingRowStateClasses)(
99
+ item
100
+ )} ${shrinkForMore ? "flex-1 min-w-0" : "w-full"}`;
101
+ return /* @__PURE__ */ import_react.default.createElement(
102
+ "div",
103
+ {
104
+ key: i,
105
+ className: "flex w-full items-stretch gap-2"
106
+ },
107
+ renderMonthWeekBooking ? /* @__PURE__ */ import_react.default.createElement(
108
+ "div",
109
+ {
110
+ className: shrinkForMore ? "flex-1 min-w-0" : "w-full"
111
+ },
112
+ renderMonthWeekBooking({
113
+ item,
114
+ dateKey: day.key,
115
+ view: "month",
116
+ isLight,
117
+ layoutClassName,
118
+ onOpenDetail: openBookingDetail,
119
+ onDragStart: (it) => setDraggingItem(it),
120
+ draggable: item.kind !== "block"
121
+ })
122
+ ) : /* @__PURE__ */ import_react.default.createElement(
123
+ "button",
124
+ {
125
+ type: "button",
126
+ draggable: item.kind !== "block",
127
+ onDragStart: (e) => {
128
+ if (item.kind !== "block") {
129
+ e.stopPropagation();
130
+ setDraggingItem(item);
131
+ }
132
+ },
133
+ onClick: (e) => {
134
+ e.stopPropagation();
135
+ openBookingDetail(item);
136
+ },
137
+ className: layoutClassName
138
+ },
139
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "truncate" }, item.name),
140
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "mt-1 opacity-80" }, (0, import_bookingCalendarDateUtils.formatHourLabel)(item.startHour), " -", " ", (0, import_bookingCalendarDateUtils.formatHourLabel)(item.endHour))
141
+ ),
142
+ shrinkForMore && /* @__PURE__ */ import_react.default.createElement(
143
+ "div",
144
+ {
145
+ className: "relative h-[52px] w-[52px] shrink-0",
146
+ ref: (overflowPopover == null ? void 0 : overflowPopover.courtId) === "month" && (overflowPopover == null ? void 0 : overflowPopover.date) === day.key ? overflowPanelRef : null
147
+ },
148
+ /* @__PURE__ */ import_react.default.createElement(
149
+ "button",
150
+ {
151
+ onMouseEnter: (e) => {
152
+ e.stopPropagation();
153
+ setOverflowPopover({
154
+ courtId: "month",
155
+ date: day.key,
156
+ items: moreItems,
157
+ pinned: false
158
+ });
159
+ },
160
+ onClick: (e) => {
161
+ e.stopPropagation();
162
+ setOverflowPopover(null);
163
+ setOverflowListModal(
164
+ (prev) => prev && prev.scope === "month" && prev.date === day.key ? null : {
165
+ scope: "month",
166
+ date: day.key,
167
+ title: (0, import_calendarI18n.tCal)(
168
+ "pisell2.recordBoard.calendar.overflow.listTitleBookings",
169
+ { date: day.key }
170
+ ),
171
+ items: allItems.filter(
172
+ (x) => x.kind === "booking"
173
+ )
174
+ }
175
+ );
176
+ },
177
+ className: "flex h-[52px] w-[52px] items-center justify-center rounded-xl bg-violet-700/90 text-sm font-semibold text-white"
178
+ },
179
+ "+",
180
+ moreCount
181
+ ),
182
+ (overflowPopover == null ? void 0 : overflowPopover.courtId) === "month" && (overflowPopover == null ? void 0 : overflowPopover.date) === day.key && !overflowListModal && /* @__PURE__ */ import_react.default.createElement(
183
+ "div",
184
+ {
185
+ onMouseLeave: () => {
186
+ if (!(overflowPopover == null ? void 0 : overflowPopover.pinned))
187
+ setOverflowPopover(null);
188
+ },
189
+ className: `absolute right-0 top-[60px] z-20 flex min-w-[240px] max-h-[360px] flex-col rounded-xl border p-3 shadow-2xl ${isLight ? "theme-panel theme-border" : "border-zinc-700 bg-[#111218]"}`
190
+ },
191
+ /* @__PURE__ */ import_react.default.createElement(
192
+ "div",
193
+ {
194
+ className: `mb-3 shrink-0 text-xs font-semibold ${isLight ? "theme-text-soft" : "text-zinc-300"}`
195
+ },
196
+ (0, import_calendarI18n.tCal)(
197
+ "pisell2.recordBoard.calendar.overflow.bookingsForDay"
198
+ )
199
+ ),
200
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "min-h-0 flex-1 overflow-hidden" }, /* @__PURE__ */ import_react.default.createElement(
201
+ import_OverflowPopover.MonthGridOverflowVirtualList,
202
+ {
203
+ items: overflowPopover.items,
204
+ listWidth: 214,
205
+ onPickItem: openBookingDetail
206
+ }
207
+ ))
208
+ )
209
+ )
210
+ );
211
+ }))
212
+ );
213
+ }))))
214
+ );
215
+ }
216
+ // Annotate the CommonJS export names for ESM import in node:
217
+ 0 && (module.exports = {
218
+ BookingCalendarMonthView
219
+ });
@@ -0,0 +1,27 @@
1
+ import React from 'react';
2
+ import type { RecordBoardCalendarProps } from '../../../types';
3
+ /**
4
+ * 周视图:7 日网格 + 左侧分组(可折叠),单元格调起日视图;格内 drop 触发改期草稿。
5
+ */
6
+ export declare function BookingCalendarWeekView({ calendarProps, isLight, weekDays, bookings, courts, hourSlots, slotStepHours, visibleCourts, visibleCourtRows, isBusinessHour, goToDayFromCell, handleGridDropMove, openBookingDetail, setDraggingItem, setCollapsedGroups, overflowPopover, setOverflowPopover, overflowListModal, setOverflowListModal, overflowPanelRef, }: {
7
+ calendarProps: RecordBoardCalendarProps;
8
+ isLight: boolean;
9
+ weekDays: Date[];
10
+ bookings: any[];
11
+ courts: any[];
12
+ hourSlots: number[];
13
+ slotStepHours: number;
14
+ visibleCourts: any[];
15
+ visibleCourtRows: any[];
16
+ isBusinessHour: (h: number) => boolean;
17
+ goToDayFromCell: (d: Date, courtId: string | null, src: string) => void;
18
+ handleGridDropMove: (dateKey: string, courtId?: string | null) => void;
19
+ openBookingDetail: (item: any) => void;
20
+ setDraggingItem: (item: any) => void;
21
+ setCollapsedGroups: React.Dispatch<React.SetStateAction<any>>;
22
+ overflowPopover: any;
23
+ setOverflowPopover: React.Dispatch<React.SetStateAction<any>>;
24
+ overflowListModal: any;
25
+ setOverflowListModal: React.Dispatch<React.SetStateAction<any>>;
26
+ overflowPanelRef: React.RefObject<HTMLDivElement | null>;
27
+ }): JSX.Element;
@@ -0,0 +1,352 @@
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/view/BookingCalendarWeekView.tsx
30
+ var BookingCalendarWeekView_exports = {};
31
+ __export(BookingCalendarWeekView_exports, {
32
+ BookingCalendarWeekView: () => BookingCalendarWeekView
33
+ });
34
+ module.exports = __toCommonJS(BookingCalendarWeekView_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_icons = require("@ant-design/icons");
37
+ var import_bookingCalendarDateUtils = require("../utils/bookingCalendarDateUtils");
38
+ var import_bookingCalendarConstants = require("../const/bookingCalendarConstants");
39
+ var import_calendarI18n = require("../calendarI18n");
40
+ var import_BookingCalendarStyle = require("../utils/BookingCalendarStyle");
41
+ var import_bookingCalendarViewShared = require("../bookingCalendarViewShared");
42
+ function BookingCalendarWeekView({
43
+ calendarProps,
44
+ isLight,
45
+ weekDays,
46
+ bookings,
47
+ courts,
48
+ hourSlots,
49
+ slotStepHours,
50
+ visibleCourts,
51
+ visibleCourtRows,
52
+ isBusinessHour,
53
+ goToDayFromCell,
54
+ handleGridDropMove,
55
+ openBookingDetail,
56
+ setDraggingItem,
57
+ setCollapsedGroups,
58
+ overflowPopover,
59
+ setOverflowPopover,
60
+ overflowListModal,
61
+ setOverflowListModal,
62
+ overflowPanelRef
63
+ }) {
64
+ const props = calendarProps;
65
+ return /* @__PURE__ */ import_react.default.createElement(
66
+ "div",
67
+ {
68
+ key: `week-${(0, import_bookingCalendarDateUtils.fmtDate)(weekDays[0])}`,
69
+ className: "flex min-h-0 flex-1 flex-col"
70
+ },
71
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "p-2 md:p-4 relative flex min-h-0 flex-1 flex-col" }, /* @__PURE__ */ import_react.default.createElement("div", { className: "theme-panel rounded-3xl border min-w-[980px] min-h-0 max-h-none flex-1 overflow-auto" }, /* @__PURE__ */ import_react.default.createElement(
72
+ "div",
73
+ {
74
+ className: "grid",
75
+ style: {
76
+ gridTemplateColumns: `${import_bookingCalendarConstants.frozenColWidth}px repeat(${weekDays.length}, minmax(150px, 1fr))`
77
+ }
78
+ },
79
+ /* @__PURE__ */ import_react.default.createElement(
80
+ "div",
81
+ {
82
+ className: "grid sticky top-0 z-50",
83
+ style: {
84
+ gridColumn: "1 / -1",
85
+ gridTemplateColumns: `${import_bookingCalendarConstants.frozenColWidth}px repeat(${weekDays.length}, minmax(150px, 1fr))`,
86
+ isolation: "isolate"
87
+ }
88
+ },
89
+ /* @__PURE__ */ import_react.default.createElement(
90
+ "div",
91
+ {
92
+ className: `sticky left-0 z-30 w-[132px] min-w-[132px] max-w-[132px] px-3 py-4 font-semibold border-b shadow-[8px_0_16px_rgba(0,0,0,0.08)] ${isLight ? "theme-sticky theme-border theme-text" : "bg-[#241d40] border-zinc-800"}`
93
+ },
94
+ (0, import_calendarI18n.tCal)("pisell2.recordBoard.calendar.week.headerCourtDate")
95
+ ),
96
+ weekDays.map((day, i) => {
97
+ const key = (0, import_bookingCalendarDateUtils.fmtDate)(day);
98
+ const dayItems = bookings.filter((b) => b.date === key);
99
+ const fullyBooked = courts.every(
100
+ (court) => hourSlots.filter(isBusinessHour).every(
101
+ (h) => (0, import_bookingCalendarDateUtils.dayOccupancy)(
102
+ court.id,
103
+ key,
104
+ bookings,
105
+ hourSlots,
106
+ slotStepHours
107
+ )[h]
108
+ )
109
+ );
110
+ return /* @__PURE__ */ import_react.default.createElement(
111
+ "div",
112
+ {
113
+ key,
114
+ className: `relative z-20 border-b border-l p-3 text-center shadow-[0_8px_16px_rgba(0,0,0,0.06)] ${isLight ? "theme-border theme-text" : "border-zinc-800"} ${i >= 5 ? isLight ? "bg-violet-200" : "bg-violet-900" : isLight ? "theme-panel-soft" : "bg-[#1a1a22]"}`
115
+ },
116
+ /* @__PURE__ */ import_react.default.createElement(
117
+ "div",
118
+ {
119
+ className: `text-sm ${isLight ? "theme-text-faint" : "text-zinc-400"}`
120
+ },
121
+ (0, import_calendarI18n.tCal)(import_calendarI18n.CALENDAR_WEEKDAY_IDS[i])
122
+ ),
123
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "mt-1 text-3xl font-semibold" }, day.getDate()),
124
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "mt-2 flex items-center justify-center gap-1" }, dayItems.some((b) => b.kind === "booking") && /* @__PURE__ */ import_react.default.createElement("span", { className: "h-2.5 w-2.5 rounded-full bg-violet-500" }), (dayItems.some((b) => b.kind === "block") || fullyBooked) && /* @__PURE__ */ import_react.default.createElement("span", { className: "h-2.5 w-2.5 rounded-full bg-red-500" }))
125
+ );
126
+ })
127
+ ),
128
+ visibleCourtRows.map((row) => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, { key: row.id }, row.kind === "group" ? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(
129
+ "div",
130
+ {
131
+ className: `sticky left-0 z-20 w-[132px] min-w-[132px] max-w-[132px] border-b px-2.5 py-2 shadow-[8px_0_16px_rgba(0,0,0,0.08)] ${isLight ? "border-slate-200 bg-gradient-to-b from-slate-100 to-slate-50" : "border-zinc-800/80 bg-gradient-to-b from-[#252038] to-[#1a1628]"}`
132
+ },
133
+ props.renderResourceCell ? props.renderResourceCell({
134
+ view: "week",
135
+ row: {
136
+ kind: "group",
137
+ id: row.id,
138
+ label: row.label,
139
+ count: row.count,
140
+ collapsed: row.collapsed
141
+ },
142
+ isLight,
143
+ onToggleGroup: (label) => setCollapsedGroups((prev) => ({
144
+ ...prev,
145
+ [label]: !prev[label]
146
+ }))
147
+ }) : /* @__PURE__ */ import_react.default.createElement(
148
+ "button",
149
+ {
150
+ type: "button",
151
+ "aria-expanded": !row.collapsed,
152
+ onClick: () => setCollapsedGroups((prev) => ({
153
+ ...prev,
154
+ [row.label]: !prev[row.label]
155
+ })),
156
+ className: `flex w-full items-center gap-2 rounded-lg px-1 py-1 text-left transition-colors ${isLight ? "hover:bg-white/60" : "hover:bg-white/[0.04] active:bg-white/[0.07]"}`
157
+ },
158
+ /* @__PURE__ */ import_react.default.createElement(
159
+ import_icons.DownOutlined,
160
+ {
161
+ style: { fontSize: 15 },
162
+ className: `shrink-0 transition-transform duration-200 ${isLight ? "text-slate-500" : "text-zinc-500"} ${row.collapsed ? "-rotate-90" : "rotate-0"}`,
163
+ "aria-hidden": true
164
+ }
165
+ ),
166
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "flex min-w-0 flex-1 items-center gap-1.5" }, /* @__PURE__ */ import_react.default.createElement(
167
+ "span",
168
+ {
169
+ className: `truncate text-[13px] font-semibold leading-snug ${isLight ? "text-slate-800" : "text-zinc-100"}`
170
+ },
171
+ row.label
172
+ ), /* @__PURE__ */ import_react.default.createElement(
173
+ "span",
174
+ {
175
+ className: `shrink-0 rounded-md px-1.5 py-0.5 text-[10px] font-semibold tabular-nums ${isLight ? "bg-violet-100 text-violet-800" : "bg-zinc-800/90 text-zinc-300 ring-1 ring-zinc-600/40"}`
176
+ },
177
+ row.count
178
+ ))
179
+ )
180
+ ), weekDays.map((day) => {
181
+ const key = (0, import_bookingCalendarDateUtils.fmtDate)(day);
182
+ const groupCourts = visibleCourts.filter(
183
+ (court) => court.type === row.label
184
+ );
185
+ const idleCount = groupCourts.filter((court) => {
186
+ const s = (0, import_bookingCalendarDateUtils.courtDaySummary)(
187
+ court.id,
188
+ key,
189
+ bookings,
190
+ hourSlots,
191
+ slotStepHours
192
+ );
193
+ return s.occupiedHours.length === 0;
194
+ }).length;
195
+ const ratio = groupCourts.length > 0 ? idleCount / groupCourts.length : 0;
196
+ return /* @__PURE__ */ import_react.default.createElement(
197
+ "div",
198
+ {
199
+ key: `${row.id}-${key}`,
200
+ className: `border-b border-l p-3 text-center ${isLight ? "theme-border theme-panel-soft" : "border-zinc-800 bg-[#151a2f]"}`
201
+ },
202
+ /* @__PURE__ */ import_react.default.createElement(
203
+ "div",
204
+ {
205
+ className: `text-xs font-semibold ${(0, import_bookingCalendarViewShared.getRemainingToneClass)(
206
+ ratio,
207
+ isLight
208
+ )}`
209
+ },
210
+ idleCount,
211
+ "/",
212
+ groupCourts.length
213
+ )
214
+ );
215
+ })) : /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(
216
+ "div",
217
+ {
218
+ className: `sticky left-0 z-20 w-[132px] min-w-[132px] max-w-[132px] border-b px-3 py-3 align-top shadow-[8px_0_16px_rgba(0,0,0,0.06)] ${isLight ? "theme-sticky theme-border" : "border-zinc-800 bg-[#1a1a22]"}`
219
+ },
220
+ props.renderResourceCell ? props.renderResourceCell({
221
+ view: "week",
222
+ row: {
223
+ kind: "court",
224
+ id: row.id,
225
+ name: row.name,
226
+ type: row.type
227
+ },
228
+ isLight
229
+ }) : /* @__PURE__ */ import_react.default.createElement("div", { className: "font-semibold text-[16px] leading-tight break-all" }, row.name)
230
+ ), weekDays.map((day) => {
231
+ const key = (0, import_bookingCalendarDateUtils.fmtDate)(day);
232
+ const summary = (0, import_bookingCalendarDateUtils.courtDaySummary)(
233
+ row.id,
234
+ key,
235
+ bookings,
236
+ hourSlots,
237
+ slotStepHours
238
+ );
239
+ const previewItems = summary.items.slice(0, 3);
240
+ const moreItems = summary.items.slice(3);
241
+ const moreCount = moreItems.length;
242
+ const showMoreTile = moreCount > 0 && previewItems.length > 0;
243
+ return /* @__PURE__ */ import_react.default.createElement(
244
+ "button",
245
+ {
246
+ key: `${row.id}-${key}`,
247
+ onClick: () => goToDayFromCell(
248
+ day,
249
+ row.id,
250
+ `week-${row.id}-${key}`
251
+ ),
252
+ onDragOver: (e) => e.preventDefault(),
253
+ onDrop: (e) => {
254
+ e.preventDefault();
255
+ handleGridDropMove(key, row.id);
256
+ },
257
+ className: `relative flex flex-col justify-start min-h-[148px] border-b border-l p-3 text-left align-top transition ${isLight ? "theme-border" : ""} ${summary.fullyBooked ? isLight ? "bg-slate-100 theme-text-faint" : "bg-zinc-800 text-zinc-500" : summary.hasBlock ? isLight ? "bg-red-50 border-red-200" : "bg-red-950/30 border-red-800/40" : summary.occupiedHours.length > 0 ? isLight ? "bg-violet-50 hover:bg-violet-100/80" : "bg-[#1c1630] hover:bg-[#241c3f]" : isLight ? "theme-grid-cell hover:bg-violet-50/60" : "bg-zinc-900 hover:bg-zinc-800"}`
258
+ },
259
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "absolute left-3 top-3 text-[13px] text-zinc-400" }, key),
260
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "absolute right-3 top-3 flex gap-1" }, summary.occupiedHours.length > 0 && /* @__PURE__ */ import_react.default.createElement("span", { className: "h-2.5 w-2.5 rounded-full bg-violet-500" }), (summary.hasBlock || summary.fullyBooked) && /* @__PURE__ */ import_react.default.createElement("span", { className: "h-2.5 w-2.5 rounded-full bg-red-500" })),
261
+ summary.fullyBooked ? /* @__PURE__ */ import_react.default.createElement("div", { className: "mt-8 rounded-lg bg-zinc-700/70 px-2 py-1 text-xs" }, (0, import_calendarI18n.tCal)("pisell2.recordBoard.calendar.week.fullyBooked")) : summary.items.length > 0 ? /* @__PURE__ */ import_react.default.createElement("div", { className: "mt-8 flex flex-col items-start gap-1.5 w-full" }, previewItems.map((item, idx) => {
262
+ const isLastVisible = idx === previewItems.length - 1;
263
+ const shrinkForMore = showMoreTile && isLastVisible;
264
+ const layoutClassName = `rounded-lg px-3 py-2 text-xs text-left ${(0, import_BookingCalendarStyle.getGridBookingRowStateClasses)(
265
+ item
266
+ )} ${shrinkForMore ? "flex-1 min-w-0" : "w-full"}`;
267
+ return /* @__PURE__ */ import_react.default.createElement(
268
+ "div",
269
+ {
270
+ key: idx,
271
+ className: "flex w-full items-stretch gap-2"
272
+ },
273
+ props.renderMonthWeekBooking ? /* @__PURE__ */ import_react.default.createElement(
274
+ "div",
275
+ {
276
+ className: shrinkForMore ? "flex-1 min-w-0" : "w-full"
277
+ },
278
+ props.renderMonthWeekBooking({
279
+ item,
280
+ dateKey: key,
281
+ view: "week",
282
+ isLight,
283
+ layoutClassName,
284
+ onOpenDetail: openBookingDetail,
285
+ onDragStart: (it) => setDraggingItem(it),
286
+ draggable: false
287
+ })
288
+ ) : /* @__PURE__ */ import_react.default.createElement(
289
+ "button",
290
+ {
291
+ type: "button",
292
+ onClick: (e) => {
293
+ e.stopPropagation();
294
+ openBookingDetail(item);
295
+ },
296
+ className: layoutClassName
297
+ },
298
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "truncate" }, item.name),
299
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "mt-1 opacity-80" }, (0, import_bookingCalendarDateUtils.formatHourLabel)(item.startHour), " -", " ", (0, import_bookingCalendarDateUtils.formatHourLabel)(item.endHour))
300
+ ),
301
+ shrinkForMore && /* @__PURE__ */ import_react.default.createElement(
302
+ "div",
303
+ {
304
+ className: "relative h-[52px] w-[52px] shrink-0",
305
+ ref: (overflowPopover == null ? void 0 : overflowPopover.courtId) === row.id && (overflowPopover == null ? void 0 : overflowPopover.date) === key ? overflowPanelRef : null
306
+ },
307
+ /* @__PURE__ */ import_react.default.createElement(
308
+ "button",
309
+ {
310
+ onMouseEnter: (e) => {
311
+ e.stopPropagation();
312
+ setOverflowPopover({
313
+ courtId: row.id,
314
+ date: key,
315
+ items: moreItems,
316
+ pinned: false
317
+ });
318
+ },
319
+ onClick: (e) => {
320
+ e.stopPropagation();
321
+ setOverflowPopover(null);
322
+ setOverflowListModal(
323
+ (prev) => prev && prev.scope === row.id && prev.date === key ? null : {
324
+ scope: row.id,
325
+ date: key,
326
+ title: (0, import_calendarI18n.tCal)(
327
+ "pisell2.recordBoard.calendar.overflow.listTitleAllBookings",
328
+ { date: key }
329
+ ),
330
+ items: summary.items.filter(
331
+ (x) => x.kind === "booking"
332
+ )
333
+ }
334
+ );
335
+ },
336
+ className: "flex h-[52px] w-[52px] items-center justify-center rounded-xl bg-violet-700/90 text-sm font-semibold text-white"
337
+ },
338
+ "+",
339
+ moreCount
340
+ )
341
+ )
342
+ );
343
+ })) : /* @__PURE__ */ import_react.default.createElement("div", { className: "mt-8 rounded-lg border border-dashed border-zinc-700 px-2 py-2 text-xs text-zinc-500" }, (0, import_calendarI18n.tCal)("pisell2.recordBoard.calendar.week.available"))
344
+ );
345
+ }))))
346
+ )))
347
+ );
348
+ }
349
+ // Annotate the CommonJS export names for ESM import in node:
350
+ 0 && (module.exports = {
351
+ BookingCalendarWeekView
352
+ });
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { RecordBoardCalendarProps } from '../../../types';
3
+ /** 供日视图拆分出的子组件读取 `calendarProps` / 明暗,避免每层透传(可选使用) */
4
+ export declare type BookingCalendarDayChromeContextValue = {
5
+ calendarProps: RecordBoardCalendarProps;
6
+ isLight: boolean;
7
+ };
8
+ export declare function BookingCalendarDayChromeProvider({ children, value, }: {
9
+ children: React.ReactNode;
10
+ value: BookingCalendarDayChromeContextValue;
11
+ }): JSX.Element;
12
+ export declare function useBookingCalendarDayChrome(): BookingCalendarDayChromeContextValue;