@ethlete/components 1.0.0-next.34 → 1.0.0-next.36

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.
@@ -8,7 +8,8 @@ import * as _angular_platform_browser from '@angular/platform-browser';
8
8
  import { Locale } from 'date-fns';
9
9
  import * as _angular_forms_signals from '@angular/forms/signals';
10
10
  import { FieldTree, ValidationError, FormValueControl, FormCheckboxControl, PathKind, SchemaPath, SchemaPathRules, validate } from '@angular/forms/signals';
11
- import { QueryFormFields, QueryFormSignals, QueryFormModel, AnyQueryCreator, RequestArgs, QueryArgsOf, ResponseType, QueryErrorResponse, RequestError, QueryArgs, QueryCreator, AnyV2QueryCreator, AnyLegacyQueryCreator, QueryDataOf, ReadonlyQuery, QueryRepositoryEvent, QueryDevtoolsEntry, Query, QueryRepository, QueryRepositoryCacheEntry, QueryKeyLockState, QueryClient, AnyQueryStack, AnyPagedQueryStack, QuerySequence, AnyBearerAuthProvider, WebSocketDevtoolsHandle, QuerySequenceStatus, AnyQuerySnapshot, AnyV2Query, AnyLegacyQuery, AnyQueryCollection } from '@ethlete/query';
11
+ import * as _ethlete_query from '@ethlete/query';
12
+ import { QueryFormFields, QueryFormSignals, QueryFormModel, AnyQueryCreator, RequestArgs, QueryArgsOf, ResponseType, QueryErrorResponse, RequestError, QueryArgs, QueryCreator, AnyV2QueryCreator, AnyLegacyQueryCreator, QueryDataOf, ReadonlyQuery, QueryRepositoryEvent, QueryRefreshCause, QueryDevtoolsEntry, Query, QueryDevtoolsRun, QueryRepository, QueryRepositoryCacheEntry, QueryKeyLockState, QueryClient, HttpRequestRetryState, HttpRequestLoadingProgressState, QueryDevtoolsStats, QueryDevtoolsStatsHandle, AnyQueryStack, AnyPagedQueryStack, QuerySequence, AnyBearerAuthProvider, WebSocketDevtoolsHandle, WebSocketDevtoolsMessage, QueryDevtoolsFormHandle, QuerySequenceStatus, AnyQuerySnapshot, QueryDevtoolsFeature, AnyV2Query, AnyLegacyQuery, AnyQueryCollection } from '@ethlete/query';
12
13
  import * as rxjs from 'rxjs';
13
14
  import { Observable } from 'rxjs';
14
15
  import { Placement, OffsetOptions, Padding } from '@floating-ui/dom';
@@ -8950,34 +8951,6 @@ type RequiredLanguagesOptions = {
8950
8951
  */
8951
8952
  declare const requiredLanguages: (path: MultiLanguageRichTextEditorFieldPath, { codes, message }: RequiredLanguagesOptions) => void;
8952
8953
 
8953
- declare class RichTextEditorFloatingToolbarDirective {
8954
- private editor;
8955
- private document;
8956
- private renderer;
8957
- private overlayManager;
8958
- private destroyRef;
8959
- /** On touch devices the platform shows its own selection menu (Copy/Paste/…) over the selection,
8960
- * which this toolbar would fight and hide behind; the always-visible static toolbar covers
8961
- * formatting there instead, so the floating toolbar is a pointer-device-only enhancement. */
8962
- private hasTouchInput;
8963
- private overlayId;
8964
- private overlayRef;
8965
- private activeRange;
8966
- private pointerSelectingInContent;
8967
- constructor();
8968
- private selectableRange;
8969
- private finishContentPointerSelection;
8970
- /** Selection settled (key/pointer): open the toolbar or move it to the new range. */
8971
- private evaluate;
8972
- /** Selection changed while open: follow it, or close if it is no longer usable. */
8973
- private reposition;
8974
- private openOrReposition;
8975
- private buildAnchoredPosition;
8976
- private hide;
8977
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<RichTextEditorFloatingToolbarDirective, never>;
8978
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RichTextEditorFloatingToolbarDirective, "[etRichTextEditorFloatingToolbar]", never, {}, {}, never, never, true, never>;
8979
- }
8980
-
8981
8954
  /**
8982
8955
  * A caret or selection as character offsets into the editor's text content. The only form that
8983
8956
  * survives a snapshot being restored: undo re-renders the editable from the value, so every node
@@ -9208,13 +9181,16 @@ declare const RICH_TEXT_EDITOR_TOOLS: {
9208
9181
  readonly DIVIDER: "divider";
9209
9182
  };
9210
9183
  /**
9211
- * A toolbar tool token. The `align`, `table` and `image` tools are opt-in - they only render when
9212
- * their provider (`provideRichTextEditorAlignmentTool` / `provideRichTextEditorTableTool` /
9213
- * `provideRichTextEditorImageTool`) is present, so their code tree-shakes away otherwise.
9214
- * `(string & {})` keeps the union open for custom tools.
9184
+ * A toolbar tool token. History, the inline marks and the lists are built in; every other tool is
9185
+ * opt-in and only renders when its provider is present, so its code tree-shakes away otherwise -
9186
+ * `provideRichTextEditorHeadingTool` / `…BlockquoteTool` / `…CodeBlockTool` / `…LinkTool` /
9187
+ * `…AlignmentTool` / `…TableTool` / `…ImageTool`. `(string & {})` keeps the union open for custom
9188
+ * tools.
9215
9189
  */
9216
9190
  type RichTextEditorTool = (typeof RICH_TEXT_EDITOR_TOOLS)[keyof typeof RICH_TEXT_EDITOR_TOOLS] | (string & {});
9217
- /** The default toolbar: history, then the block-style menu, inline marks, lists and links. */
9191
+ /** The default toolbar: history, then the block-style menu, inline marks, lists, quotes/fences and
9192
+ * links. The opt-in tokens in it render nothing until their provider is registered, so the bar an
9193
+ * editor actually shows is this list intersected with what was provided. */
9218
9194
  declare const DEFAULT_RICH_TEXT_EDITOR_TOOLS: readonly RichTextEditorTool[];
9219
9195
  /** The inline marks the selection (floating) toolbar can offer - headings/lists are block-level. */
9220
9196
  declare const RICH_TEXT_EDITOR_INLINE_TOOLS: readonly RichTextEditorTool[];
@@ -9421,34 +9397,48 @@ declare class RichTextEditorDirective implements FormValueControl<string>, FormF
9421
9397
  toggleList: (listTag: ListTag) => void;
9422
9398
  indentListItem: () => boolean;
9423
9399
  outdentListItem: () => boolean;
9424
- toggleHeading: (tag: HeadingTag) => void;
9425
- toggleBlockquote: () => void;
9426
- repairEmptyQuotes: () => boolean;
9427
- indentBlockquote: () => boolean;
9428
- outdentBlockquote: () => boolean;
9429
- toggleCodeBlock: () => void;
9430
- codeBlockArrowStep: (key: "ArrowUp" | "ArrowDown") => boolean;
9431
- exitCodeBlock: () => boolean;
9432
- repairCodeBlock: () => boolean;
9433
- applyLink: (href: string, options?: {
9434
- newTab?: boolean;
9435
- text?: string | null;
9436
- }) => void;
9437
- readActiveLink: () => {
9438
- href: string;
9439
- text: string;
9440
- newTab: boolean;
9441
- exists: boolean;
9442
- } | null;
9443
- removeLink: () => void;
9444
9400
  insertNormalizedHtml: (html: string) => void;
9445
- applyBlockAutoformat: (isReserved: (char: string) => boolean) => boolean;
9446
- applyInlineAutoformat: (typed: string, isReserved: (char: string) => boolean) => boolean;
9447
9401
  handleBackspace: () => boolean;
9448
9402
  handleEnter: () => boolean;
9449
9403
  codeExit: (key: string) => boolean;
9450
9404
  readSelectionOffsets: () => RichTextEditorSelectionOffsets | null;
9451
9405
  restoreSelectionOffsets: (offsets: RichTextEditorSelectionOffsets | null) => void;
9406
+ headings: {
9407
+ toggleHeading: (tag: HeadingTag) => void;
9408
+ headingEnter: () => boolean;
9409
+ } | null;
9410
+ links: {
9411
+ applyLink: (href: string, options?: {
9412
+ newTab?: boolean;
9413
+ text?: string | null;
9414
+ }) => void;
9415
+ readActiveLink: () => {
9416
+ href: string;
9417
+ text: string;
9418
+ newTab: boolean;
9419
+ exists: boolean;
9420
+ } | null;
9421
+ removeLink: () => void;
9422
+ } | null;
9423
+ blockquote: {
9424
+ toggleBlockquote: () => void;
9425
+ indentBlockquote: () => boolean;
9426
+ outdentBlockquote: () => boolean;
9427
+ blockquoteEnter: () => boolean;
9428
+ repairEmptyQuotes: () => boolean;
9429
+ } | null;
9430
+ codeBlock: {
9431
+ toggleCodeBlock: () => void;
9432
+ codeBlockEnter: () => boolean;
9433
+ codeBlockArrowStep: (key: "ArrowUp" | "ArrowDown") => boolean;
9434
+ exitCodeBlock: () => boolean;
9435
+ codeBlockBackspace: () => boolean;
9436
+ repairCodeBlock: () => boolean;
9437
+ } | null;
9438
+ autoformat: {
9439
+ applyBlockAutoformat: (isReserved: (char: string) => boolean) => boolean;
9440
+ applyInlineAutoformat: (typed: string, isReserved: (char: string) => boolean) => boolean;
9441
+ } | null;
9452
9442
  };
9453
9443
  value: _angular_core.ModelSignal<string>;
9454
9444
  touched: _angular_core.ModelSignal<boolean>;
@@ -9465,7 +9455,9 @@ declare class RichTextEditorDirective implements FormValueControl<string>, FormF
9465
9455
  tools: _angular_core.InputSignal<readonly RichTextEditorTool[] | null>;
9466
9456
  /** Markdown autoformat while typing: `- `, `1. ` and `# `–`### ` at a line start convert into
9467
9457
  * lists/headings, and closing `**bold**`, `*italic*`, `` `code` ``, `~~strike~~`, `__`/`_` runs
9468
- * convert into their marks. Registered token-trigger characters never autoformat. */
9458
+ * convert into their marks. Registered token-trigger characters never autoformat. Switches off
9459
+ * what `provideRichTextEditorAutoformat()` turned on; without that provider there is nothing to
9460
+ * switch off. */
9469
9461
  autoformat: _angular_core.InputSignalWithTransform<boolean, unknown>;
9470
9462
  /**
9471
9463
  * Per-instance overrides for the editor's strings, merged over the injected `RICH_TEXT_EDITOR_LABELS`.
@@ -9479,6 +9471,13 @@ declare class RichTextEditorDirective implements FormValueControl<string>, FormF
9479
9471
  private history;
9480
9472
  /** Resolved toolbar tools: the `tools` input if set, otherwise the provided/default config. */
9481
9473
  resolvedTools: _angular_core.Signal<readonly RichTextEditorTool[]>;
9474
+ /**
9475
+ * @internal Every tool that can render, by token: the always-built-in buttons plus whatever was
9476
+ * registered through {@link RICH_TEXT_EDITOR_TOOL}. Both toolbars read this, so a token in
9477
+ * `resolvedTools()` with no entry here renders nothing - which is how an opt-in tool stays absent
9478
+ * until its provider is added.
9479
+ */
9480
+ toolDefs: ReadonlyMap<string, RichTextEditorToolDefinition>;
9482
9481
  /**
9483
9482
  * The strings in effect here: the injected label set with this instance's `labels` applied. Every part
9484
9483
  * of the editor reads it through this - the toolbars, the link editor and the opt-in tools all reach
@@ -9611,20 +9610,27 @@ declare class RichTextEditorDirective implements FormValueControl<string>, FormF
9611
9610
  clearPendingMarks(): void;
9612
9611
  toggleUnorderedList(): void;
9613
9612
  toggleOrderedList(): void;
9614
- /** Quotes the selected blocks as `> ` lines, or lifts the caret's quote out one nesting level. */
9613
+ /** Quotes the selected blocks as `> ` lines, or lifts the caret's quote out one nesting level.
9614
+ * Needs `provideRichTextEditorBlockquoteTool()`. */
9615
9615
  toggleBlockquote(): void;
9616
9616
  /** Turns the selected blocks into a fenced code block, or a code block back into paragraphs. Only
9617
- * the text survives either way - a fence is literal, so it carries no inline markup. */
9617
+ * the text survives either way - a fence is literal, so it carries no inline markup. Needs
9618
+ * `provideRichTextEditorCodeBlockTool()`. */
9618
9619
  toggleCodeBlock(): void;
9620
+ /** Needs `provideRichTextEditorHeadingTool()`. */
9619
9621
  toggleHeading(level: number): void;
9622
+ /** Needs `provideRichTextEditorHeadingTool()`. */
9620
9623
  setHeading(level: number | null): void;
9621
9624
  /** Applies (or, with an empty `href`, removes) a link on the current selection. `newTab` sets
9622
- * `target="_blank"` + `rel="noopener noreferrer"`; `text` overrides the visible label. */
9625
+ * `target="_blank"` + `rel="noopener noreferrer"`; `text` overrides the visible label. Needs
9626
+ * `provideRichTextEditorLinkTool()`. */
9623
9627
  applyLink(href: string, options?: {
9624
9628
  newTab?: boolean;
9625
9629
  text?: string | null;
9626
9630
  }): void;
9631
+ /** Needs `provideRichTextEditorLinkTool()`. */
9627
9632
  removeLink(): void;
9633
+ /** Needs `provideRichTextEditorLinkTool()`. */
9628
9634
  promptForLink(): void;
9629
9635
  handleBackspace(): boolean;
9630
9636
  pasteHtml(html: string): boolean;
@@ -9684,6 +9690,24 @@ declare class RichTextEditorDirective implements FormValueControl<string>, FormF
9684
9690
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RichTextEditorDirective, "[etRichTextEditor]", ["etRichTextEditor"], { "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; }; "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; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "tools": { "alias": "tools"; "required": false; "isSignal": true; }; "autoformat": { "alias": "autoformat"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touched": "touchedChange"; }, never, never, true, never>;
9685
9691
  }
9686
9692
 
9693
+ /**
9694
+ * Registers the toolbar that follows the selection on `editor`. Must run in an injection context tied
9695
+ * to the editor's lifetime - `provideRichTextEditorFloatingToolbar()` and
9696
+ * `[etRichTextEditorFloatingToolbar]` are the two ways in.
9697
+ *
9698
+ * @internal
9699
+ */
9700
+ declare const setupRichTextEditorFloatingToolbar: (editor: RichTextEditorDirective) => void;
9701
+ /**
9702
+ * Adds the selection toolbar to a headless `[etRichTextEditor]`. The default `et-rich-text-editor`
9703
+ * takes the same wiring through `provideRichTextEditorFloatingToolbar()`.
9704
+ */
9705
+ declare class RichTextEditorFloatingToolbarDirective {
9706
+ constructor();
9707
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RichTextEditorFloatingToolbarDirective, never>;
9708
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<RichTextEditorFloatingToolbarDirective, "[etRichTextEditorFloatingToolbar]", never, {}, {}, never, never, true, never>;
9709
+ }
9710
+
9687
9711
  /**
9688
9712
  * Registers the link editor popover on `editor`: the link tool opens it instead of falling back to
9689
9713
  * `window.prompt`, anchored to the selection (a top sheet below `md`). Must run in an injection
@@ -9777,20 +9801,42 @@ declare class RichTextEditorFloatingToolbarComponent {
9777
9801
  readonly IMAGE: "image";
9778
9802
  readonly DIVIDER: "divider";
9779
9803
  };
9780
- protected readonly TOOL_BUTTONS: Partial<Record<_ethlete_components.RichTextEditorTool, _ethlete_components.RichTextEditorToolButton>>;
9781
9804
  /** The editor's strings - the same set, since this toolbar is part of that editor. */
9782
9805
  protected labels: _angular_core.Signal<_ethlete_components.RichTextEditorLabels>;
9783
- /** The inline marks from the editor's configured tools - headings/lists stay in the static toolbar. */
9784
- protected inlineTools: _angular_core.Signal<_ethlete_components.RichTextEditorTool[]>;
9806
+ /** The inline marks from the editor's configured tools - headings/lists stay in the static toolbar.
9807
+ * A token whose tool was not provided has no definition and is dropped, same as in that bar. */
9808
+ protected inlineTools: _angular_core.Signal<RichTextEditorToolDefinition[]>;
9785
9809
  constructor();
9786
9810
  /** A tool button's accessible name, from the label set. */
9787
- protected toolLabel(token: string, tool: {
9788
- label: string;
9789
- }): string;
9811
+ protected toolLabel(tool: RichTextEditorToolDefinition): string;
9790
9812
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RichTextEditorFloatingToolbarComponent, never>;
9791
9813
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<RichTextEditorFloatingToolbarComponent, "et-rich-text-editor-floating-toolbar", never, { "editor": { "alias": "editor"; "required": true; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _ethlete_core.ProvideColorDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.AutoSurfaceDirective; inputs: {}; outputs: {}; }]>;
9792
9814
  }
9793
9815
 
9816
+ /**
9817
+ * Gives every `et-rich-text-editor` in scope the toolbar that follows the selection: selecting text
9818
+ * with a pointer or the keyboard floats the inline marks (bold, italic, underline, strikethrough,
9819
+ * code and - with the link tool - link) above the selected text.
9820
+ *
9821
+ * Without this provider the editor keeps its static toolbar, and the floating one, with the overlay
9822
+ * runtime and anchored positioning it pulls in, never reaches the bundle.
9823
+ *
9824
+ * @example
9825
+ * providers: [provideRichTextEditorFloatingToolbar()]
9826
+ */
9827
+ declare const provideRichTextEditorFloatingToolbar: () => Provider;
9828
+
9829
+ /**
9830
+ * Wires the selection toolbar to one editor instance. Called from the editor's constructor (an
9831
+ * injection context), so an implementation may `inject()`.
9832
+ */
9833
+ type RichTextEditorFloatingToolbarSetup = (editor: RichTextEditorDirective) => void;
9834
+ /**
9835
+ * The selection toolbar's wiring, registered by `provideRichTextEditorFloatingToolbar()`. Absent
9836
+ * means the editor shows its static toolbar only.
9837
+ */
9838
+ declare const RICH_TEXT_EDITOR_FLOATING_TOOLBAR: InjectionToken<RichTextEditorFloatingToolbarSetup>;
9839
+
9794
9840
  /**
9795
9841
  * The image popover of the opt-in image tool: the alt text of the image at the caret, plus the action
9796
9842
  * that takes the image back out. Opened by `provideRichTextEditorImageTool`, in the same kind of
@@ -10032,11 +10078,86 @@ declare class RichTextEditorAlignToolComponent {
10032
10078
  }
10033
10079
 
10034
10080
  /**
10035
- * Registers the `'heading'` tool: the block-style menu (paragraph, H1, H2, H3). `'heading'` is in the
10081
+ * Turns on markdown-as-you-type for every editor in scope: at a line start `- `, `1. `, `# `–`### `,
10082
+ * `> ` and ```` ``` ```` convert the block, and a closing `**bold**`, `*italic*`, `` `code` ``,
10083
+ * `~~strike~~`, `__`/`_` run converts into its mark. Registered token-trigger characters never
10084
+ * autoformat, and the editor's `autoformat` input still switches it off per instance.
10085
+ *
10086
+ * Each block rule needs its own domain to be provided as well - `# ` only converts with
10087
+ * `provideRichTextEditorHeadingTool()`, `> ` with `provideRichTextEditorBlockquoteTool()`,
10088
+ * ```` ``` ```` with `provideRichTextEditorCodeBlockTool()`. The list and inline rules work on their
10089
+ * own.
10090
+ *
10091
+ * @example
10092
+ * providers: [provideRichTextEditorAutoformat()]
10093
+ */
10094
+ declare const provideRichTextEditorAutoformat: () => Provider;
10095
+
10096
+ /**
10097
+ * Registers the `'blockquote'` tool: quoting the selected blocks as `> ` lines, lifting a quote back
10098
+ * out, Tab/Shift+Tab nesting, the Enter-on-the-last-line exit and the `> ` markdown autoformat
10099
+ * prefix. `'blockquote'` is in the default toolbar, so this provider is all it takes - without it the
10100
+ * editor renders no quote control, `> ` stays literal text, and the quote DOM operations tree-shake
10101
+ * away.
10102
+ *
10103
+ * @example
10104
+ * providers: [provideRichTextEditorBlockquoteTool()]
10105
+ */
10106
+ declare const provideRichTextEditorBlockquoteTool: () => Provider[];
10107
+
10108
+ /**
10109
+ * Registers the `'codeBlock'` tool: turning the selected blocks into a fenced code block and back,
10110
+ * the newline-on-Enter behavior inside a fence, the Escape and arrow-key exits, and the ```` ``` ````
10111
+ * markdown autoformat prefix. `'codeBlock'` is in the default toolbar, so this provider is all it
10112
+ * takes - without it the editor renders no fence control, ```` ``` ```` stays literal text, and the
10113
+ * fenced-code DOM operations tree-shake away.
10114
+ *
10115
+ * A fence a value already contains still renders (Markdown → HTML does not need this), but it is
10116
+ * then plain content: none of the caret handling above applies to it.
10117
+ *
10118
+ * @example
10119
+ * providers: [provideRichTextEditorCodeBlockTool()]
10120
+ */
10121
+ declare const provideRichTextEditorCodeBlockTool: () => Provider[];
10122
+
10123
+ /**
10124
+ * Everything {@link DEFAULT_RICH_TEXT_EDITOR_TOOLS} names that is opt-in: the block-style menu,
10125
+ * quotes, fenced code, links and markdown-as-you-type. Registering this gives an editor the full
10126
+ * default toolbar in one line.
10127
+ *
10128
+ * It also pulls all five domains into the bundle. An editor that needs fewer - a comment box wants
10129
+ * marks, lists and links, not fences - registers just those providers instead and leaves the rest
10130
+ * out; that is the whole reason they are separate.
10131
+ *
10132
+ * The always-built-in tools (undo/redo, the inline marks, the two lists) need no provider, and
10133
+ * alignment, tables and images are not in the default toolbar - they have their own providers.
10134
+ *
10135
+ * @example
10136
+ * providers: [provideRichTextEditorDefaultTools()]
10137
+ */
10138
+ declare const provideRichTextEditorDefaultTools: () => Provider[];
10139
+
10140
+ /**
10141
+ * Registers the `'heading'` tool: the block-style menu (paragraph, H1, H2, H3), the Enter-at-a-
10142
+ * heading-edge behavior and the `# `–`### ` markdown autoformat prefixes. `'heading'` is in the
10036
10143
  * default toolbar, so this provider is all it takes - without it the editor renders no block-style
10037
- * control. Tree-shakes when unused.
10144
+ * control, `# ` stays literal text, and the heading DOM operations tree-shake away.
10038
10145
  */
