@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
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { focusRing } from "../styles/stylex/focusRing.mjs";
|
|
3
|
-
import Icon from "../Icon/Icon.mjs";
|
|
4
|
-
import { useTranslation } from "../i18n/useTranslation.mjs";
|
|
5
|
-
import { panelStyles } from "../internal/panelStyles.mjs";
|
|
6
|
-
import datePicker_default from "../i18n/resources/en/datePicker.mjs";
|
|
7
|
-
import { buildMonthGrid, getWeekStart, getWeekdayLabels, isDayDisabled, isMonthDisabled, isSameDay, isYearDisabled, moveDayFocus, orderRange } from "./calendar.mjs";
|
|
8
|
-
import { styles } from "./style.mjs";
|
|
9
|
-
import { createElement, memo, useEffect, useRef, useState } from "react";
|
|
10
|
-
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
11
|
-
import * as stylex from "@stylexjs/stylex";
|
|
12
|
-
import { ChevronLeft, ChevronRight } from "lucide-react";
|
|
13
|
-
import dayjs from "dayjs";
|
|
14
|
-
//#region src/DatePicker/CalendarPanel.tsx
|
|
15
|
-
const MONTHS = Array.from({ length: 12 }, (_, index) => index);
|
|
16
|
-
const CalendarPanel = memo(({ bounds, hovered, mode, month, onHover, onMonthChange, onSelect, range, selected, showNav = true }) => {
|
|
17
|
-
const { t } = useTranslation(datePicker_default);
|
|
18
|
-
const [view, setView] = useState(mode);
|
|
19
|
-
const [focused, setFocused] = useState(selected ?? month);
|
|
20
|
-
const gridRef = useRef(null);
|
|
21
|
-
const weekStart = getWeekStart();
|
|
22
|
-
const today = /* @__PURE__ */ new Date();
|
|
23
|
-
const current = dayjs(month);
|
|
24
|
-
const decadeStart = Math.floor(current.year() / 12) * 12;
|
|
25
|
-
const days = buildMonthGrid(month, weekStart);
|
|
26
|
-
const focusDay = dayjs(focused).isSame(month, "month") && !isDayDisabled(focused, bounds) ? focused : days.find((day) => dayjs(day).isSame(month, "month") && !isDayDisabled(day, bounds)) ?? current.startOf("month").toDate();
|
|
27
|
-
const keyboardMoveRef = useRef(false);
|
|
28
|
-
useEffect(() => {
|
|
29
|
-
if (!keyboardMoveRef.current) return;
|
|
30
|
-
keyboardMoveRef.current = false;
|
|
31
|
-
gridRef.current?.querySelector("[data-focus-target]")?.focus();
|
|
32
|
-
}, [focused, month]);
|
|
33
|
-
const step = (direction) => {
|
|
34
|
-
const unit = view === "date" ? "month" : "year";
|
|
35
|
-
const amount = view === "year" ? 12 * direction : direction;
|
|
36
|
-
onMonthChange(current.add(amount, unit).toDate());
|
|
37
|
-
};
|
|
38
|
-
const drillUp = () => setView(view === "date" ? "month" : "year");
|
|
39
|
-
const handleDayKey = (event) => {
|
|
40
|
-
let next = moveDayFocus(focusDay, event.key, weekStart);
|
|
41
|
-
if (!next) return;
|
|
42
|
-
event.preventDefault();
|
|
43
|
-
for (let step = 0; next && isDayDisabled(next, bounds) && step < 366; step++) next = moveDayFocus(next, event.key, weekStart);
|
|
44
|
-
if (!next || isDayDisabled(next, bounds)) return;
|
|
45
|
-
keyboardMoveRef.current = true;
|
|
46
|
-
setFocused(next);
|
|
47
|
-
if (!dayjs(next).isSame(month, "month")) onMonthChange(next);
|
|
48
|
-
};
|
|
49
|
-
const band = (() => {
|
|
50
|
-
if (!range?.[0]) return null;
|
|
51
|
-
const end = range[1] ?? hovered;
|
|
52
|
-
return end ? orderRange(range[0], end) : null;
|
|
53
|
-
})();
|
|
54
|
-
const renderDays = () => {
|
|
55
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
56
|
-
"aria-label": current.format("MMMM YYYY"),
|
|
57
|
-
...stylex.props(styles.grid),
|
|
58
|
-
ref: gridRef,
|
|
59
|
-
role: "grid",
|
|
60
|
-
onMouseLeave: () => onHover?.(null),
|
|
61
|
-
children: [getWeekdayLabels(weekStart).map((label) => /* @__PURE__ */ jsx("span", {
|
|
62
|
-
role: "columnheader",
|
|
63
|
-
...stylex.props(styles.weekday, panelStyles.label),
|
|
64
|
-
children: label
|
|
65
|
-
}, label)), days.map((date) => {
|
|
66
|
-
const outside = !dayjs(date).isSame(month, "month");
|
|
67
|
-
const isStart = !outside && !!band && isSameDay(date, band[0]);
|
|
68
|
-
const isEnd = !outside && !!band && isSameDay(date, band[1]);
|
|
69
|
-
const inBand = !outside && !!band && dayjs(date).isAfter(band[0], "day") && dayjs(date).isBefore(band[1], "day");
|
|
70
|
-
const pressed = !outside && (isSameDay(date, selected) || isStart || isEnd);
|
|
71
|
-
const focusTarget = isSameDay(date, focusDay) && !outside;
|
|
72
|
-
return /* @__PURE__ */ jsx("span", {
|
|
73
|
-
"aria-selected": pressed,
|
|
74
|
-
role: "gridcell",
|
|
75
|
-
...stylex.props(styles.cell, inBand && styles.band, isStart && !isEnd && styles.bandStart, isEnd && !isStart && styles.bandEnd),
|
|
76
|
-
children: /* @__PURE__ */ jsx("button", {
|
|
77
|
-
"aria-label": dayjs(date).format("MMMM D, YYYY"),
|
|
78
|
-
"aria-pressed": pressed,
|
|
79
|
-
...stylex.props(focusRing.info, styles.day),
|
|
80
|
-
"data-focus-target": focusTarget ? "" : void 0,
|
|
81
|
-
"data-outside": outside ? "" : void 0,
|
|
82
|
-
"data-today": isSameDay(date, today) ? "" : void 0,
|
|
83
|
-
disabled: isDayDisabled(date, bounds),
|
|
84
|
-
tabIndex: focusTarget ? 0 : -1,
|
|
85
|
-
type: "button",
|
|
86
|
-
onClick: () => onSelect(dayjs(date).startOf("day").toDate()),
|
|
87
|
-
onKeyDown: handleDayKey,
|
|
88
|
-
onMouseEnter: () => onHover?.(date),
|
|
89
|
-
children: date.getDate()
|
|
90
|
-
})
|
|
91
|
-
}, date.toISOString());
|
|
92
|
-
})]
|
|
93
|
-
});
|
|
94
|
-
};
|
|
95
|
-
const renderMonths = () => /* @__PURE__ */ jsx("div", {
|
|
96
|
-
...stylex.props(styles.tiles),
|
|
97
|
-
children: MONTHS.map((index) => {
|
|
98
|
-
const date = current.month(index).startOf("month").toDate();
|
|
99
|
-
return /* @__PURE__ */ createElement("button", {
|
|
100
|
-
"aria-pressed": !!selected && dayjs(selected).isSame(date, "month"),
|
|
101
|
-
...stylex.props(focusRing.info, styles.tile),
|
|
102
|
-
"data-today": dayjs(today).isSame(date, "month") ? "" : void 0,
|
|
103
|
-
disabled: isMonthDisabled(date, bounds),
|
|
104
|
-
key: index,
|
|
105
|
-
type: "button",
|
|
106
|
-
onClick: () => {
|
|
107
|
-
if (mode === "month") return onSelect(date);
|
|
108
|
-
onMonthChange(date);
|
|
109
|
-
setView("date");
|
|
110
|
-
}
|
|
111
|
-
}, dayjs(date).format("MMM"));
|
|
112
|
-
})
|
|
113
|
-
});
|
|
114
|
-
const renderYears = () => /* @__PURE__ */ jsx("div", {
|
|
115
|
-
...stylex.props(styles.tiles),
|
|
116
|
-
children: MONTHS.map((index) => {
|
|
117
|
-
const date = dayjs(new Date(decadeStart + index, 0, 1)).toDate();
|
|
118
|
-
return /* @__PURE__ */ createElement("button", {
|
|
119
|
-
"aria-pressed": !!selected && dayjs(selected).isSame(date, "year"),
|
|
120
|
-
...stylex.props(focusRing.info, styles.tile),
|
|
121
|
-
"data-today": dayjs(today).isSame(date, "year") ? "" : void 0,
|
|
122
|
-
disabled: isYearDisabled(date, bounds),
|
|
123
|
-
key: index,
|
|
124
|
-
type: "button",
|
|
125
|
-
onClick: () => {
|
|
126
|
-
if (mode === "year") return onSelect(date);
|
|
127
|
-
onMonthChange(current.year(decadeStart + index).toDate());
|
|
128
|
-
setView("month");
|
|
129
|
-
}
|
|
130
|
-
}, decadeStart + index);
|
|
131
|
-
})
|
|
132
|
-
});
|
|
133
|
-
const title = (() => {
|
|
134
|
-
if (view === "date") return /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
135
|
-
current.format("MMMM"),
|
|
136
|
-
" ",
|
|
137
|
-
/* @__PURE__ */ jsx("span", {
|
|
138
|
-
...stylex.props(panelStyles.titleMuted),
|
|
139
|
-
children: current.format("YYYY")
|
|
140
|
-
})
|
|
141
|
-
] });
|
|
142
|
-
if (view === "month") return current.format("YYYY");
|
|
143
|
-
return `${decadeStart} – ${decadeStart + 11}`;
|
|
144
|
-
})();
|
|
145
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
146
|
-
...stylex.props(styles.calendar),
|
|
147
|
-
children: [
|
|
148
|
-
/* @__PURE__ */ jsxs("div", {
|
|
149
|
-
...stylex.props(styles.header),
|
|
150
|
-
children: [/* @__PURE__ */ jsx("button", {
|
|
151
|
-
...stylex.props(panelStyles.title),
|
|
152
|
-
disabled: view === "year",
|
|
153
|
-
type: "button",
|
|
154
|
-
onClick: drillUp,
|
|
155
|
-
children: title
|
|
156
|
-
}), showNav && /* @__PURE__ */ jsxs("div", {
|
|
157
|
-
...stylex.props(styles.navGroup),
|
|
158
|
-
children: [/* @__PURE__ */ jsx("button", {
|
|
159
|
-
"aria-label": t("datePicker.previous"),
|
|
160
|
-
...stylex.props(panelStyles.nav),
|
|
161
|
-
type: "button",
|
|
162
|
-
onClick: () => step(-1),
|
|
163
|
-
children: /* @__PURE__ */ jsx(Icon, {
|
|
164
|
-
icon: ChevronLeft,
|
|
165
|
-
size: 14
|
|
166
|
-
})
|
|
167
|
-
}), /* @__PURE__ */ jsx("button", {
|
|
168
|
-
"aria-label": t("datePicker.next"),
|
|
169
|
-
...stylex.props(panelStyles.nav),
|
|
170
|
-
type: "button",
|
|
171
|
-
onClick: () => step(1),
|
|
172
|
-
children: /* @__PURE__ */ jsx(Icon, {
|
|
173
|
-
icon: ChevronRight,
|
|
174
|
-
size: 14
|
|
175
|
-
})
|
|
176
|
-
})]
|
|
177
|
-
})]
|
|
178
|
-
}),
|
|
179
|
-
view === "date" && renderDays(),
|
|
180
|
-
view === "month" && renderMonths(),
|
|
181
|
-
view === "year" && renderYears()
|
|
182
|
-
]
|
|
183
|
-
});
|
|
184
|
-
});
|
|
185
|
-
CalendarPanel.displayName = "CalendarPanel";
|
|
186
|
-
//#endregion
|
|
187
|
-
export { CalendarPanel as default };
|
|
188
|
-
|
|
189
|
-
//# sourceMappingURL=CalendarPanel.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarPanel.mjs","names":["datePickerMessages"],"sources":["../../src/DatePicker/CalendarPanel.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\nimport dayjs from 'dayjs';\nimport { ChevronLeft, ChevronRight } from 'lucide-react';\nimport { type KeyboardEvent, memo, useEffect, useRef, useState } from 'react';\n\nimport datePickerMessages from '@/i18n/resources/en/datePicker';\nimport { useTranslation } from '@/i18n/useTranslation';\nimport Icon from '@/Icon';\nimport { panelStyles } from '@/internal/panelStyles';\nimport { focusRing } from '@/styles/stylex/focusRing';\n\nimport {\n buildMonthGrid,\n type CalendarMode,\n type DateBounds,\n getWeekdayLabels,\n getWeekStart,\n isDayDisabled,\n isMonthDisabled,\n isSameDay,\n isYearDisabled,\n moveDayFocus,\n orderRange,\n} from './calendar';\nimport { styles } from './style';\n\nexport interface CalendarPanelProps {\n bounds: DateBounds;\n hovered?: Date | null;\n mode: CalendarMode;\n month: Date;\n onHover?: (date: Date | null) => void;\n onMonthChange: (month: Date) => void;\n onSelect: (date: Date) => void;\n range?: [Date | null, Date | null];\n selected?: Date | null;\n showNav?: boolean;\n}\n\nconst MONTHS = Array.from({ length: 12 }, (_, index) => index);\n\nconst CalendarPanel = memo<CalendarPanelProps>(\n ({\n bounds,\n hovered,\n mode,\n month,\n onHover,\n onMonthChange,\n onSelect,\n range,\n selected,\n showNav = true,\n }) => {\n const { t } = useTranslation(datePickerMessages);\n const [view, setView] = useState<CalendarMode>(mode);\n const [focused, setFocused] = useState<Date>(selected ?? month);\n const gridRef = useRef<HTMLDivElement>(null);\n const weekStart = getWeekStart();\n const today = new Date();\n const current = dayjs(month);\n const decadeStart = Math.floor(current.year() / 12) * 12;\n const days = buildMonthGrid(month, weekStart);\n const focusDay =\n dayjs(focused).isSame(month, 'month') && !isDayDisabled(focused, bounds)\n ? focused\n : (days.find((day) => dayjs(day).isSame(month, 'month') && !isDayDisabled(day, bounds)) ??\n current.startOf('month').toDate());\n const keyboardMoveRef = useRef(false);\n\n useEffect(() => {\n if (!keyboardMoveRef.current) return;\n keyboardMoveRef.current = false;\n gridRef.current?.querySelector<HTMLButtonElement>('[data-focus-target]')?.focus();\n }, [focused, month]);\n\n const step = (direction: 1 | -1) => {\n const unit = view === 'date' ? 'month' : 'year';\n const amount = view === 'year' ? 12 * direction : direction;\n onMonthChange(current.add(amount, unit).toDate());\n };\n\n const drillUp = () => setView(view === 'date' ? 'month' : 'year');\n\n const handleDayKey = (event: KeyboardEvent<HTMLButtonElement>) => {\n let next = moveDayFocus(focusDay, event.key, weekStart);\n if (!next) return;\n event.preventDefault();\n for (let step = 0; next && isDayDisabled(next, bounds) && step < 366; step++) {\n next = moveDayFocus(next, event.key, weekStart);\n }\n if (!next || isDayDisabled(next, bounds)) return;\n keyboardMoveRef.current = true;\n setFocused(next);\n if (!dayjs(next).isSame(month, 'month')) onMonthChange(next);\n };\n\n const band = (() => {\n if (!range?.[0]) return null;\n const end = range[1] ?? hovered;\n return end ? orderRange(range[0], end) : null;\n })();\n\n const renderDays = () => {\n return (\n <div\n aria-label={current.format('MMMM YYYY')}\n {...stylex.props(styles.grid)}\n ref={gridRef}\n role=\"grid\"\n onMouseLeave={() => onHover?.(null)}\n >\n {getWeekdayLabels(weekStart).map((label) => (\n <span\n key={label}\n role=\"columnheader\"\n {...stylex.props(styles.weekday, panelStyles.label)}\n >\n {label}\n </span>\n ))}\n {days.map((date) => {\n const outside = !dayjs(date).isSame(month, 'month');\n const isStart = !outside && !!band && isSameDay(date, band[0]);\n const isEnd = !outside && !!band && isSameDay(date, band[1]);\n const inBand =\n !outside &&\n !!band &&\n dayjs(date).isAfter(band[0], 'day') &&\n dayjs(date).isBefore(band[1], 'day');\n const pressed = !outside && (isSameDay(date, selected) || isStart || isEnd);\n const focusTarget = isSameDay(date, focusDay) && !outside;\n\n return (\n <span\n aria-selected={pressed}\n key={date.toISOString()}\n role=\"gridcell\"\n {...stylex.props(\n styles.cell,\n inBand && styles.band,\n isStart && !isEnd && styles.bandStart,\n isEnd && !isStart && styles.bandEnd,\n )}\n >\n <button\n aria-label={dayjs(date).format('MMMM D, YYYY')}\n aria-pressed={pressed}\n {...stylex.props(focusRing.info, styles.day)}\n data-focus-target={focusTarget ? '' : undefined}\n data-outside={outside ? '' : undefined}\n data-today={isSameDay(date, today) ? '' : undefined}\n disabled={isDayDisabled(date, bounds)}\n tabIndex={focusTarget ? 0 : -1}\n type=\"button\"\n onClick={() => onSelect(dayjs(date).startOf('day').toDate())}\n onKeyDown={handleDayKey}\n onMouseEnter={() => onHover?.(date)}\n >\n {date.getDate()}\n </button>\n </span>\n );\n })}\n </div>\n );\n };\n\n const renderMonths = () => (\n <div {...stylex.props(styles.tiles)}>\n {MONTHS.map((index) => {\n const date = current.month(index).startOf('month').toDate();\n return (\n <button\n aria-pressed={!!selected && dayjs(selected).isSame(date, 'month')}\n {...stylex.props(focusRing.info, styles.tile)}\n data-today={dayjs(today).isSame(date, 'month') ? '' : undefined}\n disabled={isMonthDisabled(date, bounds)}\n key={index}\n type=\"button\"\n onClick={() => {\n if (mode === 'month') return onSelect(date);\n onMonthChange(date);\n setView('date');\n }}\n >\n {dayjs(date).format('MMM')}\n </button>\n );\n })}\n </div>\n );\n\n const renderYears = () => (\n <div {...stylex.props(styles.tiles)}>\n {MONTHS.map((index) => {\n const date = dayjs(new Date(decadeStart + index, 0, 1)).toDate();\n return (\n <button\n aria-pressed={!!selected && dayjs(selected).isSame(date, 'year')}\n {...stylex.props(focusRing.info, styles.tile)}\n data-today={dayjs(today).isSame(date, 'year') ? '' : undefined}\n disabled={isYearDisabled(date, bounds)}\n key={index}\n type=\"button\"\n onClick={() => {\n if (mode === 'year') return onSelect(date);\n onMonthChange(current.year(decadeStart + index).toDate());\n setView('month');\n }}\n >\n {decadeStart + index}\n </button>\n );\n })}\n </div>\n );\n\n const title = (() => {\n if (view === 'date')\n return (\n <>\n {current.format('MMMM')}{' '}\n <span {...stylex.props(panelStyles.titleMuted)}>{current.format('YYYY')}</span>\n </>\n );\n if (view === 'month') return current.format('YYYY');\n return `${decadeStart} – ${decadeStart + 11}`;\n })();\n\n return (\n <div {...stylex.props(styles.calendar)}>\n <div {...stylex.props(styles.header)}>\n <button\n {...stylex.props(panelStyles.title)}\n disabled={view === 'year'}\n type=\"button\"\n onClick={drillUp}\n >\n {title}\n </button>\n {showNav && (\n <div {...stylex.props(styles.navGroup)}>\n <button\n aria-label={t('datePicker.previous')}\n {...stylex.props(panelStyles.nav)}\n type=\"button\"\n onClick={() => step(-1)}\n >\n <Icon icon={ChevronLeft} size={14} />\n </button>\n <button\n aria-label={t('datePicker.next')}\n {...stylex.props(panelStyles.nav)}\n type=\"button\"\n onClick={() => step(1)}\n >\n <Icon icon={ChevronRight} size={14} />\n </button>\n </div>\n )}\n </div>\n {view === 'date' && renderDays()}\n {view === 'month' && renderMonths()}\n {view === 'year' && renderYears()}\n </div>\n );\n },\n);\n\nCalendarPanel.displayName = 'CalendarPanel';\n\nexport default CalendarPanel;\n"],"mappings":"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"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { styleProps } from "../styles/stylex/props.mjs";
|
|
3
|
-
import { useThemeMode } from "../styles/theme/scope.mjs";
|
|
4
|
-
import { inputRootStyles } from "../Input/style.mjs";
|
|
5
|
-
import ClearButton from "../Input/ClearButton.mjs";
|
|
6
|
-
import { panelStyles } from "../internal/panelStyles.mjs";
|
|
7
|
-
import { PopoverPopup, PopoverPortal, PopoverPositioner, PopoverRoot, PopoverTriggerElement } from "../Popover/atoms.mjs";
|
|
8
|
-
import { memo, useRef } from "react";
|
|
9
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
-
//#region src/DatePicker/PickerShell.tsx
|
|
11
|
-
const PickerShell = memo(({ children, className, disabled, icon, onClear, onOpenChange, open, shadow, showClear, size = "middle", style, trigger, variant }) => {
|
|
12
|
-
const { isDarkMode } = useThemeMode();
|
|
13
|
-
const anchorRef = useRef(null);
|
|
14
|
-
const popupRef = useRef(null);
|
|
15
|
-
return /* @__PURE__ */ jsxs("div", {
|
|
16
|
-
"data-disabled": disabled ? "" : void 0,
|
|
17
|
-
ref: anchorRef,
|
|
18
|
-
...styleProps(inputRootStyles({
|
|
19
|
-
shadow,
|
|
20
|
-
size,
|
|
21
|
-
variant: variant || (isDarkMode ? "filled" : "outlined")
|
|
22
|
-
}), className, style),
|
|
23
|
-
children: [/* @__PURE__ */ jsxs(PopoverRoot, {
|
|
24
|
-
open,
|
|
25
|
-
onOpenChange: (next) => !disabled && onOpenChange(next),
|
|
26
|
-
children: [/* @__PURE__ */ jsx(PopoverTriggerElement, { children: trigger }), /* @__PURE__ */ jsx(PopoverPortal, { children: /* @__PURE__ */ jsx(PopoverPositioner, {
|
|
27
|
-
anchor: anchorRef,
|
|
28
|
-
placement: "bottomLeft",
|
|
29
|
-
children: /* @__PURE__ */ jsx(PopoverPopup, {
|
|
30
|
-
ref: popupRef,
|
|
31
|
-
xstyle: panelStyles.popup,
|
|
32
|
-
initialFocus: () => popupRef.current?.querySelector("[data-focus-target]") ?? true,
|
|
33
|
-
children
|
|
34
|
-
})
|
|
35
|
-
}) })]
|
|
36
|
-
}), showClear && !disabled ? /* @__PURE__ */ jsx(ClearButton, { onClear }) : icon]
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
PickerShell.displayName = "PickerShell";
|
|
40
|
-
//#endregion
|
|
41
|
-
export { PickerShell as default };
|
|
42
|
-
|
|
43
|
-
//# sourceMappingURL=PickerShell.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PickerShell.mjs","names":[],"sources":["../../src/DatePicker/PickerShell.tsx"],"sourcesContent":["'use client';\n\nimport { type CSSProperties, memo, type ReactElement, type ReactNode, useRef } from 'react';\n\nimport ClearButton from '@/Input/ClearButton';\nimport { inputRootStyles } from '@/Input/style';\nimport type { InputSize, InputVariant } from '@/Input/type';\nimport { panelStyles } from '@/internal/panelStyles';\nimport {\n PopoverPopup,\n PopoverPortal,\n PopoverPositioner,\n PopoverRoot,\n PopoverTriggerElement,\n} from '@/Popover';\nimport { styleProps } from '@/styles/stylex/props';\nimport { useThemeMode } from '@/styles/theme/scope';\n\nexport interface PickerShellProps {\n children: ReactNode;\n className?: string;\n disabled?: boolean;\n icon: ReactNode;\n onClear: () => void;\n onOpenChange: (open: boolean) => void;\n open: boolean;\n shadow?: boolean;\n showClear: boolean;\n size?: InputSize;\n style?: CSSProperties;\n trigger: ReactElement;\n variant?: InputVariant;\n}\n\nconst PickerShell = memo<PickerShellProps>(\n ({\n children,\n className,\n disabled,\n icon,\n onClear,\n onOpenChange,\n open,\n shadow,\n showClear,\n size = 'middle',\n style,\n trigger,\n variant,\n }) => {\n const { isDarkMode } = useThemeMode();\n const anchorRef = useRef<HTMLDivElement>(null);\n const popupRef = useRef<HTMLDivElement>(null);\n\n return (\n <div\n data-disabled={disabled ? '' : undefined}\n ref={anchorRef}\n {...styleProps(\n inputRootStyles({\n shadow,\n size,\n variant: variant || (isDarkMode ? 'filled' : 'outlined'),\n }),\n className,\n style,\n )}\n >\n <PopoverRoot open={open} onOpenChange={(next) => !disabled && onOpenChange(next)}>\n <PopoverTriggerElement>{trigger}</PopoverTriggerElement>\n <PopoverPortal>\n <PopoverPositioner anchor={anchorRef} placement=\"bottomLeft\">\n <PopoverPopup\n ref={popupRef}\n xstyle={panelStyles.popup}\n initialFocus={() =>\n popupRef.current?.querySelector<HTMLElement>('[data-focus-target]') ?? true\n }\n >\n {children}\n </PopoverPopup>\n </PopoverPositioner>\n </PopoverPortal>\n </PopoverRoot>\n {showClear && !disabled ? <ClearButton onClear={onClear} /> : icon}\n </div>\n );\n },\n);\n\nPickerShell.displayName = 'PickerShell';\n\nexport default PickerShell;\n"],"mappings":";;;;;;;;;;AAkCA,MAAM,cAAc,MACjB,EACC,UACA,WACA,UACA,MACA,SACA,cACA,MACA,QACA,WACA,OAAO,UACP,OACA,SACA,cACI;CACJ,MAAM,EAAE,eAAe,aAAa;CACpC,MAAM,YAAY,OAAuB,IAAI;CAC7C,MAAM,WAAW,OAAuB,IAAI;CAE5C,OACE,qBAAC,OAAD;EACE,iBAAe,WAAW,KAAK,KAAA;EAC/B,KAAK;EACL,GAAI,WACF,gBAAgB;GACd;GACA;GACA,SAAS,YAAY,aAAa,WAAW;EAC/C,CAAC,GACD,WACA,KACF;EAXF,UAAA,CAaE,qBAAC,aAAD;GAAmB;GAAM,eAAe,SAAS,CAAC,YAAY,aAAa,IAAI;GAA/E,UAAA,CACE,oBAAC,uBAAD,EAAA,UAAwB,QAA+B,CAAA,GACvD,oBAAC,eAAD,EAAA,UACE,oBAAC,mBAAD;IAAmB,QAAQ;IAAW,WAAU;IAC9C,UAAA,oBAAC,cAAD;KACE,KAAK;KACL,QAAQ,YAAY;KACpB,oBACE,SAAS,SAAS,cAA2B,qBAAqB,KAAK;KAGxE;IACW,CAAA;GACG,CAAA,EACN,CAAA,CACJ;EACZ,CAAA,GAAA,aAAa,CAAC,WAAW,oBAAC,aAAD,EAAsB,QAAU,CAAA,IAAI,IAC3D;;AAET,CACF;AAEA,YAAY,cAAc"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import dayjs from "dayjs";
|
|
2
|
-
//#region src/DatePicker/calendar.ts
|
|
3
|
-
const DEFAULT_FORMAT = {
|
|
4
|
-
date: "MMM D, YYYY",
|
|
5
|
-
month: "MMMM YYYY",
|
|
6
|
-
year: "YYYY"
|
|
7
|
-
};
|
|
8
|
-
const getWeekStart = () => {
|
|
9
|
-
return dayjs.Ls[dayjs.locale()]?.weekStart ?? 0;
|
|
10
|
-
};
|
|
11
|
-
const offsetFromWeekStart = (date, weekStart) => (dayjs(date).day() - weekStart + 7) % 7;
|
|
12
|
-
const buildMonthGrid = (month, weekStart = getWeekStart()) => {
|
|
13
|
-
const first = dayjs(month).startOf("month");
|
|
14
|
-
const start = first.subtract(offsetFromWeekStart(first.toDate(), weekStart), "day");
|
|
15
|
-
return Array.from({ length: 42 }, (_, index) => start.add(index, "day").toDate());
|
|
16
|
-
};
|
|
17
|
-
const getWeekdayLabels = (weekStart = getWeekStart()) => Array.from({ length: 7 }, (_, index) => dayjs().day((weekStart + index) % 7).format("dd"));
|
|
18
|
-
const isSameDay = (a, b) => !!a && !!b && dayjs(a).isSame(b, "day");
|
|
19
|
-
const isDayDisabled = (date, { disabledDate, max, min }) => !!min && dayjs(date).isBefore(min, "day") || !!max && dayjs(date).isAfter(max, "day") || !!disabledDate?.(date);
|
|
20
|
-
const isMonthDisabled = (month, { max, min }) => !!min && dayjs(month).isBefore(min, "month") || !!max && dayjs(month).isAfter(max, "month");
|
|
21
|
-
const isYearDisabled = (year, { max, min }) => !!min && dayjs(year).isBefore(min, "year") || !!max && dayjs(year).isAfter(max, "year");
|
|
22
|
-
const moveDayFocus = (date, key, weekStart = getWeekStart()) => {
|
|
23
|
-
const current = dayjs(date);
|
|
24
|
-
const offset = offsetFromWeekStart(date, weekStart);
|
|
25
|
-
switch (key) {
|
|
26
|
-
case "ArrowLeft": return current.subtract(1, "day").toDate();
|
|
27
|
-
case "ArrowRight": return current.add(1, "day").toDate();
|
|
28
|
-
case "ArrowUp": return current.subtract(7, "day").toDate();
|
|
29
|
-
case "ArrowDown": return current.add(7, "day").toDate();
|
|
30
|
-
case "PageUp": return current.subtract(1, "month").toDate();
|
|
31
|
-
case "PageDown": return current.add(1, "month").toDate();
|
|
32
|
-
case "Home": return current.subtract(offset, "day").toDate();
|
|
33
|
-
case "End": return current.add(6 - offset, "day").toDate();
|
|
34
|
-
default: return null;
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
const orderRange = (a, b) => dayjs(a).isAfter(b, "day") ? [b, a] : [a, b];
|
|
38
|
-
const clampToBounds = (date, { max, min }) => {
|
|
39
|
-
if (min && dayjs(date).isBefore(min, "day")) return min;
|
|
40
|
-
if (max && dayjs(date).isAfter(max, "day")) return max;
|
|
41
|
-
return date;
|
|
42
|
-
};
|
|
43
|
-
//#endregion
|
|
44
|
-
export { DEFAULT_FORMAT, buildMonthGrid, clampToBounds, getWeekStart, getWeekdayLabels, isDayDisabled, isMonthDisabled, isSameDay, isYearDisabled, moveDayFocus, orderRange };
|
|
45
|
-
|
|
46
|
-
//# sourceMappingURL=calendar.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.mjs","names":[],"sources":["../../src/DatePicker/calendar.ts"],"sourcesContent":["import dayjs from 'dayjs';\n\nexport type CalendarMode = 'date' | 'month' | 'year';\n\nexport interface DateBounds {\n disabledDate?: (date: Date) => boolean;\n max?: Date;\n min?: Date;\n}\n\nexport const DEFAULT_FORMAT: Record<CalendarMode, string> = {\n date: 'MMM D, YYYY',\n month: 'MMMM YYYY',\n year: 'YYYY',\n};\n\nexport const getWeekStart = (): number => {\n const locales = (dayjs as unknown as { Ls: Record<string, { weekStart?: number }> }).Ls;\n return locales[dayjs.locale()]?.weekStart ?? 0;\n};\n\nconst offsetFromWeekStart = (date: Date, weekStart: number) =>\n (dayjs(date).day() - weekStart + 7) % 7;\n\nexport const buildMonthGrid = (month: Date, weekStart = getWeekStart()): Date[] => {\n const first = dayjs(month).startOf('month');\n const start = first.subtract(offsetFromWeekStart(first.toDate(), weekStart), 'day');\n return Array.from({ length: 42 }, (_, index) => start.add(index, 'day').toDate());\n};\n\nexport const getWeekdayLabels = (weekStart = getWeekStart()): string[] =>\n Array.from({ length: 7 }, (_, index) =>\n dayjs()\n .day((weekStart + index) % 7)\n .format('dd'),\n );\n\nexport const isSameDay = (a?: Date | null, b?: Date | null) =>\n !!a && !!b && dayjs(a).isSame(b, 'day');\n\nexport const isDayDisabled = (date: Date, { disabledDate, max, min }: DateBounds) =>\n (!!min && dayjs(date).isBefore(min, 'day')) ||\n (!!max && dayjs(date).isAfter(max, 'day')) ||\n !!disabledDate?.(date);\n\nexport const isMonthDisabled = (month: Date, { max, min }: DateBounds) =>\n (!!min && dayjs(month).isBefore(min, 'month')) || (!!max && dayjs(month).isAfter(max, 'month'));\n\nexport const isYearDisabled = (year: Date, { max, min }: DateBounds) =>\n (!!min && dayjs(year).isBefore(min, 'year')) || (!!max && dayjs(year).isAfter(max, 'year'));\n\nexport const moveDayFocus = (date: Date, key: string, weekStart = getWeekStart()): Date | null => {\n const current = dayjs(date);\n const offset = offsetFromWeekStart(date, weekStart);\n switch (key) {\n case 'ArrowLeft': {\n return current.subtract(1, 'day').toDate();\n }\n case 'ArrowRight': {\n return current.add(1, 'day').toDate();\n }\n case 'ArrowUp': {\n return current.subtract(7, 'day').toDate();\n }\n case 'ArrowDown': {\n return current.add(7, 'day').toDate();\n }\n case 'PageUp': {\n return current.subtract(1, 'month').toDate();\n }\n case 'PageDown': {\n return current.add(1, 'month').toDate();\n }\n case 'Home': {\n return current.subtract(offset, 'day').toDate();\n }\n case 'End': {\n return current.add(6 - offset, 'day').toDate();\n }\n default: {\n return null;\n }\n }\n};\n\nexport const orderRange = (a: Date, b: Date): [Date, Date] =>\n dayjs(a).isAfter(b, 'day') ? [b, a] : [a, b];\n\nexport const clampToBounds = (date: Date, { max, min }: DateBounds): Date => {\n if (min && dayjs(date).isBefore(min, 'day')) return min;\n if (max && dayjs(date).isAfter(max, 'day')) return max;\n return date;\n};\n"],"mappings":"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"}
|
package/es/Table/FilterMenu.mjs
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import Icon from "../Icon/Icon.mjs";
|
|
3
|
-
import DropdownMenu from "../DropdownMenu/DropdownMenu.mjs";
|
|
4
|
-
import { filterButtonStyles, styles } from "./style.mjs";
|
|
5
|
-
import { memo } from "react";
|
|
6
|
-
import { jsx } from "react/jsx-runtime";
|
|
7
|
-
import * as stylex from "@stylexjs/stylex";
|
|
8
|
-
import { ListFilter } from "lucide-react";
|
|
9
|
-
//#region src/Table/FilterMenu.tsx
|
|
10
|
-
const FilterMenu = memo(({ filters, label, onChange, value }) => {
|
|
11
|
-
const items = [
|
|
12
|
-
...filters.map((filter) => ({
|
|
13
|
-
checked: value.includes(filter.value),
|
|
14
|
-
closeOnClick: false,
|
|
15
|
-
key: String(filter.value),
|
|
16
|
-
label: filter.text,
|
|
17
|
-
onCheckedChange: (checked) => onChange(checked ? [...value, filter.value] : value.filter((item) => item !== filter.value)),
|
|
18
|
-
type: "checkbox"
|
|
19
|
-
})),
|
|
20
|
-
{ type: "divider" },
|
|
21
|
-
{
|
|
22
|
-
disabled: value.length === 0,
|
|
23
|
-
key: "__reset",
|
|
24
|
-
label: "Reset",
|
|
25
|
-
onClick: () => onChange([])
|
|
26
|
-
}
|
|
27
|
-
];
|
|
28
|
-
return /* @__PURE__ */ jsx(DropdownMenu, {
|
|
29
|
-
items,
|
|
30
|
-
children: /* @__PURE__ */ jsx("button", {
|
|
31
|
-
"aria-label": `Filter ${label}`,
|
|
32
|
-
type: "button",
|
|
33
|
-
...stylex.props(filterButtonStyles, value.length > 0 && styles.filterActive),
|
|
34
|
-
children: /* @__PURE__ */ jsx(Icon, {
|
|
35
|
-
icon: ListFilter,
|
|
36
|
-
size: 12
|
|
37
|
-
})
|
|
38
|
-
})
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
FilterMenu.displayName = "TableFilterMenu";
|
|
42
|
-
//#endregion
|
|
43
|
-
export { FilterMenu as default };
|
|
44
|
-
|
|
45
|
-
//# sourceMappingURL=FilterMenu.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FilterMenu.mjs","names":[],"sources":["../../src/Table/FilterMenu.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\nimport { ListFilter } from 'lucide-react';\nimport { memo, type ReactNode } from 'react';\n\nimport DropdownMenu from '@/DropdownMenu';\nimport type { DropdownItem } from '@/DropdownMenu/type';\nimport Icon from '@/Icon';\n\nimport { filterButtonStyles, styles } from './style';\nimport type { FilterValue } from './type';\n\ninterface FilterMenuProps {\n filters: { text: ReactNode; value: FilterValue }[];\n label: string;\n onChange: (next: FilterValue[]) => void;\n value: FilterValue[];\n}\n\nconst FilterMenu = memo<FilterMenuProps>(({ filters, label, onChange, value }) => {\n const items: DropdownItem[] = [\n ...filters.map((filter) => ({\n checked: value.includes(filter.value),\n closeOnClick: false,\n key: String(filter.value),\n label: filter.text,\n onCheckedChange: (checked: boolean) =>\n onChange(\n checked ? [...value, filter.value] : value.filter((item) => item !== filter.value),\n ),\n type: 'checkbox' as const,\n })),\n { type: 'divider' as const },\n { disabled: value.length === 0, key: '__reset', label: 'Reset', onClick: () => onChange([]) },\n ];\n\n return (\n <DropdownMenu items={items}>\n <button\n aria-label={`Filter ${label}`}\n type=\"button\"\n {...stylex.props(filterButtonStyles, value.length > 0 && styles.filterActive)}\n >\n <Icon icon={ListFilter} size={12} />\n </button>\n </DropdownMenu>\n );\n});\n\nFilterMenu.displayName = 'TableFilterMenu';\n\nexport default FilterMenu;\n"],"mappings":";;;;;;;;;AAmBA,MAAM,aAAa,MAAuB,EACxC,SACA,OACA,UACA,YACI;CACJ,MAAM,QAAwB;EAAC,GAAG,QAAQ,KAAI,YAAW;GACvD,SAAS,MAAM,SAAS,OAAO,KAAK;GACpC,cAAc;GACd,KAAK,OAAO,OAAO,KAAK;GACxB,OAAO,OAAO;GACd,kBAAkB,YAAqB,SAAS,UAAU,CAAC,GAAG,OAAO,OAAO,KAAK,IAAI,MAAM,QAAO,SAAQ,SAAS,OAAO,KAAK,CAAC;GAChI,MAAM;EACR,EAAE;EAAG,EACH,MAAM,UACR;EAAG;GACD,UAAU,MAAM,WAAW;GAC3B,KAAK;GACL,OAAO;GACP,eAAe,SAAS,CAAC,CAAC;EAC5B;CAAC;CACD,OAAO,oBAAC,cAAD;EAAqB;EACxB,UAAA,oBAAC,UAAD;GAAQ,cAAY,UAAU;GAAS,MAAK;GAAS,GAAI,OAAO,MAAM,oBAAoB,MAAM,SAAS,KAAK,OAAO,YAAY;GAC/H,UAAA,oBAAC,MAAD;IAAM,MAAM;IAAY,MAAM;GAAK,CAAA;EAC7B,CAAA;CACI,CAAA;AAClB,CAAC;AACD,WAAW,cAAc"}
|
package/es/Table/TableBody.mjs
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { styleProps } from "../styles/stylex/props.mjs";
|
|
3
|
-
import Empty from "../Empty/Empty.mjs";
|
|
4
|
-
import Spin from "../Spin/Spin.mjs";
|
|
5
|
-
import { tableRowMarker } from "./marker.stylex.mjs";
|
|
6
|
-
import { cellSizeStyles, styles } from "./style.mjs";
|
|
7
|
-
import { getCellValue } from "./toColumnDefs.mjs";
|
|
8
|
-
import { createElement } from "react";
|
|
9
|
-
import { jsx } from "react/jsx-runtime";
|
|
10
|
-
import clsx from "clsx";
|
|
11
|
-
import * as stylex from "@stylexjs/stylex";
|
|
12
|
-
//#region src/Table/TableBody.tsx
|
|
13
|
-
const TableBody = ({ bordered, classNames, columnIds, columns, emptyText, fixedOffsets, loading, onRow, rowClassName, rows, size, styles: customStyles }) => {
|
|
14
|
-
if (rows.length === 0) return /* @__PURE__ */ jsx("tbody", {
|
|
15
|
-
className: classNames?.body,
|
|
16
|
-
style: customStyles?.body,
|
|
17
|
-
children: /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
|
|
18
|
-
colSpan: columns.length,
|
|
19
|
-
...stylex.props(styles.empty, cellSizeStyles[size]),
|
|
20
|
-
children: loading ? /* @__PURE__ */ jsx(Spin, {}) : emptyText ?? /* @__PURE__ */ jsx(Empty, { description: "No data" })
|
|
21
|
-
}) })
|
|
22
|
-
});
|
|
23
|
-
return /* @__PURE__ */ jsx("tbody", {
|
|
24
|
-
className: classNames?.body,
|
|
25
|
-
style: customStyles?.body,
|
|
26
|
-
children: rows.map((row, rowIndex) => {
|
|
27
|
-
const record = row.original;
|
|
28
|
-
const rowProps = onRow?.(record, rowIndex) ?? {};
|
|
29
|
-
const extraClassName = typeof rowClassName === "function" ? rowClassName(record, rowIndex) : rowClassName;
|
|
30
|
-
return /* @__PURE__ */ createElement("tr", {
|
|
31
|
-
...rowProps,
|
|
32
|
-
key: row.id,
|
|
33
|
-
...styleProps([tableRowMarker, rowProps.onClick && styles.clickable], clsx(extraClassName, classNames?.row, rowProps.className), {
|
|
34
|
-
...customStyles?.row,
|
|
35
|
-
...rowProps.style
|
|
36
|
-
})
|
|
37
|
-
}, columns.map((column, columnIndex) => {
|
|
38
|
-
const value = getCellValue(record, column);
|
|
39
|
-
const cellProps = column.onCell?.(record, rowIndex) ?? {};
|
|
40
|
-
const content = column.render ? column.render(value, record, rowIndex) : value;
|
|
41
|
-
return /* @__PURE__ */ createElement("td", {
|
|
42
|
-
...cellProps,
|
|
43
|
-
key: columnIds[columnIndex],
|
|
44
|
-
title: column.ellipsis && typeof content === "string" ? content : cellProps.title,
|
|
45
|
-
...styleProps([
|
|
46
|
-
styles.cell,
|
|
47
|
-
column.ellipsis && styles.ellipsis,
|
|
48
|
-
column.fixed && styles.fixed,
|
|
49
|
-
cellSizeStyles[size],
|
|
50
|
-
bordered && columnIndex < columns.length - 1 && styles.borderedCell,
|
|
51
|
-
rowIndex === rows.length - 1 && styles.cellLastRow
|
|
52
|
-
], clsx(column.className, classNames?.cell, cellProps.className), {
|
|
53
|
-
textAlign: column.align,
|
|
54
|
-
width: column.width,
|
|
55
|
-
...fixedOffsets[columnIndex],
|
|
56
|
-
...customStyles?.cell,
|
|
57
|
-
...cellProps.style
|
|
58
|
-
})
|
|
59
|
-
}, content);
|
|
60
|
-
}));
|
|
61
|
-
})
|
|
62
|
-
});
|
|
63
|
-
};
|
|
64
|
-
//#endregion
|
|
65
|
-
export { TableBody as default };
|
|
66
|
-
|
|
67
|
-
//# sourceMappingURL=TableBody.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableBody.mjs","names":[],"sources":["../../src/Table/TableBody.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\nimport type { CSSProperties, Key, ReactNode } from 'react';\n\nimport Empty from '@/Empty';\nimport Spin from '@/Spin';\nimport { styleProps } from '@/styles/stylex/props';\n\nimport { tableRowMarker } from './marker.stylex';\nimport { cellSizeStyles, styles } from './style';\nimport { getCellValue } from './toColumnDefs';\nimport type { TableColumn, TableProps } from './type';\n\ninterface TableBodyProps<T> {\n bordered: boolean;\n classNames?: TableProps<T>['classNames'];\n columnIds: string[];\n columns: TableColumn<T>[];\n emptyText?: ReactNode;\n fixedOffsets: (CSSProperties | undefined)[];\n loading: boolean;\n onRow?: TableProps<T>['onRow'];\n rowClassName?: TableProps<T>['rowClassName'];\n rows: { id: Key; original: T }[];\n size: NonNullable<TableProps<T>['size']>;\n styles?: TableProps<T>['styles'];\n}\n\nconst TableBody = <T,>({\n bordered,\n classNames,\n columnIds,\n columns,\n emptyText,\n fixedOffsets,\n loading,\n onRow,\n rowClassName,\n rows,\n size,\n styles: customStyles,\n}: TableBodyProps<T>) => {\n if (rows.length === 0) {\n return (\n <tbody className={classNames?.body} style={customStyles?.body}>\n <tr>\n <td colSpan={columns.length} {...stylex.props(styles.empty, cellSizeStyles[size])}>\n {loading ? <Spin /> : (emptyText ?? <Empty description=\"No data\" />)}\n </td>\n </tr>\n </tbody>\n );\n }\n\n return (\n <tbody className={classNames?.body} style={customStyles?.body}>\n {rows.map((row, rowIndex) => {\n const record = row.original;\n const rowProps = onRow?.(record, rowIndex) ?? {};\n const extraClassName =\n typeof rowClassName === 'function' ? rowClassName(record, rowIndex) : rowClassName;\n\n return (\n <tr\n {...rowProps}\n key={row.id}\n {...styleProps(\n [tableRowMarker, rowProps.onClick && styles.clickable],\n clsx(extraClassName, classNames?.row, rowProps.className),\n { ...customStyles?.row, ...rowProps.style },\n )}\n >\n {columns.map((column, columnIndex) => {\n const value = getCellValue(record, column);\n const cellProps = column.onCell?.(record, rowIndex) ?? {};\n const content = column.render\n ? column.render(value, record, rowIndex)\n : (value as ReactNode);\n\n return (\n <td\n {...cellProps}\n key={columnIds[columnIndex]}\n title={column.ellipsis && typeof content === 'string' ? content : cellProps.title}\n {...styleProps(\n [\n styles.cell,\n column.ellipsis && styles.ellipsis,\n column.fixed && styles.fixed,\n cellSizeStyles[size],\n bordered && columnIndex < columns.length - 1 && styles.borderedCell,\n rowIndex === rows.length - 1 && styles.cellLastRow,\n ],\n clsx(column.className, classNames?.cell, cellProps.className),\n {\n textAlign: column.align,\n width: column.width,\n ...fixedOffsets[columnIndex],\n ...customStyles?.cell,\n ...cellProps.style,\n },\n )}\n >\n {content}\n </td>\n );\n })}\n </tr>\n );\n })}\n </tbody>\n );\n};\n\nexport default TableBody;\n"],"mappings":";;;;;;;;;;;;AA6BA,MAAM,aAAiB,EACrB,UACA,YACA,WACA,SACA,WACA,cACA,SACA,OACA,cACA,MACA,MACA,QAAQ,mBACe;CACvB,IAAI,KAAK,WAAW,GAClB,OAAO,oBAAC,SAAD;EAAO,WAAW,YAAY;EAAM,OAAO,cAAc;EAC5D,UAAA,oBAAC,MAAD,EAAA,UACE,oBAAC,MAAD;GAAI,SAAS,QAAQ;GAAQ,GAAI,OAAO,MAAM,OAAO,OAAO,eAAe,KAAK;GAC7E,UAAA,UAAU,oBAAC,MAAD,CAAO,CAAA,IAAI,aAAa,oBAAC,OAAD,EAAO,aAAY,UAAW,CAAA;EAC/D,CAAA,EACF,CAAA;CACC,CAAA;CAEX,OAAO,oBAAC,SAAD;EAAO,WAAW,YAAY;EAAM,OAAO,cAAc;EAC3D,UAAA,KAAK,KAAK,KAAK,aAAa;GAC7B,MAAM,SAAS,IAAI;GACnB,MAAM,WAAW,QAAQ,QAAQ,QAAQ,KAAK,CAAC;GAC/C,MAAM,iBAAiB,OAAO,iBAAiB,aAAa,aAAa,QAAQ,QAAQ,IAAI;GAC7F,OAAO,8BAAC,MAAD;IAAI,GAAI;IAAU,KAAK,IAAI;IAAI,GAAI,WAAW,CAAC,gBAAgB,SAAS,WAAW,OAAO,SAAS,GAAG,KAAK,gBAAgB,YAAY,KAAK,SAAS,SAAS,GAAG;KACtK,GAAG,cAAc;KACjB,GAAG,SAAS;IACd,CAAC;GAeO,GAdD,QAAQ,KAAK,QAAQ,gBAAgB;IACxC,MAAM,QAAQ,aAAa,QAAQ,MAAM;IACzC,MAAM,YAAY,OAAO,SAAS,QAAQ,QAAQ,KAAK,CAAC;IACxD,MAAM,UAAU,OAAO,SAAS,OAAO,OAAO,OAAO,QAAQ,QAAQ,IAAI;IACzE,OAAO,8BAAC,MAAD;KAAI,GAAI;KAAW,KAAK,UAAU;KAAc,OAAO,OAAO,YAAY,OAAO,YAAY,WAAW,UAAU,UAAU;KAAO,GAAI,WAAW;MAAC,OAAO;MAAM,OAAO,YAAY,OAAO;MAAU,OAAO,SAAS,OAAO;MAAO,eAAe;MAAO,YAAY,cAAc,QAAQ,SAAS,KAAK,OAAO;MAAc,aAAa,KAAK,SAAS,KAAK,OAAO;KAAW,GAAG,KAAK,OAAO,WAAW,YAAY,MAAM,UAAU,SAAS,GAAG;MACtb,WAAW,OAAO;MAClB,OAAO,OAAO;MACd,GAAG,aAAa;MAChB,GAAG,cAAc;MACjB,GAAG,UAAU;KACf,CAAC;IAES,GADD,OACC;GACZ,CAAC,CACK;EACV,CAAC;CACM,CAAA;AACX"}
|
package/es/Table/TableHead.mjs
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { styleProps } from "../styles/stylex/props.mjs";
|
|
3
|
-
import Icon from "../Icon/Icon.mjs";
|
|
4
|
-
import { cellSizeStyles, sortButtonStyles, styles } from "./style.mjs";
|
|
5
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import clsx from "clsx";
|
|
7
|
-
import * as stylex from "@stylexjs/stylex";
|
|
8
|
-
import { ChevronDown, ChevronUp } from "lucide-react";
|
|
9
|
-
//#region src/Table/TableHead.tsx
|
|
10
|
-
const ariaSortOf = (sorted) => sorted === "asc" ? "ascending" : sorted === "desc" ? "descending" : "none";
|
|
11
|
-
const TableHead = ({ bordered, classNames, columnIds, columns, fixedOffsets, getColumn, renderFilter, size, styles: customStyles }) => /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsx("tr", { children: columns.map((column, index) => {
|
|
12
|
-
const id = columnIds[index];
|
|
13
|
-
const tableColumn = getColumn(id);
|
|
14
|
-
const sorted = column.sorter ? tableColumn?.getIsSorted() ?? false : false;
|
|
15
|
-
return /* @__PURE__ */ jsx("th", {
|
|
16
|
-
"aria-sort": column.sorter ? ariaSortOf(sorted) : void 0,
|
|
17
|
-
scope: "col",
|
|
18
|
-
...styleProps([
|
|
19
|
-
styles.header,
|
|
20
|
-
column.fixed && styles.fixed,
|
|
21
|
-
cellSizeStyles[size],
|
|
22
|
-
bordered && index < columns.length - 1 && styles.borderedCell
|
|
23
|
-
], clsx(column.className, classNames?.header), {
|
|
24
|
-
textAlign: column.align,
|
|
25
|
-
width: column.width,
|
|
26
|
-
...fixedOffsets[index],
|
|
27
|
-
...customStyles?.header,
|
|
28
|
-
...column.fixed ? { zIndex: 3 } : void 0
|
|
29
|
-
}),
|
|
30
|
-
children: /* @__PURE__ */ jsxs("span", {
|
|
31
|
-
...stylex.props(styles.headerInner),
|
|
32
|
-
children: [column.sorter ? /* @__PURE__ */ jsxs("button", {
|
|
33
|
-
type: "button",
|
|
34
|
-
...stylex.props(sortButtonStyles),
|
|
35
|
-
onClick: tableColumn?.getToggleSortingHandler(),
|
|
36
|
-
children: [column.title, /* @__PURE__ */ jsxs("span", {
|
|
37
|
-
"aria-hidden": "true",
|
|
38
|
-
...stylex.props(styles.sortCaret),
|
|
39
|
-
children: [/* @__PURE__ */ jsx(Icon, {
|
|
40
|
-
className: stylex.props(sorted === "asc" && styles.caretActive).className,
|
|
41
|
-
"data-active": sorted === "asc",
|
|
42
|
-
icon: ChevronUp,
|
|
43
|
-
size: 10
|
|
44
|
-
}), /* @__PURE__ */ jsx(Icon, {
|
|
45
|
-
className: stylex.props(sorted === "desc" && styles.caretActive).className,
|
|
46
|
-
"data-active": sorted === "desc",
|
|
47
|
-
icon: ChevronDown,
|
|
48
|
-
size: 10
|
|
49
|
-
})]
|
|
50
|
-
})]
|
|
51
|
-
}) : column.title, column.filters?.length ? renderFilter?.(column, id) : null]
|
|
52
|
-
})
|
|
53
|
-
}, id);
|
|
54
|
-
}) }) });
|
|
55
|
-
//#endregion
|
|
56
|
-
export { TableHead as default };
|
|
57
|
-
|
|
58
|
-
//# sourceMappingURL=TableHead.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableHead.mjs","names":[],"sources":["../../src/Table/TableHead.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\nimport { ChevronDown, ChevronUp } from 'lucide-react';\nimport type { CSSProperties, ReactNode } from 'react';\n\nimport Icon from '@/Icon';\nimport { styleProps } from '@/styles/stylex/props';\n\nimport { cellSizeStyles, sortButtonStyles, styles } from './style';\nimport type { TableColumn, TableProps } from './type';\n\ntype SortState = false | 'asc' | 'desc';\n\ninterface HeadColumn {\n getIsSorted: () => SortState;\n getToggleSortingHandler: () => undefined | ((event: unknown) => void);\n}\n\ninterface TableHeadProps<T> {\n bordered: boolean;\n classNames?: TableProps<T>['classNames'];\n columnIds: string[];\n columns: TableColumn<T>[];\n fixedOffsets: (CSSProperties | undefined)[];\n getColumn: (id: string) => HeadColumn | undefined;\n renderFilter?: (column: TableColumn<T>, id: string) => ReactNode;\n size: NonNullable<TableProps<T>['size']>;\n styles?: TableProps<T>['styles'];\n}\n\nconst ariaSortOf = (sorted: SortState) =>\n sorted === 'asc' ? 'ascending' : sorted === 'desc' ? 'descending' : 'none';\n\nconst TableHead = <T,>({\n bordered,\n classNames,\n columnIds,\n columns,\n fixedOffsets,\n getColumn,\n renderFilter,\n size,\n styles: customStyles,\n}: TableHeadProps<T>) => (\n <thead>\n <tr>\n {columns.map((column, index) => {\n const id = columnIds[index];\n const tableColumn = getColumn(id);\n const sorted: SortState = column.sorter ? (tableColumn?.getIsSorted() ?? false) : false;\n\n return (\n <th\n aria-sort={column.sorter ? ariaSortOf(sorted) : undefined}\n key={id}\n scope=\"col\"\n {...styleProps(\n [\n styles.header,\n column.fixed && styles.fixed,\n cellSizeStyles[size],\n bordered && index < columns.length - 1 && styles.borderedCell,\n ],\n clsx(column.className, classNames?.header),\n {\n textAlign: column.align,\n width: column.width,\n ...fixedOffsets[index],\n ...customStyles?.header,\n ...(column.fixed ? { zIndex: 3 } : undefined),\n },\n )}\n >\n <span {...stylex.props(styles.headerInner)}>\n {column.sorter ? (\n <button\n type=\"button\"\n {...stylex.props(sortButtonStyles)}\n onClick={tableColumn?.getToggleSortingHandler()}\n >\n {column.title}\n <span aria-hidden=\"true\" {...stylex.props(styles.sortCaret)}>\n <Icon\n className={stylex.props(sorted === 'asc' && styles.caretActive).className}\n data-active={sorted === 'asc'}\n icon={ChevronUp}\n size={10}\n />\n <Icon\n className={stylex.props(sorted === 'desc' && styles.caretActive).className}\n data-active={sorted === 'desc'}\n icon={ChevronDown}\n size={10}\n />\n </span>\n </button>\n ) : (\n column.title\n )}\n {column.filters?.length ? renderFilter?.(column, id) : null}\n </span>\n </th>\n );\n })}\n </tr>\n </thead>\n);\n\nexport default TableHead;\n"],"mappings":";;;;;;;;;AA0BA,MAAM,cAAc,WAAsB,WAAW,QAAQ,cAAc,WAAW,SAAS,eAAe;AAC9G,MAAM,aAAiB,EACrB,UACA,YACA,WACA,SACA,cACA,WACA,cACA,MACA,QAAQ,mBACe,oBAAC,SAAD,EAAA,UACrB,oBAAC,MAAD,EAAA,UACG,QAAQ,KAAK,QAAQ,UAAU;CAChC,MAAM,KAAK,UAAU;CACrB,MAAM,cAAc,UAAU,EAAE;CAChC,MAAM,SAAoB,OAAO,SAAS,aAAa,YAAY,KAAK,QAAQ;CAChF,OAAO,oBAAC,MAAD;EAAI,aAAW,OAAO,SAAS,WAAW,MAAM,IAAI,KAAA;EAAoB,OAAM;EAAM,GAAI,WAAW;GAAC,OAAO;GAAQ,OAAO,SAAS,OAAO;GAAO,eAAe;GAAO,YAAY,QAAQ,QAAQ,SAAS,KAAK,OAAO;EAAY,GAAG,KAAK,OAAO,WAAW,YAAY,MAAM,GAAG;GACxR,WAAW,OAAO;GAClB,OAAO,OAAO;GACd,GAAG,aAAa;GAChB,GAAG,cAAc;GACjB,GAAI,OAAO,QAAQ,EACjB,QAAQ,EACV,IAAI,KAAA;EACN,CAAC;EACK,UAAA,qBAAC,QAAD;GAAM,GAAI,OAAO,MAAM,OAAO,WAAW;GAAzC,UAAA,CACG,OAAO,SAAS,qBAAC,UAAD;IAAQ,MAAK;IAAS,GAAI,OAAO,MAAM,gBAAgB;IAAG,SAAS,aAAa,wBAAwB;IAAxG,UAAA,CACZ,OAAO,OACR,qBAAC,QAAD;KAAM,eAAY;KAAO,GAAI,OAAO,MAAM,OAAO,SAAS;KAA1D,UAAA,CACE,oBAAC,MAAD;MAAM,WAAW,OAAO,MAAM,WAAW,SAAS,OAAO,WAAW,CAAC,CAAC;MAAW,eAAa,WAAW;MAAO,MAAM;MAAW,MAAM;KAAK,CAAA,GAC5I,oBAAC,MAAD;MAAM,WAAW,OAAO,MAAM,WAAW,UAAU,OAAO,WAAW,CAAC,CAAC;MAAW,eAAa,WAAW;MAAQ,MAAM;MAAa,MAAM;KAAK,CAAA,CAC5I;IACA,CAAA,CAAA;GAAI,CAAA,IAAA,OAAO,OACpB,OAAO,SAAS,SAAS,eAAe,QAAQ,EAAE,IAAI,IACnD;;CACJ,GAnBmE,EAmBnE;AACV,CAAC,EACG,CAAA,EACC,CAAA"}
|
package/es/Table/features.mjs
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { columnFilteringFeature, createFilteredRowModel, createSortedRowModel, rowSortingFeature, tableFeatures } from "@tanstack/react-table";
|
|
2
|
-
//#region src/Table/features.ts
|
|
3
|
-
const tableFeatureSet = tableFeatures({
|
|
4
|
-
columnFilteringFeature,
|
|
5
|
-
filteredRowModel: createFilteredRowModel(),
|
|
6
|
-
rowSortingFeature,
|
|
7
|
-
sortedRowModel: createSortedRowModel()
|
|
8
|
-
});
|
|
9
|
-
//#endregion
|
|
10
|
-
export { tableFeatureSet };
|
|
11
|
-
|
|
12
|
-
//# sourceMappingURL=features.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"features.mjs","names":[],"sources":["../../src/Table/features.ts"],"sourcesContent":["import {\n columnFilteringFeature,\n createFilteredRowModel,\n createSortedRowModel,\n rowSortingFeature,\n tableFeatures,\n} from '@tanstack/react-table';\n\nexport const tableFeatureSet = tableFeatures({\n columnFilteringFeature,\n filteredRowModel: createFilteredRowModel(),\n rowSortingFeature,\n sortedRowModel: createSortedRowModel(),\n});\n\nexport type TableFeatureSet = typeof tableFeatureSet;\n"],"mappings":";;AAQA,MAAa,kBAAkB,cAAc;CAC3C;CACA,kBAAkB,uBAAuB;CACzC;CACA,gBAAgB,qBAAqB;AACvC,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
//#region src/Table/fixedOffsets.ts
|
|
2
|
-
const widthOf = (column) => typeof column.width === "number" ? column.width : 0;
|
|
3
|
-
const getFixedOffsets = (columns) => {
|
|
4
|
-
const offsets = columns.map(() => void 0);
|
|
5
|
-
let left = 0;
|
|
6
|
-
columns.forEach((column, index) => {
|
|
7
|
-
if (column.fixed !== "left") return;
|
|
8
|
-
offsets[index] = {
|
|
9
|
-
left,
|
|
10
|
-
position: "sticky"
|
|
11
|
-
};
|
|
12
|
-
left += widthOf(column);
|
|
13
|
-
});
|
|
14
|
-
let right = 0;
|
|
15
|
-
for (let index = columns.length - 1; index >= 0; index--) {
|
|
16
|
-
const column = columns[index];
|
|
17
|
-
if (column.fixed !== "right") continue;
|
|
18
|
-
offsets[index] = {
|
|
19
|
-
position: "sticky",
|
|
20
|
-
right
|
|
21
|
-
};
|
|
22
|
-
right += widthOf(column);
|
|
23
|
-
}
|
|
24
|
-
return offsets;
|
|
25
|
-
};
|
|
26
|
-
//#endregion
|
|
27
|
-
export { getFixedOffsets };
|
|
28
|
-
|
|
29
|
-
//# sourceMappingURL=fixedOffsets.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fixedOffsets.mjs","names":[],"sources":["../../src/Table/fixedOffsets.ts"],"sourcesContent":["import type { CSSProperties } from 'react';\n\nimport type { TableColumn } from './type';\n\nconst widthOf = (column: TableColumn<any>) => (typeof column.width === 'number' ? column.width : 0);\n\nexport const getFixedOffsets = (columns: TableColumn<any>[]): (CSSProperties | undefined)[] => {\n const offsets: (CSSProperties | undefined)[] = columns.map(() => undefined);\n\n let left = 0;\n columns.forEach((column, index) => {\n if (column.fixed !== 'left') return;\n offsets[index] = { left, position: 'sticky' };\n left += widthOf(column);\n });\n\n let right = 0;\n for (let index = columns.length - 1; index >= 0; index--) {\n const column = columns[index];\n if (column.fixed !== 'right') continue;\n offsets[index] = { position: 'sticky', right };\n right += widthOf(column);\n }\n\n return offsets;\n};\n"],"mappings":";AAIA,MAAM,WAAW,WAA8B,OAAO,OAAO,UAAU,WAAW,OAAO,QAAQ;AAEjG,MAAa,mBAAmB,YAA+D;CAC7F,MAAM,UAAyC,QAAQ,UAAU,KAAA,CAAS;CAE1E,IAAI,OAAO;CACX,QAAQ,SAAS,QAAQ,UAAU;EACjC,IAAI,OAAO,UAAU,QAAQ;EAC7B,QAAQ,SAAS;GAAE;GAAM,UAAU;EAAS;EAC5C,QAAQ,QAAQ,MAAM;CACxB,CAAC;CAED,IAAI,QAAQ;CACZ,KAAK,IAAI,QAAQ,QAAQ,SAAS,GAAG,SAAS,GAAG,SAAS;EACxD,MAAM,SAAS,QAAQ;EACvB,IAAI,OAAO,UAAU,SAAS;EAC9B,QAAQ,SAAS;GAAE,UAAU;GAAU;EAAM;EAC7C,SAAS,QAAQ,MAAM;CACzB;CAEA,OAAO;AACT"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"marker.stylex.mjs","names":[],"sources":["../../src/Table/marker.stylex.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\n\nexport const tableRowMarker = stylex.defineMarker();\n"],"mappings":";AACA,MAAa,iBAAiB;CAC5B,UAAU;CACV,OAAO;AACT"}
|