@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
@@ -33,14 +33,13 @@ __export(ResourceWallControlPanel_exports, {
33
33
  });
34
34
  module.exports = __toCommonJS(ResourceWallControlPanel_exports);
35
35
  var import_react = __toESM(require("react"));
36
- var import_antd = require("antd");
37
36
  var import_react_dom = require("react-dom");
38
37
  var import_locales = require("../../../../locales");
39
- var import_pisellNumber = require("../../../pisellNumber");
40
- var import_pisellSingleSelect = require("../../../pisellSingleSelect");
38
+ var import_ResourceWallControlPanelColorTab = require("./ResourceWallControlPanelColorTab");
39
+ var import_ResourceWallControlPanelLayoutTab = require("./ResourceWallControlPanelLayoutTab");
41
40
  var import_venueWallUtils = require("./venueWallUtils");
42
- var buildApplyPayload = (draft, boardingSoonBeforeMin) => ({
43
- resourceIds: [...draft.draftIds],
41
+ var buildApplyPayload = (resourceIds, draft, boardingSoonBeforeMin) => ({
42
+ resourceIds: [...resourceIds],
44
43
  layoutKey: draft.draftLayoutKey,
45
44
  customCols: Math.max(1, Math.min(6, draft.draftCustomCols)),
46
45
  customRows: Math.max(1, Math.min(6, draft.draftCustomRows)),
@@ -55,7 +54,6 @@ var ResourceWallControlPanel = ({
55
54
  open,
56
55
  onClose,
57
56
  isDark,
58
- cards,
59
57
  layoutPresets,
60
58
  layoutKey,
61
59
  customCols,
@@ -73,7 +71,6 @@ var ResourceWallControlPanel = ({
73
71
  const [adminTab, setAdminTab] = (0, import_react.useState)(
74
72
  "resource_layout"
75
73
  );
76
- const [draftIds, setDraftIds] = (0, import_react.useState)([]);
77
74
  const [draftLayoutKey, setDraftLayoutKey] = (0, import_react.useState)(layoutKey);
78
75
  const [draftCustomCols, setDraftCustomCols] = (0, import_react.useState)(customCols);
79
76
  const [draftCustomRows, setDraftCustomRows] = (0, import_react.useState)(customRows);
@@ -81,12 +78,8 @@ var ResourceWallControlPanel = ({
81
78
  const [draftOcc, setDraftOcc] = (0, import_react.useState)(occupiedCardColor);
82
79
  const [draftAvail, setDraftAvail] = (0, import_react.useState)(availableCardColor);
83
80
  const [draftHeroRatio, setDraftHeroRatio] = (0, import_react.useState)(heroMaxWidthRatioProp);
84
- const [draftHeroBenchmark, setDraftHeroBenchmark] = (0, import_react.useState)(
85
- () => (0, import_locales.getText)("pisell-resource-wall-hero-benchmark-sample")
86
- );
87
81
  const [draftTones, setDraftTones] = (0, import_react.useState)(() => (0, import_venueWallUtils.getVenueWallStatusToneMap)());
88
82
  const draftBootstrapRef = (0, import_react.useRef)({
89
- selectedResourceIds,
90
83
  layoutKey,
91
84
  customCols,
92
85
  customRows,
@@ -97,7 +90,6 @@ var ResourceWallControlPanel = ({
97
90
  heroMaxWidthRatioProp
98
91
  });
99
92
  draftBootstrapRef.current = {
100
- selectedResourceIds,
101
93
  layoutKey,
102
94
  customCols,
103
95
  customRows,
@@ -118,7 +110,6 @@ var ResourceWallControlPanel = ({
118
110
  }
119
111
  hasOpenedRef.current = true;
120
112
  const b = draftBootstrapRef.current;
121
- setDraftIds([...b.selectedResourceIds]);
122
113
  setDraftLayoutKey(b.layoutKey);
123
114
  setDraftCustomCols(b.customCols);
124
115
  setDraftCustomRows(b.customRows);
@@ -132,8 +123,8 @@ var ResourceWallControlPanel = ({
132
123
  const flushApplyAndClose = (0, import_react.useCallback)(() => {
133
124
  onApply(
134
125
  buildApplyPayload(
126
+ selectedResourceIds,
135
127
  {
136
- draftIds,
137
128
  draftLayoutKey,
138
129
  draftCustomCols,
139
130
  draftCustomRows,
@@ -148,7 +139,7 @@ var ResourceWallControlPanel = ({
148
139
  );
149
140
  onClose();
150
141
  }, [
151
- draftIds,
142
+ selectedResourceIds,
152
143
  draftLayoutKey,
153
144
  draftCustomCols,
154
145
  draftCustomRows,
@@ -169,8 +160,6 @@ var ResourceWallControlPanel = ({
169
160
  window.addEventListener("keydown", onKey);
170
161
  return () => window.removeEventListener("keydown", onKey);
171
162
  }, [open, flushApplyAndClose]);
172
- const selectedPreset = layoutPresets.find((p) => p.key === draftLayoutKey) ?? layoutPresets[2];
173
- const pageCapacity = draftLayoutKey === "custom" ? Math.max(1, Math.min(6, draftCustomCols)) * Math.max(1, Math.min(6, draftCustomRows)) : selectedPreset.cols * selectedPreset.rows;
174
163
  const shellBg = isDark ? "bg-slate-900 border-slate-800" : "bg-white border-slate-200";
175
164
  const divider = isDark ? "border-slate-800" : "border-slate-200";
176
165
  const headerText = isDark ? "text-slate-100" : "text-slate-900";
@@ -179,23 +168,6 @@ var ResourceWallControlPanel = ({
179
168
  const adminSectionBg = isDark ? "bg-slate-950 border-slate-800" : "bg-slate-50 border-slate-200";
180
169
  const cur = carouselPager.currentPage + 1;
181
170
  const tot = Math.max(1, carouselPager.totalPages);
182
- const toggleResource = (id, checked) => {
183
- setDraftIds((prev) => {
184
- const set = new Set(prev);
185
- if (checked) {
186
- set.add(id);
187
- } else {
188
- set.delete(id);
189
- }
190
- return Array.from(set);
191
- });
192
- };
193
- const selectAllDisplayed = () => {
194
- setDraftIds(cards.map((c) => String(c.resourceId)));
195
- };
196
- const clearResources = () => {
197
- setDraftIds([]);
198
- };
199
171
  if (!open) return null;
200
172
  const modal = /* @__PURE__ */ import_react.default.createElement(
201
173
  "div",
@@ -244,245 +216,44 @@ var ResourceWallControlPanel = ({
244
216
  (0, import_locales.getText)("pisell-resource-wall-control-close")
245
217
  )
246
218
  ),
247
- /* @__PURE__ */ import_react.default.createElement("div", { className: "p-5 md:p-6 space-y-6 max-h-[78vh] overflow-auto" }, adminTab === "resource_layout" ? /* @__PURE__ */ import_react.default.createElement("section", { className: `rounded-2xl border p-4 space-y-4 ${adminSectionBg}` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `text-sm font-semibold ${headerText}` }, (0, import_locales.getText)("pisell-resource-wall-tab-layout")), /* @__PURE__ */ import_react.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-3" }, /* @__PURE__ */ import_react.default.createElement("label", { className: `rounded-2xl border p-3 block ${adminInputBg}` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `text-xs mb-2 ${mutedText}` }, (0, import_locales.getText)("pisell-resource-wall-display-mode")), /* @__PURE__ */ import_react.default.createElement("div", { className: `w-full rounded-xl border px-3 py-2 ${adminInputBg}` }, (0, import_locales.getText)("pisell-resource-wall-carousel-paging-mode"))), /* @__PURE__ */ import_react.default.createElement("label", { className: `rounded-2xl border p-3 block ${adminInputBg}` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `text-xs mb-2 ${mutedText}` }, (0, import_locales.getText)("pisell-resource-wall-carousel-dwell-sec-label")), /* @__PURE__ */ import_react.default.createElement(
248
- import_pisellNumber.PisellNumber,
249
- {
250
- className: "w-full",
251
- value: draftPageSec,
252
- min: 3,
253
- max: 60,
254
- step: 1,
255
- precision: 0,
256
- onChange: (v) => setDraftPageSec(
257
- v == null ? 3 : Math.max(3, Math.min(60, Math.round(v)))
258
- )
259
- }
260
- )), /* @__PURE__ */ import_react.default.createElement("div", { className: `rounded-2xl border p-3 ${adminInputBg}` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `text-xs mb-2 ${mutedText}` }, (0, import_locales.getText)("pisell-resource-wall-summary-pagination")), /* @__PURE__ */ import_react.default.createElement("div", { className: "text-sm font-semibold" }, (0, import_locales.getText)("pisell-resource-wall-carousel-countdown-line").replace("{cur}", String(cur)).replace("{tot}", String(tot)).replace("{sec}", String(Math.max(3, draftPageSec)))))), /* @__PURE__ */ import_react.default.createElement("div", { className: "grid grid-cols-1 md:grid-cols-2 gap-3" }, /* @__PURE__ */ import_react.default.createElement("label", { className: `rounded-2xl border p-3 block ${adminInputBg}` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `text-xs mb-2 ${mutedText}` }, (0, import_locales.getText)("pisell-resource-wall-layout-field-label")), /* @__PURE__ */ import_react.default.createElement(
261
- import_pisellSingleSelect.PisellSingleSelect,
262
- {
263
- className: "w-full",
264
- value: draftLayoutKey,
265
- options: layoutPresets.map((item) => ({
266
- value: item.key,
267
- label: item.label
268
- })),
269
- placeholder: (0, import_locales.getText)("pisell-resource-wall-layout-placeholder"),
270
- allowClear: false,
271
- onChange: (v) => {
272
- if (v != null) setDraftLayoutKey(String(v));
273
- }
274
- }
275
- )), /* @__PURE__ */ import_react.default.createElement("div", { className: "grid grid-cols-2 gap-3" }, /* @__PURE__ */ import_react.default.createElement("label", { className: `rounded-2xl border p-3 block ${adminInputBg}` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `text-xs mb-2 ${mutedText}` }, (0, import_locales.getText)("pisell-resource-wall-panel-custom-cols")), /* @__PURE__ */ import_react.default.createElement(
276
- import_pisellNumber.PisellNumber,
277
- {
278
- className: "w-full",
279
- value: draftCustomCols,
280
- min: 1,
281
- max: 6,
282
- step: 1,
283
- precision: 0,
284
- onChange: (v) => setDraftCustomCols(
285
- v == null ? 1 : Math.max(1, Math.min(6, Math.round(v)))
286
- )
287
- }
288
- )), /* @__PURE__ */ import_react.default.createElement("label", { className: `rounded-2xl border p-3 block ${adminInputBg}` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `text-xs mb-2 ${mutedText}` }, (0, import_locales.getText)("pisell-resource-wall-panel-custom-rows")), /* @__PURE__ */ import_react.default.createElement(
289
- import_pisellNumber.PisellNumber,
290
- {
291
- className: "w-full",
292
- value: draftCustomRows,
293
- min: 1,
294
- max: 6,
295
- step: 1,
296
- precision: 0,
297
- onChange: (v) => setDraftCustomRows(
298
- v == null ? 1 : Math.max(1, Math.min(6, Math.round(v)))
299
- )
300
- }
301
- )))), /* @__PURE__ */ import_react.default.createElement("label", { className: `rounded-2xl border p-3 block ${adminInputBg}` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `text-xs mb-2 ${mutedText}` }, (0, import_locales.getText)("pisell-resource-wall-hero-width-ratio")), /* @__PURE__ */ import_react.default.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ import_react.default.createElement(
302
- "input",
303
- {
304
- type: "range",
305
- min: 40,
306
- max: 80,
307
- step: 1,
308
- value: Math.round(draftHeroRatio * 100),
309
- onChange: (e) => setDraftHeroRatio(Number(e.target.value) / 100),
310
- className: "flex-1"
311
- }
312
- ), /* @__PURE__ */ import_react.default.createElement(
313
- "div",
314
- {
315
- className: `${isDark ? "text-slate-200" : "text-slate-700"} text-sm font-semibold w-14 text-right`
316
- },
317
- Math.round(draftHeroRatio * 100),
318
- "%"
319
- )), /* @__PURE__ */ import_react.default.createElement("div", { className: `text-[11px] mt-2 ${mutedText}` }, (0, import_locales.getText)("pisell-resource-wall-hero-width-hint")), /* @__PURE__ */ import_react.default.createElement(
320
- "input",
321
- {
322
- type: "text",
323
- value: draftHeroBenchmark,
324
- onChange: (e) => setDraftHeroBenchmark(e.target.value),
325
- className: `mt-3 w-full rounded-xl border px-3 py-2 outline-none ${adminInputBg}`,
326
- placeholder: (0, import_locales.getText)("pisell-resource-wall-hero-benchmark-placeholder")
327
- }
328
- )), /* @__PURE__ */ import_react.default.createElement("div", { className: `rounded-2xl border p-3 ${adminInputBg}` }, /* @__PURE__ */ import_react.default.createElement("div", { className: "mb-3 flex items-center justify-between gap-3" }, /* @__PURE__ */ import_react.default.createElement("div", { className: `text-xs ${mutedText}` }, (0, import_locales.getText)("pisell-resource-wall-resources-select-with-count").replace(
329
- "{n}",
330
- String(cards.length)
331
- ), /* @__PURE__ */ import_react.default.createElement("span", { className: "mt-1 block text-[11px] opacity-70" }, (0, import_locales.getText)("pisell-resource-wall-resources-capacity-carousel-hint").replace(
332
- "{cap}",
333
- String(pageCapacity)
334
- ))), /* @__PURE__ */ import_react.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react.default.createElement(
335
- "button",
219
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "p-5 md:p-6 space-y-6 max-h-[78vh] overflow-auto" }, adminTab === "resource_layout" ? /* @__PURE__ */ import_react.default.createElement(
220
+ import_ResourceWallControlPanelLayoutTab.ResourceWallControlPanelLayoutTab,
336
221
  {
337
- type: "button",
338
- onClick: selectAllDisplayed,
339
- className: "rounded-full border px-3 py-1.5 text-xs hover:bg-slate-100"
340
- },
341
- (0, import_locales.getText)("pisell-resource-wall-modal-select-all")
342
- ), /* @__PURE__ */ import_react.default.createElement(
343
- "button",
344
- {
345
- type: "button",
346
- onClick: clearResources,
347
- className: "rounded-full border px-3 py-1.5 text-xs hover:bg-slate-100"
348
- },
349
- (0, import_locales.getText)("pisell-resource-wall-modal-clear-all")
350
- ))), /* @__PURE__ */ import_react.default.createElement("div", { className: "grid grid-cols-4 gap-2" }, cards.map((card) => {
351
- const id = String(card.resourceId);
352
- const checked = draftIds.includes(id);
353
- const label = card.resource || id;
354
- return /* @__PURE__ */ import_react.default.createElement(
355
- "div",
356
- {
357
- key: id,
358
- className: `flex min-w-0 items-center gap-1.5 rounded-xl border px-2 py-2 ${adminInputBg}`
359
- },
360
- /* @__PURE__ */ import_react.default.createElement(
361
- import_antd.Checkbox,
362
- {
363
- checked,
364
- onChange: (e) => toggleResource(id, e.target.checked),
365
- className: "shrink-0"
366
- }
367
- ),
368
- /* @__PURE__ */ import_react.default.createElement(
369
- "span",
370
- {
371
- className: "min-w-0 flex-1 cursor-pointer truncate text-left text-sm",
372
- title: label,
373
- onClick: () => toggleResource(id, !checked)
374
- },
375
- label
376
- )
377
- );
378
- })))) : /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement("section", { className: `rounded-2xl border p-4 space-y-4 ${adminSectionBg}` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `text-sm font-semibold ${headerText}` }, (0, import_locales.getText)("pisell-resource-wall-tab-colors")), /* @__PURE__ */ import_react.default.createElement("div", { className: "grid grid-cols-2 gap-3" }, /* @__PURE__ */ import_react.default.createElement("label", { className: `rounded-2xl border p-3 block ${adminInputBg}` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `text-xs mb-2 ${mutedText}` }, (0, import_locales.getText)("pisell-resource-wall-occupied-card-color-label")), /* @__PURE__ */ import_react.default.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ import_react.default.createElement(
379
- "input",
380
- {
381
- type: "color",
382
- value: draftOcc,
383
- onChange: (e) => setDraftOcc(e.target.value),
384
- className: `h-10 w-14 shrink-0 rounded-lg border p-1 ${adminInputBg}`
385
- }
386
- ), /* @__PURE__ */ import_react.default.createElement(
387
- "input",
388
- {
389
- type: "text",
390
- value: draftOcc,
391
- onChange: (e) => setDraftOcc(e.target.value),
392
- className: `flex-1 rounded-xl border px-3 py-2 outline-none ${adminInputBg}`
393
- }
394
- ))), /* @__PURE__ */ import_react.default.createElement("label", { className: `rounded-2xl border p-3 block ${adminInputBg}` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `text-xs mb-2 ${mutedText}` }, (0, import_locales.getText)("pisell-resource-wall-available-card-color-label")), /* @__PURE__ */ import_react.default.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ import_react.default.createElement(
395
- "input",
396
- {
397
- type: "color",
398
- value: draftAvail,
399
- onChange: (e) => setDraftAvail(e.target.value),
400
- className: `h-10 w-14 shrink-0 rounded-lg border p-1 ${adminInputBg}`
222
+ adminSectionBg,
223
+ adminInputBg,
224
+ headerText,
225
+ mutedText,
226
+ layoutPresets,
227
+ draftLayoutKey,
228
+ setDraftLayoutKey,
229
+ draftCustomCols,
230
+ setDraftCustomCols,
231
+ draftCustomRows,
232
+ setDraftCustomRows,
233
+ draftPageSec,
234
+ setDraftPageSec,
235
+ draftHeroRatio,
236
+ setDraftHeroRatio,
237
+ carouselCur: cur,
238
+ carouselTot: tot,
239
+ isDark
401
240
  }
402
- ), /* @__PURE__ */ import_react.default.createElement(
403
- "input",
241
+ ) : /* @__PURE__ */ import_react.default.createElement(
242
+ import_ResourceWallControlPanelColorTab.ResourceWallControlPanelColorTab,
404
243
  {
405
- type: "text",
406
- value: draftAvail,
407
- onChange: (e) => setDraftAvail(e.target.value),
408
- className: `flex-1 rounded-xl border px-3 py-2 outline-none ${adminInputBg}`
244
+ adminSectionBg,
245
+ adminInputBg,
246
+ headerText,
247
+ mutedText,
248
+ divider,
249
+ draftOcc,
250
+ setDraftOcc,
251
+ draftAvail,
252
+ setDraftAvail,
253
+ draftTones,
254
+ setDraftTones
409
255
  }
410
- ))))), /* @__PURE__ */ import_react.default.createElement("section", { className: `overflow-hidden rounded-2xl border ${adminSectionBg}` }, /* @__PURE__ */ import_react.default.createElement(
411
- "div",
412
- {
413
- className: `border-b px-4 py-3 text-sm font-semibold ${headerText} ${divider}`
414
- },
415
- (0, import_locales.getText)("pisell-resource-wall-status-table-title")
416
- ), /* @__PURE__ */ import_react.default.createElement("div", { className: "grid grid-cols-[0.8fr_1fr_1.3fr_0.9fr_0.9fr] gap-3 border-b px-4 py-3 text-xs font-semibold text-slate-500" }, /* @__PURE__ */ import_react.default.createElement("div", null, (0, import_locales.getText)("pisell-resource-wall-status-col-key")), /* @__PURE__ */ import_react.default.createElement("div", null, (0, import_locales.getText)("pisell-resource-wall-status-col-label")), /* @__PURE__ */ import_react.default.createElement("div", null, (0, import_locales.getText)("pisell-resource-wall-status-col-explain")), /* @__PURE__ */ import_react.default.createElement("div", null, (0, import_locales.getText)("pisell-resource-wall-status-col-color")), /* @__PURE__ */ import_react.default.createElement("div", null, (0, import_locales.getText)("pisell-resource-wall-status-col-notebg"))), import_venueWallUtils.VENUE_WALL_STATUS_KEYS.map((key) => {
417
- const item = draftTones[key];
418
- return /* @__PURE__ */ import_react.default.createElement(
419
- "div",
420
- {
421
- key,
422
- className: `grid grid-cols-[0.8fr_1fr_1.3fr_0.9fr_0.9fr] items-center gap-3 border-b px-4 py-3 last:border-b-0 ${divider}`
423
- },
424
- /* @__PURE__ */ import_react.default.createElement("div", { className: `text-sm font-medium ${headerText}` }, (0, import_locales.getText)(`pisell-resource-wall-status-id-${key}`)),
425
- /* @__PURE__ */ import_react.default.createElement(
426
- "input",
427
- {
428
- type: "text",
429
- value: item.label,
430
- onChange: (e) => setDraftTones((prev) => ({
431
- ...prev,
432
- [key]: { ...prev[key], label: e.target.value }
433
- })),
434
- className: `w-full rounded-xl border px-3 py-2 outline-none ${adminInputBg}`
435
- }
436
- ),
437
- /* @__PURE__ */ import_react.default.createElement(
438
- "textarea",
439
- {
440
- rows: 2,
441
- value: item.note,
442
- onChange: (e) => setDraftTones((prev) => ({
443
- ...prev,
444
- [key]: { ...prev[key], note: e.target.value }
445
- })),
446
- className: `w-full resize-none rounded-xl border px-3 py-2 outline-none ${adminInputBg}`
447
- }
448
- ),
449
- /* @__PURE__ */ import_react.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react.default.createElement(
450
- "input",
451
- {
452
- type: "color",
453
- value: item.color,
454
- onChange: (e) => setDraftTones((prev) => ({
455
- ...prev,
456
- [key]: { ...prev[key], color: e.target.value }
457
- })),
458
- className: `h-10 w-14 shrink-0 rounded-lg border p-1 ${adminInputBg}`
459
- }
460
- ), /* @__PURE__ */ import_react.default.createElement(
461
- "input",
462
- {
463
- type: "text",
464
- value: item.color,
465
- onChange: (e) => setDraftTones((prev) => ({
466
- ...prev,
467
- [key]: { ...prev[key], color: e.target.value }
468
- })),
469
- className: `w-full rounded-xl border px-3 py-2 outline-none ${adminInputBg}`
470
- }
471
- )),
472
- /* @__PURE__ */ import_react.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react.default.createElement(
473
- "input",
474
- {
475
- type: "text",
476
- value: item.noteBg,
477
- onChange: (e) => setDraftTones((prev) => ({
478
- ...prev,
479
- [key]: { ...prev[key], noteBg: e.target.value }
480
- })),
481
- className: `w-full rounded-xl border px-3 py-2 outline-none ${adminInputBg}`
482
- }
483
- ))
484
- );
485
- }))))
256
+ ))
486
257
  )
487
258
  );
488
259
  return typeof document !== "undefined" ? (0, import_react_dom.createPortal)(modal, document.body) : null;
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ import { type VenueWallStatusKey, type VenueWallStatusTone } from './venueWallUtils';
3
+ export interface ResourceWallControlPanelColorTabProps {
4
+ adminSectionBg: string;
5
+ adminInputBg: string;
6
+ headerText: string;
7
+ mutedText: string;
8
+ divider: string;
9
+ draftOcc: string;
10
+ setDraftOcc: (v: string) => void;
11
+ draftAvail: string;
12
+ setDraftAvail: (v: string) => void;
13
+ draftTones: Record<VenueWallStatusKey, VenueWallStatusTone>;
14
+ setDraftTones: React.Dispatch<React.SetStateAction<Record<VenueWallStatusKey, VenueWallStatusTone>>>;
15
+ }
16
+ /** 控制台「外观 / 颜色」分页:占用/空闲底色与六态表格 */
17
+ export declare const ResourceWallControlPanelColorTab: React.FC<ResourceWallControlPanelColorTabProps>;
@@ -0,0 +1,163 @@
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/ResourceWall/ResourceWallControlPanelColorTab.tsx
30
+ var ResourceWallControlPanelColorTab_exports = {};
31
+ __export(ResourceWallControlPanelColorTab_exports, {
32
+ ResourceWallControlPanelColorTab: () => ResourceWallControlPanelColorTab
33
+ });
34
+ module.exports = __toCommonJS(ResourceWallControlPanelColorTab_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_locales = require("../../../../locales");
37
+ var import_venueWallUtils = require("./venueWallUtils");
38
+ var ResourceWallControlPanelColorTab = ({
39
+ adminSectionBg,
40
+ adminInputBg,
41
+ headerText,
42
+ mutedText,
43
+ divider,
44
+ draftOcc,
45
+ setDraftOcc,
46
+ draftAvail,
47
+ setDraftAvail,
48
+ draftTones,
49
+ setDraftTones
50
+ }) => {
51
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement("section", { className: `rounded-2xl border p-4 space-y-4 ${adminSectionBg}` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `text-sm font-semibold ${headerText}` }, (0, import_locales.getText)("pisell-resource-wall-tab-colors")), /* @__PURE__ */ import_react.default.createElement("div", { className: "grid grid-cols-2 gap-3" }, /* @__PURE__ */ import_react.default.createElement("label", { className: `rounded-2xl border p-3 block ${adminInputBg}` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `text-xs mb-2 ${mutedText}` }, (0, import_locales.getText)("pisell-resource-wall-occupied-card-color-label")), /* @__PURE__ */ import_react.default.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ import_react.default.createElement(
52
+ "input",
53
+ {
54
+ type: "color",
55
+ value: draftOcc,
56
+ onChange: (e) => setDraftOcc(e.target.value),
57
+ className: `h-10 w-14 shrink-0 rounded-lg border p-1 ${adminInputBg}`
58
+ }
59
+ ), /* @__PURE__ */ import_react.default.createElement(
60
+ "input",
61
+ {
62
+ type: "text",
63
+ value: draftOcc,
64
+ onChange: (e) => setDraftOcc(e.target.value),
65
+ className: `flex-1 rounded-xl border px-3 py-2 outline-none ${adminInputBg}`
66
+ }
67
+ ))), /* @__PURE__ */ import_react.default.createElement("label", { className: `rounded-2xl border p-3 block ${adminInputBg}` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `text-xs mb-2 ${mutedText}` }, (0, import_locales.getText)("pisell-resource-wall-available-card-color-label")), /* @__PURE__ */ import_react.default.createElement("div", { className: "flex items-center gap-3" }, /* @__PURE__ */ import_react.default.createElement(
68
+ "input",
69
+ {
70
+ type: "color",
71
+ value: draftAvail,
72
+ onChange: (e) => setDraftAvail(e.target.value),
73
+ className: `h-10 w-14 shrink-0 rounded-lg border p-1 ${adminInputBg}`
74
+ }
75
+ ), /* @__PURE__ */ import_react.default.createElement(
76
+ "input",
77
+ {
78
+ type: "text",
79
+ value: draftAvail,
80
+ onChange: (e) => setDraftAvail(e.target.value),
81
+ className: `flex-1 rounded-xl border px-3 py-2 outline-none ${adminInputBg}`
82
+ }
83
+ ))))), /* @__PURE__ */ import_react.default.createElement("section", { className: `overflow-hidden rounded-2xl border ${adminSectionBg}` }, /* @__PURE__ */ import_react.default.createElement(
84
+ "div",
85
+ {
86
+ className: `border-b px-4 py-3 text-sm font-semibold ${headerText} ${divider}`
87
+ },
88
+ (0, import_locales.getText)("pisell-resource-wall-status-table-title")
89
+ ), /* @__PURE__ */ import_react.default.createElement("div", { className: "grid grid-cols-[0.8fr_1fr_1.3fr_0.9fr_0.9fr] gap-3 border-b px-4 py-3 text-xs font-semibold text-slate-500" }, /* @__PURE__ */ import_react.default.createElement("div", null, (0, import_locales.getText)("pisell-resource-wall-status-col-key")), /* @__PURE__ */ import_react.default.createElement("div", null, (0, import_locales.getText)("pisell-resource-wall-status-col-label")), /* @__PURE__ */ import_react.default.createElement("div", null, (0, import_locales.getText)("pisell-resource-wall-status-col-explain")), /* @__PURE__ */ import_react.default.createElement("div", null, (0, import_locales.getText)("pisell-resource-wall-status-col-color")), /* @__PURE__ */ import_react.default.createElement("div", null, (0, import_locales.getText)("pisell-resource-wall-status-col-notebg"))), import_venueWallUtils.VENUE_WALL_STATUS_KEYS.map((key) => {
90
+ const item = draftTones[key];
91
+ return /* @__PURE__ */ import_react.default.createElement(
92
+ "div",
93
+ {
94
+ key,
95
+ className: `grid grid-cols-[0.8fr_1fr_1.3fr_0.9fr_0.9fr] items-center gap-3 border-b px-4 py-3 last:border-b-0 ${divider}`
96
+ },
97
+ /* @__PURE__ */ import_react.default.createElement("div", { className: `text-sm font-medium ${headerText}` }, (0, import_locales.getText)(`pisell-resource-wall-status-id-${key}`)),
98
+ /* @__PURE__ */ import_react.default.createElement(
99
+ "input",
100
+ {
101
+ type: "text",
102
+ value: item.label,
103
+ onChange: (e) => setDraftTones((prev) => ({
104
+ ...prev,
105
+ [key]: { ...prev[key], label: e.target.value }
106
+ })),
107
+ className: `w-full rounded-xl border px-3 py-2 outline-none ${adminInputBg}`
108
+ }
109
+ ),
110
+ /* @__PURE__ */ import_react.default.createElement(
111
+ "textarea",
112
+ {
113
+ rows: 2,
114
+ value: item.note,
115
+ onChange: (e) => setDraftTones((prev) => ({
116
+ ...prev,
117
+ [key]: { ...prev[key], note: e.target.value }
118
+ })),
119
+ className: `w-full resize-none rounded-xl border px-3 py-2 outline-none ${adminInputBg}`
120
+ }
121
+ ),
122
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react.default.createElement(
123
+ "input",
124
+ {
125
+ type: "color",
126
+ value: item.color,
127
+ onChange: (e) => setDraftTones((prev) => ({
128
+ ...prev,
129
+ [key]: { ...prev[key], color: e.target.value }
130
+ })),
131
+ className: `h-10 w-14 shrink-0 rounded-lg border p-1 ${adminInputBg}`
132
+ }
133
+ ), /* @__PURE__ */ import_react.default.createElement(
134
+ "input",
135
+ {
136
+ type: "text",
137
+ value: item.color,
138
+ onChange: (e) => setDraftTones((prev) => ({
139
+ ...prev,
140
+ [key]: { ...prev[key], color: e.target.value }
141
+ })),
142
+ className: `w-full rounded-xl border px-3 py-2 outline-none ${adminInputBg}`
143
+ }
144
+ )),
145
+ /* @__PURE__ */ import_react.default.createElement("div", { className: "flex items-center gap-2" }, /* @__PURE__ */ import_react.default.createElement(
146
+ "input",
147
+ {
148
+ type: "text",
149
+ value: item.noteBg,
150
+ onChange: (e) => setDraftTones((prev) => ({
151
+ ...prev,
152
+ [key]: { ...prev[key], noteBg: e.target.value }
153
+ })),
154
+ className: `w-full rounded-xl border px-3 py-2 outline-none ${adminInputBg}`
155
+ }
156
+ ))
157
+ );
158
+ })));
159
+ };
160
+ // Annotate the CommonJS export names for ESM import in node:
161
+ 0 && (module.exports = {
162
+ ResourceWallControlPanelColorTab
163
+ });
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ export interface ResourceWallControlPanelLayoutTabProps {
3
+ adminSectionBg: string;
4
+ adminInputBg: string;
5
+ headerText: string;
6
+ mutedText: string;
7
+ layoutPresets: readonly {
8
+ key: string;
9
+ label: string;
10
+ cols: number;
11
+ rows: number;
12
+ }[];
13
+ draftLayoutKey: string;
14
+ setDraftLayoutKey: (v: string) => void;
15
+ draftCustomCols: number;
16
+ setDraftCustomCols: (v: number) => void;
17
+ draftCustomRows: number;
18
+ setDraftCustomRows: (v: number) => void;
19
+ draftPageSec: number;
20
+ setDraftPageSec: (v: number) => void;
21
+ draftHeroRatio: number;
22
+ setDraftHeroRatio: (v: number) => void;
23
+ carouselCur: number;
24
+ carouselTot: number;
25
+ isDark: boolean;
26
+ }
27
+ /** 控制台「资源 / 布局」分页:预设、自定义行列、翻页停留、主文案宽度 */
28
+ export declare const ResourceWallControlPanelLayoutTab: React.FC<ResourceWallControlPanelLayoutTabProps>;