@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
@@ -6,12 +6,14 @@ import React from 'react';
6
6
  import { Avatar } from 'antd';
7
7
  import { UserOutlined, ClockCircleOutlined, TeamOutlined, AuditOutlined, FieldTimeOutlined, EnvironmentOutlined } from '@ant-design/icons';
8
8
  import { locales } from '@pisell/utils';
9
+ import { resolveSceneElementDisplayTitle } from "../utils/floorMapElementNameAsTitle";
9
10
  var I18N_CARD = 'pisell-floor-map-layout.card-placeholder';
10
11
  var I18N_FIGMA = 'pisell-floor-map-layout.figma-card';
11
12
 
12
13
  /** Figma 设计 token(Pisell 2.0 Component Library) */
13
14
  var FIGMA = {
14
15
  white: '#FFFFFF',
16
+ gray100: '#F2F4F7',
15
17
  gray200: '#EAECF0',
16
18
  gray400: '#98A2B3',
17
19
  gray700: '#344054',
@@ -34,6 +36,27 @@ var STATUS_BORDER = {
34
36
  availableSoon: FIGMA.availableSoon
35
37
  };
36
38
 
39
+ /**
40
+ * 状态 tag 的浅色背景 / 深色文字配对。可用态走中性灰;其它态用对应状态色的浅版底 + 深版字,
41
+ * 保证小字号下仍有足够对比度(≥ 4.5:1)。
42
+ */
43
+ var STATUS_TAG_BG = {
44
+ available: '#F2F4F7',
45
+ reserved: '#F4ECFB',
46
+ waiting: '#FEF0E0',
47
+ dining: '#E6F4FF',
48
+ billed: '#E8F8EA',
49
+ availableSoon: '#FEE4E2'
50
+ };
51
+ var STATUS_TAG_FG = {
52
+ available: '#475467',
53
+ reserved: '#7B3CCB',
54
+ waiting: '#C4690D',
55
+ dining: '#0E6FD0',
56
+ billed: '#347D3A',
57
+ availableSoon: '#B42318'
58
+ };
59
+
37
60
  /** 方桌/圆桌卡片展示用数据结构(与 Figma 设计一致,支持桌号/状态/人数/区域等) */
38
61
 
39
62
  var STATUS_MAP = {
@@ -81,9 +104,20 @@ export function getFigmaTableCardFromMerged(item, dataSources) {
81
104
  var displayId = (_binding$recordId = binding === null || binding === void 0 ? void 0 : binding.recordId) !== null && _binding$recordId !== void 0 ? _binding$recordId : item.id;
82
105
  var rawStatus = record === null || record === void 0 ? void 0 : record.status;
83
106
  var status = rawStatus && STATUS_MAP[rawStatus] || 'available';
107
+ /**
108
+ * 命中数据行的标题:默认仍用 `record.name`(保持历史行为)。
109
+ * 若图元上勾选了「将图元名作为资源标题」,由 resolveSceneElementDisplayTitle 统一覆盖,
110
+ * 与预约页 RoomCard 路径一致;未勾选 / 未启用 kind 都不会改动。
111
+ */
112
+ var recordName = (record === null || record === void 0 ? void 0 : record.name) != null ? String(record.name) : undefined;
113
+ var resolvedTitle = resolveSceneElementDisplayTitle({
114
+ sceneElement: el,
115
+ recordTitle: recordName,
116
+ fallback: kindLabel
117
+ });
84
118
  return {
85
119
  id: displayId,
86
- displayName: record === null || record === void 0 ? void 0 : record.name,
120
+ displayName: resolvedTitle || undefined,
87
121
  status: status,
88
122
  customerName: record === null || record === void 0 ? void 0 : record.customerName,
89
123
  reserveTime: record === null || record === void 0 ? void 0 : record.reserveTime,
@@ -161,72 +195,161 @@ function FigmaCardRow(_ref2) {
161
195
  }, children));
162
196
  }
163
197
 
164
- /** 人数、区域等通用信息行(与表格列绑定:可坐人数、区域) */
165
- function TableCardInfoRows(_ref3) {
166
- var cardItem = _ref3.cardItem;
198
+ /**
199
+ * 「资源信息」标题栏:把图元自身的属性(桌名 / 可坐人数 / 区域 / 状态)从卡片正文里抽出来
200
+ * 单独占一栏置顶,正文专心展示当下的预订 / 用餐 / 结账信息。
201
+ *
202
+ * 布局:
203
+ * ┌─────────────────────────────────────┐
204
+ * │ 桌名 (粗体) [状态 tag] │
205
+ * │ [人数] N · [区域] 区 │
206
+ * └─────────────────────────────────────┘
207
+ *
208
+ * - 没有任何资源字段时返回 null,避免空标题栏占位;
209
+ * - 状态 tag 用浅色底 + 深色字(status 配色对),保持小字号对比度;
210
+ * - capacity · area 行仅在两者至少有一项时渲染。
211
+ */
212
+ function ResourceHeaderBar(_ref3) {
213
+ var _cardItem$displayName, _cardItem$status;
214
+ var cardItem = _ref3.cardItem,
215
+ variant = _ref3.variant;
167
216
  var hasCapacity = cardItem.capacity != null;
168
217
  var hasArea = cardItem.area != null && cardItem.area !== '';
169
- if (!hasCapacity && !hasArea) return null;
170
- return /*#__PURE__*/React.createElement(React.Fragment, null, hasCapacity && /*#__PURE__*/React.createElement(FigmaCardRow, {
171
- icon: /*#__PURE__*/React.createElement(TeamOutlined, null)
172
- }, /*#__PURE__*/React.createElement("span", null, locales.getText("".concat(I18N_FIGMA, ".capacity-seats")).replace(/\{n\}/g, String(cardItem.capacity)))), hasArea && /*#__PURE__*/React.createElement(FigmaCardRow, {
173
- icon: /*#__PURE__*/React.createElement(EnvironmentOutlined, null)
174
- }, /*#__PURE__*/React.createElement("span", null, cardItem.area)));
218
+ var titleText = (_cardItem$displayName = cardItem.displayName) !== null && _cardItem$displayName !== void 0 ? _cardItem$displayName : cardItem.id;
219
+ var hasTitle = titleText != null && String(titleText).trim() !== '';
220
+ var status = (_cardItem$status = cardItem.status) !== null && _cardItem$status !== void 0 ? _cardItem$status : 'available';
221
+ var statusLabel = locales.getText("".concat(I18N_FIGMA, ".status-").concat(status));
222
+ if (!hasTitle && !hasCapacity && !hasArea) return null;
223
+ var metaEntries = [];
224
+ if (hasCapacity) {
225
+ metaEntries.push({
226
+ key: 'capacity',
227
+ icon: /*#__PURE__*/React.createElement(TeamOutlined, {
228
+ style: {
229
+ marginRight: 3
230
+ }
231
+ }),
232
+ text: locales.getText("".concat(I18N_FIGMA, ".capacity-seats")).replace(/\{n\}/g, String(cardItem.capacity))
233
+ });
234
+ }
235
+ if (hasArea) {
236
+ metaEntries.push({
237
+ key: 'area',
238
+ icon: /*#__PURE__*/React.createElement(EnvironmentOutlined, {
239
+ style: {
240
+ marginRight: 3
241
+ }
242
+ }),
243
+ text: String(cardItem.area)
244
+ });
245
+ }
246
+ var isRound = variant === 'round';
247
+ return /*#__PURE__*/React.createElement("div", {
248
+ style: {
249
+ display: 'flex',
250
+ flexDirection: 'column',
251
+ gap: 2,
252
+ padding: isRound ? '4px 8px 6px' : '6px 8px',
253
+ borderBottom: isRound ? 'none' : "1px dashed ".concat(FIGMA.gray200),
254
+ flexShrink: 0,
255
+ fontFamily: FIGMA.fontFamily
256
+ }
257
+ }, /*#__PURE__*/React.createElement("div", {
258
+ style: {
259
+ display: 'flex',
260
+ alignItems: 'center',
261
+ gap: 8,
262
+ minHeight: 18
263
+ }
264
+ }, hasTitle ? /*#__PURE__*/React.createElement("span", {
265
+ style: {
266
+ fontWeight: 600,
267
+ fontSize: 14,
268
+ lineHeight: '18px',
269
+ color: FIGMA.gray900,
270
+ whiteSpace: 'nowrap',
271
+ overflow: 'hidden',
272
+ textOverflow: 'ellipsis',
273
+ flex: '1 1 auto',
274
+ minWidth: 0,
275
+ textAlign: isRound ? 'center' : 'left'
276
+ },
277
+ title: String(titleText)
278
+ }, titleText) : /*#__PURE__*/React.createElement("span", {
279
+ style: {
280
+ flex: '1 1 auto'
281
+ }
282
+ }), /*#__PURE__*/React.createElement("span", {
283
+ style: {
284
+ display: 'inline-flex',
285
+ alignItems: 'center',
286
+ justifyContent: 'center',
287
+ padding: '1px 6px',
288
+ borderRadius: 999,
289
+ fontSize: 10,
290
+ lineHeight: '14px',
291
+ fontWeight: 600,
292
+ background: STATUS_TAG_BG[status],
293
+ color: STATUS_TAG_FG[status],
294
+ flexShrink: 0,
295
+ whiteSpace: 'nowrap',
296
+ letterSpacing: 0.2
297
+ }
298
+ }, statusLabel)), metaEntries.length > 0 ? /*#__PURE__*/React.createElement("span", {
299
+ style: {
300
+ fontSize: 11,
301
+ lineHeight: '16px',
302
+ color: FIGMA.gray400,
303
+ whiteSpace: 'nowrap',
304
+ overflow: 'hidden',
305
+ textOverflow: 'ellipsis',
306
+ display: 'block',
307
+ textAlign: isRound ? 'center' : 'left'
308
+ }
309
+ }, metaEntries.map(function (entry, index) {
310
+ return /*#__PURE__*/React.createElement(React.Fragment, {
311
+ key: entry.key
312
+ }, index === 0 ? null : /*#__PURE__*/React.createElement("span", {
313
+ style: {
314
+ margin: '0 4px'
315
+ }
316
+ }, "\xB7"), entry.icon, entry.text);
317
+ })) : null);
175
318
  }
176
319
 
177
- /** 方桌卡片内容区(与 renderFigmaStyleTableCard 共用,展示桌号/状态/人数/区域) */
320
+ /**
321
+ * 方桌内容区(不含资源信息——桌名 / 可坐人数 / 区域已上移到 ResourceHeaderBar)。
322
+ *
323
+ * - available:正文留空(视觉上是一个浅灰边框白底),所有"我是哪张桌"已在标题栏交代;
324
+ * - reserved:客人 + 预订时间;
325
+ * - dining / waiting / billed / availableSoon:当前用餐人数 + 菜品 + 用餐时长。
326
+ */
178
327
  function TableCardContent(_ref4) {
179
- var _cardItem$status, _cardItem$displayName, _cardItem$displayName2;
328
+ var _cardItem$status2;
180
329
  var cardItem = _ref4.cardItem;
181
- var status = (_cardItem$status = cardItem.status) !== null && _cardItem$status !== void 0 ? _cardItem$status : 'available';
330
+ var status = (_cardItem$status2 = cardItem.status) !== null && _cardItem$status2 !== void 0 ? _cardItem$status2 : 'available';
182
331
  var borderColor = STATUS_BORDER[status];
183
332
  var isAvailable = status === 'available';
184
333
  return /*#__PURE__*/React.createElement("div", {
185
334
  style: {
186
335
  flex: 1,
187
336
  minHeight: 0,
188
- padding: 8,
337
+ /** 方桌内容区内边距:原 8 减半为 4,留出更多内容显示空间 */
338
+ padding: 4,
189
339
  boxSizing: 'border-box',
190
340
  background: FIGMA.white,
191
341
  border: isAvailable ? "4px solid ".concat(FIGMA.gray200) : "4px solid ".concat(borderColor),
192
- borderRadius: 8,
193
- boxShadow: FIGMA.shadowSm,
194
- display: 'flex',
195
- flexDirection: 'column',
196
- justifyContent: isAvailable ? 'flex-start' : 'center',
197
- alignItems: isAvailable ? 'stretch' : 'center',
198
- gap: 4
199
- }
200
- }, isAvailable ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
201
- style: {
202
- flex: 1,
342
+ borderTopLeftRadius: 0,
343
+ borderTopRightRadius: 0,
344
+ borderBottomLeftRadius: 8,
345
+ borderBottomRightRadius: 8,
203
346
  display: 'flex',
204
347
  flexDirection: 'column',
205
- alignItems: 'center',
206
348
  justifyContent: 'center',
207
- minHeight: 0,
349
+ alignItems: isAvailable ? 'stretch' : 'center',
208
350
  gap: 4
209
351
  }
210
- }, /*#__PURE__*/React.createElement("div", {
211
- style: {
212
- fontWeight: 600,
213
- fontSize: 18,
214
- lineHeight: '24px',
215
- color: FIGMA.gray700,
216
- letterSpacing: 0
217
- }
218
- }, (_cardItem$displayName = cardItem.displayName) !== null && _cardItem$displayName !== void 0 ? _cardItem$displayName : cardItem.id), /*#__PURE__*/React.createElement(TableCardInfoRows, {
219
- cardItem: cardItem
220
- }))) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
221
- style: {
222
- fontWeight: 600,
223
- fontSize: 18,
224
- lineHeight: '24px',
225
- color: FIGMA.gray900,
226
- letterSpacing: 0,
227
- textAlign: 'center'
228
- }
229
- }, (_cardItem$displayName2 = cardItem.displayName) !== null && _cardItem$displayName2 !== void 0 ? _cardItem$displayName2 : cardItem.id), status === 'reserved' && (cardItem.customerName != null && cardItem.customerName !== '' || cardItem.reserveTime != null && cardItem.reserveTime !== '') && /*#__PURE__*/React.createElement(React.Fragment, null, cardItem.customerName != null && cardItem.customerName !== '' && /*#__PURE__*/React.createElement(FigmaCardRow, {
352
+ }, isAvailable ? null : /*#__PURE__*/React.createElement(React.Fragment, null, status === 'reserved' && (cardItem.customerName != null && cardItem.customerName !== '' || cardItem.reserveTime != null && cardItem.reserveTime !== '') && /*#__PURE__*/React.createElement(React.Fragment, null, cardItem.customerName != null && cardItem.customerName !== '' && /*#__PURE__*/React.createElement(FigmaCardRow, {
230
353
  icon: /*#__PURE__*/React.createElement(Avatar, {
231
354
  size: 16,
232
355
  icon: /*#__PURE__*/React.createElement(UserOutlined, null),
@@ -242,9 +365,7 @@ function TableCardContent(_ref4) {
242
365
  icon: /*#__PURE__*/React.createElement(AuditOutlined, null)
243
366
  }, /*#__PURE__*/React.createElement("span", null, cardItem.dishes)), cardItem.duration && /*#__PURE__*/React.createElement(FigmaCardRow, {
244
367
  icon: /*#__PURE__*/React.createElement(FieldTimeOutlined, null)
245
- }, /*#__PURE__*/React.createElement("span", null, cardItem.duration))), /*#__PURE__*/React.createElement(TableCardInfoRows, {
246
- cardItem: cardItem
247
- })));
368
+ }, /*#__PURE__*/React.createElement("span", null, cardItem.duration)))));
248
369
  }
