@pisell/materials 6.11.28 → 6.11.30

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 (297) 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 +16 -16
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +16 -16
  11. package/es/components/PisellCards/components/GraphicTextCard/GraphicTextCard.d.ts +0 -1
  12. package/es/components/PisellCards/index.d.ts +0 -1
  13. package/es/components/PisellFields/index.d.ts +0 -1
  14. package/es/components/PisellMetrics/index.d.ts +0 -1
  15. package/es/components/appVersionControl/index.d.ts +0 -1
  16. package/es/components/auto-complete-number/index.d.ts +0 -1
  17. package/es/components/badge/index.d.ts +0 -1
  18. package/es/components/batch-editor/fields/index.d.ts +0 -1
  19. package/es/components/batch-editor/index.d.ts +0 -1
  20. package/es/components/calendar/index.d.ts +0 -1
  21. package/es/components/checkbox/index.d.ts +0 -1
  22. package/es/components/classicLayout/index.d.ts +0 -1
  23. package/es/components/colorPicker/index.d.ts +0 -1
  24. package/es/components/dataSourceComponents/dataSourceTable/hooks/useDrawerState.d.ts +0 -1
  25. package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +1 -1
  26. package/es/components/dataSourceComponents/fields/ColorPicker/ReadPretty.d.ts +0 -1
  27. package/es/components/dataSourceComponents/fields/DateRangePicker/ReadPretty.d.ts +0 -1
  28. package/es/components/dataSourceComponents/fields/IconSelect/ReadPretty.d.ts +0 -1
  29. package/es/components/dataSourceComponents/fields/Input/ReadPretty.d.ts +0 -1
  30. package/es/components/dataSourceComponents/fields/Input.Email/ReadPretty.d.ts +0 -1
  31. package/es/components/dataSourceComponents/fields/Input.Subdomain/ReadPretty.d.ts +0 -1
  32. package/es/components/dataSourceComponents/fields/Input.TextArea/ReadPretty.d.ts +0 -1
  33. package/es/components/dataSourceComponents/fields/Input.Url/ReadPretty.d.ts +0 -1
  34. package/es/components/dataSourceComponents/fields/RecordListWrapper/index.d.ts +0 -1
  35. package/es/components/dataSourceComponents/fields/Tabs/index.d.ts +0 -1
  36. package/es/components/dataSourceComponents/fields/TimePicker/ReadPretty.d.ts +0 -1
  37. package/es/components/dataSourceComponents/fields/Translation/ReadPretty.d.ts +0 -1
  38. package/es/components/dataSourceComponents/fields/Upload/CameraPopover.d.ts +0 -1
  39. package/es/components/dataSourceComponents/fields/Upload/utils.d.ts +1 -1
  40. package/es/components/dataSourceComponents/fields/index.d.ts +6 -6
  41. package/es/components/drag-sort-tree/TreeItem/index.d.ts +0 -1
  42. package/es/components/drag-sort-tree/index.d.ts +0 -1
  43. package/es/components/dropdown/index.d.ts +0 -1
  44. package/es/components/filter/components/items/index.d.ts +0 -1
  45. package/es/components/filter/components/items/text/Editor/index.d.ts +0 -1
  46. package/es/components/filter/components/items/text/Preview/index.d.ts +0 -1
  47. package/es/components/filter/components/items/text/index.d.ts +0 -1
  48. package/es/components/page/index.d.ts +0 -1
  49. package/es/components/pisellAdjustPrice/PisellAdjustPriceInputNumber.d.ts +0 -1
  50. package/es/components/pisellCard/index.d.ts +0 -1
  51. package/es/components/pisellDatePicker/index.d.ts +0 -1
  52. package/es/components/pisellFilter/index.d.ts +0 -1
  53. package/es/components/pisellInformationEntry/Scan/index.d.ts +0 -1
  54. package/es/components/pisellInput/index.d.ts +0 -1
  55. package/es/components/pisellRecordBoard/PisellRecordBoard.js +8 -5
  56. package/es/components/pisellRecordBoard/index.d.ts +7 -2
  57. package/es/components/pisellRecordBoard/index.js +4 -2
  58. package/es/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendarDemo.js +324 -312
  59. package/es/components/pisellRecordBoard/shellFrame/Calendar/calendarPersistGuard.d.ts +18 -0
  60. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/NoteTicker.d.ts +13 -0
  61. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/NoteTicker.js +37 -0
  62. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.d.ts +9 -0
  63. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.js +157 -0
  64. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/RecordBoardResourceWall.d.ts +8 -0
  65. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/RecordBoardResourceWall.js +9 -0
  66. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.d.ts +14 -0
  67. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.js +513 -0
  68. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallMarquee.less +52 -0
  69. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.d.ts +14 -0
  70. package/es/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.js +82 -0
  71. package/es/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.d.ts +5 -2
  72. package/es/components/pisellRecordBoard/shellFrame/ToolBar/index.js +58 -19
  73. package/es/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolbar.less +5 -3
  74. package/es/components/pisellRecordBoard/shellFrame/index.d.ts +4 -3
  75. package/es/components/pisellRecordBoard/shellFrame/index.js +49 -11
  76. package/es/components/pisellRecordBoard/types.d.ts +78 -2
  77. package/es/components/pisellRecordBoard/utils/partitionShellFrameChildren.d.ts +5 -2
  78. package/es/components/pisellRecordBoard/utils/partitionShellFrameChildren.js +18 -0
  79. package/es/components/pisellReservationSchedule/locales.d.ts +43 -0
  80. package/es/components/pisellReservationSchedule/types.d.ts +52 -0
  81. package/es/components/pisellReservationScheduleBand/types.d.ts +61 -0
  82. package/es/components/pisellTimeNavigator/utils/index.d.ts +41 -0
  83. package/es/components/pisellUpload/index.d.ts +0 -1
  84. package/es/components/productCard/cartSkuCard/components/MultiDay/index.d.ts +0 -1
  85. package/es/components/productCard/cartSkuCard/components/resources/index.d.ts +0 -1
  86. package/es/components/productCard/cartSkuCard/components/timeRange/index.d.ts +0 -1
  87. package/es/components/productCard/components/Divider/index.d.ts +0 -1
  88. package/es/components/productCard/components/Header/DeleteButton/index.d.ts +0 -1
  89. package/es/components/productCard/components/Time/components/Like/index.d.ts +0 -1
  90. package/es/components/radio/index.d.ts +0 -1
  91. package/es/components/segmented/index.d.ts +0 -1
  92. package/es/components/select-time/RightPanel/index.d.ts +0 -1
  93. package/es/components/select-time/index.d.ts +0 -1
  94. package/es/components/skeleton/index.d.ts +0 -1
  95. package/es/components/slider/index.d.ts +0 -1
  96. package/es/components/sort/components/InlineMenu/index.d.ts +0 -1
  97. package/es/components/table/Actions/component/ExportImport/components/ExportFile/index.d.ts +0 -1
  98. package/es/components/table/Actions/component/ExportImport/components/ExportTable/index.d.ts +0 -1
  99. package/es/components/table/Actions/component/ExportImport/components/ImportLog/index.d.ts +0 -1
  100. package/es/components/table/Actions/component/ExportImport/components/ImportTable/index.d.ts +0 -1
  101. package/es/components/table/Actions/component/Group/PopoverContent.d.ts +0 -1
  102. package/es/components/table/Actions/component/ViewMode/index.d.ts +0 -1
  103. package/es/components/table/Summary/index.d.ts +0 -1
  104. package/es/components/table/Table/fields/date/Config/index.d.ts +0 -1
  105. package/es/components/table/Table/fields/date/Sort/index.d.ts +0 -1
  106. package/es/components/table/Table/fields/image/Config/index.d.ts +0 -1
  107. package/es/components/table/Table/fields/image/Sort/index.d.ts +0 -1
  108. package/es/components/table/Table/fields/image/index.d.ts +0 -1
  109. package/es/components/table/Table/fields/index.d.ts +2 -2
  110. package/es/components/table/Table/fields/link/Config/index.d.ts +0 -1
  111. package/es/components/table/Table/fields/link/Sort/index.d.ts +0 -1
  112. package/es/components/table/Table/fields/link/index.d.ts +0 -1
  113. package/es/components/table/Table/fields/number/Config/index.d.ts +0 -1
  114. package/es/components/table/Table/fields/number/Sort/index.d.ts +0 -1
  115. package/es/components/table/Table/fields/numberRange/Config/index.d.ts +0 -1
  116. package/es/components/table/Table/fields/numberRange/Sort/index.d.ts +0 -1
  117. package/es/components/table/Table/fields/oldRangePicker/Config/index.d.ts +0 -1
  118. package/es/components/table/Table/fields/oldRangePicker/Sort/index.d.ts +0 -1
  119. package/es/components/table/Table/fields/pSwitch/Config/index.d.ts +0 -1
  120. package/es/components/table/Table/fields/pSwitch/Sort/index.d.ts +0 -1
  121. package/es/components/table/Table/fields/pSwitch/index.d.ts +0 -1
  122. package/es/components/table/Table/fields/rangePicker/Config/index.d.ts +0 -1
  123. package/es/components/table/Table/fields/rangePicker/Sort/index.d.ts +0 -1
  124. package/es/components/table/Table/fields/search/Config/index.d.ts +0 -1
  125. package/es/components/table/Table/fields/search/Sort/index.d.ts +0 -1
  126. package/es/components/table/Table/fields/select/Config/index.d.ts +0 -1
  127. package/es/components/table/Table/fields/select/Sort/index.d.ts +0 -1
  128. package/es/components/table/Table/fields/text/Config/index.d.ts +0 -1
  129. package/es/components/table/Table/fields/text/Sort/index.d.ts +0 -1
  130. package/es/components/table/Table/fields/treeSelect/Config/index.d.ts +0 -1
  131. package/es/components/table/Table/fields/treeSelect/Sort/index.d.ts +0 -1
  132. package/es/components/table/Table/tableConfig/summary/index.d.ts +0 -1
  133. package/es/components/table/Table/utils.d.ts +1 -1
  134. package/es/components/table/TableFilter/SortIcon.d.ts +0 -1
  135. package/es/components/time-picker/index.d.ts +0 -1
  136. package/es/components/upload/index.d.ts +0 -1
  137. package/es/components/versionSelect/index.d.ts +0 -1
  138. package/es/components/virtual-keyboard/Time/utils.d.ts +0 -1
  139. package/es/components/walletCard/Guest/index.d.ts +0 -1
  140. package/es/components/walletCard/Guide/index.d.ts +0 -1
  141. package/es/index.d.ts +2 -1
  142. package/es/index.js +1 -0
  143. package/es/locales/en-US.d.ts +389 -0
  144. package/es/locales/en-US.js +1 -0
  145. package/es/locales/ja.d.ts +358 -0
  146. package/es/locales/ja.js +1 -0
  147. package/es/locales/pt.d.ts +358 -0
  148. package/es/locales/pt.js +1 -0
  149. package/es/locales/zh-CN.d.ts +384 -0
  150. package/es/locales/zh-CN.js +1 -0
  151. package/es/locales/zh-TW.d.ts +384 -0
  152. package/es/locales/zh-TW.js +1 -0
  153. package/es/pisell-materials.tw.css +1 -1
  154. package/lib/components/PisellCards/components/GraphicTextCard/GraphicTextCard.d.ts +0 -1
  155. package/lib/components/PisellCards/index.d.ts +0 -1
  156. package/lib/components/PisellFields/index.d.ts +0 -1
  157. package/lib/components/PisellMetrics/index.d.ts +0 -1
  158. package/lib/components/appVersionControl/index.d.ts +0 -1
  159. package/lib/components/auto-complete-number/index.d.ts +0 -1
  160. package/lib/components/badge/index.d.ts +0 -1
  161. package/lib/components/batch-editor/fields/index.d.ts +0 -1
  162. package/lib/components/batch-editor/index.d.ts +0 -1
  163. package/lib/components/calendar/index.d.ts +0 -1
  164. package/lib/components/checkbox/index.d.ts +0 -1
  165. package/lib/components/classicLayout/index.d.ts +0 -1
  166. package/lib/components/colorPicker/index.d.ts +0 -1
  167. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useDrawerState.d.ts +0 -1
  168. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +1 -1
  169. package/lib/components/dataSourceComponents/fields/ColorPicker/ReadPretty.d.ts +0 -1
  170. package/lib/components/dataSourceComponents/fields/DateRangePicker/ReadPretty.d.ts +0 -1
  171. package/lib/components/dataSourceComponents/fields/IconSelect/ReadPretty.d.ts +0 -1
  172. package/lib/components/dataSourceComponents/fields/Input/ReadPretty.d.ts +0 -1
  173. package/lib/components/dataSourceComponents/fields/Input.Email/ReadPretty.d.ts +0 -1
  174. package/lib/components/dataSourceComponents/fields/Input.Subdomain/ReadPretty.d.ts +0 -1
  175. package/lib/components/dataSourceComponents/fields/Input.TextArea/ReadPretty.d.ts +0 -1
  176. package/lib/components/dataSourceComponents/fields/Input.Url/ReadPretty.d.ts +0 -1
  177. package/lib/components/dataSourceComponents/fields/RecordListWrapper/index.d.ts +0 -1
  178. package/lib/components/dataSourceComponents/fields/Tabs/index.d.ts +0 -1
  179. package/lib/components/dataSourceComponents/fields/TimePicker/ReadPretty.d.ts +0 -1
  180. package/lib/components/dataSourceComponents/fields/Translation/ReadPretty.d.ts +0 -1
  181. package/lib/components/dataSourceComponents/fields/Upload/CameraPopover.d.ts +0 -1
  182. package/lib/components/dataSourceComponents/fields/Upload/utils.d.ts +1 -1
  183. package/lib/components/dataSourceComponents/fields/index.d.ts +6 -6
  184. package/lib/components/drag-sort-tree/TreeItem/index.d.ts +0 -1
  185. package/lib/components/drag-sort-tree/index.d.ts +0 -1
  186. package/lib/components/dropdown/index.d.ts +0 -1
  187. package/lib/components/filter/components/items/index.d.ts +0 -1
  188. package/lib/components/filter/components/items/text/Editor/index.d.ts +0 -1
  189. package/lib/components/filter/components/items/text/Preview/index.d.ts +0 -1
  190. package/lib/components/filter/components/items/text/index.d.ts +0 -1
  191. package/lib/components/page/index.d.ts +0 -1
  192. package/lib/components/pisellAdjustPrice/PisellAdjustPriceInputNumber.d.ts +0 -1
  193. package/lib/components/pisellCard/index.d.ts +0 -1
  194. package/lib/components/pisellDatePicker/index.d.ts +0 -1
  195. package/lib/components/pisellFilter/index.d.ts +0 -1
  196. package/lib/components/pisellInformationEntry/Scan/index.d.ts +0 -1
  197. package/lib/components/pisellInput/index.d.ts +0 -1
  198. package/lib/components/pisellRecordBoard/PisellRecordBoard.js +8 -3
  199. package/lib/components/pisellRecordBoard/index.d.ts +7 -2
  200. package/lib/components/pisellRecordBoard/index.js +4 -0
  201. package/lib/components/pisellRecordBoard/shellFrame/Calendar/BookingCalendarDemo.js +143 -215
  202. package/lib/components/pisellRecordBoard/shellFrame/Calendar/calendarPersistGuard.d.ts +18 -0
  203. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/NoteTicker.d.ts +13 -0
  204. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/NoteTicker.js +60 -0
  205. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.d.ts +9 -0
  206. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/PisellRecordBoardResourceWallView.js +163 -0
  207. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/RecordBoardResourceWall.d.ts +8 -0
  208. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/RecordBoardResourceWall.js +27 -0
  209. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.d.ts +14 -0
  210. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallCard.js +636 -0
  211. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/VenueWallMarquee.less +52 -0
  212. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.d.ts +14 -0
  213. package/lib/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.js +110 -0
  214. package/lib/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.d.ts +5 -2
  215. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/index.js +45 -14
  216. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolbar.less +5 -3
  217. package/lib/components/pisellRecordBoard/shellFrame/index.d.ts +4 -3
  218. package/lib/components/pisellRecordBoard/shellFrame/index.js +57 -7
  219. package/lib/components/pisellRecordBoard/types.d.ts +78 -2
  220. package/lib/components/pisellRecordBoard/utils/partitionShellFrameChildren.d.ts +5 -2
  221. package/lib/components/pisellRecordBoard/utils/partitionShellFrameChildren.js +18 -0
  222. package/lib/components/pisellReservationSchedule/locales.d.ts +43 -0
  223. package/lib/components/pisellReservationSchedule/types.d.ts +52 -0
  224. package/lib/components/pisellReservationScheduleBand/types.d.ts +61 -0
  225. package/lib/components/pisellTimeNavigator/utils/index.d.ts +41 -0
  226. package/lib/components/pisellUpload/index.d.ts +0 -1
  227. package/lib/components/productCard/cartSkuCard/components/MultiDay/index.d.ts +0 -1
  228. package/lib/components/productCard/cartSkuCard/components/resources/index.d.ts +0 -1
  229. package/lib/components/productCard/cartSkuCard/components/timeRange/index.d.ts +0 -1
  230. package/lib/components/productCard/components/Divider/index.d.ts +0 -1
  231. package/lib/components/productCard/components/Header/DeleteButton/index.d.ts +0 -1
  232. package/lib/components/productCard/components/Time/components/Like/index.d.ts +0 -1
  233. package/lib/components/radio/index.d.ts +0 -1
  234. package/lib/components/segmented/index.d.ts +0 -1
  235. package/lib/components/select-time/RightPanel/index.d.ts +0 -1
  236. package/lib/components/select-time/index.d.ts +0 -1
  237. package/lib/components/skeleton/index.d.ts +0 -1
  238. package/lib/components/slider/index.d.ts +0 -1
  239. package/lib/components/sort/components/InlineMenu/index.d.ts +0 -1
  240. package/lib/components/table/Actions/component/ExportImport/components/ExportFile/index.d.ts +0 -1
  241. package/lib/components/table/Actions/component/ExportImport/components/ExportTable/index.d.ts +0 -1
  242. package/lib/components/table/Actions/component/ExportImport/components/ImportLog/index.d.ts +0 -1
  243. package/lib/components/table/Actions/component/ExportImport/components/ImportTable/index.d.ts +0 -1
  244. package/lib/components/table/Actions/component/Group/PopoverContent.d.ts +0 -1
  245. package/lib/components/table/Actions/component/ViewMode/index.d.ts +0 -1
  246. package/lib/components/table/Summary/index.d.ts +0 -1
  247. package/lib/components/table/Table/fields/date/Config/index.d.ts +0 -1
  248. package/lib/components/table/Table/fields/date/Sort/index.d.ts +0 -1
  249. package/lib/components/table/Table/fields/image/Config/index.d.ts +0 -1
  250. package/lib/components/table/Table/fields/image/Sort/index.d.ts +0 -1
  251. package/lib/components/table/Table/fields/image/index.d.ts +0 -1
  252. package/lib/components/table/Table/fields/index.d.ts +2 -2
  253. package/lib/components/table/Table/fields/link/Config/index.d.ts +0 -1
  254. package/lib/components/table/Table/fields/link/Sort/index.d.ts +0 -1
  255. package/lib/components/table/Table/fields/link/index.d.ts +0 -1
  256. package/lib/components/table/Table/fields/number/Config/index.d.ts +0 -1
  257. package/lib/components/table/Table/fields/number/Sort/index.d.ts +0 -1
  258. package/lib/components/table/Table/fields/numberRange/Config/index.d.ts +0 -1
  259. package/lib/components/table/Table/fields/numberRange/Sort/index.d.ts +0 -1
  260. package/lib/components/table/Table/fields/oldRangePicker/Config/index.d.ts +0 -1
  261. package/lib/components/table/Table/fields/oldRangePicker/Sort/index.d.ts +0 -1
  262. package/lib/components/table/Table/fields/pSwitch/Config/index.d.ts +0 -1
  263. package/lib/components/table/Table/fields/pSwitch/Sort/index.d.ts +0 -1
  264. package/lib/components/table/Table/fields/pSwitch/index.d.ts +0 -1
  265. package/lib/components/table/Table/fields/rangePicker/Config/index.d.ts +0 -1
  266. package/lib/components/table/Table/fields/rangePicker/Sort/index.d.ts +0 -1
  267. package/lib/components/table/Table/fields/search/Config/index.d.ts +0 -1
  268. package/lib/components/table/Table/fields/search/Sort/index.d.ts +0 -1
  269. package/lib/components/table/Table/fields/select/Config/index.d.ts +0 -1
  270. package/lib/components/table/Table/fields/select/Sort/index.d.ts +0 -1
  271. package/lib/components/table/Table/fields/text/Config/index.d.ts +0 -1
  272. package/lib/components/table/Table/fields/text/Sort/index.d.ts +0 -1
  273. package/lib/components/table/Table/fields/treeSelect/Config/index.d.ts +0 -1
  274. package/lib/components/table/Table/fields/treeSelect/Sort/index.d.ts +0 -1
  275. package/lib/components/table/Table/tableConfig/summary/index.d.ts +0 -1
  276. package/lib/components/table/Table/utils.d.ts +1 -1
  277. package/lib/components/table/TableFilter/SortIcon.d.ts +0 -1
  278. package/lib/components/time-picker/index.d.ts +0 -1
  279. package/lib/components/upload/index.d.ts +0 -1
  280. package/lib/components/versionSelect/index.d.ts +0 -1
  281. package/lib/components/virtual-keyboard/Time/utils.d.ts +0 -1
  282. package/lib/components/walletCard/Guest/index.d.ts +0 -1
  283. package/lib/components/walletCard/Guide/index.d.ts +0 -1
  284. package/lib/index.d.ts +2 -1
  285. package/lib/index.js +5 -0
  286. package/lib/locales/en-US.d.ts +389 -0
  287. package/lib/locales/en-US.js +1 -0
  288. package/lib/locales/ja.d.ts +358 -0
  289. package/lib/locales/ja.js +1 -0
  290. package/lib/locales/pt.d.ts +358 -0
  291. package/lib/locales/pt.js +1 -0
  292. package/lib/locales/zh-CN.d.ts +384 -0
  293. package/lib/locales/zh-CN.js +1 -0
  294. package/lib/locales/zh-TW.d.ts +384 -0
  295. package/lib/locales/zh-TW.js +1 -0
  296. package/lib/pisell-materials.tw.css +1 -1
  297. package/package.json +3 -3
