@lobehub/ui 6.0.0-beta.1 → 6.0.0-beta.11
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/README.md +6 -4
- 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/ActionIcon/style.mjs +1 -1
- package/es/ActionIcon/style.mjs.map +1 -1
- package/es/ActionIcon/type.d.mts +1 -0
- package/es/Alert/Alert.mjs +5 -5
- package/es/Alert/Alert.mjs.map +1 -1
- package/es/Alert/type.d.mts +1 -0
- package/es/Anchor/Anchor.mjs +2 -2
- package/es/Anchor/Anchor.mjs.map +1 -1
- package/es/AutoComplete/AutoComplete.mjs +5 -5
- package/es/AutoComplete/AutoComplete.mjs.map +1 -1
- package/es/AutoComplete/style.d.mts +1 -0
- package/es/AutoComplete/style.mjs +2 -2
- package/es/AutoComplete/style.mjs.map +1 -1
- package/es/AutoComplete/type.d.mts +1 -0
- 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/Button/type.d.mts +1 -0
- package/es/Carousel/Carousel.mjs +1 -1
- package/es/Carousel/Carousel.mjs.map +1 -1
- package/es/Checkbox/Checkbox.mjs +3 -3
- package/es/Checkbox/Checkbox.mjs.map +1 -1
- package/es/Checkbox/type.d.mts +1 -0
- package/es/CodeDiff/CodeDiff.mjs.map +1 -1
- package/es/CodeDiff/DiffPanel.mjs +6 -6
- package/es/CodeDiff/DiffPanel.mjs.map +1 -1
- package/es/CodeDiff/PatchDiff.mjs.map +1 -1
- package/es/CodeDiff/theme.mjs.map +1 -1
- package/es/CodeDiff/type.d.mts +2 -2
- package/es/CodeEditor/CodeEditor.mjs +5 -5
- 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 +63 -200
- 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/ColorSwatches.mjs +18 -23
- package/es/ColorSwatches/ColorSwatches.mjs.map +1 -1
- package/es/ColorSwatches/CustomPicker.mjs +101 -0
- package/es/ColorSwatches/CustomPicker.mjs.map +1 -0
- package/es/ColorSwatches/index.d.mts +2 -2
- package/es/ColorSwatches/marker.stylex.mjs +9 -0
- package/es/ColorSwatches/marker.stylex.mjs.map +1 -0
- package/es/ColorSwatches/style.mjs +36 -0
- package/es/ColorSwatches/style.mjs.map +1 -1
- package/es/ColorSwatches/type.d.mts +12 -2
- package/es/ConfigProvider/cdnAssets.mjs +6 -0
- package/es/ConfigProvider/cdnAssets.mjs.map +1 -0
- package/es/ConfigProvider/index.mjs +2 -1
- package/es/ConfigProvider/index.mjs.map +1 -1
- 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/ContextMenu/store.d.mts +0 -1
- package/es/ContextMenu/store.mjs.map +1 -1
- package/es/DatePicker/DatePicker.d.mts +9 -2
- package/es/DatePicker/DatePicker.mjs +15 -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/DayjsDatePicker.d.mts +12 -0
- package/es/DatePicker/DayjsDatePicker.mjs +19 -0
- package/es/DatePicker/DayjsDatePicker.mjs.map +1 -0
- package/es/DatePicker/DayjsDateRangePicker.d.mts +7 -0
- package/es/DatePicker/DayjsDateRangePicker.mjs +8 -0
- package/es/DatePicker/DayjsDateRangePicker.mjs.map +1 -0
- package/es/DatePicker/PurePanel.mjs +65 -0
- package/es/DatePicker/PurePanel.mjs.map +1 -0
- package/es/DatePicker/RangePicker.mjs +121 -0
- package/es/DatePicker/RangePicker.mjs.map +1 -0
- package/es/DatePicker/SinglePicker.mjs +134 -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/dateGenerateConfig.mjs +52 -0
- package/es/DatePicker/dateGenerateConfig.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 +8 -3
- package/es/DatePicker/index.mjs +5 -1
- package/es/DatePicker/legacyDate.mjs +58 -0
- package/es/DatePicker/legacyDate.mjs.map +1 -0
- 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 +294 -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 +49 -0
- package/es/DatePicker/usePresetActive.mjs.map +1 -0
- package/es/DraggablePanel/atoms.mjs +6 -6
- package/es/DraggablePanel/atoms.mjs.map +1 -1
- package/es/DraggableSideNav/DraggableSideNav.mjs +5 -5
- 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.d.mts +1 -0
- package/es/Drawer/atoms.mjs +7 -7
- package/es/Drawer/atoms.mjs.map +1 -1
- package/es/Drawer/constants.d.mts +1 -0
- package/es/Drawer/style.mjs.map +1 -1
- package/es/DropdownMenu/atoms.mjs +23 -23
- 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/ControlInput.mjs +42 -29
- package/es/EditableText/ControlInput.mjs.map +1 -1
- package/es/EditableText/EditableText.mjs +2 -2
- package/es/EditableText/EditableText.mjs.map +1 -1
- package/es/EditorSlashMenu/atoms.mjs +12 -12
- package/es/EditorSlashMenu/atoms.mjs.map +1 -1
- package/es/EmojiPicker/EmojiPicker.mjs +10 -16
- 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/EmojiPicker/useEmojiMartI18n.mjs +37 -0
- package/es/EmojiPicker/useEmojiMartI18n.mjs.map +1 -0
- package/es/FileTypeIcon/type.d.mts +1 -0
- package/es/FloatingPanel/FloatingPanel.mjs +2 -2
- package/es/FloatingPanel/FloatingPanel.mjs.map +1 -1
- package/es/FloatingPanel/style.mjs +3 -2
- package/es/FloatingPanel/style.mjs.map +1 -1
- package/es/Form/Form.mjs +6 -2
- package/es/Form/Form.mjs.map +1 -1
- package/es/Form/style.mjs +3 -3
- package/es/Form/style.mjs.map +1 -1
- package/es/Form/type.d.mts +8 -0
- package/es/FormKit/List.mjs +2 -2
- package/es/FormKit/List.mjs.map +1 -1
- package/es/FormKit/engine/tanstack.mjs +1 -1
- package/es/FormKit/engine/tanstack.mjs.map +1 -1
- package/es/Grid/style.mjs +1 -1
- package/es/Grid/style.mjs.map +1 -1
- package/es/GroupAvatar/type.d.mts +1 -0
- 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/const.d.mts +1 -0
- package/es/Highlighter/style.mjs +2 -2
- package/es/Highlighter/style.mjs.map +1 -1
- package/es/HotkeyInput/HotkeyInput.mjs +1 -1
- package/es/HotkeyInput/HotkeyInput.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/Image/type.d.mts +1 -0
- package/es/Image/viewer/ImageViewer.mjs +2 -1
- package/es/Image/viewer/ImageViewer.mjs.map +1 -1
- package/es/Image/viewer/Toolbar.mjs +19 -6
- package/es/Image/viewer/Toolbar.mjs.map +1 -1
- package/es/Image/viewer/ViewerChrome.mjs.map +1 -1
- package/es/ImageSelect/ImageSelect.mjs +1 -1
- package/es/ImageSelect/ImageSelect.mjs.map +1 -1
- package/es/Input/Input.mjs +7 -5
- package/es/Input/Input.mjs.map +1 -1
- package/es/Input/TextArea.mjs +1 -1
- package/es/Input/TextArea.mjs.map +1 -1
- package/es/Input/style.d.mts +1 -0
- package/es/Input/style.mjs +3 -3
- package/es/Input/style.mjs.map +1 -1
- package/es/Input/type.d.mts +1 -0
- 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/Markdown/plugins/remarkColor.d.mts +1 -0
- package/es/Markdown/plugins/remarkGfmPlus.d.mts +1 -0
- package/es/Markdown/plugins/remarkVideo.d.mts +1 -0
- 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/Mermaid/const.d.mts +1 -0
- package/es/Modal/atoms.d.mts +1 -0
- package/es/Modal/atoms.mjs +8 -8
- package/es/Modal/atoms.mjs.map +1 -1
- package/es/Modal/constants.d.mts +1 -0
- package/es/Modal/type.d.mts +1 -0
- package/es/Pagination/Pagination.mjs +182 -42
- 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 +3 -3
- package/es/Popover/PopoverInGroup.mjs.map +1 -1
- package/es/Popover/atoms.mjs +7 -7
- package/es/Popover/atoms.mjs.map +1 -1
- package/es/Popover/style.mjs +1 -1
- package/es/Popover/style.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 +134 -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 +287 -0
- package/es/ProTable/style.mjs.map +1 -0
- package/es/ProTable/type.d.mts +400 -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/Radio/type.d.mts +1 -0
- package/es/Rate/Rate.mjs +1 -1
- package/es/Rate/Rate.mjs.map +1 -1
- package/es/ScrollArea/atoms.mjs +4 -4
- package/es/ScrollArea/atoms.mjs.map +1 -1
- package/es/ScrollShadow/ScrollShadow.mjs +1 -1
- package/es/ScrollShadow/ScrollShadow.mjs.map +1 -1
- package/es/SearchBar/SearchBar.mjs +31 -25
- package/es/SearchBar/SearchBar.mjs.map +1 -1
- package/es/Segmented/Segmented.mjs +4 -4
- package/es/Segmented/Segmented.mjs.map +1 -1
- package/es/Segmented/atoms.d.mts +1 -0
- 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 +5 -5
- 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/Slider/type.d.mts +1 -0
- package/es/Switch/Switch.mjs +9 -2
- package/es/Switch/Switch.mjs.map +1 -1
- package/es/Switch/atoms.d.mts +8 -1
- package/es/Switch/atoms.mjs +23 -7
- package/es/Switch/atoms.mjs.map +1 -1
- package/es/Switch/style.mjs +33 -2
- package/es/Switch/style.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 +158 -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 +122 -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 +179 -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 +37 -23
- 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 +1 -0
- package/es/Text/style.mjs +3 -3
- package/es/Text/style.mjs.map +1 -1
- package/es/Toast/dodge.mjs +0 -1
- package/es/Toast/dodge.mjs.map +1 -1
- package/es/Toast/dodge.stylex.mjs +1 -4
- package/es/Toast/dodge.stylex.mjs.map +1 -1
- package/es/Toast/style.mjs +1 -1
- package/es/Toast/style.mjs.map +1 -1
- package/es/ToggleGroup/ToggleGroup.mjs +4 -4
- package/es/ToggleGroup/ToggleGroup.mjs.map +1 -1
- package/es/ToggleGroup/atoms.d.mts +1 -0
- 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/TooltipInGroup.mjs +1 -1
- package/es/Tooltip/TooltipInGroup.mjs.map +1 -1
- package/es/Tooltip/TooltipStandalone.mjs +4 -4
- package/es/Tooltip/TooltipStandalone.mjs.map +1 -1
- package/es/Tooltip/style.mjs +2 -2
- package/es/Tooltip/style.mjs.map +1 -1
- package/es/Tree/Tree.mjs +3 -3
- 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 +46 -0
- package/es/Video/Video.mjs.map +1 -0
- package/es/Video/context.mjs +14 -0
- package/es/Video/context.mjs.map +1 -0
- package/es/Video/index.d.mts +23 -39
- package/es/Video/index.mjs +21 -111
- package/es/Video/index.mjs.map +1 -1
- package/es/Video/parts/Caption.d.mts +9 -0
- package/es/Video/parts/Caption.mjs +37 -0
- package/es/Video/parts/Caption.mjs.map +1 -0
- package/es/Video/parts/CenterPlay.d.mts +8 -0
- package/es/Video/parts/CenterPlay.mjs +34 -0
- package/es/Video/parts/CenterPlay.mjs.map +1 -0
- package/es/Video/parts/Controls.d.mts +9 -0
- package/es/Video/parts/Controls.mjs +128 -0
- package/es/Video/parts/Controls.mjs.map +1 -0
- package/es/Video/parts/Frame.d.mts +9 -0
- package/es/Video/parts/Frame.mjs +101 -0
- package/es/Video/parts/Frame.mjs.map +1 -0
- package/es/Video/parts/HoverPreview.mjs +93 -0
- package/es/Video/parts/HoverPreview.mjs.map +1 -0
- package/es/Video/parts/LoadError.d.mts +8 -0
- package/es/Video/parts/LoadError.mjs +47 -0
- package/es/Video/parts/LoadError.mjs.map +1 -0
- package/es/Video/parts/PlayPauseIcon.mjs +48 -0
- package/es/Video/parts/PlayPauseIcon.mjs.map +1 -0
- package/es/Video/parts/RateMenu.mjs +48 -0
- package/es/Video/parts/RateMenu.mjs.map +1 -0
- package/es/Video/parts/Root.d.mts +9 -0
- package/es/Video/parts/Root.mjs +110 -0
- package/es/Video/parts/Root.mjs.map +1 -0
- package/es/Video/parts/SectionList.d.mts +9 -0
- package/es/Video/parts/SectionList.mjs +32 -0
- package/es/Video/parts/SectionList.mjs.map +1 -0
- package/es/Video/parts/SectionMenu.mjs +63 -0
- package/es/Video/parts/SectionMenu.mjs.map +1 -0
- package/es/Video/parts/Timeline.d.mts +9 -0
- package/es/Video/parts/Timeline.mjs +169 -0
- package/es/Video/parts/Timeline.mjs.map +1 -0
- package/es/Video/store.mjs +241 -0
- package/es/Video/store.mjs.map +1 -0
- package/es/Video/style.mjs +393 -23
- package/es/Video/style.mjs.map +1 -1
- package/es/Video/time.mjs +60 -0
- package/es/Video/time.mjs.map +1 -0
- package/es/Video/type.d.mts +125 -0
- package/es/Video/useControlsIdle.mjs +39 -0
- package/es/Video/useControlsIdle.mjs.map +1 -0
- package/es/Video/useFullscreen.mjs +17 -0
- package/es/Video/useFullscreen.mjs.map +1 -0
- package/es/Video/useKeyboard.mjs +60 -0
- package/es/Video/useKeyboard.mjs.map +1 -0
- package/es/Video/useVideo.d.mts +9 -0
- package/es/Video/useVideo.mjs +17 -0
- package/es/Video/useVideo.mjs.map +1 -0
- package/es/awesome/Features/FeatureItem.mjs +2 -2
- package/es/awesome/Features/FeatureItem.mjs.map +1 -1
- package/es/awesome/Giscus/style.mjs +9 -9
- package/es/awesome/Giscus/style.mjs.map +1 -1
- package/es/awesome/Grainient/Grainient.d.mts +11 -0
- package/es/awesome/Grainient/Grainient.mjs +314 -0
- package/es/awesome/Grainient/Grainient.mjs.map +1 -0
- package/es/awesome/Grainient/index.d.mts +3 -0
- package/es/awesome/Grainient/style.mjs +23 -0
- package/es/awesome/Grainient/style.mjs.map +1 -0
- package/es/awesome/Grainient/type.d.mts +121 -0
- package/es/awesome/GridBackground/GridBackground.mjs +1 -1
- package/es/awesome/GridBackground/GridBackground.mjs.map +1 -1
- package/es/awesome/GridBackground/GridShowcase.mjs +4 -4
- package/es/awesome/GridBackground/GridShowcase.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/Spline/ParentSize.mjs +1 -1
- package/es/awesome/Spline/ParentSize.mjs.map +1 -1
- package/es/awesome/TypewriterEffect/TypewriterEffect.mjs +4 -4
- package/es/awesome/TypewriterEffect/TypewriterEffect.mjs.map +1 -1
- package/es/awesome/index.d.mts +4 -1
- package/es/awesome/index.mjs +2 -1
- package/es/awesome/landingActions.mjs +2 -2
- package/es/awesome/landingActions.mjs.map +1 -1
- package/es/chat/BackBottom/BackBottom.mjs +1 -1
- package/es/chat/BackBottom/BackBottom.mjs.map +1 -1
- package/es/chat/BackBottom/type.d.mts +2 -2
- package/es/chat/ChatItem/ChatItem.mjs +2 -2
- package/es/chat/ChatItem/ChatItem.mjs.map +1 -1
- package/es/chat/EditableMessage/EditableMessage.mjs +4 -4
- package/es/chat/EditableMessage/EditableMessage.mjs.map +1 -1
- package/es/chat/EditableMessageList/EditableMessageList.mjs +2 -2
- package/es/chat/EditableMessageList/EditableMessageList.mjs.map +1 -1
- package/es/chat/EditableMessageList/messageReducer.mjs +30 -23
- package/es/chat/EditableMessageList/messageReducer.mjs.map +1 -1
- package/es/chat/MessageInput/MessageInput.mjs +3 -3
- package/es/chat/MessageInput/MessageInput.mjs.map +1 -1
- package/es/chat/MessageModal/MessageModal.mjs +1 -1
- package/es/chat/MessageModal/MessageModal.mjs.map +1 -1
- package/es/chat/TokenTag/TokenTag.mjs +2 -3
- package/es/chat/TokenTag/TokenTag.mjs.map +1 -1
- package/es/color/index.d.mts +2 -1
- package/es/color/index.mjs +2 -1
- package/es/color/status/error.mjs +67 -0
- package/es/color/status/error.mjs.map +1 -0
- package/es/color/status/index.d.mts +11 -0
- package/es/color/status/index.mjs +15 -0
- package/es/color/status/index.mjs.map +1 -0
- package/es/color/status/info.mjs +67 -0
- package/es/color/status/info.mjs.map +1 -0
- package/es/color/status/success.mjs +67 -0
- package/es/color/status/success.mjs.map +1 -0
- package/es/color/status/warning.mjs +67 -0
- package/es/color/status/warning.mjs.map +1 -0
- package/es/color/types.d.mts +1 -0
- package/es/dashboard/AuthLayout/Aside.d.mts +10 -0
- package/es/dashboard/AuthLayout/Aside.mjs +31 -0
- package/es/dashboard/AuthLayout/Aside.mjs.map +1 -0
- package/es/dashboard/AuthLayout/AuthLayout.d.mts +3 -1
- package/es/dashboard/AuthLayout/AuthLayout.mjs +97 -37
- package/es/dashboard/AuthLayout/AuthLayout.mjs.map +1 -1
- package/es/dashboard/AuthLayout/index.d.mts +3 -2
- package/es/dashboard/AuthLayout/style.mjs +109 -1
- package/es/dashboard/AuthLayout/style.mjs.map +1 -1
- package/es/dashboard/AuthLayout/type.d.mts +38 -2
- package/es/dashboard/AuthTools/AuthLocaleSwitch.d.mts +10 -0
- package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs +33 -0
- package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs.map +1 -0
- package/es/dashboard/AuthTools/AuthThemeSwitch.d.mts +10 -0
- package/es/dashboard/AuthTools/AuthThemeSwitch.mjs +59 -0
- package/es/dashboard/AuthTools/AuthThemeSwitch.mjs.map +1 -0
- package/es/dashboard/AuthTools/index.d.mts +4 -0
- package/es/dashboard/AuthTools/style.mjs +27 -0
- package/es/dashboard/AuthTools/style.mjs.map +1 -0
- package/es/dashboard/AuthTools/type.d.mts +29 -0
- package/es/dashboard/ChartGrid/ChartGrid.d.mts +10 -0
- package/es/dashboard/ChartGrid/ChartGrid.mjs +19 -0
- package/es/dashboard/ChartGrid/ChartGrid.mjs.map +1 -0
- package/es/dashboard/ChartGrid/index.d.mts +3 -0
- package/es/dashboard/ChartGrid/style.mjs +18 -0
- package/es/dashboard/ChartGrid/style.mjs.map +1 -0
- package/es/dashboard/ChartGrid/type.d.mts +8 -0
- package/es/dashboard/ConsoleNav/ConsoleNav.mjs +3 -3
- package/es/dashboard/ConsoleNav/ConsoleNav.mjs.map +1 -1
- package/es/dashboard/ConsoleNav/Skeleton.d.mts +15 -0
- package/es/dashboard/ConsoleNav/Skeleton.mjs +82 -0
- package/es/dashboard/ConsoleNav/Skeleton.mjs.map +1 -0
- package/es/dashboard/ConsoleNav/index.d.mts +3 -2
- package/es/dashboard/ConsoleNav/style.mjs +20 -2
- package/es/dashboard/ConsoleNav/style.mjs.map +1 -1
- package/es/dashboard/ConsoleNav/type.d.mts +13 -0
- package/es/dashboard/ConsoleShell/ConsoleShell.d.mts +1 -1
- package/es/dashboard/ConsoleShell/ConsoleShell.mjs +26 -6
- package/es/dashboard/ConsoleShell/ConsoleShell.mjs.map +1 -1
- package/es/dashboard/ConsoleShell/style.mjs +11 -1
- package/es/dashboard/ConsoleShell/style.mjs.map +1 -1
- package/es/dashboard/ConsoleShell/type.d.mts +11 -0
- package/es/dashboard/FilterSidebar/FilterSidebar.mjs +18 -17
- package/es/dashboard/FilterSidebar/FilterSidebar.mjs.map +1 -1
- package/es/dashboard/FilterSidebar/style.mjs +2 -2
- package/es/dashboard/FilterSidebar/style.mjs.map +1 -1
- package/es/dashboard/FilterStrip/FilterStrip.d.mts +11 -0
- package/es/dashboard/FilterStrip/FilterStrip.mjs +55 -0
- package/es/dashboard/FilterStrip/FilterStrip.mjs.map +1 -0
- package/es/dashboard/FilterStrip/index.d.mts +3 -0
- package/es/dashboard/FilterStrip/style.mjs +78 -0
- package/es/dashboard/FilterStrip/style.mjs.map +1 -0
- package/es/dashboard/FilterStrip/type.d.mts +25 -0
- package/es/dashboard/LabelWithKey/LabelWithKey.d.mts +10 -0
- package/es/dashboard/LabelWithKey/LabelWithKey.mjs +18 -0
- package/es/dashboard/LabelWithKey/LabelWithKey.mjs.map +1 -0
- package/es/dashboard/LabelWithKey/index.d.mts +3 -0
- package/es/dashboard/LabelWithKey/type.d.mts +11 -0
- package/es/dashboard/MetricStrip/MetricCell.mjs +92 -0
- package/es/dashboard/MetricStrip/MetricCell.mjs.map +1 -0
- package/es/dashboard/MetricStrip/MetricStrip.d.mts +13 -0
- package/es/dashboard/MetricStrip/MetricStrip.mjs +47 -0
- package/es/dashboard/MetricStrip/MetricStrip.mjs.map +1 -0
- package/es/dashboard/MetricStrip/index.d.mts +3 -0
- package/es/dashboard/MetricStrip/style.mjs +169 -0
- package/es/dashboard/MetricStrip/style.mjs.map +1 -0
- package/es/dashboard/MetricStrip/type.d.mts +38 -0
- package/es/dashboard/PageSkeleton/PageSkeleton.mjs +20 -18
- package/es/dashboard/PageSkeleton/PageSkeleton.mjs.map +1 -1
- package/es/dashboard/PageSkeleton/style.mjs +2 -1
- package/es/dashboard/PageSkeleton/style.mjs.map +1 -1
- package/es/dashboard/PageToolbar/PageToolbar.d.mts +10 -0
- package/es/dashboard/PageToolbar/PageToolbar.mjs +22 -0
- package/es/dashboard/PageToolbar/PageToolbar.mjs.map +1 -0
- package/es/dashboard/PageToolbar/index.d.mts +3 -0
- package/es/dashboard/PageToolbar/style.mjs +36 -0
- package/es/dashboard/PageToolbar/style.mjs.map +1 -0
- package/es/dashboard/PageToolbar/type.d.mts +11 -0
- package/es/dashboard/PanelSurface/PanelSurface.d.mts +10 -0
- package/es/dashboard/PanelSurface/PanelSurface.mjs +40 -0
- package/es/dashboard/PanelSurface/PanelSurface.mjs.map +1 -0
- package/es/dashboard/PanelSurface/index.d.mts +3 -0
- package/es/dashboard/PanelSurface/style.mjs +25 -0
- package/es/dashboard/PanelSurface/style.mjs.map +1 -0
- package/es/dashboard/PanelSurface/type.d.mts +17 -0
- package/es/dashboard/Section/Section.d.mts +10 -0
- package/es/dashboard/Section/Section.mjs +81 -0
- package/es/dashboard/Section/Section.mjs.map +1 -0
- package/es/dashboard/Section/index.d.mts +3 -0
- package/es/dashboard/Section/style.mjs +31 -0
- package/es/dashboard/Section/style.mjs.map +1 -0
- package/es/dashboard/Section/type.d.mts +23 -0
- package/es/dashboard/StatCard/StatCard.d.mts +2 -1
- package/es/dashboard/StatCard/StatCard.mjs +29 -91
- package/es/dashboard/StatCard/StatCard.mjs.map +1 -1
- package/es/dashboard/StatCard/type.d.mts +18 -5
- package/es/dashboard/Surface/Surface.d.mts +4 -3
- package/es/dashboard/Surface/Surface.mjs +90 -8
- package/es/dashboard/Surface/Surface.mjs.map +1 -1
- package/es/dashboard/Surface/index.d.mts +3 -2
- package/es/dashboard/Surface/link.d.mts +16 -0
- package/es/dashboard/Surface/link.mjs +40 -0
- package/es/dashboard/Surface/link.mjs.map +1 -0
- package/es/dashboard/Surface/marker.stylex.mjs +9 -0
- package/es/dashboard/Surface/marker.stylex.mjs.map +1 -0
- package/es/dashboard/Surface/style.d.mts +2 -0
- package/es/dashboard/Surface/style.mjs +156 -14
- package/es/dashboard/Surface/style.mjs.map +1 -1
- package/es/dashboard/Surface/type.d.mts +29 -1
- package/es/dashboard/TableIconActions/TableIconActions.d.mts +17 -0
- package/es/dashboard/TableIconActions/TableIconActions.mjs +39 -0
- package/es/dashboard/TableIconActions/TableIconActions.mjs.map +1 -0
- package/es/dashboard/TableIconActions/index.d.mts +3 -0
- package/es/dashboard/TableIconActions/type.d.mts +17 -0
- package/es/dashboard/TitleWithTips/TitleWithTips.d.mts +10 -0
- package/es/dashboard/TitleWithTips/TitleWithTips.mjs +28 -0
- package/es/dashboard/TitleWithTips/TitleWithTips.mjs.map +1 -0
- package/es/dashboard/TitleWithTips/index.d.mts +3 -0
- package/es/dashboard/TitleWithTips/type.d.mts +10 -0
- package/es/dashboard/index.d.mts +38 -4
- package/es/dashboard/index.mjs +18 -4
- package/es/eslint/noBaseUiSubpath.mjs +2 -1
- package/es/eslint/noBaseUiSubpath.mjs.map +1 -1
- package/es/hooks/useControlledState.mjs +20 -0
- package/es/hooks/useControlledState.mjs.map +1 -0
- package/es/hooks/useHighlight.mjs +2 -2
- package/es/hooks/useHighlight.mjs.map +1 -1
- package/es/hooks/useHover.mjs +22 -0
- package/es/hooks/useHover.mjs.map +1 -0
- package/es/hooks/useMarkdown/utils.d.mts +1 -0
- package/es/hooks/useScroll.d.mts +8 -0
- package/es/hooks/useScroll.mjs +33 -0
- package/es/hooks/useScroll.mjs.map +1 -0
- package/es/hooks/useSize.mjs +26 -0
- package/es/hooks/useSize.mjs.map +1 -0
- 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 -2
- package/es/i18n/resources/en/index.mjs +6 -2
- 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/en/video.d.mts +23 -0
- package/es/i18n/resources/en/video.mjs +24 -0
- package/es/i18n/resources/en/video.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 -2
- package/es/i18n/resources/zhCn/index.mjs +7 -3
- 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/resources/zhCn/video.d.mts +23 -0
- package/es/i18n/resources/zhCn/video.mjs +24 -0
- package/es/i18n/resources/zhCn/video.mjs.map +1 -0
- package/es/i18n/types.d.mts +4 -1
- package/es/index.d.mts +21 -8
- package/es/index.mjs +18 -9
- package/es/internal/menu/itemInterface.d.mts +1 -0
- package/es/internal/menu/renderUtils.d.mts +1 -0
- package/es/internal/overflow/OverflowList.mjs +71 -0
- package/es/internal/overflow/OverflowList.mjs.map +1 -0
- package/es/internal/virtual/VirtualScrollArea.mjs +1 -1
- package/es/internal/virtual/VirtualScrollArea.mjs.map +1 -1
- 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/mdx/mdxComponents/Video.d.mts +2 -1
- package/es/mdx/mdxComponents/Video.mjs +5 -3
- package/es/mdx/mdxComponents/Video.mjs.map +1 -1
- package/es/mobile/ChatInputArea/ChatInputArea.mjs +1 -1
- package/es/mobile/ChatInputArea/ChatInputArea.mjs.map +1 -1
- package/es/mobile/TabBar/TabBar.mjs +1 -1
- package/es/mobile/TabBar/TabBar.mjs.map +1 -1
- package/es/node_modules/.pnpm/@eslint_core@1.2.1/node_modules/@eslint/core/dist/esm/types.d.mts +2 -46
- package/es/node_modules/.pnpm/@eslint_plugin-kit@0.7.3/node_modules/@eslint/plugin-kit/dist/cjs/index.d.mts +1 -1
- package/es/node_modules/.pnpm/@types_estree@1.0.9/node_modules/@types/estree/index.d.mts +1 -4
- package/es/node_modules/.pnpm/@types_mdx@2.0.14/node_modules/@types/mdx/types.d.mts +1 -0
- package/es/node_modules/.pnpm/eslint@10.12.0_jiti@2.6.1_supports-color@10.2.2/node_modules/eslint/lib/types/index.d.mts +2 -1
- package/es/storybook/StoryBook/style.mjs +2 -0
- package/es/storybook/StoryBook/style.mjs.map +1 -1
- package/es/style.css +3643 -996
- package/es/styles/createGlobalStyle.d.mts +1 -0
- package/es/styles/createGlobalStyle.mjs +1 -1
- package/es/styles/index.d.mts +4 -2
- package/es/styles/index.mjs +6 -4
- package/es/styles/stylex/cssVar.stylex.mjs +3 -0
- package/es/styles/stylex/cssVar.stylex.mjs.map +1 -1
- package/es/styles/stylex/props.mjs +2 -2
- package/es/styles/stylex/props.mjs.map +1 -1
- package/es/styles/theme/createLobeToken.d.mts +12 -7
- package/es/styles/theme/createLobeToken.mjs +3 -2
- package/es/styles/theme/createLobeToken.mjs.map +1 -1
- package/es/styles/theme/customPalette.d.mts +6 -0
- package/es/styles/theme/customPalette.mjs +28 -0
- package/es/styles/theme/customPalette.mjs.map +1 -0
- package/es/styles/theme/customPrimary.d.mts +7 -0
- package/es/styles/theme/customPrimary.mjs +101 -0
- package/es/styles/theme/customPrimary.mjs.map +1 -0
- package/es/styles/theme/generateColorPalette.d.mts +1 -0
- package/es/styles/theme/scope.d.mts +9 -5
- package/es/styles/theme/scope.mjs +73 -18
- package/es/styles/theme/scope.mjs.map +1 -1
- package/es/styles/theme/themeCss.d.mts +3 -0
- package/es/styles/theme/themeCss.mjs +39 -2
- package/es/styles/theme/themeCss.mjs.map +1 -1
- package/es/styles/theme/token/legacy.mjs +12 -12
- package/es/styles/theme/token/legacy.mjs.map +1 -1
- package/es/styles/theme/token/neutral.mjs +17 -9
- package/es/styles/theme/token/neutral.mjs.map +1 -1
- package/es/styles/theme/token/neutralText.mjs +91 -0
- package/es/styles/theme/token/neutralText.mjs.map +1 -0
- package/es/styles/theme/token/palette.mjs +16 -41
- package/es/styles/theme/token/palette.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/styles/theme/token/static.mjs +3 -0
- package/es/styles/theme/token/static.mjs.map +1 -1
- package/es/theme.css +301 -290
- package/es/types/customToken.d.mts +1 -0
- package/es/utils/colorMath.mjs +52 -0
- package/es/utils/colorMath.mjs.map +1 -0
- package/es/utils/formatNumber.mjs +7 -0
- package/es/utils/formatNumber.mjs.map +1 -0
- package/es/utils/genCdnUrl.mjs +6 -3
- package/es/utils/genCdnUrl.mjs.map +1 -1
- package/es/utils/hashString.mjs +19 -0
- package/es/utils/hashString.mjs.map +1 -0
- package/es/utils/mergeRefs.mjs +20 -0
- package/es/utils/mergeRefs.mjs.map +1 -0
- package/es/utils/placement.d.mts +5 -5
- package/es/utils/placement.mjs.map +1 -1
- package/package.json +25 -46
- package/es/DatePicker/CalendarPanel.mjs +0 -189
- package/es/DatePicker/CalendarPanel.mjs.map +0 -1
- package/es/DatePicker/PickerShell.mjs +0 -43
- package/es/DatePicker/PickerShell.mjs.map +0 -1
- package/es/DatePicker/calendar.d.mts +0 -4
- package/es/DatePicker/calendar.mjs +0 -46
- package/es/DatePicker/calendar.mjs.map +0 -1
- package/es/Table/FilterMenu.mjs +0 -45
- package/es/Table/FilterMenu.mjs.map +0 -1
- package/es/Table/TableBody.mjs +0 -67
- package/es/Table/TableBody.mjs.map +0 -1
- package/es/Table/TableHead.mjs +0 -58
- package/es/Table/TableHead.mjs.map +0 -1
- package/es/Table/features.mjs +0 -12
- package/es/Table/features.mjs.map +0 -1
- package/es/Table/fixedOffsets.mjs +0 -29
- package/es/Table/fixedOffsets.mjs.map +0 -1
- package/es/Table/marker.stylex.mjs +0 -9
- package/es/Table/marker.stylex.mjs.map +0 -1
- package/es/Table/toColumnDefs.mjs +0 -26
- package/es/Table/toColumnDefs.mjs.map +0 -1
- package/es/Table/useTableState.mjs +0 -99
- package/es/Table/useTableState.mjs.map +0 -1
- package/es/Video/marker.stylex.mjs +0 -9
- package/es/Video/marker.stylex.mjs.map +0 -1
- package/es/dashboard/StatCard/style.mjs +0 -105
- package/es/dashboard/StatCard/style.mjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.mjs","names":[],"sources":["../../../src/dashboard/AuthTools/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\n\nexport const styles = stylex.create({\n localeIcon: {\n marginInlineEnd: 2,\n },\n themeIcon: {\n blockSize: 16,\n inlineSize: 16,\n },\n themeLabel: {\n padding: 0,\n borderWidth: 0,\n overflow: 'hidden',\n blockSize: 1,\n clipPath: 'inset(50%)',\n inlineSize: 1,\n position: 'absolute',\n whiteSpace: 'nowrap',\n },\n});\n"],"mappings":";AACA,MAAa,SAAS;CACpB,YAAY;EACV,QAAQ;EACR,OAAO;CACT;CACA,WAAW;EACT,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,YAAY;EACV,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;AACF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { CSSProperties } from "react";
|
|
2
|
+
//#region src/dashboard/AuthTools/type.d.ts
|
|
3
|
+
export type AuthThemeMode = 'auto' | 'dark' | 'light';
|
|
4
|
+
export interface AuthThemeSwitchProps {
|
|
5
|
+
className?: string;
|
|
6
|
+
/**
|
|
7
|
+
* Accessible names, also shown as tooltips. Labels are visually hidden.
|
|
8
|
+
* @default { auto: 'System', dark: 'Dark', light: 'Light' }
|
|
9
|
+
*/
|
|
10
|
+
labels?: Partial<Record<AuthThemeMode, string>>;
|
|
11
|
+
onChange?: (mode: AuthThemeMode) => void;
|
|
12
|
+
style?: CSSProperties;
|
|
13
|
+
value?: AuthThemeMode;
|
|
14
|
+
}
|
|
15
|
+
export interface AuthLocaleOption {
|
|
16
|
+
label: string;
|
|
17
|
+
value: string;
|
|
18
|
+
}
|
|
19
|
+
export interface AuthLocaleSwitchProps {
|
|
20
|
+
/** Accessible name of the select. @default 'Language' */
|
|
21
|
+
'aria-label'?: string;
|
|
22
|
+
'className'?: string;
|
|
23
|
+
'onChange'?: (locale: string) => void;
|
|
24
|
+
'options': AuthLocaleOption[];
|
|
25
|
+
'style'?: CSSProperties;
|
|
26
|
+
'value'?: string;
|
|
27
|
+
}
|
|
28
|
+
//#endregion
|
|
29
|
+
//# sourceMappingURL=type.d.mts.map
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ChartGridProps } from "./type.mjs";
|
|
2
|
+
//#region src/dashboard/ChartGrid/ChartGrid.d.ts
|
|
3
|
+
/** Peer charts and ranked lists, two-up, one column below 640px. Not for label/value rows. */
|
|
4
|
+
declare const ChartGrid: {
|
|
5
|
+
({ children, className }: ChartGridProps): import("react").JSX.Element;
|
|
6
|
+
displayName: string;
|
|
7
|
+
};
|
|
8
|
+
//#endregion
|
|
9
|
+
export { ChartGrid as default };
|
|
10
|
+
//# sourceMappingURL=ChartGrid.d.mts.map
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { styleProps } from "../../styles/stylex/props.mjs";
|
|
3
|
+
import { styles } from "./style.mjs";
|
|
4
|
+
import { jsx } from "react/jsx-runtime";
|
|
5
|
+
import * as stylex from "@stylexjs/stylex";
|
|
6
|
+
//#region src/dashboard/ChartGrid/ChartGrid.tsx
|
|
7
|
+
/** Peer charts and ranked lists, two-up, one column below 640px. Not for label/value rows. */
|
|
8
|
+
const ChartGrid = ({ children, className }) => /* @__PURE__ */ jsx("div", {
|
|
9
|
+
...stylex.props(styles.frame),
|
|
10
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
11
|
+
...styleProps(styles.root, className),
|
|
12
|
+
children
|
|
13
|
+
})
|
|
14
|
+
});
|
|
15
|
+
ChartGrid.displayName = "ChartGrid";
|
|
16
|
+
//#endregion
|
|
17
|
+
export { ChartGrid as default };
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=ChartGrid.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChartGrid.mjs","names":[],"sources":["../../../src/dashboard/ChartGrid/ChartGrid.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\n\nimport { styleProps } from '@/styles/stylex/props';\n\nimport { styles } from './style';\nimport type { ChartGridProps } from './type';\n\n/** Peer charts and ranked lists, two-up, one column below 640px. Not for label/value rows. */\nconst ChartGrid = ({ children, className }: ChartGridProps) => (\n <div {...stylex.props(styles.frame)}>\n <div {...styleProps(styles.root, className)}>{children}</div>\n </div>\n);\n\nChartGrid.displayName = 'ChartGrid';\n\nexport default ChartGrid;\n"],"mappings":";;;;;;;AAQA,MAAM,aAAa,EACjB,UACA,gBACoB,oBAAC,OAAD;CAAK,GAAI,OAAO,MAAM,OAAO,KAAK;CACpD,UAAA,oBAAC,OAAD;EAAK,GAAI,WAAW,OAAO,MAAM,SAAS;EAAI;CAAc,CAAA;AACzD,CAAA;AACP,UAAU,cAAc"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
//#region src/dashboard/ChartGrid/style.ts
|
|
2
|
+
const styles = {
|
|
3
|
+
frame: {
|
|
4
|
+
k9g6sI: "lb12h1iku",
|
|
5
|
+
$$css: true
|
|
6
|
+
},
|
|
7
|
+
root: {
|
|
8
|
+
kOIVth: "lbou54vl",
|
|
9
|
+
kGNEyG: "lb1qjc9v5",
|
|
10
|
+
k1xSpc: "lbrvj5dj",
|
|
11
|
+
kumcoG: "lbnby9oq lb91szb2 lb43xpz4 lbb8zp9c",
|
|
12
|
+
$$css: true
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
export { styles };
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=style.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.mjs","names":[],"sources":["../../../src/dashboard/ChartGrid/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\n\nexport const styles = stylex.create({\n /**\n * The frame is the container. A query on the grid itself would not see its own width.\n * Charts stay two-up so a trend and its switch stay readable; one child does not\n * stretch across the page.\n */\n frame: {\n containerType: 'inline-size',\n },\n root: {\n gap: 16,\n alignItems: 'stretch',\n display: 'grid',\n gridTemplateColumns: {\n 'default': 'repeat(2, minmax(0, 1fr))',\n ':has(> :only-child)': 'minmax(0, min(100%, 560px))',\n '@container (max-width: 640px)': {\n 'default': 'minmax(0, 1fr)',\n ':has(> :only-child)': 'minmax(0, min(100%, 560px))',\n },\n },\n },\n});\n"],"mappings":";AACA,MAAa,SAAS;CACpB,OAAO;EACL,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;AACF"}
|
|
@@ -8,7 +8,7 @@ import { useLocalStorage, usePrefersReducedMotion } from "../hooks.mjs";
|
|
|
8
8
|
import { styles } from "./style.mjs";
|
|
9
9
|
import { useCallback, useEffect, useId, useRef, useState } from "react";
|
|
10
10
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
11
|
-
import clsx from "clsx";
|
|
11
|
+
import clsx$1 from "clsx";
|
|
12
12
|
import * as stylex from "@stylexjs/stylex";
|
|
13
13
|
import { ChevronDown, Play } from "lucide-react";
|
|
14
14
|
//#region src/dashboard/ConsoleNav/ConsoleNav.tsx
|
|
@@ -90,7 +90,7 @@ function NavLink({ active, collapsed, context, href, icon, indent = 0, item, nam
|
|
|
90
90
|
...stylex.props(styles.dot, collapsed && styles.dotRail)
|
|
91
91
|
}) : null
|
|
92
92
|
] }),
|
|
93
|
-
"className": overlay ? clsx(stylex.props(styles.railLink, active && styles.railLinkActive).className, railLinkClassName) : stylex.props(styles.item, active && styles.itemActive, (indent === 1 || indent === 2) && styles.itemIndented, itemIndentStyles[indent], collapsed && indent !== 0 && styles.itemRailIndent).className ?? "",
|
|
93
|
+
"className": overlay ? clsx$1(stylex.props(styles.railLink, active && styles.railLinkActive).className, railLinkClassName) : stylex.props(styles.item, active && styles.itemActive, (indent === 1 || indent === 2) && styles.itemIndented, itemIndentStyles[indent], collapsed && indent !== 0 && styles.itemRailIndent).className ?? "",
|
|
94
94
|
"data-active": active,
|
|
95
95
|
"data-collapsed": collapsed,
|
|
96
96
|
"data-indent": indent,
|
|
@@ -223,7 +223,7 @@ function ConsoleNav({ collapsed: collapsedProp, defaultExpanded = "all", groups
|
|
|
223
223
|
"data-expanded": expanded,
|
|
224
224
|
icon: ChevronDown,
|
|
225
225
|
size: 14,
|
|
226
|
-
className: clsx(headerIconClassName, stylex.props(styles.chevron, !expanded && styles.chevronFolded, collapsed && styles.railFaded).className)
|
|
226
|
+
className: clsx$1(headerIconClassName, stylex.props(styles.chevron, !expanded && styles.chevronFolded, collapsed && styles.railFaded).className)
|
|
227
227
|
}) : /* @__PURE__ */ jsx("span", {
|
|
228
228
|
"data-expanded": expanded,
|
|
229
229
|
...stylex.props(styles.indicator, expanded && styles.indicatorExpanded),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConsoleNav.mjs","names":[],"sources":["../../../src/dashboard/ConsoleNav/ConsoleNav.tsx"],"sourcesContent":["'use client';\n\nimport './style.css';\n\nimport * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\nimport { ChevronDown, Play } from 'lucide-react';\nimport { type ReactNode, useCallback, useEffect, useId, useRef, useState } from 'react';\n\nimport Icon from '@/Icon';\nimport ScrollShadow from '@/ScrollShadow';\nimport Tooltip from '@/Tooltip';\n\nimport { useConsoleShellState } from '../ConsoleShell/context';\nimport { useLocalStorage, usePrefersReducedMotion } from '../hooks';\nimport { collectNavItems, findActiveBranch, resolveActiveHref } from './active';\nimport { styles } from './style';\nimport type { ConsoleNavGroup, ConsoleNavItem, ConsoleNavLinkProps, ConsoleNavProps } from './type';\n\nconst PANEL_TRANSITION_MS = 160;\nconst railLinkClassName = 'lobe-console-nav-rail-link';\n\nconst itemIndentStyles = [null, styles.itemIndent1, styles.itemIndent2];\nconst groupHeaderIndentStyles = [null, styles.groupHeaderIndent1, styles.groupHeaderIndent2];\nconst RAIL_TRANSITION_MS = 200;\n\ntype ExpandedOverrides = Record<string, boolean>;\n\n/** Older builds stored the closed group keys as an array. */\nfunction readOverrides(value: unknown): ExpandedOverrides {\n if (Array.isArray(value)) {\n return Object.fromEntries(value.map((key) => [String(key), false]));\n }\n return value && typeof value === 'object' ? (value as ExpandedOverrides) : {};\n}\n\nfunction scrollActiveIntoView(container: HTMLElement, behavior: ScrollBehavior = 'auto') {\n const link =\n container.querySelector<HTMLElement>('[aria-current=\"page\"]') ??\n [...container.querySelectorAll<HTMLElement>('button[data-active=\"true\"]')].at(-1);\n if (!link) return;\n const containerRect = container.getBoundingClientRect();\n const linkRect = link.getBoundingClientRect();\n if (linkRect.top >= containerRect.top && linkRect.bottom <= containerRect.bottom) return;\n container.scrollBy({\n behavior,\n top: linkRect.top - containerRect.top - (containerRect.height - linkRect.height) / 2,\n });\n}\n\ninterface LinkContext {\n onNavigate?: (href: string) => void;\n renderLink?: ConsoleNavProps['renderLink'];\n}\n\nfunction renderAnchor(context: LinkContext, linkProps: ConsoleNavLinkProps, onFollow: () => void) {\n if (context.renderLink) return context.renderLink(linkProps);\n return (\n <a\n aria-current={linkProps['aria-current']}\n aria-label={linkProps['aria-label']}\n className={linkProps.className}\n data-active={linkProps['data-active']}\n data-collapsed={linkProps['data-collapsed']}\n data-indent={linkProps['data-indent']}\n href={linkProps.href}\n rel={linkProps.external ? 'noreferrer' : undefined}\n target={linkProps.external ? '_blank' : undefined}\n title={linkProps.title}\n onClick={(event) => {\n if (context.onNavigate && !linkProps.external) event.preventDefault();\n onFollow();\n }}\n >\n {linkProps.children}\n </a>\n );\n}\n\nfunction NavLink({\n active,\n collapsed,\n context,\n href,\n icon,\n indent = 0,\n item,\n name,\n overlay = false,\n}: {\n active: boolean;\n collapsed: boolean;\n context: LinkContext;\n href: string;\n icon?: ConsoleNavItem['icon'];\n indent?: number;\n item?: ConsoleNavItem;\n name: string;\n overlay?: boolean;\n}) {\n const shell = useConsoleShellState();\n const label = item?.label ?? name;\n const follow = () => {\n context.onNavigate?.(href);\n shell?.closeNavigation();\n };\n const linkProps: ConsoleNavLinkProps = {\n 'aria-current': active ? 'page' : undefined,\n 'aria-label': collapsed ? name : undefined,\n 'children': overlay ? null : (\n <>\n {icon ? (\n <Icon className={stylex.props(styles.navIcon).className} icon={icon} size={18} />\n ) : null}\n <span\n {...stylex.props(\n styles.itemLabel,\n styles.railFade,\n collapsed && [styles.itemLabelRail, styles.railFaded],\n )}\n >\n {label}\n </span>\n {item?.badge ? (\n <span {...stylex.props(styles.badge, styles.railFade, collapsed && styles.railFaded)}>\n {item.badge}\n </span>\n ) : null}\n {item?.badge ? (\n <span aria-hidden {...stylex.props(styles.dot, collapsed && styles.dotRail)} />\n ) : null}\n </>\n ),\n 'className': overlay\n ? clsx(\n stylex.props(styles.railLink, active && styles.railLinkActive).className,\n railLinkClassName,\n )\n : (stylex.props(\n styles.item,\n active && styles.itemActive,\n (indent === 1 || indent === 2) && styles.itemIndented,\n itemIndentStyles[indent],\n collapsed && indent !== 0 && styles.itemRailIndent,\n ).className ?? ''),\n 'data-active': active,\n 'data-collapsed': collapsed,\n 'data-indent': indent,\n 'external': item?.external,\n href,\n 'onClick': follow,\n 'title': collapsed ? undefined : label,\n };\n\n const link = renderAnchor(context, linkProps, follow);\n\n if (!icon && !overlay) return link;\n // Always mounted so toggling the rail keeps the same link element and its label can fade.\n return (\n <Tooltip disabled={!collapsed} placement=\"right\" title={name}>\n {link}\n </Tooltip>\n );\n}\n\nfunction Fold({ children, folded }: { children: ReactNode; folded: boolean }) {\n return (\n <div\n aria-hidden={folded || undefined}\n data-folded={folded}\n inert={folded || undefined}\n {...stylex.props(styles.fold, folded && styles.folded)}\n >\n <div {...stylex.props(styles.foldBody)}>{children}</div>\n </div>\n );\n}\n\nfunction ConsoleNav({\n collapsed: collapsedProp,\n defaultExpanded = 'all',\n groups = [],\n items = [],\n label = 'Primary',\n onNavigate,\n pathname,\n renderLink,\n storageKey,\n}: ConsoleNavProps) {\n const id = useId();\n const navRef = useRef<HTMLDivElement>(null);\n const shell = useConsoleShellState();\n const collapsed = collapsedProp ?? shell?.collapsed ?? false;\n const reducedMotion = usePrefersReducedMotion();\n const [storedOverrides, setStoredOverrides] = useLocalStorage<unknown>(storageKey, {});\n const overrides = readOverrides(storedOverrides);\n const context: LinkContext = { onNavigate, renderLink };\n\n const activeHref = resolveActiveHref(pathname, [...items, ...collectNavItems(groups)]);\n const activeBranch = findActiveBranch(pathname, groups, activeHref);\n\n // Arriving on a page reopens its branch even if it was closed by hand earlier.\n const [trackedPathname, setTrackedPathname] = useState(pathname);\n if (trackedPathname !== pathname) {\n setTrackedPathname(pathname);\n if (activeBranch.some((key) => overrides[key] === false)) {\n const next = { ...overrides };\n for (const key of activeBranch) delete next[key];\n setStoredOverrides(next);\n }\n }\n\n const isExpanded = (group: ConsoleNavGroup) =>\n overrides[group.key] ??\n (activeBranch.includes(group.key) || (group.defaultExpanded ?? defaultExpanded === 'all'));\n\n const toggleGroup = useCallback(\n (key: string, expanded: boolean) => {\n setStoredOverrides((current: unknown) => ({ ...readOverrides(current), [key]: !expanded }));\n },\n [setStoredOverrides],\n );\n\n useEffect(() => {\n const container = navRef.current;\n if (!container) return;\n scrollActiveIntoView(container);\n if (reducedMotion) return;\n const timer = window.setTimeout(() => scrollActiveIntoView(container), PANEL_TRANSITION_MS);\n return () => window.clearTimeout(timer);\n }, [activeHref, pathname, reducedMotion]);\n\n useEffect(() => {\n const container = navRef.current;\n if (!container) return;\n const timer = window.setTimeout(\n () => scrollActiveIntoView(container, reducedMotion ? 'auto' : 'smooth'),\n reducedMotion ? 0 : RAIL_TRANSITION_MS,\n );\n return () => window.clearTimeout(timer);\n }, [collapsed, reducedMotion]);\n\n // The rail folds rows out of this same tree instead of rendering its own, so icons stay put\n // while the sidebar width animates.\n const renderItems = (\n list: ConsoleNavItem[],\n indent: number,\n groupLabel: string | undefined,\n foldable: boolean,\n ) =>\n list.map((item) => {\n const link = (\n <NavLink\n active={item.href === activeHref}\n collapsed={collapsed}\n context={context}\n href={item.href}\n icon={item.icon}\n indent={item.icon ? Math.max(0, indent - 1) : indent}\n item={item}\n key={item.href}\n name={groupLabel ? `${groupLabel} / ${item.label}` : item.label}\n />\n );\n if (item.icon || !foldable) return link;\n return (\n <Fold folded={collapsed} key={item.href}>\n {link}\n </Fold>\n );\n });\n\n const renderGroup = (\n group: ConsoleNavGroup,\n level: number,\n indent: number,\n underRailIcon: boolean,\n afterGroup: boolean,\n ) => {\n const expanded = isExpanded(group);\n const panelId = `${id}-${group.key}`;\n // Nested groups are headings over their items, so the items keep the same indent.\n const childIndent = indent + (group.icon ? 1 : 0);\n const active = activeBranch.includes(group.key);\n const railIcon = level === 0 && Boolean(group.icon);\n const onRail = collapsed && !underRailIcon;\n const open = onRail ? !railIcon : expanded;\n const railHref = railIcon ? (group.href ?? collectNavItems([group])[0]?.href) : undefined;\n const railEmpty = !railIcon && !collectNavItems([group]).some((item) => item.icon);\n const nested = level !== 0;\n const headerIconClassName = stylex.props(\n styles.headerIcon,\n Boolean(group.icon) && styles.headerIconWide,\n ).className;\n\n const header = (\n <button\n aria-controls={panelId}\n aria-expanded={open}\n aria-hidden={(onRail && railIcon) || undefined}\n data-active={active}\n data-icon={Boolean(group.icon)}\n data-indent={indent}\n data-level={level}\n tabIndex={onRail && railIcon ? -1 : undefined}\n type=\"button\"\n onClick={() => toggleGroup(group.key, expanded)}\n {...stylex.props(\n styles.groupHeader,\n active && styles.groupHeaderActive,\n Boolean(group.icon) && styles.groupHeaderIcon,\n !nested && Boolean(group.icon) && styles.groupHeaderRailIcon,\n nested && styles.groupHeaderNested,\n nested && active && styles.groupHeaderNestedActive,\n groupHeaderIndentStyles[indent],\n )}\n >\n {group.icon ? <Icon className={headerIconClassName} icon={group.icon} size={16} /> : null}\n <span\n data-label=\"\"\n {...stylex.props(\n styles.itemLabel,\n styles.railFade,\n collapsed && [styles.itemLabelRail, styles.railFaded],\n nested && styles.groupLabelNested,\n )}\n >\n {group.label}\n </span>\n {level === 0 ? (\n <Icon\n data-expanded={expanded}\n icon={ChevronDown}\n size={14}\n className={clsx(\n headerIconClassName,\n stylex.props(\n styles.chevron,\n !expanded && styles.chevronFolded,\n collapsed && styles.railFaded,\n ).className,\n )}\n />\n ) : (\n <span\n data-expanded={expanded}\n {...stylex.props(styles.indicator, expanded && styles.indicatorExpanded)}\n >\n <Play fill={'currentColor'} size={7} strokeWidth={1} />\n </span>\n )}\n </button>\n );\n\n let head: ReactNode = header;\n if (railIcon) {\n head = (\n <div {...stylex.props(styles.groupHead)}>\n {header}\n {onRail && railHref ? (\n <NavLink\n collapsed\n overlay\n active={activeBranch[0] === group.key}\n context={context}\n href={railHref}\n name={group.label}\n />\n ) : null}\n </div>\n );\n } else if (!underRailIcon) {\n head = <Fold folded={onRail}>{header}</Fold>;\n }\n\n return (\n <div\n data-icon={Boolean(group.icon)}\n data-level={level}\n data-rail-empty={railEmpty}\n key={group.key}\n {...stylex.props(\n styles.group,\n !nested && Boolean(group.icon) && styles.groupLevelIcon,\n nested && styles.groupNested,\n collapsed && railEmpty && styles.groupRailEmpty,\n collapsed && afterGroup && !nested && !group.icon && styles.groupDivider,\n )}\n >\n {head}\n <div\n aria-hidden={!open}\n data-expanded={open}\n data-instant={reducedMotion}\n id={panelId}\n inert={open ? undefined : true}\n {...stylex.props(\n styles.groupPanel,\n !open && styles.groupPanelCollapsed,\n reducedMotion && styles.groupPanelInstant,\n )}\n >\n <div {...stylex.props(styles.groupItems)}>\n {renderItems(group.items ?? [], childIndent, group.label, !(underRailIcon || railIcon))}\n {(group.groups ?? []).map((child, index) =>\n renderGroup(child, level + 1, childIndent, underRailIcon || railIcon, index > 0),\n )}\n </div>\n </div>\n </div>\n );\n };\n\n return (\n <ScrollShadow\n aria-label={label}\n as={'nav'}\n className={stylex.props(styles.nav).className}\n data-collapsed={collapsed}\n orientation={'vertical'}\n ref={navRef}\n size={4}\n >\n {items.length > 0 ? (\n <div\n data-divided={groups.length > 0}\n data-rail-empty={!items.some((item) => item.icon)}\n {...stylex.props(\n styles.topItems,\n groups.length > 0 && styles.topItemsDivided,\n collapsed && !items.some((item) => item.icon) && styles.topItemsRailEmpty,\n )}\n >\n {renderItems(items, 0, undefined, true)}\n </div>\n ) : null}\n {groups.map((group, index) => renderGroup(group, 0, 0, false, index > 0))}\n </ScrollShadow>\n );\n}\n\nConsoleNav.displayName = 'ConsoleNav';\n\nexport default ConsoleNav;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConsoleNav.mjs","names":["clsx"],"sources":["../../../src/dashboard/ConsoleNav/ConsoleNav.tsx"],"sourcesContent":["'use client';\n\nimport './style.css';\n\nimport * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\nimport { ChevronDown, Play } from 'lucide-react';\nimport { type ReactNode, useCallback, useEffect, useId, useRef, useState } from 'react';\n\nimport Icon from '@/Icon';\nimport ScrollShadow from '@/ScrollShadow';\nimport Tooltip from '@/Tooltip';\n\nimport { useConsoleShellState } from '../ConsoleShell/context';\nimport { useLocalStorage, usePrefersReducedMotion } from '../hooks';\nimport { collectNavItems, findActiveBranch, resolveActiveHref } from './active';\nimport { styles } from './style';\nimport type { ConsoleNavGroup, ConsoleNavItem, ConsoleNavLinkProps, ConsoleNavProps } from './type';\n\nconst PANEL_TRANSITION_MS = 160;\nconst railLinkClassName = 'lobe-console-nav-rail-link';\n\nconst itemIndentStyles = [null, styles.itemIndent1, styles.itemIndent2];\nconst groupHeaderIndentStyles = [null, styles.groupHeaderIndent1, styles.groupHeaderIndent2];\nconst RAIL_TRANSITION_MS = 200;\n\ntype ExpandedOverrides = Record<string, boolean>;\n\n/** Older builds stored the closed group keys as an array. */\nfunction readOverrides(value: unknown): ExpandedOverrides {\n if (Array.isArray(value)) {\n return Object.fromEntries(value.map((key) => [String(key), false]));\n }\n return value && typeof value === 'object' ? (value as ExpandedOverrides) : {};\n}\n\nfunction scrollActiveIntoView(container: HTMLElement, behavior: ScrollBehavior = 'auto') {\n const link =\n container.querySelector<HTMLElement>('[aria-current=\"page\"]') ??\n [...container.querySelectorAll<HTMLElement>('button[data-active=\"true\"]')].at(-1);\n if (!link) return;\n const containerRect = container.getBoundingClientRect();\n const linkRect = link.getBoundingClientRect();\n if (linkRect.top >= containerRect.top && linkRect.bottom <= containerRect.bottom) return;\n container.scrollBy({\n behavior,\n top: linkRect.top - containerRect.top - (containerRect.height - linkRect.height) / 2,\n });\n}\n\ninterface LinkContext {\n onNavigate?: (href: string) => void;\n renderLink?: ConsoleNavProps['renderLink'];\n}\n\nfunction renderAnchor(context: LinkContext, linkProps: ConsoleNavLinkProps, onFollow: () => void) {\n if (context.renderLink) return context.renderLink(linkProps);\n return (\n <a\n aria-current={linkProps['aria-current']}\n aria-label={linkProps['aria-label']}\n className={linkProps.className}\n data-active={linkProps['data-active']}\n data-collapsed={linkProps['data-collapsed']}\n data-indent={linkProps['data-indent']}\n href={linkProps.href}\n rel={linkProps.external ? 'noreferrer' : undefined}\n target={linkProps.external ? '_blank' : undefined}\n title={linkProps.title}\n onClick={(event) => {\n if (context.onNavigate && !linkProps.external) event.preventDefault();\n onFollow();\n }}\n >\n {linkProps.children}\n </a>\n );\n}\n\nfunction NavLink({\n active,\n collapsed,\n context,\n href,\n icon,\n indent = 0,\n item,\n name,\n overlay = false,\n}: {\n active: boolean;\n collapsed: boolean;\n context: LinkContext;\n href: string;\n icon?: ConsoleNavItem['icon'];\n indent?: number;\n item?: ConsoleNavItem;\n name: string;\n overlay?: boolean;\n}) {\n const shell = useConsoleShellState();\n const label = item?.label ?? name;\n const follow = () => {\n context.onNavigate?.(href);\n shell?.closeNavigation();\n };\n const linkProps: ConsoleNavLinkProps = {\n 'aria-current': active ? 'page' : undefined,\n 'aria-label': collapsed ? name : undefined,\n 'children': overlay ? null : (\n <>\n {icon ? (\n <Icon className={stylex.props(styles.navIcon).className} icon={icon} size={18} />\n ) : null}\n <span\n {...stylex.props(\n styles.itemLabel,\n styles.railFade,\n collapsed && [styles.itemLabelRail, styles.railFaded],\n )}\n >\n {label}\n </span>\n {item?.badge ? (\n <span {...stylex.props(styles.badge, styles.railFade, collapsed && styles.railFaded)}>\n {item.badge}\n </span>\n ) : null}\n {item?.badge ? (\n <span aria-hidden {...stylex.props(styles.dot, collapsed && styles.dotRail)} />\n ) : null}\n </>\n ),\n 'className': overlay\n ? clsx(\n stylex.props(styles.railLink, active && styles.railLinkActive).className,\n railLinkClassName,\n )\n : (stylex.props(\n styles.item,\n active && styles.itemActive,\n (indent === 1 || indent === 2) && styles.itemIndented,\n itemIndentStyles[indent],\n collapsed && indent !== 0 && styles.itemRailIndent,\n ).className ?? ''),\n 'data-active': active,\n 'data-collapsed': collapsed,\n 'data-indent': indent,\n 'external': item?.external,\n href,\n 'onClick': follow,\n 'title': collapsed ? undefined : label,\n };\n\n const link = renderAnchor(context, linkProps, follow);\n\n if (!icon && !overlay) return link;\n // Always mounted so toggling the rail keeps the same link element and its label can fade.\n return (\n <Tooltip disabled={!collapsed} placement=\"right\" title={name}>\n {link}\n </Tooltip>\n );\n}\n\nfunction Fold({ children, folded }: { children: ReactNode; folded: boolean }) {\n return (\n <div\n aria-hidden={folded || undefined}\n data-folded={folded}\n inert={folded || undefined}\n {...stylex.props(styles.fold, folded && styles.folded)}\n >\n <div {...stylex.props(styles.foldBody)}>{children}</div>\n </div>\n );\n}\n\nfunction ConsoleNav({\n collapsed: collapsedProp,\n defaultExpanded = 'all',\n groups = [],\n items = [],\n label = 'Primary',\n onNavigate,\n pathname,\n renderLink,\n storageKey,\n}: ConsoleNavProps) {\n const id = useId();\n const navRef = useRef<HTMLDivElement>(null);\n const shell = useConsoleShellState();\n const collapsed = collapsedProp ?? shell?.collapsed ?? false;\n const reducedMotion = usePrefersReducedMotion();\n const [storedOverrides, setStoredOverrides] = useLocalStorage<unknown>(storageKey, {});\n const overrides = readOverrides(storedOverrides);\n const context: LinkContext = { onNavigate, renderLink };\n\n const activeHref = resolveActiveHref(pathname, [...items, ...collectNavItems(groups)]);\n const activeBranch = findActiveBranch(pathname, groups, activeHref);\n\n // Arriving on a page reopens its branch even if it was closed by hand earlier.\n const [trackedPathname, setTrackedPathname] = useState(pathname);\n if (trackedPathname !== pathname) {\n setTrackedPathname(pathname);\n if (activeBranch.some((key) => overrides[key] === false)) {\n const next = { ...overrides };\n for (const key of activeBranch) delete next[key];\n setStoredOverrides(next);\n }\n }\n\n const isExpanded = (group: ConsoleNavGroup) =>\n overrides[group.key] ??\n (activeBranch.includes(group.key) || (group.defaultExpanded ?? defaultExpanded === 'all'));\n\n const toggleGroup = useCallback(\n (key: string, expanded: boolean) => {\n setStoredOverrides((current: unknown) => ({ ...readOverrides(current), [key]: !expanded }));\n },\n [setStoredOverrides],\n );\n\n useEffect(() => {\n const container = navRef.current;\n if (!container) return;\n scrollActiveIntoView(container);\n if (reducedMotion) return;\n const timer = window.setTimeout(() => scrollActiveIntoView(container), PANEL_TRANSITION_MS);\n return () => window.clearTimeout(timer);\n }, [activeHref, pathname, reducedMotion]);\n\n useEffect(() => {\n const container = navRef.current;\n if (!container) return;\n const timer = window.setTimeout(\n () => scrollActiveIntoView(container, reducedMotion ? 'auto' : 'smooth'),\n reducedMotion ? 0 : RAIL_TRANSITION_MS,\n );\n return () => window.clearTimeout(timer);\n }, [collapsed, reducedMotion]);\n\n // The rail folds rows out of this same tree instead of rendering its own, so icons stay put\n // while the sidebar width animates.\n const renderItems = (\n list: ConsoleNavItem[],\n indent: number,\n groupLabel: string | undefined,\n foldable: boolean,\n ) =>\n list.map((item) => {\n const link = (\n <NavLink\n active={item.href === activeHref}\n collapsed={collapsed}\n context={context}\n href={item.href}\n icon={item.icon}\n indent={item.icon ? Math.max(0, indent - 1) : indent}\n item={item}\n key={item.href}\n name={groupLabel ? `${groupLabel} / ${item.label}` : item.label}\n />\n );\n if (item.icon || !foldable) return link;\n return (\n <Fold folded={collapsed} key={item.href}>\n {link}\n </Fold>\n );\n });\n\n const renderGroup = (\n group: ConsoleNavGroup,\n level: number,\n indent: number,\n underRailIcon: boolean,\n afterGroup: boolean,\n ) => {\n const expanded = isExpanded(group);\n const panelId = `${id}-${group.key}`;\n // Nested groups are headings over their items, so the items keep the same indent.\n const childIndent = indent + (group.icon ? 1 : 0);\n const active = activeBranch.includes(group.key);\n const railIcon = level === 0 && Boolean(group.icon);\n const onRail = collapsed && !underRailIcon;\n const open = onRail ? !railIcon : expanded;\n const railHref = railIcon ? (group.href ?? collectNavItems([group])[0]?.href) : undefined;\n const railEmpty = !railIcon && !collectNavItems([group]).some((item) => item.icon);\n const nested = level !== 0;\n const headerIconClassName = stylex.props(\n styles.headerIcon,\n Boolean(group.icon) && styles.headerIconWide,\n ).className;\n\n const header = (\n <button\n aria-controls={panelId}\n aria-expanded={open}\n aria-hidden={(onRail && railIcon) || undefined}\n data-active={active}\n data-icon={Boolean(group.icon)}\n data-indent={indent}\n data-level={level}\n tabIndex={onRail && railIcon ? -1 : undefined}\n type=\"button\"\n onClick={() => toggleGroup(group.key, expanded)}\n {...stylex.props(\n styles.groupHeader,\n active && styles.groupHeaderActive,\n Boolean(group.icon) && styles.groupHeaderIcon,\n !nested && Boolean(group.icon) && styles.groupHeaderRailIcon,\n nested && styles.groupHeaderNested,\n nested && active && styles.groupHeaderNestedActive,\n groupHeaderIndentStyles[indent],\n )}\n >\n {group.icon ? <Icon className={headerIconClassName} icon={group.icon} size={16} /> : null}\n <span\n data-label=\"\"\n {...stylex.props(\n styles.itemLabel,\n styles.railFade,\n collapsed && [styles.itemLabelRail, styles.railFaded],\n nested && styles.groupLabelNested,\n )}\n >\n {group.label}\n </span>\n {level === 0 ? (\n <Icon\n data-expanded={expanded}\n icon={ChevronDown}\n size={14}\n className={clsx(\n headerIconClassName,\n stylex.props(\n styles.chevron,\n !expanded && styles.chevronFolded,\n collapsed && styles.railFaded,\n ).className,\n )}\n />\n ) : (\n <span\n data-expanded={expanded}\n {...stylex.props(styles.indicator, expanded && styles.indicatorExpanded)}\n >\n <Play fill={'currentColor'} size={7} strokeWidth={1} />\n </span>\n )}\n </button>\n );\n\n let head: ReactNode = header;\n if (railIcon) {\n head = (\n <div {...stylex.props(styles.groupHead)}>\n {header}\n {onRail && railHref ? (\n <NavLink\n collapsed\n overlay\n active={activeBranch[0] === group.key}\n context={context}\n href={railHref}\n name={group.label}\n />\n ) : null}\n </div>\n );\n } else if (!underRailIcon) {\n head = <Fold folded={onRail}>{header}</Fold>;\n }\n\n return (\n <div\n data-icon={Boolean(group.icon)}\n data-level={level}\n data-rail-empty={railEmpty}\n key={group.key}\n {...stylex.props(\n styles.group,\n !nested && Boolean(group.icon) && styles.groupLevelIcon,\n nested && styles.groupNested,\n collapsed && railEmpty && styles.groupRailEmpty,\n collapsed && afterGroup && !nested && !group.icon && styles.groupDivider,\n )}\n >\n {head}\n <div\n aria-hidden={!open}\n data-expanded={open}\n data-instant={reducedMotion}\n id={panelId}\n inert={open ? undefined : true}\n {...stylex.props(\n styles.groupPanel,\n !open && styles.groupPanelCollapsed,\n reducedMotion && styles.groupPanelInstant,\n )}\n >\n <div {...stylex.props(styles.groupItems)}>\n {renderItems(group.items ?? [], childIndent, group.label, !(underRailIcon || railIcon))}\n {(group.groups ?? []).map((child, index) =>\n renderGroup(child, level + 1, childIndent, underRailIcon || railIcon, index > 0),\n )}\n </div>\n </div>\n </div>\n );\n };\n\n return (\n <ScrollShadow\n aria-label={label}\n as={'nav'}\n className={stylex.props(styles.nav).className}\n data-collapsed={collapsed}\n orientation={'vertical'}\n ref={navRef}\n size={4}\n >\n {items.length > 0 ? (\n <div\n data-divided={groups.length > 0}\n data-rail-empty={!items.some((item) => item.icon)}\n {...stylex.props(\n styles.topItems,\n groups.length > 0 && styles.topItemsDivided,\n collapsed && !items.some((item) => item.icon) && styles.topItemsRailEmpty,\n )}\n >\n {renderItems(items, 0, undefined, true)}\n </div>\n ) : null}\n {groups.map((group, index) => renderGroup(group, 0, 0, false, index > 0))}\n </ScrollShadow>\n );\n}\n\nConsoleNav.displayName = 'ConsoleNav';\n\nexport default ConsoleNav;\n"],"mappings":";;;;;;;;;;;;;;AAeA,MAAM,sBAAsB;AAC5B,MAAM,oBAAoB;AAC1B,MAAM,mBAAmB;CAAC;CAAM,OAAO;CAAa,OAAO;AAAW;AACtE,MAAM,0BAA0B;CAAC;CAAM,OAAO;CAAoB,OAAO;AAAkB;AAC3F,MAAM,qBAAqB;;AAI3B,SAAS,cAAc,OAAmC;CACxD,IAAI,MAAM,QAAQ,KAAK,GACrB,OAAO,OAAO,YAAY,MAAM,KAAI,QAAO,CAAC,OAAO,GAAG,GAAG,KAAK,CAAC,CAAC;CAElE,OAAO,SAAS,OAAO,UAAU,WAAW,QAA6B,CAAC;AAC5E;AACA,SAAS,qBAAqB,WAAwB,WAA2B,QAAQ;CACvF,MAAM,OAAO,UAAU,cAA2B,yBAAuB,KAAK,CAAC,GAAG,UAAU,iBAA8B,8BAA4B,CAAC,CAAC,CAAC,GAAG,EAAE;CAC9J,IAAI,CAAC,MAAM;CACX,MAAM,gBAAgB,UAAU,sBAAsB;CACtD,MAAM,WAAW,KAAK,sBAAsB;CAC5C,IAAI,SAAS,OAAO,cAAc,OAAO,SAAS,UAAU,cAAc,QAAQ;CAClF,UAAU,SAAS;EACjB;EACA,KAAK,SAAS,MAAM,cAAc,OAAO,cAAc,SAAS,SAAS,UAAU;CACrF,CAAC;AACH;AAKA,SAAS,aAAa,SAAsB,WAAgC,UAAsB;CAChG,IAAI,QAAQ,YAAY,OAAO,QAAQ,WAAW,SAAS;CAC3D,OAAO,oBAAC,KAAD;EAAG,gBAAc,UAAU;EAAiB,cAAY,UAAU;EAAe,WAAW,UAAU;EAAW,eAAa,UAAU;EAAgB,kBAAgB,UAAU;EAAmB,eAAa,UAAU;EAAgB,MAAM,UAAU;EAAM,KAAK,UAAU,WAAW,eAAe,KAAA;EAAW,QAAQ,UAAU,WAAW,WAAW,KAAA;EAAW,OAAO,UAAU;EAAO,UAAS,UAAS;GACxZ,IAAI,QAAQ,cAAc,CAAC,UAAU,UAAU,MAAM,eAAe;GACpE,SAAS;EACX;EACK,UAAA,UAAU;CACV,CAAA;AACP;AACA,SAAS,QAAQ,EACf,QACA,WACA,SACA,MACA,MACA,SAAS,GACT,MACA,MACA,UAAU,SAWT;CACD,MAAM,QAAQ,qBAAqB;CACnC,MAAM,QAAQ,MAAM,SAAS;CAC7B,MAAM,eAAe;EACnB,QAAQ,aAAa,IAAI;EACzB,OAAO,gBAAgB;CACzB;CAuBA,MAAM,OAAO,aAAa,SAAS;EArBjC,gBAAgB,SAAS,SAAS,KAAA;EAClC,cAAc,YAAY,OAAO,KAAA;EACjC,YAAY,UAAU,OAAO,qBAAA,YAAA,EAAA,UAAA;GACxB,OAAO,oBAAC,MAAD;IAAM,WAAW,OAAO,MAAM,OAAO,OAAO,CAAC,CAAC;IAAiB;IAAM,MAAM;GAAK,CAAA,IAAI;GAC5F,oBAAC,QAAD;IAAM,GAAI,OAAO,MAAM,OAAO,WAAW,OAAO,UAAU,aAAa,CAAC,OAAO,eAAe,OAAO,SAAS,CAAC;IAC5G,UAAA;GACG,CAAA;GACL,MAAM,QAAQ,oBAAC,QAAD;IAAM,GAAI,OAAO,MAAM,OAAO,OAAO,OAAO,UAAU,aAAa,OAAO,SAAS;IAC7F,UAAA,KAAK;GACF,CAAA,IAAI;GACX,MAAM,QAAQ,oBAAC,QAAD;IAAM,eAAA;IAAY,GAAI,OAAO,MAAM,OAAO,KAAK,aAAa,OAAO,OAAO;GAAI,CAAA,IAAI;EACjG,EAAA,CAAA;EACJ,aAAa,UAAUA,OAAK,OAAO,MAAM,OAAO,UAAU,UAAU,OAAO,cAAc,CAAC,CAAC,WAAW,iBAAiB,IAAI,OAAO,MAAM,OAAO,MAAM,UAAU,OAAO,aAAa,WAAW,KAAK,WAAW,MAAM,OAAO,cAAc,iBAAiB,SAAS,aAAa,WAAW,KAAK,OAAO,cAAc,CAAC,CAAC,aAAa;EACpU,eAAe;EACf,kBAAkB;EAClB,eAAe;EACf,YAAY,MAAM;EAClB;EACA,WAAW;EACX,SAAS,YAAY,KAAA,IAAY;CAEQ,GAAG,MAAM;CACpD,IAAI,CAAC,QAAQ,CAAC,SAAS,OAAO;CAE9B,OAAO,oBAAC,SAAD;EAAS,UAAU,CAAC;EAAW,WAAU;EAAQ,OAAO;EAC1D,UAAA;CACM,CAAA;AACb;AACA,SAAS,KAAK,EACZ,UACA,UAIC;CACD,OAAO,oBAAC,OAAD;EAAK,eAAa,UAAU,KAAA;EAAW,eAAa;EAAQ,OAAO,UAAU,KAAA;EAAW,GAAI,OAAO,MAAM,OAAO,MAAM,UAAU,OAAO,MAAM;EAChJ,UAAA,oBAAC,OAAD;GAAK,GAAI,OAAO,MAAM,OAAO,QAAQ;GAAI;EAAc,CAAA;CACpD,CAAA;AACT;AACA,SAAS,WAAW,EAClB,WAAW,eACX,kBAAkB,OAClB,SAAS,CAAC,GACV,QAAQ,CAAC,GACT,QAAQ,WACR,YACA,UACA,YACA,cACkB;CAClB,MAAM,KAAK,MAAM;CACjB,MAAM,SAAS,OAAuB,IAAI;CAC1C,MAAM,QAAQ,qBAAqB;CACnC,MAAM,YAAY,iBAAiB,OAAO,aAAa;CACvD,MAAM,gBAAgB,wBAAwB;CAC9C,MAAM,CAAC,iBAAiB,sBAAsB,gBAAyB,YAAY,CAAC,CAAC;CACrF,MAAM,YAAY,cAAc,eAAe;CAC/C,MAAM,UAAuB;EAC3B;EACA;CACF;CACA,MAAM,aAAa,kBAAkB,UAAU,CAAC,GAAG,OAAO,GAAG,gBAAgB,MAAM,CAAC,CAAC;CACrF,MAAM,eAAe,iBAAiB,UAAU,QAAQ,UAAU;CAGlE,MAAM,CAAC,iBAAiB,sBAAsB,SAAS,QAAQ;CAC/D,IAAI,oBAAoB,UAAU;EAChC,mBAAmB,QAAQ;EAC3B,IAAI,aAAa,MAAK,QAAO,UAAU,SAAS,KAAK,GAAG;GACtD,MAAM,OAAO,EACX,GAAG,UACL;GACA,KAAK,MAAM,OAAO,cAAc,OAAO,KAAK;GAC5C,mBAAmB,IAAI;EACzB;CACF;CACA,MAAM,cAAc,UAA2B,UAAU,MAAM,SAAS,aAAa,SAAS,MAAM,GAAG,MAAM,MAAM,mBAAmB,oBAAoB;CAC1J,MAAM,cAAc,aAAa,KAAa,aAAsB;EAClE,oBAAoB,aAAsB;GACxC,GAAG,cAAc,OAAO;IACvB,MAAM,CAAC;EACV,EAAE;CACJ,GAAG,CAAC,kBAAkB,CAAC;CACvB,gBAAgB;EACd,MAAM,YAAY,OAAO;EACzB,IAAI,CAAC,WAAW;EAChB,qBAAqB,SAAS;EAC9B,IAAI,eAAe;EACnB,MAAM,QAAQ,OAAO,iBAAiB,qBAAqB,SAAS,GAAG,mBAAmB;EAC1F,aAAa,OAAO,aAAa,KAAK;CACxC,GAAG;EAAC;EAAY;EAAU;CAAa,CAAC;CACxC,gBAAgB;EACd,MAAM,YAAY,OAAO;EACzB,IAAI,CAAC,WAAW;EAChB,MAAM,QAAQ,OAAO,iBAAiB,qBAAqB,WAAW,gBAAgB,SAAS,QAAQ,GAAG,gBAAgB,IAAI,kBAAkB;EAChJ,aAAa,OAAO,aAAa,KAAK;CACxC,GAAG,CAAC,WAAW,aAAa,CAAC;CAI7B,MAAM,eAAe,MAAwB,QAAgB,YAAgC,aAAsB,KAAK,KAAI,SAAQ;EAClI,MAAM,OAAO,oBAAC,SAAD;GAAS,QAAQ,KAAK,SAAS;GAAuB;GAAoB;GAAS,MAAM,KAAK;GAAM,MAAM,KAAK;GAAM,QAAQ,KAAK,OAAO,KAAK,IAAI,GAAG,SAAS,CAAC,IAAI;GAAc;GAAsB,MAAM,aAAa,GAAG,WAAW,KAAK,KAAK,UAAU,KAAK;EAAQ,GAA7E,KAAK,IAAwE;EACtR,IAAI,KAAK,QAAQ,CAAC,UAAU,OAAO;EACnC,OAAO,oBAAC,MAAD;GAAM,QAAQ;GACd,UAAA;EACG,GAF2B,KAAK,IAEhC;CACZ,CAAC;CACD,MAAM,eAAe,OAAwB,OAAe,QAAgB,eAAwB,eAAwB;EAC1H,MAAM,WAAW,WAAW,KAAK;EACjC,MAAM,UAAU,GAAG,GAAG,GAAG,MAAM;EAE/B,MAAM,cAAc,UAAU,MAAM,OAAO,IAAI;EAC/C,MAAM,SAAS,aAAa,SAAS,MAAM,GAAG;EAC9C,MAAM,WAAW,UAAU,KAAK,QAAQ,MAAM,IAAI;EAClD,MAAM,SAAS,aAAa,CAAC;EAC7B,MAAM,OAAO,SAAS,CAAC,WAAW;EAClC,MAAM,WAAW,WAAW,MAAM,QAAQ,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,KAAA;EAC9E,MAAM,YAAY,CAAC,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,MAAK,SAAQ,KAAK,IAAI;EAC/E,MAAM,SAAS,UAAU;EACzB,MAAM,sBAAsB,OAAO,MAAM,OAAO,YAAY,QAAQ,MAAM,IAAI,KAAK,OAAO,cAAc,CAAC,CAAC;EAC1G,MAAM,SAAS,qBAAC,UAAD;GAAQ,iBAAe;GAAS,iBAAe;GAAM,eAAa,UAAU,YAAY,KAAA;GAAW,eAAa;GAAQ,aAAW,QAAQ,MAAM,IAAI;GAAG,eAAa;GAAQ,cAAY;GAAO,UAAU,UAAU,WAAW,KAAK,KAAA;GAAW,MAAK;GAAS,eAAe,YAAY,MAAM,KAAK,QAAQ;GAAG,GAAI,OAAO,MAAM,OAAO,aAAa,UAAU,OAAO,mBAAmB,QAAQ,MAAM,IAAI,KAAK,OAAO,iBAAiB,CAAC,UAAU,QAAQ,MAAM,IAAI,KAAK,OAAO,qBAAqB,UAAU,OAAO,mBAAmB,UAAU,UAAU,OAAO,yBAAyB,wBAAwB,OAAO;GAA3lB,UAAA;IACV,MAAM,OAAO,oBAAC,MAAD;KAAM,WAAW;KAAqB,MAAM,MAAM;KAAM,MAAM;IAAK,CAAA,IAAI;IACrF,oBAAC,QAAD;KAAM,cAAW;KAAG,GAAI,OAAO,MAAM,OAAO,WAAW,OAAO,UAAU,aAAa,CAAC,OAAO,eAAe,OAAO,SAAS,GAAG,UAAU,OAAO,gBAAgB;KAC7J,UAAA,MAAM;IACH,CAAA;IACL,UAAU,IAAI,oBAAC,MAAD;KAAM,iBAAe;KAAU,MAAM;KAAa,MAAM;KAAI,WAAWA,OAAK,qBAAqB,OAAO,MAAM,OAAO,SAAS,CAAC,YAAY,OAAO,eAAe,aAAa,OAAO,SAAS,CAAC,CAAC,SAAS;IAAI,CAAA,IAAI,oBAAC,QAAD;KAAM,iBAAe;KAAU,GAAI,OAAO,MAAM,OAAO,WAAW,YAAY,OAAO,iBAAiB;KAClU,UAAA,oBAAC,MAAD;MAAM,MAAM;MAAgB,MAAM;MAAG,aAAa;KAAI,CAAA;IAClD,CAAA;GACF;;EACV,IAAI,OAAkB;EACtB,IAAI,UACF,OAAO,qBAAC,OAAD;GAAK,GAAI,OAAO,MAAM,OAAO,SAAS;GAAtC,UAAA,CACF,QACA,UAAU,WAAW,oBAAC,SAAD;IAAS,WAAA;IAAU,SAAA;IAAQ,QAAQ,aAAa,OAAO,MAAM;IAAc;IAAS,MAAM;IAAU,MAAM,MAAM;GAAQ,CAAA,IAAI,IAC/I;;OACF,IAAI,CAAC,eACV,OAAO,oBAAC,MAAD;GAAM,QAAQ;GAAS,UAAA;EAAa,CAAA;EAE7C,OAAO,qBAAC,OAAD;GAAK,aAAW,QAAQ,MAAM,IAAI;GAAG,cAAY;GAAO,mBAAiB;GAA2B,GAAI,OAAO,MAAM,OAAO,OAAO,CAAC,UAAU,QAAQ,MAAM,IAAI,KAAK,OAAO,gBAAgB,UAAU,OAAO,aAAa,aAAa,aAAa,OAAO,gBAAgB,aAAa,cAAc,CAAC,UAAU,CAAC,MAAM,QAAQ,OAAO,YAAY;GAAnV,UAAA,CACF,MACD,oBAAC,OAAD;IAAK,eAAa,CAAC;IAAM,iBAAe;IAAM,gBAAc;IAAe,IAAI;IAAS,OAAO,OAAO,KAAA,IAAY;IAAM,GAAI,OAAO,MAAM,OAAO,YAAY,CAAC,QAAQ,OAAO,qBAAqB,iBAAiB,OAAO,iBAAiB;IACxO,UAAA,qBAAC,OAAD;KAAK,GAAI,OAAO,MAAM,OAAO,UAAU;KAAvC,UAAA,CACG,YAAY,MAAM,SAAS,CAAC,GAAG,aAAa,MAAM,OAAO,EAAE,iBAAiB,SAAS,IACpF,MAAM,UAAU,CAAC,EAAA,CAAG,KAAK,OAAO,UAAU,YAAY,OAAO,QAAQ,GAAG,aAAa,iBAAiB,UAAU,QAAQ,CAAC,CAAC,CACzH;;GACF,CAAA,CACF;EARyF,GAAA,MAAM,GAQ/F;CACT;CACA,OAAO,qBAAC,cAAD;EAAc,cAAY;EAAO,IAAI;EAAO,WAAW,OAAO,MAAM,OAAO,GAAG,CAAC,CAAC;EAAW,kBAAgB;EAAW,aAAa;EAAY,KAAK;EAAQ,MAAM;EAAlK,UAAA,CACF,MAAM,SAAS,IAAI,oBAAC,OAAD;GAAK,gBAAc,OAAO,SAAS;GAAG,mBAAiB,CAAC,MAAM,MAAK,SAAQ,KAAK,IAAI;GAAG,GAAI,OAAO,MAAM,OAAO,UAAU,OAAO,SAAS,KAAK,OAAO,iBAAiB,aAAa,CAAC,MAAM,MAAK,SAAQ,KAAK,IAAI,KAAK,OAAO,iBAAiB;GAC5P,UAAA,YAAY,OAAO,GAAG,KAAA,GAAW,IAAI;EACnC,CAAA,IAAI,MACV,OAAO,KAAK,OAAO,UAAU,YAAY,OAAO,GAAG,GAAG,OAAO,QAAQ,CAAC,CAAC,CAC5D;;AAClB;AACA,WAAW,cAAc"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ConsoleNavSkeletonProps } from "./type.mjs";
|
|
2
|
+
//#region src/dashboard/ConsoleNav/Skeleton.d.ts
|
|
3
|
+
/**
|
|
4
|
+
* Placeholder for `ConsoleNav` while the session or menu loads. Rows use the nav's own item,
|
|
5
|
+
* group header and indent metrics, so swapping in the real nav does not shift anything.
|
|
6
|
+
*/
|
|
7
|
+
declare function ConsoleNavSkeleton({ className, groups, items }: ConsoleNavSkeletonProps): import("react").JSX.Element;
|
|
8
|
+
declare namespace ConsoleNavSkeleton {
|
|
9
|
+
var displayName: string;
|
|
10
|
+
}
|
|
11
|
+
/** Footer placeholder matching an account row: avatar plus name. */
|
|
12
|
+
export declare function ConsoleFooterSkeleton(): import("react").JSX.Element;
|
|
13
|
+
//#endregion
|
|
14
|
+
export { ConsoleNavSkeleton as default };
|
|
15
|
+
//# sourceMappingURL=Skeleton.d.mts.map
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { styleProps } from "../../styles/stylex/props.mjs";
|
|
3
|
+
import Skeleton from "../../Skeleton/index.mjs";
|
|
4
|
+
import { styles } from "./style.mjs";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import * as stylex from "@stylexjs/stylex";
|
|
7
|
+
//#region src/dashboard/ConsoleNav/Skeleton.tsx
|
|
8
|
+
const DEFAULT_GROUPS = [
|
|
9
|
+
3,
|
|
10
|
+
6,
|
|
11
|
+
4,
|
|
12
|
+
3
|
|
13
|
+
];
|
|
14
|
+
const Row = ({ group, index }) => /* @__PURE__ */ jsxs("div", {
|
|
15
|
+
"data-indent": 0,
|
|
16
|
+
...stylex.props(styles.item, styles.skeletonRow),
|
|
17
|
+
children: [/* @__PURE__ */ jsx(Skeleton, {
|
|
18
|
+
height: 16,
|
|
19
|
+
radius: 4,
|
|
20
|
+
width: 16
|
|
21
|
+
}), /* @__PURE__ */ jsx(Skeleton, {
|
|
22
|
+
height: 14,
|
|
23
|
+
radius: 4,
|
|
24
|
+
width: 56 + (index + group) % 3 * 20
|
|
25
|
+
})]
|
|
26
|
+
});
|
|
27
|
+
/**
|
|
28
|
+
* Placeholder for `ConsoleNav` while the session or menu loads. Rows use the nav's own item,
|
|
29
|
+
* group header and indent metrics, so swapping in the real nav does not shift anything.
|
|
30
|
+
*/
|
|
31
|
+
function ConsoleNavSkeleton({ className, groups = DEFAULT_GROUPS, items = 1 }) {
|
|
32
|
+
const counts = groups.map((group) => typeof group === "number" ? group : group.items?.length ?? 0);
|
|
33
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
34
|
+
"aria-hidden": true,
|
|
35
|
+
"data-console-nav-skeleton": "",
|
|
36
|
+
...styleProps(styles.nav, className),
|
|
37
|
+
children: [Array.from({ length: items }, (_, index) => /* @__PURE__ */ jsx(Row, {
|
|
38
|
+
group: 0,
|
|
39
|
+
index
|
|
40
|
+
}, index)), counts.map((count, group) => /* @__PURE__ */ jsxs("div", {
|
|
41
|
+
...stylex.props(styles.skeletonGroup),
|
|
42
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
43
|
+
"data-level": 0,
|
|
44
|
+
...stylex.props(styles.groupHeader, styles.skeletonRow),
|
|
45
|
+
children: /* @__PURE__ */ jsx(Skeleton, {
|
|
46
|
+
height: 12,
|
|
47
|
+
radius: 4,
|
|
48
|
+
width: 64 + group % 2 * 16
|
|
49
|
+
})
|
|
50
|
+
}), Array.from({ length: count }, (_, index) => /* @__PURE__ */ jsx("div", {
|
|
51
|
+
"data-indent": 1,
|
|
52
|
+
...stylex.props(styles.item, styles.itemIndented, styles.itemIndent1, styles.skeletonRow),
|
|
53
|
+
children: /* @__PURE__ */ jsx(Skeleton, {
|
|
54
|
+
height: 14,
|
|
55
|
+
radius: 4,
|
|
56
|
+
width: 56 + (index + group) % 3 * 20
|
|
57
|
+
})
|
|
58
|
+
}, index))]
|
|
59
|
+
}, group))]
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
ConsoleNavSkeleton.displayName = "ConsoleNavSkeleton";
|
|
63
|
+
/** Footer placeholder matching an account row: avatar plus name. */
|
|
64
|
+
function ConsoleFooterSkeleton() {
|
|
65
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
66
|
+
"aria-hidden": true,
|
|
67
|
+
...stylex.props(styles.skeletonFooter),
|
|
68
|
+
children: [/* @__PURE__ */ jsx(Skeleton, {
|
|
69
|
+
height: 32,
|
|
70
|
+
radius: 16,
|
|
71
|
+
width: 32
|
|
72
|
+
}), /* @__PURE__ */ jsx(Skeleton, {
|
|
73
|
+
height: 14,
|
|
74
|
+
radius: 4,
|
|
75
|
+
width: 96
|
|
76
|
+
})]
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
//#endregion
|
|
80
|
+
export { ConsoleFooterSkeleton, ConsoleNavSkeleton as default };
|
|
81
|
+
|
|
82
|
+
//# sourceMappingURL=Skeleton.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Skeleton.mjs","names":[],"sources":["../../../src/dashboard/ConsoleNav/Skeleton.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\n\nimport Skeleton from '@/Skeleton';\nimport { styleProps } from '@/styles/stylex/props';\n\nimport { styles } from './style';\nimport type { ConsoleNavGroup, ConsoleNavSkeletonProps } from './type';\n\nconst DEFAULT_GROUPS = [3, 6, 4, 3];\n\nconst Row = ({ group, index }: { group: number; index: number }) => (\n <div data-indent={0} {...stylex.props(styles.item, styles.skeletonRow)}>\n <Skeleton height={16} radius={4} width={16} />\n <Skeleton height={14} radius={4} width={56 + ((index + group) % 3) * 20} />\n </div>\n);\n\n/**\n * Placeholder for `ConsoleNav` while the session or menu loads. Rows use the nav's own item,\n * group header and indent metrics, so swapping in the real nav does not shift anything.\n */\nfunction ConsoleNavSkeleton({\n className,\n groups = DEFAULT_GROUPS,\n items = 1,\n}: ConsoleNavSkeletonProps) {\n const counts = groups.map((group: number | ConsoleNavGroup) =>\n typeof group === 'number' ? group : (group.items?.length ?? 0),\n );\n return (\n <div aria-hidden data-console-nav-skeleton=\"\" {...styleProps(styles.nav, className)}>\n {Array.from({ length: items }, (_, index) => (\n <Row group={0} index={index} key={index} />\n ))}\n {counts.map((count, group) => (\n <div key={group} {...stylex.props(styles.skeletonGroup)}>\n <div data-level={0} {...stylex.props(styles.groupHeader, styles.skeletonRow)}>\n <Skeleton height={12} radius={4} width={64 + (group % 2) * 16} />\n </div>\n {Array.from({ length: count }, (_, index) => (\n <div\n data-indent={1}\n key={index}\n {...stylex.props(\n styles.item,\n styles.itemIndented,\n styles.itemIndent1,\n styles.skeletonRow,\n )}\n >\n <Skeleton height={14} radius={4} width={56 + ((index + group) % 3) * 20} />\n </div>\n ))}\n </div>\n ))}\n </div>\n );\n}\n\nConsoleNavSkeleton.displayName = 'ConsoleNavSkeleton';\n\n/** Footer placeholder matching an account row: avatar plus name. */\nexport function ConsoleFooterSkeleton() {\n return (\n <div aria-hidden {...stylex.props(styles.skeletonFooter)}>\n <Skeleton height={32} radius={16} width={32} />\n <Skeleton height={14} radius={4} width={96} />\n </div>\n );\n}\n\nexport default ConsoleNavSkeleton;\n"],"mappings":";;;;;;;AAOA,MAAM,iBAAiB;CAAC;CAAG;CAAG;CAAG;AAAC;AAClC,MAAM,OAAO,EACX,OACA,YAII,qBAAC,OAAD;CAAK,eAAa;CAAG,GAAI,OAAO,MAAM,OAAO,MAAM,OAAO,WAAW;CAArE,UAAA,CACF,oBAAC,UAAD;EAAU,QAAQ;EAAI,QAAQ;EAAG,OAAO;CAAK,CAAA,GAC7C,oBAAC,UAAD;EAAU,QAAQ;EAAI,QAAQ;EAAG,OAAO,MAAM,QAAQ,SAAS,IAAI;CAAK,CAAA,CACrE;;;;;;AAMP,SAAS,mBAAmB,EAC1B,WACA,SAAS,gBACT,QAAQ,KACkB;CAC1B,MAAM,SAAS,OAAO,KAAK,UAAoC,OAAO,UAAU,WAAW,QAAQ,MAAM,OAAO,UAAU,CAAC;CAC3H,OAAO,qBAAC,OAAD;EAAK,eAAA;EAAY,6BAA0B;EAAG,GAAI,WAAW,OAAO,KAAK,SAAS;EAAlF,UAAA,CACF,MAAM,KAAK,EACZ,QAAQ,MACV,IAAI,GAAG,UAAU,oBAAC,KAAD;GAAK,OAAO;GAAU;EAAoB,GAAR,KAAQ,CAAC,GACzD,OAAO,KAAK,OAAO,UAAU,qBAAC,OAAD;GAAiB,GAAI,OAAO,MAAM,OAAO,aAAa;GAAtD,UAAA,CAC1B,oBAAC,OAAD;IAAK,cAAY;IAAG,GAAI,OAAO,MAAM,OAAO,aAAa,OAAO,WAAW;IACzE,UAAA,oBAAC,UAAD;KAAU,QAAQ;KAAI,QAAQ;KAAG,OAAO,KAAK,QAAQ,IAAI;IAAK,CAAA;GAC3D,CAAA,GACJ,MAAM,KAAK,EACd,QAAQ,MACV,IAAI,GAAG,UAAU,oBAAC,OAAD;IAAK,eAAa;IAAe,GAAI,OAAO,MAAM,OAAO,MAAM,OAAO,cAAc,OAAO,aAAa,OAAO,WAAW;IACnI,UAAA,oBAAC,UAAD;KAAU,QAAQ;KAAI,QAAQ;KAAG,OAAO,MAAM,QAAQ,SAAS,IAAI;IAAK,CAAA;GACrE,GAFgC,KAEhC,CAAC,CACL;EATiC,GAAA,KASjC,CAAC,CACL;;AACT;AACA,mBAAmB,cAAc;;AAGjC,SAAgB,wBAAwB;CACtC,OAAO,qBAAC,OAAD;EAAK,eAAA;EAAY,GAAI,OAAO,MAAM,OAAO,cAAc;EAAvD,UAAA,CACH,oBAAC,UAAD;GAAU,QAAQ;GAAI,QAAQ;GAAI,OAAO;EAAK,CAAA,GAC9C,oBAAC,UAAD;GAAU,QAAQ;GAAI,QAAQ;GAAG,OAAO;EAAK,CAAA,CAC1C;;AACT"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { ConsoleNavGroup, ConsoleNavItem, ConsoleNavLinkProps, ConsoleNavProps } from "./type.mjs";
|
|
1
|
+
import { ConsoleNavGroup, ConsoleNavItem, ConsoleNavLinkProps, ConsoleNavProps, ConsoleNavSkeletonProps } from "./type.mjs";
|
|
2
2
|
import { resolveActiveHref } from "./active.mjs";
|
|
3
3
|
import ConsoleNav from "./ConsoleNav.mjs";
|
|
4
|
-
|
|
4
|
+
import ConsoleNavSkeleton, { ConsoleFooterSkeleton } from "./Skeleton.mjs";
|
|
5
|
+
export { ConsoleFooterSkeleton, type ConsoleNavGroup, type ConsoleNavItem, type ConsoleNavProps, ConsoleNavSkeleton, type ConsoleNavSkeletonProps, ConsoleNav as default, resolveActiveHref };
|
|
@@ -62,7 +62,7 @@ const styles = {
|
|
|
62
62
|
kVAEAm: "lb1n2onr6",
|
|
63
63
|
kpsdNU: "lbm4btww",
|
|
64
64
|
k2g4ti: "lb1qc4mfg lb1fgujza",
|
|
65
|
-
kLkRvE: "
|
|
65
|
+
kLkRvE: "lb4uv7w2",
|
|
66
66
|
kgzTxl: "lby80zi5",
|
|
67
67
|
kgeoSG: "lb1cpjm7i",
|
|
68
68
|
k96MEf: "lb1mpa3hi",
|
|
@@ -291,6 +291,24 @@ const styles = {
|
|
|
291
291
|
kWkggS: "lbjjy28o",
|
|
292
292
|
$$css: true
|
|
293
293
|
},
|
|
294
|
+
skeletonFooter: {
|
|
295
|
+
kOIVth: "lb883omv",
|
|
296
|
+
kg3NbH: "lbfn1xvj",
|
|
297
|
+
kGNEyG: "lb6s0dn4",
|
|
298
|
+
k1xSpc: "lb78zum5",
|
|
299
|
+
$$css: true
|
|
300
|
+
},
|
|
301
|
+
skeletonGroup: {
|
|
302
|
+
kOIVth: "lb195vfkc",
|
|
303
|
+
k1xSpc: "lb78zum5",
|
|
304
|
+
kXwgrk: "lbdt5ytf",
|
|
305
|
+
keoZOQ: "lb14vqqas",
|
|
306
|
+
$$css: true
|
|
307
|
+
},
|
|
308
|
+
skeletonRow: {
|
|
309
|
+
kfzvcC: "lb47corl",
|
|
310
|
+
$$css: true
|
|
311
|
+
},
|
|
294
312
|
topItems: {
|
|
295
313
|
kOIVth: "lb195vfkc",
|
|
296
314
|
kmkexE: "lbn0nhwh lb9kvfbb",
|
|
@@ -299,7 +317,7 @@ const styles = {
|
|
|
299
317
|
$$css: true
|
|
300
318
|
},
|
|
301
319
|
topItemsDivided: {
|
|
302
|
-
kL6WhQ: "
|
|
320
|
+
kL6WhQ: "lb1fmh5c5",
|
|
303
321
|
kfdmCh: "lb1q0q8m5",
|
|
304
322
|
kt9PQ7: "lbso031l",
|
|
305
323
|
k1K539: "lbzueoph",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"style.mjs","names":[],"sources":["../../../src/dashboard/ConsoleNav/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\n\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\nimport { media } from '@/styles/stylex/media.stylex';\n\nconst reducedMotion = '@media (prefers-reduced-motion: reduce)';\n\nexport const styles = stylex.create({\n badge: {\n borderRadius: 999,\n flex: 'none',\n paddingInline: 6,\n backgroundColor: `color-mix(in srgb, ${cssVar.colorError} 12%, transparent)`,\n color: cssVar.colorError,\n fontSize: cssVar.fontSizeSM,\n fontVariantNumeric: 'tabular-nums',\n minInlineSize: 20,\n textAlign: 'center',\n },\n chevron: {\n flex: 'none',\n transition: {\n default: 'transform 160ms ease, opacity 120ms ease 80ms',\n [reducedMotion]: 'none',\n },\n },\n chevronFolded: {\n transform: 'rotate(-90deg)',\n },\n dot: {\n borderRadius: 999,\n transition: { default: 'opacity 120ms ease', [reducedMotion]: 'none' },\n backgroundColor: cssVar.colorError,\n blockSize: 7,\n inlineSize: 7,\n insetBlockStart: 7,\n insetInlineEnd: 9,\n opacity: 0,\n position: 'absolute',\n },\n dotRail: {\n opacity: 1,\n },\n fold: {\n transition: {\n default: 'grid-template-rows 200ms ease, margin 200ms ease, opacity 120ms ease',\n [reducedMotion]: 'none',\n },\n display: 'grid',\n gridTemplateRows: '1fr',\n },\n foldBody: {\n overflow: 'hidden',\n minBlockSize: 0,\n },\n folded: {\n gridTemplateRows: '0fr',\n marginBlockStart: { 'default': null, ':not(:first-child)': -2 },\n opacity: 0,\n },\n group: {\n 'transition': { default: 'margin 200ms ease', [reducedMotion]: 'none' },\n 'display': 'flex',\n 'flexDirection': 'column',\n 'marginBlockStart': 12,\n 'position': 'relative',\n '::before': {\n insetInline: 0,\n transition: { default: 'opacity 200ms ease', [reducedMotion]: 'none' },\n backgroundColor: cssVar.colorBorderSecondary,\n blockSize: 1,\n content: '\"\"',\n insetBlockStart: -6,\n opacity: 0,\n position: 'absolute',\n },\n },\n groupDivider: {\n '::before': {\n opacity: 1,\n },\n },\n groupHead: {\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n },\n groupHeader: {\n borderColor: 'currentcolor',\n borderRadius: cssVar.borderRadius,\n borderStyle: 'none',\n borderWidth: 'medium',\n gap: 8,\n alignItems: 'center',\n backgroundColor: 'transparent',\n color: { 'default': cssVar.colorTextSecondary, ':hover': cssVar.colorText },\n cursor: 'pointer',\n display: 'flex',\n fontSize: cssVar.fontSizeSM,\n fontWeight: 500,\n justifyContent: 'space-between',\n minBlockSize: 32,\n paddingInlineEnd: 10,\n paddingInlineStart: 10,\n textAlign: 'start',\n whiteSpace: 'nowrap',\n },\n groupHeaderActive: {\n color: cssVar.colorText,\n },\n groupHeaderIcon: {\n gap: 10,\n fontSize: cssVar.fontSize,\n justifyContent: 'flex-start',\n minBlockSize: 36,\n },\n groupHeaderIndent1: {\n paddingInlineStart: 38,\n },\n groupHeaderIndent2: {\n paddingInlineStart: 56,\n },\n groupHeaderNested: {\n gap: 8,\n color: { 'default': cssVar.colorTextDescription, ':hover': cssVar.colorTextSecondary },\n fontSize: cssVar.fontSizeSM,\n fontWeight: 400,\n justifyContent: 'flex-start',\n minBlockSize: 26,\n },\n groupHeaderNestedActive: {\n color: cssVar.colorTextSecondary,\n },\n groupHeaderRailIcon: {\n backgroundColor: { 'default': 'transparent', ':hover': cssVar.colorFillTertiary },\n },\n groupItems: {\n gap: 2,\n overflow: 'hidden',\n display: 'flex',\n flexDirection: 'column',\n minBlockSize: 0,\n },\n groupLabelNested: {\n flexBasis: 'auto',\n flexGrow: '0',\n flexShrink: '1',\n },\n groupLevelIcon: {\n marginBlockStart: 2,\n },\n groupNested: {\n marginBlockStart: 6,\n },\n groupPanel: {\n transition: 'grid-template-rows 160ms ease',\n display: 'grid',\n gridTemplateRows: '1fr',\n },\n groupPanelCollapsed: {\n gridTemplateRows: '0fr',\n },\n groupPanelInstant: {\n transition: 'none',\n },\n groupRailEmpty: {\n marginBlockStart: 0,\n },\n headerIcon: {\n flex: 'none',\n display: 'flex',\n },\n headerIconWide: {\n inlineSize: 18,\n justifyContent: 'center',\n },\n indicator: {\n flex: 'none',\n transition: 'transform 160ms ease',\n alignItems: 'center',\n color: cssVar.colorTextDescription,\n display: 'flex',\n justifyContent: 'center',\n marginInlineStart: -6,\n height: 18,\n width: 18,\n },\n indicatorExpanded: {\n transform: 'rotate(90deg)',\n },\n item: {\n borderRadius: cssVar.borderRadius,\n gap: 10,\n textDecoration: 'none',\n transition: 'background 120ms ease, color 120ms ease',\n alignItems: 'center',\n backgroundColor: { 'default': null, ':hover': cssVar.colorFillTertiary },\n color: { 'default': cssVar.colorTextSecondary, ':hover': cssVar.colorText },\n display: 'flex',\n minBlockSize: { default: 36, [media.mobile]: 44 },\n paddingInlineEnd: 10,\n paddingInlineStart: 10,\n position: 'relative',\n whiteSpace: 'nowrap',\n },\n itemActive: {\n backgroundColor: cssVar.colorFillSecondary,\n color: cssVar.colorText,\n fontWeight: 500,\n },\n itemIndent1: {\n paddingInlineStart: 38,\n },\n itemIndent2: {\n paddingInlineStart: 56,\n },\n itemIndented: {\n color: cssVar.colorText,\n minBlockSize: 32,\n },\n itemLabel: {\n flex: '1',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n itemLabelRail: {\n textOverflow: 'clip',\n },\n itemRailIndent: {\n paddingInlineStart: 10,\n },\n nav: {\n flex: '1',\n gap: 2,\n paddingInline: 8,\n display: 'flex',\n flexDirection: 'column',\n minBlockSize: 0,\n overflowAnchor: 'none',\n paddingBlockEnd: 12,\n scrollbarWidth: 'thin',\n },\n navIcon: {\n flex: 'none',\n display: 'flex',\n },\n railFade: {\n transition: { default: 'opacity 120ms ease 80ms', [reducedMotion]: 'none' },\n },\n railFaded: {\n opacity: 0,\n transitionDelay: '0s',\n },\n railLink: {\n inset: 0,\n borderRadius: cssVar.borderRadius,\n transition: 'background 120ms ease',\n backgroundColor: { 'default': null, ':hover': cssVar.colorFillTertiary },\n position: 'absolute',\n },\n railLinkActive: {\n backgroundColor: cssVar.colorFillSecondary,\n },\n topItems: {\n gap: 2,\n transition: {\n default: 'margin 200ms ease, padding 200ms ease, border-color 200ms ease',\n [reducedMotion]: 'none',\n },\n display: 'flex',\n flexDirection: 'column',\n },\n topItemsDivided: {\n borderBlockEndColor: cssVar.colorBorderSecondary,\n borderBlockEndStyle: 'solid',\n borderBlockEndWidth: 1,\n marginBlockEnd: 6,\n paddingBlockEnd: 8,\n },\n topItemsRailEmpty: {\n borderBlockEndColor: 'transparent',\n marginBlockEnd: 0,\n paddingBlockEnd: 0,\n },\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"style.mjs","names":[],"sources":["../../../src/dashboard/ConsoleNav/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\n\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\nimport { media } from '@/styles/stylex/media.stylex';\n\nconst reducedMotion = '@media (prefers-reduced-motion: reduce)';\n\nexport const styles = stylex.create({\n badge: {\n borderRadius: 999,\n flex: 'none',\n paddingInline: 6,\n backgroundColor: `color-mix(in srgb, ${cssVar.colorError} 12%, transparent)`,\n color: cssVar.colorError,\n fontSize: cssVar.fontSizeSM,\n fontVariantNumeric: 'tabular-nums',\n minInlineSize: 20,\n textAlign: 'center',\n },\n chevron: {\n flex: 'none',\n transition: {\n default: 'transform 160ms ease, opacity 120ms ease 80ms',\n [reducedMotion]: 'none',\n },\n },\n chevronFolded: {\n transform: 'rotate(-90deg)',\n },\n dot: {\n borderRadius: 999,\n transition: { default: 'opacity 120ms ease', [reducedMotion]: 'none' },\n backgroundColor: cssVar.colorError,\n blockSize: 7,\n inlineSize: 7,\n insetBlockStart: 7,\n insetInlineEnd: 9,\n opacity: 0,\n position: 'absolute',\n },\n dotRail: {\n opacity: 1,\n },\n fold: {\n transition: {\n default: 'grid-template-rows 200ms ease, margin 200ms ease, opacity 120ms ease',\n [reducedMotion]: 'none',\n },\n display: 'grid',\n gridTemplateRows: '1fr',\n },\n foldBody: {\n overflow: 'hidden',\n minBlockSize: 0,\n },\n folded: {\n gridTemplateRows: '0fr',\n marginBlockStart: { 'default': null, ':not(:first-child)': -2 },\n opacity: 0,\n },\n group: {\n 'transition': { default: 'margin 200ms ease', [reducedMotion]: 'none' },\n 'display': 'flex',\n 'flexDirection': 'column',\n 'marginBlockStart': 12,\n 'position': 'relative',\n '::before': {\n insetInline: 0,\n transition: { default: 'opacity 200ms ease', [reducedMotion]: 'none' },\n backgroundColor: `var(--lobe-fill-border, ${cssVar.colorFill})`,\n blockSize: 1,\n content: '\"\"',\n insetBlockStart: -6,\n opacity: 0,\n position: 'absolute',\n },\n },\n groupDivider: {\n '::before': {\n opacity: 1,\n },\n },\n groupHead: {\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n },\n groupHeader: {\n borderColor: 'currentcolor',\n borderRadius: cssVar.borderRadius,\n borderStyle: 'none',\n borderWidth: 'medium',\n gap: 8,\n alignItems: 'center',\n backgroundColor: 'transparent',\n color: { 'default': cssVar.colorTextSecondary, ':hover': cssVar.colorText },\n cursor: 'pointer',\n display: 'flex',\n fontSize: cssVar.fontSizeSM,\n fontWeight: 500,\n justifyContent: 'space-between',\n minBlockSize: 32,\n paddingInlineEnd: 10,\n paddingInlineStart: 10,\n textAlign: 'start',\n whiteSpace: 'nowrap',\n },\n groupHeaderActive: {\n color: cssVar.colorText,\n },\n groupHeaderIcon: {\n gap: 10,\n fontSize: cssVar.fontSize,\n justifyContent: 'flex-start',\n minBlockSize: 36,\n },\n groupHeaderIndent1: {\n paddingInlineStart: 38,\n },\n groupHeaderIndent2: {\n paddingInlineStart: 56,\n },\n groupHeaderNested: {\n gap: 8,\n color: { 'default': cssVar.colorTextDescription, ':hover': cssVar.colorTextSecondary },\n fontSize: cssVar.fontSizeSM,\n fontWeight: 400,\n justifyContent: 'flex-start',\n minBlockSize: 26,\n },\n groupHeaderNestedActive: {\n color: cssVar.colorTextSecondary,\n },\n groupHeaderRailIcon: {\n backgroundColor: { 'default': 'transparent', ':hover': cssVar.colorFillTertiary },\n },\n groupItems: {\n gap: 2,\n overflow: 'hidden',\n display: 'flex',\n flexDirection: 'column',\n minBlockSize: 0,\n },\n groupLabelNested: {\n flexBasis: 'auto',\n flexGrow: '0',\n flexShrink: '1',\n },\n groupLevelIcon: {\n marginBlockStart: 2,\n },\n groupNested: {\n marginBlockStart: 6,\n },\n groupPanel: {\n transition: 'grid-template-rows 160ms ease',\n display: 'grid',\n gridTemplateRows: '1fr',\n },\n groupPanelCollapsed: {\n gridTemplateRows: '0fr',\n },\n groupPanelInstant: {\n transition: 'none',\n },\n groupRailEmpty: {\n marginBlockStart: 0,\n },\n headerIcon: {\n flex: 'none',\n display: 'flex',\n },\n headerIconWide: {\n inlineSize: 18,\n justifyContent: 'center',\n },\n indicator: {\n flex: 'none',\n transition: 'transform 160ms ease',\n alignItems: 'center',\n color: cssVar.colorTextDescription,\n display: 'flex',\n justifyContent: 'center',\n marginInlineStart: -6,\n height: 18,\n width: 18,\n },\n indicatorExpanded: {\n transform: 'rotate(90deg)',\n },\n item: {\n borderRadius: cssVar.borderRadius,\n gap: 10,\n textDecoration: 'none',\n transition: 'background 120ms ease, color 120ms ease',\n alignItems: 'center',\n backgroundColor: { 'default': null, ':hover': cssVar.colorFillTertiary },\n color: { 'default': cssVar.colorTextSecondary, ':hover': cssVar.colorText },\n display: 'flex',\n minBlockSize: { default: 36, [media.mobile]: 44 },\n paddingInlineEnd: 10,\n paddingInlineStart: 10,\n position: 'relative',\n whiteSpace: 'nowrap',\n },\n itemActive: {\n backgroundColor: cssVar.colorFillSecondary,\n color: cssVar.colorText,\n fontWeight: 500,\n },\n itemIndent1: {\n paddingInlineStart: 38,\n },\n itemIndent2: {\n paddingInlineStart: 56,\n },\n itemIndented: {\n color: cssVar.colorText,\n minBlockSize: 32,\n },\n itemLabel: {\n flex: '1',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n itemLabelRail: {\n textOverflow: 'clip',\n },\n itemRailIndent: {\n paddingInlineStart: 10,\n },\n nav: {\n flex: '1',\n gap: 2,\n paddingInline: 8,\n display: 'flex',\n flexDirection: 'column',\n minBlockSize: 0,\n overflowAnchor: 'none',\n paddingBlockEnd: 12,\n scrollbarWidth: 'thin',\n },\n navIcon: {\n flex: 'none',\n display: 'flex',\n },\n railFade: {\n transition: { default: 'opacity 120ms ease 80ms', [reducedMotion]: 'none' },\n },\n railFaded: {\n opacity: 0,\n transitionDelay: '0s',\n },\n railLink: {\n inset: 0,\n borderRadius: cssVar.borderRadius,\n transition: 'background 120ms ease',\n backgroundColor: { 'default': null, ':hover': cssVar.colorFillTertiary },\n position: 'absolute',\n },\n railLinkActive: {\n backgroundColor: cssVar.colorFillSecondary,\n },\n skeletonFooter: {\n gap: 10,\n paddingInline: 4,\n alignItems: 'center',\n display: 'flex',\n },\n skeletonGroup: {\n gap: 2,\n display: 'flex',\n flexDirection: 'column',\n marginBlockStart: 12,\n },\n skeletonRow: {\n pointerEvents: 'none',\n },\n topItems: {\n gap: 2,\n transition: {\n default: 'margin 200ms ease, padding 200ms ease, border-color 200ms ease',\n [reducedMotion]: 'none',\n },\n display: 'flex',\n flexDirection: 'column',\n },\n topItemsDivided: {\n borderBlockEndColor: `var(--lobe-fill-border, ${cssVar.colorFill})`,\n borderBlockEndStyle: 'solid',\n borderBlockEndWidth: 1,\n marginBlockEnd: 6,\n paddingBlockEnd: 8,\n },\n topItemsRailEmpty: {\n borderBlockEndColor: 'transparent',\n marginBlockEnd: 0,\n paddingBlockEnd: 0,\n },\n});\n"],"mappings":"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"}
|
|
@@ -66,5 +66,18 @@ export interface ConsoleNavProps {
|
|
|
66
66
|
/** Persists which groups were opened or closed by hand. */
|
|
67
67
|
storageKey?: string;
|
|
68
68
|
}
|
|
69
|
+
export interface ConsoleNavSkeletonProps {
|
|
70
|
+
className?: string;
|
|
71
|
+
/**
|
|
72
|
+
* Rows per group. Pass counts, or the real `ConsoleNavGroup[]` to mirror its item counts.
|
|
73
|
+
* @default [3, 6, 4, 3]
|
|
74
|
+
*/
|
|
75
|
+
groups?: Array<number | ConsoleNavGroup>;
|
|
76
|
+
/**
|
|
77
|
+
* Ungrouped rows before the groups.
|
|
78
|
+
* @default 1
|
|
79
|
+
*/
|
|
80
|
+
items?: number;
|
|
81
|
+
}
|
|
69
82
|
//#endregion
|
|
70
83
|
//# sourceMappingURL=type.d.mts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ConsoleShellProps } from "./type.mjs";
|
|
2
2
|
//#region src/dashboard/ConsoleShell/ConsoleShell.d.ts
|
|
3
|
-
declare function ConsoleShell({ brand, breadcrumb, children, className, collapsed, collapseLabel, defaultCollapsed, expandLabel, footer, hotkey, navigation, onCollapsedChange, openNavigationLabel, skipToContentLabel, storageKey, style, tools, ...rest }: ConsoleShellProps): import("react").JSX.Element;
|
|
3
|
+
declare function ConsoleShell({ brand, breadcrumb, children, className, collapsed, closeNavigationLabel, collapseLabel, defaultCollapsed, expandLabel, footer: footerProp, loading, loadingContent, loadingNavigation, hotkey, navigation: navigationProp, onCollapsedChange, openNavigationLabel, skipToContentLabel, storageKey, style, tools, ...rest }: ConsoleShellProps): import("react").JSX.Element;
|
|
4
4
|
declare namespace ConsoleShell {
|
|
5
5
|
var displayName: string;
|
|
6
6
|
}
|
|
@@ -2,25 +2,36 @@
|
|
|
2
2
|
import { styleProps } from "../../styles/stylex/props.mjs";
|
|
3
3
|
import Button from "../../Button/Button.mjs";
|
|
4
4
|
import FlexBasic_default from "../../Flex/FlexBasic.mjs";
|
|
5
|
+
import { useThemeMode } from "../../styles/theme/scope.mjs";
|
|
5
6
|
import Drawer from "../../Drawer/Drawer.mjs";
|
|
6
7
|
import { ConsoleShellContext } from "./context.mjs";
|
|
7
8
|
import { useIsCompact, useLocalStorage, usePrefersReducedMotion } from "../hooks.mjs";
|
|
9
|
+
import ConsoleNavSkeleton, { ConsoleFooterSkeleton } from "../ConsoleNav/Skeleton.mjs";
|
|
8
10
|
import { consoleBrandMarker } from "./marker.stylex.mjs";
|
|
9
11
|
import { styles } from "./style.mjs";
|
|
12
|
+
import PageLoading from "../PageSkeleton/PageSkeleton.mjs";
|
|
10
13
|
import { useEffect, useId, useRef, useState } from "react";
|
|
11
14
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
15
|
import * as stylex from "@stylexjs/stylex";
|
|
13
|
-
import { PanelLeft } from "lucide-react";
|
|
16
|
+
import { PanelLeft, X } from "lucide-react";
|
|
14
17
|
//#region src/dashboard/ConsoleShell/ConsoleShell.tsx
|
|
18
|
+
const drawerBodyStyle = {
|
|
19
|
+
minBlockSize: "100%",
|
|
20
|
+
padding: 0
|
|
21
|
+
};
|
|
15
22
|
function isTypingTarget(target) {
|
|
16
23
|
if (!(target instanceof HTMLElement)) return false;
|
|
17
24
|
const tag = target.tagName;
|
|
18
25
|
return tag === "INPUT" || tag === "TEXTAREA" || tag === "SELECT" || target.isContentEditable;
|
|
19
26
|
}
|
|
20
|
-
function ConsoleShell({ brand, breadcrumb, children, className, collapsed, collapseLabel = "Collapse sidebar", defaultCollapsed = false, expandLabel = "Expand sidebar", footer, hotkey = true, navigation, onCollapsedChange, openNavigationLabel = "Open navigation", skipToContentLabel = "Skip to content", storageKey, style, tools, ...rest }) {
|
|
27
|
+
function ConsoleShell({ brand, breadcrumb, children, className, collapsed, closeNavigationLabel = "Close navigation", collapseLabel = "Collapse sidebar", defaultCollapsed = false, expandLabel = "Expand sidebar", footer: footerProp, loading, loadingContent, loadingNavigation, hotkey = true, navigation: navigationProp, onCollapsedChange, openNavigationLabel = "Open navigation", skipToContentLabel = "Skip to content", storageKey, style, tools, ...rest }) {
|
|
28
|
+
const navigation = loading ? loadingNavigation ?? /* @__PURE__ */ jsx(ConsoleNavSkeleton, {}) : navigationProp;
|
|
29
|
+
const footer = loading ? /* @__PURE__ */ jsx(ConsoleFooterSkeleton, {}) : footerProp;
|
|
30
|
+
const body = loading ? loadingContent ?? /* @__PURE__ */ jsx(PageLoading, {}) : children;
|
|
21
31
|
const mainId = `console-main-${useId().replaceAll(":", "")}`;
|
|
22
32
|
const shellRef = useRef(null);
|
|
23
33
|
const isCompact = useIsCompact();
|
|
34
|
+
const { isDarkMode } = useThemeMode();
|
|
24
35
|
const reducedMotion = usePrefersReducedMotion();
|
|
25
36
|
const [storedCollapsed, setStoredCollapsed] = useLocalStorage(storageKey, defaultCollapsed);
|
|
26
37
|
const [drawerOpen, setDrawerOpen] = useState(false);
|
|
@@ -63,10 +74,16 @@ function ConsoleShell({ brand, breadcrumb, children, className, collapsed, colla
|
|
|
63
74
|
const sidebar = (rail) => /* @__PURE__ */ jsxs(ConsoleShellContext, {
|
|
64
75
|
value: stateFor(rail),
|
|
65
76
|
children: [
|
|
66
|
-
brand ? /* @__PURE__ */
|
|
77
|
+
brand || isCompact ? /* @__PURE__ */ jsxs("div", {
|
|
67
78
|
"data-collapsed": rail,
|
|
68
79
|
...stylex.props(styles.brand, consoleBrandMarker),
|
|
69
|
-
children: brand
|
|
80
|
+
children: [brand, isCompact ? /* @__PURE__ */ jsx(Button, {
|
|
81
|
+
"aria-label": closeNavigationLabel,
|
|
82
|
+
className: stylex.props(styles.brandClose).className,
|
|
83
|
+
icon: X,
|
|
84
|
+
type: "text",
|
|
85
|
+
onClick: closeNavigation
|
|
86
|
+
}) : null]
|
|
70
87
|
}) : null,
|
|
71
88
|
navigation ? /* @__PURE__ */ jsx("div", {
|
|
72
89
|
...stylex.props(styles.navSlot),
|
|
@@ -102,8 +119,10 @@ function ConsoleShell({ brand, breadcrumb, children, className, collapsed, colla
|
|
|
102
119
|
}),
|
|
103
120
|
isCompact ? /* @__PURE__ */ jsx(Drawer, {
|
|
104
121
|
noHeader: true,
|
|
122
|
+
closable: false,
|
|
105
123
|
open: drawerOpen,
|
|
106
124
|
placement: "left",
|
|
125
|
+
styles: { bodyContent: drawerBodyStyle },
|
|
107
126
|
width: 272,
|
|
108
127
|
onClose: closeNavigation,
|
|
109
128
|
children: /* @__PURE__ */ jsx(FlexBasic_default, {
|
|
@@ -112,7 +131,7 @@ function ConsoleShell({ brand, breadcrumb, children, className, collapsed, colla
|
|
|
112
131
|
})
|
|
113
132
|
}) : null,
|
|
114
133
|
/* @__PURE__ */ jsxs("div", {
|
|
115
|
-
...stylex.props(styles.workspace),
|
|
134
|
+
...stylex.props(styles.workspace, !isDarkMode && styles.workspaceLight),
|
|
116
135
|
children: [/* @__PURE__ */ jsxs("header", {
|
|
117
136
|
...stylex.props(styles.topbar),
|
|
118
137
|
children: [
|
|
@@ -136,10 +155,11 @@ function ConsoleShell({ brand, breadcrumb, children, className, collapsed, colla
|
|
|
136
155
|
}) : null
|
|
137
156
|
]
|
|
138
157
|
}), /* @__PURE__ */ jsx("main", {
|
|
158
|
+
"aria-busy": loading || void 0,
|
|
139
159
|
id: mainId,
|
|
140
160
|
tabIndex: -1,
|
|
141
161
|
...stylex.props(styles.main),
|
|
142
|
-
children
|
|
162
|
+
children: body
|
|
143
163
|
})]
|
|
144
164
|
})
|
|
145
165
|
]
|