249
370
 
250
371
  /** 无数据占位:与蘸料摆台 Story 中占位卡片视觉对齐(虚线框 + #fafafa) */
@@ -291,13 +412,42 @@ function renderTableKindNoDataPlaceholder(cardItem, shape) {
291
412
  }, hint) : null);
292
413
  }
293
414
 
294
- /** 渲染 Figma 样式的方桌卡片(上下小条 + 白底卡片 + 状态边框) */
415
+ /**
416
+ * 资源信息栏的"独立 chip"包裹:保持与下方卡片正文相同的状态色边框,但
417
+ * 视觉上紧贴在卡片顶端,形成 [资源 chip][正文卡片] 的两段式结构。
418
+ *
419
+ * 边框策略:与正文 4px 状态色等宽,上面圆角、底部直边、底部 0 边以"贴合"正文。
420
+ */
421
+ function ResourceHeaderShell(_ref5) {
422
+ var _cardItem$status3;
423
+ var cardItem = _ref5.cardItem,
424
+ variant = _ref5.variant;
425
+ var status = (_cardItem$status3 = cardItem.status) !== null && _cardItem$status3 !== void 0 ? _cardItem$status3 : 'available';
426
+ var borderColor = status === 'available' ? FIGMA.gray200 : STATUS_BORDER[status];
427
+ return /*#__PURE__*/React.createElement("div", {
428
+ style: {
429
+ background: FIGMA.white,
430
+ border: "4px solid ".concat(borderColor),
431
+ /** 去掉底部边,与下方 TableCardContent 拼合成一张卡片,再由内部 dashed line 分隔上下两段 */
432
+ borderBottom: 'none',
433
+ borderTopLeftRadius: 8,
434
+ borderTopRightRadius: 8,
435
+ flexShrink: 0,
436
+ boxSizing: 'border-box'
437
+ }
438
+ }, /*#__PURE__*/React.createElement(ResourceHeaderBar, {
439
+ cardItem: cardItem,
440
+ variant: variant
441
+ }));
442
+ }
443
+
444
+ /** 渲染 Figma 样式的方桌卡片(上下小条 + 资源信息标题栏 + 白底卡片 + 状态色边框) */
295
445
  export function renderFigmaStyleTableCard(cardItem) {
296
- var _cardItem$status2;
446
+ var _cardItem$status4;
297
447
  if (cardItem.isNoDataPlaceholder) {
298
448
  return renderTableKindNoDataPlaceholder(cardItem, 'rect');
299
449
  }
300
- var status = (_cardItem$status2 = cardItem.status) !== null && _cardItem$status2 !== void 0 ? _cardItem$status2 : 'available';
450
+ var status = (_cardItem$status4 = cardItem.status) !== null && _cardItem$status4 !== void 0 ? _cardItem$status4 : 'available';
301
451
  var borderColor = STATUS_BORDER[status];
302
452
  var isAvailable = status === 'available';
303
453
  return /*#__PURE__*/React.createElement("div", {
@@ -316,22 +466,63 @@ export function renderFigmaStyleTableCard(cardItem) {
316
466
  count: getBarCountFromItemId(cardItem.id),
317
467
  position: "top",
318
468
  barColor: isAvailable ? FIGMA.barFillAvailable : borderColor
469
+ }), /*#__PURE__*/React.createElement("div", {
470
+ style: {
471
+ flex: 1,
472
+ minHeight: 0,
473
+ display: 'flex',
474
+ flexDirection: 'column',
475
+ borderRadius: 8,
476
+ boxShadow: FIGMA.shadowSm,
477
+ overflow: 'hidden'
478
+ }
479
+ }, /*#__PURE__*/React.createElement(ResourceHeaderShell, {
480
+ cardItem: cardItem,
481
+ variant: "rect"
319
482
  }), /*#__PURE__*/React.createElement(TableCardContent, {
320
483
  cardItem: cardItem
321
- }), /*#__PURE__*/React.createElement(CardBars, {
484
+ })), /*#__PURE__*/React.createElement(CardBars, {
322
485
  count: getBarCountFromItemId(cardItem.id),
323
486
  position: "bottom",
324
487
  barColor: isAvailable ? FIGMA.barFillAvailable : borderColor
325
488
  }));
326
489
  }
