@lobehub/ui 6.0.0-beta.7 → 6.0.0-beta.8

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 (666) hide show
  1. package/es/Accordion/Accordion.mjs +3 -3
  2. package/es/Accordion/Accordion.mjs.map +1 -1
  3. package/es/Accordion/atoms.mjs +2 -2
  4. package/es/Accordion/atoms.mjs.map +1 -1
  5. package/es/Accordion/style.d.mts +1 -1
  6. package/es/ActionIcon/ActionIcon.mjs +2 -2
  7. package/es/ActionIcon/ActionIcon.mjs.map +1 -1
  8. package/es/Alert/Alert.mjs +5 -5
  9. package/es/Alert/Alert.mjs.map +1 -1
  10. package/es/AutoComplete/AutoComplete.mjs +5 -5
  11. package/es/AutoComplete/AutoComplete.mjs.map +1 -1
  12. package/es/AutoComplete/style.mjs +2 -2
  13. package/es/AutoComplete/style.mjs.map +1 -1
  14. package/es/Avatar/Avatar.mjs +2 -2
  15. package/es/Avatar/Avatar.mjs.map +1 -1
  16. package/es/Avatar/AvatarGroup/index.mjs +2 -2
  17. package/es/Avatar/AvatarGroup/index.mjs.map +1 -1
  18. package/es/Breadcrumb/Breadcrumb.mjs +2 -2
  19. package/es/Breadcrumb/Breadcrumb.mjs.map +1 -1
  20. package/es/Button/Button.mjs +1 -1
  21. package/es/Button/Button.mjs.map +1 -1
  22. package/es/Button/style.d.mts +8 -1
  23. package/es/Button/style.mjs +41 -18
  24. package/es/Button/style.mjs.map +1 -1
  25. package/es/Checkbox/Checkbox.mjs +3 -3
  26. package/es/Checkbox/Checkbox.mjs.map +1 -1
  27. package/es/CodeDiff/DiffPanel.mjs +4 -4
  28. package/es/CodeDiff/DiffPanel.mjs.map +1 -1
  29. package/es/CodeEditor/CodeEditor.mjs +4 -4
  30. package/es/CodeEditor/CodeEditor.mjs.map +1 -1
  31. package/es/ColorPicker/ColorInputs.mjs +136 -0
  32. package/es/ColorPicker/ColorInputs.mjs.map +1 -0
  33. package/es/ColorPicker/ColorPanel.mjs +145 -0
  34. package/es/ColorPicker/ColorPanel.mjs.map +1 -0
  35. package/es/ColorPicker/ColorPicker.mjs +62 -199
  36. package/es/ColorPicker/ColorPicker.mjs.map +1 -1
  37. package/es/ColorPicker/SaturationArea.mjs +2 -1
  38. package/es/ColorPicker/SaturationArea.mjs.map +1 -1
  39. package/es/ColorPicker/Swatch.mjs +24 -0
  40. package/es/ColorPicker/Swatch.mjs.map +1 -0
  41. package/es/ColorPicker/Swatches.mjs +66 -0
  42. package/es/ColorPicker/Swatches.mjs.map +1 -0
  43. package/es/ColorPicker/Trigger.mjs +112 -0
  44. package/es/ColorPicker/Trigger.mjs.map +1 -0
  45. package/es/ColorPicker/color.mjs +25 -1
  46. package/es/ColorPicker/color.mjs.map +1 -1
  47. package/es/ColorPicker/recent.mjs +25 -0
  48. package/es/ColorPicker/recent.mjs.map +1 -0
  49. package/es/ColorPicker/style.mjs +269 -70
  50. package/es/ColorPicker/style.mjs.map +1 -1
  51. package/es/ColorPicker/type.d.mts +15 -0
  52. package/es/ContextMenu/ContextMenuHost.mjs +2 -2
  53. package/es/ContextMenu/ContextMenuHost.mjs.map +1 -1
  54. package/es/ContextMenu/ContextMenuTrigger.mjs +2 -2
  55. package/es/ContextMenu/ContextMenuTrigger.mjs.map +1 -1
  56. package/es/ContextMenu/renderItems.mjs +3 -3
  57. package/es/ContextMenu/renderItems.mjs.map +1 -1
  58. package/es/DatePicker/DatePicker.d.mts +7 -2
  59. package/es/DatePicker/DatePicker.mjs +13 -85
  60. package/es/DatePicker/DatePicker.mjs.map +1 -1
  61. package/es/DatePicker/DateRangePicker.d.mts +3 -2
  62. package/es/DatePicker/DateRangePicker.mjs +3 -125
  63. package/es/DatePicker/DateRangePicker.mjs.map +1 -1
  64. package/es/DatePicker/PurePanel.mjs +65 -0
  65. package/es/DatePicker/PurePanel.mjs.map +1 -0
  66. package/es/DatePicker/RangePicker.mjs +115 -0
  67. package/es/DatePicker/RangePicker.mjs.map +1 -0
  68. package/es/DatePicker/SinglePicker.mjs +132 -0
  69. package/es/DatePicker/SinglePicker.mjs.map +1 -0
  70. package/es/DatePicker/core/PickerInput/Popup/Footer.mjs +57 -0
  71. package/es/DatePicker/core/PickerInput/Popup/Footer.mjs.map +1 -0
  72. package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs +57 -0
  73. package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs.map +1 -0
  74. package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs +29 -0
  75. package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs.map +1 -0
  76. package/es/DatePicker/core/PickerInput/Popup/index.mjs +133 -0
  77. package/es/DatePicker/core/PickerInput/Popup/index.mjs.map +1 -0
  78. package/es/DatePicker/core/PickerInput/RangePicker.d.mts +51 -0
  79. package/es/DatePicker/core/PickerInput/RangePicker.mjs +343 -0
  80. package/es/DatePicker/core/PickerInput/RangePicker.mjs.map +1 -0
  81. package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs +27 -0
  82. package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs.map +1 -0
  83. package/es/DatePicker/core/PickerInput/Selector/Icon.mjs +19 -0
  84. package/es/DatePicker/core/PickerInput/Selector/Icon.mjs.map +1 -0
  85. package/es/DatePicker/core/PickerInput/Selector/Input.mjs +237 -0
  86. package/es/DatePicker/core/PickerInput/Selector/Input.mjs.map +1 -0
  87. package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs +70 -0
  88. package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs.map +1 -0
  89. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.d.mts +8 -0
  90. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs +136 -0
  91. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs.map +1 -0
  92. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs +28 -0
  93. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs.map +1 -0
  94. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs +69 -0
  95. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs.map +1 -0
  96. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs +111 -0
  97. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs.map +1 -0
  98. package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs +18 -0
  99. package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs.map +1 -0
  100. package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs +108 -0
  101. package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs.map +1 -0
  102. package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs +11 -0
  103. package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs.map +1 -0
  104. package/es/DatePicker/core/PickerInput/Selector/util.mjs +20 -0
  105. package/es/DatePicker/core/PickerInput/Selector/util.mjs.map +1 -0
  106. package/es/DatePicker/core/PickerInput/SinglePicker.d.mts +55 -0
  107. package/es/DatePicker/core/PickerInput/SinglePicker.mjs +318 -0
  108. package/es/DatePicker/core/PickerInput/SinglePicker.mjs.map +1 -0
  109. package/es/DatePicker/core/PickerInput/context.mjs +7 -0
  110. package/es/DatePicker/core/PickerInput/context.mjs.map +1 -0
  111. package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs +30 -0
  112. package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs.map +1 -0
  113. package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs +37 -0
  114. package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs.map +1 -0
  115. package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs +18 -0
  116. package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs.map +1 -0
  117. package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs +20 -0
  118. package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs.map +1 -0
  119. package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs +31 -0
  120. package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs.map +1 -0
  121. package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs +98 -0
  122. package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs.map +1 -0
  123. package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs +41 -0
  124. package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs.map +1 -0
  125. package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs +34 -0
  126. package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs.map +1 -0
  127. package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs +35 -0
  128. package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs.map +1 -0
  129. package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs +9 -0
  130. package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs.map +1 -0
  131. package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs +36 -0
  132. package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs.map +1 -0
  133. package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs +27 -0
  134. package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs.map +1 -0
  135. package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs +18 -0
  136. package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs.map +1 -0
  137. package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs +19 -0
  138. package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs.map +1 -0
  139. package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs +20 -0
  140. package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs.map +1 -0
  141. package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs +24 -0
  142. package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs.map +1 -0
  143. package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs +107 -0
  144. package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs.map +1 -0
  145. package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs +144 -0
  146. package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs.map +1 -0
  147. package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs +219 -0
  148. package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs.map +1 -0
  149. package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs +11 -0
  150. package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs.map +1 -0
  151. package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs +131 -0
  152. package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs.map +1 -0
  153. package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs +35 -0
  154. package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs.map +1 -0
  155. package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs +84 -0
  156. package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs.map +1 -0
  157. package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs +73 -0
  158. package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs.map +1 -0
  159. package/es/DatePicker/core/PickerPanel/PanelBody.mjs +95 -0
  160. package/es/DatePicker/core/PickerPanel/PanelBody.mjs.map +1 -0
  161. package/es/DatePicker/core/PickerPanel/PanelHeader.mjs +130 -0
  162. package/es/DatePicker/core/PickerPanel/PanelHeader.mjs.map +1 -0
  163. package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs +64 -0
  164. package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs.map +1 -0
  165. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs +108 -0
  166. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs.map +1 -0
  167. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs +44 -0
  168. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs.map +1 -0
  169. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs +157 -0
  170. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs.map +1 -0
  171. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs +100 -0
  172. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs.map +1 -0
  173. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs +71 -0
  174. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs.map +1 -0
  175. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs +62 -0
  176. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs.map +1 -0
  177. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs +200 -0
  178. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs.map +1 -0
  179. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs +25 -0
  180. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs.map +1 -0
  181. package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs +31 -0
  182. package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs.map +1 -0
  183. package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs +34 -0
  184. package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs.map +1 -0
  185. package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs +92 -0
  186. package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs.map +1 -0
  187. package/es/DatePicker/core/PickerPanel/context.mjs +48 -0
  188. package/es/DatePicker/core/PickerPanel/context.mjs.map +1 -0
  189. package/es/DatePicker/core/PickerPanel/index.d.mts +1 -0
  190. package/es/DatePicker/core/PickerPanel/index.mjs +175 -0
  191. package/es/DatePicker/core/PickerPanel/index.mjs.map +1 -0
  192. package/es/DatePicker/core/PickerPopup.mjs +118 -0
  193. package/es/DatePicker/core/PickerPopup.mjs.map +1 -0
  194. package/es/DatePicker/core/generate/dayjs.mjs +109 -0
  195. package/es/DatePicker/core/generate/dayjs.mjs.map +1 -0
  196. package/es/DatePicker/core/generate/index.d.mts +40 -0
  197. package/es/DatePicker/core/hooks/react.mjs +58 -0
  198. package/es/DatePicker/core/hooks/react.mjs.map +1 -0
  199. package/es/DatePicker/core/hooks/useLocale.mjs +51 -0
  200. package/es/DatePicker/core/hooks/useLocale.mjs.map +1 -0
  201. package/es/DatePicker/core/hooks/useSemantic.mjs +20 -0
  202. package/es/DatePicker/core/hooks/useSemantic.mjs.map +1 -0
  203. package/es/DatePicker/core/hooks/useSyncState.mjs +25 -0
  204. package/es/DatePicker/core/hooks/useSyncState.mjs.map +1 -0
  205. package/es/DatePicker/core/hooks/useTimeConfig.mjs +173 -0
  206. package/es/DatePicker/core/hooks/useTimeConfig.mjs.map +1 -0
  207. package/es/DatePicker/core/hooks/useTimeInfo.mjs +110 -0
  208. package/es/DatePicker/core/hooks/useTimeInfo.mjs.map +1 -0
  209. package/es/DatePicker/core/hooks/useToggleDates.mjs +21 -0
  210. package/es/DatePicker/core/hooks/useToggleDates.mjs.map +1 -0
  211. package/es/DatePicker/core/index.d.mts +5 -0
  212. package/es/DatePicker/core/index.mjs +9 -0
  213. package/es/DatePicker/core/index.mjs.map +1 -0
  214. package/es/DatePicker/core/interface.d.mts +325 -0
  215. package/es/DatePicker/core/locale/common.mjs +11 -0
  216. package/es/DatePicker/core/locale/common.mjs.map +1 -0
  217. package/es/DatePicker/core/locale/en_US.mjs +39 -0
  218. package/es/DatePicker/core/locale/en_US.mjs.map +1 -0
  219. package/es/DatePicker/core/utils/common.mjs +73 -0
  220. package/es/DatePicker/core/utils/common.mjs.map +1 -0
  221. package/es/DatePicker/core/utils/dateUtil.mjs +106 -0
  222. package/es/DatePicker/core/utils/dateUtil.mjs.map +1 -0
  223. package/es/DatePicker/core/utils/miscUtil.mjs +46 -0
  224. package/es/DatePicker/core/utils/miscUtil.mjs.map +1 -0
  225. package/es/DatePicker/core/utils/uiUtil.mjs +9 -0
  226. package/es/DatePicker/core/utils/uiUtil.mjs.map +1 -0
  227. package/es/DatePicker/generateConfig.mjs +12 -0
  228. package/es/DatePicker/generateConfig.mjs.map +1 -0
  229. package/es/DatePicker/generatePicker.d.mts +12 -0
  230. package/es/DatePicker/generatePicker.mjs +22 -0
  231. package/es/DatePicker/generatePicker.mjs.map +1 -0
  232. package/es/DatePicker/index.d.mts +6 -3
  233. package/es/DatePicker/index.mjs +3 -1
  234. package/es/DatePicker/locale.d.mts +15 -0
  235. package/es/DatePicker/locale.mjs +143 -0
  236. package/es/DatePicker/locale.mjs.map +1 -0
  237. package/es/DatePicker/semantic.mjs +29 -0
  238. package/es/DatePicker/semantic.mjs.map +1 -0
  239. package/es/DatePicker/style.mjs +3 -155
  240. package/es/DatePicker/style.mjs.map +1 -1
  241. package/es/DatePicker/type.d.mts +268 -27
  242. package/es/DatePicker/usePanelKeyboard.mjs +230 -0
  243. package/es/DatePicker/usePanelKeyboard.mjs.map +1 -0
  244. package/es/DatePicker/usePickerShared.mjs +106 -0
  245. package/es/DatePicker/usePickerShared.mjs.map +1 -0
  246. package/es/DatePicker/usePresetActive.mjs +48 -0
  247. package/es/DatePicker/usePresetActive.mjs.map +1 -0
  248. package/es/DraggablePanel/atoms.mjs +5 -5
  249. package/es/DraggablePanel/atoms.mjs.map +1 -1
  250. package/es/DraggableSideNav/DraggableSideNav.mjs +3 -3
  251. package/es/DraggableSideNav/DraggableSideNav.mjs.map +1 -1
  252. package/es/Drawer/Drawer.mjs +2 -2
  253. package/es/Drawer/Drawer.mjs.map +1 -1
  254. package/es/Drawer/atoms.mjs +6 -6
  255. package/es/Drawer/atoms.mjs.map +1 -1
  256. package/es/DropdownMenu/atoms.mjs +22 -22
  257. package/es/DropdownMenu/atoms.mjs.map +1 -1
  258. package/es/DropdownMenu/sharedStyle.mjs +2 -2
  259. package/es/DropdownMenu/sharedStyle.mjs.map +1 -1
  260. package/es/EditorSlashMenu/atoms.mjs +12 -12
  261. package/es/EditorSlashMenu/atoms.mjs.map +1 -1
  262. package/es/EmojiPicker/EmojiPicker.mjs +7 -7
  263. package/es/EmojiPicker/EmojiPicker.mjs.map +1 -1
  264. package/es/EmojiPicker/loadEmojiData.mjs +6 -0
  265. package/es/EmojiPicker/loadEmojiData.mjs.map +1 -0
  266. package/es/FloatingPanel/FloatingPanel.mjs +2 -2
  267. package/es/FloatingPanel/FloatingPanel.mjs.map +1 -1
  268. package/es/FormKit/List.mjs +2 -2
  269. package/es/FormKit/List.mjs.map +1 -1
  270. package/es/Highlighter/FullFeatured.mjs +2 -2
  271. package/es/Highlighter/FullFeatured.mjs.map +1 -1
  272. package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs +2 -2
  273. package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs.map +1 -1
  274. package/es/Highlighter/SyntaxHighlighter/index.mjs +4 -4
  275. package/es/Highlighter/SyntaxHighlighter/index.mjs.map +1 -1
  276. package/es/Highlighter/style.mjs +2 -2
  277. package/es/Highlighter/style.mjs.map +1 -1
  278. package/es/HtmlPreview/HtmlPreview.mjs +2 -2
  279. package/es/HtmlPreview/HtmlPreview.mjs.map +1 -1
  280. package/es/Icon/Icon.mjs +2 -2
  281. package/es/Icon/Icon.mjs.map +1 -1
  282. package/es/List/ListRow.mjs +3 -3
  283. package/es/List/ListRow.mjs.map +1 -1
  284. package/es/Markdown/Markdown.mjs +2 -2
  285. package/es/Markdown/Markdown.mjs.map +1 -1
  286. package/es/Markdown/Typography.mjs +2 -2
  287. package/es/Markdown/Typography.mjs.map +1 -1
  288. package/es/Mermaid/FullFeatured.mjs +2 -2
  289. package/es/Mermaid/FullFeatured.mjs.map +1 -1
  290. package/es/Mermaid/SyntaxMermaid/index.mjs +4 -4
  291. package/es/Mermaid/SyntaxMermaid/index.mjs.map +1 -1
  292. package/es/Modal/atoms.mjs +6 -6
  293. package/es/Modal/atoms.mjs.map +1 -1
  294. package/es/Pagination/Pagination.mjs +181 -41
  295. package/es/Pagination/Pagination.mjs.map +1 -1
  296. package/es/Pagination/helpers.mjs +3 -3
  297. package/es/Pagination/helpers.mjs.map +1 -1
  298. package/es/Pagination/index.d.mts +2 -2
  299. package/es/Pagination/marker.stylex.mjs +9 -0
  300. package/es/Pagination/marker.stylex.mjs.map +1 -0
  301. package/es/Pagination/style.mjs +74 -4
  302. package/es/Pagination/style.mjs.map +1 -1
  303. package/es/Pagination/type.d.mts +41 -3
  304. package/es/Popover/PopoverInGroup.mjs +2 -2
  305. package/es/Popover/PopoverInGroup.mjs.map +1 -1
  306. package/es/Popover/atoms.mjs +6 -6
  307. package/es/Popover/atoms.mjs.map +1 -1
  308. package/es/ProTable/ProTable.d.mts +11 -0
  309. package/es/ProTable/ProTable.mjs +208 -0
  310. package/es/ProTable/ProTable.mjs.map +1 -0
  311. package/es/ProTable/hooks/useColumnRequest.mjs +55 -0
  312. package/es/ProTable/hooks/useColumnRequest.mjs.map +1 -0
  313. package/es/ProTable/hooks/useColumnsState.mjs +37 -0
  314. package/es/ProTable/hooks/useColumnsState.mjs.map +1 -0
  315. package/es/ProTable/hooks/useDelayedFlag.mjs +18 -0
  316. package/es/ProTable/hooks/useDelayedFlag.mjs.map +1 -0
  317. package/es/ProTable/hooks/useDensity.mjs +15 -0
  318. package/es/ProTable/hooks/useDensity.mjs.map +1 -0
  319. package/es/ProTable/hooks/useFetchData.mjs +97 -0
  320. package/es/ProTable/hooks/useFetchData.mjs.map +1 -0
  321. package/es/ProTable/hooks/useFullscreen.mjs +22 -0
  322. package/es/ProTable/hooks/useFullscreen.mjs.map +1 -0
  323. package/es/ProTable/hooks/usePageInfo.mjs +35 -0
  324. package/es/ProTable/hooks/usePageInfo.mjs.map +1 -0
  325. package/es/ProTable/hooks/useProColumns.mjs +123 -0
  326. package/es/ProTable/hooks/useProColumns.mjs.map +1 -0
  327. package/es/ProTable/hooks/useProLoading.mjs +19 -0
  328. package/es/ProTable/hooks/useProLoading.mjs.map +1 -0
  329. package/es/ProTable/hooks/useProLocale.mjs +22 -0
  330. package/es/ProTable/hooks/useProLocale.mjs.map +1 -0
  331. package/es/ProTable/hooks/useProRequest.mjs +137 -0
  332. package/es/ProTable/hooks/useProRequest.mjs.map +1 -0
  333. package/es/ProTable/hooks/useRowCache.mjs +11 -0
  334. package/es/ProTable/hooks/useRowCache.mjs.map +1 -0
  335. package/es/ProTable/hooks/useSearchForm.mjs +141 -0
  336. package/es/ProTable/hooks/useSearchForm.mjs.map +1 -0
  337. package/es/ProTable/hooks/useTableBindings.mjs +39 -0
  338. package/es/ProTable/hooks/useTableBindings.mjs.map +1 -0
  339. package/es/ProTable/hooks/useTableSelection.mjs +14 -0
  340. package/es/ProTable/hooks/useTableSelection.mjs.map +1 -0
  341. package/es/ProTable/index.d.mts +4 -0
  342. package/es/ProTable/index.d.ts +1 -0
  343. package/es/ProTable/index.js +1 -0
  344. package/es/ProTable/index.mjs +3 -0
  345. package/es/ProTable/locale.d.mts +15 -0
  346. package/es/ProTable/locale.mjs +66 -0
  347. package/es/ProTable/locale.mjs.map +1 -0
  348. package/es/ProTable/parts/ColumnSetting.mjs +155 -0
  349. package/es/ProTable/parts/ColumnSetting.mjs.map +1 -0
  350. package/es/ProTable/parts/FieldControl.mjs +117 -0
  351. package/es/ProTable/parts/FieldControl.mjs.map +1 -0
  352. package/es/ProTable/parts/KeywordInput.mjs +19 -0
  353. package/es/ProTable/parts/KeywordInput.mjs.map +1 -0
  354. package/es/ProTable/parts/LightFilter.mjs +70 -0
  355. package/es/ProTable/parts/LightFilter.mjs.map +1 -0
  356. package/es/ProTable/parts/OptionPopover.mjs +17 -0
  357. package/es/ProTable/parts/OptionPopover.mjs.map +1 -0
  358. package/es/ProTable/parts/SearchForm.mjs +180 -0
  359. package/es/ProTable/parts/SearchForm.mjs.map +1 -0
  360. package/es/ProTable/parts/SearchSection.mjs +33 -0
  361. package/es/ProTable/parts/SearchSection.mjs.map +1 -0
  362. package/es/ProTable/parts/TableAlert.mjs +38 -0
  363. package/es/ProTable/parts/TableAlert.mjs.map +1 -0
  364. package/es/ProTable/parts/Toolbar.mjs +50 -0
  365. package/es/ProTable/parts/Toolbar.mjs.map +1 -0
  366. package/es/ProTable/parts/ToolbarOptions.mjs +103 -0
  367. package/es/ProTable/parts/ToolbarOptions.mjs.map +1 -0
  368. package/es/ProTable/parts/renderValue.mjs +118 -0
  369. package/es/ProTable/parts/renderValue.mjs.map +1 -0
  370. package/es/ProTable/style.mjs +278 -0
  371. package/es/ProTable/style.mjs.map +1 -0
  372. package/es/ProTable/type.d.mts +397 -0
  373. package/es/ProTable/utils.mjs +152 -0
  374. package/es/ProTable/utils.mjs.map +1 -0
  375. package/es/Radio/Radio.mjs +3 -3
  376. package/es/Radio/Radio.mjs.map +1 -1
  377. package/es/ScrollArea/atoms.mjs +4 -4
  378. package/es/ScrollArea/atoms.mjs.map +1 -1
  379. package/es/Segmented/Segmented.mjs +3 -3
  380. package/es/Segmented/Segmented.mjs.map +1 -1
  381. package/es/Segmented/atoms.mjs +2 -2
  382. package/es/Segmented/atoms.mjs.map +1 -1
  383. package/es/Select/Select.mjs +22 -13
  384. package/es/Select/Select.mjs.map +1 -1
  385. package/es/Select/atoms.mjs +4 -4
  386. package/es/Select/atoms.mjs.map +1 -1
  387. package/es/Select/helpers.mjs +8 -1
  388. package/es/Select/helpers.mjs.map +1 -1
  389. package/es/Select/hooks.mjs +8 -4
  390. package/es/Select/hooks.mjs.map +1 -1
  391. package/es/Select/renderOptions.mjs +2 -2
  392. package/es/Select/renderOptions.mjs.map +1 -1
  393. package/es/Select/type.d.mts +7 -0
  394. package/es/Switch/Switch.mjs +2 -2
  395. package/es/Switch/Switch.mjs.map +1 -1
  396. package/es/Switch/atoms.mjs +2 -2
  397. package/es/Switch/atoms.mjs.map +1 -1
  398. package/es/Table/Column.d.mts +8 -0
  399. package/es/Table/Column.mjs +6 -0
  400. package/es/Table/Column.mjs.map +1 -0
  401. package/es/Table/ColumnGroup.d.mts +11 -0
  402. package/es/Table/ColumnGroup.mjs +6 -0
  403. package/es/Table/ColumnGroup.mjs.map +1 -0
  404. package/es/Table/Table.d.mts +16 -2
  405. package/es/Table/Table.mjs +149 -118
  406. package/es/Table/Table.mjs.map +1 -1
  407. package/es/Table/atoms/cells.d.mts +42 -0
  408. package/es/Table/atoms/cells.mjs +72 -0
  409. package/es/Table/atoms/cells.mjs.map +1 -0
  410. package/es/Table/atoms/index.d.mts +3 -0
  411. package/es/Table/atoms/layout.d.mts +44 -0
  412. package/es/Table/atoms/layout.mjs +62 -0
  413. package/es/Table/atoms/layout.mjs.map +1 -0
  414. package/es/Table/constants.mjs +16 -0
  415. package/es/Table/constants.mjs.map +1 -0
  416. package/es/Table/engine/fixed.d.mts +1 -0
  417. package/es/Table/engine/fixed.mjs +53 -0
  418. package/es/Table/engine/fixed.mjs.map +1 -0
  419. package/es/Table/engine/types.d.mts +1 -0
  420. package/es/Table/engine/useTableEngine.mjs +180 -0
  421. package/es/Table/engine/useTableEngine.mjs.map +1 -0
  422. package/es/Table/index.d.mts +7 -2
  423. package/es/Table/index.mjs +4 -1
  424. package/es/Table/internal.d.mts +3 -0
  425. package/es/Table/pipeline/columnUtils.d.mts +5 -0
  426. package/es/Table/pipeline/columnUtils.mjs +58 -0
  427. package/es/Table/pipeline/columnUtils.mjs.map +1 -0
  428. package/es/Table/pipeline/convertChildrenToColumns.mjs +24 -0
  429. package/es/Table/pipeline/convertChildrenToColumns.mjs.map +1 -0
  430. package/es/Table/pipeline/normalizeColumns.mjs +140 -0
  431. package/es/Table/pipeline/normalizeColumns.mjs.map +1 -0
  432. package/es/Table/pipeline/selectionUtils.d.mts +9 -0
  433. package/es/Table/pipeline/selectionUtils.mjs +115 -0
  434. package/es/Table/pipeline/selectionUtils.mjs.map +1 -0
  435. package/es/Table/pipeline/useBreakpoint.mjs +36 -0
  436. package/es/Table/pipeline/useBreakpoint.mjs.map +1 -0
  437. package/es/Table/pipeline/useExpandable.mjs +45 -0
  438. package/es/Table/pipeline/useExpandable.mjs.map +1 -0
  439. package/es/Table/pipeline/useFilter.mjs +52 -0
  440. package/es/Table/pipeline/useFilter.mjs.map +1 -0
  441. package/es/Table/pipeline/useSelection.mjs +302 -0
  442. package/es/Table/pipeline/useSelection.mjs.map +1 -0
  443. package/es/Table/pipeline/useSorter.mjs +146 -0
  444. package/es/Table/pipeline/useSorter.mjs.map +1 -0
  445. package/es/Table/pipeline/useTableLocale.mjs +30 -0
  446. package/es/Table/pipeline/useTableLocale.mjs.map +1 -0
  447. package/es/Table/pipeline/useTableState.mjs +118 -0
  448. package/es/Table/pipeline/useTableState.mjs.map +1 -0
  449. package/es/Table/pipeline/useVirtualLayout.mjs +80 -0
  450. package/es/Table/pipeline/useVirtualLayout.mjs.map +1 -0
  451. package/es/Table/render/Body.mjs +150 -0
  452. package/es/Table/render/Body.mjs.map +1 -0
  453. package/es/Table/render/BodyCell.mjs +87 -0
  454. package/es/Table/render/BodyCell.mjs.map +1 -0
  455. package/es/Table/render/CellShell.mjs +84 -0
  456. package/es/Table/render/CellShell.mjs.map +1 -0
  457. package/es/Table/render/ExpandIcon.mjs +28 -0
  458. package/es/Table/render/ExpandIcon.mjs.map +1 -0
  459. package/es/Table/render/FilterDropdown.mjs +139 -0
  460. package/es/Table/render/FilterDropdown.mjs.map +1 -0
  461. package/es/Table/render/FilterPanel.mjs +152 -0
  462. package/es/Table/render/FilterPanel.mjs.map +1 -0
  463. package/es/Table/render/FixedFrost.mjs +113 -0
  464. package/es/Table/render/FixedFrost.mjs.map +1 -0
  465. package/es/Table/render/FixedHolder.mjs +51 -0
  466. package/es/Table/render/FixedHolder.mjs.map +1 -0
  467. package/es/Table/render/Header.mjs +184 -0
  468. package/es/Table/render/Header.mjs.map +1 -0
  469. package/es/Table/render/LoadingSkeleton.mjs +78 -0
  470. package/es/Table/render/LoadingSkeleton.mjs.map +1 -0
  471. package/es/Table/render/PaginationBar.mjs +71 -0
  472. package/es/Table/render/PaginationBar.mjs.map +1 -0
  473. package/es/Table/render/SelectionCells.mjs +111 -0
  474. package/es/Table/render/SelectionCells.mjs.map +1 -0
  475. package/es/Table/render/StickyScrollBar.mjs +99 -0
  476. package/es/Table/render/StickyScrollBar.mjs.map +1 -0
  477. package/es/Table/render/Summary.d.mts +16 -0
  478. package/es/Table/render/Summary.mjs +58 -0
  479. package/es/Table/render/Summary.mjs.map +1 -0
  480. package/es/Table/render/TableView.mjs +215 -0
  481. package/es/Table/render/TableView.mjs.map +1 -0
  482. package/es/Table/render/VirtualBody.mjs +101 -0
  483. package/es/Table/render/VirtualBody.mjs.map +1 -0
  484. package/es/Table/render/context.mjs +15 -0
  485. package/es/Table/render/context.mjs.map +1 -0
  486. package/es/Table/render/filterUtils.mjs +22 -0
  487. package/es/Table/render/filterUtils.mjs.map +1 -0
  488. package/es/Table/render/tableHelpers.mjs +27 -0
  489. package/es/Table/render/tableHelpers.mjs.map +1 -0
  490. package/es/Table/render/useColGroups.mjs +23 -0
  491. package/es/Table/render/useColGroups.mjs.map +1 -0
  492. package/es/Table/render/useScrollSync.mjs +104 -0
  493. package/es/Table/render/useScrollSync.mjs.map +1 -0
  494. package/es/Table/render/useViewContexts.mjs +134 -0
  495. package/es/Table/render/useViewContexts.mjs.map +1 -0
  496. package/es/Table/semantic.mjs +45 -0
  497. package/es/Table/semantic.mjs.map +1 -0
  498. package/es/Table/store/createTableStore.d.mts +1 -0
  499. package/es/Table/store/createTableStore.mjs +40 -0
  500. package/es/Table/store/createTableStore.mjs.map +1 -0
  501. package/es/Table/store/hooks.mjs +24 -0
  502. package/es/Table/store/hooks.mjs.map +1 -0
  503. package/es/Table/style.mjs +175 -90
  504. package/es/Table/style.mjs.map +1 -1
  505. package/es/Table/type.d.mts +467 -37
  506. package/es/Table/useTableController.mjs +293 -0
  507. package/es/Table/useTableController.mjs.map +1 -0
  508. package/es/Tabs/Tabs.mjs +2 -2
  509. package/es/Tabs/Tabs.mjs.map +1 -1
  510. package/es/Tabs/atoms.mjs +2 -2
  511. package/es/Tabs/atoms.mjs.map +1 -1
  512. package/es/Tabs/style.d.mts +1 -1
  513. package/es/Tag/Tag.mjs +2 -2
  514. package/es/Tag/Tag.mjs.map +1 -1
  515. package/es/Text/Text.mjs +2 -2
  516. package/es/Text/Text.mjs.map +1 -1
  517. package/es/Text/style.d.mts +3 -3
  518. package/es/Text/style.mjs +3 -3
  519. package/es/Text/style.mjs.map +1 -1
  520. package/es/ToggleGroup/ToggleGroup.mjs +3 -3
  521. package/es/ToggleGroup/ToggleGroup.mjs.map +1 -1
  522. package/es/ToggleGroup/atoms.mjs +2 -2
  523. package/es/ToggleGroup/atoms.mjs.map +1 -1
  524. package/es/Tooltip/TooltipGroup.mjs +3 -3
  525. package/es/Tooltip/TooltipGroup.mjs.map +1 -1
  526. package/es/Tooltip/TooltipStandalone.mjs +3 -3
  527. package/es/Tooltip/TooltipStandalone.mjs.map +1 -1
  528. package/es/Tree/Tree.mjs +2 -2
  529. package/es/Tree/Tree.mjs.map +1 -1
  530. package/es/Tree/TreeNode.mjs +2 -2
  531. package/es/Tree/TreeNode.mjs.map +1 -1
  532. package/es/Video/Video.mjs +2 -2
  533. package/es/Video/Video.mjs.map +1 -1
  534. package/es/awesome/Features/FeatureItem.mjs +2 -2
  535. package/es/awesome/Features/FeatureItem.mjs.map +1 -1
  536. package/es/awesome/Hero/Hero.mjs +3 -3
  537. package/es/awesome/Hero/Hero.mjs.map +1 -1
  538. package/es/awesome/InstallBanner/InstallBanner.mjs +2 -2
  539. package/es/awesome/InstallBanner/InstallBanner.mjs.map +1 -1
  540. package/es/awesome/LandingHero/LandingHero.mjs +3 -3
  541. package/es/awesome/LandingHero/LandingHero.mjs.map +1 -1
  542. package/es/awesome/LogoMarquee/LogoMarquee.mjs +2 -2
  543. package/es/awesome/LogoMarquee/LogoMarquee.mjs.map +1 -1
  544. package/es/awesome/TypewriterEffect/TypewriterEffect.mjs +4 -4
  545. package/es/awesome/TypewriterEffect/TypewriterEffect.mjs.map +1 -1
  546. package/es/awesome/landingActions.mjs +2 -2
  547. package/es/awesome/landingActions.mjs.map +1 -1
  548. package/es/chat/ChatItem/ChatItem.mjs +2 -2
  549. package/es/chat/ChatItem/ChatItem.mjs.map +1 -1
  550. package/es/chat/EditableMessage/EditableMessage.mjs +3 -3
  551. package/es/chat/EditableMessage/EditableMessage.mjs.map +1 -1
  552. package/es/chat/EditableMessageList/EditableMessageList.mjs +1 -1
  553. package/es/chat/MessageInput/MessageInput.mjs +3 -3
  554. package/es/chat/MessageInput/MessageInput.mjs.map +1 -1
  555. package/es/dashboard/AuthLayout/AuthLayout.mjs +8 -4
  556. package/es/dashboard/AuthLayout/AuthLayout.mjs.map +1 -1
  557. package/es/dashboard/AuthLayout/style.mjs +14 -3
  558. package/es/dashboard/AuthLayout/style.mjs.map +1 -1
  559. package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs +2 -2
  560. package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs.map +1 -1
  561. package/es/dashboard/AuthTools/AuthThemeSwitch.mjs +2 -2
  562. package/es/dashboard/AuthTools/AuthThemeSwitch.mjs.map +1 -1
  563. package/es/dashboard/ConsoleNav/ConsoleNav.mjs +3 -3
  564. package/es/dashboard/ConsoleNav/ConsoleNav.mjs.map +1 -1
  565. package/es/dashboard/ConsoleNav/style.mjs +2 -2
  566. package/es/dashboard/ConsoleNav/style.mjs.map +1 -1
  567. package/es/dashboard/ConsoleShell/style.mjs +1 -1
  568. package/es/dashboard/ConsoleShell/style.mjs.map +1 -1
  569. package/es/dashboard/FilterSidebar/FilterSidebar.mjs +1 -1
  570. package/es/dashboard/FilterSidebar/style.mjs +2 -2
  571. package/es/dashboard/FilterSidebar/style.mjs.map +1 -1
  572. package/es/dashboard/FilterStrip/style.mjs +1 -1
  573. package/es/dashboard/FilterStrip/style.mjs.map +1 -1
  574. package/es/dashboard/MetricStrip/MetricCell.mjs +25 -14
  575. package/es/dashboard/MetricStrip/MetricCell.mjs.map +1 -1
  576. package/es/dashboard/MetricStrip/style.mjs +14 -1
  577. package/es/dashboard/MetricStrip/style.mjs.map +1 -1
  578. package/es/dashboard/MetricStrip/type.d.mts +2 -0
  579. package/es/dashboard/PageSkeleton/style.mjs +2 -1
  580. package/es/dashboard/PageSkeleton/style.mjs.map +1 -1
  581. package/es/dashboard/StatCard/StatCard.d.mts +1 -1
  582. package/es/dashboard/StatCard/StatCard.mjs +2 -1
  583. package/es/dashboard/StatCard/StatCard.mjs.map +1 -1
  584. package/es/dashboard/StatCard/type.d.mts +2 -0
  585. package/es/dashboard/Surface/Surface.mjs +3 -4
  586. package/es/dashboard/Surface/Surface.mjs.map +1 -1
  587. package/es/dashboard/Surface/link.mjs +1 -1
  588. package/es/dashboard/Surface/link.mjs.map +1 -1
  589. package/es/dashboard/Surface/style.mjs +15 -14
  590. package/es/dashboard/Surface/style.mjs.map +1 -1
  591. package/es/dashboard/index.mjs +2 -2
  592. package/es/eslint/noBaseUiSubpath.mjs +2 -1
  593. package/es/eslint/noBaseUiSubpath.mjs.map +1 -1
  594. package/es/i18n/resources/en/colorPicker.d.mts +5 -0
  595. package/es/i18n/resources/en/colorPicker.mjs +5 -0
  596. package/es/i18n/resources/en/colorPicker.mjs.map +1 -1
  597. package/es/i18n/resources/en/datePicker.d.mts +54 -0
  598. package/es/i18n/resources/en/datePicker.mjs +55 -1
  599. package/es/i18n/resources/en/datePicker.mjs.map +1 -1
  600. package/es/i18n/resources/en/index.d.mts +4 -3
  601. package/es/i18n/resources/en/index.mjs +3 -1
  602. package/es/i18n/resources/en/index.mjs.map +1 -1
  603. package/es/i18n/resources/en/table.d.mts +23 -0
  604. package/es/i18n/resources/en/table.mjs +24 -0
  605. package/es/i18n/resources/en/table.mjs.map +1 -0
  606. package/es/i18n/resources/zhCn/colorPicker.d.mts +5 -0
  607. package/es/i18n/resources/zhCn/colorPicker.mjs +5 -0
  608. package/es/i18n/resources/zhCn/colorPicker.mjs.map +1 -1
  609. package/es/i18n/resources/zhCn/datePicker.d.mts +54 -0
  610. package/es/i18n/resources/zhCn/datePicker.mjs +55 -1
  611. package/es/i18n/resources/zhCn/datePicker.mjs.map +1 -1
  612. package/es/i18n/resources/zhCn/index.d.mts +4 -3
  613. package/es/i18n/resources/zhCn/index.mjs +4 -2
  614. package/es/i18n/resources/zhCn/index.mjs.map +1 -1
  615. package/es/i18n/resources/zhCn/table.d.mts +23 -0
  616. package/es/i18n/resources/zhCn/table.mjs +24 -0
  617. package/es/i18n/resources/zhCn/table.mjs.map +1 -0
  618. package/es/i18n/types.d.mts +3 -2
  619. package/es/index.d.mts +13 -6
  620. package/es/index.mjs +10 -6
  621. package/es/internal/overflow/OverflowList.mjs +71 -0
  622. package/es/internal/overflow/OverflowList.mjs.map +1 -0
  623. package/es/mdx/Callout/index.mjs +2 -2
  624. package/es/mdx/Callout/index.mjs.map +1 -1
  625. package/es/mdx/Cards/Card.mjs +2 -2
  626. package/es/mdx/Cards/Card.mjs.map +1 -1
  627. package/es/mdx/Cards/index.mjs +2 -2
  628. package/es/mdx/Cards/index.mjs.map +1 -1
  629. package/es/mdx/Mdx/index.mjs +2 -2
  630. package/es/mdx/Mdx/index.mjs.map +1 -1
  631. package/es/mdx/Steps/index.mjs +2 -2
  632. package/es/mdx/Steps/index.mjs.map +1 -1
  633. package/es/mdx/mdxComponents/Pre.mjs +5 -5
  634. package/es/mdx/mdxComponents/Pre.mjs.map +1 -1
  635. package/es/storybook/StoryBook/style.mjs +2 -0
  636. package/es/storybook/StoryBook/style.mjs.map +1 -1
  637. package/es/style.css +2966 -957
  638. package/es/styles/stylex/props.mjs +2 -2
  639. package/es/styles/stylex/props.mjs.map +1 -1
  640. package/es/styles/theme/themeCss.mjs +15 -0
  641. package/es/styles/theme/themeCss.mjs.map +1 -1
  642. package/es/theme.css +8 -0
  643. package/package.json +6 -1
  644. package/es/DatePicker/CalendarPanel.mjs +0 -189
  645. package/es/DatePicker/CalendarPanel.mjs.map +0 -1
  646. package/es/DatePicker/PickerShell.mjs +0 -43
  647. package/es/DatePicker/PickerShell.mjs.map +0 -1
  648. package/es/DatePicker/calendar.d.mts +0 -4
  649. package/es/DatePicker/calendar.mjs +0 -46
  650. package/es/DatePicker/calendar.mjs.map +0 -1
  651. package/es/Table/FilterMenu.mjs +0 -45
  652. package/es/Table/FilterMenu.mjs.map +0 -1
  653. package/es/Table/TableBody.mjs +0 -67
  654. package/es/Table/TableBody.mjs.map +0 -1
  655. package/es/Table/TableHead.mjs +0 -58
  656. package/es/Table/TableHead.mjs.map +0 -1
  657. package/es/Table/features.mjs +0 -12
  658. package/es/Table/features.mjs.map +0 -1
  659. package/es/Table/fixedOffsets.mjs +0 -29
  660. package/es/Table/fixedOffsets.mjs.map +0 -1
  661. package/es/Table/marker.stylex.mjs +0 -9
  662. package/es/Table/marker.stylex.mjs.map +0 -1
  663. package/es/Table/toColumnDefs.mjs +0 -26
  664. package/es/Table/toColumnDefs.mjs.map +0 -1
  665. package/es/Table/useTableState.mjs +0 -99
  666. package/es/Table/useTableState.mjs.map +0 -1
