@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,143 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ import React from 'react';
8
+ import { getText } from "../../../../locales";
9
+ import { VENUE_WALL_STATUS_KEYS } from "./venueWallUtils";
10
+ /** 控制台「外观 / 颜色」分页:占用/空闲底色与六态表格 */
11
+ export var ResourceWallControlPanelColorTab = function ResourceWallControlPanelColorTab(_ref) {
12
+ var adminSectionBg = _ref.adminSectionBg,
13
+ adminInputBg = _ref.adminInputBg,
14
+ headerText = _ref.headerText,
15
+ mutedText = _ref.mutedText,
16
+ divider = _ref.divider,
17
+ draftOcc = _ref.draftOcc,
18
+ setDraftOcc = _ref.setDraftOcc,
19
+ draftAvail = _ref.draftAvail,
20
+ setDraftAvail = _ref.setDraftAvail,
21
+ draftTones = _ref.draftTones,
22
+ setDraftTones = _ref.setDraftTones;
23
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("section", {
24
+ className: "rounded-2xl border p-4 space-y-4 ".concat(adminSectionBg)
25
+ }, /*#__PURE__*/React.createElement("div", {
26
+ className: "text-sm font-semibold ".concat(headerText)
27
+ }, getText('pisell-resource-wall-tab-colors')), /*#__PURE__*/React.createElement("div", {
28
+ className: "grid grid-cols-2 gap-3"
29
+ }, /*#__PURE__*/React.createElement("label", {
30
+ className: "rounded-2xl border p-3 block ".concat(adminInputBg)
31
+ }, /*#__PURE__*/React.createElement("div", {
32
+ className: "text-xs mb-2 ".concat(mutedText)
33
+ }, getText('pisell-resource-wall-occupied-card-color-label')), /*#__PURE__*/React.createElement("div", {
34
+ className: "flex items-center gap-3"
35
+ }, /*#__PURE__*/React.createElement("input", {
36
+ type: "color",
37
+ value: draftOcc,
38
+ onChange: function onChange(e) {
39
+ return setDraftOcc(e.target.value);
40
+ },
41
+ className: "h-10 w-14 shrink-0 rounded-lg border p-1 ".concat(adminInputBg)
42
+ }), /*#__PURE__*/React.createElement("input", {
43
+ type: "text",
44
+ value: draftOcc,
45
+ onChange: function onChange(e) {
46
+ return setDraftOcc(e.target.value);
47
+ },
48
+ className: "flex-1 rounded-xl border px-3 py-2 outline-none ".concat(adminInputBg)
49
+ }))), /*#__PURE__*/React.createElement("label", {
50
+ className: "rounded-2xl border p-3 block ".concat(adminInputBg)
51
+ }, /*#__PURE__*/React.createElement("div", {
52
+ className: "text-xs mb-2 ".concat(mutedText)
53
+ }, getText('pisell-resource-wall-available-card-color-label')), /*#__PURE__*/React.createElement("div", {
54
+ className: "flex items-center gap-3"
55
+ }, /*#__PURE__*/React.createElement("input", {
56
+ type: "color",
57
+ value: draftAvail,
58
+ onChange: function onChange(e) {
59
+ return setDraftAvail(e.target.value);
60
+ },
61
+ className: "h-10 w-14 shrink-0 rounded-lg border p-1 ".concat(adminInputBg)
62
+ }), /*#__PURE__*/React.createElement("input", {
63
+ type: "text",
64
+ value: draftAvail,
65
+ onChange: function onChange(e) {
66
+ return setDraftAvail(e.target.value);
67
+ },
68
+ className: "flex-1 rounded-xl border px-3 py-2 outline-none ".concat(adminInputBg)
69
+ }))))), /*#__PURE__*/React.createElement("section", {
70
+ className: "overflow-hidden rounded-2xl border ".concat(adminSectionBg)
71
+ }, /*#__PURE__*/React.createElement("div", {
72
+ className: "border-b px-4 py-3 text-sm font-semibold ".concat(headerText, " ").concat(divider)
73
+ }, getText('pisell-resource-wall-status-table-title')), /*#__PURE__*/React.createElement("div", {
74
+ 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"
75
+ }, /*#__PURE__*/React.createElement("div", null, getText('pisell-resource-wall-status-col-key')), /*#__PURE__*/React.createElement("div", null, getText('pisell-resource-wall-status-col-label')), /*#__PURE__*/React.createElement("div", null, getText('pisell-resource-wall-status-col-explain')), /*#__PURE__*/React.createElement("div", null, getText('pisell-resource-wall-status-col-color')), /*#__PURE__*/React.createElement("div", null, getText('pisell-resource-wall-status-col-notebg'))), VENUE_WALL_STATUS_KEYS.map(function (key) {
76
+ var item = draftTones[key];
77
+ return /*#__PURE__*/React.createElement("div", {
78
+ key: key,
79
+ 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 ".concat(divider)
80
+ }, /*#__PURE__*/React.createElement("div", {
81
+ className: "text-sm font-medium ".concat(headerText)
82
+ }, getText("pisell-resource-wall-status-id-".concat(key))), /*#__PURE__*/React.createElement("input", {
83
+ type: "text",
84
+ value: item.label,
85
+ onChange: function onChange(e) {
86
+ return setDraftTones(function (prev) {
87
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, key, _objectSpread(_objectSpread({}, prev[key]), {}, {
88
+ label: e.target.value
89
+ })));
90
+ });
91
+ },
92
+ className: "w-full rounded-xl border px-3 py-2 outline-none ".concat(adminInputBg)
93
+ }), /*#__PURE__*/React.createElement("textarea", {
94
+ rows: 2,
95
+ value: item.note,
96
+ onChange: function onChange(e) {
97
+ return setDraftTones(function (prev) {
98
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, key, _objectSpread(_objectSpread({}, prev[key]), {}, {
99
+ note: e.target.value
100
+ })));
101
+ });
102
+ },
103
+ className: "w-full resize-none rounded-xl border px-3 py-2 outline-none ".concat(adminInputBg)
104
+ }), /*#__PURE__*/React.createElement("div", {
105
+ className: "flex items-center gap-2"
106
+ }, /*#__PURE__*/React.createElement("input", {
107
+ type: "color",
108
+ value: item.color,
109
+ onChange: function onChange(e) {
110
+ return setDraftTones(function (prev) {
111
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, key, _objectSpread(_objectSpread({}, prev[key]), {}, {
112
+ color: e.target.value
113
+ })));
114
+ });
115
+ },
116
+ className: "h-10 w-14 shrink-0 rounded-lg border p-1 ".concat(adminInputBg)
117
+ }), /*#__PURE__*/React.createElement("input", {
118
+ type: "text",
119
+ value: item.color,
120
+ onChange: function onChange(e) {
121
+ return setDraftTones(function (prev) {
122
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, key, _objectSpread(_objectSpread({}, prev[key]), {}, {
123
+ color: e.target.value
124
+ })));
125
+ });
126
+ },
127
+ className: "w-full rounded-xl border px-3 py-2 outline-none ".concat(adminInputBg)
128
+ })), /*#__PURE__*/React.createElement("div", {
129
+ className: "flex items-center gap-2"
130
+ }, /*#__PURE__*/React.createElement("input", {
131
+ type: "text",
132
+ value: item.noteBg,
133
+ onChange: function onChange(e) {
134
+ return setDraftTones(function (prev) {
135
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, key, _objectSpread(_objectSpread({}, prev[key]), {}, {
136
+ noteBg: e.target.value
137
+ })));
138
+ });
139
+ },
140
+ className: "w-full rounded-xl border px-3 py-2 outline-none ".concat(adminInputBg)
141
+ })));
142
+ })));
143
+ };
@@ -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>;
@@ -0,0 +1,128 @@
1
+ import React from 'react';
2
+ import { getText } from "../../../../locales";
3
+ import { PisellNumber } from "../../../pisellNumber";
4
+ import { PisellSingleSelect } from "../../../pisellSingleSelect";
5
+ /** 控制台「资源 / 布局」分页:预设、自定义行列、翻页停留、主文案宽度 */
6
+ export var ResourceWallControlPanelLayoutTab = function ResourceWallControlPanelLayoutTab(_ref) {
7
+ var adminSectionBg = _ref.adminSectionBg,
8
+ adminInputBg = _ref.adminInputBg,
9
+ headerText = _ref.headerText,
10
+ mutedText = _ref.mutedText,
11
+ layoutPresets = _ref.layoutPresets,
12
+ draftLayoutKey = _ref.draftLayoutKey,
13
+ setDraftLayoutKey = _ref.setDraftLayoutKey,
14
+ draftCustomCols = _ref.draftCustomCols,
15
+ setDraftCustomCols = _ref.setDraftCustomCols,
16
+ draftCustomRows = _ref.draftCustomRows,
17
+ setDraftCustomRows = _ref.setDraftCustomRows,
18
+ draftPageSec = _ref.draftPageSec,
19
+ setDraftPageSec = _ref.setDraftPageSec,
20
+ draftHeroRatio = _ref.draftHeroRatio,
21
+ setDraftHeroRatio = _ref.setDraftHeroRatio,
22
+ carouselCur = _ref.carouselCur,
23
+ carouselTot = _ref.carouselTot,
24
+ isDark = _ref.isDark;
25
+ return /*#__PURE__*/React.createElement("section", {
26
+ className: "rounded-2xl border p-4 space-y-4 ".concat(adminSectionBg)
27
+ }, /*#__PURE__*/React.createElement("div", {
28
+ className: "text-sm font-semibold ".concat(headerText)
29
+ }, getText('pisell-resource-wall-tab-layout')), /*#__PURE__*/React.createElement("div", {
30
+ className: "grid grid-cols-1 md:grid-cols-3 gap-3"
31
+ }, /*#__PURE__*/React.createElement("label", {
32
+ className: "rounded-2xl border p-3 block ".concat(adminInputBg)
33
+ }, /*#__PURE__*/React.createElement("div", {
34
+ className: "text-xs mb-2 ".concat(mutedText)
35
+ }, getText('pisell-resource-wall-display-mode')), /*#__PURE__*/React.createElement("div", {
36
+ className: "w-full rounded-xl border px-3 py-2 ".concat(adminInputBg)
37
+ }, getText('pisell-resource-wall-carousel-paging-mode'))), /*#__PURE__*/React.createElement("label", {
38
+ className: "rounded-2xl border p-3 block ".concat(adminInputBg)
39
+ }, /*#__PURE__*/React.createElement("div", {
40
+ className: "text-xs mb-2 ".concat(mutedText)
41
+ }, getText('pisell-resource-wall-carousel-dwell-sec-label')), /*#__PURE__*/React.createElement(PisellNumber, {
42
+ className: "w-full",
43
+ value: draftPageSec,
44
+ min: 3,
45
+ max: 60,
46
+ step: 1,
47
+ precision: 0,
48
+ onChange: function onChange(v) {
49
+ return setDraftPageSec(v == null ? 3 : Math.max(3, Math.min(60, Math.round(v))));
50
+ }
51
+ })), /*#__PURE__*/React.createElement("div", {
52
+ className: "rounded-2xl border p-3 ".concat(adminInputBg)
53
+ }, /*#__PURE__*/React.createElement("div", {
54
+ className: "text-xs mb-2 ".concat(mutedText)
55
+ }, getText('pisell-resource-wall-summary-pagination')), /*#__PURE__*/React.createElement("div", {
56
+ className: "text-sm font-semibold"
57
+ }, getText('pisell-resource-wall-carousel-countdown-line').replace('{cur}', String(carouselCur)).replace('{tot}', String(carouselTot)).replace('{sec}', String(Math.max(3, draftPageSec)))))), /*#__PURE__*/React.createElement("div", {
58
+ className: "grid grid-cols-1 md:grid-cols-2 gap-3"
59
+ }, /*#__PURE__*/React.createElement("label", {
60
+ className: "rounded-2xl border p-3 block ".concat(adminInputBg)
61
+ }, /*#__PURE__*/React.createElement("div", {
62
+ className: "text-xs mb-2 ".concat(mutedText)
63
+ }, getText('pisell-resource-wall-layout-field-label')), /*#__PURE__*/React.createElement(PisellSingleSelect, {
64
+ className: "w-full",
65
+ value: draftLayoutKey,
66
+ options: layoutPresets.map(function (item) {
67
+ return {
68
+ value: item.key,
69
+ label: item.label
70
+ };
71
+ }),
72
+ placeholder: getText('pisell-resource-wall-layout-placeholder'),
73
+ allowClear: false,
74
+ onChange: function onChange(v) {
75
+ if (v != null) setDraftLayoutKey(String(v));
76
+ }
77
+ })), /*#__PURE__*/React.createElement("div", {
78
+ className: "grid grid-cols-2 gap-3"
79
+ }, /*#__PURE__*/React.createElement("label", {
80
+ className: "rounded-2xl border p-3 block ".concat(adminInputBg)
81
+ }, /*#__PURE__*/React.createElement("div", {
82
+ className: "text-xs mb-2 ".concat(mutedText)
83
+ }, getText('pisell-resource-wall-panel-custom-cols')), /*#__PURE__*/React.createElement(PisellNumber, {
84
+ className: "w-full",
85
+ value: draftCustomCols,
86
+ min: 1,
87
+ max: 6,
88
+ step: 1,
89
+ precision: 0,
90
+ onChange: function onChange(v) {
91
+ return setDraftCustomCols(v == null ? 1 : Math.max(1, Math.min(6, Math.round(v))));
92
+ }
93
+ })), /*#__PURE__*/React.createElement("label", {
94
+ className: "rounded-2xl border p-3 block ".concat(adminInputBg)
95
+ }, /*#__PURE__*/React.createElement("div", {
96
+ className: "text-xs mb-2 ".concat(mutedText)
97
+ }, getText('pisell-resource-wall-panel-custom-rows')), /*#__PURE__*/React.createElement(PisellNumber, {
98
+ className: "w-full",
99
+ value: draftCustomRows,
100
+ min: 1,
101
+ max: 6,
102
+ step: 1,
103
+ precision: 0,
104
+ onChange: function onChange(v) {
105
+ return setDraftCustomRows(v == null ? 1 : Math.max(1, Math.min(6, Math.round(v))));
106
+ }
107
+ })))), /*#__PURE__*/React.createElement("label", {
108
+ className: "rounded-2xl border p-3 block ".concat(adminInputBg)
109
+ }, /*#__PURE__*/React.createElement("div", {
110
+ className: "text-xs mb-2 ".concat(mutedText)
111
+ }, getText('pisell-resource-wall-hero-width-ratio')), /*#__PURE__*/React.createElement("div", {
112
+ className: "flex items-center gap-3"
113
+ }, /*#__PURE__*/React.createElement("input", {
114
+ type: "range",
115
+ min: 40,
116
+ max: 80,
117
+ step: 1,
118
+ value: Math.round(draftHeroRatio * 100),
119
+ onChange: function onChange(e) {
120
+ return setDraftHeroRatio(Number(e.target.value) / 100);
121
+ },
122
+ className: "flex-1"
123
+ }), /*#__PURE__*/React.createElement("div", {
124
+ className: "".concat(isDark ? 'text-slate-200' : 'text-slate-700', " text-sm font-semibold w-14 text-right")
125
+ }, Math.round(draftHeroRatio * 100), "%")), /*#__PURE__*/React.createElement("div", {
126
+ className: "text-[11px] mt-2 ".concat(mutedText)
127
+ }, getText('pisell-resource-wall-hero-width-hint'))));
128
+ };
@@ -35,3 +35,11 @@ body.pisell-resource-wall-fixed-viewport .pisell-shell-frame-body {
35
35
  max-height: 100%;
36
36
  overflow: hidden;
37
37
  }