@@ -0,0 +1,110 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/components/pisellRecordBoard/shellFrame/ResourceWall/venueWallUtils.ts
20
+ var venueWallUtils_exports = {};
21
+ __export(venueWallUtils_exports, {
22
+ VENUE_WALL_STATUS_COLOR_MAP: () => VENUE_WALL_STATUS_COLOR_MAP,
23
+ alphaColor: () => alphaColor,
24
+ clamp: () => clamp,
25
+ deriveVenueWallStatus: () => deriveVenueWallStatus,
26
+ formatVenueWallCountdown: () => formatVenueWallCountdown
27
+ });
28
+ module.exports = __toCommonJS(venueWallUtils_exports);
29
+ var VENUE_WALL_STATUS_COLOR_MAP = {
30
+ inUse: {
31
+ key: "inUse",
32
+ label: "In Use",
33
+ note: "This court is currently in use.",
34
+ color: "#6f4ae6",
35
+ noteBg: "rgba(111,74,230,0.92)"
36
+ },
37
+ endingSoon: {
38
+ key: "endingSoon",
39
+ label: "Ending Soon",
40
+ note: "Please leave on time to avoid overtime charges.",
41
+ color: "#f59e0b",
42
+ noteBg: "rgba(245,158,11,0.96)"
43
+ },
44
+ expired: {
45
+ key: "expired",
46
+ label: "Expired",
47
+ note: "This booking has ended. Please clear the court.",
48
+ color: "#ef4444",
49
+ noteBg: "rgba(239,68,68,0.96)"
50
+ },
51
+ available: {
52
+ key: "available",
53
+ label: "Available",
54
+ note: "This court is now available.",
55
+ color: "#10b981",
56
+ noteBg: "rgba(16,185,129,0.18)"
57
+ },
58
+ boardingSoon: {
59
+ key: "boardingSoon",
60
+ label: "Boarding Soon",
61
+ note: "Please check in to start.",
62
+ color: "#6f4ae6",
63
+ noteBg: "rgba(111,74,230,0.18)"
64
+ },
65
+ late: {
66
+ key: "late",
67
+ label: "Late",
68
+ note: "Please check in as soon as possible.",
69
+ /** 与 available 同色板一致;主倒计时红色在 VenueWallCard 内单独覆盖 */
70
+ color: "#10b981",
71
+ noteBg: "rgba(16,185,129,0.18)"
72
+ }
73
+ };
74
+ function alphaColor(hex, alpha) {
75
+ const clean = hex.replace("#", "");
76
+ const full = clean.length === 3 ? clean.split("").map((c) => c + c).join("") : clean;
77
+ const num = parseInt(full, 16);
78
+ const r = num >> 16 & 255;
79
+ const g = num >> 8 & 255;
80
+ const b = num & 255;
81
+ return `rgba(${r}, ${g}, ${b}, ${alpha})`;
82
+ }
83
+ var clamp = (value, min, max) => Math.max(min, Math.min(max, value));
84
+ function deriveVenueWallStatus(card) {
85
+ const s = card.status;
86
+ if (s === "available") return "available";
87
+ if (s === "boardingSoon") return "boardingSoon";
88
+ if (s === "late") return "late";
89
+ if (s === "endingSoon") return "endingSoon";
90
+ if (s === "expired") return "expired";
91
+ if (s === "inUse") return "inUse";
92
+ if (card.currentBooking === "Available to Book") return "available";
93
+ const rm = card.remainingMin;
94
+ if (rm != null && rm <= 0) return "expired";
95
+ if (rm != null && rm <= 10) return "endingSoon";
96
+ return "inUse";
97
+ }
98
+ function formatVenueWallCountdown(min) {
99
+ if (min < 0) return `${Math.abs(min)}m overtime`;
100
+ if (min === 0) return "Ending now";
101
+ return `${min}m left`;
102
+ }
103
+ // Annotate the CommonJS export names for ESM import in node:
104
+ 0 && (module.exports = {
105
+ VENUE_WALL_STATUS_COLOR_MAP,
106
+ alphaColor,
107
+ clamp,
108
+ deriveVenueWallStatus,
109
+ formatVenueWallCountdown
110
+ });
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
- import type { RecordBoardFloorMapProps } from '../types';
3
- import type { RecordBoardCalendarProps } from '../types';
2
+ import type { RecordBoardFloorMapProps, RecordBoardCalendarProps, RecordBoardResourceWallProps } from '../types';
4
3
  /**
5
4
  * ShellFrame 解析子节点后的元信息,供 ToolBar 等判断是否需要「表格 / 平面图 / 日历」Segmented。
6
5
  * 未处于 ShellFrame.Provider 内时为 undefined(如单独挂载 ToolBar)。
@@ -16,6 +15,10 @@ export interface RecordBoardShellBodyMeta {
16
15
  hasFloorMapSlot: boolean;
17
16
  /** 合并后是否存在可渲染的日历配置 */
