@ethlete/components 1.0.0-next.55 → 1.0.0-next.56

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.
@@ -1193,11 +1193,16 @@ declare const normalizeEthleteMatch: (match: MatchListViewUnion) => NormalizedMa
1193
1193
 
1194
1194
  declare class FocusRingDirective {
1195
1195
  private styleManager;
1196
- disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
1196
+ /**
1197
+ * Suppresses the ring on this element. Named for the directive, not `disabled`: on a native
1198
+ * control an input called `disabled` swallows the element's own `[disabled]` binding, leaving the
1199
+ * button enabled.
1200
+ */
1201
+ focusRingDisabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
1197
1202
  protected active: _angular_core.WritableSignal<boolean>;
1198
1203
  constructor();
1199
1204
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FocusRingDirective, never>;
1200
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FocusRingDirective, "[etFocusRing]", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1205
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FocusRingDirective, "[etFocusRing]", never, { "focusRingDisabled": { "alias": "focusRingDisabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1201
1206
  }
1202
1207
 
1203
1208
  /**
@@ -3126,6 +3131,7 @@ declare class ButtonDirective {
3126
3131
  readonly IS_ANCHOR: boolean;
3127
3132
  isInactive: _angular_core.Signal<boolean>;
3128
3133
  hasProgress: _angular_core.Signal<boolean>;
3134
+ protected blockInactiveClick(event: MouseEvent): void;
3129
3135
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonDirective, never>;
3130
3136
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ButtonDirective, "[etButton]", ["etButton"], { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "pressed": { "alias": "pressed"; "required": false; "isSignal": true; }; "emitAriaPressed": { "alias": "emitAriaPressed"; "required": false; "isSignal": true; }; "progress": { "alias": "progress"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _ethlete_core.SurfaceInteractiveDirective; inputs: {}; outputs: {}; }]>;
3131
3137
  }
@@ -5028,208 +5034,770 @@ declare class ChipComponent {
5028
5034
  declare const CHIP_IMPORTS: readonly [typeof ChipComponent, typeof ChipDirective, typeof ChipRemoveDirective];
5029
5035
 
5030
5036
  /**
5031
- * Copies `text` to the clipboard on click and ticks `copied()` for `resetDelay` ms - the
5032
- * icon-swap feedback every copy button in this library wants, without each one hand-rolling its
5033
- * own reset timer. Carries no template or styling of its own; compose it with `et-icon-button` (or
5034
- * any other button) and swap the icon off `copied()`:
5037
+ * The palette's search field. Writes what the reader types into the palette's `query`, and hands the
5038
+ * keys that move between rows to the palette while keeping normal text editing for the rest.
5035
5039
  *
5036
5040
  * @example
5037
- * <button [text]="jsonText" et-icon-button etCopyButton #copyBtn="etCopyButton" type="button" (copySuccess)="onCopy()">
5038
- * @if (copyBtn.copied()) {
5039
- * <i etIcon="et-check"></i>
5040
- * } @else {
5041
- * <i etIcon="et-clipboard-check"></i>
5042
- * }
5043
- * </button>
5041
+ * <input etCommandPaletteSearch />
5044
5042
  */
5045
- declare class CopyButtonDirective {
5046
- /** The value to copy, or a getter for it - a getter avoids re-serializing on every change detection. */
5047
- text: _angular_core.InputSignal<string | (() => string)>;
5048
- /** How long `copied()` stays `true` after a successful copy. */
5049
- resetDelay: _angular_core.InputSignalWithTransform<number, unknown>;
5050
- /** Fires once the value has actually reached the clipboard. */
5051
- copySuccess: _angular_core.OutputEmitterRef<void>;
5052
- copied: _angular_core.WritableSignal<boolean>;
5053
- private reset$;
5043
+ declare class CommandPaletteSearchDirective {
5044
+ private palette;
5045
+ elementRef: ElementRef<HTMLInputElement>;
5054
5046
  constructor();
5055
- requestCopy(): void;
5056
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<CopyButtonDirective, never>;
5057
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CopyButtonDirective, "[etCopyButton]", ["etCopyButton"], { "text": { "alias": "text"; "required": false; "isSignal": true; }; "resetDelay": { "alias": "resetDelay"; "required": false; "isSignal": true; }; }, { "copySuccess": "copySuccess"; }, never, never, true, never>;
5047
+ focus(options?: {
5048
+ select?: boolean;
5049
+ }): void;
5050
+ protected activeDescendantId(): string | null;
5051
+ protected listboxId(): string | null;
5052
+ protected handleInput(): void;
5053
+ protected handleKeydown(event: KeyboardEvent): void;
5054
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CommandPaletteSearchDirective, never>;
5055
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CommandPaletteSearchDirective, "input[etCommandPaletteSearch]", ["etCommandPaletteSearch"], {}, {}, never, never, true, never>;
5058
5056
  }
5059
5057
 
5060
- declare const COPY_BUTTON_IMPORTS: readonly [typeof CopyButtonDirective];
5061
-
5062
- declare const DESCRIPTION_LIST_VARIANTS: {
5063
- readonly INLINE: "inline";
5064
- readonly STACKED: "stacked";
5058
+ type IconDefinition = {
5059
+ name: string;
5060
+ /**
5061
+ * Optional style variant (e.g. `'solid'`, `'light'`, `'regular'`). Lets the same icon
5062
+ * `name` exist in several styles without encoding the style into the name. Icons
5063
+ * registered without a variant are matched by their bare name.
5064
+ */
5065
+ variant?: string;
5066
+ data: string;
5065
5067
  };
5066
- type DescriptionListVariant = (typeof DESCRIPTION_LIST_VARIANTS)[keyof typeof DESCRIPTION_LIST_VARIANTS];
5067
- /**
5068
- * Styles a native `<dl>` for term/detail rows - CSS grid auto-placement pairs each `<dt>`/`<dd>`
5069
- * into its own row, so plain semantic markup is all a consumer writes; there is no term/detail
5070
- * wrapper component to reach for.
5071
- *
5072
- * `variant="inline"` (the default) puts the term beside its detail in two columns;
5073
- * `variant="stacked"` puts it above, in one column.
5074
- *
5075
- * @example
5076
- * <dl et-description-list>
5077
- * <dt>Name</dt>
5078
- * <dd>Jane Doe</dd>
5079
- * <dt>Email</dt>
5080
- * <dd>jane&#64;example.com</dd>
5081
- * </dl>
5082
- */
5083
- declare class DescriptionListComponent {
5084
- variant: _angular_core.InputSignal<DescriptionListVariant>;
5085
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DescriptionListComponent, never>;
5086
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DescriptionListComponent, "dl[et-description-list]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
5087
- }
5088
-
5089
- declare const DESCRIPTION_LIST_IMPORTS: readonly [typeof DescriptionListComponent];
5090
-
5091
- type DividerOrientation = 'horizontal' | 'vertical';
5092
5068
  /**
5093
- * A thin rule between two groups of content or controls, announced as a separator.
5094
- *
5095
- * A `vertical` divider sizes itself from its parent's cross axis, so it needs a flex or grid parent
5096
- * (or an explicit `block-size`) to be visible. Set `decorative` when the grouping is already clear
5097
- * from the surrounding markup - the rule then carries no semantics at all.
5098
- *
5099
- * @example
5100
- * <et-divider />
5069
+ * Augmentable registry for the literal set of icon names an app uses. Empty by default,
5070
+ * which keeps `etIcon` typed as plain `string`. The `@ethlete/components:icons` generator
5071
+ * writes an augmentation for this interface, or you can augment it manually:
5101
5072
  *
5102
- * @example
5103
- * <div class="flex items-center">
5104
- * <button et-button>Save</button>
5105
- * <et-divider orientation="vertical" decorative />
5106
- * <button et-button>Discard</button>
5107
- * </div>
5073
+ * ```ts
5074
+ * declare module '@ethlete/components' {
5075
+ * interface EthleteIconNameRegistry {
5076
+ * name: 'shield' | 'plus';
5077
+ * }
5078
+ * }
5079
+ * ```
5108
5080
  */
5109
- declare class DividerComponent {
5110
- orientation: _angular_core.InputSignal<DividerOrientation>;
5111
- decorative: _angular_core.InputSignalWithTransform<boolean, unknown>;
5112
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<DividerComponent, never>;
5113
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DividerComponent, "et-divider", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "decorative": { "alias": "decorative"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
5081
+ interface EthleteIconNameRegistry {
5114
5082
  }
5115
-
5116
- declare const DIVIDER_IMPORTS: readonly [typeof DividerComponent];
5117
-
5118
5083
  /**
5119
- * A placeholder for a section or page that currently has nothing to show - no results, an empty
5120
- * list, a not-yet-configured feature. Project an icon via `[etIcon]`, set `title`/`description`,
5121
- * and project an action (e.g. a button) via `[etEmptyStateAction]`.
5122
- *
5123
- * @example
5124
- * <et-empty-state heading="No results" description="Try a different search term.">
5125
- * <i etIcon="et-file"></i>
5126
- * <button et-button etEmptyStateAction type="button">Clear filters</button>
5127
- * </et-empty-state>
5084
+ * Augmentable registry for the literal set of icon variants an app uses. Empty by default,
5085
+ * which keeps the `variant` input typed as plain `string`. See {@link EthleteIconNameRegistry}.
5128
5086
  */
5129
- declare class EmptyStateComponent {
5130
- heading: _angular_core.InputSignal<string | undefined>;
5131
- description: _angular_core.InputSignal<string | undefined>;
5132
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<EmptyStateComponent, never>;
5133
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<EmptyStateComponent, "et-empty-state", never, { "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; }, {}, never, ["[etIcon]", "[etEmptyStateAction]"], true, never>;
5087
+ interface EthleteIconVariantRegistry {
5134
5088
  }
5135
-
5136
- declare const EMPTY_STATE_IMPORTS: readonly [typeof EmptyStateComponent];
5137
-
5089
+ type RegisteredIconName = EthleteIconNameRegistry extends {
5090
+ name: infer N extends string;
5091
+ } ? N : string;
5092
+ type RegisteredIconVariant = EthleteIconVariantRegistry extends {
5093
+ name: infer V extends string;
5094
+ } ? V : string;
5095
+ /** Variant the {@link IconDirective} falls back to when `etIcon` is used without an explicit `variant`. */
5096
+ declare const DEFAULT_ICON_VARIANT = "solid";
5097
+ /** Composite registry key for an icon `name` plus an optional `variant`. */
5098
+ declare const iconRegistryKey: (name: string, variant?: string | null) => string;
5099
+ declare const ICONS_TOKEN: InjectionToken<Record<string, IconDefinition>>;
5138
5100
  /**
5139
- * What the overlay closes with. `didUpdate: false` for a dismissal - the draft is thrown away and the page's
5140
- * filters are untouched.
5101
+ * Application-level icon overrides, merged on top of the icons a component self-registers
5102
+ * via {@link provideIcons}. See {@link provideIconOverrides}.
5141
5103
  */
5142
- type FilterOverlayResult<TValue = unknown> = {
5143
- didUpdate: false;
5144
- } | {
5145
- didUpdate: true;
5146
- value: TValue;
5104
+ declare const ICON_OVERRIDES_TOKEN: InjectionToken<Record<string, IconDefinition>>;
5105
+ declare const provideIcons: (...icons: IconDefinition[]) => {
5106
+ provide: InjectionToken<Record<string, IconDefinition>>;
5107
+ useValue: Record<string, IconDefinition>;
5147
5108
  };
5148
5109
  /**
5149
- * A live count of what the draft filters would return, so the submit button can say "Show 42 results" instead of
5150
- * "Apply" and the reader can tell before committing.
5110
+ * Canonical list of the icon names the SDK ships built-in and renders from its own
5111
+ * components (select chevron, picker calendar/clock, close buttons, rich-text tools, …).
5112
+ * It's the set you can target with {@link provideIconOverrides} to swap the default artwork.
5151
5113
  *
5152
- * Built by {@link filterOverlayPreviewFromQuery} for the usual case; hand-write it when the count comes from
5153
- * somewhere other than a single query (a local collection, an aggregate of several endpoints).
5114
+ * Keep this in sync when adding or removing a built-in `et-*` icon under
5115
+ * `libs/components/src/lib/icon/headless/`.
5154
5116
  */
5155
- type FilterOverlayPreview = {
5156
- /** A count is in flight. */
5157
- loading: Signal<boolean>;
5158
- /** The count could not be established. */
5159
- hasError: Signal<boolean>;
5160
- /** How many results the draft would produce, or `null` while that is unknown. */
5161
- totalHits: Signal<number | null>;
5162
- };
5163
- /** What the submit button says and whether it can be pressed. */
5164
- type FilterOverlaySubmitButton = {
5165
- label: string;
5166
- disabled: boolean;
5167
- };
5168
- /** Everything the default submit-button resolver has to go on. */
5169
- type FilterOverlaySubmitState = {
5170
- /** `null` when the overlay has no preview at all - then there is no count to wait for. */
5171
- totalHits: number | null;
5172
- loading: boolean;
5173
- hasError: boolean;
5174
- hasPreview: boolean;
5175
- /** Counts above this are reported as "more than N", since an exact number stops being useful. */
5176
- maxCountedHits: number;
5177
- };
5178
-
5117
+ declare const ET_BUILT_IN_ICON_NAMES: readonly ["et-align-center", "et-align-justify", "et-align-left", "et-align-right", "et-arrow-out-up-right", "et-arrow-right", "et-arrow-up", "et-arrows-left-right", "et-bold", "et-calendar", "et-check", "et-chevron", "et-circle-check", "et-circle-info", "et-clipboard-check", "et-clock", "et-code", "et-code-block", "et-ellipsis", "et-ellipsis-vertical", "et-eye", "et-eye-slash", "et-eyedropper", "et-file", "et-filter", "et-floppy-disk", "et-focus-frame", "et-grid-2x2", "et-heading-1", "et-heading-2", "et-heading-3", "et-image", "et-italic", "et-link", "et-list-bulleted", "et-list-numbered", "et-location", "et-lock", "et-minus", "et-paragraph", "et-pause", "et-pencil", "et-play", "et-plus", "et-quote", "et-redo", "et-rotate-right", "et-star", "et-strikethrough", "et-table", "et-times", "et-trash", "et-triangle-exclamation", "et-trophy", "et-underline", "et-undo", "et-upload"];
5118
+ /** Union of the SDK's built-in icon names - see {@link ET_BUILT_IN_ICON_NAMES}. */
5119
+ type EtBuiltInIconName = (typeof ET_BUILT_IN_ICON_NAMES)[number];
5179
5120
  /**
5180
- * Every string the filter overlay's submit button can show. The counted ones are functions, since the number is
5181
- * the point.
5121
+ * An icon passed to {@link provideIconOverrides}. Identical to {@link IconDefinition}, but
5122
+ * `name` autocompletes to the built-in {@link EtBuiltInIconName} set (the icons worth
5123
+ * overriding) while still accepting any other string for registering brand-new names.
5182
5124
  */
5183
- type FilterOverlayLabels = {
5184
- /** While a count is in flight. */
5185
- loading: string;
5186
- /** When the count could not be established. */
5187
- error: string;
5188
- /** When the draft filters would return nothing. */
5189
- empty: string;
5190
- /** Exactly one result - worth its own string, because "Show 1 results" reads badly. */
5191
- one: string;
5192
- /** A known count. */
5193
- many: (totalHits: number) => string;
5194
- /** More results than are worth counting exactly. */
5195
- more: (maxCountedHits: number) => string;
5196
- /** When the overlay has no preview, so there is no count to report. */
5197
- apply: string;
5198
- /** The reset control. */
5199
- reset: string;
5125
+ type IconOverride = Omit<IconDefinition, 'name'> & {
5126
+ name: EtBuiltInIconName | (string & {});
5200
5127
  };
5201
- /** The built-in English labels. */
5202
- declare const DEFAULT_FILTER_OVERLAY_LABELS: FilterOverlayLabels;
5203
- /** The built-in German labels, used when the current locale is a German one. */
5204
- declare const GERMAN_FILTER_OVERLAY_LABELS: FilterOverlayLabels;
5205
- /** The label set for a locale. Anything other than English and German needs {@link provideFilterOverlayLabels}. */
5206
- declare const filterOverlayLabelsForLocale: (locale: string) => FilterOverlayLabels;
5207
5128
  /**
5208
- * Localize the filter overlay's strings below this injector, and read the set in effect here as a signal.
5209
- * Partial - what you leave out keeps the value the current locale gives it. See {@link defineLabels} for the
5210
- * shape, which every domain in this library shares.
5129
+ * Overrides the SDK's built-in icons app-wide (or for a subtree). Provide it once in your
5130
+ * application providers with icons whose `name`/`variant` match the built-ins you want to
5131
+ * replace - e.g. your own Font Awesome set generated via the `@ethlete/components:icons`
5132
+ * generator - and every component that renders that icon picks up your version, without
5133
+ * touching the component's own `provideIcons()` registration.
5211
5134
  *
5212
- * @example
5213
- * provideFilterOverlayLabels({ apply: 'Voir les résultats', reset: 'Réinitialiser' });
5214
- */
5215
- declare const provideFilterOverlayLabels: (labels: _ethlete_core.LabelsSource<FilterOverlayLabels>) => _angular_core.Provider;
5216
- declare const injectFilterOverlayLabels: () => _angular_core.Signal<FilterOverlayLabels>;
5217
- declare const FILTER_OVERLAY_LABELS: _angular_core.InjectionToken<_ethlete_core.LabelsSource<FilterOverlayLabels>>;
5218
- /**
5219
- * The submit button, worked out from the preview.
5135
+ * `name` autocompletes to the built-in {@link ET_BUILT_IN_ICON_NAMES} set, so you don't have
5136
+ * to guess which names exist; passing any other string registers a brand-new icon.
5220
5137
  *
5221
- * The button is deliberately the place the count appears: it is what the reader is about to press, so putting
5222
- * the consequence on it ("Show 42 results") lets them decide without applying first. It disables itself while a
5223
- * count is pending, when the count failed, and when the answer is zero - applying a filter that returns nothing
5224
- * is never what someone meant to do.
5138
+ * Overrides are keyed by name/variant and merged *on top of* the component-level registry,
5139
+ * so unlisted icons keep their built-in defaults.
5225
5140
  *
5226
- * An overlay with no preview has nothing to wait for and simply reads "Show results". cdk's version returned the
5227
- * *loading* state in that case, which left the button permanently disabled.
5141
+ * ```ts
5142
+ * // app.config.ts
5143
+ * providers: [
5144
+ * provideIconOverrides(
5145
+ * { name: 'et-chevron', data: myChevronSvg },
5146
+ * { name: 'et-times', data: myTimesSvg },
5147
+ * ),
5148
+ * ],
5149
+ * ```
5228
5150
  */
5229
- declare const resolveFilterOverlaySubmitButton: (state: FilterOverlaySubmitState, labels: FilterOverlayLabels) => FilterOverlaySubmitButton;
5151
+ declare const provideIconOverrides: (...icons: IconOverride[]) => {
5152
+ provide: InjectionToken<Record<string, IconDefinition>>;
5153
+ useValue: Record<string, IconDefinition>;
5154
+ };
5230
5155
 
5231
- type FilterOverlayConfig<TFields extends QueryFormFields> = {
5232
- /**
5156
+ declare const ALIGN_LEFT_ICON: IconDefinition;
5157
+ declare const ALIGN_CENTER_ICON: IconDefinition;
5158
+ declare const ALIGN_RIGHT_ICON: IconDefinition;
5159
+ declare const ALIGN_JUSTIFY_ICON: IconDefinition;
5160
+
5161
+ declare const ARROW_OUT_UP_RIGHT_ICON: IconDefinition;
5162
+
5163
+ declare const ARROW_RIGHT_ICON: IconDefinition;
5164
+
5165
+ /**
5166
+ * Upward arrow. Rotate it 180° for the downward one - see the table's sort indicator.
5167
+ *
5168
+ * Drawn to fill its viewBox and sit centred in it (the shaft spans 3.5–20.5 of 24, so the glyph's
5169
+ * midpoint is the box's). An arrow inset from its own box renders far smaller than the text it sits
5170
+ * beside, and off-centre against it, however carefully the box itself is aligned.
5171
+ */
5172
+ declare const ARROW_UP_ICON: IconDefinition;
5173
+
5174
+ /** Arrows pointing apart along the inline axis - a "fit to width" action (the table's autosize). */
5175
+ declare const ARROWS_LEFT_RIGHT_ICON: IconDefinition;
5176
+
5177
+ declare const BOLD_ICON: IconDefinition;
5178
+
5179
+ declare const CALENDAR_ICON: IconDefinition;
5180
+
5181
+ declare const CHECK_ICON: IconDefinition;
5182
+
5183
+ declare const CHEVRON_ICON: IconDefinition;
5184
+
5185
+ declare const CIRCLE_CHECK_ICON: IconDefinition;
5186
+
5187
+ declare const CIRCLE_INFO_ICON: IconDefinition;
5188
+
5189
+ declare const CLIPBOARD_CHECK_ICON: IconDefinition;
5190
+
5191
+ declare const CLOCK_ICON: IconDefinition;
5192
+
5193
+ declare const CODE_BLOCK_ICON: IconDefinition;
5194
+
5195
+ declare const CODE_ICON: IconDefinition;
5196
+
5197
+ /** Horizontal three-dot glyph - the breadcrumb's "show the hidden levels" trigger. */
5198
+ declare const ELLIPSIS_ICON: IconDefinition;
5199
+
5200
+ /** Vertical three-dot "more actions" glyph - the table's column menu trigger. */
5201
+ declare const ELLIPSIS_VERTICAL_ICON: IconDefinition;
5202
+
5203
+ declare const EYE_ICON: IconDefinition;
5204
+ declare const EYE_SLASH_ICON: IconDefinition;
5205
+
5206
+ declare const EYEDROPPER_ICON: IconDefinition;
5207
+
5208
+ declare const FILE_ICON: IconDefinition;
5209
+
5210
+ /** Funnel glyph for a column's filter menu trigger. */
5211
+ declare const FILTER_ICON: IconDefinition;
5212
+
5213
+ declare const FLOPPY_DISK_ICON: IconDefinition;
5214
+
5215
+ declare const FOCUS_FRAME_ICON: IconDefinition;
5216
+
5217
+ declare const GRID_2X2_ICON: IconDefinition;
5218
+
5219
+ declare const HEADING_1_ICON: IconDefinition;
5220
+
5221
+ declare const HEADING_2_ICON: IconDefinition;
5222
+
5223
+ declare const HEADING_3_ICON: IconDefinition;
5224
+
5225
+ declare const ICON_ERROR_CODES: {
5226
+ readonly NO_ICONS_PROVIDED: 1800;
5227
+ readonly ICON_NOT_FOUND: 1801;
5228
+ readonly INVALID_SVG: 1802;
5229
+ readonly MISSING_XMLNS: 1803;
5230
+ readonly MISSING_DIMENSIONS: 1804;
5231
+ readonly HARDCODED_COLOR: 1805;
5232
+ readonly DUPLICATE_ICON_NAME: 1806;
5233
+ };
5234
+
5235
+ declare const ICON_DIRECTIVE_TOKEN: InjectionToken<IconDirective>;
5236
+ declare class IconDirective {
5237
+ private icons;
5238
+ private iconOverrides;
5239
+ private sanitizer;
5240
+ iconNameToUse: InputSignal<RegisteredIconName>;
5241
+ variant: InputSignal<RegisteredIconVariant | undefined>;
5242
+ allowHardcodedColor: _angular_core.InputSignalWithTransform<boolean, unknown>;
5243
+ /**
5244
+ * Give the icon an accessible name, for the case where it **is** the content rather than decoration:
5245
+ * a status glyph alone in a table cell, a lone icon button's only child, a checkmark that is the
5246
+ * whole answer.
5247
+ *
5248
+ * Without it the icon is `aria-hidden` - the right default, since an icon normally sits beside the
5249
+ * text it illustrates and repeating it is noise. With it the host becomes `role="img"` with this as
5250
+ * its `aria-label`, so the meaning survives for a screen reader.
5251
+ *
5252
+ * Name what the icon **means**, not what it depicts: `'Verified'`, not `'checkmark'`.
5253
+ */
5254
+ label: InputSignal<string | null>;
5255
+ private registry;
5256
+ private resolvedIcon;
5257
+ iconSrc: _angular_core.Signal<_angular_platform_browser.SafeHtml | null>;
5258
+ hostClasses: _angular_core.Signal<string>;
5259
+ constructor();
5260
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IconDirective, never>;
5261
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IconDirective, "[etIcon]", never, { "iconNameToUse": { "alias": "etIcon"; "required": true; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "allowHardcodedColor": { "alias": "allowHardcodedColor"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
5262
+ }
5263
+
5264
+ declare const IMAGE_ICON: IconDefinition;
5265
+
5266
+ declare const ITALIC_ICON: IconDefinition;
5267
+
5268
+ declare const LINK_ICON: IconDefinition;
5269
+
5270
+ declare const LIST_BULLETED_ICON: IconDefinition;
5271
+
5272
+ declare const LIST_NUMBERED_ICON: IconDefinition;
5273
+
5274
+ declare const LOCATION_ICON: IconDefinition;
5275
+
5276
+ declare const LOCK_ICON: IconDefinition;
5277
+
5278
+ declare const MINUS_ICON: IconDefinition;
5279
+
5280
+ declare const PARAGRAPH_ICON: IconDefinition;
5281
+
5282
+ declare const PAUSE_ICON: IconDefinition;
5283
+
5284
+ declare const PENCIL_ICON: IconDefinition;
5285
+
5286
+ declare const PLAY_ICON: IconDefinition;
5287
+
5288
+ declare const PLUS_ICON: IconDefinition;
5289
+
5290
+ declare const QUOTE_ICON: IconDefinition;
5291
+
5292
+ declare const ROTATE_RIGHT_ICON: IconDefinition;
5293
+
5294
+ declare const STAR_ICON: IconDefinition;
5295
+
5296
+ declare const STRIKETHROUGH_ICON: IconDefinition;
5297
+
5298
+ declare const TABLE_ICON: IconDefinition;
5299
+
5300
+ declare const TIMES_ICON: IconDefinition;
5301
+
5302
+ declare const TRASH_ICON: IconDefinition;
5303
+
5304
+ declare const TRIANGLE_EXCLAMATION_ICON: IconDefinition;
5305
+
5306
+ declare const TROPHY_ICON: IconDefinition;
5307
+
5308
+ declare const UNDERLINE_ICON: IconDefinition;
5309
+
5310
+ declare const UNDO_ICON: IconDefinition;
5311
+ declare const REDO_ICON: IconDefinition;
5312
+
5313
+ declare const UPLOAD_ICON: IconDefinition;
5314
+
5315
+ declare const ICON_IMPORTS: readonly [typeof IconDirective];
5316
+
5317
+ /** One action the palette can find and run. */
5318
+ type CommandPaletteCommand = {
5319
+ /**
5320
+ * Identifies the command for the lifetime of its registration. Registering a second command with an
5321
+ * id that is already taken replaces the first.
5322
+ */
5323
+ id: string;
5324
+ /** What the row reads, and the text the query is matched against. */
5325
+ label: string;
5326
+ /** Heading the command is listed under. Commands without one are listed before any group. */
5327
+ group?: string;
5328
+ /** A second line on the row. Not matched against the query. */
5329
+ description?: string;
5330
+ /** Extra words the query matches, for names a reader might search by but the label does not use. */
5331
+ keywords?: string[];
5332
+ /** Rendered before the label. The name must be registered in the app, not in the palette. */
5333
+ icon?: RegisteredIconName;
5334
+ /**
5335
+ * The shortcut this command also answers to, in `et-kbd` syntax - `mod+s`, `shift+alt+up`. Printed on
5336
+ * the row as keycaps. The palette only displays it; binding it is the app's job.
5337
+ */
5338
+ shortcut?: string;
5339
+ /** A disabled command is listed, but cannot be run and is skipped by the arrow keys. */
5340
+ disabled?: boolean;
5341
+ /** Orders commands that match the query equally well, highest first. Defaults to `0`. */
5342
+ priority?: number;
5343
+ /** Run when the row is chosen. The palette closes first, so this may open another overlay. */
5344
+ run: () => void;
5345
+ };
5346
+ /** A run of the label, marked where the query matched it. */
5347
+ type CommandPaletteLabelSegment = {
5348
+ text: string;
5349
+ matched: boolean;
5350
+ };
5351
+ /** A command that matched the current query, with what it scored and how to render its label. */
5352
+ type CommandPaletteResult = {
5353
+ command: CommandPaletteCommand;
5354
+ /** Only comparable against other results for the same query. Do not persist it. */
5355
+ score: number;
5356
+ /** The whole label in order. Concatenating every `text` gives the label back. */
5357
+ segments: CommandPaletteLabelSegment[];
5358
+ };
5359
+ /** Results under one heading, in the order they should be rendered. */
5360
+ type CommandPaletteResultGroup = {
5361
+ /** `null` for the commands that declared no group. */
5362
+ label: string | null;
5363
+ results: CommandPaletteResult[];
5364
+ };
5365
+
5366
+ declare const COMMAND_PALETTE_TOKEN: InjectionToken<CommandPaletteDirective>;
5367
+ /**
5368
+ * The palette's behavior: the query, the ranked results, which row is active, and running a command.
5369
+ * Holds no visual opinion - `et-command-palette` is the rendered one.
5370
+ *
5371
+ * Commands come from {@link injectCommandPaletteRegistry}, not from this element's content.
5372
+ */
5373
+ declare class CommandPaletteDirective {
5374
+ private registry;
5375
+ private overlayRef;
5376
+ /** What the reader typed. Two-way, so a consumer can seed or clear it. */
5377
+ query: _angular_core.ModelSignal<string>;
5378
+ /** Whether choosing a command closes the palette. */
5379
+ closeOnRun: _angular_core.InputSignal<boolean>;
5380
+ private activeId;
5381
+ /** Every command the query matched, best first. */
5382
+ results: _angular_core.Signal<CommandPaletteResult[]>;
5383
+ /** The same results under their headings, for rendering. */
5384
+ groups: _angular_core.Signal<_ethlete_components.CommandPaletteResultGroup[]>;
5385
+ /**
5386
+ * The results in the order they are rendered, which is the grouped order and not the ranked one. The
5387
+ * arrow keys must walk what the reader sees, or the highlight jumps between groups.
5388
+ */
5389
+ orderedResults: _angular_core.Signal<CommandPaletteResult[]>;
5390
+ /** Results a reader can actually reach with the arrow keys. */
5391
+ enabledResults: _angular_core.Signal<CommandPaletteResult[]>;
5392
+ /** Whether anything is registered at all, which reads differently from a query matching nothing. */
5393
+ hasCommands: _angular_core.Signal<boolean>;
5394
+ /**
5395
+ * Whether any listed command carries an icon. Rows reserve the icon column together, so their labels
5396
+ * line up instead of stepping in and out as the query changes which commands have one.
5397
+ */
5398
+ hasIcons: _angular_core.Signal<boolean>;
5399
+ /**
5400
+ * The row Enter would run. Falls back to the first enabled result, so a query that filters the chosen
5401
+ * row away still has a row to run, and deleting back to it restores it.
5402
+ */
5403
+ activeResult: _angular_core.Signal<CommandPaletteResult | null>;
5404
+ /** Id of the element listing the results, so a search field can point `aria-controls` at it. */
5405
+ listboxId: string;
5406
+ /** Id of the command Enter would run, for a template marking the active row. */
5407
+ activeCommandId: _angular_core.Signal<string | null>;
5408
+ private rowIdPrefix;
5409
+ private rowIds;
5410
+ /** @internal */
5411
+ activeDescendantId: _angular_core.Signal<string | null>;
5412
+ /** @internal The id of a rendered row, for `aria-activedescendant`. */
5413
+ rowId(command: CommandPaletteCommand): string | null;
5414
+ setActive(result: CommandPaletteResult | null): void;
5415
+ /** Runs a command, and closes the palette first so the command may open an overlay of its own. */
5416
+ run(command: CommandPaletteCommand): void;
5417
+ runActive(): void;
5418
+ /** @internal Central keyboard handling for the host, the search field, and the rows. */
5419
+ handleKeydown(event: KeyboardEvent): void;
5420
+ private moveActive;
5421
+ private moveActiveTo;
5422
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CommandPaletteDirective, never>;
5423
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CommandPaletteDirective, "[etCommandPalette]", ["etCommandPalette"], { "query": { "alias": "query"; "required": false; "isSignal": true; }; "closeOnRun": { "alias": "closeOnRun"; "required": false; "isSignal": true; }; }, { "query": "queryChange"; }, never, never, true, never>;
5424
+ }
5425
+
5426
+ declare const COMMAND_PALETTE_ERROR_CODES: {
5427
+ /** `input[etCommandPaletteSearch]` was rendered outside an `[etCommandPalette]`. */
5428
+ readonly SEARCH_OUTSIDE_PALETTE: 4800;
5429
+ /** The shortcut directive was given a chord of modifiers with no key, which can never fire. */
5430
+ readonly SHORTCUT_WITHOUT_KEY: 4801;
5431
+ };
5432
+
5433
+ /**
5434
+ * One row of the command palette. Rendered by `et-command-palette` from the ranked results; there is no
5435
+ * reason to place it yourself.
5436
+ */
5437
+ declare class CommandPaletteItemComponent {
5438
+ protected palette: CommandPaletteDirective;
5439
+ private hostElement;
5440
+ result: _angular_core.InputSignal<CommandPaletteResult>;
5441
+ protected command: _angular_core.Signal<_ethlete_components.CommandPaletteCommand>;
5442
+ protected isActive: _angular_core.Signal<boolean>;
5443
+ constructor();
5444
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CommandPaletteItemComponent, never>;
5445
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CommandPaletteItemComponent, "et-command-palette-item", never, { "result": { "alias": "result"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
5446
+ }
5447
+
5448
+ /** Every string the command palette renders itself. The commands are yours. */
5449
+ type CommandPaletteLabels = {
5450
+ /** Placeholder of the search field. */
5451
+ placeholder: string;
5452
+ /** Accessible name of the search field, which has no visible label. */
5453
+ searchLabel: string;
5454
+ /** Shown in place of the list when no command matches the query. */
5455
+ empty: string;
5456
+ /** Shown in place of the list when nothing is registered at all. */
5457
+ noCommands: string;
5458
+ };
5459
+ /** The built-in English labels. */
5460
+ declare const DEFAULT_COMMAND_PALETTE_LABELS: CommandPaletteLabels;
5461
+ /** The built-in German labels, used when the current locale is a German one. */
5462
+ declare const GERMAN_COMMAND_PALETTE_LABELS: CommandPaletteLabels;
5463
+ /** The label set for a locale. Anything other than English and German needs {@link provideCommandPaletteLabels}. */
5464
+ declare const commandPaletteLabelsForLocale: (locale: string) => CommandPaletteLabels;
5465
+ /**
5466
+ * Localize the command palette's strings below this injector, and read the set in effect here as a
5467
+ * signal. Partial - what you leave out keeps the value the current locale gives it. See
5468
+ * {@link defineLabels} for the shape, which every domain in this library shares.
5469
+ *
5470
+ * @example
5471
+ * provideCommandPaletteLabels({ placeholder: 'Rechercher une commande…' });
5472
+ */
5473
+ declare const provideCommandPaletteLabels: (labels: _ethlete_core.LabelsSource<CommandPaletteLabels>) => _angular_core.Provider;
5474
+ declare const injectCommandPaletteLabels: () => _angular_core.Signal<CommandPaletteLabels>;
5475
+ declare const COMMAND_PALETTE_LABELS: _angular_core.InjectionToken<_ethlete_core.LabelsSource<CommandPaletteLabels>>;
5476
+
5477
+ /**
5478
+ * Commands to register: a plain array for a fixed set, or a signal for one that changes - a command
5479
+ * whose `disabled` or `label` depends on state needs no re-registration when read from a signal.
5480
+ */
5481
+ type CommandPaletteSource = readonly CommandPaletteCommand[] | Signal<readonly CommandPaletteCommand[]>;
5482
+ type CommandPaletteRegistration = {
5483
+ /** Removes these commands from the palette. Calling it twice is harmless. */
5484
+ destroy: () => void;
5485
+ };
5486
+ /**
5487
+ * The set of commands the palette offers. Registered from anywhere in the app, so a lazily loaded
5488
+ * feature can contribute its own; read by the palette when it opens.
5489
+ *
5490
+ * Provide it on a subtree to give that subtree its own set - otherwise there is one per application.
5491
+ * Prefer {@link registerCommands} over calling `register` here, unless the registration has to outlive
5492
+ * the component that made it.
5493
+ */
5494
+ declare const provideCommandPaletteRegistry: () => _angular_core.Provider[];
5495
+ declare const injectCommandPaletteRegistry: _ethlete_core.InjectFn<{
5496
+ /** Every registered command, de-duplicated by id. */
5497
+ commands: Signal<readonly CommandPaletteCommand[]>;
5498
+ register: (source: CommandPaletteSource) => CommandPaletteRegistration;
5499
+ /** Removes every registration. */
5500
+ clear: () => void;
5501
+ }>;
5502
+ declare const COMMAND_PALETTE_REGISTRY: _angular_core.InjectionToken<{
5503
+ /** Every registered command, de-duplicated by id. */
5504
+ commands: Signal<readonly CommandPaletteCommand[]>;
5505
+ register: (source: CommandPaletteSource) => CommandPaletteRegistration;
5506
+ /** Removes every registration. */
5507
+ clear: () => void;
5508
+ }>;
5509
+ /**
5510
+ * Registers commands for as long as the injecting component or service lives. Call it in an injection
5511
+ * context; it removes the commands again on destroy, so a lazily loaded feature's commands leave the
5512
+ * palette with it.
5513
+ *
5514
+ * @example
5515
+ * registerCommands([
5516
+ * { id: 'row.add', label: 'Add row', group: 'Rows', run: () => this.addRow() },
5517
+ * ]);
5518
+ *
5519
+ * @example
5520
+ * // A signal source keeps a command's own state current without re-registering it.
5521
+ * registerCommands(computed(() => [
5522
+ * { id: 'row.delete', label: 'Delete row', disabled: !this.selectedRow(), run: () => this.deleteRow() },
5523
+ * ]));
5524
+ */
5525
+ declare const registerCommands: (source: CommandPaletteSource) => CommandPaletteRegistration;
5526
+
5527
+ /**
5528
+ * Opens the command palette on a key chord, for as long as the host element lives, and closes it again
5529
+ * on the same chord. Put it on the application's root component; the chord is listened for on the
5530
+ * document, not on the host element.
5531
+ *
5532
+ * Opt-in on purpose: nothing in this library takes a global key without being asked. `mod` resolves to
5533
+ * Command on Apple platforms and Control everywhere else, so one chord suits both.
5534
+ *
5535
+ * @example
5536
+ * <div etCommandPaletteShortcut>…</div>
5537
+ *
5538
+ * @example
5539
+ * <div etCommandPaletteShortcut="mod+shift+p">…</div>
5540
+ */
5541
+ declare class CommandPaletteShortcutDirective {
5542
+ private document;
5543
+ private destroyRef;
5544
+ private platform;
5545
+ private palette;
5546
+ /** The chord, in `et-kbd` syntax. */
5547
+ shortcut: _angular_core.InputSignalWithTransform<string, string>;
5548
+ private openRef;
5549
+ constructor();
5550
+ toggle(): void;
5551
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CommandPaletteShortcutDirective, never>;
5552
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CommandPaletteShortcutDirective, "[etCommandPaletteShortcut]", ["etCommandPaletteShortcut"], { "shortcut": { "alias": "etCommandPaletteShortcut"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
5553
+ }
5554
+
5555
+ /**
5556
+ * The command palette: a search field over every registered command, ranked as the reader types.
5557
+ *
5558
+ * Open it as an overlay rather than placing it in a page - {@link commandPaletteOverlay} defines it as a
5559
+ * dialog, and {@link injectCommandPalette} opens that. Commands come from
5560
+ * {@link registerCommands}, not from this element's content.
5561
+ *
5562
+ * @example
5563
+ * <et-command-palette />
5564
+ */
5565
+ declare class CommandPaletteComponent {
5566
+ private ownColorProvider;
5567
+ private contextColorProvider;
5568
+ protected palette: CommandPaletteDirective;
5569
+ protected labels: _angular_core.Signal<_ethlete_components.CommandPaletteLabels>;
5570
+ private search;
5571
+ private groupIdPrefix;
5572
+ constructor();
5573
+ protected groupId(label: string): string;
5574
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CommandPaletteComponent, never>;
5575
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CommandPaletteComponent, "et-command-palette", never, {}, {}, never, never, true, [{ directive: typeof CommandPaletteDirective; inputs: { "closeOnRun": "closeOnRun"; "query": "query"; }; outputs: { "queryChange": "queryChange"; }; }, { directive: typeof _ethlete_core.ProvideColorDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.AutoSurfaceDirective; inputs: {}; outputs: {}; }]>;
5576
+ }
5577
+
5578
+ declare const COMMAND_PALETTE_IMPORTS: readonly [typeof CommandPaletteComponent, typeof CommandPaletteDirective, typeof CommandPaletteSearchDirective, typeof CommandPaletteShortcutDirective];
5579
+
5580
+ /**
5581
+ * The palette as a centered dialog. Sits high in the viewport rather than in its middle, because the
5582
+ * list grows downwards as the reader types and a middle-anchored panel would shift under them.
5583
+ */
5584
+ declare const COMMAND_PALETTE_OVERLAY: _ethlete_components.OverlayDefinition<CommandPaletteComponent, unknown>;
5585
+ /**
5586
+ * Opens the command palette. Call it in an injection context, then `open()` from a handler - or add
5587
+ * `[etCommandPaletteShortcut]` to an element and let a key chord open it.
5588
+ *
5589
+ * @example
5590
+ * private palette = injectCommandPalette();
5591
+ *
5592
+ * protected openPalette() {
5593
+ * this.palette.open();
5594
+ * }
5595
+ */
5596
+ declare const injectCommandPalette: () => _ethlete_components.OverlayOpener<CommandPaletteComponent, unknown>;
5597
+
5598
+ /**
5599
+ * Copies `text` to the clipboard on click and ticks `copied()` for `resetDelay` ms - the
5600
+ * icon-swap feedback every copy button in this library wants, without each one hand-rolling its
5601
+ * own reset timer. Carries no template or styling of its own; compose it with `et-icon-button` (or
5602
+ * any other button) and swap the icon off `copied()`:
5603
+ *
5604
+ * @example
5605
+ * <button [text]="jsonText" et-icon-button etCopyButton #copyBtn="etCopyButton" type="button" (copySuccess)="onCopy()">
5606
+ * @if (copyBtn.copied()) {
5607
+ * <i etIcon="et-check"></i>
5608
+ * } @else {
5609
+ * <i etIcon="et-clipboard-check"></i>
5610
+ * }
5611
+ * </button>
5612
+ */
5613
+ declare class CopyButtonDirective {
5614
+ /** The value to copy, or a getter for it - a getter avoids re-serializing on every change detection. */
5615
+ text: _angular_core.InputSignal<string | (() => string)>;
5616
+ /** How long `copied()` stays `true` after a successful copy. */
5617
+ resetDelay: _angular_core.InputSignalWithTransform<number, unknown>;
5618
+ /** Fires once the value has actually reached the clipboard. */
5619
+ copySuccess: _angular_core.OutputEmitterRef<void>;
5620
+ copied: _angular_core.WritableSignal<boolean>;
5621
+ private reset$;
5622
+ constructor();
5623
+ requestCopy(): void;
5624
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CopyButtonDirective, never>;
5625
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CopyButtonDirective, "[etCopyButton]", ["etCopyButton"], { "text": { "alias": "text"; "required": false; "isSignal": true; }; "resetDelay": { "alias": "resetDelay"; "required": false; "isSignal": true; }; }, { "copySuccess": "copySuccess"; }, never, never, true, never>;
5626
+ }
5627
+
5628
+ declare const COPY_BUTTON_IMPORTS: readonly [typeof CopyButtonDirective];
5629
+
5630
+ declare const DESCRIPTION_LIST_VARIANTS: {
5631
+ readonly INLINE: "inline";
5632
+ readonly STACKED: "stacked";
5633
+ };
5634
+ type DescriptionListVariant = (typeof DESCRIPTION_LIST_VARIANTS)[keyof typeof DESCRIPTION_LIST_VARIANTS];
5635
+ /**
5636
+ * Styles a native `<dl>` for term/detail rows - CSS grid auto-placement pairs each `<dt>`/`<dd>`
5637
+ * into its own row, so plain semantic markup is all a consumer writes; there is no term/detail
5638
+ * wrapper component to reach for.
5639
+ *
5640
+ * `variant="inline"` (the default) puts the term beside its detail in two columns;
5641
+ * `variant="stacked"` puts it above, in one column.
5642
+ *
5643
+ * @example
5644
+ * <dl et-description-list>
5645
+ * <dt>Name</dt>
5646
+ * <dd>Jane Doe</dd>
5647
+ * <dt>Email</dt>
5648
+ * <dd>jane&#64;example.com</dd>
5649
+ * </dl>
5650
+ */
5651
+ declare class DescriptionListComponent {
5652
+ variant: _angular_core.InputSignal<DescriptionListVariant>;
5653
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DescriptionListComponent, never>;
5654
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DescriptionListComponent, "dl[et-description-list]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
5655
+ }
5656
+
5657
+ declare const DESCRIPTION_LIST_IMPORTS: readonly [typeof DescriptionListComponent];
5658
+
5659
+ type DividerOrientation = 'horizontal' | 'vertical';
5660
+ /**
5661
+ * A thin rule between two groups of content or controls, announced as a separator.
5662
+ *
5663
+ * A `vertical` divider sizes itself from its parent's cross axis, so it needs a flex or grid parent
5664
+ * (or an explicit `block-size`) to be visible. Set `decorative` when the grouping is already clear
5665
+ * from the surrounding markup - the rule then carries no semantics at all.
5666
+ *
5667
+ * @example
5668
+ * <et-divider />
5669
+ *
5670
+ * @example
5671
+ * <div class="flex items-center">
5672
+ * <button et-button>Save</button>
5673
+ * <et-divider orientation="vertical" decorative />
5674
+ * <button et-button>Discard</button>
5675
+ * </div>
5676
+ */
5677
+ declare class DividerComponent {
5678
+ orientation: _angular_core.InputSignal<DividerOrientation>;
5679
+ decorative: _angular_core.InputSignalWithTransform<boolean, unknown>;
5680
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DividerComponent, never>;
5681
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DividerComponent, "et-divider", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "decorative": { "alias": "decorative"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
5682
+ }
5683
+
5684
+ declare const DIVIDER_IMPORTS: readonly [typeof DividerComponent];
5685
+
5686
+ /**
5687
+ * A placeholder for a section or page that currently has nothing to show - no results, an empty
5688
+ * list, a not-yet-configured feature. Project an icon via `[etIcon]`, set `title`/`description`,
5689
+ * and project an action (e.g. a button) via `[etEmptyStateAction]`.
5690
+ *
5691
+ * @example
5692
+ * <et-empty-state heading="No results" description="Try a different search term.">
5693
+ * <i etIcon="et-file"></i>
5694
+ * <button et-button etEmptyStateAction type="button">Clear filters</button>
5695
+ * </et-empty-state>
5696
+ */
5697
+ declare class EmptyStateComponent {
5698
+ heading: _angular_core.InputSignal<string | undefined>;
5699
+ description: _angular_core.InputSignal<string | undefined>;
5700
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EmptyStateComponent, never>;
5701
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EmptyStateComponent, "et-empty-state", never, { "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; }, {}, never, ["[etIcon]", "[etEmptyStateAction]"], true, never>;
5702
+ }
5703
+
5704
+ declare const EMPTY_STATE_IMPORTS: readonly [typeof EmptyStateComponent];
5705
+
5706
+ /**
5707
+ * What the overlay closes with. `didUpdate: false` for a dismissal - the draft is thrown away and the page's
5708
+ * filters are untouched.
5709
+ */
5710
+ type FilterOverlayResult<TValue = unknown> = {
5711
+ didUpdate: false;
5712
+ } | {
5713
+ didUpdate: true;
5714
+ value: TValue;
5715
+ };
5716
+ /**
5717
+ * A live count of what the draft filters would return, so the submit button can say "Show 42 results" instead of
5718
+ * "Apply" and the reader can tell before committing.
5719
+ *
5720
+ * Built by {@link filterOverlayPreviewFromQuery} for the usual case; hand-write it when the count comes from
5721
+ * somewhere other than a single query (a local collection, an aggregate of several endpoints).
5722
+ */
5723
+ type FilterOverlayPreview = {
5724
+ /** A count is in flight. */
5725
+ loading: Signal<boolean>;
5726
+ /** The count could not be established. */
5727
+ hasError: Signal<boolean>;
5728
+ /** How many results the draft would produce, or `null` while that is unknown. */
5729
+ totalHits: Signal<number | null>;
5730
+ };
5731
+ /** What the submit button says and whether it can be pressed. */
5732
+ type FilterOverlaySubmitButton = {
5733
+ label: string;
5734
+ disabled: boolean;
5735
+ };
5736
+ /** Everything the default submit-button resolver has to go on. */
5737
+ type FilterOverlaySubmitState = {
5738
+ /** `null` when the overlay has no preview at all - then there is no count to wait for. */
5739
+ totalHits: number | null;
5740
+ loading: boolean;
5741
+ hasError: boolean;
5742
+ hasPreview: boolean;
5743
+ /** Counts above this are reported as "more than N", since an exact number stops being useful. */
5744
+ maxCountedHits: number;
5745
+ };
5746
+
5747
+ /**
5748
+ * Every string the filter overlay's submit button can show. The counted ones are functions, since the number is
5749
+ * the point.
5750
+ */
5751
+ type FilterOverlayLabels = {
5752
+ /** While a count is in flight. */
5753
+ loading: string;
5754
+ /** When the count could not be established. */
5755
+ error: string;
5756
+ /** When the draft filters would return nothing. */
5757
+ empty: string;
5758
+ /** Exactly one result - worth its own string, because "Show 1 results" reads badly. */
5759
+ one: string;
5760
+ /** A known count. */
5761
+ many: (totalHits: number) => string;
5762
+ /** More results than are worth counting exactly. */
5763
+ more: (maxCountedHits: number) => string;
5764
+ /** When the overlay has no preview, so there is no count to report. */
5765
+ apply: string;
5766
+ /** The reset control. */
5767
+ reset: string;
5768
+ };
5769
+ /** The built-in English labels. */
5770
+ declare const DEFAULT_FILTER_OVERLAY_LABELS: FilterOverlayLabels;
5771
+ /** The built-in German labels, used when the current locale is a German one. */
5772
+ declare const GERMAN_FILTER_OVERLAY_LABELS: FilterOverlayLabels;
5773
+ /** The label set for a locale. Anything other than English and German needs {@link provideFilterOverlayLabels}. */
5774
+ declare const filterOverlayLabelsForLocale: (locale: string) => FilterOverlayLabels;
5775
+ /**
5776
+ * Localize the filter overlay's strings below this injector, and read the set in effect here as a signal.
5777
+ * Partial - what you leave out keeps the value the current locale gives it. See {@link defineLabels} for the
5778
+ * shape, which every domain in this library shares.
5779
+ *
5780
+ * @example
5781
+ * provideFilterOverlayLabels({ apply: 'Voir les résultats', reset: 'Réinitialiser' });
5782
+ */
5783
+ declare const provideFilterOverlayLabels: (labels: _ethlete_core.LabelsSource<FilterOverlayLabels>) => _angular_core.Provider;
5784
+ declare const injectFilterOverlayLabels: () => _angular_core.Signal<FilterOverlayLabels>;
5785
+ declare const FILTER_OVERLAY_LABELS: _angular_core.InjectionToken<_ethlete_core.LabelsSource<FilterOverlayLabels>>;
5786
+ /**
5787
+ * The submit button, worked out from the preview.
5788
+ *
5789
+ * The button is deliberately the place the count appears: it is what the reader is about to press, so putting
5790
+ * the consequence on it ("Show 42 results") lets them decide without applying first. It disables itself while a
5791
+ * count is pending, when the count failed, and when the answer is zero - applying a filter that returns nothing
5792
+ * is never what someone meant to do.
5793
+ *
5794
+ * An overlay with no preview has nothing to wait for and simply reads "Show results". cdk's version returned the
5795
+ * *loading* state in that case, which left the button permanently disabled.
5796
+ */
5797
+ declare const resolveFilterOverlaySubmitButton: (state: FilterOverlaySubmitState, labels: FilterOverlayLabels) => FilterOverlaySubmitButton;
5798
+
5799
+ type FilterOverlayConfig<TFields extends QueryFormFields> = {
5800
+ /**
5233
5801
  * The page's filter state. The overlay never edits it directly - it edits a detached branch and writes the
5234
5802
  * branch back on submit, which is what makes dismissing the overlay a discard.
5235
5803
  */
@@ -5610,6 +6178,8 @@ type FieldWarning = {
5610
6178
  type FieldWarningResult = string | FieldWarning | readonly (string | FieldWarning)[] | null | undefined;
5611
6179
  /** @internal The channel between the {@link warn} schema rule and the form field. */
5612
6180
  declare const FIELD_WARNINGS: _angular_forms_signals.MetadataKey<_angular_core.Signal<readonly FieldWarning[]>, readonly FieldWarning[], readonly FieldWarning[]>;
6181
+ /** @internal Normalizes what a `warn()` rule or a control's `warnings` input supplied. */
6182
+ declare const toFieldWarnings: (result: FieldWarningResult) => readonly FieldWarning[];
5613
6183
  /**
5614
6184
  * Schema rule attaching non-blocking warnings to a field. The bound `et-form-field` (or control that
5615
6185
  * renders its own support region) shows them in the place an error would take, in the app's
@@ -5670,6 +6240,11 @@ type FormFieldControl = {
5670
6240
  touched: Signal<boolean>;
5671
6241
  invalid: Signal<boolean>;
5672
6242
  errors: Signal<readonly ValidationError.WithOptionalFieldTree[]>;
6243
+ /**
6244
+ * Advisories the control was given directly, for a field with no signal-forms binding to carry
6245
+ * `warn()` rules. The field shows them the same way, and they never reach validity.
6246
+ */
6247
+ warnings?: Signal<FieldWarningResult>;
5673
6248
  name: Signal<string>;
5674
6249
  required?: Signal<boolean>;
5675
6250
  disabled?: Signal<boolean>;
@@ -5792,8 +6367,9 @@ declare class FormFieldDirective implements FormFieldDirectiveBase {
5792
6367
  hintId: _angular_core.Signal<string>;
5793
6368
  warningId: _angular_core.Signal<string>;
5794
6369
  /**
5795
- * The non-blocking advisories the bound field's `warn()` rules produced. They never touch
5796
- * validity - the field stays valid and submittable while one is shown.
6370
+ * The non-blocking advisories to show under the field: what the bound field's `warn()` rules
6371
+ * produced, plus what the registered control was given through its own `warnings` input. They
6372
+ * never touch validity - the field stays valid and submittable while one is shown.
5797
6373
  */
5798
6374
  warnings: _angular_core.Signal<readonly FieldWarning[]>;
5799
6375
  shouldDisplayError: _angular_core.Signal<boolean>;
@@ -6328,6 +6904,8 @@ type AnchoredPanelSurfaceLike = {
6328
6904
  type AnchoredPanelCloseInfo = {
6329
6905
  /** A deliberate pointerdown outside the panel and anchor closed it. */
6330
6906
  byOutsidePointer: boolean;
6907
+ /** Focus moved to an element outside the panel and anchor, which closed it. */
6908
+ byFocusLeave: boolean;
6331
6909
  /** The pane was presented as a bottom sheet (small viewport) when it closed. */
6332
6910
  fromBottomSheet: boolean;
6333
6911
  };
@@ -6371,7 +6949,8 @@ type CreateAnchoredPanelControllerOptions = {
6371
6949
  * overlay from a trigger (`select`, `cascader`; the date pickers use the sibling
6372
6950
  * `createDatePickerOverlay`). It owns the overlay ref, the disabled/open reconciliation effect,
6373
6951
  * the outside-pointer close (so a pointerdown on the anchor toggles instead of close-and-reopen),
6374
- * and the model sync on every interactive close. Everything control-specific - the overlay config
6952
+ * the close when focus leaves the pane (these panes are non-modal, so nothing traps Tab), and the
6953
+ * model sync on every interactive close. Everything control-specific - the overlay config
6375
6954
  * and the mount/close side effects - is supplied via the hooks. Call in an injection context.
6376
6955
  */
6377
6956
  declare const createAnchoredPanelController: (options: CreateAnchoredPanelControllerOptions) => {
@@ -6455,6 +7034,12 @@ declare abstract class TextFieldControlDirective implements FormFieldControl {
6455
7034
  hidden: _angular_core.InputSignalWithTransform<boolean, unknown>;
6456
7035
  invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
6457
7036
  errors: _angular_core.InputSignal<readonly ValidationError.WithOptionalFieldTree[]>;
7037
+ /**
7038
+ * Non-blocking advisories to show under the field, for a control that is not bound to a
7039
+ * signal-forms field (which would carry them through `warn()` rules instead). A bare string is
7040
+ * one advisory; `null` is none. They never reach validity - the field stays valid and submittable.
7041
+ */
7042
+ warnings: _angular_core.InputSignal<FieldWarningResult>;
6458
7043
  required: _angular_core.InputSignalWithTransform<boolean, unknown>;
6459
7044
  name: _angular_core.InputSignal<string>;
6460
7045
  /**
@@ -6501,7 +7086,7 @@ declare abstract class TextFieldControlDirective implements FormFieldControl {
6501
7086
  activate(): void;
6502
7087
  focus(options?: FocusOptions): void;
6503
7088
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TextFieldControlDirective, never>;
6504
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TextFieldControlDirective, never, never, { "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "mixed": { "alias": "mixed"; "required": false; "isSignal": true; }; "mixedLabel": { "alias": "mixedLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "pending": { "alias": "pending"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; }, { "touched": "touchedChange"; "mixed": "mixedChange"; }, never, never, true, never>;
7089
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TextFieldControlDirective, never, never, { "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "mixed": { "alias": "mixed"; "required": false; "isSignal": true; }; "mixedLabel": { "alias": "mixedLabel"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "hidden": { "alias": "hidden"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "warnings": { "alias": "warnings"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "maxLength": { "alias": "maxLength"; "required": false; "isSignal": true; }; "pending": { "alias": "pending"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; "isSignal": true; }; }, { "touched": "touchedChange"; "mixed": "mixedChange"; }, never, never, true, never>;
6505
7090
  }
6506
7091
 
6507
7092
  /** A single entry in a cascader's hierarchy. `T` is the consumer's value type. */
@@ -7287,6 +7872,61 @@ declare class HintComponent implements HintComponentBase {
7287
7872
 
7288
7873
  declare const CHOICE_FIELD_IMPORTS: readonly [typeof ChoiceFieldComponent, typeof FormFieldDirective, typeof LabelDirective, typeof HintComponent];
7289
7874
 
7875
+ declare const COLOR_INPUT_ERROR_CODES: {
7876
+ readonly TRIGGER_OUTSIDE_COLOR_INPUT: 4700;
7877
+ readonly SURFACE_OUTSIDE_COLOR_INPUT: 4701;
7878
+ readonly AREA_OUTSIDE_COLOR_INPUT: 4702;
7879
+ readonly TRACK_OUTSIDE_COLOR_INPUT: 4703;
7880
+ readonly MISSING_SURFACE: 4704;
7881
+ };
7882
+
7883
+ /** The strings the color picker panel renders itself. */
7884
+ type ColorInputLabels = {
7885
+ /** Accessible name of the picker overlay. */
7886
+ dialog: string;
7887
+ /** Accessible name of the button that opens the picker. */
7888
+ pickerTrigger: string;
7889
+ /** Accessible name of the two-dimensional saturation and brightness surface. */
7890
+ area: string;
7891
+ /** Accessible name of the saturation slider inside that surface. */
7892
+ saturation: string;
7893
+ /** Accessible name of the brightness slider inside that surface. */
7894
+ brightness: string;
7895
+ /** Accessible name of the hue track. */
7896
+ hue: string;
7897
+ /** Accessible name of the opacity track. */
7898
+ alpha: string;
7899
+ /** Accessible name of the color entry field inside the panel. */
7900
+ value: string;
7901
+ /** Name of the hex notation - the panel shows it beside the entry field. */
7902
+ hex: string;
7903
+ /** Name of the `rgb()` notation. */
7904
+ rgb: string;
7905
+ /** Name of the `hsl()` notation. */
7906
+ hsl: string;
7907
+ /** Accessible name of the button that switches the entry field to the next notation. */
7908
+ notation: (currentNotation: string) => string;
7909
+ /** Advisory shown under the entry field after an entry in another notation was converted. */
7910
+ notationConverted: (targetNotation: string) => string;
7911
+ /** Accessible name of the preset swatch group. */
7912
+ swatches: string;
7913
+ /** Accessible name of the button that samples a color from the screen. */
7914
+ eyedropper: string;
7915
+ };
7916
+ /** The built-in English labels. */
7917
+ declare const DEFAULT_COLOR_INPUT_LABELS: ColorInputLabels;
7918
+ /**
7919
+ * Localize the color picker's strings for everything below this injector, and read the set in
7920
+ * effect here as a signal. Partial - whatever you leave out keeps its
7921
+ * {@link DEFAULT_COLOR_INPUT_LABELS} value.
7922
+ *
7923
+ * @example
7924
+ * provideColorInputLabels({ hue: 'Farbton', hex: 'Hex' });
7925
+ */
7926
+ declare const provideColorInputLabels: (labels: _ethlete_core.LabelsSource<ColorInputLabels>) => _angular_core.Provider;
7927
+ declare const injectColorInputLabels: () => _angular_core.Signal<ColorInputLabels>;
7928
+ declare const COLOR_INPUT_LABELS: _angular_core.InjectionToken<_ethlete_core.LabelsSource<ColorInputLabels>>;
7929
+
7290
7930
  /** The path type `validate` accepts for a color field. Derived so we don't depend on a non-exported
7291
7931
  * path type name from `@angular/forms/signals`. */
7292
7932
  type ColorFieldPath = Parameters<typeof validate<string | null>>[0];
@@ -7407,59 +8047,241 @@ declare const rgbColor: (path: ColorFieldPath, { allowAlpha, message }?: RgbColo
7407
8047
  */
7408
8048
  declare const colorContrast: (path: ColorFieldPath, { against, min, severity, message }: ColorContrastOptions) => void;
7409
8049
 
8050
+ declare const COLOR_NOTATIONS: {
8051
+ readonly HEX: "hex";
8052
+ readonly RGB: "rgb";
8053
+ readonly HSL: "hsl";
8054
+ };
8055
+ /**
8056
+ * A notation the color picker can display and read. It never changes what the control emits - the
8057
+ * value stays lowercase hex (`#rrggbb`, `#rrggbbaa` with `alpha`) in every notation.
8058
+ */
8059
+ type ColorNotation = (typeof COLOR_NOTATIONS)[keyof typeof COLOR_NOTATIONS];
8060
+ /** The order the picker offers notations in, and the default set. */
8061
+ declare const COLOR_NOTATION_ORDER: readonly ["hex", "rgb", "hsl"];
8062
+
8063
+ /** An HSV color. `hue` is 0-360; `saturation`, `value` and `alpha` are 0-1. */
8064
+ type HsvColor = {
8065
+ hue: number;
8066
+ saturation: number;
8067
+ value: number;
8068
+ alpha: number;
8069
+ };
8070
+
8071
+ type ColorInputTriggerBase = {
8072
+ elementRef: {
8073
+ nativeElement: HTMLElement;
8074
+ };
8075
+ };
8076
+ type ColorInputSurfaceBase = {
8077
+ templateRef: TemplateRef<ColorInputSurfaceContext>;
8078
+ };
8079
+ /** Context of the template rendered inside the picker overlay pane. */
8080
+ type ColorInputSurfaceContext = {
8081
+ $implicit: ColorInputDirective;
8082
+ close: () => void;
8083
+ };
8084
+ declare const COLOR_INPUT_TOKEN: InjectionToken<ColorInputDirective>;
7410
8085
  declare class ColorInputDirective extends TextFieldControlDirective implements FormValueControl<string | null> {
7411
- /** Hex color in `#rrggbb` notation, or `null` when nothing was picked yet. */
8086
+ private ownFormField;
8087
+ /** Hex color in `#rrggbb` notation - `#rrggbbaa` while `alpha` is on - or `null` when nothing was picked yet. */
7412
8088
  value: _angular_core.ModelSignal<string | null>;
7413
- hasValue: _angular_core.Signal<boolean>;
7414
8089
  /**
7415
- * `<input type="color">` ignores the native `readonly` attribute (spec), so the surface gates
7416
- * interaction on this instead - the component blocks the picker-opening events while it's false,
7417
- * and the value sync no-ops as a backstop.
8090
+ * Adds an opacity track to the picker and widens the emitted value to `#rrggbbaa`. Pair it with
8091
+ * `hexColor({ allowAlpha: true })` if the field is validated.
8092
+ */
8093
+ alpha: _angular_core.InputSignalWithTransform<boolean, unknown>;
8094
+ /**
8095
+ * Preset colors offered in the picker, in any notation the color validators accept. An entry that
8096
+ * cannot be read is dropped rather than rendered as a broken swatch.
8097
+ */
8098
+ swatches: _angular_core.InputSignal<readonly string[]>;
8099
+ /**
8100
+ * The notations the picker's entry field offers, in the order its switch cycles through them.
8101
+ * More than one shows the switch; exactly one pins the field to that notation, and an entry in
8102
+ * another notation is converted to it with an advisory under the field. The emitted `value` is
8103
+ * always hex, whatever the field displays.
7418
8104
  */
8105
+ notations: _angular_core.InputSignal<readonly ColorNotation[]>;
8106
+ /** Whether the picker overlay is open. */
8107
+ pickerOpen: _angular_core.ModelSignal<boolean>;
8108
+ hasValue: _angular_core.Signal<boolean>;
8109
+ /** Whether the control accepts a new color - the picker refuses to open while it does not. */
7419
8110
  interactive: _angular_core.Signal<boolean>;
7420
8111
  /**
7421
- * The color the native input currently paints - `#000000` until a value is picked, and
7422
- * while mixed (the picker must not preselect and thereby reveal the hidden raw color).
8112
+ * The color the picker and the field preview paint - black until a value is picked, and while
8113
+ * mixed (the picker must not preselect and thereby reveal the hidden raw color).
7423
8114
  */
7424
8115
  resolvedColor: _angular_core.Signal<string>;
7425
8116
  /** The color the swatch paints - `null` while mixed so the CSS neutral treatment takes over. */
7426
8117
  swatchColor: _angular_core.Signal<string | null>;
7427
8118
  /** The text the value slot renders - `mixedLabel` while mixed, never the hidden raw color. */
7428
8119
  displayValue: _angular_core.Signal<string>;
7429
- controlType: _angular_core.WritableSignal<"color-input">;
7430
8120
  /**
7431
- * The native color input this directive controls. Set automatically when the
7432
- * directive is placed on an `<input>` element; otherwise the hosting component
7433
- * registers it.
8121
+ * The presets that could be read, as canonical hex - so a color given twice in two notations
8122
+ * renders one swatch, and the panel can compare a swatch against the current value directly.
7434
8123
  */
7435
- nativeControl: _angular_core.WritableSignal<HTMLInputElement | null>;
7436
- constructor();
8124
+ resolvedSwatches: _angular_core.Signal<string[]>;
7437
8125
  /**
7438
- * @internal Routes a picked color from the native input into the model. Picking is the
7439
- * commit over a mixed state: it replaces the raw value and resolves `mixed`.
8126
+ * The notations the panel actually offers: the given ones, deduplicated, with anything the picker
8127
+ * cannot read dropped. An empty result falls back to hex.
7440
8128
  */
7441
- syncFromNativeInput(inputElement: HTMLInputElement): void;
8129
+ resolvedNotations: _angular_core.Signal<readonly [ColorNotation, ...ColorNotation[]]>;
8130
+ controlType: _angular_core.WritableSignal<"color-input">;
8131
+ /** @internal */
8132
+ registeredTrigger: _angular_core.WritableSignal<ColorInputTriggerBase | null>;
8133
+ /** @internal */
8134
+ registeredSurface: _angular_core.WritableSignal<ColorInputSurfaceBase | null>;
8135
+ /** @internal The picker's working color. See {@link createColorPickerState} for why it exists. */
8136
+ picker: {
8137
+ hsv: _angular_core.Signal<HsvColor>;
8138
+ setHue: (hue: number) => void;
8139
+ setSaturationAndValue: (saturation: number, value: number) => void;
8140
+ setAlpha: (alpha: number) => void;
8141
+ commitColor: (color: string | null) => boolean;
8142
+ };
8143
+ private overlay;
8144
+ openPicker(): void;
8145
+ closePicker(): void;
8146
+ togglePicker(): void;
8147
+ /**
8148
+ * The pane anchors to the whole field, not to the trigger inside it - otherwise it opens over the
8149
+ * field's own lower edge. It doubles as the region whose pointerdowns toggle instead of close.
8150
+ */
8151
+ private resolveAnchorElement;
7442
8152
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ColorInputDirective, never>;
7443
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ColorInputDirective, "[etColorInput]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, never, true, never>;
8153
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ColorInputDirective, "[etColorInput]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "alpha": { "alias": "alpha"; "required": false; "isSignal": true; }; "swatches": { "alias": "swatches"; "required": false; "isSignal": true; }; "notations": { "alias": "notations"; "required": false; "isSignal": true; }; "pickerOpen": { "alias": "pickerOpen"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "pickerOpen": "pickerOpenChange"; }, never, never, true, never>;
8154
+ }
8155
+
8156
+ /**
8157
+ * The two-dimensional saturation and brightness surface of a color picker: saturation along the
8158
+ * inline axis, brightness up the block axis. Owns the pointer drag; the keyboard path belongs to the
8159
+ * two range inputs the panel places inside it, which is also what makes the surface accessible.
8160
+ */
8161
+ declare class ColorPickerAreaDirective {
8162
+ private colorInput;
8163
+ private elementRef;
8164
+ private destroyRef;
8165
+ /** The fully saturated color at the current hue - the gradient's own corner stop. */
8166
+ hueColor: _angular_core.Signal<string>;
8167
+ saturationPercent: _angular_core.Signal<number>;
8168
+ brightnessPercent: _angular_core.Signal<number>;
8169
+ constructor();
8170
+ protected handlePointerDown(event: PointerEvent): void;
8171
+ private applyGesture;
8172
+ private commitFromPosition;
8173
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ColorPickerAreaDirective, never>;
8174
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ColorPickerAreaDirective, "[etColorPickerArea]", ["etColorPickerArea"], {}, {}, never, never, true, never>;
8175
+ }
8176
+
8177
+ type ColorPickerChannel = 'saturation' | 'brightness' | 'hue' | 'alpha';
8178
+ type ChannelConfig = {
8179
+ max: number;
8180
+ unit: string;
8181
+ };
8182
+ /**
8183
+ * Binds a native range input to one channel of the picker's color. The input carries the whole
8184
+ * keyboard and touch story - arrow keys, `Home`, `End`, page keys and the platform's own touch
8185
+ * handling - which is why every picker surface is built around one instead of a custom widget.
8186
+ *
8187
+ * Stretch the input over its track and hide it visually, and the same input becomes the track's
8188
+ * pointer handling too. The area is the exception: two channels cannot share one pointer, so its
8189
+ * inputs take no pointer events and `etColorPickerArea` drives the drag.
8190
+ */
8191
+ declare class ColorPickerChannelDirective {
8192
+ /** @internal */
8193
+ colorInput: _ethlete_components.ColorInputDirective | null;
8194
+ private elementRef;
8195
+ channel: _angular_core.InputSignal<ColorPickerChannel>;
8196
+ protected config: _angular_core.Signal<ChannelConfig>;
8197
+ protected value: _angular_core.Signal<number>;
8198
+ protected valueText: _angular_core.Signal<string>;
8199
+ constructor();
8200
+ protected commit(event: Event): void;
8201
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ColorPickerChannelDirective, never>;
8202
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ColorPickerChannelDirective, "input[etColorPickerChannel]", ["etColorPickerChannel"], { "channel": { "alias": "etColorPickerChannel"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
8203
+ }
8204
+
8205
+ /** The template rendered inside a color control's picker overlay pane. */
8206
+ declare class ColorPickerSurfaceDirective {
8207
+ private colorInput;
8208
+ templateRef: TemplateRef<ColorInputSurfaceContext>;
8209
+ private readonly hostElement;
8210
+ constructor();
8211
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ColorPickerSurfaceDirective, never>;
8212
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ColorPickerSurfaceDirective, "ng-template[etColorPickerSurface]", ["etColorPickerSurface"], {}, {}, never, never, true, never>;
8213
+ }
8214
+
8215
+ /** The button that opens a color control's picker overlay, and the field's single tab stop. */
8216
+ declare class ColorPickerTriggerDirective {
8217
+ /** @internal */
8218
+ colorInput: _ethlete_components.ColorInputDirective | null;
8219
+ elementRef: ElementRef<HTMLButtonElement>;
8220
+ constructor();
8221
+ protected handleFocus(): void;
8222
+ protected handleBlur(): void;
8223
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ColorPickerTriggerDirective, never>;
8224
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ColorPickerTriggerDirective, "button[etColorPickerTrigger]", ["etColorPickerTrigger"], {}, {}, never, never, true, never>;
7444
8225
  }
7445
8226
 
7446
8227
  declare class ColorInputComponent {
7447
8228
  protected colorInputDir: ColorInputDirective;
7448
- private nativeInput;
7449
- constructor();
7450
- syncNativeValue(event: Event): void;
7451
- /**
7452
- * `<input type="color">` ignores `readonly`, so we stop the events that open the OS picker
7453
- * (pointer + Enter/Space) while the control is read-only - keeping it focusable but inert,
7454
- * like every sibling control honors `readonly`.
7455
- */
7456
- protected blockWhenReadonly(event: Event): void;
8229
+ labels: _angular_core.Signal<_ethlete_components.ColorInputLabels>;
8230
+ /** The accessible name of the trigger, unless the consumer supplied one. */
8231
+ protected fallbackTriggerLabel: _angular_core.Signal<string | null>;
7457
8232
  focus(options?: FocusOptions): void;
7458
8233
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ColorInputComponent, never>;
7459
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ColorInputComponent, "et-color-input", never, {}, {}, never, never, true, [{ directive: typeof ColorInputDirective; inputs: { "value": "value"; "mixed": "mixed"; "touched": "touched"; "mixedLabel": "mixedLabel"; "disabled": "disabled"; "readonly": "readonly"; "hidden": "hidden"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; "maxLength": "maxLength"; "pending": "pending"; "aria-label": "aria-label"; "aria-labelledby": "aria-labelledby"; }; outputs: { "valueChange": "valueChange"; "mixedChange": "mixedChange"; "touchedChange": "touchedChange"; }; }, { directive: typeof _ethlete_core.ColorInteractiveDirective; inputs: {}; outputs: {}; }]>;
8234
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ColorInputComponent, "et-color-input", never, {}, {}, never, never, true, [{ directive: typeof ColorInputDirective; inputs: { "value": "value"; "mixed": "mixed"; "touched": "touched"; "mixedLabel": "mixedLabel"; "disabled": "disabled"; "readonly": "readonly"; "hidden": "hidden"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; "maxLength": "maxLength"; "pending": "pending"; "alpha": "alpha"; "swatches": "swatches"; "notations": "notations"; "pickerOpen": "pickerOpen"; "aria-label": "aria-label"; "aria-labelledby": "aria-labelledby"; }; outputs: { "valueChange": "valueChange"; "mixedChange": "mixedChange"; "touchedChange": "touchedChange"; "pickerOpenChange": "pickerOpenChange"; }; }, { directive: typeof _ethlete_core.ColorInteractiveDirective; inputs: {}; outputs: {}; }]>;
8235
+ }
8236
+
8237
+ declare class ColorPickerPanelComponent {
8238
+ protected colorInput: _ethlete_components.ColorInputDirective;
8239
+ protected labels: _angular_core.Signal<_ethlete_components.ColorInputLabels>;
8240
+ private destroyRef;
8241
+ private documentRef;
8242
+ private panelBody;
8243
+ protected showEyeDropper: boolean;
8244
+ /** The picked color in the notation the control emits - what the field shows and the swatch paints. */
8245
+ protected canonicalHex: _angular_core.Signal<string>;
8246
+ /** The picked color at full opacity - the area thumb and the alpha gradient both need it. */
8247
+ protected opaqueHex: _angular_core.Signal<string>;
8248
+ /**
8249
+ * The notation the entry field displays. It starts on the notation the bound value is written in
8250
+ * when the panel offers that one, so opening the picker over an `rgb()` value shows `rgb()`.
8251
+ * Only the offered set re-seeds it - committing writes hex back to the value, which would
8252
+ * otherwise pull the display back to hex after every entry.
8253
+ */
8254
+ protected notation: _angular_core.WritableSignal<ColorNotation>;
8255
+ /** The picked color in the notation the field displays. */
8256
+ private displayColor;
8257
+ /**
8258
+ * What the entry field shows: the picked color in the displayed notation, except while the user
8259
+ * types in it. Every pick elsewhere in the panel resets it, so the field follows the area, the
8260
+ * tracks and the swatches.
8261
+ */
8262
+ protected colorDraft: _angular_core.WritableSignal<string>;
8263
+ /**
8264
+ * The advisory under the entry field after an entry in a notation the panel does not offer was
8265
+ * converted. Any later change to the picked color drops it.
8266
+ */
8267
+ protected notationWarning: _angular_core.WritableSignal<string | null>;
8268
+ /** The name the switch shows, and the accessible name of the entry field's notation. */
8269
+ protected notationLabel: _angular_core.Signal<string>;
8270
+ /** Whether the panel offers a choice at all - one notation pins the field and needs no switch. */
8271
+ protected canSwitchNotation: _angular_core.Signal<boolean>;
8272
+ protected huePercent: _angular_core.Signal<number>;
8273
+ protected alphaPercent: _angular_core.Signal<number>;
8274
+ constructor();
8275
+ protected commitColorDraft(): void;
8276
+ protected handleDraftInput(draft: string): void;
8277
+ protected switchNotation(): void;
8278
+ protected handleColorKeydown(event: KeyboardEvent): void;
8279
+ protected openEyeDropper(): void;
8280
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ColorPickerPanelComponent, never>;
8281
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ColorPickerPanelComponent, "et-color-picker-panel", never, {}, {}, never, never, true, [{ directive: typeof _ethlete_core.ProvideColorDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.AutoSurfaceDirective; inputs: {}; outputs: {}; }]>;
7460
8282
  }
7461
8283
 
7462
- declare const COLOR_INPUT_IMPORTS: readonly [typeof ColorInputComponent, typeof ColorInputDirective];
8284
+ declare const COLOR_INPUT_IMPORTS: readonly [typeof ColorInputComponent, typeof ColorInputDirective, typeof ColorPickerAreaDirective, typeof ColorPickerChannelDirective, typeof ColorPickerPanelComponent, typeof ColorPickerSurfaceDirective, typeof ColorPickerTriggerDirective];
7463
8285
 
7464
8286
  declare const DATE_INPUT_ERROR_CODES: {
7465
8287
  readonly FIELD_OUTSIDE_DATE_INPUT: 3000;
@@ -7608,6 +8430,13 @@ declare abstract class DatePickerInputDirective implements FormValueControl<stri
7608
8430
  /** @internal Keeps the form field in its focused style while the picker overlay is open. */
7609
8431
  expanded: Signal<boolean>;
7610
8432
  describedBy: _angular_core.WritableSignal<string | null>;
8433
+ /**
8434
+ * @internal Ids the control contributes to `aria-describedby` itself, on top of the one the form
8435
+ * field sets. Overridden by a control that renders describing text of its own.
8436
+ */
8437
+ ownDescribedBy: Signal<string | null>;
8438
+ /** @internal Everything the field's `aria-describedby` must point at, in reading order. */
8439
+ describedByIds: Signal<string | null>;
7611
8440
  /** @internal */
7612
8441
  registeredField: _angular_core.WritableSignal<DatePickerInputFieldBase | null>;
7613
8442
  /** @internal */
@@ -7895,6 +8724,11 @@ declare abstract class DateRangePickerInputDirective implements FormValueControl
7895
8724
  /** The string in effect: this instance's `mixedLabel`, else `FORM_FIELD_LABELS`. */
7896
8725
  resolvedMixedLabel: Signal<string>;
7897
8726
  effectiveValueFormat: Signal<string>;
8727
+ /**
8728
+ * The IANA zone both fields' wall clock stands for. Only the date & time range control offers
8729
+ * one; the date-only and time-only ranges leave it `null` and stay in the runtime's own zone.
8730
+ */
8731
+ effectiveTimeZone: Signal<string | null>;
7898
8732
  effectiveLocale: Signal<Locale | null>;
7899
8733
  /** The side the focused field edits - the picker previews from here too. */
7900
8734
  focusedSide: WritableSignal<DateRangeSide | null>;
@@ -7910,6 +8744,13 @@ declare abstract class DateRangePickerInputDirective implements FormValueControl
7910
8744
  endParseError: Signal<boolean>;
7911
8745
  parseError: Signal<boolean>;
7912
8746
  describedBy: WritableSignal<string | null>;
8747
+ /**
8748
+ * @internal Ids the control contributes to `aria-describedby` itself, on top of the one the form
8749
+ * field sets. Overridden by a control that renders describing text of its own.
8750
+ */
8751
+ ownDescribedBy: Signal<string | null>;
8752
+ /** @internal Everything the fields' `aria-describedby` must point at, in reading order. */
8753
+ describedByIds: Signal<string | null>;
7913
8754
  focused: Signal<boolean>;
7914
8755
  /** @internal Keeps the form field in its focused style while the picker overlay is open. */
7915
8756
  expanded: Signal<boolean>;
@@ -7940,6 +8781,11 @@ declare abstract class DateRangePickerInputDirective implements FormValueControl
7940
8781
  displayValue(side: DateRangeSide): string;
7941
8782
  /** The committed `Date` of one side, or `null` while that side is empty (or the value is masked). */
7942
8783
  sideDate(side: DateRangeSide): Date | null;
8784
+ /**
8785
+ * One side as the calendar and the time picker see it: a plain `Date` whose local wall clock is
8786
+ * the zone's. Highlighting only - see `zonedProxy`.
8787
+ */
8788
+ pickerSideDate(side: DateRangeSide): Date | null;
7943
8789
  activate(): void;
7944
8790
  focus(options?: FocusOptions): void;
7945
8791
  openPicker(): void;
@@ -7955,13 +8801,13 @@ declare abstract class DateRangePickerInputDirective implements FormValueControl
7955
8801
  registerField(side: DateRangeSide, field: DatePickerInputFieldBase): void;
7956
8802
  /** @internal */
7957
8803
  unregisterField(side: DateRangeSide, field: DatePickerInputFieldBase): void;
7958
- /** @internal One side's committed value rendered in `valueFormat`. */
7959
- formatSide(date: Date): string | null;
8804
+ /** @internal One side's committed instant rendered in `valueFormat`, with the field zone's offset. */
8805
+ formatSide(instant: Date): string | null;
7960
8806
  /**
7961
8807
  * @internal Commits one side's `Date` - a picker selection that resolves a single end, dropping
7962
8808
  * that side's pending field text.
7963
8809
  */
7964
- commitSideDate(side: DateRangeSide, date: Date): void;
8810
+ commitSideDate(side: DateRangeSide, instant: Date): void;
7965
8811
  /**
7966
8812
  * @internal Writes one resolving side value. While mixed, replace semantics apply: the hidden raw
7967
8813
  * range is dropped rather than merged into, so the other side cannot leak into the new value.
@@ -8187,6 +9033,14 @@ declare class DateTimeInputDirective extends DatePickerInputDirective implements
8187
9033
  parseErrorMessage: _angular_core.InputSignal<string | null>;
8188
9034
  /** Combined date-fns format shown in (and parsed from) the field. Locale-aware by default. */
8189
9035
  displayFormat: _angular_core.InputSignal<string>;
9036
+ /**
9037
+ * IANA name of the zone the field's wall clock stands for - `'Asia/Tokyo'` makes the field, the
9038
+ * calendar and the time picker all read in Tokyo, and writes the value with Tokyo's offset. The
9039
+ * value stays an instant either way. `null` keeps the runtime's own zone.
9040
+ */
9041
+ timeZone: _angular_core.InputSignal<string | null>;
9042
+ /** A name for {@link timeZone} in the second reading. Defaults to the IANA name's last segment. */
9043
+ timeZoneLabel: _angular_core.InputSignal<string | null>;
8190
9044
  /** Forwarded to the picker calendar. (`min`/`max` are reserved by signal forms.) */
8191
9045
  minDate: _angular_core.InputSignal<Date | null>;
8192
9046
  maxDate: _angular_core.InputSignal<Date | null>;
@@ -8214,15 +9068,35 @@ declare class DateTimeInputDirective extends DatePickerInputDirective implements
8214
9068
  /** The string in effect: this instance's `parseErrorMessage`, else the domain's label set. */
8215
9069
  resolvedParseErrorMessage: _angular_core.Signal<string>;
8216
9070
  controlType: _angular_core.WritableSignal<"date-time-input">;
9071
+ /** The zone in effect, or `null` when none is set or the name is not one `Intl` knows. */
9072
+ effectiveTimeZone: _angular_core.Signal<string | null>;
9073
+ /** The name shown for the field's zone. */
9074
+ resolvedTimeZoneLabel: _angular_core.Signal<string | null>;
8217
9075
  /** The current value as a `Date` (what the picker calendar and time picker bind to). */
8218
9076
  dateTime: _angular_core.Signal<Date | null>;
8219
9077
  private halfPick;
9078
+ /**
9079
+ * The committed value as the calendar and the time picker see it: a plain `Date` whose local wall
9080
+ * clock is the zone's, so both keep doing local arithmetic. Highlighting only - a committed value
9081
+ * is always derived from the instant, never from this. See `zonedProxy`.
9082
+ */
9083
+ private pickerDateTime;
8220
9084
  /** The day the picker calendar highlights - the committed one, else a day picked with no time yet. */
8221
9085
  pickerDate: _angular_core.Signal<Date | null>;
8222
9086
  /** The time the picker's columns mark as selected - the committed one, else a time picked with no day yet. */
8223
9087
  pickerTime: _angular_core.Signal<Date | null>;
9088
+ /**
9089
+ * The same moment read in the runtime's own zone, or `null` when no zone is set, the field is
9090
+ * empty, or both zones show the same wall clock.
9091
+ */
9092
+ localReading: _angular_core.Signal<string | null>;
9093
+ private readonly LOCAL_READING_ELEMENT_ID;
9094
+ /** @internal Id of the second-reading element, or `null` while it does not render. */
9095
+ localReadingId: _angular_core.Signal<string | null>;
9096
+ ownDescribedBy: _angular_core.Signal<string | null>;
8224
9097
  /** The committed value rendered in `displayFormat`, or a half-pick rendered against placeholders. */
8225
9098
  displayValue: _angular_core.Signal<string>;
9099
+ constructor();
8226
9100
  /**
8227
9101
  * @internal Commits typed field text: empty clears, a strict-then-lenient
8228
9102
  * parse writes the value, anything else keeps the raw text and raises
@@ -8241,11 +9115,13 @@ declare class DateTimeInputDirective extends DatePickerInputDirective implements
8241
9115
  selectTime(time: Date | null): void;
8242
9116
  /** Drops a held half along with the value - the two are one control state. */
8243
9117
  clearValue(): void;
9118
+ /** A completed half-pick carries the wall clock the user picked, so it is read in the field's zone. */
9119
+ private holdHalfPick;
8244
9120
  /** Commits a completed pick, or settles the control around a half that is still waiting. */
8245
9121
  private resolvePick;
8246
- private commitDateTime;
9122
+ private commitInstant;
8247
9123
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DateTimeInputDirective, never>;
8248
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DateTimeInputDirective, "[etDateTimeInput]", ["etDateTimeInput"], { "parseErrorMessage": { "alias": "parseErrorMessage"; "required": false; "isSignal": true; }; "displayFormat": { "alias": "displayFormat"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "dateFilter": { "alias": "dateFilter"; "required": false; "isSignal": true; }; "startAt": { "alias": "startAt"; "required": false; "isSignal": true; }; "startView": { "alias": "startView"; "required": false; "isSignal": true; }; "dateClass": { "alias": "dateClass"; "required": false; "isSignal": true; }; "weekNumbers": { "alias": "weekNumbers"; "required": false; "isSignal": true; }; "minTime": { "alias": "minTime"; "required": false; "isSignal": true; }; "maxTime": { "alias": "maxTime"; "required": false; "isSignal": true; }; "timeFilter": { "alias": "timeFilter"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
9124
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DateTimeInputDirective, "[etDateTimeInput]", ["etDateTimeInput"], { "parseErrorMessage": { "alias": "parseErrorMessage"; "required": false; "isSignal": true; }; "displayFormat": { "alias": "displayFormat"; "required": false; "isSignal": true; }; "timeZone": { "alias": "timeZone"; "required": false; "isSignal": true; }; "timeZoneLabel": { "alias": "timeZoneLabel"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "dateFilter": { "alias": "dateFilter"; "required": false; "isSignal": true; }; "startAt": { "alias": "startAt"; "required": false; "isSignal": true; }; "startView": { "alias": "startView"; "required": false; "isSignal": true; }; "dateClass": { "alias": "dateClass"; "required": false; "isSignal": true; }; "weekNumbers": { "alias": "weekNumbers"; "required": false; "isSignal": true; }; "minTime": { "alias": "minTime"; "required": false; "isSignal": true; }; "maxTime": { "alias": "maxTime"; "required": false; "isSignal": true; }; "timeFilter": { "alias": "timeFilter"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8249
9125
  }
8250
9126
 
8251
9127
  /**
@@ -8283,6 +9159,11 @@ declare class DateTimeInputComponent {
8283
9159
  protected resolvedTimeTabLabel: _angular_core.Signal<string>;
8284
9160
  /** The string in effect: this instance's `dialogLabel`, else the domain's label set. */
8285
9161
  protected resolvedDialogLabel: _angular_core.Signal<string>;
9162
+ /**
9163
+ * The second reading shown under the field: the zone the field is in, and the same moment in the
9164
+ * reader's own zone. `null` whenever the two agree - one clock is better than two that match.
9165
+ */
9166
+ protected localReadingText: _angular_core.Signal<string | null>;
8286
9167
  /** The string in effect: this instance's `clearLabel`, else `FORM_FIELD_LABELS`. */
8287
9168
  protected resolvedClearLabel: _angular_core.Signal<string>;
8288
9169
  protected showClear: _angular_core.Signal<boolean>;
@@ -8307,7 +9188,7 @@ declare class DateTimeInputComponent {
8307
9188
  focus(options?: FocusOptions): void;
8308
9189
  private showPane;
8309
9190
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DateTimeInputComponent, never>;
8310
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateTimeInputComponent, "et-date-time-input", never, { "pickerTriggerLabel": { "alias": "pickerTriggerLabel"; "required": false; "isSignal": true; }; "dialogLabel": { "alias": "dialogLabel"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; "secondStep": { "alias": "secondStep"; "required": false; "isSignal": true; }; "dateTabLabel": { "alias": "dateTabLabel"; "required": false; "isSignal": true; }; "timeTabLabel": { "alias": "timeTabLabel"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "clearLabel": { "alias": "clearLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof DateTimeInputDirective; inputs: { "value": "value"; "mixed": "mixed"; "mixedLabel": "mixedLabel"; "touched": "touched"; "disabled": "disabled"; "readonly": "readonly"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; "placeholder": "placeholder"; "parseErrorMessage": "parseErrorMessage"; "valueFormat": "valueFormat"; "displayFormat": "displayFormat"; "locale": "locale"; "mask": "mask"; "minDate": "minDate"; "maxDate": "maxDate"; "dateFilter": "dateFilter"; "startAt": "startAt"; "startView": "startView"; "dateClass": "dateClass"; "weekNumbers": "weekNumbers"; "minTime": "minTime"; "maxTime": "maxTime"; "timeFilter": "timeFilter"; "pickerOpen": "pickerOpen"; }; outputs: { "valueChange": "valueChange"; "mixedChange": "mixedChange"; "touchedChange": "touchedChange"; "pickerOpenChange": "pickerOpenChange"; }; }]>;
9191
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateTimeInputComponent, "et-date-time-input", never, { "pickerTriggerLabel": { "alias": "pickerTriggerLabel"; "required": false; "isSignal": true; }; "dialogLabel": { "alias": "dialogLabel"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; "secondStep": { "alias": "secondStep"; "required": false; "isSignal": true; }; "dateTabLabel": { "alias": "dateTabLabel"; "required": false; "isSignal": true; }; "timeTabLabel": { "alias": "timeTabLabel"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "clearLabel": { "alias": "clearLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof DateTimeInputDirective; inputs: { "value": "value"; "mixed": "mixed"; "mixedLabel": "mixedLabel"; "touched": "touched"; "disabled": "disabled"; "readonly": "readonly"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; "placeholder": "placeholder"; "parseErrorMessage": "parseErrorMessage"; "valueFormat": "valueFormat"; "displayFormat": "displayFormat"; "timeZone": "timeZone"; "timeZoneLabel": "timeZoneLabel"; "locale": "locale"; "mask": "mask"; "minDate": "minDate"; "maxDate": "maxDate"; "dateFilter": "dateFilter"; "startAt": "startAt"; "startView": "startView"; "dateClass": "dateClass"; "weekNumbers": "weekNumbers"; "minTime": "minTime"; "maxTime": "maxTime"; "timeFilter": "timeFilter"; "pickerOpen": "pickerOpen"; }; outputs: { "valueChange": "valueChange"; "mixedChange": "mixedChange"; "touchedChange": "touchedChange"; "pickerOpenChange": "pickerOpenChange"; }; }]>;
8311
9192
  }
8312
9193
 
8313
9194
  declare const DATE_TIME_INPUT_IMPORTS: readonly [typeof DateTimeInputComponent, typeof DateTimeInputDirective, typeof DateTimeInputFieldDirective, typeof DatePickerTriggerDirective, typeof DatePickerSurfaceDirective];
@@ -8359,6 +9240,11 @@ type DateTimeLabels = {
8359
9240
  /** The date & time range picker's tab showing the clock. (Which of the two times the reader is
8360
9241
  * setting is chosen inside it, by `TIME_PICKER_LABELS.startTime`/`endTime`.) */
8361
9242
  timesTab: string;
9243
+ /**
9244
+ * The second reading under a field whose zone is not the reader's: which zone the field shows,
9245
+ * and the same moment in the reader's own zone.
9246
+ */
9247
+ timeZoneReading: (timeZone: string, localTime: string) => string;
8362
9248
  /** Validation message for text that isn't a date. */
8363
9249
  invalidDate: string;
8364
9250
  /** Validation message for text that isn't a time. */
@@ -8417,6 +9303,14 @@ declare class DateTimeRangeInputDirective extends DateRangePickerInputDirective
8417
9303
  parseErrorMessage: _angular_core.InputSignal<string | null>;
8418
9304
  /** Combined date-fns format shown in (and parsed from) both fields. Locale-aware by default. */
8419
9305
  displayFormat: _angular_core.InputSignal<string>;
9306
+ /**
9307
+ * IANA name of the zone both fields' wall clock stands for - `'Asia/Tokyo'` makes the fields, the
9308
+ * calendar and the time pickers all read in Tokyo, and writes both ends with Tokyo's offset. The
9309
+ * values stay instants either way. `null` keeps the runtime's own zone.
9310
+ */
9311
+ timeZone: _angular_core.InputSignal<string | null>;
9312
+ /** A name for {@link timeZone} in the second reading. Defaults to the IANA name's last segment. */
9313
+ timeZoneLabel: _angular_core.InputSignal<string | null>;
8420
9314
  /** Forwarded to the picker calendar. (`min`/`max` are reserved by signal forms.) */
8421
9315
  minDate: _angular_core.InputSignal<Date | null>;
8422
9316
  maxDate: _angular_core.InputSignal<Date | null>;
@@ -8443,6 +9337,14 @@ declare class DateTimeRangeInputDirective extends DateRangePickerInputDirective
8443
9337
  /** The string in effect: this instance's `parseErrorMessage`, else the domain's label set. */
8444
9338
  resolvedParseErrorMessage: _angular_core.Signal<string>;
8445
9339
  controlType: _angular_core.WritableSignal<"date-time-range-input">;
9340
+ /** The zone in effect, or `null` when none is set or the name is not one `Intl` knows. */
9341
+ effectiveTimeZone: _angular_core.Signal<string | null>;
9342
+ /** The name shown for the fields' zone. */
9343
+ resolvedTimeZoneLabel: _angular_core.Signal<string | null>;
9344
+ private readonly LOCAL_READING_ELEMENT_ID;
9345
+ /** @internal Id of the second-reading element, or `null` while it does not render. */
9346
+ localReadingId: _angular_core.Signal<string | null>;
9347
+ ownDescribedBy: _angular_core.Signal<string | null>;
8446
9348
  private halfPicks;
8447
9349
  /** The two days the picker calendar highlights - committed, else picked with no time yet. */
8448
9350
  pickerDateRange: _angular_core.Signal<{
@@ -8454,6 +9356,9 @@ declare class DateTimeRangeInputDirective extends DateRangePickerInputDirective
8454
9356
  start: Date | null;
8455
9357
  end: Date | null;
8456
9358
  }>;
9359
+ constructor();
9360
+ /** One side read in the runtime's own zone, or `null` when it is empty or the readings agree. */
9361
+ localReading(side: DateRangeSide): string | null;
8457
9362
  /**
8458
9363
  * Commits a picker day range onto each side's committed time of day, holding the days whose time
8459
9364
  * is still missing. The picker stays open - those times are still to come.
@@ -8484,7 +9389,7 @@ declare class DateTimeRangeInputDirective extends DateRangePickerInputDirective
8484
9389
  */
8485
9390
  private resolvePendingMixed;
8486
9391
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DateTimeRangeInputDirective, never>;
8487
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DateTimeRangeInputDirective, "[etDateTimeRangeInput]", ["etDateTimeRangeInput"], { "parseErrorMessage": { "alias": "parseErrorMessage"; "required": false; "isSignal": true; }; "displayFormat": { "alias": "displayFormat"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "dateFilter": { "alias": "dateFilter"; "required": false; "isSignal": true; }; "startAt": { "alias": "startAt"; "required": false; "isSignal": true; }; "startView": { "alias": "startView"; "required": false; "isSignal": true; }; "dateClass": { "alias": "dateClass"; "required": false; "isSignal": true; }; "weekNumbers": { "alias": "weekNumbers"; "required": false; "isSignal": true; }; "minTime": { "alias": "minTime"; "required": false; "isSignal": true; }; "maxTime": { "alias": "maxTime"; "required": false; "isSignal": true; }; "timeFilter": { "alias": "timeFilter"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
9392
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DateTimeRangeInputDirective, "[etDateTimeRangeInput]", ["etDateTimeRangeInput"], { "parseErrorMessage": { "alias": "parseErrorMessage"; "required": false; "isSignal": true; }; "displayFormat": { "alias": "displayFormat"; "required": false; "isSignal": true; }; "timeZone": { "alias": "timeZone"; "required": false; "isSignal": true; }; "timeZoneLabel": { "alias": "timeZoneLabel"; "required": false; "isSignal": true; }; "minDate": { "alias": "minDate"; "required": false; "isSignal": true; }; "maxDate": { "alias": "maxDate"; "required": false; "isSignal": true; }; "dateFilter": { "alias": "dateFilter"; "required": false; "isSignal": true; }; "startAt": { "alias": "startAt"; "required": false; "isSignal": true; }; "startView": { "alias": "startView"; "required": false; "isSignal": true; }; "dateClass": { "alias": "dateClass"; "required": false; "isSignal": true; }; "weekNumbers": { "alias": "weekNumbers"; "required": false; "isSignal": true; }; "minTime": { "alias": "minTime"; "required": false; "isSignal": true; }; "maxTime": { "alias": "maxTime"; "required": false; "isSignal": true; }; "timeFilter": { "alias": "timeFilter"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
8488
9393
  }
8489
9394
 
8490
9395
  /**
@@ -8532,6 +9437,11 @@ declare class DateTimeRangeInputComponent {
8532
9437
  /** The strings in effect: this instance's tab labels, else the domain's label set. */
8533
9438
  protected resolvedDatesTabLabel: _angular_core.Signal<string>;
8534
9439
  protected resolvedTimesTabLabel: _angular_core.Signal<string>;
9440
+ /**
9441
+ * The second reading shown under the fields: the zone they are in, and the same moments in the
9442
+ * reader's own zone. `null` whenever the two agree - one clock is better than two that match.
9443
+ */
9444
+ protected localReadingText: _angular_core.Signal<string | null>;
8535
9445
  /** The string in effect: this instance's `clearLabel`, else `FORM_FIELD_LABELS`. */
8536
9446
  protected resolvedClearLabel: _angular_core.Signal<string>;
8537
9447
  protected showClear: _angular_core.Signal<boolean>;
@@ -8559,7 +9469,7 @@ declare class DateTimeRangeInputComponent {
8559
9469
  focus(options?: FocusOptions): void;
8560
9470
  private showPane;
8561
9471
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DateTimeRangeInputComponent, never>;
8562
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateTimeRangeInputComponent, "et-date-time-range-input", never, { "startAriaLabel": { "alias": "startAriaLabel"; "required": false; "isSignal": true; }; "endAriaLabel": { "alias": "endAriaLabel"; "required": false; "isSignal": true; }; "pickerTriggerLabel": { "alias": "pickerTriggerLabel"; "required": false; "isSignal": true; }; "dialogLabel": { "alias": "dialogLabel"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; "secondStep": { "alias": "secondStep"; "required": false; "isSignal": true; }; "datesTabLabel": { "alias": "datesTabLabel"; "required": false; "isSignal": true; }; "timesTabLabel": { "alias": "timesTabLabel"; "required": false; "isSignal": true; }; "startTimeLabel": { "alias": "startTimeLabel"; "required": false; "isSignal": true; }; "endTimeLabel": { "alias": "endTimeLabel"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "clearLabel": { "alias": "clearLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof DateTimeRangeInputDirective; inputs: { "value": "value"; "mixed": "mixed"; "mixedLabel": "mixedLabel"; "touched": "touched"; "disabled": "disabled"; "readonly": "readonly"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; "startPlaceholder": "startPlaceholder"; "endPlaceholder": "endPlaceholder"; "parseErrorMessage": "parseErrorMessage"; "valueFormat": "valueFormat"; "displayFormat": "displayFormat"; "locale": "locale"; "mask": "mask"; "minDate": "minDate"; "maxDate": "maxDate"; "dateFilter": "dateFilter"; "startAt": "startAt"; "startView": "startView"; "dateClass": "dateClass"; "weekNumbers": "weekNumbers"; "minTime": "minTime"; "maxTime": "maxTime"; "timeFilter": "timeFilter"; "pickerOpen": "pickerOpen"; }; outputs: { "valueChange": "valueChange"; "mixedChange": "mixedChange"; "touchedChange": "touchedChange"; "pickerOpenChange": "pickerOpenChange"; }; }]>;
9472
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateTimeRangeInputComponent, "et-date-time-range-input", never, { "startAriaLabel": { "alias": "startAriaLabel"; "required": false; "isSignal": true; }; "endAriaLabel": { "alias": "endAriaLabel"; "required": false; "isSignal": true; }; "pickerTriggerLabel": { "alias": "pickerTriggerLabel"; "required": false; "isSignal": true; }; "dialogLabel": { "alias": "dialogLabel"; "required": false; "isSignal": true; }; "minuteStep": { "alias": "minuteStep"; "required": false; "isSignal": true; }; "secondStep": { "alias": "secondStep"; "required": false; "isSignal": true; }; "datesTabLabel": { "alias": "datesTabLabel"; "required": false; "isSignal": true; }; "timesTabLabel": { "alias": "timesTabLabel"; "required": false; "isSignal": true; }; "startTimeLabel": { "alias": "startTimeLabel"; "required": false; "isSignal": true; }; "endTimeLabel": { "alias": "endTimeLabel"; "required": false; "isSignal": true; }; "clearable": { "alias": "clearable"; "required": false; "isSignal": true; }; "clearLabel": { "alias": "clearLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof DateTimeRangeInputDirective; inputs: { "value": "value"; "mixed": "mixed"; "mixedLabel": "mixedLabel"; "touched": "touched"; "disabled": "disabled"; "readonly": "readonly"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; "startPlaceholder": "startPlaceholder"; "endPlaceholder": "endPlaceholder"; "parseErrorMessage": "parseErrorMessage"; "valueFormat": "valueFormat"; "displayFormat": "displayFormat"; "timeZone": "timeZone"; "timeZoneLabel": "timeZoneLabel"; "locale": "locale"; "mask": "mask"; "minDate": "minDate"; "maxDate": "maxDate"; "dateFilter": "dateFilter"; "startAt": "startAt"; "startView": "startView"; "dateClass": "dateClass"; "weekNumbers": "weekNumbers"; "minTime": "minTime"; "maxTime": "maxTime"; "timeFilter": "timeFilter"; "pickerOpen": "pickerOpen"; }; outputs: { "valueChange": "valueChange"; "mixedChange": "mixedChange"; "touchedChange": "touchedChange"; "pickerOpenChange": "pickerOpenChange"; }; }]>;
8563
9473
  }
8564
9474
 
8565
9475
  declare const DATE_TIME_RANGE_INPUT_IMPORTS: readonly [typeof DateTimeRangeInputComponent, typeof DateTimeRangeInputDirective, typeof DateTimeRangeInputFieldDirective, typeof DatePickerTriggerDirective, typeof DatePickerSurfaceDirective];
@@ -8904,6 +9814,8 @@ declare const DESCRIPTION_IMPORTS: readonly [typeof DescriptionComponent];
8904
9814
  type DropzoneLabels = {
8905
9815
  /** The drop-target prompt, shown when nothing is projected into the dropzone. */
8906
9816
  prompt: string;
9817
+ /** Replaces the prompt while the dropzone is readonly and holds no file. */
9818
+ empty: string;
8907
9819
  /** The retry action on a failed entry. */
8908
9820
  retry: string;
8909
9821
  /** Accessible label prefix for an entry's remove action - the file name is appended. */
@@ -9272,6 +10184,8 @@ declare class DropzoneDirective<TValue = unknown> implements FormValueControl<TV
9272
10184
  value: _angular_core.ModelSignal<TValue | TValue[] | null>;
9273
10185
  touched: _angular_core.ModelSignal<boolean>;
9274
10186
  disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
10187
+ /** View-only: the entries stay visible and the control stays focusable, nothing can be changed. */
10188
+ readonly: _angular_core.InputSignalWithTransform<boolean, unknown>;
9275
10189
  invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
9276
10190
  errors: _angular_core.InputSignal<readonly ValidationError.WithOptionalFieldTree[]>;
9277
10191
  required: _angular_core.InputSignalWithTransform<boolean, unknown>;
@@ -9303,6 +10217,8 @@ declare class DropzoneDirective<TValue = unknown> implements FormValueControl<TV
9303
10217
  private entryWatchers;
9304
10218
  private lastSyncedValue;
9305
10219
  private hasSyncedValue;
10220
+ /** Whether files can still be added, replaced or removed. */
10221
+ interactive: _angular_core.Signal<boolean>;
9306
10222
  /** All entries currently managed by the dropzone, including uploading and failed ones. */
9307
10223
  entries: _angular_core.Signal<DropzoneEntry<TValue>[]>;
9308
10224
  /** The rejections of the most recent file selection. Reset by the next selection, removal or clear. */
@@ -9347,11 +10263,11 @@ declare class DropzoneDirective<TValue = unknown> implements FormValueControl<TV
9347
10263
  private syncValue;
9348
10264
  private reconcileValue;
9349
10265
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DropzoneDirective<any>, never>;
9350
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DropzoneDirective<any>, "[etDropzone]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "upload": { "alias": "upload"; "required": true; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touched": "touchedChange"; "filesReject": "filesReject"; "uploadSucceed": "uploadSucceed"; "uploadFail": "uploadFail"; "deleteSucceed": "deleteSucceed"; "deleteFail": "deleteFail"; }, never, never, true, never>;
10266
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DropzoneDirective<any>, "[etDropzone]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "upload": { "alias": "upload"; "required": true; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touched": "touchedChange"; "filesReject": "filesReject"; "uploadSucceed": "uploadSucceed"; "uploadFail": "uploadFail"; "deleteSucceed": "deleteSucceed"; "deleteFail": "deleteFail"; }, never, never, true, never>;
9351
10267
  }
9352
10268
 
9353
10269
  declare class DropzoneComponent {
9354
- private dropzoneLabels;
10270
+ protected dropzoneLabels: _angular_core.Signal<_ethlete_components.DropzoneLabels>;
9355
10271
  protected dropzoneDir: DropzoneDirective<any>;
9356
10272
  support: {
9357
10273
  errorColorTheme: _ethlete_core.ColorTheme;
@@ -9432,7 +10348,7 @@ declare class DropzoneComponent {
9432
10348
  focus(options?: FocusOptions): void;
9433
10349
  private defaultUploadErrorMessage;
9434
10350
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DropzoneComponent, never>;
9435
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DropzoneComponent, "et-dropzone", never, { "retryLabel": { "alias": "retryLabel"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; "replaceLabel": { "alias": "replaceLabel"; "required": false; "isSignal": true; }; "uploadErrorLabel": { "alias": "uploadErrorLabel"; "required": false; "isSignal": true; }; "uploadErrorMessage": { "alias": "uploadErrorMessage"; "required": false; "isSignal": true; }; }, {}, never, ["et-label", "*", "et-hint"], true, [{ directive: typeof FormFieldDirective; inputs: {}; outputs: {}; }, { directive: typeof DropzoneDirective; inputs: { "value": "value"; "touched": "touched"; "disabled": "disabled"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; "upload": "upload"; "multiple": "multiple"; }; outputs: { "valueChange": "valueChange"; "touchedChange": "touchedChange"; "filesReject": "filesReject"; "uploadSucceed": "uploadSucceed"; "uploadFail": "uploadFail"; "deleteSucceed": "deleteSucceed"; "deleteFail": "deleteFail"; }; }, { directive: typeof _ethlete_core.ProvideColorDirective; inputs: { "etProvideColor": "color"; }; outputs: {}; }]>;
10351
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DropzoneComponent, "et-dropzone", never, { "retryLabel": { "alias": "retryLabel"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; "replaceLabel": { "alias": "replaceLabel"; "required": false; "isSignal": true; }; "uploadErrorLabel": { "alias": "uploadErrorLabel"; "required": false; "isSignal": true; }; "uploadErrorMessage": { "alias": "uploadErrorMessage"; "required": false; "isSignal": true; }; }, {}, never, ["et-label", "*", "et-hint"], true, [{ directive: typeof FormFieldDirective; inputs: {}; outputs: {}; }, { directive: typeof DropzoneDirective; inputs: { "value": "value"; "touched": "touched"; "disabled": "disabled"; "readonly": "readonly"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; "upload": "upload"; "multiple": "multiple"; }; outputs: { "valueChange": "valueChange"; "touchedChange": "touchedChange"; "filesReject": "filesReject"; "uploadSucceed": "uploadSucceed"; "uploadFail": "uploadFail"; "deleteSucceed": "deleteSucceed"; "deleteFail": "deleteFail"; }; }, { directive: typeof _ethlete_core.ProvideColorDirective; inputs: { "etProvideColor": "color"; }; outputs: {}; }]>;
9436
10352
  }
9437
10353
 
9438
10354
  declare const DROPZONE_IMPORTS: readonly [typeof DropzoneComponent, typeof DropzoneDirective];
@@ -9940,7 +10856,7 @@ declare class InputComponent {
9940
10856
  syncNativeValue(event: Event): void;
9941
10857
  focus(options?: FocusOptions): void;
9942
10858
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputComponent, never>;
9943
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputComponent, "et-input", never, {}, {}, never, never, true, [{ directive: typeof InputDirective; inputs: { "type": "type"; "placeholder": "placeholder"; "autocomplete": "autocomplete"; "textAlign": "textAlign"; "value": "value"; "mixed": "mixed"; "touched": "touched"; "mixedLabel": "mixedLabel"; "disabled": "disabled"; "readonly": "readonly"; "hidden": "hidden"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; "maxLength": "maxLength"; "pending": "pending"; "aria-label": "aria-label"; "aria-labelledby": "aria-labelledby"; }; outputs: { "valueChange": "valueChange"; "mixedChange": "mixedChange"; "touchedChange": "touchedChange"; }; }, { directive: typeof _ethlete_core.ColorInteractiveDirective; inputs: {}; outputs: {}; }]>;
10859
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputComponent, "et-input", never, {}, {}, never, never, true, [{ directive: typeof InputDirective; inputs: { "type": "type"; "placeholder": "placeholder"; "autocomplete": "autocomplete"; "textAlign": "textAlign"; "value": "value"; "mixed": "mixed"; "touched": "touched"; "mixedLabel": "mixedLabel"; "disabled": "disabled"; "readonly": "readonly"; "hidden": "hidden"; "invalid": "invalid"; "errors": "errors"; "warnings": "warnings"; "required": "required"; "name": "name"; "maxLength": "maxLength"; "pending": "pending"; "aria-label": "aria-label"; "aria-labelledby": "aria-labelledby"; }; outputs: { "valueChange": "valueChange"; "mixedChange": "mixedChange"; "touchedChange": "touchedChange"; }; }, { directive: typeof _ethlete_core.ColorInteractiveDirective; inputs: {}; outputs: {}; }]>;
9944
10860
  }
9945
10861
 
9946
10862
  declare class NumberInputComponent {
@@ -10746,8 +11662,6 @@ declare class RichTextEditorDirective implements FormValueControl<string>, FormF
10746
11662
  * never used - see {@link createRichTextEditorHistory}.
10747
11663
  */
10748
11664
  private history;
10749
- /** Resolved toolbar tools: the `tools` input if set, otherwise the provided/default config. */
10750
- resolvedTools: _angular_core.Signal<readonly RichTextEditorTool[]>;
10751
11665
  /**
10752
11666
  * @internal Every tool that can render, by token: the always-built-in buttons plus whatever was
10753
11667
  * registered through {@link RICH_TEXT_EDITOR_TOOL}. Both toolbars read this, so a token in
@@ -10755,6 +11669,12 @@ declare class RichTextEditorDirective implements FormValueControl<string>, FormF
10755
11669
  * until its provider is added.
10756
11670
  */
10757
11671
  toolDefs: ReadonlyMap<string, RichTextEditorToolDefinition>;
11672
+ /**
11673
+ * Resolved toolbar tools: the `tools` input if set, otherwise the provided/default config, with
11674
+ * every token that has no definition dropped. A divider only survives between two tools that
11675
+ * render, so leaving an opt-in tool unprovided cannot strand a doubled or dangling separator.
11676
+ */
11677
+ resolvedTools: _angular_core.Signal<RichTextEditorTool[]>;
10758
11678
  /**
10759
11679
  * The strings in effect here: the injected label set with this instance's `labels` applied. Every part
10760
11680
  * of the editor reads it through this - the toolbars, the link editor and the opt-in tools all reach
@@ -11986,7 +12906,9 @@ type MenuItemVariant = (typeof MENU_ITEM_VARIANTS)[keyof typeof MENU_ITEM_VARIAN
11986
12906
  declare class MenuItemComponent {
11987
12907
  private provideColor;
11988
12908
  private errorColorTheme;
12909
+ private item;
11989
12910
  variant: _angular_core.InputSignal<MenuItemVariant>;
12911
+ protected isSubmenuTrigger: boolean;
11990
12912
  constructor();
11991
12913
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuItemComponent, never>;
11992
12914
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuItemComponent, "button[et-menu-item], a[et-menu-item]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["[etIcon]", "*", "et-menu-item-shortcut"], true, [{ directive: typeof MenuItemDirective; inputs: { "disabled": "disabled"; "closeOnActivate": "closeOnActivate"; }; outputs: { "activate": "activate"; }; }, { directive: typeof _ethlete_core.ProvideColorDirective; inputs: {}; outputs: {}; }]>;
@@ -11997,6 +12919,20 @@ declare class MenuItemShortcutComponent {
11997
12919
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuItemShortcutComponent, "et-menu-item-shortcut", never, {}, {}, never, ["*"], true, never>;
11998
12920
  }
11999
12921
 
12922
+ /**
12923
+ * The chevron a menu item shows when it also opens a submenu. `MenuItemComponent` stamps it, so its
12924
+ * styles only reach a document that renders a submenu trigger.
12925
+ *
12926
+ * Never move the `provideIcons` up onto the item: it shadows the app's registry for everything below
12927
+ * it, which would hide the consumer's own icons projected into the same row.
12928
+ *
12929
+ * @internal
12930
+ */
12931
+ declare class MenuItemSubmenuIconComponent {
12932
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuItemSubmenuIconComponent, never>;
12933
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuItemSubmenuIconComponent, "et-menu-item-submenu-icon", never, {}, {}, never, never, true, never>;
12934
+ }
12935
+
12000
12936
  declare class MenuRadioGroupComponent {
12001
12937
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuRadioGroupComponent, never>;
12002
12938
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuRadioGroupComponent, "et-menu-radio-group", never, {}, {}, never, ["et-menu-group-label", "*"], true, [{ directive: typeof MenuSelectionGroupDirective; inputs: { "value": "value"; "touched": "touched"; "disabled": "disabled"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; }; outputs: { "valueChange": "valueChange"; "touchedChange": "touchedChange"; }; }]>;
@@ -14177,7 +15113,9 @@ type SliderThumbBase = {
14177
15113
  focused: Signal<boolean>;
14178
15114
  /** The thumb's own `aria-label`, if the consumer set one instead of a shared `<et-label>`. */
14179
15115
  label: Signal<string>;
14180
- focus(options?: FocusOptions): void;
15116
+ focus(options?: FocusOptions & {
15117
+ origin?: 'pointer';
15118
+ }): void;
14181
15119
  };
14182
15120
  /**
14183
15121
  * The contract both `[etSlider]` and `[etRangeSlider]` provide under `SLIDER_TOKEN`,
@@ -14314,6 +15252,10 @@ declare class SliderThumbLabelDirective implements SliderThumbLabelBase {
14314
15252
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SliderThumbLabelDirective, "ng-template[etSliderThumbLabel]", ["etSliderThumbLabel"], {}, {}, never, never, true, never>;
14315
15253
  }
14316
15254
 
15255
+ /** `origin: 'pointer'` focuses the thumb without raising its focus ring - see `pointerFocused`. */
15256
+ type SliderThumbFocusOptions = FocusOptions & {
15257
+ origin?: 'pointer';
15258
+ };
14317
15259
  /**
14318
15260
  * A slider thumb: carries the ARIA slider semantics and the keyboard model.
14319
15261
  * Registration order determines its index - for ranges, place the start thumb first.
@@ -14325,6 +15267,13 @@ declare class SliderThumbDirective implements SliderThumbBase {
14325
15267
  /** Accessible name of the thumb - range thumbs need one each (e.g. "Minimum"). */
14326
15268
  label: _angular_core.InputSignal<string>;
14327
15269
  focused: _angular_core.WritableSignal<boolean>;
15270
+ /**
15271
+ * Set while the current focus came from a pointer press. The track focuses the thumb
15272
+ * programmatically after preventing the pointerdown default, and a programmatic `focus()` with no
15273
+ * preceding native focus makes Chrome match `:focus-visible` - which left the ring stuck on after
15274
+ * every click. The stylesheet gates the ring on this; the next key press clears it.
15275
+ */
15276
+ pointerFocused: _angular_core.WritableSignal<boolean>;
14328
15277
  index: _angular_core.Signal<number>;
14329
15278
  value: _angular_core.Signal<number>;
14330
15279
  /** The thumb's position on the track as a 0–100 percentage. */
@@ -14334,7 +15283,7 @@ declare class SliderThumbDirective implements SliderThumbBase {
14334
15283
  protected ariaMin: _angular_core.Signal<number>;
14335
15284
  protected ariaMax: _angular_core.Signal<number>;
14336
15285
  constructor();
14337
- focus(options?: FocusOptions): void;
15286
+ focus(options?: SliderThumbFocusOptions): void;
14338
15287
  protected handleBlur(): void;
14339
15288
  protected handleKeydown(event: KeyboardEvent): void;
14340
15289
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SliderThumbDirective, never>;
@@ -14775,6 +15724,17 @@ type GridItemConstraints = {
14775
15724
  minRowSpan: number;
14776
15725
  maxRowSpan: number;
14777
15726
  };
15727
+ /**
15728
+ * Span bounds for a grid item: a base that applies everywhere, plus optional overrides per
15729
+ * breakpoint. The two merge key by key, so `{ minColSpan: 2, perBreakpoint: { sm: { minColSpan: 1 } } }`
15730
+ * keeps the other three bounds at `sm`. A bound the breakpoint does not name keeps its base value.
15731
+ *
15732
+ * Column spans are still capped to the breakpoint's column count, so an override only has to say
15733
+ * what the cap cannot: a different span where the grid is wide enough for the base one.
15734
+ */
15735
+ type GridItemConstraintsConfig = Partial<GridItemConstraints> & {
15736
+ perBreakpoint?: Partial<Record<GridBreakpointName, Partial<GridItemConstraints>>>;
15737
+ };
14778
15738
  type GridItemConfig<TType extends string = string, TData = unknown, TBp extends GridBreakpointName = GridBreakpointName> = {
14779
15739
  id: string;
14780
15740
  type: TType;
@@ -14827,12 +15787,7 @@ type GridComponentRegistration<TData = unknown> = {
14827
15787
  data: Signal<TData>;
14828
15788
  }>;
14829
15789
  type: string;
14830
- constraints?: {
14831
- minColSpan?: number;
14832
- maxColSpan?: number;
14833
- minRowSpan?: number;
14834
- maxRowSpan?: number;
14835
- };
15790
+ constraints?: GridItemConstraintsConfig;
14836
15791
  configComponent?: Type<unknown>;
14837
15792
  };
14838
15793
  /**
@@ -14924,12 +15879,12 @@ declare class GridDirective<TData = unknown> {
14924
15879
  left: number;
14925
15880
  top: number;
14926
15881
  };
14927
- registerConstraints(id: string, constraints: Partial<GridItemConstraints>): void;
15882
+ registerConstraints(id: string, constraints: GridItemConstraintsConfig): void;
14928
15883
  unregisterConstraints(id: string): void;
14929
15884
  /** The item's constraints as they apply at the active breakpoint - column spans already capped to it. */
14930
15885
  getConstraints(id: string): GridItemConstraints;
14931
15886
  /** The same, for a breakpoint other than the active one (placement writes every breakpoint at once). */
14932
- getConstraintsForColumns(id: string, columns: number): GridItemConstraints;
15887
+ getConstraintsForBreakpoint(id: string, breakpoint: GridBreakpointName): GridItemConstraints;
14933
15888
  beginDrag(itemId: string): GridItemPosition | null;
14934
15889
  updateDragTarget(cell: {
14935
15890
  col: number;
@@ -14948,6 +15903,7 @@ declare class GridDirective<TData = unknown> {
14948
15903
  moveItem(id: string, newPosition: GridItemPosition): void;
14949
15904
  getSerializedState(): GridSerializedState<TData>;
14950
15905
  restoreState(state: GridSerializedState<TData>): void;
15906
+ private columnsForBreakpoint;
14951
15907
  /**
14952
15908
  * Dev-mode-only: rejects consumer-provided item configs whose ids are not unique, and warns about
14953
15909
  * layouts that do not line up with the configured breakpoints.
@@ -14962,6 +15918,14 @@ declare class GridDirective<TData = unknown> {
14962
15918
  */
14963
15919
  private warnAboutUncoveredBreakpoints;
14964
15920
  private finalizeRemove;
15921
+ /**
15922
+ * A stored position refitted to the bounds one breakpoint gives the item. A minimum only grows an
15923
+ * item whose `GridItemDirective` has registered: an item added mid-session sits in the layout at
15924
+ * 1×1 until it does, and growing it here would fight `registerConstraints()` and overlap its
15925
+ * neighbours. Callers pass the result through `compactLayout()`, which resolves the overlaps
15926
+ * growing can still introduce.
15927
+ */
15928
+ private fitPositionToBreakpoint;
14965
15929
  /**
14966
15930
  * The layout entries of `items` for one breakpoint. An item the breakpoint has no position for is
14967
15931
  * auto-placed against the entries built before it, so a partial layout spreads out instead of
@@ -15108,665 +16072,414 @@ type AutoPlaceOptions = {
15108
16072
  type ClampPositionOptions = {
15109
16073
  position: GridItemPosition;
15110
16074
  constraints: GridItemConstraints;
15111
- columns: number;
15112
- };
15113
- type ResolveCollisionsOptions = {
15114
- entries: GridLayoutEntry[];
15115
- movedId: string;
15116
- columns: number;
15117
- originPosition?: GridItemPosition;
15118
- rowFloors?: RowFloors;
15119
- };
15120
- /**
15121
- * Per-item lower bound (in rows) for the upward compaction pass. An item with a
15122
- * floor is never pulled above it - used during live resize gestures to keep
15123
- * unrelated items from collapsing into freshly vacated space while the pointer
15124
- * is still down. Items without an entry compact all the way up (floor 0).
15125
- */
15126
- type RowFloors = ReadonlyMap<string, number>;
15127
- type CompactLayoutOptions = {
15128
- entries: GridLayoutEntry[];
15129
- columns: number;
15130
- rowFloors?: RowFloors;
15131
- };
15132
- /**
15133
- * Checks whether two grid items overlap.
15134
- */
15135
- declare const itemsCollide: (a: GridItemPosition, b: GridItemPosition) => boolean;
15136
- /**
15137
- * Returns the first item that collides with the given position, or undefined if none.
15138
- */
15139
- declare const findCollision: (options: FindCollisionOptions) => GridLayoutEntry | undefined;
15140
- /**
15141
- * Compacts the layout vertically (moves items up as far as possible without collision).
15142
- *
15143
- * Also acts as a self-healing normaliser: positions that overflow the grid horizontally
15144
- * (e.g. stale data from a wider breakpoint clamped into a narrower one - a colSpan of 12
15145
- * or a col of 8 in a 6-column grid) are first clamped back into bounds, then any items
15146
- * left overlapping are pushed down before the upward compaction runs. This guarantees the
15147
- * returned layout is always in-bounds and overlap-free regardless of the input - clamping
15148
- * a column alone is not enough, because it can drop an item on top of an existing one.
15149
- */
15150
- declare const compactLayout: (options: CompactLayoutOptions) => GridLayoutEntry[];
15151
- /**
15152
- * Finds the first available position for an item with the given span in a grid.
15153
- * Uses top-left gravity: scans row by row, column by column.
15154
- */
15155
- declare const autoPlace: (options: AutoPlaceOptions) => GridItemPosition;
15156
- /**
15157
- * Validates and clamps a position to respect grid boundaries and item constraints. The grid's own
15158
- * width wins: a `minColSpan` larger than the breakpoint's column count yields a full-width item, not
15159
- * one that overflows the grid.
15160
- */
15161
- declare const clampPosition: (options: ClampPositionOptions) => {
15162
- col: number;
15163
- row: number;
15164
- colSpan: number;
15165
- rowSpan: number;
15166
- };
15167
- /**
15168
- * Resolves collisions by pushing items down when a moved/resized item overlaps others.
15169
- * If exactly one item of the same size collides, they swap positions instead.
15170
- * Cascades: if pushed items collide with others, those are pushed down too.
15171
- */
15172
- declare const resolveCollisions: (options: ResolveCollisionsOptions) => GridLayoutEntry[];
15173
- /**
15174
- * Computes the total number of rows occupied by the layout.
15175
- */
15176
- declare const computeGridHeight: (entries: GridLayoutEntry[]) => number;
15177
-
15178
- type MapLayoutOptions = {
15179
- entries: GridLayoutEntry[];
15180
- fromColumns: number;
15181
- toColumns: number;
15182
- };
15183
- /**
15184
- * Resolves the active breakpoint name based on the container width.
15185
- * Breakpoints are sorted by minWidth descending - the first one whose minWidth is <= containerWidth wins.
15186
- */
15187
- declare const resolveBreakpoint: (breakpoints: GridBreakpointConfig[], containerWidth: number) => GridBreakpointName;
15188
- /**
15189
- * Auto-generates a layout for a smaller breakpoint from a larger one.
15190
- * Items are re-flowed into fewer columns, maintaining their relative order.
15191
- */
15192
- declare const mapLayoutToBreakpoint: (options: MapLayoutOptions) => GridLayoutEntry[];
15193
- declare const DEFAULT_BREAKPOINTS: GridBreakpointConfig[];
15194
-
15195
- type SerializeOptions<TData = unknown> = {
15196
- items: GridItemConfig<string, TData>[];
15197
- breakpoints: GridBreakpointConfig[];
15198
- rowHeight: number;
15199
- };
15200
- /**
15201
- * Serializes the current grid state into a JSON-compatible object suitable for DB storage.
15202
- */
15203
- declare const serializeGridLayout: <TData>(options: SerializeOptions<TData>) => GridSerializedState<TData>;
15204
- /**
15205
- * Deserializes a stored grid state back into working configuration.
15206
- * Returns breakpoint configs and item configs.
15207
- */
15208
- declare const deserializeGridLayout: <TData>(state: GridSerializedState<TData>, breakpointMinWidths: Record<string, number>) => {
15209
- breakpoints: GridBreakpointConfig[];
15210
- items: GridItemConfig<string, TData>[];
15211
- rowHeight: number;
15212
- };
15213
-
15214
- declare class GridItemDirective {
15215
- private grid;
15216
- private injector;
15217
- private destroyRef;
15218
- hostElement: ElementRef<HTMLElement>;
15219
- itemId: _angular_core.InputSignal<string>;
15220
- minColSpan: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
15221
- maxColSpan: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
15222
- minRowSpan: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
15223
- maxRowSpan: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
15224
- isBeingDragged: _angular_core.Signal<boolean>;
15225
- currentPosition: _angular_core.Signal<_ethlete_components.GridItemPosition | null>;
15226
- /** The layout-derived target rect in container-relative pixels. */
15227
- slotRect: _angular_core.Signal<PixelRect | null>;
15228
- private renderModeSignal;
15229
- private liveRect;
15230
- private isSettlingSignal;
15231
- private enteringSignal;
15232
- renderMode: _angular_core.Signal<"layout" | "direct">;
15233
- isSettling: _angular_core.Signal<boolean>;
15234
- protected entering: _angular_core.Signal<boolean>;
15235
- protected leaving: _angular_core.Signal<boolean>;
15236
- /** The rect currently bound to the host: pointer-driven while direct-controlled, the slot otherwise. */
15237
- renderedRect: _angular_core.Signal<PixelRect | null>;
15238
- protected translateStyle: _angular_core.Signal<string | null>;
15239
- protected transitionStyle: _angular_core.Signal<"none" | "translate var(--et-grid-anim-duration, 250ms) cubic-bezier(0.2, 0, 0, 1), width var(--et-grid-anim-duration, 250ms) cubic-bezier(0.2, 0, 0, 1), height var(--et-grid-anim-duration, 250ms) cubic-bezier(0.2, 0, 0, 1), scale 200ms cubic-bezier(0.2, 0, 0, 1), opacity 200ms cubic-bezier(0.2, 0, 0, 1)">;
15240
- private settleListener;
15241
- constructor();
15242
- startDirectControl(): void;
15243
- updateDirectRect(rect: PixelRect): void;
15244
- stopDirectControl(): void;
15245
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridItemDirective, never>;
15246
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridItemDirective, "[etGridItem]", ["etGridItem"], { "itemId": { "alias": "itemId"; "required": true; "isSignal": true; }; "minColSpan": { "alias": "minColSpan"; "required": false; "isSignal": true; }; "maxColSpan": { "alias": "maxColSpan"; "required": false; "isSignal": true; }; "minRowSpan": { "alias": "minRowSpan"; "required": false; "isSignal": true; }; "maxRowSpan": { "alias": "maxRowSpan"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
15247
- }
15248
-
15249
- declare class GridDragDirective {
15250
- protected grid: _ethlete_components.GridDirective<unknown> | null;
15251
- private gridItem;
15252
- private elementRef;
15253
- private destroyRef;
15254
- private document;
15255
- dragHandle: DragHandleDirective;
15256
- private origin;
15257
- private startBreakpoint;
15258
- private grabOffset;
15259
- private containerOrigin;
15260
- private lastPointer;
15261
- private lastTarget;
15262
- private gestureListeners;
15263
- private autoScroller;
15264
- constructor();
15265
- private startDrag;
15266
- private trackDragMove;
15267
- private applyPointer;
15268
- private settleDrag;
15269
- private cancelDrag;
15270
- private finishGesture;
15271
- private attachGestureListeners;
15272
- private detachGestureListeners;
15273
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridDragDirective, never>;
15274
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridDragDirective, "[etGridDrag]", never, {}, {}, never, never, true, [{ directive: typeof _ethlete_core.DragHandleDirective; inputs: {}; outputs: { "dragStarted": "dragStarted"; "dragMoved": "dragMoved"; "dragEnded": "dragEnded"; }; }]>;
15275
- }
15276
-
15277
- declare class GridResizeDirective {
15278
- private grid;
15279
- private gridItem;
15280
- private destroyRef;
15281
- private document;
15282
- private readonly hostElement;
15283
- isResizing: _angular_core.WritableSignal<boolean>;
15284
- /**
15285
- * Only the edges that can actually change a span at the active breakpoint. A strip whose axis is
15286
- * pinned - a column span at a one-column breakpoint, a fixed row span - would still swallow the
15287
- * `pointerdown` that started on it, so dropping it is what hands that part of the item's perimeter
15288
- * back to dragging.
15289
- */
15290
- resizeEdges: _angular_core.Signal<ResizeEdge[]>;
15291
- private start;
15292
- private startBreakpoint;
15293
- private lastSnap;
15294
- private lastEvent;
15295
- private startContainerOrigin;
15296
- private containerOrigin;
15297
- private gestureListeners;
15298
- private autoScroller;
15299
- constructor();
15300
- beginResize(): void;
15301
- updateResize(event: ResizeMoveEvent): void;
15302
- finishResize(): void;
15303
- cancelResize(): void;
15304
- private applyResize;
15305
- private finishGesture;
15306
- private attachGestureListeners;
15307
- private detachGestureListeners;
15308
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridResizeDirective, never>;
15309
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridResizeDirective, "[etGridResize]", never, {}, {}, never, never, true, never>;
15310
- }
15311
-
15312
- declare const GRID_TOKEN: InjectionToken<GridDirective<unknown>>;
15313
-
15314
- type GridConfig = {
15315
- registrations: GridComponentRegistration[];
15316
- actionsComponent?: GridItemActionsComponent | null;
15317
- };
15318
- declare const provideGridConfig: (valueOverride?: Partial<GridConfig> | undefined) => _angular_core.Provider[];
15319
- declare const injectGridConfig: _ethlete_core.InjectFn<GridConfig>;
15320
-
15321
- type GridAdapter<TExternal, TData = unknown, TBp extends GridBreakpointName = GridBreakpointName> = {
15322
- /** The breakpoints the adapter was declared with, ready to bind into the grid's `breakpoints` input. */
15323
- breakpoints: GridBreakpointConfig<TBp>[];
15324
- fromExternal(items: TExternal[]): GridItemConfig<string, TData, TBp>[];
15325
- toExternal(items: GridItemConfig<string, TData>[]): TExternal[];
15326
- };
15327
- /** The grid's breakpoints, keyed by name: `{ lg: { columns: 12, minWidth: 1200 }, … }`. */
15328
- type GridAdapterBreakpoints<TBp extends GridBreakpointName = GridBreakpointName> = Record<TBp, Omit<GridBreakpointConfig, 'name'>>;
15329
- type CreateGridAdapterOptions<TExternal, TData, TBp extends GridBreakpointName> = {
15330
- /**
15331
- * The grid's breakpoints. Their names type both mappers' `layout`, so a position is required for
15332
- * every one of them and an unknown key is a compile error.
15333
- */
15334
- breakpoints: GridAdapterBreakpoints<TBp>;
15335
- fromExternal: (item: TExternal) => GridItemConfig<string, TData, NoInfer<TBp>>;
15336
- toExternal: (item: GridItemConfig<string, TData, NoInfer<TBp>>) => TExternal;
16075
+ columns: number;
16076
+ };
16077
+ type ResolveCollisionsOptions = {
16078
+ entries: GridLayoutEntry[];
16079
+ movedId: string;
16080
+ columns: number;
16081
+ originPosition?: GridItemPosition;
16082
+ rowFloors?: RowFloors;
15337
16083
  };
15338
16084
  /**
15339
- * Bridges a backend's item shape to the grid's `GridItemConfig` and back - one mapper per direction,
15340
- * each mapping a single item. `breakpoints` is the single source of truth for the layout keys; bind
15341
- * `adapter.breakpoints` into the grid's `breakpoints` input so the two cannot drift.
15342
- */
15343
- declare const createGridAdapter: <TExternal, TData, TBp extends GridBreakpointName>(options: CreateGridAdapterOptions<TExternal, TData, TBp>) => GridAdapter<TExternal, TData, TBp>;
15344
- /**
15345
- * Maps every breakpoint of a layout record through one function, keeping the keys. Use it in either
15346
- * adapter direction to avoid repeating the position mapping per breakpoint.
16085
+ * Per-item lower bound (in rows) for the upward compaction pass. An item with a
16086
+ * floor is never pulled above it - used during live resize gestures to keep
16087
+ * unrelated items from collapsing into freshly vacated space while the pointer
16088
+ * is still down. Items without an entry compact all the way up (floor 0).
15347
16089
  */
15348
- declare const mapGridLayout: <TBp extends GridBreakpointName, TIn, TOut>(layout: Record<TBp, TIn>, map: (value: TIn, breakpoint: TBp) => TOut) => Record<TBp, TOut>;
15349
- /** Map a backend position shaped as `{x, y, cols, rows}` to a `GridItemPosition`. */
15350
- declare const toGridPosition: (pos: {
15351
- x: number;
15352
- y: number;
15353
- cols: number;
15354
- rows: number;
15355
- }) => GridItemPosition;
15356
- /** Map a `GridItemPosition` to a backend position shaped as `{x, y, cols, rows}`. */
15357
- declare const fromGridPosition: (pos: GridItemPosition) => {
15358
- x: number;
15359
- y: number;
15360
- cols: number;
15361
- rows: number;
16090
+ type RowFloors = ReadonlyMap<string, number>;
16091
+ type CompactLayoutOptions = {
16092
+ entries: GridLayoutEntry[];
16093
+ columns: number;
16094
+ rowFloors?: RowFloors;
15362
16095
  };
15363
-
15364
- declare class GridComponent<TData = unknown> {
15365
- private gridConfig;
15366
- private labels;
15367
- /**
15368
- * The items to render - a live input reconciled on every change, see `GridDirective.items`. Typed
15369
- * in the item payload, so `layoutChange` hands the same `TData` back instead of `unknown`.
15370
- */
15371
- items: _angular_core.InputSignal<GridItemConfig<string, TData>[]>;
15372
- /** Emitted after the layout changed on this side - see `GridDirective.layoutChange`. */
15373
- layoutChange: _angular_core.OutputEmitterRef<GridSerializedState<TData>>;
15374
- private projectedItems;
15375
- grid: GridDirective<TData>;
15376
- protected actionsComponent: _angular_core.Signal<_ethlete_components.GridItemActionsComponent | null>;
15377
- protected registeredItems: _angular_core.Signal<{
15378
- item: GridItemConfig<string, TData>;
15379
- reg: _ethlete_components.GridComponentRegistration;
15380
- }[]>;
15381
- protected ariaLabel: _angular_core.Signal<string>;
15382
- protected ghostRect: _angular_core.Signal<_ethlete_components.PixelRect | null>;
15383
- protected ghostTransition: _angular_core.Signal<"none" | "translate 200ms cubic-bezier(0.2, 0, 0, 1), width 200ms cubic-bezier(0.2, 0, 0, 1), height 200ms cubic-bezier(0.2, 0, 0, 1)">;
15384
- constructor();
15385
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridComponent<any>, never>;
15386
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<GridComponent<any>, "et-grid, [et-grid]", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; }, { "layoutChange": "layoutChange"; }, ["projectedItems"], ["*"], true, [{ directive: typeof GridDirective; inputs: { "breakpoints": "breakpoints"; "rowHeight": "rowHeight"; "gap": "gap"; "readOnly": "readOnly"; }; outputs: {}; }]>;
15387
- }
15388
-
15389
- declare class GridItemComponent {
15390
- private grid;
15391
- private gridItem;
15392
- private provideSurface;
15393
- private parentSurface;
15394
- gridDrag: GridDragDirective;
15395
- gridResize: GridResizeDirective;
15396
- private surfaceThemes;
15397
- ariaLabel: _angular_core.InputSignal<string>;
15398
- remove: _angular_core.OutputEmitterRef<void>;
15399
- protected isReadOnly: _angular_core.Signal<boolean>;
15400
- private resolvedSurface;
15401
- constructor();
15402
- protected blockPointerDownWhenReadOnly(event: PointerEvent): void;
15403
- applyKeyboardShortcut(event: KeyboardEvent): void;
15404
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridItemComponent, never>;
15405
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<GridItemComponent, "et-grid-item, [et-grid-item]", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "remove": "remove"; }, never, ["*", "[etGridItemAction]"], true, [{ directive: typeof GridItemDirective; inputs: { "itemId": "itemId"; "minColSpan": "minColSpan"; "maxColSpan": "maxColSpan"; "minRowSpan": "minRowSpan"; "maxRowSpan": "maxRowSpan"; }; outputs: {}; }, { directive: typeof GridDragDirective; inputs: {}; outputs: {}; }, { directive: typeof GridResizeDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.ProvideSurfaceDirective; inputs: {}; outputs: {}; }]>;
15406
- }
15407
-
15408
- declare class GridItemToolbarComponent {
15409
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridItemToolbarComponent, never>;
15410
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<GridItemToolbarComponent, "et-grid-item-toolbar, [et-grid-item-toolbar]", never, {}, {}, never, ["*"], true, never>;
15411
- }
15412
-
15413
- declare class GridItemDefaultActionsComponent {
15414
- private grid;
15415
- private labels;
15416
- itemId: _angular_core.InputSignal<string>;
15417
- data: _angular_core.InputSignal<unknown>;
15418
- protected removeAriaLabel: _angular_core.Signal<string>;
15419
- protected remove(): void;
15420
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridItemDefaultActionsComponent, never>;
15421
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<GridItemDefaultActionsComponent, "et-grid-item-default-actions", never, { "itemId": { "alias": "itemId"; "required": true; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
15422
- }
15423
-
15424
16096
  /**
15425
- * Development-only debug overlay for an `et-grid` instance.
15426
- *
15427
- * ```html
15428
- * <et-grid #myGrid [items]="items()" ...></et-grid>
15429
- * <et-grid-debug [grid]="myGrid" [externalItems]="items()" />
15430
- * ```
15431
- *
15432
- * Pass `externalItems` to detect divergence between the host signal
15433
- * and the grid's internal itemConfigs. The **Copy JSON** button writes
15434
- * a full diagnostic snapshot to the clipboard without any console output.
16097
+ * Checks whether two grid items overlap.
15435
16098
  */
15436
- declare class GridDebugComponent<TData = unknown> {
15437
- private destroyRef;
15438
- grid: _angular_core.InputSignal<GridComponent<TData>>;
15439
- externalItems: _angular_core.InputSignal<GridItemConfig<string, TData>[] | null>;
15440
- activeBreakpoint: _angular_core.Signal<string>;
15441
- containerWidth: _angular_core.Signal<number>;
15442
- breakpoints: _angular_core.Signal<_ethlete_components.GridBreakpointConfig[]>;
15443
- items: _angular_core.Signal<GridItemConfig<string, TData>[]>;
15444
- layout: _angular_core.Signal<_ethlete_components.GridLayoutEntry[]>;
15445
- hasDrag: _angular_core.Signal<boolean>;
15446
- hasExternal: _angular_core.Signal<boolean>;
15447
- copied: _angular_core.WritableSignal<boolean>;
15448
- rows: _angular_core.Signal<{
15449
- id: string;
15450
- type: string;
15451
- cells: {
15452
- bp: string;
15453
- int: GridItemPosition | undefined;
15454
- ext: GridItemPosition | undefined;
15455
- intMissing: boolean;
15456
- extMissing: boolean;
15457
- mismatch: boolean;
15458
- }[];
15459
- }[]>;
15460
- issueCount: _angular_core.Signal<number>;
15461
- fmtPos(pos: GridItemPosition | undefined): string;
15462
- copyJson($event: Event): void;
15463
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridDebugComponent<any>, never>;
15464
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<GridDebugComponent<any>, "et-grid-debug", never, { "grid": { "alias": "grid"; "required": true; "isSignal": true; }; "externalItems": { "alias": "externalItems"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
15465
- }
15466
-
15467
- declare const GRID_ERROR_CODES: {
15468
- readonly MISSING_GRID: 1900;
15469
- readonly MISSING_GRID_ITEM: 1901;
15470
- readonly DUPLICATE_ITEM_ID: 1902;
15471
- readonly INVALID_LAYOUT_STATE: 1903;
15472
- readonly UNKNOWN_ITEM_TYPE: 1904;
15473
- readonly DUPLICATE_ITEM_RENDER: 1905;
15474
- };
15475
-
16099
+ declare const itemsCollide: (a: GridItemPosition, b: GridItemPosition) => boolean;
15476
16100
  /**
15477
- * Every string the grid announces. It renders no text of its own - the items are yours - so these are
15478
- * all accessible labels.
15479
- *
15480
- * They used to live on `GridConfig` next to a `transformer(text, locale)` hook, which asked an app to
15481
- * translate *by matching the English string*. `GridConfig` keeps the registrations and the actions
15482
- * component; the wording lives here, like every other label in this library.
16101
+ * Returns the first item that collides with the given position, or undefined if none.
15483
16102
  */
15484
- type GridLabels = {
15485
- /** Accessible label for a grid whose items can be moved and resized. */
15486
- interactiveGrid: string;
15487
- /** Accessible label for a read-only grid. */
15488
- readonlyGrid: string;
15489
- /** Accessible label for an item's remove action. */
15490
- removeItem: string;
15491
- };
15492
- /** The built-in English labels. */
15493
- declare const DEFAULT_GRID_LABELS: GridLabels;
16103
+ declare const findCollision: (options: FindCollisionOptions) => GridLayoutEntry | undefined;
15494
16104
  /**
15495
- * Localize the grid's accessible labels for everything below this injector, and read the set in effect
15496
- * here as a signal. Partial - whatever you leave out keeps its {@link DEFAULT_GRID_LABELS} value. See
15497
- * {@link defineLabels} for the shape, which every domain in this library shares.
16105
+ * Compacts the layout vertically (moves items up as far as possible without collision).
15498
16106
  *
15499
- * @example
15500
- * provideGridLabels({ readonlyGrid: 'Raster', removeItem: 'Element entfernen' });
16107
+ * Also acts as a self-healing normaliser: positions that overflow the grid horizontally
16108
+ * (e.g. stale data from a wider breakpoint clamped into a narrower one - a colSpan of 12
16109
+ * or a col of 8 in a 6-column grid) are first clamped back into bounds, then any items
16110
+ * left overlapping are pushed down before the upward compaction runs. This guarantees the
16111
+ * returned layout is always in-bounds and overlap-free regardless of the input - clamping
16112
+ * a column alone is not enough, because it can drop an item on top of an existing one.
15501
16113
  */
15502
- declare const provideGridLabels: (labels: _ethlete_core.LabelsSource<GridLabels>) => _angular_core.Provider;
15503
- declare const injectGridLabels: () => _angular_core.Signal<GridLabels>;
15504
- declare const GRID_LABELS: _angular_core.InjectionToken<_ethlete_core.LabelsSource<GridLabels>>;
15505
-
15506
- /** The grid, its items, the item toolbar and the default item actions. */
15507
- declare const GRID_IMPORTS: readonly [typeof GridComponent, typeof GridItemComponent, typeof GridItemToolbarComponent, typeof GridItemDefaultActionsComponent];
16114
+ declare const compactLayout: (options: CompactLayoutOptions) => GridLayoutEntry[];
15508
16115
  /**
15509
- * The development-only debug overlay (`<et-grid-debug [grid]="…" />`). Separate so it never reaches a
15510
- * production bundle - the `et-grid-debug` localStorage flag only gates it at runtime.
16116
+ * Finds the first available position for an item with the given span in a grid.
16117
+ * Uses top-left gravity: scans row by row, column by column.
15511
16118
  */
15512
- declare const GRID_DEBUG_IMPORTS: readonly [typeof GridDebugComponent];
15513
-
15514
- type IconDefinition = {
15515
- name: string;
15516
- /**
15517
- * Optional style variant (e.g. `'solid'`, `'light'`, `'regular'`). Lets the same icon
15518
- * `name` exist in several styles without encoding the style into the name. Icons
15519
- * registered without a variant are matched by their bare name.
15520
- */
15521
- variant?: string;
15522
- data: string;
15523
- };
16119
+ declare const autoPlace: (options: AutoPlaceOptions) => GridItemPosition;
15524
16120
  /**
15525
- * Augmentable registry for the literal set of icon names an app uses. Empty by default,
15526
- * which keeps `etIcon` typed as plain `string`. The `@ethlete/components:icons` generator
15527
- * writes an augmentation for this interface, or you can augment it manually:
15528
- *
15529
- * ```ts
15530
- * declare module '@ethlete/components' {
15531
- * interface EthleteIconNameRegistry {
15532
- * name: 'shield' | 'plus';
15533
- * }
15534
- * }
15535
- * ```
16121
+ * Validates and clamps a position to respect grid boundaries and item constraints. The grid's own
16122
+ * width wins: a `minColSpan` larger than the breakpoint's column count yields a full-width item, not
16123
+ * one that overflows the grid.
15536
16124
  */
15537
- interface EthleteIconNameRegistry {
15538
- }
16125
+ declare const clampPosition: (options: ClampPositionOptions) => {
16126
+ col: number;
16127
+ row: number;
16128
+ colSpan: number;
16129
+ rowSpan: number;
16130
+ };
15539
16131
  /**
15540
- * Augmentable registry for the literal set of icon variants an app uses. Empty by default,
15541
- * which keeps the `variant` input typed as plain `string`. See {@link EthleteIconNameRegistry}.
16132
+ * Resolves collisions by pushing items down when a moved/resized item overlaps others.
16133
+ * If exactly one item of the same size collides, they swap positions instead.
16134
+ * Cascades: if pushed items collide with others, those are pushed down too.
15542
16135
  */
15543
- interface EthleteIconVariantRegistry {
15544
- }
15545
- type RegisteredIconName = EthleteIconNameRegistry extends {
15546
- name: infer N extends string;
15547
- } ? N : string;
15548
- type RegisteredIconVariant = EthleteIconVariantRegistry extends {
15549
- name: infer V extends string;
15550
- } ? V : string;
15551
- /** Variant the {@link IconDirective} falls back to when `etIcon` is used without an explicit `variant`. */
15552
- declare const DEFAULT_ICON_VARIANT = "solid";
15553
- /** Composite registry key for an icon `name` plus an optional `variant`. */
15554
- declare const iconRegistryKey: (name: string, variant?: string | null) => string;
15555
- declare const ICONS_TOKEN: InjectionToken<Record<string, IconDefinition>>;
16136
+ declare const resolveCollisions: (options: ResolveCollisionsOptions) => GridLayoutEntry[];
15556
16137
  /**
15557
- * Application-level icon overrides, merged on top of the icons a component self-registers
15558
- * via {@link provideIcons}. See {@link provideIconOverrides}.
16138
+ * Computes the total number of rows occupied by the layout.
15559
16139
  */
15560
- declare const ICON_OVERRIDES_TOKEN: InjectionToken<Record<string, IconDefinition>>;
15561
- declare const provideIcons: (...icons: IconDefinition[]) => {
15562
- provide: InjectionToken<Record<string, IconDefinition>>;
15563
- useValue: Record<string, IconDefinition>;
16140
+ declare const computeGridHeight: (entries: GridLayoutEntry[]) => number;
16141
+
16142
+ type MapLayoutOptions = {
16143
+ entries: GridLayoutEntry[];
16144
+ fromColumns: number;
16145
+ toColumns: number;
15564
16146
  };
15565
16147
  /**
15566
- * Canonical list of the icon names the SDK ships built-in and renders from its own
15567
- * components (select chevron, picker calendar/clock, close buttons, rich-text tools, …).
15568
- * It's the set you can target with {@link provideIconOverrides} to swap the default artwork.
15569
- *
15570
- * Keep this in sync when adding or removing a built-in `et-*` icon under
15571
- * `libs/components/src/lib/icon/headless/`.
16148
+ * Resolves the active breakpoint name based on the container width.
16149
+ * Breakpoints are sorted by minWidth descending - the first one whose minWidth is <= containerWidth wins.
15572
16150
  */
15573
- declare const ET_BUILT_IN_ICON_NAMES: readonly ["et-align-center", "et-align-justify", "et-align-left", "et-align-right", "et-arrow-out-up-right", "et-arrow-right", "et-arrow-up", "et-arrows-left-right", "et-bold", "et-calendar", "et-check", "et-chevron", "et-circle-check", "et-circle-info", "et-clipboard-check", "et-clock", "et-code", "et-code-block", "et-ellipsis", "et-ellipsis-vertical", "et-eye", "et-eye-slash", "et-file", "et-filter", "et-floppy-disk", "et-focus-frame", "et-grid-2x2", "et-heading-1", "et-heading-2", "et-heading-3", "et-image", "et-italic", "et-link", "et-list-bulleted", "et-list-numbered", "et-location", "et-lock", "et-minus", "et-paragraph", "et-pause", "et-pencil", "et-play", "et-plus", "et-quote", "et-redo", "et-rotate-right", "et-star", "et-strikethrough", "et-table", "et-times", "et-trash", "et-triangle-exclamation", "et-trophy", "et-underline", "et-undo", "et-upload"];
15574
- /** Union of the SDK's built-in icon names - see {@link ET_BUILT_IN_ICON_NAMES}. */
15575
- type EtBuiltInIconName = (typeof ET_BUILT_IN_ICON_NAMES)[number];
16151
+ declare const resolveBreakpoint: (breakpoints: GridBreakpointConfig[], containerWidth: number) => GridBreakpointName;
15576
16152
  /**
15577
- * An icon passed to {@link provideIconOverrides}. Identical to {@link IconDefinition}, but
15578
- * `name` autocompletes to the built-in {@link EtBuiltInIconName} set (the icons worth
15579
- * overriding) while still accepting any other string for registering brand-new names.
16153
+ * Auto-generates a layout for a smaller breakpoint from a larger one.
16154
+ * Items are re-flowed into fewer columns, maintaining their relative order.
15580
16155
  */
15581
- type IconOverride = Omit<IconDefinition, 'name'> & {
15582
- name: EtBuiltInIconName | (string & {});
16156
+ declare const mapLayoutToBreakpoint: (options: MapLayoutOptions) => GridLayoutEntry[];
16157
+ declare const DEFAULT_BREAKPOINTS: GridBreakpointConfig[];
16158
+
16159
+ type SerializeOptions<TData = unknown> = {
16160
+ items: GridItemConfig<string, TData>[];
16161
+ breakpoints: GridBreakpointConfig[];
16162
+ rowHeight: number;
15583
16163
  };
15584
16164
  /**
15585
- * Overrides the SDK's built-in icons app-wide (or for a subtree). Provide it once in your
15586
- * application providers with icons whose `name`/`variant` match the built-ins you want to
15587
- * replace - e.g. your own Font Awesome set generated via the `@ethlete/components:icons`
15588
- * generator - and every component that renders that icon picks up your version, without
15589
- * touching the component's own `provideIcons()` registration.
15590
- *
15591
- * `name` autocompletes to the built-in {@link ET_BUILT_IN_ICON_NAMES} set, so you don't have
15592
- * to guess which names exist; passing any other string registers a brand-new icon.
15593
- *
15594
- * Overrides are keyed by name/variant and merged *on top of* the component-level registry,
15595
- * so unlisted icons keep their built-in defaults.
15596
- *
15597
- * ```ts
15598
- * // app.config.ts
15599
- * providers: [
15600
- * provideIconOverrides(
15601
- * { name: 'et-chevron', data: myChevronSvg },
15602
- * { name: 'et-times', data: myTimesSvg },
15603
- * ),
15604
- * ],
15605
- * ```
16165
+ * Serializes the current grid state into a JSON-compatible object suitable for DB storage.
15606
16166
  */
15607
- declare const provideIconOverrides: (...icons: IconOverride[]) => {
15608
- provide: InjectionToken<Record<string, IconDefinition>>;
15609
- useValue: Record<string, IconDefinition>;
15610
- };
15611
-
15612
- declare const ALIGN_LEFT_ICON: IconDefinition;
15613
- declare const ALIGN_CENTER_ICON: IconDefinition;
15614
- declare const ALIGN_RIGHT_ICON: IconDefinition;
15615
- declare const ALIGN_JUSTIFY_ICON: IconDefinition;
15616
-
15617
- declare const ARROW_OUT_UP_RIGHT_ICON: IconDefinition;
15618
-
15619
- declare const ARROW_RIGHT_ICON: IconDefinition;
15620
-
16167
+ declare const serializeGridLayout: <TData>(options: SerializeOptions<TData>) => GridSerializedState<TData>;
15621
16168
  /**
15622
- * Upward arrow. Rotate it 180° for the downward one - see the table's sort indicator.
15623
- *
15624
- * Drawn to fill its viewBox and sit centred in it (the shaft spans 3.5–20.5 of 24, so the glyph's
15625
- * midpoint is the box's). An arrow inset from its own box renders far smaller than the text it sits
15626
- * beside, and off-centre against it, however carefully the box itself is aligned.
16169
+ * Deserializes a stored grid state back into working configuration.
16170
+ * Returns breakpoint configs and item configs.
15627
16171
  */
15628
- declare const ARROW_UP_ICON: IconDefinition;
15629
-
15630
- /** Arrows pointing apart along the inline axis - a "fit to width" action (the table's autosize). */
15631
- declare const ARROWS_LEFT_RIGHT_ICON: IconDefinition;
15632
-
15633
- declare const BOLD_ICON: IconDefinition;
15634
-
15635
- declare const CALENDAR_ICON: IconDefinition;
15636
-
15637
- declare const CHECK_ICON: IconDefinition;
15638
-
15639
- declare const CHEVRON_ICON: IconDefinition;
15640
-
15641
- declare const CIRCLE_CHECK_ICON: IconDefinition;
15642
-
15643
- declare const CIRCLE_INFO_ICON: IconDefinition;
15644
-
15645
- declare const CLIPBOARD_CHECK_ICON: IconDefinition;
15646
-
15647
- declare const CLOCK_ICON: IconDefinition;
15648
-
15649
- declare const CODE_BLOCK_ICON: IconDefinition;
15650
-
15651
- declare const CODE_ICON: IconDefinition;
15652
-
15653
- /** Horizontal three-dot glyph - the breadcrumb's "show the hidden levels" trigger. */
15654
- declare const ELLIPSIS_ICON: IconDefinition;
15655
-
15656
- /** Vertical three-dot "more actions" glyph - the table's column menu trigger. */
15657
- declare const ELLIPSIS_VERTICAL_ICON: IconDefinition;
15658
-
15659
- declare const EYE_ICON: IconDefinition;
15660
- declare const EYE_SLASH_ICON: IconDefinition;
15661
-
15662
- declare const FILE_ICON: IconDefinition;
15663
-
15664
- /** Funnel glyph for a column's filter menu trigger. */
15665
- declare const FILTER_ICON: IconDefinition;
15666
-
15667
- declare const FLOPPY_DISK_ICON: IconDefinition;
16172
+ declare const deserializeGridLayout: <TData>(state: GridSerializedState<TData>, breakpointMinWidths: Record<string, number>) => {
16173
+ breakpoints: GridBreakpointConfig[];
16174
+ items: GridItemConfig<string, TData>[];
16175
+ rowHeight: number;
16176
+ };
15668
16177
 
15669
- declare const FOCUS_FRAME_ICON: IconDefinition;
16178
+ declare class GridItemDirective {
16179
+ private grid;
16180
+ private injector;
16181
+ private destroyRef;
16182
+ hostElement: ElementRef<HTMLElement>;
16183
+ itemId: _angular_core.InputSignal<string>;
16184
+ minColSpan: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
16185
+ maxColSpan: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
16186
+ minRowSpan: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
16187
+ maxRowSpan: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
16188
+ /**
16189
+ * Span bounds that replace the four inputs above at one breakpoint:
16190
+ * `[perBreakpointConstraints]="{ sm: { maxColSpan: 1 } }"`. Merged per key, so a bound the
16191
+ * breakpoint does not name keeps whatever the item or its registration set.
16192
+ */
16193
+ perBreakpointConstraints: _angular_core.InputSignal<Partial<Record<string, Partial<_ethlete_components.GridItemConstraints>>> | undefined>;
16194
+ isBeingDragged: _angular_core.Signal<boolean>;
16195
+ currentPosition: _angular_core.Signal<_ethlete_components.GridItemPosition | null>;
16196
+ /** The layout-derived target rect in container-relative pixels. */
16197
+ slotRect: _angular_core.Signal<PixelRect | null>;
16198
+ private renderModeSignal;
16199
+ private liveRect;
16200
+ private isSettlingSignal;
16201
+ private enteringSignal;
16202
+ renderMode: _angular_core.Signal<"layout" | "direct">;
16203
+ isSettling: _angular_core.Signal<boolean>;
16204
+ protected entering: _angular_core.Signal<boolean>;
16205
+ protected leaving: _angular_core.Signal<boolean>;
16206
+ /** The rect currently bound to the host: pointer-driven while direct-controlled, the slot otherwise. */
16207
+ renderedRect: _angular_core.Signal<PixelRect | null>;
16208
+ protected translateStyle: _angular_core.Signal<string | null>;
16209
+ protected transitionStyle: _angular_core.Signal<"none" | "translate var(--et-grid-anim-duration, 250ms) cubic-bezier(0.2, 0, 0, 1), width var(--et-grid-anim-duration, 250ms) cubic-bezier(0.2, 0, 0, 1), height var(--et-grid-anim-duration, 250ms) cubic-bezier(0.2, 0, 0, 1), scale 200ms cubic-bezier(0.2, 0, 0, 1), opacity 200ms cubic-bezier(0.2, 0, 0, 1)">;
16210
+ private settleListener;
16211
+ constructor();
16212
+ startDirectControl(): void;
16213
+ updateDirectRect(rect: PixelRect): void;
16214
+ stopDirectControl(): void;
16215
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridItemDirective, never>;
16216
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridItemDirective, "[etGridItem]", ["etGridItem"], { "itemId": { "alias": "itemId"; "required": true; "isSignal": true; }; "minColSpan": { "alias": "minColSpan"; "required": false; "isSignal": true; }; "maxColSpan": { "alias": "maxColSpan"; "required": false; "isSignal": true; }; "minRowSpan": { "alias": "minRowSpan"; "required": false; "isSignal": true; }; "maxRowSpan": { "alias": "maxRowSpan"; "required": false; "isSignal": true; }; "perBreakpointConstraints": { "alias": "perBreakpointConstraints"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16217
+ }
15670
16218
 
15671
- declare const GRID_2X2_ICON: IconDefinition;
16219
+ declare class GridDragDirective {
16220
+ protected grid: _ethlete_components.GridDirective<unknown> | null;
16221
+ private gridItem;
16222
+ private elementRef;
16223
+ private destroyRef;
16224
+ private document;
16225
+ dragHandle: DragHandleDirective;
16226
+ private origin;
16227
+ private startBreakpoint;
16228
+ private grabOffset;
16229
+ private containerOrigin;
16230
+ private lastPointer;
16231
+ private lastTarget;
16232
+ private gestureListeners;
16233
+ private autoScroller;
16234
+ constructor();
16235
+ private startDrag;
16236
+ private trackDragMove;
16237
+ private applyPointer;
16238
+ private settleDrag;
16239
+ private cancelDrag;
16240
+ private finishGesture;
16241
+ private attachGestureListeners;
16242
+ private detachGestureListeners;
16243
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridDragDirective, never>;
16244
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridDragDirective, "[etGridDrag]", never, {}, {}, never, never, true, [{ directive: typeof _ethlete_core.DragHandleDirective; inputs: {}; outputs: { "dragStarted": "dragStarted"; "dragMoved": "dragMoved"; "dragEnded": "dragEnded"; }; }]>;
16245
+ }
15672
16246
 
15673
- declare const HEADING_1_ICON: IconDefinition;
16247
+ declare class GridResizeDirective {
16248
+ private grid;
16249
+ private gridItem;
16250
+ private destroyRef;
16251
+ private document;
16252
+ private readonly hostElement;
16253
+ isResizing: _angular_core.WritableSignal<boolean>;
16254
+ /**
16255
+ * Only the edges that can actually change a span at the active breakpoint. A strip whose axis is
16256
+ * pinned - a column span at a one-column breakpoint, a fixed row span - would still swallow the
16257
+ * `pointerdown` that started on it, so dropping it is what hands that part of the item's perimeter
16258
+ * back to dragging.
16259
+ */
16260
+ resizeEdges: _angular_core.Signal<ResizeEdge[]>;
16261
+ private start;
16262
+ private startBreakpoint;
16263
+ private lastSnap;
16264
+ private lastEvent;
16265
+ private startContainerOrigin;
16266
+ private containerOrigin;
16267
+ private gestureListeners;
16268
+ private autoScroller;
16269
+ constructor();
16270
+ beginResize(): void;
16271
+ updateResize(event: ResizeMoveEvent): void;
16272
+ finishResize(): void;
16273
+ cancelResize(): void;
16274
+ private applyResize;
16275
+ private finishGesture;
16276
+ private attachGestureListeners;
16277
+ private detachGestureListeners;
16278
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridResizeDirective, never>;
16279
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridResizeDirective, "[etGridResize]", never, {}, {}, never, never, true, never>;
16280
+ }
15674
16281
 
15675
- declare const HEADING_2_ICON: IconDefinition;
16282
+ declare const GRID_TOKEN: InjectionToken<GridDirective<unknown>>;
15676
16283
 
15677
- declare const HEADING_3_ICON: IconDefinition;
16284
+ type GridConfig = {
16285
+ registrations: GridComponentRegistration[];
16286
+ actionsComponent?: GridItemActionsComponent | null;
16287
+ };
16288
+ declare const provideGridConfig: (valueOverride?: Partial<GridConfig> | undefined) => _angular_core.Provider[];
16289
+ declare const injectGridConfig: _ethlete_core.InjectFn<GridConfig>;
15678
16290
 
15679
- declare const ICON_ERROR_CODES: {
15680
- readonly NO_ICONS_PROVIDED: 1800;
15681
- readonly ICON_NOT_FOUND: 1801;
15682
- readonly INVALID_SVG: 1802;
15683
- readonly MISSING_XMLNS: 1803;
15684
- readonly MISSING_DIMENSIONS: 1804;
15685
- readonly HARDCODED_COLOR: 1805;
15686
- readonly DUPLICATE_ICON_NAME: 1806;
16291
+ type GridAdapter<TExternal, TData = unknown, TBp extends GridBreakpointName = GridBreakpointName> = {
16292
+ /** The breakpoints the adapter was declared with, ready to bind into the grid's `breakpoints` input. */
16293
+ breakpoints: GridBreakpointConfig<TBp>[];
16294
+ fromExternal(items: TExternal[]): GridItemConfig<string, TData, TBp>[];
16295
+ toExternal(items: GridItemConfig<string, TData>[]): TExternal[];
16296
+ };
16297
+ /** The grid's breakpoints, keyed by name: `{ lg: { columns: 12, minWidth: 1200 }, … }`. */
16298
+ type GridAdapterBreakpoints<TBp extends GridBreakpointName = GridBreakpointName> = Record<TBp, Omit<GridBreakpointConfig, 'name'>>;
16299
+ type CreateGridAdapterOptions<TExternal, TData, TBp extends GridBreakpointName> = {
16300
+ /**
16301
+ * The grid's breakpoints. Their names type both mappers' `layout`, so a position is required for
16302
+ * every one of them and an unknown key is a compile error.
16303
+ */
16304
+ breakpoints: GridAdapterBreakpoints<TBp>;
16305
+ fromExternal: (item: TExternal) => GridItemConfig<string, TData, NoInfer<TBp>>;
16306
+ toExternal: (item: GridItemConfig<string, TData, NoInfer<TBp>>) => TExternal;
16307
+ };
16308
+ /**
16309
+ * Bridges a backend's item shape to the grid's `GridItemConfig` and back - one mapper per direction,
16310
+ * each mapping a single item. `breakpoints` is the single source of truth for the layout keys; bind
16311
+ * `adapter.breakpoints` into the grid's `breakpoints` input so the two cannot drift.
16312
+ */
16313
+ declare const createGridAdapter: <TExternal, TData, TBp extends GridBreakpointName>(options: CreateGridAdapterOptions<TExternal, TData, TBp>) => GridAdapter<TExternal, TData, TBp>;
16314
+ /**
16315
+ * Maps every breakpoint of a layout record through one function, keeping the keys. Use it in either
16316
+ * adapter direction to avoid repeating the position mapping per breakpoint.
16317
+ */
16318
+ declare const mapGridLayout: <TBp extends GridBreakpointName, TIn, TOut>(layout: Record<TBp, TIn>, map: (value: TIn, breakpoint: TBp) => TOut) => Record<TBp, TOut>;
16319
+ /** Map a backend position shaped as `{x, y, cols, rows}` to a `GridItemPosition`. */
16320
+ declare const toGridPosition: (pos: {
16321
+ x: number;
16322
+ y: number;
16323
+ cols: number;
16324
+ rows: number;
16325
+ }) => GridItemPosition;
16326
+ /** Map a `GridItemPosition` to a backend position shaped as `{x, y, cols, rows}`. */
16327
+ declare const fromGridPosition: (pos: GridItemPosition) => {
16328
+ x: number;
16329
+ y: number;
16330
+ cols: number;
16331
+ rows: number;
15687
16332
  };
15688
16333
 
15689
- declare const ICON_DIRECTIVE_TOKEN: InjectionToken<IconDirective>;
15690
- declare class IconDirective {
15691
- private icons;
15692
- private iconOverrides;
15693
- private sanitizer;
15694
- iconNameToUse: InputSignal<RegisteredIconName>;
15695
- variant: InputSignal<RegisteredIconVariant | undefined>;
15696
- allowHardcodedColor: _angular_core.InputSignalWithTransform<boolean, unknown>;
16334
+ declare class GridComponent<TData = unknown> {
16335
+ private gridConfig;
16336
+ private labels;
15697
16337
  /**
15698
- * Give the icon an accessible name, for the case where it **is** the content rather than decoration:
15699
- * a status glyph alone in a table cell, a lone icon button's only child, a checkmark that is the
15700
- * whole answer.
15701
- *
15702
- * Without it the icon is `aria-hidden` - the right default, since an icon normally sits beside the
15703
- * text it illustrates and repeating it is noise. With it the host becomes `role="img"` with this as
15704
- * its `aria-label`, so the meaning survives for a screen reader.
15705
- *
15706
- * Name what the icon **means**, not what it depicts: `'Verified'`, not `'checkmark'`.
16338
+ * The items to render - a live input reconciled on every change, see `GridDirective.items`. Typed
16339
+ * in the item payload, so `layoutChange` hands the same `TData` back instead of `unknown`.
15707
16340
  */
15708
- label: InputSignal<string | null>;
15709
- private registry;
15710
- private resolvedIcon;
15711
- iconSrc: _angular_core.Signal<_angular_platform_browser.SafeHtml | null>;
15712
- hostClasses: _angular_core.Signal<string>;
16341
+ items: _angular_core.InputSignal<GridItemConfig<string, TData>[]>;
16342
+ /** Emitted after the layout changed on this side - see `GridDirective.layoutChange`. */
16343
+ layoutChange: _angular_core.OutputEmitterRef<GridSerializedState<TData>>;
16344
+ private projectedItems;
16345
+ grid: GridDirective<TData>;
16346
+ protected actionsComponent: _angular_core.Signal<_ethlete_components.GridItemActionsComponent | null>;
16347
+ protected registeredItems: _angular_core.Signal<{
16348
+ item: GridItemConfig<string, TData>;
16349
+ reg: _ethlete_components.GridComponentRegistration;
16350
+ }[]>;
16351
+ protected ariaLabel: _angular_core.Signal<string>;
16352
+ protected ghostRect: _angular_core.Signal<_ethlete_components.PixelRect | null>;
16353
+ protected ghostTransition: _angular_core.Signal<"none" | "translate 200ms cubic-bezier(0.2, 0, 0, 1), width 200ms cubic-bezier(0.2, 0, 0, 1), height 200ms cubic-bezier(0.2, 0, 0, 1)">;
15713
16354
  constructor();
15714
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<IconDirective, never>;
15715
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IconDirective, "[etIcon]", never, { "iconNameToUse": { "alias": "etIcon"; "required": true; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "allowHardcodedColor": { "alias": "allowHardcodedColor"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16355
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridComponent<any>, never>;
16356
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<GridComponent<any>, "et-grid, [et-grid]", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; }, { "layoutChange": "layoutChange"; }, ["projectedItems"], ["*"], true, [{ directive: typeof GridDirective; inputs: { "breakpoints": "breakpoints"; "rowHeight": "rowHeight"; "gap": "gap"; "readOnly": "readOnly"; }; outputs: {}; }]>;
15716
16357
  }
15717
16358
 
15718
- declare const IMAGE_ICON: IconDefinition;
15719
-
15720
- declare const ITALIC_ICON: IconDefinition;
15721
-
15722
- declare const LINK_ICON: IconDefinition;
15723
-
15724
- declare const LIST_BULLETED_ICON: IconDefinition;
15725
-
15726
- declare const LIST_NUMBERED_ICON: IconDefinition;
15727
-
15728
- declare const LOCATION_ICON: IconDefinition;
15729
-
15730
- declare const LOCK_ICON: IconDefinition;
15731
-
15732
- declare const MINUS_ICON: IconDefinition;
15733
-
15734
- declare const PARAGRAPH_ICON: IconDefinition;
15735
-
15736
- declare const PAUSE_ICON: IconDefinition;
15737
-
15738
- declare const PENCIL_ICON: IconDefinition;
15739
-
15740
- declare const PLAY_ICON: IconDefinition;
15741
-
15742
- declare const PLUS_ICON: IconDefinition;
15743
-
15744
- declare const QUOTE_ICON: IconDefinition;
15745
-
15746
- declare const ROTATE_RIGHT_ICON: IconDefinition;
15747
-
15748
- declare const STAR_ICON: IconDefinition;
15749
-
15750
- declare const STRIKETHROUGH_ICON: IconDefinition;
15751
-
15752
- declare const TABLE_ICON: IconDefinition;
15753
-
15754
- declare const TIMES_ICON: IconDefinition;
15755
-
15756
- declare const TRASH_ICON: IconDefinition;
16359
+ declare class GridItemComponent {
16360
+ private grid;
16361
+ private gridItem;
16362
+ private provideSurface;
16363
+ private parentSurface;
16364
+ gridDrag: GridDragDirective;
16365
+ gridResize: GridResizeDirective;
16366
+ private surfaceThemes;
16367
+ ariaLabel: _angular_core.InputSignal<string>;
16368
+ remove: _angular_core.OutputEmitterRef<void>;
16369
+ protected isReadOnly: _angular_core.Signal<boolean>;
16370
+ private resolvedSurface;
16371
+ constructor();
16372
+ protected blockPointerDownWhenReadOnly(event: PointerEvent): void;
16373
+ applyKeyboardShortcut(event: KeyboardEvent): void;
16374
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridItemComponent, never>;
16375
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<GridItemComponent, "et-grid-item, [et-grid-item]", never, { "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; }, { "remove": "remove"; }, never, ["*", "[etGridItemAction]"], true, [{ directive: typeof GridItemDirective; inputs: { "itemId": "itemId"; "minColSpan": "minColSpan"; "maxColSpan": "maxColSpan"; "minRowSpan": "minRowSpan"; "maxRowSpan": "maxRowSpan"; "perBreakpointConstraints": "perBreakpointConstraints"; }; outputs: {}; }, { directive: typeof GridDragDirective; inputs: {}; outputs: {}; }, { directive: typeof GridResizeDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.ProvideSurfaceDirective; inputs: {}; outputs: {}; }]>;
16376
+ }
15757
16377
 
15758
- declare const TRIANGLE_EXCLAMATION_ICON: IconDefinition;
16378
+ declare class GridItemToolbarComponent {
16379
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridItemToolbarComponent, never>;
16380
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<GridItemToolbarComponent, "et-grid-item-toolbar, [et-grid-item-toolbar]", never, {}, {}, never, ["*"], true, never>;
16381
+ }
15759
16382
 
15760
- declare const TROPHY_ICON: IconDefinition;
16383
+ declare class GridItemDefaultActionsComponent {
16384
+ private grid;
16385
+ private labels;
16386
+ itemId: _angular_core.InputSignal<string>;
16387
+ data: _angular_core.InputSignal<unknown>;
16388
+ protected removeAriaLabel: _angular_core.Signal<string>;
16389
+ protected remove(): void;
16390
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridItemDefaultActionsComponent, never>;
16391
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<GridItemDefaultActionsComponent, "et-grid-item-default-actions", never, { "itemId": { "alias": "itemId"; "required": true; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16392
+ }
15761
16393
 
15762
- declare const UNDERLINE_ICON: IconDefinition;
16394
+ /**
16395
+ * Development-only debug overlay for an `et-grid` instance.
16396
+ *
16397
+ * ```html
16398
+ * <et-grid #myGrid [items]="items()" ...></et-grid>
16399
+ * <et-grid-debug [grid]="myGrid" [externalItems]="items()" />
16400
+ * ```
16401
+ *
16402
+ * Pass `externalItems` to detect divergence between the host signal
16403
+ * and the grid's internal itemConfigs. The **Copy JSON** button writes
16404
+ * a full diagnostic snapshot to the clipboard without any console output.
16405
+ */
16406
+ declare class GridDebugComponent<TData = unknown> {
16407
+ private destroyRef;
16408
+ grid: _angular_core.InputSignal<GridComponent<TData>>;
16409
+ externalItems: _angular_core.InputSignal<GridItemConfig<string, TData>[] | null>;
16410
+ activeBreakpoint: _angular_core.Signal<string>;
16411
+ containerWidth: _angular_core.Signal<number>;
16412
+ breakpoints: _angular_core.Signal<_ethlete_components.GridBreakpointConfig[]>;
16413
+ items: _angular_core.Signal<GridItemConfig<string, TData>[]>;
16414
+ layout: _angular_core.Signal<_ethlete_components.GridLayoutEntry[]>;
16415
+ hasDrag: _angular_core.Signal<boolean>;
16416
+ hasExternal: _angular_core.Signal<boolean>;
16417
+ copied: _angular_core.WritableSignal<boolean>;
16418
+ rows: _angular_core.Signal<{
16419
+ id: string;
16420
+ type: string;
16421
+ cells: {
16422
+ bp: string;
16423
+ int: GridItemPosition | undefined;
16424
+ ext: GridItemPosition | undefined;
16425
+ intMissing: boolean;
16426
+ extMissing: boolean;
16427
+ mismatch: boolean;
16428
+ }[];
16429
+ }[]>;
16430
+ issueCount: _angular_core.Signal<number>;
16431
+ fmtPos(pos: GridItemPosition | undefined): string;
16432
+ copyJson($event: Event): void;
16433
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridDebugComponent<any>, never>;
16434
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<GridDebugComponent<any>, "et-grid-debug", never, { "grid": { "alias": "grid"; "required": true; "isSignal": true; }; "externalItems": { "alias": "externalItems"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16435
+ }
15763
16436
 
15764
- declare const UNDO_ICON: IconDefinition;
15765
- declare const REDO_ICON: IconDefinition;
16437
+ declare const GRID_ERROR_CODES: {
16438
+ readonly MISSING_GRID: 1900;
16439
+ readonly MISSING_GRID_ITEM: 1901;
16440
+ readonly DUPLICATE_ITEM_ID: 1902;
16441
+ readonly INVALID_LAYOUT_STATE: 1903;
16442
+ readonly UNKNOWN_ITEM_TYPE: 1904;
16443
+ readonly DUPLICATE_ITEM_RENDER: 1905;
16444
+ };
15766
16445
 
15767
- declare const UPLOAD_ICON: IconDefinition;
16446
+ /**
16447
+ * Every string the grid announces. It renders no text of its own - the items are yours - so these are
16448
+ * all accessible labels.
16449
+ *
16450
+ * They used to live on `GridConfig` next to a `transformer(text, locale)` hook, which asked an app to
16451
+ * translate *by matching the English string*. `GridConfig` keeps the registrations and the actions
16452
+ * component; the wording lives here, like every other label in this library.
16453
+ */
16454
+ type GridLabels = {
16455
+ /** Accessible label for a grid whose items can be moved and resized. */
16456
+ interactiveGrid: string;
16457
+ /** Accessible label for a read-only grid. */
16458
+ readonlyGrid: string;
16459
+ /** Accessible label for an item's remove action. */
16460
+ removeItem: string;
16461
+ };
16462
+ /** The built-in English labels. */
16463
+ declare const DEFAULT_GRID_LABELS: GridLabels;
16464
+ /**
16465
+ * Localize the grid's accessible labels for everything below this injector, and read the set in effect
16466
+ * here as a signal. Partial - whatever you leave out keeps its {@link DEFAULT_GRID_LABELS} value. See
16467
+ * {@link defineLabels} for the shape, which every domain in this library shares.
16468
+ *
16469
+ * @example
16470
+ * provideGridLabels({ readonlyGrid: 'Raster', removeItem: 'Element entfernen' });
16471
+ */
16472
+ declare const provideGridLabels: (labels: _ethlete_core.LabelsSource<GridLabels>) => _angular_core.Provider;
16473
+ declare const injectGridLabels: () => _angular_core.Signal<GridLabels>;
16474
+ declare const GRID_LABELS: _angular_core.InjectionToken<_ethlete_core.LabelsSource<GridLabels>>;
15768
16475
 
15769
- declare const ICON_IMPORTS: readonly [typeof IconDirective];
16476
+ /** The grid, its items, the item toolbar and the default item actions. */
16477
+ declare const GRID_IMPORTS: readonly [typeof GridComponent, typeof GridItemComponent, typeof GridItemToolbarComponent, typeof GridItemDefaultActionsComponent];
16478
+ /**
16479
+ * The development-only debug overlay (`<et-grid-debug [grid]="…" />`). Separate so it never reaches a
16480
+ * production bundle - the `et-grid-debug` localStorage flag only gates it at runtime.
16481
+ */
16482
+ declare const GRID_DEBUG_IMPORTS: readonly [typeof GridDebugComponent];
15770
16483
 
15771
16484
  type KbdPlatform = 'apple' | 'other';
15772
16485
  /**
@@ -15779,6 +16492,11 @@ declare const detectKbdPlatform: () => KbdPlatform;
15779
16492
  * browser; provide it to pin the rendering (useful for a server render or a visual test).
15780
16493
  */
15781
16494
  declare const KBD_PLATFORM: InjectionToken<KbdPlatform>;
16495
+ /**
16496
+ * The canonical name of a key, with spelling aliases resolved - `cmd` and `command` both give
16497
+ * `meta`, `escape` gives `esc`. An unknown key is returned lowercased and trimmed.
16498
+ */
16499
+ declare const canonicalKbdKey: (key: string) => string;
15782
16500
  /**
15783
16501
  * Splits a chord such as `mod+shift+k` into its keys. Whitespace around a key is ignored; use `plus`
15784
16502
  * for the literal `+` key.
@@ -15789,6 +16507,24 @@ declare const kbdKeyLabel: (key: string, platform: KbdPlatform) => string;
15789
16507
  /** The spoken name of a key, for the text a screen reader reads in place of the glyph. */
15790
16508
  declare const kbdKeyName: (key: string, platform: KbdPlatform) => string;
15791
16509
 
16510
+ type MatchesKbdChordOptions = {
16511
+ /** The chord, in the same syntax `et-kbd` prints. */
16512
+ keys: string;
16513
+ /** Which platform `mod` means Command on. Read it from `KBD_PLATFORM`. */
16514
+ platform: KbdPlatform;
16515
+ };
16516
+ /**
16517
+ * Whether a keydown event is the chord written in `et-kbd`'s syntax - `mod+k`, `shift+alt+up`. The
16518
+ * modifiers must match exactly, so `mod+k` does not fire on `Ctrl+Shift+K`, and `mod` resolves to
16519
+ * Command on Apple platforms and Control everywhere else.
16520
+ *
16521
+ * A chord of modifiers alone never matches; it needs one real key.
16522
+ *
16523
+ * @example
16524
+ * matchesKbdChord(event, { keys: 'mod+k', platform: inject(KBD_PLATFORM) });
16525
+ */
16526
+ declare const matchesKbdChord: (event: KeyboardEvent, options: MatchesKbdChordOptions) => boolean;
16527
+
15792
16528
  /**
15793
16529
  * A keyboard shortcut rendered as keycaps, one cap per key, with the glyphs the current platform
15794
16530
  * prints on them - `mod+k` reads `⌘ K` on Apple and `Ctrl K` everywhere else.
@@ -17411,10 +18147,9 @@ type OverlayStrategyControllerMountConfig = {
17411
18147
  positionStrategy: OverlayRuntimePositionStrategy;
17412
18148
  paneClass: string[];
17413
18149
  hostClass: string[];
17414
- backdropClass: string[];
17415
18150
  animationDelegate: OverlayRuntimeAnimationDelegate;
17416
18151
  renderArrow: boolean;
17417
- hasBackdrop: boolean | undefined;
18152
+ hasBackdrop: boolean;
17418
18153
  };
17419
18154
  type OverlayStrategyController = {
17420
18155
  /** Values the overlay manager merges into the runtime mount config before mounting. */
@@ -21509,12 +22244,21 @@ type TableColumn<T, TValue = unknown> = {
21509
22244
  value: (row: T) => TValue;
21510
22245
  /** Allow sorting by this column (renders a sortable header). @default false */
21511
22246
  sortable?: boolean;
22247
+ /**
22248
+ * Turn off this column's own header controls: the sortable header, the filter menu and the column
22249
+ * menu all render disabled. The cells keep rendering their values, and a sort or filter the column
22250
+ * already carries stays applied - only the controls that would change it are off. Resizing and
22251
+ * hiding the column are width and layout gestures, and stay available.
22252
+ * @default false
22253
+ */
22254
+ disabled?: boolean;
21512
22255
  /** Comparable value to sort by. Defaults to `value`. Use when the display value isn't comparable. */
21513
22256
  sortValue?: (row: T) => TableSortValue;
21514
22257
  /**
21515
22258
  * The value a CSV export writes for this column. Defaults to `value`. Required for a column whose
21516
22259
  * cell is an `etTableCell` template - a template renders DOM, which has no text form to export -
21517
- * and for one whose `value` isn't a primitive.
22260
+ * and for one whose `value` isn't a primitive. Once declared it is the only source the export
22261
+ * reads: `null` for an empty cell writes an empty field, never the `value` behind it.
21518
22262
  */
21519
22263
  exportValue?: (row: T) => TableCsvValue;
21520
22264
  /**
@@ -21779,7 +22523,8 @@ type TableCsvExportOptions<T> = Omit<TableCsvSerializeOptions<T>, 'rows'> & {
21779
22523
  *
21780
22524
  * A cell's text comes from the column's `exportValue`, else its `value` accessor. A column rendered
21781
22525
  * through an `etTableCell` template needs `exportValue`: a template is DOM, and there is nothing to
21782
- * serialize it to.
22526
+ * serialize it to. A column that declares `exportValue` is exported by it alone - an empty cell it
22527
+ * reports as `null` is written as an empty field, not as the raw `value` behind it.
21783
22528
  *
21784
22529
  * @example
21785
22530
  * const csv = tableToCsv(this.table(), { columns: 'all', delimiter: ';' });
@@ -22437,6 +23182,12 @@ type TableFeatureHost = {
22437
23182
  * and the spacing every other row has.
22438
23183
  */
22439
23184
  hasRowBox(): boolean;
23185
+ /**
23186
+ * Whether rows are cards - a box on a surface one elevation above the table's own. A feature drawing
23187
+ * a whole row has to raise that row too, else its card is painted on the table's surface and reads as
23188
+ * a gap between the real ones.
23189
+ */
23190
+ hasCardRows(): boolean;
22440
23191
  /**
22441
23192
  * The rendered header cells of the visible columns, in the same order as `visibleColumnsMeta()`.
22442
23193
  * A feature that must attach behavior to cells the table renders (a reorder drag) works from these.
@@ -22797,6 +23548,7 @@ type TableHeaderCellVm<T> = TableCellPinning & {
22797
23548
  column: TableColumnDef<T>;
22798
23549
  align: string;
22799
23550
  sortable: boolean;
23551
+ disabled: boolean;
22800
23552
  ariaSort: 'ascending' | 'descending' | 'none' | null;
22801
23553
  sortLabel: string | null;
22802
23554
  direction: TableSortDirection | null;
@@ -22939,7 +23691,8 @@ declare class TableComponent<T> {
22939
23691
  * The table's visual frame. `'enclosed'` (default) is a bordered, rounded surface panel with a
22940
23692
  * tinted header band; `'divided'` is borderless with row dividers; `'zebra'` stripes rows; `'grid'`
22941
23693
  * draws full cell borders; `'bare'` has no chrome; `'cards'` gives every row a box of its own - a
22942
- * tinted, rounded card, spaced by `--et-table-row-gap`. @default 'enclosed'
23694
+ * rounded card on a surface one elevation above the table's, spaced by `--et-table-row-gap`.
23695
+ * @default 'enclosed'
22943
23696
  */
22944
23697
  appearance: _angular_core.InputSignal<"grid" | "enclosed" | "divided" | "zebra" | "bare" | "cards">;
22945
23698
  /** Row density (cell padding): `'sm'` tight, `'md'` default, `'lg'` roomy. @default 'md' */
@@ -23102,6 +23855,7 @@ declare class TableComponent<T> {
23102
23855
  }>;
23103
23856
  private columnDefs;
23104
23857
  private columnOrder;
23858
+ private restoredColumns;
23105
23859
  private hiddenColumns;
23106
23860
  /**
23107
23861
  * The user's width overrides (px) per column. Public because it is part of the feature contract -
@@ -23180,6 +23934,8 @@ declare class TableComponent<T> {
23180
23934
  * nothing behind but a flicker under the header.
23181
23935
  */
23182
23936
  protected showBusyBar: _angular_core.Signal<boolean>;
23937
+ /** Whether body rows are cards - a box painted on a surface of its own (see `.et-table-row--card`). */
23938
+ protected cardRows: _angular_core.Signal<boolean>;
23183
23939
  /**
23184
23940
  * Whether a body row gets a box of its own instead of being layout-transparent - a subgrid spanning
23185
23941
  * every track (see `.et-table-row--box`).
@@ -23318,6 +24074,8 @@ declare class TableComponent<T> {
23318
24074
  hasFillerTrack(): boolean;
23319
24075
  /** Whether rows have a box of their own (a card, a row link). Part of the feature contract. */
23320
24076
  hasRowBox(): boolean;
24077
+ /** Whether rows are cards. Part of the feature contract. */
24078
+ hasCardRows(): boolean;
23321
24079
  /** The `expandedRowTemplate` input, type-erased for the feature contract. */
23322
24080
  detailTemplate(): TemplateRef<TableExpandedRowContext<T>> | null;
23323
24081
  /**
@@ -23666,6 +24424,35 @@ declare class TableFooterCellDirective<T> {
23666
24424
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TableFooterCellDirective<any>, "ng-template[etTableFooterCell]", ["etTableFooterCell"], { "column": { "alias": "etTableFooterCell"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
23667
24425
  }
23668
24426
 
24427
+ /**
24428
+ * Raises a card row one surface elevation above the table it lies on, so the card is painted by a
24429
+ * theme instead of by a tint over the table's own surface - and so anything inside the row that
24430
+ * resolves an elevation of its own (a form field in an editing cell, a nested auto-surface) resolves
24431
+ * it from the card rather than from the table under it.
24432
+ *
24433
+ * @internal
24434
+ */
24435
+ declare class TableCardSurfaceDirective {
24436
+ private provideSurface;
24437
+ private parentSurface;
24438
+ private surfaceThemes;
24439
+ /**
24440
+ * Whether this row is a card. The table binds it per appearance; where it is off the row keeps the
24441
+ * surface it inherits, which is what every other appearance paints its rows on.
24442
+ */
24443
+ etTableCardSurface: _angular_core.InputSignalWithTransform<boolean, unknown>;
24444
+ private resolvedSurface;
24445
+ /**
24446
+ * Whether the card asked for an elevation the app cannot give it - it registers no surface themes, or
24447
+ * the table already sits on the top of the ladder. The row then falls back to a tint (see
24448
+ * `.et-table-row--card-tint`), so a card is still marked off from the table under it.
24449
+ */
24450
+ protected hasNoSurface: _angular_core.Signal<boolean>;
24451
+ constructor();
24452
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableCardSurfaceDirective, never>;
24453
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TableCardSurfaceDirective, "[etTableCardSurface]", never, { "etTableCardSurface": { "alias": "etTableCardSurface"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _ethlete_core.ProvideSurfaceDirective; inputs: {}; outputs: {}; }]>;
24454
+ }
24455
+
23669
24456
  /** Options for {@link TableCellErrorTooltipDirective}. */
23670
24457
  type TableCellErrorTooltipConfig = TableFeatureConfig;
23671
24458
  /**
@@ -23921,7 +24708,8 @@ type TableDragScrollConfig = TableFeatureConfig;
23921
24708
  * A press that does not travel is still a click, so rows, row links and header controls behave exactly
23922
24709
  * as they did; a press that becomes a drag swallows the click it would have ended on, so panning off a
23923
24710
  * row link does not also follow it. Dragging inside a text field is left alone, and a touch pointer
23924
- * keeps the browser's own scrolling.
24711
+ * keeps the browser's own scrolling. A press inside content that scrolls on its own - a sub table in a
24712
+ * detail row - belongs to that content, so the table stays put.
23925
24713
  *
23926
24714
  * @example
23927
24715
  * <et-table [data]="rows()" [columns]="COLUMNS" etTableDragScroll />
@@ -26262,7 +27050,7 @@ declare const TREE_ERROR_CODES: {
26262
27050
  declare const TREE_IMPORTS: readonly [typeof TreeComponent, typeof TreeDirective, typeof TreeNodeDirective, typeof TreeNodeDefDirective];
26263
27051
 
26264
27052
  /** The version of `@ethlete/components` this build was cut from. */
26265
- declare const COMPONENTS_VERSION = "1.0.0-next.55";
27053
+ declare const COMPONENTS_VERSION = "1.0.0-next.56";
26266
27054
 
26267
- export { ACCORDION_ERROR_CODES, ACCORDION_GROUP_TOKEN, ACCORDION_IMPORTS, ACCORDION_TOKEN, ALIGN_CENTER_ICON, ALIGN_JUSTIFY_ICON, ALIGN_LEFT_ICON, ALIGN_RIGHT_ICON, ARROWS_LEFT_RIGHT_ICON, ARROW_OUT_UP_RIGHT_ICON, ARROW_RIGHT_ICON, ARROW_UP_ICON, AVATAR_IMPORTS, AVATAR_SHAPES, AVATAR_SIZES, AccordionComponent, AccordionContentDirective, AccordionDirective, AccordionGroupComponent, AccordionGroupDirective, AccordionHintDirective, AccordionLabelDirective, AccordionPanelDirective, AccordionTriggerDirective, AvatarComponent, AvatarGroupComponent, BADGE_ICON_ALIGNMENTS, BADGE_IMPORTS, BADGE_SIZES, BADGE_VARIANTS, BANNER_IMPORTS, BANNER_LABELS, BANNER_TYPES, BOLD_ICON, BRACKET_CARD_CONTEXT, BRACKET_DATA_LAYOUT, BRACKET_DEFAULTS, BRACKET_DENSITY, BRACKET_DENSITY_PRESETS, BRACKET_ERROR_CODES, BRACKET_IMPORTS, BRACKET_LABELS, BRACKET_ROUND_MIRROR_TYPE, BRACKET_SWISS_GROUP_COLOR_TYPE, BREADCRUMB_COLLAPSE_IMPORTS, BREADCRUMB_COLLAPSE_TOKEN, BREADCRUMB_ERROR_CODES, BREADCRUMB_IMPORTS, BREADCRUMB_LABELS, BREADCRUMB_SEGMENT_TOKEN, BREADCRUMB_SEO_IMPORTS, BREADCRUMB_TOKEN, BUTTON_ICON_ALIGNMENTS, BUTTON_IMPORTS, BUTTON_SIZES, BUTTON_SPINNER_CONFIG, BUTTON_TYPES, BUTTON_VARIANTS, BadgeComponent, BannerComponent, BracketComponent, BracketDefaultContinueComponent, BracketDefaultFinalMatchComponent, BracketDefaultMatchComponent, BracketDefaultRoundHeaderComponent, BracketMap, BracketRoundsListComponent, BrandLoaderComponent, BreadcrumbCollapseDirective, BreadcrumbComponent, BreadcrumbDirective, BreadcrumbItemDirective, BreadcrumbItemTemplateDirective, BreadcrumbOutletComponent, BreadcrumbOverflowComponent, BreadcrumbSegmentDirective, BreadcrumbSeoDirective, BreadcrumbSeparatorDirective, ButtonColorDirective, ButtonComponent, ButtonDirective, ButtonStylesDirective, CALENDAR_ERROR_CODES, CALENDAR_ICON, CALENDAR_IMPORTS, CALENDAR_LABELS, CARD_IMPORTS, CARD_VARIANTS, CAROUSEL_AUTOPLAY_TOKEN, CAROUSEL_ERROR_CODES, CAROUSEL_IMPORTS, CAROUSEL_LABELS, CAROUSEL_SLIDE_ALIGNMENTS, CAROUSEL_TOKEN, CAROUSEL_TRANSITIONS, CAROUSEL_TRANSITION_DRIVERS, CASCADER_ERROR_CODES, CASCADER_IMPORTS, CASCADER_LABELS, CASCADER_SELECTABLE_LEVELS, CHECKBOX_GROUP_IMPORTS, CHECKBOX_IMPORTS, CHECKBOX_OPTION_VARIANTS, CHECK_ICON, CHEVRON_ICON, CHIP_ERROR_CODES, CHIP_IMPORTS, CHIP_LABELS, CHOICE_FIELD_IMPORTS, CHOICE_FIELD_VARIANTS, CIRCLE_CHECK_ICON, CIRCLE_INFO_ICON, CLIPBOARD_CHECK_ICON, CLOCK_ICON, CODE_BLOCK_ICON, CODE_ICON, COLOR_INPUT_IMPORTS, COMMON_BRACKET_ROUND_TYPE, COMPONENTS_VERSION, COPY_BUTTON_IMPORTS, CalendarCellDirective, CalendarComponent, CalendarDirective, CalendarGridDirective, CalendarHeaderDirective, CardComponent, CarouselAutoplayDirective, CarouselComponent, CarouselDirective, CarouselItemDirective, CarouselNextDirective, CarouselPlayToggleDirective, CarouselPreviousDirective, CarouselSlideDirective, CascaderColumnDirective, CascaderComponent, CascaderDirective, CascaderNodeDirective, CascaderPanelComponent, CascaderSearchDirective, CascaderSearchOptionDirective, CascaderSurfaceDirective, CascaderTriggerDirective, CheckboxComponent, CheckboxDirective, CheckboxGroupComponent, CheckboxGroupSelectAllComponent, CheckboxOptionComponent, ChipComponent, ChipDirective, ChipRemoveDirective, ChoiceFieldComponent, ColorInputComponent, ColorInputDirective, ControlSuffixDirective, CopyButtonDirective, CounterComponent, DAILYMOTION_PLAYER_TOKEN, DATE_FORMAT, DATE_INPUT_ERROR_CODES, DATE_INPUT_IMPORTS, DATE_LOCALE, DATE_PICKER_HOST, DATE_RANGE_INPUT_ERROR_CODES, DATE_RANGE_INPUT_IMPORTS, DATE_TIME_INPUT_ERROR_CODES, DATE_TIME_INPUT_IMPORTS, DATE_TIME_LABELS, DATE_TIME_RANGE_INPUT_ERROR_CODES, DATE_TIME_RANGE_INPUT_IMPORTS, DEFAULT_BANNER_LABELS, DEFAULT_BRACKET_LABELS, DEFAULT_BREADCRUMB_LABELS, DEFAULT_BREAKPOINTS, DEFAULT_CALENDAR_LABELS, DEFAULT_CALENDAR_RANGE_STRATEGY, DEFAULT_CAROUSEL_LABELS, DEFAULT_CASCADER_LABELS, DEFAULT_CHIP_LABELS, DEFAULT_DATE_TIME_LABELS, DEFAULT_DROPZONE_LABELS, DEFAULT_FILTER_OVERLAY_LABELS, DEFAULT_FORM_FIELD_LABELS, DEFAULT_GRID_LABELS, DEFAULT_ICON_VARIANT, DEFAULT_INPUT_LABELS, DEFAULT_LOADER_LABELS, DEFAULT_MATCH_CARD_START_TIME_FORMAT, DEFAULT_MATCH_LABELS, DEFAULT_NOTIFICATION_LABELS, DEFAULT_NOTIFICATION_MANAGER_CONFIG, DEFAULT_NOTIFICATION_STATUS_ICONS, DEFAULT_PAGINATION_LABELS, DEFAULT_PHONE_INPUT_LABELS, DEFAULT_PIP_WINDOW_CONFIG, DEFAULT_QUERY_ERROR_LABELS, DEFAULT_RICH_TEXT_EDITOR_LABELS, DEFAULT_RICH_TEXT_EDITOR_TOOLS, DEFAULT_SCHEDULER_LABELS, DEFAULT_SELECT_LABELS, DEFAULT_SLIDER_LABELS, DEFAULT_STANDINGS_LABELS, DEFAULT_STREAM_LABELS, DEFAULT_STREAM_PLAYER_STATE, DEFAULT_TABLE_LABELS, DEFAULT_TIME_PICKER_LABELS, DESCRIPTION_IMPORTS, DESCRIPTION_LIST_IMPORTS, DESCRIPTION_LIST_VARIANTS, DIVIDER_IMPORTS, DOUBLE_ELIMINATION_BRACKET_ROUND_TYPE, DROPZONE_ENTRY_STATUSES, DROPZONE_ERROR_CODES, DROPZONE_FILES_ERROR_KIND, DROPZONE_FILE_CONSTRAINTS, DROPZONE_FILE_REJECTION_REASONS, DROPZONE_IMPORTS, DROPZONE_LABELS, DURATION_INPUT_ERROR_CODES, DURATION_INPUT_IMPORTS, DailymotionPlayerComponent, DailymotionPlayerDirective, DailymotionPlayerParamsDirective, DailymotionPlayerSlotComponent, DateInputComponent, DateInputDirective, DateInputFieldDirective, DatePickerPanelComponent, DatePickerSurfaceDirective, DatePickerTriggerDirective, DateRangeInputComponent, DateRangeInputDirective, DateRangeInputFieldDirective, DateTimeInputComponent, DateTimeInputDirective, DateTimeInputFieldDirective, DateTimeRangeInputComponent, DateTimeRangeInputDirective, DateTimeRangeInputFieldDirective, DescriptionComponent, DescriptionListComponent, DividerComponent, DropzoneComponent, DropzoneDirective, DurationInputComponent, DurationInputDirective, DurationInputFieldDirective, ELLIPSIS_ICON, ELLIPSIS_VERTICAL_ICON, EMPTY_STATE_IMPORTS, ET_BUILT_IN_ICON_NAMES, EYE_ICON, EYE_SLASH_ICON, EmptyStateComponent, FACEBOOK_PLAYER_TOKEN, FIELD_WARNINGS, FIELD_WARNING_KIND, FILE_ICON, FILTER_ICON, FILTER_OVERLAY_ERROR_CODES, FILTER_OVERLAY_IMPORTS, FILTER_OVERLAY_LABELS, FILTER_OVERLAY_TOKEN, FLOATING_ACTION_ERROR_CODES, FLOATING_ACTION_IMPORTS, FLOATING_ACTION_STATES, FLOATING_ACTION_TOKEN, FLOPPY_DISK_ICON, FOCUS_FRAME_ICON, FORM_ERROR_MESSAGE_RESOLVER, FORM_FIELD_APPEARANCES, FORM_FIELD_CONTROL_TYPES, FORM_FIELD_ERROR_CODES, FORM_FIELD_FILLS, FORM_FIELD_IMPORTS, FORM_FIELD_LABELS, FORM_FIELD_LABEL_MODES, FORM_FIELD_SIZES, FORM_FIELD_TOKEN, FORM_IMPORTS, FORM_WARNING_MESSAGE_RESOLVER, FabComponent, FacebookPlayerComponent, FacebookPlayerDirective, FacebookPlayerParamsDirective, FacebookPlayerSlotComponent, FilterOverlayResetDirective, FilterOverlaySubmitDirective, FloatingActionAnchorDirective, FloatingActionDirective, FloatingActionScopeDirective, FloatingActionTopDirective, FloatingActionTriggerDirective, FocusRingDirective, FormDirective, FormErrorComponent, FormFieldBarrierDirective, FormFieldComponent, FormFieldDirective, FormWarningComponent, GERMAN_FILTER_OVERLAY_LABELS, GERMAN_QUERY_ERROR_LABELS, GRID_2X2_ICON, GRID_DEBUG_IMPORTS, GRID_ERROR_CODES, GRID_IMPORTS, GRID_LABELS, GRID_TOKEN, GROUP_BRACKET_ROUND_TYPE, GridComponent, GridDebugComponent, GridDirective, GridDragDirective, GridItemComponent, GridItemDefaultActionsComponent, GridItemDirective, GridItemRef, GridItemToolbarComponent, GridResizeDirective, HEADING_1_ICON, HEADING_2_ICON, HEADING_3_ICON, HintComponent, ICONS_TOKEN, ICON_DIRECTIVE_TOKEN, ICON_ERROR_CODES, ICON_IMPORTS, ICON_OVERRIDES_TOKEN, IMAGE_ICON, INHERIT_COLOR, INITIAL_SUPPORT_PRESENTATION_STATE, INPUT_IMPORTS, INPUT_LABELS, INPUT_MASK_HOST, INPUT_TEXT_ALIGNMENTS, INPUT_TYPES, INTERACTIVE_TAGS, ITALIC_ICON, IconButtonComponent, IconDirective, InputComponent, InputDirective, InputMaskDirective, InputPrefixDirective, InputSuffixDirective, KBD_IMPORTS, KBD_PLATFORM, KICK_PLAYER_TOKEN, KbdComponent, KickPlayerComponent, KickPlayerDirective, KickPlayerParamsDirective, KickPlayerSlotComponent, LINK_ICON, LIST_BULLETED_ICON, LIST_NUMBERED_ICON, LOADER_LABELS, LOCATION_ICON, LOCK_ICON, LabelDirective, MASKED_INPUT_ERROR_CODES, MASKED_INPUT_IMPORTS, MASK_VALUE_MODES, MASONRY_ERROR_CODES, MASONRY_IMPORTS, MASONRY_TOKEN, MATCH_CARD_IMPORTS, MATCH_CARD_SIZES, MATCH_CARD_TOKEN, MATCH_ERROR_CODES, MATCH_LABELS, MATCH_PARTICIPANT_IMPORTS, MENU_ERROR_CODES, MENU_IMPORTS, MENU_ITEM_VARIANTS, MENU_SELECTION_GROUP_MULTIPLE, MENU_SELECTION_GROUP_TOKEN, MENU_SELECTION_ITEM_KIND, MINUS_ICON, MULTI_LANGUAGE_RICH_TEXT_EDITOR_ERROR_CODES, MULTI_LANGUAGE_RICH_TEXT_EDITOR_IMPORTS, MasonryDirective, MasonryItemDirective, MatchCardComponent, MatchCardDirective, MatchCardGameScoresDirective, MatchCardMetaDirective, MatchCardScoreDirective, MatchParticipantComponent, MatchScoreComponent, MenuCheckboxGroupComponent, MenuCheckboxItemComponent, MenuComponent, MenuContextTriggerDirective, MenuDirective, MenuGroupLabelComponent, MenuItemComponent, MenuItemDirective, MenuItemShortcutComponent, MenuPanelDirective, MenuRadioGroupComponent, MenuRadioItemComponent, MenuSearchDirective, MenuSelectionGroupDirective, MenuSelectionItemDirective, MenuSeparatorComponent, MenuSurfaceDirective, MenuTriggerDirective, MultiLanguageRichTextEditorComponent, MultiLanguageRichTextEditorDirective, MultiLanguageRichTextEditorLanguageToolComponent, NAV_TABS_TOKEN, NAV_TAB_IMPORTS, NOTIFICATION_ACTION_SLOTS, NOTIFICATION_ERROR_CODES, NOTIFICATION_IMPORTS, NOTIFICATION_LABELS, NOTIFICATION_STACK_CONTEXT_TOKEN, NOTIFICATION_STACK_OVERLAY_LAYER, NOTIFICATION_STATUS, NUMBER_INPUT_IMPORTS, NavTabLinkComponent, NavTabLinkDirective, NavTabLinkStylesComponent, NavTabsComponent, NavTabsDirective, NavTabsOutletComponent, NavTabsOutletDirective, NotificationActionDirective, NotificationComponent, NotificationDirective, NotificationDismissDirective, NotificationItemDirective, NotificationStackDirective, NotificationSwipeToDismissDirective, NumberInputComponent, NumberInputDirective, OTP_INPUT_IMPORTS, OVERLAY_BACK_OR_CLOSE_TOKEN, OVERLAY_BODY_TOKEN, OVERLAY_CONFIG_CLASS_KEYS, OVERLAY_CONTENT_IMPORTS, OVERLAY_ERROR_CODES, OVERLAY_FOOTER_TOKEN, OVERLAY_HEADER_TEMPLATE_TOKEN, OVERLAY_HEADER_TOKEN, OVERLAY_IMPORTS, OVERLAY_MAIN_TOKEN, OVERLAY_QUERY_PARAM_INPUT_NAME, OVERLAY_REF, OVERLAY_ROUTER_CONFIG_TOKEN, OVERLAY_ROUTER_LINK_TOKEN, OVERLAY_ROUTER_OUTLET_DISABLED_TEMPLATE_TOKEN, OVERLAY_ROUTER_OUTLET_TOKEN, OVERLAY_ROUTER_TOKEN, OVERLAY_SHARED_ROUTE_TEMPLATE_TOKEN, OtpInputComponent, OtpInputDirective, OverlayAnchorDirective, OverlayBackOrCloseDirective, OverlayBodyComponent, OverlayCloseDirective, OverlayContainerComponent, OverlayDirective, OverlayFooterDirective, OverlayHeaderDirective, OverlayHeaderTemplateDirective, OverlayMainDirective, OverlayNavTabLinkComponent, OverlayOriginCloneComponent, OverlayRouteHeaderTemplateOutletComponent, OverlayRouterLinkDirective, OverlayRouterOutletComponent, OverlayRouterOutletDisabledTemplateDirective, OverlaySharedRouteTemplateDirective, OverlaySharedRouteTemplateOutletComponent, OverlaySidebarComponent, OverlaySidebarPageComponent, OverlaySurfaceDirective, OverlayTitleDirective, OverlayTriggerDirective, PAGE_SIZE_SELECT_IMPORTS, PAGINATION_IMPORTS, PAGINATION_LABELS, PARAGRAPH_ICON, PASSWORD_INPUT_IMPORTS, PAUSE_ICON, PENCIL_ICON, PHONE_COUNTRIES, PHONE_INPUT_ERROR_CODES, PHONE_INPUT_IMPORTS, PHONE_INPUT_LABELS, PICTURE_IMPORTS, PICTURE_STATES, PIP_CHROME_REF_TOKEN, PIP_ENTRY_TOKEN, PIP_WINDOW_ASPECT_RATIO_TOKEN, PLAY_ICON, PLUS_ICON, PROGRESS_STEPS_IMPORTS, PROGRESS_STEPS_ORIENTATIONS, PROGRESS_STEP_STATES, PageSizeSelectComponent, PaginationComponent, PaginationDirective, PaginationSeoDirective, PasswordInputComponent, PasswordInputDirective, PhoneInputComponent, PhoneInputDirective, PhoneInputFieldDirective, PhoneInputFlagDirective, PictureComponent, PictureErrorDirective, PicturePlaceholderDirective, PipBackDirective, PipBringBackDirective, PipCellDirective, PipCloseDirective, PipCollapseOverlayDirective, PipGridToggleDirective, PipPlayerComponent, PipSlotPlaceholderComponent, PipStageDirective, PipTitleBarDirective, PipTitleBarTemplateDirective, PipWindowComponent, PipWindowParamsDirective, ProgressBarComponent, ProgressStepComponent, ProgressStepsComponent, QUERY_ERROR_ERROR_CODES, QUERY_ERROR_IMPORTS, QUERY_ERROR_LABELS, QUERY_ERROR_TOKEN, QUOTE_ICON, QueryErrorActionsDirective, QueryErrorComponent, QueryErrorDirective, QueryErrorTitleDirective, QueryParamOverlayLinkDirective, RADIO_GROUP_IMPORTS, RADIO_VARIANTS, RATING_IMPORTS, REDO_ICON, RICH_TEXT_EDITOR_FLOATING_TOOLBAR, RICH_TEXT_EDITOR_HEADING_OPTIONS, RICH_TEXT_EDITOR_IMPORTS, RICH_TEXT_EDITOR_INLINE_TOOLS, RICH_TEXT_EDITOR_LABELS, RICH_TEXT_EDITOR_LANGUAGE_TOOL, RICH_TEXT_EDITOR_LINK_EDITOR, RICH_TEXT_EDITOR_TOKEN_CODEC, RICH_TEXT_EDITOR_TOKEN_PALETTE_IMPORTS, RICH_TEXT_EDITOR_TOOL, RICH_TEXT_EDITOR_TOOLS, RICH_TEXT_EDITOR_TOOL_BUTTONS, RICH_TEXT_EDITOR_TRIGGERS_IMPORTS, ROTATE_RIGHT_ICON, RadioComponent, RadioGroupComponent, RangeSliderComponent, RangeSliderDirective, RatingComponent, RatingDirective, RatingIconDirective, RichTextEditorAlignToolComponent, RichTextEditorComponent, RichTextEditorDirective, RichTextEditorFloatingToolbarComponent, RichTextEditorFloatingToolbarDirective, RichTextEditorHeadingToolComponent, RichTextEditorImageEditorComponent, RichTextEditorImageStylesComponent, RichTextEditorImageToolComponent, RichTextEditorLinkEditorComponent, RichTextEditorLinkEditorDirective, RichTextEditorTableStylesComponent, RichTextEditorTableToolComponent, RichTextEditorTokenPaletteComponent, RichTextEditorTokenPopupComponent, RichTextEditorTriggersDirective, SCHEDULER_ADD_SURFACE_OVERLAY, SCHEDULER_EDIT_SURFACE_HOST, SCHEDULER_EDIT_SURFACE_OVERLAY, SCHEDULER_ERROR_CODES, SCHEDULER_FEATURE_HOST, SCHEDULER_IMPORTS, SCHEDULER_LABELS, SCROLLABLE_DARKEN_IMPORTS, SCROLLABLE_DRAG_IMPORTS, SCROLLABLE_ERROR_CODES, SCROLLABLE_IMPORTS, SCROLLABLE_NAVIGATION_IMPORTS, SEGMENTED_BUTTON_GROUP_VARIANTS, SEGMENTED_BUTTON_IMPORTS, SELECTION_CARD_CONTROL_POSITIONS, SELECTION_LIST_IMPORTS, SELECTION_LIST_MULTIPLE, SELECTION_LIST_TOKEN, SELECT_ERROR_CODES, SELECT_FILTER_MODES, SELECT_IMPORTS, SELECT_LABELS, SIDEBAR_OVERLAY_CONFIG, SIDEBAR_OVERLAY_TOKEN, SINGLE_ELIMINATION_BRACKET_ROUND_TYPE, SKELETON_IMPORTS, SLIDER_ERROR_CODES, SLIDER_IMPORTS, SLIDER_LABELS, SLIDER_MARK_VALUE_ATTRIBUTE, SLIDER_TOKEN, SNAP_HYSTERESIS, SOOP_PLAYER_TOKEN, SPLIT_BUTTON_ERROR_CODES, STANDINGS_ERROR_CODES, STANDINGS_IMPORTS, STANDINGS_LABELS, STAR_ICON, STREAM_ALL_IMPORTS, STREAM_CONSENT_TOKEN, STREAM_DAILYMOTION_IMPORTS, STREAM_FACEBOOK_IMPORTS, STREAM_IMPORTS, STREAM_KICK_IMPORTS, STREAM_LABELS, STREAM_PIP_IMPORTS, STREAM_PLAYER_COMPONENT_TOKEN, STREAM_PLAYER_ERROR_CONTEXT_TOKEN, STREAM_PLAYER_ERROR_TOKEN, STREAM_PLAYER_PARAMS_TOKEN, STREAM_PLAYER_SLOT_TOKEN, STREAM_PLAYER_TOKEN, STREAM_SLOT_PLAYER_ID_TOKEN, STREAM_SOOP_IMPORTS, STREAM_TIKTOK_IMPORTS, STREAM_TWITCH_IMPORTS, STREAM_USER_CONSENT_PROVIDER_TOKEN, STREAM_VIMEO_IMPORTS, STREAM_YOUTUBE_IMPORTS, STRIKETHROUGH_ICON, SUPPORT_CONTENT_STATE, SUPPORT_TRANSITION_DIRECTION, SWISS_BRACKET_ROUND_TYPE, SWITCH_IMPORTS, SchedulerActionAddAppointmentDirective, SchedulerActionAddSubAppointmentDirective, SchedulerActionDeleteDirective, SchedulerAgendaDirective, SchedulerAgendaViewComponent, SchedulerAppointmentDragDirective, SchedulerBadgeChainCountComponent, SchedulerBadgeChainCountDirective, SchedulerBadgeColorDotComponent, SchedulerBadgeColorDotDirective, SchedulerBadgeLocationComponent, SchedulerBadgeLocationDirective, SchedulerBadgeTimeRangeComponent, SchedulerBadgeTimeRangeDirective, SchedulerBadgeTitleComponent, SchedulerBadgeTitleDirective, SchedulerComponent, SchedulerDirective, SchedulerEditColorComponent, SchedulerEditColorDirective, SchedulerEditDescriptionComponent, SchedulerEditDescriptionDirective, SchedulerEditLocationComponent, SchedulerEditLocationDirective, SchedulerEditSurfaceComponent, SchedulerEditSurfaceDirective, SchedulerEditTimeRangeComponent, SchedulerEditTimeRangeDirective, SchedulerEditTitleComponent, SchedulerEditTitleDirective, SchedulerMonthDirective, SchedulerMonthViewComponent, SchedulerSwipeNavigationDirective, SchedulerTimeGridDirective, SchedulerTimeGridViewComponent, ScrollableActiveChildDirective, ScrollableButtonsComponent, ScrollableButtonsDirective, ScrollableComponent, ScrollableDarkenDirective, ScrollableDirective, ScrollableDragDirective, ScrollableIgnoreChildDirective, ScrollableLoadingTemplateDirective, ScrollableMasksComponent, ScrollableNavigationComponent, ScrollableNavigationDirective, ScrollableSnapDirective, SegmentedButtonComponent, SegmentedButtonGroupComponent, SelectComponent, SelectDirective, SelectEmptyDirective, SelectErrorDirective, SelectListboxDirective, SelectLoadingDirective, SelectOptionComponent, SelectOptionDirective, SelectOptionGroupComponent, SelectOptionGroupDirective, SelectOptionTemplateDirective, SelectOptionsDirective, SelectPanelComponent, SelectSearchDirective, SelectSurfaceDirective, SelectTriggerDirective, SelectValueDirective, SelectViewportDirective, SelectVirtualOptionComponent, SelectVirtualOptionDirective, SelectionListControlDirective, SelectionListDirective, SelectionOptionDirective, SkeletonComponent, SkeletonItemComponent, SkeletonTextComponent, SliderComponent, SliderDirective, SliderThumbDirective, SliderThumbLabelDirective, SliderTrackDirective, SoopPlayerComponent, SoopPlayerDirective, SoopPlayerParamsDirective, SoopPlayerSlotComponent, SpinnerComponent, SplitButtonActionDirective, SplitButtonComponent, SplitButtonDirective, SplitButtonTriggerDirective, StandingsComponent, StandingsDirective, StreamConsentAcceptDirective, StreamConsentComponent, StreamConsentDirective, StreamPipChromeComponent, StreamPlayerErrorComponent, StreamPlayerErrorDirective, StreamPlayerLoadingComponent, StreamPlayerSlotDirective, SwitchComponent, SwitchDirective, TABLE_CELL_ERROR_TOOLTIP_IMPORTS, TABLE_COLUMN_CHOOSER_IMPORTS, TABLE_COLUMN_MENU_IMPORTS, TABLE_CSV_EXPORT_IMPORTS, TABLE_DRAG_SCROLL_IMPORTS, TABLE_ERROR_CODES, TABLE_FEATURE_HOST, TABLE_FILTER_IMPORTS, TABLE_GROUP_HEADERS_IMPORTS, TABLE_ICON, TABLE_IMPORTS, TABLE_INLINE_EDIT_IMPORTS, TABLE_KEYBOARD_NAV_IMPORTS, TABLE_LABELS, TABLE_PAGE_STICKY_HEADER_IMPORTS, TABLE_REORDER_IMPORTS, TABLE_RESIZE_IMPORTS, TABLE_ROW_EXPANSION_IMPORTS, TABLE_ROW_ROUTER_LINK_IMPORTS, TABLE_SELECTION_IMPORTS, TABLE_SKELETON_IMPORTS, TABLE_STATE_PERSISTENCE_IMPORTS, TABLE_STICKY_COLUMNS_IMPORTS, TABLE_VIRTUAL_SCROLL_IMPORTS, TAB_BAR_FITS, TAB_BAR_ORIENTATIONS, TAB_BAR_TOKEN, TAB_BAR_TRIGGER_TOKEN, TAB_BAR_VARIANTS, TAB_ERROR_CODES, TAB_GROUP_TOKEN, TAB_IMPORTS, TAB_PANEL_TOKEN, TAB_SIZES, TAG_INPUT_ERROR_CODES, TAG_INPUT_IMPORTS, TEXTAREA_IMPORTS, TEXTAREA_RESIZE_MODES, TEXT_ALIGNS, TIKTOK_PLAYER_TOKEN, TIMELINE_IMPORTS, TIMES_ICON, TIME_FORMAT, TIME_INPUT_ERROR_CODES, TIME_INPUT_IMPORTS, TIME_PICKER_ERROR_CODES, TIME_PICKER_IMPORTS, TIME_PICKER_LABELS, TIME_RANGE_INPUT_ERROR_CODES, TIME_RANGE_INPUT_IMPORTS, TOGGLETIP_ERROR_CODES, TOGGLETIP_IMPORTS, TOOLBAR_IMPORTS, TOOLBAR_ORIENTATIONS, TOOLTIP_ERROR_CODES, TOOLTIP_IMPORTS, TOURNAMENT_MODE, TRASH_ICON, TREE_ERROR_CODES, TREE_IMPORTS, TREE_LEVEL_STATUSES, TREE_MARKERS, TREE_SELECTION_MODES, TRIANGLE_EXCLAMATION_ICON, TROPHY_ICON, TWITCH_PLAYER_TOKEN, TabBarDirective, TabBarTriggerDirective, TabBarUnderlineDirective, TabComponent, TabGroupComponent, TabGroupDirective, TabLabelDirective, TabPanelDirective, TabTriggerDirective, TableCellDirective, TableCellEditDirective, TableCellErrorMarkComponent, TableCellErrorTooltipDirective, TableCellSkeletonDirective, TableColumnChooserComponent, TableColumnMenuDirective, TableColumnMenuTriggerComponent, TableComponent, TableCsvExportDirective, TableDetailStylesComponent, TableDragScrollDirective, TableDragScrollStylesComponent, TableExpanderCellComponent, TableFilterOptionDirective, TableFilterTriggerComponent, TableFiltersDirective, TableFooterCellDirective, TableFooterDirective, TableGroupHeaderRowComponent, TableGroupHeadersDirective, TableHeaderCellDirective, TableInlineEditDirective, TableInlineEditStylesComponent, TableKeyboardNavDirective, TablePageStickyHeaderDirective, TablePageStickyHeaderStylesComponent, TableReorderDirective, TableReorderOverlayComponent, TableResizeDirective, TableResizeGripComponent, TableRowDetailComponent, TableRowExpansionDirective, TableRowRouterLinkDirective, TableSelectAllCellComponent, TableSelectCellComponent, TableSelectionDirective, TableSkeletonDirective, TableSkeletonRowsComponent, TableStatePersistenceDirective, TableStickyColumnsDirective, TableVirtualScrollDirective, TableVirtualScrollStylesComponent, TagInputComponent, TagInputDirective, TagInputFieldDirective, TextButtonComponent, TextFieldControlDirective, TextareaComponent, TextareaDirective, TikTokPlayerComponent, TikTokPlayerDirective, TikTokPlayerParamsDirective, TikTokPlayerSlotComponent, TimeInputComponent, TimeInputDirective, TimeInputFieldDirective, TimePickerColumnDirective, TimePickerComponent, TimePickerDirective, TimePickerOptionDirective, TimeRangeInputComponent, TimeRangeInputDirective, TimeRangeInputFieldDirective, TimelineComponent, TimelineItemComponent, ToggletipCloseDirective, ToggletipComponent, ToggletipDirective, ToggletipTriggerDirective, ToolbarComponent, ToolbarDirective, TooltipComponent, TooltipDirective, TreeComponent, TreeDirective, TreeMarkerComponent, TreeNodeDefDirective, TreeNodeDirective, TwitchPlayerComponent, TwitchPlayerDirective, TwitchPlayerParamsDirective, TwitchPlayerSlotComponent, UNDERLINE_ICON, UNDO_ICON, UNIT_MS, UPLOAD_ICON, VIMEO_PLAYER_TOKEN, VimeoPlayerComponent, VimeoPlayerDirective, VimeoPlayerParamsDirective, VimeoPlayerSlotComponent, WCAG_CONTRAST_RATIOS, WINDOW_CONTROL_BUTTON_KINDS, WINDOW_CONTROL_BUTTON_SIZES, WindowControlButtonComponent, YOUTUBE_PLAYER_SLOT_TOKEN, YOUTUBE_PLAYER_TOKEN, YoutubePlayerComponent, YoutubePlayerDirective, YoutubePlayerParamsDirective, YoutubePlayerSlotComponent, YoutubePlayerSlotDirective, abortFullscreenAnimation, anchoredDialogOverlayStrategy, anchoredOverlayStrategy, autoPlace, bottomSheetOverlayStrategy, bracketFitsWidth, bracketNaturalWidth, buildAnchoredRuntimePositionStrategy, canHaveChildren, cascaderFromQuery, centeredOverlayStrategy, clampPosition, clampResizeRect, cleanupFullscreenAnimation, cleanupFullscreenAnimationStyles, clearLeavingSupportStateOnExit, colorContrast, compactLayout, computeGeometry, computeGridHeight, countDescendants, createAnchoredPanelController, createAutoScroller, createCardMask, createCurrencyMask, createDefaultDropzoneArgs, createDropzoneUpload, createExistingDropzoneEntry, createFileDropzoneEntry, createFixedLengthRangeStrategy, createGridAdapter, createIbanMask, createNormalizedBracketMatch, createNotificationPromiseFn, createNotificationRef, createOverlayOpener, createOverlayRef, createOverlayStrategyController, createOverlayUnsavedChangesGuard, createPipChromeAnimations, createPipChromeState, createRichTextEditorTrigger, createRichTextEditorTriggerWithQuery, createStreamConfig, createStreamPlayerSlot, createTableRowsSource, createTableStateStorage, createV2DropzoneUpload, createWeekRangeStrategy, defaultCompareWith, defaultDropzoneRejectionMessage, defineOverlay, defineQueryParamOverlay, deriveDurationFormatSpec, deserializeGridLayout, deserializeTableState, detectKbdPlatform, dialogOverlayStrategy, disposeDropzoneEntry, doubleEliminationBracketLayout, dropzoneFiles, enableDragToDismiss, extractFirstImageUrl, filterOverlayLabelsForLocale, filterOverlayPreviewFromQuery, filterRows, findCollision, findNextRelevantHtmlElement, findScrollableAncestor, focusFirstInvalidField, formatDuration, formatFileSize, fromGridPosition, fullScreenDialogOverlayStrategy, generateBracketDataForEthlete, generateRoundTypeFromEthleteRoundType, generateTournamentModeFormEthleteRounds, getClosestOverlay, getColorContrastRatio, getOriginCoordinatesAndDimensions, hexColor, hysteresisRound, iconRegistryKey, indexOfNode, injectAnchoredDialogStrategy, injectAnchoredDialogStrategyDefaults, injectBannerLabels, injectBottomSheetStrategy, injectBottomSheetStrategyDefaults, injectBracketConfig, injectBracketLabels, injectBreadcrumbLabels, injectBreadcrumbManager, injectCalendarLabels, injectCarouselLabels, injectCascaderLabels, injectChipLabels, injectDateFormat, injectDateLocale, injectDateTimeLabels, injectDialogStrategy, injectDialogStrategyDefaults, injectDropzoneLabels, injectFilterOverlay, injectFilterOverlayLabels, injectFormFieldLabels, injectFormSupport, injectFullscreenDialogStrategy, injectFullscreenDialogStrategyDefaults, injectGridConfig, injectGridLabels, injectInputLabels, injectLeftSheetStrategy, injectLeftSheetStrategyDefaults, injectLoaderLabels, injectMatchLabels, injectNotificationLabels, injectNotificationManager, injectNotificationManagerConfig, injectOverlayManager, injectOverlayRouter, injectOverlayScrollBlocker, injectOverlaySurfaceContext, injectPaginationLabels, injectPhoneInputLabels, injectPictureConfig, injectPipChromeManager, injectPipManager, injectPipSlotPlaceholderConfig, injectQueryErrorLabels, injectRichTextEditorLabels, injectRichTextEditorTools, injectRightSheetStrategy, injectRightSheetStrategyDefaults, injectSchedulerEditSurfaceHost, injectSchedulerFeatureHost, injectSchedulerLabels, injectSelectLabels, injectSidebarOverlay, injectSliderLabels, injectStandingsLabels, injectStreamConfig, injectStreamConsentConfig, injectStreamLabels, injectStreamManager, injectStreamPlayerErrorConfig, injectStreamPlayerLoadingConfig, injectStreamScriptLoader, injectStreamUserConsentProvider, injectTableCsvExport, injectTableFeatureHost, injectTableLabels, injectTimeFormat, injectTimePickerLabels, injectTopSheetStrategy, injectTopSheetStrategyDefaults, isFileAccepted, isHtmlElement, isInteractiveElement, isPointerEvent, isTargetInsideOverlayTree, isTouchEvent, itemsCollide, kbdKeyLabel, kbdKeyName, leftSheetOverlayStrategy, legacyQueryErrorSource, mapGridLayout, mapLayoutToBreakpoint, matchCountryByDialCode, matchParticipantDisplayName, mergeOverlayBreakpointConfigs, mergeOverlayConfigs, mirroredDoubleEliminationBracketLayout, mirroredSingleEliminationBracketLayout, mountNavTabLinkStyles, mountRichTextEditorImageStyles, mountRichTextEditorTableStyles, nodesEqual, normalizeEthleteBracketMatch, normalizeEthleteGroupRanking, normalizeEthleteMatch, normalizeEthleteMatchStatus, normalizeEthleteMedia, normalizeEthleteParticipant, normalizeEthletePlacement, normalizePictureSizes, normalizePictureSource, numberInputStepMultiplierFrom, paginate, parseDuration, parseKbdKeys, phoneCountryFlag, phoneCountryName, pixelRectsEqual, positionToPixelRect, positionsEqual, projectDragCell, provideAnchoredDialogStrategy, provideAnchoredDialogStrategyDefaults, provideBannerLabels, provideBottomSheetStrategy, provideBottomSheetStrategyDefaults, provideBracketConfig, provideBracketLabels, provideBreadcrumbLabels, provideBreadcrumbManager, provideCalendarLabels, provideCarouselLabels, provideCascaderLabels, provideChipLabels, provideDateFormat, provideDateLocale, provideDateTimeLabels, provideDialogStrategy, provideDialogStrategyDefaults, provideDropzoneLabels, provideFilterOverlay, provideFilterOverlayLabels, provideFormErrorMessageResolver, provideFormFieldLabels, provideFormSupport, provideFormWarningMessageResolver, provideFullscreenDialogStrategy, provideFullscreenDialogStrategyDefaults, provideGridConfig, provideGridLabels, provideIconOverrides, provideIcons, provideInputLabels, provideLeftSheetStrategy, provideLeftSheetStrategyDefaults, provideLoaderLabels, provideMatchLabels, provideNotificationLabels, provideNotificationManager, provideNotificationManagerConfig, provideNotificationManagerInstance, provideOverlay, provideOverlayManager, provideOverlayRouter, provideOverlayRouterConfig, provideOverlayRouterService, provideOverlayScrollBlocker, providePaginationLabels, providePhoneInputLabels, providePictureConfig, providePipChromeManager, providePipManager, providePipSlotPlaceholderConfig, provideQueryErrorLabels, provideRichTextEditorAlignmentTool, provideRichTextEditorAutoformat, provideRichTextEditorBlockquoteTool, provideRichTextEditorCodeBlockTool, provideRichTextEditorDefaultTools, provideRichTextEditorFloatingToolbar, provideRichTextEditorHeadingTool, provideRichTextEditorImageTool, provideRichTextEditorLabels, provideRichTextEditorLanguageTool, provideRichTextEditorLinkEditor, provideRichTextEditorLinkTool, provideRichTextEditorTableTool, provideRichTextEditorTokenRendering, provideRichTextEditorTools, provideRightSheetStrategy, provideRightSheetStrategyDefaults, provideSchedulerLabels, provideSelectLabels, provideSidebarOverlay, provideSidebarOverlayConfig, provideSidebarOverlayService, provideSliderLabels, provideStandingsLabels, provideStreamConfig, provideStreamConsentConfig, provideStreamLabels, provideStreamManager, provideStreamPlayerErrorConfig, provideStreamPlayerLoadingConfig, provideTableLabels, provideTimeFormat, provideTimePickerLabels, provideTopSheetStrategy, provideTopSheetStrategyDefaults, queryErrorLabelsForLocale, queryErrorResponseFromLegacyError, reconcileColumnOrder, reconcileColumnWidths, reconcileHiddenColumns, reduceSupportPresentation, registerSingleton, requiredLanguages, resizeSpanBounds, resolveBracketLayout, resolveBreakpoint, resolveClosestOverlay, resolveCollisions, resolveFilterOverlaySubmitButton, resolveNotificationStatusIcon, resolveTableCsvRows, rgbColor, richTextEditorToolLabel, rightSheetOverlayStrategy, rowsToPixelHeight, schedulerFeatureConfig, selectOptionsFromQuery, selectOptionsFromV2Query, serializeGridLayout, serializeTableState, setupRichTextEditorFloatingToolbar, setupRichTextEditorLinkEditor, singleEliminationBracketLayout, snapResizeSpan, sortRows, spanHeight, spanWidth, startFullscreenEnterAnimation, startFullscreenLeaveAnimation, startImageUpload, startOfCalendarUnit, stripTrunkZero, supportPresentationIncludesState, swissBracketLayout, tableCsvRowsFromPages, tableFeatureConfig, tableRowsFromQuery, tableRowsFromV2Query, tableToCsv, toChildrenObservable, toGridPosition, toNotificationContent, toPathObservable, toSearchObservable, topSheetOverlayStrategy, transformingBottomSheetToDialogOverlayStrategy, transformingFullScreenDialogToDialogOverlayStrategy, transformingFullScreenDialogToRightSheetOverlayStrategy, warn, wireFormSupport, withPictureBaseUrl };
26268
- export type { AccordionHeadingLevel, AnchoredDialogOverlayStrategyOptions, AnchoredOverlayStrategyOptions, AnchoredPanelCloseInfo, AnchoredPanelOverlayRef, AnchoredPanelSurfaceLike, AnchoredPositionOptions, AnyDropzoneUploadConfig, AnyTableColumn, Appointment, AppointmentId, AppointmentTreeNode, AutoPlaceOptions, AutoScrollPointer, AutoScroller, AvatarShape, AvatarSize, BadgeIconAlignment, BadgeSize, BadgeVariant, BannerLabels, BannerLiveRegion, BannerType, Bracket, BracketCardContext, BracketComponents, BracketConfig, BracketContinueComponent, BracketDataLayout, BracketDataSource, BracketDensity, BracketDrawEdgesContext, BracketLabels, BracketLayout, BracketLayoutConfig, BracketListSection, BracketMatch, BracketMatchComponent, BracketMatchFactor, BracketMatchId, BracketMatchNormalizer, BracketMatchParticipant, BracketMatchPosition, BracketMatchRelation, BracketMatchRelationNothingToOne, BracketMatchRelationOneToNothing, BracketMatchRelationOneToOne, BracketMatchRelationTwoToNothing, BracketMatchRelationTwoToOne, BracketMatchShortId, BracketMatchSource, BracketMatchStatus, BracketParticipant, BracketParticipantMatch, BracketRound, BracketRoundHeaderComponent, BracketRoundId, BracketRoundMapWithSwissData, BracketRoundMirrorType, BracketRoundPosition, BracketRoundRelation, BracketRoundRelationNothingToOne, BracketRoundRelationOneToNothing, BracketRoundRelationOneToOne, BracketRoundRelationTwoToNothing, BracketRoundRelationTwoToOne, BracketRoundShortId, BracketRoundSource, BracketRoundSwissData, BracketRoundSwissGroup, BracketRoundSwissGroupId, BracketRoundSwissGroupMap, BracketRoundType, BracketRoundsListBlock, BracketRoundsListSection, BracketSwissColors, BracketSwissGroupColorType, BreadcrumbCollapseAffordance, BreadcrumbCrumb, BreadcrumbLabels, BreadcrumbRenderItem, BreadcrumbSegment, ButtonColor, ButtonIconAlignment, ButtonSize, ButtonVariant, CalendarBandPosition, CalendarCell, CalendarCellBase, CalendarDateClassFn, CalendarFixedLengthRangeStrategyOptions, CalendarHeaderContext, CalendarInterval, CalendarLabels, CalendarMode, CalendarMonthPage, CalendarNavigationDirection, CalendarPrecision, CalendarRange, CalendarRangeSelectionStrategy, CalendarSelectionFlags, CalendarView, CalendarWeekRangeStrategyOptions, CalendarWeekday, CardVariant, CarouselAutoplayPauseReason, CarouselLabels, CarouselResolvedTransitionDriver, CarouselSlideAlign, CarouselSlideContext, CarouselSlideTemplateRef, CarouselTransition, CarouselTransitionDriver, CascaderColumnState, CascaderCompareWith, CascaderDataSource, CascaderFromQueryConfig, CascaderFromQuerySearchConfig, CascaderLabels, CascaderNode, CascaderNodeSignal, CascaderSearchState, CascaderSelectableLevels, CascaderSurfaceContext, CenteredOverlayStrategyOptions, CheckboxOptionVariant, ChipLabels, ChoiceFieldVariant, ClampPositionOptions, ColorContrastOptions, CommonBracketRoundType, CompactLayoutOptions, ComponentInputValue, ComputedBracketGrid, ControlSuffixBase, CounterComponentBase, CreateAnchoredPanelControllerOptions, CreateBracketGridConfig, CreateExistingDropzoneEntryOptions, CreateFileDropzoneEntryOptions, CreateGridAdapterOptions, CreateOverlayUnsavedChangesGuardConfig, CreateTableRowsSourceOptions, CurrencyMaskOptions, DatePickerHost, DatePickerSurfaceBase, DatePickerSurfaceContext, DatePickerTriggerBase, DateRangeSide, DateRangeValue, DateTimeLabels, DateTimeRangeTimeFilterFn, DateRangeValue as DateTimeRangeValue, DescriptionListVariant, Dimensions, DividerOrientation, DoubleEliminationBracketRoundType, DragDismissMomentum, DragToDismissContext, DragToDismissRef, DropzoneDeleteConfig, DropzoneDeleteOptions, DropzoneEntry, DropzoneEntrySource, DropzoneEntryStatus, DropzoneExistingFileInfo, DropzoneFileConstraints, DropzoneFileRejection, DropzoneFileRejectionReason, DropzoneFileValidationChannel, DropzoneLabels, DropzoneUploadConfig, DropzoneUploadError, DropzoneUploadHandle, DropzoneUploadHandleOptions, DropzoneUploadState, DurationFormatSpec, DurationSegment, DurationUnit, EtBuiltInIconName, EthleteIconNameRegistry, EthleteIconVariantRegistry, FacebookVideoPlayer, FacebookWindow, FieldWarning, FieldWarningResult, FilterOverlay, FilterOverlayConfig, FilterOverlayDraft, FilterOverlayLabels, FilterOverlayPreview, FilterOverlayResult, FilterOverlaySubmitButton, FilterOverlaySubmitState, FilterOverlayValueOf, FilterRowsConfig, FindCollisionOptions, FloatingActionState, FocusFirstInvalidFieldOptions, FormErrorMessageResolver, FormFieldAppearance, FormFieldControl, FormFieldControlType, FormFieldDirectiveBase, FormFieldFill, FormFieldLabelMode, FormFieldLabels, FormFieldSize, FormSupport, FormWarningMessageResolver, FullscreenAnimationCancellable, FullscreenAnimationDeps, FullscreenAnimationState, GridAdapter, GridAdapterBreakpoints, GridBreakpointConfig, GridBreakpointName, GridComponentRegistration, GridConfig, GridGeometry, GridItemActionsComponent, GridItemConfig, GridItemConstraints, GridItemPosition, GridLabels, GridLayoutEntry, GridMutationOptions, GridSerializedState, GroupBracketRoundType, HexColorOptions, HintComponentBase, IconDefinition, IconOverride, InputLabels, InputMaskHost, InputTextAlignment, KbdPlatform, LabelDirectiveBase, LegacyQueryErrorSource, LoaderLabels, MapLayoutOptions, MaskSpec, MaskValueMode, MasonryColumns, MasonryPacking, MasonryPlacement, MatchCardNameContext, MatchCardSize, MatchLabels, MatchParticipantDisplayNameOptions, MatchParticipantId, MatchParticipantShortId, MatchParticipantSide, MatchResultNameContext, MatchScoreChange, MenuAnchorPoint, MenuCloseReason, MenuItemActivationEvent, MenuItemActivationSource, MenuItemVariant, MenuOpenSource, MenuSelectionGroupDirectiveBase, MenuSelectionGroupItem, MenuSelectionItemKind, MenuSurfaceContext, MultiLanguageRichTextEditorLanguage, MultiLanguageRichTextEditorValue, NormalizedGameScore, NormalizedMatch, NormalizedMatchParticipant, NormalizedMatchResultKind, NormalizedMatchStatus, NormalizedMedia, NormalizedStandingRow, NotificationAction, NotificationActionSlot, NotificationConfig, NotificationContentInit, NotificationContentInput, NotificationEntry, NotificationLabels, NotificationManager, NotificationManagerConfig, NotificationPromiseContent, NotificationPromiseFn, NotificationPromiseWork, NotificationRef, NotificationStackContext, NotificationStatus, NumberInputStepOptions, OtpInputCharset, OverlayAutoFocusTarget, OverlayBodyDividerType, OverlayBreakpointConfig, OverlayCloseGuard, OverlayConfig, OverlayDefinition, OverlayDefinitionConfig, OverlayDragToDismissConfig, OverlayDragToDismissDirection, OverlayDragToDismissPhysicalDirection, OverlayLifecycleConfig, OverlayManager, OverlayMode, OverlayOpenConfig, OverlayOpener, OverlayOpenerConfig, OverlayRef, OverlayRole, OverlayRoute, OverlayRouter, OverlayRouterConfig, OverlayRouterNavigateConfig, OverlayRouterNavigationDirection, OverlayRouterNavigationGuard, OverlayRouterNavigationGuardContext, OverlayRouterResolvedPath, OverlayRouterTransitionType, OverlayStrategy, OverlayStrategyBreakpoint, OverlayStrategyContext, OverlayStrategyController, OverlayStrategyControllerMountConfig, OverlaySurfaceContext, OverlayTreeContainmentOptions, OverlayUnsavedChangesDismissSources, OverlayUnsavedChangesGuardRef, PaginateOptions, PaginationItem, PaginationItemType, PaginationLabels, PaginationRangeContext, PaginationRenderAs, ParticipantMatchResult, PhoneCountry, PhoneInputFlagContext, PhoneInputFlagCountry, PhoneInputLabels, PictureConfig, PictureSource, PictureState, PipCellData, PipChromeAnimations, PipChromeRef, PipChromeState, PipManager, PipSlotPlaceholderConfig, PixelRect, ProgressStepState, ProgressStepsOrientation, QueryErrorLabels, QueryErrorRetryTarget, QueryErrorSlotContext, QueryErrorView, QueryParamOverlayDefinition, QueryParamOverlayDefinitionConfig, QueryParamOverlayHost, QueryParamOverlayOpener, QueryParamOverlayValue, RadioVariant, RangeSliderValue, RatingIconContext, RatingIconState, ReconcilableColumn, ReduceSupportPresentationInput, RegisteredIconName, RegisteredIconVariant, RequiredLanguagesOptions, ResizeSpanBounds, ResolveClosestOverlayOptions, ResolveCollisionsOptions, ResolvedDropzoneUploadConfig, ResolvedScrollableChrome, RgbColorOptions, RichTextEditorFloatingToolbarSetup, RichTextEditorImageFailure, RichTextEditorImageFailureReason, RichTextEditorImageToolConfig, RichTextEditorImageUpload, RichTextEditorImageUploadFn, RichTextEditorImageUploadRun, RichTextEditorLabels, RichTextEditorLinkEditorSetup, RichTextEditorLinkEditorValue, RichTextEditorQueryTriggerConfig, RichTextEditorTool, RichTextEditorToolButton, RichTextEditorToolDefinition, RichTextEditorToolsConfig, RichTextEditorTrigger, RichTextEditorTriggerItem, RichTextEditorTriggerItemResolver, RichTextEditorTriggerItemSource, RichTextEditorTriggerType, RowFloors, SchedulerActionAddAppointmentConfig, SchedulerActionAddSubAppointmentConfig, SchedulerActionDeleteConfig, SchedulerAgendaDay, SchedulerAppointmentAction, SchedulerAppointmentDrag, SchedulerAppointmentDragConfig, SchedulerAppointmentDragMode, SchedulerAppointmentReschedule, SchedulerBadgeAdornment, SchedulerBadgeChainCountConfig, SchedulerBadgeColorDotConfig, SchedulerBadgeLocationConfig, SchedulerBadgeTimeRangeConfig, SchedulerBadgeTitleConfig, SchedulerDraftRange, SchedulerEditColorConfig, SchedulerEditDescriptionConfig, SchedulerEditField, SchedulerEditLocationConfig, SchedulerEditSurfaceHost, SchedulerEditSurfaceResult, SchedulerEditTimeRangeConfig, SchedulerEditTitleConfig, SchedulerFeatureConfig, SchedulerFeatureHost, SchedulerLabels, SchedulerMonthDayCell, SchedulerSwipeNavigationConfig, SchedulerTimeGridAllDayEntry, SchedulerTimeGridBlock, SchedulerTimeGridDay, SchedulerToolbarAction, SchedulerView, SchedulerVisibleRange, SchedulerWeekStartsOn, SchedulerWeekday, ScrollableActiveChildRef, ScrollableButtonPosition, ScrollableButtonsConfig, ScrollableChrome, ScrollableChromeSlot, ScrollableDirection, ScrollableIntersectionChange, ScrollableItemSize, ScrollableLoadingTemplatePosition, ScrollableLoadingTemplateRef, ScrollableMaskVariant, ScrollableNavigation, ScrollableNavigationConfig, ScrollableNavigationItem, ScrollableScrollMode, ScrollableScrollOrigin, ScrollableScrollState, SegmentedButtonGroupVariant, SelectAsyncOptions, SelectErrorContext, SelectFilterMode, SelectItem, SelectLabels, SelectOptionData, SelectOptionGroupItem, SelectOptionTemplateContext, SelectOptionsFromQuery, SelectOptionsFromQueryConfig, SelectOptionsFromV2QueryConfig, SelectSelectedEntry, SelectSurfaceContext, SelectValueContext, SelectionCardControlPosition, SelectionListDirectiveBase, SelectionListItem, SelectionListOrientation, SerializeOptions, SidebarOverlay, SidebarOverlayConfig, SingleEliminationBracketRoundType, SkeletonShape, SliderHostBase, SliderLabels, SliderMark, SliderMarkStop, SliderMarks, SliderOrientation, SliderThumbBase, SliderThumbLabelBase, SliderThumbLabelContext, SortRowsConfig, Spacing, StandingsFormResult, StandingsLabels, StandingsRenderRow, StandingsZone, StartImageUploadOptions, StreamConfig, StreamConsentConfig, StreamLabels, StreamManager, StreamPipEntry, StreamPipWindowConfig, StreamPlayer, StreamPlayerCapabilities, StreamPlayerEntry, StreamPlayerErrorConfig, StreamPlayerErrorContext, StreamPlayerId, StreamPlayerLoadingConfig, StreamPlayerParams, StreamPlayerSlotHandle, StreamPlayerSlotOptions, StreamPlayerState, StreamScriptLoader, StreamSlotEntry, SupportContentState, SupportPresentationState, SupportSwappingState, SupportTransitionDirection, SwissBracketLayoutOptions, SwissBracketRoundType, TabBarFit, TabBarOrientation, TabBarVariant, TabSize, TableBodyPlaceholder, TableCellContext, TableCellEditCommit, TableCellEditContext, TableCellEditTarget, TableCellEditing, TableCellErrorMark, TableCellErrorTooltipConfig, TableCellNavigation, TableCellPinning, TableCellPlaceholder, TableCellSkeletonContext, TableCellState, TableCellStateValue, TableColumn, TableColumnAlign, TableColumnDef, TableColumnMenuConfig, TableColumnMeta, TableColumnPinning, TableColumnSide, TableColumnState, TableColumnTemplate, TableColumnVisibilityHost, TableColumns, TableCsvExportConfig, TableCsvExportFile, TableCsvExportOptions, TableCsvRowsFromPagesOptions, TableCsvRowsProvider, TableCsvSerializeOptions, TableCsvSource, TableCsvValue, TableDragScrollConfig, TableEmptyContext, TableErrorContext, TableExpandedRowContext, TableFeatureConfig, TableFeatureHost, TableFilter, TableFilterOption, TableFilterOptionContext, TableFilterOptionsProvider, TableFilterSelection, TableFiltersConfig, TableFooterContext, TableGroupHeadersConfig, TableHeaderAdornment, TableHeaderContext, TableHeaderGroup, TableHeaderRow, TableInlineEditConfig, TableKeyboardNavConfig, TableLabels, TableLabelsSource, TableLayer, TableLeadCellComponent, TableLeadColumn, TablePageStickyHeaderConfig, TableReorderConfig, TableResizeConfig, TableRowDetail, TableRowExpansionConfig, TableRowKey, TableRowLink, TableRowNavigation, TableRowRouterLinkConfig, TableRowWindow, TableRowsDriver, TableRowsFromQuery, TableRowsFromQueryConfig, TableRowsFromV2QueryConfig, TableRowsQueryState, TableRowsSource, TableSelectionConfig, TableSkeletonConfig, TableSort, TableSortDirection, TableSortValue, TableState, TableStatePersistenceConfig, TableStateSlice, TableStateStorage, TableStateStorageKind, TableStateStorageOptions, TableStickyColumnsConfig, TableTemplateSlot, TableVirtualScrollConfig, TextAlign, TextareaResizeMode, TimePickerBandPosition, TimePickerColumn, TimePickerLabels, TimePickerMode, TimePickerOption, TimePickerSide, TimePickerTimeFilterFn, TimePickerUnit, TimeRange, DateRangeSide as TimeRangeInputSide, TimeRangePick, TimeRangeSide, TimeRangeTimeFilterFn, DateRangeValue as TimeRangeValue, ToggletipContent, ToolbarOrientation, TooltipContent, TournamentMode, TreeCompareWith, TreeDataSource, TreeLevelStatus, TreeMarker, TreeNode, TreeNodeDefContext, TreeRow, TreeSelectionMode, TwitchEmbed, TwitchEmbedConstructor, TwitchEmbedPlayer, TwitchPlayerParams, TwitchWindow, V2DropzoneDeleteConfig, V2DropzonePrepareArgsOf, V2DropzoneUploadConfig, V2PrepareArgsOf, ViewportTransformData, VimeoDurationChangeEvent, VimeoPlaybackEvent, VimeoPlayer, VimeoPlayerOptions, VimeoWindow, WindowControlButtonKind, WindowControlButtonSize, YtPlayer, YtPlayerConfig, YtPlayerErrorEvent, YtPlayerEvent, YtPlayerStateChangeEvent, YtPlayerVars, YtWindow };
27055
+ export { ACCORDION_ERROR_CODES, ACCORDION_GROUP_TOKEN, ACCORDION_IMPORTS, ACCORDION_TOKEN, ALIGN_CENTER_ICON, ALIGN_JUSTIFY_ICON, ALIGN_LEFT_ICON, ALIGN_RIGHT_ICON, ARROWS_LEFT_RIGHT_ICON, ARROW_OUT_UP_RIGHT_ICON, ARROW_RIGHT_ICON, ARROW_UP_ICON, AVATAR_IMPORTS, AVATAR_SHAPES, AVATAR_SIZES, AccordionComponent, AccordionContentDirective, AccordionDirective, AccordionGroupComponent, AccordionGroupDirective, AccordionHintDirective, AccordionLabelDirective, AccordionPanelDirective, AccordionTriggerDirective, AvatarComponent, AvatarGroupComponent, BADGE_ICON_ALIGNMENTS, BADGE_IMPORTS, BADGE_SIZES, BADGE_VARIANTS, BANNER_IMPORTS, BANNER_LABELS, BANNER_TYPES, BOLD_ICON, BRACKET_CARD_CONTEXT, BRACKET_DATA_LAYOUT, BRACKET_DEFAULTS, BRACKET_DENSITY, BRACKET_DENSITY_PRESETS, BRACKET_ERROR_CODES, BRACKET_IMPORTS, BRACKET_LABELS, BRACKET_ROUND_MIRROR_TYPE, BRACKET_SWISS_GROUP_COLOR_TYPE, BREADCRUMB_COLLAPSE_IMPORTS, BREADCRUMB_COLLAPSE_TOKEN, BREADCRUMB_ERROR_CODES, BREADCRUMB_IMPORTS, BREADCRUMB_LABELS, BREADCRUMB_SEGMENT_TOKEN, BREADCRUMB_SEO_IMPORTS, BREADCRUMB_TOKEN, BUTTON_ICON_ALIGNMENTS, BUTTON_IMPORTS, BUTTON_SIZES, BUTTON_SPINNER_CONFIG, BUTTON_TYPES, BUTTON_VARIANTS, BadgeComponent, BannerComponent, BracketComponent, BracketDefaultContinueComponent, BracketDefaultFinalMatchComponent, BracketDefaultMatchComponent, BracketDefaultRoundHeaderComponent, BracketMap, BracketRoundsListComponent, BrandLoaderComponent, BreadcrumbCollapseDirective, BreadcrumbComponent, BreadcrumbDirective, BreadcrumbItemDirective, BreadcrumbItemTemplateDirective, BreadcrumbOutletComponent, BreadcrumbOverflowComponent, BreadcrumbSegmentDirective, BreadcrumbSeoDirective, BreadcrumbSeparatorDirective, ButtonColorDirective, ButtonComponent, ButtonDirective, ButtonStylesDirective, CALENDAR_ERROR_CODES, CALENDAR_ICON, CALENDAR_IMPORTS, CALENDAR_LABELS, CARD_IMPORTS, CARD_VARIANTS, CAROUSEL_AUTOPLAY_TOKEN, CAROUSEL_ERROR_CODES, CAROUSEL_IMPORTS, CAROUSEL_LABELS, CAROUSEL_SLIDE_ALIGNMENTS, CAROUSEL_TOKEN, CAROUSEL_TRANSITIONS, CAROUSEL_TRANSITION_DRIVERS, CASCADER_ERROR_CODES, CASCADER_IMPORTS, CASCADER_LABELS, CASCADER_SELECTABLE_LEVELS, CHECKBOX_GROUP_IMPORTS, CHECKBOX_IMPORTS, CHECKBOX_OPTION_VARIANTS, CHECK_ICON, CHEVRON_ICON, CHIP_ERROR_CODES, CHIP_IMPORTS, CHIP_LABELS, CHOICE_FIELD_IMPORTS, CHOICE_FIELD_VARIANTS, CIRCLE_CHECK_ICON, CIRCLE_INFO_ICON, CLIPBOARD_CHECK_ICON, CLOCK_ICON, CODE_BLOCK_ICON, CODE_ICON, COLOR_INPUT_ERROR_CODES, COLOR_INPUT_IMPORTS, COLOR_INPUT_LABELS, COLOR_INPUT_TOKEN, COLOR_NOTATIONS, COLOR_NOTATION_ORDER, COMMAND_PALETTE_ERROR_CODES, COMMAND_PALETTE_IMPORTS, COMMAND_PALETTE_LABELS, COMMAND_PALETTE_OVERLAY, COMMAND_PALETTE_REGISTRY, COMMAND_PALETTE_TOKEN, COMMON_BRACKET_ROUND_TYPE, COMPONENTS_VERSION, COPY_BUTTON_IMPORTS, CalendarCellDirective, CalendarComponent, CalendarDirective, CalendarGridDirective, CalendarHeaderDirective, CardComponent, CarouselAutoplayDirective, CarouselComponent, CarouselDirective, CarouselItemDirective, CarouselNextDirective, CarouselPlayToggleDirective, CarouselPreviousDirective, CarouselSlideDirective, CascaderColumnDirective, CascaderComponent, CascaderDirective, CascaderNodeDirective, CascaderPanelComponent, CascaderSearchDirective, CascaderSearchOptionDirective, CascaderSurfaceDirective, CascaderTriggerDirective, CheckboxComponent, CheckboxDirective, CheckboxGroupComponent, CheckboxGroupSelectAllComponent, CheckboxOptionComponent, ChipComponent, ChipDirective, ChipRemoveDirective, ChoiceFieldComponent, ColorInputComponent, ColorInputDirective, ColorPickerAreaDirective, ColorPickerChannelDirective, ColorPickerPanelComponent, ColorPickerSurfaceDirective, ColorPickerTriggerDirective, CommandPaletteComponent, CommandPaletteDirective, CommandPaletteItemComponent, CommandPaletteSearchDirective, CommandPaletteShortcutDirective, ControlSuffixDirective, CopyButtonDirective, CounterComponent, DAILYMOTION_PLAYER_TOKEN, DATE_FORMAT, DATE_INPUT_ERROR_CODES, DATE_INPUT_IMPORTS, DATE_LOCALE, DATE_PICKER_HOST, DATE_RANGE_INPUT_ERROR_CODES, DATE_RANGE_INPUT_IMPORTS, DATE_TIME_INPUT_ERROR_CODES, DATE_TIME_INPUT_IMPORTS, DATE_TIME_LABELS, DATE_TIME_RANGE_INPUT_ERROR_CODES, DATE_TIME_RANGE_INPUT_IMPORTS, DEFAULT_BANNER_LABELS, DEFAULT_BRACKET_LABELS, DEFAULT_BREADCRUMB_LABELS, DEFAULT_BREAKPOINTS, DEFAULT_CALENDAR_LABELS, DEFAULT_CALENDAR_RANGE_STRATEGY, DEFAULT_CAROUSEL_LABELS, DEFAULT_CASCADER_LABELS, DEFAULT_CHIP_LABELS, DEFAULT_COLOR_INPUT_LABELS, DEFAULT_COMMAND_PALETTE_LABELS, DEFAULT_DATE_TIME_LABELS, DEFAULT_DROPZONE_LABELS, DEFAULT_FILTER_OVERLAY_LABELS, DEFAULT_FORM_FIELD_LABELS, DEFAULT_GRID_LABELS, DEFAULT_ICON_VARIANT, DEFAULT_INPUT_LABELS, DEFAULT_LOADER_LABELS, DEFAULT_MATCH_CARD_START_TIME_FORMAT, DEFAULT_MATCH_LABELS, DEFAULT_NOTIFICATION_LABELS, DEFAULT_NOTIFICATION_MANAGER_CONFIG, DEFAULT_NOTIFICATION_STATUS_ICONS, DEFAULT_PAGINATION_LABELS, DEFAULT_PHONE_INPUT_LABELS, DEFAULT_PIP_WINDOW_CONFIG, DEFAULT_QUERY_ERROR_LABELS, DEFAULT_RICH_TEXT_EDITOR_LABELS, DEFAULT_RICH_TEXT_EDITOR_TOOLS, DEFAULT_SCHEDULER_LABELS, DEFAULT_SELECT_LABELS, DEFAULT_SLIDER_LABELS, DEFAULT_STANDINGS_LABELS, DEFAULT_STREAM_LABELS, DEFAULT_STREAM_PLAYER_STATE, DEFAULT_TABLE_LABELS, DEFAULT_TIME_PICKER_LABELS, DESCRIPTION_IMPORTS, DESCRIPTION_LIST_IMPORTS, DESCRIPTION_LIST_VARIANTS, DIVIDER_IMPORTS, DOUBLE_ELIMINATION_BRACKET_ROUND_TYPE, DROPZONE_ENTRY_STATUSES, DROPZONE_ERROR_CODES, DROPZONE_FILES_ERROR_KIND, DROPZONE_FILE_CONSTRAINTS, DROPZONE_FILE_REJECTION_REASONS, DROPZONE_IMPORTS, DROPZONE_LABELS, DURATION_INPUT_ERROR_CODES, DURATION_INPUT_IMPORTS, DailymotionPlayerComponent, DailymotionPlayerDirective, DailymotionPlayerParamsDirective, DailymotionPlayerSlotComponent, DateInputComponent, DateInputDirective, DateInputFieldDirective, DatePickerPanelComponent, DatePickerSurfaceDirective, DatePickerTriggerDirective, DateRangeInputComponent, DateRangeInputDirective, DateRangeInputFieldDirective, DateTimeInputComponent, DateTimeInputDirective, DateTimeInputFieldDirective, DateTimeRangeInputComponent, DateTimeRangeInputDirective, DateTimeRangeInputFieldDirective, DescriptionComponent, DescriptionListComponent, DividerComponent, DropzoneComponent, DropzoneDirective, DurationInputComponent, DurationInputDirective, DurationInputFieldDirective, ELLIPSIS_ICON, ELLIPSIS_VERTICAL_ICON, EMPTY_STATE_IMPORTS, ET_BUILT_IN_ICON_NAMES, EYEDROPPER_ICON, EYE_ICON, EYE_SLASH_ICON, EmptyStateComponent, FACEBOOK_PLAYER_TOKEN, FIELD_WARNINGS, FIELD_WARNING_KIND, FILE_ICON, FILTER_ICON, FILTER_OVERLAY_ERROR_CODES, FILTER_OVERLAY_IMPORTS, FILTER_OVERLAY_LABELS, FILTER_OVERLAY_TOKEN, FLOATING_ACTION_ERROR_CODES, FLOATING_ACTION_IMPORTS, FLOATING_ACTION_STATES, FLOATING_ACTION_TOKEN, FLOPPY_DISK_ICON, FOCUS_FRAME_ICON, FORM_ERROR_MESSAGE_RESOLVER, FORM_FIELD_APPEARANCES, FORM_FIELD_CONTROL_TYPES, FORM_FIELD_ERROR_CODES, FORM_FIELD_FILLS, FORM_FIELD_IMPORTS, FORM_FIELD_LABELS, FORM_FIELD_LABEL_MODES, FORM_FIELD_SIZES, FORM_FIELD_TOKEN, FORM_IMPORTS, FORM_WARNING_MESSAGE_RESOLVER, FabComponent, FacebookPlayerComponent, FacebookPlayerDirective, FacebookPlayerParamsDirective, FacebookPlayerSlotComponent, FilterOverlayResetDirective, FilterOverlaySubmitDirective, FloatingActionAnchorDirective, FloatingActionDirective, FloatingActionScopeDirective, FloatingActionTopDirective, FloatingActionTriggerDirective, FocusRingDirective, FormDirective, FormErrorComponent, FormFieldBarrierDirective, FormFieldComponent, FormFieldDirective, FormWarningComponent, GERMAN_COMMAND_PALETTE_LABELS, GERMAN_FILTER_OVERLAY_LABELS, GERMAN_QUERY_ERROR_LABELS, GRID_2X2_ICON, GRID_DEBUG_IMPORTS, GRID_ERROR_CODES, GRID_IMPORTS, GRID_LABELS, GRID_TOKEN, GROUP_BRACKET_ROUND_TYPE, GridComponent, GridDebugComponent, GridDirective, GridDragDirective, GridItemComponent, GridItemDefaultActionsComponent, GridItemDirective, GridItemRef, GridItemToolbarComponent, GridResizeDirective, HEADING_1_ICON, HEADING_2_ICON, HEADING_3_ICON, HintComponent, ICONS_TOKEN, ICON_DIRECTIVE_TOKEN, ICON_ERROR_CODES, ICON_IMPORTS, ICON_OVERRIDES_TOKEN, IMAGE_ICON, INHERIT_COLOR, INITIAL_SUPPORT_PRESENTATION_STATE, INPUT_IMPORTS, INPUT_LABELS, INPUT_MASK_HOST, INPUT_TEXT_ALIGNMENTS, INPUT_TYPES, INTERACTIVE_TAGS, ITALIC_ICON, IconButtonComponent, IconDirective, InputComponent, InputDirective, InputMaskDirective, InputPrefixDirective, InputSuffixDirective, KBD_IMPORTS, KBD_PLATFORM, KICK_PLAYER_TOKEN, KbdComponent, KickPlayerComponent, KickPlayerDirective, KickPlayerParamsDirective, KickPlayerSlotComponent, LINK_ICON, LIST_BULLETED_ICON, LIST_NUMBERED_ICON, LOADER_LABELS, LOCATION_ICON, LOCK_ICON, LabelDirective, MASKED_INPUT_ERROR_CODES, MASKED_INPUT_IMPORTS, MASK_VALUE_MODES, MASONRY_ERROR_CODES, MASONRY_IMPORTS, MASONRY_TOKEN, MATCH_CARD_IMPORTS, MATCH_CARD_SIZES, MATCH_CARD_TOKEN, MATCH_ERROR_CODES, MATCH_LABELS, MATCH_PARTICIPANT_IMPORTS, MENU_ERROR_CODES, MENU_IMPORTS, MENU_ITEM_VARIANTS, MENU_SELECTION_GROUP_MULTIPLE, MENU_SELECTION_GROUP_TOKEN, MENU_SELECTION_ITEM_KIND, MINUS_ICON, MULTI_LANGUAGE_RICH_TEXT_EDITOR_ERROR_CODES, MULTI_LANGUAGE_RICH_TEXT_EDITOR_IMPORTS, MasonryDirective, MasonryItemDirective, MatchCardComponent, MatchCardDirective, MatchCardGameScoresDirective, MatchCardMetaDirective, MatchCardScoreDirective, MatchParticipantComponent, MatchScoreComponent, MenuCheckboxGroupComponent, MenuCheckboxItemComponent, MenuComponent, MenuContextTriggerDirective, MenuDirective, MenuGroupLabelComponent, MenuItemComponent, MenuItemDirective, MenuItemShortcutComponent, MenuItemSubmenuIconComponent, MenuPanelDirective, MenuRadioGroupComponent, MenuRadioItemComponent, MenuSearchDirective, MenuSelectionGroupDirective, MenuSelectionItemDirective, MenuSeparatorComponent, MenuSurfaceDirective, MenuTriggerDirective, MultiLanguageRichTextEditorComponent, MultiLanguageRichTextEditorDirective, MultiLanguageRichTextEditorLanguageToolComponent, NAV_TABS_TOKEN, NAV_TAB_IMPORTS, NOTIFICATION_ACTION_SLOTS, NOTIFICATION_ERROR_CODES, NOTIFICATION_IMPORTS, NOTIFICATION_LABELS, NOTIFICATION_STACK_CONTEXT_TOKEN, NOTIFICATION_STACK_OVERLAY_LAYER, NOTIFICATION_STATUS, NUMBER_INPUT_IMPORTS, NavTabLinkComponent, NavTabLinkDirective, NavTabLinkStylesComponent, NavTabsComponent, NavTabsDirective, NavTabsOutletComponent, NavTabsOutletDirective, NotificationActionDirective, NotificationComponent, NotificationDirective, NotificationDismissDirective, NotificationItemDirective, NotificationStackDirective, NotificationSwipeToDismissDirective, NumberInputComponent, NumberInputDirective, OTP_INPUT_IMPORTS, OVERLAY_BACK_OR_CLOSE_TOKEN, OVERLAY_BODY_TOKEN, OVERLAY_CONFIG_CLASS_KEYS, OVERLAY_CONTENT_IMPORTS, OVERLAY_ERROR_CODES, OVERLAY_FOOTER_TOKEN, OVERLAY_HEADER_TEMPLATE_TOKEN, OVERLAY_HEADER_TOKEN, OVERLAY_IMPORTS, OVERLAY_MAIN_TOKEN, OVERLAY_QUERY_PARAM_INPUT_NAME, OVERLAY_REF, OVERLAY_ROUTER_CONFIG_TOKEN, OVERLAY_ROUTER_LINK_TOKEN, OVERLAY_ROUTER_OUTLET_DISABLED_TEMPLATE_TOKEN, OVERLAY_ROUTER_OUTLET_TOKEN, OVERLAY_ROUTER_TOKEN, OVERLAY_SHARED_ROUTE_TEMPLATE_TOKEN, OtpInputComponent, OtpInputDirective, OverlayAnchorDirective, OverlayBackOrCloseDirective, OverlayBodyComponent, OverlayCloseDirective, OverlayContainerComponent, OverlayDirective, OverlayFooterDirective, OverlayHeaderDirective, OverlayHeaderTemplateDirective, OverlayMainDirective, OverlayNavTabLinkComponent, OverlayOriginCloneComponent, OverlayRouteHeaderTemplateOutletComponent, OverlayRouterLinkDirective, OverlayRouterOutletComponent, OverlayRouterOutletDisabledTemplateDirective, OverlaySharedRouteTemplateDirective, OverlaySharedRouteTemplateOutletComponent, OverlaySidebarComponent, OverlaySidebarPageComponent, OverlaySurfaceDirective, OverlayTitleDirective, OverlayTriggerDirective, PAGE_SIZE_SELECT_IMPORTS, PAGINATION_IMPORTS, PAGINATION_LABELS, PARAGRAPH_ICON, PASSWORD_INPUT_IMPORTS, PAUSE_ICON, PENCIL_ICON, PHONE_COUNTRIES, PHONE_INPUT_ERROR_CODES, PHONE_INPUT_IMPORTS, PHONE_INPUT_LABELS, PICTURE_IMPORTS, PICTURE_STATES, PIP_CHROME_REF_TOKEN, PIP_ENTRY_TOKEN, PIP_WINDOW_ASPECT_RATIO_TOKEN, PLAY_ICON, PLUS_ICON, PROGRESS_STEPS_IMPORTS, PROGRESS_STEPS_ORIENTATIONS, PROGRESS_STEP_STATES, PageSizeSelectComponent, PaginationComponent, PaginationDirective, PaginationSeoDirective, PasswordInputComponent, PasswordInputDirective, PhoneInputComponent, PhoneInputDirective, PhoneInputFieldDirective, PhoneInputFlagDirective, PictureComponent, PictureErrorDirective, PicturePlaceholderDirective, PipBackDirective, PipBringBackDirective, PipCellDirective, PipCloseDirective, PipCollapseOverlayDirective, PipGridToggleDirective, PipPlayerComponent, PipSlotPlaceholderComponent, PipStageDirective, PipTitleBarDirective, PipTitleBarTemplateDirective, PipWindowComponent, PipWindowParamsDirective, ProgressBarComponent, ProgressStepComponent, ProgressStepsComponent, QUERY_ERROR_ERROR_CODES, QUERY_ERROR_IMPORTS, QUERY_ERROR_LABELS, QUERY_ERROR_TOKEN, QUOTE_ICON, QueryErrorActionsDirective, QueryErrorComponent, QueryErrorDirective, QueryErrorTitleDirective, QueryParamOverlayLinkDirective, RADIO_GROUP_IMPORTS, RADIO_VARIANTS, RATING_IMPORTS, REDO_ICON, RICH_TEXT_EDITOR_FLOATING_TOOLBAR, RICH_TEXT_EDITOR_HEADING_OPTIONS, RICH_TEXT_EDITOR_IMPORTS, RICH_TEXT_EDITOR_INLINE_TOOLS, RICH_TEXT_EDITOR_LABELS, RICH_TEXT_EDITOR_LANGUAGE_TOOL, RICH_TEXT_EDITOR_LINK_EDITOR, RICH_TEXT_EDITOR_TOKEN_CODEC, RICH_TEXT_EDITOR_TOKEN_PALETTE_IMPORTS, RICH_TEXT_EDITOR_TOOL, RICH_TEXT_EDITOR_TOOLS, RICH_TEXT_EDITOR_TOOL_BUTTONS, RICH_TEXT_EDITOR_TRIGGERS_IMPORTS, ROTATE_RIGHT_ICON, RadioComponent, RadioGroupComponent, RangeSliderComponent, RangeSliderDirective, RatingComponent, RatingDirective, RatingIconDirective, RichTextEditorAlignToolComponent, RichTextEditorComponent, RichTextEditorDirective, RichTextEditorFloatingToolbarComponent, RichTextEditorFloatingToolbarDirective, RichTextEditorHeadingToolComponent, RichTextEditorImageEditorComponent, RichTextEditorImageStylesComponent, RichTextEditorImageToolComponent, RichTextEditorLinkEditorComponent, RichTextEditorLinkEditorDirective, RichTextEditorTableStylesComponent, RichTextEditorTableToolComponent, RichTextEditorTokenPaletteComponent, RichTextEditorTokenPopupComponent, RichTextEditorTriggersDirective, SCHEDULER_ADD_SURFACE_OVERLAY, SCHEDULER_EDIT_SURFACE_HOST, SCHEDULER_EDIT_SURFACE_OVERLAY, SCHEDULER_ERROR_CODES, SCHEDULER_FEATURE_HOST, SCHEDULER_IMPORTS, SCHEDULER_LABELS, SCROLLABLE_DARKEN_IMPORTS, SCROLLABLE_DRAG_IMPORTS, SCROLLABLE_ERROR_CODES, SCROLLABLE_IMPORTS, SCROLLABLE_NAVIGATION_IMPORTS, SEGMENTED_BUTTON_GROUP_VARIANTS, SEGMENTED_BUTTON_IMPORTS, SELECTION_CARD_CONTROL_POSITIONS, SELECTION_LIST_IMPORTS, SELECTION_LIST_MULTIPLE, SELECTION_LIST_TOKEN, SELECT_ERROR_CODES, SELECT_FILTER_MODES, SELECT_IMPORTS, SELECT_LABELS, SIDEBAR_OVERLAY_CONFIG, SIDEBAR_OVERLAY_TOKEN, SINGLE_ELIMINATION_BRACKET_ROUND_TYPE, SKELETON_IMPORTS, SLIDER_ERROR_CODES, SLIDER_IMPORTS, SLIDER_LABELS, SLIDER_MARK_VALUE_ATTRIBUTE, SLIDER_TOKEN, SNAP_HYSTERESIS, SOOP_PLAYER_TOKEN, SPLIT_BUTTON_ERROR_CODES, STANDINGS_ERROR_CODES, STANDINGS_IMPORTS, STANDINGS_LABELS, STAR_ICON, STREAM_ALL_IMPORTS, STREAM_CONSENT_TOKEN, STREAM_DAILYMOTION_IMPORTS, STREAM_FACEBOOK_IMPORTS, STREAM_IMPORTS, STREAM_KICK_IMPORTS, STREAM_LABELS, STREAM_PIP_IMPORTS, STREAM_PLAYER_COMPONENT_TOKEN, STREAM_PLAYER_ERROR_CONTEXT_TOKEN, STREAM_PLAYER_ERROR_TOKEN, STREAM_PLAYER_PARAMS_TOKEN, STREAM_PLAYER_SLOT_TOKEN, STREAM_PLAYER_TOKEN, STREAM_SLOT_PLAYER_ID_TOKEN, STREAM_SOOP_IMPORTS, STREAM_TIKTOK_IMPORTS, STREAM_TWITCH_IMPORTS, STREAM_USER_CONSENT_PROVIDER_TOKEN, STREAM_VIMEO_IMPORTS, STREAM_YOUTUBE_IMPORTS, STRIKETHROUGH_ICON, SUPPORT_CONTENT_STATE, SUPPORT_TRANSITION_DIRECTION, SWISS_BRACKET_ROUND_TYPE, SWITCH_IMPORTS, SchedulerActionAddAppointmentDirective, SchedulerActionAddSubAppointmentDirective, SchedulerActionDeleteDirective, SchedulerAgendaDirective, SchedulerAgendaViewComponent, SchedulerAppointmentDragDirective, SchedulerBadgeChainCountComponent, SchedulerBadgeChainCountDirective, SchedulerBadgeColorDotComponent, SchedulerBadgeColorDotDirective, SchedulerBadgeLocationComponent, SchedulerBadgeLocationDirective, SchedulerBadgeTimeRangeComponent, SchedulerBadgeTimeRangeDirective, SchedulerBadgeTitleComponent, SchedulerBadgeTitleDirective, SchedulerComponent, SchedulerDirective, SchedulerEditColorComponent, SchedulerEditColorDirective, SchedulerEditDescriptionComponent, SchedulerEditDescriptionDirective, SchedulerEditLocationComponent, SchedulerEditLocationDirective, SchedulerEditSurfaceComponent, SchedulerEditSurfaceDirective, SchedulerEditTimeRangeComponent, SchedulerEditTimeRangeDirective, SchedulerEditTitleComponent, SchedulerEditTitleDirective, SchedulerMonthDirective, SchedulerMonthViewComponent, SchedulerSwipeNavigationDirective, SchedulerTimeGridDirective, SchedulerTimeGridViewComponent, ScrollableActiveChildDirective, ScrollableButtonsComponent, ScrollableButtonsDirective, ScrollableComponent, ScrollableDarkenDirective, ScrollableDirective, ScrollableDragDirective, ScrollableIgnoreChildDirective, ScrollableLoadingTemplateDirective, ScrollableMasksComponent, ScrollableNavigationComponent, ScrollableNavigationDirective, ScrollableSnapDirective, SegmentedButtonComponent, SegmentedButtonGroupComponent, SelectComponent, SelectDirective, SelectEmptyDirective, SelectErrorDirective, SelectListboxDirective, SelectLoadingDirective, SelectOptionComponent, SelectOptionDirective, SelectOptionGroupComponent, SelectOptionGroupDirective, SelectOptionTemplateDirective, SelectOptionsDirective, SelectPanelComponent, SelectSearchDirective, SelectSurfaceDirective, SelectTriggerDirective, SelectValueDirective, SelectViewportDirective, SelectVirtualOptionComponent, SelectVirtualOptionDirective, SelectionListControlDirective, SelectionListDirective, SelectionOptionDirective, SkeletonComponent, SkeletonItemComponent, SkeletonTextComponent, SliderComponent, SliderDirective, SliderThumbDirective, SliderThumbLabelDirective, SliderTrackDirective, SoopPlayerComponent, SoopPlayerDirective, SoopPlayerParamsDirective, SoopPlayerSlotComponent, SpinnerComponent, SplitButtonActionDirective, SplitButtonComponent, SplitButtonDirective, SplitButtonTriggerDirective, StandingsComponent, StandingsDirective, StreamConsentAcceptDirective, StreamConsentComponent, StreamConsentDirective, StreamPipChromeComponent, StreamPlayerErrorComponent, StreamPlayerErrorDirective, StreamPlayerLoadingComponent, StreamPlayerSlotDirective, SwitchComponent, SwitchDirective, TABLE_CELL_ERROR_TOOLTIP_IMPORTS, TABLE_COLUMN_CHOOSER_IMPORTS, TABLE_COLUMN_MENU_IMPORTS, TABLE_CSV_EXPORT_IMPORTS, TABLE_DRAG_SCROLL_IMPORTS, TABLE_ERROR_CODES, TABLE_FEATURE_HOST, TABLE_FILTER_IMPORTS, TABLE_GROUP_HEADERS_IMPORTS, TABLE_ICON, TABLE_IMPORTS, TABLE_INLINE_EDIT_IMPORTS, TABLE_KEYBOARD_NAV_IMPORTS, TABLE_LABELS, TABLE_PAGE_STICKY_HEADER_IMPORTS, TABLE_REORDER_IMPORTS, TABLE_RESIZE_IMPORTS, TABLE_ROW_EXPANSION_IMPORTS, TABLE_ROW_ROUTER_LINK_IMPORTS, TABLE_SELECTION_IMPORTS, TABLE_SKELETON_IMPORTS, TABLE_STATE_PERSISTENCE_IMPORTS, TABLE_STICKY_COLUMNS_IMPORTS, TABLE_VIRTUAL_SCROLL_IMPORTS, TAB_BAR_FITS, TAB_BAR_ORIENTATIONS, TAB_BAR_TOKEN, TAB_BAR_TRIGGER_TOKEN, TAB_BAR_VARIANTS, TAB_ERROR_CODES, TAB_GROUP_TOKEN, TAB_IMPORTS, TAB_PANEL_TOKEN, TAB_SIZES, TAG_INPUT_ERROR_CODES, TAG_INPUT_IMPORTS, TEXTAREA_IMPORTS, TEXTAREA_RESIZE_MODES, TEXT_ALIGNS, TIKTOK_PLAYER_TOKEN, TIMELINE_IMPORTS, TIMES_ICON, TIME_FORMAT, TIME_INPUT_ERROR_CODES, TIME_INPUT_IMPORTS, TIME_PICKER_ERROR_CODES, TIME_PICKER_IMPORTS, TIME_PICKER_LABELS, TIME_RANGE_INPUT_ERROR_CODES, TIME_RANGE_INPUT_IMPORTS, TOGGLETIP_ERROR_CODES, TOGGLETIP_IMPORTS, TOOLBAR_IMPORTS, TOOLBAR_ORIENTATIONS, TOOLTIP_ERROR_CODES, TOOLTIP_IMPORTS, TOURNAMENT_MODE, TRASH_ICON, TREE_ERROR_CODES, TREE_IMPORTS, TREE_LEVEL_STATUSES, TREE_MARKERS, TREE_SELECTION_MODES, TRIANGLE_EXCLAMATION_ICON, TROPHY_ICON, TWITCH_PLAYER_TOKEN, TabBarDirective, TabBarTriggerDirective, TabBarUnderlineDirective, TabComponent, TabGroupComponent, TabGroupDirective, TabLabelDirective, TabPanelDirective, TabTriggerDirective, TableCardSurfaceDirective, TableCellDirective, TableCellEditDirective, TableCellErrorMarkComponent, TableCellErrorTooltipDirective, TableCellSkeletonDirective, TableColumnChooserComponent, TableColumnMenuDirective, TableColumnMenuTriggerComponent, TableComponent, TableCsvExportDirective, TableDetailStylesComponent, TableDragScrollDirective, TableDragScrollStylesComponent, TableExpanderCellComponent, TableFilterOptionDirective, TableFilterTriggerComponent, TableFiltersDirective, TableFooterCellDirective, TableFooterDirective, TableGroupHeaderRowComponent, TableGroupHeadersDirective, TableHeaderCellDirective, TableInlineEditDirective, TableInlineEditStylesComponent, TableKeyboardNavDirective, TablePageStickyHeaderDirective, TablePageStickyHeaderStylesComponent, TableReorderDirective, TableReorderOverlayComponent, TableResizeDirective, TableResizeGripComponent, TableRowDetailComponent, TableRowExpansionDirective, TableRowRouterLinkDirective, TableSelectAllCellComponent, TableSelectCellComponent, TableSelectionDirective, TableSkeletonDirective, TableSkeletonRowsComponent, TableStatePersistenceDirective, TableStickyColumnsDirective, TableVirtualScrollDirective, TableVirtualScrollStylesComponent, TagInputComponent, TagInputDirective, TagInputFieldDirective, TextButtonComponent, TextFieldControlDirective, TextareaComponent, TextareaDirective, TikTokPlayerComponent, TikTokPlayerDirective, TikTokPlayerParamsDirective, TikTokPlayerSlotComponent, TimeInputComponent, TimeInputDirective, TimeInputFieldDirective, TimePickerColumnDirective, TimePickerComponent, TimePickerDirective, TimePickerOptionDirective, TimeRangeInputComponent, TimeRangeInputDirective, TimeRangeInputFieldDirective, TimelineComponent, TimelineItemComponent, ToggletipCloseDirective, ToggletipComponent, ToggletipDirective, ToggletipTriggerDirective, ToolbarComponent, ToolbarDirective, TooltipComponent, TooltipDirective, TreeComponent, TreeDirective, TreeMarkerComponent, TreeNodeDefDirective, TreeNodeDirective, TwitchPlayerComponent, TwitchPlayerDirective, TwitchPlayerParamsDirective, TwitchPlayerSlotComponent, UNDERLINE_ICON, UNDO_ICON, UNIT_MS, UPLOAD_ICON, VIMEO_PLAYER_TOKEN, VimeoPlayerComponent, VimeoPlayerDirective, VimeoPlayerParamsDirective, VimeoPlayerSlotComponent, WCAG_CONTRAST_RATIOS, WINDOW_CONTROL_BUTTON_KINDS, WINDOW_CONTROL_BUTTON_SIZES, WindowControlButtonComponent, YOUTUBE_PLAYER_SLOT_TOKEN, YOUTUBE_PLAYER_TOKEN, YoutubePlayerComponent, YoutubePlayerDirective, YoutubePlayerParamsDirective, YoutubePlayerSlotComponent, YoutubePlayerSlotDirective, abortFullscreenAnimation, anchoredDialogOverlayStrategy, anchoredOverlayStrategy, autoPlace, bottomSheetOverlayStrategy, bracketFitsWidth, bracketNaturalWidth, buildAnchoredRuntimePositionStrategy, canHaveChildren, canonicalKbdKey, cascaderFromQuery, centeredOverlayStrategy, clampPosition, clampResizeRect, cleanupFullscreenAnimation, cleanupFullscreenAnimationStyles, clearLeavingSupportStateOnExit, colorContrast, commandPaletteLabelsForLocale, compactLayout, computeGeometry, computeGridHeight, countDescendants, createAnchoredPanelController, createAutoScroller, createCardMask, createCurrencyMask, createDefaultDropzoneArgs, createDropzoneUpload, createExistingDropzoneEntry, createFileDropzoneEntry, createFixedLengthRangeStrategy, createGridAdapter, createIbanMask, createNormalizedBracketMatch, createNotificationPromiseFn, createNotificationRef, createOverlayOpener, createOverlayRef, createOverlayStrategyController, createOverlayUnsavedChangesGuard, createPipChromeAnimations, createPipChromeState, createRichTextEditorTrigger, createRichTextEditorTriggerWithQuery, createStreamConfig, createStreamPlayerSlot, createTableRowsSource, createTableStateStorage, createV2DropzoneUpload, createWeekRangeStrategy, defaultCompareWith, defaultDropzoneRejectionMessage, defineOverlay, defineQueryParamOverlay, deriveDurationFormatSpec, deserializeGridLayout, deserializeTableState, detectKbdPlatform, dialogOverlayStrategy, disposeDropzoneEntry, doubleEliminationBracketLayout, dropzoneFiles, enableDragToDismiss, extractFirstImageUrl, filterOverlayLabelsForLocale, filterOverlayPreviewFromQuery, filterRows, findCollision, findNextRelevantHtmlElement, findScrollableAncestor, focusFirstInvalidField, formatDuration, formatFileSize, fromGridPosition, fullScreenDialogOverlayStrategy, generateBracketDataForEthlete, generateRoundTypeFromEthleteRoundType, generateTournamentModeFormEthleteRounds, getClosestOverlay, getColorContrastRatio, getOriginCoordinatesAndDimensions, hexColor, hysteresisRound, iconRegistryKey, indexOfNode, injectAnchoredDialogStrategy, injectAnchoredDialogStrategyDefaults, injectBannerLabels, injectBottomSheetStrategy, injectBottomSheetStrategyDefaults, injectBracketConfig, injectBracketLabels, injectBreadcrumbLabels, injectBreadcrumbManager, injectCalendarLabels, injectCarouselLabels, injectCascaderLabels, injectChipLabels, injectColorInputLabels, injectCommandPalette, injectCommandPaletteLabels, injectCommandPaletteRegistry, injectDateFormat, injectDateLocale, injectDateTimeLabels, injectDialogStrategy, injectDialogStrategyDefaults, injectDropzoneLabels, injectFilterOverlay, injectFilterOverlayLabels, injectFormFieldLabels, injectFormSupport, injectFullscreenDialogStrategy, injectFullscreenDialogStrategyDefaults, injectGridConfig, injectGridLabels, injectInputLabels, injectLeftSheetStrategy, injectLeftSheetStrategyDefaults, injectLoaderLabels, injectMatchLabels, injectNotificationLabels, injectNotificationManager, injectNotificationManagerConfig, injectOverlayManager, injectOverlayRouter, injectOverlayScrollBlocker, injectOverlaySurfaceContext, injectPaginationLabels, injectPhoneInputLabels, injectPictureConfig, injectPipChromeManager, injectPipManager, injectPipSlotPlaceholderConfig, injectQueryErrorLabels, injectRichTextEditorLabels, injectRichTextEditorTools, injectRightSheetStrategy, injectRightSheetStrategyDefaults, injectSchedulerEditSurfaceHost, injectSchedulerFeatureHost, injectSchedulerLabels, injectSelectLabels, injectSidebarOverlay, injectSliderLabels, injectStandingsLabels, injectStreamConfig, injectStreamConsentConfig, injectStreamLabels, injectStreamManager, injectStreamPlayerErrorConfig, injectStreamPlayerLoadingConfig, injectStreamScriptLoader, injectStreamUserConsentProvider, injectTableCsvExport, injectTableFeatureHost, injectTableLabels, injectTimeFormat, injectTimePickerLabels, injectTopSheetStrategy, injectTopSheetStrategyDefaults, isFileAccepted, isHtmlElement, isInteractiveElement, isPointerEvent, isTargetInsideOverlayTree, isTouchEvent, itemsCollide, kbdKeyLabel, kbdKeyName, leftSheetOverlayStrategy, legacyQueryErrorSource, mapGridLayout, mapLayoutToBreakpoint, matchCountryByDialCode, matchParticipantDisplayName, matchesKbdChord, mergeOverlayBreakpointConfigs, mergeOverlayConfigs, mirroredDoubleEliminationBracketLayout, mirroredSingleEliminationBracketLayout, mountNavTabLinkStyles, mountRichTextEditorImageStyles, mountRichTextEditorTableStyles, nodesEqual, normalizeEthleteBracketMatch, normalizeEthleteGroupRanking, normalizeEthleteMatch, normalizeEthleteMatchStatus, normalizeEthleteMedia, normalizeEthleteParticipant, normalizeEthletePlacement, normalizePictureSizes, normalizePictureSource, numberInputStepMultiplierFrom, paginate, parseDuration, parseKbdKeys, phoneCountryFlag, phoneCountryName, pixelRectsEqual, positionToPixelRect, positionsEqual, projectDragCell, provideAnchoredDialogStrategy, provideAnchoredDialogStrategyDefaults, provideBannerLabels, provideBottomSheetStrategy, provideBottomSheetStrategyDefaults, provideBracketConfig, provideBracketLabels, provideBreadcrumbLabels, provideBreadcrumbManager, provideCalendarLabels, provideCarouselLabels, provideCascaderLabels, provideChipLabels, provideColorInputLabels, provideCommandPaletteLabels, provideCommandPaletteRegistry, provideDateFormat, provideDateLocale, provideDateTimeLabels, provideDialogStrategy, provideDialogStrategyDefaults, provideDropzoneLabels, provideFilterOverlay, provideFilterOverlayLabels, provideFormErrorMessageResolver, provideFormFieldLabels, provideFormSupport, provideFormWarningMessageResolver, provideFullscreenDialogStrategy, provideFullscreenDialogStrategyDefaults, provideGridConfig, provideGridLabels, provideIconOverrides, provideIcons, provideInputLabels, provideLeftSheetStrategy, provideLeftSheetStrategyDefaults, provideLoaderLabels, provideMatchLabels, provideNotificationLabels, provideNotificationManager, provideNotificationManagerConfig, provideNotificationManagerInstance, provideOverlay, provideOverlayManager, provideOverlayRouter, provideOverlayRouterConfig, provideOverlayRouterService, provideOverlayScrollBlocker, providePaginationLabels, providePhoneInputLabels, providePictureConfig, providePipChromeManager, providePipManager, providePipSlotPlaceholderConfig, provideQueryErrorLabels, provideRichTextEditorAlignmentTool, provideRichTextEditorAutoformat, provideRichTextEditorBlockquoteTool, provideRichTextEditorCodeBlockTool, provideRichTextEditorDefaultTools, provideRichTextEditorFloatingToolbar, provideRichTextEditorHeadingTool, provideRichTextEditorImageTool, provideRichTextEditorLabels, provideRichTextEditorLanguageTool, provideRichTextEditorLinkEditor, provideRichTextEditorLinkTool, provideRichTextEditorTableTool, provideRichTextEditorTokenRendering, provideRichTextEditorTools, provideRightSheetStrategy, provideRightSheetStrategyDefaults, provideSchedulerLabels, provideSelectLabels, provideSidebarOverlay, provideSidebarOverlayConfig, provideSidebarOverlayService, provideSliderLabels, provideStandingsLabels, provideStreamConfig, provideStreamConsentConfig, provideStreamLabels, provideStreamManager, provideStreamPlayerErrorConfig, provideStreamPlayerLoadingConfig, provideTableLabels, provideTimeFormat, provideTimePickerLabels, provideTopSheetStrategy, provideTopSheetStrategyDefaults, queryErrorLabelsForLocale, queryErrorResponseFromLegacyError, reconcileColumnOrder, reconcileColumnWidths, reconcileHiddenColumns, reduceSupportPresentation, registerCommands, registerSingleton, requiredLanguages, resizeSpanBounds, resolveBracketLayout, resolveBreakpoint, resolveClosestOverlay, resolveCollisions, resolveFilterOverlaySubmitButton, resolveNotificationStatusIcon, resolveTableCsvRows, rgbColor, richTextEditorToolLabel, rightSheetOverlayStrategy, rowsToPixelHeight, schedulerFeatureConfig, selectOptionsFromQuery, selectOptionsFromV2Query, serializeGridLayout, serializeTableState, setupRichTextEditorFloatingToolbar, setupRichTextEditorLinkEditor, singleEliminationBracketLayout, snapResizeSpan, sortRows, spanHeight, spanWidth, startFullscreenEnterAnimation, startFullscreenLeaveAnimation, startImageUpload, startOfCalendarUnit, stripTrunkZero, supportPresentationIncludesState, swissBracketLayout, tableCsvRowsFromPages, tableFeatureConfig, tableRowsFromQuery, tableRowsFromV2Query, tableToCsv, toChildrenObservable, toFieldWarnings, toGridPosition, toNotificationContent, toPathObservable, toSearchObservable, topSheetOverlayStrategy, transformingBottomSheetToDialogOverlayStrategy, transformingFullScreenDialogToDialogOverlayStrategy, transformingFullScreenDialogToRightSheetOverlayStrategy, warn, wireFormSupport, withPictureBaseUrl };
27056
+ export type { AccordionHeadingLevel, AnchoredDialogOverlayStrategyOptions, AnchoredOverlayStrategyOptions, AnchoredPanelCloseInfo, AnchoredPanelOverlayRef, AnchoredPanelSurfaceLike, AnchoredPositionOptions, AnyDropzoneUploadConfig, AnyTableColumn, Appointment, AppointmentId, AppointmentTreeNode, AutoPlaceOptions, AutoScrollPointer, AutoScroller, AvatarShape, AvatarSize, BadgeIconAlignment, BadgeSize, BadgeVariant, BannerLabels, BannerLiveRegion, BannerType, Bracket, BracketCardContext, BracketComponents, BracketConfig, BracketContinueComponent, BracketDataLayout, BracketDataSource, BracketDensity, BracketDrawEdgesContext, BracketLabels, BracketLayout, BracketLayoutConfig, BracketListSection, BracketMatch, BracketMatchComponent, BracketMatchFactor, BracketMatchId, BracketMatchNormalizer, BracketMatchParticipant, BracketMatchPosition, BracketMatchRelation, BracketMatchRelationNothingToOne, BracketMatchRelationOneToNothing, BracketMatchRelationOneToOne, BracketMatchRelationTwoToNothing, BracketMatchRelationTwoToOne, BracketMatchShortId, BracketMatchSource, BracketMatchStatus, BracketParticipant, BracketParticipantMatch, BracketRound, BracketRoundHeaderComponent, BracketRoundId, BracketRoundMapWithSwissData, BracketRoundMirrorType, BracketRoundPosition, BracketRoundRelation, BracketRoundRelationNothingToOne, BracketRoundRelationOneToNothing, BracketRoundRelationOneToOne, BracketRoundRelationTwoToNothing, BracketRoundRelationTwoToOne, BracketRoundShortId, BracketRoundSource, BracketRoundSwissData, BracketRoundSwissGroup, BracketRoundSwissGroupId, BracketRoundSwissGroupMap, BracketRoundType, BracketRoundsListBlock, BracketRoundsListSection, BracketSwissColors, BracketSwissGroupColorType, BreadcrumbCollapseAffordance, BreadcrumbCrumb, BreadcrumbLabels, BreadcrumbRenderItem, BreadcrumbSegment, ButtonColor, ButtonIconAlignment, ButtonSize, ButtonVariant, CalendarBandPosition, CalendarCell, CalendarCellBase, CalendarDateClassFn, CalendarFixedLengthRangeStrategyOptions, CalendarHeaderContext, CalendarInterval, CalendarLabels, CalendarMode, CalendarMonthPage, CalendarNavigationDirection, CalendarPrecision, CalendarRange, CalendarRangeSelectionStrategy, CalendarSelectionFlags, CalendarView, CalendarWeekRangeStrategyOptions, CalendarWeekday, CardVariant, CarouselAutoplayPauseReason, CarouselLabels, CarouselResolvedTransitionDriver, CarouselSlideAlign, CarouselSlideContext, CarouselSlideTemplateRef, CarouselTransition, CarouselTransitionDriver, CascaderColumnState, CascaderCompareWith, CascaderDataSource, CascaderFromQueryConfig, CascaderFromQuerySearchConfig, CascaderLabels, CascaderNode, CascaderNodeSignal, CascaderSearchState, CascaderSelectableLevels, CascaderSurfaceContext, CenteredOverlayStrategyOptions, CheckboxOptionVariant, ChipLabels, ChoiceFieldVariant, ClampPositionOptions, ColorContrastOptions, ColorInputLabels, ColorInputSurfaceBase, ColorInputSurfaceContext, ColorInputTriggerBase, ColorNotation, ColorPickerChannel, CommandPaletteCommand, CommandPaletteLabelSegment, CommandPaletteLabels, CommandPaletteRegistration, CommandPaletteResult, CommandPaletteResultGroup, CommandPaletteSource, CommonBracketRoundType, CompactLayoutOptions, ComponentInputValue, ComputedBracketGrid, ControlSuffixBase, CounterComponentBase, CreateAnchoredPanelControllerOptions, CreateBracketGridConfig, CreateExistingDropzoneEntryOptions, CreateFileDropzoneEntryOptions, CreateGridAdapterOptions, CreateOverlayUnsavedChangesGuardConfig, CreateTableRowsSourceOptions, CurrencyMaskOptions, DatePickerHost, DatePickerSurfaceBase, DatePickerSurfaceContext, DatePickerTriggerBase, DateRangeSide, DateRangeValue, DateTimeLabels, DateTimeRangeTimeFilterFn, DateRangeValue as DateTimeRangeValue, DescriptionListVariant, Dimensions, DividerOrientation, DoubleEliminationBracketRoundType, DragDismissMomentum, DragToDismissContext, DragToDismissRef, DropzoneDeleteConfig, DropzoneDeleteOptions, DropzoneEntry, DropzoneEntrySource, DropzoneEntryStatus, DropzoneExistingFileInfo, DropzoneFileConstraints, DropzoneFileRejection, DropzoneFileRejectionReason, DropzoneFileValidationChannel, DropzoneLabels, DropzoneUploadConfig, DropzoneUploadError, DropzoneUploadHandle, DropzoneUploadHandleOptions, DropzoneUploadState, DurationFormatSpec, DurationSegment, DurationUnit, EtBuiltInIconName, EthleteIconNameRegistry, EthleteIconVariantRegistry, FacebookVideoPlayer, FacebookWindow, FieldWarning, FieldWarningResult, FilterOverlay, FilterOverlayConfig, FilterOverlayDraft, FilterOverlayLabels, FilterOverlayPreview, FilterOverlayResult, FilterOverlaySubmitButton, FilterOverlaySubmitState, FilterOverlayValueOf, FilterRowsConfig, FindCollisionOptions, FloatingActionState, FocusFirstInvalidFieldOptions, FormErrorMessageResolver, FormFieldAppearance, FormFieldControl, FormFieldControlType, FormFieldDirectiveBase, FormFieldFill, FormFieldLabelMode, FormFieldLabels, FormFieldSize, FormSupport, FormWarningMessageResolver, FullscreenAnimationCancellable, FullscreenAnimationDeps, FullscreenAnimationState, GridAdapter, GridAdapterBreakpoints, GridBreakpointConfig, GridBreakpointName, GridComponentRegistration, GridConfig, GridGeometry, GridItemActionsComponent, GridItemConfig, GridItemConstraints, GridItemConstraintsConfig, GridItemPosition, GridLabels, GridLayoutEntry, GridMutationOptions, GridSerializedState, GroupBracketRoundType, HexColorOptions, HintComponentBase, IconDefinition, IconOverride, InputLabels, InputMaskHost, InputTextAlignment, KbdPlatform, LabelDirectiveBase, LegacyQueryErrorSource, LoaderLabels, MapLayoutOptions, MaskSpec, MaskValueMode, MasonryColumns, MasonryPacking, MasonryPlacement, MatchCardNameContext, MatchCardSize, MatchLabels, MatchParticipantDisplayNameOptions, MatchParticipantId, MatchParticipantShortId, MatchParticipantSide, MatchResultNameContext, MatchScoreChange, MatchesKbdChordOptions, MenuAnchorPoint, MenuCloseReason, MenuItemActivationEvent, MenuItemActivationSource, MenuItemVariant, MenuOpenSource, MenuSelectionGroupDirectiveBase, MenuSelectionGroupItem, MenuSelectionItemKind, MenuSurfaceContext, MultiLanguageRichTextEditorLanguage, MultiLanguageRichTextEditorValue, NormalizedGameScore, NormalizedMatch, NormalizedMatchParticipant, NormalizedMatchResultKind, NormalizedMatchStatus, NormalizedMedia, NormalizedStandingRow, NotificationAction, NotificationActionSlot, NotificationConfig, NotificationContentInit, NotificationContentInput, NotificationEntry, NotificationLabels, NotificationManager, NotificationManagerConfig, NotificationPromiseContent, NotificationPromiseFn, NotificationPromiseWork, NotificationRef, NotificationStackContext, NotificationStatus, NumberInputStepOptions, OtpInputCharset, OverlayAutoFocusTarget, OverlayBodyDividerType, OverlayBreakpointConfig, OverlayCloseGuard, OverlayConfig, OverlayDefinition, OverlayDefinitionConfig, OverlayDragToDismissConfig, OverlayDragToDismissDirection, OverlayDragToDismissPhysicalDirection, OverlayLifecycleConfig, OverlayManager, OverlayMode, OverlayOpenConfig, OverlayOpener, OverlayOpenerConfig, OverlayRef, OverlayRole, OverlayRoute, OverlayRouter, OverlayRouterConfig, OverlayRouterNavigateConfig, OverlayRouterNavigationDirection, OverlayRouterNavigationGuard, OverlayRouterNavigationGuardContext, OverlayRouterResolvedPath, OverlayRouterTransitionType, OverlayStrategy, OverlayStrategyBreakpoint, OverlayStrategyContext, OverlayStrategyController, OverlayStrategyControllerMountConfig, OverlaySurfaceContext, OverlayTreeContainmentOptions, OverlayUnsavedChangesDismissSources, OverlayUnsavedChangesGuardRef, PaginateOptions, PaginationItem, PaginationItemType, PaginationLabels, PaginationRangeContext, PaginationRenderAs, ParticipantMatchResult, PhoneCountry, PhoneInputFlagContext, PhoneInputFlagCountry, PhoneInputLabels, PictureConfig, PictureSource, PictureState, PipCellData, PipChromeAnimations, PipChromeRef, PipChromeState, PipManager, PipSlotPlaceholderConfig, PixelRect, ProgressStepState, ProgressStepsOrientation, QueryErrorLabels, QueryErrorRetryTarget, QueryErrorSlotContext, QueryErrorView, QueryParamOverlayDefinition, QueryParamOverlayDefinitionConfig, QueryParamOverlayHost, QueryParamOverlayOpener, QueryParamOverlayValue, RadioVariant, RangeSliderValue, RatingIconContext, RatingIconState, ReconcilableColumn, ReduceSupportPresentationInput, RegisteredIconName, RegisteredIconVariant, RequiredLanguagesOptions, ResizeSpanBounds, ResolveClosestOverlayOptions, ResolveCollisionsOptions, ResolvedDropzoneUploadConfig, ResolvedScrollableChrome, RgbColorOptions, RichTextEditorFloatingToolbarSetup, RichTextEditorImageFailure, RichTextEditorImageFailureReason, RichTextEditorImageToolConfig, RichTextEditorImageUpload, RichTextEditorImageUploadFn, RichTextEditorImageUploadRun, RichTextEditorLabels, RichTextEditorLinkEditorSetup, RichTextEditorLinkEditorValue, RichTextEditorQueryTriggerConfig, RichTextEditorTool, RichTextEditorToolButton, RichTextEditorToolDefinition, RichTextEditorToolsConfig, RichTextEditorTrigger, RichTextEditorTriggerItem, RichTextEditorTriggerItemResolver, RichTextEditorTriggerItemSource, RichTextEditorTriggerType, RowFloors, SchedulerActionAddAppointmentConfig, SchedulerActionAddSubAppointmentConfig, SchedulerActionDeleteConfig, SchedulerAgendaDay, SchedulerAppointmentAction, SchedulerAppointmentDrag, SchedulerAppointmentDragConfig, SchedulerAppointmentDragMode, SchedulerAppointmentReschedule, SchedulerBadgeAdornment, SchedulerBadgeChainCountConfig, SchedulerBadgeColorDotConfig, SchedulerBadgeLocationConfig, SchedulerBadgeTimeRangeConfig, SchedulerBadgeTitleConfig, SchedulerDraftRange, SchedulerEditColorConfig, SchedulerEditDescriptionConfig, SchedulerEditField, SchedulerEditLocationConfig, SchedulerEditSurfaceHost, SchedulerEditSurfaceResult, SchedulerEditTimeRangeConfig, SchedulerEditTitleConfig, SchedulerFeatureConfig, SchedulerFeatureHost, SchedulerLabels, SchedulerMonthDayCell, SchedulerSwipeNavigationConfig, SchedulerTimeGridAllDayEntry, SchedulerTimeGridBlock, SchedulerTimeGridDay, SchedulerToolbarAction, SchedulerView, SchedulerVisibleRange, SchedulerWeekStartsOn, SchedulerWeekday, ScrollableActiveChildRef, ScrollableButtonPosition, ScrollableButtonsConfig, ScrollableChrome, ScrollableChromeSlot, ScrollableDirection, ScrollableIntersectionChange, ScrollableItemSize, ScrollableLoadingTemplatePosition, ScrollableLoadingTemplateRef, ScrollableMaskVariant, ScrollableNavigation, ScrollableNavigationConfig, ScrollableNavigationItem, ScrollableScrollMode, ScrollableScrollOrigin, ScrollableScrollState, SegmentedButtonGroupVariant, SelectAsyncOptions, SelectErrorContext, SelectFilterMode, SelectItem, SelectLabels, SelectOptionData, SelectOptionGroupItem, SelectOptionTemplateContext, SelectOptionsFromQuery, SelectOptionsFromQueryConfig, SelectOptionsFromV2QueryConfig, SelectSelectedEntry, SelectSurfaceContext, SelectValueContext, SelectionCardControlPosition, SelectionListDirectiveBase, SelectionListItem, SelectionListOrientation, SerializeOptions, SidebarOverlay, SidebarOverlayConfig, SingleEliminationBracketRoundType, SkeletonShape, SliderHostBase, SliderLabels, SliderMark, SliderMarkStop, SliderMarks, SliderOrientation, SliderThumbBase, SliderThumbFocusOptions, SliderThumbLabelBase, SliderThumbLabelContext, SortRowsConfig, Spacing, StandingsFormResult, StandingsLabels, StandingsRenderRow, StandingsZone, StartImageUploadOptions, StreamConfig, StreamConsentConfig, StreamLabels, StreamManager, StreamPipEntry, StreamPipWindowConfig, StreamPlayer, StreamPlayerCapabilities, StreamPlayerEntry, StreamPlayerErrorConfig, StreamPlayerErrorContext, StreamPlayerId, StreamPlayerLoadingConfig, StreamPlayerParams, StreamPlayerSlotHandle, StreamPlayerSlotOptions, StreamPlayerState, StreamScriptLoader, StreamSlotEntry, SupportContentState, SupportPresentationState, SupportSwappingState, SupportTransitionDirection, SwissBracketLayoutOptions, SwissBracketRoundType, TabBarFit, TabBarOrientation, TabBarVariant, TabSize, TableBodyPlaceholder, TableCellContext, TableCellEditCommit, TableCellEditContext, TableCellEditTarget, TableCellEditing, TableCellErrorMark, TableCellErrorTooltipConfig, TableCellNavigation, TableCellPinning, TableCellPlaceholder, TableCellSkeletonContext, TableCellState, TableCellStateValue, TableColumn, TableColumnAlign, TableColumnDef, TableColumnMenuConfig, TableColumnMeta, TableColumnPinning, TableColumnSide, TableColumnState, TableColumnTemplate, TableColumnVisibilityHost, TableColumns, TableCsvExportConfig, TableCsvExportFile, TableCsvExportOptions, TableCsvRowsFromPagesOptions, TableCsvRowsProvider, TableCsvSerializeOptions, TableCsvSource, TableCsvValue, TableDragScrollConfig, TableEmptyContext, TableErrorContext, TableExpandedRowContext, TableFeatureConfig, TableFeatureHost, TableFilter, TableFilterOption, TableFilterOptionContext, TableFilterOptionsProvider, TableFilterSelection, TableFiltersConfig, TableFooterContext, TableGroupHeadersConfig, TableHeaderAdornment, TableHeaderContext, TableHeaderGroup, TableHeaderRow, TableInlineEditConfig, TableKeyboardNavConfig, TableLabels, TableLabelsSource, TableLayer, TableLeadCellComponent, TableLeadColumn, TablePageStickyHeaderConfig, TableReorderConfig, TableResizeConfig, TableRowDetail, TableRowExpansionConfig, TableRowKey, TableRowLink, TableRowNavigation, TableRowRouterLinkConfig, TableRowWindow, TableRowsDriver, TableRowsFromQuery, TableRowsFromQueryConfig, TableRowsFromV2QueryConfig, TableRowsQueryState, TableRowsSource, TableSelectionConfig, TableSkeletonConfig, TableSort, TableSortDirection, TableSortValue, TableState, TableStatePersistenceConfig, TableStateSlice, TableStateStorage, TableStateStorageKind, TableStateStorageOptions, TableStickyColumnsConfig, TableTemplateSlot, TableVirtualScrollConfig, TextAlign, TextareaResizeMode, TimePickerBandPosition, TimePickerColumn, TimePickerLabels, TimePickerMode, TimePickerOption, TimePickerSide, TimePickerTimeFilterFn, TimePickerUnit, TimeRange, DateRangeSide as TimeRangeInputSide, TimeRangePick, TimeRangeSide, TimeRangeTimeFilterFn, DateRangeValue as TimeRangeValue, ToggletipContent, ToolbarOrientation, TooltipContent, TournamentMode, TreeCompareWith, TreeDataSource, TreeLevelStatus, TreeMarker, TreeNode, TreeNodeDefContext, TreeRow, TreeSelectionMode, TwitchEmbed, TwitchEmbedConstructor, TwitchEmbedPlayer, TwitchPlayerParams, TwitchWindow, V2DropzoneDeleteConfig, V2DropzonePrepareArgsOf, V2DropzoneUploadConfig, V2PrepareArgsOf, ViewportTransformData, VimeoDurationChangeEvent, VimeoPlaybackEvent, VimeoPlayer, VimeoPlayerOptions, VimeoWindow, WindowControlButtonKind, WindowControlButtonSize, YtPlayer, YtPlayerConfig, YtPlayerErrorEvent, YtPlayerEvent, YtPlayerStateChangeEvent, YtPlayerVars, YtWindow };