@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
@@ -22,6 +22,10 @@ __export(PisellFloorMapLayout_stories_exports, {
22
22
  ControlsHidden: () => ControlsHidden,
23
23
  Default: () => Default,
24
24
  FigmaDesign: () => FigmaDesign,
25
+ FloorMapViewEdit: () => FloorMapViewEdit,
26
+ FloorMapViewEditCustomRecordForm: () => FloorMapViewEditCustomRecordForm,
27
+ FloorMapViewRead: () => FloorMapViewRead,
28
+ FloorMapWithLayoutProvider: () => FloorMapWithLayoutProvider,
25
29
  PixelUnits: () => PixelUnits,
26
30
  WithEvents: () => WithEvents,
27
31
  WithGrid: () => WithGrid,
@@ -35,7 +39,10 @@ module.exports = __toCommonJS(PisellFloorMapLayout_stories_exports);
35
39
  var import_react = require("react");
36
40
  var import_antd = require("antd");
37
41
  var import_icons = require("@ant-design/icons");
42
+ var import_types = require("./types");
38
43
  var import_PisellFloorMapLayout = require("./PisellFloorMapLayout");
44
+ var import_FloorMapLayoutContext = require("./context/FloorMapLayoutContext");
45
+ var import_FigmaTableCard = require("./components/FigmaTableCard");
39
46
  var FIGMA = {
40
47
  white: "#FFFFFF",
41
48
  gray50: "#F9FAFB",
@@ -114,6 +121,7 @@ var defaultItems = [
114
121
  { id: "X-4", x: 3, y: 3 }
115
122
  ];
116
123
  function renderSimpleItem(item) {
124
+ const isCircle = item.shape === "circle";
117
125
  return /* @__PURE__ */ React.createElement(
118
126
  "div",
119
127
  {
@@ -125,7 +133,7 @@ function renderSimpleItem(item) {
125
133
  justifyContent: "center",
126
134
  background: "#fff",
127
135
  border: "4px solid #d9d9d9",
128
- borderRadius: 4,
136
+ borderRadius: isCircle ? "50%" : 4,
129
137
  fontSize: 12
130
138
  }
131
139
  },
@@ -133,6 +141,25 @@ function renderSimpleItem(item) {
133
141
  );
134
142
  }
135
143
  var Default = {
144
+ parameters: {
145
+ layout: "fullscreen"
146
+ },
147
+ decorators: [
148
+ (Story) => /* @__PURE__ */ React.createElement(
149
+ "div",
150
+ {
151
+ style: {
152
+ boxSizing: "border-box",
153
+ height: "100vh",
154
+ minHeight: "100vh",
155
+ padding: 16,
156
+ display: "flex",
157
+ flexDirection: "column"
158
+ }
159
+ },
160
+ /* @__PURE__ */ React.createElement("div", { style: { flex: 1, minHeight: 0, minWidth: 0 } }, /* @__PURE__ */ React.createElement(Story, null))
161
+ )
162
+ ],
136
163
  args: {
137
164
  items: defaultItems,
138
165
  renderItem: (item) => renderSimpleItem(item),
@@ -145,7 +172,8 @@ var Default = {
145
172
  },
146
173
  zoom: { defaultScale: 1, min: 0.5, max: 2 },
147
174
  pan: { enabled: false },
148
- enableHover: true
175
+ enableHover: true,
176
+ style: { height: "100%", width: "100%", minHeight: 0 }
149
177
  }
150
178
  };
151
179
  var WithGrid = {
@@ -178,7 +206,12 @@ var WithPan = {
178
206
  },
179
207
  zoom: { defaultScale: 1 },
180
208
  pan: { enabled: true },
181
- controls: { showZoom: true, showReset: true, showFitBounds: true, showFullscreen: true }
209
+ controls: {
210
+ showZoom: true,
211
+ showReset: true,
212
+ showFitBounds: true,
213
+ showFullscreen: true
214
+ }
182
215
  }
183
216
  };
184
217
  var shapeItems = [
@@ -320,6 +353,256 @@ var WithRefControls = {
320
353
  )));
321
354
  }
322
355
  };
