@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
@@ -46,9 +46,12 @@ function ViewControls(props) {
46
46
  config = {},
47
47
  scale = 1,
48
48
  isFullscreen = false,
49
+ fitBoundsActive = false,
49
50
  className,
50
51
  mapGridVisible = false,
51
52
  onToggleMapGrid,
53
+ viewportLocked = false,
54
+ onToggleViewportLock,
52
55
  dockChrome = false,
53
56
  dockExpandedTrailing,
54
57
  autoCollapseDockMs = 1e4
@@ -58,10 +61,11 @@ function ViewControls(props) {
58
61
  const showFitBounds = config.showFitBounds === true;
59
62
  const showFullscreen = config.showFullscreen === true;
60
63
  const showGridToggle = config.showGridToggle === true && typeof onToggleMapGrid === "function";
64
+ const showViewportLock = config.showViewportLock === true && typeof onToggleViewportLock === "function";
61
65
  const horizontalAlign = config.horizontalAlign ?? "start";
62
66
  const isDockAlignEnd = horizontalAlign === "end";
63
67
  const scalePercent = Math.round(scale * 100);
64
- const showTools = showReset || showFitBounds || showFullscreen || showGridToggle;
68
+ const showTools = showReset || showFitBounds || showFullscreen || showGridToggle || showViewportLock;
65
69
  const hasTrailingSlot = dockExpandedTrailing != null && dockExpandedTrailing !== false;
66
70
  const dockHasExpandable = dockChrome && (showTools || hasTrailingSlot);
67
71
  const showBar = showZoom || showTools || dockChrome && hasTrailingSlot;
@@ -128,56 +132,90 @@ function ViewControls(props) {
128
132
  scheduleDockCollapse();
129
133
  }
130
134
  }, [dockExpanded, autoCollapseDockMs, scheduleDockCollapse]);
