@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
@@ -35,6 +35,8 @@ __export(FloorMapEditTopBar_exports, {
35
35
  module.exports = __toCommonJS(FloorMapEditTopBar_exports);
36
36
  var import_react = __toESM(require("react"));
37
37
  var import_classnames = __toESM(require("classnames"));
38
+ var import_antd = require("antd");
39
+ var import_HistoryIcons = require("./HistoryIcons");
38
40
  var import_utils = require("@pisell/utils");
39
41
  var import_useEngineContext = __toESM(require("../../../hooks/useEngineContext"));
40
42
  var import_floorMapCanvasDisplay = require("../utils/floorMapCanvasDisplay");
@@ -42,6 +44,12 @@ var import_CanvasTabs = require("./CanvasTabs");
42
44
  var import_FloorMapEditTopBar = require("./FloorMapEditTopBar.less");
43
45
  var PREFIX = "pisell-floor-map-layout";
44
46
  var I18N_TB = "pisell-floor-map-layout.edit-top-bar";
47
+ function detectIsMacLike() {
48
+ if (typeof navigator === "undefined") return false;
49
+ const p = navigator.platform || "";
50
+ const ua = navigator.userAgent || "";
51
+ return /Mac|iPhone|iPad|iPod/i.test(p) || /Macintosh/i.test(ua);
52
+ }
45
53
  function FloorMapEditTopBar(props) {
46
54
  var _a, _b;
47
55
  const {
@@ -62,6 +70,12 @@ function FloorMapEditTopBar(props) {
62
70
  extraActions,
63
71
  canvasTabsBarTrailing,
64
72
  hideCanvasTabs = false,
73
+ onUndo,
74
+ onRedo,
75
+ canUndo = false,
76
+ canRedo = false,
77
+ onExitEdit,
78
+ onCancelEdit,
65
79
  className
66
80
  } = props;
67
81
  const engineCtx = (0, import_useEngineContext.default)();
@@ -72,15 +86,102 @@ function FloorMapEditTopBar(props) {
72
86
  aria: import_utils.locales.getText(`${I18N_TB}.aria`),
73
87
  unsaved: import_utils.locales.getText(`${I18N_TB}.unsaved`),
74
88
  save: import_utils.locales.getText(`${I18N_TB}.save`),
75
- saving: import_utils.locales.getText(`${I18N_TB}.saving`)
89
+ saving: import_utils.locales.getText(`${I18N_TB}.saving`),
90
+ undo: import_utils.locales.getText(`${I18N_TB}.undo`),
91
+ redo: import_utils.locales.getText(`${I18N_TB}.redo`),
92
+ cancelEdit: import_utils.locales.getText(`${I18N_TB}.cancel-edit`),
93
+ finishEdit: import_utils.locales.getText(`${I18N_TB}.finish-edit`),
94
+ cancelConfirmTitle: import_utils.locales.getText(`${I18N_TB}.cancel-confirm-title`),
95
+ cancelConfirmContent: import_utils.locales.getText(
96
+ `${I18N_TB}.cancel-confirm-content`
97
+ ),
98
+ cancelConfirmOk: import_utils.locales.getText(`${I18N_TB}.cancel-confirm-ok`),
99
+ cancelConfirmCancel: import_utils.locales.getText(`${I18N_TB}.cancel-confirm-cancel`)
76
100
  };
77
101
  }, [engineLocale]);
102
+ const showHistory = Boolean(onUndo || onRedo);
103
+ const historyGroup = (0, import_react.useMemo)(() => {
104
+ if (!showHistory) return null;
105
+ const isMac = detectIsMacLike();
106
+ const cmd = isMac ? "⌘" : "Ctrl";
107
+ const undoTitle = `${topBarLabels.undo} (${cmd}+Z)`;
108
+ const redoTitle = `${topBarLabels.redo} (${cmd}+Shift+Z)`;
109
+ return /* @__PURE__ */ import_react.default.createElement(
110
+ "div",
111
+ {
112
+ className: `${PREFIX}-edit-top-bar-history`,
113
+ role: "group",
114
+ "aria-label": `${topBarLabels.undo} / ${topBarLabels.redo}`
115
+ },
116
+ /* @__PURE__ */ import_react.default.createElement(
117
+ import_antd.Button,
118
+ {
119
+ type: "text",
120
+ size: "small",
121
+ icon: /* @__PURE__ */ import_react.default.createElement(import_HistoryIcons.UndoHistoryIcon, null),
122
+ disabled: !canUndo,
123
+ onClick: onUndo,
124
+ "aria-label": undoTitle
125
+ },
126
+ topBarLabels.undo
127
+ ),
128
+ /* @__PURE__ */ import_react.default.createElement(
129
+ import_antd.Button,
130
+ {
131
+ type: "text",
132
+ size: "small",
133
+ icon: /* @__PURE__ */ import_react.default.createElement(import_HistoryIcons.RedoHistoryIcon, null),
134
+ disabled: !canRedo,
135
+ onClick: onRedo,
136
+ "aria-label": redoTitle
137
+ },
138
+ topBarLabels.redo
139
+ )
140
+ );
141
+ }, [showHistory, topBarLabels.undo, topBarLabels.redo, canUndo, canRedo, onUndo, onRedo]);
78
142
  const showSave = Boolean(onSave && config.canvasUi.canEdit) && !isFullscreen;
143
+ const showExitGroup = Boolean(onExitEdit && config.canvasUi.canEdit);
144
+ const dirtyBadge = layoutDirty && (showExitGroup || showSave) ? /* @__PURE__ */ import_react.default.createElement(
145
+ "span",
146
+ {
147
+ className: `${PREFIX}-edit-top-bar-dirty-badge`,
148
+ role: "status",
149
+ "aria-live": "polite"
150
+ },
151
+ topBarLabels.unsaved
152
+ ) : null;
153
+ const [modalApi, modalContextHolder] = import_antd.Modal.useModal();
154
+ const performCancel = (0, import_react.useCallback)(() => {
155
+ if (onCancelEdit) onCancelEdit();
156
+ else onExitEdit == null ? void 0 : onExitEdit();
157
+ }, [onCancelEdit, onExitEdit]);
158
+ const handleCancelClick = (0, import_react.useCallback)(() => {
159
+ if (!layoutDirty) {
160
+ performCancel();
161
+ return;
162
+ }
163
+ modalApi.confirm({
164
+ title: topBarLabels.cancelConfirmTitle,
165
+ content: topBarLabels.cancelConfirmContent,
166
+ okText: topBarLabels.cancelConfirmOk,
167
+ cancelText: topBarLabels.cancelConfirmCancel,
168
+ onOk: () => performCancel(),
169
+ autoFocusButton: "cancel"
170
+ });
171
+ }, [
172
+ layoutDirty,
173
+ performCancel,
174
+ modalApi,
175
+ topBarLabels.cancelConfirmTitle,
176
+ topBarLabels.cancelConfirmContent,
177
+ topBarLabels.cancelConfirmOk,
178
+ topBarLabels.cancelConfirmCancel
179
+ ]);
79
180
  const hasTrailing = canvasTabsBarTrailing != null && canvasTabsBarTrailing !== false;
80
- const hasFullActions = showSave || Boolean(saveError) || extraActions != null && extraActions !== false || hasTrailing;
181
+ const hasFullActions = showSave || showExitGroup || Boolean(saveError) || extraActions != null && extraActions !== false || hasTrailing || showHistory;
81
182
  const tabsHiddenClass = hideCanvasTabs ? `${PREFIX}-edit-top-bar--tabs-hidden` : void 0;
82
183
  if (mode === "compact") {
83
- const showCompactActions = hasTrailing;
184
+ const showCompactActions = hasTrailing || showHistory;
84
185
  return /* @__PURE__ */ import_react.default.createElement(
85
186
  "div",
86
187
  {
@@ -106,7 +207,8 @@ function FloorMapEditTopBar(props) {
106
207
  className: `${PREFIX}-edit-top-bar-canvas-tabs`
107
208
  }
108
209
  )) : null,
109
- showCompactActions ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-edit-top-bar-actions` }, canvasTabsBarTrailing) : null
210
+ showCompactActions ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-edit-top-bar-actions` }, historyGroup, canvasTabsBarTrailing) : null,
211
+ modalContextHolder
110
212
  );
