@pisell/materials 1.0.1059 → 1.0.1060

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 +26 -26
  12. package/es/components/PisellLayouts/index.d.ts +2 -1
  13. package/es/components/PisellLayouts/index.js +3 -1
  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 +468 -201
  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 +494 -63
  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 +444 -0
  34. package/es/components/pisellFloorMapLayout/components/FloorMapEditPanel.less +153 -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 +32 -6
  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 +27 -0
  57. package/es/components/pisellFloorMapLayout/hooks/useFloorMapEditState.d.ts +60 -0
  58. package/es/components/pisellFloorMapLayout/hooks/useFloorMapEditState.js +436 -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 +281 -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 +346 -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 +70 -18
  110. package/es/components/pisellRecordBoard/PisellRecordBoard.stories.d.ts +4 -0
  111. package/es/components/pisellRecordBoard/PisellRecordBoard.stories.js +1276 -344
  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 +53 -6
  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 +99 -19
  124. package/es/components/pisellRecordBoard/types.d.ts +55 -1
  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 +512 -0
  150. package/es/components/pisellTimeNavigator/PisellTimeNavigator.less +378 -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 +145 -0
  178. package/es/components/pisellTimeNavigator/types.js +1 -0
  179. package/es/components/pisellTimeNavigator/utils/index.d.ts +26 -0
  180. package/es/components/pisellTimeNavigator/utils/index.js +102 -0
  181. package/es/index.d.ts +15 -5
  182. package/es/index.js +23 -17
  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 +562 -180
  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 +434 -0
  210. package/lib/components/pisellFloorMapLayout/components/FloorMapEditPanel.less +153 -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 +46 -0
  232. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapEditState.d.ts +60 -0
  233. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapEditState.js +429 -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 +263 -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 +346 -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 +54 -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 +87 -6
  296. package/lib/components/pisellRecordBoard/types.d.ts +55 -1
  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 +602 -0
  321. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.less +378 -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 +145 -0
  349. package/lib/components/pisellTimeNavigator/types.js +17 -0
  350. package/lib/components/pisellTimeNavigator/utils/index.d.ts +26 -0
  351. package/lib/components/pisellTimeNavigator/utils/index.js +98 -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 +3820 -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 +4 -4
@@ -1,7 +1,22 @@
1
- import { useRef } from 'react';
2
- import { Button, Space, Tabs, Avatar } from 'antd';
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 _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure 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 _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; }
11
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
14
+ import { Button, Space, Tabs, Avatar, Form, Input } from 'antd';
3
15
  import { UserOutlined, ClockCircleOutlined, TeamOutlined, AuditOutlined, FieldTimeOutlined } from '@ant-design/icons';
16
+ import { FLOOR_MAP_IMAGE_ELEMENT_KIND } from "./types";
4
17
  import { PisellFloorMapLayout } from "./PisellFloorMapLayout";
18
+ import { FloorMapLayoutProvider } from "./context/FloorMapLayoutContext";
19
+ import { getRenderItemByKindTable, getRenderItemByKindRoundTable } from "./components/FigmaTableCard";
5
20
  // Figma 设计 token(Pisell 2.0 Component Library,node 13998:648 / 14004:1168 变量)
