@lobehub/ui 6.0.0-beta.1 → 6.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/es/Accordion/Accordion.mjs +3 -3
- package/es/Accordion/Accordion.mjs.map +1 -1
- package/es/Accordion/atoms.mjs +2 -2
- package/es/Accordion/atoms.mjs.map +1 -1
- package/es/Accordion/style.d.mts +1 -1
- package/es/ActionIcon/ActionIcon.mjs +2 -2
- package/es/ActionIcon/ActionIcon.mjs.map +1 -1
- package/es/ActionIcon/style.mjs +1 -1
- package/es/ActionIcon/style.mjs.map +1 -1
- package/es/ActionIcon/type.d.mts +1 -0
- package/es/Alert/Alert.mjs +5 -5
- package/es/Alert/Alert.mjs.map +1 -1
- package/es/Alert/type.d.mts +1 -0
- package/es/Anchor/Anchor.mjs +2 -2
- package/es/Anchor/Anchor.mjs.map +1 -1
- package/es/AutoComplete/AutoComplete.mjs +5 -5
- package/es/AutoComplete/AutoComplete.mjs.map +1 -1
- package/es/AutoComplete/style.d.mts +1 -0
- package/es/AutoComplete/style.mjs +2 -2
- package/es/AutoComplete/style.mjs.map +1 -1
- package/es/AutoComplete/type.d.mts +1 -0
- package/es/Avatar/Avatar.mjs +2 -2
- package/es/Avatar/Avatar.mjs.map +1 -1
- package/es/Avatar/AvatarGroup/index.mjs +2 -2
- package/es/Avatar/AvatarGroup/index.mjs.map +1 -1
- package/es/Breadcrumb/Breadcrumb.mjs +2 -2
- package/es/Breadcrumb/Breadcrumb.mjs.map +1 -1
- package/es/Button/Button.mjs +1 -1
- package/es/Button/Button.mjs.map +1 -1
- package/es/Button/style.d.mts +8 -1
- package/es/Button/style.mjs +41 -18
- package/es/Button/style.mjs.map +1 -1
- package/es/Button/type.d.mts +1 -0
- package/es/Carousel/Carousel.mjs +1 -1
- package/es/Carousel/Carousel.mjs.map +1 -1
- package/es/Checkbox/Checkbox.mjs +3 -3
- package/es/Checkbox/Checkbox.mjs.map +1 -1
- package/es/Checkbox/type.d.mts +1 -0
- package/es/CodeDiff/CodeDiff.mjs.map +1 -1
- package/es/CodeDiff/DiffPanel.mjs +4 -4
- package/es/CodeDiff/DiffPanel.mjs.map +1 -1
- package/es/CodeDiff/PatchDiff.mjs.map +1 -1
- package/es/CodeDiff/theme.mjs.map +1 -1
- package/es/CodeDiff/type.d.mts +2 -2
- package/es/CodeEditor/CodeEditor.mjs +5 -5
- package/es/CodeEditor/CodeEditor.mjs.map +1 -1
- package/es/ColorPicker/ColorInputs.mjs +136 -0
- package/es/ColorPicker/ColorInputs.mjs.map +1 -0
- package/es/ColorPicker/ColorPanel.mjs +145 -0
- package/es/ColorPicker/ColorPanel.mjs.map +1 -0
- package/es/ColorPicker/ColorPicker.mjs +63 -200
- package/es/ColorPicker/ColorPicker.mjs.map +1 -1
- package/es/ColorPicker/SaturationArea.mjs +2 -1
- package/es/ColorPicker/SaturationArea.mjs.map +1 -1
- package/es/ColorPicker/Swatch.mjs +24 -0
- package/es/ColorPicker/Swatch.mjs.map +1 -0
- package/es/ColorPicker/Swatches.mjs +66 -0
- package/es/ColorPicker/Swatches.mjs.map +1 -0
- package/es/ColorPicker/Trigger.mjs +112 -0
- package/es/ColorPicker/Trigger.mjs.map +1 -0
- package/es/ColorPicker/color.mjs +25 -1
- package/es/ColorPicker/color.mjs.map +1 -1
- package/es/ColorPicker/recent.mjs +25 -0
- package/es/ColorPicker/recent.mjs.map +1 -0
- package/es/ColorPicker/style.mjs +269 -70
- package/es/ColorPicker/style.mjs.map +1 -1
- package/es/ColorPicker/type.d.mts +15 -0
- package/es/ColorSwatches/ColorSwatches.mjs +18 -23
- package/es/ColorSwatches/ColorSwatches.mjs.map +1 -1
- package/es/ColorSwatches/CustomPicker.mjs +101 -0
- package/es/ColorSwatches/CustomPicker.mjs.map +1 -0
- package/es/ColorSwatches/index.d.mts +2 -2
- package/es/ColorSwatches/marker.stylex.mjs +9 -0
- package/es/ColorSwatches/marker.stylex.mjs.map +1 -0
- package/es/ColorSwatches/style.mjs +36 -0
- package/es/ColorSwatches/style.mjs.map +1 -1
- package/es/ColorSwatches/type.d.mts +12 -2
- package/es/ConfigProvider/cdnAssets.mjs +6 -0
- package/es/ConfigProvider/cdnAssets.mjs.map +1 -0
- package/es/ConfigProvider/index.mjs +2 -1
- package/es/ConfigProvider/index.mjs.map +1 -1
- package/es/ContextMenu/ContextMenuHost.mjs +2 -2
- package/es/ContextMenu/ContextMenuHost.mjs.map +1 -1
- package/es/ContextMenu/ContextMenuTrigger.mjs +2 -2
- package/es/ContextMenu/ContextMenuTrigger.mjs.map +1 -1
- package/es/ContextMenu/renderItems.mjs +3 -3
- package/es/ContextMenu/renderItems.mjs.map +1 -1
- package/es/ContextMenu/store.d.mts +0 -1
- package/es/ContextMenu/store.mjs.map +1 -1
- package/es/DatePicker/DatePicker.d.mts +9 -2
- package/es/DatePicker/DatePicker.mjs +15 -85
- package/es/DatePicker/DatePicker.mjs.map +1 -1
- package/es/DatePicker/DateRangePicker.d.mts +3 -2
- package/es/DatePicker/DateRangePicker.mjs +3 -125
- package/es/DatePicker/DateRangePicker.mjs.map +1 -1
- package/es/DatePicker/DayjsDatePicker.d.mts +12 -0
- package/es/DatePicker/DayjsDatePicker.mjs +19 -0
- package/es/DatePicker/DayjsDatePicker.mjs.map +1 -0
- package/es/DatePicker/DayjsDateRangePicker.d.mts +7 -0
- package/es/DatePicker/DayjsDateRangePicker.mjs +8 -0
- package/es/DatePicker/DayjsDateRangePicker.mjs.map +1 -0
- package/es/DatePicker/PurePanel.mjs +65 -0
- package/es/DatePicker/PurePanel.mjs.map +1 -0
- package/es/DatePicker/RangePicker.mjs +121 -0
- package/es/DatePicker/RangePicker.mjs.map +1 -0
- package/es/DatePicker/SinglePicker.mjs +134 -0
- package/es/DatePicker/SinglePicker.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Popup/Footer.mjs +57 -0
- package/es/DatePicker/core/PickerInput/Popup/Footer.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs +57 -0
- package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs +29 -0
- package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Popup/index.mjs +133 -0
- package/es/DatePicker/core/PickerInput/Popup/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/RangePicker.d.mts +51 -0
- package/es/DatePicker/core/PickerInput/RangePicker.mjs +343 -0
- package/es/DatePicker/core/PickerInput/RangePicker.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs +27 -0
- package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/Icon.mjs +19 -0
- package/es/DatePicker/core/PickerInput/Selector/Icon.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/Input.mjs +237 -0
- package/es/DatePicker/core/PickerInput/Selector/Input.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs +70 -0
- package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/RangeSelector.d.mts +8 -0
- package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs +136 -0
- package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs +28 -0
- package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs +69 -0
- package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs +111 -0
- package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs +18 -0
- package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs +108 -0
- package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs +11 -0
- package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/util.mjs +20 -0
- package/es/DatePicker/core/PickerInput/Selector/util.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/SinglePicker.d.mts +55 -0
- package/es/DatePicker/core/PickerInput/SinglePicker.mjs +318 -0
- package/es/DatePicker/core/PickerInput/SinglePicker.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/context.mjs +7 -0
- package/es/DatePicker/core/PickerInput/context.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs +30 -0
- package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs +37 -0
- package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs +18 -0
- package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs +20 -0
- package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs +31 -0
- package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs +98 -0
- package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs +41 -0
- package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs +34 -0
- package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs +35 -0
- package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs +9 -0
- package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs +36 -0
- package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs +27 -0
- package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs +18 -0
- package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs +19 -0
- package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs +20 -0
- package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs +24 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs +107 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs +144 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs +219 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs +11 -0
- package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs +131 -0
- package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs +35 -0
- package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs +84 -0
- package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs +73 -0
- package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/PanelBody.mjs +95 -0
- package/es/DatePicker/core/PickerPanel/PanelBody.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/PanelHeader.mjs +130 -0
- package/es/DatePicker/core/PickerPanel/PanelHeader.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs +64 -0
- package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs +108 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs +44 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs +157 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs +100 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs +71 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs +62 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs +200 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs +25 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs +31 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs +34 -0
- package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs +92 -0
- package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/context.mjs +48 -0
- package/es/DatePicker/core/PickerPanel/context.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/index.d.mts +1 -0
- package/es/DatePicker/core/PickerPanel/index.mjs +175 -0
- package/es/DatePicker/core/PickerPanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPopup.mjs +118 -0
- package/es/DatePicker/core/PickerPopup.mjs.map +1 -0
- package/es/DatePicker/core/generate/dayjs.mjs +109 -0
- package/es/DatePicker/core/generate/dayjs.mjs.map +1 -0
- package/es/DatePicker/core/generate/index.d.mts +40 -0
- package/es/DatePicker/core/hooks/react.mjs +58 -0
- package/es/DatePicker/core/hooks/react.mjs.map +1 -0
- package/es/DatePicker/core/hooks/useLocale.mjs +51 -0
- package/es/DatePicker/core/hooks/useLocale.mjs.map +1 -0
- package/es/DatePicker/core/hooks/useSemantic.mjs +20 -0
- package/es/DatePicker/core/hooks/useSemantic.mjs.map +1 -0
- package/es/DatePicker/core/hooks/useSyncState.mjs +25 -0
- package/es/DatePicker/core/hooks/useSyncState.mjs.map +1 -0
- package/es/DatePicker/core/hooks/useTimeConfig.mjs +173 -0
- package/es/DatePicker/core/hooks/useTimeConfig.mjs.map +1 -0
- package/es/DatePicker/core/hooks/useTimeInfo.mjs +110 -0
- package/es/DatePicker/core/hooks/useTimeInfo.mjs.map +1 -0
- package/es/DatePicker/core/hooks/useToggleDates.mjs +21 -0
- package/es/DatePicker/core/hooks/useToggleDates.mjs.map +1 -0
- package/es/DatePicker/core/index.d.mts +5 -0
- package/es/DatePicker/core/index.mjs +9 -0
- package/es/DatePicker/core/index.mjs.map +1 -0
- package/es/DatePicker/core/interface.d.mts +325 -0
- package/es/DatePicker/core/locale/common.mjs +11 -0
- package/es/DatePicker/core/locale/common.mjs.map +1 -0
- package/es/DatePicker/core/locale/en_US.mjs +39 -0
- package/es/DatePicker/core/locale/en_US.mjs.map +1 -0
- package/es/DatePicker/core/utils/common.mjs +73 -0
- package/es/DatePicker/core/utils/common.mjs.map +1 -0
- package/es/DatePicker/core/utils/dateUtil.mjs +106 -0
- package/es/DatePicker/core/utils/dateUtil.mjs.map +1 -0
- package/es/DatePicker/core/utils/miscUtil.mjs +46 -0
- package/es/DatePicker/core/utils/miscUtil.mjs.map +1 -0
- package/es/DatePicker/core/utils/uiUtil.mjs +9 -0
- package/es/DatePicker/core/utils/uiUtil.mjs.map +1 -0
- package/es/DatePicker/dateGenerateConfig.mjs +52 -0
- package/es/DatePicker/dateGenerateConfig.mjs.map +1 -0
- package/es/DatePicker/generateConfig.mjs +12 -0
- package/es/DatePicker/generateConfig.mjs.map +1 -0
- package/es/DatePicker/generatePicker.d.mts +12 -0
- package/es/DatePicker/generatePicker.mjs +22 -0
- package/es/DatePicker/generatePicker.mjs.map +1 -0
- package/es/DatePicker/index.d.mts +8 -3
- package/es/DatePicker/index.mjs +5 -1
- package/es/DatePicker/legacyDate.mjs +58 -0
- package/es/DatePicker/legacyDate.mjs.map +1 -0
- package/es/DatePicker/locale.d.mts +15 -0
- package/es/DatePicker/locale.mjs +143 -0
- package/es/DatePicker/locale.mjs.map +1 -0
- package/es/DatePicker/semantic.mjs +29 -0
- package/es/DatePicker/semantic.mjs.map +1 -0
- package/es/DatePicker/style.mjs +3 -155
- package/es/DatePicker/style.mjs.map +1 -1
- package/es/DatePicker/type.d.mts +294 -27
- package/es/DatePicker/usePanelKeyboard.mjs +230 -0
- package/es/DatePicker/usePanelKeyboard.mjs.map +1 -0
- package/es/DatePicker/usePickerShared.mjs +106 -0
- package/es/DatePicker/usePickerShared.mjs.map +1 -0
- package/es/DatePicker/usePresetActive.mjs +49 -0
- package/es/DatePicker/usePresetActive.mjs.map +1 -0
- package/es/DraggablePanel/atoms.mjs +6 -6
- package/es/DraggablePanel/atoms.mjs.map +1 -1
- package/es/DraggableSideNav/DraggableSideNav.mjs +5 -5
- package/es/DraggableSideNav/DraggableSideNav.mjs.map +1 -1
- package/es/Drawer/Drawer.mjs +2 -2
- package/es/Drawer/Drawer.mjs.map +1 -1
- package/es/Drawer/atoms.d.mts +1 -0
- package/es/Drawer/atoms.mjs +7 -7
- package/es/Drawer/atoms.mjs.map +1 -1
- package/es/Drawer/constants.d.mts +1 -0
- package/es/Drawer/style.mjs.map +1 -1
- package/es/DropdownMenu/atoms.mjs +23 -23
- package/es/DropdownMenu/atoms.mjs.map +1 -1
- package/es/DropdownMenu/sharedStyle.mjs +2 -2
- package/es/DropdownMenu/sharedStyle.mjs.map +1 -1
- package/es/EditableText/ControlInput.mjs +42 -29
- package/es/EditableText/ControlInput.mjs.map +1 -1
- package/es/EditableText/EditableText.mjs +2 -2
- package/es/EditableText/EditableText.mjs.map +1 -1
- package/es/EditorSlashMenu/atoms.mjs +12 -12
- package/es/EditorSlashMenu/atoms.mjs.map +1 -1
- package/es/EmojiPicker/EmojiPicker.mjs +10 -16
- package/es/EmojiPicker/EmojiPicker.mjs.map +1 -1
- package/es/EmojiPicker/loadEmojiData.mjs +6 -0
- package/es/EmojiPicker/loadEmojiData.mjs.map +1 -0
- package/es/EmojiPicker/useEmojiMartI18n.mjs +37 -0
- package/es/EmojiPicker/useEmojiMartI18n.mjs.map +1 -0
- package/es/FileTypeIcon/type.d.mts +1 -0
- package/es/FloatingPanel/FloatingPanel.mjs +2 -2
- package/es/FloatingPanel/FloatingPanel.mjs.map +1 -1
- package/es/FloatingPanel/style.mjs +3 -2
- package/es/FloatingPanel/style.mjs.map +1 -1
- package/es/Form/type.d.mts +1 -0
- package/es/FormKit/List.mjs +2 -2
- package/es/FormKit/List.mjs.map +1 -1
- package/es/FormKit/engine/tanstack.mjs +1 -1
- package/es/FormKit/engine/tanstack.mjs.map +1 -1
- package/es/Grid/style.mjs +1 -1
- package/es/Grid/style.mjs.map +1 -1
- package/es/GroupAvatar/type.d.mts +1 -0
- package/es/Highlighter/FullFeatured.mjs +2 -2
- package/es/Highlighter/FullFeatured.mjs.map +1 -1
- package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs +2 -2
- package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs.map +1 -1
- package/es/Highlighter/SyntaxHighlighter/index.mjs +4 -4
- package/es/Highlighter/SyntaxHighlighter/index.mjs.map +1 -1
- package/es/Highlighter/const.d.mts +1 -0
- package/es/Highlighter/style.mjs +2 -2
- package/es/Highlighter/style.mjs.map +1 -1
- package/es/HotkeyInput/HotkeyInput.mjs +1 -1
- package/es/HotkeyInput/HotkeyInput.mjs.map +1 -1
- package/es/HtmlPreview/HtmlPreview.mjs +2 -2
- package/es/HtmlPreview/HtmlPreview.mjs.map +1 -1
- package/es/Icon/Icon.mjs +2 -2
- package/es/Icon/Icon.mjs.map +1 -1
- package/es/Image/type.d.mts +1 -0
- package/es/Image/viewer/ImageViewer.mjs +2 -1
- package/es/Image/viewer/ImageViewer.mjs.map +1 -1
- package/es/Image/viewer/Toolbar.mjs +19 -6
- package/es/Image/viewer/Toolbar.mjs.map +1 -1
- package/es/Image/viewer/ViewerChrome.mjs.map +1 -1
- package/es/ImageSelect/ImageSelect.mjs +1 -1
- package/es/ImageSelect/ImageSelect.mjs.map +1 -1
- package/es/Input/Input.mjs +7 -5
- package/es/Input/Input.mjs.map +1 -1
- package/es/Input/TextArea.mjs +1 -1
- package/es/Input/TextArea.mjs.map +1 -1
- package/es/Input/style.d.mts +1 -0
- package/es/Input/style.mjs +3 -3
- package/es/Input/style.mjs.map +1 -1
- package/es/Input/type.d.mts +1 -0
- package/es/List/ListRow.mjs +3 -3
- package/es/List/ListRow.mjs.map +1 -1
- package/es/Markdown/Markdown.mjs +2 -2
- package/es/Markdown/Markdown.mjs.map +1 -1
- package/es/Markdown/Typography.mjs +2 -2
- package/es/Markdown/Typography.mjs.map +1 -1
- package/es/Markdown/plugins/remarkColor.d.mts +1 -0
- package/es/Markdown/plugins/remarkGfmPlus.d.mts +1 -0
- package/es/Markdown/plugins/remarkVideo.d.mts +1 -0
- package/es/Mermaid/FullFeatured.mjs +2 -2
- package/es/Mermaid/FullFeatured.mjs.map +1 -1
- package/es/Mermaid/SyntaxMermaid/index.mjs +4 -4
- package/es/Mermaid/SyntaxMermaid/index.mjs.map +1 -1
- package/es/Mermaid/const.d.mts +1 -0
- package/es/Modal/atoms.d.mts +1 -0
- package/es/Modal/atoms.mjs +8 -8
- package/es/Modal/atoms.mjs.map +1 -1
- package/es/Modal/constants.d.mts +1 -0
- package/es/Modal/type.d.mts +1 -0
- package/es/Pagination/Pagination.mjs +182 -42
- package/es/Pagination/Pagination.mjs.map +1 -1
- package/es/Pagination/helpers.mjs +3 -3
- package/es/Pagination/helpers.mjs.map +1 -1
- package/es/Pagination/index.d.mts +2 -2
- package/es/Pagination/marker.stylex.mjs +9 -0
- package/es/Pagination/marker.stylex.mjs.map +1 -0
- package/es/Pagination/style.mjs +74 -4
- package/es/Pagination/style.mjs.map +1 -1
- package/es/Pagination/type.d.mts +41 -3
- package/es/Popover/PopoverInGroup.mjs +3 -3
- package/es/Popover/PopoverInGroup.mjs.map +1 -1
- package/es/Popover/atoms.mjs +7 -7
- package/es/Popover/atoms.mjs.map +1 -1
- package/es/Popover/style.mjs +1 -1
- package/es/Popover/style.mjs.map +1 -1
- package/es/ProTable/ProTable.d.mts +11 -0
- package/es/ProTable/ProTable.mjs +208 -0
- package/es/ProTable/ProTable.mjs.map +1 -0
- package/es/ProTable/hooks/useColumnRequest.mjs +55 -0
- package/es/ProTable/hooks/useColumnRequest.mjs.map +1 -0
- package/es/ProTable/hooks/useColumnsState.mjs +37 -0
- package/es/ProTable/hooks/useColumnsState.mjs.map +1 -0
- package/es/ProTable/hooks/useDelayedFlag.mjs +18 -0
- package/es/ProTable/hooks/useDelayedFlag.mjs.map +1 -0
- package/es/ProTable/hooks/useDensity.mjs +15 -0
- package/es/ProTable/hooks/useDensity.mjs.map +1 -0
- package/es/ProTable/hooks/useFetchData.mjs +97 -0
- package/es/ProTable/hooks/useFetchData.mjs.map +1 -0
- package/es/ProTable/hooks/useFullscreen.mjs +22 -0
- package/es/ProTable/hooks/useFullscreen.mjs.map +1 -0
- package/es/ProTable/hooks/usePageInfo.mjs +35 -0
- package/es/ProTable/hooks/usePageInfo.mjs.map +1 -0
- package/es/ProTable/hooks/useProColumns.mjs +123 -0
- package/es/ProTable/hooks/useProColumns.mjs.map +1 -0
- package/es/ProTable/hooks/useProLoading.mjs +19 -0
- package/es/ProTable/hooks/useProLoading.mjs.map +1 -0
- package/es/ProTable/hooks/useProLocale.mjs +22 -0
- package/es/ProTable/hooks/useProLocale.mjs.map +1 -0
- package/es/ProTable/hooks/useProRequest.mjs +137 -0
- package/es/ProTable/hooks/useProRequest.mjs.map +1 -0
- package/es/ProTable/hooks/useRowCache.mjs +11 -0
- package/es/ProTable/hooks/useRowCache.mjs.map +1 -0
- package/es/ProTable/hooks/useSearchForm.mjs +141 -0
- package/es/ProTable/hooks/useSearchForm.mjs.map +1 -0
- package/es/ProTable/hooks/useTableBindings.mjs +39 -0
- package/es/ProTable/hooks/useTableBindings.mjs.map +1 -0
- package/es/ProTable/hooks/useTableSelection.mjs +14 -0
- package/es/ProTable/hooks/useTableSelection.mjs.map +1 -0
- package/es/ProTable/index.d.mts +4 -0
- package/es/ProTable/index.d.ts +1 -0
- package/es/ProTable/index.js +1 -0
- package/es/ProTable/index.mjs +3 -0
- package/es/ProTable/locale.d.mts +15 -0
- package/es/ProTable/locale.mjs +66 -0
- package/es/ProTable/locale.mjs.map +1 -0
- package/es/ProTable/parts/ColumnSetting.mjs +155 -0
- package/es/ProTable/parts/ColumnSetting.mjs.map +1 -0
- package/es/ProTable/parts/FieldControl.mjs +117 -0
- package/es/ProTable/parts/FieldControl.mjs.map +1 -0
- package/es/ProTable/parts/KeywordInput.mjs +19 -0
- package/es/ProTable/parts/KeywordInput.mjs.map +1 -0
- package/es/ProTable/parts/LightFilter.mjs +70 -0
- package/es/ProTable/parts/LightFilter.mjs.map +1 -0
- package/es/ProTable/parts/OptionPopover.mjs +17 -0
- package/es/ProTable/parts/OptionPopover.mjs.map +1 -0
- package/es/ProTable/parts/SearchForm.mjs +180 -0
- package/es/ProTable/parts/SearchForm.mjs.map +1 -0
- package/es/ProTable/parts/SearchSection.mjs +33 -0
- package/es/ProTable/parts/SearchSection.mjs.map +1 -0
- package/es/ProTable/parts/TableAlert.mjs +38 -0
- package/es/ProTable/parts/TableAlert.mjs.map +1 -0
- package/es/ProTable/parts/Toolbar.mjs +50 -0
- package/es/ProTable/parts/Toolbar.mjs.map +1 -0
- package/es/ProTable/parts/ToolbarOptions.mjs +103 -0
- package/es/ProTable/parts/ToolbarOptions.mjs.map +1 -0
- package/es/ProTable/parts/renderValue.mjs +118 -0
- package/es/ProTable/parts/renderValue.mjs.map +1 -0
- package/es/ProTable/style.mjs +278 -0
- package/es/ProTable/style.mjs.map +1 -0
- package/es/ProTable/type.d.mts +397 -0
- package/es/ProTable/utils.mjs +152 -0
- package/es/ProTable/utils.mjs.map +1 -0
- package/es/Radio/Radio.mjs +3 -3
- package/es/Radio/Radio.mjs.map +1 -1
- package/es/Radio/type.d.mts +1 -0
- package/es/Rate/Rate.mjs +1 -1
- package/es/Rate/Rate.mjs.map +1 -1
- package/es/ScrollArea/atoms.mjs +4 -4
- package/es/ScrollArea/atoms.mjs.map +1 -1
- package/es/ScrollShadow/ScrollShadow.mjs +1 -1
- package/es/ScrollShadow/ScrollShadow.mjs.map +1 -1
- package/es/SearchBar/SearchBar.mjs +31 -25
- package/es/SearchBar/SearchBar.mjs.map +1 -1
- package/es/Segmented/Segmented.mjs +4 -4
- package/es/Segmented/Segmented.mjs.map +1 -1
- package/es/Segmented/atoms.d.mts +1 -0
- package/es/Segmented/atoms.mjs +2 -2
- package/es/Segmented/atoms.mjs.map +1 -1
- package/es/Select/Select.mjs +22 -13
- package/es/Select/Select.mjs.map +1 -1
- package/es/Select/atoms.mjs +5 -5
- package/es/Select/atoms.mjs.map +1 -1
- package/es/Select/helpers.mjs +8 -1
- package/es/Select/helpers.mjs.map +1 -1
- package/es/Select/hooks.mjs +8 -4
- package/es/Select/hooks.mjs.map +1 -1
- package/es/Select/renderOptions.mjs +2 -2
- package/es/Select/renderOptions.mjs.map +1 -1
- package/es/Select/type.d.mts +7 -0
- package/es/Slider/type.d.mts +1 -0
- package/es/Switch/Switch.mjs +2 -2
- package/es/Switch/Switch.mjs.map +1 -1
- package/es/Switch/atoms.d.mts +1 -0
- package/es/Switch/atoms.mjs +3 -3
- package/es/Switch/atoms.mjs.map +1 -1
- package/es/Table/Column.d.mts +8 -0
- package/es/Table/Column.mjs +6 -0
- package/es/Table/Column.mjs.map +1 -0
- package/es/Table/ColumnGroup.d.mts +11 -0
- package/es/Table/ColumnGroup.mjs +6 -0
- package/es/Table/ColumnGroup.mjs.map +1 -0
- package/es/Table/Table.d.mts +16 -2
- package/es/Table/Table.mjs +149 -118
- package/es/Table/Table.mjs.map +1 -1
- package/es/Table/atoms/cells.d.mts +42 -0
- package/es/Table/atoms/cells.mjs +72 -0
- package/es/Table/atoms/cells.mjs.map +1 -0
- package/es/Table/atoms/index.d.mts +3 -0
- package/es/Table/atoms/layout.d.mts +44 -0
- package/es/Table/atoms/layout.mjs +62 -0
- package/es/Table/atoms/layout.mjs.map +1 -0
- package/es/Table/constants.mjs +16 -0
- package/es/Table/constants.mjs.map +1 -0
- package/es/Table/engine/fixed.d.mts +1 -0
- package/es/Table/engine/fixed.mjs +53 -0
- package/es/Table/engine/fixed.mjs.map +1 -0
- package/es/Table/engine/types.d.mts +1 -0
- package/es/Table/engine/useTableEngine.mjs +180 -0
- package/es/Table/engine/useTableEngine.mjs.map +1 -0
- package/es/Table/index.d.mts +7 -2
- package/es/Table/index.mjs +4 -1
- package/es/Table/internal.d.mts +3 -0
- package/es/Table/pipeline/columnUtils.d.mts +5 -0
- package/es/Table/pipeline/columnUtils.mjs +58 -0
- package/es/Table/pipeline/columnUtils.mjs.map +1 -0
- package/es/Table/pipeline/convertChildrenToColumns.mjs +24 -0
- package/es/Table/pipeline/convertChildrenToColumns.mjs.map +1 -0
- package/es/Table/pipeline/normalizeColumns.mjs +140 -0
- package/es/Table/pipeline/normalizeColumns.mjs.map +1 -0
- package/es/Table/pipeline/selectionUtils.d.mts +9 -0
- package/es/Table/pipeline/selectionUtils.mjs +115 -0
- package/es/Table/pipeline/selectionUtils.mjs.map +1 -0
- package/es/Table/pipeline/useBreakpoint.mjs +36 -0
- package/es/Table/pipeline/useBreakpoint.mjs.map +1 -0
- package/es/Table/pipeline/useExpandable.mjs +45 -0
- package/es/Table/pipeline/useExpandable.mjs.map +1 -0
- package/es/Table/pipeline/useFilter.mjs +52 -0
- package/es/Table/pipeline/useFilter.mjs.map +1 -0
- package/es/Table/pipeline/useSelection.mjs +302 -0
- package/es/Table/pipeline/useSelection.mjs.map +1 -0
- package/es/Table/pipeline/useSorter.mjs +146 -0
- package/es/Table/pipeline/useSorter.mjs.map +1 -0
- package/es/Table/pipeline/useTableLocale.mjs +30 -0
- package/es/Table/pipeline/useTableLocale.mjs.map +1 -0
- package/es/Table/pipeline/useTableState.mjs +118 -0
- package/es/Table/pipeline/useTableState.mjs.map +1 -0
- package/es/Table/pipeline/useVirtualLayout.mjs +80 -0
- package/es/Table/pipeline/useVirtualLayout.mjs.map +1 -0
- package/es/Table/render/Body.mjs +150 -0
- package/es/Table/render/Body.mjs.map +1 -0
- package/es/Table/render/BodyCell.mjs +87 -0
- package/es/Table/render/BodyCell.mjs.map +1 -0
- package/es/Table/render/CellShell.mjs +84 -0
- package/es/Table/render/CellShell.mjs.map +1 -0
- package/es/Table/render/ExpandIcon.mjs +28 -0
- package/es/Table/render/ExpandIcon.mjs.map +1 -0
- package/es/Table/render/FilterDropdown.mjs +139 -0
- package/es/Table/render/FilterDropdown.mjs.map +1 -0
- package/es/Table/render/FilterPanel.mjs +152 -0
- package/es/Table/render/FilterPanel.mjs.map +1 -0
- package/es/Table/render/FixedFrost.mjs +113 -0
- package/es/Table/render/FixedFrost.mjs.map +1 -0
- package/es/Table/render/FixedHolder.mjs +51 -0
- package/es/Table/render/FixedHolder.mjs.map +1 -0
- package/es/Table/render/Header.mjs +184 -0
- package/es/Table/render/Header.mjs.map +1 -0
- package/es/Table/render/LoadingSkeleton.mjs +78 -0
- package/es/Table/render/LoadingSkeleton.mjs.map +1 -0
- package/es/Table/render/PaginationBar.mjs +71 -0
- package/es/Table/render/PaginationBar.mjs.map +1 -0
- package/es/Table/render/SelectionCells.mjs +111 -0
- package/es/Table/render/SelectionCells.mjs.map +1 -0
- package/es/Table/render/StickyScrollBar.mjs +99 -0
- package/es/Table/render/StickyScrollBar.mjs.map +1 -0
- package/es/Table/render/Summary.d.mts +16 -0
- package/es/Table/render/Summary.mjs +58 -0
- package/es/Table/render/Summary.mjs.map +1 -0
- package/es/Table/render/TableView.mjs +215 -0
- package/es/Table/render/TableView.mjs.map +1 -0
- package/es/Table/render/VirtualBody.mjs +101 -0
- package/es/Table/render/VirtualBody.mjs.map +1 -0
- package/es/Table/render/context.mjs +15 -0
- package/es/Table/render/context.mjs.map +1 -0
- package/es/Table/render/filterUtils.mjs +22 -0
- package/es/Table/render/filterUtils.mjs.map +1 -0
- package/es/Table/render/tableHelpers.mjs +27 -0
- package/es/Table/render/tableHelpers.mjs.map +1 -0
- package/es/Table/render/useColGroups.mjs +23 -0
- package/es/Table/render/useColGroups.mjs.map +1 -0
- package/es/Table/render/useScrollSync.mjs +104 -0
- package/es/Table/render/useScrollSync.mjs.map +1 -0
- package/es/Table/render/useViewContexts.mjs +134 -0
- package/es/Table/render/useViewContexts.mjs.map +1 -0
- package/es/Table/semantic.mjs +45 -0
- package/es/Table/semantic.mjs.map +1 -0
- package/es/Table/store/createTableStore.d.mts +1 -0
- package/es/Table/store/createTableStore.mjs +40 -0
- package/es/Table/store/createTableStore.mjs.map +1 -0
- package/es/Table/store/hooks.mjs +24 -0
- package/es/Table/store/hooks.mjs.map +1 -0
- package/es/Table/style.mjs +175 -90
- package/es/Table/style.mjs.map +1 -1
- package/es/Table/type.d.mts +467 -37
- package/es/Table/useTableController.mjs +293 -0
- package/es/Table/useTableController.mjs.map +1 -0
- package/es/Tabs/Tabs.mjs +37 -23
- package/es/Tabs/Tabs.mjs.map +1 -1
- package/es/Tabs/atoms.mjs +2 -2
- package/es/Tabs/atoms.mjs.map +1 -1
- package/es/Tag/Tag.mjs +2 -2
- package/es/Tag/Tag.mjs.map +1 -1
- package/es/Text/Text.mjs +2 -2
- package/es/Text/Text.mjs.map +1 -1
- package/es/Text/style.d.mts +4 -3
- package/es/Text/style.mjs +3 -3
- package/es/Text/style.mjs.map +1 -1
- package/es/Toast/dodge.mjs +0 -1
- package/es/Toast/dodge.mjs.map +1 -1
- package/es/Toast/dodge.stylex.mjs +1 -4
- package/es/Toast/dodge.stylex.mjs.map +1 -1
- package/es/Toast/style.mjs +1 -1
- package/es/Toast/style.mjs.map +1 -1
- package/es/ToggleGroup/ToggleGroup.mjs +4 -4
- package/es/ToggleGroup/ToggleGroup.mjs.map +1 -1
- package/es/ToggleGroup/atoms.d.mts +1 -0
- package/es/ToggleGroup/atoms.mjs +2 -2
- package/es/ToggleGroup/atoms.mjs.map +1 -1
- package/es/Tooltip/TooltipGroup.mjs +3 -3
- package/es/Tooltip/TooltipGroup.mjs.map +1 -1
- package/es/Tooltip/TooltipInGroup.mjs +1 -1
- package/es/Tooltip/TooltipInGroup.mjs.map +1 -1
- package/es/Tooltip/TooltipStandalone.mjs +4 -4
- package/es/Tooltip/TooltipStandalone.mjs.map +1 -1
- package/es/Tooltip/style.mjs +2 -2
- package/es/Tooltip/style.mjs.map +1 -1
- package/es/Tree/Tree.mjs +3 -3
- package/es/Tree/Tree.mjs.map +1 -1
- package/es/Tree/TreeNode.mjs +2 -2
- package/es/Tree/TreeNode.mjs.map +1 -1
- package/es/Video/Video.mjs +46 -0
- package/es/Video/Video.mjs.map +1 -0
- package/es/Video/context.mjs +14 -0
- package/es/Video/context.mjs.map +1 -0
- package/es/Video/index.d.mts +23 -39
- package/es/Video/index.mjs +21 -111
- package/es/Video/index.mjs.map +1 -1
- package/es/Video/parts/Caption.d.mts +9 -0
- package/es/Video/parts/Caption.mjs +37 -0
- package/es/Video/parts/Caption.mjs.map +1 -0
- package/es/Video/parts/CenterPlay.d.mts +8 -0
- package/es/Video/parts/CenterPlay.mjs +34 -0
- package/es/Video/parts/CenterPlay.mjs.map +1 -0
- package/es/Video/parts/Controls.d.mts +9 -0
- package/es/Video/parts/Controls.mjs +128 -0
- package/es/Video/parts/Controls.mjs.map +1 -0
- package/es/Video/parts/Frame.d.mts +9 -0
- package/es/Video/parts/Frame.mjs +101 -0
- package/es/Video/parts/Frame.mjs.map +1 -0
- package/es/Video/parts/HoverPreview.mjs +93 -0
- package/es/Video/parts/HoverPreview.mjs.map +1 -0
- package/es/Video/parts/LoadError.d.mts +8 -0
- package/es/Video/parts/LoadError.mjs +47 -0
- package/es/Video/parts/LoadError.mjs.map +1 -0
- package/es/Video/parts/PlayPauseIcon.mjs +48 -0
- package/es/Video/parts/PlayPauseIcon.mjs.map +1 -0
- package/es/Video/parts/RateMenu.mjs +48 -0
- package/es/Video/parts/RateMenu.mjs.map +1 -0
- package/es/Video/parts/Root.d.mts +9 -0
- package/es/Video/parts/Root.mjs +110 -0
- package/es/Video/parts/Root.mjs.map +1 -0
- package/es/Video/parts/SectionList.d.mts +9 -0
- package/es/Video/parts/SectionList.mjs +32 -0
- package/es/Video/parts/SectionList.mjs.map +1 -0
- package/es/Video/parts/SectionMenu.mjs +63 -0
- package/es/Video/parts/SectionMenu.mjs.map +1 -0
- package/es/Video/parts/Timeline.d.mts +9 -0
- package/es/Video/parts/Timeline.mjs +169 -0
- package/es/Video/parts/Timeline.mjs.map +1 -0
- package/es/Video/store.mjs +241 -0
- package/es/Video/store.mjs.map +1 -0
- package/es/Video/style.mjs +393 -23
- package/es/Video/style.mjs.map +1 -1
- package/es/Video/time.mjs +60 -0
- package/es/Video/time.mjs.map +1 -0
- package/es/Video/type.d.mts +125 -0
- package/es/Video/useControlsIdle.mjs +39 -0
- package/es/Video/useControlsIdle.mjs.map +1 -0
- package/es/Video/useFullscreen.mjs +17 -0
- package/es/Video/useFullscreen.mjs.map +1 -0
- package/es/Video/useKeyboard.mjs +60 -0
- package/es/Video/useKeyboard.mjs.map +1 -0
- package/es/Video/useVideo.d.mts +9 -0
- package/es/Video/useVideo.mjs +17 -0
- package/es/Video/useVideo.mjs.map +1 -0
- package/es/awesome/Features/FeatureItem.mjs +2 -2
- package/es/awesome/Features/FeatureItem.mjs.map +1 -1
- package/es/awesome/Giscus/style.mjs +9 -9
- package/es/awesome/Giscus/style.mjs.map +1 -1
- package/es/awesome/Grainient/Grainient.d.mts +11 -0
- package/es/awesome/Grainient/Grainient.mjs +314 -0
- package/es/awesome/Grainient/Grainient.mjs.map +1 -0
- package/es/awesome/Grainient/index.d.mts +3 -0
- package/es/awesome/Grainient/style.mjs +23 -0
- package/es/awesome/Grainient/style.mjs.map +1 -0
- package/es/awesome/Grainient/type.d.mts +121 -0
- package/es/awesome/GridBackground/GridBackground.mjs +1 -1
- package/es/awesome/GridBackground/GridBackground.mjs.map +1 -1
- package/es/awesome/GridBackground/GridShowcase.mjs +4 -4
- package/es/awesome/GridBackground/GridShowcase.mjs.map +1 -1
- package/es/awesome/Hero/Hero.mjs +3 -3
- package/es/awesome/Hero/Hero.mjs.map +1 -1
- package/es/awesome/InstallBanner/InstallBanner.mjs +2 -2
- package/es/awesome/InstallBanner/InstallBanner.mjs.map +1 -1
- package/es/awesome/LandingHero/LandingHero.mjs +3 -3
- package/es/awesome/LandingHero/LandingHero.mjs.map +1 -1
- package/es/awesome/LogoMarquee/LogoMarquee.mjs +2 -2
- package/es/awesome/LogoMarquee/LogoMarquee.mjs.map +1 -1
- package/es/awesome/Spline/ParentSize.mjs +1 -1
- package/es/awesome/Spline/ParentSize.mjs.map +1 -1
- package/es/awesome/TypewriterEffect/TypewriterEffect.mjs +4 -4
- package/es/awesome/TypewriterEffect/TypewriterEffect.mjs.map +1 -1
- package/es/awesome/index.d.mts +4 -1
- package/es/awesome/index.mjs +2 -1
- package/es/awesome/landingActions.mjs +2 -2
- package/es/awesome/landingActions.mjs.map +1 -1
- package/es/chat/BackBottom/BackBottom.mjs +1 -1
- package/es/chat/BackBottom/BackBottom.mjs.map +1 -1
- package/es/chat/BackBottom/type.d.mts +2 -2
- package/es/chat/ChatItem/ChatItem.mjs +2 -2
- package/es/chat/ChatItem/ChatItem.mjs.map +1 -1
- package/es/chat/EditableMessage/EditableMessage.mjs +4 -4
- package/es/chat/EditableMessage/EditableMessage.mjs.map +1 -1
- package/es/chat/EditableMessageList/EditableMessageList.mjs +2 -2
- package/es/chat/EditableMessageList/EditableMessageList.mjs.map +1 -1
- package/es/chat/EditableMessageList/messageReducer.mjs +30 -23
- package/es/chat/EditableMessageList/messageReducer.mjs.map +1 -1
- package/es/chat/MessageInput/MessageInput.mjs +3 -3
- package/es/chat/MessageInput/MessageInput.mjs.map +1 -1
- package/es/chat/MessageModal/MessageModal.mjs +1 -1
- package/es/chat/MessageModal/MessageModal.mjs.map +1 -1
- package/es/chat/TokenTag/TokenTag.mjs +2 -3
- package/es/chat/TokenTag/TokenTag.mjs.map +1 -1
- package/es/color/status/error.mjs +67 -0
- package/es/color/status/error.mjs.map +1 -0
- package/es/color/status/index.mjs +15 -0
- package/es/color/status/index.mjs.map +1 -0
- package/es/color/status/info.mjs +67 -0
- package/es/color/status/info.mjs.map +1 -0
- package/es/color/status/success.mjs +67 -0
- package/es/color/status/success.mjs.map +1 -0
- package/es/color/status/warning.mjs +67 -0
- package/es/color/status/warning.mjs.map +1 -0
- package/es/color/types.d.mts +1 -0
- package/es/dashboard/AuthLayout/Aside.d.mts +10 -0
- package/es/dashboard/AuthLayout/Aside.mjs +31 -0
- package/es/dashboard/AuthLayout/Aside.mjs.map +1 -0
- package/es/dashboard/AuthLayout/AuthLayout.d.mts +3 -1
- package/es/dashboard/AuthLayout/AuthLayout.mjs +97 -37
- package/es/dashboard/AuthLayout/AuthLayout.mjs.map +1 -1
- package/es/dashboard/AuthLayout/index.d.mts +3 -2
- package/es/dashboard/AuthLayout/style.mjs +109 -1
- package/es/dashboard/AuthLayout/style.mjs.map +1 -1
- package/es/dashboard/AuthLayout/type.d.mts +38 -2
- package/es/dashboard/AuthTools/AuthLocaleSwitch.d.mts +10 -0
- package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs +33 -0
- package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs.map +1 -0
- package/es/dashboard/AuthTools/AuthThemeSwitch.d.mts +10 -0
- package/es/dashboard/AuthTools/AuthThemeSwitch.mjs +59 -0
- package/es/dashboard/AuthTools/AuthThemeSwitch.mjs.map +1 -0
- package/es/dashboard/AuthTools/index.d.mts +4 -0
- package/es/dashboard/AuthTools/style.mjs +27 -0
- package/es/dashboard/AuthTools/style.mjs.map +1 -0
- package/es/dashboard/AuthTools/type.d.mts +29 -0
- package/es/dashboard/ChartGrid/ChartGrid.d.mts +10 -0
- package/es/dashboard/ChartGrid/ChartGrid.mjs +19 -0
- package/es/dashboard/ChartGrid/ChartGrid.mjs.map +1 -0
- package/es/dashboard/ChartGrid/index.d.mts +3 -0
- package/es/dashboard/ChartGrid/style.mjs +18 -0
- package/es/dashboard/ChartGrid/style.mjs.map +1 -0
- package/es/dashboard/ChartGrid/type.d.mts +8 -0
- package/es/dashboard/ConsoleNav/ConsoleNav.mjs +3 -3
- package/es/dashboard/ConsoleNav/ConsoleNav.mjs.map +1 -1
- package/es/dashboard/ConsoleNav/Skeleton.d.mts +15 -0
- package/es/dashboard/ConsoleNav/Skeleton.mjs +82 -0
- package/es/dashboard/ConsoleNav/Skeleton.mjs.map +1 -0
- package/es/dashboard/ConsoleNav/index.d.mts +3 -2
- package/es/dashboard/ConsoleNav/style.mjs +20 -2
- package/es/dashboard/ConsoleNav/style.mjs.map +1 -1
- package/es/dashboard/ConsoleNav/type.d.mts +13 -0
- package/es/dashboard/ConsoleShell/ConsoleShell.d.mts +1 -1
- package/es/dashboard/ConsoleShell/ConsoleShell.mjs +26 -6
- package/es/dashboard/ConsoleShell/ConsoleShell.mjs.map +1 -1
- package/es/dashboard/ConsoleShell/style.mjs +11 -1
- package/es/dashboard/ConsoleShell/style.mjs.map +1 -1
- package/es/dashboard/ConsoleShell/type.d.mts +11 -0
- package/es/dashboard/FilterSidebar/FilterSidebar.mjs +18 -17
- package/es/dashboard/FilterSidebar/FilterSidebar.mjs.map +1 -1
- package/es/dashboard/FilterSidebar/style.mjs +2 -2
- package/es/dashboard/FilterSidebar/style.mjs.map +1 -1
- package/es/dashboard/FilterStrip/FilterStrip.d.mts +11 -0
- package/es/dashboard/FilterStrip/FilterStrip.mjs +55 -0
- package/es/dashboard/FilterStrip/FilterStrip.mjs.map +1 -0
- package/es/dashboard/FilterStrip/index.d.mts +3 -0
- package/es/dashboard/FilterStrip/style.mjs +78 -0
- package/es/dashboard/FilterStrip/style.mjs.map +1 -0
- package/es/dashboard/FilterStrip/type.d.mts +25 -0
- package/es/dashboard/LabelWithKey/LabelWithKey.d.mts +10 -0
- package/es/dashboard/LabelWithKey/LabelWithKey.mjs +18 -0
- package/es/dashboard/LabelWithKey/LabelWithKey.mjs.map +1 -0
- package/es/dashboard/LabelWithKey/index.d.mts +3 -0
- package/es/dashboard/LabelWithKey/type.d.mts +11 -0
- package/es/dashboard/MetricStrip/MetricCell.mjs +92 -0
- package/es/dashboard/MetricStrip/MetricCell.mjs.map +1 -0
- package/es/dashboard/MetricStrip/MetricStrip.d.mts +13 -0
- package/es/dashboard/MetricStrip/MetricStrip.mjs +47 -0
- package/es/dashboard/MetricStrip/MetricStrip.mjs.map +1 -0
- package/es/dashboard/MetricStrip/index.d.mts +3 -0
- package/es/dashboard/MetricStrip/style.mjs +169 -0
- package/es/dashboard/MetricStrip/style.mjs.map +1 -0
- package/es/dashboard/MetricStrip/type.d.mts +38 -0
- package/es/dashboard/PageSkeleton/PageSkeleton.mjs +20 -18
- package/es/dashboard/PageSkeleton/PageSkeleton.mjs.map +1 -1
- package/es/dashboard/PageSkeleton/style.mjs +2 -1
- package/es/dashboard/PageSkeleton/style.mjs.map +1 -1
- package/es/dashboard/PageToolbar/PageToolbar.d.mts +10 -0
- package/es/dashboard/PageToolbar/PageToolbar.mjs +22 -0
- package/es/dashboard/PageToolbar/PageToolbar.mjs.map +1 -0
- package/es/dashboard/PageToolbar/index.d.mts +3 -0
- package/es/dashboard/PageToolbar/style.mjs +36 -0
- package/es/dashboard/PageToolbar/style.mjs.map +1 -0
- package/es/dashboard/PageToolbar/type.d.mts +11 -0
- package/es/dashboard/PanelSurface/PanelSurface.d.mts +10 -0
- package/es/dashboard/PanelSurface/PanelSurface.mjs +40 -0
- package/es/dashboard/PanelSurface/PanelSurface.mjs.map +1 -0
- package/es/dashboard/PanelSurface/index.d.mts +3 -0
- package/es/dashboard/PanelSurface/style.mjs +25 -0
- package/es/dashboard/PanelSurface/style.mjs.map +1 -0
- package/es/dashboard/PanelSurface/type.d.mts +17 -0
- package/es/dashboard/Section/Section.d.mts +10 -0
- package/es/dashboard/Section/Section.mjs +81 -0
- package/es/dashboard/Section/Section.mjs.map +1 -0
- package/es/dashboard/Section/index.d.mts +3 -0
- package/es/dashboard/Section/style.mjs +31 -0
- package/es/dashboard/Section/style.mjs.map +1 -0
- package/es/dashboard/Section/type.d.mts +23 -0
- package/es/dashboard/StatCard/StatCard.d.mts +2 -1
- package/es/dashboard/StatCard/StatCard.mjs +29 -91
- package/es/dashboard/StatCard/StatCard.mjs.map +1 -1
- package/es/dashboard/StatCard/type.d.mts +18 -5
- package/es/dashboard/Surface/Surface.d.mts +4 -3
- package/es/dashboard/Surface/Surface.mjs +90 -8
- package/es/dashboard/Surface/Surface.mjs.map +1 -1
- package/es/dashboard/Surface/index.d.mts +3 -2
- package/es/dashboard/Surface/link.d.mts +16 -0
- package/es/dashboard/Surface/link.mjs +40 -0
- package/es/dashboard/Surface/link.mjs.map +1 -0
- package/es/dashboard/Surface/marker.stylex.mjs +9 -0
- package/es/dashboard/Surface/marker.stylex.mjs.map +1 -0
- package/es/dashboard/Surface/style.d.mts +2 -0
- package/es/dashboard/Surface/style.mjs +156 -14
- package/es/dashboard/Surface/style.mjs.map +1 -1
- package/es/dashboard/Surface/type.d.mts +29 -1
- package/es/dashboard/TableIconActions/TableIconActions.d.mts +17 -0
- package/es/dashboard/TableIconActions/TableIconActions.mjs +39 -0
- package/es/dashboard/TableIconActions/TableIconActions.mjs.map +1 -0
- package/es/dashboard/TableIconActions/index.d.mts +3 -0
- package/es/dashboard/TableIconActions/type.d.mts +17 -0
- package/es/dashboard/TitleWithTips/TitleWithTips.d.mts +10 -0
- package/es/dashboard/TitleWithTips/TitleWithTips.mjs +28 -0
- package/es/dashboard/TitleWithTips/TitleWithTips.mjs.map +1 -0
- package/es/dashboard/TitleWithTips/index.d.mts +3 -0
- package/es/dashboard/TitleWithTips/type.d.mts +10 -0
- package/es/dashboard/index.d.mts +38 -4
- package/es/dashboard/index.mjs +18 -4
- package/es/eslint/noBaseUiSubpath.mjs +2 -1
- package/es/eslint/noBaseUiSubpath.mjs.map +1 -1
- package/es/hooks/useControlledState.mjs +20 -0
- package/es/hooks/useControlledState.mjs.map +1 -0
- package/es/hooks/useHighlight.mjs +2 -2
- package/es/hooks/useHighlight.mjs.map +1 -1
- package/es/hooks/useHover.mjs +22 -0
- package/es/hooks/useHover.mjs.map +1 -0
- package/es/hooks/useMarkdown/utils.d.mts +1 -0
- package/es/hooks/useScroll.d.mts +8 -0
- package/es/hooks/useScroll.mjs +33 -0
- package/es/hooks/useScroll.mjs.map +1 -0
- package/es/hooks/useSize.mjs +26 -0
- package/es/hooks/useSize.mjs.map +1 -0
- package/es/i18n/resources/en/colorPicker.d.mts +5 -0
- package/es/i18n/resources/en/colorPicker.mjs +5 -0
- package/es/i18n/resources/en/colorPicker.mjs.map +1 -1
- package/es/i18n/resources/en/datePicker.d.mts +54 -0
- package/es/i18n/resources/en/datePicker.mjs +55 -1
- package/es/i18n/resources/en/datePicker.mjs.map +1 -1
- package/es/i18n/resources/en/index.d.mts +4 -2
- package/es/i18n/resources/en/index.mjs +6 -2
- package/es/i18n/resources/en/index.mjs.map +1 -1
- package/es/i18n/resources/en/table.d.mts +23 -0
- package/es/i18n/resources/en/table.mjs +24 -0
- package/es/i18n/resources/en/table.mjs.map +1 -0
- package/es/i18n/resources/en/video.d.mts +23 -0
- package/es/i18n/resources/en/video.mjs +24 -0
- package/es/i18n/resources/en/video.mjs.map +1 -0
- package/es/i18n/resources/zhCn/colorPicker.d.mts +5 -0
- package/es/i18n/resources/zhCn/colorPicker.mjs +5 -0
- package/es/i18n/resources/zhCn/colorPicker.mjs.map +1 -1
- package/es/i18n/resources/zhCn/datePicker.d.mts +54 -0
- package/es/i18n/resources/zhCn/datePicker.mjs +55 -1
- package/es/i18n/resources/zhCn/datePicker.mjs.map +1 -1
- package/es/i18n/resources/zhCn/index.d.mts +4 -2
- package/es/i18n/resources/zhCn/index.mjs +7 -3
- package/es/i18n/resources/zhCn/index.mjs.map +1 -1
- package/es/i18n/resources/zhCn/table.d.mts +23 -0
- package/es/i18n/resources/zhCn/table.mjs +24 -0
- package/es/i18n/resources/zhCn/table.mjs.map +1 -0
- package/es/i18n/resources/zhCn/video.d.mts +23 -0
- package/es/i18n/resources/zhCn/video.mjs +24 -0
- package/es/i18n/resources/zhCn/video.mjs.map +1 -0
- package/es/i18n/types.d.mts +4 -1
- package/es/index.d.mts +20 -8
- package/es/index.mjs +17 -9
- package/es/internal/menu/itemInterface.d.mts +1 -0
- package/es/internal/menu/renderUtils.d.mts +1 -0
- package/es/internal/overflow/OverflowList.mjs +71 -0
- package/es/internal/overflow/OverflowList.mjs.map +1 -0
- package/es/internal/virtual/VirtualScrollArea.mjs +1 -1
- package/es/internal/virtual/VirtualScrollArea.mjs.map +1 -1
- package/es/mdx/Callout/index.mjs +2 -2
- package/es/mdx/Callout/index.mjs.map +1 -1
- package/es/mdx/Cards/Card.mjs +2 -2
- package/es/mdx/Cards/Card.mjs.map +1 -1
- package/es/mdx/Cards/index.mjs +2 -2
- package/es/mdx/Cards/index.mjs.map +1 -1
- package/es/mdx/Mdx/index.mjs +2 -2
- package/es/mdx/Mdx/index.mjs.map +1 -1
- package/es/mdx/Steps/index.mjs +2 -2
- package/es/mdx/Steps/index.mjs.map +1 -1
- package/es/mdx/mdxComponents/Pre.mjs +5 -5
- package/es/mdx/mdxComponents/Pre.mjs.map +1 -1
- package/es/mdx/mdxComponents/Video.d.mts +2 -1
- package/es/mdx/mdxComponents/Video.mjs +5 -3
- package/es/mdx/mdxComponents/Video.mjs.map +1 -1
- package/es/mobile/ChatInputArea/ChatInputArea.mjs +1 -1
- package/es/mobile/ChatInputArea/ChatInputArea.mjs.map +1 -1
- package/es/mobile/TabBar/TabBar.mjs +1 -1
- package/es/mobile/TabBar/TabBar.mjs.map +1 -1
- package/es/node_modules/.pnpm/@eslint_core@1.2.1/node_modules/@eslint/core/dist/esm/types.d.mts +2 -46
- package/es/node_modules/.pnpm/@eslint_plugin-kit@0.7.3/node_modules/@eslint/plugin-kit/dist/cjs/index.d.mts +1 -1
- package/es/node_modules/.pnpm/@types_estree@1.0.9/node_modules/@types/estree/index.d.mts +1 -4
- package/es/node_modules/.pnpm/@types_mdx@2.0.14/node_modules/@types/mdx/types.d.mts +1 -0
- package/es/node_modules/.pnpm/eslint@10.12.0_jiti@2.6.1_supports-color@10.2.2/node_modules/eslint/lib/types/index.d.mts +2 -1
- package/es/storybook/StoryBook/style.mjs +2 -0
- package/es/storybook/StoryBook/style.mjs.map +1 -1
- package/es/style.css +3534 -978
- package/es/styles/createGlobalStyle.d.mts +1 -0
- package/es/styles/createGlobalStyle.mjs +1 -1
- package/es/styles/index.d.mts +3 -2
- package/es/styles/index.mjs +5 -4
- package/es/styles/stylex/cssVar.stylex.mjs +3 -0
- package/es/styles/stylex/cssVar.stylex.mjs.map +1 -1
- package/es/styles/stylex/props.mjs +2 -2
- package/es/styles/stylex/props.mjs.map +1 -1
- package/es/styles/theme/createLobeToken.d.mts +10 -6
- package/es/styles/theme/createLobeToken.mjs.map +1 -1
- package/es/styles/theme/customPrimary.d.mts +7 -0
- package/es/styles/theme/customPrimary.mjs +66 -0
- package/es/styles/theme/customPrimary.mjs.map +1 -0
- package/es/styles/theme/generateColorPalette.d.mts +1 -0
- package/es/styles/theme/scope.d.mts +5 -3
- package/es/styles/theme/scope.mjs +30 -8
- package/es/styles/theme/scope.mjs.map +1 -1
- package/es/styles/theme/themeCss.d.mts +2 -0
- package/es/styles/theme/themeCss.mjs +24 -2
- package/es/styles/theme/themeCss.mjs.map +1 -1
- package/es/styles/theme/token/legacy.mjs +12 -12
- package/es/styles/theme/token/legacy.mjs.map +1 -1
- package/es/styles/theme/token/neutral.mjs +17 -9
- package/es/styles/theme/token/neutral.mjs.map +1 -1
- package/es/styles/theme/token/neutralText.mjs +91 -0
- package/es/styles/theme/token/neutralText.mjs.map +1 -0
- package/es/styles/theme/token/palette.mjs +16 -41
- package/es/styles/theme/token/palette.mjs.map +1 -1
- package/es/styles/theme/token/primary.mjs +6 -2
- package/es/styles/theme/token/primary.mjs.map +1 -1
- package/es/styles/theme/token/static.mjs +3 -0
- package/es/styles/theme/token/static.mjs.map +1 -1
- package/es/theme.css +301 -290
- package/es/types/customToken.d.mts +1 -0
- package/es/utils/colorMath.mjs +52 -0
- package/es/utils/colorMath.mjs.map +1 -0
- package/es/utils/formatNumber.mjs +7 -0
- package/es/utils/formatNumber.mjs.map +1 -0
- package/es/utils/genCdnUrl.mjs +6 -3
- package/es/utils/genCdnUrl.mjs.map +1 -1
- package/es/utils/hashString.mjs +19 -0
- package/es/utils/hashString.mjs.map +1 -0
- package/es/utils/mergeRefs.mjs +20 -0
- package/es/utils/mergeRefs.mjs.map +1 -0
- package/es/utils/placement.d.mts +5 -5
- package/es/utils/placement.mjs.map +1 -1
- package/package.json +25 -46
- package/es/DatePicker/CalendarPanel.mjs +0 -189
- package/es/DatePicker/CalendarPanel.mjs.map +0 -1
- package/es/DatePicker/PickerShell.mjs +0 -43
- package/es/DatePicker/PickerShell.mjs.map +0 -1
- package/es/DatePicker/calendar.d.mts +0 -4
- package/es/DatePicker/calendar.mjs +0 -46
- package/es/DatePicker/calendar.mjs.map +0 -1
- package/es/Table/FilterMenu.mjs +0 -45
- package/es/Table/FilterMenu.mjs.map +0 -1
- package/es/Table/TableBody.mjs +0 -67
- package/es/Table/TableBody.mjs.map +0 -1
- package/es/Table/TableHead.mjs +0 -58
- package/es/Table/TableHead.mjs.map +0 -1
- package/es/Table/features.mjs +0 -12
- package/es/Table/features.mjs.map +0 -1
- package/es/Table/fixedOffsets.mjs +0 -29
- package/es/Table/fixedOffsets.mjs.map +0 -1
- package/es/Table/marker.stylex.mjs +0 -9
- package/es/Table/marker.stylex.mjs.map +0 -1
- package/es/Table/toColumnDefs.mjs +0 -26
- package/es/Table/toColumnDefs.mjs.map +0 -1
- package/es/Table/useTableState.mjs +0 -99
- package/es/Table/useTableState.mjs.map +0 -1
- package/es/Video/marker.stylex.mjs +0 -9
- package/es/Video/marker.stylex.mjs.map +0 -1
- package/es/dashboard/StatCard/style.mjs +0 -105
- package/es/dashboard/StatCard/style.mjs.map +0 -1
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { getColumnId, getColumnPos, isColumnGroup } from "./columnUtils.mjs";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
//#region src/Table/pipeline/useSorter.ts
|
|
4
|
+
const DEFAULT_SORT_DIRECTIONS = ["ascend", "descend"];
|
|
5
|
+
const isPlainObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
6
|
+
const getMultiplePriority = (column) => {
|
|
7
|
+
const { sorter } = column;
|
|
8
|
+
return isPlainObject(sorter) && typeof sorter.multiple === "number" ? sorter.multiple : false;
|
|
9
|
+
};
|
|
10
|
+
const getSortFunction = (sorter) => {
|
|
11
|
+
if (typeof sorter === "function") return sorter;
|
|
12
|
+
if (isPlainObject(sorter) && typeof sorter.compare === "function") return sorter.compare;
|
|
13
|
+
return false;
|
|
14
|
+
};
|
|
15
|
+
const getNextSortOrder = (sortDirections, current) => {
|
|
16
|
+
if (!current) return sortDirections[0];
|
|
17
|
+
return sortDirections[sortDirections.indexOf(current) + 1];
|
|
18
|
+
};
|
|
19
|
+
const collectSortStates = (columns, init, parentPos) => {
|
|
20
|
+
const states = [];
|
|
21
|
+
const push = (column, pos, sortOrder) => states.push({
|
|
22
|
+
column,
|
|
23
|
+
key: getColumnId(column, pos),
|
|
24
|
+
multiplePriority: getMultiplePriority(column),
|
|
25
|
+
sortOrder
|
|
26
|
+
});
|
|
27
|
+
columns.forEach((column, index) => {
|
|
28
|
+
const pos = getColumnPos(index, parentPos);
|
|
29
|
+
if (isColumnGroup(column)) {
|
|
30
|
+
if ("sortOrder" in column) push(column, pos, column.sortOrder);
|
|
31
|
+
states.push(...collectSortStates(column.children, init, pos));
|
|
32
|
+
} else if (column.sorter) {
|
|
33
|
+
if ("sortOrder" in column) push(column, pos, column.sortOrder);
|
|
34
|
+
else if (init && column.defaultSortOrder) push(column, pos, column.defaultSortOrder);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
return states;
|
|
38
|
+
};
|
|
39
|
+
const collectColumnMap = (columns, map = /* @__PURE__ */ new Map(), parentPos) => {
|
|
40
|
+
columns.forEach((column, index) => {
|
|
41
|
+
const pos = getColumnPos(index, parentPos);
|
|
42
|
+
map.set(getColumnId(column, pos), column);
|
|
43
|
+
if (isColumnGroup(column)) collectColumnMap(column.children, map, pos);
|
|
44
|
+
});
|
|
45
|
+
return map;
|
|
46
|
+
};
|
|
47
|
+
const mergeSortStates = (columns, innerStates) => {
|
|
48
|
+
const controlled = collectSortStates(columns, false);
|
|
49
|
+
if (controlled.length === 0) {
|
|
50
|
+
const columnMap = collectColumnMap(columns);
|
|
51
|
+
return innerStates.filter(({ key }) => columnMap.has(key)).map((state) => ({
|
|
52
|
+
...state,
|
|
53
|
+
column: columnMap.get(state.key)
|
|
54
|
+
}));
|
|
55
|
+
}
|
|
56
|
+
const result = [];
|
|
57
|
+
let valid = true;
|
|
58
|
+
let multipleMode = null;
|
|
59
|
+
const patch = (state) => result.push(valid ? state : {
|
|
60
|
+
...state,
|
|
61
|
+
sortOrder: null
|
|
62
|
+
});
|
|
63
|
+
for (const state of controlled) if (multipleMode === null) {
|
|
64
|
+
patch(state);
|
|
65
|
+
if (state.sortOrder) {
|
|
66
|
+
if (state.multiplePriority === false) valid = false;
|
|
67
|
+
else multipleMode = true;
|
|
68
|
+
}
|
|
69
|
+
} else if (multipleMode && state.multiplePriority !== false) patch(state);
|
|
70
|
+
else {
|
|
71
|
+
valid = false;
|
|
72
|
+
patch(state);
|
|
73
|
+
}
|
|
74
|
+
return result;
|
|
75
|
+
};
|
|
76
|
+
const getTriggeredSortStates = (current, next) => {
|
|
77
|
+
if (next.multiplePriority === false || !current.length || current[0].multiplePriority === false) return [next];
|
|
78
|
+
return [...current.filter(({ key }) => key !== next.key), next];
|
|
79
|
+
};
|
|
80
|
+
const stateToInfo = ({ column, key, sortOrder }) => ({
|
|
81
|
+
column,
|
|
82
|
+
columnKey: column.key ?? key,
|
|
83
|
+
field: column.dataIndex,
|
|
84
|
+
order: sortOrder ?? void 0
|
|
85
|
+
});
|
|
86
|
+
const getSorterInfo = (states) => {
|
|
87
|
+
const active = states.filter(({ sortOrder }) => sortOrder).map((state) => stateToInfo(state));
|
|
88
|
+
if (active.length === 0 && states.length) return {
|
|
89
|
+
...stateToInfo(states.at(-1)),
|
|
90
|
+
column: void 0,
|
|
91
|
+
columnKey: void 0,
|
|
92
|
+
field: void 0,
|
|
93
|
+
order: void 0
|
|
94
|
+
};
|
|
95
|
+
if (active.length <= 1) return active[0] ?? {};
|
|
96
|
+
const [first] = active;
|
|
97
|
+
for (const field of [
|
|
98
|
+
"column",
|
|
99
|
+
"columnKey",
|
|
100
|
+
"field",
|
|
101
|
+
"order"
|
|
102
|
+
]) Object.defineProperty(active, field, {
|
|
103
|
+
configurable: true,
|
|
104
|
+
enumerable: false,
|
|
105
|
+
value: first[field],
|
|
106
|
+
writable: true
|
|
107
|
+
});
|
|
108
|
+
return active;
|
|
109
|
+
};
|
|
110
|
+
const getSortTitleProps = (states) => {
|
|
111
|
+
const sortColumns = states.map(({ column, sortOrder }) => ({
|
|
112
|
+
column,
|
|
113
|
+
order: sortOrder
|
|
114
|
+
}));
|
|
115
|
+
return {
|
|
116
|
+
sortColumn: sortColumns[0]?.column,
|
|
117
|
+
sortColumns,
|
|
118
|
+
sortOrder: sortColumns[0]?.order
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
const sortData = (data, states, childrenColumnName = "children") => {
|
|
122
|
+
const running = states.filter(({ column, sortOrder }) => getSortFunction(column.sorter) && sortOrder).sort((a, b) => b.multiplePriority - a.multiplePriority);
|
|
123
|
+
if (running.length === 0) return [...data];
|
|
124
|
+
return [...data].sort((a, b) => {
|
|
125
|
+
for (const { column, sortOrder } of running) {
|
|
126
|
+
const result = getSortFunction(column.sorter)(a, b, sortOrder);
|
|
127
|
+
if (result !== 0) return sortOrder === "ascend" ? result : -result;
|
|
128
|
+
}
|
|
129
|
+
return 0;
|
|
130
|
+
}).map((record) => {
|
|
131
|
+
const children = record[childrenColumnName];
|
|
132
|
+
return Array.isArray(children) ? {
|
|
133
|
+
...record,
|
|
134
|
+
[childrenColumnName]: sortData(children, states, childrenColumnName)
|
|
135
|
+
} : record;
|
|
136
|
+
});
|
|
137
|
+
};
|
|
138
|
+
const useSorter = ({ childrenColumnName, data, sortStates }) => useMemo(() => sortData(data, sortStates, childrenColumnName), [
|
|
139
|
+
data,
|
|
140
|
+
sortStates,
|
|
141
|
+
childrenColumnName
|
|
142
|
+
]);
|
|
143
|
+
//#endregion
|
|
144
|
+
export { DEFAULT_SORT_DIRECTIONS, collectSortStates, getMultiplePriority, getNextSortOrder, getSortFunction, getSortTitleProps, getSorterInfo, getTriggeredSortStates, mergeSortStates, sortData, useSorter };
|
|
145
|
+
|
|
146
|
+
//# sourceMappingURL=useSorter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useSorter.mjs","names":[],"sources":["../../../src/Table/pipeline/useSorter.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport type {\n SortOrder,\n TableColumn,\n TableColumnTitleProps,\n TableColumnType,\n TableCompareFn,\n TableMultipleSorterResult,\n TableSorterResult,\n} from '../type';\nimport { getColumnId, getColumnPos, isColumnGroup } from './columnUtils';\n\nexport interface SortState<T = any> {\n column: TableColumn<T>;\n key: string;\n multiplePriority: number | false;\n sortOrder: SortOrder | undefined;\n}\n\nexport const DEFAULT_SORT_DIRECTIONS: SortOrder[] = ['ascend', 'descend'];\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nexport const getMultiplePriority = (column: TableColumn<any>): number | false => {\n const { sorter } = column;\n return isPlainObject(sorter) && typeof sorter.multiple === 'number' ? sorter.multiple : false;\n};\n\nexport const getSortFunction = <T>(sorter: TableColumn<T>['sorter']): TableCompareFn<T> | false => {\n if (typeof sorter === 'function') return sorter;\n if (isPlainObject(sorter) && typeof sorter.compare === 'function') return sorter.compare;\n return false;\n};\n\nexport const getNextSortOrder = (\n sortDirections: readonly SortOrder[],\n current: SortOrder | undefined,\n): SortOrder | undefined => {\n if (!current) return sortDirections[0];\n return sortDirections[sortDirections.indexOf(current) + 1];\n};\n\nexport const collectSortStates = <T>(\n columns: readonly TableColumn<T>[],\n init: boolean,\n parentPos?: string,\n): SortState<T>[] => {\n const states: SortState<T>[] = [];\n const push = (column: TableColumn<T>, pos: string, sortOrder: SortOrder | undefined) =>\n states.push({\n column,\n key: getColumnId(column, pos),\n multiplePriority: getMultiplePriority(column),\n sortOrder,\n });\n\n columns.forEach((column, index) => {\n const pos = getColumnPos(index, parentPos);\n if (isColumnGroup(column)) {\n if ('sortOrder' in column) push(column, pos, column.sortOrder);\n states.push(...collectSortStates(column.children, init, pos));\n } else if (column.sorter) {\n if ('sortOrder' in column) push(column, pos, column.sortOrder);\n else if (init && column.defaultSortOrder) push(column, pos, column.defaultSortOrder);\n }\n });\n return states;\n};\n\nconst collectColumnMap = <T>(\n columns: readonly TableColumn<T>[],\n map = new Map<string, TableColumn<T>>(),\n parentPos?: string,\n) => {\n columns.forEach((column, index) => {\n const pos = getColumnPos(index, parentPos);\n map.set(getColumnId(column, pos), column);\n if (isColumnGroup(column)) collectColumnMap(column.children, map, pos);\n });\n return map;\n};\n\nexport const mergeSortStates = <T>(\n columns: readonly TableColumn<T>[],\n innerStates: readonly SortState<T>[],\n): SortState<T>[] => {\n const controlled = collectSortStates(columns, false);\n\n if (controlled.length === 0) {\n // Drop states of removed columns and pick up the latest column objects (fresh comparators).\n const columnMap = collectColumnMap(columns);\n return innerStates\n .filter(({ key }) => columnMap.has(key))\n .map((state) => ({ ...state, column: columnMap.get(state.key)! }));\n }\n\n const result: SortState<T>[] = [];\n let valid = true;\n let multipleMode: boolean | null = null;\n const patch = (state: SortState<T>) => result.push(valid ? state : { ...state, sortOrder: null });\n\n for (const state of controlled) {\n if (multipleMode === null) {\n patch(state);\n if (state.sortOrder) {\n if (state.multiplePriority === false) valid = false;\n else multipleMode = true;\n }\n } else if (multipleMode && state.multiplePriority !== false) {\n patch(state);\n } else {\n valid = false;\n patch(state);\n }\n }\n return result;\n};\n\nexport const getTriggeredSortStates = <T>(\n current: readonly SortState<T>[],\n next: SortState<T>,\n): SortState<T>[] => {\n if (next.multiplePriority === false || !current.length || current[0].multiplePriority === false) {\n return [next];\n }\n return [...current.filter(({ key }) => key !== next.key), next];\n};\n\nconst stateToInfo = <T>({ column, key, sortOrder }: SortState<T>): TableSorterResult<T> => ({\n column: column as TableColumnType<T>,\n // antd reports `column.key`; the id fallback keeps dataIndex-only columns identifiable.\n columnKey: column.key ?? key,\n field: (column as TableColumnType<T>).dataIndex as TableSorterResult<T>['field'],\n order: sortOrder ?? undefined,\n});\n\nexport const getSorterInfo = <T>(\n states: readonly SortState<T>[],\n): TableSorterResult<T> | TableMultipleSorterResult<T> => {\n const active = states.filter(({ sortOrder }) => sortOrder).map((state) => stateToInfo(state));\n\n // antd keeps the last cleared column's other fields when nothing is sorted.\n if (active.length === 0 && states.length) {\n return {\n ...stateToInfo(states.at(-1)!),\n column: undefined,\n columnKey: undefined,\n field: undefined,\n order: undefined,\n };\n }\n if (active.length <= 1) return active[0] ?? {};\n // Pre-5.61 code reads `sorter.order` / `sorter.columnKey` directly: expose the first entry's\n // fields on the array too. Non-enumerable, so iteration, spread and equality see a plain array.\n const [first] = active;\n for (const field of ['column', 'columnKey', 'field', 'order'] as const) {\n Object.defineProperty(active, field, {\n configurable: true,\n enumerable: false,\n value: first[field],\n writable: true,\n });\n }\n return active as TableMultipleSorterResult<T>;\n};\n\nexport const getSortTitleProps = <T>(\n states: readonly SortState<T>[],\n): Pick<TableColumnTitleProps<T>, 'sortColumn' | 'sortColumns' | 'sortOrder'> => {\n const sortColumns = states.map(({ column, sortOrder }) => ({ column, order: sortOrder }));\n return {\n sortColumn: sortColumns[0]?.column,\n sortColumns,\n sortOrder: sortColumns[0]?.order,\n };\n};\n\nexport const sortData = <T>(\n data: readonly T[],\n states: readonly SortState<T>[],\n childrenColumnName = 'children',\n): T[] => {\n const running = states\n .filter(({ column, sortOrder }) => getSortFunction(column.sorter) && sortOrder)\n .sort((a, b) => (b.multiplePriority as number) - (a.multiplePriority as number));\n if (running.length === 0) return [...data];\n\n return [...data]\n .sort((a, b) => {\n for (const { column, sortOrder } of running) {\n const result = (getSortFunction(column.sorter) as TableCompareFn<T>)(a, b, sortOrder);\n if (result !== 0) return sortOrder === 'ascend' ? result : -result;\n }\n return 0;\n })\n .map((record) => {\n const children = (record as Record<string, unknown>)[childrenColumnName];\n return Array.isArray(children)\n ? { ...record, [childrenColumnName]: sortData(children as T[], states, childrenColumnName) }\n : record;\n });\n};\n\nexport const useSorter = <T>({\n childrenColumnName,\n data,\n sortStates,\n}: {\n childrenColumnName?: string;\n data: readonly T[];\n sortStates: readonly SortState<T>[];\n}) =>\n useMemo(\n () => sortData(data, sortStates, childrenColumnName),\n [data, sortStates, childrenColumnName],\n );\n"],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { useTranslation } from "../../i18n/useTranslation.mjs";
|
|
2
|
+
import table_default from "../../i18n/resources/en/table.mjs";
|
|
3
|
+
import { useMemo } from "react";
|
|
4
|
+
//#region src/Table/pipeline/useTableLocale.ts
|
|
5
|
+
const useTableLocale = (locale) => {
|
|
6
|
+
const { t } = useTranslation(table_default);
|
|
7
|
+
return useMemo(() => ({
|
|
8
|
+
cancelSort: t("table.cancelSort"),
|
|
9
|
+
collapse: t("table.collapse"),
|
|
10
|
+
expand: t("table.expand"),
|
|
11
|
+
filterCheckAll: t("table.filterCheckAll"),
|
|
12
|
+
filterConfirm: t("table.filterConfirm"),
|
|
13
|
+
filterEmptyText: t("table.filterEmptyText"),
|
|
14
|
+
filterReset: t("table.filterReset"),
|
|
15
|
+
filterSearchPlaceholder: t("table.filterSearchPlaceholder"),
|
|
16
|
+
filterTitle: t("table.filterTitle"),
|
|
17
|
+
selectAll: t("table.selectAll"),
|
|
18
|
+
selectInvert: t("table.selectInvert"),
|
|
19
|
+
selectNone: t("table.selectNone"),
|
|
20
|
+
selectionAll: t("table.selectionAll"),
|
|
21
|
+
sortTitle: t("table.sortTitle"),
|
|
22
|
+
triggerAsc: t("table.triggerAsc"),
|
|
23
|
+
triggerDesc: t("table.triggerDesc"),
|
|
24
|
+
...locale
|
|
25
|
+
}), [t, locale]);
|
|
26
|
+
};
|
|
27
|
+
//#endregion
|
|
28
|
+
export { useTableLocale };
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=useTableLocale.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableLocale.mjs","names":["tableMessages"],"sources":["../../../src/Table/pipeline/useTableLocale.ts"],"sourcesContent":["import { useMemo } from 'react';\n\nimport tableMessages from '@/i18n/resources/en/table';\nimport { useTranslation } from '@/i18n/useTranslation';\n\nimport type { TableLocale } from '../type';\n\nexport const useTableLocale = (locale: TableLocale | undefined) => {\n const { t } = useTranslation(tableMessages);\n return useMemo(\n (): TableLocale => ({\n cancelSort: t('table.cancelSort'),\n collapse: t('table.collapse'),\n expand: t('table.expand'),\n filterCheckAll: t('table.filterCheckAll'),\n filterConfirm: t('table.filterConfirm'),\n filterEmptyText: t('table.filterEmptyText'),\n filterReset: t('table.filterReset'),\n filterSearchPlaceholder: t('table.filterSearchPlaceholder'),\n filterTitle: t('table.filterTitle'),\n selectAll: t('table.selectAll'),\n selectInvert: t('table.selectInvert'),\n selectNone: t('table.selectNone'),\n selectionAll: t('table.selectionAll'),\n sortTitle: t('table.sortTitle'),\n triggerAsc: t('table.triggerAsc'),\n triggerDesc: t('table.triggerDesc'),\n ...locale,\n }),\n [t, locale],\n );\n};\n"],"mappings":";;;;AAOA,MAAa,kBAAkB,WAAoC;CACjE,MAAM,EAAE,MAAM,eAAeA,aAAa;CAC1C,OAAO,eACe;EAClB,YAAY,EAAE,kBAAkB;EAChC,UAAU,EAAE,gBAAgB;EAC5B,QAAQ,EAAE,cAAc;EACxB,gBAAgB,EAAE,sBAAsB;EACxC,eAAe,EAAE,qBAAqB;EACtC,iBAAiB,EAAE,uBAAuB;EAC1C,aAAa,EAAE,mBAAmB;EAClC,yBAAyB,EAAE,+BAA+B;EAC1D,aAAa,EAAE,mBAAmB;EAClC,WAAW,EAAE,iBAAiB;EAC9B,cAAc,EAAE,oBAAoB;EACpC,YAAY,EAAE,kBAAkB;EAChC,cAAc,EAAE,oBAAoB;EACpC,WAAW,EAAE,iBAAiB;EAC9B,YAAY,EAAE,kBAAkB;EAChC,aAAa,EAAE,mBAAmB;EAClC,GAAG;CACL,IACA,CAAC,GAAG,MAAM,CACZ;AACF"}
|
|
@@ -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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"}
|