356
+ var mockFloorMapConfig = {
357
+ canvasUi: { canCreate: true, canEdit: true },
358
+ canvases: [
359
+ { id: "f1", name: "1楼", order: 0, enabled: true },
360
+ { id: "f2", name: "2楼", order: 1, enabled: true }
361
+ ],
362
+ elementKindCategories: [
363
+ { id: "c1", label: "餐桌", order: 0 },
364
+ { id: "c2", label: "装饰", order: 1 }
365
+ ],
366
+ elementKinds: [
367
+ {
368
+ value: "table",
369
+ label: "方桌",
370
+ categoryId: "c1",
371
+ dataBindingPolicy: "optional",
372
+ allowedDataSourceKeys: ["sales"]
373
+ },
374
+ {
375
+ value: "roundTable",
376
+ label: "圆桌",
377
+ categoryId: "c1",
378
+ dataBindingPolicy: "optional",
379
+ allowedDataSourceKeys: ["sales"],
380
+ defaultShape: "circle"
381
+ },
382
+ {
383
+ value: "deco",
384
+ label: "装饰",
385
+ categoryId: "c2",
386
+ dataBindingPolicy: "none"
387
+ },
388
+ {
389
+ value: "stage",
390
+ label: "舞台/区域",
391
+ categoryId: "c2",
392
+ dataBindingPolicy: "none"
393
+ },
394
+ {
395
+ value: import_types.FLOOR_MAP_IMAGE_ELEMENT_KIND,
396
+ label: "图片(底图)",
397
+ categoryId: "c2",
398
+ dataBindingPolicy: "none"
399
+ }
400
+ ],
401
+ sceneElements: [
402
+ {
403
+ instanceId: "elm_bg_demo",
404
+ canvasId: "f1",
405
+ x: 40,
406
+ y: 40,
407
+ width: 520,
408
+ height: 280,
409
+ zIndex: -8,
410
+ elementKind: import_types.FLOOR_MAP_IMAGE_ELEMENT_KIND,
411
+ name: "底图示例",
412
+ imageUrl: ""
413
+ },
414
+ {
415
+ instanceId: "elm_s1",
416
+ canvasId: "f1",
417
+ x: 50,
418
+ y: 50,
419
+ elementKind: "table",
420
+ width: 180,
421
+ height: 120,
422
+ zIndex: 0,
423
+ dataBinding: { dataSourceKey: "sales", recordId: "s1" }
424
+ },
425
+ {
426
+ instanceId: "elm_s2",
427
+ canvasId: "f1",
428
+ x: 150,
429
+ y: 50,
430
+ elementKind: "table",
431
+ width: 180,
432
+ height: 120,
433
+ zIndex: 0,
434
+ dataBinding: { dataSourceKey: "sales", recordId: "s2" }
435
+ },
436
+ {
437
+ instanceId: "elm_r1",
438
+ canvasId: "f1",
439
+ x: 250,
440
+ y: 50,
441
+ elementKind: "roundTable",
442
+ width: 100,
443
+ height: 100,
444
+ zIndex: 0,
445
+ dataBinding: { dataSourceKey: "sales", recordId: "r1" }
446
+ },
447
+ {
448
+ instanceId: "elm_d1",
449
+ canvasId: "f1",
450
+ x: 200,
451
+ y: 120,
452
+ width: 60,
453
+ height: 60,
454
+ shape: "circle",
455
+ elementKind: "deco",
456
+ zIndex: 0
457
+ }
458
+ ]
459
+ };
460
+ var mockDataSources = {
461
+ sales: [
462
+ { id: "s1", name: "桌台 A" },
463
+ { id: "s2", name: "桌台 B" },
464
+ { id: "r1", name: "圆桌1" }
465
+ ]
466
+ };
467
+ var FloorMapViewEdit = {
468
+ parameters: {
469
+ docs: {
470
+ description: {
471
+ story: "平面图编辑态:**非全屏**时顶栏为画布 **Tab + 全屏**,保存多在侧栏;**全屏**后顶栏含 Tab、保存、退出全屏等。左侧图元可**拖到画布**生成图元。左下角为缩放。"
472
+ }
473
+ }
474
+ },
475
+ args: {
476
+ items: [],
477
+ renderItem: (item) => renderSimpleItem(item),
478
+ renderItemByKind: {
479
+ table: (0, import_FigmaTableCard.getRenderItemByKindTable)(mockDataSources),
480
+ roundTable: (0, import_FigmaTableCard.getRenderItemByKindRoundTable)(mockDataSources)
481
+ },
482
+ floorMapConfig: mockFloorMapConfig,
483
+ dataSources: mockDataSources,
484
+ mode: "edit",
485
+ mapLayer: {
486
+ backgroundType: "color",
487
+ backgroundColor: "#f5f5f5",
488
+ padding: 16
489
+ },
490
+ zoom: { defaultScale: 1 },
491
+ pan: { enabled: true },
492
+ controls: { showZoom: true, showFullscreen: true, showFitBounds: true },
493
+ style: { height: 560 }
494
+ }
495
+ };
496
+ function SalesRecordInlineForm(props) {
497
+ const { ctx } = props;
498
+ const [form] = import_antd.Form.useForm();
499
+ (0, import_react.useEffect)(() => {
500
+ form.setFieldsValue(ctx.record);
501
+ }, [ctx.recordId, ctx.record, form]);
502
+ return /* @__PURE__ */ React.createElement(
503
+ import_antd.Form,
504
+ {
505
+ form,
506
+ layout: "vertical",
507
+ size: "small",
508
+ onFinish: (values) => {
509
+ var _a;
510
+ return (_a = ctx.onSaveRecord) == null ? void 0 : _a.call(ctx, values);
511
+ }
512
+ },
513
+ /* @__PURE__ */ React.createElement(import_antd.Form.Item, { name: "name", label: "名称" }, /* @__PURE__ */ React.createElement(import_antd.Input, null)),
514
+ /* @__PURE__ */ React.createElement(
515
+ import_antd.Button,
516
+ {
517
+ type: "primary",
518
+ htmlType: "submit",
519
+ size: "small",
520
+ loading: ctx.savingRecord,
521
+ block: true
522
+ },
523
+ "保存(自定义表单)"
524
+ )
525
+ );
526
+ }
527
+ var FloorMapViewEditCustomRecordForm = {
528
+ parameters: {
529
+ docs: {
530
+ description: {
531
+ story: "选中落位后,侧栏「数据源记录」由 `dataSourceRecordForm` 渲染自定义 Form;`ctx.onSaveRecord` 与内置 FloorMapDataForm 相同,写回 `onDataSourceRecordSave`。本 Story 用本地 state 更新 `dataSources`,卡片文案会同步。"
532
+ }
533
+ }
534
+ },
535
+ render: function FloorMapViewEditCustomRecordFormRender() {
536
+ const [dataSources, setDataSources] = (0, import_react.useState)(() => ({
537
+ ...mockDataSources
538
+ }));
539
+ const handleRecordSave = (0, import_react.useCallback)(
540
+ (dataSourceKey, id, newData) => {
541
+ setDataSources((prev) => ({
542
+ ...prev,
543
+ [dataSourceKey]: (prev[dataSourceKey] ?? []).map(
544
+ (row) => row.id === id ? { ...row, ...newData } : row
545
+ )
546
+ }));
547
+ },
548
+ []
549
+ );
550
+ return /* @__PURE__ */ React.createElement(
551
+ import_PisellFloorMapLayout.PisellFloorMapLayout,
552
+ {
553
+ items: [],
554
+ renderItem: (item) => renderSimpleItem(item),
555
+ renderItemByKind: {
556
+ table: (0, import_FigmaTableCard.getRenderItemByKindTable)(dataSources),
557
+ roundTable: (0, import_FigmaTableCard.getRenderItemByKindRoundTable)(dataSources)
558
+ },
559
+ floorMapConfig: mockFloorMapConfig,
560
+ dataSources,
561
+ mode: "edit",
562
+ onDataSourceRecordSave: handleRecordSave,
563
+ dataSourceRecordForm: {
564
+ sales: (ctx) => /* @__PURE__ */ React.createElement(SalesRecordInlineForm, { ctx })
565
+ },
566
+ mapLayer: {
567
+ backgroundType: "color",
568
+ backgroundColor: "#f5f5f5",
569
+ padding: 16
570
+ },
571
+ zoom: { defaultScale: 1 },
572
+ pan: { enabled: true },
573
+ style: { height: 560 }
574
+ }
575
+ );
576
+ }
577
+ };
578
+ var FloorMapViewRead = {
579
+ parameters: {
580
+ docs: {
581
+ description: {
582
+ story: "平面图视图阅读态:无 Tab/工具栏,方桌采用 Figma 设计稿样式。"
583
+ }
584
+ }
585
+ },
586
+ args: {
587
+ items: [],
588
+ renderItem: (item) => renderSimpleItem(item),
589
+ renderItemByKind: {
590
+ table: (0, import_FigmaTableCard.getRenderItemByKindTable)(mockDataSources),
591
+ roundTable: (0, import_FigmaTableCard.getRenderItemByKindRoundTable)(mockDataSources)
592
+ },
593
+ floorMapConfig: mockFloorMapConfig,
594
+ dataSources: mockDataSources,
595
+ mode: "read",
596
+ mapLayer: {
597
+ backgroundType: "color",
598
+ backgroundColor: "#f5f5f5",
599
+ padding: 16
600
+ },
601
+ zoom: { defaultScale: 1 },
602
+ pan: { enabled: true },
603
+ style: { height: 400 }
604
+ }
605
+ };
323
606
  var ControlsHidden = {
324
607
  args: {
325
608
  items: defaultItems.slice(0, 4),
@@ -338,6 +621,49 @@ var ControlsHidden = {
338
621
  }
339
622
  }
340
623
  };
