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

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 (675) hide show
  1. package/es/Accordion/Accordion.mjs +3 -3
  2. package/es/Accordion/Accordion.mjs.map +1 -1
  3. package/es/Accordion/atoms.mjs +2 -2
  4. package/es/Accordion/atoms.mjs.map +1 -1
  5. package/es/Accordion/style.d.mts +1 -1
  6. package/es/ActionIcon/ActionIcon.mjs +2 -2
  7. package/es/ActionIcon/ActionIcon.mjs.map +1 -1
  8. package/es/Alert/Alert.mjs +5 -5
  9. package/es/Alert/Alert.mjs.map +1 -1
  10. package/es/AutoComplete/AutoComplete.mjs +5 -5
  11. package/es/AutoComplete/AutoComplete.mjs.map +1 -1
  12. package/es/AutoComplete/style.mjs +2 -2
  13. package/es/AutoComplete/style.mjs.map +1 -1
  14. package/es/Avatar/Avatar.mjs +2 -2
  15. package/es/Avatar/Avatar.mjs.map +1 -1
  16. package/es/Avatar/AvatarGroup/index.mjs +2 -2
  17. package/es/Avatar/AvatarGroup/index.mjs.map +1 -1
  18. package/es/Breadcrumb/Breadcrumb.mjs +2 -2
  19. package/es/Breadcrumb/Breadcrumb.mjs.map +1 -1
  20. package/es/Button/Button.mjs +1 -1
  21. package/es/Button/Button.mjs.map +1 -1
  22. package/es/Button/style.d.mts +8 -1
  23. package/es/Button/style.mjs +41 -18
  24. package/es/Button/style.mjs.map +1 -1
  25. package/es/Checkbox/Checkbox.mjs +3 -3
  26. package/es/Checkbox/Checkbox.mjs.map +1 -1
  27. package/es/CodeDiff/DiffPanel.mjs +4 -4
  28. package/es/CodeDiff/DiffPanel.mjs.map +1 -1
  29. package/es/CodeEditor/CodeEditor.mjs +4 -4
  30. package/es/CodeEditor/CodeEditor.mjs.map +1 -1
  31. package/es/ColorPicker/ColorInputs.mjs +136 -0
  32. package/es/ColorPicker/ColorInputs.mjs.map +1 -0
  33. package/es/ColorPicker/ColorPanel.mjs +145 -0
  34. package/es/ColorPicker/ColorPanel.mjs.map +1 -0
  35. package/es/ColorPicker/ColorPicker.mjs +62 -199
  36. package/es/ColorPicker/ColorPicker.mjs.map +1 -1
  37. package/es/ColorPicker/SaturationArea.mjs +2 -1
  38. package/es/ColorPicker/SaturationArea.mjs.map +1 -1
  39. package/es/ColorPicker/Swatch.mjs +24 -0
  40. package/es/ColorPicker/Swatch.mjs.map +1 -0
  41. package/es/ColorPicker/Swatches.mjs +66 -0
  42. package/es/ColorPicker/Swatches.mjs.map +1 -0
  43. package/es/ColorPicker/Trigger.mjs +112 -0
  44. package/es/ColorPicker/Trigger.mjs.map +1 -0
  45. package/es/ColorPicker/color.mjs +25 -1
  46. package/es/ColorPicker/color.mjs.map +1 -1
  47. package/es/ColorPicker/recent.mjs +25 -0
  48. package/es/ColorPicker/recent.mjs.map +1 -0
  49. package/es/ColorPicker/style.mjs +269 -70
  50. package/es/ColorPicker/style.mjs.map +1 -1
  51. package/es/ColorPicker/type.d.mts +15 -0
  52. package/es/ContextMenu/ContextMenuHost.mjs +2 -2
  53. package/es/ContextMenu/ContextMenuHost.mjs.map +1 -1
  54. package/es/ContextMenu/ContextMenuTrigger.mjs +2 -2
  55. package/es/ContextMenu/ContextMenuTrigger.mjs.map +1 -1
  56. package/es/ContextMenu/renderItems.mjs +3 -3
  57. package/es/ContextMenu/renderItems.mjs.map +1 -1
  58. package/es/DatePicker/DatePicker.d.mts +9 -2
  59. package/es/DatePicker/DatePicker.mjs +15 -85
  60. package/es/DatePicker/DatePicker.mjs.map +1 -1
  61. package/es/DatePicker/DateRangePicker.d.mts +3 -2
  62. package/es/DatePicker/DateRangePicker.mjs +3 -125
  63. package/es/DatePicker/DateRangePicker.mjs.map +1 -1
  64. package/es/DatePicker/DayjsDatePicker.d.mts +12 -0
  65. package/es/DatePicker/DayjsDatePicker.mjs +19 -0
  66. package/es/DatePicker/DayjsDatePicker.mjs.map +1 -0
  67. package/es/DatePicker/DayjsDateRangePicker.d.mts +7 -0
  68. package/es/DatePicker/DayjsDateRangePicker.mjs +8 -0
  69. package/es/DatePicker/DayjsDateRangePicker.mjs.map +1 -0
  70. package/es/DatePicker/PurePanel.mjs +65 -0
  71. package/es/DatePicker/PurePanel.mjs.map +1 -0
  72. package/es/DatePicker/RangePicker.mjs +121 -0
  73. package/es/DatePicker/RangePicker.mjs.map +1 -0
  74. package/es/DatePicker/SinglePicker.mjs +134 -0
  75. package/es/DatePicker/SinglePicker.mjs.map +1 -0
  76. package/es/DatePicker/core/PickerInput/Popup/Footer.mjs +57 -0
  77. package/es/DatePicker/core/PickerInput/Popup/Footer.mjs.map +1 -0
  78. package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs +57 -0
  79. package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs.map +1 -0
  80. package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs +29 -0
  81. package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs.map +1 -0
  82. package/es/DatePicker/core/PickerInput/Popup/index.mjs +133 -0
  83. package/es/DatePicker/core/PickerInput/Popup/index.mjs.map +1 -0
  84. package/es/DatePicker/core/PickerInput/RangePicker.d.mts +51 -0
  85. package/es/DatePicker/core/PickerInput/RangePicker.mjs +343 -0
  86. package/es/DatePicker/core/PickerInput/RangePicker.mjs.map +1 -0
  87. package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs +27 -0
  88. package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs.map +1 -0
  89. package/es/DatePicker/core/PickerInput/Selector/Icon.mjs +19 -0
  90. package/es/DatePicker/core/PickerInput/Selector/Icon.mjs.map +1 -0
  91. package/es/DatePicker/core/PickerInput/Selector/Input.mjs +237 -0
  92. package/es/DatePicker/core/PickerInput/Selector/Input.mjs.map +1 -0
  93. package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs +70 -0
  94. package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs.map +1 -0
  95. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.d.mts +8 -0
  96. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs +136 -0
  97. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs.map +1 -0
  98. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs +28 -0
  99. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs.map +1 -0
  100. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs +69 -0
  101. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs.map +1 -0
  102. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs +111 -0
  103. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs.map +1 -0
  104. package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs +18 -0
  105. package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs.map +1 -0
  106. package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs +108 -0
  107. package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs.map +1 -0
  108. package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs +11 -0
  109. package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs.map +1 -0
  110. package/es/DatePicker/core/PickerInput/Selector/util.mjs +20 -0
  111. package/es/DatePicker/core/PickerInput/Selector/util.mjs.map +1 -0
  112. package/es/DatePicker/core/PickerInput/SinglePicker.d.mts +55 -0
  113. package/es/DatePicker/core/PickerInput/SinglePicker.mjs +318 -0
  114. package/es/DatePicker/core/PickerInput/SinglePicker.mjs.map +1 -0
  115. package/es/DatePicker/core/PickerInput/context.mjs +7 -0
  116. package/es/DatePicker/core/PickerInput/context.mjs.map +1 -0
  117. package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs +30 -0
  118. package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs.map +1 -0
  119. package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs +37 -0
  120. package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs.map +1 -0
  121. package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs +18 -0
  122. package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs.map +1 -0
  123. package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs +20 -0
  124. package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs.map +1 -0
  125. package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs +31 -0
  126. package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs.map +1 -0
  127. package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs +98 -0
  128. package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs.map +1 -0
  129. package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs +41 -0
  130. package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs.map +1 -0
  131. package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs +34 -0
  132. package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs.map +1 -0
  133. package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs +35 -0
  134. package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs.map +1 -0
  135. package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs +9 -0
  136. package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs.map +1 -0
  137. package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs +36 -0
  138. package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs.map +1 -0
  139. package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs +27 -0
  140. package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs.map +1 -0
  141. package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs +18 -0
  142. package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs.map +1 -0
  143. package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs +19 -0
  144. package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs.map +1 -0
  145. package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs +20 -0
  146. package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs.map +1 -0
  147. package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs +24 -0
  148. package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs.map +1 -0
  149. package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs +107 -0
  150. package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs.map +1 -0
  151. package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs +144 -0
  152. package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs.map +1 -0
  153. package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs +219 -0
  154. package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs.map +1 -0
  155. package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs +11 -0
  156. package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs.map +1 -0
  157. package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs +131 -0
  158. package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs.map +1 -0
  159. package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs +35 -0
  160. package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs.map +1 -0
  161. package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs +84 -0
  162. package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs.map +1 -0
  163. package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs +73 -0
  164. package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs.map +1 -0
  165. package/es/DatePicker/core/PickerPanel/PanelBody.mjs +95 -0
  166. package/es/DatePicker/core/PickerPanel/PanelBody.mjs.map +1 -0
  167. package/es/DatePicker/core/PickerPanel/PanelHeader.mjs +130 -0
  168. package/es/DatePicker/core/PickerPanel/PanelHeader.mjs.map +1 -0
  169. package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs +64 -0
  170. package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs.map +1 -0
  171. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs +108 -0
  172. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs.map +1 -0
  173. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs +44 -0
  174. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs.map +1 -0
  175. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs +157 -0
  176. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs.map +1 -0
  177. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs +100 -0
  178. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs.map +1 -0
  179. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs +71 -0
  180. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs.map +1 -0
  181. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs +62 -0
  182. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs.map +1 -0
  183. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs +200 -0
  184. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs.map +1 -0
  185. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs +25 -0
  186. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs.map +1 -0
  187. package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs +31 -0
  188. package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs.map +1 -0
  189. package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs +34 -0
  190. package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs.map +1 -0
  191. package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs +92 -0
  192. package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs.map +1 -0
  193. package/es/DatePicker/core/PickerPanel/context.mjs +48 -0
  194. package/es/DatePicker/core/PickerPanel/context.mjs.map +1 -0
  195. package/es/DatePicker/core/PickerPanel/index.d.mts +1 -0
  196. package/es/DatePicker/core/PickerPanel/index.mjs +175 -0
  197. package/es/DatePicker/core/PickerPanel/index.mjs.map +1 -0
  198. package/es/DatePicker/core/PickerPopup.mjs +118 -0
  199. package/es/DatePicker/core/PickerPopup.mjs.map +1 -0
  200. package/es/DatePicker/core/generate/dayjs.mjs +109 -0
  201. package/es/DatePicker/core/generate/dayjs.mjs.map +1 -0
  202. package/es/DatePicker/core/generate/index.d.mts +40 -0
  203. package/es/DatePicker/core/hooks/react.mjs +58 -0
  204. package/es/DatePicker/core/hooks/react.mjs.map +1 -0
  205. package/es/DatePicker/core/hooks/useLocale.mjs +51 -0
  206. package/es/DatePicker/core/hooks/useLocale.mjs.map +1 -0
  207. package/es/DatePicker/core/hooks/useSemantic.mjs +20 -0
  208. package/es/DatePicker/core/hooks/useSemantic.mjs.map +1 -0
  209. package/es/DatePicker/core/hooks/useSyncState.mjs +25 -0
  210. package/es/DatePicker/core/hooks/useSyncState.mjs.map +1 -0
  211. package/es/DatePicker/core/hooks/useTimeConfig.mjs +173 -0
  212. package/es/DatePicker/core/hooks/useTimeConfig.mjs.map +1 -0
  213. package/es/DatePicker/core/hooks/useTimeInfo.mjs +110 -0
  214. package/es/DatePicker/core/hooks/useTimeInfo.mjs.map +1 -0
  215. package/es/DatePicker/core/hooks/useToggleDates.mjs +21 -0
  216. package/es/DatePicker/core/hooks/useToggleDates.mjs.map +1 -0
  217. package/es/DatePicker/core/index.d.mts +5 -0
  218. package/es/DatePicker/core/index.mjs +9 -0
  219. package/es/DatePicker/core/index.mjs.map +1 -0
  220. package/es/DatePicker/core/interface.d.mts +325 -0
  221. package/es/DatePicker/core/locale/common.mjs +11 -0
  222. package/es/DatePicker/core/locale/common.mjs.map +1 -0
  223. package/es/DatePicker/core/locale/en_US.mjs +39 -0
  224. package/es/DatePicker/core/locale/en_US.mjs.map +1 -0
  225. package/es/DatePicker/core/utils/common.mjs +73 -0
  226. package/es/DatePicker/core/utils/common.mjs.map +1 -0
  227. package/es/DatePicker/core/utils/dateUtil.mjs +106 -0
  228. package/es/DatePicker/core/utils/dateUtil.mjs.map +1 -0
  229. package/es/DatePicker/core/utils/miscUtil.mjs +46 -0
  230. package/es/DatePicker/core/utils/miscUtil.mjs.map +1 -0
  231. package/es/DatePicker/core/utils/uiUtil.mjs +9 -0
  232. package/es/DatePicker/core/utils/uiUtil.mjs.map +1 -0
  233. package/es/DatePicker/dateGenerateConfig.mjs +52 -0
  234. package/es/DatePicker/dateGenerateConfig.mjs.map +1 -0
  235. package/es/DatePicker/generateConfig.mjs +12 -0
  236. package/es/DatePicker/generateConfig.mjs.map +1 -0
  237. package/es/DatePicker/generatePicker.d.mts +12 -0
  238. package/es/DatePicker/generatePicker.mjs +22 -0
  239. package/es/DatePicker/generatePicker.mjs.map +1 -0
  240. package/es/DatePicker/index.d.mts +8 -3
  241. package/es/DatePicker/index.mjs +5 -1
  242. package/es/DatePicker/legacyDate.mjs +58 -0
  243. package/es/DatePicker/legacyDate.mjs.map +1 -0
  244. package/es/DatePicker/locale.d.mts +15 -0
  245. package/es/DatePicker/locale.mjs +143 -0
  246. package/es/DatePicker/locale.mjs.map +1 -0
  247. package/es/DatePicker/semantic.mjs +29 -0
  248. package/es/DatePicker/semantic.mjs.map +1 -0
  249. package/es/DatePicker/style.mjs +3 -155
  250. package/es/DatePicker/style.mjs.map +1 -1
  251. package/es/DatePicker/type.d.mts +294 -27
  252. package/es/DatePicker/usePanelKeyboard.mjs +230 -0
  253. package/es/DatePicker/usePanelKeyboard.mjs.map +1 -0
  254. package/es/DatePicker/usePickerShared.mjs +106 -0
  255. package/es/DatePicker/usePickerShared.mjs.map +1 -0
  256. package/es/DatePicker/usePresetActive.mjs +49 -0
  257. package/es/DatePicker/usePresetActive.mjs.map +1 -0
  258. package/es/DraggablePanel/atoms.mjs +5 -5
  259. package/es/DraggablePanel/atoms.mjs.map +1 -1
  260. package/es/DraggableSideNav/DraggableSideNav.mjs +3 -3
  261. package/es/DraggableSideNav/DraggableSideNav.mjs.map +1 -1
  262. package/es/Drawer/Drawer.mjs +2 -2
  263. package/es/Drawer/Drawer.mjs.map +1 -1
  264. package/es/Drawer/atoms.mjs +6 -6
  265. package/es/Drawer/atoms.mjs.map +1 -1
  266. package/es/DropdownMenu/atoms.mjs +22 -22
  267. package/es/DropdownMenu/atoms.mjs.map +1 -1
  268. package/es/DropdownMenu/sharedStyle.mjs +2 -2
  269. package/es/DropdownMenu/sharedStyle.mjs.map +1 -1
  270. package/es/EditorSlashMenu/atoms.mjs +12 -12
  271. package/es/EditorSlashMenu/atoms.mjs.map +1 -1
  272. package/es/EmojiPicker/EmojiPicker.mjs +7 -7
  273. package/es/EmojiPicker/EmojiPicker.mjs.map +1 -1
  274. package/es/EmojiPicker/loadEmojiData.mjs +6 -0
  275. package/es/EmojiPicker/loadEmojiData.mjs.map +1 -0
  276. package/es/FloatingPanel/FloatingPanel.mjs +2 -2
  277. package/es/FloatingPanel/FloatingPanel.mjs.map +1 -1
  278. package/es/FormKit/List.mjs +2 -2
  279. package/es/FormKit/List.mjs.map +1 -1
  280. package/es/Highlighter/FullFeatured.mjs +2 -2
  281. package/es/Highlighter/FullFeatured.mjs.map +1 -1
  282. package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs +2 -2
  283. package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs.map +1 -1
  284. package/es/Highlighter/SyntaxHighlighter/index.mjs +4 -4
  285. package/es/Highlighter/SyntaxHighlighter/index.mjs.map +1 -1
  286. package/es/Highlighter/style.mjs +2 -2
  287. package/es/Highlighter/style.mjs.map +1 -1
  288. package/es/HtmlPreview/HtmlPreview.mjs +2 -2
  289. package/es/HtmlPreview/HtmlPreview.mjs.map +1 -1
  290. package/es/Icon/Icon.mjs +2 -2
  291. package/es/Icon/Icon.mjs.map +1 -1
  292. package/es/List/ListRow.mjs +3 -3
  293. package/es/List/ListRow.mjs.map +1 -1
  294. package/es/Markdown/Markdown.mjs +2 -2
  295. package/es/Markdown/Markdown.mjs.map +1 -1
  296. package/es/Markdown/Typography.mjs +2 -2
  297. package/es/Markdown/Typography.mjs.map +1 -1
  298. package/es/Mermaid/FullFeatured.mjs +2 -2
  299. package/es/Mermaid/FullFeatured.mjs.map +1 -1
  300. package/es/Mermaid/SyntaxMermaid/index.mjs +4 -4
  301. package/es/Mermaid/SyntaxMermaid/index.mjs.map +1 -1
  302. package/es/Modal/atoms.mjs +6 -6
  303. package/es/Modal/atoms.mjs.map +1 -1
  304. package/es/Pagination/Pagination.mjs +181 -41
  305. package/es/Pagination/Pagination.mjs.map +1 -1
  306. package/es/Pagination/helpers.mjs +3 -3
  307. package/es/Pagination/helpers.mjs.map +1 -1
  308. package/es/Pagination/index.d.mts +2 -2
  309. package/es/Pagination/marker.stylex.mjs +9 -0
  310. package/es/Pagination/marker.stylex.mjs.map +1 -0
  311. package/es/Pagination/style.mjs +74 -4
  312. package/es/Pagination/style.mjs.map +1 -1
  313. package/es/Pagination/type.d.mts +41 -3
  314. package/es/Popover/PopoverInGroup.mjs +2 -2
  315. package/es/Popover/PopoverInGroup.mjs.map +1 -1
  316. package/es/Popover/atoms.mjs +6 -6
  317. package/es/Popover/atoms.mjs.map +1 -1
  318. package/es/ProTable/ProTable.d.mts +11 -0
  319. package/es/ProTable/ProTable.mjs +208 -0
  320. package/es/ProTable/ProTable.mjs.map +1 -0
  321. package/es/ProTable/hooks/useColumnRequest.mjs +55 -0
  322. package/es/ProTable/hooks/useColumnRequest.mjs.map +1 -0
  323. package/es/ProTable/hooks/useColumnsState.mjs +37 -0
  324. package/es/ProTable/hooks/useColumnsState.mjs.map +1 -0
  325. package/es/ProTable/hooks/useDelayedFlag.mjs +18 -0
  326. package/es/ProTable/hooks/useDelayedFlag.mjs.map +1 -0
  327. package/es/ProTable/hooks/useDensity.mjs +15 -0
  328. package/es/ProTable/hooks/useDensity.mjs.map +1 -0
  329. package/es/ProTable/hooks/useFetchData.mjs +97 -0
  330. package/es/ProTable/hooks/useFetchData.mjs.map +1 -0
  331. package/es/ProTable/hooks/useFullscreen.mjs +22 -0
  332. package/es/ProTable/hooks/useFullscreen.mjs.map +1 -0
  333. package/es/ProTable/hooks/usePageInfo.mjs +35 -0
  334. package/es/ProTable/hooks/usePageInfo.mjs.map +1 -0
  335. package/es/ProTable/hooks/useProColumns.mjs +123 -0
  336. package/es/ProTable/hooks/useProColumns.mjs.map +1 -0
  337. package/es/ProTable/hooks/useProLoading.mjs +19 -0
  338. package/es/ProTable/hooks/useProLoading.mjs.map +1 -0
  339. package/es/ProTable/hooks/useProLocale.mjs +22 -0
  340. package/es/ProTable/hooks/useProLocale.mjs.map +1 -0
  341. package/es/ProTable/hooks/useProRequest.mjs +137 -0
  342. package/es/ProTable/hooks/useProRequest.mjs.map +1 -0
  343. package/es/ProTable/hooks/useRowCache.mjs +11 -0
  344. package/es/ProTable/hooks/useRowCache.mjs.map +1 -0
  345. package/es/ProTable/hooks/useSearchForm.mjs +141 -0
  346. package/es/ProTable/hooks/useSearchForm.mjs.map +1 -0
  347. package/es/ProTable/hooks/useTableBindings.mjs +39 -0
  348. package/es/ProTable/hooks/useTableBindings.mjs.map +1 -0
  349. package/es/ProTable/hooks/useTableSelection.mjs +14 -0
  350. package/es/ProTable/hooks/useTableSelection.mjs.map +1 -0
  351. package/es/ProTable/index.d.mts +4 -0
  352. package/es/ProTable/index.d.ts +1 -0
  353. package/es/ProTable/index.js +1 -0
  354. package/es/ProTable/index.mjs +3 -0
  355. package/es/ProTable/locale.d.mts +15 -0
  356. package/es/ProTable/locale.mjs +66 -0
  357. package/es/ProTable/locale.mjs.map +1 -0
  358. package/es/ProTable/parts/ColumnSetting.mjs +155 -0
  359. package/es/ProTable/parts/ColumnSetting.mjs.map +1 -0
  360. package/es/ProTable/parts/FieldControl.mjs +117 -0
  361. package/es/ProTable/parts/FieldControl.mjs.map +1 -0
  362. package/es/ProTable/parts/KeywordInput.mjs +19 -0
  363. package/es/ProTable/parts/KeywordInput.mjs.map +1 -0
  364. package/es/ProTable/parts/LightFilter.mjs +70 -0
  365. package/es/ProTable/parts/LightFilter.mjs.map +1 -0
  366. package/es/ProTable/parts/OptionPopover.mjs +17 -0
  367. package/es/ProTable/parts/OptionPopover.mjs.map +1 -0
  368. package/es/ProTable/parts/SearchForm.mjs +180 -0
  369. package/es/ProTable/parts/SearchForm.mjs.map +1 -0
  370. package/es/ProTable/parts/SearchSection.mjs +33 -0
  371. package/es/ProTable/parts/SearchSection.mjs.map +1 -0
  372. package/es/ProTable/parts/TableAlert.mjs +38 -0
  373. package/es/ProTable/parts/TableAlert.mjs.map +1 -0
  374. package/es/ProTable/parts/Toolbar.mjs +50 -0
  375. package/es/ProTable/parts/Toolbar.mjs.map +1 -0
  376. package/es/ProTable/parts/ToolbarOptions.mjs +103 -0
  377. package/es/ProTable/parts/ToolbarOptions.mjs.map +1 -0
  378. package/es/ProTable/parts/renderValue.mjs +118 -0
  379. package/es/ProTable/parts/renderValue.mjs.map +1 -0
  380. package/es/ProTable/style.mjs +278 -0
  381. package/es/ProTable/style.mjs.map +1 -0
  382. package/es/ProTable/type.d.mts +397 -0
  383. package/es/ProTable/utils.mjs +152 -0
  384. package/es/ProTable/utils.mjs.map +1 -0
  385. package/es/Radio/Radio.mjs +3 -3
  386. package/es/Radio/Radio.mjs.map +1 -1
  387. package/es/ScrollArea/atoms.mjs +4 -4
  388. package/es/ScrollArea/atoms.mjs.map +1 -1
  389. package/es/Segmented/Segmented.mjs +3 -3
  390. package/es/Segmented/Segmented.mjs.map +1 -1
  391. package/es/Segmented/atoms.mjs +2 -2
  392. package/es/Segmented/atoms.mjs.map +1 -1
  393. package/es/Select/Select.mjs +22 -13
  394. package/es/Select/Select.mjs.map +1 -1
  395. package/es/Select/atoms.mjs +4 -4
  396. package/es/Select/atoms.mjs.map +1 -1
  397. package/es/Select/helpers.mjs +8 -1
  398. package/es/Select/helpers.mjs.map +1 -1
  399. package/es/Select/hooks.mjs +8 -4
  400. package/es/Select/hooks.mjs.map +1 -1
  401. package/es/Select/renderOptions.mjs +2 -2
  402. package/es/Select/renderOptions.mjs.map +1 -1
  403. package/es/Select/type.d.mts +7 -0
  404. package/es/Switch/Switch.mjs +2 -2
  405. package/es/Switch/Switch.mjs.map +1 -1
  406. package/es/Switch/atoms.mjs +2 -2
  407. package/es/Switch/atoms.mjs.map +1 -1
  408. package/es/Table/Column.d.mts +8 -0
  409. package/es/Table/Column.mjs +6 -0
  410. package/es/Table/Column.mjs.map +1 -0
  411. package/es/Table/ColumnGroup.d.mts +11 -0
  412. package/es/Table/ColumnGroup.mjs +6 -0
  413. package/es/Table/ColumnGroup.mjs.map +1 -0
  414. package/es/Table/Table.d.mts +16 -2
  415. package/es/Table/Table.mjs +149 -118
  416. package/es/Table/Table.mjs.map +1 -1
  417. package/es/Table/atoms/cells.d.mts +42 -0
  418. package/es/Table/atoms/cells.mjs +72 -0
  419. package/es/Table/atoms/cells.mjs.map +1 -0
  420. package/es/Table/atoms/index.d.mts +3 -0
  421. package/es/Table/atoms/layout.d.mts +44 -0
  422. package/es/Table/atoms/layout.mjs +62 -0
  423. package/es/Table/atoms/layout.mjs.map +1 -0
  424. package/es/Table/constants.mjs +16 -0
  425. package/es/Table/constants.mjs.map +1 -0
  426. package/es/Table/engine/fixed.d.mts +1 -0
  427. package/es/Table/engine/fixed.mjs +53 -0
  428. package/es/Table/engine/fixed.mjs.map +1 -0
  429. package/es/Table/engine/types.d.mts +1 -0
  430. package/es/Table/engine/useTableEngine.mjs +180 -0
  431. package/es/Table/engine/useTableEngine.mjs.map +1 -0
  432. package/es/Table/index.d.mts +7 -2
  433. package/es/Table/index.mjs +4 -1
  434. package/es/Table/internal.d.mts +3 -0
  435. package/es/Table/pipeline/columnUtils.d.mts +5 -0
  436. package/es/Table/pipeline/columnUtils.mjs +58 -0
  437. package/es/Table/pipeline/columnUtils.mjs.map +1 -0
  438. package/es/Table/pipeline/convertChildrenToColumns.mjs +24 -0
  439. package/es/Table/pipeline/convertChildrenToColumns.mjs.map +1 -0
  440. package/es/Table/pipeline/normalizeColumns.mjs +140 -0
  441. package/es/Table/pipeline/normalizeColumns.mjs.map +1 -0
  442. package/es/Table/pipeline/selectionUtils.d.mts +9 -0
  443. package/es/Table/pipeline/selectionUtils.mjs +115 -0
  444. package/es/Table/pipeline/selectionUtils.mjs.map +1 -0
  445. package/es/Table/pipeline/useBreakpoint.mjs +36 -0
  446. package/es/Table/pipeline/useBreakpoint.mjs.map +1 -0
  447. package/es/Table/pipeline/useExpandable.mjs +45 -0
  448. package/es/Table/pipeline/useExpandable.mjs.map +1 -0
  449. package/es/Table/pipeline/useFilter.mjs +52 -0
  450. package/es/Table/pipeline/useFilter.mjs.map +1 -0
  451. package/es/Table/pipeline/useSelection.mjs +302 -0
  452. package/es/Table/pipeline/useSelection.mjs.map +1 -0
  453. package/es/Table/pipeline/useSorter.mjs +146 -0
  454. package/es/Table/pipeline/useSorter.mjs.map +1 -0
  455. package/es/Table/pipeline/useTableLocale.mjs +30 -0
  456. package/es/Table/pipeline/useTableLocale.mjs.map +1 -0
  457. package/es/Table/pipeline/useTableState.mjs +118 -0
  458. package/es/Table/pipeline/useTableState.mjs.map +1 -0
  459. package/es/Table/pipeline/useVirtualLayout.mjs +80 -0
  460. package/es/Table/pipeline/useVirtualLayout.mjs.map +1 -0
  461. package/es/Table/render/Body.mjs +150 -0
  462. package/es/Table/render/Body.mjs.map +1 -0
  463. package/es/Table/render/BodyCell.mjs +87 -0
  464. package/es/Table/render/BodyCell.mjs.map +1 -0
  465. package/es/Table/render/CellShell.mjs +84 -0
  466. package/es/Table/render/CellShell.mjs.map +1 -0
  467. package/es/Table/render/ExpandIcon.mjs +28 -0
  468. package/es/Table/render/ExpandIcon.mjs.map +1 -0
  469. package/es/Table/render/FilterDropdown.mjs +139 -0
  470. package/es/Table/render/FilterDropdown.mjs.map +1 -0
  471. package/es/Table/render/FilterPanel.mjs +152 -0
  472. package/es/Table/render/FilterPanel.mjs.map +1 -0
  473. package/es/Table/render/FixedFrost.mjs +113 -0
  474. package/es/Table/render/FixedFrost.mjs.map +1 -0
  475. package/es/Table/render/FixedHolder.mjs +51 -0
  476. package/es/Table/render/FixedHolder.mjs.map +1 -0
  477. package/es/Table/render/Header.mjs +184 -0
  478. package/es/Table/render/Header.mjs.map +1 -0
  479. package/es/Table/render/LoadingSkeleton.mjs +78 -0
  480. package/es/Table/render/LoadingSkeleton.mjs.map +1 -0
  481. package/es/Table/render/PaginationBar.mjs +71 -0
  482. package/es/Table/render/PaginationBar.mjs.map +1 -0
  483. package/es/Table/render/SelectionCells.mjs +111 -0
  484. package/es/Table/render/SelectionCells.mjs.map +1 -0
  485. package/es/Table/render/StickyScrollBar.mjs +99 -0
  486. package/es/Table/render/StickyScrollBar.mjs.map +1 -0
  487. package/es/Table/render/Summary.d.mts +16 -0
  488. package/es/Table/render/Summary.mjs +58 -0
  489. package/es/Table/render/Summary.mjs.map +1 -0
  490. package/es/Table/render/TableView.mjs +215 -0
  491. package/es/Table/render/TableView.mjs.map +1 -0
  492. package/es/Table/render/VirtualBody.mjs +101 -0
  493. package/es/Table/render/VirtualBody.mjs.map +1 -0
  494. package/es/Table/render/context.mjs +15 -0
  495. package/es/Table/render/context.mjs.map +1 -0
  496. package/es/Table/render/filterUtils.mjs +22 -0
  497. package/es/Table/render/filterUtils.mjs.map +1 -0
  498. package/es/Table/render/tableHelpers.mjs +27 -0
  499. package/es/Table/render/tableHelpers.mjs.map +1 -0
  500. package/es/Table/render/useColGroups.mjs +23 -0
  501. package/es/Table/render/useColGroups.mjs.map +1 -0
  502. package/es/Table/render/useScrollSync.mjs +104 -0
  503. package/es/Table/render/useScrollSync.mjs.map +1 -0
  504. package/es/Table/render/useViewContexts.mjs +134 -0
  505. package/es/Table/render/useViewContexts.mjs.map +1 -0
  506. package/es/Table/semantic.mjs +45 -0
  507. package/es/Table/semantic.mjs.map +1 -0
  508. package/es/Table/store/createTableStore.d.mts +1 -0
  509. package/es/Table/store/createTableStore.mjs +40 -0
  510. package/es/Table/store/createTableStore.mjs.map +1 -0
  511. package/es/Table/store/hooks.mjs +24 -0
  512. package/es/Table/store/hooks.mjs.map +1 -0
  513. package/es/Table/style.mjs +175 -90
  514. package/es/Table/style.mjs.map +1 -1
  515. package/es/Table/type.d.mts +467 -37
  516. package/es/Table/useTableController.mjs +293 -0
  517. package/es/Table/useTableController.mjs.map +1 -0
  518. package/es/Tabs/Tabs.mjs +2 -2
  519. package/es/Tabs/Tabs.mjs.map +1 -1
  520. package/es/Tabs/atoms.mjs +2 -2
  521. package/es/Tabs/atoms.mjs.map +1 -1
  522. package/es/Tag/Tag.mjs +2 -2
  523. package/es/Tag/Tag.mjs.map +1 -1
  524. package/es/Text/Text.mjs +2 -2
  525. package/es/Text/Text.mjs.map +1 -1
  526. package/es/Text/style.d.mts +3 -3
  527. package/es/Text/style.mjs +3 -3
  528. package/es/Text/style.mjs.map +1 -1
  529. package/es/ToggleGroup/ToggleGroup.mjs +3 -3
  530. package/es/ToggleGroup/ToggleGroup.mjs.map +1 -1
  531. package/es/ToggleGroup/atoms.mjs +2 -2
  532. package/es/ToggleGroup/atoms.mjs.map +1 -1
  533. package/es/Tooltip/TooltipGroup.mjs +3 -3
  534. package/es/Tooltip/TooltipGroup.mjs.map +1 -1
  535. package/es/Tooltip/TooltipStandalone.mjs +3 -3
  536. package/es/Tooltip/TooltipStandalone.mjs.map +1 -1
  537. package/es/Tree/Tree.mjs +2 -2
  538. package/es/Tree/Tree.mjs.map +1 -1
  539. package/es/Tree/TreeNode.mjs +2 -2
  540. package/es/Tree/TreeNode.mjs.map +1 -1
  541. package/es/Video/Video.mjs +2 -2
  542. package/es/Video/Video.mjs.map +1 -1
  543. package/es/awesome/Features/FeatureItem.mjs +2 -2
  544. package/es/awesome/Features/FeatureItem.mjs.map +1 -1
  545. package/es/awesome/Hero/Hero.mjs +3 -3
  546. package/es/awesome/Hero/Hero.mjs.map +1 -1
  547. package/es/awesome/InstallBanner/InstallBanner.mjs +2 -2
  548. package/es/awesome/InstallBanner/InstallBanner.mjs.map +1 -1
  549. package/es/awesome/LandingHero/LandingHero.mjs +3 -3
  550. package/es/awesome/LandingHero/LandingHero.mjs.map +1 -1
  551. package/es/awesome/LogoMarquee/LogoMarquee.mjs +2 -2
  552. package/es/awesome/LogoMarquee/LogoMarquee.mjs.map +1 -1
  553. package/es/awesome/TypewriterEffect/TypewriterEffect.mjs +4 -4
  554. package/es/awesome/TypewriterEffect/TypewriterEffect.mjs.map +1 -1
  555. package/es/awesome/landingActions.mjs +2 -2
  556. package/es/awesome/landingActions.mjs.map +1 -1
  557. package/es/chat/ChatItem/ChatItem.mjs +2 -2
  558. package/es/chat/ChatItem/ChatItem.mjs.map +1 -1
  559. package/es/chat/EditableMessage/EditableMessage.mjs +3 -3
  560. package/es/chat/EditableMessage/EditableMessage.mjs.map +1 -1
  561. package/es/chat/EditableMessageList/EditableMessageList.mjs +1 -1
  562. package/es/chat/MessageInput/MessageInput.mjs +3 -3
  563. package/es/chat/MessageInput/MessageInput.mjs.map +1 -1
  564. package/es/dashboard/AuthLayout/AuthLayout.mjs +8 -4
  565. package/es/dashboard/AuthLayout/AuthLayout.mjs.map +1 -1
  566. package/es/dashboard/AuthLayout/style.mjs +14 -3
  567. package/es/dashboard/AuthLayout/style.mjs.map +1 -1
  568. package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs +2 -2
  569. package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs.map +1 -1
  570. package/es/dashboard/AuthTools/AuthThemeSwitch.mjs +2 -2
  571. package/es/dashboard/AuthTools/AuthThemeSwitch.mjs.map +1 -1
  572. package/es/dashboard/ConsoleNav/ConsoleNav.mjs +3 -3
  573. package/es/dashboard/ConsoleNav/ConsoleNav.mjs.map +1 -1
  574. package/es/dashboard/ConsoleNav/style.mjs +2 -2
  575. package/es/dashboard/ConsoleNav/style.mjs.map +1 -1
  576. package/es/dashboard/ConsoleShell/style.mjs +1 -1
  577. package/es/dashboard/ConsoleShell/style.mjs.map +1 -1
  578. package/es/dashboard/FilterSidebar/FilterSidebar.mjs +1 -1
  579. package/es/dashboard/FilterSidebar/style.mjs +2 -2
  580. package/es/dashboard/FilterSidebar/style.mjs.map +1 -1
  581. package/es/dashboard/FilterStrip/style.mjs +1 -1
  582. package/es/dashboard/FilterStrip/style.mjs.map +1 -1
  583. package/es/dashboard/MetricStrip/MetricCell.mjs +25 -14
  584. package/es/dashboard/MetricStrip/MetricCell.mjs.map +1 -1
  585. package/es/dashboard/MetricStrip/style.mjs +14 -1
  586. package/es/dashboard/MetricStrip/style.mjs.map +1 -1
  587. package/es/dashboard/MetricStrip/type.d.mts +2 -0
  588. package/es/dashboard/PageSkeleton/style.mjs +2 -1
  589. package/es/dashboard/PageSkeleton/style.mjs.map +1 -1
  590. package/es/dashboard/StatCard/StatCard.d.mts +1 -1
  591. package/es/dashboard/StatCard/StatCard.mjs +2 -1
  592. package/es/dashboard/StatCard/StatCard.mjs.map +1 -1
  593. package/es/dashboard/StatCard/type.d.mts +2 -0
  594. package/es/dashboard/Surface/Surface.mjs +3 -4
  595. package/es/dashboard/Surface/Surface.mjs.map +1 -1
  596. package/es/dashboard/Surface/link.mjs +1 -1
  597. package/es/dashboard/Surface/link.mjs.map +1 -1
  598. package/es/dashboard/Surface/style.mjs +15 -14
  599. package/es/dashboard/Surface/style.mjs.map +1 -1
  600. package/es/dashboard/index.mjs +2 -2
  601. package/es/eslint/noBaseUiSubpath.mjs +2 -1
  602. package/es/eslint/noBaseUiSubpath.mjs.map +1 -1
  603. package/es/i18n/resources/en/colorPicker.d.mts +5 -0
  604. package/es/i18n/resources/en/colorPicker.mjs +5 -0
  605. package/es/i18n/resources/en/colorPicker.mjs.map +1 -1
  606. package/es/i18n/resources/en/datePicker.d.mts +54 -0
  607. package/es/i18n/resources/en/datePicker.mjs +55 -1
  608. package/es/i18n/resources/en/datePicker.mjs.map +1 -1
  609. package/es/i18n/resources/en/index.d.mts +4 -3
  610. package/es/i18n/resources/en/index.mjs +3 -1
  611. package/es/i18n/resources/en/index.mjs.map +1 -1
  612. package/es/i18n/resources/en/table.d.mts +23 -0
  613. package/es/i18n/resources/en/table.mjs +24 -0
  614. package/es/i18n/resources/en/table.mjs.map +1 -0
  615. package/es/i18n/resources/zhCn/colorPicker.d.mts +5 -0
  616. package/es/i18n/resources/zhCn/colorPicker.mjs +5 -0
  617. package/es/i18n/resources/zhCn/colorPicker.mjs.map +1 -1
  618. package/es/i18n/resources/zhCn/datePicker.d.mts +54 -0
  619. package/es/i18n/resources/zhCn/datePicker.mjs +55 -1
  620. package/es/i18n/resources/zhCn/datePicker.mjs.map +1 -1
  621. package/es/i18n/resources/zhCn/index.d.mts +4 -3
  622. package/es/i18n/resources/zhCn/index.mjs +4 -2
  623. package/es/i18n/resources/zhCn/index.mjs.map +1 -1
  624. package/es/i18n/resources/zhCn/table.d.mts +23 -0
  625. package/es/i18n/resources/zhCn/table.mjs +24 -0
  626. package/es/i18n/resources/zhCn/table.mjs.map +1 -0
  627. package/es/i18n/types.d.mts +3 -2
  628. package/es/index.d.mts +15 -6
  629. package/es/index.mjs +12 -6
  630. package/es/internal/overflow/OverflowList.mjs +71 -0
  631. package/es/internal/overflow/OverflowList.mjs.map +1 -0
  632. package/es/mdx/Callout/index.mjs +2 -2
  633. package/es/mdx/Callout/index.mjs.map +1 -1
  634. package/es/mdx/Cards/Card.mjs +2 -2
  635. package/es/mdx/Cards/Card.mjs.map +1 -1
  636. package/es/mdx/Cards/index.mjs +2 -2
  637. package/es/mdx/Cards/index.mjs.map +1 -1
  638. package/es/mdx/Mdx/index.mjs +2 -2
  639. package/es/mdx/Mdx/index.mjs.map +1 -1
  640. package/es/mdx/Steps/index.mjs +2 -2
  641. package/es/mdx/Steps/index.mjs.map +1 -1
  642. package/es/mdx/mdxComponents/Pre.mjs +5 -5
  643. package/es/mdx/mdxComponents/Pre.mjs.map +1 -1
  644. package/es/storybook/StoryBook/style.mjs +2 -0
  645. package/es/storybook/StoryBook/style.mjs.map +1 -1
  646. package/es/style.css +2966 -957
  647. package/es/styles/stylex/props.mjs +2 -2
  648. package/es/styles/stylex/props.mjs.map +1 -1
  649. package/es/styles/theme/themeCss.mjs +15 -0
  650. package/es/styles/theme/themeCss.mjs.map +1 -1
  651. package/es/theme.css +8 -0
  652. package/package.json +6 -1
  653. package/es/DatePicker/CalendarPanel.mjs +0 -189
  654. package/es/DatePicker/CalendarPanel.mjs.map +0 -1
  655. package/es/DatePicker/PickerShell.mjs +0 -43
  656. package/es/DatePicker/PickerShell.mjs.map +0 -1
  657. package/es/DatePicker/calendar.d.mts +0 -4
  658. package/es/DatePicker/calendar.mjs +0 -46
  659. package/es/DatePicker/calendar.mjs.map +0 -1
  660. package/es/Table/FilterMenu.mjs +0 -45
  661. package/es/Table/FilterMenu.mjs.map +0 -1
  662. package/es/Table/TableBody.mjs +0 -67
  663. package/es/Table/TableBody.mjs.map +0 -1
  664. package/es/Table/TableHead.mjs +0 -58
  665. package/es/Table/TableHead.mjs.map +0 -1
  666. package/es/Table/features.mjs +0 -12
  667. package/es/Table/features.mjs.map +0 -1
  668. package/es/Table/fixedOffsets.mjs +0 -29
  669. package/es/Table/fixedOffsets.mjs.map +0 -1
  670. package/es/Table/marker.stylex.mjs +0 -9
  671. package/es/Table/marker.stylex.mjs.map +0 -1
  672. package/es/Table/toColumnDefs.mjs +0 -26
  673. package/es/Table/toColumnDefs.mjs.map +0 -1
  674. package/es/Table/useTableState.mjs +0 -99
  675. package/es/Table/useTableState.mjs.map +0 -1
