@pisell/materials 1.0.1059 → 1.0.1062

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 (374) hide show
  1. package/README.md +285 -285
  2. package/build/lowcode/assets-daily.json +11 -11
  3. package/build/lowcode/assets-dev.json +2 -2
  4. package/build/lowcode/assets-prod.json +11 -11
  5. package/build/lowcode/index.js +1 -1
  6. package/build/lowcode/meta.js +7 -7
  7. package/build/lowcode/preview.js +9 -9
  8. package/build/lowcode/render/default/view.css +1 -1
  9. package/build/lowcode/render/default/view.js +27 -27
  10. package/build/lowcode/view.css +1 -1
  11. package/build/lowcode/view.js +27 -27
  12. package/es/components/PisellLayouts/index.d.ts +2 -1
  13. package/es/components/PisellLayouts/index.js +17 -15
  14. package/es/components/cardMetricItem/index.js +2 -2
  15. package/es/components/pisellFilter/type.d.ts +4 -2
  16. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.d.ts +1 -1
  17. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.js +474 -202
  18. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.less +70 -0
  19. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.stories.d.ts +13 -0
  20. package/es/components/pisellFloorMapLayout/PisellFloorMapLayout.stories.js +469 -38
  21. package/es/components/pisellFloorMapLayout/components/CanvasTabs.d.ts +22 -0
  22. package/es/components/pisellFloorMapLayout/components/CanvasTabs.js +203 -0
  23. package/es/components/pisellFloorMapLayout/components/CanvasTabs.less +189 -0
  24. package/es/components/pisellFloorMapLayout/components/EditableItemLayer.d.ts +37 -0
  25. package/es/components/pisellFloorMapLayout/components/EditableItemLayer.js +341 -0
  26. package/es/components/pisellFloorMapLayout/components/EditableItemLayer.less +89 -0
  27. package/es/components/pisellFloorMapLayout/components/FigmaTableCard.d.ts +39 -0
  28. package/es/components/pisellFloorMapLayout/components/FigmaTableCard.js +432 -0
  29. package/es/components/pisellFloorMapLayout/components/FloorMapDataForm.d.ts +17 -0
  30. package/es/components/pisellFloorMapLayout/components/FloorMapDataForm.js +131 -0
  31. package/es/components/pisellFloorMapLayout/components/FloorMapDataForm.less +7 -0
  32. package/es/components/pisellFloorMapLayout/components/FloorMapEditPanel.d.ts +11 -0
  33. package/es/components/pisellFloorMapLayout/components/FloorMapEditPanel.js +497 -0
  34. package/es/components/pisellFloorMapLayout/components/FloorMapEditPanel.less +154 -0
  35. package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.d.ts +34 -0
  36. package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.js +130 -0
  37. package/es/components/pisellFloorMapLayout/components/FloorMapEditTopBar.less +131 -0
  38. package/es/components/pisellFloorMapLayout/components/FloorMapImageElement.d.ts +6 -0
  39. package/es/components/pisellFloorMapLayout/components/FloorMapImageElement.js +69 -0
  40. package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.d.ts +35 -0
  41. package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.js +361 -0
  42. package/es/components/pisellFloorMapLayout/components/FloorMapToolbar.less +237 -0
  43. package/es/components/pisellFloorMapLayout/components/ItemLayer.d.ts +7 -0
  44. package/es/components/pisellFloorMapLayout/components/ItemLayer.js +37 -11
  45. package/es/components/pisellFloorMapLayout/components/MapLayer.d.ts +4 -0
  46. package/es/components/pisellFloorMapLayout/components/MapLayer.js +11 -3
  47. package/es/components/pisellFloorMapLayout/components/ViewControls.js +2 -2
  48. package/es/components/pisellFloorMapLayout/components/ViewControls.less +3 -2
  49. package/es/components/pisellFloorMapLayout/components/ViewControlsWithZoom.d.ts +11 -0
  50. package/es/components/pisellFloorMapLayout/components/ViewControlsWithZoom.js +27 -0
  51. package/es/components/pisellFloorMapLayout/components/index.d.ts +14 -0
  52. package/es/components/pisellFloorMapLayout/components/index.js +8 -1
  53. package/es/components/pisellFloorMapLayout/context/FloorMapLayoutContext.d.ts +16 -0
  54. package/es/components/pisellFloorMapLayout/context/FloorMapLayoutContext.js +21 -0
  55. package/es/components/pisellFloorMapLayout/context/mergeFloorMapLayoutContext.d.ts +5 -0
  56. package/es/components/pisellFloorMapLayout/context/mergeFloorMapLayoutContext.js +28 -0
  57. package/es/components/pisellFloorMapLayout/hooks/useFloorMapEditState.d.ts +62 -0
  58. package/es/components/pisellFloorMapLayout/hooks/useFloorMapEditState.js +438 -0
  59. package/es/components/pisellFloorMapLayout/hooks/useFloorMapPaletteTouchDrag.d.ts +21 -0
  60. package/es/components/pisellFloorMapLayout/hooks/useFloorMapPaletteTouchDrag.js +122 -0
  61. package/es/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.d.ts +67 -0
  62. package/es/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.js +322 -0
  63. package/es/components/pisellFloorMapLayout/index.d.ts +9 -2
  64. package/es/components/pisellFloorMapLayout/index.js +7 -2
  65. package/es/components/pisellFloorMapLayout/locales.d.ts +186 -0
  66. package/es/components/pisellFloorMapLayout/locales.js +185 -0
  67. package/es/components/pisellFloorMapLayout/types.d.ts +362 -1
  68. package/es/components/pisellFloorMapLayout/types.js +148 -1
  69. package/es/components/pisellFloorMapLayout/utils/floorMapCanvasDisplay.d.ts +20 -0
  70. package/es/components/pisellFloorMapLayout/utils/floorMapCanvasDisplay.js +129 -0
  71. package/es/components/pisellFloorMapLayout/utils/floorMapConfigMerge.d.ts +8 -0
  72. package/es/components/pisellFloorMapLayout/utils/floorMapConfigMerge.js +87 -0
  73. package/es/components/pisellFloorMapLayout/utils/floorMapDropUtils.d.ts +26 -0
  74. package/es/components/pisellFloorMapLayout/utils/floorMapDropUtils.js +47 -0
  75. package/es/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.d.ts +11 -0
  76. package/es/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.js +69 -0
  77. package/es/components/pisellFloorMapLayout/utils/floorMapFallbackRender.d.ts +11 -0
  78. package/es/components/pisellFloorMapLayout/utils/floorMapFallbackRender.js +88 -0
  79. package/es/components/pisellFloorMapLayout/utils/floorMapStageDefaults.d.ts +8 -0
  80. package/es/components/pisellFloorMapLayout/utils/floorMapStageDefaults.js +8 -0
  81. package/es/components/pisellFloorMapLayout/utils/floorMapViewConfigDiff.d.ts +8 -0
  82. package/es/components/pisellFloorMapLayout/utils/floorMapViewConfigDiff.js +108 -0
  83. package/es/components/pisellFloorMapLayout/utils/layoutMeasurements.d.ts +30 -0
  84. package/es/components/pisellFloorMapLayout/utils/layoutMeasurements.js +125 -0
  85. package/es/components/pisellFloorMapLayout/utils/mergeCanvasesForTabs.d.ts +7 -0
  86. package/es/components/pisellFloorMapLayout/utils/mergeCanvasesForTabs.js +29 -0
  87. package/es/components/pisellFloorMapLayout/utils/snap.d.ts +10 -0
  88. package/es/components/pisellFloorMapLayout/utils/snap.js +21 -0
  89. package/es/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.d.ts +6 -0
  90. package/es/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.js +175 -0
  91. package/es/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.less +129 -0
  92. package/es/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.stories.d.ts +10 -0
  93. package/es/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.stories.js +237 -0
  94. package/es/components/pisellHierarchicalSummaryList/components/Row.d.ts +35 -0
  95. package/es/components/pisellHierarchicalSummaryList/components/Row.js +313 -0
  96. package/es/components/pisellHierarchicalSummaryList/components/index.d.ts +1 -0
  97. package/es/components/pisellHierarchicalSummaryList/components/index.js +1 -0
  98. package/es/components/pisellHierarchicalSummaryList/hooks/index.d.ts +2 -0
  99. package/es/components/pisellHierarchicalSummaryList/hooks/index.js +1 -0
  100. package/es/components/pisellHierarchicalSummaryList/hooks/useExpandedKeys.d.ts +15 -0
  101. package/es/components/pisellHierarchicalSummaryList/hooks/useExpandedKeys.js +34 -0
  102. package/es/components/pisellHierarchicalSummaryList/index.d.ts +5 -0
  103. package/es/components/pisellHierarchicalSummaryList/index.js +5 -0
  104. package/es/components/pisellHierarchicalSummaryList/types.d.ts +248 -0
  105. package/es/components/pisellHierarchicalSummaryList/types.js +1 -0
  106. package/es/components/pisellLookup/PisellLookup.js +82 -82
  107. package/es/components/pisellMultipleSelect/PisellMultipleSelect.stories.js +34 -34
  108. package/es/components/pisellRecordBoard/PisellRecordBoard.d.ts +2 -1
  109. package/es/components/pisellRecordBoard/PisellRecordBoard.js +95 -18
  110. package/es/components/pisellRecordBoard/PisellRecordBoard.stories.d.ts +4 -0
  111. package/es/components/pisellRecordBoard/PisellRecordBoard.stories.js +1315 -383
  112. package/es/components/pisellRecordBoard/index.d.ts +7 -2
  113. package/es/components/pisellRecordBoard/index.js +2 -1
  114. package/es/components/pisellRecordBoard/shellFrame/ColumnSetting/index.js +1 -3
  115. package/es/components/pisellRecordBoard/shellFrame/FloorMap.d.ts +14 -0
  116. package/es/components/pisellRecordBoard/shellFrame/FloorMap.js +15 -0
  117. package/es/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.d.ts +16 -0
  118. package/es/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.js +11 -0
  119. package/es/components/pisellRecordBoard/shellFrame/ToolBar/ToolBarFilter.less +47 -0
  120. package/es/components/pisellRecordBoard/shellFrame/ToolBar/index.js +57 -10
  121. package/es/components/pisellRecordBoard/shellFrame/ToolBarReset/index.js +3 -3
  122. package/es/components/pisellRecordBoard/shellFrame/index.d.ts +4 -10
  123. package/es/components/pisellRecordBoard/shellFrame/index.js +101 -19
  124. package/es/components/pisellRecordBoard/types.d.ts +62 -2
  125. package/es/components/pisellRecordBoard/utils/partitionShellFrameChildren.d.ts +15 -0
  126. package/es/components/pisellRecordBoard/utils/partitionShellFrameChildren.js +57 -0
  127. package/es/components/pisellReservationSchedule/PisellReservationSchedule.d.ts +10 -0
  128. package/es/components/pisellReservationSchedule/PisellReservationSchedule.js +156 -0
  129. package/es/components/pisellReservationSchedule/PisellReservationSchedule.less +88 -0
  130. package/es/components/pisellReservationSchedule/PisellReservationSchedule.stories.d.ts +12 -0
  131. package/es/components/pisellReservationSchedule/PisellReservationSchedule.stories.js +105 -0
  132. package/es/components/pisellReservationSchedule/index.d.ts +2 -0
  133. package/es/components/pisellReservationSchedule/index.js +1 -0
  134. package/es/components/pisellReservationSchedule/locales.d.ts +25 -0
  135. package/es/components/pisellReservationSchedule/locales.js +24 -0
  136. package/es/components/pisellReservationSchedule/types.d.ts +42 -0
  137. package/es/components/pisellReservationSchedule/types.js +1 -0
  138. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.d.ts +10 -0
  139. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.js +91 -0
  140. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.less +49 -0
  141. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.stories.d.ts +16 -0
  142. package/es/components/pisellReservationScheduleBand/PisellReservationScheduleBand.stories.js +197 -0
  143. package/es/components/pisellReservationScheduleBand/index.d.ts +2 -0
  144. package/es/components/pisellReservationScheduleBand/index.js +1 -0
  145. package/es/components/pisellReservationScheduleBand/types.d.ts +45 -0
  146. package/es/components/pisellReservationScheduleBand/types.js +1 -0
  147. package/es/components/pisellRow/index.js +7 -7
  148. package/es/components/pisellTimeNavigator/PisellTimeNavigator.d.ts +10 -0
  149. package/es/components/pisellTimeNavigator/PisellTimeNavigator.js +609 -0
  150. package/es/components/pisellTimeNavigator/PisellTimeNavigator.less +412 -0
  151. package/es/components/pisellTimeNavigator/PisellTimeNavigator.stories.d.ts +79 -0
  152. package/es/components/pisellTimeNavigator/PisellTimeNavigator.stories.js +290 -0
  153. package/es/components/pisellTimeNavigator/components/BackgroundLayer.d.ts +14 -0
  154. package/es/components/pisellTimeNavigator/components/BackgroundLayer.js +30 -0
  155. package/es/components/pisellTimeNavigator/components/CursorLayer.d.ts +20 -0
  156. package/es/components/pisellTimeNavigator/components/CursorLayer.js +46 -0
  157. package/es/components/pisellTimeNavigator/components/GestureLayer.d.ts +31 -0
  158. package/es/components/pisellTimeNavigator/components/GestureLayer.js +82 -0
  159. package/es/components/pisellTimeNavigator/components/NowButton.d.ts +14 -0
  160. package/es/components/pisellTimeNavigator/components/NowButton.js +38 -0
  161. package/es/components/pisellTimeNavigator/components/ScaleLayer.d.ts +17 -0
  162. package/es/components/pisellTimeNavigator/components/ScaleLayer.js +51 -0
  163. package/es/components/pisellTimeNavigator/components/index.d.ts +5 -0
  164. package/es/components/pisellTimeNavigator/components/index.js +5 -0
  165. package/es/components/pisellTimeNavigator/hooks/index.d.ts +5 -0
  166. package/es/components/pisellTimeNavigator/hooks/index.js +3 -0
  167. package/es/components/pisellTimeNavigator/hooks/useDragInertia.d.ts +14 -0
  168. package/es/components/pisellTimeNavigator/hooks/useDragInertia.js +109 -0
  169. package/es/components/pisellTimeNavigator/hooks/useRealtime.d.ts +5 -0
  170. package/es/components/pisellTimeNavigator/hooks/useRealtime.js +16 -0
  171. package/es/components/pisellTimeNavigator/hooks/useTimeAxis.d.ts +27 -0
  172. package/es/components/pisellTimeNavigator/hooks/useTimeAxis.js +76 -0
  173. package/es/components/pisellTimeNavigator/index.d.ts +4 -0
  174. package/es/components/pisellTimeNavigator/index.js +3 -0
  175. package/es/components/pisellTimeNavigator/locales.d.ts +22 -0
  176. package/es/components/pisellTimeNavigator/locales.js +21 -0
  177. package/es/components/pisellTimeNavigator/types.d.ts +149 -0
  178. package/es/components/pisellTimeNavigator/types.js +1 -0
  179. package/es/components/pisellTimeNavigator/utils/index.d.ts +30 -0
  180. package/es/components/pisellTimeNavigator/utils/index.js +116 -0
  181. package/es/index.d.ts +15 -5
  182. package/es/index.js +7 -1
  183. package/es/locales/en-US.d.ts +2 -0
  184. package/es/locales/en-US.js +6 -4
  185. package/es/locales/zh-CN.d.ts +2 -0
  186. package/es/locales/zh-CN.js +6 -4
  187. package/es/locales/zh-TW.d.ts +2 -0
  188. package/es/locales/zh-TW.js +6 -4
  189. package/lib/components/PisellLayouts/index.d.ts +2 -1
  190. package/lib/components/PisellLayouts/index.js +13 -1
  191. package/lib/components/pisellFilter/type.d.ts +4 -2
  192. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.d.ts +1 -1
  193. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.js +566 -181
  194. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.less +70 -0
  195. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.stories.d.ts +13 -0
  196. package/lib/components/pisellFloorMapLayout/PisellFloorMapLayout.stories.js +682 -84
  197. package/lib/components/pisellFloorMapLayout/components/CanvasTabs.d.ts +22 -0
  198. package/lib/components/pisellFloorMapLayout/components/CanvasTabs.js +237 -0
  199. package/lib/components/pisellFloorMapLayout/components/CanvasTabs.less +189 -0
  200. package/lib/components/pisellFloorMapLayout/components/EditableItemLayer.d.ts +37 -0
  201. package/lib/components/pisellFloorMapLayout/components/EditableItemLayer.js +358 -0
  202. package/lib/components/pisellFloorMapLayout/components/EditableItemLayer.less +89 -0
  203. package/lib/components/pisellFloorMapLayout/components/FigmaTableCard.d.ts +39 -0
  204. package/lib/components/pisellFloorMapLayout/components/FigmaTableCard.js +482 -0
  205. package/lib/components/pisellFloorMapLayout/components/FloorMapDataForm.d.ts +17 -0
  206. package/lib/components/pisellFloorMapLayout/components/FloorMapDataForm.js +117 -0
  207. package/lib/components/pisellFloorMapLayout/components/FloorMapDataForm.less +7 -0
  208. package/lib/components/pisellFloorMapLayout/components/FloorMapEditPanel.d.ts +11 -0
  209. package/lib/components/pisellFloorMapLayout/components/FloorMapEditPanel.js +508 -0
  210. package/lib/components/pisellFloorMapLayout/components/FloorMapEditPanel.less +154 -0
  211. package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.d.ts +34 -0
  212. package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.js +188 -0
  213. package/lib/components/pisellFloorMapLayout/components/FloorMapEditTopBar.less +131 -0
  214. package/lib/components/pisellFloorMapLayout/components/FloorMapImageElement.d.ts +6 -0
  215. package/lib/components/pisellFloorMapLayout/components/FloorMapImageElement.js +94 -0
  216. package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.d.ts +35 -0
  217. package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.js +333 -0
  218. package/lib/components/pisellFloorMapLayout/components/FloorMapToolbar.less +237 -0
  219. package/lib/components/pisellFloorMapLayout/components/ItemLayer.d.ts +7 -0
  220. package/lib/components/pisellFloorMapLayout/components/ItemLayer.js +26 -5
  221. package/lib/components/pisellFloorMapLayout/components/MapLayer.d.ts +4 -0
  222. package/lib/components/pisellFloorMapLayout/components/MapLayer.js +7 -2
  223. package/lib/components/pisellFloorMapLayout/components/ViewControls.less +3 -2
  224. package/lib/components/pisellFloorMapLayout/components/ViewControlsWithZoom.d.ts +11 -0
  225. package/lib/components/pisellFloorMapLayout/components/ViewControlsWithZoom.js +63 -0
  226. package/lib/components/pisellFloorMapLayout/components/index.d.ts +14 -0
  227. package/lib/components/pisellFloorMapLayout/components/index.js +23 -2
  228. package/lib/components/pisellFloorMapLayout/context/FloorMapLayoutContext.d.ts +16 -0
  229. package/lib/components/pisellFloorMapLayout/context/FloorMapLayoutContext.js +54 -0
  230. package/lib/components/pisellFloorMapLayout/context/mergeFloorMapLayoutContext.d.ts +5 -0
  231. package/lib/components/pisellFloorMapLayout/context/mergeFloorMapLayoutContext.js +47 -0
  232. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapEditState.d.ts +62 -0
  233. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapEditState.js +431 -0
  234. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapPaletteTouchDrag.d.ts +21 -0
  235. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapPaletteTouchDrag.js +146 -0
  236. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.d.ts +67 -0
  237. package/lib/components/pisellFloorMapLayout/hooks/useFloorMapTransformMetrics.js +309 -0
  238. package/lib/components/pisellFloorMapLayout/index.d.ts +9 -2
  239. package/lib/components/pisellFloorMapLayout/index.js +31 -2
  240. package/lib/components/pisellFloorMapLayout/locales.d.ts +186 -0
  241. package/lib/components/pisellFloorMapLayout/locales.js +206 -0
  242. package/lib/components/pisellFloorMapLayout/types.d.ts +362 -1
  243. package/lib/components/pisellFloorMapLayout/types.js +15 -0
  244. package/lib/components/pisellFloorMapLayout/utils/floorMapCanvasDisplay.d.ts +20 -0
  245. package/lib/components/pisellFloorMapLayout/utils/floorMapCanvasDisplay.js +126 -0
  246. package/lib/components/pisellFloorMapLayout/utils/floorMapConfigMerge.d.ts +8 -0
  247. package/lib/components/pisellFloorMapLayout/utils/floorMapConfigMerge.js +66 -0
  248. package/lib/components/pisellFloorMapLayout/utils/floorMapDropUtils.d.ts +26 -0
  249. package/lib/components/pisellFloorMapLayout/utils/floorMapDropUtils.js +61 -0
  250. package/lib/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.d.ts +11 -0
  251. package/lib/components/pisellFloorMapLayout/utils/floorMapElementKindUtils.js +70 -0
  252. package/lib/components/pisellFloorMapLayout/utils/floorMapFallbackRender.d.ts +11 -0
  253. package/lib/components/pisellFloorMapLayout/utils/floorMapFallbackRender.js +135 -0
  254. package/lib/components/pisellFloorMapLayout/utils/floorMapStageDefaults.d.ts +8 -0
  255. package/lib/components/pisellFloorMapLayout/utils/floorMapStageDefaults.js +33 -0
  256. package/lib/components/pisellFloorMapLayout/utils/floorMapViewConfigDiff.d.ts +8 -0
  257. package/lib/components/pisellFloorMapLayout/utils/floorMapViewConfigDiff.js +128 -0
  258. package/lib/components/pisellFloorMapLayout/utils/layoutMeasurements.d.ts +30 -0
  259. package/lib/components/pisellFloorMapLayout/utils/layoutMeasurements.js +96 -0
  260. package/lib/components/pisellFloorMapLayout/utils/mergeCanvasesForTabs.d.ts +7 -0
  261. package/lib/components/pisellFloorMapLayout/utils/mergeCanvasesForTabs.js +41 -0
  262. package/lib/components/pisellFloorMapLayout/utils/snap.d.ts +10 -0
  263. package/lib/components/pisellFloorMapLayout/utils/snap.js +43 -0
  264. package/lib/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.d.ts +6 -0
  265. package/lib/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.js +179 -0
  266. package/lib/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.less +129 -0
  267. package/lib/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.stories.d.ts +10 -0
  268. package/lib/components/pisellHierarchicalSummaryList/PisellHierarchicalSummaryList.stories.js +218 -0
  269. package/lib/components/pisellHierarchicalSummaryList/components/Row.d.ts +35 -0
  270. package/lib/components/pisellHierarchicalSummaryList/components/Row.js +343 -0
  271. package/lib/components/pisellHierarchicalSummaryList/components/index.d.ts +1 -0
  272. package/lib/components/pisellHierarchicalSummaryList/components/index.js +29 -0
  273. package/lib/components/pisellHierarchicalSummaryList/hooks/index.d.ts +2 -0
  274. package/lib/components/pisellHierarchicalSummaryList/hooks/index.js +29 -0
  275. package/lib/components/pisellHierarchicalSummaryList/hooks/useExpandedKeys.d.ts +15 -0
  276. package/lib/components/pisellHierarchicalSummaryList/hooks/useExpandedKeys.js +51 -0
  277. package/lib/components/pisellHierarchicalSummaryList/index.d.ts +5 -0
  278. package/lib/components/pisellHierarchicalSummaryList/index.js +31 -0
  279. package/lib/components/pisellHierarchicalSummaryList/types.d.ts +248 -0
  280. package/lib/components/pisellHierarchicalSummaryList/types.js +17 -0
  281. package/lib/components/pisellRecordBoard/PisellRecordBoard.d.ts +2 -1
  282. package/lib/components/pisellRecordBoard/PisellRecordBoard.js +82 -8
  283. package/lib/components/pisellRecordBoard/PisellRecordBoard.stories.d.ts +4 -0
  284. package/lib/components/pisellRecordBoard/PisellRecordBoard.stories.js +915 -25
  285. package/lib/components/pisellRecordBoard/index.d.ts +7 -2
  286. package/lib/components/pisellRecordBoard/index.js +1 -0
  287. package/lib/components/pisellRecordBoard/shellFrame/ColumnSetting/index.js +8 -2
  288. package/lib/components/pisellRecordBoard/shellFrame/FloorMap.d.ts +14 -0
  289. package/lib/components/pisellRecordBoard/shellFrame/FloorMap.js +27 -0
  290. package/lib/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.d.ts +16 -0
  291. package/lib/components/pisellRecordBoard/shellFrame/ShellBodyMetaContext.js +45 -0
  292. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/ToolBarFilter.less +47 -0
  293. package/lib/components/pisellRecordBoard/shellFrame/ToolBar/index.js +48 -4
  294. package/lib/components/pisellRecordBoard/shellFrame/index.d.ts +4 -10
  295. package/lib/components/pisellRecordBoard/shellFrame/index.js +88 -6
  296. package/lib/components/pisellRecordBoard/types.d.ts +62 -2
  297. package/lib/components/pisellRecordBoard/utils/partitionShellFrameChildren.d.ts +15 -0
  298. package/lib/components/pisellRecordBoard/utils/partitionShellFrameChildren.js +88 -0
  299. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.d.ts +10 -0
  300. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.js +200 -0
  301. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.less +88 -0
  302. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.stories.d.ts +12 -0
  303. package/lib/components/pisellReservationSchedule/PisellReservationSchedule.stories.js +116 -0
  304. package/lib/components/pisellReservationSchedule/index.d.ts +2 -0
  305. package/lib/components/pisellReservationSchedule/index.js +29 -0
  306. package/lib/components/pisellReservationSchedule/locales.d.ts +25 -0
  307. package/lib/components/pisellReservationSchedule/locales.js +47 -0
  308. package/lib/components/pisellReservationSchedule/types.d.ts +42 -0
  309. package/lib/components/pisellReservationSchedule/types.js +17 -0
  310. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.d.ts +10 -0
  311. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.js +127 -0
  312. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.less +49 -0
  313. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.stories.d.ts +16 -0
  314. package/lib/components/pisellReservationScheduleBand/PisellReservationScheduleBand.stories.js +181 -0
  315. package/lib/components/pisellReservationScheduleBand/index.d.ts +2 -0
  316. package/lib/components/pisellReservationScheduleBand/index.js +29 -0
  317. package/lib/components/pisellReservationScheduleBand/types.d.ts +45 -0
  318. package/lib/components/pisellReservationScheduleBand/types.js +17 -0
  319. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.d.ts +10 -0
  320. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.js +716 -0
  321. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.less +412 -0
  322. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.stories.d.ts +79 -0
  323. package/lib/components/pisellTimeNavigator/PisellTimeNavigator.stories.js +273 -0
  324. package/lib/components/pisellTimeNavigator/components/BackgroundLayer.d.ts +14 -0
  325. package/lib/components/pisellTimeNavigator/components/BackgroundLayer.js +81 -0
  326. package/lib/components/pisellTimeNavigator/components/CursorLayer.d.ts +20 -0
  327. package/lib/components/pisellTimeNavigator/components/CursorLayer.js +74 -0
  328. package/lib/components/pisellTimeNavigator/components/GestureLayer.d.ts +31 -0
  329. package/lib/components/pisellTimeNavigator/components/GestureLayer.js +159 -0
  330. package/lib/components/pisellTimeNavigator/components/NowButton.d.ts +14 -0
  331. package/lib/components/pisellTimeNavigator/components/NowButton.js +81 -0
  332. package/lib/components/pisellTimeNavigator/components/ScaleLayer.d.ts +17 -0
  333. package/lib/components/pisellTimeNavigator/components/ScaleLayer.js +95 -0
  334. package/lib/components/pisellTimeNavigator/components/index.d.ts +5 -0
  335. package/lib/components/pisellTimeNavigator/components/index.js +41 -0
  336. package/lib/components/pisellTimeNavigator/hooks/index.d.ts +5 -0
  337. package/lib/components/pisellTimeNavigator/hooks/index.js +35 -0
  338. package/lib/components/pisellTimeNavigator/hooks/useDragInertia.d.ts +14 -0
  339. package/lib/components/pisellTimeNavigator/hooks/useDragInertia.js +136 -0
  340. package/lib/components/pisellTimeNavigator/hooks/useRealtime.d.ts +5 -0
  341. package/lib/components/pisellTimeNavigator/hooks/useRealtime.js +49 -0
  342. package/lib/components/pisellTimeNavigator/hooks/useTimeAxis.d.ts +27 -0
  343. package/lib/components/pisellTimeNavigator/hooks/useTimeAxis.js +81 -0
  344. package/lib/components/pisellTimeNavigator/index.d.ts +4 -0
  345. package/lib/components/pisellTimeNavigator/index.js +42 -0
  346. package/lib/components/pisellTimeNavigator/locales.d.ts +22 -0
  347. package/lib/components/pisellTimeNavigator/locales.js +41 -0
  348. package/lib/components/pisellTimeNavigator/types.d.ts +149 -0
  349. package/lib/components/pisellTimeNavigator/types.js +17 -0
  350. package/lib/components/pisellTimeNavigator/utils/index.d.ts +30 -0
  351. package/lib/components/pisellTimeNavigator/utils/index.js +107 -0
  352. package/lib/index.d.ts +15 -5
  353. package/lib/index.js +35 -0
  354. package/lib/locales/en-US.d.ts +2 -0
  355. package/lib/locales/en-US.js +2 -0
  356. package/lib/locales/zh-CN.d.ts +2 -0
  357. package/lib/locales/zh-CN.js +2 -0
  358. package/lib/locales/zh-TW.d.ts +2 -0
  359. package/lib/locales/zh-TW.js +2 -0
  360. package/lowcode/floor-map-layout-provider/meta.ts +65 -0
  361. package/lowcode/pisell-floor-map-layout/meta.ts +3894 -1
  362. package/lowcode/pisell-hierarchical-summary-list/meta.ts +244 -0
  363. package/lowcode/pisell-reservation-schedule/index.ts +3 -0
  364. package/lowcode/pisell-reservation-schedule/meta.ts +69 -0
  365. package/lowcode/pisell-reservation-schedule/snippets.ts +1 -0
  366. package/lowcode/pisell-reservation-schedule-band/index.ts +3 -0
  367. package/lowcode/pisell-reservation-schedule-band/meta.ts +96 -0
  368. package/lowcode/pisell-reservation-schedule-band/snippets.ts +1 -0
  369. package/lowcode/pisell-time-navigator/index.ts +3 -0
  370. package/lowcode/pisell-time-navigator/meta.ts +298 -0
  371. package/lowcode/pisell-time-navigator/snippets.ts +1 -0
  372. package/lowcode/render-figma-style-round-table-card/meta.ts +589 -0
  373. package/lowcode/render-figma-style-table-card/meta.ts +589 -0
  374. package/package.json +3 -3
