@pisell/materials 6.11.42 → 6.11.44

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 (360) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +1 -1
  6. package/build/lowcode/preview.js +8 -8
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +18 -18
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +18 -18
  11. package/es/components/Pagination/index.d.ts +0 -1
  12. package/es/components/PisellCards/components/PisellImageCard/PisellImageCard.d.ts +0 -1
  13. package/es/components/PisellFields/index.d.ts +0 -1
  14. package/es/components/PisellMetrics/index.d.ts +0 -1
  15. package/es/components/cardPro/index.d.ts +1 -0
  16. package/es/components/colorPicker/index.d.ts +0 -1
  17. package/es/components/dataSourceComponents/dataSourceForm/formItem.d.ts +0 -1
  18. package/es/components/dataSourceComponents/dataSourceForm/utils.d.ts +1 -1
  19. package/es/components/dataSourceComponents/dataSourceShow/dataSourceImage/index.d.ts +0 -1
  20. package/es/components/dataSourceComponents/dataSourceShow/dataSourceQRCode/index.d.ts +0 -1
  21. package/es/components/dataSourceComponents/dataSourceTable/filter/index.d.ts +0 -1
  22. package/es/components/dataSourceComponents/dataSourceTable/filter/utils.d.ts +0 -1
  23. package/es/components/dataSourceComponents/dataSourceTable/hooks/useDataSourceKey.d.ts +2 -3
  24. package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +3 -3
  25. package/es/components/dataSourceComponents/dataSourceTable/hooks/useTableQuery.d.ts +0 -1
  26. package/es/components/dataSourceComponents/dataSourceWrapper/index.d.ts +0 -1
  27. package/es/components/dataSourceComponents/fields/Input.Json/ReadPretty.d.ts +0 -1
  28. package/es/components/dataSourceComponents/fields/Input.Password/ReadPretty.d.ts +0 -1
  29. package/es/components/dataSourceComponents/fields/Input.Subdomain/index.d.ts +1 -1
  30. package/es/components/dataSourceComponents/fields/RecordListWrapper/index.d.ts +1 -2
  31. package/es/components/dataSourceComponents/fields/Select/index.d.ts +1 -2
  32. package/es/components/dataSourceComponents/fields/Tabs/index.d.ts +1 -2
  33. package/es/components/dataSourceComponents/fields/Upload/ReadPretty.d.ts +0 -1
  34. package/es/components/dataSourceComponents/fields/Upload/utils.d.ts +1 -1
  35. package/es/components/dataSourceComponents/fields/index.d.ts +16 -17
  36. package/es/components/date-picker/datePickerCpt.d.ts +0 -1
  37. package/es/components/date-picker/index.d.ts +0 -1
  38. package/es/components/drag-sort-tree/TreeItem/index.d.ts +1 -0
  39. package/es/components/filter/components/FilterItem/index.js +3 -1
  40. package/es/components/filter/components/QuickFilter/index.js +3 -2
  41. package/es/components/filter/components/items/index.d.ts +0 -1
  42. package/es/components/filter/components/items/text/Editor/index.d.ts +0 -1
  43. package/es/components/filter/components/items/text/Preview/index.d.ts +0 -1
  44. package/es/components/filter/components/items/text/index.d.ts +0 -1
  45. package/es/components/filter/index.d.ts +0 -1
  46. package/es/components/list/index.d.ts +0 -1
  47. package/es/components/lowCodePage/index.d.ts +0 -1
  48. package/es/components/pisellAdjustPrice/PisellAdjustPriceInputNumber.d.ts +0 -1
  49. package/es/components/pisellDataSourceContainer/PisellDataSourceContainer.d.ts +0 -1
  50. package/es/components/pisellDataSourceContainer/hooks/useDataSourceKey.d.ts +2 -3
  51. package/es/components/pisellDatePicker/datePickerCpt.d.ts +1 -0
  52. package/es/components/pisellFilter/index.d.ts +0 -1
  53. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.js +175 -24
  54. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.less +22 -0
  55. package/es/components/pisellFloorMapLayout/components/FigmaTableCard.d.ts +2 -2
  56. package/es/components/pisellFloorMapLayout/components/FigmaTableCard.js +268 -103
  57. package/es/components/pisellFloorMapLayout/components/FloorMapEditPanel.js +40 -4
  58. package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.d.ts +22 -0
  59. package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.js +138 -12
  60. package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.less +9 -1
  61. package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.js +65 -4
  62. package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.less +97 -4
  63. package/es/components/pisellFloorMapLayout/components/HistoryIcons.d.ts +39 -0
  64. package/es/components/pisellFloorMapLayout/components/HistoryIcons.js +75 -0
  65. package/es/components/pisellFloorMapLayout/components/ItemLayer.js +14 -1
  66. package/es/components/pisellFloorMapLayout/components/ViewControls.d.ts +9 -0
  67. package/es/components/pisellFloorMapLayout/components/ViewControls.js +96 -12
  68. package/es/components/pisellFloorMapLayout/components/ViewControls.less +224 -21
  69. package/es/components/pisellFloorMapLayout/components/ViewControlsWithZoom.d.ts +6 -0
  70. package/es/components/pisellFloorMapLayout/components/ViewControlsWithZoom.js +3 -0
  71. package/es/components/pisellFloorMapLayout/floorMapLayoutConstants.d.ts +4 -0
  72. package/es/components/pisellFloorMapLayout/floorMapLayoutConstants.js +4 -0
  73. package/es/components/pisellFloorMapLayout/hooks/floorMapViewportPersistence.d.ts +25 -0
  74. package/es/components/pisellFloorMapLayout/hooks/floorMapViewportPersistence.js +68 -0
  75. package/es/components/pisellFloorMapLayout/hooks/useDraftConfigHistory.d.ts +18 -0
  76. package/es/components/pisellFloorMapLayout/hooks/useDraftConfigHistory.js +104 -0
  77. package/es/components/pisellFloorMapLayout/hooks/useFloorMapEditState.d.ts +5 -0
  78. package/es/components/pisellFloorMapLayout/hooks/useFloorMapEditState.js +121 -34
  79. package/es/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.d.ts +23 -1
  80. package/es/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.js +345 -29
  81. package/es/components/pisellFloorMapLayout/index.d.ts +1 -0
  82. package/es/components/pisellFloorMapLayout/index.js +1 -0
  83. package/es/components/pisellFloorMapLayout/locales-ja.d.ts +20 -0
  84. package/es/components/pisellFloorMapLayout/locales-ja.js +21 -1
  85. package/es/components/pisellFloorMapLayout/locales-pt.d.ts +20 -0
  86. package/es/components/pisellFloorMapLayout/locales-pt.js +21 -1
  87. package/es/components/pisellFloorMapLayout/locales.d.ts +100 -0
  88. package/es/components/pisellFloorMapLayout/locales.js +63 -3
  89. package/es/components/pisellFloorMapLayout/types.d.ts +37 -0
  90. package/es/components/pisellFloorMapLayout/utils/floorMapElementNameAsTitle.d.ts +50 -0
  91. package/es/components/pisellFloorMapLayout/utils/floorMapElementNameAsTitle.js +74 -0
  92. package/es/components/pisellGridPro/ToolBar/index.less +5 -4
  93. package/es/components/pisellInput/components/BankCard/index.d.ts +1 -0
  94. package/es/components/pisellInput/components/SecurityCode/index.d.ts +1 -0
  95. package/es/components/pisellLoading/index.d.ts +0 -1
  96. package/es/components/pisellModal/components/IpadModal/index.d.ts +0 -1
  97. package/es/components/pisellModal/components/MobileModal/index.d.ts +0 -1
  98. package/es/components/pisellModal/components/index.d.ts +0 -1
  99. package/es/components/pisellRecordBoard/PisellRecordBoard.js +9 -3
  100. package/es/components/pisellRecordBoard/shellFrame/Calendar/utils/BookingCalendarStyle.d.ts +1 -1
  101. package/es/components/pisellRecordBoard/shellFrame/ColumnSetting/index.js +2 -1
  102. package/es/components/pisellRecordBoard/shellFrame/Pagination/index.js +9 -2
  103. package/es/components/pisellRecordBoard/shellFrame/ToolBar/index.js +99 -101
  104. package/es/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarConstants.d.ts +8 -0
  105. package/es/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarConstants.js +12 -0
  106. package/es/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarI18n.d.ts +13 -0
  107. package/es/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarI18n.js +66 -0
  108. package/es/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolbar.less +176 -10
  109. package/es/components/pisellRecordBoard/shellFrame/ToolBarQuickFilter/index.js +20 -2
  110. package/es/components/pisellRecordBoard/shellFrame/index.d.ts +6 -0
  111. package/es/components/pisellRecordBoard/shellFrame/index.js +3 -1
  112. package/es/components/pisellRecordBoard/types.d.ts +20 -1
  113. package/es/components/pisellShellFrame/PisellShellFrame.js +4 -1
  114. package/es/components/pisellShellFrame/PisellShellFrame.less +13 -0
  115. package/es/components/pisellShellFrame/types.d.ts +6 -0
  116. package/es/components/pisellTimeNavigator/PisellTimeNavigator.js +139 -29
  117. package/es/components/pisellTimeNavigator/PisellTimeNavigator.less +126 -13
  118. package/es/components/pisellTimeNavigator/components/CursorLayer.d.ts +3 -1
  119. package/es/components/pisellTimeNavigator/components/CursorLayer.js +3 -0
  120. package/es/components/pisellTimeNavigator/components/GestureLayer.d.ts +9 -1
  121. package/es/components/pisellTimeNavigator/components/GestureLayer.js +11 -4
  122. package/es/components/pisellTimeNavigator/timeNavigatorConstants.d.ts +20 -0
  123. package/es/components/pisellTimeNavigator/timeNavigatorConstants.js +27 -0
  124. package/es/components/pisellTooltip/index.d.ts +1 -0
  125. package/es/components/productCard/components/Action/index.d.ts +1 -0
  126. package/es/components/productCard/components/AmountFooter/index.d.ts +0 -1
  127. package/es/components/productCard/components/MultiDay/index.d.ts +0 -1
  128. package/es/components/productCard/components/Note/index.d.ts +0 -1
  129. package/es/components/productCard/components/Packages/components/collapsibleList/utils.d.ts +0 -1
  130. package/es/components/productCard/components/Packages/components/options/index.d.ts +0 -1
  131. package/es/components/productCard/components/Packages/index.d.ts +0 -1
  132. package/es/components/productCard/components/Time/components/SelectResource/index.d.ts +0 -1
  133. package/es/components/productCard/components/Time/index.d.ts +0 -1
  134. package/es/components/qrcode/index.d.ts +0 -1
  135. package/es/components/table/Actions/component/ColumnsSetting/index.d.ts +0 -1
  136. package/es/components/table/Actions/component/ExportImport/index.d.ts +0 -1
  137. package/es/components/table/Actions/component/GallerySetting/index.d.ts +0 -1
  138. package/es/components/table/Actions/component/Group/index.d.ts +0 -1
  139. package/es/components/table/Actions/index.d.ts +0 -1
  140. package/es/components/table/BasicTable/index.d.ts +0 -1
  141. package/es/components/table/Gallery/components/GalleryItem/components/Cover/index.d.ts +0 -1
  142. package/es/components/table/Gallery/components/GalleryItem/components/RenderFields/index.d.ts +0 -1
  143. package/es/components/table/Gallery/components/GalleryItem/components/Title/index.d.ts +0 -1
  144. package/es/components/table/Gallery/components/VirtualGrid/useGapSize.d.ts +2 -2
  145. package/es/components/table/Table/SelectField/index.d.ts +0 -1
  146. package/es/components/table/Table/fields/date/Show/index.d.ts +0 -1
  147. package/es/components/table/Table/fields/date/index.d.ts +0 -1
  148. package/es/components/table/Table/fields/image/Show/index.d.ts +0 -1
  149. package/es/components/table/Table/fields/index.d.ts +0 -1
  150. package/es/components/table/Table/fields/link/Show/index.d.ts +0 -1
  151. package/es/components/table/Table/fields/number/Show/index.d.ts +0 -1
  152. package/es/components/table/Table/fields/number/index.d.ts +0 -1
  153. package/es/components/table/Table/fields/numberRange/Show/index.d.ts +0 -1
  154. package/es/components/table/Table/fields/numberRange/index.d.ts +0 -1
  155. package/es/components/table/Table/fields/oldRangePicker/index.d.ts +0 -1
  156. package/es/components/table/Table/fields/pSwitch/Show/index.d.ts +0 -1
  157. package/es/components/table/Table/fields/rangePicker/index.d.ts +0 -1
  158. package/es/components/table/Table/fields/search/Show/index.d.ts +0 -1
  159. package/es/components/table/Table/fields/search/index.d.ts +0 -1
  160. package/es/components/table/Table/fields/select/filterUtil/index.d.ts +1 -1
  161. package/es/components/table/Table/fields/select/index.d.ts +0 -1
  162. package/es/components/table/Table/fields/text/Show/index.d.ts +0 -1
  163. package/es/components/table/Table/fields/text/index.d.ts +0 -1
  164. package/es/components/table/Table/fields/treeSelect/filterUtil/index.d.ts +1 -1
  165. package/es/components/table/Table/fields/treeSelect/index.d.ts +0 -1
  166. package/es/components/table/Table/tableConfig/SortRow/index.d.ts +0 -1
  167. package/es/components/table/Table/tableConfig/summary/index.d.ts +0 -1
  168. package/es/components/table/Table/utils.d.ts +1 -1
  169. package/es/components/table/View/index.d.ts +0 -1
  170. package/es/components/versionSelect/index.d.ts +0 -1
  171. package/es/index.d.ts +8 -1
  172. package/es/index.js +8 -1
  173. package/es/locales/en-US.d.ts +2 -0
  174. package/es/locales/en-US.js +2 -0
  175. package/es/locales/ja.d.ts +2 -0
  176. package/es/locales/ja.js +2 -0
  177. package/es/locales/pt.d.ts +2 -0
  178. package/es/locales/pt.js +2 -0
  179. package/es/locales/zh-CN.d.ts +2 -0
  180. package/es/locales/zh-CN.js +2 -0
  181. package/es/locales/zh-TW.d.ts +2 -0
  182. package/es/locales/zh-TW.js +2 -0
  183. package/es/utils/index.d.ts +1 -1
  184. package/es/utils/platform.d.ts +1 -1
  185. package/lib/components/Pagination/index.d.ts +0 -1
  186. package/lib/components/PisellCards/components/PisellImageCard/PisellImageCard.d.ts +0 -1
  187. package/lib/components/PisellFields/index.d.ts +0 -1
  188. package/lib/components/PisellMetrics/index.d.ts +0 -1
  189. package/lib/components/cardPro/index.d.ts +1 -0
  190. package/lib/components/colorPicker/index.d.ts +0 -1
  191. package/lib/components/dataSourceComponents/dataSourceForm/formItem.d.ts +0 -1
  192. package/lib/components/dataSourceComponents/dataSourceForm/utils.d.ts +1 -1
  193. package/lib/components/dataSourceComponents/dataSourceShow/dataSourceImage/index.d.ts +0 -1
  194. package/lib/components/dataSourceComponents/dataSourceShow/dataSourceQRCode/index.d.ts +0 -1
  195. package/lib/components/dataSourceComponents/dataSourceTable/filter/index.d.ts +0 -1
  196. package/lib/components/dataSourceComponents/dataSourceTable/filter/utils.d.ts +0 -1
  197. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useDataSourceKey.d.ts +2 -3
  198. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableProps.d.ts +3 -3
  199. package/lib/components/dataSourceComponents/dataSourceTable/hooks/useTableQuery.d.ts +0 -1
  200. package/lib/components/dataSourceComponents/dataSourceWrapper/index.d.ts +0 -1
  201. package/lib/components/dataSourceComponents/fields/Input.Json/ReadPretty.d.ts +0 -1
  202. package/lib/components/dataSourceComponents/fields/Input.Password/ReadPretty.d.ts +0 -1
  203. package/lib/components/dataSourceComponents/fields/Input.Subdomain/index.d.ts +1 -1
  204. package/lib/components/dataSourceComponents/fields/RecordListWrapper/index.d.ts +1 -2
  205. package/lib/components/dataSourceComponents/fields/Select/index.d.ts +1 -2
  206. package/lib/components/dataSourceComponents/fields/Tabs/index.d.ts +1 -2
  207. package/lib/components/dataSourceComponents/fields/Upload/ReadPretty.d.ts +0 -1
  208. package/lib/components/dataSourceComponents/fields/Upload/utils.d.ts +1 -1
  209. package/lib/components/dataSourceComponents/fields/index.d.ts +16 -17
  210. package/lib/components/date-picker/datePickerCpt.d.ts +0 -1
  211. package/lib/components/date-picker/index.d.ts +0 -1
  212. package/lib/components/drag-sort-tree/TreeItem/index.d.ts +1 -0
  213. package/lib/components/filter/components/FilterItem/index.js +2 -1
  214. package/lib/components/filter/components/QuickFilter/index.js +3 -2
  215. package/lib/components/filter/components/items/index.d.ts +0 -1
  216. package/lib/components/filter/components/items/text/Editor/index.d.ts +0 -1
  217. package/lib/components/filter/components/items/text/Preview/index.d.ts +0 -1
  218. package/lib/components/filter/components/items/text/index.d.ts +0 -1
  219. package/lib/components/filter/index.d.ts +0 -1
  220. package/lib/components/list/index.d.ts +0 -1
  221. package/lib/components/lowCodePage/index.d.ts +0 -1
  222. package/lib/components/pisellAdjustPrice/PisellAdjustPriceInputNumber.d.ts +0 -1
  223. package/lib/components/pisellDataSourceContainer/PisellDataSourceContainer.d.ts +0 -1
  224. package/lib/components/pisellDataSourceContainer/hooks/useDataSourceKey.d.ts +2 -3
  225. package/lib/components/pisellDatePicker/datePickerCpt.d.ts +1 -0
  226. package/lib/components/pisellFilter/index.d.ts +0 -1
  227. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.js +141 -44
  228. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.less +22 -0
  229. package/lib/components/pisellFloorMapLayout/components/FigmaTableCard.d.ts +2 -2
  230. package/lib/components/pisellFloorMapLayout/components/FigmaTableCard.js +213 -94
  231. package/lib/components/pisellFloorMapLayout/components/FloorMapEditPanel.js +41 -2
  232. package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.d.ts +22 -0
  233. package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.js +128 -12
  234. package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.less +9 -1
  235. package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.js +53 -5
  236. package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.less +97 -4
  237. package/lib/components/pisellFloorMapLayout/components/HistoryIcons.d.ts +39 -0
  238. package/lib/components/pisellFloorMapLayout/components/HistoryIcons.js +71 -0
  239. package/lib/components/pisellFloorMapLayout/components/ItemLayer.js +2 -1
  240. package/lib/components/pisellFloorMapLayout/components/ViewControls.d.ts +9 -0
  241. package/lib/components/pisellFloorMapLayout/components/ViewControls.js +158 -49
  242. package/lib/components/pisellFloorMapLayout/components/ViewControls.less +224 -21
  243. package/lib/components/pisellFloorMapLayout/components/ViewControlsWithZoom.d.ts +6 -0
  244. package/lib/components/pisellFloorMapLayout/components/ViewControlsWithZoom.js +3 -0
  245. package/lib/components/pisellFloorMapLayout/floorMapLayoutConstants.d.ts +4 -0
  246. package/lib/components/pisellFloorMapLayout/floorMapLayoutConstants.js +29 -0
  247. package/lib/components/pisellFloorMapLayout/hooks/floorMapViewportPersistence.d.ts +25 -0
  248. package/lib/components/pisellFloorMapLayout/hooks/floorMapViewportPersistence.js +98 -0
  249. package/lib/components/pisellFloorMapLayout/hooks/useDraftConfigHistory.d.ts +18 -0
  250. package/lib/components/pisellFloorMapLayout/hooks/useDraftConfigHistory.js +95 -0
  251. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapEditState.d.ts +5 -0
  252. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapEditState.js +65 -15
  253. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.d.ts +23 -1
  254. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.js +196 -24
  255. package/lib/components/pisellFloorMapLayout/index.d.ts +1 -0
  256. package/lib/components/pisellFloorMapLayout/index.js +9 -0
  257. package/lib/components/pisellFloorMapLayout/locales-ja.d.ts +20 -0
  258. package/lib/components/pisellFloorMapLayout/locales-ja.js +21 -1
  259. package/lib/components/pisellFloorMapLayout/locales-pt.d.ts +20 -0
  260. package/lib/components/pisellFloorMapLayout/locales-pt.js +21 -1
  261. package/lib/components/pisellFloorMapLayout/locales.d.ts +100 -0
  262. package/lib/components/pisellFloorMapLayout/locales.js +63 -3
  263. package/lib/components/pisellFloorMapLayout/types.d.ts +37 -0
  264. package/lib/components/pisellFloorMapLayout/utils/floorMapElementNameAsTitle.d.ts +50 -0
  265. package/lib/components/pisellFloorMapLayout/utils/floorMapElementNameAsTitle.js +60 -0
  266. package/lib/components/pisellGridPro/ToolBar/index.less +5 -4
  267. package/lib/components/pisellInput/components/BankCard/index.d.ts +1 -0
  268. package/lib/components/pisellInput/components/SecurityCode/index.d.ts +1 -0
  269. package/lib/components/pisellLoading/index.d.ts +0 -1
  270. package/lib/components/pisellModal/components/IpadModal/index.d.ts +0 -1
  271. package/lib/components/pisellModal/components/MobileModal/index.d.ts +0 -1
  272. package/lib/components/pisellModal/components/index.d.ts +0 -1
  273. package/lib/components/pisellRecordBoard/PisellRecordBoard.js +10 -3
  274. package/lib/components/pisellRecordBoard/shellFrame/Calendar/utils/BookingCalendarStyle.d.ts +1 -1
  275. package/lib/components/pisellRecordBoard/shellFrame/ColumnSetting/index.js +2 -1
  276. package/lib/components/pisellRecordBoard/shellFrame/Pagination/index.js +3 -2
  277. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/index.js +70 -75
  278. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarConstants.d.ts +8 -0
  279. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarConstants.js +38 -0
  280. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarI18n.d.ts +13 -0
  281. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolBarI18n.js +100 -0
  282. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/recordBoardToolbar.less +176 -10
  283. package/lib/components/pisellRecordBoard/shellFrame/ToolBarQuickFilter/index.js +8 -0
  284. package/lib/components/pisellRecordBoard/shellFrame/index.d.ts +6 -0
  285. package/lib/components/pisellRecordBoard/shellFrame/index.js +2 -1
  286. package/lib/components/pisellRecordBoard/types.d.ts +20 -1
  287. package/lib/components/pisellShellFrame/PisellShellFrame.js +2 -1
  288. package/lib/components/pisellShellFrame/PisellShellFrame.less +13 -0
  289. package/lib/components/pisellShellFrame/types.d.ts +6 -0
  290. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.js +96 -27
  291. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.less +126 -13
  292. package/lib/components/pisellTimeNavigator/components/CursorLayer.d.ts +3 -1
  293. package/lib/components/pisellTimeNavigator/components/CursorLayer.js +2 -0
  294. package/lib/components/pisellTimeNavigator/components/GestureLayer.d.ts +9 -1
  295. package/lib/components/pisellTimeNavigator/components/GestureLayer.js +5 -2
  296. package/lib/components/pisellTimeNavigator/timeNavigatorConstants.d.ts +20 -0
  297. package/lib/components/pisellTimeNavigator/timeNavigatorConstants.js +47 -0
  298. package/lib/components/pisellTooltip/index.d.ts +1 -0
  299. package/lib/components/productCard/components/Action/index.d.ts +1 -0
  300. package/lib/components/productCard/components/AmountFooter/index.d.ts +0 -1
  301. package/lib/components/productCard/components/MultiDay/index.d.ts +0 -1
  302. package/lib/components/productCard/components/Note/index.d.ts +0 -1
  303. package/lib/components/productCard/components/Packages/components/collapsibleList/utils.d.ts +0 -1
  304. package/lib/components/productCard/components/Packages/components/options/index.d.ts +0 -1
  305. package/lib/components/productCard/components/Packages/index.d.ts +0 -1
  306. package/lib/components/productCard/components/Time/components/SelectResource/index.d.ts +0 -1
  307. package/lib/components/productCard/components/Time/index.d.ts +0 -1
  308. package/lib/components/qrcode/index.d.ts +0 -1
  309. package/lib/components/table/Actions/component/ColumnsSetting/index.d.ts +0 -1
  310. package/lib/components/table/Actions/component/ExportImport/index.d.ts +0 -1
  311. package/lib/components/table/Actions/component/GallerySetting/index.d.ts +0 -1
  312. package/lib/components/table/Actions/component/Group/index.d.ts +0 -1
  313. package/lib/components/table/Actions/index.d.ts +0 -1
  314. package/lib/components/table/BasicTable/index.d.ts +0 -1
  315. package/lib/components/table/Gallery/components/GalleryItem/components/Cover/index.d.ts +0 -1
  316. package/lib/components/table/Gallery/components/GalleryItem/components/RenderFields/index.d.ts +0 -1
  317. package/lib/components/table/Gallery/components/GalleryItem/components/Title/index.d.ts +0 -1
  318. package/lib/components/table/Gallery/components/VirtualGrid/useGapSize.d.ts +2 -2
  319. package/lib/components/table/Table/SelectField/index.d.ts +0 -1
  320. package/lib/components/table/Table/fields/date/Show/index.d.ts +0 -1
  321. package/lib/components/table/Table/fields/date/index.d.ts +0 -1
  322. package/lib/components/table/Table/fields/image/Show/index.d.ts +0 -1
  323. package/lib/components/table/Table/fields/index.d.ts +0 -1
  324. package/lib/components/table/Table/fields/link/Show/index.d.ts +0 -1
  325. package/lib/components/table/Table/fields/number/Show/index.d.ts +0 -1
  326. package/lib/components/table/Table/fields/number/index.d.ts +0 -1
  327. package/lib/components/table/Table/fields/numberRange/Show/index.d.ts +0 -1
  328. package/lib/components/table/Table/fields/numberRange/index.d.ts +0 -1
  329. package/lib/components/table/Table/fields/oldRangePicker/index.d.ts +0 -1
  330. package/lib/components/table/Table/fields/pSwitch/Show/index.d.ts +0 -1
  331. package/lib/components/table/Table/fields/rangePicker/index.d.ts +0 -1
  332. package/lib/components/table/Table/fields/search/Show/index.d.ts +0 -1
  333. package/lib/components/table/Table/fields/search/index.d.ts +0 -1
  334. package/lib/components/table/Table/fields/select/filterUtil/index.d.ts +1 -1
  335. package/lib/components/table/Table/fields/select/index.d.ts +0 -1
  336. package/lib/components/table/Table/fields/text/Show/index.d.ts +0 -1
  337. package/lib/components/table/Table/fields/text/index.d.ts +0 -1
  338. package/lib/components/table/Table/fields/treeSelect/filterUtil/index.d.ts +1 -1
  339. package/lib/components/table/Table/fields/treeSelect/index.d.ts +0 -1
  340. package/lib/components/table/Table/tableConfig/SortRow/index.d.ts +0 -1
  341. package/lib/components/table/Table/tableConfig/summary/index.d.ts +0 -1
  342. package/lib/components/table/Table/utils.d.ts +1 -1
  343. package/lib/components/table/View/index.d.ts +0 -1
  344. package/lib/components/versionSelect/index.d.ts +0 -1
  345. package/lib/index.d.ts +8 -1
  346. package/lib/index.js +8 -0
  347. package/lib/locales/en-US.d.ts +2 -0
  348. package/lib/locales/en-US.js +2 -0
  349. package/lib/locales/ja.d.ts +2 -0
  350. package/lib/locales/ja.js +2 -0
  351. package/lib/locales/pt.d.ts +2 -0
  352. package/lib/locales/pt.js +2 -0
  353. package/lib/locales/zh-CN.d.ts +2 -0
  354. package/lib/locales/zh-CN.js +2 -0
  355. package/lib/locales/zh-TW.d.ts +2 -0
  356. package/lib/locales/zh-TW.js +2 -0
  357. package/lib/utils/index.d.ts +1 -1
  358. package/lib/utils/platform.d.ts +1 -1
  359. package/lowcode/pisell-record-board-calendar-view/meta.ts +1 -1
  360. package/package.json +2 -2
