@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
@@ -15,7 +15,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
15
15
  */
16
16
  import React, { useState, useRef, useEffect, useCallback } from 'react';
17
17
  import classNames from 'classnames';
18
- import { MinusOutlined, PlusOutlined, FullscreenOutlined, FullscreenExitOutlined, BorderInnerOutlined, LeftOutlined, RightOutlined, ReloadOutlined, ExpandOutlined } from '@ant-design/icons';
18
+ import { MinusOutlined, PlusOutlined, FullscreenOutlined, FullscreenExitOutlined, BorderInnerOutlined, LeftOutlined, RightOutlined, ReloadOutlined, ExpandOutlined, LockOutlined, UnlockOutlined } from '@ant-design/icons';
19
19
  import { locales } from '@pisell/utils';
20
20
  import "./ViewControls.less";
21
21
  var PREFIX = 'pisell-floor-map-layout';
@@ -32,10 +32,15 @@ export function ViewControls(props) {
32
32
  scale = _props$scale === void 0 ? 1 : _props$scale,
33
33
  _props$isFullscreen = props.isFullscreen,
34
34
  isFullscreen = _props$isFullscreen === void 0 ? false : _props$isFullscreen,
35
+ _props$fitBoundsActiv = props.fitBoundsActive,
36
+ fitBoundsActive = _props$fitBoundsActiv === void 0 ? false : _props$fitBoundsActiv,
35
37
  className = props.className,
36
38
  _props$mapGridVisible = props.mapGridVisible,
37
39
  mapGridVisible = _props$mapGridVisible === void 0 ? false : _props$mapGridVisible,
38
40
  onToggleMapGrid = props.onToggleMapGrid,
41
+ _props$viewportLocked = props.viewportLocked,
42
+ viewportLocked = _props$viewportLocked === void 0 ? false : _props$viewportLocked,
43
+ onToggleViewportLock = props.onToggleViewportLock,
39
44
  _props$dockChrome = props.dockChrome,
40
45
  dockChrome = _props$dockChrome === void 0 ? false : _props$dockChrome,
41
46
  dockExpandedTrailing = props.dockExpandedTrailing,
@@ -46,11 +51,12 @@ export function ViewControls(props) {
46
51
  var showFitBounds = config.showFitBounds === true;
47
52
  var showFullscreen = config.showFullscreen === true;
48
53
  var showGridToggle = config.showGridToggle === true && typeof onToggleMapGrid === 'function';
54
+ var showViewportLock = config.showViewportLock === true && typeof onToggleViewportLock === 'function';
49
55
  var horizontalAlign = (_config$horizontalAli = config.horizontalAlign) !== null && _config$horizontalAli !== void 0 ? _config$horizontalAli : 'start';
50
56
  /** 右下 Dock:`row-reverse` 后入口在屏缘右侧,箭头与左下镜像(展开朝内左、收起朝外右) */
51
57
  var isDockAlignEnd = horizontalAlign === 'end';
52
58
  var scalePercent = Math.round(scale * 100);
53
- var showTools = showReset || showFitBounds || showFullscreen || showGridToggle;
59
+ var showTools = showReset || showFitBounds || showFullscreen || showGridToggle || showViewportLock;
54
60
  var hasTrailingSlot = dockExpandedTrailing != null && dockExpandedTrailing !== false;
55
61
  var dockHasExpandable = dockChrome && (showTools || hasTrailingSlot);
56
62
  var showBar = showZoom || showTools || dockChrome && hasTrailingSlot;
@@ -119,20 +125,32 @@ export function ViewControls(props) {
119
125
  scheduleDockCollapse();
120
126
  }
121
127
  }, [dockExpanded, autoCollapseDockMs, scheduleDockCollapse]);
