@ethlete/components 1.0.0-next.42 → 1.0.0-next.44

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.
@@ -2,14 +2,13 @@ import * as _angular_core from '@angular/core';
2
2
  import { TemplateRef, ElementRef, InjectionToken, Signal, Type, InputSignal, WritableSignal, Injector, Provider, ViewContainerRef, Binding, StaticProvider, OnInit, ComponentRef, ModelSignal, OnDestroy, computed, EnvironmentInjector, ApplicationRef } from '@angular/core';
3
3
  import * as _ethlete_components from '@ethlete/components';
4
4
  import * as _ethlete_core from '@ethlete/core';
5
- import { ColorTheme, JsonLD, ScrollObserverDirective, ScrollToElementOptions, AnimatableDirective, OverlayRuntimeCloseSource, OverlayRuntimeCloseGuard, OverlayRuntimePositionStrategy, OverlayRuntimeCloseEvent, OverlayRuntimeRef, Breakpoint, AnimatedLifecycleDirective, AnimatedSizeAxis, ObjectUrlHandle, ResizeEdge, DragHandleDirective, ResizeMoveEvent, CreateUnsavedChangesTrackerConfig, UnsavedChangesTrackerRef, AnimatedLifecycleState, OverlayRuntimeShiftOptions, AngularRenderer, OverlayRuntimeAnimationDelegate, DragMoveEvent, ConsentHandler, LabelsSource, ProvideColorDirective } from '@ethlete/core';
5
+ import { ColorTheme, JsonLD, ColorThemeInput, ScrollObserverDirective, ScrollToElementOptions, AnimatableDirective, OverlayRuntimeCloseSource, OverlayRuntimeCloseGuard, OverlayRuntimePositionStrategy, OverlayRuntimeCloseEvent, OverlayRuntimeRef, Breakpoint, AnimatedLifecycleDirective, AnimatedSizeAxis, ObjectUrlHandle, ResizeEdge, DragHandleDirective, ResizeMoveEvent, CreateUnsavedChangesTrackerConfig, UnsavedChangesTrackerRef, AnimatedLifecycleState, OverlayRuntimeShiftOptions, AngularRenderer, OverlayRuntimeAnimationDelegate, ConsentHandler, LabelsSource, DragMoveEvent, ProvideColorDirective } from '@ethlete/core';
6
6
  import { MatchListViewUnion, MatchStatus, MediaView, ParticipantViewUnion, RoundStageStructureWithMatchesView, RoundStageStructureView, RoundType, GroupRankingView, PlacementView } from '@ethlete/types';
7
7
  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
- import { FieldTree, ValidationError, FormValueControl, FormCheckboxControl, validate, PathKind, SchemaPath, SchemaPathRules } from '@angular/forms/signals';
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, JsonPath, QueryDevtoolsOverridesRecorder, QueryRefreshCause, QueryRepositoryEntryDestroyedCause, Query, QueryRepositoryCacheEntry, HttpRequestRetryState, HttpRequestLoadingProgressState, QueryDevtoolsStats, QueryDevtoolsStatsHandle, QueryDevtoolsEntry, QueryRepository, QueryClient, QueryKeyLockState, QueryDevtoolsFeature, QueryDevtoolsFault, AnyQueryStack, AnyPagedQueryStack, QuerySequence, AnyBearerAuthProvider, WebSocketDevtoolsHandle, QueryDevtoolsFormHandle, QuerySequenceStatus, AnyQuerySnapshot, QueryDevtoolsRun, QueryDevtoolsRunError, WebSocketDevtoolsMessage, QueryDevtoolsStorageScope, AnyV2Query, AnyLegacyQuery, AnyQueryCollection } from '@ethlete/query';
10
+ import { FieldTree, PathKind, SchemaPath, SchemaPathRules, LogicFn, ValidationError, FormValueControl, FormCheckboxControl, validate } from '@angular/forms/signals';
11
+ import { QueryFormFields, QueryFormSignals, QueryFormModel, AnyQueryCreator, RequestArgs, QueryArgsOf, ResponseType, QueryErrorResponse, RequestError, QueryArgs, QueryCreator, AnyV2QueryCreator, AnyLegacyQueryCreator, QueryDataOf, ReadonlyQuery, AnyV2Query, AnyLegacyQuery, AnyQueryCollection } from '@ethlete/query';
13
12
  import * as rxjs from 'rxjs';
14
13
  import { Observable } from 'rxjs';
15
14
  import { Placement, OffsetOptions, Padding } from '@floating-ui/dom';
@@ -335,10 +334,14 @@ type AvatarShape = (typeof AVATAR_SHAPES)[keyof typeof AVATAR_SHAPES];
335
334
  * A user/entity representation: an image, falling back to initials derived from `name`, falling back
336
335
  * to projected content (e.g. an icon) when neither is set. A failed image load falls back the same way.
337
336
  *
337
+ * Also an attribute selector, so an avatar that has to be a link or a button is written as one -
338
+ * `routerLink`, `href` and click handlers stay on the consumer's own element.
339
+ *
338
340
  * @example
339
341
  * <et-avatar src="/jane.jpg" name="Jane Doe" />
340
342
  * <et-avatar name="Jane Doe" color="brand" />
341
343
  * <et-avatar><et-icon [definition]="USER_ICON" /></et-avatar>
344
+ * <a [routerLink]="['/users', user.id]" [name]="user.name" et-avatar></a>
342
345
  */