327
490
 
328
- /** 渲染 Figma 样式的圆桌卡片(圆形轮廓,展示桌号/状态/人数/区域) */
491
+ /**
492
+ * 圆桌专用:独立 pill 形资源信息标题栏,悬挂在圆形之上。
493
+ *
494
+ * 圆形不能在顶部"切一刀"放标题栏,所以做成独立 chip:保持圆形主体不被破坏,
495
+ * 同时把"我是哪张桌、能坐几人、属于哪个区"这些资源属性单独展示在最上方。
496
+ */
497
+ function RoundResourceHeaderChip(_ref6) {
498
+ var _cardItem$status5;
499
+ var cardItem = _ref6.cardItem;
500
+ var status = (_cardItem$status5 = cardItem.status) !== null && _cardItem$status5 !== void 0 ? _cardItem$status5 : 'available';
501
+ var borderColor = status === 'available' ? FIGMA.gray200 : STATUS_BORDER[status];
502
+ return /*#__PURE__*/React.createElement("div", {
503
+ style: {
504
+ flexShrink: 0,
505
+ background: FIGMA.white,
506
+ border: "2px solid ".concat(borderColor),
507
+ borderRadius: 999,
508
+ boxShadow: FIGMA.shadowSm,
509
+ margin: '0 auto 4px',
510
+ boxSizing: 'border-box',
511
+ maxWidth: '100%'
512
+ }
513
+ }, /*#__PURE__*/React.createElement(ResourceHeaderBar, {
514
+ cardItem: cardItem,
515
+ variant: "round"
516
+ }));
517
+ }
518
+
519
+ /** 渲染 Figma 样式的圆桌卡片(顶部资源信息 chip + 圆形主体,圆形主体只展示状态相关内容) */
329
520
  export function renderFigmaStyleRoundTableCard(cardItem) {
330
- var _cardItem$status3, _cardItem$displayName3, _cardItem$displayName4;
521
+ var _cardItem$status6;
331
522
  if (cardItem.isNoDataPlaceholder) {
332
523
  return renderTableKindNoDataPlaceholder(cardItem, 'circle');
333
524
  }
334
- var status = (_cardItem$status3 = cardItem.status) !== null && _cardItem$status3 !== void 0 ? _cardItem$status3 : 'available';
525
+ var status = (_cardItem$status6 = cardItem.status) !== null && _cardItem$status6 !== void 0 ? _cardItem$status6 : 'available';
335
526
  var borderColor = STATUS_BORDER[status];
336
527
  var isAvailable = status === 'available';
337
528
  return /*#__PURE__*/React.createElement("div", {
@@ -341,10 +532,21 @@ export function renderFigmaStyleRoundTableCard(cardItem) {
341
532
  boxSizing: 'border-box',
342
533
  display: 'flex',
343
534
  flexDirection: 'column',
344
- justifyContent: 'center',
345
- alignItems: 'center',
535
+ alignItems: 'stretch',
346
536
  gap: 0,
347
537
  fontFamily: FIGMA.fontFamily,
538
+ overflow: 'hidden'
539
+ }
540
+ }, /*#__PURE__*/React.createElement(RoundResourceHeaderChip, {
541
+ cardItem: cardItem
542
+ }), /*#__PURE__*/React.createElement("div", {
543
+ style: {
544
+ flex: 1,
545
+ minHeight: 0,
546
+ display: 'flex',
547
+ flexDirection: 'column',
548
+ justifyContent: 'center',
549
+ alignItems: 'center',
348
550
  overflow: 'hidden',
349
551
  borderRadius: '50%',
350
552
  border: isAvailable ? "4px solid ".concat(FIGMA.gray200) : "4px solid ".concat(borderColor),
@@ -358,65 +560,28 @@ export function renderFigmaStyleRoundTableCard(cardItem) {
358
560
  minHeight: 0,
359
561
  display: 'flex',
360
562
  flexDirection: 'column',
361
- justifyContent: isAvailable ? 'flex-start' : 'center',
563
+ justifyContent: 'center',
362
564
  alignItems: 'center',
363
565
  width: '100%',
364
566
  overflow: 'hidden',
365
567
  gap: 2
366
568
  }
367
- }, isAvailable ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
569
+ }, isAvailable ? null : /*#__PURE__*/React.createElement(React.Fragment, null, status === 'reserved' && cardItem.customerName && /*#__PURE__*/React.createElement("div", {
368
570
  style: {
369
- fontWeight: 600,
370
- fontSize: 16,
371
- lineHeight: '22px',
372
- color: FIGMA.gray700,
373
- textAlign: 'center'
374
- }
375
- }, (_cardItem$displayName3 = cardItem.displayName) !== null && _cardItem$displayName3 !== void 0 ? _cardItem$displayName3 : cardItem.id), (cardItem.capacity != null || cardItem.area != null && cardItem.area !== '') && /*#__PURE__*/React.createElement("div", {
376
- style: {
377
- display: 'flex',
378
- flexDirection: 'column',
379
- alignItems: 'center',
380
- gap: 2,
381
571
  fontSize: 12,
382
- lineHeight: '18px',
383
572
  color: FIGMA.gray700
384
573
  }
385
- }, cardItem.capacity != null && /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(TeamOutlined, {
386
- style: {
387
- marginRight: 4
388
- }
389
- }), locales.getText("".concat(I18N_FIGMA, ".capacity-seats")).replace(/\{n\}/g, String(cardItem.capacity))), cardItem.area != null && cardItem.area !== '' && /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(EnvironmentOutlined, {
390
- style: {
391
- marginRight: 4
392
- }
393
- }), cardItem.area))) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
394
- style: {
395
- fontWeight: 600,
396
- fontSize: 16,
397
- lineHeight: '22px',
398
- color: FIGMA.gray900,
399
- textAlign: 'center'
400
- }
401
- }, (_cardItem$displayName4 = cardItem.displayName) !== null && _cardItem$displayName4 !== void 0 ? _cardItem$displayName4 : cardItem.id), status === 'reserved' && cardItem.customerName && /*#__PURE__*/React.createElement("div", {
402
- style: {
403
- fontSize: 12,
404
- color: FIGMA.gray700,
405
- marginTop: 2
406
- }
407
- }, cardItem.customerName), (status === 'dining' || status === 'waiting' || status === 'billed') && cardItem.guests != null && /*#__PURE__*/React.createElement("div", {
574
+ }, cardItem.customerName), status === 'reserved' && cardItem.reserveTime && /*#__PURE__*/React.createElement("div", {
408
575
  style: {
409
576
  fontSize: 12,
410
- color: FIGMA.gray700,
411
- marginTop: 2
577
+ color: FIGMA.gray700
412
578
  }
413
- }, locales.getText("".concat(I18N_FIGMA, ".guests-count")).replace(/\{n\}/g, String(cardItem.guests))), (cardItem.capacity != null || cardItem.area != null && cardItem.area !== '') && /*#__PURE__*/React.createElement("div", {
579
+ }, cardItem.reserveTime), (status === 'dining' || status === 'waiting' || status === 'billed' || status === 'availableSoon') && cardItem.guests != null && /*#__PURE__*/React.createElement("div", {
414
580
  style: {
415
581
  fontSize: 12,
416
- color: FIGMA.gray700,
417
- marginTop: 2
582
+ color: FIGMA.gray700
418
583
  }
419
- }, cardItem.capacity != null && locales.getText("".concat(I18N_FIGMA, ".capacity-seats")).replace(/\{n\}/g, String(cardItem.capacity)), cardItem.capacity != null && cardItem.area && ' · ', cardItem.area))));
584
+ }, locales.getText("".concat(I18N_FIGMA, ".guests-count")).replace(/\{n\}/g, String(cardItem.guests)))))));
420
585
  }