6
21
  var FIGMA = {
7
22
  white: '#FFFFFF',
@@ -34,11 +49,11 @@ var FIGMA = {
34
49
  legendAvailableSoon: '#FDA29B'
35
50
  };
36
51
 
37
- /**
38
- * PisellFloorMapLayout 楼层图布局
39
- *
40
- * 空间布局视图:在二维平面按坐标渲染资源(桌台/房间/工位等),
41
- * 支持缩放、平移、复位、区域定位,仅负责展示与交互。
52
+ /**
53
+ * PisellFloorMapLayout 楼层图布局
54
+ *
55
+ * 空间布局视图:在二维平面按坐标渲染资源(桌台/房间/工位等),
56
+ * 支持缩放、平移、复位、区域定位,仅负责展示与交互。
42
57
  */
43
58
  var meta = {
44
59
  title: 'Data Display/PisellFloorMapLayout',
@@ -133,8 +148,9 @@ var defaultItems = [{
133
148
  y: 3
134
149
  }];
135
150
 
136
- /** 简单格子渲染:仅显示 id */
151
+ /** 简单格子渲染:仅显示 id;尊重 item.shape(如 circle 则圆形容器) */
137
152
  function renderSimpleItem(item) {
153
+ var isCircle = item.shape === 'circle';
138
154
  return /*#__PURE__*/React.createElement("div", {
139
155
  style: {
140
156
  width: '100%',
@@ -144,16 +160,37 @@ function renderSimpleItem(item) {
144
160
  justifyContent: 'center',
145
161
  background: '#fff',
146
162
  border: '4px solid #d9d9d9',
147
- borderRadius: 4,
163
+ borderRadius: isCircle ? '50%' : 4,
148
164
  fontSize: 12
149
165
  }
150
166
  }, item.id);
151
167
  }
152
168
 
153
- /**
154
- * 默认 - 纯色底 + 简单格子(格子单位,默认 item 间距 8px)
169
+ /**
170
+ * 默认 - 纯色底 + 简单格子(格子单位,默认 item 间距 8px)
155
171
  */
156
172
  export var Default = {
173
+ parameters: {
174
+ layout: 'fullscreen'
175
+ },
176
+ decorators: [function (Story) {
177
+ return /*#__PURE__*/React.createElement("div", {
178
+ style: {
179
+ boxSizing: 'border-box',
180
+ height: '100vh',
181
+ minHeight: '100vh',
182
+ padding: 16,
183
+ display: 'flex',
184
+ flexDirection: 'column'
185
+ }
186
+ }, /*#__PURE__*/React.createElement("div", {
187
+ style: {
188
+ flex: 1,
189
+ minHeight: 0,
190
+ minWidth: 0
191
+ }
192
+ }, /*#__PURE__*/React.createElement(Story, null)));
193
+ }],
157
194
  args: {
158
195
  items: defaultItems,
159
196
  renderItem: function renderItem(item) {
@@ -174,12 +211,17 @@ export var Default = {
174
211
  pan: {
175
212
  enabled: false
176
213
  },
177
- enableHover: true
214
+ enableHover: true,
215
+ style: {
216
+ height: '100%',
217
+ width: '100%',
218
+ minHeight: 0
219
+ }
178
220
  }
179
221
  };
180
222
 
181
- /**
182
- * 显示网格线(item 间距由 mapLayer.gap 控制)
223
+ /**
224
+ * 显示网格线(item 间距由 mapLayer.gap 控制)
183
225
  */
184
226
  export var WithGrid = {
185
227
  args: {
@@ -204,8 +246,8 @@ export var WithGrid = {
204
246
  }
205
247
  };
206
248
 
207
- /**
208
- * 开启平移 - 可拖拽画布
249
+ /**
250
+ * 开启平移 - 可拖拽画布
209
251
  */
210
252
  export var WithPan = {
211
253
  args: {
@@ -236,8 +278,8 @@ export var WithPan = {
236
278
  }
237
279
  };
238
280
 
239
- /**
240
- * 不同形状 - 矩形、圆形、三角形;含不同格子宽高(如 rect2 为 2x1)
281
+ /**
282
+ * 不同形状 - 矩形、圆形、三角形;含不同格子宽高(如 rect2 为 2x1)
241
283
  */
242
284
  var shapeItems = [{
243
285
  id: 'rect',
@@ -284,8 +326,8 @@ export var WithShapes = {
284
326
  }
285
327
  };
286
328
 
287
- /**
288
- * 格子单位下不同宽高 - 每个 item 可设置 width/height(格子数)
329
+ /**
330
+ * 格子单位下不同宽高 - 每个 item 可设置 width/height(格子数)
289
331
  */
290
332
  var variableSizeItems = [{
291
333
  id: '1x1',
@@ -347,8 +389,8 @@ export var WithVariableSizes = {
347
389
  }
348
390
  };
349
391
 
350
- /**
351
- * 像素单位 - x、y、width、height 均为像素,可任意位置与尺寸
392
+ /**
393
+ * 像素单位 - x、y、width、height 均为像素,可任意位置与尺寸
352
394
  */
353
395
  var pixelItems = [{
354
396
  id: 'A',
@@ -409,8 +451,8 @@ export var PixelUnits = {
409
451
  }
410
452
  };
411
453
 
412
- /**
413
- * 点击与 Hover 事件
454
+ /**
455
+ * 点击与 Hover 事件
414
456
  */
415
457
  export var WithEvents = {
416
458
  args: {
@@ -439,8 +481,8 @@ export var WithEvents = {
439
481
  }
440
482
  };
441
483
 
442
- /**
443
- * Ref 调用 - 外部按钮控制缩放/复位/区域定位
484
+ /**
485
+ * Ref 调用 - 外部按钮控制缩放/复位/区域定位
444
486
  */
445
487
  export var WithRefControls = {
446
488
  render: function WithRefControlsRender() {
@@ -502,8 +544,315 @@ export var WithRefControls = {
502
544
  }
503
545
  };
504
546
 
505
- /**
506
- * 自定义控制按钮显隐
547
+ /**
548
+ * Floor Map 视图 - 编辑态(多画布 Tab + 占位工具栏/编辑面板)
549
+ * 传入 floorMapConfig + dataSources + mode='edit',由组件内部合并 items
550
+ */
551
+ var mockFloorMapConfig = {
552
+ canvasUi: {
553
+ canCreate: true,
554
+ canEdit: true
555
+ },
556
+ canvases: [{
557
+ id: 'f1',
558
+ name: '1楼',
559
+ order: 0,
560
+ enabled: true
561
+ }, {
562
+ id: 'f2',
563
+ name: '2楼',
564
+ order: 1,
565
+ enabled: true
566
+ }],
567
+ elementKindCategories: [{
568
+ id: 'c1',
569
+ label: '餐桌',
570
+ order: 0
571
+ }, {
572
+ id: 'c2',
573
+ label: '装饰',
574
+ order: 1
575
+ }],
576
+ elementKinds: [{
577
+ value: 'table',
578
+ label: '方桌',
579
+ categoryId: 'c1',
580
+ dataBindingPolicy: 'optional',
581
+ allowedDataSourceKeys: ['sales']
582
+ }, {
583
+ value: 'roundTable',
584
+ label: '圆桌',
585
+ categoryId: 'c1',
586
+ dataBindingPolicy: 'optional',
587
+ allowedDataSourceKeys: ['sales'],
588
+ defaultShape: 'circle'
589
+ }, {
590
+ value: 'deco',
591
+ label: '装饰',
592
+ categoryId: 'c2',
593
+ dataBindingPolicy: 'none'
594
+ }, {
595
+ value: 'stage',
596
+ label: '舞台/区域',
597
+ categoryId: 'c2',
598
+ dataBindingPolicy: 'none'
599
+ }, {
600
+ value: FLOOR_MAP_IMAGE_ELEMENT_KIND,
601
+ label: '图片(底图)',
602
+ categoryId: 'c2',
603
+ dataBindingPolicy: 'none'
604
+ }],
605
+ sceneElements: [{
606
+ instanceId: 'elm_bg_demo',
607
+ canvasId: 'f1',
608
+ x: 40,
609
+ y: 40,
610
+ width: 520,
611
+ height: 280,
612
+ zIndex: -8,
613
+ elementKind: FLOOR_MAP_IMAGE_ELEMENT_KIND,
614
+ name: '底图示例',
615
+ imageUrl: ''
616
+ }, {
617
+ instanceId: 'elm_s1',
618
+ canvasId: 'f1',
619
+ x: 50,
620
+ y: 50,
621
+ elementKind: 'table',
622
+ width: 180,
623
+ height: 120,
624
+ zIndex: 0,
625
+ dataBinding: {
626
+ dataSourceKey: 'sales',
627
+ recordId: 's1'
628
+ }
629
+ }, {
630
+ instanceId: 'elm_s2',
631
+ canvasId: 'f1',
632
+ x: 150,
633
+ y: 50,
634
+ elementKind: 'table',
635
+ width: 180,
636
+ height: 120,
637
+ zIndex: 0,
638
+ dataBinding: {
639
+ dataSourceKey: 'sales',
640
+ recordId: 's2'
641
+ }
642
+ }, {
643
+ instanceId: 'elm_r1',
644
+ canvasId: 'f1',
645
+ x: 250,
646
+ y: 50,
647
+ elementKind: 'roundTable',
648
+ width: 100,
649
+ height: 100,
650
+ zIndex: 0,
651
+ dataBinding: {
652
+ dataSourceKey: 'sales',
653
+ recordId: 'r1'
654
+ }
655
+ }, {
656
+ instanceId: 'elm_d1',
657
+ canvasId: 'f1',
658
+ x: 200,
659
+ y: 120,
660
+ width: 60,
661
+ height: 60,
662
+ shape: 'circle',
663
+ elementKind: 'deco',
664
+ zIndex: 0
665
+ }]
666
+ };
667
+ var mockDataSources = {
668
+ sales: [{
669
+ id: 's1',
670
+ name: '桌台 A'
671
+ }, {
672
+ id: 's2',
673
+ name: '桌台 B'
674
+ }, {
675
+ id: 'r1',
676
+ name: '圆桌1'
677
+ }]
678
+ };
679
+ export var FloorMapViewEdit = {
680
+ parameters: {
681
+ docs: {
682
+ description: {
683
+ story: '平面图编辑态:**非全屏**时顶栏为画布 **Tab + 全屏**,保存多在侧栏;**全屏**后顶栏含 Tab、保存、退出全屏等。左侧图元可**拖到画布**生成图元。左下角为缩放。'
684
+ }
685
+ }
686
+ },
687
+ args: {
688
+ items: [],
689
+ renderItem: function renderItem(item) {
690
+ return renderSimpleItem(item);
691
+ },
692
+ renderItemByKind: {
693
+ table: getRenderItemByKindTable(mockDataSources),
694
+ roundTable: getRenderItemByKindRoundTable(mockDataSources)
695
+ },
696
+ floorMapConfig: mockFloorMapConfig,
697
+ dataSources: mockDataSources,
698
+ mode: 'edit',
699
+ mapLayer: {
700
+ backgroundType: 'color',
701
+ backgroundColor: '#f5f5f5',
702
+ padding: 16
703
+ },
704
+ zoom: {
705
+ defaultScale: 1
706
+ },
707
+ pan: {
708
+ enabled: true
709
+ },
710
+ controls: {
711
+ showZoom: true,
712
+ showFullscreen: true,
713
+ showFitBounds: true
714
+ },
715
+ style: {
716
+ height: 560
717
+ }
718
+ }
719
+ };
720
+
721
+ /** Story:`dataSourceRecordForm` 自定义「数据源记录」表单 */
722
+ function SalesRecordInlineForm(props) {
723
+ var ctx = props.ctx;
724
+ var _Form$useForm = Form.useForm(),
725
+ _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
726
+ form = _Form$useForm2[0];
727
+ useEffect(function () {
728
+ form.setFieldsValue(ctx.record);
729
+ }, [ctx.recordId, ctx.record, form]);
730
+ return /*#__PURE__*/React.createElement(Form, {
731
+ form: form,
732
+ layout: "vertical",
733
+ size: "small",
734
+ onFinish: function onFinish(values) {
735
+ var _ctx$onSaveRecord;
736
+ return (_ctx$onSaveRecord = ctx.onSaveRecord) === null || _ctx$onSaveRecord === void 0 ? void 0 : _ctx$onSaveRecord.call(ctx, values);
737
+ }
738
+ }, /*#__PURE__*/React.createElement(Form.Item, {
739
+ name: "name",
740
+ label: "\u540D\u79F0"
741
+ }, /*#__PURE__*/React.createElement(Input, null)), /*#__PURE__*/React.createElement(Button, {
742
+ type: "primary",
743
+ htmlType: "submit",
744
+ size: "small",
745
+ loading: ctx.savingRecord,
746
+ block: true
747
+ }, "\u4FDD\u5B58\uFF08\u81EA\u5B9A\u4E49\u8868\u5355\uFF09"));
748
+ }
749
+
750
+ /**
751
+ * 平面图编辑态 + 自定义数据源记录表单(`dataSourceRecordForm.sales`)
752
+ */
753
+ export var FloorMapViewEditCustomRecordForm = {
754
+ parameters: {
755
+ docs: {
756
+ description: {
757
+ story: '选中落位后,侧栏「数据源记录」由 `dataSourceRecordForm` 渲染自定义 Form;`ctx.onSaveRecord` 与内置 FloorMapDataForm 相同,写回 `onDataSourceRecordSave`。本 Story 用本地 state 更新 `dataSources`,卡片文案会同步。'
758
+ }
759
+ }
760
+ },
761
+ render: function FloorMapViewEditCustomRecordFormRender() {
762
+ var _useState = useState(function () {
763
+ return _objectSpread({}, mockDataSources);
764
+ }),
765
+ _useState2 = _slicedToArray(_useState, 2),
766
+ dataSources = _useState2[0],
767
+ setDataSources = _useState2[1];
768
+ var handleRecordSave = useCallback(function (dataSourceKey, id, newData) {
769
+ setDataSources(function (prev) {
770
+ var _prev$dataSourceKey;
771
+ return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, dataSourceKey, ((_prev$dataSourceKey = prev[dataSourceKey]) !== null && _prev$dataSourceKey !== void 0 ? _prev$dataSourceKey : []).map(function (row) {
772
+ return row.id === id ? _objectSpread(_objectSpread({}, row), newData) : row;
773
+ })));
774
+ });
775
+ }, []);
776
+ return /*#__PURE__*/React.createElement(PisellFloorMapLayout, {
777
+ items: [],
778
+ renderItem: function renderItem(item) {
779
+ return renderSimpleItem(item);
780
+ },
781
+ renderItemByKind: {
782
+ table: getRenderItemByKindTable(dataSources),
783
+ roundTable: getRenderItemByKindRoundTable(dataSources)
784
+ },
785
+ floorMapConfig: mockFloorMapConfig,
786
+ dataSources: dataSources,
787
+ mode: "edit",
788
+ onDataSourceRecordSave: handleRecordSave,
789
+ dataSourceRecordForm: {
790
+ sales: function sales(ctx) {
791
+ return /*#__PURE__*/React.createElement(SalesRecordInlineForm, {
792
+ ctx: ctx
793
+ });
794
+ }
795
+ },
796
+ mapLayer: {
797
+ backgroundType: 'color',
798
+ backgroundColor: '#f5f5f5',
799
+ padding: 16
800
+ },
801
+ zoom: {
802
+ defaultScale: 1
803
+ },
804
+ pan: {
805
+ enabled: true
806
+ },
807
+ style: {
808
+ height: 560
809
+ }
810
+ });
811
+ }
812
+ };
813
+
814
+ /**
815
+ * Floor Map 视图 - 阅读态(方桌同样用 Figma 样式)
816
+ */
817
+ export var FloorMapViewRead = {
818
+ parameters: {
819
+ docs: {
820
+ description: {
821
+ story: '平面图视图阅读态:无 Tab/工具栏,方桌采用 Figma 设计稿样式。'
822
+ }
823
+ }
824
+ },
825
+ args: {
826
+ items: [],
827
+ renderItem: function renderItem(item) {
828
+ return renderSimpleItem(item);
829
+ },
830
+ renderItemByKind: {
831
+ table: getRenderItemByKindTable(mockDataSources),
832
+ roundTable: getRenderItemByKindRoundTable(mockDataSources)
833
+ },
834
+ floorMapConfig: mockFloorMapConfig,
835
+ dataSources: mockDataSources,
836
+ mode: 'read',
837
+ mapLayer: {
838
+ backgroundType: 'color',
839
+ backgroundColor: '#f5f5f5',
840
+ padding: 16
841
+ },
842
+ zoom: {
843
+ defaultScale: 1
844
+ },
845
+ pan: {
846
+ enabled: true
847
+ },
848
+ style: {
849
+ height: 400
850
+ }
851
+ }
852
+ };
853
+
854
+ /**
855
+ * 自定义控制按钮显隐
507
856
  */
508
857
  export var ControlsHidden = {
509
858
  args: {
@@ -526,6 +875,59 @@ export var ControlsHidden = {
526
875
  }
527
876
  };
528
877
 
878
+ /**
879
+ * `FloorMapLayoutProvider` 注入 `floorMapConfig` / `dataSources`;Layout 仅传展示向 props
880
+ */
881
+ export var FloorMapWithLayoutProvider = {
882
+ parameters: {
883
+ docs: {
884
+ description: {
885
+ story: '演示 `FloorMapLayoutProvider`:`floorMapConfig` 与 `dataSources` 由 Context 提供,`PisellFloorMapLayout` 只写 `renderItemByKind`、`mapLayer`、`mode` 等。'
886
+ }
887
+ }
888
+ },
889
+ render: function FloorMapWithLayoutProviderRender() {
890
+ var providerValue = useMemo(function () {
891
+ return {
892
+ floorMapConfig: mockFloorMapConfig,
893
+ dataSources: mockDataSources
894
+ };
895
+ }, []);
896
+ return /*#__PURE__*/React.createElement(FloorMapLayoutProvider, {
897
+ value: providerValue
898
+ }, /*#__PURE__*/React.createElement(PisellFloorMapLayout, {
899
+ items: [],
900
+ renderItem: function renderItem(item) {
901
+ return renderSimpleItem(item);
902
+ },
903
+ renderItemByKind: {
904
+ table: getRenderItemByKindTable(mockDataSources),
905
+ roundTable: getRenderItemByKindRoundTable(mockDataSources)
906
+ },
907
+ mode: "edit",
908
+ mapLayer: {
909
+ backgroundType: 'color',
910
+ backgroundColor: '#f5f5f5',
911
+ padding: 16
912
+ },
913
+ zoom: {
914
+ defaultScale: 1
915
+ },
916
+ pan: {
917
+ enabled: true
918
+ },
919
+ controls: {
920
+ showZoom: true,
921
+ showFullscreen: true,
922
+ showFitBounds: true
923
+ },
924
+ style: {
925
+ height: 560
926
+ }
927
+ }));
928
+ }
929
+ };
930
+
529
931
  // ---------- Figma 设计稿还原(node 14004:1168)----------
530
932
 
531
933
  /** 桌台状态:对应 Figma 中的边框颜色与图例 */
@@ -914,12 +1316,12 @@ function FigmaCardRow(_ref) {
914
1316
  }, children));
915
1317
  }
916
1318
 
917
- /** 根据 item id 前缀得到小条数量:S=1, M=2, L=3, X=3, XL=4 */
1319
+ /** 根据 item id 前缀得到小条数量:S=1, M=2, L=3, X=3, XL=4;编辑态落位 id 可能为 dataSourceKey_id,按后半或默认 1 */
918
1320
  function getBarCountFromItemId(id) {
919
1321
  var upper = id.toUpperCase();
920
- if (upper.startsWith('XL-')) return 4;
921
- if (upper.startsWith('L-') || upper.startsWith('X-')) return 3;
922
- if (upper.startsWith('M-')) return 2;
1322
+ if (upper.startsWith('XL-') || id.endsWith('-XL')) return 4;
1323
+ if (upper.startsWith('L-') || upper.startsWith('X-') || id.endsWith('-L') || id.endsWith('-X')) return 3;
1324
+ if (upper.startsWith('M-') || id.endsWith('-M')) return 2;
923
1325
  return 1; // S- 及其他
924
1326
  }
925
1327
  var CARD_BAR_WIDTH = 80;
@@ -953,9 +1355,13 @@ function CardBars(_ref2) {
953
1355
  });
954
1356
  }));
955
1357
  }
956
- function renderFigmaTableCard(item) {
957
- var _item$status, _item$customerName, _item$reserveTime;
958
- var status = (_item$status = item.status) !== null && _item$status !== void 0 ? _item$status : 'available';
1358
+
1359
+ /** 方桌卡片展示用数据结构(与 Figma 设计一致,供编辑态/阅读态复用) */
1360
+
1361
+ /** 渲染 Figma 样式的方桌卡片(上下小条 + 白底卡片 + 状态边框),供 FigmaDesign 与编辑态方桌复用 */
1362
+ function renderFigmaStyleTableCard(cardItem) {
1363
+ var _cardItem$status, _cardItem$displayName, _cardItem$customerNam, _cardItem$reserveTime;
1364
+ var status = (_cardItem$status = cardItem.status) !== null && _cardItem$status !== void 0 ? _cardItem$status : 'available';
959
1365
  var borderColor = STATUS_BORDER[status];
960
1366
  var isAvailable = status === 'available';
961
1367
  return /*#__PURE__*/React.createElement("div", {
@@ -972,7 +1378,7 @@ function renderFigmaTableCard(item) {
972
1378
  overflow: 'hidden'
973
1379
  }
974
1380
  }, /*#__PURE__*/React.createElement(CardBars, {
975
- count: getBarCountFromItemId(item.id),
1381
+ count: getBarCountFromItemId(cardItem.id),
976
1382
  position: "top",
977
1383
  barColor: isAvailable ? FIGMA.barFillAvailable : borderColor
978
1384
  }), /*#__PURE__*/React.createElement("div", {
@@ -991,10 +1397,7 @@ function renderFigmaTableCard(item) {
991
1397
  alignItems: isAvailable ? 'stretch' : 'center',
992
1398
  gap: 4
993
1399
  }
994
- }, isAvailable ?
995
- /*#__PURE__*/
996
- /* 空闲:仅 ID 居中 */
997
- React.createElement("div", {
1400
+ }, isAvailable ? /*#__PURE__*/React.createElement("div", {
998
1401
  style: {
999
1402
  flex: 1,
1000
1403
  display: 'flex',
@@ -1007,10 +1410,7 @@ function renderFigmaTableCard(item) {
1007
1410
  color: FIGMA.gray400,
1008
1411
  letterSpacing: 0
1009
1412
  }
1010
- }, item.id) :
1011
- /*#__PURE__*/
1012
- /* 有内容:ID + 状态行整体居中 */
1013
- React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
1413
+ }, (_cardItem$displayName = cardItem.displayName) !== null && _cardItem$displayName !== void 0 ? _cardItem$displayName : cardItem.id) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
1014
1414
  style: {
1015
1415
  fontWeight: 600,
1016
1416
  fontSize: 18,
@@ -1019,7 +1419,7 @@ function renderFigmaTableCard(item) {
1019
1419
  letterSpacing: 0,
1020
1420
  textAlign: 'center'
1021
1421
  }
1022
- }, item.id), status === 'reserved' && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FigmaCardRow, {
1422
+ }, cardItem.id), status === 'reserved' && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FigmaCardRow, {
1023
1423
  icon: /*#__PURE__*/React.createElement(Avatar, {
1024
1424
  size: 16,
1025
1425
  icon: /*#__PURE__*/React.createElement(UserOutlined, null),
@@ -1027,27 +1427,58 @@ function renderFigmaTableCard(item) {
1027
1427
  backgroundColor: FIGMA.gray200
1028
1428
  }
1029
1429
  })
1030
- }, /*#__PURE__*/React.createElement("span", null, (_item$customerName = item.customerName) !== null && _item$customerName !== void 0 ? _item$customerName : '')), /*#__PURE__*/React.createElement(FigmaCardRow, {
1430
+ }, /*#__PURE__*/React.createElement("span", null, (_cardItem$customerNam = cardItem.customerName) !== null && _cardItem$customerNam !== void 0 ? _cardItem$customerNam : '')), /*#__PURE__*/React.createElement(FigmaCardRow, {
1031
1431
  icon: /*#__PURE__*/React.createElement(ClockCircleOutlined, null)
1032
- }, /*#__PURE__*/React.createElement("span", null, (_item$reserveTime = item.reserveTime) !== null && _item$reserveTime !== void 0 ? _item$reserveTime : ''))), (status === 'dining' || status === 'waiting' || status === 'billed' || status === 'availableSoon') && item.guests != null && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FigmaCardRow, {
1432
+ }, /*#__PURE__*/React.createElement("span", null, (_cardItem$reserveTime = cardItem.reserveTime) !== null && _cardItem$reserveTime !== void 0 ? _cardItem$reserveTime : ''))), (status === 'dining' || status === 'waiting' || status === 'billed' || status === 'availableSoon') && cardItem.guests != null && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FigmaCardRow, {
1033
1433
  icon: /*#__PURE__*/React.createElement(TeamOutlined, null)
1034
- }, /*#__PURE__*/React.createElement("span", null, item.guests)), item.dishes && /*#__PURE__*/React.createElement(FigmaCardRow, {
1434
+ }, /*#__PURE__*/React.createElement("span", null, cardItem.guests)), cardItem.dishes && /*#__PURE__*/React.createElement(FigmaCardRow, {
1035
1435
  icon: /*#__PURE__*/React.createElement(AuditOutlined, null)
1036
- }, /*#__PURE__*/React.createElement("span", null, item.dishes)), item.duration && /*#__PURE__*/React.createElement(FigmaCardRow, {
1436
+ }, /*#__PURE__*/React.createElement("span", null, cardItem.dishes)), cardItem.duration && /*#__PURE__*/React.createElement(FigmaCardRow, {
1037
1437
  icon: /*#__PURE__*/React.createElement(FieldTimeOutlined, null)
1038
- }, /*#__PURE__*/React.createElement("span", null, item.duration))))), /*#__PURE__*/React.createElement(CardBars, {
1039
- count: getBarCountFromItemId(item.id),
1438
+ }, /*#__PURE__*/React.createElement("span", null, cardItem.duration))))), /*#__PURE__*/React.createElement(CardBars, {
1439
+ count: getBarCountFromItemId(cardItem.id),
1040
1440
  position: "bottom",
1041
1441
  barColor: isAvailable ? FIGMA.barFillAvailable : borderColor
1042
1442
  }));