@@ -29,9 +29,9 @@ export interface FigmaTableCardItem {
29
29
  }
30
30
  /** 从 merged item + dataSources 得到卡片数据 */
31
31
  export declare function getFigmaTableCardFromMerged(item: FloorMapMergedItem, dataSources: FloorMapDataSources): FigmaTableCardItem;
32
- /** 渲染 Figma 样式的方桌卡片(上下小条 + 白底卡片 + 状态边框) */
32
+ /** 渲染 Figma 样式的方桌卡片(上下小条 + 资源信息标题栏 + 白底卡片 + 状态色边框) */
33
33
  export declare function renderFigmaStyleTableCard(cardItem: FigmaTableCardItem): JSX.Element;
34
- /** 渲染 Figma 样式的圆桌卡片(圆形轮廓,展示桌号/状态/人数/区域) */
34
+ /** 渲染 Figma 样式的圆桌卡片(顶部资源信息 chip + 圆形主体,圆形主体只展示状态相关内容) */
35
35
  export declare function renderFigmaStyleRoundTableCard(cardItem: FigmaTableCardItem): JSX.Element;
36
36
  /** 返回用于 renderItemByKind.table 的渲染函数(方桌) */
37
37
  export declare function getRenderItemByKindTable(dataSources: FloorMapDataSources): (item: unknown) => JSX.Element;
