@ethlete/components 0.1.0-next.14 → 0.1.0-next.16

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,14 +1,14 @@
1
1
  import * as _angular_core from '@angular/core';
2
2
  import { Signal, WritableSignal, InjectionToken, ElementRef, Type, InputSignal, ViewContainerRef, Injector, StaticProvider, TemplateRef, OnInit, ComponentRef, OnDestroy, computed, Provider, EnvironmentInjector, ApplicationRef, Binding } from '@angular/core';
3
3
  import * as _ethlete_core from '@ethlete/core';
4
- import { AnimatableDirective, DragHandleDirective, ResizeEdge, ResizeMoveEvent, OverlayRuntimePositionStrategy, Breakpoint, OverlayRuntimeRef, AnimatedLifecycleDirective, OverlayRuntimeCloseSource, AnimatedLifecycleState, AngularRenderer, OverlayRuntimeAnimationDelegate, ScrollObserverDirective, ScrollToElementOptions, ConsentHandler, ProvideColorDirective, ProvideSurfaceDirective } from '@ethlete/core';
4
+ import { AnimatableDirective, ResizeEdge, DragHandleDirective, ResizeMoveEvent, OverlayRuntimePositionStrategy, Breakpoint, OverlayRuntimeRef, AnimatedLifecycleDirective, OverlayRuntimeCloseSource, AnimatedLifecycleState, AngularRenderer, OverlayRuntimeAnimationDelegate, ScrollObserverDirective, ScrollToElementOptions, ConsentHandler, ProvideColorDirective } from '@ethlete/core';
5
5
  import * as _angular_forms_signals from '@angular/forms/signals';
6
6
  import { ValidationError, FormCheckboxControl, FormValueControl } from '@angular/forms/signals';
7
7
  import * as _ethlete_components from '@ethlete/components';
8
8
  import * as _angular_platform_browser from '@angular/platform-browser';
9
+ import { Placement, OffsetOptions, Padding } from '@floating-ui/dom';
9
10
  import * as rxjs from 'rxjs';
10
11
  import { Observable } from 'rxjs';
11
- import { Placement, OffsetOptions, Padding } from '@floating-ui/dom';
12
12
  import * as i1 from '@angular/router';
13
13
 