1043
1443
  }
1444
+ function renderFigmaTableCard(item) {
1445
+ return renderFigmaStyleTableCard({
1446
+ id: item.id,
1447
+ status: item.status,
1448
+ customerName: item.customerName,
1449
+ reserveTime: item.reserveTime,
1450
+ guests: item.guests,
1451
+ dishes: item.dishes,
1452
+ duration: item.duration
1453
+ });
1454
+ }
1455
+
1456
+ /** 从编辑态 merged item + dataSources 得到方桌卡片数据(用于 renderItemByKind.table) */
1457
+ function getTableCardItemFromMerged(item, dataSources) {
1458
+ var _item$_sceneElement, _dataSources$binding$, _binding$recordId, _ref3;
1459
+ var binding = (_item$_sceneElement = item._sceneElement) === null || _item$_sceneElement === void 0 ? void 0 : _item$_sceneElement.dataBinding;
1460
+ var record = binding ? (_dataSources$binding$ = dataSources[binding.dataSourceKey]) === null || _dataSources$binding$ === void 0 ? void 0 : _dataSources$binding$.find(function (r) {
1461
+ return r.id === binding.recordId;
1462
+ }) : undefined;
1463
+ var displayId = (_binding$recordId = binding === null || binding === void 0 ? void 0 : binding.recordId) !== null && _binding$recordId !== void 0 ? _binding$recordId : item.id;
1464
+ return {
1465
+ id: displayId,
1466
+ displayName: record === null || record === void 0 ? void 0 : record.name,
1467
+ status: (_ref3 = record === null || record === void 0 ? void 0 : record.status) !== null && _ref3 !== void 0 ? _ref3 : 'available',
1468
+ customerName: record === null || record === void 0 ? void 0 : record.customerName,
1469
+ reserveTime: record === null || record === void 0 ? void 0 : record.reserveTime,
1470
+ guests: record === null || record === void 0 ? void 0 : record.guests,
1471
+ dishes: record === null || record === void 0 ? void 0 : record.dishes,
1472
+ duration: record === null || record === void 0 ? void 0 : record.duration
1473
+ };
1474
+ }
1044
1475
 
