@lobehub/ui 6.0.0-beta.1 → 6.0.0-beta.10

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 (1029) hide show
  1. package/README.md +3 -1
  2. package/es/Accordion/Accordion.mjs +3 -3
  3. package/es/Accordion/Accordion.mjs.map +1 -1
  4. package/es/Accordion/atoms.mjs +2 -2
  5. package/es/Accordion/atoms.mjs.map +1 -1
  6. package/es/Accordion/style.d.mts +1 -1
  7. package/es/ActionIcon/ActionIcon.mjs +2 -2
  8. package/es/ActionIcon/ActionIcon.mjs.map +1 -1
  9. package/es/ActionIcon/style.mjs +1 -1
  10. package/es/ActionIcon/style.mjs.map +1 -1
  11. package/es/ActionIcon/type.d.mts +1 -0
  12. package/es/Alert/Alert.mjs +5 -5
  13. package/es/Alert/Alert.mjs.map +1 -1
  14. package/es/Alert/type.d.mts +1 -0
  15. package/es/Anchor/Anchor.mjs +2 -2
  16. package/es/Anchor/Anchor.mjs.map +1 -1
  17. package/es/AutoComplete/AutoComplete.mjs +5 -5
  18. package/es/AutoComplete/AutoComplete.mjs.map +1 -1
  19. package/es/AutoComplete/style.d.mts +1 -0
  20. package/es/AutoComplete/style.mjs +2 -2
  21. package/es/AutoComplete/style.mjs.map +1 -1
  22. package/es/AutoComplete/type.d.mts +1 -0
  23. package/es/Avatar/Avatar.mjs +2 -2
  24. package/es/Avatar/Avatar.mjs.map +1 -1
  25. package/es/Avatar/AvatarGroup/index.mjs +2 -2
  26. package/es/Avatar/AvatarGroup/index.mjs.map +1 -1
  27. package/es/Breadcrumb/Breadcrumb.mjs +2 -2
  28. package/es/Breadcrumb/Breadcrumb.mjs.map +1 -1
  29. package/es/Button/Button.mjs +1 -1
  30. package/es/Button/Button.mjs.map +1 -1
  31. package/es/Button/style.d.mts +8 -1
  32. package/es/Button/style.mjs +41 -18
  33. package/es/Button/style.mjs.map +1 -1
  34. package/es/Button/type.d.mts +1 -0
  35. package/es/Carousel/Carousel.mjs +1 -1
  36. package/es/Carousel/Carousel.mjs.map +1 -1
  37. package/es/Checkbox/Checkbox.mjs +3 -3
  38. package/es/Checkbox/Checkbox.mjs.map +1 -1
  39. package/es/Checkbox/type.d.mts +1 -0
  40. package/es/CodeDiff/CodeDiff.mjs.map +1 -1
  41. package/es/CodeDiff/DiffPanel.mjs +4 -4
  42. package/es/CodeDiff/DiffPanel.mjs.map +1 -1
  43. package/es/CodeDiff/PatchDiff.mjs.map +1 -1
  44. package/es/CodeDiff/theme.mjs.map +1 -1
  45. package/es/CodeDiff/type.d.mts +2 -2
  46. package/es/CodeEditor/CodeEditor.mjs +5 -5
  47. package/es/CodeEditor/CodeEditor.mjs.map +1 -1
  48. package/es/ColorPicker/ColorInputs.mjs +136 -0
  49. package/es/ColorPicker/ColorInputs.mjs.map +1 -0
  50. package/es/ColorPicker/ColorPanel.mjs +145 -0
  51. package/es/ColorPicker/ColorPanel.mjs.map +1 -0
  52. package/es/ColorPicker/ColorPicker.mjs +63 -200
  53. package/es/ColorPicker/ColorPicker.mjs.map +1 -1
  54. package/es/ColorPicker/SaturationArea.mjs +2 -1
  55. package/es/ColorPicker/SaturationArea.mjs.map +1 -1
  56. package/es/ColorPicker/Swatch.mjs +24 -0
  57. package/es/ColorPicker/Swatch.mjs.map +1 -0
  58. package/es/ColorPicker/Swatches.mjs +66 -0
  59. package/es/ColorPicker/Swatches.mjs.map +1 -0
  60. package/es/ColorPicker/Trigger.mjs +112 -0
  61. package/es/ColorPicker/Trigger.mjs.map +1 -0
  62. package/es/ColorPicker/color.mjs +25 -1
  63. package/es/ColorPicker/color.mjs.map +1 -1
  64. package/es/ColorPicker/recent.mjs +25 -0
  65. package/es/ColorPicker/recent.mjs.map +1 -0
  66. package/es/ColorPicker/style.mjs +269 -70
  67. package/es/ColorPicker/style.mjs.map +1 -1
  68. package/es/ColorPicker/type.d.mts +15 -0
  69. package/es/ColorSwatches/ColorSwatches.mjs +18 -23
  70. package/es/ColorSwatches/ColorSwatches.mjs.map +1 -1
  71. package/es/ColorSwatches/CustomPicker.mjs +101 -0
  72. package/es/ColorSwatches/CustomPicker.mjs.map +1 -0
  73. package/es/ColorSwatches/index.d.mts +2 -2
  74. package/es/ColorSwatches/marker.stylex.mjs +9 -0
  75. package/es/ColorSwatches/marker.stylex.mjs.map +1 -0
  76. package/es/ColorSwatches/style.mjs +36 -0
  77. package/es/ColorSwatches/style.mjs.map +1 -1
  78. package/es/ColorSwatches/type.d.mts +12 -2
  79. package/es/ConfigProvider/cdnAssets.mjs +6 -0
  80. package/es/ConfigProvider/cdnAssets.mjs.map +1 -0
  81. package/es/ConfigProvider/index.mjs +2 -1
  82. package/es/ConfigProvider/index.mjs.map +1 -1
  83. package/es/ContextMenu/ContextMenuHost.mjs +2 -2
  84. package/es/ContextMenu/ContextMenuHost.mjs.map +1 -1
  85. package/es/ContextMenu/ContextMenuTrigger.mjs +2 -2
  86. package/es/ContextMenu/ContextMenuTrigger.mjs.map +1 -1
  87. package/es/ContextMenu/renderItems.mjs +3 -3
  88. package/es/ContextMenu/renderItems.mjs.map +1 -1
  89. package/es/ContextMenu/store.d.mts +0 -1
  90. package/es/ContextMenu/store.mjs.map +1 -1
  91. package/es/DatePicker/DatePicker.d.mts +9 -2
  92. package/es/DatePicker/DatePicker.mjs +15 -85
  93. package/es/DatePicker/DatePicker.mjs.map +1 -1
  94. package/es/DatePicker/DateRangePicker.d.mts +3 -2
  95. package/es/DatePicker/DateRangePicker.mjs +3 -125
  96. package/es/DatePicker/DateRangePicker.mjs.map +1 -1
  97. package/es/DatePicker/DayjsDatePicker.d.mts +12 -0
  98. package/es/DatePicker/DayjsDatePicker.mjs +19 -0
  99. package/es/DatePicker/DayjsDatePicker.mjs.map +1 -0
  100. package/es/DatePicker/DayjsDateRangePicker.d.mts +7 -0
  101. package/es/DatePicker/DayjsDateRangePicker.mjs +8 -0
  102. package/es/DatePicker/DayjsDateRangePicker.mjs.map +1 -0
  103. package/es/DatePicker/PurePanel.mjs +65 -0
  104. package/es/DatePicker/PurePanel.mjs.map +1 -0
  105. package/es/DatePicker/RangePicker.mjs +121 -0
  106. package/es/DatePicker/RangePicker.mjs.map +1 -0
  107. package/es/DatePicker/SinglePicker.mjs +134 -0
  108. package/es/DatePicker/SinglePicker.mjs.map +1 -0
  109. package/es/DatePicker/core/PickerInput/Popup/Footer.mjs +57 -0
  110. package/es/DatePicker/core/PickerInput/Popup/Footer.mjs.map +1 -0
  111. package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs +57 -0
  112. package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs.map +1 -0
  113. package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs +29 -0
  114. package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs.map +1 -0
  115. package/es/DatePicker/core/PickerInput/Popup/index.mjs +133 -0
  116. package/es/DatePicker/core/PickerInput/Popup/index.mjs.map +1 -0
  117. package/es/DatePicker/core/PickerInput/RangePicker.d.mts +51 -0
  118. package/es/DatePicker/core/PickerInput/RangePicker.mjs +343 -0
  119. package/es/DatePicker/core/PickerInput/RangePicker.mjs.map +1 -0
  120. package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs +27 -0
  121. package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs.map +1 -0
  122. package/es/DatePicker/core/PickerInput/Selector/Icon.mjs +19 -0
  123. package/es/DatePicker/core/PickerInput/Selector/Icon.mjs.map +1 -0
  124. package/es/DatePicker/core/PickerInput/Selector/Input.mjs +237 -0
  125. package/es/DatePicker/core/PickerInput/Selector/Input.mjs.map +1 -0
  126. package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs +70 -0
  127. package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs.map +1 -0
  128. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.d.mts +8 -0
  129. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs +136 -0
  130. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs.map +1 -0
  131. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs +28 -0
  132. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs.map +1 -0
  133. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs +69 -0
  134. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs.map +1 -0
  135. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs +111 -0
  136. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs.map +1 -0
  137. package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs +18 -0
  138. package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs.map +1 -0
  139. package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs +108 -0
  140. package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs.map +1 -0
  141. package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs +11 -0
  142. package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs.map +1 -0
  143. package/es/DatePicker/core/PickerInput/Selector/util.mjs +20 -0
  144. package/es/DatePicker/core/PickerInput/Selector/util.mjs.map +1 -0
  145. package/es/DatePicker/core/PickerInput/SinglePicker.d.mts +55 -0
  146. package/es/DatePicker/core/PickerInput/SinglePicker.mjs +318 -0
  147. package/es/DatePicker/core/PickerInput/SinglePicker.mjs.map +1 -0
  148. package/es/DatePicker/core/PickerInput/context.mjs +7 -0
  149. package/es/DatePicker/core/PickerInput/context.mjs.map +1 -0
  150. package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs +30 -0
  151. package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs.map +1 -0
  152. package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs +37 -0
  153. package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs.map +1 -0
  154. package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs +18 -0
  155. package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs.map +1 -0
  156. package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs +20 -0
  157. package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs.map +1 -0
  158. package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs +31 -0
  159. package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs.map +1 -0
  160. package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs +98 -0
  161. package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs.map +1 -0
  162. package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs +41 -0
  163. package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs.map +1 -0
  164. package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs +34 -0
  165. package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs.map +1 -0
  166. package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs +35 -0
  167. package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs.map +1 -0
  168. package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs +9 -0
  169. package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs.map +1 -0
  170. package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs +36 -0
  171. package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs.map +1 -0
  172. package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs +27 -0
  173. package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs.map +1 -0
  174. package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs +18 -0
  175. package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs.map +1 -0
  176. package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs +19 -0
  177. package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs.map +1 -0
  178. package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs +20 -0
  179. package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs.map +1 -0
  180. package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs +24 -0
  181. package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs.map +1 -0
  182. package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs +107 -0
  183. package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs.map +1 -0
  184. package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs +144 -0
  185. package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs.map +1 -0
  186. package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs +219 -0
  187. package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs.map +1 -0
  188. package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs +11 -0
  189. package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs.map +1 -0
  190. package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs +131 -0
  191. package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs.map +1 -0
  192. package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs +35 -0
  193. package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs.map +1 -0
  194. package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs +84 -0
  195. package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs.map +1 -0
  196. package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs +73 -0
  197. package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs.map +1 -0
  198. package/es/DatePicker/core/PickerPanel/PanelBody.mjs +95 -0
  199. package/es/DatePicker/core/PickerPanel/PanelBody.mjs.map +1 -0
  200. package/es/DatePicker/core/PickerPanel/PanelHeader.mjs +130 -0
  201. package/es/DatePicker/core/PickerPanel/PanelHeader.mjs.map +1 -0
  202. package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs +64 -0
  203. package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs.map +1 -0
  204. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs +108 -0
  205. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs.map +1 -0
  206. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs +44 -0
  207. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs.map +1 -0
  208. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs +157 -0
  209. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs.map +1 -0
  210. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs +100 -0
  211. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs.map +1 -0
  212. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs +71 -0
  213. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs.map +1 -0
  214. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs +62 -0
  215. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs.map +1 -0
  216. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs +200 -0
  217. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs.map +1 -0
  218. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs +25 -0
  219. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs.map +1 -0
  220. package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs +31 -0
  221. package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs.map +1 -0
  222. package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs +34 -0
  223. package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs.map +1 -0
  224. package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs +92 -0
  225. package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs.map +1 -0
  226. package/es/DatePicker/core/PickerPanel/context.mjs +48 -0
  227. package/es/DatePicker/core/PickerPanel/context.mjs.map +1 -0
  228. package/es/DatePicker/core/PickerPanel/index.d.mts +1 -0
  229. package/es/DatePicker/core/PickerPanel/index.mjs +175 -0
  230. package/es/DatePicker/core/PickerPanel/index.mjs.map +1 -0
  231. package/es/DatePicker/core/PickerPopup.mjs +118 -0
  232. package/es/DatePicker/core/PickerPopup.mjs.map +1 -0
  233. package/es/DatePicker/core/generate/dayjs.mjs +109 -0
  234. package/es/DatePicker/core/generate/dayjs.mjs.map +1 -0
  235. package/es/DatePicker/core/generate/index.d.mts +40 -0
  236. package/es/DatePicker/core/hooks/react.mjs +58 -0
  237. package/es/DatePicker/core/hooks/react.mjs.map +1 -0
  238. package/es/DatePicker/core/hooks/useLocale.mjs +51 -0
  239. package/es/DatePicker/core/hooks/useLocale.mjs.map +1 -0
  240. package/es/DatePicker/core/hooks/useSemantic.mjs +20 -0
  241. package/es/DatePicker/core/hooks/useSemantic.mjs.map +1 -0
  242. package/es/DatePicker/core/hooks/useSyncState.mjs +25 -0
  243. package/es/DatePicker/core/hooks/useSyncState.mjs.map +1 -0
  244. package/es/DatePicker/core/hooks/useTimeConfig.mjs +173 -0
  245. package/es/DatePicker/core/hooks/useTimeConfig.mjs.map +1 -0
  246. package/es/DatePicker/core/hooks/useTimeInfo.mjs +110 -0
  247. package/es/DatePicker/core/hooks/useTimeInfo.mjs.map +1 -0
  248. package/es/DatePicker/core/hooks/useToggleDates.mjs +21 -0
  249. package/es/DatePicker/core/hooks/useToggleDates.mjs.map +1 -0
  250. package/es/DatePicker/core/index.d.mts +5 -0
  251. package/es/DatePicker/core/index.mjs +9 -0
  252. package/es/DatePicker/core/index.mjs.map +1 -0
  253. package/es/DatePicker/core/interface.d.mts +325 -0
  254. package/es/DatePicker/core/locale/common.mjs +11 -0
  255. package/es/DatePicker/core/locale/common.mjs.map +1 -0
  256. package/es/DatePicker/core/locale/en_US.mjs +39 -0
  257. package/es/DatePicker/core/locale/en_US.mjs.map +1 -0
  258. package/es/DatePicker/core/utils/common.mjs +73 -0
  259. package/es/DatePicker/core/utils/common.mjs.map +1 -0
  260. package/es/DatePicker/core/utils/dateUtil.mjs +106 -0
  261. package/es/DatePicker/core/utils/dateUtil.mjs.map +1 -0
  262. package/es/DatePicker/core/utils/miscUtil.mjs +46 -0
  263. package/es/DatePicker/core/utils/miscUtil.mjs.map +1 -0
  264. package/es/DatePicker/core/utils/uiUtil.mjs +9 -0
  265. package/es/DatePicker/core/utils/uiUtil.mjs.map +1 -0
  266. package/es/DatePicker/dateGenerateConfig.mjs +52 -0
  267. package/es/DatePicker/dateGenerateConfig.mjs.map +1 -0
  268. package/es/DatePicker/generateConfig.mjs +12 -0
  269. package/es/DatePicker/generateConfig.mjs.map +1 -0
  270. package/es/DatePicker/generatePicker.d.mts +12 -0
  271. package/es/DatePicker/generatePicker.mjs +22 -0
  272. package/es/DatePicker/generatePicker.mjs.map +1 -0
  273. package/es/DatePicker/index.d.mts +8 -3
  274. package/es/DatePicker/index.mjs +5 -1
  275. package/es/DatePicker/legacyDate.mjs +58 -0
  276. package/es/DatePicker/legacyDate.mjs.map +1 -0
  277. package/es/DatePicker/locale.d.mts +15 -0
  278. package/es/DatePicker/locale.mjs +143 -0
  279. package/es/DatePicker/locale.mjs.map +1 -0
  280. package/es/DatePicker/semantic.mjs +29 -0
  281. package/es/DatePicker/semantic.mjs.map +1 -0
  282. package/es/DatePicker/style.mjs +3 -155
  283. package/es/DatePicker/style.mjs.map +1 -1
  284. package/es/DatePicker/type.d.mts +294 -27
  285. package/es/DatePicker/usePanelKeyboard.mjs +230 -0
  286. package/es/DatePicker/usePanelKeyboard.mjs.map +1 -0
  287. package/es/DatePicker/usePickerShared.mjs +106 -0
  288. package/es/DatePicker/usePickerShared.mjs.map +1 -0
  289. package/es/DatePicker/usePresetActive.mjs +49 -0
  290. package/es/DatePicker/usePresetActive.mjs.map +1 -0
  291. package/es/DraggablePanel/atoms.mjs +6 -6
  292. package/es/DraggablePanel/atoms.mjs.map +1 -1
  293. package/es/DraggableSideNav/DraggableSideNav.mjs +5 -5
  294. package/es/DraggableSideNav/DraggableSideNav.mjs.map +1 -1
  295. package/es/Drawer/Drawer.mjs +2 -2
  296. package/es/Drawer/Drawer.mjs.map +1 -1
  297. package/es/Drawer/atoms.d.mts +1 -0
  298. package/es/Drawer/atoms.mjs +7 -7
  299. package/es/Drawer/atoms.mjs.map +1 -1
  300. package/es/Drawer/constants.d.mts +1 -0
  301. package/es/Drawer/style.mjs.map +1 -1
  302. package/es/DropdownMenu/atoms.mjs +23 -23
  303. package/es/DropdownMenu/atoms.mjs.map +1 -1
  304. package/es/DropdownMenu/sharedStyle.mjs +2 -2
  305. package/es/DropdownMenu/sharedStyle.mjs.map +1 -1
  306. package/es/EditableText/ControlInput.mjs +42 -29
  307. package/es/EditableText/ControlInput.mjs.map +1 -1
  308. package/es/EditableText/EditableText.mjs +2 -2
  309. package/es/EditableText/EditableText.mjs.map +1 -1
  310. package/es/EditorSlashMenu/atoms.mjs +12 -12
  311. package/es/EditorSlashMenu/atoms.mjs.map +1 -1
  312. package/es/EmojiPicker/EmojiPicker.mjs +10 -16
  313. package/es/EmojiPicker/EmojiPicker.mjs.map +1 -1
  314. package/es/EmojiPicker/loadEmojiData.mjs +6 -0
  315. package/es/EmojiPicker/loadEmojiData.mjs.map +1 -0
  316. package/es/EmojiPicker/useEmojiMartI18n.mjs +37 -0
  317. package/es/EmojiPicker/useEmojiMartI18n.mjs.map +1 -0
  318. package/es/FileTypeIcon/type.d.mts +1 -0
  319. package/es/FloatingPanel/FloatingPanel.mjs +2 -2
  320. package/es/FloatingPanel/FloatingPanel.mjs.map +1 -1
  321. package/es/FloatingPanel/style.mjs +3 -2
  322. package/es/FloatingPanel/style.mjs.map +1 -1
  323. package/es/Form/type.d.mts +1 -0
  324. package/es/FormKit/List.mjs +2 -2
  325. package/es/FormKit/List.mjs.map +1 -1
  326. package/es/FormKit/engine/tanstack.mjs +1 -1
  327. package/es/FormKit/engine/tanstack.mjs.map +1 -1
  328. package/es/Grid/style.mjs +1 -1
  329. package/es/Grid/style.mjs.map +1 -1
  330. package/es/GroupAvatar/type.d.mts +1 -0
  331. package/es/Highlighter/FullFeatured.mjs +2 -2
  332. package/es/Highlighter/FullFeatured.mjs.map +1 -1
  333. package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs +2 -2
  334. package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs.map +1 -1
  335. package/es/Highlighter/SyntaxHighlighter/index.mjs +4 -4
  336. package/es/Highlighter/SyntaxHighlighter/index.mjs.map +1 -1
  337. package/es/Highlighter/const.d.mts +1 -0
  338. package/es/Highlighter/style.mjs +2 -2
  339. package/es/Highlighter/style.mjs.map +1 -1
  340. package/es/HotkeyInput/HotkeyInput.mjs +1 -1
  341. package/es/HotkeyInput/HotkeyInput.mjs.map +1 -1
  342. package/es/HtmlPreview/HtmlPreview.mjs +2 -2
  343. package/es/HtmlPreview/HtmlPreview.mjs.map +1 -1
  344. package/es/Icon/Icon.mjs +2 -2
  345. package/es/Icon/Icon.mjs.map +1 -1
  346. package/es/Image/type.d.mts +1 -0
  347. package/es/Image/viewer/ImageViewer.mjs +2 -1
  348. package/es/Image/viewer/ImageViewer.mjs.map +1 -1
  349. package/es/Image/viewer/Toolbar.mjs +19 -6
  350. package/es/Image/viewer/Toolbar.mjs.map +1 -1
  351. package/es/Image/viewer/ViewerChrome.mjs.map +1 -1
  352. package/es/ImageSelect/ImageSelect.mjs +1 -1
  353. package/es/ImageSelect/ImageSelect.mjs.map +1 -1
  354. package/es/Input/Input.mjs +7 -5
  355. package/es/Input/Input.mjs.map +1 -1
  356. package/es/Input/TextArea.mjs +1 -1
  357. package/es/Input/TextArea.mjs.map +1 -1
  358. package/es/Input/style.d.mts +1 -0
  359. package/es/Input/style.mjs +3 -3
  360. package/es/Input/style.mjs.map +1 -1
  361. package/es/Input/type.d.mts +1 -0
  362. package/es/List/ListRow.mjs +3 -3
  363. package/es/List/ListRow.mjs.map +1 -1
  364. package/es/Markdown/Markdown.mjs +2 -2
  365. package/es/Markdown/Markdown.mjs.map +1 -1
  366. package/es/Markdown/Typography.mjs +2 -2
  367. package/es/Markdown/Typography.mjs.map +1 -1
  368. package/es/Markdown/plugins/remarkColor.d.mts +1 -0
  369. package/es/Markdown/plugins/remarkGfmPlus.d.mts +1 -0
  370. package/es/Markdown/plugins/remarkVideo.d.mts +1 -0
  371. package/es/Mermaid/FullFeatured.mjs +2 -2
  372. package/es/Mermaid/FullFeatured.mjs.map +1 -1
  373. package/es/Mermaid/SyntaxMermaid/index.mjs +4 -4
  374. package/es/Mermaid/SyntaxMermaid/index.mjs.map +1 -1
  375. package/es/Mermaid/const.d.mts +1 -0
  376. package/es/Modal/atoms.d.mts +1 -0
  377. package/es/Modal/atoms.mjs +8 -8
  378. package/es/Modal/atoms.mjs.map +1 -1
  379. package/es/Modal/constants.d.mts +1 -0
  380. package/es/Modal/type.d.mts +1 -0
  381. package/es/Pagination/Pagination.mjs +182 -42
  382. package/es/Pagination/Pagination.mjs.map +1 -1
  383. package/es/Pagination/helpers.mjs +3 -3
  384. package/es/Pagination/helpers.mjs.map +1 -1
  385. package/es/Pagination/index.d.mts +2 -2
  386. package/es/Pagination/marker.stylex.mjs +9 -0
  387. package/es/Pagination/marker.stylex.mjs.map +1 -0
  388. package/es/Pagination/style.mjs +74 -4
  389. package/es/Pagination/style.mjs.map +1 -1
  390. package/es/Pagination/type.d.mts +41 -3
  391. package/es/Popover/PopoverInGroup.mjs +3 -3
  392. package/es/Popover/PopoverInGroup.mjs.map +1 -1
  393. package/es/Popover/atoms.mjs +7 -7
  394. package/es/Popover/atoms.mjs.map +1 -1
  395. package/es/Popover/style.mjs +1 -1
  396. package/es/Popover/style.mjs.map +1 -1
  397. package/es/ProTable/ProTable.d.mts +11 -0
  398. package/es/ProTable/ProTable.mjs +208 -0
  399. package/es/ProTable/ProTable.mjs.map +1 -0
  400. package/es/ProTable/hooks/useColumnRequest.mjs +55 -0
  401. package/es/ProTable/hooks/useColumnRequest.mjs.map +1 -0
  402. package/es/ProTable/hooks/useColumnsState.mjs +37 -0
  403. package/es/ProTable/hooks/useColumnsState.mjs.map +1 -0
  404. package/es/ProTable/hooks/useDelayedFlag.mjs +18 -0
  405. package/es/ProTable/hooks/useDelayedFlag.mjs.map +1 -0
  406. package/es/ProTable/hooks/useDensity.mjs +15 -0
  407. package/es/ProTable/hooks/useDensity.mjs.map +1 -0
  408. package/es/ProTable/hooks/useFetchData.mjs +97 -0
  409. package/es/ProTable/hooks/useFetchData.mjs.map +1 -0
  410. package/es/ProTable/hooks/useFullscreen.mjs +22 -0
  411. package/es/ProTable/hooks/useFullscreen.mjs.map +1 -0
  412. package/es/ProTable/hooks/usePageInfo.mjs +35 -0
  413. package/es/ProTable/hooks/usePageInfo.mjs.map +1 -0
  414. package/es/ProTable/hooks/useProColumns.mjs +123 -0
  415. package/es/ProTable/hooks/useProColumns.mjs.map +1 -0
  416. package/es/ProTable/hooks/useProLoading.mjs +19 -0
  417. package/es/ProTable/hooks/useProLoading.mjs.map +1 -0
  418. package/es/ProTable/hooks/useProLocale.mjs +22 -0
  419. package/es/ProTable/hooks/useProLocale.mjs.map +1 -0
  420. package/es/ProTable/hooks/useProRequest.mjs +137 -0
  421. package/es/ProTable/hooks/useProRequest.mjs.map +1 -0
  422. package/es/ProTable/hooks/useRowCache.mjs +11 -0
  423. package/es/ProTable/hooks/useRowCache.mjs.map +1 -0
  424. package/es/ProTable/hooks/useSearchForm.mjs +141 -0
  425. package/es/ProTable/hooks/useSearchForm.mjs.map +1 -0
  426. package/es/ProTable/hooks/useTableBindings.mjs +39 -0
  427. package/es/ProTable/hooks/useTableBindings.mjs.map +1 -0
  428. package/es/ProTable/hooks/useTableSelection.mjs +14 -0
  429. package/es/ProTable/hooks/useTableSelection.mjs.map +1 -0
  430. package/es/ProTable/index.d.mts +4 -0
  431. package/es/ProTable/index.d.ts +1 -0
  432. package/es/ProTable/index.js +1 -0
  433. package/es/ProTable/index.mjs +3 -0
  434. package/es/ProTable/locale.d.mts +15 -0
  435. package/es/ProTable/locale.mjs +66 -0
  436. package/es/ProTable/locale.mjs.map +1 -0
  437. package/es/ProTable/parts/ColumnSetting.mjs +155 -0
  438. package/es/ProTable/parts/ColumnSetting.mjs.map +1 -0
  439. package/es/ProTable/parts/FieldControl.mjs +117 -0
  440. package/es/ProTable/parts/FieldControl.mjs.map +1 -0
  441. package/es/ProTable/parts/KeywordInput.mjs +19 -0
  442. package/es/ProTable/parts/KeywordInput.mjs.map +1 -0
  443. package/es/ProTable/parts/LightFilter.mjs +70 -0
  444. package/es/ProTable/parts/LightFilter.mjs.map +1 -0
  445. package/es/ProTable/parts/OptionPopover.mjs +17 -0
  446. package/es/ProTable/parts/OptionPopover.mjs.map +1 -0
  447. package/es/ProTable/parts/SearchForm.mjs +180 -0
  448. package/es/ProTable/parts/SearchForm.mjs.map +1 -0
  449. package/es/ProTable/parts/SearchSection.mjs +33 -0
  450. package/es/ProTable/parts/SearchSection.mjs.map +1 -0
  451. package/es/ProTable/parts/TableAlert.mjs +38 -0
  452. package/es/ProTable/parts/TableAlert.mjs.map +1 -0
  453. package/es/ProTable/parts/Toolbar.mjs +50 -0
  454. package/es/ProTable/parts/Toolbar.mjs.map +1 -0
  455. package/es/ProTable/parts/ToolbarOptions.mjs +103 -0
  456. package/es/ProTable/parts/ToolbarOptions.mjs.map +1 -0
  457. package/es/ProTable/parts/renderValue.mjs +118 -0
  458. package/es/ProTable/parts/renderValue.mjs.map +1 -0
  459. package/es/ProTable/style.mjs +278 -0
  460. package/es/ProTable/style.mjs.map +1 -0
  461. package/es/ProTable/type.d.mts +397 -0
  462. package/es/ProTable/utils.mjs +152 -0
  463. package/es/ProTable/utils.mjs.map +1 -0
  464. package/es/Radio/Radio.mjs +3 -3
  465. package/es/Radio/Radio.mjs.map +1 -1
  466. package/es/Radio/type.d.mts +1 -0
  467. package/es/Rate/Rate.mjs +1 -1
  468. package/es/Rate/Rate.mjs.map +1 -1
  469. package/es/ScrollArea/atoms.mjs +4 -4
  470. package/es/ScrollArea/atoms.mjs.map +1 -1
  471. package/es/ScrollShadow/ScrollShadow.mjs +1 -1
  472. package/es/ScrollShadow/ScrollShadow.mjs.map +1 -1
  473. package/es/SearchBar/SearchBar.mjs +31 -25
  474. package/es/SearchBar/SearchBar.mjs.map +1 -1
  475. package/es/Segmented/Segmented.mjs +4 -4
  476. package/es/Segmented/Segmented.mjs.map +1 -1
  477. package/es/Segmented/atoms.d.mts +1 -0
  478. package/es/Segmented/atoms.mjs +2 -2
  479. package/es/Segmented/atoms.mjs.map +1 -1
  480. package/es/Select/Select.mjs +22 -13
  481. package/es/Select/Select.mjs.map +1 -1
  482. package/es/Select/atoms.mjs +5 -5
  483. package/es/Select/atoms.mjs.map +1 -1
  484. package/es/Select/helpers.mjs +8 -1
  485. package/es/Select/helpers.mjs.map +1 -1
  486. package/es/Select/hooks.mjs +8 -4
  487. package/es/Select/hooks.mjs.map +1 -1
  488. package/es/Select/renderOptions.mjs +2 -2
  489. package/es/Select/renderOptions.mjs.map +1 -1
  490. package/es/Select/type.d.mts +7 -0
  491. package/es/Slider/type.d.mts +1 -0
  492. package/es/Switch/Switch.mjs +2 -2
  493. package/es/Switch/Switch.mjs.map +1 -1
  494. package/es/Switch/atoms.d.mts +1 -0
  495. package/es/Switch/atoms.mjs +3 -3
  496. package/es/Switch/atoms.mjs.map +1 -1
  497. package/es/Table/Column.d.mts +8 -0
  498. package/es/Table/Column.mjs +6 -0
  499. package/es/Table/Column.mjs.map +1 -0
  500. package/es/Table/ColumnGroup.d.mts +11 -0
  501. package/es/Table/ColumnGroup.mjs +6 -0
  502. package/es/Table/ColumnGroup.mjs.map +1 -0
  503. package/es/Table/Table.d.mts +16 -2
  504. package/es/Table/Table.mjs +149 -118
  505. package/es/Table/Table.mjs.map +1 -1
  506. package/es/Table/atoms/cells.d.mts +42 -0
  507. package/es/Table/atoms/cells.mjs +72 -0
  508. package/es/Table/atoms/cells.mjs.map +1 -0
  509. package/es/Table/atoms/index.d.mts +3 -0
  510. package/es/Table/atoms/layout.d.mts +44 -0
  511. package/es/Table/atoms/layout.mjs +62 -0
  512. package/es/Table/atoms/layout.mjs.map +1 -0
  513. package/es/Table/constants.mjs +16 -0
  514. package/es/Table/constants.mjs.map +1 -0
  515. package/es/Table/engine/fixed.d.mts +1 -0
  516. package/es/Table/engine/fixed.mjs +53 -0
  517. package/es/Table/engine/fixed.mjs.map +1 -0
  518. package/es/Table/engine/types.d.mts +1 -0
  519. package/es/Table/engine/useTableEngine.mjs +180 -0
  520. package/es/Table/engine/useTableEngine.mjs.map +1 -0
  521. package/es/Table/index.d.mts +7 -2
  522. package/es/Table/index.mjs +4 -1
  523. package/es/Table/internal.d.mts +3 -0
  524. package/es/Table/pipeline/columnUtils.d.mts +5 -0
  525. package/es/Table/pipeline/columnUtils.mjs +58 -0
  526. package/es/Table/pipeline/columnUtils.mjs.map +1 -0
  527. package/es/Table/pipeline/convertChildrenToColumns.mjs +24 -0
  528. package/es/Table/pipeline/convertChildrenToColumns.mjs.map +1 -0
  529. package/es/Table/pipeline/normalizeColumns.mjs +140 -0
  530. package/es/Table/pipeline/normalizeColumns.mjs.map +1 -0
  531. package/es/Table/pipeline/selectionUtils.d.mts +9 -0
  532. package/es/Table/pipeline/selectionUtils.mjs +115 -0
  533. package/es/Table/pipeline/selectionUtils.mjs.map +1 -0
  534. package/es/Table/pipeline/useBreakpoint.mjs +36 -0
  535. package/es/Table/pipeline/useBreakpoint.mjs.map +1 -0
  536. package/es/Table/pipeline/useExpandable.mjs +45 -0
  537. package/es/Table/pipeline/useExpandable.mjs.map +1 -0
  538. package/es/Table/pipeline/useFilter.mjs +52 -0
  539. package/es/Table/pipeline/useFilter.mjs.map +1 -0
  540. package/es/Table/pipeline/useSelection.mjs +302 -0
  541. package/es/Table/pipeline/useSelection.mjs.map +1 -0
  542. package/es/Table/pipeline/useSorter.mjs +146 -0
  543. package/es/Table/pipeline/useSorter.mjs.map +1 -0
  544. package/es/Table/pipeline/useTableLocale.mjs +30 -0
  545. package/es/Table/pipeline/useTableLocale.mjs.map +1 -0
  546. package/es/Table/pipeline/useTableState.mjs +118 -0
  547. package/es/Table/pipeline/useTableState.mjs.map +1 -0
  548. package/es/Table/pipeline/useVirtualLayout.mjs +80 -0
  549. package/es/Table/pipeline/useVirtualLayout.mjs.map +1 -0
  550. package/es/Table/render/Body.mjs +150 -0
  551. package/es/Table/render/Body.mjs.map +1 -0
  552. package/es/Table/render/BodyCell.mjs +87 -0
  553. package/es/Table/render/BodyCell.mjs.map +1 -0
  554. package/es/Table/render/CellShell.mjs +84 -0
  555. package/es/Table/render/CellShell.mjs.map +1 -0
  556. package/es/Table/render/ExpandIcon.mjs +28 -0
  557. package/es/Table/render/ExpandIcon.mjs.map +1 -0
  558. package/es/Table/render/FilterDropdown.mjs +139 -0
  559. package/es/Table/render/FilterDropdown.mjs.map +1 -0
  560. package/es/Table/render/FilterPanel.mjs +152 -0
  561. package/es/Table/render/FilterPanel.mjs.map +1 -0
  562. package/es/Table/render/FixedFrost.mjs +113 -0
  563. package/es/Table/render/FixedFrost.mjs.map +1 -0
  564. package/es/Table/render/FixedHolder.mjs +51 -0
  565. package/es/Table/render/FixedHolder.mjs.map +1 -0
  566. package/es/Table/render/Header.mjs +184 -0
  567. package/es/Table/render/Header.mjs.map +1 -0
  568. package/es/Table/render/LoadingSkeleton.mjs +78 -0
  569. package/es/Table/render/LoadingSkeleton.mjs.map +1 -0
  570. package/es/Table/render/PaginationBar.mjs +71 -0
  571. package/es/Table/render/PaginationBar.mjs.map +1 -0
  572. package/es/Table/render/SelectionCells.mjs +111 -0
  573. package/es/Table/render/SelectionCells.mjs.map +1 -0
  574. package/es/Table/render/StickyScrollBar.mjs +99 -0
  575. package/es/Table/render/StickyScrollBar.mjs.map +1 -0
  576. package/es/Table/render/Summary.d.mts +16 -0
  577. package/es/Table/render/Summary.mjs +58 -0
  578. package/es/Table/render/Summary.mjs.map +1 -0
  579. package/es/Table/render/TableView.mjs +215 -0
  580. package/es/Table/render/TableView.mjs.map +1 -0
  581. package/es/Table/render/VirtualBody.mjs +101 -0
  582. package/es/Table/render/VirtualBody.mjs.map +1 -0
  583. package/es/Table/render/context.mjs +15 -0
  584. package/es/Table/render/context.mjs.map +1 -0
  585. package/es/Table/render/filterUtils.mjs +22 -0
  586. package/es/Table/render/filterUtils.mjs.map +1 -0
  587. package/es/Table/render/tableHelpers.mjs +27 -0
  588. package/es/Table/render/tableHelpers.mjs.map +1 -0
  589. package/es/Table/render/useColGroups.mjs +23 -0
  590. package/es/Table/render/useColGroups.mjs.map +1 -0
  591. package/es/Table/render/useScrollSync.mjs +104 -0
  592. package/es/Table/render/useScrollSync.mjs.map +1 -0
  593. package/es/Table/render/useViewContexts.mjs +134 -0
  594. package/es/Table/render/useViewContexts.mjs.map +1 -0
  595. package/es/Table/semantic.mjs +45 -0
  596. package/es/Table/semantic.mjs.map +1 -0
  597. package/es/Table/store/createTableStore.d.mts +1 -0
  598. package/es/Table/store/createTableStore.mjs +40 -0
  599. package/es/Table/store/createTableStore.mjs.map +1 -0
  600. package/es/Table/store/hooks.mjs +24 -0
  601. package/es/Table/store/hooks.mjs.map +1 -0
  602. package/es/Table/style.mjs +175 -90
  603. package/es/Table/style.mjs.map +1 -1
  604. package/es/Table/type.d.mts +467 -37
  605. package/es/Table/useTableController.mjs +293 -0
  606. package/es/Table/useTableController.mjs.map +1 -0
  607. package/es/Tabs/Tabs.mjs +37 -23
  608. package/es/Tabs/Tabs.mjs.map +1 -1
  609. package/es/Tabs/atoms.mjs +2 -2
  610. package/es/Tabs/atoms.mjs.map +1 -1
  611. package/es/Tag/Tag.mjs +2 -2
  612. package/es/Tag/Tag.mjs.map +1 -1
  613. package/es/Text/Text.mjs +2 -2
  614. package/es/Text/Text.mjs.map +1 -1
  615. package/es/Text/style.d.mts +4 -3
  616. package/es/Text/style.mjs +3 -3
  617. package/es/Text/style.mjs.map +1 -1
  618. package/es/Toast/dodge.mjs +0 -1
  619. package/es/Toast/dodge.mjs.map +1 -1
  620. package/es/Toast/dodge.stylex.mjs +1 -4
  621. package/es/Toast/dodge.stylex.mjs.map +1 -1
  622. package/es/Toast/style.mjs +1 -1
  623. package/es/Toast/style.mjs.map +1 -1
  624. package/es/ToggleGroup/ToggleGroup.mjs +4 -4
  625. package/es/ToggleGroup/ToggleGroup.mjs.map +1 -1
  626. package/es/ToggleGroup/atoms.d.mts +1 -0
  627. package/es/ToggleGroup/atoms.mjs +2 -2
  628. package/es/ToggleGroup/atoms.mjs.map +1 -1
  629. package/es/Tooltip/TooltipGroup.mjs +3 -3
  630. package/es/Tooltip/TooltipGroup.mjs.map +1 -1
  631. package/es/Tooltip/TooltipInGroup.mjs +1 -1
  632. package/es/Tooltip/TooltipInGroup.mjs.map +1 -1
  633. package/es/Tooltip/TooltipStandalone.mjs +4 -4
  634. package/es/Tooltip/TooltipStandalone.mjs.map +1 -1
  635. package/es/Tooltip/style.mjs +2 -2
  636. package/es/Tooltip/style.mjs.map +1 -1
  637. package/es/Tree/Tree.mjs +3 -3
  638. package/es/Tree/Tree.mjs.map +1 -1
  639. package/es/Tree/TreeNode.mjs +2 -2
  640. package/es/Tree/TreeNode.mjs.map +1 -1
  641. package/es/Video/Video.mjs +46 -0
  642. package/es/Video/Video.mjs.map +1 -0
  643. package/es/Video/context.mjs +14 -0
  644. package/es/Video/context.mjs.map +1 -0
  645. package/es/Video/index.d.mts +23 -39
  646. package/es/Video/index.mjs +21 -111
  647. package/es/Video/index.mjs.map +1 -1
  648. package/es/Video/parts/Caption.d.mts +9 -0
  649. package/es/Video/parts/Caption.mjs +37 -0
  650. package/es/Video/parts/Caption.mjs.map +1 -0
  651. package/es/Video/parts/CenterPlay.d.mts +8 -0
  652. package/es/Video/parts/CenterPlay.mjs +34 -0
  653. package/es/Video/parts/CenterPlay.mjs.map +1 -0
  654. package/es/Video/parts/Controls.d.mts +9 -0
  655. package/es/Video/parts/Controls.mjs +128 -0
  656. package/es/Video/parts/Controls.mjs.map +1 -0
  657. package/es/Video/parts/Frame.d.mts +9 -0
  658. package/es/Video/parts/Frame.mjs +101 -0
  659. package/es/Video/parts/Frame.mjs.map +1 -0
  660. package/es/Video/parts/HoverPreview.mjs +93 -0
  661. package/es/Video/parts/HoverPreview.mjs.map +1 -0
  662. package/es/Video/parts/LoadError.d.mts +8 -0
  663. package/es/Video/parts/LoadError.mjs +47 -0
  664. package/es/Video/parts/LoadError.mjs.map +1 -0
  665. package/es/Video/parts/PlayPauseIcon.mjs +48 -0
  666. package/es/Video/parts/PlayPauseIcon.mjs.map +1 -0
  667. package/es/Video/parts/RateMenu.mjs +48 -0
  668. package/es/Video/parts/RateMenu.mjs.map +1 -0
  669. package/es/Video/parts/Root.d.mts +9 -0
  670. package/es/Video/parts/Root.mjs +110 -0
  671. package/es/Video/parts/Root.mjs.map +1 -0
  672. package/es/Video/parts/SectionList.d.mts +9 -0
  673. package/es/Video/parts/SectionList.mjs +32 -0
  674. package/es/Video/parts/SectionList.mjs.map +1 -0
  675. package/es/Video/parts/SectionMenu.mjs +63 -0
  676. package/es/Video/parts/SectionMenu.mjs.map +1 -0
  677. package/es/Video/parts/Timeline.d.mts +9 -0
  678. package/es/Video/parts/Timeline.mjs +169 -0
  679. package/es/Video/parts/Timeline.mjs.map +1 -0
  680. package/es/Video/store.mjs +241 -0
  681. package/es/Video/store.mjs.map +1 -0
  682. package/es/Video/style.mjs +393 -23
  683. package/es/Video/style.mjs.map +1 -1
  684. package/es/Video/time.mjs +60 -0
  685. package/es/Video/time.mjs.map +1 -0
  686. package/es/Video/type.d.mts +125 -0
  687. package/es/Video/useControlsIdle.mjs +39 -0
  688. package/es/Video/useControlsIdle.mjs.map +1 -0
  689. package/es/Video/useFullscreen.mjs +17 -0
  690. package/es/Video/useFullscreen.mjs.map +1 -0
  691. package/es/Video/useKeyboard.mjs +60 -0
  692. package/es/Video/useKeyboard.mjs.map +1 -0
  693. package/es/Video/useVideo.d.mts +9 -0
  694. package/es/Video/useVideo.mjs +17 -0
  695. package/es/Video/useVideo.mjs.map +1 -0
  696. package/es/awesome/Features/FeatureItem.mjs +2 -2
  697. package/es/awesome/Features/FeatureItem.mjs.map +1 -1
  698. package/es/awesome/Giscus/style.mjs +9 -9
  699. package/es/awesome/Giscus/style.mjs.map +1 -1
  700. package/es/awesome/Grainient/Grainient.d.mts +11 -0
  701. package/es/awesome/Grainient/Grainient.mjs +314 -0
  702. package/es/awesome/Grainient/Grainient.mjs.map +1 -0
  703. package/es/awesome/Grainient/index.d.mts +3 -0
  704. package/es/awesome/Grainient/style.mjs +23 -0
  705. package/es/awesome/Grainient/style.mjs.map +1 -0
  706. package/es/awesome/Grainient/type.d.mts +121 -0
  707. package/es/awesome/GridBackground/GridBackground.mjs +1 -1
  708. package/es/awesome/GridBackground/GridBackground.mjs.map +1 -1
  709. package/es/awesome/GridBackground/GridShowcase.mjs +4 -4
  710. package/es/awesome/GridBackground/GridShowcase.mjs.map +1 -1
  711. package/es/awesome/Hero/Hero.mjs +3 -3
  712. package/es/awesome/Hero/Hero.mjs.map +1 -1
  713. package/es/awesome/InstallBanner/InstallBanner.mjs +2 -2
  714. package/es/awesome/InstallBanner/InstallBanner.mjs.map +1 -1
  715. package/es/awesome/LandingHero/LandingHero.mjs +3 -3
  716. package/es/awesome/LandingHero/LandingHero.mjs.map +1 -1
  717. package/es/awesome/LogoMarquee/LogoMarquee.mjs +2 -2
  718. package/es/awesome/LogoMarquee/LogoMarquee.mjs.map +1 -1
  719. package/es/awesome/Spline/ParentSize.mjs +1 -1
  720. package/es/awesome/Spline/ParentSize.mjs.map +1 -1
  721. package/es/awesome/TypewriterEffect/TypewriterEffect.mjs +4 -4
  722. package/es/awesome/TypewriterEffect/TypewriterEffect.mjs.map +1 -1
  723. package/es/awesome/index.d.mts +4 -1
  724. package/es/awesome/index.mjs +2 -1
  725. package/es/awesome/landingActions.mjs +2 -2
  726. package/es/awesome/landingActions.mjs.map +1 -1
  727. package/es/chat/BackBottom/BackBottom.mjs +1 -1
  728. package/es/chat/BackBottom/BackBottom.mjs.map +1 -1
  729. package/es/chat/BackBottom/type.d.mts +2 -2
  730. package/es/chat/ChatItem/ChatItem.mjs +2 -2
  731. package/es/chat/ChatItem/ChatItem.mjs.map +1 -1
  732. package/es/chat/EditableMessage/EditableMessage.mjs +4 -4
  733. package/es/chat/EditableMessage/EditableMessage.mjs.map +1 -1
  734. package/es/chat/EditableMessageList/EditableMessageList.mjs +2 -2
  735. package/es/chat/EditableMessageList/EditableMessageList.mjs.map +1 -1
  736. package/es/chat/EditableMessageList/messageReducer.mjs +30 -23
  737. package/es/chat/EditableMessageList/messageReducer.mjs.map +1 -1
  738. package/es/chat/MessageInput/MessageInput.mjs +3 -3
  739. package/es/chat/MessageInput/MessageInput.mjs.map +1 -1
  740. package/es/chat/MessageModal/MessageModal.mjs +1 -1
  741. package/es/chat/MessageModal/MessageModal.mjs.map +1 -1
  742. package/es/chat/TokenTag/TokenTag.mjs +2 -3
  743. package/es/chat/TokenTag/TokenTag.mjs.map +1 -1
  744. package/es/color/status/error.mjs +67 -0
  745. package/es/color/status/error.mjs.map +1 -0
  746. package/es/color/status/index.mjs +15 -0
  747. package/es/color/status/index.mjs.map +1 -0
  748. package/es/color/status/info.mjs +67 -0
  749. package/es/color/status/info.mjs.map +1 -0
  750. package/es/color/status/success.mjs +67 -0
  751. package/es/color/status/success.mjs.map +1 -0
  752. package/es/color/status/warning.mjs +67 -0
  753. package/es/color/status/warning.mjs.map +1 -0
  754. package/es/color/types.d.mts +1 -0
  755. package/es/dashboard/AuthLayout/Aside.d.mts +10 -0
  756. package/es/dashboard/AuthLayout/Aside.mjs +31 -0
  757. package/es/dashboard/AuthLayout/Aside.mjs.map +1 -0
  758. package/es/dashboard/AuthLayout/AuthLayout.d.mts +3 -1
  759. package/es/dashboard/AuthLayout/AuthLayout.mjs +97 -37
  760. package/es/dashboard/AuthLayout/AuthLayout.mjs.map +1 -1
  761. package/es/dashboard/AuthLayout/index.d.mts +3 -2
  762. package/es/dashboard/AuthLayout/style.mjs +109 -1
  763. package/es/dashboard/AuthLayout/style.mjs.map +1 -1
  764. package/es/dashboard/AuthLayout/type.d.mts +38 -2
  765. package/es/dashboard/AuthTools/AuthLocaleSwitch.d.mts +10 -0
  766. package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs +33 -0
  767. package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs.map +1 -0
  768. package/es/dashboard/AuthTools/AuthThemeSwitch.d.mts +10 -0
  769. package/es/dashboard/AuthTools/AuthThemeSwitch.mjs +59 -0
  770. package/es/dashboard/AuthTools/AuthThemeSwitch.mjs.map +1 -0
  771. package/es/dashboard/AuthTools/index.d.mts +4 -0
  772. package/es/dashboard/AuthTools/style.mjs +27 -0
  773. package/es/dashboard/AuthTools/style.mjs.map +1 -0
  774. package/es/dashboard/AuthTools/type.d.mts +29 -0
  775. package/es/dashboard/ChartGrid/ChartGrid.d.mts +10 -0
  776. package/es/dashboard/ChartGrid/ChartGrid.mjs +19 -0
  777. package/es/dashboard/ChartGrid/ChartGrid.mjs.map +1 -0
  778. package/es/dashboard/ChartGrid/index.d.mts +3 -0
  779. package/es/dashboard/ChartGrid/style.mjs +18 -0
  780. package/es/dashboard/ChartGrid/style.mjs.map +1 -0
  781. package/es/dashboard/ChartGrid/type.d.mts +8 -0
  782. package/es/dashboard/ConsoleNav/ConsoleNav.mjs +3 -3
  783. package/es/dashboard/ConsoleNav/ConsoleNav.mjs.map +1 -1
  784. package/es/dashboard/ConsoleNav/Skeleton.d.mts +15 -0
  785. package/es/dashboard/ConsoleNav/Skeleton.mjs +82 -0
  786. package/es/dashboard/ConsoleNav/Skeleton.mjs.map +1 -0
  787. package/es/dashboard/ConsoleNav/index.d.mts +3 -2
  788. package/es/dashboard/ConsoleNav/style.mjs +20 -2
  789. package/es/dashboard/ConsoleNav/style.mjs.map +1 -1
  790. package/es/dashboard/ConsoleNav/type.d.mts +13 -0
  791. package/es/dashboard/ConsoleShell/ConsoleShell.d.mts +1 -1
  792. package/es/dashboard/ConsoleShell/ConsoleShell.mjs +26 -6
  793. package/es/dashboard/ConsoleShell/ConsoleShell.mjs.map +1 -1
  794. package/es/dashboard/ConsoleShell/style.mjs +11 -1
  795. package/es/dashboard/ConsoleShell/style.mjs.map +1 -1
  796. package/es/dashboard/ConsoleShell/type.d.mts +11 -0
  797. package/es/dashboard/FilterSidebar/FilterSidebar.mjs +18 -17
  798. package/es/dashboard/FilterSidebar/FilterSidebar.mjs.map +1 -1
  799. package/es/dashboard/FilterSidebar/style.mjs +2 -2
  800. package/es/dashboard/FilterSidebar/style.mjs.map +1 -1
  801. package/es/dashboard/FilterStrip/FilterStrip.d.mts +11 -0
  802. package/es/dashboard/FilterStrip/FilterStrip.mjs +55 -0
  803. package/es/dashboard/FilterStrip/FilterStrip.mjs.map +1 -0
  804. package/es/dashboard/FilterStrip/index.d.mts +3 -0
  805. package/es/dashboard/FilterStrip/style.mjs +78 -0
  806. package/es/dashboard/FilterStrip/style.mjs.map +1 -0
  807. package/es/dashboard/FilterStrip/type.d.mts +25 -0
  808. package/es/dashboard/LabelWithKey/LabelWithKey.d.mts +10 -0
  809. package/es/dashboard/LabelWithKey/LabelWithKey.mjs +18 -0
  810. package/es/dashboard/LabelWithKey/LabelWithKey.mjs.map +1 -0
  811. package/es/dashboard/LabelWithKey/index.d.mts +3 -0
  812. package/es/dashboard/LabelWithKey/type.d.mts +11 -0
  813. package/es/dashboard/MetricStrip/MetricCell.mjs +92 -0
  814. package/es/dashboard/MetricStrip/MetricCell.mjs.map +1 -0
  815. package/es/dashboard/MetricStrip/MetricStrip.d.mts +13 -0
  816. package/es/dashboard/MetricStrip/MetricStrip.mjs +47 -0
  817. package/es/dashboard/MetricStrip/MetricStrip.mjs.map +1 -0
  818. package/es/dashboard/MetricStrip/index.d.mts +3 -0
  819. package/es/dashboard/MetricStrip/style.mjs +169 -0
  820. package/es/dashboard/MetricStrip/style.mjs.map +1 -0
  821. package/es/dashboard/MetricStrip/type.d.mts +38 -0
  822. package/es/dashboard/PageSkeleton/PageSkeleton.mjs +20 -18
  823. package/es/dashboard/PageSkeleton/PageSkeleton.mjs.map +1 -1
  824. package/es/dashboard/PageSkeleton/style.mjs +2 -1
  825. package/es/dashboard/PageSkeleton/style.mjs.map +1 -1
  826. package/es/dashboard/PageToolbar/PageToolbar.d.mts +10 -0
  827. package/es/dashboard/PageToolbar/PageToolbar.mjs +22 -0
  828. package/es/dashboard/PageToolbar/PageToolbar.mjs.map +1 -0
  829. package/es/dashboard/PageToolbar/index.d.mts +3 -0
  830. package/es/dashboard/PageToolbar/style.mjs +36 -0
  831. package/es/dashboard/PageToolbar/style.mjs.map +1 -0
  832. package/es/dashboard/PageToolbar/type.d.mts +11 -0
  833. package/es/dashboard/PanelSurface/PanelSurface.d.mts +10 -0
  834. package/es/dashboard/PanelSurface/PanelSurface.mjs +40 -0
  835. package/es/dashboard/PanelSurface/PanelSurface.mjs.map +1 -0
  836. package/es/dashboard/PanelSurface/index.d.mts +3 -0
  837. package/es/dashboard/PanelSurface/style.mjs +25 -0
  838. package/es/dashboard/PanelSurface/style.mjs.map +1 -0
  839. package/es/dashboard/PanelSurface/type.d.mts +17 -0
  840. package/es/dashboard/Section/Section.d.mts +10 -0
  841. package/es/dashboard/Section/Section.mjs +81 -0
  842. package/es/dashboard/Section/Section.mjs.map +1 -0
  843. package/es/dashboard/Section/index.d.mts +3 -0
  844. package/es/dashboard/Section/style.mjs +31 -0
  845. package/es/dashboard/Section/style.mjs.map +1 -0
  846. package/es/dashboard/Section/type.d.mts +23 -0
  847. package/es/dashboard/StatCard/StatCard.d.mts +2 -1
  848. package/es/dashboard/StatCard/StatCard.mjs +29 -91
  849. package/es/dashboard/StatCard/StatCard.mjs.map +1 -1
  850. package/es/dashboard/StatCard/type.d.mts +18 -5
  851. package/es/dashboard/Surface/Surface.d.mts +4 -3
  852. package/es/dashboard/Surface/Surface.mjs +90 -8
  853. package/es/dashboard/Surface/Surface.mjs.map +1 -1
  854. package/es/dashboard/Surface/index.d.mts +3 -2
  855. package/es/dashboard/Surface/link.d.mts +16 -0
  856. package/es/dashboard/Surface/link.mjs +40 -0
  857. package/es/dashboard/Surface/link.mjs.map +1 -0
  858. package/es/dashboard/Surface/marker.stylex.mjs +9 -0
  859. package/es/dashboard/Surface/marker.stylex.mjs.map +1 -0
  860. package/es/dashboard/Surface/style.d.mts +2 -0
  861. package/es/dashboard/Surface/style.mjs +156 -14
  862. package/es/dashboard/Surface/style.mjs.map +1 -1
  863. package/es/dashboard/Surface/type.d.mts +29 -1
  864. package/es/dashboard/TableIconActions/TableIconActions.d.mts +17 -0
  865. package/es/dashboard/TableIconActions/TableIconActions.mjs +39 -0
  866. package/es/dashboard/TableIconActions/TableIconActions.mjs.map +1 -0
  867. package/es/dashboard/TableIconActions/index.d.mts +3 -0
  868. package/es/dashboard/TableIconActions/type.d.mts +17 -0
  869. package/es/dashboard/TitleWithTips/TitleWithTips.d.mts +10 -0
  870. package/es/dashboard/TitleWithTips/TitleWithTips.mjs +28 -0
  871. package/es/dashboard/TitleWithTips/TitleWithTips.mjs.map +1 -0
  872. package/es/dashboard/TitleWithTips/index.d.mts +3 -0
  873. package/es/dashboard/TitleWithTips/type.d.mts +10 -0
  874. package/es/dashboard/index.d.mts +38 -4
  875. package/es/dashboard/index.mjs +18 -4
  876. package/es/eslint/noBaseUiSubpath.mjs +2 -1
  877. package/es/eslint/noBaseUiSubpath.mjs.map +1 -1
  878. package/es/hooks/useControlledState.mjs +20 -0
  879. package/es/hooks/useControlledState.mjs.map +1 -0
  880. package/es/hooks/useHighlight.mjs +2 -2
  881. package/es/hooks/useHighlight.mjs.map +1 -1
  882. package/es/hooks/useHover.mjs +22 -0
  883. package/es/hooks/useHover.mjs.map +1 -0
  884. package/es/hooks/useMarkdown/utils.d.mts +1 -0
  885. package/es/hooks/useScroll.d.mts +8 -0
  886. package/es/hooks/useScroll.mjs +33 -0
  887. package/es/hooks/useScroll.mjs.map +1 -0
  888. package/es/hooks/useSize.mjs +26 -0
  889. package/es/hooks/useSize.mjs.map +1 -0
  890. package/es/i18n/resources/en/colorPicker.d.mts +5 -0
  891. package/es/i18n/resources/en/colorPicker.mjs +5 -0
  892. package/es/i18n/resources/en/colorPicker.mjs.map +1 -1
  893. package/es/i18n/resources/en/datePicker.d.mts +54 -0
  894. package/es/i18n/resources/en/datePicker.mjs +55 -1
  895. package/es/i18n/resources/en/datePicker.mjs.map +1 -1
  896. package/es/i18n/resources/en/index.d.mts +4 -2
  897. package/es/i18n/resources/en/index.mjs +6 -2
  898. package/es/i18n/resources/en/index.mjs.map +1 -1
  899. package/es/i18n/resources/en/table.d.mts +23 -0
  900. package/es/i18n/resources/en/table.mjs +24 -0
  901. package/es/i18n/resources/en/table.mjs.map +1 -0
  902. package/es/i18n/resources/en/video.d.mts +23 -0
  903. package/es/i18n/resources/en/video.mjs +24 -0
  904. package/es/i18n/resources/en/video.mjs.map +1 -0
  905. package/es/i18n/resources/zhCn/colorPicker.d.mts +5 -0
  906. package/es/i18n/resources/zhCn/colorPicker.mjs +5 -0
  907. package/es/i18n/resources/zhCn/colorPicker.mjs.map +1 -1
  908. package/es/i18n/resources/zhCn/datePicker.d.mts +54 -0
  909. package/es/i18n/resources/zhCn/datePicker.mjs +55 -1
  910. package/es/i18n/resources/zhCn/datePicker.mjs.map +1 -1
  911. package/es/i18n/resources/zhCn/index.d.mts +4 -2
  912. package/es/i18n/resources/zhCn/index.mjs +7 -3
  913. package/es/i18n/resources/zhCn/index.mjs.map +1 -1
  914. package/es/i18n/resources/zhCn/table.d.mts +23 -0
  915. package/es/i18n/resources/zhCn/table.mjs +24 -0
  916. package/es/i18n/resources/zhCn/table.mjs.map +1 -0
  917. package/es/i18n/resources/zhCn/video.d.mts +23 -0
  918. package/es/i18n/resources/zhCn/video.mjs +24 -0
  919. package/es/i18n/resources/zhCn/video.mjs.map +1 -0
  920. package/es/i18n/types.d.mts +4 -1
  921. package/es/index.d.mts +20 -8
  922. package/es/index.mjs +17 -9
  923. package/es/internal/menu/itemInterface.d.mts +1 -0
  924. package/es/internal/menu/renderUtils.d.mts +1 -0
  925. package/es/internal/overflow/OverflowList.mjs +71 -0
  926. package/es/internal/overflow/OverflowList.mjs.map +1 -0
  927. package/es/internal/virtual/VirtualScrollArea.mjs +1 -1
  928. package/es/internal/virtual/VirtualScrollArea.mjs.map +1 -1
  929. package/es/mdx/Callout/index.mjs +2 -2
  930. package/es/mdx/Callout/index.mjs.map +1 -1
  931. package/es/mdx/Cards/Card.mjs +2 -2
  932. package/es/mdx/Cards/Card.mjs.map +1 -1
  933. package/es/mdx/Cards/index.mjs +2 -2
  934. package/es/mdx/Cards/index.mjs.map +1 -1
  935. package/es/mdx/Mdx/index.mjs +2 -2
  936. package/es/mdx/Mdx/index.mjs.map +1 -1
  937. package/es/mdx/Steps/index.mjs +2 -2
  938. package/es/mdx/Steps/index.mjs.map +1 -1
  939. package/es/mdx/mdxComponents/Pre.mjs +5 -5
  940. package/es/mdx/mdxComponents/Pre.mjs.map +1 -1
  941. package/es/mdx/mdxComponents/Video.d.mts +2 -1
  942. package/es/mdx/mdxComponents/Video.mjs +5 -3
  943. package/es/mdx/mdxComponents/Video.mjs.map +1 -1
  944. package/es/mobile/ChatInputArea/ChatInputArea.mjs +1 -1
  945. package/es/mobile/ChatInputArea/ChatInputArea.mjs.map +1 -1
  946. package/es/mobile/TabBar/TabBar.mjs +1 -1
  947. package/es/mobile/TabBar/TabBar.mjs.map +1 -1
  948. package/es/node_modules/.pnpm/@eslint_core@1.2.1/node_modules/@eslint/core/dist/esm/types.d.mts +2 -46
  949. package/es/node_modules/.pnpm/@eslint_plugin-kit@0.7.3/node_modules/@eslint/plugin-kit/dist/cjs/index.d.mts +1 -1
  950. package/es/node_modules/.pnpm/@types_estree@1.0.9/node_modules/@types/estree/index.d.mts +1 -4
  951. package/es/node_modules/.pnpm/@types_mdx@2.0.14/node_modules/@types/mdx/types.d.mts +1 -0
  952. package/es/node_modules/.pnpm/eslint@10.12.0_jiti@2.6.1_supports-color@10.2.2/node_modules/eslint/lib/types/index.d.mts +2 -1
  953. package/es/storybook/StoryBook/style.mjs +2 -0
  954. package/es/storybook/StoryBook/style.mjs.map +1 -1
  955. package/es/style.css +3534 -978
  956. package/es/styles/createGlobalStyle.d.mts +1 -0
  957. package/es/styles/createGlobalStyle.mjs +1 -1
  958. package/es/styles/index.d.mts +3 -2
  959. package/es/styles/index.mjs +5 -4
  960. package/es/styles/stylex/cssVar.stylex.mjs +3 -0
  961. package/es/styles/stylex/cssVar.stylex.mjs.map +1 -1
  962. package/es/styles/stylex/props.mjs +2 -2
  963. package/es/styles/stylex/props.mjs.map +1 -1
  964. package/es/styles/theme/createLobeToken.d.mts +10 -6
  965. package/es/styles/theme/createLobeToken.mjs.map +1 -1
  966. package/es/styles/theme/customPrimary.d.mts +7 -0
  967. package/es/styles/theme/customPrimary.mjs +66 -0
  968. package/es/styles/theme/customPrimary.mjs.map +1 -0
  969. package/es/styles/theme/generateColorPalette.d.mts +1 -0
  970. package/es/styles/theme/scope.d.mts +5 -3
  971. package/es/styles/theme/scope.mjs +30 -8
  972. package/es/styles/theme/scope.mjs.map +1 -1
  973. package/es/styles/theme/themeCss.d.mts +2 -0
  974. package/es/styles/theme/themeCss.mjs +24 -2
  975. package/es/styles/theme/themeCss.mjs.map +1 -1
  976. package/es/styles/theme/token/legacy.mjs +12 -12
  977. package/es/styles/theme/token/legacy.mjs.map +1 -1
  978. package/es/styles/theme/token/neutral.mjs +17 -9
  979. package/es/styles/theme/token/neutral.mjs.map +1 -1
  980. package/es/styles/theme/token/neutralText.mjs +91 -0
  981. package/es/styles/theme/token/neutralText.mjs.map +1 -0
  982. package/es/styles/theme/token/palette.mjs +16 -41
  983. package/es/styles/theme/token/palette.mjs.map +1 -1
  984. package/es/styles/theme/token/primary.mjs +6 -2
  985. package/es/styles/theme/token/primary.mjs.map +1 -1
  986. package/es/styles/theme/token/static.mjs +3 -0
  987. package/es/styles/theme/token/static.mjs.map +1 -1
  988. package/es/theme.css +301 -290
  989. package/es/types/customToken.d.mts +1 -0
  990. package/es/utils/colorMath.mjs +52 -0
  991. package/es/utils/colorMath.mjs.map +1 -0
  992. package/es/utils/formatNumber.mjs +7 -0
  993. package/es/utils/formatNumber.mjs.map +1 -0
  994. package/es/utils/genCdnUrl.mjs +6 -3
  995. package/es/utils/genCdnUrl.mjs.map +1 -1
  996. package/es/utils/hashString.mjs +19 -0
  997. package/es/utils/hashString.mjs.map +1 -0
  998. package/es/utils/mergeRefs.mjs +20 -0
  999. package/es/utils/mergeRefs.mjs.map +1 -0
  1000. package/es/utils/placement.d.mts +5 -5
  1001. package/es/utils/placement.mjs.map +1 -1
  1002. package/package.json +25 -46
  1003. package/es/DatePicker/CalendarPanel.mjs +0 -189
  1004. package/es/DatePicker/CalendarPanel.mjs.map +0 -1
  1005. package/es/DatePicker/PickerShell.mjs +0 -43
  1006. package/es/DatePicker/PickerShell.mjs.map +0 -1
  1007. package/es/DatePicker/calendar.d.mts +0 -4
  1008. package/es/DatePicker/calendar.mjs +0 -46
  1009. package/es/DatePicker/calendar.mjs.map +0 -1
  1010. package/es/Table/FilterMenu.mjs +0 -45
  1011. package/es/Table/FilterMenu.mjs.map +0 -1
  1012. package/es/Table/TableBody.mjs +0 -67
  1013. package/es/Table/TableBody.mjs.map +0 -1
  1014. package/es/Table/TableHead.mjs +0 -58
  1015. package/es/Table/TableHead.mjs.map +0 -1
  1016. package/es/Table/features.mjs +0 -12
  1017. package/es/Table/features.mjs.map +0 -1
  1018. package/es/Table/fixedOffsets.mjs +0 -29
  1019. package/es/Table/fixedOffsets.mjs.map +0 -1
  1020. package/es/Table/marker.stylex.mjs +0 -9
  1021. package/es/Table/marker.stylex.mjs.map +0 -1
  1022. package/es/Table/toColumnDefs.mjs +0 -26
  1023. package/es/Table/toColumnDefs.mjs.map +0 -1
  1024. package/es/Table/useTableState.mjs +0 -99
  1025. package/es/Table/useTableState.mjs.map +0 -1
  1026. package/es/Video/marker.stylex.mjs +0 -9
  1027. package/es/Video/marker.stylex.mjs.map +0 -1
  1028. package/es/dashboard/StatCard/style.mjs +0 -105
  1029. package/es/dashboard/StatCard/style.mjs.map +0 -1