@@ -40,10 +40,12 @@ var import_react = __toESM(require("react"));
40
40
  var import_antd = require("antd");
41
41
  var import_icons = require("@ant-design/icons");
42
42
  var import_utils = require("@pisell/utils");
43
+ var import_floorMapElementNameAsTitle = require("../utils/floorMapElementNameAsTitle");
43
44
  var I18N_CARD = "pisell-floor-map-layout.card-placeholder";
44
45
  var I18N_FIGMA = "pisell-floor-map-layout.figma-card";
45
46
  var FIGMA = {
46
47
  white: "#FFFFFF",
48
+ gray100: "#F2F4F7",
47
49
  gray200: "#EAECF0",
48
50
  gray400: "#98A2B3",
49
51
  gray700: "#344054",
@@ -65,6 +67,22 @@ var STATUS_BORDER = {
65
67
  billed: FIGMA.billed,
66
68
  availableSoon: FIGMA.availableSoon
67
69
  };
70
+ var STATUS_TAG_BG = {
71
+ available: "#F2F4F7",
72
+ reserved: "#F4ECFB",
73
+ waiting: "#FEF0E0",
74
+ dining: "#E6F4FF",
75
+ billed: "#E8F8EA",
76
+ availableSoon: "#FEE4E2"
77
+ };
78
+ var STATUS_TAG_FG = {
79
+ available: "#475467",
80
+ reserved: "#7B3CCB",
81
+ waiting: "#C4690D",
82
+ dining: "#0E6FD0",
83
+ billed: "#347D3A",
84
+ availableSoon: "#B42318"
85
+ };
68
86
  var STATUS_MAP = {
69
87
  available: "available",
70
88
  reserved: "reserved",
@@ -108,9 +126,15 @@ function getFigmaTableCardFromMerged(item, dataSources) {
108
126
  const displayId = (binding == null ? void 0 : binding.recordId) ?? item.id;
109
127
  const rawStatus = record == null ? void 0 : record.status;
110
128
  const status = rawStatus && STATUS_MAP[rawStatus] || "available";
129
+ const recordName = (record == null ? void 0 : record.name) != null ? String(record.name) : void 0;
130
+ const resolvedTitle = (0, import_floorMapElementNameAsTitle.resolveSceneElementDisplayTitle)({
131
+ sceneElement: el,
132
+ recordTitle: recordName,
133
+ fallback: kindLabel
134
+ });
111
135
  return {
112
136
  id: displayId,
113
- displayName: record == null ? void 0 : record.name,
137
+ displayName: resolvedTitle || void 0,
114
138
  status,
115
139
  customerName: record == null ? void 0 : record.customerName,
116
140
  reserveTime: record == null ? void 0 : record.reserveTime,
@@ -186,76 +210,142 @@ function FigmaCardRow({
186
210
  /* @__PURE__ */ import_react.default.createElement("span", { style: { flexShrink: 0 } }, children)
187
211
  );
188
212
  }
189
- function TableCardInfoRows({ cardItem }) {
213
+ function ResourceHeaderBar({
214
+ cardItem,
215
+ variant
216
+ }) {
190
217
  const hasCapacity = cardItem.capacity != null;
191
218
  const hasArea = cardItem.area != null && cardItem.area !== "";
192
- if (!hasCapacity && !hasArea) return null;
193
- return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, hasCapacity && /* @__PURE__ */ import_react.default.createElement(FigmaCardRow, { icon: /* @__PURE__ */ import_react.default.createElement(import_icons.TeamOutlined, null) }, /* @__PURE__ */ import_react.default.createElement("span", null, import_utils.locales.getText(`${I18N_FIGMA}.capacity-seats`).replace(/\{n\}/g, String(cardItem.capacity)))), hasArea && /* @__PURE__ */ import_react.default.createElement(FigmaCardRow, { icon: /* @__PURE__ */ import_react.default.createElement(import_icons.EnvironmentOutlined, null) }, /* @__PURE__ */ import_react.default.createElement("span", null, cardItem.area)));
194
- }
195
- function TableCardContent({ cardItem }) {
219
+ const titleText = cardItem.displayName ?? cardItem.id;
220
+ const hasTitle = titleText != null && String(titleText).trim() !== "";
196
221
  const status = cardItem.status ?? "available";
197
- const borderColor = STATUS_BORDER[status];
198
- const isAvailable = status === "available";
222
+ const statusLabel = import_utils.locales.getText(`${I18N_FIGMA}.status-${status}`);
223
+ if (!hasTitle && !hasCapacity && !hasArea) return null;
224
+ const metaEntries = [];
225
+ if (hasCapacity) {
226
+ metaEntries.push({
227
+ key: "capacity",
228
+ icon: /* @__PURE__ */ import_react.default.createElement(import_icons.TeamOutlined, { style: { marginRight: 3 } }),
229
+ text: import_utils.locales.getText(`${I18N_FIGMA}.capacity-seats`).replace(/\{n\}/g, String(cardItem.capacity))
230
+ });
231
+ }
232
+ if (hasArea) {
233
+ metaEntries.push({
234
+ key: "area",
235
+ icon: /* @__PURE__ */ import_react.default.createElement(import_icons.EnvironmentOutlined, { style: { marginRight: 3 } }),
236
+ text: String(cardItem.area)
237
+ });
238
+ }
239
+ const isRound = variant === "round";
199
240
  return /* @__PURE__ */ import_react.default.createElement(
200
241
  "div",
201
242
  {
202
243
  style: {
203
- flex: 1,
204
- minHeight: 0,
205
- padding: 8,
206
- boxSizing: "border-box",
207
- background: FIGMA.white,
208
- border: isAvailable ? `4px solid ${FIGMA.gray200}` : `4px solid ${borderColor}`,
209
- borderRadius: 8,
210
- boxShadow: FIGMA.shadowSm,
211
244
  display: "flex",
212
245
  flexDirection: "column",
213
- justifyContent: isAvailable ? "flex-start" : "center",
214
- alignItems: isAvailable ? "stretch" : "center",
215
- gap: 4
246
+ gap: 2,
247
+ padding: isRound ? "4px 8px 6px" : "6px 8px",
248
+ borderBottom: isRound ? "none" : `1px dashed ${FIGMA.gray200}`,
249
+ flexShrink: 0,
250
+ fontFamily: FIGMA.fontFamily
216
251
  }
217
252
  },
218
- isAvailable ? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(
253
+ /* @__PURE__ */ import_react.default.createElement(
219
254
  "div",
220
255
  {
221
256
  style: {
222
- flex: 1,
223
257
  display: "flex",
224
- flexDirection: "column",
225
258
  alignItems: "center",
226
- justifyContent: "center",
227
- minHeight: 0,
228
- gap: 4
259
+ gap: 8,
260
+ minHeight: 18
229
261
  }
230
262
  },
263
+ hasTitle ? /* @__PURE__ */ import_react.default.createElement(
264
+ "span",
265
+ {
266
+ style: {
267
+ fontWeight: 600,
268
+ fontSize: 14,
269
+ lineHeight: "18px",
270
+ color: FIGMA.gray900,
271
+ whiteSpace: "nowrap",
272
+ overflow: "hidden",
273
+ textOverflow: "ellipsis",
274
+ flex: "1 1 auto",
275
+ minWidth: 0,
276
+ textAlign: isRound ? "center" : "left"
277
+ },
278
+ title: String(titleText)
279
+ },
280
+ titleText
281
+ ) : /* @__PURE__ */ import_react.default.createElement("span", { style: { flex: "1 1 auto" } }),
231
282
  /* @__PURE__ */ import_react.default.createElement(
232
- "div",
283
+ "span",
233
284
  {
234
285
  style: {
286
+ display: "inline-flex",
287
+ alignItems: "center",
288
+ justifyContent: "center",
289
+ padding: "1px 6px",
290
+ borderRadius: 999,
291
+ fontSize: 10,
292
+ lineHeight: "14px",
235
293
  fontWeight: 600,
236
- fontSize: 18,
237
- lineHeight: "24px",
238
- color: FIGMA.gray700,
239
- letterSpacing: 0
294
+ background: STATUS_TAG_BG[status],
295
+ color: STATUS_TAG_FG[status],
296
+ flexShrink: 0,
297
+ whiteSpace: "nowrap",
298
+ letterSpacing: 0.2
240
299
  }
241
300
  },
242
- cardItem.displayName ?? cardItem.id
243
- ),
244
- /* @__PURE__ */ import_react.default.createElement(TableCardInfoRows, { cardItem })
245
- )) : /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(
246
- "div",
301
+ statusLabel
302
+ )
303
+ ),
304
+ metaEntries.length > 0 ? /* @__PURE__ */ import_react.default.createElement(
305
+ "span",
247
306
  {
248
307
  style: {
249
- fontWeight: 600,
250
- fontSize: 18,
251
- lineHeight: "24px",
252
- color: FIGMA.gray900,
253
- letterSpacing: 0,
254
- textAlign: "center"
308
+ fontSize: 11,
309
+ lineHeight: "16px",
310
+ color: FIGMA.gray400,
311
+ whiteSpace: "nowrap",
312
+ overflow: "hidden",
313
+ textOverflow: "ellipsis",
314
+ display: "block",
315
+ textAlign: isRound ? "center" : "left"
255
316
  }
256
317
  },
257
- cardItem.displayName ?? cardItem.id
258
- ), status === "reserved" && (cardItem.customerName != null && cardItem.customerName !== "" || cardItem.reserveTime != null && cardItem.reserveTime !== "") && /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, cardItem.customerName != null && cardItem.customerName !== "" && /* @__PURE__ */ import_react.default.createElement(
318
+ metaEntries.map((entry, index) => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, { key: entry.key }, index === 0 ? null : /* @__PURE__ */ import_react.default.createElement("span", { style: { margin: "0 4px" } }, "·"), entry.icon, entry.text))
319
+ ) : null
320
+ );
321
+ }
322
+ function TableCardContent({ cardItem }) {
323
+ const status = cardItem.status ?? "available";
324
+ const borderColor = STATUS_BORDER[status];
325
+ const isAvailable = status === "available";
326
+ return /* @__PURE__ */ import_react.default.createElement(
327
+ "div",
328
+ {
329
+ style: {
330
+ flex: 1,
331
+ minHeight: 0,
332
+ /** 方桌内容区内边距:原 8 减半为 4,留出更多内容显示空间 */
333
+ padding: 4,
334
+ boxSizing: "border-box",
335
+ background: FIGMA.white,
336
+ border: isAvailable ? `4px solid ${FIGMA.gray200}` : `4px solid ${borderColor}`,
337
+ borderTopLeftRadius: 0,
338
+ borderTopRightRadius: 0,
339
+ borderBottomLeftRadius: 8,
340
+ borderBottomRightRadius: 8,
341
+ display: "flex",
342
+ flexDirection: "column",
343
+ justifyContent: "center",
344
+ alignItems: isAvailable ? "stretch" : "center",
345
+ gap: 4
346
+ }
347
+ },
348
+ isAvailable ? null : /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, status === "reserved" && (cardItem.customerName != null && cardItem.customerName !== "" || cardItem.reserveTime != null && cardItem.reserveTime !== "") && /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, cardItem.customerName != null && cardItem.customerName !== "" && /* @__PURE__ */ import_react.default.createElement(
259
349
  FigmaCardRow,
260
350
  {
261
351
  icon: /* @__PURE__ */ import_react.default.createElement(
@@ -268,7 +358,7 @@ function TableCardContent({ cardItem }) {
268
358
  )
269
359
  },
270
360
  /* @__PURE__ */ import_react.default.createElement("span", null, cardItem.customerName)
271
- ), cardItem.reserveTime != null && cardItem.reserveTime !== "" && /* @__PURE__ */ import_react.default.createElement(FigmaCardRow, { icon: /* @__PURE__ */ import_react.default.createElement(import_icons.ClockCircleOutlined, null) }, /* @__PURE__ */ import_react.default.createElement("span", null, cardItem.reserveTime))), (status === "dining" || status === "waiting" || status === "billed" || status === "availableSoon") && cardItem.guests != null && /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(FigmaCardRow, { icon: /* @__PURE__ */ import_react.default.createElement(import_icons.TeamOutlined, null) }, /* @__PURE__ */ import_react.default.createElement("span", null, import_utils.locales.getText(`${I18N_FIGMA}.guests-count`).replace(/\{n\}/g, String(cardItem.guests)))), cardItem.dishes && /* @__PURE__ */ import_react.default.createElement(FigmaCardRow, { icon: /* @__PURE__ */ import_react.default.createElement(import_icons.AuditOutlined, null) }, /* @__PURE__ */ import_react.default.createElement("span", null, cardItem.dishes)), cardItem.duration && /* @__PURE__ */ import_react.default.createElement(FigmaCardRow, { icon: /* @__PURE__ */ import_react.default.createElement(import_icons.FieldTimeOutlined, null) }, /* @__PURE__ */ import_react.default.createElement("span", null, cardItem.duration))), /* @__PURE__ */ import_react.default.createElement(TableCardInfoRows, { cardItem }))
361
+ ), cardItem.reserveTime != null && cardItem.reserveTime !== "" && /* @__PURE__ */ import_react.default.createElement(FigmaCardRow, { icon: /* @__PURE__ */ import_react.default.createElement(import_icons.ClockCircleOutlined, null) }, /* @__PURE__ */ import_react.default.createElement("span", null, cardItem.reserveTime))), (status === "dining" || status === "waiting" || status === "billed" || status === "availableSoon") && cardItem.guests != null && /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(FigmaCardRow, { icon: /* @__PURE__ */ import_react.default.createElement(import_icons.TeamOutlined, null) }, /* @__PURE__ */ import_react.default.createElement("span", null, import_utils.locales.getText(`${I18N_FIGMA}.guests-count`).replace(/\{n\}/g, String(cardItem.guests)))), cardItem.dishes && /* @__PURE__ */ import_react.default.createElement(FigmaCardRow, { icon: /* @__PURE__ */ import_react.default.createElement(import_icons.AuditOutlined, null) }, /* @__PURE__ */ import_react.default.createElement("span", null, cardItem.dishes)), cardItem.duration && /* @__PURE__ */ import_react.default.createElement(FigmaCardRow, { icon: /* @__PURE__ */ import_react.default.createElement(import_icons.FieldTimeOutlined, null) }, /* @__PURE__ */ import_react.default.createElement("span", null, cardItem.duration))))
272
362
  );
