@lobehub/ui 6.0.0-beta.7 → 6.0.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/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/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 +13 -6
- package/es/index.mjs +10 -6
- 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/stylex/props.mjs +2 -2
- package/es/styles/stylex/props.mjs.map +1 -1
- package/es/styles/theme/themeCss.mjs +15 -0
- package/es/styles/theme/themeCss.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
package/es/Popover/atoms.mjs
CHANGED
|
@@ -10,7 +10,7 @@ import { PopoverArrowIcon } from "./ArrowIcon.mjs";
|
|
|
10
10
|
import { usePopoverPortalContainer } from "./PopoverPortal.mjs";
|
|
11
11
|
import { cloneElement, isValidElement, useState } from "react";
|
|
12
12
|
import { jsx } from "react/jsx-runtime";
|
|
13
|
-
import clsx from "clsx";
|
|
13
|
+
import clsx$1 from "clsx";
|
|
14
14
|
import * as stylex from "@stylexjs/stylex";
|
|
15
15
|
import { mergeProps } from "@base-ui/react/merge-props";
|
|
16
16
|
import { Popover } from "@base-ui/react/popover";
|
|
@@ -36,7 +36,7 @@ const PopoverTriggerElement = ({ children, className, nativeButton, ref: refProp
|
|
|
36
36
|
const extraClassName = typeof className === "function" ? className(state) : className;
|
|
37
37
|
return cloneElement(children, {
|
|
38
38
|
...mergedProps,
|
|
39
|
-
className: clsx(baseClassName, extraClassName),
|
|
39
|
+
className: clsx$1(baseClassName, extraClassName),
|
|
40
40
|
ref: mergeRefs([
|
|
41
41
|
children.ref,
|
|
42
42
|
props.ref,
|
|
@@ -87,7 +87,7 @@ const PopoverPositioner = ({ children, className, collisionPadding, hoverTrigger
|
|
|
87
87
|
side: side ?? placementConfig?.side ?? "bottom",
|
|
88
88
|
sideOffset: sideOffset ?? 6,
|
|
89
89
|
style: resolvedStyle,
|
|
90
|
-
className: (state) => clsx(stylex.props(styles.positioner).className, typeof className === "function" ? className(state) : className),
|
|
90
|
+
className: (state) => clsx$1(stylex.props(styles.positioner).className, typeof className === "function" ? className(state) : className),
|
|
91
91
|
...rest,
|
|
92
92
|
children: /* @__PURE__ */ jsx(FloatingLayerProvider, {
|
|
93
93
|
value: positionerNode,
|
|
@@ -98,14 +98,14 @@ const PopoverPositioner = ({ children, className, collisionPadding, hoverTrigger
|
|
|
98
98
|
PopoverPositioner.displayName = "PopoverPositioner";
|
|
99
99
|
const PopoverPopup = ({ className, xstyle, ...rest }) => {
|
|
100
100
|
return /* @__PURE__ */ jsx(Popover.Popup, {
|
|
101
|
-
className: (state) => clsx(stylex.props(styles.popup, xstyle).className, typeof className === "function" ? className(state) : className),
|
|
101
|
+
className: (state) => clsx$1(stylex.props(styles.popup, xstyle).className, typeof className === "function" ? className(state) : className),
|
|
102
102
|
...rest
|
|
103
103
|
});
|
|
104
104
|
};
|
|
105
105
|
PopoverPopup.displayName = "PopoverPopup";
|
|
106
106
|
const PopoverArrow = ({ className, children, ...rest }) => {
|
|
107
107
|
return /* @__PURE__ */ jsx(Popover.Arrow, {
|
|
108
|
-
className: (state) => clsx(stylex.props(styles.arrow).className, typeof className === "function" ? className(state) : className),
|
|
108
|
+
className: (state) => clsx$1(stylex.props(styles.arrow).className, typeof className === "function" ? className(state) : className),
|
|
109
109
|
...rest,
|
|
110
110
|
children: children ?? PopoverArrowIcon
|
|
111
111
|
});
|
|
@@ -113,7 +113,7 @@ const PopoverArrow = ({ className, children, ...rest }) => {
|
|
|
113
113
|
PopoverArrow.displayName = "PopoverArrow";
|
|
114
114
|
const PopoverViewport = ({ className, ...rest }) => {
|
|
115
115
|
return /* @__PURE__ */ jsx(Popover.Viewport, {
|
|
116
|
-
className: (state) => clsx(stylex.props(styles.viewport).className, "lobe-popover-viewport", typeof className === "function" ? className(state) : className),
|
|
116
|
+
className: (state) => clsx$1(stylex.props(styles.viewport).className, "lobe-popover-viewport", typeof className === "function" ? className(state) : className),
|
|
117
117
|
...rest
|
|
118
118
|
});
|
|
119
119
|
};
|
package/es/Popover/atoms.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atoms.mjs","names":["BasePopover"],"sources":["../../src/Popover/atoms.tsx"],"sourcesContent":["'use client';\n\nimport { mergeProps } from '@base-ui/react/merge-props';\nimport { Popover as BasePopover } from '@base-ui/react/popover';\nimport * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\nimport {\n cloneElement,\n type ComponentProps,\n type ComponentPropsWithRef,\n isValidElement,\n useState,\n} from 'react';\n\nimport { FloatingLayerProvider } from '@/hooks/useFloatingLayer';\nimport { useNativeButton } from '@/hooks/useNativeButton';\nimport { getFloatingCollisionPadding } from '@/internal/floating';\nimport { mergeRefs, useMergeRefs } from '@/utils/mergeRefs';\nimport { placementMap } from '@/utils/placement';\n\nimport { useLayerZIndex } from '../internal/zIndex';\nimport { PopoverArrowIcon } from './ArrowIcon';\nimport { usePopoverPortalContainer } from './PopoverPortal';\nimport { styles } from './style';\nimport { type PopoverPlacement } from './type';\n\nexport const PopoverRoot = BasePopover.Root;\nexport const PopoverBackdrop = BasePopover.Backdrop;\n\nexport type PopoverTriggerElementProps = Omit<\n ComponentPropsWithRef<typeof BasePopover.Trigger>,\n 'children' | 'render'\n> & {\n children: ComponentProps<typeof BasePopover.Trigger>['children'];\n};\n\nexport const PopoverTriggerElement = ({\n children,\n className,\n nativeButton,\n ref: refProp,\n ...rest\n}: PopoverTriggerElementProps) => {\n const { isNativeButtonTriggerElement, resolvedNativeButton } = useNativeButton({\n children,\n nativeButton,\n });\n\n if (isValidElement(children)) {\n return (\n <BasePopover.Trigger\n {...rest}\n nativeButton={resolvedNativeButton}\n render={(props, state) => {\n // Base UI's trigger props include `type=\"button\"` by default.\n // If we render into a non-<button> element, that prop is invalid and can warn.\n const resolvedProps = (() => {\n if (isNativeButtonTriggerElement) return props as any;\n // eslint-disable-next-line unused-imports/no-unused-vars\n const { type, ref: triggerRef, ...restProps } = props as any;\n return restProps;\n })();\n\n const mergedProps = mergeProps((children as any).props, resolvedProps);\n const baseClassName =\n typeof (mergedProps as any).className === 'function'\n ? (mergedProps as any).className(state)\n : (mergedProps as any).className;\n const extraClassName =\n typeof (className as any) === 'function' ? (className as any)(state) : className;\n\n return cloneElement(children as any, {\n ...mergedProps,\n className: clsx(baseClassName, extraClassName),\n ref: mergeRefs([(children as any).ref, (props as any).ref, refProp]),\n });\n }}\n />\n );\n }\n\n return (\n <BasePopover.Trigger\n {...rest}\n className={className}\n nativeButton={resolvedNativeButton}\n ref={refProp}\n >\n {children}\n </BasePopover.Trigger>\n );\n};\n\nPopoverTriggerElement.displayName = 'PopoverTriggerElement';\n\nexport type PopoverPortalAtomProps = Omit<\n ComponentProps<typeof BasePopover.Portal>,\n 'container'\n> & {\n /**\n * Portal container. When not provided, it uses the shared container created by `usePopoverPortalContainer`.\n */\n container?: HTMLElement | null;\n /**\n * Root element used by `usePopoverPortalContainer` to create the default container.\n */\n root?: HTMLElement | ShadowRoot | null;\n};\n\nexport const PopoverPortal = ({ container, root, children, ...rest }: PopoverPortalAtomProps) => {\n const defaultContainer = usePopoverPortalContainer(root);\n const resolvedContainer = container ?? defaultContainer;\n\n if (!resolvedContainer) return null;\n\n return (\n <BasePopover.Portal container={resolvedContainer} {...rest}>\n {children}\n </BasePopover.Portal>\n );\n};\n\nPopoverPortal.displayName = 'PopoverPortal';\n\nexport type PopoverPositionerAtomProps = ComponentProps<typeof BasePopover.Positioner> & {\n hoverTrigger?: boolean;\n placement?: PopoverPlacement;\n};\n\nexport const PopoverPositioner = ({\n children,\n className,\n collisionPadding,\n hoverTrigger,\n placement,\n align,\n side,\n sideOffset,\n style,\n ...rest\n}: PopoverPositionerAtomProps) => {\n const placementConfig = placement ? placementMap[placement] : undefined;\n const [positionerNode, setPositionerNode] = useState<HTMLDivElement | null>(null);\n const explicitZIndex =\n typeof style !== 'function' && style?.zIndex != null && typeof style.zIndex === 'number'\n ? style.zIndex\n : undefined;\n const { zIndex, ref: zRef } = useLayerZIndex<HTMLDivElement>('floating', explicitZIndex);\n const composedRef = useMergeRefs([setPositionerNode, zRef]);\n\n const resolvedStyle =\n typeof style === 'function'\n ? (state: any) => ({ zIndex, ...style(state) })\n : { zIndex, ...style };\n\n return (\n <BasePopover.Positioner\n align={align ?? placementConfig?.align ?? 'center'}\n collisionPadding={collisionPadding ?? getFloatingCollisionPadding()}\n data-hover-trigger={hoverTrigger || undefined}\n data-placement={placement}\n ref={composedRef as any}\n side={side ?? placementConfig?.side ?? 'bottom'}\n sideOffset={sideOffset ?? 6}\n style={resolvedStyle}\n className={(state) =>\n clsx(\n stylex.props(styles.positioner).className,\n typeof className === 'function' ? className(state) : className,\n )\n }\n {...rest}\n >\n <FloatingLayerProvider value={positionerNode}>{children}</FloatingLayerProvider>\n </BasePopover.Positioner>\n );\n};\n\nPopoverPositioner.displayName = 'PopoverPositioner';\n\nexport type PopoverPopupAtomProps = ComponentProps<typeof BasePopover.Popup> & {\n xstyle?: stylex.StyleXStyles;\n};\n\nexport const PopoverPopup = ({ className, xstyle, ...rest }: PopoverPopupAtomProps) => {\n return (\n <BasePopover.Popup\n className={(state) =>\n clsx(\n stylex.props(styles.popup, xstyle).className,\n typeof className === 'function' ? className(state) : className,\n )\n }\n {...rest}\n />\n );\n};\n\nPopoverPopup.displayName = 'PopoverPopup';\n\nexport type PopoverArrowAtomProps = ComponentProps<typeof BasePopover.Arrow>;\n\nexport const PopoverArrow = ({ className, children, ...rest }: PopoverArrowAtomProps) => {\n return (\n <BasePopover.Arrow\n className={(state) =>\n clsx(\n stylex.props(styles.arrow).className,\n typeof className === 'function' ? className(state) : className,\n )\n }\n {...rest}\n >\n {children ?? PopoverArrowIcon}\n </BasePopover.Arrow>\n );\n};\n\nPopoverArrow.displayName = 'PopoverArrow';\n\nexport type PopoverViewportAtomProps = ComponentProps<typeof BasePopover.Viewport>;\n\nexport const PopoverViewport = ({ className, ...rest }: PopoverViewportAtomProps) => {\n return (\n <BasePopover.Viewport\n className={(state) =>\n clsx(\n stylex.props(styles.viewport).className,\n 'lobe-popover-viewport',\n typeof className === 'function' ? className(state) : className,\n )\n }\n {...rest}\n />\n );\n};\n\nPopoverViewport.displayName = 'PopoverViewport';\n"],"mappings":";;;;;;;;;;;;;;;;;AAiBA,MAAa,cAAcA,QAAY;AACvC,MAAa,kBAAkBA,QAAY;AAI3C,MAAa,yBAAyB,EACpC,UACA,WACA,cACA,KAAK,SACL,GAAG,WAC6B;CAChC,MAAM,EACJ,8BACA,yBACE,gBAAgB;EAClB;EACA;CACF,CAAC;CACD,IAAI,eAAe,QAAQ,GACzB,OAAO,oBAACA,QAAY,SAAb;EAAqB,GAAI;EAAM,cAAc;EAAsB,SAAS,OAAO,UAAU;GAGlG,MAAM,uBAAuB;IAC3B,IAAI,8BAA8B,OAAO;IAEzC,MAAM,EACJ,MACA,KAAK,YACL,GAAG,cACD;IACJ,OAAO;GACT,EAAA,CAAG;GACH,MAAM,cAAc,WAAY,SAAiB,OAAO,aAAa;GACrE,MAAM,gBAAgB,OAAQ,YAAoB,cAAc,aAAc,YAAoB,UAAU,KAAK,IAAK,YAAoB;GAC1I,MAAM,iBAAiB,OAAQ,cAAsB,aAAc,UAAkB,KAAK,IAAI;GAC9F,OAAO,aAAa,UAAiB;IACnC,GAAG;IACH,
|
|
1
|
+
{"version":3,"file":"atoms.mjs","names":["BasePopover","clsx"],"sources":["../../src/Popover/atoms.tsx"],"sourcesContent":["'use client';\n\nimport { mergeProps } from '@base-ui/react/merge-props';\nimport { Popover as BasePopover } from '@base-ui/react/popover';\nimport * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\nimport {\n cloneElement,\n type ComponentProps,\n type ComponentPropsWithRef,\n isValidElement,\n useState,\n} from 'react';\n\nimport { FloatingLayerProvider } from '@/hooks/useFloatingLayer';\nimport { useNativeButton } from '@/hooks/useNativeButton';\nimport { getFloatingCollisionPadding } from '@/internal/floating';\nimport { mergeRefs, useMergeRefs } from '@/utils/mergeRefs';\nimport { placementMap } from '@/utils/placement';\n\nimport { useLayerZIndex } from '../internal/zIndex';\nimport { PopoverArrowIcon } from './ArrowIcon';\nimport { usePopoverPortalContainer } from './PopoverPortal';\nimport { styles } from './style';\nimport { type PopoverPlacement } from './type';\n\nexport const PopoverRoot = BasePopover.Root;\nexport const PopoverBackdrop = BasePopover.Backdrop;\n\nexport type PopoverTriggerElementProps = Omit<\n ComponentPropsWithRef<typeof BasePopover.Trigger>,\n 'children' | 'render'\n> & {\n children: ComponentProps<typeof BasePopover.Trigger>['children'];\n};\n\nexport const PopoverTriggerElement = ({\n children,\n className,\n nativeButton,\n ref: refProp,\n ...rest\n}: PopoverTriggerElementProps) => {\n const { isNativeButtonTriggerElement, resolvedNativeButton } = useNativeButton({\n children,\n nativeButton,\n });\n\n if (isValidElement(children)) {\n return (\n <BasePopover.Trigger\n {...rest}\n nativeButton={resolvedNativeButton}\n render={(props, state) => {\n // Base UI's trigger props include `type=\"button\"` by default.\n // If we render into a non-<button> element, that prop is invalid and can warn.\n const resolvedProps = (() => {\n if (isNativeButtonTriggerElement) return props as any;\n // eslint-disable-next-line unused-imports/no-unused-vars\n const { type, ref: triggerRef, ...restProps } = props as any;\n return restProps;\n })();\n\n const mergedProps = mergeProps((children as any).props, resolvedProps);\n const baseClassName =\n typeof (mergedProps as any).className === 'function'\n ? (mergedProps as any).className(state)\n : (mergedProps as any).className;\n const extraClassName =\n typeof (className as any) === 'function' ? (className as any)(state) : className;\n\n return cloneElement(children as any, {\n ...mergedProps,\n className: clsx(baseClassName, extraClassName),\n ref: mergeRefs([(children as any).ref, (props as any).ref, refProp]),\n });\n }}\n />\n );\n }\n\n return (\n <BasePopover.Trigger\n {...rest}\n className={className}\n nativeButton={resolvedNativeButton}\n ref={refProp}\n >\n {children}\n </BasePopover.Trigger>\n );\n};\n\nPopoverTriggerElement.displayName = 'PopoverTriggerElement';\n\nexport type PopoverPortalAtomProps = Omit<\n ComponentProps<typeof BasePopover.Portal>,\n 'container'\n> & {\n /**\n * Portal container. When not provided, it uses the shared container created by `usePopoverPortalContainer`.\n */\n container?: HTMLElement | null;\n /**\n * Root element used by `usePopoverPortalContainer` to create the default container.\n */\n root?: HTMLElement | ShadowRoot | null;\n};\n\nexport const PopoverPortal = ({ container, root, children, ...rest }: PopoverPortalAtomProps) => {\n const defaultContainer = usePopoverPortalContainer(root);\n const resolvedContainer = container ?? defaultContainer;\n\n if (!resolvedContainer) return null;\n\n return (\n <BasePopover.Portal container={resolvedContainer} {...rest}>\n {children}\n </BasePopover.Portal>\n );\n};\n\nPopoverPortal.displayName = 'PopoverPortal';\n\nexport type PopoverPositionerAtomProps = ComponentProps<typeof BasePopover.Positioner> & {\n hoverTrigger?: boolean;\n placement?: PopoverPlacement;\n};\n\nexport const PopoverPositioner = ({\n children,\n className,\n collisionPadding,\n hoverTrigger,\n placement,\n align,\n side,\n sideOffset,\n style,\n ...rest\n}: PopoverPositionerAtomProps) => {\n const placementConfig = placement ? placementMap[placement] : undefined;\n const [positionerNode, setPositionerNode] = useState<HTMLDivElement | null>(null);\n const explicitZIndex =\n typeof style !== 'function' && style?.zIndex != null && typeof style.zIndex === 'number'\n ? style.zIndex\n : undefined;\n const { zIndex, ref: zRef } = useLayerZIndex<HTMLDivElement>('floating', explicitZIndex);\n const composedRef = useMergeRefs([setPositionerNode, zRef]);\n\n const resolvedStyle =\n typeof style === 'function'\n ? (state: any) => ({ zIndex, ...style(state) })\n : { zIndex, ...style };\n\n return (\n <BasePopover.Positioner\n align={align ?? placementConfig?.align ?? 'center'}\n collisionPadding={collisionPadding ?? getFloatingCollisionPadding()}\n data-hover-trigger={hoverTrigger || undefined}\n data-placement={placement}\n ref={composedRef as any}\n side={side ?? placementConfig?.side ?? 'bottom'}\n sideOffset={sideOffset ?? 6}\n style={resolvedStyle}\n className={(state) =>\n clsx(\n stylex.props(styles.positioner).className,\n typeof className === 'function' ? className(state) : className,\n )\n }\n {...rest}\n >\n <FloatingLayerProvider value={positionerNode}>{children}</FloatingLayerProvider>\n </BasePopover.Positioner>\n );\n};\n\nPopoverPositioner.displayName = 'PopoverPositioner';\n\nexport type PopoverPopupAtomProps = ComponentProps<typeof BasePopover.Popup> & {\n xstyle?: stylex.StyleXStyles;\n};\n\nexport const PopoverPopup = ({ className, xstyle, ...rest }: PopoverPopupAtomProps) => {\n return (\n <BasePopover.Popup\n className={(state) =>\n clsx(\n stylex.props(styles.popup, xstyle).className,\n typeof className === 'function' ? className(state) : className,\n )\n }\n {...rest}\n />\n );\n};\n\nPopoverPopup.displayName = 'PopoverPopup';\n\nexport type PopoverArrowAtomProps = ComponentProps<typeof BasePopover.Arrow>;\n\nexport const PopoverArrow = ({ className, children, ...rest }: PopoverArrowAtomProps) => {\n return (\n <BasePopover.Arrow\n className={(state) =>\n clsx(\n stylex.props(styles.arrow).className,\n typeof className === 'function' ? className(state) : className,\n )\n }\n {...rest}\n >\n {children ?? PopoverArrowIcon}\n </BasePopover.Arrow>\n );\n};\n\nPopoverArrow.displayName = 'PopoverArrow';\n\nexport type PopoverViewportAtomProps = ComponentProps<typeof BasePopover.Viewport>;\n\nexport const PopoverViewport = ({ className, ...rest }: PopoverViewportAtomProps) => {\n return (\n <BasePopover.Viewport\n className={(state) =>\n clsx(\n stylex.props(styles.viewport).className,\n 'lobe-popover-viewport',\n typeof className === 'function' ? className(state) : className,\n )\n }\n {...rest}\n />\n );\n};\n\nPopoverViewport.displayName = 'PopoverViewport';\n"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ProTableProps } from "./type.mjs";
|
|
2
|
+
import { ProTableLocaleResolved } from "./locale.mjs";
|
|
3
|
+
//#region src/ProTable/ProTable.d.ts
|
|
4
|
+
export declare const DEFAULT_PRO_TABLE_LOCALE: ProTableLocaleResolved;
|
|
5
|
+
declare const ProTable: {
|
|
6
|
+
<T extends Record<string, any> = any, Params extends Record<string, any> = Record<string, any>>(props: ProTableProps<T, Params>): import("react").JSX.Element;
|
|
7
|
+
displayName: string;
|
|
8
|
+
};
|
|
9
|
+
//#endregion
|
|
10
|
+
export { ProTable as default };
|
|
11
|
+
//# sourceMappingURL=ProTable.d.mts.map
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useEventCallback } from "../hooks/useEventCallback.mjs";
|
|
3
|
+
import Table from "../Table/Table.mjs";
|
|
4
|
+
import { PRO_TABLE_LOCALE_EN_US } from "./locale.mjs";
|
|
5
|
+
import { toTableProps } from "./utils.mjs";
|
|
6
|
+
import { useColumnsState } from "./hooks/useColumnsState.mjs";
|
|
7
|
+
import { useDensity } from "./hooks/useDensity.mjs";
|
|
8
|
+
import { useFullscreen } from "./hooks/useFullscreen.mjs";
|
|
9
|
+
import { usePageInfo } from "./hooks/usePageInfo.mjs";
|
|
10
|
+
import { PRO_PREFIX_CLS, partClass, styles } from "./style.mjs";
|
|
11
|
+
import { useProColumns } from "./hooks/useProColumns.mjs";
|
|
12
|
+
import { useProLoading } from "./hooks/useProLoading.mjs";
|
|
13
|
+
import { useProLocale } from "./hooks/useProLocale.mjs";
|
|
14
|
+
import { useProRequest } from "./hooks/useProRequest.mjs";
|
|
15
|
+
import { useRowCache } from "./hooks/useRowCache.mjs";
|
|
16
|
+
import { useTableBindings } from "./hooks/useTableBindings.mjs";
|
|
17
|
+
import KeywordInput from "./parts/KeywordInput.mjs";
|
|
18
|
+
import LightFilter from "./parts/LightFilter.mjs";
|
|
19
|
+
import SearchSection from "./parts/SearchSection.mjs";
|
|
20
|
+
import TableAlert from "./parts/TableAlert.mjs";
|
|
21
|
+
import Toolbar from "./parts/Toolbar.mjs";
|
|
22
|
+
import ToolbarOptions from "./parts/ToolbarOptions.mjs";
|
|
23
|
+
import { useEffect, useMemo, useRef } from "react";
|
|
24
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
25
|
+
import clsx$1 from "clsx";
|
|
26
|
+
//#region src/ProTable/ProTable.tsx
|
|
27
|
+
const DEFAULT_PRO_TABLE_LOCALE = PRO_TABLE_LOCALE_EN_US;
|
|
28
|
+
const DEFAULT_OPTIONS = {
|
|
29
|
+
density: true,
|
|
30
|
+
fullScreen: false,
|
|
31
|
+
reload: true,
|
|
32
|
+
setting: true
|
|
33
|
+
};
|
|
34
|
+
const assignRef = (ref, value) => {
|
|
35
|
+
if (!ref) return;
|
|
36
|
+
if (typeof ref === "function") ref(value);
|
|
37
|
+
else ref.current = value;
|
|
38
|
+
};
|
|
39
|
+
const ProTable = (props) => {
|
|
40
|
+
const { actionRef, cardBordered, className, columnEmptyText = "-", columns: columnsProp, columnsState, dataSource, defaultData, defaultSize, form: formConfig, headerTitle, loading: loadingProp, locale: localeProp, onSizeChange, options, pagination: paginationProp, request, rowSelection, search, size: sizeProp, style, tableAlertOptionRender, tableAlertRender, tableClassName, tableExtraRender, tableRender, tableStyle, toolbar, toolBarRender, tooltip, variant } = props;
|
|
41
|
+
const tableProps = toTableProps(props);
|
|
42
|
+
const columns = useMemo(() => columnsProp ?? [], [columnsProp]);
|
|
43
|
+
const InternalTable = Table;
|
|
44
|
+
const { locale, tableLocale } = useProLocale(localeProp);
|
|
45
|
+
const rootRef = useRef(null);
|
|
46
|
+
const handleRef = useRef(null);
|
|
47
|
+
const actionHolderRef = useRef(void 0);
|
|
48
|
+
const [size, setSize] = useDensity(sizeProp, defaultSize, onSizeChange);
|
|
49
|
+
const [fullscreen, toggleFullScreen] = useFullscreen(rootRef);
|
|
50
|
+
const columnsStateApi = useColumnsState(columns, columnsState);
|
|
51
|
+
const { config: paginationConfig, pageInfo, setPageInfo } = usePageInfo(paginationProp);
|
|
52
|
+
const { settingColumns, sortFieldOf, tableColumns } = useProColumns({
|
|
53
|
+
actionRef: actionHolderRef,
|
|
54
|
+
columnEmptyText,
|
|
55
|
+
columns,
|
|
56
|
+
copyLabel: locale.copy,
|
|
57
|
+
current: pageInfo.current,
|
|
58
|
+
pageSize: pageInfo.pageSize,
|
|
59
|
+
state: columnsStateApi.state
|
|
60
|
+
});
|
|
61
|
+
const requestApi = useProRequest({
|
|
62
|
+
pageInfo,
|
|
63
|
+
paginated: paginationConfig !== false,
|
|
64
|
+
props,
|
|
65
|
+
setPageInfo,
|
|
66
|
+
sortFieldOf
|
|
67
|
+
});
|
|
68
|
+
const { fetcher, form, searchFields } = requestApi;
|
|
69
|
+
const hasRequest = !!request;
|
|
70
|
+
const rows = request ? fetcher.data : dataSource ?? defaultData ?? [];
|
|
71
|
+
const { loading, tableLoading } = useProLoading(loadingProp, fetcher.loading, hasRequest);
|
|
72
|
+
const getRow = useRowCache(rows, tableProps.rowKey ?? "key");
|
|
73
|
+
const clearSelected = useEventCallback(() => handleRef.current?.clearSelection());
|
|
74
|
+
actionHolderRef.current = {
|
|
75
|
+
clearSelected,
|
|
76
|
+
fullScreen: toggleFullScreen,
|
|
77
|
+
getSortFilter: requestApi.getSortFilter,
|
|
78
|
+
nativeElement: rootRef.current,
|
|
79
|
+
pageInfo,
|
|
80
|
+
reload: requestApi.reload,
|
|
81
|
+
reloadAndRest: async () => {
|
|
82
|
+
clearSelected();
|
|
83
|
+
await requestApi.reload(true);
|
|
84
|
+
},
|
|
85
|
+
reset: requestApi.reset,
|
|
86
|
+
setPageInfo
|
|
87
|
+
};
|
|
88
|
+
useEffect(() => {
|
|
89
|
+
assignRef(actionRef, actionHolderRef.current);
|
|
90
|
+
});
|
|
91
|
+
const bindings = useTableBindings({
|
|
92
|
+
hasRequest,
|
|
93
|
+
pageInfo,
|
|
94
|
+
paginationConfig,
|
|
95
|
+
rowSelection,
|
|
96
|
+
setPageInfo
|
|
97
|
+
});
|
|
98
|
+
const optionConfig = options === false ? false : {
|
|
99
|
+
...DEFAULT_OPTIONS,
|
|
100
|
+
...options
|
|
101
|
+
};
|
|
102
|
+
const searchOption = optionConfig && optionConfig.search;
|
|
103
|
+
const lightMode = search !== false && search?.filterType === "light";
|
|
104
|
+
const reloading = !!loading && !!request;
|
|
105
|
+
const keywordDom = searchOption ? /* @__PURE__ */ jsx(KeywordInput, {
|
|
106
|
+
config: searchOption,
|
|
107
|
+
placeholder: locale.searchPlaceholder,
|
|
108
|
+
onSearch: requestApi.searchKeyword
|
|
109
|
+
}) : null;
|
|
110
|
+
const filterDom = lightMode && searchFields.length > 0 ? /* @__PURE__ */ jsx(LightFilter, {
|
|
111
|
+
fields: searchFields,
|
|
112
|
+
form,
|
|
113
|
+
ignoreRules: formConfig?.ignoreRules,
|
|
114
|
+
placeholder: {
|
|
115
|
+
input: locale.searchPlaceholder,
|
|
116
|
+
select: locale.selectPlaceholder
|
|
117
|
+
}
|
|
118
|
+
}) : null;
|
|
119
|
+
const hasOptions = optionConfig && Boolean(optionConfig.reload || optionConfig.density || optionConfig.fullScreen || optionConfig.setting);
|
|
120
|
+
const settingsDom = toolbar?.settings?.length ? toolbar.settings : toolbar?.settings === void 0 && hasOptions ? /* @__PURE__ */ jsx(ToolbarOptions, {
|
|
121
|
+
columnsState: columnsStateApi.state,
|
|
122
|
+
config: optionConfig,
|
|
123
|
+
fullscreen,
|
|
124
|
+
locale,
|
|
125
|
+
reloading,
|
|
126
|
+
settingColumns,
|
|
127
|
+
size,
|
|
128
|
+
onColumnsStateChange: columnsStateApi.setState,
|
|
129
|
+
onColumnsStateReset: columnsStateApi.resetState,
|
|
130
|
+
onReload: () => void requestApi.reload(),
|
|
131
|
+
onSizeChange: setSize,
|
|
132
|
+
onToggleFullScreen: toggleFullScreen
|
|
133
|
+
}) : null;
|
|
134
|
+
const title = headerTitle ?? toolbar?.title;
|
|
135
|
+
const toolbarDom = toolBarRender === false ? null : /* @__PURE__ */ jsx(Toolbar, {
|
|
136
|
+
actionRef: actionHolderRef,
|
|
137
|
+
actions: toolbar?.actions,
|
|
138
|
+
filter: filterDom,
|
|
139
|
+
getRow,
|
|
140
|
+
handleRef,
|
|
141
|
+
keyword: keywordDom,
|
|
142
|
+
settings: settingsDom,
|
|
143
|
+
subTitle: toolbar?.subTitle,
|
|
144
|
+
title,
|
|
145
|
+
toolBarRender: toolBarRender || void 0,
|
|
146
|
+
tooltip: tooltip ?? toolbar?.tooltip
|
|
147
|
+
});
|
|
148
|
+
const alertDom = rowSelection ? /* @__PURE__ */ jsx(TableAlert, {
|
|
149
|
+
alwaysShow: rowSelection.alwaysShowAlert,
|
|
150
|
+
getRow,
|
|
151
|
+
handleRef,
|
|
152
|
+
locale,
|
|
153
|
+
optionRender: tableAlertOptionRender,
|
|
154
|
+
render: tableAlertRender,
|
|
155
|
+
onClear: clearSelected
|
|
156
|
+
}) : null;
|
|
157
|
+
const tableDom = /* @__PURE__ */ jsx(InternalTable, {
|
|
158
|
+
...tableProps,
|
|
159
|
+
className: tableClassName,
|
|
160
|
+
columns: tableColumns,
|
|
161
|
+
dataSource: rows,
|
|
162
|
+
internalRef: handleRef,
|
|
163
|
+
loading: tableLoading,
|
|
164
|
+
locale: tableLocale,
|
|
165
|
+
pagination: bindings.pagination,
|
|
166
|
+
rowSelection: bindings.rowSelection,
|
|
167
|
+
size,
|
|
168
|
+
style: tableStyle,
|
|
169
|
+
variant,
|
|
170
|
+
onChange: requestApi.handleTableChange
|
|
171
|
+
});
|
|
172
|
+
const tableBody = /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
173
|
+
toolbarDom,
|
|
174
|
+
alertDom,
|
|
175
|
+
tableDom
|
|
176
|
+
] });
|
|
177
|
+
const searchDom = search !== false && !lightMode && searchFields.length > 0 ? /* @__PURE__ */ jsx(SearchSection, {
|
|
178
|
+
fields: searchFields,
|
|
179
|
+
form,
|
|
180
|
+
loading: reloading,
|
|
181
|
+
locale,
|
|
182
|
+
props,
|
|
183
|
+
onReset: requestApi.handleReset
|
|
184
|
+
}) : null;
|
|
185
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
186
|
+
className: clsx$1(styles.root, PRO_PREFIX_CLS, className),
|
|
187
|
+
"data-fullscreen": fullscreen || void 0,
|
|
188
|
+
ref: rootRef,
|
|
189
|
+
style,
|
|
190
|
+
children: [
|
|
191
|
+
searchDom,
|
|
192
|
+
tableExtraRender?.(props, rows),
|
|
193
|
+
/* @__PURE__ */ jsx("div", {
|
|
194
|
+
className: partClass(cardBordered, "table"),
|
|
195
|
+
children: tableRender ? tableRender(props, tableBody, {
|
|
196
|
+
alert: alertDom,
|
|
197
|
+
table: tableDom,
|
|
198
|
+
toolbar: toolbarDom
|
|
199
|
+
}) : tableBody
|
|
200
|
+
})
|
|
201
|
+
]
|
|
202
|
+
});
|
|
203
|
+
};
|
|
204
|
+
ProTable.displayName = "ProTable";
|
|
205
|
+
//#endregion
|
|
206
|
+
export { DEFAULT_PRO_TABLE_LOCALE, ProTable as default };
|
|
207
|
+
|
|
208
|
+
//# sourceMappingURL=ProTable.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProTable.mjs","names":["clsx"],"sources":["../../src/ProTable/ProTable.tsx"],"sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { type ComponentType, type ReactNode, type Ref, useEffect, useMemo, useRef } from 'react';\n\nimport { useEventCallback } from '@/hooks/useEventCallback';\nimport Table from '@/Table';\nimport type { TableInternalHandle, TableInternalProps } from '@/Table/internal';\n\nimport { useColumnsState } from './hooks/useColumnsState';\nimport { useDensity } from './hooks/useDensity';\nimport { useFullscreen } from './hooks/useFullscreen';\nimport { usePageInfo } from './hooks/usePageInfo';\nimport { useProColumns } from './hooks/useProColumns';\nimport { useProLoading } from './hooks/useProLoading';\nimport { useProLocale } from './hooks/useProLocale';\nimport { useProRequest } from './hooks/useProRequest';\nimport { useRowCache } from './hooks/useRowCache';\nimport { useTableBindings } from './hooks/useTableBindings';\nimport { PRO_TABLE_LOCALE_EN_US } from './locale';\nimport KeywordInput from './parts/KeywordInput';\nimport LightFilter from './parts/LightFilter';\nimport SearchSection from './parts/SearchSection';\nimport TableAlert from './parts/TableAlert';\nimport Toolbar from './parts/Toolbar';\nimport ToolbarOptions from './parts/ToolbarOptions';\nimport { partClass, PRO_PREFIX_CLS, styles } from './style';\nimport type { ProTableActionType, ProTableProps } from './type';\nimport { toTableProps } from './utils';\n\nexport const DEFAULT_PRO_TABLE_LOCALE = PRO_TABLE_LOCALE_EN_US;\n\nconst DEFAULT_OPTIONS = { density: true, fullScreen: false, reload: true, setting: true };\n\nconst assignRef = <V,>(ref: Ref<V> | undefined, value: V) => {\n if (!ref) return;\n if (typeof ref === 'function') ref(value);\n else (ref as { current: V }).current = value;\n};\n\nconst ProTable = <\n T extends Record<string, any> = any,\n Params extends Record<string, any> = Record<string, any>,\n>(\n props: ProTableProps<T, Params>,\n) => {\n const {\n actionRef,\n cardBordered,\n className,\n columnEmptyText = '-',\n columns: columnsProp,\n columnsState,\n dataSource,\n defaultData,\n defaultSize,\n form: formConfig,\n headerTitle,\n loading: loadingProp,\n locale: localeProp,\n onSizeChange,\n options,\n pagination: paginationProp,\n request,\n rowSelection,\n search,\n size: sizeProp,\n style,\n tableAlertOptionRender,\n tableAlertRender,\n tableClassName,\n tableExtraRender,\n tableRender,\n tableStyle,\n toolbar,\n toolBarRender,\n tooltip,\n variant,\n } = props;\n const tableProps = toTableProps(props);\n const columns = useMemo(() => columnsProp ?? [], [columnsProp]);\n const InternalTable = Table as ComponentType<TableInternalProps<T>>;\n\n const { locale, tableLocale } = useProLocale(localeProp);\n\n const rootRef = useRef<HTMLDivElement>(null);\n const handleRef = useRef<TableInternalHandle>(null);\n const actionHolderRef = useRef<ProTableActionType | undefined>(undefined);\n const [size, setSize] = useDensity(sizeProp, defaultSize, onSizeChange);\n const [fullscreen, toggleFullScreen] = useFullscreen(rootRef);\n const columnsStateApi = useColumnsState(columns, columnsState);\n const { config: paginationConfig, pageInfo, setPageInfo } = usePageInfo(paginationProp);\n\n const { settingColumns, sortFieldOf, tableColumns } = useProColumns<T>({\n actionRef: actionHolderRef,\n columnEmptyText,\n columns,\n copyLabel: locale.copy,\n current: pageInfo.current,\n pageSize: pageInfo.pageSize,\n state: columnsStateApi.state,\n });\n\n const requestApi = useProRequest<T>({\n pageInfo,\n paginated: paginationConfig !== false,\n props: props as ProTableProps<T, any>,\n setPageInfo,\n sortFieldOf,\n });\n const { fetcher, form, searchFields } = requestApi;\n\n const hasRequest = !!request;\n const rows: T[] = request ? fetcher.data : (dataSource ?? defaultData ?? []);\n const { loading, tableLoading } = useProLoading(loadingProp, fetcher.loading, hasRequest);\n\n const getRow = useRowCache(rows, (tableProps.rowKey ?? 'key') as string);\n const clearSelected = useEventCallback(() => handleRef.current?.clearSelection());\n\n const action: ProTableActionType = {\n clearSelected,\n fullScreen: toggleFullScreen,\n getSortFilter: requestApi.getSortFilter,\n nativeElement: rootRef.current,\n pageInfo,\n reload: requestApi.reload,\n reloadAndRest: async () => {\n clearSelected();\n await requestApi.reload(true);\n },\n reset: requestApi.reset,\n setPageInfo,\n };\n actionHolderRef.current = action;\n useEffect(() => {\n assignRef(actionRef as Ref<ProTableActionType>, actionHolderRef.current as ProTableActionType);\n });\n\n const bindings = useTableBindings<T>({\n hasRequest,\n pageInfo,\n paginationConfig,\n rowSelection,\n setPageInfo,\n });\n\n const optionConfig = options === false ? false : { ...DEFAULT_OPTIONS, ...options };\n const searchOption = optionConfig && optionConfig.search;\n const lightMode = search !== false && search?.filterType === 'light';\n const reloading = !!loading && !!request;\n\n const keywordDom = searchOption ? (\n <KeywordInput\n config={searchOption}\n placeholder={locale.searchPlaceholder}\n onSearch={requestApi.searchKeyword}\n />\n ) : null;\n const filterDom =\n lightMode && searchFields.length > 0 ? (\n <LightFilter\n fields={searchFields}\n form={form}\n ignoreRules={formConfig?.ignoreRules}\n placeholder={{ input: locale.searchPlaceholder, select: locale.selectPlaceholder }}\n />\n ) : null;\n const hasOptions =\n optionConfig &&\n Boolean(\n optionConfig.reload ||\n optionConfig.density ||\n optionConfig.fullScreen ||\n optionConfig.setting,\n );\n const settingsDom: ReactNode = toolbar?.settings?.length ? (\n toolbar.settings\n ) : toolbar?.settings === undefined && hasOptions ? (\n <ToolbarOptions\n columnsState={columnsStateApi.state}\n config={optionConfig}\n fullscreen={fullscreen}\n locale={locale}\n reloading={reloading}\n settingColumns={settingColumns}\n size={size}\n onColumnsStateChange={columnsStateApi.setState}\n onColumnsStateReset={columnsStateApi.resetState}\n onReload={() => void requestApi.reload()}\n onSizeChange={setSize}\n onToggleFullScreen={toggleFullScreen}\n />\n ) : null;\n\n const title = headerTitle ?? toolbar?.title;\n const toolbarDom =\n toolBarRender === false ? null : (\n <Toolbar<T>\n actionRef={actionHolderRef}\n actions={toolbar?.actions}\n filter={filterDom}\n getRow={getRow}\n handleRef={handleRef}\n keyword={keywordDom}\n settings={settingsDom}\n subTitle={toolbar?.subTitle}\n title={title}\n toolBarRender={toolBarRender || undefined}\n tooltip={tooltip ?? toolbar?.tooltip}\n />\n );\n\n const alertDom = rowSelection ? (\n <TableAlert<T>\n alwaysShow={rowSelection.alwaysShowAlert}\n getRow={getRow}\n handleRef={handleRef}\n locale={locale}\n optionRender={tableAlertOptionRender}\n render={tableAlertRender}\n onClear={clearSelected}\n />\n ) : null;\n\n const tableDom = (\n <InternalTable\n {...tableProps}\n className={tableClassName}\n columns={tableColumns}\n dataSource={rows}\n internalRef={handleRef}\n loading={tableLoading}\n locale={tableLocale}\n pagination={bindings.pagination}\n rowSelection={bindings.rowSelection}\n size={size}\n style={tableStyle}\n variant={variant}\n onChange={requestApi.handleTableChange}\n />\n );\n\n const tableBody = (\n <>\n {toolbarDom}\n {alertDom}\n {tableDom}\n </>\n );\n\n const searchDom =\n search !== false && !lightMode && searchFields.length > 0 ? (\n <SearchSection<T>\n fields={searchFields}\n form={form}\n loading={reloading}\n locale={locale}\n props={props}\n onReset={requestApi.handleReset}\n />\n ) : null;\n\n return (\n <div\n className={clsx(styles.root, PRO_PREFIX_CLS, className)}\n data-fullscreen={fullscreen || undefined}\n ref={rootRef}\n style={style}\n >\n {searchDom}\n {tableExtraRender?.(props, rows)}\n <div className={partClass(cardBordered, 'table')}>\n {tableRender\n ? tableRender(props, tableBody, { alert: alertDom, table: tableDom, toolbar: toolbarDom })\n : tableBody}\n </div>\n </div>\n );\n};\n\nProTable.displayName = 'ProTable';\n\nexport default ProTable;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { useEffect, useMemo, useRef, useState } from "react";
|
|
2
|
+
//#region src/ProTable/hooks/useColumnRequest.ts
|
|
3
|
+
const stable = (value) => {
|
|
4
|
+
try {
|
|
5
|
+
return JSON.stringify(value) ?? "";
|
|
6
|
+
} catch {
|
|
7
|
+
return "";
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
const useColumnRequest = (column) => {
|
|
11
|
+
const { debounceTime = 10, params, request } = column;
|
|
12
|
+
const [options, setOptions] = useState(void 0);
|
|
13
|
+
const [loading, setLoading] = useState(false);
|
|
14
|
+
const [keyWords, setKeyWords] = useState(void 0);
|
|
15
|
+
const requestRef = useRef(request);
|
|
16
|
+
requestRef.current = request;
|
|
17
|
+
const idRef = useRef(0);
|
|
18
|
+
const paramsKey = useMemo(() => stable(params), [params]);
|
|
19
|
+
const enabled = !!request;
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
if (!enabled) return;
|
|
22
|
+
const id = ++idRef.current;
|
|
23
|
+
const timer = setTimeout(() => {
|
|
24
|
+
const run = requestRef.current;
|
|
25
|
+
if (!run) return;
|
|
26
|
+
setLoading(true);
|
|
27
|
+
Promise.resolve(run({
|
|
28
|
+
...params,
|
|
29
|
+
keyWords
|
|
30
|
+
})).then((list) => {
|
|
31
|
+
if (id === idRef.current) setOptions(Array.isArray(list) ? list : []);
|
|
32
|
+
}).catch(() => {
|
|
33
|
+
if (id === idRef.current) setOptions([]);
|
|
34
|
+
}).finally(() => {
|
|
35
|
+
if (id === idRef.current) setLoading(false);
|
|
36
|
+
});
|
|
37
|
+
}, Math.max(0, debounceTime));
|
|
38
|
+
return () => clearTimeout(timer);
|
|
39
|
+
}, [
|
|
40
|
+
enabled,
|
|
41
|
+
paramsKey,
|
|
42
|
+
keyWords,
|
|
43
|
+
debounceTime
|
|
44
|
+
]);
|
|
45
|
+
return {
|
|
46
|
+
enabled,
|
|
47
|
+
loading,
|
|
48
|
+
onSearch: enabled && !!column.fieldProps?.showSearch && column.fieldProps?.filterOption === false ? (value) => setKeyWords(value || void 0) : void 0,
|
|
49
|
+
options
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
//#endregion
|
|
53
|
+
export { useColumnRequest };
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=useColumnRequest.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useColumnRequest.mjs","names":[],"sources":["../../../src/ProTable/hooks/useColumnRequest.ts"],"sourcesContent":["import { useEffect, useMemo, useRef, useState } from 'react';\n\nimport type { ProColumnType, ProTableRequestOption } from '../type';\n\nconst stable = (value: unknown) => {\n try {\n return JSON.stringify(value) ?? '';\n } catch {\n return '';\n }\n};\n\nexport const useColumnRequest = (column: ProColumnType<any>) => {\n const { debounceTime = 10, params, request } = column;\n const [options, setOptions] = useState<ProTableRequestOption[] | undefined>(undefined);\n const [loading, setLoading] = useState(false);\n const [keyWords, setKeyWords] = useState<string | undefined>(undefined);\n const requestRef = useRef(request);\n requestRef.current = request;\n const idRef = useRef(0);\n const paramsKey = useMemo(() => stable(params), [params]);\n const enabled = !!request;\n\n useEffect(() => {\n if (!enabled) return;\n const id = ++idRef.current;\n const timer = setTimeout(\n () => {\n const run = requestRef.current;\n if (!run) return;\n setLoading(true);\n Promise.resolve(run({ ...params, keyWords }))\n .then((list) => {\n if (id === idRef.current) setOptions(Array.isArray(list) ? list : []);\n })\n .catch(() => {\n if (id === idRef.current) setOptions([]);\n })\n .finally(() => {\n if (id === idRef.current) setLoading(false);\n });\n },\n // The first load is not debounced beyond the configured time; typing reuses it.\n Math.max(0, debounceTime),\n );\n return () => clearTimeout(timer);\n }, [enabled, paramsKey, keyWords, debounceTime]);\n\n const remoteSearch =\n enabled && !!column.fieldProps?.showSearch && column.fieldProps?.filterOption === false;\n\n return {\n enabled,\n loading,\n onSearch: remoteSearch ? (value: string) => setKeyWords(value || undefined) : undefined,\n options,\n };\n};\n"],"mappings":";;AAIA,MAAM,UAAU,UAAmB;CACjC,IAAI;EACF,OAAO,KAAK,UAAU,KAAK,KAAK;CAClC,QAAQ;EACN,OAAO;CACT;AACF;AAEA,MAAa,oBAAoB,WAA+B;CAC9D,MAAM,EAAE,eAAe,IAAI,QAAQ,YAAY;CAC/C,MAAM,CAAC,SAAS,cAAc,SAA8C,KAAA,CAAS;CACrF,MAAM,CAAC,SAAS,cAAc,SAAS,KAAK;CAC5C,MAAM,CAAC,UAAU,eAAe,SAA6B,KAAA,CAAS;CACtE,MAAM,aAAa,OAAO,OAAO;CACjC,WAAW,UAAU;CACrB,MAAM,QAAQ,OAAO,CAAC;CACtB,MAAM,YAAY,cAAc,OAAO,MAAM,GAAG,CAAC,MAAM,CAAC;CACxD,MAAM,UAAU,CAAC,CAAC;CAElB,gBAAgB;EACd,IAAI,CAAC,SAAS;EACd,MAAM,KAAK,EAAE,MAAM;EACnB,MAAM,QAAQ,iBACN;GACJ,MAAM,MAAM,WAAW;GACvB,IAAI,CAAC,KAAK;GACV,WAAW,IAAI;GACf,QAAQ,QAAQ,IAAI;IAAE,GAAG;IAAQ;GAAS,CAAC,CAAC,CAAC,CAC1C,MAAM,SAAS;IACd,IAAI,OAAO,MAAM,SAAS,WAAW,MAAM,QAAQ,IAAI,IAAI,OAAO,CAAC,CAAC;GACtE,CAAC,CAAC,CACD,YAAY;IACX,IAAI,OAAO,MAAM,SAAS,WAAW,CAAC,CAAC;GACzC,CAAC,CAAC,CACD,cAAc;IACb,IAAI,OAAO,MAAM,SAAS,WAAW,KAAK;GAC5C,CAAC;EACL,GAEA,KAAK,IAAI,GAAG,YAAY,CAC1B;EACA,aAAa,aAAa,KAAK;CACjC,GAAG;EAAC;EAAS;EAAW;EAAU;CAAY,CAAC;CAK/C,OAAO;EACL;EACA;EACA,UALA,WAAW,CAAC,CAAC,OAAO,YAAY,cAAc,OAAO,YAAY,iBAAiB,SAKxD,UAAkB,YAAY,SAAS,KAAA,CAAS,IAAI,KAAA;EAC9E;CACF;AACF"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { useEventCallback } from "../../hooks/useEventCallback.mjs";
|
|
2
|
+
import { getProColumnKey, readPersistedState, writePersistedState } from "../utils.mjs";
|
|
3
|
+
import { useState } from "react";
|
|
4
|
+
//#region src/ProTable/hooks/useColumnsState.ts
|
|
5
|
+
const useColumnsState = (columns, columnsState) => {
|
|
6
|
+
const persistKey = columnsState?.persistenceKey;
|
|
7
|
+
const persistType = columnsState?.persistenceType;
|
|
8
|
+
const [defaultState] = useState(() => {
|
|
9
|
+
const map = {};
|
|
10
|
+
columns.forEach((column, index) => {
|
|
11
|
+
if (column.fixed) map[getProColumnKey(column, index)] = { fixed: column.fixed };
|
|
12
|
+
});
|
|
13
|
+
return {
|
|
14
|
+
...map,
|
|
15
|
+
...columnsState?.defaultValue
|
|
16
|
+
};
|
|
17
|
+
});
|
|
18
|
+
const [innerState, setInnerState] = useState(() => readPersistedState(persistKey, persistType) ?? defaultState);
|
|
19
|
+
const setState = useEventCallback((next) => {
|
|
20
|
+
setInnerState(next);
|
|
21
|
+
writePersistedState(persistKey, persistType, next);
|
|
22
|
+
columnsState?.onChange?.(next);
|
|
23
|
+
});
|
|
24
|
+
return {
|
|
25
|
+
resetState: useEventCallback(() => {
|
|
26
|
+
writePersistedState(persistKey, persistType, void 0);
|
|
27
|
+
setInnerState(defaultState);
|
|
28
|
+
columnsState?.onChange?.(defaultState);
|
|
29
|
+
}),
|
|
30
|
+
setState,
|
|
31
|
+
state: columnsState?.value ?? innerState
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
//#endregion
|
|
35
|
+
export { useColumnsState };
|
|
36
|
+
|
|
37
|
+
//# sourceMappingURL=useColumnsState.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useColumnsState.mjs","names":[],"sources":["../../../src/ProTable/hooks/useColumnsState.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { useEventCallback } from '@/hooks/useEventCallback';\n\nimport type { ProColumns, ProTableColumnsState, ProTableColumnsStateMap } from '../type';\nimport { getProColumnKey, readPersistedState, writePersistedState } from '../utils';\n\nexport const useColumnsState = (\n columns: ProColumns<any>[],\n columnsState: ProTableColumnsState | undefined,\n) => {\n const persistKey = columnsState?.persistenceKey;\n const persistType = columnsState?.persistenceType;\n const [defaultState] = useState(() => {\n const map: ProTableColumnsStateMap = {};\n columns.forEach((column, index) => {\n if (column.fixed) map[getProColumnKey(column, index)] = { fixed: column.fixed };\n });\n return { ...map, ...columnsState?.defaultValue };\n });\n const [innerState, setInnerState] = useState<ProTableColumnsStateMap>(\n () => readPersistedState(persistKey, persistType) ?? defaultState,\n );\n\n const setState = useEventCallback((next: ProTableColumnsStateMap) => {\n setInnerState(next);\n writePersistedState(persistKey, persistType, next);\n columnsState?.onChange?.(next);\n });\n const resetState = useEventCallback(() => {\n writePersistedState(persistKey, persistType, undefined);\n setInnerState(defaultState);\n columnsState?.onChange?.(defaultState);\n });\n\n return { resetState, setState, state: columnsState?.value ?? innerState };\n};\n"],"mappings":";;;;AAOA,MAAa,mBACX,SACA,iBACG;CACH,MAAM,aAAa,cAAc;CACjC,MAAM,cAAc,cAAc;CAClC,MAAM,CAAC,gBAAgB,eAAe;EACpC,MAAM,MAA+B,CAAC;EACtC,QAAQ,SAAS,QAAQ,UAAU;GACjC,IAAI,OAAO,OAAO,IAAI,gBAAgB,QAAQ,KAAK,KAAK,EAAE,OAAO,OAAO,MAAM;EAChF,CAAC;EACD,OAAO;GAAE,GAAG;GAAK,GAAG,cAAc;EAAa;CACjD,CAAC;CACD,MAAM,CAAC,YAAY,iBAAiB,eAC5B,mBAAmB,YAAY,WAAW,KAAK,YACvD;CAEA,MAAM,WAAW,kBAAkB,SAAkC;EACnE,cAAc,IAAI;EAClB,oBAAoB,YAAY,aAAa,IAAI;EACjD,cAAc,WAAW,IAAI;CAC/B,CAAC;CAOD,OAAO;EAAE,YANU,uBAAuB;GACxC,oBAAoB,YAAY,aAAa,KAAA,CAAS;GACtD,cAAc,YAAY;GAC1B,cAAc,WAAW,YAAY;EACvC,CAEkB;EAAG;EAAU,OAAO,cAAc,SAAS;CAAW;AAC1E"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { useEffect, useState } from "react";
|
|
2
|
+
//#region src/ProTable/hooks/useDelayedFlag.ts
|
|
3
|
+
const useDelayedFlag = (value, delay) => {
|
|
4
|
+
const [delayed, setDelayed] = useState(value && !delay);
|
|
5
|
+
useEffect(() => {
|
|
6
|
+
if (!value || !delay) {
|
|
7
|
+
setDelayed(value);
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
const timer = setTimeout(() => setDelayed(true), delay);
|
|
11
|
+
return () => clearTimeout(timer);
|
|
12
|
+
}, [value, delay]);
|
|
13
|
+
return delay ? value && delayed : value;
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
export { useDelayedFlag };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=useDelayedFlag.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDelayedFlag.mjs","names":[],"sources":["../../../src/ProTable/hooks/useDelayedFlag.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\nexport const useDelayedFlag = (value: boolean, delay: number | undefined) => {\n const [delayed, setDelayed] = useState(value && !delay);\n useEffect(() => {\n if (!value || !delay) {\n setDelayed(value);\n return;\n }\n const timer = setTimeout(() => setDelayed(true), delay);\n return () => clearTimeout(timer);\n }, [value, delay]);\n return delay ? value && delayed : value;\n};\n"],"mappings":";;AAEA,MAAa,kBAAkB,OAAgB,UAA8B;CAC3E,MAAM,CAAC,SAAS,cAAc,SAAS,SAAS,CAAC,KAAK;CACtD,gBAAgB;EACd,IAAI,CAAC,SAAS,CAAC,OAAO;GACpB,WAAW,KAAK;GAChB;EACF;EACA,MAAM,QAAQ,iBAAiB,WAAW,IAAI,GAAG,KAAK;EACtD,aAAa,aAAa,KAAK;CACjC,GAAG,CAAC,OAAO,KAAK,CAAC;CACjB,OAAO,QAAQ,SAAS,UAAU;AACpC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useEventCallback } from "../../hooks/useEventCallback.mjs";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
//#region src/ProTable/hooks/useDensity.ts
|
|
4
|
+
const useDensity = (size, defaultSize, onSizeChange) => {
|
|
5
|
+
const [innerSize, setInnerSize] = useState(defaultSize ?? "middle");
|
|
6
|
+
const setSize = useEventCallback((next) => {
|
|
7
|
+
setInnerSize(next);
|
|
8
|
+
onSizeChange?.(next);
|
|
9
|
+
});
|
|
10
|
+
return [size ?? innerSize, setSize];
|
|
11
|
+
};
|
|
12
|
+
//#endregion
|
|
13
|
+
export { useDensity };
|
|
14
|
+
|
|
15
|
+
//# sourceMappingURL=useDensity.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDensity.mjs","names":[],"sources":["../../../src/ProTable/hooks/useDensity.ts"],"sourcesContent":["import { useState } from 'react';\n\nimport { useEventCallback } from '@/hooks/useEventCallback';\n\nimport type { ProTableDensity } from '../type';\n\nexport const useDensity = (\n size: ProTableDensity | undefined,\n defaultSize: ProTableDensity | undefined,\n onSizeChange: ((size: ProTableDensity) => void) | undefined,\n) => {\n const [innerSize, setInnerSize] = useState<ProTableDensity>(defaultSize ?? 'middle');\n const setSize = useEventCallback((next: ProTableDensity) => {\n setInnerSize(next);\n onSizeChange?.(next);\n });\n return [size ?? innerSize, setSize] as const;\n};\n"],"mappings":";;;AAMA,MAAa,cACX,MACA,aACA,iBACG;CACH,MAAM,CAAC,WAAW,gBAAgB,SAA0B,eAAe,QAAQ;CACnF,MAAM,UAAU,kBAAkB,SAA0B;EAC1D,aAAa,IAAI;EACjB,eAAe,IAAI;CACrB,CAAC;CACD,OAAO,CAAC,QAAQ,WAAW,OAAO;AACpC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
2
|
+
//#region src/ProTable/hooks/useFetchData.ts
|
|
3
|
+
const useFetchData = (options) => {
|
|
4
|
+
const [data, setData] = useState(options.defaultData ?? []);
|
|
5
|
+
const [loading, setLoading] = useState(false);
|
|
6
|
+
const latest = useRef(options);
|
|
7
|
+
latest.current = options;
|
|
8
|
+
const requestId = useRef(0);
|
|
9
|
+
const [enabled, setEnabled] = useState(!options.manual);
|
|
10
|
+
const [token, setToken] = useState(0);
|
|
11
|
+
const pending = useRef([]);
|
|
12
|
+
const updateLoading = (next) => {
|
|
13
|
+
setLoading(next);
|
|
14
|
+
latest.current.onLoadingChange?.(next);
|
|
15
|
+
};
|
|
16
|
+
const run = useCallback(async () => {
|
|
17
|
+
const opts = latest.current;
|
|
18
|
+
if (!opts.request) return;
|
|
19
|
+
const id = ++requestId.current;
|
|
20
|
+
updateLoading(true);
|
|
21
|
+
try {
|
|
22
|
+
const params = { ...opts.getParams() };
|
|
23
|
+
if (opts.paginated) {
|
|
24
|
+
params.current = opts.pageInfo.current;
|
|
25
|
+
params.pageSize = opts.pageInfo.pageSize;
|
|
26
|
+
}
|
|
27
|
+
const response = await opts.request(params, opts.sort, opts.filter);
|
|
28
|
+
if (id !== requestId.current) return;
|
|
29
|
+
if (response.success === false) return;
|
|
30
|
+
const raw = response.data ?? [];
|
|
31
|
+
const next = opts.postData ? opts.postData(raw) : raw;
|
|
32
|
+
setData(next);
|
|
33
|
+
opts.setTotal(response.total ?? next.length);
|
|
34
|
+
opts.onLoad?.(next);
|
|
35
|
+
opts.onDataSourceChange?.(next);
|
|
36
|
+
} catch (error) {
|
|
37
|
+
if (id !== requestId.current) return;
|
|
38
|
+
if (opts.onRequestError) opts.onRequestError(error);
|
|
39
|
+
else console.error(error);
|
|
40
|
+
} finally {
|
|
41
|
+
if (id === requestId.current) updateLoading(false);
|
|
42
|
+
const resolvers = pending.current;
|
|
43
|
+
pending.current = [];
|
|
44
|
+
resolvers.forEach((resolve) => resolve());
|
|
45
|
+
}
|
|
46
|
+
}, []);
|
|
47
|
+
const { current, pageSize } = options.pageInfo;
|
|
48
|
+
useEffect(() => {
|
|
49
|
+
if (!enabled || !latest.current.request) return;
|
|
50
|
+
const delay = latest.current.debounceTime;
|
|
51
|
+
if (delay <= 0) {
|
|
52
|
+
run();
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const timer = setTimeout(() => void run(), delay);
|
|
56
|
+
return () => clearTimeout(timer);
|
|
57
|
+
}, [
|
|
58
|
+
enabled,
|
|
59
|
+
token,
|
|
60
|
+
options.depsKey,
|
|
61
|
+
current,
|
|
62
|
+
pageSize,
|
|
63
|
+
run
|
|
64
|
+
]);
|
|
65
|
+
useEffect(() => {
|
|
66
|
+
const { polling } = latest.current;
|
|
67
|
+
if (!polling || loading || !enabled) return;
|
|
68
|
+
const interval = typeof polling === "function" ? polling(data) : polling;
|
|
69
|
+
if (!interval) return;
|
|
70
|
+
const timer = setTimeout(() => void run(), Math.max(interval, 2e3));
|
|
71
|
+
return () => clearTimeout(timer);
|
|
72
|
+
}, [
|
|
73
|
+
data,
|
|
74
|
+
loading,
|
|
75
|
+
enabled,
|
|
76
|
+
options.polling,
|
|
77
|
+
run
|
|
78
|
+
]);
|
|
79
|
+
return {
|
|
80
|
+
data,
|
|
81
|
+
loading,
|
|
82
|
+
reload: useCallback(() => new Promise((resolve) => {
|
|
83
|
+
if (!latest.current.request) {
|
|
84
|
+
resolve();
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
pending.current.push(resolve);
|
|
88
|
+
setEnabled(true);
|
|
89
|
+
setToken((value) => value + 1);
|
|
90
|
+
}), []),
|
|
91
|
+
setData
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
//#endregion
|
|
95
|
+
export { useFetchData };
|
|
96
|
+
|
|
97
|
+
//# sourceMappingURL=useFetchData.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFetchData.mjs","names":[],"sources":["../../../src/ProTable/hooks/useFetchData.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from 'react';\n\nimport type { SortOrder } from '@/Table/type';\n\nimport type { ProTablePageInfo, ProTableRequest, ProTableRequestFilter } from '../type';\n\ntype Filter = Record<string, (string | number | boolean)[] | null>;\n\nexport interface UseFetchDataOptions<T> {\n debounceTime: number;\n defaultData?: T[];\n depsKey: string;\n filter: Filter;\n getParams: () => Record<string, any>;\n manual: boolean;\n onDataSourceChange?: (data: T[]) => void;\n onLoad?: (data: T[]) => void;\n onLoadingChange?: (loading: boolean) => void;\n onRequestError?: (error: Error) => void;\n pageInfo: ProTablePageInfo;\n paginated: boolean;\n polling?: number | ((data: T[]) => number);\n postData?: (data: T[]) => T[];\n request?: ProTableRequest<T, any>;\n setTotal: (total: number) => void;\n sort: Record<string, SortOrder>;\n}\n\nexport const useFetchData = <T>(options: UseFetchDataOptions<T>) => {\n const [data, setData] = useState<T[]>(options.defaultData ?? []);\n const [loading, setLoading] = useState(false);\n const latest = useRef(options);\n latest.current = options;\n const requestId = useRef(0);\n const [enabled, setEnabled] = useState(!options.manual);\n const [token, setToken] = useState(0);\n const pending = useRef<(() => void)[]>([]);\n\n const updateLoading = (next: boolean) => {\n setLoading(next);\n latest.current.onLoadingChange?.(next);\n };\n\n const run = useCallback(async () => {\n const opts = latest.current;\n if (!opts.request) return;\n const id = ++requestId.current;\n updateLoading(true);\n try {\n const params: Record<string, any> = { ...opts.getParams() };\n if (opts.paginated) {\n params.current = opts.pageInfo.current;\n params.pageSize = opts.pageInfo.pageSize;\n }\n const response = await opts.request(\n params as any,\n opts.sort,\n opts.filter as ProTableRequestFilter,\n );\n if (id !== requestId.current) return;\n if (response.success === false) {\n // Pro keeps the previous data when the request reports failure.\n return;\n }\n const raw = response.data ?? [];\n const next = opts.postData ? opts.postData(raw) : raw;\n setData(next);\n opts.setTotal(response.total ?? next.length);\n opts.onLoad?.(next);\n opts.onDataSourceChange?.(next);\n } catch (error) {\n if (id !== requestId.current) return;\n if (opts.onRequestError) opts.onRequestError(error as Error);\n else console.error(error);\n } finally {\n if (id === requestId.current) updateLoading(false);\n const resolvers = pending.current;\n pending.current = [];\n resolvers.forEach((resolve) => resolve());\n }\n }, []);\n\n const { current, pageSize } = options.pageInfo;\n useEffect(() => {\n if (!enabled || !latest.current.request) return;\n const delay = latest.current.debounceTime;\n if (delay <= 0) {\n void run();\n return;\n }\n const timer = setTimeout(() => void run(), delay);\n return () => clearTimeout(timer);\n }, [enabled, token, options.depsKey, current, pageSize, run]);\n\n useEffect(() => {\n const { polling } = latest.current;\n if (!polling || loading || !enabled) return;\n const interval = typeof polling === 'function' ? polling(data) : polling;\n if (!interval) return;\n const timer = setTimeout(() => void run(), Math.max(interval, 2000));\n return () => clearTimeout(timer);\n }, [data, loading, enabled, options.polling, run]);\n\n const reload = useCallback(\n () =>\n new Promise<void>((resolve) => {\n if (!latest.current.request) {\n resolve();\n return;\n }\n pending.current.push(resolve);\n setEnabled(true);\n setToken((value) => value + 1);\n }),\n [],\n );\n\n return { data, loading, reload, setData };\n};\n"],"mappings":";;AA4BA,MAAa,gBAAmB,YAAoC;CAClE,MAAM,CAAC,MAAM,WAAW,SAAc,QAAQ,eAAe,CAAC,CAAC;CAC/D,MAAM,CAAC,SAAS,cAAc,SAAS,KAAK;CAC5C,MAAM,SAAS,OAAO,OAAO;CAC7B,OAAO,UAAU;CACjB,MAAM,YAAY,OAAO,CAAC;CAC1B,MAAM,CAAC,SAAS,cAAc,SAAS,CAAC,QAAQ,MAAM;CACtD,MAAM,CAAC,OAAO,YAAY,SAAS,CAAC;CACpC,MAAM,UAAU,OAAuB,CAAC,CAAC;CAEzC,MAAM,iBAAiB,SAAkB;EACvC,WAAW,IAAI;EACf,OAAO,QAAQ,kBAAkB,IAAI;CACvC;CAEA,MAAM,MAAM,YAAY,YAAY;EAClC,MAAM,OAAO,OAAO;EACpB,IAAI,CAAC,KAAK,SAAS;EACnB,MAAM,KAAK,EAAE,UAAU;EACvB,cAAc,IAAI;EAClB,IAAI;GACF,MAAM,SAA8B,EAAE,GAAG,KAAK,UAAU,EAAE;GAC1D,IAAI,KAAK,WAAW;IAClB,OAAO,UAAU,KAAK,SAAS;IAC/B,OAAO,WAAW,KAAK,SAAS;GAClC;GACA,MAAM,WAAW,MAAM,KAAK,QAC1B,QACA,KAAK,MACL,KAAK,MACP;GACA,IAAI,OAAO,UAAU,SAAS;GAC9B,IAAI,SAAS,YAAY,OAEvB;GAEF,MAAM,MAAM,SAAS,QAAQ,CAAC;GAC9B,MAAM,OAAO,KAAK,WAAW,KAAK,SAAS,GAAG,IAAI;GAClD,QAAQ,IAAI;GACZ,KAAK,SAAS,SAAS,SAAS,KAAK,MAAM;GAC3C,KAAK,SAAS,IAAI;GAClB,KAAK,qBAAqB,IAAI;EAChC,SAAS,OAAO;GACd,IAAI,OAAO,UAAU,SAAS;GAC9B,IAAI,KAAK,gBAAgB,KAAK,eAAe,KAAc;QACtD,QAAQ,MAAM,KAAK;EAC1B,UAAU;GACR,IAAI,OAAO,UAAU,SAAS,cAAc,KAAK;GACjD,MAAM,YAAY,QAAQ;GAC1B,QAAQ,UAAU,CAAC;GACnB,UAAU,SAAS,YAAY,QAAQ,CAAC;EAC1C;CACF,GAAG,CAAC,CAAC;CAEL,MAAM,EAAE,SAAS,aAAa,QAAQ;CACtC,gBAAgB;EACd,IAAI,CAAC,WAAW,CAAC,OAAO,QAAQ,SAAS;EACzC,MAAM,QAAQ,OAAO,QAAQ;EAC7B,IAAI,SAAS,GAAG;GACd,IAAS;GACT;EACF;EACA,MAAM,QAAQ,iBAAiB,KAAK,IAAI,GAAG,KAAK;EAChD,aAAa,aAAa,KAAK;CACjC,GAAG;EAAC;EAAS;EAAO,QAAQ;EAAS;EAAS;EAAU;CAAG,CAAC;CAE5D,gBAAgB;EACd,MAAM,EAAE,YAAY,OAAO;EAC3B,IAAI,CAAC,WAAW,WAAW,CAAC,SAAS;EACrC,MAAM,WAAW,OAAO,YAAY,aAAa,QAAQ,IAAI,IAAI;EACjE,IAAI,CAAC,UAAU;EACf,MAAM,QAAQ,iBAAiB,KAAK,IAAI,GAAG,KAAK,IAAI,UAAU,GAAI,CAAC;EACnE,aAAa,aAAa,KAAK;CACjC,GAAG;EAAC;EAAM;EAAS;EAAS,QAAQ;EAAS;CAAG,CAAC;CAgBjD,OAAO;EAAE;EAAM;EAAS,QAdT,kBAEX,IAAI,SAAe,YAAY;GAC7B,IAAI,CAAC,OAAO,QAAQ,SAAS;IAC3B,QAAQ;IACR;GACF;GACA,QAAQ,QAAQ,KAAK,OAAO;GAC5B,WAAW,IAAI;GACf,UAAU,UAAU,QAAQ,CAAC;EAC/B,CAAC,GACH,CAAC,CAG0B;EAAG;CAAQ;AAC1C"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { useEventCallback } from "../../hooks/useEventCallback.mjs";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
//#region src/ProTable/hooks/useFullscreen.ts
|
|
4
|
+
const useFullscreen = (rootRef) => {
|
|
5
|
+
const [fullscreen, setFullscreen] = useState(false);
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
if (typeof document === "undefined") return;
|
|
8
|
+
const sync = () => setFullscreen(document.fullscreenElement === rootRef.current);
|
|
9
|
+
document.addEventListener("fullscreenchange", sync);
|
|
10
|
+
return () => document.removeEventListener("fullscreenchange", sync);
|
|
11
|
+
}, [rootRef]);
|
|
12
|
+
return [fullscreen, useEventCallback(() => {
|
|
13
|
+
const node = rootRef.current;
|
|
14
|
+
if (!node || typeof document === "undefined") return;
|
|
15
|
+
if (document.fullscreenElement) document.exitFullscreen?.();
|
|
16
|
+
else node.requestFullscreen?.();
|
|
17
|
+
})];
|
|
18
|
+
};
|
|
19
|
+
//#endregion
|
|
20
|
+
export { useFullscreen };
|
|
21
|
+
|
|
22
|
+
//# sourceMappingURL=useFullscreen.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFullscreen.mjs","names":[],"sources":["../../../src/ProTable/hooks/useFullscreen.ts"],"sourcesContent":["import { type RefObject, useEffect, useState } from 'react';\n\nimport { useEventCallback } from '@/hooks/useEventCallback';\n\nexport const useFullscreen = (rootRef: RefObject<HTMLDivElement | null>) => {\n const [fullscreen, setFullscreen] = useState(false);\n useEffect(() => {\n if (typeof document === 'undefined') return;\n const sync = () => setFullscreen(document.fullscreenElement === rootRef.current);\n document.addEventListener('fullscreenchange', sync);\n return () => document.removeEventListener('fullscreenchange', sync);\n }, [rootRef]);\n const toggle = useEventCallback(() => {\n const node = rootRef.current;\n if (!node || typeof document === 'undefined') return;\n if (document.fullscreenElement) void document.exitFullscreen?.();\n else void node.requestFullscreen?.();\n });\n return [fullscreen, toggle] as const;\n};\n"],"mappings":";;;AAIA,MAAa,iBAAiB,YAA8C;CAC1E,MAAM,CAAC,YAAY,iBAAiB,SAAS,KAAK;CAClD,gBAAgB;EACd,IAAI,OAAO,aAAa,aAAa;EACrC,MAAM,aAAa,cAAc,SAAS,sBAAsB,QAAQ,OAAO;EAC/E,SAAS,iBAAiB,oBAAoB,IAAI;EAClD,aAAa,SAAS,oBAAoB,oBAAoB,IAAI;CACpE,GAAG,CAAC,OAAO,CAAC;CAOZ,OAAO,CAAC,YANO,uBAAuB;EACpC,MAAM,OAAO,QAAQ;EACrB,IAAI,CAAC,QAAQ,OAAO,aAAa,aAAa;EAC9C,IAAI,SAAS,mBAAmB,SAAc,iBAAiB;OAC1D,KAAU,oBAAoB;CACrC,CACyB,CAAC;AAC5B"}
|