@@ -0,0 +1,115 @@
1
+ //#region src/Table/pipeline/selectionUtils.ts
2
+ const SELECTION_COLUMN = {};
3
+ const SELECTION_ALL = "SELECT_ALL";
4
+ const SELECTION_INVERT = "SELECT_INVERT";
5
+ const SELECTION_NONE = "SELECT_NONE";
6
+ const isPlainObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
7
+ const flattenData = (childrenColumnName, data) => {
8
+ const list = [];
9
+ const dig = (records) => {
10
+ (records || []).forEach((record) => {
11
+ list.push(record);
12
+ if (isPlainObject(record) && childrenColumnName in record) dig(record[childrenColumnName]);
13
+ });
14
+ };
15
+ dig(data);
16
+ return list;
17
+ };
18
+ const convertDataToEntities = (data, getRowKey, childrenColumnName) => {
19
+ const entities = /* @__PURE__ */ new Map();
20
+ const dig = (records, level, parent) => {
21
+ records.forEach((record, index) => {
22
+ const entity = {
23
+ children: [],
24
+ key: getRowKey(record, index),
25
+ level,
26
+ parent,
27
+ record
28
+ };
29
+ entities.set(entity.key, entity);
30
+ parent?.children.push(entity);
31
+ const children = isPlainObject(record) ? record[childrenColumnName] : void 0;
32
+ if (Array.isArray(children)) dig(children, level + 1, entity);
33
+ });
34
+ };
35
+ dig(data, 0);
36
+ return entities;
37
+ };
38
+ const groupByLevel = (entities) => {
39
+ const levels = /* @__PURE__ */ new Map();
40
+ let maxLevel = 0;
41
+ entities.forEach((entity) => {
42
+ const list = levels.get(entity.level);
43
+ if (list) list.push(entity);
44
+ else levels.set(entity.level, [entity]);
45
+ maxLevel = Math.max(maxLevel, entity.level);
46
+ });
47
+ return {
48
+ levels,
49
+ maxLevel
50
+ };
51
+ };
52
+ const conductUp = (checkedKeys, levels, maxLevel, isDisabled, mode) => {
53
+ const halfCheckedKeys = /* @__PURE__ */ new Set();
54
+ const visited = /* @__PURE__ */ new Set();
55
+ for (let level = maxLevel; level >= 0; level -= 1) for (const { parent, record } of levels.get(level) ?? []) {
56
+ if (isDisabled(record) || !parent || visited.has(parent.key)) continue;
57
+ visited.add(parent.key);
58
+ if (isDisabled(parent.record)) continue;
59
+ let allChecked = true;
60
+ let partialChecked = false;
61
+ for (const child of parent.children) {
62
+ if (isDisabled(child.record)) continue;
63
+ const checked = checkedKeys.has(child.key);
64
+ if (!checked) allChecked = false;
65
+ if (checked || halfCheckedKeys.has(child.key)) partialChecked = true;
66
+ }
67
+ if (mode === "fill" && allChecked) checkedKeys.add(parent.key);
68
+ if (mode === "clean" && !allChecked) checkedKeys.delete(parent.key);
69
+ if (partialChecked) halfCheckedKeys.add(parent.key);
70
+ }
71
+ return {
72
+ checkedKeys: [...checkedKeys],
73
+ halfCheckedKeys: [...halfCheckedKeys].filter((key) => !checkedKeys.has(key))
74
+ };
75
+ };
76
+ const conductCheck = (keyList, checked, entities, isDisabled) => {
77
+ const checkedKeys = new Set(keyList.filter((key) => entities.has(key)));
78
+ const { levels, maxLevel } = groupByLevel(entities);
79
+ if (checked === true) {
80
+ for (let level = 0; level <= maxLevel; level += 1) for (const { children, key, record } of levels.get(level) ?? []) {
81
+ if (!checkedKeys.has(key) || isDisabled(record)) continue;
82
+ for (const child of children) if (!isDisabled(child.record)) checkedKeys.add(child.key);
83
+ }
84
+ return conductUp(checkedKeys, levels, maxLevel, isDisabled, "fill");
85
+ }
86
+ const halfKeys = new Set(checked.halfCheckedKeys);
87
+ for (let level = 0; level <= maxLevel; level += 1) for (const { children, key, record } of levels.get(level) ?? []) {
88
+ if (checkedKeys.has(key) || halfKeys.has(key) || isDisabled(record)) continue;
89
+ for (const child of children) if (!isDisabled(child.record)) checkedKeys.delete(child.key);
90
+ }
91
+ return conductUp(checkedKeys, levels, maxLevel, isDisabled, "clean");
92
+ };
93
+ const selectRange = (prevIndex, currentIndex, keys, selectedKeys) => {
94
+ const anchor = prevIndex ?? currentIndex;
95
+ const start = Math.min(anchor || 0, currentIndex);
96
+ const end = Math.max(anchor || 0, currentIndex);
97
+ const rangeKeys = keys.slice(start, end + 1);
98
+ const shouldSelect = rangeKeys.some((key) => !selectedKeys.has(key));
99
+ const changedKeys = [];
100
+ for (const key of rangeKeys) if (shouldSelect) {
101
+ if (!selectedKeys.has(key)) changedKeys.push(key);
102
+ selectedKeys.add(key);
103
+ } else {
104
+ selectedKeys.delete(key);
105
+ changedKeys.push(key);
106
+ }
107
+ return {
108
+ changedKeys,
109
+ nextAnchor: shouldSelect ? end : null
110
+ };
111
+ };
112
+ //#endregion
113
+ export { SELECTION_ALL, SELECTION_COLUMN, SELECTION_INVERT, SELECTION_NONE, conductCheck, convertDataToEntities, flattenData, isPlainObject, selectRange };
114
+
115
+ //# sourceMappingURL=selectionUtils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectionUtils.mjs","names":[],"sources":["../../../src/Table/pipeline/selectionUtils.ts"],"sourcesContent":["import type { Key } from 'react';\n\nimport type { TableColumn } from '../type';\n\nexport const SELECTION_COLUMN = {} as TableColumn<any>;\nexport const SELECTION_ALL = 'SELECT_ALL' as const;\nexport const SELECTION_INVERT = 'SELECT_INVERT' as const;\nexport const SELECTION_NONE = 'SELECT_NONE' as const;\n\nexport interface SelectionEntity<T> {\n children: SelectionEntity<T>[];\n key: Key;\n level: number;\n parent?: SelectionEntity<T>;\n record: T;\n}\n\nexport type SelectionEntities<T> = Map<Key, SelectionEntity<T>>;\n\nexport const isPlainObject = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nexport const flattenData = <T>(childrenColumnName: string, data: readonly T[] | undefined) => {\n const list: T[] = [];\n const dig = (records: readonly T[] | undefined) => {\n (records || []).forEach((record) => {\n list.push(record);\n if (isPlainObject(record) && childrenColumnName in record) {\n dig(record[childrenColumnName] as T[]);\n }\n });\n };\n dig(data);\n return list;\n};\n\nexport const convertDataToEntities = <T>(\n data: readonly T[],\n getRowKey: (record: T, index: number) => Key,\n childrenColumnName: string,\n): SelectionEntities<T> => {\n const entities: SelectionEntities<T> = new Map();\n const dig = (records: readonly T[], level: number, parent?: SelectionEntity<T>) => {\n records.forEach((record, index) => {\n const entity: SelectionEntity<T> = {\n children: [],\n key: getRowKey(record, index),\n level,\n parent,\n record,\n };\n entities.set(entity.key, entity);\n parent?.children.push(entity);\n const children = isPlainObject(record) ? record[childrenColumnName] : undefined;\n if (Array.isArray(children)) dig(children as T[], level + 1, entity);\n });\n };\n dig(data, 0);\n return entities;\n};\n\ntype IsDisabled<T> = (record: T) => boolean;\n\nconst groupByLevel = <T>(entities: SelectionEntities<T>) => {\n const levels = new Map<number, SelectionEntity<T>[]>();\n let maxLevel = 0;\n entities.forEach((entity) => {\n const list = levels.get(entity.level);\n if (list) list.push(entity);\n else levels.set(entity.level, [entity]);\n maxLevel = Math.max(maxLevel, entity.level);\n });\n return { levels, maxLevel };\n};\n\nconst conductUp = <T>(\n checkedKeys: Set<Key>,\n levels: Map<number, SelectionEntity<T>[]>,\n maxLevel: number,\n isDisabled: IsDisabled<T>,\n mode: 'fill' | 'clean',\n) => {\n const halfCheckedKeys = new Set<Key>();\n const visited = new Set<Key>();\n for (let level = maxLevel; level >= 0; level -= 1) {\n for (const { parent, record } of levels.get(level) ?? []) {\n if (isDisabled(record) || !parent || visited.has(parent.key)) continue;\n visited.add(parent.key);\n if (isDisabled(parent.record)) continue;\n\n let allChecked = true;\n let partialChecked = false;\n for (const child of parent.children) {\n if (isDisabled(child.record)) continue;\n const checked = checkedKeys.has(child.key);\n if (!checked) allChecked = false;\n if (checked || halfCheckedKeys.has(child.key)) partialChecked = true;\n }\n if (mode === 'fill' && allChecked) checkedKeys.add(parent.key);\n if (mode === 'clean' && !allChecked) checkedKeys.delete(parent.key);\n if (partialChecked) halfCheckedKeys.add(parent.key);\n }\n }\n return {\n checkedKeys: [...checkedKeys],\n halfCheckedKeys: [...halfCheckedKeys].filter((key) => !checkedKeys.has(key)),\n };\n};\n\nexport const conductCheck = <T>(\n keyList: readonly Key[],\n checked: true | { checked: false; halfCheckedKeys: Key[] },\n entities: SelectionEntities<T>,\n isDisabled: IsDisabled<T>,\n) => {\n const checkedKeys = new Set(keyList.filter((key) => entities.has(key)));\n const { levels, maxLevel } = groupByLevel(entities);\n\n if (checked === true) {\n for (let level = 0; level <= maxLevel; level += 1) {\n for (const { children, key, record } of levels.get(level) ?? []) {\n if (!checkedKeys.has(key) || isDisabled(record)) continue;\n for (const child of children) {\n if (!isDisabled(child.record)) checkedKeys.add(child.key);\n }\n }\n }\n return conductUp(checkedKeys, levels, maxLevel, isDisabled, 'fill');\n }\n\n const halfKeys = new Set(checked.halfCheckedKeys);\n for (let level = 0; level <= maxLevel; level += 1) {\n for (const { children, key, record } of levels.get(level) ?? []) {\n if (checkedKeys.has(key) || halfKeys.has(key) || isDisabled(record)) continue;\n for (const child of children) {\n if (!isDisabled(child.record)) checkedKeys.delete(child.key);\n }\n }\n }\n return conductUp(checkedKeys, levels, maxLevel, isDisabled, 'clean');\n};\n\nexport const selectRange = (\n prevIndex: number | null,\n currentIndex: number,\n keys: readonly Key[],\n selectedKeys: Set<Key>,\n) => {\n const anchor = prevIndex ?? currentIndex;\n const start = Math.min(anchor || 0, currentIndex);\n const end = Math.max(anchor || 0, currentIndex);\n const rangeKeys = keys.slice(start, end + 1);\n const shouldSelect = rangeKeys.some((key) => !selectedKeys.has(key));\n const changedKeys: Key[] = [];\n for (const key of rangeKeys) {\n if (shouldSelect) {\n if (!selectedKeys.has(key)) changedKeys.push(key);\n selectedKeys.add(key);\n } else {\n selectedKeys.delete(key);\n changedKeys.push(key);\n }\n }\n return { changedKeys, nextAnchor: shouldSelect ? end : null };\n};\n"],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ import { useEffect, useState } from "react";
2
+ //#region src/Table/pipeline/useBreakpoint.ts
3
+ const BREAKPOINT_QUERIES = {
4
+ lg: "(min-width: 992px)",
5
+ md: "(min-width: 768px)",
6
+ sm: "(min-width: 576px)",
7
+ xl: "(min-width: 1200px)",
8
+ xs: "(max-width: 575px)",
9
+ xxl: "(min-width: 1600px)",
10
+ xxxl: "(min-width: 1920px)"
11
+ };
12
+ const POINTS = Object.keys(BREAKPOINT_QUERIES);
13
+ const canMatchMedia = () => typeof window !== "undefined" && typeof window.matchMedia === "function";
14
+ const readScreens = () => canMatchMedia() ? new Set(POINTS.filter((point) => window.matchMedia(BREAKPOINT_QUERIES[point]).matches)) : null;
15
+ const useBreakpoint = (enabled) => {
16
+ const [screens, setScreens] = useState(() => enabled ? readScreens() : null);
17
+ useEffect(() => {
18
+ if (!enabled || !canMatchMedia()) {
19
+ setScreens(null);
20
+ return;
21
+ }
22
+ const update = () => {
23
+ const next = readScreens();
24
+ setScreens((previous) => previous?.size === next.size && [...next].every((point) => previous.has(point)) ? previous : next);
25
+ };
26
+ const queries = POINTS.map((point) => window.matchMedia(BREAKPOINT_QUERIES[point]));
27
+ queries.forEach((query) => query.addEventListener("change", update));
28
+ update();
29
+ return () => queries.forEach((query) => query.removeEventListener("change", update));
30
+ }, [enabled]);
31
+ return enabled ? screens : null;
32
+ };
33
+ //#endregion
34
+ export { BREAKPOINT_QUERIES, useBreakpoint };
35
+
36
+ //# sourceMappingURL=useBreakpoint.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBreakpoint.mjs","names":[],"sources":["../../../src/Table/pipeline/useBreakpoint.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nimport type { TableBreakpoint } from '../type';\n\nexport const BREAKPOINT_QUERIES: Record<TableBreakpoint, string> = {\n lg: '(min-width: 992px)',\n md: '(min-width: 768px)',\n sm: '(min-width: 576px)',\n xl: '(min-width: 1200px)',\n xs: '(max-width: 575px)',\n xxl: '(min-width: 1600px)',\n xxxl: '(min-width: 1920px)',\n};\n\nconst POINTS = Object.keys(BREAKPOINT_QUERIES) as TableBreakpoint[];\n\nconst canMatchMedia = () =>\n typeof window !== 'undefined' && typeof window.matchMedia === 'function';\n\nconst readScreens = (): ReadonlySet<TableBreakpoint> | null =>\n canMatchMedia()\n ? new Set(POINTS.filter((point) => window.matchMedia(BREAKPOINT_QUERIES[point]).matches))\n : null;\n\nexport const useBreakpoint = (enabled: boolean): ReadonlySet<TableBreakpoint> | null => {\n const [screens, setScreens] = useState(() => (enabled ? readScreens() : null));\n\n useEffect(() => {\n if (!enabled || !canMatchMedia()) {\n setScreens(null);\n return;\n }\n const update = () => {\n const next = readScreens()!;\n setScreens((previous) =>\n previous?.size === next.size && [...next].every((point) => previous.has(point))\n ? previous\n : next,\n );\n };\n const queries = POINTS.map((point) => window.matchMedia(BREAKPOINT_QUERIES[point]));\n queries.forEach((query) => query.addEventListener('change', update));\n update();\n return () => queries.forEach((query) => query.removeEventListener('change', update));\n }, [enabled]);\n\n return enabled ? screens : null;\n};\n"],"mappings":";;AAIA,MAAa,qBAAsD;CACjE,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,KAAK;CACL,MAAM;AACR;AAEA,MAAM,SAAS,OAAO,KAAK,kBAAkB;AAE7C,MAAM,sBACJ,OAAO,WAAW,eAAe,OAAO,OAAO,eAAe;AAEhE,MAAM,oBACJ,cAAc,IACV,IAAI,IAAI,OAAO,QAAQ,UAAU,OAAO,WAAW,mBAAmB,MAAM,CAAC,CAAC,OAAO,CAAC,IACtF;AAEN,MAAa,iBAAiB,YAA0D;CACtF,MAAM,CAAC,SAAS,cAAc,eAAgB,UAAU,YAAY,IAAI,IAAK;CAE7E,gBAAgB;EACd,IAAI,CAAC,WAAW,CAAC,cAAc,GAAG;GAChC,WAAW,IAAI;GACf;EACF;EACA,MAAM,eAAe;GACnB,MAAM,OAAO,YAAY;GACzB,YAAY,aACV,UAAU,SAAS,KAAK,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,OAAO,UAAU,SAAS,IAAI,KAAK,CAAC,IAC1E,WACA,IACN;EACF;EACA,MAAM,UAAU,OAAO,KAAK,UAAU,OAAO,WAAW,mBAAmB,MAAM,CAAC;EAClF,QAAQ,SAAS,UAAU,MAAM,iBAAiB,UAAU,MAAM,CAAC;EACnE,OAAO;EACP,aAAa,QAAQ,SAAS,UAAU,MAAM,oBAAoB,UAAU,MAAM,CAAC;CACrF,GAAG,CAAC,OAAO,CAAC;CAEZ,OAAO,UAAU,UAAU;AAC7B"}
@@ -0,0 +1,45 @@
1
+ import { useEventCallback } from "../../hooks/useEventCallback.mjs";
2
+ import { isPlainObject } from "./selectionUtils.mjs";
3
+ import { useMemo, useState } from "react";
4
+ //#region src/Table/pipeline/useExpandable.ts
5
+ const findAllChildrenKeys = (data, getRowKey, childrenColumnName) => {
6
+ const keys = [];
7
+ const dig = (list) => {
8
+ (list || []).forEach((item, index) => {
9
+ keys.push(getRowKey(item, index));
10
+ dig(item?.[childrenColumnName]);
11
+ });
12
+ };
13
+ dig(data);
14
+ return keys;
15
+ };
16
+ const getExpandType = (data, childrenColumnName, expandable) => {
17
+ if (expandable?.expandedRowRender) return "row";
18
+ if (data.some((record) => isPlainObject(record) && record[childrenColumnName])) return "nest";
19
+ return null;
20
+ };
21
+ const useExpandable = ({ childrenColumnName, expandable, getRowKey, pageData }) => {
22
+ const { defaultExpandAllRows, defaultExpandedRowKeys, expandedRowKeys, onExpand } = expandable ?? {};
23
+ const onExpandedRowsChange = expandable?.onExpandedRowsChange;
24
+ const [innerKeys, setInnerKeys] = useState(() => {
25
+ if (defaultExpandedRowKeys) return defaultExpandedRowKeys;
26
+ if (defaultExpandAllRows) return findAllChildrenKeys(pageData, getRowKey, childrenColumnName);
27
+ return [];
28
+ });
29
+ const expandedKeys = useMemo(() => new Set(expandedRowKeys ?? innerKeys), [expandedRowKeys, innerKeys]);
30
+ return {
31
+ expandedKeys,
32
+ toggle: useEventCallback((record) => {
33
+ const key = getRowKey(record, pageData.indexOf(record));
34
+ const hasKey = expandedKeys.has(key);
35
+ const next = hasKey ? [...expandedKeys].filter((item) => item !== key) : [...expandedKeys, key];
36
+ setInnerKeys(next);
37
+ onExpand?.(!hasKey, record);
38
+ onExpandedRowsChange?.(next);
39
+ })
40
+ };
41
+ };
42
+ //#endregion
43
+ export { getExpandType, useExpandable };
44
+
45
+ //# sourceMappingURL=useExpandable.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useExpandable.mjs","names":[],"sources":["../../../src/Table/pipeline/useExpandable.ts"],"sourcesContent":["import { type Key, useMemo, useState } from 'react';\n\nimport { useEventCallback } from '@/hooks/useEventCallback';\n\nimport type { TableExpandableConfig } from '../type';\nimport { isPlainObject } from './selectionUtils';\n\nexport type ExpandType = 'nest' | 'row' | null;\n\nconst findAllChildrenKeys = <T>(\n data: readonly T[],\n getRowKey: (record: T, index: number) => Key,\n childrenColumnName: string,\n) => {\n const keys: Key[] = [];\n const dig = (list: readonly T[] | undefined) => {\n (list || []).forEach((item, index) => {\n keys.push(getRowKey(item, index));\n dig((item as Record<string, unknown>)?.[childrenColumnName] as T[] | undefined);\n });\n };\n dig(data);\n return keys;\n};\n\nexport const getExpandType = <T>(\n data: readonly T[],\n childrenColumnName: string,\n expandable: TableExpandableConfig<T> | undefined,\n): ExpandType => {\n if (expandable?.expandedRowRender) return 'row';\n if (data.some((record) => isPlainObject(record) && record[childrenColumnName])) return 'nest';\n return null;\n};\n\nexport const useExpandable = <T>({\n childrenColumnName,\n expandable,\n getRowKey,\n pageData,\n}: {\n childrenColumnName: string;\n expandable: TableExpandableConfig<T> | undefined;\n getRowKey: (record: T, index: number) => Key;\n pageData: readonly T[];\n}) => {\n const { defaultExpandAllRows, defaultExpandedRowKeys, expandedRowKeys, onExpand } =\n expandable ?? {};\n const onExpandedRowsChange = expandable?.onExpandedRowsChange;\n\n const [innerKeys, setInnerKeys] = useState<readonly Key[]>(() => {\n if (defaultExpandedRowKeys) return defaultExpandedRowKeys;\n if (defaultExpandAllRows) return findAllChildrenKeys(pageData, getRowKey, childrenColumnName);\n return [];\n });\n\n const expandedKeys = useMemo(\n (): ReadonlySet<Key> => new Set(expandedRowKeys ?? innerKeys),\n [expandedRowKeys, innerKeys],\n );\n\n const toggle = useEventCallback((record: T) => {\n const key = getRowKey(record, pageData.indexOf(record));\n const hasKey = expandedKeys.has(key);\n const next = hasKey ? [...expandedKeys].filter((item) => item !== key) : [...expandedKeys, key];\n setInnerKeys(next);\n onExpand?.(!hasKey, record);\n onExpandedRowsChange?.(next);\n });\n\n return { expandedKeys, toggle };\n};\n"],"mappings":";;;;AASA,MAAM,uBACJ,MACA,WACA,uBACG;CACH,MAAM,OAAc,CAAC;CACrB,MAAM,OAAO,SAAmC;EAC9C,CAAC,QAAQ,CAAC,EAAA,CAAG,SAAS,MAAM,UAAU;GACpC,KAAK,KAAK,UAAU,MAAM,KAAK,CAAC;GAChC,IAAK,OAAmC,mBAAsC;EAChF,CAAC;CACH;CACA,IAAI,IAAI;CACR,OAAO;AACT;AAEA,MAAa,iBACX,MACA,oBACA,eACe;CACf,IAAI,YAAY,mBAAmB,OAAO;CAC1C,IAAI,KAAK,MAAM,WAAW,cAAc,MAAM,KAAK,OAAO,mBAAmB,GAAG,OAAO;CACvF,OAAO;AACT;AAEA,MAAa,iBAAoB,EAC/B,oBACA,YACA,WACA,eAMI;CACJ,MAAM,EAAE,sBAAsB,wBAAwB,iBAAiB,aACrE,cAAc,CAAC;CACjB,MAAM,uBAAuB,YAAY;CAEzC,MAAM,CAAC,WAAW,gBAAgB,eAA+B;EAC/D,IAAI,wBAAwB,OAAO;EACnC,IAAI,sBAAsB,OAAO,oBAAoB,UAAU,WAAW,kBAAkB;EAC5F,OAAO,CAAC;CACV,CAAC;CAED,MAAM,eAAe,cACK,IAAI,IAAI,mBAAmB,SAAS,GAC5D,CAAC,iBAAiB,SAAS,CAC7B;CAWA,OAAO;EAAE;EAAc,QATR,kBAAkB,WAAc;GAC7C,MAAM,MAAM,UAAU,QAAQ,SAAS,QAAQ,MAAM,CAAC;GACtD,MAAM,SAAS,aAAa,IAAI,GAAG;GACnC,MAAM,OAAO,SAAS,CAAC,GAAG,YAAY,CAAC,CAAC,QAAQ,SAAS,SAAS,GAAG,IAAI,CAAC,GAAG,cAAc,GAAG;GAC9F,aAAa,IAAI;GACjB,WAAW,CAAC,QAAQ,MAAM;GAC1B,uBAAuB,IAAI;EAC7B,CAE4B;CAAE;AAChC"}
@@ -0,0 +1,52 @@
1
+ import { flattenColumns } from "./columnUtils.mjs";
2
+ import { useMemo } from "react";
3
+ //#region src/Table/pipeline/useFilter.ts
4
+ const flattenFilterKeys = (filters) => (filters ?? []).flatMap(({ children, value }) => [value, ...flattenFilterKeys(children)]);
5
+ const isFilterable = (column) => Boolean(column.filters) || column.filterDropdown !== void 0 || "onFilter" in column;
6
+ const toKeys = (column, keys) => column.filterDropdown === void 0 && keys ? keys.map(String) : keys;
7
+ const collectFilterStates = (columns, init) => flattenColumns(columns).flatMap(({ column, id }) => {
8
+ const col = column;
9
+ if (!isFilterable(col)) return [];
10
+ return [{
11
+ column: col,
12
+ filteredKeys: "filteredValue" in col ? toKeys(col, col.filteredValue) : init && col.defaultFilteredValue ? toKeys(col, col.defaultFilteredValue) : void 0,
13
+ forceFiltered: col.filtered,
14
+ key: id
15
+ }];
16
+ });
17
+ const mergeFilterStates = (columns, inner) => {
18
+ const collected = collectFilterStates(columns, false);
19
+ return collected.some(({ filteredKeys }) => filteredKeys !== void 0) ? collected : collected.map((state) => ({
20
+ ...state,
21
+ filteredKeys: inner[state.key]
22
+ }));
23
+ };
24
+ const getFilterInfo = (states) => Object.fromEntries(states.map(({ column, filteredKeys, key }) => {
25
+ if (column.filterDropdown) return [key, filteredKeys || null];
26
+ if (!Array.isArray(filteredKeys)) return [key, null];
27
+ const selected = new Set(filteredKeys.map(String));
28
+ return [key, flattenFilterKeys(column.filters).filter((value) => selected.has(String(value)))];
29
+ }));
30
+ const filterData = (data, states, childrenColumnName = "children") => states.reduce((current, { column: { filters, onFilter }, filteredKeys }) => {
31
+ if (!onFilter || !filteredKeys?.length) return current;
32
+ const valueOf = /* @__PURE__ */ new Map();
33
+ for (const value of flattenFilterKeys(filters)) if (!valueOf.has(String(value))) valueOf.set(String(value), value);
34
+ const values = filteredKeys.map((key) => valueOf.get(String(key)) ?? key);
35
+ return current.flatMap((record) => {
36
+ const children = record[childrenColumnName];
37
+ const next = Array.isArray(children) ? {
38
+ ...record,
39
+ [childrenColumnName]: filterData(children, states, childrenColumnName)
40
+ } : record;
41
+ return values.some((value) => onFilter(value, next)) ? [next] : [];
42
+ });
43
+ }, [...data]);
44
+ const useFilter = ({ childrenColumnName, data, states }) => useMemo(() => filterData(data, states, childrenColumnName), [
45
+ data,
46
+ states,
47
+ childrenColumnName
48
+ ]);
49
+ //#endregion
50
+ export { collectFilterStates, filterData, flattenFilterKeys, getFilterInfo, mergeFilterStates, useFilter };
51
+
52
+ //# sourceMappingURL=useFilter.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFilter.mjs","names":[],"sources":["../../../src/Table/pipeline/useFilter.ts"],"sourcesContent":["import { type Key, useMemo } from 'react';\n\nimport type {\n FilterValue,\n TableColumn,\n TableColumnFilterItem,\n TableColumnType,\n TableFilters,\n} from '../type';\nimport { flattenColumns } from './columnUtils';\n\nexport type FilterKeys = (Key | boolean)[] | null;\n\nexport interface FilterState<T> {\n column: TableColumnType<T>;\n filteredKeys?: FilterKeys;\n forceFiltered?: boolean;\n key: string;\n}\n\nexport type FiltersState = Record<string, FilterKeys | undefined>;\n\nexport const flattenFilterKeys = (filters?: readonly TableColumnFilterItem[]): FilterValue[] =>\n (filters ?? []).flatMap(({ children, value }) => [value, ...flattenFilterKeys(children)]);\n\nconst isFilterable = (column: TableColumnType<any>) =>\n Boolean(column.filters) || column.filterDropdown !== undefined || 'onFilter' in column;\n\nconst toKeys = (column: TableColumnType<any>, keys: FilterKeys | undefined) =>\n // Menu / tree options are matched by their string value; custom dropdowns keep raw keys.\n column.filterDropdown === undefined && keys ? keys.map(String) : keys;\n\nexport const collectFilterStates = <T>(\n columns: readonly TableColumn<T>[],\n init: boolean,\n): FilterState<T>[] =>\n flattenColumns(columns).flatMap(({ column, id }) => {\n const col = column as TableColumnType<T>;\n if (!isFilterable(col)) return [];\n const filteredKeys =\n 'filteredValue' in col\n ? toKeys(col, col.filteredValue)\n : init && col.defaultFilteredValue\n ? toKeys(col, col.defaultFilteredValue)\n : undefined;\n return [{ column: col, filteredKeys, forceFiltered: col.filtered, key: id }];\n });\n\nexport const mergeFilterStates = <T>(\n columns: readonly TableColumn<T>[],\n inner: FiltersState,\n): FilterState<T>[] => {\n const collected = collectFilterStates(columns, false);\n const controlled = collected.some(({ filteredKeys }) => filteredKeys !== undefined);\n return controlled\n ? collected\n : collected.map((state) => ({ ...state, filteredKeys: inner[state.key] }));\n};\n\nexport const getFilterInfo = (states: readonly FilterState<any>[]): TableFilters =>\n Object.fromEntries(\n states.map(({ column, filteredKeys, key }) => {\n if (column.filterDropdown) return [key, (filteredKeys as FilterValue[]) || null];\n if (!Array.isArray(filteredKeys)) return [key, null];\n const selected = new Set(filteredKeys.map(String));\n return [\n key,\n flattenFilterKeys(column.filters).filter((value) => selected.has(String(value))),\n ];\n }),\n );\n\nexport const filterData = <T>(\n data: readonly T[],\n states: readonly FilterState<T>[],\n childrenColumnName = 'children',\n): T[] =>\n states.reduce<T[]>(\n (current, { column: { filters, onFilter }, filteredKeys }) => {\n if (!onFilter || !filteredKeys?.length) return current;\n\n const valueOf = new Map<string, FilterValue>();\n for (const value of flattenFilterKeys(filters)) {\n if (!valueOf.has(String(value))) valueOf.set(String(value), value);\n }\n const values = filteredKeys.map((key) => valueOf.get(String(key)) ?? (key as FilterValue));\n\n return current.flatMap((record) => {\n const children = (record as Record<string, unknown>)[childrenColumnName];\n const next = Array.isArray(children)\n ? {\n ...record,\n [childrenColumnName]: filterData(children as T[], states, childrenColumnName),\n }\n : record;\n return values.some((value) => onFilter(value, next)) ? [next] : [];\n });\n },\n [...data],\n );\n\nexport const useFilter = <T>({\n childrenColumnName,\n data,\n states,\n}: {\n childrenColumnName?: string;\n data: readonly T[];\n states: readonly FilterState<T>[];\n}) =>\n useMemo(() => filterData(data, states, childrenColumnName), [data, states, childrenColumnName]);\n"],"mappings":";;;AAsBA,MAAa,qBAAqB,aAC/B,WAAW,CAAC,EAAA,CAAG,SAAS,EAAE,UAAU,YAAY,CAAC,OAAO,GAAG,kBAAkB,QAAQ,CAAC,CAAC;AAE1F,MAAM,gBAAgB,WACpB,QAAQ,OAAO,OAAO,KAAK,OAAO,mBAAmB,KAAA,KAAa,cAAc;AAElF,MAAM,UAAU,QAA8B,SAE5C,OAAO,mBAAmB,KAAA,KAAa,OAAO,KAAK,IAAI,MAAM,IAAI;AAEnE,MAAa,uBACX,SACA,SAEA,eAAe,OAAO,CAAC,CAAC,SAAS,EAAE,QAAQ,SAAS;CAClD,MAAM,MAAM;CACZ,IAAI,CAAC,aAAa,GAAG,GAAG,OAAO,CAAC;CAOhC,OAAO,CAAC;EAAE,QAAQ;EAAK,cALrB,mBAAmB,MACf,OAAO,KAAK,IAAI,aAAa,IAC7B,QAAQ,IAAI,uBACV,OAAO,KAAK,IAAI,oBAAoB,IACpC,KAAA;EAC6B,eAAe,IAAI;EAAU,KAAK;CAAG,CAAC;AAC7E,CAAC;AAEH,MAAa,qBACX,SACA,UACqB;CACrB,MAAM,YAAY,oBAAoB,SAAS,KAAK;CAEpD,OADmB,UAAU,MAAM,EAAE,mBAAmB,iBAAiB,KAAA,CACzD,IACZ,YACA,UAAU,KAAK,WAAW;EAAE,GAAG;EAAO,cAAc,MAAM,MAAM;CAAK,EAAE;AAC7E;AAEA,MAAa,iBAAiB,WAC5B,OAAO,YACL,OAAO,KAAK,EAAE,QAAQ,cAAc,UAAU;CAC5C,IAAI,OAAO,gBAAgB,OAAO,CAAC,KAAM,gBAAkC,IAAI;CAC/E,IAAI,CAAC,MAAM,QAAQ,YAAY,GAAG,OAAO,CAAC,KAAK,IAAI;CACnD,MAAM,WAAW,IAAI,IAAI,aAAa,IAAI,MAAM,CAAC;CACjD,OAAO,CACL,KACA,kBAAkB,OAAO,OAAO,CAAC,CAAC,QAAQ,UAAU,SAAS,IAAI,OAAO,KAAK,CAAC,CAAC,CACjF;AACF,CAAC,CACH;AAEF,MAAa,cACX,MACA,QACA,qBAAqB,eAErB,OAAO,QACJ,SAAS,EAAE,QAAQ,EAAE,SAAS,YAAY,mBAAmB;CAC5D,IAAI,CAAC,YAAY,CAAC,cAAc,QAAQ,OAAO;CAE/C,MAAM,0BAAU,IAAI,IAAyB;CAC7C,KAAK,MAAM,SAAS,kBAAkB,OAAO,GAC3C,IAAI,CAAC,QAAQ,IAAI,OAAO,KAAK,CAAC,GAAG,QAAQ,IAAI,OAAO,KAAK,GAAG,KAAK;CAEnE,MAAM,SAAS,aAAa,KAAK,QAAQ,QAAQ,IAAI,OAAO,GAAG,CAAC,KAAM,GAAmB;CAEzF,OAAO,QAAQ,SAAS,WAAW;EACjC,MAAM,WAAY,OAAmC;EACrD,MAAM,OAAO,MAAM,QAAQ,QAAQ,IAC/B;GACE,GAAG;IACF,qBAAqB,WAAW,UAAiB,QAAQ,kBAAkB;EAC9E,IACA;EACJ,OAAO,OAAO,MAAM,UAAU,SAAS,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;CACnE,CAAC;AACH,GACA,CAAC,GAAG,IAAI,CACV;AAEF,MAAa,aAAgB,EAC3B,oBACA,MACA,aAMA,cAAc,WAAW,MAAM,QAAQ,kBAAkB,GAAG;CAAC;CAAM;CAAQ;AAAkB,CAAC"}
@@ -0,0 +1,302 @@
1
+ import { useEventCallback } from "../../hooks/useEventCallback.mjs";
2
+ import { SELECTION_ALL, SELECTION_INVERT, SELECTION_NONE, conductCheck, convertDataToEntities, flattenData, selectRange } from "./selectionUtils.mjs";
3
+ import { useCallback, useEffect, useMemo, useRef, useState } from "react";
4
+ //#region src/Table/pipeline/useSelection.ts
5
+ const EMPTY_KEYS = [];
6
+ const shallowEqual = (a, b) => {
7
+ if (a === b) return true;
8
+ if (!a || !b) return false;
9
+ const keysA = Object.keys(a);
10
+ if (keysA.length !== Object.keys(b).length) return false;
11
+ return keysA.every((key) => Object.is(a[key], b[key]));
12
+ };
13
+ const useStableCheckboxProps = (flattedData, getRowKey, getCheckboxProps) => {
14
+ const previous = useRef(/* @__PURE__ */ new Map());
15
+ return useMemo(() => {
16
+ const next = /* @__PURE__ */ new Map();
17
+ flattedData.forEach((record, index) => {
18
+ next.set(getRowKey(record, index), getCheckboxProps?.(record) || {});
19
+ });
20
+ const prev = previous.current;
21
+ if (prev.size === next.size && [...next].every(([key, props]) => prev.has(key) && shallowEqual(prev.get(key), props))) return prev;
22
+ previous.current = next;
23
+ return next;
24
+ }, [
25
+ flattedData,
26
+ getRowKey,
27
+ getCheckboxProps
28
+ ]);
29
+ };
30
+ const useSelection = (config, rowSelection) => {
31
+ const { checkStrictly = true, defaultSelectedRowKeys, getCheckboxProps, hideSelectAll, onChange: onSelectionChange, onSelect, onSelectAll, onSelectInvert, onSelectMultiple, onSelectNone, preserveSelectedRowKeys, selectedRowKeys, selections, type: selectionType = "checkbox" } = rowSelection || {};
32
+ const { childrenColumnName, data, getRecordByKey, getRowKey, locale, pageData } = config;
33
+ const [innerKeys, setInnerKeys] = useState(defaultSelectedRowKeys || EMPTY_KEYS);
34
+ const mergedKeys = selectedRowKeys ?? innerKeys;
35
+ const prevIndexRef = useRef(null);
36
+ const preserveRecordsRef = useRef(/* @__PURE__ */ new Map());
37
+ const updatePreserveRecordsCache = useCallback((keys) => {
38
+ if (!preserveSelectedRowKeys) return;
39
+ const next = /* @__PURE__ */ new Map();
40
+ keys.forEach((key) => {
41
+ let record = getRecordByKey(key);
42
+ if (record === void 0 && preserveRecordsRef.current.has(key)) record = preserveRecordsRef.current.get(key);
43
+ next.set(key, record);
44
+ });
45
+ preserveRecordsRef.current = next;
46
+ }, [getRecordByKey, preserveSelectedRowKeys]);
47
+ useEffect(() => {
48
+ updatePreserveRecordsCache(mergedKeys);
49
+ }, [mergedKeys, updatePreserveRecordsCache]);
50
+ const flattedData = useMemo(() => flattenData(childrenColumnName, pageData), [childrenColumnName, pageData]);
51
+ const keyEntities = useMemo(() => {
52
+ if (checkStrictly) return null;
53
+ let convertData = data;
54
+ if (preserveSelectedRowKeys) {
55
+ const keySet = new Set(flattedData.map((record) => getRowKey(record)));
56
+ const preserved = [...preserveRecordsRef.current].filter(([key, record]) => !keySet.has(key) && record !== void 0).map(([, record]) => record);
57
+ convertData = [...convertData, ...preserved];
58
+ }
59
+ return convertDataToEntities(convertData, getRowKey, childrenColumnName);
60
+ }, [
61
+ data,
62
+ getRowKey,
63
+ checkStrictly,
64
+ childrenColumnName,
65
+ preserveSelectedRowKeys,
66
+ flattedData
67
+ ]);
68
+ const checkboxPropsMap = useStableCheckboxProps(flattedData, getRowKey, getCheckboxProps);
69
+ const isCheckboxDisabled = useCallback((record) => {
70
+ const key = getRowKey(record);
71
+ const props = checkboxPropsMap.has(key) ? checkboxPropsMap.get(key) : getCheckboxProps?.(record);
72
+ return Boolean(props?.disabled);
73
+ }, [
74
+ checkboxPropsMap,
75
+ getRowKey,
76
+ getCheckboxProps
77
+ ]);
78
+ const [derivedSelectedKeys, derivedHalfSelectedKeys] = useMemo(() => {
79
+ if (checkStrictly || !keyEntities) return [mergedKeys, []];
80
+ const { checkedKeys, halfCheckedKeys } = conductCheck(mergedKeys, true, keyEntities, isCheckboxDisabled);
81
+ return [checkedKeys, halfCheckedKeys];
82
+ }, [
83
+ mergedKeys,
84
+ checkStrictly,
85
+ keyEntities,
86
+ isCheckboxDisabled
87
+ ]);
88
+ const selectedKeySet = useMemo(() => new Set(selectionType === "radio" ? derivedSelectedKeys.slice(0, 1) : derivedSelectedKeys), [derivedSelectedKeys, selectionType]);
89
+ const halfSelectedKeySet = useMemo(() => new Set(selectionType === "radio" ? [] : derivedHalfSelectedKeys), [derivedHalfSelectedKeys, selectionType]);
90
+ const enabled = Boolean(rowSelection);
91
+ const [prevEnabled, setPrevEnabled] = useState(enabled);
92
+ if (prevEnabled !== enabled) {
93
+ setPrevEnabled(enabled);
94
+ if (!enabled) setInnerKeys(EMPTY_KEYS);
95
+ }
96
+ const setSelectedKeys = (keys, method) => {
97
+ let availableKeys;
98
+ let records;
99
+ updatePreserveRecordsCache(keys);
100
+ if (preserveSelectedRowKeys) {
101
+ availableKeys = keys;
102
+ records = keys.map((key) => preserveRecordsRef.current.get(key));
103
+ } else {
104
+ availableKeys = [];
105
+ records = [];
106
+ keys.forEach((key) => {
107
+ const record = getRecordByKey(key);
108
+ if (record !== void 0) {
109
+ availableKeys.push(key);
110
+ records.push(record);
111
+ }
112
+ });
113
+ }
114
+ setInnerKeys(availableKeys);
115
+ onSelectionChange?.(availableKeys, records, { type: method });
116
+ };
117
+ const triggerSingleSelection = (key, selected, keys, event) => {
118
+ if (onSelect) {
119
+ const rows = keys.map((item) => getRecordByKey(item));
120
+ onSelect(getRecordByKey(key), selected, rows, event);
121
+ }
122
+ setSelectedKeys(keys, "single");
123
+ };
124
+ const recordKeys = useMemo(() => {
125
+ const keys = [];
126
+ flattedData.forEach((record, index) => {
127
+ const key = getRowKey(record, index);
128
+ if (!checkboxPropsMap.get(key)?.disabled) keys.push(key);
129
+ });
130
+ return keys;
131
+ }, [
132
+ flattedData,
133
+ getRowKey,
134
+ checkboxPropsMap
135
+ ]);
136
+ const summary = useMemo(() => {
137
+ const checkedCurrentAll = recordKeys.every((key) => selectedKeySet.has(key));
138
+ const checkedCurrentSome = recordKeys.some((key) => selectedKeySet.has(key));
139
+ const disabledItems = [];
140
+ flattedData.forEach((record, index) => {
141
+ const key = getRowKey(record, index);
142
+ if (checkboxPropsMap.get(key)?.disabled) disabledItems.push(selectedKeySet.has(key));
143
+ });
144
+ const allDisabled = disabledItems.length > 0 && disabledItems.length === flattedData.length;
145
+ const allDisabledAndChecked = allDisabled && disabledItems.every(Boolean);
146
+ const allDisabledSomeChecked = allDisabled && disabledItems.some(Boolean);
147
+ return {
148
+ checked: allDisabled ? allDisabledAndChecked : flattedData.length > 0 && checkedCurrentAll,
149
+ disabled: flattedData.length === 0 || allDisabled,
150
+ indeterminate: allDisabled ? !allDisabledAndChecked && allDisabledSomeChecked : !checkedCurrentAll && checkedCurrentSome
151
+ };
152
+ }, [
153
+ recordKeys,
154
+ selectedKeySet,
155
+ flattedData,
156
+ getRowKey,
157
+ checkboxPropsMap
158
+ ]);
159
+ const selectAll = useEventCallback(() => {
160
+ const keySet = new Set(selectedKeySet);
161
+ const checkedCurrentAll = recordKeys.every((key) => keySet.has(key));
162
+ const changeKeys = [];
163
+ if (checkedCurrentAll) recordKeys.forEach((key) => {
164
+ keySet.delete(key);
165
+ changeKeys.push(key);
166
+ });
167
+ else recordKeys.forEach((key) => {
168
+ if (!keySet.has(key)) {
169
+ keySet.add(key);
170
+ changeKeys.push(key);
171
+ }
172
+ });
173
+ const keys = [...keySet];
174
+ onSelectAll?.(!checkedCurrentAll, keys.map((key) => getRecordByKey(key)), changeKeys.map((key) => getRecordByKey(key)));
175
+ setSelectedKeys(keys, "all");
176
+ prevIndexRef.current = null;
177
+ });
178
+ const selectRadio = useEventCallback((key, event) => {
179
+ if (!selectedKeySet.has(key)) triggerSingleSelection(key, true, [key], event);
180
+ });
181
+ const toggleCheckbox = useEventCallback((key, checked, nativeEvent) => {
182
+ const keySet = new Set(selectedKeySet);
183
+ const shiftKey = Boolean(nativeEvent?.shiftKey);
184
+ const currentIndex = recordKeys.indexOf(key);
185
+ const isMultiple = selectedKeySet.size > 0 && recordKeys.some((item) => selectedKeySet.has(item));
186
+ if (shiftKey && checkStrictly && isMultiple) {
187
+ const { changedKeys, nextAnchor } = selectRange(prevIndexRef.current, currentIndex, recordKeys, keySet);
188
+ const keys = [...keySet];
189
+ onSelectMultiple?.(!checked, keys.map((item) => getRecordByKey(item)), changedKeys.map((item) => getRecordByKey(item)));
190
+ setSelectedKeys(keys, "multiple");
191
+ prevIndexRef.current = nextAnchor;
192
+ return;
193
+ }
194
+ if (checkStrictly || !keyEntities) {
195
+ const keys = checked ? derivedSelectedKeys.filter((item) => item !== key) : [...derivedSelectedKeys.filter((item) => item !== key), key];
196
+ triggerSingleSelection(key, !checked, keys, nativeEvent);
197
+ } else {
198
+ const { checkedKeys, halfCheckedKeys } = conductCheck([...derivedSelectedKeys, key], true, keyEntities, isCheckboxDisabled);
199
+ let nextKeys = checkedKeys;
200
+ if (checked) {
201
+ const tempKeySet = new Set(checkedKeys);
202
+ tempKeySet.delete(key);
203
+ nextKeys = conductCheck([...tempKeySet], {
204
+ checked: false,
205
+ halfCheckedKeys
206
+ }, keyEntities, isCheckboxDisabled).checkedKeys;
207
+ }
208
+ triggerSingleSelection(key, !checked, nextKeys, nativeEvent);
209
+ }
210
+ prevIndexRef.current = checked ? null : currentIndex;
211
+ });
212
+ const runPreset = useEventCallback((preset) => {
213
+ if (preset === "SELECT_ALL") {
214
+ const keys = [];
215
+ data.forEach((record, index) => {
216
+ const key = getRowKey(record, index);
217
+ if (!isCheckboxDisabled(record) || selectedKeySet.has(key)) keys.push(key);
218
+ });
219
+ setSelectedKeys(keys, "all");
220
+ } else if (preset === "SELECT_INVERT") {
221
+ const keySet = new Set(selectedKeySet);
222
+ pageData.forEach((record, index) => {
223
+ const key = getRowKey(record, index);
224
+ if (checkboxPropsMap.get(key)?.disabled) return;
225
+ if (keySet.has(key)) keySet.delete(key);
226
+ else keySet.add(key);
227
+ });
228
+ const keys = [...keySet];
229
+ onSelectInvert?.(keys);
230
+ setSelectedKeys(keys, "invert");
231
+ } else if (preset === "SELECT_NONE") {
232
+ onSelectNone?.();
233
+ setSelectedKeys([...selectedKeySet].filter((key) => checkboxPropsMap.get(key)?.disabled), "none");
234
+ }
235
+ prevIndexRef.current = null;
236
+ });
237
+ const runCustom = useEventCallback((item) => {
238
+ item.onSelect?.(recordKeys);
239
+ prevIndexRef.current = null;
240
+ });
241
+ const mergedSelections = useMemo(() => {
242
+ if (!selections || hideSelectAll || selectionType === "radio") return null;
243
+ return (selections === true ? [
244
+ SELECTION_ALL,
245
+ SELECTION_INVERT,
246
+ SELECTION_NONE
247
+ ] : selections).map((selection, index) => {
248
+ if (selection === "SELECT_ALL") return {
249
+ key: "all",
250
+ onSelect: () => runPreset(SELECTION_ALL),
251
+ text: locale.selectionAll
252
+ };
253
+ if (selection === "SELECT_INVERT") return {
254
+ key: "invert",
255
+ onSelect: () => runPreset(SELECTION_INVERT),
256
+ text: locale.selectInvert
257
+ };
258
+ if (selection === "SELECT_NONE") return {
259
+ key: "none",
260
+ onSelect: () => runPreset(SELECTION_NONE),
261
+ text: locale.selectNone
262
+ };
263
+ return {
264
+ key: selection.key ?? index,
265
+ onSelect: () => runCustom(selection),
266
+ text: selection.text
267
+ };
268
+ });
269
+ }, [
270
+ selections,
271
+ hideSelectAll,
272
+ selectionType,
273
+ runPreset,
274
+ runCustom,
275
+ locale.selectionAll,
276
+ locale.selectInvert,
277
+ locale.selectNone
278
+ ]);
279
+ const clear = useEventCallback(() => setSelectedKeys(EMPTY_KEYS, "none"));
280
+ return {
281
+ actions: useMemo(() => ({
282
+ clear,
283
+ selectAll,
284
+ selectRadio,
285
+ toggleCheckbox
286
+ }), [
287
+ clear,
288
+ selectAll,
289
+ selectRadio,
290
+ toggleCheckbox
291
+ ]),
292
+ checkboxPropsMap,
293
+ halfSelectedKeySet,
294
+ mergedSelections,
295
+ selectedKeySet,
296
+ summary
297
+ };
298
+ };
299
+ //#endregion
300
+ export { useSelection };
301
+
302
+ //# sourceMappingURL=useSelection.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSelection.mjs","names":[],"sources":["../../../src/Table/pipeline/useSelection.ts"],"sourcesContent":["import { type Key, useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { useEventCallback } from '@/hooks/useEventCallback';\n\nimport type {\n TableLocale,\n TableRowSelection,\n TableRowSelectionCheckboxProps,\n TableRowSelectMethod,\n TableSelectionItem,\n} from '../type';\nimport {\n conductCheck,\n convertDataToEntities,\n flattenData,\n SELECTION_ALL,\n SELECTION_INVERT,\n SELECTION_NONE,\n type SelectionEntities,\n selectRange,\n} from './selectionUtils';\n\nconst EMPTY_KEYS: Key[] = [];\n\nexport interface SelectionConfig<T> {\n childrenColumnName: string;\n data: readonly T[];\n expandType: 'nest' | 'row' | null;\n getRecordByKey: (key: Key) => T | undefined;\n getRowKey: (record: T, index?: number) => Key;\n locale: TableLocale;\n pageData: readonly T[];\n}\n\nexport interface SelectionSummaryState {\n checked: boolean;\n disabled: boolean;\n indeterminate: boolean;\n}\n\nexport interface MergedSelectionItem {\n key: Key;\n onSelect: () => void;\n text: TableSelectionItem['text'];\n}\n\nexport interface SelectionActions {\n clear: () => void;\n selectAll: () => void;\n selectRadio: (key: Key, event: Event) => void;\n toggleCheckbox: (key: Key, checked: boolean, event: Event | undefined) => void;\n}\n\nconst shallowEqual = (a: object | undefined, b: object | undefined) => {\n if (a === b) return true;\n if (!a || !b) return false;\n const keysA = Object.keys(a);\n if (keysA.length !== Object.keys(b).length) return false;\n return keysA.every((key) => Object.is((a as any)[key], (b as any)[key]));\n};\n\nconst useStableCheckboxProps = <T>(\n flattedData: readonly T[],\n getRowKey: (record: T, index?: number) => Key,\n getCheckboxProps: TableRowSelection<T>['getCheckboxProps'],\n) => {\n const previous = useRef<Map<Key, TableRowSelectionCheckboxProps>>(new Map());\n return useMemo(() => {\n const next = new Map<Key, TableRowSelectionCheckboxProps>();\n flattedData.forEach((record, index) => {\n next.set(getRowKey(record, index), getCheckboxProps?.(record) || {});\n });\n const prev = previous.current;\n const same =\n prev.size === next.size &&\n [...next].every(([key, props]) => prev.has(key) && shallowEqual(prev.get(key), props));\n if (same) return prev;\n previous.current = next;\n return next;\n }, [flattedData, getRowKey, getCheckboxProps]);\n};\n\nexport const useSelection = <T>(\n config: SelectionConfig<T>,\n rowSelection: TableRowSelection<T> | undefined,\n) => {\n const {\n checkStrictly = true,\n defaultSelectedRowKeys,\n getCheckboxProps,\n hideSelectAll,\n onChange: onSelectionChange,\n onSelect,\n onSelectAll,\n onSelectInvert,\n onSelectMultiple,\n onSelectNone,\n preserveSelectedRowKeys,\n selectedRowKeys,\n selections,\n type: selectionType = 'checkbox',\n } = rowSelection || {};\n const { childrenColumnName, data, getRecordByKey, getRowKey, locale, pageData } = config;\n\n const [innerKeys, setInnerKeys] = useState<Key[]>(defaultSelectedRowKeys || EMPTY_KEYS);\n const mergedKeys = selectedRowKeys ?? innerKeys;\n\n const prevIndexRef = useRef<number | null>(null);\n\n const preserveRecordsRef = useRef(new Map<Key, T | undefined>());\n const updatePreserveRecordsCache = useCallback(\n (keys: readonly Key[]) => {\n if (!preserveSelectedRowKeys) return;\n const next = new Map<Key, T | undefined>();\n keys.forEach((key) => {\n let record = getRecordByKey(key);\n if (record === undefined && preserveRecordsRef.current.has(key)) {\n record = preserveRecordsRef.current.get(key);\n }\n next.set(key, record);\n });\n preserveRecordsRef.current = next;\n },\n [getRecordByKey, preserveSelectedRowKeys],\n );\n\n useEffect(() => {\n updatePreserveRecordsCache(mergedKeys);\n }, [mergedKeys, updatePreserveRecordsCache]);\n\n const flattedData = useMemo(\n () => flattenData(childrenColumnName, pageData),\n [childrenColumnName, pageData],\n );\n\n const keyEntities = useMemo((): SelectionEntities<T> | null => {\n if (checkStrictly) return null;\n let convertData = data;\n if (preserveSelectedRowKeys) {\n // Records kept from other pages join the tree, unless they are on this page already.\n const keySet = new Set(flattedData.map((record) => getRowKey(record)));\n const preserved = [...preserveRecordsRef.current]\n .filter(([key, record]) => !keySet.has(key) && record !== undefined)\n .map(([, record]) => record as T);\n convertData = [...convertData, ...preserved];\n }\n return convertDataToEntities(convertData, getRowKey, childrenColumnName);\n }, [data, getRowKey, checkStrictly, childrenColumnName, preserveSelectedRowKeys, flattedData]);\n\n const checkboxPropsMap = useStableCheckboxProps(flattedData, getRowKey, getCheckboxProps);\n\n const isCheckboxDisabled = useCallback(\n (record: T) => {\n const key = getRowKey(record);\n const props = checkboxPropsMap.has(key)\n ? checkboxPropsMap.get(key)\n : getCheckboxProps?.(record);\n return Boolean(props?.disabled);\n },\n [checkboxPropsMap, getRowKey, getCheckboxProps],\n );\n\n const [derivedSelectedKeys, derivedHalfSelectedKeys] = useMemo((): [Key[], Key[]] => {\n if (checkStrictly || !keyEntities) return [mergedKeys, []];\n const { checkedKeys, halfCheckedKeys } = conductCheck(\n mergedKeys,\n true,\n keyEntities,\n isCheckboxDisabled,\n );\n return [checkedKeys, halfCheckedKeys];\n }, [mergedKeys, checkStrictly, keyEntities, isCheckboxDisabled]);\n\n const selectedKeySet = useMemo(\n () =>\n new Set(selectionType === 'radio' ? derivedSelectedKeys.slice(0, 1) : derivedSelectedKeys),\n [derivedSelectedKeys, selectionType],\n );\n const halfSelectedKeySet = useMemo(\n () => new Set(selectionType === 'radio' ? [] : derivedHalfSelectedKeys),\n [derivedHalfSelectedKeys, selectionType],\n );\n\n const enabled = Boolean(rowSelection);\n const [prevEnabled, setPrevEnabled] = useState(enabled);\n if (prevEnabled !== enabled) {\n setPrevEnabled(enabled);\n if (!enabled) setInnerKeys(EMPTY_KEYS);\n }\n\n const setSelectedKeys = (keys: Key[], method: TableRowSelectMethod) => {\n let availableKeys: Key[];\n let records: T[];\n updatePreserveRecordsCache(keys);\n if (preserveSelectedRowKeys) {\n availableKeys = keys;\n records = keys.map((key) => preserveRecordsRef.current.get(key) as T);\n } else {\n availableKeys = [];\n records = [];\n keys.forEach((key) => {\n const record = getRecordByKey(key);\n if (record !== undefined) {\n availableKeys.push(key);\n records.push(record);\n }\n });\n }\n setInnerKeys(availableKeys);\n onSelectionChange?.(availableKeys, records, { type: method });\n };\n\n const triggerSingleSelection = (key: Key, selected: boolean, keys: Key[], event: Event) => {\n if (onSelect) {\n const rows = keys.map((item) => getRecordByKey(item) as T);\n onSelect(getRecordByKey(key) as T, selected, rows, event);\n }\n setSelectedKeys(keys, 'single');\n };\n\n const recordKeys = useMemo(() => {\n const keys: Key[] = [];\n flattedData.forEach((record, index) => {\n const key = getRowKey(record, index);\n if (!checkboxPropsMap.get(key)?.disabled) keys.push(key);\n });\n return keys;\n }, [flattedData, getRowKey, checkboxPropsMap]);\n\n const summary = useMemo((): SelectionSummaryState => {\n const checkedCurrentAll = recordKeys.every((key) => selectedKeySet.has(key));\n const checkedCurrentSome = recordKeys.some((key) => selectedKeySet.has(key));\n const disabledItems: boolean[] = [];\n flattedData.forEach((record, index) => {\n const key = getRowKey(record, index);\n if (checkboxPropsMap.get(key)?.disabled) disabledItems.push(selectedKeySet.has(key));\n });\n const allDisabled = disabledItems.length > 0 && disabledItems.length === flattedData.length;\n const allDisabledAndChecked = allDisabled && disabledItems.every(Boolean);\n const allDisabledSomeChecked = allDisabled && disabledItems.some(Boolean);\n return {\n checked: allDisabled ? allDisabledAndChecked : flattedData.length > 0 && checkedCurrentAll,\n disabled: flattedData.length === 0 || allDisabled,\n indeterminate: allDisabled\n ? !allDisabledAndChecked && allDisabledSomeChecked\n : !checkedCurrentAll && checkedCurrentSome,\n };\n }, [recordKeys, selectedKeySet, flattedData, getRowKey, checkboxPropsMap]);\n\n const selectAll = useEventCallback(() => {\n const keySet = new Set(selectedKeySet);\n const checkedCurrentAll = recordKeys.every((key) => keySet.has(key));\n const changeKeys: Key[] = [];\n if (checkedCurrentAll) {\n recordKeys.forEach((key) => {\n keySet.delete(key);\n changeKeys.push(key);\n });\n } else {\n recordKeys.forEach((key) => {\n if (!keySet.has(key)) {\n keySet.add(key);\n changeKeys.push(key);\n }\n });\n }\n const keys = [...keySet];\n onSelectAll?.(\n !checkedCurrentAll,\n keys.map((key) => getRecordByKey(key) as T),\n changeKeys.map((key) => getRecordByKey(key) as T),\n );\n setSelectedKeys(keys, 'all');\n prevIndexRef.current = null;\n });\n\n const selectRadio = useEventCallback((key: Key, event: Event) => {\n if (!selectedKeySet.has(key)) triggerSingleSelection(key, true, [key], event);\n });\n\n const toggleCheckbox = useEventCallback(\n (key: Key, checked: boolean, nativeEvent: Event | undefined) => {\n const keySet = new Set(selectedKeySet);\n const shiftKey = Boolean((nativeEvent as MouseEvent | undefined)?.shiftKey);\n const currentIndex = recordKeys.indexOf(key);\n const isMultiple =\n selectedKeySet.size > 0 && recordKeys.some((item) => selectedKeySet.has(item));\n\n if (shiftKey && checkStrictly && isMultiple) {\n const { changedKeys, nextAnchor } = selectRange(\n prevIndexRef.current,\n currentIndex,\n recordKeys,\n keySet,\n );\n const keys = [...keySet];\n onSelectMultiple?.(\n !checked,\n keys.map((item) => getRecordByKey(item) as T),\n changedKeys.map((item) => getRecordByKey(item) as T),\n );\n setSelectedKeys(keys, 'multiple');\n prevIndexRef.current = nextAnchor;\n return;\n }\n\n if (checkStrictly || !keyEntities) {\n const keys = checked\n ? derivedSelectedKeys.filter((item) => item !== key)\n : [...derivedSelectedKeys.filter((item) => item !== key), key];\n triggerSingleSelection(key, !checked, keys, nativeEvent as Event);\n } else {\n const { checkedKeys, halfCheckedKeys } = conductCheck(\n [...derivedSelectedKeys, key],\n true,\n keyEntities,\n isCheckboxDisabled,\n );\n let nextKeys = checkedKeys;\n if (checked) {\n const tempKeySet = new Set(checkedKeys);\n tempKeySet.delete(key);\n nextKeys = conductCheck(\n [...tempKeySet],\n { checked: false, halfCheckedKeys },\n keyEntities,\n isCheckboxDisabled,\n ).checkedKeys;\n }\n triggerSingleSelection(key, !checked, nextKeys, nativeEvent as Event);\n }\n prevIndexRef.current = checked ? null : currentIndex;\n },\n );\n\n const runPreset = useEventCallback((preset: string) => {\n if (preset === SELECTION_ALL) {\n const keys: Key[] = [];\n data.forEach((record, index) => {\n const key = getRowKey(record, index);\n if (!isCheckboxDisabled(record) || selectedKeySet.has(key)) keys.push(key);\n });\n setSelectedKeys(keys, 'all');\n } else if (preset === SELECTION_INVERT) {\n const keySet = new Set(selectedKeySet);\n pageData.forEach((record, index) => {\n const key = getRowKey(record, index);\n if (checkboxPropsMap.get(key)?.disabled) return;\n if (keySet.has(key)) keySet.delete(key);\n else keySet.add(key);\n });\n const keys = [...keySet];\n onSelectInvert?.(keys);\n setSelectedKeys(keys, 'invert');\n } else if (preset === SELECTION_NONE) {\n onSelectNone?.();\n setSelectedKeys(\n [...selectedKeySet].filter((key) => checkboxPropsMap.get(key)?.disabled),\n 'none',\n );\n }\n prevIndexRef.current = null;\n });\n\n const runCustom = useEventCallback((item: TableSelectionItem) => {\n item.onSelect?.(recordKeys);\n prevIndexRef.current = null;\n });\n\n const mergedSelections = useMemo((): MergedSelectionItem[] | null => {\n if (!selections || hideSelectAll || selectionType === 'radio') return null;\n const list =\n selections === true ? [SELECTION_ALL, SELECTION_INVERT, SELECTION_NONE] : selections;\n return list.map((selection, index) => {\n if (selection === SELECTION_ALL) {\n return { key: 'all', onSelect: () => runPreset(SELECTION_ALL), text: locale.selectionAll };\n }\n if (selection === SELECTION_INVERT) {\n return {\n key: 'invert',\n onSelect: () => runPreset(SELECTION_INVERT),\n text: locale.selectInvert,\n };\n }\n if (selection === SELECTION_NONE) {\n return { key: 'none', onSelect: () => runPreset(SELECTION_NONE), text: locale.selectNone };\n }\n return {\n key: selection.key ?? index,\n onSelect: () => runCustom(selection),\n text: selection.text,\n };\n });\n }, [\n selections,\n hideSelectAll,\n selectionType,\n runPreset,\n runCustom,\n locale.selectionAll,\n locale.selectInvert,\n locale.selectNone,\n ]);\n\n const clear = useEventCallback(() => setSelectedKeys(EMPTY_KEYS, 'none'));\n\n const actions = useMemo(\n (): SelectionActions => ({ clear, selectAll, selectRadio, toggleCheckbox }),\n [clear, selectAll, selectRadio, toggleCheckbox],\n );\n\n return {\n actions,\n checkboxPropsMap,\n halfSelectedKeySet,\n mergedSelections,\n selectedKeySet,\n summary,\n };\n};\n"],"mappings":"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"}