@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,431 @@
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/pisellFloorMapLayout/hooks/useFloorMapEditState.ts
30
+ var useFloorMapEditState_exports = {};
31
+ __export(useFloorMapEditState_exports, {
32
+ useFloorMapEditState: () => useFloorMapEditState
33
+ });
34
+ module.exports = __toCommonJS(useFloorMapEditState_exports);
35
+ var import_react = require("react");
36
+ var import_antd = require("antd");
37
+ var import_utils = require("@pisell/utils");
38
+ var import_useEngineContext = __toESM(require("../../../hooks/useEngineContext"));
39
+ var import_utils2 = require("../../translation/utils");
40
+ var import_floorMapConfigMerge = require("../utils/floorMapConfigMerge");
41
+ var import_floorMapStageDefaults = require("../utils/floorMapStageDefaults");
42
+ var import_floorMapViewConfigDiff = require("../utils/floorMapViewConfigDiff");
43
+ var import_floorMapElementKindUtils = require("../utils/floorMapElementKindUtils");
44
+ var import_layoutMeasurements = require("../utils/layoutMeasurements");
45
+ var import_floorMapCanvasDisplay = require("../utils/floorMapCanvasDisplay");
46
+ var import_types = require("../types");
47
+ var IMAGE_PLACE_DEFAULT = { width: 400, height: 240 };
48
+ function newInstanceId() {
49
+ return `elm_${Date.now()}_${Math.random().toString(36).slice(2, 9)}`;
50
+ }
51
+ function duplicateBinding(elements, binding, exceptInstanceId) {
52
+ return (elements ?? []).some(
53
+ (e) => {
54
+ var _a, _b;
55
+ return e.instanceId !== exceptInstanceId && ((_a = e.dataBinding) == null ? void 0 : _a.dataSourceKey) === binding.dataSourceKey && ((_b = e.dataBinding) == null ? void 0 : _b.recordId) === binding.recordId;
56
+ }
57
+ );
58
+ }
59
+ function useFloorMapEditState(params) {
60
+ var _a, _b;
61
+ const {
62
+ floorMapConfigProp,
63
+ isFloorMapView,
64
+ itemsProp,
65
+ cellSizeProp,
66
+ dataSources,
67
+ onSave,
68
+ onDataSourceRecordSave,
69
+ dataSourceFormColumns,
70
+ dataSourceRecordForm,
71
+ dataSourceLabels,
72
+ layoutPrefix,
73
+ contentOffsetRef,
74
+ showDataSourceRecordFormBlock
75
+ } = params;
76
+ const engineCtx = (0, import_useEngineContext.default)();
77
+ const engineLocale = ((_b = (_a = engineCtx == null ? void 0 : engineCtx.engine) == null ? void 0 : _a.props) == null ? void 0 : _b.locale) || "zh-CN";
78
+ const [draftConfig, setDraftConfig] = (0, import_react.useState)(
79
+ null
80
+ );
81
+ const [currentCanvasId, setCurrentCanvasId] = (0, import_react.useState)(null);
82
+ const [selectedId, setSelectedId] = (0, import_react.useState)(null);
83
+ const [placeMode, setPlaceMode] = (0, import_react.useState)(null);
84
+ const [saving, setSaving] = (0, import_react.useState)(false);
85
+ const [savingRecord, setSavingRecord] = (0, import_react.useState)(false);
86
+ const config = isFloorMapView ? draftConfig ?? floorMapConfigProp : null;
87
+ const configRef = (0, import_react.useRef)(config);
88
+ configRef.current = config;
89
+ (0, import_react.useEffect)(() => {
90
+ if (!floorMapConfigProp) return;
91
+ const nextConfig = (0, import_floorMapViewConfigDiff.normalizeFloorMapViewConfigFromProp)(floorMapConfigProp);
92
+ setDraftConfig(nextConfig);
93
+ const enabled = nextConfig.canvases.filter((c) => c.enabled).sort((a, b) => a.order - b.order);
94
+ setCurrentCanvasId(
95
+ (prev) => {
96
+ var _a2;
97
+ return prev && enabled.some((c) => c.id === prev) ? prev : ((_a2 = enabled[0]) == null ? void 0 : _a2.id) ?? null;
98
+ }
99
+ );
100
+ }, [floorMapConfigProp]);
101
+ const isLayoutDirty = (0, import_react.useMemo)(() => {
102
+ if (!isFloorMapView || !draftConfig || !floorMapConfigProp) return false;
103
+ const baseline = (0, import_floorMapViewConfigDiff.normalizeFloorMapViewConfigFromProp)(floorMapConfigProp);
104
+ return !(0, import_floorMapViewConfigDiff.floorMapViewConfigsEqual)(draftConfig, baseline);
105
+ }, [isFloorMapView, draftConfig, floorMapConfigProp]);
106
+ const handleAddCanvas = (0, import_react.useCallback)(() => {
107
+ (0, import_floorMapCanvasDisplay.initFloorMapLayoutLocales)(engineLocale);
108
+ const label = import_utils.locales.getText(
109
+ "pisell-floor-map-layout.canvas-tabs.default-new-canvas-name"
110
+ );
111
+ const defaultName = (0, import_utils2.createTranslationText)(
112
+ label,
113
+ true
114
+ );
115
+ const newId = `floor_${Date.now()}`;
116
+ const newCanvas = {
117
+ id: newId,
118
+ name: defaultName,
119
+ order: 0,
120
+ enabled: true
121
+ };
122
+ setDraftConfig((prev) => {
123
+ if (!prev) return prev;
124
+ const list = prev.canvases.filter((c) => c.enabled).sort((a, b) => a.order - b.order);
125
+ newCanvas.order = list.length > 0 ? Math.max(...list.map((c) => c.order)) + 1 : 0;
126
+ return { ...prev, canvases: [...prev.canvases, newCanvas] };
127
+ });
128
+ setCurrentCanvasId(newId);
129
+ }, [engineLocale]);
130
+ const handleRemoveCanvas = (0, import_react.useCallback)((canvasId) => {
131
+ setDraftConfig((prev) => {
132
+ if (!prev) return prev;
133
+ const nextCanvases = prev.canvases.filter((c) => c.id !== canvasId);
134
+ if (nextCanvases.length === 0) return prev;
135
+ return {
136
+ ...prev,
137
+ canvases: nextCanvases,
138
+ sceneElements: (prev.sceneElements ?? []).filter(
139
+ (e) => e.canvasId !== canvasId
140
+ )
141
+ };
142
+ });
143
+ setCurrentCanvasId((prev) => {
144
+ var _a2;
145
+ if (prev !== canvasId) return prev;
146
+ const cfg = configRef.current;
147
+ if (!cfg) return prev;
148
+ const enabled = cfg.canvases.filter((c) => c.id !== canvasId && c.enabled).sort((a, b) => a.order - b.order);
149
+ return ((_a2 = enabled[0]) == null ? void 0 : _a2.id) ?? null;
150
+ });
151
+ }, []);
152
+ const handleRenameCanvas = (0, import_react.useCallback)(
153
+ (canvasId, name) => {
154
+ if (typeof name === "string") {
155
+ const trimmed = name.trim();
156
+ if (!trimmed) return;
157
+ setDraftConfig((prev) => {
158
+ if (!prev) return prev;
159
+ return {
160
+ ...prev,
161
+ canvases: prev.canvases.map(
162
+ (c) => c.id === canvasId ? { ...c, name: trimmed, nameKey: void 0 } : c
163
+ )
164
+ };
165
+ });
166
+ return;
167
+ }
168
+ const hasAny = Object.values(name).some(
169
+ (s) => typeof s === "string" && s.trim()
170
+ );
171
+ if (!hasAny) return;
172
+ setDraftConfig((prev) => {
173
+ if (!prev) return prev;
174
+ return {
175
+ ...prev,
176
+ canvases: prev.canvases.map(
177
+ (c) => c.id === canvasId ? { ...c, name, nameKey: void 0 } : c
178
+ )
179
+ };
180
+ });
181
+ },
182
+ []
183
+ );
184
+ const mergedItems = (0, import_react.useMemo)(() => {
185
+ if (!isFloorMapView || !config || !currentCanvasId) return [];
186
+ return (0, import_floorMapConfigMerge.mergeCanvasItems)(
187
+ currentCanvasId,
188
+ config,
189
+ cellSizeProp ?? import_layoutMeasurements.DEFAULT_CELL_SIZE
190
+ );
191
+ }, [isFloorMapView, config, currentCanvasId, cellSizeProp]);
192
+ const items = isFloorMapView ? mergedItems : itemsProp;
193
+ const updateDraftSceneElement = (0, import_react.useCallback)(
194
+ (instanceId, patch) => {
195
+ setDraftConfig((prev) => {
196
+ if (!prev) return prev;
197
+ const current = (prev.sceneElements ?? []).find(
198
+ (e) => e.instanceId === instanceId
199
+ );
200
+ let normalized = { ...patch };
201
+ const unlocking = patch.layoutTransformLocked === false;
202
+ if ((current == null ? void 0 : current.layoutTransformLocked) && !unlocking) {
203
+ const {
204
+ x: _x,
205
+ y: _y,
206
+ zIndex: _z,
207
+ width: _w,
208
+ height: _h,
209
+ ...rest
210
+ } = normalized;
211
+ normalized = rest;
212
+ }
213
+ if (normalized.x !== void 0) normalized.x = Math.round(normalized.x);
214
+ if (normalized.y !== void 0) normalized.y = Math.round(normalized.y);
215
+ if (normalized.width !== void 0)
216
+ normalized.width = Math.round(normalized.width);
217
+ if (normalized.height !== void 0)
218
+ normalized.height = Math.round(normalized.height);
219
+ const list = (prev.sceneElements ?? []).map(
220
+ (e) => e.instanceId === instanceId ? { ...e, ...normalized } : e
221
+ );
222
+ return { ...prev, sceneElements: list };
223
+ });
224
+ },
225
+ []
226
+ );
227
+ const handleUpdateItem = (0, import_react.useCallback)(
228
+ (itemId, patch) => {
229
+ updateDraftSceneElement(itemId, patch);
230
+ },
231
+ [updateDraftSceneElement]
232
+ );
233
+ const placeOverlayClass = `${layoutPrefix}-place-overlay`;
234
+ const applyScenePlacementAtCoords = (0, import_react.useCallback)(
235
+ (contentX, contentY, scene) => {
236
+ var _a2;
237
+ if (!config || !currentCanvasId) return false;
238
+ const defaultPlacementWidth = 180;
239
+ const defaultPlacementHeight = 120;
240
+ const defaultDecoSize = 48;
241
+ const kindConfig = (0, import_floorMapElementKindUtils.getElementKindConfig)(config, scene.elementKind);
242
+ const policy = (0, import_floorMapElementKindUtils.resolveDataBindingPolicy)(kindConfig);
243
+ const allKeys = Object.keys(dataSources ?? {});
244
+ const allowedKeys = ((_a2 = kindConfig == null ? void 0 : kindConfig.allowedDataSourceKeys) == null ? void 0 : _a2.length) ? kindConfig.allowedDataSourceKeys.filter((k) => allKeys.includes(k)) : allKeys;
245
+ const pickKey = scene.dataSourceKey ?? allowedKeys[0] ?? allKeys[0];
246
+ let dataBinding;
247
+ if (policy !== "none" && pickKey) {
248
+ const dsList = (dataSources == null ? void 0 : dataSources[pickKey]) ?? [];
249
+ if (dsList.length === 0) {
250
+ dataBinding = {
251
+ dataSourceKey: pickKey,
252
+ recordId: `new_${Date.now()}`
253
+ };
254
+ } else if (!scene.recordId) {
255
+ if (policy === "required") {
256
+ import_antd.message.warning("请先在侧栏选择数据源与数据行,再落位");
257
+ return false;
258
+ }
259
+ } else {
260
+ const record = dsList.find((r) => r.id === scene.recordId);
261
+ if (!record) {
262
+ import_antd.message.error("所选记录不存在,请重新选择数据行");
263
+ return false;
264
+ }
265
+ const cand = {
266
+ dataSourceKey: pickKey,
267
+ recordId: scene.recordId
268
+ };
269
+ if (duplicateBinding(config.sceneElements, cand)) {
270
+ import_antd.message.warning("该数据记录已在平面图中绑定,请勿重复添加");
271
+ return false;
272
+ }
273
+ dataBinding = cand;
274
+ }
275
+ }
276
+ const isStage = scene.elementKind === import_types.FLOOR_MAP_STAGE_ELEMENT_KIND;
277
+ const isImage = scene.elementKind === import_types.FLOOR_MAP_IMAGE_ELEMENT_KIND;
278
+ const w = isImage ? IMAGE_PLACE_DEFAULT.width : isStage ? import_floorMapStageDefaults.STAGE_DECO_DEFAULT.width : defaultPlacementWidth;
279
+ const h = isImage ? IMAGE_PLACE_DEFAULT.height : isStage ? import_floorMapStageDefaults.STAGE_DECO_DEFAULT.height : defaultPlacementHeight;
280
+ const useDecoSize = policy === "none" && scene.elementKind !== import_types.FLOOR_MAP_STAGE_ELEMENT_KIND && !isImage;
281
+ const placementName = (() => {
282
+ var _a3, _b2;
283
+ if (isStage) return import_floorMapStageDefaults.STAGE_DECO_DEFAULT.name;
284
+ if (isImage) return "底图";
285
+ const db = dataBinding;
286
+ if (db && scene.recordId) {
287
+ const row = (_a3 = dataSources == null ? void 0 : dataSources[db.dataSourceKey]) == null ? void 0 : _a3.find(
288
+ (r) => r.id === db.recordId
289
+ );
290
+ return String((row == null ? void 0 : row.name) ?? db.recordId);
291
+ }
292
+ return ((_b2 = kindConfig == null ? void 0 : kindConfig.defaultPresentation) == null ? void 0 : _b2.title) ?? "";
293
+ })();
294
+ const newEl = {
295
+ instanceId: newInstanceId(),
296
+ canvasId: currentCanvasId,
297
+ x: contentX,
298
+ y: contentY,
299
+ name: placementName,
300
+ zIndex: isImage ? -5 : 0,
301
+ width: useDecoSize ? defaultDecoSize : w,
302
+ height: useDecoSize ? defaultDecoSize : h,
303
+ elementKind: scene.elementKind,
304
+ shape: isStage || isImage ? "rect" : kindConfig == null ? void 0 : kindConfig.defaultShape,
305
+ dataBinding,
306
+ ...isImage ? { imageUrl: "" } : {}
307
+ };
308
+ setDraftConfig(
309
+ (prev) => prev ? { ...prev, sceneElements: [...prev.sceneElements ?? [], newEl] } : prev
310
+ );
311
+ return true;
312
+ },
313
+ [config, currentCanvasId, dataSources]
314
+ );
315
+ const handleCanvasPlaceClick = (0, import_react.useCallback)(
316
+ (e) => {
317
+ if (!placeMode || placeMode.type !== "scene" || !config || !currentCanvasId)
318
+ return;
319
+ const target = e.target;
320
+ if (!target.classList.contains(placeOverlayClass)) return;
321
+ const { x: ox, y: oy } = contentOffsetRef.current;
322
+ const contentX = Math.round(e.nativeEvent.offsetX - ox);
323
+ const contentY = Math.round(e.nativeEvent.offsetY - oy);
324
+ if (applyScenePlacementAtCoords(contentX, contentY, placeMode)) {
325
+ setPlaceMode(null);
326
+ }
327
+ },
328
+ [
329
+ placeMode,
330
+ config,
331
+ currentCanvasId,
332
+ applyScenePlacementAtCoords,
333
+ placeOverlayClass
334
+ ]
335
+ );
336
+ const placeSceneElementFromPaletteDrop = (0, import_react.useCallback)(
337
+ (contentX, contentY, scene) => {
338
+ if (applyScenePlacementAtCoords(contentX, contentY, scene)) {
339
+ setPlaceMode(null);
340
+ }
341
+ },
342
+ [applyScenePlacementAtCoords]
343
+ );
344
+ const handleSave = (0, import_react.useCallback)(() => {
345
+ if (!draftConfig || !onSave) return;
346
+ setSaving(true);
347
+ try {
348
+ onSave(draftConfig);
349
+ } finally {
350
+ setSaving(false);
351
+ }
352
+ }, [draftConfig, onSave]);
353
+ const handleEditPanelUpdate = (0, import_react.useCallback)(
354
+ (patch) => {
355
+ var _a2;
356
+ if (!selectedId) return;
357
+ const bindingPatch = patch.dataBinding;
358
+ if ((bindingPatch == null ? void 0 : bindingPatch.dataSourceKey) && (bindingPatch == null ? void 0 : bindingPatch.recordId)) {
359
+ const cand = bindingPatch;
360
+ if (duplicateBinding((_a2 = configRef.current) == null ? void 0 : _a2.sceneElements, cand, selectedId)) {
361
+ import_antd.message.warning("该数据记录已被其他图元绑定");
362
+ return;
363
+ }
364
+ }
365
+ updateDraftSceneElement(selectedId, patch);
366
+ },
367
+ [selectedId, updateDraftSceneElement]
368
+ );
369
+ const handleSaveRecord = (0, import_react.useCallback)(
370
+ (dataSourceKey, id, newData) => {
371
+ onDataSourceRecordSave == null ? void 0 : onDataSourceRecordSave(dataSourceKey, id, newData);
372
+ setSavingRecord(true);
373
+ setTimeout(() => setSavingRecord(false), 500);
374
+ },
375
+ [onDataSourceRecordSave]
376
+ );
377
+ const handleEditPanelDelete = (0, import_react.useCallback)(() => {
378
+ if (!selectedId) return;
379
+ setDraftConfig((prev) => {
380
+ if (!prev) return prev;
381
+ return {
382
+ ...prev,
383
+ sceneElements: (prev.sceneElements ?? []).filter(
384
+ (e) => e.instanceId !== selectedId
385
+ )
386
+ };
387
+ });
388
+ setSelectedId(null);
389
+ }, [selectedId]);
390
+ const selectedItem = selectedId ? mergedItems.find((m) => m.id === selectedId) : null;
391
+ const editPanelParams = selectedItem && config && selectedId ? {
392
+ itemId: selectedId,
393
+ sceneElement: selectedItem._sceneElement,
394
+ onUpdate: handleEditPanelUpdate,
395
+ onSaveRecord: onDataSourceRecordSave ? handleSaveRecord : void 0,
396
+ onClose: () => setSelectedId(null),
397
+ onDelete: config.canvasUi.canEdit ? handleEditPanelDelete : void 0,
398
+ recordFormColumns: dataSourceFormColumns,
399
+ dataSourceRecordForm,
400
+ dataSourceLabels,
401
+ layoutDraftDirty: isLayoutDirty,
402
+ showDataSourceRecordFormBlock
403
+ } : null;
404
+ return {
405
+ config,
406
+ currentCanvasId,
407
+ setCurrentCanvasId,
408
+ selectedId,
409
+ setSelectedId,
410
+ placeMode,
411
+ setPlaceMode,
412
+ mergedItems,
413
+ items,
414
+ saving,
415
+ savingRecord,
416
+ handleAddCanvas,
417
+ handleRemoveCanvas,
418
+ handleRenameCanvas,
419
+ handleUpdateItem,
420
+ handleCanvasPlaceClick,
421
+ handleSave,
422
+ placeSceneElementFromPaletteDrop,
423
+ editPanelParams,
424
+ placeOverlayClass,
425
+ isLayoutDirty
426
+ };
427
+ }
428
+ // Annotate the CommonJS export names for ESM import in node:
429
+ 0 && (module.exports = {
430
+ useFloorMapEditState
431
+ });
@@ -0,0 +1,21 @@
1
+ import type { MutableRefObject, PointerEvent as ReactPointerEvent } from 'react';
2
+ import type { FloorMapPaletteDragPayload } from '../utils/floorMapDropUtils';
3
+ export interface UseFloorMapPaletteTouchDragParams {
4
+ enabled: boolean;
5
+ mapDropLayerRef: MutableRefObject<HTMLDivElement | null>;
6
+ contentWidth: number;
7
+ contentHeight: number;
8
+ contentOffsetRef: MutableRefObject<{
9
+ x: number;
10
+ y: number;
11
+ }>;
12
+ setMapPaletteDragActive: (v: boolean) => void;
13
+ onDropInScene: (payload: FloorMapPaletteDragPayload, sceneX: number, sceneY: number) => void;
14
+ }
15
+ export interface UseFloorMapPaletteTouchDragResult {
16
+ /** 挂在图元预览按钮上;mouse 不处理,交给 HTML5 DnD */
17
+ handlePaletteCardPointerDown: (payload: FloorMapPaletteDragPayload, e: ReactPointerEvent<HTMLElement>) => void;
18
+ /** 图元按钮 onClick 前检查:触摸拖放过则吞掉本次点击 */
19
+ consumeToolbarClickIfTouchDrag: () => boolean;
20
+ }
21
+ export declare function useFloorMapPaletteTouchDrag(params: UseFloorMapPaletteTouchDragParams): UseFloorMapPaletteTouchDragResult;
@@ -0,0 +1,146 @@
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/pisellFloorMapLayout/hooks/useFloorMapPaletteTouchDrag.ts
20
+ var useFloorMapPaletteTouchDrag_exports = {};
21
+ __export(useFloorMapPaletteTouchDrag_exports, {
22
+ useFloorMapPaletteTouchDrag: () => useFloorMapPaletteTouchDrag
23
+ });
24
+ module.exports = __toCommonJS(useFloorMapPaletteTouchDrag_exports);
25
+ var import_react = require("react");
26
+ var import_floorMapDropUtils = require("../utils/floorMapDropUtils");
27
+ var DRAG_THRESHOLD_PX = 8;
28
+ var POINTER_MOVE_OPTS = {
29
+ capture: true,
30
+ passive: false
31
+ };
32
+ function useFloorMapPaletteTouchDrag(params) {
33
+ const {
34
+ enabled,
35
+ mapDropLayerRef,
36
+ contentWidth,
37
+ contentHeight,
38
+ contentOffsetRef,
39
+ setMapPaletteDragActive,
40
+ onDropInScene
41
+ } = params;
42
+ const metricsRef = (0, import_react.useRef)({ cw: contentWidth, ch: contentHeight });
43
+ metricsRef.current = { cw: contentWidth, ch: contentHeight };
44
+ const sessionRef = (0, import_react.useRef)(null);
45
+ const dragActivatedRef = (0, import_react.useRef)(false);
46
+ const suppressNextClickRef = (0, import_react.useRef)(false);
47
+ const removeListenersRef = (0, import_react.useRef)(null);
48
+ const cleanupWindowListeners = (0, import_react.useCallback)(() => {
49
+ var _a;
50
+ (_a = removeListenersRef.current) == null ? void 0 : _a.call(removeListenersRef);
51
+ removeListenersRef.current = null;
52
+ }, []);
53
+ (0, import_react.useEffect)(
54
+ () => () => {
55
+ cleanupWindowListeners();
56
+ sessionRef.current = null;
57
+ dragActivatedRef.current = false;
58
+ setMapPaletteDragActive(false);
59
+ },
60
+ [cleanupWindowListeners, setMapPaletteDragActive]
61
+ );
62
+ const handlePaletteCardPointerDown = (0, import_react.useCallback)(
63
+ (payload, e) => {
64
+ if (!enabled) return;
65
+ if (e.pointerType === "mouse") return;
66
+ if (e.button !== 0) return;
67
+ cleanupWindowListeners();
68
+ dragActivatedRef.current = false;
69
+ sessionRef.current = {
70
+ payload,
71
+ pointerId: e.pointerId,
72
+ startX: e.clientX,
73
+ startY: e.clientY
74
+ };
75
+ const onMove = (ev) => {
76
+ const s = sessionRef.current;
77
+ if (!s || ev.pointerId !== s.pointerId) return;
78
+ const dx = ev.clientX - s.startX;
79
+ const dy = ev.clientY - s.startY;
80
+ if (!dragActivatedRef.current && dx * dx + dy * dy >= DRAG_THRESHOLD_PX ** 2) {
81
+ dragActivatedRef.current = true;
82
+ setMapPaletteDragActive(true);
83
+ }
84
+ if (dragActivatedRef.current && ev.cancelable) {
85
+ ev.preventDefault();
86
+ }
87
+ };
88
+ const onUp = (ev) => {
89
+ const s = sessionRef.current;
90
+ if (!s || ev.pointerId !== s.pointerId) return;
91
+ cleanupWindowListeners();
92
+ sessionRef.current = null;
93
+ const wasDrag = dragActivatedRef.current;
94
+ dragActivatedRef.current = false;
95
+ setMapPaletteDragActive(false);
96
+ if (!wasDrag) return;
97
+ suppressNextClickRef.current = true;
98
+ const layer = mapDropLayerRef.current;
99
+ if (!layer) return;
100
+ const r = layer.getBoundingClientRect();
101
+ const { cw, ch } = metricsRef.current;
102
+ if (cw <= 0 || ch <= 0) return;
103
+ if (ev.clientX < r.left || ev.clientX > r.right || ev.clientY < r.top || ev.clientY > r.bottom) {
104
+ return;
105
+ }
106
+ const lx = (ev.clientX - r.left) / Math.max(r.width, 1) * cw;
107
+ const ly = (ev.clientY - r.top) / Math.max(r.height, 1) * ch;
108
+ const { x, y } = (0, import_floorMapDropUtils.sceneXYFromContentDropOffset)(
109
+ lx,
110
+ ly,
111
+ contentOffsetRef.current
112
+ );
113
+ onDropInScene(s.payload, x, y);
114
+ };
115
+ window.addEventListener("pointermove", onMove, POINTER_MOVE_OPTS);
116
+ window.addEventListener("pointerup", onUp, { capture: true });
117
+ window.addEventListener("pointercancel", onUp, { capture: true });
118
+ removeListenersRef.current = () => {
119
+ window.removeEventListener("pointermove", onMove, POINTER_MOVE_OPTS);
120
+ window.removeEventListener("pointerup", onUp, { capture: true });
121
+ window.removeEventListener("pointercancel", onUp, { capture: true });
122
+ };
123
+ },
124
+ [
125
+ enabled,
126
+ mapDropLayerRef,
127
+ contentOffsetRef,
128
+ setMapPaletteDragActive,
129
+ onDropInScene,
130
+ cleanupWindowListeners
131
+ ]
132
+ );
133
+ const consumeToolbarClickIfTouchDrag = (0, import_react.useCallback)(() => {
134
+ if (!suppressNextClickRef.current) return false;
135
+ suppressNextClickRef.current = false;
136
+ return true;
137
+ }, []);
138
+ return {
139
+ handlePaletteCardPointerDown,
140
+ consumeToolbarClickIfTouchDrag
141
+ };
142
+ }
143
+ // Annotate the CommonJS export names for ESM import in node:
144
+ 0 && (module.exports = {
145
+ useFloorMapPaletteTouchDrag
146
+ });
@@ -0,0 +1,67 @@
1
+ import type { MutableRefObject } from 'react';
2
+ import type { FloorMapItemBase, FloorMapItemUnit, FloorMapZoomConfig } from '../types';
3
+ /** react-zoom-pan-pinch TransformWrapper render 注入的上下文 */
4
+ export declare type FloorMapTransformContext = {
5
+ zoomIn: () => void;
6
+ zoomOut: () => void;
7
+ resetTransform: () => void;
8
+ setTransform: (x: number, y: number, scale: number) => void;
9
+ } | null;
10
+ export interface UseFloorMapTransformMetricsParams<T extends FloorMapItemBase> {
11
+ items: T[];
12
+ cellSize: number;
13
+ itemGap: number;
14
+ effectiveItemUnit: FloorMapItemUnit;
15
+ isFloorMapView: boolean;
16
+ mode: 'read' | 'edit';
17
+ zoom: FloorMapZoomConfig;
18
+ transformRef: MutableRefObject<FloorMapTransformContext>;
19
+ /** 由父组件创建并传入 useFloorMapEditState,本 hook 每帧写入内容区偏移 */
20
+ contentOffsetRef: MutableRefObject<{
21
+ x: number;
22
+ y: number;
23
+ }>;
24
+ /** 与 mapLayer.boundingPadding 一致;未传用 DEFAULT_BOUNDING_PADDING */
25
+ boundingPadding?: number;
26
+ /**
27
+ * 平面图:当前画布 id(或其它在切换画布时应重置平移/对齐会话的 key)。
28
+ * 不传则不跑「异步加载图元后的首次左上对齐」逻辑。
29
+ */
30
+ frameResetKey?: string;
31
+ }
32
+ export declare function useFloorMapTransformMetrics<T extends FloorMapItemBase>(params: UseFloorMapTransformMetricsParams<T>): {
33
+ containerRef: import("react").RefObject<HTMLDivElement>;
34
+ mapAreaRef: import("react").RefObject<HTMLDivElement>;
35
+ viewportSize: {
36
+ width: number;
37
+ height: number;
38
+ };
39
+ mapAreaSize: {
40
+ width: number;
41
+ height: number;
42
+ };
43
+ contentWidth: number;
44
+ contentHeight: number;
45
+ contentOffsetX: number;
46
+ contentOffsetY: number;
47
+ initialPositionX: number;
48
+ initialPositionY: number;
49
+ zoomConfig: {
50
+ initialScale: number;
51
+ minScale: number;
52
+ maxScale: number;
53
+ step: number;
54
+ };
55
+ scale: number;
56
+ setScale: import("react").Dispatch<import("react").SetStateAction<number>>;
57
+ isFullscreen: boolean;
58
+ toggleFullscreen: () => void;
59
+ fitBounds: () => void;
60
+ lastTransformRef: MutableRefObject<{
61
+ x: number;
62
+ y: number;
63
+ scale: number;
64
+ }>;
65
+ isInteractingWithElement: boolean;
66
+ setIsInteractingWithElement: import("react").Dispatch<import("react").SetStateAction<boolean>>;
67
+ };