@pisell/materials 6.11.17 → 6.11.18

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 (457) 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 +7 -7
  6. package/build/lowcode/preview.js +9 -9
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +32 -32
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +25 -25
  11. package/es/components/PisellLayouts/index.d.ts +10 -5
  12. package/es/components/PisellLayouts/index.js +8 -4
  13. package/es/components/dataSourceComponents/dataSourceSubForm/index.d.ts +13 -0
  14. package/es/components/dataSourceComponents/dataSourceSubForm/index.js +274 -0
  15. package/es/components/dataSourceComponents/dataSourceSubForm/index.less +19 -0
  16. package/es/components/dataSourceComponents/dataSourceSubForm/schema-full-example.json +544 -0
  17. package/es/components/dataSourceComponents/dataSourceSubForm/schema-simple-example.json +174 -0
  18. package/es/components/dataSourceComponents/dataSourceSubForm/types.d.ts +117 -0
  19. package/es/components/dataSourceComponents/dataSourceSubForm/types.js +1 -0
  20. package/es/components/dataSourceComponents/fields/RecordListWrapper/ReadPretty.d.ts +9 -0
  21. package/es/components/dataSourceComponents/fields/RecordListWrapper/ReadPretty.js +61 -0
  22. package/es/components/dataSourceComponents/fields/RecordListWrapper/WithMode.d.ts +4 -0
  23. package/es/components/dataSourceComponents/fields/RecordListWrapper/WithMode.js +176 -0
  24. package/es/components/dataSourceComponents/fields/RecordListWrapper/index.d.ts +12 -0
  25. package/es/components/dataSourceComponents/fields/RecordListWrapper/index.js +11 -0
  26. package/es/components/dataSourceComponents/fields/RecordListWrapper/type.d.ts +87 -0
  27. package/es/components/dataSourceComponents/fields/RecordListWrapper/type.js +1 -0
  28. package/es/components/dataSourceComponents/fields/Tabs/ReadPretty.d.ts +9 -0
  29. package/es/components/dataSourceComponents/fields/Tabs/ReadPretty.js +16 -0
  30. package/es/components/dataSourceComponents/fields/Tabs/Tabs.d.ts +23 -0
  31. package/es/components/dataSourceComponents/fields/Tabs/Tabs.js +93 -0
  32. package/es/components/dataSourceComponents/fields/Tabs/Tabs.less +64 -0
  33. package/es/components/dataSourceComponents/fields/Tabs/WithMode.d.ts +6 -0
  34. package/es/components/dataSourceComponents/fields/Tabs/WithMode.js +9 -0
  35. package/es/components/dataSourceComponents/fields/Tabs/index.d.ts +12 -0
  36. package/es/components/dataSourceComponents/fields/Tabs/index.js +18 -0
  37. package/es/components/dataSourceComponents/fields/Tabs/type.d.ts +38 -0
  38. package/es/components/dataSourceComponents/fields/Tabs/type.js +1 -0
  39. package/es/components/dataSourceComponents/fields/index.d.ts +39 -1
  40. package/es/components/dataSourceComponents/fields/index.js +5 -1
  41. package/es/components/dataSourceComponents/fields/utils.js +3 -0
  42. package/es/components/pisellFilter/type.d.ts +4 -2
  43. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.d.ts +12 -0
  44. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.js +611 -0
  45. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.less +92 -0
  46. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.stories.d.ts +55 -0
  47. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.stories.js +1667 -0
  48. package/es/components/pisellFloorMapLayout/components/CanvasTabs.d.ts +27 -0
  49. package/es/components/pisellFloorMapLayout/components/CanvasTabs.js +203 -0
  50. package/es/components/pisellFloorMapLayout/components/CanvasTabs.less +189 -0
  51. package/es/components/pisellFloorMapLayout/components/EditableItemLayer.d.ts +37 -0
  52. package/es/components/pisellFloorMapLayout/components/EditableItemLayer.js +341 -0
  53. package/es/components/pisellFloorMapLayout/components/EditableItemLayer.less +89 -0
  54. package/es/components/pisellFloorMapLayout/components/FigmaTableCard.d.ts +43 -0
  55. package/es/components/pisellFloorMapLayout/components/FigmaTableCard.js +432 -0
  56. package/es/components/pisellFloorMapLayout/components/FloorMapDataForm.d.ts +21 -0
  57. package/es/components/pisellFloorMapLayout/components/FloorMapDataForm.js +131 -0
  58. package/es/components/pisellFloorMapLayout/components/FloorMapDataForm.less +7 -0
  59. package/es/components/pisellFloorMapLayout/components/FloorMapEditPanel.d.ts +14 -0
  60. package/es/components/pisellFloorMapLayout/components/FloorMapEditPanel.js +543 -0
  61. package/es/components/pisellFloorMapLayout/components/FloorMapEditPanel.less +162 -0
  62. package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.d.ts +36 -0
  63. package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.js +135 -0
  64. package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.less +149 -0
  65. package/es/components/pisellFloorMapLayout/components/FloorMapImageElement.d.ts +9 -0
  66. package/es/components/pisellFloorMapLayout/components/FloorMapImageElement.js +69 -0
  67. package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.d.ts +35 -0
  68. package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.js +366 -0
  69. package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.less +239 -0
  70. package/es/components/pisellFloorMapLayout/components/ItemLayer.d.ts +48 -0
  71. package/es/components/pisellFloorMapLayout/components/ItemLayer.js +195 -0
  72. package/es/components/pisellFloorMapLayout/components/ItemLayer.less +19 -0
  73. package/es/components/pisellFloorMapLayout/components/MapLayer.d.ts +27 -0
  74. package/es/components/pisellFloorMapLayout/components/MapLayer.js +85 -0
  75. package/es/components/pisellFloorMapLayout/components/MapLayer.less +7 -0
  76. package/es/components/pisellFloorMapLayout/components/ViewControls.d.ts +33 -0
  77. package/es/components/pisellFloorMapLayout/components/ViewControls.js +88 -0
  78. package/es/components/pisellFloorMapLayout/components/ViewControls.less +101 -0
  79. package/es/components/pisellFloorMapLayout/components/ViewControlsWithZoom.d.ts +16 -0
  80. package/es/components/pisellFloorMapLayout/components/ViewControlsWithZoom.js +29 -0
  81. package/es/components/pisellFloorMapLayout/components/index.d.ts +21 -0
  82. package/es/components/pisellFloorMapLayout/components/index.js +13 -0
  83. package/es/components/pisellFloorMapLayout/context/FloorMapLayoutContext.d.ts +16 -0
  84. package/es/components/pisellFloorMapLayout/context/FloorMapLayoutContext.js +21 -0
  85. package/es/components/pisellFloorMapLayout/context/mergeFloorMapLayoutContext.d.ts +5 -0
  86. package/es/components/pisellFloorMapLayout/context/mergeFloorMapLayoutContext.js +28 -0
  87. package/es/components/pisellFloorMapLayout/hooks/useFloorMapEditState.d.ts +63 -0
  88. package/es/components/pisellFloorMapLayout/hooks/useFloorMapEditState.js +561 -0
  89. package/es/components/pisellFloorMapLayout/hooks/useFloorMapPaletteTouchDrag.d.ts +21 -0
  90. package/es/components/pisellFloorMapLayout/hooks/useFloorMapPaletteTouchDrag.js +122 -0
  91. package/es/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.d.ts +67 -0
  92. package/es/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.js +399 -0
  93. package/es/components/pisellFloorMapLayout/index.d.ts +15 -0
  94. package/es/components/pisellFloorMapLayout/index.js +12 -0
  95. package/es/components/pisellFloorMapLayout/locales.d.ts +192 -0
  96. package/es/components/pisellFloorMapLayout/locales.js +191 -0
  97. package/es/components/pisellFloorMapLayout/types.d.ts +586 -0
  98. package/es/components/pisellFloorMapLayout/types.js +152 -0
  99. package/es/components/pisellFloorMapLayout/utils/floorMapCanvasDisplay.d.ts +20 -0
  100. package/es/components/pisellFloorMapLayout/utils/floorMapCanvasDisplay.js +129 -0
  101. package/es/components/pisellFloorMapLayout/utils/floorMapConfigMerge.d.ts +8 -0
  102. package/es/components/pisellFloorMapLayout/utils/floorMapConfigMerge.js +87 -0
  103. package/es/components/pisellFloorMapLayout/utils/floorMapDataRecordLabel.d.ts +9 -0
  104. package/es/components/pisellFloorMapLayout/utils/floorMapDataRecordLabel.js +24 -0
  105. package/es/components/pisellFloorMapLayout/utils/floorMapDropUtils.d.ts +27 -0
  106. package/es/components/pisellFloorMapLayout/utils/floorMapDropUtils.js +56 -0
  107. package/es/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.d.ts +22 -0
  108. package/es/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.js +155 -0
  109. package/es/components/pisellFloorMapLayout/utils/floorMapFallbackRender.d.ts +11 -0
  110. package/es/components/pisellFloorMapLayout/utils/floorMapFallbackRender.js +89 -0
  111. package/es/components/pisellFloorMapLayout/utils/floorMapStageDefaults.d.ts +8 -0
  112. package/es/components/pisellFloorMapLayout/utils/floorMapStageDefaults.js +8 -0
  113. package/es/components/pisellFloorMapLayout/utils/floorMapViewConfigDiff.d.ts +8 -0
  114. package/es/components/pisellFloorMapLayout/utils/floorMapViewConfigDiff.js +108 -0
  115. package/es/components/pisellFloorMapLayout/utils/layoutMeasurements.d.ts +30 -0
  116. package/es/components/pisellFloorMapLayout/utils/layoutMeasurements.js +125 -0
  117. package/es/components/pisellFloorMapLayout/utils/mergeCanvasesForTabs.d.ts +7 -0
  118. package/es/components/pisellFloorMapLayout/utils/mergeCanvasesForTabs.js +29 -0
  119. package/es/components/pisellFloorMapLayout/utils/snap.d.ts +10 -0
  120. package/es/components/pisellFloorMapLayout/utils/snap.js +21 -0
  121. package/es/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.d.ts +6 -0
  122. package/es/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.js +175 -0
  123. package/es/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.less +129 -0
  124. package/es/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.stories.d.ts +10 -0
  125. package/es/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.stories.js +237 -0
  126. package/es/components/pisellHierarchicalSummaryList/components/Row.d.ts +35 -0
  127. package/es/components/pisellHierarchicalSummaryList/components/Row.js +313 -0
  128. package/es/components/pisellHierarchicalSummaryList/components/index.d.ts +1 -0
  129. package/es/components/pisellHierarchicalSummaryList/components/index.js +1 -0
  130. package/es/components/pisellHierarchicalSummaryList/hooks/index.d.ts +2 -0
  131. package/es/components/pisellHierarchicalSummaryList/hooks/index.js +1 -0
  132. package/es/components/pisellHierarchicalSummaryList/hooks/useExpandedKeys.d.ts +15 -0
  133. package/es/components/pisellHierarchicalSummaryList/hooks/useExpandedKeys.js +34 -0
  134. package/es/components/pisellHierarchicalSummaryList/index.d.ts +5 -0
  135. package/es/components/pisellHierarchicalSummaryList/index.js +5 -0
  136. package/es/components/pisellHierarchicalSummaryList/types.d.ts +248 -0
  137. package/es/components/pisellHierarchicalSummaryList/types.js +1 -0
  138. package/es/components/pisellRecordBoard/PisellRecordBoard.d.ts +2 -1
  139. package/es/components/pisellRecordBoard/PisellRecordBoard.js +98 -18
  140. package/es/components/pisellRecordBoard/PisellRecordBoard.stories.d.ts +4 -0
  141. package/es/components/pisellRecordBoard/PisellRecordBoard.stories.js +1276 -344
  142. package/es/components/pisellRecordBoard/index.d.ts +8 -2
  143. package/es/components/pisellRecordBoard/index.js +4 -2
  144. package/es/components/pisellRecordBoard/shellFrame/ColumnSetting/index.js +1 -3
  145. package/es/components/pisellRecordBoard/shellFrame/FloorMap.d.ts +14 -0
  146. package/es/components/pisellRecordBoard/shellFrame/FloorMap.js +15 -0
  147. package/es/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.d.ts +16 -0
  148. package/es/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.js +11 -0
  149. package/es/components/pisellRecordBoard/shellFrame/ToolBar/ToolBarFilter.less +61 -0
  150. package/es/components/pisellRecordBoard/shellFrame/ToolBar/index.d.ts +1 -0
  151. package/es/components/pisellRecordBoard/shellFrame/ToolBar/index.js +69 -11
  152. package/es/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolbar.less +23 -0
  153. package/es/components/pisellRecordBoard/shellFrame/index.d.ts +6 -10
  154. package/es/components/pisellRecordBoard/shellFrame/index.js +111 -20
  155. package/es/components/pisellRecordBoard/shellFrame/shellFrameFloorMap.less +25 -0
  156. package/es/components/pisellRecordBoard/types.d.ts +68 -2
  157. package/es/components/pisellRecordBoard/utils/partitionShellFrameChildren.d.ts +15 -0
  158. package/es/components/pisellRecordBoard/utils/partitionShellFrameChildren.js +57 -0
  159. package/es/components/pisellReservationSchedule/PisellReservationSchedule.d.ts +10 -0
  160. package/es/components/pisellReservationSchedule/PisellReservationSchedule.js +156 -0
  161. package/es/components/pisellReservationSchedule/PisellReservationSchedule.less +88 -0
  162. package/es/components/pisellReservationSchedule/PisellReservationSchedule.stories.d.ts +12 -0
  163. package/es/components/pisellReservationSchedule/PisellReservationSchedule.stories.js +105 -0
  164. package/es/components/pisellReservationSchedule/index.d.ts +2 -0
  165. package/es/components/pisellReservationSchedule/index.js +1 -0
  166. package/es/components/pisellReservationSchedule/locales.d.ts +25 -0
  167. package/es/components/pisellReservationSchedule/locales.js +24 -0
  168. package/es/components/pisellReservationSchedule/types.d.ts +42 -0
  169. package/es/components/pisellReservationSchedule/types.js +1 -0
  170. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.d.ts +10 -0
  171. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.js +94 -0
  172. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.less +66 -0
  173. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.stories.d.ts +16 -0
  174. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.stories.js +197 -0
  175. package/es/components/pisellReservationScheduleBand/index.d.ts +2 -0
  176. package/es/components/pisellReservationScheduleBand/index.js +1 -0
  177. package/es/components/pisellReservationScheduleBand/types.d.ts +49 -0
  178. package/es/components/pisellReservationScheduleBand/types.js +1 -0
  179. package/es/components/pisellShellFrame/PisellShellFrame.less +11 -0
  180. package/es/components/pisellTimeNavigator/PisellTimeNavigator.d.ts +10 -0
  181. package/es/components/pisellTimeNavigator/PisellTimeNavigator.js +787 -0
  182. package/es/components/pisellTimeNavigator/PisellTimeNavigator.less +461 -0
  183. package/es/components/pisellTimeNavigator/PisellTimeNavigator.stories.d.ts +79 -0
  184. package/es/components/pisellTimeNavigator/PisellTimeNavigator.stories.js +290 -0
  185. package/es/components/pisellTimeNavigator/components/BackgroundLayer.d.ts +14 -0
  186. package/es/components/pisellTimeNavigator/components/BackgroundLayer.js +30 -0
  187. package/es/components/pisellTimeNavigator/components/CursorLayer.d.ts +25 -0
  188. package/es/components/pisellTimeNavigator/components/CursorLayer.js +77 -0
  189. package/es/components/pisellTimeNavigator/components/GestureLayer.d.ts +33 -0
  190. package/es/components/pisellTimeNavigator/components/GestureLayer.js +91 -0
  191. package/es/components/pisellTimeNavigator/components/NowButton.d.ts +14 -0
  192. package/es/components/pisellTimeNavigator/components/NowButton.js +38 -0
  193. package/es/components/pisellTimeNavigator/components/ScaleLayer.d.ts +22 -0
  194. package/es/components/pisellTimeNavigator/components/ScaleLayer.js +73 -0
  195. package/es/components/pisellTimeNavigator/components/index.d.ts +5 -0
  196. package/es/components/pisellTimeNavigator/components/index.js +5 -0
  197. package/es/components/pisellTimeNavigator/hooks/index.d.ts +5 -0
  198. package/es/components/pisellTimeNavigator/hooks/index.js +3 -0
  199. package/es/components/pisellTimeNavigator/hooks/useDragInertia.d.ts +14 -0
  200. package/es/components/pisellTimeNavigator/hooks/useDragInertia.js +109 -0
  201. package/es/components/pisellTimeNavigator/hooks/useRealtime.d.ts +5 -0
  202. package/es/components/pisellTimeNavigator/hooks/useRealtime.js +16 -0
  203. package/es/components/pisellTimeNavigator/hooks/useTimeAxis.d.ts +27 -0
  204. package/es/components/pisellTimeNavigator/hooks/useTimeAxis.js +76 -0
  205. package/es/components/pisellTimeNavigator/index.d.ts +5 -0
  206. package/es/components/pisellTimeNavigator/index.js +4 -0
  207. package/es/components/pisellTimeNavigator/locales.d.ts +22 -0
  208. package/es/components/pisellTimeNavigator/locales.js +21 -0
  209. package/es/components/pisellTimeNavigator/types.d.ts +160 -0
  210. package/es/components/pisellTimeNavigator/types.js +1 -0
  211. package/es/components/pisellTimeNavigator/utils/index.d.ts +30 -0
  212. package/es/components/pisellTimeNavigator/utils/index.js +116 -0
  213. package/es/components/pisellWalletPassCard/index.js +1 -1
  214. package/es/components/table/index.js +1 -1
  215. package/es/index.d.ts +49 -33
  216. package/es/index.js +47 -27
  217. package/es/locales/en-US.d.ts +2 -0
  218. package/es/locales/en-US.js +2 -0
  219. package/es/locales/zh-CN.d.ts +2 -0
  220. package/es/locales/zh-CN.js +2 -0
  221. package/es/locales/zh-TW.d.ts +2 -0
  222. package/es/locales/zh-TW.js +2 -0
  223. package/lib/components/PisellLayouts/index.d.ts +10 -5
  224. package/lib/components/PisellLayouts/index.js +15 -1
  225. package/lib/components/dataSourceComponents/dataSourceSubForm/index.d.ts +13 -0
  226. package/lib/components/dataSourceComponents/dataSourceSubForm/index.js +229 -0
  227. package/lib/components/dataSourceComponents/dataSourceSubForm/index.less +19 -0
  228. package/lib/components/dataSourceComponents/dataSourceSubForm/schema-full-example.json +544 -0
  229. package/lib/components/dataSourceComponents/dataSourceSubForm/schema-simple-example.json +174 -0
  230. package/lib/components/dataSourceComponents/dataSourceSubForm/types.d.ts +117 -0
  231. package/lib/components/dataSourceComponents/dataSourceSubForm/types.js +17 -0
  232. package/lib/components/dataSourceComponents/fields/RecordListWrapper/ReadPretty.d.ts +9 -0
  233. package/lib/components/dataSourceComponents/fields/RecordListWrapper/ReadPretty.js +64 -0
  234. package/lib/components/dataSourceComponents/fields/RecordListWrapper/WithMode.d.ts +4 -0
  235. package/lib/components/dataSourceComponents/fields/RecordListWrapper/WithMode.js +157 -0
  236. package/lib/components/dataSourceComponents/fields/RecordListWrapper/index.d.ts +12 -0
  237. package/lib/components/dataSourceComponents/fields/RecordListWrapper/index.js +40 -0
  238. package/lib/components/dataSourceComponents/fields/RecordListWrapper/type.d.ts +87 -0
  239. package/lib/components/dataSourceComponents/fields/RecordListWrapper/type.js +17 -0
  240. package/lib/components/dataSourceComponents/fields/Tabs/ReadPretty.d.ts +9 -0
  241. package/lib/components/dataSourceComponents/fields/Tabs/ReadPretty.js +45 -0
  242. package/lib/components/dataSourceComponents/fields/Tabs/Tabs.d.ts +23 -0
  243. package/lib/components/dataSourceComponents/fields/Tabs/Tabs.js +95 -0
  244. package/lib/components/dataSourceComponents/fields/Tabs/Tabs.less +64 -0
  245. package/lib/components/dataSourceComponents/fields/Tabs/WithMode.d.ts +6 -0
  246. package/lib/components/dataSourceComponents/fields/Tabs/WithMode.js +39 -0
  247. package/lib/components/dataSourceComponents/fields/Tabs/index.d.ts +12 -0
  248. package/lib/components/dataSourceComponents/fields/Tabs/index.js +40 -0
  249. package/lib/components/dataSourceComponents/fields/Tabs/type.d.ts +38 -0
  250. package/lib/components/dataSourceComponents/fields/Tabs/type.js +17 -0
  251. package/lib/components/dataSourceComponents/fields/index.d.ts +39 -1
  252. package/lib/components/dataSourceComponents/fields/index.js +5 -1
  253. package/lib/components/dataSourceComponents/fields/utils.js +3 -0
  254. package/lib/components/pisellFilter/type.d.ts +4 -2
  255. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.d.ts +12 -0
  256. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.js +709 -0
  257. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.less +92 -0
  258. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.stories.d.ts +55 -0
  259. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.stories.js +1353 -0
  260. package/lib/components/pisellFloorMapLayout/components/CanvasTabs.d.ts +27 -0
  261. package/lib/components/pisellFloorMapLayout/components/CanvasTabs.js +237 -0
  262. package/lib/components/pisellFloorMapLayout/components/CanvasTabs.less +189 -0
  263. package/lib/components/pisellFloorMapLayout/components/EditableItemLayer.d.ts +37 -0
  264. package/lib/components/pisellFloorMapLayout/components/EditableItemLayer.js +358 -0
  265. package/lib/components/pisellFloorMapLayout/components/EditableItemLayer.less +89 -0
  266. package/lib/components/pisellFloorMapLayout/components/FigmaTableCard.d.ts +43 -0
  267. package/lib/components/pisellFloorMapLayout/components/FigmaTableCard.js +482 -0
  268. package/lib/components/pisellFloorMapLayout/components/FloorMapDataForm.d.ts +21 -0
  269. package/lib/components/pisellFloorMapLayout/components/FloorMapDataForm.js +117 -0
  270. package/lib/components/pisellFloorMapLayout/components/FloorMapDataForm.less +7 -0
  271. package/lib/components/pisellFloorMapLayout/components/FloorMapEditPanel.d.ts +14 -0
  272. package/lib/components/pisellFloorMapLayout/components/FloorMapEditPanel.js +556 -0
  273. package/lib/components/pisellFloorMapLayout/components/FloorMapEditPanel.less +162 -0
  274. package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.d.ts +36 -0
  275. package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.js +195 -0
  276. package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.less +149 -0
  277. package/lib/components/pisellFloorMapLayout/components/FloorMapImageElement.d.ts +9 -0
  278. package/lib/components/pisellFloorMapLayout/components/FloorMapImageElement.js +94 -0
  279. package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.d.ts +35 -0
  280. package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.js +337 -0
  281. package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.less +239 -0
  282. package/lib/components/pisellFloorMapLayout/components/ItemLayer.d.ts +48 -0
  283. package/lib/components/pisellFloorMapLayout/components/ItemLayer.js +219 -0
  284. package/lib/components/pisellFloorMapLayout/components/ItemLayer.less +19 -0
  285. package/lib/components/pisellFloorMapLayout/components/MapLayer.d.ts +27 -0
  286. package/lib/components/pisellFloorMapLayout/components/MapLayer.js +110 -0
  287. package/lib/components/pisellFloorMapLayout/components/MapLayer.less +7 -0
  288. package/lib/components/pisellFloorMapLayout/components/ViewControls.d.ts +33 -0
  289. package/lib/components/pisellFloorMapLayout/components/ViewControls.js +121 -0
  290. package/lib/components/pisellFloorMapLayout/components/ViewControls.less +101 -0
  291. package/lib/components/pisellFloorMapLayout/components/ViewControlsWithZoom.d.ts +16 -0
  292. package/lib/components/pisellFloorMapLayout/components/ViewControlsWithZoom.js +65 -0
  293. package/lib/components/pisellFloorMapLayout/components/index.d.ts +21 -0
  294. package/lib/components/pisellFloorMapLayout/components/index.js +56 -0
  295. package/lib/components/pisellFloorMapLayout/context/FloorMapLayoutContext.d.ts +16 -0
  296. package/lib/components/pisellFloorMapLayout/context/FloorMapLayoutContext.js +54 -0
  297. package/lib/components/pisellFloorMapLayout/context/mergeFloorMapLayoutContext.d.ts +5 -0
  298. package/lib/components/pisellFloorMapLayout/context/mergeFloorMapLayoutContext.js +47 -0
  299. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapEditState.d.ts +63 -0
  300. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapEditState.js +545 -0
  301. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapPaletteTouchDrag.d.ts +21 -0
  302. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapPaletteTouchDrag.js +146 -0
  303. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.d.ts +67 -0
  304. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.js +382 -0
  305. package/lib/components/pisellFloorMapLayout/index.d.ts +15 -0
  306. package/lib/components/pisellFloorMapLayout/index.js +64 -0
  307. package/lib/components/pisellFloorMapLayout/locales.d.ts +192 -0
  308. package/lib/components/pisellFloorMapLayout/locales.js +212 -0
  309. package/lib/components/pisellFloorMapLayout/types.d.ts +586 -0
  310. package/lib/components/pisellFloorMapLayout/types.js +32 -0
  311. package/lib/components/pisellFloorMapLayout/utils/floorMapCanvasDisplay.d.ts +20 -0
  312. package/lib/components/pisellFloorMapLayout/utils/floorMapCanvasDisplay.js +126 -0
  313. package/lib/components/pisellFloorMapLayout/utils/floorMapConfigMerge.d.ts +8 -0
  314. package/lib/components/pisellFloorMapLayout/utils/floorMapConfigMerge.js +66 -0
  315. package/lib/components/pisellFloorMapLayout/utils/floorMapDataRecordLabel.d.ts +9 -0
  316. package/lib/components/pisellFloorMapLayout/utils/floorMapDataRecordLabel.js +44 -0
  317. package/lib/components/pisellFloorMapLayout/utils/floorMapDropUtils.d.ts +27 -0
  318. package/lib/components/pisellFloorMapLayout/utils/floorMapDropUtils.js +67 -0
  319. package/lib/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.d.ts +22 -0
  320. package/lib/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.js +139 -0
  321. package/lib/components/pisellFloorMapLayout/utils/floorMapFallbackRender.d.ts +11 -0
  322. package/lib/components/pisellFloorMapLayout/utils/floorMapFallbackRender.js +136 -0
  323. package/lib/components/pisellFloorMapLayout/utils/floorMapStageDefaults.d.ts +8 -0
  324. package/lib/components/pisellFloorMapLayout/utils/floorMapStageDefaults.js +33 -0
  325. package/lib/components/pisellFloorMapLayout/utils/floorMapViewConfigDiff.d.ts +8 -0
  326. package/lib/components/pisellFloorMapLayout/utils/floorMapViewConfigDiff.js +128 -0
  327. package/lib/components/pisellFloorMapLayout/utils/layoutMeasurements.d.ts +30 -0
  328. package/lib/components/pisellFloorMapLayout/utils/layoutMeasurements.js +96 -0
  329. package/lib/components/pisellFloorMapLayout/utils/mergeCanvasesForTabs.d.ts +7 -0
  330. package/lib/components/pisellFloorMapLayout/utils/mergeCanvasesForTabs.js +41 -0
  331. package/lib/components/pisellFloorMapLayout/utils/snap.d.ts +10 -0
  332. package/lib/components/pisellFloorMapLayout/utils/snap.js +43 -0
  333. package/lib/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.d.ts +6 -0
  334. package/lib/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.js +179 -0
  335. package/lib/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.less +129 -0
  336. package/lib/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.stories.d.ts +10 -0
  337. package/lib/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.stories.js +185 -0
  338. package/lib/components/pisellHierarchicalSummaryList/components/Row.d.ts +35 -0
  339. package/lib/components/pisellHierarchicalSummaryList/components/Row.js +343 -0
  340. package/lib/components/pisellHierarchicalSummaryList/components/index.d.ts +1 -0
  341. package/lib/components/pisellHierarchicalSummaryList/components/index.js +29 -0
  342. package/lib/components/pisellHierarchicalSummaryList/hooks/index.d.ts +2 -0
  343. package/lib/components/pisellHierarchicalSummaryList/hooks/index.js +29 -0
  344. package/lib/components/pisellHierarchicalSummaryList/hooks/useExpandedKeys.d.ts +15 -0
  345. package/lib/components/pisellHierarchicalSummaryList/hooks/useExpandedKeys.js +49 -0
  346. package/lib/components/pisellHierarchicalSummaryList/index.d.ts +5 -0
  347. package/lib/components/pisellHierarchicalSummaryList/index.js +31 -0
  348. package/lib/components/pisellHierarchicalSummaryList/types.d.ts +248 -0
  349. package/lib/components/pisellHierarchicalSummaryList/types.js +17 -0
  350. package/lib/components/pisellRecordBoard/PisellRecordBoard.d.ts +2 -1
  351. package/lib/components/pisellRecordBoard/PisellRecordBoard.js +86 -8
  352. package/lib/components/pisellRecordBoard/PisellRecordBoard.stories.d.ts +4 -0
  353. package/lib/components/pisellRecordBoard/PisellRecordBoard.stories.js +915 -25
  354. package/lib/components/pisellRecordBoard/index.d.ts +8 -2
  355. package/lib/components/pisellRecordBoard/index.js +6 -2
  356. package/lib/components/pisellRecordBoard/shellFrame/ColumnSetting/index.js +8 -2
  357. package/lib/components/pisellRecordBoard/shellFrame/FloorMap.d.ts +14 -0
  358. package/lib/components/pisellRecordBoard/shellFrame/FloorMap.js +27 -0
  359. package/lib/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.d.ts +16 -0
  360. package/lib/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.js +45 -0
  361. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/ToolBarFilter.less +61 -0
  362. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/index.d.ts +1 -0
  363. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/index.js +60 -8
  364. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolbar.less +23 -0
  365. package/lib/components/pisellRecordBoard/shellFrame/index.d.ts +6 -10
  366. package/lib/components/pisellRecordBoard/shellFrame/index.js +101 -9
  367. package/lib/components/pisellRecordBoard/shellFrame/shellFrameFloorMap.less +25 -0
  368. package/lib/components/pisellRecordBoard/types.d.ts +68 -2
  369. package/lib/components/pisellRecordBoard/utils/partitionShellFrameChildren.d.ts +15 -0
  370. package/lib/components/pisellRecordBoard/utils/partitionShellFrameChildren.js +88 -0
  371. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.d.ts +10 -0
  372. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.js +200 -0
  373. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.less +88 -0
  374. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.stories.d.ts +12 -0
  375. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.stories.js +116 -0
  376. package/lib/components/pisellReservationSchedule/index.d.ts +2 -0
  377. package/lib/components/pisellReservationSchedule/index.js +29 -0
  378. package/lib/components/pisellReservationSchedule/locales.d.ts +25 -0
  379. package/lib/components/pisellReservationSchedule/locales.js +47 -0
  380. package/lib/components/pisellReservationSchedule/types.d.ts +42 -0
  381. package/lib/components/pisellReservationSchedule/types.js +17 -0
  382. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.d.ts +10 -0
  383. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.js +128 -0
  384. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.less +66 -0
  385. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.stories.d.ts +16 -0
  386. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.stories.js +181 -0
  387. package/lib/components/pisellReservationScheduleBand/index.d.ts +2 -0
  388. package/lib/components/pisellReservationScheduleBand/index.js +29 -0
  389. package/lib/components/pisellReservationScheduleBand/types.d.ts +49 -0
  390. package/lib/components/pisellReservationScheduleBand/types.js +17 -0
  391. package/lib/components/pisellShellFrame/PisellShellFrame.less +11 -0
  392. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.d.ts +10 -0
  393. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.js +901 -0
  394. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.less +461 -0
  395. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.stories.d.ts +79 -0
  396. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.stories.js +273 -0
  397. package/lib/components/pisellTimeNavigator/components/BackgroundLayer.d.ts +14 -0
  398. package/lib/components/pisellTimeNavigator/components/BackgroundLayer.js +78 -0
  399. package/lib/components/pisellTimeNavigator/components/CursorLayer.d.ts +25 -0
  400. package/lib/components/pisellTimeNavigator/components/CursorLayer.js +111 -0
  401. package/lib/components/pisellTimeNavigator/components/GestureLayer.d.ts +33 -0
  402. package/lib/components/pisellTimeNavigator/components/GestureLayer.js +170 -0
  403. package/lib/components/pisellTimeNavigator/components/NowButton.d.ts +14 -0
  404. package/lib/components/pisellTimeNavigator/components/NowButton.js +81 -0
  405. package/lib/components/pisellTimeNavigator/components/ScaleLayer.d.ts +22 -0
  406. package/lib/components/pisellTimeNavigator/components/ScaleLayer.js +116 -0
  407. package/lib/components/pisellTimeNavigator/components/index.d.ts +5 -0
  408. package/lib/components/pisellTimeNavigator/components/index.js +41 -0
  409. package/lib/components/pisellTimeNavigator/hooks/index.d.ts +5 -0
  410. package/lib/components/pisellTimeNavigator/hooks/index.js +35 -0
  411. package/lib/components/pisellTimeNavigator/hooks/useDragInertia.d.ts +14 -0
  412. package/lib/components/pisellTimeNavigator/hooks/useDragInertia.js +136 -0
  413. package/lib/components/pisellTimeNavigator/hooks/useRealtime.d.ts +5 -0
  414. package/lib/components/pisellTimeNavigator/hooks/useRealtime.js +49 -0
  415. package/lib/components/pisellTimeNavigator/hooks/useTimeAxis.d.ts +27 -0
  416. package/lib/components/pisellTimeNavigator/hooks/useTimeAxis.js +87 -0
  417. package/lib/components/pisellTimeNavigator/index.d.ts +5 -0
  418. package/lib/components/pisellTimeNavigator/index.js +47 -0
  419. package/lib/components/pisellTimeNavigator/locales.d.ts +22 -0
  420. package/lib/components/pisellTimeNavigator/locales.js +41 -0
  421. package/lib/components/pisellTimeNavigator/types.d.ts +160 -0
  422. package/lib/components/pisellTimeNavigator/types.js +17 -0
  423. package/lib/components/pisellTimeNavigator/utils/index.d.ts +30 -0
  424. package/lib/components/pisellTimeNavigator/utils/index.js +107 -0
  425. package/lib/components/pisellWalletPassCard/index.js +1 -1
  426. package/lib/components/table/index.js +2 -2
  427. package/lib/index.d.ts +49 -33
  428. package/lib/index.js +93 -27
  429. package/lib/locales/en-US.d.ts +2 -0
  430. package/lib/locales/en-US.js +2 -0
  431. package/lib/locales/zh-CN.d.ts +2 -0
  432. package/lib/locales/zh-CN.js +2 -0
  433. package/lib/locales/zh-TW.d.ts +2 -0
  434. package/lib/locales/zh-TW.js +2 -0
  435. package/lowcode/data-source-form/constants.ts +3 -0
  436. package/lowcode/data-source-form/utils.ts +31 -5
  437. package/lowcode/data-source-sub-form/meta.ts +259 -0
  438. package/lowcode/data-source-sub-form/snippets.ts +21 -0
  439. package/lowcode/floor-map-image-element/meta.ts +113 -0
  440. package/lowcode/floor-map-layout-provider/meta.ts +65 -0
  441. package/lowcode/form-item-record-list-wrapper/meta.ts +180 -0
  442. package/lowcode/form-item-record-list-wrapper/snippets.ts +18 -0
  443. package/lowcode/form-item-tabs/meta.ts +172 -0
  444. package/lowcode/pisell-floor-map-layout/meta.ts +5599 -0
  445. package/lowcode/pisell-hierarchical-summary-list/meta.ts +240 -0
  446. package/lowcode/pisell-reservation-schedule/index.ts +3 -0
  447. package/lowcode/pisell-reservation-schedule/meta.ts +69 -0
  448. package/lowcode/pisell-reservation-schedule/snippets.ts +1 -0
  449. package/lowcode/pisell-reservation-schedule-band/index.ts +3 -0
  450. package/lowcode/pisell-reservation-schedule-band/meta.ts +96 -0
  451. package/lowcode/pisell-reservation-schedule-band/snippets.ts +1 -0
  452. package/lowcode/pisell-time-navigator/index.ts +3 -0
  453. package/lowcode/pisell-time-navigator/meta.ts +298 -0
  454. package/lowcode/pisell-time-navigator/snippets.ts +1 -0
  455. package/lowcode/render-figma-style-round-table-card/meta.ts +589 -0
  456. package/lowcode/render-figma-style-table-card/meta.ts +589 -0
  457. package/package.json +3 -2
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import GridLayout from './layouts/GridLayout';
3
3
  import CardLayout from './layouts/CardLayout';
