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

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.
@@ -1,15 +1,15 @@
1
1
  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
- import { MatchListViewUnion, MatchStatus, MediaView, ParticipantViewUnion, RoundStageStructureWithMatchesView, RoundStageStructureView, RoundType, GroupRankingView, PlacementView } from '@ethlete/types';
5
4
  import * as _ethlete_core from '@ethlete/core';
6
5
  import { ColorTheme, JsonLD, ScrollObserverDirective, ScrollToElementOptions, AnimatableDirective, OverlayRuntimeCloseSource, OverlayRuntimeCloseGuard, OverlayRuntimePositionStrategy, OverlayRuntimeCloseEvent, OverlayRuntimeRef, Breakpoint, AnimatedLifecycleDirective, AnimatedSizeAxis, ResizeEdge, DragHandleDirective, ResizeMoveEvent, CreateUnsavedChangesTrackerConfig, UnsavedChangesTrackerRef, AnimatedLifecycleState, OverlayRuntimeShiftOptions, AngularRenderer, OverlayRuntimeAnimationDelegate, ConsentHandler, LabelsSource, DragMoveEvent, ProvideColorDirective } from '@ethlete/core';
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
10
  import { FieldTree, ValidationError, FormValueControl, FormCheckboxControl, PathKind, SchemaPath, SchemaPathRules, validate } from '@angular/forms/signals';
11
11
  import * as _ethlete_query from '@ethlete/query';
12
- import { QueryFormFields, QueryFormSignals, QueryFormModel, AnyQueryCreator, RequestArgs, QueryArgsOf, ResponseType, QueryErrorResponse, RequestError, QueryArgs, QueryCreator, AnyV2QueryCreator, AnyLegacyQueryCreator, QueryDataOf, ReadonlyQuery, QueryRepositoryEvent, QueryRefreshCause, QueryDevtoolsEntry, Query, QueryDevtoolsRun, QueryRepository, QueryRepositoryCacheEntry, QueryKeyLockState, QueryClient, HttpRequestRetryState, HttpRequestLoadingProgressState, QueryDevtoolsStats, QueryDevtoolsStatsHandle, AnyQueryStack, AnyPagedQueryStack, QuerySequence, AnyBearerAuthProvider, WebSocketDevtoolsHandle, WebSocketDevtoolsMessage, QueryDevtoolsFormHandle, QuerySequenceStatus, AnyQuerySnapshot, QueryDevtoolsFeature, AnyV2Query, AnyLegacyQuery, AnyQueryCollection } from '@ethlete/query';
12
+ import { QueryFormFields, QueryFormSignals, QueryFormModel, AnyQueryCreator, RequestArgs, QueryArgsOf, ResponseType, QueryErrorResponse, RequestError, QueryArgs, QueryCreator, AnyV2QueryCreator, AnyLegacyQueryCreator, QueryDataOf, ReadonlyQuery, JsonPath, QueryDevtoolsOverridesRecorder, QueryRefreshCause, Query, QueryRepositoryCacheEntry, HttpRequestRetryState, HttpRequestLoadingProgressState, QueryDevtoolsStats, QueryDevtoolsStatsHandle, QueryDevtoolsEntry, QueryRepository, QueryKeyLockState, QueryClient, AnyQueryStack, AnyPagedQueryStack, QuerySequence, QueryDevtoolsRun, AnyBearerAuthProvider, WebSocketDevtoolsHandle, WebSocketDevtoolsMessage, QueryDevtoolsFormHandle, QuerySequenceStatus, AnyQuerySnapshot, QueryDevtoolsFeature, AnyV2Query, AnyLegacyQuery, AnyQueryCollection } from '@ethlete/query';
13
13
  import * as rxjs from 'rxjs';
14
14
  import { Observable } from 'rxjs';
15
15
  import { Placement, OffsetOptions, Padding } from '@floating-ui/dom';