131
- const renderToolButtons = () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, showReset ? /* @__PURE__ */ import_react.default.createElement(
132
- "button",
133
- {
134
- type: "button",
135
- className: `${PREFIX}-view-controls-tool-btn`,
136
- onClick: () => api.resetTransform(),
137
- "aria-label": import_utils.locales.getText(`${I18N_VC}.reset-aria`)
138
- },
139
- /* @__PURE__ */ import_react.default.createElement(import_icons.ReloadOutlined, null)
140
- ) : null, showFitBounds && api.fitBounds ? /* @__PURE__ */ import_react.default.createElement(
141
- "button",
142
- {
143
- type: "button",
144
- className: `${PREFIX}-view-controls-tool-btn`,
145
- onClick: () => api.fitBounds(),
146
- "aria-label": import_utils.locales.getText(`${I18N_VC}.fit-bounds-aria`)
147
- },
148
- /* @__PURE__ */ import_react.default.createElement(import_icons.ExpandOutlined, null)
149
- ) : null, showGridToggle ? /* @__PURE__ */ import_react.default.createElement(
150
- "button",
151
- {
152
- type: "button",
153
- className: (0, import_classnames.default)(`${PREFIX}-view-controls-tool-btn`, {
154
- [`${PREFIX}-view-controls-tool-btn--active`]: mapGridVisible
155
- }),
156
- onClick: () => onToggleMapGrid(),
157
- "aria-pressed": mapGridVisible,
158
- "aria-label": import_utils.locales.getText(
159
- mapGridVisible ? `${I18N_VC}.grid-hide-aria` : `${I18N_VC}.grid-show-aria`
160
- )
161
- },
162
- /* @__PURE__ */ import_react.default.createElement(import_icons.BorderInnerOutlined, null)
163
- ) : null, showFullscreen && api.toggleFullscreen ? /* @__PURE__ */ import_react.default.createElement(
164
- "button",
165
- {
166
- type: "button",
167
- className: `${PREFIX}-view-controls-tool-btn`,
168
- onClick: () => api.toggleFullscreen(),
169
- "aria-label": import_utils.locales.getText(
170
- isFullscreen ? `${I18N_VC}.fullscreen-exit-aria` : `${I18N_VC}.fullscreen-aria`
171
- )
172
- },
173
- isFullscreen ? /* @__PURE__ */ import_react.default.createElement(import_icons.FullscreenExitOutlined, null) : /* @__PURE__ */ import_react.default.createElement(import_icons.FullscreenOutlined, null)
174
- ) : null);
135
+ const renderToolButtons = (opts) => {
136
+ const omitLock = (opts == null ? void 0 : opts.omitViewportLock) === true;
137
+ const omitFit = (opts == null ? void 0 : opts.omitFitBounds) === true;
138
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, showReset ? /* @__PURE__ */ import_react.default.createElement(
139
+ "button",
140
+ {
141
+ type: "button",
142
+ className: `${PREFIX}-view-controls-tool-btn`,
143
+ onClick: () => api.resetTransform(),
144
+ disabled: viewportLocked,
145
+ "aria-disabled": viewportLocked,
146
+ "aria-label": import_utils.locales.getText(`${I18N_VC}.reset-aria`)
147
+ },
148
+ /* @__PURE__ */ import_react.default.createElement(import_icons.ReloadOutlined, null)
149
+ ) : null, showFitBounds && api.fitBounds && !omitFit ? /* @__PURE__ */ import_react.default.createElement(
150
+ "button",
151
+ {
152
+ type: "button",
153
+ className: (0, import_classnames.default)(`${PREFIX}-view-controls-tool-btn`, {
154
+ [`${PREFIX}-view-controls-tool-btn--active`]: fitBoundsActive && !viewportLocked
155
+ }),
156
+ onClick: () => api.fitBounds(),
157
+ disabled: viewportLocked,
158
+ "aria-disabled": viewportLocked,
159
+ "aria-pressed": fitBoundsActive,
160
+ "aria-label": import_utils.locales.getText(`${I18N_VC}.fit-bounds-aria`)
161
+ },
162
+ /* @__PURE__ */ import_react.default.createElement(import_icons.ExpandOutlined, null)
163
+ ) : null, showGridToggle ? /* @__PURE__ */ import_react.default.createElement(
164
+ "button",
165
+ {
166
+ type: "button",
167
+ className: (0, import_classnames.default)(`${PREFIX}-view-controls-tool-btn`, {
168
+ [`${PREFIX}-view-controls-tool-btn--active`]: mapGridVisible
169
+ }),
170
+ onClick: () => onToggleMapGrid(),
171
+ "aria-pressed": mapGridVisible,
172
+ "aria-label": import_utils.locales.getText(
173
+ mapGridVisible ? `${I18N_VC}.grid-hide-aria` : `${I18N_VC}.grid-show-aria`
174
+ )
175
+ },
176
+ /* @__PURE__ */ import_react.default.createElement(import_icons.BorderInnerOutlined, null)
177
+ ) : null, showViewportLock && !omitLock ? /* @__PURE__ */ import_react.default.createElement(
178
+ "button",
179
+ {
180
+ type: "button",
181
+ className: (0, import_classnames.default)(`${PREFIX}-view-controls-tool-btn`, {
182
+ [`${PREFIX}-view-controls-tool-btn--active`]: viewportLocked
183
+ }),
184
+ onClick: () => onToggleViewportLock(),
185
+ "aria-pressed": viewportLocked,
186
+ "aria-label": import_utils.locales.getText(
187
+ viewportLocked ? `${I18N_VC}.viewport-unlock-aria` : `${I18N_VC}.viewport-lock-aria`
188
+ ),
189
+ title: import_utils.locales.getText(
190
+ viewportLocked ? `${I18N_VC}.viewport-unlock-aria` : `${I18N_VC}.viewport-lock-aria`
191
+ )
192
+ },
193
+ viewportLocked ? /* @__PURE__ */ import_react.default.createElement(import_icons.LockOutlined, null) : /* @__PURE__ */ import_react.default.createElement(import_icons.UnlockOutlined, null)
194
+ ) : null, showFullscreen && api.toggleFullscreen ? /* @__PURE__ */ import_react.default.createElement(
195
+ "button",
196
+ {
197
+ type: "button",
198
+ className: (0, import_classnames.default)(`${PREFIX}-view-controls-tool-btn`, {
199
+ [`${PREFIX}-view-controls-tool-btn--active`]: isFullscreen
200
+ }),
201
+ onClick: () => api.toggleFullscreen(),
202
+ "aria-pressed": isFullscreen,
203
+ "aria-label": import_utils.locales.getText(
204
+ isFullscreen ? `${I18N_VC}.fullscreen-exit-aria` : `${I18N_VC}.fullscreen-aria`
205
+ )
206
+ },
207
+ isFullscreen ? /* @__PURE__ */ import_react.default.createElement(import_icons.FullscreenExitOutlined, null) : /* @__PURE__ */ import_react.default.createElement(import_icons.FullscreenOutlined, null)
208
+ ) : null);
209
+ };
210
+ const dockExpandedBarHasToolButtons = showReset || showFitBounds && Boolean(api.fitBounds) && !isDockAlignEnd || showGridToggle || showViewportLock && !isDockAlignEnd || showFullscreen && Boolean(api.toggleFullscreen);
175
211
  const renderDockExpandableBarContents = () => /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, showZoom ? /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(
176
212
  "button",
177
213
  {
178
214
  type: "button",
179
215
  className: `${PREFIX}-view-controls-tool-btn`,
180
216
  onClick: () => api.zoomOut(),
217
+ disabled: viewportLocked,
218
+ "aria-disabled": viewportLocked,
181
219
  "aria-label": import_utils.locales.getText(`${I18N_VC}.zoom-out-aria`)
182
220
  },
183
221
  /* @__PURE__ */ import_react.default.createElement(import_icons.MinusOutlined, null)
@@ -187,10 +225,15 @@ function ViewControls(props) {
187
225
  type: "button",
188
226
  className: `${PREFIX}-view-controls-tool-btn`,
189
227
  onClick: () => api.zoomIn(),
228
+ disabled: viewportLocked,
229
+ "aria-disabled": viewportLocked,
190
230
  "aria-label": import_utils.locales.getText(`${I18N_VC}.zoom-in-aria`)
191
231
  },
192
232
  /* @__PURE__ */ import_react.default.createElement(import_icons.PlusOutlined, null)
193
- )) : null, showZoom && (showTools || hasTrailingSlot) ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-view-controls-bar-divider`, "aria-hidden": true }) : null, showTools ? renderToolButtons() : null, hasTrailingSlot ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-view-controls-dock-trailing` }, dockExpandedTrailing) : null, /* @__PURE__ */ import_react.default.createElement(
233
+ )) : null, showZoom && (dockExpandedBarHasToolButtons || hasTrailingSlot) ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-view-controls-bar-divider`, "aria-hidden": true }) : null, dockExpandedBarHasToolButtons ? renderToolButtons({
234
+ omitViewportLock: isDockAlignEnd,
235
+ omitFitBounds: isDockAlignEnd
236
+ }) : null, hasTrailingSlot ? /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-view-controls-dock-trailing` }, dockExpandedTrailing) : null, /* @__PURE__ */ import_react.default.createElement(
194
237
  "button",
195
238
  {
196
239
  type: "button",
@@ -204,8 +247,70 @@ function ViewControls(props) {
204
247
  if (!showBar) {
205
248
  return null;
206
249
  }
207
- if (dockChrome && dockHasExpandable) {
250
+ const renderDockCollapsedExtras = () => {
251
+ const showLockChip = showViewportLock;
252
+ const showFitChip = showFitBounds && Boolean(api.fitBounds);
253
+ if (!showLockChip && !showFitChip) return null;
254
+ const collapseExtras = dockExpanded && !isDockAlignEnd;
208
255
  return /* @__PURE__ */ import_react.default.createElement(
256
+ "div",
257
+ {
258
+ className: (0, import_classnames.default)(
259
+ `${PREFIX}-view-controls-dock-collapsed-extras`,
260
+ {
261
+ [`${PREFIX}-view-controls-dock-collapsed-extras--panel-open`]: collapseExtras
262
+ }
263
+ ),
264
+ "aria-hidden": collapseExtras
265
+ },
266
+ showLockChip ? /* @__PURE__ */ import_react.default.createElement(
267
+ "button",
268
+ {
269
+ type: "button",
270
+ className: (0, import_classnames.default)(
271
+ `${PREFIX}-view-controls-tool-btn`,
272
+ `${PREFIX}-view-controls-dock-collapsed-extras-btn`,
273
+ {
274
+ [`${PREFIX}-view-controls-tool-btn--active`]: viewportLocked
275
+ }
276
+ ),
277
+ onClick: () => onToggleViewportLock(),
278
+ tabIndex: collapseExtras ? -1 : 0,
279
+ "aria-pressed": viewportLocked,
280
+ "aria-label": import_utils.locales.getText(
281
+ viewportLocked ? `${I18N_VC}.viewport-unlock-aria` : `${I18N_VC}.viewport-lock-aria`
282
+ ),
283
+ title: import_utils.locales.getText(
284
+ viewportLocked ? `${I18N_VC}.viewport-unlock-aria` : `${I18N_VC}.viewport-lock-aria`
285
+ )
286
+ },
287
+ viewportLocked ? /* @__PURE__ */ import_react.default.createElement(import_icons.LockOutlined, null) : /* @__PURE__ */ import_react.default.createElement(import_icons.UnlockOutlined, null)
288
+ ) : null,
289
+ showFitChip ? /* @__PURE__ */ import_react.default.createElement(
290
+ "button",
291
+ {
292
+ type: "button",
293
+ className: (0, import_classnames.default)(
294
+ `${PREFIX}-view-controls-tool-btn`,
295
+ `${PREFIX}-view-controls-dock-collapsed-extras-btn`,
296
+ {
297
+ [`${PREFIX}-view-controls-tool-btn--active`]: fitBoundsActive && !viewportLocked
298
+ }
299
+ ),
300
+ onClick: () => api.fitBounds(),
301
+ disabled: viewportLocked,
302
+ "aria-disabled": viewportLocked,
303
+ "aria-pressed": fitBoundsActive,
304
+ tabIndex: collapseExtras ? -1 : 0,
305
+ "aria-label": import_utils.locales.getText(`${I18N_VC}.fit-bounds-aria`),
306
+ title: import_utils.locales.getText(`${I18N_VC}.fit-bounds-aria`)
307
+ },
308
+ /* @__PURE__ */ import_react.default.createElement(import_icons.ExpandOutlined, null)
309
+ ) : null
310
+ );
311
+ };
312
+ if (dockChrome && dockHasExpandable) {
313
+ return /* @__PURE__ */ import_react.default.createElement(import_react.default.Fragment, null, /* @__PURE__ */ import_react.default.createElement(
209
314
  "div",
210
315
  {
211
316
  className: (0, import_classnames.default)(
@@ -215,7 +320,7 @@ function ViewControls(props) {
215
320
  className
216
321
  )
217
322
  },
218
- /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-view-controls-dock-row` }, /* @__PURE__ */ import_react.default.createElement(
323
+ /* @__PURE__ */ import_react.default.createElement("div", { className: `${PREFIX}-view-controls-dock-row` }, renderDockCollapsedExtras(), /* @__PURE__ */ import_react.default.createElement(
219
324
  "button",
220
325
  {
221
326
  type: "button",
@@ -250,7 +355,7 @@ function ViewControls(props) {
250
355
  renderDockExpandableBarContents()
251
356
  )
252
357
  ) : null)
253
- );
358
+ ));
254
359
  }
255
360
  const barClass = (0, import_classnames.default)(`${PREFIX}-view-controls-bar`, {
256
361
  [`${PREFIX}-view-controls-bar--dock`]: dockChrome
@@ -276,6 +381,8 @@ function ViewControls(props) {
276
381
  type: "button",
277
382
  className: `${PREFIX}-view-controls-tool-btn`,
278
383
  onClick: () => api.zoomOut(),
384
+ disabled: viewportLocked,
385
+ "aria-disabled": viewportLocked,
279
386
  "aria-label": import_utils.locales.getText(`${I18N_VC}.zoom-out-aria`)
280
387
  },
281
388
  /* @__PURE__ */ import_react.default.createElement(import_icons.MinusOutlined, null)
@@ -285,6 +392,8 @@ function ViewControls(props) {
285
392
  type: "button",
286
393
  className: `${PREFIX}-view-controls-tool-btn`,
287
394
  onClick: () => api.zoomIn(),
395
+ disabled: viewportLocked,
396
+ "aria-disabled": viewportLocked,
288
397
  "aria-label": import_utils.locales.getText(`${I18N_VC}.zoom-in-aria`)
289
398
  },
290
399
  /* @__PURE__ */ import_react.default.createElement(import_icons.PlusOutlined, null)
@@ -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;
@@ -54,8 +54,11 @@ function ViewControlsWithZoom(props) {
54
54
  config: props.config,
55
55
  scale: props.scale,
56
56
  isFullscreen: props.isFullscreen,
57
+ fitBoundsActive: props.fitBoundsActive,
57
58
  mapGridVisible: props.mapGridVisible,
58
59
  onToggleMapGrid: props.onToggleMapGrid,
60
+ viewportLocked: props.viewportLocked,
61
+ onToggleViewportLock: props.onToggleViewportLock,
59
62
  dockChrome: props.dockChrome,
60
63
  dockExpandedTrailing: props.dockExpandedTrailing,
61
64
  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,29 @@
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/floorMapLayoutConstants.ts
20
+ var floorMapLayoutConstants_exports = {};
21
+ __export(floorMapLayoutConstants_exports, {
22
+ FLOOR_MAP_LAYOUT_CLASS_PREFIX: () => FLOOR_MAP_LAYOUT_CLASS_PREFIX
23
+ });
24
+ module.exports = __toCommonJS(floorMapLayoutConstants_exports);
25
+ var FLOOR_MAP_LAYOUT_CLASS_PREFIX = "pisell-floor-map-layout";
26
+ // Annotate the CommonJS export names for ESM import in node:
27
+ 0 && (module.exports = {
28
+ FLOOR_MAP_LAYOUT_CLASS_PREFIX
29
+ });