18
17
  hasCalendarSlot: boolean;
18
+ /** 子组件 ResourceWall props 与根级 resourceWall 合并后的结果(子优先) */
19
+ effectiveResourceWallProps?: RecordBoardResourceWallProps;
20
+ /** 合并后是否存在大屏资源墙槽(根级或子节点声明即 true) */
21
+ hasResourceWallSlot: boolean;
19
22
  }
20
23
  export declare const RecordBoardShellBodyMetaContext: React.Context<RecordBoardShellBodyMeta | undefined>;
21
24
  export declare function useRecordBoardShellBodyMeta(): RecordBoardShellBodyMeta | undefined;
@@ -70,9 +70,15 @@ function getViewCalendarLabel() {
70
70
  const u = import_utils.locales.getText(key);
71
71
  return u && u !== key ? u : (0, import_locales.getText)(key) || "Calendar";
72
72
  }
73
+ function getViewResourceWallLabel() {
74
+ const key = "pisell2.recordBoard.toolbar.viewResourceWall";
75
+ const u = import_utils.locales.getText(key);
76
+ return u && u !== key ? u : (0, import_locales.getText)(key) || "Wall";
77
+ }
73
78
  var DEFAULT_SEARCH_FIELD = "keyword";
74
79
  var FILTER_PARAMS_FIELD = "filter";