273
363
  }
274
364
  function renderTableKindNoDataPlaceholder(cardItem, shape) {
@@ -325,6 +415,29 @@ function renderTableKindNoDataPlaceholder(cardItem, shape) {
325
415
  ) : null
326
416
  );
327
417
  }
418
+ function ResourceHeaderShell({
419
+ cardItem,
420
+ variant
421
+ }) {
422
+ const status = cardItem.status ?? "available";
423
+ const borderColor = status === "available" ? FIGMA.gray200 : STATUS_BORDER[status];
424
+ return /* @__PURE__ */ import_react.default.createElement(
425
+ "div",
426
+ {
427
+ style: {
428
+ background: FIGMA.white,
429
+ border: `4px solid ${borderColor}`,
430
+ /** 去掉底部边,与下方 TableCardContent 拼合成一张卡片,再由内部 dashed line 分隔上下两段 */
431
+ borderBottom: "none",
432
+ borderTopLeftRadius: 8,
433
+ borderTopRightRadius: 8,
434
+ flexShrink: 0,
435
+ boxSizing: "border-box"
436
+ }
437
+ },
438
+ /* @__PURE__ */ import_react.default.createElement(ResourceHeaderBar, { cardItem, variant })
439
+ );
440
+ }
328
441
  function renderFigmaStyleTableCard(cardItem) {
329
442
  if (cardItem.isNoDataPlaceholder) {
330
443
  return renderTableKindNoDataPlaceholder(cardItem, "rect");
@@ -355,7 +468,22 @@ function renderFigmaStyleTableCard(cardItem) {
355
468
  barColor: isAvailable ? FIGMA.barFillAvailable : borderColor
356
469
  }
357
470
  ),
358
- /* @__PURE__ */ import_react.default.createElement(TableCardContent, { cardItem }),
471
+ /* @__PURE__ */ import_react.default.createElement(
472
+ "div",
473
+ {
474
+ style: {
475
+ flex: 1,
476
+ minHeight: 0,
477
+ display: "flex",
478
+ flexDirection: "column",
479
+ borderRadius: 8,
480
+ boxShadow: FIGMA.shadowSm,
481
+ overflow: "hidden"
482
+ }
483
+ },
484
+ /* @__PURE__ */ import_react.default.createElement(ResourceHeaderShell, { cardItem, variant: "rect" }),
485
+ /* @__PURE__ */ import_react.default.createElement(TableCardContent, { cardItem })
486
+ ),
359
487
  /* @__PURE__ */ import_react.default.createElement(
360
488
  CardBars,
361
489
  {
@@ -366,6 +494,28 @@ function renderFigmaStyleTableCard(cardItem) {
366
494
  )
367
495
  );
368
496
  }
497
+ function RoundResourceHeaderChip({
498
+ cardItem
499
+ }) {
500
+ const status = cardItem.status ?? "available";
501
+ const borderColor = status === "available" ? FIGMA.gray200 : STATUS_BORDER[status];
502
+ return /* @__PURE__ */ import_react.default.createElement(
503
+ "div",
504
+ {
505
+ style: {
506
+ flexShrink: 0,
507
+ background: FIGMA.white,
508
+ border: `2px solid ${borderColor}`,
509
+ borderRadius: 999,
510
+ boxShadow: FIGMA.shadowSm,
511
+ margin: "0 auto 4px",
512
+ boxSizing: "border-box",
513
+ maxWidth: "100%"
514
+ }
515
+ },
516
+ /* @__PURE__ */ import_react.default.createElement(ResourceHeaderBar, { cardItem, variant: "round" })
517
+ );
518
+ }
369
519
  function renderFigmaStyleRoundTableCard(cardItem) {
370
520
  if (cardItem.isNoDataPlaceholder) {
371
521
  return renderTableKindNoDataPlaceholder(cardItem, "circle");
@@ -382,18 +532,13 @@ function renderFigmaStyleRoundTableCard(cardItem) {
382
532
  boxSizing: "border-box",
383
533
  display: "flex",
384
534
  flexDirection: "column",
385
- justifyContent: "center",
386
- alignItems: "center",
535
+ alignItems: "stretch",
387
536
  gap: 0,
388
537
  fontFamily: FIGMA.fontFamily,
389
- overflow: "hidden",
390
- borderRadius: "50%",
391
- border: isAvailable ? `4px solid ${FIGMA.gray200}` : `4px solid ${borderColor}`,
392
- background: FIGMA.white,
393
- boxShadow: FIGMA.shadowSm,
394
- padding: 8
538
+ overflow: "hidden"
395
539
  }
396
540
  },
541
+ /* @__PURE__ */ import_react.default.createElement(RoundResourceHeaderChip, { cardItem }),
397
542
  /* @__PURE__ */ import_react.default.createElement(
398
543
  "div",
399
544
  {
@@ -402,59 +547,33 @@ function renderFigmaStyleRoundTableCard(cardItem) {
402
547
  minHeight: 0,
403
548
  display: "flex",
404
549
  flexDirection: "column",
405
- justifyContent: isAvailable ? "flex-start" : "center",
550
+ justifyContent: "center",
406
551
  alignItems: "center",
407
- width: "100%",
408
552
  overflow: "hidden",
409
- gap: 2
553
+ borderRadius: "50%",
554
+ border: isAvailable ? `4px solid ${FIGMA.gray200}` : `4px solid ${borderColor}`,
555
+ background: FIGMA.white,
556
+ boxShadow: FIGMA.shadowSm,
557
+ padding: 8
410
558
  }
411
559
  },
412
- isAvailable ? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(
413
- "div",
414
- {
415
- style: {
416
- fontWeight: 600,
417
- fontSize: 16,
418
- lineHeight: "22px",
419
- color: FIGMA.gray700,
420
- textAlign: "center"
421
- }
422
- },
423
- cardItem.displayName ?? cardItem.id
424
- ), (cardItem.capacity != null || cardItem.area != null && cardItem.area !== "") && /* @__PURE__ */ import_react.default.createElement(
560
+ /* @__PURE__ */ import_react.default.createElement(
425
561
  "div",
426
562
  {
427
563
  style: {
564
+ flex: 1,
565
+ minHeight: 0,
428
566
  display: "flex",
429
567
  flexDirection: "column",
568
+ justifyContent: "center",
430
569
  alignItems: "center",
431
- gap: 2,
432
- fontSize: 12,
433
- lineHeight: "18px",
434
- color: FIGMA.gray700
570
+ width: "100%",
571
+ overflow: "hidden",
572
+ gap: 2
435
573
  }
436
574
  },
437
- cardItem.capacity != null && /* @__PURE__ */ import_react.default.createElement("span", null, /* @__PURE__ */ import_react.default.createElement(import_icons.TeamOutlined, { style: { marginRight: 4 } }), import_utils.locales.getText(`${I18N_FIGMA}.capacity-seats`).replace(/\{n\}/g, String(cardItem.capacity))),
438
- cardItem.area != null && cardItem.area !== "" && /* @__PURE__ */ import_react.default.createElement("span", null, /* @__PURE__ */ import_react.default.createElement(import_icons.EnvironmentOutlined, { style: { marginRight: 4 } }), cardItem.area)
439
- )) : /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(
440
- "div",
441
- {
442
- style: {
443
- fontWeight: 600,
444
- fontSize: 16,
445
- lineHeight: "22px",
446
- color: FIGMA.gray900,
447
- textAlign: "center"
448
- }
449
- },
450
- cardItem.displayName ?? cardItem.id
451
- ), status === "reserved" && cardItem.customerName && /* @__PURE__ */ import_react.default.createElement("div", { style: { fontSize: 12, color: FIGMA.gray700, marginTop: 2 } }, cardItem.customerName), (status === "dining" || status === "waiting" || status === "billed") && cardItem.guests != null && /* @__PURE__ */ import_react.default.createElement(
452
- "div",
453
- {
454
- style: { fontSize: 12, color: FIGMA.gray700, marginTop: 2 }
455
- },
456
- import_utils.locales.getText(`${I18N_FIGMA}.guests-count`).replace(/\{n\}/g, String(cardItem.guests))
457
- ), (cardItem.capacity != null || cardItem.area != null && cardItem.area !== "") && /* @__PURE__ */ import_react.default.createElement("div", { style: { fontSize: 12, color: FIGMA.gray700, marginTop: 2 } }, cardItem.capacity != null && import_utils.locales.getText(`${I18N_FIGMA}.capacity-seats`).replace(/\{n\}/g, String(cardItem.capacity)), cardItem.capacity != null && cardItem.area && " · ", cardItem.area))
575
+ isAvailable ? null : /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, status === "reserved" && cardItem.customerName && /* @__PURE__ */ import_react.default.createElement("div", { style: { fontSize: 12, color: FIGMA.gray700 } }, cardItem.customerName), status === "reserved" && cardItem.reserveTime && /* @__PURE__ */ import_react.default.createElement("div", { style: { fontSize: 12, color: FIGMA.gray700 } }, cardItem.reserveTime), (status === "dining" || status === "waiting" || status === "billed" || status === "availableSoon") && cardItem.guests != null && /* @__PURE__ */ import_react.default.createElement("div", { style: { fontSize: 12, color: FIGMA.gray700 } }, import_utils.locales.getText(`${I18N_FIGMA}.guests-count`).replace(/\{n\}/g, String(cardItem.guests))))
576
+ )
458
577
  )