624
+ var FloorMapWithLayoutProvider = {
625
+ parameters: {
626
+ docs: {
627
+ description: {
628
+ story: "演示 `FloorMapLayoutProvider`:`floorMapConfig` 与 `dataSources` 由 Context 提供,`PisellFloorMapLayout` 只写 `renderItemByKind`、`mapLayer`、`mode` 等。"
629
+ }
630
+ }
631
+ },
632
+ render: function FloorMapWithLayoutProviderRender() {
633
+ const providerValue = (0, import_react.useMemo)(
634
+ () => ({
635
+ floorMapConfig: mockFloorMapConfig,
636
+ dataSources: mockDataSources
637
+ }),
638
+ []
639
+ );
640
+ return /* @__PURE__ */ React.createElement(import_FloorMapLayoutContext.FloorMapLayoutProvider, { value: providerValue }, /* @__PURE__ */ React.createElement(
641
+ import_PisellFloorMapLayout.PisellFloorMapLayout,
642
+ {
643
+ items: [],
644
+ renderItem: (item) => renderSimpleItem(item),
645
+ renderItemByKind: {
646
+ table: (0, import_FigmaTableCard.getRenderItemByKindTable)(mockDataSources),
647
+ roundTable: (0, import_FigmaTableCard.getRenderItemByKindRoundTable)(mockDataSources)
648
+ },
649
+ mode: "edit",
650
+ mapLayer: {
651
+ backgroundType: "color",
652
+ backgroundColor: "#f5f5f5",
653
+ padding: 16
654
+ },
655
+ zoom: { defaultScale: 1 },
656
+ pan: { enabled: true },
657
+ controls: {
658
+ showZoom: true,
659
+ showFullscreen: true,
660
+ showFitBounds: true
661
+ },
662
+ style: { height: 560 }
663
+ }
664
+ ));
665
+ }
666
+ };
341
667
  var STATUS_BORDER = {
342
668
  available: FIGMA.gray200,
343
669
  reserved: FIGMA.reserved,
@@ -354,35 +680,236 @@ var XL_W = 460;
354
680
  var H = 160;
355
681
  var figma13998PixelItems = [
356
682
  // Row 0: S-1, S-2, M-1, L-0(大格带内容,Figma 14000:335)
357
- { id: "S-1", x: 0, y: 0, width: SMALL_W, height: H, status: "reserved", customerName: "Carolino", reserveTime: "13:00" },
358
- { id: "S-2", x: SMALL_W + GAP, y: 0, width: SMALL_W, height: H, status: "available" },
359
- { id: "M-1", x: (SMALL_W + GAP) * 2, y: 0, width: MED_W, height: H, status: "available" },
360
- { id: "L-0", x: (SMALL_W + GAP) * 2 + MED_W + GAP, y: 0, width: LARGE_W, height: H, status: "dining", guests: 4, dishes: "5/5 Dishes", duration: "18m20s" },
361
- { id: "M-0", x: (SMALL_W + GAP) * 2 + MED_W + GAP + LARGE_W + GAP, y: 0, width: MED_W, height: H, status: "available" },
683
+ {
684
+ id: "S-1",
685
+ x: 0,
686
+ y: 0,
687
+ width: SMALL_W,
688
+ height: H,
689
+ status: "reserved",
690
+ customerName: "Carolino",
691
+ reserveTime: "13:00"
692
+ },
693
+ {
694
+ id: "S-2",
695
+ x: SMALL_W + GAP,
696
+ y: 0,
697
+ width: SMALL_W,
698
+ height: H,
699
+ status: "available"
700
+ },
701
+ {
702
+ id: "M-1",
703
+ x: (SMALL_W + GAP) * 2,
704
+ y: 0,
705
+ width: MED_W,
706
+ height: H,
707
+ status: "available"
708
+ },
709
+ {
710
+ id: "L-0",
711
+ x: (SMALL_W + GAP) * 2 + MED_W + GAP,
712
+ y: 0,
713
+ width: LARGE_W,
714
+ height: H,
715
+ status: "dining",
716
+ guests: 4,
717
+ dishes: "5/5 Dishes",
718
+ duration: "18m20s"
719
+ },
720
+ {
721
+ id: "M-0",
722
+ x: (SMALL_W + GAP) * 2 + MED_W + GAP + LARGE_W + GAP,
723
+ y: 0,
724
+ width: MED_W,
725
+ height: H,
726
+ status: "available"
727
+ },
362
728
  // Row 1: S-3, M-4, S-5, S-6, XL-0(第二个改成 m,最后添加 xl)
363
- { id: "S-3", x: 0, y: H + GAP, width: SMALL_W, height: H, status: "availableSoon", guests: 7, dishes: "5/5 Dishes", duration: "35m30s" },
364
- { id: "M-4", x: SMALL_W + GAP, y: H + GAP, width: MED_W, height: H, status: "available" },
365
- { id: "S-5", x: SMALL_W + GAP + MED_W + GAP, y: H + GAP, width: SMALL_W, height: H, status: "dining", guests: 2, dishes: "3/5 Dishes", duration: "15m30s" },
366
- { id: "S-6", x: SMALL_W + GAP + MED_W + GAP + SMALL_W + GAP, y: H + GAP, width: SMALL_W, height: H, status: "reserved", customerName: "Alex", reserveTime: "14:00" },
367
- { id: "XL-0", x: (SMALL_W + GAP) * 2 + MED_W + GAP + SMALL_W + GAP, y: H + GAP, width: XL_W, height: H, status: "available" },
729
+ {
730
+ id: "S-3",
731
+ x: 0,
732
+ y: H + GAP,
733
+ width: SMALL_W,
734
+ height: H,
735
+ status: "availableSoon",
736
+ guests: 7,
737
+ dishes: "5/5 Dishes",
738
+ duration: "35m30s"
739
+ },
740
+ {
741
+ id: "M-4",
742
+ x: SMALL_W + GAP,
743
+ y: H + GAP,
744
+ width: MED_W,
745
+ height: H,
746
+ status: "available"
747
+ },
748
+ {
749
+ id: "S-5",
750
+ x: SMALL_W + GAP + MED_W + GAP,
751
+ y: H + GAP,
752
+ width: SMALL_W,
753
+ height: H,
754
+ status: "dining",
755
+ guests: 2,
756
+ dishes: "3/5 Dishes",
757
+ duration: "15m30s"
758
+ },
759
+ {
760
+ id: "S-6",
761
+ x: SMALL_W + GAP + MED_W + GAP + SMALL_W + GAP,
762
+ y: H + GAP,
763
+ width: SMALL_W,
764
+ height: H,
765
+ status: "reserved",
766
+ customerName: "Alex",
767
+ reserveTime: "14:00"
768
+ },
769
+ {
770
+ id: "XL-0",
771
+ x: (SMALL_W + GAP) * 2 + MED_W + GAP + SMALL_W + GAP,
772
+ y: H + GAP,
773
+ width: XL_W,
774
+ height: H,
775
+ status: "available"
776
+ },
368
777
  // Row 2: L-1(MED), L-2(LARGE), L-5(LARGE), S-7, S-10(S-7 紧接 L-5 右边界 + GAP,避免与 L-5 重叠)
369
- { id: "L-1", x: 0, y: (H + GAP) * 2, width: MED_W, height: H, status: "available" },
370
- { id: "L-2", x: MED_W + GAP, y: (H + GAP) * 2, width: LARGE_W, height: H, status: "billed", guests: 5, dishes: "5/5 Dishes", duration: "25m30s" },
371
- { id: "L-5", x: MED_W + GAP + LARGE_W + GAP, y: (H + GAP) * 2, width: LARGE_W, height: H, status: "available" },
372
- { id: "S-7", x: MED_W + GAP + LARGE_W + GAP + LARGE_W + GAP, y: (H + GAP) * 2, width: SMALL_W, height: H, status: "reserved", customerName: "Carolino", reserveTime: "13:00" },
373
- { id: "S-10", x: MED_W + GAP + LARGE_W + GAP + LARGE_W + GAP + SMALL_W + GAP, y: (H + GAP) * 2, width: SMALL_W, height: H, status: "available" },
778
+ {
779
+ id: "L-1",
780
+ x: 0,
781
+ y: (H + GAP) * 2,
782
+ width: MED_W,
783
+ height: H,
784
+ status: "available"
785
+ },
786
+ {
787
+ id: "L-2",
788
+ x: MED_W + GAP,
789
+ y: (H + GAP) * 2,
790
+ width: LARGE_W,
791
+ height: H,
792
+ status: "billed",
793
+ guests: 5,
794
+ dishes: "5/5 Dishes",
795
+ duration: "25m30s"
796
+ },
797
+ {
798
+ id: "L-5",
799
+ x: MED_W + GAP + LARGE_W + GAP,
800
+ y: (H + GAP) * 2,
801
+ width: LARGE_W,
802
+ height: H,
803
+ status: "available"
804
+ },
805
+ {
806
+ id: "S-7",
807
+ x: MED_W + GAP + LARGE_W + GAP + LARGE_W + GAP,
808
+ y: (H + GAP) * 2,
809
+ width: SMALL_W,
810
+ height: H,
811
+ status: "reserved",
812
+ customerName: "Carolino",
813
+ reserveTime: "13:00"
814
+ },
815
+ {
816
+ id: "S-10",
817
+ x: MED_W + GAP + LARGE_W + GAP + LARGE_W + GAP + SMALL_W + GAP,
818
+ y: (H + GAP) * 2,
819
+ width: SMALL_W,
820
+ height: H,
821
+ status: "available"
822
+ },
374
823
  // Row 3: M-3, L-3, S-8, M-5(第四格 = S-8 右边界 + GAP,避免重叠)
375
- { id: "M-3", x: 0, y: (H + GAP) * 3, width: MED_W, height: H, status: "waiting", guests: 2, dishes: "3/5 Dishes", duration: "15m30s" },
376
- { id: "L-3", x: MED_W + GAP, y: (H + GAP) * 3, width: LARGE_W, height: H, status: "available" },
377
- { id: "S-8", x: MED_W + GAP + LARGE_W + GAP, y: (H + GAP) * 3, width: SMALL_W, height: H, status: "dining", guests: 6, dishes: "4/5 Dishes", duration: "24m30s" },
378
- { id: "M-5", x: MED_W + GAP + LARGE_W + GAP + SMALL_W + GAP, y: (H + GAP) * 3, width: MED_W, height: H, status: "available" },
824
+ {
825
+ id: "M-3",
826
+ x: 0,
827
+ y: (H + GAP) * 3,
828
+ width: MED_W,
829
+ height: H,
830
+ status: "waiting",
831
+ guests: 2,
832
+ dishes: "3/5 Dishes",
833
+ duration: "15m30s"
834
+ },
835
+ {
836
+ id: "L-3",
837
+ x: MED_W + GAP,
838
+ y: (H + GAP) * 3,
839
+ width: LARGE_W,
840
+ height: H,
841
+ status: "available"
842
+ },
843
+ {
844
+ id: "S-8",
845
+ x: MED_W + GAP + LARGE_W + GAP,
846
+ y: (H + GAP) * 3,
847
+ width: SMALL_W,
848
+ height: H,
849
+ status: "dining",
850
+ guests: 6,
851
+ dishes: "4/5 Dishes",
852
+ duration: "24m30s"
853
+ },
854
+ {
855
+ id: "M-5",
856
+ x: MED_W + GAP + LARGE_W + GAP + SMALL_W + GAP,
857
+ y: (H + GAP) * 3,
858
+ width: MED_W,
859
+ height: H,
860
+ status: "available"
861
+ },
379
862
  // Row 4: X-1, S-9, X-2, L-4
380
- { id: "X-1", x: 0, y: (H + GAP) * 4, width: LARGE_W, height: H, status: "available" },
381
- { id: "S-9", x: LARGE_W + GAP, y: (H + GAP) * 4, width: SMALL_W, height: H, status: "available" },
382
- { id: "X-2", x: LARGE_W + GAP + SMALL_W + GAP, y: (H + GAP) * 4, width: LARGE_W, height: H, status: "waiting", guests: 2, dishes: "3/5 Dishes", duration: "15m30s" },
383
- { id: "L-4", x: LARGE_W + GAP + SMALL_W + GAP + LARGE_W + GAP, y: (H + GAP) * 4, width: LARGE_W, height: H, status: "billed", guests: 5, dishes: "5/5 Dishes", duration: "25m30s" },
863
+ {
864
+ id: "X-1",
865
+ x: 0,
866
+ y: (H + GAP) * 4,
867
+ width: LARGE_W,
868
+ height: H,
869
+ status: "available"
870
+ },
871
+ {
872
+ id: "S-9",
873
+ x: LARGE_W + GAP,
874
+ y: (H + GAP) * 4,
875
+ width: SMALL_W,
876
+ height: H,
877
+ status: "available"
878
+ },
879
+ {
880
+ id: "X-2",
881
+ x: LARGE_W + GAP + SMALL_W + GAP,
882
+ y: (H + GAP) * 4,
883
+ width: LARGE_W,
884
+ height: H,
885
+ status: "waiting",
886
+ guests: 2,
887
+ dishes: "3/5 Dishes",
888
+ duration: "15m30s"
889
+ },
890
+ {
891
+ id: "L-4",
892
+ x: LARGE_W + GAP + SMALL_W + GAP + LARGE_W + GAP,
893
+ y: (H + GAP) * 4,
894
+ width: LARGE_W,
895
+ height: H,
896
+ status: "billed",
897
+ guests: 5,
898
+ dishes: "5/5 Dishes",
899
+ duration: "25m30s"
900
+ },
384
901
  // Row 5: XL-1 超大格
385
- { id: "XL-1", x: 0, y: (H + GAP) * 5, width: XL_W, height: H, status: "dining", guests: 12, dishes: "8/8 Dishes", duration: "45m00s" }
902
+ {
903
+ id: "XL-1",
904
+ x: 0,
905
+ y: (H + GAP) * 5,
906
+ width: XL_W,
907
+ height: H,
908
+ status: "dining",
909
+ guests: 12,
910
+ dishes: "8/8 Dishes",
911
+ duration: "45m00s"
912
+ }
386
913
  ];
387
914
  function FigmaCardRow({
388
915
  icon,
@@ -410,9 +937,10 @@ function FigmaCardRow({
410
937
  }
411
938
  function getBarCountFromItemId(id) {
412
939
  const upper = id.toUpperCase();
413
- if (upper.startsWith("XL-")) return 4;
414
- if (upper.startsWith("L-") || upper.startsWith("X-")) return 3;
415
- if (upper.startsWith("M-")) return 2;
940
+ if (upper.startsWith("XL-") || id.endsWith("-XL")) return 4;
941
+ if (upper.startsWith("L-") || upper.startsWith("X-") || id.endsWith("-L") || id.endsWith("-X"))
942
+ return 3;
943
+ if (upper.startsWith("M-") || id.endsWith("-M")) return 2;
416
944
  return 1;
417
945
  }
418
946
  var CARD_BAR_WIDTH = 80;
@@ -448,8 +976,8 @@ function CardBars({
448
976
  ))
449
977
  );
450
978
  }
451
- function renderFigmaTableCard(item) {
452
- const status = item.status ?? "available";
979
+ function renderFigmaStyleTableCard(cardItem) {
980
+ const status = cardItem.status ?? "available";
453
981
  const borderColor = STATUS_BORDER[status];
454
982
  const isAvailable = status === "available";
455
983
  return /* @__PURE__ */ React.createElement(
@@ -471,7 +999,7 @@ function renderFigmaTableCard(item) {
471
999
  /* @__PURE__ */ React.createElement(
472
1000
  CardBars,
473
1001
  {
474
- count: getBarCountFromItemId(item.id),
1002
+ count: getBarCountFromItemId(cardItem.id),
475
1003
  position: "top",
476
1004
  barColor: isAvailable ? FIGMA.barFillAvailable : borderColor
477
1005
  }
@@ -495,67 +1023,72 @@ function renderFigmaTableCard(item) {
495
1023
  gap: 4
496
1024
  }
497
1025
  },
498
- isAvailable ? (
499
- /* 空闲:仅 ID 居中 */
500
- /* @__PURE__ */ React.createElement(
501
- "div",
502
- {
503
- style: {
504
- flex: 1,
505
- display: "flex",
506
- alignItems: "center",
507
- justifyContent: "center",
508
- minHeight: 0,
509
- fontWeight: 600,
510
- fontSize: 18,
511
- lineHeight: "24px",
512
- color: FIGMA.gray400,
513
- letterSpacing: 0
514
- }
515
- },
516
- item.id
517
- )
518
- ) : (
519
- /* 有内容:ID + 状态行整体居中 */
520
- /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
521
- "div",
522
- {
523
- style: {
524
- fontWeight: 600,
525
- fontSize: 18,
526
- lineHeight: "24px",
527
- color: FIGMA.gray900,
528
- letterSpacing: 0,
529
- textAlign: "center"
1026
+ isAvailable ? /* @__PURE__ */ React.createElement(
1027
+ "div",
1028
+ {
1029
+ style: {
1030
+ flex: 1,
1031
+ display: "flex",
1032
+ alignItems: "center",
1033
+ justifyContent: "center",
1034
+ minHeight: 0,
1035
+ fontWeight: 600,
1036
+ fontSize: 18,
1037
+ lineHeight: "24px",
1038
+ color: FIGMA.gray400,
1039
+ letterSpacing: 0
1040
+ }
1041
+ },
1042
+ cardItem.displayName ?? cardItem.id
1043
+ ) : /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
1044
+ "div",
1045
+ {
1046
+ style: {
1047
+ fontWeight: 600,
1048
+ fontSize: 18,
1049
+ lineHeight: "24px",
1050
+ color: FIGMA.gray900,
1051
+ letterSpacing: 0,
1052
+ textAlign: "center"
1053
+ }
1054
+ },
1055
+ cardItem.id
1056
+ ), status === "reserved" && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
1057
+ FigmaCardRow,
1058
+ {
1059
+ icon: /* @__PURE__ */ React.createElement(
1060
+ import_antd.Avatar,
1061
+ {
1062
+ size: 16,
1063
+ icon: /* @__PURE__ */ React.createElement(import_icons.UserOutlined, null),
1064
+ style: { backgroundColor: FIGMA.gray200 }
530
1065
  }
531
- },
532
- item.id
533
- ), status === "reserved" && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
534
- FigmaCardRow,
535
- {
536
- icon: /* @__PURE__ */ React.createElement(
537
- import_antd.Avatar,
538
- {
539
- size: 16,
540
- icon: /* @__PURE__ */ React.createElement(import_icons.UserOutlined, null),
541
- style: { backgroundColor: FIGMA.gray200 }
542
- }
543
- )
544
- },
545
- /* @__PURE__ */ React.createElement("span", null, item.customerName ?? "")
546
- ), /* @__PURE__ */ React.createElement(FigmaCardRow, { icon: /* @__PURE__ */ React.createElement(import_icons.ClockCircleOutlined, null) }, /* @__PURE__ */ React.createElement("span", null, item.reserveTime ?? ""))), (status === "dining" || status === "waiting" || status === "billed" || status === "availableSoon") && item.guests != null && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(FigmaCardRow, { icon: /* @__PURE__ */ React.createElement(import_icons.TeamOutlined, null) }, /* @__PURE__ */ React.createElement("span", null, item.guests)), item.dishes && /* @__PURE__ */ React.createElement(FigmaCardRow, { icon: /* @__PURE__ */ React.createElement(import_icons.AuditOutlined, null) }, /* @__PURE__ */ React.createElement("span", null, item.dishes)), item.duration && /* @__PURE__ */ React.createElement(FigmaCardRow, { icon: /* @__PURE__ */ React.createElement(import_icons.FieldTimeOutlined, null) }, /* @__PURE__ */ React.createElement("span", null, item.duration))))
547
- )
1066
+ )
1067
+ },
1068
+ /* @__PURE__ */ React.createElement("span", null, cardItem.customerName ?? "")
1069
+ ), /* @__PURE__ */ React.createElement(FigmaCardRow, { icon: /* @__PURE__ */ React.createElement(import_icons.ClockCircleOutlined, null) }, /* @__PURE__ */ React.createElement("span", null, cardItem.reserveTime ?? ""))), (status === "dining" || status === "waiting" || status === "billed" || status === "availableSoon") && cardItem.guests != null && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(FigmaCardRow, { icon: /* @__PURE__ */ React.createElement(import_icons.TeamOutlined, null) }, /* @__PURE__ */ React.createElement("span", null, cardItem.guests)), cardItem.dishes && /* @__PURE__ */ React.createElement(FigmaCardRow, { icon: /* @__PURE__ */ React.createElement(import_icons.AuditOutlined, null) }, /* @__PURE__ */ React.createElement("span", null, cardItem.dishes)), cardItem.duration && /* @__PURE__ */ React.createElement(FigmaCardRow, { icon: /* @__PURE__ */ React.createElement(import_icons.FieldTimeOutlined, null) }, /* @__PURE__ */ React.createElement("span", null, cardItem.duration))))
548
1070
  ),