421
586
 
422
587
  /** 返回用于 renderItemByKind.table 的渲染函数(方桌) */
@@ -11,9 +11,10 @@ import React, { useCallback, useMemo, useRef, useState } from 'react';
11
11
  import { locales } from '@pisell/utils';
12
12
  import classNames from 'classnames';
13
13
  import { CloseOutlined, LockOutlined, UnlockOutlined } from '@ant-design/icons';
14
- import { Input, InputNumber, Select, Button, Form, Popconfirm, message } from 'antd';
14
+ import { Input, InputNumber, Select, Button, Form, Popconfirm, message, Checkbox } from 'antd';
15
15
  import { FLOOR_MAP_STAGE_ELEMENT_KIND } from "../types";
16
16
  import { getElementKindConfig, resolveDataBindingPolicy, isFloorMapImageElementKind, getSwappableElementKindsInSameCategory, patchSceneElementForKindSwitch } from "../utils/floorMapElementKindUtils";
17
+ import { isElementNameAsTitleEnabled, buildNameAsTitleExtensionsPatch } from "../utils/floorMapElementNameAsTitle";
17
18
  import { FloorMapDataForm } from "./FloorMapDataForm";
18
19
  import useEngineContext from "../../../hooks/useEngineContext";
19
20
  import { getFloorMapCanvasDisplayName, initFloorMapLayoutLocales } from "../utils/floorMapCanvasDisplay";