459
578
  );
460
579
  }
@@ -40,6 +40,7 @@ var import_icons = require("@ant-design/icons");
40
40
  var import_antd = require("antd");
41
41
  var import_types = require("../types");
42
42
  var import_floorMapElementKindUtils = require("../utils/floorMapElementKindUtils");
43
+ var import_floorMapElementNameAsTitle = require("../utils/floorMapElementNameAsTitle");
43
44
  var import_FloorMapDataForm = require("./FloorMapDataForm");
44
45
  var import_useEngineContext = __toESM(require("../../../hooks/useEngineContext"));
45
46
  var import_floorMapCanvasDisplay = require("../utils/floorMapCanvasDisplay");
@@ -98,6 +99,8 @@ function FloorMapEditPanel(props) {
98
99
  labelNameStage: import_utils.locales.getText(`${I18N_EP}.label-name-stage`),
99
100
  phNameStage: import_utils.locales.getText(`${I18N_EP}.ph-name-stage`),
100
101
  phName: import_utils.locales.getText(`${I18N_EP}.ph-name`),
102
+ labelNameAsTitle: import_utils.locales.getText(`${I18N_EP}.label-name-as-title`),
103
+ tipNameAsTitle: import_utils.locales.getText(`${I18N_EP}.tip-name-as-title`),
101
104
  labelImageUrl: import_utils.locales.getText(`${I18N_EP}.label-image-url`),
102
105
  extraImageUrl: import_utils.locales.getText(`${I18N_EP}.extra-image-url`),
103
106
  phHttps: import_utils.locales.getText(`${I18N_EP}.ph-https`),
@@ -147,6 +150,7 @@ function FloorMapEditPanel(props) {
147
150
  const canvasOptions = config.canvases.filter((c) => c.enabled).sort((a, b) => a.order - b.order);
148
151
  const kindConfig = (0, import_floorMapElementKindUtils.getElementKindConfig)(config, sceneElement.elementKind);
149
152
  const bindingPolicy = (0, import_floorMapElementKindUtils.resolveDataBindingPolicy)(kindConfig);
153
+ const kindAllowsNameAsTitle = Boolean(kindConfig == null ? void 0 : kindConfig.nameAsTitleConfigurable);
150
154
  const allKeys = Object.keys(dataSources);
151
155
  const allowedKeys = ((_c = kindConfig == null ? void 0 : kindConfig.allowedDataSourceKeys) == null ? void 0 : _c.length) ? kindConfig.allowedDataSourceKeys.filter((k) => allKeys.includes(k)) : allKeys;
152
156
  const isImageKind = (0, import_floorMapElementKindUtils.isFloorMapImageElementKind)(sceneElement.elementKind);
@@ -162,7 +166,12 @@ function FloorMapEditPanel(props) {
162
166
  width: sceneElement.width ?? dw,
163
167
  height: sceneElement.height ?? dh,
164
168
  canvasId: sceneElement.canvasId,
165
- imageUrl: sceneElement.imageUrl ?? ""
169
+ imageUrl: sceneElement.imageUrl ?? "",
170
+ /**
171
+ * 编辑面板「将图元名作为资源标题」勾选项;持久化在 extensions[NAME_AS_TITLE_EXT_KEY],
172
+ * UI 仅在 kindConfig.nameAsTitleConfigurable 时渲染。
173
+ */
174
+ nameAsTitle: (0, import_floorMapElementNameAsTitle.isElementNameAsTitleEnabled)(sceneElement)
166
175
  };
167
176
  }, [sceneElement, isImageKind]);