@@ -0,0 +1,609 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
7
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
8
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
9
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
11
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
+ import React, { useState, useEffect, useRef, useCallback, useMemo } from 'react';
14
+ import dayjs from 'dayjs';
15
+ import classNames from 'classnames';
16
+ import PisellScrollView from "../PisellScrollView";
17
+ import { parseValue, getRangeBounds, snapToStepMinutes, isInDisabledRanges as checkDisabledRanges, getHorizontalAxisSlotCount } from "./utils";
18
+ import { useTimeAxis, useRealtime, useDragInertia } from "./hooks";
19
+ import { BackgroundLayer, CursorLayer, GestureLayer, NowButton, ScaleLayer } from "./components";
20
+ import { locales } from '@pisell/utils';
21
+ import pisellTimeNavigatorLocales from "./locales";
22
+ import "./PisellTimeNavigator.less";
23
+ import useEngineContext from "../../hooks/useEngineContext";
24
+
25
+ /** 横向每格宽度(px),Figma 约 82;axis-moves 固定用此值,cursor-moves 时按视口压缩以看全 range */
26
+ var CELL_SIZE_H = 82;
27
+ /** 竖向每格高度(px) */
28
+ var CELL_SIZE_V = 20;
29
+ /** 横向「Now」按钮占位,避免刻度被挡 */
30
+ var CURSOR_MOVES_NOW_RESERVE_PX = 56;
31
+ /** cursor-moves 横向:轴与视口左右边距 */
32
+ var CURSOR_MOVES_H_PADDING_PX = 8;
33
+ /** cursor-moves 横向:每格最小宽度(再小刻度不可读) */
34
+ var CURSOR_MOVES_MIN_CELL_PX = 8;
35
+
36
+ /**
37
+ * PisellTimeNavigator:可拖动的时间导航轴,时间范围内浏览、选择、控制
38
+ */
39
+ export function PisellTimeNavigator(props) {
40
+ var _context$engine;
41
+ var valueProp = props.value,
42
+ onChange = props.onChange,
43
+ defaultValue = props.defaultValue,
44
+ referenceDateProp = props.referenceDate,
45
+ _props$realtime = props.realtime,
46
+ realtime = _props$realtime === void 0 ? false : _props$realtime,
47
+ range = props.range,
48
+ _props$stepMinutes = props.stepMinutes,
49
+ stepMinutes = _props$stepMinutes === void 0 ? 15 : _props$stepMinutes,
50
+ _props$majorStepMinut = props.majorStepMinutes,
51
+ majorStepMinutes = _props$majorStepMinut === void 0 ? 60 : _props$majorStepMinut,
52
+ _props$cursorMode = props.cursorMode,
53
+ cursorMode = _props$cursorMode === void 0 ? 'axis-moves' : _props$cursorMode,
54
+ _props$orientation = props.orientation,
55
+ orientation = _props$orientation === void 0 ? 'horizontal' : _props$orientation,
56
+ disabledRanges = props.disabledRanges,
57
+ _props$showNowButton = props.showNowButton,
58
+ showNowButton = _props$showNowButton === void 0 ? true : _props$showNowButton,
59
+ _props$userInteractio = props.userInteractionLocked,
60
+ userInteractionLocked = _props$userInteractio === void 0 ? false : _props$userInteractio,
61
+ _props$snapToStep = props.snapToStep,
62
+ snapToStep = _props$snapToStep === void 0 ? true : _props$snapToStep,
63
+ _props$inertia = props.inertia,
64
+ inertia = _props$inertia === void 0 ? false : _props$inertia,
65
+ businessHours = props.businessHours,
66
+ pastTimeFade = props.pastTimeFade,
67
+ containerStyle = props.containerStyle,
68
+ scaleStyle = props.scaleStyle,
69
+ cursorStyle = props.cursorStyle,
70
+ nowButtonStyle = props.nowButtonStyle,
71
+ className = props.className,
72
+ style = props.style,
73
+ locale = props.locale,
74
+ _props$timeFormat = props.timeFormat,
75
+ timeFormat = _props$timeFormat === void 0 ? 'HH:mm' : _props$timeFormat,
76
+ renderNowButton = props.renderNowButton,
77
+ onUserInteraction = props.onUserInteraction;
78
+ var context = useEngineContext();
79
+ locales.init(pisellTimeNavigatorLocales, (context === null || context === void 0 || (_context$engine = context.engine) === null || _context$engine === void 0 || (_context$engine = _context$engine.props) === null || _context$engine === void 0 ? void 0 : _context$engine.locale) || 'en');
80
+
81
+ /**
82
+ * 锚定日历日:传入 prop 时以 prop 为准;不传则每帧取当天 0 点(与历史行为一致,便于跨自然日)
83
+ */
84
+ var referenceDateFromProp = useMemo(function () {
85
+ if (referenceDateProp == null) return undefined;
86
+ var d = parseValue(referenceDateProp, dayjs());
87
+ return (d !== null && d !== void 0 ? d : dayjs()).startOf('day');
88
+ }, [referenceDateProp]);
89
+ var referenceDate = referenceDateFromProp !== null && referenceDateFromProp !== void 0 ? referenceDateFromProp : dayjs().startOf('day');
90
+ var isHorizontal = orientation === 'horizontal';
91
+ var isAxisMoves = cursorMode === 'axis-moves';
92
+ var _useState = useState({
93
+ w: 0,
94
+ h: 0
95
+ }),
96
+ _useState2 = _slicedToArray(_useState, 2),
97
+ viewportSize = _useState2[0],
98
+ setViewportSize = _useState2[1];
99
+
100
+ /** 挂载和视口变化时同步尺寸(需在 cellSize 计算之前声明 state) */
101
+ var viewportWrapRef = useRef(null);
102
+ useEffect(function () {
103
+ var el = viewportWrapRef.current;
104
+ if (!el) return;
105
+ var setSize = function setSize() {
106
+ var w = el.clientWidth;
107
+ var h = el.clientHeight;
108
+ setViewportSize(function (prev) {
109
+ return prev.w === w && prev.h === h ? prev : {
110
+ w: w,
111
+ h: h
112
+ };
113
+ });
114
+ };
115
+ setSize();
116
+ var ro = new ResizeObserver(setSize);
117
+ ro.observe(el);
118
+ return function () {
119
+ return ro.disconnect();
120
+ };
121
+ }, []);
122
+ var horizontalSlotCount = useMemo(function () {
123
+ return isHorizontal ? getHorizontalAxisSlotCount(range, referenceDate, stepMinutes) : 0;
124
+ }, [isHorizontal, range === null || range === void 0 ? void 0 : range.start, range === null || range === void 0 ? void 0 : range.end, referenceDate, stepMinutes]);
125
+
126
+ /** cursor-moves + 横向:整段 range 压进一条可视区域,等比例缩小格宽 */
127
+ var cellSizePx = useMemo(function () {
128
+ if (!isHorizontal) return CELL_SIZE_V;
129
+ if (isAxisMoves) return CELL_SIZE_H;
130
+ var n = horizontalSlotCount;
131
+ if (n <= 0) return CELL_SIZE_H;
132
+ var vpW = Math.max(1, viewportSize.w || 400);
133
+ var reserve = showNowButton ? CURSOR_MOVES_NOW_RESERVE_PX : 0;
134
+ var usable = Math.max(40, vpW - reserve - CURSOR_MOVES_H_PADDING_PX * 2);
135
+ var raw = Math.floor(usable / n);
136
+ return Math.max(CURSOR_MOVES_MIN_CELL_PX, Math.min(CELL_SIZE_H, raw));
137
+ }, [isHorizontal, isAxisMoves, horizontalSlotCount, viewportSize.w, showNowButton]);
138
+ var axis = useTimeAxis({
139
+ range: range,
140
+ stepMinutes: stepMinutes,
141
+ referenceDate: referenceDate,
142
+ orientation: orientation,
143
+ cellSizePx: cellSizePx
144
+ });
145
+ var isControlled = valueProp !== undefined;
146
+ var _useState3 = useState(function () {
147
+ var v = valueProp !== null && valueProp !== void 0 ? valueProp : defaultValue;
148
+ return parseValue(v, referenceDate);
149
+ }),
150
+ _useState4 = _slicedToArray(_useState3, 2),
151
+ internalValue = _useState4[0],
152
+ setInternalValue = _useState4[1];
153
+ var value = isControlled ? valueProp != null ? parseValue(valueProp, referenceDate) : null : internalValue;
154
+ var effectiveValue = value !== null && value !== void 0 ? value : axis.rangeStart;
155
+ var scrollRef = useRef(null);
156
+ /** 标记当前是否为「程序性滚动到中心」:其触发的 onScrollEnd 不再做时间判定 */
157
+ var scrollToCenterInProgressRef = useRef(false);
158
+ /** 标记 value 是否由滚动/松手更新:若是则不再根据 value 做「滚动到中心」 */
159
+ var valueUpdatedByScrollRef = useRef(false);
160
+ /** 手指是否仍按在滚动区域上;仅当完全松手后才执行吸附 */
161
+ var isPointerDownRef = useRef(false);
162
+ var _useState5 = useState({
163
+ scrollLeft: 0,
164
+ scrollTop: 0
165
+ }),
166
+ _useState6 = _slicedToArray(_useState5, 2),
167
+ scrollPosition = _useState6[0],
168
+ setScrollPosition = _useState6[1];
169
+ /** 每分钟更新一次,使当前时间线/渐变块随真实时间移动 */
170
+ var _useState7 = useState(0),
171
+ _useState8 = _slicedToArray(_useState7, 2),
172
+ setNowTick = _useState8[1];
173
+ useEffect(function () {
174
+ var id = setInterval(function () {
175
+ return setNowTick(function (n) {
176
+ return n + 1;
177
+ });
178
+ }, 60 * 1000);
179
+ return function () {
180
+ return clearInterval(id);
181
+ };
182
+ }, []);
183
+
184
+ /** cursor-moves:拖指针时禁止程序性滚动抢焦点 */
185
+ var cursorDragActiveRef = useRef(false);
186
+ var cursorDragBaseRef = useRef({
187
+ startClient: 0,
188
+ startOffset: 0
189
+ });
190
+ var getScrollContainer = useCallback(function () {
191
+ var _scrollRef$current$ge, _scrollRef$current, _scrollRef$current$ge2;
192
+ return (_scrollRef$current$ge = (_scrollRef$current = scrollRef.current) === null || _scrollRef$current === void 0 || (_scrollRef$current$ge2 = _scrollRef$current.getScrollContainer) === null || _scrollRef$current$ge2 === void 0 ? void 0 : _scrollRef$current$ge2.call(_scrollRef$current)) !== null && _scrollRef$current$ge !== void 0 ? _scrollRef$current$ge : null;
193
+ }, []);
194
+ var inertiaHandlers = useDragInertia({
195
+ enabled: inertia && !userInteractionLocked,
196
+ orientation: orientation,
197
+ getScrollContainer: getScrollContainer
198
+ });
199
+
200
+ /** 横向:点位于每格中心 cellSizePx/2;竖向:对齐整点上面的粗线(格顶),dotOffsetPx=0 */
201
+ /** 视口未量到前用默认值,避免首帧 axisStartMargin 为 0 导致错位 */
202
+ var effectiveViewportW = viewportSize.w || 400;
203
+ var effectiveViewportH = viewportSize.h || 300;
204
+ var halfViewportW = effectiveViewportW / 2;
205
+ var halfViewportH = effectiveViewportH / 2;
206
+ var dotOffsetPx = isHorizontal ? cellSizePx / 2 : 0;
207
+ /** cursor-moves 横向:左右小边距,整轴落在视口内;axis-moves 保持半屏留白可滚动 */
208
+ var axisStartMarginW = isHorizontal && !isAxisMoves ? CURSOR_MOVES_H_PADDING_PX : Math.max(0, halfViewportW - dotOffsetPx);
209
+ var axisStartMarginH = Math.max(0, halfViewportH - dotOffsetPx);
210
+
211
+ /** 拖动中:用连续映射按 1 分钟步长显示时间(不吸附到 stepMinutes) */
212
+ var handleScroll = useCallback(function (data) {
213
+ /** 程序性滚动到中心(如点 Now)过程中不更新任何状态,避免时间轴再动、value 被覆盖 */
214
+ if (scrollToCenterInProgressRef.current) return;
215
+ setScrollPosition({
216
+ scrollLeft: data.scrollLeft,
217
+ scrollTop: data.scrollTop
218
+ });
219
+ setViewportSize({
220
+ w: data.clientWidth,
221
+ h: data.clientHeight
222
+ });
223
+ if (userInteractionLocked) return;
224
+ if (!isAxisMoves || data.clientWidth <= 0 && data.clientHeight <= 0) return;
225
+ var halfW = data.clientWidth / 2;
226
+ var halfH = data.clientHeight / 2;
227
+ var hasPadding = isHorizontal ? effectiveViewportW > 0 : effectiveViewportH > 0;
228
+ var centerOffset = isHorizontal ? hasPadding ? data.scrollLeft + dotOffsetPx : data.scrollLeft + halfW : hasPadding ? data.scrollTop + dotOffsetPx : data.scrollTop + halfH;
229
+ var t = axis.offsetToTimeContinuous(centerOffset);
230
+ if (!t) return;
231
+ var tMinute = t.startOf('minute');
232
+ if (checkDisabledRanges(tMinute, disabledRanges)) return;
233
+ valueUpdatedByScrollRef.current = true;
234
+ if (!isControlled) setInternalValue(tMinute);
235
+ onChange === null || onChange === void 0 || onChange(tMinute);
236
+ }, [isAxisMoves, isHorizontal, isControlled, axis.offsetToTimeContinuous, disabledRanges, onChange, effectiveViewportW, effectiveViewportH, dotOffsetPx, userInteractionLocked]);
237
+
238
+ /** 根据当前视口中心吸附到 0/15/30/45 分钟并更新 value;由松手后的 scrollEnd 或 pointerUp 调用 */
239
+ var performSnapFromScrollPosition = useCallback(function (scrollLeft, scrollTop, clientWidth, clientHeight) {
240
+ if (!isAxisMoves || clientWidth <= 0 && clientHeight <= 0) return;
241
+ valueUpdatedByScrollRef.current = false;
242
+ var hasPadding = isHorizontal ? effectiveViewportW > 0 : effectiveViewportH > 0;
243
+ var centerOffset = isHorizontal ? hasPadding ? scrollLeft + dotOffsetPx : scrollLeft + clientWidth / 2 : hasPadding ? scrollTop + dotOffsetPx : scrollTop + clientHeight / 2;
244
+ var t = axis.offsetToTimeContinuous(centerOffset);
245
+ if (!t) return;
246
+ var snapped = snapToStep ? snapToStepMinutes(t, stepMinutes) : t.startOf('minute');
247
+ if (checkDisabledRanges(snapped, disabledRanges)) return;
248
+ if (!isControlled) setInternalValue(snapped);
249
+ onChange === null || onChange === void 0 || onChange(snapped);
250
+ }, [isAxisMoves, isHorizontal, isControlled, axis.offsetToTimeContinuous, snapToStep, stepMinutes, disabledRanges, onChange, effectiveViewportW, effectiveViewportH, dotOffsetPx]);
251
+
252
+ /** 程序性滚动结束后延迟清除标记,避免同一次滚动触发的后续 scrollEnd 误走吸附(导致轴动、值被改) */
253
+ var scrollEndClearTimeoutRef = useRef(null);
254
+
255
+ /** 滚动结束:仅当手指已松开时才吸附(避免拖动中停顿就吸附);若仍按着则等 pointerUp 再吸附 */
256
+ var handleScrollEnd = useCallback(function (data) {
257
+ if (userInteractionLocked) return;
258
+ if (scrollToCenterInProgressRef.current) {
259
+ if (scrollEndClearTimeoutRef.current) clearTimeout(scrollEndClearTimeoutRef.current);
260
+ /** 不立即清除:程序性滚动的 scrollEnd 会在动画结束时才触发(可能数百 ms 后),延迟清除才能跳过那次吸附 */
261
+ scrollEndClearTimeoutRef.current = setTimeout(function () {
262
+ scrollToCenterInProgressRef.current = false;
263
+ scrollEndClearTimeoutRef.current = null;
264
+ }, 500);
265
+ return;
266
+ }
267
+ if (isPointerDownRef.current) return;
268
+ performSnapFromScrollPosition(data.scrollLeft, data.scrollTop, data.clientWidth, data.clientHeight);
269
+ }, [performSnapFromScrollPosition, userInteractionLocked]);
270
+
271
+ /** 手指松开时若尚未吸附(例如按住不动再松手),用当前滚动位置做一次吸附;点 Now 按钮松手不吸附 */
272
+ var handlePointerUp = useCallback(function (e) {
273
+ var _e$target, _e$target$closest, _scrollRef$current2, _scrollRef$current2$g;
274
+ isPointerDownRef.current = false;
275
+ if (userInteractionLocked) return;
276
+ if ((_e$target = e.target) !== null && _e$target !== void 0 && (_e$target$closest = _e$target.closest) !== null && _e$target$closest !== void 0 && _e$target$closest.call(_e$target, '.pisell-time-navigator-now')) return;
277
+ if (!isAxisMoves) return;
278
+ var container = (_scrollRef$current2 = scrollRef.current) === null || _scrollRef$current2 === void 0 || (_scrollRef$current2$g = _scrollRef$current2.getScrollContainer) === null || _scrollRef$current2$g === void 0 ? void 0 : _scrollRef$current2$g.call(_scrollRef$current2);
279
+ if (!container) return;
280
+ performSnapFromScrollPosition(container.scrollLeft, container.scrollTop, container.clientWidth, container.clientHeight);
281
+ }, [isAxisMoves, performSnapFromScrollPosition, userInteractionLocked]);
282
+ var snapFn = useCallback(function (t) {
283
+ return snapToStepMinutes(t, stepMinutes);
284
+ }, [stepMinutes]);
285
+ var isInDisabled = useCallback(function (t) {
286
+ return checkDisabledRanges(t, disabledRanges);
287
+ }, [disabledRanges]);
288
+ var handleChange = useCallback(function (next) {
289
+ if (isInDisabled(next)) return;
290
+ if (!isControlled) setInternalValue(next);
291
+ onChange === null || onChange === void 0 || onChange(next);
292
+ }, [isControlled, onChange, isInDisabled]);
293
+ useRealtime(realtime, function () {
294
+ var wall = dayjs().startOf('minute');
295
+ var _getRangeBounds = getRangeBounds(range, referenceDate),
296
+ _getRangeBounds2 = _slicedToArray(_getRangeBounds, 2),
297
+ rangeStart = _getRangeBounds2[0],
298
+ rangeEnd = _getRangeBounds2[1];
299
+ /** 跨日营业:用真实此刻落在 [rangeStart, rangeEnd] 内,而非仅 reference 当日钟面 */
300
+ var clamped = wall.isBefore(rangeStart) ? rangeStart : wall.isAfter(rangeEnd) ? rangeEnd : wall;
301
+ var snapped = snapToStep ? snapFn(clamped) : clamped;
302
+ if (!isInDisabled(snapped)) handleChange(snapped);
303
+ });
304
+ useEffect(function () {
305
+ if (!isControlled && valueProp !== undefined) {
306
+ setInternalValue(parseValue(valueProp, referenceDate));
307
+ }
308
+ }, [isControlled, valueProp, referenceDate]);
309
+
310
+ /** 锚定日切换时保留非受控下的时分,落到新日上 */
311
+ var referenceDayMs = referenceDate.valueOf();
312
+ useEffect(function () {
313
+ if (isControlled) return;
314
+ setInternalValue(function (prev) {
315
+ if (!prev) {
316
+ return parseValue(defaultValue, referenceDate);
317
+ }
318
+ return referenceDate.hour(prev.hour()).minute(prev.minute()).second(0).millisecond(0);
319
+ });
320
+ }, [referenceDayMs, isControlled, defaultValue]);
321
+ var cursorOffsetPx = axis.timeToOffset(effectiveValue);
322
+ /** 刻度「现在线」:真实系统时刻落在轴区间内时绘制(含跨日营业次日凌晨) */
323
+ var wallAligned = dayjs().startOf('minute');
324
+ var currentTimeInRange = !wallAligned.isBefore(axis.rangeStart) && !wallAligned.isAfter(axis.rangeEnd);
325
+ var currentTimeOffsetPx = currentTimeInRange ? axis.timeToOffset(wallAligned) : undefined;
326
+
327
+ // 以点为基准:有留白时 targetScroll = cursorOffsetPx - dotOffsetPx(使该点对准视口中心)
328
+ var SCROLL_SYNC_THRESHOLD_PX = 2;
329
+ var hasScrollPadding = isHorizontal ? effectiveViewportW > 0 : effectiveViewportH > 0;
330
+ /**
331
+ * 竖向:上留白用 axis marginTop,下留白用 axis marginBottom(均为半屏)
332
+ * axis-wrap 高度 = marginTop + 轴内容 + marginBottom
333
+ */
334
+ var verticalTailPx = effectiveViewportH / 2;
335
+ var verticalWrapHeight = axisStartMarginH + axis.totalLengthPx + verticalTailPx;
336
+ var maxScrollPx = isHorizontal ? Math.max(0, axis.totalLengthPx - cellSizePx) : Math.max(0, verticalWrapHeight - effectiveViewportH);
337
+ useEffect(function () {
338
+ var _scrollRef$current4, _scrollRef$current4$g;
339
+ /** 横向 cursor-moves:整段 range 已压进视口,禁止程序性横滚 */
340
+ if (!isAxisMoves && isHorizontal) {
341
+ var _scrollRef$current3, _scrollRef$current3$g;
342
+ var _container = (_scrollRef$current3 = scrollRef.current) === null || _scrollRef$current3 === void 0 || (_scrollRef$current3$g = _scrollRef$current3.getScrollContainer) === null || _scrollRef$current3$g === void 0 ? void 0 : _scrollRef$current3$g.call(_scrollRef$current3);
343
+ if (_container && _container.scrollLeft !== 0) {
344
+ _container.scrollTo({
345
+ left: 0,
346
+ behavior: 'auto'
347
+ });
348
+ }
349
+ return;
350
+ }
351
+ if (!isAxisMoves && cursorDragActiveRef.current) return;
352
+ if (valueUpdatedByScrollRef.current) {
353
+ valueUpdatedByScrollRef.current = false;
354
+ return;
355
+ }
356
+ var container = (_scrollRef$current4 = scrollRef.current) === null || _scrollRef$current4 === void 0 || (_scrollRef$current4$g = _scrollRef$current4.getScrollContainer) === null || _scrollRef$current4$g === void 0 ? void 0 : _scrollRef$current4$g.call(_scrollRef$current4);
357
+ if (!container) return;
358
+ var viewportPx = isHorizontal ? container.clientWidth : container.clientHeight;
359
+ var targetScroll = hasScrollPadding ? Math.max(0, Math.min(cursorOffsetPx - dotOffsetPx, maxScrollPx)) : Math.max(0, Math.min(cursorOffsetPx - viewportPx / 2, Math.max(0, axis.totalLengthPx - viewportPx)));
360
+ var currentScroll = isHorizontal ? container.scrollLeft : container.scrollTop;
361
+ if (Math.abs(currentScroll - targetScroll) <= SCROLL_SYNC_THRESHOLD_PX) return;
362
+ scrollToCenterInProgressRef.current = true;
363
+ if (isHorizontal) {
364
+ container.scrollTo({
365
+ left: targetScroll,
366
+ behavior: 'smooth'
367
+ });
368
+ } else {
369
+ container.scrollTo({
370
+ top: targetScroll,
371
+ behavior: 'smooth'
372
+ });
373
+ }
374
+ }, [effectiveValue.valueOf(), isHorizontal, cursorOffsetPx, maxScrollPx, hasScrollPadding, dotOffsetPx, cellSizePx, axis.totalLengthPx, isAxisMoves]);
375
+ var scrollToCenterTime = useCallback(function (t) {
376
+ var container = getScrollContainer();
377
+ if (!container) return;
378
+ var offset = axis.timeToOffset(t);
379
+ var viewportPx = isHorizontal ? container.clientWidth : container.clientHeight;
380
+ var maxScroll = hasScrollPadding ? maxScrollPx : Math.max(0, axis.totalLengthPx - viewportPx);
381
+ var target = hasScrollPadding ? Math.max(0, Math.min(offset - dotOffsetPx, maxScrollPx)) : Math.max(0, Math.min(offset - viewportPx / 2, maxScroll));
382
+ scrollToCenterInProgressRef.current = true;
383
+ container.scrollTo({
384
+ left: isHorizontal ? target : 0,
385
+ top: isHorizontal ? 0 : target,
386
+ behavior: 'smooth'
387
+ });
388
+ }, [getScrollContainer, axis.timeToOffset, axis.totalLengthPx, isHorizontal, hasScrollPadding, dotOffsetPx, maxScrollPx]);
389
+ var handleSelectTime = useCallback(function (t) {
390
+ handleChange(t);
391
+ if (isAxisMoves) scrollToCenterTime(t);
392
+ }, [handleChange, isAxisMoves, scrollToCenterTime]);
393
+
394
+ /** 点 Now:系统当前时刻映射到锚定日,再 clamp 到 range */
395
+ var handleNow = useCallback(function () {
396
+ valueUpdatedByScrollRef.current = false;
397
+ var wall = dayjs().startOf('minute');
398
+ var _getRangeBounds3 = getRangeBounds(range, referenceDate),
399
+ _getRangeBounds4 = _slicedToArray(_getRangeBounds3, 2),
400
+ rangeStart = _getRangeBounds4[0],
401
+ rangeEnd = _getRangeBounds4[1];
402
+ var clamped = wall.isBefore(rangeStart) ? rangeStart : wall.isAfter(rangeEnd) ? rangeEnd : wall;
403
+ handleChange(clamped);
404
+ }, [range, referenceDate, handleChange]);
405
+ var applyOffsetToNavigatorValue = useCallback(function (offsetPx, snap) {
406
+ var maxO = Math.max(0, axis.totalLengthPx - 0.001);
407
+ var nextOff = Math.max(0, Math.min(offsetPx, maxO));
408
+ var t = axis.offsetToTimeContinuous(nextOff);
409
+ if (!t) return;
410
+ var out = snap ? snapToStep ? snapToStepMinutes(t, stepMinutes) : t.startOf('minute') : t.startOf('minute');
411
+ if (checkDisabledRanges(out, disabledRanges)) return;
412
+ if (!isControlled) setInternalValue(out);
413
+ onChange === null || onChange === void 0 || onChange(out);
414
+ }, [axis.totalLengthPx, axis.offsetToTimeContinuous, snapToStep, stepMinutes, disabledRanges, isControlled, onChange]);
415
+ var handleCursorDragPointerDown = useCallback(function (e) {
416
+ if (userInteractionLocked || isAxisMoves) return;
417
+ e.preventDefault();
418
+ e.stopPropagation();
419
+ onUserInteraction === null || onUserInteraction === void 0 || onUserInteraction();
420
+ cursorDragActiveRef.current = true;
421
+ cursorDragBaseRef.current = {
422
+ startClient: isHorizontal ? e.clientX : e.clientY,
423
+ startOffset: cursorOffsetPx
424
+ };
425
+ valueUpdatedByScrollRef.current = true;
426
+ e.currentTarget.setPointerCapture(e.pointerId);
427
+ }, [userInteractionLocked, isAxisMoves, isHorizontal, cursorOffsetPx, onUserInteraction]);
428
+ var handleCursorDragPointerMove = useCallback(function (e) {
429
+ if (!cursorDragActiveRef.current) return;
430
+ var client = isHorizontal ? e.clientX : e.clientY;
431
+ var delta = client - cursorDragBaseRef.current.startClient;
432
+ var nextOff = cursorDragBaseRef.current.startOffset + delta;
433
+ applyOffsetToNavigatorValue(nextOff, false);
434
+ }, [isHorizontal, applyOffsetToNavigatorValue]);
435
+ var handleCursorDragPointerUp = useCallback(function (e) {
436
+ if (!cursorDragActiveRef.current) return;
437
+ cursorDragActiveRef.current = false;
438
+ try {
439
+ e.currentTarget.releasePointerCapture(e.pointerId);
440
+ } catch (_unused) {
441
+ /* already released */
442
+ }
443
+ var client = isHorizontal ? e.clientX : e.clientY;
444
+ var delta = client - cursorDragBaseRef.current.startClient;
445
+ var nextOff = cursorDragBaseRef.current.startOffset + delta;
446
+ valueUpdatedByScrollRef.current = false;
447
+ applyOffsetToNavigatorValue(nextOff, true);
448
+ }, [isHorizontal, applyOffsetToNavigatorValue]);
449
+ var businessHoursPx = useMemo(function () {
450
+ if (!businessHours) return undefined;
451
+ var _getRangeBounds5 = getRangeBounds(businessHours, referenceDate),
452
+ _getRangeBounds6 = _slicedToArray(_getRangeBounds5, 2),
453
+ s = _getRangeBounds6[0],
454
+ e = _getRangeBounds6[1];
455
+ return [axis.timeToOffset(s), axis.timeToOffset(e)];
456
+ }, [businessHours, referenceDate, axis.timeToOffset]);
457
+ var scrollConfig = useMemo(function () {
458
+ return {
459
+ show: false,
460
+ type: isHorizontal ? 'lrArrows' : 'tbArrows',
461
+ scrollDistance: cellSizePx
462
+ };
463
+ }, [isHorizontal, cellSizePx]);
464
+ return /*#__PURE__*/React.createElement("div", {
465
+ className: classNames('pisell-time-navigator', "pisell-time-navigator--".concat(orientation), userInteractionLocked && 'pisell-time-navigator--interaction-locked', className),
466
+ style: isHorizontal ? style : _objectSpread({
467
+ height: '100%',
468
+ minHeight: 200
469
+ }, style)
470
+ }, /*#__PURE__*/React.createElement("div", {
471
+ ref: viewportWrapRef,
472
+ className: "pisell-time-navigator-viewport-wrap",
473
+ style: isHorizontal ? undefined : {
474
+ height: '100%',
475
+ minHeight: 200,
476
+ maxHeight: 800
477
+ },
478
+ onPointerDownCapture: function onPointerDownCapture() {
479
+ isPointerDownRef.current = true;
480
+ },
481
+ onPointerUpCapture: handlePointerUp,
482
+ onPointerLeaveCapture: handlePointerUp
483
+ }, /*#__PURE__*/React.createElement("div", {
484
+ className: classNames('pisell-time-navigator-scroll-host', userInteractionLocked && 'pisell-time-navigator-scroll-host--interaction-locked')
485
+ }, /*#__PURE__*/React.createElement(PisellScrollView, {
486
+ ref: scrollRef,
487
+ width: '100%',
488
+ height: '100%',
489
+ overflow: isHorizontal ? 'x' : 'y',
490
+ showScrollButtons: false,
491
+ scrollbarStyle: "none",
492
+ scrollActionsConfig: scrollConfig,
493
+ onScroll: handleScroll,
494
+ onScrollEnd: handleScrollEnd,
495
+ style: _objectSpread(_objectSpread({}, isHorizontal ? {
496
+ height: 48
497
+ } : {
498
+ width: 54,
499
+ minHeight: 200,
500
+ height: '100%',
501
+ maxHeight: 800
502
+ }), containerStyle)
503
+ }, /*#__PURE__*/React.createElement(GestureLayer, {
504
+ orientation: orientation,
505
+ cellSizePx: cellSizePx,
506
+ axisStartMarginPx: isHorizontal ? axisStartMarginW : axisStartMarginH,
507
+ offsetToTime: axis.offsetToTime,
508
+ onSelectTime: handleSelectTime,
509
+ isInDisabledRanges: isInDisabled,
510
+ snapToStep: snapToStep,
511
+ stepMinutes: stepMinutes,
512
+ snapFn: snapFn,
513
+ scrollPosition: scrollPosition,
514
+ viewportSize: viewportSize,
515
+ onUserInteraction: onUserInteraction,
516
+ onPointerDown: inertiaHandlers.onPointerDown,
517
+ onPointerMove: inertiaHandlers.onPointerMove,
518
+ onPointerUp: inertiaHandlers.onPointerUp,
519
+ onPointerLeave: inertiaHandlers.onPointerUp
520
+ }, /*#__PURE__*/React.createElement("div", {
521
+ className: "pisell-time-navigator-axis-wrap",
522
+ style: isHorizontal ? isAxisMoves ? {
523
+ width: axis.totalLengthPx + (effectiveViewportW - cellSizePx),
524
+ minHeight: 48
525
+ } : {
526
+ width: CURSOR_MOVES_H_PADDING_PX + axis.totalLengthPx + CURSOR_MOVES_H_PADDING_PX,
527
+ minHeight: 48
528
+ } : {
529
+ width: '100%'
530
+ /* 不设 height,由轴(marginTop + 内容 + marginBottom)自然撑开,避免固定高度与 margin 的 CSS 盒模型歧义 */
531
+ }
532
+ }, isHorizontal && currentTimeOffsetPx != null && currentTimeOffsetPx >= 0 && /*#__PURE__*/React.createElement("div", {
533
+ className: "pisell-time-navigator-current-gradient pisell-time-navigator-current-gradient--horizontal",
534
+ style: {
535
+ left: axisStartMarginW + Math.max(0, currentTimeOffsetPx - cellSizePx),
536
+ top: 0,
537
+ width: Math.min(cellSizePx, currentTimeOffsetPx),
538
+ height: 48
539
+ },
540
+ "aria-hidden": true
541
+ }), /*#__PURE__*/React.createElement("div", {
542
+ className: classNames('pisell-time-navigator-axis', "pisell-time-navigator-axis--".concat(orientation)),
543
+ "data-time-navigator-axis": true,
544
+ style: isHorizontal ? {
545
+ width: axis.totalLengthPx,
546
+ height: 48,
547
+ marginLeft: axisStartMarginW
548
+ } : {
549
+ height: axis.totalLengthPx,
550
+ width: '100%',
551
+ marginTop: axisStartMarginH,
552
+ marginBottom: verticalTailPx
553
+ }
554
+ }, /*#__PURE__*/React.createElement(BackgroundLayer, {
555
+ orientation: orientation,
556
+ pastTimeFade: pastTimeFade,
557
+ businessHoursPx: businessHoursPx
558
+ }), /*#__PURE__*/React.createElement(ScaleLayer, {
559
+ orientation: orientation,
560
+ ticks: axis.ticks,
561
+ stepMinutes: stepMinutes,
562
+ majorStepMinutes: majorStepMinutes,
563
+ timeFormat: timeFormat,
564
+ locale: locale,
565
+ style: scaleStyle,
566
+ horizontalCellSizePx: isHorizontal ? cellSizePx : undefined
567
+ }), !isHorizontal && currentTimeOffsetPx != null && currentTimeOffsetPx >= 0 && /*#__PURE__*/React.createElement("div", {
568
+ className: "pisell-time-navigator-current-line",
569
+ style: {
570
+ left: 0,
571
+ top: currentTimeOffsetPx - 1,
572
+ width: '100%',
573
+ height: 2,
574
+ background: '#FF692E'
575
+ },
576
+ "aria-hidden": true
577
+ }), !isAxisMoves && /*#__PURE__*/React.createElement(CursorLayer, {
578
+ orientation: orientation,
579
+ value: effectiveValue,
580
+ timeFormat: timeFormat,
581
+ locale: locale,
582
+ isRealtime: realtime,
583
+ offsetPx: cursorOffsetPx,
584
+ style: cursorStyle,
585
+ dragInteractive: !userInteractionLocked,
586
+ onDragPointerDown: handleCursorDragPointerDown,
587
+ onDragPointerMove: handleCursorDragPointerMove,
588
+ onDragPointerUp: handleCursorDragPointerUp,
589
+ onDragPointerCancel: handleCursorDragPointerUp
590
+ })))))), isAxisMoves && /*#__PURE__*/React.createElement("div", {
591
+ className: classNames('pisell-time-navigator-cursor-fixed', "pisell-time-navigator-cursor-fixed--".concat(orientation)),
592
+ "aria-hidden": true
593
+ }, /*#__PURE__*/React.createElement(CursorLayer, {
594
+ orientation: orientation,
595
+ value: effectiveValue,
596
+ timeFormat: timeFormat,
597
+ locale: locale,
598
+ isRealtime: realtime,
599
+ offsetPx: 0,
600
+ fixedCenter: true,
601
+ style: cursorStyle
602
+ })), showNowButton && /*#__PURE__*/React.createElement(NowButton, {
603
+ orientation: orientation,
604
+ onClick: handleNow,
605
+ style: nowButtonStyle,
606
+ renderCustom: renderNowButton
607
+ })));
608
+ }
609
+ PisellTimeNavigator.displayName = 'PisellTimeNavigator';