@@ -75,6 +76,8 @@ export function FloorMapEditPanel(props) {
75
76
  labelNameStage: locales.getText("".concat(I18N_EP, ".label-name-stage")),
76
77
  phNameStage: locales.getText("".concat(I18N_EP, ".ph-name-stage")),
77
78
  phName: locales.getText("".concat(I18N_EP, ".ph-name")),
79
+ labelNameAsTitle: locales.getText("".concat(I18N_EP, ".label-name-as-title")),
80
+ tipNameAsTitle: locales.getText("".concat(I18N_EP, ".tip-name-as-title")),
78
81
  labelImageUrl: locales.getText("".concat(I18N_EP, ".label-image-url")),
79
82
  extraImageUrl: locales.getText("".concat(I18N_EP, ".extra-image-url")),
80
83
  phHttps: locales.getText("".concat(I18N_EP, ".ph-https")),
@@ -117,6 +120,11 @@ export function FloorMapEditPanel(props) {
117
120
  });
118
121
  var kindConfig = getElementKindConfig(config, sceneElement.elementKind);
119
122
  var bindingPolicy = resolveDataBindingPolicy(kindConfig);
123
+ /**
124
+ * 是否在编辑面板渲染「将图元名作为资源标题」勾选项,由 kindConfig 显式声明;
125
+ * 未声明的 kind(含将来新增)保持现状不出现该项。
126
+ */
127
+ var kindAllowsNameAsTitle = Boolean(kindConfig === null || kindConfig === void 0 ? void 0 : kindConfig.nameAsTitleConfigurable);
120
128
  var allKeys = Object.keys(dataSources);