122
- var renderToolButtons = function renderToolButtons() {
128
+
129
+ /**
130
+ * 右下 Dock(align-end)收起态已在 `dock-collapsed-extras` 暴露锁 / 全览,
131
+ * 展开后 extras 仍贴边可见,展开条内不再重复渲染这两项。
132
+ */
133
+ var renderToolButtons = function renderToolButtons(opts) {
134
+ var omitLock = (opts === null || opts === void 0 ? void 0 : opts.omitViewportLock) === true;
135
+ var omitFit = (opts === null || opts === void 0 ? void 0 : opts.omitFitBounds) === true;
123
136
  return /*#__PURE__*/React.createElement(React.Fragment, null, showReset ? /*#__PURE__*/React.createElement("button", {
124
137
  type: "button",
125
138
  className: "".concat(PREFIX, "-view-controls-tool-btn"),
126
139
  onClick: function onClick() {
127
140
  return api.resetTransform();
128
141
  },
142
+ disabled: viewportLocked,
143
+ "aria-disabled": viewportLocked,
129
144
  "aria-label": locales.getText("".concat(I18N_VC, ".reset-aria"))
130
- }, /*#__PURE__*/React.createElement(ReloadOutlined, null)) : null, showFitBounds && api.fitBounds ? /*#__PURE__*/React.createElement("button", {
145
+ }, /*#__PURE__*/React.createElement(ReloadOutlined, null)) : null, showFitBounds && api.fitBounds && !omitFit ? /*#__PURE__*/React.createElement("button", {
131
146
  type: "button",
132
- className: "".concat(PREFIX, "-view-controls-tool-btn"),
147
+ className: classNames("".concat(PREFIX, "-view-controls-tool-btn"), _defineProperty({}, "".concat(PREFIX, "-view-controls-tool-btn--active"), fitBoundsActive && !viewportLocked)),
133
148
  onClick: function onClick() {
134
149
  return api.fitBounds();
135
150
  },
151
+ disabled: viewportLocked,
152
+ "aria-disabled": viewportLocked,
153
+ "aria-pressed": fitBoundsActive,
136
154
  "aria-label": locales.getText("".concat(I18N_VC, ".fit-bounds-aria"))
137
155
  }, /*#__PURE__*/React.createElement(ExpandOutlined, null)) : null, showGridToggle ? /*#__PURE__*/React.createElement("button", {
138
156
  type: "button",
@@ -142,15 +160,28 @@ export function ViewControls(props) {
142
160
  },
143
161
  "aria-pressed": mapGridVisible,
144
162
  "aria-label": locales.getText(mapGridVisible ? "".concat(I18N_VC, ".grid-hide-aria") : "".concat(I18N_VC, ".grid-show-aria"))
145
- }, /*#__PURE__*/React.createElement(BorderInnerOutlined, null)) : null, showFullscreen && api.toggleFullscreen ? /*#__PURE__*/React.createElement("button", {
163
+ }, /*#__PURE__*/React.createElement(BorderInnerOutlined, null)) : null, showViewportLock && !omitLock ? /*#__PURE__*/React.createElement("button", {
146
164
  type: "button",
147
- className: "".concat(PREFIX, "-view-controls-tool-btn"),
165
+ className: classNames("".concat(PREFIX, "-view-controls-tool-btn"), _defineProperty({}, "".concat(PREFIX, "-view-controls-tool-btn--active"), viewportLocked)),
166
+ onClick: function onClick() {
167
+ return onToggleViewportLock();
168
+ },
169
+ "aria-pressed": viewportLocked,
170
+ "aria-label": locales.getText(viewportLocked ? "".concat(I18N_VC, ".viewport-unlock-aria") : "".concat(I18N_VC, ".viewport-lock-aria")),
171
+ title: locales.getText(viewportLocked ? "".concat(I18N_VC, ".viewport-unlock-aria") : "".concat(I18N_VC, ".viewport-lock-aria"))
172
+ }, viewportLocked ? /*#__PURE__*/React.createElement(LockOutlined, null) : /*#__PURE__*/React.createElement(UnlockOutlined, null)) : null, showFullscreen && api.toggleFullscreen ? /*#__PURE__*/React.createElement("button", {
173
+ type: "button",
174
+ className: classNames("".concat(PREFIX, "-view-controls-tool-btn"), _defineProperty({}, "".concat(PREFIX, "-view-controls-tool-btn--active"), isFullscreen)),
148
175
  onClick: function onClick() {
149
176
  return api.toggleFullscreen();
150
177
  },
178
+ "aria-pressed": isFullscreen,
151
179
  "aria-label": locales.getText(isFullscreen ? "".concat(I18N_VC, ".fullscreen-exit-aria") : "".concat(I18N_VC, ".fullscreen-aria"))
152
180
  }, isFullscreen ? /*#__PURE__*/React.createElement(FullscreenExitOutlined, null) : /*#__PURE__*/React.createElement(FullscreenOutlined, null)) : null);
153
181
  };
182
+
183
+ /** Dock 展开条内是否还有「工具区」按钮(排除已在收起条 mirror 的锁 / 全览) */
184
+ var dockExpandedBarHasToolButtons = showReset || showFitBounds && Boolean(api.fitBounds) && !isDockAlignEnd || showGridToggle || showViewportLock && !isDockAlignEnd || showFullscreen && Boolean(api.toggleFullscreen);
154
185
  var renderDockExpandableBarContents = function renderDockExpandableBarContents() {
155
186
  return /*#__PURE__*/React.createElement(React.Fragment, null, showZoom ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("button", {
156
187
  type: "button",
@@ -158,6 +189,8 @@ export function ViewControls(props) {
158
189
  onClick: function onClick() {
159
190
  return api.zoomOut();
160
191
  },
192
+ disabled: viewportLocked,
193
+ "aria-disabled": viewportLocked,
161
194
  "aria-label": locales.getText("".concat(I18N_VC, ".zoom-out-aria"))
162
195
  }, /*#__PURE__*/React.createElement(MinusOutlined, null)), /*#__PURE__*/React.createElement("span", {
163
196
  className: "".concat(PREFIX, "-view-controls-zoom-value")
@@ -167,11 +200,16 @@ export function ViewControls(props) {
167
200
  onClick: function onClick() {
168
201
  return api.zoomIn();
169
202
  },
203
+ disabled: viewportLocked,
204
+ "aria-disabled": viewportLocked,
170
205
  "aria-label": locales.getText("".concat(I18N_VC, ".zoom-in-aria"))
171
- }, /*#__PURE__*/React.createElement(PlusOutlined, null))) : null, showZoom && (showTools || hasTrailingSlot) ? /*#__PURE__*/React.createElement("div", {
206
+ }, /*#__PURE__*/React.createElement(PlusOutlined, null))) : null, showZoom && (dockExpandedBarHasToolButtons || hasTrailingSlot) ? /*#__PURE__*/React.createElement("div", {
172
207
  className: "".concat(PREFIX, "-view-controls-bar-divider"),
173
208
  "aria-hidden": true
174
- }) : null, showTools ? renderToolButtons() : null, hasTrailingSlot ? /*#__PURE__*/React.createElement("div", {
209
+ }) : null, dockExpandedBarHasToolButtons ? renderToolButtons({
210
+ omitViewportLock: isDockAlignEnd,
211
+ omitFitBounds: isDockAlignEnd
212
+ }) : null, hasTrailingSlot ? /*#__PURE__*/React.createElement("div", {
175
213
  className: "".concat(PREFIX, "-view-controls-dock-trailing")
176
214
  }, dockExpandedTrailing) : null, /*#__PURE__*/React.createElement("button", {
177
215
  type: "button",
@@ -184,12 +222,54 @@ export function ViewControls(props) {
184
222
  if (!showBar) {
185
223
  return null;
186
224
  }
187
- if (dockChrome && dockHasExpandable) {
225
+
226
+ /**
227
+ * Dock 收起态额外暴露的高频按钮(不必先展开就能点)。
228
+ * 当前包含「视口锁定」「适配视口(全览)」——两者都是单击操作,不依赖展开条里的状态展示。
229
+ * 展开时这块和 expand-btn 一起 width→0 收掉,让位给 dock-slide。
230
+ */
231
+ var renderDockCollapsedExtras = function renderDockCollapsedExtras() {
232
+ var showLockChip = showViewportLock;
233
+ var showFitChip = showFitBounds && Boolean(api.fitBounds);
234
+ if (!showLockChip && !showFitChip) return null;
235
+ /**
236
+ * align-end(画布右下 dock)下 extras 与 expand-btn / slide 做"连体",
237
+ * 展开态仍贴右缘可见,因此不参与 panel-open 收起,也保持可聚焦/无 aria-hidden。
238
+ */
239
+ var collapseExtras = dockExpanded && !isDockAlignEnd;
188
240
  return /*#__PURE__*/React.createElement("div", {
241
+ className: classNames("".concat(PREFIX, "-view-controls-dock-collapsed-extras"), _defineProperty({}, "".concat(PREFIX, "-view-controls-dock-collapsed-extras--panel-open"), collapseExtras)),
242
+ "aria-hidden": collapseExtras
243
+ }, showLockChip ? /*#__PURE__*/React.createElement("button", {
244
+ type: "button",
245
+ className: classNames("".concat(PREFIX, "-view-controls-tool-btn"), "".concat(PREFIX, "-view-controls-dock-collapsed-extras-btn"), _defineProperty({}, "".concat(PREFIX, "-view-controls-tool-btn--active"), viewportLocked)),
246
+ onClick: function onClick() {
247
+ return onToggleViewportLock();
248
+ },
249
+ tabIndex: collapseExtras ? -1 : 0,
250
+ "aria-pressed": viewportLocked,
251
+ "aria-label": locales.getText(viewportLocked ? "".concat(I18N_VC, ".viewport-unlock-aria") : "".concat(I18N_VC, ".viewport-lock-aria")),
252
+ title: locales.getText(viewportLocked ? "".concat(I18N_VC, ".viewport-unlock-aria") : "".concat(I18N_VC, ".viewport-lock-aria"))
253
+ }, viewportLocked ? /*#__PURE__*/React.createElement(LockOutlined, null) : /*#__PURE__*/React.createElement(UnlockOutlined, null)) : null, showFitChip ? /*#__PURE__*/React.createElement("button", {
254
+ type: "button",
255
+ className: classNames("".concat(PREFIX, "-view-controls-tool-btn"), "".concat(PREFIX, "-view-controls-dock-collapsed-extras-btn"), _defineProperty({}, "".concat(PREFIX, "-view-controls-tool-btn--active"), fitBoundsActive && !viewportLocked)),
256
+ onClick: function onClick() {
257
+ return api.fitBounds();
258
+ },
259
+ disabled: viewportLocked,
260
+ "aria-disabled": viewportLocked,
261
+ "aria-pressed": fitBoundsActive,
262
+ tabIndex: collapseExtras ? -1 : 0,
263
+ "aria-label": locales.getText("".concat(I18N_VC, ".fit-bounds-aria")),
264
+ title: locales.getText("".concat(I18N_VC, ".fit-bounds-aria"))
265
+ }, /*#__PURE__*/React.createElement(ExpandOutlined, null)) : null);
266
+ };
267
+ if (dockChrome && dockHasExpandable) {
268
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
189
269
  className: classNames("".concat(PREFIX, "-view-controls"), "".concat(PREFIX, "-view-controls--dock"), horizontalAlign === 'end' && "".concat(PREFIX, "-view-controls--align-end"), className)
190
270
  }, /*#__PURE__*/React.createElement("div", {
191
271
  className: "".concat(PREFIX, "-view-controls-dock-row")
192
- }, /*#__PURE__*/React.createElement("button", {
272
+ }, renderDockCollapsedExtras(), /*#__PURE__*/React.createElement("button", {
193
273
  type: "button",
194
274
  className: classNames("".concat(PREFIX, "-view-controls-dock-expand-btn"), _defineProperty({}, "".concat(PREFIX, "-view-controls-dock-expand-btn--panel-open"), dockExpanded)),
195
275
  onClick: handleDockExpand,
@@ -204,7 +284,7 @@ export function ViewControls(props) {
204
284
  className: classNames("".concat(PREFIX, "-view-controls-bar"), "".concat(PREFIX, "-view-controls-bar--dock")),
205
285
  role: "group",
206
286
  onPointerDown: handleDockBarPointerDown
207
- }, renderDockExpandableBarContents())) : null));
287
+ }, renderDockExpandableBarContents())) : null)));
208
288
  }