@@ -0,0 +1,118 @@
1
+ import { collectSortStates, getSortTitleProps, getSorterInfo, getTriggeredSortStates, mergeSortStates, sortData, useSorter } from "./useSorter.mjs";
2
+ import { collectFilterStates, filterData, getFilterInfo, mergeFilterStates, useFilter } from "./useFilter.mjs";
3
+ import { useMemo, useState } from "react";
4
+ const useTableState = ({ childrenColumnName, columns, dataSource, onChange, onTableChange, pagination }) => {
5
+ const config = pagination === false ? void 0 : pagination ?? {};
6
+ const [innerSortStates, setInnerSortStates] = useState(() => collectSortStates(columns, true));
7
+ const sortStates = useMemo(() => mergeSortStates(columns, innerSortStates), [columns, innerSortStates]);
8
+ const [innerFilterKeys, setInnerFilterKeys] = useState(() => Object.fromEntries(collectFilterStates(columns, true).map(({ filteredKeys, key }) => [key, filteredKeys])));
9
+ const filterStates = useMemo(() => mergeFilterStates(columns, innerFilterKeys), [columns, innerFilterKeys]);
10
+ const filters = useMemo(() => getFilterInfo(filterStates), [filterStates]);
11
+ const filtered = useFilter({
12
+ childrenColumnName,
13
+ data: dataSource,
14
+ states: filterStates
15
+ });
16
+ const data = useSorter({
17
+ childrenColumnName,
18
+ data: filtered,
19
+ sortStates
20
+ });
21
+ const getCurrentDataSource = (nextFilterStates, nextSortStates) => sortData(filterData(dataSource, nextFilterStates, childrenColumnName), nextSortStates, childrenColumnName);
22
+ const [innerPage, setInnerPage] = useState({
23
+ pageIndex: (config?.defaultCurrent ?? 1) - 1,
24
+ pageSize: config?.defaultPageSize ?? 10
25
+ });
26
+ const pageSize = config?.pageSize ?? innerPage.pageSize;
27
+ const total = config?.total && config.total > 0 ? config.total : data.length;
28
+ const pageCount = Math.max(1, Math.ceil(total / pageSize));
29
+ const rawPageIndex = config?.current === void 0 ? innerPage.pageIndex : config.current - 1;
30
+ const page = {
31
+ pageIndex: Math.min(rawPageIndex, pageCount - 1),
32
+ pageSize
33
+ };
34
+ const toPaginationArg = (next) => {
35
+ if (!config) return {};
36
+ const merged = {
37
+ ...config,
38
+ current: next.pageIndex + 1,
39
+ pageSize: next.pageSize,
40
+ total
41
+ };
42
+ const arg = {
43
+ current: merged.current,
44
+ pageSize: merged.pageSize
45
+ };
46
+ for (const key of Object.keys(config)) if (typeof merged[key] !== "function") arg[key] = merged[key];
47
+ return arg;
48
+ };
49
+ const report = (action, nextPage, nextFilterStates, nextSortStates) => {
50
+ onTableChange?.();
51
+ onChange?.(toPaginationArg(nextPage), getFilterInfo(nextFilterStates), getSorterInfo(nextSortStates), {
52
+ action,
53
+ currentDataSource: getCurrentDataSource(nextFilterStates, nextSortStates)
54
+ });
55
+ };
56
+ const changePage = (next) => {
57
+ setInnerPage(next);
58
+ const sizeChanged = next.pageSize !== page.pageSize;
59
+ if (sizeChanged) config?.onShowSizeChange?.(next.pageIndex + 1, next.pageSize);
60
+ if (sizeChanged || next.pageIndex !== page.pageIndex) config?.onChange?.(next.pageIndex + 1, next.pageSize);
61
+ };
62
+ const clampPage = (pageIndex) => {
63
+ if (config?.current === void 0) {
64
+ setInnerPage((previous) => ({
65
+ ...previous,
66
+ pageIndex
67
+ }));
68
+ return;
69
+ }
70
+ config.onChange?.(pageIndex + 1, page.pageSize);
71
+ };
72
+ const triggerSort = (next) => {
73
+ const nextStates = getTriggeredSortStates(sortStates, next);
74
+ setInnerSortStates(nextStates);
75
+ report("sort", page, filterStates, nextStates);
76
+ };
77
+ const triggerFilter = (columnKey, filteredKeys) => {
78
+ const nextStates = filterStates.map((item) => item.key === columnKey ? {
79
+ ...item,
80
+ filteredKeys
81
+ } : item);
82
+ const firstPage = {
83
+ ...page,
84
+ pageIndex: 0
85
+ };
86
+ setInnerFilterKeys(Object.fromEntries(nextStates.map(({ filteredKeys, key }) => [key, filteredKeys])));
87
+ setInnerPage(firstPage);
88
+ if (pagination) pagination.onChange?.(1, firstPage.pageSize);
89
+ report("filter", firstPage, nextStates, sortStates);
90
+ };
91
+ const titleProps = useMemo(() => ({
92
+ filters,
93
+ ...getSortTitleProps(sortStates)
94
+ }), [filters, sortStates]);
95
+ const onPaginationChange = (next) => {
96
+ changePage(next);
97
+ report("paginate", next, filterStates, sortStates);
98
+ };
99
+ return {
100
+ clampPage,
101
+ config,
102
+ data,
103
+ filterStates,
104
+ filters,
105
+ onPaginationChange,
106
+ page,
107
+ rawPageIndex,
108
+ sortStates,
109
+ titleProps,
110
+ total,
111
+ triggerFilter,
112
+ triggerSort
113
+ };
114
+ };
115
+ //#endregion
116
+ export { useTableState };
117
+
118
+ //# sourceMappingURL=useTableState.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTableState.mjs","names":[],"sources":["../../../src/Table/pipeline/useTableState.ts"],"sourcesContent":["import { useMemo, useState } from 'react';\n\nimport type {\n TableColumn,\n TableColumnTitleProps,\n TableCurrentDataSource,\n TablePaginationConfig,\n TableProps,\n} from '../type';\nimport {\n collectFilterStates,\n filterData,\n type FilterKeys,\n type FiltersState,\n type FilterState,\n getFilterInfo,\n mergeFilterStates,\n useFilter,\n} from './useFilter';\nimport {\n collectSortStates,\n getSorterInfo,\n getSortTitleProps,\n getTriggeredSortStates,\n mergeSortStates,\n sortData,\n type SortState,\n useSorter,\n} from './useSorter';\n\nexport interface PaginationState {\n pageIndex: number;\n pageSize: number;\n}\n\nexport const DEFAULT_PAGE_SIZE = 10;\n\ntype ChangeAction = TableCurrentDataSource<unknown>['action'];\n\nexport const useTableState = <T>({\n childrenColumnName,\n columns,\n dataSource,\n onChange,\n onTableChange,\n pagination,\n}: Pick<TableProps<T>, 'onChange' | 'pagination'> & {\n childrenColumnName?: string;\n columns: readonly TableColumn<T>[];\n dataSource: readonly T[];\n onTableChange?: () => void;\n}) => {\n const config: TablePaginationConfig | undefined =\n pagination === false ? undefined : (pagination ?? {});\n\n const [innerSortStates, setInnerSortStates] = useState<SortState<T>[]>(() =>\n collectSortStates(columns, true),\n );\n const sortStates = useMemo(\n () => mergeSortStates(columns, innerSortStates),\n [columns, innerSortStates],\n );\n const [innerFilterKeys, setInnerFilterKeys] = useState<FiltersState>(() =>\n Object.fromEntries(\n collectFilterStates(columns, true).map(({ filteredKeys, key }) => [key, filteredKeys]),\n ),\n );\n const filterStates = useMemo(\n () => mergeFilterStates(columns, innerFilterKeys),\n [columns, innerFilterKeys],\n );\n const filters = useMemo(() => getFilterInfo(filterStates), [filterStates]);\n\n const filtered = useFilter({ childrenColumnName, data: dataSource, states: filterStates });\n const data = useSorter({ childrenColumnName, data: filtered, sortStates });\n const getCurrentDataSource = (\n nextFilterStates: readonly FilterState<T>[],\n nextSortStates: readonly SortState<T>[],\n ) =>\n sortData(\n filterData(dataSource, nextFilterStates, childrenColumnName),\n nextSortStates,\n childrenColumnName,\n );\n\n const [innerPage, setInnerPage] = useState<PaginationState>({\n pageIndex: (config?.defaultCurrent ?? 1) - 1,\n pageSize: config?.defaultPageSize ?? DEFAULT_PAGE_SIZE,\n });\n\n const pageSize = config?.pageSize ?? innerPage.pageSize;\n // Like antd: a positive `pagination.total` wins over the local data length.\n const total = config?.total && config.total > 0 ? config.total : data.length;\n const pageCount = Math.max(1, Math.ceil(total / pageSize));\n const rawPageIndex = config?.current === undefined ? innerPage.pageIndex : config.current - 1;\n const page: PaginationState = { pageIndex: Math.min(rawPageIndex, pageCount - 1), pageSize };\n\n const toPaginationArg = (next: PaginationState): TablePaginationConfig => {\n if (!config) return {};\n const merged: Record<string, unknown> = {\n ...config,\n current: next.pageIndex + 1,\n pageSize: next.pageSize,\n total,\n };\n const arg: Record<string, unknown> = { current: merged.current, pageSize: merged.pageSize };\n for (const key of Object.keys(config)) {\n if (typeof merged[key] !== 'function') arg[key] = merged[key];\n }\n return arg as TablePaginationConfig;\n };\n\n const report = (\n action: ChangeAction,\n nextPage: PaginationState,\n nextFilterStates: readonly FilterState<T>[],\n nextSortStates: readonly SortState<T>[],\n ) => {\n onTableChange?.();\n onChange?.(\n toPaginationArg(nextPage),\n getFilterInfo(nextFilterStates),\n getSorterInfo(nextSortStates),\n { action, currentDataSource: getCurrentDataSource(nextFilterStates, nextSortStates) },\n );\n };\n\n const changePage = (next: PaginationState) => {\n setInnerPage(next);\n const sizeChanged = next.pageSize !== page.pageSize;\n if (sizeChanged) config?.onShowSizeChange?.(next.pageIndex + 1, next.pageSize);\n if (sizeChanged || next.pageIndex !== page.pageIndex) {\n config?.onChange?.(next.pageIndex + 1, next.pageSize);\n }\n };\n\n const clampPage = (pageIndex: number) => {\n if (config?.current === undefined) {\n setInnerPage((previous) => ({ ...previous, pageIndex }));\n return;\n }\n config.onChange?.(pageIndex + 1, page.pageSize);\n };\n\n const triggerSort = (next: SortState<T>) => {\n const nextStates = getTriggeredSortStates(sortStates, next);\n setInnerSortStates(nextStates);\n report('sort', page, filterStates, nextStates);\n };\n\n const triggerFilter = (columnKey: string, filteredKeys: FilterKeys) => {\n const nextStates = filterStates.map((item) =>\n item.key === columnKey ? { ...item, filteredKeys } : item,\n );\n const firstPage = { ...page, pageIndex: 0 };\n setInnerFilterKeys(\n Object.fromEntries(nextStates.map(({ filteredKeys, key }) => [key, filteredKeys])),\n );\n setInnerPage(firstPage);\n if (pagination) pagination.onChange?.(1, firstPage.pageSize);\n report('filter', firstPage, nextStates, sortStates);\n };\n\n const titleProps = useMemo(\n (): TableColumnTitleProps<T> => ({\n filters,\n ...getSortTitleProps(sortStates),\n }),\n [filters, sortStates],\n );\n\n const onPaginationChange = (next: PaginationState) => {\n changePage(next);\n report('paginate', next, filterStates, sortStates);\n };\n\n return {\n clampPage,\n config,\n data,\n filterStates,\n filters,\n onPaginationChange,\n page,\n rawPageIndex,\n sortStates,\n titleProps,\n total,\n triggerFilter,\n triggerSort,\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ import { VIRTUAL_ROW_HEIGHT } from "../constants.mjs";
2
+ import { useCallback, useMemo, useState } from "react";
3
+ //#region src/Table/pipeline/useVirtualLayout.ts
4
+ const parseWidth = (total, width) => {
5
+ if (typeof width === "number") return width;
6
+ if (typeof width === "string" && width.endsWith("%")) return total * Number.parseFloat(width) / 100;
7
+ return null;
8
+ };
9
+ const leavesOf = (columns) => columns.flatMap((column) => column.children?.length ? leavesOf(column.children) : [column]);
10
+ const fillColumnWidths = (columns, scrollWidth, clientWidth) => {
11
+ const leaves = leavesOf(columns);
12
+ const total = typeof scrollWidth === "number" && scrollWidth > 0 ? scrollWidth : 0;
13
+ if (!total) return leaves.map((leaf) => parseWidth(clientWidth, leaf.width) ?? 0);
14
+ let given = 0;
15
+ let missing = 0;
16
+ leaves.forEach((leaf) => {
17
+ const width = parseWidth(total, leaf.width);
18
+ if (width) given += width;
19
+ else missing += 1;
20
+ });
21
+ const maxFit = Math.max(total, clientWidth);
22
+ let rest = Math.max(maxFit - given, missing);
23
+ let restCount = missing;
24
+ const average = rest / missing;
25
+ let realTotal = 0;
26
+ const widths = leaves.map((leaf) => {
27
+ let width = parseWidth(total, leaf.width);
28
+ if (!width) {
29
+ const floor = Math.floor(average);
30
+ width = restCount === 1 ? rest : floor;
31
+ rest -= floor;
32
+ restCount -= 1;
33
+ }
34
+ realTotal += width;
35
+ return width;
36
+ });
37
+ if (realTotal < maxFit) {
38
+ const scale = maxFit / realTotal;
39
+ let remain = maxFit;
40
+ return widths.map((width, index) => {
41
+ const next = Math.floor(width * scale);
42
+ const value = index === widths.length - 1 ? remain : next;
43
+ remain -= next;
44
+ return value;
45
+ });
46
+ }
47
+ return widths;
48
+ };
49
+ const useVirtualLayout = ({ expandable, rowSelection, variant, virtual }) => {
50
+ const [componentWidth, setComponentWidth] = useState(0);
51
+ const measureRef = useCallback((element) => {
52
+ if (!element || !virtual || typeof ResizeObserver === "undefined") return;
53
+ setComponentWidth(element.offsetWidth);
54
+ const observer = new ResizeObserver(() => setComponentWidth(element.offsetWidth));
55
+ observer.observe(element);
56
+ return () => observer.disconnect();
57
+ }, [virtual]);
58
+ const withDropdown = Boolean(rowSelection?.selections) && rowSelection?.type !== "radio";
59
+ const hasSelection = Boolean(rowSelection);
60
+ return useMemo(() => ({
61
+ componentWidth,
62
+ expandColumnWidth: virtual && expandable ? 48 : void 0,
63
+ fillWidths: fillColumnWidths,
64
+ measureRef,
65
+ rowHeight: (size) => VIRTUAL_ROW_HEIGHT[size],
66
+ selectionColumnWidth: virtual && hasSelection ? 32 + (withDropdown ? 24 : 0) + (variant === "outlined" ? 16 : 0) : void 0
67
+ }), [
68
+ componentWidth,
69
+ virtual,
70
+ expandable,
71
+ hasSelection,
72
+ withDropdown,
73
+ variant,
74
+ measureRef
75
+ ]);
76
+ };
77
+ //#endregion
78
+ export { fillColumnWidths, useVirtualLayout };
79
+
80
+ //# sourceMappingURL=useVirtualLayout.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useVirtualLayout.mjs","names":[],"sources":["../../../src/Table/pipeline/useVirtualLayout.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react';\n\nimport {\n EXPAND_COLUMN_WIDTH,\n SELECTION_COLUMN_WIDTH,\n SELECTION_DROPDOWN_WIDTH,\n VIRTUAL_ROW_HEIGHT,\n} from '../constants';\nimport type { TableRowSelection, TableSize, TableVariant } from '../type';\nimport type { NormalizedColumn } from './normalizeColumns';\n\nconst parseWidth = (total: number, width: number | string | undefined) => {\n if (typeof width === 'number') return width;\n if (typeof width === 'string' && width.endsWith('%'))\n return (total * Number.parseFloat(width)) / 100;\n return null;\n};\n\nconst leavesOf = <T>(columns: readonly NormalizedColumn<T>[]): NormalizedColumn<T>[] =>\n columns.flatMap((column) => (column.children?.length ? leavesOf(column.children) : [column]));\n\nexport const fillColumnWidths = <T>(\n columns: readonly NormalizedColumn<T>[],\n scrollWidth: number | string | true | undefined,\n clientWidth: number,\n): number[] => {\n const leaves = leavesOf(columns);\n const total = typeof scrollWidth === 'number' && scrollWidth > 0 ? scrollWidth : 0;\n if (!total) return leaves.map((leaf) => parseWidth(clientWidth, leaf.width) ?? 0);\n\n let given = 0;\n let missing = 0;\n leaves.forEach((leaf) => {\n const width = parseWidth(total, leaf.width);\n if (width) given += width;\n else missing += 1;\n });\n const maxFit = Math.max(total, clientWidth);\n let rest = Math.max(maxFit - given, missing);\n let restCount = missing;\n const average = rest / missing;\n let realTotal = 0;\n const widths = leaves.map((leaf) => {\n let width = parseWidth(total, leaf.width);\n if (!width) {\n const floor = Math.floor(average);\n width = restCount === 1 ? rest : floor;\n rest -= floor;\n restCount -= 1;\n }\n realTotal += width;\n return width;\n });\n if (realTotal < maxFit) {\n const scale = maxFit / realTotal;\n let remain = maxFit;\n return widths.map((width, index) => {\n const next = Math.floor(width * scale);\n const value = index === widths.length - 1 ? remain : next;\n remain -= next;\n return value;\n });\n }\n return widths;\n};\n\nexport const useVirtualLayout = <T>({\n expandable,\n rowSelection,\n variant,\n virtual,\n}: {\n expandable: boolean;\n rowSelection?: Pick<TableRowSelection<T>, 'selections' | 'type'>;\n variant: TableVariant;\n virtual?: boolean;\n}) => {\n const [componentWidth, setComponentWidth] = useState(0);\n const measureRef = useCallback(\n (element: HTMLDivElement | null) => {\n if (!element || !virtual || typeof ResizeObserver === 'undefined') return;\n setComponentWidth(element.offsetWidth);\n const observer = new ResizeObserver(() => setComponentWidth(element.offsetWidth));\n observer.observe(element);\n return () => observer.disconnect();\n },\n [virtual],\n );\n\n const withDropdown = Boolean(rowSelection?.selections) && rowSelection?.type !== 'radio';\n const hasSelection = Boolean(rowSelection);\n return useMemo(\n () => ({\n componentWidth,\n expandColumnWidth: virtual && expandable ? EXPAND_COLUMN_WIDTH : undefined,\n fillWidths: fillColumnWidths<T>,\n measureRef,\n rowHeight: (size: TableSize) => VIRTUAL_ROW_HEIGHT[size],\n selectionColumnWidth:\n virtual && hasSelection\n ? SELECTION_COLUMN_WIDTH +\n (withDropdown ? SELECTION_DROPDOWN_WIDTH : 0) +\n (variant === 'outlined' ? 16 : 0)\n : undefined,\n }),\n [componentWidth, virtual, expandable, hasSelection, withDropdown, variant, measureRef],\n );\n};\n"],"mappings":";;;AAWA,MAAM,cAAc,OAAe,UAAuC;CACxE,IAAI,OAAO,UAAU,UAAU,OAAO;CACtC,IAAI,OAAO,UAAU,YAAY,MAAM,SAAS,GAAG,GACjD,OAAQ,QAAQ,OAAO,WAAW,KAAK,IAAK;CAC9C,OAAO;AACT;AAEA,MAAM,YAAe,YACnB,QAAQ,SAAS,WAAY,OAAO,UAAU,SAAS,SAAS,OAAO,QAAQ,IAAI,CAAC,MAAM,CAAE;AAE9F,MAAa,oBACX,SACA,aACA,gBACa;CACb,MAAM,SAAS,SAAS,OAAO;CAC/B,MAAM,QAAQ,OAAO,gBAAgB,YAAY,cAAc,IAAI,cAAc;CACjF,IAAI,CAAC,OAAO,OAAO,OAAO,KAAK,SAAS,WAAW,aAAa,KAAK,KAAK,KAAK,CAAC;CAEhF,IAAI,QAAQ;CACZ,IAAI,UAAU;CACd,OAAO,SAAS,SAAS;EACvB,MAAM,QAAQ,WAAW,OAAO,KAAK,KAAK;EAC1C,IAAI,OAAO,SAAS;OACf,WAAW;CAClB,CAAC;CACD,MAAM,SAAS,KAAK,IAAI,OAAO,WAAW;CAC1C,IAAI,OAAO,KAAK,IAAI,SAAS,OAAO,OAAO;CAC3C,IAAI,YAAY;CAChB,MAAM,UAAU,OAAO;CACvB,IAAI,YAAY;CAChB,MAAM,SAAS,OAAO,KAAK,SAAS;EAClC,IAAI,QAAQ,WAAW,OAAO,KAAK,KAAK;EACxC,IAAI,CAAC,OAAO;GACV,MAAM,QAAQ,KAAK,MAAM,OAAO;GAChC,QAAQ,cAAc,IAAI,OAAO;GACjC,QAAQ;GACR,aAAa;EACf;EACA,aAAa;EACb,OAAO;CACT,CAAC;CACD,IAAI,YAAY,QAAQ;EACtB,MAAM,QAAQ,SAAS;EACvB,IAAI,SAAS;EACb,OAAO,OAAO,KAAK,OAAO,UAAU;GAClC,MAAM,OAAO,KAAK,MAAM,QAAQ,KAAK;GACrC,MAAM,QAAQ,UAAU,OAAO,SAAS,IAAI,SAAS;GACrD,UAAU;GACV,OAAO;EACT,CAAC;CACH;CACA,OAAO;AACT;AAEA,MAAa,oBAAuB,EAClC,YACA,cACA,SACA,cAMI;CACJ,MAAM,CAAC,gBAAgB,qBAAqB,SAAS,CAAC;CACtD,MAAM,aAAa,aAChB,YAAmC;EAClC,IAAI,CAAC,WAAW,CAAC,WAAW,OAAO,mBAAmB,aAAa;EACnE,kBAAkB,QAAQ,WAAW;EACrC,MAAM,WAAW,IAAI,qBAAqB,kBAAkB,QAAQ,WAAW,CAAC;EAChF,SAAS,QAAQ,OAAO;EACxB,aAAa,SAAS,WAAW;CACnC,GACA,CAAC,OAAO,CACV;CAEA,MAAM,eAAe,QAAQ,cAAc,UAAU,KAAK,cAAc,SAAS;CACjF,MAAM,eAAe,QAAQ,YAAY;CACzC,OAAO,eACE;EACL;EACA,mBAAmB,WAAW,aAAA,KAAmC,KAAA;EACjE,YAAY;EACZ;EACA,YAAY,SAAoB,mBAAmB;EACnD,sBACE,WAAW,eAAA,MAEN,eAAA,KAA0C,MAC1C,YAAY,aAAa,KAAK,KAC/B,KAAA;CACR,IACA;EAAC;EAAgB;EAAS;EAAY;EAAc;EAAc;EAAS;CAAU,CACvF;AACF"}
@@ -0,0 +1,150 @@
1
+ "use client";
2
+ import { TableExpandedRow, TableRow } from "../atoms/cells.mjs";
3
+ import { TableBody } from "../atoms/layout.mjs";
4
+ import { MeasureRowContext, VirtualCellContext, useTableView } from "./context.mjs";
5
+ import { useRowExpanded, useRowSelected } from "../store/hooks.mjs";
6
+ import { BodyCell } from "./BodyCell.mjs";
7
+ import { HeaderTitle } from "./Header.mjs";
8
+ import { memo, useLayoutEffect, useRef } from "react";
9
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
10
+ import clsx$1 from "clsx";
11
+ //#region src/Table/render/Body.tsx
12
+ const computeExpandedClassName = (className, record, index, indent) => typeof className === "function" ? className(record, index, indent) : className ?? "";
13
+ const BodyRowInner = ({ depth, extra, hasChildren, index, record, renderIndex, rowKey }) => {
14
+ const view = useTableView();
15
+ const selected = useRowSelected(rowKey);
16
+ const expanded = useRowExpanded(rowKey);
17
+ const expandedOnce = useRef(false);
18
+ expandedOnce.current ||= expanded;
19
+ const { components, expand, fixColumn, leafColumns, onRow, prefixCls, rowClassName, semanticClassNames, semanticStyles } = view;
20
+ const rowSupportExpand = expand.type === "row" && (!expand.rowExpandable || expand.rowExpandable(record));
21
+ const mergedExpandable = rowSupportExpand || expand.type === "nest";
22
+ const rowProps = onRow?.(record, index) ?? {};
23
+ const onClick = (event) => {
24
+ if (expand.expandRowByClick && mergedExpandable) expand.toggle(record, event);
25
+ rowProps.onClick?.(event);
26
+ };
27
+ const computedClassName = typeof rowClassName === "function" ? rowClassName(record, index, depth) : rowClassName;
28
+ const expandedClassName = computeExpandedClassName(expand.expandedRowClassName, record, index, depth);
29
+ let expandedRow = null;
30
+ if (!extra && rowSupportExpand && (expand.forceRender || expandedOnce.current || expanded)) expandedRow = /* @__PURE__ */ jsx(TableExpandedRow, {
31
+ cellComponent: components.bodyCell,
32
+ colSpan: leafColumns.length,
33
+ component: components.bodyRow,
34
+ expanded,
35
+ fixed: fixColumn,
36
+ className: clsx$1(`${prefixCls}-expanded-row`, `${prefixCls}-expanded-row-level-${depth + 1}`, expandedClassName),
37
+ children: expand.expandedRowRender?.(record, index, depth + 1, expanded)
38
+ });
39
+ const cells = leafColumns.map((leaf, colIndex) => /* @__PURE__ */ jsx(BodyCell, {
40
+ colIndex,
41
+ depth,
42
+ hasChildren,
43
+ index,
44
+ leaf,
45
+ record,
46
+ renderIndex,
47
+ rowKey,
48
+ withNestIcon: expand.type === "nest" && colIndex === expand.nestIconColumnIndex
49
+ }, leaf.key));
50
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(TableRow, {
51
+ ...rowProps,
52
+ component: components.bodyRow,
53
+ "data-row-key": extra ? void 0 : rowKey,
54
+ level: depth,
55
+ selected,
56
+ className: clsx$1(computedClassName, rowProps.className, rowProps.onClick && `${prefixCls}-row-clickable`, semanticClassNames.body.row, depth >= 1 && expandedClassName, extra && `${prefixCls}-row-extra`),
57
+ style: {
58
+ ...rowProps.style,
59
+ ...semanticStyles.body.row,
60
+ ...extra && {
61
+ pointerEvents: "none",
62
+ position: "absolute",
63
+ top: extra.top
64
+ }
65
+ },
66
+ onClick,
67
+ children: extra ? /* @__PURE__ */ jsx(VirtualCellContext, {
68
+ value: {
69
+ getHeight: extra.getHeight,
70
+ inverse: true
71
+ },
72
+ children: cells
73
+ }) : cells
74
+ }), expandedRow] });
75
+ };
76
+ const BodyRow = memo(BodyRowInner);
77
+ const MeasureCell = ({ children, columnKey, onResize }) => {
78
+ const ref = useRef(null);
79
+ useLayoutEffect(() => {
80
+ const element = ref.current;
81
+ if (!element) return;
82
+ onResize(columnKey, element.offsetWidth);
83
+ if (typeof ResizeObserver === "undefined") return;
84
+ const observer = new ResizeObserver(() => {
85
+ if (element.offsetParent !== null) onResize(columnKey, element.offsetWidth);
86
+ });
87
+ observer.observe(element);
88
+ return () => observer.disconnect();
89
+ }, [columnKey, onResize]);
90
+ return /* @__PURE__ */ jsx("td", {
91
+ ref,
92
+ style: {
93
+ borderBottom: 0,
94
+ borderTop: 0,
95
+ height: 0,
96
+ paddingBottom: 0,
97
+ paddingTop: 0
98
+ },
99
+ children: /* @__PURE__ */ jsx("div", {
100
+ style: {
101
+ fontWeight: "bold",
102
+ height: 0,
103
+ overflow: "hidden"
104
+ },
105
+ children
106
+ })
107
+ });
108
+ };
109
+ const MeasureRow = ({ onResize }) => {
110
+ const { leafColumns, prefixCls } = useTableView();
111
+ return /* @__PURE__ */ jsx(MeasureRowContext, {
112
+ value: true,
113
+ children: /* @__PURE__ */ jsx("tr", {
114
+ "aria-hidden": "true",
115
+ className: `${prefixCls}-measure-row`,
116
+ style: { height: 0 },
117
+ children: leafColumns.map((leaf) => /* @__PURE__ */ jsx(MeasureCell, {
118
+ columnKey: leaf.key,
119
+ onResize,
120
+ children: /* @__PURE__ */ jsx(HeaderTitle, { source: leaf.column.source })
121
+ }, leaf.key))
122
+ })
123
+ });
124
+ };
125
+ const Body = ({ emptyNode, measure, onColumnResize, rows }) => {
126
+ const { components, horizonScroll, leafColumns, prefixCls, semanticClassNames, semanticStyles } = useTableView();
127
+ return /* @__PURE__ */ jsxs(TableBody, {
128
+ className: semanticClassNames.body.wrapper,
129
+ component: components.bodyWrapper,
130
+ style: semanticStyles.body.wrapper,
131
+ children: [measure && /* @__PURE__ */ jsx(MeasureRow, { onResize: onColumnResize }), rows.length > 0 ? rows.map((row) => /* @__PURE__ */ jsx(BodyRow, {
132
+ depth: row.depth,
133
+ hasChildren: row.hasChildren,
134
+ index: row.index,
135
+ record: row.record,
136
+ renderIndex: row.renderIndex,
137
+ rowKey: row.key
138
+ }, row.key)) : /* @__PURE__ */ jsx(TableExpandedRow, {
139
+ className: `${prefixCls}-placeholder`,
140
+ colSpan: leafColumns.length,
141
+ component: components.bodyRow,
142
+ fixed: horizonScroll,
143
+ children: emptyNode
144
+ })]
145
+ });
146
+ };
147
+ //#endregion
148
+ export { Body, BodyRow, MeasureRow, computeExpandedClassName };
149
+
150
+ //# sourceMappingURL=Body.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Body.mjs","names":["clsx"],"sources":["../../../src/Table/render/Body.tsx"],"sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { type Key, memo, type MouseEvent, type ReactNode, useLayoutEffect, useRef } from 'react';\n\nimport { TableBody, TableExpandedRow, TableRow } from '../atoms';\nimport type { RowModel } from '../engine/types';\nimport { useRowExpanded, useRowSelected } from '../store/hooks';\nimport type { TableRowClassName } from '../type';\nimport { BodyCell } from './BodyCell';\nimport { MeasureRowContext, useTableView, VirtualCellContext } from './context';\nimport { HeaderTitle } from './Header';\n\nexport const computeExpandedClassName = <T,>(\n className: string | TableRowClassName<T> | undefined,\n record: T,\n index: number,\n indent: number,\n) => (typeof className === 'function' ? className(record, index, indent) : (className ?? ''));\n\nexport interface BodyRowExtra {\n getHeight: (rowSpan: number) => number;\n top: number;\n}\n\nexport interface BodyRowProps<T> {\n depth: number;\n extra?: BodyRowExtra;\n hasChildren: boolean;\n index: number;\n record: T;\n renderIndex: number;\n rowKey: Key;\n}\n\nconst BodyRowInner = <T,>({\n depth,\n extra,\n hasChildren,\n index,\n record,\n renderIndex,\n rowKey,\n}: BodyRowProps<T>) => {\n const view = useTableView<T>();\n const selected = useRowSelected(rowKey);\n const expanded = useRowExpanded(rowKey);\n const expandedOnce = useRef(false);\n expandedOnce.current ||= expanded;\n\n const {\n components,\n expand,\n fixColumn,\n leafColumns,\n onRow,\n prefixCls,\n rowClassName,\n semanticClassNames,\n semanticStyles,\n } = view;\n const rowSupportExpand =\n expand.type === 'row' && (!expand.rowExpandable || expand.rowExpandable(record));\n const mergedExpandable = rowSupportExpand || expand.type === 'nest';\n const rowProps = onRow?.(record, index) ?? {};\n const onClick = (event: MouseEvent<HTMLTableRowElement>) => {\n if (expand.expandRowByClick && mergedExpandable) expand.toggle(record, event);\n rowProps.onClick?.(event);\n };\n const computedClassName =\n typeof rowClassName === 'function' ? rowClassName(record, index, depth) : rowClassName;\n const expandedClassName = computeExpandedClassName(\n expand.expandedRowClassName,\n record,\n index,\n depth,\n );\n\n let expandedRow: ReactNode = null;\n if (!extra && rowSupportExpand && (expand.forceRender || expandedOnce.current || expanded)) {\n expandedRow = (\n <TableExpandedRow\n cellComponent={components.bodyCell}\n colSpan={leafColumns.length}\n component={components.bodyRow}\n expanded={expanded}\n fixed={fixColumn}\n className={clsx(\n `${prefixCls}-expanded-row`,\n `${prefixCls}-expanded-row-level-${depth + 1}`,\n expandedClassName,\n )}\n >\n {expand.expandedRowRender?.(record, index, depth + 1, expanded)}\n </TableExpandedRow>\n );\n }\n\n const cells = leafColumns.map((leaf, colIndex) => (\n <BodyCell\n colIndex={colIndex}\n depth={depth}\n hasChildren={hasChildren}\n index={index}\n key={leaf.key}\n leaf={leaf}\n record={record}\n renderIndex={renderIndex}\n rowKey={rowKey}\n withNestIcon={expand.type === 'nest' && colIndex === expand.nestIconColumnIndex}\n />\n ));\n\n return (\n <>\n <TableRow\n {...rowProps}\n component={components.bodyRow}\n data-row-key={extra ? undefined : rowKey}\n level={depth}\n selected={selected}\n className={clsx(\n computedClassName,\n rowProps.className,\n rowProps.onClick && `${prefixCls}-row-clickable`,\n semanticClassNames.body.row,\n depth >= 1 && expandedClassName,\n extra && `${prefixCls}-row-extra`,\n )}\n style={{\n ...rowProps.style,\n ...semanticStyles.body.row,\n ...(extra && { pointerEvents: 'none', position: 'absolute', top: extra.top }),\n }}\n onClick={onClick}\n >\n {extra ? (\n <VirtualCellContext value={{ getHeight: extra.getHeight, inverse: true }}>\n {cells}\n </VirtualCellContext>\n ) : (\n cells\n )}\n </TableRow>\n {expandedRow}\n </>\n );\n};\n\nexport const BodyRow = memo(BodyRowInner) as typeof BodyRowInner;\n\nconst MeasureCell = ({\n children,\n columnKey,\n onResize,\n}: {\n children: ReactNode;\n columnKey: string;\n onResize: (key: string, width: number) => void;\n}) => {\n const ref = useRef<HTMLTableCellElement>(null);\n useLayoutEffect(() => {\n const element = ref.current;\n if (!element) return;\n onResize(columnKey, element.offsetWidth);\n if (typeof ResizeObserver === 'undefined') return;\n const observer = new ResizeObserver(() => {\n if (element.offsetParent !== null) onResize(columnKey, element.offsetWidth);\n });\n observer.observe(element);\n return () => observer.disconnect();\n }, [columnKey, onResize]);\n return (\n <td\n ref={ref}\n style={{ borderBottom: 0, borderTop: 0, height: 0, paddingBottom: 0, paddingTop: 0 }}\n >\n <div style={{ fontWeight: 'bold', height: 0, overflow: 'hidden' }}>{children}</div>\n </td>\n );\n};\n\nexport const MeasureRow = ({ onResize }: { onResize: (key: string, width: number) => void }) => {\n const { leafColumns, prefixCls } = useTableView();\n return (\n <MeasureRowContext value={true}>\n <tr aria-hidden=\"true\" className={`${prefixCls}-measure-row`} style={{ height: 0 }}>\n {leafColumns.map((leaf) => (\n <MeasureCell columnKey={leaf.key} key={leaf.key} onResize={onResize}>\n <HeaderTitle source={leaf.column.source} />\n </MeasureCell>\n ))}\n </tr>\n </MeasureRowContext>\n );\n};\n\nexport interface BodyProps<T> {\n emptyNode: ReactNode;\n measure: boolean;\n onColumnResize: (key: string, width: number) => void;\n rows: readonly RowModel<T>[];\n}\n\nexport const Body = <T,>({ emptyNode, measure, onColumnResize, rows }: BodyProps<T>) => {\n const { components, horizonScroll, leafColumns, prefixCls, semanticClassNames, semanticStyles } =\n useTableView<T>();\n return (\n <TableBody\n className={semanticClassNames.body.wrapper}\n component={components.bodyWrapper}\n style={semanticStyles.body.wrapper}\n >\n {measure && <MeasureRow onResize={onColumnResize} />}\n {rows.length > 0 ? (\n rows.map((row) => (\n <BodyRow\n depth={row.depth}\n hasChildren={row.hasChildren}\n index={row.index}\n key={row.key}\n record={row.record}\n renderIndex={row.renderIndex}\n rowKey={row.key}\n />\n ))\n ) : (\n <TableExpandedRow\n className={`${prefixCls}-placeholder`}\n colSpan={leafColumns.length}\n component={components.bodyRow}\n fixed={horizonScroll}\n >\n {emptyNode}\n </TableExpandedRow>\n )}\n </TableBody>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,87 @@
1
+ "use client";
2
+ import { getCellValue } from "../pipeline/columnUtils.mjs";
3
+ import { useTableView } from "./context.mjs";
4
+ import { useRowExpanded } from "../store/hooks.mjs";
5
+ import { CellShell, isRenderedCell } from "./CellShell.mjs";
6
+ import { SelectionBodyCell } from "./SelectionCells.mjs";
7
+ import { memo, useRef } from "react";
8
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
9
+ //#region src/Table/render/BodyCell.tsx
10
+ const useCellRender = (column, record, renderIndex) => {
11
+ const cache = useRef(null);
12
+ if (cache.current && column.shouldCellUpdate && !column.shouldCellUpdate(record, cache.current.record)) return cache.current.output;
13
+ const value = getCellValue(record, column);
14
+ let output;
15
+ if (column.render) {
16
+ const rendered = column.render(value, record, renderIndex);
17
+ output = isRenderedCell(rendered) ? [rendered.children, rendered.props] : [rendered, void 0];
18
+ } else output = [value, void 0];
19
+ cache.current = {
20
+ output,
21
+ record
22
+ };
23
+ return output;
24
+ };
25
+ const NestIcon = ({ depth, hasChildren, record, rowKey }) => {
26
+ const { expand, prefixCls } = useTableView();
27
+ const expanded = useRowExpanded(rowKey);
28
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("span", {
29
+ className: `${prefixCls}-row-indent indent-level-${depth}`,
30
+ style: { paddingLeft: `${expand.indentSize * depth}px` }
31
+ }), expand.expandIcon({
32
+ expandable: hasChildren,
33
+ expanded,
34
+ onExpand: (target) => expand.toggle(target),
35
+ prefixCls,
36
+ record
37
+ })] });
38
+ };
39
+ const DataCell = ({ depth, hasChildren, index, leaf, record, renderIndex, rowKey, withNestIcon }) => {
40
+ const column = leaf.column.source.column;
41
+ const [childNode, legacyCellProps] = useCellRender(column, record, renderIndex);
42
+ return /* @__PURE__ */ jsx(CellShell, {
43
+ index,
44
+ leaf,
45
+ legacyCellProps,
46
+ record,
47
+ appendNode: withNestIcon ? /* @__PURE__ */ jsx(NestIcon, {
48
+ depth,
49
+ hasChildren,
50
+ record,
51
+ rowKey
52
+ }) : void 0,
53
+ children: childNode
54
+ });
55
+ };
56
+ const ExpandCell = ({ index, leaf, record, rowKey }) => {
57
+ const { expand, prefixCls } = useTableView();
58
+ const expanded = useRowExpanded(rowKey);
59
+ const icon = expand.expandIcon({
60
+ expandable: expand.rowExpandable ? expand.rowExpandable(record) : true,
61
+ expanded,
62
+ onExpand: (target) => expand.toggle(target),
63
+ prefixCls,
64
+ record
65
+ });
66
+ return /* @__PURE__ */ jsx(CellShell, {
67
+ index,
68
+ leaf,
69
+ record,
70
+ children: expand.expandRowByClick ? /* @__PURE__ */ jsx("span", {
71
+ onClick: (event) => event.stopPropagation(),
72
+ children: icon
73
+ }) : icon
74
+ });
75
+ };
76
+ const BodyCellInner = (props) => {
77
+ switch (props.leaf.column.source.kind) {
78
+ case "selection": return /* @__PURE__ */ jsx(SelectionBodyCell, { ...props });
79
+ case "expand": return /* @__PURE__ */ jsx(ExpandCell, { ...props });
80
+ default: return /* @__PURE__ */ jsx(DataCell, { ...props });
81
+ }
82
+ };
83
+ const BodyCell = memo(BodyCellInner);
84
+ //#endregion
85
+ export { BodyCell };
86
+
87
+ //# sourceMappingURL=BodyCell.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BodyCell.mjs","names":[],"sources":["../../../src/Table/render/BodyCell.tsx"],"sourcesContent":["'use client';\n\nimport { type Key, memo, type ReactNode, useRef } from 'react';\n\nimport { getCellValue } from '../pipeline/columnUtils';\nimport { useRowExpanded } from '../store/hooks';\nimport type { TableCellAttributes, TableColumnType } from '../type';\nimport { type BodyCellProps, CellShell, isRenderedCell } from './CellShell';\nimport { useTableView } from './context';\nimport { SelectionBodyCell } from './SelectionCells';\n\nconst useCellRender = <T,>(\n column: TableColumnType<T>,\n record: T,\n renderIndex: number,\n): [ReactNode, TableCellAttributes | undefined] => {\n const cache = useRef<{ output: [ReactNode, TableCellAttributes | undefined]; record: T } | null>(\n null,\n );\n if (\n cache.current &&\n column.shouldCellUpdate &&\n !column.shouldCellUpdate(record, cache.current.record)\n ) {\n return cache.current.output;\n }\n const value = getCellValue(record, column);\n let output: [ReactNode, TableCellAttributes | undefined];\n if (column.render) {\n const rendered = column.render(value, record, renderIndex);\n output = isRenderedCell(rendered)\n ? [rendered.children, rendered.props]\n : [rendered as ReactNode, undefined];\n } else {\n output = [value as ReactNode, undefined];\n }\n cache.current = { output, record };\n return output;\n};\n\nconst NestIcon = <T,>({\n depth,\n hasChildren,\n record,\n rowKey,\n}: {\n depth: number;\n hasChildren: boolean;\n record: T;\n rowKey: Key;\n}) => {\n const { expand, prefixCls } = useTableView<T>();\n const expanded = useRowExpanded(rowKey);\n return (\n <>\n <span\n className={`${prefixCls}-row-indent indent-level-${depth}`}\n style={{ paddingLeft: `${expand.indentSize * depth}px` }}\n />\n {expand.expandIcon({\n expandable: hasChildren,\n expanded,\n onExpand: (target) => expand.toggle(target),\n prefixCls,\n record,\n })}\n </>\n );\n};\n\nconst DataCell = <T,>({\n depth,\n hasChildren,\n index,\n leaf,\n record,\n renderIndex,\n rowKey,\n withNestIcon,\n}: BodyCellProps<T>) => {\n const column = leaf.column.source.column as TableColumnType<T>;\n const [childNode, legacyCellProps] = useCellRender(column, record, renderIndex);\n return (\n <CellShell\n index={index}\n leaf={leaf}\n legacyCellProps={legacyCellProps}\n record={record}\n appendNode={\n withNestIcon ? (\n <NestIcon depth={depth} hasChildren={hasChildren} record={record} rowKey={rowKey} />\n ) : undefined\n }\n >\n {childNode}\n </CellShell>\n );\n};\n\nconst ExpandCell = <T,>({ index, leaf, record, rowKey }: BodyCellProps<T>) => {\n const { expand, prefixCls } = useTableView<T>();\n const expanded = useRowExpanded(rowKey);\n const icon = expand.expandIcon({\n expandable: expand.rowExpandable ? expand.rowExpandable(record) : true,\n expanded,\n onExpand: (target) => expand.toggle(target),\n prefixCls,\n record,\n });\n return (\n <CellShell index={index} leaf={leaf} record={record}>\n {expand.expandRowByClick ? (\n <span onClick={(event) => event.stopPropagation()}>{icon}</span>\n ) : (\n icon\n )}\n </CellShell>\n );\n};\n\nconst BodyCellInner = <T,>(props: BodyCellProps<T>) => {\n switch (props.leaf.column.source.kind) {\n case 'selection': {\n return <SelectionBodyCell {...props} />;\n }\n case 'expand': {\n return <ExpandCell {...props} />;\n }\n default: {\n return <DataCell {...props} />;\n }\n }\n};\n\nexport const BodyCell = memo(BodyCellInner) as typeof BodyCellInner;\n"],"mappings":";;;;;;;;;AAWA,MAAM,iBACJ,QACA,QACA,gBACiD;CACjD,MAAM,QAAQ,OACZ,IACF;CACA,IACE,MAAM,WACN,OAAO,oBACP,CAAC,OAAO,iBAAiB,QAAQ,MAAM,QAAQ,MAAM,GAErD,OAAO,MAAM,QAAQ;CAEvB,MAAM,QAAQ,aAAa,QAAQ,MAAM;CACzC,IAAI;CACJ,IAAI,OAAO,QAAQ;EACjB,MAAM,WAAW,OAAO,OAAO,OAAO,QAAQ,WAAW;EACzD,SAAS,eAAe,QAAQ,IAC5B,CAAC,SAAS,UAAU,SAAS,KAAK,IAClC,CAAC,UAAuB,KAAA,CAAS;CACvC,OACE,SAAS,CAAC,OAAoB,KAAA,CAAS;CAEzC,MAAM,UAAU;EAAE;EAAQ;CAAO;CACjC,OAAO;AACT;AAEA,MAAM,YAAgB,EACpB,OACA,aACA,QACA,aAMI;CACJ,MAAM,EAAE,QAAQ,cAAc,aAAgB;CAC9C,MAAM,WAAW,eAAe,MAAM;CACtC,OACE,qBAAA,YAAA,EAAA,UAAA,CACE,oBAAC,QAAD;EACE,WAAW,GAAG,UAAU,2BAA2B;EACnD,OAAO,EAAE,aAAa,GAAG,OAAO,aAAa,MAAM,IAAI;CACxD,CAAA,GACA,OAAO,WAAW;EACjB,YAAY;EACZ;EACA,WAAW,WAAW,OAAO,OAAO,MAAM;EAC1C;EACA;CACF,CAAC,CACD,EAAA,CAAA;AAEN;AAEA,MAAM,YAAgB,EACpB,OACA,aACA,OACA,MACA,QACA,aACA,QACA,mBACsB;CACtB,MAAM,SAAS,KAAK,OAAO,OAAO;CAClC,MAAM,CAAC,WAAW,mBAAmB,cAAc,QAAQ,QAAQ,WAAW;CAC9E,OACE,oBAAC,WAAD;EACS;EACD;EACW;EACT;EACR,YACE,eACE,oBAAC,UAAD;GAAiB;GAAoB;GAAqB;GAAgB;EAAS,CAAA,IACjF,KAAA;EAGL,UAAA;CACQ,CAAA;AAEf;AAEA,MAAM,cAAkB,EAAE,OAAO,MAAM,QAAQ,aAA+B;CAC5E,MAAM,EAAE,QAAQ,cAAc,aAAgB;CAC9C,MAAM,WAAW,eAAe,MAAM;CACtC,MAAM,OAAO,OAAO,WAAW;EAC7B,YAAY,OAAO,gBAAgB,OAAO,cAAc,MAAM,IAAI;EAClE;EACA,WAAW,WAAW,OAAO,OAAO,MAAM;EAC1C;EACA;CACF,CAAC;CACD,OACE,oBAAC,WAAD;EAAkB;EAAa;EAAc;EAC1C,UAAA,OAAO,mBACN,oBAAC,QAAD;GAAM,UAAU,UAAU,MAAM,gBAAgB;GAAI,UAAA;EAAW,CAAA,IAE/D;CAEO,CAAA;AAEf;AAEA,MAAM,iBAAqB,UAA4B;CACrD,QAAQ,MAAM,KAAK,OAAO,OAAO,MAAjC;EACE,KAAK,aACH,OAAO,oBAAC,mBAAD,EAAmB,GAAI,MAAQ,CAAA;EAExC,KAAK,UACH,OAAO,oBAAC,YAAD,EAAY,GAAI,MAAQ,CAAA;EAEjC,SACE,OAAO,oBAAC,UAAD,EAAU,GAAI,MAAQ,CAAA;CAEjC;AACF;AAEA,MAAa,WAAW,KAAK,aAAa"}
@@ -0,0 +1,84 @@
1
+ "use client";
2
+ import { TableCell } from "../atoms/cells.mjs";
3
+ import { VirtualCellContext, useTableView } from "./context.mjs";
4
+ import { useCellHovered, useColumnSorted, useTableStoreInstance } from "../store/hooks.mjs";
5
+ import { isValidElement, use } from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ import clsx$1 from "clsx";
8
+ //#region src/Table/render/CellShell.tsx
9
+ const NO_HOVER = [-1, -1];
10
+ const isRenderedCell = (value) => typeof value === "object" && value !== null && !Array.isArray(value) && !isValidElement(value);
11
+ const CellShell = ({ appendNode, children, className, index, leaf, legacyCellProps, record }) => {
12
+ const view = useTableView();
13
+ const store = useTableStoreInstance();
14
+ const column = leaf.column.source.column;
15
+ const sorted = useColumnSorted(leaf.column.source.id);
16
+ const additional = { ...column.onCell?.(record, index) };
17
+ const colSpan = legacyCellProps?.colSpan ?? additional.colSpan ?? 1;
18
+ const rowSpan = legacyCellProps?.rowSpan ?? additional.rowSpan ?? 1;
19
+ const hoverSpan = legacyCellProps?.rowSpan ?? rowSpan;
20
+ const hovered = useCellHovered(index, hoverSpan);
21
+ const { getHeight, inverse } = use(VirtualCellContext);
22
+ const { components, prefixCls, rowHoverable, semanticClassNames, semanticStyles, virtualWidths } = view;
23
+ const hidden = virtualWidths ? inverse ? rowSpan <= 1 : colSpan === 0 || rowSpan === 0 || rowSpan > 1 : false;
24
+ if (!virtualWidths && (colSpan === 0 || rowSpan === 0)) return null;
25
+ const { className: additionalClassName, style: additionalStyle, ...additionalRest } = additional;
26
+ const onMouseEnter = (event) => {
27
+ store.setState({ hover: [index, index + hoverSpan - 1] });
28
+ additional.onMouseEnter?.(event);
29
+ };
30
+ const onMouseLeave = (event) => {
31
+ store.setState({ hover: NO_HOVER });
32
+ additional.onMouseLeave?.(event);
33
+ };
34
+ let content = hidden ? null : children;
35
+ if (typeof content === "object" && content !== null && !Array.isArray(content) && !isValidElement(content)) content = null;
36
+ const { fixedInfo } = leaf;
37
+ let virtualStyle;
38
+ if (virtualWidths) {
39
+ let width = 0;
40
+ for (let offset = 0; offset < (colSpan || 1); offset += 1) width += virtualWidths[leaf.index + offset] ?? 0;
41
+ const ownWidth = virtualWidths[leaf.index] ?? 0;
42
+ virtualStyle = {
43
+ flex: `0 0 ${width}px`,
44
+ marginInlineEnd: colSpan > 1 ? ownWidth - width : void 0,
45
+ pointerEvents: "auto",
46
+ width: `${width}px`
47
+ };
48
+ if (hidden) virtualStyle.visibility = "hidden";
49
+ else if (inverse) virtualStyle.height = getHeight?.(rowSpan);
50
+ }
51
+ const style = {
52
+ ...legacyCellProps?.style,
53
+ ...additionalStyle,
54
+ ...semanticStyles.body.cell,
55
+ ...virtualStyle
56
+ };
57
+ return /* @__PURE__ */ jsx(TableCell, {
58
+ ...legacyCellProps,
59
+ ...additionalRest,
60
+ align: column.align,
61
+ appendNode,
62
+ colSpan: virtualWidths ? 1 : colSpan,
63
+ component: column.rowScope ? components.bodyCell ?? "th" : components.bodyCell,
64
+ ellipsis: column.ellipsis,
65
+ fixEnd: fixedInfo.fixEnd,
66
+ fixStart: fixedInfo.fixStart,
67
+ hovered: !legacyCellProps && rowHoverable && hovered,
68
+ rowSpan: virtualWidths && !inverse ? 1 : rowSpan,
69
+ scope: column.rowScope,
70
+ shadowEnd: fixedInfo.shadowEnd,
71
+ shadowStart: fixedInfo.shadowStart,
72
+ style,
73
+ zIndex: fixedInfo.zIndex,
74
+ zIndexReverse: fixedInfo.zIndexReverse,
75
+ className: clsx$1(column.className, semanticClassNames.body.cell, sorted && `${prefixCls}-column-sort`, className, additionalClassName, legacyCellProps?.className),
76
+ onMouseEnter: rowHoverable ? onMouseEnter : additional.onMouseEnter,
77
+ onMouseLeave: rowHoverable ? onMouseLeave : additional.onMouseLeave,
78
+ children: content
79
+ });
80
+ };
81
+ //#endregion
82
+ export { CellShell, isRenderedCell };
83
+
84
+ //# sourceMappingURL=CellShell.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CellShell.mjs","names":["clsx"],"sources":["../../../src/Table/render/CellShell.tsx"],"sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport {\n type CSSProperties,\n isValidElement,\n type Key,\n type MouseEvent,\n type ReactNode,\n use,\n} from 'react';\n\nimport { TableCell } from '../atoms';\nimport type { LeafColumnModel } from '../engine/types';\nimport type { ColumnSource } from '../pipeline/normalizeColumns';\nimport { useCellHovered, useColumnSorted, useTableStoreInstance } from '../store/hooks';\nimport type { TableCellAttributes, TableColumnType, TableRenderedCell } from '../type';\nimport { useTableView, VirtualCellContext } from './context';\n\nexport interface BodyCellProps<T> {\n colIndex: number;\n depth: number;\n hasChildren: boolean;\n index: number;\n leaf: LeafColumnModel<ColumnSource<T>>;\n record: T;\n renderIndex: number;\n rowKey: Key;\n withNestIcon: boolean;\n}\n\nconst NO_HOVER = [-1, -1] as const;\n\nexport const isRenderedCell = (value: unknown): value is TableRenderedCell =>\n typeof value === 'object' && value !== null && !Array.isArray(value) && !isValidElement(value);\n\nexport interface CellShellProps<T> {\n appendNode?: ReactNode;\n children: ReactNode;\n className?: string;\n index: number;\n leaf: LeafColumnModel<ColumnSource<T>>;\n legacyCellProps?: TableCellAttributes;\n record: T;\n}\n\nexport const CellShell = <T,>({\n appendNode,\n children,\n className,\n index,\n leaf,\n legacyCellProps,\n record,\n}: CellShellProps<T>) => {\n const view = useTableView<T>();\n const store = useTableStoreInstance();\n const column = leaf.column.source.column as TableColumnType<T>;\n const sorted = useColumnSorted(leaf.column.source.id);\n const additional: TableCellAttributes = { ...column.onCell?.(record, index) };\n\n const colSpan = legacyCellProps?.colSpan ?? additional.colSpan ?? 1;\n const rowSpan = legacyCellProps?.rowSpan ?? additional.rowSpan ?? 1;\n const hoverSpan = legacyCellProps?.rowSpan ?? rowSpan;\n const hovered = useCellHovered(index, hoverSpan);\n const { getHeight, inverse } = use(VirtualCellContext);\n const { components, prefixCls, rowHoverable, semanticClassNames, semanticStyles, virtualWidths } =\n view;\n\n const hidden = virtualWidths\n ? inverse\n ? rowSpan <= 1\n : colSpan === 0 || rowSpan === 0 || rowSpan > 1\n : false;\n if (!virtualWidths && (colSpan === 0 || rowSpan === 0)) return null;\n\n const { className: additionalClassName, style: additionalStyle, ...additionalRest } = additional;\n const onMouseEnter = (event: MouseEvent<HTMLTableCellElement>) => {\n store.setState({ hover: [index, index + hoverSpan - 1] });\n additional.onMouseEnter?.(event);\n };\n const onMouseLeave = (event: MouseEvent<HTMLTableCellElement>) => {\n store.setState({ hover: NO_HOVER });\n additional.onMouseLeave?.(event);\n };\n\n let content = hidden ? null : children;\n if (\n typeof content === 'object' &&\n content !== null &&\n !Array.isArray(content) &&\n !isValidElement(content)\n ) {\n content = null;\n }\n\n const { fixedInfo } = leaf;\n let virtualStyle: CSSProperties | undefined;\n if (virtualWidths) {\n let width = 0;\n for (let offset = 0; offset < (colSpan || 1); offset += 1) {\n width += virtualWidths[leaf.index + offset] ?? 0;\n }\n const ownWidth = virtualWidths[leaf.index] ?? 0;\n virtualStyle = {\n flex: `0 0 ${width}px`,\n marginInlineEnd: colSpan > 1 ? ownWidth - width : undefined,\n pointerEvents: 'auto',\n width: `${width}px`,\n };\n if (hidden) virtualStyle.visibility = 'hidden';\n else if (inverse) virtualStyle.height = getHeight?.(rowSpan);\n }\n const style: CSSProperties = {\n ...legacyCellProps?.style,\n ...additionalStyle,\n ...semanticStyles.body.cell,\n ...virtualStyle,\n };\n\n return (\n <TableCell\n {...legacyCellProps}\n {...(additionalRest as object)}\n align={column.align}\n appendNode={appendNode}\n colSpan={virtualWidths ? 1 : colSpan}\n component={column.rowScope ? (components.bodyCell ?? 'th') : components.bodyCell}\n ellipsis={column.ellipsis}\n fixEnd={fixedInfo.fixEnd}\n fixStart={fixedInfo.fixStart}\n hovered={!legacyCellProps && rowHoverable && hovered}\n rowSpan={virtualWidths && !inverse ? 1 : rowSpan}\n scope={column.rowScope}\n shadowEnd={fixedInfo.shadowEnd}\n shadowStart={fixedInfo.shadowStart}\n style={style}\n zIndex={fixedInfo.zIndex}\n zIndexReverse={fixedInfo.zIndexReverse}\n className={clsx(\n column.className,\n semanticClassNames.body.cell,\n sorted && `${prefixCls}-column-sort`,\n className,\n additionalClassName,\n legacyCellProps?.className,\n )}\n onMouseEnter={rowHoverable ? onMouseEnter : additional.onMouseEnter}\n onMouseLeave={rowHoverable ? onMouseLeave : additional.onMouseLeave}\n >\n {content}\n </TableCell>\n );\n};\n"],"mappings":";;;;;;;;AA+BA,MAAM,WAAW,CAAC,IAAI,EAAE;AAExB,MAAa,kBAAkB,UAC7B,OAAO,UAAU,YAAY,UAAU,QAAQ,CAAC,MAAM,QAAQ,KAAK,KAAK,CAAC,eAAe,KAAK;AAY/F,MAAa,aAAiB,EAC5B,YACA,UACA,WACA,OACA,MACA,iBACA,aACuB;CACvB,MAAM,OAAO,aAAgB;CAC7B,MAAM,QAAQ,sBAAsB;CACpC,MAAM,SAAS,KAAK,OAAO,OAAO;CAClC,MAAM,SAAS,gBAAgB,KAAK,OAAO,OAAO,EAAE;CACpD,MAAM,aAAkC,EAAE,GAAG,OAAO,SAAS,QAAQ,KAAK,EAAE;CAE5E,MAAM,UAAU,iBAAiB,WAAW,WAAW,WAAW;CAClE,MAAM,UAAU,iBAAiB,WAAW,WAAW,WAAW;CAClE,MAAM,YAAY,iBAAiB,WAAW;CAC9C,MAAM,UAAU,eAAe,OAAO,SAAS;CAC/C,MAAM,EAAE,WAAW,YAAY,IAAI,kBAAkB;CACrD,MAAM,EAAE,YAAY,WAAW,cAAc,oBAAoB,gBAAgB,kBAC/E;CAEF,MAAM,SAAS,gBACX,UACE,WAAW,IACX,YAAY,KAAK,YAAY,KAAK,UAAU,IAC9C;CACJ,IAAI,CAAC,kBAAkB,YAAY,KAAK,YAAY,IAAI,OAAO;CAE/D,MAAM,EAAE,WAAW,qBAAqB,OAAO,iBAAiB,GAAG,mBAAmB;CACtF,MAAM,gBAAgB,UAA4C;EAChE,MAAM,SAAS,EAAE,OAAO,CAAC,OAAO,QAAQ,YAAY,CAAC,EAAE,CAAC;EACxD,WAAW,eAAe,KAAK;CACjC;CACA,MAAM,gBAAgB,UAA4C;EAChE,MAAM,SAAS,EAAE,OAAO,SAAS,CAAC;EAClC,WAAW,eAAe,KAAK;CACjC;CAEA,IAAI,UAAU,SAAS,OAAO;CAC9B,IACE,OAAO,YAAY,YACnB,YAAY,QACZ,CAAC,MAAM,QAAQ,OAAO,KACtB,CAAC,eAAe,OAAO,GAEvB,UAAU;CAGZ,MAAM,EAAE,cAAc;CACtB,IAAI;CACJ,IAAI,eAAe;EACjB,IAAI,QAAQ;EACZ,KAAK,IAAI,SAAS,GAAG,UAAU,WAAW,IAAI,UAAU,GACtD,SAAS,cAAc,KAAK,QAAQ,WAAW;EAEjD,MAAM,WAAW,cAAc,KAAK,UAAU;EAC9C,eAAe;GACb,MAAM,OAAO,MAAM;GACnB,iBAAiB,UAAU,IAAI,WAAW,QAAQ,KAAA;GAClD,eAAe;GACf,OAAO,GAAG,MAAM;EAClB;EACA,IAAI,QAAQ,aAAa,aAAa;OACjC,IAAI,SAAS,aAAa,SAAS,YAAY,OAAO;CAC7D;CACA,MAAM,QAAuB;EAC3B,GAAG,iBAAiB;EACpB,GAAG;EACH,GAAG,eAAe,KAAK;EACvB,GAAG;CACL;CAEA,OACE,oBAAC,WAAD;EACE,GAAI;EACJ,GAAK;EACL,OAAO,OAAO;EACF;EACZ,SAAS,gBAAgB,IAAI;EAC7B,WAAW,OAAO,WAAY,WAAW,YAAY,OAAQ,WAAW;EACxE,UAAU,OAAO;EACjB,QAAQ,UAAU;EAClB,UAAU,UAAU;EACpB,SAAS,CAAC,mBAAmB,gBAAgB;EAC7C,SAAS,iBAAiB,CAAC,UAAU,IAAI;EACzC,OAAO,OAAO;EACd,WAAW,UAAU;EACrB,aAAa,UAAU;EAChB;EACP,QAAQ,UAAU;EAClB,eAAe,UAAU;EACzB,WAAWA,OACT,OAAO,WACP,mBAAmB,KAAK,MACxB,UAAU,GAAG,UAAU,eACvB,WACA,qBACA,iBAAiB,SACnB;EACA,cAAc,eAAe,eAAe,WAAW;EACvD,cAAc,eAAe,eAAe,WAAW;EAEtD,UAAA;CACQ,CAAA;AAEf"}
@@ -0,0 +1,28 @@
1
+ "use client";
2
+ import ActionIcon from "../../ActionIcon/ActionIcon.mjs";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import clsx$1 from "clsx";
5
+ import { ChevronDown, ChevronRight } from "lucide-react";
6
+ //#region src/Table/render/ExpandIcon.tsx
7
+ const renderExpandIcon = ({ expandable, expanded, onExpand, prefixCls, record }, locale) => {
8
+ const iconCls = `${prefixCls}-row-expand-icon`;
9
+ if (!expandable) return /* @__PURE__ */ jsx("span", {
10
+ "aria-hidden": "true",
11
+ className: clsx$1(iconCls, `${iconCls}-spaced`)
12
+ });
13
+ return /* @__PURE__ */ jsx(ActionIcon, {
14
+ "aria-expanded": expanded,
15
+ "aria-label": expanded ? locale.collapse : locale.expand,
16
+ className: clsx$1(iconCls, expanded ? `${iconCls}-expanded` : `${iconCls}-collapsed`),
17
+ icon: expanded ? ChevronDown : ChevronRight,
18
+ size: "small",
19
+ onClick: (event) => {
20
+ onExpand(record, event);
21
+ event.stopPropagation();
22
+ }
23
+ });
24
+ };
25
+ //#endregion
26
+ export { renderExpandIcon as default };
27
+
28
+ //# sourceMappingURL=ExpandIcon.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpandIcon.mjs","names":["clsx"],"sources":["../../../src/Table/render/ExpandIcon.tsx"],"sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { ChevronDown, ChevronRight } from 'lucide-react';\nimport type { MouseEvent, ReactNode } from 'react';\n\nimport ActionIcon from '@/ActionIcon';\n\nimport type { TableExpandIconProps, TableLocale } from '../type';\n\nconst renderExpandIcon = <T,>(\n { expandable, expanded, onExpand, prefixCls, record }: TableExpandIconProps<T>,\n locale: Pick<TableLocale, 'collapse' | 'expand'>,\n): ReactNode => {\n const iconCls = `${prefixCls}-row-expand-icon`;\n if (!expandable) {\n return <span aria-hidden=\"true\" className={clsx(iconCls, `${iconCls}-spaced`)} />;\n }\n return (\n <ActionIcon\n aria-expanded={expanded}\n aria-label={expanded ? locale.collapse : locale.expand}\n className={clsx(iconCls, expanded ? `${iconCls}-expanded` : `${iconCls}-collapsed`)}\n icon={expanded ? ChevronDown : ChevronRight}\n size=\"small\"\n onClick={(event) => {\n onExpand(record, event as unknown as MouseEvent<HTMLElement>);\n event.stopPropagation();\n }}\n />\n );\n};\n\nexport default renderExpandIcon;\n"],"mappings":";;;;;;AAUA,MAAM,oBACJ,EAAE,YAAY,UAAU,UAAU,WAAW,UAC7C,WACc;CACd,MAAM,UAAU,GAAG,UAAU;CAC7B,IAAI,CAAC,YACH,OAAO,oBAAC,QAAD;EAAM,eAAY;EAAO,WAAWA,OAAK,SAAS,GAAG,QAAQ,QAAQ;CAAI,CAAA;CAElF,OACE,oBAAC,YAAD;EACE,iBAAe;EACf,cAAY,WAAW,OAAO,WAAW,OAAO;EAChD,WAAWA,OAAK,SAAS,WAAW,GAAG,QAAQ,aAAa,GAAG,QAAQ,WAAW;EAClF,MAAM,WAAW,cAAc;EAC/B,MAAK;EACL,UAAU,UAAU;GAClB,SAAS,QAAQ,KAA2C;GAC5D,MAAM,gBAAgB;EACxB;CACD,CAAA;AAEL"}