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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (682) hide show
  1. package/es/Accordion/Accordion.mjs +3 -3
  2. package/es/Accordion/Accordion.mjs.map +1 -1
  3. package/es/Accordion/atoms.mjs +2 -2
  4. package/es/Accordion/atoms.mjs.map +1 -1
  5. package/es/Accordion/style.d.mts +1 -1
  6. package/es/ActionIcon/ActionIcon.mjs +2 -2
  7. package/es/ActionIcon/ActionIcon.mjs.map +1 -1
  8. package/es/Alert/Alert.mjs +5 -5
  9. package/es/Alert/Alert.mjs.map +1 -1
  10. package/es/AutoComplete/AutoComplete.mjs +5 -5
  11. package/es/AutoComplete/AutoComplete.mjs.map +1 -1
  12. package/es/AutoComplete/style.mjs +2 -2
  13. package/es/AutoComplete/style.mjs.map +1 -1
  14. package/es/Avatar/Avatar.mjs +2 -2
  15. package/es/Avatar/Avatar.mjs.map +1 -1
  16. package/es/Avatar/AvatarGroup/index.mjs +2 -2
  17. package/es/Avatar/AvatarGroup/index.mjs.map +1 -1
  18. package/es/Breadcrumb/Breadcrumb.mjs +2 -2
  19. package/es/Breadcrumb/Breadcrumb.mjs.map +1 -1
  20. package/es/Button/Button.mjs +1 -1
  21. package/es/Button/Button.mjs.map +1 -1
  22. package/es/Button/style.d.mts +8 -1
  23. package/es/Button/style.mjs +41 -18
  24. package/es/Button/style.mjs.map +1 -1
  25. package/es/Checkbox/Checkbox.mjs +3 -3
  26. package/es/Checkbox/Checkbox.mjs.map +1 -1
  27. package/es/CodeDiff/DiffPanel.mjs +4 -4
  28. package/es/CodeDiff/DiffPanel.mjs.map +1 -1
  29. package/es/CodeEditor/CodeEditor.mjs +4 -4
  30. package/es/CodeEditor/CodeEditor.mjs.map +1 -1
  31. package/es/ColorPicker/ColorInputs.mjs +136 -0
  32. package/es/ColorPicker/ColorInputs.mjs.map +1 -0
  33. package/es/ColorPicker/ColorPanel.mjs +145 -0
  34. package/es/ColorPicker/ColorPanel.mjs.map +1 -0
  35. package/es/ColorPicker/ColorPicker.mjs +62 -199
  36. package/es/ColorPicker/ColorPicker.mjs.map +1 -1
  37. package/es/ColorPicker/SaturationArea.mjs +2 -1
  38. package/es/ColorPicker/SaturationArea.mjs.map +1 -1
  39. package/es/ColorPicker/Swatch.mjs +24 -0
  40. package/es/ColorPicker/Swatch.mjs.map +1 -0
  41. package/es/ColorPicker/Swatches.mjs +66 -0
  42. package/es/ColorPicker/Swatches.mjs.map +1 -0
  43. package/es/ColorPicker/Trigger.mjs +112 -0
  44. package/es/ColorPicker/Trigger.mjs.map +1 -0
  45. package/es/ColorPicker/color.mjs +25 -1
  46. package/es/ColorPicker/color.mjs.map +1 -1
  47. package/es/ColorPicker/recent.mjs +25 -0
  48. package/es/ColorPicker/recent.mjs.map +1 -0
  49. package/es/ColorPicker/style.mjs +269 -70
  50. package/es/ColorPicker/style.mjs.map +1 -1
  51. package/es/ColorPicker/type.d.mts +15 -0
  52. package/es/ColorSwatches/type.d.mts +2 -2
  53. package/es/ContextMenu/ContextMenuHost.mjs +2 -2
  54. package/es/ContextMenu/ContextMenuHost.mjs.map +1 -1
  55. package/es/ContextMenu/ContextMenuTrigger.mjs +2 -2
  56. package/es/ContextMenu/ContextMenuTrigger.mjs.map +1 -1
  57. package/es/ContextMenu/renderItems.mjs +3 -3
  58. package/es/ContextMenu/renderItems.mjs.map +1 -1
  59. package/es/DatePicker/DatePicker.d.mts +7 -2
  60. package/es/DatePicker/DatePicker.mjs +13 -85
  61. package/es/DatePicker/DatePicker.mjs.map +1 -1
  62. package/es/DatePicker/DateRangePicker.d.mts +3 -2
  63. package/es/DatePicker/DateRangePicker.mjs +3 -125
  64. package/es/DatePicker/DateRangePicker.mjs.map +1 -1
  65. package/es/DatePicker/PurePanel.mjs +65 -0
  66. package/es/DatePicker/PurePanel.mjs.map +1 -0
  67. package/es/DatePicker/RangePicker.mjs +115 -0
  68. package/es/DatePicker/RangePicker.mjs.map +1 -0
  69. package/es/DatePicker/SinglePicker.mjs +132 -0
  70. package/es/DatePicker/SinglePicker.mjs.map +1 -0
  71. package/es/DatePicker/core/PickerInput/Popup/Footer.mjs +57 -0
  72. package/es/DatePicker/core/PickerInput/Popup/Footer.mjs.map +1 -0
  73. package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs +57 -0
  74. package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs.map +1 -0
  75. package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs +29 -0
  76. package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs.map +1 -0
  77. package/es/DatePicker/core/PickerInput/Popup/index.mjs +133 -0
  78. package/es/DatePicker/core/PickerInput/Popup/index.mjs.map +1 -0
  79. package/es/DatePicker/core/PickerInput/RangePicker.d.mts +51 -0
  80. package/es/DatePicker/core/PickerInput/RangePicker.mjs +343 -0
  81. package/es/DatePicker/core/PickerInput/RangePicker.mjs.map +1 -0
  82. package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs +27 -0
  83. package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs.map +1 -0
  84. package/es/DatePicker/core/PickerInput/Selector/Icon.mjs +19 -0
  85. package/es/DatePicker/core/PickerInput/Selector/Icon.mjs.map +1 -0
  86. package/es/DatePicker/core/PickerInput/Selector/Input.mjs +237 -0
  87. package/es/DatePicker/core/PickerInput/Selector/Input.mjs.map +1 -0
  88. package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs +70 -0
  89. package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs.map +1 -0
  90. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.d.mts +8 -0
  91. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs +136 -0
  92. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs.map +1 -0
  93. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs +28 -0
  94. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs.map +1 -0
  95. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs +69 -0
  96. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs.map +1 -0
  97. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs +111 -0
  98. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs.map +1 -0
  99. package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs +18 -0
  100. package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs.map +1 -0
  101. package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs +108 -0
  102. package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs.map +1 -0
  103. package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs +11 -0
  104. package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs.map +1 -0
  105. package/es/DatePicker/core/PickerInput/Selector/util.mjs +20 -0
  106. package/es/DatePicker/core/PickerInput/Selector/util.mjs.map +1 -0
  107. package/es/DatePicker/core/PickerInput/SinglePicker.d.mts +55 -0
  108. package/es/DatePicker/core/PickerInput/SinglePicker.mjs +318 -0
  109. package/es/DatePicker/core/PickerInput/SinglePicker.mjs.map +1 -0
  110. package/es/DatePicker/core/PickerInput/context.mjs +7 -0
  111. package/es/DatePicker/core/PickerInput/context.mjs.map +1 -0
  112. package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs +30 -0
  113. package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs.map +1 -0
  114. package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs +37 -0
  115. package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs.map +1 -0
  116. package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs +18 -0
  117. package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs.map +1 -0
  118. package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs +20 -0
  119. package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs.map +1 -0
  120. package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs +31 -0
  121. package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs.map +1 -0
  122. package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs +98 -0
  123. package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs.map +1 -0
  124. package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs +41 -0
  125. package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs.map +1 -0
  126. package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs +34 -0
  127. package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs.map +1 -0
  128. package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs +35 -0
  129. package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs.map +1 -0
  130. package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs +9 -0
  131. package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs.map +1 -0
  132. package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs +36 -0
  133. package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs.map +1 -0
  134. package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs +27 -0
  135. package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs.map +1 -0
  136. package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs +18 -0
  137. package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs.map +1 -0
  138. package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs +19 -0
  139. package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs.map +1 -0
  140. package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs +20 -0
  141. package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs.map +1 -0
  142. package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs +24 -0
  143. package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs.map +1 -0
  144. package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs +107 -0
  145. package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs.map +1 -0
  146. package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs +144 -0
  147. package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs.map +1 -0
  148. package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs +219 -0
  149. package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs.map +1 -0
  150. package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs +11 -0
  151. package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs.map +1 -0
  152. package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs +131 -0
  153. package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs.map +1 -0
  154. package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs +35 -0
  155. package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs.map +1 -0
  156. package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs +84 -0
  157. package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs.map +1 -0
  158. package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs +73 -0
  159. package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs.map +1 -0
  160. package/es/DatePicker/core/PickerPanel/PanelBody.mjs +95 -0
  161. package/es/DatePicker/core/PickerPanel/PanelBody.mjs.map +1 -0
  162. package/es/DatePicker/core/PickerPanel/PanelHeader.mjs +130 -0
  163. package/es/DatePicker/core/PickerPanel/PanelHeader.mjs.map +1 -0
  164. package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs +64 -0
  165. package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs.map +1 -0
  166. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs +108 -0
  167. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs.map +1 -0
  168. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs +44 -0
  169. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs.map +1 -0
  170. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs +157 -0
  171. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs.map +1 -0
  172. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs +100 -0
  173. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs.map +1 -0
  174. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs +71 -0
  175. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs.map +1 -0
  176. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs +62 -0
  177. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs.map +1 -0
  178. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs +200 -0
  179. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs.map +1 -0
  180. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs +25 -0
  181. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs.map +1 -0
  182. package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs +31 -0
  183. package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs.map +1 -0
  184. package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs +34 -0
  185. package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs.map +1 -0
  186. package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs +92 -0
  187. package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs.map +1 -0
  188. package/es/DatePicker/core/PickerPanel/context.mjs +48 -0
  189. package/es/DatePicker/core/PickerPanel/context.mjs.map +1 -0
  190. package/es/DatePicker/core/PickerPanel/index.d.mts +1 -0
  191. package/es/DatePicker/core/PickerPanel/index.mjs +175 -0
  192. package/es/DatePicker/core/PickerPanel/index.mjs.map +1 -0
  193. package/es/DatePicker/core/PickerPopup.mjs +118 -0
  194. package/es/DatePicker/core/PickerPopup.mjs.map +1 -0
  195. package/es/DatePicker/core/generate/dayjs.mjs +109 -0
  196. package/es/DatePicker/core/generate/dayjs.mjs.map +1 -0
  197. package/es/DatePicker/core/generate/index.d.mts +40 -0
  198. package/es/DatePicker/core/hooks/react.mjs +58 -0
  199. package/es/DatePicker/core/hooks/react.mjs.map +1 -0
  200. package/es/DatePicker/core/hooks/useLocale.mjs +51 -0
  201. package/es/DatePicker/core/hooks/useLocale.mjs.map +1 -0
  202. package/es/DatePicker/core/hooks/useSemantic.mjs +20 -0
  203. package/es/DatePicker/core/hooks/useSemantic.mjs.map +1 -0
  204. package/es/DatePicker/core/hooks/useSyncState.mjs +25 -0
  205. package/es/DatePicker/core/hooks/useSyncState.mjs.map +1 -0
  206. package/es/DatePicker/core/hooks/useTimeConfig.mjs +173 -0
  207. package/es/DatePicker/core/hooks/useTimeConfig.mjs.map +1 -0
  208. package/es/DatePicker/core/hooks/useTimeInfo.mjs +110 -0
  209. package/es/DatePicker/core/hooks/useTimeInfo.mjs.map +1 -0
  210. package/es/DatePicker/core/hooks/useToggleDates.mjs +21 -0
  211. package/es/DatePicker/core/hooks/useToggleDates.mjs.map +1 -0
  212. package/es/DatePicker/core/index.d.mts +5 -0
  213. package/es/DatePicker/core/index.mjs +9 -0
  214. package/es/DatePicker/core/index.mjs.map +1 -0
  215. package/es/DatePicker/core/interface.d.mts +325 -0
  216. package/es/DatePicker/core/locale/common.mjs +11 -0
  217. package/es/DatePicker/core/locale/common.mjs.map +1 -0
  218. package/es/DatePicker/core/locale/en_US.mjs +39 -0
  219. package/es/DatePicker/core/locale/en_US.mjs.map +1 -0
  220. package/es/DatePicker/core/utils/common.mjs +73 -0
  221. package/es/DatePicker/core/utils/common.mjs.map +1 -0
  222. package/es/DatePicker/core/utils/dateUtil.mjs +106 -0
  223. package/es/DatePicker/core/utils/dateUtil.mjs.map +1 -0
  224. package/es/DatePicker/core/utils/miscUtil.mjs +46 -0
  225. package/es/DatePicker/core/utils/miscUtil.mjs.map +1 -0
  226. package/es/DatePicker/core/utils/uiUtil.mjs +9 -0
  227. package/es/DatePicker/core/utils/uiUtil.mjs.map +1 -0
  228. package/es/DatePicker/generateConfig.mjs +12 -0
  229. package/es/DatePicker/generateConfig.mjs.map +1 -0
  230. package/es/DatePicker/generatePicker.d.mts +12 -0
  231. package/es/DatePicker/generatePicker.mjs +22 -0
  232. package/es/DatePicker/generatePicker.mjs.map +1 -0
  233. package/es/DatePicker/index.d.mts +6 -3
  234. package/es/DatePicker/index.mjs +3 -1
  235. package/es/DatePicker/locale.d.mts +15 -0
  236. package/es/DatePicker/locale.mjs +143 -0
  237. package/es/DatePicker/locale.mjs.map +1 -0
  238. package/es/DatePicker/semantic.mjs +29 -0
  239. package/es/DatePicker/semantic.mjs.map +1 -0
  240. package/es/DatePicker/style.mjs +3 -155
  241. package/es/DatePicker/style.mjs.map +1 -1
  242. package/es/DatePicker/type.d.mts +268 -27
  243. package/es/DatePicker/usePanelKeyboard.mjs +230 -0
  244. package/es/DatePicker/usePanelKeyboard.mjs.map +1 -0
  245. package/es/DatePicker/usePickerShared.mjs +106 -0
  246. package/es/DatePicker/usePickerShared.mjs.map +1 -0
  247. package/es/DatePicker/usePresetActive.mjs +48 -0
  248. package/es/DatePicker/usePresetActive.mjs.map +1 -0
  249. package/es/DraggablePanel/atoms.mjs +5 -5
  250. package/es/DraggablePanel/atoms.mjs.map +1 -1
  251. package/es/DraggableSideNav/DraggableSideNav.mjs +3 -3
  252. package/es/DraggableSideNav/DraggableSideNav.mjs.map +1 -1
  253. package/es/Drawer/Drawer.mjs +2 -2
  254. package/es/Drawer/Drawer.mjs.map +1 -1
  255. package/es/Drawer/atoms.mjs +6 -6
  256. package/es/Drawer/atoms.mjs.map +1 -1
  257. package/es/DropdownMenu/atoms.mjs +22 -22
  258. package/es/DropdownMenu/atoms.mjs.map +1 -1
  259. package/es/DropdownMenu/sharedStyle.mjs +2 -2
  260. package/es/DropdownMenu/sharedStyle.mjs.map +1 -1
  261. package/es/EditableText/EditableText.mjs +1 -1
  262. package/es/EditorSlashMenu/atoms.mjs +12 -12
  263. package/es/EditorSlashMenu/atoms.mjs.map +1 -1
  264. package/es/EmojiPicker/EmojiPicker.mjs +7 -7
  265. package/es/EmojiPicker/EmojiPicker.mjs.map +1 -1
  266. package/es/EmojiPicker/loadEmojiData.mjs +6 -0
  267. package/es/EmojiPicker/loadEmojiData.mjs.map +1 -0
  268. package/es/FloatingPanel/FloatingPanel.mjs +2 -2
  269. package/es/FloatingPanel/FloatingPanel.mjs.map +1 -1
  270. package/es/FormKit/List.mjs +2 -2
  271. package/es/FormKit/List.mjs.map +1 -1
  272. package/es/Highlighter/FullFeatured.mjs +2 -2
  273. package/es/Highlighter/FullFeatured.mjs.map +1 -1
  274. package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs +2 -2
  275. package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs.map +1 -1
  276. package/es/Highlighter/SyntaxHighlighter/index.mjs +4 -4
  277. package/es/Highlighter/SyntaxHighlighter/index.mjs.map +1 -1
  278. package/es/Highlighter/style.mjs +2 -2
  279. package/es/Highlighter/style.mjs.map +1 -1
  280. package/es/HtmlPreview/HtmlPreview.mjs +2 -2
  281. package/es/HtmlPreview/HtmlPreview.mjs.map +1 -1
  282. package/es/Icon/Icon.mjs +2 -2
  283. package/es/Icon/Icon.mjs.map +1 -1
  284. package/es/List/ListRow.mjs +3 -3
  285. package/es/List/ListRow.mjs.map +1 -1
  286. package/es/Markdown/Markdown.mjs +2 -2
  287. package/es/Markdown/Markdown.mjs.map +1 -1
  288. package/es/Markdown/Typography.mjs +2 -2
  289. package/es/Markdown/Typography.mjs.map +1 -1
  290. package/es/Mermaid/FullFeatured.mjs +2 -2
  291. package/es/Mermaid/FullFeatured.mjs.map +1 -1
  292. package/es/Mermaid/SyntaxMermaid/index.mjs +4 -4
  293. package/es/Mermaid/SyntaxMermaid/index.mjs.map +1 -1
  294. package/es/Modal/atoms.mjs +6 -6
  295. package/es/Modal/atoms.mjs.map +1 -1
  296. package/es/Pagination/Pagination.mjs +181 -41
  297. package/es/Pagination/Pagination.mjs.map +1 -1
  298. package/es/Pagination/helpers.mjs +3 -3
  299. package/es/Pagination/helpers.mjs.map +1 -1
  300. package/es/Pagination/index.d.mts +2 -2
  301. package/es/Pagination/marker.stylex.mjs +9 -0
  302. package/es/Pagination/marker.stylex.mjs.map +1 -0
  303. package/es/Pagination/style.mjs +74 -4
  304. package/es/Pagination/style.mjs.map +1 -1
  305. package/es/Pagination/type.d.mts +41 -3
  306. package/es/Popover/PopoverInGroup.mjs +2 -2
  307. package/es/Popover/PopoverInGroup.mjs.map +1 -1
  308. package/es/Popover/atoms.mjs +6 -6
  309. package/es/Popover/atoms.mjs.map +1 -1
  310. package/es/ProTable/ProTable.d.mts +11 -0
  311. package/es/ProTable/ProTable.mjs +208 -0
  312. package/es/ProTable/ProTable.mjs.map +1 -0
  313. package/es/ProTable/hooks/useColumnRequest.mjs +55 -0
  314. package/es/ProTable/hooks/useColumnRequest.mjs.map +1 -0
  315. package/es/ProTable/hooks/useColumnsState.mjs +37 -0
  316. package/es/ProTable/hooks/useColumnsState.mjs.map +1 -0
  317. package/es/ProTable/hooks/useDelayedFlag.mjs +18 -0
  318. package/es/ProTable/hooks/useDelayedFlag.mjs.map +1 -0
  319. package/es/ProTable/hooks/useDensity.mjs +15 -0
  320. package/es/ProTable/hooks/useDensity.mjs.map +1 -0
  321. package/es/ProTable/hooks/useFetchData.mjs +97 -0
  322. package/es/ProTable/hooks/useFetchData.mjs.map +1 -0
  323. package/es/ProTable/hooks/useFullscreen.mjs +22 -0
  324. package/es/ProTable/hooks/useFullscreen.mjs.map +1 -0
  325. package/es/ProTable/hooks/usePageInfo.mjs +35 -0
  326. package/es/ProTable/hooks/usePageInfo.mjs.map +1 -0
  327. package/es/ProTable/hooks/useProColumns.mjs +123 -0
  328. package/es/ProTable/hooks/useProColumns.mjs.map +1 -0
  329. package/es/ProTable/hooks/useProLoading.mjs +19 -0
  330. package/es/ProTable/hooks/useProLoading.mjs.map +1 -0
  331. package/es/ProTable/hooks/useProLocale.mjs +22 -0
  332. package/es/ProTable/hooks/useProLocale.mjs.map +1 -0
  333. package/es/ProTable/hooks/useProRequest.mjs +137 -0
  334. package/es/ProTable/hooks/useProRequest.mjs.map +1 -0
  335. package/es/ProTable/hooks/useRowCache.mjs +11 -0
  336. package/es/ProTable/hooks/useRowCache.mjs.map +1 -0
  337. package/es/ProTable/hooks/useSearchForm.mjs +141 -0
  338. package/es/ProTable/hooks/useSearchForm.mjs.map +1 -0
  339. package/es/ProTable/hooks/useTableBindings.mjs +39 -0
  340. package/es/ProTable/hooks/useTableBindings.mjs.map +1 -0
  341. package/es/ProTable/hooks/useTableSelection.mjs +14 -0
  342. package/es/ProTable/hooks/useTableSelection.mjs.map +1 -0
  343. package/es/ProTable/index.d.mts +4 -0
  344. package/es/ProTable/index.d.ts +1 -0
  345. package/es/ProTable/index.js +1 -0
  346. package/es/ProTable/index.mjs +3 -0
  347. package/es/ProTable/locale.d.mts +15 -0
  348. package/es/ProTable/locale.mjs +66 -0
  349. package/es/ProTable/locale.mjs.map +1 -0
  350. package/es/ProTable/parts/ColumnSetting.mjs +155 -0
  351. package/es/ProTable/parts/ColumnSetting.mjs.map +1 -0
  352. package/es/ProTable/parts/FieldControl.mjs +117 -0
  353. package/es/ProTable/parts/FieldControl.mjs.map +1 -0
  354. package/es/ProTable/parts/KeywordInput.mjs +19 -0
  355. package/es/ProTable/parts/KeywordInput.mjs.map +1 -0
  356. package/es/ProTable/parts/LightFilter.mjs +70 -0
  357. package/es/ProTable/parts/LightFilter.mjs.map +1 -0
  358. package/es/ProTable/parts/OptionPopover.mjs +17 -0
  359. package/es/ProTable/parts/OptionPopover.mjs.map +1 -0
  360. package/es/ProTable/parts/SearchForm.mjs +180 -0
  361. package/es/ProTable/parts/SearchForm.mjs.map +1 -0
  362. package/es/ProTable/parts/SearchSection.mjs +33 -0
  363. package/es/ProTable/parts/SearchSection.mjs.map +1 -0
  364. package/es/ProTable/parts/TableAlert.mjs +38 -0
  365. package/es/ProTable/parts/TableAlert.mjs.map +1 -0
  366. package/es/ProTable/parts/Toolbar.mjs +50 -0
  367. package/es/ProTable/parts/Toolbar.mjs.map +1 -0
  368. package/es/ProTable/parts/ToolbarOptions.mjs +103 -0
  369. package/es/ProTable/parts/ToolbarOptions.mjs.map +1 -0
  370. package/es/ProTable/parts/renderValue.mjs +118 -0
  371. package/es/ProTable/parts/renderValue.mjs.map +1 -0
  372. package/es/ProTable/style.mjs +278 -0
  373. package/es/ProTable/style.mjs.map +1 -0
  374. package/es/ProTable/type.d.mts +397 -0
  375. package/es/ProTable/utils.mjs +152 -0
  376. package/es/ProTable/utils.mjs.map +1 -0
  377. package/es/Radio/Radio.mjs +3 -3
  378. package/es/Radio/Radio.mjs.map +1 -1
  379. package/es/ScrollArea/atoms.mjs +4 -4
  380. package/es/ScrollArea/atoms.mjs.map +1 -1
  381. package/es/Segmented/Segmented.mjs +3 -3
  382. package/es/Segmented/Segmented.mjs.map +1 -1
  383. package/es/Segmented/atoms.mjs +2 -2
  384. package/es/Segmented/atoms.mjs.map +1 -1
  385. package/es/Select/Select.mjs +22 -13
  386. package/es/Select/Select.mjs.map +1 -1
  387. package/es/Select/atoms.mjs +4 -4
  388. package/es/Select/atoms.mjs.map +1 -1
  389. package/es/Select/helpers.mjs +8 -1
  390. package/es/Select/helpers.mjs.map +1 -1
  391. package/es/Select/hooks.mjs +8 -4
  392. package/es/Select/hooks.mjs.map +1 -1
  393. package/es/Select/renderOptions.mjs +2 -2
  394. package/es/Select/renderOptions.mjs.map +1 -1
  395. package/es/Select/type.d.mts +7 -0
  396. package/es/Switch/Switch.mjs +2 -2
  397. package/es/Switch/Switch.mjs.map +1 -1
  398. package/es/Switch/atoms.mjs +2 -2
  399. package/es/Switch/atoms.mjs.map +1 -1
  400. package/es/Table/Column.d.mts +8 -0
  401. package/es/Table/Column.mjs +6 -0
  402. package/es/Table/Column.mjs.map +1 -0
  403. package/es/Table/ColumnGroup.d.mts +11 -0
  404. package/es/Table/ColumnGroup.mjs +6 -0
  405. package/es/Table/ColumnGroup.mjs.map +1 -0
  406. package/es/Table/Table.d.mts +16 -2
  407. package/es/Table/Table.mjs +149 -118
  408. package/es/Table/Table.mjs.map +1 -1
  409. package/es/Table/atoms/cells.d.mts +42 -0
  410. package/es/Table/atoms/cells.mjs +72 -0
  411. package/es/Table/atoms/cells.mjs.map +1 -0
  412. package/es/Table/atoms/index.d.mts +3 -0
  413. package/es/Table/atoms/layout.d.mts +44 -0
  414. package/es/Table/atoms/layout.mjs +62 -0
  415. package/es/Table/atoms/layout.mjs.map +1 -0
  416. package/es/Table/constants.mjs +16 -0
  417. package/es/Table/constants.mjs.map +1 -0
  418. package/es/Table/engine/fixed.d.mts +1 -0
  419. package/es/Table/engine/fixed.mjs +53 -0
  420. package/es/Table/engine/fixed.mjs.map +1 -0
  421. package/es/Table/engine/types.d.mts +1 -0
  422. package/es/Table/engine/useTableEngine.mjs +180 -0
  423. package/es/Table/engine/useTableEngine.mjs.map +1 -0
  424. package/es/Table/index.d.mts +7 -2
  425. package/es/Table/index.mjs +4 -1
  426. package/es/Table/internal.d.mts +3 -0
  427. package/es/Table/pipeline/columnUtils.d.mts +5 -0
  428. package/es/Table/pipeline/columnUtils.mjs +58 -0
  429. package/es/Table/pipeline/columnUtils.mjs.map +1 -0
  430. package/es/Table/pipeline/convertChildrenToColumns.mjs +24 -0
  431. package/es/Table/pipeline/convertChildrenToColumns.mjs.map +1 -0
  432. package/es/Table/pipeline/normalizeColumns.mjs +140 -0
  433. package/es/Table/pipeline/normalizeColumns.mjs.map +1 -0
  434. package/es/Table/pipeline/selectionUtils.d.mts +9 -0
  435. package/es/Table/pipeline/selectionUtils.mjs +115 -0
  436. package/es/Table/pipeline/selectionUtils.mjs.map +1 -0
  437. package/es/Table/pipeline/useBreakpoint.mjs +36 -0
  438. package/es/Table/pipeline/useBreakpoint.mjs.map +1 -0
  439. package/es/Table/pipeline/useExpandable.mjs +45 -0
  440. package/es/Table/pipeline/useExpandable.mjs.map +1 -0
  441. package/es/Table/pipeline/useFilter.mjs +52 -0
  442. package/es/Table/pipeline/useFilter.mjs.map +1 -0
  443. package/es/Table/pipeline/useSelection.mjs +302 -0
  444. package/es/Table/pipeline/useSelection.mjs.map +1 -0
  445. package/es/Table/pipeline/useSorter.mjs +146 -0
  446. package/es/Table/pipeline/useSorter.mjs.map +1 -0
  447. package/es/Table/pipeline/useTableLocale.mjs +30 -0
  448. package/es/Table/pipeline/useTableLocale.mjs.map +1 -0
  449. package/es/Table/pipeline/useTableState.mjs +118 -0
  450. package/es/Table/pipeline/useTableState.mjs.map +1 -0
  451. package/es/Table/pipeline/useVirtualLayout.mjs +80 -0
  452. package/es/Table/pipeline/useVirtualLayout.mjs.map +1 -0
  453. package/es/Table/render/Body.mjs +150 -0
  454. package/es/Table/render/Body.mjs.map +1 -0
  455. package/es/Table/render/BodyCell.mjs +87 -0
  456. package/es/Table/render/BodyCell.mjs.map +1 -0
  457. package/es/Table/render/CellShell.mjs +84 -0
  458. package/es/Table/render/CellShell.mjs.map +1 -0
  459. package/es/Table/render/ExpandIcon.mjs +28 -0
  460. package/es/Table/render/ExpandIcon.mjs.map +1 -0
  461. package/es/Table/render/FilterDropdown.mjs +139 -0
  462. package/es/Table/render/FilterDropdown.mjs.map +1 -0
  463. package/es/Table/render/FilterPanel.mjs +152 -0
  464. package/es/Table/render/FilterPanel.mjs.map +1 -0
  465. package/es/Table/render/FixedFrost.mjs +113 -0
  466. package/es/Table/render/FixedFrost.mjs.map +1 -0
  467. package/es/Table/render/FixedHolder.mjs +51 -0
  468. package/es/Table/render/FixedHolder.mjs.map +1 -0
  469. package/es/Table/render/Header.mjs +184 -0
  470. package/es/Table/render/Header.mjs.map +1 -0
  471. package/es/Table/render/LoadingSkeleton.mjs +78 -0
  472. package/es/Table/render/LoadingSkeleton.mjs.map +1 -0
  473. package/es/Table/render/PaginationBar.mjs +71 -0
  474. package/es/Table/render/PaginationBar.mjs.map +1 -0
  475. package/es/Table/render/SelectionCells.mjs +111 -0
  476. package/es/Table/render/SelectionCells.mjs.map +1 -0
  477. package/es/Table/render/StickyScrollBar.mjs +99 -0
  478. package/es/Table/render/StickyScrollBar.mjs.map +1 -0
  479. package/es/Table/render/Summary.d.mts +16 -0
  480. package/es/Table/render/Summary.mjs +58 -0
  481. package/es/Table/render/Summary.mjs.map +1 -0
  482. package/es/Table/render/TableView.mjs +215 -0
  483. package/es/Table/render/TableView.mjs.map +1 -0
  484. package/es/Table/render/VirtualBody.mjs +101 -0
  485. package/es/Table/render/VirtualBody.mjs.map +1 -0
  486. package/es/Table/render/context.mjs +15 -0
  487. package/es/Table/render/context.mjs.map +1 -0
  488. package/es/Table/render/filterUtils.mjs +22 -0
  489. package/es/Table/render/filterUtils.mjs.map +1 -0
  490. package/es/Table/render/tableHelpers.mjs +27 -0
  491. package/es/Table/render/tableHelpers.mjs.map +1 -0
  492. package/es/Table/render/useColGroups.mjs +23 -0
  493. package/es/Table/render/useColGroups.mjs.map +1 -0
  494. package/es/Table/render/useScrollSync.mjs +104 -0
  495. package/es/Table/render/useScrollSync.mjs.map +1 -0
  496. package/es/Table/render/useViewContexts.mjs +134 -0
  497. package/es/Table/render/useViewContexts.mjs.map +1 -0
  498. package/es/Table/semantic.mjs +45 -0
  499. package/es/Table/semantic.mjs.map +1 -0
  500. package/es/Table/store/createTableStore.d.mts +1 -0
  501. package/es/Table/store/createTableStore.mjs +40 -0
  502. package/es/Table/store/createTableStore.mjs.map +1 -0
  503. package/es/Table/store/hooks.mjs +24 -0
  504. package/es/Table/store/hooks.mjs.map +1 -0
  505. package/es/Table/style.mjs +175 -90
  506. package/es/Table/style.mjs.map +1 -1
  507. package/es/Table/type.d.mts +467 -37
  508. package/es/Table/useTableController.mjs +293 -0
  509. package/es/Table/useTableController.mjs.map +1 -0
  510. package/es/Tabs/Tabs.mjs +2 -2
  511. package/es/Tabs/Tabs.mjs.map +1 -1
  512. package/es/Tabs/atoms.mjs +2 -2
  513. package/es/Tabs/atoms.mjs.map +1 -1
  514. package/es/Tabs/style.d.mts +1 -1
  515. package/es/Tag/Tag.mjs +2 -2
  516. package/es/Tag/Tag.mjs.map +1 -1
  517. package/es/Text/Text.mjs +2 -2
  518. package/es/Text/Text.mjs.map +1 -1
  519. package/es/Text/style.d.mts +3 -3
  520. package/es/Text/style.mjs +3 -3
  521. package/es/Text/style.mjs.map +1 -1
  522. package/es/ToggleGroup/ToggleGroup.mjs +3 -3
  523. package/es/ToggleGroup/ToggleGroup.mjs.map +1 -1
  524. package/es/ToggleGroup/atoms.mjs +2 -2
  525. package/es/ToggleGroup/atoms.mjs.map +1 -1
  526. package/es/Tooltip/TooltipGroup.mjs +3 -3
  527. package/es/Tooltip/TooltipGroup.mjs.map +1 -1
  528. package/es/Tooltip/TooltipStandalone.mjs +3 -3
  529. package/es/Tooltip/TooltipStandalone.mjs.map +1 -1
  530. package/es/Tree/Tree.mjs +2 -2
  531. package/es/Tree/Tree.mjs.map +1 -1
  532. package/es/Tree/TreeNode.mjs +2 -2
  533. package/es/Tree/TreeNode.mjs.map +1 -1
  534. package/es/Video/Video.mjs +2 -2
  535. package/es/Video/Video.mjs.map +1 -1
  536. package/es/awesome/Features/FeatureItem.mjs +2 -2
  537. package/es/awesome/Features/FeatureItem.mjs.map +1 -1
  538. package/es/awesome/Hero/Hero.mjs +3 -3
  539. package/es/awesome/Hero/Hero.mjs.map +1 -1
  540. package/es/awesome/InstallBanner/InstallBanner.mjs +2 -2
  541. package/es/awesome/InstallBanner/InstallBanner.mjs.map +1 -1
  542. package/es/awesome/LandingHero/LandingHero.mjs +3 -3
  543. package/es/awesome/LandingHero/LandingHero.mjs.map +1 -1
  544. package/es/awesome/LogoMarquee/LogoMarquee.mjs +2 -2
  545. package/es/awesome/LogoMarquee/LogoMarquee.mjs.map +1 -1
  546. package/es/awesome/TypewriterEffect/TypewriterEffect.mjs +4 -4
  547. package/es/awesome/TypewriterEffect/TypewriterEffect.mjs.map +1 -1
  548. package/es/awesome/landingActions.mjs +2 -2
  549. package/es/awesome/landingActions.mjs.map +1 -1
  550. package/es/chat/ChatItem/ChatItem.mjs +2 -2
  551. package/es/chat/ChatItem/ChatItem.mjs.map +1 -1
  552. package/es/chat/EditableMessage/EditableMessage.mjs +3 -3
  553. package/es/chat/EditableMessage/EditableMessage.mjs.map +1 -1
  554. package/es/chat/EditableMessageList/EditableMessageList.mjs +1 -1
  555. package/es/chat/MessageInput/MessageInput.mjs +3 -3
  556. package/es/chat/MessageInput/MessageInput.mjs.map +1 -1
  557. package/es/dashboard/AuthLayout/AuthLayout.mjs +8 -4
  558. package/es/dashboard/AuthLayout/AuthLayout.mjs.map +1 -1
  559. package/es/dashboard/AuthLayout/style.mjs +14 -3
  560. package/es/dashboard/AuthLayout/style.mjs.map +1 -1
  561. package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs +2 -2
  562. package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs.map +1 -1
  563. package/es/dashboard/AuthTools/AuthThemeSwitch.mjs +2 -2
  564. package/es/dashboard/AuthTools/AuthThemeSwitch.mjs.map +1 -1
  565. package/es/dashboard/ConsoleNav/ConsoleNav.mjs +3 -3
  566. package/es/dashboard/ConsoleNav/ConsoleNav.mjs.map +1 -1
  567. package/es/dashboard/ConsoleNav/style.mjs +2 -2
  568. package/es/dashboard/ConsoleNav/style.mjs.map +1 -1
  569. package/es/dashboard/ConsoleShell/style.mjs +1 -1
  570. package/es/dashboard/ConsoleShell/style.mjs.map +1 -1
  571. package/es/dashboard/FilterSidebar/FilterSidebar.mjs +1 -1
  572. package/es/dashboard/FilterSidebar/style.mjs +2 -2
  573. package/es/dashboard/FilterSidebar/style.mjs.map +1 -1
  574. package/es/dashboard/FilterStrip/style.mjs +1 -1
  575. package/es/dashboard/FilterStrip/style.mjs.map +1 -1
  576. package/es/dashboard/MetricStrip/MetricCell.mjs +25 -14
  577. package/es/dashboard/MetricStrip/MetricCell.mjs.map +1 -1
  578. package/es/dashboard/MetricStrip/style.mjs +14 -1
  579. package/es/dashboard/MetricStrip/style.mjs.map +1 -1
  580. package/es/dashboard/MetricStrip/type.d.mts +2 -0
  581. package/es/dashboard/PageSkeleton/style.mjs +2 -1
  582. package/es/dashboard/PageSkeleton/style.mjs.map +1 -1
  583. package/es/dashboard/StatCard/StatCard.d.mts +1 -1
  584. package/es/dashboard/StatCard/StatCard.mjs +2 -1
  585. package/es/dashboard/StatCard/StatCard.mjs.map +1 -1
  586. package/es/dashboard/StatCard/type.d.mts +2 -0
  587. package/es/dashboard/Surface/Surface.mjs +3 -4
  588. package/es/dashboard/Surface/Surface.mjs.map +1 -1
  589. package/es/dashboard/Surface/link.mjs +1 -1
  590. package/es/dashboard/Surface/link.mjs.map +1 -1
  591. package/es/dashboard/Surface/style.mjs +15 -14
  592. package/es/dashboard/Surface/style.mjs.map +1 -1
  593. package/es/dashboard/index.mjs +2 -2
  594. package/es/eslint/noBaseUiSubpath.mjs +2 -1
  595. package/es/eslint/noBaseUiSubpath.mjs.map +1 -1
  596. package/es/i18n/resources/en/colorPicker.d.mts +5 -0
  597. package/es/i18n/resources/en/colorPicker.mjs +5 -0
  598. package/es/i18n/resources/en/colorPicker.mjs.map +1 -1
  599. package/es/i18n/resources/en/datePicker.d.mts +54 -0
  600. package/es/i18n/resources/en/datePicker.mjs +55 -1
  601. package/es/i18n/resources/en/datePicker.mjs.map +1 -1
  602. package/es/i18n/resources/en/index.d.mts +4 -3
  603. package/es/i18n/resources/en/index.mjs +3 -1
  604. package/es/i18n/resources/en/index.mjs.map +1 -1
  605. package/es/i18n/resources/en/table.d.mts +23 -0
  606. package/es/i18n/resources/en/table.mjs +24 -0
  607. package/es/i18n/resources/en/table.mjs.map +1 -0
  608. package/es/i18n/resources/zhCn/colorPicker.d.mts +5 -0
  609. package/es/i18n/resources/zhCn/colorPicker.mjs +5 -0
  610. package/es/i18n/resources/zhCn/colorPicker.mjs.map +1 -1
  611. package/es/i18n/resources/zhCn/datePicker.d.mts +54 -0
  612. package/es/i18n/resources/zhCn/datePicker.mjs +55 -1
  613. package/es/i18n/resources/zhCn/datePicker.mjs.map +1 -1
  614. package/es/i18n/resources/zhCn/index.d.mts +4 -3
  615. package/es/i18n/resources/zhCn/index.mjs +4 -2
  616. package/es/i18n/resources/zhCn/index.mjs.map +1 -1
  617. package/es/i18n/resources/zhCn/table.d.mts +23 -0
  618. package/es/i18n/resources/zhCn/table.mjs +24 -0
  619. package/es/i18n/resources/zhCn/table.mjs.map +1 -0
  620. package/es/i18n/types.d.mts +3 -2
  621. package/es/index.d.mts +15 -7
  622. package/es/index.mjs +14 -9
  623. package/es/internal/overflow/OverflowList.mjs +71 -0
  624. package/es/internal/overflow/OverflowList.mjs.map +1 -0
  625. package/es/mdx/Callout/index.mjs +2 -2
  626. package/es/mdx/Callout/index.mjs.map +1 -1
  627. package/es/mdx/Cards/Card.mjs +2 -2
  628. package/es/mdx/Cards/Card.mjs.map +1 -1
  629. package/es/mdx/Cards/index.mjs +2 -2
  630. package/es/mdx/Cards/index.mjs.map +1 -1
  631. package/es/mdx/Mdx/index.mjs +2 -2
  632. package/es/mdx/Mdx/index.mjs.map +1 -1
  633. package/es/mdx/Steps/index.mjs +2 -2
  634. package/es/mdx/Steps/index.mjs.map +1 -1
  635. package/es/mdx/mdxComponents/Pre.mjs +5 -5
  636. package/es/mdx/mdxComponents/Pre.mjs.map +1 -1
  637. package/es/storybook/StoryBook/style.mjs +2 -0
  638. package/es/storybook/StoryBook/style.mjs.map +1 -1
  639. package/es/style.css +2966 -957
  640. package/es/styles/createGlobalStyle.mjs +1 -1
  641. package/es/styles/index.d.mts +3 -2
  642. package/es/styles/index.mjs +5 -4
  643. package/es/styles/stylex/props.mjs +2 -2
  644. package/es/styles/stylex/props.mjs.map +1 -1
  645. package/es/styles/theme/createLobeToken.d.mts +3 -2
  646. package/es/styles/theme/createLobeToken.mjs.map +1 -1
  647. package/es/styles/theme/customPrimary.d.mts +7 -0
  648. package/es/styles/theme/customPrimary.mjs +66 -0
  649. package/es/styles/theme/customPrimary.mjs.map +1 -0
  650. package/es/styles/theme/scope.d.mts +4 -3
  651. package/es/styles/theme/scope.mjs +30 -8
  652. package/es/styles/theme/scope.mjs.map +1 -1
  653. package/es/styles/theme/themeCss.d.mts +2 -0
  654. package/es/styles/theme/themeCss.mjs +24 -2
  655. package/es/styles/theme/themeCss.mjs.map +1 -1
  656. package/es/styles/theme/token/primary.mjs +6 -2
  657. package/es/styles/theme/token/primary.mjs.map +1 -1
  658. package/es/theme.css +8 -0
  659. package/package.json +6 -1
  660. package/es/DatePicker/CalendarPanel.mjs +0 -189
  661. package/es/DatePicker/CalendarPanel.mjs.map +0 -1
  662. package/es/DatePicker/PickerShell.mjs +0 -43
  663. package/es/DatePicker/PickerShell.mjs.map +0 -1
  664. package/es/DatePicker/calendar.d.mts +0 -4
  665. package/es/DatePicker/calendar.mjs +0 -46
  666. package/es/DatePicker/calendar.mjs.map +0 -1
  667. package/es/Table/FilterMenu.mjs +0 -45
  668. package/es/Table/FilterMenu.mjs.map +0 -1
  669. package/es/Table/TableBody.mjs +0 -67
  670. package/es/Table/TableBody.mjs.map +0 -1
  671. package/es/Table/TableHead.mjs +0 -58
  672. package/es/Table/TableHead.mjs.map +0 -1
  673. package/es/Table/features.mjs +0 -12
  674. package/es/Table/features.mjs.map +0 -1
  675. package/es/Table/fixedOffsets.mjs +0 -29
  676. package/es/Table/fixedOffsets.mjs.map +0 -1
  677. package/es/Table/marker.stylex.mjs +0 -9
  678. package/es/Table/marker.stylex.mjs.map +0 -1
  679. package/es/Table/toColumnDefs.mjs +0 -26
  680. package/es/Table/toColumnDefs.mjs.map +0 -1
  681. package/es/Table/useTableState.mjs +0 -99
  682. package/es/Table/useTableState.mjs.map +0 -1