@@ -1,35 +1,276 @@
1
- import { InputSize, InputVariant } from "../Input/type.mjs";
2
- import { CalendarMode } from "./calendar.mjs";
3
- import { CSSProperties, ReactNode } from "react";
1
+ import { GenerateConfig } from "./core/generate/index.mjs";
2
+ import { BaseInfo, CellRender, CellRenderInfo, Components, Locale, PanelMode, PickerMode, PickerRef, RangePickerRef, SharedPanelProps, ValueDate } from "./core/interface.mjs";
3
+ import { RangePickerProps as RangePickerProps$1 } from "./core/PickerInput/RangePicker.mjs";
4
+ import { PickerProps as PickerProps$1 } from "./core/PickerInput/SinglePicker.mjs";
5
+ import "./core/index.mjs";
6
+ import { CSSProperties, ComponentType, FocusEvent, MouseEvent, ReactNode, Ref } from "react";
7
+ import { Dayjs } from "dayjs";
4
8
  //#region src/DatePicker/type.d.ts
5
- interface PickerCommonProps {
6
- allowClear?: boolean;
7
- className?: string;
8
- disabled?: boolean;
9
- disabledDate?: (date: Date) => boolean;
10
- format?: string | ((date: Date) => string);
11
- max?: Date;
12
- min?: Date;
9
+ /** rc-picker's locale (texts and formats) plus antd's per-`picker` placeholders. */
10
+ export interface PickerLocaleLang extends Locale {
11
+ monthPlaceholder?: string;
12
+ placeholder?: string;
13
+ quarterPlaceholder?: string;
14
+ rangeMonthPlaceholder?: [string, string];
15
+ rangePlaceholder?: [string, string];
16
+ rangeQuarterPlaceholder?: [string, string];
17
+ rangeWeekPlaceholder?: [string, string];
18
+ rangeYearPlaceholder?: [string, string];
19
+ weekPlaceholder?: string;
20
+ yearPlaceholder?: string;
21
+ }
22
+ /** Placeholders of `picker="time"`. */
23
+ export interface TimePickerLocale {
24
+ placeholder?: string;
25
+ rangePlaceholder?: [string, string];
26
+ }
27
+ /** antd's `PickerLocale`, the shape of the `locale` prop. */
28
+ export interface PickerLocale {
29
+ /** @deprecated Kept for antd parity; use `lang.fieldDateFormat`. */
30
+ dateFormat?: string;
31
+ /** @deprecated Kept for antd parity; use `lang.fieldDateTimeFormat`. */
32
+ dateTimeFormat?: string;
33
+ lang: PickerLocaleLang;
34
+ /** @deprecated Kept for antd parity; use `lang.fieldMonthFormat`. */
35
+ monthFormat?: string;
36
+ timePickerLocale: TimePickerLocale;
37
+ /** @deprecated Kept for antd parity; use `lang.fieldWeekFormat`. */
38
+ weekFormat?: string;
39
+ }
40
+ /**
41
+ * The `locale` prop: a full `PickerLocale` (e.g. a spread of an exported default locale) or
42
+ * only the fields to change — `lang` and `timePickerLocale` are merged field by field over the
43
+ * default locale generated from `@lobehub/ui/i18n`.
44
+ */
45
+ export type PickerLocaleInput = Omit<Partial<PickerLocale>, 'lang' | 'timePickerLocale'> & {
46
+ lang?: Partial<PickerLocaleLang>;
47
+ timePickerLocale?: TimePickerLocale;
48
+ };
49
+ /** A `presets` entry: `value` may be a function, evaluated when the preset is hovered or picked. */
50
+ export type PresetDate<T = Dayjs> = ValueDate<T>;
51
+ /** `components`: replace a panel (`date` / `week` / … / `time`), the `input` or the OK `button`. */
52
+ export type PickerComponents = Components<Dayjs>;
53
+ /** Props a custom panel in `components` receives (`value`, `onSelect`, `onHover`, …). */
54
+ export type PickerPanelProps = SharedPanelProps<Dayjs>;
55
+ export type PickerSize = 'large' | 'medium' | 'small';
56
+ export type PickerVariant = 'outlined' | 'borderless' | 'filled' | 'underlined';
57
+ export type PickerStatus = 'error' | 'warning';
58
+ export type PickerPlacement = 'bottomLeft' | 'bottomRight' | 'topLeft' | 'topRight';
59
+ /** @deprecated Use `PickerMode` (the `picker` prop) instead. */
60
+ export type CalendarMode = 'date' | 'month' | 'year';
61
+ /** Semantic parts of the input box (Semantic DOM). */
62
+ export type PickerSemanticName = 'root' | 'prefix' | 'input' | 'suffix';
63
+ /** Semantic parts of the popup (Semantic DOM, `classNames.popup` / `styles.popup`). */
64
+ export type PickerPopupSemanticName = 'root' | 'container' | 'header' | 'body' | 'content' | 'item' | 'footer';
65
+ export interface PickerSemanticClassNames extends Partial<Record<PickerSemanticName, string>> {
66
+ /** A string is the popup `root` class. */
67
+ popup?: string | Partial<Record<PickerPopupSemanticName, string>>;
68
+ }
69
+ export interface PickerSemanticStyles extends Partial<Record<PickerSemanticName, CSSProperties>> {
70
+ popup?: Partial<Record<PickerPopupSemanticName, CSSProperties>>;
71
+ }
72
+ /** `classNames`: an object, or a function of `{ props }` returning one. */
73
+ export type PickerClassNames<P = any> = PickerSemanticClassNames | ((info: {
74
+ props: P;
75
+ }) => PickerSemanticClassNames);
76
+ /** `styles`: an object, or a function of `{ props }` returning one. */
77
+ export type PickerStyles<P = any> = PickerSemanticStyles | ((info: {
78
+ props: P;
79
+ }) => PickerSemanticStyles);
80
+ /** Props rc-picker owns internally or that lobe wires up itself. */
81
+ type InternalRcProps = 'classNames' | 'generateConfig' | 'inlinePopup' | 'locale' | 'prefixCls' | 'styles';
82
+ type MultipleRcProps = 'maxTagCount' | 'multiple' | 'removeIcon' | 'tagRender';
83
+ type ValueRcProps = 'changeOnBlur' | 'defaultValue' | 'onCalendarChange' | 'onChange' | 'onOk' | 'placeholder' | 'placement' | 'size' | 'value';
84
+ interface LobePickerProps {
85
+ /**
86
+ * @deprecated Use `needConfirm={false}` instead: the value is committed when the popup
87
+ * closes, without the OK button. Ignored when `needConfirm` is set.
88
+ */
89
+ changeOnBlur?: boolean;
90
+ /** @deprecated Use `classNames.popup.root` instead. */
91
+ dropdownClassName?: string;
92
+ /**
93
+ * Popup position relative to the input.
94
+ * @default 'bottomLeft' ('bottomRight' when `direction="rtl"`)
95
+ */
96
+ placement?: PickerPlacement;
97
+ /** @deprecated Use `classNames.popup.root` instead. */
98
+ popupClassName?: string;
99
+ /** @deprecated Use `styles.popup.root` instead. */
100
+ popupStyle?: CSSProperties;
101
+ /** Lobe look: drop shadow under the input box. */
13
102
  shadow?: boolean;
14
- size?: InputSize;
15
- style?: CSSProperties;
16
- variant?: InputVariant;
17
- }
18
- export interface DatePickerProps extends PickerCommonProps {
19
- defaultValue?: Date | null;
20
- footer?: ReactNode;
21
- mode?: CalendarMode;
22
- onChange?: (date: Date | null) => void;
103
+ /** @default 'medium' */
104
+ size?: PickerSize;
105
+ status?: PickerStatus;
106
+ /** @default 'outlined' (light) / 'filled' (dark) */
107
+ variant?: PickerVariant;
108
+ }
109
+ /** Props `tagRender` receives for each picked date in `multiple` mode. */
110
+ export interface PickerTagProps<DateType extends object = Dayjs> {
111
+ closable: boolean;
112
+ disabled: boolean;
113
+ /** The date formatted with `format`. */
114
+ label: ReactNode;
115
+ /** Removes the date from the value. */
116
+ onClose: (event?: MouseEvent<HTMLElement>) => void;
117
+ value: DateType;
118
+ }
119
+ /** `dateString` of a value: a string per date in `multiple` mode. */
120
+ export type PickerDateStrings<ValueType> = ValueType extends readonly unknown[] ? string[] : string | null;
121
+ /**
122
+ * antd's `PickerPropsWithMultiple`: `InnerPickerProps` with the value props typed by
123
+ * `ValueType` — `DateType` for one date, `DateType[]` with `multiple`.
124
+ */
125
+ export type PickerPropsWithMultiple<DateType, InnerPickerProps, ValueType = DateType> = Omit<InnerPickerProps, 'defaultValue' | 'onCalendarChange' | 'onChange' | 'onOk' | 'value'> & {
126
+ defaultValue?: ValueType | null;
127
+ onCalendarChange?: (date: ValueType | null, dateString: PickerDateStrings<ValueType>, info: BaseInfo) => void;
128
+ /** Cleared: `null` for one date, `[]` with `multiple`. */
129
+ onChange?: (date: ValueType | null, dateString: PickerDateStrings<ValueType>) => void;
130
+ onOk?: (date?: ValueType | null) => void;
131
+ value?: ValueType | null;
132
+ };
133
+ /**
134
+ * DatePicker props other than the value ones, which `PickerPropsWithMultiple` adds.
135
+ * `DateType` is the date library's type (`Dayjs`, or another one with `generatePicker`).
136
+ */
137
+ export interface DatePickerBaseProps<DateType extends object = Dayjs> extends Omit<PickerProps$1<DateType>, InternalRcProps | MultipleRcProps | ValueRcProps>, LobePickerProps {
138
+ /** Semantic DOM class names: `root` / `prefix` / `input` / `suffix` and `popup.*`. */
139
+ classNames?: PickerClassNames<DatePickerProps<any>>;
140
+ /**
141
+ * antd `PickerLocale`: `lang` texts and formats (`fieldDateFormat`, `yearFormat`,
142
+ * `shortWeekDays`, …) and `timePickerLocale`. Defaults to the locale generated from the
143
+ * `@lobehub/ui/i18n` resources in context.
144
+ */
145
+ locale?: PickerLocaleInput;
146
+ /**
147
+ * `multiple`: at most this many tags; `'responsive'` fits as many as the width allows.
148
+ * The rest collapse into a `+ N ...` tag.
149
+ */
150
+ maxTagCount?: number | 'responsive';
151
+ /**
152
+ * Pick several dates, shown as tags; clicking a picked cell again removes it. Works on
153
+ * every `picker` except with `showTime`. Values are `Dayjs[]`, sorted unless
154
+ * `order={false}`. No OK button (`needConfirm` defaults to `false`): `onCalendarChange`
155
+ * fires on each click and `onChange` once the popup closes.
156
+ */
157
+ multiple?: boolean;
158
+ /**
159
+ * `multiple`: sort the picked dates; `false` keeps them in picking order.
160
+ * @default true
161
+ */
162
+ order?: boolean;
23
163
  placeholder?: string;
24
- value?: Date | null;
164
+ ref?: Ref<PickerRef>;
165
+ /** `multiple`: the remove icon of each tag. */
166
+ removeIcon?: ReactNode;
167
+ /** Semantic DOM styles: `root` / `prefix` / `input` / `suffix` and `popup.*`. */
168
+ styles?: PickerStyles<DatePickerProps<any>>;
169
+ /** `multiple`: render each picked date's tag, e.g. with base-ui `Tag`. */
170
+ tagRender?: (props: PickerTagProps<DateType>) => ReactNode;
171
+ }
172
+ /**
173
+ * `ValueType` is `Dayjs` (default) or `Dayjs[]` with `multiple`; `<DatePicker multiple>`
174
+ * infers `Dayjs[]` by itself.
175
+ */
176
+ export type DatePickerProps<ValueType = Dayjs> = PickerPropsWithMultiple<Dayjs, DatePickerBaseProps, ValueType>;
177
+ export type DateRangeValue<DateType extends object = Dayjs> = [DateType | null, DateType | null];
178
+ /** Which end of a range an event belongs to. */
179
+ export interface RangeInfo {
180
+ range: 'start' | 'end';
25
181
  }
26
- export type DateRangeValue = [Date | null, Date | null];
27
- export interface DateRangePickerProps extends PickerCommonProps {
28
- defaultValue?: DateRangeValue;
29
- onChange?: (range: DateRangeValue) => void;
182
+ /** `info.from` is the end picked first in the current range selection. */
183
+ export type RangeDisabledDate<DateType extends object = Dayjs> = (current: DateType, info: {
184
+ from?: DateType;
185
+ type: PanelMode;
186
+ }) => boolean;
187
+ type RangeRcProps = 'allowEmpty' | 'disabled' | 'disabledDate' | 'id' | 'onBlur' | 'onFocus' | 'order';
188
+ export interface DateRangePickerProps<DateType extends object = Dayjs> extends Omit<RangePickerProps$1<DateType>, InternalRcProps | RangeRcProps | ValueRcProps>, LobePickerProps {
189
+ /**
190
+ * Allow leaving the start / end empty; `true` applies to both ends.
191
+ * @default [false, false]
192
+ */
193
+ allowEmpty?: boolean | [boolean, boolean];
194
+ /** Semantic DOM class names, see `DatePickerProps['classNames']`. */
195
+ classNames?: PickerClassNames<DateRangePickerProps<DateType>>;
196
+ defaultValue?: [DateType | null | undefined, DateType | null | undefined];
197
+ /** Disable the whole picker, or each end separately with `[start, end]`. */
198
+ disabled?: boolean | [boolean, boolean];
199
+ /** Receives `info.from` once one end is picked, e.g. to limit the range length. */
200
+ disabledDate?: RangeDisabledDate<DateType>;
201
+ /** Ids of the start and end inputs. */
202
+ id?: {
203
+ end?: string;
204
+ start?: string;
205
+ };
206
+ /** antd `PickerLocale`, see `DatePickerProps['locale']`. */
207
+ locale?: PickerLocaleInput;
208
+ onBlur?: (event: FocusEvent<HTMLElement>, info: RangeInfo) => void;
209
+ onCalendarChange?: (dates: DateRangeValue<DateType>, dateStrings: [string, string], info: RangeInfo) => void;
210
+ onChange?: (dates: DateRangeValue<DateType> | null, dateStrings: [string, string] | null) => void;
211
+ onFocus?: (event: FocusEvent<HTMLElement>, info: RangeInfo) => void;
212
+ onOk?: (dates: DateRangeValue<DateType>) => void;
213
+ /**
214
+ * Swap the ends when the end is earlier than the start; `false` keeps them as entered.
215
+ * @default true
216
+ */
217
+ order?: boolean;
30
218
  placeholder?: [string, string];
31
- value?: DateRangeValue;
219
+ /** `focus(index)` / `focus({ index })` focuses the start (`0`) or end (`1`) input. */
220
+ ref?: Ref<RangePickerRef>;
221
+ /** Semantic DOM styles, see `DatePickerProps['styles']`. */
222
+ styles?: PickerStyles<DateRangePickerProps<DateType>>;
223
+ value?: [DateType | null | undefined, DateType | null | undefined] | null;
224
+ }
225
+ /** antd `PickerProps<DateType>`: DatePicker props over any date library's type. */
226
+ export type PickerProps<DateType extends object = Dayjs, ValueType = DateType> = PickerPropsWithMultiple<DateType, DatePickerBaseProps<DateType>, ValueType>;
227
+ /** Props of `DatePicker.WeekPicker` / `MonthPicker` / … : `picker` is fixed. */
228
+ export type PresetPickerProps<DateType extends object = Dayjs, ValueType = DateType> = Omit<PickerProps<DateType, ValueType>, 'picker'>;
229
+ export type WeekPickerProps<ValueType = Dayjs> = PresetPickerProps<Dayjs, ValueType>;
230
+ export type MonthPickerProps<ValueType = Dayjs> = PresetPickerProps<Dayjs, ValueType>;
231
+ export type YearPickerProps<ValueType = Dayjs> = PresetPickerProps<Dayjs, ValueType>;
232
+ export type QuarterPickerProps<ValueType = Dayjs> = PresetPickerProps<Dayjs, ValueType>;
233
+ /** antd `GenericTimePickerProps`: `DatePicker.TimePicker` has no `picker` / `showTime`. */
234
+ export type GenericTimePickerProps<DateType extends object = Dayjs, ValueType = DateType> = Omit<PickerProps<DateType, ValueType>, 'picker' | 'showTime'>;
235
+ export type TimePickerProps<ValueType = Dayjs> = GenericTimePickerProps<Dayjs, ValueType>;
236
+ /** antd-style alias of `DateRangePickerProps`. */
237
+ export type RangePickerProps<DateType extends object = Dayjs> = DateRangePickerProps<DateType>;
238
+ /** antd `DatePickerSemanticType`: the Semantic DOM `classNames` / `styles` shapes. */
239
+ export interface DatePickerSemanticType {
240
+ classNames?: PickerSemanticClassNames;
241
+ styles?: PickerSemanticStyles;
242
+ }
243
+ /**
244
+ * A single-date picker component: `multiple` (as `IsMultiple`) picks `DateType[]` values,
245
+ * otherwise `DateType`; a `value` / `defaultValue` infers `ValueType` directly.
246
+ */
247
+ export interface SinglePickerComponent<DateType extends object, InnerProps = DatePickerBaseProps<DateType>> {
248
+ <IsMultiple extends boolean = false, ValueType = IsMultiple extends true ? DateType[] : DateType>(props: PickerPropsWithMultiple<DateType, InnerProps, ValueType> & {
249
+ multiple?: IsMultiple;
250
+ }): ReactNode;
251
+ displayName?: string;
252
+ }
253
+ export interface RangePickerComponent<DateType extends object> {
254
+ (props: DateRangePickerProps<DateType>): ReactNode;
255
+ displayName?: string;
256
+ }
257
+ /** What `generatePicker(generateConfig)` returns: DatePicker with its static pickers. */
258
+ export interface GeneratedDatePicker<DateType extends object> extends SinglePickerComponent<DateType> {
259
+ MonthPicker: SinglePickerComponent<DateType, Omit<DatePickerBaseProps<DateType>, 'picker'>>;
260
+ QuarterPicker: SinglePickerComponent<DateType, Omit<DatePickerBaseProps<DateType>, 'picker'>>;
261
+ RangePicker: RangePickerComponent<DateType>;
262
+ TimePicker: SinglePickerComponent<DateType, Omit<DatePickerBaseProps<DateType>, 'picker' | 'showTime'>>;
263
+ WeekPicker: SinglePickerComponent<DateType, Omit<DatePickerBaseProps<DateType>, 'picker'>>;
264
+ YearPicker: SinglePickerComponent<DateType, Omit<DatePickerBaseProps<DateType>, 'picker'>>;
265
+ }
266
+ /** The default `DatePicker` (Dayjs), with antd's pure panels and `generatePicker`. */
267
+ export interface DatePickerType extends GeneratedDatePicker<Dayjs> {
268
+ /** Debug only: the popup panel rendered inline, always open (antd `render-panel`). */
269
+ _InternalPanelDoNotUseOrYouWillBeFired: ComponentType<DatePickerProps<any>>;
270
+ /** Debug only: the RangePicker popup panel rendered inline, always open. */
271
+ _InternalRangePanelDoNotUseOrYouWillBeFired: ComponentType<DateRangePickerProps>;
272
+ generatePicker: <DateType extends object>(generateConfig: GenerateConfig<DateType>) => GeneratedDatePicker<DateType>;
32
273
  }
33
274
  //#endregion
34
- export type { CalendarMode };
275
+ export type { CellRender, CellRenderInfo, GenerateConfig, PanelMode, PickerMode, PickerRef, RangePickerRef };
35
276
  //# sourceMappingURL=type.d.mts.map
@@ -0,0 +1,230 @@
1
+ "use client";
2
+ import generateConfig from "./generateConfig.mjs";
3
+ import { PREFIX_CLS } from "./style.mjs";
4
+ import { useCallback, useEffect, useId, useRef, useState } from "react";
5
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
6
+ //#region src/DatePicker/usePanelKeyboard.tsx
7
+ const isGridMode = (mode) => mode === "month" || mode === "quarter" || mode === "year" || mode === "decade";
8
+ /** Cell steps per panel: one cell (←/→), one row (↑/↓) and one page (PageUp/PageDown). */
9
+ const GRID = {
10
+ decade: {
11
+ col: 10,
12
+ page: 100,
13
+ row: 30,
14
+ unit: "year"
15
+ },
16
+ month: {
17
+ col: 1,
18
+ page: 12,
19
+ row: 3,
20
+ unit: "month"
21
+ },
22
+ quarter: {
23
+ col: 3,
24
+ page: 12,
25
+ row: 12,
26
+ unit: "month"
27
+ },
28
+ year: {
29
+ col: 1,
30
+ page: 10,
31
+ row: 3,
32
+ unit: "year"
33
+ }
34
+ };
35
+ const defaultConfig = generateConfig;
36
+ /** Months since year 0, to compare tiles by position. */
37
+ const monthIndex = (date, config) => config.getYear(date) * 12 + config.getMonth(date);
38
+ /** First cell of the page `date` is on: Jan / Q1 of its year, first year of its decade… */
39
+ const getPageStart = (date, mode, config = defaultConfig) => {
40
+ const year = config.getYear(date);
41
+ const startYear = mode === "year" ? Math.floor(year / 10) * 10 : mode === "decade" ? Math.floor(year / 100) * 100 : year;
42
+ const start = config.setDate(config.setMonth(config.setYear(date, startYear), 0), 1);
43
+ return config.setHour(config.setMinute(config.setSecond(config.setMillisecond(start, 0), 0), 0), 0);
44
+ };
45
+ const getPageEnd = (date, mode, config) => {
46
+ const start = getPageStart(date, mode, config);
47
+ if (mode === "month") return config.setMonth(start, 11);
48
+ if (mode === "quarter") return config.setMonth(start, 9);
49
+ return config.addYear(start, mode === "year" ? 9 : 90);
50
+ };
51
+ /** Whether `a` and `b` fall in the same tile of a `mode` panel. */
52
+ const isSameCell = (a, b, mode, config = defaultConfig) => {
53
+ const yearA = config.getYear(a);
54
+ const yearB = config.getYear(b);
55
+ if (mode === "decade") return Math.floor(yearA / 10) === Math.floor(yearB / 10);
56
+ if (mode === "year") return yearA === yearB;
57
+ if (mode === "quarter") return yearA === yearB && Math.floor(config.getMonth(a) / 3) === Math.floor(config.getMonth(b) / 3);
58
+ return yearA === yearB && config.getMonth(a) === config.getMonth(b);
59
+ };
60
+ /**
61
+ * Where `key` moves the active tile of a `mode` panel, or `undefined` for other keys.
62
+ * `rtl` mirrors ←/→.
63
+ */
64
+ const moveGridCell = (date, key, mode, rtl = false, config = defaultConfig) => {
65
+ const { col, page, row, unit } = GRID[mode];
66
+ const add = (diff) => unit === "year" ? config.addYear(date, diff) : config.addMonth(date, diff);
67
+ switch (key) {
68
+ case "ArrowLeft": return add(rtl ? col : -col);
69
+ case "ArrowRight": return add(rtl ? -col : col);
70
+ case "ArrowUp": return add(-row);
71
+ case "ArrowDown": return add(row);
72
+ case "PageUp": return add(-page);
73
+ case "PageDown": return add(page);
74
+ case "Home": return getPageStart(date, mode, config);
75
+ case "End": return getPageEnd(date, mode, config);
76
+ }
77
+ };
78
+ const ACTIVE_CLS = `${PREFIX_CLS}-cell-keyboard-active`;
79
+ const toPair = (value) => Array.isArray(value) ? [value[0] ?? void 0, value[1] ?? void 0] : [value ?? void 0, void 0];
80
+ /** The selection the keys start from; with `multiple`, the last picked date. */
81
+ const toValuePair = (value, range) => !range && Array.isArray(value) ? toPair(value.at(-1)) : toPair(value);
82
+ /**
83
+ * lobe enhancement over rc-picker (ADR §8 step 6): arrow keys, PageUp / PageDown and
84
+ * Home / End move an active tile on the month, quarter, year and decade panels while
85
+ * focus stays in the input, and Enter picks it — as a click on that tile would.
86
+ *
87
+ * rc-picker has no grid navigation of its own, so this is layered on top: a capture
88
+ * listener reads the keys before rc-picker's input handlers, the active tile is marked
89
+ * through `cellRender`, and `pickerValue` is driven so the active tile stays on screen.
90
+ * The date and week panels keep the input's text-editing keys, as in antd.
91
+ */
92
+ const usePanelKeyboard = ({ cellRender, dateRender, defaultOpen, defaultPickerValue, defaultValue, direction, generateConfig: config = defaultConfig, mode, monthCellRender, onChange, onFocus, onOpenChange, onPanelChange, onPickerValueChange, open, picker = "date", pickerValue, range, value }) => {
93
+ const scopeId = useId();
94
+ const scopeClassName = `${PREFIX_CLS}-kb-${scopeId.replaceAll(/[^\w-]/g, "")}`;
95
+ const [innerOpen, setInnerOpen] = useState(!!defaultOpen);
96
+ const mergedOpen = open ?? innerOpen;
97
+ const [activeIndex, setActiveIndex] = useState(0);
98
+ const [innerMode, setInnerMode] = useState(picker);
99
+ const [innerPickerValue, setInnerPickerValue] = useState([void 0, void 0]);
100
+ const [activeCell, setActiveCell] = useState();
101
+ const [innerValue, setInnerValue] = useState();
102
+ const panelMode = (Array.isArray(mode) ? mode[activeIndex] : mode) ?? innerMode;
103
+ const resetKey = `${mergedOpen}|${activeIndex}|${picker}`;
104
+ const [prevResetKey, setPrevResetKey] = useState(resetKey);
105
+ if (prevResetKey !== resetKey) {
106
+ setPrevResetKey(resetKey);
107
+ setInnerMode(picker);
108
+ setActiveCell(void 0);
109
+ }
110
+ const [prevPanelMode, setPrevPanelMode] = useState(panelMode);
111
+ if (prevPanelMode !== panelMode) {
112
+ setPrevPanelMode(panelMode);
113
+ setActiveCell(void 0);
114
+ }
115
+ const mergedPickerValue = pickerValue === void 0 ? innerPickerValue : toPair(pickerValue);
116
+ const state = {
117
+ activeCell,
118
+ activeIndex,
119
+ config,
120
+ defaultPickerValue: toPair(defaultPickerValue),
121
+ direction,
122
+ mergedPickerValue,
123
+ onPickerValueChange,
124
+ panelMode,
125
+ picker,
126
+ range,
127
+ value: value === void 0 ? innerValue ?? toValuePair(defaultValue, range) : toValuePair(value, range)
128
+ };
129
+ const stateRef = useRef(state);
130
+ stateRef.current = state;
131
+ const commitPickerValue = useCallback((next) => {
132
+ const { activeIndex, mergedPickerValue, onPickerValueChange, panelMode, range } = stateRef.current;
133
+ const nextPair = [...mergedPickerValue];
134
+ nextPair[activeIndex] = next;
135
+ setInnerPickerValue(nextPair);
136
+ if (range) onPickerValueChange?.(nextPair, {
137
+ mode: [panelMode, panelMode],
138
+ range: activeIndex === 1 ? "end" : "start",
139
+ source: "panel"
140
+ });
141
+ else onPickerValueChange?.(next, {
142
+ mode: panelMode,
143
+ source: "panel"
144
+ });
145
+ }, []);
146
+ useEffect(() => {
147
+ if (!mergedOpen) return;
148
+ const onKeyDown = (event) => {
149
+ const { activeCell, activeIndex, config, defaultPickerValue, direction, mergedPickerValue, panelMode, picker, range, value } = stateRef.current;
150
+ if (!isGridMode(panelMode) || event.altKey || event.ctrlKey || event.metaKey) return;
151
+ if (!(event.target instanceof Element) || !event.target.closest(`.${scopeClassName}`)) return;
152
+ if (event.key === "Enter") {
153
+ if (!activeCell) return;
154
+ const cells = [...document.querySelectorAll(`.${scopeClassName} .${ACTIVE_CLS}`)].map((node) => node.closest("td")).filter((node) => !!node);
155
+ const cell = cells.find((node) => node.classList.contains(`${PREFIX_CLS}-cell-in-view`));
156
+ event.preventDefault();
157
+ event.stopPropagation();
158
+ (cell ?? cells[0])?.click();
159
+ return;
160
+ }
161
+ const pageDate = mergedPickerValue[activeIndex] ?? defaultPickerValue[activeIndex] ?? value[activeIndex] ?? config.getNow();
162
+ const rtl = direction === "rtl";
163
+ const pages = range && panelMode === picker ? 2 : 1;
164
+ const pageIndex = (date) => monthIndex(getPageStart(date, panelMode, config), config);
165
+ const firstPage = pageIndex(pageDate);
166
+ const lastPage = pageIndex(moveGridCell(pageDate, "PageDown", panelMode, rtl, config));
167
+ const isVisible = (date) => {
168
+ const page = pageIndex(date);
169
+ return page === firstPage || pages === 2 && page === lastPage;
170
+ };
171
+ const selected = value[activeIndex];
172
+ const base = activeCell && isVisible(activeCell) ? activeCell : selected && isVisible(selected) ? selected : void 0;
173
+ const next = base ? moveGridCell(base, event.key, panelMode, rtl, config) : moveGridCell(pageDate, event.key, panelMode, rtl, config) && pageDate;
174
+ if (!next) return;
175
+ event.preventDefault();
176
+ event.stopPropagation();
177
+ setActiveCell(next);
178
+ if (pageIndex(next) < firstPage) commitPickerValue(next);
179
+ else if (!isVisible(next)) commitPickerValue(pages === 2 ? moveGridCell(next, "PageUp", panelMode, rtl, config) : next);
180
+ };
181
+ document.addEventListener("keydown", onKeyDown, true);
182
+ return () => document.removeEventListener("keydown", onKeyDown, true);
183
+ }, [
184
+ mergedOpen,
185
+ scopeClassName,
186
+ commitPickerValue
187
+ ]);
188
+ const mergedCellRender = (current, info) => {
189
+ let node = info.originNode;
190
+ if (cellRender) node = cellRender(current, info);
191
+ else if (dateRender && info.type === "date") node = dateRender(current, info.today);
192
+ else if (monthCellRender && info.type === "month") node = monthCellRender(current, info.locale);
193
+ if (!activeCell || info.type !== panelMode || !isGridMode(info.type)) return node;
194
+ if (!isSameCell(current, activeCell, info.type, config)) return node;
195
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [node, /* @__PURE__ */ jsx("span", {
196
+ "aria-hidden": true,
197
+ className: ACTIVE_CLS
198
+ })] });
199
+ };
200
+ return {
201
+ cellRender: mergedCellRender,
202
+ onChange: (date, dateString) => {
203
+ setInnerValue(toValuePair(date, range));
204
+ onChange?.(date, dateString);
205
+ },
206
+ onFocus: (event, info) => {
207
+ if (range && info?.range) setActiveIndex(info.range === "end" ? 1 : 0);
208
+ onFocus?.(event, info);
209
+ },
210
+ onOpenChange: (next) => {
211
+ setInnerOpen(next);
212
+ onOpenChange?.(next);
213
+ },
214
+ onPanelChange: (date, nextMode) => {
215
+ setInnerMode(Array.isArray(nextMode) ? nextMode[stateRef.current.activeIndex] : nextMode);
216
+ onPanelChange?.(date, nextMode);
217
+ },
218
+ onPickerValueChange: (date, info) => {
219
+ setInnerPickerValue(toPair(date));
220
+ onPickerValueChange?.(date, info);
221
+ },
222
+ /** Controlled once known, so a key can move the visible page. */
223
+ pickerValue: pickerValue !== void 0 || innerPickerValue.some(Boolean) ? range ? mergedPickerValue : mergedPickerValue[0] : void 0,
224
+ scopeClassName
225
+ };
226
+ };
227
+ //#endregion
228
+ export { getPageStart, isSameCell, moveGridCell, usePanelKeyboard };
229
+
230
+ //# sourceMappingURL=usePanelKeyboard.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePanelKeyboard.mjs","names":["dayjsGenerateConfig"],"sources":["../../src/DatePicker/usePanelKeyboard.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useEffect, useId, useRef, useState } from 'react';\n\nimport type { GenerateConfig } from './core/generate';\nimport type { CellRender, PanelMode, PickerMode } from './core/interface';\nimport dayjsGenerateConfig from './generateConfig';\nimport { PREFIX_CLS } from './style';\n\n/** Panels with a fixed grid of month / quarter / year / decade tiles. */\nexport type GridPanelMode = 'decade' | 'month' | 'quarter' | 'year';\n\nconst isGridMode = (mode?: PanelMode): mode is GridPanelMode =>\n mode === 'month' || mode === 'quarter' || mode === 'year' || mode === 'decade';\n\n/** Cell steps per panel: one cell (←/→), one row (↑/↓) and one page (PageUp/PageDown). */\nconst GRID: Record<\n GridPanelMode,\n { col: number; page: number; row: number; unit: 'month' | 'year' }\n> = {\n decade: { col: 10, page: 100, row: 30, unit: 'year' },\n month: { col: 1, page: 12, row: 3, unit: 'month' },\n quarter: { col: 3, page: 12, row: 12, unit: 'month' },\n year: { col: 1, page: 10, row: 3, unit: 'year' },\n};\n\n// Date math goes through rc-picker's `generateConfig`, so `generatePicker` works with any\n// date library; the default is the Dayjs one.\nconst defaultConfig = dayjsGenerateConfig as GenerateConfig<any>;\n\n/** Months since year 0, to compare tiles by position. */\nconst monthIndex = <D,>(date: D, config: GenerateConfig<D>) =>\n config.getYear(date) * 12 + config.getMonth(date);\n\n/** First cell of the page `date` is on: Jan / Q1 of its year, first year of its decade… */\nexport const getPageStart = <D,>(\n date: D,\n mode: GridPanelMode,\n config: GenerateConfig<D> = defaultConfig,\n) => {\n const year = config.getYear(date);\n const startYear =\n mode === 'year'\n ? Math.floor(year / 10) * 10\n : mode === 'decade'\n ? Math.floor(year / 100) * 100\n : year;\n const start = config.setDate(config.setMonth(config.setYear(date, startYear), 0), 1);\n return config.setHour(\n config.setMinute(config.setSecond(config.setMillisecond(start, 0), 0), 0),\n 0,\n );\n};\n\nconst getPageEnd = <D,>(date: D, mode: GridPanelMode, config: GenerateConfig<D>) => {\n const start = getPageStart(date, mode, config);\n if (mode === 'month') return config.setMonth(start, 11);\n if (mode === 'quarter') return config.setMonth(start, 9);\n return config.addYear(start, mode === 'year' ? 9 : 90);\n};\n\n/** Whether `a` and `b` fall in the same tile of a `mode` panel. */\nexport const isSameCell = <D,>(\n a: D,\n b: D,\n mode: GridPanelMode,\n config: GenerateConfig<D> = defaultConfig,\n) => {\n const yearA = config.getYear(a);\n const yearB = config.getYear(b);\n if (mode === 'decade') return Math.floor(yearA / 10) === Math.floor(yearB / 10);\n if (mode === 'year') return yearA === yearB;\n if (mode === 'quarter') {\n return (\n yearA === yearB && Math.floor(config.getMonth(a) / 3) === Math.floor(config.getMonth(b) / 3)\n );\n }\n return yearA === yearB && config.getMonth(a) === config.getMonth(b);\n};\n\n/**\n * Where `key` moves the active tile of a `mode` panel, or `undefined` for other keys.\n * `rtl` mirrors ←/→.\n */\nexport const moveGridCell = <D,>(\n date: D,\n key: string,\n mode: GridPanelMode,\n rtl = false,\n config: GenerateConfig<D> = defaultConfig,\n) => {\n const { col, page, row, unit } = GRID[mode];\n const add = (diff: number) =>\n unit === 'year' ? config.addYear(date, diff) : config.addMonth(date, diff);\n switch (key) {\n case 'ArrowLeft': {\n return add(rtl ? col : -col);\n }\n case 'ArrowRight': {\n return add(rtl ? -col : col);\n }\n case 'ArrowUp': {\n return add(-row);\n }\n case 'ArrowDown': {\n return add(row);\n }\n case 'PageUp': {\n return add(-page);\n }\n case 'PageDown': {\n return add(page);\n }\n case 'Home': {\n return getPageStart(date, mode, config);\n }\n case 'End': {\n return getPageEnd(date, mode, config);\n }\n }\n};\n\nconst ACTIVE_CLS = `${PREFIX_CLS}-cell-keyboard-active`;\n\n/** A date of the picker's library (`Dayjs` by default). */\ntype DateValue = object;\ntype Pair = [DateValue | undefined, DateValue | undefined];\ntype MaybePair<T> = T | [T, T] | null | undefined;\n\nconst toPair = (value: MaybePair<DateValue | null | undefined>): Pair =>\n Array.isArray(value)\n ? [value[0] ?? undefined, value[1] ?? undefined]\n : [value ?? undefined, undefined];\n\n/** The selection the keys start from; with `multiple`, the last picked date. */\nconst toValuePair = (\n value: MaybePair<DateValue | null | undefined> | DateValue[],\n range?: boolean,\n) =>\n !range && Array.isArray(value) ? toPair(value.at(-1)) : toPair(value as MaybePair<DateValue>);\n\nexport interface PanelKeyboardOptions {\n cellRender?: CellRender<any>;\n dateRender?: (currentDate: any, today: any) => React.ReactNode;\n defaultOpen?: boolean;\n defaultPickerValue?: MaybePair<DateValue | null | undefined>;\n /** An array with DatePicker `multiple`. */\n defaultValue?: MaybePair<DateValue | null | undefined> | DateValue[];\n direction?: 'ltr' | 'rtl';\n generateConfig?: GenerateConfig<any>;\n mode?: MaybePair<PanelMode>;\n monthCellRender?: (currentDate: any, locale: any) => React.ReactNode;\n onChange?: (...args: any[]) => void;\n onFocus?: (...args: any[]) => void;\n onOpenChange?: (open: boolean) => void;\n onPanelChange?: (...args: any[]) => void;\n onPickerValueChange?: (...args: any[]) => void;\n open?: boolean;\n picker?: PickerMode;\n pickerValue?: MaybePair<DateValue | null | undefined>;\n /** RangePicker: values, panel modes and picker values are `[start, end]` tuples. */\n range?: boolean;\n value?: MaybePair<DateValue | null | undefined> | DateValue[];\n}\n\n/**\n * lobe enhancement over rc-picker (ADR §8 step 6): arrow keys, PageUp / PageDown and\n * Home / End move an active tile on the month, quarter, year and decade panels while\n * focus stays in the input, and Enter picks it — as a click on that tile would.\n *\n * rc-picker has no grid navigation of its own, so this is layered on top: a capture\n * listener reads the keys before rc-picker's input handlers, the active tile is marked\n * through `cellRender`, and `pickerValue` is driven so the active tile stays on screen.\n * The date and week panels keep the input's text-editing keys, as in antd.\n */\nexport const usePanelKeyboard = ({\n cellRender,\n dateRender,\n defaultOpen,\n defaultPickerValue,\n defaultValue,\n direction,\n generateConfig: config = defaultConfig,\n mode,\n monthCellRender,\n onChange,\n onFocus,\n onOpenChange,\n onPanelChange,\n onPickerValueChange,\n open,\n picker = 'date',\n pickerValue,\n range,\n value,\n}: PanelKeyboardOptions) => {\n const scopeId = useId();\n const scopeClassName = `${PREFIX_CLS}-kb-${scopeId.replaceAll(/[^\\w-]/g, '')}`;\n\n const [innerOpen, setInnerOpen] = useState(!!defaultOpen);\n const mergedOpen = open ?? innerOpen;\n const [activeIndex, setActiveIndex] = useState<0 | 1>(0);\n const [innerMode, setInnerMode] = useState<PanelMode>(picker);\n const [innerPickerValue, setInnerPickerValue] = useState<Pair>([undefined, undefined]);\n const [activeCell, setActiveCell] = useState<DateValue>();\n // Uncontrolled: the last committed value, so the first key starts from it.\n const [innerValue, setInnerValue] = useState<Pair>();\n\n const controlledMode = Array.isArray(mode) ? mode[activeIndex] : mode;\n const panelMode = controlledMode ?? innerMode;\n\n // rc-picker resets the panel to `picker` on every opening and field switch; a new\n // panel starts without a highlighted tile.\n const resetKey = `${mergedOpen}|${activeIndex}|${picker}`;\n const [prevResetKey, setPrevResetKey] = useState(resetKey);\n if (prevResetKey !== resetKey) {\n setPrevResetKey(resetKey);\n setInnerMode(picker);\n setActiveCell(undefined);\n }\n const [prevPanelMode, setPrevPanelMode] = useState(panelMode);\n if (prevPanelMode !== panelMode) {\n setPrevPanelMode(panelMode);\n setActiveCell(undefined);\n }\n\n const mergedPickerValue: Pair =\n pickerValue === undefined ? innerPickerValue : toPair(pickerValue);\n\n const state = {\n activeCell,\n activeIndex,\n config,\n defaultPickerValue: toPair(defaultPickerValue),\n direction,\n mergedPickerValue,\n onPickerValueChange,\n panelMode,\n picker,\n range,\n value:\n value === undefined\n ? (innerValue ?? toValuePair(defaultValue, range))\n : toValuePair(value, range),\n };\n const stateRef = useRef(state);\n stateRef.current = state;\n\n const commitPickerValue = useCallback((next: DateValue) => {\n const { activeIndex, mergedPickerValue, onPickerValueChange, panelMode, range } =\n stateRef.current;\n const nextPair: Pair = [...mergedPickerValue];\n nextPair[activeIndex] = next;\n setInnerPickerValue(nextPair);\n if (range) {\n onPickerValueChange?.(nextPair, {\n mode: [panelMode, panelMode],\n range: activeIndex === 1 ? 'end' : 'start',\n source: 'panel',\n });\n } else {\n onPickerValueChange?.(next, { mode: panelMode, source: 'panel' });\n }\n }, []);\n\n useEffect(() => {\n if (!mergedOpen) return;\n\n const onKeyDown = (event: KeyboardEvent) => {\n const {\n activeCell,\n activeIndex,\n config,\n defaultPickerValue,\n direction,\n mergedPickerValue,\n panelMode,\n picker,\n range,\n value,\n } = stateRef.current;\n if (!isGridMode(panelMode) || event.altKey || event.ctrlKey || event.metaKey) return;\n if (!(event.target instanceof Element) || !event.target.closest(`.${scopeClassName}`)) return;\n\n if (event.key === 'Enter') {\n if (!activeCell) return;\n const cells = [...document.querySelectorAll(`.${scopeClassName} .${ACTIVE_CLS}`)]\n .map((node) => node.closest('td'))\n .filter((node): node is HTMLTableCellElement => !!node);\n const cell = cells.find((node) => node.classList.contains(`${PREFIX_CLS}-cell-in-view`));\n event.preventDefault();\n event.stopPropagation();\n (cell ?? cells[0])?.click();\n return;\n }\n\n // Until rc-picker reports a change, its panel date is the same fallback chain.\n const pageDate =\n mergedPickerValue[activeIndex] ??\n defaultPickerValue[activeIndex] ??\n value[activeIndex] ??\n config.getNow();\n const rtl = direction === 'rtl';\n // Two side-by-side pages on a RangePicker showing its own `picker` panel.\n const pages = range && panelMode === picker ? 2 : 1;\n const pageIndex = (date: DateValue) =>\n monthIndex(getPageStart(date, panelMode, config), config);\n const firstPage = pageIndex(pageDate);\n const lastPage = pageIndex(moveGridCell(pageDate, 'PageDown', panelMode, rtl, config)!);\n const isVisible = (date: DateValue) => {\n const page = pageIndex(date);\n return page === firstPage || (pages === 2 && page === lastPage);\n };\n\n // The first key starts from the selected tile when on screen, otherwise from the page.\n const selected = value[activeIndex];\n const base =\n activeCell && isVisible(activeCell)\n ? activeCell\n : selected && isVisible(selected)\n ? selected\n : undefined;\n const next = base\n ? moveGridCell(base, event.key, panelMode, rtl, config)\n : moveGridCell(pageDate, event.key, panelMode, rtl, config) && pageDate;\n if (!next) return;\n\n event.preventDefault();\n event.stopPropagation();\n setActiveCell(next);\n\n if (pageIndex(next) < firstPage) {\n commitPickerValue(next);\n } else if (!isVisible(next)) {\n commitPickerValue(\n pages === 2 ? moveGridCell(next, 'PageUp', panelMode, rtl, config)! : next,\n );\n }\n };\n\n document.addEventListener('keydown', onKeyDown, true);\n return () => document.removeEventListener('keydown', onKeyDown, true);\n }, [mergedOpen, scopeClassName, commitPickerValue]);\n\n const mergedCellRender: CellRender<any> = (current, info) => {\n let node: React.ReactNode = info.originNode;\n if (cellRender) node = cellRender(current, info);\n // rc-picker's legacy aliases: only date / month cells, which always get a date.\n else if (dateRender && info.type === 'date') node = dateRender(current, info.today);\n else if (monthCellRender && info.type === 'month') {\n node = monthCellRender(current, info.locale);\n }\n\n if (!activeCell || info.type !== panelMode || !isGridMode(info.type)) return node;\n if (!isSameCell(current as DateValue, activeCell, info.type, config)) return node;\n return (\n <>\n {node}\n <span aria-hidden className={ACTIVE_CLS} />\n </>\n );\n };\n\n const hasPickerValue = pickerValue !== undefined || innerPickerValue.some(Boolean);\n\n return {\n cellRender: mergedCellRender,\n onChange: (date: any, dateString: any) => {\n setInnerValue(toValuePair(date, range));\n onChange?.(date, dateString);\n },\n onFocus: (event: any, info?: { range?: 'end' | 'start' }) => {\n if (range && info?.range) setActiveIndex(info.range === 'end' ? 1 : 0);\n onFocus?.(event, info);\n },\n onOpenChange: (next: boolean) => {\n setInnerOpen(next);\n onOpenChange?.(next);\n },\n onPanelChange: (date: any, nextMode: any) => {\n setInnerMode(Array.isArray(nextMode) ? nextMode[stateRef.current.activeIndex] : nextMode);\n onPanelChange?.(date, nextMode);\n },\n onPickerValueChange: (date: any, info: any) => {\n setInnerPickerValue(toPair(date));\n onPickerValueChange?.(date, info);\n },\n /** Controlled once known, so a key can move the visible page. */\n pickerValue: hasPickerValue\n ? range\n ? (mergedPickerValue as any)\n : mergedPickerValue[0]\n : undefined,\n scopeClassName,\n };\n};\n"],"mappings":"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"}