75
80
  var SORT_PARAMS_FIELD = "sort";
81
+ var RESOURCE_WALL_QUICK_FILTER_KEY = "resource_wall_resource_ids";
76
82
  function getDefaultFilterValue() {
77
83
  return {
78
84
  quickFilter: [],
@@ -80,21 +86,24 @@ function getDefaultFilterValue() {
80
86
  };
81
87
  }
82
88
  var RecordBoardToolBar = (props) => {
83
- var _a, _b, _c;
89
+ var _a, _b, _c, _d;
84
90
  const ctx = (0, import_useRecordBoardContext.useRecordBoardContext)({ displayName: "toolBar" });
85
91
  const shellMeta = (0, import_ShellBodyMetaContext.useRecordBoardShellBodyMeta)();
86
92
  const { searchParams, onSearch, bodyView, setBodyView } = ctx;
93
+ const resourceWallFilterFieldKey = ((_a = ctx.resourceWallProps) == null ? void 0 : _a.filterFieldKey) ?? RESOURCE_WALL_QUICK_FILTER_KEY;
87
94
  const hasGridInShell = (shellMeta == null ? void 0 : shellMeta.hasGridContent) ?? true;
88
95
  const hasFloorInShell = (shellMeta == null ? void 0 : shellMeta.hasFloorMapSlot) ?? ctx.floorMapProps != null;
89
96
  const hasCalendarInShell = (shellMeta == null ? void 0 : shellMeta.hasCalendarSlot) ?? ctx.calendarProps != null;
97
+ const hasResourceWallInShell = (shellMeta == null ? void 0 : shellMeta.hasResourceWallSlot) ?? ctx.resourceWallProps != null;
90
98
  const floorForToggle = (shellMeta == null ? void 0 : shellMeta.effectiveFloorMapProps) ?? ctx.floorMapProps;
91
99
  const canFloor = hasFloorInShell && floorForToggle != null;
92
100
  const canCalendar = hasCalendarInShell;
101
+ const canResourceWall = hasResourceWallInShell;
93
102
  const canGrid = hasGridInShell;
94
- const bodyViewOptionCount = (canGrid ? 1 : 0) + (canFloor ? 1 : 0) + (canCalendar ? 1 : 0);
103
+ const bodyViewOptionCount = (canGrid ? 1 : 0) + (canFloor ? 1 : 0) + (canCalendar ? 1 : 0) + (canResourceWall ? 1 : 0);
95
104
  const showTableFloorToggle = bodyViewOptionCount >= 2;
96
105
  const allowBodyViewToggle = showTableFloorToggle && ctx.bodyViewSwitchable !== false;
97
- const slots = ((_a = ctx.childComponentProps) == null ? void 0 : _a.toolBar) ?? {};
106
+ const slots = ((_b = ctx.childComponentProps) == null ? void 0 : _b.toolBar) ?? {};
98
107
  const toolbarDensity = slots.toolbarDensity ?? "default";
99
108
  const barSize = toolbarDensity === "compact" ? "middle" : "large";
100
109
  const keyword = (searchParams == null ? void 0 : searchParams[DEFAULT_SEARCH_FIELD]) ?? "";
@@ -104,7 +113,7 @@ var RecordBoardToolBar = (props) => {
104
113
  },
105
114
  [onSearch, searchParams]
106
115
  );
107
- const gridColumns = (_c = (_b = ctx.childComponentProps) == null ? void 0 : _b.grid) == null ? void 0 : _c.columns;
116
+ const gridColumns = (_d = (_c = ctx.childComponentProps) == null ? void 0 : _c.grid) == null ? void 0 : _d.columns;
108
117
  const derivedFilterFromColumns = (0, import_react.useMemo)(
109
118
  () => Array.isArray(gridColumns) && gridColumns.length > 0 ? (0, import_recordBoardColumns.deriveFilterFromColumns)(gridColumns) : null,
110
119
  [gridColumns]
@@ -134,7 +143,7 @@ var RecordBoardToolBar = (props) => {
134
143
  const fromConfig = typeof quickFilterConfig === "object" && quickFilterConfig !== null && Array.isArray(quickFilterConfig.filterList) ? quickFilterConfig.filterList : null;
135
144
  let list = fromConfig ?? (derivedFilterFromColumns == null ? void 0 : derivedFilterFromColumns.quickFilter) ?? [];
136
145
  const hideNames = typeof quickFilterConfig === "object" && quickFilterConfig !== null && Array.isArray(quickFilterConfig.hideFilterNamesOnFloorMap) ? quickFilterConfig.hideFilterNamesOnFloorMap : null;
137
- if ((bodyView === "floorMap" || bodyView === "calendar") && showTableFloorToggle && hideNames != null && hideNames.length > 0) {
146
+ if ((bodyView === "floorMap" || bodyView === "calendar" || bodyView === "resourceWall") && showTableFloorToggle && hideNames != null && hideNames.length > 0) {
138
147
  const hideSet = new Set(hideNames.map(String));
139
148
  list = list.filter((item) => {
140
149
  const n = item.name ?? item.key;
@@ -148,11 +157,18 @@ var RecordBoardToolBar = (props) => {
148
157
  bodyView,
149
158
  showTableFloorToggle
150
159
  ]);
151
- const showQuickFilterLeft = quickFilterList.length > 0;
160
+ const leftBarQuickFilterList = (0, import_react.useMemo)(() => {
161
+ const withoutWall = quickFilterList.filter(
162
+ (item) => (item.key ?? item.name ?? "") !== resourceWallFilterFieldKey
163
+ );
164
+ if (bodyView === "resourceWall") return [];
165
+ return withoutWall;
166
+ }, [bodyView, quickFilterList, resourceWallFilterFieldKey]);
167
+ const showQuickFilterLeft = leftBarQuickFilterList.length > 0;
152
168
  const quickFilterNode = showQuickFilterLeft ? /* @__PURE__ */ import_react.default.createElement(
153
169
  import_ToolBarQuickFilter.default,
154
170
  {
155
- filterList: quickFilterList,
171
+ filterList: leftBarQuickFilterList,
156
172
  formFiltersPrefix: typeof quickFilterConfig === "object" && quickFilterConfig !== null ? quickFilterConfig.formFiltersPrefix ?? "" : "",
157
173
  size: typeof quickFilterConfig === "object" && quickFilterConfig !== null ? quickFilterConfig.size : void 0
158
174
  }
@@ -161,9 +177,15 @@ var RecordBoardToolBar = (props) => {
161
177
  const opts = [];
162
178
  if (canFloor) opts.push({ label: getViewFloorMapLabel(), value: "floorMap" });
163
179
  if (canCalendar) opts.push({ label: getViewCalendarLabel(), value: "calendar" });
180
+ if (canResourceWall) {
181
+ opts.push({
182
+ label: getViewResourceWallLabel(),
183
+ value: "resourceWall"
184
+ });
185
+ }
164
186
  if (canGrid) opts.push({ label: getViewGridLabel(), value: "grid" });
165
187
  return opts;
166
- }, [canFloor, canCalendar, canGrid]);
188
+ }, [canFloor, canCalendar, canResourceWall, canGrid]);
167
189
  const bodyViewToggle = allowBodyViewToggle ? /* @__PURE__ */ import_react.default.createElement(
168
190
  import_antd.Segmented,
169
191
  {
@@ -177,7 +199,7 @@ var RecordBoardToolBar = (props) => {
177
199
  ) : null;
178
200
  const compactFloorMapToolbar = (bodyView === "floorMap" || bodyView === "calendar") && showTableFloorToggle;
179
201
  const hideBodyViewToggleInToolbarRow = allowBodyViewToggle && Boolean(slots.tabs) && (bodyView === "floorMap" || bodyView === "calendar");
180
- const topLeft = compactFloorMapToolbar ? null : /* @__PURE__ */ import_react.default.createElement("div", { className: "record-board-toolbar-top-left" }, !hideBodyViewToggleInToolbarRow ? bodyViewToggle : null, quickFilterNode ? /* @__PURE__ */ import_react.default.createElement("div", { className: "record-board-toolbar-quick-filter-slot" }, quickFilterNode) : null, searchNode ? /* @__PURE__ */ import_react.default.createElement("div", { className: "record-board-toolbar-find-wrap" }, searchNode) : null, slots.topLeft ? /* @__PURE__ */ import_react.default.createElement("div", { className: "record-board-toolbar-extra-top-left" }, slots.topLeft) : null);
202
+ const topLeft = compactFloorMapToolbar ? null : /* @__PURE__ */ import_react.default.createElement("div", { className: "record-board-toolbar-top-left" }, !hideBodyViewToggleInToolbarRow ? bodyViewToggle : null, quickFilterNode ? /* @__PURE__ */ import_react.default.createElement("div", { className: "record-board-toolbar-quick-filter-slot" }, quickFilterNode) : null, searchNode && bodyView !== "resourceWall" ? /* @__PURE__ */ import_react.default.createElement("div", { className: "record-board-toolbar-find-wrap" }, searchNode) : null, slots.topLeft ? /* @__PURE__ */ import_react.default.createElement("div", { className: "record-board-toolbar-extra-top-left" }, slots.topLeft) : null);
181
203
  const sortConfig = slots.sort;
182
204
  const hideSort = sortConfig === false;
183
205
  const sortValue = searchParams == null ? void 0 : searchParams[SORT_PARAMS_FIELD];
@@ -245,17 +267,25 @@ var RecordBoardToolBar = (props) => {
245
267
  };
246
268
  });
247
269
  }
270
+ let outQuick = quickFilter;
271
+ let outOther = otherFilter;
272
+ if (bodyView === "resourceWall") {
273
+ outQuick = [];
274
+ outOther = quickFilterList.length > 0 ? quickFilterList.map((item) => ({ ...item })) : [];
275
+ }
248
276
  return {
249
277
  ...base,
250
- quickFilter,
251
- otherFilter,
278
+ quickFilter: outQuick,
279
+ otherFilter: outOther,
252
280
  values: base.values ?? {}
253
281
  };
254
282
  }, [
255
283
  filterValue,
256
284
  hasFilterItems,
257
285
  defaultFilterFromConfig,
258
- derivedFilterFromColumns
286
+ derivedFilterFromColumns,
287
+ bodyView,
288
+ quickFilterList
259
289
  ]);
260
290
  const filterValueForPisellFilter = (0, import_react.useMemo)(
261
291
  () => ({
@@ -294,14 +324,15 @@ var RecordBoardToolBar = (props) => {
294
324
  buttonClassName: "record-board-toolbar-filter-btn"
295
325
  }
296
326
  );
297
- const showColumnSetting = slots.columnSetting !== false && Array.isArray(gridColumns) && gridColumns.length > 0;
298
- const topRight = compactFloorMapToolbar ? null : /* @__PURE__ */ import_react.default.createElement(import_antd.Space, { className: "record-board-toolbar-right-actions" }, showColumnSetting ? /* @__PURE__ */ import_react.default.createElement(import_ColumnSetting.default, null) : null, sortNode, filterNode, /* @__PURE__ */ import_react.default.createElement(import_ToolBarReset.default, { size: barSize }), slots.topRight);
327
+ const showColumnSetting = slots.columnSetting !== false && bodyView !== "resourceWall" && Array.isArray(gridColumns) && gridColumns.length > 0;
328
+ const topRight = compactFloorMapToolbar ? null : /* @__PURE__ */ import_react.default.createElement(import_antd.Space, { className: "record-board-toolbar-right-actions" }, showColumnSetting ? /* @__PURE__ */ import_react.default.createElement(import_ColumnSetting.default, null) : null, sortNode, filterNode, bodyView !== "resourceWall" ? /* @__PURE__ */ import_react.default.createElement(import_ToolBarReset.default, { size: barSize }) : null, slots.topRight);
299
329
  return /* @__PURE__ */ import_react.default.createElement(
300
330
  import_ToolBar.default,
301
331
  {
302
332
  className: (0, import_classnames.default)(
303
333
  bodyView === "floorMap" && "pisell-record-board-toolbar--floor-map",
304
334
  bodyView === "calendar" && "pisell-record-board-toolbar--calendar",
335
+ bodyView === "resourceWall" && "pisell-record-board-toolbar--resource-wall",
305
336
  bodyView === "grid" && "pisell-record-board-toolbar--grid",
306
337
  toolbarDensity === "compact" && "pisell-record-board-toolbar--compact",
307
338
  slots.className
@@ -20,13 +20,15 @@
20
20
  padding-bottom: 0 !important;
21
21
  }
22
22
 
23
- /* 表格态工具栏与内容对齐:左右留白 16;平面图态不加此内边距 */
24
- .pisell-grid-pro-toolbar.pisell-record-board-toolbar--grid {
23
+ /* 表格 / 资源墙:与主内容区左右对齐 16px;平面图、日历不加(日程带全宽) */
24
+ .pisell-grid-pro-toolbar.pisell-record-board-toolbar--grid,
25
+ .pisell-grid-pro-toolbar.pisell-record-board-toolbar--resource-wall {
25
26
  padding-left: 16px;
26
27
  padding-right: 16px;
27
28
  }
28
29
 
29
- #body .pisell-grid-pro-toolbar.pisell-record-board-toolbar--grid {
30
+ #body .pisell-grid-pro-toolbar.pisell-record-board-toolbar--grid,
31
+ #body .pisell-grid-pro-toolbar.pisell-record-board-toolbar--resource-wall {
30
32
  padding-left: 16px;
31
33
  padding-right: 16px;
32
34
  }
@@ -8,10 +8,11 @@ import ToolBarReset from './ToolBarReset';
8
8
  import ToolBarQuickFilter from './ToolBarQuickFilter';
9
9
  import RecordBoardFloorMap from './FloorMap';
10
10
  import RecordBoardCalendar from './Calendar/RecordBoardCalendar';
11
+ import RecordBoardResourceWall from './ResourceWall/RecordBoardResourceWall';
11
12
  /**
12
13
  * Shell Frame:基于 PisellShellFrame 的 RecordBoard 壳层。
13
- * 解析子节点:**GridLayout / CardLayout 等** 与可选 **\<PisellRecordBoard.FloorMap /\>**、**\<PisellRecordBoard.Calendar /\>**;
14
- * 子视图组合与 Segmented 切换由子节点与根级 props 决定;根级 `floorMap` / `calendar` 与子槽合并时**子组件优先**。
14
+ * 解析子节点:**GridLayout / CardLayout 等** 与可选 **FloorMap / Calendar / ResourceWall** 槽;
15
+ * 子视图组合与 Segmented 切换由子节点与根级 props 决定;根级 `floorMap` / `calendar` / `resourceWall` 与子槽合并时**子组件优先**。
15
16
  */
16
17
  declare const RecordBoardShellFrame: React.FC<{
17
18
  children?: React.ReactNode;
@@ -19,5 +20,5 @@ declare const RecordBoardShellFrame: React.FC<{
19
20
  style?: React.CSSProperties;
20
21
  }>;
21
22
  export default RecordBoardShellFrame;
22
- export { RecordBoardToolBar, RecordBoardBatchActionBar, RecordBoardPagination, RecordBoardSearch, ToolBarReset, ToolBarQuickFilter, RecordBoardFloorMap, RecordBoardCalendar };
23
+ export { RecordBoardToolBar, RecordBoardBatchActionBar, RecordBoardPagination, RecordBoardSearch, ToolBarReset, ToolBarQuickFilter, RecordBoardFloorMap, RecordBoardCalendar, RecordBoardResourceWall, };
23
24
  export { useRecordBoardShellBodyMeta } from './ShellBodyMetaContext';
@@ -33,6 +33,7 @@ __export(shellFrame_exports, {
33
33
  RecordBoardCalendar: () => import_RecordBoardCalendar.default,
34
34
  RecordBoardFloorMap: () => import_FloorMap.default,
35
35
  RecordBoardPagination: () => import_Pagination.default,
36
+ RecordBoardResourceWall: () => import_RecordBoardResourceWall.default,
36
37
  RecordBoardSearch: () => import_Search.default,
37
38
  RecordBoardToolBar: () => import_ToolBar.default,
38
39
  ToolBarQuickFilter: () => import_ToolBarQuickFilter.default,
@@ -57,6 +58,8 @@ var import_ToolBarQuickFilter = __toESM(require("./ToolBarQuickFilter"));
57
58
  var import_FloorMap = __toESM(require("./FloorMap"));
58
59
  var import_RecordBoardCalendar = __toESM(require("./Calendar/RecordBoardCalendar"));
59
60
  var import_PisellRecordBoardCalendarView = require("./Calendar/PisellRecordBoardCalendarView");
61
+ var import_RecordBoardResourceWall = __toESM(require("./ResourceWall/RecordBoardResourceWall"));
62
+ var import_PisellRecordBoardResourceWallView = require("./ResourceWall/PisellRecordBoardResourceWallView");
60
63
  var import_ShellBodyMetaContext = require("./ShellBodyMetaContext");
61
64
  var import_ShellBodyMetaContext2 = require("./ShellBodyMetaContext");
62
65
  var FILL_HEIGHT_SCROLL_STYLE = {
@@ -111,9 +114,11 @@ var RecordBoardShellFrame = ({ children, className, style }) => {
111
114
  gridChildren,
112
115
  floorMapPropsFromChild,
113
116
  calendarPropsFromChild,
117
+ resourceWallPropsFromChild,
114
118
  hasGridContent,
115
119
  hasFloorMapChild,
116
- hasCalendarChild
120
+ hasCalendarChild,
121
+ hasResourceWallChild
117
122
  } = (0, import_react.useMemo)(() => (0, import_partitionShellFrameChildren.partitionShellFrameChildren)(children), [children]);
118
123
  const effectiveFloorMapProps = (0, import_react.useMemo)(() => {
119
124
  if (hasFloorMapChild) {
@@ -133,6 +138,15 @@ var RecordBoardShellFrame = ({ children, className, style }) => {
133
138
  }
134
139
  return ctx.calendarProps;
135
140
  }, [hasCalendarChild, calendarPropsFromChild, ctx.calendarProps]);
141
+ const effectiveResourceWallProps = (0, import_react.useMemo)(() => {
142
+ if (hasResourceWallChild) {
143
+ return {
144
+ ...ctx.resourceWallProps ?? {},
145
+ ...resourceWallPropsFromChild ?? {}
146
+ };
147
+ }
148
+ return ctx.resourceWallProps;
149
+ }, [hasResourceWallChild, resourceWallPropsFromChild, ctx.resourceWallProps]);
136
150
  const mergedFloorMapDataSources = (0, import_react.useMemo)(() => {
137
151
  const root = ctx.dataSources;
138
152
  const fromFloor = effectiveFloorMapProps == null ? void 0 : effectiveFloorMapProps.dataSources;
@@ -141,20 +155,25 @@ var RecordBoardShellFrame = ({ children, className, style }) => {
141
155
  }, [ctx.dataSources, effectiveFloorMapProps == null ? void 0 : effectiveFloorMapProps.dataSources]);
142
156
  const hasFloorMapSlot = hasFloorMapChild || ctx.floorMapProps != null;
143
157
  const hasCalendarSlot = hasCalendarChild || ctx.calendarProps != null;
158
+ const hasResourceWallSlot = hasResourceWallChild || ctx.resourceWallProps != null;
144
159
  const shellBodyMeta = (0, import_react.useMemo)(
145
160
  () => ({
146
161
  effectiveFloorMapProps,
147
162
  effectiveCalendarProps,
163
+ effectiveResourceWallProps,
148
164
  hasGridContent,
149
165
  hasFloorMapSlot,
150
- hasCalendarSlot
166
+ hasCalendarSlot,
167
+ hasResourceWallSlot
151
168
  }),
152
169
  [
153
170
  effectiveFloorMapProps,
154
171
  effectiveCalendarProps,
172
+ effectiveResourceWallProps,
155
173
  hasGridContent,
156
174
  hasFloorMapSlot,
157
- hasCalendarSlot
175
+ hasCalendarSlot,
176
+ hasResourceWallSlot
158
177
  ]
159
178
  );
160
179
  const showGrid = (0, import_react.useMemo)(
@@ -169,23 +188,38 @@ var RecordBoardShellFrame = ({ children, className, style }) => {
169
188
  () => hasCalendarSlot && ctx.bodyView === "calendar",
170
189
  [hasCalendarSlot, ctx.bodyView]
171
190
  );
191
+ const showResourceWall = (0, import_react.useMemo)(
192
+ () => hasResourceWallSlot && ctx.bodyView === "resourceWall",
193
+ [hasResourceWallSlot, ctx.bodyView]
194
+ );
172
195
  (0, import_react.useLayoutEffect)(() => {
173
196
  if (!ctx.setBodyView) return;
174
- if (hasFloorMapSlot && !hasGridContent && !hasCalendarSlot) {
197
+ const hasG = hasGridContent;
198
+ const hasF = hasFloorMapSlot;
199
+ const hasC = hasCalendarSlot;
200
+ const hasR = hasResourceWallSlot;
201
+ const n = [hasG, hasF, hasC, hasR].filter(Boolean).length;
202
+ if (n !== 1) return;
203
+ if (hasF && !hasG && !hasC && !hasR) {
175
204
  ctx.setBodyView("floorMap");
176
205
  return;
177
206
  }
178
- if (hasCalendarSlot && !hasGridContent && !hasFloorMapSlot) {
207
+ if (hasC && !hasG && !hasF && !hasR) {
179
208
  ctx.setBodyView("calendar");
180
209
  return;
181
210
  }
182
- if (hasGridContent && !hasFloorMapSlot && !hasCalendarSlot) {
211
+ if (hasR && !hasG && !hasF && !hasC) {
212
+ ctx.setBodyView("resourceWall");
213
+ return;
214
+ }
215
+ if (hasG && !hasF && !hasC && !hasR) {
183
216
  ctx.setBodyView("grid");
184
217
  }
185
218
  }, [
186
219
  hasFloorMapSlot,
187
220
  hasGridContent,
188
221
  hasCalendarSlot,
222
+ hasResourceWallSlot,
189
223
  ctx.setBodyView
190
224
  ]);
191
225
  const floorMapLayoutProviderValue = (0, import_react.useMemo)(
@@ -237,6 +271,21 @@ var RecordBoardShellFrame = ({ children, className, style }) => {
237
271
  },
238
272
  /* @__PURE__ */ import_react.default.createElement(import_PisellRecordBoardCalendarView.PisellRecordBoardCalendarView, { ...effectiveCalendarProps })
239
273
  ) : null;
274
+ const resourceWallNode = showResourceWall && effectiveResourceWallProps ? /* @__PURE__ */ import_react.default.createElement(
275
+ "div",
276
+ {
277
+ className: "pisell-record-board-resource-wall-viewport",
278
+ style: {
279
+ flex: 1,
280
+ minHeight: 0,
281
+ display: "flex",
282
+ flexDirection: "column",
283
+ overflow: "hidden",
284
+ position: "relative"
285
+ }
286
+ },
287
+ /* @__PURE__ */ import_react.default.createElement(import_PisellRecordBoardResourceWallView.PisellRecordBoardResourceWallView, { ...effectiveResourceWallProps })
288
+ ) : null;
240
289
  const bodyContent = fillHeight ? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, showGrid ? /* @__PURE__ */ import_react.default.createElement(
241
290
  ScrollAreaMeasurer,
242
291
  {
@@ -245,7 +294,7 @@ var RecordBoardShellFrame = ({ children, className, style }) => {
245
294
  autoCalc: (_c = (_b = (_a = ctx == null ? void 0 : ctx.childComponentProps) == null ? void 0 : _a.grid) == null ? void 0 : _b.scroll) == null ? void 0 : _c.autoCalc
246
295
  },
247
296
  gridChildren
248
- ) : showCalendar ? calendarNode : floorMapNode, showGrid ? /* @__PURE__ */ import_react.default.createElement(import_Pagination.default, null) : null) : /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, showGrid ? gridChildren : showCalendar ? calendarNode : floorMapNode, showGrid ? /* @__PURE__ */ import_react.default.createElement(import_Pagination.default, null) : null);
297
+ ) : showResourceWall ? resourceWallNode : showCalendar ? calendarNode : floorMapNode, showGrid ? /* @__PURE__ */ import_react.default.createElement(import_Pagination.default, null) : null) : /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, showGrid ? gridChildren : showResourceWall ? resourceWallNode : showCalendar ? calendarNode : floorMapNode, showGrid ? /* @__PURE__ */ import_react.default.createElement(import_Pagination.default, null) : null);
249
298
  const shellStyle = fillHeight && style ? { ...style, ...FILL_HEIGHT_WRAPPER_STYLE } : fillHeight ? FILL_HEIGHT_WRAPPER_STYLE : style;
250
299
  const wrapper = /* @__PURE__ */ import_react.default.createElement(import_ShellBodyMetaContext.RecordBoardShellBodyMetaContext.Provider, { value: shellBodyMeta }, /* @__PURE__ */ import_react.default.createElement(
251
300
  import_pisellShellFrame.PisellShellFrame,
@@ -276,6 +325,7 @@ var shellFrame_default = RecordBoardShellFrame;
276
325
  RecordBoardCalendar,
277
326
  RecordBoardFloorMap,
278
327
  RecordBoardPagination,
328
+ RecordBoardResourceWall,
279
329
  RecordBoardSearch,
280
330
  RecordBoardToolBar,
281
331
  ToolBarQuickFilter,
@@ -123,8 +123,8 @@ export interface RecordBoardListResult {
123
123
  count?: number;
124
124
  total?: number;
125
125
  }
126
- /** ShellFrame 内容区:表格、平面图或日历(与 GridLayout 同级切换) */
127
- export declare type RecordBoardBodyView = 'grid' | 'floorMap' | 'calendar';
126
+ /** ShellFrame 内容区:表格、平面图、日历或大屏资源墙(与 GridLayout 同级切换) */
127
+ export declare type RecordBoardBodyView = 'grid' | 'floorMap' | 'calendar' | 'resourceWall';
128
128
  /** 日历 Y 轴资源行(与 BookingCalendarDemo 中 court 对齐) */
129
129
  export interface RecordBoardCalendarResource {
130
130
  id: string;
@@ -225,6 +225,19 @@ export interface RecordBoardCalendarBookingRenderArgs {
225
225
  onDragStart: (item: RecordBoardCalendarBookingLike) => void;
226
226
  onJumpNext: () => void;
227
227
  }
228
+ /**
229
+ * 对接 `POST /shop/schedule/blocked-time` 的请求体(与后台字段一致)。
230
+ */
231
+ export interface RecordBoardCalendarBlockedTimePayload {
232
+ name: string;
233
+ note?: string;
234
+ resource_ids: number[];
235
+ blocked_sales_channels: string[];
236
+ /** `YYYY-MM-DD HH:mm` */
237
+ start_time: string;
238
+ /** `YYYY-MM-DD HH:mm` */
239
+ end_time: string;
240
+ }
228
241
  /** 日历视图槽位 props:由 Shell 合并根级与子槽后传入 PisellRecordBoardCalendarView */
229
242
  export interface RecordBoardCalendarProps {
230
243
  persistGuard?: CalendarPersistContextValue;
@@ -265,6 +278,13 @@ export interface RecordBoardCalendarProps {
265
278
  * Pisell Reservation 等业务可在私有包组装 props 时默认传 10。
266
279
  */
267
280
  slotStepMinutes?: number;
281
+ /**
282
+ * 保存「屏蔽时间」时提交(如 `/shop/schedule/blocked-time`)。
283
+ * 返回 `false` 表示未成功(弹窗保持);`true` 或 `undefined` 视为成功并关闭弹窗、清空选中。
284
+ */
285
+ onBlockedTimeSave?: (payload: RecordBoardCalendarBlockedTimePayload) => Promise<boolean | void>;
286
+ /** 与接口 `blocked_sales_channels` 一致;默认 `['online_store']` */
287
+ blockedTimeSalesChannels?: string[];
268
288
  /**
269
289
  * 完全自定义日视图时间列表头(不含左上角日期角格)。未传时按槽渲染默认表头;
270
290
  * 若同时传 {@link timelineHeaderGroups},则先渲染分组行再渲染默认/本插槽由实现约定:当前实现为先分组行再默认槽行。
@@ -284,6 +304,55 @@ export interface RecordBoardCalendarProps {
284
304
  * 平面图槽位 props:与 PisellFloorMapLayout 对齐;items/renderItem 可省略(由 RecordBoard 默认 [] / () => null)。
285
305
  */
286
306
  export declare type RecordBoardFloorMapProps = Partial<PisellFloorMapLayoutProps>;
307
+ /** 大屏资源墙单卡数据(与画布资源 id 对齐,见 {@link resourceId}) */
308
+ export interface RecordBoardResourceWallCardModel {
309
+ /** 与日历/画布 `form_record` id 一致 */
310
+ resourceId: string;
311
+ resource: string;
312
+ area?: string;
313
+ /**
314
+ * 资源墙展示态:由业务兼容层(如预约页)基于 booking.status + now + start/end 计算。
315
+ * materials 侧仅按该字段渲染,不再做 light/时间窗口推断。
316
+ */
317
+ status?: 'available' | 'inUse' | 'boardingSoon' | 'late' | 'endingSoon' | 'expired';
318
+ currentTime?: string;
319
+ currentBooking?: string;
320
+ /** boardingSoon:距离开始分钟;inUse/endingSoon/expired:距离结束分钟 */
321
+ startsInMin?: number;
322
+ /** late:已超过开始时间但仍未占用(分钟,递增) */
323
+ lateMin?: number;
324
+ remainingMin?: number;
325
+ nextList?: Array<{
326
+ time: string;
327
+ booking: string;
328
+ startInMin: number;
329
+ }>;
330
+ /**
331
+ * @deprecated light 相关状态已弃用(2026-04):资源墙仅保留 5 态,不再渲染 light 文案。
332
+ * 旧字段暂保留以兼容历史数据源,但不会再被 materials 使用。
333
+ */
334
+ lightState?: 'off' | 'off_soon_on' | 'on_soon_off';
335
+ /** @deprecated */
336
+ lightOnInMin?: number;
337
+ /** @deprecated */
338
+ lightOffInMin?: number;
339
+ }
340
+ /**
341
+ * 大屏资源墙视图 props;与 Shell 内 `PisellRecordBoard.ResourceWall` 合并(子优先)。
342
+ * 可见资源由 `searchParams.filter.values[filterFieldKey]`(默认 `resource_wall_resource_ids`)与 `cards` 交集过滤。
343
+ */
344
+ export interface RecordBoardResourceWallProps {
345
+ className?: string;
346
+ style?: CSSProperties;
347
+ /** 全量卡片;展示时按快筛字段过滤 */
348
+ cards?: RecordBoardResourceWallCardModel[];
349
+ loading?: boolean;
350
+ /**
351
+ * 与 ToolBar 快筛里多选字段的 `name`/`key` 一致,用于从 context.searchParams.filter.values 读取 string[]。
352
+ * @default 'resource_wall_resource_ids'
353
+ */
354
+ filterFieldKey?: string;
355
+ }
287
356
  /**
288
357
  * RecordBoard 容器 Context 值
289
358
  * 与具体 layout 类型无关,所有 layout 共用同一套数据与操作
@@ -369,6 +438,8 @@ export interface RecordBoardContextValue {
369
438
  floorMapFooter?: ReactNode;
370
439
  /** 根级传入的日历视图 props(可选);与 ShellFrame 内 Calendar 子组件合并,子优先 */
371
440
  calendarProps?: RecordBoardCalendarProps;
441
+ /** 根级传入的大屏资源墙 props(可选);与 ShellFrame 内 ResourceWall 子组件合并,子优先 */
442
+ resourceWallProps?: RecordBoardResourceWallProps;
372
443
  }
373
444
  /**
374
445
  * 各 layout 下子组件的可选透传配置(类似 ChildComponentProps)
@@ -526,6 +597,11 @@ export interface RecordBoardProps {
526
597
  * 推荐在 ShellFrame 内使用 PisellRecordBoard.Calendar 声明;若同时传根级与本项,Shell 内子组件 props 优先合并。
527
598
  */
528
599
  calendar?: RecordBoardCalendarProps;
600
+ /**
601
+ * 大屏资源墙(可选):与 Shell 内 `PisellRecordBoard.ResourceWall` 对齐。
602
+ * 推荐在 ShellFrame 内声明子组件;若同时传根级与本项,Shell 内子组件 props 优先合并。
603
+ */
604
+ resourceWall?: RecordBoardResourceWallProps;
529
605
  /**
530
606
  * 平面图(可选,兼容低代码 / SalesGrid 等):与 PisellFloorMapLayout 对齐。
531
607
  * 推荐在 ShellFrame 内使用 PisellRecordBoard.FloorMap 声明;若同时传根级与本项,Shell 内子组件 props 优先合并。
@@ -1,10 +1,11 @@
1
1
  import React from 'react';
2
- import type { RecordBoardFloorMapProps } from '../types';
3
- import type { RecordBoardCalendarProps } from '../types';
2
+ import type { RecordBoardFloorMapProps, RecordBoardCalendarProps, RecordBoardResourceWallProps } from '../types';
4
3
  /** 与 shellFrame/FloorMap 上定义的 displayName 一致,用于从 ShellFrame children 中识别平面图槽 */
5
4
  export declare const RECORD_BOARD_FLOOR_MAP_DISPLAY_NAME = "RecordBoard.FloorMap";
6
5
  /** 与 shellFrame/Calendar 上定义的 displayName 一致 */
7
6
  export declare const RECORD_BOARD_CALENDAR_DISPLAY_NAME = "RecordBoard.Calendar";
7
+ /** 与 shellFrame/ResourceWall 上定义的 displayName 一致 */
8
+ export declare const RECORD_BOARD_RESOURCE_WALL_DISPLAY_NAME = "RecordBoard.ResourceWall";
8
9
  /**
9
10
  * 将 ShellFrame 的 children 拆成:供表格区渲染的子树 + 可选的 FloorMap / Calendar 透传 props。
10
11
  * 支持 Fragment 嵌套;多个同槽时以最后一个为准。
@@ -16,5 +17,7 @@ export declare function partitionShellFrameChildren(children: React.ReactNode):
16
17
  floorMapPropsFromChild?: RecordBoardFloorMapProps;
17
18
  hasCalendarChild: boolean;
18
19
  calendarPropsFromChild?: RecordBoardCalendarProps;
20
+ hasResourceWallChild: boolean;
21
+ resourceWallPropsFromChild?: RecordBoardResourceWallProps;
19
22
  hasGridContent: boolean;
20
23
  };