@lobehub/ui 6.0.0-beta.6 → 6.0.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/Alert/Alert.mjs +5 -5
- package/es/Alert/Alert.mjs.map +1 -1
- package/es/AutoComplete/AutoComplete.mjs +5 -5
- package/es/AutoComplete/AutoComplete.mjs.map +1 -1
- package/es/AutoComplete/style.mjs +2 -2
- package/es/AutoComplete/style.mjs.map +1 -1
- 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/Checkbox/Checkbox.mjs +3 -3
- package/es/Checkbox/Checkbox.mjs.map +1 -1
- package/es/CodeDiff/DiffPanel.mjs +4 -4
- package/es/CodeDiff/DiffPanel.mjs.map +1 -1
- package/es/CodeEditor/CodeEditor.mjs +4 -4
- 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 +62 -199
- 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/type.d.mts +2 -2
- 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/DatePicker/DatePicker.d.mts +7 -2
- package/es/DatePicker/DatePicker.mjs +13 -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/PurePanel.mjs +65 -0
- package/es/DatePicker/PurePanel.mjs.map +1 -0
- package/es/DatePicker/RangePicker.mjs +115 -0
- package/es/DatePicker/RangePicker.mjs.map +1 -0
- package/es/DatePicker/SinglePicker.mjs +132 -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/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 +6 -3
- package/es/DatePicker/index.mjs +3 -1
- 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 +268 -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 +48 -0
- package/es/DatePicker/usePresetActive.mjs.map +1 -0
- package/es/DraggablePanel/atoms.mjs +5 -5
- package/es/DraggablePanel/atoms.mjs.map +1 -1
- package/es/DraggableSideNav/DraggableSideNav.mjs +3 -3
- 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.mjs +6 -6
- package/es/Drawer/atoms.mjs.map +1 -1
- package/es/DropdownMenu/atoms.mjs +22 -22
- 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/EditableText.mjs +1 -1
- package/es/EditorSlashMenu/atoms.mjs +12 -12
- package/es/EditorSlashMenu/atoms.mjs.map +1 -1
- package/es/EmojiPicker/EmojiPicker.mjs +7 -7
- 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/FloatingPanel/FloatingPanel.mjs +2 -2
- package/es/FloatingPanel/FloatingPanel.mjs.map +1 -1
- package/es/FormKit/List.mjs +2 -2
- package/es/FormKit/List.mjs.map +1 -1
- 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/style.mjs +2 -2
- package/es/Highlighter/style.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/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/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/Modal/atoms.mjs +6 -6
- package/es/Modal/atoms.mjs.map +1 -1
- package/es/Pagination/Pagination.mjs +181 -41
- 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 +2 -2
- package/es/Popover/PopoverInGroup.mjs.map +1 -1
- package/es/Popover/atoms.mjs +6 -6
- package/es/Popover/atoms.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/ScrollArea/atoms.mjs +4 -4
- package/es/ScrollArea/atoms.mjs.map +1 -1
- package/es/Segmented/Segmented.mjs +3 -3
- package/es/Segmented/Segmented.mjs.map +1 -1
- 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 +4 -4
- 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/Switch/Switch.mjs +2 -2
- package/es/Switch/Switch.mjs.map +1 -1
- package/es/Switch/atoms.mjs +2 -2
- 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 +2 -2
- 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/Tabs/style.d.mts +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 +3 -3
- package/es/Text/style.mjs +3 -3
- package/es/Text/style.mjs.map +1 -1
- package/es/ToggleGroup/ToggleGroup.mjs +3 -3
- package/es/ToggleGroup/ToggleGroup.mjs.map +1 -1
- 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/TooltipStandalone.mjs +3 -3
- package/es/Tooltip/TooltipStandalone.mjs.map +1 -1
- package/es/Tree/Tree.mjs +2 -2
- 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 +2 -2
- package/es/Video/Video.mjs.map +1 -1
- package/es/awesome/Features/FeatureItem.mjs +2 -2
- package/es/awesome/Features/FeatureItem.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/TypewriterEffect/TypewriterEffect.mjs +4 -4
- package/es/awesome/TypewriterEffect/TypewriterEffect.mjs.map +1 -1
- package/es/awesome/landingActions.mjs +2 -2
- package/es/awesome/landingActions.mjs.map +1 -1
- package/es/chat/ChatItem/ChatItem.mjs +2 -2
- package/es/chat/ChatItem/ChatItem.mjs.map +1 -1
- package/es/chat/EditableMessage/EditableMessage.mjs +3 -3
- package/es/chat/EditableMessage/EditableMessage.mjs.map +1 -1
- package/es/chat/EditableMessageList/EditableMessageList.mjs +1 -1
- package/es/chat/MessageInput/MessageInput.mjs +3 -3
- package/es/chat/MessageInput/MessageInput.mjs.map +1 -1
- package/es/dashboard/AuthLayout/AuthLayout.mjs +8 -4
- package/es/dashboard/AuthLayout/AuthLayout.mjs.map +1 -1
- package/es/dashboard/AuthLayout/style.mjs +14 -3
- package/es/dashboard/AuthLayout/style.mjs.map +1 -1
- package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs +2 -2
- package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs.map +1 -1
- package/es/dashboard/AuthTools/AuthThemeSwitch.mjs +2 -2
- package/es/dashboard/AuthTools/AuthThemeSwitch.mjs.map +1 -1
- package/es/dashboard/ConsoleNav/ConsoleNav.mjs +3 -3
- package/es/dashboard/ConsoleNav/ConsoleNav.mjs.map +1 -1
- package/es/dashboard/ConsoleNav/style.mjs +2 -2
- package/es/dashboard/ConsoleNav/style.mjs.map +1 -1
- package/es/dashboard/ConsoleShell/style.mjs +1 -1
- package/es/dashboard/ConsoleShell/style.mjs.map +1 -1
- package/es/dashboard/FilterSidebar/FilterSidebar.mjs +1 -1
- package/es/dashboard/FilterSidebar/style.mjs +2 -2
- package/es/dashboard/FilterSidebar/style.mjs.map +1 -1
- package/es/dashboard/FilterStrip/style.mjs +1 -1
- package/es/dashboard/FilterStrip/style.mjs.map +1 -1
- package/es/dashboard/MetricStrip/MetricCell.mjs +25 -14
- package/es/dashboard/MetricStrip/MetricCell.mjs.map +1 -1
- package/es/dashboard/MetricStrip/style.mjs +14 -1
- package/es/dashboard/MetricStrip/style.mjs.map +1 -1
- package/es/dashboard/MetricStrip/type.d.mts +2 -0
- package/es/dashboard/PageSkeleton/style.mjs +2 -1
- package/es/dashboard/PageSkeleton/style.mjs.map +1 -1
- package/es/dashboard/StatCard/StatCard.d.mts +1 -1
- package/es/dashboard/StatCard/StatCard.mjs +2 -1
- package/es/dashboard/StatCard/StatCard.mjs.map +1 -1
- package/es/dashboard/StatCard/type.d.mts +2 -0
- package/es/dashboard/Surface/Surface.mjs +3 -4
- package/es/dashboard/Surface/Surface.mjs.map +1 -1
- package/es/dashboard/Surface/link.mjs +1 -1
- package/es/dashboard/Surface/link.mjs.map +1 -1
- package/es/dashboard/Surface/style.mjs +15 -14
- package/es/dashboard/Surface/style.mjs.map +1 -1
- package/es/dashboard/index.mjs +2 -2
- package/es/eslint/noBaseUiSubpath.mjs +2 -1
- package/es/eslint/noBaseUiSubpath.mjs.map +1 -1
- 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 -3
- package/es/i18n/resources/en/index.mjs +3 -1
- 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/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 -3
- package/es/i18n/resources/zhCn/index.mjs +4 -2
- 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/types.d.mts +3 -2
- package/es/index.d.mts +15 -7
- package/es/index.mjs +14 -9
- package/es/internal/overflow/OverflowList.mjs +71 -0
- package/es/internal/overflow/OverflowList.mjs.map +1 -0
- 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/storybook/StoryBook/style.mjs +2 -0
- package/es/storybook/StoryBook/style.mjs.map +1 -1
- package/es/style.css +2966 -957
- 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/props.mjs +2 -2
- package/es/styles/stylex/props.mjs.map +1 -1
- package/es/styles/theme/createLobeToken.d.mts +3 -2
- 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/scope.d.mts +4 -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/primary.mjs +6 -2
- package/es/styles/theme/token/primary.mjs.map +1 -1
- package/es/theme.css +8 -0
- package/package.json +6 -1
- 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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableSelection.mjs","names":[],"sources":["../../../src/ProTable/hooks/useTableSelection.ts"],"sourcesContent":["import { type Key, type RefObject, useCallback, useMemo, useSyncExternalStore } from 'react';\n\nimport type { TableInternalHandle } from '@/Table/internal';\n\nconst EMPTY: ReadonlySet<Key> = new Set();\nconst noop = () => {};\n\nexport const useSelectedRowKeys = (handleRef: RefObject<TableInternalHandle | null>) => {\n const subscribe = useCallback(\n (notify: () => void) => handleRef.current?.store.subscribe(notify) ?? noop,\n [handleRef],\n );\n const getSnapshot = () => handleRef.current?.store.getState().selectedKeys ?? EMPTY;\n const keySet = useSyncExternalStore(subscribe, getSnapshot, () => EMPTY);\n return useMemo(() => [...keySet], [keySet]);\n};\n"],"mappings":";;AAIA,MAAM,wBAA0B,IAAI,IAAI;AACxC,MAAM,aAAa,CAAC;AAEpB,MAAa,sBAAsB,cAAqD;CACtF,MAAM,YAAY,aACf,WAAuB,UAAU,SAAS,MAAM,UAAU,MAAM,KAAK,MACtE,CAAC,SAAS,CACZ;CACA,MAAM,oBAAoB,UAAU,SAAS,MAAM,SAAS,CAAC,CAAC,gBAAgB;CAC9E,MAAM,SAAS,qBAAqB,WAAW,mBAAmB,KAAK;CACvE,OAAO,cAAc,CAAC,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC;AAC5C"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ProColumnRequest, ProColumnType, ProColumns, ProTableActionType, ProTableAlertRender, ProTableAlertRenderProps, ProTableColumnsState, ProTableColumnsStateItem, ProTableColumnsStateMap, ProTableDensity, ProTableFormInstance, ProTableLoadingConfig, ProTableLocale, ProTableOptionConfig, ProTablePageInfo, ProTableProps, ProTableRequest, ProTableRequestData, ProTableRequestFilter, ProTableRequestOption, ProTableRequestSort, ProTableSchemaConfig, ProTableSearchConfig, ProTableSearchTransform, ProTableSpanBreakpoint, ProTableSpanConfig, ProTableStatus, ProTableToolbarConfig, ProTableValueEnum, ProTableValueEnumItem, ProTableValueType } from "./type.mjs";
|
|
2
|
+
import { PRO_TABLE_LOCALES, PRO_TABLE_LOCALE_EN_US, PRO_TABLE_LOCALE_ZH_CN, ProTableLocaleResolved, resolveProTableLocale } from "./locale.mjs";
|
|
3
|
+
import ProTable, { DEFAULT_PRO_TABLE_LOCALE } from "./ProTable.mjs";
|
|
4
|
+
export { DEFAULT_PRO_TABLE_LOCALE, PRO_TABLE_LOCALES, PRO_TABLE_LOCALE_EN_US, PRO_TABLE_LOCALE_ZH_CN, type ProColumnRequest, type ProColumnType, type ProColumns, ProTable, type ProTableActionType, type ProTableAlertRender, type ProTableAlertRenderProps, type ProTableColumnsState, type ProTableColumnsStateItem, type ProTableColumnsStateMap, type ProTableDensity, type ProTableFormInstance, type ProTableLoadingConfig, type ProTableLocale, type ProTableLocaleResolved, type ProTableOptionConfig, type ProTablePageInfo, type ProTableProps, type ProTableRequest, type ProTableRequestData, type ProTableRequestFilter, type ProTableRequestOption, type ProTableRequestSort, type ProTableSchemaConfig, type ProTableSearchConfig, type ProTableSearchTransform, type ProTableSpanBreakpoint, type ProTableSpanConfig, type ProTableStatus, type ProTableToolbarConfig, type ProTableValueEnum, type ProTableValueEnumItem, type ProTableValueType, ProTable as default, resolveProTableLocale };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './index.d.mts';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './index.mjs';
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { PRO_TABLE_LOCALES, PRO_TABLE_LOCALE_EN_US, PRO_TABLE_LOCALE_ZH_CN, resolveProTableLocale } from "./locale.mjs";
|
|
2
|
+
import ProTable, { DEFAULT_PRO_TABLE_LOCALE } from "./ProTable.mjs";
|
|
3
|
+
export { DEFAULT_PRO_TABLE_LOCALE, PRO_TABLE_LOCALES, PRO_TABLE_LOCALE_EN_US, PRO_TABLE_LOCALE_ZH_CN, ProTable, ProTable as default, resolveProTableLocale };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ProTableLocale } from "./type.mjs";
|
|
2
|
+
import { ReactNode } from "react";
|
|
3
|
+
//#region src/ProTable/locale.d.ts
|
|
4
|
+
export type ProTableLocaleResolved = Required<Omit<ProTableLocale, 'alertSelected'>> & {
|
|
5
|
+
alertSelected: (count: number) => ReactNode;
|
|
6
|
+
};
|
|
7
|
+
export declare const PRO_TABLE_LOCALE_EN_US: ProTableLocaleResolved;
|
|
8
|
+
export declare const PRO_TABLE_LOCALE_ZH_CN: ProTableLocaleResolved;
|
|
9
|
+
export declare const PRO_TABLE_LOCALES: {
|
|
10
|
+
readonly 'en-US': ProTableLocaleResolved;
|
|
11
|
+
readonly 'zh-CN': ProTableLocaleResolved;
|
|
12
|
+
};
|
|
13
|
+
export declare const resolveProTableLocale: (language?: string) => ProTableLocaleResolved;
|
|
14
|
+
//#endregion
|
|
15
|
+
//# sourceMappingURL=locale.d.mts.map
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
//#region src/ProTable/locale.ts
|
|
2
|
+
const PRO_TABLE_LOCALE_EN_US = {
|
|
3
|
+
alertClear: "Clear",
|
|
4
|
+
alertSelected: (count) => `${count} selected`,
|
|
5
|
+
collapse: "Collapse",
|
|
6
|
+
columnSetting: "Column settings",
|
|
7
|
+
columnSettingReset: "Reset",
|
|
8
|
+
columnSettingTitle: "Columns",
|
|
9
|
+
copy: "Copy",
|
|
10
|
+
density: "Density",
|
|
11
|
+
densityLarge: "Large",
|
|
12
|
+
densityMedium: "Medium",
|
|
13
|
+
densitySmall: "Compact",
|
|
14
|
+
expand: "Expand",
|
|
15
|
+
fixedEnd: "Pin to end",
|
|
16
|
+
fixedEndTitle: "Pinned to end",
|
|
17
|
+
fixedStart: "Pin to start",
|
|
18
|
+
fixedStartTitle: "Pinned to start",
|
|
19
|
+
fullScreen: "Full screen",
|
|
20
|
+
moveDown: "Move down",
|
|
21
|
+
moveUp: "Move up",
|
|
22
|
+
noFixed: "Unpin",
|
|
23
|
+
reload: "Reload",
|
|
24
|
+
reset: "Reset",
|
|
25
|
+
search: "Search",
|
|
26
|
+
searchPlaceholder: "Please enter",
|
|
27
|
+
selectPlaceholder: "Please select",
|
|
28
|
+
unfixedTitle: "Not pinned"
|
|
29
|
+
};
|
|
30
|
+
const PRO_TABLE_LOCALE_ZH_CN = {
|
|
31
|
+
alertClear: "取消选择",
|
|
32
|
+
alertSelected: (count) => `已选择 ${count} 项`,
|
|
33
|
+
collapse: "收起",
|
|
34
|
+
columnSetting: "列设置",
|
|
35
|
+
columnSettingReset: "重置",
|
|
36
|
+
columnSettingTitle: "列展示",
|
|
37
|
+
copy: "复制",
|
|
38
|
+
density: "密度",
|
|
39
|
+
densityLarge: "宽松",
|
|
40
|
+
densityMedium: "中等",
|
|
41
|
+
densitySmall: "紧凑",
|
|
42
|
+
expand: "展开",
|
|
43
|
+
fixedEnd: "固定在列尾",
|
|
44
|
+
fixedEndTitle: "固定在右侧",
|
|
45
|
+
fixedStart: "固定在列首",
|
|
46
|
+
fixedStartTitle: "固定在左侧",
|
|
47
|
+
fullScreen: "全屏",
|
|
48
|
+
moveDown: "下移",
|
|
49
|
+
moveUp: "上移",
|
|
50
|
+
noFixed: "取消固定",
|
|
51
|
+
reload: "刷新",
|
|
52
|
+
reset: "重置",
|
|
53
|
+
search: "查询",
|
|
54
|
+
searchPlaceholder: "请输入",
|
|
55
|
+
selectPlaceholder: "请选择",
|
|
56
|
+
unfixedTitle: "不固定"
|
|
57
|
+
};
|
|
58
|
+
const PRO_TABLE_LOCALES = {
|
|
59
|
+
"en-US": PRO_TABLE_LOCALE_EN_US,
|
|
60
|
+
"zh-CN": PRO_TABLE_LOCALE_ZH_CN
|
|
61
|
+
};
|
|
62
|
+
const resolveProTableLocale = (language) => language && /^zh/i.test(language) ? PRO_TABLE_LOCALE_ZH_CN : PRO_TABLE_LOCALE_EN_US;
|
|
63
|
+
//#endregion
|
|
64
|
+
export { PRO_TABLE_LOCALES, PRO_TABLE_LOCALE_EN_US, PRO_TABLE_LOCALE_ZH_CN, resolveProTableLocale };
|
|
65
|
+
|
|
66
|
+
//# sourceMappingURL=locale.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locale.mjs","names":[],"sources":["../../src/ProTable/locale.ts"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport type { ProTableLocale } from './type';\n\nexport type ProTableLocaleResolved = Required<Omit<ProTableLocale, 'alertSelected'>> & {\n alertSelected: (count: number) => ReactNode;\n};\n\nexport const PRO_TABLE_LOCALE_EN_US: ProTableLocaleResolved = {\n alertClear: 'Clear',\n alertSelected: (count) => `${count} selected`,\n collapse: 'Collapse',\n columnSetting: 'Column settings',\n columnSettingReset: 'Reset',\n columnSettingTitle: 'Columns',\n copy: 'Copy',\n density: 'Density',\n densityLarge: 'Large',\n densityMedium: 'Medium',\n densitySmall: 'Compact',\n expand: 'Expand',\n fixedEnd: 'Pin to end',\n fixedEndTitle: 'Pinned to end',\n fixedStart: 'Pin to start',\n fixedStartTitle: 'Pinned to start',\n fullScreen: 'Full screen',\n moveDown: 'Move down',\n moveUp: 'Move up',\n noFixed: 'Unpin',\n reload: 'Reload',\n reset: 'Reset',\n search: 'Search',\n searchPlaceholder: 'Please enter',\n selectPlaceholder: 'Please select',\n unfixedTitle: 'Not pinned',\n};\n\nexport const PRO_TABLE_LOCALE_ZH_CN: ProTableLocaleResolved = {\n alertClear: '取消选择',\n alertSelected: (count) => `已选择 ${count} 项`,\n collapse: '收起',\n columnSetting: '列设置',\n columnSettingReset: '重置',\n columnSettingTitle: '列展示',\n copy: '复制',\n density: '密度',\n densityLarge: '宽松',\n densityMedium: '中等',\n densitySmall: '紧凑',\n expand: '展开',\n fixedEnd: '固定在列尾',\n fixedEndTitle: '固定在右侧',\n fixedStart: '固定在列首',\n fixedStartTitle: '固定在左侧',\n fullScreen: '全屏',\n moveDown: '下移',\n moveUp: '上移',\n noFixed: '取消固定',\n reload: '刷新',\n reset: '重置',\n search: '查询',\n searchPlaceholder: '请输入',\n selectPlaceholder: '请选择',\n unfixedTitle: '不固定',\n};\n\nexport const PRO_TABLE_LOCALES = {\n 'en-US': PRO_TABLE_LOCALE_EN_US,\n 'zh-CN': PRO_TABLE_LOCALE_ZH_CN,\n} as const;\n\nexport const resolveProTableLocale = (language?: string): ProTableLocaleResolved =>\n language && /^zh/i.test(language) ? PRO_TABLE_LOCALE_ZH_CN : PRO_TABLE_LOCALE_EN_US;\n"],"mappings":";AAQA,MAAa,yBAAiD;CAC5D,YAAY;CACZ,gBAAgB,UAAU,GAAG,MAAM;CACnC,UAAU;CACV,eAAe;CACf,oBAAoB;CACpB,oBAAoB;CACpB,MAAM;CACN,SAAS;CACT,cAAc;CACd,eAAe;CACf,cAAc;CACd,QAAQ;CACR,UAAU;CACV,eAAe;CACf,YAAY;CACZ,iBAAiB;CACjB,YAAY;CACZ,UAAU;CACV,QAAQ;CACR,SAAS;CACT,QAAQ;CACR,OAAO;CACP,QAAQ;CACR,mBAAmB;CACnB,mBAAmB;CACnB,cAAc;AAChB;AAEA,MAAa,yBAAiD;CAC5D,YAAY;CACZ,gBAAgB,UAAU,OAAO,MAAM;CACvC,UAAU;CACV,eAAe;CACf,oBAAoB;CACpB,oBAAoB;CACpB,MAAM;CACN,SAAS;CACT,cAAc;CACd,eAAe;CACf,cAAc;CACd,QAAQ;CACR,UAAU;CACV,eAAe;CACf,YAAY;CACZ,iBAAiB;CACjB,YAAY;CACZ,UAAU;CACV,QAAQ;CACR,SAAS;CACT,QAAQ;CACR,OAAO;CACP,QAAQ;CACR,mBAAmB;CACnB,mBAAmB;CACnB,cAAc;AAChB;AAEA,MAAa,oBAAoB;CAC/B,SAAS;CACT,SAAS;AACX;AAEA,MAAa,yBAAyB,aACpC,YAAY,OAAO,KAAK,QAAQ,IAAI,yBAAyB"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import Button from "../../Button/Button.mjs";
|
|
2
|
+
import ActionIcon from "../../ActionIcon/ActionIcon.mjs";
|
|
3
|
+
import Checkbox_default from "../../Checkbox/Checkbox.mjs";
|
|
4
|
+
import { styles } from "../style.mjs";
|
|
5
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import { ArrowDown, ArrowLeftToLine, ArrowRightToLine, ArrowUp, PinOff } from "lucide-react";
|
|
7
|
+
//#region src/ProTable/parts/ColumnSetting.tsx
|
|
8
|
+
const fixedGroupOf = (fixed) => {
|
|
9
|
+
if (fixed === true || fixed === "left" || fixed === "start") return "start";
|
|
10
|
+
if (fixed === "right" || fixed === "end") return "end";
|
|
11
|
+
return "none";
|
|
12
|
+
};
|
|
13
|
+
const ColumnSetting = ({ checkable = true, columns, draggable = true, locale, onChange, onReset, showListItemOption = true, state }) => {
|
|
14
|
+
const isShown = (key) => state[key]?.show !== false;
|
|
15
|
+
const toggleable = columns.filter((column) => !column.disabled);
|
|
16
|
+
const shownCount = toggleable.filter((column) => isShown(column.key)).length;
|
|
17
|
+
const patch = (key, value) => onChange({
|
|
18
|
+
...state,
|
|
19
|
+
[key]: {
|
|
20
|
+
...state[key],
|
|
21
|
+
...value
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
const setAll = (show) => {
|
|
25
|
+
const next = { ...state };
|
|
26
|
+
toggleable.forEach(({ key }) => {
|
|
27
|
+
next[key] = {
|
|
28
|
+
...next[key],
|
|
29
|
+
show
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
onChange(next);
|
|
33
|
+
};
|
|
34
|
+
const groups = {
|
|
35
|
+
end: [],
|
|
36
|
+
none: [],
|
|
37
|
+
start: []
|
|
38
|
+
};
|
|
39
|
+
columns.forEach((column) => groups[fixedGroupOf(state[column.key]?.fixed)].push(column));
|
|
40
|
+
const move = (key, delta) => {
|
|
41
|
+
const keys = columns.map((column) => column.key);
|
|
42
|
+
const from = keys.indexOf(key);
|
|
43
|
+
const to = from + delta;
|
|
44
|
+
if (from < 0 || to < 0 || to >= keys.length) return;
|
|
45
|
+
[keys[from], keys[to]] = [keys[to], keys[from]];
|
|
46
|
+
const next = { ...state };
|
|
47
|
+
keys.forEach((k, order) => {
|
|
48
|
+
next[k] = {
|
|
49
|
+
...next[k],
|
|
50
|
+
order
|
|
51
|
+
};
|
|
52
|
+
});
|
|
53
|
+
onChange(next);
|
|
54
|
+
};
|
|
55
|
+
const renderItem = (column, group) => {
|
|
56
|
+
const position = columns.indexOf(column);
|
|
57
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
58
|
+
className: styles.settingItem,
|
|
59
|
+
"data-column-key": column.key,
|
|
60
|
+
children: [
|
|
61
|
+
checkable ? /* @__PURE__ */ jsx(Checkbox_default, {
|
|
62
|
+
checked: isShown(column.key),
|
|
63
|
+
disabled: column.disabled,
|
|
64
|
+
onChange: (checked) => patch(column.key, { show: checked }),
|
|
65
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
66
|
+
className: styles.settingItemTitle,
|
|
67
|
+
children: column.title
|
|
68
|
+
})
|
|
69
|
+
}) : /* @__PURE__ */ jsx("span", {
|
|
70
|
+
className: styles.settingItemTitle,
|
|
71
|
+
children: column.title
|
|
72
|
+
}),
|
|
73
|
+
/* @__PURE__ */ jsx("span", { style: { flex: 1 } }),
|
|
74
|
+
/* @__PURE__ */ jsxs("span", {
|
|
75
|
+
className: styles.settingItemActions,
|
|
76
|
+
"data-setting-actions": "",
|
|
77
|
+
children: [
|
|
78
|
+
showListItemOption && group !== "start" && /* @__PURE__ */ jsx(ActionIcon, {
|
|
79
|
+
"aria-label": locale.fixedStart,
|
|
80
|
+
icon: ArrowLeftToLine,
|
|
81
|
+
size: "small",
|
|
82
|
+
onClick: () => patch(column.key, { fixed: "start" })
|
|
83
|
+
}),
|
|
84
|
+
showListItemOption && group !== "none" && /* @__PURE__ */ jsx(ActionIcon, {
|
|
85
|
+
"aria-label": locale.noFixed,
|
|
86
|
+
icon: PinOff,
|
|
87
|
+
size: "small",
|
|
88
|
+
onClick: () => patch(column.key, { fixed: void 0 })
|
|
89
|
+
}),
|
|
90
|
+
showListItemOption && group !== "end" && /* @__PURE__ */ jsx(ActionIcon, {
|
|
91
|
+
"aria-label": locale.fixedEnd,
|
|
92
|
+
icon: ArrowRightToLine,
|
|
93
|
+
size: "small",
|
|
94
|
+
onClick: () => patch(column.key, { fixed: "end" })
|
|
95
|
+
}),
|
|
96
|
+
draggable && /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(ActionIcon, {
|
|
97
|
+
"aria-label": locale.moveUp,
|
|
98
|
+
disabled: position === 0,
|
|
99
|
+
icon: ArrowUp,
|
|
100
|
+
size: "small",
|
|
101
|
+
onClick: () => move(column.key, -1)
|
|
102
|
+
}), /* @__PURE__ */ jsx(ActionIcon, {
|
|
103
|
+
"aria-label": locale.moveDown,
|
|
104
|
+
disabled: position === columns.length - 1,
|
|
105
|
+
icon: ArrowDown,
|
|
106
|
+
size: "small",
|
|
107
|
+
onClick: () => move(column.key, 1)
|
|
108
|
+
})] })
|
|
109
|
+
]
|
|
110
|
+
})
|
|
111
|
+
]
|
|
112
|
+
}, column.key);
|
|
113
|
+
};
|
|
114
|
+
const titles = {
|
|
115
|
+
end: locale.fixedEndTitle,
|
|
116
|
+
none: locale.unfixedTitle,
|
|
117
|
+
start: locale.fixedStartTitle
|
|
118
|
+
};
|
|
119
|
+
const pinnedAny = groups.start.length > 0 || groups.end.length > 0;
|
|
120
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
121
|
+
className: styles.setting,
|
|
122
|
+
"data-pro-table-setting": "",
|
|
123
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
124
|
+
className: styles.settingHeader,
|
|
125
|
+
children: [checkable ? /* @__PURE__ */ jsx(Checkbox_default, {
|
|
126
|
+
checked: shownCount > 0 && shownCount === toggleable.length,
|
|
127
|
+
indeterminate: shownCount > 0 && shownCount < toggleable.length,
|
|
128
|
+
onChange: (checked) => setAll(checked),
|
|
129
|
+
children: locale.columnSettingTitle
|
|
130
|
+
}) : /* @__PURE__ */ jsx("span", { children: locale.columnSettingTitle }), /* @__PURE__ */ jsx(Button, {
|
|
131
|
+
size: "small",
|
|
132
|
+
type: "link",
|
|
133
|
+
onClick: onReset,
|
|
134
|
+
children: locale.columnSettingReset
|
|
135
|
+
})]
|
|
136
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
137
|
+
className: styles.settingList,
|
|
138
|
+
children: [
|
|
139
|
+
"start",
|
|
140
|
+
"none",
|
|
141
|
+
"end"
|
|
142
|
+
].map((group) => groups[group].length === 0 ? null : /* @__PURE__ */ jsxs("div", {
|
|
143
|
+
"data-group": group,
|
|
144
|
+
children: [pinnedAny && /* @__PURE__ */ jsx("div", {
|
|
145
|
+
className: styles.settingGroupTitle,
|
|
146
|
+
children: titles[group]
|
|
147
|
+
}), groups[group].map((column) => renderItem(column, group))]
|
|
148
|
+
}, group))
|
|
149
|
+
})]
|
|
150
|
+
});
|
|
151
|
+
};
|
|
152
|
+
//#endregion
|
|
153
|
+
export { ColumnSetting as default, fixedGroupOf };
|
|
154
|
+
|
|
155
|
+
//# sourceMappingURL=ColumnSetting.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColumnSetting.mjs","names":["Checkbox"],"sources":["../../../src/ProTable/parts/ColumnSetting.tsx"],"sourcesContent":["import { ArrowDown, ArrowLeftToLine, ArrowRightToLine, ArrowUp, PinOff } from 'lucide-react';\nimport { type ReactNode } from 'react';\n\nimport ActionIcon from '@/ActionIcon';\nimport Button from '@/Button';\nimport Checkbox from '@/Checkbox/Checkbox';\n\nimport { styles } from '../style';\nimport type { ProTableColumnsStateItem, ProTableColumnsStateMap, ProTableLocale } from '../type';\n\nexport interface SettingColumn {\n disabled: boolean;\n key: string;\n title: ReactNode;\n}\n\ntype FixedGroup = 'start' | 'none' | 'end';\n\nexport const fixedGroupOf = (fixed: ProTableColumnsStateItem['fixed']): FixedGroup => {\n if (fixed === true || fixed === 'left' || fixed === 'start') return 'start';\n if (fixed === 'right' || fixed === 'end') return 'end';\n return 'none';\n};\n\nexport interface ColumnSettingProps {\n checkable?: boolean;\n columns: SettingColumn[];\n draggable?: boolean;\n locale: Required<\n Pick<\n ProTableLocale,\n | 'columnSetting'\n | 'columnSettingReset'\n | 'columnSettingTitle'\n | 'fixedEnd'\n | 'fixedEndTitle'\n | 'fixedStart'\n | 'fixedStartTitle'\n | 'moveDown'\n | 'moveUp'\n | 'noFixed'\n | 'unfixedTitle'\n >\n >;\n onChange: (map: ProTableColumnsStateMap) => void;\n onReset: () => void;\n showListItemOption?: boolean;\n state: ProTableColumnsStateMap;\n}\n\nconst ColumnSetting = ({\n checkable = true,\n columns,\n draggable = true,\n locale,\n onChange,\n onReset,\n showListItemOption = true,\n state,\n}: ColumnSettingProps) => {\n const isShown = (key: string) => state[key]?.show !== false;\n const toggleable = columns.filter((column) => !column.disabled);\n const shownCount = toggleable.filter((column) => isShown(column.key)).length;\n\n const patch = (key: string, value: Partial<ProTableColumnsStateItem>) =>\n onChange({ ...state, [key]: { ...state[key], ...value } });\n\n const setAll = (show: boolean) => {\n const next = { ...state };\n toggleable.forEach(({ key }) => {\n next[key] = { ...next[key], show };\n });\n onChange(next);\n };\n\n const groups: Record<FixedGroup, SettingColumn[]> = { end: [], none: [], start: [] };\n columns.forEach((column) => groups[fixedGroupOf(state[column.key]?.fixed)].push(column));\n\n // Reorder within the full list; `order` is rewritten for every column so it stays dense.\n const move = (key: string, delta: -1 | 1) => {\n const keys = columns.map((column) => column.key);\n const from = keys.indexOf(key);\n const to = from + delta;\n if (from < 0 || to < 0 || to >= keys.length) return;\n [keys[from], keys[to]] = [keys[to], keys[from]];\n const next = { ...state };\n keys.forEach((k, order) => {\n next[k] = { ...next[k], order };\n });\n onChange(next);\n };\n\n const renderItem = (column: SettingColumn, group: FixedGroup) => {\n const position = columns.indexOf(column);\n return (\n <div className={styles.settingItem} data-column-key={column.key} key={column.key}>\n {checkable ? (\n <Checkbox\n checked={isShown(column.key)}\n disabled={column.disabled}\n onChange={(checked) => patch(column.key, { show: checked })}\n >\n <span className={styles.settingItemTitle}>{column.title}</span>\n </Checkbox>\n ) : (\n <span className={styles.settingItemTitle}>{column.title}</span>\n )}\n <span style={{ flex: 1 }} />\n <span className={styles.settingItemActions} data-setting-actions=\"\">\n {showListItemOption && group !== 'start' && (\n <ActionIcon\n aria-label={locale.fixedStart}\n icon={ArrowLeftToLine}\n size=\"small\"\n onClick={() => patch(column.key, { fixed: 'start' })}\n />\n )}\n {showListItemOption && group !== 'none' && (\n <ActionIcon\n aria-label={locale.noFixed}\n icon={PinOff}\n size=\"small\"\n onClick={() => patch(column.key, { fixed: undefined })}\n />\n )}\n {showListItemOption && group !== 'end' && (\n <ActionIcon\n aria-label={locale.fixedEnd}\n icon={ArrowRightToLine}\n size=\"small\"\n onClick={() => patch(column.key, { fixed: 'end' })}\n />\n )}\n {draggable && (\n <>\n <ActionIcon\n aria-label={locale.moveUp}\n disabled={position === 0}\n icon={ArrowUp}\n size=\"small\"\n onClick={() => move(column.key, -1)}\n />\n <ActionIcon\n aria-label={locale.moveDown}\n disabled={position === columns.length - 1}\n icon={ArrowDown}\n size=\"small\"\n onClick={() => move(column.key, 1)}\n />\n </>\n )}\n </span>\n </div>\n );\n };\n\n const titles: Record<FixedGroup, ReactNode> = {\n end: locale.fixedEndTitle,\n none: locale.unfixedTitle,\n start: locale.fixedStartTitle,\n };\n const pinnedAny = groups.start.length > 0 || groups.end.length > 0;\n\n const panel = (\n <div className={styles.setting} data-pro-table-setting=\"\">\n <div className={styles.settingHeader}>\n {checkable ? (\n <Checkbox\n checked={shownCount > 0 && shownCount === toggleable.length}\n indeterminate={shownCount > 0 && shownCount < toggleable.length}\n onChange={(checked) => setAll(checked)}\n >\n {locale.columnSettingTitle}\n </Checkbox>\n ) : (\n <span>{locale.columnSettingTitle}</span>\n )}\n <Button size=\"small\" type=\"link\" onClick={onReset}>\n {locale.columnSettingReset}\n </Button>\n </div>\n <div className={styles.settingList}>\n {(['start', 'none', 'end'] as FixedGroup[]).map((group) =>\n groups[group].length === 0 ? null : (\n <div data-group={group} key={group}>\n {pinnedAny && <div className={styles.settingGroupTitle}>{titles[group]}</div>}\n {groups[group].map((column) => renderItem(column, group))}\n </div>\n ),\n )}\n </div>\n </div>\n );\n\n return panel;\n};\n\nexport default ColumnSetting;\n"],"mappings":";;;;;;;AAkBA,MAAa,gBAAgB,UAAyD;CACpF,IAAI,UAAU,QAAQ,UAAU,UAAU,UAAU,SAAS,OAAO;CACpE,IAAI,UAAU,WAAW,UAAU,OAAO,OAAO;CACjD,OAAO;AACT;AA4BA,MAAM,iBAAiB,EACrB,YAAY,MACZ,SACA,YAAY,MACZ,QACA,UACA,SACA,qBAAqB,MACrB,YACwB;CACxB,MAAM,WAAW,QAAgB,MAAM,IAAI,EAAE,SAAS;CACtD,MAAM,aAAa,QAAQ,QAAQ,WAAW,CAAC,OAAO,QAAQ;CAC9D,MAAM,aAAa,WAAW,QAAQ,WAAW,QAAQ,OAAO,GAAG,CAAC,CAAC,CAAC;CAEtE,MAAM,SAAS,KAAa,UAC1B,SAAS;EAAE,GAAG;GAAQ,MAAM;GAAE,GAAG,MAAM;GAAM,GAAG;EAAM;CAAE,CAAC;CAE3D,MAAM,UAAU,SAAkB;EAChC,MAAM,OAAO,EAAE,GAAG,MAAM;EACxB,WAAW,SAAS,EAAE,UAAU;GAC9B,KAAK,OAAO;IAAE,GAAG,KAAK;IAAM;GAAK;EACnC,CAAC;EACD,SAAS,IAAI;CACf;CAEA,MAAM,SAA8C;EAAE,KAAK,CAAC;EAAG,MAAM,CAAC;EAAG,OAAO,CAAC;CAAE;CACnF,QAAQ,SAAS,WAAW,OAAO,aAAa,MAAM,OAAO,IAAI,EAAE,KAAK,EAAE,CAAC,KAAK,MAAM,CAAC;CAGvF,MAAM,QAAQ,KAAa,UAAkB;EAC3C,MAAM,OAAO,QAAQ,KAAK,WAAW,OAAO,GAAG;EAC/C,MAAM,OAAO,KAAK,QAAQ,GAAG;EAC7B,MAAM,KAAK,OAAO;EAClB,IAAI,OAAO,KAAK,KAAK,KAAK,MAAM,KAAK,QAAQ;EAC7C,CAAC,KAAK,OAAO,KAAK,OAAO,CAAC,KAAK,KAAK,KAAK,KAAK;EAC9C,MAAM,OAAO,EAAE,GAAG,MAAM;EACxB,KAAK,SAAS,GAAG,UAAU;GACzB,KAAK,KAAK;IAAE,GAAG,KAAK;IAAI;GAAM;EAChC,CAAC;EACD,SAAS,IAAI;CACf;CAEA,MAAM,cAAc,QAAuB,UAAsB;EAC/D,MAAM,WAAW,QAAQ,QAAQ,MAAM;EACvC,OACE,qBAAC,OAAD;GAAK,WAAW,OAAO;GAAa,mBAAiB,OAAO;GAA5D,UAAA;IACG,YACC,oBAACA,kBAAD;KACE,SAAS,QAAQ,OAAO,GAAG;KAC3B,UAAU,OAAO;KACjB,WAAW,YAAY,MAAM,OAAO,KAAK,EAAE,MAAM,QAAQ,CAAC;KAE1D,UAAA,oBAAC,QAAD;MAAM,WAAW,OAAO;MAAmB,UAAA,OAAO;KAAY,CAAA;IACtD,CAAA,IAEV,oBAAC,QAAD;KAAM,WAAW,OAAO;KAAmB,UAAA,OAAO;IAAY,CAAA;IAEhE,oBAAC,QAAD,EAAM,OAAO,EAAE,MAAM,EAAE,EAAI,CAAA;IAC3B,qBAAC,QAAD;KAAM,WAAW,OAAO;KAAoB,wBAAqB;KAAjE,UAAA;MACG,sBAAsB,UAAU,WAC/B,oBAAC,YAAD;OACE,cAAY,OAAO;OACnB,MAAM;OACN,MAAK;OACL,eAAe,MAAM,OAAO,KAAK,EAAE,OAAO,QAAQ,CAAC;MACpD,CAAA;MAEF,sBAAsB,UAAU,UAC/B,oBAAC,YAAD;OACE,cAAY,OAAO;OACnB,MAAM;OACN,MAAK;OACL,eAAe,MAAM,OAAO,KAAK,EAAE,OAAO,KAAA,EAAU,CAAC;MACtD,CAAA;MAEF,sBAAsB,UAAU,SAC/B,oBAAC,YAAD;OACE,cAAY,OAAO;OACnB,MAAM;OACN,MAAK;OACL,eAAe,MAAM,OAAO,KAAK,EAAE,OAAO,MAAM,CAAC;MAClD,CAAA;MAEF,aACC,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,YAAD;OACE,cAAY,OAAO;OACnB,UAAU,aAAa;OACvB,MAAM;OACN,MAAK;OACL,eAAe,KAAK,OAAO,KAAK,EAAE;MACnC,CAAA,GACD,oBAAC,YAAD;OACE,cAAY,OAAO;OACnB,UAAU,aAAa,QAAQ,SAAS;OACxC,MAAM;OACN,MAAK;OACL,eAAe,KAAK,OAAO,KAAK,CAAC;MAClC,CAAA,CACD,EAAA,CAAA;KAEA;;GACH;EAzDiE,GAAA,OAAO,GAyDxE;CAET;CAEA,MAAM,SAAwC;EAC5C,KAAK,OAAO;EACZ,MAAM,OAAO;EACb,OAAO,OAAO;CAChB;CACA,MAAM,YAAY,OAAO,MAAM,SAAS,KAAK,OAAO,IAAI,SAAS;CAiCjE,OAAO,qBA9BJ,OAAD;EAAK,WAAW,OAAO;EAAS,0BAAuB;EAAvD,UAAA,CACE,qBAAC,OAAD;GAAK,WAAW,OAAO;GAAvB,UAAA,CACG,YACC,oBAACA,kBAAD;IACE,SAAS,aAAa,KAAK,eAAe,WAAW;IACrD,eAAe,aAAa,KAAK,aAAa,WAAW;IACzD,WAAW,YAAY,OAAO,OAAO;IAEpC,UAAA,OAAO;GACA,CAAA,IAEV,oBAAC,QAAD,EAAA,UAAO,OAAO,mBAAyB,CAAA,GAEzC,oBAAC,QAAD;IAAQ,MAAK;IAAQ,MAAK;IAAO,SAAS;IACvC,UAAA,OAAO;GACF,CAAA,CACL;EACL,CAAA,GAAA,oBAAC,OAAD;GAAK,WAAW,OAAO;GACnB,UAAA;IAAC;IAAS;IAAQ;GAAK,CAAC,CAAkB,KAAK,UAC/C,OAAO,MAAM,CAAC,WAAW,IAAI,OAC3B,qBAAC,OAAD;IAAK,cAAY;IAAjB,UAAA,CACG,aAAa,oBAAC,OAAD;KAAK,WAAW,OAAO;KAAoB,UAAA,OAAO;IAAY,CAAA,GAC3E,OAAO,MAAM,CAAC,KAAK,WAAW,WAAW,QAAQ,KAAK,CAAC,CACrD;GAHwB,GAAA,KAGxB,CAET;EACG,CAAA,CACF;CAGI,CAAA;AACb"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { useThemeMode } from "../../styles/theme/scope.mjs";
|
|
2
|
+
import Switch from "../../Switch/Switch.mjs";
|
|
3
|
+
import Input_default from "../../Input/Input.mjs";
|
|
4
|
+
import InputNumber_default from "../../Input/InputNumber.mjs";
|
|
5
|
+
import Select from "../../Select/Select.mjs";
|
|
6
|
+
import DatePicker from "../../DatePicker/DatePicker.mjs";
|
|
7
|
+
import DateRangePicker from "../../DatePicker/DateRangePicker.mjs";
|
|
8
|
+
import { resolveValueEnum, resolveValueType, valueEnumToList } from "../utils.mjs";
|
|
9
|
+
import { useColumnRequest } from "../hooks/useColumnRequest.mjs";
|
|
10
|
+
import { jsx } from "react/jsx-runtime";
|
|
11
|
+
import dayjs from "dayjs";
|
|
12
|
+
//#region src/ProTable/parts/FieldControl.tsx
|
|
13
|
+
const SELECT_TYPES = /* @__PURE__ */ new Set([
|
|
14
|
+
"select",
|
|
15
|
+
"radio",
|
|
16
|
+
"checkbox"
|
|
17
|
+
]);
|
|
18
|
+
const toDayjs = (value) => value ? dayjs(value) : null;
|
|
19
|
+
const toDate = (value) => value?.toDate() ?? null;
|
|
20
|
+
const FieldControl = ({ column, form, light, onChange, placeholder, value }) => {
|
|
21
|
+
const valueType = resolveValueType(column) ?? "text";
|
|
22
|
+
const valueEnum = resolveValueEnum(column);
|
|
23
|
+
const { fieldProps = {} } = column;
|
|
24
|
+
const label = typeof column.title === "string" ? column.title : void 0;
|
|
25
|
+
const size = light ? "small" : void 0;
|
|
26
|
+
const { isDarkMode } = useThemeMode();
|
|
27
|
+
const variant = light ? isDarkMode ? "filled" : "outlined" : void 0;
|
|
28
|
+
const remote = useColumnRequest(column);
|
|
29
|
+
if (column.renderFormItem) return column.renderFormItem(column, {
|
|
30
|
+
form,
|
|
31
|
+
isQuery: !light,
|
|
32
|
+
onChange,
|
|
33
|
+
value
|
|
34
|
+
}, form);
|
|
35
|
+
if (remote.enabled || valueEnum || SELECT_TYPES.has(valueType)) {
|
|
36
|
+
const options = remote.options ?? fieldProps.options ?? valueEnumToList(valueEnum).map((item) => ({
|
|
37
|
+
disabled: item.disabled,
|
|
38
|
+
label: item.text,
|
|
39
|
+
value: item.value
|
|
40
|
+
}));
|
|
41
|
+
return /* @__PURE__ */ jsx(Select, {
|
|
42
|
+
allowClear: true,
|
|
43
|
+
loading: remote.loading,
|
|
44
|
+
mode: valueType === "checkbox" ? "multiple" : void 0,
|
|
45
|
+
options,
|
|
46
|
+
placeholder: light ? label : placeholder.select,
|
|
47
|
+
size,
|
|
48
|
+
style: { width: "100%" },
|
|
49
|
+
value: value ?? (valueType === "checkbox" ? [] : null),
|
|
50
|
+
variant,
|
|
51
|
+
...fieldProps,
|
|
52
|
+
onChange: (next) => onChange(next ?? void 0),
|
|
53
|
+
onSearch: remote.onSearch ? (keyWords) => {
|
|
54
|
+
remote.onSearch(keyWords);
|
|
55
|
+
fieldProps.onSearch?.(keyWords);
|
|
56
|
+
} : fieldProps.onSearch
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
switch (valueType) {
|
|
60
|
+
case "digit":
|
|
61
|
+
case "money":
|
|
62
|
+
case "percent":
|
|
63
|
+
case "progress": return /* @__PURE__ */ jsx(InputNumber_default, {
|
|
64
|
+
placeholder: light ? label : placeholder.input,
|
|
65
|
+
size,
|
|
66
|
+
style: { width: "100%" },
|
|
67
|
+
value: value ?? null,
|
|
68
|
+
variant,
|
|
69
|
+
...fieldProps,
|
|
70
|
+
onChange: (next) => onChange(next ?? void 0)
|
|
71
|
+
});
|
|
72
|
+
case "switch": return /* @__PURE__ */ jsx(Switch, {
|
|
73
|
+
checked: !!value,
|
|
74
|
+
...fieldProps,
|
|
75
|
+
onChange: (next) => onChange(next)
|
|
76
|
+
});
|
|
77
|
+
case "date":
|
|
78
|
+
case "dateTime": return /* @__PURE__ */ jsx(DatePicker, {
|
|
79
|
+
allowClear: true,
|
|
80
|
+
placeholder: light ? label : placeholder.select,
|
|
81
|
+
size,
|
|
82
|
+
style: { width: "100%" },
|
|
83
|
+
value: toDayjs(value),
|
|
84
|
+
variant,
|
|
85
|
+
...fieldProps,
|
|
86
|
+
onChange: (next) => onChange(toDate(next) ?? void 0)
|
|
87
|
+
});
|
|
88
|
+
case "dateRange":
|
|
89
|
+
case "dateTimeRange": return /* @__PURE__ */ jsx(DateRangePicker, {
|
|
90
|
+
allowClear: true,
|
|
91
|
+
size,
|
|
92
|
+
style: { width: "100%" },
|
|
93
|
+
value: value ? [toDayjs(value[0]), toDayjs(value[1])] : null,
|
|
94
|
+
variant,
|
|
95
|
+
...fieldProps,
|
|
96
|
+
onChange: (next) => onChange(next && (next[0] || next[1]) ? [toDate(next[0]), toDate(next[1])] : void 0)
|
|
97
|
+
});
|
|
98
|
+
default: return /* @__PURE__ */ jsx(Input_default, {
|
|
99
|
+
allowClear: true,
|
|
100
|
+
placeholder: light ? label : placeholder.input,
|
|
101
|
+
size,
|
|
102
|
+
type: valueType === "password" ? "password" : void 0,
|
|
103
|
+
value: value ?? "",
|
|
104
|
+
variant,
|
|
105
|
+
...fieldProps,
|
|
106
|
+
onChange: (event) => onChange(event.target.value === "" ? void 0 : event.target.value),
|
|
107
|
+
onClear: () => {
|
|
108
|
+
onChange(void 0);
|
|
109
|
+
fieldProps.onClear?.();
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
//#endregion
|
|
115
|
+
export { FieldControl as default };
|
|
116
|
+
|
|
117
|
+
//# sourceMappingURL=FieldControl.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FieldControl.mjs","names":["InputNumber","Input"],"sources":["../../../src/ProTable/parts/FieldControl.tsx"],"sourcesContent":["import dayjs, { type Dayjs } from 'dayjs';\nimport { type ReactNode } from 'react';\n\nimport DatePicker from '@/DatePicker/DatePicker';\nimport DateRangePicker from '@/DatePicker/DateRangePicker';\nimport Input from '@/Input/Input';\nimport InputNumber from '@/Input/InputNumber';\nimport Select from '@/Select';\nimport { useThemeMode } from '@/styles/theme/scope';\nimport Switch from '@/Switch';\n\nimport { useColumnRequest } from '../hooks/useColumnRequest';\nimport type { ProColumnType, ProTableFormInstance, ProTableValueType } from '../type';\nimport { resolveValueEnum, resolveValueType, valueEnumToList } from '../utils';\n\nexport interface FieldControlProps {\n column: ProColumnType<any>;\n form: ProTableFormInstance;\n light?: boolean;\n onChange: (value: any) => void;\n placeholder: { input: string; select: string };\n value: any;\n}\n\nconst SELECT_TYPES = new Set<ProTableValueType>(['select', 'radio', 'checkbox']);\n\n// Form values stay native Date (ProTable's contract); the picker works in Dayjs.\nconst toDayjs = (value: unknown) => (value ? dayjs(value as Date) : null);\nconst toDate = (value: Dayjs | null | undefined) => value?.toDate() ?? null;\n\nconst FieldControl = ({ column, form, light, onChange, placeholder, value }: FieldControlProps) => {\n const valueType = resolveValueType(column) ?? 'text';\n const valueEnum = resolveValueEnum(column);\n const { fieldProps = {} } = column;\n const label = typeof column.title === 'string' ? column.title : undefined;\n const size = light ? 'small' : undefined;\n const { isDarkMode } = useThemeMode();\n // Light filter: outlined on light backgrounds, filled in dark mode.\n const variant = light ? (isDarkMode ? 'filled' : 'outlined') : undefined;\n const remote = useColumnRequest(column);\n\n if (column.renderFormItem) {\n return column.renderFormItem(\n column,\n { form, isQuery: !light, onChange, value },\n form,\n ) as ReactNode;\n }\n\n if (remote.enabled || valueEnum || SELECT_TYPES.has(valueType)) {\n const options =\n remote.options ??\n fieldProps.options ??\n valueEnumToList(valueEnum).map((item) => ({\n disabled: item.disabled,\n label: item.text,\n value: item.value,\n }));\n return (\n <Select\n allowClear\n loading={remote.loading}\n mode={valueType === 'checkbox' ? 'multiple' : undefined}\n options={options as any}\n placeholder={light ? label : placeholder.select}\n size={size}\n style={{ width: '100%' }}\n value={value ?? (valueType === 'checkbox' ? [] : null)}\n variant={variant}\n {...fieldProps}\n onChange={(next) => onChange(next ?? undefined)}\n onSearch={\n remote.onSearch\n ? (keyWords: string) => {\n remote.onSearch!(keyWords);\n fieldProps.onSearch?.(keyWords);\n }\n : fieldProps.onSearch\n }\n />\n );\n }\n\n switch (valueType) {\n case 'digit':\n case 'money':\n case 'percent':\n case 'progress': {\n return (\n <InputNumber\n placeholder={light ? label : placeholder.input}\n size={size}\n style={{ width: '100%' }}\n value={value ?? null}\n variant={variant}\n {...fieldProps}\n onChange={(next) => onChange(next ?? undefined)}\n />\n );\n }\n case 'switch': {\n return <Switch checked={!!value} {...fieldProps} onChange={(next) => onChange(next)} />;\n }\n case 'date':\n case 'dateTime': {\n return (\n <DatePicker\n allowClear\n placeholder={light ? label : placeholder.select}\n size={size}\n style={{ width: '100%' }}\n value={toDayjs(value)}\n variant={variant}\n {...fieldProps}\n onChange={(next) => onChange(toDate(next) ?? undefined)}\n />\n );\n }\n case 'dateRange':\n case 'dateTimeRange': {\n return (\n <DateRangePicker\n allowClear\n size={size}\n style={{ width: '100%' }}\n value={value ? [toDayjs(value[0]), toDayjs(value[1])] : null}\n variant={variant}\n {...fieldProps}\n onChange={(next) =>\n onChange(next && (next[0] || next[1]) ? [toDate(next[0]), toDate(next[1])] : undefined)\n }\n />\n );\n }\n default: {\n return (\n <Input\n allowClear\n placeholder={light ? label : placeholder.input}\n size={size}\n type={valueType === 'password' ? 'password' : undefined}\n value={value ?? ''}\n variant={variant}\n {...fieldProps}\n onChange={(event) => onChange(event.target.value === '' ? undefined : event.target.value)}\n onClear={() => {\n onChange(undefined);\n fieldProps.onClear?.();\n }}\n />\n );\n }\n }\n};\n\nexport default FieldControl;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import Input_default from "../../Input/Input.mjs";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
//#region src/ProTable/parts/KeywordInput.tsx
|
|
5
|
+
const KeywordInput = ({ config, onSearch, placeholder }) => /* @__PURE__ */ jsx(Input_default, {
|
|
6
|
+
allowClear: true,
|
|
7
|
+
placeholder: typeof config === "object" && config.placeholder || placeholder,
|
|
8
|
+
style: { width: 200 },
|
|
9
|
+
onClear: () => onSearch(void 0),
|
|
10
|
+
onPressEnter: (event) => {
|
|
11
|
+
const value = event.target.value;
|
|
12
|
+
if (typeof config === "object" && config.onSearch?.(value) === false) return;
|
|
13
|
+
onSearch(value);
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
//#endregion
|
|
17
|
+
export { KeywordInput as default };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=KeywordInput.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KeywordInput.mjs","names":["Input"],"sources":["../../../src/ProTable/parts/KeywordInput.tsx"],"sourcesContent":["'use client';\n\nimport Input from '@/Input/Input';\n\nimport type { ProTableOptionConfig } from '../type';\n\ninterface KeywordInputProps {\n config: NonNullable<ProTableOptionConfig['search']>;\n onSearch: (value: string | undefined) => void;\n placeholder: string;\n}\n\nconst KeywordInput = ({ config, onSearch, placeholder }: KeywordInputProps) => (\n <Input\n allowClear\n placeholder={(typeof config === 'object' && config.placeholder) || placeholder}\n style={{ width: 200 }}\n onClear={() => onSearch(undefined)}\n onPressEnter={(event) => {\n const value = (event.target as HTMLInputElement).value;\n if (typeof config === 'object' && config.onSearch?.(value) === false) return;\n onSearch(value);\n }}\n />\n);\n\nexport default KeywordInput;\n"],"mappings":";;;;AAYA,MAAM,gBAAgB,EAAE,QAAQ,UAAU,kBACxC,oBAACA,eAAD;CACE,YAAA;CACA,aAAc,OAAO,WAAW,YAAY,OAAO,eAAgB;CACnE,OAAO,EAAE,OAAO,IAAI;CACpB,eAAe,SAAS,KAAA,CAAS;CACjC,eAAe,UAAU;EACvB,MAAM,QAAS,MAAM,OAA4B;EACjD,IAAI,OAAO,WAAW,YAAY,OAAO,WAAW,KAAK,MAAM,OAAO;EACtE,SAAS,KAAK;CAChB;AACD,CAAA"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { Form } from "../../FormKit/index.mjs";
|
|
2
|
+
import { styles } from "../style.mjs";
|
|
3
|
+
import { rulesToFieldProps } from "../hooks/useSearchForm.mjs";
|
|
4
|
+
import FieldControl from "./FieldControl.mjs";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
//#region src/ProTable/parts/LightFilter.tsx
|
|
7
|
+
const TEXT_TYPES = /* @__PURE__ */ new Set([
|
|
8
|
+
"text",
|
|
9
|
+
"textarea",
|
|
10
|
+
"password",
|
|
11
|
+
"code"
|
|
12
|
+
]);
|
|
13
|
+
const LightFilter = ({ fields, form, ignoreRules, placeholder }) => /* @__PURE__ */ jsxs(Form, {
|
|
14
|
+
className: styles.lightFilter,
|
|
15
|
+
"data-pro-table-light-filter": "",
|
|
16
|
+
form,
|
|
17
|
+
variant: "borderless",
|
|
18
|
+
layout: "horizontal",
|
|
19
|
+
style: {
|
|
20
|
+
alignItems: "center",
|
|
21
|
+
display: "flex",
|
|
22
|
+
flex: "0 1 auto",
|
|
23
|
+
flexDirection: "row",
|
|
24
|
+
flexWrap: "wrap",
|
|
25
|
+
gap: 8,
|
|
26
|
+
minWidth: 0,
|
|
27
|
+
width: "auto"
|
|
28
|
+
},
|
|
29
|
+
children: [fields.map(({ column, name }) => {
|
|
30
|
+
const isText = !column.valueEnum && !column.request && !column.renderFormItem && (!column.valueType || TEXT_TYPES.has(column.valueType));
|
|
31
|
+
const wrapped = isText ? {
|
|
32
|
+
...column,
|
|
33
|
+
fieldProps: {
|
|
34
|
+
...column.fieldProps,
|
|
35
|
+
onClear: () => void form.submit()
|
|
36
|
+
}
|
|
37
|
+
} : column;
|
|
38
|
+
const { required, validate } = ignoreRules ? {
|
|
39
|
+
required: void 0,
|
|
40
|
+
validate: void 0
|
|
41
|
+
} : rulesToFieldProps(column.formItemProps?.rules, column.formItemProps?.required);
|
|
42
|
+
return /* @__PURE__ */ jsx("div", {
|
|
43
|
+
className: styles.lightFilterItem,
|
|
44
|
+
children: /* @__PURE__ */ jsx(Form.Field, {
|
|
45
|
+
bare: true,
|
|
46
|
+
name,
|
|
47
|
+
required,
|
|
48
|
+
validate,
|
|
49
|
+
render: ({ value, onChange }) => /* @__PURE__ */ jsx(FieldControl, {
|
|
50
|
+
light: true,
|
|
51
|
+
column: wrapped,
|
|
52
|
+
form,
|
|
53
|
+
placeholder,
|
|
54
|
+
value,
|
|
55
|
+
onChange: (next) => {
|
|
56
|
+
onChange(next);
|
|
57
|
+
if (!isText) form.submit();
|
|
58
|
+
}
|
|
59
|
+
})
|
|
60
|
+
})
|
|
61
|
+
}, name);
|
|
62
|
+
}), /* @__PURE__ */ jsx("button", {
|
|
63
|
+
hidden: true,
|
|
64
|
+
type: "submit"
|
|
65
|
+
})]
|
|
66
|
+
});
|
|
67
|
+
//#endregion
|
|
68
|
+
export { LightFilter as default };
|
|
69
|
+
|
|
70
|
+
//# sourceMappingURL=LightFilter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LightFilter.mjs","names":[],"sources":["../../../src/ProTable/parts/LightFilter.tsx"],"sourcesContent":["import Form from '@lobehub/ui/form';\n\nimport { rulesToFieldProps, type SearchFieldSchema } from '../hooks/useSearchForm';\nimport { styles } from '../style';\nimport type { ProTableFormInstance } from '../type';\nimport FieldControl from './FieldControl';\n\nexport interface LightFilterProps {\n fields: SearchFieldSchema[];\n form: ProTableFormInstance;\n ignoreRules?: boolean;\n placeholder: { input: string; select: string };\n}\n\nconst TEXT_TYPES = new Set(['text', 'textarea', 'password', 'code']);\n\nconst LightFilter = ({ fields, form, ignoreRules, placeholder }: LightFilterProps) => (\n <Form\n className={styles.lightFilter}\n data-pro-table-light-filter=\"\"\n form={form}\n variant=\"borderless\"\n layout=\"horizontal\"\n // The base-ui Form root stacks its children; the light filter is one wrapping row.\n style={{\n alignItems: 'center',\n display: 'flex',\n flex: '0 1 auto',\n flexDirection: 'row',\n flexWrap: 'wrap',\n gap: 8,\n minWidth: 0,\n width: 'auto',\n }}\n >\n {fields.map(({ column, name }) => {\n const isText =\n !column.valueEnum &&\n !column.request &&\n !column.renderFormItem &&\n (!column.valueType || TEXT_TYPES.has(column.valueType as string));\n const wrapped = isText\n ? {\n ...column,\n fieldProps: {\n ...column.fieldProps,\n onClear: () => void form.submit(),\n },\n }\n : column;\n const { required, validate } = ignoreRules\n ? { required: undefined, validate: undefined }\n : rulesToFieldProps(column.formItemProps?.rules, column.formItemProps?.required);\n return (\n <div className={styles.lightFilterItem} key={name}>\n <Form.Field\n bare\n name={name}\n required={required}\n validate={validate}\n render={({ value, onChange }) => (\n <FieldControl\n light\n column={wrapped}\n form={form}\n placeholder={placeholder}\n value={value}\n onChange={(next) => {\n onChange(next);\n if (!isText) void form.submit();\n }}\n />\n )}\n />\n </div>\n );\n })}\n {/* Text fields query on Enter through the native form submit. */}\n <button hidden type=\"submit\" />\n </Form>\n);\n\nexport default LightFilter;\n"],"mappings":";;;;;;AAcA,MAAM,6BAAa,IAAI,IAAI;CAAC;CAAQ;CAAY;CAAY;AAAM,CAAC;AAEnE,MAAM,eAAe,EAAE,QAAQ,MAAM,aAAa,kBAChD,qBAAC,MAAD;CACE,WAAW,OAAO;CAClB,+BAA4B;CACtB;CACN,SAAQ;CACR,QAAO;CAEP,OAAO;EACL,YAAY;EACZ,SAAS;EACT,MAAM;EACN,eAAe;EACf,UAAU;EACV,KAAK;EACL,UAAU;EACV,OAAO;CACT;CAhBF,UAAA,CAkBG,OAAO,KAAK,EAAE,QAAQ,WAAW;EAChC,MAAM,SACJ,CAAC,OAAO,aACR,CAAC,OAAO,WACR,CAAC,OAAO,mBACP,CAAC,OAAO,aAAa,WAAW,IAAI,OAAO,SAAmB;EACjE,MAAM,UAAU,SACZ;GACE,GAAG;GACH,YAAY;IACV,GAAG,OAAO;IACV,eAAe,KAAK,KAAK,OAAO;GAClC;EACF,IACA;EACJ,MAAM,EAAE,UAAU,aAAa,cAC3B;GAAE,UAAU,KAAA;GAAW,UAAU,KAAA;EAAU,IAC3C,kBAAkB,OAAO,eAAe,OAAO,OAAO,eAAe,QAAQ;EACjF,OACE,oBAAC,OAAD;GAAK,WAAW,OAAO;GACrB,UAAA,oBAAC,KAAK,OAAN;IACE,MAAA;IACM;IACI;IACA;IACV,SAAS,EAAE,OAAO,eAChB,oBAAC,cAAD;KACE,OAAA;KACA,QAAQ;KACF;KACO;KACN;KACP,WAAW,SAAS;MAClB,SAAS,IAAI;MACb,IAAI,CAAC,QAAQ,KAAU,OAAO;KAChC;IACD,CAAA;GAEJ,CAAA;EACE,GApBwC,IAoBxC;CAET,CAAC,GAED,oBAAC,UAAD;EAAQ,QAAA;EAAO,MAAK;CAAU,CAAA,CAC1B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { PopoverPopup, PopoverPortal, PopoverPositioner, PopoverRoot } from "../../Popover/atoms.mjs";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
//#region src/ProTable/parts/OptionPopover.tsx
|
|
4
|
+
const OptionPopover = ({ anchor, children, onOpenChange, open }) => /* @__PURE__ */ jsx(PopoverRoot, {
|
|
5
|
+
open: open && !!anchor,
|
|
6
|
+
onOpenChange: (next) => onOpenChange(next),
|
|
7
|
+
children: /* @__PURE__ */ jsx(PopoverPortal, { children: /* @__PURE__ */ jsx(PopoverPositioner, {
|
|
8
|
+
anchor,
|
|
9
|
+
placement: "bottomRight",
|
|
10
|
+
sideOffset: 4,
|
|
11
|
+
children: /* @__PURE__ */ jsx(PopoverPopup, { children })
|
|
12
|
+
}) })
|
|
13
|
+
});
|
|
14
|
+
//#endregion
|
|
15
|
+
export { OptionPopover as default };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=OptionPopover.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OptionPopover.mjs","names":[],"sources":["../../../src/ProTable/parts/OptionPopover.tsx"],"sourcesContent":["import { type ReactNode } from 'react';\n\nimport { PopoverPopup, PopoverPortal, PopoverPositioner, PopoverRoot } from '@/Popover';\n\nexport interface OptionPopoverProps {\n anchor: HTMLElement | null;\n children: ReactNode;\n onOpenChange: (open: boolean) => void;\n open: boolean;\n}\n\nconst OptionPopover = ({ anchor, children, onOpenChange, open }: OptionPopoverProps) => (\n <PopoverRoot open={open && !!anchor} onOpenChange={(next) => onOpenChange(next)}>\n <PopoverPortal>\n <PopoverPositioner anchor={anchor} placement=\"bottomRight\" sideOffset={4}>\n <PopoverPopup>{children}</PopoverPopup>\n </PopoverPositioner>\n </PopoverPortal>\n </PopoverRoot>\n);\n\nexport default OptionPopover;\n"],"mappings":";;;AAWA,MAAM,iBAAiB,EAAE,QAAQ,UAAU,cAAc,WACvD,oBAAC,aAAD;CAAa,MAAM,QAAQ,CAAC,CAAC;CAAQ,eAAe,SAAS,aAAa,IAAI;CAC5E,UAAA,oBAAC,eAAD,EAAA,UACE,oBAAC,mBAAD;EAA2B;EAAQ,WAAU;EAAc,YAAY;EACrE,UAAA,oBAAC,cAAD,EAAe,SAAuB,CAAA;CACrB,CAAA,EACN,CAAA;AACJ,CAAA"}
|