549
1071
  /* @__PURE__ */ React.createElement(
550
1072
  CardBars,
551
1073
  {
552
- count: getBarCountFromItemId(item.id),
1074
+ count: getBarCountFromItemId(cardItem.id),
553
1075
  position: "bottom",
554
1076
  barColor: isAvailable ? FIGMA.barFillAvailable : borderColor
555
1077
  }
556
1078
  )
557
1079
  );
558
1080
  }
1081
+ function renderFigmaTableCard(item) {
1082
+ return renderFigmaStyleTableCard({
1083
+ id: item.id,
1084
+ status: item.status,
1085
+ customerName: item.customerName,
1086
+ reserveTime: item.reserveTime,
1087
+ guests: item.guests,
1088
+ dishes: item.dishes,
1089
+ duration: item.duration
1090
+ });
1091
+ }
559
1092
  function LegendItem14131({
560
1093
  color,
561
1094
  label,
@@ -655,7 +1188,68 @@ var FigmaDesign = {
655
1188
  }
656
1189
  )
657
1190
  ),
658
- /* @__PURE__ */ React.createElement("div", { className: "figma-story-legend-14131", style: { display: "flex", flexWrap: "wrap", gap: "12px 40px", alignItems: "center", justifyContent: "flex-end", minWidth: 0 } }, /* @__PURE__ */ React.createElement(LegendItem14131, { color: FIGMA.gray200, label: "Available (4)", fill: false }), /* @__PURE__ */ React.createElement(LegendItem14131, { color: FIGMA.legendReserved, label: "Reserved (2)", fill: true }), /* @__PURE__ */ React.createElement(LegendItem14131, { color: FIGMA.legendWaiting, label: "Waiting (3)", fill: true }), /* @__PURE__ */ React.createElement(LegendItem14131, { color: FIGMA.legendDining, label: "Dining (1)", fill: true }), /* @__PURE__ */ React.createElement(LegendItem14131, { color: FIGMA.legendBilled, label: "Billed (2)", fill: true }), /* @__PURE__ */ React.createElement(LegendItem14131, { color: FIGMA.legendAvailableSoon, label: "Available Soon (1)", fill: true }))
1191
+ /* @__PURE__ */ React.createElement(
1192
+ "div",
1193
+ {
1194
+ className: "figma-story-legend-14131",
1195
+ style: {
1196
+ display: "flex",
1197
+ flexWrap: "wrap",
1198
+ gap: "12px 40px",
1199
+ alignItems: "center",
1200
+ justifyContent: "flex-end",
1201
+ minWidth: 0
1202
+ }
1203
+ },
1204
+ /* @__PURE__ */ React.createElement(
1205
+ LegendItem14131,
1206
+ {
1207
+ color: FIGMA.gray200,
1208
+ label: "Available (4)",
1209
+ fill: false
1210
+ }
1211
+ ),
1212
+ /* @__PURE__ */ React.createElement(
1213
+ LegendItem14131,
1214
+ {
1215
+ color: FIGMA.legendReserved,
1216
+ label: "Reserved (2)",
1217
+ fill: true
1218
+ }
1219
+ ),
1220
+ /* @__PURE__ */ React.createElement(
1221
+ LegendItem14131,
1222
+ {
1223
+ color: FIGMA.legendWaiting,
1224
+ label: "Waiting (3)",
1225
+ fill: true
1226
+ }
1227
+ ),
1228
+ /* @__PURE__ */ React.createElement(
1229
+ LegendItem14131,
1230
+ {
1231
+ color: FIGMA.legendDining,
1232
+ label: "Dining (1)",
1233
+ fill: true
1234
+ }
1235
+ ),
1236
+ /* @__PURE__ */ React.createElement(
1237
+ LegendItem14131,
1238
+ {
1239
+ color: FIGMA.legendBilled,
1240
+ label: "Billed (2)",
1241
+ fill: true
1242
+ }
1243
+ ),
1244
+ /* @__PURE__ */ React.createElement(
1245
+ LegendItem14131,
1246
+ {
1247
+ color: FIGMA.legendAvailableSoon,
1248
+ label: "Available Soon (1)",
1249
+ fill: true
1250
+ }
1251
+ )
1252
+ )
659
1253
  ),
660
1254
  /* @__PURE__ */ React.createElement(
661
1255
  "div",
@@ -745,6 +1339,10 @@ var FigmaDesign = {
745
1339
  ControlsHidden,
746
1340
  Default,
747
1341
  FigmaDesign,
1342
+ FloorMapViewEdit,
1343
+ FloorMapViewEditCustomRecordForm,
1344
+ FloorMapViewRead,
1345
+ FloorMapWithLayoutProvider,
748
1346
  PixelUnits,
749
1347
  WithEvents,
750
1348
  WithGrid,