111
213
  }
112
214
  if (hideCanvasTabs && !hasFullActions) {
@@ -144,15 +246,28 @@ function FloorMapEditTopBar(props) {
144
246
  title: typeof saveError === "string" ? saveError : saveError == null ? void 0 : saveError.message
145
247
  },
146
248
  typeof saveError === "string" ? saveError : saveError == null ? void 0 : saveError.message
147
- ) : null, canvasTabsBarTrailing, extraActions, showSave ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-edit-top-bar-save-group` }, layoutDirty ? /* @__PURE__ */ import_react.default.createElement(
148
- "span",
249
+ ) : null, dirtyBadge, historyGroup, canvasTabsBarTrailing, extraActions, showExitGroup ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-edit-top-bar-save-group` }, /* @__PURE__ */ import_react.default.createElement(
250
+ "button",
251
+ {
252
+ type: "button",
253
+ className: `${PREFIX}-edit-top-bar-btn`,
254
+ disabled: saving,
255
+ onClick: handleCancelClick
256
+ },
257
+ topBarLabels.cancelEdit
258
+ ), /* @__PURE__ */ import_react.default.createElement(
259
+ "button",
149
260
  {
150
- className: `${PREFIX}-edit-top-bar-dirty-badge`,
151
- role: "status",
152
- "aria-live": "polite"
261
+ type: "button",
262
+ className: (0, import_classnames.default)(`${PREFIX}-edit-top-bar-btn`, "primary"),
263
+ disabled: saving,
264
+ onClick: () => {
265
+ onSave == null ? void 0 : onSave();
266
+ onExitEdit == null ? void 0 : onExitEdit();
267
+ }
153
268
  },
154
- topBarLabels.unsaved
155
- ) : null, /* @__PURE__ */ import_react.default.createElement(
269
+ saving ? topBarLabels.saving : topBarLabels.finishEdit
270
+ )) : showSave ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-edit-top-bar-save-group` }, /* @__PURE__ */ import_react.default.createElement(
156
271
  "button",
157
272
  {
158
273
  type: "button",
@@ -161,7 +276,8 @@ function FloorMapEditTopBar(props) {
161
276
  onClick: onSave
162
277
  },
163
278
  saving ? topBarLabels.saving : topBarLabels.save
164
- )) : null) : null
279
+ )) : null) : null,
280
+ modalContextHolder
165
281
  );
166
282
  }
167
283
  var FloorMapEditTopBar_default = FloorMapEditTopBar;
@@ -58,7 +58,7 @@
58
58
  text-overflow: ellipsis;
59
59
  }
60
60
 
61
- /* 全屏顶栏:未保存标签在保存按钮左侧,单行对齐 */
61
+ /* 全屏顶栏右侧:取消 / 完成按钮组(未保存徽章已外提到 history 左侧,不再属于本组) */
62
62
 
63
63
  &-save-group {
64
64
  display: inline-flex;
@@ -67,6 +67,14 @@
67
67
  gap: 10px;
68
68
  }
69
69
 
70
+ /* 撤销 / 重做按钮组:作为 actions 区第一组元素显示 */
71
+ &-history {
72
+ display: inline-flex;
73
+ flex-direction: row;
74
+ align-items: center;
75
+ gap: 4px;
76
+ }
77
+
70
78
  &-dirty-badge {
71
79
  display: inline-flex;
72
80
  align-items: center;
@@ -36,6 +36,7 @@ module.exports = __toCommonJS(FloorMapToolbar_exports);
36
36
  var import_react = __toESM(require("react"));
37
37
  var import_classnames = __toESM(require("classnames"));
38
38
  var import_antd = require("antd");
39
+ var import_icons = require("@ant-design/icons");
39
40
  var import_types = require("../types");
40
41
  var import_floorMapElementKindUtils = require("../utils/floorMapElementKindUtils");
41
42
  var import_floorMapDropUtils = require("../utils/floorMapDropUtils");
@@ -86,6 +87,25 @@ function buildScenePreviewMergedItem(kind, dataSourceKey, size) {
86
87
  }
87
88
  var STAGE_PREVIEW_SIZE = { width: 160, height: 64 };
88
89
  var IMAGE_PREVIEW_SIZE = { width: 140, height: 80 };
90
+ var TOOLBAR_COLLAPSED_STORAGE_KEY = "pisell-floor-map-layout.toolbar.leftbar-collapsed.v1";
91
+ function readToolbarCollapsedPreference() {
92
+ if (typeof window === "undefined") return false;
93
+ try {
94
+ return window.localStorage.getItem(TOOLBAR_COLLAPSED_STORAGE_KEY) === "1";
95
+ } catch {
96
+ return false;
97
+ }
98
+ }
99
+ function writeToolbarCollapsedPreference(collapsed) {
100
+ if (typeof window === "undefined") return;
101
+ try {
102
+ window.localStorage.setItem(
103
+ TOOLBAR_COLLAPSED_STORAGE_KEY,
104
+ collapsed ? "1" : "0"
105
+ );
106
+ } catch {
107
+ }
108
+ }
89
109
  function FloorMapToolbar(props) {
90
110
  const {
91
111
  config,
@@ -106,6 +126,15 @@ function FloorMapToolbar(props) {
106
126
  onPaletteCardPointerDown,
107
127
  consumeToolbarClickIfTouchDrag
108
128
  } = props;
129
+ const [collapsed, setCollapsed] = (0, import_react.useState)(
130
+ () => readToolbarCollapsedPreference()
131
+ );
132
+ (0, import_react.useEffect)(() => {
133
+ writeToolbarCollapsedPreference(collapsed);
134
+ }, [collapsed]);
135
+ const handleToggleCollapsed = (0, import_react.useCallback)(() => {
136
+ setCollapsed((prev) => !prev);
137
+ }, []);
109
138
  const paletteKinds = (0, import_react.useMemo)(
110
139
  () => (config.elementKinds ?? []).filter((k) => k.showInPalette !== false),
111
140
  [config.elementKinds]
@@ -319,15 +348,34 @@ function FloorMapToolbar(props) {
319
348
  className: (0, import_classnames.default)(
320
349
  `${PREFIX}-toolbar`,
321
350
  `${PREFIX}-toolbar-sidebar`,
351
+ collapsed && `${PREFIX}-toolbar-sidebar--collapsed`,
322
352
  className
323
353
  )
324
354
  },
325
- /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-body` }, canCreate && /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, categories.map((cat) => {
355
+ /* @__PURE__ */ import_react.default.createElement(
356
+ "button",
357
+ {
358
+ type: "button",
359
+ className: `${PREFIX}-toolbar-collapse-handle`,
360
+ onClick: handleToggleCollapsed,
361
+ "aria-label": collapsed ? import_utils.locales.getText(`${I18N_TB}.expand`) : import_utils.locales.getText(`${I18N_TB}.collapse`),
362
+ title: collapsed ? import_utils.locales.getText(`${I18N_TB}.expand`) : import_utils.locales.getText(`${I18N_TB}.collapse`)
363
+ },
364
+ collapsed ? /* @__PURE__ */ import_react.default.createElement(import_icons.RightOutlined, null) : /* @__PURE__ */ import_react.default.createElement(import_icons.LeftOutlined, null)
365
+ ),
366
+ /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-inner` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-body` }, canCreate && /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, categories.map((cat) => {
326
367
  const kinds = kindsByCategory.get(cat.id) ?? [];
327
368
  if (!kinds.length) return null;
328
- return /* @__PURE__ */ import_react.default.createElement("section", { key: cat.id, className: `${PREFIX}-toolbar-section` }, /* @__PURE__ */ import_react.default.createElement("h3", { className: `${PREFIX}-toolbar-section-title` }, cat.label), /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-preview-list` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-preview-group` }, kinds.map((k) => renderKindCard(k)))));
329
- }))),
330
- onSave && config.canvasUi.canEdit && /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-footer` }, layoutDirty ? /* @__PURE__ */ import_react.default.createElement("span", { className: `${PREFIX}-toolbar-dirty-hint`, role: "status" }, import_utils.locales.getText(`${I18N_TB}.layout-dirty-hint`)) : null, saveError && /* @__PURE__ */ import_react.default.createElement("span", { className: `${PREFIX}-toolbar-error` }, typeof saveError === "string" ? saveError : saveError == null ? void 0 : saveError.message), /* @__PURE__ */ import_react.default.createElement(
369
+ return /* @__PURE__ */ import_react.default.createElement(
370
+ "section",
371
+ {
372
+ key: cat.id,
373
+ className: `${PREFIX}-toolbar-section`
374
+ },
375
+ /* @__PURE__ */ import_react.default.createElement("h3", { className: `${PREFIX}-toolbar-section-title` }, cat.label),
376
+ /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-preview-list` }, /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-preview-group` }, kinds.map((k) => renderKindCard(k))))
377
+ );
378
+ }))), onSave && config.canvasUi.canEdit && /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-toolbar-footer` }, layoutDirty ? /* @__PURE__ */ import_react.default.createElement("span", { className: `${PREFIX}-toolbar-dirty-hint`, role: "status" }, import_utils.locales.getText(`${I18N_TB}.layout-dirty-hint`)) : null, saveError && /* @__PURE__ */ import_react.default.createElement("span", { className: `${PREFIX}-toolbar-error` }, typeof saveError === "string" ? saveError : saveError == null ? void 0 : saveError.message), /* @__PURE__ */ import_react.default.createElement(
331
379
  "button",
332
380
  {
333
381
  type: "button",
@@ -338,7 +386,7 @@ function FloorMapToolbar(props) {
338
386
  onClick: onSave
339
387
  },
340
388
  saving ? import_utils.locales.getText(`${I18N_TB}.saving`) : import_utils.locales.getText(`${I18N_TB}.save`)
341
- ))
389
+ )))
342
390
  );