38
+
39
+ /* 与视口根内联色一致,便于主题扩展时集中覆写(当前主色仍由 JS 注入) */
40
+ .pisell-resource-wall-shell {
41
+ --pisell-rw-page-bg-light: #f5f7fb;
42
+ --pisell-rw-page-bg-dark: #0f172a;
43
+ --pisell-rw-header-bg-light: #ffffff;
44
+ --pisell-rw-header-bg-dark: #1e293b;
45
+ }
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ export interface ResourceWallViewportToolbarProps {
3
+ now: Date;
4
+ appearanceMode: 'light' | 'dark';
5
+ onAppearanceModeChange: (m: 'light' | 'dark') => void;
6
+ pseudoFullscreen: boolean;
7
+ onTogglePseudoFullscreen: () => void;
8
+ onOpenControlPanel: () => void;
9
+ headerBorder: string;
10
+ headerBg: string;
11
+ clockColor: string;
12
+ mutedText: string;
13
+ toolbarBtnBorder: string;
14
+ toolbarBtnBg: string;
15
+ toolbarBtnBgActive: string;
16
+ }
17
+ /** 资源墙顶栏:时钟、浅深切换、伪全屏、控制台入口 */
18
+ export declare const ResourceWallViewportToolbar: React.FC<ResourceWallViewportToolbarProps>;
@@ -0,0 +1,115 @@
1
+ import React from 'react';
2
+ import { getText } from "../../../../locales";
3
+ /** 资源墙顶栏:时钟、浅深切换、伪全屏、控制台入口 */
4
+ export var ResourceWallViewportToolbar = function ResourceWallViewportToolbar(_ref) {
5
+ var now = _ref.now,
6
+ appearanceMode = _ref.appearanceMode,
7
+ onAppearanceModeChange = _ref.onAppearanceModeChange,
8
+ pseudoFullscreen = _ref.pseudoFullscreen,
9
+ onTogglePseudoFullscreen = _ref.onTogglePseudoFullscreen,
10
+ onOpenControlPanel = _ref.onOpenControlPanel,
11
+ headerBorder = _ref.headerBorder,
12
+ headerBg = _ref.headerBg,
13
+ clockColor = _ref.clockColor,
14
+ mutedText = _ref.mutedText,
15
+ toolbarBtnBorder = _ref.toolbarBtnBorder,
16
+ toolbarBtnBg = _ref.toolbarBtnBg,
17
+ toolbarBtnBgActive = _ref.toolbarBtnBgActive;
18
+ return /*#__PURE__*/React.createElement("div", {
19
+ style: {
20
+ flexShrink: 0,
21
+ borderBottom: headerBorder,
22
+ padding: '16px 24px',
23
+ display: 'flex',
24
+ alignItems: 'center',
25
+ justifyContent: 'space-between',
26
+ gap: 16,
27
+ background: headerBg
28
+ }
29
+ }, /*#__PURE__*/React.createElement("div", {
30
+ style: {
31
+ fontSize: 22,
32
+ fontWeight: 600,
33
+ letterSpacing: '-0.02em',
34
+ color: clockColor
35
+ }
36
+ }, now.toLocaleTimeString([], {
37
+ hour: '2-digit',
38
+ minute: '2-digit',
39
+ hour12: false
40
+ }), ' ', "\xB7", ' ', now.toLocaleDateString('en-GB', {
41
+ day: '2-digit',
42
+ month: 'short',
43
+ year: 'numeric'
44
+ })), /*#__PURE__*/React.createElement("div", {
45
+ style: {
46
+ display: 'flex',
47
+ alignItems: 'center',
48
+ gap: 8
49
+ }
50
+ }, /*#__PURE__*/React.createElement("div", {
51
+ style: {
52
+ display: 'inline-flex',
53
+ alignItems: 'center',
54
+ borderRadius: 6,
55
+ border: toolbarBtnBorder,
56
+ overflow: 'hidden',
57
+ background: toolbarBtnBg
58
+ }
59
+ }, /*#__PURE__*/React.createElement("button", {
60
+ type: "button",
61
+ onClick: function onClick() {
62
+ return onAppearanceModeChange('light');
63
+ },
64
+ style: {
65
+ border: 'none',
66
+ padding: '6px 12px',
67
+ fontSize: 13,
68
+ fontWeight: 500,
69
+ cursor: 'pointer',
70
+ background: appearanceMode === 'light' ? toolbarBtnBgActive : 'transparent',
71
+ color: appearanceMode === 'light' ? clockColor : mutedText
72
+ }
73
+ }, getText('pisell-resource-wall-appearance-light')), /*#__PURE__*/React.createElement("button", {
74
+ type: "button",
75
+ onClick: function onClick() {
76
+ return onAppearanceModeChange('dark');
77
+ },
78
+ style: {
79
+ border: 'none',
80
+ borderLeft: toolbarBtnBorder,
81
+ padding: '6px 12px',
82
+ fontSize: 13,
83
+ fontWeight: 500,
84
+ cursor: 'pointer',
85
+ background: appearanceMode === 'dark' ? toolbarBtnBgActive : 'transparent',
86
+ color: appearanceMode === 'dark' ? clockColor : mutedText
87
+ }
88
+ }, getText('pisell-resource-wall-appearance-dark'))), /*#__PURE__*/React.createElement("button", {
89
+ type: "button",
90
+ onClick: onTogglePseudoFullscreen,
91
+ style: {
92
+ borderRadius: 6,
93
+ padding: '6px 14px',
94
+ fontSize: 13,
95
+ fontWeight: 500,
96
+ cursor: 'pointer',
97
+ border: toolbarBtnBorder,
98
+ background: pseudoFullscreen ? toolbarBtnBgActive : toolbarBtnBg,
99
+ color: clockColor
100
+ }
101
+ }, pseudoFullscreen ? getText('pisell-resource-wall-fullscreen-exit') : getText('pisell-resource-wall-fullscreen-enter')), /*#__PURE__*/React.createElement("button", {
102
+ type: "button",
103
+ onClick: onOpenControlPanel,
104
+ style: {
105
+ borderRadius: 6,
106
+ padding: '6px 14px',
107
+ fontSize: 13,
108
+ fontWeight: 500,
109
+ cursor: 'pointer',
110
+ border: toolbarBtnBorder,
111
+ background: toolbarBtnBg,
112
+ color: clockColor
113
+ }
114
+ }, getText('pisell-resource-wall-control-open'))));
115
+ };
@@ -3,6 +3,8 @@ import type { RecordBoardResourceWallCardModel } from '../../types';
3
3
  import { type VenueWallStatusKey, type VenueWallStatusTone } from './venueWallUtils';
