@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
@@ -0,0 +1,25 @@
1
+ /**
2
+ * 平面图视口缓存:localStorage 读写、锁定态;供 useFloorMapTransformMetrics 使用。
3
+ */
4
+ /** 平面图包围盒单侧默认外扩(像素);过大会导致首屏大量空白 */
5
+ export declare const DEFAULT_BOUNDING_PADDING = 56;
6
+ /** 视口内与首屏对齐时,图元束左上与容器边缘的留白 */
7
+ export declare const VIEWPORT_TOP_LEFT_MARGIN = 16;
8
+ /** 平面图视口(缩放 + 平移)持久化到 localStorage 的 key 前缀 */
9
+ export declare const VIEWPORT_STORAGE_PREFIX = "pisell-floor-map-layout.viewport:";
10
+ /** 视口锁定态持久化前缀(与视口位置分开存储) */
11
+ export declare const VIEWPORT_LOCK_STORAGE_PREFIX = "pisell-floor-map-layout.viewport-lock:";
12
+ /** 视口持久化写入节流(避免拖动 / 缩放过程中高频写 localStorage) */
13
+ export declare const VIEWPORT_PERSIST_DEBOUNCE_MS = 300;
14
+ /** 判定当前 transform 是否处于「适配视口」结果时的容差 */
15
+ export declare const FIT_BOUNDS_MATCH_POS_EPSILON = 0.5;
16
+ export declare const FIT_BOUNDS_MATCH_SCALE_EPSILON = 0.005;
17
+ export interface ViewportSnapshot {
18
+ x: number;
19
+ y: number;
20
+ scale: number;
21
+ }
22
+ export declare function readPersistedViewport(key: string): ViewportSnapshot | null;
23
+ export declare function writePersistedViewport(key: string, snapshot: ViewportSnapshot): void;
24
+ export declare function readPersistedViewportLock(key: string): boolean;
25
+ export declare function writePersistedViewportLock(key: string, locked: boolean): void;
@@ -0,0 +1,98 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/components/pisellFloorMapLayout/hooks/floorMapViewportPersistence.ts
20
+ var floorMapViewportPersistence_exports = {};
21
+ __export(floorMapViewportPersistence_exports, {
22
+ DEFAULT_BOUNDING_PADDING: () => DEFAULT_BOUNDING_PADDING,
23
+ FIT_BOUNDS_MATCH_POS_EPSILON: () => FIT_BOUNDS_MATCH_POS_EPSILON,
24
+ FIT_BOUNDS_MATCH_SCALE_EPSILON: () => FIT_BOUNDS_MATCH_SCALE_EPSILON,
25
+ VIEWPORT_LOCK_STORAGE_PREFIX: () => VIEWPORT_LOCK_STORAGE_PREFIX,
26
+ VIEWPORT_PERSIST_DEBOUNCE_MS: () => VIEWPORT_PERSIST_DEBOUNCE_MS,
27
+ VIEWPORT_STORAGE_PREFIX: () => VIEWPORT_STORAGE_PREFIX,
28
+ VIEWPORT_TOP_LEFT_MARGIN: () => VIEWPORT_TOP_LEFT_MARGIN,
29
+ readPersistedViewport: () => readPersistedViewport,
30
+ readPersistedViewportLock: () => readPersistedViewportLock,
31
+ writePersistedViewport: () => writePersistedViewport,
32
+ writePersistedViewportLock: () => writePersistedViewportLock
33
+ });
34
+ module.exports = __toCommonJS(floorMapViewportPersistence_exports);
35
+ var DEFAULT_BOUNDING_PADDING = 56;
36
+ var VIEWPORT_TOP_LEFT_MARGIN = 16;
37
+ var VIEWPORT_STORAGE_PREFIX = "pisell-floor-map-layout.viewport:";
38
+ var VIEWPORT_LOCK_STORAGE_PREFIX = "pisell-floor-map-layout.viewport-lock:";
39
+ var VIEWPORT_PERSIST_DEBOUNCE_MS = 300;
40
+ var FIT_BOUNDS_MATCH_POS_EPSILON = 0.5;
41
+ var FIT_BOUNDS_MATCH_SCALE_EPSILON = 5e-3;
42
+ function readPersistedViewport(key) {
43
+ if (typeof window === "undefined") return null;
44
+ try {
45
+ const raw = window.localStorage.getItem(VIEWPORT_STORAGE_PREFIX + key);
46
+ if (!raw) return null;
47
+ const parsed = JSON.parse(raw);
48
+ if (!parsed || typeof parsed.x !== "number" || typeof parsed.y !== "number" || typeof parsed.scale !== "number" || !Number.isFinite(parsed.x) || !Number.isFinite(parsed.y) || !Number.isFinite(parsed.scale) || parsed.scale <= 0) {
49
+ return null;
50
+ }
51
+ return { x: parsed.x, y: parsed.y, scale: parsed.scale };
52
+ } catch {
53
+ return null;
54
+ }
55
+ }
56
+ function writePersistedViewport(key, snapshot) {
57
+ if (typeof window === "undefined") return;
58
+ try {
59
+ window.localStorage.setItem(
60
+ VIEWPORT_STORAGE_PREFIX + key,
61
+ JSON.stringify(snapshot)
62
+ );
63
+ } catch {
64
+ }
65
+ }
66
+ function readPersistedViewportLock(key) {
67
+ if (typeof window === "undefined") return false;
68
+ try {
69
+ return window.localStorage.getItem(VIEWPORT_LOCK_STORAGE_PREFIX + key) === "1";
70
+ } catch {
71
+ return false;
72
+ }
73
+ }
74
+ function writePersistedViewportLock(key, locked) {
75
+ if (typeof window === "undefined") return;
76
+ try {
77
+ if (locked) {
78
+ window.localStorage.setItem(VIEWPORT_LOCK_STORAGE_PREFIX + key, "1");
79
+ } else {
80
+ window.localStorage.removeItem(VIEWPORT_LOCK_STORAGE_PREFIX + key);
81
+ }
82
+ } catch {
83
+ }
84
+ }
85
+ // Annotate the CommonJS export names for ESM import in node:
86
+ 0 && (module.exports = {
87
+ DEFAULT_BOUNDING_PADDING,
88
+ FIT_BOUNDS_MATCH_POS_EPSILON,
89
+ FIT_BOUNDS_MATCH_SCALE_EPSILON,
90
+ VIEWPORT_LOCK_STORAGE_PREFIX,
91
+ VIEWPORT_PERSIST_DEBOUNCE_MS,
92
+ VIEWPORT_STORAGE_PREFIX,
93
+ VIEWPORT_TOP_LEFT_MARGIN,
94
+ readPersistedViewport,
95
+ readPersistedViewportLock,
96
+ writePersistedViewport,
97
+ writePersistedViewportLock
98
+ });
@@ -0,0 +1,18 @@
1
+ export interface DraftHistoryCommitOptions {
2
+ /** 同一 groupId 在合并窗口内连续提交将合并为一条历史 */
3
+ groupId?: string;
4
+ /** 合并窗口(毫秒),默认 600 */
5
+ mergeWindowMs?: number;
6
+ }
7
+ export interface DraftHistory<T> {
8
+ present: T | null;
9
+ /** 写入并入栈(按 group/time 自动合并) */
10
+ commit: (next: T | null | ((prev: T | null) => T | null), options?: DraftHistoryCommitOptions) => void;
11
+ /** 重置(不入栈),清空历史;用于上游 props 同步 */
12
+ replace: (next: T | null) => void;
13
+ undo: () => void;
14
+ redo: () => void;
15
+ canUndo: boolean;
16
+ canRedo: boolean;
17
+ }
18
+ export declare function useDraftConfigHistory<T>(): DraftHistory<T>;
@@ -0,0 +1,95 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name in all)
7
+ __defProp(target, name, { get: all[name], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+
19
+ // src/components/pisellFloorMapLayout/hooks/useDraftConfigHistory.ts
20
+ var useDraftConfigHistory_exports = {};
21
+ __export(useDraftConfigHistory_exports, {
22
+ useDraftConfigHistory: () => useDraftConfigHistory
23
+ });
24
+ module.exports = __toCommonJS(useDraftConfigHistory_exports);
25
+ var import_react = require("react");
26
+ var HISTORY_LIMIT = 100;
27
+ function useDraftConfigHistory() {
28
+ const [state, setState] = (0, import_react.useState)({
29
+ past: [],
30
+ present: null,
31
+ future: []
32
+ });
33
+ const lastGroupRef = (0, import_react.useRef)(null);
34
+ const commit = (0, import_react.useCallback)((next, options) => {
35
+ const now = Date.now();
36
+ const last = lastGroupRef.current;
37
+ const inGroup = !!((options == null ? void 0 : options.groupId) && last && last.id === options.groupId && now - last.at <= (options.mergeWindowMs ?? 600));
38
+ lastGroupRef.current = { id: options == null ? void 0 : options.groupId, at: now };
39
+ setState((cur) => {
40
+ const value = typeof next === "function" ? next(cur.present) : next;
41
+ if (Object.is(value, cur.present)) return cur;
42
+ let nextPast = cur.past;
43
+ if (cur.present != null && !inGroup) {
44
+ nextPast = nextPast.length >= HISTORY_LIMIT ? [...nextPast.slice(1), cur.present] : [...nextPast, cur.present];
45
+ }
46
+ return { past: nextPast, present: value, future: [] };
47
+ });
48
+ }, []);
49
+ const replace = (0, import_react.useCallback)((next) => {
50
+ lastGroupRef.current = null;
51
+ setState({ past: [], present: next, future: [] });
52
+ }, []);
53
+ const undo = (0, import_react.useCallback)(() => {
54
+ lastGroupRef.current = null;
55
+ setState((cur) => {
56
+ if (cur.past.length === 0) return cur;
57
+ const prev = cur.past[cur.past.length - 1];
58
+ const nextFuture = cur.present != null ? [cur.present, ...cur.future] : cur.future;
59
+ return {
60
+ past: cur.past.slice(0, -1),
61
+ present: prev,
62
+ future: nextFuture
63
+ };
64
+ });
65
+ }, []);
66
+ const redo = (0, import_react.useCallback)(() => {
67
+ lastGroupRef.current = null;
68
+ setState((cur) => {
69
+ if (cur.future.length === 0) return cur;
70
+ const next = cur.future[0];
71
+ const nextPast = cur.present != null ? [...cur.past, cur.present] : cur.past;
72
+ return {
73
+ past: nextPast,
74
+ present: next,
75
+ future: cur.future.slice(1)
76
+ };
77
+ });
78
+ }, []);
79
+ return (0, import_react.useMemo)(
80
+ () => ({
81
+ present: state.present,
82
+ commit,
83
+ replace,
84
+ undo,
85
+ redo,
86
+ canUndo: state.past.length > 0,
87
+ canRedo: state.future.length > 0
88
+ }),
89
+ [state, commit, replace, undo, redo]
90
+ );
91
+ }
92
+ // Annotate the CommonJS export names for ESM import in node:
93
+ 0 && (module.exports = {
94
+ useDraftConfigHistory
95
+ });
@@ -41,6 +41,7 @@ export declare function useFloorMapEditState<T extends FloorMapItemBase>(params:
41
41
  }>) => void;
42
42
  handleCanvasPlaceClick: (e: MouseEvent<HTMLDivElement>) => void;
43
43
  handleSave: () => void;
44
+ discardDraft: () => void;
44
45
  placeSceneElementFromPaletteDrop: (contentX: number, contentY: number, scene: Extract<FloorMapPlaceMode, {
45
46
  type: 'scene';
46
47
  }>) => void;
@@ -63,4 +64,8 @@ export declare function useFloorMapEditState<T extends FloorMapItemBase>(params:
63
64
  toggleSelectedLayoutLock: () => void;
64
65
  duplicateSelectedElement: () => void;
65
66
  deleteSelectedElement: () => void;
67
+ undoDraft: () => void;
68
+ redoDraft: () => void;
69
+ canUndo: boolean;
70
+ canRedo: boolean;
66
71
  };
@@ -39,6 +39,7 @@ var import_useEngineContext = __toESM(require("../../../hooks/useEngineContext")
39
39
  var import_utils2 = require("../../translation/utils");
40
40
  var import_floorMapConfigMerge = require("../utils/floorMapConfigMerge");
41
41
  var import_floorMapStageDefaults = require("../utils/floorMapStageDefaults");
42
+ var import_useDraftConfigHistory = require("./useDraftConfigHistory");
42
43
  var import_floorMapViewConfigDiff = require("../utils/floorMapViewConfigDiff");
43
44
  var import_floorMapElementKindUtils = require("../utils/floorMapElementKindUtils");
44
45
  var import_layoutMeasurements = require("../utils/layoutMeasurements");
@@ -98,9 +99,14 @@ function useFloorMapEditState(params) {
98
99
  } = params;
99
100
  const engineCtx = (0, import_useEngineContext.default)();
100
101
  const engineLocale = ((_b = (_a = engineCtx == null ? void 0 : engineCtx.engine) == null ? void 0 : _a.props) == null ? void 0 : _b.locale) || "zh-CN";
101
- const [draftConfig, setDraftConfig] = (0, import_react.useState)(
102
- null
103
- );
102
+ const draftHistory = (0, import_useDraftConfigHistory.useDraftConfigHistory)();
103
+ const draftConfig = draftHistory.present;
104
+ const commitDraft = draftHistory.commit;
105
+ const replaceDraft = draftHistory.replace;
106
+ const undoDraft = draftHistory.undo;
107
+ const redoDraft = draftHistory.redo;
108
+ const canUndo = draftHistory.canUndo;
109
+ const canRedo = draftHistory.canRedo;
104
110
  const [currentCanvasId, setCurrentCanvasId] = (0, import_react.useState)(null);
105
111
  const [selectedId, setSelectedId] = (0, import_react.useState)(null);
106
112
  const [placeMode, setPlaceMode] = (0, import_react.useState)(null);
@@ -124,7 +130,7 @@ function useFloorMapEditState(params) {
124
130
  };
125
131
  })