343
391
  }
344
392
  var FloorMapToolbar_default = FloorMapToolbar;
@@ -2,20 +2,108 @@
2
2
  .pisell-floor-map-layout-toolbar {
3
3
  &.pisell-floor-map-layout-toolbar-sidebar {
4
4
  position: relative;
5
- width: 248px;
5
+ /**
6
+ * 中等宽度抽屉:248px → 124px。
7
+ * 配合 cellW/cellH(见 FloorMapToolbar.tsx)按 0.5 倍渲染,preview-cell(最大 92px)
8
+ * + 标准 padding(12 8)正好落在 124px 内,兼顾画布展示空间与图元预览可视性。
9
+ */
10
+ width: 124px;
6
11
  flex-shrink: 0;
7
12
  display: flex;
8
13
  flex-direction: column;
9
14
  background: #fff;
10
15
  border-right: 1px solid #e8e8e8;
11
16
  z-index: 10;
17
+ /** 收起态:只保留一条边和外突的切换按钮 */
18
+ transition: width 0.2s ease;
19
+ /**
20
+ * 注意:根元素必须保持 overflow: visible —— 否则下方 collapse-handle
21
+ * 用 right: -22px 外突的按钮会被裁掉。横向裁剪转移到 &-inner 内层做。
22
+ */
23
+
24
+ &.pisell-floor-map-layout-toolbar-sidebar--collapsed {
25
+ width: 0;
26
+ border-right: none;
27
+ /**
28
+ * 不再给 body/footer 设 display: none —— 让它们维持固定宽度参与动画的横向裁剪,
29
+ * 否则收起态切换会先 hide 后再瞬间 show,反而更容易暴露挤压的瞬间。
30
+ */
31
+ }
32
+ }
33
+
34
+ /**
35
+ * 内层容器:宽度跟随 sidebar 100% 伸缩,但用 overflow: hidden + 子元素固定宽度
36
+ * 把中间帧的水平挤压裁掉。这样 0→124px 展开过程中,body/footer 始终按 124px
37
+ * 排版,只是从右侧逐步揭开,避免文案被压成竖排。
38
+ */
39
+ &-inner {
40
+ flex: 1;
41
+ min-height: 0;
42
+ width: 100%;
43
+ display: flex;
44
+ flex-direction: column;
45
+ overflow: hidden;
46
+ }
47
+
48
+ /**
49
+ * 收起 / 展开按钮:固定挂在容器右边垂直居中,外突大半个按钮宽度。
50
+ * 124px 抽屉下整体视觉更宽松,handle 用 28×72 配合放大的箭头,
51
+ * 在窄边栏旁仍然显眼、易点(之前 16×48 几乎看不见,参考用户截图)。
52
+ * 收起态下容器宽度为 0,按钮仍能完整露出(z-index 高于地图区遮罩)。
53
+ */
54
+ &-collapse-handle {
55
+ position: absolute;
56
+ top: 50%;
57
+ right: -22px;
58
+ transform: translateY(-50%);
59
+ width: 28px;
60
+ height: 72px;
61
+ padding: 0;
62
+ display: inline-flex;
63
+ align-items: center;
64
+ justify-content: center;
65
+ background: #fff;
66
+ color: #595959;
67
+ border: 1px solid #e8e8e8;
68
+ border-left: none;
69
+ border-radius: 0 12px 12px 0;
70
+ box-shadow: 2px 0 8px rgba(0, 0, 0, 0.08);
71
+ cursor: pointer;
72
+ z-index: 11;
73
+ transition: color 0.15s, background 0.15s, border-color 0.15s,
74
+ box-shadow 0.15s;
75
+
76
+ &:hover {
77
+ color: var(--fmap-primary, #1677ff);
78
+ background: color-mix(in srgb, var(--fmap-primary, #1677ff) 8%, #fff);
79
+ border-color: var(--fmap-primary, #1677ff);
80
+ box-shadow: 2px 0 12px rgba(22, 119, 255, 0.16);
81
+ }
82
+
83
+ &:focus-visible {
84
+ outline: 2px solid var(--fmap-primary, #1677ff);
85
+ outline-offset: 2px;
86
+ }
87
+
88
+ .anticon {
89
+ font-size: 16px;
90
+ line-height: 1;
91
+ }
12
92
  }
13
93
 
14
94
  &-body {
15
95
  flex: 1;
16
96
  min-height: 0;
17
97
  overflow-y: auto;
18
- padding: 12px 10px;
98
+ /** 124px 抽屉下,左右各留 8px 给 preview-card 的标准 padding 兜住 92px cell */
99
+ padding: 12px 8px;
100
+ /**
101
+ * 写死 124px 防止展开动画过程中跟随父容器 0→124px 同步缩放,避免文案被挤成竖排。
102
+ * 父容器 overflow: hidden 会裁掉超出的部分,视觉上就是抽屉从右侧划出。
103
+ */
104
+ width: 124px;
105
+ box-sizing: border-box;
106
+ flex-shrink: 0;
19
107
  }
20
108
 
21
109
  &-section {
@@ -64,7 +152,8 @@
64
152
  &-preview-card {
65
153
  display: block;
66
154
  width: 100%;
67
- padding: 6px;
155
+ /** 标准 padding 适配 124px 抽屉 + 92px cell 的尺寸预算 */
156
+ padding: 8px;
68
157
  text-align: center;
69
158
  background: #fafafa;
70
159
  border: 1px solid #e8e8e8;
@@ -186,11 +275,15 @@
186
275
 
187
276
  &-footer {
188
277
  flex-shrink: 0;
189
- padding: 12px 10px;
278
+ /** 与 body 同步水平 padding,124px 抽屉下按钮宽度足够呈现 */
279
+ padding: 12px 8px;
190
280
  border-top: 1px solid #f0f0f0;
191
281
  display: flex;
192
282
  flex-direction: column;
193
283
  gap: 8px;
284
+ /** 同 body:固定 124px 防止展开动画期间被父容器宽度挤压换行 */
285
+ width: 124px;
286
+ box-sizing: border-box;
194
287
  }
195
288
 
196
289
  &-dirty-hint {
@@ -0,0 +1,39 @@
1
+ /**
2
+ * 编辑顶栏 Undo / Redo 自定义 SVG icon。
3
+ *
4
+ * 设计来源:业务方提供的「圆勾箭头」风格 —— 整圈 ~270° 回环 + 末端三角箭头。
5
+ * 替换 antd 的 `UndoOutlined` / `RedoOutlined`:原版箭头偏方、回勾过短,
6
+ * 在 24/16px 的小尺寸下与界面其它细线 icon 不齐,且 Undo/Redo 镜像不够直观。
7
+ *
8
+ * 实现要点:
9
+ * - `stroke="currentColor"`、无填充:颜色完全跟随父级 `color`,与 Ant Button text 模式一致;
10
+ * - viewBox 14×14,配合 `font-size: 14px` 自动得到 14px icon;调用方可通过 fontSize/CSS 调整;
11
+ * - `stroke-linecap=round` + `stroke-linejoin=round`:在 1.5px 细线下保持圆润、抗锯齿友好;
12
+ * - 箭头用同色 `path` 三角,避免 marker-end 在不同浏览器下的尺寸漂移;
13
+ * - 接受 `className` / `style` / 其它 SVG 属性透传(与 antd icon 体感一致)。
14
+ */
15
+ import React from 'react';
16
+ declare type HistoryIconProps = React.SVGProps<SVGSVGElement> & {
17
+ /** 与 antd icon 类似:用于覆盖默认 1em 尺寸 */
18
+ size?: number | string;
19
+ };
20
+ /**
21
+ * Undo 图标:「↰」L 形带小圆角 —— 箭头在左侧水平指向左,主干由箭头水平向右、
22
+ * 经一个 1.5 半径的圆角折下、再竖直向下。
23
+ *
24
+ * 关于"看起来偏上":antd `.anticon { vertical-align: -0.125em }` 已经把整个 svg
25
+ * 相对文字基线下移 ~0.125em,但我们的形状在 viewBox 内是几何居中的(y ∈ [3,11]),
26
+ * 与 antd 自家 outline icon(路径几乎铺满 viewBox)在视觉密度上不同 ——
27
+ * 留白对称会让人眼判断"图形在 viewBox 上半"。
28
+ *
29
+ * 解决:把形状整体下移 1 单位到 y ∈ [4, 12],上侧留 4 / 下侧留 2,
30
+ * 让 icon 视觉中心匹配文字 x-height 中心,与 "Undo" 文本视觉齐平。
31
+ * x 仍保持 [3, 11] 居中。
32
+ */
33
+ export declare function UndoHistoryIcon(props: HistoryIconProps): JSX.Element;
34
+ /**
35
+ * Redo 图标:与 Undo 水平镜像,箭头在右侧指向右,干线右→左→下。
36
+ * 几何范围与 Undo 完全对称:x ∈ [3, 11]、y ∈ [4, 12]。
37
+ */
38
+ export declare function RedoHistoryIcon(props: HistoryIconProps): JSX.Element;
39
+ export {};
@@ -0,0 +1,71 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
+ }
17
+ return to;
18
+ };
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+
29
+ // src/components/pisellFloorMapLayout/components/HistoryIcons.tsx
30
+ var HistoryIcons_exports = {};
31
+ __export(HistoryIcons_exports, {
32
+ RedoHistoryIcon: () => RedoHistoryIcon,
33
+ UndoHistoryIcon: () => UndoHistoryIcon
34
+ });
35
+ module.exports = __toCommonJS(HistoryIcons_exports);
36
+ var import_react = __toESM(require("react"));
37
+ function HistoryIconShell({
38
+ size = "1em",
39
+ children,
40
+ ...rest
41
+ }) {
42
+ return /* @__PURE__ */ import_react.default.createElement(
43
+ "svg",
44
+ {
45
+ role: "img",
46
+ "aria-hidden": "true",
47
+ focusable: "false",
48
+ width: size,
49
+ height: size,
50
+ viewBox: "0 0 14 14",
51
+ fill: "none",
52
+ stroke: "currentColor",
53
+ strokeWidth: 1.5,
54
+ strokeLinecap: "round",
55
+ strokeLinejoin: "round",
56
+ ...rest
57
+ },
58
+ children
59
+ );
60
+ }
61
+ function UndoHistoryIcon(props) {
62
+ return /* @__PURE__ */ import_react.default.createElement(HistoryIconShell, { ...props }, /* @__PURE__ */ import_react.default.createElement("path", { d: "M3 6h6.5a1.5 1.5 0 0 1 1.5 1.5V12" }), /* @__PURE__ */ import_react.default.createElement("path", { d: "M5 4 3 6l2 2" }));
63
+ }
64
+ function RedoHistoryIcon(props) {
65
+ return /* @__PURE__ */ import_react.default.createElement(HistoryIconShell, { ...props }, /* @__PURE__ */ import_react.default.createElement("path", { d: "M11 6H4.5A1.5 1.5 0 0 0 3 7.5V12" }), /* @__PURE__ */ import_react.default.createElement("path", { d: "M9 4l2 2-2 2" }));
66
+ }
67
+ // Annotate the CommonJS export names for ESM import in node:
68
+ 0 && (module.exports = {
69
+ RedoHistoryIcon,
70
+ UndoHistoryIcon
71
+ });
@@ -95,7 +95,8 @@ function ItemLayer(props) {
95
95
  const handleItemPointerDownCapture = (0, import_react.useCallback)(
96
96
  (e) => {
97
97
  var _a;
98
- if (!onInteractionChange || e.button !== 0) return;
98
+ if (!onInteractionChange) return;
99
+ if (e.pointerType !== "touch") return;
99
100
  const el = e.target;
100
101
  if (!((_a = el == null ? void 0 : el.closest) == null ? void 0 : _a.call(el, ROOM_SCROLL_SURFACE_SELECTOR))) return;
101
102
  notifyRoomScrollSurfaceActive();
@@ -25,11 +25,20 @@ export interface ViewControlsProps {
25
25
  scale?: number;
26
26
  /** 当前是否处于全屏 */
27
27
  isFullscreen?: boolean;
28
+ /** 当前 transform 是否处于「适配视口」结果(用于按钮激活态) */
29
+ fitBoundsActive?: boolean;
28
30
  className?: string;
29
31
  /** 与 config.showGridToggle 联用:当前画布是否显示网格 */
30
32
  mapGridVisible?: boolean;
31
33
  /** 切换当前画布 draft 的 mapLayer.showGrid */
32
34
  onToggleMapGrid?: () => void;
35
+ /**
36
+ * 视口锁定态:true 时显示「已锁定」图标,并禁用所有改变视角的按钮
37
+ * (zoom +/- / reset / fitBounds)。pan / wheel / pinch 由调用方在 TransformWrapper 上同步关闭。
38
+ */
39
+ viewportLocked?: boolean;
40
+ /** 切换视口锁定;未传时不展示锁定按钮 */
41
+ onToggleViewportLock?: () => void;
33
42
  /**
34
43
  * 平面图 Dock:圆角浅底样式,默认折叠为单入口;展开后含缩放、工具、全屏与 dockExpandedTrailing
35
44
  */