@lobehub/ui 6.0.0-beta.6 → 6.0.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/Accordion/Accordion.mjs +3 -3
- package/es/Accordion/Accordion.mjs.map +1 -1
- package/es/Accordion/atoms.mjs +2 -2
- package/es/Accordion/atoms.mjs.map +1 -1
- package/es/Accordion/style.d.mts +1 -1
- package/es/ActionIcon/ActionIcon.mjs +2 -2
- package/es/ActionIcon/ActionIcon.mjs.map +1 -1
- package/es/Alert/Alert.mjs +5 -5
- package/es/Alert/Alert.mjs.map +1 -1
- package/es/AutoComplete/AutoComplete.mjs +5 -5
- package/es/AutoComplete/AutoComplete.mjs.map +1 -1
- package/es/AutoComplete/style.mjs +2 -2
- package/es/AutoComplete/style.mjs.map +1 -1
- package/es/Avatar/Avatar.mjs +2 -2
- package/es/Avatar/Avatar.mjs.map +1 -1
- package/es/Avatar/AvatarGroup/index.mjs +2 -2
- package/es/Avatar/AvatarGroup/index.mjs.map +1 -1
- package/es/Breadcrumb/Breadcrumb.mjs +2 -2
- package/es/Breadcrumb/Breadcrumb.mjs.map +1 -1
- package/es/Button/Button.mjs +1 -1
- package/es/Button/Button.mjs.map +1 -1
- package/es/Button/style.d.mts +8 -1
- package/es/Button/style.mjs +41 -18
- package/es/Button/style.mjs.map +1 -1
- package/es/Checkbox/Checkbox.mjs +3 -3
- package/es/Checkbox/Checkbox.mjs.map +1 -1
- package/es/CodeDiff/DiffPanel.mjs +4 -4
- package/es/CodeDiff/DiffPanel.mjs.map +1 -1
- package/es/CodeEditor/CodeEditor.mjs +4 -4
- package/es/CodeEditor/CodeEditor.mjs.map +1 -1
- package/es/ColorPicker/ColorInputs.mjs +136 -0
- package/es/ColorPicker/ColorInputs.mjs.map +1 -0
- package/es/ColorPicker/ColorPanel.mjs +145 -0
- package/es/ColorPicker/ColorPanel.mjs.map +1 -0
- package/es/ColorPicker/ColorPicker.mjs +62 -199
- package/es/ColorPicker/ColorPicker.mjs.map +1 -1
- package/es/ColorPicker/SaturationArea.mjs +2 -1
- package/es/ColorPicker/SaturationArea.mjs.map +1 -1
- package/es/ColorPicker/Swatch.mjs +24 -0
- package/es/ColorPicker/Swatch.mjs.map +1 -0
- package/es/ColorPicker/Swatches.mjs +66 -0
- package/es/ColorPicker/Swatches.mjs.map +1 -0
- package/es/ColorPicker/Trigger.mjs +112 -0
- package/es/ColorPicker/Trigger.mjs.map +1 -0
- package/es/ColorPicker/color.mjs +25 -1
- package/es/ColorPicker/color.mjs.map +1 -1
- package/es/ColorPicker/recent.mjs +25 -0
- package/es/ColorPicker/recent.mjs.map +1 -0
- package/es/ColorPicker/style.mjs +269 -70
- package/es/ColorPicker/style.mjs.map +1 -1
- package/es/ColorPicker/type.d.mts +15 -0
- package/es/ColorSwatches/type.d.mts +2 -2
- package/es/ContextMenu/ContextMenuHost.mjs +2 -2
- package/es/ContextMenu/ContextMenuHost.mjs.map +1 -1
- package/es/ContextMenu/ContextMenuTrigger.mjs +2 -2
- package/es/ContextMenu/ContextMenuTrigger.mjs.map +1 -1
- package/es/ContextMenu/renderItems.mjs +3 -3
- package/es/ContextMenu/renderItems.mjs.map +1 -1
- package/es/DatePicker/DatePicker.d.mts +7 -2
- package/es/DatePicker/DatePicker.mjs +13 -85
- package/es/DatePicker/DatePicker.mjs.map +1 -1
- package/es/DatePicker/DateRangePicker.d.mts +3 -2
- package/es/DatePicker/DateRangePicker.mjs +3 -125
- package/es/DatePicker/DateRangePicker.mjs.map +1 -1
- package/es/DatePicker/PurePanel.mjs +65 -0
- package/es/DatePicker/PurePanel.mjs.map +1 -0
- package/es/DatePicker/RangePicker.mjs +115 -0
- package/es/DatePicker/RangePicker.mjs.map +1 -0
- package/es/DatePicker/SinglePicker.mjs +132 -0
- package/es/DatePicker/SinglePicker.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Popup/Footer.mjs +57 -0
- package/es/DatePicker/core/PickerInput/Popup/Footer.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs +57 -0
- package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs +29 -0
- package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Popup/index.mjs +133 -0
- package/es/DatePicker/core/PickerInput/Popup/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/RangePicker.d.mts +51 -0
- package/es/DatePicker/core/PickerInput/RangePicker.mjs +343 -0
- package/es/DatePicker/core/PickerInput/RangePicker.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs +27 -0
- package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/Icon.mjs +19 -0
- package/es/DatePicker/core/PickerInput/Selector/Icon.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/Input.mjs +237 -0
- package/es/DatePicker/core/PickerInput/Selector/Input.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs +70 -0
- package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/RangeSelector.d.mts +8 -0
- package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs +136 -0
- package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs +28 -0
- package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs +69 -0
- package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs +111 -0
- package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs +18 -0
- package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs +108 -0
- package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs +11 -0
- package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/util.mjs +20 -0
- package/es/DatePicker/core/PickerInput/Selector/util.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/SinglePicker.d.mts +55 -0
- package/es/DatePicker/core/PickerInput/SinglePicker.mjs +318 -0
- package/es/DatePicker/core/PickerInput/SinglePicker.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/context.mjs +7 -0
- package/es/DatePicker/core/PickerInput/context.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs +30 -0
- package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs +37 -0
- package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs +18 -0
- package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs +20 -0
- package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs +31 -0
- package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs +98 -0
- package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs +41 -0
- package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs +34 -0
- package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs +35 -0
- package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs +9 -0
- package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs +36 -0
- package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs +27 -0
- package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs +18 -0
- package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs +19 -0
- package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs +20 -0
- package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs +24 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs +107 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs +144 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs +219 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs +11 -0
- package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs +131 -0
- package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs +35 -0
- package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs +84 -0
- package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs +73 -0
- package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/PanelBody.mjs +95 -0
- package/es/DatePicker/core/PickerPanel/PanelBody.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/PanelHeader.mjs +130 -0
- package/es/DatePicker/core/PickerPanel/PanelHeader.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs +64 -0
- package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs +108 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs +44 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs +157 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs +100 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs +71 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs +62 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs +200 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs +25 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs +31 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs +34 -0
- package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs +92 -0
- package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/context.mjs +48 -0
- package/es/DatePicker/core/PickerPanel/context.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/index.d.mts +1 -0
- package/es/DatePicker/core/PickerPanel/index.mjs +175 -0
- package/es/DatePicker/core/PickerPanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPopup.mjs +118 -0
- package/es/DatePicker/core/PickerPopup.mjs.map +1 -0
- package/es/DatePicker/core/generate/dayjs.mjs +109 -0
- package/es/DatePicker/core/generate/dayjs.mjs.map +1 -0
- package/es/DatePicker/core/generate/index.d.mts +40 -0
- package/es/DatePicker/core/hooks/react.mjs +58 -0
- package/es/DatePicker/core/hooks/react.mjs.map +1 -0
- package/es/DatePicker/core/hooks/useLocale.mjs +51 -0
- package/es/DatePicker/core/hooks/useLocale.mjs.map +1 -0
- package/es/DatePicker/core/hooks/useSemantic.mjs +20 -0
- package/es/DatePicker/core/hooks/useSemantic.mjs.map +1 -0
- package/es/DatePicker/core/hooks/useSyncState.mjs +25 -0
- package/es/DatePicker/core/hooks/useSyncState.mjs.map +1 -0
- package/es/DatePicker/core/hooks/useTimeConfig.mjs +173 -0
- package/es/DatePicker/core/hooks/useTimeConfig.mjs.map +1 -0
- package/es/DatePicker/core/hooks/useTimeInfo.mjs +110 -0
- package/es/DatePicker/core/hooks/useTimeInfo.mjs.map +1 -0
- package/es/DatePicker/core/hooks/useToggleDates.mjs +21 -0
- package/es/DatePicker/core/hooks/useToggleDates.mjs.map +1 -0
- package/es/DatePicker/core/index.d.mts +5 -0
- package/es/DatePicker/core/index.mjs +9 -0
- package/es/DatePicker/core/index.mjs.map +1 -0
- package/es/DatePicker/core/interface.d.mts +325 -0
- package/es/DatePicker/core/locale/common.mjs +11 -0
- package/es/DatePicker/core/locale/common.mjs.map +1 -0
- package/es/DatePicker/core/locale/en_US.mjs +39 -0
- package/es/DatePicker/core/locale/en_US.mjs.map +1 -0
- package/es/DatePicker/core/utils/common.mjs +73 -0
- package/es/DatePicker/core/utils/common.mjs.map +1 -0
- package/es/DatePicker/core/utils/dateUtil.mjs +106 -0
- package/es/DatePicker/core/utils/dateUtil.mjs.map +1 -0
- package/es/DatePicker/core/utils/miscUtil.mjs +46 -0
- package/es/DatePicker/core/utils/miscUtil.mjs.map +1 -0
- package/es/DatePicker/core/utils/uiUtil.mjs +9 -0
- package/es/DatePicker/core/utils/uiUtil.mjs.map +1 -0
- package/es/DatePicker/generateConfig.mjs +12 -0
- package/es/DatePicker/generateConfig.mjs.map +1 -0
- package/es/DatePicker/generatePicker.d.mts +12 -0
- package/es/DatePicker/generatePicker.mjs +22 -0
- package/es/DatePicker/generatePicker.mjs.map +1 -0
- package/es/DatePicker/index.d.mts +6 -3
- package/es/DatePicker/index.mjs +3 -1
- package/es/DatePicker/locale.d.mts +15 -0
- package/es/DatePicker/locale.mjs +143 -0
- package/es/DatePicker/locale.mjs.map +1 -0
- package/es/DatePicker/semantic.mjs +29 -0
- package/es/DatePicker/semantic.mjs.map +1 -0
- package/es/DatePicker/style.mjs +3 -155
- package/es/DatePicker/style.mjs.map +1 -1
- package/es/DatePicker/type.d.mts +268 -27
- package/es/DatePicker/usePanelKeyboard.mjs +230 -0
- package/es/DatePicker/usePanelKeyboard.mjs.map +1 -0
- package/es/DatePicker/usePickerShared.mjs +106 -0
- package/es/DatePicker/usePickerShared.mjs.map +1 -0
- package/es/DatePicker/usePresetActive.mjs +48 -0
- package/es/DatePicker/usePresetActive.mjs.map +1 -0
- package/es/DraggablePanel/atoms.mjs +5 -5
- package/es/DraggablePanel/atoms.mjs.map +1 -1
- package/es/DraggableSideNav/DraggableSideNav.mjs +3 -3
- package/es/DraggableSideNav/DraggableSideNav.mjs.map +1 -1
- package/es/Drawer/Drawer.mjs +2 -2
- package/es/Drawer/Drawer.mjs.map +1 -1
- package/es/Drawer/atoms.mjs +6 -6
- package/es/Drawer/atoms.mjs.map +1 -1
- package/es/DropdownMenu/atoms.mjs +22 -22
- package/es/DropdownMenu/atoms.mjs.map +1 -1
- package/es/DropdownMenu/sharedStyle.mjs +2 -2
- package/es/DropdownMenu/sharedStyle.mjs.map +1 -1
- package/es/EditableText/EditableText.mjs +1 -1
- package/es/EditorSlashMenu/atoms.mjs +12 -12
- package/es/EditorSlashMenu/atoms.mjs.map +1 -1
- package/es/EmojiPicker/EmojiPicker.mjs +7 -7
- package/es/EmojiPicker/EmojiPicker.mjs.map +1 -1
- package/es/EmojiPicker/loadEmojiData.mjs +6 -0
- package/es/EmojiPicker/loadEmojiData.mjs.map +1 -0
- package/es/FloatingPanel/FloatingPanel.mjs +2 -2
- package/es/FloatingPanel/FloatingPanel.mjs.map +1 -1
- package/es/FormKit/List.mjs +2 -2
- package/es/FormKit/List.mjs.map +1 -1
- package/es/Highlighter/FullFeatured.mjs +2 -2
- package/es/Highlighter/FullFeatured.mjs.map +1 -1
- package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs +2 -2
- package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs.map +1 -1
- package/es/Highlighter/SyntaxHighlighter/index.mjs +4 -4
- package/es/Highlighter/SyntaxHighlighter/index.mjs.map +1 -1
- package/es/Highlighter/style.mjs +2 -2
- package/es/Highlighter/style.mjs.map +1 -1
- package/es/HtmlPreview/HtmlPreview.mjs +2 -2
- package/es/HtmlPreview/HtmlPreview.mjs.map +1 -1
- package/es/Icon/Icon.mjs +2 -2
- package/es/Icon/Icon.mjs.map +1 -1
- package/es/List/ListRow.mjs +3 -3
- package/es/List/ListRow.mjs.map +1 -1
- package/es/Markdown/Markdown.mjs +2 -2
- package/es/Markdown/Markdown.mjs.map +1 -1
- package/es/Markdown/Typography.mjs +2 -2
- package/es/Markdown/Typography.mjs.map +1 -1
- package/es/Mermaid/FullFeatured.mjs +2 -2
- package/es/Mermaid/FullFeatured.mjs.map +1 -1
- package/es/Mermaid/SyntaxMermaid/index.mjs +4 -4
- package/es/Mermaid/SyntaxMermaid/index.mjs.map +1 -1
- package/es/Modal/atoms.mjs +6 -6
- package/es/Modal/atoms.mjs.map +1 -1
- package/es/Pagination/Pagination.mjs +181 -41
- package/es/Pagination/Pagination.mjs.map +1 -1
- package/es/Pagination/helpers.mjs +3 -3
- package/es/Pagination/helpers.mjs.map +1 -1
- package/es/Pagination/index.d.mts +2 -2
- package/es/Pagination/marker.stylex.mjs +9 -0
- package/es/Pagination/marker.stylex.mjs.map +1 -0
- package/es/Pagination/style.mjs +74 -4
- package/es/Pagination/style.mjs.map +1 -1
- package/es/Pagination/type.d.mts +41 -3
- package/es/Popover/PopoverInGroup.mjs +2 -2
- package/es/Popover/PopoverInGroup.mjs.map +1 -1
- package/es/Popover/atoms.mjs +6 -6
- package/es/Popover/atoms.mjs.map +1 -1
- package/es/ProTable/ProTable.d.mts +11 -0
- package/es/ProTable/ProTable.mjs +208 -0
- package/es/ProTable/ProTable.mjs.map +1 -0
- package/es/ProTable/hooks/useColumnRequest.mjs +55 -0
- package/es/ProTable/hooks/useColumnRequest.mjs.map +1 -0
- package/es/ProTable/hooks/useColumnsState.mjs +37 -0
- package/es/ProTable/hooks/useColumnsState.mjs.map +1 -0
- package/es/ProTable/hooks/useDelayedFlag.mjs +18 -0
- package/es/ProTable/hooks/useDelayedFlag.mjs.map +1 -0
- package/es/ProTable/hooks/useDensity.mjs +15 -0
- package/es/ProTable/hooks/useDensity.mjs.map +1 -0
- package/es/ProTable/hooks/useFetchData.mjs +97 -0
- package/es/ProTable/hooks/useFetchData.mjs.map +1 -0
- package/es/ProTable/hooks/useFullscreen.mjs +22 -0
- package/es/ProTable/hooks/useFullscreen.mjs.map +1 -0
- package/es/ProTable/hooks/usePageInfo.mjs +35 -0
- package/es/ProTable/hooks/usePageInfo.mjs.map +1 -0
- package/es/ProTable/hooks/useProColumns.mjs +123 -0
- package/es/ProTable/hooks/useProColumns.mjs.map +1 -0
- package/es/ProTable/hooks/useProLoading.mjs +19 -0
- package/es/ProTable/hooks/useProLoading.mjs.map +1 -0
- package/es/ProTable/hooks/useProLocale.mjs +22 -0
- package/es/ProTable/hooks/useProLocale.mjs.map +1 -0
- package/es/ProTable/hooks/useProRequest.mjs +137 -0
- package/es/ProTable/hooks/useProRequest.mjs.map +1 -0
- package/es/ProTable/hooks/useRowCache.mjs +11 -0
- package/es/ProTable/hooks/useRowCache.mjs.map +1 -0
- package/es/ProTable/hooks/useSearchForm.mjs +141 -0
- package/es/ProTable/hooks/useSearchForm.mjs.map +1 -0
- package/es/ProTable/hooks/useTableBindings.mjs +39 -0
- package/es/ProTable/hooks/useTableBindings.mjs.map +1 -0
- package/es/ProTable/hooks/useTableSelection.mjs +14 -0
- package/es/ProTable/hooks/useTableSelection.mjs.map +1 -0
- package/es/ProTable/index.d.mts +4 -0
- package/es/ProTable/index.d.ts +1 -0
- package/es/ProTable/index.js +1 -0
- package/es/ProTable/index.mjs +3 -0
- package/es/ProTable/locale.d.mts +15 -0
- package/es/ProTable/locale.mjs +66 -0
- package/es/ProTable/locale.mjs.map +1 -0
- package/es/ProTable/parts/ColumnSetting.mjs +155 -0
- package/es/ProTable/parts/ColumnSetting.mjs.map +1 -0
- package/es/ProTable/parts/FieldControl.mjs +117 -0
- package/es/ProTable/parts/FieldControl.mjs.map +1 -0
- package/es/ProTable/parts/KeywordInput.mjs +19 -0
- package/es/ProTable/parts/KeywordInput.mjs.map +1 -0
- package/es/ProTable/parts/LightFilter.mjs +70 -0
- package/es/ProTable/parts/LightFilter.mjs.map +1 -0
- package/es/ProTable/parts/OptionPopover.mjs +17 -0
- package/es/ProTable/parts/OptionPopover.mjs.map +1 -0
- package/es/ProTable/parts/SearchForm.mjs +180 -0
- package/es/ProTable/parts/SearchForm.mjs.map +1 -0
- package/es/ProTable/parts/SearchSection.mjs +33 -0
- package/es/ProTable/parts/SearchSection.mjs.map +1 -0
- package/es/ProTable/parts/TableAlert.mjs +38 -0
- package/es/ProTable/parts/TableAlert.mjs.map +1 -0
- package/es/ProTable/parts/Toolbar.mjs +50 -0
- package/es/ProTable/parts/Toolbar.mjs.map +1 -0
- package/es/ProTable/parts/ToolbarOptions.mjs +103 -0
- package/es/ProTable/parts/ToolbarOptions.mjs.map +1 -0
- package/es/ProTable/parts/renderValue.mjs +118 -0
- package/es/ProTable/parts/renderValue.mjs.map +1 -0
- package/es/ProTable/style.mjs +278 -0
- package/es/ProTable/style.mjs.map +1 -0
- package/es/ProTable/type.d.mts +397 -0
- package/es/ProTable/utils.mjs +152 -0
- package/es/ProTable/utils.mjs.map +1 -0
- package/es/Radio/Radio.mjs +3 -3
- package/es/Radio/Radio.mjs.map +1 -1
- package/es/ScrollArea/atoms.mjs +4 -4
- package/es/ScrollArea/atoms.mjs.map +1 -1
- package/es/Segmented/Segmented.mjs +3 -3
- package/es/Segmented/Segmented.mjs.map +1 -1
- package/es/Segmented/atoms.mjs +2 -2
- package/es/Segmented/atoms.mjs.map +1 -1
- package/es/Select/Select.mjs +22 -13
- package/es/Select/Select.mjs.map +1 -1
- package/es/Select/atoms.mjs +4 -4
- package/es/Select/atoms.mjs.map +1 -1
- package/es/Select/helpers.mjs +8 -1
- package/es/Select/helpers.mjs.map +1 -1
- package/es/Select/hooks.mjs +8 -4
- package/es/Select/hooks.mjs.map +1 -1
- package/es/Select/renderOptions.mjs +2 -2
- package/es/Select/renderOptions.mjs.map +1 -1
- package/es/Select/type.d.mts +7 -0
- package/es/Switch/Switch.mjs +2 -2
- package/es/Switch/Switch.mjs.map +1 -1
- package/es/Switch/atoms.mjs +2 -2
- package/es/Switch/atoms.mjs.map +1 -1
- package/es/Table/Column.d.mts +8 -0
- package/es/Table/Column.mjs +6 -0
- package/es/Table/Column.mjs.map +1 -0
- package/es/Table/ColumnGroup.d.mts +11 -0
- package/es/Table/ColumnGroup.mjs +6 -0
- package/es/Table/ColumnGroup.mjs.map +1 -0
- package/es/Table/Table.d.mts +16 -2
- package/es/Table/Table.mjs +149 -118
- package/es/Table/Table.mjs.map +1 -1
- package/es/Table/atoms/cells.d.mts +42 -0
- package/es/Table/atoms/cells.mjs +72 -0
- package/es/Table/atoms/cells.mjs.map +1 -0
- package/es/Table/atoms/index.d.mts +3 -0
- package/es/Table/atoms/layout.d.mts +44 -0
- package/es/Table/atoms/layout.mjs +62 -0
- package/es/Table/atoms/layout.mjs.map +1 -0
- package/es/Table/constants.mjs +16 -0
- package/es/Table/constants.mjs.map +1 -0
- package/es/Table/engine/fixed.d.mts +1 -0
- package/es/Table/engine/fixed.mjs +53 -0
- package/es/Table/engine/fixed.mjs.map +1 -0
- package/es/Table/engine/types.d.mts +1 -0
- package/es/Table/engine/useTableEngine.mjs +180 -0
- package/es/Table/engine/useTableEngine.mjs.map +1 -0
- package/es/Table/index.d.mts +7 -2
- package/es/Table/index.mjs +4 -1
- package/es/Table/internal.d.mts +3 -0
- package/es/Table/pipeline/columnUtils.d.mts +5 -0
- package/es/Table/pipeline/columnUtils.mjs +58 -0
- package/es/Table/pipeline/columnUtils.mjs.map +1 -0
- package/es/Table/pipeline/convertChildrenToColumns.mjs +24 -0
- package/es/Table/pipeline/convertChildrenToColumns.mjs.map +1 -0
- package/es/Table/pipeline/normalizeColumns.mjs +140 -0
- package/es/Table/pipeline/normalizeColumns.mjs.map +1 -0
- package/es/Table/pipeline/selectionUtils.d.mts +9 -0
- package/es/Table/pipeline/selectionUtils.mjs +115 -0
- package/es/Table/pipeline/selectionUtils.mjs.map +1 -0
- package/es/Table/pipeline/useBreakpoint.mjs +36 -0
- package/es/Table/pipeline/useBreakpoint.mjs.map +1 -0
- package/es/Table/pipeline/useExpandable.mjs +45 -0
- package/es/Table/pipeline/useExpandable.mjs.map +1 -0
- package/es/Table/pipeline/useFilter.mjs +52 -0
- package/es/Table/pipeline/useFilter.mjs.map +1 -0
- package/es/Table/pipeline/useSelection.mjs +302 -0
- package/es/Table/pipeline/useSelection.mjs.map +1 -0
- package/es/Table/pipeline/useSorter.mjs +146 -0
- package/es/Table/pipeline/useSorter.mjs.map +1 -0
- package/es/Table/pipeline/useTableLocale.mjs +30 -0
- package/es/Table/pipeline/useTableLocale.mjs.map +1 -0
- package/es/Table/pipeline/useTableState.mjs +118 -0
- package/es/Table/pipeline/useTableState.mjs.map +1 -0
- package/es/Table/pipeline/useVirtualLayout.mjs +80 -0
- package/es/Table/pipeline/useVirtualLayout.mjs.map +1 -0
- package/es/Table/render/Body.mjs +150 -0
- package/es/Table/render/Body.mjs.map +1 -0
- package/es/Table/render/BodyCell.mjs +87 -0
- package/es/Table/render/BodyCell.mjs.map +1 -0
- package/es/Table/render/CellShell.mjs +84 -0
- package/es/Table/render/CellShell.mjs.map +1 -0
- package/es/Table/render/ExpandIcon.mjs +28 -0
- package/es/Table/render/ExpandIcon.mjs.map +1 -0
- package/es/Table/render/FilterDropdown.mjs +139 -0
- package/es/Table/render/FilterDropdown.mjs.map +1 -0
- package/es/Table/render/FilterPanel.mjs +152 -0
- package/es/Table/render/FilterPanel.mjs.map +1 -0
- package/es/Table/render/FixedFrost.mjs +113 -0
- package/es/Table/render/FixedFrost.mjs.map +1 -0
- package/es/Table/render/FixedHolder.mjs +51 -0
- package/es/Table/render/FixedHolder.mjs.map +1 -0
- package/es/Table/render/Header.mjs +184 -0
- package/es/Table/render/Header.mjs.map +1 -0
- package/es/Table/render/LoadingSkeleton.mjs +78 -0
- package/es/Table/render/LoadingSkeleton.mjs.map +1 -0
- package/es/Table/render/PaginationBar.mjs +71 -0
- package/es/Table/render/PaginationBar.mjs.map +1 -0
- package/es/Table/render/SelectionCells.mjs +111 -0
- package/es/Table/render/SelectionCells.mjs.map +1 -0
- package/es/Table/render/StickyScrollBar.mjs +99 -0
- package/es/Table/render/StickyScrollBar.mjs.map +1 -0
- package/es/Table/render/Summary.d.mts +16 -0
- package/es/Table/render/Summary.mjs +58 -0
- package/es/Table/render/Summary.mjs.map +1 -0
- package/es/Table/render/TableView.mjs +215 -0
- package/es/Table/render/TableView.mjs.map +1 -0
- package/es/Table/render/VirtualBody.mjs +101 -0
- package/es/Table/render/VirtualBody.mjs.map +1 -0
- package/es/Table/render/context.mjs +15 -0
- package/es/Table/render/context.mjs.map +1 -0
- package/es/Table/render/filterUtils.mjs +22 -0
- package/es/Table/render/filterUtils.mjs.map +1 -0
- package/es/Table/render/tableHelpers.mjs +27 -0
- package/es/Table/render/tableHelpers.mjs.map +1 -0
- package/es/Table/render/useColGroups.mjs +23 -0
- package/es/Table/render/useColGroups.mjs.map +1 -0
- package/es/Table/render/useScrollSync.mjs +104 -0
- package/es/Table/render/useScrollSync.mjs.map +1 -0
- package/es/Table/render/useViewContexts.mjs +134 -0
- package/es/Table/render/useViewContexts.mjs.map +1 -0
- package/es/Table/semantic.mjs +45 -0
- package/es/Table/semantic.mjs.map +1 -0
- package/es/Table/store/createTableStore.d.mts +1 -0
- package/es/Table/store/createTableStore.mjs +40 -0
- package/es/Table/store/createTableStore.mjs.map +1 -0
- package/es/Table/store/hooks.mjs +24 -0
- package/es/Table/store/hooks.mjs.map +1 -0
- package/es/Table/style.mjs +175 -90
- package/es/Table/style.mjs.map +1 -1
- package/es/Table/type.d.mts +467 -37
- package/es/Table/useTableController.mjs +293 -0
- package/es/Table/useTableController.mjs.map +1 -0
- package/es/Tabs/Tabs.mjs +2 -2
- package/es/Tabs/Tabs.mjs.map +1 -1
- package/es/Tabs/atoms.mjs +2 -2
- package/es/Tabs/atoms.mjs.map +1 -1
- package/es/Tabs/style.d.mts +1 -1
- package/es/Tag/Tag.mjs +2 -2
- package/es/Tag/Tag.mjs.map +1 -1
- package/es/Text/Text.mjs +2 -2
- package/es/Text/Text.mjs.map +1 -1
- package/es/Text/style.d.mts +3 -3
- package/es/Text/style.mjs +3 -3
- package/es/Text/style.mjs.map +1 -1
- package/es/ToggleGroup/ToggleGroup.mjs +3 -3
- package/es/ToggleGroup/ToggleGroup.mjs.map +1 -1
- package/es/ToggleGroup/atoms.mjs +2 -2
- package/es/ToggleGroup/atoms.mjs.map +1 -1
- package/es/Tooltip/TooltipGroup.mjs +3 -3
- package/es/Tooltip/TooltipGroup.mjs.map +1 -1
- package/es/Tooltip/TooltipStandalone.mjs +3 -3
- package/es/Tooltip/TooltipStandalone.mjs.map +1 -1
- package/es/Tree/Tree.mjs +2 -2
- package/es/Tree/Tree.mjs.map +1 -1
- package/es/Tree/TreeNode.mjs +2 -2
- package/es/Tree/TreeNode.mjs.map +1 -1
- package/es/Video/Video.mjs +2 -2
- package/es/Video/Video.mjs.map +1 -1
- package/es/awesome/Features/FeatureItem.mjs +2 -2
- package/es/awesome/Features/FeatureItem.mjs.map +1 -1
- package/es/awesome/Hero/Hero.mjs +3 -3
- package/es/awesome/Hero/Hero.mjs.map +1 -1
- package/es/awesome/InstallBanner/InstallBanner.mjs +2 -2
- package/es/awesome/InstallBanner/InstallBanner.mjs.map +1 -1
- package/es/awesome/LandingHero/LandingHero.mjs +3 -3
- package/es/awesome/LandingHero/LandingHero.mjs.map +1 -1
- package/es/awesome/LogoMarquee/LogoMarquee.mjs +2 -2
- package/es/awesome/LogoMarquee/LogoMarquee.mjs.map +1 -1
- package/es/awesome/TypewriterEffect/TypewriterEffect.mjs +4 -4
- package/es/awesome/TypewriterEffect/TypewriterEffect.mjs.map +1 -1
- package/es/awesome/landingActions.mjs +2 -2
- package/es/awesome/landingActions.mjs.map +1 -1
- package/es/chat/ChatItem/ChatItem.mjs +2 -2
- package/es/chat/ChatItem/ChatItem.mjs.map +1 -1
- package/es/chat/EditableMessage/EditableMessage.mjs +3 -3
- package/es/chat/EditableMessage/EditableMessage.mjs.map +1 -1
- package/es/chat/EditableMessageList/EditableMessageList.mjs +1 -1
- package/es/chat/MessageInput/MessageInput.mjs +3 -3
- package/es/chat/MessageInput/MessageInput.mjs.map +1 -1
- package/es/dashboard/AuthLayout/AuthLayout.mjs +8 -4
- package/es/dashboard/AuthLayout/AuthLayout.mjs.map +1 -1
- package/es/dashboard/AuthLayout/style.mjs +14 -3
- package/es/dashboard/AuthLayout/style.mjs.map +1 -1
- package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs +2 -2
- package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs.map +1 -1
- package/es/dashboard/AuthTools/AuthThemeSwitch.mjs +2 -2
- package/es/dashboard/AuthTools/AuthThemeSwitch.mjs.map +1 -1
- package/es/dashboard/ConsoleNav/ConsoleNav.mjs +3 -3
- package/es/dashboard/ConsoleNav/ConsoleNav.mjs.map +1 -1
- package/es/dashboard/ConsoleNav/style.mjs +2 -2
- package/es/dashboard/ConsoleNav/style.mjs.map +1 -1
- package/es/dashboard/ConsoleShell/style.mjs +1 -1
- package/es/dashboard/ConsoleShell/style.mjs.map +1 -1
- package/es/dashboard/FilterSidebar/FilterSidebar.mjs +1 -1
- package/es/dashboard/FilterSidebar/style.mjs +2 -2
- package/es/dashboard/FilterSidebar/style.mjs.map +1 -1
- package/es/dashboard/FilterStrip/style.mjs +1 -1
- package/es/dashboard/FilterStrip/style.mjs.map +1 -1
- package/es/dashboard/MetricStrip/MetricCell.mjs +25 -14
- package/es/dashboard/MetricStrip/MetricCell.mjs.map +1 -1
- package/es/dashboard/MetricStrip/style.mjs +14 -1
- package/es/dashboard/MetricStrip/style.mjs.map +1 -1
- package/es/dashboard/MetricStrip/type.d.mts +2 -0
- package/es/dashboard/PageSkeleton/style.mjs +2 -1
- package/es/dashboard/PageSkeleton/style.mjs.map +1 -1
- package/es/dashboard/StatCard/StatCard.d.mts +1 -1
- package/es/dashboard/StatCard/StatCard.mjs +2 -1
- package/es/dashboard/StatCard/StatCard.mjs.map +1 -1
- package/es/dashboard/StatCard/type.d.mts +2 -0
- package/es/dashboard/Surface/Surface.mjs +3 -4
- package/es/dashboard/Surface/Surface.mjs.map +1 -1
- package/es/dashboard/Surface/link.mjs +1 -1
- package/es/dashboard/Surface/link.mjs.map +1 -1
- package/es/dashboard/Surface/style.mjs +15 -14
- package/es/dashboard/Surface/style.mjs.map +1 -1
- package/es/dashboard/index.mjs +2 -2
- package/es/eslint/noBaseUiSubpath.mjs +2 -1
- package/es/eslint/noBaseUiSubpath.mjs.map +1 -1
- package/es/i18n/resources/en/colorPicker.d.mts +5 -0
- package/es/i18n/resources/en/colorPicker.mjs +5 -0
- package/es/i18n/resources/en/colorPicker.mjs.map +1 -1
- package/es/i18n/resources/en/datePicker.d.mts +54 -0
- package/es/i18n/resources/en/datePicker.mjs +55 -1
- package/es/i18n/resources/en/datePicker.mjs.map +1 -1
- package/es/i18n/resources/en/index.d.mts +4 -3
- package/es/i18n/resources/en/index.mjs +3 -1
- package/es/i18n/resources/en/index.mjs.map +1 -1
- package/es/i18n/resources/en/table.d.mts +23 -0
- package/es/i18n/resources/en/table.mjs +24 -0
- package/es/i18n/resources/en/table.mjs.map +1 -0
- package/es/i18n/resources/zhCn/colorPicker.d.mts +5 -0
- package/es/i18n/resources/zhCn/colorPicker.mjs +5 -0
- package/es/i18n/resources/zhCn/colorPicker.mjs.map +1 -1
- package/es/i18n/resources/zhCn/datePicker.d.mts +54 -0
- package/es/i18n/resources/zhCn/datePicker.mjs +55 -1
- package/es/i18n/resources/zhCn/datePicker.mjs.map +1 -1
- package/es/i18n/resources/zhCn/index.d.mts +4 -3
- package/es/i18n/resources/zhCn/index.mjs +4 -2
- package/es/i18n/resources/zhCn/index.mjs.map +1 -1
- package/es/i18n/resources/zhCn/table.d.mts +23 -0
- package/es/i18n/resources/zhCn/table.mjs +24 -0
- package/es/i18n/resources/zhCn/table.mjs.map +1 -0
- package/es/i18n/types.d.mts +3 -2
- package/es/index.d.mts +15 -7
- package/es/index.mjs +14 -9
- package/es/internal/overflow/OverflowList.mjs +71 -0
- package/es/internal/overflow/OverflowList.mjs.map +1 -0
- package/es/mdx/Callout/index.mjs +2 -2
- package/es/mdx/Callout/index.mjs.map +1 -1
- package/es/mdx/Cards/Card.mjs +2 -2
- package/es/mdx/Cards/Card.mjs.map +1 -1
- package/es/mdx/Cards/index.mjs +2 -2
- package/es/mdx/Cards/index.mjs.map +1 -1
- package/es/mdx/Mdx/index.mjs +2 -2
- package/es/mdx/Mdx/index.mjs.map +1 -1
- package/es/mdx/Steps/index.mjs +2 -2
- package/es/mdx/Steps/index.mjs.map +1 -1
- package/es/mdx/mdxComponents/Pre.mjs +5 -5
- package/es/mdx/mdxComponents/Pre.mjs.map +1 -1
- package/es/storybook/StoryBook/style.mjs +2 -0
- package/es/storybook/StoryBook/style.mjs.map +1 -1
- package/es/style.css +2966 -957
- package/es/styles/createGlobalStyle.mjs +1 -1
- package/es/styles/index.d.mts +3 -2
- package/es/styles/index.mjs +5 -4
- package/es/styles/stylex/props.mjs +2 -2
- package/es/styles/stylex/props.mjs.map +1 -1
- package/es/styles/theme/createLobeToken.d.mts +3 -2
- package/es/styles/theme/createLobeToken.mjs.map +1 -1
- package/es/styles/theme/customPrimary.d.mts +7 -0
- package/es/styles/theme/customPrimary.mjs +66 -0
- package/es/styles/theme/customPrimary.mjs.map +1 -0
- package/es/styles/theme/scope.d.mts +4 -3
- package/es/styles/theme/scope.mjs +30 -8
- package/es/styles/theme/scope.mjs.map +1 -1
- package/es/styles/theme/themeCss.d.mts +2 -0
- package/es/styles/theme/themeCss.mjs +24 -2
- package/es/styles/theme/themeCss.mjs.map +1 -1
- package/es/styles/theme/token/primary.mjs +6 -2
- package/es/styles/theme/token/primary.mjs.map +1 -1
- package/es/theme.css +8 -0
- package/package.json +6 -1
- package/es/DatePicker/CalendarPanel.mjs +0 -189
- package/es/DatePicker/CalendarPanel.mjs.map +0 -1
- package/es/DatePicker/PickerShell.mjs +0 -43
- package/es/DatePicker/PickerShell.mjs.map +0 -1
- package/es/DatePicker/calendar.d.mts +0 -4
- package/es/DatePicker/calendar.mjs +0 -46
- package/es/DatePicker/calendar.mjs.map +0 -1
- package/es/Table/FilterMenu.mjs +0 -45
- package/es/Table/FilterMenu.mjs.map +0 -1
- package/es/Table/TableBody.mjs +0 -67
- package/es/Table/TableBody.mjs.map +0 -1
- package/es/Table/TableHead.mjs +0 -58
- package/es/Table/TableHead.mjs.map +0 -1
- package/es/Table/features.mjs +0 -12
- package/es/Table/features.mjs.map +0 -1
- package/es/Table/fixedOffsets.mjs +0 -29
- package/es/Table/fixedOffsets.mjs.map +0 -1
- package/es/Table/marker.stylex.mjs +0 -9
- package/es/Table/marker.stylex.mjs.map +0 -1
- package/es/Table/toColumnDefs.mjs +0 -26
- package/es/Table/toColumnDefs.mjs.map +0 -1
- package/es/Table/useTableState.mjs +0 -99
- package/es/Table/useTableState.mjs.map +0 -1
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { PREFIX_CLS } from "./style.mjs";
|
|
3
|
+
import { useEffect, useRef, useState } from "react";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
//#region src/DatePicker/PurePanel.tsx
|
|
6
|
+
/**
|
|
7
|
+
* antd `genPurePanel`: the picker with its popup always open and rendered in flow below
|
|
8
|
+
* the input — for docs and visual tests, not for apps. The holder reserves the popup's
|
|
9
|
+
* height, the popup does not flip or shift, and it has no motion or stacking z-index.
|
|
10
|
+
*/
|
|
11
|
+
const genPurePanel = (Component) => {
|
|
12
|
+
const PurePanel = (props) => {
|
|
13
|
+
const { open: openProp, style } = props;
|
|
14
|
+
const holderRef = useRef(null);
|
|
15
|
+
const [popupSize, setPopupSize] = useState({
|
|
16
|
+
height: 0,
|
|
17
|
+
width: 0
|
|
18
|
+
});
|
|
19
|
+
const [mounted, setMounted] = useState(false);
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
setMounted(true);
|
|
22
|
+
if (typeof ResizeObserver === "undefined") return;
|
|
23
|
+
const resizeObserver = new ResizeObserver(([entry]) => {
|
|
24
|
+
const element = entry.target;
|
|
25
|
+
setPopupSize({
|
|
26
|
+
height: element.offsetHeight + 8,
|
|
27
|
+
width: element.offsetWidth
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
const interval = setInterval(() => {
|
|
31
|
+
const popup = holderRef.current?.querySelector(`.${PREFIX_CLS}-dropdown`);
|
|
32
|
+
if (!popup) return;
|
|
33
|
+
clearInterval(interval);
|
|
34
|
+
resizeObserver.observe(popup);
|
|
35
|
+
}, 10);
|
|
36
|
+
return () => {
|
|
37
|
+
clearInterval(interval);
|
|
38
|
+
resizeObserver.disconnect();
|
|
39
|
+
};
|
|
40
|
+
}, []);
|
|
41
|
+
return /* @__PURE__ */ jsx("div", {
|
|
42
|
+
ref: holderRef,
|
|
43
|
+
style: {
|
|
44
|
+
minWidth: popupSize.width,
|
|
45
|
+
paddingBottom: popupSize.height,
|
|
46
|
+
position: "relative"
|
|
47
|
+
},
|
|
48
|
+
children: /* @__PURE__ */ jsx(Component, {
|
|
49
|
+
...props,
|
|
50
|
+
inlinePopup: true,
|
|
51
|
+
getPopupContainer: () => holderRef.current,
|
|
52
|
+
open: openProp ?? mounted,
|
|
53
|
+
style: {
|
|
54
|
+
...style,
|
|
55
|
+
margin: 0
|
|
56
|
+
}
|
|
57
|
+
})
|
|
58
|
+
});
|
|
59
|
+
};
|
|
60
|
+
return PurePanel;
|
|
61
|
+
};
|
|
62
|
+
//#endregion
|
|
63
|
+
export { genPurePanel as default };
|
|
64
|
+
|
|
65
|
+
//# sourceMappingURL=PurePanel.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PurePanel.mjs","names":[],"sources":["../../src/DatePicker/PurePanel.tsx"],"sourcesContent":["'use client';\n\nimport { type ComponentType, type CSSProperties, useEffect, useRef, useState } from 'react';\n\nimport { PREFIX_CLS } from './style';\n\ninterface PurePanelProps {\n open?: boolean;\n style?: CSSProperties;\n}\n\n/**\n * antd `genPurePanel`: the picker with its popup always open and rendered in flow below\n * the input — for docs and visual tests, not for apps. The holder reserves the popup's\n * height, the popup does not flip or shift, and it has no motion or stacking z-index.\n */\nconst genPurePanel = <P extends object>(Component: ComponentType<P>) => {\n const PurePanel = (props: P & PurePanelProps) => {\n const { open: openProp, style } = props;\n const holderRef = useRef<HTMLDivElement>(null);\n const [popupSize, setPopupSize] = useState({ height: 0, width: 0 });\n const [mounted, setMounted] = useState(false);\n\n // Opened after mount, as in antd: the popup needs the holder to render into.\n useEffect(() => {\n setMounted(true);\n if (typeof ResizeObserver === 'undefined') return;\n const resizeObserver = new ResizeObserver(([entry]) => {\n const element = entry.target as HTMLElement;\n setPopupSize({ height: element.offsetHeight + 8, width: element.offsetWidth });\n });\n const interval = setInterval(() => {\n const popup = holderRef.current?.querySelector(`.${PREFIX_CLS}-dropdown`);\n if (!popup) return;\n clearInterval(interval);\n resizeObserver.observe(popup);\n }, 10);\n return () => {\n clearInterval(interval);\n resizeObserver.disconnect();\n };\n }, []);\n\n return (\n <div\n ref={holderRef}\n style={{ minWidth: popupSize.width, paddingBottom: popupSize.height, position: 'relative' }}\n >\n <Component\n {...props}\n inlinePopup\n getPopupContainer={() => holderRef.current!}\n open={openProp ?? mounted}\n style={{ ...style, margin: 0 }}\n />\n </div>\n );\n };\n return PurePanel;\n};\n\nexport default genPurePanel;\n"],"mappings":";;;;;;;;;;AAgBA,MAAM,gBAAkC,cAAgC;CACtE,MAAM,aAAa,UAA8B;EAC/C,MAAM,EAAE,MAAM,UAAU,UAAU;EAClC,MAAM,YAAY,OAAuB,IAAI;EAC7C,MAAM,CAAC,WAAW,gBAAgB,SAAS;GAAE,QAAQ;GAAG,OAAO;EAAE,CAAC;EAClE,MAAM,CAAC,SAAS,cAAc,SAAS,KAAK;EAG5C,gBAAgB;GACd,WAAW,IAAI;GACf,IAAI,OAAO,mBAAmB,aAAa;GAC3C,MAAM,iBAAiB,IAAI,gBAAgB,CAAC,WAAW;IACrD,MAAM,UAAU,MAAM;IACtB,aAAa;KAAE,QAAQ,QAAQ,eAAe;KAAG,OAAO,QAAQ;IAAY,CAAC;GAC/E,CAAC;GACD,MAAM,WAAW,kBAAkB;IACjC,MAAM,QAAQ,UAAU,SAAS,cAAc,IAAI,WAAW,UAAU;IACxE,IAAI,CAAC,OAAO;IACZ,cAAc,QAAQ;IACtB,eAAe,QAAQ,KAAK;GAC9B,GAAG,EAAE;GACL,aAAa;IACX,cAAc,QAAQ;IACtB,eAAe,WAAW;GAC5B;EACF,GAAG,CAAC,CAAC;EAEL,OACE,oBAAC,OAAD;GACE,KAAK;GACL,OAAO;IAAE,UAAU,UAAU;IAAO,eAAe,UAAU;IAAQ,UAAU;GAAW;GAE1F,UAAA,oBAAC,WAAD;IACE,GAAI;IACJ,aAAA;IACA,yBAAyB,UAAU;IACnC,MAAM,YAAY;IAClB,OAAO;KAAE,GAAG;KAAO,QAAQ;IAAE;GAC9B,CAAA;EACE,CAAA;CAET;CACA,OAAO;AACT"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import Icon from "../Icon/Icon.mjs";
|
|
3
|
+
import RefRangePicker from "./core/PickerInput/RangePicker.mjs";
|
|
4
|
+
import { usePickerLocale } from "./locale.mjs";
|
|
5
|
+
import { usePanelKeyboard } from "./usePanelKeyboard.mjs";
|
|
6
|
+
import { usePickerShared } from "./usePickerShared.mjs";
|
|
7
|
+
import { usePresetActive } from "./usePresetActive.mjs";
|
|
8
|
+
import { jsx } from "react/jsx-runtime";
|
|
9
|
+
import clsx$1 from "clsx";
|
|
10
|
+
import { ArrowRight } from "lucide-react";
|
|
11
|
+
//#region src/DatePicker/RangePicker.tsx
|
|
12
|
+
const generateRangePicker = (generateConfig) => {
|
|
13
|
+
const RangePicker = (props) => {
|
|
14
|
+
const { allowClear, allowEmpty, cellRender, changeOnBlur, className, clearIcon, classNames, components, dateRender, defaultOpen, defaultPickerValue, defaultValue, dropdownClassName, direction, disabled, disabledDate, getPopupContainer, id, locale: localeOverride, maxDate, minDate, mode, monthCellRender, needConfirm, nextIcon, onBlur, onKeyDown, onCalendarChange, onChange, onFocus, onOk, onOpenChange, onPanelChange, onPickerValueChange, open, order, picker = "date", pickerValue, placeholder, popupClassName, popupStyle, prevIcon, renderExtraFooter, rootClassName, separator, shadow, size, status, styles, suffixIcon, superNextIcon, superPrevIcon, value, variant, ...rest } = props;
|
|
15
|
+
const { locale, rangePlaceholder } = usePickerLocale(localeOverride);
|
|
16
|
+
const keyboard = usePanelKeyboard({
|
|
17
|
+
cellRender,
|
|
18
|
+
dateRender,
|
|
19
|
+
defaultOpen,
|
|
20
|
+
defaultPickerValue,
|
|
21
|
+
defaultValue,
|
|
22
|
+
direction,
|
|
23
|
+
generateConfig,
|
|
24
|
+
mode,
|
|
25
|
+
monthCellRender,
|
|
26
|
+
onChange,
|
|
27
|
+
onFocus,
|
|
28
|
+
onOpenChange,
|
|
29
|
+
onPanelChange,
|
|
30
|
+
onPickerValueChange,
|
|
31
|
+
open,
|
|
32
|
+
picker,
|
|
33
|
+
pickerValue,
|
|
34
|
+
range: true,
|
|
35
|
+
value
|
|
36
|
+
});
|
|
37
|
+
const shared = usePickerShared({
|
|
38
|
+
allowClear,
|
|
39
|
+
changeOnBlur,
|
|
40
|
+
className,
|
|
41
|
+
clearIcon,
|
|
42
|
+
classNames,
|
|
43
|
+
components,
|
|
44
|
+
defaultOpen,
|
|
45
|
+
dropdownClassName,
|
|
46
|
+
generateConfig,
|
|
47
|
+
getPopupContainer,
|
|
48
|
+
maxDate,
|
|
49
|
+
minDate,
|
|
50
|
+
needConfirm,
|
|
51
|
+
nextIcon,
|
|
52
|
+
onKeyDown,
|
|
53
|
+
onOpenChange: keyboard.onOpenChange,
|
|
54
|
+
open,
|
|
55
|
+
picker,
|
|
56
|
+
popupClassName,
|
|
57
|
+
popupStyle,
|
|
58
|
+
prevIcon,
|
|
59
|
+
rootClassName: clsx$1(keyboard.scopeClassName, rootClassName),
|
|
60
|
+
semanticProps: props,
|
|
61
|
+
shadow,
|
|
62
|
+
size,
|
|
63
|
+
status,
|
|
64
|
+
styles,
|
|
65
|
+
suffixIcon,
|
|
66
|
+
superNextIcon,
|
|
67
|
+
superPrevIcon,
|
|
68
|
+
variant
|
|
69
|
+
});
|
|
70
|
+
const presetActive = usePresetActive(rest.presets, value, defaultValue);
|
|
71
|
+
return /* @__PURE__ */ jsx(RefRangePicker, {
|
|
72
|
+
...rest,
|
|
73
|
+
...shared,
|
|
74
|
+
allowEmpty,
|
|
75
|
+
cellRender: keyboard.cellRender,
|
|
76
|
+
dateRender,
|
|
77
|
+
defaultPickerValue,
|
|
78
|
+
defaultValue,
|
|
79
|
+
direction,
|
|
80
|
+
disabled,
|
|
81
|
+
disabledDate,
|
|
82
|
+
id,
|
|
83
|
+
locale: locale.lang,
|
|
84
|
+
mode,
|
|
85
|
+
monthCellRender,
|
|
86
|
+
order,
|
|
87
|
+
picker,
|
|
88
|
+
pickerValue: keyboard.pickerValue,
|
|
89
|
+
placeholder: placeholder ?? rangePlaceholder(picker),
|
|
90
|
+
presets: presetActive.presets,
|
|
91
|
+
renderExtraFooter,
|
|
92
|
+
separator: separator ?? /* @__PURE__ */ jsx(Icon, {
|
|
93
|
+
icon: ArrowRight,
|
|
94
|
+
size: 14
|
|
95
|
+
}),
|
|
96
|
+
value,
|
|
97
|
+
onBlur,
|
|
98
|
+
onCalendarChange,
|
|
99
|
+
onFocus: keyboard.onFocus,
|
|
100
|
+
onOk,
|
|
101
|
+
onPanelChange: keyboard.onPanelChange,
|
|
102
|
+
onPickerValueChange: keyboard.onPickerValueChange,
|
|
103
|
+
onChange: (...args) => {
|
|
104
|
+
presetActive.track(args[0]);
|
|
105
|
+
keyboard.onChange(...args);
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
RangePicker.displayName = "RangePicker";
|
|
110
|
+
return RangePicker;
|
|
111
|
+
};
|
|
112
|
+
//#endregion
|
|
113
|
+
export { generateRangePicker as default };
|
|
114
|
+
|
|
115
|
+
//# sourceMappingURL=RangePicker.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RangePicker.mjs","names":["clsx","RcRangePicker"],"sources":["../../src/DatePicker/RangePicker.tsx"],"sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { ArrowRight } from 'lucide-react';\n\nimport Icon from '@/Icon';\n\nimport { RangePicker as RcRangePicker } from './core';\nimport type { GenerateConfig } from './core/generate';\nimport { usePickerLocale } from './locale';\nimport type { DateRangePickerProps, RangePickerComponent } from './type';\nimport { usePanelKeyboard } from './usePanelKeyboard';\nimport { usePickerShared } from './usePickerShared';\nimport { usePresetActive } from './usePresetActive';\n\nconst generateRangePicker = <DateType extends object>(generateConfig: GenerateConfig<DateType>) => {\n const RangePicker = (props: DateRangePickerProps<DateType>) => {\n const {\n allowClear,\n allowEmpty,\n cellRender,\n changeOnBlur,\n className,\n clearIcon,\n classNames,\n components,\n dateRender,\n defaultOpen,\n defaultPickerValue,\n defaultValue,\n dropdownClassName,\n direction,\n disabled,\n disabledDate,\n getPopupContainer,\n id,\n locale: localeOverride,\n maxDate,\n minDate,\n mode,\n monthCellRender,\n needConfirm,\n nextIcon,\n onBlur,\n onKeyDown,\n onCalendarChange,\n onChange,\n onFocus,\n onOk,\n onOpenChange,\n onPanelChange,\n onPickerValueChange,\n open,\n order,\n picker = 'date',\n pickerValue,\n placeholder,\n popupClassName,\n popupStyle,\n prevIcon,\n renderExtraFooter,\n rootClassName,\n separator,\n shadow,\n size,\n status,\n styles,\n suffixIcon,\n superNextIcon,\n superPrevIcon,\n value,\n variant,\n ...rest\n } = props;\n const { locale, rangePlaceholder } = usePickerLocale(localeOverride);\n const keyboard = usePanelKeyboard({\n cellRender,\n dateRender,\n defaultOpen,\n defaultPickerValue,\n defaultValue,\n direction,\n generateConfig,\n mode,\n monthCellRender,\n onChange,\n onFocus,\n onOpenChange,\n onPanelChange,\n onPickerValueChange,\n open,\n picker,\n pickerValue,\n range: true,\n value,\n });\n const shared = usePickerShared({\n allowClear,\n changeOnBlur,\n className,\n clearIcon,\n classNames,\n components,\n defaultOpen,\n dropdownClassName,\n generateConfig,\n getPopupContainer,\n maxDate,\n minDate,\n needConfirm,\n nextIcon,\n onKeyDown,\n onOpenChange: keyboard.onOpenChange,\n open,\n picker,\n popupClassName,\n popupStyle,\n prevIcon,\n rootClassName: clsx(keyboard.scopeClassName, rootClassName),\n semanticProps: props,\n shadow,\n size,\n status,\n styles,\n suffixIcon,\n superNextIcon,\n superPrevIcon,\n variant,\n });\n\n const presetActive = usePresetActive((rest as any).presets, value, defaultValue);\n\n return (\n <RcRangePicker<DateType>\n {...rest}\n {...shared}\n allowEmpty={allowEmpty}\n cellRender={keyboard.cellRender}\n dateRender={dateRender}\n defaultPickerValue={defaultPickerValue as any}\n defaultValue={defaultValue as any}\n direction={direction}\n disabled={disabled}\n disabledDate={disabledDate}\n id={id}\n locale={locale.lang}\n mode={mode as any}\n monthCellRender={monthCellRender}\n order={order}\n picker={picker}\n pickerValue={keyboard.pickerValue}\n placeholder={placeholder ?? rangePlaceholder(picker)}\n presets={presetActive.presets as any}\n renderExtraFooter={renderExtraFooter}\n separator={separator ?? <Icon icon={ArrowRight} size={14} />}\n value={value as any}\n onBlur={onBlur as any}\n onCalendarChange={onCalendarChange as any}\n onFocus={keyboard.onFocus}\n onOk={onOk as any}\n onPanelChange={keyboard.onPanelChange}\n onPickerValueChange={keyboard.onPickerValueChange}\n onChange={(...args: any[]) => {\n presetActive.track(args[0]);\n (keyboard.onChange as any)(...args);\n }}\n />\n );\n };\n RangePicker.displayName = 'RangePicker';\n return RangePicker as RangePickerComponent<DateType>;\n};\n\nexport default generateRangePicker;\n"],"mappings":";;;;;;;;;;;AAeA,MAAM,uBAAgD,mBAA6C;CACjG,MAAM,eAAe,UAA0C;EAC7D,MAAM,EACJ,YACA,YACA,YACA,cACA,WACA,WACA,YACA,YACA,YACA,aACA,oBACA,cACA,mBACA,WACA,UACA,cACA,mBACA,IACA,QAAQ,gBACR,SACA,SACA,MACA,iBACA,aACA,UACA,QACA,WACA,kBACA,UACA,SACA,MACA,cACA,eACA,qBACA,MACA,OACA,SAAS,QACT,aACA,aACA,gBACA,YACA,UACA,mBACA,eACA,WACA,QACA,MACA,QACA,QACA,YACA,eACA,eACA,OACA,SACA,GAAG,SACD;EACJ,MAAM,EAAE,QAAQ,qBAAqB,gBAAgB,cAAc;EACnE,MAAM,WAAW,iBAAiB;GAChC;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,OAAO;GACP;EACF,CAAC;EACD,MAAM,SAAS,gBAAgB;GAC7B;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA,cAAc,SAAS;GACvB;GACA;GACA;GACA;GACA;GACA,eAAeA,OAAK,SAAS,gBAAgB,aAAa;GAC1D,eAAe;GACf;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAAC;EAED,MAAM,eAAe,gBAAiB,KAAa,SAAS,OAAO,YAAY;EAE/E,OACE,oBAACC,gBAAD;GACE,GAAI;GACJ,GAAI;GACQ;GACZ,YAAY,SAAS;GACT;GACQ;GACN;GACH;GACD;GACI;GACV;GACJ,QAAQ,OAAO;GACT;GACW;GACV;GACC;GACR,aAAa,SAAS;GACtB,aAAa,eAAe,iBAAiB,MAAM;GACnD,SAAS,aAAa;GACH;GACnB,WAAW,aAAa,oBAAC,MAAD;IAAM,MAAM;IAAY,MAAM;GAAK,CAAA;GACpD;GACC;GACU;GAClB,SAAS,SAAS;GACZ;GACN,eAAe,SAAS;GACxB,qBAAqB,SAAS;GAC9B,WAAW,GAAG,SAAgB;IAC5B,aAAa,MAAM,KAAK,EAAE;IAC1B,SAAU,SAAiB,GAAG,IAAI;GACpC;EACD,CAAA;CAEL;CACA,YAAY,cAAc;CAC1B,OAAO;AACT"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import Icon from "../Icon/Icon.mjs";
|
|
3
|
+
import core_default from "./core/index.mjs";
|
|
4
|
+
import { usePickerLocale } from "./locale.mjs";
|
|
5
|
+
import { PREFIX_CLS } from "./style.mjs";
|
|
6
|
+
import { usePanelKeyboard } from "./usePanelKeyboard.mjs";
|
|
7
|
+
import { usePickerShared, withDefault } from "./usePickerShared.mjs";
|
|
8
|
+
import { usePresetActive } from "./usePresetActive.mjs";
|
|
9
|
+
import { jsx } from "react/jsx-runtime";
|
|
10
|
+
import clsx$1 from "clsx";
|
|
11
|
+
import { X } from "lucide-react";
|
|
12
|
+
//#region src/DatePicker/SinglePicker.tsx
|
|
13
|
+
const defaultRemoveIcon = /* @__PURE__ */ jsx(Icon, {
|
|
14
|
+
icon: X,
|
|
15
|
+
size: 10,
|
|
16
|
+
style: { strokeWidth: 3 }
|
|
17
|
+
});
|
|
18
|
+
const generateSinglePicker = (generateConfig) => {
|
|
19
|
+
const getPicker = (presetPicker, displayName = "DatePicker") => {
|
|
20
|
+
const Picker = (props) => {
|
|
21
|
+
const { allowClear, cellRender, changeOnBlur, className, clearIcon, classNames, components, dateRender, defaultOpen, defaultPickerValue, defaultValue, dropdownClassName, direction, getPopupContainer, locale: localeOverride, maxDate, minDate, mode, monthCellRender, multiple, needConfirm, nextIcon, onKeyDown, onCalendarChange, onChange, onFocus, onOk, onOpenChange, onPanelChange, onPickerValueChange, open, picker: pickerProp, pickerValue, placeholder, popupClassName, popupStyle, prevIcon, ref, removeIcon, renderExtraFooter, rootClassName, shadow, size, status, styles, suffixIcon, superNextIcon, superPrevIcon, value, variant, ...rest } = props;
|
|
22
|
+
const picker = presetPicker ?? pickerProp ?? "date";
|
|
23
|
+
const { locale, placeholder: defaultPlaceholder } = usePickerLocale(localeOverride);
|
|
24
|
+
const keyboard = usePanelKeyboard({
|
|
25
|
+
cellRender,
|
|
26
|
+
dateRender,
|
|
27
|
+
defaultOpen,
|
|
28
|
+
defaultPickerValue,
|
|
29
|
+
defaultValue,
|
|
30
|
+
direction,
|
|
31
|
+
generateConfig,
|
|
32
|
+
mode,
|
|
33
|
+
monthCellRender,
|
|
34
|
+
onChange,
|
|
35
|
+
onFocus,
|
|
36
|
+
onOpenChange,
|
|
37
|
+
onPanelChange,
|
|
38
|
+
onPickerValueChange,
|
|
39
|
+
open,
|
|
40
|
+
picker,
|
|
41
|
+
pickerValue,
|
|
42
|
+
value
|
|
43
|
+
});
|
|
44
|
+
const shared = usePickerShared({
|
|
45
|
+
allowClear,
|
|
46
|
+
changeOnBlur,
|
|
47
|
+
className,
|
|
48
|
+
clearIcon,
|
|
49
|
+
classNames,
|
|
50
|
+
components,
|
|
51
|
+
defaultOpen,
|
|
52
|
+
dropdownClassName,
|
|
53
|
+
generateConfig,
|
|
54
|
+
getPopupContainer,
|
|
55
|
+
maxDate,
|
|
56
|
+
minDate,
|
|
57
|
+
needConfirm,
|
|
58
|
+
nextIcon,
|
|
59
|
+
onKeyDown,
|
|
60
|
+
onOpenChange: keyboard.onOpenChange,
|
|
61
|
+
open,
|
|
62
|
+
picker,
|
|
63
|
+
popupClassName,
|
|
64
|
+
popupStyle,
|
|
65
|
+
prevIcon,
|
|
66
|
+
rootClassName: clsx$1(keyboard.scopeClassName, rootClassName),
|
|
67
|
+
semanticProps: props,
|
|
68
|
+
shadow,
|
|
69
|
+
size,
|
|
70
|
+
status,
|
|
71
|
+
styles,
|
|
72
|
+
suffixIcon,
|
|
73
|
+
superNextIcon,
|
|
74
|
+
superPrevIcon,
|
|
75
|
+
variant
|
|
76
|
+
});
|
|
77
|
+
const presetActive = usePresetActive(rest.presets, multiple ? void 0 : value, multiple ? void 0 : defaultValue);
|
|
78
|
+
return /* @__PURE__ */ jsx(core_default, {
|
|
79
|
+
...rest,
|
|
80
|
+
...shared,
|
|
81
|
+
presets: presetActive.presets,
|
|
82
|
+
cellRender: keyboard.cellRender,
|
|
83
|
+
dateRender,
|
|
84
|
+
defaultPickerValue,
|
|
85
|
+
defaultValue: defaultValue ?? void 0,
|
|
86
|
+
direction,
|
|
87
|
+
locale: locale.lang,
|
|
88
|
+
mode,
|
|
89
|
+
monthCellRender,
|
|
90
|
+
multiple,
|
|
91
|
+
picker,
|
|
92
|
+
pickerValue: keyboard.pickerValue,
|
|
93
|
+
placeholder: placeholder ?? defaultPlaceholder(picker),
|
|
94
|
+
ref,
|
|
95
|
+
removeIcon: withDefault(removeIcon, defaultRemoveIcon),
|
|
96
|
+
renderExtraFooter,
|
|
97
|
+
showNow: rest.showNow ?? rest.showToday ?? false,
|
|
98
|
+
value,
|
|
99
|
+
classNames: multiple ? {
|
|
100
|
+
...shared.classNames,
|
|
101
|
+
popup: {
|
|
102
|
+
...shared.classNames.popup,
|
|
103
|
+
root: clsx$1(shared.classNames.popup.root, `${PREFIX_CLS}-dropdown-multiple`)
|
|
104
|
+
}
|
|
105
|
+
} : shared.classNames,
|
|
106
|
+
onCalendarChange,
|
|
107
|
+
onFocus: keyboard.onFocus,
|
|
108
|
+
onOk,
|
|
109
|
+
onPanelChange: keyboard.onPanelChange,
|
|
110
|
+
onPickerValueChange: keyboard.onPickerValueChange,
|
|
111
|
+
onChange: (...args) => {
|
|
112
|
+
presetActive.track(args[0]);
|
|
113
|
+
keyboard.onChange(...args);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
Picker.displayName = displayName;
|
|
118
|
+
return Picker;
|
|
119
|
+
};
|
|
120
|
+
return {
|
|
121
|
+
DatePicker: getPicker(),
|
|
122
|
+
MonthPicker: getPicker("month", "MonthPicker"),
|
|
123
|
+
QuarterPicker: getPicker("quarter", "QuarterPicker"),
|
|
124
|
+
TimePicker: getPicker("time", "TimePicker"),
|
|
125
|
+
WeekPicker: getPicker("week", "WeekPicker"),
|
|
126
|
+
YearPicker: getPicker("year", "YearPicker")
|
|
127
|
+
};
|
|
128
|
+
};
|
|
129
|
+
//#endregion
|
|
130
|
+
export { generateSinglePicker as default };
|
|
131
|
+
|
|
132
|
+
//# sourceMappingURL=SinglePicker.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SinglePicker.mjs","names":["clsx","RcPicker"],"sources":["../../src/DatePicker/SinglePicker.tsx"],"sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { X } from 'lucide-react';\n\nimport Icon from '@/Icon';\n\nimport RcPicker from './core';\nimport type { GenerateConfig } from './core/generate';\nimport type { PickerMode } from './core/interface';\nimport { usePickerLocale } from './locale';\nimport { PREFIX_CLS } from './style';\nimport type { GeneratedDatePicker, PickerProps, SinglePickerComponent } from './type';\nimport { usePanelKeyboard } from './usePanelKeyboard';\nimport { usePickerShared, withDefault } from './usePickerShared';\nimport { usePresetActive } from './usePresetActive';\n\nconst defaultRemoveIcon = <Icon icon={X} size={10} style={{ strokeWidth: 3 }} />;\n\nconst generateSinglePicker = <DateType extends object>(\n generateConfig: GenerateConfig<DateType>,\n) => {\n const getPicker = (presetPicker?: PickerMode, displayName = 'DatePicker') => {\n const Picker = (props: PickerProps<DateType, any>) => {\n const {\n allowClear,\n cellRender,\n changeOnBlur,\n className,\n clearIcon,\n classNames,\n components,\n dateRender,\n defaultOpen,\n defaultPickerValue,\n defaultValue,\n dropdownClassName,\n direction,\n getPopupContainer,\n locale: localeOverride,\n maxDate,\n minDate,\n mode,\n monthCellRender,\n multiple,\n needConfirm,\n nextIcon,\n onKeyDown,\n onCalendarChange,\n onChange,\n onFocus,\n onOk,\n onOpenChange,\n onPanelChange,\n onPickerValueChange,\n open,\n picker: pickerProp,\n pickerValue,\n placeholder,\n popupClassName,\n popupStyle,\n prevIcon,\n ref,\n removeIcon,\n renderExtraFooter,\n rootClassName,\n shadow,\n size,\n status,\n styles,\n suffixIcon,\n superNextIcon,\n superPrevIcon,\n value,\n variant,\n ...rest\n } = props;\n const picker = presetPicker ?? pickerProp ?? 'date';\n const { locale, placeholder: defaultPlaceholder } = usePickerLocale(localeOverride);\n const keyboard = usePanelKeyboard({\n cellRender,\n dateRender,\n defaultOpen,\n defaultPickerValue,\n defaultValue,\n direction,\n generateConfig,\n mode,\n monthCellRender,\n onChange,\n onFocus,\n onOpenChange,\n onPanelChange,\n onPickerValueChange,\n open,\n picker,\n pickerValue,\n value,\n });\n const shared = usePickerShared({\n allowClear,\n changeOnBlur,\n className,\n clearIcon,\n classNames,\n components,\n defaultOpen,\n dropdownClassName,\n generateConfig,\n getPopupContainer,\n maxDate,\n minDate,\n needConfirm,\n nextIcon,\n onKeyDown,\n onOpenChange: keyboard.onOpenChange,\n open,\n picker,\n popupClassName,\n popupStyle,\n prevIcon,\n rootClassName: clsx(keyboard.scopeClassName, rootClassName),\n semanticProps: props,\n shadow,\n size,\n status,\n styles,\n suffixIcon,\n superNextIcon,\n superPrevIcon,\n variant,\n });\n\n const presetActive = usePresetActive(\n (rest as any).presets,\n multiple ? undefined : value,\n multiple ? undefined : defaultValue,\n );\n\n return (\n <RcPicker<DateType>\n {...rest}\n {...shared}\n presets={presetActive.presets as any}\n // No footer row by default: Today / Now only when asked for (showNow or the\n // deprecated showToday); showTime + needConfirm still shows OK.\n cellRender={keyboard.cellRender}\n dateRender={dateRender}\n defaultPickerValue={defaultPickerValue as any}\n defaultValue={defaultValue ?? undefined}\n direction={direction}\n locale={locale.lang}\n mode={mode as any}\n monthCellRender={monthCellRender}\n multiple={multiple}\n picker={picker}\n pickerValue={keyboard.pickerValue}\n placeholder={placeholder ?? defaultPlaceholder(picker)}\n ref={ref}\n removeIcon={withDefault(removeIcon, defaultRemoveIcon)}\n renderExtraFooter={renderExtraFooter}\n showNow={(rest as any).showNow ?? (rest as any).showToday ?? false}\n value={value as any}\n classNames={\n multiple\n ? {\n ...shared.classNames,\n popup: {\n ...shared.classNames.popup,\n root: clsx(shared.classNames.popup.root, `${PREFIX_CLS}-dropdown-multiple`),\n },\n }\n : shared.classNames\n }\n onCalendarChange={onCalendarChange as any}\n onFocus={keyboard.onFocus}\n onOk={onOk as any}\n onPanelChange={keyboard.onPanelChange}\n onPickerValueChange={keyboard.onPickerValueChange}\n onChange={(...args: any[]) => {\n presetActive.track(args[0]);\n (keyboard.onChange as any)(...args);\n }}\n />\n );\n };\n Picker.displayName = displayName;\n return Picker as SinglePickerComponent<DateType, any>;\n };\n\n return {\n DatePicker: getPicker() as GeneratedDatePicker<DateType>,\n MonthPicker: getPicker('month', 'MonthPicker'),\n QuarterPicker: getPicker('quarter', 'QuarterPicker'),\n TimePicker: getPicker('time', 'TimePicker'),\n WeekPicker: getPicker('week', 'WeekPicker'),\n YearPicker: getPicker('year', 'YearPicker'),\n };\n};\n\nexport default generateSinglePicker;\n"],"mappings":";;;;;;;;;;;;AAiBA,MAAM,oBAAoB,oBAAC,MAAD;CAAM,MAAM;CAAG,MAAM;CAAI,OAAO,EAAE,aAAa,EAAE;AAAI,CAAA;AAE/E,MAAM,wBACJ,mBACG;CACH,MAAM,aAAa,cAA2B,cAAc,iBAAiB;EAC3E,MAAM,UAAU,UAAsC;GACpD,MAAM,EACJ,YACA,YACA,cACA,WACA,WACA,YACA,YACA,YACA,aACA,oBACA,cACA,mBACA,WACA,mBACA,QAAQ,gBACR,SACA,SACA,MACA,iBACA,UACA,aACA,UACA,WACA,kBACA,UACA,SACA,MACA,cACA,eACA,qBACA,MACA,QAAQ,YACR,aACA,aACA,gBACA,YACA,UACA,KACA,YACA,mBACA,eACA,QACA,MACA,QACA,QACA,YACA,eACA,eACA,OACA,SACA,GAAG,SACD;GACJ,MAAM,SAAS,gBAAgB,cAAc;GAC7C,MAAM,EAAE,QAAQ,aAAa,uBAAuB,gBAAgB,cAAc;GAClF,MAAM,WAAW,iBAAiB;IAChC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF,CAAC;GACD,MAAM,SAAS,gBAAgB;IAC7B;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,cAAc,SAAS;IACvB;IACA;IACA;IACA;IACA;IACA,eAAeA,OAAK,SAAS,gBAAgB,aAAa;IAC1D,eAAe;IACf;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF,CAAC;GAED,MAAM,eAAe,gBAClB,KAAa,SACd,WAAW,KAAA,IAAY,OACvB,WAAW,KAAA,IAAY,YACzB;GAEA,OACE,oBAACC,cAAD;IACE,GAAI;IACJ,GAAI;IACJ,SAAS,aAAa;IAGtB,YAAY,SAAS;IACT;IACQ;IACpB,cAAc,gBAAgB,KAAA;IACnB;IACX,QAAQ,OAAO;IACT;IACW;IACP;IACF;IACR,aAAa,SAAS;IACtB,aAAa,eAAe,mBAAmB,MAAM;IAChD;IACL,YAAY,YAAY,YAAY,iBAAiB;IAClC;IACnB,SAAU,KAAa,WAAY,KAAa,aAAa;IACtD;IACP,YACE,WACI;KACE,GAAG,OAAO;KACV,OAAO;MACL,GAAG,OAAO,WAAW;MACrB,MAAMD,OAAK,OAAO,WAAW,MAAM,MAAM,GAAG,WAAW,mBAAmB;KAC5E;IACF,IACA,OAAO;IAEK;IAClB,SAAS,SAAS;IACZ;IACN,eAAe,SAAS;IACxB,qBAAqB,SAAS;IAC9B,WAAW,GAAG,SAAgB;KAC5B,aAAa,MAAM,KAAK,EAAE;KAC1B,SAAU,SAAiB,GAAG,IAAI;IACpC;GACD,CAAA;EAEL;EACA,OAAO,cAAc;EACrB,OAAO;CACT;CAEA,OAAO;EACL,YAAY,UAAU;EACtB,aAAa,UAAU,SAAS,aAAa;EAC7C,eAAe,UAAU,WAAW,eAAe;EACnD,YAAY,UAAU,QAAQ,YAAY;EAC1C,YAAY,UAAU,QAAQ,YAAY;EAC1C,YAAY,UAAU,QAAQ,YAAY;CAC5C;AACF"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import PickerContext from "../context.mjs";
|
|
2
|
+
import { isReactRenderable } from "../../utils/common.mjs";
|
|
3
|
+
import useTimeInfo from "../../hooks/useTimeInfo.mjs";
|
|
4
|
+
import * as React$1 from "react";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import { clsx } from "clsx";
|
|
7
|
+
//#region src/DatePicker/core/PickerInput/Popup/Footer.tsx
|
|
8
|
+
function Footer(props) {
|
|
9
|
+
const { mode, internalMode, renderExtraFooter, showNow, showTime, onSubmit, onNow, invalid, needConfirm, generateConfig, disabledDate } = props;
|
|
10
|
+
const { prefixCls, locale, button: Button = "button", classNames, styles } = React$1.use(PickerContext);
|
|
11
|
+
const now = generateConfig.getNow();
|
|
12
|
+
const [getValidTime] = useTimeInfo(generateConfig, showTime, now);
|
|
13
|
+
const extraNode = renderExtraFooter?.(mode);
|
|
14
|
+
const nowDisabled = disabledDate(now, { type: mode });
|
|
15
|
+
const onInternalNow = () => {
|
|
16
|
+
if (!nowDisabled) {
|
|
17
|
+
const validateNow = getValidTime(now);
|
|
18
|
+
onNow(validateNow);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
const nowPrefixCls = `${prefixCls}-now`;
|
|
22
|
+
const nowBtnPrefixCls = `${nowPrefixCls}-btn`;
|
|
23
|
+
const presetNode = showNow && /* @__PURE__ */ jsx("li", {
|
|
24
|
+
className: nowPrefixCls,
|
|
25
|
+
children: /* @__PURE__ */ jsx("a", {
|
|
26
|
+
"aria-disabled": nowDisabled,
|
|
27
|
+
className: clsx(nowBtnPrefixCls, nowDisabled && `${nowBtnPrefixCls}-disabled`),
|
|
28
|
+
onClick: onInternalNow,
|
|
29
|
+
children: internalMode === "date" ? locale.today : locale.now
|
|
30
|
+
})
|
|
31
|
+
});
|
|
32
|
+
const okNode = needConfirm && /* @__PURE__ */ jsx("li", {
|
|
33
|
+
className: `${prefixCls}-ok`,
|
|
34
|
+
children: /* @__PURE__ */ jsx(Button, {
|
|
35
|
+
disabled: invalid,
|
|
36
|
+
onClick: onSubmit,
|
|
37
|
+
children: locale.ok
|
|
38
|
+
})
|
|
39
|
+
});
|
|
40
|
+
const rangeNode = (presetNode || okNode) && /* @__PURE__ */ jsxs("ul", {
|
|
41
|
+
className: `${prefixCls}-ranges`,
|
|
42
|
+
children: [presetNode, okNode]
|
|
43
|
+
});
|
|
44
|
+
if (!isReactRenderable(extraNode) && !isReactRenderable(rangeNode)) return null;
|
|
45
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
46
|
+
className: clsx(`${prefixCls}-footer`, classNames.popup.footer),
|
|
47
|
+
style: styles.popup.footer,
|
|
48
|
+
children: [isReactRenderable(extraNode) && /* @__PURE__ */ jsx("div", {
|
|
49
|
+
className: `${prefixCls}-footer-extra`,
|
|
50
|
+
children: extraNode
|
|
51
|
+
}), rangeNode]
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
export { Footer as default };
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=Footer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Footer.mjs","names":["React"],"sources":["../../../../../src/DatePicker/core/PickerInput/Popup/Footer.tsx"],"sourcesContent":["import { clsx } from 'clsx';\nimport * as React from 'react';\n\nimport type { GenerateConfig } from '../../generate';\nimport useTimeInfo from '../../hooks/useTimeInfo';\nimport type { DisabledDate, InternalMode, PanelMode, SharedPickerProps } from '../../interface';\nimport { isReactRenderable } from '../../utils/common';\nimport PickerContext from '../context';\nimport type { PopupShowTimeConfig } from '.';\n\nexport interface FooterProps<DateType extends object = any> {\n disabledDate: DisabledDate<DateType>;\n generateConfig: GenerateConfig<DateType>;\n internalMode: InternalMode;\n // Invalid\n /** From Footer component used only. Check if can OK button click */\n invalid?: boolean;\n mode: PanelMode;\n needConfirm: boolean;\n // Now\n onNow: (now: DateType) => void;\n\n // Submit\n onSubmit: (date?: DateType) => void;\n\n renderExtraFooter?: SharedPickerProps['renderExtraFooter'];\n showNow: boolean;\n\n showTime?: PopupShowTimeConfig<DateType> | null;\n}\n\nexport default function Footer(props: FooterProps) {\n const {\n mode,\n internalMode,\n renderExtraFooter,\n showNow,\n showTime,\n onSubmit,\n onNow,\n invalid,\n needConfirm,\n generateConfig,\n disabledDate,\n } = props;\n\n const {\n prefixCls,\n locale,\n button: Button = 'button',\n classNames,\n styles,\n } = React.use(PickerContext);\n\n // >>> Now\n const now = generateConfig.getNow();\n\n const [getValidTime] = useTimeInfo(generateConfig, showTime, now);\n\n // ======================== Extra =========================\n const extraNode = renderExtraFooter?.(mode);\n\n // ======================== Ranges ========================\n const nowDisabled = disabledDate(now, {\n type: mode,\n });\n\n const onInternalNow = () => {\n if (!nowDisabled) {\n const validateNow = getValidTime(now);\n onNow(validateNow);\n }\n };\n\n const nowPrefixCls = `${prefixCls}-now`;\n const nowBtnPrefixCls = `${nowPrefixCls}-btn`;\n\n const presetNode = showNow && (\n <li className={nowPrefixCls}>\n <a\n aria-disabled={nowDisabled}\n className={clsx(nowBtnPrefixCls, nowDisabled && `${nowBtnPrefixCls}-disabled`)}\n onClick={onInternalNow}\n >\n {internalMode === 'date' ? locale.today : locale.now}\n </a>\n </li>\n );\n\n // >>> OK\n const okNode = needConfirm && (\n <li className={`${prefixCls}-ok`}>\n <Button disabled={invalid} onClick={onSubmit}>\n {locale.ok}\n </Button>\n </li>\n );\n\n const rangeNode = (presetNode || okNode) && (\n <ul className={`${prefixCls}-ranges`}>\n {presetNode}\n {okNode}\n </ul>\n );\n\n // ======================== Render ========================\n if (!isReactRenderable(extraNode) && !isReactRenderable(rangeNode)) {\n return null;\n }\n\n return (\n <div\n className={clsx(`${prefixCls}-footer`, classNames.popup.footer)}\n style={styles.popup.footer}\n >\n {isReactRenderable(extraNode) && (\n <div className={`${prefixCls}-footer-extra`}>{extraNode}</div>\n )}\n {rangeNode}\n </div>\n );\n}\n"],"mappings":";;;;;;;AA+BA,SAAwB,OAAO,OAAoB;CACjD,MAAM,EACJ,MACA,cACA,mBACA,SACA,UACA,UACA,OACA,SACA,aACA,gBACA,iBACE;CAEJ,MAAM,EACJ,WACA,QACA,QAAQ,SAAS,UACjB,YACA,WACEA,QAAM,IAAI,aAAa;CAG3B,MAAM,MAAM,eAAe,OAAO;CAElC,MAAM,CAAC,gBAAgB,YAAY,gBAAgB,UAAU,GAAG;CAGhE,MAAM,YAAY,oBAAoB,IAAI;CAG1C,MAAM,cAAc,aAAa,KAAK,EACpC,MAAM,KACR,CAAC;CAED,MAAM,sBAAsB;EAC1B,IAAI,CAAC,aAAa;GAChB,MAAM,cAAc,aAAa,GAAG;GACpC,MAAM,WAAW;EACnB;CACF;CAEA,MAAM,eAAe,GAAG,UAAU;CAClC,MAAM,kBAAkB,GAAG,aAAa;CAExC,MAAM,aAAa,WACjB,oBAAC,MAAD;EAAI,WAAW;EACb,UAAA,oBAAC,KAAD;GACE,iBAAe;GACf,WAAW,KAAK,iBAAiB,eAAe,GAAG,gBAAgB,UAAU;GAC7E,SAAS;GAER,UAAA,iBAAiB,SAAS,OAAO,QAAQ,OAAO;EAChD,CAAA;CACD,CAAA;CAIN,MAAM,SAAS,eACb,oBAAC,MAAD;EAAI,WAAW,GAAG,UAAU;EAC1B,UAAA,oBAAC,QAAD;GAAQ,UAAU;GAAS,SAAS;GACjC,UAAA,OAAO;EACF,CAAA;CACN,CAAA;CAGN,MAAM,aAAa,cAAc,WAC/B,qBAAC,MAAD;EAAI,WAAW,GAAG,UAAU;EAA5B,UAAA,CACG,YACA,MACC;;CAIN,IAAI,CAAC,kBAAkB,SAAS,KAAK,CAAC,kBAAkB,SAAS,GAC/D,OAAO;CAGT,OACE,qBAAC,OAAD;EACE,WAAW,KAAK,GAAG,UAAU,UAAU,WAAW,MAAM,MAAM;EAC9D,OAAO,OAAO,MAAM;EAFtB,UAAA,CAIG,kBAAkB,SAAS,KAC1B,oBAAC,OAAD;GAAK,WAAW,GAAG,UAAU;GAAiB,UAAA;EAAe,CAAA,GAE9D,SACE;;AAET"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import PickerContext from "../context.mjs";
|
|
2
|
+
import { offsetPanelDate } from "../hooks/useRangePickerValue.mjs";
|
|
3
|
+
import { PickerHackContext } from "../../PickerPanel/context.mjs";
|
|
4
|
+
import RefPanelPicker from "../../PickerPanel/index.mjs";
|
|
5
|
+
import * as React$1 from "react";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
//#region src/DatePicker/core/PickerInput/Popup/PopupPanel.tsx
|
|
8
|
+
function PopupPanel(props) {
|
|
9
|
+
const { picker, multiplePanel, pickerValue, onPickerValueChange, needConfirm, onSubmit, range, hoverValue, hoverRangeValue } = props;
|
|
10
|
+
const { prefixCls, generateConfig } = React$1.use(PickerContext);
|
|
11
|
+
const internalOffsetDate = React$1.useCallback((date, offset) => {
|
|
12
|
+
return offsetPanelDate(generateConfig, picker, date, offset);
|
|
13
|
+
}, [generateConfig, picker]);
|
|
14
|
+
const nextPickerValue = React$1.useMemo(() => internalOffsetDate(pickerValue, 1), [pickerValue, internalOffsetDate]);
|
|
15
|
+
const onSecondPickerValueChange = (nextDate) => {
|
|
16
|
+
onPickerValueChange(internalOffsetDate(nextDate, -1));
|
|
17
|
+
};
|
|
18
|
+
const sharedContext = { onCellDblClick: () => {
|
|
19
|
+
if (needConfirm) onSubmit();
|
|
20
|
+
} };
|
|
21
|
+
const hideHeader = picker === "time";
|
|
22
|
+
const pickerProps = {
|
|
23
|
+
...props,
|
|
24
|
+
hoverRangeValue: null,
|
|
25
|
+
hideHeader,
|
|
26
|
+
hoverValue
|
|
27
|
+
};
|
|
28
|
+
if (range) pickerProps.hoverRangeValue = hoverRangeValue;
|
|
29
|
+
if (multiplePanel) return /* @__PURE__ */ jsxs("div", {
|
|
30
|
+
className: `${prefixCls}-panels`,
|
|
31
|
+
children: [/* @__PURE__ */ jsx(PickerHackContext, {
|
|
32
|
+
value: {
|
|
33
|
+
...sharedContext,
|
|
34
|
+
hideNext: true
|
|
35
|
+
},
|
|
36
|
+
children: /* @__PURE__ */ jsx(RefPanelPicker, { ...pickerProps })
|
|
37
|
+
}), /* @__PURE__ */ jsx(PickerHackContext, {
|
|
38
|
+
value: {
|
|
39
|
+
...sharedContext,
|
|
40
|
+
hidePrev: true
|
|
41
|
+
},
|
|
42
|
+
children: /* @__PURE__ */ jsx(RefPanelPicker, {
|
|
43
|
+
...pickerProps,
|
|
44
|
+
pickerValue: nextPickerValue,
|
|
45
|
+
onPickerValueChange: onSecondPickerValueChange
|
|
46
|
+
})
|
|
47
|
+
})]
|
|
48
|
+
});
|
|
49
|
+
return /* @__PURE__ */ jsx(PickerHackContext, {
|
|
50
|
+
value: { ...sharedContext },
|
|
51
|
+
children: /* @__PURE__ */ jsx(RefPanelPicker, { ...pickerProps })
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
//#endregion
|
|
55
|
+
export { PopupPanel as default };
|
|
56
|
+
|
|
57
|
+
//# sourceMappingURL=PopupPanel.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PopupPanel.mjs","names":["React","PickerPanel"],"sources":["../../../../../src/DatePicker/core/PickerInput/Popup/PopupPanel.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport PickerPanel, { type PickerPanelProps } from '../../PickerPanel';\nimport { PickerHackContext, type PickerHackContextProps } from '../../PickerPanel/context';\nimport PickerContext from '../context';\nimport { offsetPanelDate } from '../hooks/useRangePickerValue';\nimport { type FooterProps } from './Footer';\n\nexport type MustProp<DateType extends object> = Required<\n Pick<PickerPanelProps<DateType>, 'mode' | 'onPanelChange'>\n>;\n\nexport type PopupPanelProps<DateType extends object = any> = MustProp<DateType> &\n Omit<PickerPanelProps<DateType>, 'onPickerValueChange' | 'showTime'> &\n FooterProps<DateType> & {\n multiplePanel?: boolean;\n range?: boolean;\n\n onPickerValueChange: (date: DateType) => void;\n };\n\nexport default function PopupPanel<DateType extends object = any>(\n props: PopupPanelProps<DateType>,\n) {\n const {\n picker,\n multiplePanel,\n pickerValue,\n onPickerValueChange,\n needConfirm,\n onSubmit,\n range,\n hoverValue,\n hoverRangeValue,\n } = props;\n const { prefixCls, generateConfig } = React.use(PickerContext);\n\n // ======================== Offset ========================\n const internalOffsetDate = React.useCallback(\n (date: DateType, offset: number) => {\n return offsetPanelDate(generateConfig, picker!, date, offset);\n },\n [generateConfig, picker],\n );\n\n const nextPickerValue = React.useMemo(\n () => internalOffsetDate(pickerValue!, 1),\n [pickerValue, internalOffsetDate],\n );\n\n // Outside\n const onSecondPickerValueChange = (nextDate: DateType) => {\n onPickerValueChange(internalOffsetDate(nextDate, -1));\n };\n\n // ======================= Context ========================\n const sharedContext: PickerHackContextProps = {\n onCellDblClick: () => {\n if (needConfirm) {\n onSubmit();\n }\n },\n };\n\n const hideHeader = picker === 'time';\n\n // ======================== Props =========================\n const pickerProps: PickerPanelProps<DateType> = {\n ...props,\n hoverRangeValue: null,\n hideHeader,\n hoverValue,\n };\n\n if (range) {\n pickerProps.hoverRangeValue = hoverRangeValue;\n }\n\n // ======================== Render ========================\n // Multiple\n if (multiplePanel) {\n return (\n <div className={`${prefixCls}-panels`}>\n <PickerHackContext\n value={{\n ...sharedContext,\n hideNext: true,\n }}\n >\n <PickerPanel<DateType> {...pickerProps} />\n </PickerHackContext>\n <PickerHackContext\n value={{\n ...sharedContext,\n hidePrev: true,\n }}\n >\n <PickerPanel<DateType>\n {...pickerProps}\n pickerValue={nextPickerValue}\n onPickerValueChange={onSecondPickerValueChange}\n />\n </PickerHackContext>\n </div>\n );\n }\n\n // Single\n return (\n <PickerHackContext\n value={{\n ...sharedContext,\n }}\n >\n <PickerPanel {...pickerProps} />\n </PickerHackContext>\n );\n}\n"],"mappings":";;;;;;;AAqBA,SAAwB,WACtB,OACA;CACA,MAAM,EACJ,QACA,eACA,aACA,qBACA,aACA,UACA,OACA,YACA,oBACE;CACJ,MAAM,EAAE,WAAW,mBAAmBA,QAAM,IAAI,aAAa;CAG7D,MAAM,qBAAqBA,QAAM,aAC9B,MAAgB,WAAmB;EAClC,OAAO,gBAAgB,gBAAgB,QAAS,MAAM,MAAM;CAC9D,GACA,CAAC,gBAAgB,MAAM,CACzB;CAEA,MAAM,kBAAkBA,QAAM,cACtB,mBAAmB,aAAc,CAAC,GACxC,CAAC,aAAa,kBAAkB,CAClC;CAGA,MAAM,6BAA6B,aAAuB;EACxD,oBAAoB,mBAAmB,UAAU,EAAE,CAAC;CACtD;CAGA,MAAM,gBAAwC,EAC5C,sBAAsB;EACpB,IAAI,aACF,SAAS;CAEb,EACF;CAEA,MAAM,aAAa,WAAW;CAG9B,MAAM,cAA0C;EAC9C,GAAG;EACH,iBAAiB;EACjB;EACA;CACF;CAEA,IAAI,OACF,YAAY,kBAAkB;CAKhC,IAAI,eACF,OACE,qBAAC,OAAD;EAAK,WAAW,GAAG,UAAU;EAA7B,UAAA,CACE,oBAAC,mBAAD;GACE,OAAO;IACL,GAAG;IACH,UAAU;GACZ;GAEA,UAAA,oBAACC,gBAAD,EAAuB,GAAI,YAAc,CAAA;EACxB,CAAA,GACnB,oBAAC,mBAAD;GACE,OAAO;IACL,GAAG;IACH,UAAU;GACZ;GAEA,UAAA,oBAACA,gBAAD;IACE,GAAI;IACJ,aAAa;IACb,qBAAqB;GACtB,CAAA;EACgB,CAAA,CAChB;;CAKT,OACE,oBAAC,mBAAD;EACE,OAAO,EACL,GAAG,cACL;EAEA,UAAA,oBAACA,gBAAD,EAAa,GAAI,YAAc,CAAA;CACd,CAAA;AAEvB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import "react";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
//#region src/DatePicker/core/PickerInput/Popup/PresetPanel.tsx
|
|
4
|
+
function executeValue(value) {
|
|
5
|
+
return typeof value === "function" ? value() : value;
|
|
6
|
+
}
|
|
7
|
+
function PresetPanel(props) {
|
|
8
|
+
const { prefixCls, presets, onClick, onHover } = props;
|
|
9
|
+
if (!presets.length) return null;
|
|
10
|
+
return /* @__PURE__ */ jsx("div", {
|
|
11
|
+
className: `${prefixCls}-presets`,
|
|
12
|
+
children: /* @__PURE__ */ jsx("ul", { children: presets.map(({ label, value }, index) => /* @__PURE__ */ jsx("li", {
|
|
13
|
+
onClick: () => {
|
|
14
|
+
onClick(executeValue(value));
|
|
15
|
+
},
|
|
16
|
+
onMouseEnter: () => {
|
|
17
|
+
onHover(executeValue(value));
|
|
18
|
+
},
|
|
19
|
+
onMouseLeave: () => {
|
|
20
|
+
onHover(null);
|
|
21
|
+
},
|
|
22
|
+
children: label
|
|
23
|
+
}, index)) })
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { PresetPanel as default };
|
|
28
|
+
|
|
29
|
+
//# sourceMappingURL=PresetPanel.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PresetPanel.mjs","names":[],"sources":["../../../../../src/DatePicker/core/PickerInput/Popup/PresetPanel.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport type { ValueDate } from '../../interface';\n\nexport interface PresetPanelProps<ValueType = any> {\n onClick: (value: ValueType) => void;\n onHover: (value: ValueType | null) => void;\n prefixCls: string;\n presets: ValueDate<ValueType>[];\n}\n\nfunction executeValue<ValueType extends object>(value: ValueDate<ValueType>['value']): ValueType {\n return typeof value === 'function' ? value() : value;\n}\n\nexport default function PresetPanel<DateType extends object = any>(\n props: PresetPanelProps<DateType>,\n) {\n const { prefixCls, presets, onClick, onHover } = props;\n\n if (!presets.length) {\n return null;\n }\n\n return (\n <div className={`${prefixCls}-presets`}>\n <ul>\n {presets.map(({ label, value }, index) => (\n <li\n key={index}\n onClick={() => {\n onClick(executeValue(value));\n }}\n onMouseEnter={() => {\n onHover(executeValue(value));\n }}\n onMouseLeave={() => {\n onHover(null);\n }}\n >\n {label}\n </li>\n ))}\n </ul>\n </div>\n );\n}\n"],"mappings":";;;AAWA,SAAS,aAAuC,OAAiD;CAC/F,OAAO,OAAO,UAAU,aAAa,MAAM,IAAI;AACjD;AAEA,SAAwB,YACtB,OACA;CACA,MAAM,EAAE,WAAW,SAAS,SAAS,YAAY;CAEjD,IAAI,CAAC,QAAQ,QACX,OAAO;CAGT,OACE,oBAAC,OAAD;EAAK,WAAW,GAAG,UAAU;EAC3B,UAAA,oBAAC,MAAD,EAAA,UACG,QAAQ,KAAK,EAAE,OAAO,SAAS,UAC9B,oBAAC,MAAD;GAEE,eAAe;IACb,QAAQ,aAAa,KAAK,CAAC;GAC7B;GACA,oBAAoB;IAClB,QAAQ,aAAa,KAAK,CAAC;GAC7B;GACA,oBAAoB;IAClB,QAAQ,IAAI;GACd;GAEC,UAAA;EACC,GAZG,KAYH,CACL,EACC,CAAA;CACD,CAAA;AAET"}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { useMergeRefs } from "../../../../utils/mergeRefs.mjs";
|
|
2
|
+
import { useResizeObserver } from "../../hooks/react.mjs";
|
|
3
|
+
import PickerContext from "../context.mjs";
|
|
4
|
+
import { toArray } from "../../utils/miscUtil.mjs";
|
|
5
|
+
import Footer from "./Footer.mjs";
|
|
6
|
+
import PopupPanel from "./PopupPanel.mjs";
|
|
7
|
+
import PresetPanel from "./PresetPanel.mjs";
|
|
8
|
+
import * as React$1 from "react";
|
|
9
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
import { clsx } from "clsx";
|
|
11
|
+
//#region src/DatePicker/core/PickerInput/Popup/index.tsx
|
|
12
|
+
function Popup(props) {
|
|
13
|
+
const { containerRef, panelRender, internalMode, picker, showNow, range, multiple, activeInfo = [
|
|
14
|
+
0,
|
|
15
|
+
0,
|
|
16
|
+
0
|
|
17
|
+
], presets, onPresetHover, onPresetSubmit, onFocus, onBlur, onPanelMouseDown, direction, value, onSelect, isInvalid, defaultOpenValue, onOk, onSubmit, classNames, styles } = props;
|
|
18
|
+
const { prefixCls } = React$1.use(PickerContext);
|
|
19
|
+
const panelPrefixCls = `${prefixCls}-panel`;
|
|
20
|
+
const rtl = direction === "rtl";
|
|
21
|
+
const arrowRef = React$1.useRef(null);
|
|
22
|
+
const wrapperRef = React$1.useRef(null);
|
|
23
|
+
const panelContainerRef = React$1.useRef(null);
|
|
24
|
+
const mergedContainerRef = useMergeRefs([containerRef, panelContainerRef]);
|
|
25
|
+
const [containerWidth, setContainerWidth] = React$1.useState(0);
|
|
26
|
+
const [containerOffset, setContainerOffset] = React$1.useState(0);
|
|
27
|
+
const [arrowOffset, setArrowOffset] = React$1.useState(0);
|
|
28
|
+
useResizeObserver(panelContainerRef, (element) => {
|
|
29
|
+
if (element.offsetWidth) setContainerWidth(element.offsetWidth);
|
|
30
|
+
}, !!range);
|
|
31
|
+
const [activeInputLeft, activeInputRight, selectorWidth] = activeInfo;
|
|
32
|
+
const [retryTimes, setRetryTimes] = React$1.useState(0);
|
|
33
|
+
React$1.useEffect(() => {
|
|
34
|
+
setRetryTimes(10);
|
|
35
|
+
}, [activeInputLeft]);
|
|
36
|
+
React$1.useEffect(() => {
|
|
37
|
+
if (range && wrapperRef.current) {
|
|
38
|
+
const arrowWidth = arrowRef.current?.offsetWidth || 0;
|
|
39
|
+
const wrapperRect = wrapperRef.current.getBoundingClientRect();
|
|
40
|
+
if (!wrapperRect.height || wrapperRect.right < 0) {
|
|
41
|
+
setRetryTimes((times) => Math.max(0, times - 1));
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
const nextArrowOffset = (rtl ? activeInputRight - arrowWidth : activeInputLeft) - wrapperRect.left;
|
|
45
|
+
setArrowOffset(nextArrowOffset);
|
|
46
|
+
if (containerWidth && containerWidth < selectorWidth) {
|
|
47
|
+
const offset = rtl ? wrapperRect.right - (activeInputRight - arrowWidth + containerWidth) : activeInputLeft + arrowWidth - wrapperRect.left - containerWidth;
|
|
48
|
+
setContainerOffset(Math.max(0, offset));
|
|
49
|
+
} else setContainerOffset(0);
|
|
50
|
+
}
|
|
51
|
+
}, [
|
|
52
|
+
retryTimes,
|
|
53
|
+
rtl,
|
|
54
|
+
containerWidth,
|
|
55
|
+
activeInputLeft,
|
|
56
|
+
activeInputRight,
|
|
57
|
+
selectorWidth,
|
|
58
|
+
range
|
|
59
|
+
]);
|
|
60
|
+
function filterEmpty(list) {
|
|
61
|
+
return list.filter((item) => item);
|
|
62
|
+
}
|
|
63
|
+
const valueList = React$1.useMemo(() => filterEmpty(toArray(value)), [value]);
|
|
64
|
+
const isTimePickerEmptyValue = picker === "time" && !valueList.length;
|
|
65
|
+
const footerSubmitValue = React$1.useMemo(() => {
|
|
66
|
+
if (isTimePickerEmptyValue) return filterEmpty([defaultOpenValue]);
|
|
67
|
+
return valueList;
|
|
68
|
+
}, [
|
|
69
|
+
isTimePickerEmptyValue,
|
|
70
|
+
valueList,
|
|
71
|
+
defaultOpenValue
|
|
72
|
+
]);
|
|
73
|
+
const popupPanelValue = isTimePickerEmptyValue ? defaultOpenValue : valueList;
|
|
74
|
+
const disableSubmit = React$1.useMemo(() => {
|
|
75
|
+
if (!footerSubmitValue.length) return true;
|
|
76
|
+
return footerSubmitValue.some((val) => isInvalid(val));
|
|
77
|
+
}, [footerSubmitValue, isInvalid]);
|
|
78
|
+
const onFooterSubmit = () => {
|
|
79
|
+
if (isTimePickerEmptyValue) onSelect(defaultOpenValue);
|
|
80
|
+
onOk();
|
|
81
|
+
onSubmit();
|
|
82
|
+
};
|
|
83
|
+
let mergedNodes = /* @__PURE__ */ jsxs("div", {
|
|
84
|
+
className: `${prefixCls}-panel-layout`,
|
|
85
|
+
children: [/* @__PURE__ */ jsx(PresetPanel, {
|
|
86
|
+
prefixCls,
|
|
87
|
+
presets,
|
|
88
|
+
onClick: onPresetSubmit,
|
|
89
|
+
onHover: onPresetHover
|
|
90
|
+
}), /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx(PopupPanel, {
|
|
91
|
+
...props,
|
|
92
|
+
value: popupPanelValue
|
|
93
|
+
}), /* @__PURE__ */ jsx(Footer, {
|
|
94
|
+
...props,
|
|
95
|
+
invalid: disableSubmit,
|
|
96
|
+
showNow: multiple ? false : showNow,
|
|
97
|
+
onSubmit: onFooterSubmit
|
|
98
|
+
})] })]
|
|
99
|
+
});
|
|
100
|
+
if (panelRender) mergedNodes = panelRender(mergedNodes);
|
|
101
|
+
const containerPrefixCls = `${panelPrefixCls}-container`;
|
|
102
|
+
const marginLeft = "marginLeft";
|
|
103
|
+
const marginRight = "marginRight";
|
|
104
|
+
let renderNode = /* @__PURE__ */ jsx("div", {
|
|
105
|
+
ref: mergedContainerRef,
|
|
106
|
+
tabIndex: -1,
|
|
107
|
+
className: clsx(containerPrefixCls, `${prefixCls}-${internalMode}-panel-container`, classNames?.popup?.container),
|
|
108
|
+
onBlur,
|
|
109
|
+
style: {
|
|
110
|
+
[rtl ? marginRight : marginLeft]: containerOffset,
|
|
111
|
+
[rtl ? marginLeft : marginRight]: "auto",
|
|
112
|
+
...styles?.popup?.container
|
|
113
|
+
},
|
|
114
|
+
onFocus,
|
|
115
|
+
onMouseDown: onPanelMouseDown,
|
|
116
|
+
children: mergedNodes
|
|
117
|
+
});
|
|
118
|
+
if (range) renderNode = /* @__PURE__ */ jsxs("div", {
|
|
119
|
+
className: clsx(`${prefixCls}-range-wrapper`, `${prefixCls}-${picker}-range-wrapper`),
|
|
120
|
+
ref: wrapperRef,
|
|
121
|
+
onMouseDown: onPanelMouseDown,
|
|
122
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
123
|
+
className: `${prefixCls}-range-arrow`,
|
|
124
|
+
ref: arrowRef,
|
|
125
|
+
style: { left: arrowOffset }
|
|
126
|
+
}), renderNode]
|
|
127
|
+
});
|
|
128
|
+
return renderNode;
|
|
129
|
+
}
|
|
130
|
+
//#endregion
|
|
131
|
+
export { Popup as default };
|
|
132
|
+
|
|
133
|
+
//# sourceMappingURL=index.mjs.map
|