@@ -35,6 +35,7 @@ declare const ACCORDION_ERROR_CODES: {
35
35
  */
36
36
  declare class AccordionPanelDirective {
37
37
  protected accordion: _ethlete_components.AccordionDirective | null;
38
+ private readonly hostElement;
38
39
  constructor();
39
40
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccordionPanelDirective, never>;
40
41
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AccordionPanelDirective, "[etAccordionPanel]", ["etAccordionPanel"], {}, {}, never, never, true, never>;
@@ -55,6 +56,7 @@ declare class AccordionPanelDirective {
55
56
  declare class AccordionLabelDirective {
56
57
  private accordion;
57
58
  templateRef: TemplateRef<unknown>;
59
+ private readonly hostElement;
58
60
  constructor();
59
61
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccordionLabelDirective, never>;
60
62
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AccordionLabelDirective, "ng-template[etAccordionLabel]", ["etAccordionLabel"], {}, {}, never, never, true, never>;
@@ -66,6 +68,7 @@ declare class AccordionLabelDirective {
66
68
  declare class AccordionHintDirective {
67
69
  private accordion;
68
70
  templateRef: TemplateRef<unknown>;
71
+ private readonly hostElement;
69
72
  constructor();
70
73
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccordionHintDirective, never>;
71
74
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AccordionHintDirective, "ng-template[etAccordionHint]", ["etAccordionHint"], {}, {}, never, never, true, never>;
@@ -89,6 +92,7 @@ declare class AccordionHintDirective {
89
92
  declare class AccordionContentDirective {
90
93
  private accordion;
91
94
  templateRef: TemplateRef<unknown>;
95
+ private readonly hostElement;
92
96
  constructor();
93
97
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccordionContentDirective, never>;
94
98
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AccordionContentDirective, "ng-template[etAccordionContent]", ["etAccordionContent"], {}, {}, never, never, true, never>;
@@ -314,6 +318,142 @@ declare class AccordionComponent {
314
318
  /** The accordion, its group, the slot templates, and the headless directives to build your own. */
315
319
  declare const ACCORDION_IMPORTS: readonly [typeof AccordionComponent, typeof AccordionGroupComponent, typeof AccordionLabelDirective, typeof AccordionHintDirective, typeof AccordionContentDirective, typeof AccordionDirective, typeof AccordionTriggerDirective, typeof AccordionPanelDirective, typeof AccordionGroupDirective];
316
320
 
321
+ declare const AVATAR_SIZES: {
322
+ readonly XS: "xs";
323
+ readonly SM: "sm";
324
+ readonly MD: "md";
325
+ readonly LG: "lg";
326
+ readonly XL: "xl";
327
+ };
328
+ type AvatarSize = (typeof AVATAR_SIZES)[keyof typeof AVATAR_SIZES];
329
+ declare const AVATAR_SHAPES: {
330
+ readonly CIRCLE: "circle";
331
+ readonly SQUARE: "square";
332
+ };
333
+ type AvatarShape = (typeof AVATAR_SHAPES)[keyof typeof AVATAR_SHAPES];
334
+ /**
335
+ * A user/entity representation: an image, falling back to initials derived from `name`, falling back
336
+ * to projected content (e.g. an icon) when neither is set. A failed image load falls back the same way.
337
+ *
338
+ * @example
339
+ * <et-avatar src="/jane.jpg" name="Jane Doe" />
340
+ * <et-avatar name="Jane Doe" color="brand" />
341
+ * <et-avatar><et-icon [definition]="USER_ICON" /></et-avatar>
342
+ */
343
+ declare class AvatarComponent {
344
+ src: _angular_core.InputSignal<string | null>;
345
+ name: _angular_core.InputSignal<string | null>;
346
+ size: _angular_core.InputSignal<AvatarSize>;
347
+ shape: _angular_core.InputSignal<AvatarShape>;
348
+ protected initials: _angular_core.Signal<string | null>;
349
+ private imageFailed;
350
+ protected imageVisible: _angular_core.Signal<boolean>;
351
+ protected markImageFailed(): void;
352
+ 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: {}; }]>;
354
+ }
355
+
356
+ /**
357
+ * 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.
360
+ *
361
+ * @example
362
+ * <et-avatar-group>
363
+ * <et-avatar name="Jane Doe" />
364
+ * <et-avatar name="John Smith" />
365
+ * <et-avatar>+5</et-avatar>
366
+ * </et-avatar-group>
367
+ */
368
+ declare class AvatarGroupComponent {
369
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AvatarGroupComponent, never>;
370
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AvatarGroupComponent, "et-avatar-group", never, {}, {}, never, ["*"], true, never>;
371
+ }
372
+
373
+ declare const AVATAR_IMPORTS: readonly [typeof AvatarComponent, typeof AvatarGroupComponent];
374
+
375
+ declare const BADGE_VARIANTS: {
376
+ readonly FILLED: "filled";
377
+ readonly TONAL: "tonal";
378
+ readonly OUTLINE: "outline";
379
+ };
380
+ type BadgeVariant = (typeof BADGE_VARIANTS)[keyof typeof BADGE_VARIANTS];
381
+ /**
382
+ * A small, non-interactive pill for a status word or a count - "Active", "Beta", "3 new". Unlike
383
+ * `et-chip`, it never removes itself and carries no selection state; reach for a chip when the value
384
+ * is removable or selectable.
385
+ *
386
+ * @example
387
+ * <et-badge color="success">Active</et-badge>
388
+ * <et-badge variant="outline">Beta</et-badge>
389
+ */
390
+ declare class BadgeComponent {
391
+ variant: _angular_core.InputSignal<BadgeVariant>;
392
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BadgeComponent, never>;
393
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BadgeComponent, "et-badge", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof _ethlete_core.ProvideColorDirective; inputs: { "etProvideColor": "color"; }; outputs: {}; }]>;
394
+ }
395
+
396
+ declare const BADGE_IMPORTS: readonly [typeof BadgeComponent];
397
+
398
+ /** The strings a banner renders itself. Its heading, description and actions are yours; dismissal is its own. */
399
+ type BannerLabels = {
400
+ /** Accessible label for a dismissible banner's dismiss button. */
401
+ dismiss: string;
402
+ };
403
+ /** The built-in English labels. */
404
+ declare const DEFAULT_BANNER_LABELS: BannerLabels;
405
+ /**
406
+ * Localize a banner's strings for everything below this injector, and read the set in effect here as a
407
+ * signal. Partial - whatever you leave out keeps its {@link DEFAULT_BANNER_LABELS} value. See {@link defineLabels}
408
+ * for the shape, which every domain in this library shares.
409
+ *
410
+ * @example
411
+ * provideBannerLabels({ dismiss: 'Schließen' });
412
+ */
413
+ declare const provideBannerLabels: (labels: _ethlete_core.LabelsSource<BannerLabels>) => _angular_core.Provider;
414
+ declare const injectBannerLabels: () => _angular_core.Signal<BannerLabels>;
415
+ declare const BANNER_LABELS: _angular_core.InjectionToken<_ethlete_core.LabelsSource<BannerLabels>>;
416
+
417
+ declare const BANNER_TYPES: {
418
+ readonly INFO: "info";
419
+ readonly SUCCESS: "success";
420
+ readonly WARNING: "warning";
421
+ readonly ERROR: "error";
422
+ };
423
+ type BannerType = (typeof BANNER_TYPES)[keyof typeof BANNER_TYPES];
424
+ /**
425
+ * A static, dismissible page or section message - icon/description/actions are yours to project,
426
+ * unlike `et-notification`, which is a transient, manager-driven toast.
427
+ *
428
+ * @example
429
+ * <et-banner type="error" heading="Something went wrong" description="Please try again." dismissible>
430
+ * <i etIcon="et-triangle-exclamation"></i>
431
+ * <button et-text-button etBannerAction type="button">Retry</button>
432
+ * </et-banner>
433
+ */
434
+ declare class BannerComponent {
435
+ private provideColor;
436
+ private injector;
437
+ protected resolvedLabels: _angular_core.Signal<_ethlete_components.BannerLabels>;
438
+ heading: _angular_core.InputSignal<string | undefined>;
439
+ description: _angular_core.InputSignal<string | undefined>;
440
+ type: _angular_core.InputSignal<BannerType>;
441
+ dismissible: _angular_core.InputSignalWithTransform<boolean, unknown>;
442
+ /**
443
+ * Overrides the type's default color theme. `info` has no semantic theme of its own (there is no
444
+ * app-registered `type: 'info'` slot), so pass a theme name to color an informational banner -
445
+ * otherwise it renders untinted.
446
+ */
447
+ color: _angular_core.InputSignal<string | ColorTheme | null>;
448
+ dismiss: _angular_core.OutputEmitterRef<void>;
449
+ protected role: _angular_core.Signal<"alert" | "status">;
450
+ constructor();
451
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BannerComponent, never>;
452
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<BannerComponent, "et-banner", never, { "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "dismissible": { "alias": "dismissible"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; }, { "dismiss": "dismiss"; }, never, ["[etIcon]", "[etBannerAction]"], true, [{ directive: typeof _ethlete_core.ProvideColorDirective; inputs: {}; outputs: {}; }]>;
453
+ }
454
+
455
+ declare const BANNER_IMPORTS: readonly [typeof BannerComponent];
456
+
317
457
  type BracketMatchSource<TMatchData> = {
318
458
  data: TMatchData;
319
459
  id: string;
@@ -1245,7 +1385,6 @@ type BracketRoundRelationTwoToNothing<TRoundData, TMatchData> = {
1245
1385
  lowerRootRoundMatchFactor: number;
1246
1386
  };
1247
1387
  type BracketRoundRelation<TRoundData, TMatchData> = BracketRoundRelationNothingToOne<TRoundData, TMatchData> | BracketRoundRelationOneToNothing<TRoundData, TMatchData> | BracketRoundRelationOneToOne<TRoundData, TMatchData> | BracketRoundRelationTwoToOne<TRoundData, TMatchData> | BracketRoundRelationTwoToNothing<TRoundData, TMatchData>;
1248
- declare const generateRoundRelationsNew: <TRoundData, TMatchData>(bracketData: Bracket<TRoundData, TMatchData>) => BracketRoundRelation<TRoundData, TMatchData>[];
1249
1388
 
1250
1389
  type BracketMatchFactor = number;
1251
1390
  type BracketMatchRelationOneToOne<TRoundData, TMatchData> = {
@@ -1292,14 +1431,6 @@ type BracketMatchRelationTwoToNothing<TRoundData, TMatchData> = {
1292
1431
  previousLowerRound: BracketRound<TRoundData, TMatchData>;
1293
1432
  };
1294
1433
  type BracketMatchRelation<TRoundData, TMatchData> = BracketMatchRelationOneToOne<TRoundData, TMatchData> | BracketMatchRelationTwoToOne<TRoundData, TMatchData> | BracketMatchRelationNothingToOne<TRoundData, TMatchData> | BracketMatchRelationOneToNothing<TRoundData, TMatchData> | BracketMatchRelationTwoToNothing<TRoundData, TMatchData>;
1295
- type MatchPositionMaps<TRoundData, TMatchData> = Map<BracketRoundId, Map<BracketMatchPosition, BracketMatch<TRoundData, TMatchData>>>;
1296
- declare const generateMatchPosition: (match: BracketMatch<unknown, unknown>, factor: BracketMatchFactor) => BracketMatchPosition;
1297
- declare const generateMatchRelationPositions: <TRoundData, TMatchData>(relation: BracketRoundRelation<TRoundData, TMatchData>, match: BracketMatch<TRoundData, TMatchData>) => {
1298
- nextRoundMatchPosition: BracketMatchPosition;
1299
- previousUpperRoundMatchPosition: BracketMatchPosition;
1300
- previousLowerRoundMatchPosition: BracketMatchPosition;
1301
- };
1302
- declare const generateMatchRelationsNew: <TRoundData, TMatchData>(bracketData: Bracket<TRoundData, TMatchData>) => BracketMatchRelation<TRoundData, TMatchData>[];
1303
1434
 
1304
1435
  type Bracket<TRoundData, TMatchData> = {
1305
1436
  rounds: BracketMap<BracketRoundId, BracketRound<TRoundData, TMatchData>>;
@@ -1329,7 +1460,6 @@ type BracketParticipant<TRoundData, TMatchData> = BracketParticipantBase & {
1329
1460
  type BracketMatchParticipant<TRoundData, TMatchData> = BracketMatchParticipantBase & {
1330
1461
  matches: BracketMap<BracketMatchId, BracketMatch<TRoundData, TMatchData>>;
1331
1462
  };
1332
- declare const createBracket: <TRoundData, TMatchData>(source: BracketDataSource<TRoundData, TMatchData>, options: GenerateBracketDataOptions) => Bracket<TRoundData, TMatchData>;
1333
1463
 
1334
1464
  type BracketRoundSwissGroupId = string & {
1335
1465
  _brand: 'BracketRoundSwissGroupId';
@@ -1345,8 +1475,6 @@ type BracketRoundSwissData<TRoundData, TMatchData> = {
1345
1475
  groups: BracketRoundSwissGroupMap<TRoundData, TMatchData>;
1346
1476
  };
1347
1477
  type BracketRoundMapWithSwissData<TRoundData, TMatchData> = Map<BracketRoundId, BracketRoundSwissData<TRoundData, TMatchData>>;
1348
- declare const SWISS_ADVANCE_WINS = 3;
1349
- declare const SWISS_ELIMINATE_LOSSES = 3;
1350
1478
  declare const BRACKET_SWISS_GROUP_COLOR_TYPE: {
1351
1479
  /** The starting group (0-0) */
1352
1480
  readonly NEUTRAL: "neutral";
@@ -1367,13 +1495,6 @@ type BracketSwissGroupColorType = (typeof BRACKET_SWISS_GROUP_COLOR_TYPE)[keyof
1367
1495
  * which default to `--et-surface-border-solid`).
1368
1496
  */
1369
1497
  type BracketSwissColors = Partial<Record<BracketSwissGroupColorType, string>>;
1370
- declare const getSwissGroupColorType: (wins: number, losses: number) => BracketSwissGroupColorType;
1371
- declare const getAvailableSwissGroupsForRound: (roundNumber: number, totalMatchesInRound: number) => {
1372
- id: BracketRoundSwissGroupId;
1373
- name: string;
1374
- matchesInGroup: number;
1375
- }[];
1376
- declare const generateBracketRoundSwissGroupMaps: <TRoundData, TMatchData>(bracketData: Bracket<TRoundData, TMatchData>) => BracketRoundMapWithSwissData<TRoundData, TMatchData> | null;
1377
1498
 
1378
1499
  /**
1379
1500
  * Turns one of *your* bracket matches into the shape the default cards draw
@@ -1468,10 +1589,6 @@ type BracketParticipantBase = {
1468
1589
  id: MatchParticipantId;
1469
1590
  shortId: MatchParticipantShortId;
1470
1591
  };
1471
- type BracketParticipantWithRelationsBase = BracketParticipantBase & {
1472
- matchIds: BracketMatchId[];
1473
- };
1474
- declare const createParticipantsMapBase: <TRoundData, TMatchData>(source: BracketDataSource<TRoundData, TMatchData>) => BracketMap<MatchParticipantId, BracketParticipantWithRelationsBase>;
1475
1592
 
1476
1593
  type BracketRoundId = string & {
1477
1594
  _brand: 'BracketRoundId';
@@ -1534,10 +1651,6 @@ type BracketRoundBase<TRoundData> = {
1534
1651
  isFirstOfType: boolean;
1535
1652
  isLastOfType: boolean;
1536
1653
  };
1537
- type BracketRoundWithRelationsBase<TRoundData> = BracketRoundBase<TRoundData> & {
1538
- matchIds: BracketMatchId[];
1539
- };
1540
- declare const createRoundsMapBase: <TRoundData, TMatchData>(source: BracketDataSource<TRoundData, TMatchData>, options: GenerateBracketDataOptions) => BracketMap<BracketRoundId, BracketRoundWithRelationsBase<TRoundData>>;
1541
1654
 
1542
1655
  type ParticipantMatchResult = 'win' | 'loss' | 'tie';
1543
1656
  type MatchParticipantSide = 'home' | 'away';
@@ -1550,8 +1663,6 @@ type BracketMatchParticipantBase = BracketParticipantBase & {
1550
1663
  lossCount: number;
1551
1664
  side: MatchParticipantSide;
1552
1665
  };
1553
- type BracketMatchParticipantWithRelationsBase = BracketMatchParticipantBase & BracketParticipantWithRelationsBase;
1554
- declare const createNewMatchParticipantBase: <TRoundData, TMatchData>(source: BracketDataSource<TRoundData, TMatchData>, participantId: MatchParticipantId | null, match: BracketMatchSource<TMatchData>, rounds: BracketMap<BracketRoundId, BracketRoundWithRelationsBase<TRoundData>>, matchRoundId: BracketRoundId, participants: BracketMap<MatchParticipantId, BracketParticipantWithRelationsBase>) => BracketMatchParticipantWithRelationsBase | null;
1555
1666
 
1556
1667
  type BracketMatchId = string & {
1557
1668
  _brand: 'BracketMatchId';
@@ -1572,13 +1683,6 @@ type BracketMatchBase<TMatchData> = {
1572
1683
  winnerSide: MatchParticipantSide | null;
1573
1684
  status: BracketMatchStatus;
1574
1685
  };
1575
- type BracketMatchWithRelationsBase<TMatchData> = BracketMatchBase<TMatchData> & {
1576
- roundId: BracketRoundId;
1577
- home: BracketMatchParticipantWithRelationsBase | null;
1578
- away: BracketMatchParticipantWithRelationsBase | null;
1579
- winner: BracketMatchParticipantWithRelationsBase | null;
1580
- };
1581
- declare const createMatchesMapBase: <TRoundData, TMatchData>(source: BracketDataSource<TRoundData, TMatchData>, rounds: BracketMap<BracketRoundId, BracketRoundWithRelationsBase<TRoundData>>, participants: BracketMap<MatchParticipantId, BracketParticipantWithRelationsBase>) => BracketMap<BracketMatchId, BracketMatchWithRelationsBase<TMatchData>>;
1582
1686
 
1583
1687
  declare const TOURNAMENT_MODE: {
1584
1688
  readonly SINGLE_ELIMINATION: "single-elimination";
@@ -1587,17 +1691,6 @@ declare const TOURNAMENT_MODE: {
1587
1691
  };
1588
1692
  type TournamentMode = (typeof TOURNAMENT_MODE)[keyof typeof TOURNAMENT_MODE];
1589
1693
 
1590
- type BracketBase<TRoundData, TMatchData> = {
1591
- rounds: BracketMap<BracketRoundId, BracketRoundWithRelationsBase<TRoundData>>;
1592
- matches: BracketMap<BracketMatchId, BracketMatchWithRelationsBase<TMatchData>>;
1593
- participants: BracketMap<MatchParticipantId, BracketParticipantWithRelationsBase>;
1594
- mode: TournamentMode;
1595
- };
1596
- type GenerateBracketDataOptions = {
1597
- layout: BracketDataLayout;
1598
- };
1599
- declare const createBracketBase: <TRoundData, TMatchData>(source: BracketDataSource<TRoundData, TMatchData>, options: GenerateBracketDataOptions) => BracketBase<TRoundData, TMatchData>;
1600
-
1601
1694
  type Dimensions = {
1602
1695
  width: number;
1603
1696
  height: number;
@@ -2969,6 +3062,7 @@ declare class ButtonDirective {
2969
3062
  declare class SplitButtonActionDirective {
2970
3063
  private splitButton;
2971
3064
  private destroyRef;
3065
+ private readonly hostElement;
2972
3066
  constructor();
2973
3067
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SplitButtonActionDirective, never>;
2974
3068
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SplitButtonActionDirective, "[etSplitButtonAction]", ["etSplitButtonAction"], {}, {}, never, never, true, never>;
@@ -2984,12 +3078,14 @@ declare const SPLIT_BUTTON_ERROR_CODES: {
2984
3078
  declare class SplitButtonTriggerDirective {
2985
3079
  private splitButton;
2986
3080
  private destroyRef;
3081
+ private readonly hostElement;
2987
3082
  constructor();
2988
3083
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SplitButtonTriggerDirective, never>;
2989
3084
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SplitButtonTriggerDirective, "[etSplitButtonTrigger]", ["etSplitButtonTrigger"], {}, {}, never, never, true, never>;
2990
3085
  }
2991
3086
 
2992
3087
  declare class SplitButtonDirective {
3088
+ private readonly hostElement;
2993
3089
  registeredAction: _angular_core.WritableSignal<SplitButtonActionDirective | null>;
2994
3090
  registeredTrigger: _angular_core.WritableSignal<SplitButtonTriggerDirective | null>;
2995
3091
  constructor();
@@ -3655,6 +3751,30 @@ declare class CalendarComponent {
3655
3751
 
3656
3752
  declare const CALENDAR_IMPORTS: readonly [typeof CalendarComponent, typeof CalendarDirective, typeof CalendarGridDirective, typeof CalendarCellDirective, typeof CalendarHeaderDirective];
3657
3753
 
3754
+ declare const CARD_VARIANTS: {
3755
+ readonly ELEVATED: "elevated";
3756
+ readonly OUTLINED: "outlined";
3757
+ readonly FILLED: "filled";
3758
+ };
3759
+ type CardVariant = (typeof CARD_VARIANTS)[keyof typeof CARD_VARIANTS];
3760
+ /**
3761
+ * A generic content container - the padded, bordered or shadowed box every dashboard reaches for.
3762
+ * Content is yours; the card only owns the surrounding chrome.
3763
+ *
3764
+ * @example
3765
+ * <et-card variant="elevated">
3766
+ * <h3>Revenue</h3>
3767
+ * <p>$12,400 this month</p>
3768
+ * </et-card>
3769
+ */
3770
+ declare class CardComponent {
3771
+ variant: _angular_core.InputSignal<CardVariant>;
3772
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CardComponent, never>;
3773
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CardComponent, "et-card", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, [{ directive: typeof _ethlete_core.ProvideSurfaceDirective; inputs: { "etProvideSurface": "surface"; }; outputs: {}; }]>;
3774
+ }
3775
+
3776
+ declare const CARD_IMPORTS: readonly [typeof CardComponent];
3777
+
3658
3778
  declare const CAROUSEL_ERROR_CODES: {
3659
3779
  /** A carousel part (`etCarouselSlide`, `etCarouselItem`, a control, autoplay) was used outside an `[etCarousel]`. */
3660
3780
  readonly PART_OUTSIDE_CAROUSEL: 3800;
@@ -3822,6 +3942,7 @@ type ScrollableNavigation = {
3822
3942
  };
3823
3943
 
3824
3944
  declare class ScrollableDirective {
3945
+ private readonly hostElement;
3825
3946
  itemSize: _angular_core.InputSignalWithTransform<ScrollableItemSize, _ethlete_core.BreakpointInput<ScrollableItemSize>>;
3826
3947
  direction: _angular_core.InputSignalWithTransform<ScrollableDirection, _ethlete_core.BreakpointInput<ScrollableDirection>>;
3827
3948
  scrollMode: _angular_core.InputSignalWithTransform<ScrollableScrollMode, _ethlete_core.BreakpointInput<ScrollableScrollMode>>;
@@ -4226,6 +4347,7 @@ declare class CarouselAutoplayDirective {
4226
4347
  private prefersReducedMotion;
4227
4348
  private isDocumentVisible;
4228
4349
  private styleManager;
4350
+ private readonly hostElement;
4229
4351
  /**
4230
4352
  * Turn autoplay off without removing the directive - the same escape hatch `etScrollableSnap` has. A
4231
4353
  * disabled autoplay never plays and never asks for a pause control.
@@ -4444,6 +4566,7 @@ type CarouselSlideContext<T> = {
4444
4566
  */
4445
4567
  declare class CarouselSlideDirective<T> {
4446
4568
  private carousel;
4569
+ private readonly hostElement;
4447
4570
  /** @internal The template itself, stamped by whoever renders the slides. */
4448
4571
  templateRef: TemplateRef<CarouselSlideContext<T>>;
4449
4572
  /** The slides to render, one stamp of this template each. */
@@ -4521,6 +4644,7 @@ declare class CarouselDirective {
4521
4644
  private injectedLabels;
4522
4645
  private prefersReducedMotion;
4523
4646
  private styleManager;
4647
+ private readonly hostElement;
4524
4648
  private ownScrollable;
4525
4649
  /**
4526
4650
  * Cross the seam without showing it: the track carries clones of the slides either side of the real
@@ -4732,6 +4856,7 @@ declare class CarouselComponent {
4732
4856
  /** @internal Read from the template; also handy for a consumer reaching in with `viewChild`. */
4733
4857
  carousel: CarouselDirective;
4734
4858
  private autoplayDirective;
4859
+ private readonly hostElement;
4735
4860
  /**
4736
4861
  * How much of the track one slide takes: `'full'` (the default) is one slide per view; `'half'`,
4737
4862
  * `'third'` and `'quarter'` show several at once, and `'auto'` lets each slide size itself so the next
@@ -4831,6 +4956,105 @@ declare class ChipComponent {
4831
4956
 
4832
4957
  declare const CHIP_IMPORTS: readonly [typeof ChipComponent, typeof ChipDirective, typeof ChipRemoveDirective];
4833
4958
 
4959
+ /**
4960
+ * Copies `text` to the clipboard on click and ticks `copied()` for `resetDelay` ms - the
4961
+ * icon-swap feedback every copy button in this library wants, without each one hand-rolling its
4962
+ * own reset timer. Carries no template or styling of its own; compose it with `et-icon-button` (or
4963
+ * any other button) and swap the icon off `copied()`:
4964
+ *
4965
+ * @example
4966
+ * <button [text]="jsonText" et-icon-button etCopyButton #copyBtn="etCopyButton" type="button" (copySuccess)="onCopy()">
4967
+ * @if (copyBtn.copied()) {
4968
+ * <i etIcon="et-check"></i>
4969
+ * } @else {
4970
+ * <i etIcon="et-clipboard-check"></i>
4971
+ * }
4972
+ * </button>
4973
+ */
4974
+ declare class CopyButtonDirective {
4975
+ /** The value to copy, or a getter for it - a getter avoids re-serializing on every change detection. */
4976
+ text: _angular_core.InputSignal<string | (() => string)>;
4977
+ /** How long `copied()` stays `true` after a successful copy. */
4978
+ resetDelay: _angular_core.InputSignalWithTransform<number, unknown>;
4979
+ /** Fires once the value has actually reached the clipboard. */
4980
+ copySuccess: _angular_core.OutputEmitterRef<void>;
4981
+ copied: _angular_core.WritableSignal<boolean>;
4982
+ private reset$;
4983
+ constructor();
4984
+ requestCopy(): void;
4985
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CopyButtonDirective, never>;
4986
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CopyButtonDirective, "[etCopyButton]", ["etCopyButton"], { "text": { "alias": "text"; "required": false; "isSignal": true; }; "resetDelay": { "alias": "resetDelay"; "required": false; "isSignal": true; }; }, { "copySuccess": "copySuccess"; }, never, never, true, never>;
4987
+ }
4988
+
4989
+ declare const COPY_BUTTON_IMPORTS: readonly [typeof CopyButtonDirective];
4990
+
4991
+ /**
4992
+ * Styles a native `<dl>` for term/detail rows - CSS grid auto-placement pairs each `<dt>`/`<dd>`
4993
+ * into its own row, so plain semantic markup is all a consumer writes; there is no term/detail
4994
+ * wrapper component to reach for.
4995
+ *
4996
+ * @example
4997
+ * <dl et-description-list>
4998
+ * <dt>Name</dt>
4999
+ * <dd>Jane Doe</dd>
5000
+ * <dt>Email</dt>
5001
+ * <dd>jane&#64;example.com</dd>
5002
+ * </dl>
5003
+ */
5004
+ declare class DescriptionListComponent {
5005
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DescriptionListComponent, never>;
5006
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DescriptionListComponent, "dl[et-description-list]", never, {}, {}, never, ["*"], true, never>;
5007
+ }
5008
+
5009
+ declare const DESCRIPTION_LIST_IMPORTS: readonly [typeof DescriptionListComponent];
5010
+
5011
+ type DividerOrientation = 'horizontal' | 'vertical';
5012
+ /**
5013
+ * A thin rule between two groups of content or controls, announced as a separator.
5014
+ *
5015
+ * A `vertical` divider sizes itself from its parent's cross axis, so it needs a flex or grid parent
5016
+ * (or an explicit `block-size`) to be visible. Set `decorative` when the grouping is already clear
5017
+ * from the surrounding markup - the rule then carries no semantics at all.
5018
+ *
5019
+ * @example
5020
+ * <et-divider />
5021
+ *
5022
+ * @example
5023
+ * <div class="flex items-center">
5024
+ * <button et-button>Save</button>
5025
+ * <et-divider orientation="vertical" decorative />
5026
+ * <button et-button>Discard</button>
5027
+ * </div>
5028
+ */
5029
+ declare class DividerComponent {
5030
+ orientation: _angular_core.InputSignal<DividerOrientation>;
5031
+ decorative: _angular_core.InputSignalWithTransform<boolean, unknown>;
5032
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DividerComponent, never>;
5033
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DividerComponent, "et-divider", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "decorative": { "alias": "decorative"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
5034
+ }
5035
+
5036
+ declare const DIVIDER_IMPORTS: readonly [typeof DividerComponent];
5037
+
5038
+ /**
5039
+ * A placeholder for a section or page that currently has nothing to show - no results, an empty
5040
+ * list, a not-yet-configured feature. Project an icon via `[etIcon]`, set `title`/`description`,
5041
+ * and project an action (e.g. a button) via `[etEmptyStateAction]`.
5042
+ *
5043
+ * @example
5044
+ * <et-empty-state heading="No results" description="Try a different search term.">
5045
+ * <i etIcon="et-file"></i>
5046
+ * <button et-button etEmptyStateAction type="button">Clear filters</button>
5047
+ * </et-empty-state>
5048
+ */
5049
+ declare class EmptyStateComponent {
5050
+ heading: _angular_core.InputSignal<string | undefined>;
5051
+ description: _angular_core.InputSignal<string | undefined>;
5052
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EmptyStateComponent, never>;
5053
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EmptyStateComponent, "et-empty-state", never, { "heading": { "alias": "heading"; "required": false; "isSignal": true; }; "description": { "alias": "description"; "required": false; "isSignal": true; }; }, {}, never, ["[etIcon]", "[etEmptyStateAction]"], true, never>;
5054
+ }
5055
+
5056
+ declare const EMPTY_STATE_IMPORTS: readonly [typeof EmptyStateComponent];
5057
+
4834
5058
  /**
4835
5059
  * What the overlay closes with. `didUpdate: false` for a dismissal - the draft is thrown away and the page's
4836
5060
  * filters are untouched.
@@ -5406,6 +5630,7 @@ type LabelDirectiveBase = {
5406
5630
  };
5407
5631
 
5408
5632
  declare class FormFieldDirective implements FormFieldDirectiveBase {
5633
+ private readonly hostElement;
5409
5634
  /** @internal */
5410
5635
  registeredControl: _angular_core.WritableSignal<FormFieldControl | null>;
5411
5636
  /** @internal */
@@ -5836,6 +6061,7 @@ declare class OverlayTriggerDirective {
5836
6061
  declare class OverlayDirective {
5837
6062
  private destroyRef;
5838
6063
  private overlayManager;
6064
+ private readonly hostElement;
5839
6065
  mode: _angular_core.InputSignal<OverlayMode>;
5840
6066
  role: _angular_core.InputSignal<OverlayRole | undefined>;
5841
6067
  open: _angular_core.ModelSignal<boolean>;
@@ -5854,6 +6080,7 @@ declare class OverlayDirective {
5854
6080
  offset: _angular_core.InputSignal<OffsetOptions | null>;
5855
6081
  viewportPadding: _angular_core.InputSignal<Padding | null>;
5856
6082
  autoResize: _angular_core.InputSignalWithTransform<boolean, unknown>;
6083
+ minAvailableSpace: _angular_core.InputSignal<number | undefined>;
5857
6084
  shift: _angular_core.InputSignalWithTransform<boolean, unknown>;
5858
6085
  autoHide: _angular_core.InputSignalWithTransform<boolean, unknown>;
5859
6086
  autoCloseIfReferenceHidden: _angular_core.InputSignalWithTransform<boolean, unknown>;
@@ -5880,7 +6107,7 @@ declare class OverlayDirective {
5880
6107
  unregisterSurface(surface: OverlaySurfaceDirective): void;
5881
6108
  private mountOverlay;
5882
6109
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<OverlayDirective, never>;
5883
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<OverlayDirective, "[etOverlay]", ["etOverlay"], { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "disableClose": { "alias": "disableClose"; "required": false; "isSignal": true; }; "autoFocus": { "alias": "autoFocus"; "required": false; "isSignal": true; }; "restoreFocus": { "alias": "restoreFocus"; "required": false; "isSignal": true; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "closeOnOutsidePointer": { "alias": "closeOnOutsidePointer"; "required": false; "isSignal": true; }; "hostClass": { "alias": "hostClass"; "required": false; "isSignal": true; }; "backdropClass": { "alias": "backdropClass"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "fallbackPlacements": { "alias": "fallbackPlacements"; "required": false; "isSignal": true; }; "offset": { "alias": "offset"; "required": false; "isSignal": true; }; "viewportPadding": { "alias": "viewportPadding"; "required": false; "isSignal": true; }; "autoResize": { "alias": "autoResize"; "required": false; "isSignal": true; }; "shift": { "alias": "shift"; "required": false; "isSignal": true; }; "autoHide": { "alias": "autoHide"; "required": false; "isSignal": true; }; "autoCloseIfReferenceHidden": { "alias": "autoCloseIfReferenceHidden"; "required": false; "isSignal": true; }; "mirrorWidth": { "alias": "mirrorWidth"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, never, never, true, never>;
6110
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<OverlayDirective, "[etOverlay]", ["etOverlay"], { "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "disableClose": { "alias": "disableClose"; "required": false; "isSignal": true; }; "autoFocus": { "alias": "autoFocus"; "required": false; "isSignal": true; }; "restoreFocus": { "alias": "restoreFocus"; "required": false; "isSignal": true; }; "hasBackdrop": { "alias": "hasBackdrop"; "required": false; "isSignal": true; }; "closeOnEscape": { "alias": "closeOnEscape"; "required": false; "isSignal": true; }; "closeOnOutsidePointer": { "alias": "closeOnOutsidePointer"; "required": false; "isSignal": true; }; "hostClass": { "alias": "hostClass"; "required": false; "isSignal": true; }; "backdropClass": { "alias": "backdropClass"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "fallbackPlacements": { "alias": "fallbackPlacements"; "required": false; "isSignal": true; }; "offset": { "alias": "offset"; "required": false; "isSignal": true; }; "viewportPadding": { "alias": "viewportPadding"; "required": false; "isSignal": true; }; "autoResize": { "alias": "autoResize"; "required": false; "isSignal": true; }; "minAvailableSpace": { "alias": "minAvailableSpace"; "required": false; "isSignal": true; }; "shift": { "alias": "shift"; "required": false; "isSignal": true; }; "autoHide": { "alias": "autoHide"; "required": false; "isSignal": true; }; "autoCloseIfReferenceHidden": { "alias": "autoCloseIfReferenceHidden"; "required": false; "isSignal": true; }; "mirrorWidth": { "alias": "mirrorWidth"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, never, never, true, never>;
5884
6111
  }
5885
6112
 
5886
6113
  type OverlaySurfaceContext = {
@@ -6202,6 +6429,7 @@ declare class CascaderDirective<T = unknown> implements FormValueControl<T | T[]
6202
6429
  private destroyRef;
6203
6430
  private document;
6204
6431
  private bottomSheetStrategy;
6432
+ private readonly hostElement;
6205
6433
  /** The committed value: `T | null` in single mode, `T[]` with `multiple`. */
6206
6434
  value: _angular_core.ModelSignal<T | T[] | null>;
6207
6435
  /** View state for a field whose source values disagree. The raw form value stays untouched. */
@@ -6439,6 +6667,7 @@ declare class CascaderColumnDirective {
6439
6667
  private cascaderLabels;
6440
6668
  cascader: CascaderDirective<any> | null;
6441
6669
  private destroyRef;
6670
+ private readonly hostElement;
6442
6671
  /** The column's zero-based level - column 0 shows the root. */
6443
6672
  columnIndex: _angular_core.InputSignal<number>;
6444
6673
  readonly id: string;
@@ -6532,6 +6761,7 @@ declare class CascaderSearchDirective {
6532
6761
  declare class CascaderSurfaceDirective {
6533
6762
  private cascader;
6534
6763
  templateRef: TemplateRef<CascaderSurfaceContext>;
6764
+ private readonly hostElement;
6535
6765
  constructor();
6536
6766
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<CascaderSurfaceDirective, never>;
6537
6767
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CascaderSurfaceDirective, "ng-template[etCascaderSurface]", ["etCascaderSurface"], {}, {}, never, never, true, never>;
@@ -7193,6 +7423,7 @@ declare class DateInputComponent {
7193
7423
  declare class DatePickerSurfaceDirective {
7194
7424
  private host;
7195
7425
  templateRef: TemplateRef<DatePickerSurfaceContext>;
7426
+ private readonly hostElement;
7196
7427
  constructor();
7197
7428
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatePickerSurfaceDirective, never>;
7198
7429
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DatePickerSurfaceDirective, "ng-template[etDatePickerSurface]", ["etDatePickerSurface"], {}, {}, never, never, true, never>;
@@ -7240,6 +7471,8 @@ declare class DateRangeInputDirective implements FormValueControl<DateRangeValue
7240
7471
  private dateTimeLabels;
7241
7472
  private formFieldLabels;
7242
7473
  private formField;
7474
+ /** Only present under a signal-forms `[field]` binding - unset in manual `[value]`/`[errors]` use. */
7475
+ private ngFormField;
7243
7476
  private destroyRef;
7244
7477
  private document;
7245
7478
  private defaultValueFormat;
@@ -7352,6 +7585,15 @@ declare class DateRangeInputDirective implements FormValueControl<DateRangeValue
7352
7585
  labelId: Signal<string | null>;
7353
7586
  /** The `[etInputMask]` pattern derived from the format in effect - `null` while `mask` is off or the format is refused. */
7354
7587
  maskPattern: Signal<string | null>;
7588
+ /**
7589
+ * `errors` is the `FormValueControl` input signal-forms writes the range field's *own* errors
7590
+ * into (e.g. a whole-range `customError`) - it never carries a descendant's, because a `Field`
7591
+ * directive only ever binds a control's own errors, not its children's (`schema.start.required()`
7592
+ * lands on the `start` subfield, not here). What the form field renders is a separate view that
7593
+ * prefers the bound field's `errorSummary` (own + descendants) and falls back to `errors` for
7594
+ * manual, schema-less use.
7595
+ */
7596
+ private formFieldControlView;
7355
7597
  private overlay;
7356
7598
  constructor();
7357
7599
  inputText(side: DateRangeSide): string;
@@ -7959,10 +8201,15 @@ type DropzoneUploadHandleOptions = {
7959
8201
  file: File;
7960
8202
  injector: Injector;
7961
8203
  };
8204
+ /** @internal Options passed to a config's `executeDelete`. */
8205
+ type DropzoneDeleteOptions<TValue> = {
8206
+ value: TValue;
8207
+ injector: Injector;
8208
+ };
7962
8209
  /**
7963
8210
  * The resolved upload config the dropzone directive consumes. Both `createDropzoneUpload` (new
7964
8211
  * query) and `createV2DropzoneUpload` (legacy v2) produce this shape - the query flavor lives
7965
- * entirely inside `createUploadHandle`.
8212
+ * entirely inside `createUploadHandle` / `executeDelete`.
7966
8213
  */
7967
8214
  type ResolvedDropzoneUploadConfig<TValue = unknown> = {
7968
8215
  /**
@@ -7980,10 +8227,29 @@ type ResolvedDropzoneUploadConfig<TValue = unknown> = {
7980
8227
  resolveExisting?: (value: TValue) => DropzoneExistingFileInfo;
7981
8228
  /** @internal Creates a per-file upload handle. Set by `createDropzoneUpload` / `createV2DropzoneUpload`. */
7982
8229
  createUploadHandle: (options: DropzoneUploadHandleOptions) => DropzoneUploadHandle<TValue>;
8230
+ /**
8231
+ * @internal Fires the delete request for an already-persisted value being removed. Unset when
8232
+ * the upload config was created without a `delete` option. Resolves with the request error, or
8233
+ * `null` on success.
8234
+ */
8235
+ executeDelete?: (options: DropzoneDeleteOptions<TValue>) => Promise<DropzoneUploadError | null>;
7983
8236
  };
7984
8237
  type AnyDropzoneUploadConfig<TValue = unknown> = ResolvedDropzoneUploadConfig<TValue>;
8238
+ /**
8239
+ * The authoring config for a delete request run when an already-persisted entry (a successful
8240
+ * upload or an existing value) is removed - e.g. a `DELETE` route that cleans up the uploaded
8241
+ * file server-side. Nest it under `DropzoneUploadConfig.delete` / `V2DropzoneUploadConfig.delete`.
8242
+ * Removing a still-uploading entry only cancels its upload; nothing was persisted yet, so no
8243
+ * delete request is made.
8244
+ */
8245
+ type DropzoneDeleteConfig<TArgs extends QueryArgs, TValue> = {
8246
+ /** The query creator used to delete one value (e.g. a `DELETE /media/:id` route). */
8247
+ queryCreator: QueryCreator<TArgs>;
8248
+ /** Builds the request args to delete one value, e.g. `(id) => ({ pathParams: { id } })`. */
8249
+ createArgs: (value: TValue) => RequestArgs<TArgs>;
8250
+ };
7985
8251
  /** The authoring config for `createDropzoneUpload` (new `@ethlete/query` API). */
7986
- type DropzoneUploadConfig<TArgs extends QueryArgs = QueryArgs, TValue = unknown> = {
8252
+ type DropzoneUploadConfig<TArgs extends QueryArgs = QueryArgs, TValue = unknown, TDeleteArgs extends QueryArgs = QueryArgs> = {
7987
8253
  /**
7988
8254
  * The query creator used to upload a single file (e.g. a POST multipart route).
7989
8255
  *
@@ -8014,14 +8280,26 @@ type DropzoneUploadConfig<TArgs extends QueryArgs = QueryArgs, TValue = unknown>
8014
8280
  * Required as soon as the form control can start with a non-empty value.
8015
8281
  */
8016
8282
  resolveExisting?: (value: TValue) => DropzoneExistingFileInfo;
8283
+ /**
8284
+ * Run when an already-persisted entry (a successful upload or an existing value) is removed.
8285
+ * Absent: removing an entry only updates the control locally, with no server-side cleanup.
8286
+ */
8287
+ delete?: DropzoneDeleteConfig<TDeleteArgs, TValue>;
8017
8288
  };
8018
8289
  /** The args accepted by a legacy v2 creator's `prepare()` - includes `mock`/`config` extras. */
8019
8290
  type V2DropzonePrepareArgsOf<TCreator extends AnyV2QueryCreator | AnyLegacyQueryCreator> = Parameters<TCreator['prepare']>[0];
8291
+ /** The legacy `V2QueryClient` counterpart of `DropzoneDeleteConfig` - see there for behavior. */
8292
+ type V2DropzoneDeleteConfig<TCreator extends AnyV2QueryCreator | AnyLegacyQueryCreator, TValue> = {
8293
+ /** The legacy query creator used to delete one value (from `V2QueryClient`'s `delete`). */
8294
+ queryCreator: TCreator;
8295
+ /** Builds the `prepare()` args to delete one value, e.g. `(id) => ({ pathParams: { id } })`. */
8296
+ createArgs: (value: TValue) => V2DropzonePrepareArgsOf<TCreator>;
8297
+ };
8020
8298
  /**
8021
8299
  * The authoring config for `createV2DropzoneUpload` - the legacy `V2QueryClient` counterpart of
8022
8300
  * `DropzoneUploadConfig`, for apps that haven't migrated to the new `@ethlete/query` API yet.
8023
8301
  */
8024
- type V2DropzoneUploadConfig<TCreator extends AnyV2QueryCreator | AnyLegacyQueryCreator, TValue> = {
8302
+ type V2DropzoneUploadConfig<TCreator extends AnyV2QueryCreator | AnyLegacyQueryCreator, TValue, TDeleteCreator extends AnyV2QueryCreator | AnyLegacyQueryCreator = TCreator> = {
8025
8303
  /**
8026
8304
  * The legacy query creator used to upload a single file (from `V2QueryClient`'s `post`/`put`,
8027
8305
  * or a `createLegacyQueryCreator` interop wrapper). A fresh query is prepared and executed per
@@ -8053,6 +8331,11 @@ type V2DropzoneUploadConfig<TCreator extends AnyV2QueryCreator | AnyLegacyQueryC
8053
8331
  * Required as soon as the form control can start with a non-empty value.
8054
8332
  */
8055
8333
  resolveExisting?: (value: TValue) => DropzoneExistingFileInfo;
8334
+ /**
8335
+ * Run when an already-persisted entry (a successful upload or an existing value) is removed.
8336
+ * Absent: removing an entry only updates the control locally, with no server-side cleanup.
8337
+ */
8338
+ delete?: V2DropzoneDeleteConfig<TDeleteCreator, TValue>;
8056
8339
  };
8057
8340
  declare const createDefaultDropzoneArgs: (file: File) => RequestArgs<QueryArgs>;
8058
8341
  /**
@@ -8061,7 +8344,7 @@ declare const createDefaultDropzoneArgs: (file: File) => RequestArgs<QueryArgs>;
8061
8344
  *
8062
8345
  * For apps still on the legacy `V2QueryClient`, use {@link createV2DropzoneUpload} instead.
8063
8346
  */
8064
- declare const createDropzoneUpload: <TArgs extends QueryArgs, TValue>(config: DropzoneUploadConfig<TArgs, TValue>) => AnyDropzoneUploadConfig<TValue>;
8347
+ declare const createDropzoneUpload: <TArgs extends QueryArgs, TValue, TDeleteArgs extends QueryArgs = QueryArgs>(config: DropzoneUploadConfig<TArgs, TValue, TDeleteArgs>) => AnyDropzoneUploadConfig<TValue>;
8065
8348
  /**
8066
8349
  * The legacy `V2QueryClient` counterpart of {@link createDropzoneUpload}. Builds a dropzone upload
8067
8350
  * config from a legacy v2 query creator (or a `createLegacyQueryCreator` interop wrapper), so apps
@@ -8075,7 +8358,7 @@ declare const createDropzoneUpload: <TArgs extends QueryArgs, TValue>(config: Dr
8075
8358
  * });
8076
8359
  * ```
8077
8360
  */
8078
- declare const createV2DropzoneUpload: <TCreator extends AnyV2QueryCreator | AnyLegacyQueryCreator, TValue>(config: V2DropzoneUploadConfig<TCreator, TValue>) => AnyDropzoneUploadConfig<TValue>;
8361
+ declare const createV2DropzoneUpload: <TCreator extends AnyV2QueryCreator | AnyLegacyQueryCreator, TValue, TDeleteCreator extends AnyV2QueryCreator | AnyLegacyQueryCreator = TCreator>(config: V2DropzoneUploadConfig<TCreator, TValue, TDeleteCreator>) => AnyDropzoneUploadConfig<TValue>;
8079
8362
 
8080
8363
  declare const DROPZONE_ENTRY_STATUSES: {
8081
8364
  readonly UPLOADING: "uploading";
@@ -8196,6 +8479,7 @@ declare class DropzoneDirective<TValue = unknown> implements FormValueControl<TV
8196
8479
  private signalFormField;
8197
8480
  private destroyRef;
8198
8481
  private injector;
8482
+ private readonly hostElement;
8199
8483
  value: _angular_core.ModelSignal<TValue | TValue[] | null>;
8200
8484
  touched: _angular_core.ModelSignal<boolean>;
8201
8485
  disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
@@ -8213,6 +8497,17 @@ declare class DropzoneDirective<TValue = unknown> implements FormValueControl<TV
8213
8497
  uploadSucceed: _angular_core.OutputEmitterRef<DropzoneEntry<TValue>>;
8214
8498
  /** Emits when the upload of an entry failed. */
8215
8499
  uploadFail: _angular_core.OutputEmitterRef<DropzoneEntry<TValue>>;
8500
+ /**
8501
+ * Emits when the delete request for a removed entry's persisted value succeeded. Only fires for
8502
+ * entries removed while the upload config has a `delete` option and the entry was already
8503
+ * persisted (a successful upload or an existing value).
8504
+ */
8505
+ deleteSucceed: _angular_core.OutputEmitterRef<TValue>;
8506
+ /** Emits when that delete request failed. The entry is already gone from `entries()` by then. */
8507
+ deleteFail: _angular_core.OutputEmitterRef<{
8508
+ value: TValue;
8509
+ error: DropzoneUploadError;
8510
+ }>;
8216
8511
  private internalEntries;
8217
8512
  private internalLastRejections;
8218
8513
  private dragDepth;
@@ -8258,10 +8553,11 @@ declare class DropzoneDirective<TValue = unknown> implements FormValueControl<TV
8258
8553
  private setRejections;
8259
8554
  private createFileEntry;
8260
8555
  private disposeEntry;
8556
+ private executeDelete;
8261
8557
  private syncValue;
8262
8558
  private reconcileValue;
8263
8559
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DropzoneDirective<any>, never>;
8264
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DropzoneDirective<any>, "[etDropzone]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "upload": { "alias": "upload"; "required": true; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touched": "touchedChange"; "filesReject": "filesReject"; "uploadSucceed": "uploadSucceed"; "uploadFail": "uploadFail"; }, never, never, true, never>;
8560
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DropzoneDirective<any>, "[etDropzone]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "errors": { "alias": "errors"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "upload": { "alias": "upload"; "required": true; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "touched": "touchedChange"; "filesReject": "filesReject"; "uploadSucceed": "uploadSucceed"; "uploadFail": "uploadFail"; "deleteSucceed": "deleteSucceed"; "deleteFail": "deleteFail"; }, never, never, true, never>;
8265
8561
  }
8266
8562
 
8267
8563
  declare class DropzoneComponent {
@@ -8336,7 +8632,7 @@ declare class DropzoneComponent {
8336
8632
  protected removeEntryAnimated(entry: DropzoneEntry, entryElement: HTMLElement): void;
8337
8633
  private defaultUploadErrorMessage;
8338
8634
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<DropzoneComponent, never>;
8339
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<DropzoneComponent, "et-dropzone", never, { "retryLabel": { "alias": "retryLabel"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; "replaceLabel": { "alias": "replaceLabel"; "required": false; "isSignal": true; }; "uploadErrorLabel": { "alias": "uploadErrorLabel"; "required": false; "isSignal": true; }; "uploadErrorMessage": { "alias": "uploadErrorMessage"; "required": false; "isSignal": true; }; }, {}, never, ["et-label", "*", "et-hint"], true, [{ directive: typeof FormFieldDirective; inputs: {}; outputs: {}; }, { directive: typeof DropzoneDirective; inputs: { "value": "value"; "touched": "touched"; "disabled": "disabled"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; "upload": "upload"; "multiple": "multiple"; }; outputs: { "valueChange": "valueChange"; "touchedChange": "touchedChange"; "filesReject": "filesReject"; "uploadSucceed": "uploadSucceed"; "uploadFail": "uploadFail"; }; }, { directive: typeof _ethlete_core.ProvideColorDirective; inputs: { "etProvideColor": "color"; }; outputs: {}; }]>;
8635
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DropzoneComponent, "et-dropzone", never, { "retryLabel": { "alias": "retryLabel"; "required": false; "isSignal": true; }; "removeLabel": { "alias": "removeLabel"; "required": false; "isSignal": true; }; "replaceLabel": { "alias": "replaceLabel"; "required": false; "isSignal": true; }; "uploadErrorLabel": { "alias": "uploadErrorLabel"; "required": false; "isSignal": true; }; "uploadErrorMessage": { "alias": "uploadErrorMessage"; "required": false; "isSignal": true; }; }, {}, never, ["et-label", "*", "et-hint"], true, [{ directive: typeof FormFieldDirective; inputs: {}; outputs: {}; }, { directive: typeof DropzoneDirective; inputs: { "value": "value"; "touched": "touched"; "disabled": "disabled"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; "upload": "upload"; "multiple": "multiple"; }; outputs: { "valueChange": "valueChange"; "touchedChange": "touchedChange"; "filesReject": "filesReject"; "uploadSucceed": "uploadSucceed"; "uploadFail": "uploadFail"; "deleteSucceed": "deleteSucceed"; "deleteFail": "deleteFail"; }; }, { directive: typeof _ethlete_core.ProvideColorDirective; inputs: { "etProvideColor": "color"; }; outputs: {}; }]>;
8340
8636
  }
8341
8637
 
8342
8638
  declare const DROPZONE_IMPORTS: readonly [typeof DropzoneComponent, typeof DropzoneDirective];
@@ -8787,6 +9083,7 @@ type MaskValueMode = (typeof MASK_VALUE_MODES)[keyof typeof MASK_VALUE_MODES];
8787
9083
  */
8788
9084
  declare class InputMaskDirective {
8789
9085
  private host;
9086
+ private readonly hostElement;
8790
9087
  /**
8791
9088
  * The mask: a pattern string (`0` digit, `9` optional digit, `a` letter, `*`
8792
9089
  * alphanumeric, `\` escapes, anything else literal) or a `MaskSpec` object
@@ -10395,6 +10692,7 @@ declare class MenuSurfaceDirective {
10395
10692
  private menu;
10396
10693
  templateRef: TemplateRef<MenuSurfaceContext>;
10397
10694
  private destroyRef;
10695
+ private readonly hostElement;
10398
10696
  constructor();
10399
10697
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuSurfaceDirective, never>;
10400
10698
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuSurfaceDirective, "ng-template[etMenuSurface]", ["etMenuSurface"], {}, {}, never, never, true, never>;
@@ -10429,6 +10727,7 @@ declare class MenuDirective {
10429
10727
  private destroyRef;
10430
10728
  private document;
10431
10729
  private overlayManager;
10730
+ private readonly hostElement;
10432
10731
  parent: MenuDirective | null;
10433
10732
  placement: _angular_core.InputSignal<"auto" | Placement>;
10434
10733
  fallbackPlacements: _angular_core.InputSignal<Placement[] | undefined>;
@@ -10537,6 +10836,12 @@ declare class MenuDirective {
10537
10836
  private buildVirtualAnchoredPosition;
10538
10837
  private resolvedPlacement;
10539
10838
  private resolvedFallbackPlacements;
10839
+ /**
10840
+ * `minAvailableSpace` replaces `flip` outright, so it may only kick in where no consumer has
10841
+ * expressed a placement preference of their own. It is also vertical-only: a submenu opens on the
10842
+ * x axis, where shrinking to the space beside the parent means a narrower - not a shorter - panel.
10843
+ */
10844
+ private resolvedMinAvailableSpace;
10540
10845
  private resolvedArrow;
10541
10846
  private resolvedOffset;
10542
10847
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuDirective, never>;
@@ -10736,7 +11041,7 @@ declare class MenuComponent {
10736
11041
  protected menu: MenuDirective | null;
10737
11042
  protected errorColorTheme: _ethlete_core.ColorTheme;
10738
11043
  private headerElement;
10739
- private bodyElement;
11044
+ private bodyContentElement;
10740
11045
  protected search: _angular_core.Signal<_ethlete_components.MenuSearchDirective | null>;
10741
11046
  protected searchLoading: _angular_core.Signal<boolean>;
10742
11047
  protected searchError: _angular_core.Signal<string | null>;
@@ -10903,7 +11208,6 @@ declare class RichTextEditorComponent {
10903
11208
  * shows its static toolbar only and the overlay runtime never ships. */
10904
11209
  private floatingToolbarSetup;
10905
11210
  protected editable: _angular_core.Signal<ElementRef<HTMLElement>>;
10906
- protected toolbar: _angular_core.Signal<ElementRef<HTMLElement>>;
10907
11211
  protected readonly TOOLS: {
10908
11212
  readonly UNDO: "undo";
10909
11213
  readonly REDO: "redo";
@@ -10932,21 +11236,10 @@ declare class RichTextEditorComponent {
10932
11236
  private blurGraceTimer;
10933
11237
  /** Dock the toolbar above the keyboard only on touch while editing. */
10934
11238
  protected dockedToolbar: _angular_core.Signal<boolean>;
10935
- /** The toolbar button currently holding the single roving tab stop (ARIA toolbar pattern). */
10936
- private toolbarTabStop;
10937
11239
  constructor();
10938
11240
  /** A tool button's accessible name, from the label set where this library owns the tool. */
10939
11241
  protected toolLabel(tool: RichTextEditorToolDefinition): string;
10940
11242
  protected syncValueFromDom(): void;
10941
- /**
10942
- * The toolbar is a single tab stop (ARIA toolbar pattern): Tab enters on one button, the arrow
10943
- * keys move focus between the buttons, and the next Tab leaves the toolbar. Menu surfaces render
10944
- * into an overlay, so every `button` inside the toolbar element is a toolbar control - including
10945
- * the custom tool controls (`ngComponentOutlet`), which template bindings couldn't reach.
10946
- */
10947
- protected handleToolbarKeydown(event: KeyboardEvent): void;
10948
- /** The last focused button keeps the tab stop, so Shift+Tab back re-enters where the user left. */
10949
- protected handleToolbarFocusIn(event: FocusEvent): void;
10950
11243
  protected interceptEditorKeydown(event: KeyboardEvent): void;
10951
11244
  protected interceptPaste(event: ClipboardEvent): void;
10952
11245
  /**
@@ -10958,8 +11251,6 @@ declare class RichTextEditorComponent {
10958
11251
  /** Lets a tool act on the content it owns - clicking an image opens the image tool's popover. */
10959
11252
  protected interceptClick(event: MouseEvent): void;
10960
11253
  protected interceptFormattingCommand(event: InputEvent): void;
10961
- private toolbarButtons;
10962
- private updateToolbarTabStops;
10963
11254
  /** Track the visual viewport so the docked (fixed) toolbar sits right above the on-screen
10964
11255
  * keyboard: the inset is the gap from where `position: fixed; bottom: 0` actually renders (a
10965
11256
  * measured probe - see below) down past the keyboard's top edge
@@ -11513,9 +11804,9 @@ type SelectSelectedEntry = {
11513
11804
  item: SelectItem | null;
11514
11805
  };
11515
11806
 
11516
- type SelectOptionTemplateContext = {
11807
+ type SelectOptionTemplateContext<TOption extends SelectOptionData = SelectOptionData> = {
11517
11808
  /** The option's source entry from the `options` input - extra fields included. */
11518
- $implicit: SelectOptionData;
11809
+ $implicit: TOption;
11519
11810
  item: SelectItem;
11520
11811
  };
11521
11812
  /**
@@ -11523,14 +11814,22 @@ type SelectOptionTemplateContext = {
11523
11814
  * present, `et-select` renders this template as each option's label content instead of the
11524
11815
  * plain label text. Only applies to data-driven rows - projected `et-select-option`s carry
11525
11816
  * their own content.
11817
+ *
11818
+ * `let-option`'s type widens to the base `SelectOptionData` unless this directive's own
11819
+ * `[options]` is also bound to the same array passed to the select's `[options]` - e.g.
11820
+ * `<ng-template etSelectOptionTemplate [options]="managers()" let-option>` - which carries the
11821
+ * array's element type into the template context, extra fields included.
11526
11822
  */
11527
- declare class SelectOptionTemplateDirective {
11823
+ declare class SelectOptionTemplateDirective<TOption extends SelectOptionData = SelectOptionData> {
11824
+ private readonly hostElement;
11528
11825
  private select;
11529
- templateRef: TemplateRef<SelectOptionTemplateContext>;
11826
+ templateRef: TemplateRef<SelectOptionTemplateContext<TOption>>;
11827
+ /** Type witness only, to type `let-option` - bind the same array passed to the select's `[options]`. Never read. */
11828
+ options: _angular_core.InputSignal<readonly TOption[] | undefined>;
11530
11829
  constructor();
11531
- static ngTemplateContextGuard(_directive: SelectOptionTemplateDirective, _context: unknown): _context is SelectOptionTemplateContext;
11532
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectOptionTemplateDirective, never>;
11533
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SelectOptionTemplateDirective, "ng-template[etSelectOptionTemplate]", ["etSelectOptionTemplate"], {}, {}, never, never, true, never>;
11830
+ static ngTemplateContextGuard<TOption extends SelectOptionData>(_directive: SelectOptionTemplateDirective<TOption>, _context: unknown): _context is SelectOptionTemplateContext<TOption>;
11831
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectOptionTemplateDirective<any>, never>;
11832
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SelectOptionTemplateDirective<any>, "ng-template[etSelectOptionTemplate]", ["etSelectOptionTemplate"], { "options": { "alias": "options"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
11534
11833
  }
11535
11834
 
11536
11835
  /**
@@ -11573,6 +11872,7 @@ declare class SelectSearchDirective {
11573
11872
 
11574
11873
  /** Replaces the default loading row rendered while the select's `loading` input is true. */
11575
11874
  declare class SelectLoadingDirective {
11875
+ private readonly hostElement;
11576
11876
  private select;
11577
11877
  templateRef: TemplateRef<unknown>;
11578
11878
  constructor();
@@ -11584,6 +11884,7 @@ type SelectErrorContext = {
11584
11884
  };
11585
11885
  /** Replaces the default error row rendered while the select's `error` input is set. Context: the error text. */
11586
11886
  declare class SelectErrorDirective {
11887
+ private readonly hostElement;
11587
11888
  private select;
11588
11889
  templateRef: TemplateRef<SelectErrorContext>;
11589
11890
  constructor();
@@ -11592,6 +11893,7 @@ declare class SelectErrorDirective {
11592
11893
  }
11593
11894
  /** Replaces the default empty row rendered when no options are visible. */
11594
11895
  declare class SelectEmptyDirective {
11896
+ private readonly hostElement;
11595
11897
  private select;
11596
11898
  templateRef: TemplateRef<unknown>;
11597
11899
  constructor();
@@ -11605,6 +11907,7 @@ type SelectSurfaceContext = {
11605
11907
  close: () => void;
11606
11908
  };
11607
11909
  declare class SelectSurfaceDirective {
11910
+ private readonly hostElement;
11608
11911
  private select;
11609
11912
  templateRef: TemplateRef<SelectSurfaceContext>;
11610
11913
  constructor();
@@ -11649,6 +11952,7 @@ type SelectValueContext = {
11649
11952
  * selected items as context.
11650
11953
  */
11651
11954
  declare class SelectValueDirective {
11955
+ private readonly hostElement;
11652
11956
  private select;
11653
11957
  templateRef: TemplateRef<SelectValueContext>;
11654
11958
  constructor();
@@ -11694,6 +11998,7 @@ declare class SelectDirective implements FormValueControl<unknown>, FormFieldCon
11694
11998
  private formField;
11695
11999
  private destroyRef;
11696
12000
  private document;
12001
+ private readonly hostElement;
11697
12002
  value: _angular_core.ModelSignal<unknown>;
11698
12003
  /** View state for a field whose source values disagree. The raw form value stays untouched. */
11699
12004
  mixed: _angular_core.ModelSignal<boolean>;
@@ -11818,7 +12123,7 @@ declare class SelectDirective implements FormValueControl<unknown>, FormFieldCon
11818
12123
  /** @internal */
11819
12124
  registeredEmptyTemplate: WritableSignal<SelectEmptyDirective | null>;
11820
12125
  /** @internal */
11821
- registeredOptionTemplate: WritableSignal<SelectOptionTemplateDirective | null>;
12126
+ registeredOptionTemplate: WritableSignal<SelectOptionTemplateDirective<SelectOptionData> | null>;
11822
12127
  /** @internal The scrollable viewport that data-driven rendering windows against. */
11823
12128
  registeredViewport: WritableSignal<SelectViewportDirective | null>;
11824
12129
  /** @internal The option that holds virtual focus while the listbox is open. */
@@ -11977,6 +12282,7 @@ type SelectOptionGroupItem = {
11977
12282
  * all of its options are filtered out.
11978
12283
  */
11979
12284
  declare class SelectOptionGroupDirective {
12285
+ private readonly hostElement;
11980
12286
  private select;
11981
12287
  /** The group's accessible name - also the default header text in `et-select-option-group`. */
11982
12288
  label: _angular_core.InputSignal<string>;
@@ -12157,6 +12463,7 @@ declare const selectOptionsFromQuery: <TCreator extends AnyQueryCreator, TOption
12157
12463
  * the legacy `V2QueryClient` alike.
12158
12464
  */
12159
12465
  declare class SelectOptionsDirective implements OnInit {
12466
+ private readonly hostElement;
12160
12467
  private select;
12161
12468
  private destroyRef;
12162
12469
  /** The bundle from `selectOptionsFromQuery` / `selectOptionsFromV2Query`. */
@@ -12802,6 +13109,7 @@ declare class RangeSliderDirective implements FormValueControl<RangeSliderValue>
12802
13109
  private formFieldLabels;
12803
13110
  private formField;
12804
13111
  private destroyRef;
13112
+ private readonly hostElement;
12805
13113
  value: _angular_core.ModelSignal<RangeSliderValue>;
12806
13114
  /** View state for a field whose source values disagree. The raw form value stays untouched. */
12807
13115
  mixed: _angular_core.ModelSignal<boolean>;
@@ -12875,6 +13183,7 @@ declare class RangeSliderDirective implements FormValueControl<RangeSliderValue>
12875
13183
  declare class SliderThumbLabelDirective implements SliderThumbLabelBase {
12876
13184
  private slider;
12877
13185
  templateRef: TemplateRef<SliderThumbLabelContext>;
13186
+ private readonly hostElement;
12878
13187
  constructor();
12879
13188
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<SliderThumbLabelDirective, never>;
12880
13189
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SliderThumbLabelDirective, "ng-template[etSliderThumbLabel]", ["etSliderThumbLabel"], {}, {}, never, never, true, never>;
@@ -12929,6 +13238,7 @@ declare class SliderDirective implements FormValueControl<number>, FormFieldCont
12929
13238
  private formFieldLabels;
12930
13239
  private formField;
12931
13240
  private destroyRef;
13241
+ private readonly hostElement;
12932
13242
  value: _angular_core.ModelSignal<number>;
12933
13243
  /** View state for a field whose source values disagree. The raw form value stays untouched. */
12934
13244
  mixed: _angular_core.ModelSignal<boolean>;
@@ -13754,6 +14064,7 @@ declare class GridResizeDirective {
13754
14064
  private gridItem;
13755
14065
  private destroyRef;
13756
14066
  private document;
14067
+ private readonly hostElement;
13757
14068
  isResizing: _angular_core.WritableSignal<boolean>;
13758
14069
  resizeEdges: _angular_core.Signal<ResizeEdge[]>;
13759
14070
  private start;
@@ -14006,7 +14317,7 @@ declare const provideIcons: (...icons: IconDefinition[]) => {
14006
14317
  * Keep this in sync when adding or removing a built-in `et-*` icon under
14007
14318
  * `libs/components/src/lib/icon/headless/`.
14008
14319
  */
14009
- declare const ET_BUILT_IN_ICON_NAMES: readonly ["et-align-center", "et-align-justify", "et-align-left", "et-align-right", "et-arrow-out-up-right", "et-arrow-right", "et-arrow-up", "et-arrows-left-right", "et-bold", "et-calendar", "et-check", "et-chevron", "et-circle-check", "et-circle-info", "et-clipboard-check", "et-clock", "et-code", "et-code-block", "et-ellipsis", "et-ellipsis-vertical", "et-eye", "et-eye-slash", "et-file", "et-filter", "et-floppy-disk", "et-focus-frame", "et-grid-2x2", "et-heading-1", "et-heading-2", "et-heading-3", "et-image", "et-italic", "et-link", "et-list-bulleted", "et-list-numbered", "et-lock", "et-minus", "et-paragraph", "et-pause", "et-pencil", "et-play", "et-plus", "et-quote", "et-redo", "et-rotate-right", "et-star", "et-strikethrough", "et-table", "et-times", "et-triangle-exclamation", "et-trophy", "et-underline", "et-undo", "et-upload"];
14320
+ declare const ET_BUILT_IN_ICON_NAMES: readonly ["et-align-center", "et-align-justify", "et-align-left", "et-align-right", "et-arrow-out-up-right", "et-arrow-right", "et-arrow-up", "et-arrows-left-right", "et-bold", "et-calendar", "et-check", "et-chevron", "et-circle-check", "et-circle-info", "et-clipboard-check", "et-clock", "et-code", "et-code-block", "et-ellipsis", "et-ellipsis-vertical", "et-eye", "et-eye-slash", "et-file", "et-filter", "et-floppy-disk", "et-focus-frame", "et-grid-2x2", "et-heading-1", "et-heading-2", "et-heading-3", "et-image", "et-italic", "et-link", "et-list-bulleted", "et-list-numbered", "et-location", "et-lock", "et-minus", "et-paragraph", "et-pause", "et-pencil", "et-play", "et-plus", "et-quote", "et-redo", "et-rotate-right", "et-star", "et-strikethrough", "et-table", "et-times", "et-trash", "et-triangle-exclamation", "et-trophy", "et-underline", "et-undo", "et-upload"];
14010
14321
  /** Union of the SDK's built-in icon names - see {@link ET_BUILT_IN_ICON_NAMES}. */
14011
14322
  type EtBuiltInIconName = (typeof ET_BUILT_IN_ICON_NAMES)[number];
14012
14323
  /**
@@ -14161,6 +14472,8 @@ declare const LIST_BULLETED_ICON: IconDefinition;
14161
14472
 
14162
14473
  declare const LIST_NUMBERED_ICON: IconDefinition;
14163
14474
 
14475
+ declare const LOCATION_ICON: IconDefinition;
14476
+
14164
14477
  declare const LOCK_ICON: IconDefinition;
14165
14478
 
14166
14479
  declare const MINUS_ICON: IconDefinition;
@@ -14187,6 +14500,8 @@ declare const TABLE_ICON: IconDefinition;
14187
14500
 
14188
14501
  declare const TIMES_ICON: IconDefinition;
14189
14502
 
14503
+ declare const TRASH_ICON: IconDefinition;
14504
+
14190
14505
  declare const TRIANGLE_EXCLAMATION_ICON: IconDefinition;
14191
14506
 
14192
14507
  declare const TROPHY_ICON: IconDefinition;
@@ -14375,9 +14690,9 @@ type MasonryPacking = {
14375
14690
  *
14376
14691
  * It measures and positions, because CSS still can't: native masonry (`display: grid-lanes`, CSS Grid Level
14377
14692
  * 3) is not Baseline as of this writing, and CSS `columns` fills column by column, so the reading order of a
14378
- * feed would no longer be its visual order. See `plans/cdk-port/07-masonry.md` for the full verdict. Items
14379
- * are therefore absolutely positioned from their measured sizes, which keeps DOM order and reading order the
14380
- * same and means a reflow never relayouts the page around it.
14693
+ * feed would no longer be its visual order. Items are therefore absolutely positioned from their measured
14694
+ * sizes, which keeps DOM order and reading order the same and means a reflow never relayouts the page
14695
+ * around it.
14381
14696
  *
14382
14697
  * The measuring is per item and continuous (a `ResizeObserver` each), so a card whose image loads late, or
14383
14698
  * whose text reflows, moves the ones below it - the one thing cdk's one-shot `getBoundingClientRect()`
@@ -14600,6 +14915,7 @@ declare const injectNotificationManagerConfig: _ethlete_core.InjectFn<Notificati
14600
14915
 
14601
14916
  declare class NotificationActionDirective {
14602
14917
  private notification;
14918
+ private readonly hostElement;
14603
14919
  /** Which action this element runs - `etNotificationAction="secondary"` for the quieter one. */
14604
14920
  actionSlot: _angular_core.InputSignalWithTransform<NotificationActionSlot, "" | NotificationActionSlot>;
14605
14921
  action: _angular_core.Signal<_ethlete_components.NotificationAction | undefined>;
@@ -14611,6 +14927,7 @@ declare class NotificationActionDirective {
14611
14927
 
14612
14928
  declare class NotificationDismissDirective {
14613
14929
  private notification;
14930
+ private readonly hostElement;
14614
14931
  constructor();
14615
14932
  dismiss(): void;
14616
14933
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationDismissDirective, never>;
@@ -14747,7 +15064,7 @@ declare class NotificationDirective {
14747
15064
  progress: _angular_core.Signal<number | undefined>;
14748
15065
  /** The notification's own icon override - `undefined` leaves the icon to its status, `null` means none. */
14749
15066
  icon: _angular_core.Signal<string | null | undefined>;
14750
- ariaRole: _angular_core.Signal<"status" | "alert">;
15067
+ ariaRole: _angular_core.Signal<"alert" | "status">;
14751
15068
  /** @internal Every action element inside this notification - one per slot at most, in registration order. */
14752
15069
  registeredActions: _angular_core.WritableSignal<NotificationActionDirective[]>;
14753
15070
  /** @internal */
@@ -15576,6 +15893,13 @@ type AnchoredOverlayStrategyOptions = {
15576
15893
  viewportPadding?: Padding | null;
15577
15894
  shift?: boolean | OverlayRuntimeShiftOptions;
15578
15895
  autoResize?: boolean;
15896
+ /**
15897
+ * Minimum space (px) the placement's own side must offer before the pane moves to the opposite one.
15898
+ * Keeps a scrollable pane below its field with a shorter list rather than flipping it above, and -
15899
+ * unlike `fallbackPlacements` - is never re-decided by the pane's content changing while it is
15900
+ * open. Requires `autoResize`; replaces `fallbackPlacements`.
15901
+ */
15902
+ minAvailableSpace?: number;
15579
15903
  autoHide?: boolean;
15580
15904
  autoCloseIfReferenceHidden?: boolean;
15581
15905
  mirrorWidth?: boolean;
@@ -15590,7 +15914,7 @@ type CenteredOverlayStrategyOptions = {
15590
15914
  minWidth?: number | string;
15591
15915
  minHeight?: number | string;
15592
15916
  };
15593
- type AnchoredPositionOptions = Pick<AnchoredOverlayStrategyOptions, 'placement' | 'fallbackPlacements' | 'offset' | 'arrowPadding' | 'viewportPadding' | 'shift' | 'autoResize' | 'autoHide' | 'autoCloseIfReferenceHidden' | 'mirrorWidth'>;
15917
+ type AnchoredPositionOptions = Pick<AnchoredOverlayStrategyOptions, 'placement' | 'fallbackPlacements' | 'offset' | 'arrowPadding' | 'viewportPadding' | 'shift' | 'autoResize' | 'minAvailableSpace' | 'autoHide' | 'autoCloseIfReferenceHidden' | 'mirrorWidth'>;
15594
15918
  declare const buildAnchoredRuntimePositionStrategy: (options?: AnchoredPositionOptions) => (origin?: HTMLElement) => OverlayRuntimePositionStrategy;
15595
15919
  declare const anchoredOverlayStrategy: (options?: AnchoredOverlayStrategyOptions) => (() => OverlayStrategyBreakpoint[]);
15596
15920
  declare const centeredOverlayStrategy: (options?: CenteredOverlayStrategyOptions) => (() => OverlayStrategyBreakpoint[]);
@@ -16159,6 +16483,42 @@ declare class PaginationSeoDirective {
16159
16483
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PaginationSeoDirective, "[etPaginationSeo]", never, { "urlForPage": { "alias": "etPaginationSeo"; "required": false; "isSignal": true; }; "pageTitle": { "alias": "pageTitle"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16160
16484
  }
16161
16485
 
16486
+ declare const PROGRESS_STEP_STATES: {
16487
+ readonly COMPLETE: "complete";
16488
+ readonly CURRENT: "current";
16489
+ readonly UPCOMING: "upcoming";
16490
+ };
16491
+ type ProgressStepState = (typeof PROGRESS_STEP_STATES)[keyof typeof PROGRESS_STEP_STATES];
16492
+ /**
16493
+ * One step in an `et-progress-steps` row: a numbered marker that becomes a checkmark once
16494
+ * `complete`, plus a label. `state` is yours to set per step - nothing is derived from position, so
16495
+ * a skipped or out-of-order step is exactly as easy to render as a strictly linear one.
16496
+ */
16497
+ declare class ProgressStepComponent {
16498
+ state: _angular_core.InputSignal<ProgressStepState>;
16499
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProgressStepComponent, never>;
16500
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProgressStepComponent, "et-progress-step", never, { "state": { "alias": "state"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
16501
+ }
16502
+
16503
+ /**
16504
+ * Lays out a row of `et-progress-step`s with automatic step numbering and a connecting line
16505
+ * between them - project the steps in order, each with its own `state`.
16506
+ *
16507
+ * @example
16508
+ * <et-progress-steps>
16509
+ * <et-progress-step state="complete">Account</et-progress-step>
16510
+ * <et-progress-step state="current">Shipping</et-progress-step>
16511
+ * <et-progress-step state="upcoming">Payment</et-progress-step>
16512
+ * </et-progress-steps>
16513
+ */
16514
+ declare class ProgressStepsComponent {
16515
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProgressStepsComponent, never>;
16516
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProgressStepsComponent, "et-progress-steps", never, {}, {}, never, ["*"], true, never>;
16517
+ }
16518
+
16519
+ declare const PROGRESS_STEPS_IMPORTS: readonly [typeof ProgressStepsComponent, typeof ProgressStepComponent];
16520
+
16521
+ /** A JSON value's kind as the value explorer (and its per-node override menu) categorizes it. */
16162
16522
  type JsonKind = 'string' | 'number' | 'boolean' | 'null' | 'undefined' | 'array' | 'object';
16163
16523
  type JsonEntry = {
16164
16524
  k: string;
@@ -16170,6 +16530,7 @@ type JsonChunk = {
16170
16530
  end: number;
16171
16531
  label: string;
16172
16532
  };
16533
+ declare const kindOf: (value: unknown) => JsonKind;
16173
16534
  /**
16174
16535
  * A recursive, collapsible, searchable JSON tree used by the query devtools value explorer. Renders
16175
16536
  * the *transformed* value the app actually sees (post `transformResponse`). Self-recurses via its
@@ -16195,6 +16556,12 @@ declare class QueryDevtoolsJsonComponent {
16195
16556
  collapsedPaths: _angular_core.InputSignal<ReadonlySet<string> | null>;
16196
16557
  /** When provided, expansion is externally persisted via this callback instead of local state. */
16197
16558
  toggleFn: _angular_core.InputSignal<((path: string, expand: boolean) => void) | null>;
16559
+ /** Same node as {@link path}, but as the array-of-steps an override op targets rather than a display key. */
16560
+ jsonPath: _angular_core.InputSignal<JsonPath>;
16561
+ /** The kind of the container holding this node, so its override menu can offer "duplicate this item". */
16562
+ parentKind: _angular_core.InputSignal<JsonKind | null>;
16563
+ /** When provided, every node renders an override menu that arms/clears ops through it. */
16564
+ overrides: _angular_core.InputSignal<QueryDevtoolsOverridesRecorder | null>;
16198
16565
  protected kind: _angular_core.Signal<JsonKind>;
16199
16566
  protected isContainer: _angular_core.Signal<boolean>;
16200
16567
  /** The entries this node covers: the container's own, or just the window a chunk stands for. */
@@ -16219,6 +16586,7 @@ declare class QueryDevtoolsJsonComponent {
16219
16586
  protected valueHit: _angular_core.Signal<boolean>;
16220
16587
  constructor();
16221
16588
  protected childPath(key: string): string;
16589
+ protected childJsonPath(key: string): JsonPath;
16222
16590
  protected toggle(): void;
16223
16591
  /**
16224
16592
  * Containers copy their whole subtree as JSON, slices only the entries they cover; leaves copy
@@ -16229,7 +16597,7 @@ declare class QueryDevtoolsJsonComponent {
16229
16597
  private chunkValue;
16230
16598
  private flagCopied;
16231
16599
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<QueryDevtoolsJsonComponent, never>;
16232
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<QueryDevtoolsJsonComponent, "et-query-devtools-json", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "nodeKey": { "alias": "nodeKey"; "required": false; "isSignal": true; }; "depth": { "alias": "depth"; "required": false; "isSignal": true; }; "search": { "alias": "search"; "required": false; "isSignal": true; }; "chunk": { "alias": "chunk"; "required": false; "isSignal": true; }; "path": { "alias": "path"; "required": false; "isSignal": true; }; "expandedPaths": { "alias": "expandedPaths"; "required": false; "isSignal": true; }; "collapsedPaths": { "alias": "collapsedPaths"; "required": false; "isSignal": true; }; "toggleFn": { "alias": "toggleFn"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
16600
+ 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; }; }, {}, never, never, true, never>;
16233
16601
  }
16234
16602
 
16235
16603
  /**
@@ -16261,10 +16629,11 @@ declare class QueryDevtoolsTimelineStylesComponent {
16261
16629
  * font-size; theme accent colour is read from an inherited custom property with a fallback.
16262
16630
  */
16263
16631
  declare class QueryDevtoolsToggleComponent {
16632
+ tampered: _angular_core.InputSignal<boolean>;
16264
16633
  openChange: _angular_core.OutputEmitterRef<void>;
16265
16634
  protected shortcut: string;
16266
16635
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<QueryDevtoolsToggleComponent, never>;
16267
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<QueryDevtoolsToggleComponent, "et-query-devtools-toggle", never, {}, { "openChange": "openChange"; }, never, never, true, never>;
16636
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<QueryDevtoolsToggleComponent, "et-query-devtools-toggle", never, { "tampered": { "alias": "tampered"; "required": false; "isSignal": true; }; }, { "openChange": "openChange"; }, never, never, true, never>;
16268
16637
  }
16269
16638
 
16270
16639
  /** Whether a path exists only in the newer value, only in the older one, or in both with a new value. */
@@ -16292,8 +16661,6 @@ type DevtoolsTab = 'queries' | 'stacks' | 'sequences' | 'forms' | 'auth' | 'ws'
16292
16661
  * holds more than fits a column, and everything below the actions is reading material.
16293
16662
  */
16294
16663
  type DetailTab = 'overview' | 'history' | 'data';
16295
- /** Which edge the panel is attached to. A pop-out is not one of these - it is a window, not an edge. */
16296
- type DevtoolsDock = 'bottom' | 'right';
16297
16664
  /**
16298
16665
  * Which pane of a two-pane tab a divider drag sizes: the Queries tab's list, or the drawer every
16299
16666
  * split view opens a query in.
@@ -16301,32 +16668,9 @@ type DevtoolsDock = 'bottom' | 'right';
16301
16668
  type PaneTarget = 'list' | 'drawer';
16302
16669
  /** The axis a two-pane tab splits along: the panes sit side by side, or stack in a side dock. */
16303
16670
  type PaneAxis = 'inline' | 'block';
16304
- /** A drag in progress: either the panel's docked edge, or the divider between a two-pane tab's panes. */
16305
- type ResizeDrag = {
16306
- /** The document the pointer moves in - a popped-out panel lives in a window of its own. */
16307
- doc: Document;
16308
- } & ({
16309
- kind: 'panel';
16310
- } | {
16311
- kind: 'pane';
16312
- pane: PaneTarget;
16313
- axis: PaneAxis;
16314
- container: HTMLElement;
16315
- });
16316
16671
  type QueryStatus = 'idle' | 'loading' | 'success' | 'error';
16317
16672
  /** A live-state facet the Queries list can be narrowed to. */
16318
16673
  type QueryListFacet = 'error' | 'loading' | 'stale' | 'idle';
16319
- /**
16320
- * What a tab holds, as its badge reports it: how many entries, and how many of them are failing.
16321
- * `errorNoun` renames what the red badge counts for a tab where it is not a failure.
16322
- */
16323
- type TabBadge = {
16324
- count: number;
16325
- errors: number;
16326
- errorNoun?: string;
16327
- };
16328
- /** The fault fields the panel arms from a number input, as opposed to the status it picks from a list. */
16329
- type NumericFaultField = 'latencyMs' | 'failNext' | 'failRate';
16330
16674
  /**
16331
16675
  * A chunk of a route as rendered: literal path text, a path param (`name` is the param it fills in) or
16332
16676
  * the query string of the request that ran. The kind becomes the segment's class.
@@ -16369,30 +16713,6 @@ type RequestProgress = {
16369
16713
  retryInMs: number | null;
16370
16714
  progress: HttpRequestLoadingProgressState | null;
16371
16715
  };
16372
- /**
16373
- * One run of one query, placed on the timeline's shared axis. `leftPct` / `widthPct` are percentages of
16374
- * the window every row is laid out against, which is what makes overlapping runs visible as overlap.
16375
- */
16376
- type TimelineRow = {
16377
- key: string;
16378
- entryId: string;
16379
- method: string;
16380
- path: string;
16381
- run: QueryDevtoolsRun;
16382
- leftPct: number;
16383
- widthPct: number;
16384
- /** How long the run took, or `null` while it is still in flight. */
16385
- durationMs: number | null;
16386
- };
16387
- type Timeline = {
16388
- rows: TimelineRow[];
16389
- /** The start of the window the rows are laid out against. */
16390
- startedAt: number;
16391
- /** How long that window is - the axis every bar is a fraction of. */
16392
- windowMs: number;
16393
- /** How many older runs the view left out, so a capped timeline does not read as a complete one. */
16394
- hidden: number;
16395
- };
16396
16716
  /**
16397
16717
  * One request a refresh re-executed, as an event row lists it. A cache key is shared by every query
16398
16718
  * bound to it, so the row carries all of their ids - one to open, and the rest so each of those queries
@@ -16407,7 +16727,7 @@ type EventLogItem = {
16407
16727
  id: number;
16408
16728
  timestamp: number;
16409
16729
  client: string;
16410
- type: QueryRepositoryEvent['type'];
16730
+ type: 'entry-created' | 'request-success' | 'request-error' | 'unbind-all-secure' | 'queries-refreshed';
16411
16731
  /** `null` for events that are not about a single request, e.g. the logout-wide secure unbind. */
16412
16732
  method: string | null;
16413
16733
  url: string | null;
@@ -16438,6 +16758,27 @@ type CacheRow = {
16438
16758
  bytes: number;
16439
16759
  isEstimatedBytes: boolean;
16440
16760
  };
16761
+ /** What each tab holds, as its badge reports it: how many entries, and how many of them are failing. */
16762
+ type TabBadge = {
16763
+ count: number;
16764
+ errors: number;
16765
+ errorNoun?: string;
16766
+ };
16767
+
16768
+ /** Which edge the panel is attached to. A pop-out is not one of these - it is a window, not an edge. */
16769
+ type DevtoolsDock = 'bottom' | 'right';
16770
+ /** A drag in progress: either the panel's docked edge, or the divider between a two-pane tab's panes. */
16771
+ type ResizeDrag = {
16772
+ /** The document the pointer moves in - a popped-out panel lives in a window of its own. */
16773
+ doc: Document;
16774
+ } & ({
16775
+ kind: 'panel';
16776
+ } | {
16777
+ kind: 'pane';
16778
+ pane: PaneTarget;
16779
+ axis: PaneAxis;
16780
+ container: HTMLElement;
16781
+ });
16441
16782
  type PersistedState = {
16442
16783
  open?: boolean;
16443
16784
  height?: number;
@@ -16477,7 +16818,7 @@ declare class QueryDevtoolsComponent {
16477
16818
  private styleManager;
16478
16819
  private zone;
16479
16820
  private destroyRef;
16480
- protected document: Document;
16821
+ private document;
16481
16822
  /** The panel itself, so a pop-out can move it into another window's document. */
16482
16823
  private panelEl;
16483
16824
  /** The overflow tab menu, to tell a click inside it from one that should dismiss it. */
@@ -16521,30 +16862,6 @@ declare class QueryDevtoolsComponent {
16521
16862
  * arms faults - which has entries to arm rather than to count.
16522
16863
  */
16523
16864
  private readonly PINNED_TABS;
16524
- protected readonly detailTabs: ({
16525
- id: "overview";
16526
- label: string;
16527
- } | {
16528
- id: "history";
16529
- label: string;
16530
- } | {
16531
- id: "data";
16532
- label: string;
16533
- })[];
16534
- /** The status chips above the Queries list, in the order a problem is usually looked for. */
16535
- protected readonly facets: ({
16536
- id: "error";
16537
- label: string;
16538
- } | {
16539
- id: "loading";
16540
- label: string;
16541
- } | {
16542
- id: "stale";
16543
- label: string;
16544
- } | {
16545
- id: "idle";
16546
- label: string;
16547
- })[];
16548
16865
  protected readonly shortcut: string;
16549
16866
  protected open: WritableSignal<boolean>;
16550
16867
  private panelHeight;
@@ -16574,26 +16891,26 @@ declare class QueryDevtoolsComponent {
16574
16891
  protected panelBlockSize: _angular_core.Signal<number | null>;
16575
16892
  protected panelInlineSize: _angular_core.Signal<number | null>;
16576
16893
  /** Which section of the query detail is showing. Shared by the Queries tab and both drawers. */
16577
- protected detailTab: WritableSignal<DetailTab>;
16578
- protected selectedClientName: WritableSignal<string | null>;
16579
- protected selectedQueryId: WritableSignal<string | null>;
16894
+ detailTab: WritableSignal<DetailTab>;
16895
+ selectedClientName: WritableSignal<string | null>;
16896
+ selectedQueryId: WritableSignal<string | null>;
16580
16897
  /** The form whose detail the Forms tab has expanded. */
16581
- protected selectedFormId: WritableSignal<string | null>;
16582
- protected stackSelectedQueryId: WritableSignal<string | null>;
16583
- protected sequenceSelectedQueryId: WritableSignal<string | null>;
16584
- protected formSelectedQueryId: WritableSignal<string | null>;
16585
- protected timelineSelectedQueryId: WritableSignal<string | null>;
16898
+ selectedFormId: WritableSignal<string | null>;
16899
+ stackSelectedQueryId: WritableSignal<string | null>;
16900
+ sequenceSelectedQueryId: WritableSignal<string | null>;
16901
+ formSelectedQueryId: WritableSignal<string | null>;
16902
+ timelineSelectedQueryId: WritableSignal<string | null>;
16586
16903
  /** Free-text narrowing of the Queries list. Every whitespace-separated term has to match. */
16587
- protected queryFilter: WritableSignal<string>;
16904
+ queryFilter: WritableSignal<string>;
16588
16905
  /** The status facets the Queries list is narrowed to. Empty means no status narrowing. */
16589
16906
  queryFacets: WritableSignal<ReadonlySet<QueryListFacet>>;
16590
- protected eventLog: WritableSignal<EventLogItem[]>;
16907
+ eventLog: WritableSignal<EventLogItem[]>;
16591
16908
  /** The client (by base URL) the event log is scoped to, or `null` for all of them. */
16592
- protected eventClient: WritableSignal<string | null>;
16909
+ eventClient: WritableSignal<string | null>;
16593
16910
  /** Whether the event log is narrowed to failures - the rows a bug report is about. */
16594
- protected eventErrorsOnly: WritableSignal<boolean>;
16911
+ eventErrorsOnly: WritableSignal<boolean>;
16595
16912
  /** Free-text narrowing of every socket's message log. Matches the event, the room and the direction. */
16596
- protected socketFilter: WritableSignal<string>;
16913
+ socketFilter: WritableSignal<string>;
16597
16914
  /** The cache entry whose response is expanded, as `<client>|<key>`, or `null` while none is. */
16598
16915
  private expandedCacheKey;
16599
16916
  /** The socket whose emit box last failed, so the message shows on that card and no other. */
@@ -16601,31 +16918,31 @@ declare class QueryDevtoolsComponent {
16601
16918
  /** Keys (`<entryId>:<stepIndex>`) of the sequence steps whose in/out detail is expanded. */
16602
16919
  private expandedSteps;
16603
16920
  /** Shared value-explorer search term. */
16604
- protected jsonSearch: WritableSignal<string>;
16605
- protected jsonSearchTerm: _angular_core.Signal<string>;
16921
+ jsonSearch: WritableSignal<string>;
16922
+ jsonSearchTerm: _angular_core.Signal<string>;
16606
16923
  /** Path-keyed value-explorer expansion overrides (persisted so open trees survive a reload). */
16607
- protected jsonExpandedPaths: WritableSignal<ReadonlySet<string>>;
16608
- protected jsonCollapsedPaths: WritableSignal<ReadonlySet<string>>;
16924
+ jsonExpandedPaths: WritableSignal<ReadonlySet<string>>;
16925
+ jsonCollapsedPaths: WritableSignal<ReadonlySet<string>>;
16609
16926
  /** Bound callback passed into the value explorer to persist per-path expansion. Assigned in the constructor. */
16610
- protected toggleJsonPath: (path: string, expand: boolean) => void;
16927
+ toggleJsonPath: (path: string, expand: boolean) => void;
16611
16928
  /** The run whose response the diff is comparing, by run index, or `null` while no diff is open. */
16612
- protected diffRunIndex: WritableSignal<number | null>;
16929
+ diffRunIndex: WritableSignal<number | null>;
16613
16930
  /** JIT editor state (response / args editing on the selected query). */
16614
- protected editorMode: WritableSignal<"none" | "response" | "args">;
16615
- protected responseDraft: WritableSignal<string>;
16616
- protected argsDraft: WritableSignal<string>;
16931
+ editorMode: WritableSignal<"none" | "response" | "args">;
16932
+ responseDraft: WritableSignal<string>;
16933
+ argsDraft: WritableSignal<string>;
16617
16934
  /**
16618
16935
  * The text the currently open editor was seeded with. The textareas bind `value` to this and not to
16619
16936
  * the live draft: a `value` binding fed by the draft is written back on every keystroke, and writing
16620
16937
  * a textarea's `value` puts the caret at the end.
16621
16938
  */
16622
- protected editorSeed: string;
16623
- protected editError: WritableSignal<string | null>;
16939
+ editorSeed: string;
16940
+ editError: WritableSignal<string | null>;
16624
16941
  /** Transient "Copied!" feedback for the copy-report, copy-as-Insomnia / cURL and copy-document actions. */
16625
- protected copiedReport: WritableSignal<boolean>;
16626
- protected copiedInsomnia: WritableSignal<boolean>;
16627
- protected copiedCurl: WritableSignal<boolean>;
16628
- protected copiedGql: WritableSignal<boolean>;
16942
+ copiedReport: WritableSignal<boolean>;
16943
+ copiedInsomnia: WritableSignal<boolean>;
16944
+ copiedCurl: WritableSignal<boolean>;
16945
+ copiedGql: WritableSignal<boolean>;
16629
16946
  private copiedReset$;
16630
16947
  /** 1-second tick driving the cache freshness countdowns. */
16631
16948
  private clock;
@@ -16636,22 +16953,23 @@ declare class QueryDevtoolsComponent {
16636
16953
  entries: QueryDevtoolsEntry[];
16637
16954
  } | null>;
16638
16955
  /** When set (via inspect), the Queries list is filtered to exactly these entry ids. */
16639
- protected inspectFilterIds: WritableSignal<string[] | null>;
16956
+ inspectFilterIds: WritableSignal<string[] | null>;
16640
16957
  private queryEntries;
16641
- protected stackEntries: _angular_core.Signal<QueryDevtoolsEntry[]>;
16642
- protected sequenceEntries: _angular_core.Signal<QueryDevtoolsEntry[]>;
16643
- protected formEntries: _angular_core.Signal<QueryDevtoolsEntry[]>;
16644
- protected authEntries: _angular_core.Signal<QueryDevtoolsEntry[]>;
16645
- protected wsEntries: _angular_core.Signal<QueryDevtoolsEntry[]>;
16958
+ protected panelTampered: _angular_core.Signal<boolean>;
16959
+ stackEntries: _angular_core.Signal<QueryDevtoolsEntry[]>;
16960
+ sequenceEntries: _angular_core.Signal<QueryDevtoolsEntry[]>;
16961
+ formEntries: _angular_core.Signal<QueryDevtoolsEntry[]>;
16962
+ authEntries: _angular_core.Signal<QueryDevtoolsEntry[]>;
16963
+ wsEntries: _angular_core.Signal<QueryDevtoolsEntry[]>;
16646
16964
  /** Unique client names present across queries and auth providers, for the Queries-tab picker. */
16647
- protected clientNames: _angular_core.Signal<string[]>;
16965
+ clientNames: _angular_core.Signal<string[]>;
16648
16966
  /** Unique repositories (with their client name + base URL) used by the Cache and Events tabs. */
16649
16967
  private repositories;
16650
16968
  /**
16651
16969
  * Every client the Faults tab can arm, with the fault it currently carries. Clients with nothing armed
16652
16970
  * read as {@link EMPTY_QUERY_DEVTOOLS_FAULT} so the inputs always have a value to show.
16653
16971
  */
16654
- protected faultClients: _angular_core.Signal<{
16972
+ faultClients: _angular_core.Signal<{
16655
16973
  name: string;
16656
16974
  baseUrl: string;
16657
16975
  fault: _ethlete_query.QueryDevtoolsFault;
@@ -16668,36 +16986,7 @@ declare class QueryDevtoolsComponent {
16668
16986
  * The queries the list is scoped to before the search box and the status chips narrow them further:
16669
16987
  * either the picked client's, or exactly the inspected element's.
16670
16988
  */
16671
- private scopedQueries;
16672
- private searchedQueries;
16673
- /**
16674
- * How many queries each status chip would leave. Counted before the active chips are applied, so a
16675
- * chip always states what picking it yields rather than what the current selection happens to show.
16676
- */
16677
- protected facetCounts: _angular_core.Signal<Record<QueryListFacet, number>>;
16678
- protected filteredQueries: _angular_core.Signal<{
16679
- entry: QueryDevtoolsEntry;
16680
- query: AnyQuery;
16681
- }[]>;
16682
- /** How many queries are in scope, which is what the list would show unfiltered. */
16683
- protected scopedQueryCount: _angular_core.Signal<number>;
16684
- /** Whether the search box or a status chip is narrowing the list beyond its scope. */
16685
- protected isQueryListNarrowed: _angular_core.Signal<boolean>;
16686
- /**
16687
- * Every run the scoped queries have recorded, oldest first. The client picker and the inspection
16688
- * filter narrow the timeline the same way they narrow the Queries list.
16689
- */
16690
- private scopedRuns;
16691
- /**
16692
- * Every scoped run laid out on one axis, so a stampede reads as overlapping bars and a chain as a
16693
- * staircase - which is what the Events tab's flat list of wall-clock times cannot show.
16694
- */
16695
- protected timeline: _angular_core.Signal<Timeline>;
16696
- /** Axis labels for the timeline, as offsets from the window's start. */
16697
- protected timelineTicks: _angular_core.Signal<{
16698
- pct: number;
16699
- label: string;
16700
- }[]>;
16989
+ scopedQueries: _angular_core.Signal<QueryDevtoolsEntry[]>;
16701
16990
  /** How many runs every query has recorded, for the Timeline tab's badge. */
16702
16991
  private runTotals;
16703
16992
  /** Cache entries across every client, for the Cache tab's badge. */
@@ -16775,23 +17064,23 @@ declare class QueryDevtoolsComponent {
16775
17064
  label: string;
16776
17065
  })[]>;
16777
17066
  protected tabMenuOpen: WritableSignal<boolean>;
16778
- protected selectedQuery: _angular_core.Signal<{
17067
+ selectedQuery: _angular_core.Signal<{
16779
17068
  entry: QueryDevtoolsEntry;
16780
17069
  query: AnyQuery;
16781
17070
  } | null>;
16782
- protected stackSelectedQuery: _angular_core.Signal<{
17071
+ stackSelectedQuery: _angular_core.Signal<{
16783
17072
  entry: QueryDevtoolsEntry;
16784
17073
  query: AnyQuery;
16785
17074
  } | null>;
16786
- protected sequenceSelectedQuery: _angular_core.Signal<{
17075
+ sequenceSelectedQuery: _angular_core.Signal<{
16787
17076
  entry: QueryDevtoolsEntry;
16788
17077
  query: AnyQuery;
16789
17078
  } | null>;
16790
- protected formSelectedQuery: _angular_core.Signal<{
17079
+ formSelectedQuery: _angular_core.Signal<{
16791
17080
  entry: QueryDevtoolsEntry;
16792
17081
  query: AnyQuery;
16793
17082
  } | null>;
16794
- protected timelineSelectedQuery: _angular_core.Signal<{
17083
+ timelineSelectedQuery: _angular_core.Signal<{
16795
17084
  entry: QueryDevtoolsEntry;
16796
17085
  query: AnyQuery;
16797
17086
  } | null>;
@@ -16800,7 +17089,7 @@ declare class QueryDevtoolsComponent {
16800
17089
  * what keeps the totals current: a cache mutation bumps `cacheVersion`, but a response landing in an
16801
17090
  * entry that is already there does not.
16802
17091
  */
16803
- protected cacheView: _angular_core.Signal<{
17092
+ cacheView: _angular_core.Signal<{
16804
17093
  name: string;
16805
17094
  baseUrl: string;
16806
17095
  repository: QueryRepository;
@@ -16811,24 +17100,10 @@ declare class QueryDevtoolsComponent {
16811
17100
  pollStates: Record<string, QueryKeyLockState>;
16812
17101
  client: QueryClient | null;
16813
17102
  }[]>;
16814
- /**
16815
- * The event rows the log shows: the client picker and the errors-only toggle applied. Kept apart from
16816
- * {@link eventLog} so "Refetched by" and the session export keep reading the whole log.
16817
- */
16818
- protected filteredEvents: _angular_core.Signal<EventLogItem[]>;
16819
- /** The clients the event log has rows from, as its picker offers them. */
16820
- protected eventClients: _angular_core.Signal<string[]>;
16821
- protected isEventLogNarrowed: _angular_core.Signal<boolean>;
16822
17103
  /** Map of a component's host element to the query entries it created (for the inspect tool). */
16823
17104
  private elementQueryMap;
16824
- protected readonly FAULT_STATUSES: {
16825
- status: number;
16826
- label: string;
16827
- retryable: boolean;
16828
- }[];
17105
+ /** Disarms every client's fault - the shell's "Faults armed" banner offers this above every tab. */
16829
17106
  protected readonly CLEAR_FAULTS: (clientName?: string) => void;
16830
- /** The ceiling each numeric fault field is clamped to. */
16831
- private readonly FAULT_LIMITS;
16832
17107
  constructor();
16833
17108
  /**
16834
17109
  * Closing while popped out docks back instead: the panel a pop-out shows is the very element the
@@ -16846,120 +17121,123 @@ declare class QueryDevtoolsComponent {
16846
17121
  * hang off the root element, so both are copied over; without them the pop-out renders unstyled.
16847
17122
  */
16848
17123
  protected popOut(): void;
16849
- protected clearEvents(): void;
16850
- protected toggleEventErrorsOnly(): void;
16851
- protected clearEventFilters(): void;
16852
- protected selectClient(name: string | null): void;
16853
- protected clearInspectFilter(): void;
16854
- protected toggleFacet(facet: QueryListFacet): void;
17124
+ selectClient(name: string | null): void;
17125
+ clearInspectFilter(): void;
17126
+ toggleFacet(facet: QueryListFacet): void;
16855
17127
  /** Drops the search term and the status chips, keeping the client / inspection scope. */
16856
- protected clearQueryFilters(): void;
17128
+ clearQueryFilters(): void;
16857
17129
  protected toggleInspect(): void;
16858
17130
  protected startResize(event: PointerEvent): void;
16859
- protected startPaneResize(event: PointerEvent, target: {
17131
+ startPaneResize(event: PointerEvent, target: {
16860
17132
  pane: PaneTarget;
16861
17133
  container: HTMLElement;
16862
17134
  }): void;
16863
17135
  /** Hands a pane back to the stylesheet's proportional default, on the axis it is being sized along. */
16864
- protected resetPaneSize(pane: PaneTarget): void;
17136
+ resetPaneSize(pane: PaneTarget): void;
16865
17137
  protected inspectLabel(entries: QueryDevtoolsEntry[]): string;
16866
17138
  /**
16867
17139
  * A query's route, split so the template can tell its static path from its path params (each carrying
16868
17140
  * the value the query used, or `:<name>` while it has none yet) and from the query string of the
16869
17141
  * request that ran - which is what tells two requests to the same endpoint apart.
16870
17142
  */
16871
- protected routeSegments(entry: QueryDevtoolsEntry | undefined, query: AnyQuery): RouteSegment[];
17143
+ routeSegments(entry: QueryDevtoolsEntry | undefined, query: AnyQuery): RouteSegment[];
16872
17144
  /** The full URL of the request a query last made, or `null` while it has not executed. */
16873
- protected requestUrl(query: AnyQuery): string | null;
17145
+ requestUrl(query: AnyQuery): string | null;
16874
17146
  /**
16875
17147
  * The args of a query. A query executed imperatively (`execute({ args })`, a sequence step, an auth
16876
17148
  * query) never writes them to its own `args` signal - only the `withArgs` feature does - so the args
16877
17149
  * its current request was built from stand in.
16878
17150
  */
16879
- protected queryArgs(query: AnyQuery): Omit<any, "response"> | null;
16880
- protected queryStatus(query: AnyQuery): QueryStatus;
17151
+ queryArgs(query: AnyQuery): Omit<any, "response"> | null;
17152
+ queryStatus(query: AnyQuery): QueryStatus;
16881
17153
  /**
16882
17154
  * A request in flight is already refreshing, so reporting it as stale on top of `loading` is noise -
16883
17155
  * the same precedence the cache tab's freshness column applies.
16884
17156
  */
16885
- protected isStale(query: AnyQuery): boolean;
17157
+ isStale(query: AnyQuery): boolean;
17158
+ /**
17159
+ * Whether an entry is showing something other than what the server actually sent - an armed response
17160
+ * override, or a devtools fault that decided its last completed run. Deliberately not "a fault is
17161
+ * armed nearby": an armed-but-idle fault (a `failRate` under 100, say) mostly lets requests through
17162
+ * untouched, so that would over-claim for the vast majority of queries on that client.
17163
+ */
17164
+ isTampered(entry: QueryDevtoolsEntry): boolean;
16886
17165
  /**
16887
17166
  * What a query's current request is doing beyond being loading, or `null` when there is nothing beyond
16888
17167
  * the status dot to say - so the readout only takes up room while it carries something.
16889
17168
  */
16890
- protected requestProgress(query: AnyQuery): RequestProgress | null;
17169
+ requestProgress(query: AnyQuery): RequestProgress | null;
16891
17170
  /** Why a retry was scheduled, as the panel spells it out. A status of 0 never reached the server. */
16892
- protected retryCause(status: number): string;
16893
- protected formatPercent(percentage: number): string;
17171
+ retryCause(status: number): string;
17172
+ formatPercent(percentage: number): string;
16894
17173
  /** A countdown in whole seconds, spelled out the way the cache freshness column does. */
16895
- protected formatCountdown(ms: number | null): string;
16896
- protected queryActivity(entry: QueryDevtoolsEntry): QueryActivity;
16897
- protected linkActivity(link: QueryLink): QueryActivity;
16898
- protected stackActivity(stack: AnyQueryStack | AnyPagedQueryStack): QueryActivity;
16899
- protected sequenceActivity(sequence: QuerySequence<unknown[]>): QueryActivity;
17174
+ formatCountdown(ms: number | null): string;
17175
+ queryActivity(entry: QueryDevtoolsEntry): QueryActivity;
17176
+ linkActivity(link: QueryLink): QueryActivity;
17177
+ stackActivity(stack: AnyQueryStack | AnyPagedQueryStack): QueryActivity;
17178
+ sequenceActivity(sequence: QuerySequence<unknown[]>): QueryActivity;
16900
17179
  /** Clears an entry's counters and run history, so the next interaction can be measured on its own. */
16901
- protected resetStats(entry: QueryDevtoolsEntry): void;
16902
- /** The same, for every query the timeline covers. */
16903
- protected resetTimeline(): void;
17180
+ resetStats(entry: QueryDevtoolsEntry): void;
16904
17181
  /** A query's runs, newest first - the order a history is read in. */
16905
- protected queryRuns(entry: QueryDevtoolsEntry): QueryDevtoolsRun[];
17182
+ queryRuns(entry: QueryDevtoolsEntry): QueryDevtoolsRun[];
16906
17183
  /**
16907
17184
  * What a run's status dot and timeline bar colour by. `pending` reuses the panel's loading colour;
16908
17185
  * `aborted` matches no rule and so falls back to the neutral one.
16909
17186
  */
16910
- protected runStatus(run: QueryDevtoolsRun): "loading" | "error" | "success" | "aborted";
17187
+ runStatus(run: QueryDevtoolsRun): "success" | "error" | "loading" | "aborted";
16911
17188
  /** Whether a run can be diffed: it still holds its body, and so does an older run of the same query. */
16912
- protected canDiffRun(entry: QueryDevtoolsEntry, run: QueryDevtoolsRun): boolean;
16913
- protected toggleRunDiff(run: QueryDevtoolsRun): void;
17189
+ canDiffRun(entry: QueryDevtoolsEntry, run: QueryDevtoolsRun): boolean;
17190
+ toggleRunDiff(run: QueryDevtoolsRun): void;
16914
17191
  /**
16915
17192
  * The response diff of the picked run against the newest older run that still holds a body - which is
16916
17193
  * not necessarily the run right before it, since a failed run has none to compare.
16917
17194
  *
16918
17195
  * `null` unless a run is picked, so a closed diff costs nothing to walk.
16919
17196
  */
16920
- protected responseDiff(entry: QueryDevtoolsEntry): {
17197
+ responseDiff(entry: QueryDevtoolsEntry): {
16921
17198
  before: QueryDevtoolsRun;
16922
17199
  after: QueryDevtoolsRun;
16923
17200
  diff: QueryDevtoolsDiff;
16924
17201
  } | null;
16925
17202
  /** Opens a query in the Queries tab - the Events tab is a way in, not a dead end. */
16926
- protected selectQuery(id: string): void;
16927
- protected selectTimelineRow(row: TimelineRow): void;
16928
- protected selectEventRow(item: EventLogItem): void;
17203
+ selectQuery(id: string): void;
16929
17204
  /** A value on one line, for a diff row or a form field. The full tree would bury the row it sits in. */
16930
- protected inlineValue(value: unknown): string;
17205
+ inlineValue(value: unknown): string;
16931
17206
  /** A byte count the way a network panel spells one out. */
16932
- protected formatBytes(bytes: number): string;
17207
+ formatBytes(bytes: number): string;
16933
17208
  /**
16934
17209
  * A transferred size, marked `≈` when any part of it was measured from a decoded body instead of read
16935
17210
  * from a `content-length` header - such a size ignores transport compression.
16936
17211
  */
16937
- protected formatTransferred(bytes: number, isEstimated: boolean): string;
17212
+ formatTransferred(bytes: number, isEstimated: boolean): string;
16938
17213
  /** A transfer rate, given in bytes per second the way `HttpRequestLoadingProgressState.speed` reports it. */
16939
- protected formatSpeed(bytesPerSecond: number): string;
16940
- protected formatDuration(ms: number | null): string;
16941
- protected executeQuery(query: AnyQuery, allowCache: boolean): void;
16942
- protected resetQuery(query: AnyQuery): void;
17214
+ formatSpeed(bytesPerSecond: number): string;
17215
+ formatDuration(ms: number | null): string;
17216
+ executeQuery(query: AnyQuery, allowCache: boolean): void;
17217
+ resetQuery(query: AnyQuery): void;
16943
17218
  /**
16944
17219
  * Copies a shareable report (path, args, status, slimmed response) for handing to an API dev.
16945
17220
  * Writes both rich `text/html` (Slack applies formatting on paste - it does not parse markdown) and
16946
17221
  * a plain-text fallback.
16947
17222
  */
16948
- protected copyReport(entry: QueryDevtoolsEntry, query: AnyQuery): void;
17223
+ copyReport(entry: QueryDevtoolsEntry, query: AnyQuery): void;
16949
17224
  /** Copies one query as an Insomnia collection, for `Import > From Clipboard`. */
16950
- protected copyInsomniaRequest(entry: QueryDevtoolsEntry, query: AnyQuery): void;
17225
+ copyInsomniaRequest(entry: QueryDevtoolsEntry, query: AnyQuery): void;
16951
17226
  /**
16952
17227
  * Copies one query as a `curl` command - what goes into a terminal, a ticket or a chat message, where
16953
17228
  * an Insomnia collection is too heavy to be read at all.
16954
17229
  */
16955
- protected copyCurlRequest(entry: QueryDevtoolsEntry, query: AnyQuery): void;
17230
+ copyCurlRequest(entry: QueryDevtoolsEntry, query: AnyQuery): void;
16956
17231
  /** Copies the GraphQL document as displayed — dedented, so it pastes straight into a playground. */
16957
- protected copyGqlDocument(doc: string): void;
17232
+ copyGqlDocument(doc: string): void;
16958
17233
  /**
16959
- * Downloads every query currently listed (so the client filter and the inspection filter both apply)
16960
- * as one Insomnia collection, filed into a folder per query client.
17234
+ * Downloads the given queries (already scoped/filtered by the caller) as one Insomnia collection,
17235
+ * filed into a folder per query client.
16961
17236
  */
16962
- protected downloadInsomniaCollection(): void;
17237
+ downloadInsomniaCollection(items: {
17238
+ entry: QueryDevtoolsEntry;
17239
+ query: AnyQuery;
17240
+ }[], clientLabel: string | null): void;
16963
17241
  /**
16964
17242
  * Downloads the whole panel as one JSON file: every registered entry with what it ran and what it
16965
17243
  * holds, the event log, the cache totals and anything armed in the Faults tab. Unlike **Copy report**
@@ -16969,128 +17247,106 @@ declare class QueryDevtoolsComponent {
16969
17247
  * left out the client you were not looking at is worse than no dump.
16970
17248
  */
16971
17249
  protected downloadSession(): void;
16972
- protected openResponseEditor(query: AnyQuery): void;
16973
- protected openArgsEditor(query: AnyQuery): void;
16974
- protected applyResponse(query: AnyQuery): void;
16975
- protected applyArgs(query: AnyQuery): void;
16976
- protected cancelEditor(): void;
16977
- protected forceLoading(query: AnyQuery): void;
16978
- protected forceError(query: AnyQuery): void;
16979
- protected forceEmpty(query: AnyQuery): void;
16980
- protected clearForced(query: AnyQuery): void;
16981
- /**
16982
- * Arms one numeric field of a client's fault from an input's raw value. Clamped here rather than left
16983
- * to the input's `min`/`max`, which a typed-in (or pasted) value ignores.
16984
- */
16985
- protected armFaultValue(options: {
16986
- clientName: string;
16987
- field: NumericFaultField;
16988
- value: string;
16989
- }): void;
16990
- protected armFaultStatus(options: {
16991
- clientName: string;
16992
- value: string;
16993
- }): void;
16994
- /** Whether the default retry policy retries the status a client is armed to fail with. */
16995
- protected isFaultStatusRetryable(status: number): boolean;
16996
- protected refetchCacheEntry(entry: QueryRepositoryCacheEntry): void;
16997
- protected evictCacheEntry(repository: QueryRepository, key: string): void;
17250
+ openResponseEditor(query: AnyQuery): void;
17251
+ openArgsEditor(query: AnyQuery): void;
17252
+ applyResponse(query: AnyQuery): void;
17253
+ applyArgs(query: AnyQuery): void;
17254
+ cancelEditor(): void;
17255
+ forceLoading(query: AnyQuery): void;
17256
+ forceError(query: AnyQuery): void;
17257
+ forceEmpty(query: AnyQuery): void;
17258
+ clearForced(query: AnyQuery): void;
17259
+ refetchCacheEntry(entry: QueryRepositoryCacheEntry): void;
17260
+ evictCacheEntry(repository: QueryRepository, key: string): void;
16998
17261
  /**
16999
17262
  * Drops every entry of one client, consumers included - the cold-start check that does not need a
17000
17263
  * reload. A query still bound to an evicted entry requests again on its next execution.
17001
17264
  */
17002
- protected evictAllCacheEntries(repository: QueryRepository): void;
17265
+ evictAllCacheEntries(repository: QueryRepository): void;
17003
17266
  /**
17004
17267
  * Expands the response held under a cache key, which is the only way to read an entry no live query is
17005
17268
  * bound to any more - the Queries tab has nothing to select for it.
17006
17269
  */
17007
- protected toggleCacheValue(clientName: string, key: string): void;
17008
- protected isCacheValueExpanded(clientName: string, key: string): boolean;
17009
- protected cacheFreshness(entry: QueryRepositoryCacheEntry): string;
17270
+ toggleCacheValue(clientName: string, key: string): void;
17271
+ isCacheValueExpanded(clientName: string, key: string): boolean;
17272
+ cacheFreshness(entry: QueryRepositoryCacheEntry): string;
17010
17273
  /**
17011
17274
  * What multi-tab sync is doing for a cache entry: whether this tab is the one polling the key, and
17012
17275
  * how long ago it last took a response from another tab. Empty when the client has no sync.
17013
17276
  */
17014
- protected cacheSync(entry: QueryRepositoryCacheEntry, pollStates: Record<string, QueryKeyLockState>): string;
17277
+ cacheSync(entry: QueryRepositoryCacheEntry, pollStates: Record<string, QueryKeyLockState>): string;
17015
17278
  /**
17016
17279
  * Whether a cache entry is showing data that came off the disk rather than the network - the answer
17017
17280
  * to "why is this here already?" on a cold start. Empty when the client does not persist responses.
17018
17281
  */
17019
- protected cachePersistence(entry: QueryRepositoryCacheEntry): string;
17282
+ cachePersistence(entry: QueryRepositoryCacheEntry): string;
17020
17283
  /** How many responses this client has on disk, which is usually more than it has in memory. */
17021
- protected persistedCount(client: QueryClient): number;
17022
- protected clearPersistedQueries(client: QueryClient): void;
17284
+ persistedCount(client: QueryClient): number;
17285
+ clearPersistedQueries(client: QueryClient): void;
17023
17286
  /** The path + query of a request URL (origin stripped), for readable cache/event identifiers. */
17024
- protected requestPath(url: string): string;
17025
- protected asStack(entry: QueryDevtoolsEntry): AnyQueryStack;
17026
- protected asPagedStack(entry: QueryDevtoolsEntry): AnyPagedQueryStack;
17027
- protected asSequence(entry: QueryDevtoolsEntry): QuerySequence<unknown[]>;
17028
- protected asAuth(entry: QueryDevtoolsEntry): AnyBearerAuthProvider;
17029
- protected asWs(entry: QueryDevtoolsEntry): WebSocketDevtoolsHandle;
17287
+ requestPath(url: string): string;
17288
+ asStack(entry: QueryDevtoolsEntry): AnyQueryStack;
17289
+ asPagedStack(entry: QueryDevtoolsEntry): AnyPagedQueryStack;
17290
+ asSequence(entry: QueryDevtoolsEntry): QuerySequence<unknown[]>;
17291
+ asAuth(entry: QueryDevtoolsEntry): AnyBearerAuthProvider;
17292
+ asWs(entry: QueryDevtoolsEntry): WebSocketDevtoolsHandle;
17030
17293
  /**
17031
17294
  * A socket's messages, narrowed by the filter box. Every whitespace-separated term has to match the
17032
17295
  * event, the room or the direction, so `out join` finds the room joins the client sent.
17033
17296
  */
17034
- protected socketMessages(ws: WebSocketDevtoolsHandle): WebSocketDevtoolsMessage[];
17297
+ socketMessages(ws: WebSocketDevtoolsHandle): WebSocketDevtoolsMessage[];
17035
17298
  /** How the message log labels a direction: what the client sent, versus what the server pushed. */
17036
- protected socketDirectionLabel(message: WebSocketDevtoolsMessage): "↑ sent" | "↓ received";
17299
+ socketDirectionLabel(message: WebSocketDevtoolsMessage): "↑ sent" | "↓ received";
17037
17300
  /**
17038
17301
  * Sends a message as the app would, so a server that only answers a client that asked can be provoked
17039
17302
  * from the panel. An empty payload sends nothing rather than `""` - a plain event is a valid message.
17040
17303
  */
17041
- protected emitSocketMessage(options: {
17304
+ emitSocketMessage(options: {
17042
17305
  entry: QueryDevtoolsEntry;
17043
17306
  event: string;
17044
17307
  data: string;
17045
17308
  }): void;
17046
- protected socketEmitErrorFor(entryId: string): string | null;
17047
- protected asForm(entry: QueryDevtoolsEntry): QueryDevtoolsFormHandle;
17309
+ socketEmitErrorFor(entryId: string): string | null;
17310
+ asForm(entry: QueryDevtoolsEntry): QueryDevtoolsFormHandle;
17048
17311
  /**
17049
17312
  * The queries a form feeds, discovered from the reads its `value()` recorded while their args were
17050
17313
  * built - so a form that nothing consumes yet reads as exactly that.
17051
17314
  */
17052
- protected queriesDrivenByForm(entry: QueryDevtoolsEntry): QueryLink[];
17315
+ queriesDrivenByForm(entry: QueryDevtoolsEntry): QueryLink[];
17053
17316
  /** The reverse: the forms whose value a query's args read. */
17054
- protected formsDrivingQuery(entry: QueryDevtoolsEntry): QueryDevtoolsEntry[];
17055
- protected selectForm(id: string): void;
17317
+ formsDrivingQuery(entry: QueryDevtoolsEntry): QueryDevtoolsEntry[];
17318
+ selectForm(id: string): void;
17056
17319
  /**
17057
17320
  * The refreshes that re-executed a query, newest first - the answer to "why did this refetch?". Read
17058
17321
  * off the event log, so it goes back exactly as far as the log does.
17059
17322
  */
17060
- protected refreshesFor(entryId: string): {
17323
+ refreshesFor(entryId: string): {
17061
17324
  id: number;
17062
17325
  timestamp: number;
17063
17326
  label: string;
17064
17327
  }[];
17065
17328
  /** What asked for a refresh, on one line. */
17066
- protected causeLabel(cause: QueryRefreshCause): string;
17329
+ causeLabel(cause: QueryRefreshCause): string;
17067
17330
  /** Derives the per-step status of a sequence step from its live progress signals. */
17068
- protected sequenceStepStatus(sequence: QuerySequence<unknown[]>, index: number): QuerySequenceStatus;
17069
- protected authTokenPayload(auth: AnyBearerAuthProvider): Record<string, unknown> | null;
17070
- protected queriesForStack(stack: AnyQueryStack | AnyPagedQueryStack): QueryLink[];
17071
- /** Identifying info for a stack, derived from its (uniform) inner queries. */
17072
- protected stackIdentity(stack: AnyQueryStack | AnyPagedQueryStack): {
17073
- method: string;
17074
- segments: RouteSegment[];
17075
- baseUrl: string;
17076
- };
17077
- protected authQueryKeys(auth: AnyBearerAuthProvider): string[];
17331
+ sequenceStepStatus(sequence: QuerySequence<unknown[]>, index: number): QuerySequenceStatus;
17332
+ authTokenPayload(auth: AnyBearerAuthProvider): Record<string, unknown> | null;
17333
+ queriesForStack(stack: AnyQueryStack | AnyPagedQueryStack): QueryLink[];
17334
+ authQueryKeys(auth: AnyBearerAuthProvider): string[];
17078
17335
  /** Countdown to the access-token's `exp` (the point a refresh becomes due), or `null` if unknown. */
17079
- protected authTokenExpiry(auth: AnyBearerAuthProvider): string | null;
17080
- protected queriesForSequence(sequence: QuerySequence<unknown[]>): QueryLink[];
17336
+ authTokenExpiry(auth: AnyBearerAuthProvider): string | null;
17337
+ queriesForSequence(sequence: QuerySequence<unknown[]>): QueryLink[];
17081
17338
  /** The snapshot of a sequence step, once it has run (holds the args in and the response/error out). */
17082
- protected stepSnapshot(sequence: QuerySequence<unknown[]>, index: number): AnyQuerySnapshot | null;
17083
- protected isStepExpanded(entryId: string, index: number): boolean;
17084
- protected toggleStep(entryId: string, index: number): void;
17339
+ stepSnapshot(sequence: QuerySequence<unknown[]>, index: number): AnyQuerySnapshot | null;
17340
+ isStepExpanded(entryId: string, index: number): boolean;
17341
+ toggleStep(entryId: string, index: number): void;
17085
17342
  /** Dedents a GraphQL document (template-literal indentation) for readable display. */
17086
- protected gqlDocument(doc: string): string;
17087
- protected featureLabel(type: string): string;
17343
+ gqlDocument(doc: string): string;
17344
+ featureLabel(type: string): string;
17088
17345
  /** A feature and its options on one line, for a report or a chip's tooltip. */
17089
17346
  featureSummary(feature: QueryDevtoolsFeature): string;
17090
17347
  /** The features of the client behind a cache tab card, or `null` for a client without any. */
17091
- protected clientFeatures(client: QueryClient | null | undefined): QueryDevtoolsFeature[] | null;
17092
- protected formatTime(timestamp: number | null): string;
17093
- protected eventTypeLabel(event: EventLogItem): string;
17348
+ clientFeatures(client: QueryClient | null | undefined): QueryDevtoolsFeature[] | null;
17349
+ formatTime(timestamp: number | null): string;
17094
17350
  private isTabPrimary;
17095
17351
  /** Moves the panel into a pop-up whose document has finished loading. @see popOut */
17096
17352
  private mountPopOut;
@@ -17114,16 +17370,6 @@ declare class QueryDevtoolsComponent {
17114
17370
  private activityOf;
17115
17371
  /** An activity summary on one line, for a report. `null` for a query that has not run. */
17116
17372
  private activitySummary;
17117
- /** A query matches the chips if it is in any of the picked states - chips widen, they don't intersect. */
17118
- private matchesFacets;
17119
- /**
17120
- * What the search box matches against: what the row shows, plus the path of the request that ran for a
17121
- * query whose template differs from it.
17122
- *
17123
- * Deliberately not the origin or the client name - both repeat across most entries, so a short term
17124
- * ("p") would match nearly everything through the host name. Scoping to a client is the picker's job.
17125
- */
17126
- private queryHaystack;
17127
17373
  /** {@link routeSegments} as a plain string, for the places that cannot render markup. */
17128
17374
  private queryRoute;
17129
17375
  /**
@@ -17458,9 +17704,1081 @@ declare class QueryErrorComponent {
17458
17704
 
17459
17705
  declare const QUERY_ERROR_IMPORTS: readonly [typeof QueryErrorComponent, typeof QueryErrorDirective, typeof QueryErrorTitleDirective, typeof QueryErrorActionsDirective];
17460
17706
 
17461
- /** The common placeholder shapes. Anything else is your own CSS on the item. */
17462
- type SkeletonShape = 'text' | 'rect' | 'circle';
17463
- /**
17707
+ declare const SCHEDULER_ERROR_CODES: {
17708
+ /** An opt-in scheduler feature (e.g. a badge adornment) was used outside an `<et-scheduler>`. */
17709
+ readonly FEATURE_OUTSIDE_SCHEDULER: 4500;
17710
+ /** A view layout directive (e.g. `[etSchedulerMonth]`) was placed outside an `[etScheduler]`. */
17711
+ readonly VIEW_OUTSIDE_SCHEDULER: 4501;
17712
+ /** An edit-surface feature (e.g. an edit field or appointment action) was used outside an `<et-scheduler-edit-surface>`. */
17713
+ readonly EDIT_SURFACE_FEATURE_OUTSIDE_SURFACE: 4502;
17714
+ };
17715
+
17716
+ /**
17717
+ * Every string the scheduler renders or announces itself. Defaults are English
17718
+ * ({@link DEFAULT_SCHEDULER_LABELS}); override them app-wide with {@link provideSchedulerLabels}.
17719
+ */
17720
+ type SchedulerLabels = {
17721
+ /** Accessible label for the control that steps back a period (a month, week or day). */
17722
+ previous: string;
17723
+ /** Accessible label for the control that steps forward a period. */
17724
+ next: string;
17725
+ /** Accessible label for the control that jumps back to today. */
17726
+ today: string;
17727
+ /** The "+N more" overflow affordance in a day cell with more appointments than it can show. */
17728
+ moreAppointments: (count: number) => string;
17729
+ /** Accessible label for the view-switch control (month/week/day). */
17730
+ switchView: string;
17731
+ /** The month view's name, as shown in the view switch. */
17732
+ month: string;
17733
+ /** The week view's name, as shown in the view switch. */
17734
+ week: string;
17735
+ /** The day view's name, as shown in the view switch. */
17736
+ day: string;
17737
+ /** The agenda view's name, as shown in the view switch. */
17738
+ agenda: string;
17739
+ /** Built-in "Add appointment" toolbar action label. */
17740
+ addAppointment: string;
17741
+ /** Fallback heading for the edit surface while the open appointment has no title yet. */
17742
+ untitledAppointment: string;
17743
+ /** Accessible label for the edit surface's ancestor breadcrumb. */
17744
+ ancestors: string;
17745
+ /** Heading above the current appointment's children list in the edit surface. */
17746
+ subAppointments: string;
17747
+ /** Accessible label for the edit surface's action menu trigger. */
17748
+ moreActions: string;
17749
+ /** The edit surface's save button. */
17750
+ save: string;
17751
+ /** The edit surface's cancel button. */
17752
+ cancel: string;
17753
+ /** Built-in "Add sub-appointment" action label. */
17754
+ addSubAppointment: string;
17755
+ /** Built-in "Delete (with descendants)" action label. */
17756
+ deleteWithDescendants: string;
17757
+ /** Label for the built-in title edit field. */
17758
+ titleField: string;
17759
+ /** Label for the built-in start-time edit field. */
17760
+ startField: string;
17761
+ /** Label for the built-in end-time edit field. */
17762
+ endField: string;
17763
+ /** Label for the built-in location edit field. */
17764
+ locationField: string;
17765
+ /** Label for the built-in description edit field. */
17766
+ descriptionField: string;
17767
+ /** Label for the built-in color edit field. */
17768
+ colorField: string;
17769
+ };
17770
+ /** The built-in English labels. */
17771
+ declare const DEFAULT_SCHEDULER_LABELS: SchedulerLabels;
17772
+ declare const provideSchedulerLabels: (labels: _ethlete_core.LabelsSource<SchedulerLabels>) => _angular_core.Provider;
17773
+ declare const injectSchedulerLabels: () => _angular_core.Signal<SchedulerLabels>;
17774
+ declare const SCHEDULER_LABELS: _angular_core.InjectionToken<_ethlete_core.LabelsSource<SchedulerLabels>>;
17775
+
17776
+ /** Stable identity of an {@link Appointment}. */
17777
+ type AppointmentId = string;
17778
+ /**
17779
+ * One item on the scheduler - a leaf, or a link in a Jira-esque sub-appointment chain via
17780
+ * {@link parentId}. `TExtra` is the consumer's own extension point: custom edit-surface fields
17781
+ * read and write it, so adding a field never requires widening this type.
17782
+ */
17783
+ type Appointment<TExtra = unknown> = {
17784
+ id: AppointmentId;
17785
+ /** The appointment this one nests under, or `null` for a top-level appointment. */
17786
+ parentId: AppointmentId | null;
17787
+ title: string;
17788
+ start: Date;
17789
+ end: Date;
17790
+ allDay?: boolean;
17791
+ /** Resolves via the color-theming system - see `theming`. Never a literal color. */
17792
+ colorToken?: string;
17793
+ /** Shown by the built-in location badge adornment (`etSchedulerBadgeLocation`) when set. */
17794
+ location?: string;
17795
+ /** Edited by the built-in `etSchedulerEditDescription` edit-surface field. */
17796
+ description?: string;
17797
+ extra?: TExtra;
17798
+ };
17799
+ /** Which of the scheduler's views is on screen. */
17800
+ type SchedulerView = 'month' | 'week' | 'day' | 'agenda';
17801
+ /** The date span a view is currently showing - what appointments get filtered/queried against. */
17802
+ type SchedulerVisibleRange = {
17803
+ start: Date;
17804
+ end: Date;
17805
+ };
17806
+
17807
+ /** One node of the tree {@link buildAppointmentTree} produces - an appointment, its nesting depth, and its direct children, arbitrarily deep. */
17808
+ type AppointmentTreeNode<TExtra = unknown> = {
17809
+ appointment: Appointment<TExtra>;
17810
+ depth: number;
17811
+ children: AppointmentTreeNode<TExtra>[];
17812
+ };
17813
+ /** Every descendant a node has, at any depth - what the chain-count badge adornment shows. */
17814
+ declare const countDescendants: (node: Pick<AppointmentTreeNode, "children">) => number;
17815
+
17816
+ /** 0 = Sunday … 6 = Saturday. */
17817
+ type SchedulerWeekStartsOn = 0 | 1 | 2 | 3 | 4 | 5 | 6;
17818
+ /** A localized weekday name, in both its short (`Mon`) and long (`Monday`) form. */
17819
+ type SchedulerWeekday = {
17820
+ short: string;
17821
+ long: string;
17822
+ };
17823
+ /**
17824
+ * Headless scheduler state: the active view, the focused date, the visible date range each view
17825
+ * derives from it, and the appointment set arranged into sub-appointment chains. Operates on
17826
+ * `Date` objects and plain data only - rendering, badges and the edit surface are separate
17827
+ * features layered on top (see `SCHEDULER_FEATURE_HOST`).
17828
+ */
17829
+ declare class SchedulerDirective<TExtra = unknown> {
17830
+ private defaultLocale;
17831
+ /** Every appointment the scheduler knows about - not pre-filtered to the visible range. */
17832
+ appointments: _angular_core.InputSignal<readonly Appointment<TExtra>[]>;
17833
+ /** Which view is on screen. */
17834
+ view: _angular_core.ModelSignal<SchedulerView>;
17835
+ /** The date every view's visible range is derived from. */
17836
+ focusedDate: _angular_core.ModelSignal<Date>;
17837
+ /** The currently selected appointment, or `null`. */
17838
+ selectedAppointmentId: _angular_core.ModelSignal<string | null>;
17839
+ locale: _angular_core.InputSignal<Locale | null>;
17840
+ /** Defaults to the locale's week start, else Monday. */
17841
+ firstDayOfWeek: _angular_core.InputSignal<SchedulerWeekStartsOn | undefined>;
17842
+ effectiveLocale: _angular_core.Signal<Locale | null>;
17843
+ effectiveFirstDayOfWeek: _angular_core.Signal<SchedulerWeekStartsOn>;
17844
+ /**
17845
+ * The date span the active view is showing. Month pads out to full weeks, covering the grid's
17846
+ * leading/trailing days from adjacent months; week and agenda share one 7-day window, since
17847
+ * agenda is a flat render of the same days the week view lays out on a grid.
17848
+ */
17849
+ visibleRange: _angular_core.Signal<SchedulerVisibleRange>;
17850
+ /** {@link appointments}, arranged into sub-appointment chains - see `buildAppointmentTree`. */
17851
+ appointmentTree: _angular_core.Signal<_ethlete_components.AppointmentTreeNode<TExtra>[]>;
17852
+ /** The seven weekday names, starting from {@link effectiveFirstDayOfWeek} - for grid/agenda headers. */
17853
+ weekdays: _angular_core.Signal<SchedulerWeekday[]>;
17854
+ /** {@link appointments} that overlap {@link visibleRange} at all - not yet bucketed per view. */
17855
+ visibleAppointments: _angular_core.Signal<Appointment<TExtra>[]>;
17856
+ /** The selected appointment itself, or `null` - resolved from {@link selectedAppointmentId}. */
17857
+ selectedAppointment: _angular_core.Signal<Appointment<TExtra> | null>;
17858
+ /** Steps {@link focusedDate} forward by the active view's unit - a day, a week, or a month. */
17859
+ next(): void;
17860
+ /** Steps {@link focusedDate} backward by the active view's unit. */
17861
+ previous(): void;
17862
+ /** Focuses today. */
17863
+ goToToday(): void;
17864
+ private stepBy;
17865
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerDirective<any>, never>;
17866
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SchedulerDirective<any>, "[etScheduler]", ["etScheduler"], { "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; "view": { "alias": "view"; "required": false; "isSignal": true; }; "focusedDate": { "alias": "focusedDate"; "required": false; "isSignal": true; }; "selectedAppointmentId": { "alias": "selectedAppointmentId"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; "isSignal": true; }; }, { "view": "viewChange"; "focusedDate": "focusedDateChange"; "selectedAppointmentId": "selectedAppointmentIdChange"; }, never, never, true, never>;
17867
+ }
17868
+
17869
+ /** One day of an agenda list: the appointments (in chain order, depth-first) that touch it. */
17870
+ type SchedulerAgendaDay<TExtra = unknown> = {
17871
+ date: Date;
17872
+ today: boolean;
17873
+ nodes: AppointmentTreeNode<TExtra>[];
17874
+ };
17875
+
17876
+ /**
17877
+ * Groups the host `[etScheduler]`'s appointments into an agenda list: one entry per day of the
17878
+ * visible range, each holding the appointments that touch it in chain order. Pure layout - no
17879
+ * template structure, see `SchedulerAgendaViewComponent` for the default rendering.
17880
+ */
17881
+ declare class SchedulerAgendaDirective {
17882
+ private readonly hostElement;
17883
+ private scheduler;
17884
+ /** One entry per day of the visible range, laid out by `buildSchedulerAgenda`. */
17885
+ days: _angular_core.Signal<_ethlete_components.SchedulerAgendaDay<any>[]>;
17886
+ constructor();
17887
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerAgendaDirective, never>;
17888
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SchedulerAgendaDirective, "[etSchedulerAgenda]", ["etSchedulerAgenda"], {}, {}, never, never, true, never>;
17889
+ }
17890
+
17891
+ /**
17892
+ * Headless edit-surface state: which appointment is open, the live draft every field reads and
17893
+ * writes, and navigation across the sub-appointment chain (ancestors, children, "add
17894
+ * sub-appointment") - all without any template structure. `<et-scheduler-edit-surface>` applies
17895
+ * this via `hostDirectives` and renders the registered fields/actions on top (see
17896
+ * `SCHEDULER_EDIT_SURFACE_HOST`).
17897
+ */
17898
+ declare class SchedulerEditSurfaceDirective<TExtra = unknown> {
17899
+ /** The appointment to open the surface for - a freshly-synthesized blank one (with `id` already assigned) for "add". */
17900
+ appointment: _angular_core.InputSignal<Appointment<TExtra>>;
17901
+ /** Every appointment the scheduler knows about - for the ancestor breadcrumb, the children list, and chain-aware actions. */
17902
+ appointments: _angular_core.InputSignal<readonly Appointment<TExtra>[]>;
17903
+ /** Emits the draft when the surface commits an edit or a new sub-appointment. */
17904
+ save: _angular_core.OutputEmitterRef<Appointment<TExtra>>;
17905
+ /** Emits every id to remove - the current appointment plus, for "delete with descendants", its whole chain. */
17906
+ deleteAppointments: _angular_core.OutputEmitterRef<readonly string[]>;
17907
+ appointmentTree: _angular_core.Signal<_ethlete_components.AppointmentTreeNode<TExtra>[]>;
17908
+ /** A synthesized appointment not yet in `appointments()` - set while "add sub-appointment" is in progress. */
17909
+ private pendingAppointment;
17910
+ /**
17911
+ * Which appointment id the surface is currently showing. Starts at `appointment()`'s id;
17912
+ * breadcrumb/children navigation and "add sub-appointment" move it without opening a new dialog.
17913
+ */
17914
+ currentAppointmentId: _angular_core.WritableSignal<string>;
17915
+ /** The pre-edit snapshot of whichever appointment is currently shown. */
17916
+ currentAppointment: _angular_core.Signal<Appointment<TExtra>>;
17917
+ /**
17918
+ * The live draft every edit field reads and writes. Resets to `currentAppointment()` whenever
17919
+ * the surface navigates - unsaved edits are discarded on navigation, the same "edit a copy"
17920
+ * tradeoff the filter overlay makes.
17921
+ */
17922
+ draft: _angular_core.WritableSignal<Appointment<TExtra>>;
17923
+ /** `currentAppointment()`'s ancestor chain, root first - what the breadcrumb renders. */
17924
+ ancestors: _angular_core.Signal<Appointment<TExtra>[]>;
17925
+ private currentNode;
17926
+ /** `currentAppointment()`'s direct children - what the children list renders, each navigable via `navigateTo`. */
17927
+ children: _angular_core.Signal<_ethlete_components.AppointmentTreeNode<TExtra>[]>;
17928
+ /**
17929
+ * Navigates to a different appointment already in `appointments()` - a breadcrumb ancestor or a
17930
+ * child in the list. Discards any unsaved draft edits for the appointment navigated away from.
17931
+ */
17932
+ navigateTo(id: AppointmentId): void;
17933
+ /** Starts "add sub-appointment": synthesizes a blank child of `currentAppointment()` and navigates to it. */
17934
+ startAddSubAppointment(): void;
17935
+ /** Commits the current draft via `save` - the component closes the dialog on this. */
17936
+ commit(): void;
17937
+ /** Emits `deleteAppointments` for the current appointment and every descendant - the component closes the dialog on this. */
17938
+ requestDelete(): void;
17939
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerEditSurfaceDirective<any>, never>;
17940
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SchedulerEditSurfaceDirective<any>, "[etSchedulerEditSurface]", ["etSchedulerEditSurface"], { "appointment": { "alias": "appointment"; "required": true; "isSignal": true; }; "appointments": { "alias": "appointments"; "required": false; "isSignal": true; }; }, { "save": "save"; "deleteAppointments": "deleteAppointments"; }, never, never, true, never>;
17941
+ }
17942
+
17943
+ /**
17944
+ * A feature's contribution to every appointment badge/block - e.g. the title, a time range, the
17945
+ * location icon. The scheduler stamps `component` into every rendered badge (month cell, time-grid
17946
+ * block, agenda row), so the feature itself never needs a view of its own beyond this one piece.
17947
+ */
17948
+ type SchedulerBadgeAdornment = {
17949
+ /** The component to stamp. It must declare a `node` input to receive the tree node it renders for. */
17950
+ component: Type<{
17951
+ node: InputSignal<AppointmentTreeNode>;
17952
+ }>;
17953
+ /**
17954
+ * The injector the stamped component resolves from - pass the feature's own (`inject(Injector)`)
17955
+ * so the component can inject the feature that registered it. Defaults to the scheduler's own.
17956
+ */
17957
+ injector?: Injector;
17958
+ /**
17959
+ * Render order within the badge - lower renders first. The built-ins take `-10` (color dot),
17960
+ * `0` (title), `10` (time range), `20` (location), `30` (chain count); pick a number relative to
17961
+ * those to place your own adornment among them.
17962
+ *
17963
+ * @default 0
17964
+ */
17965
+ order?: number;
17966
+ /**
17967
+ * Whether this contribution is live. A feature registers once, in its constructor, and gates
17968
+ * itself with this rather than re-registering - so `[etSchedulerBadgeLocation]="{ enabled: … }"`
17969
+ * can be toggled at runtime. Omitted means always on.
17970
+ */
17971
+ enabled?: Signal<boolean>;
17972
+ };
17973
+ /** One entry in the scheduler's own toolbar - e.g. "Add appointment". */
17974
+ type SchedulerToolbarAction = {
17975
+ /** A signal so the built-ins stay correct if the app's labels/locale change at runtime. */
17976
+ label: Signal<string>;
17977
+ /** A registered icon name (see `IconDirective`), shown before the label. */
17978
+ icon?: string;
17979
+ /** Runs the action - called with the scheduler's own feature host still in scope. */
17980
+ run: () => void;
17981
+ /**
17982
+ * Render order - lower renders first. The built-in "Add appointment" takes `0`; pick a number
17983
+ * relative to that to place your own action among the built-ins.
17984
+ *
17985
+ * @default 0
17986
+ */
17987
+ order?: number;
17988
+ /** Whether this action is live. Omitted means always on - see {@link SchedulerBadgeAdornment.enabled}. */
17989
+ enabled?: Signal<boolean>;
17990
+ };
17991
+ /**
17992
+ * What an opt-in scheduler feature can reach on its host `<et-scheduler>`. Features **register**
17993
+ * themselves here (the scheduler never queries for them) - modeled on the table's
17994
+ * `TableFeatureHost`. This is the read-only surface every feature needs regardless of which one
17995
+ * it is; registration points (badge adornments, edit-surface fields, appointment actions, grid
17996
+ * overlays) are added here incrementally as the features that need them land.
17997
+ */
17998
+ type SchedulerFeatureHost = {
17999
+ /** The appointments currently in view - already filtered to the visible range. */
18000
+ appointments(): readonly Appointment[];
18001
+ /** {@link appointments}, arranged into sub-appointment chains - see `buildAppointmentTree`. */
18002
+ appointmentTree(): AppointmentTreeNode[];
18003
+ /** The currently selected appointment, or `null`. */
18004
+ selectedAppointment(): Appointment | null;
18005
+ /** The scheduler's host element - a feature is a directive on it, so this is also what it can listen on or measure. */
18006
+ readonly element: HTMLElement;
18007
+ /** Add a piece of content to every appointment badge/block. Call once, from the feature's constructor. */
18008
+ registerBadgeAdornment(adornment: SchedulerBadgeAdornment): void;
18009
+ /** The registered badge adornments, enabled ones only, in render order - what every view renders per badge. */
18010
+ badgeAdornments(): readonly SchedulerBadgeAdornment[];
18011
+ /** Add an entry to the scheduler's own toolbar. Call once, from the feature's constructor. */
18012
+ registerToolbarAction(action: SchedulerToolbarAction): void;
18013
+ /** The registered toolbar actions, enabled ones only, in render order. */
18014
+ toolbarActions(): readonly SchedulerToolbarAction[];
18015
+ /**
18016
+ * Synthesizes a brand-new, blank top-level appointment and opens the default edit surface for
18017
+ * it - only meaningful with that default surface, the same caveat the scheduler's own
18018
+ * click-to-edit behavior already has. Exposed on the host (rather than a feature injecting
18019
+ * `SchedulerComponent` directly) so a built-in toolbar action can call it without a static
18020
+ * import cycle back to the component that bundles it.
18021
+ */
18022
+ addAppointment(): void;
18023
+ };
18024
+ declare const SCHEDULER_FEATURE_HOST: InjectionToken<SchedulerFeatureHost>;
18025
+ /** Options every badge adornment feature accepts on top of its own. */
18026
+ type SchedulerFeatureConfig = {
18027
+ /**
18028
+ * Turn the feature off without removing it - a directive can't be applied conditionally, so this
18029
+ * is how `[etSchedulerBadgeLocation]="{ enabled: canShow() }"` toggles at runtime. @default true
18030
+ */
18031
+ enabled?: boolean;
18032
+ };
18033
+ /**
18034
+ * Read a feature's config input. A feature directive is usually written bare
18035
+ * (`etSchedulerBadgeLocation`), which Angular binds as the empty string - normalize that to "no
18036
+ * options given".
18037
+ */
18038
+ declare const schedulerFeatureConfig: <TConfig extends SchedulerFeatureConfig>(value: TConfig | "") => TConfig;
18039
+ /**
18040
+ * Inject the host scheduler from inside a feature. Throws a labelled error when the feature was
18041
+ * placed outside an `<et-scheduler>`, where it could only ever silently do nothing.
18042
+ */
18043
+ declare const injectSchedulerFeatureHost: (feature: string) => SchedulerFeatureHost;
18044
+ /**
18045
+ * One field the edit surface renders for the appointment it's editing - e.g. the title, the time
18046
+ * range, the location. Deliberately not part of {@link SchedulerFeatureHost}: a badge adornment
18047
+ * describes one appointment among many visible ones, while an edit field describes the single
18048
+ * appointment `<et-scheduler-edit-surface>` has open, so the two hosts expose different data.
18049
+ */
18050
+ type SchedulerEditField = {
18051
+ /**
18052
+ * The component to stamp. Must declare `draft` as a required input typed
18053
+ * `WritableSignal<Appointment>` - the appointment being edited, shared by every field. Call
18054
+ * `draft()` for the writable signal, then read it (`draft()()`) or write it
18055
+ * (`draft().update(a => ({ ...a, title: value }))`).
18056
+ */
18057
+ component: Type<{
18058
+ draft: InputSignal<WritableSignal<Appointment>>;
18059
+ }>;
18060
+ /**
18061
+ * The injector the stamped component resolves from - pass the feature's own (`inject(Injector)`)
18062
+ * so the component can inject the feature that registered it. Defaults to the surface's own.
18063
+ */
18064
+ injector?: Injector;
18065
+ /**
18066
+ * Render order within the surface - lower renders first. The built-ins take `0` (title), `10`
18067
+ * (time range), `20` (location), `30` (description), `40` (color); pick a number relative to
18068
+ * those to place your own field among them.
18069
+ *
18070
+ * @default 0
18071
+ */
18072
+ order?: number;
18073
+ /** Whether this field is live. Omitted means always on - see {@link SchedulerBadgeAdornment.enabled}. */
18074
+ enabled?: Signal<boolean>;
18075
+ /** Whether the field's current draft value is valid - gates the surface's save button. Omitted means always valid. */
18076
+ valid?: Signal<boolean>;
18077
+ };
18078
+ /** One entry in the edit surface's action menu - e.g. "Add sub-appointment", "Delete (with descendants)". */
18079
+ type SchedulerAppointmentAction = {
18080
+ /** A signal so the built-ins stay correct if the app's labels/locale change at runtime. */
18081
+ label: Signal<string>;
18082
+ /** A registered icon name (see `IconDirective`), shown before the label. */
18083
+ icon?: string;
18084
+ /** Runs the action - called with the surface's feature host still in scope, so it can read `appointment()`/`appointmentTree()`. */
18085
+ run: () => void;
18086
+ /**
18087
+ * Render order - lower renders first. The built-ins take `0` ("Add sub-appointment") and `100`
18088
+ * ("Delete (with descendants)").
18089
+ *
18090
+ * @default 0
18091
+ */
18092
+ order?: number;
18093
+ enabled?: Signal<boolean>;
18094
+ /** Renders the action with the app's error color (`et-menu-item`'s `destructive` variant). @default false */
18095
+ destructive?: boolean;
18096
+ };
18097
+ /**
18098
+ * What an opt-in edit-surface feature can reach on its host `<et-scheduler-edit-surface>` -
18099
+ * modeled on {@link SchedulerFeatureHost}, but scoped to the single appointment the surface has
18100
+ * open rather than every visible one.
18101
+ */
18102
+ type SchedulerEditSurfaceHost = {
18103
+ /** The pre-edit snapshot of the appointment currently open - stable identity for actions (e.g. "add sub-appointment" reading its id as `parentId`). Live edits are read from the field's own `draft`. */
18104
+ appointment(): Appointment;
18105
+ /** Every appointment the scheduler knows about, arranged into chains - for the ancestor breadcrumb, the children list, and descendant-collecting actions. */
18106
+ appointmentTree(): AppointmentTreeNode[];
18107
+ /** The surface's own host element. */
18108
+ readonly element: HTMLElement;
18109
+ /** Add a field to the surface. Call once, from the feature's constructor. */
18110
+ registerEditField(field: SchedulerEditField): void;
18111
+ /** The registered edit fields, enabled ones only, in render order. */
18112
+ editFields(): readonly SchedulerEditField[];
18113
+ /** Add an entry to the surface's action menu. Call once, from the feature's constructor. */
18114
+ registerAppointmentAction(action: SchedulerAppointmentAction): void;
18115
+ /** The registered appointment actions, enabled ones only, in render order. */
18116
+ appointmentActions(): readonly SchedulerAppointmentAction[];
18117
+ };
18118
+ declare const SCHEDULER_EDIT_SURFACE_HOST: InjectionToken<SchedulerEditSurfaceHost>;
18119
+ /**
18120
+ * Inject the host edit surface from inside a feature. Throws a labelled error when the feature was
18121
+ * placed outside an `<et-scheduler-edit-surface>`, where it could only ever silently do nothing.
18122
+ */
18123
+ declare const injectSchedulerEditSurfaceHost: (feature: string) => SchedulerEditSurfaceHost;
18124
+
18125
+ /** One day cell of a month grid: the appointments it shows, capped, and the rest it hides. */
18126
+ type SchedulerMonthDayCell<TExtra = unknown> = {
18127
+ date: Date;
18128
+ outsideMonth: boolean;
18129
+ today: boolean;
18130
+ visible: AppointmentTreeNode<TExtra>[];
18131
+ overflow: AppointmentTreeNode<TExtra>[];
18132
+ };
18133
+
18134
+ /**
18135
+ * Buckets the host `[etScheduler]`'s appointments into a month grid: one day cell per day of the
18136
+ * padded month, each capped to {@link maxVisiblePerCell} appointments so the view can render a
18137
+ * "+N more" affordance for the rest. Pure layout - no template structure, see
18138
+ * `SchedulerMonthViewComponent` for the default rendering.
18139
+ */
18140
+ declare class SchedulerMonthDirective {
18141
+ private readonly hostElement;
18142
+ private scheduler;
18143
+ /** How many appointments a day cell shows before the rest collapse into an overflow count. */
18144
+ maxVisiblePerCell: _angular_core.InputSignalWithTransform<number, unknown>;
18145
+ /** Full weeks covering the focused month, padded with the adjacent months' leading/trailing days. */
18146
+ weeks: _angular_core.Signal<_ethlete_components.SchedulerMonthDayCell<any>[][]>;
18147
+ constructor();
18148
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerMonthDirective, never>;
18149
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SchedulerMonthDirective, "[etSchedulerMonth]", ["etSchedulerMonth"], { "maxVisiblePerCell": { "alias": "maxVisiblePerCell"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18150
+ }
18151
+
18152
+ /** One timed appointment positioned on a time-grid day column. */
18153
+ type SchedulerTimeGridBlock<TExtra = unknown> = {
18154
+ node: AppointmentTreeNode<TExtra>;
18155
+ /** Percent (0-100) of the day the block starts at - its `inset-block-start` within the day column. */
18156
+ offset: number;
18157
+ /** Percent (0-100] of the day the block spans - its `block-size` within the day column. */
18158
+ span: number;
18159
+ /** 0-based column index within this block's overlap group. */
18160
+ column: number;
18161
+ /** How many columns wide this block's overlap group is - every block in the group shares this width. */
18162
+ columnCount: number;
18163
+ /** Percent (0-100) of the day column's inline size the block starts at - `inset-inline-start`. */
18164
+ inlineOffset: number;
18165
+ /** Percent (0-100] of the day column's inline size the block occupies - `inline-size`. */
18166
+ inlineSize: number;
18167
+ };
18168
+ /** One day column of a time grid: its positioned timed blocks. All-day appointments live in {@link SchedulerTimeGrid.allDay} instead, spanning the days they cover. */
18169
+ type SchedulerTimeGridDay<TExtra = unknown> = {
18170
+ date: Date;
18171
+ today: boolean;
18172
+ blocks: SchedulerTimeGridBlock<TExtra>[];
18173
+ };
18174
+ /** One all-day appointment positioned across the time grid's day columns. */
18175
+ type SchedulerTimeGridAllDayEntry<TExtra = unknown> = {
18176
+ node: AppointmentTreeNode<TExtra>;
18177
+ /** Percent (0-100) of the visible range's width the entry starts at - `inset-inline-start`. */
18178
+ inlineOffset: number;
18179
+ /** Percent (0-100] of the visible range's width the entry spans - `inline-size`. */
18180
+ inlineSize: number;
18181
+ /** 0-based stacking row among all-day entries whose day spans overlap. */
18182
+ row: number;
18183
+ };
18184
+
18185
+ /**
18186
+ * Lays the host `[etScheduler]`'s appointments onto an hour-axis time grid: one day column per day
18187
+ * of the visible range - a single day for the day view, seven for the week view, same directive,
18188
+ * only the range differs. Each column splits into an all-day strip and overlap-packed timed
18189
+ * blocks. Pure layout - no template structure, see `SchedulerTimeGridViewComponent` for the
18190
+ * default rendering.
18191
+ */
18192
+ declare class SchedulerTimeGridDirective {
18193
+ private readonly hostElement;
18194
+ private scheduler;
18195
+ private grid;
18196
+ /** One day column per day of the visible range. */
18197
+ days: _angular_core.Signal<_ethlete_components.SchedulerTimeGridDay<any>[]>;
18198
+ /** All-day appointments, each spanning the visible days it covers and stacked to avoid overlap. */
18199
+ allDay: _angular_core.Signal<_ethlete_components.SchedulerTimeGridAllDayEntry<any>[]>;
18200
+ /** How many stacking rows {@link allDay} needs - sizes the all-day lane's reserved space. */
18201
+ allDayRowCount: _angular_core.Signal<number>;
18202
+ /**
18203
+ * Which hour the body's scrollable region should open scrolled to - the current hour when today
18204
+ * is visible, else the earliest appointment's hour, else a business-hours default. See
18205
+ * `SchedulerTimeGridViewComponent`, which reads this once on mount rather than reactively, so
18206
+ * navigating days/weeks afterwards never yanks the user's own scroll position back.
18207
+ */
18208
+ initialScrollHour: _angular_core.Signal<number>;
18209
+ constructor();
18210
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerTimeGridDirective, never>;
18211
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SchedulerTimeGridDirective, "[etSchedulerTimeGrid]", ["etSchedulerTimeGrid"], {}, {}, never, never, true, never>;
18212
+ }
18213
+
18214
+ /** Options for {@link SchedulerActionAddAppointmentDirective}. */
18215
+ type SchedulerActionAddAppointmentConfig = SchedulerFeatureConfig;
18216
+ /**
18217
+ * Built-in toolbar action: opens the default edit surface for a brand-new, blank top-level
18218
+ * appointment - see `SchedulerFeatureHost.addAppointment`. One of the default pieces
18219
+ * `<et-scheduler>` bundles - see `registerToolbarAction`. Depends on the default edit surface
18220
+ * (it's what the dialog it opens is), so unlike `etSchedulerActionAddSubAppointment` it has no
18221
+ * bare-`[etScheduler]` equivalent - a headless-only composition needs its own "new appointment"
18222
+ * affordance.
18223
+ *
18224
+ * @example
18225
+ * <et-scheduler [etSchedulerActionAddAppointment]="{ enabled: false }" … />
18226
+ */
18227
+ declare class SchedulerActionAddAppointmentDirective {
18228
+ private host;
18229
+ private labels;
18230
+ /** See {@link SchedulerActionAddAppointmentConfig}. */
18231
+ config: _angular_core.InputSignalWithTransform<SchedulerFeatureConfig, "" | SchedulerFeatureConfig>;
18232
+ constructor();
18233
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerActionAddAppointmentDirective, never>;
18234
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SchedulerActionAddAppointmentDirective, "[etSchedulerActionAddAppointment]", ["etSchedulerActionAddAppointment"], { "config": { "alias": "etSchedulerActionAddAppointment"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18235
+ }
18236
+
18237
+ /** Options for {@link SchedulerActionAddSubAppointmentDirective}. */
18238
+ type SchedulerActionAddSubAppointmentConfig = SchedulerFeatureConfig;
18239
+ /**
18240
+ * Built-in appointment action: starts adding a sub-appointment of the surface's current
18241
+ * appointment - see `SchedulerEditSurfaceDirective.startAddSubAppointment`. One of the default
18242
+ * pieces `<et-scheduler-edit-surface>` bundles - see `registerAppointmentAction`.
18243
+ *
18244
+ * @example
18245
+ * <et-scheduler-edit-surface [etSchedulerActionAddSubAppointment]="{ enabled: false }" … />
18246
+ */
18247
+ declare class SchedulerActionAddSubAppointmentDirective {
18248
+ private host;
18249
+ private surface;
18250
+ private labels;
18251
+ /** See {@link SchedulerActionAddSubAppointmentConfig}. */
18252
+ config: _angular_core.InputSignalWithTransform<SchedulerFeatureConfig, "" | SchedulerFeatureConfig>;
18253
+ constructor();
18254
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerActionAddSubAppointmentDirective, never>;
18255
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SchedulerActionAddSubAppointmentDirective, "[etSchedulerActionAddSubAppointment]", ["etSchedulerActionAddSubAppointment"], { "config": { "alias": "etSchedulerActionAddSubAppointment"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18256
+ }
18257
+
18258
+ /** Options for {@link SchedulerActionDeleteDirective}. */
18259
+ type SchedulerActionDeleteConfig = SchedulerFeatureConfig;
18260
+ /**
18261
+ * Built-in appointment action: deletes the surface's current appointment together with every
18262
+ * descendant - see `SchedulerEditSurfaceDirective.requestDelete`. One of the default pieces
18263
+ * `<et-scheduler-edit-surface>` bundles - see `registerAppointmentAction`.
18264
+ *
18265
+ * @example
18266
+ * <et-scheduler-edit-surface [etSchedulerActionDelete]="{ enabled: false }" … />
18267
+ */
18268
+ declare class SchedulerActionDeleteDirective {
18269
+ private host;
18270
+ private surface;
18271
+ private labels;
18272
+ /** See {@link SchedulerActionDeleteConfig}. */
18273
+ config: _angular_core.InputSignalWithTransform<SchedulerFeatureConfig, "" | SchedulerFeatureConfig>;
18274
+ constructor();
18275
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerActionDeleteDirective, never>;
18276
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SchedulerActionDeleteDirective, "[etSchedulerActionDelete]", ["etSchedulerActionDelete"], { "config": { "alias": "etSchedulerActionDelete"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18277
+ }
18278
+
18279
+ /** The default agenda list: one section per visible day, appointments as full-width badges indented by chain depth. */
18280
+ declare class SchedulerAgendaViewComponent {
18281
+ protected scheduler: SchedulerDirective<any> | null;
18282
+ protected agenda: SchedulerAgendaDirective;
18283
+ private featureHost;
18284
+ constructor();
18285
+ /** UI contributed by badge features (title, time range, …) - see `registerBadgeAdornment`. */
18286
+ protected badgeAdornments(): readonly _ethlete_components.SchedulerBadgeAdornment[];
18287
+ protected weekdayLabel(date: Date): string;
18288
+ protected isSelected(appointment: Appointment): boolean;
18289
+ protected select(appointment: Appointment): void;
18290
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerAgendaViewComponent, never>;
18291
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SchedulerAgendaViewComponent, "et-scheduler-agenda-view", never, {}, {}, never, never, true, [{ directive: typeof SchedulerAgendaDirective; inputs: {}; outputs: {}; }]>;
18292
+ }
18293
+
18294
+ /** Options for {@link SchedulerBadgeChainCountDirective}. */
18295
+ type SchedulerBadgeChainCountConfig = SchedulerFeatureConfig;
18296
+ /**
18297
+ * Built-in badge adornment: a chevron and the appointment's total descendant count (every depth) -
18298
+ * hidden for an appointment with no sub-appointments. One of the default pieces `<et-scheduler>`
18299
+ * bundles - see `registerBadgeAdornment`.
18300
+ *
18301
+ * @example
18302
+ * <et-scheduler [etSchedulerBadgeChainCount]="{ enabled: false }" … />
18303
+ */
18304
+ declare class SchedulerBadgeChainCountDirective {
18305
+ private host;
18306
+ /** See {@link SchedulerBadgeChainCountConfig}. */
18307
+ config: _angular_core.InputSignalWithTransform<SchedulerFeatureConfig, "" | SchedulerFeatureConfig>;
18308
+ constructor();
18309
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerBadgeChainCountDirective, never>;
18310
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SchedulerBadgeChainCountDirective, "[etSchedulerBadgeChainCount]", ["etSchedulerBadgeChainCount"], { "config": { "alias": "etSchedulerBadgeChainCount"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18311
+ }
18312
+
18313
+ /** Options for {@link SchedulerBadgeColorDotDirective}. */
18314
+ type SchedulerBadgeColorDotConfig = SchedulerFeatureConfig;
18315
+ /**
18316
+ * Built-in badge adornment: the small dot in the appointment's own color, ahead of its title. One
18317
+ * of the default pieces `<et-scheduler>` bundles - see `registerBadgeAdornment`.
18318
+ *
18319
+ * @example
18320
+ * <et-scheduler [etSchedulerBadgeColorDot]="{ enabled: false }" … />
18321
+ */
18322
+ declare class SchedulerBadgeColorDotDirective {
18323
+ private host;
18324
+ /** See {@link SchedulerBadgeColorDotConfig}. */
18325
+ config: _angular_core.InputSignalWithTransform<SchedulerFeatureConfig, "" | SchedulerFeatureConfig>;
18326
+ constructor();
18327
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerBadgeColorDotDirective, never>;
18328
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SchedulerBadgeColorDotDirective, "[etSchedulerBadgeColorDot]", ["etSchedulerBadgeColorDot"], { "config": { "alias": "etSchedulerBadgeColorDot"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18329
+ }
18330
+
18331
+ /** Options for {@link SchedulerBadgeLocationDirective}. */
18332
+ type SchedulerBadgeLocationConfig = SchedulerFeatureConfig;
18333
+ /**
18334
+ * Built-in badge adornment: the appointment's `location`, with a pin icon - hidden when unset.
18335
+ * One of the default pieces `<et-scheduler>` bundles - see `registerBadgeAdornment`.
18336
+ *
18337
+ * @example
18338
+ * <et-scheduler [etSchedulerBadgeLocation]="{ enabled: false }" … />
18339
+ */
18340
+ declare class SchedulerBadgeLocationDirective {
18341
+ private host;
18342
+ /** See {@link SchedulerBadgeLocationConfig}. */
18343
+ config: _angular_core.InputSignalWithTransform<SchedulerFeatureConfig, "" | SchedulerFeatureConfig>;
18344
+ constructor();
18345
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerBadgeLocationDirective, never>;
18346
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SchedulerBadgeLocationDirective, "[etSchedulerBadgeLocation]", ["etSchedulerBadgeLocation"], { "config": { "alias": "etSchedulerBadgeLocation"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18347
+ }
18348
+
18349
+ /** Options for {@link SchedulerBadgeTimeRangeDirective}. */
18350
+ type SchedulerBadgeTimeRangeConfig = SchedulerFeatureConfig;
18351
+ /**
18352
+ * Built-in badge adornment: the appointment's `start`–`end` time, hidden for an all-day
18353
+ * appointment. One of the default pieces `<et-scheduler>` bundles - see `registerBadgeAdornment`.
18354
+ *
18355
+ * @example
18356
+ * <et-scheduler [etSchedulerBadgeTimeRange]="{ enabled: false }" … />
18357
+ */
18358
+ declare class SchedulerBadgeTimeRangeDirective {
18359
+ private host;
18360
+ /** See {@link SchedulerBadgeTimeRangeConfig}. */
18361
+ config: _angular_core.InputSignalWithTransform<SchedulerFeatureConfig, "" | SchedulerFeatureConfig>;
18362
+ constructor();
18363
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerBadgeTimeRangeDirective, never>;
18364
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SchedulerBadgeTimeRangeDirective, "[etSchedulerBadgeTimeRange]", ["etSchedulerBadgeTimeRange"], { "config": { "alias": "etSchedulerBadgeTimeRange"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18365
+ }
18366
+
18367
+ /** Options for {@link SchedulerBadgeTitleDirective}. */
18368
+ type SchedulerBadgeTitleConfig = SchedulerFeatureConfig;
18369
+ /**
18370
+ * Built-in badge adornment: the appointment's title. One of the default pieces `<et-scheduler>`
18371
+ * bundles - see `registerBadgeAdornment`.
18372
+ *
18373
+ * @example
18374
+ * <et-scheduler [etSchedulerBadgeTitle]="{ enabled: false }" … />
18375
+ */
18376
+ declare class SchedulerBadgeTitleDirective {
18377
+ private host;
18378
+ /** See {@link SchedulerBadgeTitleConfig}. */
18379
+ config: _angular_core.InputSignalWithTransform<SchedulerFeatureConfig, "" | SchedulerFeatureConfig>;
18380
+ constructor();
18381
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerBadgeTitleDirective, never>;
18382
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SchedulerBadgeTitleDirective, "[etSchedulerBadgeTitle]", ["etSchedulerBadgeTitle"], { "config": { "alias": "etSchedulerBadgeTitle"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18383
+ }
18384
+
18385
+ /** Options for {@link SchedulerEditColorDirective}. */
18386
+ type SchedulerEditColorConfig = SchedulerFeatureConfig;
18387
+ /**
18388
+ * Built-in edit-surface field: the appointment's `colorToken`. One of the default pieces
18389
+ * `<et-scheduler-edit-surface>` bundles - see `registerEditField`.
18390
+ *
18391
+ * @example
18392
+ * <et-scheduler-edit-surface [etSchedulerEditColor]="{ enabled: false }" … />
18393
+ */
18394
+ declare class SchedulerEditColorDirective {
18395
+ private host;
18396
+ /** See {@link SchedulerEditColorConfig}. */
18397
+ config: _angular_core.InputSignalWithTransform<SchedulerFeatureConfig, "" | SchedulerFeatureConfig>;
18398
+ constructor();
18399
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerEditColorDirective, never>;
18400
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SchedulerEditColorDirective, "[etSchedulerEditColor]", ["etSchedulerEditColor"], { "config": { "alias": "etSchedulerEditColor"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18401
+ }
18402
+
18403
+ /** Options for {@link SchedulerEditDescriptionDirective}. */
18404
+ type SchedulerEditDescriptionConfig = SchedulerFeatureConfig;
18405
+ /**
18406
+ * Built-in edit-surface field: the appointment's `description`. One of the default pieces
18407
+ * `<et-scheduler-edit-surface>` bundles - see `registerEditField`.
18408
+ *
18409
+ * @example
18410
+ * <et-scheduler-edit-surface [etSchedulerEditDescription]="{ enabled: false }" … />
18411
+ */
18412
+ declare class SchedulerEditDescriptionDirective {
18413
+ private host;
18414
+ /** See {@link SchedulerEditDescriptionConfig}. */
18415
+ config: _angular_core.InputSignalWithTransform<SchedulerFeatureConfig, "" | SchedulerFeatureConfig>;
18416
+ constructor();
18417
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerEditDescriptionDirective, never>;
18418
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SchedulerEditDescriptionDirective, "[etSchedulerEditDescription]", ["etSchedulerEditDescription"], { "config": { "alias": "etSchedulerEditDescription"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18419
+ }
18420
+
18421
+ /** Options for {@link SchedulerEditLocationDirective}. */
18422
+ type SchedulerEditLocationConfig = SchedulerFeatureConfig;
18423
+ /**
18424
+ * Built-in edit-surface field: the appointment's `location`. One of the default pieces
18425
+ * `<et-scheduler-edit-surface>` bundles - see `registerEditField`.
18426
+ *
18427
+ * @example
18428
+ * <et-scheduler-edit-surface [etSchedulerEditLocation]="{ enabled: false }" … />
18429
+ */
18430
+ declare class SchedulerEditLocationDirective {
18431
+ private host;
18432
+ /** See {@link SchedulerEditLocationConfig}. */
18433
+ config: _angular_core.InputSignalWithTransform<SchedulerFeatureConfig, "" | SchedulerFeatureConfig>;
18434
+ constructor();
18435
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerEditLocationDirective, never>;
18436
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SchedulerEditLocationDirective, "[etSchedulerEditLocation]", ["etSchedulerEditLocation"], { "config": { "alias": "etSchedulerEditLocation"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18437
+ }
18438
+
18439
+ /** Options for {@link SchedulerEditTitleDirective}. */
18440
+ type SchedulerEditTitleConfig = SchedulerFeatureConfig;
18441
+ /**
18442
+ * Built-in edit-surface field: the appointment's title. One of the default pieces
18443
+ * `<et-scheduler-edit-surface>` bundles - see `registerEditField`. Required - the field is
18444
+ * invalid while the draft's title is blank, which gates the surface's save button.
18445
+ *
18446
+ * @example
18447
+ * <et-scheduler-edit-surface [etSchedulerEditTitle]="{ enabled: false }" … />
18448
+ */
18449
+ declare class SchedulerEditTitleDirective {
18450
+ private host;
18451
+ private surface;
18452
+ /** See {@link SchedulerEditTitleConfig}. */
18453
+ config: _angular_core.InputSignalWithTransform<SchedulerFeatureConfig, "" | SchedulerFeatureConfig>;
18454
+ constructor();
18455
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerEditTitleDirective, never>;
18456
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SchedulerEditTitleDirective, "[etSchedulerEditTitle]", ["etSchedulerEditTitle"], { "config": { "alias": "etSchedulerEditTitle"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18457
+ }
18458
+
18459
+ /** Options for {@link SchedulerEditTimeRangeDirective}. */
18460
+ type SchedulerEditTimeRangeConfig = SchedulerFeatureConfig;
18461
+ /**
18462
+ * Built-in edit-surface field: the appointment's `start`/`end`. One of the default pieces
18463
+ * `<et-scheduler-edit-surface>` bundles - see `registerEditField`. Invalid while `end` is before
18464
+ * `start`, which gates the surface's save button.
18465
+ *
18466
+ * @example
18467
+ * <et-scheduler-edit-surface [etSchedulerEditTimeRange]="{ enabled: false }" … />
18468
+ */
18469
+ declare class SchedulerEditTimeRangeDirective {
18470
+ private host;
18471
+ private surface;
18472
+ /** See {@link SchedulerEditTimeRangeConfig}. */
18473
+ config: _angular_core.InputSignalWithTransform<SchedulerFeatureConfig, "" | SchedulerFeatureConfig>;
18474
+ constructor();
18475
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerEditTimeRangeDirective, never>;
18476
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SchedulerEditTimeRangeDirective, "[etSchedulerEditTimeRange]", ["etSchedulerEditTimeRange"], { "config": { "alias": "etSchedulerEditTimeRange"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
18477
+ }
18478
+
18479
+ /** What `<et-scheduler-edit-surface>`'s overlay closes with. A dismiss without saving closes with `undefined`. */
18480
+ type SchedulerEditSurfaceResult = {
18481
+ kind: 'save';
18482
+ appointment: Appointment;
18483
+ } | {
18484
+ kind: 'delete';
18485
+ ids: readonly AppointmentId[];
18486
+ };
18487
+ /**
18488
+ * The default edit surface: a dialog for one appointment, its fields, its ancestor breadcrumb and
18489
+ * children list, and an action menu - built on the overlay system. Orchestrates the active fields
18490
+ * + actions via `hostDirectives: [SchedulerEditSurfaceDirective]`, bakes the built-in fields and
18491
+ * actions in by default (each forwarding its own config input, same pattern as `<et-scheduler>`'s
18492
+ * badge adornments), and applies `SCHEDULER_EDIT_SURFACE_HOST` so they can register.
18493
+ */
18494
+ declare class SchedulerEditSurfaceComponent implements SchedulerEditSurfaceHost {
18495
+ private labels;
18496
+ private elementRef;
18497
+ private overlayRef;
18498
+ /** The headless directive behind this surface - field/action registration, draft state and navigation. */
18499
+ surface: SchedulerEditSurfaceDirective<any>;
18500
+ cancelLabel: _angular_core.Signal<string>;
18501
+ saveLabel: _angular_core.Signal<string>;
18502
+ moreActionsLabel: _angular_core.Signal<string>;
18503
+ ancestorsLabel: _angular_core.Signal<string>;
18504
+ subAppointmentsLabel: _angular_core.Signal<string>;
18505
+ untitledLabel: _angular_core.Signal<string>;
18506
+ headerLabel: _angular_core.Signal<string>;
18507
+ private editFieldList;
18508
+ private appointmentActionList;
18509
+ editFields: _angular_core.Signal<SchedulerEditField[]>;
18510
+ appointmentActions: _angular_core.Signal<SchedulerAppointmentAction[]>;
18511
+ /** Gates the save button - every currently-enabled field must report itself valid. */
18512
+ canSave: _angular_core.Signal<boolean>;
18513
+ constructor();
18514
+ /** Part of the feature contract - see `SchedulerEditSurfaceHost`. */
18515
+ get element(): HTMLElement;
18516
+ /** Part of the feature contract - see `SchedulerEditSurfaceHost`. */
18517
+ get appointment(): _angular_core.Signal<Appointment<any>>;
18518
+ /** Part of the feature contract - see `SchedulerEditSurfaceHost`. */
18519
+ get appointmentTree(): _angular_core.Signal<_ethlete_components.AppointmentTreeNode<any>[]>;
18520
+ /** Part of the feature contract - see `SchedulerEditSurfaceHost`. */
18521
+ registerEditField(field: SchedulerEditField): void;
18522
+ /** Part of the feature contract - see `SchedulerEditSurfaceHost`. */
18523
+ registerAppointmentAction(action: SchedulerAppointmentAction): void;
18524
+ protected save(): void;
18525
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerEditSurfaceComponent, never>;
18526
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SchedulerEditSurfaceComponent, "et-scheduler-edit-surface", never, {}, {}, never, never, true, [{ directive: typeof OverlayMainDirective; inputs: {}; outputs: {}; }, { directive: typeof SchedulerEditSurfaceDirective; inputs: { "appointment": "appointment"; "appointments": "appointments"; }; outputs: {}; }, { directive: typeof SchedulerEditTitleDirective; inputs: { "etSchedulerEditTitle": "etSchedulerEditTitle"; }; outputs: {}; }, { directive: typeof SchedulerEditTimeRangeDirective; inputs: { "etSchedulerEditTimeRange": "etSchedulerEditTimeRange"; }; outputs: {}; }, { directive: typeof SchedulerEditLocationDirective; inputs: { "etSchedulerEditLocation": "etSchedulerEditLocation"; }; outputs: {}; }, { directive: typeof SchedulerEditDescriptionDirective; inputs: { "etSchedulerEditDescription": "etSchedulerEditDescription"; }; outputs: {}; }, { directive: typeof SchedulerEditColorDirective; inputs: { "etSchedulerEditColor": "etSchedulerEditColor"; }; outputs: {}; }, { directive: typeof SchedulerActionAddSubAppointmentDirective; inputs: { "etSchedulerActionAddSubAppointment": "etSchedulerActionAddSubAppointment"; }; outputs: {}; }, { directive: typeof SchedulerActionDeleteDirective; inputs: { "etSchedulerActionDelete": "etSchedulerActionDelete"; }; outputs: {}; }]>;
18527
+ }
18528
+ /** Opens `<et-scheduler-edit-surface>` as a dialog - what `<et-scheduler>` uses to auto-open on selection. */
18529
+ declare const SCHEDULER_EDIT_SURFACE_OVERLAY: _ethlete_components.OverlayDefinition<SchedulerEditSurfaceComponent, SchedulerEditSurfaceResult>;
18530
+
18531
+ declare class SchedulerComponent implements SchedulerFeatureHost {
18532
+ private labels;
18533
+ /**
18534
+ * The headless directive behind this scheduler - everything `[etScheduler]` exposes, for chrome
18535
+ * of your own around or instead of the default toolbar (`<et-scheduler #s>` then `s.headless`).
18536
+ */
18537
+ headless: SchedulerDirective<any>;
18538
+ private elementRef;
18539
+ /** Emits the edited or newly-added appointment once the default edit surface saves. */
18540
+ appointmentSave: _angular_core.OutputEmitterRef<Appointment>;
18541
+ /** Emits every id to remove once the default edit surface deletes a chain. */
18542
+ appointmentsDelete: _angular_core.OutputEmitterRef<readonly string[]>;
18543
+ previousLabel: _angular_core.Signal<string>;
18544
+ nextLabel: _angular_core.Signal<string>;
18545
+ todayLabel: _angular_core.Signal<string>;
18546
+ switchViewLabel: _angular_core.Signal<string>;
18547
+ monthViewLabel: _angular_core.Signal<string>;
18548
+ weekViewLabel: _angular_core.Signal<string>;
18549
+ dayViewLabel: _angular_core.Signal<string>;
18550
+ agendaViewLabel: _angular_core.Signal<string>;
18551
+ headerLabel: _angular_core.Signal<string>;
18552
+ private badgeAdornmentList;
18553
+ badgeAdornments: _angular_core.Signal<SchedulerBadgeAdornment[]>;
18554
+ private toolbarActionList;
18555
+ toolbarActions: _angular_core.Signal<SchedulerToolbarAction[]>;
18556
+ /**
18557
+ * Opens `<et-scheduler-edit-surface>` for the selected appointment - covers the zero-config
18558
+ * case (no feature directives applied) per the plan. Its result bubbles as `appointmentSave` /
18559
+ * `appointmentsDelete`, and closing always clears `selectedAppointmentId` back to `null` so
18560
+ * clicking the same appointment again reopens a fresh surface.
18561
+ */
18562
+ private editSurfaceOpener;
18563
+ constructor();
18564
+ /** Bound to the view-switch's `(valueChange)` - safe to cast since every `<et-segmented-button>` below carries a `SchedulerView` literal. */
18565
+ setView(value: unknown): void;
18566
+ /**
18567
+ * Synthesizes a brand-new, blank top-level appointment - anchored to `focusedDate` so it lands
18568
+ * in whatever period is currently in view, defaulting to the next hour if that's today, else a
18569
+ * business-hours 9am - and opens the edit surface for it. Run by the built-in
18570
+ * `etSchedulerActionAddAppointment` toolbar action; call directly to trigger the same flow from
18571
+ * your own UI (`<et-scheduler #s>` then `s.addAppointment()`).
18572
+ */
18573
+ addAppointment(): void;
18574
+ /** The scheduler's own element. Part of the feature contract (a feature is a directive on it). */
18575
+ get element(): HTMLElement;
18576
+ /** Part of the feature contract - see `SchedulerFeatureHost`. */
18577
+ get appointmentTree(): _angular_core.Signal<_ethlete_components.AppointmentTreeNode<any>[]>;
18578
+ /** Part of the feature contract - see `SchedulerFeatureHost`. */
18579
+ get selectedAppointment(): _angular_core.Signal<Appointment<any> | null>;
18580
+ appointments(): readonly Appointment[];
18581
+ /** Part of the feature contract - see `SchedulerFeatureHost`. */
18582
+ registerBadgeAdornment(adornment: SchedulerBadgeAdornment): void;
18583
+ /** Part of the feature contract - see `SchedulerFeatureHost`. */
18584
+ registerToolbarAction(action: SchedulerToolbarAction): void;
18585
+ private openEditSurface;
18586
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerComponent, never>;
18587
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SchedulerComponent, "et-scheduler", never, {}, { "appointmentSave": "appointmentSave"; "appointmentsDelete": "appointmentsDelete"; }, never, never, true, [{ directive: typeof SchedulerDirective; inputs: { "appointments": "appointments"; "view": "view"; "focusedDate": "focusedDate"; "selectedAppointmentId": "selectedAppointmentId"; "locale": "locale"; "firstDayOfWeek": "firstDayOfWeek"; }; outputs: { "viewChange": "viewChange"; "focusedDateChange": "focusedDateChange"; "selectedAppointmentIdChange": "selectedAppointmentIdChange"; }; }, { directive: typeof SchedulerBadgeColorDotDirective; inputs: { "etSchedulerBadgeColorDot": "etSchedulerBadgeColorDot"; }; outputs: {}; }, { directive: typeof SchedulerBadgeTitleDirective; inputs: { "etSchedulerBadgeTitle": "etSchedulerBadgeTitle"; }; outputs: {}; }, { directive: typeof SchedulerBadgeTimeRangeDirective; inputs: { "etSchedulerBadgeTimeRange": "etSchedulerBadgeTimeRange"; }; outputs: {}; }, { directive: typeof SchedulerBadgeLocationDirective; inputs: { "etSchedulerBadgeLocation": "etSchedulerBadgeLocation"; }; outputs: {}; }, { directive: typeof SchedulerBadgeChainCountDirective; inputs: { "etSchedulerBadgeChainCount": "etSchedulerBadgeChainCount"; }; outputs: {}; }, { directive: typeof SchedulerActionAddAppointmentDirective; inputs: { "etSchedulerActionAddAppointment": "etSchedulerActionAddAppointment"; }; outputs: {}; }]>;
18588
+ }
18589
+
18590
+ /** The default month grid: one day cell per day, appointments as one-line badges with a "+N more" overflow. */
18591
+ declare class SchedulerMonthViewComponent {
18592
+ protected scheduler: SchedulerDirective<any> | null;
18593
+ protected month: SchedulerMonthDirective;
18594
+ protected labels: _angular_core.Signal<_ethlete_components.SchedulerLabels>;
18595
+ private featureHost;
18596
+ constructor();
18597
+ /** UI contributed by badge features (title, time range, …) - see `registerBadgeAdornment`. */
18598
+ protected badgeAdornments(): readonly _ethlete_components.SchedulerBadgeAdornment[];
18599
+ protected weekdays(): _ethlete_components.SchedulerWeekday[];
18600
+ protected isSelected(appointment: Appointment): boolean;
18601
+ protected select(appointment: Appointment): void;
18602
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerMonthViewComponent, never>;
18603
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SchedulerMonthViewComponent, "et-scheduler-month-view", never, {}, {}, never, never, true, [{ directive: typeof SchedulerMonthDirective; inputs: {}; outputs: {}; }]>;
18604
+ }
18605
+
18606
+ /**
18607
+ * The default time grid: an hour axis, an all-day strip, and appointments packed into
18608
+ * overlap-free columns. Backs both the week and day views - the day view is this same component
18609
+ * with a one-day visible range, not a separate implementation.
18610
+ */
18611
+ declare class SchedulerTimeGridViewComponent {
18612
+ protected scheduler: SchedulerDirective<any> | null;
18613
+ protected grid: SchedulerTimeGridDirective;
18614
+ private featureHost;
18615
+ protected timeGridBody: _angular_core.Signal<ElementRef<HTMLElement> | undefined>;
18616
+ private firstHourRow;
18617
+ protected hours: _angular_core.Signal<{
18618
+ hour: number;
18619
+ label: string;
18620
+ }[]>;
18621
+ constructor();
18622
+ /** UI contributed by badge features (title, time range, …) - see `registerBadgeAdornment`. */
18623
+ protected badgeAdornments(): readonly _ethlete_components.SchedulerBadgeAdornment[];
18624
+ protected weekdayLabel(date: Date): string;
18625
+ protected isSelected(appointment: Appointment): boolean;
18626
+ protected select(appointment: Appointment): void;
18627
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerTimeGridViewComponent, never>;
18628
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SchedulerTimeGridViewComponent, "et-scheduler-time-grid-view", never, {}, {}, never, never, true, [{ directive: typeof SchedulerTimeGridDirective; inputs: {}; outputs: {}; }]>;
18629
+ }
18630
+
18631
+ declare const SCHEDULER_IMPORTS: readonly [typeof SchedulerDirective, typeof SchedulerAgendaDirective, typeof SchedulerMonthDirective, typeof SchedulerTimeGridDirective, typeof SchedulerEditSurfaceDirective, typeof SchedulerComponent, typeof SchedulerAgendaViewComponent, typeof SchedulerMonthViewComponent, typeof SchedulerTimeGridViewComponent, typeof SchedulerBadgeColorDotDirective, typeof SchedulerBadgeTitleDirective, typeof SchedulerBadgeTimeRangeDirective, typeof SchedulerBadgeLocationDirective, typeof SchedulerBadgeChainCountDirective, typeof SchedulerEditSurfaceComponent, typeof SchedulerEditTitleDirective, typeof SchedulerEditTimeRangeDirective, typeof SchedulerEditLocationDirective, typeof SchedulerEditDescriptionDirective, typeof SchedulerEditColorDirective, typeof SchedulerActionAddSubAppointmentDirective, typeof SchedulerActionDeleteDirective, typeof SchedulerActionAddAppointmentDirective];
18632
+
18633
+ /**
18634
+ * The sub-appointment chain piece of an appointment badge, stamped by `etSchedulerBadgeChainCount`.
18635
+ * Renders a chevron and the total descendant count (every depth, not just direct children); hidden
18636
+ * for an appointment with no children.
18637
+ *
18638
+ * @internal
18639
+ */
18640
+ declare class SchedulerBadgeChainCountComponent {
18641
+ node: _angular_core.InputSignal<AppointmentTreeNode>;
18642
+ protected count: _angular_core.Signal<number | null>;
18643
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerBadgeChainCountComponent, never>;
18644
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SchedulerBadgeChainCountComponent, "et-scheduler-badge-chain-count", never, { "node": { "alias": "node"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
18645
+ }
18646
+
18647
+ /**
18648
+ * The color-dot piece of an appointment badge, stamped by `etSchedulerBadgeColorDot`. Its color
18649
+ * comes from the ambient `[etProvideColor]` the badge button already carries, so this component
18650
+ * renders no color of its own - see the shared appointment badge styles.
18651
+ *
18652
+ * @internal
18653
+ */
18654
+ declare class SchedulerBadgeColorDotComponent {
18655
+ /** The tree node this badge renders - unused here, present to satisfy `SchedulerBadgeAdornment`. */
18656
+ node: _angular_core.InputSignal<AppointmentTreeNode>;
18657
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerBadgeColorDotComponent, never>;
18658
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SchedulerBadgeColorDotComponent, "et-scheduler-badge-color-dot", never, { "node": { "alias": "node"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
18659
+ }
18660
+
18661
+ /**
18662
+ * The location piece of an appointment badge, stamped by `etSchedulerBadgeLocation`. Renders
18663
+ * nothing when the appointment has no `location`.
18664
+ *
18665
+ * @internal
18666
+ */
18667
+ declare class SchedulerBadgeLocationComponent {
18668
+ node: _angular_core.InputSignal<AppointmentTreeNode>;
18669
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerBadgeLocationComponent, never>;
18670
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SchedulerBadgeLocationComponent, "et-scheduler-badge-location", never, { "node": { "alias": "node"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
18671
+ }
18672
+
18673
+ /**
18674
+ * The time-range piece of an appointment badge, stamped by `etSchedulerBadgeTimeRange`. Renders
18675
+ * nothing for an all-day appointment, which has no meaningful start/end time to show.
18676
+ *
18677
+ * @internal
18678
+ */
18679
+ declare class SchedulerBadgeTimeRangeComponent {
18680
+ private scheduler;
18681
+ node: _angular_core.InputSignal<AppointmentTreeNode>;
18682
+ protected range: _angular_core.Signal<string | null>;
18683
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerBadgeTimeRangeComponent, never>;
18684
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SchedulerBadgeTimeRangeComponent, "et-scheduler-badge-time-range", never, { "node": { "alias": "node"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
18685
+ }
18686
+
18687
+ /**
18688
+ * The title piece of an appointment badge, stamped by `etSchedulerBadgeTitle`.
18689
+ *
18690
+ * @internal
18691
+ */
18692
+ declare class SchedulerBadgeTitleComponent {
18693
+ node: _angular_core.InputSignal<AppointmentTreeNode>;
18694
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerBadgeTitleComponent, never>;
18695
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SchedulerBadgeTitleComponent, "et-scheduler-badge-title", never, { "node": { "alias": "node"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
18696
+ }
18697
+
18698
+ /**
18699
+ * The color piece of the edit surface, stamped by `etSchedulerEditColor`. A plain text field for
18700
+ * `colorToken` rather than a swatch picker - theme names are app-registered (see `theming`), so
18701
+ * the SDK has no fixed set of tokens to offer as choices.
18702
+ *
18703
+ * @internal
18704
+ */
18705
+ declare class SchedulerEditColorComponent {
18706
+ private labels;
18707
+ draft: _angular_core.InputSignal<WritableSignal<Appointment>>;
18708
+ label: _angular_core.Signal<string>;
18709
+ protected value: _angular_core.Signal<string>;
18710
+ protected updateColorToken(value: string): void;
18711
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerEditColorComponent, never>;
18712
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SchedulerEditColorComponent, "et-scheduler-edit-color", never, { "draft": { "alias": "draft"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
18713
+ }
18714
+
18715
+ /**
18716
+ * The description piece of the edit surface, stamped by `etSchedulerEditDescription`.
18717
+ *
18718
+ * @internal
18719
+ */
18720
+ declare class SchedulerEditDescriptionComponent {
18721
+ private labels;
18722
+ draft: _angular_core.InputSignal<WritableSignal<Appointment>>;
18723
+ label: _angular_core.Signal<string>;
18724
+ protected value: _angular_core.Signal<string>;
18725
+ protected updateDescription(value: string): void;
18726
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerEditDescriptionComponent, never>;
18727
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SchedulerEditDescriptionComponent, "et-scheduler-edit-description", never, { "draft": { "alias": "draft"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
18728
+ }
18729
+
18730
+ /**
18731
+ * The location piece of the edit surface, stamped by `etSchedulerEditLocation`.
18732
+ *
18733
+ * @internal
18734
+ */
18735
+ declare class SchedulerEditLocationComponent {
18736
+ private labels;
18737
+ draft: _angular_core.InputSignal<WritableSignal<Appointment>>;
18738
+ label: _angular_core.Signal<string>;
18739
+ protected value: _angular_core.Signal<string>;
18740
+ protected updateLocation(value: string): void;
18741
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerEditLocationComponent, never>;
18742
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SchedulerEditLocationComponent, "et-scheduler-edit-location", never, { "draft": { "alias": "draft"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
18743
+ }
18744
+
18745
+ /**
18746
+ * The start/end piece of the edit surface, stamped by `etSchedulerEditTimeRange`.
18747
+ *
18748
+ * @internal
18749
+ */
18750
+ declare class SchedulerEditTimeRangeComponent {
18751
+ private labels;
18752
+ private dateFormat;
18753
+ draft: _angular_core.InputSignal<WritableSignal<Appointment>>;
18754
+ startLabel: _angular_core.Signal<string>;
18755
+ endLabel: _angular_core.Signal<string>;
18756
+ protected startValue: _angular_core.Signal<string>;
18757
+ protected endValue: _angular_core.Signal<string>;
18758
+ protected updateStart(value: string | null): void;
18759
+ protected updateEnd(value: string | null): void;
18760
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerEditTimeRangeComponent, never>;
18761
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SchedulerEditTimeRangeComponent, "et-scheduler-edit-time-range", never, { "draft": { "alias": "draft"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
18762
+ }
18763
+
18764
+ /**
18765
+ * The title piece of the edit surface, stamped by `etSchedulerEditTitle`.
18766
+ *
18767
+ * @internal
18768
+ */
18769
+ declare class SchedulerEditTitleComponent {
18770
+ private labels;
18771
+ draft: _angular_core.InputSignal<WritableSignal<Appointment>>;
18772
+ label: _angular_core.Signal<string>;
18773
+ protected value: _angular_core.Signal<string>;
18774
+ protected updateTitle(value: string): void;
18775
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SchedulerEditTitleComponent, never>;
18776
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SchedulerEditTitleComponent, "et-scheduler-edit-title", never, { "draft": { "alias": "draft"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
18777
+ }
18778
+
18779
+ /** The common placeholder shapes. Anything else is your own CSS on the item. */
18780
+ type SkeletonShape = 'text' | 'rect' | 'circle';
18781
+ /**
17464
18782
  * One placeholder shape inside an `<et-skeleton>`. Sized by `shape` for the usual cases and by
17465
18783
  * `--et-skeleton-size` / plain CSS for everything else. Hidden from assistive tech - the container's
17466
18784
  * text is the announcement.
@@ -17642,6 +18960,7 @@ type StandingsRenderRow = {
17642
18960
  * cards instead of rows can read the same state.
17643
18961
  */
17644
18962
  declare class StandingsDirective {
18963
+ private readonly hostElement;
17645
18964
  private injectedLabels;
17646
18965
  /** The rows, in the order they should appear - this never re-sorts them. */
17647
18966
  rows: _angular_core.InputSignal<readonly NormalizedStandingRow[]>;
@@ -19835,7 +21154,13 @@ type TableHeaderAdornment = {
19835
21154
  * is what the table's built-in cells use.
19836
21155
  */
19837
21156
  injector?: Injector;
19838
- /** Render order within the header cell - lower renders first. @default 0 */
21157
+ /**
21158
+ * Render order within the header cell - lower renders first. The built-in features take `0`
21159
+ * (`etTableFilters`), `5` (`etTableColumnMenu`) and `10` (`etTableResize`); pick a number relative
21160
+ * to those to place your own adornment among them.
21161
+ *
21162
+ * @default 0
21163
+ */
19839
21164
  order?: number;
19840
21165
  /**
19841
21166
  * Whether this contribution is live. A feature registers once, in its constructor, and gates itself
@@ -19878,7 +21203,13 @@ type TableLeadColumn = {
19878
21203
  key: string;
19879
21204
  /** The column's `grid-template-columns` track (e.g. `'var(--et-table-select-width, 32px)'`). */
19880
21205
  width: string;
19881
- /** Lower renders closer to the inline-start edge. @default 0 */
21206
+ /**
21207
+ * Lower renders closer to the inline-start edge. The built-in features take `0`
21208
+ * (`etTableSelection`) and `100` (`etTableRowExpansion`); pick a number relative to those to place
21209
+ * your own column among them.
21210
+ *
21211
+ * @default 0
21212
+ */
19882
21213
  order?: number;
19883
21214
  /** Extra class put on every cell of this column, for the feature's own styling. */
19884
21215
  cellClass: string;
@@ -22536,6 +23867,7 @@ declare class NavTabLinkDirective {
22536
23867
  private navTabs;
22537
23868
  private tabBar;
22538
23869
  private destroyRef;
23870
+ private readonly hostElement;
22539
23871
  trigger: TabBarTriggerDirective;
22540
23872
  private routerLinkIsActive;
22541
23873
  isActive: _angular_core.Signal<boolean>;
@@ -22547,6 +23879,7 @@ declare class NavTabLinkDirective {
22547
23879
  declare class NavTabsOutletDirective {
22548
23880
  private nearestTabBar;
22549
23881
  private registry;
23882
+ private readonly hostElement;
22550
23883
  readonly ID: string;
22551
23884
  private tabBar;
22552
23885
  activeTriggerId: _angular_core.Signal<string | null>;
@@ -22605,6 +23938,7 @@ declare const TAB_ERROR_CODES: {
22605
23938
 
22606
23939
  declare class TabPanelDirective {
22607
23940
  private tabGroup;
23941
+ private readonly hostElement;
22608
23942
  triggerId: _angular_core.InputSignal<string | null>;
22609
23943
  readonly ID: string;
22610
23944
  isActive: _angular_core.Signal<boolean>;
@@ -22659,6 +23993,7 @@ declare class TabLabelDirective {
22659
23993
 
22660
23994
  declare class TabComponent {
22661
23995
  private tabGroup;
23996
+ private readonly hostElement;
22662
23997
  label: _angular_core.InputSignal<string>;
22663
23998
  icon: _angular_core.InputSignal<string | null>;
22664
23999
  disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
@@ -22962,6 +24297,75 @@ declare const TOGGLETIP_ERROR_CODES: {
22962
24297
 
22963
24298
  declare const TOGGLETIP_IMPORTS: readonly [typeof ToggletipDirective, typeof ToggletipCloseDirective, typeof ToggletipTriggerDirective, typeof ToggletipComponent];
22964
24299
 
24300
+ declare const TOOLBAR_ORIENTATIONS: {
24301
+ readonly HORIZONTAL: "horizontal";
24302
+ readonly VERTICAL: "vertical";
24303
+ };
24304
+ type ToolbarOrientation = (typeof TOOLBAR_ORIENTATIONS)[keyof typeof TOOLBAR_ORIENTATIONS];
24305
+
24306
+ /**
24307
+ * Turns its host into an ARIA toolbar: a single tab stop that Tab enters and leaves, with the arrow
24308
+ * keys moving focus between the controls inside it. `Home`/`End` jump to the first/last control and
24309
+ * arrow navigation wraps around; in a horizontal toolbar the left/right keys follow the writing
24310
+ * direction.
24311
+ *
24312
+ * Every focusable control rendered inside the host is a toolbar control - projected content,
24313
+ * `@for` output and components that own their own button templates included - so nothing has to be
24314
+ * marked up per item. Natively disabled controls are skipped; controls belonging to a nested
24315
+ * toolbar stay with that toolbar.
24316
+ *
24317
+ * Pair it with an accessible name (`aria-label`, or `aria-labelledby` pointing at a visible
24318
+ * heading), which is what tells the user what the toolbar is for.
24319
+ *
24320
+ * @example
24321
+ * <div [attr.aria-label]="'Text formatting'" etToolbar>
24322
+ * <button et-icon-button type="button">…</button>
24323
+ * <button et-icon-button type="button">…</button>
24324
+ * </div>
24325
+ */
24326
+ declare class ToolbarDirective {
24327
+ private elementRef;
24328
+ private document;
24329
+ orientation: _angular_core.InputSignal<ToolbarOrientation>;
24330
+ private tabStop;
24331
+ constructor();
24332
+ /** Moves focus to the toolbar's first control, the tab stop a fresh Tab would land on. */
24333
+ focusFirst(): void;
24334
+ protected handleKeydown(event: KeyboardEvent): void;
24335
+ /** The last focused control keeps the tab stop, so Shift+Tab back re-enters where the user left. */
24336
+ protected handleFocusIn(event: FocusEvent): void;
24337
+ /** Every control this toolbar owns. Disabled ones are included: they must lose their tab stop too,
24338
+ * or re-enabling one would leave the toolbar with two. */
24339
+ private controls;
24340
+ private focusableControls;
24341
+ private syncTabStops;
24342
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToolbarDirective, never>;
24343
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ToolbarDirective, "[etToolbar]", never, { "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
24344
+ }
24345
+
24346
+ /**
24347
+ * A bar of related controls that share one tab stop, laid out in a row (or a column with
24348
+ * `orientation="vertical"`) and navigated with the arrow keys - see `[etToolbar]` for the keyboard
24349
+ * model. Group the controls inside it with `et-divider`.
24350
+ *
24351
+ * Pass an `aria-label` naming what the toolbar acts on; without one a screen reader announces only
24352
+ * that a toolbar is present.
24353
+ *
24354
+ * @example
24355
+ * <et-toolbar aria-label="Text formatting">
24356
+ * <button et-icon-button type="button"><i etIcon="et-bold"></i></button>
24357
+ * <button et-icon-button type="button"><i etIcon="et-italic"></i></button>
24358
+ * <et-divider orientation="vertical" decorative />
24359
+ * <button et-icon-button type="button"><i etIcon="et-link"></i></button>
24360
+ * </et-toolbar>
24361
+ */
24362
+ declare class ToolbarComponent {
24363
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToolbarComponent, never>;
24364
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ToolbarComponent, "et-toolbar, [et-toolbar]", never, {}, {}, never, ["*"], true, [{ directive: typeof ToolbarDirective; inputs: { "orientation": "orientation"; }; outputs: {}; }]>;
24365
+ }
24366
+
24367
+ declare const TOOLBAR_IMPORTS: readonly [typeof ToolbarComponent, typeof ToolbarDirective];
24368
+
22965
24369
  declare class TooltipComponent {
22966
24370
  private ownColorProvider;
22967
24371
  private triggerColorProvider;
@@ -23031,5 +24435,5 @@ declare const TOOLTIP_ERROR_CODES: {
23031
24435
 
23032
24436
  declare const TOOLTIP_IMPORTS: readonly [typeof TooltipDirective, typeof TooltipComponent];
23033
24437
 
23034
- export { ACCORDION_ERROR_CODES, ACCORDION_GROUP_TOKEN, ACCORDION_IMPORTS, ACCORDION_TOKEN, ALIGN_CENTER_ICON, ALIGN_JUSTIFY_ICON, ALIGN_LEFT_ICON, ALIGN_RIGHT_ICON, ARROWS_LEFT_RIGHT_ICON, ARROW_OUT_UP_RIGHT_ICON, ARROW_RIGHT_ICON, ARROW_UP_ICON, AccordionComponent, AccordionContentDirective, AccordionDirective, AccordionGroupComponent, AccordionGroupDirective, AccordionHintDirective, AccordionLabelDirective, AccordionPanelDirective, AccordionTriggerDirective, BOLD_ICON, BRACKET_CARD_CONTEXT, BRACKET_DATA_LAYOUT, BRACKET_DEFAULTS, BRACKET_DENSITY, BRACKET_DENSITY_PRESETS, BRACKET_ERROR_CODES, BRACKET_IMPORTS, BRACKET_LABELS, BRACKET_ROUND_MIRROR_TYPE, BRACKET_SWISS_GROUP_COLOR_TYPE, BREADCRUMB_COLLAPSE_IMPORTS, BREADCRUMB_COLLAPSE_TOKEN, BREADCRUMB_ERROR_CODES, BREADCRUMB_IMPORTS, BREADCRUMB_LABELS, BREADCRUMB_SEGMENT_TOKEN, BREADCRUMB_SEO_IMPORTS, BREADCRUMB_TOKEN, BUTTON_ICON_ALIGNMENTS, BUTTON_IMPORTS, BUTTON_SIZES, BUTTON_SPINNER_CONFIG, BUTTON_TYPES, BUTTON_VARIANTS, BracketComponent, BracketDefaultContinueComponent, BracketDefaultFinalMatchComponent, BracketDefaultMatchComponent, BracketDefaultRoundHeaderComponent, BracketMap, BracketRoundsListComponent, BrandLoaderComponent, BreadcrumbCollapseDirective, BreadcrumbComponent, BreadcrumbDirective, BreadcrumbItemDirective, BreadcrumbItemTemplateDirective, BreadcrumbOutletComponent, BreadcrumbOverflowComponent, BreadcrumbSegmentDirective, BreadcrumbSeoDirective, BreadcrumbSeparatorDirective, ButtonComponent, ButtonDirective, ButtonStylesDirective, CALENDAR_ERROR_CODES, CALENDAR_ICON, CALENDAR_IMPORTS, CALENDAR_LABELS, CAROUSEL_AUTOPLAY_TOKEN, CAROUSEL_ERROR_CODES, CAROUSEL_IMPORTS, CAROUSEL_LABELS, CAROUSEL_SLIDE_ALIGNMENTS, CAROUSEL_TOKEN, CAROUSEL_TRANSITIONS, CAROUSEL_TRANSITION_DRIVERS, CASCADER_ERROR_CODES, CASCADER_IMPORTS, CASCADER_LABELS, CASCADER_SELECTABLE_LEVELS, CHECKBOX_GROUP_IMPORTS, CHECKBOX_IMPORTS, CHECKBOX_OPTION_VARIANTS, CHECK_ICON, CHEVRON_ICON, CHIP_ERROR_CODES, CHIP_IMPORTS, CHIP_LABELS, CHOICE_FIELD_IMPORTS, CHOICE_FIELD_VARIANTS, CIRCLE_CHECK_ICON, CIRCLE_INFO_ICON, CLIPBOARD_CHECK_ICON, CLOCK_ICON, CODE_BLOCK_ICON, CODE_ICON, COLOR_INPUT_IMPORTS, COMMON_BRACKET_ROUND_TYPE, CalendarCellDirective, CalendarComponent, CalendarDirective, CalendarGridDirective, CalendarHeaderDirective, CarouselAutoplayDirective, CarouselComponent, CarouselDirective, CarouselItemDirective, CarouselNextDirective, CarouselPlayToggleDirective, CarouselPreviousDirective, CarouselSlideDirective, CascaderColumnDirective, CascaderComponent, CascaderDirective, CascaderNodeDirective, CascaderPanelComponent, CascaderSearchDirective, CascaderSearchOptionDirective, CascaderSurfaceDirective, CascaderTriggerDirective, CheckboxComponent, CheckboxDirective, CheckboxGroupComponent, CheckboxGroupSelectAllComponent, CheckboxOptionComponent, ChipComponent, ChipDirective, ChipRemoveDirective, ChoiceFieldComponent, ColorInputComponent, ColorInputDirective, CounterComponent, DAILYMOTION_PLAYER_TOKEN, DATE_FORMAT, DATE_INPUT_ERROR_CODES, DATE_INPUT_IMPORTS, DATE_LOCALE, DATE_PICKER_HOST, DATE_RANGE_INPUT_ERROR_CODES, DATE_RANGE_INPUT_IMPORTS, DATE_TIME_INPUT_ERROR_CODES, DATE_TIME_INPUT_IMPORTS, DATE_TIME_LABELS, DEFAULT_BRACKET_LABELS, DEFAULT_BREADCRUMB_LABELS, DEFAULT_BREAKPOINTS, DEFAULT_CALENDAR_LABELS, DEFAULT_CALENDAR_RANGE_STRATEGY, DEFAULT_CAROUSEL_LABELS, DEFAULT_CASCADER_LABELS, DEFAULT_CHIP_LABELS, DEFAULT_DATE_TIME_LABELS, DEFAULT_DROPZONE_LABELS, DEFAULT_FILTER_OVERLAY_LABELS, DEFAULT_FORM_FIELD_LABELS, DEFAULT_GRID_LABELS, DEFAULT_ICON_VARIANT, DEFAULT_INPUT_LABELS, DEFAULT_LOADER_LABELS, DEFAULT_MATCH_CARD_START_TIME_FORMAT, DEFAULT_MATCH_LABELS, DEFAULT_NOTIFICATION_LABELS, DEFAULT_NOTIFICATION_MANAGER_CONFIG, DEFAULT_NOTIFICATION_STATUS_ICONS, DEFAULT_PAGINATION_LABELS, DEFAULT_PHONE_INPUT_LABELS, DEFAULT_PIP_WINDOW_CONFIG, DEFAULT_QUERY_ERROR_LABELS, DEFAULT_RICH_TEXT_EDITOR_LABELS, DEFAULT_RICH_TEXT_EDITOR_TOOLS, DEFAULT_SELECT_LABELS, DEFAULT_SLIDER_LABELS, DEFAULT_STANDINGS_LABELS, DEFAULT_STREAM_LABELS, DEFAULT_STREAM_PLAYER_STATE, DEFAULT_TABLE_LABELS, DEFAULT_TIME_PICKER_LABELS, DESCRIPTION_IMPORTS, DOUBLE_ELIMINATION_BRACKET_ROUND_TYPE, DROPZONE_ENTRY_STATUSES, DROPZONE_ERROR_CODES, DROPZONE_FILES_ERROR_KIND, DROPZONE_FILE_CONSTRAINTS, DROPZONE_FILE_REJECTION_REASONS, DROPZONE_IMPORTS, DROPZONE_LABELS, DURATION_INPUT_ERROR_CODES, DURATION_INPUT_IMPORTS, DailymotionPlayerComponent, DailymotionPlayerDirective, DailymotionPlayerParamsDirective, DailymotionPlayerSlotComponent, DateInputComponent, DateInputDirective, DateInputFieldDirective, DatePickerPanelComponent, DatePickerSurfaceDirective, DatePickerTriggerDirective, DateRangeInputComponent, DateRangeInputDirective, DateRangeInputFieldDirective, DateTimeInputComponent, DateTimeInputDirective, DateTimeInputFieldDirective, DescriptionComponent, DropzoneComponent, DropzoneDirective, DurationInputComponent, DurationInputDirective, DurationInputFieldDirective, ELLIPSIS_ICON, ELLIPSIS_VERTICAL_ICON, ET_BUILT_IN_ICON_NAMES, EYE_ICON, EYE_SLASH_ICON, FACEBOOK_PLAYER_TOKEN, FILE_ICON, FILTER_ICON, FILTER_OVERLAY_ERROR_CODES, FILTER_OVERLAY_IMPORTS, FILTER_OVERLAY_LABELS, FILTER_OVERLAY_TOKEN, FLOATING_ACTION_ERROR_CODES, FLOATING_ACTION_IMPORTS, FLOATING_ACTION_STATES, FLOATING_ACTION_TOKEN, FLOPPY_DISK_ICON, FOCUS_FRAME_ICON, FORM_ERROR_MESSAGE_RESOLVER, FORM_FIELD_APPEARANCES, FORM_FIELD_CONTROL_TYPES, FORM_FIELD_ERROR_CODES, FORM_FIELD_FILLS, FORM_FIELD_IMPORTS, FORM_FIELD_LABELS, FORM_FIELD_LABEL_MODES, FORM_FIELD_SIZES, FORM_FIELD_TOKEN, FabComponent, FacebookPlayerComponent, FacebookPlayerDirective, FacebookPlayerParamsDirective, FacebookPlayerSlotComponent, FilterOverlayResetDirective, FilterOverlaySubmitDirective, FloatingActionAnchorDirective, FloatingActionDirective, FloatingActionScopeDirective, FloatingActionTopDirective, FloatingActionTriggerDirective, FocusRingDirective, FormErrorComponent, FormFieldComponent, FormFieldDirective, GERMAN_FILTER_OVERLAY_LABELS, GERMAN_QUERY_ERROR_LABELS, GRID_2X2_ICON, GRID_DEBUG_IMPORTS, GRID_ERROR_CODES, GRID_IMPORTS, GRID_LABELS, GRID_TOKEN, GROUP_BRACKET_ROUND_TYPE, GridComponent, GridDebugComponent, GridDirective, GridDragDirective, GridItemComponent, GridItemDefaultActionsComponent, GridItemDirective, GridItemRef, GridItemToolbarComponent, GridResizeDirective, HEADING_1_ICON, HEADING_2_ICON, HEADING_3_ICON, HintComponent, ICONS_TOKEN, ICON_DIRECTIVE_TOKEN, ICON_ERROR_CODES, ICON_IMPORTS, ICON_OVERRIDES_TOKEN, IMAGE_ICON, INITIAL_SUPPORT_PRESENTATION_STATE, INPUT_IMPORTS, INPUT_LABELS, INPUT_MASK_HOST, INPUT_TEXT_ALIGNMENTS, INPUT_TYPES, INTERACTIVE_TAGS, ITALIC_ICON, IconButtonComponent, IconDirective, InputComponent, InputDirective, InputMaskDirective, InputPrefixDirective, InputSuffixDirective, KICK_PLAYER_TOKEN, KickPlayerComponent, KickPlayerDirective, KickPlayerParamsDirective, KickPlayerSlotComponent, LINK_ICON, LIST_BULLETED_ICON, LIST_NUMBERED_ICON, LOADER_LABELS, LOCK_ICON, LabelDirective, MASKED_INPUT_ERROR_CODES, MASKED_INPUT_IMPORTS, MASK_VALUE_MODES, MASONRY_ERROR_CODES, MASONRY_IMPORTS, MASONRY_TOKEN, MATCH_CARD_IMPORTS, MATCH_CARD_SIZES, MATCH_CARD_TOKEN, MATCH_ERROR_CODES, MATCH_LABELS, MATCH_PARTICIPANT_IMPORTS, MENU_ERROR_CODES, MENU_IMPORTS, MENU_ITEM_VARIANTS, MENU_SELECTION_GROUP_MULTIPLE, MENU_SELECTION_GROUP_TOKEN, MENU_SELECTION_ITEM_KIND, MINUS_ICON, MULTI_LANGUAGE_RICH_TEXT_EDITOR_ERROR_CODES, MULTI_LANGUAGE_RICH_TEXT_EDITOR_IMPORTS, MasonryDirective, MasonryItemDirective, MatchCardComponent, MatchCardDirective, MatchCardGameScoresDirective, MatchCardMetaDirective, MatchCardScoreDirective, MatchParticipantComponent, MatchScoreComponent, MenuCheckboxGroupComponent, MenuCheckboxItemComponent, MenuComponent, MenuContextTriggerDirective, MenuDirective, MenuGroupLabelComponent, MenuItemComponent, MenuItemDirective, MenuItemShortcutComponent, MenuPanelDirective, MenuRadioGroupComponent, MenuRadioItemComponent, MenuSearchDirective, MenuSelectionGroupDirective, MenuSelectionItemDirective, MenuSeparatorComponent, MenuSurfaceDirective, MenuTriggerDirective, MultiLanguageRichTextEditorComponent, MultiLanguageRichTextEditorDirective, MultiLanguageRichTextEditorLanguageToolComponent, NAV_TABS_TOKEN, NAV_TAB_IMPORTS, NOTIFICATION_ACTION_SLOTS, NOTIFICATION_ERROR_CODES, NOTIFICATION_IMPORTS, NOTIFICATION_LABELS, NOTIFICATION_STACK_CONTEXT_TOKEN, NOTIFICATION_STATUS, NUMBER_INPUT_IMPORTS, NavTabLinkComponent, NavTabLinkDirective, NavTabsComponent, NavTabsDirective, NavTabsOutletComponent, NavTabsOutletDirective, NotificationActionDirective, NotificationComponent, NotificationDirective, NotificationDismissDirective, NotificationItemDirective, NotificationStackDirective, NotificationSwipeToDismissDirective, NumberInputComponent, NumberInputDirective, OTP_INPUT_IMPORTS, OVERLAY_BACK_OR_CLOSE_TOKEN, OVERLAY_BODY_TOKEN, OVERLAY_CONFIG_CLASS_KEYS, OVERLAY_CONTENT_IMPORTS, OVERLAY_ERROR_CODES, OVERLAY_FOOTER_TOKEN, OVERLAY_HEADER_TEMPLATE_TOKEN, OVERLAY_HEADER_TOKEN, OVERLAY_IMPORTS, OVERLAY_MAIN_TOKEN, OVERLAY_QUERY_PARAM_INPUT_NAME, OVERLAY_REF, OVERLAY_ROUTER_CONFIG_TOKEN, OVERLAY_ROUTER_LINK_TOKEN, OVERLAY_ROUTER_OUTLET_DISABLED_TEMPLATE_TOKEN, OVERLAY_ROUTER_OUTLET_TOKEN, OVERLAY_ROUTER_TOKEN, OVERLAY_SHARED_ROUTE_TEMPLATE_TOKEN, OtpInputComponent, OtpInputDirective, OverlayAnchorDirective, OverlayBackOrCloseDirective, OverlayBodyComponent, OverlayCloseDirective, OverlayContainerComponent, OverlayDirective, OverlayFooterDirective, OverlayHeaderDirective, OverlayHeaderTemplateDirective, OverlayMainDirective, OverlayOriginCloneComponent, OverlayRouteHeaderTemplateOutletComponent, OverlayRouterLinkDirective, OverlayRouterOutletComponent, OverlayRouterOutletDisabledTemplateDirective, OverlaySharedRouteTemplateDirective, OverlaySharedRouteTemplateOutletComponent, OverlaySidebarComponent, OverlaySidebarPageComponent, OverlaySurfaceDirective, OverlayTitleDirective, OverlayTriggerDirective, PAGE_SIZE_SELECT_IMPORTS, PAGINATION_IMPORTS, PAGINATION_LABELS, PARAGRAPH_ICON, PASSWORD_INPUT_IMPORTS, PAUSE_ICON, PENCIL_ICON, PHONE_COUNTRIES, PHONE_INPUT_ERROR_CODES, PHONE_INPUT_IMPORTS, PHONE_INPUT_LABELS, PICTURE_IMPORTS, PICTURE_STATES, PIP_CHROME_REF_TOKEN, PIP_ENTRY_TOKEN, PIP_WINDOW_ASPECT_RATIO_TOKEN, PLAY_ICON, PLUS_ICON, PageSizeSelectComponent, PaginationComponent, PaginationDirective, PaginationSeoDirective, PasswordInputComponent, PasswordInputDirective, PhoneInputComponent, PhoneInputDirective, PhoneInputFieldDirective, PhoneInputFlagDirective, PictureComponent, PictureErrorDirective, PicturePlaceholderDirective, PipBackDirective, PipBringBackDirective, PipCellDirective, PipCloseDirective, PipCollapseOverlayDirective, PipGridToggleDirective, PipPlayerComponent, PipSlotPlaceholderComponent, PipStageDirective, PipTitleBarDirective, PipTitleBarTemplateDirective, PipWindowComponent, PipWindowParamsDirective, ProgressBarComponent, QUERY_DEVTOOLS_IMPORTS, QUERY_ERROR_ERROR_CODES, QUERY_ERROR_IMPORTS, QUERY_ERROR_LABELS, QUERY_ERROR_TOKEN, QUOTE_ICON, QueryDevtoolsComponent, QueryDevtoolsJsonComponent, QueryDevtoolsJsonStylesComponent, QueryDevtoolsTimelineStylesComponent, QueryDevtoolsToggleComponent, QueryErrorActionsDirective, QueryErrorComponent, QueryErrorDirective, QueryErrorTitleDirective, QueryParamOverlayLinkDirective, RADIO_GROUP_IMPORTS, RADIO_VARIANTS, RATING_IMPORTS, REDO_ICON, RICH_TEXT_EDITOR_FLOATING_TOOLBAR, RICH_TEXT_EDITOR_HEADING_OPTIONS, RICH_TEXT_EDITOR_IMPORTS, RICH_TEXT_EDITOR_INLINE_TOOLS, RICH_TEXT_EDITOR_LABELS, RICH_TEXT_EDITOR_LANGUAGE_TOOL, RICH_TEXT_EDITOR_LINK_EDITOR, RICH_TEXT_EDITOR_TOKEN_CODEC, RICH_TEXT_EDITOR_TOKEN_PALETTE_IMPORTS, RICH_TEXT_EDITOR_TOOL, RICH_TEXT_EDITOR_TOOLS, RICH_TEXT_EDITOR_TOOL_BUTTONS, RICH_TEXT_EDITOR_TRIGGERS_IMPORTS, ROTATE_RIGHT_ICON, RadioComponent, RadioGroupComponent, RangeSliderComponent, RangeSliderDirective, RatingComponent, RatingDirective, RatingIconDirective, RichTextEditorAlignToolComponent, RichTextEditorComponent, RichTextEditorDirective, RichTextEditorFloatingToolbarComponent, RichTextEditorFloatingToolbarDirective, RichTextEditorHeadingToolComponent, RichTextEditorImageEditorComponent, RichTextEditorImageStylesComponent, RichTextEditorImageToolComponent, RichTextEditorLinkEditorComponent, RichTextEditorLinkEditorDirective, RichTextEditorTableStylesComponent, RichTextEditorTableToolComponent, RichTextEditorTokenPaletteComponent, RichTextEditorTokenPopupComponent, RichTextEditorTriggersDirective, SCROLLABLE_DARKEN_IMPORTS, SCROLLABLE_DRAG_IMPORTS, SCROLLABLE_ERROR_CODES, SCROLLABLE_IMPORTS, SCROLLABLE_NAVIGATION_IMPORTS, SEGMENTED_BUTTON_GROUP_VARIANTS, SEGMENTED_BUTTON_IMPORTS, SELECTION_LIST_IMPORTS, SELECTION_LIST_MULTIPLE, SELECTION_LIST_TOKEN, SELECT_ERROR_CODES, SELECT_FILTER_MODES, SELECT_IMPORTS, SELECT_LABELS, SIDEBAR_OVERLAY_CONFIG, SIDEBAR_OVERLAY_TOKEN, SINGLE_ELIMINATION_BRACKET_ROUND_TYPE, SKELETON_IMPORTS, SLIDER_ERROR_CODES, SLIDER_IMPORTS, SLIDER_LABELS, SLIDER_MARK_VALUE_ATTRIBUTE, SLIDER_TOKEN, SNAP_HYSTERESIS, SOOP_PLAYER_TOKEN, SPLIT_BUTTON_ERROR_CODES, STANDINGS_ERROR_CODES, STANDINGS_IMPORTS, STANDINGS_LABELS, STAR_ICON, STREAM_ALL_IMPORTS, STREAM_CONSENT_TOKEN, STREAM_DAILYMOTION_IMPORTS, STREAM_FACEBOOK_IMPORTS, STREAM_IMPORTS, STREAM_KICK_IMPORTS, STREAM_LABELS, STREAM_PIP_IMPORTS, STREAM_PLAYER_COMPONENT_TOKEN, STREAM_PLAYER_ERROR_CONTEXT_TOKEN, STREAM_PLAYER_ERROR_TOKEN, STREAM_PLAYER_PARAMS_TOKEN, STREAM_PLAYER_SLOT_TOKEN, STREAM_PLAYER_TOKEN, STREAM_SLOT_PLAYER_ID_TOKEN, STREAM_SOOP_IMPORTS, STREAM_TIKTOK_IMPORTS, STREAM_TWITCH_IMPORTS, STREAM_USER_CONSENT_PROVIDER_TOKEN, STREAM_VIMEO_IMPORTS, STREAM_YOUTUBE_IMPORTS, STRIKETHROUGH_ICON, SUPPORT_CONTENT_STATE, SUPPORT_TRANSITION_DIRECTION, SWISS_ADVANCE_WINS, SWISS_BRACKET_ROUND_TYPE, SWISS_ELIMINATE_LOSSES, SWITCH_IMPORTS, ScrollableActiveChildDirective, ScrollableButtonsComponent, ScrollableButtonsDirective, ScrollableComponent, ScrollableDarkenDirective, ScrollableDirective, ScrollableDragDirective, ScrollableIgnoreChildDirective, ScrollableLoadingTemplateDirective, ScrollableMasksComponent, ScrollableNavigationComponent, ScrollableNavigationDirective, ScrollableSnapDirective, SegmentedButtonComponent, SegmentedButtonGroupComponent, SelectComponent, SelectDirective, SelectEmptyDirective, SelectErrorDirective, SelectListboxDirective, SelectLoadingDirective, SelectOptionComponent, SelectOptionDirective, SelectOptionGroupComponent, SelectOptionGroupDirective, SelectOptionTemplateDirective, SelectOptionsDirective, SelectPanelComponent, SelectSearchDirective, SelectSurfaceDirective, SelectTriggerDirective, SelectValueDirective, SelectViewportDirective, SelectVirtualOptionComponent, SelectVirtualOptionDirective, SelectionListControlDirective, SelectionListDirective, SelectionOptionDirective, SkeletonComponent, SkeletonItemComponent, SkeletonTextComponent, SliderComponent, SliderDirective, SliderThumbDirective, SliderThumbLabelDirective, SliderTrackDirective, SoopPlayerComponent, SoopPlayerDirective, SoopPlayerParamsDirective, SoopPlayerSlotComponent, SpinnerComponent, SplitButtonActionDirective, SplitButtonComponent, SplitButtonDirective, SplitButtonTriggerDirective, StandingsComponent, StandingsDirective, StreamConsentAcceptDirective, StreamConsentComponent, StreamConsentDirective, StreamPipChromeComponent, StreamPlayerErrorComponent, StreamPlayerErrorDirective, StreamPlayerLoadingComponent, StreamPlayerSlotDirective, SwitchComponent, SwitchDirective, TABLE_CELL_ERROR_TOOLTIP_IMPORTS, TABLE_COLUMN_CHOOSER_IMPORTS, TABLE_COLUMN_MENU_IMPORTS, TABLE_CSV_EXPORT_IMPORTS, TABLE_ERROR_CODES, TABLE_FEATURE_HOST, TABLE_FILTER_IMPORTS, TABLE_GROUP_HEADERS_IMPORTS, TABLE_ICON, TABLE_IMPORTS, TABLE_INLINE_EDIT_IMPORTS, TABLE_KEYBOARD_NAV_IMPORTS, TABLE_LABELS, TABLE_REORDER_IMPORTS, TABLE_RESIZE_IMPORTS, TABLE_ROW_EXPANSION_IMPORTS, TABLE_SELECTION_IMPORTS, TABLE_SKELETON_IMPORTS, TABLE_STATE_PERSISTENCE_IMPORTS, TABLE_STICKY_COLUMNS_IMPORTS, TABLE_VIRTUAL_SCROLL_IMPORTS, TAB_BAR_FITS, TAB_BAR_ORIENTATIONS, TAB_BAR_TOKEN, TAB_BAR_TRIGGER_TOKEN, TAB_BAR_VARIANTS, TAB_ERROR_CODES, TAB_GROUP_TOKEN, TAB_IMPORTS, TAB_PANEL_TOKEN, TAB_SIZES, TAG_INPUT_ERROR_CODES, TAG_INPUT_IMPORTS, TEXTAREA_IMPORTS, TEXTAREA_RESIZE_MODES, TEXT_ALIGNS, TIKTOK_PLAYER_TOKEN, TIMES_ICON, TIME_FORMAT, TIME_INPUT_ERROR_CODES, TIME_INPUT_IMPORTS, TIME_PICKER_ERROR_CODES, TIME_PICKER_IMPORTS, TIME_PICKER_LABELS, TOGGLETIP_ERROR_CODES, TOGGLETIP_IMPORTS, TOOLTIP_ERROR_CODES, TOOLTIP_IMPORTS, TOURNAMENT_MODE, TRIANGLE_EXCLAMATION_ICON, TROPHY_ICON, TWITCH_PLAYER_TOKEN, TabBarDirective, TabBarTriggerDirective, TabBarUnderlineDirective, TabComponent, TabGroupComponent, TabGroupDirective, TabLabelDirective, TabPanelDirective, TabTriggerDirective, TableCellDirective, TableCellEditDirective, TableCellErrorMarkComponent, TableCellErrorTooltipDirective, TableCellSkeletonDirective, TableColumnChooserComponent, TableColumnMenuDirective, TableColumnMenuTriggerComponent, TableComponent, TableCsvExportDirective, TableDetailStylesComponent, TableExpanderCellComponent, TableFilterOptionDirective, TableFilterTriggerComponent, TableFiltersDirective, TableFooterCellDirective, TableFooterDirective, TableGroupHeaderRowComponent, TableGroupHeadersDirective, TableHeaderCellDirective, TableInlineEditDirective, TableInlineEditStylesComponent, TableKeyboardNavDirective, TableReorderDirective, TableReorderOverlayComponent, TableResizeDirective, TableResizeGripComponent, TableRowDetailComponent, TableRowExpansionDirective, TableSelectAllCellComponent, TableSelectCellComponent, TableSelectionDirective, TableSkeletonDirective, TableSkeletonRowsComponent, TableStatePersistenceDirective, TableStickyColumnsDirective, TableVirtualScrollDirective, TableVirtualScrollStylesComponent, TagInputComponent, TagInputDirective, TagInputFieldDirective, TextButtonComponent, TextFieldControlDirective, TextareaComponent, TextareaDirective, TikTokPlayerComponent, TikTokPlayerDirective, TikTokPlayerParamsDirective, TikTokPlayerSlotComponent, TimeInputComponent, TimeInputDirective, TimeInputFieldDirective, TimePickerColumnDirective, TimePickerComponent, TimePickerDirective, TimePickerOptionDirective, ToggletipCloseDirective, ToggletipComponent, ToggletipDirective, ToggletipTriggerDirective, TooltipComponent, TooltipDirective, TwitchPlayerComponent, TwitchPlayerDirective, TwitchPlayerParamsDirective, TwitchPlayerSlotComponent, UNDERLINE_ICON, UNDO_ICON, UNIT_MS, UPLOAD_ICON, VIMEO_PLAYER_TOKEN, VimeoPlayerComponent, VimeoPlayerDirective, VimeoPlayerParamsDirective, VimeoPlayerSlotComponent, WINDOW_CONTROL_BUTTON_KINDS, WINDOW_CONTROL_BUTTON_SIZES, WindowControlButtonComponent, YOUTUBE_PLAYER_SLOT_TOKEN, YOUTUBE_PLAYER_TOKEN, YoutubePlayerComponent, YoutubePlayerDirective, YoutubePlayerParamsDirective, YoutubePlayerSlotComponent, YoutubePlayerSlotDirective, abortFullscreenAnimation, anchoredDialogOverlayStrategy, anchoredOverlayStrategy, autoPlace, bottomSheetOverlayStrategy, bracketFitsWidth, bracketNaturalWidth, buildAnchoredRuntimePositionStrategy, canHaveChildren, cascaderFromQuery, centeredOverlayStrategy, clampPosition, clampResizeRect, cleanupFullscreenAnimation, cleanupFullscreenAnimationStyles, compactLayout, computeGeometry, computeGridHeight, createAnchoredPanelController, createAutoScroller, createBracket, createBracketBase, createCardMask, createCurrencyMask, createDefaultDropzoneArgs, createDropzoneUpload, createExistingDropzoneEntry, createFileDropzoneEntry, createFixedLengthRangeStrategy, createGridAdapter, createIbanMask, createMatchesMapBase, createNewMatchParticipantBase, createNormalizedBracketMatch, createNotificationPromiseFn, createNotificationRef, createOverlayOpener, createOverlayRef, createOverlayStrategyController, createOverlayUnsavedChangesGuard, createParticipantsMapBase, createPipChromeAnimations, createPipChromeState, createRichTextEditorTrigger, createRichTextEditorTriggerWithQuery, createRoundsMapBase, createStreamConfig, createStreamPlayerSlot, createTableRowsSource, createTableStateStorage, createV2DropzoneUpload, createWeekRangeStrategy, defaultCompareWith, defaultDropzoneRejectionMessage, defineOverlay, defineQueryParamOverlay, deriveDurationFormatSpec, deserializeGridLayout, deserializeTableState, dialogOverlayStrategy, disposeDropzoneEntry, doubleEliminationBracketLayout, dropzoneFiles, enableDragToDismiss, extractFirstImageUrl, filterOverlayLabelsForLocale, filterOverlayPreviewFromQuery, filterRows, findCollision, findNextRelevantHtmlElement, findScrollableAncestor, formatDuration, formatFileSize, fromGridPosition, fullScreenDialogOverlayStrategy, generateBracketDataForEthlete, generateBracketRoundSwissGroupMaps, generateMatchPosition, generateMatchRelationPositions, generateMatchRelationsNew, generateRoundRelationsNew, generateRoundTypeFromEthleteRoundType, generateTournamentModeFormEthleteRounds, getAvailableSwissGroupsForRound, getClosestOverlay, getOriginCoordinatesAndDimensions, getSwissGroupColorType, hysteresisRound, iconRegistryKey, indexOfNode, injectAnchoredDialogStrategy, injectAnchoredDialogStrategyDefaults, injectBottomSheetStrategy, injectBottomSheetStrategyDefaults, injectBracketConfig, injectBracketLabels, injectBreadcrumbLabels, injectBreadcrumbManager, injectCalendarLabels, injectCarouselLabels, injectCascaderLabels, injectChipLabels, injectDateFormat, injectDateLocale, injectDateTimeLabels, injectDialogStrategy, injectDialogStrategyDefaults, injectDropzoneLabels, injectFilterOverlay, injectFilterOverlayLabels, injectFormFieldLabels, injectFormSupport, injectFullscreenDialogStrategy, injectFullscreenDialogStrategyDefaults, injectGridConfig, injectGridLabels, injectInputLabels, injectLeftSheetStrategy, injectLeftSheetStrategyDefaults, injectLoaderLabels, injectMatchLabels, injectNotificationLabels, injectNotificationManager, injectNotificationManagerConfig, injectOverlayManager, injectOverlayRouter, injectOverlayScrollBlocker, injectOverlaySurfaceContext, injectPaginationLabels, injectPhoneInputLabels, injectPictureConfig, injectPipChromeManager, injectPipManager, injectPipSlotPlaceholderConfig, injectQueryErrorLabels, injectRichTextEditorLabels, injectRichTextEditorTools, injectRightSheetStrategy, injectRightSheetStrategyDefaults, injectSelectLabels, injectSidebarOverlay, injectSliderLabels, injectStandingsLabels, injectStreamConfig, injectStreamConsentConfig, injectStreamLabels, injectStreamManager, injectStreamPlayerErrorConfig, injectStreamPlayerLoadingConfig, injectStreamScriptLoader, injectStreamUserConsentProvider, injectTableCsvExport, injectTableFeatureHost, injectTableLabels, injectTimeFormat, injectTimePickerLabels, injectTopSheetStrategy, injectTopSheetStrategyDefaults, isFileAccepted, isHtmlElement, isInteractiveElement, isPointerEvent, isTargetInsideOverlayTree, isTouchEvent, itemsCollide, leftSheetOverlayStrategy, legacyQueryErrorSource, mapLayoutToBreakpoint, matchCountryByDialCode, matchParticipantDisplayName, mergeOverlayBreakpointConfigs, mergeOverlayConfigs, mirroredDoubleEliminationBracketLayout, mirroredSingleEliminationBracketLayout, mountRichTextEditorImageStyles, mountRichTextEditorTableStyles, nodesEqual, normalizeEthleteBracketMatch, normalizeEthleteGroupRanking, normalizeEthleteMatch, normalizeEthleteMatchStatus, normalizeEthleteMedia, normalizeEthleteParticipant, normalizeEthletePlacement, normalizePictureSizes, normalizePictureSource, paginate, parseDuration, phoneCountryFlag, phoneCountryName, pixelRectsEqual, positionToPixelRect, positionsEqual, projectDragCell, provideAnchoredDialogStrategy, provideAnchoredDialogStrategyDefaults, provideBottomSheetStrategy, provideBottomSheetStrategyDefaults, provideBracketConfig, provideBracketLabels, provideBreadcrumbLabels, provideBreadcrumbManager, provideCalendarLabels, provideCarouselLabels, provideCascaderLabels, provideChipLabels, provideDateFormat, provideDateLocale, provideDateTimeLabels, provideDialogStrategy, provideDialogStrategyDefaults, provideDropzoneLabels, provideFilterOverlay, provideFilterOverlayLabels, provideFormErrorMessageResolver, provideFormFieldLabels, provideFormSupport, provideFullscreenDialogStrategy, provideFullscreenDialogStrategyDefaults, provideGridConfig, provideGridLabels, provideIconOverrides, provideIcons, provideInputLabels, provideLeftSheetStrategy, provideLeftSheetStrategyDefaults, provideLoaderLabels, provideMatchLabels, provideNotificationLabels, provideNotificationManager, provideNotificationManagerConfig, provideNotificationManagerInstance, provideOverlay, provideOverlayManager, provideOverlayRouter, provideOverlayRouterConfig, provideOverlayRouterService, provideOverlayScrollBlocker, providePaginationLabels, providePhoneInputLabels, providePictureConfig, providePipChromeManager, providePipManager, providePipSlotPlaceholderConfig, provideQueryErrorLabels, provideRichTextEditorAlignmentTool, provideRichTextEditorAutoformat, provideRichTextEditorBlockquoteTool, provideRichTextEditorCodeBlockTool, provideRichTextEditorDefaultTools, provideRichTextEditorFloatingToolbar, provideRichTextEditorHeadingTool, provideRichTextEditorImageTool, provideRichTextEditorLabels, provideRichTextEditorLanguageTool, provideRichTextEditorLinkEditor, provideRichTextEditorLinkTool, provideRichTextEditorTableTool, provideRichTextEditorTokenRendering, provideRichTextEditorTools, provideRightSheetStrategy, provideRightSheetStrategyDefaults, provideSelectLabels, provideSidebarOverlay, provideSidebarOverlayConfig, provideSidebarOverlayService, provideSliderLabels, provideStandingsLabels, provideStreamConfig, provideStreamConsentConfig, provideStreamLabels, provideStreamManager, provideStreamPlayerErrorConfig, provideStreamPlayerLoadingConfig, provideTableLabels, provideTimeFormat, provideTimePickerLabels, provideTopSheetStrategy, provideTopSheetStrategyDefaults, queryErrorLabelsForLocale, queryErrorResponseFromLegacyError, reconcileColumnOrder, reconcileColumnWidths, reconcileHiddenColumns, reduceSupportPresentation, registerSingleton, requiredLanguages, resizeSpanBounds, resolveBracketLayout, resolveBreakpoint, resolveClosestOverlay, resolveCollisions, resolveFilterOverlaySubmitButton, resolveNotificationStatusIcon, resolveTableCsvRows, richTextEditorToolLabel, rightSheetOverlayStrategy, rowsToPixelHeight, selectOptionsFromQuery, selectOptionsFromV2Query, serializeGridLayout, serializeTableState, setupRichTextEditorFloatingToolbar, setupRichTextEditorLinkEditor, singleEliminationBracketLayout, snapResizeSpan, sortRows, spanHeight, spanWidth, startFullscreenEnterAnimation, startFullscreenLeaveAnimation, startImageUpload, startOfCalendarUnit, stripTrunkZero, supportPresentationIncludesState, swissBracketLayout, tableCsvRowsFromPages, tableFeatureConfig, tableRowsFromQuery, tableRowsFromV2Query, tableToCsv, toChildrenObservable, toGridPosition, toNotificationContent, toPathObservable, toSearchObservable, topSheetOverlayStrategy, transformingBottomSheetToDialogOverlayStrategy, transformingFullScreenDialogToDialogOverlayStrategy, transformingFullScreenDialogToRightSheetOverlayStrategy, wireFormSupport, withPictureBaseUrl };
23035
- export type { AccordionHeadingLevel, AnchoredDialogOverlayStrategyOptions, AnchoredOverlayStrategyOptions, AnchoredPanelCloseInfo, AnchoredPanelOverlayRef, AnchoredPanelSurfaceLike, AnchoredPositionOptions, AnyDropzoneUploadConfig, AnyTableColumn, AutoPlaceOptions, AutoScrollPointer, AutoScroller, Bracket, BracketBase, BracketCardContext, BracketComponents, BracketConfig, BracketContinueComponent, BracketDataLayout, BracketDataSource, BracketDensity, BracketDrawEdgesContext, BracketLabels, BracketLayout, BracketLayoutConfig, BracketListSection, BracketMatch, BracketMatchBase, BracketMatchComponent, BracketMatchFactor, BracketMatchId, BracketMatchNormalizer, BracketMatchParticipant, BracketMatchParticipantBase, BracketMatchParticipantWithRelationsBase, BracketMatchPosition, BracketMatchRelation, BracketMatchRelationNothingToOne, BracketMatchRelationOneToNothing, BracketMatchRelationOneToOne, BracketMatchRelationTwoToNothing, BracketMatchRelationTwoToOne, BracketMatchShortId, BracketMatchSource, BracketMatchStatus, BracketMatchWithRelationsBase, BracketParticipant, BracketParticipantBase, BracketParticipantMatch, BracketParticipantWithRelationsBase, BracketRound, BracketRoundBase, BracketRoundHeaderComponent, BracketRoundId, BracketRoundMapWithSwissData, BracketRoundMirrorType, BracketRoundPosition, BracketRoundRelation, BracketRoundRelationNothingToOne, BracketRoundRelationOneToNothing, BracketRoundRelationOneToOne, BracketRoundRelationTwoToNothing, BracketRoundRelationTwoToOne, BracketRoundShortId, BracketRoundSource, BracketRoundSwissData, BracketRoundSwissGroup, BracketRoundSwissGroupId, BracketRoundSwissGroupMap, BracketRoundType, BracketRoundWithRelationsBase, BracketRoundsListBlock, BracketRoundsListSection, BracketSwissColors, BracketSwissGroupColorType, BreadcrumbCollapseAffordance, BreadcrumbCrumb, BreadcrumbLabels, BreadcrumbRenderItem, BreadcrumbSegment, ButtonIconAlignment, ButtonSize, CalendarBandPosition, CalendarCell, CalendarCellBase, CalendarDateClassFn, CalendarFixedLengthRangeStrategyOptions, CalendarHeaderContext, CalendarInterval, CalendarLabels, CalendarMode, CalendarMonthPage, CalendarNavigationDirection, CalendarPrecision, CalendarRange, CalendarRangeSelectionStrategy, CalendarSelectionFlags, CalendarView, CalendarWeekRangeStrategyOptions, CalendarWeekday, CarouselAutoplayPauseReason, CarouselLabels, CarouselResolvedTransitionDriver, CarouselSlideAlign, CarouselSlideContext, CarouselSlideTemplateRef, CarouselTransition, CarouselTransitionDriver, CascaderColumnState, CascaderCompareWith, CascaderDataSource, CascaderFromQueryConfig, CascaderFromQuerySearchConfig, CascaderLabels, CascaderNode, CascaderNodeSignal, CascaderSearchState, CascaderSelectableLevels, CascaderSurfaceContext, CenteredOverlayStrategyOptions, CheckboxOptionVariant, ChipLabels, ChoiceFieldVariant, ClampPositionOptions, CommonBracketRoundType, CompactLayoutOptions, ComponentInputValue, ComputedBracketGrid, CounterComponentBase, CreateAnchoredPanelControllerOptions, CreateBracketGridConfig, CreateExistingDropzoneEntryOptions, CreateFileDropzoneEntryOptions, CreateOverlayUnsavedChangesGuardConfig, CreateTableRowsSourceOptions, CurrencyMaskOptions, DatePickerHost, DatePickerSurfaceBase, DatePickerSurfaceContext, DatePickerTriggerBase, DateRangeSide, DateRangeValue, DateTimeLabels, Dimensions, DoubleEliminationBracketRoundType, DragDismissMomentum, DragToDismissContext, DragToDismissRef, DropzoneEntry, DropzoneEntrySource, DropzoneEntryStatus, DropzoneExistingFileInfo, DropzoneFileConstraints, DropzoneFileRejection, DropzoneFileRejectionReason, DropzoneFileValidationChannel, DropzoneLabels, DropzoneUploadConfig, DropzoneUploadError, DropzoneUploadHandle, DropzoneUploadHandleOptions, DropzoneUploadState, DurationFormatSpec, DurationSegment, DurationUnit, EtBuiltInIconName, EthleteIconNameRegistry, EthleteIconVariantRegistry, FacebookVideoPlayer, FacebookWindow, FilterOverlay, FilterOverlayConfig, FilterOverlayDraft, FilterOverlayLabels, FilterOverlayPreview, FilterOverlayResult, FilterOverlaySubmitButton, FilterOverlaySubmitState, FilterOverlayValueOf, FilterRowsConfig, FindCollisionOptions, FloatingActionState, FormErrorMessageResolver, FormFieldAppearance, FormFieldControl, FormFieldControlType, FormFieldDirectiveBase, FormFieldFill, FormFieldLabelMode, FormFieldLabels, FormFieldSize, FormSupport, FullscreenAnimationCancellable, FullscreenAnimationDeps, FullscreenAnimationState, GenerateBracketDataOptions, GridAdapter, GridBreakpointConfig, GridBreakpointName, GridComponentRegistration, GridConfig, GridGeometry, GridItemActionsComponent, GridItemConfig, GridItemConstraints, GridItemPosition, GridLabels, GridLayoutEntry, GridSerializedState, GroupBracketRoundType, HintComponentBase, IconDefinition, IconOverride, InputLabels, InputMaskHost, InputTextAlignment, LabelDirectiveBase, LegacyQueryErrorSource, LoaderLabels, MapLayoutOptions, MaskSpec, MaskValueMode, MasonryColumns, MasonryPacking, MasonryPlacement, MatchCardNameContext, MatchCardSize, MatchLabels, MatchParticipantDisplayNameOptions, MatchParticipantId, MatchParticipantShortId, MatchParticipantSide, MatchPositionMaps, MatchResultNameContext, MatchScoreChange, MenuAnchorPoint, MenuCloseReason, MenuItemActivationEvent, MenuItemActivationSource, MenuItemVariant, MenuOpenSource, MenuSelectionGroupDirectiveBase, MenuSelectionGroupItem, MenuSelectionItemKind, MenuSurfaceContext, MultiLanguageRichTextEditorLanguage, MultiLanguageRichTextEditorValue, NormalizedGameScore, NormalizedMatch, NormalizedMatchParticipant, NormalizedMatchResultKind, NormalizedMatchStatus, NormalizedMedia, NormalizedStandingRow, NotificationAction, NotificationActionSlot, NotificationConfig, NotificationContentInit, NotificationContentInput, NotificationEntry, NotificationLabels, NotificationManager, NotificationManagerConfig, NotificationPromiseContent, NotificationPromiseFn, NotificationPromiseWork, NotificationRef, NotificationStackContext, NotificationStatus, OtpInputCharset, OverlayAutoFocusTarget, OverlayBodyDividerType, OverlayBreakpointConfig, OverlayCloseGuard, OverlayConfig, OverlayDefinition, OverlayDefinitionConfig, OverlayDragToDismissConfig, OverlayDragToDismissDirection, OverlayDragToDismissPhysicalDirection, OverlayLifecycleConfig, OverlayManager, OverlayMode, OverlayOpenConfig, OverlayOpener, OverlayOpenerConfig, OverlayRef, OverlayRole, OverlayRoute, OverlayRouter, OverlayRouterConfig, OverlayRouterNavigateConfig, OverlayRouterNavigationDirection, OverlayRouterResolvedPath, OverlayRouterTransitionType, OverlayStrategy, OverlayStrategyBreakpoint, OverlayStrategyContext, OverlayStrategyController, OverlayStrategyControllerMountConfig, OverlaySurfaceContext, OverlayTreeContainmentOptions, OverlayUnsavedChangesDismissSources, OverlayUnsavedChangesGuardRef, PaginateOptions, PaginationItem, PaginationItemType, PaginationLabels, PaginationRangeContext, PaginationRenderAs, ParticipantMatchResult, PhoneCountry, PhoneInputFlagContext, PhoneInputFlagCountry, PhoneInputLabels, PictureConfig, PictureSource, PictureState, PipCellData, PipChromeAnimations, PipChromeRef, PipChromeState, PipManager, PipSlotPlaceholderConfig, PixelRect, QueryErrorLabels, QueryErrorRetryTarget, QueryErrorSlotContext, QueryErrorView, QueryParamOverlayDefinition, QueryParamOverlayDefinitionConfig, QueryParamOverlayHost, QueryParamOverlayOpener, QueryParamOverlayValue, RadioVariant, RangeSliderValue, RatingIconContext, RatingIconState, ReconcilableColumn, ReduceSupportPresentationInput, RegisteredIconName, RegisteredIconVariant, RequiredLanguagesOptions, ResizeSpanBounds, ResolveClosestOverlayOptions, ResolveCollisionsOptions, ResolvedDropzoneUploadConfig, ResolvedScrollableChrome, RichTextEditorFloatingToolbarSetup, RichTextEditorImageFailure, RichTextEditorImageFailureReason, RichTextEditorImageToolConfig, RichTextEditorImageUpload, RichTextEditorImageUploadFn, RichTextEditorImageUploadRun, RichTextEditorLabels, RichTextEditorLinkEditorSetup, RichTextEditorLinkEditorValue, RichTextEditorQueryTriggerConfig, RichTextEditorTool, RichTextEditorToolButton, RichTextEditorToolDefinition, RichTextEditorToolsConfig, RichTextEditorTrigger, RichTextEditorTriggerItem, RichTextEditorTriggerItemResolver, RichTextEditorTriggerItemSource, RichTextEditorTriggerType, RowFloors, ScrollableActiveChildRef, ScrollableButtonPosition, ScrollableButtonsConfig, ScrollableChrome, ScrollableChromeSlot, ScrollableDirection, ScrollableIntersectionChange, ScrollableItemSize, ScrollableLoadingTemplatePosition, ScrollableLoadingTemplateRef, ScrollableMaskVariant, ScrollableNavigation, ScrollableNavigationConfig, ScrollableNavigationItem, ScrollableScrollMode, ScrollableScrollOrigin, ScrollableScrollState, SegmentedButtonGroupVariant, SelectAsyncOptions, SelectErrorContext, SelectFilterMode, SelectItem, SelectLabels, SelectOptionData, SelectOptionGroupItem, SelectOptionTemplateContext, SelectOptionsFromQuery, SelectOptionsFromQueryConfig, SelectOptionsFromV2QueryConfig, SelectSelectedEntry, SelectSurfaceContext, SelectValueContext, SelectionListDirectiveBase, SelectionListItem, SelectionListOrientation, SerializeOptions, SidebarOverlay, SidebarOverlayConfig, SingleEliminationBracketRoundType, SkeletonShape, SliderHostBase, SliderLabels, SliderMark, SliderMarkStop, SliderMarks, SliderOrientation, SliderThumbBase, SliderThumbLabelBase, SliderThumbLabelContext, SortRowsConfig, Spacing, StandingsFormResult, StandingsLabels, StandingsRenderRow, StandingsZone, StartImageUploadOptions, StreamConfig, StreamConsentConfig, StreamLabels, StreamManager, StreamPipEntry, StreamPipWindowConfig, StreamPlayer, StreamPlayerCapabilities, StreamPlayerEntry, StreamPlayerErrorConfig, StreamPlayerErrorContext, StreamPlayerId, StreamPlayerLoadingConfig, StreamPlayerParams, StreamPlayerSlotHandle, StreamPlayerSlotOptions, StreamPlayerState, StreamScriptLoader, StreamSlotEntry, SupportContentState, SupportPresentationState, SupportTransitionDirection, SwissBracketLayoutOptions, SwissBracketRoundType, TabBarFit, TabBarOrientation, TabBarVariant, TabSize, TableBodyPlaceholder, TableCellContext, TableCellEditCommit, TableCellEditContext, TableCellEditTarget, TableCellEditing, TableCellErrorMark, TableCellErrorTooltipConfig, TableCellNavigation, TableCellPinning, TableCellPlaceholder, TableCellSkeletonContext, TableCellState, TableCellStateValue, TableColumn, TableColumnAlign, TableColumnDef, TableColumnMenuConfig, TableColumnMeta, TableColumnPinning, TableColumnState, TableColumnTemplate, TableColumnVisibilityHost, TableColumns, TableCsvExportConfig, TableCsvExportFile, TableCsvExportOptions, TableCsvRowsFromPagesOptions, TableCsvRowsProvider, TableCsvSerializeOptions, TableCsvSource, TableCsvValue, TableEmptyContext, TableErrorContext, TableExpandedRowContext, TableFeatureConfig, TableFeatureHost, TableFilter, TableFilterOption, TableFilterOptionContext, TableFilterOptionsProvider, TableFilterSelection, TableFiltersConfig, TableFooterContext, TableGroupHeadersConfig, TableHeaderAdornment, TableHeaderContext, TableHeaderGroup, TableHeaderRow, TableInlineEditConfig, TableKeyboardNavConfig, TableLabels, TableLabelsSource, TableLayer, TableLeadCellComponent, TableLeadColumn, TableReorderConfig, TableResizeConfig, TableRowDetail, TableRowExpansionConfig, TableRowKey, TableRowWindow, TableRowsDriver, TableRowsFromQuery, TableRowsFromQueryConfig, TableRowsFromV2QueryConfig, TableRowsQueryState, TableRowsSource, TableSelectionConfig, TableSkeletonConfig, TableSort, TableSortDirection, TableSortValue, TableState, TableStatePersistenceConfig, TableStateSlice, TableStateStorage, TableStateStorageKind, TableStateStorageOptions, TableStickyColumnsConfig, TableTemplateSlot, TableVirtualScrollConfig, TextAlign, TextareaResizeMode, TimePickerColumn, TimePickerLabels, TimePickerOption, TimePickerUnit, ToggletipContent, TooltipContent, TournamentMode, TwitchEmbed, TwitchEmbedConstructor, TwitchEmbedPlayer, TwitchPlayerParams, TwitchWindow, V2DropzonePrepareArgsOf, V2DropzoneUploadConfig, V2PrepareArgsOf, ViewportTransformData, VimeoDurationChangeEvent, VimeoPlaybackEvent, VimeoPlayer, VimeoPlayerOptions, VimeoWindow, WindowControlButtonKind, WindowControlButtonSize, YtPlayer, YtPlayerConfig, YtPlayerErrorEvent, YtPlayerEvent, YtPlayerStateChangeEvent, YtPlayerVars, YtWindow };
24438
+ 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_IMPORTS, 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, 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, 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, FormFieldComponent, FormFieldDirective, GERMAN_FILTER_OVERLAY_LABELS, GERMAN_QUERY_ERROR_LABELS, GRID_2X2_ICON, GRID_DEBUG_IMPORTS, GRID_ERROR_CODES, GRID_IMPORTS, GRID_LABELS, GRID_TOKEN, GROUP_BRACKET_ROUND_TYPE, GridComponent, GridDebugComponent, GridDirective, GridDragDirective, GridItemComponent, GridItemDefaultActionsComponent, GridItemDirective, GridItemRef, GridItemToolbarComponent, GridResizeDirective, HEADING_1_ICON, HEADING_2_ICON, HEADING_3_ICON, HintComponent, ICONS_TOKEN, ICON_DIRECTIVE_TOKEN, ICON_ERROR_CODES, ICON_IMPORTS, ICON_OVERRIDES_TOKEN, IMAGE_ICON, INITIAL_SUPPORT_PRESENTATION_STATE, INPUT_IMPORTS, INPUT_LABELS, INPUT_MASK_HOST, INPUT_TEXT_ALIGNMENTS, INPUT_TYPES, INTERACTIVE_TAGS, ITALIC_ICON, IconButtonComponent, IconDirective, InputComponent, InputDirective, InputMaskDirective, InputPrefixDirective, InputSuffixDirective, KICK_PLAYER_TOKEN, KickPlayerComponent, KickPlayerDirective, KickPlayerParamsDirective, KickPlayerSlotComponent, LINK_ICON, LIST_BULLETED_ICON, LIST_NUMBERED_ICON, LOADER_LABELS, 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_DEVTOOLS_IMPORTS, QUERY_ERROR_ERROR_CODES, QUERY_ERROR_IMPORTS, QUERY_ERROR_LABELS, QUERY_ERROR_TOKEN, QUOTE_ICON, QueryDevtoolsComponent, QueryDevtoolsJsonComponent, QueryDevtoolsJsonStylesComponent, QueryDevtoolsTimelineStylesComponent, QueryDevtoolsToggleComponent, QueryErrorActionsDirective, QueryErrorComponent, QueryErrorDirective, QueryErrorTitleDirective, QueryParamOverlayLinkDirective, RADIO_GROUP_IMPORTS, RADIO_VARIANTS, RATING_IMPORTS, REDO_ICON, RICH_TEXT_EDITOR_FLOATING_TOOLBAR, RICH_TEXT_EDITOR_HEADING_OPTIONS, RICH_TEXT_EDITOR_IMPORTS, RICH_TEXT_EDITOR_INLINE_TOOLS, RICH_TEXT_EDITOR_LABELS, RICH_TEXT_EDITOR_LANGUAGE_TOOL, RICH_TEXT_EDITOR_LINK_EDITOR, RICH_TEXT_EDITOR_TOKEN_CODEC, RICH_TEXT_EDITOR_TOKEN_PALETTE_IMPORTS, RICH_TEXT_EDITOR_TOOL, RICH_TEXT_EDITOR_TOOLS, RICH_TEXT_EDITOR_TOOL_BUTTONS, RICH_TEXT_EDITOR_TRIGGERS_IMPORTS, ROTATE_RIGHT_ICON, RadioComponent, RadioGroupComponent, RangeSliderComponent, RangeSliderDirective, RatingComponent, RatingDirective, RatingIconDirective, RichTextEditorAlignToolComponent, RichTextEditorComponent, RichTextEditorDirective, RichTextEditorFloatingToolbarComponent, RichTextEditorFloatingToolbarDirective, RichTextEditorHeadingToolComponent, RichTextEditorImageEditorComponent, RichTextEditorImageStylesComponent, RichTextEditorImageToolComponent, RichTextEditorLinkEditorComponent, RichTextEditorLinkEditorDirective, RichTextEditorTableStylesComponent, RichTextEditorTableToolComponent, RichTextEditorTokenPaletteComponent, RichTextEditorTokenPopupComponent, RichTextEditorTriggersDirective, 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, 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, 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, TRIANGLE_EXCLAMATION_ICON, TROPHY_ICON, TWITCH_PLAYER_TOKEN, TabBarDirective, TabBarTriggerDirective, TabBarUnderlineDirective, TabComponent, TabGroupComponent, TabGroupDirective, TabLabelDirective, TabPanelDirective, TabTriggerDirective, TableCellDirective, TableCellEditDirective, TableCellErrorMarkComponent, TableCellErrorTooltipDirective, TableCellSkeletonDirective, TableColumnChooserComponent, TableColumnMenuDirective, TableColumnMenuTriggerComponent, TableComponent, TableCsvExportDirective, TableDetailStylesComponent, TableExpanderCellComponent, TableFilterOptionDirective, TableFilterTriggerComponent, TableFiltersDirective, TableFooterCellDirective, TableFooterDirective, TableGroupHeaderRowComponent, TableGroupHeadersDirective, TableHeaderCellDirective, TableInlineEditDirective, TableInlineEditStylesComponent, TableKeyboardNavDirective, TableReorderDirective, TableReorderOverlayComponent, TableResizeDirective, TableResizeGripComponent, TableRowDetailComponent, TableRowExpansionDirective, TableSelectAllCellComponent, TableSelectCellComponent, TableSelectionDirective, TableSkeletonDirective, TableSkeletonRowsComponent, TableStatePersistenceDirective, TableStickyColumnsDirective, TableVirtualScrollDirective, TableVirtualScrollStylesComponent, TagInputComponent, TagInputDirective, TagInputFieldDirective, TextButtonComponent, TextFieldControlDirective, TextareaComponent, TextareaDirective, TikTokPlayerComponent, TikTokPlayerDirective, TikTokPlayerParamsDirective, TikTokPlayerSlotComponent, TimeInputComponent, TimeInputDirective, TimeInputFieldDirective, TimePickerColumnDirective, TimePickerComponent, TimePickerDirective, TimePickerOptionDirective, ToggletipCloseDirective, ToggletipComponent, ToggletipDirective, ToggletipTriggerDirective, ToolbarComponent, ToolbarDirective, TooltipComponent, TooltipDirective, TwitchPlayerComponent, TwitchPlayerDirective, TwitchPlayerParamsDirective, TwitchPlayerSlotComponent, UNDERLINE_ICON, UNDO_ICON, UNIT_MS, UPLOAD_ICON, VIMEO_PLAYER_TOKEN, VimeoPlayerComponent, VimeoPlayerDirective, VimeoPlayerParamsDirective, VimeoPlayerSlotComponent, WINDOW_CONTROL_BUTTON_KINDS, WINDOW_CONTROL_BUTTON_SIZES, WindowControlButtonComponent, YOUTUBE_PLAYER_SLOT_TOKEN, YOUTUBE_PLAYER_TOKEN, YoutubePlayerComponent, YoutubePlayerDirective, YoutubePlayerParamsDirective, YoutubePlayerSlotComponent, YoutubePlayerSlotDirective, abortFullscreenAnimation, anchoredDialogOverlayStrategy, anchoredOverlayStrategy, autoPlace, bottomSheetOverlayStrategy, bracketFitsWidth, bracketNaturalWidth, buildAnchoredRuntimePositionStrategy, canHaveChildren, cascaderFromQuery, centeredOverlayStrategy, clampPosition, clampResizeRect, cleanupFullscreenAnimation, cleanupFullscreenAnimationStyles, compactLayout, computeGeometry, computeGridHeight, 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, dialogOverlayStrategy, disposeDropzoneEntry, doubleEliminationBracketLayout, dropzoneFiles, enableDragToDismiss, extractFirstImageUrl, filterOverlayLabelsForLocale, filterOverlayPreviewFromQuery, filterRows, findCollision, findNextRelevantHtmlElement, findScrollableAncestor, formatDuration, formatFileSize, fromGridPosition, fullScreenDialogOverlayStrategy, generateBracketDataForEthlete, generateRoundTypeFromEthleteRoundType, generateTournamentModeFormEthleteRounds, getClosestOverlay, getOriginCoordinatesAndDimensions, 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, kindOf, leftSheetOverlayStrategy, legacyQueryErrorSource, mapLayoutToBreakpoint, matchCountryByDialCode, matchParticipantDisplayName, mergeOverlayBreakpointConfigs, mergeOverlayConfigs, mirroredDoubleEliminationBracketLayout, mirroredSingleEliminationBracketLayout, mountRichTextEditorImageStyles, mountRichTextEditorTableStyles, nodesEqual, normalizeEthleteBracketMatch, normalizeEthleteGroupRanking, normalizeEthleteMatch, normalizeEthleteMatchStatus, normalizeEthleteMedia, normalizeEthleteParticipant, normalizeEthletePlacement, normalizePictureSizes, normalizePictureSource, paginate, parseDuration, phoneCountryFlag, phoneCountryName, pixelRectsEqual, positionToPixelRect, positionsEqual, projectDragCell, provideAnchoredDialogStrategy, provideAnchoredDialogStrategyDefaults, 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, resolveBracketLayout, resolveBreakpoint, resolveClosestOverlay, resolveCollisions, resolveFilterOverlaySubmitButton, resolveNotificationStatusIcon, resolveTableCsvRows, 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, wireFormSupport, withPictureBaseUrl };
24439
+ export type { AccordionHeadingLevel, AnchoredDialogOverlayStrategyOptions, AnchoredOverlayStrategyOptions, AnchoredPanelCloseInfo, AnchoredPanelOverlayRef, AnchoredPanelSurfaceLike, AnchoredPositionOptions, AnyDropzoneUploadConfig, AnyTableColumn, Appointment, AppointmentId, AppointmentTreeNode, AutoPlaceOptions, AutoScrollPointer, AutoScroller, AvatarShape, AvatarSize, BadgeVariant, BannerLabels, 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, 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, GridSerializedState, GroupBracketRoundType, HintComponentBase, IconDefinition, IconOverride, InputLabels, InputMaskHost, InputTextAlignment, JsonKind, 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, 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, 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, SchedulerEditColorConfig, SchedulerEditDescriptionConfig, SchedulerEditField, SchedulerEditLocationConfig, SchedulerEditSurfaceHost, SchedulerEditSurfaceResult, SchedulerEditTimeRangeConfig, SchedulerEditTitleConfig, SchedulerFeatureConfig, SchedulerFeatureHost, SchedulerLabels, SchedulerMonthDayCell, 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, TwitchEmbed, TwitchEmbedConstructor, TwitchEmbedPlayer, TwitchPlayerParams, TwitchWindow, V2DropzoneDeleteConfig, V2DropzonePrepareArgsOf, V2DropzoneUploadConfig, V2PrepareArgsOf, ViewportTransformData, VimeoDurationChangeEvent, VimeoPlaybackEvent, VimeoPlayer, VimeoPlayerOptions, VimeoWindow, WindowControlButtonKind, WindowControlButtonSize, YtPlayer, YtPlayerConfig, YtPlayerErrorEvent, YtPlayerEvent, YtPlayerStateChangeEvent, YtPlayerVars, YtWindow };