@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
@@ -34,16 +34,19 @@
34
34
  }
35
35
 
36
36
  /**
37
- * 两行工具栏:快筛独占首行,Find + 排序/筛选次行(与窄屏设计稿一致)。
38
- * 用于 ≤768px 视口;或工具栏节点带修饰类 .pisell-record-board-toolbar--narrow-stack(如预约 HUD 侧栏)。
37
+ * 窄屏 / narrow-stack:顶栏仍为单行——左侧快筛与右侧操作同一行;
38
+ * 快筛区内按钮组仍可换行(Space wrap / BucketButtonGroup)。
39
+ * 用于 ≤768px 视口;或工具栏带 `.pisell-record-board-toolbar--narrow-stack`(如预约 HUD)。
39
40
  */
40
- .record-board-toolbar-grid-narrow-two-rows() {
41
+ .record-board-toolbar-grid-narrow-one-row() {
41
42
  > .toolbar-row {
42
43
  flex-direction: row;
43
- flex-wrap: wrap;
44
- align-items: center;
44
+ flex-wrap: nowrap;
45
+ /** 左侧快筛多行时,右侧 search / 齿轮与顶缘对齐,不随整坨内容垂直居中 */
46
+ align-items: flex-start;
45
47
  row-gap: 8px;
46
48
  column-gap: 8px;
49
+ min-width: 0;
47
50
  }
48
51
 
49
52
  > .toolbar-row > .toolbar-row-left,
@@ -57,20 +60,31 @@
57
60
 
58
61
  .record-board-toolbar-quick-filter-slot {
59
62
  order: 0;
60
- flex: 1 0 100%;
61
- width: 100%;
63
+ flex: 1 1 auto;
64
+ width: auto;
62
65
  max-width: 100%;
63
66
  min-width: 0;
64
67
  }
65
68
 
69
+ /**
70
+ * 快筛区在 narrow-stack 模式下允许内部按钮自动换行(HUD 抽屉等窄容器场景):
71
+ * - `flex-wrap: wrap` 让多组桶在空间不够时挤到下一行;
72
+ * - `display: flex; width: 100%` 让 form 撑满 quick-filter-slot,从而触发 wrap 阈值;
73
+ * - 这样右侧 search / 齿轮所在 row 永远是第一行最右,不会因桶过多被顶到下一行。
74
+ */
66
75
  .record-board-toolbar-quick-filter-slot .record-board-toolbar-quick-filter-form {
76
+ display: flex;
77
+ flex-wrap: wrap;
67
78
  width: 100%;
79
+ max-width: 100%;
80
+ min-width: 0;
68
81
  }
69
82
 
70
83
  .record-board-toolbar-quick-filter-slot .pisell-lowcode-form,
71
84
  .record-board-toolbar-quick-filter-slot .ant-form {
72
- width: 100%;
85
+ width: auto;
73
86
  max-width: 100%;
87
+ min-width: 0;
74
88
  }
75
89
 
76
90
  .record-board-toolbar-body-view-segmented {
@@ -99,12 +113,12 @@
99
113
 
100
114
  @media (max-width: 768px) {
101
115
  .pisell-grid-pro-toolbar.pisell-record-board-toolbar--grid {
102
- .record-board-toolbar-grid-narrow-two-rows();
116
+ .record-board-toolbar-grid-narrow-one-row();
103
117
  }
104
118
  }
105
119
 
106
120
  .pisell-grid-pro-toolbar.pisell-record-board-toolbar--grid.pisell-record-board-toolbar--narrow-stack {
107
- .record-board-toolbar-grid-narrow-two-rows();
121
+ .record-board-toolbar-grid-narrow-one-row();
108
122
  }
109
123
 
110
124
  /**
@@ -144,3 +158,155 @@
144
158
  flex-wrap: nowrap;
145
159
  }
146
160
  }
161
+
162
+ /**
163
+ * `record-board-toolbar-grid-narrow-one-row` 对顶栏行使用 `align-items: flex-start`,
164
+ * 但上一段 `--compact` 对同一行写了 `align-items: center !important`,会压过 mixin,
165
+ * 导致 HUD(compact-narrow + narrow-stack)里左侧快筛换行时右侧搜索/齿轮仍整列垂直居中。
166
+ * 在「grid + narrow-stack + compact」组合下把行对齐改回顶缘。
167
+ */
168
+ .pisell-grid-pro-toolbar.pisell-record-board-toolbar--grid.pisell-record-board-toolbar--narrow-stack.pisell-record-board-toolbar--compact {
169
+ > .pisell-grid-pro-toolbar-row.toolbar-row,
170
+ > .toolbar-row {
171
+ align-items: flex-start !important;
172
+ }
173
+ }
174
+
175
+ /**
176
+ * 极窄模式:HUD 抽屉这类宽度有限的内嵌表。
177
+ * - search 为纯图标触发器,与右侧齿轮并排
178
+ * - 列显示 / 排序 / 筛选 / 重置 合并到齿轮 Popover 内
179
+ */
180
+ .pisell-grid-pro-toolbar.pisell-record-board-toolbar--compact-narrow {
181
+ padding-bottom: 6px !important;
182
+ gap: 4px !important;
183
+
184
+ > .pisell-grid-pro-toolbar-row.toolbar-row,
185
+ > .toolbar-row {
186
+ gap: 4px !important;
187
+ }
188
+
189
+ /** 顶栏右侧 search-icon 与齿轮之间的间距 */
190
+ .record-board-toolbar-right-actions.ant-space {
191
+ gap: 10px !important;
192
+ }
193
+
194
+ /**
195
+ * Find icon 触发器(PisellFind triggerType="icon"):与右侧齿轮统一为 32×32,icon 18px。
196
+ * `className` 由 PisellFind/PisellLookup 挂在最外层 `.pisell-lookup`,不会透到内部 trigger,
197
+ * 所以选择器写成「外层 className → 内层 .pisell-lookup-trigger-icon」。
198
+ */
199
+ .pisell-lookup.record-board-toolbar-find-icon .pisell-lookup-trigger-icon {
200
+ width: 32px;
201
+ height: 32px;
202
+ display: inline-flex;
203
+ align-items: center;
204
+ justify-content: center;
205
+ border-radius: 6px;
206
+ color: rgba(0, 0, 0, 0.65);
207
+ transition: background 0.15s, color 0.15s;
208
+
209
+ &:hover {
210
+ background: rgba(22, 119, 255, 0.08);
211
+ color: rgba(0, 0, 0, 0.88);
212
+ }
213
+
214
+ .anticon {
215
+ font-size: 18px;
216
+ line-height: 1;
217
+ }
218
+
219
+ .anticon svg {
220
+ width: 18px;
221
+ height: 18px;
222
+ }
223
+ }
224
+
225
+ /**
226
+ * 齿轮按钮:与 find-icon 对齐到 32×32,icon 18px。
227
+ * 同时命中 antd 原生 `.ant-btn` 与低代码包裹的 `.pisell-lowcode-btn`,并兼容 `-sm` 尺寸变体;
228
+ * 用 !important 压过全局基线 28×28 与 antd small button 自带的 24px 高度。
229
+ */
230
+ .record-board-toolbar-settings-gear-btn,
231
+ .record-board-toolbar-settings-gear-btn.ant-btn,
232
+ .record-board-toolbar-settings-gear-btn.pisell-lowcode-btn,
233
+ .record-board-toolbar-settings-gear-btn.pisell-lowcode-btn.pisell-lowcode-btn-sm {
234
+ width: 32px !important;
235
+ height: 32px !important;
236
+ min-width: 32px !important;
237
+ min-height: 32px !important;
238
+ padding: 0 !important;
239
+ border-radius: 6px;
240
+
241
+ .anticon {
242
+ font-size: 18px !important;
243
+ line-height: 1;
244
+ }
245
+
246
+ .anticon svg {
247
+ width: 18px !important;
248
+ height: 18px !important;
249
+ }
250
+ }
251
+
252
+ /**
253
+ * 自定义 `trigger` 进入 PisellLookup 时会被包裹在 `pisell-lookup-trigger-custom`
254
+ */
255
+ .record-board-toolbar-right-actions .pisell-lookup-trigger-custom {
256
+ display: inline-flex;
257
+ align-items: center;
258
+ }
259
+ }
260
+
261
+ /** 齿轮按钮:低视觉权重,hover 浅色背景;激活态由 antd Popover 自带 */
262
+ .record-board-toolbar-settings-gear-btn.ant-btn {
263
+ width: 28px;
264
+ height: 28px;
265
+ display: inline-flex;
266
+ align-items: center;
267
+ justify-content: center;
268
+ padding: 0;
269
+ border-radius: 6px;
270
+ color: rgba(0, 0, 0, 0.65);
271
+
272
+ &:hover,
273
+ &:focus {
274
+ background: rgba(22, 119, 255, 0.08);
275
+ color: rgba(0, 0, 0, 0.88);
276
+ }
277
+ }
278
+
279
+ /**
280
+ * 齿轮 popover 内容:竖排三组(列显示 / 排序 / 筛选),每组保留各自原本的
281
+ * 按钮 + 子 popover 触发逻辑,外层只承担「分组承载 + 标签提示」。
282
+ * 子 popover 仍按各组件 placement 弹,会浮在齿轮 popover 之上。
283
+ */
284
+ .record-board-toolbar-settings-gear-overlay .ant-popover-inner-content {
285
+ padding: 8px;
286
+ min-width: 180px;
287
+ }
288
+
289
+ .record-board-toolbar-settings-gear-popover {
290
+ display: flex;
291
+ flex-direction: column;
292
+ align-items: center;
293
+ gap: 4px;
294
+ }
295
+
296
+ /**
297
+ * 行容器只承担「分组与上下间距」,不再做包裹 hover 反馈:
298
+ * 每一项内部的按钮(Eye / Sort / Filter)已自带各自的 hover/active 反馈,
299
+ * 外层再加 hover 会出现「按钮反馈 + 行底色」双层叠加,视觉很乱。
300
+ *
301
+ * justify-content: center 让每行内的按钮在 popover 内横向居中——三组操作宽度
302
+ * 不一致(眼睛 ≪ Sort ≪ Filter),整列居中比左对齐视觉更稳,避免「梯形」错位。
303
+ */
304
+ .record-board-toolbar-settings-gear-row {
305
+ display: flex;
306
+ align-items: center;
307
+ justify-content: center;
308
+ gap: 8px;
309
+ padding: 0;
310
+ background: transparent;
311
+ cursor: default;
312
+ }
@@ -50,6 +50,14 @@ var ToolBarQuickFilter = ({
50
50
  (0, import_react.useEffect)(() => {
51
51
  const next = typeof currentValues === "object" && currentValues !== null ? currentValues : {};
52
52
  const byNames = filterList.reduce((acc, item) => {
53
+ var _a;
54
+ const composite = (_a = item == null ? void 0 : item.other) == null ? void 0 : _a.compositeFilterFieldNames;
55
+ if (Array.isArray(composite) && composite.length > 0) {
56
+ for (const field of composite) {
57
+ acc[String(field)] = next[String(field)] ?? void 0;
58
+ }
59
+ return acc;
60
+ }
53
61
  const name = item.name ?? item.key;
54
62
  if (name != null) acc[String(name)] = next[String(name)] ?? void 0;
55
63
  return acc;
@@ -18,6 +18,12 @@ declare const RecordBoardShellFrame: React.FC<{
18
18
  children?: React.ReactNode;
19
19
  className?: string;
20
20
  style?: React.CSSProperties;
21
+ /**
22
+ * 工具栏与表格主体之间的「附加条」插槽,透传给底层 PisellShellFrame.belowToolbar。
23
+ * 用于在不改 ToolBar 内部结构的前提下,紧贴 toolbar 下方插入轻量条目
24
+ * (例如 HUD 抽屉里的「当日总览」摘要栏)。
25
+ */
26
+ belowToolbar?: React.ReactNode;
21
27
  }>;
22
28
  export default RecordBoardShellFrame;
23
29
  export { RecordBoardToolBar, RecordBoardBatchActionBar, RecordBoardPagination, RecordBoardSearch, ToolBarReset, ToolBarQuickFilter, RecordBoardFloorMap, RecordBoardCalendar, RecordBoardResourceWall, };
@@ -118,7 +118,7 @@ var FILL_HEIGHT_WRAPPER_STYLE = {
118
118
  display: "flex",
119
119
  flexDirection: "column"
120
120
  };
121
- var RecordBoardShellFrame = ({ children, className, style }) => {
121
+ var RecordBoardShellFrame = ({ children, className, style, belowToolbar }) => {
122
122
  var _a, _b, _c;
123
123
  const ctx = (0, import_useRecordBoardContext.useRecordBoardContext)();
124
124
  const fillHeight = (ctx == null ? void 0 : ctx.fillHeight) === true;
@@ -324,6 +324,7 @@ var RecordBoardShellFrame = ({ children, className, style }) => {
324
324
  showBatchActionBar: true
325
325
  },
326
326
  toolbar: /* @__PURE__ */ import_react.default.createElement(import_ToolBar.default, null),
327
+ belowToolbar,
327
328
  batchActionBar: /* @__PURE__ */ import_react.default.createElement(import_BatchActionBar.default, null)
328
329
  },
329
330
  bodyContent
@@ -535,6 +535,11 @@ export interface RecordBoardContextValue {
535
535
  onColumnOrderChange?: (columnKeys: string[]) => void;
536
536
  /** 各子组件透传 props,由 Provider 注入 */
537
537
  childComponentProps?: RecordBoardChildComponentProps;
538
+ /**
539
+ * 业务方完全自定义的分页渲染(从根 props 透传过来)。
540
+ * `<RecordBoardPagination />` 优先级:组件 `render` prop > 此 ctx 字段 > 默认 materials Pagination。
541
+ */
542
+ paginationRender?: (ctx: RecordBoardContextValue) => React.ReactNode;
538
543
  /** 是否占满父容器高度,供 ShellFrame 做弹性布局(内容区纯 CSS 滚动 + 表头 sticky;scroll.autoCalc 时用测量高度) */
539
544
  fillHeight?: boolean;
540
545
  /** 内容区滚动容器高度(fillHeight 且 grid.scroll.autoCalc 时由 ShellFrame 测量),供 Grid 计算 scroll.y */
@@ -589,9 +594,13 @@ export declare type RecordBoardFilterProps = Record<string, any>;
589
594
  export interface RecordBoardToolBarProps {
590
595
  /**
591
596
  * `compact`:Find / 快筛 / 排序筛选 / 重置 / 视图切换等统一小号,用于窄容器(如 HUD 内嵌表)。
597
+ * `compact-narrow`:极窄容器(如 HUD 抽屉)下的进一步压缩 ──
598
+ * - Find 退化为图标触发器(弹搜索 Modal/Drawer),不再常驻 input
599
+ * - 列显示 / 排序 / 筛选合并到一个齿轮按钮的 Popover 内
600
+ * - Reset 仍单独保留(快捷高频动作)
592
601
  * @default 'default'
593
602
  */
594
- toolbarDensity?: 'default' | 'compact';
603
+ toolbarDensity?: 'default' | 'compact' | 'compact-narrow';
595
604
  className?: string;
596
605
  style?: React.CSSProperties;
597
606
  tabs?: React.ReactNode;
@@ -719,6 +728,16 @@ export interface RecordBoardProps {
719
728
  search?: RecordBoardSearchProps;
720
729
  /** 分页组件透传配置(与 pagination 状态区分,此处为 Pagination 组件 props) */
721
730
  paginationConfig?: Record<string, any>;
731
+ /**
732
+ * 完全自定义分页渲染:传入则 ShellFrame 内置的 `<RecordBoardPagination />` 用此函数替换默认渲染。
733
+ *
734
+ * 适用场景:业务方需要在窄容器(如 hud 抽屉)里不要 materials Pagination
735
+ * 那套 50px 高、Previous/Next 大按钮、灰底边框容器,直接用 antd 原生 small Pagination
736
+ * 或其它紧凑实现。比 `paginationConfig` 更彻底(后者只是 props 透传,外壳样式仍在)。
737
+ *
738
+ * 入参 ctx 包含 pagination/total/onPageChange 等当前分页所需上下文。
739
+ */
740
+ paginationRender?: (ctx: RecordBoardContextValue) => React.ReactNode;
722
741
  /** 多选操作栏配置 */
723
742
  batchActionBar?: RecordBoardBatchActionBarProps;
724
743
  /** 卡片列表配置 */
@@ -55,6 +55,7 @@ var PisellShellFrame = (props) => {
55
55
  subtitle,
56
56
  titleExtra,
57
57
  toolbar,
58
+ belowToolbar,
58
59
  statisticList,
59
60
  children,
60
61
  batchActionBar,
@@ -79,7 +80,7 @@ var PisellShellFrame = (props) => {
79
80
  style,
80
81
  "data-shell-frame": true
81
82
  },
82
- /* @__PURE__ */ import_react.default.createElement("header", { className: "pisell-shell-frame-header" }, hasTitle && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-shell-frame-title" }, /* @__PURE__ */ import_react.default.createElement("span", null, title != null && /* @__PURE__ */ import_react.default.createElement("span", { className: "pisell-shell-frame-title-main" }, title), subtitle != null && /* @__PURE__ */ import_react.default.createElement("span", { className: "pisell-shell-frame-title-sub" }, subtitle)), titleExtra != null && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-shell-frame-title-extra" }, titleExtra)), hasToolbar && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-shell-frame-toolbar" }, toolbar), hasStatistic && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-shell-frame-statistic" }, config.statisticCollapsible ? /* @__PURE__ */ import_react.default.createElement(
83
+ /* @__PURE__ */ import_react.default.createElement("header", { className: "pisell-shell-frame-header" }, hasTitle && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-shell-frame-title" }, /* @__PURE__ */ import_react.default.createElement("span", null, title != null && /* @__PURE__ */ import_react.default.createElement("span", { className: "pisell-shell-frame-title-main" }, title), subtitle != null && /* @__PURE__ */ import_react.default.createElement("span", { className: "pisell-shell-frame-title-sub" }, subtitle)), titleExtra != null && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-shell-frame-title-extra" }, titleExtra)), hasToolbar && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-shell-frame-toolbar" }, toolbar), belowToolbar != null && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-shell-frame-below-toolbar" }, belowToolbar), hasStatistic && /* @__PURE__ */ import_react.default.createElement("div", { className: "pisell-shell-frame-statistic" }, config.statisticCollapsible ? /* @__PURE__ */ import_react.default.createElement(
83
84
  import_antd.Collapse,
84
85
  {
85
86
  ghost: true,
@@ -45,6 +45,19 @@
45
45
  margin-bottom: 0;
46
46
  }
47
47
 
48
+ /**
49
+ * 工具栏正下方的「附加条」:默认与 toolbar 留 8px 缝隙,让插入的轻量摘要
50
+ * 与 toolbar 视觉上分开但不破坏顶栏整体节奏。空内容时塌陷不占位。
51
+ */
52
+ &-below-toolbar {
53
+ margin-bottom: 8px;
54
+
55
+ &:empty {
56
+ display: none;
57
+ margin-bottom: 0;
58
+ }
59
+ }
60
+
48
61
  &-statistic {
49
62
  margin-bottom: 8px;
50
63
 
@@ -45,6 +45,12 @@ export interface PisellShellFrameProps {
45
45
  titleExtra?: ReactNode;
46
46
  /** 工具栏内容 */
47
47
  toolbar?: ReactNode;
48
+ /**
49
+ * 工具栏正下方、统计/正文之上的"附加条"插槽,渲染于 header 内部。
50
+ * 适用于「统计摘要 / 当前所选筛选标签」等需要紧贴 toolbar 的轻量条目。
51
+ * 当为空时不占位、不渲染外壳。
52
+ */
53
+ belowToolbar?: ReactNode;
48
54
  /** 统计列表内容(如 PisellStatisticList 或自定义) */
49
55
  statisticList?: ReactNode;
50
56
  /** 主内容(表格/看板/日历/楼层图等),当 config.scroll 为 true 时会被滚动容器包裹 */
@@ -43,13 +43,7 @@ var import_utils2 = require("@pisell/utils");
43
43
  var import_locales = __toESM(require("./locales"));
44
44
  var import_PisellTimeNavigator = require("./PisellTimeNavigator.less");
45
45
  var import_useEngineContext = __toESM(require("../../hooks/useEngineContext"));
46
- var CELL_SIZE_H = 82;
47
- var CURRENT_TIME_GRADIENT_WIDTH_H_PX = Math.round(CELL_SIZE_H * 1.7);
48
- var CELL_SIZE_V = 20;
49
- var CURSOR_MOVES_NOW_RESERVE_PX = 56;
50
- var CURSOR_MOVES_H_PADDING_PX = 8;
51
- var CURSOR_MOVES_MIN_CELL_PX = 8;
52
- var DENSITY_LAYER_HEIGHT = 46;
46
+ var import_timeNavigatorConstants = require("./timeNavigatorConstants");
53
47
  function PisellTimeNavigator(props) {
54
48
  var _a, _b;
55
49
  const {
@@ -150,15 +144,15 @@ function PisellTimeNavigator(props) {
150
144
  [isHorizontal, range == null ? void 0 : range.start, range == null ? void 0 : range.end, referenceDate, stepMinutes]
151
145
  );
152
146
  const cellSizePx = (0, import_react.useMemo)(() => {
153
- if (!isHorizontal) return CELL_SIZE_V;
154
- if (isAxisMoves) return CELL_SIZE_H;
147
+ if (!isHorizontal) return import_timeNavigatorConstants.CELL_SIZE_V;
148
+ if (isAxisMoves) return import_timeNavigatorConstants.CELL_SIZE_H;
155
149
  const n = horizontalSlotCount;
156
- if (n <= 0) return CELL_SIZE_H;
150
+ if (n <= 0) return import_timeNavigatorConstants.CELL_SIZE_H;
157
151
  const vpW = Math.max(1, viewportSize.w || 400);
158
- const reserve = showNowButton ? CURSOR_MOVES_NOW_RESERVE_PX : 0;
159
- const usable = Math.max(40, vpW - reserve - CURSOR_MOVES_H_PADDING_PX * 2);
152
+ const reserve = showNowButton ? import_timeNavigatorConstants.CURSOR_MOVES_NOW_RESERVE_PX : 0;
153
+ const usable = Math.max(40, vpW - reserve - import_timeNavigatorConstants.CURSOR_MOVES_H_PADDING_PX * 2);
160
154
  const raw = Math.floor(usable / n);
161
- return Math.max(CURSOR_MOVES_MIN_CELL_PX, Math.min(CELL_SIZE_H, raw));
155
+ return Math.max(import_timeNavigatorConstants.CURSOR_MOVES_MIN_CELL_PX, Math.min(import_timeNavigatorConstants.CELL_SIZE_H, raw));
162
156
  }, [
163
157
  isHorizontal,
164
158
  isAxisMoves,
@@ -182,7 +176,7 @@ function PisellTimeNavigator(props) {
182
176
  const maxV = Math.max(...slice, 0);
183
177
  const minV = Math.min(...slice, 0);
184
178
  const span = Math.max(1, maxV - minV);
185
- const h = DENSITY_LAYER_HEIGHT;
179
+ const h = import_timeNavigatorConstants.DENSITY_LAYER_HEIGHT;
186
180
  const points = slice.map((v, i) => {
187
181
  const x = i * cellSizePx + cellSizePx / 2;
188
182
  const t = (v - minV) / span;
@@ -236,7 +230,36 @@ function PisellTimeNavigator(props) {
236
230
  return () => clearInterval(id);
237
231
  }, []);
238
232
  const cursorDragActiveRef = (0, import_react.useRef)(false);
239
- const cursorDragBaseRef = (0, import_react.useRef)({ startClient: 0, startOffset: 0 });
233
+ const cursorDragBaseRef = (0, import_react.useRef)({
234
+ startClient: 0,
235
+ startOffset: 0,
236
+ pxPerClient: 1
237
+ });
238
+ const measureWrapPxPerClient = (0, import_react.useCallback)(() => {
239
+ const el = viewportWrapRef.current;
240
+ if (!el) return 1;
241
+ const rect = el.getBoundingClientRect();
242
+ const layout = isHorizontal ? el.offsetWidth : el.offsetHeight;
243
+ const rendered = isHorizontal ? rect.width : rect.height;
244
+ if (!layout || !rendered) return 1;
245
+ const scale = rendered / layout;
246
+ if (!Number.isFinite(scale) || scale <= 0.01) return 1;
247
+ return 1 / scale;
248
+ }, [isHorizontal]);
249
+ const [isCursorDragging, setIsCursorDragging] = (0, import_react.useState)(false);
250
+ const [dragVisualOffsetPx, setDragVisualOffsetPx] = (0, import_react.useState)(
251
+ null
252
+ );
253
+ const pendingDragOffsetRef = (0, import_react.useRef)(null);
254
+ const dragRafIdRef = (0, import_react.useRef)(null);
255
+ const cancelPendingDragFrame = (0, import_react.useCallback)(() => {
256
+ if (dragRafIdRef.current != null) {
257
+ cancelAnimationFrame(dragRafIdRef.current);
258
+ dragRafIdRef.current = null;
259
+ }
260
+ pendingDragOffsetRef.current = null;
261
+ }, []);
262
+ (0, import_react.useEffect)(() => cancelPendingDragFrame, [cancelPendingDragFrame]);
240
263
  const getScrollContainer = (0, import_react.useCallback)(
241
264
  () => {
242
265
  var _a2, _b2;
@@ -254,7 +277,7 @@ function PisellTimeNavigator(props) {
254
277
  const halfViewportW = effectiveViewportW / 2;
255
278
  const halfViewportH = effectiveViewportH / 2;
256
279
  const dotOffsetPx = isHorizontal ? cellSizePx / 2 : 0;
257
- const axisStartMarginW = isHorizontal && !isAxisMoves ? CURSOR_MOVES_H_PADDING_PX : Math.max(0, halfViewportW - dotOffsetPx);
280
+ const axisStartMarginW = isHorizontal && !isAxisMoves ? import_timeNavigatorConstants.CURSOR_MOVES_H_PADDING_PX : Math.max(0, halfViewportW - dotOffsetPx);
258
281
  const axisStartMarginH = Math.max(0, halfViewportH - dotOffsetPx);
259
282
  const horizontalAxisWrapStyle = (0, import_react.useMemo)(() => {
260
283
  if (!isHorizontal) return null;
@@ -271,7 +294,7 @@ function PisellTimeNavigator(props) {
271
294
  }
272
295
  return { width: natural2, minHeight };
273
296
  }
274
- const natural = CURSOR_MOVES_H_PADDING_PX + axis.totalLengthPx + CURSOR_MOVES_H_PADDING_PX;
297
+ const natural = import_timeNavigatorConstants.CURSOR_MOVES_H_PADDING_PX + axis.totalLengthPx + import_timeNavigatorConstants.CURSOR_MOVES_H_PADDING_PX;
275
298
  if (!showNowButton) {
276
299
  return {
277
300
  width: "100%",
@@ -435,6 +458,11 @@ function PisellTimeNavigator(props) {
435
458
  });
436
459
  }, [referenceDayMs, isControlled, defaultValue]);
437
460
  const cursorOffsetPx = axis.timeToOffset(effectiveValue);
461
+ const visualCursorOffsetPx = dragVisualOffsetPx ?? cursorOffsetPx;
462
+ const visualValue = (0, import_react.useMemo)(() => {
463
+ if (dragVisualOffsetPx == null) return effectiveValue;
464
+ return axis.offsetToTimeContinuous(dragVisualOffsetPx) ?? effectiveValue;
465
+ }, [dragVisualOffsetPx, axis.offsetToTimeContinuous, effectiveValue]);
438
466
  const wallAligned = (0, import_dayjs.default)().startOf("minute");
439
467
  const currentTimeInRange = !wallAligned.isBefore(axis.rangeStart) && !wallAligned.isAfter(axis.rangeEnd);
440
468
  const currentTimeOffsetPx = currentTimeInRange ? axis.timeToOffset(wallAligned) : void 0;
@@ -442,7 +470,7 @@ function PisellTimeNavigator(props) {
442
470
  if (!isHorizontal || currentTimeOffsetPx == null || currentTimeOffsetPx < 0) {
443
471
  return null;
444
472
  }
445
- const w = Math.min(CURRENT_TIME_GRADIENT_WIDTH_H_PX, currentTimeOffsetPx);
473
+ const w = Math.min(import_timeNavigatorConstants.CURRENT_TIME_GRADIENT_WIDTH_H_PX, currentTimeOffsetPx);
446
474
  return {
447
475
  left: axisStartMarginW + Math.max(0, currentTimeOffsetPx - w),
448
476
  top: 0,
@@ -568,9 +596,11 @@ function PisellTimeNavigator(props) {
568
596
  cursorDragActiveRef.current = true;
569
597
  cursorDragBaseRef.current = {
570
598
  startClient: isHorizontal ? e.clientX : e.clientY,
571
- startOffset: cursorOffsetPx
599
+ startOffset: cursorOffsetPx,
600
+ pxPerClient: measureWrapPxPerClient()
572
601
  };
573
602
  valueUpdatedByScrollRef.current = true;
603
+ setIsCursorDragging(true);
574
604
  e.currentTarget.setPointerCapture(e.pointerId);
575
605
  },
576
606
  [
@@ -578,34 +608,51 @@ function PisellTimeNavigator(props) {
578
608
  isAxisMoves,
579
609
  isHorizontal,
580
610
  cursorOffsetPx,
581
- onUserInteraction
611
+ onUserInteraction,
612
+ measureWrapPxPerClient
582
613
  ]
583
614
  );
584
615
  const handleCursorDragPointerMove = (0, import_react.useCallback)(
585
616
  (e) => {
586
617
  if (!cursorDragActiveRef.current) return;
587
618
  const client = isHorizontal ? e.clientX : e.clientY;
588
- const delta = client - cursorDragBaseRef.current.startClient;
619
+ const screenDelta = client - cursorDragBaseRef.current.startClient;
620
+ const delta = screenDelta * (cursorDragBaseRef.current.pxPerClient || 1);
589
621
  const nextOff = cursorDragBaseRef.current.startOffset + delta;
590
- applyOffsetToNavigatorValue(nextOff, false);
622
+ pendingDragOffsetRef.current = nextOff;
623
+ if (dragRafIdRef.current != null) return;
624
+ dragRafIdRef.current = requestAnimationFrame(() => {
625
+ dragRafIdRef.current = null;
626
+ const pending = pendingDragOffsetRef.current;
627
+ pendingDragOffsetRef.current = null;
628
+ if (pending == null) return;
629
+ if (!cursorDragActiveRef.current) return;
630
+ const maxO = Math.max(0, axis.totalLengthPx - 1e-3);
631
+ const clamped = Math.max(0, Math.min(pending, maxO));
632
+ setDragVisualOffsetPx(clamped);
633
+ });
591
634
  },
592
- [isHorizontal, applyOffsetToNavigatorValue]
635
+ [isHorizontal, axis.totalLengthPx]
593
636
  );
594
637
  const handleCursorDragPointerUp = (0, import_react.useCallback)(
595
638
  (e) => {
596
639
  if (!cursorDragActiveRef.current) return;
597
640
  cursorDragActiveRef.current = false;
641
+ setIsCursorDragging(false);
598
642
  try {
599
643
  e.currentTarget.releasePointerCapture(e.pointerId);
600
644
  } catch {
601
645
  }
602
646
  const client = isHorizontal ? e.clientX : e.clientY;
603
- const delta = client - cursorDragBaseRef.current.startClient;
647
+ const screenDelta = client - cursorDragBaseRef.current.startClient;
648
+ const delta = screenDelta * (cursorDragBaseRef.current.pxPerClient || 1);
604
649
  const nextOff = cursorDragBaseRef.current.startOffset + delta;
605
650
  valueUpdatedByScrollRef.current = false;
651
+ cancelPendingDragFrame();
652
+ setDragVisualOffsetPx(null);
606
653
  applyOffsetToNavigatorValue(nextOff, true);
607
654
  },
608
- [isHorizontal, applyOffsetToNavigatorValue]
655
+ [isHorizontal, applyOffsetToNavigatorValue, cancelPendingDragFrame]
609
656
  );
610
657
  const businessHoursPx = (0, import_react.useMemo)(() => {
611
658
  if (!businessHours) return void 0;
@@ -680,6 +727,7 @@ function PisellTimeNavigator(props) {
680
727
  cellSizePx,
681
728
  axisStartMarginPx: isHorizontal ? axisStartMarginW : axisStartMarginH,
682
729
  offsetToTime: axis.offsetToTime,
730
+ offsetToTimeContinuous: axis.offsetToTimeContinuous,
683
731
  onSelectTime: handleSelectTime,
684
732
  isInDisabledRanges: isInDisabled,
685
733
  snapToStep,
@@ -841,13 +889,14 @@ function PisellTimeNavigator(props) {
841
889
  import_components.CursorLayer,
842
890
  {
843
891
  orientation,
844
- value: effectiveValue,
892
+ value: visualValue,
845
893
  timeFormat,
846
894
  locale,
847
895
  isRealtime: realtime,
848
- offsetPx: cursorOffsetPx,
896
+ offsetPx: visualCursorOffsetPx,
849
897
  style: cursorStyle,
850
898
  dragInteractive: !userInteractionLocked,
899
+ isDragging: isCursorDragging,
851
900
  onDragPointerDown: handleCursorDragPointerDown,
852
901
  onDragPointerMove: handleCursorDragPointerMove,
853
902
  onDragPointerUp: handleCursorDragPointerUp,
@@ -859,6 +908,26 @@ function PisellTimeNavigator(props) {
859
908
  )
860
909
  )
861
910
  ),
911
+ !isAxisMoves && isHorizontal && isCursorDragging && visualValue != null && /* @__PURE__ */ import_react.default.createElement(
912
+ "div",
913
+ {
914
+ className: "pisell-time-navigator-drag-bubble-overlay",
915
+ "aria-hidden": true
916
+ },
917
+ /* @__PURE__ */ import_react.default.createElement(
918
+ "span",
919
+ {
920
+ className: (0, import_classnames.default)(
921
+ "pisell-time-navigator-drag-bubble",
922
+ realtime && "pisell-time-navigator-drag-bubble--realtime"
923
+ ),
924
+ style: {
925
+ left: axisStartMarginW + visualCursorOffsetPx - scrollPosition.scrollLeft
926
+ }
927
+ },
928
+ locale ? visualValue.locale(locale).format(timeFormat) : visualValue.format(timeFormat)
929
+ )
930
+ ),
862
931
  isAxisMoves && /* @__PURE__ */ import_react.default.createElement(
863
932
  "div",
864
933
  {