@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,293 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useEventCallback } from "../hooks/useEventCallback.mjs";
|
|
3
|
+
import { PREFIX_CLS } from "./constants.mjs";
|
|
4
|
+
import { isPlainObject } from "./pipeline/selectionUtils.mjs";
|
|
5
|
+
import { assertColumnKeys, fillColumns, flattenColumns, isColumnGroup } from "./pipeline/columnUtils.mjs";
|
|
6
|
+
import { createTableStore } from "./store/createTableStore.mjs";
|
|
7
|
+
import { useTableEngine } from "./engine/useTableEngine.mjs";
|
|
8
|
+
import { convertChildrenToColumns } from "./pipeline/convertChildrenToColumns.mjs";
|
|
9
|
+
import { normalizeColumns } from "./pipeline/normalizeColumns.mjs";
|
|
10
|
+
import { useBreakpoint } from "./pipeline/useBreakpoint.mjs";
|
|
11
|
+
import { getExpandType, useExpandable } from "./pipeline/useExpandable.mjs";
|
|
12
|
+
import { useSelection } from "./pipeline/useSelection.mjs";
|
|
13
|
+
import { useTableLocale } from "./pipeline/useTableLocale.mjs";
|
|
14
|
+
import { useTableState } from "./pipeline/useTableState.mjs";
|
|
15
|
+
import { useVirtualLayout } from "./pipeline/useVirtualLayout.mjs";
|
|
16
|
+
import renderExpandIcon from "./render/ExpandIcon.mjs";
|
|
17
|
+
import { useCallback, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
18
|
+
//#region src/Table/useTableController.ts
|
|
19
|
+
const EMPTY_DATA = [];
|
|
20
|
+
const isPresent = (value) => value !== null && value !== void 0;
|
|
21
|
+
const useTableController = (props) => {
|
|
22
|
+
const { children, column: columnDefaults, columns: columnsProp, dataSource = EMPTY_DATA, expandable, locale, onChange, pagination, rowKey = "key", rowSelection, scroll, size = "middle", summary, variant = "borderless", virtual } = props;
|
|
23
|
+
const tableLocale = useTableLocale(locale);
|
|
24
|
+
const columns = useMemo(() => fillColumns(columnsProp ?? convertChildrenToColumns(children), columnDefaults), [
|
|
25
|
+
columnsProp,
|
|
26
|
+
children,
|
|
27
|
+
columnDefaults
|
|
28
|
+
]);
|
|
29
|
+
assertColumnKeys(columns);
|
|
30
|
+
const grouped = useMemo(() => columns.some((column) => isColumnGroup(column) && column.children.length > 0), [columns]);
|
|
31
|
+
const needResponsive = useMemo(() => flattenColumns(columns).some(({ column }) => column.responsive), [columns]);
|
|
32
|
+
const screens = useBreakpoint(needResponsive);
|
|
33
|
+
const childrenColumnName = expandable?.childrenColumnName ?? "children";
|
|
34
|
+
const getRowKey = useMemo(() => typeof rowKey === "function" ? rowKey : (record) => record?.[rowKey], [rowKey]);
|
|
35
|
+
const bodyRef = useRef(null);
|
|
36
|
+
const engineScrollRef = useRef(void 0);
|
|
37
|
+
const scrollTo = useEventCallback((config) => {
|
|
38
|
+
engineScrollRef.current?.(config);
|
|
39
|
+
});
|
|
40
|
+
const state = useTableState({
|
|
41
|
+
childrenColumnName,
|
|
42
|
+
columns,
|
|
43
|
+
dataSource,
|
|
44
|
+
onChange,
|
|
45
|
+
onTableChange: () => {
|
|
46
|
+
if (scroll && scroll.scrollToFirstRowOnChange !== false) scrollTo({ top: 0 });
|
|
47
|
+
},
|
|
48
|
+
pagination
|
|
49
|
+
});
|
|
50
|
+
const { data: allRows, page, total } = state;
|
|
51
|
+
const { pageIndex, pageSize } = page;
|
|
52
|
+
const rows = useMemo(() => {
|
|
53
|
+
if (pagination === false) return allRows;
|
|
54
|
+
if (allRows.length < total && allRows.length <= pageSize) return allRows;
|
|
55
|
+
return allRows.slice(pageIndex * pageSize, (pageIndex + 1) * pageSize);
|
|
56
|
+
}, [
|
|
57
|
+
allRows,
|
|
58
|
+
pagination,
|
|
59
|
+
pageIndex,
|
|
60
|
+
pageSize,
|
|
61
|
+
total
|
|
62
|
+
]);
|
|
63
|
+
const clientPaginated = pagination !== false && state.config?.total === void 0;
|
|
64
|
+
const syncClampedPage = useEventCallback(() => state.clampPage(pageIndex));
|
|
65
|
+
useLayoutEffect(() => {
|
|
66
|
+
if (clientPaginated && pageIndex !== state.rawPageIndex) syncClampedPage();
|
|
67
|
+
}, [
|
|
68
|
+
clientPaginated,
|
|
69
|
+
pageIndex,
|
|
70
|
+
state.rawPageIndex,
|
|
71
|
+
syncClampedPage
|
|
72
|
+
]);
|
|
73
|
+
const recordMap = useMemo(() => {
|
|
74
|
+
const map = /* @__PURE__ */ new Map();
|
|
75
|
+
const dig = (records) => {
|
|
76
|
+
records.forEach((record, index) => {
|
|
77
|
+
map.set(getRowKey(record, index), record);
|
|
78
|
+
const nested = isPlainObject(record) ? record[childrenColumnName] : void 0;
|
|
79
|
+
if (Array.isArray(nested)) dig(nested);
|
|
80
|
+
});
|
|
81
|
+
};
|
|
82
|
+
dig(dataSource);
|
|
83
|
+
return map;
|
|
84
|
+
}, [
|
|
85
|
+
dataSource,
|
|
86
|
+
childrenColumnName,
|
|
87
|
+
getRowKey
|
|
88
|
+
]);
|
|
89
|
+
const getRecordByKey = useCallback((key) => recordMap.get(key), [recordMap]);
|
|
90
|
+
const expandType = useMemo(() => getExpandType(rows, childrenColumnName, expandable), [
|
|
91
|
+
rows,
|
|
92
|
+
childrenColumnName,
|
|
93
|
+
expandable
|
|
94
|
+
]);
|
|
95
|
+
const { expandedKeys, toggle } = useExpandable({
|
|
96
|
+
childrenColumnName,
|
|
97
|
+
expandable,
|
|
98
|
+
getRowKey,
|
|
99
|
+
pageData: rows
|
|
100
|
+
});
|
|
101
|
+
const selection = useSelection({
|
|
102
|
+
childrenColumnName,
|
|
103
|
+
data: allRows,
|
|
104
|
+
expandType,
|
|
105
|
+
getRecordByKey,
|
|
106
|
+
getRowKey,
|
|
107
|
+
locale: tableLocale,
|
|
108
|
+
pageData: rows
|
|
109
|
+
}, rowSelection);
|
|
110
|
+
const virtualDefaults = useVirtualLayout({
|
|
111
|
+
expandable: Boolean(expandable),
|
|
112
|
+
rowSelection: rowSelection && {
|
|
113
|
+
selections: rowSelection.selections,
|
|
114
|
+
type: rowSelection.type
|
|
115
|
+
},
|
|
116
|
+
variant,
|
|
117
|
+
virtual
|
|
118
|
+
});
|
|
119
|
+
const selectionShape = useMemo(() => rowSelection && {
|
|
120
|
+
align: rowSelection.align,
|
|
121
|
+
fixed: rowSelection.fixed,
|
|
122
|
+
onCell: rowSelection.onCell,
|
|
123
|
+
selections: rowSelection.selections,
|
|
124
|
+
type: rowSelection.type
|
|
125
|
+
}, [
|
|
126
|
+
Boolean(rowSelection),
|
|
127
|
+
rowSelection?.align,
|
|
128
|
+
rowSelection?.fixed,
|
|
129
|
+
rowSelection?.onCell,
|
|
130
|
+
rowSelection?.selections,
|
|
131
|
+
rowSelection?.type
|
|
132
|
+
]);
|
|
133
|
+
const expandShape = useMemo(() => expandable && {
|
|
134
|
+
columnTitle: expandable.columnTitle,
|
|
135
|
+
expandIconColumnIndex: expandable.expandIconColumnIndex,
|
|
136
|
+
fixed: expandable.fixed,
|
|
137
|
+
showExpandColumn: expandable.showExpandColumn
|
|
138
|
+
}, [
|
|
139
|
+
Boolean(expandable),
|
|
140
|
+
expandable?.columnTitle,
|
|
141
|
+
expandable?.expandIconColumnIndex,
|
|
142
|
+
expandable?.fixed,
|
|
143
|
+
expandable?.showExpandColumn
|
|
144
|
+
]);
|
|
145
|
+
const expandColumnWidth = expandable?.columnWidth ?? virtualDefaults.expandColumnWidth;
|
|
146
|
+
const selectionColumnWidth = rowSelection?.columnWidth ?? virtualDefaults.selectionColumnWidth;
|
|
147
|
+
const normalized = useMemo(() => normalizeColumns(columns, {
|
|
148
|
+
expandColumnWidth,
|
|
149
|
+
expandType,
|
|
150
|
+
expandable: expandShape,
|
|
151
|
+
prefixCls: PREFIX_CLS,
|
|
152
|
+
rowSelection: selectionShape,
|
|
153
|
+
screens,
|
|
154
|
+
selectionColumnWidth
|
|
155
|
+
}), [
|
|
156
|
+
columns,
|
|
157
|
+
expandColumnWidth,
|
|
158
|
+
expandShape,
|
|
159
|
+
expandType,
|
|
160
|
+
selectionShape,
|
|
161
|
+
screens,
|
|
162
|
+
selectionColumnWidth
|
|
163
|
+
]);
|
|
164
|
+
const [colWidthMap, setColWidthMap] = useState(/* @__PURE__ */ new Map());
|
|
165
|
+
const onColumnResize = useCallback((key, width) => {
|
|
166
|
+
setColWidthMap((previous) => {
|
|
167
|
+
if (previous.get(key) === width) return previous;
|
|
168
|
+
const next = new Map(previous);
|
|
169
|
+
next.set(key, width);
|
|
170
|
+
return next;
|
|
171
|
+
});
|
|
172
|
+
}, []);
|
|
173
|
+
const scrollX = scroll?.x;
|
|
174
|
+
const fixHeader = Boolean(scroll && isPresent(scroll.y));
|
|
175
|
+
const horizonScroll = Boolean(scroll && isPresent(scrollX)) || Boolean(expandable?.fixed);
|
|
176
|
+
const { componentWidth, measureRef } = virtualDefaults;
|
|
177
|
+
const virtualWidths = useMemo(() => virtual ? virtualDefaults.fillWidths(normalized, scrollX, componentWidth) : void 0, [
|
|
178
|
+
virtual,
|
|
179
|
+
virtualDefaults,
|
|
180
|
+
normalized,
|
|
181
|
+
scrollX,
|
|
182
|
+
componentWidth
|
|
183
|
+
]);
|
|
184
|
+
const leafKeys = useMemo(() => {
|
|
185
|
+
const keys = [];
|
|
186
|
+
const dig = (list) => list.forEach((column) => column.children?.length ? dig(column.children) : keys.push(column.key));
|
|
187
|
+
dig(normalized);
|
|
188
|
+
return keys;
|
|
189
|
+
}, [normalized]);
|
|
190
|
+
const columnWidths = useMemo(() => virtualWidths ?? leafKeys.map((key) => colWidthMap.get(key) ?? 0), [
|
|
191
|
+
virtualWidths,
|
|
192
|
+
leafKeys,
|
|
193
|
+
colWidthMap
|
|
194
|
+
]);
|
|
195
|
+
const getChildren = useMemo(() => expandType === "nest" ? (record) => isPlainObject(record) ? record[childrenColumnName] : void 0 : void 0, [expandType, childrenColumnName]);
|
|
196
|
+
const scrollY = scroll?.y;
|
|
197
|
+
const model = useTableEngine({
|
|
198
|
+
columnWidths,
|
|
199
|
+
columns: normalized,
|
|
200
|
+
data: rows,
|
|
201
|
+
expandedKeys,
|
|
202
|
+
getChildren,
|
|
203
|
+
getRowKey
|
|
204
|
+
});
|
|
205
|
+
const initialHeight = typeof scrollY === "number" ? scrollY : void 0;
|
|
206
|
+
const rowHeight = virtualDefaults.rowHeight(size);
|
|
207
|
+
const getScrollElement = useCallback(() => bodyRef.current, []);
|
|
208
|
+
const virtualInput = useMemo(() => virtual ? {
|
|
209
|
+
getScrollElement,
|
|
210
|
+
initialHeight,
|
|
211
|
+
rowHeight
|
|
212
|
+
} : void 0, [
|
|
213
|
+
virtual,
|
|
214
|
+
getScrollElement,
|
|
215
|
+
initialHeight,
|
|
216
|
+
rowHeight
|
|
217
|
+
]);
|
|
218
|
+
const virtualScrollRef = useRef(void 0);
|
|
219
|
+
engineScrollRef.current = (config) => {
|
|
220
|
+
if (virtualInput) {
|
|
221
|
+
virtualScrollRef.current?.(config);
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
const body = bodyRef.current;
|
|
225
|
+
if (!body) return;
|
|
226
|
+
const { align = "nearest", index, key, offset, top } = config;
|
|
227
|
+
if (typeof top === "number") {
|
|
228
|
+
body.scrollTo?.({ top });
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
231
|
+
const target = key ?? (index === void 0 ? void 0 : getRowKey(rows[index], index));
|
|
232
|
+
const element = body.querySelector(`[data-row-key="${target}"]`);
|
|
233
|
+
if (!element) return;
|
|
234
|
+
element.scrollIntoView({ block: align });
|
|
235
|
+
if (offset) body.scrollTo?.({ top: body.scrollTop + offset });
|
|
236
|
+
};
|
|
237
|
+
const [store] = useState(() => createTableStore({
|
|
238
|
+
expandedKeys,
|
|
239
|
+
halfSelectedKeys: selection.halfSelectedKeySet,
|
|
240
|
+
selectedKeys: selection.selectedKeySet,
|
|
241
|
+
selectionSummary: selection.summary
|
|
242
|
+
}));
|
|
243
|
+
const sortedColumns = useMemo(() => new Set(state.sortStates.filter(({ sortOrder }) => sortOrder).map(({ key }) => key)), [state.sortStates]);
|
|
244
|
+
useLayoutEffect(() => {
|
|
245
|
+
store.setState({
|
|
246
|
+
expandedKeys,
|
|
247
|
+
halfSelectedKeys: selection.halfSelectedKeySet,
|
|
248
|
+
selectedKeys: selection.selectedKeySet,
|
|
249
|
+
selectionSummary: selection.summary,
|
|
250
|
+
sortedColumns
|
|
251
|
+
});
|
|
252
|
+
});
|
|
253
|
+
const nestIconColumnIndex = (() => {
|
|
254
|
+
const index = expandable?.expandIconColumnIndex;
|
|
255
|
+
if (expandType === "nest" && index === void 0) return rowSelection ? 1 : 0;
|
|
256
|
+
if ((index ?? 0) > 0 && rowSelection) return index - 1;
|
|
257
|
+
return index ?? 0;
|
|
258
|
+
})();
|
|
259
|
+
const expandIcon = useMemo(() => expandable?.expandIcon ?? ((iconProps) => renderExpandIcon(iconProps, tableLocale)), [expandable?.expandIcon, tableLocale]);
|
|
260
|
+
const summaryNode = useMemo(() => summary?.(rows), [summary, rows]);
|
|
261
|
+
return {
|
|
262
|
+
bodyRef,
|
|
263
|
+
columnWidths,
|
|
264
|
+
columns,
|
|
265
|
+
expandIcon,
|
|
266
|
+
expandType,
|
|
267
|
+
fixHeader,
|
|
268
|
+
getRowKey,
|
|
269
|
+
grouped,
|
|
270
|
+
horizonScroll,
|
|
271
|
+
indentSize: typeof expandable?.indentSize === "number" ? expandable.indentSize : 15,
|
|
272
|
+
measureRef,
|
|
273
|
+
model,
|
|
274
|
+
nestIconColumnIndex,
|
|
275
|
+
onColumnResize,
|
|
276
|
+
rows,
|
|
277
|
+
screens,
|
|
278
|
+
scrollTo,
|
|
279
|
+
selection,
|
|
280
|
+
state,
|
|
281
|
+
store,
|
|
282
|
+
summaryNode,
|
|
283
|
+
tableLocale,
|
|
284
|
+
toggleExpand: toggle,
|
|
285
|
+
virtualInput,
|
|
286
|
+
virtualScrollRef,
|
|
287
|
+
virtualWidths
|
|
288
|
+
};
|
|
289
|
+
};
|
|
290
|
+
//#endregion
|
|
291
|
+
export { useTableController };
|
|
292
|
+
|
|
293
|
+
//# sourceMappingURL=useTableController.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTableController.mjs","names":[],"sources":["../../src/Table/useTableController.ts"],"sourcesContent":["'use client';\n\nimport { type Key, useCallback, useLayoutEffect, useMemo, useRef, useState } from 'react';\n\nimport { useEventCallback } from '@/hooks/useEventCallback';\n\nimport { DEFAULT_INDENT_SIZE, PREFIX_CLS } from './constants';\nimport type { VirtualInput } from './engine/types';\nimport { useTableEngine } from './engine/useTableEngine';\nimport {\n assertColumnKeys,\n fillColumns,\n flattenColumns,\n isColumnGroup,\n} from './pipeline/columnUtils';\nimport { convertChildrenToColumns } from './pipeline/convertChildrenToColumns';\nimport { normalizeColumns } from './pipeline/normalizeColumns';\nimport { isPlainObject } from './pipeline/selectionUtils';\nimport { useBreakpoint } from './pipeline/useBreakpoint';\nimport { getExpandType, useExpandable } from './pipeline/useExpandable';\nimport { useSelection } from './pipeline/useSelection';\nimport { useTableLocale } from './pipeline/useTableLocale';\nimport { useTableState } from './pipeline/useTableState';\nimport { useVirtualLayout } from './pipeline/useVirtualLayout';\nimport renderExpandIcon from './render/ExpandIcon';\nimport { createTableStore } from './store/createTableStore';\nimport type {\n TableExpandableConfig,\n TableProps,\n TableRowSelection,\n TableScrollToConfig,\n} from './type';\n\nconst EMPTY_DATA: any[] = [];\n\nconst isPresent = (value: unknown) => value !== null && value !== undefined;\n\nexport const useTableController = <T>(props: TableProps<T>) => {\n const {\n children,\n column: columnDefaults,\n columns: columnsProp,\n dataSource = EMPTY_DATA as T[],\n expandable,\n locale,\n onChange,\n pagination,\n rowKey = 'key',\n rowSelection,\n scroll,\n size = 'middle',\n summary,\n variant = 'borderless',\n virtual,\n } = props;\n\n const tableLocale = useTableLocale(locale);\n\n const columns = useMemo(\n () => fillColumns(columnsProp ?? convertChildrenToColumns<T>(children), columnDefaults),\n [columnsProp, children, columnDefaults],\n );\n assertColumnKeys(columns);\n const grouped = useMemo(\n () => columns.some((column) => isColumnGroup(column) && column.children.length > 0),\n [columns],\n );\n const needResponsive = useMemo(\n () => flattenColumns(columns).some(({ column }) => column.responsive),\n [columns],\n );\n const screens = useBreakpoint(needResponsive);\n\n const childrenColumnName = expandable?.childrenColumnName ?? 'children';\n const getRowKey = useMemo(\n () =>\n typeof rowKey === 'function'\n ? rowKey\n : (record: T) => (record as Record<PropertyKey, unknown>)?.[rowKey as PropertyKey] as Key,\n [rowKey],\n );\n\n const bodyRef = useRef<HTMLDivElement | null>(null);\n const engineScrollRef = useRef<((config: TableScrollToConfig) => void) | undefined>(undefined);\n const scrollTo = useEventCallback((config: TableScrollToConfig) => {\n engineScrollRef.current?.(config);\n });\n\n const state = useTableState({\n childrenColumnName,\n columns,\n dataSource,\n onChange,\n onTableChange: () => {\n if (scroll && scroll.scrollToFirstRowOnChange !== false) scrollTo({ top: 0 });\n },\n pagination,\n });\n const { data: allRows, page, total } = state;\n const { pageIndex, pageSize } = page;\n const rows = useMemo(() => {\n if (pagination === false) return allRows;\n if (allRows.length < total && allRows.length <= pageSize) return allRows;\n return allRows.slice(pageIndex * pageSize, (pageIndex + 1) * pageSize);\n }, [allRows, pagination, pageIndex, pageSize, total]);\n\n const clientPaginated = pagination !== false && state.config?.total === undefined;\n const syncClampedPage = useEventCallback(() => state.clampPage(pageIndex));\n useLayoutEffect(() => {\n if (clientPaginated && pageIndex !== state.rawPageIndex) syncClampedPage();\n }, [clientPaginated, pageIndex, state.rawPageIndex, syncClampedPage]);\n\n const recordMap = useMemo(() => {\n const map = new Map<Key, T>();\n const dig = (records: readonly T[]) => {\n records.forEach((record, index) => {\n map.set(getRowKey(record, index), record);\n const nested = isPlainObject(record) ? record[childrenColumnName] : undefined;\n if (Array.isArray(nested)) dig(nested as T[]);\n });\n };\n dig(dataSource);\n return map;\n }, [dataSource, childrenColumnName, getRowKey]);\n const getRecordByKey = useCallback((key: Key) => recordMap.get(key), [recordMap]);\n\n const expandType = useMemo(\n () => getExpandType(rows, childrenColumnName, expandable),\n [rows, childrenColumnName, expandable],\n );\n const { expandedKeys, toggle } = useExpandable({\n childrenColumnName,\n expandable,\n getRowKey,\n pageData: rows,\n });\n\n const selection = useSelection(\n {\n childrenColumnName,\n data: allRows,\n expandType,\n getRecordByKey,\n getRowKey,\n locale: tableLocale,\n pageData: rows,\n },\n rowSelection,\n );\n\n const virtualDefaults = useVirtualLayout<T>({\n expandable: Boolean(expandable),\n rowSelection: rowSelection && { selections: rowSelection.selections, type: rowSelection.type },\n variant,\n virtual,\n });\n\n const selectionShape = useMemo(\n (): TableRowSelection<T> | undefined =>\n rowSelection && {\n align: rowSelection.align,\n fixed: rowSelection.fixed,\n onCell: rowSelection.onCell,\n selections: rowSelection.selections,\n type: rowSelection.type,\n },\n [\n Boolean(rowSelection),\n rowSelection?.align,\n rowSelection?.fixed,\n rowSelection?.onCell,\n rowSelection?.selections,\n rowSelection?.type,\n ],\n );\n const expandShape = useMemo(\n (): TableExpandableConfig<T> | undefined =>\n expandable && {\n columnTitle: expandable.columnTitle,\n expandIconColumnIndex: expandable.expandIconColumnIndex,\n fixed: expandable.fixed,\n showExpandColumn: expandable.showExpandColumn,\n },\n [\n Boolean(expandable),\n expandable?.columnTitle,\n expandable?.expandIconColumnIndex,\n expandable?.fixed,\n expandable?.showExpandColumn,\n ],\n );\n const expandColumnWidth = expandable?.columnWidth ?? virtualDefaults.expandColumnWidth;\n const selectionColumnWidth = rowSelection?.columnWidth ?? virtualDefaults.selectionColumnWidth;\n\n const normalized = useMemo(\n () =>\n normalizeColumns(columns, {\n expandColumnWidth,\n expandType,\n expandable: expandShape,\n prefixCls: PREFIX_CLS,\n rowSelection: selectionShape,\n screens,\n selectionColumnWidth,\n }),\n [\n columns,\n expandColumnWidth,\n expandShape,\n expandType,\n selectionShape,\n screens,\n selectionColumnWidth,\n ],\n );\n\n const [colWidthMap, setColWidthMap] = useState<ReadonlyMap<string, number>>(new Map());\n const onColumnResize = useCallback((key: string, width: number) => {\n setColWidthMap((previous) => {\n if (previous.get(key) === width) return previous;\n const next = new Map(previous);\n next.set(key, width);\n return next;\n });\n }, []);\n\n const scrollX = scroll?.x;\n const fixHeader = Boolean(scroll && isPresent(scroll.y));\n const horizonScroll = Boolean(scroll && isPresent(scrollX)) || Boolean(expandable?.fixed);\n\n const { componentWidth, measureRef } = virtualDefaults;\n const virtualWidths = useMemo(\n () => (virtual ? virtualDefaults.fillWidths(normalized, scrollX, componentWidth) : undefined),\n [virtual, virtualDefaults, normalized, scrollX, componentWidth],\n );\n\n const leafKeys = useMemo(() => {\n const keys: string[] = [];\n const dig = (list: typeof normalized) =>\n list.forEach((column) =>\n column.children?.length ? dig(column.children) : keys.push(column.key),\n );\n dig(normalized);\n return keys;\n }, [normalized]);\n const columnWidths = useMemo(\n () => virtualWidths ?? leafKeys.map((key) => colWidthMap.get(key) ?? 0),\n [virtualWidths, leafKeys, colWidthMap],\n );\n\n const getChildren = useMemo(\n () =>\n expandType === 'nest'\n ? (record: T) =>\n (isPlainObject(record) ? record[childrenColumnName] : undefined) as T[] | undefined\n : undefined,\n [expandType, childrenColumnName],\n );\n\n const scrollY = scroll?.y;\n const model = useTableEngine({\n columnWidths,\n columns: normalized,\n data: rows,\n expandedKeys,\n getChildren,\n getRowKey,\n });\n\n const initialHeight = typeof scrollY === 'number' ? scrollY : undefined;\n const rowHeight = virtualDefaults.rowHeight(size);\n const getScrollElement = useCallback(() => bodyRef.current, []);\n const virtualInput = useMemo(\n (): VirtualInput | undefined =>\n virtual ? { getScrollElement, initialHeight, rowHeight } : undefined,\n [virtual, getScrollElement, initialHeight, rowHeight],\n );\n const virtualScrollRef = useRef<((config: TableScrollToConfig) => void) | undefined>(undefined);\n\n engineScrollRef.current = (config) => {\n if (virtualInput) {\n virtualScrollRef.current?.(config);\n return;\n }\n const body = bodyRef.current;\n if (!body) return;\n const { align = 'nearest', index, key, offset, top } = config;\n if (typeof top === 'number') {\n body.scrollTo?.({ top });\n return;\n }\n const target = key ?? (index === undefined ? undefined : getRowKey(rows[index], index));\n const element = body.querySelector<HTMLElement>(`[data-row-key=\"${target}\"]`);\n if (!element) return;\n element.scrollIntoView({ block: align });\n if (offset) body.scrollTo?.({ top: body.scrollTop + offset });\n };\n\n const [store] = useState(() =>\n createTableStore({\n expandedKeys,\n halfSelectedKeys: selection.halfSelectedKeySet,\n selectedKeys: selection.selectedKeySet,\n selectionSummary: selection.summary,\n }),\n );\n const sortedColumns = useMemo(\n () => new Set(state.sortStates.filter(({ sortOrder }) => sortOrder).map(({ key }) => key)),\n [state.sortStates],\n );\n useLayoutEffect(() => {\n store.setState({\n expandedKeys,\n halfSelectedKeys: selection.halfSelectedKeySet,\n selectedKeys: selection.selectedKeySet,\n selectionSummary: selection.summary,\n sortedColumns,\n });\n });\n\n const nestIconColumnIndex = (() => {\n const index = expandable?.expandIconColumnIndex;\n if (expandType === 'nest' && index === undefined) return rowSelection ? 1 : 0;\n if ((index ?? 0) > 0 && rowSelection) return index! - 1;\n return index ?? 0;\n })();\n\n const expandIcon = useMemo(\n () =>\n expandable?.expandIcon ??\n ((iconProps: Parameters<typeof renderExpandIcon<T>>[0]) =>\n renderExpandIcon(iconProps, tableLocale)),\n [expandable?.expandIcon, tableLocale],\n );\n\n const summaryNode = useMemo(() => summary?.(rows), [summary, rows]);\n\n return {\n bodyRef,\n columnWidths,\n columns,\n expandIcon,\n expandType,\n fixHeader,\n getRowKey,\n grouped,\n horizonScroll,\n indentSize:\n typeof expandable?.indentSize === 'number' ? expandable.indentSize : DEFAULT_INDENT_SIZE,\n measureRef,\n model,\n nestIconColumnIndex,\n onColumnResize,\n rows,\n screens,\n scrollTo,\n selection,\n state,\n store,\n summaryNode,\n tableLocale,\n toggleExpand: toggle,\n virtualInput,\n virtualScrollRef,\n virtualWidths,\n };\n};\n"],"mappings":"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"}
|
package/es/Tabs/Tabs.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import { styles } from "./style.mjs";
|
|
|
5
5
|
import { TabsIndicator, TabsList, TabsPanel, TabsRoot, TabsTab } from "./atoms.mjs";
|
|
6
6
|
import { useMemo } from "react";
|
|
7
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
-
import clsx from "clsx";
|
|
8
|
+
import clsx$1 from "clsx";
|
|
9
9
|
//#region src/Tabs/Tabs.tsx
|
|
10
10
|
const Tabs = ({ activeKey, className, classNames, defaultActiveKey, items, onChange, orientation = "horizontal", ref, size = "middle", style, styles: customStyles, variant = "rounded" }) => {
|
|
11
11
|
const initialActiveKey = defaultActiveKey ?? items?.find((item) => !item.disabled)?.key ?? null;
|
|
@@ -49,7 +49,7 @@ const Tabs = ({ activeKey, className, classNames, defaultActiveKey, items, onCha
|
|
|
49
49
|
items
|
|
50
50
|
]);
|
|
51
51
|
return /* @__PURE__ */ jsxs(TabsRoot, {
|
|
52
|
-
...styleProps(styles.root, clsx(classNames?.root, className), {
|
|
52
|
+
...styleProps(styles.root, clsx$1(classNames?.root, className), {
|
|
53
53
|
...style,
|
|
54
54
|
...customStyles?.root
|
|
55
55
|
}),
|
package/es/Tabs/Tabs.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tabs.mjs","names":[],"sources":["../../src/Tabs/Tabs.tsx"],"sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { type FC, useMemo } from 'react';\n\nimport { useControlledState } from '@/hooks/useControlledState';\nimport { styleProps } from '@/styles/stylex/props';\n\nimport { TabsIndicator, TabsList, TabsPanel, TabsRoot, TabsTab } from './atoms';\nimport { styles } from './style';\nimport type { TabsProps } from './type';\n\nconst Tabs: FC<TabsProps> = ({\n activeKey,\n className,\n classNames,\n defaultActiveKey,\n items,\n onChange,\n orientation = 'horizontal',\n ref,\n size = 'middle',\n style,\n styles: customStyles,\n variant = 'rounded',\n}) => {\n const initialActiveKey = defaultActiveKey ?? items?.find((item) => !item.disabled)?.key ?? null;\n const [value, setValue] = useControlledState<string | null>(initialActiveKey, {\n defaultValue: initialActiveKey,\n onChange: (next) => {\n if (next != null) onChange?.(next);\n },\n value: activeKey,\n });\n\n const list = useMemo(\n () => (\n <TabsList className={classNames?.list} style={customStyles?.list}>\n <TabsIndicator className={classNames?.indicator} style={customStyles?.indicator} />\n {items?.map((item) => (\n <TabsTab\n className={classNames?.tab}\n disabled={item.disabled}\n key={item.key}\n style={customStyles?.tab}\n value={item.key}\n >\n {item.icon}\n {item.label}\n </TabsTab>\n ))}\n </TabsList>\n ),\n [\n classNames?.indicator,\n classNames?.list,\n classNames?.tab,\n customStyles?.indicator,\n customStyles?.list,\n customStyles?.tab,\n items,\n ],\n );\n\n const panels = useMemo(\n () =>\n items?.some((item) => item.children != null)\n ? items.map((item) => (\n <TabsPanel\n className={classNames?.panel}\n key={item.key}\n style={customStyles?.panel}\n value={item.key}\n >\n {item.children}\n </TabsPanel>\n ))\n : null,\n [classNames?.panel, customStyles?.panel, items],\n );\n\n return (\n <TabsRoot\n {...styleProps(styles.root, clsx(classNames?.root, className), {\n ...style,\n ...customStyles?.root,\n })}\n orientation={orientation}\n ref={ref}\n size={size}\n value={value}\n variant={variant}\n onValueChange={(next) => setValue(next ?? null)}\n >\n {list}\n {panels}\n </TabsRoot>\n );\n};\n\nTabs.displayName = 'Tabs';\n\nexport default Tabs;\n"],"mappings":";;;;;;;;;AAYA,MAAM,QAAuB,EAC3B,WACA,WACA,YACA,kBACA,OACA,UACA,cAAc,cACd,KACA,OAAO,UACP,OACA,QAAQ,cACR,UAAU,gBACN;CACJ,MAAM,mBAAmB,oBAAoB,OAAO,MAAM,SAAS,CAAC,KAAK,QAAQ,CAAC,EAAE,OAAO;CAC3F,MAAM,CAAC,OAAO,YAAY,mBAAkC,kBAAkB;EAC5E,cAAc;EACd,WAAW,SAAS;GAClB,IAAI,QAAQ,MAAM,WAAW,IAAI;EACnC;EACA,OAAO;CACT,CAAC;CAED,MAAM,OAAO,cAET,qBAAC,UAAD;EAAU,WAAW,YAAY;EAAM,OAAO,cAAc;EAA5D,UAAA,CACE,oBAAC,eAAD;GAAe,WAAW,YAAY;GAAW,OAAO,cAAc;EAAY,CAAA,GACjF,OAAO,KAAK,SACX,qBAAC,SAAD;GACE,WAAW,YAAY;GACvB,UAAU,KAAK;GAEf,OAAO,cAAc;GACrB,OAAO,KAAK;GALd,UAAA,CAOG,KAAK,MACL,KAAK,KACC;EANF,GAAA,KAAK,GAMH,CACV,CACO;CAEZ,CAAA,GAAA;EACE,YAAY;EACZ,YAAY;EACZ,YAAY;EACZ,cAAc;EACd,cAAc;EACd,cAAc;EACd;CACF,CACF;CAEA,MAAM,SAAS,cAEX,OAAO,MAAM,SAAS,KAAK,YAAY,IAAI,IACvC,MAAM,KAAK,SACT,oBAAC,WAAD;EACE,WAAW,YAAY;EAEvB,OAAO,cAAc;EACrB,OAAO,KAAK;EAEX,UAAA,KAAK;CACG,GALJ,KAAK,GAKD,CACZ,IACD,MACN;EAAC,YAAY;EAAO,cAAc;EAAO;CAAK,CAChD;CAEA,OACE,qBAAC,UAAD;EACE,GAAI,WAAW,OAAO,
|
|
1
|
+
{"version":3,"file":"Tabs.mjs","names":["clsx"],"sources":["../../src/Tabs/Tabs.tsx"],"sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { type FC, useMemo } from 'react';\n\nimport { useControlledState } from '@/hooks/useControlledState';\nimport { styleProps } from '@/styles/stylex/props';\n\nimport { TabsIndicator, TabsList, TabsPanel, TabsRoot, TabsTab } from './atoms';\nimport { styles } from './style';\nimport type { TabsProps } from './type';\n\nconst Tabs: FC<TabsProps> = ({\n activeKey,\n className,\n classNames,\n defaultActiveKey,\n items,\n onChange,\n orientation = 'horizontal',\n ref,\n size = 'middle',\n style,\n styles: customStyles,\n variant = 'rounded',\n}) => {\n const initialActiveKey = defaultActiveKey ?? items?.find((item) => !item.disabled)?.key ?? null;\n const [value, setValue] = useControlledState<string | null>(initialActiveKey, {\n defaultValue: initialActiveKey,\n onChange: (next) => {\n if (next != null) onChange?.(next);\n },\n value: activeKey,\n });\n\n const list = useMemo(\n () => (\n <TabsList className={classNames?.list} style={customStyles?.list}>\n <TabsIndicator className={classNames?.indicator} style={customStyles?.indicator} />\n {items?.map((item) => (\n <TabsTab\n className={classNames?.tab}\n disabled={item.disabled}\n key={item.key}\n style={customStyles?.tab}\n value={item.key}\n >\n {item.icon}\n {item.label}\n </TabsTab>\n ))}\n </TabsList>\n ),\n [\n classNames?.indicator,\n classNames?.list,\n classNames?.tab,\n customStyles?.indicator,\n customStyles?.list,\n customStyles?.tab,\n items,\n ],\n );\n\n const panels = useMemo(\n () =>\n items?.some((item) => item.children != null)\n ? items.map((item) => (\n <TabsPanel\n className={classNames?.panel}\n key={item.key}\n style={customStyles?.panel}\n value={item.key}\n >\n {item.children}\n </TabsPanel>\n ))\n : null,\n [classNames?.panel, customStyles?.panel, items],\n );\n\n return (\n <TabsRoot\n {...styleProps(styles.root, clsx(classNames?.root, className), {\n ...style,\n ...customStyles?.root,\n })}\n orientation={orientation}\n ref={ref}\n size={size}\n value={value}\n variant={variant}\n onValueChange={(next) => setValue(next ?? null)}\n >\n {list}\n {panels}\n </TabsRoot>\n );\n};\n\nTabs.displayName = 'Tabs';\n\nexport default Tabs;\n"],"mappings":";;;;;;;;;AAYA,MAAM,QAAuB,EAC3B,WACA,WACA,YACA,kBACA,OACA,UACA,cAAc,cACd,KACA,OAAO,UACP,OACA,QAAQ,cACR,UAAU,gBACN;CACJ,MAAM,mBAAmB,oBAAoB,OAAO,MAAM,SAAS,CAAC,KAAK,QAAQ,CAAC,EAAE,OAAO;CAC3F,MAAM,CAAC,OAAO,YAAY,mBAAkC,kBAAkB;EAC5E,cAAc;EACd,WAAW,SAAS;GAClB,IAAI,QAAQ,MAAM,WAAW,IAAI;EACnC;EACA,OAAO;CACT,CAAC;CAED,MAAM,OAAO,cAET,qBAAC,UAAD;EAAU,WAAW,YAAY;EAAM,OAAO,cAAc;EAA5D,UAAA,CACE,oBAAC,eAAD;GAAe,WAAW,YAAY;GAAW,OAAO,cAAc;EAAY,CAAA,GACjF,OAAO,KAAK,SACX,qBAAC,SAAD;GACE,WAAW,YAAY;GACvB,UAAU,KAAK;GAEf,OAAO,cAAc;GACrB,OAAO,KAAK;GALd,UAAA,CAOG,KAAK,MACL,KAAK,KACC;EANF,GAAA,KAAK,GAMH,CACV,CACO;CAEZ,CAAA,GAAA;EACE,YAAY;EACZ,YAAY;EACZ,YAAY;EACZ,cAAc;EACd,cAAc;EACd,cAAc;EACd;CACF,CACF;CAEA,MAAM,SAAS,cAEX,OAAO,MAAM,SAAS,KAAK,YAAY,IAAI,IACvC,MAAM,KAAK,SACT,oBAAC,WAAD;EACE,WAAW,YAAY;EAEvB,OAAO,cAAc;EACrB,OAAO,KAAK;EAEX,UAAA,KAAK;CACG,GALJ,KAAK,GAKD,CACZ,IACD,MACN;EAAC,YAAY;EAAO,cAAc;EAAO;CAAK,CAChD;CAEA,OACE,qBAAC,UAAD;EACE,GAAI,WAAW,OAAO,MAAMA,OAAK,YAAY,MAAM,SAAS,GAAG;GAC7D,GAAG;GACH,GAAG,cAAc;EACnB,CAAC;EACY;EACR;EACC;EACC;EACE;EACT,gBAAgB,SAAS,SAAS,QAAQ,IAAI;EAVhD,UAAA,CAYG,MACA,MACO;;AAEd;AAEA,KAAK,cAAc"}
|
package/es/Tabs/atoms.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { styleProps } from "../styles/stylex/props.mjs";
|
|
|
3
3
|
import { indicatorStyles, listStyles, panelStyles, tabStyles, tabsStyles } from "./style.mjs";
|
|
4
4
|
import { createContext, use, useMemo } from "react";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
6
|
-
import clsx from "clsx";
|
|
6
|
+
import clsx$1 from "clsx";
|
|
7
7
|
import { Tabs } from "@base-ui/react/tabs";
|
|
8
8
|
//#region src/Tabs/atoms.tsx
|
|
9
9
|
const TabsContext = createContext({
|
|
@@ -56,7 +56,7 @@ const TabsIndicator = ({ className, variant: variantProp, ...rest }) => {
|
|
|
56
56
|
const variant = variantProp ?? ctx.variant;
|
|
57
57
|
return /* @__PURE__ */ jsx(Tabs.Indicator, {
|
|
58
58
|
renderBeforeHydration: true,
|
|
59
|
-
className: styleProps(indicatorStyles(variant), clsx("lobe-tabs-indicator", className)).className,
|
|
59
|
+
className: styleProps(indicatorStyles(variant), clsx$1("lobe-tabs-indicator", className)).className,
|
|
60
60
|
...rest
|
|
61
61
|
});
|
|
62
62
|
};
|
package/es/Tabs/atoms.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atoms.mjs","names":["BaseUITabs"],"sources":["../../src/Tabs/atoms.tsx"],"sourcesContent":["'use client';\n\nimport './style.css';\n\nimport { Tabs as BaseUITabs } from '@base-ui/react/tabs';\nimport clsx from 'clsx';\nimport { createContext, type FC, use, useMemo } from 'react';\n\nimport { styleProps } from '@/styles/stylex/props';\n\nimport { indicatorStyles, listStyles, panelStyles, tabStyles } from './style';\nimport type {\n TabsIndicatorProps,\n TabsListProps,\n TabsPanelProps,\n TabsRootProps,\n TabsSize,\n TabsTabProps,\n TabsVariant,\n} from './type';\n\ninterface TabsContextValue {\n size: TabsSize;\n variant: TabsVariant;\n}\n\nconst TabsContext = createContext<TabsContextValue>({ size: 'middle', variant: 'rounded' });\n\nexport const useTabsContext = () => use(TabsContext);\n\ntype TabsRootInternalProps = TabsRootProps & {\n size?: TabsSize;\n variant?: TabsVariant;\n};\n\nexport const TabsRoot: FC<TabsRootInternalProps> = ({\n children,\n size = 'middle',\n variant = 'rounded',\n ...rest\n}) => {\n const contextValue = useMemo(() => ({ size, variant }), [size, variant]);\n\n return (\n <TabsContext value={contextValue}>\n <BaseUITabs.Root {...rest}>{children}</BaseUITabs.Root>\n </TabsContext>\n );\n};\n\nTabsRoot.displayName = 'TabsRoot';\n\nexport const TabsList: FC<TabsListProps> = ({ className, variant: variantProp, ...rest }) => {\n const ctx = useTabsContext();\n const variant = variantProp ?? ctx.variant;\n\n return (\n <BaseUITabs.List className={styleProps(listStyles(variant), className).className} {...rest} />\n );\n};\n\nTabsList.displayName = 'TabsList';\n\nexport const TabsTab: FC<TabsTabProps> = ({\n className,\n size: sizeProp,\n variant: variantProp,\n ...rest\n}) => {\n const ctx = useTabsContext();\n const size = sizeProp ?? ctx.size;\n const variant = variantProp ?? ctx.variant;\n\n return (\n <BaseUITabs.Tab\n className={styleProps(tabStyles(size, variant), className).className}\n {...rest}\n />\n );\n};\n\nTabsTab.displayName = 'TabsTab';\n\nexport const TabsPanel: FC<TabsPanelProps> = ({ className, ...rest }) => {\n return <BaseUITabs.Panel className={styleProps(panelStyles, className).className} {...rest} />;\n};\n\nTabsPanel.displayName = 'TabsPanel';\n\nexport const TabsIndicator: FC<TabsIndicatorProps> = ({\n className,\n variant: variantProp,\n ...rest\n}) => {\n const ctx = useTabsContext();\n const variant = variantProp ?? ctx.variant;\n\n return (\n <BaseUITabs.Indicator\n renderBeforeHydration\n className={\n styleProps(indicatorStyles(variant), clsx('lobe-tabs-indicator', className)).className\n }\n {...rest}\n />\n );\n};\n\nTabsIndicator.displayName = 'TabsIndicator';\n\nexport { tabsStyles } from './style';\n"],"mappings":";;;;;;;;AA0BA,MAAM,cAAc,cAAgC;CAAE,MAAM;CAAU,SAAS;AAAU,CAAC;AAE1F,MAAa,uBAAuB,IAAI,WAAW;AAOnD,MAAa,YAAuC,EAClD,UACA,OAAO,UACP,UAAU,WACV,GAAG,WACC;CACJ,MAAM,eAAe,eAAe;EAAE;EAAM;CAAQ,IAAI,CAAC,MAAM,OAAO,CAAC;CAEvE,OACE,oBAAC,aAAD;EAAa,OAAO;EAClB,UAAA,oBAACA,KAAW,MAAZ;GAAiB,GAAI;GAAO;EAA0B,CAAA;CAC3C,CAAA;AAEjB;AAEA,SAAS,cAAc;AAEvB,MAAa,YAA+B,EAAE,WAAW,SAAS,aAAa,GAAG,WAAW;CAC3F,MAAM,MAAM,eAAe;CAC3B,MAAM,UAAU,eAAe,IAAI;CAEnC,OACE,oBAACA,KAAW,MAAZ;EAAiB,WAAW,WAAW,WAAW,OAAO,GAAG,SAAS,CAAC,CAAC;EAAW,GAAI;CAAO,CAAA;AAEjG;AAEA,SAAS,cAAc;AAEvB,MAAa,WAA6B,EACxC,WACA,MAAM,UACN,SAAS,aACT,GAAG,WACC;CACJ,MAAM,MAAM,eAAe;CAC3B,MAAM,OAAO,YAAY,IAAI;CAC7B,MAAM,UAAU,eAAe,IAAI;CAEnC,OACE,oBAACA,KAAW,KAAZ;EACE,WAAW,WAAW,UAAU,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC;EAC3D,GAAI;CACL,CAAA;AAEL;AAEA,QAAQ,cAAc;AAEtB,MAAa,aAAiC,EAAE,WAAW,GAAG,WAAW;CACvE,OAAO,oBAACA,KAAW,OAAZ;EAAkB,WAAW,WAAW,aAAa,SAAS,CAAC,CAAC;EAAW,GAAI;CAAO,CAAA;AAC/F;AAEA,UAAU,cAAc;AAExB,MAAa,iBAAyC,EACpD,WACA,SAAS,aACT,GAAG,WACC;CACJ,MAAM,MAAM,eAAe;CAC3B,MAAM,UAAU,eAAe,IAAI;CAEnC,OACE,oBAACA,KAAW,WAAZ;EACE,uBAAA;EACA,WACE,WAAW,gBAAgB,OAAO,
|
|
1
|
+
{"version":3,"file":"atoms.mjs","names":["BaseUITabs","clsx"],"sources":["../../src/Tabs/atoms.tsx"],"sourcesContent":["'use client';\n\nimport './style.css';\n\nimport { Tabs as BaseUITabs } from '@base-ui/react/tabs';\nimport clsx from 'clsx';\nimport { createContext, type FC, use, useMemo } from 'react';\n\nimport { styleProps } from '@/styles/stylex/props';\n\nimport { indicatorStyles, listStyles, panelStyles, tabStyles } from './style';\nimport type {\n TabsIndicatorProps,\n TabsListProps,\n TabsPanelProps,\n TabsRootProps,\n TabsSize,\n TabsTabProps,\n TabsVariant,\n} from './type';\n\ninterface TabsContextValue {\n size: TabsSize;\n variant: TabsVariant;\n}\n\nconst TabsContext = createContext<TabsContextValue>({ size: 'middle', variant: 'rounded' });\n\nexport const useTabsContext = () => use(TabsContext);\n\ntype TabsRootInternalProps = TabsRootProps & {\n size?: TabsSize;\n variant?: TabsVariant;\n};\n\nexport const TabsRoot: FC<TabsRootInternalProps> = ({\n children,\n size = 'middle',\n variant = 'rounded',\n ...rest\n}) => {\n const contextValue = useMemo(() => ({ size, variant }), [size, variant]);\n\n return (\n <TabsContext value={contextValue}>\n <BaseUITabs.Root {...rest}>{children}</BaseUITabs.Root>\n </TabsContext>\n );\n};\n\nTabsRoot.displayName = 'TabsRoot';\n\nexport const TabsList: FC<TabsListProps> = ({ className, variant: variantProp, ...rest }) => {\n const ctx = useTabsContext();\n const variant = variantProp ?? ctx.variant;\n\n return (\n <BaseUITabs.List className={styleProps(listStyles(variant), className).className} {...rest} />\n );\n};\n\nTabsList.displayName = 'TabsList';\n\nexport const TabsTab: FC<TabsTabProps> = ({\n className,\n size: sizeProp,\n variant: variantProp,\n ...rest\n}) => {\n const ctx = useTabsContext();\n const size = sizeProp ?? ctx.size;\n const variant = variantProp ?? ctx.variant;\n\n return (\n <BaseUITabs.Tab\n className={styleProps(tabStyles(size, variant), className).className}\n {...rest}\n />\n );\n};\n\nTabsTab.displayName = 'TabsTab';\n\nexport const TabsPanel: FC<TabsPanelProps> = ({ className, ...rest }) => {\n return <BaseUITabs.Panel className={styleProps(panelStyles, className).className} {...rest} />;\n};\n\nTabsPanel.displayName = 'TabsPanel';\n\nexport const TabsIndicator: FC<TabsIndicatorProps> = ({\n className,\n variant: variantProp,\n ...rest\n}) => {\n const ctx = useTabsContext();\n const variant = variantProp ?? ctx.variant;\n\n return (\n <BaseUITabs.Indicator\n renderBeforeHydration\n className={\n styleProps(indicatorStyles(variant), clsx('lobe-tabs-indicator', className)).className\n }\n {...rest}\n />\n );\n};\n\nTabsIndicator.displayName = 'TabsIndicator';\n\nexport { tabsStyles } from './style';\n"],"mappings":";;;;;;;;AA0BA,MAAM,cAAc,cAAgC;CAAE,MAAM;CAAU,SAAS;AAAU,CAAC;AAE1F,MAAa,uBAAuB,IAAI,WAAW;AAOnD,MAAa,YAAuC,EAClD,UACA,OAAO,UACP,UAAU,WACV,GAAG,WACC;CACJ,MAAM,eAAe,eAAe;EAAE;EAAM;CAAQ,IAAI,CAAC,MAAM,OAAO,CAAC;CAEvE,OACE,oBAAC,aAAD;EAAa,OAAO;EAClB,UAAA,oBAACA,KAAW,MAAZ;GAAiB,GAAI;GAAO;EAA0B,CAAA;CAC3C,CAAA;AAEjB;AAEA,SAAS,cAAc;AAEvB,MAAa,YAA+B,EAAE,WAAW,SAAS,aAAa,GAAG,WAAW;CAC3F,MAAM,MAAM,eAAe;CAC3B,MAAM,UAAU,eAAe,IAAI;CAEnC,OACE,oBAACA,KAAW,MAAZ;EAAiB,WAAW,WAAW,WAAW,OAAO,GAAG,SAAS,CAAC,CAAC;EAAW,GAAI;CAAO,CAAA;AAEjG;AAEA,SAAS,cAAc;AAEvB,MAAa,WAA6B,EACxC,WACA,MAAM,UACN,SAAS,aACT,GAAG,WACC;CACJ,MAAM,MAAM,eAAe;CAC3B,MAAM,OAAO,YAAY,IAAI;CAC7B,MAAM,UAAU,eAAe,IAAI;CAEnC,OACE,oBAACA,KAAW,KAAZ;EACE,WAAW,WAAW,UAAU,MAAM,OAAO,GAAG,SAAS,CAAC,CAAC;EAC3D,GAAI;CACL,CAAA;AAEL;AAEA,QAAQ,cAAc;AAEtB,MAAa,aAAiC,EAAE,WAAW,GAAG,WAAW;CACvE,OAAO,oBAACA,KAAW,OAAZ;EAAkB,WAAW,WAAW,aAAa,SAAS,CAAC,CAAC;EAAW,GAAI;CAAO,CAAA;AAC/F;AAEA,UAAU,cAAc;AAExB,MAAa,iBAAyC,EACpD,WACA,SAAS,aACT,GAAG,WACC;CACJ,MAAM,MAAM,eAAe;CAC3B,MAAM,UAAU,eAAe,IAAI;CAEnC,OACE,oBAACA,KAAW,WAAZ;EACE,uBAAA;EACA,WACE,WAAW,gBAAgB,OAAO,GAAGC,OAAK,uBAAuB,SAAS,CAAC,CAAC,CAAC;EAE/E,GAAI;CACL,CAAA;AAEL;AAEA,cAAc,cAAc"}
|
package/es/Tabs/style.d.mts
CHANGED
package/es/Tag/Tag.mjs
CHANGED
|
@@ -7,7 +7,7 @@ import { styles } from "./style.mjs";
|
|
|
7
7
|
import { colorsPreset, colorsPresetSystem, presetColors, presetSystemColors } from "./utils.mjs";
|
|
8
8
|
import { memo, useMemo, useState } from "react";
|
|
9
9
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
-
import clsx from "clsx";
|
|
10
|
+
import clsx$1 from "clsx";
|
|
11
11
|
import { X } from "lucide-react";
|
|
12
12
|
//#region src/Tag/Tag.tsx
|
|
13
13
|
const variantStyles = {
|
|
@@ -64,7 +64,7 @@ const Tag = memo(({ children, className, classNames, closable, closeIcon, color,
|
|
|
64
64
|
variantStyles[variant],
|
|
65
65
|
styles[size],
|
|
66
66
|
shape === "round" && [styles.round, roundSizeStyles[size]]
|
|
67
|
-
], clsx("lobe-tag", className, classNames?.root), {
|
|
67
|
+
], clsx$1("lobe-tag", className, classNames?.root), {
|
|
68
68
|
background: colors.backgroundColor,
|
|
69
69
|
borderColor: colors.borderColor,
|
|
70
70
|
color: colors.textColor,
|
package/es/Tag/Tag.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tag.mjs","names":[],"sources":["../../src/Tag/Tag.tsx"],"sourcesContent":["'use client';\n\nimport './style.css';\n\nimport clsx from 'clsx';\nimport { X } from 'lucide-react';\nimport { memo, useMemo, useState } from 'react';\n\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\nimport { styleProps } from '@/styles/stylex/props';\nimport { stylish } from '@/styles/stylex/stylish';\nimport { safeReadableColor } from '@/utils/safeReadableColor';\n\nimport { styles } from './style';\nimport type { TagProps } from './type';\nimport { colorsPreset, colorsPresetSystem, presetColors, presetSystemColors } from './utils';\n\nconst variantStyles = {\n borderless: stylish.variantBorderlessWithoutHover,\n filled: stylish.variantFilledWithoutHover,\n outlined: stylish.variantOutlinedWithoutHover,\n solid: stylish.variantFilledWithoutHover,\n};\n\nconst roundSizeStyles = {\n large: styles.roundLarge,\n middle: styles.roundMiddle,\n small: styles.roundSmall,\n};\n\nconst Tag = memo<TagProps>(\n ({\n children,\n className,\n classNames,\n closable,\n closeIcon,\n color,\n icon,\n onClick,\n onClose,\n ref,\n shape = 'normal',\n size = 'middle',\n style,\n styles: customStyles,\n variant = 'filled',\n ...rest\n }) => {\n const [visible, setVisible] = useState(true);\n\n const colors = useMemo(() => {\n let textColor = cssVar.colorTextSecondary;\n let backgroundColor;\n let borderColor;\n const isBorderless = variant === 'borderless';\n const isFilled = variant === 'filled';\n const isSolid = variant === 'solid';\n const isPresetColor = color && presetColors.includes(color);\n const isPresetSystemColors = color && presetSystemColors.has(color);\n const isHexColor = color && color.startsWith('#');\n\n if (isPresetColor) {\n const solidBgColor = colorsPreset(color);\n textColor = isSolid ? safeReadableColor(solidBgColor) : colorsPreset(color, 'active');\n backgroundColor = isSolid\n ? solidBgColor\n : isBorderless\n ? 'transparent'\n : colorsPreset(color, 'fillTertiary');\n borderColor = isSolid\n ? solidBgColor\n : colorsPreset(color, isFilled ? 'fillQuaternary' : 'fillTertiary');\n }\n if (isPresetSystemColors) {\n const solidBgColor = colorsPresetSystem(color);\n textColor = isSolid ? safeReadableColor(solidBgColor) : colorsPresetSystem(color);\n backgroundColor = isSolid\n ? solidBgColor\n : isBorderless\n ? 'transparent'\n : colorsPresetSystem(color, 'fillTertiary');\n borderColor = isSolid\n ? solidBgColor\n : colorsPresetSystem(color, isFilled ? 'fillQuaternary' : 'fillTertiary');\n }\n if (isHexColor) {\n textColor = isSolid\n ? safeReadableColor(color)\n : isBorderless\n ? color\n : cssVar.colorBgLayout;\n backgroundColor = isSolid ? color : isBorderless ? 'transparent' : color;\n borderColor = isSolid ? color : borderColor;\n }\n\n return {\n backgroundColor,\n borderColor,\n textColor,\n };\n }, [color, variant]);\n\n if (!visible) return null;\n\n return (\n <span\n ref={ref}\n {...styleProps(\n [\n styles.root,\n variantStyles[variant],\n styles[size],\n shape === 'round' && [styles.round, roundSizeStyles[size]],\n ],\n clsx('lobe-tag', className, classNames?.root),\n {\n background: colors.backgroundColor,\n borderColor: colors.borderColor,\n color: colors.textColor,\n cursor: onClick ? 'pointer' : undefined,\n ...style,\n ...customStyles?.root,\n },\n )}\n onClick={onClick}\n {...rest}\n >\n {icon}\n {children}\n {closable && (\n <button\n aria-label=\"Close\"\n {...styleProps(styles.close, classNames?.closeIcon, customStyles?.closeIcon)}\n type=\"button\"\n onClick={(e) => {\n e.stopPropagation();\n onClose?.(e);\n setVisible(false);\n }}\n >\n {closeIcon ?? <X size={10} />}\n </button>\n )}\n </span>\n );\n },\n);\n\nTag.displayName = 'Tag';\n\nexport default Tag;\n"],"mappings":";;;;;;;;;;;;AAiBA,MAAM,gBAAgB;CACpB,YAAY,QAAQ;CACpB,QAAQ,QAAQ;CAChB,UAAU,QAAQ;CAClB,OAAO,QAAQ;AACjB;AAEA,MAAM,kBAAkB;CACtB,OAAO,OAAO;CACd,QAAQ,OAAO;CACf,OAAO,OAAO;AAChB;AAEA,MAAM,MAAM,MACT,EACC,UACA,WACA,YACA,UACA,WACA,OACA,MACA,SACA,SACA,KACA,QAAQ,UACR,OAAO,UACP,OACA,QAAQ,cACR,UAAU,UACV,GAAG,WACC;CACJ,MAAM,CAAC,SAAS,cAAc,SAAS,IAAI;CAE3C,MAAM,SAAS,cAAc;EAC3B,IAAI,YAAY,OAAO;EACvB,IAAI;EACJ,IAAI;EACJ,MAAM,eAAe,YAAY;EACjC,MAAM,WAAW,YAAY;EAC7B,MAAM,UAAU,YAAY;EAC5B,MAAM,gBAAgB,SAAS,aAAa,SAAS,KAAK;EAC1D,MAAM,uBAAuB,SAAS,mBAAmB,IAAI,KAAK;EAClE,MAAM,aAAa,SAAS,MAAM,WAAW,GAAG;EAEhD,IAAI,eAAe;GACjB,MAAM,eAAe,aAAa,KAAK;GACvC,YAAY,UAAU,kBAAkB,YAAY,IAAI,aAAa,OAAO,QAAQ;GACpF,kBAAkB,UACd,eACA,eACE,gBACA,aAAa,OAAO,cAAc;GACxC,cAAc,UACV,eACA,aAAa,OAAO,WAAW,mBAAmB,cAAc;EACtE;EACA,IAAI,sBAAsB;GACxB,MAAM,eAAe,mBAAmB,KAAK;GAC7C,YAAY,UAAU,kBAAkB,YAAY,IAAI,mBAAmB,KAAK;GAChF,kBAAkB,UACd,eACA,eACE,gBACA,mBAAmB,OAAO,cAAc;GAC9C,cAAc,UACV,eACA,mBAAmB,OAAO,WAAW,mBAAmB,cAAc;EAC5E;EACA,IAAI,YAAY;GACd,YAAY,UACR,kBAAkB,KAAK,IACvB,eACE,QACA,OAAO;GACb,kBAAkB,UAAU,QAAQ,eAAe,gBAAgB;GACnE,cAAc,UAAU,QAAQ;EAClC;EAEA,OAAO;GACL;GACA;GACA;EACF;CACF,GAAG,CAAC,OAAO,OAAO,CAAC;CAEnB,IAAI,CAAC,SAAS,OAAO;CAErB,OACE,qBAAC,QAAD;EACO;EACL,GAAI,WACF;GACE,OAAO;GACP,cAAc;GACd,OAAO;GACP,UAAU,WAAW,CAAC,OAAO,OAAO,gBAAgB,KAAK;EAC3D,
|
|
1
|
+
{"version":3,"file":"Tag.mjs","names":["clsx"],"sources":["../../src/Tag/Tag.tsx"],"sourcesContent":["'use client';\n\nimport './style.css';\n\nimport clsx from 'clsx';\nimport { X } from 'lucide-react';\nimport { memo, useMemo, useState } from 'react';\n\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\nimport { styleProps } from '@/styles/stylex/props';\nimport { stylish } from '@/styles/stylex/stylish';\nimport { safeReadableColor } from '@/utils/safeReadableColor';\n\nimport { styles } from './style';\nimport type { TagProps } from './type';\nimport { colorsPreset, colorsPresetSystem, presetColors, presetSystemColors } from './utils';\n\nconst variantStyles = {\n borderless: stylish.variantBorderlessWithoutHover,\n filled: stylish.variantFilledWithoutHover,\n outlined: stylish.variantOutlinedWithoutHover,\n solid: stylish.variantFilledWithoutHover,\n};\n\nconst roundSizeStyles = {\n large: styles.roundLarge,\n middle: styles.roundMiddle,\n small: styles.roundSmall,\n};\n\nconst Tag = memo<TagProps>(\n ({\n children,\n className,\n classNames,\n closable,\n closeIcon,\n color,\n icon,\n onClick,\n onClose,\n ref,\n shape = 'normal',\n size = 'middle',\n style,\n styles: customStyles,\n variant = 'filled',\n ...rest\n }) => {\n const [visible, setVisible] = useState(true);\n\n const colors = useMemo(() => {\n let textColor = cssVar.colorTextSecondary;\n let backgroundColor;\n let borderColor;\n const isBorderless = variant === 'borderless';\n const isFilled = variant === 'filled';\n const isSolid = variant === 'solid';\n const isPresetColor = color && presetColors.includes(color);\n const isPresetSystemColors = color && presetSystemColors.has(color);\n const isHexColor = color && color.startsWith('#');\n\n if (isPresetColor) {\n const solidBgColor = colorsPreset(color);\n textColor = isSolid ? safeReadableColor(solidBgColor) : colorsPreset(color, 'active');\n backgroundColor = isSolid\n ? solidBgColor\n : isBorderless\n ? 'transparent'\n : colorsPreset(color, 'fillTertiary');\n borderColor = isSolid\n ? solidBgColor\n : colorsPreset(color, isFilled ? 'fillQuaternary' : 'fillTertiary');\n }\n if (isPresetSystemColors) {\n const solidBgColor = colorsPresetSystem(color);\n textColor = isSolid ? safeReadableColor(solidBgColor) : colorsPresetSystem(color);\n backgroundColor = isSolid\n ? solidBgColor\n : isBorderless\n ? 'transparent'\n : colorsPresetSystem(color, 'fillTertiary');\n borderColor = isSolid\n ? solidBgColor\n : colorsPresetSystem(color, isFilled ? 'fillQuaternary' : 'fillTertiary');\n }\n if (isHexColor) {\n textColor = isSolid\n ? safeReadableColor(color)\n : isBorderless\n ? color\n : cssVar.colorBgLayout;\n backgroundColor = isSolid ? color : isBorderless ? 'transparent' : color;\n borderColor = isSolid ? color : borderColor;\n }\n\n return {\n backgroundColor,\n borderColor,\n textColor,\n };\n }, [color, variant]);\n\n if (!visible) return null;\n\n return (\n <span\n ref={ref}\n {...styleProps(\n [\n styles.root,\n variantStyles[variant],\n styles[size],\n shape === 'round' && [styles.round, roundSizeStyles[size]],\n ],\n clsx('lobe-tag', className, classNames?.root),\n {\n background: colors.backgroundColor,\n borderColor: colors.borderColor,\n color: colors.textColor,\n cursor: onClick ? 'pointer' : undefined,\n ...style,\n ...customStyles?.root,\n },\n )}\n onClick={onClick}\n {...rest}\n >\n {icon}\n {children}\n {closable && (\n <button\n aria-label=\"Close\"\n {...styleProps(styles.close, classNames?.closeIcon, customStyles?.closeIcon)}\n type=\"button\"\n onClick={(e) => {\n e.stopPropagation();\n onClose?.(e);\n setVisible(false);\n }}\n >\n {closeIcon ?? <X size={10} />}\n </button>\n )}\n </span>\n );\n },\n);\n\nTag.displayName = 'Tag';\n\nexport default Tag;\n"],"mappings":";;;;;;;;;;;;AAiBA,MAAM,gBAAgB;CACpB,YAAY,QAAQ;CACpB,QAAQ,QAAQ;CAChB,UAAU,QAAQ;CAClB,OAAO,QAAQ;AACjB;AAEA,MAAM,kBAAkB;CACtB,OAAO,OAAO;CACd,QAAQ,OAAO;CACf,OAAO,OAAO;AAChB;AAEA,MAAM,MAAM,MACT,EACC,UACA,WACA,YACA,UACA,WACA,OACA,MACA,SACA,SACA,KACA,QAAQ,UACR,OAAO,UACP,OACA,QAAQ,cACR,UAAU,UACV,GAAG,WACC;CACJ,MAAM,CAAC,SAAS,cAAc,SAAS,IAAI;CAE3C,MAAM,SAAS,cAAc;EAC3B,IAAI,YAAY,OAAO;EACvB,IAAI;EACJ,IAAI;EACJ,MAAM,eAAe,YAAY;EACjC,MAAM,WAAW,YAAY;EAC7B,MAAM,UAAU,YAAY;EAC5B,MAAM,gBAAgB,SAAS,aAAa,SAAS,KAAK;EAC1D,MAAM,uBAAuB,SAAS,mBAAmB,IAAI,KAAK;EAClE,MAAM,aAAa,SAAS,MAAM,WAAW,GAAG;EAEhD,IAAI,eAAe;GACjB,MAAM,eAAe,aAAa,KAAK;GACvC,YAAY,UAAU,kBAAkB,YAAY,IAAI,aAAa,OAAO,QAAQ;GACpF,kBAAkB,UACd,eACA,eACE,gBACA,aAAa,OAAO,cAAc;GACxC,cAAc,UACV,eACA,aAAa,OAAO,WAAW,mBAAmB,cAAc;EACtE;EACA,IAAI,sBAAsB;GACxB,MAAM,eAAe,mBAAmB,KAAK;GAC7C,YAAY,UAAU,kBAAkB,YAAY,IAAI,mBAAmB,KAAK;GAChF,kBAAkB,UACd,eACA,eACE,gBACA,mBAAmB,OAAO,cAAc;GAC9C,cAAc,UACV,eACA,mBAAmB,OAAO,WAAW,mBAAmB,cAAc;EAC5E;EACA,IAAI,YAAY;GACd,YAAY,UACR,kBAAkB,KAAK,IACvB,eACE,QACA,OAAO;GACb,kBAAkB,UAAU,QAAQ,eAAe,gBAAgB;GACnE,cAAc,UAAU,QAAQ;EAClC;EAEA,OAAO;GACL;GACA;GACA;EACF;CACF,GAAG,CAAC,OAAO,OAAO,CAAC;CAEnB,IAAI,CAAC,SAAS,OAAO;CAErB,OACE,qBAAC,QAAD;EACO;EACL,GAAI,WACF;GACE,OAAO;GACP,cAAc;GACd,OAAO;GACP,UAAU,WAAW,CAAC,OAAO,OAAO,gBAAgB,KAAK;EAC3D,GACAA,OAAK,YAAY,WAAW,YAAY,IAAI,GAC5C;GACE,YAAY,OAAO;GACnB,aAAa,OAAO;GACpB,OAAO,OAAO;GACd,QAAQ,UAAU,YAAY,KAAA;GAC9B,GAAG;GACH,GAAG,cAAc;EACnB,CACF;EACS;EACT,GAAI;EApBN,UAAA;GAsBG;GACA;GACA,YACC,oBAAC,UAAD;IACE,cAAW;IACX,GAAI,WAAW,OAAO,OAAO,YAAY,WAAW,cAAc,SAAS;IAC3E,MAAK;IACL,UAAU,MAAM;KACd,EAAE,gBAAgB;KAClB,UAAU,CAAC;KACX,WAAW,KAAK;IAClB;IAEC,UAAA,aAAa,oBAAC,GAAD,EAAG,MAAM,GAAK,CAAA;GACtB,CAAA;EAEN;;AAEV,CACF;AAEA,IAAI,cAAc"}
|
package/es/Text/Text.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import { textStyleArray } from "./style.mjs";
|
|
|
5
5
|
import { useTextOverflow } from "../hooks/useTextOverflow.mjs";
|
|
6
6
|
import { memo, useRef } from "react";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
|
-
import clsx from "clsx";
|
|
8
|
+
import clsx$1 from "clsx";
|
|
9
9
|
//#region src/Text/Text.tsx
|
|
10
10
|
const InternalText = memo(({ align, as: Container = "div", children, className, classNames, code, color, delete: deleteStyle, disabled, ellipsis, fontSize, italic, lineClamp, lineHeight, mark, noWrap, ref, shiny, shinyDuration, strong, style, styles: customStyles, textDecoration, textTransform, type, underline, weight, whiteSpace, wordBreak, ...rest }) => {
|
|
11
11
|
const innerRef = useRef(null);
|
|
@@ -63,7 +63,7 @@ const InternalText = memo(({ align, as: Container = "div", children, className,
|
|
|
63
63
|
strong,
|
|
64
64
|
type,
|
|
65
65
|
underline
|
|
66
|
-
}), clsx(shiny && "lobe-text-shiny", className, classNames?.root)).className,
|
|
66
|
+
}), clsx$1(shiny && "lobe-text-shiny", className, classNames?.root)).className,
|
|
67
67
|
children
|
|
68
68
|
});
|
|
69
69
|
if (ellipsis && typeof ellipsis === "object" && (ellipsis.tooltip || ellipsis.tooltipWhenOverflow)) {
|
package/es/Text/Text.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.mjs","names":[],"sources":["../../src/Text/Text.tsx"],"sourcesContent":["'use client';\n\nimport './style.css';\n\nimport clsx from 'clsx';\nimport { type CSSProperties, memo, type ReactNode, type RefObject, useRef } from 'react';\n\nimport { useTextOverflow } from '@/hooks/useTextOverflow';\nimport { styleProps } from '@/styles/stylex/props';\nimport Tooltip from '@/Tooltip';\n\nimport { textStyleArray } from './style';\nimport { type TextBaseProps, type TextProps } from './type';\n\ntype InternalTextProps = TextBaseProps & {\n shiny?: boolean;\n shinyDuration?: CSSProperties['animationDuration'];\n};\n\nconst InternalText = memo<InternalTextProps>(\n ({\n align,\n as: Container = 'div',\n children,\n className,\n classNames,\n code,\n color,\n delete: deleteStyle,\n disabled,\n ellipsis,\n fontSize,\n italic,\n lineClamp,\n lineHeight,\n mark,\n noWrap,\n ref,\n shiny,\n shinyDuration,\n strong,\n style,\n styles: customStyles,\n textDecoration,\n textTransform,\n type,\n underline,\n weight,\n whiteSpace,\n wordBreak,\n ...rest\n }) => {\n const innerRef = useRef<HTMLElement>(null);\n const isOverflow = useTextOverflow(innerRef, ellipsis, children);\n\n const isMultiEllipsis = typeof ellipsis === 'object' && !!ellipsis.rows && ellipsis.rows > 1;\n const tooltipWhenOverflow = typeof ellipsis === 'object' && ellipsis.tooltipWhenOverflow;\n\n const setNodeRef = (node: HTMLElement | null) => {\n innerRef.current = node;\n if (typeof ref === 'function') ref(node as HTMLDivElement);\n else if (ref) (ref as RefObject<HTMLDivElement | null>).current = node as HTMLDivElement;\n };\n\n const textStyle: CSSProperties = {\n ...(color && { color }),\n ...(weight && { fontWeight: weight }),\n ...(lineHeight && { lineHeight }),\n ...(textTransform && { textTransform }),\n ...(textDecoration && { textDecoration }),\n ...(wordBreak && { wordBreak }),\n ...(typeof ellipsis === 'object' &&\n ellipsis.rows && {\n WebkitLineClamp: ellipsis.rows,\n }),\n ...(!ellipsis &&\n !!lineClamp && {\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: lineClamp,\n display: '-webkit-box',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }),\n ...(shiny && shinyDuration && { '--shiny-duration': shinyDuration }),\n ...(fontSize && { fontSize }),\n ...(align && { textAlign: align }),\n ...(!isMultiEllipsis && noWrap && { whiteSpace: 'nowrap' as const }),\n ...(whiteSpace && { whiteSpace }),\n ...style,\n ...customStyles?.root,\n };\n\n const content = (\n <Container\n {...rest}\n ref={setNodeRef}\n style={textStyle}\n className={\n styleProps(\n textStyleArray({\n as: ['h1', 'h2', 'h3', 'h4', 'h5', 'p'].includes(Container as string)\n ? (Container as 'h1')\n : undefined,\n code,\n delete: deleteStyle,\n disabled,\n ellipsis: ellipsis\n ? typeof ellipsis === 'object' && ellipsis.rows\n ? 'multi'\n : true\n : undefined,\n italic,\n mark,\n shiny,\n strong,\n type,\n underline,\n }),\n clsx(shiny && 'lobe-text-shiny', className, classNames?.root),\n ).className\n }\n >\n {children}\n </Container>\n );\n\n if (\n ellipsis &&\n typeof ellipsis === 'object' &&\n (ellipsis.tooltip || ellipsis.tooltipWhenOverflow)\n ) {\n if (tooltipWhenOverflow && !isOverflow) return content;\n\n const title = typeof ellipsis.tooltip === 'string' ? ellipsis.tooltip : children;\n if (ellipsis.tooltip && typeof ellipsis.tooltip === 'object')\n return (\n <Tooltip {...ellipsis.tooltip} title={ellipsis.tooltip?.title || title}>\n {content}\n </Tooltip>\n );\n return <Tooltip title={title}>{content}</Tooltip>;\n }\n\n return content;\n },\n);\n\nInternalText.displayName = 'Text';\n\nexport interface IText {\n <Shiny extends boolean = boolean>(props: TextProps<Shiny>): ReactNode;\n}\n\nconst Text = InternalText as unknown as IText;\n\nexport default Text;\n"],"mappings":";;;;;;;;;AAmBA,MAAM,eAAe,MAClB,EACC,OACA,IAAI,YAAY,OAChB,UACA,WACA,YACA,MACA,OACA,QAAQ,aACR,UACA,UACA,UACA,QACA,WACA,YACA,MACA,QACA,KACA,OACA,eACA,QACA,OACA,QAAQ,cACR,gBACA,eACA,MACA,WACA,QACA,YACA,WACA,GAAG,WACC;CACJ,MAAM,WAAW,OAAoB,IAAI;CACzC,MAAM,aAAa,gBAAgB,UAAU,UAAU,QAAQ;CAE/D,MAAM,kBAAkB,OAAO,aAAa,YAAY,CAAC,CAAC,SAAS,QAAQ,SAAS,OAAO;CAC3F,MAAM,sBAAsB,OAAO,aAAa,YAAY,SAAS;CAErE,MAAM,cAAc,SAA6B;EAC/C,SAAS,UAAU;EACnB,IAAI,OAAO,QAAQ,YAAY,IAAI,IAAsB;OACpD,IAAI,KAAK,IAA0C,UAAU;CACpE;CAEA,MAAM,YAA2B;EAC/B,GAAI,SAAS,EAAE,MAAM;EACrB,GAAI,UAAU,EAAE,YAAY,OAAO;EACnC,GAAI,cAAc,EAAE,WAAW;EAC/B,GAAI,iBAAiB,EAAE,cAAc;EACrC,GAAI,kBAAkB,EAAE,eAAe;EACvC,GAAI,aAAa,EAAE,UAAU;EAC7B,GAAI,OAAO,aAAa,YACtB,SAAS,QAAQ,EACf,iBAAiB,SAAS,KAC5B;EACF,GAAI,CAAC,YACH,CAAC,CAAC,aAAa;GACb,iBAAiB;GACjB,iBAAiB;GACjB,SAAS;GACT,UAAU;GACV,cAAc;EAChB;EACF,GAAI,SAAS,iBAAiB,EAAE,oBAAoB,cAAc;EAClE,GAAI,YAAY,EAAE,SAAS;EAC3B,GAAI,SAAS,EAAE,WAAW,MAAM;EAChC,GAAI,CAAC,mBAAmB,UAAU,EAAE,YAAY,SAAkB;EAClE,GAAI,cAAc,EAAE,WAAW;EAC/B,GAAG;EACH,GAAG,cAAc;CACnB;CAEA,MAAM,UACJ,oBAAC,WAAD;EACE,GAAI;EACJ,KAAK;EACL,OAAO;EACP,WACE,WACE,eAAe;GACb,IAAI;IAAC;IAAM;IAAM;IAAM;IAAM;IAAM;GAAG,CAAC,CAAC,SAAS,SAAmB,IAC/D,YACD,KAAA;GACJ;GACA,QAAQ;GACR;GACA,UAAU,WACN,OAAO,aAAa,YAAY,SAAS,OACvC,UACA,OACF,KAAA;GACJ;GACA;GACA;GACA;GACA;GACA;EACF,CAAC,
|
|
1
|
+
{"version":3,"file":"Text.mjs","names":["clsx"],"sources":["../../src/Text/Text.tsx"],"sourcesContent":["'use client';\n\nimport './style.css';\n\nimport clsx from 'clsx';\nimport { type CSSProperties, memo, type ReactNode, type RefObject, useRef } from 'react';\n\nimport { useTextOverflow } from '@/hooks/useTextOverflow';\nimport { styleProps } from '@/styles/stylex/props';\nimport Tooltip from '@/Tooltip';\n\nimport { textStyleArray } from './style';\nimport { type TextBaseProps, type TextProps } from './type';\n\ntype InternalTextProps = TextBaseProps & {\n shiny?: boolean;\n shinyDuration?: CSSProperties['animationDuration'];\n};\n\nconst InternalText = memo<InternalTextProps>(\n ({\n align,\n as: Container = 'div',\n children,\n className,\n classNames,\n code,\n color,\n delete: deleteStyle,\n disabled,\n ellipsis,\n fontSize,\n italic,\n lineClamp,\n lineHeight,\n mark,\n noWrap,\n ref,\n shiny,\n shinyDuration,\n strong,\n style,\n styles: customStyles,\n textDecoration,\n textTransform,\n type,\n underline,\n weight,\n whiteSpace,\n wordBreak,\n ...rest\n }) => {\n const innerRef = useRef<HTMLElement>(null);\n const isOverflow = useTextOverflow(innerRef, ellipsis, children);\n\n const isMultiEllipsis = typeof ellipsis === 'object' && !!ellipsis.rows && ellipsis.rows > 1;\n const tooltipWhenOverflow = typeof ellipsis === 'object' && ellipsis.tooltipWhenOverflow;\n\n const setNodeRef = (node: HTMLElement | null) => {\n innerRef.current = node;\n if (typeof ref === 'function') ref(node as HTMLDivElement);\n else if (ref) (ref as RefObject<HTMLDivElement | null>).current = node as HTMLDivElement;\n };\n\n const textStyle: CSSProperties = {\n ...(color && { color }),\n ...(weight && { fontWeight: weight }),\n ...(lineHeight && { lineHeight }),\n ...(textTransform && { textTransform }),\n ...(textDecoration && { textDecoration }),\n ...(wordBreak && { wordBreak }),\n ...(typeof ellipsis === 'object' &&\n ellipsis.rows && {\n WebkitLineClamp: ellipsis.rows,\n }),\n ...(!ellipsis &&\n !!lineClamp && {\n WebkitBoxOrient: 'vertical',\n WebkitLineClamp: lineClamp,\n display: '-webkit-box',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }),\n ...(shiny && shinyDuration && { '--shiny-duration': shinyDuration }),\n ...(fontSize && { fontSize }),\n ...(align && { textAlign: align }),\n ...(!isMultiEllipsis && noWrap && { whiteSpace: 'nowrap' as const }),\n ...(whiteSpace && { whiteSpace }),\n ...style,\n ...customStyles?.root,\n };\n\n const content = (\n <Container\n {...rest}\n ref={setNodeRef}\n style={textStyle}\n className={\n styleProps(\n textStyleArray({\n as: ['h1', 'h2', 'h3', 'h4', 'h5', 'p'].includes(Container as string)\n ? (Container as 'h1')\n : undefined,\n code,\n delete: deleteStyle,\n disabled,\n ellipsis: ellipsis\n ? typeof ellipsis === 'object' && ellipsis.rows\n ? 'multi'\n : true\n : undefined,\n italic,\n mark,\n shiny,\n strong,\n type,\n underline,\n }),\n clsx(shiny && 'lobe-text-shiny', className, classNames?.root),\n ).className\n }\n >\n {children}\n </Container>\n );\n\n if (\n ellipsis &&\n typeof ellipsis === 'object' &&\n (ellipsis.tooltip || ellipsis.tooltipWhenOverflow)\n ) {\n if (tooltipWhenOverflow && !isOverflow) return content;\n\n const title = typeof ellipsis.tooltip === 'string' ? ellipsis.tooltip : children;\n if (ellipsis.tooltip && typeof ellipsis.tooltip === 'object')\n return (\n <Tooltip {...ellipsis.tooltip} title={ellipsis.tooltip?.title || title}>\n {content}\n </Tooltip>\n );\n return <Tooltip title={title}>{content}</Tooltip>;\n }\n\n return content;\n },\n);\n\nInternalText.displayName = 'Text';\n\nexport interface IText {\n <Shiny extends boolean = boolean>(props: TextProps<Shiny>): ReactNode;\n}\n\nconst Text = InternalText as unknown as IText;\n\nexport default Text;\n"],"mappings":";;;;;;;;;AAmBA,MAAM,eAAe,MAClB,EACC,OACA,IAAI,YAAY,OAChB,UACA,WACA,YACA,MACA,OACA,QAAQ,aACR,UACA,UACA,UACA,QACA,WACA,YACA,MACA,QACA,KACA,OACA,eACA,QACA,OACA,QAAQ,cACR,gBACA,eACA,MACA,WACA,QACA,YACA,WACA,GAAG,WACC;CACJ,MAAM,WAAW,OAAoB,IAAI;CACzC,MAAM,aAAa,gBAAgB,UAAU,UAAU,QAAQ;CAE/D,MAAM,kBAAkB,OAAO,aAAa,YAAY,CAAC,CAAC,SAAS,QAAQ,SAAS,OAAO;CAC3F,MAAM,sBAAsB,OAAO,aAAa,YAAY,SAAS;CAErE,MAAM,cAAc,SAA6B;EAC/C,SAAS,UAAU;EACnB,IAAI,OAAO,QAAQ,YAAY,IAAI,IAAsB;OACpD,IAAI,KAAK,IAA0C,UAAU;CACpE;CAEA,MAAM,YAA2B;EAC/B,GAAI,SAAS,EAAE,MAAM;EACrB,GAAI,UAAU,EAAE,YAAY,OAAO;EACnC,GAAI,cAAc,EAAE,WAAW;EAC/B,GAAI,iBAAiB,EAAE,cAAc;EACrC,GAAI,kBAAkB,EAAE,eAAe;EACvC,GAAI,aAAa,EAAE,UAAU;EAC7B,GAAI,OAAO,aAAa,YACtB,SAAS,QAAQ,EACf,iBAAiB,SAAS,KAC5B;EACF,GAAI,CAAC,YACH,CAAC,CAAC,aAAa;GACb,iBAAiB;GACjB,iBAAiB;GACjB,SAAS;GACT,UAAU;GACV,cAAc;EAChB;EACF,GAAI,SAAS,iBAAiB,EAAE,oBAAoB,cAAc;EAClE,GAAI,YAAY,EAAE,SAAS;EAC3B,GAAI,SAAS,EAAE,WAAW,MAAM;EAChC,GAAI,CAAC,mBAAmB,UAAU,EAAE,YAAY,SAAkB;EAClE,GAAI,cAAc,EAAE,WAAW;EAC/B,GAAG;EACH,GAAG,cAAc;CACnB;CAEA,MAAM,UACJ,oBAAC,WAAD;EACE,GAAI;EACJ,KAAK;EACL,OAAO;EACP,WACE,WACE,eAAe;GACb,IAAI;IAAC;IAAM;IAAM;IAAM;IAAM;IAAM;GAAG,CAAC,CAAC,SAAS,SAAmB,IAC/D,YACD,KAAA;GACJ;GACA,QAAQ;GACR;GACA,UAAU,WACN,OAAO,aAAa,YAAY,SAAS,OACvC,UACA,OACF,KAAA;GACJ;GACA;GACA;GACA;GACA;GACA;EACF,CAAC,GACDA,OAAK,SAAS,mBAAmB,WAAW,YAAY,IAAI,CAC9D,CAAC,CAAC;EAGH;CACQ,CAAA;CAGb,IACE,YACA,OAAO,aAAa,aACnB,SAAS,WAAW,SAAS,sBAC9B;EACA,IAAI,uBAAuB,CAAC,YAAY,OAAO;EAE/C,MAAM,QAAQ,OAAO,SAAS,YAAY,WAAW,SAAS,UAAU;EACxE,IAAI,SAAS,WAAW,OAAO,SAAS,YAAY,UAClD,OACE,oBAAC,SAAD;GAAS,GAAI,SAAS;GAAS,OAAO,SAAS,SAAS,SAAS;GAC9D,UAAA;EACM,CAAA;EAEb,OAAO,oBAAC,SAAD;GAAgB;GAAQ,UAAA;EAAiB,CAAA;CAClD;CAEA,OAAO;AACT,CACF;AAEA,aAAa,cAAc;AAM3B,MAAM,OAAO"}
|
package/es/Text/style.d.mts
CHANGED
|
@@ -14,13 +14,13 @@ export declare const textStyles: {
|
|
|
14
14
|
text: string;
|
|
15
15
|
disabled: string;
|
|
16
16
|
danger: string;
|
|
17
|
-
success: string;
|
|
18
|
-
info: string;
|
|
19
|
-
warning: string;
|
|
20
17
|
delete: string;
|
|
21
18
|
ellipsis: string;
|
|
22
19
|
italic: string;
|
|
23
20
|
underline: string;
|
|
21
|
+
success: string;
|
|
22
|
+
warning: string;
|
|
23
|
+
info: string;
|
|
24
24
|
ellipsisMulti: string;
|
|
25
25
|
secondary: string;
|
|
26
26
|
};
|
package/es/Text/style.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { styleProps } from "../styles/stylex/props.mjs";
|
|
2
|
-
import clsx from "clsx";
|
|
2
|
+
import clsx$1 from "clsx";
|
|
3
3
|
//#region src/Text/style.ts
|
|
4
4
|
const styles = {
|
|
5
5
|
code: {
|
|
@@ -122,7 +122,7 @@ const shinyClassName = "lobe-text-shiny";
|
|
|
122
122
|
const classNameOf = (style) => styleProps(style).className;
|
|
123
123
|
const textStyles = {
|
|
124
124
|
...Object.fromEntries(Object.entries(styles).map(([key, value]) => [key, classNameOf(value)])),
|
|
125
|
-
shiny: clsx(classNameOf(styles.shiny), shinyClassName)
|
|
125
|
+
shiny: clsx$1(classNameOf(styles.shiny), shinyClassName)
|
|
126
126
|
};
|
|
127
127
|
const groupStyles = { shinyGroup: "lobe-text-shiny-group" };
|
|
128
128
|
const textStyleArray = (props = {}) => [
|
|
@@ -140,7 +140,7 @@ const textStyleArray = (props = {}) => [
|
|
|
140
140
|
props.type && styles[props.type],
|
|
141
141
|
props.underline && styles.underline
|
|
142
142
|
];
|
|
143
|
-
const variants = (props = {}) => clsx(classNameOf(textStyleArray(props)), props.shiny && shinyClassName, props.class, props.className);
|
|
143
|
+
const variants = (props = {}) => clsx$1(classNameOf(textStyleArray(props)), props.shiny && shinyClassName, props.class, props.className);
|
|
144
144
|
//#endregion
|
|
145
145
|
export { groupStyles, styles, textStyleArray, textStyles, variants };
|
|
146
146
|
|
package/es/Text/style.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.mjs","names":[],"sources":["../../src/Text/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\n\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\nimport { styleProps } from '@/styles/stylex/props';\n\nconst shine = stylex.keyframes({\n '0%': { backgroundPosition: '100%' },\n '100%': { backgroundPosition: '-100%' },\n});\n\nexport const styles = stylex.create({\n code: {\n fontFamily: cssVar.fontFamilyCode,\n },\n danger: {\n color: cssVar.colorError,\n },\n delete: {\n textDecoration: 'line-through',\n },\n disabled: {\n color: cssVar.colorTextDisabled,\n cursor: 'not-allowed',\n },\n ellipsis: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n ellipsisMulti: {\n overflow: 'hidden',\n WebkitBoxOrient: 'vertical',\n display: '-webkit-box',\n textOverflow: 'ellipsis',\n },\n h1: {\n fontSize: `calc(${cssVar.fontSize} * 2.5)`,\n fontWeight: 'bold',\n lineHeight: 1.25,\n },\n h2: {\n fontSize: `calc(${cssVar.fontSize} * 2)`,\n fontWeight: 'bold',\n lineHeight: 1.25,\n },\n h3: {\n fontSize: `calc(${cssVar.fontSize} * 1.5)`,\n fontWeight: 'bold',\n lineHeight: 1.25,\n },\n h4: {\n fontSize: `calc(${cssVar.fontSize} * 1.25)`,\n fontWeight: 'bold',\n lineHeight: 1.25,\n },\n h5: {\n fontSize: cssVar.fontSize,\n fontWeight: 'bold',\n lineHeight: 1.25,\n },\n info: {\n color: cssVar.colorInfo,\n },\n italic: {\n fontStyle: 'italic',\n },\n mark: {\n backgroundColor: cssVar.yellow,\n color: '#000',\n },\n p: {\n marginBlock: 0,\n },\n secondary: {\n color: cssVar.colorTextDescription,\n },\n // The sweep peaks at --shiny-color. Override it to match the static text the\n // shimmering label sits next to. currentColor cannot serve here: the dimmed\n // color declared below would feed back into the sweep overlay.\n shiny: {\n '--shiny-color': cssVar.colorText,\n '--shiny-duration': '1.5s',\n 'animationDuration': 'var(--shiny-duration)',\n 'animationIterationCount': 'infinite',\n 'animationName': shine,\n 'animationTimingFunction': 'linear',\n 'backgroundClip': 'text',\n 'backgroundImage':\n 'linear-gradient(120deg, transparent 25%, var(--shiny-color) 50%, transparent 75%)',\n 'backgroundSize': '200% 100%',\n 'color': 'color-mix(in srgb, var(--shiny-color) 28%, transparent)',\n 'userSelect': 'none',\n },\n strong: {\n fontWeight: 'bold',\n },\n success: {\n color: cssVar.colorSuccess,\n },\n text: {\n color: cssVar.colorText,\n },\n underline: {\n textDecoration: 'underline',\n },\n warning: {\n color: cssVar.colorWarning,\n },\n});\n\nconst shinyClassName = 'lobe-text-shiny';\n\nconst classNameOf = (style: Parameters<typeof styleProps>[0]) => styleProps(style).className;\n\nexport const textStyles = {\n ...(Object.fromEntries(\n Object.entries(styles).map(([key, value]) => [key, classNameOf(value)]),\n ) as Record<keyof typeof styles, string>),\n shiny: clsx(classNameOf(styles.shiny), shinyClassName),\n};\n\nexport const groupStyles = {\n shinyGroup: 'lobe-text-shiny-group',\n};\n\ntype TextVariantProps = {\n as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'p' | null;\n class?: string;\n className?: string;\n code?: boolean | null;\n delete?: boolean | null;\n disabled?: boolean | null;\n ellipsis?: 'multi' | boolean | null;\n italic?: boolean | null;\n mark?: boolean | null;\n shiny?: boolean | null;\n strong?: boolean | null;\n type?: 'danger' | 'info' | 'secondary' | 'success' | 'warning' | null;\n underline?: boolean | null;\n};\n\nexport const textStyleArray = (props: TextVariantProps = {}) => [\n styles.text,\n props.as && styles[props.as],\n props.code && styles.code,\n props.delete && styles.delete,\n props.disabled && styles.disabled,\n props.ellipsis === 'multi' && styles.ellipsisMulti,\n props.ellipsis === true && styles.ellipsis,\n props.italic && styles.italic,\n props.mark && styles.mark,\n props.shiny && styles.shiny,\n props.strong && styles.strong,\n props.type && styles[props.type],\n props.underline && styles.underline,\n];\n\nexport const variants = (props: TextVariantProps = {}) =>\n clsx(\n classNameOf(textStyleArray(props)),\n props.shiny && shinyClassName,\n props.class,\n props.className,\n );\n"],"mappings":";;;AAMA,MAAa,SAAS;CACpB,MAAM;EACJ,QAAQ;EACR,OAAO;CACT;CACA,QAAQ;EACN,QAAQ;EACR,OAAO;CACT;CACA,QAAQ;EACN,QAAQ;EACR,OAAO;CACT;CACA,UAAU;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,UAAU;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,eAAe;EACb,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,IAAI;EACF,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,IAAI;EACF,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,IAAI;EACF,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,IAAI;EACF,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,IAAI;EACF,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,OAAO;CACT;CACA,QAAQ;EACN,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,GAAG;EACD,QAAQ;EACR,OAAO;CACT;CACA,WAAW;EACT,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,iBAAiB;EACjB,oBAAoB;EACpB,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,QAAQ;EACN,QAAQ;EACR,OAAO;CACT;CACA,SAAS;EACP,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,OAAO;CACT;CACA,WAAW;EACT,QAAQ;EACR,OAAO;CACT;CACA,SAAS;EACP,QAAQ;EACR,OAAO;CACT;AACF;AACA,MAAM,iBAAiB;AACvB,MAAM,eAAe,UAA4C,WAAW,KAAK,CAAC,CAAC;AACnF,MAAa,aAAa;CACxB,GAAI,OAAO,YAAY,OAAO,QAAQ,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC;CAC9F,
|
|
1
|
+
{"version":3,"file":"style.mjs","names":["clsx"],"sources":["../../src/Text/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\n\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\nimport { styleProps } from '@/styles/stylex/props';\n\nconst shine = stylex.keyframes({\n '0%': { backgroundPosition: '100%' },\n '100%': { backgroundPosition: '-100%' },\n});\n\nexport const styles = stylex.create({\n code: {\n fontFamily: cssVar.fontFamilyCode,\n },\n danger: {\n color: cssVar.colorError,\n },\n delete: {\n textDecoration: 'line-through',\n },\n disabled: {\n color: cssVar.colorTextDisabled,\n cursor: 'not-allowed',\n },\n ellipsis: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n ellipsisMulti: {\n overflow: 'hidden',\n WebkitBoxOrient: 'vertical',\n display: '-webkit-box',\n textOverflow: 'ellipsis',\n },\n h1: {\n fontSize: `calc(${cssVar.fontSize} * 2.5)`,\n fontWeight: 'bold',\n lineHeight: 1.25,\n },\n h2: {\n fontSize: `calc(${cssVar.fontSize} * 2)`,\n fontWeight: 'bold',\n lineHeight: 1.25,\n },\n h3: {\n fontSize: `calc(${cssVar.fontSize} * 1.5)`,\n fontWeight: 'bold',\n lineHeight: 1.25,\n },\n h4: {\n fontSize: `calc(${cssVar.fontSize} * 1.25)`,\n fontWeight: 'bold',\n lineHeight: 1.25,\n },\n h5: {\n fontSize: cssVar.fontSize,\n fontWeight: 'bold',\n lineHeight: 1.25,\n },\n info: {\n color: cssVar.colorInfo,\n },\n italic: {\n fontStyle: 'italic',\n },\n mark: {\n backgroundColor: cssVar.yellow,\n color: '#000',\n },\n p: {\n marginBlock: 0,\n },\n secondary: {\n color: cssVar.colorTextDescription,\n },\n // The sweep peaks at --shiny-color. Override it to match the static text the\n // shimmering label sits next to. currentColor cannot serve here: the dimmed\n // color declared below would feed back into the sweep overlay.\n shiny: {\n '--shiny-color': cssVar.colorText,\n '--shiny-duration': '1.5s',\n 'animationDuration': 'var(--shiny-duration)',\n 'animationIterationCount': 'infinite',\n 'animationName': shine,\n 'animationTimingFunction': 'linear',\n 'backgroundClip': 'text',\n 'backgroundImage':\n 'linear-gradient(120deg, transparent 25%, var(--shiny-color) 50%, transparent 75%)',\n 'backgroundSize': '200% 100%',\n 'color': 'color-mix(in srgb, var(--shiny-color) 28%, transparent)',\n 'userSelect': 'none',\n },\n strong: {\n fontWeight: 'bold',\n },\n success: {\n color: cssVar.colorSuccess,\n },\n text: {\n color: cssVar.colorText,\n },\n underline: {\n textDecoration: 'underline',\n },\n warning: {\n color: cssVar.colorWarning,\n },\n});\n\nconst shinyClassName = 'lobe-text-shiny';\n\nconst classNameOf = (style: Parameters<typeof styleProps>[0]) => styleProps(style).className;\n\nexport const textStyles = {\n ...(Object.fromEntries(\n Object.entries(styles).map(([key, value]) => [key, classNameOf(value)]),\n ) as Record<keyof typeof styles, string>),\n shiny: clsx(classNameOf(styles.shiny), shinyClassName),\n};\n\nexport const groupStyles = {\n shinyGroup: 'lobe-text-shiny-group',\n};\n\ntype TextVariantProps = {\n as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'p' | null;\n class?: string;\n className?: string;\n code?: boolean | null;\n delete?: boolean | null;\n disabled?: boolean | null;\n ellipsis?: 'multi' | boolean | null;\n italic?: boolean | null;\n mark?: boolean | null;\n shiny?: boolean | null;\n strong?: boolean | null;\n type?: 'danger' | 'info' | 'secondary' | 'success' | 'warning' | null;\n underline?: boolean | null;\n};\n\nexport const textStyleArray = (props: TextVariantProps = {}) => [\n styles.text,\n props.as && styles[props.as],\n props.code && styles.code,\n props.delete && styles.delete,\n props.disabled && styles.disabled,\n props.ellipsis === 'multi' && styles.ellipsisMulti,\n props.ellipsis === true && styles.ellipsis,\n props.italic && styles.italic,\n props.mark && styles.mark,\n props.shiny && styles.shiny,\n props.strong && styles.strong,\n props.type && styles[props.type],\n props.underline && styles.underline,\n];\n\nexport const variants = (props: TextVariantProps = {}) =>\n clsx(\n classNameOf(textStyleArray(props)),\n props.shiny && shinyClassName,\n props.class,\n props.className,\n );\n"],"mappings":";;;AAMA,MAAa,SAAS;CACpB,MAAM;EACJ,QAAQ;EACR,OAAO;CACT;CACA,QAAQ;EACN,QAAQ;EACR,OAAO;CACT;CACA,QAAQ;EACN,QAAQ;EACR,OAAO;CACT;CACA,UAAU;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,UAAU;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,eAAe;EACb,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,IAAI;EACF,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,IAAI;EACF,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,IAAI;EACF,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,IAAI;EACF,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,IAAI;EACF,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,OAAO;CACT;CACA,QAAQ;EACN,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,GAAG;EACD,QAAQ;EACR,OAAO;CACT;CACA,WAAW;EACT,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,iBAAiB;EACjB,oBAAoB;EACpB,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,QAAQ;EACN,QAAQ;EACR,OAAO;CACT;CACA,SAAS;EACP,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,OAAO;CACT;CACA,WAAW;EACT,QAAQ;EACR,OAAO;CACT;CACA,SAAS;EACP,QAAQ;EACR,OAAO;CACT;AACF;AACA,MAAM,iBAAiB;AACvB,MAAM,eAAe,UAA4C,WAAW,KAAK,CAAC,CAAC;AACnF,MAAa,aAAa;CACxB,GAAI,OAAO,YAAY,OAAO,QAAQ,MAAM,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC;CAC9F,OAAOA,OAAK,YAAY,OAAO,KAAK,GAAG,cAAc;AACvD;AACA,MAAa,cAAc,EACzB,YAAY,wBACd;AAgBA,MAAa,kBAAkB,QAA0B,CAAC,MAAM;CAAC,OAAO;CAAM,MAAM,MAAM,OAAO,MAAM;CAAK,MAAM,QAAQ,OAAO;CAAM,MAAM,UAAU,OAAO;CAAQ,MAAM,YAAY,OAAO;CAAU,MAAM,aAAa,WAAW,OAAO;CAAe,MAAM,aAAa,QAAQ,OAAO;CAAU,MAAM,UAAU,OAAO;CAAQ,MAAM,QAAQ,OAAO;CAAM,MAAM,SAAS,OAAO;CAAO,MAAM,UAAU,OAAO;CAAQ,MAAM,QAAQ,OAAO,MAAM;CAAO,MAAM,aAAa,OAAO;AAAS;AACpe,MAAa,YAAY,QAA0B,CAAC,MAAMA,OAAK,YAAY,eAAe,KAAK,CAAC,GAAG,MAAM,SAAS,gBAAgB,MAAM,OAAO,MAAM,SAAS"}
|
|
@@ -3,7 +3,7 @@ import { useControlledState } from "../hooks/useControlledState.mjs";
|
|
|
3
3
|
import { ToggleGroupItem, ToggleGroupItemIcon, ToggleGroupItemLabel, ToggleGroupRoot } from "./atoms.mjs";
|
|
4
4
|
import { useMemo } from "react";
|
|
5
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
-
import clsx from "clsx";
|
|
6
|
+
import clsx$1 from "clsx";
|
|
7
7
|
//#region src/ToggleGroup/ToggleGroup.tsx
|
|
8
8
|
const normalizeOption = (option) => typeof option === "string" ? { value: option } : option;
|
|
9
9
|
const ToggleGroup = ({ className, classNames, defaultValue, disabled = false, onChange, options, ref, size = "middle", style, styles: customStyles, value, variant = "outlined" }) => {
|
|
@@ -17,7 +17,7 @@ const ToggleGroup = ({ className, classNames, defaultValue, disabled = false, on
|
|
|
17
17
|
const normalizedOptions = useMemo(() => (options ?? []).map((o) => normalizeOption(o)), [options]);
|
|
18
18
|
const groupValue = useMemo(() => innerValue != null ? [innerValue] : [], [innerValue]);
|
|
19
19
|
return /* @__PURE__ */ jsx(ToggleGroupRoot, {
|
|
20
|
-
className: clsx(classNames?.root, className),
|
|
20
|
+
className: clsx$1(classNames?.root, className),
|
|
21
21
|
disabled,
|
|
22
22
|
ref,
|
|
23
23
|
style: {
|
|
@@ -32,7 +32,7 @@ const ToggleGroup = ({ className, classNames, defaultValue, disabled = false, on
|
|
|
32
32
|
},
|
|
33
33
|
children: normalizedOptions.map((opt) => /* @__PURE__ */ jsxs(ToggleGroupItem, {
|
|
34
34
|
"aria-label": typeof opt.label === "string" ? opt.label : opt.title,
|
|
35
|
-
className: clsx(classNames?.item, opt.className),
|
|
35
|
+
className: clsx$1(classNames?.item, opt.className),
|
|
36
36
|
disabled: disabled || opt.disabled,
|
|
37
37
|
size,
|
|
38
38
|
style: customStyles?.item,
|