10039
- declare const provideRichTextEditorHeadingTool: () => Provider;
10146
+ declare const provideRichTextEditorHeadingTool: () => Provider[];
10147
+
10148
+ /**
10149
+ * Registers the `'link'` tool and the link DOM operations behind
10150
+ * {@link RichTextEditorDirective.applyLink} / `removeLink` / `promptForLink`. `'link'` is in the
10151
+ * default toolbar and in {@link RICH_TEXT_EDITOR_INLINE_TOOLS}, so this provider is all it takes -
10152
+ * without it neither toolbar renders a link control and the link DOM operations tree-shake away.
10153
+ *
10154
+ * What the tool *opens* is a separate opt-in: with `provideRichTextEditorLinkEditor()` it is the
10155
+ * popover form, without it `window.prompt`.
10156
+ *
10157
+ * @example
10158
+ * providers: [provideRichTextEditorLinkTool(), provideRichTextEditorLinkEditor()]
10159
+ */
10160
+ declare const provideRichTextEditorLinkTool: () => Provider[];
10040
10161
 
10041
10162
  /** Block-style options for the heading menu. `null` is a normal paragraph. */
10042
10163
  declare const RICH_TEXT_EDITOR_HEADING_OPTIONS: readonly {
@@ -10778,6 +10899,9 @@ declare class RichTextEditorComponent {
10778
10899
  /** Present only when `provideRichTextEditorLinkEditor()` is in scope; otherwise the link tool
10779
10900
  * falls back to `window.prompt` and the popover never ships. */
10780
10901
  private linkEditorSetup;
10902
+ /** Present only when `provideRichTextEditorFloatingToolbar()` is in scope; otherwise the editor
10903
+ * shows its static toolbar only and the overlay runtime never ships. */
10904
+ private floatingToolbarSetup;
10781
10905
  protected editable: _angular_core.Signal<ElementRef<HTMLElement>>;
10782
10906
  protected toolbar: _angular_core.Signal<ElementRef<HTMLElement>>;
10783
10907
  protected readonly TOOLS: {
@@ -10802,8 +10926,6 @@ declare class RichTextEditorComponent {
10802
10926
  /** The strings in effect, owned by the directive so the opt-in tools read the same set. */
10803
10927
  protected labels: _angular_core.Signal<_ethlete_components.RichTextEditorLabels>;
10804
10928
  private registeredTools;
10805
- /** Every renderable tool by token: the static base buttons plus any opt-in tools provided via DI. */
10806
- protected toolDefs: _angular_core.Signal<Map<string, RichTextEditorToolDefinition>>;
10807
10929
  /** Keeps the docked toolbar up briefly after a blur so opening a menu/link editor from it (which
10808
10930
  * moves focus into an overlay) doesn't collapse the bar mid-interaction. */
10809
10931
  private editingActive;
@@ -10852,7 +10974,7 @@ declare class RichTextEditorComponent {
10852
10974
  * editor opened from the docked toolbar (which takes focus into an overlay) keeps the bar up. */
10853
10975
  private trackEditingActive;
10854
10976
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<RichTextEditorComponent, never>;
10855
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<RichTextEditorComponent, "et-rich-text-editor", never, {}, {}, never, never, true, [{ directive: typeof RichTextEditorDirective; inputs: { "value": "value"; "disabled": "disabled"; "readonly": "readonly"; "hidden": "hidden"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; "placeholder": "placeholder"; "tools": "tools"; "autoformat": "autoformat"; "labels": "labels"; }; outputs: { "valueChange": "valueChange"; "touchedChange": "touchedChange"; }; }, { directive: typeof RichTextEditorFloatingToolbarDirective; inputs: {}; outputs: {}; }]>;
10977
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RichTextEditorComponent, "et-rich-text-editor", never, {}, {}, never, never, true, [{ directive: typeof RichTextEditorDirective; inputs: { "value": "value"; "disabled": "disabled"; "readonly": "readonly"; "hidden": "hidden"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; "placeholder": "placeholder"; "tools": "tools"; "autoformat": "autoformat"; "labels": "labels"; }; outputs: { "valueChange": "valueChange"; "touchedChange": "touchedChange"; }; }]>;
10856
10978
  }
10857
10979
 
10858
10980
  declare const RICH_TEXT_EDITOR_IMPORTS: readonly [typeof RichTextEditorComponent, typeof RichTextEditorDirective];
@@ -16038,10 +16160,21 @@ declare class PaginationSeoDirective {
16038
16160
  }
16039
16161
 
16040
16162
  type JsonKind = 'string' | 'number' | 'boolean' | 'null' | 'undefined' | 'array' | 'object';
16163
+ type JsonEntry = {
16164
+ k: string;
16165
+ v: unknown;
16166
+ };
16167
+ /** A folded slice of a container's entries, rendered as its own collapsible row. */
16168
+ type JsonChunk = {
16169
+ start: number;
16170
+ end: number;
16171
+ label: string;
16172
+ };
16041
16173
  /**
16042
16174
  * A recursive, collapsible, searchable JSON tree used by the query devtools value explorer. Renders
16043
16175
  * the *transformed* value the app actually sees (post `transformResponse`). Self-recurses via its
16044
- * own selector.
16176
+ * own selector - both for child entries and for the folded slices of an oversized container, which
16177
+ * re-enter as the same component with a `chunk` window over the same value.
16045
16178
  */
16046
16179
  declare class QueryDevtoolsJsonComponent {
16047
16180
  value: _angular_core.InputSignal<unknown>;
@@ -16049,6 +16182,11 @@ declare class QueryDevtoolsJsonComponent {
16049
16182
  depth: _angular_core.InputSignalWithTransform<number, unknown>;
16050
16183
  /** Lowercased search term; when set, the tree auto-expands and matches are highlighted. */
16051
16184
  search: _angular_core.InputSignal<string>;
16185
+ /**
16186
+ * When set, this node is not the value itself but a folded window over its entries. It shares the
16187
+ * container's `path` so a child's persisted expansion does not depend on where the slice borders land.
16188
+ */
16189
+ chunk: _angular_core.InputSignal<JsonChunk | null>;
16052
16190
  /** Full path of this node from the explorer root, used as the key for persisted expansion. */
16053
16191
  path: _angular_core.InputSignal<string>;
16054
16192
  /** Persisted paths explicitly expanded (overrides the depth default). */
@@ -16059,12 +16197,18 @@ declare class QueryDevtoolsJsonComponent {
16059
16197
  toggleFn: _angular_core.InputSignal<((path: string, expand: boolean) => void) | null>;
16060
16198
  protected kind: _angular_core.Signal<JsonKind>;
16061
16199
  protected isContainer: _angular_core.Signal<boolean>;
16062
- protected entries: _angular_core.Signal<{
16063
- k: string;
16064
- v: unknown;
16065
- }[]>;
16200
+ /** The entries this node covers: the container's own, or just the window a chunk stands for. */
16201
+ ownEntries: _angular_core.Signal<JsonEntry[]>;
16202
+ protected childChunks: _angular_core.Signal<JsonChunk[]>;
16203
+ /** Entries rendered as rows - empty while they are folded into slices instead. */
16204
+ protected visibleEntries: _angular_core.Signal<JsonEntry[]>;
16205
+ /** Slices carry their window in the key so siblings persist independently of the container. */
16206
+ private togglePath;
16207
+ private defaultExpanded;
16066
16208
  private localExpanded;
16067
16209
  protected expanded: _angular_core.Signal<boolean>;
16210
+ /** Only slices that actually contain a match unfold while searching, so a filter stays cheap. */
16211
+ private chunkHasHit;
16068
16212
  protected effectiveExpanded: _angular_core.Signal<boolean>;
16069
16213
  protected copied: _angular_core.WritableSignal<boolean>;
16070
16214
  private copiedReset$;
@@ -16077,13 +16221,37 @@ declare class QueryDevtoolsJsonComponent {
16077
16221
  protected childPath(key: string): string;
16078
16222
  protected toggle(): void;
16079
16223
  /**
16080
- * Containers copy their whole subtree as JSON; leaves copy something pasteable - a raw string
16081
- * without the display quotes, so an id or url can go straight into a search box.
16224
+ * Containers copy their whole subtree as JSON, slices only the entries they cover; leaves copy
16225
+ * something pasteable - a raw string without the display quotes, so an id or url can go straight
16226
+ * into a search box.
16082
16227
  */
16083
16228
  protected copyValue(): void;
16229
+ private chunkValue;
16084
16230
  private flagCopied;
16085
16231
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<QueryDevtoolsJsonComponent, never>;
16086
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<QueryDevtoolsJsonComponent, "et-query-devtools-json", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "nodeKey": { "alias": "nodeKey"; "required": false; "isSignal": true; }; "depth": { "alias": "depth"; "required": false; "isSignal": true; }; "search": { "alias": "search"; "required": false; "isSignal": true; }; "path": { "alias": "path"; "required": false; "isSignal": true; }; "expandedPaths": { "alias": "expandedPaths"; "required": false; "isSignal": true; }; "collapsedPaths": { "alias": "collapsedPaths"; "required": false; "isSignal": true; }; "toggleFn": { "alias": "toggleFn"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16232
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<QueryDevtoolsJsonComponent, "et-query-devtools-json", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "nodeKey": { "alias": "nodeKey"; "required": false; "isSignal": true; }; "depth": { "alias": "depth"; "required": false; "isSignal": true; }; "search": { "alias": "search"; "required": false; "isSignal": true; }; "chunk": { "alias": "chunk"; "required": false; "isSignal": true; }; "path": { "alias": "path"; "required": false; "isSignal": true; }; "expandedPaths": { "alias": "expandedPaths"; "required": false; "isSignal": true; }; "collapsedPaths": { "alias": "collapsedPaths"; "required": false; "isSignal": true; }; "toggleFn": { "alias": "toggleFn"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16233
+ }
16234
+
16235
+ /**
16236
+ * The value explorer's tree chrome, as a styles-only component the tree mounts itself - a session that
16237
+ * never opens a JSON view does not inject it.
16238
+ *
16239
+ * @internal
16240
+ */
16241
+ declare class QueryDevtoolsJsonStylesComponent {
16242
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<QueryDevtoolsJsonStylesComponent, never>;
16243
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<QueryDevtoolsJsonStylesComponent, "et-query-devtools-json-styles", never, {}, {}, never, never, true, never>;
16244
+ }
16245
+
16246
+ /**
16247
+ * The waterfall's grid, axis and bars, as a styles-only component the panel mounts when the Timeline tab
16248
+ * is first opened.
16249
+ *
16250
+ * @internal
16251
+ */
16252
+ declare class QueryDevtoolsTimelineStylesComponent {
16253
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<QueryDevtoolsTimelineStylesComponent, never>;
16254
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<QueryDevtoolsTimelineStylesComponent, "et-query-devtools-timeline-styles", never, {}, {}, never, never, true, never>;
16087
16255
  }
16088
16256
 
16089
16257
  /**
@@ -16099,9 +16267,142 @@ declare class QueryDevtoolsToggleComponent {
16099
16267
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<QueryDevtoolsToggleComponent, "et-query-devtools-toggle", never, {}, { "openChange": "openChange"; }, never, never, true, never>;
16100
16268
  }
16101
16269
 
16270
+ /** Whether a path exists only in the newer value, only in the older one, or in both with a new value. */
16271
+ type QueryDevtoolsDiffKind = 'added' | 'removed' | 'changed';
16272
+ /** One difference between two values, located by the path it sits at. */
16273
+ type QueryDevtoolsDiffEntry = {
16274
+ /** Where the difference sits, e.g. `$.items[2].score` or `$.items[id=7].score`. */
16275
+ path: string;
16276
+ kind: QueryDevtoolsDiffKind;
16277
+ /** The older value, or `null` for an added path. */
16278
+ before: unknown;
16279
+ /** The newer value, or `null` for a removed path. */
16280
+ after: unknown;
16281
+ };
16282
+ type QueryDevtoolsDiff = {
16283
+ entries: QueryDevtoolsDiffEntry[];
16284
+ /** Whether the walk hit its cap, so {@link entries} is only part of the difference. */
16285
+ truncated: boolean;
16286
+ };
16287
+
16102
16288
  type AnyQuery = Query<any>;
16103
- type DevtoolsTab = 'queries' | 'stacks' | 'sequences' | 'auth' | 'ws' | 'cache' | 'events';
16289
+ type DevtoolsTab = 'queries' | 'stacks' | 'sequences' | 'forms' | 'auth' | 'ws' | 'cache' | 'timeline' | 'events' | 'faults';
16290
+ /**
16291
+ * The sections of the query detail drawer. The head and its actions stay pinned above them - the detail
16292
+ * holds more than fits a column, and everything below the actions is reading material.
16293
+ */
16294
+ type DetailTab = 'overview' | 'history' | 'data';
16295
+ /** Which edge the panel is attached to. A pop-out is not one of these - it is a window, not an edge. */
16296
+ type DevtoolsDock = 'bottom' | 'right';
16297
+ /**
16298
+ * Which pane of a two-pane tab a divider drag sizes: the Queries tab's list, or the drawer every
16299
+ * split view opens a query in.
16300
+ */
16301
+ type PaneTarget = 'list' | 'drawer';
16302
+ /** The axis a two-pane tab splits along: the panes sit side by side, or stack in a side dock. */
16303
+ type PaneAxis = 'inline' | 'block';
16304
+ /** A drag in progress: either the panel's docked edge, or the divider between a two-pane tab's panes. */
16305
+ type ResizeDrag = {
16306
+ /** The document the pointer moves in - a popped-out panel lives in a window of its own. */
16307
+ doc: Document;
16308
+ } & ({
16309
+ kind: 'panel';
16310
+ } | {
16311
+ kind: 'pane';
16312
+ pane: PaneTarget;
16313
+ axis: PaneAxis;
16314
+ container: HTMLElement;
16315
+ });
16104
16316
  type QueryStatus = 'idle' | 'loading' | 'success' | 'error';
16317
+ /** A live-state facet the Queries list can be narrowed to. */
16318
+ type QueryListFacet = 'error' | 'loading' | 'stale' | 'idle';
16319
+ /**
16320
+ * What a tab holds, as its badge reports it: how many entries, and how many of them are failing.
16321
+ * `errorNoun` renames what the red badge counts for a tab where it is not a failure.
16322
+ */
16323
+ type TabBadge = {
16324
+ count: number;
16325
+ errors: number;
16326
+ errorNoun?: string;
16327
+ };
16328
+ /** The fault fields the panel arms from a number input, as opposed to the status it picks from a list. */
16329
+ type NumericFaultField = 'latencyMs' | 'failNext' | 'failRate';
16330
+ /**
16331
+ * A chunk of a route as rendered: literal path text, a path param (`name` is the param it fills in) or
16332
+ * the query string of the request that ran. The kind becomes the segment's class.
16333
+ */
16334
+ type RouteSegment = {
16335
+ text: string;
16336
+ kind: 'static' | 'param' | 'query';
16337
+ name?: string;
16338
+ };
16339
+ /** A query reachable from a stack or sequence card, rendered as a row that opens the detail drawer. */
16340
+ type QueryLink = {
16341
+ id: string;
16342
+ query: AnyQuery;
16343
+ method: string;
16344
+ segments: RouteSegment[];
16345
+ clientBaseUrl: string;
16346
+ stats?: QueryDevtoolsStatsHandle;
16347
+ };
16348
+ /**
16349
+ * Query stats plus the numbers the panel derives from them rather than storing: an execution that never
16350
+ * reached the network was answered from the cache, and the averages come from the running totals.
16351
+ */
16352
+ type QueryActivity = {
16353
+ stats: QueryDevtoolsStats;
16354
+ cacheServed: number;
16355
+ avgDurationMs: number | null;
16356
+ avgResponseBytes: number | null;
16357
+ hasActivity: boolean;
16358
+ };
16359
+ /**
16360
+ * What a query's request is doing beyond `loading`: which attempt it is on, the backoff it is waiting
16361
+ * out, and how much of the payload has moved. Without it a request retried three times behind a 4s
16362
+ * backoff and a plain slow one are the same yellow dot.
16363
+ */
16364
+ type RequestProgress = {
16365
+ /** @see HttpRequestSubtle.attempts */
16366
+ attempts: number;
16367
+ retry: HttpRequestRetryState | null;
16368
+ /** How much of the pending backoff is left, or `null` when none is pending. */
16369
+ retryInMs: number | null;
16370
+ progress: HttpRequestLoadingProgressState | null;
16371
+ };
16372
+ /**
16373
+ * One run of one query, placed on the timeline's shared axis. `leftPct` / `widthPct` are percentages of
16374
+ * the window every row is laid out against, which is what makes overlapping runs visible as overlap.
16375
+ */
16376
+ type TimelineRow = {
16377
+ key: string;
16378
+ entryId: string;
16379
+ method: string;
16380
+ path: string;
16381
+ run: QueryDevtoolsRun;
16382
+ leftPct: number;
16383
+ widthPct: number;
16384
+ /** How long the run took, or `null` while it is still in flight. */
16385
+ durationMs: number | null;
16386
+ };
16387
+ type Timeline = {
16388
+ rows: TimelineRow[];
16389
+ /** The start of the window the rows are laid out against. */
16390
+ startedAt: number;
16391
+ /** How long that window is - the axis every bar is a fraction of. */
16392
+ windowMs: number;
16393
+ /** How many older runs the view left out, so a capped timeline does not read as a complete one. */
16394
+ hidden: number;
16395
+ };
16396
+ /**
16397
+ * One request a refresh re-executed, as an event row lists it. A cache key is shared by every query
16398
+ * bound to it, so the row carries all of their ids - one to open, and the rest so each of those queries
16399
+ * can still find the refresh under "Refetched by". Empty for a request no registered query holds.
16400
+ */
16401
+ type RefreshedRequest = {
16402
+ queryIds: string[];
16403
+ method: string;
16404
+ path: string;
16405
+ };
16105
16406
  type EventLogItem = {
16106
16407
  id: number;
16107
16408
  timestamp: number;
@@ -16112,6 +16413,55 @@ type EventLogItem = {
16112
16413
  url: string | null;
16113
16414
  isSecure: boolean;
16114
16415
  status: number | null;
16416
+ /**
16417
+ * The registered query the request belonged to when the event fired, so the row can open it. Resolved
16418
+ * here rather than at click time so the log holds an id instead of a reference to the request itself.
16419
+ */
16420
+ queryId: string | null;
16421
+ /** What asked for a refresh, for a `queries-refreshed` row. `null` for every other type. */
16422
+ cause: QueryRefreshCause | null;
16423
+ /** The requests that refresh re-executed - the fan-out the panel could not show before. */
16424
+ refreshed: RefreshedRequest[] | null;
16425
+ /**
16426
+ * How long the request took and how big its response was, read off the request as the event fired.
16427
+ * Both `null` for an event that is not one request settling, and the size also for a failure - an
16428
+ * error body is not a payload worth a column.
16429
+ */
16430
+ durationMs: number | null;
16431
+ bytes: number | null;
16432
+ /** @see QueryDevtoolsStats.hasEstimatedBytes */
16433
+ isEstimatedBytes: boolean;
16434
+ };
16435
+ /** One cache entry as the Cache tab lists it: the repository's own snapshot plus its measured size. */
16436
+ type CacheRow = {
16437
+ entry: QueryRepositoryCacheEntry;
16438
+ bytes: number;
16439
+ isEstimatedBytes: boolean;
16440
+ };
16441
+ type PersistedState = {
16442
+ open?: boolean;
16443
+ height?: number;
16444
+ width?: number;
16445
+ listWidth?: number | null;
16446
+ drawerWidth?: number | null;
16447
+ listHeight?: number | null;
16448
+ drawerHeight?: number | null;
16449
+ dock?: DevtoolsDock;
16450
+ activeTab?: DevtoolsTab;
16451
+ detailTab?: DetailTab;
16452
+ selectedClientName?: string | null;
16453
+ selectedQueryId?: string | null;
16454
+ selectedFormId?: string | null;
16455
+ inspectFilterIds?: string[] | null;
16456
+ queryFilter?: string;
16457
+ queryFacets?: QueryListFacet[];
16458
+ eventClient?: string | null;
16459
+ eventErrorsOnly?: boolean;
16460
+ socketFilter?: string;
16461
+ jsonSearch?: string;
16462
+ expandedSteps?: string[];
16463
+ jsonExpanded?: string[];
16464
+ jsonCollapsed?: string[];
16115
16465
  };
16116
16466
  /**
16117
16467
  * A floating, dockable panel that inspects the live state of the signals-first `@ethlete/query`
@@ -16123,10 +16473,18 @@ type EventLogItem = {
16123
16473
  */
16124
16474
  declare class QueryDevtoolsComponent {
16125
16475
  private hostEl;
16476
+ private renderer;
16477
+ private styleManager;
16478
+ private zone;
16479
+ private destroyRef;
16126
16480
  protected document: Document;
16481
+ /** The panel itself, so a pop-out can move it into another window's document. */
16482
+ private panelEl;
16483
+ /** The overflow tab menu, to tell a click inside it from one that should dismiss it. */
16484
+ private tabMenuEl;
16127
16485
  private eventIdCounter;
16128
16486
  private lastSelectionKey;
16129
- private readonly persisted;
16487
+ readonly persisted: PersistedState;
16130
16488
  protected readonly tabs: ({
16131
16489
  id: "queries";
16132
16490
  label: string;
@@ -16136,6 +16494,9 @@ declare class QueryDevtoolsComponent {
16136
16494
  } | {
16137
16495
  id: "sequences";
16138
16496
  label: string;
16497
+ } | {
16498
+ id: "forms";
16499
+ label: string;
16139
16500
  } | {
16140
16501
  id: "auth";
16141
16502
  label: string;
@@ -16145,60 +16506,275 @@ declare class QueryDevtoolsComponent {
16145
16506
  } | {
16146
16507
  id: "cache";
16147
16508
  label: string;
16509
+ } | {
16510
+ id: "timeline";
16511
+ label: string;
16148
16512
  } | {
16149
16513
  id: "events";
16150
16514
  label: string;
16515
+ } | {
16516
+ id: "faults";
16517
+ label: string;
16518
+ })[];
16519
+ /**
16520
+ * Tabs the bar keeps whether they hold anything or not: the one the panel opens on, and the one that
16521
+ * arms faults - which has entries to arm rather than to count.
16522
+ */
16523
+ private readonly PINNED_TABS;
16524
+ protected readonly detailTabs: ({
16525
+ id: "overview";
16526
+ label: string;
16527
+ } | {
16528
+ id: "history";
16529
+ label: string;
16530
+ } | {
16531
+ id: "data";
16532
+ label: string;
16533
+ })[];
16534
+ /** The status chips above the Queries list, in the order a problem is usually looked for. */
16535
+ protected readonly facets: ({
16536
+ id: "error";
16537
+ label: string;
16538
+ } | {
16539
+ id: "loading";
16540
+ label: string;
16541
+ } | {
16542
+ id: "stale";
16543
+ label: string;
16544
+ } | {
16545
+ id: "idle";
16546
+ label: string;
16151
16547
  })[];
16152
16548
  protected readonly shortcut: string;
16153
- protected open: _angular_core.WritableSignal<boolean>;
16154
- protected panelHeight: _angular_core.WritableSignal<number>;
16155
- protected resizing: _angular_core.WritableSignal<boolean>;
16156
- protected activeTab: _angular_core.WritableSignal<DevtoolsTab>;
16157
- protected selectedClientName: _angular_core.WritableSignal<string | null>;
16158
- protected selectedQueryId: _angular_core.WritableSignal<string | null>;
16159
- protected stackSelectedQueryId: _angular_core.WritableSignal<string | null>;
16160
- protected sequenceSelectedQueryId: _angular_core.WritableSignal<string | null>;
16161
- protected eventLog: _angular_core.WritableSignal<EventLogItem[]>;
16549
+ protected open: WritableSignal<boolean>;
16550
+ private panelHeight;
16551
+ private panelWidth;
16552
+ protected activeTab: WritableSignal<DevtoolsTab>;
16553
+ /**
16554
+ * The dragged sizes of the two-pane tabs, in px, one pair per axis - a side dock stacks the panes, so
16555
+ * the same divider sizes them along the block axis there and a dock switch has to keep both. `null`
16556
+ * keeps the stylesheet's proportional default, which is also what a double-click on a divider restores.
16557
+ */
16558
+ protected listWidth: WritableSignal<number | null>;
16559
+ protected drawerWidth: WritableSignal<number | null>;
16560
+ protected listHeight: WritableSignal<number | null>;
16561
+ protected drawerHeight: WritableSignal<number | null>;
16562
+ protected drag: WritableSignal<ResizeDrag | null>;
16563
+ protected resizing: _angular_core.Signal<boolean>;
16564
+ /** Which edge the panel is docked to. */
16565
+ protected dock: WritableSignal<DevtoolsDock>;
16566
+ /**
16567
+ * Whether the panel currently lives in a window of its own. Deliberately not persisted: a reload
16568
+ * cannot re-adopt a window the previous document opened, so it always starts docked.
16569
+ */
16570
+ protected poppedOut: WritableSignal<boolean>;
16571
+ /** Which axis the two-pane tabs split along, which the stylesheet keys off the dock the same way. */
16572
+ private paneAxis;
16573
+ private popup;
16574
+ protected panelBlockSize: _angular_core.Signal<number | null>;
16575
+ protected panelInlineSize: _angular_core.Signal<number | null>;
16576
+ /** Which section of the query detail is showing. Shared by the Queries tab and both drawers. */
16577
+ protected detailTab: WritableSignal<DetailTab>;
16578
+ protected selectedClientName: WritableSignal<string | null>;
16579
+ protected selectedQueryId: WritableSignal<string | null>;
16580
+ /** The form whose detail the Forms tab has expanded. */
16581
+ protected selectedFormId: WritableSignal<string | null>;
16582
+ protected stackSelectedQueryId: WritableSignal<string | null>;
16583
+ protected sequenceSelectedQueryId: WritableSignal<string | null>;
16584
+ protected formSelectedQueryId: WritableSignal<string | null>;
16585
+ protected timelineSelectedQueryId: WritableSignal<string | null>;
16586
+ /** Free-text narrowing of the Queries list. Every whitespace-separated term has to match. */
16587
+ protected queryFilter: WritableSignal<string>;
16588
+ /** The status facets the Queries list is narrowed to. Empty means no status narrowing. */
16589
+ queryFacets: WritableSignal<ReadonlySet<QueryListFacet>>;
16590
+ protected eventLog: WritableSignal<EventLogItem[]>;
16591
+ /** The client (by base URL) the event log is scoped to, or `null` for all of them. */
16592
+ protected eventClient: WritableSignal<string | null>;
16593
+ /** Whether the event log is narrowed to failures - the rows a bug report is about. */
16594
+ protected eventErrorsOnly: WritableSignal<boolean>;
16595
+ /** Free-text narrowing of every socket's message log. Matches the event, the room and the direction. */
16596
+ protected socketFilter: WritableSignal<string>;
16597
+ /** The cache entry whose response is expanded, as `<client>|<key>`, or `null` while none is. */
16598
+ private expandedCacheKey;
16599
+ /** The socket whose emit box last failed, so the message shows on that card and no other. */
16600
+ private socketEmitError;
16162
16601
  /** Keys (`<entryId>:<stepIndex>`) of the sequence steps whose in/out detail is expanded. */
16163
16602
  private expandedSteps;
16164
16603
  /** Shared value-explorer search term. */
16165
- protected jsonSearch: _angular_core.WritableSignal<string>;
16604
+ protected jsonSearch: WritableSignal<string>;
16166
16605
  protected jsonSearchTerm: _angular_core.Signal<string>;
16167
16606
  /** Path-keyed value-explorer expansion overrides (persisted so open trees survive a reload). */
16168
- protected jsonExpandedPaths: _angular_core.WritableSignal<ReadonlySet<string>>;
16169
- protected jsonCollapsedPaths: _angular_core.WritableSignal<ReadonlySet<string>>;
16607
+ protected jsonExpandedPaths: WritableSignal<ReadonlySet<string>>;
16608
+ protected jsonCollapsedPaths: WritableSignal<ReadonlySet<string>>;
16170
16609
  /** Bound callback passed into the value explorer to persist per-path expansion. Assigned in the constructor. */
16171
16610
  protected toggleJsonPath: (path: string, expand: boolean) => void;
16611
+ /** The run whose response the diff is comparing, by run index, or `null` while no diff is open. */
16612
+ protected diffRunIndex: WritableSignal<number | null>;
16172
16613
  /** JIT editor state (response / args editing on the selected query). */
16173
- protected editorMode: _angular_core.WritableSignal<"none" | "response" | "args">;
16174
- protected responseDraft: _angular_core.WritableSignal<string>;
16175
- protected argsDraft: _angular_core.WritableSignal<string>;
16176
- protected editError: _angular_core.WritableSignal<string | null>;
16177
- /** Transient "Copied!" feedback for the copy-report action. */
16178
- protected copiedReport: _angular_core.WritableSignal<boolean>;
16614
+ protected editorMode: WritableSignal<"none" | "response" | "args">;
16615
+ protected responseDraft: WritableSignal<string>;
16616
+ protected argsDraft: WritableSignal<string>;
16617
+ /**
16618
+ * The text the currently open editor was seeded with. The textareas bind `value` to this and not to
16619
+ * the live draft: a `value` binding fed by the draft is written back on every keystroke, and writing
16620
+ * a textarea's `value` puts the caret at the end.
16621
+ */
16622
+ protected editorSeed: string;
16623
+ protected editError: WritableSignal<string | null>;
16624
+ /** Transient "Copied!" feedback for the copy-report, copy-as-Insomnia / cURL and copy-document actions. */
16625
+ protected copiedReport: WritableSignal<boolean>;
16626
+ protected copiedInsomnia: WritableSignal<boolean>;
16627
+ protected copiedCurl: WritableSignal<boolean>;
16628
+ protected copiedGql: WritableSignal<boolean>;
16629
+ private copiedReset$;
16179
16630
  /** 1-second tick driving the cache freshness countdowns. */
16180
16631
  private clock;
16181
16632
  /** "Inspect" mode: hover the live UI to find the query that a component created. */
16182
- protected inspectActive: _angular_core.WritableSignal<boolean>;
16183
- protected inspectHover: _angular_core.WritableSignal<{
16633
+ protected inspectActive: WritableSignal<boolean>;
16634
+ protected inspectHover: WritableSignal<{
16184
16635
  rect: DOMRect;
16185
16636
  entries: QueryDevtoolsEntry[];
16186
16637
  } | null>;
16187
16638
  /** When set (via inspect), the Queries list is filtered to exactly these entry ids. */
16188
- protected inspectFilterIds: _angular_core.WritableSignal<string[] | null>;
16639
+ protected inspectFilterIds: WritableSignal<string[] | null>;
16189
16640
  private queryEntries;
16190
16641
  protected stackEntries: _angular_core.Signal<QueryDevtoolsEntry[]>;
16191
16642
  protected sequenceEntries: _angular_core.Signal<QueryDevtoolsEntry[]>;
16643
+ protected formEntries: _angular_core.Signal<QueryDevtoolsEntry[]>;
16192
16644
  protected authEntries: _angular_core.Signal<QueryDevtoolsEntry[]>;
16193
16645
  protected wsEntries: _angular_core.Signal<QueryDevtoolsEntry[]>;
16194
16646
  /** Unique client names present across queries and auth providers, for the Queries-tab picker. */
16195
16647
  protected clientNames: _angular_core.Signal<string[]>;
16196
16648
  /** Unique repositories (with their client name + base URL) used by the Cache and Events tabs. */
16197
16649
  private repositories;
16650
+ /**
16651
+ * Every client the Faults tab can arm, with the fault it currently carries. Clients with nothing armed
16652
+ * read as {@link EMPTY_QUERY_DEVTOOLS_FAULT} so the inputs always have a value to show.
16653
+ */
16654
+ protected faultClients: _angular_core.Signal<{
16655
+ name: string;
16656
+ baseUrl: string;
16657
+ fault: _ethlete_query.QueryDevtoolsFault;
16658
+ armed: boolean;
16659
+ }[]>;
16660
+ /**
16661
+ * The names of the clients currently carrying a fault, or `null` when none do - so a template can `@if`
16662
+ * on it. Armed faults are the one state where the panel is lying to the app on purpose, and a badge on a
16663
+ * tab that isn't open cannot say that: whichever tab you are reading, a red response has to be
16664
+ * attributable to the injection rather than to the API.
16665
+ */
16666
+ protected armedFaultClients: _angular_core.Signal<string[] | null>;
16667
+ /**
16668
+ * The queries the list is scoped to before the search box and the status chips narrow them further:
16669
+ * either the picked client's, or exactly the inspected element's.
16670
+ */
16671
+ private scopedQueries;
16672
+ private searchedQueries;
16673
+ /**
16674
+ * How many queries each status chip would leave. Counted before the active chips are applied, so a
16675
+ * chip always states what picking it yields rather than what the current selection happens to show.
16676
+ */
16677
+ protected facetCounts: _angular_core.Signal<Record<QueryListFacet, number>>;
16198
16678
  protected filteredQueries: _angular_core.Signal<{
16199
16679
  entry: QueryDevtoolsEntry;
16200
16680
  query: AnyQuery;
16201
16681
  }[]>;
16682
+ /** How many queries are in scope, which is what the list would show unfiltered. */
16683
+ protected scopedQueryCount: _angular_core.Signal<number>;
16684
+ /** Whether the search box or a status chip is narrowing the list beyond its scope. */
16685
+ protected isQueryListNarrowed: _angular_core.Signal<boolean>;
16686
+ /**
16687
+ * Every run the scoped queries have recorded, oldest first. The client picker and the inspection
16688
+ * filter narrow the timeline the same way they narrow the Queries list.
16689
+ */
16690
+ private scopedRuns;
16691
+ /**
16692
+ * Every scoped run laid out on one axis, so a stampede reads as overlapping bars and a chain as a
16693
+ * staircase - which is what the Events tab's flat list of wall-clock times cannot show.
16694
+ */
16695
+ protected timeline: _angular_core.Signal<Timeline>;
16696
+ /** Axis labels for the timeline, as offsets from the window's start. */
16697
+ protected timelineTicks: _angular_core.Signal<{
16698
+ pct: number;
16699
+ label: string;
16700
+ }[]>;
16701
+ /** How many runs every query has recorded, for the Timeline tab's badge. */
16702
+ private runTotals;
16703
+ /** Cache entries across every client, for the Cache tab's badge. */
16704
+ private cacheEntryCount;
16705
+ /**
16706
+ * What each tab holds, so a failing query in a tab that is not open is still visible. Reading it
16707
+ * subscribes the tab bar to every entry's live state - which is the point of the badges.
16708
+ */
16709
+ protected tabBadges: _angular_core.Signal<Record<DevtoolsTab, TabBadge>>;
16710
+ /**
16711
+ * The tabs the bar shows: the pinned ones, the one that is open, and every tab that currently holds
16712
+ * something.
16713
+ */
16714
+ protected visibleTabs: _angular_core.Signal<({
16715
+ id: "queries";
16716
+ label: string;
16717
+ } | {
16718
+ id: "stacks";
16719
+ label: string;
16720
+ } | {
16721
+ id: "sequences";
16722
+ label: string;
16723
+ } | {
16724
+ id: "forms";
16725
+ label: string;
16726
+ } | {
16727
+ id: "auth";
16728
+ label: string;
16729
+ } | {
16730
+ id: "ws";
16731
+ label: string;
16732
+ } | {
16733
+ id: "cache";
16734
+ label: string;
16735
+ } | {
16736
+ id: "timeline";
16737
+ label: string;
16738
+ } | {
16739
+ id: "events";
16740
+ label: string;
16741
+ } | {
16742
+ id: "faults";
16743
+ label: string;
16744
+ })[]>;
16745
+ /** The empty tabs, which the bar offers behind "More" instead. */
16746
+ protected overflowTabs: _angular_core.Signal<({
16747
+ id: "queries";
16748
+ label: string;
16749
+ } | {
16750
+ id: "stacks";
16751
+ label: string;
16752
+ } | {
16753
+ id: "sequences";
16754
+ label: string;
16755
+ } | {
16756
+ id: "forms";
16757
+ label: string;
16758
+ } | {
16759
+ id: "auth";
16760
+ label: string;
16761
+ } | {
16762
+ id: "ws";
16763
+ label: string;
16764
+ } | {
16765
+ id: "cache";
16766
+ label: string;
16767
+ } | {
16768
+ id: "timeline";
16769
+ label: string;
16770
+ } | {
16771
+ id: "events";
16772
+ label: string;
16773
+ } | {
16774
+ id: "faults";
16775
+ label: string;
16776
+ })[]>;
16777
+ protected tabMenuOpen: WritableSignal<boolean>;
16202
16778
  protected selectedQuery: _angular_core.Signal<{
16203
16779
  entry: QueryDevtoolsEntry;
16204
16780
  query: AnyQuery;
@@ -16211,26 +16787,157 @@ declare class QueryDevtoolsComponent {
16211
16787
  entry: QueryDevtoolsEntry;
16212
16788
  query: AnyQuery;
16213
16789
  } | null>;
16790
+ protected formSelectedQuery: _angular_core.Signal<{
16791
+ entry: QueryDevtoolsEntry;
16792
+ query: AnyQuery;
16793
+ } | null>;
16794
+ protected timelineSelectedQuery: _angular_core.Signal<{
16795
+ entry: QueryDevtoolsEntry;
16796
+ query: AnyQuery;
16797
+ } | null>;
16798
+ /**
16799
+ * The cache per client, with every entry's size measured. Reading each response inside the computed is
16800
+ * what keeps the totals current: a cache mutation bumps `cacheVersion`, but a response landing in an
16801
+ * entry that is already there does not.
16802
+ */
16214
16803
  protected cacheView: _angular_core.Signal<{
16215
16804
  name: string;
16216
16805
  baseUrl: string;
16217
16806
  repository: QueryRepository;
16218
- entries: QueryRepositoryCacheEntry[];
16807
+ rows: CacheRow[];
16808
+ bytes: number;
16809
+ isEstimatedBytes: boolean;
16810
+ unused: number;
16219
16811
  pollStates: Record<string, QueryKeyLockState>;
16220
16812
  client: QueryClient | null;
16221
16813
  }[]>;
16814
+ /**
16815
+ * The event rows the log shows: the client picker and the errors-only toggle applied. Kept apart from
16816
+ * {@link eventLog} so "Refetched by" and the session export keep reading the whole log.
16817
+ */
16818
+ protected filteredEvents: _angular_core.Signal<EventLogItem[]>;
16819
+ /** The clients the event log has rows from, as its picker offers them. */
16820
+ protected eventClients: _angular_core.Signal<string[]>;
16821
+ protected isEventLogNarrowed: _angular_core.Signal<boolean>;
16222
16822
  /** Map of a component's host element to the query entries it created (for the inspect tool). */
16223
16823
  private elementQueryMap;
16824
+ protected readonly FAULT_STATUSES: {
16825
+ status: number;
16826
+ label: string;
16827
+ retryable: boolean;
16828
+ }[];
16829
+ protected readonly CLEAR_FAULTS: (clientName?: string) => void;
16830
+ /** The ceiling each numeric fault field is clamped to. */
16831
+ private readonly FAULT_LIMITS;
16224
16832
  constructor();
16833
+ /**
16834
+ * Closing while popped out docks back instead: the panel a pop-out shows is the very element the
16835
+ * `@if` below would destroy, so it has to come home before it can be closed.
16836
+ */
16225
16837
  protected toggleOpen(): void;
16838
+ protected toggleDock(): void;
16839
+ protected toggleTabMenu(): void;
16840
+ protected selectTab(tab: DevtoolsTab): void;
16841
+ /**
16842
+ * Moves the panel into a window of its own - the same element, adopted by the pop-up's document, so
16843
+ * every signal binding in it keeps updating from the app it is inspecting.
16844
+ *
16845
+ * The panel's styles are global `<style>` tags in the host document, and the theming tokens it reads
16846
+ * hang off the root element, so both are copied over; without them the pop-out renders unstyled.
16847
+ */
16848
+ protected popOut(): void;
16226
16849
  protected clearEvents(): void;
16850
+ protected toggleEventErrorsOnly(): void;
16851
+ protected clearEventFilters(): void;
16227
16852
  protected selectClient(name: string | null): void;
16228
16853
  protected clearInspectFilter(): void;
16854
+ protected toggleFacet(facet: QueryListFacet): void;
16855
+ /** Drops the search term and the status chips, keeping the client / inspection scope. */
16856
+ protected clearQueryFilters(): void;
16229
16857
  protected toggleInspect(): void;
16230
16858
  protected startResize(event: PointerEvent): void;
16859
+ protected startPaneResize(event: PointerEvent, target: {
16860
+ pane: PaneTarget;
16861
+ container: HTMLElement;
16862
+ }): void;
16863
+ /** Hands a pane back to the stylesheet's proportional default, on the axis it is being sized along. */
16864
+ protected resetPaneSize(pane: PaneTarget): void;
16231
16865
  protected inspectLabel(entries: QueryDevtoolsEntry[]): string;
16866
+ /**
16867
+ * A query's route, split so the template can tell its static path from its path params (each carrying
16868
+ * the value the query used, or `:<name>` while it has none yet) and from the query string of the
16869
+ * request that ran - which is what tells two requests to the same endpoint apart.
16870
+ */
16871
+ protected routeSegments(entry: QueryDevtoolsEntry | undefined, query: AnyQuery): RouteSegment[];
16872
+ /** The full URL of the request a query last made, or `null` while it has not executed. */
16873
+ protected requestUrl(query: AnyQuery): string | null;
16874
+ /**
16875
+ * The args of a query. A query executed imperatively (`execute({ args })`, a sequence step, an auth
16876
+ * query) never writes them to its own `args` signal - only the `withArgs` feature does - so the args
16877
+ * its current request was built from stand in.
16878
+ */
16879
+ protected queryArgs(query: AnyQuery): Omit<any, "response"> | null;
16232
16880
  protected queryStatus(query: AnyQuery): QueryStatus;
16881
+ /**
16882
+ * A request in flight is already refreshing, so reporting it as stale on top of `loading` is noise -
16883
+ * the same precedence the cache tab's freshness column applies.
16884
+ */
16233
16885
  protected isStale(query: AnyQuery): boolean;
16886
+ /**
16887
+ * What a query's current request is doing beyond being loading, or `null` when there is nothing beyond
16888
+ * the status dot to say - so the readout only takes up room while it carries something.
16889
+ */
16890
+ protected requestProgress(query: AnyQuery): RequestProgress | null;
16891
+ /** Why a retry was scheduled, as the panel spells it out. A status of 0 never reached the server. */
16892
+ protected retryCause(status: number): string;
16893
+ protected formatPercent(percentage: number): string;
16894
+ /** A countdown in whole seconds, spelled out the way the cache freshness column does. */
16895
+ protected formatCountdown(ms: number | null): string;
16896
+ protected queryActivity(entry: QueryDevtoolsEntry): QueryActivity;
16897
+ protected linkActivity(link: QueryLink): QueryActivity;
16898
+ protected stackActivity(stack: AnyQueryStack | AnyPagedQueryStack): QueryActivity;
16899
+ protected sequenceActivity(sequence: QuerySequence<unknown[]>): QueryActivity;
16900
+ /** Clears an entry's counters and run history, so the next interaction can be measured on its own. */
16901
+ protected resetStats(entry: QueryDevtoolsEntry): void;
16902
+ /** The same, for every query the timeline covers. */
16903
+ protected resetTimeline(): void;
16904
+ /** A query's runs, newest first - the order a history is read in. */
16905
+ protected queryRuns(entry: QueryDevtoolsEntry): QueryDevtoolsRun[];
16906
+ /**
16907
+ * What a run's status dot and timeline bar colour by. `pending` reuses the panel's loading colour;
16908
+ * `aborted` matches no rule and so falls back to the neutral one.
16909
+ */
16910
+ protected runStatus(run: QueryDevtoolsRun): "loading" | "error" | "success" | "aborted";
16911
+ /** Whether a run can be diffed: it still holds its body, and so does an older run of the same query. */
16912
+ protected canDiffRun(entry: QueryDevtoolsEntry, run: QueryDevtoolsRun): boolean;
16913
+ protected toggleRunDiff(run: QueryDevtoolsRun): void;
16914
+ /**
16915
+ * The response diff of the picked run against the newest older run that still holds a body - which is
16916
+ * not necessarily the run right before it, since a failed run has none to compare.
16917
+ *
16918
+ * `null` unless a run is picked, so a closed diff costs nothing to walk.
16919
+ */
16920
+ protected responseDiff(entry: QueryDevtoolsEntry): {
16921
+ before: QueryDevtoolsRun;
16922
+ after: QueryDevtoolsRun;
16923
+ diff: QueryDevtoolsDiff;
16924
+ } | null;
16925
+ /** Opens a query in the Queries tab - the Events tab is a way in, not a dead end. */
16926
+ protected selectQuery(id: string): void;
16927
+ protected selectTimelineRow(row: TimelineRow): void;
16928
+ protected selectEventRow(item: EventLogItem): void;
16929
+ /** A value on one line, for a diff row or a form field. The full tree would bury the row it sits in. */
16930
+ protected inlineValue(value: unknown): string;
16931
+ /** A byte count the way a network panel spells one out. */
16932
+ protected formatBytes(bytes: number): string;
16933
+ /**
16934
+ * A transferred size, marked `≈` when any part of it was measured from a decoded body instead of read
16935
+ * from a `content-length` header - such a size ignores transport compression.
16936
+ */
16937
+ protected formatTransferred(bytes: number, isEstimated: boolean): string;
16938
+ /** A transfer rate, given in bytes per second the way `HttpRequestLoadingProgressState.speed` reports it. */
16939
+ protected formatSpeed(bytesPerSecond: number): string;
16940
+ protected formatDuration(ms: number | null): string;
16234
16941
  protected executeQuery(query: AnyQuery, allowCache: boolean): void;
16235
16942
  protected resetQuery(query: AnyQuery): void;
16236
16943
  /**
@@ -16239,17 +16946,66 @@ declare class QueryDevtoolsComponent {
16239
16946
  * a plain-text fallback.
16240
16947
  */
16241
16948
  protected copyReport(entry: QueryDevtoolsEntry, query: AnyQuery): void;
16242
- protected openResponseEditor(query: AnyQuery): void;
16243
- protected openArgsEditor(query: AnyQuery): void;
16244
- protected applyResponse(query: AnyQuery): void;
16245
- protected applyArgs(query: AnyQuery): void;
16949
+ /** Copies one query as an Insomnia collection, for `Import > From Clipboard`. */
16950
+ protected copyInsomniaRequest(entry: QueryDevtoolsEntry, query: AnyQuery): void;
16951
+ /**
16952
+ * Copies one query as a `curl` command - what goes into a terminal, a ticket or a chat message, where
16953
+ * an Insomnia collection is too heavy to be read at all.
16954
+ */
16955
+ protected copyCurlRequest(entry: QueryDevtoolsEntry, query: AnyQuery): void;
16956
+ /** Copies the GraphQL document as displayed — dedented, so it pastes straight into a playground. */
16957
+ protected copyGqlDocument(doc: string): void;
16958
+ /**
16959
+ * Downloads every query currently listed (so the client filter and the inspection filter both apply)
16960
+ * as one Insomnia collection, filed into a folder per query client.
16961
+ */
16962
+ protected downloadInsomniaCollection(): void;
16963
+ /**
16964
+ * Downloads the whole panel as one JSON file: every registered entry with what it ran and what it
16965
+ * holds, the event log, the cache totals and anything armed in the Faults tab. Unlike **Copy report**
16966
+ * this is not scoped to one query - it is the attachment for a bug report about a screen.
16967
+ *
16968
+ * Deliberately unfiltered: a report is read by someone who was not there, and a dump that silently
16969
+ * left out the client you were not looking at is worse than no dump.
16970
+ */
16971
+ protected downloadSession(): void;
16972
+ protected openResponseEditor(query: AnyQuery): void;
16973
+ protected openArgsEditor(query: AnyQuery): void;
16974
+ protected applyResponse(query: AnyQuery): void;
16975
+ protected applyArgs(query: AnyQuery): void;
16246
16976
  protected cancelEditor(): void;
16247
16977
  protected forceLoading(query: AnyQuery): void;
16248
16978
  protected forceError(query: AnyQuery): void;
16249
16979
  protected forceEmpty(query: AnyQuery): void;
16250
16980
  protected clearForced(query: AnyQuery): void;
16981
+ /**
16982
+ * Arms one numeric field of a client's fault from an input's raw value. Clamped here rather than left
16983
+ * to the input's `min`/`max`, which a typed-in (or pasted) value ignores.
16984
+ */
16985
+ protected armFaultValue(options: {
16986
+ clientName: string;
16987
+ field: NumericFaultField;
16988
+ value: string;
16989
+ }): void;
16990
+ protected armFaultStatus(options: {
16991
+ clientName: string;
16992
+ value: string;
16993
+ }): void;
16994
+ /** Whether the default retry policy retries the status a client is armed to fail with. */
16995
+ protected isFaultStatusRetryable(status: number): boolean;
16251
16996
  protected refetchCacheEntry(entry: QueryRepositoryCacheEntry): void;
16252
16997
  protected evictCacheEntry(repository: QueryRepository, key: string): void;
16998
+ /**
16999
+ * Drops every entry of one client, consumers included - the cold-start check that does not need a
17000
+ * reload. A query still bound to an evicted entry requests again on its next execution.
17001
+ */
17002
+ protected evictAllCacheEntries(repository: QueryRepository): void;
17003
+ /**
17004
+ * Expands the response held under a cache key, which is the only way to read an entry no live query is
17005
+ * bound to any more - the Queries tab has nothing to select for it.
17006
+ */
17007
+ protected toggleCacheValue(clientName: string, key: string): void;
17008
+ protected isCacheValueExpanded(clientName: string, key: string): boolean;
16253
17009
  protected cacheFreshness(entry: QueryRepositoryCacheEntry): string;
16254
17010
  /**
16255
17011
  * What multi-tab sync is doing for a cache entry: whether this tab is the one polling the key, and
@@ -16271,33 +17027,57 @@ declare class QueryDevtoolsComponent {
16271
17027
  protected asSequence(entry: QueryDevtoolsEntry): QuerySequence<unknown[]>;
16272
17028
  protected asAuth(entry: QueryDevtoolsEntry): AnyBearerAuthProvider;
16273
17029
  protected asWs(entry: QueryDevtoolsEntry): WebSocketDevtoolsHandle;
17030
+ /**
17031
+ * A socket's messages, narrowed by the filter box. Every whitespace-separated term has to match the
17032
+ * event, the room or the direction, so `out join` finds the room joins the client sent.
17033
+ */
17034
+ protected socketMessages(ws: WebSocketDevtoolsHandle): WebSocketDevtoolsMessage[];
17035
+ /** How the message log labels a direction: what the client sent, versus what the server pushed. */
17036
+ protected socketDirectionLabel(message: WebSocketDevtoolsMessage): "↑ sent" | "↓ received";
17037
+ /**
17038
+ * Sends a message as the app would, so a server that only answers a client that asked can be provoked
17039
+ * from the panel. An empty payload sends nothing rather than `""` - a plain event is a valid message.
17040
+ */
17041
+ protected emitSocketMessage(options: {
17042
+ entry: QueryDevtoolsEntry;
17043
+ event: string;
17044
+ data: string;
17045
+ }): void;
17046
+ protected socketEmitErrorFor(entryId: string): string | null;
17047
+ protected asForm(entry: QueryDevtoolsEntry): QueryDevtoolsFormHandle;
17048
+ /**
17049
+ * The queries a form feeds, discovered from the reads its `value()` recorded while their args were
17050
+ * built - so a form that nothing consumes yet reads as exactly that.
17051
+ */
17052
+ protected queriesDrivenByForm(entry: QueryDevtoolsEntry): QueryLink[];
17053
+ /** The reverse: the forms whose value a query's args read. */
17054
+ protected formsDrivingQuery(entry: QueryDevtoolsEntry): QueryDevtoolsEntry[];
17055
+ protected selectForm(id: string): void;
17056
+ /**
17057
+ * The refreshes that re-executed a query, newest first - the answer to "why did this refetch?". Read
17058
+ * off the event log, so it goes back exactly as far as the log does.
17059
+ */
17060
+ protected refreshesFor(entryId: string): {
17061
+ id: number;
17062
+ timestamp: number;
17063
+ label: string;
17064
+ }[];
17065
+ /** What asked for a refresh, on one line. */
17066
+ protected causeLabel(cause: QueryRefreshCause): string;
16274
17067
  /** Derives the per-step status of a sequence step from its live progress signals. */
16275
17068
  protected sequenceStepStatus(sequence: QuerySequence<unknown[]>, index: number): QuerySequenceStatus;
16276
17069
  protected authTokenPayload(auth: AnyBearerAuthProvider): Record<string, unknown> | null;
16277
- protected queriesForStack(stack: AnyQueryStack | AnyPagedQueryStack): {
16278
- id: string;
16279
- query: AnyQuery;
16280
- method: string;
16281
- route: string;
16282
- clientName: string;
16283
- clientBaseUrl: string;
16284
- }[];
17070
+ protected queriesForStack(stack: AnyQueryStack | AnyPagedQueryStack): QueryLink[];
16285
17071
  /** Identifying info for a stack, derived from its (uniform) inner queries. */
16286
17072
  protected stackIdentity(stack: AnyQueryStack | AnyPagedQueryStack): {
16287
17073
  method: string;
16288
- route: string;
17074
+ segments: RouteSegment[];
16289
17075
  baseUrl: string;
16290
17076
  };
16291
- protected authFeatures(auth: AnyBearerAuthProvider): string[];
16292
17077
  protected authQueryKeys(auth: AnyBearerAuthProvider): string[];
16293
17078
  /** Countdown to the access-token's `exp` (the point a refresh becomes due), or `null` if unknown. */
16294
17079
  protected authTokenExpiry(auth: AnyBearerAuthProvider): string | null;
16295
- protected queriesForSequence(sequence: QuerySequence<unknown[]>): {
16296
- id: string;
16297
- query: AnyQuery;
16298
- method: string;
16299
- route: string;
16300
- }[];
17080
+ protected queriesForSequence(sequence: QuerySequence<unknown[]>): QueryLink[];
16301
17081
  /** The snapshot of a sequence step, once it has run (holds the args in and the response/error out). */
16302
17082
  protected stepSnapshot(sequence: QuerySequence<unknown[]>, index: number): AnyQuerySnapshot | null;
16303
17083
  protected isStepExpanded(entryId: string, index: number): boolean;
@@ -16305,17 +17085,115 @@ declare class QueryDevtoolsComponent {
16305
17085
  /** Dedents a GraphQL document (template-literal indentation) for readable display. */
16306
17086
  protected gqlDocument(doc: string): string;
16307
17087
  protected featureLabel(type: string): string;
17088
+ /** A feature and its options on one line, for a report or a chip's tooltip. */
17089
+ featureSummary(feature: QueryDevtoolsFeature): string;
17090
+ /** The features of the client behind a cache tab card, or `null` for a client without any. */
17091
+ protected clientFeatures(client: QueryClient | null | undefined): QueryDevtoolsFeature[] | null;
16308
17092
  protected formatTime(timestamp: number | null): string;
16309
17093
  protected eventTypeLabel(event: EventLogItem): string;
17094
+ private isTabPrimary;
17095
+ /** Moves the panel into a pop-up whose document has finished loading. @see popOut */
17096
+ private mountPopOut;
17097
+ /**
17098
+ * The panel's chrome tokens as the app currently resolves them, so a pop-out keeps the surface it was
17099
+ * docked in. Its own CSS resolves them from the host app's theme, and that theme is set on an ancestor
17100
+ * the pop-out does not have - inherited afresh over there, the panel would take the document's theme
17101
+ * (usually the light one) rather than the one it was just being read against.
17102
+ *
17103
+ * Empty on a browser that does not enumerate custom properties, which leaves the tokens to be
17104
+ * inherited as before.
17105
+ */
17106
+ private chromeTokens;
17107
+ /** Whether a `<head>` child carries CSS the pop-out needs a copy of. */
17108
+ private isStyleNode;
17109
+ /** Brings the panel back into the host element and closes the window it was living in. */
17110
+ private dockBack;
17111
+ /** A registered query as a row that opens the detail drawer. */
17112
+ private queryLinkFor;
17113
+ /** The activity of one entry, or the total of a group of them (a stack's queries, a whole tab). */
17114
+ private activityOf;
17115
+ /** An activity summary on one line, for a report. `null` for a query that has not run. */
17116
+ private activitySummary;
17117
+ /** A query matches the chips if it is in any of the picked states - chips widen, they don't intersect. */
17118
+ private matchesFacets;
17119
+ /**
17120
+ * What the search box matches against: what the row shows, plus the path of the request that ran for a
17121
+ * query whose template differs from it.
17122
+ *
17123
+ * Deliberately not the origin or the client name - both repeat across most entries, so a short term
17124
+ * ("p") would match nearly everything through the host name. Scoping to a client is the picker's job.
17125
+ */
17126
+ private queryHaystack;
17127
+ /** {@link routeSegments} as a plain string, for the places that cannot render markup. */
17128
+ private queryRoute;
17129
+ /**
17130
+ * Describes a query the way a replay outside the app needs it: the URL, headers and body of the
17131
+ * request it last made, or - for a query that has not run - what its current args would send.
17132
+ */
17133
+ private exportedRequest;
17134
+ /**
17135
+ * The token refreshes the given requests authenticate with - one per auth provider they name, and
17136
+ * only for a provider that is logged in, since a refresh request without a refresh token has
17137
+ * nothing to send.
17138
+ */
17139
+ private insomniaTokenRefreshes;
17140
+ private insomniaTokenRefresh;
17141
+ /**
17142
+ * Where the access token sits in the refresh response. A provider's `extractTokens` can pull it out
17143
+ * of any shape, so the path is recovered by finding the live token in the last auth response - with
17144
+ * the default extractor's `$.accessToken` as the fallback.
17145
+ */
17146
+ private accessTokenPath;
17147
+ /**
17148
+ * How long Insomnia may reuse a stored refresh response: the access token's own lifetime with a
17149
+ * margin, so the chain refreshes shortly before the token it hands out would expire. Capped at an
17150
+ * hour - a long-lived (or bogus) `exp` should still hand out a token minted this session.
17151
+ */
17152
+ private accessTokenMaxAge;
17153
+ /**
17154
+ * The headers a replay needs, including the ones the query client adds. Header providers can throw
17155
+ * (a secure query's needs an access token), in which case the request is exported without them.
17156
+ */
17157
+ private insomniaHeaders;
17158
+ private sessionClients;
17159
+ /** Every registered entry, described by whatever its kind carries. */
17160
+ private sessionEntries;
17161
+ private sessionQuery;
17162
+ private sessionActivity;
17163
+ private sessionSequence;
17164
+ private sessionForm;
17165
+ /**
17166
+ * An auth provider without its tokens. A session report is a file that gets attached to a ticket, and
17167
+ * the access token is the one thing in the panel that must never travel with it - which is why only
17168
+ * its presence and its remaining lifetime are exported.
17169
+ */
17170
+ private sessionAuth;
17171
+ private sessionSocket;
17172
+ private sessionEvents;
17173
+ private sessionFaults;
17174
+ private downloadFile;
16310
17175
  private stepKey;
17176
+ private paneSize;
17177
+ /** The panel's size is the distance from the pointer to the edge it is docked to. */
16311
17178
  private applyResize;
17179
+ /** A pane's size is the distance from the pointer to the container edge that pane sits against. */
17180
+ private applyPaneResize;
17181
+ private closePopup;
16312
17182
  private updateInspectHover;
16313
17183
  private selectInspectedQuery;
16314
17184
  private selectionKey;
17185
+ /** Writes to the clipboard and ticks `copied` on success. `html` is omitted for plain-text payloads. */
16315
17186
  private writeToClipboard;
16316
17187
  private responseStatus;
16317
17188
  private findQuery;
16318
17189
  private pushEvent;
17190
+ /**
17191
+ * The size of a settled request's response, taken from its `content-length` when the response carried
17192
+ * one and measured from the decoded body otherwise.
17193
+ */
17194
+ private measureResponse;
17195
+ private refreshedRequestOf;
17196
+ private pushEventItem;
16319
17197
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<QueryDevtoolsComponent, never>;
16320
17198
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<QueryDevtoolsComponent, "et-query-devtools", never, {}, {}, never, never, true, never>;
16321
17199
  }
@@ -18602,17 +19480,23 @@ type TableColumnState = {
18602
19480
  };
18603
19481
  /**
18604
19482
  * A serializable snapshot of a table's configurable state - column order, visibility,
18605
- * sort and filters (per column) plus expanded rows. Versioned so persisted states
18606
- * survive schema evolution. Round-trips via `state()` / `restoreState()`.
19483
+ * sort and filters (per column) plus whatever the imported features own. Versioned so
19484
+ * persisted states survive schema evolution. Round-trips via `state()` / `restoreState()`.
18607
19485
  */
18608
19486
  type TableState = {
18609
- /** State schema version. `1` predates the `features` bag and still restores. */
18610
- v: 1 | 2;
19487
+ /**
19488
+ * State schema version. `1` predates the `features` bag and still restores; `2` carried expanded rows
19489
+ * in {@link expanded}, which is now the expansion feature's own slice.
19490
+ */
19491
+ v: 1 | 2 | 3;
18611
19492
  /** Columns in display order, each with its visibility, sort and filter. */
18612
19493
  columns: TableColumnState[];
18613
19494
  /**
18614
- * Expanded row keys (the string form of each `rowKey`). Present only when row
18615
- * expansion is used with a `rowKey` - without one, expansion can't be serialized.
19495
+ * Where `v: 2` and earlier kept the expanded row keys. Row expansion is an opt-in feature as of `v: 3`
19496
+ * and carries them in `features.expansion`, so nothing reads this any more: a persisted `2` restores
19497
+ * its columns, sort and filters, and leaves whatever is expanded alone.
19498
+ *
19499
+ * @deprecated Read `features.expansion` instead. Kept so a stored `v: 2` state still has a type.
18616
19500
  */
18617
19501
  expanded?: string[];
18618
19502
  /**
@@ -18984,8 +19868,7 @@ type TableCellErrorMark = {
18984
19868
  };
18985
19869
  /**
18986
19870
  * A leading utility column: a fixed-width column before the data columns, with a cell in every row
18987
- * kind (group header, header, body, footer). Selection contributes one; row expansion is the table's
18988
- * own built-in one.
19871
+ * kind (group header, header, body, footer). Selection contributes one, row expansion another.
18989
19872
  *
18990
19873
  * The table owns the chrome - track width, sticky offsets, cell classes, ARIA roles - and stamps the
18991
19874
  * registered components into the body/header cells.
@@ -19022,6 +19905,107 @@ type TableLayer = {
19022
19905
  /** Whether the layer is live - see {@link TableHeaderAdornment.enabled}. */
19023
19906
  enabled?: Signal<boolean>;
19024
19907
  };
19908
+ /** A column's horizontal pinning, as the table's header, body and footer cells render it. */
19909
+ type TableCellPinning = {
19910
+ stickyStart: boolean;
19911
+ stickyEnd: boolean;
19912
+ /** Inline-start offset (px) a start-pinned cell sits at, or `null` when it isn't one. */
19913
+ offsetStart: number | null;
19914
+ /** Inline-end offset (px) an end-pinned cell sits at, or `null` when it isn't one. */
19915
+ offsetEnd: number | null;
19916
+ };
19917
+ /**
19918
+ * How a feature pins columns to the table's inline edges (`etTableStickyColumns`).
19919
+ *
19920
+ * The table keeps *rendering* the pinning - the classes and inline offsets sit on the cells it draws, and
19921
+ * a feature cannot contribute an attribute to those. What moves out is everything behind them: measuring
19922
+ * the header cells, stacking the offsets from each edge, and deciding when pinning would crowd the
19923
+ * scrollable columns off-screen. A table with no feature registered asks for none of it and runs no
19924
+ * measurement on resize.
19925
+ */
19926
+ type TableColumnPinning = {
19927
+ /** How a data column is pinned. Called once per rendered cell kind, from a `computed`. */
19928
+ cellPinning(key: string): TableCellPinning;
19929
+ /** Whether the leading utility columns are pinned along with a start-pinned column, and how far in. */
19930
+ leadPinning(key: string): {
19931
+ sticky: boolean;
19932
+ offset: number | null;
19933
+ };
19934
+ /** Total frozen width (px) at each inline edge - where the scroll fades sit. */
19935
+ insets(): {
19936
+ start: number;
19937
+ end: number;
19938
+ };
19939
+ /** Whether any visible column is pinned to the trailing edge, which already owns that edge. */
19940
+ hasStickyEnd(): boolean;
19941
+ /** Whether pinning is live - see {@link TableHeaderAdornment.enabled}. */
19942
+ enabled?: Signal<boolean>;
19943
+ };
19944
+ /**
19945
+ * A row a feature renders above the column headers - the spanning group-header row. The table stamps
19946
+ * `component` as the grid's first child, before its own header row.
19947
+ *
19948
+ * The stamped component must be `display: contents` and render one cell per track itself: the table's
19949
+ * rows are `display: contents` too, so every cell of every row kind is a grid item of the same grid.
19950
+ * {@link TableFeatureHost.leadColumnsMeta} and {@link TableFeatureHost.hasFillerTrack} are what a row
19951
+ * needs to cover the tracks that are not data columns.
19952
+ */
19953
+ type TableHeaderRow = {
19954
+ component: Type<unknown>;
19955
+ /** The injector it resolves from - see {@link TableHeaderAdornment.injector}. */
19956
+ injector?: Injector;
19957
+ /** Whether the row is live - see {@link TableHeaderAdornment.enabled}. */
19958
+ enabled?: Signal<boolean>;
19959
+ };
19960
+ /**
19961
+ * What a feature renders in place of the body while the table is loading and has no rows to show yet -
19962
+ * the placeholder rows. The table owns *when* (its `loading` / `error` inputs and row count); the
19963
+ * feature owns what a loading body looks like.
19964
+ *
19965
+ * The stamped component must be `display: contents` and lay its own cells into the table's tracks, the
19966
+ * same way {@link TableHeaderRow} does. Without a registered placeholder the body simply stays empty
19967
+ * while loading - blank rather than a misleading empty state.
19968
+ */
19969
+ type TableBodyPlaceholder = {
19970
+ component: Type<unknown>;
19971
+ /** The injector it resolves from - see {@link TableHeaderAdornment.injector}. */
19972
+ injector?: Injector;
19973
+ /** Whether the placeholder is live - see {@link TableHeaderAdornment.enabled}. */
19974
+ enabled?: Signal<boolean>;
19975
+ };
19976
+ /**
19977
+ * A feature's stand-in for the content of one cell that is loading on its own (see the table's
19978
+ * `cellState`). Stamped only into cells actually in that state, so it costs nothing on a healthy table.
19979
+ *
19980
+ * This exists so the skeleton bone can stay out of the base bundle, the same way
19981
+ * {@link TableCellErrorMark} keeps the tooltip out of it. Without one, a loading cell keeps showing its
19982
+ * value and only carries `data-state="loading"` for styling.
19983
+ */
19984
+ type TableCellPlaceholder = {
19985
+ component: Type<unknown>;
19986
+ /** The injector it resolves from - see {@link TableHeaderAdornment.injector}. */
19987
+ injector?: Injector;
19988
+ /** Whether the placeholder is live - see {@link TableHeaderAdornment.enabled}. */
19989
+ enabled?: Signal<boolean>;
19990
+ };
19991
+ /**
19992
+ * A full-width row a feature renders directly under a body row - the detail row of an expanded row.
19993
+ * The table stamps `component` after every row `isOpen` answers `true` for, so the feature owns what a
19994
+ * detail row is and when it shows while the table keeps owning the grid.
19995
+ *
19996
+ * The stamped component must span every track itself (`grid-column: 1 / -1`), because the table's rows
19997
+ * are `display: contents` and it is placed in the same grid as their cells.
19998
+ */
19999
+ type TableRowDetail = {
20000
+ /** The component to stamp. It must declare a `row` input to receive the row it belongs to. */
20001
+ component: TableLeadCellComponent;
20002
+ /** Whether this row's detail row is currently rendered. */
20003
+ isOpen(row: unknown): boolean;
20004
+ /** The injector it resolves from - see {@link TableHeaderAdornment.injector}. */
20005
+ injector?: Injector;
20006
+ /** Whether detail rows are live - see {@link TableHeaderAdornment.enabled}. */
20007
+ enabled?: Signal<boolean>;
20008
+ };
19025
20009
  /**
19026
20010
  * How a feature windows the rendered rows (virtual scrolling): the table renders `slice(rows)` with
19027
20011
  * spacers of `paddingStart`/`paddingEnd` standing in for what's left out, and offsets cell indices by
@@ -19082,10 +20066,10 @@ type TableCellEditing = {
19082
20066
  /**
19083
20067
  * A feature's own serializable state, contributed to the table's {@link TableState} under `key`.
19084
20068
  *
19085
- * The base table owns column order/visibility/width, sort, filters and expansion because they must
19086
- * round-trip whether or not a feature is imported. Anything a *feature* owns (a selection) can't live
19087
- * there without the base knowing about the feature - so the feature hands over a slice instead, and
19088
- * `state()` / `restoreState()` carry it as opaque JSON.
20069
+ * The base table owns column order/visibility/width, sort and filters because they must round-trip
20070
+ * whether or not a feature is imported. Anything a *feature* owns (a selection, the expanded rows)
20071
+ * can't live there without the base knowing about the feature - so the feature hands over a slice
20072
+ * instead, and `state()` / `restoreState()` carry it as opaque JSON.
19089
20073
  */
19090
20074
  type TableStateSlice = {
19091
20075
  /** Stable name of the slice in the serialized state, e.g. `'selection'`. */
@@ -19100,9 +20084,9 @@ type TableStateSlice = {
19100
20084
  * (the table never queries for them), which is what keeps the base table free of any reference to a
19101
20085
  * feature's dependencies - a table without `etTableFilters` never pulls in the menu system.
19102
20086
  *
19103
- * Serializable state (column order/visibility/width, sort, filters, expansion) stays owned by the
19104
- * base table so `state()` / `restoreState()` round-trip regardless of which features are imported;
19105
- * features read and write it through this contract.
20087
+ * Serializable state (column order/visibility/width, sort, filters) stays owned by the base table so
20088
+ * `state()` / `restoreState()` round-trip regardless of which features are imported; features read and
20089
+ * write it through this contract, and contribute their own with {@link registerStateSlice}.
19106
20090
  */
19107
20091
  type TableFeatureHost = {
19108
20092
  /** Add a component to every header cell. Call once, from the feature's constructor. */
@@ -19117,6 +20101,16 @@ type TableFeatureHost = {
19117
20101
  registerCellEditing(editing: TableCellEditing): void;
19118
20102
  /** Add a floating layer rendered after the grid (a drag ghost). Call once, from the constructor. */
19119
20103
  registerLayer(layer: TableLayer): void;
20104
+ /** Render a full-width row under expanded rows. Call once, from the feature's constructor. */
20105
+ registerRowDetail(detail: TableRowDetail): void;
20106
+ /** Render a row above the column headers. Call once, from the feature's constructor. */
20107
+ registerHeaderRow(row: TableHeaderRow): void;
20108
+ /** Render the body while the table is loading with no rows yet. Call once, from the constructor. */
20109
+ registerBodyPlaceholder(placeholder: TableBodyPlaceholder): void;
20110
+ /** Replace the content of a cell that is loading on its own. Call once, from the constructor. */
20111
+ registerCellPlaceholder(placeholder: TableCellPlaceholder): void;
20112
+ /** Pin columns to the table's inline edges. Call once, from the feature's constructor. */
20113
+ registerColumnPinning(pinning: TableColumnPinning): void;
19120
20114
  /** Replace the mark drawn in failed cells. Call once, from the feature's constructor. */
19121
20115
  registerCellErrorMark(mark: TableCellErrorMark): void;
19122
20116
  /** Contribute the feature's own serializable state. Call once, from the feature's constructor. */
@@ -19133,6 +20127,12 @@ type TableFeatureHost = {
19133
20127
  * without owning a registry of its own.
19134
20128
  */
19135
20129
  columnTemplate(slot: TableTemplateSlot, key: string): TemplateRef<unknown> | null;
20130
+ /**
20131
+ * The table's `expandedRowTemplate`, or `null`. It stays a table input rather than a feature option
20132
+ * because only the table knows the row type - which is what gives the template's `let-row` a type
20133
+ * instead of `any` (see `plans/table-api.md`). The expansion feature renders it from here.
20134
+ */
20135
+ detailTemplate(): TemplateRef<unknown> | null;
19136
20136
  /** The rows the table would render, after client filtering/sorting. */
19137
20137
  rows(): readonly unknown[];
19138
20138
  /** Stable identity for a row - `rowKey`'s string form, else the row reference. */
@@ -19185,6 +20185,21 @@ type TableFeatureHost = {
19185
20185
  setFilterValues(key: string, values: unknown[]): void;
19186
20186
  /** The visible columns, in render order - what a feature hit-tests or iterates over. */
19187
20187
  visibleColumnsMeta(): TableColumnMeta[];
20188
+ /**
20189
+ * The leading utility columns (selection, expander) in render order, as much of each as a feature needs:
20190
+ * a whole-row feature draws one cell per entry with its `cellClass`, and a pinning feature keys their
20191
+ * offsets by `key`.
20192
+ */
20193
+ leadColumnsMeta(): {
20194
+ key: string;
20195
+ cellClass: string;
20196
+ }[];
20197
+ /**
20198
+ * Whether a trailing slack track is in play - it carries an empty cell in every row so the table's
20199
+ * chrome runs to the panel's edge instead of stopping at the last rigid column. A feature rendering a
20200
+ * whole row has to cover that track too.
20201
+ */
20202
+ hasFillerTrack(): boolean;
19188
20203
  /**
19189
20204
  * The rendered header cells of the visible columns, in the same order as `visibleColumnsMeta()`.
19190
20205
  * A feature that must attach behavior to cells the table renders (a reorder drag) works from these.
@@ -19192,7 +20207,20 @@ type TableFeatureHost = {
19192
20207
  headerCellElements(): HTMLElement[];
19193
20208
  /** The rendered body cells of one column, e.g. to animate a column into its new position. */
19194
20209
  bodyCellElementsFor(key: string): HTMLElement[];
19195
- /** A column's effective pinning - `null` when unpinned or when pinning is currently suppressed. */
20210
+ /**
20211
+ * The rendered header cells of the leading utility columns, in {@link leadColumnsMeta} order. A feature
20212
+ * stacking offsets from the inline-start edge has to measure them before the first data column.
20213
+ */
20214
+ leadHeaderCellElements(): HTMLElement[];
20215
+ /**
20216
+ * The user's column width overrides (px), keyed by column key. Reading it in a `computed` or `effect`
20217
+ * is how a feature re-measures when a resize changes the tracks without changing the host's size.
20218
+ */
20219
+ columnWidths(): Readonly<Record<string, number>>;
20220
+ /**
20221
+ * A column's effective pinning - `null` when unpinned, when pinning is currently suppressed, or when
20222
+ * nothing pins columns at all. What `etTableReorder` asks to leave pinned columns out of a drag.
20223
+ */
19196
20224
  effectiveStickyOf(key: string): 'start' | 'end' | null;
19197
20225
  /** Move a column next to another one in the full column order (hidden columns stay put). */
19198
20226
  moveColumnNextTo(key: string, target: {
@@ -19511,12 +20539,6 @@ type TableStateStorage = ReturnType<typeof createTableStateStorage>;
19511
20539
  * template is a plain projection of it. (Event bindings still call methods - that's the one place a
19512
20540
  * call belongs.)
19513
20541
  */
19514
- type TableStickyVm = {
19515
- stickyStart: boolean;
19516
- stickyEnd: boolean;
19517
- offsetStart: number | null;
19518
- offsetEnd: number | null;
19519
- };
19520
20542
  /** One leading utility cell (selection, expander) - identical chrome in every row kind. */
19521
20543
  type TableLeadCellVm = {
19522
20544
  key: string;
@@ -19525,7 +20547,7 @@ type TableLeadCellVm = {
19525
20547
  offset: number | null;
19526
20548
  lead: TableLeadColumn;
19527
20549
  };
19528
- type TableHeaderCellVm<T> = TableStickyVm & {
20550
+ type TableHeaderCellVm<T> = TableCellPinning & {
19529
20551
  key: string;
19530
20552
  column: TableColumnDef<T>;
19531
20553
  align: string;
@@ -19535,7 +20557,7 @@ type TableHeaderCellVm<T> = TableStickyVm & {
19535
20557
  direction: TableSortDirection | null;
19536
20558
  template: TemplateRef<unknown> | null;
19537
20559
  };
19538
- type TableBodyCellVm<T> = TableStickyVm & {
20560
+ type TableBodyCellVm<T> = TableCellPinning & {
19539
20561
  key: string;
19540
20562
  align: string;
19541
20563
  state: TableCellState | null;
@@ -19563,31 +20585,16 @@ type TableBodyRowVm<T> = {
19563
20585
  key: unknown;
19564
20586
  classes: string;
19565
20587
  stripe: boolean;
19566
- showDetail: boolean;
19567
- /** Enter/leave animation classes, empty unless this is the row the user just toggled. */
19568
- enterAnimation: string;
19569
- leaveAnimation: string;
20588
+ /** The registered detail row to stamp under this row, while it is open. */
20589
+ detail: TableRowDetail | null;
19570
20590
  leads: TableLeadCellVm[];
19571
20591
  cells: TableBodyCellVm<T>[];
19572
20592
  };
19573
- type TableFooterCellVm = TableStickyVm & {
20593
+ type TableFooterCellVm = TableCellPinning & {
19574
20594
  key: string;
19575
20595
  align: string;
19576
20596
  template: TemplateRef<unknown> | null;
19577
20597
  };
19578
- /** One loading placeholder row: a bone per column, at a width that doesn't change between passes. */
19579
- type TablePlaceholderRowVm = {
19580
- key: number;
19581
- leads: TableLeadCellVm[];
19582
- cells: {
19583
- key: string;
19584
- align: string;
19585
- width: number;
19586
- /** The column's own `etTableCellSkeleton`, when it has one. */
19587
- template: TemplateRef<unknown> | null;
19588
- context: TableCellSkeletonContext;
19589
- }[];
19590
- };
19591
20598
  /**
19592
20599
  * The default table. Renders typed rows and cells from a {@link TableColumns}
19593
20600
  * record on a CSS grid with a sticky header and an empty state. Light by
@@ -19604,10 +20611,8 @@ type TablePlaceholderRowVm = {
19604
20611
  */
19605
20612
  declare class TableComponent<T> {
19606
20613
  private elementRef;
19607
- private destroyRef;
19608
20614
  protected injector: Injector;
19609
20615
  private injectedLabels;
19610
- private styleManager;
19611
20616
  /** The rows to render. */
19612
20617
  data: _angular_core.InputSignal<readonly T[]>;
19613
20618
  /**
@@ -19633,14 +20638,13 @@ declare class TableComponent<T> {
19633
20638
  */
19634
20639
  labels: _angular_core.InputSignal<Partial<TableLabels> | null>;
19635
20640
  /**
19636
- * Whether the rows are being loaded. With nothing to show yet the body renders placeholder rows
19637
- * ({@link loadingRows}); over rows that are already on screen it keeps them readable and runs a
19638
- * busy bar under the header instead, so a refetch doesn't blank the table the user is reading.
19639
- * The host carries `aria-busy` either way. @default false
20641
+ * Whether the rows are being loaded. Over rows that are already on screen it keeps them readable and
20642
+ * runs a busy bar under the header, so a refetch doesn't blank the table the user is reading; with
20643
+ * nothing to show yet the body is left to whatever renders a loading state - `etTableSkeleton` draws
20644
+ * placeholder rows, and without it the body simply stays empty. The host carries `aria-busy` either
20645
+ * way. @default false
19640
20646
  */
19641
20647
  loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
19642
- /** How many placeholder rows to draw while loading with no rows yet. @default 5 */
19643
- loadingRows: _angular_core.InputSignalWithTransform<number, unknown>;
19644
20648
  /**
19645
20649
  * The load's failure, if any - anything non-nullish counts (an `HttpErrorResponse`, a message, a
19646
20650
  * flag), so it takes a query's `error` signal as-is. Set, it replaces the body with the error
@@ -19704,15 +20708,15 @@ declare class TableComponent<T> {
19704
20708
  */
19705
20709
  filterMode: _angular_core.InputSignal<"client" | "server" | undefined>;
19706
20710
  /**
19707
- * The detail template rendered as a full-width row when a row is expanded. Setting
19708
- * it enables row expansion (an expander column is prepended). Context: `{ $implicit: row }`.
19709
- * Nest another `<et-table>` here for sub-tables.
20711
+ * The detail template rendered as a full-width row when a row is expanded. Context:
20712
+ * `{ $implicit: row }`. Nest another `<et-table>` here for sub-tables.
20713
+ *
20714
+ * It stays a table input rather than an option on {@link TableRowExpansionDirective} because only the
20715
+ * table knows the row type, which is what types the template's `let-row`. **Rendering it needs
20716
+ * `etTableRowExpansion`** - the expander column, the detail row and its animation ship with the
20717
+ * feature, so a table that never expands a row carries none of it.
19710
20718
  */
19711
20719
  expandedRowTemplate: _angular_core.InputSignal<TemplateRef<TableExpandedRowContext<T>> | undefined>;
19712
- /** Gate which rows can expand. Defaults to all rows (when a detail template is set). */
19713
- expandableRow: _angular_core.InputSignal<((row: T) => boolean) | undefined>;
19714
- /** The set of expanded row keys (by `rowKey`, else row reference). Two-way bindable. */
19715
- expandedKeys: _angular_core.ModelSignal<Set<unknown>>;
19716
20720
  /**
19717
20721
  * Make whole rows respond to clicks: adds a hover/pointer affordance and emits {@link rowClick}
19718
20722
  * (clicks landing on interactive cell content are ignored - see `rowClick`). @default false
@@ -19729,7 +20733,6 @@ declare class TableComponent<T> {
19729
20733
  protected footerSlot: _angular_core.Signal<TableFooterDirective | undefined>;
19730
20734
  private headerCells;
19731
20735
  private bodyCells;
19732
- private groupCells;
19733
20736
  private leadHeaderCells;
19734
20737
  /** The sort mode in effect: what you set, else `'server'` when a {@link rowsSource} is bound. */
19735
20738
  resolvedSortMode: _angular_core.Signal<"client" | "server">;
@@ -19744,7 +20747,6 @@ declare class TableComponent<T> {
19744
20747
  * error UI stays on the surface's own colors.
19745
20748
  */
19746
20749
  errorColorTheme: _ethlete_core.ColorTheme | undefined;
19747
- private leadStickyOffsets;
19748
20750
  private headerAdornmentList;
19749
20751
  protected headerAdornments: _angular_core.Signal<TableHeaderAdornment[]>;
19750
20752
  private stateSliceList;
@@ -19752,6 +20754,16 @@ declare class TableComponent<T> {
19752
20754
  protected cellErrorMark: _angular_core.Signal<TableCellErrorMark | null>;
19753
20755
  private layerList;
19754
20756
  protected layers: _angular_core.Signal<TableLayer[]>;
20757
+ private headerRowList;
20758
+ protected headerRows: _angular_core.Signal<TableHeaderRow[]>;
20759
+ private columnPinningList;
20760
+ private columnPinning;
20761
+ private bodyPlaceholderList;
20762
+ protected bodyPlaceholder: _angular_core.Signal<TableBodyPlaceholder | null>;
20763
+ private cellPlaceholderList;
20764
+ protected cellPlaceholder: _angular_core.Signal<TableCellPlaceholder | null>;
20765
+ private rowDetailList;
20766
+ private rowDetail;
19755
20767
  private leadColumnList;
19756
20768
  private registeredRowWindow;
19757
20769
  private cellNavigationList;
@@ -19761,12 +20773,7 @@ declare class TableComponent<T> {
19761
20773
  private cellEditing;
19762
20774
  private rowWindow;
19763
20775
  private hostDimensions;
19764
- private groupCellDimensions;
19765
- protected groupRowHeight: _angular_core.Signal<number>;
19766
- private stickyOffsets;
19767
- private stickySuppressed;
19768
20776
  private autosizing;
19769
- private pinnedInsets;
19770
20777
  /**
19771
20778
  * Where content is currently scrolled out of view horizontally. Drives the edge gradients: they mark
19772
20779
  * the boundary the rows disappear under, which is *not* the viewport edge when columns are pinned -
@@ -19782,40 +20789,24 @@ declare class TableComponent<T> {
19782
20789
  start: number;
19783
20790
  end: number;
19784
20791
  }>;
19785
- /** Whether row expansion is active (a detail template was provided). */
19786
- expandable: _angular_core.Signal<boolean>;
19787
- private userToggledKey;
19788
- private userToggleReset;
19789
20792
  private columnDefs;
19790
20793
  private columnOrder;
19791
20794
  private hiddenColumns;
19792
- private columnWidths;
20795
+ /**
20796
+ * The user's width overrides (px) per column. Public because it is part of the feature contract -
20797
+ * `etTableStickyColumns` re-measures its offsets when a resize changes the tracks without changing the
20798
+ * host's size, which is the one thing no other signal reports.
20799
+ */
20800
+ columnWidths: _angular_core.WritableSignal<Record<string, number>>;
19793
20801
  private columnsByKey;
19794
20802
  private columnTemplateList;
19795
20803
  columnTemplates: _angular_core.Signal<Record<TableTemplateSlot, Map<string, TemplateRef<unknown>>>>;
19796
20804
  private orderedColumns;
19797
20805
  /** Columns currently displayed, in order. */
19798
20806
  visibleColumns: _angular_core.Signal<TableColumnDef<T>[]>;
19799
- /** Whether any visible column declares a `group` (drives the spanning group-header row). */
19800
- hasGroups: _angular_core.Signal<boolean>;
19801
- /**
19802
- * The spanning group-header row as maximal runs of adjacent visible columns sharing a `group`.
19803
- * Ungrouped columns each form their own single-track run (`label: null`) so the row still covers
19804
- * every track - dragging a column out of a group simply splits the run.
19805
- */
19806
- headerGroups: _angular_core.Signal<TableHeaderGroup[]>;
19807
- /** Whether any visible column is pinned to the inline-start edge (also pins the expander column). */
19808
- hasStickyStart: _angular_core.Signal<boolean>;
19809
- /** Whether any visible column is pinned to the trailing edge. */
19810
- hasStickyEnd: _angular_core.Signal<boolean>;
19811
- /** Whether any visible column is pinned (start or end) - the grid then sizes to its tracks so pinning works. */
19812
- hasStickyColumns: _angular_core.Signal<boolean>;
19813
20807
  /** Whether any visible column has a registered footer cell (drives the sticky footer row). */
19814
20808
  hasFooter: _angular_core.Signal<boolean>;
19815
- /**
19816
- * The leading utility columns in render order: whatever features registered (selection), then the
19817
- * table's own expander column when a detail template is set.
19818
- */
20809
+ /** The leading utility columns in render order - whatever features registered (selection, expansion). */
19819
20810
  leadColumns: _angular_core.Signal<TableLeadColumn[]>;
19820
20811
  /**
19821
20812
  * The column tracks, plus whether they are all rigid.
@@ -19835,7 +20826,7 @@ declare class TableComponent<T> {
19835
20826
  * rigid column.
19836
20827
  */
19837
20828
  protected hasFiller: _angular_core.Signal<boolean>;
19838
- /** The serializable, versioned table state - column order, visibility, sort, filters and expanded rows. */
20829
+ /** The serializable, versioned table state - column order, visibility, sort, filters and feature slices. */
19839
20830
  state: _angular_core.Signal<TableState>;
19840
20831
  /**
19841
20832
  * The rendered rows - client-filtered then client-sorted for whichever of
@@ -19872,15 +20863,6 @@ declare class TableComponent<T> {
19872
20863
  protected headerCellVms: _angular_core.Signal<TableHeaderCellVm<T>[]>;
19873
20864
  protected bodyRows: _angular_core.Signal<TableBodyRowVm<T>[]>;
19874
20865
  protected footerCells: _angular_core.Signal<TableFooterCellVm[]>;
19875
- /** The placeholder rows, in the same tracks as real ones so the layout doesn't jump when data lands. */
19876
- protected placeholderGrid: _angular_core.Signal<TablePlaceholderRowVm[]>;
19877
- /**
19878
- * The height of a real row, remembered from the last time this table had any. Placeholder rows adopt
19879
- * it, so a refetch or a page change keeps the table exactly as tall as the data the user was just
19880
- * looking at. `null` until a row has been rendered - the first load has nothing to measure, which is
19881
- * what `etTableCellSkeleton` is for.
19882
- */
19883
- protected measuredRowHeight: _angular_core.WritableSignal<number | null>;
19884
20866
  /** Spacer sizes standing in for the rows a window leaves out, or `null` when every row renders. */
19885
20867
  protected spacers: _angular_core.Signal<{
19886
20868
  start: number;
@@ -19948,6 +20930,42 @@ declare class TableComponent<T> {
19948
20930
  * drag ghost). Part of the feature contract; consumers never call this.
19949
20931
  */
19950
20932
  registerLayer(layer: TableLayer): void;
20933
+ /**
20934
+ * Called by an opt-in feature to render a full-width row under expanded rows (`etTableRowExpansion`).
20935
+ * Part of the feature contract; consumers never call this.
20936
+ */
20937
+ registerRowDetail(detail: TableRowDetail): void;
20938
+ /**
20939
+ * Called by an opt-in feature to render a row above the column headers (`etTableGroupHeaders`). Part
20940
+ * of the feature contract; consumers never call this.
20941
+ */
20942
+ registerHeaderRow(row: TableHeaderRow): void;
20943
+ /**
20944
+ * Called by an opt-in feature to render the loading body (`etTableSkeleton`). Part of the feature
20945
+ * contract; consumers never call this.
20946
+ */
20947
+ registerBodyPlaceholder(placeholder: TableBodyPlaceholder): void;
20948
+ /**
20949
+ * Called by an opt-in feature to fill a cell that is loading on its own (`etTableSkeleton`). Part of
20950
+ * the feature contract; consumers never call this.
20951
+ */
20952
+ registerCellPlaceholder(placeholder: TableCellPlaceholder): void;
20953
+ /**
20954
+ * Called by an opt-in feature to pin columns to the inline edges (`etTableStickyColumns`). Part of the
20955
+ * feature contract; consumers never call this.
20956
+ */
20957
+ registerColumnPinning(pinning: TableColumnPinning): void;
20958
+ /** The rendered header cells of the leading utility columns. Part of the feature contract. */
20959
+ leadHeaderCellElements(): HTMLElement[];
20960
+ /** The leading utility columns, in render order. Part of the feature contract. */
20961
+ leadColumnsMeta(): {
20962
+ key: string;
20963
+ cellClass: string;
20964
+ }[];
20965
+ /** Whether a trailing slack track is in play. Part of the feature contract. */
20966
+ hasFillerTrack(): boolean;
20967
+ /** The `expandedRowTemplate` input, type-erased for the feature contract. */
20968
+ detailTemplate(): TemplateRef<TableExpandedRowContext<T>> | null;
19951
20969
  /**
19952
20970
  * Called by an opt-in feature to take over cell focus (`etTableKeyboardNav`). Part of the feature
19953
20971
  * contract; consumers never call this.
@@ -19984,7 +21002,7 @@ declare class TableComponent<T> {
19984
21002
  scrollRowIntoView(rowIndex: number): boolean;
19985
21003
  /** How many rows fit the scroll viewport. Part of the feature contract - the PageUp/PageDown step. */
19986
21004
  rowsPerPage(): number;
19987
- /** Apply a previously captured {@link TableState} - column order, visibility, sort, filters and expanded rows. */
21005
+ /** Apply a previously captured {@link TableState} - column order, visibility, sort, filters and feature slices. */
19988
21006
  restoreState(next: TableState): void;
19989
21007
  /** The sort direction for a column key, or `null` when it isn't sorted. */
19990
21008
  sortDirection(key: string): TableSortDirection | null;
@@ -20016,20 +21034,6 @@ declare class TableComponent<T> {
20016
21034
  showAllColumns(): void;
20017
21035
  /** Move a column to a new index within the full column order. */
20018
21036
  moveColumn(key: string, toIndex: number): void;
20019
- /** Whether a row is currently expanded. */
20020
- isExpanded(row: T): boolean;
20021
- /** Toggle a row's expanded state. */
20022
- toggleExpanded(row: T): void;
20023
- /** The inline-start offset (px) of a lead column, when the leading columns are pinned. */
20024
- /** Whether a row can expand - expansion is on and the row passes `expandableRow`. */
20025
- canExpand(row: T): boolean;
20026
- /**
20027
- * The animation class for a detail row's enter/leave, or `''` to mount/unmount it instantly.
20028
- *
20029
- * Only the row the user just toggled animates. A detail row also mounts and unmounts when the rows
20030
- * themselves change - paging away and back, sorting, a query refresh - and animating those replays
20031
- * an open/close the user never asked for (and pays the layout cost mid page-change).
20032
- */
20033
21037
  /**
20034
21038
  * Emit {@link rowClick} for a row (click or keyboard), unless the activation came from interactive
20035
21039
  * content inside it. Takes a plain `Event`: Angular types `$event` for the `keydown.enter` /
@@ -20092,20 +21096,15 @@ declare class TableComponent<T> {
20092
21096
  autosizeAllColumns(): void;
20093
21097
  /** Reset a column to its default width (drops the user override), e.g. on grip double-click. */
20094
21098
  resetColumnWidth(key: string): void;
20095
- /** A column's effective pinning, or `null` when it isn't pinned or pinning is suppressed (see {@link stickySuppressed}). */
20096
- effectiveSticky(column: TableColumnDef<T>): 'start' | 'end' | null;
20097
21099
  /**
20098
21100
  * The one place sort state is written. A bound {@link rowsSource} owns it - it resets the page and
20099
21101
  * refetches - and its own value syncs back into `sort` (see the constructor), so everything else can
20100
21102
  * keep reading `sort()` whichever drives it.
20101
21103
  */
20102
21104
  private applySort;
20103
- /** A column's pinning and offsets, shared by its header, body and footer cells. */
20104
- private stickyVmOf;
20105
- private markUserToggled;
20106
21105
  private originatesFromInteractive;
20107
21106
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableComponent<any>, never>;
20108
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableComponent<any>, "et-table", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "rowsSource": { "alias": "rowsSource"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "rowKey": { "alias": "rowKey"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "loadingRows": { "alias": "loadingRows"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; "isSignal": true; }; "errorTemplate": { "alias": "errorTemplate"; "required": false; "isSignal": true; }; "cellState": { "alias": "cellState"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "multiSort": { "alias": "multiSort"; "required": false; "isSignal": true; }; "sortMode": { "alias": "sortMode"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "filterMode": { "alias": "filterMode"; "required": false; "isSignal": true; }; "expandedRowTemplate": { "alias": "expandedRowTemplate"; "required": false; "isSignal": true; }; "expandableRow": { "alias": "expandableRow"; "required": false; "isSignal": true; }; "expandedKeys": { "alias": "expandedKeys"; "required": false; "isSignal": true; }; "rowInteractive": { "alias": "rowInteractive"; "required": false; "isSignal": true; }; }, { "sort": "sortChange"; "filters": "filtersChange"; "expandedKeys": "expandedKeysChange"; "rowClick": "rowClick"; }, ["footerSlot"], ["[etTableError]", "[etTableEmpty]", "[etTableFooter]"], true, never>;
21107
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableComponent<any>, "et-table", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "rowsSource": { "alias": "rowsSource"; "required": false; "isSignal": true; }; "columns": { "alias": "columns"; "required": false; "isSignal": true; }; "rowKey": { "alias": "rowKey"; "required": false; "isSignal": true; }; "labels": { "alias": "labels"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "emptyTemplate": { "alias": "emptyTemplate"; "required": false; "isSignal": true; }; "errorTemplate": { "alias": "errorTemplate"; "required": false; "isSignal": true; }; "cellState": { "alias": "cellState"; "required": false; "isSignal": true; }; "appearance": { "alias": "appearance"; "required": false; "isSignal": true; }; "density": { "alias": "density"; "required": false; "isSignal": true; }; "sort": { "alias": "sort"; "required": false; "isSignal": true; }; "multiSort": { "alias": "multiSort"; "required": false; "isSignal": true; }; "sortMode": { "alias": "sortMode"; "required": false; "isSignal": true; }; "filters": { "alias": "filters"; "required": false; "isSignal": true; }; "filterMode": { "alias": "filterMode"; "required": false; "isSignal": true; }; "expandedRowTemplate": { "alias": "expandedRowTemplate"; "required": false; "isSignal": true; }; "rowInteractive": { "alias": "rowInteractive"; "required": false; "isSignal": true; }; }, { "sort": "sortChange"; "filters": "filtersChange"; "rowClick": "rowClick"; }, ["footerSlot"], ["[etTableError]", "[etTableEmpty]", "[etTableFooter]"], true, never>;
20109
21108
  }
20110
21109
 
20111
21110
  /** Options for {@link TableStatePersistenceDirective}. */
@@ -20497,13 +21496,12 @@ declare class TableCsvExportDirective<T> {
20497
21496
  }
20498
21497
 
20499
21498
  /**
20500
- * The detail row's chrome and its grow-open animation, as a styles-only component mounted on demand -
20501
- * see `ButtonStylesDirective` for the same pattern, and the table's `expandable` effect for the mount.
21499
+ * The detail row's chrome and its grow-open animation, as a styles-only component mounted by
21500
+ * `etTableRowExpansion` - see `ButtonStylesDirective` for the same pattern.
20502
21501
  *
20503
21502
  * Split out of `table.component.css` because it is the largest block in there (the keyframes alone are
20504
- * most of it) and it does nothing for a table that never expands a row. Mounting it the first time a
20505
- * table has a detail template keeps those rules out of the document - and out of style recalculation -
20506
- * for every table that doesn't.
21503
+ * most of it) and it does nothing for a table that never expands a row. It arrives with the feature, so
21504
+ * those rules stay out of the document - and out of style recalculation - for every table without it.
20507
21505
  *
20508
21506
  * @internal
20509
21507
  */
@@ -20527,6 +21525,8 @@ declare const TABLE_ERROR_CODES: {
20527
21525
  readonly PARTIAL_EXPORT: 3506;
20528
21526
  /** A CSV export was given both a server-built `file` and options that only apply to a built one. */
20529
21527
  readonly CONFLICTING_EXPORT_OPTIONS: 3507;
21528
+ /** An `expandedRowTemplate` was set on a table without `etTableRowExpansion` to render it. */
21529
+ readonly MISSING_ROW_EXPANSION: 3508;
20530
21530
  };
20531
21531
 
20532
21532
  /** Options for {@link TableKeyboardNavDirective}. */
@@ -20591,18 +21591,79 @@ declare class TableKeyboardNavDirective {
20591
21591
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TableKeyboardNavDirective, "[etTableKeyboardNav]", ["etTableKeyboardNav"], { "config": { "alias": "etTableKeyboardNav"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
20592
21592
  }
20593
21593
 
21594
+ /** Options for {@link TableRowExpansionDirective}. */
21595
+ type TableRowExpansionConfig<T> = TableFeatureConfig & {
21596
+ /**
21597
+ * The signal holding the expanded row keys (by the table's `rowKey`, else the row reference). The
21598
+ * feature writes into it directly, so pass your own signal to read or drive the expansion - set a
21599
+ * `rowKey` on the table so it survives sorting, filtering and data changes, and so it can be
21600
+ * serialized into `state()`. Omit it and the expansion is kept internally (reachable via `exportAs`).
21601
+ */
21602
+ expanded?: WritableSignal<Set<unknown>>;
21603
+ /** Gate which rows can expand. Defaults to all rows. */
21604
+ expandableRow?: (row: T) => boolean;
21605
+ };
20594
21606
  /**
20595
- * The row expander, stamped into the table's own lead column when a detail template is set. Registered
20596
- * through the same seam as a feature's lead column, so the table's row loops have no special case.
21607
+ * Opt-in row expansion for `et-table`: adds a leading expander column and renders the table's
21608
+ * `[expandedRowTemplate]` as a full-width detail row under the row it belongs to.
20597
21609
  *
20598
- * It is created inside the table's view, so it reaches the table by plain DI - no injector plumbing,
20599
- * unlike a feature's cells (see `TableLeadColumn.injector`). Its styles travel with it rather than in
20600
- * `table.component.css`, so Angular injects them the first time a table actually renders an expander.
21610
+ * The template stays a table input because only the table knows the row type - that is what gives
21611
+ * `let-row` a type instead of `any`. Everything else is here, which is what keeps the expander cell, the
21612
+ * detail row's chrome and its grow-open animation out of a table that never expands a row.
21613
+ *
21614
+ * @example
21615
+ * protected expanded = signal<Set<unknown>>(new Set());
21616
+ *
21617
+ * <et-table
21618
+ * [data]="users()"
21619
+ * [columns]="COLUMNS"
21620
+ * [rowKey]="rowId"
21621
+ * [expandedRowTemplate]="detail"
21622
+ * [etTableRowExpansion]="{ expanded: expanded }"
21623
+ * >
21624
+ * <ng-template #detail let-user>{{ user.bio }}</ng-template>
21625
+ * </et-table>
21626
+ */
21627
+ declare class TableRowExpansionDirective<T> {
21628
+ private table;
21629
+ private destroyRef;
21630
+ /** See {@link TableRowExpansionConfig}. */
21631
+ config: _angular_core.InputSignalWithTransform<TableRowExpansionConfig<T>, "" | TableRowExpansionConfig<T>>;
21632
+ private ownExpanded;
21633
+ /** The signal the expanded keys are kept in - the consumer's when they passed one, else the feature's own. */
21634
+ expanded: _angular_core.Signal<WritableSignal<Set<unknown>>>;
21635
+ private userToggledKey;
21636
+ private userToggleReset;
21637
+ constructor();
21638
+ /** Whether a row is currently expanded. */
21639
+ isExpanded(row: T): boolean;
21640
+ /** Whether a row may expand at all (see `expandableRow`). */
21641
+ canExpand(row: T): boolean;
21642
+ /**
21643
+ * Whether this row's detail row should animate open/closed.
21644
+ *
21645
+ * Only the row the user just toggled does. A detail row also mounts and unmounts when the rows
21646
+ * themselves change - paging away and back, sorting, a query refresh - and animating those replays an
21647
+ * open/close the user never asked for (and pays the layout cost mid page-change).
21648
+ */
21649
+ animates(row: unknown): boolean;
21650
+ /** Toggle a row's expanded state. */
21651
+ toggle(row: T): void;
21652
+ private markUserToggled;
21653
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableRowExpansionDirective<any>, never>;
21654
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TableRowExpansionDirective<any>, "[etTableRowExpansion]", ["etTableRowExpansion"], { "config": { "alias": "etTableRowExpansion"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
21655
+ }
21656
+
21657
+ /**
21658
+ * The row expander, stamped into the lead column `etTableRowExpansion` registers. Its styles travel
21659
+ * with it rather than in `table.component.css`, so Angular injects them the first time a table actually
21660
+ * renders an expander.
20601
21661
  *
20602
21662
  * @internal
20603
21663
  */
20604
21664
  declare class TableExpanderCellComponent {
20605
- protected table: TableComponent<unknown>;
21665
+ protected expansion: TableRowExpansionDirective<unknown>;
21666
+ protected table: _ethlete_components.TableFeatureHost;
20606
21667
  /** The row this cell belongs to. Set by the table (see {@link TableLeadCellComponent}). */
20607
21668
  row: _angular_core.InputSignal<unknown>;
20608
21669
  protected canExpand: _angular_core.Signal<boolean>;
@@ -20696,6 +21757,67 @@ declare class TableFilterTriggerComponent {
20696
21757
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableFilterTriggerComponent, "et-table-filter-trigger", never, { "column": { "alias": "column"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
20697
21758
  }
20698
21759
 
21760
+ /** Options for {@link TableGroupHeadersDirective}. */
21761
+ type TableGroupHeadersConfig = TableFeatureConfig;
21762
+ /**
21763
+ * Opt-in grouped column headers for `et-table`: a spanning row above the column headers, in which
21764
+ * adjacent visible columns that share a `group` read under one label.
21765
+ *
21766
+ * @example
21767
+ * const COLUMNS = {
21768
+ * won: { header: 'W', value: (t: Team) => t.won, group: 'Season' },
21769
+ * lost: { header: 'L', value: (t: Team) => t.lost, group: 'Season' },
21770
+ * form: { header: 'Form', value: (t: Team) => t.form },
21771
+ * } satisfies TableColumns<Team>;
21772
+ *
21773
+ * <et-table [data]="teams()" [columns]="COLUMNS" etTableGroupHeaders />
21774
+ */
21775
+ declare class TableGroupHeadersDirective {
21776
+ private table;
21777
+ /** See {@link TableGroupHeadersConfig}. */
21778
+ config: _angular_core.InputSignalWithTransform<TableFeatureConfig, "" | TableFeatureConfig>;
21779
+ /**
21780
+ * The stamped row's own measured height, which it hands over on construction - the row is created in
21781
+ * the table's view, so there is nothing here to query for it. Part of the feature's internal contract
21782
+ * with its row; consumers never set this.
21783
+ */
21784
+ rowHeight: _angular_core.WritableSignal<Signal<number> | null>;
21785
+ protected groupRowHeight: Signal<number>;
21786
+ /**
21787
+ * The spanning row as maximal runs of adjacent visible columns sharing a `group`. Ungrouped columns
21788
+ * each form their own single-track run (`label: null`) so the row still covers every track - dragging
21789
+ * a column out of a group simply splits the run.
21790
+ */
21791
+ headerGroups: Signal<TableHeaderGroup[]>;
21792
+ /** Whether any visible column declares a `group`, i.e. whether the row shows a label at all. */
21793
+ hasGroups: Signal<boolean>;
21794
+ constructor();
21795
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableGroupHeadersDirective, never>;
21796
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TableGroupHeadersDirective, "[etTableGroupHeaders]", ["etTableGroupHeaders"], { "config": { "alias": "etTableGroupHeaders"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
21797
+ }
21798
+
21799
+ /**
21800
+ * The spanning group-header row, stamped by the table through `registerHeaderRow`. It is
21801
+ * `display: contents`, so the cells below are grid items of the table's own grid and land in its tracks.
21802
+ *
21803
+ * @internal
21804
+ */
21805
+ declare class TableGroupHeaderRowComponent {
21806
+ protected feature: TableGroupHeadersDirective;
21807
+ protected table: _ethlete_components.TableFeatureHost;
21808
+ private groupCells;
21809
+ private groupCellDimensions;
21810
+ /** Rendered height of the row, for the header row's sticky offset. */
21811
+ blockSize: _angular_core.Signal<number>;
21812
+ protected leads: _angular_core.Signal<{
21813
+ key: string;
21814
+ cellClass: string;
21815
+ }[]>;
21816
+ constructor();
21817
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableGroupHeaderRowComponent, never>;
21818
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableGroupHeaderRowComponent, "et-table-group-header-row", never, {}, {}, never, never, true, never>;
21819
+ }
21820
+
20699
21821
  /**
20700
21822
  * The edit-mode cell's rules, as a styles-only component mounted by `etTableInlineEdit` (see
20701
21823
  * `TableVirtualScrollStylesComponent` for the pattern).
@@ -20934,6 +22056,28 @@ declare class TableReorderOverlayComponent {
20934
22056
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableReorderOverlayComponent, "et-table-reorder-overlay", never, {}, {}, never, never, true, never>;
20935
22057
  }
20936
22058
 
22059
+ /**
22060
+ * The detail row of an expanded row: the table's `expandedRowTemplate` in a full-width row under the
22061
+ * row it belongs to. Stamped by the table through `registerRowDetail`, so it exists only while a row is
22062
+ * actually open.
22063
+ *
22064
+ * The enter/leave animation is a **host** binding rather than a binding on an element inside the
22065
+ * template, because Angular runs `animate.leave` on the element that is being removed - and what the
22066
+ * table removes is this component's host. On a child it would never be awaited, and the row would
22067
+ * disappear instantly instead of closing.
22068
+ *
22069
+ * @internal
22070
+ */
22071
+ declare class TableRowDetailComponent {
22072
+ private expansion;
22073
+ protected table: _ethlete_components.TableFeatureHost;
22074
+ /** The row this detail row belongs to. Set by the table (see {@link TableRowDetail}). */
22075
+ row: _angular_core.InputSignal<unknown>;
22076
+ protected animated: _angular_core.Signal<boolean>;
22077
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableRowDetailComponent, never>;
22078
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableRowDetailComponent, "et-table-row-detail", never, { "row": { "alias": "row"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
22079
+ }
22080
+
20937
22081
  /** Options for {@link TableResizeDirective}. */
20938
22082
  type TableResizeConfig = TableFeatureConfig;
20939
22083
  /**
@@ -21064,6 +22208,114 @@ declare class TableSelectCellComponent {
21064
22208
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableSelectCellComponent, "et-table-select-cell", never, { "row": { "alias": "row"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
21065
22209
  }
21066
22210
 
22211
+ /** Options for {@link TableStickyColumnsDirective}. */
22212
+ type TableStickyColumnsConfig = TableFeatureConfig;
22213
+ /**
22214
+ * Opt-in sticky columns for `et-table`: a column declaring `sticky: 'start' | 'end'` stays put while the
22215
+ * table scrolls horizontally, and the scroll fades move in to sit at the pinned column's inner edge.
22216
+ *
22217
+ * The offsets are measured, not declared - each pinned column stacks after the ones before it from its
22218
+ * own edge - so this runs a measurement whenever the host resizes or a column is resized. That is the
22219
+ * reason it is a feature: a table that pins nothing runs none of it, and never has the pinned cells'
22220
+ * chrome in the document either.
22221
+ *
22222
+ * @example
22223
+ * const COLUMNS = {
22224
+ * name: { header: 'Name', value: (u: User) => u.name, width: '220px', sticky: 'start' },
22225
+ * email: { header: 'Email', value: (u: User) => u.email, width: '280px' },
22226
+ * } satisfies TableColumns<User>;
22227
+ *
22228
+ * <et-table [data]="users()" [columns]="COLUMNS" etTableStickyColumns />
22229
+ */
22230
+ declare class TableStickyColumnsDirective {
22231
+ private table;
22232
+ /** See {@link TableStickyColumnsConfig}. */
22233
+ config: _angular_core.InputSignalWithTransform<TableFeatureConfig, "" | TableFeatureConfig>;
22234
+ private hostDimensions;
22235
+ private offsets;
22236
+ private leadOffsets;
22237
+ /**
22238
+ * True when pinning is measured to crowd the non-pinned columns off-screen. Pinning is then dropped so
22239
+ * every column scrolls normally instead of hiding behind the pins - which is what makes the same table
22240
+ * work on desktop and on a narrow viewport without a breakpoint of the consumer's own.
22241
+ */
22242
+ suppressed: _angular_core.WritableSignal<boolean>;
22243
+ private insets;
22244
+ /** Whether any visible column is pinned to the inline-start edge (which also pins the lead columns). */
22245
+ hasStickyStart: _angular_core.Signal<boolean>;
22246
+ /** Whether any visible column is pinned to the trailing edge. */
22247
+ hasStickyEnd: _angular_core.Signal<boolean>;
22248
+ constructor();
22249
+ /** How a data column is pinned, as the table's header, body and footer cells render it. */
22250
+ cellPinning(key: string): TableCellPinning;
22251
+ /** Whether the leading utility columns are pinned along with a start-pinned column, and how far in. */
22252
+ leadPinning(key: string): {
22253
+ sticky: boolean;
22254
+ offset: number | null;
22255
+ };
22256
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableStickyColumnsDirective, never>;
22257
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TableStickyColumnsDirective, "[etTableStickyColumns]", ["etTableStickyColumns"], { "config": { "alias": "etTableStickyColumns"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
22258
+ }
22259
+
22260
+ /** Options for {@link TableSkeletonDirective}. */
22261
+ type TableSkeletonConfig = TableFeatureConfig & {
22262
+ /** How many placeholder rows to draw while loading with no rows yet. @default 5 */
22263
+ rows?: number;
22264
+ };
22265
+ /**
22266
+ * Opt-in loading placeholders for `et-table`: the body becomes a block of skeleton rows while the table
22267
+ * is loading with nothing to show yet, and a cell that is loading on its own (see the table's
22268
+ * `cellState`) shows a bone in place of its value.
22269
+ *
22270
+ * It carries the [skeleton](/components/skeleton) component with it, which is why it is separate: a table
22271
+ * that never draws a placeholder never pulls that in. Without it a first load leaves the body blank -
22272
+ * the host's `aria-busy` and the busy bar over existing rows are part of the base.
22273
+ *
22274
+ * @example
22275
+ * <et-table [data]="rows()" [columns]="COLUMNS" [loading]="loading()" etTableSkeleton />
22276
+ */
22277
+ declare class TableSkeletonDirective {
22278
+ private table;
22279
+ /** See {@link TableSkeletonConfig}. */
22280
+ config: _angular_core.InputSignalWithTransform<TableSkeletonConfig, "" | TableSkeletonConfig>;
22281
+ /**
22282
+ * The height of a real row, remembered from the last time this table had any, so a refetch or a page
22283
+ * change keeps the table exactly as tall as the data the user was just looking at. `null` until a row
22284
+ * has been rendered - a first load has nothing to measure, which is what `etTableCellSkeleton` is for.
22285
+ */
22286
+ measuredRowHeight: _angular_core.WritableSignal<number | null>;
22287
+ constructor();
22288
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableSkeletonDirective, never>;
22289
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TableSkeletonDirective, "[etTableSkeleton]", ["etTableSkeleton"], { "config": { "alias": "etTableSkeleton"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
22290
+ }
22291
+
22292
+ /** One placeholder row: a bone per column, at a width that doesn't change between passes. */
22293
+ type SkeletonRowVm = {
22294
+ key: number;
22295
+ cells: {
22296
+ key: string;
22297
+ align: string;
22298
+ width: number;
22299
+ /** The column's own `etTableCellSkeleton`, when it has one. */
22300
+ template: TemplateRef<unknown> | null;
22301
+ context: TableCellSkeletonContext;
22302
+ }[];
22303
+ };
22304
+ /**
22305
+ * The placeholder body of a first load, stamped by the table through `registerBodyPlaceholder`. It is
22306
+ * `display: contents`, so its rows and cells are grid items of the table's own grid and land in the same
22307
+ * tracks as real ones - which is what keeps the columns from jumping when the data arrives.
22308
+ *
22309
+ * @internal
22310
+ */
22311
+ declare class TableSkeletonRowsComponent {
22312
+ protected feature: TableSkeletonDirective;
22313
+ protected table: _ethlete_components.TableFeatureHost;
22314
+ protected rows: _angular_core.Signal<SkeletonRowVm[]>;
22315
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TableSkeletonRowsComponent, never>;
22316
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TableSkeletonRowsComponent, "et-table-skeleton-rows", never, {}, {}, never, never, true, never>;
22317
+ }
22318
+
21067
22319
  /**
21068
22320
  * The virtual window's spacer rule, as a styles-only component mounted by `etTableVirtualScroll` (see
21069
22321
  * `ButtonStylesDirective` for the pattern).
@@ -21110,11 +22362,15 @@ declare class TableVirtualScrollDirective {
21110
22362
 
21111
22363
  /**
21112
22364
  * The base table: typed rows and cells, the `etTableCell` / `etTableHeaderCell` /
21113
- * `etTableFooterCell` templates, sort headers, sticky columns, the empty state and the footer slot.
22365
+ * `etTableFooterCell` templates, sort headers, the empty state and the footer slot.
21114
22366
  * Deliberately lean - each optional feature ships its own imports array (e.g.
21115
22367
  * {@link TABLE_FILTER_IMPORTS}), so what you don't import stays out of your bundle.
22368
+ *
22369
+ * Row expansion, grouped headers, loading placeholders and sticky columns are **not** in here - see
22370
+ * {@link TABLE_ROW_EXPANSION_IMPORTS}, {@link TABLE_GROUP_HEADERS_IMPORTS},
22371
+ * {@link TABLE_SKELETON_IMPORTS} and {@link TABLE_STICKY_COLUMNS_IMPORTS}.
21116
22372
  */
21117
- declare const TABLE_IMPORTS: readonly [typeof TableComponent, typeof TableFooterDirective, typeof TableCellDirective, typeof TableHeaderCellDirective, typeof TableFooterCellDirective, typeof TableCellSkeletonDirective];
22373
+ declare const TABLE_IMPORTS: readonly [typeof TableComponent, typeof TableFooterDirective, typeof TableCellDirective, typeof TableHeaderCellDirective, typeof TableFooterCellDirective];
21118
22374
  /**
21119
22375
  * Filter menus for `filterable` columns (`etTableFilters`), plus the `etTableFilterOption` template for
21120
22376
  * templating an option's content. Pulls in the menu system.
@@ -21154,6 +22410,29 @@ declare const TABLE_RESIZE_IMPORTS: readonly [typeof TableResizeDirective];
21154
22410
  declare const TABLE_REORDER_IMPORTS: readonly [typeof TableReorderDirective];
21155
22411
  /** Multi-row selection (`etTableSelection`). Pulls in the checkbox component. */
21156
22412
  declare const TABLE_SELECTION_IMPORTS: readonly [typeof TableSelectionDirective];
22413
+ /**
22414
+ * Grouped column headers (`etTableGroupHeaders`): a spanning row above the column headers in which
22415
+ * adjacent columns sharing a `group` read under one label. Carries that row and its chrome.
22416
+ */
22417
+ declare const TABLE_GROUP_HEADERS_IMPORTS: readonly [typeof TableGroupHeadersDirective];
22418
+ /**
22419
+ * Sticky columns (`etTableStickyColumns`): a column declaring `sticky: 'start' | 'end'` stays put while
22420
+ * the table scrolls horizontally. Carries the measuring of the pinned offsets and the pinned cells'
22421
+ * chrome, which is why it is separate - a table that pins nothing measures nothing.
22422
+ */
22423
+ declare const TABLE_STICKY_COLUMNS_IMPORTS: readonly [typeof TableStickyColumnsDirective];
22424
+ /**
22425
+ * Loading placeholders (`etTableSkeleton`): a block of skeleton rows while loading with no rows yet, a
22426
+ * bone in a cell that is loading on its own, and the `etTableCellSkeleton` template for saying what a
22427
+ * column's bone looks like. Pulls in the [skeleton](/components/skeleton) component.
22428
+ */
22429
+ declare const TABLE_SKELETON_IMPORTS: readonly [typeof TableSkeletonDirective, typeof TableCellSkeletonDirective];
22430
+ /**
22431
+ * Row expansion (`etTableRowExpansion`): a leading expander column and a full-width detail row for the
22432
+ * table's `[expandedRowTemplate]`. Carries the detail row's chrome and its grow-open animation, which is
22433
+ * why it is separate - a table that never expands a row pays for none of it.
22434
+ */
22435
+ declare const TABLE_ROW_EXPANSION_IMPORTS: readonly [typeof TableRowExpansionDirective];
21157
22436
  /**
21158
22437
  * Tooltips on failed cells (`etTableCellErrorTooltip`): a `cellState` message is shown on hover/focus
21159
22438
  * rather than as a native `title`. Pulls in the tooltip, and with it the overlay runtime.
@@ -21752,5 +23031,5 @@ declare const TOOLTIP_ERROR_CODES: {
21752
23031
 
21753
23032
  declare const TOOLTIP_IMPORTS: readonly [typeof TooltipDirective, typeof TooltipComponent];
21754
23033
 
21755
- 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, AccordionComponent, AccordionContentDirective, AccordionDirective, AccordionGroupComponent, AccordionGroupDirective, AccordionHintDirective, AccordionLabelDirective, AccordionPanelDirective, AccordionTriggerDirective, 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, BracketComponent, BracketDefaultContinueComponent, BracketDefaultFinalMatchComponent, BracketDefaultMatchComponent, BracketDefaultRoundHeaderComponent, BracketMap, BracketRoundsListComponent, BrandLoaderComponent, BreadcrumbCollapseDirective, BreadcrumbComponent, BreadcrumbDirective, BreadcrumbItemDirective, BreadcrumbItemTemplateDirective, BreadcrumbOutletComponent, BreadcrumbOverflowComponent, BreadcrumbSegmentDirective, BreadcrumbSeoDirective, BreadcrumbSeparatorDirective, ButtonComponent, ButtonDirective, ButtonStylesDirective, CALENDAR_ERROR_CODES, CALENDAR_ICON, CALENDAR_IMPORTS, CALENDAR_LABELS, 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, CalendarCellDirective, CalendarComponent, CalendarDirective, CalendarGridDirective, CalendarHeaderDirective, 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, 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, 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_SELECT_LABELS, DEFAULT_SLIDER_LABELS, DEFAULT_STANDINGS_LABELS, DEFAULT_STREAM_LABELS, DEFAULT_STREAM_PLAYER_STATE, DEFAULT_TABLE_LABELS, DEFAULT_TIME_PICKER_LABELS, DESCRIPTION_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, DescriptionComponent, DropzoneComponent, DropzoneDirective, DurationInputComponent, DurationInputDirective, DurationInputFieldDirective, ELLIPSIS_ICON, ELLIPSIS_VERTICAL_ICON, ET_BUILT_IN_ICON_NAMES, EYE_ICON, EYE_SLASH_ICON, FACEBOOK_PLAYER_TOKEN, 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, FabComponent, FacebookPlayerComponent, FacebookPlayerDirective, FacebookPlayerParamsDirective, FacebookPlayerSlotComponent, FilterOverlayResetDirective, FilterOverlaySubmitDirective, FloatingActionAnchorDirective, FloatingActionDirective, FloatingActionScopeDirective, FloatingActionTopDirective, FloatingActionTriggerDirective, FocusRingDirective, FormErrorComponent, FormFieldComponent, FormFieldDirective, 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, 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, KICK_PLAYER_TOKEN, KickPlayerComponent, KickPlayerDirective, KickPlayerParamsDirective, KickPlayerSlotComponent, LINK_ICON, LIST_BULLETED_ICON, LIST_NUMBERED_ICON, LOADER_LABELS, 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_STATUS, NUMBER_INPUT_IMPORTS, NavTabLinkComponent, NavTabLinkDirective, 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, 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, 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, QUERY_DEVTOOLS_IMPORTS, QUERY_ERROR_ERROR_CODES, QUERY_ERROR_IMPORTS, QUERY_ERROR_LABELS, QUERY_ERROR_TOKEN, QUOTE_ICON, QueryDevtoolsComponent, QueryDevtoolsJsonComponent, QueryDevtoolsToggleComponent, QueryErrorActionsDirective, QueryErrorComponent, QueryErrorDirective, QueryErrorTitleDirective, QueryParamOverlayLinkDirective, RADIO_GROUP_IMPORTS, RADIO_VARIANTS, RATING_IMPORTS, REDO_ICON, 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, SCROLLABLE_DARKEN_IMPORTS, SCROLLABLE_DRAG_IMPORTS, SCROLLABLE_ERROR_CODES, SCROLLABLE_IMPORTS, SCROLLABLE_NAVIGATION_IMPORTS, SEGMENTED_BUTTON_GROUP_VARIANTS, SEGMENTED_BUTTON_IMPORTS, 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_ADVANCE_WINS, SWISS_BRACKET_ROUND_TYPE, SWISS_ELIMINATE_LOSSES, SWITCH_IMPORTS, 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_ERROR_CODES, TABLE_FEATURE_HOST, TABLE_FILTER_IMPORTS, TABLE_ICON, TABLE_IMPORTS, TABLE_INLINE_EDIT_IMPORTS, TABLE_KEYBOARD_NAV_IMPORTS, TABLE_LABELS, TABLE_REORDER_IMPORTS, TABLE_RESIZE_IMPORTS, TABLE_SELECTION_IMPORTS, TABLE_STATE_PERSISTENCE_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, TIMES_ICON, TIME_FORMAT, TIME_INPUT_ERROR_CODES, TIME_INPUT_IMPORTS, TIME_PICKER_ERROR_CODES, TIME_PICKER_IMPORTS, TIME_PICKER_LABELS, TOGGLETIP_ERROR_CODES, TOGGLETIP_IMPORTS, TOOLTIP_ERROR_CODES, TOOLTIP_IMPORTS, TOURNAMENT_MODE, 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, TableExpanderCellComponent, TableFilterOptionDirective, TableFilterTriggerComponent, TableFiltersDirective, TableFooterCellDirective, TableFooterDirective, TableHeaderCellDirective, TableInlineEditDirective, TableInlineEditStylesComponent, TableKeyboardNavDirective, TableReorderDirective, TableReorderOverlayComponent, TableResizeDirective, TableResizeGripComponent, TableSelectAllCellComponent, TableSelectCellComponent, TableSelectionDirective, TableStatePersistenceDirective, TableVirtualScrollDirective, TableVirtualScrollStylesComponent, TagInputComponent, TagInputDirective, TagInputFieldDirective, TextButtonComponent, TextFieldControlDirective, TextareaComponent, TextareaDirective, TikTokPlayerComponent, TikTokPlayerDirective, TikTokPlayerParamsDirective, TikTokPlayerSlotComponent, TimeInputComponent, TimeInputDirective, TimeInputFieldDirective, TimePickerColumnDirective, TimePickerComponent, TimePickerDirective, TimePickerOptionDirective, ToggletipCloseDirective, ToggletipComponent, ToggletipDirective, ToggletipTriggerDirective, TooltipComponent, TooltipDirective, TwitchPlayerComponent, TwitchPlayerDirective, TwitchPlayerParamsDirective, TwitchPlayerSlotComponent, UNDERLINE_ICON, UNDO_ICON, UNIT_MS, UPLOAD_ICON, VIMEO_PLAYER_TOKEN, VimeoPlayerComponent, VimeoPlayerDirective, VimeoPlayerParamsDirective, VimeoPlayerSlotComponent, 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, compactLayout, computeGeometry, computeGridHeight, createAnchoredPanelController, createAutoScroller, createBracket, createBracketBase, createCardMask, createCurrencyMask, createDefaultDropzoneArgs, createDropzoneUpload, createExistingDropzoneEntry, createFileDropzoneEntry, createFixedLengthRangeStrategy, createGridAdapter, createIbanMask, createMatchesMapBase, createNewMatchParticipantBase, createNormalizedBracketMatch, createNotificationPromiseFn, createNotificationRef, createOverlayOpener, createOverlayRef, createOverlayStrategyController, createOverlayUnsavedChangesGuard, createParticipantsMapBase, createPipChromeAnimations, createPipChromeState, createRichTextEditorTrigger, createRichTextEditorTriggerWithQuery, createRoundsMapBase, createStreamConfig, createStreamPlayerSlot, createTableRowsSource, createTableStateStorage, createV2DropzoneUpload, createWeekRangeStrategy, defaultCompareWith, defaultDropzoneRejectionMessage, defineOverlay, defineQueryParamOverlay, deriveDurationFormatSpec, deserializeGridLayout, deserializeTableState, dialogOverlayStrategy, disposeDropzoneEntry, doubleEliminationBracketLayout, dropzoneFiles, enableDragToDismiss, extractFirstImageUrl, filterOverlayLabelsForLocale, filterOverlayPreviewFromQuery, filterRows, findCollision, findNextRelevantHtmlElement, findScrollableAncestor, formatDuration, formatFileSize, fromGridPosition, fullScreenDialogOverlayStrategy, generateBracketDataForEthlete, generateBracketRoundSwissGroupMaps, generateMatchPosition, generateMatchRelationPositions, generateMatchRelationsNew, generateRoundRelationsNew, generateRoundTypeFromEthleteRoundType, generateTournamentModeFormEthleteRounds, getAvailableSwissGroupsForRound, getClosestOverlay, getOriginCoordinatesAndDimensions, getSwissGroupColorType, hysteresisRound, iconRegistryKey, indexOfNode, injectAnchoredDialogStrategy, injectAnchoredDialogStrategyDefaults, 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, 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, leftSheetOverlayStrategy, legacyQueryErrorSource, mapLayoutToBreakpoint, matchCountryByDialCode, matchParticipantDisplayName, mergeOverlayBreakpointConfigs, mergeOverlayConfigs, mirroredDoubleEliminationBracketLayout, mirroredSingleEliminationBracketLayout, mountRichTextEditorImageStyles, mountRichTextEditorTableStyles, nodesEqual, normalizeEthleteBracketMatch, normalizeEthleteGroupRanking, normalizeEthleteMatch, normalizeEthleteMatchStatus, normalizeEthleteMedia, normalizeEthleteParticipant, normalizeEthletePlacement, normalizePictureSizes, normalizePictureSource, paginate, parseDuration, phoneCountryFlag, phoneCountryName, pixelRectsEqual, positionToPixelRect, positionsEqual, projectDragCell, provideAnchoredDialogStrategy, provideAnchoredDialogStrategyDefaults, provideBottomSheetStrategy, provideBottomSheetStrategyDefaults, provideBracketConfig, provideBracketLabels, provideBreadcrumbLabels, provideBreadcrumbManager, provideCalendarLabels, provideCarouselLabels, provideCascaderLabels, provideChipLabels, provideDateFormat, provideDateLocale, provideDateTimeLabels, provideDialogStrategy, provideDialogStrategyDefaults, provideDropzoneLabels, provideFilterOverlay, provideFilterOverlayLabels, provideFormErrorMessageResolver, provideFormFieldLabels, provideFormSupport, 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, provideRichTextEditorHeadingTool, provideRichTextEditorImageTool, provideRichTextEditorLabels, provideRichTextEditorLanguageTool, provideRichTextEditorLinkEditor, provideRichTextEditorTableTool, provideRichTextEditorTokenRendering, provideRichTextEditorTools, provideRightSheetStrategy, provideRightSheetStrategyDefaults, 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, richTextEditorToolLabel, rightSheetOverlayStrategy, rowsToPixelHeight, selectOptionsFromQuery, selectOptionsFromV2Query, serializeGridLayout, serializeTableState, 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, wireFormSupport, withPictureBaseUrl };
21756
- export type { AccordionHeadingLevel, AnchoredDialogOverlayStrategyOptions, AnchoredOverlayStrategyOptions, AnchoredPanelCloseInfo, AnchoredPanelOverlayRef, AnchoredPanelSurfaceLike, AnchoredPositionOptions, AnyDropzoneUploadConfig, AnyTableColumn, AutoPlaceOptions, AutoScrollPointer, AutoScroller, Bracket, BracketBase, BracketCardContext, BracketComponents, BracketConfig, BracketContinueComponent, BracketDataLayout, BracketDataSource, BracketDensity, BracketDrawEdgesContext, BracketLabels, BracketLayout, BracketLayoutConfig, BracketListSection, BracketMatch, BracketMatchBase, BracketMatchComponent, BracketMatchFactor, BracketMatchId, BracketMatchNormalizer, BracketMatchParticipant, BracketMatchParticipantBase, BracketMatchParticipantWithRelationsBase, BracketMatchPosition, BracketMatchRelation, BracketMatchRelationNothingToOne, BracketMatchRelationOneToNothing, BracketMatchRelationOneToOne, BracketMatchRelationTwoToNothing, BracketMatchRelationTwoToOne, BracketMatchShortId, BracketMatchSource, BracketMatchStatus, BracketMatchWithRelationsBase, BracketParticipant, BracketParticipantBase, BracketParticipantMatch, BracketParticipantWithRelationsBase, BracketRound, BracketRoundBase, BracketRoundHeaderComponent, BracketRoundId, BracketRoundMapWithSwissData, BracketRoundMirrorType, BracketRoundPosition, BracketRoundRelation, BracketRoundRelationNothingToOne, BracketRoundRelationOneToNothing, BracketRoundRelationOneToOne, BracketRoundRelationTwoToNothing, BracketRoundRelationTwoToOne, BracketRoundShortId, BracketRoundSource, BracketRoundSwissData, BracketRoundSwissGroup, BracketRoundSwissGroupId, BracketRoundSwissGroupMap, BracketRoundType, BracketRoundWithRelationsBase, BracketRoundsListBlock, BracketRoundsListSection, BracketSwissColors, BracketSwissGroupColorType, BreadcrumbCollapseAffordance, BreadcrumbCrumb, BreadcrumbLabels, BreadcrumbRenderItem, BreadcrumbSegment, ButtonIconAlignment, ButtonSize, CalendarBandPosition, CalendarCell, CalendarCellBase, CalendarDateClassFn, CalendarFixedLengthRangeStrategyOptions, CalendarHeaderContext, CalendarInterval, CalendarLabels, CalendarMode, CalendarMonthPage, CalendarNavigationDirection, CalendarPrecision, CalendarRange, CalendarRangeSelectionStrategy, CalendarSelectionFlags, CalendarView, CalendarWeekRangeStrategyOptions, CalendarWeekday, CarouselAutoplayPauseReason, CarouselLabels, CarouselResolvedTransitionDriver, CarouselSlideAlign, CarouselSlideContext, CarouselSlideTemplateRef, CarouselTransition, CarouselTransitionDriver, CascaderColumnState, CascaderCompareWith, CascaderDataSource, CascaderFromQueryConfig, CascaderFromQuerySearchConfig, CascaderLabels, CascaderNode, CascaderNodeSignal, CascaderSearchState, CascaderSelectableLevels, CascaderSurfaceContext, CenteredOverlayStrategyOptions, CheckboxOptionVariant, ChipLabels, ChoiceFieldVariant, ClampPositionOptions, CommonBracketRoundType, CompactLayoutOptions, ComponentInputValue, ComputedBracketGrid, CounterComponentBase, CreateAnchoredPanelControllerOptions, CreateBracketGridConfig, CreateExistingDropzoneEntryOptions, CreateFileDropzoneEntryOptions, CreateOverlayUnsavedChangesGuardConfig, CreateTableRowsSourceOptions, CurrencyMaskOptions, DatePickerHost, DatePickerSurfaceBase, DatePickerSurfaceContext, DatePickerTriggerBase, DateRangeSide, DateRangeValue, DateTimeLabels, Dimensions, DoubleEliminationBracketRoundType, DragDismissMomentum, DragToDismissContext, DragToDismissRef, DropzoneEntry, DropzoneEntrySource, DropzoneEntryStatus, DropzoneExistingFileInfo, DropzoneFileConstraints, DropzoneFileRejection, DropzoneFileRejectionReason, DropzoneFileValidationChannel, DropzoneLabels, DropzoneUploadConfig, DropzoneUploadError, DropzoneUploadHandle, DropzoneUploadHandleOptions, DropzoneUploadState, DurationFormatSpec, DurationSegment, DurationUnit, EtBuiltInIconName, EthleteIconNameRegistry, EthleteIconVariantRegistry, FacebookVideoPlayer, FacebookWindow, FilterOverlay, FilterOverlayConfig, FilterOverlayDraft, FilterOverlayLabels, FilterOverlayPreview, FilterOverlayResult, FilterOverlaySubmitButton, FilterOverlaySubmitState, FilterOverlayValueOf, FilterRowsConfig, FindCollisionOptions, FloatingActionState, FormErrorMessageResolver, FormFieldAppearance, FormFieldControl, FormFieldControlType, FormFieldDirectiveBase, FormFieldFill, FormFieldLabelMode, FormFieldLabels, FormFieldSize, FormSupport, FullscreenAnimationCancellable, FullscreenAnimationDeps, FullscreenAnimationState, GenerateBracketDataOptions, GridAdapter, GridBreakpointConfig, GridBreakpointName, GridComponentRegistration, GridConfig, GridGeometry, GridItemActionsComponent, GridItemConfig, GridItemConstraints, GridItemPosition, GridLabels, GridLayoutEntry, GridSerializedState, GroupBracketRoundType, HintComponentBase, IconDefinition, IconOverride, InputLabels, InputMaskHost, InputTextAlignment, LabelDirectiveBase, LegacyQueryErrorSource, LoaderLabels, MapLayoutOptions, MaskSpec, MaskValueMode, MasonryColumns, MasonryPacking, MasonryPlacement, MatchCardNameContext, MatchCardSize, MatchLabels, MatchParticipantDisplayNameOptions, MatchParticipantId, MatchParticipantShortId, MatchParticipantSide, MatchPositionMaps, 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, OtpInputCharset, OverlayAutoFocusTarget, OverlayBodyDividerType, OverlayBreakpointConfig, OverlayCloseGuard, OverlayConfig, OverlayDefinition, OverlayDefinitionConfig, OverlayDragToDismissConfig, OverlayDragToDismissDirection, OverlayDragToDismissPhysicalDirection, OverlayLifecycleConfig, OverlayManager, OverlayMode, OverlayOpenConfig, OverlayOpener, OverlayOpenerConfig, OverlayRef, OverlayRole, OverlayRoute, OverlayRouter, OverlayRouterConfig, OverlayRouterNavigateConfig, OverlayRouterNavigationDirection, 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, QueryErrorLabels, QueryErrorRetryTarget, QueryErrorSlotContext, QueryErrorView, QueryParamOverlayDefinition, QueryParamOverlayDefinitionConfig, QueryParamOverlayHost, QueryParamOverlayOpener, QueryParamOverlayValue, RadioVariant, RangeSliderValue, RatingIconContext, RatingIconState, ReconcilableColumn, ReduceSupportPresentationInput, RegisteredIconName, RegisteredIconVariant, RequiredLanguagesOptions, ResizeSpanBounds, ResolveClosestOverlayOptions, ResolveCollisionsOptions, ResolvedDropzoneUploadConfig, ResolvedScrollableChrome, RichTextEditorImageFailure, RichTextEditorImageFailureReason, RichTextEditorImageToolConfig, RichTextEditorImageUpload, RichTextEditorImageUploadFn, RichTextEditorImageUploadRun, RichTextEditorLabels, RichTextEditorLinkEditorSetup, RichTextEditorLinkEditorValue, RichTextEditorQueryTriggerConfig, RichTextEditorTool, RichTextEditorToolButton, RichTextEditorToolDefinition, RichTextEditorToolsConfig, RichTextEditorTrigger, RichTextEditorTriggerItem, RichTextEditorTriggerItemResolver, RichTextEditorTriggerItemSource, RichTextEditorTriggerType, RowFloors, 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, 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, SupportTransitionDirection, SwissBracketLayoutOptions, SwissBracketRoundType, TabBarFit, TabBarOrientation, TabBarVariant, TabSize, TableCellContext, TableCellEditCommit, TableCellEditContext, TableCellEditTarget, TableCellEditing, TableCellErrorMark, TableCellErrorTooltipConfig, TableCellNavigation, TableCellSkeletonContext, TableCellState, TableCellStateValue, TableColumn, TableColumnAlign, TableColumnDef, TableColumnMenuConfig, TableColumnMeta, TableColumnState, TableColumnTemplate, TableColumnVisibilityHost, TableColumns, TableCsvExportConfig, TableCsvExportFile, TableCsvExportOptions, TableCsvRowsFromPagesOptions, TableCsvRowsProvider, TableCsvSerializeOptions, TableCsvSource, TableCsvValue, TableEmptyContext, TableErrorContext, TableExpandedRowContext, TableFeatureConfig, TableFeatureHost, TableFilter, TableFilterOption, TableFilterOptionContext, TableFilterOptionsProvider, TableFilterSelection, TableFiltersConfig, TableFooterContext, TableHeaderAdornment, TableHeaderContext, TableHeaderGroup, TableInlineEditConfig, TableKeyboardNavConfig, TableLabels, TableLabelsSource, TableLayer, TableLeadCellComponent, TableLeadColumn, TableReorderConfig, TableResizeConfig, TableRowKey, TableRowWindow, TableRowsDriver, TableRowsFromQuery, TableRowsFromQueryConfig, TableRowsFromV2QueryConfig, TableRowsQueryState, TableRowsSource, TableSelectionConfig, TableSort, TableSortDirection, TableSortValue, TableState, TableStatePersistenceConfig, TableStateSlice, TableStateStorage, TableStateStorageKind, TableStateStorageOptions, TableTemplateSlot, TableVirtualScrollConfig, TextAlign, TextareaResizeMode, TimePickerColumn, TimePickerLabels, TimePickerOption, TimePickerUnit, ToggletipContent, TooltipContent, TournamentMode, TwitchEmbed, TwitchEmbedConstructor, TwitchEmbedPlayer, TwitchPlayerParams, TwitchWindow, V2DropzonePrepareArgsOf, V2DropzoneUploadConfig, V2PrepareArgsOf, ViewportTransformData, VimeoDurationChangeEvent, VimeoPlaybackEvent, VimeoPlayer, VimeoPlayerOptions, VimeoWindow, WindowControlButtonKind, WindowControlButtonSize, YtPlayer, YtPlayerConfig, YtPlayerErrorEvent, YtPlayerEvent, YtPlayerStateChangeEvent, YtPlayerVars, YtWindow };
23034
+ 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, AccordionComponent, AccordionContentDirective, AccordionDirective, AccordionGroupComponent, AccordionGroupDirective, AccordionHintDirective, AccordionLabelDirective, AccordionPanelDirective, AccordionTriggerDirective, 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, BracketComponent, BracketDefaultContinueComponent, BracketDefaultFinalMatchComponent, BracketDefaultMatchComponent, BracketDefaultRoundHeaderComponent, BracketMap, BracketRoundsListComponent, BrandLoaderComponent, BreadcrumbCollapseDirective, BreadcrumbComponent, BreadcrumbDirective, BreadcrumbItemDirective, BreadcrumbItemTemplateDirective, BreadcrumbOutletComponent, BreadcrumbOverflowComponent, BreadcrumbSegmentDirective, BreadcrumbSeoDirective, BreadcrumbSeparatorDirective, ButtonComponent, ButtonDirective, ButtonStylesDirective, CALENDAR_ERROR_CODES, CALENDAR_ICON, CALENDAR_IMPORTS, CALENDAR_LABELS, 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, CalendarCellDirective, CalendarComponent, CalendarDirective, CalendarGridDirective, CalendarHeaderDirective, 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, 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, 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_SELECT_LABELS, DEFAULT_SLIDER_LABELS, DEFAULT_STANDINGS_LABELS, DEFAULT_STREAM_LABELS, DEFAULT_STREAM_PLAYER_STATE, DEFAULT_TABLE_LABELS, DEFAULT_TIME_PICKER_LABELS, DESCRIPTION_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, DescriptionComponent, DropzoneComponent, DropzoneDirective, DurationInputComponent, DurationInputDirective, DurationInputFieldDirective, ELLIPSIS_ICON, ELLIPSIS_VERTICAL_ICON, ET_BUILT_IN_ICON_NAMES, EYE_ICON, EYE_SLASH_ICON, FACEBOOK_PLAYER_TOKEN, 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, FabComponent, FacebookPlayerComponent, FacebookPlayerDirective, FacebookPlayerParamsDirective, FacebookPlayerSlotComponent, FilterOverlayResetDirective, FilterOverlaySubmitDirective, FloatingActionAnchorDirective, FloatingActionDirective, FloatingActionScopeDirective, FloatingActionTopDirective, FloatingActionTriggerDirective, FocusRingDirective, FormErrorComponent, FormFieldComponent, FormFieldDirective, 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, 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, KICK_PLAYER_TOKEN, KickPlayerComponent, KickPlayerDirective, KickPlayerParamsDirective, KickPlayerSlotComponent, LINK_ICON, LIST_BULLETED_ICON, LIST_NUMBERED_ICON, LOADER_LABELS, 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_STATUS, NUMBER_INPUT_IMPORTS, NavTabLinkComponent, NavTabLinkDirective, 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, 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, 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, QUERY_DEVTOOLS_IMPORTS, QUERY_ERROR_ERROR_CODES, QUERY_ERROR_IMPORTS, QUERY_ERROR_LABELS, QUERY_ERROR_TOKEN, QUOTE_ICON, QueryDevtoolsComponent, QueryDevtoolsJsonComponent, QueryDevtoolsJsonStylesComponent, QueryDevtoolsTimelineStylesComponent, QueryDevtoolsToggleComponent, 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, SCROLLABLE_DARKEN_IMPORTS, SCROLLABLE_DRAG_IMPORTS, SCROLLABLE_ERROR_CODES, SCROLLABLE_IMPORTS, SCROLLABLE_NAVIGATION_IMPORTS, SEGMENTED_BUTTON_GROUP_VARIANTS, SEGMENTED_BUTTON_IMPORTS, 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_ADVANCE_WINS, SWISS_BRACKET_ROUND_TYPE, SWISS_ELIMINATE_LOSSES, SWITCH_IMPORTS, 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_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_REORDER_IMPORTS, TABLE_RESIZE_IMPORTS, TABLE_ROW_EXPANSION_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, TIMES_ICON, TIME_FORMAT, TIME_INPUT_ERROR_CODES, TIME_INPUT_IMPORTS, TIME_PICKER_ERROR_CODES, TIME_PICKER_IMPORTS, TIME_PICKER_LABELS, TOGGLETIP_ERROR_CODES, TOGGLETIP_IMPORTS, TOOLTIP_ERROR_CODES, TOOLTIP_IMPORTS, TOURNAMENT_MODE, 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, TableExpanderCellComponent, TableFilterOptionDirective, TableFilterTriggerComponent, TableFiltersDirective, TableFooterCellDirective, TableFooterDirective, TableGroupHeaderRowComponent, TableGroupHeadersDirective, TableHeaderCellDirective, TableInlineEditDirective, TableInlineEditStylesComponent, TableKeyboardNavDirective, TableReorderDirective, TableReorderOverlayComponent, TableResizeDirective, TableResizeGripComponent, TableRowDetailComponent, TableRowExpansionDirective, 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, ToggletipCloseDirective, ToggletipComponent, ToggletipDirective, ToggletipTriggerDirective, TooltipComponent, TooltipDirective, TwitchPlayerComponent, TwitchPlayerDirective, TwitchPlayerParamsDirective, TwitchPlayerSlotComponent, UNDERLINE_ICON, UNDO_ICON, UNIT_MS, UPLOAD_ICON, VIMEO_PLAYER_TOKEN, VimeoPlayerComponent, VimeoPlayerDirective, VimeoPlayerParamsDirective, VimeoPlayerSlotComponent, 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, compactLayout, computeGeometry, computeGridHeight, createAnchoredPanelController, createAutoScroller, createBracket, createBracketBase, createCardMask, createCurrencyMask, createDefaultDropzoneArgs, createDropzoneUpload, createExistingDropzoneEntry, createFileDropzoneEntry, createFixedLengthRangeStrategy, createGridAdapter, createIbanMask, createMatchesMapBase, createNewMatchParticipantBase, createNormalizedBracketMatch, createNotificationPromiseFn, createNotificationRef, createOverlayOpener, createOverlayRef, createOverlayStrategyController, createOverlayUnsavedChangesGuard, createParticipantsMapBase, createPipChromeAnimations, createPipChromeState, createRichTextEditorTrigger, createRichTextEditorTriggerWithQuery, createRoundsMapBase, createStreamConfig, createStreamPlayerSlot, createTableRowsSource, createTableStateStorage, createV2DropzoneUpload, createWeekRangeStrategy, defaultCompareWith, defaultDropzoneRejectionMessage, defineOverlay, defineQueryParamOverlay, deriveDurationFormatSpec, deserializeGridLayout, deserializeTableState, dialogOverlayStrategy, disposeDropzoneEntry, doubleEliminationBracketLayout, dropzoneFiles, enableDragToDismiss, extractFirstImageUrl, filterOverlayLabelsForLocale, filterOverlayPreviewFromQuery, filterRows, findCollision, findNextRelevantHtmlElement, findScrollableAncestor, formatDuration, formatFileSize, fromGridPosition, fullScreenDialogOverlayStrategy, generateBracketDataForEthlete, generateBracketRoundSwissGroupMaps, generateMatchPosition, generateMatchRelationPositions, generateMatchRelationsNew, generateRoundRelationsNew, generateRoundTypeFromEthleteRoundType, generateTournamentModeFormEthleteRounds, getAvailableSwissGroupsForRound, getClosestOverlay, getOriginCoordinatesAndDimensions, getSwissGroupColorType, hysteresisRound, iconRegistryKey, indexOfNode, injectAnchoredDialogStrategy, injectAnchoredDialogStrategyDefaults, 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, 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, leftSheetOverlayStrategy, legacyQueryErrorSource, mapLayoutToBreakpoint, matchCountryByDialCode, matchParticipantDisplayName, mergeOverlayBreakpointConfigs, mergeOverlayConfigs, mirroredDoubleEliminationBracketLayout, mirroredSingleEliminationBracketLayout, mountRichTextEditorImageStyles, mountRichTextEditorTableStyles, nodesEqual, normalizeEthleteBracketMatch, normalizeEthleteGroupRanking, normalizeEthleteMatch, normalizeEthleteMatchStatus, normalizeEthleteMedia, normalizeEthleteParticipant, normalizeEthletePlacement, normalizePictureSizes, normalizePictureSource, paginate, parseDuration, phoneCountryFlag, phoneCountryName, pixelRectsEqual, positionToPixelRect, positionsEqual, projectDragCell, provideAnchoredDialogStrategy, provideAnchoredDialogStrategyDefaults, provideBottomSheetStrategy, provideBottomSheetStrategyDefaults, provideBracketConfig, provideBracketLabels, provideBreadcrumbLabels, provideBreadcrumbManager, provideCalendarLabels, provideCarouselLabels, provideCascaderLabels, provideChipLabels, provideDateFormat, provideDateLocale, provideDateTimeLabels, provideDialogStrategy, provideDialogStrategyDefaults, provideDropzoneLabels, provideFilterOverlay, provideFilterOverlayLabels, provideFormErrorMessageResolver, provideFormFieldLabels, provideFormSupport, 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, 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, richTextEditorToolLabel, rightSheetOverlayStrategy, rowsToPixelHeight, 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, wireFormSupport, withPictureBaseUrl };
23035
+ export type { AccordionHeadingLevel, AnchoredDialogOverlayStrategyOptions, AnchoredOverlayStrategyOptions, AnchoredPanelCloseInfo, AnchoredPanelOverlayRef, AnchoredPanelSurfaceLike, AnchoredPositionOptions, AnyDropzoneUploadConfig, AnyTableColumn, AutoPlaceOptions, AutoScrollPointer, AutoScroller, Bracket, BracketBase, BracketCardContext, BracketComponents, BracketConfig, BracketContinueComponent, BracketDataLayout, BracketDataSource, BracketDensity, BracketDrawEdgesContext, BracketLabels, BracketLayout, BracketLayoutConfig, BracketListSection, BracketMatch, BracketMatchBase, BracketMatchComponent, BracketMatchFactor, BracketMatchId, BracketMatchNormalizer, BracketMatchParticipant, BracketMatchParticipantBase, BracketMatchParticipantWithRelationsBase, BracketMatchPosition, BracketMatchRelation, BracketMatchRelationNothingToOne, BracketMatchRelationOneToNothing, BracketMatchRelationOneToOne, BracketMatchRelationTwoToNothing, BracketMatchRelationTwoToOne, BracketMatchShortId, BracketMatchSource, BracketMatchStatus, BracketMatchWithRelationsBase, BracketParticipant, BracketParticipantBase, BracketParticipantMatch, BracketParticipantWithRelationsBase, BracketRound, BracketRoundBase, BracketRoundHeaderComponent, BracketRoundId, BracketRoundMapWithSwissData, BracketRoundMirrorType, BracketRoundPosition, BracketRoundRelation, BracketRoundRelationNothingToOne, BracketRoundRelationOneToNothing, BracketRoundRelationOneToOne, BracketRoundRelationTwoToNothing, BracketRoundRelationTwoToOne, BracketRoundShortId, BracketRoundSource, BracketRoundSwissData, BracketRoundSwissGroup, BracketRoundSwissGroupId, BracketRoundSwissGroupMap, BracketRoundType, BracketRoundWithRelationsBase, BracketRoundsListBlock, BracketRoundsListSection, BracketSwissColors, BracketSwissGroupColorType, BreadcrumbCollapseAffordance, BreadcrumbCrumb, BreadcrumbLabels, BreadcrumbRenderItem, BreadcrumbSegment, ButtonIconAlignment, ButtonSize, CalendarBandPosition, CalendarCell, CalendarCellBase, CalendarDateClassFn, CalendarFixedLengthRangeStrategyOptions, CalendarHeaderContext, CalendarInterval, CalendarLabels, CalendarMode, CalendarMonthPage, CalendarNavigationDirection, CalendarPrecision, CalendarRange, CalendarRangeSelectionStrategy, CalendarSelectionFlags, CalendarView, CalendarWeekRangeStrategyOptions, CalendarWeekday, CarouselAutoplayPauseReason, CarouselLabels, CarouselResolvedTransitionDriver, CarouselSlideAlign, CarouselSlideContext, CarouselSlideTemplateRef, CarouselTransition, CarouselTransitionDriver, CascaderColumnState, CascaderCompareWith, CascaderDataSource, CascaderFromQueryConfig, CascaderFromQuerySearchConfig, CascaderLabels, CascaderNode, CascaderNodeSignal, CascaderSearchState, CascaderSelectableLevels, CascaderSurfaceContext, CenteredOverlayStrategyOptions, CheckboxOptionVariant, ChipLabels, ChoiceFieldVariant, ClampPositionOptions, CommonBracketRoundType, CompactLayoutOptions, ComponentInputValue, ComputedBracketGrid, CounterComponentBase, CreateAnchoredPanelControllerOptions, CreateBracketGridConfig, CreateExistingDropzoneEntryOptions, CreateFileDropzoneEntryOptions, CreateOverlayUnsavedChangesGuardConfig, CreateTableRowsSourceOptions, CurrencyMaskOptions, DatePickerHost, DatePickerSurfaceBase, DatePickerSurfaceContext, DatePickerTriggerBase, DateRangeSide, DateRangeValue, DateTimeLabels, Dimensions, DoubleEliminationBracketRoundType, DragDismissMomentum, DragToDismissContext, DragToDismissRef, DropzoneEntry, DropzoneEntrySource, DropzoneEntryStatus, DropzoneExistingFileInfo, DropzoneFileConstraints, DropzoneFileRejection, DropzoneFileRejectionReason, DropzoneFileValidationChannel, DropzoneLabels, DropzoneUploadConfig, DropzoneUploadError, DropzoneUploadHandle, DropzoneUploadHandleOptions, DropzoneUploadState, DurationFormatSpec, DurationSegment, DurationUnit, EtBuiltInIconName, EthleteIconNameRegistry, EthleteIconVariantRegistry, FacebookVideoPlayer, FacebookWindow, FilterOverlay, FilterOverlayConfig, FilterOverlayDraft, FilterOverlayLabels, FilterOverlayPreview, FilterOverlayResult, FilterOverlaySubmitButton, FilterOverlaySubmitState, FilterOverlayValueOf, FilterRowsConfig, FindCollisionOptions, FloatingActionState, FormErrorMessageResolver, FormFieldAppearance, FormFieldControl, FormFieldControlType, FormFieldDirectiveBase, FormFieldFill, FormFieldLabelMode, FormFieldLabels, FormFieldSize, FormSupport, FullscreenAnimationCancellable, FullscreenAnimationDeps, FullscreenAnimationState, GenerateBracketDataOptions, GridAdapter, GridBreakpointConfig, GridBreakpointName, GridComponentRegistration, GridConfig, GridGeometry, GridItemActionsComponent, GridItemConfig, GridItemConstraints, GridItemPosition, GridLabels, GridLayoutEntry, GridSerializedState, GroupBracketRoundType, HintComponentBase, IconDefinition, IconOverride, InputLabels, InputMaskHost, InputTextAlignment, LabelDirectiveBase, LegacyQueryErrorSource, LoaderLabels, MapLayoutOptions, MaskSpec, MaskValueMode, MasonryColumns, MasonryPacking, MasonryPlacement, MatchCardNameContext, MatchCardSize, MatchLabels, MatchParticipantDisplayNameOptions, MatchParticipantId, MatchParticipantShortId, MatchParticipantSide, MatchPositionMaps, 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, OtpInputCharset, OverlayAutoFocusTarget, OverlayBodyDividerType, OverlayBreakpointConfig, OverlayCloseGuard, OverlayConfig, OverlayDefinition, OverlayDefinitionConfig, OverlayDragToDismissConfig, OverlayDragToDismissDirection, OverlayDragToDismissPhysicalDirection, OverlayLifecycleConfig, OverlayManager, OverlayMode, OverlayOpenConfig, OverlayOpener, OverlayOpenerConfig, OverlayRef, OverlayRole, OverlayRoute, OverlayRouter, OverlayRouterConfig, OverlayRouterNavigateConfig, OverlayRouterNavigationDirection, 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, QueryErrorLabels, QueryErrorRetryTarget, QueryErrorSlotContext, QueryErrorView, QueryParamOverlayDefinition, QueryParamOverlayDefinitionConfig, QueryParamOverlayHost, QueryParamOverlayOpener, QueryParamOverlayValue, RadioVariant, RangeSliderValue, RatingIconContext, RatingIconState, ReconcilableColumn, ReduceSupportPresentationInput, RegisteredIconName, RegisteredIconVariant, RequiredLanguagesOptions, ResizeSpanBounds, ResolveClosestOverlayOptions, ResolveCollisionsOptions, ResolvedDropzoneUploadConfig, ResolvedScrollableChrome, RichTextEditorFloatingToolbarSetup, RichTextEditorImageFailure, RichTextEditorImageFailureReason, RichTextEditorImageToolConfig, RichTextEditorImageUpload, RichTextEditorImageUploadFn, RichTextEditorImageUploadRun, RichTextEditorLabels, RichTextEditorLinkEditorSetup, RichTextEditorLinkEditorValue, RichTextEditorQueryTriggerConfig, RichTextEditorTool, RichTextEditorToolButton, RichTextEditorToolDefinition, RichTextEditorToolsConfig, RichTextEditorTrigger, RichTextEditorTriggerItem, RichTextEditorTriggerItemResolver, RichTextEditorTriggerItemSource, RichTextEditorTriggerType, RowFloors, 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, 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, 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, TableColumnState, TableColumnTemplate, TableColumnVisibilityHost, TableColumns, TableCsvExportConfig, TableCsvExportFile, TableCsvExportOptions, TableCsvRowsFromPagesOptions, TableCsvRowsProvider, TableCsvSerializeOptions, TableCsvSource, TableCsvValue, TableEmptyContext, TableErrorContext, TableExpandedRowContext, TableFeatureConfig, TableFeatureHost, TableFilter, TableFilterOption, TableFilterOptionContext, TableFilterOptionsProvider, TableFilterSelection, TableFiltersConfig, TableFooterContext, TableGroupHeadersConfig, TableHeaderAdornment, TableHeaderContext, TableHeaderGroup, TableHeaderRow, TableInlineEditConfig, TableKeyboardNavConfig, TableLabels, TableLabelsSource, TableLayer, TableLeadCellComponent, TableLeadColumn, TableReorderConfig, TableResizeConfig, TableRowDetail, TableRowExpansionConfig, TableRowKey, TableRowWindow, TableRowsDriver, TableRowsFromQuery, TableRowsFromQueryConfig, TableRowsFromV2QueryConfig, TableRowsQueryState, TableRowsSource, TableSelectionConfig, TableSkeletonConfig, TableSort, TableSortDirection, TableSortValue, TableState, TableStatePersistenceConfig, TableStateSlice, TableStateStorage, TableStateStorageKind, TableStateStorageOptions, TableStickyColumnsConfig, TableTemplateSlot, TableVirtualScrollConfig, TextAlign, TextareaResizeMode, TimePickerColumn, TimePickerLabels, TimePickerOption, TimePickerUnit, ToggletipContent, TooltipContent, TournamentMode, TwitchEmbed, TwitchEmbedConstructor, TwitchEmbedPlayer, TwitchPlayerParams, TwitchWindow, V2DropzonePrepareArgsOf, V2DropzoneUploadConfig, V2PrepareArgsOf, ViewportTransformData, VimeoDurationChangeEvent, VimeoPlaybackEvent, VimeoPlayer, VimeoPlayerOptions, VimeoWindow, WindowControlButtonKind, WindowControlButtonSize, YtPlayer, YtPlayerConfig, YtPlayerErrorEvent, YtPlayerEvent, YtPlayerStateChangeEvent, YtPlayerVars, YtWindow };