168
177
  import_react.default.useEffect(() => {
@@ -196,10 +205,23 @@ function FloorMapEditPanel(props) {
196
205
  patch.width = Number.isFinite(w) ? Math.max(20, w) : void 0;
197
206
  patch.height = Number.isFinite(h) ? Math.max(20, h) : void 0;
198
207
  }
208
+ if (kindAllowsNameAsTitle) {
209
+ const enabled = Boolean(values.nameAsTitle) && Boolean(name);
210
+ patch.extensions = (0, import_floorMapElementNameAsTitle.buildNameAsTitleExtensionsPatch)(
211
+ sceneElement.extensions,
212
+ enabled
213
+ );
214
+ }
199
215
  onUpdate(patch);
200
216
  setFormHasUnappliedChanges(false);
201
217
  },
202
- [onUpdate, isImageKind, layoutLocked]
218
+ [
219
+ onUpdate,
220
+ isImageKind,
221
+ layoutLocked,
222
+ kindAllowsNameAsTitle,
223
+ sceneElement.extensions
224
+ ]
203
225
  );
204
226
  const binding = sceneElement.dataBinding;
205
227
  const record = binding ? ((_d = dataSources[binding.dataSourceKey]) == null ? void 0 : _d.find(
@@ -418,6 +440,23 @@ function FloorMapEditPanel(props) {
418
440
  }
419
441
  )
420
442
  ),
