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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (666) hide show
  1. package/es/Accordion/Accordion.mjs +3 -3
  2. package/es/Accordion/Accordion.mjs.map +1 -1
  3. package/es/Accordion/atoms.mjs +2 -2
  4. package/es/Accordion/atoms.mjs.map +1 -1
  5. package/es/Accordion/style.d.mts +1 -1
  6. package/es/ActionIcon/ActionIcon.mjs +2 -2
  7. package/es/ActionIcon/ActionIcon.mjs.map +1 -1
  8. package/es/Alert/Alert.mjs +5 -5
  9. package/es/Alert/Alert.mjs.map +1 -1
  10. package/es/AutoComplete/AutoComplete.mjs +5 -5
  11. package/es/AutoComplete/AutoComplete.mjs.map +1 -1
  12. package/es/AutoComplete/style.mjs +2 -2
  13. package/es/AutoComplete/style.mjs.map +1 -1
  14. package/es/Avatar/Avatar.mjs +2 -2
  15. package/es/Avatar/Avatar.mjs.map +1 -1
  16. package/es/Avatar/AvatarGroup/index.mjs +2 -2
  17. package/es/Avatar/AvatarGroup/index.mjs.map +1 -1
  18. package/es/Breadcrumb/Breadcrumb.mjs +2 -2
  19. package/es/Breadcrumb/Breadcrumb.mjs.map +1 -1
  20. package/es/Button/Button.mjs +1 -1
  21. package/es/Button/Button.mjs.map +1 -1
  22. package/es/Button/style.d.mts +8 -1
  23. package/es/Button/style.mjs +41 -18
  24. package/es/Button/style.mjs.map +1 -1
  25. package/es/Checkbox/Checkbox.mjs +3 -3
  26. package/es/Checkbox/Checkbox.mjs.map +1 -1
  27. package/es/CodeDiff/DiffPanel.mjs +4 -4
  28. package/es/CodeDiff/DiffPanel.mjs.map +1 -1
  29. package/es/CodeEditor/CodeEditor.mjs +4 -4
  30. package/es/CodeEditor/CodeEditor.mjs.map +1 -1
  31. package/es/ColorPicker/ColorInputs.mjs +136 -0
  32. package/es/ColorPicker/ColorInputs.mjs.map +1 -0
  33. package/es/ColorPicker/ColorPanel.mjs +145 -0
  34. package/es/ColorPicker/ColorPanel.mjs.map +1 -0
  35. package/es/ColorPicker/ColorPicker.mjs +62 -199
  36. package/es/ColorPicker/ColorPicker.mjs.map +1 -1
  37. package/es/ColorPicker/SaturationArea.mjs +2 -1
  38. package/es/ColorPicker/SaturationArea.mjs.map +1 -1
  39. package/es/ColorPicker/Swatch.mjs +24 -0
  40. package/es/ColorPicker/Swatch.mjs.map +1 -0
  41. package/es/ColorPicker/Swatches.mjs +66 -0
  42. package/es/ColorPicker/Swatches.mjs.map +1 -0
  43. package/es/ColorPicker/Trigger.mjs +112 -0
  44. package/es/ColorPicker/Trigger.mjs.map +1 -0
  45. package/es/ColorPicker/color.mjs +25 -1
  46. package/es/ColorPicker/color.mjs.map +1 -1
  47. package/es/ColorPicker/recent.mjs +25 -0
  48. package/es/ColorPicker/recent.mjs.map +1 -0
  49. package/es/ColorPicker/style.mjs +269 -70
  50. package/es/ColorPicker/style.mjs.map +1 -1
  51. package/es/ColorPicker/type.d.mts +15 -0
  52. package/es/ContextMenu/ContextMenuHost.mjs +2 -2
  53. package/es/ContextMenu/ContextMenuHost.mjs.map +1 -1
  54. package/es/ContextMenu/ContextMenuTrigger.mjs +2 -2
  55. package/es/ContextMenu/ContextMenuTrigger.mjs.map +1 -1
  56. package/es/ContextMenu/renderItems.mjs +3 -3
  57. package/es/ContextMenu/renderItems.mjs.map +1 -1
  58. package/es/DatePicker/DatePicker.d.mts +7 -2
  59. package/es/DatePicker/DatePicker.mjs +13 -85
  60. package/es/DatePicker/DatePicker.mjs.map +1 -1
  61. package/es/DatePicker/DateRangePicker.d.mts +3 -2
  62. package/es/DatePicker/DateRangePicker.mjs +3 -125
  63. package/es/DatePicker/DateRangePicker.mjs.map +1 -1
  64. package/es/DatePicker/PurePanel.mjs +65 -0
  65. package/es/DatePicker/PurePanel.mjs.map +1 -0
  66. package/es/DatePicker/RangePicker.mjs +115 -0
  67. package/es/DatePicker/RangePicker.mjs.map +1 -0
  68. package/es/DatePicker/SinglePicker.mjs +132 -0
  69. package/es/DatePicker/SinglePicker.mjs.map +1 -0
  70. package/es/DatePicker/core/PickerInput/Popup/Footer.mjs +57 -0
  71. package/es/DatePicker/core/PickerInput/Popup/Footer.mjs.map +1 -0
  72. package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs +57 -0
  73. package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs.map +1 -0
  74. package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs +29 -0
  75. package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs.map +1 -0
  76. package/es/DatePicker/core/PickerInput/Popup/index.mjs +133 -0
  77. package/es/DatePicker/core/PickerInput/Popup/index.mjs.map +1 -0
  78. package/es/DatePicker/core/PickerInput/RangePicker.d.mts +51 -0
  79. package/es/DatePicker/core/PickerInput/RangePicker.mjs +343 -0
  80. package/es/DatePicker/core/PickerInput/RangePicker.mjs.map +1 -0
  81. package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs +27 -0
  82. package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs.map +1 -0
  83. package/es/DatePicker/core/PickerInput/Selector/Icon.mjs +19 -0
  84. package/es/DatePicker/core/PickerInput/Selector/Icon.mjs.map +1 -0
  85. package/es/DatePicker/core/PickerInput/Selector/Input.mjs +237 -0
  86. package/es/DatePicker/core/PickerInput/Selector/Input.mjs.map +1 -0
  87. package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs +70 -0
  88. package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs.map +1 -0
  89. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.d.mts +8 -0
  90. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs +136 -0
  91. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs.map +1 -0
  92. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs +28 -0
  93. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs.map +1 -0
  94. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs +69 -0
  95. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs.map +1 -0
  96. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs +111 -0
  97. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs.map +1 -0
  98. package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs +18 -0
  99. package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs.map +1 -0
  100. package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs +108 -0
  101. package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs.map +1 -0
  102. package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs +11 -0
  103. package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs.map +1 -0
  104. package/es/DatePicker/core/PickerInput/Selector/util.mjs +20 -0
  105. package/es/DatePicker/core/PickerInput/Selector/util.mjs.map +1 -0
  106. package/es/DatePicker/core/PickerInput/SinglePicker.d.mts +55 -0
  107. package/es/DatePicker/core/PickerInput/SinglePicker.mjs +318 -0
  108. package/es/DatePicker/core/PickerInput/SinglePicker.mjs.map +1 -0
  109. package/es/DatePicker/core/PickerInput/context.mjs +7 -0
  110. package/es/DatePicker/core/PickerInput/context.mjs.map +1 -0
  111. package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs +30 -0
  112. package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs.map +1 -0
  113. package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs +37 -0
  114. package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs.map +1 -0
  115. package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs +18 -0
  116. package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs.map +1 -0
  117. package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs +20 -0
  118. package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs.map +1 -0
  119. package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs +31 -0
  120. package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs.map +1 -0
  121. package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs +98 -0
  122. package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs.map +1 -0
  123. package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs +41 -0
  124. package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs.map +1 -0
  125. package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs +34 -0
  126. package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs.map +1 -0
  127. package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs +35 -0
  128. package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs.map +1 -0
  129. package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs +9 -0
  130. package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs.map +1 -0
  131. package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs +36 -0
  132. package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs.map +1 -0
  133. package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs +27 -0
  134. package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs.map +1 -0
  135. package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs +18 -0
  136. package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs.map +1 -0
  137. package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs +19 -0
  138. package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs.map +1 -0
  139. package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs +20 -0
  140. package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs.map +1 -0
  141. package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs +24 -0
  142. package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs.map +1 -0
  143. package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs +107 -0
  144. package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs.map +1 -0
  145. package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs +144 -0
  146. package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs.map +1 -0
  147. package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs +219 -0
  148. package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs.map +1 -0
  149. package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs +11 -0
  150. package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs.map +1 -0
  151. package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs +131 -0
  152. package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs.map +1 -0
  153. package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs +35 -0
  154. package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs.map +1 -0
  155. package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs +84 -0
  156. package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs.map +1 -0
  157. package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs +73 -0
  158. package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs.map +1 -0
  159. package/es/DatePicker/core/PickerPanel/PanelBody.mjs +95 -0
  160. package/es/DatePicker/core/PickerPanel/PanelBody.mjs.map +1 -0
  161. package/es/DatePicker/core/PickerPanel/PanelHeader.mjs +130 -0
  162. package/es/DatePicker/core/PickerPanel/PanelHeader.mjs.map +1 -0
  163. package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs +64 -0
  164. package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs.map +1 -0
  165. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs +108 -0
  166. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs.map +1 -0
  167. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs +44 -0
  168. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs.map +1 -0
  169. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs +157 -0
  170. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs.map +1 -0
  171. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs +100 -0
  172. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs.map +1 -0
  173. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs +71 -0
  174. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs.map +1 -0
  175. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs +62 -0
  176. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs.map +1 -0
  177. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs +200 -0
  178. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs.map +1 -0
  179. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs +25 -0
  180. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs.map +1 -0
  181. package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs +31 -0
  182. package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs.map +1 -0
  183. package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs +34 -0
  184. package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs.map +1 -0
  185. package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs +92 -0
  186. package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs.map +1 -0
  187. package/es/DatePicker/core/PickerPanel/context.mjs +48 -0
  188. package/es/DatePicker/core/PickerPanel/context.mjs.map +1 -0
  189. package/es/DatePicker/core/PickerPanel/index.d.mts +1 -0
  190. package/es/DatePicker/core/PickerPanel/index.mjs +175 -0
  191. package/es/DatePicker/core/PickerPanel/index.mjs.map +1 -0
  192. package/es/DatePicker/core/PickerPopup.mjs +118 -0
  193. package/es/DatePicker/core/PickerPopup.mjs.map +1 -0
  194. package/es/DatePicker/core/generate/dayjs.mjs +109 -0
  195. package/es/DatePicker/core/generate/dayjs.mjs.map +1 -0
  196. package/es/DatePicker/core/generate/index.d.mts +40 -0
  197. package/es/DatePicker/core/hooks/react.mjs +58 -0
  198. package/es/DatePicker/core/hooks/react.mjs.map +1 -0
  199. package/es/DatePicker/core/hooks/useLocale.mjs +51 -0
  200. package/es/DatePicker/core/hooks/useLocale.mjs.map +1 -0
  201. package/es/DatePicker/core/hooks/useSemantic.mjs +20 -0
  202. package/es/DatePicker/core/hooks/useSemantic.mjs.map +1 -0
  203. package/es/DatePicker/core/hooks/useSyncState.mjs +25 -0
  204. package/es/DatePicker/core/hooks/useSyncState.mjs.map +1 -0
  205. package/es/DatePicker/core/hooks/useTimeConfig.mjs +173 -0
  206. package/es/DatePicker/core/hooks/useTimeConfig.mjs.map +1 -0
  207. package/es/DatePicker/core/hooks/useTimeInfo.mjs +110 -0
  208. package/es/DatePicker/core/hooks/useTimeInfo.mjs.map +1 -0
  209. package/es/DatePicker/core/hooks/useToggleDates.mjs +21 -0
  210. package/es/DatePicker/core/hooks/useToggleDates.mjs.map +1 -0
  211. package/es/DatePicker/core/index.d.mts +5 -0
  212. package/es/DatePicker/core/index.mjs +9 -0
  213. package/es/DatePicker/core/index.mjs.map +1 -0
  214. package/es/DatePicker/core/interface.d.mts +325 -0
  215. package/es/DatePicker/core/locale/common.mjs +11 -0
  216. package/es/DatePicker/core/locale/common.mjs.map +1 -0
  217. package/es/DatePicker/core/locale/en_US.mjs +39 -0
  218. package/es/DatePicker/core/locale/en_US.mjs.map +1 -0
  219. package/es/DatePicker/core/utils/common.mjs +73 -0
  220. package/es/DatePicker/core/utils/common.mjs.map +1 -0
  221. package/es/DatePicker/core/utils/dateUtil.mjs +106 -0
  222. package/es/DatePicker/core/utils/dateUtil.mjs.map +1 -0
  223. package/es/DatePicker/core/utils/miscUtil.mjs +46 -0
  224. package/es/DatePicker/core/utils/miscUtil.mjs.map +1 -0
  225. package/es/DatePicker/core/utils/uiUtil.mjs +9 -0
  226. package/es/DatePicker/core/utils/uiUtil.mjs.map +1 -0
  227. package/es/DatePicker/generateConfig.mjs +12 -0
  228. package/es/DatePicker/generateConfig.mjs.map +1 -0
  229. package/es/DatePicker/generatePicker.d.mts +12 -0
  230. package/es/DatePicker/generatePicker.mjs +22 -0
  231. package/es/DatePicker/generatePicker.mjs.map +1 -0
  232. package/es/DatePicker/index.d.mts +6 -3
  233. package/es/DatePicker/index.mjs +3 -1
  234. package/es/DatePicker/locale.d.mts +15 -0
  235. package/es/DatePicker/locale.mjs +143 -0
  236. package/es/DatePicker/locale.mjs.map +1 -0
  237. package/es/DatePicker/semantic.mjs +29 -0
  238. package/es/DatePicker/semantic.mjs.map +1 -0
  239. package/es/DatePicker/style.mjs +3 -155
  240. package/es/DatePicker/style.mjs.map +1 -1
  241. package/es/DatePicker/type.d.mts +268 -27
  242. package/es/DatePicker/usePanelKeyboard.mjs +230 -0
  243. package/es/DatePicker/usePanelKeyboard.mjs.map +1 -0
  244. package/es/DatePicker/usePickerShared.mjs +106 -0
  245. package/es/DatePicker/usePickerShared.mjs.map +1 -0
  246. package/es/DatePicker/usePresetActive.mjs +48 -0
  247. package/es/DatePicker/usePresetActive.mjs.map +1 -0
  248. package/es/DraggablePanel/atoms.mjs +5 -5
  249. package/es/DraggablePanel/atoms.mjs.map +1 -1
  250. package/es/DraggableSideNav/DraggableSideNav.mjs +3 -3
  251. package/es/DraggableSideNav/DraggableSideNav.mjs.map +1 -1
  252. package/es/Drawer/Drawer.mjs +2 -2
  253. package/es/Drawer/Drawer.mjs.map +1 -1
  254. package/es/Drawer/atoms.mjs +6 -6
  255. package/es/Drawer/atoms.mjs.map +1 -1
  256. package/es/DropdownMenu/atoms.mjs +22 -22
  257. package/es/DropdownMenu/atoms.mjs.map +1 -1
  258. package/es/DropdownMenu/sharedStyle.mjs +2 -2
  259. package/es/DropdownMenu/sharedStyle.mjs.map +1 -1
  260. package/es/EditorSlashMenu/atoms.mjs +12 -12
  261. package/es/EditorSlashMenu/atoms.mjs.map +1 -1
  262. package/es/EmojiPicker/EmojiPicker.mjs +7 -7
  263. package/es/EmojiPicker/EmojiPicker.mjs.map +1 -1
  264. package/es/EmojiPicker/loadEmojiData.mjs +6 -0
  265. package/es/EmojiPicker/loadEmojiData.mjs.map +1 -0
  266. package/es/FloatingPanel/FloatingPanel.mjs +2 -2
  267. package/es/FloatingPanel/FloatingPanel.mjs.map +1 -1
  268. package/es/FormKit/List.mjs +2 -2
  269. package/es/FormKit/List.mjs.map +1 -1
  270. package/es/Highlighter/FullFeatured.mjs +2 -2
  271. package/es/Highlighter/FullFeatured.mjs.map +1 -1
  272. package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs +2 -2
  273. package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs.map +1 -1
  274. package/es/Highlighter/SyntaxHighlighter/index.mjs +4 -4
  275. package/es/Highlighter/SyntaxHighlighter/index.mjs.map +1 -1
  276. package/es/Highlighter/style.mjs +2 -2
  277. package/es/Highlighter/style.mjs.map +1 -1
  278. package/es/HtmlPreview/HtmlPreview.mjs +2 -2
  279. package/es/HtmlPreview/HtmlPreview.mjs.map +1 -1
  280. package/es/Icon/Icon.mjs +2 -2
  281. package/es/Icon/Icon.mjs.map +1 -1
  282. package/es/List/ListRow.mjs +3 -3
  283. package/es/List/ListRow.mjs.map +1 -1
  284. package/es/Markdown/Markdown.mjs +2 -2
  285. package/es/Markdown/Markdown.mjs.map +1 -1
  286. package/es/Markdown/Typography.mjs +2 -2
  287. package/es/Markdown/Typography.mjs.map +1 -1
  288. package/es/Mermaid/FullFeatured.mjs +2 -2
  289. package/es/Mermaid/FullFeatured.mjs.map +1 -1
  290. package/es/Mermaid/SyntaxMermaid/index.mjs +4 -4
  291. package/es/Mermaid/SyntaxMermaid/index.mjs.map +1 -1
  292. package/es/Modal/atoms.mjs +6 -6
  293. package/es/Modal/atoms.mjs.map +1 -1
  294. package/es/Pagination/Pagination.mjs +181 -41
  295. package/es/Pagination/Pagination.mjs.map +1 -1
  296. package/es/Pagination/helpers.mjs +3 -3
  297. package/es/Pagination/helpers.mjs.map +1 -1
  298. package/es/Pagination/index.d.mts +2 -2
  299. package/es/Pagination/marker.stylex.mjs +9 -0
  300. package/es/Pagination/marker.stylex.mjs.map +1 -0
  301. package/es/Pagination/style.mjs +74 -4
  302. package/es/Pagination/style.mjs.map +1 -1
  303. package/es/Pagination/type.d.mts +41 -3
  304. package/es/Popover/PopoverInGroup.mjs +2 -2
  305. package/es/Popover/PopoverInGroup.mjs.map +1 -1
  306. package/es/Popover/atoms.mjs +6 -6
  307. package/es/Popover/atoms.mjs.map +1 -1
  308. package/es/ProTable/ProTable.d.mts +11 -0
  309. package/es/ProTable/ProTable.mjs +208 -0
  310. package/es/ProTable/ProTable.mjs.map +1 -0
  311. package/es/ProTable/hooks/useColumnRequest.mjs +55 -0
  312. package/es/ProTable/hooks/useColumnRequest.mjs.map +1 -0
  313. package/es/ProTable/hooks/useColumnsState.mjs +37 -0
  314. package/es/ProTable/hooks/useColumnsState.mjs.map +1 -0
  315. package/es/ProTable/hooks/useDelayedFlag.mjs +18 -0
  316. package/es/ProTable/hooks/useDelayedFlag.mjs.map +1 -0
  317. package/es/ProTable/hooks/useDensity.mjs +15 -0
  318. package/es/ProTable/hooks/useDensity.mjs.map +1 -0
  319. package/es/ProTable/hooks/useFetchData.mjs +97 -0
  320. package/es/ProTable/hooks/useFetchData.mjs.map +1 -0
  321. package/es/ProTable/hooks/useFullscreen.mjs +22 -0
  322. package/es/ProTable/hooks/useFullscreen.mjs.map +1 -0
  323. package/es/ProTable/hooks/usePageInfo.mjs +35 -0
  324. package/es/ProTable/hooks/usePageInfo.mjs.map +1 -0
  325. package/es/ProTable/hooks/useProColumns.mjs +123 -0
  326. package/es/ProTable/hooks/useProColumns.mjs.map +1 -0
  327. package/es/ProTable/hooks/useProLoading.mjs +19 -0
  328. package/es/ProTable/hooks/useProLoading.mjs.map +1 -0
  329. package/es/ProTable/hooks/useProLocale.mjs +22 -0
  330. package/es/ProTable/hooks/useProLocale.mjs.map +1 -0
  331. package/es/ProTable/hooks/useProRequest.mjs +137 -0
  332. package/es/ProTable/hooks/useProRequest.mjs.map +1 -0
  333. package/es/ProTable/hooks/useRowCache.mjs +11 -0
  334. package/es/ProTable/hooks/useRowCache.mjs.map +1 -0
  335. package/es/ProTable/hooks/useSearchForm.mjs +141 -0
  336. package/es/ProTable/hooks/useSearchForm.mjs.map +1 -0
  337. package/es/ProTable/hooks/useTableBindings.mjs +39 -0
  338. package/es/ProTable/hooks/useTableBindings.mjs.map +1 -0
  339. package/es/ProTable/hooks/useTableSelection.mjs +14 -0
  340. package/es/ProTable/hooks/useTableSelection.mjs.map +1 -0
  341. package/es/ProTable/index.d.mts +4 -0
  342. package/es/ProTable/index.d.ts +1 -0
  343. package/es/ProTable/index.js +1 -0
  344. package/es/ProTable/index.mjs +3 -0
  345. package/es/ProTable/locale.d.mts +15 -0
  346. package/es/ProTable/locale.mjs +66 -0
  347. package/es/ProTable/locale.mjs.map +1 -0
  348. package/es/ProTable/parts/ColumnSetting.mjs +155 -0
  349. package/es/ProTable/parts/ColumnSetting.mjs.map +1 -0
  350. package/es/ProTable/parts/FieldControl.mjs +117 -0
  351. package/es/ProTable/parts/FieldControl.mjs.map +1 -0
  352. package/es/ProTable/parts/KeywordInput.mjs +19 -0
  353. package/es/ProTable/parts/KeywordInput.mjs.map +1 -0
  354. package/es/ProTable/parts/LightFilter.mjs +70 -0
  355. package/es/ProTable/parts/LightFilter.mjs.map +1 -0
  356. package/es/ProTable/parts/OptionPopover.mjs +17 -0
  357. package/es/ProTable/parts/OptionPopover.mjs.map +1 -0
  358. package/es/ProTable/parts/SearchForm.mjs +180 -0
  359. package/es/ProTable/parts/SearchForm.mjs.map +1 -0
  360. package/es/ProTable/parts/SearchSection.mjs +33 -0
  361. package/es/ProTable/parts/SearchSection.mjs.map +1 -0
  362. package/es/ProTable/parts/TableAlert.mjs +38 -0
  363. package/es/ProTable/parts/TableAlert.mjs.map +1 -0
  364. package/es/ProTable/parts/Toolbar.mjs +50 -0
  365. package/es/ProTable/parts/Toolbar.mjs.map +1 -0
  366. package/es/ProTable/parts/ToolbarOptions.mjs +103 -0
  367. package/es/ProTable/parts/ToolbarOptions.mjs.map +1 -0
  368. package/es/ProTable/parts/renderValue.mjs +118 -0
  369. package/es/ProTable/parts/renderValue.mjs.map +1 -0
  370. package/es/ProTable/style.mjs +278 -0
  371. package/es/ProTable/style.mjs.map +1 -0
  372. package/es/ProTable/type.d.mts +397 -0
  373. package/es/ProTable/utils.mjs +152 -0
  374. package/es/ProTable/utils.mjs.map +1 -0
  375. package/es/Radio/Radio.mjs +3 -3
  376. package/es/Radio/Radio.mjs.map +1 -1
  377. package/es/ScrollArea/atoms.mjs +4 -4
  378. package/es/ScrollArea/atoms.mjs.map +1 -1
  379. package/es/Segmented/Segmented.mjs +3 -3
  380. package/es/Segmented/Segmented.mjs.map +1 -1
  381. package/es/Segmented/atoms.mjs +2 -2
  382. package/es/Segmented/atoms.mjs.map +1 -1
  383. package/es/Select/Select.mjs +22 -13
  384. package/es/Select/Select.mjs.map +1 -1
  385. package/es/Select/atoms.mjs +4 -4
  386. package/es/Select/atoms.mjs.map +1 -1
  387. package/es/Select/helpers.mjs +8 -1
  388. package/es/Select/helpers.mjs.map +1 -1
  389. package/es/Select/hooks.mjs +8 -4
  390. package/es/Select/hooks.mjs.map +1 -1
  391. package/es/Select/renderOptions.mjs +2 -2
  392. package/es/Select/renderOptions.mjs.map +1 -1
  393. package/es/Select/type.d.mts +7 -0
  394. package/es/Switch/Switch.mjs +2 -2
  395. package/es/Switch/Switch.mjs.map +1 -1
  396. package/es/Switch/atoms.mjs +2 -2
  397. package/es/Switch/atoms.mjs.map +1 -1
  398. package/es/Table/Column.d.mts +8 -0
  399. package/es/Table/Column.mjs +6 -0
  400. package/es/Table/Column.mjs.map +1 -0
  401. package/es/Table/ColumnGroup.d.mts +11 -0
  402. package/es/Table/ColumnGroup.mjs +6 -0
  403. package/es/Table/ColumnGroup.mjs.map +1 -0
  404. package/es/Table/Table.d.mts +16 -2
  405. package/es/Table/Table.mjs +149 -118
  406. package/es/Table/Table.mjs.map +1 -1
  407. package/es/Table/atoms/cells.d.mts +42 -0
  408. package/es/Table/atoms/cells.mjs +72 -0
  409. package/es/Table/atoms/cells.mjs.map +1 -0
  410. package/es/Table/atoms/index.d.mts +3 -0
  411. package/es/Table/atoms/layout.d.mts +44 -0
  412. package/es/Table/atoms/layout.mjs +62 -0
  413. package/es/Table/atoms/layout.mjs.map +1 -0
  414. package/es/Table/constants.mjs +16 -0
  415. package/es/Table/constants.mjs.map +1 -0
  416. package/es/Table/engine/fixed.d.mts +1 -0
  417. package/es/Table/engine/fixed.mjs +53 -0
  418. package/es/Table/engine/fixed.mjs.map +1 -0
  419. package/es/Table/engine/types.d.mts +1 -0
  420. package/es/Table/engine/useTableEngine.mjs +180 -0
  421. package/es/Table/engine/useTableEngine.mjs.map +1 -0
  422. package/es/Table/index.d.mts +7 -2
  423. package/es/Table/index.mjs +4 -1
  424. package/es/Table/internal.d.mts +3 -0
  425. package/es/Table/pipeline/columnUtils.d.mts +5 -0
  426. package/es/Table/pipeline/columnUtils.mjs +58 -0
  427. package/es/Table/pipeline/columnUtils.mjs.map +1 -0
  428. package/es/Table/pipeline/convertChildrenToColumns.mjs +24 -0
  429. package/es/Table/pipeline/convertChildrenToColumns.mjs.map +1 -0
  430. package/es/Table/pipeline/normalizeColumns.mjs +140 -0
  431. package/es/Table/pipeline/normalizeColumns.mjs.map +1 -0
  432. package/es/Table/pipeline/selectionUtils.d.mts +9 -0
  433. package/es/Table/pipeline/selectionUtils.mjs +115 -0
  434. package/es/Table/pipeline/selectionUtils.mjs.map +1 -0
  435. package/es/Table/pipeline/useBreakpoint.mjs +36 -0
  436. package/es/Table/pipeline/useBreakpoint.mjs.map +1 -0
  437. package/es/Table/pipeline/useExpandable.mjs +45 -0
  438. package/es/Table/pipeline/useExpandable.mjs.map +1 -0
  439. package/es/Table/pipeline/useFilter.mjs +52 -0
  440. package/es/Table/pipeline/useFilter.mjs.map +1 -0
  441. package/es/Table/pipeline/useSelection.mjs +302 -0
  442. package/es/Table/pipeline/useSelection.mjs.map +1 -0
  443. package/es/Table/pipeline/useSorter.mjs +146 -0
  444. package/es/Table/pipeline/useSorter.mjs.map +1 -0
  445. package/es/Table/pipeline/useTableLocale.mjs +30 -0
  446. package/es/Table/pipeline/useTableLocale.mjs.map +1 -0
  447. package/es/Table/pipeline/useTableState.mjs +118 -0
  448. package/es/Table/pipeline/useTableState.mjs.map +1 -0
  449. package/es/Table/pipeline/useVirtualLayout.mjs +80 -0
  450. package/es/Table/pipeline/useVirtualLayout.mjs.map +1 -0
  451. package/es/Table/render/Body.mjs +150 -0
  452. package/es/Table/render/Body.mjs.map +1 -0
  453. package/es/Table/render/BodyCell.mjs +87 -0
  454. package/es/Table/render/BodyCell.mjs.map +1 -0
  455. package/es/Table/render/CellShell.mjs +84 -0
  456. package/es/Table/render/CellShell.mjs.map +1 -0
  457. package/es/Table/render/ExpandIcon.mjs +28 -0
  458. package/es/Table/render/ExpandIcon.mjs.map +1 -0
  459. package/es/Table/render/FilterDropdown.mjs +139 -0
  460. package/es/Table/render/FilterDropdown.mjs.map +1 -0
  461. package/es/Table/render/FilterPanel.mjs +152 -0
  462. package/es/Table/render/FilterPanel.mjs.map +1 -0
  463. package/es/Table/render/FixedFrost.mjs +113 -0
  464. package/es/Table/render/FixedFrost.mjs.map +1 -0
  465. package/es/Table/render/FixedHolder.mjs +51 -0
  466. package/es/Table/render/FixedHolder.mjs.map +1 -0
  467. package/es/Table/render/Header.mjs +184 -0
  468. package/es/Table/render/Header.mjs.map +1 -0
  469. package/es/Table/render/LoadingSkeleton.mjs +78 -0
  470. package/es/Table/render/LoadingSkeleton.mjs.map +1 -0
  471. package/es/Table/render/PaginationBar.mjs +71 -0
  472. package/es/Table/render/PaginationBar.mjs.map +1 -0
  473. package/es/Table/render/SelectionCells.mjs +111 -0
  474. package/es/Table/render/SelectionCells.mjs.map +1 -0
  475. package/es/Table/render/StickyScrollBar.mjs +99 -0
  476. package/es/Table/render/StickyScrollBar.mjs.map +1 -0
  477. package/es/Table/render/Summary.d.mts +16 -0
  478. package/es/Table/render/Summary.mjs +58 -0
  479. package/es/Table/render/Summary.mjs.map +1 -0
  480. package/es/Table/render/TableView.mjs +215 -0
  481. package/es/Table/render/TableView.mjs.map +1 -0
  482. package/es/Table/render/VirtualBody.mjs +101 -0
  483. package/es/Table/render/VirtualBody.mjs.map +1 -0
  484. package/es/Table/render/context.mjs +15 -0
  485. package/es/Table/render/context.mjs.map +1 -0
  486. package/es/Table/render/filterUtils.mjs +22 -0
  487. package/es/Table/render/filterUtils.mjs.map +1 -0
  488. package/es/Table/render/tableHelpers.mjs +27 -0
  489. package/es/Table/render/tableHelpers.mjs.map +1 -0
  490. package/es/Table/render/useColGroups.mjs +23 -0
  491. package/es/Table/render/useColGroups.mjs.map +1 -0
  492. package/es/Table/render/useScrollSync.mjs +104 -0
  493. package/es/Table/render/useScrollSync.mjs.map +1 -0
  494. package/es/Table/render/useViewContexts.mjs +134 -0
  495. package/es/Table/render/useViewContexts.mjs.map +1 -0
  496. package/es/Table/semantic.mjs +45 -0
  497. package/es/Table/semantic.mjs.map +1 -0
  498. package/es/Table/store/createTableStore.d.mts +1 -0
  499. package/es/Table/store/createTableStore.mjs +40 -0
  500. package/es/Table/store/createTableStore.mjs.map +1 -0
  501. package/es/Table/store/hooks.mjs +24 -0
  502. package/es/Table/store/hooks.mjs.map +1 -0
  503. package/es/Table/style.mjs +175 -90
  504. package/es/Table/style.mjs.map +1 -1
  505. package/es/Table/type.d.mts +467 -37
  506. package/es/Table/useTableController.mjs +293 -0
  507. package/es/Table/useTableController.mjs.map +1 -0
  508. package/es/Tabs/Tabs.mjs +2 -2
  509. package/es/Tabs/Tabs.mjs.map +1 -1
  510. package/es/Tabs/atoms.mjs +2 -2
  511. package/es/Tabs/atoms.mjs.map +1 -1
  512. package/es/Tabs/style.d.mts +1 -1
  513. package/es/Tag/Tag.mjs +2 -2
  514. package/es/Tag/Tag.mjs.map +1 -1
  515. package/es/Text/Text.mjs +2 -2
  516. package/es/Text/Text.mjs.map +1 -1
  517. package/es/Text/style.d.mts +3 -3
  518. package/es/Text/style.mjs +3 -3
  519. package/es/Text/style.mjs.map +1 -1
  520. package/es/ToggleGroup/ToggleGroup.mjs +3 -3
  521. package/es/ToggleGroup/ToggleGroup.mjs.map +1 -1
  522. package/es/ToggleGroup/atoms.mjs +2 -2
  523. package/es/ToggleGroup/atoms.mjs.map +1 -1
  524. package/es/Tooltip/TooltipGroup.mjs +3 -3
  525. package/es/Tooltip/TooltipGroup.mjs.map +1 -1
  526. package/es/Tooltip/TooltipStandalone.mjs +3 -3
  527. package/es/Tooltip/TooltipStandalone.mjs.map +1 -1
  528. package/es/Tree/Tree.mjs +2 -2
  529. package/es/Tree/Tree.mjs.map +1 -1
  530. package/es/Tree/TreeNode.mjs +2 -2
  531. package/es/Tree/TreeNode.mjs.map +1 -1
  532. package/es/Video/Video.mjs +2 -2
  533. package/es/Video/Video.mjs.map +1 -1
  534. package/es/awesome/Features/FeatureItem.mjs +2 -2
  535. package/es/awesome/Features/FeatureItem.mjs.map +1 -1
  536. package/es/awesome/Hero/Hero.mjs +3 -3
  537. package/es/awesome/Hero/Hero.mjs.map +1 -1
  538. package/es/awesome/InstallBanner/InstallBanner.mjs +2 -2
  539. package/es/awesome/InstallBanner/InstallBanner.mjs.map +1 -1
  540. package/es/awesome/LandingHero/LandingHero.mjs +3 -3
  541. package/es/awesome/LandingHero/LandingHero.mjs.map +1 -1
  542. package/es/awesome/LogoMarquee/LogoMarquee.mjs +2 -2
  543. package/es/awesome/LogoMarquee/LogoMarquee.mjs.map +1 -1
  544. package/es/awesome/TypewriterEffect/TypewriterEffect.mjs +4 -4
  545. package/es/awesome/TypewriterEffect/TypewriterEffect.mjs.map +1 -1
  546. package/es/awesome/landingActions.mjs +2 -2
  547. package/es/awesome/landingActions.mjs.map +1 -1
  548. package/es/chat/ChatItem/ChatItem.mjs +2 -2
  549. package/es/chat/ChatItem/ChatItem.mjs.map +1 -1
  550. package/es/chat/EditableMessage/EditableMessage.mjs +3 -3
  551. package/es/chat/EditableMessage/EditableMessage.mjs.map +1 -1
  552. package/es/chat/EditableMessageList/EditableMessageList.mjs +1 -1
  553. package/es/chat/MessageInput/MessageInput.mjs +3 -3
  554. package/es/chat/MessageInput/MessageInput.mjs.map +1 -1
  555. package/es/dashboard/AuthLayout/AuthLayout.mjs +8 -4
  556. package/es/dashboard/AuthLayout/AuthLayout.mjs.map +1 -1
  557. package/es/dashboard/AuthLayout/style.mjs +14 -3
  558. package/es/dashboard/AuthLayout/style.mjs.map +1 -1
  559. package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs +2 -2
  560. package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs.map +1 -1
  561. package/es/dashboard/AuthTools/AuthThemeSwitch.mjs +2 -2
  562. package/es/dashboard/AuthTools/AuthThemeSwitch.mjs.map +1 -1
  563. package/es/dashboard/ConsoleNav/ConsoleNav.mjs +3 -3
  564. package/es/dashboard/ConsoleNav/ConsoleNav.mjs.map +1 -1
  565. package/es/dashboard/ConsoleNav/style.mjs +2 -2
  566. package/es/dashboard/ConsoleNav/style.mjs.map +1 -1
  567. package/es/dashboard/ConsoleShell/style.mjs +1 -1
  568. package/es/dashboard/ConsoleShell/style.mjs.map +1 -1
  569. package/es/dashboard/FilterSidebar/FilterSidebar.mjs +1 -1
  570. package/es/dashboard/FilterSidebar/style.mjs +2 -2
  571. package/es/dashboard/FilterSidebar/style.mjs.map +1 -1
  572. package/es/dashboard/FilterStrip/style.mjs +1 -1
  573. package/es/dashboard/FilterStrip/style.mjs.map +1 -1
  574. package/es/dashboard/MetricStrip/MetricCell.mjs +25 -14
  575. package/es/dashboard/MetricStrip/MetricCell.mjs.map +1 -1
  576. package/es/dashboard/MetricStrip/style.mjs +14 -1
  577. package/es/dashboard/MetricStrip/style.mjs.map +1 -1
  578. package/es/dashboard/MetricStrip/type.d.mts +2 -0
  579. package/es/dashboard/PageSkeleton/style.mjs +2 -1
  580. package/es/dashboard/PageSkeleton/style.mjs.map +1 -1
  581. package/es/dashboard/StatCard/StatCard.d.mts +1 -1
  582. package/es/dashboard/StatCard/StatCard.mjs +2 -1
  583. package/es/dashboard/StatCard/StatCard.mjs.map +1 -1
  584. package/es/dashboard/StatCard/type.d.mts +2 -0
  585. package/es/dashboard/Surface/Surface.mjs +3 -4
  586. package/es/dashboard/Surface/Surface.mjs.map +1 -1
  587. package/es/dashboard/Surface/link.mjs +1 -1
  588. package/es/dashboard/Surface/link.mjs.map +1 -1
  589. package/es/dashboard/Surface/style.mjs +15 -14
  590. package/es/dashboard/Surface/style.mjs.map +1 -1
  591. package/es/dashboard/index.mjs +2 -2
  592. package/es/eslint/noBaseUiSubpath.mjs +2 -1
  593. package/es/eslint/noBaseUiSubpath.mjs.map +1 -1
  594. package/es/i18n/resources/en/colorPicker.d.mts +5 -0
  595. package/es/i18n/resources/en/colorPicker.mjs +5 -0
  596. package/es/i18n/resources/en/colorPicker.mjs.map +1 -1
  597. package/es/i18n/resources/en/datePicker.d.mts +54 -0
  598. package/es/i18n/resources/en/datePicker.mjs +55 -1
  599. package/es/i18n/resources/en/datePicker.mjs.map +1 -1
  600. package/es/i18n/resources/en/index.d.mts +4 -3
  601. package/es/i18n/resources/en/index.mjs +3 -1
  602. package/es/i18n/resources/en/index.mjs.map +1 -1
  603. package/es/i18n/resources/en/table.d.mts +23 -0
  604. package/es/i18n/resources/en/table.mjs +24 -0
  605. package/es/i18n/resources/en/table.mjs.map +1 -0
  606. package/es/i18n/resources/zhCn/colorPicker.d.mts +5 -0
  607. package/es/i18n/resources/zhCn/colorPicker.mjs +5 -0
  608. package/es/i18n/resources/zhCn/colorPicker.mjs.map +1 -1
  609. package/es/i18n/resources/zhCn/datePicker.d.mts +54 -0
  610. package/es/i18n/resources/zhCn/datePicker.mjs +55 -1
  611. package/es/i18n/resources/zhCn/datePicker.mjs.map +1 -1
  612. package/es/i18n/resources/zhCn/index.d.mts +4 -3
  613. package/es/i18n/resources/zhCn/index.mjs +4 -2
  614. package/es/i18n/resources/zhCn/index.mjs.map +1 -1
  615. package/es/i18n/resources/zhCn/table.d.mts +23 -0
  616. package/es/i18n/resources/zhCn/table.mjs +24 -0
  617. package/es/i18n/resources/zhCn/table.mjs.map +1 -0
  618. package/es/i18n/types.d.mts +3 -2
  619. package/es/index.d.mts +13 -6
  620. package/es/index.mjs +10 -6
  621. package/es/internal/overflow/OverflowList.mjs +71 -0
  622. package/es/internal/overflow/OverflowList.mjs.map +1 -0
  623. package/es/mdx/Callout/index.mjs +2 -2
  624. package/es/mdx/Callout/index.mjs.map +1 -1
  625. package/es/mdx/Cards/Card.mjs +2 -2
  626. package/es/mdx/Cards/Card.mjs.map +1 -1
  627. package/es/mdx/Cards/index.mjs +2 -2
  628. package/es/mdx/Cards/index.mjs.map +1 -1
  629. package/es/mdx/Mdx/index.mjs +2 -2
  630. package/es/mdx/Mdx/index.mjs.map +1 -1
  631. package/es/mdx/Steps/index.mjs +2 -2
  632. package/es/mdx/Steps/index.mjs.map +1 -1
  633. package/es/mdx/mdxComponents/Pre.mjs +5 -5
  634. package/es/mdx/mdxComponents/Pre.mjs.map +1 -1
  635. package/es/storybook/StoryBook/style.mjs +2 -0
  636. package/es/storybook/StoryBook/style.mjs.map +1 -1
  637. package/es/style.css +2966 -957
  638. package/es/styles/stylex/props.mjs +2 -2
  639. package/es/styles/stylex/props.mjs.map +1 -1
  640. package/es/styles/theme/themeCss.mjs +15 -0
  641. package/es/styles/theme/themeCss.mjs.map +1 -1
  642. package/es/theme.css +8 -0
  643. package/package.json +6 -1
  644. package/es/DatePicker/CalendarPanel.mjs +0 -189
  645. package/es/DatePicker/CalendarPanel.mjs.map +0 -1
  646. package/es/DatePicker/PickerShell.mjs +0 -43
  647. package/es/DatePicker/PickerShell.mjs.map +0 -1
  648. package/es/DatePicker/calendar.d.mts +0 -4
  649. package/es/DatePicker/calendar.mjs +0 -46
  650. package/es/DatePicker/calendar.mjs.map +0 -1
  651. package/es/Table/FilterMenu.mjs +0 -45
  652. package/es/Table/FilterMenu.mjs.map +0 -1
  653. package/es/Table/TableBody.mjs +0 -67
  654. package/es/Table/TableBody.mjs.map +0 -1
  655. package/es/Table/TableHead.mjs +0 -58
  656. package/es/Table/TableHead.mjs.map +0 -1
  657. package/es/Table/features.mjs +0 -12
  658. package/es/Table/features.mjs.map +0 -1
  659. package/es/Table/fixedOffsets.mjs +0 -29
  660. package/es/Table/fixedOffsets.mjs.map +0 -1
  661. package/es/Table/marker.stylex.mjs +0 -9
  662. package/es/Table/marker.stylex.mjs.map +0 -1
  663. package/es/Table/toColumnDefs.mjs +0 -26
  664. package/es/Table/toColumnDefs.mjs.map +0 -1
  665. package/es/Table/useTableState.mjs +0 -99
  666. package/es/Table/useTableState.mjs.map +0 -1