343
346
  declare class AvatarComponent {
344
347
  src: _angular_core.InputSignal<string | null>;
@@ -350,24 +353,38 @@ declare class AvatarComponent {
350
353
  protected imageVisible: _angular_core.Signal<boolean>;
351
354
  protected markImageFailed(): void;
352
355
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AvatarComponent, never>;
353
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AvatarComponent, "et-avatar", never, { "src": { "alias": "src"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof _ethlete_core.ProvideColorDirective; inputs: { "etProvideColor": "color"; }; outputs: {}; }]>;
356
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AvatarComponent, "et-avatar, [et-avatar]", never, { "src": { "alias": "src"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "shape": { "alias": "shape"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof _ethlete_core.ProvideColorDirective; inputs: { "etProvideColor": "color"; }; outputs: {}; }]>;
354
357
  }
355
358
 
356
359
  /**
357
360
  * Overlaps a row of `et-avatar`s into a stack, each one ringed so it reads apart from its neighbor.
358
- * Project the avatars you want shown, in order - including any "+N" overflow indicator, itself just
359
- * another `et-avatar` with initials text.
361
+ * Project the avatars you want shown, in order.
362
+ *
363
+ * Past `maxVisible` the group hides the rest and appends a `+N` avatar of its own, matching the first
364
+ * projected avatar's size and shape. Without it every projected avatar is shown, and a "+N" you
365
+ * project yourself is just another avatar.
360
366
  *
361
367
  * @example
362
- * <et-avatar-group>
363
- * <et-avatar name="Jane Doe" />
364
- * <et-avatar name="John Smith" />
365
- * <et-avatar>+5</et-avatar>
368
+ * <et-avatar-group [maxVisible]="3">
369
+ * @for (member of members(); track member.id) {
370
+ * <et-avatar [name]="member.name" [src]="member.avatarUrl" />
371
+ * }
366
372
  * </et-avatar-group>
367
373
  */
368
374
  declare class AvatarGroupComponent {
375
+ /**
376
+ * How many of the projected avatars to show. The rest are hidden and counted into a trailing `+N`
377
+ * avatar. Unset shows all of them.
378
+ */
379
+ maxVisible: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
380
+ private projectedAvatars;
381
+ private projectedElements;
382
+ protected overflowCount: _angular_core.Signal<number>;
383
+ protected overflowSize: _angular_core.Signal<_ethlete_components.AvatarSize>;
384
+ protected overflowShape: _angular_core.Signal<_ethlete_components.AvatarShape>;
385
+ constructor();
369
386
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AvatarGroupComponent, never>;
370
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<AvatarGroupComponent, "et-avatar-group", never, {}, {}, never, ["*"], true, never>;
387
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AvatarGroupComponent, "et-avatar-group", never, { "maxVisible": { "alias": "maxVisible"; "required": false; "isSignal": true; }; }, {}, ["projectedAvatars", "projectedElements"], ["*"], true, never>;
371
388
  }
372
389
 
373
390
  declare const AVATAR_IMPORTS: readonly [typeof AvatarComponent, typeof AvatarGroupComponent];
@@ -3061,6 +3078,32 @@ declare class ButtonStylesDirective {
3061
3078
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ButtonStylesDirective, "[etButtonStyles]", never, {}, {}, never, never, true, never>;
3062
3079
  }
3063
3080
 
3081
+ declare const INHERIT_COLOR = "inherit";
3082
+ /**
3083
+ * A color theme name (or theme object), `surface` for the ambient surface's neutral swatch, or
3084
+ * `inherit` for whatever color theme surrounds the button.
3085
+ */
3086
+ type ButtonColor = ColorThemeInput | typeof INHERIT_COLOR;
3087
+ declare class ButtonColorDirective {
3088
+ private provideColor;
3089
+ private buttonDir;
3090
+ /**
3091
+ * The color theme the button renders in. Defaults to the surrounding one; pass `surface` to take
3092
+ * the neutral colors of the surface the button sits on, so a secondary action reads as chrome
3093
+ * without a neutral color theme being registered.
3094
+ */
3095
+ color: _angular_core.InputSignal<ButtonColor | undefined>;
3096
+ /**
3097
+ * The color theme to swap to while the button is `pressed` - `inherit` for a toggle that stays
3098
+ * neutral until it is active and then picks up the surrounding theme. Defaults to `color`, so a
3099
+ * pressed button keeps its resting theme and only its variant changes.
3100
+ */
3101
+ pressedColor: _angular_core.InputSignal<ButtonColor | undefined>;
3102
+ constructor();
3103
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonColorDirective, never>;
3104
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ButtonColorDirective, "[etButtonColor]", never, { "color": { "alias": "color"; "required": false; "isSignal": true; }; "pressedColor": { "alias": "pressedColor"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _ethlete_core.ProvideColorDirective; inputs: {}; outputs: {}; }]>;
3105
+ }
3106
+
3064
3107
  declare const BUTTON_TYPES: {
3065
3108
  readonly BUTTON: "button";
3066
3109
  readonly SUBMIT: "submit";
@@ -3074,12 +3117,11 @@ declare class ButtonDirective {
3074
3117
  type: _angular_core.InputSignal<ButtonType>;
3075
3118
  pressed: _angular_core.InputSignalWithTransform<boolean, unknown>;
3076
3119
  emitAriaPressed: _angular_core.InputSignalWithTransform<boolean, unknown>;
3077
- mutedUntilPressed: _angular_core.InputSignalWithTransform<boolean, unknown>;
3078
3120
  readonly IS_BUTTON: boolean;
3079
3121
  readonly IS_ANCHOR: boolean;
3080
3122
  isInactive: _angular_core.Signal<boolean>;
3081
3123
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonDirective, never>;
3082
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ButtonDirective, "[etButton]", ["etButton"], { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "pressed": { "alias": "pressed"; "required": false; "isSignal": true; }; "emitAriaPressed": { "alias": "emitAriaPressed"; "required": false; "isSignal": true; }; "mutedUntilPressed": { "alias": "mutedUntilPressed"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _ethlete_core.SurfaceInteractiveDirective; inputs: {}; outputs: {}; }]>;
3124
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ButtonDirective, "[etButton]", ["etButton"], { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "pressed": { "alias": "pressed"; "required": false; "isSignal": true; }; "emitAriaPressed": { "alias": "emitAriaPressed"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _ethlete_core.SurfaceInteractiveDirective; inputs: {}; outputs: {}; }]>;
3083
3125
  }
3084
3126
 
3085
3127
  declare class SplitButtonActionDirective {
@@ -3158,7 +3200,7 @@ declare class ButtonComponent {
3158
3200
  }>;
3159
3201
  pressedVariant: _angular_core.Signal<string | null>;
3160
3202
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ButtonComponent, never>;
3161
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "[et-button]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "iconAlignment": { "alias": "iconAlignment"; "required": false; "isSignal": true; }; }, {}, never, ["*", "[etIcon]"], true, [{ directive: typeof ButtonDirective; inputs: { "disabled": "disabled"; "loading": "loading"; "type": "type"; "pressed": "pressed"; "mutedUntilPressed": "mutedUntilPressed"; }; outputs: {}; }, { directive: typeof ButtonStylesDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.ColorInteractiveDirective; inputs: {}; outputs: {}; }, { directive: typeof FocusRingDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.ProvideColorDirective; inputs: { "etProvideColor": "color"; }; outputs: {}; }]>;
3203
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ButtonComponent, "[et-button]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "iconAlignment": { "alias": "iconAlignment"; "required": false; "isSignal": true; }; }, {}, never, ["*", "[etIcon]"], true, [{ directive: typeof ButtonDirective; inputs: { "disabled": "disabled"; "loading": "loading"; "type": "type"; "pressed": "pressed"; }; outputs: {}; }, { directive: typeof ButtonStylesDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.ColorInteractiveDirective; inputs: {}; outputs: {}; }, { directive: typeof FocusRingDirective; inputs: {}; outputs: {}; }, { directive: typeof ButtonColorDirective; inputs: { "color": "color"; "pressedColor": "pressedColor"; }; outputs: {}; }]>;
3162
3204
  }
3163
3205
 
3164
3206
  type FabVariant = (typeof BUTTON_VARIANTS)[keyof typeof BUTTON_VARIANTS];
@@ -3194,7 +3236,7 @@ declare class IconButtonComponent {
3194
3236
  }>;
3195
3237
  pressedVariant: _angular_core.Signal<string | null>;
3196
3238
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<IconButtonComponent, never>;
3197
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<IconButtonComponent, "[et-icon-button]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, ["[etIcon]"], true, [{ directive: typeof ButtonDirective; inputs: { "disabled": "disabled"; "loading": "loading"; "type": "type"; "pressed": "pressed"; "mutedUntilPressed": "mutedUntilPressed"; "emitAriaPressed": "emitAriaPressed"; }; outputs: {}; }, { directive: typeof ButtonStylesDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.ColorInteractiveDirective; inputs: {}; outputs: {}; }, { directive: typeof FocusRingDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.ProvideColorDirective; inputs: { "etProvideColor": "color"; }; outputs: {}; }]>;
3239
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<IconButtonComponent, "[et-icon-button]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, ["[etIcon]"], true, [{ directive: typeof ButtonDirective; inputs: { "disabled": "disabled"; "loading": "loading"; "type": "type"; "pressed": "pressed"; "emitAriaPressed": "emitAriaPressed"; }; outputs: {}; }, { directive: typeof ButtonStylesDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.ColorInteractiveDirective; inputs: {}; outputs: {}; }, { directive: typeof FocusRingDirective; inputs: {}; outputs: {}; }, { directive: typeof ButtonColorDirective; inputs: { "color": "color"; "pressedColor": "pressedColor"; }; outputs: {}; }]>;
3198
3240
  }
3199
3241
 
3200
3242
  declare class SplitButtonComponent {
@@ -5011,11 +5053,19 @@ declare class CopyButtonDirective {
5011
5053
 
5012
5054
  declare const COPY_BUTTON_IMPORTS: readonly [typeof CopyButtonDirective];
5013
5055
 
5056
+ declare const DESCRIPTION_LIST_VARIANTS: {
5057
+ readonly INLINE: "inline";
5058
+ readonly STACKED: "stacked";
5059
+ };
5060
+ type DescriptionListVariant = (typeof DESCRIPTION_LIST_VARIANTS)[keyof typeof DESCRIPTION_LIST_VARIANTS];
5014
5061
  /**
5015
5062
  * Styles a native `<dl>` for term/detail rows - CSS grid auto-placement pairs each `<dt>`/`<dd>`
5016
5063
  * into its own row, so plain semantic markup is all a consumer writes; there is no term/detail
5017
5064
  * wrapper component to reach for.
5018
5065
  *
5066
+ * `variant="inline"` (the default) puts the term beside its detail in two columns;
5067
+ * `variant="stacked"` puts it above, in one column.
5068
+ *
5019
5069
  * @example
5020
5070
  * <dl et-description-list>
5021
5071
  * <dt>Name</dt>
@@ -5025,8 +5075,9 @@ declare const COPY_BUTTON_IMPORTS: readonly [typeof CopyButtonDirective];
5025
5075
  * </dl>
5026
5076
  */
5027
5077
  declare class DescriptionListComponent {
5078
+ variant: _angular_core.InputSignal<DescriptionListVariant>;
5028
5079
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DescriptionListComponent, never>;
5029
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DescriptionListComponent, "dl[et-description-list]", never, {}, {}, never, ["*"], true, never>;
5080
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DescriptionListComponent, "dl[et-description-list]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
5030
5081
  }
5031
5082
 
5032
5083
  declare const DESCRIPTION_LIST_IMPORTS: readonly [typeof DescriptionListComponent];
@@ -5536,6 +5587,44 @@ declare const CASCADER_ERROR_CODES: {
5536
5587
  readonly SEARCH_OPTION_OUTSIDE_CASCADER: 3308;
5537
5588
  };
5538
5589
 
5590
+ /** The `kind` given to a warning a `warn()` rule returned as a bare string. */
5591
+ declare const FIELD_WARNING_KIND = "etWarning";
5592
+ /**
5593
+ * A non-blocking advisory about a field's value: the value is accepted and the form still submits,
5594
+ * but the user should look at it anyway (a password that meets the rules yet is weak, a date far
5595
+ * enough out to be a likely typo, a quantity above what is normally in stock).
5596
+ */
5597
+ type FieldWarning = {
5598
+ /** Machine-readable discriminator. A `FORM_WARNING_MESSAGE_RESOLVER` localizes the text by it. */
5599
+ kind: string;
5600
+ /** The text shown under the field. Optional when a resolver supplies it from `kind`. */
5601
+ message?: string;
5602
+ };
5603
+ /** What a {@link warn} rule may return. A bare string becomes a {@link FIELD_WARNING_KIND} warning. */
5604
+ type FieldWarningResult = string | FieldWarning | readonly (string | FieldWarning)[] | null | undefined;
5605
+ /** @internal The channel between the {@link warn} schema rule and the form field. */
5606
+ declare const FIELD_WARNINGS: _angular_forms_signals.MetadataKey<_angular_core.Signal<readonly FieldWarning[]>, readonly FieldWarning[], readonly FieldWarning[]>;
5607
+ /**
5608
+ * Schema rule attaching non-blocking warnings to a field. The bound `et-form-field` (or control that
5609
+ * renders its own support region) shows them in the place an error would take, in the app's
5610
+ * `type: 'warning'` color - but the field stays valid: nothing here reaches validity, `aria-invalid`
5611
+ * or submit. An error on the same field takes the slot back until it is fixed.
5612
+ *
5613
+ * Multiple `warn()` rules on one field are concatenated. Return `null` for no warning.
5614
+ *
5615
+ * @example
5616
+ * ```ts
5617
+ * form(model, (s) => {
5618
+ * required(s.password);
5619
+ * warn(s.password, ({ value }) => (isWeak(value()) ? 'This password is easy to guess.' : null));
5620
+ * warn(s.quantity, ({ value }) =>
5621
+ * value() > stock() ? { kind: 'aboveStock', message: 'More than we usually have in stock.' } : null,
5622
+ * );
5623
+ * });
5624
+ * ```
5625
+ */
5626
+ declare const warn: <TValue, TPathKind extends PathKind = PathKind.Root>(path: SchemaPath<TValue, SchemaPathRules.Supported, TPathKind>, logic: NoInfer<LogicFn<TValue, FieldWarningResult, TPathKind>>) => void;
5627
+
5539
5628
  declare const FORM_FIELD_ERROR_CODES: {
5540
5629
  readonly MISSING_CONTROL: 2200;
5541
5630
  readonly MISSING_LABEL: 2201;
@@ -5664,6 +5753,8 @@ type LabelDirectiveBase = {
5664
5753
 
5665
5754
  declare class FormFieldDirective implements FormFieldDirectiveBase {
5666
5755
  private readonly hostElement;
5756
+ private ownFieldBinding;
5757
+ private wrappedFieldBindings;
5667
5758
  /** @internal */
5668
5759
  registeredControl: _angular_core.WritableSignal<FormFieldControl | null>;
5669
5760
  /** @internal */
@@ -5679,6 +5770,12 @@ declare class FormFieldDirective implements FormFieldDirectiveBase {
5679
5770
  private readonly FALLBACK_ID;
5680
5771
  errorId: _angular_core.Signal<string>;
5681
5772
  hintId: _angular_core.Signal<string>;
5773
+ warningId: _angular_core.Signal<string>;
5774
+ /**
5775
+ * The non-blocking advisories the bound field's `warn()` rules produced. They never touch
5776
+ * validity - the field stays valid and submittable while one is shown.
5777
+ */
5778
+ warnings: _angular_core.Signal<readonly FieldWarning[]>;
5682
5779
  shouldDisplayError: _angular_core.Signal<boolean>;
5683
5780
  errors: _angular_core.Signal<readonly _angular_forms_signals.ValidationError.WithOptionalFieldTree[]>;
5684
5781
  /** Whether the registered control is currently reporting an unparseable committed value. */
@@ -5702,6 +5799,10 @@ declare class FormFieldDirective implements FormFieldDirectiveBase {
5702
5799
  isHidden: _angular_core.Signal<boolean>;
5703
5800
  usesTextFieldShell: _angular_core.Signal<boolean>;
5704
5801
  shouldFloatLabel: _angular_core.Signal<boolean>;
5802
+ /** Whether the field is showing an error message - which a warning gives the slot up to. */
5803
+ displaysErrorMessage: _angular_core.Signal<boolean>;
5804
+ /** Whether a warning is the message the field shows: it has one, and no error is taking the slot. */
5805
+ displaysWarning: _angular_core.Signal<boolean>;
5705
5806
  describedById: _angular_core.Signal<string | null>;
5706
5807
  constructor();
5707
5808
  /** @internal */
@@ -5720,23 +5821,25 @@ declare class FormFieldDirective implements FormFieldDirectiveBase {
5720
5821
  unregisterLabel(label: LabelDirectiveBase): void;
5721
5822
  activate(): void;
5722
5823
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormFieldDirective, never>;
5723
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FormFieldDirective, "[etFormField]", never, {}, {}, never, never, true, never>;
5824
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FormFieldDirective, "[etFormField]", never, {}, {}, ["wrappedFieldBindings"], never, true, never>;
5724
5825
  }
5725
5826
 
5726
5827
  /**
5727
- * The support region under a form control shows at most one of an error or a hint at a time, with
5728
- * an animated cross-fade/slide when it switches. This module owns that little state machine so the
5729
- * text-field shell (`form-field.component`) and the headless `injectFormSupport` (rating, otp,
5730
- * slider, selection groups, dropzone, choice-field, …) share one implementation instead of two
5731
- * that drift. Callers keep their own view-child wiring, error source, and derived signals - only
5732
- * the reducer, state shape, and enum constants live here.
5828
+ * The support region under a form control shows at most one of an error, a warning or a hint at a
5829
+ * time, with an animated cross-fade/slide when it switches. This module owns that little state
5830
+ * machine so the text-field shell (`form-field.component`) and the headless `injectFormSupport`
5831
+ * (rating, otp, slider, selection groups, dropzone, choice-field, …) share one implementation
5832
+ * instead of two that drift. Callers keep their own view-child wiring, error source, and derived
5833
+ * signals - only the reducer, state shape, and enum constants live here.
5733
5834
  */
5734
5835
  declare const SUPPORT_CONTENT_STATE: {
5735
5836
  readonly NONE: "none";
5736
5837
  readonly HINT: "hint";
5838
+ readonly WARNING: "warning";
5737
5839
  readonly ERROR: "error";
5738
5840
  };
5739
5841
  type SupportContentState = (typeof SUPPORT_CONTENT_STATE)[keyof typeof SUPPORT_CONTENT_STATE];
5842
+ type SupportSwappingState = Exclude<SupportContentState, typeof SUPPORT_CONTENT_STATE.NONE>;
5740
5843
  declare const SUPPORT_TRANSITION_DIRECTION: {
5741
5844
  readonly FROM_ABOVE: "from-above";
5742
5845
  readonly FROM_BELOW: "from-below";
@@ -5748,61 +5851,85 @@ type SupportPresentationState = {
5748
5851
  renderedState: SupportContentState;
5749
5852
  leavingState: SupportContentState;
5750
5853
  renderedErrors: readonly ValidationError.WithOptionalFieldTree[];
5751
- frozenErrorColor: string | null;
5752
- errorDirection: SupportTransitionDirection;
5753
- hintDirection: SupportTransitionDirection;
5854
+ renderedWarnings: readonly FieldWarning[];
5855
+ directions: Record<SupportSwappingState, SupportTransitionDirection>;
5754
5856
  };
5755
5857
  type ReduceSupportPresentationInput = {
5756
5858
  presentation: SupportPresentationState;
5757
5859
  semanticSupportState: SupportContentState;
5758
5860
  errors: readonly ValidationError.WithOptionalFieldTree[];
5759
- currentErrorColor: string | null;
5861
+ warnings: readonly FieldWarning[];
5760
5862
  };
5761
5863
  declare const INITIAL_SUPPORT_PRESENTATION_STATE: SupportPresentationState;
5864
+ /**
5865
+ * Drops `state` out of the presentation once its exit animation finished, so the region stops
5866
+ * rendering it and releases the messages it was holding. Call from an injection context, once per
5867
+ * swapping state.
5868
+ */
5869
+ declare const clearLeavingSupportStateOnExit: ({ state, animatable, presentation, semanticSupportState, }: {
5870
+ state: SupportSwappingState;
5871
+ animatable: Signal<AnimatableDirective | undefined>;
5872
+ presentation: WritableSignal<SupportPresentationState>;
5873
+ semanticSupportState: Signal<SupportContentState>;
5874
+ }) => void;
5762
5875
  declare const supportPresentationIncludesState: ({ presentation, state, }: {
5763
5876
  presentation: SupportPresentationState;
5764
5877
  state: SupportContentState;
5765
5878
  }) => boolean;
5766
5879
  /**
5767
- * Advances the presentation state for the newly-resolved `semanticSupportState`, deciding what
5768
- * (if anything) is now leaving and in which direction, and freezing the leaving error's painted
5769
- * color so it doesn't recolor mid-exit.
5880
+ * Advances the presentation state for the newly-resolved `semanticSupportState`, deciding what (if
5881
+ * anything) is now leaving and in which direction, and holding on to the messages of a state that
5882
+ * is animating out so it doesn't empty mid-exit.
5770
5883
  */
5771
- declare const reduceSupportPresentation: ({ presentation, semanticSupportState, errors, currentErrorColor, }: ReduceSupportPresentationInput) => SupportPresentationState;
5884
+ declare const reduceSupportPresentation: ({ presentation, semanticSupportState, errors, warnings, }: ReduceSupportPresentationInput) => SupportPresentationState;
5772
5885
 
5773
5886
  declare const formSupportFactory: () => {
5774
5887
  errorColorTheme: _ethlete_core.ColorTheme;
5888
+ warningColorTheme: Signal<_ethlete_core.ColorTheme | null>;
5775
5889
  formFieldDir: FormFieldDirective;
5776
5890
  errorContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
5891
+ warningContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
5777
5892
  hintContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
5778
5893
  errorAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
5894
+ warningAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
5779
5895
  hintAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
5780
5896
  semanticSupportState: Signal<SupportContentState>;
5781
5897
  displaysError: Signal<boolean>;
5898
+ displaysWarning: Signal<boolean>;
5782
5899
  shouldRenderSupport: Signal<boolean>;
5783
5900
  shouldRenderError: Signal<boolean>;
5901
+ shouldRenderWarning: Signal<boolean>;
5784
5902
  shouldRenderHint: Signal<boolean>;
5785
5903
  errorActive: Signal<boolean>;
5904
+ warningActive: Signal<boolean>;
5786
5905
  hintActive: Signal<boolean>;
5787
5906
  visibleErrors: Signal<readonly _angular_forms_signals.ValidationError.WithOptionalFieldTree[]>;
5907
+ visibleWarnings: Signal<readonly _ethlete_components.FieldWarning[]>;
5788
5908
  supportHeight: Signal<number>;
5789
5909
  };
5790
5910
  declare const provideFormSupport: () => _angular_core.Provider[];
5791
5911
  declare const injectFormSupport: _ethlete_core.InjectFn<{
5792
5912
  errorColorTheme: _ethlete_core.ColorTheme;
5913
+ warningColorTheme: Signal<_ethlete_core.ColorTheme | null>;
5793
5914
  formFieldDir: FormFieldDirective;
5794
5915
  errorContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
5916
+ warningContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
5795
5917
  hintContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
5796
5918
  errorAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
5919
+ warningAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
5797
5920
  hintAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
5798
5921
  semanticSupportState: Signal<SupportContentState>;
5799
5922
  displaysError: Signal<boolean>;
5923
+ displaysWarning: Signal<boolean>;
5800
5924
  shouldRenderSupport: Signal<boolean>;
5801
5925
  shouldRenderError: Signal<boolean>;
5926
+ shouldRenderWarning: Signal<boolean>;
5802
5927
  shouldRenderHint: Signal<boolean>;
5803
5928
  errorActive: Signal<boolean>;
5929
+ warningActive: Signal<boolean>;
5804
5930
  hintActive: Signal<boolean>;
5805
5931
  visibleErrors: Signal<readonly _angular_forms_signals.ValidationError.WithOptionalFieldTree[]>;
5932
+ visibleWarnings: Signal<readonly _ethlete_components.FieldWarning[]>;
5806
5933
  supportHeight: Signal<number>;
5807
5934
  }>;
5808
5935
  type FormSupport = ReturnType<typeof formSupportFactory>;
@@ -5814,8 +5941,10 @@ type FormSupport = ReturnType<typeof formSupportFactory>;
5814
5941
  */
5815
5942
  declare const wireFormSupport: (support: FormSupport, refs: {
5816
5943
  errorContent: Signal<ElementRef<HTMLElement> | undefined>;
5944
+ warningContent: Signal<ElementRef<HTMLElement> | undefined>;
5817
5945
  hintContent: Signal<ElementRef<HTMLElement> | undefined>;
5818
5946
  errorAnimatable: Signal<AnimatableDirective | undefined>;
5947
+ warningAnimatable: Signal<AnimatableDirective | undefined>;
5819
5948
  hintAnimatable: Signal<AnimatableDirective | undefined>;
5820
5949
  }) => void;
5821
5950
 
@@ -6951,7 +7080,9 @@ declare class CascaderComponent {
6951
7080
  /** The string in effect: this instance's `searchPlaceholder`, else the domain's label set. */
6952
7081
  protected resolvedSearchPlaceholder: _angular_core.Signal<string>;
6953
7082
  protected showClear: _angular_core.Signal<boolean>;
7083
+ constructor();
6954
7084
  protected handleClearClick(event: Event): void;
7085
+ protected handleArrowClick(event: Event): void;
6955
7086
  protected resultDisabled(path: CascaderNode<unknown>[]): boolean;
6956
7087
  /**
6957
7088
  * Whether a column sits outside the browse window. It stays mounted (the carousel track
@@ -7043,19 +7174,26 @@ type ChoiceFieldVariant = (typeof CHOICE_FIELD_VARIANTS)[keyof typeof CHOICE_FIE
7043
7174
  declare class ChoiceFieldComponent {
7044
7175
  support: {
7045
7176
  errorColorTheme: _ethlete_core.ColorTheme;
7177
+ warningColorTheme: _angular_core.Signal<_ethlete_core.ColorTheme | null>;
7046
7178
  formFieldDir: FormFieldDirective;
7047
7179
  errorContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
7180
+ warningContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
7048
7181
  hintContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
7049
7182
  errorAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
7183
+ warningAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
7050
7184
  hintAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
7051
7185
  semanticSupportState: _angular_core.Signal<_ethlete_components.SupportContentState>;
7052
7186
  displaysError: _angular_core.Signal<boolean>;
7187
+ displaysWarning: _angular_core.Signal<boolean>;
7053
7188
  shouldRenderSupport: _angular_core.Signal<boolean>;
7054
7189
  shouldRenderError: _angular_core.Signal<boolean>;
7190
+ shouldRenderWarning: _angular_core.Signal<boolean>;
7055
7191
  shouldRenderHint: _angular_core.Signal<boolean>;
7056
7192
  errorActive: _angular_core.Signal<boolean>;
7193
+ warningActive: _angular_core.Signal<boolean>;
7057
7194
  hintActive: _angular_core.Signal<boolean>;
7058
7195
  visibleErrors: _angular_core.Signal<readonly _angular_forms_signals.ValidationError.WithOptionalFieldTree[]>;
7196
+ visibleWarnings: _angular_core.Signal<readonly _ethlete_components.FieldWarning[]>;
7059
7197
  supportHeight: _angular_core.Signal<number>;
7060
7198
  };
7061
7199
  private styleManager;
@@ -7067,8 +7205,10 @@ declare class ChoiceFieldComponent {
7067
7205
  */
7068
7206
  variant: _angular_core.InputSignal<ChoiceFieldVariant>;
7069
7207
  private errorContentRef;
7208
+ private warningContentRef;
7070
7209
  private hintContentRef;
7071
7210
  private errorAnimatableRef;
7211
+ private warningAnimatableRef;
7072
7212
  private hintAnimatableRef;
7073
7213
  canAnimate: {
7074
7214
  state: _angular_core.Signal<boolean>;
@@ -8316,20 +8456,31 @@ type ResolvedDropzoneUploadConfig<TValue = unknown> = {
8316
8456
  * `null` on success.
8317
8457
  */
8318
8458
  executeDelete?: (options: DropzoneDeleteOptions<TValue>) => Promise<DropzoneUploadError | null>;
8459
+ /** @internal @see DropzoneDeleteConfig.includeExisting */
8460
+ deleteIncludesExisting?: boolean;
8319
8461
  };
8320
8462
  type AnyDropzoneUploadConfig<TValue = unknown> = ResolvedDropzoneUploadConfig<TValue>;
8321
8463
  /**
8322
- * The authoring config for a delete request run when an already-persisted entry (a successful
8323
- * upload or an existing value) is removed - e.g. a `DELETE` route that cleans up the uploaded
8324
- * file server-side. Nest it under `DropzoneUploadConfig.delete` / `V2DropzoneUploadConfig.delete`.
8325
- * Removing a still-uploading entry only cancels its upload; nothing was persisted yet, so no
8326
- * delete request is made.
8464
+ * The authoring config for a delete request run when an entry uploaded in this session is removed
8465
+ * - e.g. a `DELETE` route that cleans up the uploaded file server-side. Nest it under
8466
+ * `DropzoneUploadConfig.delete` / `V2DropzoneUploadConfig.delete`. Removing a still-uploading entry
8467
+ * only cancels its upload; nothing was persisted yet, so no delete request is made. A value the
8468
+ * control started with is left alone unless `includeExisting` says otherwise.
8327
8469
  */
8328
8470
  type DropzoneDeleteConfig<TArgs extends QueryArgs, TValue> = {
8329
8471
  /** The query creator used to delete one value (e.g. a `DELETE /media/:id` route). */
8330
8472
  queryCreator: QueryCreator<TArgs>;
8331
8473
  /** Builds the request args to delete one value, e.g. `(id) => ({ pathParams: { id } })`. */
8332
8474
  createArgs: (value: TValue) => RequestArgs<TArgs>;
8475
+ /**
8476
+ * Whether removing a value the control started with - one resolved through `resolveExisting`,
8477
+ * rather than uploaded in this session - also deletes it server-side. Off by default: an edit
8478
+ * form is usually detaching a record something else owns, not cleaning up after itself. Turn it
8479
+ * on where the control owns every value it shows.
8480
+ *
8481
+ * @default false
8482
+ */
8483
+ includeExisting?: boolean;
8333
8484
  };
8334
8485
  /** The authoring config for `createDropzoneUpload` (new `@ethlete/query` API). */
8335
8486
  type DropzoneUploadConfig<TArgs extends QueryArgs = QueryArgs, TValue = unknown, TDeleteArgs extends QueryArgs = QueryArgs> = {
@@ -8364,7 +8515,8 @@ type DropzoneUploadConfig<TArgs extends QueryArgs = QueryArgs, TValue = unknown,
8364
8515
  */
8365
8516
  resolveExisting?: (value: TValue) => DropzoneExistingFileInfo;
8366
8517
  /**
8367
- * Run when an already-persisted entry (a successful upload or an existing value) is removed.
8518
+ * Run when an entry uploaded in this session is removed - and, with `includeExisting`, when a
8519
+ * value the control started with is removed too.
8368
8520
  * Absent: removing an entry only updates the control locally, with no server-side cleanup.
8369
8521
  */
8370
8522
  delete?: DropzoneDeleteConfig<TDeleteArgs, TValue>;
@@ -8377,6 +8529,8 @@ type V2DropzoneDeleteConfig<TCreator extends AnyV2QueryCreator | AnyLegacyQueryC
8377
8529
  queryCreator: TCreator;
8378
8530
  /** Builds the `prepare()` args to delete one value, e.g. `(id) => ({ pathParams: { id } })`. */
8379
8531
  createArgs: (value: TValue) => V2DropzonePrepareArgsOf<TCreator>;
8532
+ /** @see DropzoneDeleteConfig.includeExisting */
8533
+ includeExisting?: boolean;
8380
8534
  };
8381
8535
  /**
8382
8536
  * The authoring config for `createV2DropzoneUpload` - the legacy `V2QueryClient` counterpart of
@@ -8415,7 +8569,8 @@ type V2DropzoneUploadConfig<TCreator extends AnyV2QueryCreator | AnyLegacyQueryC
8415
8569
  */
8416
8570
  resolveExisting?: (value: TValue) => DropzoneExistingFileInfo;
8417
8571
  /**
8418
- * Run when an already-persisted entry (a successful upload or an existing value) is removed.
8572
+ * Run when an entry uploaded in this session is removed - and, with `includeExisting`, when a
8573
+ * value the control started with is removed too.
8419
8574
  * Absent: removing an entry only updates the control locally, with no server-side cleanup.
8420
8575
  */
8421
8576
  delete?: V2DropzoneDeleteConfig<TDeleteCreator, TValue>;
@@ -8648,19 +8803,26 @@ declare class DropzoneComponent {
8648
8803
  protected dropzoneDir: DropzoneDirective<any>;
8649
8804
  support: {
8650
8805
  errorColorTheme: _ethlete_core.ColorTheme;
8806
+ warningColorTheme: _angular_core.Signal<_ethlete_core.ColorTheme | null>;
8651
8807
  formFieldDir: FormFieldDirective;
8652
8808
  errorContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
8809
+ warningContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
8653
8810
  hintContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
8654
8811
  errorAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
8812
+ warningAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
8655
8813
  hintAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
8656
8814
  semanticSupportState: _angular_core.Signal<_ethlete_components.SupportContentState>;
8657
8815
  displaysError: _angular_core.Signal<boolean>;
8816
+ displaysWarning: _angular_core.Signal<boolean>;
8658
8817
  shouldRenderSupport: _angular_core.Signal<boolean>;
8659
8818
  shouldRenderError: _angular_core.Signal<boolean>;
8819
+ shouldRenderWarning: _angular_core.Signal<boolean>;
8660
8820
  shouldRenderHint: _angular_core.Signal<boolean>;
8661
8821
  errorActive: _angular_core.Signal<boolean>;
8822
+ warningActive: _angular_core.Signal<boolean>;
8662
8823
  hintActive: _angular_core.Signal<boolean>;
8663
8824
  visibleErrors: _angular_core.Signal<readonly _angular_forms_signals.ValidationError.WithOptionalFieldTree[]>;
8825
+ visibleWarnings: _angular_core.Signal<readonly _ethlete_components.FieldWarning[]>;
8664
8826
  supportHeight: _angular_core.Signal<number>;
8665
8827
  };
8666
8828
  private injector;
@@ -8679,8 +8841,10 @@ declare class DropzoneComponent {
8679
8841
  private fileInput;
8680
8842
  private browseButton;
8681
8843
  private errorContentRef;
8844
+ private warningContentRef;
8682
8845
  private hintContentRef;
8683
8846
  private errorAnimatableRef;
8847
+ private warningAnimatableRef;
8684
8848
  private hintAnimatableRef;
8685
8849
  private entryElements;
8686
8850
  /** The string in effect: this instance's `retryLabel`, else the domain's label set. */
@@ -8810,10 +8974,27 @@ declare const provideFormFieldLabels: (labels: _ethlete_core.LabelsSource<FormFi
8810
8974
  declare const injectFormFieldLabels: () => _angular_core.Signal<FormFieldLabels>;
8811
8975
  declare const FORM_FIELD_LABELS: _angular_core.InjectionToken<_ethlete_core.LabelsSource<FormFieldLabels>>;
8812
8976
 
8977
+ /**
8978
+ * Resolves the text shown for a field warning. Return `null` to fall back to the warning's own
8979
+ * `message`. Lets an app centralize/localize warning texts by `kind` instead of putting a `message`
8980
+ * on every `warn()` rule.
8981
+ */
8982
+ type FormWarningMessageResolver = (warning: FieldWarning) => string | null;
8983
+ declare const FORM_WARNING_MESSAGE_RESOLVER: InjectionToken<FormWarningMessageResolver>;
8984
+ declare const provideFormWarningMessageResolver: (resolver: FormWarningMessageResolver) => Provider;
8985
+ declare class FormWarningComponent {
8986
+ private messageResolver;
8987
+ warning: _angular_core.InputSignal<FieldWarning>;
8988
+ protected message: _angular_core.Signal<string>;
8989
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormWarningComponent, never>;
8990
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormWarningComponent, "et-form-warning", never, { "warning": { "alias": "warning"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
8991
+ }
8992
+
8813
8993
  declare class FormFieldComponent {
8814
8994
  private provideColor;
8815
8995
  private provideSurface;
8816
8996
  private parentSurfaceProvider;
8997
+ private injector;
8817
8998
  protected formFieldDir: FormFieldDirective;
8818
8999
  protected errorColorTheme: _ethlete_core.ColorTheme;
8819
9000
  private surfaceThemes;
@@ -8827,15 +9008,18 @@ declare class FormFieldComponent {
8827
9008
  */
8828
9009
  busy: _angular_core.InputSignalWithTransform<boolean, unknown>;
8829
9010
  protected errorContent: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
9011
+ protected warningContent: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
8830
9012
  protected hintContent: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
8831
9013
  counterContent: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
8832
9014
  private controlFrame;
8833
9015
  prefixEl: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
8834
9016
  protected errorAnimatable: _angular_core.Signal<AnimatableDirective | undefined>;
9017
+ protected warningAnimatable: _angular_core.Signal<AnimatableDirective | undefined>;
8835
9018
  protected hintAnimatable: _angular_core.Signal<AnimatableDirective | undefined>;
8836
9019
  /** Whether the field is showing its busy affordance - a pending async validator, or `[busy]`. */
8837
9020
  isBusy: _angular_core.Signal<boolean>;
8838
9021
  private errorDimensions;
9022
+ private warningDimensions;
8839
9023
  private hintDimensions;
8840
9024
  private counterDimensions;
8841
9025
  private prefixDimensions;
@@ -8847,16 +9031,23 @@ declare class FormFieldComponent {
8847
9031
  effectiveErrors: _angular_core.Signal<readonly ValidationError.WithOptionalFieldTree[]>;
8848
9032
  semanticSupportState: _angular_core.Signal<SupportContentState>;
8849
9033
  protected displaysError: _angular_core.Signal<boolean>;
9034
+ protected displaysWarning: _angular_core.Signal<boolean>;
8850
9035
  protected hasFloatingTextLabel: _angular_core.Signal<boolean>;
8851
9036
  protected hasInlineLabel: _angular_core.Signal<boolean>;
8852
9037
  protected prefixOffset: _angular_core.Signal<string | null>;
8853
9038
  protected shouldRenderSupport: _angular_core.Signal<boolean>;
8854
9039
  protected shouldRenderError: _angular_core.Signal<boolean>;
9040
+ protected shouldRenderWarning: _angular_core.Signal<boolean>;
8855
9041
  protected shouldRenderHint: _angular_core.Signal<boolean>;
9042
+ protected warningColorTheme: _angular_core.Signal<_ethlete_core.ColorTheme | null>;
8856
9043
  protected errorActive: _angular_core.Signal<boolean>;
8857
9044
  protected errorState: _angular_core.Signal<"leaving" | "active">;
8858
9045
  protected errorDirection: _angular_core.Signal<_ethlete_components.SupportTransitionDirection>;
8859
9046
  protected visibleErrors: _angular_core.Signal<readonly ValidationError.WithOptionalFieldTree[]>;
9047
+ protected warningActive: _angular_core.Signal<boolean>;
9048
+ protected warningState: _angular_core.Signal<"leaving" | "active">;
9049
+ protected warningDirection: _angular_core.Signal<_ethlete_components.SupportTransitionDirection>;
9050
+ protected visibleWarnings: _angular_core.Signal<readonly _ethlete_components.FieldWarning[]>;
8860
9051
  protected hintActive: _angular_core.Signal<boolean>;
8861
9052
  protected hintState: _angular_core.Signal<"leaving" | "active">;
8862
9053
  protected hintDirection: _angular_core.Signal<_ethlete_components.SupportTransitionDirection>;
@@ -9049,7 +9240,11 @@ declare class PasswordInputDirective extends TextFieldControlDirective implement
9049
9240
  autocomplete: _angular_core.InputSignal<string>;
9050
9241
  /** Whether the value is currently shown as plain text. */
9051
9242
  revealed: _angular_core.ModelSignal<boolean>;
9052
- /** Whether Caps Lock was active on the last keystroke - feed it via `syncCapsLock`. */
9243
+ /**
9244
+ * Whether Caps Lock is known to be on - feed it via `syncCapsLock`. Only ever `true` off a
9245
+ * reading that can be trusted, so it lags one keystroke behind Caps Lock being switched on
9246
+ * rather than reporting it as still on after it has been switched off.
9247
+ */
9053
9248
  capsLockOn: _angular_core.WritableSignal<boolean>;
9054
9249
  /**
9055
9250
  * A 0–4 typing-feedback score from a simple length + character-class heuristic -
@@ -9080,12 +9275,12 @@ declare class PasswordInputDirective extends TextFieldControlDirective implement
9080
9275
  syncFromNativeInput(inputElement: HTMLInputElement): void;
9081
9276
  toggleRevealed(): void;
9082
9277
  /**
9083
- * Feed keyboard or pointer events from the native input so `capsLockOn` stays current.
9084
- * Pointer events matter for the focus case: clicking into an already-Caps-Lock-on field
9085
- * fires no keystroke, so the warning would otherwise not appear until the first key -
9086
- * `MouseEvent`/`PointerEvent` carry `getModifierState`, `FocusEvent` does not.
9278
+ * Feed keyboard, pointer or focus events from the native input so `capsLockOn` stays current.
9279
+ * Pointer events matter for the focus case: clicking into an already-Caps-Lock-on field fires no
9280
+ * keystroke, so the warning would otherwise not appear until the first key. Events that cannot
9281
+ * report the state - `FocusEvent`, and the Caps Lock key itself - clear it.
9087
9282
  */
9088
- syncCapsLock(event: KeyboardEvent | MouseEvent): void;
9283
+ syncCapsLock(event: KeyboardEvent | MouseEvent | FocusEvent): void;
9089
9284
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PasswordInputDirective, never>;
9090
9285
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PasswordInputDirective, "[etPasswordInput]", ["etPasswordInput"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "revealed": { "alias": "revealed"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "revealed": "revealedChange"; }, never, never, true, never>;
9091
9286
  }
@@ -9104,7 +9299,7 @@ type InputLabels = {
9104
9299
  showPassword: string;
9105
9300
  /** Accessible label for the password input's control while the value is visible. */
9106
9301
  hidePassword: string;
9107
- /** The password input's warning that Caps Lock is on. */
9302
+ /** The password input's warning that Caps Lock may be on. */
9108
9303
  capsLockOn: string;
9109
9304
  };
9110
9305
  /** The built-in English labels. */
@@ -9185,9 +9380,10 @@ declare class PasswordInputComponent {
9185
9380
  protected resolvedHideLabel: _angular_core.Signal<string>;
9186
9381
  /** The string in effect: this instance's `capsLockLabel`, else the domain's label set. */
9187
9382
  protected resolvedCapsLockLabel: _angular_core.Signal<string>;
9383
+ protected showCapsLockWarning: _angular_core.Signal<boolean>;
9188
9384
  constructor();
9189
- protected showCapsLockWarning(): boolean;
9190
9385
  syncNativeValue(event: Event): void;
9386
+ protected handleBlur(event: FocusEvent): void;
9191
9387
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<PasswordInputComponent, never>;
9192
9388
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<PasswordInputComponent, "et-password-input", never, { "revealable": { "alias": "revealable"; "required": false; "isSignal": true; }; "revealLabel": { "alias": "revealLabel"; "required": false; "isSignal": true; }; "hideLabel": { "alias": "hideLabel"; "required": false; "isSignal": true; }; "capsLockWarning": { "alias": "capsLockWarning"; "required": false; "isSignal": true; }; "capsLockLabel": { "alias": "capsLockLabel"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof PasswordInputDirective; inputs: { "placeholder": "placeholder"; "autocomplete": "autocomplete"; "value": "value"; "mixed": "mixed"; "mixedLabel": "mixedLabel"; "revealed": "revealed"; "disabled": "disabled"; "readonly": "readonly"; "hidden": "hidden"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; "maxLength": "maxLength"; "pending": "pending"; "aria-label": "aria-label"; "aria-labelledby": "aria-labelledby"; }; outputs: { "valueChange": "valueChange"; "mixedChange": "mixedChange"; "touchedChange": "touchedChange"; "revealedChange": "revealedChange"; }; }, { directive: typeof _ethlete_core.ColorInteractiveDirective; inputs: {}; outputs: {}; }]>;
9193
9389
  }
@@ -11533,26 +11729,35 @@ declare class OtpInputDirective implements FormValueControl<string>, FormFieldCo
11533
11729
  declare class OtpInputComponent {
11534
11730
  support: {
11535
11731
  errorColorTheme: _ethlete_core.ColorTheme;
11732
+ warningColorTheme: _angular_core.Signal<_ethlete_core.ColorTheme | null>;
11536
11733
  formFieldDir: FormFieldDirective;
11537
11734
  errorContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
11735
+ warningContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
11538
11736
  hintContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
11539
11737
  errorAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
11738
+ warningAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
11540
11739
  hintAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
11541
11740
  semanticSupportState: _angular_core.Signal<_ethlete_components.SupportContentState>;
11542
11741
  displaysError: _angular_core.Signal<boolean>;
11742
+ displaysWarning: _angular_core.Signal<boolean>;
11543
11743
  shouldRenderSupport: _angular_core.Signal<boolean>;
11544
11744
  shouldRenderError: _angular_core.Signal<boolean>;
11745
+ shouldRenderWarning: _angular_core.Signal<boolean>;
11545
11746
  shouldRenderHint: _angular_core.Signal<boolean>;
11546
11747
  errorActive: _angular_core.Signal<boolean>;
11748
+ warningActive: _angular_core.Signal<boolean>;
11547
11749
  hintActive: _angular_core.Signal<boolean>;
11548
11750
  visibleErrors: _angular_core.Signal<readonly _angular_forms_signals.ValidationError.WithOptionalFieldTree[]>;
11751
+ visibleWarnings: _angular_core.Signal<readonly _ethlete_components.FieldWarning[]>;
11549
11752
  supportHeight: _angular_core.Signal<number>;
11550
11753
  };
11551
11754
  protected otp: OtpInputDirective;
11552
11755
  nativeInput: _angular_core.Signal<ElementRef<HTMLInputElement> | undefined>;
11553
11756
  private errorContentRef;
11757
+ private warningContentRef;
11554
11758
  private hintContentRef;
11555
11759
  private errorAnimatableRef;
11760
+ private warningAnimatableRef;
11556
11761
  private hintAnimatableRef;
11557
11762
  canAnimate: {
11558
11763
  state: _angular_core.Signal<boolean>;
@@ -11853,27 +12058,36 @@ declare class RatingIconDirective {
11853
12058
  declare class RatingComponent {
11854
12059
  support: {
11855
12060
  errorColorTheme: _ethlete_core.ColorTheme;
12061
+ warningColorTheme: _angular_core.Signal<_ethlete_core.ColorTheme | null>;
11856
12062
  formFieldDir: FormFieldDirective;
11857
12063
  errorContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
12064
+ warningContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
11858
12065
  hintContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
11859
12066
  errorAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
12067
+ warningAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
11860
12068
  hintAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
11861
12069
  semanticSupportState: _angular_core.Signal<_ethlete_components.SupportContentState>;
11862
12070
  displaysError: _angular_core.Signal<boolean>;
12071
+ displaysWarning: _angular_core.Signal<boolean>;
11863
12072
  shouldRenderSupport: _angular_core.Signal<boolean>;
11864
12073
  shouldRenderError: _angular_core.Signal<boolean>;
12074
+ shouldRenderWarning: _angular_core.Signal<boolean>;
11865
12075
  shouldRenderHint: _angular_core.Signal<boolean>;
11866
12076
  errorActive: _angular_core.Signal<boolean>;
12077
+ warningActive: _angular_core.Signal<boolean>;
11867
12078
  hintActive: _angular_core.Signal<boolean>;
11868
12079
  visibleErrors: _angular_core.Signal<readonly _angular_forms_signals.ValidationError.WithOptionalFieldTree[]>;
12080
+ visibleWarnings: _angular_core.Signal<readonly _ethlete_components.FieldWarning[]>;
11869
12081
  supportHeight: _angular_core.Signal<number>;
11870
12082
  };
11871
12083
  protected rating: RatingDirective;
11872
12084
  private destroyRef;
11873
12085
  private baseIcons;
11874
12086
  private errorContentRef;
12087
+ private warningContentRef;
11875
12088
  private hintContentRef;
11876
12089
  private errorAnimatableRef;
12090
+ private warningAnimatableRef;
11877
12091
  private hintAnimatableRef;
11878
12092
  canAnimate: {
11879
12093
  state: _angular_core.Signal<boolean>;
@@ -12964,19 +13178,26 @@ declare class SelectionListDirective implements SelectionListDirectiveBase, Form
12964
13178
  declare class CheckboxGroupComponent {
12965
13179
  support: {
12966
13180
  errorColorTheme: _ethlete_core.ColorTheme;
13181
+ warningColorTheme: _angular_core.Signal<_ethlete_core.ColorTheme | null>;
12967
13182
  formFieldDir: FormFieldDirective;
12968
13183
  errorContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
13184
+ warningContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
12969
13185
  hintContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
12970
13186
  errorAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
13187
+ warningAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
12971
13188
  hintAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
12972
13189
  semanticSupportState: _angular_core.Signal<_ethlete_components.SupportContentState>;
12973
13190
  displaysError: _angular_core.Signal<boolean>;
13191
+ displaysWarning: _angular_core.Signal<boolean>;
12974
13192
  shouldRenderSupport: _angular_core.Signal<boolean>;
12975
13193
  shouldRenderError: _angular_core.Signal<boolean>;
13194
+ shouldRenderWarning: _angular_core.Signal<boolean>;
12976
13195
  shouldRenderHint: _angular_core.Signal<boolean>;
12977
13196
  errorActive: _angular_core.Signal<boolean>;
13197
+ warningActive: _angular_core.Signal<boolean>;
12978
13198
  hintActive: _angular_core.Signal<boolean>;
12979
13199
  visibleErrors: _angular_core.Signal<readonly _angular_forms_signals.ValidationError.WithOptionalFieldTree[]>;
13200
+ visibleWarnings: _angular_core.Signal<readonly _ethlete_components.FieldWarning[]>;
12980
13201
  supportHeight: _angular_core.Signal<number>;
12981
13202
  };
12982
13203
  size: _angular_core.InputSignal<FormFieldSize>;
@@ -12990,8 +13211,10 @@ declare class CheckboxGroupComponent {
12990
13211
  */
12991
13212
  orientation: _angular_core.InputSignal<SelectionListOrientation>;
12992
13213
  private errorContentRef;
13214
+ private warningContentRef;
12993
13215
  private hintContentRef;
12994
13216
  private errorAnimatableRef;
13217
+ private warningAnimatableRef;
12995
13218
  private hintAnimatableRef;
12996
13219
  canAnimate: {
12997
13220
  state: _angular_core.Signal<boolean>;
@@ -13050,19 +13273,26 @@ declare class CheckboxOptionComponent {
13050
13273
  declare class RadioGroupComponent {
13051
13274
  support: {
13052
13275
  errorColorTheme: _ethlete_core.ColorTheme;
13276
+ warningColorTheme: _angular_core.Signal<_ethlete_core.ColorTheme | null>;
13053
13277
  formFieldDir: FormFieldDirective;
13054
13278
  errorContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
13279
+ warningContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
13055
13280
  hintContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
13056
13281
  errorAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
13282
+ warningAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
13057
13283
  hintAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
13058
13284
  semanticSupportState: _angular_core.Signal<_ethlete_components.SupportContentState>;
13059
13285
  displaysError: _angular_core.Signal<boolean>;
13286
+ displaysWarning: _angular_core.Signal<boolean>;
13060
13287
  shouldRenderSupport: _angular_core.Signal<boolean>;
13061
13288
  shouldRenderError: _angular_core.Signal<boolean>;
13289
+ shouldRenderWarning: _angular_core.Signal<boolean>;
13062
13290
  shouldRenderHint: _angular_core.Signal<boolean>;
13063
13291
  errorActive: _angular_core.Signal<boolean>;
13292
+ warningActive: _angular_core.Signal<boolean>;
13064
13293
  hintActive: _angular_core.Signal<boolean>;
13065
13294
  visibleErrors: _angular_core.Signal<readonly _angular_forms_signals.ValidationError.WithOptionalFieldTree[]>;
13295
+ visibleWarnings: _angular_core.Signal<readonly _ethlete_components.FieldWarning[]>;
13066
13296
  supportHeight: _angular_core.Signal<number>;
13067
13297
  };
13068
13298
  size: _angular_core.InputSignal<FormFieldSize>;
@@ -13076,8 +13306,10 @@ declare class RadioGroupComponent {
13076
13306
  */
13077
13307
  orientation: _angular_core.InputSignal<SelectionListOrientation>;
13078
13308
  private errorContentRef;
13309
+ private warningContentRef;
13079
13310
  private hintContentRef;
13080
13311
  private errorAnimatableRef;
13312
+ private warningAnimatableRef;
13081
13313
  private hintAnimatableRef;
13082
13314
  canAnimate: {
13083
13315
  state: _angular_core.Signal<boolean>;
@@ -13119,19 +13351,26 @@ type SegmentedButtonGroupVariant = (typeof SEGMENTED_BUTTON_GROUP_VARIANTS)[keyo
13119
13351
  declare class SegmentedButtonGroupComponent {
13120
13352
  support: {
13121
13353
  errorColorTheme: _ethlete_core.ColorTheme;
13354
+ warningColorTheme: _angular_core.Signal<_ethlete_core.ColorTheme | null>;
13122
13355
  formFieldDir: FormFieldDirective;
13123
13356
  errorContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
13357
+ warningContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
13124
13358
  hintContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
13125
13359
  errorAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
13360
+ warningAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
13126
13361
  hintAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
13127
13362
  semanticSupportState: _angular_core.Signal<_ethlete_components.SupportContentState>;
13128
13363
  displaysError: _angular_core.Signal<boolean>;
13364
+ displaysWarning: _angular_core.Signal<boolean>;
13129
13365
  shouldRenderSupport: _angular_core.Signal<boolean>;
13130
13366
  shouldRenderError: _angular_core.Signal<boolean>;
13367
+ shouldRenderWarning: _angular_core.Signal<boolean>;
13131
13368
  shouldRenderHint: _angular_core.Signal<boolean>;
13132
13369
  errorActive: _angular_core.Signal<boolean>;
13370
+ warningActive: _angular_core.Signal<boolean>;
13133
13371
  hintActive: _angular_core.Signal<boolean>;
13134
13372
  visibleErrors: _angular_core.Signal<readonly _angular_forms_signals.ValidationError.WithOptionalFieldTree[]>;
13373
+ visibleWarnings: _angular_core.Signal<readonly _ethlete_components.FieldWarning[]>;
13135
13374
  supportHeight: _angular_core.Signal<number>;
13136
13375
  };
13137
13376
  size: _angular_core.InputSignal<FormFieldSize>;
@@ -13145,9 +13384,12 @@ declare class SegmentedButtonGroupComponent {
13145
13384
  */
13146
13385
  variant: _angular_core.InputSignal<SegmentedButtonGroupVariant>;
13147
13386
  private errorContentRef;
13387
+ private warningContentRef;
13148
13388
  private hintContentRef;
13149
13389
  private errorAnimatableRef;
13390
+ private warningAnimatableRef;
13150
13391
  private hintAnimatableRef;
13392
+ protected isTabsVariant: _angular_core.Signal<boolean>;
13151
13393
  /** @internal The active background element of the currently checked button. Used as the flip animation origin. */
13152
13394
  lastActiveBackgroundElement: _angular_core.WritableSignal<HTMLElement | null>;
13153
13395
  canAnimate: {
@@ -13476,19 +13718,26 @@ declare class RangeSliderComponent {
13476
13718
  private sliderLabels;
13477
13719
  support: {
13478
13720
  errorColorTheme: _ethlete_core.ColorTheme;
13721
+ warningColorTheme: _angular_core.Signal<_ethlete_core.ColorTheme | null>;
13479
13722
  formFieldDir: FormFieldDirective;
13480
13723
  errorContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
13724
+ warningContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
13481
13725
  hintContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
13482
13726
  errorAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
13727
+ warningAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
13483
13728
  hintAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
13484
13729
  semanticSupportState: _angular_core.Signal<_ethlete_components.SupportContentState>;
13485
13730
  displaysError: _angular_core.Signal<boolean>;
13731
+ displaysWarning: _angular_core.Signal<boolean>;
13486
13732
  shouldRenderSupport: _angular_core.Signal<boolean>;
13487
13733
  shouldRenderError: _angular_core.Signal<boolean>;
13734
+ shouldRenderWarning: _angular_core.Signal<boolean>;
13488
13735
  shouldRenderHint: _angular_core.Signal<boolean>;
13489
13736
  errorActive: _angular_core.Signal<boolean>;
13737
+ warningActive: _angular_core.Signal<boolean>;
13490
13738
  hintActive: _angular_core.Signal<boolean>;
13491
13739
  visibleErrors: _angular_core.Signal<readonly _angular_forms_signals.ValidationError.WithOptionalFieldTree[]>;
13740
+ visibleWarnings: _angular_core.Signal<readonly _ethlete_components.FieldWarning[]>;
13492
13741
  supportHeight: _angular_core.Signal<number>;
13493
13742
  };
13494
13743
  protected slider: RangeSliderDirective;
@@ -13497,8 +13746,10 @@ declare class RangeSliderComponent {
13497
13746
  /** Accessible name of the end thumb. */
13498
13747
  endLabel: _angular_core.InputSignal<string | null>;
13499
13748
  private errorContentRef;
13749
+ private warningContentRef;
13500
13750
  private hintContentRef;
13501
13751
  private errorAnimatableRef;
13752
+ private warningAnimatableRef;
13502
13753
  private hintAnimatableRef;
13503
13754
  /** The string in effect: this instance's `startLabel`, else the domain's label set. */
13504
13755
  protected resolvedStartLabel: _angular_core.Signal<string>;
@@ -13550,25 +13801,34 @@ declare const SLIDER_LABELS: _angular_core.InjectionToken<_ethlete_core.LabelsSo
13550
13801
  declare class SliderComponent {
13551
13802
  support: {
13552
13803
  errorColorTheme: _ethlete_core.ColorTheme;
13804
+ warningColorTheme: _angular_core.Signal<_ethlete_core.ColorTheme | null>;
13553
13805
  formFieldDir: FormFieldDirective;
13554
13806
  errorContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
13807
+ warningContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
13555
13808
  hintContent: _angular_core.WritableSignal<ElementRef<HTMLElement> | undefined>;
13556
13809
  errorAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
13810
+ warningAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
13557
13811
  hintAnimatable: _angular_core.WritableSignal<AnimatableDirective | undefined>;
13558
13812
  semanticSupportState: _angular_core.Signal<_ethlete_components.SupportContentState>;
13559
13813
  displaysError: _angular_core.Signal<boolean>;
13814
+ displaysWarning: _angular_core.Signal<boolean>;
13560
13815
  shouldRenderSupport: _angular_core.Signal<boolean>;
13561
13816
  shouldRenderError: _angular_core.Signal<boolean>;
13817
+ shouldRenderWarning: _angular_core.Signal<boolean>;
13562
13818
  shouldRenderHint: _angular_core.Signal<boolean>;
13563
13819
  errorActive: _angular_core.Signal<boolean>;
13820
+ warningActive: _angular_core.Signal<boolean>;
13564
13821
  hintActive: _angular_core.Signal<boolean>;
13565
13822
  visibleErrors: _angular_core.Signal<readonly _angular_forms_signals.ValidationError.WithOptionalFieldTree[]>;
13823
+ visibleWarnings: _angular_core.Signal<readonly _ethlete_components.FieldWarning[]>;
13566
13824
  supportHeight: _angular_core.Signal<number>;
13567
13825
  };
13568
13826
  protected slider: SliderDirective;
13569
13827
  private errorContentRef;
13828
+ private warningContentRef;
13570
13829
  private hintContentRef;
13571
13830
  private errorAnimatableRef;
13831
+ private warningAnimatableRef;
13572
13832
  private hintAnimatableRef;
13573
13833
  /** Labelled ticks need room next to the track - the stylesheet reserves it off this flag. */
13574
13834
  protected hasMarkLabels: _angular_core.Signal<boolean>;
@@ -13806,10 +14066,10 @@ type GridBreakpointConfig = {
13806
14066
  columns: number;
13807
14067
  minWidth: number;
13808
14068
  };
13809
- type GridSerializedState = {
14069
+ type GridSerializedState<TData = unknown> = {
13810
14070
  columns: Record<GridBreakpointName, number>;
13811
14071
  rowHeight: number;
13812
- items: GridItemConfig[];
14072
+ items: GridItemConfig<string, TData>[];
13813
14073
  };
13814
14074
  type GridLayoutEntry = {
13815
14075
  id: string;
@@ -13877,7 +14137,7 @@ type GridDragState = {
13877
14137
  originPosition: GridItemPosition;
13878
14138
  targetPosition: GridItemPosition;
13879
14139
  };
13880
- declare class GridDirective {
14140
+ declare class GridDirective<TData = unknown> {
13881
14141
  private injector;
13882
14142
  private destroyRef;
13883
14143
  elementRef: ElementRef<HTMLElement>;
@@ -13893,15 +14153,23 @@ declare class GridDirective {
13893
14153
  * can therefore keep feeding its own signal in, including a saved snapshot after cancelled edits,
13894
14154
  * without rebuilding the grid.
13895
14155
  */
13896
- initialItems: _angular_core.InputSignal<GridItemConfig[]>;
14156
+ initialItems: _angular_core.InputSignal<GridItemConfig<string, TData>[]>;
13897
14157
  readOnly: _angular_core.InputSignalWithTransform<boolean, unknown>;
13898
14158
  /**
13899
14159
  * Emitted after the layout changed on this side: a drag, a resize, a keyboard move, `addItem()` or
13900
14160
  * `removeItem()`. Reconciling `initialItems` does not emit - what the host passed in cannot be news
13901
14161
  * to it - so this output can be read as "the user has unsaved changes".
13902
14162
  */
13903
- layoutChange: _angular_core.OutputEmitterRef<GridSerializedState>;
13904
- registrations: _angular_core.Signal<GridComponentRegistration[]>;
14163
+ layoutChange: _angular_core.OutputEmitterRef<GridSerializedState<TData>>;
14164
+ /**
14165
+ * @internal
14166
+ * The items input of the `et-grid` around this directive, handed over rather than bound: a host
14167
+ * directive cannot be parameterized by its component's generic, so the component declares the typed
14168
+ * input and points this at it.
14169
+ */
14170
+ hostItems: _angular_core.WritableSignal<Signal<GridItemConfig<string, TData>[]> | null>;
14171
+ private incomingItems;
14172
+ registrations: Signal<GridComponentRegistration[]>;
13905
14173
  private dimensions;
13906
14174
  private itemConfigs;
13907
14175
  private layoutOverrides;
@@ -13914,26 +14182,26 @@ declare class GridDirective {
13914
14182
  isResizeActive: _angular_core.WritableSignal<boolean>;
13915
14183
  private animationsReady;
13916
14184
  private isContainerResizing;
13917
- containerWidth: _angular_core.Signal<number>;
13918
- isReady: _angular_core.Signal<boolean>;
13919
- animationsEnabled: _angular_core.Signal<boolean>;
13920
- activeBreakpoint: _angular_core.Signal<string>;
13921
- activeColumns: _angular_core.Signal<number>;
14185
+ containerWidth: Signal<number>;
14186
+ isReady: Signal<boolean>;
14187
+ animationsEnabled: Signal<boolean>;
14188
+ activeBreakpoint: Signal<string>;
14189
+ activeColumns: Signal<number>;
13922
14190
  private paddings;
13923
- geometry: _angular_core.Signal<_ethlete_components.GridGeometry>;
13924
- items: _angular_core.Signal<GridItemConfig[]>;
13925
- baseLayout: _angular_core.Signal<GridLayoutEntry[]>;
13926
- layout: _angular_core.Signal<GridLayoutEntry[]>;
13927
- containerHeightPx: _angular_core.Signal<number>;
13928
- protected hostHeight: _angular_core.Signal<number | null>;
13929
- protected containerTransition: _angular_core.Signal<"none" | "height var(--et-grid-anim-duration, 250ms) cubic-bezier(0.2, 0, 0, 1)">;
13930
- ghostPosition: _angular_core.Signal<GridItemPosition | null>;
14191
+ geometry: Signal<_ethlete_components.GridGeometry>;
14192
+ items: Signal<GridItemConfig<string, TData>[]>;
14193
+ baseLayout: Signal<GridLayoutEntry[]>;
14194
+ layout: Signal<GridLayoutEntry[]>;
14195
+ containerHeightPx: Signal<number>;
14196
+ protected hostHeight: Signal<number | null>;
14197
+ protected containerTransition: Signal<"none" | "height var(--et-grid-anim-duration, 250ms) cubic-bezier(0.2, 0, 0, 1)">;
14198
+ ghostPosition: Signal<GridItemPosition | null>;
13931
14199
  constructor();
13932
14200
  getContainerOrigin(): {
13933
14201
  left: number;
13934
14202
  top: number;
13935
14203
  };
13936
- registerConstraints(id: string, constraints: GridItemConstraints): void;
14204
+ registerConstraints(id: string, constraints: Partial<GridItemConstraints>): void;
13937
14205
  unregisterConstraints(id: string): void;
13938
14206
  /** The item's constraints as they apply at the active breakpoint - column spans already capped to it. */
13939
14207
  getConstraints(id: string): GridItemConstraints;
@@ -13952,13 +14220,23 @@ declare class GridDirective {
13952
14220
  cancelResize(): void;
13953
14221
  /** One-shot resize (keyboard / programmatic): begin + update + commit in a single call. */
13954
14222
  resizeItem(options: ResizeItemOptions): void;
13955
- addItem(type: string, data: unknown): void;
14223
+ addItem(type: string, data: TData): void;
13956
14224
  removeItem(id: string, options?: GridMutationOptions): void;
13957
14225
  moveItem(id: string, newPosition: GridItemPosition): void;
13958
- getSerializedState(): GridSerializedState;
13959
- restoreState(state: GridSerializedState): void;
13960
- /** Dev-mode-only: rejects consumer-provided item configs whose ids are not unique. */
14226
+ getSerializedState(): GridSerializedState<TData>;
14227
+ restoreState(state: GridSerializedState<TData>): void;
14228
+ /**
14229
+ * Dev-mode-only: rejects consumer-provided item configs whose ids are not unique, and warns about
14230
+ * layouts that do not line up with the configured breakpoints.
14231
+ */
13961
14232
  private assertValidItemConfigs;
14233
+ /**
14234
+ * A layout key that is not a configured breakpoint is never read, and a configured breakpoint the
14235
+ * layout omits falls back to a 1x1 item at the grid origin - silently, which reads as the grid
14236
+ * having lost the layout. Neither is fatal (`addItem` auto-places a partial layout on purpose), so
14237
+ * this warns rather than throws.
14238
+ */
14239
+ private warnAboutUncoveredBreakpoints;
13962
14240
  private finalizeRemove;
13963
14241
  private placeItem;
13964
14242
  private shrinkNeighbors;
@@ -13967,8 +14245,8 @@ declare class GridDirective {
13967
14245
  private updateLayoutForCurrentBreakpoint;
13968
14246
  private updateItemLayout;
13969
14247
  private emitLayoutChange;
13970
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridDirective, never>;
13971
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridDirective, "[etGrid]", ["etGrid"], { "breakpoints": { "alias": "breakpoints"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; "initialItems": { "alias": "initialItems"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; }, { "layoutChange": "layoutChange"; }, never, never, true, never>;
14248
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridDirective<any>, never>;
14249
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridDirective<any>, "[etGrid]", ["etGrid"], { "breakpoints": { "alias": "breakpoints"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; "initialItems": { "alias": "initialItems"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; }, { "layoutChange": "layoutChange"; }, never, never, true, never>;
13972
14250
  }
13973
14251
 
13974
14252
  type AutoScrollPointer = {
@@ -14184,22 +14462,22 @@ declare const resolveBreakpoint: (breakpoints: GridBreakpointConfig[], container
14184
14462
  declare const mapLayoutToBreakpoint: (options: MapLayoutOptions) => GridLayoutEntry[];
14185
14463
  declare const DEFAULT_BREAKPOINTS: GridBreakpointConfig[];
14186
14464
 
14187
- type SerializeOptions = {
14188
- items: GridItemConfig[];
14465
+ type SerializeOptions<TData = unknown> = {
14466
+ items: GridItemConfig<string, TData>[];
14189
14467
  breakpoints: GridBreakpointConfig[];
14190
14468
  rowHeight: number;
14191
14469
  };
14192
14470
  /**
14193
14471
  * Serializes the current grid state into a JSON-compatible object suitable for DB storage.
14194
14472
  */
14195
- declare const serializeGridLayout: (options: SerializeOptions) => GridSerializedState;
14473
+ declare const serializeGridLayout: <TData>(options: SerializeOptions<TData>) => GridSerializedState<TData>;
14196
14474
  /**
14197
14475
  * Deserializes a stored grid state back into working configuration.
14198
14476
  * Returns breakpoint configs and item configs.
14199
14477
  */
14200
- declare const deserializeGridLayout: (state: GridSerializedState, breakpointMinWidths: Record<string, number>) => {
14478
+ declare const deserializeGridLayout: <TData>(state: GridSerializedState<TData>, breakpointMinWidths: Record<string, number>) => {
14201
14479
  breakpoints: GridBreakpointConfig[];
14202
- items: GridItemConfig[];
14480
+ items: GridItemConfig<string, TData>[];
14203
14481
  rowHeight: number;
14204
14482
  };
14205
14483
 
@@ -14209,10 +14487,10 @@ declare class GridItemDirective {
14209
14487
  private destroyRef;
14210
14488
  hostElement: ElementRef<HTMLElement>;
14211
14489
  itemId: _angular_core.InputSignal<string>;
14212
- minColSpan: _angular_core.InputSignalWithTransform<number, unknown>;
14213
- maxColSpan: _angular_core.InputSignalWithTransform<number, unknown>;
14214
- minRowSpan: _angular_core.InputSignalWithTransform<number, unknown>;
14215
- maxRowSpan: _angular_core.InputSignalWithTransform<number, unknown>;
14490
+ minColSpan: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
14491
+ maxColSpan: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
14492
+ minRowSpan: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
14493
+ maxRowSpan: _angular_core.InputSignalWithTransform<number | undefined, unknown>;
14216
14494
  isBeingDragged: _angular_core.Signal<boolean>;
14217
14495
  currentPosition: _angular_core.Signal<_ethlete_components.GridItemPosition | null>;
14218
14496
  /** The layout-derived target rect in container-relative pixels. */
@@ -14239,7 +14517,7 @@ declare class GridItemDirective {
14239
14517
  }
14240
14518
 
14241
14519
  declare class GridDragDirective {
14242
- protected grid: _ethlete_components.GridDirective | null;
14520
+ protected grid: _ethlete_components.GridDirective<unknown> | null;
14243
14521
  private gridItem;
14244
14522
  private elementRef;
14245
14523
  private destroyRef;
@@ -14301,7 +14579,7 @@ declare class GridResizeDirective {
14301
14579
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridResizeDirective, "[etGridResize]", never, {}, {}, never, never, true, never>;
14302
14580
  }
14303
14581
 
14304
- declare const GRID_TOKEN: InjectionToken<GridDirective>;
14582
+ declare const GRID_TOKEN: InjectionToken<GridDirective<unknown>>;
14305
14583
 
14306
14584
  type GridConfig = {
14307
14585
  registrations: GridComponentRegistration[];
@@ -14310,11 +14588,11 @@ type GridConfig = {
14310
14588
  declare const provideGridConfig: (valueOverride?: Partial<GridConfig> | undefined) => _angular_core.Provider[];
14311
14589
  declare const injectGridConfig: _ethlete_core.InjectFn<GridConfig>;
14312
14590
 
14313
- type GridAdapter<TExternal> = {
14314
- fromExternal(items: TExternal[]): GridItemConfig[];
14315
- toExternal(items: GridItemConfig[]): TExternal[];
14591
+ type GridAdapter<TExternal, TData = unknown> = {
14592
+ fromExternal(items: TExternal[]): GridItemConfig<string, TData>[];
14593
+ toExternal(items: GridItemConfig<string, TData>[]): TExternal[];
14316
14594
  };
14317
- declare const createGridAdapter: <TExternal>(fromItem: (item: TExternal) => GridItemConfig, toItem: (item: GridItemConfig) => TExternal) => GridAdapter<TExternal>;
14595
+ declare const createGridAdapter: <TExternal, TData = unknown>(fromItem: (item: TExternal) => GridItemConfig<string, TData>, toItem: (item: GridItemConfig<string, TData>) => TExternal) => GridAdapter<TExternal, TData>;
14318
14596
  /** Map a backend position shaped as `{x, y, cols, rows}` to a `GridItemPosition`. */
14319
14597
  declare const toGridPosition: (pos: {
14320
14598
  x: number;
@@ -14330,21 +14608,29 @@ declare const fromGridPosition: (pos: GridItemPosition) => {
14330
14608
  rows: number;
14331
14609
  };
14332
14610
 
14333
- declare class GridComponent {
14334
- grid: GridDirective;
14611
+ declare class GridComponent<TData = unknown> {
14335
14612
  private gridConfig;
14336
14613
  private labels;
14614
+ /**
14615
+ * The items to render. Despite the name this is a live input, not a one-shot seed - see
14616
+ * `GridDirective.initialItems`. Typed in the item payload, so `layoutChange` hands the same
14617
+ * `TData` back instead of `unknown`.
14618
+ */
14619
+ initialItems: _angular_core.InputSignal<GridItemConfig<string, TData>[]>;
14620
+ /** Emitted after the layout changed on this side - see `GridDirective.layoutChange`. */
14621
+ layoutChange: _angular_core.OutputEmitterRef<GridSerializedState<TData>>;
14622
+ grid: GridDirective<TData>;
14337
14623
  protected actionsComponent: _angular_core.Signal<_ethlete_components.GridItemActionsComponent | null>;
14338
14624
  protected registeredItems: _angular_core.Signal<{
14339
- item: _ethlete_components.GridItemConfig;
14625
+ item: GridItemConfig<string, TData>;
14340
14626
  reg: _ethlete_components.GridComponentRegistration;
14341
14627
  }[]>;
14342
14628
  protected ariaLabel: _angular_core.Signal<string>;
14343
14629
  protected ghostRect: _angular_core.Signal<_ethlete_components.PixelRect | null>;
14344
14630
  protected ghostTransition: _angular_core.Signal<"none" | "translate 200ms cubic-bezier(0.2, 0, 0, 1), width 200ms cubic-bezier(0.2, 0, 0, 1), height 200ms cubic-bezier(0.2, 0, 0, 1)">;
14345
14631
  constructor();
14346
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridComponent, never>;
14347
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<GridComponent, "et-grid, [et-grid]", never, {}, {}, never, ["*"], true, [{ directive: typeof GridDirective; inputs: { "breakpoints": "breakpoints"; "rowHeight": "rowHeight"; "gap": "gap"; "initialItems": "initialItems"; "readOnly": "readOnly"; }; outputs: { "layoutChange": "layoutChange"; }; }]>;
14632
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridComponent<any>, never>;
14633
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<GridComponent<any>, "et-grid, [et-grid]", never, { "initialItems": { "alias": "initialItems"; "required": false; "isSignal": true; }; }, { "layoutChange": "layoutChange"; }, never, ["*"], true, [{ directive: typeof GridDirective; inputs: { "breakpoints": "breakpoints"; "rowHeight": "rowHeight"; "gap": "gap"; "readOnly": "readOnly"; }; outputs: {}; }]>;
14348
14634
  }
14349
14635
 
14350
14636
  declare class GridItemComponent {
@@ -14396,12 +14682,12 @@ declare class GridItemDefaultActionsComponent {
14396
14682
  */
14397
14683
  declare class GridDebugComponent {
14398
14684
  private destroyRef;
14399
- grid: _angular_core.InputSignal<GridComponent>;
14685
+ grid: _angular_core.InputSignal<GridComponent<unknown>>;
14400
14686
  externalItems: _angular_core.InputSignal<GridItemConfig[] | null>;
14401
14687
  activeBreakpoint: _angular_core.Signal<string>;
14402
14688
  containerWidth: _angular_core.Signal<number>;
14403
14689
  breakpoints: _angular_core.Signal<_ethlete_components.GridBreakpointConfig[]>;
14404
- items: _angular_core.Signal<GridItemConfig[]>;
14690
+ items: _angular_core.Signal<GridItemConfig<string, unknown>[]>;
14405
14691
  layout: _angular_core.Signal<_ethlete_components.GridLayoutEntry[]>;
14406
14692
  hasDrag: _angular_core.Signal<boolean>;
14407
14693
  hasExternal: _angular_core.Signal<boolean>;
@@ -16763,6 +17049,13 @@ type ProgressStepState = (typeof PROGRESS_STEP_STATES)[keyof typeof PROGRESS_STE
16763
17049
  * `complete` marks a step as done in the surrounding color theme; `success`, `warning` and `error`
16764
17050
  * mark it as done with an outcome and recolor the step in the app's matching semantic theme, each
16765
17051
  * with its own icon so the outcome does not rest on color alone.
17052
+ *
17053
+ * Write the step as a link or a button to make it interactive - the attribute selector puts the step
17054
+ * on the consumer's own element, so `routerLink`, `href` and click handlers all stay where they
17055
+ * belong, and the whole step becomes the target:
17056
+ *
17057
+ * @example
17058
+ * <a [routerLink]="['/checkout/account']" state="complete" et-progress-step>Account</a>
16766
17059
  */
16767
17060
  declare class ProgressStepComponent {
16768
17061
  private provideColor;
@@ -16771,12 +17064,18 @@ declare class ProgressStepComponent {
16771
17064
  protected markerIcon: _angular_core.Signal<string | null>;
16772
17065
  constructor();
16773
17066
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProgressStepComponent, never>;
16774
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProgressStepComponent, "et-progress-step", never, { "state": { "alias": "state"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof _ethlete_core.ProvideColorDirective; inputs: {}; outputs: {}; }]>;
17067
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProgressStepComponent, "et-progress-step, [et-progress-step]", never, { "state": { "alias": "state"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof _ethlete_core.ProvideColorDirective; inputs: {}; outputs: {}; }, { directive: typeof FocusRingDirective; inputs: {}; outputs: {}; }]>;
16775
17068
  }
16776
17069
 
17070
+ declare const PROGRESS_STEPS_ORIENTATIONS: {
17071
+ readonly HORIZONTAL: "horizontal";
17072
+ readonly VERTICAL: "vertical";
17073
+ };
17074
+ type ProgressStepsOrientation = (typeof PROGRESS_STEPS_ORIENTATIONS)[keyof typeof PROGRESS_STEPS_ORIENTATIONS];
16777
17075
  /**
16778
- * Lays out a row of `et-progress-step`s with automatic step numbering and a connecting line
16779
- * between them - project the steps in order, each with its own `state`.
17076
+ * Lays out a row - or, with `orientation="vertical"`, a column - of `et-progress-step`s with automatic
17077
+ * step numbering and a connecting line between them. Project the steps in order, each with its own
17078
+ * `state`.
16780
17079
  *
16781
17080
  * @example
16782
17081
  * <et-progress-steps>
@@ -16786,1738 +17085,14 @@ declare class ProgressStepComponent {
16786
17085
  * </et-progress-steps>
16787
17086
  */
16788
17087
  declare class ProgressStepsComponent {
17088
+ /** Whether the steps run across the row or down a column. The connector follows. */
17089
+ orientation: _angular_core.InputSignal<ProgressStepsOrientation>;
16789
17090
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProgressStepsComponent, never>;
16790
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProgressStepsComponent, "et-progress-steps", never, {}, {}, never, ["*"], true, never>;
17091
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProgressStepsComponent, "et-progress-steps", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
16791
17092
  }
16792
17093
 
16793
17094
  declare const PROGRESS_STEPS_IMPORTS: readonly [typeof ProgressStepsComponent, typeof ProgressStepComponent];
16794
17095
 
16795
- type AboutRow = {
16796
- label: string;
16797
- value: string;
16798
- };
16799
- type AboutGroup = {
16800
- title: string;
16801
- rows: AboutRow[];
16802
- };
16803
- /**
16804
- * What is running: the loaded `@ethlete/*` versions, the Angular version and whatever the app handed to
16805
- * `provideQueryDevtools({ about })`. A section rather than a tab body, so it can be shown anywhere.
16806
- */
16807
- declare class QueryDevtoolsAboutComponent {
16808
- protected readonly groups: AboutGroup[];
16809
- protected copied: _angular_core.WritableSignal<boolean>;
16810
- protected copy(): void;
16811
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<QueryDevtoolsAboutComponent, never>;
16812
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<QueryDevtoolsAboutComponent, "et-query-devtools-about", never, {}, {}, never, never, true, never>;
16813
- }
16814
-
16815
- /** Which of a node's four pasteable forms a copy action asks for. */
16816
- type QueryDevtoolsCopyPayload = 'value' | 'key' | 'path' | 'entry';
16817
-
16818
- /** A JSON value's kind as the value explorer (and its per-node override menu) categorizes it. */
16819
- type JsonKind = 'string' | 'number' | 'boolean' | 'null' | 'undefined' | 'array' | 'object';
16820
- type JsonEntry = {
16821
- k: string;
16822
- v: unknown;
16823
- };
16824
- /** A folded slice of a container's entries, rendered as its own collapsible row. */
16825
- type JsonChunk = {
16826
- start: number;
16827
- end: number;
16828
- label: string;
16829
- };
16830
- declare const kindOf: (value: unknown) => JsonKind;
16831
- /**
16832
- * A recursive, collapsible, searchable JSON tree used by the query devtools value explorer. Renders
16833
- * the *transformed* value the app actually sees (post `transformResponse`). Self-recurses via its
16834
- * own selector - both for child entries and for the folded slices of an oversized container, which
16835
- * re-enter as the same component with a `chunk` window over the same value.
16836
- */
16837
- declare class QueryDevtoolsJsonComponent {
16838
- value: _angular_core.InputSignal<unknown>;
16839
- nodeKey: _angular_core.InputSignal<string | null>;
16840
- depth: _angular_core.InputSignalWithTransform<number, unknown>;
16841
- /** Lowercased search term; when set, the tree auto-expands and matches are highlighted. */
16842
- search: _angular_core.InputSignal<string>;
16843
- /**
16844
- * When set, this node is not the value itself but a folded window over its entries. It shares the
16845
- * container's `path` so a child's persisted expansion does not depend on where the slice borders land.
16846
- */
16847
- chunk: _angular_core.InputSignal<JsonChunk | null>;
16848
- /** Full path of this node from the explorer root, used as the key for persisted expansion. */
16849
- path: _angular_core.InputSignal<string>;
16850
- /** Persisted paths explicitly expanded (overrides the depth default). */
16851
- expandedPaths: _angular_core.InputSignal<ReadonlySet<string> | null>;
16852
- /** Persisted paths explicitly collapsed (overrides the depth default). */
16853
- collapsedPaths: _angular_core.InputSignal<ReadonlySet<string> | null>;
16854
- /** When provided, expansion is externally persisted via this callback instead of local state. */
16855
- toggleFn: _angular_core.InputSignal<((path: string, expand: boolean) => void) | null>;
16856
- /** Same node as {@link path}, but as the array-of-steps an override op targets rather than a display key. */
16857
- jsonPath: _angular_core.InputSignal<JsonPath>;
16858
- /** The kind of the container holding this node, so its override menu can offer "duplicate this item". */
16859
- parentKind: _angular_core.InputSignal<JsonKind | null>;
16860
- /** When provided, every node renders an override menu that arms/clears ops through it. */
16861
- overrides: _angular_core.InputSignal<QueryDevtoolsOverridesRecorder | null>;
16862
- /**
16863
- * The declared type of each field, keyed by its path with array indices as `*` (`items.*.id`) - as
16864
- * {@link QueryDevtoolsSchemaSeed} produces it. A node with an entry labels itself with it.
16865
- */
16866
- annotations: _angular_core.InputSignal<ReadonlyMap<string, string> | null>;
16867
- protected kind: _angular_core.Signal<JsonKind>;
16868
- private exotic;
16869
- /** One annotation covers every element of an array, so the lookup path forgets which index this is. */
16870
- private shapePath;
16871
- protected annotation: _angular_core.Signal<string | null>;
16872
- protected annotationTitle: _angular_core.Signal<string>;
16873
- /** A `Date` or a `File` is object-typed but has nothing to expand into, so it renders as a leaf. */
16874
- protected isContainer: _angular_core.Signal<boolean>;
16875
- /** The entries this node covers: the container's own, or just the window a chunk stands for. */
16876
- ownEntries: _angular_core.Signal<JsonEntry[]>;
16877
- protected childChunks: _angular_core.Signal<JsonChunk[]>;
16878
- /** Entries rendered as rows - empty while they are folded into slices instead. */
16879
- protected visibleEntries: _angular_core.Signal<JsonEntry[]>;
16880
- /** Slices carry their window in the key so siblings persist independently of the container. */
16881
- private togglePath;
16882
- private defaultExpanded;
16883
- private localExpanded;
16884
- protected expanded: _angular_core.Signal<boolean>;
16885
- /** Only slices that actually contain a match unfold while searching, so a filter stays cheap. */
16886
- private chunkHasHit;
16887
- protected effectiveExpanded: _angular_core.Signal<boolean>;
16888
- /** What the last copy put on the clipboard, or `null` once the tick has expired. */
16889
- protected copied: _angular_core.WritableSignal<QueryDevtoolsCopyPayload | null>;
16890
- private copiedReset$;
16891
- /**
16892
- * Whether this node has an address of its own to copy. An explorer root has no key, and a folded
16893
- * slice stands for a range of entries rather than one path - neither can name itself.
16894
- */
16895
- protected addressable: _angular_core.Signal<boolean>;
16896
- private valueLabel;
16897
- /**
16898
- * Doubles as the button's `title` and its `aria-label`, and names what landed while the tick is up -
16899
- * a bare `✓` stopped being unambiguous once the menu put four payloads behind one control.
16900
- */
16901
- protected copyLabel: _angular_core.Signal<string>;
16902
- protected preview: _angular_core.Signal<string>;
16903
- protected display: _angular_core.Signal<string>;
16904
- protected keyHit: _angular_core.Signal<boolean>;
16905
- protected valueHit: _angular_core.Signal<boolean>;
16906
- constructor();
16907
- protected childPath(key: string): string;
16908
- protected childJsonPath(key: string): JsonPath;
16909
- protected toggle(): void;
16910
- /**
16911
- * Writes one of the node's four pasteable forms. All of them go through here so the tick stays a
16912
- * single readout of what actually landed.
16913
- */
16914
- protected copy(payload: QueryDevtoolsCopyPayload): void;
16915
- /**
16916
- * Containers copy their whole subtree as JSON, slices only the entries they cover; leaves copy
16917
- * something pasteable - a raw string without the display quotes, so an id or url can go straight
16918
- * into a search box. `null` for a subtree that cannot be serialized at all.
16919
- */
16920
- private copyTextFor;
16921
- /** An exotic container copies the entries the tree shows, not the private fields `JSON.stringify` finds. */
16922
- private copyableValue;
16923
- private chunkValue;
16924
- private flagCopied;
16925
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<QueryDevtoolsJsonComponent, never>;
16926
- 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; }; "jsonPath": { "alias": "jsonPath"; "required": false; "isSignal": true; }; "parentKind": { "alias": "parentKind"; "required": false; "isSignal": true; }; "overrides": { "alias": "overrides"; "required": false; "isSignal": true; }; "annotations": { "alias": "annotations"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16927
- }
16928
-
16929
- /**
16930
- * The value explorer's tree chrome, as a styles-only component the tree mounts itself - a session that
16931
- * never opens a JSON view does not inject it.
16932
- *
16933
- * @internal
16934
- */
16935
- declare class QueryDevtoolsJsonStylesComponent {
16936
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<QueryDevtoolsJsonStylesComponent, never>;
16937
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<QueryDevtoolsJsonStylesComponent, "et-query-devtools-json-styles", never, {}, {}, never, never, true, never>;
16938
- }
16939
-
16940
- /** Whether a path exists only in the newer value, only in the older one, or in both with a new value. */
16941
- type QueryDevtoolsDiffKind = 'added' | 'removed' | 'changed';
16942
- /** One difference between two values, located by the path it sits at. */
16943
- type QueryDevtoolsDiffEntry = {
16944
- /** Where the difference sits, e.g. `$.items[2].score` or `$.items[id=7].score`. */
16945
- path: string;
16946
- kind: QueryDevtoolsDiffKind;
16947
- /** The older value, or `null` for an added path. */
16948
- before: unknown;
16949
- /** The newer value, or `null` for a removed path. */
16950
- after: unknown;
16951
- };
16952
- type QueryDevtoolsDiff = {
16953
- entries: QueryDevtoolsDiffEntry[];
16954
- /** Whether the walk hit its cap, so {@link entries} is only part of the difference. */
16955
- truncated: boolean;
16956
- };
16957
-
16958
- type AnyQuery = Query<any>;
16959
- /** The query a detail pane is showing, together with the registry entry it was registered as. */
16960
- type QueryDevtoolsSelection = {
16961
- entry: QueryDevtoolsEntry;
16962
- query: AnyQuery;
16963
- };
16964
- /**
16965
- * A body the panel can show. Every one of them but `settings` is a tab in the bar: Settings holds nothing
16966
- * to count, so the badge/overflow logic would push it behind **More** - it is reached from the header's
16967
- * gear instead.
16968
- */
16969
- type DevtoolsTab = 'queries' | 'stacks' | 'sequences' | 'forms' | 'auth' | 'ws' | 'cache' | 'timeline' | 'events' | 'faults' | 'mocks' | 'about' | 'settings';
16970
- /**
16971
- * The sections of the query detail drawer. The head and its actions stay pinned above them - the detail
16972
- * holds more than fits a column, and everything below the actions is reading material.
16973
- */
16974
- type DetailTab = 'overview' | 'history' | 'data';
16975
- /**
16976
- * Which pane of a two-pane tab a divider drag sizes: the Queries tab's list, or the drawer every
16977
- * split view opens a query in.
16978
- */
16979
- type PaneTarget = 'list' | 'drawer';
16980
- /** The axis a two-pane tab splits along: the panes sit side by side, or stack in a side dock. */
16981
- type PaneAxis = 'inline' | 'block';
16982
- type QueryStatus = 'idle' | 'loading' | 'success' | 'error';
16983
- /**
16984
- * A facet the Queries list can be narrowed to. The first four describe live state; `gone` is the odd
16985
- * one out - it is the only way a destroyed query's tombstone enters the list at all, which is why it
16986
- * is off by default rather than just another filter over what is already shown.
16987
- */
16988
- type QueryListFacet = 'error' | 'loading' | 'stale' | 'idle' | 'gone';
16989
- /**
16990
- * A chunk of a route as rendered: literal path text, a path param (`name` is the param it fills in) or
16991
- * the query string of the request that ran. The kind becomes the segment's class.
16992
- */
16993
- type RouteSegment = {
16994
- text: string;
16995
- kind: 'static' | 'param' | 'query';
16996
- name?: string;
16997
- };
16998
- /**
16999
- * Which tab refreshes an auth provider's tokens, as the auth tab's chip renders it. `title` carries
17000
- * the caveats the label has no room for - why every tab reads as the leader, or how approximate the
17001
- * tab count is.
17002
- */
17003
- type QueryDevtoolsLeadership = {
17004
- label: string;
17005
- tone: 'success' | 'muted';
17006
- title: string;
17007
- };
17008
- /** A query reachable from a stack or sequence card, rendered as a row that opens the detail drawer. */
17009
- type QueryLink = {
17010
- id: string;
17011
- query: AnyQuery;
17012
- method: string;
17013
- segments: RouteSegment[];
17014
- clientBaseUrl: string;
17015
- stats?: QueryDevtoolsStatsHandle;
17016
- };
17017
- /**
17018
- * Query stats plus the numbers the panel derives from them rather than storing: an execution that never
17019
- * reached the network was answered from the cache, and the averages come from the running totals.
17020
- */
17021
- type QueryActivity = {
17022
- stats: QueryDevtoolsStats;
17023
- cacheServed: number;
17024
- avgDurationMs: number | null;
17025
- avgResponseBytes: number | null;
17026
- hasActivity: boolean;
17027
- };
17028
- /**
17029
- * What a query's request is doing beyond `loading`: which attempt it is on, the backoff it is waiting
17030
- * out, and how much of the payload has moved. Without it a request retried three times behind a 4s
17031
- * backoff and a plain slow one are the same yellow dot.
17032
- */
17033
- type RequestProgress = {
17034
- /** @see HttpRequestSubtle.attempts */
17035
- attempts: number;
17036
- retry: HttpRequestRetryState | null;
17037
- /** How much of the pending backoff is left, or `null` when none is pending. */
17038
- retryInMs: number | null;
17039
- progress: HttpRequestLoadingProgressState | null;
17040
- };
17041
- /**
17042
- * One request a refresh re-executed, as an event row lists it. A cache key is shared by every query
17043
- * bound to it, so the row carries all of their ids - one to open, and the rest so each of those queries
17044
- * can still find the refresh under "Refetched by". Empty for a request no registered query holds.
17045
- */
17046
- type RefreshedRequest = {
17047
- queryIds: string[];
17048
- method: string;
17049
- path: string;
17050
- };
17051
- type EventLogItem = {
17052
- id: number;
17053
- timestamp: number;
17054
- client: string;
17055
- type: 'entry-created' | 'request-success' | 'request-error' | 'entry-destroyed' | 'unbind-all-secure' | 'queries-refreshed';
17056
- /** `null` for events that are not about a single request, e.g. the logout-wide secure unbind. */
17057
- method: string | null;
17058
- url: string | null;
17059
- isSecure: boolean;
17060
- status: number | null;
17061
- /**
17062
- * The registered query the request belonged to when the event fired, so the row can open it. Resolved
17063
- * here rather than at click time so the log holds an id instead of a reference to the request itself.
17064
- */
17065
- queryId: string | null;
17066
- /** What asked for a refresh, for a `queries-refreshed` row. `null` for every other type. */
17067
- cause: QueryRefreshCause | null;
17068
- /** Why a cache entry was torn down, for an `entry-destroyed` row. `null` for every other type. */
17069
- destroyCause: QueryRepositoryEntryDestroyedCause | null;
17070
- /** The requests that refresh re-executed - the fan-out the panel could not show before. */
17071
- refreshed: RefreshedRequest[] | null;
17072
- /**
17073
- * How long the request took and how big its response was, read off the request as the event fired.
17074
- * Both `null` for an event that is not one request settling, and the size also for a failure - an
17075
- * error body is not a payload worth a column.
17076
- */
17077
- durationMs: number | null;
17078
- bytes: number | null;
17079
- /** @see QueryDevtoolsStats.hasEstimatedBytes */
17080
- isEstimatedBytes: boolean;
17081
- };
17082
- /**
17083
- * A cache entry that is gone, as the Cache tab still lists it. Deliberately not a {@link CacheRow}: a
17084
- * destroyed entry has no consumers, no size, no freshness and nothing to act on, so a full row would be
17085
- * seven columns of dashes. What is left worth showing is what it was and why it went.
17086
- */
17087
- type DroppedCacheEntry = {
17088
- client: string;
17089
- method: string;
17090
- url: string;
17091
- cause: QueryRepositoryEntryDestroyedCause;
17092
- at: number;
17093
- };
17094
- /** One cache entry as the Cache tab lists it: the repository's own snapshot plus its measured size. */
17095
- type CacheRow = {
17096
- entry: QueryRepositoryCacheEntry;
17097
- bytes: number;
17098
- isEstimatedBytes: boolean;
17099
- };
17100
- /** A repository the panel found, together with the client name/base URL it was registered under. */
17101
- type RepositoryInfo = {
17102
- repository: QueryRepository;
17103
- name: string;
17104
- baseUrl: string;
17105
- client: QueryClient | null;
17106
- };
17107
- /** One client's cache, as the Cache tab lists it - every entry measured, with the client's poll states. */
17108
- type CacheView = {
17109
- name: string;
17110
- baseUrl: string;
17111
- repository: QueryRepository;
17112
- rows: CacheRow[];
17113
- bytes: number;
17114
- isEstimatedBytes: boolean;
17115
- unused: number;
17116
- pollStates: Record<string, QueryKeyLockState>;
17117
- client: QueryClient | null;
17118
- /** The entries this client has lost since the panel was loaded, newest first. */
17119
- dropped: DroppedCacheEntry[];
17120
- };
17121
- /** What each tab holds, as its badge reports it: how many entries, and how many of them are failing. */
17122
- type TabBadge = {
17123
- count: number;
17124
- errors: number;
17125
- errorNoun?: string;
17126
- };
17127
-
17128
- /**
17129
- * Everything a tab or the shared detail drawer reads from - or writes back into - the always-mounted
17130
- * `<et-query-devtools>` panel: cross-tab registries, the JIT editor, copy/export actions, the value
17131
- * explorer and pane sizing. A tab component only ever exists while it is the active one, so anything a
17132
- * tab needs to survive being switched away from (a drawer's own selection, the persisted panel chrome)
17133
- * has to live here instead of on the tab itself. Every member below is named and shaped exactly like the
17134
- * panel's own field/method it stands in for.
17135
- *
17136
- * @see injectQueryDevtoolsHost
17137
- */
17138
- type QueryDevtoolsHost = {
17139
- selectTab(tab: DevtoolsTab): void;
17140
- /** Jumps to the Queries tab with this query selected - the Events tab is a way in, not a dead end. */
17141
- selectQuery(id: string): void;
17142
- /** Jumps to the Forms tab with this form selected. */
17143
- selectForm(id: string): void;
17144
- queryEntries: Signal<QueryDevtoolsEntry[]>;
17145
- stackEntries: Signal<QueryDevtoolsEntry[]>;
17146
- sequenceEntries: Signal<QueryDevtoolsEntry[]>;
17147
- formEntries: Signal<QueryDevtoolsEntry[]>;
17148
- authEntries: Signal<QueryDevtoolsEntry[]>;
17149
- wsEntries: Signal<QueryDevtoolsEntry[]>;
17150
- repositories: Signal<RepositoryInfo[]>;
17151
- /**
17152
- * The cache per client, with every entry's size measured. Reading each response inside the computed is
17153
- * what keeps the totals current: a cache mutation bumps `cacheVersion`, but a response landing in an
17154
- * entry that is already there does not.
17155
- */
17156
- cacheView: Signal<CacheView[]>;
17157
- refetchCacheEntry(entry: QueryRepositoryCacheEntry): void;
17158
- evictCacheEntry(repository: QueryRepository, key: string): void;
17159
- /** Drops every entry of one client, consumers included - the cold-start check that does not need a reload. */
17160
- evictAllCacheEntries(repository: QueryRepository): void;
17161
- toggleCacheValue(clientName: string, key: string): void;
17162
- isCacheValueExpanded(clientName: string, key: string): boolean;
17163
- cacheFreshness(entry: QueryRepositoryCacheEntry): string;
17164
- cacheSync(entry: QueryRepositoryCacheEntry, pollStates: Record<string, unknown>): string;
17165
- cachePersistence(entry: QueryRepositoryCacheEntry): string;
17166
- /** How many responses this client has on disk, which is usually more than it has in memory. */
17167
- persistedCount(client: QueryClient): number;
17168
- clearPersistedQueries(client: QueryClient): void;
17169
- /** The features of the client behind a cache tab card, or `null` for a client without any. */
17170
- clientFeatures(client: QueryClient | null | undefined): QueryDevtoolsFeature[] | null;
17171
- /** Unique client names present across queries and auth providers, for the Queries/Timeline pickers. */
17172
- clientNames: Signal<string[]>;
17173
- /** What each tab holds - also drives the tab bar's own badges, so it lives here rather than per-tab. */
17174
- tabBadges: Signal<Record<DevtoolsTab, TabBadge>>;
17175
- /**
17176
- * Every client the Faults tab can arm, with the fault it currently carries. Also feeds the
17177
- * cross-tab "Faults armed" banner and the session export, so it lives here rather than on the tab.
17178
- */
17179
- faultClients: Signal<{
17180
- name: string;
17181
- baseUrl: string;
17182
- fault: QueryDevtoolsFault;
17183
- armed: boolean;
17184
- }[]>;
17185
- /**
17186
- * The queries in scope before the Queries tab's own search box and status chips narrow them further:
17187
- * either the picked client's, or exactly the inspected element's. Also what the Timeline tab scopes
17188
- * its runs to, which is why this lives here rather than on the Queries tab alone.
17189
- */
17190
- scopedQueries: Signal<QueryDevtoolsEntry[]>;
17191
- /** 1-second tick driving every countdown/freshness readout across tabs. */
17192
- clock: Signal<number>;
17193
- findQuery(id: string | null): QueryDevtoolsSelection | null;
17194
- queryLinkFor(entry: QueryDevtoolsEntry | undefined, query?: AnyQuery): QueryLink;
17195
- asStack(entry: QueryDevtoolsEntry): AnyQueryStack;
17196
- asPagedStack(entry: QueryDevtoolsEntry): AnyPagedQueryStack;
17197
- asSequence(entry: QueryDevtoolsEntry): QuerySequence<unknown[]>;
17198
- asAuth(entry: QueryDevtoolsEntry): AnyBearerAuthProvider;
17199
- asWs(entry: QueryDevtoolsEntry): WebSocketDevtoolsHandle;
17200
- asForm(entry: QueryDevtoolsEntry): QueryDevtoolsFormHandle;
17201
- authTokenPayload(auth: AnyBearerAuthProvider): Record<string, unknown> | null;
17202
- authQueryKeys(auth: AnyBearerAuthProvider): string[];
17203
- /** Countdown to the access-token's `exp` (the point a refresh becomes due), or `null` if unknown. */
17204
- authTokenExpiry(auth: AnyBearerAuthProvider): string | null;
17205
- /** The multi-tab leadership chip, or `null` for a provider without `withBearerAuthMultiTabSync`. */
17206
- authLeadership(auth: AnyBearerAuthProvider): QueryDevtoolsLeadership | null;
17207
- queryStatus(query: AnyQuery): 'idle' | 'loading' | 'success' | 'error';
17208
- isStale(query: AnyQuery): boolean;
17209
- /** Whether an entry is showing an armed response override or a devtools-faulted outcome. */
17210
- isTampered(entry: QueryDevtoolsEntry): boolean;
17211
- /** Whether armed response overrides are stored and replayed on the next load. */
17212
- overridesPersist(): boolean;
17213
- toggleOverridesPersist(): void;
17214
- /** Where they are kept, named for a title or a hint (`sessionStorage`, `localStorage`, `not kept`). */
17215
- overridesScopeLabel(): string;
17216
- /** Puts the panel's layout, filters, pins and stored overrides back to defaults, keeping the settings. */
17217
- resetDevtools(): void;
17218
- requestProgress(query: AnyQuery): RequestProgress | null;
17219
- retryCause(status: number): string;
17220
- requestUrl(query: AnyQuery): string | null;
17221
- requestPath(url: string): string;
17222
- queryArgs(query: AnyQuery): unknown;
17223
- routeSegments(entry: QueryDevtoolsEntry | undefined, query: AnyQuery): RouteSegment[];
17224
- queryActivity(entry: QueryDevtoolsEntry): QueryActivity;
17225
- linkActivity(link: QueryLink): QueryActivity;
17226
- stackActivity(stack: AnyQueryStack | AnyPagedQueryStack): QueryActivity;
17227
- sequenceActivity(sequence: QuerySequence<unknown[]>): QueryActivity;
17228
- queriesForStack(stack: AnyQueryStack | AnyPagedQueryStack): QueryLink[];
17229
- queriesForSequence(sequence: QuerySequence<unknown[]>): QueryLink[];
17230
- /**
17231
- * The queries a form feeds, discovered from the reads its `value()` recorded while their args were
17232
- * built - so a form that nothing consumes yet reads as exactly that.
17233
- */
17234
- queriesDrivenByForm(entry: QueryDevtoolsEntry): QueryLink[];
17235
- sequenceStepStatus(sequence: QuerySequence<unknown[]>, index: number): QuerySequenceStatus;
17236
- stepSnapshot(sequence: QuerySequence<unknown[]>, index: number): AnyQuerySnapshot | null;
17237
- /** Whether a sequence step's in/out detail (`<entryId>:<stepIndex>`) is expanded - persisted. */
17238
- isStepExpanded(entryId: string, index: number): boolean;
17239
- toggleStep(entryId: string, index: number): void;
17240
- /** Keys of the Queries-list groups of identical rows the user opened - persisted. */
17241
- expandedQueryGroups: Signal<ReadonlySet<string>>;
17242
- toggleQueryGroup(key: string): void;
17243
- expandQueryGroup(key: string): void;
17244
- /** Which way the Queries list sorts by last-executed time - persisted. */
17245
- queryRecentFirst: WritableSignal<boolean>;
17246
- /** Whether the Queries list is arranged as a tree of route paths instead of a flat list - persisted. */
17247
- queryTreeView: WritableSignal<boolean>;
17248
- /** The path folders the user closed. Collapsed, not expanded - a tree opens open. */
17249
- collapsedQueryPaths: Signal<ReadonlySet<string>>;
17250
- toggleQueryPath(key: string): void;
17251
- /** The element a query was created in, or `null` for one created outside a component/directive. */
17252
- locatableElement(entry: QueryDevtoolsEntry): HTMLElement | null;
17253
- locateQuery(entry: QueryDevtoolsEntry): void;
17254
- locateState: Signal<'idle' | 'located' | 'offscreen'>;
17255
- resetStats(entry: QueryDevtoolsEntry): void;
17256
- executeQuery(selection: QueryDevtoolsSelection, allowCache: boolean): void;
17257
- resetQuery(query: AnyQuery): void;
17258
- formatDuration(ms: number | null): string;
17259
- formatBytes(bytes: number): string;
17260
- formatTransferred(bytes: number, isEstimated: boolean): string;
17261
- formatSpeed(bytesPerSecond: number): string;
17262
- formatPercent(percentage: number): string;
17263
- formatCountdown(ms: number | null): string;
17264
- formatTime(timestamp: number | null): string;
17265
- gqlDocument(doc: string): string;
17266
- inlineValue(value: unknown): string;
17267
- featureLabel(type: string): string;
17268
- featureSummary(feature: QueryDevtoolsFeature): string;
17269
- detailTab: WritableSignal<DetailTab>;
17270
- editorMode: WritableSignal<'none' | 'response' | 'args'>;
17271
- responseDraft: WritableSignal<string>;
17272
- argsDraft: WritableSignal<string>;
17273
- /** The text the currently open editor was seeded with - not a signal, see the field's own doc. */
17274
- editorSeed: string;
17275
- editError: Signal<string | null>;
17276
- openResponseEditor(query: AnyQuery): void;
17277
- openArgsEditor(selection: QueryDevtoolsSelection): void;
17278
- applyResponse(query: AnyQuery): void;
17279
- applyArgs(query: AnyQuery): void;
17280
- cancelEditor(): void;
17281
- forceLoading(query: AnyQuery): void;
17282
- forceError(query: AnyQuery): void;
17283
- forceEmpty(query: AnyQuery): void;
17284
- clearForced(query: AnyQuery): void;
17285
- diffRunIndex: WritableSignal<number | null>;
17286
- /** The run the diff compares against, or `null` to derive it - see the panel's own field. */
17287
- diffBaseRunIndex: WritableSignal<number | null>;
17288
- toggleRunDiff(entry: QueryDevtoolsEntry, run: QueryDevtoolsRun): void;
17289
- /** Which end of the open diff a run is, or `null` if it is not one of the two. */
17290
- diffRunRole(entry: QueryDevtoolsEntry, run: QueryDevtoolsRun): 'base' | 'compare' | null;
17291
- responseDiff(entry: QueryDevtoolsEntry): {
17292
- before: QueryDevtoolsRun;
17293
- after: QueryDevtoolsRun;
17294
- diff: QueryDevtoolsDiff;
17295
- } | null;
17296
- canDiffRun(entry: QueryDevtoolsEntry, run: QueryDevtoolsRun): boolean;
17297
- queryRuns(entry: QueryDevtoolsEntry): QueryDevtoolsRun[];
17298
- runStatus(run: QueryDevtoolsRun): string;
17299
- /** How many bodies a query retains, which is what bounds how far back a diff can reach. */
17300
- retainedResponseCount: Signal<number>;
17301
- /** Moves the whole response diff one run older or newer, from the diff header. */
17302
- canStepRunDiff(entry: QueryDevtoolsEntry, older: boolean): boolean;
17303
- stepRunDiff(entry: QueryDevtoolsEntry, older: boolean): void;
17304
- errorRunIndex: WritableSignal<number | null>;
17305
- toggleRunError(run: QueryDevtoolsRun): void;
17306
- pickedRunError(entry: QueryDevtoolsEntry): {
17307
- run: QueryDevtoolsRun;
17308
- error: QueryDevtoolsRunError;
17309
- } | null;
17310
- copiedReport: Signal<boolean>;
17311
- copiedInsomnia: Signal<boolean>;
17312
- copiedCurl: Signal<boolean>;
17313
- copiedGql: Signal<boolean>;
17314
- copiedRoute: Signal<boolean>;
17315
- copyReport(entry: QueryDevtoolsEntry, query: AnyQuery): void;
17316
- copyInsomniaRequest(entry: QueryDevtoolsEntry, query: AnyQuery): void;
17317
- copyCurlRequest(entry: QueryDevtoolsEntry, query: AnyQuery): void;
17318
- copyGqlDocument(doc: string): void;
17319
- /** The absolute URL of the last request, or the rendered route for a query that has not run. */
17320
- copyableRoute(entry: QueryDevtoolsEntry, query: AnyQuery): string;
17321
- copyableRouteTitle(entry: QueryDevtoolsEntry, query: AnyQuery): string;
17322
- copyRoute(entry: QueryDevtoolsEntry, query: AnyQuery): void;
17323
- refreshesFor(entryId: string): {
17324
- id: number;
17325
- timestamp: number;
17326
- label: string;
17327
- }[];
17328
- /** What asked for a refresh, on one line - shared by the drawer's "Refetched by" and the Events tab. */
17329
- causeLabel(cause: QueryRefreshCause): string;
17330
- formsDrivingQuery(entry: QueryDevtoolsEntry): QueryDevtoolsEntry[];
17331
- /** Shared value-explorer search term, read (and set) from every drawer's Data sub-tab. */
17332
- jsonSearch: WritableSignal<string>;
17333
- jsonSearchTerm: Signal<string>;
17334
- jsonExpandedPaths: Signal<ReadonlySet<string>>;
17335
- jsonCollapsedPaths: Signal<ReadonlySet<string>>;
17336
- toggleJsonPath(path: string, expand: boolean): void;
17337
- selectedClientName: WritableSignal<string | null>;
17338
- selectedQueryId: WritableSignal<string | null>;
17339
- selectedQuery: Signal<{
17340
- entry: QueryDevtoolsEntry;
17341
- query: AnyQuery;
17342
- } | null>;
17343
- queryFilter: WritableSignal<string>;
17344
- queryFacets: WritableSignal<ReadonlySet<QueryListFacet>>;
17345
- /** The entry ids sorted to the top of the Queries list. Persisted apart from the rest - see the panel. */
17346
- pinnedQueryIds: Signal<ReadonlySet<string>>;
17347
- isQueryPinned(entry: QueryDevtoolsEntry): boolean;
17348
- toggleQueryPin(entry: QueryDevtoolsEntry): void;
17349
- /** When set (via inspect), the Queries list is filtered to exactly these entry ids. */
17350
- inspectFilterIds: WritableSignal<string[] | null>;
17351
- selectClient(name: string | null): void;
17352
- clearInspectFilter(): void;
17353
- toggleFacet(facet: QueryListFacet): void;
17354
- /** Drops the search term and the status chips, keeping the client / inspection scope. */
17355
- clearQueryFilters(): void;
17356
- /**
17357
- * Downloads the given queries (already scoped/filtered by the caller) as one Insomnia collection,
17358
- * filed into a folder per query client.
17359
- */
17360
- downloadInsomniaCollection(items: {
17361
- entry: QueryDevtoolsEntry;
17362
- query: AnyQuery;
17363
- }[], clientLabel: string | null): void;
17364
- stackSelectedQueryId: WritableSignal<string | null>;
17365
- stackSelectedQuery: Signal<{
17366
- entry: QueryDevtoolsEntry;
17367
- query: AnyQuery;
17368
- } | null>;
17369
- sequenceSelectedQueryId: WritableSignal<string | null>;
17370
- sequenceSelectedQuery: Signal<{
17371
- entry: QueryDevtoolsEntry;
17372
- query: AnyQuery;
17373
- } | null>;
17374
- formSelectedQueryId: WritableSignal<string | null>;
17375
- formSelectedQuery: Signal<{
17376
- entry: QueryDevtoolsEntry;
17377
- query: AnyQuery;
17378
- } | null>;
17379
- /** The form whose detail the Forms tab has expanded - persisted. */
17380
- selectedFormId: WritableSignal<string | null>;
17381
- /** The rolling event log - persisted only in the sense that it survives a tab switch, not a reload. */
17382
- eventLog: WritableSignal<EventLogItem[]>;
17383
- /** The client (by base URL) the event log is scoped to, or `null` for all of them - persisted. */
17384
- eventClient: WritableSignal<string | null>;
17385
- /** Whether the event log is narrowed to failures - persisted. */
17386
- eventErrorsOnly: WritableSignal<boolean>;
17387
- /** Free-text narrowing of every socket's message log - persisted. */
17388
- socketFilter: WritableSignal<string>;
17389
- socketMessages(ws: WebSocketDevtoolsHandle): WebSocketDevtoolsMessage[];
17390
- socketDirectionLabel(message: WebSocketDevtoolsMessage): string;
17391
- emitSocketMessage(options: {
17392
- entry: QueryDevtoolsEntry;
17393
- event: string;
17394
- data: string;
17395
- }): void;
17396
- /** The message an emit box last failed with, if this is the socket it failed on. */
17397
- socketEmitErrorFor(entryId: string): string | null;
17398
- timelineSelectedQueryId: WritableSignal<string | null>;
17399
- timelineSelectedQuery: Signal<{
17400
- entry: QueryDevtoolsEntry;
17401
- query: AnyQuery;
17402
- } | null>;
17403
- paneAxis: Signal<PaneAxis>;
17404
- listWidth: Signal<number | null>;
17405
- drawerWidth: Signal<number | null>;
17406
- listHeight: Signal<number | null>;
17407
- drawerHeight: Signal<number | null>;
17408
- startPaneResize(event: PointerEvent, target: {
17409
- pane: PaneTarget;
17410
- container: HTMLElement;
17411
- }): void;
17412
- resetPaneSize(pane: PaneTarget): void;
17413
- };
17414
-
17415
- type ScopeKey = 'viewState' | 'pins' | 'overrides' | 'mocks';
17416
- type ScopeRow = {
17417
- key: ScopeKey;
17418
- label: string;
17419
- /** What is kept, and what `none` costs - the one thing a scope picker cannot show on its own. */
17420
- hint: string;
17421
- };
17422
- type LimitKey = 'maxEvents' | 'maxDroppedCacheEntries';
17423
- type LimitRow = {
17424
- key: LimitKey;
17425
- label: string;
17426
- min: number;
17427
- max: number;
17428
- step: number;
17429
- hint: string;
17430
- };
17431
- /**
17432
- * Every panel-wide switch in one place - the storage each kind of state uses, the limits the panel would
17433
- * otherwise hold as constants, and the toggles their own tabs also carry.
17434
- */
17435
- declare class QueryDevtoolsSettingsComponent {
17436
- protected host: QueryDevtoolsHost;
17437
- protected readonly SCOPE_ROWS: ScopeRow[];
17438
- protected readonly SCOPES: {
17439
- value: QueryDevtoolsStorageScope;
17440
- label: string;
17441
- }[];
17442
- protected readonly INDEXED_DB_TITLE = "Unavailable: these are read synchronously - view state before the first render, overrides before the first fetch - and IndexedDB cannot answer in time. Only the mock library could tolerate an async store, and it is not wired to one yet.";
17443
- protected readonly LIMIT_ROWS: LimitRow[];
17444
- /** What queries actually retain, which is the application's value unless this panel raised it. */
17445
- protected responseHistory: _angular_core.Signal<number>;
17446
- protected resetConfirming: _angular_core.WritableSignal<boolean>;
17447
- protected settings(): _ethlete_query.QueryDevtoolsSettings;
17448
- protected scopeOf(key: ScopeKey): QueryDevtoolsStorageScope;
17449
- protected limitOf(key: LimitKey): number;
17450
- protected setScope(key: ScopeKey, scope: QueryDevtoolsStorageScope): void;
17451
- protected setLimit(key: LimitKey, value: string): void;
17452
- protected setResponseHistory(value: string): void;
17453
- /** Hands retention back to `provideQueryDevtools({ responseHistory })`. */
17454
- protected clearResponseHistory(): void;
17455
- protected reset(): void;
17456
- protected toggleGoneQueries(): void;
17457
- protected showsGoneQueries(): boolean;
17458
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<QueryDevtoolsSettingsComponent, never>;
17459
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<QueryDevtoolsSettingsComponent, "et-query-devtools-settings", never, {}, {}, never, never, true, never>;
17460
- }
17461
-
17462
- /**
17463
- * The waterfall's grid, axis and bars, as a styles-only component the panel mounts when the Timeline tab
17464
- * is first opened.
17465
- *
17466
- * @internal
17467
- */
17468
- declare class QueryDevtoolsTimelineStylesComponent {
17469
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<QueryDevtoolsTimelineStylesComponent, never>;
17470
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<QueryDevtoolsTimelineStylesComponent, "et-query-devtools-timeline-styles", never, {}, {}, never, never, true, never>;
17471
- }
17472
-
17473
- /**
17474
- * The floating toggle button for the query devtools. Rendered with `ShadowDom` encapsulation so the
17475
- * host application's global CSS (Tailwind resets, button styles, …) can never touch it and its own
17476
- * styles can never leak out. Uses px (not rem) internally so it doesn't depend on the host's root
17477
- * font-size; theme accent colour is read from an inherited custom property with a fallback.
17478
- */
17479
- declare class QueryDevtoolsToggleComponent {
17480
- tampered: _angular_core.InputSignal<boolean>;
17481
- openChange: _angular_core.OutputEmitterRef<void>;
17482
- protected shortcut: string;
17483
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<QueryDevtoolsToggleComponent, never>;
17484
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<QueryDevtoolsToggleComponent, "et-query-devtools-toggle", never, { "tampered": { "alias": "tampered"; "required": false; "isSignal": true; }; }, { "openChange": "openChange"; }, never, never, true, never>;
17485
- }
17486
-
17487
- /**
17488
- * Where the panel sits: attached to an edge, or floating over the page as a window of its own. A
17489
- * pop-out is not one of these - that is a real browser window, not a position in this document.
17490
- */
17491
- type DevtoolsDock = 'bottom' | 'top' | 'left' | 'right' | 'float';
17492
- /** What the layout menu offers, in the order it lists them. `popout` is a window, not a position. */
17493
- type DevtoolsLayout = DevtoolsDock | 'popout';
17494
- /** The floating panel's position and size, in CSS px from the viewport's top-left. */
17495
- type FloatRect = {
17496
- x: number;
17497
- y: number;
17498
- width: number;
17499
- height: number;
17500
- };
17501
- /**
17502
- * A drag in progress: the panel's docked edge, the floating panel being moved or resized, or the
17503
- * divider between a two-pane tab's panes.
17504
- */
17505
- type ResizeDrag = {
17506
- /** The document the pointer moves in - a popped-out panel lives in a window of its own. */
17507
- doc: Document;
17508
- } & ({
17509
- kind: 'panel';
17510
- } | {
17511
- kind: 'pane';
17512
- pane: PaneTarget;
17513
- axis: PaneAxis;
17514
- container: HTMLElement;
17515
- });
17516
- type PersistedState = {
17517
- open?: boolean;
17518
- height?: number;
17519
- width?: number;
17520
- listWidth?: number | null;
17521
- drawerWidth?: number | null;
17522
- listHeight?: number | null;
17523
- drawerHeight?: number | null;
17524
- dock?: DevtoolsDock;
17525
- floatRect?: FloatRect;
17526
- floatParked?: boolean;
17527
- activeTab?: DevtoolsTab;
17528
- detailTab?: DetailTab;
17529
- selectedClientName?: string | null;
17530
- selectedQueryId?: string | null;
17531
- selectedFormId?: string | null;
17532
- inspectFilterIds?: string[] | null;
17533
- queryFilter?: string;
17534
- queryFacets?: QueryListFacet[];
17535
- queryRecentFirst?: boolean;
17536
- queryTreeView?: boolean;
17537
- collapsedQueryPaths?: string[];
17538
- eventClient?: string | null;
17539
- eventErrorsOnly?: boolean;
17540
- socketFilter?: string;
17541
- jsonSearch?: string;
17542
- expandedSteps?: string[];
17543
- expandedQueryGroups?: string[];
17544
- jsonExpanded?: string[];
17545
- jsonCollapsed?: string[];
17546
- };
17547
- type ViewportSize = {
17548
- width: number;
17549
- height: number;
17550
- };
17551
- /**
17552
- * The loosest a float may sit: shoved off an edge with only {@link FLOAT_PEEK} left, which is what a
17553
- * drag and a parked panel are held to. **North is never a parking edge** - the title bar is the only
17554
- * thing that drags the panel back, so it may never be the part that leaves.
17555
- */
17556
- declare const clampFloatToPeek: (rect: FloatRect, viewport: ViewportSize) => FloatRect;
17557
- /**
17558
- * Where a float settles when the pointer is released. Dragged more than halfway off an edge, it stays
17559
- * parked there with {@link FLOAT_PEEK} showing - the panel gets out of the way of the thing you are
17560
- * debugging without being closed. Anything short of halfway is pulled back in, so a slightly clumsy
17561
- * drag does not park it.
17562
- */
17563
- declare const settledFloatRect: (rect: FloatRect, viewport: ViewportSize) => {
17564
- rect: FloatRect;
17565
- collapsed: boolean;
17566
- };
17567
- /**
17568
- * The rect a resize gesture from `edge` produces, given where the panel was when the gesture started.
17569
- * A west or north drag grows away from the edge that stays pinned, so the origin follows whatever
17570
- * size the drag settled on - including when the size hit its floor and the origin must stop with it.
17571
- */
17572
- declare const resizedFloatRect: (base: FloatRect, { move, viewport }: {
17573
- move: ResizeMoveEvent;
17574
- viewport: ViewportSize;
17575
- }) => FloatRect;
17576
- /**
17577
- * A floating, dockable panel that inspects the live state of the signals-first `@ethlete/query`
17578
- * system: queries, stacks, sequences, bearer auth providers, the repository cache and a rolling
17579
- * event log.
17580
- *
17581
- * Requires `provideQueryDevtools()` in the application providers - without it the registry stays
17582
- * empty and the panel shows nothing.
17583
- */
17584
- declare class QueryDevtoolsComponent {
17585
- private hostEl;
17586
- private renderer;
17587
- private download;
17588
- private styleManager;
17589
- private zone;
17590
- private destroyRef;
17591
- private document;
17592
- private viewport;
17593
- /** The panel itself, so a pop-out can move it into another window's document. */
17594
- private panelEl;
17595
- private eventIdCounter;
17596
- private lastSelectionKey;
17597
- /** Where the gear goes back to, so opening Settings does not lose the tab it was opened over. */
17598
- private tabBeforeSettings;
17599
- readonly persisted: PersistedState;
17600
- protected readonly tabs: ({
17601
- id: "queries";
17602
- label: string;
17603
- } | {
17604
- id: "stacks";
17605
- label: string;
17606
- } | {
17607
- id: "sequences";
17608
- label: string;
17609
- } | {
17610
- id: "forms";
17611
- label: string;
17612
- } | {
17613
- id: "auth";
17614
- label: string;
17615
- } | {
17616
- id: "ws";
17617
- label: string;
17618
- } | {
17619
- id: "cache";
17620
- label: string;
17621
- } | {
17622
- id: "timeline";
17623
- label: string;
17624
- } | {
17625
- id: "events";
17626
- label: string;
17627
- } | {
17628
- id: "faults";
17629
- label: string;
17630
- } | {
17631
- id: "mocks";
17632
- label: string;
17633
- } | {
17634
- id: "about";
17635
- label: string;
17636
- })[];
17637
- /**
17638
- * Tabs the bar keeps whether they hold anything or not: the one the panel opens on, and the one that
17639
- * arms faults - which has entries to arm rather than to count.
17640
- */
17641
- private readonly PINNED_TABS;
17642
- protected readonly shortcut: string;
17643
- protected readonly LAYOUTS: readonly [{
17644
- readonly id: "bottom";
17645
- readonly glyph: "⬓";
17646
- readonly label: "Bottom";
17647
- readonly hint: "Dock to the bottom edge";
17648
- }, {
17649
- readonly id: "top";
17650
- readonly glyph: "⬒";
17651
- readonly label: "Top";
17652
- readonly hint: "Dock to the top edge";
17653
- }, {
17654
- readonly id: "left";
17655
- readonly glyph: "◧";
17656
- readonly label: "Left";
17657
- readonly hint: "Dock to the left edge";
17658
- }, {
17659
- readonly id: "right";
17660
- readonly glyph: "◨";
17661
- readonly label: "Right";
17662
- readonly hint: "Dock to the right edge";
17663
- }, {
17664
- readonly id: "float";
17665
- readonly glyph: "❐";
17666
- readonly label: "Float";
17667
- readonly hint: "A window inside the page - move it, resize it, shove it off an edge to park it";
17668
- }, {
17669
- readonly id: "popout";
17670
- readonly glyph: "⧉";
17671
- readonly label: "Pop out";
17672
- readonly hint: "Move the panel into a window of its own - the same live panel, on your other screen";
17673
- }];
17674
- protected open: WritableSignal<boolean>;
17675
- private panelHeight;
17676
- private panelWidth;
17677
- protected activeTab: WritableSignal<DevtoolsTab>;
17678
- /**
17679
- * The dragged sizes of the two-pane tabs, in px, one pair per axis - a side dock stacks the panes, so
17680
- * the same divider sizes them along the block axis there and a dock switch has to keep both. `null`
17681
- * keeps the stylesheet's proportional default, which is also what a double-click on a divider restores.
17682
- */
17683
- protected listWidth: WritableSignal<number | null>;
17684
- protected drawerWidth: WritableSignal<number | null>;
17685
- protected listHeight: WritableSignal<number | null>;
17686
- protected drawerHeight: WritableSignal<number | null>;
17687
- protected drag: WritableSignal<ResizeDrag | null>;
17688
- protected resizing: _angular_core.Signal<boolean>;
17689
- /** Which edge the panel is docked to, or `float` for a window of its own inside the page. */
17690
- protected dock: WritableSignal<DevtoolsDock>;
17691
- /** The entry the layout button shows, so it names where the panel is rather than where it could go. */
17692
- protected currentLayout: _angular_core.Signal<{
17693
- readonly id: "bottom";
17694
- readonly glyph: "⬓";
17695
- readonly label: "Bottom";
17696
- readonly hint: "Dock to the bottom edge";
17697
- } | {
17698
- readonly id: "top";
17699
- readonly glyph: "⬒";
17700
- readonly label: "Top";
17701
- readonly hint: "Dock to the top edge";
17702
- } | {
17703
- readonly id: "left";
17704
- readonly glyph: "◧";
17705
- readonly label: "Left";
17706
- readonly hint: "Dock to the left edge";
17707
- } | {
17708
- readonly id: "right";
17709
- readonly glyph: "◨";
17710
- readonly label: "Right";
17711
- readonly hint: "Dock to the right edge";
17712
- } | {
17713
- readonly id: "float";
17714
- readonly glyph: "❐";
17715
- readonly label: "Float";
17716
- readonly hint: "A window inside the page - move it, resize it, shove it off an edge to park it";
17717
- } | {
17718
- readonly id: "popout";
17719
- readonly glyph: "⧉";
17720
- readonly label: "Pop out";
17721
- readonly hint: "Move the panel into a window of its own - the same live panel, on your other screen";
17722
- }>;
17723
- /** Where the floating panel sits and how big it is. Kept while docked, so a return to float restores it. */
17724
- private floatRect;
17725
- /** The rect a resize gesture started from, or `null` outside one. */
17726
- private floatResizeBase;
17727
- /**
17728
- * Whether the float is shoved off an edge with only its peek showing. Persisted with the rect, since
17729
- * restoring the rect without it would either strand the panel off screen or silently un-park it.
17730
- */
17731
- protected floatParked: WritableSignal<boolean>;
17732
- /**
17733
- * The browser refused the last pop-out. `window.open` returns `null` with no error to catch, so
17734
- * without this the button simply did nothing - and floating is the fallback it should have offered.
17735
- */
17736
- protected popOutBlocked: WritableSignal<boolean>;
17737
- /**
17738
- * Whether the panel currently lives in a window of its own. Deliberately not persisted: a reload
17739
- * cannot re-adopt a window the previous document opened, so it always starts docked.
17740
- */
17741
- protected poppedOut: WritableSignal<boolean>;
17742
- protected floating: _angular_core.Signal<boolean>;
17743
- /**
17744
- * Below `md` a side-by-side split cannot fit: the list alone asks for `22rem` and the drawer for
17745
- * `26rem`, which is wider than a phone. Narrow gets the same stacked layout a right dock does.
17746
- */
17747
- private narrowViewport;
17748
- /** Whether the panel is docked to a side edge, which is what sizes it along the inline axis. */
17749
- private sideDocked;
17750
- /** Which axis the two-pane tabs split along. The stylesheet keys the stacked layout off the same value. */
17751
- protected paneAxis: _angular_core.Signal<PaneAxis>;
17752
- private popup;
17753
- /** Stops mirroring the host document's stylesheets into the pop-up. @see syncStylesInto */
17754
- private popOutStyleSync;
17755
- protected panelBlockSize: _angular_core.Signal<number | null>;
17756
- protected panelInlineSize: _angular_core.Signal<number | null>;
17757
- /** The floating panel's offset from the viewport's top-left, or `null` while it is docked. */
17758
- protected panelInsetBlock: _angular_core.Signal<number | null>;
17759
- protected panelInsetInline: _angular_core.Signal<number | null>;
17760
- /** Which section of the query detail is showing. Shared by the Queries tab and both drawers. */
17761
- detailTab: WritableSignal<DetailTab>;
17762
- selectedClientName: WritableSignal<string | null>;
17763
- selectedQueryId: WritableSignal<string | null>;
17764
- /** The form whose detail the Forms tab has expanded. */
17765
- selectedFormId: WritableSignal<string | null>;
17766
- stackSelectedQueryId: WritableSignal<string | null>;
17767
- sequenceSelectedQueryId: WritableSignal<string | null>;
17768
- formSelectedQueryId: WritableSignal<string | null>;
17769
- timelineSelectedQueryId: WritableSignal<string | null>;
17770
- /** Free-text narrowing of the Queries list. Every whitespace-separated term has to match. */
17771
- queryFilter: WritableSignal<string>;
17772
- /** The status facets the Queries list is narrowed to. Empty means no status narrowing. */
17773
- queryFacets: WritableSignal<ReadonlySet<QueryListFacet>>;
17774
- /**
17775
- * Which way the Queries list sorts by last-executed time. Only the direction is switchable - the field
17776
- * is not, because "which one just ran" is the question the column exists to answer.
17777
- */
17778
- queryRecentFirst: WritableSignal<boolean>;
17779
- /**
17780
- * Whether the Queries list is arranged as a tree of route paths. Off by default: the flat list is
17781
- * still the right shape for "what ran just now", which is what the tab is opened for most of the time.
17782
- */
17783
- queryTreeView: WritableSignal<boolean>;
17784
- /**
17785
- * The path folders the user closed. Collapsed rather than expanded, because a tree that opens closed
17786
- * shows nothing but the top segment of every route - which answers no question the flat list didn't.
17787
- */
17788
- collapsedQueryPaths: WritableSignal<ReadonlySet<string>>;
17789
- /**
17790
- * The entry ids sorted to the top of the Queries list. Ids are derived from a stable descriptor plus a
17791
- * per-descriptor sequence number, so a pin survives a reload as long as queries are created in the same
17792
- * order - the same property the restored selection already relies on.
17793
- */
17794
- pinnedQueryIds: WritableSignal<ReadonlySet<string>>;
17795
- eventLog: WritableSignal<EventLogItem[]>;
17796
- /**
17797
- * The cache entries that are gone, newest first. Kept here rather than in the repository, which stays
17798
- * lean in production - it emits the teardown and forgets it.
17799
- */
17800
- droppedCacheEntries: WritableSignal<DroppedCacheEntry[]>;
17801
- /** The client (by base URL) the event log is scoped to, or `null` for all of them. */
17802
- eventClient: WritableSignal<string | null>;
17803
- /** Whether the event log is narrowed to failures - the rows a bug report is about. */
17804
- eventErrorsOnly: WritableSignal<boolean>;
17805
- /** Free-text narrowing of every socket's message log. Matches the event, the room and the direction. */
17806
- socketFilter: WritableSignal<string>;
17807
- /** The cache entry whose response is expanded, as `<client>|<key>`, or `null` while none is. */
17808
- private expandedCacheKey;
17809
- /** The socket whose emit box last failed, so the message shows on that card and no other. */
17810
- private socketEmitError;
17811
- /** Keys (`<entryId>:<stepIndex>`) of the sequence steps whose in/out detail is expanded. */
17812
- private expandedSteps;
17813
- /** Keys of the Queries-list groups the user opened - the tab is rebuilt on every switch back. */
17814
- expandedQueryGroups: WritableSignal<ReadonlySet<string>>;
17815
- /** Shared value-explorer search term. */
17816
- jsonSearch: WritableSignal<string>;
17817
- jsonSearchTerm: _angular_core.Signal<string>;
17818
- /** Path-keyed value-explorer expansion overrides (persisted so open trees survive a reload). */
17819
- jsonExpandedPaths: WritableSignal<ReadonlySet<string>>;
17820
- jsonCollapsedPaths: WritableSignal<ReadonlySet<string>>;
17821
- /** Bound callback passed into the value explorer to persist per-path expansion. Assigned in the constructor. */
17822
- toggleJsonPath: (path: string, expand: boolean) => void;
17823
- /** The run whose response the diff is comparing, by run index, or `null` while no diff is open. */
17824
- diffRunIndex: WritableSignal<number | null>;
17825
- /**
17826
- * The run the diff compares it *against*, or `null` to derive that side - the newest older run that
17827
- * still holds a body, which is what one click on **Diff** gives you.
17828
- */
17829
- diffBaseRunIndex: WritableSignal<number | null>;
17830
- errorRunIndex: WritableSignal<number | null>;
17831
- /** How many bodies a query retains, which is what bounds how far back a diff can reach. */
17832
- retainedResponseCount: _angular_core.Signal<number>;
17833
- /** JIT editor state (response / args editing on the selected query). */
17834
- editorMode: WritableSignal<"none" | "response" | "args">;
17835
- responseDraft: WritableSignal<string>;
17836
- argsDraft: WritableSignal<string>;
17837
- /**
17838
- * The text the currently open editor was seeded with. The textareas bind `value` to this and not to
17839
- * the live draft: a `value` binding fed by the draft is written back on every keystroke, and writing
17840
- * a textarea's `value` puts the caret at the end.
17841
- */
17842
- editorSeed: string;
17843
- editError: WritableSignal<string | null>;
17844
- /** The args the open editor was seeded from, so applying can put back what the draft cannot carry. */
17845
- private editedArgsSource;
17846
- /** Transient "Copied!" feedback for the copy-report, copy-as-Insomnia / cURL and copy-document actions. */
17847
- copiedReport: WritableSignal<boolean>;
17848
- copiedInsomnia: WritableSignal<boolean>;
17849
- copiedCurl: WritableSignal<boolean>;
17850
- copiedGql: WritableSignal<boolean>;
17851
- copiedRoute: WritableSignal<boolean>;
17852
- private copiedReset$;
17853
- /** 1-second tick driving the cache freshness countdowns. */
17854
- private clock;
17855
- /** "Inspect" mode: hover the live UI to find the query that a component created. */
17856
- protected inspectActive: WritableSignal<boolean>;
17857
- protected inspectHover: WritableSignal<{
17858
- rect: DOMRect;
17859
- entries: QueryDevtoolsEntry[];
17860
- } | null>;
17861
- /** Inspect run backwards: the box drawn over the element the selected query was created in. */
17862
- protected locatedRect: WritableSignal<DOMRect | null>;
17863
- locateState: WritableSignal<"idle" | "located" | "offscreen">;
17864
- private locate$;
17865
- /** When set (via inspect), the Queries list is filtered to exactly these entry ids. */
17866
- inspectFilterIds: WritableSignal<string[] | null>;
17867
- private queryEntries;
17868
- /**
17869
- * The queries that still exist. Everything that measures what the application is doing right now -
17870
- * the tab bar's error flags, the tamper dot, the timeline, the identity match behind an event row -
17871
- * reads this rather than {@link queryEntries}, so a tombstone never inflates a live number.
17872
- */
17873
- private liveQueryEntries;
17874
- protected panelTampered: _angular_core.Signal<boolean>;
17875
- stackEntries: _angular_core.Signal<QueryDevtoolsEntry[]>;
17876
- sequenceEntries: _angular_core.Signal<QueryDevtoolsEntry[]>;
17877
- formEntries: _angular_core.Signal<QueryDevtoolsEntry[]>;
17878
- authEntries: _angular_core.Signal<QueryDevtoolsEntry[]>;
17879
- wsEntries: _angular_core.Signal<QueryDevtoolsEntry[]>;
17880
- /** Unique client names present across queries and auth providers, for the Queries-tab picker. */
17881
- clientNames: _angular_core.Signal<string[]>;
17882
- /** Unique repositories (with their client name + base URL) used by the Cache and Events tabs. */
17883
- private repositories;
17884
- /**
17885
- * Every client the Faults tab can arm, with the fault it currently carries. Clients with nothing armed
17886
- * read as {@link EMPTY_QUERY_DEVTOOLS_FAULT} so the inputs always have a value to show.
17887
- */
17888
- faultClients: _angular_core.Signal<{
17889
- name: string;
17890
- baseUrl: string;
17891
- fault: _ethlete_query.QueryDevtoolsFault;
17892
- armed: boolean;
17893
- }[]>;
17894
- /**
17895
- * The names of the clients currently carrying a fault, or `null` when none do - so a template can `@if`
17896
- * on it. Armed faults are the one state where the panel is lying to the app on purpose, and a badge on a
17897
- * tab that isn't open cannot say that: whichever tab you are reading, a red response has to be
17898
- * attributable to the injection rather than to the API.
17899
- */
17900
- protected armedFaultClients: _angular_core.Signal<string[] | null>;
17901
- /**
17902
- * The routes currently answered by a designed mock, for the shell's banner. A mocked response is a
17903
- * stronger lie than an override - nothing was sent at all - so it is named above every tab, not just
17904
- * badged on the one that armed it.
17905
- */
17906
- protected armedMockRoutes: _angular_core.Signal<string[] | null>;
17907
- /**
17908
- * The queries the list is scoped to before the search box and the status chips narrow them further:
17909
- * either the picked client's, or exactly the inspected element's.
17910
- */
17911
- scopedQueries: _angular_core.Signal<QueryDevtoolsEntry[]>;
17912
- /** How many runs every query has recorded, for the Timeline tab's badge. */
17913
- private runTotals;
17914
- /** Cache entries across every client, for the Cache tab's badge. */
17915
- private cacheEntryCount;
17916
- /**
17917
- * What each tab holds, so a failing query in a tab that is not open is still visible. Reading it
17918
- * subscribes the tab bar to every entry's live state - which is the point of the badges.
17919
- */
17920
- protected tabBadges: _angular_core.Signal<Record<DevtoolsTab, TabBadge>>;
17921
- /**
17922
- * The tabs the bar shows: the pinned ones, the one that is open, and every tab that currently holds
17923
- * something.
17924
- */
17925
- protected visibleTabs: _angular_core.Signal<({
17926
- id: "queries";
17927
- label: string;
17928
- } | {
17929
- id: "stacks";
17930
- label: string;
17931
- } | {
17932
- id: "sequences";
17933
- label: string;
17934
- } | {
17935
- id: "forms";
17936
- label: string;
17937
- } | {
17938
- id: "auth";
17939
- label: string;
17940
- } | {
17941
- id: "ws";
17942
- label: string;
17943
- } | {
17944
- id: "cache";
17945
- label: string;
17946
- } | {
17947
- id: "timeline";
17948
- label: string;
17949
- } | {
17950
- id: "events";
17951
- label: string;
17952
- } | {
17953
- id: "faults";
17954
- label: string;
17955
- } | {
17956
- id: "mocks";
17957
- label: string;
17958
- } | {
17959
- id: "about";
17960
- label: string;
17961
- })[]>;
17962
- /** The empty tabs, which the bar offers behind "More" instead. */
17963
- protected overflowTabs: _angular_core.Signal<({
17964
- id: "queries";
17965
- label: string;
17966
- } | {
17967
- id: "stacks";
17968
- label: string;
17969
- } | {
17970
- id: "sequences";
17971
- label: string;
17972
- } | {
17973
- id: "forms";
17974
- label: string;
17975
- } | {
17976
- id: "auth";
17977
- label: string;
17978
- } | {
17979
- id: "ws";
17980
- label: string;
17981
- } | {
17982
- id: "cache";
17983
- label: string;
17984
- } | {
17985
- id: "timeline";
17986
- label: string;
17987
- } | {
17988
- id: "events";
17989
- label: string;
17990
- } | {
17991
- id: "faults";
17992
- label: string;
17993
- } | {
17994
- id: "mocks";
17995
- label: string;
17996
- } | {
17997
- id: "about";
17998
- label: string;
17999
- })[]>;
18000
- selectedQuery: _angular_core.Signal<{
18001
- entry: QueryDevtoolsEntry;
18002
- query: AnyQuery;
18003
- } | null>;
18004
- stackSelectedQuery: _angular_core.Signal<{
18005
- entry: QueryDevtoolsEntry;
18006
- query: AnyQuery;
18007
- } | null>;
18008
- sequenceSelectedQuery: _angular_core.Signal<{
18009
- entry: QueryDevtoolsEntry;
18010
- query: AnyQuery;
18011
- } | null>;
18012
- formSelectedQuery: _angular_core.Signal<{
18013
- entry: QueryDevtoolsEntry;
18014
- query: AnyQuery;
18015
- } | null>;
18016
- timelineSelectedQuery: _angular_core.Signal<{
18017
- entry: QueryDevtoolsEntry;
18018
- query: AnyQuery;
18019
- } | null>;
18020
- /**
18021
- * The cache per client, with every entry's size measured. Reading each response inside the computed is
18022
- * what keeps the totals current: a cache mutation bumps `cacheVersion`, but a response landing in an
18023
- * entry that is already there does not.
18024
- */
18025
- cacheView: _angular_core.Signal<{
18026
- name: string;
18027
- baseUrl: string;
18028
- repository: QueryRepository;
18029
- rows: CacheRow[];
18030
- bytes: number;
18031
- isEstimatedBytes: boolean;
18032
- unused: number;
18033
- pollStates: Record<string, QueryKeyLockState>;
18034
- client: QueryClient | null;
18035
- dropped: DroppedCacheEntry[];
18036
- }[]>;
18037
- /** Map of a component's host element to the query entries it created (for the inspect tool). */
18038
- private elementQueryMap;
18039
- /** Disarms every client's fault - the shell's "Faults armed" banner offers this above every tab. */
18040
- protected readonly CLEAR_FAULTS: (clientName?: string) => void;
18041
- /** Stops serving every designed mock - the shell's "Mocks armed" banner offers the same way out. */
18042
- protected readonly DISARM_MOCKS: () => void;
18043
- /**
18044
- * What the previous page load left armed: how many ops came back, how many queries took them, and the
18045
- * ids nothing claimed. `null` when this page inherited nothing, so a template can `@if` on it.
18046
- */
18047
- protected restoredOverrides: _angular_core.Signal<{
18048
- queries: number;
18049
- ops: number;
18050
- firstId: string | null;
18051
- orphaned: string[];
18052
- fromLocalStorage: boolean;
18053
- } | null>;
18054
- /** Drops everything the reload re-armed, and empties the store it came from. */
18055
- protected readonly DROP_RESTORED_OVERRIDES: () => void;
18056
- /** Every edge, so a float resizes the way a window does rather than only from one corner. */
18057
- protected readonly FLOAT_RESIZE_EDGES: ResizeEdge[];
18058
- constructor();
18059
- /** @see queryDevtoolsOverridePersistence */
18060
- overridesPersist(): boolean;
18061
- toggleOverridesPersist(): void;
18062
- /** Where armed overrides are kept, as the drawer's toggle and the Settings picker both name it. */
18063
- overridesScopeLabel(): string;
18064
- /**
18065
- * Puts the panel back the way it ships: layout, filters, selections, pins and the stored overrides.
18066
- * The settings themselves stay - a panel behaving oddly is a reason to reset its state, not to lose the
18067
- * scopes and limits that were chosen deliberately.
18068
- *
18069
- * Resetting the live state is the point, not just clearing the keys: the persistence effects would
18070
- * write the current state straight back into whatever store the scopes name.
18071
- */
18072
- resetDevtools(): void;
18073
- /**
18074
- * Opens Settings over whatever tab is showing, and the same click closes it again. Settings is not in
18075
- * the tab bar - see {@link DevtoolsTab}.
18076
- */
18077
- protected toggleSettings(): void;
18078
- /** Opens the first query the reload re-armed, so the banner leads somewhere rather than just warning. */
18079
- protected reviewRestoredOverrides(id: string): void;
18080
- /**
18081
- * Closing while popped out docks back instead: the panel a pop-out shows is the very element the
18082
- * `@if` below would destroy, so it has to come home before it can be closed.
18083
- */
18084
- protected toggleOpen(): void;
18085
- protected floatPanel(): void;
18086
- protected selectLayout(layout: DevtoolsLayout): void;
18087
- /**
18088
- * Moves the panel into a window of its own - the same element, adopted by the pop-up's document, so
18089
- * every signal binding in it keeps updating from the app it is inspecting.
18090
- *
18091
- * The panel's styles are global `<style>` tags in the host document, and the theming tokens it reads
18092
- * hang off the root element, so both are copied over; without them the pop-out renders unstyled.
18093
- */
18094
- popOut(): void;
18095
- selectClient(name: string | null): void;
18096
- clearInspectFilter(): void;
18097
- toggleFacet(facet: QueryListFacet): void;
18098
- /** Drops the search term and the status chips, keeping the client / inspection scope. */
18099
- clearQueryFilters(): void;
18100
- isQueryPinned(entry: QueryDevtoolsEntry): boolean;
18101
- toggleQueryPath(key: string): void;
18102
- toggleQueryPin(entry: QueryDevtoolsEntry): void;
18103
- protected toggleInspect(): void;
18104
- protected startResize(event: PointerEvent): void;
18105
- protected moveFloat(move: DragMoveEvent): void;
18106
- /** Parks the panel where a drag left it, or pulls it back in if the drag stopped short of an edge. */
18107
- protected endFloatMove(): void;
18108
- /** A click on the title bar of a parked panel brings it back - the gesture that parked it, reversed. */
18109
- protected restoreFloat(): void;
18110
- /** A resize reports a delta from where the pointer went down, so the rect it started from is kept. */
18111
- protected startFloatResize(): void;
18112
- protected resizeFloat(move: ResizeMoveEvent): void;
18113
- protected endFloatResize(): void;
18114
- startPaneResize(event: PointerEvent, target: {
18115
- pane: PaneTarget;
18116
- container: HTMLElement;
18117
- }): void;
18118
- /** Hands a pane back to the stylesheet's proportional default, on the axis it is being sized along. */
18119
- resetPaneSize(pane: PaneTarget): void;
18120
- protected inspectLabel(entries: QueryDevtoolsEntry[]): string;
18121
- /**
18122
- * A query's route, split so the template can tell its static path from its path params (each carrying
18123
- * the value the query used, or `:<name>` while it has none yet) and from the query string of the
18124
- * request that ran - which is what tells two requests to the same endpoint apart.
18125
- */
18126
- routeSegments(entry: QueryDevtoolsEntry | undefined, query: AnyQuery): RouteSegment[];
18127
- /** The full URL of the request a query last made, or `null` while it has not executed. */
18128
- requestUrl(query: AnyQuery): string | null;
18129
- /**
18130
- * The args of a query. A query executed imperatively (`execute({ args })`, a sequence step, an auth
18131
- * query) never writes them to its own `args` signal - only the `withArgs` feature does - so the args
18132
- * its current request was built from stand in.
18133
- */
18134
- queryArgs(query: AnyQuery): Omit<any, "response"> | null;
18135
- queryStatus(query: AnyQuery): QueryStatus;
18136
- /**
18137
- * A request in flight is already refreshing, so reporting it as stale on top of `loading` is noise -
18138
- * the same precedence the cache tab's freshness column applies.
18139
- */
18140
- isStale(query: AnyQuery): boolean;
18141
- /**
18142
- * Whether an entry is showing something other than what the server actually sent - an armed response
18143
- * override, or a devtools fault that decided its last completed run. Deliberately not "a fault is
18144
- * armed nearby": an armed-but-idle fault (a `failRate` under 100, say) mostly lets requests through
18145
- * untouched, so that would over-claim for the vast majority of queries on that client.
18146
- */
18147
- isTampered(entry: QueryDevtoolsEntry): boolean;
18148
- /** Whether a designed mock is armed for this query's own route, so nothing it shows came off the wire. */
18149
- isMocked(entry: QueryDevtoolsEntry): boolean;
18150
- /**
18151
- * What a query's current request is doing beyond being loading, or `null` when there is nothing beyond
18152
- * the status dot to say - so the readout only takes up room while it carries something.
18153
- */
18154
- requestProgress(query: AnyQuery): RequestProgress | null;
18155
- /** Why a retry was scheduled, as the panel spells it out. A status of 0 never reached the server. */
18156
- retryCause(status: number): string;
18157
- formatPercent(percentage: number): string;
18158
- /** A countdown in whole seconds, spelled out the way the cache freshness column does. */
18159
- formatCountdown(ms: number | null): string;
18160
- queryActivity(entry: QueryDevtoolsEntry): QueryActivity;
18161
- linkActivity(link: QueryLink): QueryActivity;
18162
- stackActivity(stack: AnyQueryStack | AnyPagedQueryStack): QueryActivity;
18163
- sequenceActivity(sequence: QuerySequence<unknown[]>): QueryActivity;
18164
- /** Clears an entry's counters and run history, so the next interaction can be measured on its own. */
18165
- resetStats(entry: QueryDevtoolsEntry): void;
18166
- /** A query's runs, newest first - the order a history is read in. */
18167
- queryRuns(entry: QueryDevtoolsEntry): QueryDevtoolsRun[];
18168
- /**
18169
- * What a run's status dot and timeline bar colour by. `pending` reuses the panel's loading colour;
18170
- * `aborted` matches no rule and so falls back to the neutral one.
18171
- */
18172
- runStatus(run: QueryDevtoolsRun): "success" | "error" | "loading" | "aborted";
18173
- /**
18174
- * Whether a run can be an end of the diff: it still holds its body, and so does some other run of the
18175
- * same query. Deliberately not "an *older* run" - a free pair means the oldest body held is pickable
18176
- * too, as the base of a comparison against something newer.
18177
- */
18178
- canDiffRun(entry: QueryDevtoolsEntry, run: QueryDevtoolsRun): boolean;
18179
- /**
18180
- * Arms a run as one end of the diff, or - with one end already armed - as the other. Clicking either
18181
- * end clears both.
18182
- */
18183
- toggleRunDiff(entry: QueryDevtoolsEntry, run: QueryDevtoolsRun): void;
18184
- /** Which end of the comparison a run is, so a row says so and the two ends read differently. */
18185
- diffRunRole(entry: QueryDevtoolsEntry, run: QueryDevtoolsRun): 'base' | 'compare' | null;
18186
- responseDiff(entry: QueryDevtoolsEntry): {
18187
- before: QueryDevtoolsRun;
18188
- after: QueryDevtoolsRun;
18189
- diff: QueryDevtoolsDiff;
18190
- } | null;
18191
- /** Whether the diff header's older/newer control has a pair to move to. */
18192
- canStepRunDiff(entry: QueryDevtoolsEntry, older: boolean): boolean;
18193
- /**
18194
- * Moves the whole comparison one run older or newer, so re-picking a pair does not mean scrolling back
18195
- * up to the runs table. Within the handful of retained bodies there are only a few pairs to walk.
18196
- */
18197
- stepRunDiff(entry: QueryDevtoolsEntry, older: boolean): void;
18198
- toggleRunError(run: QueryDevtoolsRun): void;
18199
- /**
18200
- * The error body of the picked run. Read off the run rather than off `query.error()`, which is the
18201
- * only other place a failure is legible and is blanked by anything that resets the query - a logout
18202
- * resets every secure query, so a 401 is gone from there by the time it is looked for.
18203
- */
18204
- pickedRunError(entry: QueryDevtoolsEntry): {
18205
- run: QueryDevtoolsRun;
18206
- error: _ethlete_query.QueryDevtoolsRunError;
18207
- } | null;
18208
- /** Opens a query in the Queries tab - the Events tab is a way in, not a dead end. */
18209
- selectQuery(id: string): void;
18210
- /** A value on one line, for a diff row or a form field. The full tree would bury the row it sits in. */
18211
- inlineValue(value: unknown): string;
18212
- formatBytes(bytes: number): string;
18213
- /**
18214
- * A transferred size, marked `≈` when any part of it was measured from a decoded body instead of read
18215
- * from a `content-length` header - such a size ignores transport compression.
18216
- */
18217
- formatTransferred(bytes: number, isEstimated: boolean): string;
18218
- /** A transfer rate, given in bytes per second the way `HttpRequestLoadingProgressState.speed` reports it. */
18219
- formatSpeed(bytesPerSecond: number): string;
18220
- formatDuration(ms: number | null): string;
18221
- /**
18222
- * Replays a query with the args the panel is already showing. `execute()` would otherwise default to
18223
- * `state.args()`, which only `withArgs` ever writes - so a query executed imperatively, by a sequence
18224
- * step or as an auth query would replay with no args at all and a function route would throw.
18225
- */
18226
- executeQuery(selection: QueryDevtoolsSelection, allowCache: boolean): void;
18227
- resetQuery(query: AnyQuery): void;
18228
- /**
18229
- * Copies a shareable report (path, args, status, slimmed response) for handing to an API dev.
18230
- * Writes both rich `text/html` (Slack applies formatting on paste - it does not parse markdown) and
18231
- * a plain-text fallback.
18232
- */
18233
- copyReport(entry: QueryDevtoolsEntry, query: AnyQuery): void;
18234
- /** Copies one query as an Insomnia collection, for `Import > From Clipboard`. */
18235
- copyInsomniaRequest(entry: QueryDevtoolsEntry, query: AnyQuery): void;
18236
- /**
18237
- * Copies one query as a `curl` command - what goes into a terminal, a ticket or a chat message, where
18238
- * an Insomnia collection is too heavy to be read at all.
18239
- */
18240
- copyCurlRequest(entry: QueryDevtoolsEntry, query: AnyQuery): void;
18241
- /** Copies the GraphQL document as displayed — dedented, so it pastes straight into a playground. */
18242
- copyGqlDocument(doc: string): void;
18243
- /**
18244
- * The endpoint of a query as one string: the absolute URL its last request used, or - for a query
18245
- * that has not run - the rendered route on screen.
18246
- */
18247
- copyableRoute(entry: QueryDevtoolsEntry, query: AnyQuery): string;
18248
- /** Names which of the two strings {@link copyableRoute} is offering, so the button says what it copies. */
18249
- copyableRouteTitle(entry: QueryDevtoolsEntry, query: AnyQuery): string;
18250
- /** Copies {@link copyableRoute} - the endpoint on its own, where the exports are a whole document. */
18251
- copyRoute(entry: QueryDevtoolsEntry, query: AnyQuery): void;
18252
- /**
18253
- * Downloads the given queries (already scoped/filtered by the caller) as one Insomnia collection,
18254
- * filed into a folder per query client.
18255
- */
18256
- downloadInsomniaCollection(items: {
18257
- entry: QueryDevtoolsEntry;
18258
- query: AnyQuery;
18259
- }[], clientLabel: string | null): void;
18260
- /**
18261
- * Downloads the whole panel as one JSON file: every registered entry with what it ran and what it
18262
- * holds, the event log, the cache totals and anything armed in the Faults tab. Unlike **Copy report**
18263
- * this is not scoped to one query - it is the attachment for a bug report about a screen.
18264
- *
18265
- * Deliberately unfiltered: a report is read by someone who was not there, and a dump that silently
18266
- * left out the client you were not looking at is worse than no dump.
18267
- */
18268
- protected downloadSession(): void;
18269
- openResponseEditor(query: AnyQuery): void;
18270
- openArgsEditor({ entry, query }: QueryDevtoolsSelection): void;
18271
- applyResponse(query: AnyQuery): void;
18272
- applyArgs(query: AnyQuery): void;
18273
- cancelEditor(): void;
18274
- forceLoading(query: AnyQuery): void;
18275
- forceError(query: AnyQuery): void;
18276
- forceEmpty(query: AnyQuery): void;
18277
- clearForced(query: AnyQuery): void;
18278
- refetchCacheEntry(entry: QueryRepositoryCacheEntry): void;
18279
- evictCacheEntry(repository: QueryRepository, key: string): void;
18280
- /**
18281
- * Drops every entry of one client, consumers included - the cold-start check that does not need a
18282
- * reload. A query still bound to an evicted entry requests again on its next execution.
18283
- */
18284
- evictAllCacheEntries(repository: QueryRepository): void;
18285
- /**
18286
- * Expands the response held under a cache key, which is the only way to read an entry no live query is
18287
- * bound to any more - the Queries tab has nothing to select for it.
18288
- */
18289
- toggleCacheValue(clientName: string, key: string): void;
18290
- isCacheValueExpanded(clientName: string, key: string): boolean;
18291
- cacheFreshness(entry: QueryRepositoryCacheEntry): string;
18292
- /**
18293
- * What multi-tab sync is doing for a cache entry: whether this tab is the one polling the key, and
18294
- * how long ago it last took a response from another tab. Empty when the client has no sync.
18295
- */
18296
- cacheSync(entry: QueryRepositoryCacheEntry, pollStates: Record<string, QueryKeyLockState>): string;
18297
- /**
18298
- * Whether a cache entry is showing data that came off the disk rather than the network - the answer
18299
- * to "why is this here already?" on a cold start. Empty when the client does not persist responses.
18300
- */
18301
- cachePersistence(entry: QueryRepositoryCacheEntry): string;
18302
- /** How many responses this client has on disk, which is usually more than it has in memory. */
18303
- persistedCount(client: QueryClient): number;
18304
- clearPersistedQueries(client: QueryClient): void;
18305
- /** The path + query of a request URL (origin stripped), for readable cache/event identifiers. */
18306
- requestPath(url: string): string;
18307
- asStack(entry: QueryDevtoolsEntry): AnyQueryStack;
18308
- asPagedStack(entry: QueryDevtoolsEntry): AnyPagedQueryStack;
18309
- asSequence(entry: QueryDevtoolsEntry): QuerySequence<unknown[]>;
18310
- asAuth(entry: QueryDevtoolsEntry): AnyBearerAuthProvider;
18311
- asWs(entry: QueryDevtoolsEntry): WebSocketDevtoolsHandle;
18312
- /**
18313
- * A socket's messages, narrowed by the filter box. Every whitespace-separated term has to match the
18314
- * event, the room or the direction, so `out join` finds the room joins the client sent.
18315
- */
18316
- socketMessages(ws: WebSocketDevtoolsHandle): WebSocketDevtoolsMessage[];
18317
- /** How the message log labels a direction: what the client sent, versus what the server pushed. */
18318
- socketDirectionLabel(message: WebSocketDevtoolsMessage): "↑ sent" | "↓ received";
18319
- /**
18320
- * Sends a message as the app would, so a server that only answers a client that asked can be provoked
18321
- * from the panel. An empty payload sends nothing rather than `""` - a plain event is a valid message.
18322
- */
18323
- emitSocketMessage(options: {
18324
- entry: QueryDevtoolsEntry;
18325
- event: string;
18326
- data: string;
18327
- }): void;
18328
- socketEmitErrorFor(entryId: string): string | null;
18329
- asForm(entry: QueryDevtoolsEntry): QueryDevtoolsFormHandle;
18330
- /**
18331
- * The queries a form feeds, discovered from the reads its `value()` recorded while their args were
18332
- * built - so a form that nothing consumes yet reads as exactly that.
18333
- */
18334
- queriesDrivenByForm(entry: QueryDevtoolsEntry): QueryLink[];
18335
- /** The reverse: the forms whose value a query's args read. */
18336
- formsDrivingQuery(entry: QueryDevtoolsEntry): QueryDevtoolsEntry[];
18337
- selectForm(id: string): void;
18338
- /**
18339
- * The refreshes that re-executed a query, newest first - the answer to "why did this refetch?". Read
18340
- * off the event log, so it goes back exactly as far as the log does.
18341
- */
18342
- refreshesFor(entryId: string): {
18343
- id: number;
18344
- timestamp: number;
18345
- label: string;
18346
- }[];
18347
- /** What asked for a refresh, on one line. */
18348
- causeLabel(cause: QueryRefreshCause): string;
18349
- /** Derives the per-step status of a sequence step from its live progress signals. */
18350
- sequenceStepStatus(sequence: QuerySequence<unknown[]>, index: number): QuerySequenceStatus;
18351
- authTokenPayload(auth: AnyBearerAuthProvider): Record<string, unknown> | null;
18352
- queriesForStack(stack: AnyQueryStack | AnyPagedQueryStack): QueryLink[];
18353
- authQueryKeys(auth: AnyBearerAuthProvider): string[];
18354
- /**
18355
- * Which tab refreshes this provider's tokens, as a chip: whether it is this one, how many tabs are
18356
- * in the election, and - when there is no election - why every tab reads as the leader.
18357
- */
18358
- authLeadership(auth: AnyBearerAuthProvider): QueryDevtoolsLeadership | null;
18359
- /** Countdown to the access-token's `exp` (the point a refresh becomes due), or `null` if unknown. */
18360
- authTokenExpiry(auth: AnyBearerAuthProvider): string | null;
18361
- queriesForSequence(sequence: QuerySequence<unknown[]>): QueryLink[];
18362
- /** The snapshot of a sequence step, once it has run (holds the args in and the response/error out). */
18363
- stepSnapshot(sequence: QuerySequence<unknown[]>, index: number): AnyQuerySnapshot | null;
18364
- toggleQueryGroup(key: string): void;
18365
- expandQueryGroup(key: string): void;
18366
- isStepExpanded(entryId: string, index: number): boolean;
18367
- toggleStep(entryId: string, index: number): void;
18368
- /** Dedents a GraphQL document (template-literal indentation) for readable display. */
18369
- gqlDocument(doc: string): string;
18370
- featureLabel(type: string): string;
18371
- /** A feature and its options on one line, for a report or a chip's tooltip. */
18372
- featureSummary(feature: QueryDevtoolsFeature): string;
18373
- /** The features of the client behind a cache tab card, or `null` for a client without any. */
18374
- clientFeatures(client: QueryClient | null | undefined): QueryDevtoolsFeature[] | null;
18375
- formatTime(timestamp: number | null): string;
18376
- /**
18377
- * The element a query was created in, which is what {@link locateQuery} can point at. `null` for a
18378
- * query created outside a component or directive injector - a root service, a resolver, a guard.
18379
- */
18380
- locatableElement(entry: QueryDevtoolsEntry): HTMLElement | null;
18381
- /**
18382
- * Scrolls the element the selected query was created in into view and draws the inspect box over it -
18383
- * inspect run backwards. Where a query was *created* is not necessarily where its data is rendered,
18384
- * which is what the button's "created here" wording is for.
18385
- */
18386
- locateQuery(entry: QueryDevtoolsEntry): void;
18387
- /**
18388
- * The two runs the diff compares, oldest first - normalised by run index, so picking a pair in either
18389
- * order reads the same way round as the `#before → #after` header prints it.
18390
- *
18391
- * `null` unless a run is picked, so a closed diff costs nothing to walk.
18392
- */
18393
- /**
18394
- * The two runs the comparison spans, oldest first - normalised by run index, so picking a pair in
18395
- * either order reads the same way round as the `#before → #after` header prints it. With only one end
18396
- * armed, `after` is absent unless an older body-holding run can stand in for the base.
18397
- *
18398
- * `null` unless a run is armed, so a closed diff costs nothing to walk.
18399
- */
18400
- /**
18401
- * The pair one step older or newer than the current comparison, keeping whatever gap it has, or `null`
18402
- * at either end of the retained bodies.
18403
- */
18404
- private steppedDiffPair;
18405
- private diffEnds;
18406
- private isTabPrimary;
18407
- /** Moves the panel into a pop-up whose document has finished loading. @see popOut */
18408
- private mountPopOut;
18409
- /**
18410
- * The panel's chrome tokens as the app currently resolves them, so a pop-out keeps the surface it was
18411
- * docked in. Its own CSS resolves them from the host app's theme, and that theme is set on an ancestor
18412
- * the pop-out does not have - inherited afresh over there, the panel would take the document's theme
18413
- * (usually the light one) rather than the one it was just being read against.
18414
- *
18415
- * Empty on a browser that does not enumerate custom properties, which leaves the tokens to be
18416
- * inherited as before.
18417
- */
18418
- private chromeTokens;
18419
- /** Whether a `<head>` child carries CSS the pop-out needs a copy of. */
18420
- private isStyleNode;
18421
- /**
18422
- * Copies the host document's stylesheets into the pop-up and keeps mirroring them while it is
18423
- * open. Styles keep arriving after the move: Angular inserts a component's CSS and the style
18424
- * manager mounts overlay strategy CSS the first time each is used - e.g. the first menu opened
18425
- * over there - so a one-time copy would leave everything first used after the pop-out unstyled.
18426
- */
18427
- private syncStylesInto;
18428
- /** Brings the panel back into the host element and closes the window it was living in. */
18429
- private dockBack;
18430
- /** A registered query as a row that opens the detail drawer. */
18431
- private queryLinkFor;
18432
- /** The activity of one entry, or the total of a group of them (a stack's queries, a whole tab). */
18433
- private activityOf;
18434
- /** An activity summary on one line, for a report. `null` for a query that has not run. */
18435
- private activitySummary;
18436
- /** {@link routeSegments} as a plain string, for the places that cannot render markup. */
18437
- private queryRoute;
18438
- /**
18439
- * Describes a query the way a replay outside the app needs it: the URL, headers and body of the
18440
- * request it last made, or - for a query that has not run - what its current args would send.
18441
- */
18442
- private exportedRequest;
18443
- /**
18444
- * The token refreshes the given requests authenticate with - one per auth provider they name, and
18445
- * only for a provider that is logged in, since a refresh request without a refresh token has
18446
- * nothing to send.
18447
- */
18448
- private insomniaTokenRefreshes;
18449
- private insomniaTokenRefresh;
18450
- /**
18451
- * Where the access token sits in the refresh response. A provider's `extractTokens` can pull it out
18452
- * of any shape, so the path is recovered by finding the live token in the last auth response - with
18453
- * the default extractor's `$.accessToken` as the fallback.
18454
- */
18455
- private accessTokenPath;
18456
- /**
18457
- * How long Insomnia may reuse a stored refresh response: the access token's own lifetime with a
18458
- * margin, so the chain refreshes shortly before the token it hands out would expire. Capped at an
18459
- * hour - a long-lived (or bogus) `exp` should still hand out a token minted this session.
18460
- */
18461
- private accessTokenMaxAge;
18462
- /**
18463
- * The headers a replay needs, including the ones the query client adds. Header providers can throw
18464
- * (a secure query's needs an access token), in which case the request is exported without them.
18465
- */
18466
- private insomniaHeaders;
18467
- private sessionClients;
18468
- /** Every registered entry, described by whatever its kind carries. */
18469
- private sessionEntries;
18470
- private sessionQuery;
18471
- private sessionActivity;
18472
- private sessionSequence;
18473
- private sessionForm;
18474
- /**
18475
- * An auth provider without its tokens. A session report is a file that gets attached to a ticket, and
18476
- * the access token is the one thing in the panel that must never travel with it - which is why only
18477
- * its presence and its remaining lifetime are exported.
18478
- */
18479
- private sessionAuth;
18480
- private sessionSocket;
18481
- private sessionEvents;
18482
- private sessionFaults;
18483
- /** Only the armed ones: a capture taken while the panel was answering requests has to say which. */
18484
- private sessionMocks;
18485
- private downloadFile;
18486
- private stepKey;
18487
- private paneSize;
18488
- /** The panel's size is the distance from the pointer to the edge it is docked to. */
18489
- private applyResize;
18490
- /** A pane's size is the distance from the pointer to the container edge that pane sits against. */
18491
- private applyPaneResize;
18492
- private closePopup;
18493
- private updateInspectHover;
18494
- private selectInspectedQuery;
18495
- private selectionKey;
18496
- /** Writes to the clipboard and ticks `copied` on success. `html` is omitted for plain-text payloads. */
18497
- private writeToClipboard;
18498
- private responseStatus;
18499
- private findQuery;
18500
- private pushEvent;
18501
- /**
18502
- * The registered query an event's request belongs to. A request is shared by every query on the same
18503
- * cache key, so the first owner is as good as any - they all show the same response.
18504
- *
18505
- * The url fallback is what makes a row clickable when the query is already gone: an error that fires
18506
- * as the component holding it is being destroyed (a `401` that redirects to login) has no live owner
18507
- * left to match on identity, and its tombstone holds a copy of the request rather than the request.
18508
- */
18509
- private resolveEventQueryId;
18510
- /**
18511
- * The size of a settled request's response, taken from its `content-length` when the response carried
18512
- * one and measured from the decoded body otherwise.
18513
- */
18514
- private measureResponse;
18515
- private refreshedRequestOf;
18516
- private pushEventItem;
18517
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<QueryDevtoolsComponent, never>;
18518
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<QueryDevtoolsComponent, "et-query-devtools", never, {}, {}, never, never, true, never>;
18519
- }
18520
-
18521
17096
  /**
18522
17097
  * What the directive needs from a query in order to retry it: something executable. Both query clients satisfy
18523
17098
  * it - the current client's `Query` directly, and a legacy one through
@@ -18838,6 +17413,8 @@ type SchedulerLabels = {
18838
17413
  descriptionField: string;
18839
17414
  /** Label for the built-in color edit field. */
18840
17415
  colorField: string;
17416
+ /** Label for the color field's "leave it unset" choice, shown when a `provideColorPalette` palette exists. */
17417
+ colorFieldNone: string;
18841
17418
  };
18842
17419
  /** The built-in English labels. */
18843
17420
  declare const DEFAULT_SCHEDULER_LABELS: SchedulerLabels;
@@ -18988,6 +17565,19 @@ type SchedulerAgendaDay<TExtra = unknown> = {
18988
17565
  today: boolean;
18989
17566
  nodes: AppointmentTreeNode<TExtra>[];
18990
17567
  };
17568
+ /**
17569
+ * Groups a sub-appointment tree into an agenda list: one entry per day, holding every appointment
17570
+ * that touches it in chain order (a parent immediately followed by its children, depth preserved
17571
+ * from the full tree) - so indentation still reads as nesting even when a chain's root falls
17572
+ * outside the visible days. An appointment appears on every day it spans, same as the month grid.
17573
+ */
17574
+ /**
17575
+ * One agenda row's connector guides, outermost first. `trunk` is an ancestor level whose chain
17576
+ * continues past this row, `gap` one whose chain has ended (indent, no line); `branch` is the elbow
17577
+ * into this row, `last-branch` the elbow of the final child of its parent, which stops at the row's
17578
+ * middle instead of carrying on down. A root row has no guides at all.
17579
+ */
17580
+ type SchedulerAgendaGuide = 'trunk' | 'gap' | 'branch' | 'last-branch';
18991
17581
 
18992
17582
  /**
18993
17583
  * Groups the host `[etScheduler]`'s appointments into an agenda list: one entry per day of the
@@ -19408,6 +17998,15 @@ declare class SchedulerAgendaViewComponent {
19408
17998
  protected scheduler: SchedulerDirective<any> | null;
19409
17999
  protected agenda: SchedulerAgendaDirective;
19410
18000
  private featureHost;
18001
+ protected days: _angular_core.Signal<{
18002
+ rows: {
18003
+ node: _ethlete_components.AppointmentTreeNode<any>;
18004
+ guides: SchedulerAgendaGuide[];
18005
+ }[];
18006
+ date: Date;
18007
+ today: boolean;
18008
+ nodes: _ethlete_components.AppointmentTreeNode<any>[];
18009
+ }[]>;
19411
18010
  constructor();
19412
18011
  /** UI contributed by badge features (title, time range, …) - see `registerBadgeAdornment`. */
19413
18012
  protected badgeAdornments(): readonly _ethlete_components.SchedulerBadgeAdornment[];
@@ -19622,6 +18221,7 @@ declare class SchedulerEditSurfaceComponent implements SchedulerEditSurfaceHost
19622
18221
  private labels;
19623
18222
  private elementRef;
19624
18223
  private overlayRef;
18224
+ protected scheduler: SchedulerDirective<any> | null;
19625
18225
  /** The headless directive behind this surface - field/action registration, draft state and navigation. */
19626
18226
  surface: SchedulerEditSurfaceDirective<any>;
19627
18227
  cancelLabel: _angular_core.Signal<string>;
@@ -19637,13 +18237,17 @@ declare class SchedulerEditSurfaceComponent implements SchedulerEditSurfaceHost
19637
18237
  appointmentActions: _angular_core.Signal<SchedulerAppointmentAction[]>;
19638
18238
  /** Gates the save button - every currently-enabled field must report itself valid. */
19639
18239
  canSave: _angular_core.Signal<boolean>;
18240
+ protected childEntries: _angular_core.Signal<{
18241
+ node: AppointmentTreeNode;
18242
+ startTime: string | null;
18243
+ }[]>;
19640
18244
  constructor();
19641
18245
  /** Part of the feature contract - see `SchedulerEditSurfaceHost`. */
19642
18246
  get element(): HTMLElement;
19643
18247
  /** Part of the feature contract - see `SchedulerEditSurfaceHost`. */
19644
18248
  get appointment(): _angular_core.Signal<Appointment<any>>;
19645
18249
  /** Part of the feature contract - see `SchedulerEditSurfaceHost`. */
19646
- get appointmentTree(): _angular_core.Signal<_ethlete_components.AppointmentTreeNode<any>[]>;
18250
+ get appointmentTree(): _angular_core.Signal<AppointmentTreeNode<any>[]>;
19647
18251
  /** Part of the feature contract - see `SchedulerEditSurfaceHost`. */
19648
18252
  registerEditField(field: SchedulerEditField): void;
19649
18253
  /** Part of the feature contract - see `SchedulerEditSurfaceHost`. */
@@ -19925,17 +18529,22 @@ declare class SchedulerBadgeTitleComponent {
19925
18529
  }
19926
18530
 
19927
18531
  /**
19928
- * The color piece of the edit surface, stamped by `etSchedulerEditColor`. A plain text field for
19929
- * `colorToken` rather than a swatch picker - theme names are app-registered (see `theming`), so
19930
- * the SDK has no fixed set of tokens to offer as choices.
18532
+ * The color piece of the edit surface, stamped by `etSchedulerEditColor`. A swatch picker over the
18533
+ * app's `provideColorPalette` palette, or - with no palette in scope - a plain text field for
18534
+ * `colorToken`, since theme names are app-registered (see `theming`) and the SDK has no set of its
18535
+ * own to offer as choices.
19931
18536
  *
19932
18537
  * @internal
19933
18538
  */
19934
18539
  declare class SchedulerEditColorComponent {
19935
18540
  private labels;
18541
+ protected palette: _ethlete_core.ColorPaletteEntry[] | null;
19936
18542
  draft: _angular_core.InputSignal<WritableSignal<Appointment>>;
19937
18543
  label: _angular_core.Signal<string>;
19938
- protected value: _angular_core.Signal<string>;
18544
+ protected noneLabel: _angular_core.Signal<string>;
18545
+ protected textValue: _angular_core.Signal<string>;
18546
+ protected selectedToken: _angular_core.Signal<string | null>;
18547
+ protected selectColorToken(value: unknown): void;
19939
18548
  protected updateColorToken(value: string): void;
19940
18549
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerEditColorComponent, never>;
19941
18550
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SchedulerEditColorComponent, "et-scheduler-edit-color", never, { "draft": { "alias": "draft"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
@@ -21581,9 +20190,11 @@ type StreamConfig = {
21581
20190
  * Supply a custom component that provides `PIP_CHROME_REF_TOKEN` to fully
21582
20191
  * replace the built-in pip chrome UI.
21583
20192
  *
21584
- * @default `StreamPipChromeComponent`
20193
+ * `null` uses the built-in `StreamPipChromeComponent`.
20194
+ *
20195
+ * @default null
21585
20196
  */
21586
- pipChromeComponent: Type<unknown>;
20197
+ pipChromeComponent: Type<unknown> | null;
21587
20198
  /**
21588
20199
  * Sizing and layout defaults for the floating pip window.
21589
20200
  * Override individual values by spreading `DEFAULT_PIP_WINDOW_CONFIG`:
@@ -21618,7 +20229,7 @@ declare const createStreamConfig: (valueOverride?: Partial<StreamConfig>) => {
21618
20229
  pipSlotPlaceholderComponent: Type<unknown> | null;
21619
20230
  loadingComponent: Type<unknown>;
21620
20231
  errorComponent: Type<unknown>;
21621
- pipChromeComponent: Type<unknown>;
20232
+ pipChromeComponent: Type<unknown> | null;
21622
20233
  };
21623
20234
  declare const provideStreamConfig: (valueOverride?: Partial<StreamConfig>) => _angular_core.Provider[];
21624
20235
 
@@ -25157,6 +23768,7 @@ type TabSize = (typeof TAB_SIZES)[keyof typeof TAB_SIZES];
25157
23768
  declare class NavTabsComponent {
25158
23769
  protected tabBar: TabBarDirective;
25159
23770
  size: _angular_core.InputSignal<TabSize>;
23771
+ constructor();
25160
23772
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavTabsComponent, never>;
25161
23773
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavTabsComponent, "et-nav-tabs", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof _ethlete_core.ProvideSurfaceDirective; inputs: { "etProvideSurface": "surface"; }; outputs: {}; }, { directive: typeof _ethlete_core.ProvideColorDirective; inputs: { "etProvideColor": "color"; }; outputs: {}; }, { directive: typeof TabBarDirective; inputs: { "orientation": "orientation"; "fit": "fit"; "divider": "divider"; "variant": "variant"; }; outputs: {}; }, { directive: typeof NavTabsDirective; inputs: {}; outputs: {}; }]>;
25162
23774
  }
@@ -26041,7 +24653,7 @@ declare const TREE_ERROR_CODES: {
26041
24653
  declare const TREE_IMPORTS: readonly [typeof TreeComponent, typeof TreeDirective, typeof TreeNodeDirective, typeof TreeNodeDefDirective];
26042
24654
 
26043
24655
  /** The version of `@ethlete/components` this build was cut from. */
26044
- declare const COMPONENTS_VERSION = "1.0.0-next.42";
24656
+ declare const COMPONENTS_VERSION = "1.0.0-next.44";
26045
24657
 
26046
- export { ACCORDION_ERROR_CODES, ACCORDION_GROUP_TOKEN, ACCORDION_IMPORTS, ACCORDION_TOKEN, ALIGN_CENTER_ICON, ALIGN_JUSTIFY_ICON, ALIGN_LEFT_ICON, ALIGN_RIGHT_ICON, ARROWS_LEFT_RIGHT_ICON, ARROW_OUT_UP_RIGHT_ICON, ARROW_RIGHT_ICON, ARROW_UP_ICON, AVATAR_IMPORTS, AVATAR_SHAPES, AVATAR_SIZES, AccordionComponent, AccordionContentDirective, AccordionDirective, AccordionGroupComponent, AccordionGroupDirective, AccordionHintDirective, AccordionLabelDirective, AccordionPanelDirective, AccordionTriggerDirective, AvatarComponent, AvatarGroupComponent, BADGE_ICON_ALIGNMENTS, BADGE_IMPORTS, BADGE_SIZES, BADGE_VARIANTS, BANNER_IMPORTS, BANNER_LABELS, BANNER_TYPES, BOLD_ICON, BRACKET_CARD_CONTEXT, BRACKET_DATA_LAYOUT, BRACKET_DEFAULTS, BRACKET_DENSITY, BRACKET_DENSITY_PRESETS, BRACKET_ERROR_CODES, BRACKET_IMPORTS, BRACKET_LABELS, BRACKET_ROUND_MIRROR_TYPE, BRACKET_SWISS_GROUP_COLOR_TYPE, BREADCRUMB_COLLAPSE_IMPORTS, BREADCRUMB_COLLAPSE_TOKEN, BREADCRUMB_ERROR_CODES, BREADCRUMB_IMPORTS, BREADCRUMB_LABELS, BREADCRUMB_SEGMENT_TOKEN, BREADCRUMB_SEO_IMPORTS, BREADCRUMB_TOKEN, BUTTON_ICON_ALIGNMENTS, BUTTON_IMPORTS, BUTTON_SIZES, BUTTON_SPINNER_CONFIG, BUTTON_TYPES, BUTTON_VARIANTS, BadgeComponent, BannerComponent, BracketComponent, BracketDefaultContinueComponent, BracketDefaultFinalMatchComponent, BracketDefaultMatchComponent, BracketDefaultRoundHeaderComponent, BracketMap, BracketRoundsListComponent, BrandLoaderComponent, BreadcrumbCollapseDirective, BreadcrumbComponent, BreadcrumbDirective, BreadcrumbItemDirective, BreadcrumbItemTemplateDirective, BreadcrumbOutletComponent, BreadcrumbOverflowComponent, BreadcrumbSegmentDirective, BreadcrumbSeoDirective, BreadcrumbSeparatorDirective, ButtonComponent, ButtonDirective, ButtonStylesDirective, CALENDAR_ERROR_CODES, CALENDAR_ICON, CALENDAR_IMPORTS, CALENDAR_LABELS, CARD_IMPORTS, CARD_VARIANTS, CAROUSEL_AUTOPLAY_TOKEN, CAROUSEL_ERROR_CODES, CAROUSEL_IMPORTS, CAROUSEL_LABELS, CAROUSEL_SLIDE_ALIGNMENTS, CAROUSEL_TOKEN, CAROUSEL_TRANSITIONS, CAROUSEL_TRANSITION_DRIVERS, CASCADER_ERROR_CODES, CASCADER_IMPORTS, CASCADER_LABELS, CASCADER_SELECTABLE_LEVELS, CHECKBOX_GROUP_IMPORTS, CHECKBOX_IMPORTS, CHECKBOX_OPTION_VARIANTS, CHECK_ICON, CHEVRON_ICON, CHIP_ERROR_CODES, CHIP_IMPORTS, CHIP_LABELS, CHOICE_FIELD_IMPORTS, CHOICE_FIELD_VARIANTS, CIRCLE_CHECK_ICON, CIRCLE_INFO_ICON, CLIPBOARD_CHECK_ICON, CLOCK_ICON, CODE_BLOCK_ICON, CODE_ICON, COLOR_INPUT_IMPORTS, COMMON_BRACKET_ROUND_TYPE, COMPONENTS_VERSION, COPY_BUTTON_IMPORTS, CalendarCellDirective, CalendarComponent, CalendarDirective, CalendarGridDirective, CalendarHeaderDirective, CardComponent, CarouselAutoplayDirective, CarouselComponent, CarouselDirective, CarouselItemDirective, CarouselNextDirective, CarouselPlayToggleDirective, CarouselPreviousDirective, CarouselSlideDirective, CascaderColumnDirective, CascaderComponent, CascaderDirective, CascaderNodeDirective, CascaderPanelComponent, CascaderSearchDirective, CascaderSearchOptionDirective, CascaderSurfaceDirective, CascaderTriggerDirective, CheckboxComponent, CheckboxDirective, CheckboxGroupComponent, CheckboxGroupSelectAllComponent, CheckboxOptionComponent, ChipComponent, ChipDirective, ChipRemoveDirective, ChoiceFieldComponent, ColorInputComponent, ColorInputDirective, ControlSuffixDirective, CopyButtonDirective, CounterComponent, DAILYMOTION_PLAYER_TOKEN, DATE_FORMAT, DATE_INPUT_ERROR_CODES, DATE_INPUT_IMPORTS, DATE_LOCALE, DATE_PICKER_HOST, DATE_RANGE_INPUT_ERROR_CODES, DATE_RANGE_INPUT_IMPORTS, DATE_TIME_INPUT_ERROR_CODES, DATE_TIME_INPUT_IMPORTS, DATE_TIME_LABELS, DEFAULT_BANNER_LABELS, DEFAULT_BRACKET_LABELS, DEFAULT_BREADCRUMB_LABELS, DEFAULT_BREAKPOINTS, DEFAULT_CALENDAR_LABELS, DEFAULT_CALENDAR_RANGE_STRATEGY, DEFAULT_CAROUSEL_LABELS, DEFAULT_CASCADER_LABELS, DEFAULT_CHIP_LABELS, DEFAULT_DATE_TIME_LABELS, DEFAULT_DROPZONE_LABELS, DEFAULT_FILTER_OVERLAY_LABELS, DEFAULT_FORM_FIELD_LABELS, DEFAULT_GRID_LABELS, DEFAULT_ICON_VARIANT, DEFAULT_INPUT_LABELS, DEFAULT_LOADER_LABELS, DEFAULT_MATCH_CARD_START_TIME_FORMAT, DEFAULT_MATCH_LABELS, DEFAULT_NOTIFICATION_LABELS, DEFAULT_NOTIFICATION_MANAGER_CONFIG, DEFAULT_NOTIFICATION_STATUS_ICONS, DEFAULT_PAGINATION_LABELS, DEFAULT_PHONE_INPUT_LABELS, DEFAULT_PIP_WINDOW_CONFIG, DEFAULT_QUERY_ERROR_LABELS, DEFAULT_RICH_TEXT_EDITOR_LABELS, DEFAULT_RICH_TEXT_EDITOR_TOOLS, DEFAULT_SCHEDULER_LABELS, DEFAULT_SELECT_LABELS, DEFAULT_SLIDER_LABELS, DEFAULT_STANDINGS_LABELS, DEFAULT_STREAM_LABELS, DEFAULT_STREAM_PLAYER_STATE, DEFAULT_TABLE_LABELS, DEFAULT_TIME_PICKER_LABELS, DESCRIPTION_IMPORTS, DESCRIPTION_LIST_IMPORTS, DIVIDER_IMPORTS, DOUBLE_ELIMINATION_BRACKET_ROUND_TYPE, DROPZONE_ENTRY_STATUSES, DROPZONE_ERROR_CODES, DROPZONE_FILES_ERROR_KIND, DROPZONE_FILE_CONSTRAINTS, DROPZONE_FILE_REJECTION_REASONS, DROPZONE_IMPORTS, DROPZONE_LABELS, DURATION_INPUT_ERROR_CODES, DURATION_INPUT_IMPORTS, DailymotionPlayerComponent, DailymotionPlayerDirective, DailymotionPlayerParamsDirective, DailymotionPlayerSlotComponent, DateInputComponent, DateInputDirective, DateInputFieldDirective, DatePickerPanelComponent, DatePickerSurfaceDirective, DatePickerTriggerDirective, DateRangeInputComponent, DateRangeInputDirective, DateRangeInputFieldDirective, DateTimeInputComponent, DateTimeInputDirective, DateTimeInputFieldDirective, DescriptionComponent, DescriptionListComponent, DividerComponent, DropzoneComponent, DropzoneDirective, DurationInputComponent, DurationInputDirective, DurationInputFieldDirective, ELLIPSIS_ICON, ELLIPSIS_VERTICAL_ICON, EMPTY_STATE_IMPORTS, ET_BUILT_IN_ICON_NAMES, EYE_ICON, EYE_SLASH_ICON, EmptyStateComponent, FACEBOOK_PLAYER_TOKEN, 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, FormFieldBarrierDirective, 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, KBD_IMPORTS, KBD_PLATFORM, KICK_PLAYER_TOKEN, KbdComponent, KickPlayerComponent, KickPlayerDirective, KickPlayerParamsDirective, KickPlayerSlotComponent, LINK_ICON, LIST_BULLETED_ICON, LIST_NUMBERED_ICON, LOADER_LABELS, LOCATION_ICON, LOCK_ICON, LabelDirective, MASKED_INPUT_ERROR_CODES, MASKED_INPUT_IMPORTS, MASK_VALUE_MODES, MASONRY_ERROR_CODES, MASONRY_IMPORTS, MASONRY_TOKEN, MATCH_CARD_IMPORTS, MATCH_CARD_SIZES, MATCH_CARD_TOKEN, MATCH_ERROR_CODES, MATCH_LABELS, MATCH_PARTICIPANT_IMPORTS, MENU_ERROR_CODES, MENU_IMPORTS, MENU_ITEM_VARIANTS, MENU_SELECTION_GROUP_MULTIPLE, MENU_SELECTION_GROUP_TOKEN, MENU_SELECTION_ITEM_KIND, MINUS_ICON, MULTI_LANGUAGE_RICH_TEXT_EDITOR_ERROR_CODES, MULTI_LANGUAGE_RICH_TEXT_EDITOR_IMPORTS, MasonryDirective, MasonryItemDirective, MatchCardComponent, MatchCardDirective, MatchCardGameScoresDirective, MatchCardMetaDirective, MatchCardScoreDirective, MatchParticipantComponent, MatchScoreComponent, MenuCheckboxGroupComponent, MenuCheckboxItemComponent, MenuComponent, MenuContextTriggerDirective, MenuDirective, MenuGroupLabelComponent, MenuItemComponent, MenuItemDirective, MenuItemShortcutComponent, MenuPanelDirective, MenuRadioGroupComponent, MenuRadioItemComponent, MenuSearchDirective, MenuSelectionGroupDirective, MenuSelectionItemDirective, MenuSeparatorComponent, MenuSurfaceDirective, MenuTriggerDirective, MultiLanguageRichTextEditorComponent, MultiLanguageRichTextEditorDirective, MultiLanguageRichTextEditorLanguageToolComponent, NAV_TABS_TOKEN, NAV_TAB_IMPORTS, NOTIFICATION_ACTION_SLOTS, NOTIFICATION_ERROR_CODES, NOTIFICATION_IMPORTS, NOTIFICATION_LABELS, NOTIFICATION_STACK_CONTEXT_TOKEN, NOTIFICATION_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, PROGRESS_STEPS_IMPORTS, PROGRESS_STEP_STATES, PageSizeSelectComponent, PaginationComponent, PaginationDirective, PaginationSeoDirective, PasswordInputComponent, PasswordInputDirective, PhoneInputComponent, PhoneInputDirective, PhoneInputFieldDirective, PhoneInputFlagDirective, PictureComponent, PictureErrorDirective, PicturePlaceholderDirective, PipBackDirective, PipBringBackDirective, PipCellDirective, PipCloseDirective, PipCollapseOverlayDirective, PipGridToggleDirective, PipPlayerComponent, PipSlotPlaceholderComponent, PipStageDirective, PipTitleBarDirective, PipTitleBarTemplateDirective, PipWindowComponent, PipWindowParamsDirective, ProgressBarComponent, ProgressStepComponent, ProgressStepsComponent, QUERY_ERROR_ERROR_CODES, QUERY_ERROR_IMPORTS, QUERY_ERROR_LABELS, QUERY_ERROR_TOKEN, QUOTE_ICON, QueryDevtoolsAboutComponent, QueryDevtoolsComponent, QueryDevtoolsJsonComponent, QueryDevtoolsJsonStylesComponent, QueryDevtoolsSettingsComponent, 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, SCHEDULER_ADD_SURFACE_OVERLAY, SCHEDULER_EDIT_SURFACE_HOST, SCHEDULER_EDIT_SURFACE_OVERLAY, SCHEDULER_ERROR_CODES, SCHEDULER_FEATURE_HOST, SCHEDULER_IMPORTS, SCHEDULER_LABELS, SCROLLABLE_DARKEN_IMPORTS, SCROLLABLE_DRAG_IMPORTS, SCROLLABLE_ERROR_CODES, SCROLLABLE_IMPORTS, SCROLLABLE_NAVIGATION_IMPORTS, SEGMENTED_BUTTON_GROUP_VARIANTS, SEGMENTED_BUTTON_IMPORTS, SELECTION_LIST_IMPORTS, SELECTION_LIST_MULTIPLE, SELECTION_LIST_TOKEN, SELECT_ERROR_CODES, SELECT_FILTER_MODES, SELECT_IMPORTS, SELECT_LABELS, SIDEBAR_OVERLAY_CONFIG, SIDEBAR_OVERLAY_TOKEN, SINGLE_ELIMINATION_BRACKET_ROUND_TYPE, SKELETON_IMPORTS, SLIDER_ERROR_CODES, SLIDER_IMPORTS, SLIDER_LABELS, SLIDER_MARK_VALUE_ATTRIBUTE, SLIDER_TOKEN, SNAP_HYSTERESIS, SOOP_PLAYER_TOKEN, SPLIT_BUTTON_ERROR_CODES, STANDINGS_ERROR_CODES, STANDINGS_IMPORTS, STANDINGS_LABELS, STAR_ICON, STREAM_ALL_IMPORTS, STREAM_CONSENT_TOKEN, STREAM_DAILYMOTION_IMPORTS, STREAM_FACEBOOK_IMPORTS, STREAM_IMPORTS, STREAM_KICK_IMPORTS, STREAM_LABELS, STREAM_PIP_IMPORTS, STREAM_PLAYER_COMPONENT_TOKEN, STREAM_PLAYER_ERROR_CONTEXT_TOKEN, STREAM_PLAYER_ERROR_TOKEN, STREAM_PLAYER_PARAMS_TOKEN, STREAM_PLAYER_SLOT_TOKEN, STREAM_PLAYER_TOKEN, STREAM_SLOT_PLAYER_ID_TOKEN, STREAM_SOOP_IMPORTS, STREAM_TIKTOK_IMPORTS, STREAM_TWITCH_IMPORTS, STREAM_USER_CONSENT_PROVIDER_TOKEN, STREAM_VIMEO_IMPORTS, STREAM_YOUTUBE_IMPORTS, STRIKETHROUGH_ICON, SUPPORT_CONTENT_STATE, SUPPORT_TRANSITION_DIRECTION, SWISS_BRACKET_ROUND_TYPE, SWITCH_IMPORTS, SchedulerActionAddAppointmentDirective, SchedulerActionAddSubAppointmentDirective, SchedulerActionDeleteDirective, SchedulerAgendaDirective, SchedulerAgendaViewComponent, SchedulerBadgeChainCountComponent, SchedulerBadgeChainCountDirective, SchedulerBadgeColorDotComponent, SchedulerBadgeColorDotDirective, SchedulerBadgeLocationComponent, SchedulerBadgeLocationDirective, SchedulerBadgeTimeRangeComponent, SchedulerBadgeTimeRangeDirective, SchedulerBadgeTitleComponent, SchedulerBadgeTitleDirective, SchedulerComponent, SchedulerDirective, SchedulerEditColorComponent, SchedulerEditColorDirective, SchedulerEditDescriptionComponent, SchedulerEditDescriptionDirective, SchedulerEditLocationComponent, SchedulerEditLocationDirective, SchedulerEditSurfaceComponent, SchedulerEditSurfaceDirective, SchedulerEditTimeRangeComponent, SchedulerEditTimeRangeDirective, SchedulerEditTitleComponent, SchedulerEditTitleDirective, SchedulerMonthDirective, SchedulerMonthViewComponent, SchedulerSwipeNavigationDirective, SchedulerTimeGridDirective, SchedulerTimeGridViewComponent, ScrollableActiveChildDirective, ScrollableButtonsComponent, ScrollableButtonsDirective, ScrollableComponent, ScrollableDarkenDirective, ScrollableDirective, ScrollableDragDirective, ScrollableIgnoreChildDirective, ScrollableLoadingTemplateDirective, ScrollableMasksComponent, ScrollableNavigationComponent, ScrollableNavigationDirective, ScrollableSnapDirective, SegmentedButtonComponent, SegmentedButtonGroupComponent, SelectComponent, SelectDirective, SelectEmptyDirective, SelectErrorDirective, SelectListboxDirective, SelectLoadingDirective, SelectOptionComponent, SelectOptionDirective, SelectOptionGroupComponent, SelectOptionGroupDirective, SelectOptionTemplateDirective, SelectOptionsDirective, SelectPanelComponent, SelectSearchDirective, SelectSurfaceDirective, SelectTriggerDirective, SelectValueDirective, SelectViewportDirective, SelectVirtualOptionComponent, SelectVirtualOptionDirective, SelectionListControlDirective, SelectionListDirective, SelectionOptionDirective, SkeletonComponent, SkeletonItemComponent, SkeletonTextComponent, SliderComponent, SliderDirective, SliderThumbDirective, SliderThumbLabelDirective, SliderTrackDirective, SoopPlayerComponent, SoopPlayerDirective, SoopPlayerParamsDirective, SoopPlayerSlotComponent, SpinnerComponent, SplitButtonActionDirective, SplitButtonComponent, SplitButtonDirective, SplitButtonTriggerDirective, StandingsComponent, StandingsDirective, StreamConsentAcceptDirective, StreamConsentComponent, StreamConsentDirective, StreamPipChromeComponent, StreamPlayerErrorComponent, StreamPlayerErrorDirective, StreamPlayerLoadingComponent, StreamPlayerSlotDirective, SwitchComponent, SwitchDirective, TABLE_CELL_ERROR_TOOLTIP_IMPORTS, TABLE_COLUMN_CHOOSER_IMPORTS, TABLE_COLUMN_MENU_IMPORTS, TABLE_CSV_EXPORT_IMPORTS, TABLE_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, TIMELINE_IMPORTS, 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, TOOLBAR_IMPORTS, TOOLBAR_ORIENTATIONS, TOOLTIP_ERROR_CODES, TOOLTIP_IMPORTS, TOURNAMENT_MODE, TRASH_ICON, TREE_ERROR_CODES, TREE_IMPORTS, TREE_LEVEL_STATUSES, TREE_MARKERS, TREE_SELECTION_MODES, TRIANGLE_EXCLAMATION_ICON, TROPHY_ICON, TWITCH_PLAYER_TOKEN, TabBarDirective, TabBarTriggerDirective, TabBarUnderlineDirective, TabComponent, TabGroupComponent, TabGroupDirective, TabLabelDirective, TabPanelDirective, TabTriggerDirective, TableCellDirective, TableCellEditDirective, TableCellErrorMarkComponent, TableCellErrorTooltipDirective, TableCellSkeletonDirective, TableColumnChooserComponent, TableColumnMenuDirective, TableColumnMenuTriggerComponent, TableComponent, TableCsvExportDirective, TableDetailStylesComponent, 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, TimelineComponent, TimelineItemComponent, ToggletipCloseDirective, ToggletipComponent, ToggletipDirective, ToggletipTriggerDirective, ToolbarComponent, ToolbarDirective, TooltipComponent, TooltipDirective, TreeComponent, TreeDirective, TreeMarkerComponent, TreeNodeDefDirective, TreeNodeDirective, TwitchPlayerComponent, TwitchPlayerDirective, TwitchPlayerParamsDirective, TwitchPlayerSlotComponent, UNDERLINE_ICON, UNDO_ICON, UNIT_MS, UPLOAD_ICON, VIMEO_PLAYER_TOKEN, VimeoPlayerComponent, VimeoPlayerDirective, VimeoPlayerParamsDirective, VimeoPlayerSlotComponent, 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, clampFloatToPeek, clampPosition, clampResizeRect, cleanupFullscreenAnimation, cleanupFullscreenAnimationStyles, compactLayout, computeGeometry, computeGridHeight, countDescendants, createAnchoredPanelController, createAutoScroller, createCardMask, createCurrencyMask, createDefaultDropzoneArgs, createDropzoneUpload, createExistingDropzoneEntry, createFileDropzoneEntry, createFixedLengthRangeStrategy, createGridAdapter, createIbanMask, createNormalizedBracketMatch, createNotificationPromiseFn, createNotificationRef, createOverlayOpener, createOverlayRef, createOverlayStrategyController, createOverlayUnsavedChangesGuard, createPipChromeAnimations, createPipChromeState, createRichTextEditorTrigger, createRichTextEditorTriggerWithQuery, createStreamConfig, createStreamPlayerSlot, createTableRowsSource, createTableStateStorage, createV2DropzoneUpload, createWeekRangeStrategy, defaultCompareWith, defaultDropzoneRejectionMessage, defineOverlay, defineQueryParamOverlay, deriveDurationFormatSpec, deserializeGridLayout, deserializeTableState, detectKbdPlatform, dialogOverlayStrategy, disposeDropzoneEntry, doubleEliminationBracketLayout, dropzoneFiles, enableDragToDismiss, extractFirstImageUrl, filterOverlayLabelsForLocale, filterOverlayPreviewFromQuery, filterRows, findCollision, findNextRelevantHtmlElement, findScrollableAncestor, formatDuration, formatFileSize, fromGridPosition, fullScreenDialogOverlayStrategy, generateBracketDataForEthlete, generateRoundTypeFromEthleteRoundType, generateTournamentModeFormEthleteRounds, getClosestOverlay, getOriginCoordinatesAndDimensions, hexColor, hysteresisRound, iconRegistryKey, indexOfNode, injectAnchoredDialogStrategy, injectAnchoredDialogStrategyDefaults, injectBannerLabels, injectBottomSheetStrategy, injectBottomSheetStrategyDefaults, injectBracketConfig, injectBracketLabels, injectBreadcrumbLabels, injectBreadcrumbManager, injectCalendarLabels, injectCarouselLabels, injectCascaderLabels, injectChipLabels, injectDateFormat, injectDateLocale, injectDateTimeLabels, injectDialogStrategy, injectDialogStrategyDefaults, injectDropzoneLabels, injectFilterOverlay, injectFilterOverlayLabels, injectFormFieldLabels, injectFormSupport, injectFullscreenDialogStrategy, injectFullscreenDialogStrategyDefaults, injectGridConfig, injectGridLabels, injectInputLabels, injectLeftSheetStrategy, injectLeftSheetStrategyDefaults, injectLoaderLabels, injectMatchLabels, injectNotificationLabels, injectNotificationManager, injectNotificationManagerConfig, injectOverlayManager, injectOverlayRouter, injectOverlayScrollBlocker, injectOverlaySurfaceContext, injectPaginationLabels, injectPhoneInputLabels, injectPictureConfig, injectPipChromeManager, injectPipManager, injectPipSlotPlaceholderConfig, injectQueryErrorLabels, injectRichTextEditorLabels, injectRichTextEditorTools, injectRightSheetStrategy, injectRightSheetStrategyDefaults, injectSchedulerEditSurfaceHost, injectSchedulerFeatureHost, injectSchedulerLabels, injectSelectLabels, injectSidebarOverlay, injectSliderLabels, injectStandingsLabels, injectStreamConfig, injectStreamConsentConfig, injectStreamLabels, injectStreamManager, injectStreamPlayerErrorConfig, injectStreamPlayerLoadingConfig, injectStreamScriptLoader, injectStreamUserConsentProvider, injectTableCsvExport, injectTableFeatureHost, injectTableLabels, injectTimeFormat, injectTimePickerLabels, injectTopSheetStrategy, injectTopSheetStrategyDefaults, isFileAccepted, isHtmlElement, isInteractiveElement, isPointerEvent, isTargetInsideOverlayTree, isTouchEvent, itemsCollide, kbdKeyLabel, kbdKeyName, kindOf, leftSheetOverlayStrategy, legacyQueryErrorSource, mapLayoutToBreakpoint, matchCountryByDialCode, matchParticipantDisplayName, mergeOverlayBreakpointConfigs, mergeOverlayConfigs, mirroredDoubleEliminationBracketLayout, mirroredSingleEliminationBracketLayout, mountRichTextEditorImageStyles, mountRichTextEditorTableStyles, nodesEqual, normalizeEthleteBracketMatch, normalizeEthleteGroupRanking, normalizeEthleteMatch, normalizeEthleteMatchStatus, normalizeEthleteMedia, normalizeEthleteParticipant, normalizeEthletePlacement, normalizePictureSizes, normalizePictureSource, numberInputStepMultiplierFrom, paginate, parseDuration, parseKbdKeys, phoneCountryFlag, phoneCountryName, pixelRectsEqual, positionToPixelRect, positionsEqual, projectDragCell, provideAnchoredDialogStrategy, provideAnchoredDialogStrategyDefaults, provideBannerLabels, provideBottomSheetStrategy, provideBottomSheetStrategyDefaults, provideBracketConfig, provideBracketLabels, provideBreadcrumbLabels, provideBreadcrumbManager, provideCalendarLabels, provideCarouselLabels, provideCascaderLabels, provideChipLabels, provideDateFormat, provideDateLocale, provideDateTimeLabels, provideDialogStrategy, provideDialogStrategyDefaults, provideDropzoneLabels, provideFilterOverlay, provideFilterOverlayLabels, provideFormErrorMessageResolver, provideFormFieldLabels, provideFormSupport, provideFullscreenDialogStrategy, provideFullscreenDialogStrategyDefaults, provideGridConfig, provideGridLabels, provideIconOverrides, provideIcons, provideInputLabels, provideLeftSheetStrategy, provideLeftSheetStrategyDefaults, provideLoaderLabels, provideMatchLabels, provideNotificationLabels, provideNotificationManager, provideNotificationManagerConfig, provideNotificationManagerInstance, provideOverlay, provideOverlayManager, provideOverlayRouter, provideOverlayRouterConfig, provideOverlayRouterService, provideOverlayScrollBlocker, providePaginationLabels, providePhoneInputLabels, providePictureConfig, providePipChromeManager, providePipManager, providePipSlotPlaceholderConfig, provideQueryErrorLabels, provideRichTextEditorAlignmentTool, provideRichTextEditorAutoformat, provideRichTextEditorBlockquoteTool, provideRichTextEditorCodeBlockTool, provideRichTextEditorDefaultTools, provideRichTextEditorFloatingToolbar, provideRichTextEditorHeadingTool, provideRichTextEditorImageTool, provideRichTextEditorLabels, provideRichTextEditorLanguageTool, provideRichTextEditorLinkEditor, provideRichTextEditorLinkTool, provideRichTextEditorTableTool, provideRichTextEditorTokenRendering, provideRichTextEditorTools, provideRightSheetStrategy, provideRightSheetStrategyDefaults, provideSchedulerLabels, provideSelectLabels, provideSidebarOverlay, provideSidebarOverlayConfig, provideSidebarOverlayService, provideSliderLabels, provideStandingsLabels, provideStreamConfig, provideStreamConsentConfig, provideStreamLabels, provideStreamManager, provideStreamPlayerErrorConfig, provideStreamPlayerLoadingConfig, provideTableLabels, provideTimeFormat, provideTimePickerLabels, provideTopSheetStrategy, provideTopSheetStrategyDefaults, queryErrorLabelsForLocale, queryErrorResponseFromLegacyError, reconcileColumnOrder, reconcileColumnWidths, reconcileHiddenColumns, reduceSupportPresentation, registerSingleton, requiredLanguages, resizeSpanBounds, resizedFloatRect, resolveBracketLayout, resolveBreakpoint, resolveClosestOverlay, resolveCollisions, resolveFilterOverlaySubmitButton, resolveNotificationStatusIcon, resolveTableCsvRows, rgbColor, richTextEditorToolLabel, rightSheetOverlayStrategy, rowsToPixelHeight, schedulerFeatureConfig, selectOptionsFromQuery, selectOptionsFromV2Query, serializeGridLayout, serializeTableState, settledFloatRect, 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 };
26047
- export type { AccordionHeadingLevel, AnchoredDialogOverlayStrategyOptions, AnchoredOverlayStrategyOptions, AnchoredPanelCloseInfo, AnchoredPanelOverlayRef, AnchoredPanelSurfaceLike, AnchoredPositionOptions, AnyDropzoneUploadConfig, AnyTableColumn, Appointment, AppointmentId, AppointmentTreeNode, AutoPlaceOptions, AutoScrollPointer, AutoScroller, AvatarShape, AvatarSize, BadgeIconAlignment, BadgeSize, BadgeVariant, BannerLabels, BannerLiveRegion, BannerType, Bracket, BracketCardContext, BracketComponents, BracketConfig, BracketContinueComponent, BracketDataLayout, BracketDataSource, BracketDensity, BracketDrawEdgesContext, BracketLabels, BracketLayout, BracketLayoutConfig, BracketListSection, BracketMatch, BracketMatchComponent, BracketMatchFactor, BracketMatchId, BracketMatchNormalizer, BracketMatchParticipant, BracketMatchPosition, BracketMatchRelation, BracketMatchRelationNothingToOne, BracketMatchRelationOneToNothing, BracketMatchRelationOneToOne, BracketMatchRelationTwoToNothing, BracketMatchRelationTwoToOne, BracketMatchShortId, BracketMatchSource, BracketMatchStatus, BracketParticipant, BracketParticipantMatch, BracketRound, BracketRoundHeaderComponent, BracketRoundId, BracketRoundMapWithSwissData, BracketRoundMirrorType, BracketRoundPosition, BracketRoundRelation, BracketRoundRelationNothingToOne, BracketRoundRelationOneToNothing, BracketRoundRelationOneToOne, BracketRoundRelationTwoToNothing, BracketRoundRelationTwoToOne, BracketRoundShortId, BracketRoundSource, BracketRoundSwissData, BracketRoundSwissGroup, BracketRoundSwissGroupId, BracketRoundSwissGroupMap, BracketRoundType, BracketRoundsListBlock, BracketRoundsListSection, BracketSwissColors, BracketSwissGroupColorType, BreadcrumbCollapseAffordance, BreadcrumbCrumb, BreadcrumbLabels, BreadcrumbRenderItem, BreadcrumbSegment, ButtonIconAlignment, ButtonSize, CalendarBandPosition, CalendarCell, CalendarCellBase, CalendarDateClassFn, CalendarFixedLengthRangeStrategyOptions, CalendarHeaderContext, CalendarInterval, CalendarLabels, CalendarMode, CalendarMonthPage, CalendarNavigationDirection, CalendarPrecision, CalendarRange, CalendarRangeSelectionStrategy, CalendarSelectionFlags, CalendarView, CalendarWeekRangeStrategyOptions, CalendarWeekday, CardVariant, CarouselAutoplayPauseReason, CarouselLabels, CarouselResolvedTransitionDriver, CarouselSlideAlign, CarouselSlideContext, CarouselSlideTemplateRef, CarouselTransition, CarouselTransitionDriver, CascaderColumnState, CascaderCompareWith, CascaderDataSource, CascaderFromQueryConfig, CascaderFromQuerySearchConfig, CascaderLabels, CascaderNode, CascaderNodeSignal, CascaderSearchState, CascaderSelectableLevels, CascaderSurfaceContext, CenteredOverlayStrategyOptions, CheckboxOptionVariant, ChipLabels, ChoiceFieldVariant, ClampPositionOptions, CommonBracketRoundType, CompactLayoutOptions, ComponentInputValue, ComputedBracketGrid, ControlSuffixBase, CounterComponentBase, CreateAnchoredPanelControllerOptions, CreateBracketGridConfig, CreateExistingDropzoneEntryOptions, CreateFileDropzoneEntryOptions, CreateOverlayUnsavedChangesGuardConfig, CreateTableRowsSourceOptions, CurrencyMaskOptions, DatePickerHost, DatePickerSurfaceBase, DatePickerSurfaceContext, DatePickerTriggerBase, DateRangeSide, DateRangeValue, DateTimeLabels, Dimensions, DividerOrientation, DoubleEliminationBracketRoundType, DragDismissMomentum, DragToDismissContext, DragToDismissRef, DropzoneDeleteConfig, DropzoneDeleteOptions, DropzoneEntry, DropzoneEntrySource, DropzoneEntryStatus, DropzoneExistingFileInfo, DropzoneFileConstraints, DropzoneFileRejection, DropzoneFileRejectionReason, DropzoneFileValidationChannel, DropzoneLabels, DropzoneUploadConfig, DropzoneUploadError, DropzoneUploadHandle, DropzoneUploadHandleOptions, DropzoneUploadState, DurationFormatSpec, DurationSegment, DurationUnit, EtBuiltInIconName, EthleteIconNameRegistry, EthleteIconVariantRegistry, FacebookVideoPlayer, FacebookWindow, 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, GridAdapter, GridBreakpointConfig, GridBreakpointName, GridComponentRegistration, GridConfig, GridGeometry, GridItemActionsComponent, GridItemConfig, GridItemConstraints, GridItemPosition, GridLabels, GridLayoutEntry, GridMutationOptions, GridSerializedState, GroupBracketRoundType, HexColorOptions, HintComponentBase, IconDefinition, IconOverride, InputLabels, InputMaskHost, InputTextAlignment, JsonKind, KbdPlatform, LabelDirectiveBase, LegacyQueryErrorSource, LoaderLabels, MapLayoutOptions, MaskSpec, MaskValueMode, MasonryColumns, MasonryPacking, MasonryPlacement, MatchCardNameContext, MatchCardSize, MatchLabels, MatchParticipantDisplayNameOptions, MatchParticipantId, MatchParticipantShortId, MatchParticipantSide, MatchResultNameContext, MatchScoreChange, MenuAnchorPoint, MenuCloseReason, MenuItemActivationEvent, MenuItemActivationSource, MenuItemVariant, MenuOpenSource, MenuSelectionGroupDirectiveBase, MenuSelectionGroupItem, MenuSelectionItemKind, MenuSurfaceContext, MultiLanguageRichTextEditorLanguage, MultiLanguageRichTextEditorValue, NormalizedGameScore, NormalizedMatch, NormalizedMatchParticipant, NormalizedMatchResultKind, NormalizedMatchStatus, NormalizedMedia, NormalizedStandingRow, NotificationAction, NotificationActionSlot, NotificationConfig, NotificationContentInit, NotificationContentInput, NotificationEntry, NotificationLabels, NotificationManager, NotificationManagerConfig, NotificationPromiseContent, NotificationPromiseFn, NotificationPromiseWork, NotificationRef, NotificationStackContext, NotificationStatus, NumberInputStepOptions, OtpInputCharset, OverlayAutoFocusTarget, OverlayBodyDividerType, OverlayBreakpointConfig, OverlayCloseGuard, OverlayConfig, OverlayDefinition, OverlayDefinitionConfig, OverlayDragToDismissConfig, OverlayDragToDismissDirection, OverlayDragToDismissPhysicalDirection, OverlayLifecycleConfig, OverlayManager, OverlayMode, OverlayOpenConfig, OverlayOpener, OverlayOpenerConfig, OverlayRef, OverlayRole, OverlayRoute, OverlayRouter, OverlayRouterConfig, OverlayRouterNavigateConfig, OverlayRouterNavigationDirection, OverlayRouterResolvedPath, OverlayRouterTransitionType, OverlayStrategy, OverlayStrategyBreakpoint, OverlayStrategyContext, OverlayStrategyController, OverlayStrategyControllerMountConfig, OverlaySurfaceContext, OverlayTreeContainmentOptions, OverlayUnsavedChangesDismissSources, OverlayUnsavedChangesGuardRef, PaginateOptions, PaginationItem, PaginationItemType, PaginationLabels, PaginationRangeContext, PaginationRenderAs, ParticipantMatchResult, PhoneCountry, PhoneInputFlagContext, PhoneInputFlagCountry, PhoneInputLabels, PictureConfig, PictureSource, PictureState, PipCellData, PipChromeAnimations, PipChromeRef, PipChromeState, PipManager, PipSlotPlaceholderConfig, PixelRect, ProgressStepState, QueryErrorLabels, QueryErrorRetryTarget, QueryErrorSlotContext, QueryErrorView, QueryParamOverlayDefinition, QueryParamOverlayDefinitionConfig, QueryParamOverlayHost, QueryParamOverlayOpener, QueryParamOverlayValue, RadioVariant, RangeSliderValue, RatingIconContext, RatingIconState, ReconcilableColumn, ReduceSupportPresentationInput, RegisteredIconName, RegisteredIconVariant, RequiredLanguagesOptions, ResizeSpanBounds, ResolveClosestOverlayOptions, ResolveCollisionsOptions, ResolvedDropzoneUploadConfig, ResolvedScrollableChrome, RgbColorOptions, RichTextEditorFloatingToolbarSetup, RichTextEditorImageFailure, RichTextEditorImageFailureReason, RichTextEditorImageToolConfig, RichTextEditorImageUpload, RichTextEditorImageUploadFn, RichTextEditorImageUploadRun, RichTextEditorLabels, RichTextEditorLinkEditorSetup, RichTextEditorLinkEditorValue, RichTextEditorQueryTriggerConfig, RichTextEditorTool, RichTextEditorToolButton, RichTextEditorToolDefinition, RichTextEditorToolsConfig, RichTextEditorTrigger, RichTextEditorTriggerItem, RichTextEditorTriggerItemResolver, RichTextEditorTriggerItemSource, RichTextEditorTriggerType, RowFloors, SchedulerActionAddAppointmentConfig, SchedulerActionAddSubAppointmentConfig, SchedulerActionDeleteConfig, SchedulerAgendaDay, SchedulerAppointmentAction, SchedulerBadgeAdornment, SchedulerBadgeChainCountConfig, SchedulerBadgeColorDotConfig, SchedulerBadgeLocationConfig, SchedulerBadgeTimeRangeConfig, SchedulerBadgeTitleConfig, SchedulerDraftRange, SchedulerEditColorConfig, SchedulerEditDescriptionConfig, SchedulerEditField, SchedulerEditLocationConfig, SchedulerEditSurfaceHost, SchedulerEditSurfaceResult, SchedulerEditTimeRangeConfig, SchedulerEditTitleConfig, SchedulerFeatureConfig, SchedulerFeatureHost, SchedulerLabels, SchedulerMonthDayCell, SchedulerSwipeNavigationConfig, SchedulerTimeGridAllDayEntry, SchedulerTimeGridBlock, SchedulerTimeGridDay, SchedulerToolbarAction, SchedulerView, SchedulerVisibleRange, SchedulerWeekStartsOn, SchedulerWeekday, ScrollableActiveChildRef, ScrollableButtonPosition, ScrollableButtonsConfig, ScrollableChrome, ScrollableChromeSlot, ScrollableDirection, ScrollableIntersectionChange, ScrollableItemSize, ScrollableLoadingTemplatePosition, ScrollableLoadingTemplateRef, ScrollableMaskVariant, ScrollableNavigation, ScrollableNavigationConfig, ScrollableNavigationItem, ScrollableScrollMode, ScrollableScrollOrigin, ScrollableScrollState, SegmentedButtonGroupVariant, SelectAsyncOptions, SelectErrorContext, SelectFilterMode, SelectItem, SelectLabels, SelectOptionData, SelectOptionGroupItem, SelectOptionTemplateContext, SelectOptionsFromQuery, SelectOptionsFromQueryConfig, SelectOptionsFromV2QueryConfig, SelectSelectedEntry, SelectSurfaceContext, SelectValueContext, 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, ToolbarOrientation, TooltipContent, TournamentMode, TreeCompareWith, TreeDataSource, TreeLevelStatus, TreeMarker, TreeNode, TreeNodeDefContext, TreeRow, TreeSelectionMode, TwitchEmbed, TwitchEmbedConstructor, TwitchEmbedPlayer, TwitchPlayerParams, TwitchWindow, V2DropzoneDeleteConfig, V2DropzonePrepareArgsOf, V2DropzoneUploadConfig, V2PrepareArgsOf, ViewportTransformData, VimeoDurationChangeEvent, VimeoPlaybackEvent, VimeoPlayer, VimeoPlayerOptions, VimeoWindow, WindowControlButtonKind, WindowControlButtonSize, YtPlayer, YtPlayerConfig, YtPlayerErrorEvent, YtPlayerEvent, YtPlayerStateChangeEvent, YtPlayerVars, YtWindow };
24658
+ export { ACCORDION_ERROR_CODES, ACCORDION_GROUP_TOKEN, ACCORDION_IMPORTS, ACCORDION_TOKEN, ALIGN_CENTER_ICON, ALIGN_JUSTIFY_ICON, ALIGN_LEFT_ICON, ALIGN_RIGHT_ICON, ARROWS_LEFT_RIGHT_ICON, ARROW_OUT_UP_RIGHT_ICON, ARROW_RIGHT_ICON, ARROW_UP_ICON, AVATAR_IMPORTS, AVATAR_SHAPES, AVATAR_SIZES, AccordionComponent, AccordionContentDirective, AccordionDirective, AccordionGroupComponent, AccordionGroupDirective, AccordionHintDirective, AccordionLabelDirective, AccordionPanelDirective, AccordionTriggerDirective, AvatarComponent, AvatarGroupComponent, BADGE_ICON_ALIGNMENTS, BADGE_IMPORTS, BADGE_SIZES, BADGE_VARIANTS, BANNER_IMPORTS, BANNER_LABELS, BANNER_TYPES, BOLD_ICON, BRACKET_CARD_CONTEXT, BRACKET_DATA_LAYOUT, BRACKET_DEFAULTS, BRACKET_DENSITY, BRACKET_DENSITY_PRESETS, BRACKET_ERROR_CODES, BRACKET_IMPORTS, BRACKET_LABELS, BRACKET_ROUND_MIRROR_TYPE, BRACKET_SWISS_GROUP_COLOR_TYPE, BREADCRUMB_COLLAPSE_IMPORTS, BREADCRUMB_COLLAPSE_TOKEN, BREADCRUMB_ERROR_CODES, BREADCRUMB_IMPORTS, BREADCRUMB_LABELS, BREADCRUMB_SEGMENT_TOKEN, BREADCRUMB_SEO_IMPORTS, BREADCRUMB_TOKEN, BUTTON_ICON_ALIGNMENTS, BUTTON_IMPORTS, BUTTON_SIZES, BUTTON_SPINNER_CONFIG, BUTTON_TYPES, BUTTON_VARIANTS, BadgeComponent, BannerComponent, BracketComponent, BracketDefaultContinueComponent, BracketDefaultFinalMatchComponent, BracketDefaultMatchComponent, BracketDefaultRoundHeaderComponent, BracketMap, BracketRoundsListComponent, BrandLoaderComponent, BreadcrumbCollapseDirective, BreadcrumbComponent, BreadcrumbDirective, BreadcrumbItemDirective, BreadcrumbItemTemplateDirective, BreadcrumbOutletComponent, BreadcrumbOverflowComponent, BreadcrumbSegmentDirective, BreadcrumbSeoDirective, BreadcrumbSeparatorDirective, ButtonColorDirective, ButtonComponent, ButtonDirective, ButtonStylesDirective, CALENDAR_ERROR_CODES, CALENDAR_ICON, CALENDAR_IMPORTS, CALENDAR_LABELS, CARD_IMPORTS, CARD_VARIANTS, CAROUSEL_AUTOPLAY_TOKEN, CAROUSEL_ERROR_CODES, CAROUSEL_IMPORTS, CAROUSEL_LABELS, CAROUSEL_SLIDE_ALIGNMENTS, CAROUSEL_TOKEN, CAROUSEL_TRANSITIONS, CAROUSEL_TRANSITION_DRIVERS, CASCADER_ERROR_CODES, CASCADER_IMPORTS, CASCADER_LABELS, CASCADER_SELECTABLE_LEVELS, CHECKBOX_GROUP_IMPORTS, CHECKBOX_IMPORTS, CHECKBOX_OPTION_VARIANTS, CHECK_ICON, CHEVRON_ICON, CHIP_ERROR_CODES, CHIP_IMPORTS, CHIP_LABELS, CHOICE_FIELD_IMPORTS, CHOICE_FIELD_VARIANTS, CIRCLE_CHECK_ICON, CIRCLE_INFO_ICON, CLIPBOARD_CHECK_ICON, CLOCK_ICON, CODE_BLOCK_ICON, CODE_ICON, COLOR_INPUT_IMPORTS, COMMON_BRACKET_ROUND_TYPE, COMPONENTS_VERSION, COPY_BUTTON_IMPORTS, CalendarCellDirective, CalendarComponent, CalendarDirective, CalendarGridDirective, CalendarHeaderDirective, CardComponent, CarouselAutoplayDirective, CarouselComponent, CarouselDirective, CarouselItemDirective, CarouselNextDirective, CarouselPlayToggleDirective, CarouselPreviousDirective, CarouselSlideDirective, CascaderColumnDirective, CascaderComponent, CascaderDirective, CascaderNodeDirective, CascaderPanelComponent, CascaderSearchDirective, CascaderSearchOptionDirective, CascaderSurfaceDirective, CascaderTriggerDirective, CheckboxComponent, CheckboxDirective, CheckboxGroupComponent, CheckboxGroupSelectAllComponent, CheckboxOptionComponent, ChipComponent, ChipDirective, ChipRemoveDirective, ChoiceFieldComponent, ColorInputComponent, ColorInputDirective, ControlSuffixDirective, CopyButtonDirective, CounterComponent, DAILYMOTION_PLAYER_TOKEN, DATE_FORMAT, DATE_INPUT_ERROR_CODES, DATE_INPUT_IMPORTS, DATE_LOCALE, DATE_PICKER_HOST, DATE_RANGE_INPUT_ERROR_CODES, DATE_RANGE_INPUT_IMPORTS, DATE_TIME_INPUT_ERROR_CODES, DATE_TIME_INPUT_IMPORTS, DATE_TIME_LABELS, DEFAULT_BANNER_LABELS, DEFAULT_BRACKET_LABELS, DEFAULT_BREADCRUMB_LABELS, DEFAULT_BREAKPOINTS, DEFAULT_CALENDAR_LABELS, DEFAULT_CALENDAR_RANGE_STRATEGY, DEFAULT_CAROUSEL_LABELS, DEFAULT_CASCADER_LABELS, DEFAULT_CHIP_LABELS, DEFAULT_DATE_TIME_LABELS, DEFAULT_DROPZONE_LABELS, DEFAULT_FILTER_OVERLAY_LABELS, DEFAULT_FORM_FIELD_LABELS, DEFAULT_GRID_LABELS, DEFAULT_ICON_VARIANT, DEFAULT_INPUT_LABELS, DEFAULT_LOADER_LABELS, DEFAULT_MATCH_CARD_START_TIME_FORMAT, DEFAULT_MATCH_LABELS, DEFAULT_NOTIFICATION_LABELS, DEFAULT_NOTIFICATION_MANAGER_CONFIG, DEFAULT_NOTIFICATION_STATUS_ICONS, DEFAULT_PAGINATION_LABELS, DEFAULT_PHONE_INPUT_LABELS, DEFAULT_PIP_WINDOW_CONFIG, DEFAULT_QUERY_ERROR_LABELS, DEFAULT_RICH_TEXT_EDITOR_LABELS, DEFAULT_RICH_TEXT_EDITOR_TOOLS, DEFAULT_SCHEDULER_LABELS, DEFAULT_SELECT_LABELS, DEFAULT_SLIDER_LABELS, DEFAULT_STANDINGS_LABELS, DEFAULT_STREAM_LABELS, DEFAULT_STREAM_PLAYER_STATE, DEFAULT_TABLE_LABELS, DEFAULT_TIME_PICKER_LABELS, DESCRIPTION_IMPORTS, DESCRIPTION_LIST_IMPORTS, DESCRIPTION_LIST_VARIANTS, DIVIDER_IMPORTS, DOUBLE_ELIMINATION_BRACKET_ROUND_TYPE, DROPZONE_ENTRY_STATUSES, DROPZONE_ERROR_CODES, DROPZONE_FILES_ERROR_KIND, DROPZONE_FILE_CONSTRAINTS, DROPZONE_FILE_REJECTION_REASONS, DROPZONE_IMPORTS, DROPZONE_LABELS, DURATION_INPUT_ERROR_CODES, DURATION_INPUT_IMPORTS, DailymotionPlayerComponent, DailymotionPlayerDirective, DailymotionPlayerParamsDirective, DailymotionPlayerSlotComponent, DateInputComponent, DateInputDirective, DateInputFieldDirective, DatePickerPanelComponent, DatePickerSurfaceDirective, DatePickerTriggerDirective, DateRangeInputComponent, DateRangeInputDirective, DateRangeInputFieldDirective, DateTimeInputComponent, DateTimeInputDirective, DateTimeInputFieldDirective, DescriptionComponent, DescriptionListComponent, DividerComponent, DropzoneComponent, DropzoneDirective, DurationInputComponent, DurationInputDirective, DurationInputFieldDirective, ELLIPSIS_ICON, ELLIPSIS_VERTICAL_ICON, EMPTY_STATE_IMPORTS, ET_BUILT_IN_ICON_NAMES, EYE_ICON, EYE_SLASH_ICON, EmptyStateComponent, FACEBOOK_PLAYER_TOKEN, FIELD_WARNINGS, FIELD_WARNING_KIND, FILE_ICON, FILTER_ICON, FILTER_OVERLAY_ERROR_CODES, FILTER_OVERLAY_IMPORTS, FILTER_OVERLAY_LABELS, FILTER_OVERLAY_TOKEN, FLOATING_ACTION_ERROR_CODES, FLOATING_ACTION_IMPORTS, FLOATING_ACTION_STATES, FLOATING_ACTION_TOKEN, FLOPPY_DISK_ICON, FOCUS_FRAME_ICON, FORM_ERROR_MESSAGE_RESOLVER, FORM_FIELD_APPEARANCES, FORM_FIELD_CONTROL_TYPES, FORM_FIELD_ERROR_CODES, FORM_FIELD_FILLS, FORM_FIELD_IMPORTS, FORM_FIELD_LABELS, FORM_FIELD_LABEL_MODES, FORM_FIELD_SIZES, FORM_FIELD_TOKEN, FORM_WARNING_MESSAGE_RESOLVER, FabComponent, FacebookPlayerComponent, FacebookPlayerDirective, FacebookPlayerParamsDirective, FacebookPlayerSlotComponent, FilterOverlayResetDirective, FilterOverlaySubmitDirective, FloatingActionAnchorDirective, FloatingActionDirective, FloatingActionScopeDirective, FloatingActionTopDirective, FloatingActionTriggerDirective, FocusRingDirective, FormErrorComponent, FormFieldBarrierDirective, FormFieldComponent, FormFieldDirective, FormWarningComponent, GERMAN_FILTER_OVERLAY_LABELS, GERMAN_QUERY_ERROR_LABELS, GRID_2X2_ICON, GRID_DEBUG_IMPORTS, GRID_ERROR_CODES, GRID_IMPORTS, GRID_LABELS, GRID_TOKEN, GROUP_BRACKET_ROUND_TYPE, GridComponent, GridDebugComponent, GridDirective, GridDragDirective, GridItemComponent, GridItemDefaultActionsComponent, GridItemDirective, GridItemRef, GridItemToolbarComponent, GridResizeDirective, HEADING_1_ICON, HEADING_2_ICON, HEADING_3_ICON, HintComponent, ICONS_TOKEN, ICON_DIRECTIVE_TOKEN, ICON_ERROR_CODES, ICON_IMPORTS, ICON_OVERRIDES_TOKEN, IMAGE_ICON, INHERIT_COLOR, INITIAL_SUPPORT_PRESENTATION_STATE, INPUT_IMPORTS, INPUT_LABELS, INPUT_MASK_HOST, INPUT_TEXT_ALIGNMENTS, INPUT_TYPES, INTERACTIVE_TAGS, ITALIC_ICON, IconButtonComponent, IconDirective, InputComponent, InputDirective, InputMaskDirective, InputPrefixDirective, InputSuffixDirective, KBD_IMPORTS, KBD_PLATFORM, KICK_PLAYER_TOKEN, KbdComponent, KickPlayerComponent, KickPlayerDirective, KickPlayerParamsDirective, KickPlayerSlotComponent, LINK_ICON, LIST_BULLETED_ICON, LIST_NUMBERED_ICON, LOADER_LABELS, LOCATION_ICON, LOCK_ICON, LabelDirective, MASKED_INPUT_ERROR_CODES, MASKED_INPUT_IMPORTS, MASK_VALUE_MODES, MASONRY_ERROR_CODES, MASONRY_IMPORTS, MASONRY_TOKEN, MATCH_CARD_IMPORTS, MATCH_CARD_SIZES, MATCH_CARD_TOKEN, MATCH_ERROR_CODES, MATCH_LABELS, MATCH_PARTICIPANT_IMPORTS, MENU_ERROR_CODES, MENU_IMPORTS, MENU_ITEM_VARIANTS, MENU_SELECTION_GROUP_MULTIPLE, MENU_SELECTION_GROUP_TOKEN, MENU_SELECTION_ITEM_KIND, MINUS_ICON, MULTI_LANGUAGE_RICH_TEXT_EDITOR_ERROR_CODES, MULTI_LANGUAGE_RICH_TEXT_EDITOR_IMPORTS, MasonryDirective, MasonryItemDirective, MatchCardComponent, MatchCardDirective, MatchCardGameScoresDirective, MatchCardMetaDirective, MatchCardScoreDirective, MatchParticipantComponent, MatchScoreComponent, MenuCheckboxGroupComponent, MenuCheckboxItemComponent, MenuComponent, MenuContextTriggerDirective, MenuDirective, MenuGroupLabelComponent, MenuItemComponent, MenuItemDirective, MenuItemShortcutComponent, MenuPanelDirective, MenuRadioGroupComponent, MenuRadioItemComponent, MenuSearchDirective, MenuSelectionGroupDirective, MenuSelectionItemDirective, MenuSeparatorComponent, MenuSurfaceDirective, MenuTriggerDirective, MultiLanguageRichTextEditorComponent, MultiLanguageRichTextEditorDirective, MultiLanguageRichTextEditorLanguageToolComponent, NAV_TABS_TOKEN, NAV_TAB_IMPORTS, NOTIFICATION_ACTION_SLOTS, NOTIFICATION_ERROR_CODES, NOTIFICATION_IMPORTS, NOTIFICATION_LABELS, NOTIFICATION_STACK_CONTEXT_TOKEN, NOTIFICATION_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, PROGRESS_STEPS_IMPORTS, PROGRESS_STEPS_ORIENTATIONS, PROGRESS_STEP_STATES, PageSizeSelectComponent, PaginationComponent, PaginationDirective, PaginationSeoDirective, PasswordInputComponent, PasswordInputDirective, PhoneInputComponent, PhoneInputDirective, PhoneInputFieldDirective, PhoneInputFlagDirective, PictureComponent, PictureErrorDirective, PicturePlaceholderDirective, PipBackDirective, PipBringBackDirective, PipCellDirective, PipCloseDirective, PipCollapseOverlayDirective, PipGridToggleDirective, PipPlayerComponent, PipSlotPlaceholderComponent, PipStageDirective, PipTitleBarDirective, PipTitleBarTemplateDirective, PipWindowComponent, PipWindowParamsDirective, ProgressBarComponent, ProgressStepComponent, ProgressStepsComponent, QUERY_ERROR_ERROR_CODES, QUERY_ERROR_IMPORTS, QUERY_ERROR_LABELS, QUERY_ERROR_TOKEN, QUOTE_ICON, QueryErrorActionsDirective, QueryErrorComponent, QueryErrorDirective, QueryErrorTitleDirective, QueryParamOverlayLinkDirective, RADIO_GROUP_IMPORTS, RADIO_VARIANTS, RATING_IMPORTS, REDO_ICON, RICH_TEXT_EDITOR_FLOATING_TOOLBAR, RICH_TEXT_EDITOR_HEADING_OPTIONS, RICH_TEXT_EDITOR_IMPORTS, RICH_TEXT_EDITOR_INLINE_TOOLS, RICH_TEXT_EDITOR_LABELS, RICH_TEXT_EDITOR_LANGUAGE_TOOL, RICH_TEXT_EDITOR_LINK_EDITOR, RICH_TEXT_EDITOR_TOKEN_CODEC, RICH_TEXT_EDITOR_TOKEN_PALETTE_IMPORTS, RICH_TEXT_EDITOR_TOOL, RICH_TEXT_EDITOR_TOOLS, RICH_TEXT_EDITOR_TOOL_BUTTONS, RICH_TEXT_EDITOR_TRIGGERS_IMPORTS, ROTATE_RIGHT_ICON, RadioComponent, RadioGroupComponent, RangeSliderComponent, RangeSliderDirective, RatingComponent, RatingDirective, RatingIconDirective, RichTextEditorAlignToolComponent, RichTextEditorComponent, RichTextEditorDirective, RichTextEditorFloatingToolbarComponent, RichTextEditorFloatingToolbarDirective, RichTextEditorHeadingToolComponent, RichTextEditorImageEditorComponent, RichTextEditorImageStylesComponent, RichTextEditorImageToolComponent, RichTextEditorLinkEditorComponent, RichTextEditorLinkEditorDirective, RichTextEditorTableStylesComponent, RichTextEditorTableToolComponent, RichTextEditorTokenPaletteComponent, RichTextEditorTokenPopupComponent, RichTextEditorTriggersDirective, SCHEDULER_ADD_SURFACE_OVERLAY, SCHEDULER_EDIT_SURFACE_HOST, SCHEDULER_EDIT_SURFACE_OVERLAY, SCHEDULER_ERROR_CODES, SCHEDULER_FEATURE_HOST, SCHEDULER_IMPORTS, SCHEDULER_LABELS, SCROLLABLE_DARKEN_IMPORTS, SCROLLABLE_DRAG_IMPORTS, SCROLLABLE_ERROR_CODES, SCROLLABLE_IMPORTS, SCROLLABLE_NAVIGATION_IMPORTS, SEGMENTED_BUTTON_GROUP_VARIANTS, SEGMENTED_BUTTON_IMPORTS, SELECTION_LIST_IMPORTS, SELECTION_LIST_MULTIPLE, SELECTION_LIST_TOKEN, SELECT_ERROR_CODES, SELECT_FILTER_MODES, SELECT_IMPORTS, SELECT_LABELS, SIDEBAR_OVERLAY_CONFIG, SIDEBAR_OVERLAY_TOKEN, SINGLE_ELIMINATION_BRACKET_ROUND_TYPE, SKELETON_IMPORTS, SLIDER_ERROR_CODES, SLIDER_IMPORTS, SLIDER_LABELS, SLIDER_MARK_VALUE_ATTRIBUTE, SLIDER_TOKEN, SNAP_HYSTERESIS, SOOP_PLAYER_TOKEN, SPLIT_BUTTON_ERROR_CODES, STANDINGS_ERROR_CODES, STANDINGS_IMPORTS, STANDINGS_LABELS, STAR_ICON, STREAM_ALL_IMPORTS, STREAM_CONSENT_TOKEN, STREAM_DAILYMOTION_IMPORTS, STREAM_FACEBOOK_IMPORTS, STREAM_IMPORTS, STREAM_KICK_IMPORTS, STREAM_LABELS, STREAM_PIP_IMPORTS, STREAM_PLAYER_COMPONENT_TOKEN, STREAM_PLAYER_ERROR_CONTEXT_TOKEN, STREAM_PLAYER_ERROR_TOKEN, STREAM_PLAYER_PARAMS_TOKEN, STREAM_PLAYER_SLOT_TOKEN, STREAM_PLAYER_TOKEN, STREAM_SLOT_PLAYER_ID_TOKEN, STREAM_SOOP_IMPORTS, STREAM_TIKTOK_IMPORTS, STREAM_TWITCH_IMPORTS, STREAM_USER_CONSENT_PROVIDER_TOKEN, STREAM_VIMEO_IMPORTS, STREAM_YOUTUBE_IMPORTS, STRIKETHROUGH_ICON, SUPPORT_CONTENT_STATE, SUPPORT_TRANSITION_DIRECTION, SWISS_BRACKET_ROUND_TYPE, SWITCH_IMPORTS, SchedulerActionAddAppointmentDirective, SchedulerActionAddSubAppointmentDirective, SchedulerActionDeleteDirective, SchedulerAgendaDirective, SchedulerAgendaViewComponent, SchedulerBadgeChainCountComponent, SchedulerBadgeChainCountDirective, SchedulerBadgeColorDotComponent, SchedulerBadgeColorDotDirective, SchedulerBadgeLocationComponent, SchedulerBadgeLocationDirective, SchedulerBadgeTimeRangeComponent, SchedulerBadgeTimeRangeDirective, SchedulerBadgeTitleComponent, SchedulerBadgeTitleDirective, SchedulerComponent, SchedulerDirective, SchedulerEditColorComponent, SchedulerEditColorDirective, SchedulerEditDescriptionComponent, SchedulerEditDescriptionDirective, SchedulerEditLocationComponent, SchedulerEditLocationDirective, SchedulerEditSurfaceComponent, SchedulerEditSurfaceDirective, SchedulerEditTimeRangeComponent, SchedulerEditTimeRangeDirective, SchedulerEditTitleComponent, SchedulerEditTitleDirective, SchedulerMonthDirective, SchedulerMonthViewComponent, SchedulerSwipeNavigationDirective, SchedulerTimeGridDirective, SchedulerTimeGridViewComponent, ScrollableActiveChildDirective, ScrollableButtonsComponent, ScrollableButtonsDirective, ScrollableComponent, ScrollableDarkenDirective, ScrollableDirective, ScrollableDragDirective, ScrollableIgnoreChildDirective, ScrollableLoadingTemplateDirective, ScrollableMasksComponent, ScrollableNavigationComponent, ScrollableNavigationDirective, ScrollableSnapDirective, SegmentedButtonComponent, SegmentedButtonGroupComponent, SelectComponent, SelectDirective, SelectEmptyDirective, SelectErrorDirective, SelectListboxDirective, SelectLoadingDirective, SelectOptionComponent, SelectOptionDirective, SelectOptionGroupComponent, SelectOptionGroupDirective, SelectOptionTemplateDirective, SelectOptionsDirective, SelectPanelComponent, SelectSearchDirective, SelectSurfaceDirective, SelectTriggerDirective, SelectValueDirective, SelectViewportDirective, SelectVirtualOptionComponent, SelectVirtualOptionDirective, SelectionListControlDirective, SelectionListDirective, SelectionOptionDirective, SkeletonComponent, SkeletonItemComponent, SkeletonTextComponent, SliderComponent, SliderDirective, SliderThumbDirective, SliderThumbLabelDirective, SliderTrackDirective, SoopPlayerComponent, SoopPlayerDirective, SoopPlayerParamsDirective, SoopPlayerSlotComponent, SpinnerComponent, SplitButtonActionDirective, SplitButtonComponent, SplitButtonDirective, SplitButtonTriggerDirective, StandingsComponent, StandingsDirective, StreamConsentAcceptDirective, StreamConsentComponent, StreamConsentDirective, StreamPipChromeComponent, StreamPlayerErrorComponent, StreamPlayerErrorDirective, StreamPlayerLoadingComponent, StreamPlayerSlotDirective, SwitchComponent, SwitchDirective, TABLE_CELL_ERROR_TOOLTIP_IMPORTS, TABLE_COLUMN_CHOOSER_IMPORTS, TABLE_COLUMN_MENU_IMPORTS, TABLE_CSV_EXPORT_IMPORTS, TABLE_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, TIMELINE_IMPORTS, 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, TOOLBAR_IMPORTS, TOOLBAR_ORIENTATIONS, TOOLTIP_ERROR_CODES, TOOLTIP_IMPORTS, TOURNAMENT_MODE, TRASH_ICON, TREE_ERROR_CODES, TREE_IMPORTS, TREE_LEVEL_STATUSES, TREE_MARKERS, TREE_SELECTION_MODES, TRIANGLE_EXCLAMATION_ICON, TROPHY_ICON, TWITCH_PLAYER_TOKEN, TabBarDirective, TabBarTriggerDirective, TabBarUnderlineDirective, TabComponent, TabGroupComponent, TabGroupDirective, TabLabelDirective, TabPanelDirective, TabTriggerDirective, TableCellDirective, TableCellEditDirective, TableCellErrorMarkComponent, TableCellErrorTooltipDirective, TableCellSkeletonDirective, TableColumnChooserComponent, TableColumnMenuDirective, TableColumnMenuTriggerComponent, TableComponent, TableCsvExportDirective, TableDetailStylesComponent, 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, TimelineComponent, TimelineItemComponent, ToggletipCloseDirective, ToggletipComponent, ToggletipDirective, ToggletipTriggerDirective, ToolbarComponent, ToolbarDirective, TooltipComponent, TooltipDirective, TreeComponent, TreeDirective, TreeMarkerComponent, TreeNodeDefDirective, TreeNodeDirective, TwitchPlayerComponent, TwitchPlayerDirective, TwitchPlayerParamsDirective, TwitchPlayerSlotComponent, UNDERLINE_ICON, UNDO_ICON, UNIT_MS, UPLOAD_ICON, VIMEO_PLAYER_TOKEN, VimeoPlayerComponent, VimeoPlayerDirective, VimeoPlayerParamsDirective, VimeoPlayerSlotComponent, WINDOW_CONTROL_BUTTON_KINDS, WINDOW_CONTROL_BUTTON_SIZES, WindowControlButtonComponent, YOUTUBE_PLAYER_SLOT_TOKEN, YOUTUBE_PLAYER_TOKEN, YoutubePlayerComponent, YoutubePlayerDirective, YoutubePlayerParamsDirective, YoutubePlayerSlotComponent, YoutubePlayerSlotDirective, abortFullscreenAnimation, anchoredDialogOverlayStrategy, anchoredOverlayStrategy, autoPlace, bottomSheetOverlayStrategy, bracketFitsWidth, bracketNaturalWidth, buildAnchoredRuntimePositionStrategy, canHaveChildren, cascaderFromQuery, centeredOverlayStrategy, clampPosition, clampResizeRect, cleanupFullscreenAnimation, cleanupFullscreenAnimationStyles, clearLeavingSupportStateOnExit, compactLayout, computeGeometry, computeGridHeight, countDescendants, createAnchoredPanelController, createAutoScroller, createCardMask, createCurrencyMask, createDefaultDropzoneArgs, createDropzoneUpload, createExistingDropzoneEntry, createFileDropzoneEntry, createFixedLengthRangeStrategy, createGridAdapter, createIbanMask, createNormalizedBracketMatch, createNotificationPromiseFn, createNotificationRef, createOverlayOpener, createOverlayRef, createOverlayStrategyController, createOverlayUnsavedChangesGuard, createPipChromeAnimations, createPipChromeState, createRichTextEditorTrigger, createRichTextEditorTriggerWithQuery, createStreamConfig, createStreamPlayerSlot, createTableRowsSource, createTableStateStorage, createV2DropzoneUpload, createWeekRangeStrategy, defaultCompareWith, defaultDropzoneRejectionMessage, defineOverlay, defineQueryParamOverlay, deriveDurationFormatSpec, deserializeGridLayout, deserializeTableState, detectKbdPlatform, dialogOverlayStrategy, disposeDropzoneEntry, doubleEliminationBracketLayout, dropzoneFiles, enableDragToDismiss, extractFirstImageUrl, filterOverlayLabelsForLocale, filterOverlayPreviewFromQuery, filterRows, findCollision, findNextRelevantHtmlElement, findScrollableAncestor, formatDuration, formatFileSize, fromGridPosition, fullScreenDialogOverlayStrategy, generateBracketDataForEthlete, generateRoundTypeFromEthleteRoundType, generateTournamentModeFormEthleteRounds, getClosestOverlay, getOriginCoordinatesAndDimensions, hexColor, hysteresisRound, iconRegistryKey, indexOfNode, injectAnchoredDialogStrategy, injectAnchoredDialogStrategyDefaults, injectBannerLabels, injectBottomSheetStrategy, injectBottomSheetStrategyDefaults, injectBracketConfig, injectBracketLabels, injectBreadcrumbLabels, injectBreadcrumbManager, injectCalendarLabels, injectCarouselLabels, injectCascaderLabels, injectChipLabels, injectDateFormat, injectDateLocale, injectDateTimeLabels, injectDialogStrategy, injectDialogStrategyDefaults, injectDropzoneLabels, injectFilterOverlay, injectFilterOverlayLabels, injectFormFieldLabels, injectFormSupport, injectFullscreenDialogStrategy, injectFullscreenDialogStrategyDefaults, injectGridConfig, injectGridLabels, injectInputLabels, injectLeftSheetStrategy, injectLeftSheetStrategyDefaults, injectLoaderLabels, injectMatchLabels, injectNotificationLabels, injectNotificationManager, injectNotificationManagerConfig, injectOverlayManager, injectOverlayRouter, injectOverlayScrollBlocker, injectOverlaySurfaceContext, injectPaginationLabels, injectPhoneInputLabels, injectPictureConfig, injectPipChromeManager, injectPipManager, injectPipSlotPlaceholderConfig, injectQueryErrorLabels, injectRichTextEditorLabels, injectRichTextEditorTools, injectRightSheetStrategy, injectRightSheetStrategyDefaults, injectSchedulerEditSurfaceHost, injectSchedulerFeatureHost, injectSchedulerLabels, injectSelectLabels, injectSidebarOverlay, injectSliderLabels, injectStandingsLabels, injectStreamConfig, injectStreamConsentConfig, injectStreamLabels, injectStreamManager, injectStreamPlayerErrorConfig, injectStreamPlayerLoadingConfig, injectStreamScriptLoader, injectStreamUserConsentProvider, injectTableCsvExport, injectTableFeatureHost, injectTableLabels, injectTimeFormat, injectTimePickerLabels, injectTopSheetStrategy, injectTopSheetStrategyDefaults, isFileAccepted, isHtmlElement, isInteractiveElement, isPointerEvent, isTargetInsideOverlayTree, isTouchEvent, itemsCollide, kbdKeyLabel, kbdKeyName, leftSheetOverlayStrategy, legacyQueryErrorSource, mapLayoutToBreakpoint, matchCountryByDialCode, matchParticipantDisplayName, mergeOverlayBreakpointConfigs, mergeOverlayConfigs, mirroredDoubleEliminationBracketLayout, mirroredSingleEliminationBracketLayout, mountRichTextEditorImageStyles, mountRichTextEditorTableStyles, nodesEqual, normalizeEthleteBracketMatch, normalizeEthleteGroupRanking, normalizeEthleteMatch, normalizeEthleteMatchStatus, normalizeEthleteMedia, normalizeEthleteParticipant, normalizeEthletePlacement, normalizePictureSizes, normalizePictureSource, numberInputStepMultiplierFrom, paginate, parseDuration, parseKbdKeys, phoneCountryFlag, phoneCountryName, pixelRectsEqual, positionToPixelRect, positionsEqual, projectDragCell, provideAnchoredDialogStrategy, provideAnchoredDialogStrategyDefaults, provideBannerLabels, provideBottomSheetStrategy, provideBottomSheetStrategyDefaults, provideBracketConfig, provideBracketLabels, provideBreadcrumbLabels, provideBreadcrumbManager, provideCalendarLabels, provideCarouselLabels, provideCascaderLabels, provideChipLabels, provideDateFormat, provideDateLocale, provideDateTimeLabels, provideDialogStrategy, provideDialogStrategyDefaults, provideDropzoneLabels, provideFilterOverlay, provideFilterOverlayLabels, provideFormErrorMessageResolver, provideFormFieldLabels, provideFormSupport, provideFormWarningMessageResolver, provideFullscreenDialogStrategy, provideFullscreenDialogStrategyDefaults, provideGridConfig, provideGridLabels, provideIconOverrides, provideIcons, provideInputLabels, provideLeftSheetStrategy, provideLeftSheetStrategyDefaults, provideLoaderLabels, provideMatchLabels, provideNotificationLabels, provideNotificationManager, provideNotificationManagerConfig, provideNotificationManagerInstance, provideOverlay, provideOverlayManager, provideOverlayRouter, provideOverlayRouterConfig, provideOverlayRouterService, provideOverlayScrollBlocker, providePaginationLabels, providePhoneInputLabels, providePictureConfig, providePipChromeManager, providePipManager, providePipSlotPlaceholderConfig, provideQueryErrorLabels, provideRichTextEditorAlignmentTool, provideRichTextEditorAutoformat, provideRichTextEditorBlockquoteTool, provideRichTextEditorCodeBlockTool, provideRichTextEditorDefaultTools, provideRichTextEditorFloatingToolbar, provideRichTextEditorHeadingTool, provideRichTextEditorImageTool, provideRichTextEditorLabels, provideRichTextEditorLanguageTool, provideRichTextEditorLinkEditor, provideRichTextEditorLinkTool, provideRichTextEditorTableTool, provideRichTextEditorTokenRendering, provideRichTextEditorTools, provideRightSheetStrategy, provideRightSheetStrategyDefaults, provideSchedulerLabels, provideSelectLabels, provideSidebarOverlay, provideSidebarOverlayConfig, provideSidebarOverlayService, provideSliderLabels, provideStandingsLabels, provideStreamConfig, provideStreamConsentConfig, provideStreamLabels, provideStreamManager, provideStreamPlayerErrorConfig, provideStreamPlayerLoadingConfig, provideTableLabels, provideTimeFormat, provideTimePickerLabels, provideTopSheetStrategy, provideTopSheetStrategyDefaults, queryErrorLabelsForLocale, queryErrorResponseFromLegacyError, reconcileColumnOrder, reconcileColumnWidths, reconcileHiddenColumns, reduceSupportPresentation, registerSingleton, requiredLanguages, resizeSpanBounds, resolveBracketLayout, resolveBreakpoint, resolveClosestOverlay, resolveCollisions, resolveFilterOverlaySubmitButton, resolveNotificationStatusIcon, resolveTableCsvRows, rgbColor, richTextEditorToolLabel, rightSheetOverlayStrategy, rowsToPixelHeight, schedulerFeatureConfig, selectOptionsFromQuery, selectOptionsFromV2Query, serializeGridLayout, serializeTableState, setupRichTextEditorFloatingToolbar, setupRichTextEditorLinkEditor, singleEliminationBracketLayout, snapResizeSpan, sortRows, spanHeight, spanWidth, startFullscreenEnterAnimation, startFullscreenLeaveAnimation, startImageUpload, startOfCalendarUnit, stripTrunkZero, supportPresentationIncludesState, swissBracketLayout, tableCsvRowsFromPages, tableFeatureConfig, tableRowsFromQuery, tableRowsFromV2Query, tableToCsv, toChildrenObservable, toGridPosition, toNotificationContent, toPathObservable, toSearchObservable, topSheetOverlayStrategy, transformingBottomSheetToDialogOverlayStrategy, transformingFullScreenDialogToDialogOverlayStrategy, transformingFullScreenDialogToRightSheetOverlayStrategy, warn, wireFormSupport, withPictureBaseUrl };
24659
+ export type { AccordionHeadingLevel, AnchoredDialogOverlayStrategyOptions, AnchoredOverlayStrategyOptions, AnchoredPanelCloseInfo, AnchoredPanelOverlayRef, AnchoredPanelSurfaceLike, AnchoredPositionOptions, AnyDropzoneUploadConfig, AnyTableColumn, Appointment, AppointmentId, AppointmentTreeNode, AutoPlaceOptions, AutoScrollPointer, AutoScroller, AvatarShape, AvatarSize, BadgeIconAlignment, BadgeSize, BadgeVariant, BannerLabels, BannerLiveRegion, BannerType, Bracket, BracketCardContext, BracketComponents, BracketConfig, BracketContinueComponent, BracketDataLayout, BracketDataSource, BracketDensity, BracketDrawEdgesContext, BracketLabels, BracketLayout, BracketLayoutConfig, BracketListSection, BracketMatch, BracketMatchComponent, BracketMatchFactor, BracketMatchId, BracketMatchNormalizer, BracketMatchParticipant, BracketMatchPosition, BracketMatchRelation, BracketMatchRelationNothingToOne, BracketMatchRelationOneToNothing, BracketMatchRelationOneToOne, BracketMatchRelationTwoToNothing, BracketMatchRelationTwoToOne, BracketMatchShortId, BracketMatchSource, BracketMatchStatus, BracketParticipant, BracketParticipantMatch, BracketRound, BracketRoundHeaderComponent, BracketRoundId, BracketRoundMapWithSwissData, BracketRoundMirrorType, BracketRoundPosition, BracketRoundRelation, BracketRoundRelationNothingToOne, BracketRoundRelationOneToNothing, BracketRoundRelationOneToOne, BracketRoundRelationTwoToNothing, BracketRoundRelationTwoToOne, BracketRoundShortId, BracketRoundSource, BracketRoundSwissData, BracketRoundSwissGroup, BracketRoundSwissGroupId, BracketRoundSwissGroupMap, BracketRoundType, BracketRoundsListBlock, BracketRoundsListSection, BracketSwissColors, BracketSwissGroupColorType, BreadcrumbCollapseAffordance, BreadcrumbCrumb, BreadcrumbLabels, BreadcrumbRenderItem, BreadcrumbSegment, ButtonColor, ButtonIconAlignment, ButtonSize, CalendarBandPosition, CalendarCell, CalendarCellBase, CalendarDateClassFn, CalendarFixedLengthRangeStrategyOptions, CalendarHeaderContext, CalendarInterval, CalendarLabels, CalendarMode, CalendarMonthPage, CalendarNavigationDirection, CalendarPrecision, CalendarRange, CalendarRangeSelectionStrategy, CalendarSelectionFlags, CalendarView, CalendarWeekRangeStrategyOptions, CalendarWeekday, CardVariant, CarouselAutoplayPauseReason, CarouselLabels, CarouselResolvedTransitionDriver, CarouselSlideAlign, CarouselSlideContext, CarouselSlideTemplateRef, CarouselTransition, CarouselTransitionDriver, CascaderColumnState, CascaderCompareWith, CascaderDataSource, CascaderFromQueryConfig, CascaderFromQuerySearchConfig, CascaderLabels, CascaderNode, CascaderNodeSignal, CascaderSearchState, CascaderSelectableLevels, CascaderSurfaceContext, CenteredOverlayStrategyOptions, CheckboxOptionVariant, ChipLabels, ChoiceFieldVariant, ClampPositionOptions, CommonBracketRoundType, CompactLayoutOptions, ComponentInputValue, ComputedBracketGrid, ControlSuffixBase, CounterComponentBase, CreateAnchoredPanelControllerOptions, CreateBracketGridConfig, CreateExistingDropzoneEntryOptions, CreateFileDropzoneEntryOptions, CreateOverlayUnsavedChangesGuardConfig, CreateTableRowsSourceOptions, CurrencyMaskOptions, DatePickerHost, DatePickerSurfaceBase, DatePickerSurfaceContext, DatePickerTriggerBase, DateRangeSide, DateRangeValue, DateTimeLabels, DescriptionListVariant, Dimensions, DividerOrientation, DoubleEliminationBracketRoundType, DragDismissMomentum, DragToDismissContext, DragToDismissRef, DropzoneDeleteConfig, DropzoneDeleteOptions, DropzoneEntry, DropzoneEntrySource, DropzoneEntryStatus, DropzoneExistingFileInfo, DropzoneFileConstraints, DropzoneFileRejection, DropzoneFileRejectionReason, DropzoneFileValidationChannel, DropzoneLabels, DropzoneUploadConfig, DropzoneUploadError, DropzoneUploadHandle, DropzoneUploadHandleOptions, DropzoneUploadState, DurationFormatSpec, DurationSegment, DurationUnit, EtBuiltInIconName, EthleteIconNameRegistry, EthleteIconVariantRegistry, FacebookVideoPlayer, FacebookWindow, FieldWarning, FieldWarningResult, FilterOverlay, FilterOverlayConfig, FilterOverlayDraft, FilterOverlayLabels, FilterOverlayPreview, FilterOverlayResult, FilterOverlaySubmitButton, FilterOverlaySubmitState, FilterOverlayValueOf, FilterRowsConfig, FindCollisionOptions, FloatingActionState, FormErrorMessageResolver, FormFieldAppearance, FormFieldControl, FormFieldControlType, FormFieldDirectiveBase, FormFieldFill, FormFieldLabelMode, FormFieldLabels, FormFieldSize, FormSupport, FormWarningMessageResolver, FullscreenAnimationCancellable, FullscreenAnimationDeps, FullscreenAnimationState, GridAdapter, GridBreakpointConfig, GridBreakpointName, GridComponentRegistration, GridConfig, GridGeometry, GridItemActionsComponent, GridItemConfig, GridItemConstraints, GridItemPosition, GridLabels, GridLayoutEntry, GridMutationOptions, GridSerializedState, GroupBracketRoundType, HexColorOptions, HintComponentBase, IconDefinition, IconOverride, InputLabels, InputMaskHost, InputTextAlignment, KbdPlatform, LabelDirectiveBase, LegacyQueryErrorSource, LoaderLabels, MapLayoutOptions, MaskSpec, MaskValueMode, MasonryColumns, MasonryPacking, MasonryPlacement, MatchCardNameContext, MatchCardSize, MatchLabels, MatchParticipantDisplayNameOptions, MatchParticipantId, MatchParticipantShortId, MatchParticipantSide, MatchResultNameContext, MatchScoreChange, MenuAnchorPoint, MenuCloseReason, MenuItemActivationEvent, MenuItemActivationSource, MenuItemVariant, MenuOpenSource, MenuSelectionGroupDirectiveBase, MenuSelectionGroupItem, MenuSelectionItemKind, MenuSurfaceContext, MultiLanguageRichTextEditorLanguage, MultiLanguageRichTextEditorValue, NormalizedGameScore, NormalizedMatch, NormalizedMatchParticipant, NormalizedMatchResultKind, NormalizedMatchStatus, NormalizedMedia, NormalizedStandingRow, NotificationAction, NotificationActionSlot, NotificationConfig, NotificationContentInit, NotificationContentInput, NotificationEntry, NotificationLabels, NotificationManager, NotificationManagerConfig, NotificationPromiseContent, NotificationPromiseFn, NotificationPromiseWork, NotificationRef, NotificationStackContext, NotificationStatus, NumberInputStepOptions, OtpInputCharset, OverlayAutoFocusTarget, OverlayBodyDividerType, OverlayBreakpointConfig, OverlayCloseGuard, OverlayConfig, OverlayDefinition, OverlayDefinitionConfig, OverlayDragToDismissConfig, OverlayDragToDismissDirection, OverlayDragToDismissPhysicalDirection, OverlayLifecycleConfig, OverlayManager, OverlayMode, OverlayOpenConfig, OverlayOpener, OverlayOpenerConfig, OverlayRef, OverlayRole, OverlayRoute, OverlayRouter, OverlayRouterConfig, OverlayRouterNavigateConfig, OverlayRouterNavigationDirection, OverlayRouterResolvedPath, OverlayRouterTransitionType, OverlayStrategy, OverlayStrategyBreakpoint, OverlayStrategyContext, OverlayStrategyController, OverlayStrategyControllerMountConfig, OverlaySurfaceContext, OverlayTreeContainmentOptions, OverlayUnsavedChangesDismissSources, OverlayUnsavedChangesGuardRef, PaginateOptions, PaginationItem, PaginationItemType, PaginationLabels, PaginationRangeContext, PaginationRenderAs, ParticipantMatchResult, PhoneCountry, PhoneInputFlagContext, PhoneInputFlagCountry, PhoneInputLabels, PictureConfig, PictureSource, PictureState, PipCellData, PipChromeAnimations, PipChromeRef, PipChromeState, PipManager, PipSlotPlaceholderConfig, PixelRect, ProgressStepState, ProgressStepsOrientation, QueryErrorLabels, QueryErrorRetryTarget, QueryErrorSlotContext, QueryErrorView, QueryParamOverlayDefinition, QueryParamOverlayDefinitionConfig, QueryParamOverlayHost, QueryParamOverlayOpener, QueryParamOverlayValue, RadioVariant, RangeSliderValue, RatingIconContext, RatingIconState, ReconcilableColumn, ReduceSupportPresentationInput, RegisteredIconName, RegisteredIconVariant, RequiredLanguagesOptions, ResizeSpanBounds, ResolveClosestOverlayOptions, ResolveCollisionsOptions, ResolvedDropzoneUploadConfig, ResolvedScrollableChrome, RgbColorOptions, RichTextEditorFloatingToolbarSetup, RichTextEditorImageFailure, RichTextEditorImageFailureReason, RichTextEditorImageToolConfig, RichTextEditorImageUpload, RichTextEditorImageUploadFn, RichTextEditorImageUploadRun, RichTextEditorLabels, RichTextEditorLinkEditorSetup, RichTextEditorLinkEditorValue, RichTextEditorQueryTriggerConfig, RichTextEditorTool, RichTextEditorToolButton, RichTextEditorToolDefinition, RichTextEditorToolsConfig, RichTextEditorTrigger, RichTextEditorTriggerItem, RichTextEditorTriggerItemResolver, RichTextEditorTriggerItemSource, RichTextEditorTriggerType, RowFloors, SchedulerActionAddAppointmentConfig, SchedulerActionAddSubAppointmentConfig, SchedulerActionDeleteConfig, SchedulerAgendaDay, SchedulerAppointmentAction, SchedulerBadgeAdornment, SchedulerBadgeChainCountConfig, SchedulerBadgeColorDotConfig, SchedulerBadgeLocationConfig, SchedulerBadgeTimeRangeConfig, SchedulerBadgeTitleConfig, SchedulerDraftRange, SchedulerEditColorConfig, SchedulerEditDescriptionConfig, SchedulerEditField, SchedulerEditLocationConfig, SchedulerEditSurfaceHost, SchedulerEditSurfaceResult, SchedulerEditTimeRangeConfig, SchedulerEditTitleConfig, SchedulerFeatureConfig, SchedulerFeatureHost, SchedulerLabels, SchedulerMonthDayCell, SchedulerSwipeNavigationConfig, SchedulerTimeGridAllDayEntry, SchedulerTimeGridBlock, SchedulerTimeGridDay, SchedulerToolbarAction, SchedulerView, SchedulerVisibleRange, SchedulerWeekStartsOn, SchedulerWeekday, ScrollableActiveChildRef, ScrollableButtonPosition, ScrollableButtonsConfig, ScrollableChrome, ScrollableChromeSlot, ScrollableDirection, ScrollableIntersectionChange, ScrollableItemSize, ScrollableLoadingTemplatePosition, ScrollableLoadingTemplateRef, ScrollableMaskVariant, ScrollableNavigation, ScrollableNavigationConfig, ScrollableNavigationItem, ScrollableScrollMode, ScrollableScrollOrigin, ScrollableScrollState, SegmentedButtonGroupVariant, SelectAsyncOptions, SelectErrorContext, SelectFilterMode, SelectItem, SelectLabels, SelectOptionData, SelectOptionGroupItem, SelectOptionTemplateContext, SelectOptionsFromQuery, SelectOptionsFromQueryConfig, SelectOptionsFromV2QueryConfig, SelectSelectedEntry, SelectSurfaceContext, SelectValueContext, SelectionListDirectiveBase, SelectionListItem, SelectionListOrientation, SerializeOptions, SidebarOverlay, SidebarOverlayConfig, SingleEliminationBracketRoundType, SkeletonShape, SliderHostBase, SliderLabels, SliderMark, SliderMarkStop, SliderMarks, SliderOrientation, SliderThumbBase, SliderThumbLabelBase, SliderThumbLabelContext, SortRowsConfig, Spacing, StandingsFormResult, StandingsLabels, StandingsRenderRow, StandingsZone, StartImageUploadOptions, StreamConfig, StreamConsentConfig, StreamLabels, StreamManager, StreamPipEntry, StreamPipWindowConfig, StreamPlayer, StreamPlayerCapabilities, StreamPlayerEntry, StreamPlayerErrorConfig, StreamPlayerErrorContext, StreamPlayerId, StreamPlayerLoadingConfig, StreamPlayerParams, StreamPlayerSlotHandle, StreamPlayerSlotOptions, StreamPlayerState, StreamScriptLoader, StreamSlotEntry, SupportContentState, SupportPresentationState, SupportSwappingState, SupportTransitionDirection, SwissBracketLayoutOptions, SwissBracketRoundType, TabBarFit, TabBarOrientation, TabBarVariant, TabSize, TableBodyPlaceholder, TableCellContext, TableCellEditCommit, TableCellEditContext, TableCellEditTarget, TableCellEditing, TableCellErrorMark, TableCellErrorTooltipConfig, TableCellNavigation, TableCellPinning, TableCellPlaceholder, TableCellSkeletonContext, TableCellState, TableCellStateValue, TableColumn, TableColumnAlign, TableColumnDef, TableColumnMenuConfig, TableColumnMeta, TableColumnPinning, 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, ToolbarOrientation, TooltipContent, TournamentMode, TreeCompareWith, TreeDataSource, TreeLevelStatus, TreeMarker, TreeNode, TreeNodeDefContext, TreeRow, TreeSelectionMode, TwitchEmbed, TwitchEmbedConstructor, TwitchEmbedPlayer, TwitchPlayerParams, TwitchWindow, V2DropzoneDeleteConfig, V2DropzonePrepareArgsOf, V2DropzoneUploadConfig, V2PrepareArgsOf, ViewportTransformData, VimeoDurationChangeEvent, VimeoPlaybackEvent, VimeoPlayer, VimeoPlayerOptions, VimeoWindow, WindowControlButtonKind, WindowControlButtonSize, YtPlayer, YtPlayerConfig, YtPlayerErrorEvent, YtPlayerEvent, YtPlayerStateChangeEvent, YtPlayerVars, YtWindow };