443
+ kindAllowsNameAsTitle ? (
444
+ /**
445
+ * 仅在 kindConfig.nameAsTitleConfigurable 时渲染。
446
+ * 业务侧通过 {@link resolveSceneElementDisplayTitle} 读取该偏好,
447
+ * 决定卡片标题是否覆盖业务字段(如 row.main_field / row.code)。
448
+ */
449
+ /* @__PURE__ */ import_react.default.createElement(
450
+ import_antd.Form.Item,
451
+ {
452
+ name: "nameAsTitle",
453
+ valuePropName: "checked",
454
+ extra: ep.tipNameAsTitle,
455
+ style: { marginTop: -4 }
456
+ },
457
+ /* @__PURE__ */ import_react.default.createElement(import_antd.Checkbox, null, ep.labelNameAsTitle)
458
+ )
459
+ ) : null,
421
460
  isImageKind ? /* @__PURE__ */ import_react.default.createElement(
422
461
  import_antd.Form.Item,
423
462
  {
@@ -32,6 +32,28 @@ export interface FloorMapEditTopBarProps {
32
32
  canvasTabsBarTrailing?: React.ReactNode;
33
33
  /** 启用画布仅 1 个时隐藏 Tab 行,仅保留右侧操作区(全屏顶栏保存等) */
34
34
  hideCanvasTabs?: boolean;
35
+ /** 撤销当前编辑步骤(不传则不显示按钮) */
36
+ onUndo?: () => void;
37
+ /** 重做最近一次撤销(不传则不显示按钮) */
38
+ onRedo?: () => void;
39
+ /** 是否还有可撤销步骤 */
40
+ canUndo?: boolean;
41
+ /** 是否还有可重做步骤 */
42
+ canRedo?: boolean;
43
+ /**
44
+ * 退出编辑模式回调(不保存)。
45
+ * 传入后顶栏右侧会渲染「取消编辑」+「完成」两个按钮,替代原独立「保存」按钮:
46
+ * - 取消编辑 → `onCancelEdit?.() ?? onExitEdit()`
47
+ * - 完成 → `onSave?.()` + `onExitEdit()`
48
+ * 不传则维持旧版「保存」按钮(保存但不退出)。
49
+ */
50
+ onExitEdit?: () => void;
51
+ /**
52
+ * 「取消编辑」专用回调(可选)。传入时取消按钮优先调它,业务层可以在这里
53
+ * 完成「丢弃草稿 + 退出编辑」组合,从而保证回到阅读态不会看到未保存的脏数据。
54
+ * 不传时取消按钮回退到 `onExitEdit`。完成按钮链路不受此 prop 影响。
55
+ */
56
+ onCancelEdit?: () => void;
35
57
  className?: string;
36
58
  }
37
59
  export declare function FloorMapEditTopBar(props: FloorMapEditTopBarProps): JSX.Element | null;