@omniviewdev/base-ui 0.2.2 → 0.4.0
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/dist/base-ui.css +1 -1
- package/dist/index.d.ts +128 -62
- package/dist/index.js +14934 -13518
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -623,10 +623,13 @@ export declare interface BuildSectionsOptions {
|
|
|
623
623
|
value?: Date | null;
|
|
624
624
|
}
|
|
625
625
|
|
|
626
|
-
export declare const
|
|
626
|
+
export declare const BUILT_IN_THEME_IDS: ReadonlySet<BuiltInThemeId>;
|
|
627
627
|
|
|
628
|
-
|
|
629
|
-
|
|
628
|
+
export declare const BUILT_IN_THEME_MODES: readonly ["void", "dark", "light", "obsidian", "carbon", "solarized-dark", "solarized-light", "high-contrast-dark", "high-contrast-light"];
|
|
629
|
+
|
|
630
|
+
export declare const BUILT_IN_THEMES: readonly Readonly<ThemeSummary>[];
|
|
631
|
+
|
|
632
|
+
export declare type BuiltInThemeId = 'void' | 'dark' | 'light' | 'obsidian' | 'carbon' | 'solarized-dark' | 'solarized-light' | 'high-contrast-dark' | 'high-contrast-light';
|
|
630
633
|
|
|
631
634
|
export declare const Button: ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & RefAttributes<HTMLElement>>;
|
|
632
635
|
|
|
@@ -994,8 +997,6 @@ export declare interface CollapsibleTriggerProps extends HTMLAttributes<HTMLButt
|
|
|
994
997
|
children: ReactNode;
|
|
995
998
|
}
|
|
996
999
|
|
|
997
|
-
declare type ColorTokenKey = 'color.accent.soft' | 'color.accent.strong' | 'color.ansi.black' | 'color.ansi.blue' | 'color.ansi.bright.black' | 'color.ansi.bright.blue' | 'color.ansi.bright.cyan' | 'color.ansi.bright.green' | 'color.ansi.bright.magenta' | 'color.ansi.bright.red' | 'color.ansi.bright.white' | 'color.ansi.bright.yellow' | 'color.ansi.cyan' | 'color.ansi.green' | 'color.ansi.magenta' | 'color.ansi.red' | 'color.ansi.white' | 'color.ansi.yellow' | 'color.bg.base' | 'color.bg.elevated' | 'color.bg.inset' | 'color.bg.surface' | 'color.bg.surface.overlay' | 'color.bg.surface.raised' | 'color.border.default' | 'color.border.focus' | 'color.border.muted' | 'color.border.strong' | 'color.brand.300' | 'color.brand.400' | 'color.brand.500' | 'color.danger' | 'color.danger.soft' | 'color.datepicker.cell.bg' | 'color.datepicker.cell.bg.hover' | 'color.datepicker.cell.bg.selected' | 'color.datepicker.cell.bg.today' | 'color.datepicker.cell.fg' | 'color.datepicker.cell.fg.disabled' | 'color.datepicker.cell.fg.other.month' | 'color.datepicker.cell.fg.selected' | 'color.datepicker.cell.fg.today' | 'color.datepicker.header.bg' | 'color.diff.insert.bg' | 'color.diff.remove.bg' | 'color.discovery' | 'color.discovery.soft' | 'color.drawer.handle' | 'color.drawer.handle.hover' | 'color.editor.bg' | 'color.editor.bracket.1' | 'color.editor.bracket.2' | 'color.editor.bracket.3' | 'color.editor.bracket.4' | 'color.editor.bracket.5' | 'color.editor.bracket.6' | 'color.editor.bracket.match.bg' | 'color.editor.bracket.match.border' | 'color.editor.cursor' | 'color.editor.fg' | 'color.editor.find.match.bg' | 'color.editor.find.match.border' | 'color.editor.find.range.bg' | 'color.editor.group.bg' | 'color.editor.group.border' | 'color.editor.group.drop.border' | 'color.editor.group.header.bg' | 'color.editor.indent.guide' | 'color.editor.indent.guide.active' | 'color.editor.line.highlight.bg' | 'color.editor.line.highlight.border' | 'color.editor.line.number' | 'color.editor.line.number.active' | 'color.editor.link' | 'color.editor.ruler' | 'color.editor.selection.bg' | 'color.editor.selection.inactive.bg' | 'color.editor.whitespace' | 'color.fg.default' | 'color.fg.disabled' | 'color.fg.inverse' | 'color.fg.muted' | 'color.fg.subtle' | 'color.gutter.added' | 'color.gutter.bg' | 'color.gutter.deleted' | 'color.gutter.modified' | 'color.info' | 'color.info.soft' | 'color.minimap.bg' | 'color.minimap.error' | 'color.minimap.find.match' | 'color.minimap.selection' | 'color.minimap.warning' | 'color.progress.fill' | 'color.progress.track' | 'color.scrollarea.thumb' | 'color.scrollarea.thumb.hover' | 'color.scrollarea.track' | 'color.secondary' | 'color.secondary.soft' | 'color.state.focus.ring' | 'color.state.hover' | 'color.state.pressed' | 'color.state.selected' | 'color.success' | 'color.success.soft' | 'color.tab.active.bg' | 'color.tab.active.border' | 'color.tab.active.fg' | 'color.tab.bg' | 'color.tab.border' | 'color.tab.fg' | 'color.tab.hover.bg' | 'color.tab.hover.fg' | 'color.tab.inactive.bg' | 'color.tab.inactive.fg' | 'color.tab.modified.border' | 'color.terminal.bg' | 'color.terminal.border' | 'color.terminal.cursor' | 'color.terminal.fg' | 'color.terminal.selection.bg' | 'color.terminal.selection.fg' | 'color.warning' | 'color.warning.soft';
|
|
998
|
-
|
|
999
1000
|
export declare interface ColumnDef {
|
|
1000
1001
|
/** Unique column identifier, used for Cell matching and sort callbacks */
|
|
1001
1002
|
id: string;
|
|
@@ -1376,6 +1377,8 @@ export declare interface ContextMenuTriggerProps extends Omit<ComponentPropsWith
|
|
|
1376
1377
|
|
|
1377
1378
|
export declare function createThemeRegistry(): ThemeRegistry;
|
|
1378
1379
|
|
|
1380
|
+
export declare function createThemeRootApplier(root: HTMLElement): ThemeRootApplier;
|
|
1381
|
+
|
|
1379
1382
|
export declare const DataTable: DataTableCompound;
|
|
1380
1383
|
|
|
1381
1384
|
declare const DataTableBody: ForwardRefExoticComponent<DataTableBodyProps & RefAttributes<HTMLTableSectionElement>>;
|
|
@@ -2346,6 +2349,8 @@ declare const InputRoot: ForwardRefExoticComponent<Omit<InputRootProps, "ref"> &
|
|
|
2346
2349
|
export declare interface InputRootProps extends Field.Root.Props, StyledComponentProps {
|
|
2347
2350
|
}
|
|
2348
2351
|
|
|
2352
|
+
export declare function isBuiltInThemeId(id: string): id is BuiltInThemeId;
|
|
2353
|
+
|
|
2349
2354
|
/** True if the `year` is a leap year (Gregorian calendar). */
|
|
2350
2355
|
export declare function isLeapYear(year: number): boolean;
|
|
2351
2356
|
|
|
@@ -2943,6 +2948,10 @@ export declare interface RadioRootProps extends Omit<ComponentPropsWithoutRef<ty
|
|
|
2943
2948
|
value: string;
|
|
2944
2949
|
}
|
|
2945
2950
|
|
|
2951
|
+
export declare interface RegisteredTheme extends ThemeSummary {
|
|
2952
|
+
definition: ThemeDefinition;
|
|
2953
|
+
}
|
|
2954
|
+
|
|
2946
2955
|
export declare type ReorderMeta = {
|
|
2947
2956
|
id: TabId;
|
|
2948
2957
|
from: number;
|
|
@@ -3670,6 +3679,8 @@ export declare interface StyledComponentProps {
|
|
|
3670
3679
|
size?: ComponentSize;
|
|
3671
3680
|
}
|
|
3672
3681
|
|
|
3682
|
+
declare type SupportsColor = (value: string) => boolean;
|
|
3683
|
+
|
|
3673
3684
|
export declare type SurfaceElevation = 0 | 1 | 2 | 3;
|
|
3674
3685
|
|
|
3675
3686
|
export declare type SurfaceType = 'base' | 'default' | 'raised' | 'overlay' | 'inset' | 'elevated';
|
|
@@ -3717,8 +3728,6 @@ declare const SwitchThumb: ForwardRefExoticComponent<SwitchThumbProps & RefAttri
|
|
|
3717
3728
|
export declare interface SwitchThumbProps extends Omit<ComponentPropsWithoutRef<typeof Switch_2.Thumb>, 'color'>, StyledComponentProps {
|
|
3718
3729
|
}
|
|
3719
3730
|
|
|
3720
|
-
declare type SyntaxTokenKey = 'syntax.class' | 'syntax.comment' | 'syntax.decorator' | 'syntax.function' | 'syntax.interface' | 'syntax.keyword' | 'syntax.keyword.control' | 'syntax.keyword.operator' | 'syntax.method' | 'syntax.namespace' | 'syntax.number' | 'syntax.operator' | 'syntax.parameter' | 'syntax.property' | 'syntax.punctuation' | 'syntax.regexp' | 'syntax.string' | 'syntax.string.escape' | 'syntax.style.comment' | 'syntax.style.function' | 'syntax.style.keyword' | 'syntax.style.type' | 'syntax.type' | 'syntax.variable';
|
|
3721
|
-
|
|
3722
3731
|
export declare type TabDescriptor = {
|
|
3723
3732
|
id: TabId;
|
|
3724
3733
|
title: string;
|
|
@@ -3920,8 +3929,6 @@ export declare interface TagInputProps extends Omit<HTMLAttributes<HTMLDivElemen
|
|
|
3920
3929
|
inputProps?: React.InputHTMLAttributes<HTMLInputElement>;
|
|
3921
3930
|
}
|
|
3922
3931
|
|
|
3923
|
-
declare type TerminalTokenKey = never;
|
|
3924
|
-
|
|
3925
3932
|
declare const Text_2: TextComponent;
|
|
3926
3933
|
export { Text_2 as Text }
|
|
3927
3934
|
|
|
@@ -4004,95 +4011,114 @@ declare interface TextOwnProps extends TypographyBaseProps, TruncationProps {
|
|
|
4004
4011
|
export declare type TextProps<C extends TextElement = TextElement> = PolymorphicComponentProps<C, TextOwnProps>;
|
|
4005
4012
|
|
|
4006
4013
|
export declare interface ThemeContextValue extends ThemeState {
|
|
4007
|
-
setTheme: (
|
|
4014
|
+
setTheme: (themeId: ThemeMode) => void;
|
|
4008
4015
|
setDensity: (density: ThemeDensity) => void;
|
|
4009
4016
|
setMotion: (motion: ThemeMotion) => void;
|
|
4010
4017
|
}
|
|
4011
4018
|
|
|
4012
|
-
export declare
|
|
4013
|
-
|
|
4019
|
+
export declare type ThemeDefinition = ThemeDefinitionV1;
|
|
4020
|
+
|
|
4021
|
+
export declare interface ThemeDefinitionV1 {
|
|
4022
|
+
schemaVersion: 1;
|
|
4014
4023
|
id: string;
|
|
4015
|
-
/** Human-readable display name. */
|
|
4016
4024
|
name: string;
|
|
4017
|
-
|
|
4018
|
-
base: BuiltInThemeMode;
|
|
4019
|
-
/** Optional author metadata. */
|
|
4025
|
+
base: BuiltInThemeId;
|
|
4020
4026
|
author?: string;
|
|
4021
|
-
/** Optional version string. */
|
|
4022
4027
|
version?: string;
|
|
4023
|
-
|
|
4024
|
-
|
|
4025
|
-
/** Syntax highlighting overrides. */
|
|
4026
|
-
syntax?: Partial<Record<SyntaxTokenKey, string>>;
|
|
4027
|
-
/** Terminal ANSI palette overrides. */
|
|
4028
|
-
terminal?: Partial<Record<TerminalTokenKey, string>>;
|
|
4028
|
+
description?: string;
|
|
4029
|
+
tokens: Partial<Record<ThemeTokenKey, string>>;
|
|
4029
4030
|
}
|
|
4030
4031
|
|
|
4031
4032
|
export declare type ThemeDensity = 'compact' | 'comfortable';
|
|
4032
4033
|
|
|
4033
|
-
export declare interface ThemeInfo {
|
|
4034
|
-
id: string;
|
|
4035
|
-
name: string;
|
|
4036
|
-
base: BuiltInThemeMode;
|
|
4037
|
-
builtIn: boolean;
|
|
4038
|
-
}
|
|
4039
|
-
|
|
4040
4034
|
/**
|
|
4041
4035
|
* A theme identifier. Built-in mode ids autocomplete; any registered custom
|
|
4042
4036
|
* theme id is also accepted.
|
|
4043
4037
|
*/
|
|
4044
|
-
export declare type ThemeMode =
|
|
4038
|
+
export declare type ThemeMode = BuiltInThemeId | (string & {});
|
|
4045
4039
|
|
|
4046
4040
|
export declare type ThemeMotion = 'normal' | 'reduced';
|
|
4047
4041
|
|
|
4048
|
-
export declare
|
|
4042
|
+
export declare type ThemeOwner = {
|
|
4043
|
+
kind: 'builtin';
|
|
4044
|
+
id: 'base-ui';
|
|
4045
|
+
} | {
|
|
4046
|
+
kind: 'plugin';
|
|
4047
|
+
id: string;
|
|
4048
|
+
} | {
|
|
4049
|
+
kind: 'user';
|
|
4050
|
+
id: string;
|
|
4051
|
+
};
|
|
4052
|
+
|
|
4053
|
+
export declare function ThemeProvider({ children, themeId, onThemeChange, fallbackThemeId, initialDensity, initialMotion, registry, root, }: ThemeProviderProps): JSX.Element;
|
|
4049
4054
|
|
|
4050
4055
|
export declare interface ThemeProviderProps extends PropsWithChildren {
|
|
4051
|
-
|
|
4056
|
+
themeId: string;
|
|
4057
|
+
onThemeChange?: (themeId: string) => void;
|
|
4058
|
+
fallbackThemeId?: string;
|
|
4052
4059
|
initialDensity?: ThemeDensity;
|
|
4053
4060
|
initialMotion?: ThemeMotion;
|
|
4054
|
-
|
|
4061
|
+
registry?: ThemeRegistry;
|
|
4062
|
+
root?: HTMLElement | null;
|
|
4055
4063
|
}
|
|
4056
4064
|
|
|
4057
4065
|
export declare interface ThemeRegistry {
|
|
4058
|
-
register(theme: ThemeDefinition): void;
|
|
4059
|
-
unregister(id: string):
|
|
4060
|
-
|
|
4061
|
-
|
|
4066
|
+
register(theme: ThemeDefinition, owner: ThemeOwner): () => void;
|
|
4067
|
+
unregister(id: string, owner: ThemeOwner): boolean;
|
|
4068
|
+
unregisterOwner(owner: ThemeOwner): number;
|
|
4069
|
+
get(id: string): Readonly<RegisteredTheme> | undefined;
|
|
4062
4070
|
has(id: string): boolean;
|
|
4063
|
-
|
|
4064
|
-
active(): string | null;
|
|
4071
|
+
getSnapshot(): ThemeRegistrySnapshot;
|
|
4065
4072
|
subscribe(listener: ThemeRegistryListener): () => void;
|
|
4066
4073
|
}
|
|
4067
4074
|
|
|
4068
|
-
/** Module-level singleton. */
|
|
4069
4075
|
export declare const themeRegistry: ThemeRegistry;
|
|
4070
4076
|
|
|
4071
|
-
export declare type
|
|
4072
|
-
type: 'registered';
|
|
4073
|
-
id: string;
|
|
4074
|
-
} | {
|
|
4075
|
-
type: 'unregistered';
|
|
4076
|
-
id: string;
|
|
4077
|
-
} | {
|
|
4078
|
-
type: 'applied';
|
|
4079
|
-
id: string;
|
|
4080
|
-
};
|
|
4077
|
+
export declare type ThemeRegistryListener = () => void;
|
|
4081
4078
|
|
|
4082
|
-
export declare
|
|
4079
|
+
export declare interface ThemeRegistrySnapshot {
|
|
4080
|
+
readonly themes: readonly Readonly<ThemeSummary>[];
|
|
4081
|
+
}
|
|
4082
|
+
|
|
4083
|
+
export declare interface ThemeRootApplier {
|
|
4084
|
+
apply(theme: Readonly<RegisteredTheme>): void;
|
|
4085
|
+
cleanup(): void;
|
|
4086
|
+
}
|
|
4083
4087
|
|
|
4084
4088
|
export declare interface ThemeState {
|
|
4085
|
-
|
|
4089
|
+
requestedThemeId: string;
|
|
4090
|
+
activeTheme: Readonly<ThemeSummary>;
|
|
4091
|
+
isFallback: boolean;
|
|
4086
4092
|
density: ThemeDensity;
|
|
4087
4093
|
motion: ThemeMotion;
|
|
4088
4094
|
}
|
|
4089
4095
|
|
|
4096
|
+
export declare interface ThemeSummary {
|
|
4097
|
+
id: string;
|
|
4098
|
+
name: string;
|
|
4099
|
+
base: BuiltInThemeId;
|
|
4100
|
+
appearance: 'dark' | 'light';
|
|
4101
|
+
description?: string;
|
|
4102
|
+
builtIn: boolean;
|
|
4103
|
+
owner: ThemeOwner;
|
|
4104
|
+
}
|
|
4105
|
+
|
|
4090
4106
|
export declare const ThemeSwitcher: NamedExoticComponent<ThemeSwitcherProps>;
|
|
4091
4107
|
|
|
4092
4108
|
export declare interface ThemeSwitcherProps {
|
|
4093
4109
|
className?: string;
|
|
4094
4110
|
}
|
|
4095
4111
|
|
|
4112
|
+
declare type ThemeTokenKey = 'color.accent.soft' | 'color.accent.strong' | 'color.ansi.black' | 'color.ansi.blue' | 'color.ansi.bright.black' | 'color.ansi.bright.blue' | 'color.ansi.bright.cyan' | 'color.ansi.bright.green' | 'color.ansi.bright.magenta' | 'color.ansi.bright.red' | 'color.ansi.bright.white' | 'color.ansi.bright.yellow' | 'color.ansi.cyan' | 'color.ansi.green' | 'color.ansi.magenta' | 'color.ansi.red' | 'color.ansi.white' | 'color.ansi.yellow' | 'color.bg.base' | 'color.bg.elevated' | 'color.bg.inset' | 'color.bg.surface' | 'color.bg.surface.overlay' | 'color.bg.surface.raised' | 'color.border.default' | 'color.border.focus' | 'color.border.muted' | 'color.border.strong' | 'color.brand.300' | 'color.brand.400' | 'color.brand.500' | 'color.danger' | 'color.danger.soft' | 'color.datepicker.cell.bg' | 'color.datepicker.cell.bg.hover' | 'color.datepicker.cell.bg.selected' | 'color.datepicker.cell.bg.today' | 'color.datepicker.cell.fg' | 'color.datepicker.cell.fg.disabled' | 'color.datepicker.cell.fg.other.month' | 'color.datepicker.cell.fg.selected' | 'color.datepicker.cell.fg.today' | 'color.datepicker.header.bg' | 'color.diff.insert.bg' | 'color.diff.remove.bg' | 'color.discovery' | 'color.discovery.soft' | 'color.drawer.handle' | 'color.drawer.handle.hover' | 'color.editor.bg' | 'color.editor.bracket.1' | 'color.editor.bracket.2' | 'color.editor.bracket.3' | 'color.editor.bracket.4' | 'color.editor.bracket.5' | 'color.editor.bracket.6' | 'color.editor.bracket.match.bg' | 'color.editor.bracket.match.border' | 'color.editor.cursor' | 'color.editor.fg' | 'color.editor.find.match.bg' | 'color.editor.find.match.border' | 'color.editor.find.range.bg' | 'color.editor.group.bg' | 'color.editor.group.border' | 'color.editor.group.drop.border' | 'color.editor.group.header.bg' | 'color.editor.indent.guide' | 'color.editor.indent.guide.active' | 'color.editor.line.highlight.bg' | 'color.editor.line.highlight.border' | 'color.editor.line.number' | 'color.editor.line.number.active' | 'color.editor.link' | 'color.editor.ruler' | 'color.editor.selection.bg' | 'color.editor.selection.inactive.bg' | 'color.editor.whitespace' | 'color.fg.default' | 'color.fg.disabled' | 'color.fg.inverse' | 'color.fg.muted' | 'color.fg.subtle' | 'color.gutter.added' | 'color.gutter.bg' | 'color.gutter.deleted' | 'color.gutter.modified' | 'color.info' | 'color.info.soft' | 'color.minimap.bg' | 'color.minimap.error' | 'color.minimap.find.match' | 'color.minimap.selection' | 'color.minimap.warning' | 'color.progress.fill' | 'color.progress.track' | 'color.scrollarea.thumb' | 'color.scrollarea.thumb.hover' | 'color.scrollarea.track' | 'color.secondary' | 'color.secondary.soft' | 'color.state.focus.ring' | 'color.state.hover' | 'color.state.pressed' | 'color.state.selected' | 'color.success' | 'color.success.soft' | 'color.tab.active.bg' | 'color.tab.active.border' | 'color.tab.active.fg' | 'color.tab.bg' | 'color.tab.border' | 'color.tab.fg' | 'color.tab.hover.bg' | 'color.tab.hover.fg' | 'color.tab.inactive.bg' | 'color.tab.inactive.fg' | 'color.tab.modified.border' | 'color.terminal.bg' | 'color.terminal.border' | 'color.terminal.cursor' | 'color.terminal.fg' | 'color.terminal.selection.bg' | 'color.terminal.selection.fg' | 'color.warning' | 'color.warning.soft' | 'syntax.class' | 'syntax.comment' | 'syntax.decorator' | 'syntax.function' | 'syntax.interface' | 'syntax.keyword' | 'syntax.keyword.control' | 'syntax.keyword.operator' | 'syntax.method' | 'syntax.namespace' | 'syntax.number' | 'syntax.operator' | 'syntax.parameter' | 'syntax.property' | 'syntax.punctuation' | 'syntax.regexp' | 'syntax.string' | 'syntax.string.escape' | 'syntax.style.comment' | 'syntax.style.function' | 'syntax.style.keyword' | 'syntax.style.type' | 'syntax.type' | 'syntax.variable';
|
|
4113
|
+
|
|
4114
|
+
export declare class ThemeValidationError extends Error {
|
|
4115
|
+
readonly code: ThemeValidationErrorCode;
|
|
4116
|
+
readonly path: string;
|
|
4117
|
+
constructor(code: ThemeValidationErrorCode, path: string, message: string);
|
|
4118
|
+
}
|
|
4119
|
+
|
|
4120
|
+
export declare type ThemeValidationErrorCode = 'unsupported_schema' | 'invalid_id' | 'invalid_metadata' | 'unknown_base' | 'unknown_token' | 'invalid_value' | 'duplicate_id' | 'reserved_id' | 'owner_mismatch';
|
|
4121
|
+
|
|
4096
4122
|
export declare function TimeColumns({ value, onChange, hourCycle, showSeconds, minuteStep, disabled, readOnly, className, }: TimeColumnsProps): JSX.Element;
|
|
4097
4123
|
|
|
4098
4124
|
export declare interface TimeColumnsProps {
|
|
@@ -4326,9 +4352,11 @@ declare interface TreeConfigContextValue {
|
|
|
4326
4352
|
loopFocus: boolean;
|
|
4327
4353
|
virtualized: boolean;
|
|
4328
4354
|
indentation: number;
|
|
4329
|
-
|
|
4355
|
+
indentGuide: TreeIndentGuide;
|
|
4330
4356
|
}
|
|
4331
4357
|
|
|
4358
|
+
export declare type TreeIndentGuide = 'none' | 'rail' | 'connectors';
|
|
4359
|
+
|
|
4332
4360
|
export declare interface TreeItemState {
|
|
4333
4361
|
isSelected: boolean;
|
|
4334
4362
|
isActive: boolean;
|
|
@@ -4345,6 +4373,8 @@ declare type TreeListCompound = typeof TreeListRoot & {
|
|
|
4345
4373
|
Root: typeof TreeListRoot;
|
|
4346
4374
|
Viewport: typeof TreeListViewport;
|
|
4347
4375
|
Item: typeof TreeListItem;
|
|
4376
|
+
ReorderableItem: typeof TreeListReorderableItem;
|
|
4377
|
+
ItemDragHandle: typeof TreeListItemDragHandle;
|
|
4348
4378
|
ItemIndent: typeof TreeListItemIndent;
|
|
4349
4379
|
ItemToggle: typeof TreeListItemToggle;
|
|
4350
4380
|
ItemIcon: typeof TreeListItemIcon;
|
|
@@ -4375,6 +4405,18 @@ declare interface TreeListItemBadgeProps extends HTMLAttributes<HTMLSpanElement>
|
|
|
4375
4405
|
|
|
4376
4406
|
declare const TreeListItemDescription: ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & RefAttributes<HTMLSpanElement>>;
|
|
4377
4407
|
|
|
4408
|
+
declare const TreeListItemDragHandle: ForwardRefExoticComponent<TreeListItemDragHandleProps & RefAttributes<HTMLButtonElement>>;
|
|
4409
|
+
|
|
4410
|
+
declare type TreeListItemDragHandleBaseProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'aria-label' | 'aria-labelledby' | 'type'>;
|
|
4411
|
+
|
|
4412
|
+
export declare type TreeListItemDragHandleProps = TreeListItemDragHandleBaseProps & ({
|
|
4413
|
+
'aria-label': string;
|
|
4414
|
+
'aria-labelledby'?: string;
|
|
4415
|
+
} | {
|
|
4416
|
+
'aria-label'?: string;
|
|
4417
|
+
'aria-labelledby': string;
|
|
4418
|
+
});
|
|
4419
|
+
|
|
4378
4420
|
declare const TreeListItemIcon: ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & RefAttributes<HTMLSpanElement>>;
|
|
4379
4421
|
|
|
4380
4422
|
declare const TreeListItemIndent: ForwardRefExoticComponent<TreeListItemIndentProps & RefAttributes<HTMLSpanElement>>;
|
|
@@ -4392,6 +4434,7 @@ declare const TreeListItemMeta: ForwardRefExoticComponent<HTMLAttributes<HTMLSpa
|
|
|
4392
4434
|
export declare interface TreeListItemProps extends Omit<HTMLAttributes<HTMLDivElement>, 'color'> {
|
|
4393
4435
|
itemKey: Key_3;
|
|
4394
4436
|
disabled?: boolean;
|
|
4437
|
+
selectable?: boolean;
|
|
4395
4438
|
textValue?: string;
|
|
4396
4439
|
children: ReactNode;
|
|
4397
4440
|
}
|
|
@@ -4408,6 +4451,8 @@ declare interface TreeListLoadingProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
4408
4451
|
children?: ReactNode;
|
|
4409
4452
|
}
|
|
4410
4453
|
|
|
4454
|
+
declare const TreeListReorderableItem: ForwardRefExoticComponent<TreeListItemProps & RefAttributes<HTMLDivElement>>;
|
|
4455
|
+
|
|
4411
4456
|
declare const TreeListRoot: <TItem>(props: TreeListRootProps<TItem> & {
|
|
4412
4457
|
ref?: Ref<HTMLDivElement>;
|
|
4413
4458
|
}) => ReactNode;
|
|
@@ -4419,8 +4464,15 @@ export declare interface TreeListRootProps<TItem = unknown> extends Omit<HTMLAtt
|
|
|
4419
4464
|
* An empty array `[]` means "loaded, no children" and will NOT trigger `loadChildren`. */
|
|
4420
4465
|
getChildren: (item: TItem) => readonly TItem[] | undefined;
|
|
4421
4466
|
isBranch?: (item: TItem) => boolean;
|
|
4467
|
+
/** Source-level selection eligibility, including never-mounted virtualized rows.
|
|
4468
|
+
* Returning false overrides Item selectable; Item selectable=false may further restrict it. */
|
|
4469
|
+
isItemSelectable?: (item: TItem) => boolean;
|
|
4422
4470
|
getTextValue?: (item: TItem) => string;
|
|
4423
4471
|
renderItem: (item: TItem, node: TreeNodeMeta) => ReactNode;
|
|
4472
|
+
reorderable?: boolean;
|
|
4473
|
+
order?: TreeOrder;
|
|
4474
|
+
defaultOrder?: TreeOrder;
|
|
4475
|
+
onOrderChange?: (order: TreeOrder, event: TreeReorderEvent) => void;
|
|
4424
4476
|
expandedKeys?: ReadonlySet<Key_3>;
|
|
4425
4477
|
defaultExpandedKeys?: Iterable<Key_3>;
|
|
4426
4478
|
onExpandedKeysChange?: (keys: ReadonlySet<Key_3>) => void;
|
|
@@ -4448,7 +4500,8 @@ export declare interface TreeListRootProps<TItem = unknown> extends Omit<HTMLAtt
|
|
|
4448
4500
|
onFilterTextChange?: (filterText: string) => void;
|
|
4449
4501
|
filterFn?: (item: TItem, filterText: string) => boolean;
|
|
4450
4502
|
indentation?: number;
|
|
4451
|
-
|
|
4503
|
+
/** Indentation only (default), icon-centered rails, or elbow connectors. */
|
|
4504
|
+
indentGuide?: TreeIndentGuide;
|
|
4452
4505
|
loading?: boolean;
|
|
4453
4506
|
error?: ReactNode;
|
|
4454
4507
|
children?: ReactNode;
|
|
@@ -4469,6 +4522,19 @@ export declare interface TreeNodeMeta {
|
|
|
4469
4522
|
ancestorIsLast: boolean[];
|
|
4470
4523
|
}
|
|
4471
4524
|
|
|
4525
|
+
/** Sparse sibling presets; missing keys are ignored across the full entry.
|
|
4526
|
+
* Resolving a group costs O(source siblings + saved keys), without sorting.
|
|
4527
|
+
*/
|
|
4528
|
+
export declare type TreeOrder = ReadonlyMap<Key_3 | null, readonly Key_3[]>;
|
|
4529
|
+
|
|
4530
|
+
export declare interface TreeReorderEvent {
|
|
4531
|
+
activeKey: Key_3;
|
|
4532
|
+
overKey: Key_3;
|
|
4533
|
+
parentKey: Key_3 | null;
|
|
4534
|
+
fromIndex: number;
|
|
4535
|
+
toIndex: number;
|
|
4536
|
+
}
|
|
4537
|
+
|
|
4472
4538
|
declare interface TreeStore {
|
|
4473
4539
|
subscribe: (listener: () => void) => () => void;
|
|
4474
4540
|
getSnapshot: () => TreeStoreSnapshot;
|
|
@@ -4481,6 +4547,9 @@ declare interface TreeStore {
|
|
|
4481
4547
|
setLoadingKey: (key: Key_3, loading: boolean, silent?: boolean) => void;
|
|
4482
4548
|
setFlatNodes: (nodes: FlatNode[], silent?: boolean) => void;
|
|
4483
4549
|
registerTextValue: (key: Key_3, textValue: string) => void;
|
|
4550
|
+
registerSelectable: (key: Key_3, selectable: boolean) => void;
|
|
4551
|
+
setSourceNonSelectableKeys: (keys: ReadonlySet<Key_3> | undefined) => void;
|
|
4552
|
+
isSelectable: (key: Key_3) => boolean;
|
|
4484
4553
|
getTextValue: (key: Key_3) => string | undefined;
|
|
4485
4554
|
getRegisteredKeys: () => Key_3[];
|
|
4486
4555
|
/** Rebuild snapshot and notify listeners. Call from useEffect after silent updates. */
|
|
@@ -4750,12 +4819,7 @@ export declare function useTabDragBroker(): TabDragBrokerValue | null;
|
|
|
4750
4819
|
|
|
4751
4820
|
export declare function useTheme(): ThemeContextValue;
|
|
4752
4821
|
|
|
4753
|
-
|
|
4754
|
-
* React hook that returns the current list of registered themes (built-in +
|
|
4755
|
-
* custom) and re-renders the calling component whenever a theme is
|
|
4756
|
-
* registered or unregistered.
|
|
4757
|
-
*/
|
|
4758
|
-
export declare function useThemeList(): readonly ThemeInfo[];
|
|
4822
|
+
export declare function useThemeList(registry?: ThemeRegistry): readonly Readonly<ThemeSummary>[];
|
|
4759
4823
|
|
|
4760
4824
|
/** Returns the module-level theme registry singleton. */
|
|
4761
4825
|
export declare function useThemeRegistry(): ThemeRegistry;
|
|
@@ -4774,7 +4838,7 @@ export declare function useTreeConfig(): TreeConfigContextValue;
|
|
|
4774
4838
|
* Unlike useListItem, this does NOT self-register — keys come from
|
|
4775
4839
|
* the flattener, not from DOM mount.
|
|
4776
4840
|
*/
|
|
4777
|
-
export declare function useTreeItem(store: TreeStore, key: Key_3, textValue?: string): TreeItemState;
|
|
4841
|
+
export declare function useTreeItem(store: TreeStore, key: Key_3, textValue?: string, selectable?: boolean): TreeItemState;
|
|
4778
4842
|
|
|
4779
4843
|
export declare function useTreeStoreContext(): TreeStore;
|
|
4780
4844
|
|
|
@@ -4796,6 +4860,8 @@ export declare interface ValidateSectionsResult {
|
|
|
4796
4860
|
incomplete: boolean;
|
|
4797
4861
|
}
|
|
4798
4862
|
|
|
4863
|
+
export declare function validateThemeDefinition(input: unknown, supportsColor?: SupportsColor): ThemeDefinition;
|
|
4864
|
+
|
|
4799
4865
|
declare type WeekStart = 0 | 1 | 2 | 3 | 4 | 5 | 6;
|
|
4800
4866
|
|
|
4801
4867
|
export { }
|