121
129
  var allowedKeys = kindConfig !== null && kindConfig !== void 0 && (_kindConfig$allowedDa = kindConfig.allowedDataSourceKeys) !== null && _kindConfig$allowedDa !== void 0 && _kindConfig$allowedDa.length ? kindConfig.allowedDataSourceKeys.filter(function (k) {
122
130
  return allKeys.includes(k);
@@ -137,7 +145,12 @@ export function FloorMapEditPanel(props) {
137
145
  width: (_sceneElement$width = sceneElement.width) !== null && _sceneElement$width !== void 0 ? _sceneElement$width : dw,
138
146
  height: (_sceneElement$height = sceneElement.height) !== null && _sceneElement$height !== void 0 ? _sceneElement$height : dh,
139
147
  canvasId: sceneElement.canvasId,
140
- imageUrl: (_sceneElement$imageUr = sceneElement.imageUrl) !== null && _sceneElement$imageUr !== void 0 ? _sceneElement$imageUr : ''
148
+ imageUrl: (_sceneElement$imageUr = sceneElement.imageUrl) !== null && _sceneElement$imageUr !== void 0 ? _sceneElement$imageUr : '',
149
+ /**
150
+ * 编辑面板「将图元名作为资源标题」勾选项;持久化在 extensions[NAME_AS_TITLE_EXT_KEY],
151
+ * UI 仅在 kindConfig.nameAsTitleConfigurable 时渲染。
152
+ */
153
+ nameAsTitle: isElementNameAsTitleEnabled(sceneElement)
141
154
  };
142
155
  }, [sceneElement, isImageKind]);