209
289
  var barClass = classNames("".concat(PREFIX, "-view-controls-bar"), _defineProperty({}, "".concat(PREFIX, "-view-controls-bar--dock"), dockChrome));
210
290
  return /*#__PURE__*/React.createElement("div", {
@@ -219,6 +299,8 @@ export function ViewControls(props) {
219
299
  onClick: function onClick() {
220
300
  return api.zoomOut();
221
301
  },
302
+ disabled: viewportLocked,
303
+ "aria-disabled": viewportLocked,
222
304
  "aria-label": locales.getText("".concat(I18N_VC, ".zoom-out-aria"))
223
305
  }, /*#__PURE__*/React.createElement(MinusOutlined, null)), /*#__PURE__*/React.createElement("span", {
224
306
  className: "".concat(PREFIX, "-view-controls-zoom-value")
@@ -228,6 +310,8 @@ export function ViewControls(props) {
228
310
  onClick: function onClick() {
229
311
  return api.zoomIn();
230
312
  },
313
+ disabled: viewportLocked,
314
+ "aria-disabled": viewportLocked,
231
315
  "aria-label": locales.getText("".concat(I18N_VC, ".zoom-in-aria"))
232
316
  }, /*#__PURE__*/React.createElement(PlusOutlined, null))) : null, !dockChrome && showTools ? /*#__PURE__*/React.createElement(React.Fragment, null, showZoom ? /*#__PURE__*/React.createElement("div", {
233
317
  className: "".concat(PREFIX, "-view-controls-bar-divider"),
@@ -111,23 +111,60 @@
111
111
  background: #f2f4f7;
112
112
  color: #101828;
113
113
  }
114
+
115
+ /**
116
+ * 视口锁定时:zoom +/- / reset / fit-bounds 等改变视角的按钮 disabled。
117
+ * 给出灰态 + 禁用 hover 反馈,避免点击但实际拒绝带来的迷惑感。
118
+ */
119
+ &:disabled,
120
+ &[aria-disabled='true'] {
121
+ cursor: not-allowed;
122
+ color: #d0d5dd;
123
+ background: transparent;
124
+ }
125
+
126
+ &:disabled:hover,
127
+ &[aria-disabled='true']:hover {
128
+ background: transparent;
129
+ color: #d0d5dd;
130
+ }
114
131
  }
115
132
 
116
- &-bar > &-tool-btn--active {
117
- background: #fff4ed;
118
- color: #ff692e;
133
+ /**
134
+ * 工具按钮激活态(展开条内与外侧折叠 pill 共用同一套色值)。
135
+ * 主色链:`--color-primary`(与主色展开键、业务 HUD 一致)→ `--fmap-primary`(PisellFloorMapLayout 注入)
136
+ * → 兜底 #1677ff。淡底用 color-mix 12%/18% hover。
137
+ */
138
+ .vc-tool-btn-active-colors() {
139
+ @vc-p: var(--color-primary, var(--fmap-primary, #1677ff));
140
+
141
+ background: color-mix(in srgb, @vc-p 12%, #fff);
142
+ color: @vc-p;
119
143
 
120
144
  &:hover {
121
- background: #ffe8d9;
122
- color: #ff692e;
145
+ background: color-mix(in srgb, @vc-p 18%, #fff);
146
+ color: @vc-p;
147
+ }
148
+
149
+ &:disabled,
150
+ &[aria-disabled='true'] {
151
+ background: transparent;
152
+ color: #d0d5dd;
123
153
  }
124
154
  }
125
155
 
156
+ &-bar > &-tool-btn--active,
157
+ &-dock-collapsed-extras > &-tool-btn--active {
158
+ .vc-tool-btn-active-colors();
159
+ }
160
+
126
161
  /* —— 平面图 Dock:折叠入口与展开横条共用同一外框高度,避免切换时跳动 —— */
127
162
  @dock-btn-size: 42px;
128
163
  @dock-icon-px: 18px;
129
164
  /** 折叠按钮正方形边长 = 展开条高度(含 1px 边框的 border-box) */
130
165
  @dock-chrome-outer: 56px;
166
+ /** Dock 展开/收起:与 slide、expand、extras 共用,linear 避免 ease 带来的「回弹」观感 */
167
+ @dock-slide-ms: 0.18s;
131
168
 
132
169
  &--dock {
133
170
  left: 14px;
@@ -153,9 +190,9 @@
153
190
  }
154
191
 
155
192
  /**
156
- * 展开/收起:max-width 过渡(变长 / 变短),内层 bar 为 width:max-content
193
+ * 展开/收起:max-width 过渡(变长 / 变短),内层 bar 为 width:max-content
194
+ * 使用 linear + 统一时长(@dock-slide-ms),避免 ease 曲线与 max-width「大数值」组合带来的回弹感。
157
195
  */
158
-
159
196
  .pisell-floor-map-layout-view-controls-dock-slide {
160
197
  box-sizing: border-box;
161
198
  max-width: 0;
@@ -164,7 +201,7 @@
164
201
  display: flex;
165
202
  flex-direction: row;
166
203
  align-items: center;
167
- transition: max-width 0.32s cubic-bezier(0.22, 1, 0.36, 1);
204
+ transition: max-width @dock-slide-ms linear;
168
205
  }
169
206
 
170
207
  .pisell-floor-map-layout-view-controls-dock-slide--open {
@@ -220,6 +257,14 @@
220
257
  }
221
258
  }
222
259
 
260
+ /**
261
+ * 展开条内激活态:与外侧折叠 pill(锁定 / 全览)同一套色,选择器挂在 bar--dock 上提高优先级,
262
+ * 避免与其它 hover / 尺寸规则叠在一起时展开条观感发灰、与 pill 不一致。
263
+ */
264
+ .pisell-floor-map-layout-view-controls-bar--dock > .pisell-floor-map-layout-view-controls-tool-btn--active {
265
+ .vc-tool-btn-active-colors();
266
+ }
267
+
223
268
  .pisell-floor-map-layout-view-controls-bar--dock > .pisell-floor-map-layout-view-controls-zoom-value {
224
269
  min-width: 50px;
225
270
  height: @dock-btn-size;
@@ -245,24 +290,30 @@
245
290
  display: inline-flex;
246
291
  align-items: center;
247
292
  justify-content: center;
248
- border: 1px solid #e8eaed;
293
+ border: 1px solid transparent;
249
294
  border-radius: 14px;
250
- background: #fff;
251
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
295
+ /**
296
+ * 主题色背景:与左下「Today sales」chip 同步走 antd primary 变量;
297
+ * 兜底 #5d3f9f 跟随项目其它主色 token,主题改色时自动同步。
298
+ * 边框透明保留圆角,避免主题色与浅灰描边混色。
299
+ */
300
+ background: var(--color-primary, var(--ant-color-primary, #5d3f9f));
301
+ box-shadow: 0 4px 16px rgba(15, 23, 42, 0.22);
252
302
  cursor: pointer;
253
- color: #101828;
303
+ color: #fff;
254
304
  font-size: @dock-icon-px;
255
305
  line-height: 0;
256
306
  appearance: none;
257
307
  flex-shrink: 0;
258
308
  overflow: hidden;
259
- transition: width 0.32s cubic-bezier(0.22, 1, 0.36, 1),
260
- min-width 0.32s cubic-bezier(0.22, 1, 0.36, 1),
261
- max-width 0.32s cubic-bezier(0.22, 1, 0.36, 1),
262
- opacity 0.22s ease,
263
- border-color 0.22s ease,
264
- box-shadow 0.22s ease,
265
- margin 0.32s cubic-bezier(0.22, 1, 0.36, 1);
309
+ transition: width @dock-slide-ms linear,
310
+ min-width @dock-slide-ms linear,
311
+ max-width @dock-slide-ms linear,
312
+ opacity @dock-slide-ms linear,
313
+ border-color @dock-slide-ms linear,
314
+ box-shadow @dock-slide-ms linear,
315
+ filter @dock-slide-ms linear,
316
+ margin @dock-slide-ms linear;
266
317
 
267
318
  /** 与右侧条带同时:条带变长时入口收起为 0 宽;收起条带时入口从 0 拉回到正方形 */
268
319
 
@@ -279,7 +330,8 @@
279
330
  }
280
331
 
281
332
  &:hover {
282
- background: #f9fafb;
333
+ /** 与 Today chip 一致:主题色上用 brightness 让 hover 永远比静态色暗一档 */
334
+ filter: brightness(0.92);
283
335
  }
284
336
 
285
337
  .anticon {
@@ -297,6 +349,156 @@
297
349
  }
298
350
  }
299
351
 
352
+ /**
353
+ * Dock 收起态额外按钮 pill:
354
+ * - 折叠时 DOM 在 expand-btn 之前(屏缘一侧),与展开入口并排;
355
+ * - dockExpanded 时与 expand-btn 同步 width→0、opacity→0,让位给 dock-slide 横向展开;
356
+ * - 默认 align(左下):extras 在左缘,用 margin-right:8px 与 expand-btn 留缝;
357
+ * - align-end(右下)row-reverse 后 extras 贴右缘,用 margin-left:8px 与左侧 expand 留缝。
358
+ */
359
+ &-dock-collapsed-extras {
360
+ box-sizing: border-box;
361
+ height: @dock-chrome-outer;
362
+ min-height: @dock-chrome-outer;
363
+ display: inline-flex;
364
+ align-items: center;
365
+ justify-content: center;
366
+ gap: 5px;
367
+ padding: 0 10px;
368
+ margin-right: 8px;
369
+ border: 1px solid #e8eaed;
370
+ border-radius: 14px;
371
+ background: #fff;
372
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
373
+ flex-shrink: 0;
374
+ overflow: hidden;
375
+ transition: max-width @dock-slide-ms linear,
376
+ opacity @dock-slide-ms linear,
377
+ border-color @dock-slide-ms linear,
378
+ box-shadow @dock-slide-ms linear,
379
+ margin @dock-slide-ms linear,
380
+ padding @dock-slide-ms linear;
381
+ max-width: 240px;
382
+ }
383
+
384
+ /**
385
+ * 右下 dock:row-reverse 后 DOM [extras][expand][slide] 呈 [slide][expand][extras],
386
+ * extras 贴右缘。本场景下整组按钮做成「连体 pill」:
387
+ *
388
+ * - 折叠态视觉:[紫色 expand-btn][锁定/全览 extras]
389
+ * - 展开态视觉:[slide-bar 工具条][锁定/全览 extras]
390
+ * - 展开方向:slide max-width 由 0 → 720px,由于父级锚定 `right:14px`,
391
+ * 整组横向"从右往左"伸长,视觉上工具条从 extras 左侧扩出来。
392
+ *
393
+ * 实现方式:把 box-shadow / border / border-radius 统一挂到外层 `dock-row` 容器上,
394
+ * 内层 slide-bar / expand-btn / extras 全部去掉自己的边框圆角与投影,
395
+ * 由 `overflow: hidden` 的外壳负责整体裁剪。这样:
396
+ * - 整组只有一道阴影,无相邻拼接处的接缝阴影;
397
+ * - 子元素切换宽度(max-width / width)时阴影边界跟随容器自然增长,无需 clip-path 修补;
398
+ * - 紫色 expand-btn / 白色 extras / 白色 slide-bar 在同一个外壳里平铺,自动呈现连体观感。
399
+ */
400
+ &--align-end .pisell-floor-map-layout-view-controls-dock-row {
401
+ border: 1px solid #e8eaed;
402
+ border-radius: 14px;
403
+ background: #fff;
404
+ box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
405
+ overflow: hidden;
406
+ /** 容器高度对齐 chrome 高度,避免子元素 1px 边框被外壳 border 双层叠加 */
407
+ height: @dock-chrome-outer;
408
+ min-height: @dock-chrome-outer;
409
+ max-height: @dock-chrome-outer;
410
+ }
411
+
412
+ /** 内层 slide-bar:去掉自身边框圆角阴影,背景仍为白以承接 zoom / 工具按钮 */
413
+ &--align-end
414
+ .pisell-floor-map-layout-view-controls-dock-slide
415
+ .pisell-floor-map-layout-view-controls-bar--dock {
416
+ border: 0;
417
+ border-radius: 0;
418
+ box-shadow: none;
419
+ /** 高度由外壳决定,自身按外壳内填满 */
420
+ height: 100%;
421
+ min-height: 0 !important;
422
+ max-height: none !important;
423
+ /**
424
+ * 贴邻 extras 那一侧(DOM 内的右侧)padding 清零,避免与 extras 左 padding 叠加成接缝空隙;
425
+ * 外壳左侧(slide-bar 视觉左缘)保留 12px,与外壳圆角留出呼吸空间。
426
+ */
427
+ padding-right: 0;
428
+ }
429
+
430
+ /** 紫色入口:去掉自身投影圆角与边框,仅保留紫色底色,由外壳裁出连体圆角 */
431
+ &--align-end &-dock-expand-btn {
432
+ border: 0;
433
+ border-radius: 0;
434
+ box-shadow: none;
435
+ }
436
+
437
+ /**
438
+ * 锁定 / 全览 extras:去掉自身边框圆角阴影与外边距,背景仍为白,贴外壳右缘排布;
439
+ * 贴邻 slide-bar / expand-btn 那一侧(DOM 内的左侧)padding 清零,避免接缝空隙。
440
+ */
441
+ &--align-end &-dock-collapsed-extras {
442
+ margin: 0;
443
+ border: 0;
444
+ border-radius: 0;
445
+ box-shadow: none;
446
+ padding-left: 0;
447
+ }
448
+
449
+ /** 展开态保留 extras 显示在右侧(覆盖通用 panel-open 的收起规则) */
450
+ &--align-end &-dock-collapsed-extras--panel-open {
451
+ max-width: 240px;
452
+ margin: 0;
453
+ padding: 0 10px 0 0;
454
+ opacity: 1;
455
+ border: 0;
456
+ border-radius: 0;
457
+ box-shadow: none;
458
+ pointer-events: auto;
459
+ }
460
+
461
+ &-dock-collapsed-extras-btn {
462
+ width: @dock-btn-size;
463
+ min-width: @dock-btn-size;
464
+ max-width: @dock-btn-size;
465
+ height: @dock-btn-size;
466
+ min-height: @dock-btn-size !important;
467
+ max-height: @dock-btn-size !important;
468
+ border-radius: 8px;
469
+ font-size: @dock-icon-px;
470
+ line-height: 0;
471
+
472
+ .anticon,
473
+ .pisell-lowcode-icon,
474
+ span[role='img'] {
475
+ font-size: @dock-icon-px !important;
476
+ line-height: 0;
477
+ display: inline-flex;
478
+ align-items: center;
479
+ justify-content: center;
480
+ }
481
+
482
+ .anticon svg,
483
+ .pisell-lowcode-icon svg,
484
+ span[role='img'] svg {
485
+ width: @dock-icon-px !important;
486
+ height: @dock-icon-px !important;
487
+ display: block;
488
+ }
489
+ }
490
+
491
+ &-dock-collapsed-extras--panel-open {
492
+ max-width: 0;
493
+ margin-left: 0;
494
+ margin-right: 0;
495
+ padding: 0;
496
+ opacity: 0;
497
+ border-color: transparent;
498
+ box-shadow: none;
499
+ pointer-events: none;
500
+ }
501
+
300
502
  &-dock-trailing {
301
503
  display: inline-flex;
302
504
  align-items: center;
@@ -319,7 +521,8 @@
319
521
 
320
522
  @media (prefers-reduced-motion: reduce) {
321
523
  .pisell-floor-map-layout-view-controls--dock .pisell-floor-map-layout-view-controls-dock-slide,
322
- .pisell-floor-map-layout-view-controls--dock .pisell-floor-map-layout-view-controls-dock-expand-btn {
524
+ .pisell-floor-map-layout-view-controls--dock .pisell-floor-map-layout-view-controls-dock-expand-btn,
525
+ .pisell-floor-map-layout-view-controls--dock .pisell-floor-map-layout-view-controls-dock-collapsed-extras {
323
526
  transition-duration: 0.01ms;
324
527
  }
325
528
  }
@@ -7,11 +7,17 @@ export interface ViewControlsWithZoomProps {
7
7
  config?: FloorMapControlsConfig;
8
8
  scale?: number;
9
9
  isFullscreen?: boolean;
10
+ /** 当前 transform 是否吻合「适配视口」结果,用于按钮激活态 */
11
+ fitBoundsActive?: boolean;
10
12
  fitBounds: () => void;
11
13
  /** 未传时不展示全屏按钮(如编辑态 floorMapFullscreenMode 为 disabled) */
12
14
  toggleFullscreen?: () => void;
13
15
  mapGridVisible?: boolean;
14
16
  onToggleMapGrid?: () => void;
17
+ /** 视口锁定态(true 时所有视角写入入口被禁用) */
18
+ viewportLocked?: boolean;
19
+ /** 切换视口锁定;未传时不展示锁定按钮 */
20
+ onToggleViewportLock?: () => void;
15
21
  dockChrome?: boolean;
16
22
  dockExpandedTrailing?: React.ReactNode;
17
23
  autoCollapseDockMs?: number;
@@ -23,8 +23,11 @@ export function ViewControlsWithZoom(props) {
23
23
  config: props.config,
24
24
  scale: props.scale,
25
25
  isFullscreen: props.isFullscreen,
26
+ fitBoundsActive: props.fitBoundsActive,
26
27
  mapGridVisible: props.mapGridVisible,
27
28
  onToggleMapGrid: props.onToggleMapGrid,
29
+ viewportLocked: props.viewportLocked,
30
+ onToggleViewportLock: props.onToggleViewportLock,
28
31
  dockChrome: props.dockChrome,
29
32
  dockExpandedTrailing: props.dockExpandedTrailing,
30
33
  autoCollapseDockMs: props.autoCollapseDockMs
@@ -0,0 +1,4 @@
1
+ /**
2
+ * 平面图布局根节点 BEM 前缀,与 `PisellFloorMapLayout.less` 中主 class 一致。
3
+ */
4
+ export declare const FLOOR_MAP_LAYOUT_CLASS_PREFIX = "pisell-floor-map-layout";
@@ -0,0 +1,4 @@
1
+ /**
2
+ * 平面图布局根节点 BEM 前缀,与 `PisellFloorMapLayout.less` 中主 class 一致。
3
+ */
4
+ export var FLOOR_MAP_LAYOUT_CLASS_PREFIX = 'pisell-floor-map-layout';
@@ -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;