4
- import RecordBoardShellFrame, { RecordBoardToolBar, RecordBoardBatchActionBar, RecordBoardPagination, RecordBoardSearch } from './shellFrame';
4
+ import RecordBoardShellFrame, { RecordBoardToolBar, RecordBoardBatchActionBar, RecordBoardPagination, RecordBoardSearch, RecordBoardFloorMap } from './shellFrame';
5
5
  import RecordBoardGridView from './layouts/GridLayout/Grid';
6
6
  import RecordBoardCardList from './layouts/CardLayout/CardList';
7
7
  import { useRecordBoardContext } from './hooks/useRecordBoardContext';
@@ -14,6 +14,11 @@ interface PisellRecordBoardType extends React.FC<RecordBoardProps> {
14
14
  GridLayout: typeof GridLayout;
15
15
  /** 卡片布局:仅内容区(卡片列表 + 分页),需配合 ShellFrame 使用 */
16
16
  CardLayout: typeof CardLayout;
17
+ /**
18
+ * 平面图槽位:仅在 ShellFrame 内声明,无 DOM; props 与 PisellFloorMapLayout 对齐。
19
+ * 与 GridLayout 同时存在时出现「表格 / 平面图」切换。
20
+ */
21
+ FloorMap: typeof RecordBoardFloorMap;
17
22
  /** 单独使用:搜索槽(PisellFind,绑定 searchParams.keyword / onSearch) */
18
23
  Search: typeof RecordBoardSearch;
19
24
  /** 单独使用:工具栏(PisellToolBar,含搜索/导出,可透传 topLeft/topRight 等) */
@@ -31,5 +36,6 @@ interface PisellRecordBoardType extends React.FC<RecordBoardProps> {
31
36
  }
32
37
  declare const PisellRecordBoard: PisellRecordBoardType;
33
38
  export default PisellRecordBoard;
34
- export type { RecordBoardProps, RecordBoardLayoutType, RecordBoardContextValue, RecordBoardChildComponentProps, RecordBoardGridProps, RecordBoardColumnType, RecordBoardFieldType, RecordBoardColumnFilterConfig, RecordBoardOptionItem, RecordBoardGetOptions, } from './types';
39
+ export type { RecordBoardProps, RecordBoardLayoutType, RecordBoardContextValue, RecordBoardChildComponentProps, RecordBoardGridProps, RecordBoardColumnType, RecordBoardFieldType, RecordBoardColumnFilterConfig, RecordBoardOptionItem, RecordBoardGetOptions, RecordBoardBodyView, RecordBoardFloorMapProps, RecordBoardToolBarProps, } from './types';
35
40
  export { useRecordBoardContext } from './hooks/useRecordBoardContext';
41
+ export { useRecordBoardShellBodyMeta } from './shellFrame';
@@ -1,7 +1,7 @@
1
1
  import PisellRecordBoardComponent from "./PisellRecordBoard";
2
2
  import GridLayout from "./layouts/GridLayout";
3
3
  import CardLayout from "./layouts/CardLayout";
4
- import RecordBoardShellFrame, { RecordBoardToolBar, RecordBoardBatchActionBar, RecordBoardPagination, RecordBoardSearch } from "./shellFrame";
4
+ import RecordBoardShellFrame, { RecordBoardToolBar, RecordBoardBatchActionBar, RecordBoardPagination, RecordBoardSearch, RecordBoardFloorMap } from "./shellFrame";
5
5
  import RecordBoardGridView from "./layouts/GridLayout/Grid";
6
6
  import RecordBoardCardList from "./layouts/CardLayout/CardList";
7
7
  import { useRecordBoardContext } from "./hooks/useRecordBoardContext";
@@ -12,6 +12,7 @@ var PisellRecordBoard = PisellRecordBoardComponent;
12
12
  PisellRecordBoard.ShellFrame = RecordBoardShellFrame;
13
13
  PisellRecordBoard.GridLayout = GridLayout;
14
14
  PisellRecordBoard.CardLayout = CardLayout;
15
+ PisellRecordBoard.FloorMap = RecordBoardFloorMap;
15
16
  PisellRecordBoard.Search = RecordBoardSearch;
16
17
  PisellRecordBoard.ToolBar = RecordBoardToolBar;
17
18
  PisellRecordBoard.Pagination = RecordBoardPagination;
@@ -20,4 +21,5 @@ PisellRecordBoard.CardList = RecordBoardCardList;
20
21
  PisellRecordBoard.BatchActionBar = RecordBoardBatchActionBar;
21
22
  PisellRecordBoard.useRecordBoardContext = useRecordBoardContext;
22
23
  export default PisellRecordBoard;
23
- export { useRecordBoardContext } from "./hooks/useRecordBoardContext";
24
+ export { useRecordBoardContext } from "./hooks/useRecordBoardContext";
25
+ export { useRecordBoardShellBodyMeta } from "./shellFrame";
@@ -12,9 +12,7 @@ import ColumnSettingPopover from "./ColumnSettingPopover";
12
12
  import "./index.less";
13
13
  var RecordBoardColumnSetting = function RecordBoardColumnSetting() {
14
14
  var _ctx$childComponentPr, _ctx$columnVisibility, _ctx$columnOrder;
15
- var ctx = useRecordBoardContext({
16
- displayName: 'columnSetting'
17
- });
15
+ var ctx = useRecordBoardContext();
18
16
  var gridColumns = (_ctx$childComponentPr = ctx.childComponentProps) === null || _ctx$childComponentPr === void 0 || (_ctx$childComponentPr = _ctx$childComponentPr.grid) === null || _ctx$childComponentPr === void 0 ? void 0 : _ctx$childComponentPr.columns;
19
17
  var columnVisibility = (_ctx$columnVisibility = ctx.columnVisibility) !== null && _ctx$columnVisibility !== void 0 ? _ctx$columnVisibility : {};
20
18
  var onColumnVisibilityChange = ctx.onColumnVisibilityChange;
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import type { RecordBoardFloorMapProps } from '../types';
3
+ /**
4
+ * RecordBoard 平面图槽位:仅在 PisellRecordBoard.ShellFrame 内使用,本身不渲染 DOM。
5
+ * 将 PisellFloorMapLayout 所需 props 声明在树结构上;与 GridLayout 并存时出现「表格 / 平面图」切换。
6
+ *
7
+ * @example
8
+ * <PisellRecordBoard.ShellFrame>
9
+ * <PisellRecordBoard.GridLayout />
10
+ * <PisellRecordBoard.FloorMap floorMapConfig={...} dataSources={...} />
11
+ * </PisellRecordBoard.ShellFrame>
12
+ */
13
+ declare const RecordBoardFloorMap: React.FC<RecordBoardFloorMapProps>;
14
+ export default RecordBoardFloorMap;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * RecordBoard 平面图槽位:仅在 PisellRecordBoard.ShellFrame 内使用,本身不渲染 DOM。
3
+ * 将 PisellFloorMapLayout 所需 props 声明在树结构上;与 GridLayout 并存时出现「表格 / 平面图」切换。
4
+ *
5
+ * @example
6
+ * <PisellRecordBoard.ShellFrame>
7
+ * <PisellRecordBoard.GridLayout />
8
+ * <PisellRecordBoard.FloorMap floorMapConfig={...} dataSources={...} />
9
+ * </PisellRecordBoard.ShellFrame>
10
+ */
11
+ var RecordBoardFloorMap = function RecordBoardFloorMap() {
12
+ return null;
13
+ };
14
+ RecordBoardFloorMap.displayName = 'RecordBoard.FloorMap';
15
+ export default RecordBoardFloorMap;
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import type { RecordBoardFloorMapProps } from '../types';
3
+ /**
4
+ * ShellFrame 解析子节点后的元信息,供 ToolBar 等判断是否需要「表格 / 平面图」Segmented。
5
+ * 未处于 ShellFrame.Provider 内时为 undefined(如单独挂载 ToolBar)。
6
+ */
7
+ export interface RecordBoardShellBodyMeta {
8
+ /** 子组件 FloorMap props 与根级 floorMap 合并后的结果(子优先) */
9
+ effectiveFloorMapProps?: RecordBoardFloorMapProps;
10
+ /** ShellFrame 内是否存在 GridLayout / CardLayout 等非 FloorMap 子节点 */
11
+ hasGridContent: boolean;
12
+ /** 合并后是否存在可渲染的平面图配置 */
13
+ hasFloorMapSlot: boolean;
14
+ }
15
+ export declare const RecordBoardShellBodyMetaContext: React.Context<RecordBoardShellBodyMeta | undefined>;
16
+ export declare function useRecordBoardShellBodyMeta(): RecordBoardShellBodyMeta | undefined;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+
3
+ /**
4
+ * ShellFrame 解析子节点后的元信息,供 ToolBar 等判断是否需要「表格 / 平面图」Segmented。
5
+ * 未处于 ShellFrame.Provider 内时为 undefined(如单独挂载 ToolBar)。
6
+ */
7
+
8
+ export var RecordBoardShellBodyMetaContext = /*#__PURE__*/React.createContext(undefined);
9
+ export function useRecordBoardShellBodyMeta() {
10
+ return React.useContext(RecordBoardShellBodyMetaContext);
11
+ }
@@ -1,3 +1,64 @@
1
+ /**
2
+ * 表格 / 平面图切换:与中间搜索、右侧 Sort/Filter(50px)同高
3
+ * antd 与 pisell-lowcode 前缀并存时双写选择器
4
+ */
5
+ .record-board-toolbar-body-view-segmented {
6
+ &.ant-segmented,
7
+ &.pisell-lowcode-segmented {
8
+ height: 50px;
9
+ min-height: 50px;
10
+ padding: 4px !important;
11
+ box-sizing: border-box !important;
12
+ display: inline-flex !important;
13
+ align-items: center;
14
+ }
15
+
16
+ .ant-segmented-group,
17
+ .pisell-lowcode-segmented-group {
18
+ flex: 1;
19
+ min-height: 0;
20
+ align-self: stretch;
21
+ display: flex;
22
+ align-items: center;
23
+ }
24
+
25
+ .ant-segmented-item,
26
+ .pisell-lowcode-segmented-item {
27
+ display: flex !important;
28
+ align-items: center !important;
29
+ justify-content: center !important;
30
+ flex: 1;
31
+ font-size: 16px !important;
32
+ font-weight: 500 !important;
33
+ padding: 0 16px !important;
34
+ box-sizing: border-box !important;
35
+ }
36
+
37
+ /** 文案垂直居中:去掉固定 line-height,避免在 antd 选项格内视觉上偏上 */
38
+
39
+ .ant-segmented-item-label,
40
+ .pisell-lowcode-segmented-item-label {
41
+ display: inline-flex !important;
42
+ align-items: center !important;
43
+ justify-content: center !important;
44
+ line-height: normal !important;
45
+ }
46
+
47
+ /** 低代码:选中背景与 antd Button primary / 编辑平面图同源 */
48
+
49
+ .pisell-lowcode-segmented-item-selected {
50
+ background: var(--color-primary,
51
+ var(--ant-color-primary, #5d3f9f)) !important;
52
+ color: var(--ant-color-text-light-solid, #fff) !important;
53
+ font-weight: 600 !important;
54
+ }
55
+
56
+ .pisell-lowcode-segmented-thumb {
57
+ background: var(--color-primary,
58
+ var(--ant-color-primary, #5d3f9f)) !important;
59
+ }
60
+ }
61
+
1
62
  /** 左侧:div + flex 布局,下单时间快筛 + Find(占满剩余宽度)+ slots.topLeft */
2
63
  .record-board-toolbar-top-left {
3
64
  display: flex;
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { RecordBoardToolBarProps as ToolBarPropsType } from '../../types';
3
3
  import './ToolBarFilter.less';
4
+ import './recordBoardToolbar.less';
4
5
  /**
5
6
  * RecordBoard 下的工具栏:使用 PisellToolBar。
6
7
  * 左侧默认 PisellFind(inline);右侧默认 PisellFilter。通过 childComponentProps.toolBar.search / toolBar.filter 为对象时透传对应组件 props,为 false 时不渲染。
@@ -6,7 +6,8 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
6
6
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
7
  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); }
8
8
  import React, { useCallback, useMemo } from 'react';
9
- import { Button, Space } from 'antd';
9
+ import classNames from 'classnames';
10
+ import { Button, Space, Segmented } from 'antd';
10
11
  import SwitchVertical01 from '@pisell/icon/es/SwitchVertical01';
11
12
  import PisellToolBar from "../../../pisellGridPro/ToolBar";
12
13
  import { PisellFind } from "../../../pisellFind";
@@ -15,10 +16,12 @@ import Sort from "../../../sort";
15
16
  import ToolBarReset from "../ToolBarReset";
16
17
  import ToolBarQuickFilter from "../ToolBarQuickFilter";
17
18
  import RecordBoardColumnSetting from "../ColumnSetting";
19
+ import { useRecordBoardShellBodyMeta } from "../ShellBodyMetaContext";
18
20
  import { useRecordBoardContext } from "../../hooks/useRecordBoardContext";
19
21
  import { locales as utilsLocales } from '@pisell/utils';
20
22
  import { getText } from "../../../../locales";
21
23
  import "./ToolBarFilter.less";
24
+ import "./recordBoardToolbar.less";
22
25
 
23
26
  /** 与 Quick Filter 同源:优先 utils,若 utils 返回 key(未命中)则用 materials 再回退 */
24
27
  function getSortButtonText() {
@@ -31,6 +34,16 @@ function getFilterButtonText() {
31
34
  var u = utilsLocales.getText(key);
32
35
  return u && u !== key ? u : getText(key) || getText('table-action-filter-button');
33
36
  }
37
+ function getViewGridLabel() {
38
+ var key = 'pisell2.recordBoard.toolbar.viewGrid';
39
+ var u = utilsLocales.getText(key);
40
+ return u && u !== key ? u : getText(key) || 'Table';
41
+ }
42
+ function getViewFloorMapLabel() {
43
+ var key = 'pisell2.recordBoard.toolbar.viewFloorMap';
44
+ var u = utilsLocales.getText(key);
45
+ return u && u !== key ? u : getText(key) || 'Floor map';
46
+ }
34
47
  import { deriveFilterFromColumns, deriveSortFromColumns } from "../../utils/recordBoardColumns";
35
48
 
36
49
  /** 默认搜索参数字段名,与 context.searchParams 对应 */
@@ -56,12 +69,20 @@ function getDefaultFilterValue() {
56
69
  * 可透传 topLeft、topRight、bottomLeft、bottomRight、tabs。
57
70
  */
58
71
  var RecordBoardToolBar = function RecordBoardToolBar(props) {
59
- var _ctx$childComponentPr, _ctx$childComponentPr2, _searchParams$DEFAULT, _ctx$childComponentPr3, _formFiltersPrefix, _size, _filterResetKey;
72
+ var _shellMeta$hasGridCon, _shellMeta$hasFloorMa, _shellMeta$effectiveF, _ctx$childComponentPr, _ctx$childComponentPr2, _searchParams$DEFAULT, _ctx$childComponentPr3, _formFiltersPrefix, _size, _filterResetKey;
60
73
  var ctx = useRecordBoardContext({
61
74
  displayName: 'toolBar'
62
75
  });
76
+ var shellMeta = useRecordBoardShellBodyMeta();
63
77
  var searchParams = ctx.searchParams,
64
- onSearch = ctx.onSearch;
78
+ onSearch = ctx.onSearch,
79
+ bodyView = ctx.bodyView,
80
+ setBodyView = ctx.setBodyView;
81
+ /** ShellFrame 内解析:双视图(表格区 + FloorMap)才出现切换器;根级 floorMap 无子组件时仍兼容 */
82
+ var hasGridInShell = (_shellMeta$hasGridCon = shellMeta === null || shellMeta === void 0 ? void 0 : shellMeta.hasGridContent) !== null && _shellMeta$hasGridCon !== void 0 ? _shellMeta$hasGridCon : true;
83
+ var hasFloorInShell = (_shellMeta$hasFloorMa = shellMeta === null || shellMeta === void 0 ? void 0 : shellMeta.hasFloorMapSlot) !== null && _shellMeta$hasFloorMa !== void 0 ? _shellMeta$hasFloorMa : ctx.floorMapProps != null;
84
+ var floorForToggle = (_shellMeta$effectiveF = shellMeta === null || shellMeta === void 0 ? void 0 : shellMeta.effectiveFloorMapProps) !== null && _shellMeta$effectiveF !== void 0 ? _shellMeta$effectiveF : ctx.floorMapProps;
85
+ var showTableFloorToggle = hasGridInShell && hasFloorInShell && floorForToggle != null;
65
86
  var slots = (_ctx$childComponentPr = (_ctx$childComponentPr2 = ctx.childComponentProps) === null || _ctx$childComponentPr2 === void 0 ? void 0 : _ctx$childComponentPr2.toolBar) !== null && _ctx$childComponentPr !== void 0 ? _ctx$childComponentPr : {};
66
87
  var keyword = (_searchParams$DEFAULT = searchParams === null || searchParams === void 0 ? void 0 : searchParams[DEFAULT_SEARCH_FIELD]) !== null && _searchParams$DEFAULT !== void 0 ? _searchParams$DEFAULT : '';
67
88
  var handleSearch = useCallback(function (value) {
@@ -95,17 +116,54 @@ var RecordBoardToolBar = function RecordBoardToolBar(props) {
95
116
  var _ref;
96
117
  if (quickFilterConfig === false) return [];
97
118
  var fromConfig = _typeof(quickFilterConfig) === 'object' && quickFilterConfig !== null && Array.isArray(quickFilterConfig.filterList) ? quickFilterConfig.filterList : null;
98
- return (_ref = fromConfig !== null && fromConfig !== void 0 ? fromConfig : derivedFilterFromColumns === null || derivedFilterFromColumns === void 0 ? void 0 : derivedFilterFromColumns.quickFilter) !== null && _ref !== void 0 ? _ref : [];
99
- }, [quickFilterConfig, derivedFilterFromColumns === null || derivedFilterFromColumns === void 0 ? void 0 : derivedFilterFromColumns.quickFilter]);
119
+ var list = (_ref = fromConfig !== null && fromConfig !== void 0 ? fromConfig : derivedFilterFromColumns === null || derivedFilterFromColumns === void 0 ? void 0 : derivedFilterFromColumns.quickFilter) !== null && _ref !== void 0 ? _ref : [];
120
+ var hideNames = _typeof(quickFilterConfig) === 'object' && quickFilterConfig !== null && Array.isArray(quickFilterConfig.hideFilterNamesOnFloorMap) ? quickFilterConfig.hideFilterNamesOnFloorMap : null;
121
+ if (bodyView === 'floorMap' && showTableFloorToggle && hideNames != null && hideNames.length > 0) {
122
+ var hideSet = new Set(hideNames.map(String));
123
+ list = list.filter(function (item) {
124
+ var _item$name;
125
+ var n = (_item$name = item.name) !== null && _item$name !== void 0 ? _item$name : item.key;
126
+ return n == null || !hideSet.has(String(n));
127
+ });
128
+ }
129
+ return list;
130
+ }, [quickFilterConfig, derivedFilterFromColumns === null || derivedFilterFromColumns === void 0 ? void 0 : derivedFilterFromColumns.quickFilter, bodyView, showTableFloorToggle]);
100
131
  var showQuickFilterLeft = quickFilterList.length > 0;
101
132
  var quickFilterNode = showQuickFilterLeft ? /*#__PURE__*/React.createElement(ToolBarQuickFilter, {
102
133
  filterList: quickFilterList,
103
134
  formFiltersPrefix: _typeof(quickFilterConfig) === 'object' && quickFilterConfig !== null ? (_formFiltersPrefix = quickFilterConfig.formFiltersPrefix) !== null && _formFiltersPrefix !== void 0 ? _formFiltersPrefix : '' : '',
104
135
  size: _typeof(quickFilterConfig) === 'object' && quickFilterConfig !== null ? (_size = quickFilterConfig.size) !== null && _size !== void 0 ? _size : 'large' : 'large'
105
136
  }) : null;
106
- var topLeft = /*#__PURE__*/React.createElement("div", {
137
+ var bodyViewToggle = showTableFloorToggle ? /*#__PURE__*/React.createElement(Segmented, {
138
+ className: "record-board-toolbar-body-view-segmented",
139
+ size: "large",
140
+ value: bodyView,
141
+ onChange: function onChange(v) {
142
+ return setBodyView(v);
143
+ },
144
+ options: [{
145
+ label: getViewGridLabel(),
146
+ value: 'grid'
147
+ }, {
148
+ label: getViewFloorMapLabel(),
149
+ value: 'floorMap'
150
+ }],
151
+ style: {
152
+ marginRight: 8
153
+ }
154
+ }) : null;
155
+
156
+ /** 平面图模式:第二行工具(搜索/筛选等)收起;切换器在业务方 tabs 内(如预约 ScheduleBand) */
157
+ var compactFloorMapToolbar = bodyView === 'floorMap' && showTableFloorToggle;
158
+
159
+ /**
160
+ * 仅平面图且 tabs 内含 ScheduleBand 时隐藏顶行切换器;表格视图 tabs 无 ScheduleBand,
161
+ * 切换器回到 Find 左侧(与 PisellReservation 表格态一致)。
162
+ */
163
+ var hideBodyViewToggleInToolbarRow = showTableFloorToggle && Boolean(slots.tabs) && bodyView === 'floorMap';
164
+ var topLeft = compactFloorMapToolbar ? null : /*#__PURE__*/React.createElement("div", {
107
165
  className: "record-board-toolbar-top-left"
108
- }, quickFilterNode, searchNode ? /*#__PURE__*/React.createElement("div", {
166
+ }, !hideBodyViewToggleInToolbarRow ? bodyViewToggle : null, quickFilterNode, searchNode ? /*#__PURE__*/React.createElement("div", {
109
167
  className: "record-board-toolbar-find-wrap"
110
168
  }, searchNode) : null, slots.topLeft);
111
169
  var sortConfig = slots.sort;
@@ -198,17 +256,17 @@ var RecordBoardToolBar = function RecordBoardToolBar(props) {
198
256
  placement: "bottomLeft"
199
257
  }, _typeof(filterConfig) === 'object' && filterConfig !== null ? filterConfig : {}));
200
258
  var showColumnSetting = slots.columnSetting !== false && Array.isArray(gridColumns) && gridColumns.length > 0;
201
- var topRight = /*#__PURE__*/React.createElement(Space, null, showColumnSetting ? /*#__PURE__*/React.createElement(RecordBoardColumnSetting, null) : null, sortNode, filterNode, /*#__PURE__*/React.createElement(ToolBarReset, {
259
+ var topRight = compactFloorMapToolbar ? null : /*#__PURE__*/React.createElement(Space, null, showColumnSetting ? /*#__PURE__*/React.createElement(RecordBoardColumnSetting, null) : null, sortNode, filterNode, /*#__PURE__*/React.createElement(ToolBarReset, {
202
260
  size: "large"
203
261
  }), slots.topRight);
204
262
  return /*#__PURE__*/React.createElement(PisellToolBar, {
205
- className: slots.className,
263
+ className: classNames(bodyView === 'floorMap' && 'pisell-record-board-toolbar--floor-map', bodyView === 'grid' && 'pisell-record-board-toolbar--grid', slots.className),
206
264
  style: slots.style,
207
265
  tabs: slots.tabs,
208
266
  topLeft: topLeft,
209
267
  topRight: topRight,
210
- bottomLeft: slots.bottomLeft,
211
- bottomRight: slots.bottomRight
268
+ bottomLeft: compactFloorMapToolbar ? null : slots.bottomLeft,
269
+ bottomRight: compactFloorMapToolbar ? null : slots.bottomRight
212
270
  });
213
271
  };
214
272
  RecordBoardToolBar.displayName = 'RecordBoard.ToolBar';
@@ -0,0 +1,23 @@
1
+ /**
2
+ * 平面视图:工具栏常仅一行(ScheduleBand),去掉 GridPro 默认底内边距。
3
+ * 不用仅依赖 #body:Story/本地预览可能没有 id=body,低代码若再包一层 #body 会导致双前缀失效。
4
+ * !important:确保晚于 @pisellGridPro/ToolBar 中单类 .pisell-grid-pro-toolbar 的 padding-bottom。
5
+ */
6
+ .pisell-grid-pro-toolbar.pisell-record-board-toolbar--floor-map {
7
+ padding-bottom: 0 !important;
8
+ }
9
+
10
+ #body .pisell-grid-pro-toolbar.pisell-record-board-toolbar--floor-map {
11
+ padding-bottom: 0 !important;
12
+ }
13
+
14
+ /* 表格态工具栏与内容对齐:左右留白 16;平面图态不加此内边距 */
15
+ .pisell-grid-pro-toolbar.pisell-record-board-toolbar--grid {
16
+ padding-left: 16px;
17
+ padding-right: 16px;
18
+ }
19
+
20
+ #body .pisell-grid-pro-toolbar.pisell-record-board-toolbar--grid {
21
+ padding-left: 16px;
22
+ padding-right: 16px;
23
+ }
@@ -3,19 +3,14 @@ import RecordBoardToolBar from './ToolBar';
3
3
  import RecordBoardBatchActionBar from './BatchActionBar';
4
4
  import RecordBoardPagination from './Pagination';
5
5
  import RecordBoardSearch from './Search';
6
+ import './shellFrameFloorMap.less';
6
7
  import ToolBarReset from './ToolBarReset';
7
8
  import ToolBarQuickFilter from './ToolBarQuickFilter';
9
+ import RecordBoardFloorMap from './FloorMap';
8
10
  /**
9
11
  * Shell Frame:基于 PisellShellFrame 的 RecordBoard 壳层。
10
- * 提供工具栏、多选操作条、分页;与 Layout 同级,包裹在 Layout 外层。
11
- * 默认占满父容器高度,内容区可滚动,分页器固定在底部。
12
- *
13
- * 使用方式:
14
- * <PisellRecordBoard>
15
- * <PisellRecordBoard.ShellFrame>
16
- * <PisellRecordBoard.GridLayout />
17
- * </PisellRecordBoard.ShellFrame>
18
- * </PisellRecordBoard>
12
+ * 解析子节点:**GridLayout / CardLayout 等** 与可选 **\<PisellRecordBoard.FloorMap /\>**;
13
+ * 仅表格侧、仅平面图侧、或双视图(出现 Segmented 切换)由子节点组合决定。根级 `floorMap` props 仍支持(如低代码透传),与 FloorMap 子组件 props 合并,**子组件优先**。
19
14
  */
20
15
  declare const RecordBoardShellFrame: React.FC<{
21
16
  children?: React.ReactNode;
@@ -23,4 +18,5 @@ declare const RecordBoardShellFrame: React.FC<{
23
18
  style?: React.CSSProperties;
24
19
  }>;
25
20
  export default RecordBoardShellFrame;
26
- export { RecordBoardToolBar, RecordBoardBatchActionBar, RecordBoardPagination, RecordBoardSearch, ToolBarReset, ToolBarQuickFilter, };
21
+ export { RecordBoardToolBar, RecordBoardBatchActionBar, RecordBoardPagination, RecordBoardSearch, ToolBarReset, ToolBarQuickFilter, RecordBoardFloorMap };
22
+ export { useRecordBoardShellBodyMeta } from './ShellBodyMetaContext';
@@ -1,18 +1,25 @@
1
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 _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
3
  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
4
  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
5
  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
6
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
7
  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, { useRef, useEffect } from 'react';
8
+ import React, { useEffect, useLayoutEffect, useMemo, useRef } from 'react';
9
+ import classNames from 'classnames';
8
10
  import { PisellShellFrame } from "../../pisellShellFrame";
11
+ import { PisellFloorMapLayout, FloorMapLayoutProvider, EMPTY_FLOOR_MAP_LAYOUT_CONTEXT } from "../../pisellFloorMapLayout";
9
12
  import { useRecordBoardContext } from "../hooks/useRecordBoardContext";
13
+ import { partitionShellFrameChildren } from "../utils/partitionShellFrameChildren";
10
14
  import RecordBoardToolBar from "./ToolBar";
11
15
  import RecordBoardBatchActionBar from "./BatchActionBar";
12
16
  import RecordBoardPagination from "./Pagination";
13
17
  import RecordBoardSearch from "./Search";
18
+ import "./shellFrameFloorMap.less";
14
19
  import ToolBarReset from "./ToolBarReset";
15
20
  import ToolBarQuickFilter from "./ToolBarQuickFilter";
21
+ import RecordBoardFloorMap from "./FloorMap";
22
+ import { RecordBoardShellBodyMetaContext } from "./ShellBodyMetaContext";
16
23
 
17
24
  /** fillHeight 时内容区可滚动、分页器贴底;默认表头 sticky;grid.scroll.autoCalc 时需测量高度供 scroll.y */
18
25
  var FILL_HEIGHT_SCROLL_STYLE = {
@@ -58,32 +65,115 @@ var FILL_HEIGHT_WRAPPER_STYLE = {
58
65
 
59
66
  /**
60
67
  * Shell Frame:基于 PisellShellFrame 的 RecordBoard 壳层。
61
- * 提供工具栏、多选操作条、分页;与 Layout 同级,包裹在 Layout 外层。
62
- * 默认占满父容器高度,内容区可滚动,分页器固定在底部。
63
- *
64
- * 使用方式:
65
- * <PisellRecordBoard>
66
- * <PisellRecordBoard.ShellFrame>
67
- * <PisellRecordBoard.GridLayout />
68
- * </PisellRecordBoard.ShellFrame>
69
- * </PisellRecordBoard>
68
+ * 解析子节点:**GridLayout / CardLayout 等** 与可选 **\<PisellRecordBoard.FloorMap /\>**;
69
+ * 仅表格侧、仅平面图侧、或双视图(出现 Segmented 切换)由子节点组合决定。根级 `floorMap` props 仍支持(如低代码透传),与 FloorMap 子组件 props 合并,**子组件优先**。
70
70
  */
71
71
  var RecordBoardShellFrame = function RecordBoardShellFrame(_ref2) {
72
- var _ctx$setScrollAreaHei, _ctx$childComponentPr;
72
+ var _ctx$floorMapLayoutRe, _effectiveFloorMapPro, _effectiveFloorMapPro2, _effectiveFloorMapPro3, _ctx$setScrollAreaHei, _ctx$childComponentPr;
73
73
  var children = _ref2.children,
74
74
  className = _ref2.className,
75
75
  style = _ref2.style;
76
- var ctx = useRecordBoardContext({
77
- displayName: 'RecordBoard.ShellFrame'
78
- });
76
+ var ctx = useRecordBoardContext();
79
77
  var fillHeight = (ctx === null || ctx === void 0 ? void 0 : ctx.fillHeight) === true;
80
- var bodyContent = fillHeight ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ScrollAreaMeasurer, {
78
+ var _useMemo = useMemo(function () {
79
+ return partitionShellFrameChildren(children);
80
+ }, [children]),
81
+ gridChildren = _useMemo.gridChildren,
82
+ floorMapPropsFromChild = _useMemo.floorMapPropsFromChild,
83
+ hasGridContent = _useMemo.hasGridContent,
84
+ hasFloorMapChild = _useMemo.hasFloorMapChild;
85
+
86
+ /** 子组件 FloorMap 与根级 context.floorMapProps 合并,子 props 覆盖根级 */
87
+ var effectiveFloorMapProps = useMemo(function () {
88
+ if (hasFloorMapChild) {
89
+ var _ctx$floorMapProps;
90
+ return _objectSpread(_objectSpread({}, (_ctx$floorMapProps = ctx.floorMapProps) !== null && _ctx$floorMapProps !== void 0 ? _ctx$floorMapProps : {}), floorMapPropsFromChild !== null && floorMapPropsFromChild !== void 0 ? floorMapPropsFromChild : {});
91
+ }
92
+ return ctx.floorMapProps;
93
+ }, [hasFloorMapChild, floorMapPropsFromChild, ctx.floorMapProps]);
94
+
95
+ /**
96
+ * 平面图使用整份多 key:根级 Context.dataSources 与 FloorMap props 合并(后者覆盖同 key)。
97
+ * 表格分页切片只影响 ctx.data,不得缩短此对象。
98
+ */
99
+ var mergedFloorMapDataSources = useMemo(function () {
100
+ var root = ctx.dataSources;
101
+ var fromFloor = effectiveFloorMapProps === null || effectiveFloorMapProps === void 0 ? void 0 : effectiveFloorMapProps.dataSources;
102
+ if (root == null && fromFloor == null) return undefined;
103
+ return _objectSpread(_objectSpread({}, root !== null && root !== void 0 ? root : {}), fromFloor !== null && fromFloor !== void 0 ? fromFloor : {});
104
+ }, [ctx.dataSources, effectiveFloorMapProps === null || effectiveFloorMapProps === void 0 ? void 0 : effectiveFloorMapProps.dataSources]);
105
+ var hasFloorMapSlot = hasFloorMapChild || ctx.floorMapProps != null;
106
+ var shellBodyMeta = useMemo(function () {
107
+ return {
108
+ effectiveFloorMapProps: effectiveFloorMapProps,
109
+ hasGridContent: hasGridContent,
110
+ hasFloorMapSlot: hasFloorMapSlot
111
+ };
112
+ }, [effectiveFloorMapProps, hasGridContent, hasFloorMapSlot]);
113
+
114
+ /**
115
+ * 仅平面图:强制 floorMap 视图;仅表格:强制 grid;双视图:尊重 ctx.bodyView。
116
+ */
117
+ var showGrid = useMemo(function () {
118
+ if (!hasFloorMapSlot) return true;
119
+ if (!hasGridContent) return false;
120
+ return ctx.bodyView === 'grid';
121
+ }, [hasFloorMapSlot, hasGridContent, ctx.bodyView]);
122
+
123
+ /** 仅平面图 / 仅表格时同步 bodyView,避免切换组合后状态不一致 */
124
+ useLayoutEffect(function () {
125
+ if (!ctx.setBodyView) return;
126
+ if (hasFloorMapSlot && !hasGridContent) {
127
+ ctx.setBodyView('floorMap');
128
+ return;
129
+ }
130
+ if (hasGridContent && !hasFloorMapSlot) {
131
+ ctx.setBodyView('grid');
132
+ }
133
+ }, [hasFloorMapSlot, hasGridContent, ctx.setBodyView]);
134
+ var floorMapLayoutProviderValue = useMemo(function () {
135
+ var _ctx$floorMapLayoutCo;
136
+ return (_ctx$floorMapLayoutCo = ctx.floorMapLayoutContext) !== null && _ctx$floorMapLayoutCo !== void 0 ? _ctx$floorMapLayoutCo : EMPTY_FLOOR_MAP_LAYOUT_CONTEXT;
137
+ }, [ctx.floorMapLayoutContext]);
138
+ var floorMapNode = effectiveFloorMapProps && !showGrid ? /*#__PURE__*/React.createElement("div", {
139
+ className: "pisell-record-board-floor-map-viewport",
140
+ style: {
141
+ flex: 1,
142
+ minHeight: 0,
143
+ display: 'flex',
144
+ flexDirection: 'column',
145
+ overflow: 'hidden',
146
+ position: 'relative'
147
+ }
148
+ }, /*#__PURE__*/React.createElement(FloorMapLayoutProvider, {
149
+ value: floorMapLayoutProviderValue
150
+ }, /*#__PURE__*/React.createElement(PisellFloorMapLayout, _extends({
151
+ ref: (_ctx$floorMapLayoutRe = ctx.floorMapLayoutRef) !== null && _ctx$floorMapLayoutRe !== void 0 ? _ctx$floorMapLayoutRe : undefined
152
+ }, effectiveFloorMapProps, mergedFloorMapDataSources !== undefined ? {
153
+ dataSources: mergedFloorMapDataSources
154
+ } : {}, {
155
+ items: (_effectiveFloorMapPro = effectiveFloorMapProps.items) !== null && _effectiveFloorMapPro !== void 0 ? _effectiveFloorMapPro : [],
156
+ renderItem: (_effectiveFloorMapPro2 = effectiveFloorMapProps.renderItem) !== null && _effectiveFloorMapPro2 !== void 0 ? _effectiveFloorMapPro2 : function () {
157
+ return null;
158
+ },
159
+ style: _objectSpread({
160
+ flex: 1,
161
+ minHeight: 0
162
+ }, (_effectiveFloorMapPro3 = effectiveFloorMapProps.style) !== null && _effectiveFloorMapPro3 !== void 0 ? _effectiveFloorMapPro3 : {})
163
+ }))), ctx.floorMapFooter ? /*#__PURE__*/React.createElement("div", {
164
+ className: "pisell-record-board-floor-map-floating-slot"
165
+ }, ctx.floorMapFooter) : null) : null;
166
+ var bodyContent = fillHeight ? /*#__PURE__*/React.createElement(React.Fragment, null, showGrid ? /*#__PURE__*/React.createElement(ScrollAreaMeasurer, {
81
167
  onHeight: (_ctx$setScrollAreaHei = ctx === null || ctx === void 0 ? void 0 : ctx.setScrollAreaHeight) !== null && _ctx$setScrollAreaHei !== void 0 ? _ctx$setScrollAreaHei : function () {},
82
168
  autoCalc: ctx === null || ctx === void 0 || (_ctx$childComponentPr = ctx.childComponentProps) === null || _ctx$childComponentPr === void 0 || (_ctx$childComponentPr = _ctx$childComponentPr.grid) === null || _ctx$childComponentPr === void 0 || (_ctx$childComponentPr = _ctx$childComponentPr.scroll) === null || _ctx$childComponentPr === void 0 ? void 0 : _ctx$childComponentPr.autoCalc
83
- }, children), /*#__PURE__*/React.createElement(RecordBoardPagination, null)) : /*#__PURE__*/React.createElement(React.Fragment, null, children, /*#__PURE__*/React.createElement(RecordBoardPagination, null));
169
+ }, gridChildren) : floorMapNode, showGrid ? /*#__PURE__*/React.createElement(RecordBoardPagination, null) : null) : /*#__PURE__*/React.createElement(React.Fragment, null, showGrid ? gridChildren : floorMapNode, showGrid ? /*#__PURE__*/React.createElement(RecordBoardPagination, null) : null);
84
170
  var shellStyle = fillHeight && style ? _objectSpread(_objectSpread({}, style), FILL_HEIGHT_WRAPPER_STYLE) : fillHeight ? FILL_HEIGHT_WRAPPER_STYLE : style;
85
- var wrapper = /*#__PURE__*/React.createElement(PisellShellFrame, {
86
- className: className,
171
+ var wrapper = /*#__PURE__*/React.createElement(RecordBoardShellBodyMetaContext.Provider, {
172
+ value: shellBodyMeta
173
+ }, /*#__PURE__*/React.createElement(PisellShellFrame, {
174
+ className: classNames(className, {
175
+ 'pisell-shell-frame--floor-map-view': !showGrid
176
+ }),
87
177
  style: shellStyle,
88
178
  config: {
89
179
  showToolbar: true,
@@ -91,7 +181,7 @@ var RecordBoardShellFrame = function RecordBoardShellFrame(_ref2) {
91
181
  },
92
182
  toolbar: /*#__PURE__*/React.createElement(RecordBoardToolBar, null),
93
183
  batchActionBar: /*#__PURE__*/React.createElement(RecordBoardBatchActionBar, null)
94
- }, bodyContent);
184
+ }, bodyContent));
95
185
  if (fillHeight) {
96
186
  return /*#__PURE__*/React.createElement("div", {
97
187
  style: FILL_HEIGHT_WRAPPER_STYLE
@@ -101,4 +191,5 @@ var RecordBoardShellFrame = function RecordBoardShellFrame(_ref2) {
101
191
  };
102
192
  RecordBoardShellFrame.displayName = 'RecordBoard.ShellFrame';
103
193
  export default RecordBoardShellFrame;
104
- export { RecordBoardToolBar, RecordBoardBatchActionBar, RecordBoardPagination, RecordBoardSearch, ToolBarReset, ToolBarQuickFilter };
194
+ export { RecordBoardToolBar, RecordBoardBatchActionBar, RecordBoardPagination, RecordBoardSearch, ToolBarReset, ToolBarQuickFilter, RecordBoardFloorMap };
195
+ export { useRecordBoardShellBodyMeta } from "./ShellBodyMetaContext";
@@ -0,0 +1,25 @@
1
+ /** 平面图区域:画布 + 悬浮层共用,便于底部按钮叠在画布上 */
2
+ .pisell-record-board-floor-map-viewport {
3
+ box-sizing: border-box;
4
+ }
5
+
6
+ /**
7
+ * 画布内底部居中悬浮插槽(如「编辑平面图」)。
8
+ * 容器不接收指针事件,避免挡画布拖拽/缩放;子节点恢复可点。
9
+ */
10
+ .pisell-record-board-floor-map-floating-slot {
11
+ position: absolute;
12
+ left: 0;
13
+ right: 0;
14
+ bottom: 20px;
15
+ display: flex;
16
+ justify-content: center;
17
+ align-items: center;
18
+ pointer-events: none;
19
+ /* 高于 PisellFloorMapLayout 内 ViewControls(20),避免与左下角控件叠次序模糊 */
20
+ z-index: 25;
21
+
22
+ > * {
23
+ pointer-events: auto;
24
+ }
25
+ }