@@ -0,0 +1,180 @@
1
+ import Button from "../../Button/Button.mjs";
2
+ import { Form } from "../../FormKit/index.mjs";
3
+ import { styles } from "../style.mjs";
4
+ import { rulesToFieldProps } from "../hooks/useSearchForm.mjs";
5
+ import FieldControl from "./FieldControl.mjs";
6
+ import { useEffect, useRef, useState } from "react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ import { ChevronDown, ChevronUp } from "lucide-react";
9
+ //#region src/ProTable/parts/SearchForm.tsx
10
+ const colsForWidth = (width) => {
11
+ if (width <= 0) return 3;
12
+ if (width < 576) return 1;
13
+ if (width < 900) return 2;
14
+ if (width < 1200) return 3;
15
+ return 4;
16
+ };
17
+ const SPAN_BREAKPOINTS = [
18
+ ["xxl", 1600],
19
+ ["xl", 1200],
20
+ ["lg", 992],
21
+ ["md", 768],
22
+ ["sm", 576],
23
+ ["xs", 0]
24
+ ];
25
+ const resolveSpan = (span, width) => {
26
+ if (span === void 0 || typeof span === "number") return span || void 0;
27
+ const reached = SPAN_BREAKPOINTS.findIndex(([, min]) => width >= min);
28
+ const start = reached === -1 ? SPAN_BREAKPOINTS.length - 1 : reached;
29
+ for (let i = start; i < SPAN_BREAKPOINTS.length; i++) {
30
+ const value = span[SPAN_BREAKPOINTS[i][0]];
31
+ if (value) return value;
32
+ }
33
+ for (let i = start - 1; i >= 0; i--) {
34
+ const value = span[SPAN_BREAKPOINTS[i][0]];
35
+ if (value) return value;
36
+ }
37
+ };
38
+ const useWidth = () => {
39
+ const ref = useRef(null);
40
+ const [width, setWidth] = useState(0);
41
+ useEffect(() => {
42
+ const node = ref.current;
43
+ if (!node || typeof ResizeObserver === "undefined") return;
44
+ const observer = new ResizeObserver(([entry]) => setWidth(entry.contentRect.width));
45
+ observer.observe(node);
46
+ return () => observer.disconnect();
47
+ }, []);
48
+ return {
49
+ ref,
50
+ width
51
+ };
52
+ };
53
+ const SearchLabel = ({ text }) => /* @__PURE__ */ jsx("span", {
54
+ className: styles.searchLabelText,
55
+ onMouseEnter: (event) => {
56
+ const el = event.currentTarget;
57
+ const box = el.closest("label") ?? el;
58
+ if (box.scrollWidth > box.clientWidth) el.title = text;
59
+ else el.removeAttribute("title");
60
+ },
61
+ children: text
62
+ });
63
+ const verticalColsForWidth = (width) => {
64
+ if (width <= 0) return 3;
65
+ if (width < 576) return 1;
66
+ if (width < 768) return 2;
67
+ if (width < 1200) return 3;
68
+ return 4;
69
+ };
70
+ const SearchForm = ({ config, fields, form, ignoreRules, layout: formLayout, loading, locale, onReset }) => {
71
+ const { ref, width } = useWidth();
72
+ const [innerCollapsed, setInnerCollapsed] = useState(config.defaultCollapsed ?? true);
73
+ const collapsed = config.collapsed ?? innerCollapsed;
74
+ const setCollapsed = (next) => {
75
+ setInnerCollapsed(next);
76
+ config.onCollapse?.(next);
77
+ };
78
+ const span = resolveSpan(config.span, width);
79
+ const cols = span ? Math.max(1, Math.round(24 / span)) : config.layout === "vertical" ? verticalColsForWidth(width) : colsForWidth(width);
80
+ const layout = config.layout ?? formLayout ?? (cols === 1 ? "vertical" : "horizontal");
81
+ const labelWidth = config.labelWidth ?? 80;
82
+ const visibleCount = config.defaultColsNumber ?? Math.max(1, cols - 1);
83
+ let used = 0;
84
+ const visibility = fields.map(({ column }) => {
85
+ used += Math.min(column.colSize ?? 1, cols);
86
+ return !collapsed || used <= visibleCount;
87
+ });
88
+ const collapsible = fields.reduce((sum, { column }) => sum + Math.min(column.colSize ?? 1, cols), 0) > visibleCount;
89
+ const submit = () => void form.submit();
90
+ const resetDom = /* @__PURE__ */ jsx(Button, {
91
+ onClick: onReset,
92
+ children: config.resetText ?? locale.reset
93
+ }, "reset");
94
+ const submitDom = /* @__PURE__ */ jsx(Button, {
95
+ htmlType: "submit",
96
+ loading,
97
+ type: "primary",
98
+ children: config.searchText ?? config.submitText ?? locale.search
99
+ }, "submit");
100
+ const buttons = config.optionRender === false ? [] : config.optionRender ? config.optionRender({
101
+ form,
102
+ onReset,
103
+ onSubmit: submit
104
+ }, [resetDom, submitDom]) : [resetDom, submitDom];
105
+ let collapseDom = null;
106
+ if (collapsible && config.collapseRender !== false) collapseDom = /* @__PURE__ */ jsx(Button, {
107
+ icon: collapsed ? ChevronDown : ChevronUp,
108
+ iconPosition: "end",
109
+ type: "link",
110
+ onClick: () => setCollapsed(!collapsed),
111
+ children: config.collapseRender ? config.collapseRender(collapsed) : collapsed ? locale.expand : locale.collapse
112
+ }, "collapse");
113
+ const gridStyle = {
114
+ "--lobe-pro-table-label-width": layout === "vertical" || labelWidth === "auto" ? "auto" : `${labelWidth}px`,
115
+ "display": "grid",
116
+ "gap": "16px 24px",
117
+ "gridTemplateColumns": `repeat(${cols}, minmax(0, 1fr))`
118
+ };
119
+ return /* @__PURE__ */ jsxs(Form, {
120
+ className: styles.search,
121
+ "data-pro-table-search": "",
122
+ form,
123
+ layout,
124
+ ref,
125
+ style: gridStyle,
126
+ variant: "borderless",
127
+ children: [
128
+ fields.map(({ column, name }, index) => {
129
+ if (!visibility[index]) return null;
130
+ const label = column.formItemProps?.label ?? column.title;
131
+ const { required, validate } = ignoreRules ? {
132
+ required: void 0,
133
+ validate: void 0
134
+ } : rulesToFieldProps(column.formItemProps?.rules, column.formItemProps?.required);
135
+ return /* @__PURE__ */ jsx("div", {
136
+ className: styles.searchField,
137
+ "data-layout": layout,
138
+ style: {
139
+ gridColumn: `span ${Math.min(column.colSize ?? 1, cols)}`,
140
+ ...column.formItemProps?.style
141
+ },
142
+ children: /* @__PURE__ */ jsx(Form.Field, {
143
+ extra: column.formItemProps?.extra,
144
+ label: typeof label === "string" ? /* @__PURE__ */ jsx(SearchLabel, { text: label }) : label,
145
+ layout,
146
+ name,
147
+ required,
148
+ validate,
149
+ render: ({ value, onChange, onBlur }) => /* @__PURE__ */ jsx("div", {
150
+ onBlur,
151
+ children: /* @__PURE__ */ jsx(FieldControl, {
152
+ column,
153
+ form,
154
+ value,
155
+ placeholder: {
156
+ input: locale.inputPlaceholder,
157
+ select: locale.selectPlaceholder
158
+ },
159
+ onChange
160
+ })
161
+ })
162
+ })
163
+ }, name);
164
+ }),
165
+ /* @__PURE__ */ jsx("button", {
166
+ hidden: true,
167
+ type: "submit"
168
+ }),
169
+ (buttons.length > 0 || collapseDom) && /* @__PURE__ */ jsxs("div", {
170
+ className: styles.searchActions,
171
+ "data-layout": layout,
172
+ children: [buttons, collapseDom]
173
+ })
174
+ ]
175
+ });
176
+ };
177
+ //#endregion
178
+ export { SearchLabel, SearchForm as default, resolveSpan };
179
+
180
+ //# sourceMappingURL=SearchForm.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchForm.mjs","names":[],"sources":["../../../src/ProTable/parts/SearchForm.tsx"],"sourcesContent":["import Form from '@lobehub/ui/form';\nimport { ChevronDown, ChevronUp } from 'lucide-react';\nimport { type CSSProperties, type ReactNode, useEffect, useRef, useState } from 'react';\n\nimport Button from '@/Button';\n\nimport { rulesToFieldProps, type SearchFieldSchema } from '../hooks/useSearchForm';\nimport { styles } from '../style';\nimport type {\n ProTableFormInstance,\n ProTableLocale,\n ProTableSearchConfig,\n ProTableSpanBreakpoint,\n ProTableSpanConfig,\n} from '../type';\nimport FieldControl from './FieldControl';\n\nexport interface SearchFormProps {\n config: ProTableSearchConfig;\n fields: SearchFieldSchema[];\n form: ProTableFormInstance;\n ignoreRules?: boolean;\n layout?: 'horizontal' | 'vertical';\n loading?: boolean;\n locale: Required<Pick<ProTableLocale, 'collapse' | 'expand' | 'reset' | 'search'>> & {\n inputPlaceholder: string;\n selectPlaceholder: string;\n };\n onReset: () => void;\n}\n\nconst colsForWidth = (width: number) => {\n if (width <= 0) return 3;\n if (width < 576) return 1;\n if (width < 900) return 2;\n if (width < 1200) return 3;\n return 4;\n};\n\nconst SPAN_BREAKPOINTS: [ProTableSpanBreakpoint, number][] = [\n ['xxl', 1600],\n ['xl', 1200],\n ['lg', 992],\n ['md', 768],\n ['sm', 576],\n ['xs', 0],\n];\n\nexport const resolveSpan = (\n span: number | ProTableSpanConfig | undefined,\n width: number,\n): number | undefined => {\n if (span === undefined || typeof span === 'number') return span || undefined;\n const reached = SPAN_BREAKPOINTS.findIndex(([, min]) => width >= min);\n const start = reached === -1 ? SPAN_BREAKPOINTS.length - 1 : reached;\n for (let i = start; i < SPAN_BREAKPOINTS.length; i++) {\n const value = span[SPAN_BREAKPOINTS[i][0]];\n if (value) return value;\n }\n for (let i = start - 1; i >= 0; i--) {\n const value = span[SPAN_BREAKPOINTS[i][0]];\n if (value) return value;\n }\n return undefined;\n};\n\nconst useWidth = () => {\n const ref = useRef<HTMLFormElement>(null);\n const [width, setWidth] = useState(0);\n useEffect(() => {\n const node = ref.current;\n if (!node || typeof ResizeObserver === 'undefined') return;\n const observer = new ResizeObserver(([entry]) => setWidth(entry.contentRect.width));\n observer.observe(node);\n return () => observer.disconnect();\n }, []);\n return { ref, width };\n};\n\nexport const SearchLabel = ({ text }: { text: string }) => (\n <span\n className={styles.searchLabelText}\n onMouseEnter={(event) => {\n const el = event.currentTarget;\n const box = el.closest('label') ?? el;\n if (box.scrollWidth > box.clientWidth) el.title = text;\n else el.removeAttribute('title');\n }}\n >\n {text}\n </span>\n);\n\nconst verticalColsForWidth = (width: number) => {\n if (width <= 0) return 3;\n if (width < 576) return 1;\n if (width < 768) return 2;\n if (width < 1200) return 3;\n return 4;\n};\n\nconst SearchForm = ({\n config,\n fields,\n form,\n ignoreRules,\n layout: formLayout,\n loading,\n locale,\n onReset,\n}: SearchFormProps) => {\n const { ref, width } = useWidth();\n const [innerCollapsed, setInnerCollapsed] = useState(config.defaultCollapsed ?? true);\n const collapsed = config.collapsed ?? innerCollapsed;\n const setCollapsed = (next: boolean) => {\n setInnerCollapsed(next);\n config.onCollapse?.(next);\n };\n\n const span = resolveSpan(config.span, width);\n const cols = span\n ? Math.max(1, Math.round(24 / span))\n : config.layout === 'vertical'\n ? verticalColsForWidth(width)\n : colsForWidth(width);\n const layout = config.layout ?? formLayout ?? (cols === 1 ? 'vertical' : 'horizontal');\n // Pro default: an 80px label column, long labels end in an ellipsis; 'auto' sizes to the text.\n const labelWidth = config.labelWidth ?? 80;\n\n // Collapsed: one row, the action cell takes the last slot (Pro `defaultColsNumber`).\n const visibleCount = config.defaultColsNumber ?? Math.max(1, cols - 1);\n let used = 0;\n const visibility = fields.map(({ column }) => {\n used += Math.min(column.colSize ?? 1, cols);\n return !collapsed || used <= visibleCount;\n });\n const collapsible =\n fields.reduce((sum, { column }) => sum + Math.min(column.colSize ?? 1, cols), 0) > visibleCount;\n\n const submit = () => void form.submit();\n\n const resetDom = (\n <Button key=\"reset\" onClick={onReset}>\n {config.resetText ?? locale.reset}\n </Button>\n );\n const submitDom = (\n <Button htmlType=\"submit\" key=\"submit\" loading={loading} type=\"primary\">\n {config.searchText ?? config.submitText ?? locale.search}\n </Button>\n );\n const buttons: ReactNode[] =\n config.optionRender === false\n ? []\n : config.optionRender\n ? config.optionRender({ form, onReset, onSubmit: submit }, [resetDom, submitDom])\n : [resetDom, submitDom];\n\n let collapseDom: ReactNode = null;\n if (collapsible && config.collapseRender !== false) {\n collapseDom = (\n <Button\n icon={collapsed ? ChevronDown : ChevronUp}\n iconPosition=\"end\"\n key=\"collapse\"\n type=\"link\"\n onClick={() => setCollapsed(!collapsed)}\n >\n {config.collapseRender\n ? config.collapseRender(collapsed)\n : collapsed\n ? locale.expand\n : locale.collapse}\n </Button>\n );\n }\n\n const gridStyle = {\n '--lobe-pro-table-label-width':\n layout === 'vertical' || labelWidth === 'auto' ? 'auto' : `${labelWidth}px`,\n 'display': 'grid',\n 'gap': '16px 24px',\n 'gridTemplateColumns': `repeat(${cols}, minmax(0, 1fr))`,\n } as CSSProperties;\n\n return (\n <Form\n className={styles.search}\n data-pro-table-search=\"\"\n form={form}\n layout={layout}\n ref={ref}\n style={gridStyle}\n variant=\"borderless\"\n >\n {fields.map(({ column, name }, index) => {\n if (!visibility[index]) return null;\n const label = column.formItemProps?.label ?? column.title;\n const { required, validate } = ignoreRules\n ? { required: undefined, validate: undefined }\n : rulesToFieldProps(column.formItemProps?.rules, column.formItemProps?.required);\n return (\n <div\n className={styles.searchField}\n data-layout={layout}\n key={name}\n style={{\n gridColumn: `span ${Math.min(column.colSize ?? 1, cols)}`,\n ...column.formItemProps?.style,\n }}\n >\n <Form.Field\n extra={column.formItemProps?.extra}\n label={typeof label === 'string' ? <SearchLabel text={label} /> : label}\n layout={layout}\n name={name}\n required={required}\n validate={validate}\n render={({ value, onChange, onBlur }) => (\n <div onBlur={onBlur}>\n <FieldControl\n column={column}\n form={form}\n value={value}\n placeholder={{\n input: locale.inputPlaceholder,\n select: locale.selectPlaceholder,\n }}\n onChange={onChange}\n />\n </div>\n )}\n />\n </div>\n );\n })}\n {/* Enter in a text field submits even without a visible submit button. */}\n <button hidden type=\"submit\" />\n {(buttons.length > 0 || collapseDom) && (\n <div className={styles.searchActions} data-layout={layout}>\n {buttons}\n {collapseDom}\n </div>\n )}\n </Form>\n );\n};\n\nexport default SearchForm;\n"],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ "use client";
2
+ import { partClass } from "../style.mjs";
3
+ import SearchForm from "./SearchForm.mjs";
4
+ import { jsx } from "react/jsx-runtime";
5
+ //#region src/ProTable/parts/SearchSection.tsx
6
+ const SearchSection = ({ fields, form, loading, locale, onReset, props }) => {
7
+ const { cardBordered, form: formConfig, search, searchFormRender } = props;
8
+ const formDom = /* @__PURE__ */ jsx("div", {
9
+ className: partClass(cardBordered, "search"),
10
+ children: /* @__PURE__ */ jsx(SearchForm, {
11
+ config: search || {},
12
+ fields,
13
+ form,
14
+ ignoreRules: formConfig?.ignoreRules,
15
+ layout: formConfig?.layout,
16
+ loading,
17
+ locale: {
18
+ collapse: locale.collapse,
19
+ expand: locale.expand,
20
+ inputPlaceholder: locale.searchPlaceholder,
21
+ reset: locale.reset,
22
+ search: locale.search,
23
+ selectPlaceholder: locale.selectPlaceholder
24
+ },
25
+ onReset
26
+ })
27
+ });
28
+ return searchFormRender ? searchFormRender(props, formDom) : formDom;
29
+ };
30
+ //#endregion
31
+ export { SearchSection as default };
32
+
33
+ //# sourceMappingURL=SearchSection.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchSection.mjs","names":[],"sources":["../../../src/ProTable/parts/SearchSection.tsx"],"sourcesContent":["'use client';\n\nimport type { ReactNode } from 'react';\n\nimport type { SearchFieldSchema } from '../hooks/useSearchForm';\nimport type { ProTableLocaleResolved } from '../locale';\nimport { partClass } from '../style';\nimport type { ProTableFormInstance, ProTableProps } from '../type';\nimport SearchForm from './SearchForm';\n\ninterface SearchSectionProps<T> {\n fields: SearchFieldSchema[];\n form: ProTableFormInstance;\n loading: boolean;\n locale: ProTableLocaleResolved;\n onReset: () => void;\n props: ProTableProps<T, any>;\n}\n\nconst SearchSection = <T,>({\n fields,\n form,\n loading,\n locale,\n onReset,\n props,\n}: SearchSectionProps<T>): ReactNode => {\n const { cardBordered, form: formConfig, search, searchFormRender } = props;\n const formDom = (\n <div className={partClass(cardBordered, 'search')}>\n <SearchForm\n config={search || {}}\n fields={fields}\n form={form}\n ignoreRules={formConfig?.ignoreRules}\n layout={formConfig?.layout}\n loading={loading}\n locale={{\n collapse: locale.collapse,\n expand: locale.expand,\n inputPlaceholder: locale.searchPlaceholder,\n reset: locale.reset,\n search: locale.search,\n selectPlaceholder: locale.selectPlaceholder,\n }}\n onReset={onReset}\n />\n </div>\n );\n return searchFormRender ? searchFormRender(props, formDom) : formDom;\n};\n\nexport default SearchSection;\n"],"mappings":";;;;;AAmBA,MAAM,iBAAqB,EACzB,QACA,MACA,SACA,QACA,SACA,YACsC;CACtC,MAAM,EAAE,cAAc,MAAM,YAAY,QAAQ,qBAAqB;CACrE,MAAM,UACJ,oBAAC,OAAD;EAAK,WAAW,UAAU,cAAc,QAAQ;EAC9C,UAAA,oBAAC,YAAD;GACE,QAAQ,UAAU,CAAC;GACX;GACF;GACN,aAAa,YAAY;GACzB,QAAQ,YAAY;GACX;GACT,QAAQ;IACN,UAAU,OAAO;IACjB,QAAQ,OAAO;IACf,kBAAkB,OAAO;IACzB,OAAO,OAAO;IACd,QAAQ,OAAO;IACf,mBAAmB,OAAO;GAC5B;GACS;EACV,CAAA;CACE,CAAA;CAEP,OAAO,mBAAmB,iBAAiB,OAAO,OAAO,IAAI;AAC/D"}
@@ -0,0 +1,38 @@
1
+ "use client";
2
+ import Button from "../../Button/Button.mjs";
3
+ import { PRO_PREFIX_CLS, styles } from "../style.mjs";
4
+ import { useSelectedRowKeys } from "../hooks/useTableSelection.mjs";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import clsx$1 from "clsx";
7
+ //#region src/ProTable/parts/TableAlert.tsx
8
+ const TableAlert = ({ alwaysShow, getRow, handleRef, locale, onClear, optionRender, render }) => {
9
+ const selectedRowKeys = useSelectedRowKeys(handleRef);
10
+ if (render === false || selectedRowKeys.length === 0 && !alwaysShow) return null;
11
+ const props = {
12
+ onCleanSelected: onClear,
13
+ selectedRowKeys,
14
+ selectedRows: selectedRowKeys.map((key) => getRow(key)).filter((row) => row !== void 0)
15
+ };
16
+ const info = render ? render(props) : locale.alertSelected(selectedRowKeys.length);
17
+ const option = optionRender === false ? null : optionRender ? optionRender(props) : /* @__PURE__ */ jsx(Button, {
18
+ size: "small",
19
+ type: "link",
20
+ onClick: onClear,
21
+ children: locale.alertClear
22
+ });
23
+ return /* @__PURE__ */ jsxs("div", {
24
+ className: clsx$1(styles.alert, `${PRO_PREFIX_CLS}-alert`),
25
+ role: "status",
26
+ children: [/* @__PURE__ */ jsx("div", {
27
+ className: styles.alertInfo,
28
+ children: info
29
+ }), option && /* @__PURE__ */ jsx("div", {
30
+ className: styles.alertOption,
31
+ children: option
32
+ })]
33
+ });
34
+ };
35
+ //#endregion
36
+ export { TableAlert as default };
37
+
38
+ //# sourceMappingURL=TableAlert.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TableAlert.mjs","names":["clsx"],"sources":["../../../src/ProTable/parts/TableAlert.tsx"],"sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport type { Key, RefObject } from 'react';\n\nimport Button from '@/Button';\nimport type { TableInternalHandle } from '@/Table/internal';\n\nimport { useSelectedRowKeys } from '../hooks/useTableSelection';\nimport type { ProTableLocaleResolved } from '../locale';\nimport { PRO_PREFIX_CLS, styles } from '../style';\nimport type { ProTableAlertRender } from '../type';\n\ninterface TableAlertProps<T> {\n alwaysShow?: boolean;\n getRow: (key: Key) => T | undefined;\n handleRef: RefObject<TableInternalHandle | null>;\n locale: ProTableLocaleResolved;\n onClear: () => void;\n optionRender?: ProTableAlertRender<T>;\n render?: ProTableAlertRender<T>;\n}\n\nconst TableAlert = <T,>({\n alwaysShow,\n getRow,\n handleRef,\n locale,\n onClear,\n optionRender,\n render,\n}: TableAlertProps<T>) => {\n const selectedRowKeys = useSelectedRowKeys(handleRef);\n if (render === false || (selectedRowKeys.length === 0 && !alwaysShow)) return null;\n\n const selectedRows = selectedRowKeys\n .map((key) => getRow(key))\n .filter((row): row is T => row !== undefined);\n const props = { onCleanSelected: onClear, selectedRowKeys, selectedRows };\n const info = render ? render(props) : locale.alertSelected(selectedRowKeys.length);\n const option =\n optionRender === false ? null : optionRender ? (\n optionRender(props)\n ) : (\n <Button size=\"small\" type=\"link\" onClick={onClear}>\n {locale.alertClear}\n </Button>\n );\n\n return (\n <div className={clsx(styles.alert, `${PRO_PREFIX_CLS}-alert`)} role=\"status\">\n <div className={styles.alertInfo}>{info}</div>\n {option && <div className={styles.alertOption}>{option}</div>}\n </div>\n );\n};\n\nexport default TableAlert;\n"],"mappings":";;;;;;;AAuBA,MAAM,cAAkB,EACtB,YACA,QACA,WACA,QACA,SACA,cACA,aACwB;CACxB,MAAM,kBAAkB,mBAAmB,SAAS;CACpD,IAAI,WAAW,SAAU,gBAAgB,WAAW,KAAK,CAAC,YAAa,OAAO;CAK9E,MAAM,QAAQ;EAAE,iBAAiB;EAAS;EAAiB,cAHtC,gBAClB,KAAK,QAAQ,OAAO,GAAG,CAAC,CAAC,CACzB,QAAQ,QAAkB,QAAQ,KAAA,CACiC;CAAE;CACxE,MAAM,OAAO,SAAS,OAAO,KAAK,IAAI,OAAO,cAAc,gBAAgB,MAAM;CACjF,MAAM,SACJ,iBAAiB,QAAQ,OAAO,eAC9B,aAAa,KAAK,IAElB,oBAAC,QAAD;EAAQ,MAAK;EAAQ,MAAK;EAAO,SAAS;EACvC,UAAA,OAAO;CACF,CAAA;CAGZ,OACE,qBAAC,OAAD;EAAK,WAAWA,OAAK,OAAO,OAAO,GAAG,eAAe,OAAO;EAAG,MAAK;EAApE,UAAA,CACE,oBAAC,OAAD;GAAK,WAAW,OAAO;GAAY,UAAA;EAAU,CAAA,GAC5C,UAAU,oBAAC,OAAD;GAAK,WAAW,OAAO;GAAc,UAAA;EAAY,CAAA,CACzD;;AAET"}
@@ -0,0 +1,50 @@
1
+ "use client";
2
+ import ActionIcon from "../../ActionIcon/ActionIcon.mjs";
3
+ import { PRO_PREFIX_CLS, styles } from "../style.mjs";
4
+ import { useSelectedRowKeys } from "../hooks/useTableSelection.mjs";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ import clsx$1 from "clsx";
7
+ import { CircleHelp } from "lucide-react";
8
+ //#region src/ProTable/parts/Toolbar.tsx
9
+ const Toolbar = ({ actionRef, actions, filter, getRow, handleRef, keyword, settings, subTitle, title, toolBarRender, tooltip }) => {
10
+ const selectedRowKeys = useSelectedRowKeys(handleRef);
11
+ const rendered = toolBarRender ? toolBarRender(actionRef.current, {
12
+ selectedRowKeys,
13
+ selectedRows: selectedRowKeys.map((key) => getRow(key)).filter((row) => row !== void 0)
14
+ }) : [];
15
+ if (title === void 0 && !subTitle && !filter && !keyword && !actions?.length && !rendered.length && !settings) return null;
16
+ return /* @__PURE__ */ jsxs("div", {
17
+ className: clsx$1(styles.toolbar, `${PRO_PREFIX_CLS}-toolbar`),
18
+ children: [(title !== void 0 || subTitle) && /* @__PURE__ */ jsxs("div", {
19
+ className: styles.title,
20
+ children: [
21
+ title,
22
+ tooltip && /* @__PURE__ */ jsx(ActionIcon, {
23
+ icon: CircleHelp,
24
+ size: "small",
25
+ title: tooltip
26
+ }),
27
+ subTitle && /* @__PURE__ */ jsx("span", {
28
+ className: styles.titleSub,
29
+ children: subTitle
30
+ })
31
+ ]
32
+ }), /* @__PURE__ */ jsxs("div", {
33
+ className: styles.toolbarActions,
34
+ children: [
35
+ filter,
36
+ keyword,
37
+ actions,
38
+ rendered,
39
+ settings && /* @__PURE__ */ jsx("div", {
40
+ className: styles.toolbarOptions,
41
+ children: settings
42
+ })
43
+ ]
44
+ })]
45
+ });
46
+ };
47
+ //#endregion
48
+ export { Toolbar as default };
49
+
50
+ //# sourceMappingURL=Toolbar.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toolbar.mjs","names":["clsx"],"sources":["../../../src/ProTable/parts/Toolbar.tsx"],"sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { CircleHelp } from 'lucide-react';\nimport type { Key, ReactNode, RefObject } from 'react';\n\nimport ActionIcon from '@/ActionIcon';\nimport type { TableInternalHandle } from '@/Table/internal';\n\nimport { useSelectedRowKeys } from '../hooks/useTableSelection';\nimport { PRO_PREFIX_CLS, styles } from '../style';\nimport type { ProTableActionType, ProTableProps } from '../type';\n\ninterface ToolbarProps<T> {\n actionRef: RefObject<ProTableActionType | undefined>;\n actions?: ReactNode[];\n filter?: ReactNode;\n getRow: (key: Key) => T | undefined;\n handleRef: RefObject<TableInternalHandle | null>;\n keyword?: ReactNode;\n settings: ReactNode;\n subTitle?: ReactNode;\n title?: ReactNode;\n toolBarRender?: Exclude<ProTableProps<T>['toolBarRender'], false>;\n tooltip?: ReactNode;\n}\n\nconst Toolbar = <T,>({\n actionRef,\n actions,\n filter,\n getRow,\n handleRef,\n keyword,\n settings,\n subTitle,\n title,\n toolBarRender,\n tooltip,\n}: ToolbarProps<T>) => {\n const selectedRowKeys = useSelectedRowKeys(handleRef);\n const rendered = toolBarRender\n ? toolBarRender(actionRef.current, {\n selectedRowKeys,\n selectedRows: selectedRowKeys\n .map((key) => getRow(key))\n .filter((row): row is T => row !== undefined),\n })\n : [];\n const empty =\n title === undefined &&\n !subTitle &&\n !filter &&\n !keyword &&\n !actions?.length &&\n !rendered.length &&\n !settings;\n if (empty) return null;\n\n return (\n <div className={clsx(styles.toolbar, `${PRO_PREFIX_CLS}-toolbar`)}>\n {(title !== undefined || subTitle) && (\n <div className={styles.title}>\n {title}\n {tooltip && <ActionIcon icon={CircleHelp} size=\"small\" title={tooltip} />}\n {subTitle && <span className={styles.titleSub}>{subTitle}</span>}\n </div>\n )}\n <div className={styles.toolbarActions}>\n {filter}\n {keyword}\n {actions}\n {rendered}\n {settings && <div className={styles.toolbarOptions}>{settings}</div>}\n </div>\n </div>\n );\n};\n\nexport default Toolbar;\n"],"mappings":";;;;;;;;AA2BA,MAAM,WAAe,EACnB,WACA,SACA,QACA,QACA,WACA,SACA,UACA,UACA,OACA,eACA,cACqB;CACrB,MAAM,kBAAkB,mBAAmB,SAAS;CACpD,MAAM,WAAW,gBACb,cAAc,UAAU,SAAS;EAC/B;EACA,cAAc,gBACX,KAAK,QAAQ,OAAO,GAAG,CAAC,CAAC,CACzB,QAAQ,QAAkB,QAAQ,KAAA,CAAS;CAChD,CAAC,IACD,CAAC;CASL,IAPE,UAAU,KAAA,KACV,CAAC,YACD,CAAC,UACD,CAAC,WACD,CAAC,SAAS,UACV,CAAC,SAAS,UACV,CAAC,UACQ,OAAO;CAElB,OACE,qBAAC,OAAD;EAAK,WAAWA,OAAK,OAAO,SAAS,GAAG,eAAe,SAAS;EAAhE,UAAA,EACI,UAAU,KAAA,KAAa,aACvB,qBAAC,OAAD;GAAK,WAAW,OAAO;GAAvB,UAAA;IACG;IACA,WAAW,oBAAC,YAAD;KAAY,MAAM;KAAY,MAAK;KAAQ,OAAO;IAAU,CAAA;IACvE,YAAY,oBAAC,QAAD;KAAM,WAAW,OAAO;KAAW,UAAA;IAAe,CAAA;GAC5D;EAEP,CAAA,GAAA,qBAAC,OAAD;GAAK,WAAW,OAAO;GAAvB,UAAA;IACG;IACA;IACA;IACA;IACA,YAAY,oBAAC,OAAD;KAAK,WAAW,OAAO;KAAiB,UAAA;IAAc,CAAA;GAChE;EACF,CAAA,CAAA;;AAET"}
@@ -0,0 +1,103 @@
1
+ "use client";
2
+ import ActionIconGroup from "../../ActionIconGroup/ActionIconGroup.mjs";
3
+ import { PRO_PREFIX_CLS, styles } from "../style.mjs";
4
+ import ColumnSetting from "./ColumnSetting.mjs";
5
+ import OptionPopover from "./OptionPopover.mjs";
6
+ import { useState } from "react";
7
+ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
8
+ import { Check, Fullscreen, Minimize, RotateCw, Rows3, Settings } from "lucide-react";
9
+ //#region src/ProTable/parts/ToolbarOptions.tsx
10
+ const DENSITIES = [
11
+ "large",
12
+ "middle",
13
+ "small"
14
+ ];
15
+ const ToolbarOptions = ({ columnsState, config, fullscreen, locale, onColumnsStateChange, onColumnsStateReset, onReload, onSizeChange, onToggleFullScreen, reloading, settingColumns, size }) => {
16
+ const [open, setOpen] = useState(null);
17
+ const toggle = (key, event) => {
18
+ const anchor = event?.currentTarget ?? null;
19
+ setOpen((prev) => prev?.key === key || !anchor ? null : {
20
+ anchor,
21
+ key
22
+ });
23
+ };
24
+ const close = () => setOpen(null);
25
+ const { density, fullScreen, reload, setting } = config;
26
+ const items = [];
27
+ if (reload) items.push({
28
+ icon: RotateCw,
29
+ key: "reload",
30
+ label: locale.reload,
31
+ loading: reloading,
32
+ onClick: () => typeof reload === "function" ? reload() : onReload()
33
+ });
34
+ if (density) items.push({
35
+ icon: Rows3,
36
+ key: "density",
37
+ label: locale.density,
38
+ onClick: ((event) => toggle("density", event))
39
+ });
40
+ if (fullScreen) items.push({
41
+ icon: fullscreen ? Minimize : Fullscreen,
42
+ key: "fullScreen",
43
+ label: locale.fullScreen,
44
+ onClick: () => typeof fullScreen === "function" ? fullScreen() : onToggleFullScreen()
45
+ });
46
+ if (setting) items.push({
47
+ icon: Settings,
48
+ key: "setting",
49
+ label: locale.columnSetting,
50
+ onClick: ((event) => toggle("setting", event))
51
+ });
52
+ if (items.length === 0) return null;
53
+ const settingProps = typeof setting === "object" ? setting : {};
54
+ const densityLabel = (item) => item === "large" ? locale.densityLarge : item === "middle" ? locale.densityMedium : locale.densitySmall;
55
+ return /* @__PURE__ */ jsxs(Fragment$1, { children: [
56
+ /* @__PURE__ */ jsx(ActionIconGroup, {
57
+ className: `${PRO_PREFIX_CLS}-options`,
58
+ items,
59
+ size: "small",
60
+ variant: "outlined"
61
+ }),
62
+ /* @__PURE__ */ jsx(OptionPopover, {
63
+ anchor: open?.key === "density" ? open.anchor : null,
64
+ open: open?.key === "density",
65
+ onOpenChange: (next) => !next && close(),
66
+ children: /* @__PURE__ */ jsx("div", {
67
+ className: styles.density,
68
+ "data-pro-table-density": "",
69
+ role: "menu",
70
+ children: DENSITIES.map((item) => /* @__PURE__ */ jsxs("button", {
71
+ "aria-checked": size === item,
72
+ className: styles.densityItem,
73
+ role: "menuitemradio",
74
+ type: "button",
75
+ onClick: () => {
76
+ onSizeChange(item);
77
+ close();
78
+ },
79
+ children: [/* @__PURE__ */ jsx("span", { children: densityLabel(item) }), size === item && /* @__PURE__ */ jsx(Check, { size: 14 })]
80
+ }, item))
81
+ })
82
+ }),
83
+ /* @__PURE__ */ jsx(OptionPopover, {
84
+ anchor: open?.key === "setting" ? open.anchor : null,
85
+ open: open?.key === "setting",
86
+ onOpenChange: (next) => !next && close(),
87
+ children: /* @__PURE__ */ jsx(ColumnSetting, {
88
+ checkable: settingProps.checkable,
89
+ columns: settingColumns,
90
+ draggable: settingProps.draggable,
91
+ locale,
92
+ showListItemOption: settingProps.showListItemOption,
93
+ state: columnsState,
94
+ onChange: onColumnsStateChange,
95
+ onReset: onColumnsStateReset
96
+ })
97
+ })
98
+ ] });
99
+ };
100
+ //#endregion
101
+ export { ToolbarOptions as default };
102
+
103
+ //# sourceMappingURL=ToolbarOptions.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolbarOptions.mjs","names":[],"sources":["../../../src/ProTable/parts/ToolbarOptions.tsx"],"sourcesContent":["'use client';\n\nimport { Check, Fullscreen, Minimize, RotateCw, Rows3, Settings } from 'lucide-react';\nimport { useState } from 'react';\n\nimport ActionIconGroup, { type ActionIconGroupItemType } from '@/ActionIconGroup';\n\nimport type { ProTableLocaleResolved } from '../locale';\nimport { PRO_PREFIX_CLS, styles } from '../style';\nimport type { ProTableColumnsStateMap, ProTableDensity, ProTableOptionConfig } from '../type';\nimport ColumnSetting, { type SettingColumn } from './ColumnSetting';\nimport OptionPopover from './OptionPopover';\n\nconst DENSITIES: ProTableDensity[] = ['large', 'middle', 'small'];\n\ninterface ToolbarOptionsProps {\n columnsState: ProTableColumnsStateMap;\n config: ProTableOptionConfig;\n fullscreen: boolean;\n locale: ProTableLocaleResolved;\n onColumnsStateChange: (map: ProTableColumnsStateMap) => void;\n onColumnsStateReset: () => void;\n onReload: () => void;\n onSizeChange: (size: ProTableDensity) => void;\n onToggleFullScreen: () => void;\n reloading: boolean;\n settingColumns: SettingColumn[];\n size: ProTableDensity;\n}\n\nconst ToolbarOptions = ({\n columnsState,\n config,\n fullscreen,\n locale,\n onColumnsStateChange,\n onColumnsStateReset,\n onReload,\n onSizeChange,\n onToggleFullScreen,\n reloading,\n settingColumns,\n size,\n}: ToolbarOptionsProps) => {\n const [open, setOpen] = useState<{ anchor: HTMLElement; key: string } | null>(null);\n const toggle = (key: string, event: unknown) => {\n const anchor = (event as { currentTarget?: HTMLElement } | undefined)?.currentTarget ?? null;\n setOpen((prev) => (prev?.key === key || !anchor ? null : { anchor, key }));\n };\n const close = () => setOpen(null);\n\n const { density, fullScreen, reload, setting } = config;\n const items: ActionIconGroupItemType[] = [];\n if (reload) {\n items.push({\n icon: RotateCw,\n key: 'reload',\n label: locale.reload,\n loading: reloading,\n onClick: () => (typeof reload === 'function' ? reload() : onReload()),\n });\n }\n if (density) {\n items.push({\n icon: Rows3,\n key: 'density',\n label: locale.density,\n onClick: ((event: unknown) => toggle('density', event)) as any,\n });\n }\n if (fullScreen) {\n items.push({\n icon: fullscreen ? Minimize : Fullscreen,\n key: 'fullScreen',\n label: locale.fullScreen,\n onClick: () => (typeof fullScreen === 'function' ? fullScreen() : onToggleFullScreen()),\n });\n }\n if (setting) {\n items.push({\n icon: Settings,\n key: 'setting',\n label: locale.columnSetting,\n onClick: ((event: unknown) => toggle('setting', event)) as any,\n });\n }\n if (items.length === 0) return null;\n\n const settingProps = typeof setting === 'object' ? setting : {};\n const densityLabel = (item: ProTableDensity) =>\n item === 'large'\n ? locale.densityLarge\n : item === 'middle'\n ? locale.densityMedium\n : locale.densitySmall;\n\n return (\n <>\n <ActionIconGroup\n className={`${PRO_PREFIX_CLS}-options`}\n items={items}\n size=\"small\"\n variant=\"outlined\"\n />\n <OptionPopover\n anchor={open?.key === 'density' ? open.anchor : null}\n open={open?.key === 'density'}\n onOpenChange={(next) => !next && close()}\n >\n <div className={styles.density} data-pro-table-density=\"\" role=\"menu\">\n {DENSITIES.map((item) => (\n <button\n aria-checked={size === item}\n className={styles.densityItem}\n key={item}\n role=\"menuitemradio\"\n type=\"button\"\n onClick={() => {\n onSizeChange(item);\n close();\n }}\n >\n <span>{densityLabel(item)}</span>\n {size === item && <Check size={14} />}\n </button>\n ))}\n </div>\n </OptionPopover>\n <OptionPopover\n anchor={open?.key === 'setting' ? open.anchor : null}\n open={open?.key === 'setting'}\n onOpenChange={(next) => !next && close()}\n >\n <ColumnSetting\n checkable={settingProps.checkable}\n columns={settingColumns}\n draggable={settingProps.draggable}\n locale={locale}\n showListItemOption={settingProps.showListItemOption}\n state={columnsState}\n onChange={onColumnsStateChange}\n onReset={onColumnsStateReset}\n />\n </OptionPopover>\n </>\n );\n};\n\nexport default ToolbarOptions;\n"],"mappings":";;;;;;;;;AAaA,MAAM,YAA+B;CAAC;CAAS;CAAU;AAAO;AAiBhE,MAAM,kBAAkB,EACtB,cACA,QACA,YACA,QACA,sBACA,qBACA,UACA,cACA,oBACA,WACA,gBACA,WACyB;CACzB,MAAM,CAAC,MAAM,WAAW,SAAsD,IAAI;CAClF,MAAM,UAAU,KAAa,UAAmB;EAC9C,MAAM,SAAU,OAAuD,iBAAiB;EACxF,SAAS,SAAU,MAAM,QAAQ,OAAO,CAAC,SAAS,OAAO;GAAE;GAAQ;EAAI,CAAE;CAC3E;CACA,MAAM,cAAc,QAAQ,IAAI;CAEhC,MAAM,EAAE,SAAS,YAAY,QAAQ,YAAY;CACjD,MAAM,QAAmC,CAAC;CAC1C,IAAI,QACF,MAAM,KAAK;EACT,MAAM;EACN,KAAK;EACL,OAAO,OAAO;EACd,SAAS;EACT,eAAgB,OAAO,WAAW,aAAa,OAAO,IAAI,SAAS;CACrE,CAAC;CAEH,IAAI,SACF,MAAM,KAAK;EACT,MAAM;EACN,KAAK;EACL,OAAO,OAAO;EACd,WAAW,UAAmB,OAAO,WAAW,KAAK;CACvD,CAAC;CAEH,IAAI,YACF,MAAM,KAAK;EACT,MAAM,aAAa,WAAW;EAC9B,KAAK;EACL,OAAO,OAAO;EACd,eAAgB,OAAO,eAAe,aAAa,WAAW,IAAI,mBAAmB;CACvF,CAAC;CAEH,IAAI,SACF,MAAM,KAAK;EACT,MAAM;EACN,KAAK;EACL,OAAO,OAAO;EACd,WAAW,UAAmB,OAAO,WAAW,KAAK;CACvD,CAAC;CAEH,IAAI,MAAM,WAAW,GAAG,OAAO;CAE/B,MAAM,eAAe,OAAO,YAAY,WAAW,UAAU,CAAC;CAC9D,MAAM,gBAAgB,SACpB,SAAS,UACL,OAAO,eACP,SAAS,WACP,OAAO,gBACP,OAAO;CAEf,OACE,qBAAA,YAAA,EAAA,UAAA;EACE,oBAAC,iBAAD;GACE,WAAW,GAAG,eAAe;GACtB;GACP,MAAK;GACL,SAAQ;EACT,CAAA;EACD,oBAAC,eAAD;GACE,QAAQ,MAAM,QAAQ,YAAY,KAAK,SAAS;GAChD,MAAM,MAAM,QAAQ;GACpB,eAAe,SAAS,CAAC,QAAQ,MAAM;GAEvC,UAAA,oBAAC,OAAD;IAAK,WAAW,OAAO;IAAS,0BAAuB;IAAG,MAAK;IAC5D,UAAA,UAAU,KAAK,SACd,qBAAC,UAAD;KACE,gBAAc,SAAS;KACvB,WAAW,OAAO;KAElB,MAAK;KACL,MAAK;KACL,eAAe;MACb,aAAa,IAAI;MACjB,MAAM;KACR;KATF,UAAA,CAWE,oBAAC,QAAD,EAAA,UAAO,aAAa,IAAI,EAAQ,CAAA,GAC/B,SAAS,QAAQ,oBAAC,OAAD,EAAO,MAAM,GAAK,CAAA,CAC9B;IAVD,GAAA,IAUC,CACT;GACE,CAAA;EACQ,CAAA;EACf,oBAAC,eAAD;GACE,QAAQ,MAAM,QAAQ,YAAY,KAAK,SAAS;GAChD,MAAM,MAAM,QAAQ;GACpB,eAAe,SAAS,CAAC,QAAQ,MAAM;GAEvC,UAAA,oBAAC,eAAD;IACE,WAAW,aAAa;IACxB,SAAS;IACT,WAAW,aAAa;IAChB;IACR,oBAAoB,aAAa;IACjC,OAAO;IACP,UAAU;IACV,SAAS;GACV,CAAA;EACY,CAAA;CACf,EAAA,CAAA;AAEN"}
@@ -0,0 +1,118 @@
1
+ import ActionIcon from "../../ActionIcon/ActionIcon.mjs";
2
+ import Progress from "../../Progress/Progress.mjs";
3
+ import { findValueEnum, formatDate, isEmptyValue, isNil, toDate } from "../utils.mjs";
4
+ import { styles } from "../style.mjs";
5
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ import clsx$1 from "clsx";
7
+ import { Copy } from "lucide-react";
8
+ //#region src/ProTable/parts/renderValue.tsx
9
+ const STATUS_COLOR = {
10
+ Default: "var(--lobe-pro-table-status-default)",
11
+ Error: "var(--lobe-pro-table-status-error)",
12
+ Processing: "var(--lobe-pro-table-status-processing)",
13
+ Success: "var(--lobe-pro-table-status-success)",
14
+ Warning: "var(--lobe-pro-table-status-warning)"
15
+ };
16
+ const StatusText = ({ color, status, text }) => {
17
+ if (!status && !color) return /* @__PURE__ */ jsx(Fragment, { children: text });
18
+ return /* @__PURE__ */ jsxs("span", {
19
+ className: styles.status,
20
+ children: [/* @__PURE__ */ jsx("span", {
21
+ className: clsx$1(styles.statusDot, status === "Processing" && styles.statusProcessing),
22
+ "data-status": status,
23
+ style: { background: color ?? STATUS_COLOR[status ?? "Default"] }
24
+ }), text]
25
+ });
26
+ };
27
+ const renderEnum = (valueEnum, value) => {
28
+ if (Array.isArray(value)) return /* @__PURE__ */ jsx("span", {
29
+ className: styles.enumList,
30
+ children: value.map((item) => /* @__PURE__ */ jsx("span", { children: renderEnum(valueEnum, item) }, String(item)))
31
+ });
32
+ const item = findValueEnum(valueEnum, value);
33
+ if (!item) return String(value);
34
+ return /* @__PURE__ */ jsx(StatusText, {
35
+ color: item.color,
36
+ status: item.status,
37
+ text: item.text
38
+ });
39
+ };
40
+ const formatNumber = (value, precision) => value.toLocaleString("en-US", {
41
+ maximumFractionDigits: precision ?? 20,
42
+ minimumFractionDigits: precision ?? 0
43
+ });
44
+ const renderValue = (value, options) => {
45
+ const { emptyText, fieldProps = {}, rowIndex, valueEnum, valueType } = options;
46
+ if (valueType === "index") return rowIndex + 1;
47
+ if (valueType === "indexBorder") return /* @__PURE__ */ jsx("span", {
48
+ className: styles.indexBorder,
49
+ "data-top": rowIndex < 3 ? "" : void 0,
50
+ children: rowIndex + 1
51
+ });
52
+ if (valueType === "option") return value;
53
+ if (isEmptyValue(value)) return emptyText;
54
+ if (valueEnum) return renderEnum(valueEnum, value);
55
+ switch (valueType) {
56
+ case "password": return "********";
57
+ case "digit": return typeof value === "number" ? formatNumber(value, fieldProps.precision) : value;
58
+ case "money": {
59
+ const symbol = fieldProps.customSymbol ?? "¥";
60
+ const number = Number(value);
61
+ if (Number.isNaN(number)) return value;
62
+ return `${number < 0 ? "-" : ""}${symbol}${formatNumber(Math.abs(number), fieldProps.precision ?? 2)}`;
63
+ }
64
+ case "percent": {
65
+ const number = Number(value);
66
+ if (Number.isNaN(number)) return value;
67
+ return `${formatNumber(number, fieldProps.precision)}%`;
68
+ }
69
+ case "progress": {
70
+ const number = Number(value);
71
+ return /* @__PURE__ */ jsx(Progress, {
72
+ percent: Number.isNaN(number) ? 0 : number,
73
+ size: "small",
74
+ style: { minWidth: 100 },
75
+ variant: "inset"
76
+ });
77
+ }
78
+ case "switch": return value ? fieldProps.checkedChildren ?? "On" : fieldProps.unCheckedChildren ?? "Off";
79
+ case "date":
80
+ case "dateTime":
81
+ case "time": {
82
+ const date = toDate(value);
83
+ if (!date) return String(value);
84
+ return formatDate(date, valueType === "dateTime", valueType === "time");
85
+ }
86
+ case "dateRange":
87
+ case "dateTimeRange":
88
+ if (!Array.isArray(value)) return String(value);
89
+ return value.map((item) => {
90
+ const date = toDate(item);
91
+ return date ? formatDate(date, valueType === "dateTimeRange") : "";
92
+ }).join(" ~ ");
93
+ case "code": return /* @__PURE__ */ jsx("code", {
94
+ className: styles.code,
95
+ children: String(value)
96
+ });
97
+ default: return isNil(value) || typeof value === "object" ? value : String(value);
98
+ }
99
+ };
100
+ const CopyableText = ({ children, label, text }) => /* @__PURE__ */ jsxs("span", {
101
+ className: styles.copyable,
102
+ children: [/* @__PURE__ */ jsx("span", {
103
+ className: styles.copyableText,
104
+ children
105
+ }), /* @__PURE__ */ jsx(ActionIcon, {
106
+ icon: Copy,
107
+ size: "small",
108
+ title: label,
109
+ onClick: (event) => {
110
+ event.stopPropagation();
111
+ navigator.clipboard?.writeText(text);
112
+ }
113
+ })]
114
+ });
115
+ //#endregion
116
+ export { CopyableText, StatusText, renderValue };
117
+
118
+ //# sourceMappingURL=renderValue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderValue.mjs","names":["cx"],"sources":["../../../src/ProTable/parts/renderValue.tsx"],"sourcesContent":["import cx from 'clsx';\nimport { Copy } from 'lucide-react';\nimport { type ReactNode } from 'react';\n\nimport ActionIcon from '@/ActionIcon';\nimport Progress from '@/Progress';\n\nimport { styles } from '../style';\nimport type { ProTableStatus, ProTableValueEnum, ProTableValueType } from '../type';\nimport { findValueEnum, formatDate, isEmptyValue, isNil, toDate } from '../utils';\n\nconst STATUS_COLOR: Record<ProTableStatus, string> = {\n Default: 'var(--lobe-pro-table-status-default)',\n Error: 'var(--lobe-pro-table-status-error)',\n Processing: 'var(--lobe-pro-table-status-processing)',\n Success: 'var(--lobe-pro-table-status-success)',\n Warning: 'var(--lobe-pro-table-status-warning)',\n};\n\nexport const StatusText = ({\n color,\n status,\n text,\n}: {\n color?: string;\n status?: ProTableStatus;\n text: ReactNode;\n}) => {\n if (!status && !color) return <>{text}</>;\n return (\n <span className={styles.status}>\n <span\n className={cx(styles.statusDot, status === 'Processing' && styles.statusProcessing)}\n data-status={status}\n style={{ background: color ?? STATUS_COLOR[status ?? 'Default'] }}\n />\n {text}\n </span>\n );\n};\n\nconst renderEnum = (valueEnum: ProTableValueEnum, value: unknown): ReactNode => {\n if (Array.isArray(value)) {\n return (\n <span className={styles.enumList}>\n {value.map((item) => (\n <span key={String(item)}>{renderEnum(valueEnum, item)}</span>\n ))}\n </span>\n );\n }\n const item = findValueEnum(valueEnum, value);\n if (!item) return String(value);\n return <StatusText color={item.color} status={item.status} text={item.text} />;\n};\n\nexport interface RenderValueOptions {\n copyText?: string;\n emptyText: ReactNode;\n fieldProps?: Record<string, any>;\n rowIndex: number;\n valueEnum?: ProTableValueEnum;\n valueType?: ProTableValueType;\n}\n\nconst formatNumber = (value: number, precision?: number) =>\n value.toLocaleString('en-US', {\n maximumFractionDigits: precision ?? 20,\n minimumFractionDigits: precision ?? 0,\n });\n\nexport const renderValue = (value: any, options: RenderValueOptions): ReactNode => {\n const { emptyText, fieldProps = {}, rowIndex, valueEnum, valueType } = options;\n\n if (valueType === 'index') return rowIndex + 1;\n if (valueType === 'indexBorder')\n return (\n <span className={styles.indexBorder} data-top={rowIndex < 3 ? '' : undefined}>\n {rowIndex + 1}\n </span>\n );\n if (valueType === 'option') return value;\n\n if (isEmptyValue(value)) return emptyText;\n if (valueEnum) return renderEnum(valueEnum, value);\n\n switch (valueType) {\n case 'password': {\n return '********';\n }\n case 'digit': {\n return typeof value === 'number' ? formatNumber(value, fieldProps.precision) : value;\n }\n case 'money': {\n const symbol = fieldProps.customSymbol ?? '¥';\n const number = Number(value);\n if (Number.isNaN(number)) return value;\n return `${number < 0 ? '-' : ''}${symbol}${formatNumber(Math.abs(number), fieldProps.precision ?? 2)}`;\n }\n case 'percent': {\n const number = Number(value);\n if (Number.isNaN(number)) return value;\n return `${formatNumber(number, fieldProps.precision)}%`;\n }\n case 'progress': {\n const number = Number(value);\n return (\n <Progress\n percent={Number.isNaN(number) ? 0 : number}\n size=\"small\"\n style={{ minWidth: 100 }}\n variant=\"inset\"\n />\n );\n }\n case 'switch': {\n return value ? (fieldProps.checkedChildren ?? 'On') : (fieldProps.unCheckedChildren ?? 'Off');\n }\n case 'date':\n case 'dateTime':\n case 'time': {\n const date = toDate(value);\n if (!date) return String(value);\n return formatDate(date, valueType === 'dateTime', valueType === 'time');\n }\n case 'dateRange':\n case 'dateTimeRange': {\n if (!Array.isArray(value)) return String(value);\n return value\n .map((item) => {\n const date = toDate(item);\n return date ? formatDate(date, valueType === 'dateTimeRange') : '';\n })\n .join(' ~ ');\n }\n case 'code': {\n return <code className={styles.code}>{String(value)}</code>;\n }\n default: {\n return isNil(value) || typeof value === 'object' ? value : String(value);\n }\n }\n};\n\nexport const CopyableText = ({\n children,\n label,\n text,\n}: {\n children: ReactNode;\n label: string;\n text: string;\n}) => (\n <span className={styles.copyable}>\n <span className={styles.copyableText}>{children}</span>\n <ActionIcon\n icon={Copy}\n size=\"small\"\n title={label}\n onClick={(event) => {\n event.stopPropagation();\n void navigator.clipboard?.writeText(text);\n }}\n />\n </span>\n);\n"],"mappings":"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"}