143
156
  React.useEffect(function () {
@@ -171,9 +184,18 @@ export function FloorMapEditPanel(props) {
171
184
  patch.width = Number.isFinite(w) ? Math.max(20, w) : undefined;
172
185
  patch.height = Number.isFinite(h) ? Math.max(20, h) : undefined;
173
186
  }
187
+ /**
188
+ * 「图元名作为资源标题」开关:仅在 kindConfig 允许配置时才会出现在表单里;
189
+ * 没有 name 的场景下即便勾选也无意义,因此用 `name` 是否为空决定写入是 true 还是清掉。
190
+ * 写入路径走 extensions,避免顶层 schema 出现仅供 UI 偏好的字段。
191
+ */
192
+ if (kindAllowsNameAsTitle) {
193
+ var enabled = Boolean(values.nameAsTitle) && Boolean(name);
194
+ patch.extensions = buildNameAsTitleExtensionsPatch(sceneElement.extensions, enabled);
195
+ }
174
196
  onUpdate(patch);
175
197
  setFormHasUnappliedChanges(false);
176
- }, [onUpdate, isImageKind, layoutLocked]);
198
+ }, [onUpdate, isImageKind, layoutLocked, kindAllowsNameAsTitle, sceneElement.extensions]);
177
199
  var binding = sceneElement.dataBinding;
