@pisell/materials 1.0.1059 → 1.0.1062

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 (374) hide show
  1. package/README.md +285 -285
  2. package/build/lowcode/assets-daily.json +11 -11
  3. package/build/lowcode/assets-dev.json +2 -2
  4. package/build/lowcode/assets-prod.json +11 -11
  5. package/build/lowcode/index.js +1 -1
  6. package/build/lowcode/meta.js +7 -7
  7. package/build/lowcode/preview.js +9 -9
  8. package/build/lowcode/render/default/view.css +1 -1
  9. package/build/lowcode/render/default/view.js +27 -27
  10. package/build/lowcode/view.css +1 -1
  11. package/build/lowcode/view.js +27 -27
  12. package/es/components/PisellLayouts/index.d.ts +2 -1
  13. package/es/components/PisellLayouts/index.js +17 -15
  14. package/es/components/cardMetricItem/index.js +2 -2
  15. package/es/components/pisellFilter/type.d.ts +4 -2
  16. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.d.ts +1 -1
  17. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.js +474 -202
  18. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.less +70 -0
  19. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.stories.d.ts +13 -0
  20. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.stories.js +469 -38
  21. package/es/components/pisellFloorMapLayout/components/CanvasTabs.d.ts +22 -0
  22. package/es/components/pisellFloorMapLayout/components/CanvasTabs.js +203 -0
  23. package/es/components/pisellFloorMapLayout/components/CanvasTabs.less +189 -0
  24. package/es/components/pisellFloorMapLayout/components/EditableItemLayer.d.ts +37 -0
  25. package/es/components/pisellFloorMapLayout/components/EditableItemLayer.js +341 -0
  26. package/es/components/pisellFloorMapLayout/components/EditableItemLayer.less +89 -0
  27. package/es/components/pisellFloorMapLayout/components/FigmaTableCard.d.ts +39 -0
  28. package/es/components/pisellFloorMapLayout/components/FigmaTableCard.js +432 -0
  29. package/es/components/pisellFloorMapLayout/components/FloorMapDataForm.d.ts +17 -0
  30. package/es/components/pisellFloorMapLayout/components/FloorMapDataForm.js +131 -0
  31. package/es/components/pisellFloorMapLayout/components/FloorMapDataForm.less +7 -0
  32. package/es/components/pisellFloorMapLayout/components/FloorMapEditPanel.d.ts +11 -0
  33. package/es/components/pisellFloorMapLayout/components/FloorMapEditPanel.js +497 -0
  34. package/es/components/pisellFloorMapLayout/components/FloorMapEditPanel.less +154 -0
  35. package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.d.ts +34 -0
  36. package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.js +130 -0
  37. package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.less +131 -0
  38. package/es/components/pisellFloorMapLayout/components/FloorMapImageElement.d.ts +6 -0
  39. package/es/components/pisellFloorMapLayout/components/FloorMapImageElement.js +69 -0
  40. package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.d.ts +35 -0
  41. package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.js +361 -0
  42. package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.less +237 -0
  43. package/es/components/pisellFloorMapLayout/components/ItemLayer.d.ts +7 -0
  44. package/es/components/pisellFloorMapLayout/components/ItemLayer.js +37 -11
  45. package/es/components/pisellFloorMapLayout/components/MapLayer.d.ts +4 -0
  46. package/es/components/pisellFloorMapLayout/components/MapLayer.js +11 -3
  47. package/es/components/pisellFloorMapLayout/components/ViewControls.js +2 -2
  48. package/es/components/pisellFloorMapLayout/components/ViewControls.less +3 -2
  49. package/es/components/pisellFloorMapLayout/components/ViewControlsWithZoom.d.ts +11 -0
  50. package/es/components/pisellFloorMapLayout/components/ViewControlsWithZoom.js +27 -0
  51. package/es/components/pisellFloorMapLayout/components/index.d.ts +14 -0
  52. package/es/components/pisellFloorMapLayout/components/index.js +8 -1
  53. package/es/components/pisellFloorMapLayout/context/FloorMapLayoutContext.d.ts +16 -0
  54. package/es/components/pisellFloorMapLayout/context/FloorMapLayoutContext.js +21 -0
  55. package/es/components/pisellFloorMapLayout/context/mergeFloorMapLayoutContext.d.ts +5 -0
  56. package/es/components/pisellFloorMapLayout/context/mergeFloorMapLayoutContext.js +28 -0
  57. package/es/components/pisellFloorMapLayout/hooks/useFloorMapEditState.d.ts +62 -0
  58. package/es/components/pisellFloorMapLayout/hooks/useFloorMapEditState.js +438 -0
  59. package/es/components/pisellFloorMapLayout/hooks/useFloorMapPaletteTouchDrag.d.ts +21 -0
  60. package/es/components/pisellFloorMapLayout/hooks/useFloorMapPaletteTouchDrag.js +122 -0
  61. package/es/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.d.ts +67 -0
  62. package/es/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.js +322 -0
  63. package/es/components/pisellFloorMapLayout/index.d.ts +9 -2
  64. package/es/components/pisellFloorMapLayout/index.js +7 -2
  65. package/es/components/pisellFloorMapLayout/locales.d.ts +186 -0
  66. package/es/components/pisellFloorMapLayout/locales.js +185 -0
  67. package/es/components/pisellFloorMapLayout/types.d.ts +362 -1
  68. package/es/components/pisellFloorMapLayout/types.js +148 -1
  69. package/es/components/pisellFloorMapLayout/utils/floorMapCanvasDisplay.d.ts +20 -0
  70. package/es/components/pisellFloorMapLayout/utils/floorMapCanvasDisplay.js +129 -0
  71. package/es/components/pisellFloorMapLayout/utils/floorMapConfigMerge.d.ts +8 -0
  72. package/es/components/pisellFloorMapLayout/utils/floorMapConfigMerge.js +87 -0
  73. package/es/components/pisellFloorMapLayout/utils/floorMapDropUtils.d.ts +26 -0
  74. package/es/components/pisellFloorMapLayout/utils/floorMapDropUtils.js +47 -0
  75. package/es/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.d.ts +11 -0
  76. package/es/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.js +69 -0
  77. package/es/components/pisellFloorMapLayout/utils/floorMapFallbackRender.d.ts +11 -0
  78. package/es/components/pisellFloorMapLayout/utils/floorMapFallbackRender.js +88 -0
  79. package/es/components/pisellFloorMapLayout/utils/floorMapStageDefaults.d.ts +8 -0
  80. package/es/components/pisellFloorMapLayout/utils/floorMapStageDefaults.js +8 -0
  81. package/es/components/pisellFloorMapLayout/utils/floorMapViewConfigDiff.d.ts +8 -0
  82. package/es/components/pisellFloorMapLayout/utils/floorMapViewConfigDiff.js +108 -0
  83. package/es/components/pisellFloorMapLayout/utils/layoutMeasurements.d.ts +30 -0
  84. package/es/components/pisellFloorMapLayout/utils/layoutMeasurements.js +125 -0
  85. package/es/components/pisellFloorMapLayout/utils/mergeCanvasesForTabs.d.ts +7 -0
  86. package/es/components/pisellFloorMapLayout/utils/mergeCanvasesForTabs.js +29 -0
  87. package/es/components/pisellFloorMapLayout/utils/snap.d.ts +10 -0
  88. package/es/components/pisellFloorMapLayout/utils/snap.js +21 -0
  89. package/es/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.d.ts +6 -0
  90. package/es/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.js +175 -0
  91. package/es/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.less +129 -0
  92. package/es/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.stories.d.ts +10 -0
  93. package/es/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.stories.js +237 -0
  94. package/es/components/pisellHierarchicalSummaryList/components/Row.d.ts +35 -0
  95. package/es/components/pisellHierarchicalSummaryList/components/Row.js +313 -0
  96. package/es/components/pisellHierarchicalSummaryList/components/index.d.ts +1 -0
  97. package/es/components/pisellHierarchicalSummaryList/components/index.js +1 -0
  98. package/es/components/pisellHierarchicalSummaryList/hooks/index.d.ts +2 -0
  99. package/es/components/pisellHierarchicalSummaryList/hooks/index.js +1 -0
  100. package/es/components/pisellHierarchicalSummaryList/hooks/useExpandedKeys.d.ts +15 -0
  101. package/es/components/pisellHierarchicalSummaryList/hooks/useExpandedKeys.js +34 -0
  102. package/es/components/pisellHierarchicalSummaryList/index.d.ts +5 -0
  103. package/es/components/pisellHierarchicalSummaryList/index.js +5 -0
  104. package/es/components/pisellHierarchicalSummaryList/types.d.ts +248 -0
  105. package/es/components/pisellHierarchicalSummaryList/types.js +1 -0
  106. package/es/components/pisellLookup/PisellLookup.js +82 -82
  107. package/es/components/pisellMultipleSelect/PisellMultipleSelect.stories.js +34 -34
  108. package/es/components/pisellRecordBoard/PisellRecordBoard.d.ts +2 -1
  109. package/es/components/pisellRecordBoard/PisellRecordBoard.js +95 -18
  110. package/es/components/pisellRecordBoard/PisellRecordBoard.stories.d.ts +4 -0
  111. package/es/components/pisellRecordBoard/PisellRecordBoard.stories.js +1315 -383
  112. package/es/components/pisellRecordBoard/index.d.ts +7 -2
  113. package/es/components/pisellRecordBoard/index.js +2 -1
  114. package/es/components/pisellRecordBoard/shellFrame/ColumnSetting/index.js +1 -3
  115. package/es/components/pisellRecordBoard/shellFrame/FloorMap.d.ts +14 -0
  116. package/es/components/pisellRecordBoard/shellFrame/FloorMap.js +15 -0
  117. package/es/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.d.ts +16 -0
  118. package/es/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.js +11 -0
  119. package/es/components/pisellRecordBoard/shellFrame/ToolBar/ToolBarFilter.less +47 -0
  120. package/es/components/pisellRecordBoard/shellFrame/ToolBar/index.js +57 -10
  121. package/es/components/pisellRecordBoard/shellFrame/ToolBarReset/index.js +3 -3
  122. package/es/components/pisellRecordBoard/shellFrame/index.d.ts +4 -10
  123. package/es/components/pisellRecordBoard/shellFrame/index.js +101 -19
  124. package/es/components/pisellRecordBoard/types.d.ts +62 -2
  125. package/es/components/pisellRecordBoard/utils/partitionShellFrameChildren.d.ts +15 -0
  126. package/es/components/pisellRecordBoard/utils/partitionShellFrameChildren.js +57 -0
  127. package/es/components/pisellReservationSchedule/PisellReservationSchedule.d.ts +10 -0
  128. package/es/components/pisellReservationSchedule/PisellReservationSchedule.js +156 -0
  129. package/es/components/pisellReservationSchedule/PisellReservationSchedule.less +88 -0
  130. package/es/components/pisellReservationSchedule/PisellReservationSchedule.stories.d.ts +12 -0
  131. package/es/components/pisellReservationSchedule/PisellReservationSchedule.stories.js +105 -0
  132. package/es/components/pisellReservationSchedule/index.d.ts +2 -0
  133. package/es/components/pisellReservationSchedule/index.js +1 -0
  134. package/es/components/pisellReservationSchedule/locales.d.ts +25 -0
  135. package/es/components/pisellReservationSchedule/locales.js +24 -0
  136. package/es/components/pisellReservationSchedule/types.d.ts +42 -0
  137. package/es/components/pisellReservationSchedule/types.js +1 -0
  138. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.d.ts +10 -0
  139. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.js +91 -0
  140. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.less +49 -0
  141. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.stories.d.ts +16 -0
  142. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.stories.js +197 -0
  143. package/es/components/pisellReservationScheduleBand/index.d.ts +2 -0
  144. package/es/components/pisellReservationScheduleBand/index.js +1 -0
  145. package/es/components/pisellReservationScheduleBand/types.d.ts +45 -0
  146. package/es/components/pisellReservationScheduleBand/types.js +1 -0
  147. package/es/components/pisellRow/index.js +7 -7
  148. package/es/components/pisellTimeNavigator/PisellTimeNavigator.d.ts +10 -0
  149. package/es/components/pisellTimeNavigator/PisellTimeNavigator.js +609 -0
  150. package/es/components/pisellTimeNavigator/PisellTimeNavigator.less +412 -0
  151. package/es/components/pisellTimeNavigator/PisellTimeNavigator.stories.d.ts +79 -0
  152. package/es/components/pisellTimeNavigator/PisellTimeNavigator.stories.js +290 -0
  153. package/es/components/pisellTimeNavigator/components/BackgroundLayer.d.ts +14 -0
  154. package/es/components/pisellTimeNavigator/components/BackgroundLayer.js +30 -0
  155. package/es/components/pisellTimeNavigator/components/CursorLayer.d.ts +20 -0
  156. package/es/components/pisellTimeNavigator/components/CursorLayer.js +46 -0
  157. package/es/components/pisellTimeNavigator/components/GestureLayer.d.ts +31 -0
  158. package/es/components/pisellTimeNavigator/components/GestureLayer.js +82 -0
  159. package/es/components/pisellTimeNavigator/components/NowButton.d.ts +14 -0
  160. package/es/components/pisellTimeNavigator/components/NowButton.js +38 -0
  161. package/es/components/pisellTimeNavigator/components/ScaleLayer.d.ts +17 -0
  162. package/es/components/pisellTimeNavigator/components/ScaleLayer.js +51 -0
  163. package/es/components/pisellTimeNavigator/components/index.d.ts +5 -0
  164. package/es/components/pisellTimeNavigator/components/index.js +5 -0
  165. package/es/components/pisellTimeNavigator/hooks/index.d.ts +5 -0
  166. package/es/components/pisellTimeNavigator/hooks/index.js +3 -0
  167. package/es/components/pisellTimeNavigator/hooks/useDragInertia.d.ts +14 -0
  168. package/es/components/pisellTimeNavigator/hooks/useDragInertia.js +109 -0
  169. package/es/components/pisellTimeNavigator/hooks/useRealtime.d.ts +5 -0
  170. package/es/components/pisellTimeNavigator/hooks/useRealtime.js +16 -0
  171. package/es/components/pisellTimeNavigator/hooks/useTimeAxis.d.ts +27 -0
  172. package/es/components/pisellTimeNavigator/hooks/useTimeAxis.js +76 -0
  173. package/es/components/pisellTimeNavigator/index.d.ts +4 -0
  174. package/es/components/pisellTimeNavigator/index.js +3 -0
  175. package/es/components/pisellTimeNavigator/locales.d.ts +22 -0
  176. package/es/components/pisellTimeNavigator/locales.js +21 -0
  177. package/es/components/pisellTimeNavigator/types.d.ts +149 -0
  178. package/es/components/pisellTimeNavigator/types.js +1 -0
  179. package/es/components/pisellTimeNavigator/utils/index.d.ts +30 -0
  180. package/es/components/pisellTimeNavigator/utils/index.js +116 -0
  181. package/es/index.d.ts +15 -5
  182. package/es/index.js +7 -1
  183. package/es/locales/en-US.d.ts +2 -0
  184. package/es/locales/en-US.js +6 -4
  185. package/es/locales/zh-CN.d.ts +2 -0
  186. package/es/locales/zh-CN.js +6 -4
  187. package/es/locales/zh-TW.d.ts +2 -0
  188. package/es/locales/zh-TW.js +6 -4
  189. package/lib/components/PisellLayouts/index.d.ts +2 -1
  190. package/lib/components/PisellLayouts/index.js +13 -1
  191. package/lib/components/pisellFilter/type.d.ts +4 -2
  192. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.d.ts +1 -1
  193. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.js +566 -181
  194. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.less +70 -0
  195. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.stories.d.ts +13 -0
  196. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.stories.js +682 -84
  197. package/lib/components/pisellFloorMapLayout/components/CanvasTabs.d.ts +22 -0
  198. package/lib/components/pisellFloorMapLayout/components/CanvasTabs.js +237 -0
  199. package/lib/components/pisellFloorMapLayout/components/CanvasTabs.less +189 -0
  200. package/lib/components/pisellFloorMapLayout/components/EditableItemLayer.d.ts +37 -0
  201. package/lib/components/pisellFloorMapLayout/components/EditableItemLayer.js +358 -0
  202. package/lib/components/pisellFloorMapLayout/components/EditableItemLayer.less +89 -0
  203. package/lib/components/pisellFloorMapLayout/components/FigmaTableCard.d.ts +39 -0
  204. package/lib/components/pisellFloorMapLayout/components/FigmaTableCard.js +482 -0
  205. package/lib/components/pisellFloorMapLayout/components/FloorMapDataForm.d.ts +17 -0
  206. package/lib/components/pisellFloorMapLayout/components/FloorMapDataForm.js +117 -0
  207. package/lib/components/pisellFloorMapLayout/components/FloorMapDataForm.less +7 -0
  208. package/lib/components/pisellFloorMapLayout/components/FloorMapEditPanel.d.ts +11 -0
  209. package/lib/components/pisellFloorMapLayout/components/FloorMapEditPanel.js +508 -0
  210. package/lib/components/pisellFloorMapLayout/components/FloorMapEditPanel.less +154 -0
  211. package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.d.ts +34 -0
  212. package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.js +188 -0
  213. package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.less +131 -0
  214. package/lib/components/pisellFloorMapLayout/components/FloorMapImageElement.d.ts +6 -0
  215. package/lib/components/pisellFloorMapLayout/components/FloorMapImageElement.js +94 -0
  216. package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.d.ts +35 -0
  217. package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.js +333 -0
  218. package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.less +237 -0
  219. package/lib/components/pisellFloorMapLayout/components/ItemLayer.d.ts +7 -0
  220. package/lib/components/pisellFloorMapLayout/components/ItemLayer.js +26 -5
  221. package/lib/components/pisellFloorMapLayout/components/MapLayer.d.ts +4 -0
  222. package/lib/components/pisellFloorMapLayout/components/MapLayer.js +7 -2
  223. package/lib/components/pisellFloorMapLayout/components/ViewControls.less +3 -2
  224. package/lib/components/pisellFloorMapLayout/components/ViewControlsWithZoom.d.ts +11 -0
  225. package/lib/components/pisellFloorMapLayout/components/ViewControlsWithZoom.js +63 -0
  226. package/lib/components/pisellFloorMapLayout/components/index.d.ts +14 -0
  227. package/lib/components/pisellFloorMapLayout/components/index.js +23 -2
  228. package/lib/components/pisellFloorMapLayout/context/FloorMapLayoutContext.d.ts +16 -0
  229. package/lib/components/pisellFloorMapLayout/context/FloorMapLayoutContext.js +54 -0
  230. package/lib/components/pisellFloorMapLayout/context/mergeFloorMapLayoutContext.d.ts +5 -0
  231. package/lib/components/pisellFloorMapLayout/context/mergeFloorMapLayoutContext.js +47 -0
  232. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapEditState.d.ts +62 -0
  233. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapEditState.js +431 -0
  234. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapPaletteTouchDrag.d.ts +21 -0
  235. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapPaletteTouchDrag.js +146 -0
  236. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.d.ts +67 -0
  237. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.js +309 -0
  238. package/lib/components/pisellFloorMapLayout/index.d.ts +9 -2
  239. package/lib/components/pisellFloorMapLayout/index.js +31 -2
  240. package/lib/components/pisellFloorMapLayout/locales.d.ts +186 -0
  241. package/lib/components/pisellFloorMapLayout/locales.js +206 -0
  242. package/lib/components/pisellFloorMapLayout/types.d.ts +362 -1
  243. package/lib/components/pisellFloorMapLayout/types.js +15 -0
  244. package/lib/components/pisellFloorMapLayout/utils/floorMapCanvasDisplay.d.ts +20 -0
  245. package/lib/components/pisellFloorMapLayout/utils/floorMapCanvasDisplay.js +126 -0
  246. package/lib/components/pisellFloorMapLayout/utils/floorMapConfigMerge.d.ts +8 -0
  247. package/lib/components/pisellFloorMapLayout/utils/floorMapConfigMerge.js +66 -0
  248. package/lib/components/pisellFloorMapLayout/utils/floorMapDropUtils.d.ts +26 -0
  249. package/lib/components/pisellFloorMapLayout/utils/floorMapDropUtils.js +61 -0
  250. package/lib/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.d.ts +11 -0
  251. package/lib/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.js +70 -0
  252. package/lib/components/pisellFloorMapLayout/utils/floorMapFallbackRender.d.ts +11 -0
  253. package/lib/components/pisellFloorMapLayout/utils/floorMapFallbackRender.js +135 -0
  254. package/lib/components/pisellFloorMapLayout/utils/floorMapStageDefaults.d.ts +8 -0
  255. package/lib/components/pisellFloorMapLayout/utils/floorMapStageDefaults.js +33 -0
  256. package/lib/components/pisellFloorMapLayout/utils/floorMapViewConfigDiff.d.ts +8 -0
  257. package/lib/components/pisellFloorMapLayout/utils/floorMapViewConfigDiff.js +128 -0
  258. package/lib/components/pisellFloorMapLayout/utils/layoutMeasurements.d.ts +30 -0
  259. package/lib/components/pisellFloorMapLayout/utils/layoutMeasurements.js +96 -0
  260. package/lib/components/pisellFloorMapLayout/utils/mergeCanvasesForTabs.d.ts +7 -0
  261. package/lib/components/pisellFloorMapLayout/utils/mergeCanvasesForTabs.js +41 -0
  262. package/lib/components/pisellFloorMapLayout/utils/snap.d.ts +10 -0
  263. package/lib/components/pisellFloorMapLayout/utils/snap.js +43 -0
  264. package/lib/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.d.ts +6 -0
  265. package/lib/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.js +179 -0
  266. package/lib/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.less +129 -0
  267. package/lib/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.stories.d.ts +10 -0
  268. package/lib/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.stories.js +218 -0
  269. package/lib/components/pisellHierarchicalSummaryList/components/Row.d.ts +35 -0
  270. package/lib/components/pisellHierarchicalSummaryList/components/Row.js +343 -0
  271. package/lib/components/pisellHierarchicalSummaryList/components/index.d.ts +1 -0
  272. package/lib/components/pisellHierarchicalSummaryList/components/index.js +29 -0
  273. package/lib/components/pisellHierarchicalSummaryList/hooks/index.d.ts +2 -0
  274. package/lib/components/pisellHierarchicalSummaryList/hooks/index.js +29 -0
  275. package/lib/components/pisellHierarchicalSummaryList/hooks/useExpandedKeys.d.ts +15 -0
  276. package/lib/components/pisellHierarchicalSummaryList/hooks/useExpandedKeys.js +51 -0
  277. package/lib/components/pisellHierarchicalSummaryList/index.d.ts +5 -0
  278. package/lib/components/pisellHierarchicalSummaryList/index.js +31 -0
  279. package/lib/components/pisellHierarchicalSummaryList/types.d.ts +248 -0
  280. package/lib/components/pisellHierarchicalSummaryList/types.js +17 -0
  281. package/lib/components/pisellRecordBoard/PisellRecordBoard.d.ts +2 -1
  282. package/lib/components/pisellRecordBoard/PisellRecordBoard.js +82 -8
  283. package/lib/components/pisellRecordBoard/PisellRecordBoard.stories.d.ts +4 -0
  284. package/lib/components/pisellRecordBoard/PisellRecordBoard.stories.js +915 -25
  285. package/lib/components/pisellRecordBoard/index.d.ts +7 -2
  286. package/lib/components/pisellRecordBoard/index.js +1 -0
  287. package/lib/components/pisellRecordBoard/shellFrame/ColumnSetting/index.js +8 -2
  288. package/lib/components/pisellRecordBoard/shellFrame/FloorMap.d.ts +14 -0
  289. package/lib/components/pisellRecordBoard/shellFrame/FloorMap.js +27 -0
  290. package/lib/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.d.ts +16 -0
  291. package/lib/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.js +45 -0
  292. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/ToolBarFilter.less +47 -0
  293. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/index.js +48 -4
  294. package/lib/components/pisellRecordBoard/shellFrame/index.d.ts +4 -10
  295. package/lib/components/pisellRecordBoard/shellFrame/index.js +88 -6
  296. package/lib/components/pisellRecordBoard/types.d.ts +62 -2
  297. package/lib/components/pisellRecordBoard/utils/partitionShellFrameChildren.d.ts +15 -0
  298. package/lib/components/pisellRecordBoard/utils/partitionShellFrameChildren.js +88 -0
  299. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.d.ts +10 -0
  300. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.js +200 -0
  301. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.less +88 -0
  302. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.stories.d.ts +12 -0
  303. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.stories.js +116 -0
  304. package/lib/components/pisellReservationSchedule/index.d.ts +2 -0
  305. package/lib/components/pisellReservationSchedule/index.js +29 -0
  306. package/lib/components/pisellReservationSchedule/locales.d.ts +25 -0
  307. package/lib/components/pisellReservationSchedule/locales.js +47 -0
  308. package/lib/components/pisellReservationSchedule/types.d.ts +42 -0
  309. package/lib/components/pisellReservationSchedule/types.js +17 -0
  310. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.d.ts +10 -0
  311. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.js +127 -0
  312. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.less +49 -0
  313. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.stories.d.ts +16 -0
  314. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.stories.js +181 -0
  315. package/lib/components/pisellReservationScheduleBand/index.d.ts +2 -0
  316. package/lib/components/pisellReservationScheduleBand/index.js +29 -0
  317. package/lib/components/pisellReservationScheduleBand/types.d.ts +45 -0
  318. package/lib/components/pisellReservationScheduleBand/types.js +17 -0
  319. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.d.ts +10 -0
  320. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.js +716 -0
  321. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.less +412 -0
  322. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.stories.d.ts +79 -0
  323. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.stories.js +273 -0
  324. package/lib/components/pisellTimeNavigator/components/BackgroundLayer.d.ts +14 -0
  325. package/lib/components/pisellTimeNavigator/components/BackgroundLayer.js +81 -0
  326. package/lib/components/pisellTimeNavigator/components/CursorLayer.d.ts +20 -0
  327. package/lib/components/pisellTimeNavigator/components/CursorLayer.js +74 -0
  328. package/lib/components/pisellTimeNavigator/components/GestureLayer.d.ts +31 -0
  329. package/lib/components/pisellTimeNavigator/components/GestureLayer.js +159 -0
  330. package/lib/components/pisellTimeNavigator/components/NowButton.d.ts +14 -0
  331. package/lib/components/pisellTimeNavigator/components/NowButton.js +81 -0
  332. package/lib/components/pisellTimeNavigator/components/ScaleLayer.d.ts +17 -0
  333. package/lib/components/pisellTimeNavigator/components/ScaleLayer.js +95 -0
  334. package/lib/components/pisellTimeNavigator/components/index.d.ts +5 -0
  335. package/lib/components/pisellTimeNavigator/components/index.js +41 -0
  336. package/lib/components/pisellTimeNavigator/hooks/index.d.ts +5 -0
  337. package/lib/components/pisellTimeNavigator/hooks/index.js +35 -0
  338. package/lib/components/pisellTimeNavigator/hooks/useDragInertia.d.ts +14 -0
  339. package/lib/components/pisellTimeNavigator/hooks/useDragInertia.js +136 -0
  340. package/lib/components/pisellTimeNavigator/hooks/useRealtime.d.ts +5 -0
  341. package/lib/components/pisellTimeNavigator/hooks/useRealtime.js +49 -0
  342. package/lib/components/pisellTimeNavigator/hooks/useTimeAxis.d.ts +27 -0
  343. package/lib/components/pisellTimeNavigator/hooks/useTimeAxis.js +81 -0
  344. package/lib/components/pisellTimeNavigator/index.d.ts +4 -0
  345. package/lib/components/pisellTimeNavigator/index.js +42 -0
  346. package/lib/components/pisellTimeNavigator/locales.d.ts +22 -0
  347. package/lib/components/pisellTimeNavigator/locales.js +41 -0
  348. package/lib/components/pisellTimeNavigator/types.d.ts +149 -0
  349. package/lib/components/pisellTimeNavigator/types.js +17 -0
  350. package/lib/components/pisellTimeNavigator/utils/index.d.ts +30 -0
  351. package/lib/components/pisellTimeNavigator/utils/index.js +107 -0
  352. package/lib/index.d.ts +15 -5
  353. package/lib/index.js +35 -0
  354. package/lib/locales/en-US.d.ts +2 -0
  355. package/lib/locales/en-US.js +2 -0
  356. package/lib/locales/zh-CN.d.ts +2 -0
  357. package/lib/locales/zh-CN.js +2 -0
  358. package/lib/locales/zh-TW.d.ts +2 -0
  359. package/lib/locales/zh-TW.js +2 -0
  360. package/lowcode/floor-map-layout-provider/meta.ts +65 -0
  361. package/lowcode/pisell-floor-map-layout/meta.ts +3894 -1
  362. package/lowcode/pisell-hierarchical-summary-list/meta.ts +244 -0
  363. package/lowcode/pisell-reservation-schedule/index.ts +3 -0
  364. package/lowcode/pisell-reservation-schedule/meta.ts +69 -0
  365. package/lowcode/pisell-reservation-schedule/snippets.ts +1 -0
  366. package/lowcode/pisell-reservation-schedule-band/index.ts +3 -0
  367. package/lowcode/pisell-reservation-schedule-band/meta.ts +96 -0
  368. package/lowcode/pisell-reservation-schedule-band/snippets.ts +1 -0
  369. package/lowcode/pisell-time-navigator/index.ts +3 -0
  370. package/lowcode/pisell-time-navigator/meta.ts +298 -0
  371. package/lowcode/pisell-time-navigator/snippets.ts +1 -0
  372. package/lowcode/render-figma-style-round-table-card/meta.ts +589 -0
  373. package/lowcode/render-figma-style-table-card/meta.ts +589 -0
  374. package/package.json +3 -3
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 舞台/区域类装饰:落点默认尺寸与默认显示名(与 FLOOR_MAP_STAGE_ELEMENT_KIND 配套)
3
+ */
4
+ export var STAGE_DECO_DEFAULT = {
5
+ width: 320,
6
+ height: 120,
7
+ name: '舞台'
8
+ };
@@ -0,0 +1,8 @@
1
+ import type { FloorMapViewConfig } from '../types';
2
+ /**
3
+ * 与 {@link useFloorMapEditState} 中 `useEffect` 逻辑一致:补全 `canvasUi`、空 `elementKinds` 时的默认调色板、`sceneElements`。
4
+ * 用于从上游 prop 得到「可与当前 draft 公平比较」的基准配置。
5
+ */
6
+ export declare function normalizeFloorMapViewConfigFromProp(floorMapConfigProp: FloorMapViewConfig): FloorMapViewConfig;
7
+ /** 判断当前编辑草稿是否与基准配置一致(数组顺序无关) */
8
+ export declare function floorMapViewConfigsEqual(a: FloorMapViewConfig, b: FloorMapViewConfig): boolean;
@@ -0,0 +1,108 @@
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 _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
3
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
5
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
6
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
7
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
8
+ 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; }
9
+ 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; }
10
+ 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; }
11
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
12
+ 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); }
13
+ /**
14
+ * 平面图 FloorMapViewConfig:与 props 同步时的规范化、以及草稿与持久化配置是否一致的比较
15
+ */
16
+ import isEqual from 'lodash/isEqual';
17
+ import { FLOOR_MAP_IMAGE_ELEMENT_KIND, FLOOR_MAP_STAGE_ELEMENT_KIND } from "../types";
18
+ /**
19
+ * 与 {@link useFloorMapEditState} 中 `useEffect` 逻辑一致:补全 `canvasUi`、空 `elementKinds` 时的默认调色板、`sceneElements`。
20
+ * 用于从上游 prop 得到「可与当前 draft 公平比较」的基准配置。
21
+ */
22
+ export function normalizeFloorMapViewConfigFromProp(floorMapConfigProp) {
23
+ var _src$canCreate, _src$canEdit;
24
+ var src = floorMapConfigProp;
25
+ var base = src.canvasUi != null ? structuredClone(src) : structuredClone(_objectSpread(_objectSpread({}, src), {}, {
26
+ canvasUi: {
27
+ canCreate: (_src$canCreate = src.canCreate) !== null && _src$canCreate !== void 0 ? _src$canCreate : false,
28
+ canEdit: (_src$canEdit = src.canEdit) !== null && _src$canEdit !== void 0 ? _src$canEdit : false
29
+ }
30
+ }));
31
+ if (base.canvasUi.canCreate && (!base.elementKinds || base.elementKinds.length === 0)) {
32
+ base.elementKindCategories = [{
33
+ id: 'furniture',
34
+ label: '桌椅设施',
35
+ order: 0
36
+ }, {
37
+ id: 'decoration',
38
+ label: '装饰与区域',
39
+ order: 1
40
+ }];
41
+ base.elementKinds = [{
42
+ value: 'table',
43
+ label: '方桌',
44
+ categoryId: 'furniture',
45
+ dataBindingPolicy: 'optional',
46
+ allowedDataSourceKeys: ['sales'],
47
+ showInPalette: true
48
+ }, {
49
+ value: 'marker',
50
+ label: '标记',
51
+ categoryId: 'decoration',
52
+ dataBindingPolicy: 'none',
53
+ showInPalette: true
54
+ }, {
55
+ value: FLOOR_MAP_STAGE_ELEMENT_KIND,
56
+ label: '舞台/区域',
57
+ categoryId: 'decoration',
58
+ dataBindingPolicy: 'none',
59
+ showInPalette: true
60
+ }, {
61
+ value: FLOOR_MAP_IMAGE_ELEMENT_KIND,
62
+ label: '图片(底图)',
63
+ categoryId: 'decoration',
64
+ dataBindingPolicy: 'none',
65
+ showInPalette: true
66
+ }, {
67
+ value: 'icon',
68
+ label: '图标',
69
+ categoryId: 'decoration',
70
+ dataBindingPolicy: 'none',
71
+ defaultShape: 'circle',
72
+ showInPalette: true
73
+ }];
74
+ }
75
+ if (!base.sceneElements) base.sceneElements = [];
76
+ return base;
77
+ }
78
+ function sortStableForCompare(config) {
79
+ var _c$sceneElements, _c$elementKinds, _c$elementKindCategor, _c$edges;
80
+ var c = structuredClone(config);
81
+ c.canvases = _toConsumableArray(c.canvases).sort(function (a, b) {
82
+ return String(a.id).localeCompare(String(b.id));
83
+ });
84
+ c.sceneElements = _toConsumableArray((_c$sceneElements = c.sceneElements) !== null && _c$sceneElements !== void 0 ? _c$sceneElements : []).sort(function (a, b) {
85
+ return String(a.instanceId).localeCompare(String(b.instanceId));
86
+ });
87
+ if ((_c$elementKinds = c.elementKinds) !== null && _c$elementKinds !== void 0 && _c$elementKinds.length) {
88
+ c.elementKinds = _toConsumableArray(c.elementKinds).sort(function (a, b) {
89
+ return String(a.value).localeCompare(String(b.value));
90
+ });
91
+ }
92
+ if ((_c$elementKindCategor = c.elementKindCategories) !== null && _c$elementKindCategor !== void 0 && _c$elementKindCategor.length) {
93
+ c.elementKindCategories = _toConsumableArray(c.elementKindCategories).sort(function (a, b) {
94
+ return String(a.id).localeCompare(String(b.id));
95
+ });
96
+ }
97
+ if ((_c$edges = c.edges) !== null && _c$edges !== void 0 && _c$edges.length) {
98
+ c.edges = _toConsumableArray(c.edges).sort(function (a, b) {
99
+ return String(a.id).localeCompare(String(b.id));
100
+ });
101
+ }
102
+ return c;
103
+ }
104
+
105
+ /** 判断当前编辑草稿是否与基准配置一致(数组顺序无关) */
106
+ export function floorMapViewConfigsEqual(a, b) {
107
+ return isEqual(sortStableForCompare(a), sortStableForCompare(b));
108
+ }
@@ -0,0 +1,30 @@
1
+ /**
2
+ * 平面图/布局内容区尺寸计算:格子与像素单位、gap 解析、包围盒
3
+ */
4
+ import type { FloorMapItemBase, FloorMapItemUnit } from '../types';
5
+ /** 默认每格像素 */
6
+ export declare const DEFAULT_CELL_SIZE = 64;
7
+ /** 默认 item 间距(像素) */
8
+ export declare const DEFAULT_ITEM_GAP = 8;
9
+ /**
10
+ * 将 mapLayer.gap 解析为像素数
11
+ */
12
+ export declare function gapToPx(gap: number | string | undefined): number;
13
+ /**
14
+ * 根据 items 计算内容区像素宽高
15
+ * - cell:按格子数 + cellSize + itemGap 计算
16
+ * - pixel:按 item 的 x/y/width/height 像素取边界(仅右/下边界,用于非 floor map 或兼容)
17
+ */
18
+ export declare function getContentSize<T extends FloorMapItemBase>(items: T[], cellSize: number, itemGap: number, itemUnit: FloorMapItemUnit): {
19
+ contentWidth: number;
20
+ contentHeight: number;
21
+ };
22
+ /**
23
+ * pixel 模式下取 items 包围盒(含左/上),用于画布四周扩 padding 时的尺寸与偏移
24
+ */
25
+ export declare function getPixelBoundingBox<T extends FloorMapItemBase>(items: T[], cellSize: number): {
26
+ minLeft: number;
27
+ minTop: number;
28
+ maxRight: number;
29
+ maxBottom: number;
30
+ } | null;
@@ -0,0 +1,125 @@
1
+ function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
2
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
3
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
4
+ /**
5
+ * 平面图/布局内容区尺寸计算:格子与像素单位、gap 解析、包围盒
6
+ */
7
+
8
+ /** 默认每格像素 */
9
+ export var DEFAULT_CELL_SIZE = 64;
10
+
11
+ /** 默认 item 间距(像素) */
12
+ export var DEFAULT_ITEM_GAP = 8;
13
+
14
+ /**
15
+ * 将 mapLayer.gap 解析为像素数
16
+ */
17
+ export function gapToPx(gap) {
18
+ if (gap === undefined) return DEFAULT_ITEM_GAP;
19
+ if (typeof gap === 'number') return gap;
20
+ var match = String(gap).match(/^(\d+(?:\.\d+)?)\s*px?$/i);
21
+ return match ? Number(match[1]) : DEFAULT_ITEM_GAP;
22
+ }
23
+
24
+ /**
25
+ * 根据 items 计算内容区像素宽高
26
+ * - cell:按格子数 + cellSize + itemGap 计算
27
+ * - pixel:按 item 的 x/y/width/height 像素取边界(仅右/下边界,用于非 floor map 或兼容)
28
+ */
29
+ export function getContentSize(items, cellSize, itemGap, itemUnit) {
30
+ if (!items.length) {
31
+ if (itemUnit === 'pixel') {
32
+ return {
33
+ contentWidth: cellSize * 4,
34
+ contentHeight: cellSize * 3
35
+ };
36
+ }
37
+ var _g = itemGap;
38
+ return {
39
+ contentWidth: 4 * (cellSize + _g) + _g,
40
+ contentHeight: 3 * (cellSize + _g) + _g
41
+ };
42
+ }
43
+ if (itemUnit === 'pixel') {
44
+ var maxRight = 0;
45
+ var maxBottom = 0;
46
+ var _iterator = _createForOfIteratorHelper(items),
47
+ _step;
48
+ try {
49
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
50
+ var _item$width, _item$height;
51
+ var item = _step.value;
52
+ var w = (_item$width = item.width) !== null && _item$width !== void 0 ? _item$width : cellSize;
53
+ var h = (_item$height = item.height) !== null && _item$height !== void 0 ? _item$height : cellSize;
54
+ maxRight = Math.max(maxRight, item.x + w);
55
+ maxBottom = Math.max(maxBottom, item.y + h);
56
+ }
57
+ } catch (err) {
58
+ _iterator.e(err);
59
+ } finally {
60
+ _iterator.f();
61
+ }
62
+ return {
63
+ contentWidth: maxRight,
64
+ contentHeight: maxBottom
65
+ };
66
+ }
67
+ var maxX = 0;
68
+ var maxY = 0;
69
+ var _iterator2 = _createForOfIteratorHelper(items),
70
+ _step2;
71
+ try {
72
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
73
+ var _item$width2, _item$height2;
74
+ var _item = _step2.value;
75
+ var _w = (_item$width2 = _item.width) !== null && _item$width2 !== void 0 ? _item$width2 : 1;
76
+ var _h = (_item$height2 = _item.height) !== null && _item$height2 !== void 0 ? _item$height2 : 1;
77
+ maxX = Math.max(maxX, _item.x + _w);
78
+ maxY = Math.max(maxY, _item.y + _h);
79
+ }
80
+ } catch (err) {
81
+ _iterator2.e(err);
82
+ } finally {
83
+ _iterator2.f();
84
+ }
85
+ var g = itemGap;
86
+ return {
87
+ contentWidth: maxX * (cellSize + g) + g,
88
+ contentHeight: maxY * (cellSize + g) + g
89
+ };
90
+ }
91
+
92
+ /**
93
+ * pixel 模式下取 items 包围盒(含左/上),用于画布四周扩 padding 时的尺寸与偏移
94
+ */
95
+ export function getPixelBoundingBox(items, cellSize) {
96
+ if (!items.length) return null;
97
+ var minLeft = Infinity;
98
+ var minTop = Infinity;
99
+ var maxRight = -Infinity;
100
+ var maxBottom = -Infinity;
101
+ var _iterator3 = _createForOfIteratorHelper(items),
102
+ _step3;
103
+ try {
104
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
105
+ var _item$width3, _item$height3;
106
+ var item = _step3.value;
107
+ var w = (_item$width3 = item.width) !== null && _item$width3 !== void 0 ? _item$width3 : cellSize;
108
+ var h = (_item$height3 = item.height) !== null && _item$height3 !== void 0 ? _item$height3 : cellSize;
109
+ minLeft = Math.min(minLeft, item.x);
110
+ minTop = Math.min(minTop, item.y);
111
+ maxRight = Math.max(maxRight, item.x + w);
112
+ maxBottom = Math.max(maxBottom, item.y + h);
113
+ }
114
+ } catch (err) {
115
+ _iterator3.e(err);
116
+ } finally {
117
+ _iterator3.f();
118
+ }
119
+ return {
120
+ minLeft: minLeft,
121
+ minTop: minTop,
122
+ maxRight: maxRight,
123
+ maxBottom: maxBottom
124
+ };
125
+ }
@@ -0,0 +1,7 @@
1
+ import type { FloorMapCanvas, FloorMapViewConfig } from '../types';
2
+ /**
3
+ * 为画布 Tab 合并展示用字段:
4
+ * - `tabBadge` 若在配置中已给出则原样使用(含 0);
5
+ * - 否则用当前 `sceneElements` 中属于该画布的数量,且仅在大于 0 时展示角标。
6
+ */
7
+ export declare function mergeCanvasesForTabs(config: FloorMapViewConfig): FloorMapCanvas[];
@@ -0,0 +1,29 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ /**
8
+ * 为画布 Tab 合并展示用字段:
9
+ * - `tabBadge` 若在配置中已给出则原样使用(含 0);
10
+ * - 否则用当前 `sceneElements` 中属于该画布的数量,且仅在大于 0 时展示角标。
11
+ */
12
+ export function mergeCanvasesForTabs(config) {
13
+ var _config$sceneElements;
14
+ var elements = (_config$sceneElements = config.sceneElements) !== null && _config$sceneElements !== void 0 ? _config$sceneElements : [];
15
+ return config.canvases.map(function (c) {
16
+ var autoCount = elements.filter(function (e) {
17
+ return e.canvasId === c.id;
18
+ }).length;
19
+ var tabBadge;
20
+ if (c.tabBadge !== undefined && c.tabBadge !== null) {
21
+ tabBadge = c.tabBadge;
22
+ } else if (autoCount > 0) {
23
+ tabBadge = autoCount;
24
+ }
25
+ return _objectSpread(_objectSpread({}, c), {}, {
26
+ tabBadge: tabBadge
27
+ });
28
+ });
29
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * 吸附:将坐标或尺寸按 snapStep 取整;snapStep 为 0 不吸附
3
+ */
4
+ export declare function snapValue(value: number, snapStep: number): number;
5
+ export declare function snapRect(x: number, y: number, width: number, height: number, snapStep: number): {
6
+ x: number;
7
+ y: number;
8
+ width: number;
9
+ height: number;
10
+ };
@@ -0,0 +1,21 @@
1
+ /**
2
+ * 吸附:将坐标或尺寸按 snapStep 取整;snapStep 为 0 不吸附
3
+ */
4
+ export function snapValue(value, snapStep) {
5
+ if (!snapStep || snapStep <= 0) return value;
6
+ return Math.round(value / snapStep) * snapStep;
7
+ }
8
+ export function snapRect(x, y, width, height, snapStep) {
9
+ if (!snapStep || snapStep <= 0) return {
10
+ x: x,
11
+ y: y,
12
+ width: width,
13
+ height: height
14
+ };
15
+ return {
16
+ x: snapValue(x, snapStep),
17
+ y: snapValue(y, snapStep),
18
+ width: Math.max(snapStep, snapValue(width, snapStep)),
19
+ height: Math.max(snapStep, snapValue(height, snapStep))
20
+ };
21
+ }
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import type { PisellHierarchicalSummaryListProps } from './types';
3
+ import './PisellHierarchicalSummaryList.less';
4
+ /** 根节点类名,供上层用同一 DOM 包裹列表与其它区块时使用 */
5
+ export declare const PREFIX_CLS = "pisell-hierarchical-summary-list";
6
+ export declare const PisellHierarchicalSummaryList: React.FC<PisellHierarchicalSummaryListProps>;
@@ -0,0 +1,175 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
8
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
11
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
12
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
13
+ import React, { useCallback, useMemo } from 'react';
14
+ import classNames from 'classnames';
15
+ import { Row } from "./components";
16
+ import { useExpandedKeys } from "./hooks";
17
+ import "./PisellHierarchicalSummaryList.less";
18
+
19
+ /** 根节点类名,供上层用同一 DOM 包裹列表与其它区块时使用 */
20
+ export var PREFIX_CLS = 'pisell-hierarchical-summary-list';
21
+ function normalizeItems(items) {
22
+ return items.filter(function (i) {
23
+ return !i.hidden;
24
+ }).slice().sort(function (a, b) {
25
+ var _a$order, _b$order;
26
+ return ((_a$order = a.order) !== null && _a$order !== void 0 ? _a$order : 0) - ((_b$order = b.order) !== null && _b$order !== void 0 ? _b$order : 0);
27
+ });
28
+ }
29
+ function walkForDefaultExpandedKeys(options) {
30
+ var items = options.items,
31
+ defaultExpandedLevel = options.defaultExpandedLevel,
32
+ getKey = options.getKey;
33
+ if (!defaultExpandedLevel || defaultExpandedLevel <= 0) return [];
34
+ var keys = [];
35
+ var dfs = function dfs(list, level, parentPathKeys) {
36
+ if (level > defaultExpandedLevel) return;
37
+ var normalized = normalizeItems(list);
38
+ normalized.forEach(function (item, index) {
39
+ var _item$key, _item$children;
40
+ var key = (_item$key = item.key) !== null && _item$key !== void 0 ? _item$key : getKey(item, {
41
+ level: level,
42
+ index: index,
43
+ parentPathKeys: parentPathKeys
44
+ });
45
+ var children = normalizeItems((_item$children = item.children) !== null && _item$children !== void 0 ? _item$children : []);
46
+ var hasChildren = children.length > 0;
47
+ var canExpandThisLevel = level < defaultExpandedLevel;
48
+ if (hasChildren && canExpandThisLevel) {
49
+ keys.push(key);
50
+ dfs(children, level + 1, [].concat(_toConsumableArray(parentPathKeys), [key]));
51
+ }
52
+ });
53
+ };
54
+ dfs(items, 1, []);
55
+ return keys;
56
+ }
57
+ export var PisellHierarchicalSummaryList = /*#__PURE__*/React.memo(function (_ref) {
58
+ var items = _ref.items,
59
+ expandedKeys = _ref.expandedKeys,
60
+ defaultExpandedKeys = _ref.defaultExpandedKeys,
61
+ _ref$defaultExpandedL = _ref.defaultExpandedLevel,
62
+ defaultExpandedLevel = _ref$defaultExpandedL === void 0 ? 0 : _ref$defaultExpandedL,
63
+ onExpandedKeysChange = _ref.onExpandedKeysChange,
64
+ _ref$accordion = _ref.accordion,
65
+ accordion = _ref$accordion === void 0 ? false : _ref$accordion,
66
+ maxRenderLevel = _ref.maxRenderLevel,
67
+ maxExpandLevel = _ref.maxExpandLevel,
68
+ _ref$indent = _ref.indent,
69
+ indent = _ref$indent === void 0 ? 16 : _ref$indent,
70
+ _ref$rowGap = _ref.rowGap,
71
+ rowGap = _ref$rowGap === void 0 ? 8 : _ref$rowGap,
72
+ padding = _ref.padding,
73
+ gaps = _ref.gaps,
74
+ levelConfig = _ref.levelConfig,
75
+ renderLabel = _ref.renderLabel,
76
+ renderValue = _ref.renderValue,
77
+ getKeyProp = _ref.getKey,
78
+ aggregate = _ref.aggregate,
79
+ className = _ref.className,
80
+ style = _ref.style,
81
+ _ref$renderRoot = _ref.renderRoot,
82
+ renderRoot = _ref$renderRoot === void 0 ? true : _ref$renderRoot;
83
+ var rootStyle = useMemo(function () {
84
+ return _objectSpread(_objectSpread({}, style), padding !== undefined ? {
85
+ padding: typeof padding === 'number' ? "".concat(padding, "px") : padding
86
+ } : {});
87
+ }, [padding, style]);
88
+ var getKey = useCallback(function (item, ctx) {
89
+ if (item.key !== undefined && item.key !== null) return item.key;
90
+ if (getKeyProp) return getKeyProp(item, ctx);
91
+ var parent = ctx.parentPathKeys.map(String).join('/');
92
+ return "lvl".concat(ctx.level, ":").concat(parent ? "".concat(parent, "/") : '').concat(ctx.index);
93
+ }, [getKeyProp]);
94
+ var computedDefaultExpandedKeys = useMemo(function () {
95
+ return walkForDefaultExpandedKeys({
96
+ items: items,
97
+ defaultExpandedLevel: defaultExpandedLevel,
98
+ getKey: getKey
99
+ });
100
+ }, [defaultExpandedLevel, getKey, items]);
101
+ var mergedDefaultExpandedKeys = useMemo(function () {
102
+ var merged = new Set();
103
+ (defaultExpandedKeys !== null && defaultExpandedKeys !== void 0 ? defaultExpandedKeys : []).forEach(function (k) {
104
+ return merged.add(k);
105
+ });
106
+ computedDefaultExpandedKeys.forEach(function (k) {
107
+ return merged.add(k);
108
+ });
109
+ return Array.from(merged);
110
+ }, [computedDefaultExpandedKeys, defaultExpandedKeys]);
111
+ var expandedController = useExpandedKeys({
112
+ expandedKeys: expandedKeys,
113
+ defaultExpandedKeys: mergedDefaultExpandedKeys,
114
+ onExpandedKeysChange: onExpandedKeysChange
115
+ });
116
+ var normalizedRootItems = useMemo(function () {
117
+ return normalizeItems(items);
118
+ }, [items]);
119
+ var toggleExpanded = useCallback(function (key, options) {
120
+ var _options$siblingKeys;
121
+ var prev = expandedController.expandedKeys;
122
+ var set = new Set(prev);
123
+ var isExpanded = set.has(key);
124
+ if (isExpanded) {
125
+ set.delete(key);
126
+ expandedController.setExpandedKeys(Array.from(set));
127
+ return;
128
+ }
129
+ if (accordion && options !== null && options !== void 0 && (_options$siblingKeys = options.siblingKeys) !== null && _options$siblingKeys !== void 0 && _options$siblingKeys.length) {
130
+ options.siblingKeys.forEach(function (k) {
131
+ return set.delete(k);
132
+ });
133
+ }
134
+ set.add(key);
135
+ expandedController.setExpandedKeys(Array.from(set));
136
+ }, [accordion, expandedController]);
137
+ var rowsContent = normalizedRootItems.map(function (item, index) {
138
+ var _item$key2;
139
+ var rootLevel = index === 0 ? 1 : 2;
140
+ return /*#__PURE__*/React.createElement(Row, {
141
+ key: (_item$key2 = item.key) !== null && _item$key2 !== void 0 ? _item$key2 : getKey(item, {
142
+ level: rootLevel,
143
+ index: index,
144
+ parentPathKeys: []
145
+ }),
146
+ prefixCls: PREFIX_CLS,
147
+ item: item,
148
+ level: rootLevel,
149
+ index: index,
150
+ parentPathKeys: [],
151
+ expandedKeySet: expandedController.expandedKeySet,
152
+ toggleExpanded: toggleExpanded,
153
+ getKey: getKey,
154
+ levelConfig: levelConfig,
155
+ indent: indent,
156
+ rowGap: rowGap,
157
+ gaps: gaps,
158
+ maxRenderLevel: maxRenderLevel,
159
+ maxExpandLevel: maxExpandLevel,
160
+ aggregate: aggregate,
161
+ renderLabel: renderLabel,
162
+ renderValue: renderValue
163
+ });
164
+ });
165
+ if (renderRoot === false) {
166
+ return /*#__PURE__*/React.createElement("div", {
167
+ style: rootStyle
168
+ }, rowsContent);
169
+ }
170
+ return /*#__PURE__*/React.createElement("div", {
171
+ className: classNames(PREFIX_CLS, className),
172
+ style: rootStyle
173
+ }, rowsContent);
174
+ });
175
+ PisellHierarchicalSummaryList.displayName = 'PisellHierarchicalSummaryList';
@@ -0,0 +1,129 @@
1
+ /**
2
+ * PisellHierarchicalSummaryList 组件样式
3
+ * 布局与结构在此定义;行内文案/颜色/字重等可由 levelConfig(labelTextStyle / valueTextStyle / metaTextStyle)
4
+ * 通过 Row 内联样式覆盖,便于上层 1:1 复刻设计稿。
5
+ */
6
+
7
+ @prefix: pisell-hierarchical-summary-list;
8
+
9
+ .@{prefix} {
10
+ width: 100%;
11
+ background: #fff;
12
+ padding: 20px;
13
+
14
+ /* 标题栏(L1/L2)上下 20px,展开后下边距 16px,由 Row 内联 style 控制 */
15
+
16
+ &-node {
17
+ &:first-child {
18
+ margin-top: 0 !important;
19
+ }
20
+ }
21
+
22
+ &-row {
23
+ display: flex;
24
+ align-items: center;
25
+ justify-content: space-between;
26
+ gap: 8px;
27
+ width: 100%;
28
+ }
29
+
30
+ &-row-expandable {
31
+ cursor: pointer;
32
+ }
33
+
34
+ &-row-left {
35
+ display: flex;
36
+ align-items: center;
37
+ gap: 8px;
38
+ min-width: 0;
39
+ flex: 1;
40
+ }
41
+
42
+ /* 默认样式,可由 levelConfig.labelTextStyle 覆盖;flex: 0 0 auto 使 itemsCount 紧挨标题左侧而非靠右 */
43
+
44
+ &-row-label {
45
+ flex: 0 0 auto;
46
+ min-width: 0;
47
+ color: #1b1b1b;
48
+ font-size: 16px;
49
+ line-height: 24px;
50
+ font-weight: 700;
51
+ white-space: normal;
52
+ word-break: break-word;
53
+ }
54
+
55
+ &-row-meta {
56
+ display: inline-flex;
57
+ align-items: center;
58
+ gap: 4px;
59
+ flex-shrink: 0;
60
+ }
61
+
62
+ /* 默认样式,可由 levelConfig.metaTextStyle 覆盖;itemsCount 等 meta 文案颜色 #667085 */
63
+
64
+ &-row-dot,
65
+ &-row-items-count,
66
+ &-row-info {
67
+ color: #667085;
68
+ font-size: 16px;
69
+ line-height: 24px;
70
+ }
71
+
72
+ &-row-items-count {
73
+ font-weight: 400;
74
+ white-space: nowrap;
75
+ }
76
+
77
+ /* 子项列表左侧圆点(level 3+),颜色与 meta 一致 */
78
+
79
+ &-row-bullet {
80
+ display: inline-flex;
81
+ align-items: center;
82
+ justify-content: center;
83
+ flex-shrink: 0;
84
+ line-height: 24px;
85
+ }
86
+
87
+ &-row-info {
88
+ display: inline-flex;
89
+ align-items: center;
90
+ justify-content: center;
91
+ line-height: 1;
92
+ }
93
+
94
+ &-row-right {
95
+ display: inline-flex;
96
+ align-items: center;
97
+ justify-content: flex-end;
98
+ gap: 6px;
99
+ flex-shrink: 0;
100
+ white-space: nowrap;
101
+ }
102
+
103
+ /* 默认样式,可由 levelConfig.valueTextStyle 覆盖 */
104
+
105
+ &-row-value {
106
+ color: #1b1b1b;
107
+ font-size: 16px;
108
+ line-height: 24px;
109
+ font-weight: 700;
110
+ }
111
+
112
+ &-row-extra {
113
+ display: inline-flex;
114
+ align-items: center;
115
+ }
116
+
117
+ &-row-expand-icon {
118
+ display: inline-flex;
119
+ align-items: center;
120
+ justify-content: center;
121
+ width: 24px;
122
+ height: 24px;
123
+ }
124
+
125
+ &-children {
126
+ width: 100%;
127
+ }
128
+ }
129
+