@@ -0,0 +1,35 @@
1
+ import { useEventCallback } from "../../hooks/useEventCallback.mjs";
2
+ import { useMemo, useState } from "react";
3
+ //#region src/ProTable/hooks/usePageInfo.ts
4
+ const usePageInfo = (pagination) => {
5
+ const config = useMemo(() => pagination === false ? false : pagination ?? {}, [pagination]);
6
+ const [pageInfo, setPageInfoState] = useState(() => ({
7
+ current: config && (config.current ?? config.defaultCurrent) || 1,
8
+ pageSize: config && (config.pageSize ?? config.defaultPageSize) || 10,
9
+ total: 0
10
+ }));
11
+ const controlledCurrent = config ? config.current : void 0;
12
+ const controlledPageSize = config ? config.pageSize : void 0;
13
+ return {
14
+ config,
15
+ pageInfo: useMemo(() => ({
16
+ ...pageInfo,
17
+ ...controlledCurrent !== void 0 && { current: controlledCurrent },
18
+ ...controlledPageSize !== void 0 && { pageSize: controlledPageSize }
19
+ }), [
20
+ pageInfo,
21
+ controlledCurrent,
22
+ controlledPageSize
23
+ ]),
24
+ setPageInfo: useEventCallback((next) => setPageInfoState((prev) => {
25
+ return Object.entries(next).some(([key, value]) => prev[key] !== value) ? {
26
+ ...prev,
27
+ ...next
28
+ } : prev;
29
+ }))
30
+ };
31
+ };
32
+ //#endregion
33
+ export { usePageInfo };
34
+
35
+ //# sourceMappingURL=usePageInfo.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePageInfo.mjs","names":[],"sources":["../../../src/ProTable/hooks/usePageInfo.ts"],"sourcesContent":["import { useMemo, useState } from 'react';\n\nimport { useEventCallback } from '@/hooks/useEventCallback';\nimport type { TablePaginationConfig } from '@/Table/type';\n\nimport type { ProTablePageInfo } from '../type';\n\nexport const usePageInfo = (pagination: false | TablePaginationConfig | undefined) => {\n const config = useMemo(\n (): TablePaginationConfig | false => (pagination === false ? false : (pagination ?? {})),\n [pagination],\n );\n const [pageInfo, setPageInfoState] = useState<ProTablePageInfo>(() => ({\n current: (config && (config.current ?? config.defaultCurrent)) || 1,\n pageSize: (config && (config.pageSize ?? config.defaultPageSize)) || 10,\n total: 0,\n }));\n const controlledCurrent = config ? config.current : undefined;\n const controlledPageSize = config ? config.pageSize : undefined;\n const merged = useMemo(\n (): ProTablePageInfo => ({\n ...pageInfo,\n ...(controlledCurrent !== undefined && { current: controlledCurrent }),\n ...(controlledPageSize !== undefined && { pageSize: controlledPageSize }),\n }),\n [pageInfo, controlledCurrent, controlledPageSize],\n );\n const setPageInfo = useEventCallback((next: Partial<ProTablePageInfo>) =>\n setPageInfoState((prev) => {\n const changed = Object.entries(next).some(\n ([key, value]) => prev[key as keyof ProTablePageInfo] !== value,\n );\n return changed ? { ...prev, ...next } : prev;\n }),\n );\n return { config, pageInfo: merged, setPageInfo };\n};\n"],"mappings":";;;AAOA,MAAa,eAAe,eAA0D;CACpF,MAAM,SAAS,cACyB,eAAe,QAAQ,QAAS,cAAc,CAAC,GACrF,CAAC,UAAU,CACb;CACA,MAAM,CAAC,UAAU,oBAAoB,gBAAkC;EACrE,SAAU,WAAW,OAAO,WAAW,OAAO,mBAAoB;EAClE,UAAW,WAAW,OAAO,YAAY,OAAO,oBAAqB;EACrE,OAAO;CACT,EAAE;CACF,MAAM,oBAAoB,SAAS,OAAO,UAAU,KAAA;CACpD,MAAM,qBAAqB,SAAS,OAAO,WAAW,KAAA;CAiBtD,OAAO;EAAE;EAAQ,UAhBF,eACY;GACvB,GAAG;GACH,GAAI,sBAAsB,KAAA,KAAa,EAAE,SAAS,kBAAkB;GACpE,GAAI,uBAAuB,KAAA,KAAa,EAAE,UAAU,mBAAmB;EACzE,IACA;GAAC;GAAU;GAAmB;EAAkB,CAUlB;EAAG,aARf,kBAAkB,SACpC,kBAAkB,SAAS;GAIzB,OAHgB,OAAO,QAAQ,IAAI,CAAC,CAAC,MAClC,CAAC,KAAK,WAAW,KAAK,SAAmC,KAE/C,IAAI;IAAE,GAAG;IAAM,GAAG;GAAK,IAAI;EAC1C,CAAC,CAE0C;CAAE;AACjD"}
@@ -0,0 +1,123 @@
1
+ import ActionIcon from "../../ActionIcon/ActionIcon.mjs";
2
+ import { getByPath, getProColumnKey, isEmptyValue, resolveValueEnum, resolveValueType, valueEnumToList } from "../utils.mjs";
3
+ import { styles } from "../style.mjs";
4
+ import { CopyableText, renderValue } from "../parts/renderValue.mjs";
5
+ import { useMemo } from "react";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ import { CircleHelp } from "lucide-react";
8
+ //#region src/ProTable/hooks/useProColumns.tsx
9
+ const orderOf = (state, key, index) => state[key]?.order ?? index;
10
+ const sortedEntries = (columns, state) => columns.map((column, index) => ({
11
+ column,
12
+ index,
13
+ key: getProColumnKey(column, index)
14
+ })).sort((a, b) => orderOf(state, a.key, a.index) - orderOf(state, b.key, b.index));
15
+ const useProColumns = ({ actionRef, columnEmptyText, columns, copyLabel, current, pageSize, state }) => {
16
+ const tableColumns = useMemo(() => {
17
+ const offset = (current - 1) * pageSize;
18
+ const convert = (column, index, top) => {
19
+ const key = getProColumnKey(column, index);
20
+ const columnState = top ? state[key] : void 0;
21
+ if (column.hideInTable || columnState?.show === false) return null;
22
+ const { children, colSize: _colSize, copyable, disable: _disable, fieldProps, filters, formItemProps: _formItemProps, hideInForm: _hideInForm, hideInSearch: _hideInSearch, hideInSetting: _hideInSetting, hideInTable: _hideInTable, initialValue: _initialValue, onFilter, order: _order, render, renderFormItem: _renderFormItem, renderText, search: _search, sorter, title, tooltip: columnTooltip, valueEnum: _valueEnum, valueType: _valueType, ...rest } = column;
23
+ const titleNode = columnTooltip ? /* @__PURE__ */ jsxs("span", {
24
+ className: styles.titleTooltip,
25
+ children: [title, /* @__PURE__ */ jsx(ActionIcon, {
26
+ icon: CircleHelp,
27
+ size: "small",
28
+ title: columnTooltip
29
+ })]
30
+ }) : title;
31
+ if (children?.length) {
32
+ const childColumns = children.map((child, childIndex) => convert(child, childIndex, false)).filter((child) => child !== null);
33
+ return {
34
+ ...rest,
35
+ children: childColumns,
36
+ key,
37
+ title: titleNode
38
+ };
39
+ }
40
+ const valueType = resolveValueType(column);
41
+ const staticEnum = typeof column.valueEnum === "function" ? void 0 : column.valueEnum;
42
+ const fixed = columnState?.fixed ?? rest.fixed;
43
+ return {
44
+ ...rest,
45
+ ...valueType === "option" && rest.align === void 0 && { align: "end" },
46
+ ...(valueType === "index" || valueType === "indexBorder") && rest.width === void 0 && { width: 56 },
47
+ filters: filters === true ? valueEnumToList(staticEnum).map((item) => ({
48
+ text: item.text,
49
+ value: item.value
50
+ })) : filters || void 0,
51
+ fixed: fixed === "left" ? "start" : fixed === "right" ? "end" : fixed,
52
+ key,
53
+ onFilter: onFilter === true ? (value, record) => String(getByPath(record, column.dataIndex)) === String(value) : onFilter || void 0,
54
+ sorter: typeof sorter === "string" ? true : sorter,
55
+ title: titleNode,
56
+ render: (value, record, rowIndex) => {
57
+ const action = actionRef.current;
58
+ const text = renderText ? renderText(value, record, rowIndex, action) : value;
59
+ let dom = renderValue(text, {
60
+ emptyText: columnEmptyText === false ? null : columnEmptyText,
61
+ fieldProps,
62
+ rowIndex: offset + rowIndex,
63
+ valueEnum: resolveValueEnum(column, record),
64
+ valueType: resolveValueType(column, record)
65
+ });
66
+ if (copyable && !isEmptyValue(text)) dom = /* @__PURE__ */ jsx(CopyableText, {
67
+ label: copyLabel,
68
+ text: String(text),
69
+ children: dom
70
+ });
71
+ if (!render) return dom;
72
+ const result = render(dom, record, rowIndex, action, column);
73
+ if (valueType === "option" && Array.isArray(result)) return /* @__PURE__ */ jsx("div", {
74
+ className: styles.optionCell,
75
+ children: result
76
+ });
77
+ return result;
78
+ }
79
+ };
80
+ };
81
+ return sortedEntries(columns, state).map(({ column, index }) => convert(column, index, true)).filter((column) => column !== null);
82
+ }, [
83
+ actionRef,
84
+ columnEmptyText,
85
+ columns,
86
+ copyLabel,
87
+ current,
88
+ pageSize,
89
+ state
90
+ ]);
91
+ return {
92
+ settingColumns: useMemo(() => {
93
+ const list = [];
94
+ sortedEntries(columns, state).forEach(({ column, key }) => {
95
+ if (column.hideInTable || column.hideInSetting) return;
96
+ const disable = state[key]?.disable ?? (typeof column.disable === "object" ? column.disable.checkbox : column.disable);
97
+ list.push({
98
+ disabled: !!disable,
99
+ key,
100
+ title: column.title ?? key
101
+ });
102
+ });
103
+ return list;
104
+ }, [columns, state]),
105
+ sortFieldOf: useMemo(() => {
106
+ const map = /* @__PURE__ */ new Map();
107
+ const walk = (list) => list.forEach((column, index) => {
108
+ if (column.children?.length) walk(column.children);
109
+ const key = getProColumnKey(column, index);
110
+ if (typeof column.sorter === "string") map.set(key, column.sorter);
111
+ else if (Array.isArray(column.dataIndex)) map.set(key, column.dataIndex.join("."));
112
+ else if (column.dataIndex !== void 0) map.set(key, String(column.dataIndex));
113
+ });
114
+ walk(columns);
115
+ return map;
116
+ }, [columns]),
117
+ tableColumns
118
+ };
119
+ };
120
+ //#endregion
121
+ export { useProColumns };
122
+
123
+ //# sourceMappingURL=useProColumns.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProColumns.mjs","names":[],"sources":["../../../src/ProTable/hooks/useProColumns.tsx"],"sourcesContent":["import { CircleHelp } from 'lucide-react';\nimport { type ReactNode, type RefObject, useMemo } from 'react';\n\nimport ActionIcon from '@/ActionIcon';\nimport type { TableColumn } from '@/Table/type';\n\nimport type { SettingColumn } from '../parts/ColumnSetting';\nimport { CopyableText, renderValue } from '../parts/renderValue';\nimport { styles } from '../style';\nimport type { ProColumnType, ProTableActionType, ProTableColumnsStateMap } from '../type';\nimport {\n getByPath,\n getProColumnKey,\n isEmptyValue,\n resolveValueEnum,\n resolveValueType,\n valueEnumToList,\n} from '../utils';\n\ninterface ProColumnsOptions<T> {\n actionRef: RefObject<ProTableActionType | undefined>;\n columnEmptyText: ReactNode | false;\n columns: ProColumnType<T>[];\n copyLabel: string;\n current: number;\n pageSize: number;\n state: ProTableColumnsStateMap;\n}\n\nconst orderOf = (state: ProTableColumnsStateMap, key: string, index: number) =>\n state[key]?.order ?? index;\n\nconst sortedEntries = <T,>(columns: ProColumnType<T>[], state: ProTableColumnsStateMap) =>\n columns\n .map((column, index) => ({ column, index, key: getProColumnKey(column, index) }))\n .sort((a, b) => orderOf(state, a.key, a.index) - orderOf(state, b.key, b.index));\n\nexport const useProColumns = <T,>({\n actionRef,\n columnEmptyText,\n columns,\n copyLabel,\n current,\n pageSize,\n state,\n}: ProColumnsOptions<T>) => {\n const tableColumns = useMemo(() => {\n const offset = (current - 1) * pageSize;\n\n const convert = (\n column: ProColumnType<T>,\n index: number,\n top: boolean,\n ): TableColumn<T> | null => {\n const key = getProColumnKey(column, index);\n const columnState = top ? state[key] : undefined;\n if (column.hideInTable || columnState?.show === false) return null;\n\n const {\n children,\n colSize: _colSize,\n copyable,\n disable: _disable,\n fieldProps,\n filters,\n formItemProps: _formItemProps,\n hideInForm: _hideInForm,\n hideInSearch: _hideInSearch,\n hideInSetting: _hideInSetting,\n hideInTable: _hideInTable,\n initialValue: _initialValue,\n onFilter,\n order: _order,\n render,\n renderFormItem: _renderFormItem,\n renderText,\n search: _search,\n sorter,\n title,\n tooltip: columnTooltip,\n valueEnum: _valueEnum,\n valueType: _valueType,\n ...rest\n } = column;\n\n const titleNode: ReactNode = columnTooltip ? (\n <span className={styles.titleTooltip}>\n {title}\n <ActionIcon icon={CircleHelp} size=\"small\" title={columnTooltip} />\n </span>\n ) : (\n title\n );\n\n if (children?.length) {\n const childColumns = children\n .map((child, childIndex) => convert(child, childIndex, false))\n .filter((child): child is TableColumn<T> => child !== null);\n return { ...(rest as any), children: childColumns, key, title: titleNode };\n }\n\n const valueType = resolveValueType(column);\n const staticEnum = typeof column.valueEnum === 'function' ? undefined : column.valueEnum;\n const fixed = columnState?.fixed ?? rest.fixed;\n return {\n ...(rest as any),\n ...(valueType === 'option' && rest.align === undefined && { align: 'end' }),\n ...((valueType === 'index' || valueType === 'indexBorder') &&\n rest.width === undefined && { width: 56 }),\n filters:\n filters === true\n ? valueEnumToList(staticEnum).map((item) => ({ text: item.text, value: item.value }))\n : filters || undefined,\n fixed: fixed === 'left' ? 'start' : fixed === 'right' ? 'end' : fixed,\n key,\n onFilter:\n onFilter === true\n ? (value: unknown, record: T) =>\n String(getByPath(record, column.dataIndex)) === String(value)\n : onFilter || undefined,\n sorter: typeof sorter === 'string' ? true : sorter,\n title: titleNode,\n render: (value: any, record: T, rowIndex: number) => {\n const action = actionRef.current;\n const text = renderText ? renderText(value, record, rowIndex, action) : value;\n let dom: ReactNode = renderValue(text, {\n emptyText: columnEmptyText === false ? null : columnEmptyText,\n fieldProps,\n rowIndex: offset + rowIndex,\n valueEnum: resolveValueEnum(column, record),\n valueType: resolveValueType(column, record),\n });\n if (copyable && !isEmptyValue(text)) {\n dom = (\n <CopyableText label={copyLabel} text={String(text)}>\n {dom}\n </CopyableText>\n );\n }\n if (!render) return dom;\n const result = render(dom, record, rowIndex, action, column);\n if (valueType === 'option' && Array.isArray(result)) {\n return <div className={styles.optionCell}>{result}</div>;\n }\n return result;\n },\n } as TableColumn<T>;\n };\n\n return sortedEntries(columns, state)\n .map(({ column, index }) => convert(column, index, true))\n .filter((column): column is TableColumn<T> => column !== null);\n }, [actionRef, columnEmptyText, columns, copyLabel, current, pageSize, state]);\n\n const settingColumns = useMemo(() => {\n const list: SettingColumn[] = [];\n sortedEntries(columns, state).forEach(({ column, key }) => {\n if (column.hideInTable || column.hideInSetting) return;\n const disable =\n state[key]?.disable ??\n (typeof column.disable === 'object' ? column.disable.checkbox : column.disable);\n list.push({ disabled: !!disable, key, title: column.title ?? key });\n });\n return list;\n }, [columns, state]);\n\n const sortFieldOf = useMemo(() => {\n const map = new Map<string, string>();\n const walk = (list: ProColumnType<T>[]) =>\n list.forEach((column, index) => {\n if (column.children?.length) walk(column.children);\n const key = getProColumnKey(column, index);\n if (typeof column.sorter === 'string') map.set(key, column.sorter);\n else if (Array.isArray(column.dataIndex)) map.set(key, column.dataIndex.join('.'));\n else if (column.dataIndex !== undefined) map.set(key, String(column.dataIndex));\n });\n walk(columns);\n return map;\n }, [columns]);\n\n return { settingColumns, sortFieldOf, tableColumns };\n};\n"],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { useDelayedFlag } from "./useDelayedFlag.mjs";
2
+ //#region src/ProTable/hooks/useProLoading.ts
3
+ const useProLoading = (loadingProp, fetching, hasRequest) => {
4
+ const config = typeof loadingProp === "object" ? loadingProp : void 0;
5
+ const { delay, ...spin } = config ?? {};
6
+ const raw = config === void 0 ? loadingProp ?? fetching : config.spinning ?? (hasRequest ? fetching : true);
7
+ const loading = useDelayedFlag(raw, delay);
8
+ return {
9
+ loading,
10
+ tableLoading: config ? {
11
+ ...spin,
12
+ spinning: loading
13
+ } : loading
14
+ };
15
+ };
16
+ //#endregion
17
+ export { useProLoading };
18
+
19
+ //# sourceMappingURL=useProLoading.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProLoading.mjs","names":[],"sources":["../../../src/ProTable/hooks/useProLoading.ts"],"sourcesContent":["import type { TableLoadingConfig } from '@/Table/type';\n\nimport type { ProTableProps } from '../type';\nimport { useDelayedFlag } from './useDelayedFlag';\n\nexport const useProLoading = (\n loadingProp: ProTableProps['loading'],\n fetching: boolean,\n hasRequest: boolean,\n) => {\n const config = typeof loadingProp === 'object' ? loadingProp : undefined;\n const { delay, ...spin } = config ?? {};\n const raw =\n config === undefined\n ? ((loadingProp as boolean | undefined) ?? fetching)\n : (config.spinning ?? (hasRequest ? fetching : true));\n const loading = useDelayedFlag(raw, delay);\n const tableLoading: boolean | TableLoadingConfig = config\n ? { ...spin, spinning: loading }\n : loading;\n return { loading, tableLoading };\n};\n"],"mappings":";;AAKA,MAAa,iBACX,aACA,UACA,eACG;CACH,MAAM,SAAS,OAAO,gBAAgB,WAAW,cAAc,KAAA;CAC/D,MAAM,EAAE,OAAO,GAAG,SAAS,UAAU,CAAC;CACtC,MAAM,MACJ,WAAW,KAAA,IACL,eAAuC,WACxC,OAAO,aAAa,aAAa,WAAW;CACnD,MAAM,UAAU,eAAe,KAAK,KAAK;CAIzC,OAAO;EAAE;EAAS,cAHiC,SAC/C;GAAE,GAAG;GAAM,UAAU;EAAQ,IAC7B;CAC2B;AACjC"}
@@ -0,0 +1,22 @@
1
+ import { useI18n } from "../../ConfigProvider/index.mjs";
2
+ import { PRO_TABLE_LOCALE_EN_US, resolveProTableLocale } from "../locale.mjs";
3
+ import { useMemo } from "react";
4
+ //#region src/ProTable/hooks/useProLocale.ts
5
+ const useProLocale = (localeProp) => {
6
+ const i18n = useI18n();
7
+ return {
8
+ locale: useMemo(() => ({
9
+ ...resolveProTableLocale(i18n?.locale),
10
+ ...localeProp
11
+ }), [i18n?.locale, localeProp]),
12
+ tableLocale: useMemo(() => {
13
+ if (!localeProp) return void 0;
14
+ const entries = Object.entries(localeProp).filter(([key]) => !(key in PRO_TABLE_LOCALE_EN_US));
15
+ return entries.length > 0 ? Object.fromEntries(entries) : void 0;
16
+ }, [localeProp])
17
+ };
18
+ };
19
+ //#endregion
20
+ export { useProLocale };
21
+
22
+ //# sourceMappingURL=useProLocale.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProLocale.mjs","names":[],"sources":["../../../src/ProTable/hooks/useProLocale.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { useI18n } from '@/ConfigProvider';\nimport type { TableLocale } from '@/Table/type';\n\nimport { PRO_TABLE_LOCALE_EN_US, resolveProTableLocale } from '../locale';\nimport type { ProTableProps } from '../type';\n\nexport const useProLocale = (localeProp: ProTableProps['locale']) => {\n const i18n = useI18n();\n const locale = useMemo(\n () => ({ ...resolveProTableLocale(i18n?.locale), ...localeProp }),\n [i18n?.locale, localeProp],\n );\n const tableLocale = useMemo(() => {\n if (!localeProp) return undefined;\n const entries = Object.entries(localeProp).filter(([key]) => !(key in PRO_TABLE_LOCALE_EN_US));\n return entries.length > 0 ? (Object.fromEntries(entries) as TableLocale) : undefined;\n }, [localeProp]);\n return { locale, tableLocale };\n};\n"],"mappings":";;;;AAQA,MAAa,gBAAgB,eAAwC;CACnE,MAAM,OAAO,QAAQ;CAUrB,OAAO;EAAE,QATM,eACN;GAAE,GAAG,sBAAsB,MAAM,MAAM;GAAG,GAAG;EAAW,IAC/D,CAAC,MAAM,QAAQ,UAAU,CAOb;EAAG,aALG,cAAc;GAChC,IAAI,CAAC,YAAY,OAAO,KAAA;GACxB,MAAM,UAAU,OAAO,QAAQ,UAAU,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,uBAAuB;GAC7F,OAAO,QAAQ,SAAS,IAAK,OAAO,YAAY,OAAO,IAAoB,KAAA;EAC7E,GAAG,CAAC,UAAU,CACa;CAAE;AAC/B"}
@@ -0,0 +1,137 @@
1
+ import { useEventCallback } from "../../hooks/useEventCallback.mjs";
2
+ import { useFetchData } from "./useFetchData.mjs";
3
+ import { getSearchFields, useSearchForm } from "./useSearchForm.mjs";
4
+ import { useEffect, useImperativeHandle, useMemo, useRef, useState } from "react";
5
+ //#region src/ProTable/hooks/useProRequest.ts
6
+ const stableKey = (value) => {
7
+ try {
8
+ return JSON.stringify(value, (_key, item) => item instanceof Date ? item.toISOString() : item);
9
+ } catch {
10
+ return String(Math.random());
11
+ }
12
+ };
13
+ const useProRequest = ({ pageInfo, paginated, props, setPageInfo, sortFieldOf }) => {
14
+ const { beforeSearchSubmit, columns = [], dateFormatter = "string", debounceTime = 10, defaultData, form: formConfig, formRef, manualRequest = false, onChange, onDataSourceChange, onLoad, onLoadingChange, onRequestError, onReset, onSubmit, options, params, polling, postData, request } = props;
15
+ const [sort, setSort] = useState({});
16
+ const [filter, setFilter] = useState({});
17
+ const searchFields = useMemo(() => getSearchFields(columns), [columns]);
18
+ const [formParams, setFormParams] = useState({});
19
+ const [keyword, setKeyword] = useState(void 0);
20
+ const formReadyRef = useRef(false);
21
+ const applyFormValues = (formatted) => {
22
+ const next = beforeSearchSubmit ? beforeSearchSubmit(formatted) : formatted;
23
+ formReadyRef.current = true;
24
+ setFormParams(next);
25
+ setPageInfo({ current: 1 });
26
+ return next;
27
+ };
28
+ const handleSubmit = useEventCallback((formatted) => {
29
+ const next = applyFormValues(formatted);
30
+ onSubmit?.(next);
31
+ fetcher.reload();
32
+ });
33
+ const { form } = useSearchForm({
34
+ dateFormatter,
35
+ fields: searchFields,
36
+ initialValues: formConfig?.initialValues,
37
+ onSubmit: handleSubmit,
38
+ onValuesChange: formConfig?.onValuesChange,
39
+ validateOn: formConfig?.validateOn
40
+ });
41
+ const initialFormParams = useMemo(() => form.getFieldsFormatValue(), [form]);
42
+ const effectiveFormParams = formReadyRef.current ? formParams : initialFormParams;
43
+ useImperativeHandle(formRef, () => form, [form]);
44
+ const keywordName = options && typeof options.search === "object" ? options.search.name ?? "keyword" : "keyword";
45
+ const fetcher = useFetchData({
46
+ debounceTime,
47
+ defaultData,
48
+ depsKey: stableKey([
49
+ effectiveFormParams,
50
+ params,
51
+ keyword,
52
+ sort,
53
+ filter
54
+ ]),
55
+ filter,
56
+ getParams: () => ({
57
+ ...effectiveFormParams,
58
+ ...params,
59
+ ...keyword !== void 0 && keyword !== "" && { [keywordName]: keyword }
60
+ }),
61
+ manual: manualRequest,
62
+ onDataSourceChange,
63
+ onLoad,
64
+ onLoadingChange,
65
+ onRequestError,
66
+ pageInfo,
67
+ paginated,
68
+ polling,
69
+ postData,
70
+ request,
71
+ setTotal: (total) => setPageInfo({ total }),
72
+ sort
73
+ });
74
+ const paramsKey = stableKey(params);
75
+ const firstParamsRef = useRef(true);
76
+ useEffect(() => {
77
+ if (firstParamsRef.current) {
78
+ firstParamsRef.current = false;
79
+ return;
80
+ }
81
+ setPageInfo({ current: 1 });
82
+ }, [paramsKey, setPageInfo]);
83
+ const reload = useEventCallback(async (resetPageIndex) => {
84
+ if (resetPageIndex) setPageInfo({ current: 1 });
85
+ await fetcher.reload();
86
+ });
87
+ const reset = useEventCallback(() => {
88
+ form.resetFields();
89
+ applyFormValues(form.getFieldsFormatValue());
90
+ fetcher.reload();
91
+ });
92
+ const handleReset = useEventCallback(() => {
93
+ reset();
94
+ onReset?.();
95
+ });
96
+ const searchKeyword = useEventCallback((value) => {
97
+ setKeyword(value);
98
+ setPageInfo({ current: 1 });
99
+ });
100
+ const handleTableChange = useEventCallback((pagination, filters, sorter, extra) => {
101
+ if (extra.action === "sort") {
102
+ const next = {};
103
+ (Array.isArray(sorter) ? sorter : [sorter]).forEach((item) => {
104
+ if (!item.order || item.columnKey === void 0) return;
105
+ const columnKey = String(item.columnKey);
106
+ next[sortFieldOf.get(columnKey) ?? columnKey] = item.order;
107
+ });
108
+ setSort(next);
109
+ }
110
+ if (extra.action === "filter") {
111
+ const next = {};
112
+ Object.entries(filters).forEach(([columnKey, value]) => {
113
+ next[sortFieldOf.get(columnKey) ?? columnKey] = value;
114
+ });
115
+ setFilter(next);
116
+ }
117
+ onChange?.(pagination, filters, sorter, extra);
118
+ });
119
+ return {
120
+ fetcher,
121
+ form,
122
+ getSortFilter: useEventCallback(() => ({
123
+ filter,
124
+ sort
125
+ })),
126
+ handleReset,
127
+ handleTableChange,
128
+ reload,
129
+ reset,
130
+ searchFields,
131
+ searchKeyword
132
+ };
133
+ };
134
+ //#endregion
135
+ export { useProRequest };
136
+
137
+ //# sourceMappingURL=useProRequest.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProRequest.mjs","names":[],"sources":["../../../src/ProTable/hooks/useProRequest.ts"],"sourcesContent":["import { type Ref, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';\n\nimport { useEventCallback } from '@/hooks/useEventCallback';\nimport type {\n SortOrder,\n TableFilters,\n TablePaginationConfig,\n TableSorterResult,\n} from '@/Table/type';\n\nimport type { ProTableFormInstance, ProTablePageInfo, ProTableProps } from '../type';\nimport { useFetchData } from './useFetchData';\nimport { getSearchFields, useSearchForm } from './useSearchForm';\n\ntype Filter = Record<string, (string | number | boolean)[] | null>;\n\nconst stableKey = (value: unknown) => {\n try {\n return JSON.stringify(value, (_key, item) =>\n item instanceof Date ? item.toISOString() : item,\n );\n } catch {\n return String(Math.random());\n }\n};\n\ninterface ProRequestOptions<T> {\n pageInfo: ProTablePageInfo;\n paginated: boolean;\n props: ProTableProps<T, any>;\n setPageInfo: (next: Partial<ProTablePageInfo>) => void;\n sortFieldOf: Map<string, string>;\n}\n\nexport const useProRequest = <T>({\n pageInfo,\n paginated,\n props,\n setPageInfo,\n sortFieldOf,\n}: ProRequestOptions<T>) => {\n const {\n beforeSearchSubmit,\n columns = [],\n dateFormatter = 'string',\n debounceTime = 10,\n defaultData,\n form: formConfig,\n formRef,\n manualRequest = false,\n onChange,\n onDataSourceChange,\n onLoad,\n onLoadingChange,\n onRequestError,\n onReset,\n onSubmit,\n options,\n params,\n polling,\n postData,\n request,\n } = props;\n\n const [sort, setSort] = useState<Record<string, SortOrder>>({});\n const [filter, setFilter] = useState<Filter>({});\n const searchFields = useMemo(() => getSearchFields(columns), [columns]);\n const [formParams, setFormParams] = useState<Record<string, any>>({});\n const [keyword, setKeyword] = useState<string | undefined>(undefined);\n const formReadyRef = useRef(false);\n\n const applyFormValues = (formatted: Record<string, any>) => {\n const next = beforeSearchSubmit ? beforeSearchSubmit(formatted) : formatted;\n formReadyRef.current = true;\n setFormParams(next);\n setPageInfo({ current: 1 });\n return next;\n };\n\n const handleSubmit = useEventCallback((formatted: Record<string, any>) => {\n const next = applyFormValues(formatted);\n onSubmit?.(next);\n void fetcher.reload();\n });\n\n const { form } = useSearchForm({\n dateFormatter,\n fields: searchFields,\n initialValues: formConfig?.initialValues,\n onSubmit: handleSubmit,\n onValuesChange: formConfig?.onValuesChange,\n validateOn: formConfig?.validateOn,\n });\n const initialFormParams = useMemo(() => form.getFieldsFormatValue(), [form]);\n const effectiveFormParams = formReadyRef.current ? formParams : initialFormParams;\n useImperativeHandle(formRef as Ref<ProTableFormInstance>, () => form, [form]);\n\n const keywordName =\n options && typeof options.search === 'object' ? (options.search.name ?? 'keyword') : 'keyword';\n\n const fetcher = useFetchData<T>({\n debounceTime,\n defaultData,\n depsKey: stableKey([effectiveFormParams, params, keyword, sort, filter]),\n filter,\n getParams: () => ({\n ...effectiveFormParams,\n ...params,\n ...(keyword !== undefined && keyword !== '' && { [keywordName]: keyword }),\n }),\n manual: manualRequest,\n onDataSourceChange,\n onLoad,\n onLoadingChange,\n onRequestError,\n pageInfo,\n paginated,\n polling,\n postData,\n request,\n setTotal: (total) => setPageInfo({ total }),\n sort,\n });\n\n const paramsKey = stableKey(params);\n const firstParamsRef = useRef(true);\n useEffect(() => {\n if (firstParamsRef.current) {\n firstParamsRef.current = false;\n return;\n }\n setPageInfo({ current: 1 });\n }, [paramsKey, setPageInfo]);\n\n const reload = useEventCallback(async (resetPageIndex?: boolean) => {\n if (resetPageIndex) setPageInfo({ current: 1 });\n await fetcher.reload();\n });\n\n const reset = useEventCallback(() => {\n form.resetFields();\n applyFormValues(form.getFieldsFormatValue());\n void fetcher.reload();\n });\n\n const handleReset = useEventCallback(() => {\n reset();\n onReset?.();\n });\n\n const searchKeyword = useEventCallback((value: string | undefined) => {\n setKeyword(value);\n setPageInfo({ current: 1 });\n });\n\n const handleTableChange = useEventCallback(\n (\n pagination: TablePaginationConfig,\n filters: TableFilters,\n sorter: TableSorterResult<T> | TableSorterResult<T>[],\n extra: Parameters<NonNullable<ProTableProps<T>['onChange']>>[3],\n ) => {\n if (extra.action === 'sort') {\n const next: Record<string, SortOrder> = {};\n (Array.isArray(sorter) ? sorter : [sorter]).forEach((item) => {\n if (!item.order || item.columnKey === undefined) return;\n const columnKey = String(item.columnKey);\n next[sortFieldOf.get(columnKey) ?? columnKey] = item.order;\n });\n setSort(next);\n }\n if (extra.action === 'filter') {\n const next: Filter = {};\n Object.entries(filters).forEach(([columnKey, value]) => {\n next[sortFieldOf.get(columnKey) ?? columnKey] = value;\n });\n setFilter(next);\n }\n onChange?.(pagination, filters, sorter, extra);\n },\n );\n\n const getSortFilter = useEventCallback(() => ({ filter, sort }));\n\n return {\n fetcher,\n form,\n getSortFilter,\n handleReset,\n handleTableChange,\n reload,\n reset,\n searchFields,\n searchKeyword,\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { useCallback, useRef } from "react";
2
+ //#region src/ProTable/hooks/useRowCache.ts
3
+ const useRowCache = (rows, rowKey) => {
4
+ const cacheRef = useRef(/* @__PURE__ */ new Map());
5
+ rows.forEach((record, index) => cacheRef.current.set(typeof rowKey === "function" ? rowKey(record, index) : record[rowKey], record));
6
+ return useCallback((key) => cacheRef.current.get(key), []);
7
+ };
8
+ //#endregion
9
+ export { useRowCache };
10
+
11
+ //# sourceMappingURL=useRowCache.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useRowCache.mjs","names":[],"sources":["../../../src/ProTable/hooks/useRowCache.ts"],"sourcesContent":["import { type Key, useCallback, useRef } from 'react';\n\nexport const useRowCache = <T extends Record<string, any>>(\n rows: readonly T[],\n rowKey: string | ((record: T, index?: number) => Key),\n) => {\n const cacheRef = useRef(new Map<Key, T>());\n rows.forEach((record, index) =>\n cacheRef.current.set(\n typeof rowKey === 'function' ? rowKey(record, index) : record[rowKey],\n record,\n ),\n );\n return useCallback((key: Key) => cacheRef.current.get(key), []);\n};\n"],"mappings":";;AAEA,MAAa,eACX,MACA,WACG;CACH,MAAM,WAAW,uBAAO,IAAI,IAAY,CAAC;CACzC,KAAK,SAAS,QAAQ,UACpB,SAAS,QAAQ,IACf,OAAO,WAAW,aAAa,OAAO,QAAQ,KAAK,IAAI,OAAO,SAC9D,MACF,CACF;CACA,OAAO,aAAa,QAAa,SAAS,QAAQ,IAAI,GAAG,GAAG,CAAC,CAAC;AAChE"}
@@ -0,0 +1,141 @@
1
+ import { useForm } from "../../FormKit/useForm.mjs";
2
+ import { formatDateValue, getByPath, getFieldName, isDateType, isEmptyValue, isNil, resolveValueType, setByPath } from "../utils.mjs";
3
+ import { useMemo, useRef } from "react";
4
+ //#region src/ProTable/hooks/useSearchForm.ts
5
+ const NON_SEARCH_TYPES = /* @__PURE__ */ new Set([
6
+ "index",
7
+ "indexBorder",
8
+ "option"
9
+ ]);
10
+ const getSearchFields = (columns = []) => {
11
+ const list = [];
12
+ const walk = (items) => {
13
+ items.forEach((column) => {
14
+ if (column.children?.length) {
15
+ walk(column.children);
16
+ return;
17
+ }
18
+ const index = list.length;
19
+ const valueType = resolveValueType(column);
20
+ if (column.hideInSearch || column.search === false) return;
21
+ if (valueType && NON_SEARCH_TYPES.has(valueType)) return;
22
+ if (isNil(column.dataIndex) && isNil(column.key) && !column.renderFormItem) return;
23
+ list.push({
24
+ column,
25
+ index,
26
+ name: getFieldName(column, index)
27
+ });
28
+ });
29
+ };
30
+ walk(columns);
31
+ return list.map((field, position) => ({
32
+ field,
33
+ position
34
+ })).sort((a, b) => (b.field.column.order ?? 0) - (a.field.column.order ?? 0) || a.position - b.position).map(({ field }) => field);
35
+ };
36
+ const ruleLength = (value) => typeof value === "string" || Array.isArray(value) ? value.length : Number(value);
37
+ const rulesToFieldProps = (rules, required) => {
38
+ const list = rules ?? [];
39
+ const requiredRule = list.find((rule) => rule.required);
40
+ const rest = list.filter((rule) => !rule.required || Object.keys(rule).length > 2);
41
+ const result = {};
42
+ if (requiredRule) result.required = requiredRule.message ? String(requiredRule.message) : true;
43
+ else if (required) result.required = true;
44
+ if (rest.length === 0) return result;
45
+ result.validate = async (value, values) => {
46
+ for (const rule of rest) {
47
+ const message = rule.message ? String(rule.message) : void 0;
48
+ if (rule.validator) {
49
+ try {
50
+ await rule.validator(rule, value, values);
51
+ } catch (error) {
52
+ return (error instanceof Error ? error.message : String(error ?? "")) || message || "Invalid value";
53
+ }
54
+ continue;
55
+ }
56
+ if (isEmptyValue(value)) continue;
57
+ if (rule.pattern && !rule.pattern.test(String(value))) return message ?? "Invalid format";
58
+ if (rule.len !== void 0 && ruleLength(value) !== rule.len) return message ?? `Must be ${rule.len}`;
59
+ if (rule.min !== void 0 && ruleLength(value) < rule.min) return message ?? `At least ${rule.min}`;
60
+ if (rule.max !== void 0 && ruleLength(value) > rule.max) return message ?? `At most ${rule.max}`;
61
+ }
62
+ };
63
+ return result;
64
+ };
65
+ const useSearchForm = ({ dateFormatter, fields, initialValues, onSubmit, onValuesChange, validateOn }) => {
66
+ const latest = useRef({
67
+ dateFormatter,
68
+ fields,
69
+ onSubmit
70
+ });
71
+ latest.current = {
72
+ dateFormatter,
73
+ fields,
74
+ onSubmit
75
+ };
76
+ const [initial] = useMemo(() => {
77
+ const values = {};
78
+ fields.forEach(({ column, name }) => {
79
+ if (column.initialValue !== void 0) setByPath(values, name, column.initialValue);
80
+ });
81
+ return [{
82
+ ...values,
83
+ ...initialValues
84
+ }];
85
+ }, []);
86
+ const format = (raw) => {
87
+ const { dateFormatter: formatter, fields: list } = latest.current;
88
+ const result = {};
89
+ const fieldRoots = new Set(list.map((field) => field.name.split(".")[0]));
90
+ Object.entries(raw).forEach(([key, value]) => {
91
+ if (!fieldRoots.has(key) && !isEmptyValue(value)) result[key] = value;
92
+ });
93
+ list.forEach(({ column, name }) => {
94
+ const value = getByPath(raw, name.split("."));
95
+ if (isEmptyValue(value)) return;
96
+ const valueType = resolveValueType(column);
97
+ let next = valueType && isDateType(valueType) ? formatDateValue(value, valueType, formatter) : value;
98
+ const { search } = column;
99
+ if (search && typeof search === "object" && search.transform) {
100
+ const transformed = search.transform(next, name, raw);
101
+ if (transformed && typeof transformed === "object") {
102
+ Object.assign(result, transformed);
103
+ return;
104
+ }
105
+ if (typeof transformed === "string") {
106
+ setByPath(result, transformed, next);
107
+ return;
108
+ }
109
+ next = transformed;
110
+ }
111
+ setByPath(result, name, next);
112
+ });
113
+ return result;
114
+ };
115
+ const base = useForm({
116
+ initialValues: initial,
117
+ onSubmit: (values) => latest.current.onSubmit(format(values)),
118
+ onValuesChange,
119
+ validateOn
120
+ });
121
+ return {
122
+ base,
123
+ form: useMemo(() => Object.assign(base, {
124
+ getFieldsFormatValue: () => format(base.getValues()),
125
+ getFieldsValue: () => base.getValues(),
126
+ getFieldValue: (name) => base.getValue(name),
127
+ resetFields: () => base.reset(structuredClone(initial)),
128
+ setFieldsValue: (values) => base.setValues(values),
129
+ setFieldValue: (name, value) => base.setValue(name, value),
130
+ validateFields: async () => {
131
+ const result = await base.validate();
132
+ if (!result.valid) throw result;
133
+ return base.getValues();
134
+ }
135
+ }), [base])
136
+ };
137
+ };
138
+ //#endregion
139
+ export { getSearchFields, rulesToFieldProps, useSearchForm };
140
+
141
+ //# sourceMappingURL=useSearchForm.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSearchForm.mjs","names":[],"sources":["../../../src/ProTable/hooks/useSearchForm.ts"],"sourcesContent":["import {\n type FieldValidate,\n type FormValues,\n useForm,\n type UseFormOptions,\n} from '@lobehub/ui/form';\nimport { useMemo, useRef } from 'react';\n\nimport type { ProColumnType, ProTableFormInstance, ProTableFormRule } from '../type';\nimport {\n type DateFormatter,\n formatDateValue,\n getByPath,\n getFieldName,\n isDateType,\n isEmptyValue,\n isNil,\n resolveValueType,\n setByPath,\n} from '../utils';\n\ntype ValidateOn = UseFormOptions<FormValues>['validateOn'];\n\nexport interface SearchFieldSchema {\n column: ProColumnType<any>;\n index: number;\n name: string;\n}\n\nconst NON_SEARCH_TYPES = new Set(['index', 'indexBorder', 'option']);\n\nexport const getSearchFields = (columns: ProColumnType<any>[] = []): SearchFieldSchema[] => {\n const list: SearchFieldSchema[] = [];\n const walk = (items: ProColumnType<any>[]) => {\n items.forEach((column) => {\n if (column.children?.length) {\n walk(column.children);\n return;\n }\n const index = list.length;\n const valueType = resolveValueType(column);\n if (column.hideInSearch || column.search === false) return;\n if (valueType && NON_SEARCH_TYPES.has(valueType)) return;\n if (isNil(column.dataIndex) && isNil(column.key) && !column.renderFormItem) return;\n list.push({ column, index, name: getFieldName(column, index) });\n });\n };\n walk(columns);\n // Pro: larger `order` first; stable for equal orders.\n return list\n .map((field, position) => ({ field, position }))\n .sort(\n (a, b) =>\n (b.field.column.order ?? 0) - (a.field.column.order ?? 0) || a.position - b.position,\n )\n .map(({ field }) => field);\n};\n\nconst ruleLength = (value: unknown) =>\n typeof value === 'string' || Array.isArray(value) ? value.length : Number(value);\n\nexport const rulesToFieldProps = (\n rules: ProTableFormRule[] | undefined,\n required?: boolean,\n): { required?: boolean | string; validate?: FieldValidate } => {\n const list = rules ?? [];\n const requiredRule = list.find((rule) => rule.required);\n const rest = list.filter((rule) => !rule.required || Object.keys(rule).length > 2);\n const result: { required?: boolean | string; validate?: FieldValidate } = {};\n if (requiredRule) result.required = requiredRule.message ? String(requiredRule.message) : true;\n else if (required) result.required = true;\n if (rest.length === 0) return result;\n result.validate = async (value, values) => {\n for (const rule of rest) {\n const message = rule.message ? String(rule.message) : undefined;\n if (rule.validator) {\n try {\n await rule.validator(rule, value, values);\n } catch (error) {\n return (\n (error instanceof Error ? error.message : String(error ?? '')) ||\n message ||\n 'Invalid value'\n );\n }\n continue;\n }\n if (isEmptyValue(value)) continue;\n if (rule.pattern && !rule.pattern.test(String(value))) return message ?? 'Invalid format';\n if (rule.len !== undefined && ruleLength(value) !== rule.len)\n return message ?? `Must be ${rule.len}`;\n if (rule.min !== undefined && ruleLength(value) < rule.min)\n return message ?? `At least ${rule.min}`;\n if (rule.max !== undefined && ruleLength(value) > rule.max)\n return message ?? `At most ${rule.max}`;\n }\n return undefined;\n };\n return result;\n};\n\nexport interface UseSearchFormOptions {\n dateFormatter: DateFormatter;\n fields: SearchFieldSchema[];\n initialValues?: Record<string, any>;\n onSubmit: (formatted: Record<string, any>) => void;\n onValuesChange?: (changed: Record<string, any>, all: Record<string, any>) => void;\n validateOn?: ValidateOn;\n}\n\nexport const useSearchForm = ({\n dateFormatter,\n fields,\n initialValues,\n onSubmit,\n onValuesChange,\n validateOn,\n}: UseSearchFormOptions) => {\n const latest = useRef({ dateFormatter, fields, onSubmit });\n latest.current = { dateFormatter, fields, onSubmit };\n\n const [initial] = useMemo(() => {\n const values: Record<string, any> = {};\n fields.forEach(({ column, name }) => {\n if (column.initialValue !== undefined) setByPath(values, name, column.initialValue);\n });\n return [{ ...values, ...initialValues }];\n // Initial values are read once, like antd / Pro.\n }, []);\n\n const format = (raw: Record<string, any>) => {\n const { dateFormatter: formatter, fields: list } = latest.current;\n const result: Record<string, any> = {};\n const fieldRoots = new Set(list.map((field) => field.name.split('.')[0]));\n // Values set through `formRef` without a matching field pass through untouched.\n Object.entries(raw).forEach(([key, value]) => {\n if (!fieldRoots.has(key) && !isEmptyValue(value)) result[key] = value;\n });\n list.forEach(({ column, name }) => {\n const value = getByPath(raw, name.split('.'));\n if (isEmptyValue(value)) return;\n const valueType = resolveValueType(column);\n let next =\n valueType && isDateType(valueType) ? formatDateValue(value, valueType, formatter) : value;\n const { search } = column;\n if (search && typeof search === 'object' && search.transform) {\n const transformed = search.transform(next, name, raw);\n if (transformed && typeof transformed === 'object') {\n Object.assign(result, transformed);\n return;\n }\n if (typeof transformed === 'string') {\n setByPath(result, transformed, next);\n return;\n }\n next = transformed;\n }\n setByPath(result, name, next);\n });\n return result;\n };\n\n const base = useForm<Record<string, any>>({\n initialValues: initial,\n onSubmit: (values) => latest.current.onSubmit(format(values)),\n onValuesChange,\n validateOn,\n });\n\n // Aliases go onto the instance itself: base-ui `Form` looks the instance up by identity.\n const form = useMemo<ProTableFormInstance>(\n () =>\n Object.assign(base, {\n getFieldsFormatValue: () => format(base.getValues()),\n getFieldsValue: () => base.getValues(),\n getFieldValue: (name: string) => base.getValue(name),\n // base-ui `reset()` returns to the last submitted values; Pro resets to the initial ones.\n resetFields: () => base.reset(structuredClone(initial)),\n setFieldsValue: (values: Record<string, any>) => base.setValues(values),\n setFieldValue: (name: string, value: any) => base.setValue(name, value),\n validateFields: async () => {\n const result = await base.validate();\n if (!result.valid) throw result;\n return base.getValues();\n },\n }) as ProTableFormInstance,\n // `format` only reads `latest`.\n [base],\n );\n\n return { base, form };\n};\n"],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { useEventCallback } from "../../hooks/useEventCallback.mjs";
2
+ import { useMemo } from "react";
3
+ //#region src/ProTable/hooks/useTableBindings.ts
4
+ const useTableBindings = ({ hasRequest, pageInfo, paginationConfig, rowSelection, setPageInfo }) => {
5
+ const rowSelectionProp = useMemo(() => {
6
+ if (!rowSelection) return void 0;
7
+ const { alwaysShowAlert: _always, ...rest } = rowSelection;
8
+ return {
9
+ ...rest,
10
+ preserveSelectedRowKeys: rest.preserveSelectedRowKeys ?? hasRequest
11
+ };
12
+ }, [rowSelection, hasRequest]);
13
+ const onPageChange = useEventCallback((page, pageSize) => {
14
+ setPageInfo({
15
+ current: page,
16
+ pageSize
17
+ });
18
+ if (paginationConfig) paginationConfig.onChange?.(page, pageSize);
19
+ });
20
+ return {
21
+ pagination: useMemo(() => paginationConfig === false ? false : {
22
+ ...paginationConfig,
23
+ current: pageInfo.current,
24
+ onChange: onPageChange,
25
+ pageSize: pageInfo.pageSize,
26
+ ...hasRequest && { total: pageInfo.total }
27
+ }, [
28
+ paginationConfig,
29
+ pageInfo,
30
+ onPageChange,
31
+ hasRequest
32
+ ]),
33
+ rowSelection: rowSelectionProp
34
+ };
35
+ };
36
+ //#endregion
37
+ export { useTableBindings };
38
+
39
+ //# sourceMappingURL=useTableBindings.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableBindings.mjs","names":[],"sources":["../../../src/ProTable/hooks/useTableBindings.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport { useEventCallback } from '@/hooks/useEventCallback';\nimport type { TablePaginationConfig } from '@/Table/type';\n\nimport type { ProTablePageInfo, ProTableProps } from '../type';\n\ninterface TableBindingsOptions<T> {\n hasRequest: boolean;\n pageInfo: ProTablePageInfo;\n paginationConfig: TablePaginationConfig | false;\n rowSelection: ProTableProps<T>['rowSelection'];\n setPageInfo: (next: Partial<ProTablePageInfo>) => void;\n}\n\nexport const useTableBindings = <T>({\n hasRequest,\n pageInfo,\n paginationConfig,\n rowSelection,\n setPageInfo,\n}: TableBindingsOptions<T>) => {\n const rowSelectionProp = useMemo(() => {\n if (!rowSelection) return undefined;\n const { alwaysShowAlert: _always, ...rest } = rowSelection;\n return { ...rest, preserveSelectedRowKeys: rest.preserveSelectedRowKeys ?? hasRequest };\n }, [rowSelection, hasRequest]);\n\n const onPageChange = useEventCallback((page: number, pageSize: number) => {\n setPageInfo({ current: page, pageSize });\n if (paginationConfig) paginationConfig.onChange?.(page, pageSize);\n });\n const pagination = useMemo(\n (): TablePaginationConfig | false =>\n paginationConfig === false\n ? false\n : {\n ...paginationConfig,\n current: pageInfo.current,\n onChange: onPageChange,\n pageSize: pageInfo.pageSize,\n ...(hasRequest && { total: pageInfo.total }),\n },\n [paginationConfig, pageInfo, onPageChange, hasRequest],\n );\n\n return { pagination, rowSelection: rowSelectionProp };\n};\n"],"mappings":";;;AAeA,MAAa,oBAAuB,EAClC,YACA,UACA,kBACA,cACA,kBAC6B;CAC7B,MAAM,mBAAmB,cAAc;EACrC,IAAI,CAAC,cAAc,OAAO,KAAA;EAC1B,MAAM,EAAE,iBAAiB,SAAS,GAAG,SAAS;EAC9C,OAAO;GAAE,GAAG;GAAM,yBAAyB,KAAK,2BAA2B;EAAW;CACxF,GAAG,CAAC,cAAc,UAAU,CAAC;CAE7B,MAAM,eAAe,kBAAkB,MAAc,aAAqB;EACxE,YAAY;GAAE,SAAS;GAAM;EAAS,CAAC;EACvC,IAAI,kBAAkB,iBAAiB,WAAW,MAAM,QAAQ;CAClE,CAAC;CAeD,OAAO;EAAE,YAdU,cAEf,qBAAqB,QACjB,QACA;GACE,GAAG;GACH,SAAS,SAAS;GAClB,UAAU;GACV,UAAU,SAAS;GACnB,GAAI,cAAc,EAAE,OAAO,SAAS,MAAM;EAC5C,GACN;GAAC;GAAkB;GAAU;GAAc;EAAU,CAGrC;EAAG,cAAc;CAAiB;AACtD"}
@@ -0,0 +1,14 @@
1
+ import { useCallback, useMemo, useSyncExternalStore } from "react";
2
+ //#region src/ProTable/hooks/useTableSelection.ts
3
+ const EMPTY = /* @__PURE__ */ new Set();
4
+ const noop = () => {};
5
+ const useSelectedRowKeys = (handleRef) => {
6
+ const subscribe = useCallback((notify) => handleRef.current?.store.subscribe(notify) ?? noop, [handleRef]);
7
+ const getSnapshot = () => handleRef.current?.store.getState().selectedKeys ?? EMPTY;
8
+ const keySet = useSyncExternalStore(subscribe, getSnapshot, () => EMPTY);
9
+ return useMemo(() => [...keySet], [keySet]);
10
+ };
11
+ //#endregion
12
+ export { useSelectedRowKeys };
13
+
14
+ //# sourceMappingURL=useTableSelection.mjs.map