178
200
  var record = binding ? (_dataSources$binding$ = (_dataSources$binding$2 = dataSources[binding.dataSourceKey]) === null || _dataSources$binding$2 === void 0 ? void 0 : _dataSources$binding$2.find(function (r) {
179
201
  return r.id === binding.recordId;
@@ -407,7 +429,21 @@ export function FloorMapEditPanel(props) {
407
429
  }, /*#__PURE__*/React.createElement(Input, {
408
430
  placeholder: isStageLike ? ep.phNameStage : ep.phName,
409
431
  allowClear: true
410
- })), isImageKind ? /*#__PURE__*/React.createElement(Form.Item, {
432
+ })), kindAllowsNameAsTitle ?
433
+ /*#__PURE__*/
434
+ /**
435
+ * 仅在 kindConfig.nameAsTitleConfigurable 时渲染。
436
+ * 业务侧通过 {@link resolveSceneElementDisplayTitle} 读取该偏好,
437
+ * 决定卡片标题是否覆盖业务字段(如 row.main_field / row.code)。
438
+ */
439
+ React.createElement(Form.Item, {
440
+ name: "nameAsTitle",
441
+ valuePropName: "checked",
442
+ extra: ep.tipNameAsTitle,
443
+ style: {
444
+ marginTop: -4
445
+ }
446
+ }, /*#__PURE__*/React.createElement(Checkbox, null, ep.labelNameAsTitle)) : null, isImageKind ? /*#__PURE__*/React.createElement(Form.Item, {
411
447
  name: "imageUrl",
412
448
  label: ep.labelImageUrl,
413
449
  extra: ep.extraImageUrl
@@ -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;