@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';
@@ -30,7 +30,8 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  var pisellRecordBoard_exports = {};
31
31
  __export(pisellRecordBoard_exports, {
32
32
  default: () => pisellRecordBoard_default,
33
- useRecordBoardContext: () => import_useRecordBoardContext2.useRecordBoardContext
33
+ useRecordBoardContext: () => import_useRecordBoardContext2.useRecordBoardContext,
34
+ useRecordBoardShellBodyMeta: () => import_shellFrame2.useRecordBoardShellBodyMeta
34
35
  });
35
36
  module.exports = __toCommonJS(pisellRecordBoard_exports);
36
37
  var import_PisellRecordBoard = __toESM(require("./PisellRecordBoard"));
@@ -41,10 +42,12 @@ var import_Grid = __toESM(require("./layouts/GridLayout/Grid"));
41
42
  var import_CardList = __toESM(require("./layouts/CardLayout/CardList"));
42
43
  var import_useRecordBoardContext = require("./hooks/useRecordBoardContext");
43
44
  var import_useRecordBoardContext2 = require("./hooks/useRecordBoardContext");
45
+ var import_shellFrame2 = require("./shellFrame");
44
46
  var PisellRecordBoard = import_PisellRecordBoard.default;
45
47
  PisellRecordBoard.ShellFrame = import_shellFrame.default;
46
48
  PisellRecordBoard.GridLayout = import_GridLayout.default;
47
49
  PisellRecordBoard.CardLayout = import_CardLayout.default;
50
+ PisellRecordBoard.FloorMap = import_shellFrame.RecordBoardFloorMap;
48
51
  PisellRecordBoard.Search = import_shellFrame.RecordBoardSearch;
49
52
  PisellRecordBoard.ToolBar = import_shellFrame.RecordBoardToolBar;
50
53
  PisellRecordBoard.Pagination = import_shellFrame.RecordBoardPagination;
@@ -55,5 +58,6 @@ PisellRecordBoard.useRecordBoardContext = import_useRecordBoardContext.useRecord
55
58
  var pisellRecordBoard_default = PisellRecordBoard;
56
59
  // Annotate the CommonJS export names for ESM import in node:
57
60
  0 && (module.exports = {
58
- useRecordBoardContext
61
+ useRecordBoardContext,
62
+ useRecordBoardShellBodyMeta
59
63
  });
@@ -41,7 +41,7 @@ var import_ColumnSettingPopover = __toESM(require("./ColumnSettingPopover"));
41
41
  var import_index = require("./index.less");
42
42
  var RecordBoardColumnSetting = () => {
43
43
  var _a, _b;
44
- const ctx = (0, import_useRecordBoardContext.useRecordBoardContext)({ displayName: "columnSetting" });
44
+ const ctx = (0, import_useRecordBoardContext.useRecordBoardContext)();
45
45
  const gridColumns = (_b = (_a = ctx.childComponentProps) == null ? void 0 : _a.grid) == null ? void 0 : _b.columns;
46
46
  const columnVisibility = ctx.columnVisibility ?? {};
47
47
  const onColumnVisibilityChange = ctx.onColumnVisibilityChange;
@@ -61,7 +61,13 @@ var RecordBoardColumnSetting = () => {
61
61
  onColumnOrderChange
62
62
  }
63
63
  );