126
132
  };
127
- setDraftConfig(nextConfig);
133
+ replaceDraft(nextConfig);
128
134
  setSavedBaselineConfig(null);
129
135
  const enabled = nextConfig.canvases.filter((c) => c.enabled).sort((a, b) => a.order - b.order);
130
136
  setCurrentCanvasId(
@@ -139,6 +145,24 @@ function useFloorMapEditState(params) {
139
145
  const baseline = savedBaselineConfig ?? (0, import_floorMapViewConfigDiff.normalizeFloorMapViewConfigFromProp)(floorMapConfigProp);
140
146
  return !(0, import_floorMapViewConfigDiff.floorMapViewConfigsEqual)(draftConfig, baseline);
141
147
  }, [isFloorMapView, draftConfig, floorMapConfigProp, savedBaselineConfig]);
148
+ (0, import_react.useEffect)(() => {
149
+ if (!selectedId || !draftConfig) return;
150
+ const exists = (draftConfig.sceneElements ?? []).some(
151
+ (e) => e.instanceId === selectedId
152
+ );
153
+ if (!exists) setSelectedId(null);
154
+ }, [selectedId, draftConfig]);
155
+ (0, import_react.useEffect)(() => {
156
+ var _a2;
157
+ if (!draftConfig) return;
158
+ if (!currentCanvasId) return;
159
+ const stillUsable = draftConfig.canvases.some(
160
+ (c) => c.id === currentCanvasId && c.enabled
161
+ );
162
+ if (stillUsable) return;
163
+ const enabled = draftConfig.canvases.filter((c) => c.enabled).sort((a, b) => a.order - b.order);
164
+ setCurrentCanvasId(((_a2 = enabled[0]) == null ? void 0 : _a2.id) ?? null);
165
+ }, [currentCanvasId, draftConfig]);
142
166
  const handleAddCanvas = (0, import_react.useCallback)(() => {
143
167
  (0, import_floorMapCanvasDisplay.initFloorMapLayoutLocales)(engineLocale);
144
168
  const label = import_utils.locales.getText(
@@ -155,7 +179,7 @@ function useFloorMapEditState(params) {
155
179
  order: 0,
156
180
  enabled: true
157
181
  };
158
- setDraftConfig((prev) => {
182
+ commitDraft((prev) => {
159
183
  if (!prev) return prev;
160
184
  const list = prev.canvases.filter((c) => c.enabled).sort((a, b) => a.order - b.order);
161
185
  newCanvas.order = list.length > 0 ? Math.max(...list.map((c) => c.order)) + 1 : 0;
@@ -164,7 +188,7 @@ function useFloorMapEditState(params) {
164
188
  setCurrentCanvasId(newId);
165
189
  }, [engineLocale]);
166
190
  const handleRemoveCanvas = (0, import_react.useCallback)((canvasId) => {
167
- setDraftConfig((prev) => {
191
+ commitDraft((prev) => {
168
192
  if (!prev) return prev;
169
193
  const nextCanvases = prev.canvases.filter((c) => c.id !== canvasId);
170
194
  if (nextCanvases.length === 0) return prev;
@@ -190,7 +214,7 @@ function useFloorMapEditState(params) {
190
214
  if (typeof name === "string") {
191
215
  const trimmed = name.trim();
192
216
  if (!trimmed) return;
193
- setDraftConfig((prev) => {
217
+ commitDraft((prev) => {
194
218
  if (!prev) return prev;
195
219
  return {
196
220
  ...prev,
@@ -205,7 +229,7 @@ function useFloorMapEditState(params) {
205
229
  (s) => typeof s === "string" && s.trim()
206
230
  );
207
231
  if (!hasAny) return;
208
- setDraftConfig((prev) => {
232
+ commitDraft((prev) => {
209
233
  if (!prev) return prev;
210
234
  return {
211
235
  ...prev,
@@ -228,7 +252,7 @@ function useFloorMapEditState(params) {
228
252
  const items = isFloorMapView ? mergedItems : itemsProp;
229
253
  const updateDraftSceneElement = (0, import_react.useCallback)(
230
254
  (instanceId, patch) => {
231
- setDraftConfig((prev) => {
255
+ commitDraft((prev) => {
232
256
  if (!prev) return prev;
233
257
  const current = (prev.sceneElements ?? []).find(
234
258
  (e) => e.instanceId === instanceId
@@ -371,7 +395,7 @@ function useFloorMapEditState(params) {
371
395
  import_antd.message.warning("没有可落位的记录");
372
396
  return false;
373
397
  }
374
- setDraftConfig(
398
+ commitDraft(
375
399
  (prev) => prev ? {
376
400
  ...prev,
377
401
  sceneElements: [...prev.sceneElements ?? [], ...newEls]
@@ -400,7 +424,7 @@ function useFloorMapEditState(params) {
400
424
  contentY,
401
425
  placementName
402
426
  );
403
- setDraftConfig(
427
+ commitDraft(
404
428
  (prev) => prev ? { ...prev, sceneElements: [...prev.sceneElements ?? [], newEl] } : prev
405
429
  );
406
430
  return true;
@@ -446,8 +470,29 @@ function useFloorMapEditState(params) {
446
470
  setSaving(false);
447
471
  }
448
472
  }, [draftConfig, onSave]);
473
+ const discardDraft = (0, import_react.useCallback)(() => {
474
+ if (!floorMapConfigProp) {
475
+ replaceDraft(null);
476
+ setSavedBaselineConfig(null);
477
+ return;
478
+ }
479
+ const baseConfig = (0, import_floorMapViewConfigDiff.normalizeFloorMapViewConfigFromProp)(floorMapConfigProp);
480
+ const nextConfig = {
481
+ ...baseConfig,
482
+ canvases: baseConfig.canvases.map((canvas) => {
483
+ const stored = readStoredGridVisible(canvas.id);
484
+ if (stored == null) return canvas;
485
+ return {
486
+ ...canvas,
487
+ mapLayer: { ...canvas.mapLayer ?? {}, showGrid: stored }
488
+ };
489
+ })
490
+ };
491
+ replaceDraft(nextConfig);
492
+ setSavedBaselineConfig(null);
493
+ }, [floorMapConfigProp, replaceDraft]);
449
494
  const toggleDraftCanvasShowGrid = (0, import_react.useCallback)(() => {
450
- setDraftConfig((prev) => {
495
+ commitDraft((prev) => {
451
496
  if (!prev || !currentCanvasId) return prev;
452
497
  return {
453
498
  ...prev,
@@ -490,7 +535,7 @@ function useFloorMapEditState(params) {
490
535
  );
491
536
  const handleEditPanelDelete = (0, import_react.useCallback)(() => {
492
537
  if (!selectedId) return;
493
- setDraftConfig((prev) => {
538
+ commitDraft((prev) => {
494
539
  if (!prev) return prev;
495
540
  return {
496
541
  ...prev,
@@ -528,7 +573,7 @@ function useFloorMapEditState(params) {
528
573
  dataBinding: void 0,
529
574
  layoutTransformLocked: false
530
575
  };
531
- setDraftConfig({
576
+ commitDraft({
532
577
  ...prev,
533
578
  sceneElements: [...prev.sceneElements ?? [], copy]
534
579
  });
@@ -566,6 +611,7 @@ function useFloorMapEditState(params) {
566
611
  handleUpdateItem,
567
612
  handleCanvasPlaceClick,
568
613
  handleSave,
614
+ discardDraft,
569
615
  placeSceneElementFromPaletteDrop,
570
616
  editPanelParams,
571
617
  placeOverlayClass,
@@ -573,7 +619,11 @@ function useFloorMapEditState(params) {
573
619
  toggleDraftCanvasShowGrid,
574
620
  toggleSelectedLayoutLock,
575
621
  duplicateSelectedElement,
576
- deleteSelectedElement: handleEditPanelDelete
622
+ deleteSelectedElement: handleEditPanelDelete,
623
+ undoDraft,
624
+ redoDraft,
625
+ canUndo,
626
+ canRedo
577
627
  };
578
628
  }
579
629
  // Annotate the CommonJS export names for ESM import in node:
@@ -5,7 +5,14 @@ export declare type FloorMapTransformContext = {
5
5
  zoomIn: () => void;
6
6
  zoomOut: () => void;
7
7
  resetTransform: () => void;
8
- setTransform: (x: number, y: number, scale: number) => void;
8
+ /**
9
+ * react-zoom-pan-pinch v3 实际签名:(x, y, scale, animationTime?, animationType?)
10
+ * 默认 animationTime≈200ms;传 0 立即落点,避免被前一次动画吃掉或与之冲突
11
+ * (restore / 缓存恢复路径应使用 0 立即覆盖已在缓动中的 fit 动画)。
12
+ * 这里只暴露我们用到的前 4 参;库 animationType 是 `keyof typeof animations` 联合,
13
+ * 暴露过来反而限制传入对象的兼容性,我们也确实不传它。
14
+ */
15
+ setTransform: (x: number, y: number, scale: number, animationTime?: number) => void;
9
16
  } | null;
10
17
  export interface UseFloorMapTransformMetricsParams<T extends FloorMapItemBase> {
11
18
  items: T[];
@@ -28,6 +35,14 @@ export interface UseFloorMapTransformMetricsParams<T extends FloorMapItemBase> {
28
35
  * 不传则不跑「异步加载图元后的首次左上对齐」逻辑。
29
36
  */
30
37
  frameResetKey?: string;
38
+ /**
39
+ * 视口持久化标识(通常拼自 canvasId)。传入后:
40
+ * - 切换 / 挂载时若 localStorage 中有缓存,自动恢复 transform 并跳过本帧 autoFit;
41
+ * - 用户拖动 / 缩放时(节流 300ms)写回缓存;
42
+ * - 主动 fitBounds / 进入伪全屏后由 fitBounds 触发的写入也会同步保存。
43
+ * 不传则完全不读不写 localStorage。
44
+ */
45
+ viewportPersistKey?: string;
31
46
  }
32
47
  export declare function useFloorMapTransformMetrics<T extends FloorMapItemBase>(params: UseFloorMapTransformMetricsParams<T>): {
33
48
  containerRef: import("react").RefObject<HTMLDivElement>;
@@ -57,6 +72,10 @@ export declare function useFloorMapTransformMetrics<T extends FloorMapItemBase>(
57
72
  isFullscreen: boolean;
58
73
  toggleFullscreen: () => void;
59
74
  fitBounds: () => boolean;
75
+ isAtFitBounds: boolean;
76
+ notifyTransformed: (x: number, y: number, nextScale: number) => void;
77
+ persistCurrentViewport: () => void;
78
+ attachTransformContext: (ctx: NonNullable<FloorMapTransformContext>) => void;
60
79
  lastTransformRef: MutableRefObject<{
61
80
  x: number;
62
81
  y: number;
@@ -64,4 +83,7 @@ export declare function useFloorMapTransformMetrics<T extends FloorMapItemBase>(
64
83
  }>;
65
84
  isInteractingWithElement: boolean;
66
85
  setIsInteractingWithElement: import("react").Dispatch<import("react").SetStateAction<boolean>>;
86
+ viewportLocked: boolean;
87
+ setViewportLocked: (next: boolean) => void;
88
+ toggleViewportLocked: () => void;
67
89
  };