14
14
  declare class ButtonStylesDirective {
@@ -1019,8 +1019,10 @@ type GridDragState = {
1019
1019
  };
1020
1020
  declare class GridDirective {
1021
1021
  private injector;
1022
- private renderer;
1022
+ private destroyRef;
1023
+ elementRef: ElementRef<HTMLElement>;
1023
1024
  private gridConfig;
1025
+ private reducedMotion;
1024
1026
  breakpoints: _angular_core.InputSignal<GridBreakpointConfig[]>;
1025
1027
  rowHeight: _angular_core.InputSignal<number>;
1026
1028
  gap: _angular_core.InputSignal<number>;
@@ -1034,47 +1036,53 @@ declare class GridDirective {
1034
1036
  dragState: _angular_core.WritableSignal<GridDragState | null>;
1035
1037
  private constraintsRegistry;
1036
1038
  private resizeBaseLayout;
1037
- private itemElements;
1038
- private contentElements;
1039
- private ghostElement;
1040
- private lastFlipAt;
1041
- private rectSnapshot;
1039
+ private pendingResize;
1040
+ private lastResizeTarget;
1041
+ leavingIds: _angular_core.WritableSignal<ReadonlySet<string>>;
1042
+ isResizeActive: _angular_core.WritableSignal<boolean>;
1043
+ private animationsReady;
1044
+ private isContainerResizing;
1042
1045
  containerWidth: _angular_core.Signal<number>;
1046
+ isReady: _angular_core.Signal<boolean>;
1047
+ animationsEnabled: _angular_core.Signal<boolean>;
1043
1048
  activeBreakpoint: _angular_core.Signal<string>;
1044
1049
  activeColumns: _angular_core.Signal<number>;
1050
+ private paddings;
1051
+ geometry: _angular_core.Signal<_ethlete_components.GridGeometry>;
1045
1052
  items: _angular_core.Signal<GridItemConfig[]>;
1046
1053
  baseLayout: _angular_core.Signal<GridLayoutEntry[]>;
1047
1054
  layout: _angular_core.Signal<GridLayoutEntry[]>;
1055
+ containerHeightPx: _angular_core.Signal<number>;
1056
+ protected hostHeight: _angular_core.Signal<number | null>;
1057
+ protected containerTransition: _angular_core.Signal<"none" | "height var(--et-grid-anim-duration, 250ms) cubic-bezier(0.2, 0, 0, 1)">;
1048
1058
  ghostPosition: _angular_core.Signal<GridItemPosition | null>;
1049
1059
  constructor();
1060
+ getContainerOrigin(): {
1061
+ left: number;
1062
+ top: number;
1063
+ };
1050
1064
  registerConstraints(id: string, constraints: GridItemConstraints): void;
1051
- registerItem(id: string, options: {
1052
- el: HTMLElement;
1053
- constraints: GridItemConstraints;
1054
- }): void;
1055
- unregisterItem(id: string): void;
1056
- /**
1057
- * The item's inner content wrapper. Used by the counter-scaled resize FLIP so the
1058
- * box can scale while the content takes the inverse scale and stays undistorted.
1059
- */
1060
- registerContentElement(id: string, el: HTMLElement): void;
1061
- setGhostElement(el: HTMLElement | null): void;
1065
+ unregisterConstraints(id: string): void;
1062
1066
  getConstraints(id: string): GridItemConstraints;
1063
- snapshotRects(): void;
1064
- animateLayoutTransition(options?: {
1065
- excludeIds?: Set<string>;
1066
- durationMs?: number;
1067
+ beginDrag(itemId: string): GridItemPosition | null;
1068
+ updateDragTarget(cell: {
1069
+ col: number;
1070
+ row: number;
1067
1071
  }): void;
1068
- beginDrag(itemId: string): void;
1069
- updateDragTarget(targetPosition: GridItemPosition): void;
1070
- commitDrag(): void;
1072
+ commitDrag(): GridItemPosition | null;
1073
+ cancelDrag(): void;
1074
+ beginResize(itemId: string): GridItemPosition | null;
1075
+ updateResize(itemId: string, target: GridItemPosition): void;
1076
+ commitResize(): GridItemPosition | null;
1077
+ cancelResize(): void;
1078
+ /** One-shot resize (keyboard / programmatic): begin + update + commit in a single call. */
1079
+ resizeItem(options: ResizeItemOptions): void;
1071
1080
  addItem(type: string, data: unknown): void;
1072
1081
  removeItem(id: string): void;
1073
1082
  moveItem(id: string, newPosition: GridItemPosition): void;
1074
- resizeItem(options: ResizeItemOptions): void;
1075
- commitResize(): void;
1076
1083
  getSerializedState(): GridSerializedState;
1077
1084
  restoreState(state: GridSerializedState): void;
1085
+ private finalizeRemove;
1078
1086
  private placeItem;
1079
1087
  private shrinkNeighbors;
1080
1088
  /** Compact all visited breakpoints (layoutOverrides entries) after an item is removed. */
@@ -1082,13 +1090,244 @@ declare class GridDirective {
1082
1090
  private updateLayoutForCurrentBreakpoint;
1083
1091
  private updateItemLayout;
1084
1092
  private emitLayoutChange;
1085
- private animateCounterScaled;
1086
1093
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridDirective, never>;
1087
1094
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridDirective, "[etGrid]", ["etGrid"], { "breakpoints": { "alias": "breakpoints"; "required": false; "isSignal": true; }; "rowHeight": { "alias": "rowHeight"; "required": false; "isSignal": true; }; "gap": { "alias": "gap"; "required": false; "isSignal": true; }; "initialItems": { "alias": "initialItems"; "required": false; "isSignal": true; }; "readOnly": { "alias": "readOnly"; "required": false; "isSignal": true; }; }, { "layoutChange": "layoutChange"; }, never, never, true, never>;
1088
1095
  }
1089
1096
 
1097
+ type AutoScrollPointer = {
1098
+ clientX: number;
1099
+ clientY: number;
1100
+ };
1101
+ type AutoScroller = {
1102
+ /** Begin the edge-proximity loop. No-op if already running. */
1103
+ start: (pointer: AutoScrollPointer) => void;
1104
+ /** Feed the latest pointer position. */
1105
+ update: (pointer: AutoScrollPointer) => void;
1106
+ stop: () => void;
1107
+ };
1108
+ declare const findScrollableAncestor: (start: Element | null) => HTMLElement | null;
1109
+ declare const createAutoScroller: (options: {
1110
+ document: Document;
1111
+ getScrollElement: () => HTMLElement | null;
1112
+ threshold?: number;
1113
+ maxSpeed?: number;
1114
+ }) => AutoScroller;
1115
+
1116
+ /** A rectangle in container-relative pixels (x/y measured from the container's padding box). */
1117
+ type PixelRect = {
1118
+ x: number;
1119
+ y: number;
1120
+ width: number;
1121
+ height: number;
1122
+ };
1123
+ type GridGeometry = {
1124
+ /** Width available for columns (container client width minus horizontal padding). */
1125
+ contentWidth: number;
1126
+ columns: number;
1127
+ gap: number;
1128
+ rowHeight: number;
1129
+ cellWidth: number;
1130
+ /** Horizontal distance between the left edges of two adjacent columns. */
1131
+ strideX: number;
1132
+ /** Vertical distance between the top edges of two adjacent rows. */
1133
+ strideY: number;
1134
+ /** Container padding-left - the x of column 0. */
1135
+ originX: number;
1136
+ /** Container padding-top - the y of row 0. */
1137
+ originY: number;
1138
+ };
1139
+ /**
1140
+ * Effective span bounds for a resize gesture. Grid bounds and item constraints are
1141
+ * unified in span units per edge, so the clamped pixel rect and the snapped span
1142
+ * are always derived from the same limits and can never disagree.
1143
+ */
1144
+ type ResizeSpanBounds = {
1145
+ minColSpan: number;
1146
+ maxColSpan: number;
1147
+ minRowSpan: number;
1148
+ maxRowSpan: number;
1149
+ };
1150
+ declare const computeGeometry: (options: {
1151
+ contentWidth: number;
1152
+ columns: number;
1153
+ gap: number;
1154
+ rowHeight: number;
1155
+ originX?: number;
1156
+ originY?: number;
1157
+ }) => GridGeometry;
1158
+ declare const spanWidth: (span: number, geometry: GridGeometry) => number;
1159
+ declare const spanHeight: (span: number, geometry: GridGeometry) => number;
1160
+ declare const positionToPixelRect: (position: GridItemPosition, geometry: GridGeometry) => PixelRect;
1161
+ /** Pixel height of the given number of rows (content only, no container padding). */
1162
+ declare const rowsToPixelHeight: (rows: number, geometry: GridGeometry) => number;
1163
+ declare const pixelRectsEqual: (a: PixelRect | null, b: PixelRect | null) => boolean;
1164
+ declare const positionsEqual: (a: GridItemPosition | null, b: GridItemPosition | null) => boolean;
1165
+ declare const SNAP_HYSTERESIS = 0.1;
1166
+ /**
1167
+ * Rounds a raw cell-unit value to the nearest integer with a hysteresis margin
1168
+ * relative to the last snapped value: the rounding boundary is shifted by
1169
+ * SNAP_HYSTERESIS against the direction of travel, so a pointer jittering exactly
1170
+ * on a cell midpoint cannot flap the snap back and forth (each flap would
1171
+ * re-trigger a full neighbour reflow).
1172
+ */
1173
+ declare const hysteresisRound: (raw: number, last: number | null) => number;
1174
+ declare const resizeSpanBounds: (options: {
1175
+ edge: ResizeEdge;
1176
+ start: GridItemPosition;
1177
+ constraints: GridItemConstraints;
1178
+ columns: number;
1179
+ }) => ResizeSpanBounds;
1180
+ declare const clampResizeRect: (options: {
1181
+ edge: ResizeEdge;
1182
+ dx: number;
1183
+ dy: number;
1184
+ startRect: PixelRect;
1185
+ bounds: ResizeSpanBounds;
1186
+ geometry: GridGeometry;
1187
+ }) => PixelRect;
1188
+ declare const snapResizeSpan: (options: {
1189
+ edge: ResizeEdge;
1190
+ rect: PixelRect;
1191
+ start: GridItemPosition;
1192
+ bounds: ResizeSpanBounds;
1193
+ geometry: GridGeometry;
1194
+ lastSnap: GridItemPosition | null;
1195
+ }) => GridItemPosition;
1196
+ declare const projectDragCell: (options: {
1197
+ float: {
1198
+ x: number;
1199
+ y: number;
1200
+ };
1201
+ colSpan: number;
1202
+ geometry: GridGeometry;
1203
+ lastTarget: {
1204
+ col: number;
1205
+ row: number;
1206
+ } | null;
1207
+ }) => {
1208
+ col: number;
1209
+ row: number;
1210
+ };
1211
+
1212
+ type FindCollisionOptions = {
1213
+ entries: GridLayoutEntry[];
1214
+ position: GridItemPosition;
1215
+ excludeId?: string;
1216
+ };
1217
+ type AutoPlaceOptions = {
1218
+ entries: GridLayoutEntry[];
1219
+ colSpan: number;
1220
+ rowSpan: number;
1221
+ columns: number;
1222
+ };
1223
+ type ClampPositionOptions = {
1224
+ position: GridItemPosition;
1225
+ constraints: GridItemConstraints;
1226
+ columns: number;
1227
+ };
1228
+ type ResolveCollisionsOptions = {
1229
+ entries: GridLayoutEntry[];
1230
+ movedId: string;
1231
+ columns: number;
1232
+ originPosition?: GridItemPosition;
1233
+ rowFloors?: RowFloors;
1234
+ };
1235
+ /**
1236
+ * Per-item lower bound (in rows) for the upward compaction pass. An item with a
1237
+ * floor is never pulled above it — used during live resize gestures to keep
1238
+ * unrelated items from collapsing into freshly vacated space while the pointer
1239
+ * is still down. Items without an entry compact all the way up (floor 0).
1240
+ */
1241
+ type RowFloors = ReadonlyMap<string, number>;
1242
+ type CompactLayoutOptions = {
1243
+ entries: GridLayoutEntry[];
1244
+ columns: number;
1245
+ rowFloors?: RowFloors;
1246
+ };
1247
+ /**
1248
+ * Checks whether two grid items overlap.
1249
+ */
1250
+ declare const itemsCollide: (a: GridItemPosition, b: GridItemPosition) => boolean;
1251
+ /**
1252
+ * Returns the first item that collides with the given position, or undefined if none.
1253
+ */
1254
+ declare const findCollision: (options: FindCollisionOptions) => GridLayoutEntry | undefined;
1255
+ /**
1256
+ * Compacts the layout vertically (moves items up as far as possible without collision).
1257
+ *
1258
+ * Also acts as a self-healing normaliser: positions that overflow the grid horizontally
1259
+ * (e.g. stale data from a wider breakpoint clamped into a narrower one — a colSpan of 12
1260
+ * or a col of 8 in a 6-column grid) are first clamped back into bounds, then any items
1261
+ * left overlapping are pushed down before the upward compaction runs. This guarantees the
1262
+ * returned layout is always in-bounds and overlap-free regardless of the input — clamping
1263
+ * a column alone is not enough, because it can drop an item on top of an existing one.
1264
+ */
1265
+ declare const compactLayout: (options: CompactLayoutOptions) => GridLayoutEntry[];
1266
+ /**
1267
+ * Finds the first available position for an item with the given span in a grid.
1268
+ * Uses top-left gravity: scans row by row, column by column.
1269
+ */
1270
+ declare const autoPlace: (options: AutoPlaceOptions) => GridItemPosition;
1271
+ /**
1272
+ * Validates and clamps a position to respect grid boundaries and item constraints.
1273
+ */
1274
+ declare const clampPosition: (options: ClampPositionOptions) => {
1275
+ col: number;
1276
+ row: number;
1277
+ colSpan: number;
1278
+ rowSpan: number;
1279
+ };
1280
+ /**
1281
+ * Resolves collisions by pushing items down when a moved/resized item overlaps others.
1282
+ * If exactly one item of the same size collides, they swap positions instead.
1283
+ * Cascades: if pushed items collide with others, those are pushed down too.
1284
+ */
1285
+ declare const resolveCollisions: (options: ResolveCollisionsOptions) => GridLayoutEntry[];
1286
+ /**
1287
+ * Computes the total number of rows occupied by the layout.
1288
+ */
1289
+ declare const computeGridHeight: (entries: GridLayoutEntry[]) => number;
1290
+
1291
+ type MapLayoutOptions = {
1292
+ entries: GridLayoutEntry[];
1293
+ fromColumns: number;
1294
+ toColumns: number;
1295
+ };
1296
+ /**
1297
+ * Resolves the active breakpoint name based on the container width.
1298
+ * Breakpoints are sorted by minWidth descending — the first one whose minWidth is <= containerWidth wins.
1299
+ */
1300
+ declare const resolveBreakpoint: (breakpoints: GridBreakpointConfig[], containerWidth: number) => GridBreakpointName;
1301
+ /**
1302
+ * Auto-generates a layout for a smaller breakpoint from a larger one.
1303
+ * Items are re-flowed into fewer columns, maintaining their relative order.
1304
+ */
1305
+ declare const mapLayoutToBreakpoint: (options: MapLayoutOptions) => GridLayoutEntry[];
1306
+ declare const DEFAULT_BREAKPOINTS: GridBreakpointConfig[];
1307
+
1308
+ type SerializeOptions = {
1309
+ items: GridItemConfig[];
1310
+ breakpoints: GridBreakpointConfig[];
1311
+ rowHeight: number;
1312
+ };
1313
+ /**
1314
+ * Serializes the current grid state into a JSON-compatible object suitable for DB storage.
1315
+ */
1316
+ declare const serializeGridLayout: (options: SerializeOptions) => GridSerializedState;
1317
+ /**
1318
+ * Deserializes a stored grid state back into working configuration.
1319
+ * Returns breakpoint configs and item configs.
1320
+ */
1321
+ declare const deserializeGridLayout: (state: GridSerializedState, breakpointMinWidths: Record<string, number>) => {
1322
+ breakpoints: GridBreakpointConfig[];
1323
+ items: GridItemConfig[];
1324
+ rowHeight: number;
1325
+ };
1326
+
1090
1327
  declare class GridItemDirective {
1091
1328
  private grid;
1329
+ private injector;
1330
+ private destroyRef;
1092
1331
  hostElement: ElementRef<HTMLElement>;
1093
1332
  itemId: _angular_core.InputSignal<string>;
1094
1333
  minColSpan: _angular_core.InputSignalWithTransform<number, unknown>;
@@ -1096,16 +1335,26 @@ declare class GridItemDirective {
1096
1335
  minRowSpan: _angular_core.InputSignalWithTransform<number, unknown>;
1097
1336
  maxRowSpan: _angular_core.InputSignalWithTransform<number, unknown>;
1098
1337
  isBeingDragged: _angular_core.Signal<boolean>;
1099
- private frozenPosition;
1100
1338
  currentPosition: _angular_core.Signal<_ethlete_components.GridItemPosition | null>;
1101
- renderPosition: _angular_core.Signal<_ethlete_components.GridItemPosition | null>;
1102
- currentCol: _angular_core.Signal<number>;
1103
- currentRow: _angular_core.Signal<number>;
1104
- currentColSpan: _angular_core.Signal<number>;
1105
- currentRowSpan: _angular_core.Signal<number>;
1106
- protected gridColumn: _angular_core.Signal<string>;
1107
- protected gridRow: _angular_core.Signal<string>;
1339
+ /** The layout-derived target rect in container-relative pixels. */
1340
+ slotRect: _angular_core.Signal<PixelRect | null>;
1341
+ private renderModeSignal;
1342
+ private liveRect;
1343
+ private isSettlingSignal;
1344
+ private enteringSignal;
1345
+ renderMode: _angular_core.Signal<"layout" | "direct">;
1346
+ isSettling: _angular_core.Signal<boolean>;
1347
+ protected entering: _angular_core.Signal<boolean>;
1348
+ protected leaving: _angular_core.Signal<boolean>;
1349
+ /** The rect currently bound to the host: pointer-driven while direct-controlled, the slot otherwise. */
1350
+ renderedRect: _angular_core.Signal<PixelRect | null>;
1351
+ protected translateStyle: _angular_core.Signal<string | null>;
1352
+ protected transitionStyle: _angular_core.Signal<"none" | "translate var(--et-grid-anim-duration, 250ms) cubic-bezier(0.2, 0, 0, 1), width var(--et-grid-anim-duration, 250ms) cubic-bezier(0.2, 0, 0, 1), height var(--et-grid-anim-duration, 250ms) cubic-bezier(0.2, 0, 0, 1), scale 200ms cubic-bezier(0.2, 0, 0, 1), opacity 200ms cubic-bezier(0.2, 0, 0, 1)">;
1353
+ private settleListener;
1108
1354
  constructor();
1355
+ startDirectControl(): void;
1356
+ updateDirectRect(rect: PixelRect): void;
1357
+ stopDirectControl(): void;
1109
1358
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridItemDirective, never>;
1110
1359
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridItemDirective, "[etGridItem]", ["etGridItem"], { "itemId": { "alias": "itemId"; "required": true; "isSignal": true; }; "minColSpan": { "alias": "minColSpan"; "required": false; "isSignal": true; }; "maxColSpan": { "alias": "maxColSpan"; "required": false; "isSignal": true; }; "minRowSpan": { "alias": "minRowSpan"; "required": false; "isSignal": true; }; "maxRowSpan": { "alias": "maxRowSpan"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1111
1360
  }
@@ -1113,18 +1362,27 @@ declare class GridItemDirective {
1113
1362
  declare class GridDragDirective {
1114
1363
  protected grid: _ethlete_components.GridDirective;
1115
1364
  private gridItem;
1116
- private injector;
1117
1365
  private elementRef;
1366
+ private destroyRef;
1367
+ private document;
1118
1368
  dragHandle: DragHandleDirective;
1119
- private renderer;
1120
- private dragStartClient;
1121
- private dragPixelOffset;
1122
- private dragMoveCount;
1123
- private lastGhostMoveAt;
1124
- protected dragTransform: _angular_core.Signal<string>;
1369
+ private origin;
1370
+ private startBreakpoint;
1371
+ private grabOffset;
1372
+ private containerOrigin;
1373
+ private lastPointer;
1374
+ private lastTarget;
1375
+ private gestureListeners;
1376
+ private autoScroller;
1125
1377
  constructor();
1126
- private applyFixed;
1127
- private releaseFixed;
1378
+ private startDrag;
1379
+ private trackDragMove;
1380
+ private applyPointer;
1381
+ private settleDrag;
1382
+ private cancelDrag;
1383
+ private finishGesture;
1384
+ private attachGestureListeners;
1385
+ private detachGestureListeners;
1128
1386
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridDragDirective, never>;
1129
1387
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridDragDirective, "[etGridDrag]", never, {}, {}, never, never, true, [{ directive: typeof _ethlete_core.DragHandleDirective; inputs: {}; outputs: { "dragStarted": "dragStarted"; "dragMoved": "dragMoved"; "dragEnded": "dragEnded"; }; }]>;
1130
1388
  }
@@ -1132,20 +1390,27 @@ declare class GridDragDirective {
1132
1390
  declare class GridResizeDirective {
1133
1391
  private grid;
1134
1392
  private gridItem;
1135
- private injector;
1136
- private elementRef;
1137
- private renderer;
1393
+ private destroyRef;
1394
+ private document;
1138
1395
  isResizing: _angular_core.WritableSignal<boolean>;
1139
1396
  resizeEdges: _angular_core.Signal<ResizeEdge[]>;
1140
- private resizeStartPos;
1141
- private liftedRect;
1397
+ private start;
1398
+ private startBreakpoint;
1142
1399
  private lastSnap;
1400
+ private lastEvent;
1401
+ private startContainerOrigin;
1402
+ private containerOrigin;
1403
+ private gestureListeners;
1404
+ private autoScroller;
1405
+ constructor();
1143
1406
  beginResize(): void;
1144
1407
  updateResize(event: ResizeMoveEvent): void;
1145
1408
  finishResize(): void;
1146
- private currentFixedRect;
1147
- private applyFixed;
1148
- private releaseFixed;
1409
+ cancelResize(): void;
1410
+ private applyResize;
1411
+ private finishGesture;
1412
+ private attachGestureListeners;
1413
+ private detachGestureListeners;
1149
1414
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridResizeDirective, never>;
1150
1415
  static ɵdir: _angular_core.ɵɵDirectiveDeclaration<GridResizeDirective, "[etGridResize]", never, {}, {}, never, never, true, never>;
1151
1416
  }
@@ -1193,17 +1458,14 @@ declare class GridComponent {
1193
1458
  grid: GridDirective;
1194
1459
  private gridConfig;
1195
1460
  private locale;
1196
- private ghostRef;
1197
1461
  protected actionsComponent: _angular_core.Signal<_ethlete_components.GridItemActionsComponent | null>;
1198
1462
  protected registeredItems: _angular_core.Signal<{
1199
1463
  item: _ethlete_components.GridItemConfig;
1200
1464
  reg: _ethlete_components.GridComponentRegistration;
1201
1465
  }[]>;
1202
1466
  protected ariaLabel: _angular_core.Signal<string>;
1203
- protected gridColumns: _angular_core.Signal<number>;
1204
- protected gridGap: _angular_core.Signal<string>;
1205
- protected gridRowHeight: _angular_core.Signal<string>;
1206
- constructor();
1467
+ protected ghostRect: _angular_core.Signal<_ethlete_components.PixelRect | null>;
1468
+ protected ghostTransition: _angular_core.Signal<"none" | "translate 200ms cubic-bezier(0.2, 0, 0, 1), width 200ms cubic-bezier(0.2, 0, 0, 1), height 200ms cubic-bezier(0.2, 0, 0, 1)">;
1207
1469
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<GridComponent, never>;
1208
1470
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<GridComponent, "et-grid, [et-grid]", never, {}, {}, never, ["*"], true, [{ directive: typeof GridDirective; inputs: { "breakpoints": "breakpoints"; "rowHeight": "rowHeight"; "gap": "gap"; "initialItems": "initialItems"; "readOnly": "readOnly"; }; outputs: { "layoutChange": "layoutChange"; }; }]>;
1209
1471
  }
@@ -1218,7 +1480,6 @@ declare class GridItemComponent {
1218
1480
  private surfaceThemes;
1219
1481
  ariaLabel: _angular_core.InputSignal<string>;
1220
1482
  removed: _angular_core.OutputEmitterRef<void>;
1221
- private itemContent;
1222
1483
  protected isReadOnly: _angular_core.Signal<boolean>;
1223
1484
  private resolvedSurface;
1224
1485
  constructor();
@@ -1299,8 +1560,45 @@ declare const GridImports: readonly [typeof GridComponent, typeof GridItemCompon
1299
1560
 
1300
1561
  type IconDefinition = {
1301
1562
  name: string;
1563
+ /**
1564
+ * Optional style variant (e.g. `'solid'`, `'light'`, `'regular'`). Lets the same icon
1565
+ * `name` exist in several styles without encoding the style into the name. Icons
1566
+ * registered without a variant are matched by their bare name.
1567
+ */
1568
+ variant?: string;
1302
1569
  data: string;
1303
1570
  };
1571
+ /**
1572
+ * Augmentable registry for the literal set of icon names an app uses. Empty by default,
1573
+ * which keeps `etIcon` typed as plain `string`. The `@ethlete/components:icons` generator
1574
+ * writes an augmentation for this interface, or you can augment it manually:
1575
+ *
1576
+ * ```ts
1577
+ * declare module '@ethlete/components' {
1578
+ * interface EthleteIconNameRegistry {
1579
+ * name: 'shield' | 'plus';
1580
+ * }
1581
+ * }
1582
+ * ```
1583
+ */
1584
+ interface EthleteIconNameRegistry {
1585
+ }
1586
+ /**
1587
+ * Augmentable registry for the literal set of icon variants an app uses. Empty by default,
1588
+ * which keeps the `variant` input typed as plain `string`. See {@link EthleteIconNameRegistry}.
1589
+ */
1590
+ interface EthleteIconVariantRegistry {
1591
+ }
1592
+ type RegisteredIconName = EthleteIconNameRegistry extends {
1593
+ name: infer N extends string;
1594
+ } ? N : string;
1595
+ type RegisteredIconVariant = EthleteIconVariantRegistry extends {
1596
+ name: infer V extends string;
1597
+ } ? V : string;
1598
+ /** Variant the {@link IconDirective} falls back to when `etIcon` is used without an explicit `variant`. */
1599
+ declare const DEFAULT_ICON_VARIANT = "solid";
1600
+ /** Composite registry key for an icon `name` plus an optional `variant`. */
1601
+ declare const iconRegistryKey: (name: string, variant?: string | null) => string;
1304
1602
  declare const ICONS_TOKEN: InjectionToken<Record<string, IconDefinition>>;
1305
1603
  declare const provideIcons: (...icons: IconDefinition[]) => {
1306
1604
  provide: InjectionToken<Record<string, IconDefinition>>;
@@ -1344,12 +1642,20 @@ declare class IconDirective {
1344
1642
  private icons;
1345
1643
  private sanitizer;
1346
1644
  iconNameToUse: _angular_core.InputSignal<string>;
1645
+ /**
1646
+ * Style variant to resolve (e.g. `'light'`). When omitted, the directive matches a
1647
+ * variant-less registration first, then falls back to the `'solid'` variant — so
1648
+ * `<i etIcon="shield">` resolves the solid style and `<i etIcon="shield" variant="light">`
1649
+ * the light one, without encoding the variant into the name.
1650
+ */
1651
+ variant: _angular_core.InputSignal<string | undefined>;
1347
1652
  allowHardcodedColor: _angular_core.InputSignalWithTransform<boolean, unknown>;
1653
+ private resolvedIcon;
1348
1654
  iconSrc: _angular_core.Signal<_angular_platform_browser.SafeHtml | null>;
1349
1655
  hostClasses: _angular_core.Signal<string>;
1350
1656
  constructor();
1351
1657
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<IconDirective, never>;
1352
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IconDirective, "[etIcon]", never, { "iconNameToUse": { "alias": "etIcon"; "required": true; "isSignal": true; }; "allowHardcodedColor": { "alias": "allowHardcodedColor"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1658
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<IconDirective, "[etIcon]", never, { "iconNameToUse": { "alias": "etIcon"; "required": true; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "allowHardcodedColor": { "alias": "allowHardcodedColor"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1353
1659
  }
1354
1660
 
1355
1661
  declare const ITALIC_ICON: IconDefinition;
@@ -1411,254 +1717,41 @@ declare class SpinnerComponent {
1411
1717
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<SpinnerComponent, "et-spinner", never, { "diameter": { "alias": "diameter"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "track": { "alias": "track"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "determinate": { "alias": "determinate"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1412
1718
  }
1413
1719
 
1414
- declare class NotificationActionDirective {
1415
- private notification;
1416
- constructor();
1417
- runAction(): void;
1418
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationActionDirective, never>;
1419
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NotificationActionDirective, "[etNotificationAction]", ["etNotificationAction"], {}, {}, never, never, true, never>;
1420
- }
1421
-
1422
- declare class NotificationDismissDirective {
1423
- private notification;
1424
- constructor();
1425
- dismiss(): void;
1426
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationDismissDirective, never>;
1427
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NotificationDismissDirective, "[etNotificationDismiss]", ["etNotificationDismiss"], {}, {}, never, never, true, never>;
1428
- }
1429
-
1430
- declare class NotificationItemDirective {
1431
- private elementRef;
1432
- private stack;
1433
- ref: _angular_core.InputSignal<{
1434
- id: string;
1435
- entry: _angular_core.Signal<_ethlete_components.NotificationEntry>;
1436
- update: (partial: Partial<_ethlete_components.NotificationConfig>) => void;
1437
- dismiss: () => void;
1438
- pauseTimer: () => void;
1439
- resumeTimer: () => void;
1440
- afterDismissed: () => rxjs.Observable<void>;
1441
- markDismissed: () => void;
1442
- }>;
1443
- constructor();
1444
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationItemDirective, never>;
1445
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NotificationItemDirective, "[etNotificationItem]", never, { "ref": { "alias": "etNotificationItem"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
1446
- }
1447
-
1448
- type RegisteredNotificationItem = {
1449
- id: string;
1450
- el: HTMLElement;
1451
- };
1452
- declare class NotificationStackDirective {
1453
- protected context: _ethlete_components.NotificationStackContext;
1720
+ declare class MenuContextTriggerDirective {
1721
+ private menu;
1722
+ private document;
1723
+ elementRef: ElementRef<HTMLElement>;
1454
1724
  private destroyRef;
1455
- private injector;
1456
- private renderer;
1457
- /** @internal */
1458
- registeredItems: _angular_core.WritableSignal<RegisteredNotificationItem[]>;
1459
- displayRefs: _angular_core.Signal<{
1460
- id: string;
1461
- entry: _angular_core.Signal<_ethlete_components.NotificationEntry>;
1462
- update: (partial: Partial<_ethlete_components.NotificationConfig>) => void;
1463
- dismiss: () => void;
1464
- pauseTimer: () => void;
1465
- resumeTimer: () => void;
1466
- afterDismissed: () => rxjs.Observable<void>;
1467
- markDismissed: () => void;
1468
- }[]>;
1469
- constructor();
1470
- /** @internal */
1471
- registerItem(id: string, el: HTMLElement): void;
1472
- /** @internal */
1473
- unregisterItem(id: string): void;
1474
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationStackDirective, never>;
1475
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NotificationStackDirective, "[etNotificationStack]", ["etNotificationStack"], {}, {}, never, never, true, never>;
1476
- }
1477
-
1478
- declare class NotificationDirective {
1479
- private animatedLifecycle;
1480
- ref: _angular_core.InputSignal<{
1481
- id: string;
1482
- entry: _angular_core.Signal<_ethlete_components.NotificationEntry>;
1483
- update: (partial: Partial<_ethlete_components.NotificationConfig>) => void;
1484
- dismiss: () => void;
1485
- pauseTimer: () => void;
1486
- resumeTimer: () => void;
1487
- afterDismissed: () => rxjs.Observable<void>;
1488
- markDismissed: () => void;
1489
- }>;
1490
- entry: _angular_core.Signal<_ethlete_components.NotificationEntry>;
1491
- status: _angular_core.Signal<_ethlete_components.NotificationStatus>;
1492
- isLoading: _angular_core.Signal<boolean>;
1493
- isSuccess: _angular_core.Signal<boolean>;
1494
- isError: _angular_core.Signal<boolean>;
1495
- isInfo: _angular_core.Signal<boolean>;
1496
- title: _angular_core.Signal<string>;
1497
- message: _angular_core.Signal<string | undefined>;
1498
- action: _angular_core.Signal<_ethlete_components.NotificationAction | undefined>;
1499
- progress: _angular_core.Signal<number | undefined>;
1500
- ariaRole: _angular_core.Signal<"status" | "alert">;
1501
- /** @internal */
1502
- registeredAction: _angular_core.WritableSignal<NotificationActionDirective | null>;
1503
- /** @internal */
1504
- registeredDismiss: _angular_core.WritableSignal<NotificationDismissDirective | null>;
1725
+ private repositionSubscription;
1505
1726
  constructor();
1506
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationDirective, never>;
1507
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NotificationDirective, "[etNotification]", ["etNotification"], { "ref": { "alias": "ref"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
1727
+ isOpen(): boolean;
1728
+ protected handleContextMenu(event: MouseEvent): void;
1729
+ private attachRepositionListener;
1730
+ private detachRepositionListener;
1731
+ private isEventOnZone;
1732
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuContextTriggerDirective, never>;
1733
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuContextTriggerDirective, "[etMenuContextTrigger]", ["etMenuContextTrigger"], {}, {}, never, never, true, never>;
1508
1734
  }
1509
1735
 
1510
- declare const NOTIFICATION_STATUS: {
1511
- readonly LOADING: "loading";
1512
- readonly SUCCESS: "success";
1513
- readonly ERROR: "error";
1514
- readonly INFO: "info";
1515
- };
1516
- type NotificationStatus = (typeof NOTIFICATION_STATUS)[keyof typeof NOTIFICATION_STATUS];
1517
- type NotificationAction = {
1518
- label: string;
1519
- handler: () => void;
1736
+ type OverlayStrategyContext = {
1737
+ overlayRef: OverlayRef<object, unknown>;
1738
+ runtimeRef: OverlayRuntimeRef<object, unknown>;
1739
+ /** The mounted container component's host element (the runtime pane element). */
1740
+ containerEl: HTMLElement;
1741
+ /** The runtime host element wrapping backdrop and pane. */
1742
+ hostEl: HTMLElement;
1743
+ backdropEl: HTMLElement | null;
1744
+ /** The container's animated lifecycle, driving enter/leave transitions. */
1745
+ lifecycle: AnimatedLifecycleDirective;
1746
+ config: OverlayBreakpointConfig;
1747
+ previousConfig?: OverlayBreakpointConfig;
1748
+ origin?: HTMLElement | Event;
1520
1749
  };
1521
- type NotificationConfig = {
1522
- status: NotificationStatus;
1523
- title: string;
1524
- message?: string;
1525
- action?: NotificationAction;
1526
- /**
1527
- * Auto-dismiss duration in milliseconds.
1528
- * `0` or `undefined` uses the manager's `defaultDuration` for the current status.
1529
- * Set explicitly to override the default (e.g. `duration: 0` to prevent auto-dismiss
1530
- * for a status that defaults to non-zero).
1531
- */
1532
- duration?: number;
1533
- /** Optional progress value (0–100). When set, a progress bar is shown below the notification body. */
1534
- progress?: number;
1535
- };
1536
- type NotificationManagerConfig = {
1537
- /** Position of the notification stack on screen. @default 'bottom-end' */
1538
- position: 'bottom-center' | 'bottom-start' | 'bottom-end' | 'top-center' | 'top-start' | 'top-end';
1539
- /** Maximum number of simultaneously visible notifications. @default 3 */
1540
- maxVisible: number;
1541
- /**
1542
- * Default auto-dismiss duration (ms) per status.
1543
- * `0` means no auto-dismiss.
1544
- * @default `{ success: 4000, info: 4000, loading: 0, error: 0 }`
1545
- */
1546
- defaultDuration: Partial<Record<NotificationStatus, number>>;
1547
- /**
1548
- * Maps each notification status to a color key used by `ProvideColorDirective`.
1549
- * When set, the notification host element receives the corresponding color class
1550
- * so that `et-button` and other colored components render correctly inside the notification.
1551
- */
1552
- statusColorMapping?: Partial<Record<NotificationStatus, string>>;
1553
- /**
1554
- * Color key applied to control elements (e.g. the dismiss button).
1555
- * Uses the notification's status color when not set.
1556
- */
1557
- controlsColor?: string;
1558
- /**
1559
- * Accessible label for the dismiss button.
1560
- * @default 'Dismiss'
1561
- */
1562
- dismissLabel: string;
1563
- };
1564
- declare const DEFAULT_NOTIFICATION_MANAGER_CONFIG: NotificationManagerConfig;
1565
- declare const provideNotificationManagerConfig: (valueOverride?: Partial<NotificationManagerConfig> | undefined) => _angular_core.Provider[];
1566
- declare const injectNotificationManagerConfig: {
1567
- (): NotificationManagerConfig;
1568
- (options: _angular_core.InjectOptions & {
1569
- optional?: false;
1570
- }): NotificationManagerConfig;
1571
- (options: _angular_core.InjectOptions): NotificationManagerConfig | null;
1572
- };
1573
-
1574
- declare const NOTIFICATION_ERROR_CODES: {
1575
- readonly ACTION_OUTSIDE_NOTIFICATION: 1700;
1576
- readonly DISMISS_OUTSIDE_NOTIFICATION: 1701;
1577
- };
1578
-
1579
- type NotificationEntry = {
1580
- id: string;
1581
- config: NotificationConfig;
1582
- isDismissing: boolean;
1583
- isDismissed: boolean;
1584
- };
1585
- declare const createNotificationRef: (config: NotificationConfig, { managerConfig, beforeChange }: {
1586
- managerConfig: NotificationManagerConfig;
1587
- beforeChange?: () => void;
1588
- }) => {
1589
- id: string;
1590
- entry: _angular_core.Signal<NotificationEntry>;
1591
- update: (partial: Partial<NotificationConfig>) => void;
1592
- dismiss: () => void;
1593
- pauseTimer: () => void;
1594
- resumeTimer: () => void;
1595
- afterDismissed: () => rxjs.Observable<void>;
1596
- markDismissed: () => void;
1597
- };
1598
- type NotificationRef = ReturnType<typeof createNotificationRef>;
1599
-
1600
- type NotificationManager = {
1601
- open: (config: NotificationConfig) => NotificationRef;
1602
- dismissAll: () => void;
1603
- notifications: Signal<NotificationRef[]>;
1604
- visibleNotifications: Signal<NotificationRef[]>;
1605
- };
1606
- declare const provideNotificationManagerInstance: () => _angular_core.Provider[];
1607
- declare const injectNotificationManager: {
1608
- (): NotificationManager;
1609
- (options: _angular_core.InjectOptions & {
1610
- optional?: false;
1611
- }): NotificationManager;
1612
- (options: _angular_core.InjectOptions): NotificationManager | null;
1613
- };
1614
- declare const provideNotificationManager: (config?: Partial<NotificationManagerConfig>) => _angular_core.Provider[];
1615
-
1616
- type NotificationStackContext = {
1617
- visibleNotifications: Signal<NotificationRef[]>;
1618
- position: NotificationManagerConfig['position'];
1619
- /** @internal Set by the stack component. Called by the manager before any mutation. */
1620
- captureBeforeState: (() => void) | null;
1621
- };
1622
- declare const NOTIFICATION_STACK_CONTEXT_TOKEN: InjectionToken<NotificationStackContext>;
1623
-
1624
- declare class NotificationComponent {
1625
- protected notification: NotificationDirective;
1626
- private animatedLifecycle;
1627
- private provideTheme;
1628
- private provideSurface;
1629
- private managerConfig;
1630
- private surfaceThemes;
1631
- private surfaceContextTracker;
1632
- private resolvedColor;
1633
- private resolvedSurface;
1634
- protected controlsColor: _angular_core.Signal<string | null>;
1635
- protected dismissLabel: _angular_core.Signal<string>;
1636
- constructor();
1637
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationComponent, never>;
1638
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<NotificationComponent, "et-notification", never, {}, {}, never, never, true, [{ directive: typeof NotificationDirective; inputs: { "ref": "ref"; }; outputs: {}; }, { directive: typeof _ethlete_core.AnimatedLifecycleDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.ProvideColorDirective; inputs: { "etProvideColor": "color"; }; outputs: {}; }, { directive: typeof _ethlete_core.ProvideSurfaceDirective; inputs: { "etProvideSurface": "surface"; }; outputs: {}; }]>;
1639
- }
1640
-
1641
- declare const NOTIFICATION_IMPORTS: readonly [typeof NotificationComponent, typeof NotificationDirective, typeof NotificationActionDirective, typeof NotificationDismissDirective];
1642
-
1643
- type OverlayStrategyContext = {
1644
- overlayRef: OverlayRef<object, unknown>;
1645
- runtimeRef: OverlayRuntimeRef<object, unknown>;
1646
- /** The mounted container component's host element (the runtime pane element). */
1647
- containerEl: HTMLElement;
1648
- /** The runtime host element wrapping backdrop and pane. */
1649
- hostEl: HTMLElement;
1650
- backdropEl: HTMLElement | null;
1651
- /** The container's animated lifecycle, driving enter/leave transitions. */
1652
- lifecycle: AnimatedLifecycleDirective;
1653
- config: OverlayBreakpointConfig;
1654
- previousConfig?: OverlayBreakpointConfig;
1655
- origin?: HTMLElement | Event;
1656
- };
1657
- type OverlayStrategy = {
1658
- /** Unique identifier for the strategy */
1659
- id: string;
1660
- /** Configuration for the overlay when this strategy is applied */
1661
- config: OverlayBreakpointConfig;
1750
+ type OverlayStrategy = {
1751
+ /** Unique identifier for the strategy */
1752
+ id: string;
1753
+ /** Configuration for the overlay when this strategy is applied */
1754
+ config: OverlayBreakpointConfig;
1662
1755
  /**
1663
1756
  * Called when the overlay transitions FROM another strategy TO this strategy.
1664
1757
  * Only called during breakpoint changes, not on initial open.
@@ -1768,187 +1861,804 @@ type OverlayBreakpointConfig = {
1768
1861
  *
1769
1862
  * @default false
1770
1863
  */
1771
- arrow?: boolean;
1772
- };
1773
-
1774
- type OverlayAutoFocusTarget = 'container' | 'first-heading' | 'first-tabbable';
1775
- type OverlayRole = 'dialog' | 'alertdialog';
1776
- type OverlayMode = 'modal' | 'non-modal';
1777
- type OverlayConfig = {
1778
- viewContainerRef?: ViewContainerRef;
1779
- injector?: Injector;
1780
- id?: string;
1864
+ arrow?: boolean;
1865
+ };
1866
+
1867
+ type OverlayAutoFocusTarget = 'container' | 'first-heading' | 'first-tabbable';
1868
+ type OverlayRole = 'dialog' | 'alertdialog';
1869
+ type OverlayMode = 'modal' | 'non-modal';
1870
+ type OverlayConfig = {
1871
+ viewContainerRef?: ViewContainerRef;
1872
+ injector?: Injector;
1873
+ id?: string;
1874
+ /**
1875
+ * The element or event the overlay was opened from. Used as the anchor reference
1876
+ * for anchored positioning and as the transform origin for strategy animations.
1877
+ * When omitted and strategies are used, falls back to the currently focused element.
1878
+ */
1879
+ origin?: HTMLElement | Event;
1880
+ role?: OverlayRole;
1881
+ hasBackdrop?: boolean;
1882
+ disableClose?: boolean;
1883
+ inputBindings?: Record<string, unknown>;
1884
+ /** Event listeners bound to the overlay component's outputs. */
1885
+ outputBindings?: Record<string, (event: unknown) => unknown>;
1886
+ ariaDescribedBy?: string | null;
1887
+ ariaLabelledBy?: string | null;
1888
+ ariaLabel?: string | null;
1889
+ autoFocus?: OverlayAutoFocusTarget | string | false;
1890
+ restoreFocus?: boolean;
1891
+ providers?: StaticProvider[];
1892
+ hostClass?: string | string[];
1893
+ backdropClass?: string | string[];
1894
+ panelClass?: string | string[];
1895
+ mode?: OverlayMode;
1896
+ closeOnOutsidePointer?: boolean;
1897
+ closeOnEscape?: boolean;
1898
+ /**
1899
+ * Breakpoint-driven overlay strategies (dialog, sheets, full-screen, …).
1900
+ * When set, position, sizing and classes are controlled by the active strategy.
1901
+ */
1902
+ strategies?: () => OverlayStrategyBreakpoint[];
1903
+ /**
1904
+ * Disables the default overlay animations so custom ones can be applied.
1905
+ *
1906
+ * @default false
1907
+ */
1908
+ customAnimated?: boolean;
1909
+ };
1910
+
1911
+ declare const createOverlayRef: <TComponent extends object, TResult = unknown>(config: OverlayConfig) => {
1912
+ readonly id: string;
1913
+ readonly elements: _ethlete_core.OverlayRuntimeElements | null;
1914
+ config: OverlayConfig;
1915
+ headerTemplate: _angular_core.Signal<TemplateRef<unknown> | null>;
1916
+ /** @internal Set (or clear) the active header template. */
1917
+ setHeaderTemplate: (template: TemplateRef<unknown> | null) => void;
1918
+ componentInstance: () => TComponent | null;
1919
+ close: (result?: TResult) => void;
1920
+ closeVia: (source: OverlayRuntimeCloseSource, result?: TResult) => void;
1921
+ updatePositionStrategy: (strategy: OverlayRuntimePositionStrategy) => void;
1922
+ attachComponentInstanceOverride: (getter: () => TComponent | null) => void;
1923
+ afterOpened: () => Observable<void>;
1924
+ beforeClosed: () => Observable<TResult | undefined>;
1925
+ afterClosed: () => Observable<TResult | undefined>;
1926
+ attachRuntime: (runtimeRef: OverlayRuntimeRef<TComponent, TResult>) => void;
1927
+ };
1928
+ type OverlayRef<TComponent extends object = object, TResult = unknown> = ReturnType<typeof createOverlayRef<TComponent, TResult>>;
1929
+ declare const OVERLAY_REF: InjectionToken<{
1930
+ readonly id: string;
1931
+ readonly elements: _ethlete_core.OverlayRuntimeElements | null;
1932
+ config: OverlayConfig;
1933
+ headerTemplate: _angular_core.Signal<TemplateRef<unknown> | null>;
1934
+ /** @internal Set (or clear) the active header template. */
1935
+ setHeaderTemplate: (template: TemplateRef<unknown> | null) => void;
1936
+ componentInstance: () => object | null;
1937
+ close: (result?: unknown) => void;
1938
+ closeVia: (source: OverlayRuntimeCloseSource, result?: unknown) => void;
1939
+ updatePositionStrategy: (strategy: OverlayRuntimePositionStrategy) => void;
1940
+ attachComponentInstanceOverride: (getter: () => object | null) => void;
1941
+ afterOpened: () => Observable<void>;
1942
+ beforeClosed: () => Observable<unknown>;
1943
+ afterClosed: () => Observable<unknown>;
1944
+ attachRuntime: (runtimeRef: OverlayRuntimeRef<object, unknown>) => void;
1945
+ }>;
1946
+
1947
+ declare class OverlayAnchorDirective {
1948
+ private overlay;
1949
+ private destroyRef;
1950
+ elementRef: ElementRef<HTMLElement>;
1951
+ constructor();
1952
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<OverlayAnchorDirective, never>;
1953
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<OverlayAnchorDirective, "[etOverlayAnchor]", ["etOverlayAnchor"], {}, {}, never, never, true, never>;
1954
+ }
1955
+
1956
+ declare class OverlayTriggerDirective {
1957
+ private overlay;
1958
+ private destroyRef;
1959
+ elementRef: ElementRef<HTMLElement>;
1960
+ constructor();
1961
+ toggle(): void;
1962
+ isOpen(): boolean;
1963
+ expanded(): boolean | null;
1964
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<OverlayTriggerDirective, never>;
1965
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<OverlayTriggerDirective, "[etOverlayTrigger]", ["etOverlayTrigger"], {}, {}, never, never, true, never>;
1966
+ }
1967
+
1968
+ declare class OverlayDirective {
1969
+ private destroyRef;
1970
+ private overlayManager;
1971
+ mode: _angular_core.InputSignal<OverlayMode>;
1972
+ role: _angular_core.InputSignal<OverlayRole | undefined>;
1973
+ open: _angular_core.ModelSignal<boolean>;
1974
+ disabled: _angular_core.InputSignal<boolean>;
1975
+ disableClose: _angular_core.InputSignal<boolean>;
1976
+ autoFocus: _angular_core.InputSignal<string | false | undefined>;
1977
+ restoreFocus: _angular_core.InputSignal<boolean>;
1978
+ hasBackdrop: _angular_core.InputSignal<boolean | undefined>;
1979
+ closeOnEscape: _angular_core.InputSignal<boolean>;
1980
+ closeOnOutsidePointer: _angular_core.InputSignal<boolean>;
1981
+ hostClass: _angular_core.InputSignal<string | string[] | undefined>;
1982
+ backdropClass: _angular_core.InputSignal<string | string[] | undefined>;
1983
+ panelClass: _angular_core.InputSignal<string | string[] | undefined>;
1984
+ placement: _angular_core.InputSignal<Placement>;
1985
+ fallbackPlacements: _angular_core.InputSignal<Placement[] | undefined>;
1986
+ offset: _angular_core.InputSignal<OffsetOptions | null>;
1987
+ viewportPadding: _angular_core.InputSignal<Padding | null>;
1988
+ autoResize: _angular_core.InputSignal<boolean>;
1989
+ shift: _angular_core.InputSignal<boolean>;
1990
+ autoHide: _angular_core.InputSignal<boolean>;
1991
+ autoCloseIfReferenceHidden: _angular_core.InputSignal<boolean>;
1992
+ mirrorWidth: _angular_core.InputSignal<boolean>;
1993
+ /** @internal */
1994
+ registeredAnchor: _angular_core.WritableSignal<OverlayAnchorDirective | null>;
1995
+ /** @internal */
1996
+ registeredSurface: _angular_core.WritableSignal<OverlaySurfaceDirective | null>;
1997
+ /** @internal */
1998
+ registeredTrigger: _angular_core.WritableSignal<OverlayTriggerDirective | null>;
1999
+ /** @internal */
2000
+ overlayRef: _angular_core.WritableSignal<OverlayRef<OverlayTemplateHostComponent, unknown> | null>;
2001
+ isMounted: _angular_core.Signal<boolean>;
2002
+ private originElement;
2003
+ constructor();
2004
+ show(): void;
2005
+ hide(result?: unknown): void;
2006
+ toggle(): void;
2007
+ /** @internal */
2008
+ unregisterTrigger(trigger: OverlayTriggerDirective): void;
2009
+ /** @internal */
2010
+ unregisterAnchor(anchor: OverlayAnchorDirective): void;
2011
+ /** @internal */
2012
+ unregisterSurface(surface: OverlaySurfaceDirective): void;
2013
+ private mountOverlay;
2014
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<OverlayDirective, never>;
2015
+ 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>;
2016
+ }
2017
+
2018
+ type OverlaySurfaceContext = {
2019
+ $implicit: OverlayDirective;
2020
+ overlay: OverlayDirective;
2021
+ close: (result?: unknown) => void;
2022
+ };
2023
+ declare class OverlaySurfaceDirective {
2024
+ private overlay;
2025
+ templateRef: TemplateRef<OverlaySurfaceContext>;
2026
+ private destroyRef;
2027
+ constructor();
2028
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<OverlaySurfaceDirective, never>;
2029
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<OverlaySurfaceDirective, "ng-template[etOverlaySurface]", ["etOverlaySurface"], {}, {}, never, never, true, never>;
2030
+ }
2031
+
2032
+ declare class OverlayTemplateHostComponent {
2033
+ protected template: _angular_core.InputSignal<TemplateRef<OverlaySurfaceContext>>;
2034
+ protected context: _angular_core.InputSignal<OverlaySurfaceContext>;
2035
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<OverlayTemplateHostComponent, never>;
2036
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<OverlayTemplateHostComponent, "et-overlay-template-host", never, { "template": { "alias": "template"; "required": true; "isSignal": true; }; "context": { "alias": "context"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
2037
+ }
2038
+
2039
+ declare class MenuPanelDirective {
2040
+ /** @internal */
2041
+ menu: MenuDirective | null;
2042
+ elementRef: ElementRef<HTMLElement>;
2043
+ private destroyRef;
2044
+ protected labelledBy: _angular_core.Signal<string | null>;
2045
+ protected busy: _angular_core.Signal<true | null>;
2046
+ constructor();
2047
+ /** @internal */
2048
+ focus(): void;
2049
+ protected handleKeydown(event: KeyboardEvent): void;
2050
+ protected handlePointerEnter(event: PointerEvent): void;
2051
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuPanelDirective, never>;
2052
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuPanelDirective, "[etMenuPanel]", ["etMenuPanel"], {}, {}, never, never, true, never>;
2053
+ }
2054
+
2055
+ declare class MenuSearchDirective {
2056
+ private menu;
2057
+ private document;
2058
+ elementRef: ElementRef<HTMLInputElement>;
2059
+ private destroyRef;
2060
+ query: _angular_core.ModelSignal<string>;
2061
+ loading: _angular_core.InputSignalWithTransform<boolean, unknown>;
2062
+ error: _angular_core.InputSignal<string | null>;
2063
+ /** @internal Id of the element rendering the error message, set by the component displaying it. */
2064
+ errorElementId: _angular_core.WritableSignal<string | null>;
2065
+ constructor();
2066
+ /** @internal */
2067
+ isFocused(): boolean;
2068
+ /** @internal */
2069
+ focus(options?: {
2070
+ select?: boolean;
2071
+ }): void;
2072
+ /** @internal Focuses the input and appends a character typed while an item had focus. */
2073
+ appendCharacter(character: string): void;
2074
+ clear(): void;
2075
+ protected handleInput(): void;
2076
+ protected handleKeydown(event: KeyboardEvent): void;
2077
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuSearchDirective, never>;
2078
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuSearchDirective, "input[etMenuSearch]", ["etMenuSearch"], { "query": { "alias": "query"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; }, { "query": "queryChange"; }, never, never, true, never>;
2079
+ }
2080
+
2081
+ type MenuSurfaceContext = {
2082
+ $implicit: MenuDirective;
2083
+ menu: MenuDirective;
2084
+ close: (result?: unknown) => void;
2085
+ };
2086
+ declare class MenuSurfaceDirective {
2087
+ private menu;
2088
+ templateRef: TemplateRef<MenuSurfaceContext>;
2089
+ private destroyRef;
2090
+ constructor();
2091
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuSurfaceDirective, never>;
2092
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuSurfaceDirective, "ng-template[etMenuSurface]", ["etMenuSurface"], {}, {}, never, never, true, never>;
2093
+ }
2094
+
2095
+ declare class MenuTriggerDirective {
2096
+ /** @internal The menu this trigger opens - for submenu trigger items, that is the submenu. */
2097
+ menu: MenuDirective | null;
2098
+ elementRef: ElementRef<HTMLElement>;
2099
+ private destroyRef;
2100
+ /** @internal The same-element menu item this trigger is combined with, if any. Set by the item. */
2101
+ hostItem: MenuItemDirective | null;
2102
+ constructor();
2103
+ /** @internal */
2104
+ setHostItem(item: MenuItemDirective): void;
2105
+ isOpen(): boolean;
2106
+ protected expanded(): boolean | null;
2107
+ protected controls(): string | null;
2108
+ protected handleClick(): void;
2109
+ protected handleKeydown(event: KeyboardEvent): void;
2110
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuTriggerDirective, never>;
2111
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuTriggerDirective, "[etMenuTrigger]", ["etMenuTrigger"], {}, {}, never, never, true, never>;
2112
+ }
2113
+
2114
+ type MenuCloseReason = 'item' | 'escape' | 'tab' | 'outside' | 'api';
2115
+ type MenuOpenSource = 'click' | 'hover' | 'keyboard' | 'api';
2116
+ type MenuAnchorPoint = {
2117
+ x: number;
2118
+ y: number;
2119
+ };
2120
+ declare class MenuDirective {
2121
+ private destroyRef;
2122
+ private document;
2123
+ private overlayManager;
2124
+ parent: MenuDirective | null;
2125
+ placement: _angular_core.InputSignal<Placement | "auto">;
2126
+ fallbackPlacements: _angular_core.InputSignal<Placement[] | undefined>;
2127
+ offset: _angular_core.InputSignal<OffsetOptions | "auto" | null>;
2128
+ viewportPadding: _angular_core.InputSignal<Padding | null>;
2129
+ autoFocus: _angular_core.InputSignal<boolean>;
2130
+ hoverOpen: _angular_core.InputSignal<boolean>;
2131
+ hoverOpenDelay: _angular_core.InputSignal<number>;
2132
+ hoverCloseDelay: _angular_core.InputSignal<number>;
2133
+ disabled: _angular_core.InputSignal<boolean>;
2134
+ open: _angular_core.ModelSignal<boolean>;
2135
+ root: MenuDirective;
2136
+ depth: number;
2137
+ isRoot: boolean;
2138
+ /** @internal */
2139
+ registeredTrigger: _angular_core.WritableSignal<MenuTriggerDirective | null>;
2140
+ /** @internal */
2141
+ registeredContextTrigger: _angular_core.WritableSignal<MenuContextTriggerDirective | null>;
2142
+ /** @internal */
2143
+ registeredSurface: _angular_core.WritableSignal<MenuSurfaceDirective | null>;
2144
+ /** @internal */
2145
+ registeredPanel: _angular_core.WritableSignal<MenuPanelDirective | null>;
2146
+ /** @internal */
2147
+ registeredSearch: _angular_core.WritableSignal<MenuSearchDirective | null>;
2148
+ /** @internal */
2149
+ overlayRef: _angular_core.WritableSignal<OverlayRef<OverlayTemplateHostComponent, unknown> | null>;
2150
+ /** @internal */
2151
+ openSubmenu: _angular_core.WritableSignal<MenuDirective | null>;
2152
+ /** @internal */
2153
+ activeItem: _angular_core.WritableSignal<MenuItemDirective | null>;
2154
+ /** @internal */
2155
+ anchorPoint: _angular_core.WritableSignal<MenuAnchorPoint | null>;
2156
+ private items;
2157
+ /** @internal */
2158
+ sortedItems: _angular_core.Signal<MenuItemDirective[]>;
2159
+ /** @internal */
2160
+ enabledItems: _angular_core.Signal<MenuItemDirective[]>;
2161
+ isMounted: _angular_core.Signal<boolean>;
2162
+ private openSource;
2163
+ private initialFocusTarget;
2164
+ private hoverIntent;
2165
+ private typeahead;
2166
+ private rootListenersCleanup;
2167
+ constructor();
2168
+ show(source?: MenuOpenSource, initialFocus?: 'first' | 'last'): void;
2169
+ hide(): void;
2170
+ toggle(source?: MenuOpenSource): void;
2171
+ /** Closes the whole menu tree, regardless of which level this is called on. */
2172
+ closeAll(reason?: MenuCloseReason): void;
2173
+ /** Opens the menu anchored to a viewport point instead of the trigger element. */
2174
+ openAt(point: MenuAnchorPoint, source?: MenuOpenSource): void;
2175
+ /** @internal Closes this level and returns focus to the trigger item in the parent menu. */
2176
+ closeLevel(reason: MenuCloseReason): void;
2177
+ /** @internal */
2178
+ openSubmenuExclusive(submenu: MenuDirective): void;
2179
+ /** @internal */
2180
+ registerItem(item: MenuItemDirective): void;
2181
+ /** @internal */
2182
+ unregisterItem(item: MenuItemDirective): void;
2183
+ /** @internal */
2184
+ unregisterTrigger(trigger: MenuTriggerDirective): void;
2185
+ /** @internal */
2186
+ unregisterContextTrigger(trigger: MenuContextTriggerDirective): void;
2187
+ /** @internal */
2188
+ unregisterSurface(surface: MenuSurfaceDirective): void;
2189
+ /** @internal */
2190
+ unregisterPanel(panel: MenuPanelDirective): void;
2191
+ /** @internal */
2192
+ unregisterSearch(search: MenuSearchDirective): void;
2193
+ /** @internal */
2194
+ setActiveItem(item: MenuItemDirective, options?: {
2195
+ focus?: boolean;
2196
+ }): void;
2197
+ /** @internal Central keyboard handling for items, the panel, and the search input. */
2198
+ handleKeydown(event: KeyboardEvent): void;
2199
+ /** @internal */
2200
+ notifyItemPointerEnter(item: MenuItemDirective): void;
2201
+ /** @internal Cancels pending submenu hover timers along the ancestor chain. */
2202
+ notifyPanelPointerEnter(): void;
2203
+ /** @internal */
2204
+ focusTrigger(): void;
2205
+ /** @internal True while a pointerdown target belongs to any open pane of this menu's tree. */
2206
+ isTargetInsideTree(target: EventTarget | null): boolean;
2207
+ private isFocusInsideTree;
2208
+ private handleItemHover;
2209
+ private moveActive;
2210
+ private setActiveToEdge;
2211
+ private mountOverlay;
2212
+ private applyInitialFocus;
2213
+ private attachRootInteractionListeners;
2214
+ private detachRootInteractionListeners;
2215
+ private buildStrategies;
2216
+ private buildVirtualAnchoredPosition;
2217
+ private resolvedPlacement;
2218
+ private resolvedFallbackPlacements;
2219
+ private resolvedOffset;
2220
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuDirective, never>;
2221
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuDirective, "[etMenu]", ["etMenu"], { "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; }; "autoFocus": { "alias": "autoFocus"; "required": false; "isSignal": true; }; "hoverOpen": { "alias": "hoverOpen"; "required": false; "isSignal": true; }; "hoverOpenDelay": { "alias": "hoverOpenDelay"; "required": false; "isSignal": true; }; "hoverCloseDelay": { "alias": "hoverCloseDelay"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "open": { "alias": "open"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, never, never, true, never>;
2222
+ }
2223
+
2224
+ type MenuItemActivationSource = 'pointer' | 'keyboard-enter' | 'keyboard-space';
2225
+ type MenuItemActivationEvent = {
2226
+ source: MenuItemActivationSource;
2227
+ };
2228
+ declare class MenuItemDirective {
2229
+ private nearestMenu;
2230
+ private sameElementTrigger;
2231
+ elementRef: ElementRef<HTMLElement>;
2232
+ private destroyRef;
2233
+ disabled: _angular_core.InputSignal<boolean>;
2234
+ closeOnActivate: _angular_core.InputSignal<boolean | undefined>;
2235
+ activated: _angular_core.OutputEmitterRef<MenuItemActivationEvent>;
2236
+ /** @internal The menu whose item list this item belongs to. */
2237
+ owner: MenuDirective | null;
2238
+ /** @internal The submenu this item opens when it doubles as a submenu trigger. */
2239
+ submenu: MenuDirective | null;
2240
+ /** @internal Role source overriding the default `menuitem`, e.g. with `menuitemradio` or `menuitemcheckbox`. */
2241
+ roleOverride: _angular_core.WritableSignal<Signal<string> | null>;
2242
+ /** @internal Additional disabled state source, e.g. from a composing selection item directive. */
2243
+ disabledOverride: _angular_core.WritableSignal<Signal<boolean> | null>;
2244
+ private defaultCloseOnActivate;
2245
+ private pendingKeyboardSource;
2246
+ protected role: Signal<string>;
2247
+ protected isActive: Signal<boolean>;
2248
+ /** @internal Combines the item's own `disabled` input with a state pushed in by a composing directive. */
2249
+ isDisabled: Signal<boolean>;
2250
+ protected tabIndex: Signal<0 | -1>;
2251
+ constructor();
2252
+ /** @internal Sets whether activation closes the menu tree when the `closeOnActivate` input is not set. */
2253
+ setDefaultCloseOnActivate(value: boolean): void;
2254
+ /** @internal */
2255
+ focus(): void;
2256
+ /** @internal Returns the visible label used for typeahead matching. */
2257
+ textContent(): string;
2258
+ /** @internal Activates via a synthesized click so consumer (click) handlers fire for keyboard users too. */
2259
+ activateFromKeyboard(source: MenuItemActivationSource): void;
2260
+ protected handleClick(event: MouseEvent): void;
2261
+ protected handleKeydown(event: KeyboardEvent): void;
2262
+ protected handleMousedown(event: MouseEvent): void;
2263
+ protected handlePointerEnter(event: PointerEvent): void;
2264
+ protected handleFocus(): void;
2265
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuItemDirective, never>;
2266
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuItemDirective, "[etMenuItem]", ["etMenuItem"], { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "closeOnActivate": { "alias": "closeOnActivate"; "required": false; "isSignal": true; }; }, { "activated": "activated"; }, never, never, true, never>;
2267
+ }
2268
+
2269
+ declare const MENU_SELECTION_GROUP_TOKEN: InjectionToken<MenuSelectionGroupDirectiveBase<unknown>>;
2270
+ declare const MENU_SELECTION_GROUP_MULTIPLE: InjectionToken<boolean>;
2271
+ declare const MENU_SELECTION_ITEM_KIND: InjectionToken<MenuSelectionItemKind>;
2272
+ type MenuSelectionItemKind = 'radio' | 'checkbox';
2273
+ type MenuSelectionGroupItem<TValue = unknown> = {
2274
+ value: Signal<TValue | undefined>;
2275
+ checked: WritableSignal<boolean>;
2276
+ disabled: Signal<boolean>;
2277
+ elementRef: ElementRef<HTMLElement>;
2278
+ };
2279
+ type MenuSelectionGroupDirectiveBase<TValue = unknown> = {
2280
+ value: WritableSignal<TValue | TValue[] | null>;
2281
+ multiple: Signal<boolean>;
2282
+ disabled: Signal<boolean>;
2283
+ items: Signal<MenuSelectionGroupItem<TValue>[]>;
2284
+ labelId: WritableSignal<string | null>;
2285
+ registerItem(item: MenuSelectionGroupItem<TValue>): void;
2286
+ unregisterItem(item: MenuSelectionGroupItem<TValue>): void;
2287
+ select(item: MenuSelectionGroupItem<TValue>): void;
2288
+ markTouched(): void;
2289
+ };
2290
+
2291
+ declare class MenuSelectionGroupDirective implements MenuSelectionGroupDirectiveBase {
2292
+ private multipleOverride;
2293
+ value: _angular_core.ModelSignal<unknown>;
2294
+ touched: _angular_core.ModelSignal<boolean>;
2295
+ multipleInput: _angular_core.InputSignal<boolean>;
2296
+ disabled: _angular_core.InputSignal<boolean>;
2297
+ invalid: _angular_core.InputSignal<boolean>;
2298
+ errors: _angular_core.InputSignal<readonly ValidationError.WithOptionalFieldTree[]>;
2299
+ required: _angular_core.InputSignal<boolean>;
2300
+ name: _angular_core.InputSignal<string>;
2301
+ multiple: _angular_core.Signal<boolean>;
2302
+ items: _angular_core.WritableSignal<MenuSelectionGroupItem[]>;
2303
+ shouldDisplayError: _angular_core.Signal<boolean>;
2304
+ /** @internal Set by a group label component so `aria-labelledby` can reference it. */
2305
+ labelId: _angular_core.WritableSignal<string | null>;
2306
+ constructor();
2307
+ /** @internal */
2308
+ registerItem(item: MenuSelectionGroupItem): void;
2309
+ /** @internal */
2310
+ unregisterItem(item: MenuSelectionGroupItem): void;
2311
+ markTouched(): void;
2312
+ select(item: MenuSelectionGroupItem): void;
2313
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuSelectionGroupDirective, never>;
2314
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuSelectionGroupDirective, "[etMenuSelectionGroup]", ["etMenuSelectionGroup"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "touched": { "alias": "touched"; "required": false; "isSignal": true; }; "multipleInput": { "alias": "multiple"; "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; }; }, { "value": "valueChange"; "touched": "touchedChange"; }, never, never, true, never>;
2315
+ }
2316
+
2317
+ declare class MenuSelectionItemDirective {
2318
+ private group;
2319
+ private kindOverride;
2320
+ private menuItem;
2321
+ elementRef: ElementRef<HTMLElement>;
2322
+ private destroyRef;
2323
+ value: _angular_core.InputSignal<unknown>;
2324
+ checked: _angular_core.ModelSignal<boolean>;
2325
+ indeterminate: _angular_core.ModelSignal<boolean>;
2326
+ touched: _angular_core.ModelSignal<boolean>;
2327
+ disabled: _angular_core.InputSignal<boolean>;
2328
+ invalid: _angular_core.InputSignal<boolean>;
2329
+ errors: _angular_core.InputSignal<readonly ValidationError.WithOptionalFieldTree[]>;
2330
+ required: _angular_core.InputSignal<boolean>;
2331
+ name: _angular_core.InputSignal<string>;
2332
+ kind: _angular_core.Signal<MenuSelectionItemKind>;
2333
+ ariaChecked: _angular_core.Signal<boolean | "mixed">;
2334
+ private isDisabled;
2335
+ constructor();
2336
+ toggle(): void;
2337
+ protected handleBlur(): void;
2338
+ private handleActivation;
2339
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuSelectionItemDirective, never>;
2340
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuSelectionItemDirective, "[etMenuSelectionItem]", ["etMenuSelectionItem"], { "value": { "alias": "value"; "required": false; "isSignal": true; }; "checked": { "alias": "checked"; "required": false; "isSignal": true; }; "indeterminate": { "alias": "indeterminate"; "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; }; }, { "checked": "checkedChange"; "indeterminate": "indeterminateChange"; "touched": "touchedChange"; }, never, never, true, never>;
2341
+ }
2342
+
2343
+ declare class MenuCheckboxGroupComponent {
2344
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuCheckboxGroupComponent, never>;
2345
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuCheckboxGroupComponent, "et-menu-checkbox-group", never, {}, {}, never, ["et-menu-group-label", "*"], true, [{ directive: typeof MenuSelectionGroupDirective; inputs: { "value": "value"; "touched": "touched"; "disabled": "disabled"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; }; outputs: { "valueChange": "valueChange"; "touchedChange": "touchedChange"; }; }]>;
2346
+ }
2347
+
2348
+ declare class MenuCheckboxItemComponent {
2349
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuCheckboxItemComponent, never>;
2350
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuCheckboxItemComponent, "et-menu-checkbox-item", never, {}, {}, never, ["*"], true, [{ directive: typeof MenuItemDirective; inputs: { "closeOnActivate": "closeOnActivate"; }; outputs: { "activated": "activated"; }; }, { directive: typeof MenuSelectionItemDirective; inputs: { "value": "value"; "checked": "checked"; "indeterminate": "indeterminate"; "touched": "touched"; "disabled": "disabled"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; }; outputs: { "checkedChange": "checkedChange"; "indeterminateChange": "indeterminateChange"; "touchedChange": "touchedChange"; }; }]>;
2351
+ }
2352
+
2353
+ declare const MENU_ERROR_CODES: {
2354
+ readonly MISSING_MENU_SURFACE: 1300;
2355
+ readonly TRIGGER_OUTSIDE_MENU: 1301;
2356
+ readonly SURFACE_OUTSIDE_MENU: 1302;
2357
+ readonly ITEM_OUTSIDE_MENU: 1303;
2358
+ readonly PANEL_OUTSIDE_MENU: 1304;
2359
+ readonly SEARCH_OUTSIDE_MENU: 1305;
2360
+ readonly CONTEXT_TRIGGER_OUTSIDE_MENU: 1306;
2361
+ readonly CONTEXT_TRIGGER_ON_SUBMENU: 1307;
2362
+ readonly SELECTION_ITEM_MISSING_VALUE: 1320;
2363
+ readonly RADIO_ITEM_OUTSIDE_GROUP: 1321;
2364
+ };
2365
+
2366
+ declare class MenuGroupLabelComponent {
2367
+ private group;
2368
+ private elementRef;
2369
+ private destroyRef;
2370
+ constructor();
2371
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuGroupLabelComponent, never>;
2372
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuGroupLabelComponent, "et-menu-group-label", never, {}, {}, never, ["*"], true, never>;
2373
+ }
2374
+
2375
+ declare const MENU_ITEM_VARIANTS: {
2376
+ readonly DEFAULT: "default";
2377
+ readonly DESTRUCTIVE: "destructive";
2378
+ };
2379
+ type MenuItemVariant = (typeof MENU_ITEM_VARIANTS)[keyof typeof MENU_ITEM_VARIANTS];
2380
+ declare class MenuItemComponent {
2381
+ variant: _angular_core.InputSignal<MenuItemVariant>;
2382
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuItemComponent, never>;
2383
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuItemComponent, "button[et-menu-item], a[et-menu-item]", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["[etIcon]", "*", "et-menu-item-shortcut"], true, [{ directive: typeof MenuItemDirective; inputs: { "disabled": "disabled"; "closeOnActivate": "closeOnActivate"; }; outputs: { "activated": "activated"; }; }]>;
2384
+ }
2385
+
2386
+ declare class MenuItemShortcutComponent {
2387
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuItemShortcutComponent, never>;
2388
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuItemShortcutComponent, "et-menu-item-shortcut", never, {}, {}, never, ["*"], true, never>;
2389
+ }
2390
+
2391
+ declare class MenuRadioGroupComponent {
2392
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuRadioGroupComponent, never>;
2393
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuRadioGroupComponent, "et-menu-radio-group", never, {}, {}, never, ["et-menu-group-label", "*"], true, [{ directive: typeof MenuSelectionGroupDirective; inputs: { "value": "value"; "touched": "touched"; "disabled": "disabled"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; }; outputs: { "valueChange": "valueChange"; "touchedChange": "touchedChange"; }; }]>;
2394
+ }
2395
+
2396
+ declare class MenuRadioItemComponent {
2397
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuRadioItemComponent, never>;
2398
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuRadioItemComponent, "et-menu-radio-item", never, {}, {}, never, ["*"], true, [{ directive: typeof MenuItemDirective; inputs: { "closeOnActivate": "closeOnActivate"; }; outputs: { "activated": "activated"; }; }, { directive: typeof MenuSelectionItemDirective; inputs: { "value": "value"; "checked": "checked"; "touched": "touched"; "disabled": "disabled"; "invalid": "invalid"; "errors": "errors"; "required": "required"; "name": "name"; }; outputs: { "checkedChange": "checkedChange"; "touchedChange": "touchedChange"; }; }]>;
2399
+ }
2400
+
2401
+ declare class MenuSeparatorComponent {
2402
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuSeparatorComponent, never>;
2403
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuSeparatorComponent, "et-menu-separator", never, {}, {}, never, never, true, never>;
2404
+ }
2405
+
2406
+ declare class MenuComponent {
2407
+ private ownColorProvider;
2408
+ private ownSurfaceProvider;
2409
+ private contextColorProvider;
2410
+ private contextSurfaceProvider;
2411
+ protected menu: MenuDirective | null;
2412
+ private surfaceThemes;
2413
+ protected search: _angular_core.Signal<_ethlete_components.MenuSearchDirective | null>;
2414
+ protected searchLoading: _angular_core.Signal<boolean>;
2415
+ protected searchError: _angular_core.Signal<string | null>;
2416
+ protected searchErrorId: string;
2417
+ private resolvedSurface;
2418
+ constructor();
2419
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuComponent, never>;
2420
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuComponent, "et-menu", never, {}, {}, never, ["input[etMenuSearch]", "*"], true, [{ directive: typeof MenuPanelDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.ProvideColorDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.ProvideSurfaceDirective; inputs: {}; outputs: {}; }]>;
2421
+ }
2422
+
2423
+ declare const MENU_IMPORTS: readonly [typeof MenuDirective, typeof MenuTriggerDirective, typeof MenuContextTriggerDirective, typeof MenuSurfaceDirective, typeof MenuPanelDirective, typeof MenuItemDirective, typeof MenuSearchDirective, typeof MenuSelectionGroupDirective, typeof MenuSelectionItemDirective, typeof MenuComponent, typeof MenuItemComponent, typeof MenuItemShortcutComponent, typeof MenuSeparatorComponent, typeof MenuGroupLabelComponent, typeof MenuRadioGroupComponent, typeof MenuRadioItemComponent, typeof MenuCheckboxGroupComponent, typeof MenuCheckboxItemComponent];
2424
+
2425
+ declare class NotificationActionDirective {
2426
+ private notification;
2427
+ constructor();
2428
+ runAction(): void;
2429
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationActionDirective, never>;
2430
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NotificationActionDirective, "[etNotificationAction]", ["etNotificationAction"], {}, {}, never, never, true, never>;
2431
+ }
2432
+
2433
+ declare class NotificationDismissDirective {
2434
+ private notification;
2435
+ constructor();
2436
+ dismiss(): void;
2437
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationDismissDirective, never>;
2438
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NotificationDismissDirective, "[etNotificationDismiss]", ["etNotificationDismiss"], {}, {}, never, never, true, never>;
2439
+ }
2440
+
2441
+ declare class NotificationItemDirective {
2442
+ private elementRef;
2443
+ private stack;
2444
+ ref: _angular_core.InputSignal<{
2445
+ id: string;
2446
+ entry: _angular_core.Signal<_ethlete_components.NotificationEntry>;
2447
+ update: (partial: Partial<_ethlete_components.NotificationConfig>) => void;
2448
+ dismiss: () => void;
2449
+ pauseTimer: () => void;
2450
+ resumeTimer: () => void;
2451
+ afterDismissed: () => rxjs.Observable<void>;
2452
+ markDismissed: () => void;
2453
+ }>;
2454
+ constructor();
2455
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationItemDirective, never>;
2456
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NotificationItemDirective, "[etNotificationItem]", never, { "ref": { "alias": "etNotificationItem"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
2457
+ }
2458
+
2459
+ type RegisteredNotificationItem = {
2460
+ id: string;
2461
+ el: HTMLElement;
2462
+ };
2463
+ declare class NotificationStackDirective {
2464
+ protected context: _ethlete_components.NotificationStackContext;
2465
+ private destroyRef;
2466
+ private injector;
2467
+ private renderer;
2468
+ /** @internal */
2469
+ registeredItems: _angular_core.WritableSignal<RegisteredNotificationItem[]>;
2470
+ displayRefs: _angular_core.Signal<{
2471
+ id: string;
2472
+ entry: _angular_core.Signal<_ethlete_components.NotificationEntry>;
2473
+ update: (partial: Partial<_ethlete_components.NotificationConfig>) => void;
2474
+ dismiss: () => void;
2475
+ pauseTimer: () => void;
2476
+ resumeTimer: () => void;
2477
+ afterDismissed: () => rxjs.Observable<void>;
2478
+ markDismissed: () => void;
2479
+ }[]>;
2480
+ constructor();
2481
+ /** @internal */
2482
+ registerItem(id: string, el: HTMLElement): void;
2483
+ /** @internal */
2484
+ unregisterItem(id: string): void;
2485
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationStackDirective, never>;
2486
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NotificationStackDirective, "[etNotificationStack]", ["etNotificationStack"], {}, {}, never, never, true, never>;
2487
+ }
2488
+
2489
+ declare class NotificationDirective {
2490
+ private animatedLifecycle;
2491
+ ref: _angular_core.InputSignal<{
2492
+ id: string;
2493
+ entry: _angular_core.Signal<_ethlete_components.NotificationEntry>;
2494
+ update: (partial: Partial<_ethlete_components.NotificationConfig>) => void;
2495
+ dismiss: () => void;
2496
+ pauseTimer: () => void;
2497
+ resumeTimer: () => void;
2498
+ afterDismissed: () => rxjs.Observable<void>;
2499
+ markDismissed: () => void;
2500
+ }>;
2501
+ entry: _angular_core.Signal<_ethlete_components.NotificationEntry>;
2502
+ status: _angular_core.Signal<_ethlete_components.NotificationStatus>;
2503
+ isLoading: _angular_core.Signal<boolean>;
2504
+ isSuccess: _angular_core.Signal<boolean>;
2505
+ isError: _angular_core.Signal<boolean>;
2506
+ isInfo: _angular_core.Signal<boolean>;
2507
+ title: _angular_core.Signal<string>;
2508
+ message: _angular_core.Signal<string | undefined>;
2509
+ action: _angular_core.Signal<_ethlete_components.NotificationAction | undefined>;
2510
+ progress: _angular_core.Signal<number | undefined>;
2511
+ ariaRole: _angular_core.Signal<"status" | "alert">;
2512
+ /** @internal */
2513
+ registeredAction: _angular_core.WritableSignal<NotificationActionDirective | null>;
2514
+ /** @internal */
2515
+ registeredDismiss: _angular_core.WritableSignal<NotificationDismissDirective | null>;
2516
+ constructor();
2517
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationDirective, never>;
2518
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NotificationDirective, "[etNotification]", ["etNotification"], { "ref": { "alias": "ref"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
2519
+ }
2520
+
2521
+ declare const NOTIFICATION_STATUS: {
2522
+ readonly LOADING: "loading";
2523
+ readonly SUCCESS: "success";
2524
+ readonly ERROR: "error";
2525
+ readonly INFO: "info";
2526
+ };
2527
+ type NotificationStatus = (typeof NOTIFICATION_STATUS)[keyof typeof NOTIFICATION_STATUS];
2528
+ type NotificationAction = {
2529
+ label: string;
2530
+ handler: () => void;
2531
+ };
2532
+ type NotificationConfig = {
2533
+ status: NotificationStatus;
2534
+ title: string;
2535
+ message?: string;
2536
+ action?: NotificationAction;
2537
+ /**
2538
+ * Auto-dismiss duration in milliseconds.
2539
+ * `0` or `undefined` uses the manager's `defaultDuration` for the current status.
2540
+ * Set explicitly to override the default (e.g. `duration: 0` to prevent auto-dismiss
2541
+ * for a status that defaults to non-zero).
2542
+ */
2543
+ duration?: number;
2544
+ /** Optional progress value (0–100). When set, a progress bar is shown below the notification body. */
2545
+ progress?: number;
2546
+ };
2547
+ type NotificationManagerConfig = {
2548
+ /** Position of the notification stack on screen. @default 'bottom-end' */
2549
+ position: 'bottom-center' | 'bottom-start' | 'bottom-end' | 'top-center' | 'top-start' | 'top-end';
2550
+ /** Maximum number of simultaneously visible notifications. @default 3 */
2551
+ maxVisible: number;
2552
+ /**
2553
+ * Default auto-dismiss duration (ms) per status.
2554
+ * `0` means no auto-dismiss.
2555
+ * @default `{ success: 4000, info: 4000, loading: 0, error: 0 }`
2556
+ */
2557
+ defaultDuration: Partial<Record<NotificationStatus, number>>;
1781
2558
  /**
1782
- * The element or event the overlay was opened from. Used as the anchor reference
1783
- * for anchored positioning and as the transform origin for strategy animations.
1784
- * When omitted and strategies are used, falls back to the currently focused element.
2559
+ * Maps each notification status to a color key used by `ProvideColorDirective`.
2560
+ * When set, the notification host element receives the corresponding color class
2561
+ * so that `et-button` and other colored components render correctly inside the notification.
1785
2562
  */
1786
- origin?: HTMLElement | Event;
1787
- role?: OverlayRole;
1788
- hasBackdrop?: boolean;
1789
- disableClose?: boolean;
1790
- inputBindings?: Record<string, unknown>;
1791
- /** Event listeners bound to the overlay component's outputs. */
1792
- outputBindings?: Record<string, (event: unknown) => unknown>;
1793
- ariaDescribedBy?: string | null;
1794
- ariaLabelledBy?: string | null;
1795
- ariaLabel?: string | null;
1796
- autoFocus?: OverlayAutoFocusTarget | string | false;
1797
- restoreFocus?: boolean;
1798
- providers?: StaticProvider[];
1799
- hostClass?: string | string[];
1800
- backdropClass?: string | string[];
1801
- panelClass?: string | string[];
1802
- mode?: OverlayMode;
1803
- closeOnOutsidePointer?: boolean;
1804
- closeOnEscape?: boolean;
2563
+ statusColorMapping?: Partial<Record<NotificationStatus, string>>;
1805
2564
  /**
1806
- * Breakpoint-driven overlay strategies (dialog, sheets, full-screen, ).
1807
- * When set, position, sizing and classes are controlled by the active strategy.
2565
+ * Color key applied to control elements (e.g. the dismiss button).
2566
+ * Uses the notification's status color when not set.
1808
2567
  */
1809
- strategies?: () => OverlayStrategyBreakpoint[];
2568
+ controlsColor?: string;
1810
2569
  /**
1811
- * Disables the default overlay animations so custom ones can be applied.
1812
- *
1813
- * @default false
2570
+ * Accessible label for the dismiss button.
2571
+ * @default 'Dismiss'
1814
2572
  */
1815
- customAnimated?: boolean;
2573
+ dismissLabel: string;
2574
+ };
2575
+ declare const DEFAULT_NOTIFICATION_MANAGER_CONFIG: NotificationManagerConfig;
2576
+ declare const provideNotificationManagerConfig: (valueOverride?: Partial<NotificationManagerConfig> | undefined) => _angular_core.Provider[];
2577
+ declare const injectNotificationManagerConfig: {
2578
+ (): NotificationManagerConfig;
2579
+ (options: _angular_core.InjectOptions & {
2580
+ optional?: false;
2581
+ }): NotificationManagerConfig;
2582
+ (options: _angular_core.InjectOptions): NotificationManagerConfig | null;
1816
2583
  };
1817
2584
 
1818
- declare const createOverlayRef: <TComponent extends object, TResult = unknown>(config: OverlayConfig) => {
1819
- readonly id: string;
1820
- readonly elements: _ethlete_core.OverlayRuntimeElements | null;
1821
- config: OverlayConfig;
1822
- headerTemplate: _angular_core.Signal<TemplateRef<unknown> | null>;
1823
- /** @internal Set (or clear) the active header template. */
1824
- setHeaderTemplate: (template: TemplateRef<unknown> | null) => void;
1825
- componentInstance: () => TComponent | null;
1826
- close: (result?: TResult) => void;
1827
- closeVia: (source: OverlayRuntimeCloseSource, result?: TResult) => void;
1828
- attachComponentInstanceOverride: (getter: () => TComponent | null) => void;
1829
- afterOpened: () => Observable<void>;
1830
- beforeClosed: () => Observable<TResult | undefined>;
1831
- afterClosed: () => Observable<TResult | undefined>;
1832
- attachRuntime: (runtimeRef: OverlayRuntimeRef<TComponent, TResult>) => void;
2585
+ declare const NOTIFICATION_ERROR_CODES: {
2586
+ readonly ACTION_OUTSIDE_NOTIFICATION: 1700;
2587
+ readonly DISMISS_OUTSIDE_NOTIFICATION: 1701;
1833
2588
  };
1834
- type OverlayRef<TComponent extends object = object, TResult = unknown> = ReturnType<typeof createOverlayRef<TComponent, TResult>>;
1835
- declare const OVERLAY_REF: InjectionToken<{
1836
- readonly id: string;
1837
- readonly elements: _ethlete_core.OverlayRuntimeElements | null;
1838
- config: OverlayConfig;
1839
- headerTemplate: _angular_core.Signal<TemplateRef<unknown> | null>;
1840
- /** @internal Set (or clear) the active header template. */
1841
- setHeaderTemplate: (template: TemplateRef<unknown> | null) => void;
1842
- componentInstance: () => object | null;
1843
- close: (result?: unknown) => void;
1844
- closeVia: (source: OverlayRuntimeCloseSource, result?: unknown) => void;
1845
- attachComponentInstanceOverride: (getter: () => object | null) => void;
1846
- afterOpened: () => Observable<void>;
1847
- beforeClosed: () => Observable<unknown>;
1848
- afterClosed: () => Observable<unknown>;
1849
- attachRuntime: (runtimeRef: OverlayRuntimeRef<object, unknown>) => void;
1850
- }>;
1851
2589
 
1852
- declare const getClosestOverlay: (element: ElementRef<HTMLElement>, openOverlays: OverlayRef<object, unknown>[]) => OverlayRef<object, unknown> | null;
1853
- type ResolveClosestOverlayOptions = {
1854
- overlayRef: OverlayRef<object, unknown> | null;
1855
- element: ElementRef<HTMLElement>;
1856
- openOverlays: OverlayRef<object, unknown>[];
2590
+ type NotificationEntry = {
2591
+ id: string;
2592
+ config: NotificationConfig;
2593
+ isDismissing: boolean;
2594
+ isDismissed: boolean;
1857
2595
  };
1858
- /** Returns the given ref or resolves the overlay the element is rendered inside of. Throws if neither exists. */
1859
- declare const resolveClosestOverlay: (options: ResolveClosestOverlayOptions) => OverlayRef<object, unknown>;
2596
+ declare const createNotificationRef: (config: NotificationConfig, { managerConfig, beforeChange }: {
2597
+ managerConfig: NotificationManagerConfig;
2598
+ beforeChange?: () => void;
2599
+ }) => {
2600
+ id: string;
2601
+ entry: _angular_core.Signal<NotificationEntry>;
2602
+ update: (partial: Partial<NotificationConfig>) => void;
2603
+ dismiss: () => void;
2604
+ pauseTimer: () => void;
2605
+ resumeTimer: () => void;
2606
+ afterDismissed: () => rxjs.Observable<void>;
2607
+ markDismissed: () => void;
2608
+ };
2609
+ type NotificationRef = ReturnType<typeof createNotificationRef>;
1860
2610
 
1861
- declare class OverlayAnchorDirective {
1862
- private overlay;
1863
- private destroyRef;
1864
- elementRef: ElementRef<HTMLElement>;
1865
- constructor();
1866
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<OverlayAnchorDirective, never>;
1867
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<OverlayAnchorDirective, "[etOverlayAnchor]", ["etOverlayAnchor"], {}, {}, never, never, true, never>;
1868
- }
2611
+ type NotificationManager = {
2612
+ open: (config: NotificationConfig) => NotificationRef;
2613
+ dismissAll: () => void;
2614
+ notifications: Signal<NotificationRef[]>;
2615
+ visibleNotifications: Signal<NotificationRef[]>;
2616
+ };
2617
+ declare const provideNotificationManagerInstance: () => _angular_core.Provider[];
2618
+ declare const injectNotificationManager: {
2619
+ (): NotificationManager;
2620
+ (options: _angular_core.InjectOptions & {
2621
+ optional?: false;
2622
+ }): NotificationManager;
2623
+ (options: _angular_core.InjectOptions): NotificationManager | null;
2624
+ };
2625
+ declare const provideNotificationManager: (config?: Partial<NotificationManagerConfig>) => _angular_core.Provider[];
1869
2626
 
1870
- declare class OverlayTemplateHostComponent {
1871
- protected template: _angular_core.InputSignal<TemplateRef<OverlaySurfaceContext>>;
1872
- protected context: _angular_core.InputSignal<OverlaySurfaceContext>;
1873
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<OverlayTemplateHostComponent, never>;
1874
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<OverlayTemplateHostComponent, "et-overlay-template-host", never, { "template": { "alias": "template"; "required": true; "isSignal": true; }; "context": { "alias": "context"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
1875
- }
2627
+ type NotificationStackContext = {
2628
+ visibleNotifications: Signal<NotificationRef[]>;
2629
+ position: NotificationManagerConfig['position'];
2630
+ /** @internal Set by the stack component. Called by the manager before any mutation. */
2631
+ captureBeforeState: (() => void) | null;
2632
+ };
2633
+ declare const NOTIFICATION_STACK_CONTEXT_TOKEN: InjectionToken<NotificationStackContext>;
1876
2634
 
1877
- declare class OverlayTriggerDirective {
1878
- private overlay;
1879
- private destroyRef;
1880
- elementRef: ElementRef<HTMLElement>;
2635
+ declare class NotificationComponent {
2636
+ protected notification: NotificationDirective;
2637
+ private animatedLifecycle;
2638
+ private provideTheme;
2639
+ private provideSurface;
2640
+ private managerConfig;
2641
+ private surfaceThemes;
2642
+ private surfaceContextTracker;
2643
+ private resolvedColor;
2644
+ private resolvedSurface;
2645
+ protected controlsColor: _angular_core.Signal<string | null>;
2646
+ protected dismissLabel: _angular_core.Signal<string>;
1881
2647
  constructor();
1882
- toggle(): void;
1883
- isOpen(): boolean;
1884
- expanded(): boolean | null;
1885
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<OverlayTriggerDirective, never>;
1886
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<OverlayTriggerDirective, "[etOverlayTrigger]", ["etOverlayTrigger"], {}, {}, never, never, true, never>;
2648
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationComponent, never>;
2649
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NotificationComponent, "et-notification", never, {}, {}, never, never, true, [{ directive: typeof NotificationDirective; inputs: { "ref": "ref"; }; outputs: {}; }, { directive: typeof _ethlete_core.AnimatedLifecycleDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.ProvideColorDirective; inputs: { "etProvideColor": "color"; }; outputs: {}; }, { directive: typeof _ethlete_core.ProvideSurfaceDirective; inputs: { "etProvideSurface": "surface"; }; outputs: {}; }]>;
1887
2650
  }
1888
2651
 
1889
- declare class OverlayDirective {
1890
- private destroyRef;
1891
- private overlayManager;
1892
- mode: _angular_core.InputSignal<OverlayMode>;
1893
- role: _angular_core.InputSignal<OverlayRole | undefined>;
1894
- open: _angular_core.ModelSignal<boolean>;
1895
- disabled: _angular_core.InputSignal<boolean>;
1896
- disableClose: _angular_core.InputSignal<boolean>;
1897
- autoFocus: _angular_core.InputSignal<string | false | undefined>;
1898
- restoreFocus: _angular_core.InputSignal<boolean>;
1899
- hasBackdrop: _angular_core.InputSignal<boolean | undefined>;
1900
- closeOnEscape: _angular_core.InputSignal<boolean>;
1901
- closeOnOutsidePointer: _angular_core.InputSignal<boolean>;
1902
- hostClass: _angular_core.InputSignal<string | string[] | undefined>;
1903
- backdropClass: _angular_core.InputSignal<string | string[] | undefined>;
1904
- panelClass: _angular_core.InputSignal<string | string[] | undefined>;
1905
- placement: _angular_core.InputSignal<Placement>;
1906
- fallbackPlacements: _angular_core.InputSignal<Placement[] | undefined>;
1907
- offset: _angular_core.InputSignal<OffsetOptions | null>;
1908
- viewportPadding: _angular_core.InputSignal<Padding | null>;
1909
- autoResize: _angular_core.InputSignal<boolean>;
1910
- shift: _angular_core.InputSignal<boolean>;
1911
- autoHide: _angular_core.InputSignal<boolean>;
1912
- autoCloseIfReferenceHidden: _angular_core.InputSignal<boolean>;
1913
- mirrorWidth: _angular_core.InputSignal<boolean>;
1914
- /** @internal */
1915
- registeredAnchor: _angular_core.WritableSignal<OverlayAnchorDirective | null>;
1916
- /** @internal */
1917
- registeredSurface: _angular_core.WritableSignal<OverlaySurfaceDirective | null>;
1918
- /** @internal */
1919
- registeredTrigger: _angular_core.WritableSignal<OverlayTriggerDirective | null>;
1920
- /** @internal */
1921
- overlayRef: _angular_core.WritableSignal<OverlayRef<OverlayTemplateHostComponent, unknown> | null>;
1922
- isMounted: _angular_core.Signal<boolean>;
1923
- private originElement;
1924
- constructor();
1925
- show(): void;
1926
- hide(result?: unknown): void;
1927
- toggle(): void;
1928
- /** @internal */
1929
- unregisterTrigger(trigger: OverlayTriggerDirective): void;
1930
- /** @internal */
1931
- unregisterAnchor(anchor: OverlayAnchorDirective): void;
1932
- /** @internal */
1933
- unregisterSurface(surface: OverlaySurfaceDirective): void;
1934
- private mountOverlay;
1935
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<OverlayDirective, never>;
1936
- 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>;
1937
- }
2652
+ declare const NOTIFICATION_IMPORTS: readonly [typeof NotificationComponent, typeof NotificationDirective, typeof NotificationActionDirective, typeof NotificationDismissDirective];
1938
2653
 
1939
- type OverlaySurfaceContext = {
1940
- $implicit: OverlayDirective;
1941
- overlay: OverlayDirective;
1942
- close: (result?: unknown) => void;
2654
+ declare const getClosestOverlay: (element: ElementRef<HTMLElement>, openOverlays: OverlayRef<object, unknown>[]) => OverlayRef<object, unknown> | null;
2655
+ type ResolveClosestOverlayOptions = {
2656
+ overlayRef: OverlayRef<object, unknown> | null;
2657
+ element: ElementRef<HTMLElement>;
2658
+ openOverlays: OverlayRef<object, unknown>[];
1943
2659
  };
1944
- declare class OverlaySurfaceDirective {
1945
- private overlay;
1946
- templateRef: TemplateRef<OverlaySurfaceContext>;
1947
- private destroyRef;
1948
- constructor();
1949
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<OverlaySurfaceDirective, never>;
1950
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<OverlaySurfaceDirective, "ng-template[etOverlaySurface]", ["etOverlaySurface"], {}, {}, never, never, true, never>;
1951
- }
2660
+ /** Returns the given ref or resolves the overlay the element is rendered inside of. Throws if neither exists. */
2661
+ declare const resolveClosestOverlay: (options: ResolveClosestOverlayOptions) => OverlayRef<object, unknown>;
1952
2662
 
1953
2663
  declare const OVERLAY_BODY_TOKEN: InjectionToken<OverlayBodyComponent>;
1954
2664
  type OverlayBodyDividerType = 'static' | 'dynamic' | false;
@@ -2002,6 +2712,7 @@ declare class OverlayContainerComponent {
2002
2712
  componentInstance: () => object | null;
2003
2713
  close: (result?: unknown) => void;
2004
2714
  closeVia: (source: _ethlete_core.OverlayRuntimeCloseSource, result?: unknown) => void;
2715
+ updatePositionStrategy: (strategy: _ethlete_core.OverlayRuntimePositionStrategy) => void;
2005
2716
  attachComponentInstanceOverride: (getter: () => object | null) => void;
2006
2717
  afterOpened: () => rxjs.Observable<void>;
2007
2718
  beforeClosed: () => rxjs.Observable<unknown>;
@@ -2210,6 +2921,7 @@ declare class OverlayRouteHeaderTemplateOutletComponent {
2210
2921
  componentInstance: () => object | null;
2211
2922
  close: (result?: unknown) => void;
2212
2923
  closeVia: (source: _ethlete_core.OverlayRuntimeCloseSource, result?: unknown) => void;
2924
+ updatePositionStrategy: (strategy: _ethlete_core.OverlayRuntimePositionStrategy) => void;
2213
2925
  attachComponentInstanceOverride: (getter: () => object | null) => void;
2214
2926
  afterOpened: () => rxjs.Observable<void>;
2215
2927
  beforeClosed: () => rxjs.Observable<unknown>;
@@ -2344,6 +3056,7 @@ declare class OverlayRouterOutletComponent {
2344
3056
  private injector;
2345
3057
  private overlayRef;
2346
3058
  private elementRef;
3059
+ private document;
2347
3060
  protected router: _ethlete_components.OverlayRouter;
2348
3061
  private renderer;
2349
3062
  disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
@@ -2358,6 +3071,12 @@ declare class OverlayRouterOutletComponent {
2358
3071
  constructor();
2359
3072
  scrollActivePageTo(options?: ScrollToOptions | undefined): void;
2360
3073
  disabledPageAnimationStateChange(state: AnimatedLifecycleState): void;
3074
+ /**
3075
+ * Moves focus into the freshly navigated page, mirroring the overlay's own open-time focus behaviour
3076
+ * (first-tabbable by default, so buttons/inputs win over headings). Falls back to the page wrapper when
3077
+ * the page has nothing tabbable. Respects the overlay's `autoFocus` config, including `false`.
3078
+ */
3079
+ private focusActivePage;
2361
3080
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<OverlayRouterOutletComponent, never>;
2362
3081
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<OverlayRouterOutletComponent, "et-overlay-router-outlet", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, {}, ["sharedRouteTemplate", "outletDisabledTemplate"], ["*"], true, never>;
2363
3082
  }
@@ -4772,23 +5491,18 @@ declare class ToggletipDirective {
4772
5491
 
4773
5492
  declare class ToggletipComponent {
4774
5493
  private ownColorProvider;
4775
- private ownSurfaceProvider;
4776
5494
  private triggerColorProvider;
4777
- private triggerSurfaceProvider;
4778
5495
  protected injector: Injector;
4779
- private surfaceThemes;
4780
5496
  toggletipId: _angular_core.InputSignal<string>;
4781
5497
  protected contentId: _angular_core.InputSignal<string>;
4782
5498
  content: _angular_core.InputSignal<ToggletipContent>;
4783
5499
  colorProvider: _angular_core.InputSignal<ProvideColorDirective | null>;
4784
- surfaceProvider: _angular_core.InputSignal<ProvideSurfaceDirective | null>;
4785
5500
  hasTemplate: _angular_core.Signal<boolean>;
4786
5501
  contentText: _angular_core.Signal<string | null>;
4787
5502
  contentTemplate: _angular_core.Signal<TemplateRef<unknown> | null>;
4788
- resolvedSurface: _angular_core.Signal<string | null>;
4789
5503
  constructor();
4790
5504
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToggletipComponent, never>;
4791
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ToggletipComponent, "et-toggletip", never, { "toggletipId": { "alias": "toggletipId"; "required": true; "isSignal": true; }; "contentId": { "alias": "contentId"; "required": true; "isSignal": true; }; "content": { "alias": "content"; "required": true; "isSignal": true; }; "colorProvider": { "alias": "colorProvider"; "required": true; "isSignal": true; }; "surfaceProvider": { "alias": "surfaceProvider"; "required": true; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _ethlete_core.ProvideColorDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.ProvideSurfaceDirective; inputs: {}; outputs: {}; }]>;
5505
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ToggletipComponent, "et-toggletip", never, { "toggletipId": { "alias": "toggletipId"; "required": true; "isSignal": true; }; "contentId": { "alias": "contentId"; "required": true; "isSignal": true; }; "content": { "alias": "content"; "required": true; "isSignal": true; }; "colorProvider": { "alias": "colorProvider"; "required": true; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _ethlete_core.ProvideColorDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.AutoSurfaceDirective; inputs: { "surfaceProvider": "surfaceProvider"; }; outputs: {}; }]>;
4792
5506
  }
4793
5507
 
4794
5508
  declare class ToggletipCloseDirective {
@@ -4819,21 +5533,16 @@ declare const TOGGLETIP_IMPORTS: readonly [typeof ToggletipDirective, typeof Tog
4819
5533
 
4820
5534
  declare class TooltipComponent {
4821
5535
  private ownColorProvider;
4822
- private ownSurfaceProvider;
4823
5536
  private triggerColorProvider;
4824
- private triggerSurfaceProvider;
4825
- private surfaceThemes;
4826
5537
  tooltipId: _angular_core.InputSignal<string>;
4827
5538
  content: _angular_core.InputSignal<TooltipContent>;
4828
5539
  colorProvider: _angular_core.InputSignal<ProvideColorDirective | null>;
4829
- surfaceProvider: _angular_core.InputSignal<ProvideSurfaceDirective | null>;
4830
5540
  hasTemplate: _angular_core.Signal<boolean>;
4831
5541
  contentText: _angular_core.Signal<string | null>;
4832
5542
  contentTemplate: _angular_core.Signal<TemplateRef<unknown> | null>;
4833
- resolvedSurface: _angular_core.Signal<string | null>;
4834
5543
  constructor();
4835
5544
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<TooltipComponent, never>;
4836
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<TooltipComponent, "et-tooltip", never, { "tooltipId": { "alias": "tooltipId"; "required": true; "isSignal": true; }; "content": { "alias": "content"; "required": true; "isSignal": true; }; "colorProvider": { "alias": "colorProvider"; "required": true; "isSignal": true; }; "surfaceProvider": { "alias": "surfaceProvider"; "required": true; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _ethlete_core.ProvideColorDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.ProvideSurfaceDirective; inputs: {}; outputs: {}; }]>;
5545
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TooltipComponent, "et-tooltip", never, { "tooltipId": { "alias": "tooltipId"; "required": true; "isSignal": true; }; "content": { "alias": "content"; "required": true; "isSignal": true; }; "colorProvider": { "alias": "colorProvider"; "required": true; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _ethlete_core.ProvideColorDirective; inputs: {}; outputs: {}; }, { directive: typeof _ethlete_core.AutoSurfaceDirective; inputs: { "surfaceProvider": "surfaceProvider"; }; outputs: {}; }]>;
4837
5546
  }
4838
5547
 
4839
5548
  type TooltipContent = string | TemplateRef<unknown>;
@@ -4880,5 +5589,5 @@ declare const TOOLTIP_ERROR_CODES: {
4880
5589
 
4881
5590
  declare const TOOLTIP_IMPORTS: readonly [typeof TooltipDirective, typeof TooltipComponent];
4882
5591
 
4883
- export { ARROW_OUT_UP_RIGHT_ICON, ARROW_RIGHT_ICON, BOLD_ICON, BUTTON_ICON_ALIGNMENTS, BUTTON_IMPORTS, BUTTON_SIZES, BUTTON_SPINNER_CONFIG, BUTTON_TYPES, BUTTON_VARIANTS, BrandLoaderComponent, ButtonComponent, ButtonDirective, ButtonStylesDirective, CHECKBOX_IMPORTS, CHEVRON_ICON, CHOICE_FIELD_IMPORTS, CLIPBOARD_CHECK_ICON, CheckboxComponent, CheckboxDirective, CheckboxGroupComponent, CheckboxOptionComponent, ChoiceFieldComponent, DAILYMOTION_PLAYER_TOKEN, DEFAULT_NOTIFICATION_MANAGER_CONFIG, DEFAULT_PIP_WINDOW_CONFIG, DEFAULT_STREAM_PLAYER_STATE, DailymotionPlayerComponent, DailymotionPlayerDirective, DailymotionPlayerParamsDirective, DailymotionPlayerSlotComponent, DescriptionComponent, FACEBOOK_PLAYER_TOKEN, FLOPPY_DISK_ICON, FOCUS_FRAME_ICON, FORM_FIELD_APPEARANCES, FORM_FIELD_CONTROL_TYPES, FORM_FIELD_ERROR_CODES, FORM_FIELD_FILLS, FORM_FIELD_IMPORTS, FORM_FIELD_LABEL_MODES, FORM_FIELD_SIZES, FORM_FIELD_TOKEN, FabComponent, FacebookPlayerComponent, FacebookPlayerDirective, FacebookPlayerParamsDirective, FacebookPlayerSlotComponent, FocusRingDirective, FormErrorComponent, FormFieldComponent, FormFieldDirective, GRID_2X2_ICON, GRID_ERROR_CODES, GRID_TOKEN, GridComponent, GridDebugComponent, GridDirective, GridDragDirective, GridImports, 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, INPUT_IMPORTS, INPUT_TEXT_ALIGNMENTS, INPUT_TYPES, ITALIC_ICON, IconButtonComponent, IconDirective, InputComponent, InputDirective, InputPrefixDirective, InputSuffixDirective, KICK_PLAYER_TOKEN, KickPlayerComponent, KickPlayerDirective, KickPlayerParamsDirective, KickPlayerSlotComponent, LINK_ICON, LIST_BULLETED_ICON, LIST_NUMBERED_ICON, LOCK_ICON, LabelDirective, NAV_TABS_TOKEN, NOTIFICATION_ERROR_CODES, NOTIFICATION_IMPORTS, NOTIFICATION_STACK_CONTEXT_TOKEN, NOTIFICATION_STATUS, NavTabImports, NavTabLinkComponent, NavTabLinkDirective, NavTabsComponent, NavTabsDirective, NavTabsOutletComponent, NavTabsOutletDirective, NotificationActionDirective, NotificationComponent, NotificationDirective, NotificationDismissDirective, NotificationItemDirective, NotificationStackDirective, 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, OverlayAnchorDirective, OverlayBackOrCloseDirective, OverlayBodyComponent, OverlayCloseDirective, OverlayContainerComponent, OverlayDirective, OverlayFooterDirective, OverlayHandlerLinkDirective, OverlayHeaderDirective, OverlayHeaderTemplateDirective, OverlayMainDirective, OverlayOriginCloneComponent, OverlayRouteHeaderTemplateOutletComponent, OverlayRouterLinkDirective, OverlayRouterOutletComponent, OverlayRouterOutletDisabledTemplateDirective, OverlaySharedRouteTemplateDirective, OverlaySharedRouteTemplateOutletComponent, OverlaySidebarComponent, OverlaySidebarPageComponent, OverlaySurfaceDirective, OverlayTitleDirective, OverlayTriggerDirective, PENCIL_ICON, PIP_CHROME_REF_TOKEN, PIP_ENTRY_TOKEN, PIP_WINDOW_ASPECT_RATIO_TOKEN, PLUS_ICON, PipBackDirective, PipBringBackDirective, PipCellDirective, PipCloseDirective, PipCollapseOverlayDirective, PipGridToggleDirective, PipPlayerComponent, PipSlotPlaceholderComponent, PipStageDirective, PipTitleBarDirective, PipTitleBarTemplateDirective, PipWindowComponent, PipWindowParamsDirective, ProgressBarComponent, RICH_TEXT_EDITOR_IMPORTS, RadioComponent, RadioGroupComponent, RichTextEditorComponent, RichTextEditorDirective, RichTextEditorFloatingToolbarComponent, SCROLLABLE_IMPORTS, SELECTION_LIST_MULTIPLE, SELECTION_LIST_TOKEN, SIDEBAR_OVERLAY_CONFIG, SIDEBAR_OVERLAY_TOKEN, SOOP_PLAYER_TOKEN, STREAM_CONSENT_TOKEN, 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_USER_CONSENT_PROVIDER_TOKEN, STRIKETHROUGH_ICON, SWITCH_IMPORTS, ScrollableActiveChildDirective, ScrollableButtonsDirective, ScrollableComponent, ScrollableDarkenDirective, ScrollableDirective, ScrollableDragDirective, ScrollableErrorCode, ScrollableIgnoreChildDirective, ScrollableLoadingTemplateDirective, ScrollableMasksDirective, ScrollableNavigationDirective, ScrollableSnapDirective, SegmentedButtonComponent, SegmentedButtonGroupComponent, SelectionListControlDirective, SelectionListDirective, SelectionOptionDirective, SoopPlayerComponent, SoopPlayerDirective, SoopPlayerParamsDirective, SoopPlayerSlotComponent, SpinnerComponent, StreamConsentAcceptDirective, StreamConsentComponent, StreamConsentDirective, StreamImports, StreamPipChromeComponent, StreamPlayerErrorComponent, StreamPlayerErrorDirective, StreamPlayerLoadingComponent, StreamPlayerSlotDirective, SwitchComponent, SwitchDirective, TAB_BAR_FITS, TAB_BAR_ORIENTATIONS, TAB_BAR_TOKEN, TAB_BAR_TRIGGER_TOKEN, TAB_BAR_VARIANTS, TAB_ERROR_CODES, TAB_GROUP_TOKEN, TAB_PANEL_TOKEN, TAB_SIZES, TIKTOK_PLAYER_TOKEN, TIMES_ICON, TOGGLETIP_ERROR_CODES, TOGGLETIP_IMPORTS, TOOLTIP_ERROR_CODES, TOOLTIP_IMPORTS, TRIANGLE_EXCLAMATION_ICON, TWITCH_PLAYER_TOKEN, TabBarDirective, TabBarTriggerDirective, TabBarUnderlineDirective, TabComponent, TabGroupComponent, TabGroupDirective, TabImports, TabLabelDirective, TabPanelDirective, TabTriggerDirective, TextButtonComponent, TikTokPlayerComponent, TikTokPlayerDirective, TikTokPlayerParamsDirective, TikTokPlayerSlotComponent, ToggletipCloseDirective, ToggletipComponent, ToggletipDirective, ToggletipTriggerDirective, TooltipComponent, TooltipDirective, TwitchPlayerComponent, TwitchPlayerDirective, TwitchPlayerParamsDirective, TwitchPlayerSlotComponent, 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, bottomSheetOverlayStrategy, buildAnchoredRuntimePositionStrategy, centeredOverlayStrategy, cleanupFullscreenAnimation, cleanupFullscreenAnimationStyles, createGridAdapter, createNotificationRef, createOverlayHandler, createOverlayHandlerWithQueryParamLifecycle, createOverlayRef, createOverlayStrategyController, createPipChromeAnimations, createPipChromeState, createStreamConfig, createStreamPlayerSlot, dialogOverlayStrategy, enableDragToDismiss, findNextRelevantHtmlElement, fromGridPosition, fullScreenDialogOverlayStrategy, getClosestOverlay, getOriginCoordinatesAndDimensions, injectAnchoredDialogStrategy, injectAnchoredDialogStrategyDefaults, injectBottomSheetStrategy, injectBottomSheetStrategyDefaults, injectDialogStrategy, injectDialogStrategyDefaults, injectFormSupport, injectFullscreenDialogStrategy, injectFullscreenDialogStrategyDefaults, injectGridConfig, injectLeftSheetStrategy, injectLeftSheetStrategyDefaults, injectNotificationManager, injectNotificationManagerConfig, injectOverlayManager, injectOverlayRouter, injectOverlayScrollBlocker, injectPipChromeManager, injectPipManager, injectPipSlotPlaceholderConfig, injectRightSheetStrategy, injectRightSheetStrategyDefaults, injectSidebarOverlay, injectStreamConfig, injectStreamConsentConfig, injectStreamManager, injectStreamPlayerErrorConfig, injectStreamPlayerLoadingConfig, injectStreamScriptLoader, injectStreamUserConsentProvider, injectTopSheetStrategy, injectTopSheetStrategyDefaults, isHtmlElement, isPointerEvent, isTouchEvent, leftSheetOverlayStrategy, mergeOverlayBreakpointConfigs, provideAnchoredDialogStrategy, provideAnchoredDialogStrategyDefaults, provideBottomSheetStrategy, provideBottomSheetStrategyDefaults, provideDialogStrategy, provideDialogStrategyDefaults, provideFormSupport, provideFullscreenDialogStrategy, provideFullscreenDialogStrategyDefaults, provideGridConfig, provideIcons, provideLeftSheetStrategy, provideLeftSheetStrategyDefaults, provideNotificationManager, provideNotificationManagerConfig, provideNotificationManagerInstance, provideOverlay, provideOverlayManager, provideOverlayRouter, provideOverlayRouterConfig, provideOverlayRouterService, provideOverlayScrollBlocker, providePipChromeManager, providePipManager, providePipSlotPlaceholderConfig, provideRightSheetStrategy, provideRightSheetStrategyDefaults, provideSidebarOverlay, provideSidebarOverlayConfig, provideSidebarOverlayService, provideStreamConfig, provideStreamConsentConfig, provideStreamManager, provideStreamPlayerErrorConfig, provideStreamPlayerLoadingConfig, provideTopSheetStrategy, provideTopSheetStrategyDefaults, resolveClosestOverlay, rightSheetOverlayStrategy, startFullscreenEnterAnimation, startFullscreenLeaveAnimation, toGridPosition, topSheetOverlayStrategy, transformingBottomSheetToDialogOverlayStrategy, transformingFullScreenDialogToDialogOverlayStrategy, transformingFullScreenDialogToRightSheetOverlayStrategy };
4884
- export type { AnchoredDialogOverlayStrategyOptions, AnchoredOverlayStrategyOptions, AnchoredPositionOptions, ButtonIconAlignment, ButtonSize, CenteredOverlayStrategyOptions, CreateOverlayHandlerConfig, CreateOverlayHandlerInnerConfig, CreateOverlayHandlerWithQueryParamLifecycleConfig, DragToDismissContext, DragToDismissRef, FacebookVideoPlayer, FacebookWindow, FormFieldAppearance, FormFieldControl, FormFieldControlType, FormFieldDirectiveBase, FormFieldFill, FormFieldLabelMode, FormFieldSize, FullscreenAnimationCancellable, FullscreenAnimationDeps, FullscreenAnimationState, GridAdapter, GridBreakpointConfig, GridBreakpointName, GridComponentRegistration, GridConfig, GridItemActionsComponent, GridItemConfig, GridItemConstraints, GridItemPosition, GridLayoutEntry, GridSerializedState, HintComponentBase, IconDefinition, InputTextAlignment, LabelDirectiveBase, NotificationAction, NotificationConfig, NotificationEntry, NotificationManager, NotificationManagerConfig, NotificationRef, NotificationStackContext, NotificationStatus, OverlayAutoFocusTarget, OverlayBodyDividerType, OverlayBreakpointConfig, OverlayConfig, OverlayConsumerConfig, OverlayDragToDismissConfig, OverlayHandler, OverlayHandlerWithQueryParamLifecycle, OverlayManager, OverlayMode, OverlayRef, OverlayRole, OverlayRoute, OverlayRouter, OverlayRouterConfig, OverlayRouterNavigateConfig, OverlayRouterNavigationDirection, OverlayRouterResolvedPath, OverlayRouterTransitionType, OverlayStrategy, OverlayStrategyBreakpoint, OverlayStrategyContext, OverlayStrategyController, OverlayStrategyControllerMountConfig, OverlaySurfaceContext, PipCellData, PipChromeAnimations, PipChromeRef, PipChromeState, PipManager, PipSlotPlaceholderConfig, ResolveClosestOverlayOptions, ScrollableActiveChildRef, ScrollableButtonPosition, ScrollableDirection, ScrollableIntersectionChange, ScrollableItemSize, ScrollableLoadingTemplatePosition, ScrollableLoadingTemplateRef, ScrollableMaskVariant, ScrollableNavigation, ScrollableNavigationItem, ScrollableScrollMode, ScrollableScrollOrigin, ScrollableScrollState, SelectionListDirectiveBase, SelectionListItem, SidebarOverlay, SidebarOverlayConfig, StreamConfig, StreamConsentConfig, StreamManager, StreamPipEntry, StreamPipWindowConfig, StreamPlayer, StreamPlayerCapabilities, StreamPlayerEntry, StreamPlayerErrorConfig, StreamPlayerErrorContext, StreamPlayerId, StreamPlayerLoadingConfig, StreamPlayerParams, StreamPlayerSlotHandle, StreamPlayerSlotOptions, StreamPlayerState, StreamScriptLoader, StreamSlotEntry, TabBarFit, TabBarOrientation, TabBarVariant, TabSize, ToggletipContent, TooltipContent, TwitchEmbed, TwitchEmbedConstructor, TwitchEmbedPlayer, TwitchPlayerParams, TwitchWindow, ViewportTransformData, VimeoDurationChangeEvent, VimeoPlaybackEvent, VimeoPlayer, VimeoPlayerOptions, VimeoWindow, WindowControlButtonKind, WindowControlButtonSize, YtPlayer, YtPlayerConfig, YtPlayerErrorEvent, YtPlayerEvent, YtPlayerStateChangeEvent, YtPlayerVars, YtWindow };
5592
+ export { ARROW_OUT_UP_RIGHT_ICON, ARROW_RIGHT_ICON, BOLD_ICON, BUTTON_ICON_ALIGNMENTS, BUTTON_IMPORTS, BUTTON_SIZES, BUTTON_SPINNER_CONFIG, BUTTON_TYPES, BUTTON_VARIANTS, BrandLoaderComponent, ButtonComponent, ButtonDirective, ButtonStylesDirective, CHECKBOX_IMPORTS, CHEVRON_ICON, CHOICE_FIELD_IMPORTS, CLIPBOARD_CHECK_ICON, CheckboxComponent, CheckboxDirective, CheckboxGroupComponent, CheckboxOptionComponent, ChoiceFieldComponent, DAILYMOTION_PLAYER_TOKEN, DEFAULT_BREAKPOINTS, DEFAULT_ICON_VARIANT, DEFAULT_NOTIFICATION_MANAGER_CONFIG, DEFAULT_PIP_WINDOW_CONFIG, DEFAULT_STREAM_PLAYER_STATE, DailymotionPlayerComponent, DailymotionPlayerDirective, DailymotionPlayerParamsDirective, DailymotionPlayerSlotComponent, DescriptionComponent, FACEBOOK_PLAYER_TOKEN, FLOPPY_DISK_ICON, FOCUS_FRAME_ICON, FORM_FIELD_APPEARANCES, FORM_FIELD_CONTROL_TYPES, FORM_FIELD_ERROR_CODES, FORM_FIELD_FILLS, FORM_FIELD_IMPORTS, FORM_FIELD_LABEL_MODES, FORM_FIELD_SIZES, FORM_FIELD_TOKEN, FabComponent, FacebookPlayerComponent, FacebookPlayerDirective, FacebookPlayerParamsDirective, FacebookPlayerSlotComponent, FocusRingDirective, FormErrorComponent, FormFieldComponent, FormFieldDirective, GRID_2X2_ICON, GRID_ERROR_CODES, GRID_TOKEN, GridComponent, GridDebugComponent, GridDirective, GridDragDirective, GridImports, 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, INPUT_IMPORTS, INPUT_TEXT_ALIGNMENTS, INPUT_TYPES, ITALIC_ICON, IconButtonComponent, IconDirective, InputComponent, InputDirective, InputPrefixDirective, InputSuffixDirective, KICK_PLAYER_TOKEN, KickPlayerComponent, KickPlayerDirective, KickPlayerParamsDirective, KickPlayerSlotComponent, LINK_ICON, LIST_BULLETED_ICON, LIST_NUMBERED_ICON, LOCK_ICON, LabelDirective, MENU_ERROR_CODES, MENU_IMPORTS, MENU_ITEM_VARIANTS, MENU_SELECTION_GROUP_MULTIPLE, MENU_SELECTION_GROUP_TOKEN, MENU_SELECTION_ITEM_KIND, MenuCheckboxGroupComponent, MenuCheckboxItemComponent, MenuComponent, MenuContextTriggerDirective, MenuDirective, MenuGroupLabelComponent, MenuItemComponent, MenuItemDirective, MenuItemShortcutComponent, MenuPanelDirective, MenuRadioGroupComponent, MenuRadioItemComponent, MenuSearchDirective, MenuSelectionGroupDirective, MenuSelectionItemDirective, MenuSeparatorComponent, MenuSurfaceDirective, MenuTriggerDirective, NAV_TABS_TOKEN, NOTIFICATION_ERROR_CODES, NOTIFICATION_IMPORTS, NOTIFICATION_STACK_CONTEXT_TOKEN, NOTIFICATION_STATUS, NavTabImports, NavTabLinkComponent, NavTabLinkDirective, NavTabsComponent, NavTabsDirective, NavTabsOutletComponent, NavTabsOutletDirective, NotificationActionDirective, NotificationComponent, NotificationDirective, NotificationDismissDirective, NotificationItemDirective, NotificationStackDirective, 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, OverlayAnchorDirective, OverlayBackOrCloseDirective, OverlayBodyComponent, OverlayCloseDirective, OverlayContainerComponent, OverlayDirective, OverlayFooterDirective, OverlayHandlerLinkDirective, OverlayHeaderDirective, OverlayHeaderTemplateDirective, OverlayMainDirective, OverlayOriginCloneComponent, OverlayRouteHeaderTemplateOutletComponent, OverlayRouterLinkDirective, OverlayRouterOutletComponent, OverlayRouterOutletDisabledTemplateDirective, OverlaySharedRouteTemplateDirective, OverlaySharedRouteTemplateOutletComponent, OverlaySidebarComponent, OverlaySidebarPageComponent, OverlaySurfaceDirective, OverlayTitleDirective, OverlayTriggerDirective, PENCIL_ICON, PIP_CHROME_REF_TOKEN, PIP_ENTRY_TOKEN, PIP_WINDOW_ASPECT_RATIO_TOKEN, PLUS_ICON, PipBackDirective, PipBringBackDirective, PipCellDirective, PipCloseDirective, PipCollapseOverlayDirective, PipGridToggleDirective, PipPlayerComponent, PipSlotPlaceholderComponent, PipStageDirective, PipTitleBarDirective, PipTitleBarTemplateDirective, PipWindowComponent, PipWindowParamsDirective, ProgressBarComponent, RICH_TEXT_EDITOR_IMPORTS, RadioComponent, RadioGroupComponent, RichTextEditorComponent, RichTextEditorDirective, RichTextEditorFloatingToolbarComponent, SCROLLABLE_IMPORTS, SELECTION_LIST_MULTIPLE, SELECTION_LIST_TOKEN, SIDEBAR_OVERLAY_CONFIG, SIDEBAR_OVERLAY_TOKEN, SNAP_HYSTERESIS, SOOP_PLAYER_TOKEN, STREAM_CONSENT_TOKEN, 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_USER_CONSENT_PROVIDER_TOKEN, STRIKETHROUGH_ICON, SWITCH_IMPORTS, ScrollableActiveChildDirective, ScrollableButtonsDirective, ScrollableComponent, ScrollableDarkenDirective, ScrollableDirective, ScrollableDragDirective, ScrollableErrorCode, ScrollableIgnoreChildDirective, ScrollableLoadingTemplateDirective, ScrollableMasksDirective, ScrollableNavigationDirective, ScrollableSnapDirective, SegmentedButtonComponent, SegmentedButtonGroupComponent, SelectionListControlDirective, SelectionListDirective, SelectionOptionDirective, SoopPlayerComponent, SoopPlayerDirective, SoopPlayerParamsDirective, SoopPlayerSlotComponent, SpinnerComponent, StreamConsentAcceptDirective, StreamConsentComponent, StreamConsentDirective, StreamImports, StreamPipChromeComponent, StreamPlayerErrorComponent, StreamPlayerErrorDirective, StreamPlayerLoadingComponent, StreamPlayerSlotDirective, SwitchComponent, SwitchDirective, TAB_BAR_FITS, TAB_BAR_ORIENTATIONS, TAB_BAR_TOKEN, TAB_BAR_TRIGGER_TOKEN, TAB_BAR_VARIANTS, TAB_ERROR_CODES, TAB_GROUP_TOKEN, TAB_PANEL_TOKEN, TAB_SIZES, TIKTOK_PLAYER_TOKEN, TIMES_ICON, TOGGLETIP_ERROR_CODES, TOGGLETIP_IMPORTS, TOOLTIP_ERROR_CODES, TOOLTIP_IMPORTS, TRIANGLE_EXCLAMATION_ICON, TWITCH_PLAYER_TOKEN, TabBarDirective, TabBarTriggerDirective, TabBarUnderlineDirective, TabComponent, TabGroupComponent, TabGroupDirective, TabImports, TabLabelDirective, TabPanelDirective, TabTriggerDirective, TextButtonComponent, TikTokPlayerComponent, TikTokPlayerDirective, TikTokPlayerParamsDirective, TikTokPlayerSlotComponent, ToggletipCloseDirective, ToggletipComponent, ToggletipDirective, ToggletipTriggerDirective, TooltipComponent, TooltipDirective, TwitchPlayerComponent, TwitchPlayerDirective, TwitchPlayerParamsDirective, TwitchPlayerSlotComponent, 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, buildAnchoredRuntimePositionStrategy, centeredOverlayStrategy, clampPosition, clampResizeRect, cleanupFullscreenAnimation, cleanupFullscreenAnimationStyles, compactLayout, computeGeometry, computeGridHeight, createAutoScroller, createGridAdapter, createNotificationRef, createOverlayHandler, createOverlayHandlerWithQueryParamLifecycle, createOverlayRef, createOverlayStrategyController, createPipChromeAnimations, createPipChromeState, createStreamConfig, createStreamPlayerSlot, deserializeGridLayout, dialogOverlayStrategy, enableDragToDismiss, findCollision, findNextRelevantHtmlElement, findScrollableAncestor, fromGridPosition, fullScreenDialogOverlayStrategy, getClosestOverlay, getOriginCoordinatesAndDimensions, hysteresisRound, iconRegistryKey, injectAnchoredDialogStrategy, injectAnchoredDialogStrategyDefaults, injectBottomSheetStrategy, injectBottomSheetStrategyDefaults, injectDialogStrategy, injectDialogStrategyDefaults, injectFormSupport, injectFullscreenDialogStrategy, injectFullscreenDialogStrategyDefaults, injectGridConfig, injectLeftSheetStrategy, injectLeftSheetStrategyDefaults, injectNotificationManager, injectNotificationManagerConfig, injectOverlayManager, injectOverlayRouter, injectOverlayScrollBlocker, injectPipChromeManager, injectPipManager, injectPipSlotPlaceholderConfig, injectRightSheetStrategy, injectRightSheetStrategyDefaults, injectSidebarOverlay, injectStreamConfig, injectStreamConsentConfig, injectStreamManager, injectStreamPlayerErrorConfig, injectStreamPlayerLoadingConfig, injectStreamScriptLoader, injectStreamUserConsentProvider, injectTopSheetStrategy, injectTopSheetStrategyDefaults, isHtmlElement, isPointerEvent, isTouchEvent, itemsCollide, leftSheetOverlayStrategy, mapLayoutToBreakpoint, mergeOverlayBreakpointConfigs, pixelRectsEqual, positionToPixelRect, positionsEqual, projectDragCell, provideAnchoredDialogStrategy, provideAnchoredDialogStrategyDefaults, provideBottomSheetStrategy, provideBottomSheetStrategyDefaults, provideDialogStrategy, provideDialogStrategyDefaults, provideFormSupport, provideFullscreenDialogStrategy, provideFullscreenDialogStrategyDefaults, provideGridConfig, provideIcons, provideLeftSheetStrategy, provideLeftSheetStrategyDefaults, provideNotificationManager, provideNotificationManagerConfig, provideNotificationManagerInstance, provideOverlay, provideOverlayManager, provideOverlayRouter, provideOverlayRouterConfig, provideOverlayRouterService, provideOverlayScrollBlocker, providePipChromeManager, providePipManager, providePipSlotPlaceholderConfig, provideRightSheetStrategy, provideRightSheetStrategyDefaults, provideSidebarOverlay, provideSidebarOverlayConfig, provideSidebarOverlayService, provideStreamConfig, provideStreamConsentConfig, provideStreamManager, provideStreamPlayerErrorConfig, provideStreamPlayerLoadingConfig, provideTopSheetStrategy, provideTopSheetStrategyDefaults, resizeSpanBounds, resolveBreakpoint, resolveClosestOverlay, resolveCollisions, rightSheetOverlayStrategy, rowsToPixelHeight, serializeGridLayout, snapResizeSpan, spanHeight, spanWidth, startFullscreenEnterAnimation, startFullscreenLeaveAnimation, toGridPosition, topSheetOverlayStrategy, transformingBottomSheetToDialogOverlayStrategy, transformingFullScreenDialogToDialogOverlayStrategy, transformingFullScreenDialogToRightSheetOverlayStrategy };
5593
+ export type { AnchoredDialogOverlayStrategyOptions, AnchoredOverlayStrategyOptions, AnchoredPositionOptions, AutoPlaceOptions, AutoScrollPointer, AutoScroller, ButtonIconAlignment, ButtonSize, CenteredOverlayStrategyOptions, ClampPositionOptions, CompactLayoutOptions, CreateOverlayHandlerConfig, CreateOverlayHandlerInnerConfig, CreateOverlayHandlerWithQueryParamLifecycleConfig, DragToDismissContext, DragToDismissRef, EthleteIconNameRegistry, EthleteIconVariantRegistry, FacebookVideoPlayer, FacebookWindow, FindCollisionOptions, FormFieldAppearance, FormFieldControl, FormFieldControlType, FormFieldDirectiveBase, FormFieldFill, FormFieldLabelMode, FormFieldSize, FullscreenAnimationCancellable, FullscreenAnimationDeps, FullscreenAnimationState, GridAdapter, GridBreakpointConfig, GridBreakpointName, GridComponentRegistration, GridConfig, GridGeometry, GridItemActionsComponent, GridItemConfig, GridItemConstraints, GridItemPosition, GridLayoutEntry, GridSerializedState, HintComponentBase, IconDefinition, InputTextAlignment, LabelDirectiveBase, MapLayoutOptions, MenuAnchorPoint, MenuCloseReason, MenuItemActivationEvent, MenuItemActivationSource, MenuItemVariant, MenuOpenSource, MenuSelectionGroupDirectiveBase, MenuSelectionGroupItem, MenuSelectionItemKind, MenuSurfaceContext, NotificationAction, NotificationConfig, NotificationEntry, NotificationManager, NotificationManagerConfig, NotificationRef, NotificationStackContext, NotificationStatus, OverlayAutoFocusTarget, OverlayBodyDividerType, OverlayBreakpointConfig, OverlayConfig, OverlayConsumerConfig, OverlayDragToDismissConfig, OverlayHandler, OverlayHandlerWithQueryParamLifecycle, OverlayManager, OverlayMode, OverlayRef, OverlayRole, OverlayRoute, OverlayRouter, OverlayRouterConfig, OverlayRouterNavigateConfig, OverlayRouterNavigationDirection, OverlayRouterResolvedPath, OverlayRouterTransitionType, OverlayStrategy, OverlayStrategyBreakpoint, OverlayStrategyContext, OverlayStrategyController, OverlayStrategyControllerMountConfig, OverlaySurfaceContext, PipCellData, PipChromeAnimations, PipChromeRef, PipChromeState, PipManager, PipSlotPlaceholderConfig, PixelRect, RegisteredIconName, RegisteredIconVariant, ResizeSpanBounds, ResolveClosestOverlayOptions, ResolveCollisionsOptions, RowFloors, ScrollableActiveChildRef, ScrollableButtonPosition, ScrollableDirection, ScrollableIntersectionChange, ScrollableItemSize, ScrollableLoadingTemplatePosition, ScrollableLoadingTemplateRef, ScrollableMaskVariant, ScrollableNavigation, ScrollableNavigationItem, ScrollableScrollMode, ScrollableScrollOrigin, ScrollableScrollState, SelectionListDirectiveBase, SelectionListItem, SerializeOptions, SidebarOverlay, SidebarOverlayConfig, StreamConfig, StreamConsentConfig, StreamManager, StreamPipEntry, StreamPipWindowConfig, StreamPlayer, StreamPlayerCapabilities, StreamPlayerEntry, StreamPlayerErrorConfig, StreamPlayerErrorContext, StreamPlayerId, StreamPlayerLoadingConfig, StreamPlayerParams, StreamPlayerSlotHandle, StreamPlayerSlotOptions, StreamPlayerState, StreamScriptLoader, StreamSlotEntry, TabBarFit, TabBarOrientation, TabBarVariant, TabSize, ToggletipContent, TooltipContent, TwitchEmbed, TwitchEmbedConstructor, TwitchEmbedPlayer, TwitchPlayerParams, TwitchWindow, ViewportTransformData, VimeoDurationChangeEvent, VimeoPlaybackEvent, VimeoPlayer, VimeoPlayerOptions, VimeoWindow, WindowControlButtonKind, WindowControlButtonSize, YtPlayer, YtPlayerConfig, YtPlayerErrorEvent, YtPlayerEvent, YtPlayerStateChangeEvent, YtPlayerVars, YtWindow };