4
4
  export interface VenueWallCardProps {
5
5
  card: RecordBoardResourceWallCardModel;
6
+ /** 与 PisellRecordBoardResourceWallView 顶栏同源墙钟毫秒时间戳(唯一定时器驱动) */
7
+ wallNowMs: number;
6
8
  /** boardingSoon:用于进度条分母(分钟) */
7
9
  boardingSoonBeforeMin?: number;
8
10
  occupiedCardColor?: string;
@@ -13,7 +15,7 @@ export interface VenueWallCardProps {
13
15
  /** 非占用态主/辅文案色在暗色外壳下的对比度 */
14
16
  appearance?: 'light' | 'dark';
15
17
  }
16
- /**
17
- * 单块场地大屏卡(由 test.tsx CardItem 迁移,样式为内联 + 少量类名,不依赖 Tailwind)。
18
- */
19
- export declare const VenueWallCard: React.FC<VenueWallCardProps>;
18
+ declare function VenueWallCardInner({ card, wallNowMs, boardingSoonBeforeMin, occupiedCardColor, availableCardColor, heroMaxWidthRatio, statusToneMap: statusToneMapProp, appearance, }: VenueWallCardProps): JSX.Element;
19
+ /** 单块场地大屏卡:漂移与文案由 {@link buildVenueWallCardPresentation} 统一计算 */
20
+ export declare const VenueWallCard: React.MemoExoticComponent<typeof VenueWallCardInner>;
21
+ export {};