1045
1476
  /** 图例单项:圆点 + 文案 */
1046
- function LegendItem(_ref3) {
1047
- var color = _ref3.color,
1048
- label = _ref3.label,
1049
- _ref3$fill = _ref3.fill,
1050
- fill = _ref3$fill === void 0 ? false : _ref3$fill;
1477
+ function LegendItem(_ref4) {
1478
+ var color = _ref4.color,
1479
+ label = _ref4.label,
1480
+ _ref4$fill = _ref4.fill,
1481
+ fill = _ref4$fill === void 0 ? false : _ref4$fill;
1051
1482
  return /*#__PURE__*/React.createElement("span", {
1052
1483
  style: {
1053
1484
  display: 'inline-flex',
@@ -1072,11 +1503,11 @@ function LegendItem(_ref3) {
1072
1503
  }
1073
1504
 
1074
1505
  /** 图例单项(Figma 14131:6266):16px 圆点,Available 白底+灰边,其余实心填色;文案 14px Medium、黑色 */
1075
- function LegendItem14131(_ref4) {
1076
- var color = _ref4.color,
1077
- label = _ref4.label,
1078
- _ref4$fill = _ref4.fill,
1079
- fill = _ref4$fill === void 0 ? false : _ref4$fill;
1506
+ function LegendItem14131(_ref5) {
1507
+ var color = _ref5.color,
1508
+ label = _ref5.label,
1509
+ _ref5$fill = _ref5.fill,
1510
+ fill = _ref5$fill === void 0 ? false : _ref5$fill;
1080
1511
  return /*#__PURE__*/React.createElement("span", {
1081
1512
  style: {
1082
1513
  display: 'inline-flex',
@@ -1100,8 +1531,8 @@ function LegendItem14131(_ref4) {
1100
1531
  }), label);
1101
1532
  }
1102
1533
 
1103
- /**
1104
- * Figma 设计稿效果 - 餐厅桌台状态图(顶部 Tab + 图例参考 node 14131:6266,内容区不变)
1534
+ /**
1535
+ * Figma 设计稿效果 - 餐厅桌台状态图(顶部 Tab + 图例参考 node 14131:6266,内容区不变)
1105
1536
  */
1106
1537
  export var FigmaDesign = {
1107
1538
  parameters: {