64
- }, [gridColumns, columnVisibility, onColumnVisibilityChange, columnOrder, onColumnOrderChange]);
64
+ }, [
65
+ gridColumns,
66
+ columnVisibility,
67
+ onColumnVisibilityChange,
68
+ columnOrder,
69
+ onColumnOrderChange
70
+ ]);
65
71
  const hasHiddenColumns = (0, import_react.useMemo)(() => {
66
72
  if (!Array.isArray(gridColumns)) return false;
67
73
  return gridColumns.some(
@@ -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,27 @@
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/FloorMap.tsx
20
+ var FloorMap_exports = {};
21
+ __export(FloorMap_exports, {
22
+ default: () => FloorMap_default
23
+ });
24
+ module.exports = __toCommonJS(FloorMap_exports);
25
+ var RecordBoardFloorMap = () => null;
26
+ RecordBoardFloorMap.displayName = "RecordBoard.FloorMap";
27
+ var FloorMap_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,45 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.tsx
30
+ var ShellBodyMetaContext_exports = {};
31
+ __export(ShellBodyMetaContext_exports, {
32
+ RecordBoardShellBodyMetaContext: () => RecordBoardShellBodyMetaContext,
33
+ useRecordBoardShellBodyMeta: () => useRecordBoardShellBodyMeta
34
+ });
35
+ module.exports = __toCommonJS(ShellBodyMetaContext_exports);
36
+ var import_react = __toESM(require("react"));
37
+ var RecordBoardShellBodyMetaContext = import_react.default.createContext(void 0);
38
+ function useRecordBoardShellBodyMeta() {
39
+ return import_react.default.useContext(RecordBoardShellBodyMetaContext);
40
+ }
41
+ // Annotate the CommonJS export names for ESM import in node:
42
+ 0 && (module.exports = {
43
+ RecordBoardShellBodyMetaContext,
44
+ useRecordBoardShellBodyMeta
45
+ });
@@ -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 时不渲染。
@@ -33,6 +33,7 @@ __export(ToolBar_exports, {
33
33
  });
34
34
  module.exports = __toCommonJS(ToolBar_exports);
35
35
  var import_react = __toESM(require("react"));
36
+ var import_classnames = __toESM(require("classnames"));
36
37
  var import_antd = require("antd");
37
38
  var import_SwitchVertical01 = __toESM(require("@pisell/icon/es/SwitchVertical01"));
38
39
  var import_ToolBar = __toESM(require("../../../pisellGridPro/ToolBar"));
@@ -42,16 +43,28 @@ var import_sort = __toESM(require("../../../sort"));
42
43
  var import_ToolBarReset = __toESM(require("../ToolBarReset"));
43
44
  var import_ToolBarQuickFilter = __toESM(require("../ToolBarQuickFilter"));
44
45
  var import_ColumnSetting = __toESM(require("../ColumnSetting"));
46
+ var import_ShellBodyMetaContext = require("../ShellBodyMetaContext");
45
47
  var import_useRecordBoardContext = require("../../hooks/useRecordBoardContext");
46
48
  var import_utils = require("@pisell/utils");
47
49
  var import_locales = require("../../../../locales");
48
50
  var import_ToolBarFilter = require("./ToolBarFilter.less");
51
+ var import_recordBoardToolbar = require("./recordBoardToolbar.less");
49
52
  var import_recordBoardColumns = require("../../utils/recordBoardColumns");
50
53
  function getSortButtonText() {
51
54
  const key = "pisell2.recordBoard.toolbar.sort";
52
55
  const u = import_utils.locales.getText(key);
53
56
  return u && u !== key ? u : (0, import_locales.getText)(key) || (0, import_locales.getText)("sort-button-text");
54
57
  }
58
+ function getViewGridLabel() {
59
+ const key = "pisell2.recordBoard.toolbar.viewGrid";
60
+ const u = import_utils.locales.getText(key);
61
+ return u && u !== key ? u : (0, import_locales.getText)(key) || "Table";
62
+ }
63
+ function getViewFloorMapLabel() {
64
+ const key = "pisell2.recordBoard.toolbar.viewFloorMap";
65
+ const u = import_utils.locales.getText(key);
66
+ return u && u !== key ? u : (0, import_locales.getText)(key) || "Floor map";
67
+ }
55
68
  var DEFAULT_SEARCH_FIELD = "keyword";
56
69
  var FILTER_PARAMS_FIELD = "filter";
57
70
  var SORT_PARAMS_FIELD = "sort";
@@ -64,7 +77,12 @@ function getDefaultFilterValue() {
64
77
  var RecordBoardToolBar = (props) => {
65
78
  var _a, _b, _c;
66
79
  const ctx = (0, import_useRecordBoardContext.useRecordBoardContext)({ displayName: "toolBar" });
67
- const { searchParams, onSearch } = ctx;
80
+ const shellMeta = (0, import_ShellBodyMetaContext.useRecordBoardShellBodyMeta)();
81
+ const { searchParams, onSearch, bodyView, setBodyView } = ctx;
82
+ const hasGridInShell = (shellMeta == null ? void 0 : shellMeta.hasGridContent) ?? true;
83
+ const hasFloorInShell = (shellMeta == null ? void 0 : shellMeta.hasFloorMapSlot) ?? ctx.floorMapProps != null;
84
+ const floorForToggle = (shellMeta == null ? void 0 : shellMeta.effectiveFloorMapProps) ?? ctx.floorMapProps;
85
+ const showTableFloorToggle = hasGridInShell && hasFloorInShell && floorForToggle != null;
68
86
  const slots = ((_a = ctx.childComponentProps) == null ? void 0 : _a.toolBar) ?? {};
69
87
  const keyword = (searchParams == null ? void 0 : searchParams[DEFAULT_SEARCH_FIELD]) ?? "";
70
88
  const handleSearch = (0, import_react.useCallback)(
@@ -100,8 +118,22 @@ var RecordBoardToolBar = (props) => {
100
118
  const quickFilterList = (0, import_react.useMemo)(() => {
101
119
  if (quickFilterConfig === false) return [];
102
120
  const fromConfig = typeof quickFilterConfig === "object" && quickFilterConfig !== null && Array.isArray(quickFilterConfig.filterList) ? quickFilterConfig.filterList : null;
103
- return fromConfig ?? (derivedFilterFromColumns == null ? void 0 : derivedFilterFromColumns.quickFilter) ?? [];
104
- }, [quickFilterConfig, derivedFilterFromColumns == null ? void 0 : derivedFilterFromColumns.quickFilter]);
121
+ let list = fromConfig ?? (derivedFilterFromColumns == null ? void 0 : derivedFilterFromColumns.quickFilter) ?? [];
122
+ const hideNames = typeof quickFilterConfig === "object" && quickFilterConfig !== null && Array.isArray(quickFilterConfig.hideFilterNamesOnFloorMap) ? quickFilterConfig.hideFilterNamesOnFloorMap : null;
123
+ if (bodyView === "floorMap" && showTableFloorToggle && hideNames != null && hideNames.length > 0) {
124
+ const hideSet = new Set(hideNames.map(String));
125
+ list = list.filter((item) => {
126
+ const n = item.name ?? item.key;
127
+ return n == null || !hideSet.has(String(n));
128
+ });
129
+ }
130
+ return list;
131
+ }, [
132
+ quickFilterConfig,
133
+ derivedFilterFromColumns == null ? void 0 : derivedFilterFromColumns.quickFilter,
134
+ bodyView,
135
+ showTableFloorToggle
136
+ ]);
105
137
  const showQuickFilterLeft = quickFilterList.length > 0;
106
138
  const quickFilterNode = showQuickFilterLeft ? /* @__PURE__ */ import_react.default.createElement(
107
139
  import_ToolBarQuickFilter.default,
@@ -111,7 +143,23 @@ var RecordBoardToolBar = (props) => {
111
143
  size: typeof quickFilterConfig === "object" && quickFilterConfig !== null ? quickFilterConfig.size ?? "large" : "large"
112
144
  }
113
145
  ) : null;
114
- const topLeft = /* @__PURE__ */ import_react.default.createElement("div", { className: "record-board-toolbar-top-left" }, quickFilterNode, searchNode ? /* @__PURE__ */ import_react.default.createElement("div", { className: "record-board-toolbar-find-wrap" }, searchNode) : null, slots.topLeft);
146
+ const bodyViewToggle = showTableFloorToggle ? /* @__PURE__ */ import_react.default.createElement(
147
+ import_antd.Segmented,
148
+ {
149
+ className: "record-board-toolbar-body-view-segmented",
150
+ size: "large",
151
+ value: bodyView,
152
+ onChange: (v) => setBodyView(v),
153
+ options: [
154
+ { label: getViewGridLabel(), value: "grid" },
155
+ { label: getViewFloorMapLabel(), value: "floorMap" }
156
+ ],
157
+ style: { marginRight: 8 }
158
+ }
159
+ ) : null;
160
+ const compactFloorMapToolbar = bodyView === "floorMap" && showTableFloorToggle;
161
+ const hideBodyViewToggleInToolbarRow = showTableFloorToggle && Boolean(slots.tabs) && bodyView === "floorMap";
162
+ const topLeft = compactFloorMapToolbar ? null : /* @__PURE__ */ import_react.default.createElement("div", { className: "record-board-toolbar-top-left" }, !hideBodyViewToggleInToolbarRow ? bodyViewToggle : null, quickFilterNode, searchNode ? /* @__PURE__ */ import_react.default.createElement("div", { className: "record-board-toolbar-find-wrap" }, searchNode) : null, slots.topLeft);
115
163
  const sortConfig = slots.sort;
116
164
  const hideSort = sortConfig === false;
117
165
  const sortValue = searchParams == null ? void 0 : searchParams[SORT_PARAMS_FIELD];
@@ -229,17 +277,21 @@ var RecordBoardToolBar = (props) => {
229
277
  }
230
278
  );
231
279
  const showColumnSetting = slots.columnSetting !== false && Array.isArray(gridColumns) && gridColumns.length > 0;
232
- const topRight = /* @__PURE__ */ import_react.default.createElement(import_antd.Space, null, showColumnSetting ? /* @__PURE__ */ import_react.default.createElement(import_ColumnSetting.default, null) : null, sortNode, filterNode, /* @__PURE__ */ import_react.default.createElement(import_ToolBarReset.default, { size: "large" }), slots.topRight);
280
+ const topRight = compactFloorMapToolbar ? null : /* @__PURE__ */ import_react.default.createElement(import_antd.Space, null, showColumnSetting ? /* @__PURE__ */ import_react.default.createElement(import_ColumnSetting.default, null) : null, sortNode, filterNode, /* @__PURE__ */ import_react.default.createElement(import_ToolBarReset.default, { size: "large" }), slots.topRight);
233
281
  return /* @__PURE__ */ import_react.default.createElement(
234
282
  import_ToolBar.default,
235
283
  {
236
- className: slots.className,
284
+ className: (0, import_classnames.default)(
285
+ bodyView === "floorMap" && "pisell-record-board-toolbar--floor-map",
286
+ bodyView === "grid" && "pisell-record-board-toolbar--grid",
287
+ slots.className
288
+ ),
237
289
  style: slots.style,
238
290
  tabs: slots.tabs,
239
291
  topLeft,
240
292
  topRight,
241
- bottomLeft: slots.bottomLeft,
242
- bottomRight: slots.bottomRight
293
+ bottomLeft: compactFloorMapToolbar ? null : slots.bottomLeft,
294
+ bottomRight: compactFloorMapToolbar ? null : slots.bottomRight
243
295
  }
244
296
  );
245
297
  };
@@ -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';
@@ -30,23 +30,32 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  var shellFrame_exports = {};
31
31
  __export(shellFrame_exports, {
32
32
  RecordBoardBatchActionBar: () => import_BatchActionBar.default,
33
+ RecordBoardFloorMap: () => import_FloorMap.default,
33
34
  RecordBoardPagination: () => import_Pagination.default,
34
35
  RecordBoardSearch: () => import_Search.default,
35
36
  RecordBoardToolBar: () => import_ToolBar.default,
36
37
  ToolBarQuickFilter: () => import_ToolBarQuickFilter.default,
37
38
  ToolBarReset: () => import_ToolBarReset.default,
38
- default: () => shellFrame_default
39
+ default: () => shellFrame_default,
40
+ useRecordBoardShellBodyMeta: () => import_ShellBodyMetaContext2.useRecordBoardShellBodyMeta
39
41
  });
40
42
  module.exports = __toCommonJS(shellFrame_exports);
41
43
  var import_react = __toESM(require("react"));
44
+ var import_classnames = __toESM(require("classnames"));
42
45
  var import_pisellShellFrame = require("../../pisellShellFrame");
46
+ var import_pisellFloorMapLayout = require("../../pisellFloorMapLayout");
43
47
  var import_useRecordBoardContext = require("../hooks/useRecordBoardContext");
48
+ var import_partitionShellFrameChildren = require("../utils/partitionShellFrameChildren");
44
49
  var import_ToolBar = __toESM(require("./ToolBar"));
45
50
  var import_BatchActionBar = __toESM(require("./BatchActionBar"));
46
51
  var import_Pagination = __toESM(require("./Pagination"));
47
52
  var import_Search = __toESM(require("./Search"));
53
+ var import_shellFrameFloorMap = require("./shellFrameFloorMap.less");
48
54
  var import_ToolBarReset = __toESM(require("./ToolBarReset"));
49
55
  var import_ToolBarQuickFilter = __toESM(require("./ToolBarQuickFilter"));
56
+ var import_FloorMap = __toESM(require("./FloorMap"));
57
+ var import_ShellBodyMetaContext = require("./ShellBodyMetaContext");
58
+ var import_ShellBodyMetaContext2 = require("./ShellBodyMetaContext");
50
59
  var FILL_HEIGHT_SCROLL_STYLE = {
51
60
  flex: 1,
52
61
  minHeight: 0,
@@ -93,22 +102,103 @@ var FILL_HEIGHT_WRAPPER_STYLE = {
93
102
  };
94
103
  var RecordBoardShellFrame = ({ children, className, style }) => {
95
104
  var _a, _b, _c;
96
- const ctx = (0, import_useRecordBoardContext.useRecordBoardContext)({ displayName: "RecordBoard.ShellFrame" });
105
+ const ctx = (0, import_useRecordBoardContext.useRecordBoardContext)();
97
106
  const fillHeight = (ctx == null ? void 0 : ctx.fillHeight) === true;
98
- const bodyContent = fillHeight ? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(
107
+ const {
108
+ gridChildren,
109
+ floorMapPropsFromChild,
110
+ hasGridContent,
111
+ hasFloorMapChild
112
+ } = (0, import_react.useMemo)(() => (0, import_partitionShellFrameChildren.partitionShellFrameChildren)(children), [children]);
113
+ const effectiveFloorMapProps = (0, import_react.useMemo)(() => {
114
+ if (hasFloorMapChild) {
115
+ return {
116
+ ...ctx.floorMapProps ?? {},
117
+ ...floorMapPropsFromChild ?? {}
118
+ };
119
+ }
120
+ return ctx.floorMapProps;
121
+ }, [hasFloorMapChild, floorMapPropsFromChild, ctx.floorMapProps]);
122
+ const mergedFloorMapDataSources = (0, import_react.useMemo)(() => {
123
+ const root = ctx.dataSources;
124
+ const fromFloor = effectiveFloorMapProps == null ? void 0 : effectiveFloorMapProps.dataSources;
125
+ if (root == null && fromFloor == null) return void 0;
126
+ return { ...root ?? {}, ...fromFloor ?? {} };
127
+ }, [ctx.dataSources, effectiveFloorMapProps == null ? void 0 : effectiveFloorMapProps.dataSources]);
128
+ const hasFloorMapSlot = hasFloorMapChild || ctx.floorMapProps != null;
129
+ const shellBodyMeta = (0, import_react.useMemo)(
130
+ () => ({
131
+ effectiveFloorMapProps,
132
+ hasGridContent,
133
+ hasFloorMapSlot
134
+ }),
135
+ [effectiveFloorMapProps, hasGridContent, hasFloorMapSlot]
136
+ );
137
+ const showGrid = (0, import_react.useMemo)(() => {
138
+ if (!hasFloorMapSlot) return true;
139
+ if (!hasGridContent) return false;
140
+ return ctx.bodyView === "grid";
141
+ }, [hasFloorMapSlot, hasGridContent, ctx.bodyView]);
142
+ (0, import_react.useLayoutEffect)(() => {
143
+ if (!ctx.setBodyView) return;
144
+ if (hasFloorMapSlot && !hasGridContent) {
145
+ ctx.setBodyView("floorMap");
146
+ return;
147
+ }
148
+ if (hasGridContent && !hasFloorMapSlot) {
149
+ ctx.setBodyView("grid");
150
+ }
151
+ }, [hasFloorMapSlot, hasGridContent, ctx.setBodyView]);
152
+ const floorMapLayoutProviderValue = (0, import_react.useMemo)(
153
+ () => ctx.floorMapLayoutContext ?? import_pisellFloorMapLayout.EMPTY_FLOOR_MAP_LAYOUT_CONTEXT,
154
+ [ctx.floorMapLayoutContext]
155
+ );
156
+ const floorMapNode = effectiveFloorMapProps && !showGrid ? /* @__PURE__ */ import_react.default.createElement(
157
+ "div",
158
+ {
159
+ className: "pisell-record-board-floor-map-viewport",
160
+ style: {
161
+ flex: 1,
162
+ minHeight: 0,
163
+ display: "flex",
164
+ flexDirection: "column",
165
+ overflow: "hidden",
166
+ position: "relative"
167
+ }
168
+ },
169
+ /* @__PURE__ */ import_react.default.createElement(import_pisellFloorMapLayout.FloorMapLayoutProvider, { value: floorMapLayoutProviderValue }, /* @__PURE__ */ import_react.default.createElement(
170
+ import_pisellFloorMapLayout.PisellFloorMapLayout,
171
+ {
172
+ ref: ctx.floorMapLayoutRef ?? void 0,
173
+ ...effectiveFloorMapProps,
174
+ ...mergedFloorMapDataSources !== void 0 ? { dataSources: mergedFloorMapDataSources } : {},
175
+ items: effectiveFloorMapProps.items ?? [],
176
+ renderItem: effectiveFloorMapProps.renderItem ?? (() => null),
177
+ style: {
178
+ flex: 1,
179
+ minHeight: 0,
180
+ ...effectiveFloorMapProps.style ?? {}
181
+ }
182
+ }
183
+ )),
184
+ ctx.floorMapFooter ? /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-record-board-floor-map-floating-slot" }, ctx.floorMapFooter) : null
185
+ ) : null;
186
+ const bodyContent = fillHeight ? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, showGrid ? /* @__PURE__ */ import_react.default.createElement(
99
187
  ScrollAreaMeasurer,
100
188
  {
101
189
  onHeight: (ctx == null ? void 0 : ctx.setScrollAreaHeight) ?? (() => {
102
190
  }),
103
191
  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
104
192
  },
105
- children
106
- ), /* @__PURE__ */ import_react.default.createElement(import_Pagination.default, null)) : /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, children, /* @__PURE__ */ import_react.default.createElement(import_Pagination.default, null));
193
+ gridChildren
194
+ ) : floorMapNode, showGrid ? /* @__PURE__ */ import_react.default.createElement(import_Pagination.default, null) : null) : /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, showGrid ? gridChildren : floorMapNode, showGrid ? /* @__PURE__ */ import_react.default.createElement(import_Pagination.default, null) : null);
107
195
  const shellStyle = fillHeight && style ? { ...style, ...FILL_HEIGHT_WRAPPER_STYLE } : fillHeight ? FILL_HEIGHT_WRAPPER_STYLE : style;
108
- const wrapper = /* @__PURE__ */ import_react.default.createElement(
196
+ const wrapper = /* @__PURE__ */ import_react.default.createElement(import_ShellBodyMetaContext.RecordBoardShellBodyMetaContext.Provider, { value: shellBodyMeta }, /* @__PURE__ */ import_react.default.createElement(
109
197
  import_pisellShellFrame.PisellShellFrame,
110
198
  {
111
- className,
199
+ className: (0, import_classnames.default)(className, {
200
+ "pisell-shell-frame--floor-map-view": !showGrid
201
+ }),
112
202
  style: shellStyle,
113
203
  config: {
114
204
  showToolbar: true,
@@ -118,7 +208,7 @@ var RecordBoardShellFrame = ({ children, className, style }) => {
118
208
  batchActionBar: /* @__PURE__ */ import_react.default.createElement(import_BatchActionBar.default, null)
119
209
  },
120
210
  bodyContent
121
- );
211
+ ));
122
212
  if (fillHeight) {
123
213
  return /* @__PURE__ */ import_react.default.createElement("div", { style: FILL_HEIGHT_WRAPPER_STYLE }, wrapper);
124
214
  }
@@ -129,9 +219,11 @@ var shellFrame_default = RecordBoardShellFrame;
129
219
  // Annotate the CommonJS export names for ESM import in node:
130
220
  0 && (module.exports = {
131
221
  RecordBoardBatchActionBar,
222
+ RecordBoardFloorMap,
132
223
  RecordBoardPagination,
133
224
  RecordBoardSearch,
134
225
  RecordBoardToolBar,
135
226
  ToolBarQuickFilter,
136
- ToolBarReset
227
+ ToolBarReset,
228
+ useRecordBoardShellBodyMeta
137
229
  });
@@ -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
+ }