@angular/material 20.1.0-next.0 → 20.1.0-next.2

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.
Files changed (243) hide show
  1. package/_index.scss +1 -2
  2. package/autocomplete/_autocomplete-theme.scss +28 -37
  3. package/autocomplete/_m2-autocomplete.scss +5 -2
  4. package/badge/_badge-theme.scss +35 -44
  5. package/badge/_m2-badge.scss +3 -2
  6. package/bottom-sheet/_bottom-sheet-theme.scss +28 -40
  7. package/bottom-sheet/_m2-bottom-sheet.scss +12 -11
  8. package/button/_button-theme.scss +37 -55
  9. package/button/_fab-theme.scss +42 -56
  10. package/button/_icon-button-theme.scss +30 -48
  11. package/button/_m2-button.scss +60 -59
  12. package/button/_m2-fab.scss +19 -15
  13. package/button/_m2-icon-button.scss +7 -5
  14. package/button/testing/index.d.ts +1 -0
  15. package/button-toggle/_button-toggle-theme.scss +29 -44
  16. package/button-toggle/_m2-button-toggle.scss +11 -17
  17. package/card/_card-theme.scss +28 -36
  18. package/card/_m2-card.scss +12 -14
  19. package/checkbox/_checkbox-theme.scss +35 -50
  20. package/checkbox/_m2-checkbox.scss +8 -8
  21. package/chips/_chips-theme.scss +24 -30
  22. package/chips/_m2-chip.scss +12 -28
  23. package/core/_core-theme.scss +48 -67
  24. package/core/focus-indicators/_private.scss +2 -5
  25. package/core/m2/_theming.scss +68 -113
  26. package/core/option/_m2-optgroup.scss +10 -7
  27. package/core/option/_m2-option.scss +13 -11
  28. package/core/option/_optgroup-theme.scss +28 -30
  29. package/core/option/_option-theme.scss +35 -34
  30. package/core/ripple/_m2-ripple.scss +6 -10
  31. package/core/ripple/_ripple-theme.scss +28 -33
  32. package/core/selection/pseudo-checkbox/_m2-pseudo-checkbox.scss +2 -3
  33. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +55 -45
  34. package/core/theming/_all-theme.scss +38 -42
  35. package/core/theming/_definition.scss +20 -13
  36. package/core/theming/_inspection.scss +0 -12
  37. package/core/theming/_m2-inspection.scss +0 -33
  38. package/core/theming/_theming.scss +4 -172
  39. package/core/tokens/_m2-utils.scss +5 -75
  40. package/core/tokens/_m3-system.scss +11 -9
  41. package/core/tokens/_m3-utils.scss +2 -14
  42. package/core/tokens/_token-utils.scss +7 -27
  43. package/core/tokens/m2/_index.scss +6 -0
  44. package/core/tokens/m2/_md-sys-color.scss +123 -0
  45. package/core/tokens/m2/_md-sys-elevation.scss +16 -0
  46. package/core/tokens/m2/_md-sys-motion.scss +36 -0
  47. package/core/tokens/m2/_md-sys-shape.scss +22 -0
  48. package/core/tokens/m2/_md-sys-state.scss +15 -0
  49. package/core/tokens/m2/_md-sys-typescale.scss +68 -0
  50. package/core/tokens/m3/_md-sys-color.scss +2 -2
  51. package/core/tokens/m3/_md-sys-typescale.scss +1 -1
  52. package/core/tokens/m3/_theme.scss +14 -26
  53. package/datepicker/_datepicker-theme.scss +47 -87
  54. package/datepicker/_m2-datepicker.scss +33 -123
  55. package/datepicker/index.d.ts +1 -1
  56. package/dialog/_dialog-theme.scss +28 -34
  57. package/dialog/_m2-dialog.scss +17 -17
  58. package/divider/_divider-theme.scss +28 -30
  59. package/divider/_m2-divider.scss +4 -2
  60. package/expansion/_expansion-theme.scss +28 -39
  61. package/expansion/_m2-expansion.scss +11 -10
  62. package/expansion/_m3-expansion.scss +2 -0
  63. package/fesm2022/animation-DfMFjxHu.mjs.map +1 -1
  64. package/fesm2022/autocomplete/testing.mjs.map +1 -1
  65. package/fesm2022/autocomplete.mjs +1 -1
  66. package/fesm2022/autocomplete.mjs.map +1 -1
  67. package/fesm2022/badge/testing.mjs.map +1 -1
  68. package/fesm2022/badge.mjs.map +1 -1
  69. package/fesm2022/bottom-sheet/testing.mjs.map +1 -1
  70. package/fesm2022/bottom-sheet.mjs.map +1 -1
  71. package/fesm2022/button/testing.mjs +7 -4
  72. package/fesm2022/button/testing.mjs.map +1 -1
  73. package/fesm2022/button-toggle/testing.mjs.map +1 -1
  74. package/fesm2022/button-toggle.mjs.map +1 -1
  75. package/fesm2022/button.mjs +2 -2
  76. package/fesm2022/button.mjs.map +1 -1
  77. package/fesm2022/card/testing.mjs.map +1 -1
  78. package/fesm2022/card.mjs.map +1 -1
  79. package/fesm2022/checkbox/testing.mjs.map +1 -1
  80. package/fesm2022/checkbox.mjs.map +1 -1
  81. package/fesm2022/chips/testing.mjs.map +1 -1
  82. package/fesm2022/chips.mjs +1 -1
  83. package/fesm2022/chips.mjs.map +1 -1
  84. package/fesm2022/common-module-cKSwHniA.mjs.map +1 -1
  85. package/fesm2022/core/testing.mjs.map +1 -1
  86. package/fesm2022/core.mjs +1 -1
  87. package/fesm2022/core.mjs.map +1 -1
  88. package/fesm2022/date-formats-K6TQue-Y.mjs.map +1 -1
  89. package/fesm2022/date-range-input-harness-DEyfkeOs.mjs.map +1 -1
  90. package/fesm2022/datepicker/testing.mjs.map +1 -1
  91. package/fesm2022/datepicker.mjs +1 -1
  92. package/fesm2022/datepicker.mjs.map +1 -1
  93. package/fesm2022/dialog/testing.mjs.map +1 -1
  94. package/fesm2022/dialog.mjs.map +1 -1
  95. package/fesm2022/divider/testing.mjs.map +1 -1
  96. package/fesm2022/divider.mjs.map +1 -1
  97. package/fesm2022/error-options-DCNQlTOA.mjs.map +1 -1
  98. package/fesm2022/error-state-Dtb1IHM-.mjs.map +1 -1
  99. package/fesm2022/expansion/testing.mjs.map +1 -1
  100. package/fesm2022/expansion.mjs +2 -2
  101. package/fesm2022/expansion.mjs.map +1 -1
  102. package/fesm2022/form-field/testing/control.mjs.map +1 -1
  103. package/fesm2022/form-field/testing.mjs.map +1 -1
  104. package/fesm2022/{form-field-C9DZXojn.mjs → form-field-CFbrnFED.mjs} +3 -3
  105. package/fesm2022/form-field-CFbrnFED.mjs.map +1 -0
  106. package/fesm2022/form-field.mjs +2 -2
  107. package/fesm2022/form-field.mjs.map +1 -1
  108. package/fesm2022/grid-list/testing.mjs.map +1 -1
  109. package/fesm2022/grid-list.mjs.map +1 -1
  110. package/fesm2022/icon/testing.mjs.map +1 -1
  111. package/fesm2022/icon-button-DxiIc1ex.mjs.map +1 -1
  112. package/fesm2022/icon-registry-CwOTJ7YM.mjs.map +1 -1
  113. package/fesm2022/icon.mjs.map +1 -1
  114. package/fesm2022/index-BFRo2fUq.mjs.map +1 -1
  115. package/fesm2022/index-DwiL-HGk.mjs.map +1 -1
  116. package/fesm2022/input/testing.mjs.map +1 -1
  117. package/fesm2022/input-harness-C5Msdc4-.mjs.map +1 -1
  118. package/fesm2022/input-value-accessor-D1GvPuqO.mjs.map +1 -1
  119. package/fesm2022/input.mjs +3 -27
  120. package/fesm2022/input.mjs.map +1 -1
  121. package/fesm2022/internal-form-field-D5iFxU6d.mjs.map +1 -1
  122. package/fesm2022/line-Bz5f9Cyx.mjs.map +1 -1
  123. package/fesm2022/list/testing.mjs.map +1 -1
  124. package/fesm2022/list.mjs.map +1 -1
  125. package/fesm2022/material.mjs.map +1 -1
  126. package/fesm2022/menu/testing.mjs +97 -13
  127. package/fesm2022/menu/testing.mjs.map +1 -1
  128. package/fesm2022/menu.mjs +343 -122
  129. package/fesm2022/menu.mjs.map +1 -1
  130. package/fesm2022/{module-BDiw_nWS.mjs → module-B0CLRw5e.mjs} +3 -3
  131. package/fesm2022/module-B0CLRw5e.mjs.map +1 -0
  132. package/fesm2022/{module-DzZHEh7B.mjs → module-B62K-792.mjs} +2 -2
  133. package/fesm2022/module-B62K-792.mjs.map +1 -0
  134. package/fesm2022/module-CWxMD37a.mjs.map +1 -1
  135. package/fesm2022/module-Ce6F7TNm.mjs.map +1 -1
  136. package/fesm2022/option-BzhYL_xC.mjs.map +1 -1
  137. package/fesm2022/option-harness-BFcc-M_4.mjs.map +1 -1
  138. package/fesm2022/paginator/testing.mjs.map +1 -1
  139. package/fesm2022/paginator.mjs +3 -3
  140. package/fesm2022/paginator.mjs.map +1 -1
  141. package/fesm2022/progress-bar/testing.mjs.map +1 -1
  142. package/fesm2022/progress-bar.mjs.map +1 -1
  143. package/fesm2022/progress-spinner/testing.mjs.map +1 -1
  144. package/fesm2022/progress-spinner.mjs.map +1 -1
  145. package/fesm2022/pseudo-checkbox-DDmgx3P4.mjs.map +1 -1
  146. package/fesm2022/pseudo-checkbox-module-4F8Up4PL.mjs.map +1 -1
  147. package/fesm2022/public-api-BoO5eSq-.mjs.map +1 -1
  148. package/fesm2022/radio/testing.mjs.map +1 -1
  149. package/fesm2022/radio.mjs.map +1 -1
  150. package/fesm2022/ripple-BYgV4oZC.mjs.map +1 -1
  151. package/fesm2022/ripple-loader-BnMiRtmT.mjs.map +1 -1
  152. package/fesm2022/select/testing.mjs.map +1 -1
  153. package/fesm2022/select.mjs +3 -3
  154. package/fesm2022/select.mjs.map +1 -1
  155. package/fesm2022/sidenav/testing.mjs.map +1 -1
  156. package/fesm2022/sidenav.mjs.map +1 -1
  157. package/fesm2022/slide-toggle/testing.mjs.map +1 -1
  158. package/fesm2022/slide-toggle.mjs +2 -2
  159. package/fesm2022/slide-toggle.mjs.map +1 -1
  160. package/fesm2022/slider/testing.mjs.map +1 -1
  161. package/fesm2022/slider.mjs +2 -2
  162. package/fesm2022/slider.mjs.map +1 -1
  163. package/fesm2022/snack-bar/testing.mjs.map +1 -1
  164. package/fesm2022/snack-bar.mjs +2 -2
  165. package/fesm2022/snack-bar.mjs.map +1 -1
  166. package/fesm2022/sort/testing.mjs.map +1 -1
  167. package/fesm2022/sort.mjs.map +1 -1
  168. package/fesm2022/stepper/testing.mjs.map +1 -1
  169. package/fesm2022/stepper.mjs.map +1 -1
  170. package/fesm2022/structural-styles-CObeNzjn.mjs.map +1 -1
  171. package/fesm2022/table/testing.mjs.map +1 -1
  172. package/fesm2022/table.mjs.map +1 -1
  173. package/fesm2022/tabs/testing.mjs.map +1 -1
  174. package/fesm2022/tabs.mjs.map +1 -1
  175. package/fesm2022/timepicker/testing.mjs.map +1 -1
  176. package/fesm2022/timepicker.mjs +1 -1
  177. package/fesm2022/timepicker.mjs.map +1 -1
  178. package/fesm2022/toolbar/testing.mjs.map +1 -1
  179. package/fesm2022/toolbar.mjs.map +1 -1
  180. package/fesm2022/tooltip/testing.mjs.map +1 -1
  181. package/fesm2022/tooltip.mjs.map +1 -1
  182. package/fesm2022/tree/testing.mjs.map +1 -1
  183. package/fesm2022/tree.mjs.map +1 -1
  184. package/form-field/_form-field-theme.scss +35 -51
  185. package/form-field/_m2-form-field.scss +23 -31
  186. package/grid-list/_grid-list-theme.scss +28 -28
  187. package/grid-list/_m2-grid-list.scss +7 -9
  188. package/icon/_icon-theme.scss +40 -41
  189. package/input/_input-theme.scss +1 -4
  190. package/input/index.d.ts +0 -11
  191. package/list/_list-theme.scss +55 -53
  192. package/list/_m2-list.scss +21 -35
  193. package/menu/_m2-menu.scss +18 -15
  194. package/menu/_menu-theme.scss +28 -33
  195. package/menu/index.d.ts +145 -61
  196. package/menu/testing/index.d.ts +50 -2
  197. package/package.json +2 -2
  198. package/paginator/_m2-paginator.scss +9 -9
  199. package/paginator/_paginator-theme.scss +28 -33
  200. package/prebuilt-themes/azure-blue.css +1 -1
  201. package/prebuilt-themes/cyan-orange.css +1 -1
  202. package/prebuilt-themes/deeppurple-amber.css +1 -1
  203. package/prebuilt-themes/indigo-pink.css +1 -1
  204. package/prebuilt-themes/magenta-violet.css +1 -1
  205. package/prebuilt-themes/pink-bluegrey.css +1 -1
  206. package/prebuilt-themes/purple-green.css +1 -1
  207. package/prebuilt-themes/rose-red.css +1 -1
  208. package/progress-bar/_progress-bar-theme.scss +35 -43
  209. package/progress-spinner/_progress-spinner-theme.scss +42 -43
  210. package/radio/_m2-radio.scss +6 -5
  211. package/radio/_m3-radio.scss +1 -1
  212. package/radio/_radio-theme.scss +33 -46
  213. package/schematics/ng-add/index.js +1 -1
  214. package/select/_m2-select.scss +10 -8
  215. package/select/_select-theme.scss +38 -48
  216. package/sidenav/_sidenav-theme.scss +28 -30
  217. package/slide-toggle/_m2-slide-toggle.scss +45 -58
  218. package/slide-toggle/_m3-slide-toggle.scss +1 -0
  219. package/slide-toggle/_slide-toggle-theme.scss +41 -79
  220. package/slider/_m2-slider.scss +33 -35
  221. package/slider/_slider-theme.scss +38 -45
  222. package/snack-bar/_m2-snack-bar.scss +5 -6
  223. package/snack-bar/_snack-bar-theme.scss +28 -31
  224. package/sort/_m2-sort.scss +5 -2
  225. package/sort/_sort-theme.scss +28 -33
  226. package/stepper/_m2-stepper.scss +10 -13
  227. package/stepper/_stepper-theme.scss +41 -49
  228. package/table/_m2-table.scss +23 -28
  229. package/table/_table-theme.scss +28 -36
  230. package/tabs/_m2-tabs.scss +11 -16
  231. package/tabs/_tabs-theme.scss +35 -43
  232. package/timepicker/_m2-timepicker.scss +5 -2
  233. package/timepicker/_timepicker-theme.scss +28 -46
  234. package/toolbar/_m2-toolbar.scss +10 -9
  235. package/toolbar/_toolbar-theme.scss +55 -46
  236. package/tooltip/_m2-tooltip.scss +5 -6
  237. package/tooltip/_tooltip-theme.scss +28 -37
  238. package/tree/_m2-tree.scss +9 -5
  239. package/tree/_tree-theme.scss +28 -38
  240. package/core/tokens/_format-tokens.scss +0 -5
  241. package/fesm2022/form-field-C9DZXojn.mjs.map +0 -1
  242. package/fesm2022/module-BDiw_nWS.mjs.map +0 -1
  243. package/fesm2022/module-DzZHEh7B.mjs.map +0 -1
package/menu/index.d.ts CHANGED
@@ -1,10 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, OnDestroy, TemplateRef, EventEmitter, AfterViewInit, AfterContentInit, OnInit, QueryList } from '@angular/core';
2
+ import { InjectionToken, OnDestroy, TemplateRef, EventEmitter, AfterViewInit, AfterContentInit, OnInit, QueryList, ElementRef } from '@angular/core';
3
3
  import { FocusOrigin, FocusableOption } from '@angular/cdk/a11y';
4
4
  import { Direction } from '@angular/cdk/bidi';
5
+ import * as rxjs from 'rxjs';
5
6
  import { Subject, Observable } from 'rxjs';
6
7
  import * as i2 from '@angular/cdk/overlay';
7
- import { ScrollStrategy } from '@angular/cdk/overlay';
8
+ import { ScrollStrategy, OverlayRef, FlexibleConnectedPositionStrategyOrigin } from '@angular/cdk/overlay';
8
9
  import { M as MatRippleModule } from '../index.d-C5neTPvr.js';
9
10
  import { M as MatCommonModule } from '../common-module.d-C8xzHJDr.js';
10
11
  import * as i5 from '@angular/cdk/scrolling';
@@ -327,10 +328,11 @@ declare const MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER: {
327
328
  */
328
329
  declare const MENU_PANEL_TOP_PADDING = 8;
329
330
  /** Directive applied to an element that should trigger a `mat-menu`. */
330
- declare class MatMenuTrigger implements AfterContentInit, OnDestroy {
331
- private _element;
331
+ declare abstract class MatMenuTriggerBase implements OnDestroy {
332
+ private readonly _canHaveBackdrop;
333
+ protected _element: ElementRef<HTMLElement>;
332
334
  private _viewContainerRef;
333
- private _menuItemInstance;
335
+ protected _menuItemInstance: MatMenuItem;
334
336
  private _dir;
335
337
  private _focusMonitor;
336
338
  private _ngZone;
@@ -338,25 +340,97 @@ declare class MatMenuTrigger implements AfterContentInit, OnDestroy {
338
340
  private _scrollStrategy;
339
341
  private _changeDetectorRef;
340
342
  private _animationsDisabled;
341
- private _cleanupTouchstart;
342
343
  private _portal;
343
- private _overlayRef;
344
+ protected _overlayRef: OverlayRef | null;
344
345
  private _menuOpen;
345
346
  private _closingActionsSubscription;
346
- private _hoverSubscription;
347
347
  private _menuCloseSubscription;
348
348
  private _pendingRemoval;
349
349
  /**
350
350
  * We're specifically looking for a `MatMenu` here since the generic `MatMenuPanel`
351
351
  * interface lacks some functionality around nested menus and animations.
352
352
  */
353
- private _parentMaterialMenu;
353
+ protected _parentMaterialMenu: MatMenu | undefined;
354
354
  /**
355
355
  * Cached value of the padding of the parent menu panel.
356
356
  * Used to offset sub-menus to compensate for the padding.
357
357
  */
358
358
  private _parentInnerPadding;
359
- _openedBy: Exclude<FocusOrigin, 'program' | null> | undefined;
359
+ protected _openedBy: Exclude<FocusOrigin, 'program' | null> | undefined;
360
+ /** Data that will be passed to the menu panel. */
361
+ abstract menuData: any;
362
+ /** Whether focus should be restored when the menu is closed. */
363
+ abstract restoreFocus: boolean;
364
+ /** Menu currently assigned to the trigger. */
365
+ protected get _menu(): MatMenuPanel | null;
366
+ protected set _menu(menu: MatMenuPanel | null);
367
+ private _menuInternal;
368
+ /** Event emitted when the associated menu is opened. */
369
+ abstract menuOpened: EventEmitter<void>;
370
+ /** Event emitted when the associated menu is closed. */
371
+ abstract menuClosed: EventEmitter<void>;
372
+ /** Gets the origin for the overlay. */
373
+ protected abstract _getOverlayOrigin(): FlexibleConnectedPositionStrategyOrigin;
374
+ protected abstract _getOutsideClickStream(overlayRef: OverlayRef): Observable<unknown>;
375
+ constructor(_canHaveBackdrop: boolean);
376
+ ngOnDestroy(): void;
377
+ /** Whether the menu is open. */
378
+ get menuOpen(): boolean;
379
+ /** The text direction of the containing app. */
380
+ get dir(): Direction;
381
+ /** Whether the menu triggers a sub-menu or a top-level one. */
382
+ protected _triggersSubmenu(): boolean;
383
+ protected _closeMenu(): void;
384
+ /** Internal method to open menu providing option to auto focus on first item. */
385
+ protected _openMenu(autoFocus: boolean): void;
386
+ /**
387
+ * Focuses the menu trigger.
388
+ * @param origin Source of the menu trigger's focus.
389
+ */
390
+ focus(origin?: FocusOrigin, options?: FocusOptions): void;
391
+ /** Closes the menu and does the necessary cleanup. */
392
+ protected _destroyMenu(reason: MenuCloseReason): void;
393
+ private _setIsMenuOpen;
394
+ /**
395
+ * This method creates the overlay from the provided menu's template and saves its
396
+ * OverlayRef so that it can be attached to the DOM when openMenu is called.
397
+ */
398
+ private _createOverlay;
399
+ /**
400
+ * This method builds the configuration object needed to create the overlay, the OverlayState.
401
+ * @returns OverlayConfig
402
+ */
403
+ private _getOverlayConfig;
404
+ /**
405
+ * Listens to changes in the position of the overlay and sets the correct classes
406
+ * on the menu based on the new position. This ensures the animation origin is always
407
+ * correct, even if a fallback position is used for the overlay.
408
+ */
409
+ private _subscribeToPositions;
410
+ /**
411
+ * Sets the appropriate positions on a position strategy
412
+ * so the overlay connects with the trigger correctly.
413
+ * @param positionStrategy Strategy whose position to update.
414
+ */
415
+ private _setPosition;
416
+ /** Returns a stream that emits whenever an action that should close the menu occurs. */
417
+ private _menuClosingActions;
418
+ /** Gets the portal that should be attached to the overlay. */
419
+ private _getPortal;
420
+ /**
421
+ * Determines whether the trigger owns a specific menu panel, at the current point in time.
422
+ * This allows us to distinguish the case where the same panel is passed into multiple triggers
423
+ * and multiple are open at a time.
424
+ */
425
+ private _ownsMenu;
426
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatMenuTriggerBase, never>;
427
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatMenuTriggerBase, never, never, {}, {}, never, never, true, never>;
428
+ }
429
+
430
+ /** Directive applied to an element that should trigger a `mat-menu`. */
431
+ declare class MatMenuTrigger extends MatMenuTriggerBase implements AfterContentInit, OnDestroy {
432
+ private _cleanupTouchstart;
433
+ private _hoverSubscription;
360
434
  /**
361
435
  * @deprecated
362
436
  * @breaking-change 8.0.0
@@ -366,7 +440,6 @@ declare class MatMenuTrigger implements AfterContentInit, OnDestroy {
366
440
  /** References the menu instance that the trigger is associated with. */
367
441
  get menu(): MatMenuPanel | null;
368
442
  set menu(menu: MatMenuPanel | null);
369
- private _menu;
370
443
  /** Data to be passed along to any lazily-rendered content. */
371
444
  menuData: any;
372
445
  /**
@@ -392,58 +465,22 @@ declare class MatMenuTrigger implements AfterContentInit, OnDestroy {
392
465
  */
393
466
  readonly onMenuClose: EventEmitter<void>;
394
467
  constructor(...args: unknown[]);
395
- ngAfterContentInit(): void;
396
- ngOnDestroy(): void;
397
- /** Whether the menu is open. */
398
- get menuOpen(): boolean;
399
- /** The text direction of the containing app. */
400
- get dir(): Direction;
401
468
  /** Whether the menu triggers a sub-menu or a top-level one. */
402
469
  triggersSubmenu(): boolean;
403
470
  /** Toggles the menu between the open and closed states. */
404
471
  toggleMenu(): void;
405
472
  /** Opens the menu. */
406
473
  openMenu(): void;
407
- /** Internal method to open menu providing option to auto focus on first item. */
408
- private _openMenu;
409
474
  /** Closes the menu. */
410
475
  closeMenu(): void;
411
- /**
412
- * Focuses the menu trigger.
413
- * @param origin Source of the menu trigger's focus.
414
- */
415
- focus(origin?: FocusOrigin, options?: FocusOptions): void;
416
476
  /**
417
477
  * Updates the position of the menu to ensure that it fits all options within the viewport.
418
478
  */
419
479
  updatePosition(): void;
420
- /** Closes the menu and does the necessary cleanup. */
421
- private _destroyMenu;
422
- private _setIsMenuOpen;
423
- /**
424
- * This method creates the overlay from the provided menu's template and saves its
425
- * OverlayRef so that it can be attached to the DOM when openMenu is called.
426
- */
427
- private _createOverlay;
428
- /**
429
- * This method builds the configuration object needed to create the overlay, the OverlayState.
430
- * @returns OverlayConfig
431
- */
432
- private _getOverlayConfig;
433
- /**
434
- * Listens to changes in the position of the overlay and sets the correct classes
435
- * on the menu based on the new position. This ensures the animation origin is always
436
- * correct, even if a fallback position is used for the overlay.
437
- */
438
- private _subscribeToPositions;
439
- /**
440
- * Sets the appropriate positions on a position strategy
441
- * so the overlay connects with the trigger correctly.
442
- * @param positionStrategy Strategy whose position to update.
443
- */
444
- private _setPosition;
445
- /** Returns a stream that emits whenever an action that should close the menu occurs. */
446
- private _menuClosingActions;
480
+ ngAfterContentInit(): void;
481
+ ngOnDestroy(): void;
482
+ protected _getOverlayOrigin(): i0.ElementRef<HTMLElement>;
483
+ protected _getOutsideClickStream(overlayRef: OverlayRef): rxjs.Observable<MouseEvent>;
447
484
  /** Handles mouse presses on the trigger. */
448
485
  _handleMousedown(event: MouseEvent): void;
449
486
  /** Handles key presses on the trigger. */
@@ -452,21 +489,68 @@ declare class MatMenuTrigger implements AfterContentInit, OnDestroy {
452
489
  _handleClick(event: MouseEvent): void;
453
490
  /** Handles the cases where the user hovers over the trigger. */
454
491
  private _handleHover;
455
- /** Gets the portal that should be attached to the overlay. */
456
- private _getPortal;
457
- /**
458
- * Determines whether the trigger owns a specific menu panel, at the current point in time.
459
- * This allows us to distinguish the case where the same panel is passed into multiple triggers
460
- * and multiple are open at a time.
461
- */
462
- private _ownsMenu;
463
492
  static ɵfac: i0.ɵɵFactoryDeclaration<MatMenuTrigger, never>;
464
493
  static ɵdir: i0.ɵɵDirectiveDeclaration<MatMenuTrigger, "[mat-menu-trigger-for], [matMenuTriggerFor]", ["matMenuTrigger"], { "_deprecatedMatMenuTriggerFor": { "alias": "mat-menu-trigger-for"; "required": false; }; "menu": { "alias": "matMenuTriggerFor"; "required": false; }; "menuData": { "alias": "matMenuTriggerData"; "required": false; }; "restoreFocus": { "alias": "matMenuTriggerRestoreFocus"; "required": false; }; }, { "menuOpened": "menuOpened"; "onMenuOpen": "onMenuOpen"; "menuClosed": "menuClosed"; "onMenuClose": "onMenuClose"; }, never, never, true, never>;
465
494
  }
466
495
 
496
+ /**
497
+ * Trigger that opens a menu whenever the user right-clicks within its host element.
498
+ */
499
+ declare class MatContextMenuTrigger extends MatMenuTriggerBase implements OnDestroy {
500
+ private _point;
501
+ private _triggerPressedControl;
502
+ private _rootNode;
503
+ private _document;
504
+ private _viewportRuler;
505
+ private _scrollDispatcher;
506
+ private _scrollSubscription;
507
+ /** References the menu instance that the trigger is associated with. */
508
+ get menu(): MatMenuPanel | null;
509
+ set menu(menu: MatMenuPanel | null);
510
+ /** Data to be passed along to any lazily-rendered content. */
511
+ menuData: any;
512
+ /**
513
+ * Whether focus should be restored when the menu is closed.
514
+ * Note that disabling this option can have accessibility implications
515
+ * and it's up to you to manage focus, if you decide to turn it off.
516
+ */
517
+ restoreFocus: boolean;
518
+ /** Whether the context menu is disabled. */
519
+ disabled: boolean;
520
+ /** Event emitted when the associated menu is opened. */
521
+ readonly menuOpened: EventEmitter<void>;
522
+ /** Event emitted when the associated menu is closed. */
523
+ readonly menuClosed: EventEmitter<void>;
524
+ constructor();
525
+ ngOnDestroy(): void;
526
+ /** Handler for `contextmenu` events. */
527
+ protected _handleContextMenuEvent(event: MouseEvent): void;
528
+ protected _destroyMenu(reason: MenuCloseReason): void;
529
+ protected _getOverlayOrigin(): {
530
+ x: number;
531
+ y: number;
532
+ initialX: number;
533
+ initialY: number;
534
+ initialScrollX: number;
535
+ initialScrollY: number;
536
+ };
537
+ protected _getOutsideClickStream(overlayRef: OverlayRef): rxjs.Observable<MouseEvent>;
538
+ /** Checks whether an element is within the trigger or the opened overlay. */
539
+ private _isWithinMenuOrTrigger;
540
+ /** Opens the context menu. */
541
+ private _openContextMenu;
542
+ /** Initializes the point representing the origin relative to which the menu will be rendered. */
543
+ private _initializePoint;
544
+ /** Refreshes the position of the overlay. */
545
+ private _updatePosition;
546
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatContextMenuTrigger, never>;
547
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatContextMenuTrigger, "[matContextMenuTriggerFor]", ["matContextMenuTrigger"], { "menu": { "alias": "matContextMenuTriggerFor"; "required": true; }; "menuData": { "alias": "matContextMenuTriggerData"; "required": false; }; "restoreFocus": { "alias": "matContextMenuTriggerRestoreFocus"; "required": false; }; "disabled": { "alias": "matContextMenuTriggerDisabled"; "required": false; }; }, { "menuOpened": "menuOpened"; "menuClosed": "menuClosed"; }, never, never, true, never>;
548
+ static ngAcceptInputType_disabled: unknown;
549
+ }
550
+
467
551
  declare class MatMenuModule {
468
552
  static ɵfac: i0.ɵɵFactoryDeclaration<MatMenuModule, never>;
469
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatMenuModule, never, [typeof MatRippleModule, typeof MatCommonModule, typeof i2.OverlayModule, typeof MatMenu, typeof MatMenuItem, typeof MatMenuContent, typeof MatMenuTrigger], [typeof i5.CdkScrollableModule, typeof MatMenu, typeof MatCommonModule, typeof MatMenuItem, typeof MatMenuContent, typeof MatMenuTrigger]>;
553
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatMenuModule, never, [typeof MatRippleModule, typeof MatCommonModule, typeof i2.OverlayModule, typeof MatMenu, typeof MatMenuItem, typeof MatMenuContent, typeof MatMenuTrigger, typeof MatContextMenuTrigger], [typeof i5.CdkScrollableModule, typeof MatMenu, typeof MatCommonModule, typeof MatMenuItem, typeof MatMenuContent, typeof MatMenuTrigger, typeof MatContextMenuTrigger]>;
470
554
  static ɵinj: i0.ɵɵInjectorDeclaration<MatMenuModule>;
471
555
  }
472
556
 
@@ -495,5 +579,5 @@ declare const fadeInItems: any;
495
579
  */
496
580
  declare const transformMenu: any;
497
581
 
498
- export { MAT_MENU_CONTENT, MAT_MENU_DEFAULT_OPTIONS, MAT_MENU_PANEL, MAT_MENU_SCROLL_STRATEGY, MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER, MENU_PANEL_TOP_PADDING, MatMenu, MatMenuContent, MatMenuItem, MatMenuModule, MatMenuTrigger, fadeInItems, matMenuAnimations, transformMenu };
582
+ export { MAT_MENU_CONTENT, MAT_MENU_DEFAULT_OPTIONS, MAT_MENU_PANEL, MAT_MENU_SCROLL_STRATEGY, MAT_MENU_SCROLL_STRATEGY_FACTORY_PROVIDER, MENU_PANEL_TOP_PADDING, MatContextMenuTrigger, MatMenu, MatMenuContent, MatMenuItem, MatMenuModule, MatMenuTrigger, fadeInItems, matMenuAnimations, transformMenu };
499
583
  export type { MatMenuDefaultOptions, MatMenuPanel, MenuCloseReason, MenuPositionX, MenuPositionY };
@@ -12,6 +12,9 @@ interface MenuItemHarnessFilters extends BaseHarnessFilters {
12
12
  /** Only find instances that have a sub-menu. */
13
13
  hasSubmenu?: boolean;
14
14
  }
15
+ /** A set of criteria that can be used to filter a list of `MatContextMenuHarness` instances. */
16
+ interface ContextMenuHarnessFilters extends BaseHarnessFilters {
17
+ }
15
18
 
16
19
  /** Harness for interacting with a mat-menu in tests. */
17
20
  declare class MatMenuHarness extends ContentContainerComponentHarness<string> {
@@ -87,5 +90,50 @@ declare class MatMenuItemHarness extends ContentContainerComponentHarness<string
87
90
  getSubmenu(): Promise<MatMenuHarness | null>;
88
91
  }
89
92
 
90
- export { MatMenuHarness, MatMenuItemHarness };
91
- export type { MenuHarnessFilters, MenuItemHarnessFilters };
93
+ /** Harness for interacting with context menus in tests. */
94
+ declare class MatContextMenuHarness extends ContentContainerComponentHarness<string> {
95
+ private _documentRootLocator;
96
+ /** The selector for the host element of a `MatContextMenu` instance. */
97
+ static hostSelector: string;
98
+ /**
99
+ * Gets a `HarnessPredicate` that can be used to search for a context menu with specific
100
+ * attributes.
101
+ * @param options Options for filtering which menu instances are considered a match.
102
+ * @return a `HarnessPredicate` configured with the given options.
103
+ */
104
+ static with<T extends MatContextMenuHarness>(this: ComponentHarnessConstructor<T>, options?: ContextMenuHarnessFilters): HarnessPredicate<T>;
105
+ /** Whether the menu is open. */
106
+ isOpen(): Promise<boolean>;
107
+ /**
108
+ * Opens the menu.
109
+ * @param relativeX X coordinate, relative to the element, to dispatch the opening click at.
110
+ * @param relativeY Y coordinate, relative to the element, to dispatch the opening click at.
111
+ */
112
+ open(relativeX?: number, relativeY?: number): Promise<void>;
113
+ /** Closes the menu. */
114
+ close(): Promise<void>;
115
+ /** Gets whether the context menu trigger is disabled. */
116
+ isDisabled(): Promise<boolean>;
117
+ /**
118
+ * Gets a list of `MatMenuItemHarness` representing the items in the menu.
119
+ * @param filters Optionally filters which menu items are included.
120
+ */
121
+ getItems(filters?: Omit<MenuItemHarnessFilters, 'ancestor'>): Promise<MatMenuItemHarness[]>;
122
+ /**
123
+ * Clicks an item in the menu, and optionally continues clicking items in subsequent sub-menus.
124
+ * @param itemFilter A filter used to represent which item in the menu should be clicked. The
125
+ * first matching menu item will be clicked.
126
+ * @param subItemFilters A list of filters representing the items to click in any subsequent
127
+ * sub-menus. The first item in the sub-menu matching the corresponding filter in
128
+ * `subItemFilters` will be clicked.
129
+ */
130
+ clickItem(itemFilter: Omit<MenuItemHarnessFilters, 'ancestor'>, ...subItemFilters: Omit<MenuItemHarnessFilters, 'ancestor'>[]): Promise<void>;
131
+ protected getRootHarnessLoader(): Promise<HarnessLoader>;
132
+ /** Gets the menu panel associated with this menu. */
133
+ private _getMenuPanel;
134
+ /** Gets the id of the menu panel associated with this menu. */
135
+ private _getPanelId;
136
+ }
137
+
138
+ export { MatContextMenuHarness, MatMenuHarness, MatMenuItemHarness };
139
+ export type { ContextMenuHarnessFilters, MenuHarnessFilters, MenuItemHarnessFilters };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@angular/material",
3
- "version": "20.1.0-next.0",
3
+ "version": "20.1.0-next.2",
4
4
  "description": "Angular Material",
5
5
  "repository": {
6
6
  "type": "git",
@@ -353,7 +353,7 @@
353
353
  }
354
354
  },
355
355
  "peerDependencies": {
356
- "@angular/cdk": "20.1.0-next.0",
356
+ "@angular/cdk": "20.1.0-next.2",
357
357
  "@angular/core": "^20.0.0-0 || ^20.1.0-0 || ^20.2.0-0 || ^20.3.0-0 || ^21.0.0-0",
358
358
  "@angular/common": "^20.0.0-0 || ^20.1.0-0 || ^20.2.0-0 || ^20.3.0-0 || ^21.0.0-0",
359
359
  "@angular/forms": "^20.0.0-0 || ^20.1.0-0 || ^20.2.0-0 || ^20.3.0-0 || ^21.0.0-0",
@@ -3,6 +3,7 @@
3
3
  @use '../core/theming/theming';
4
4
  @use '../core/theming/inspection';
5
5
  @use '../core/tokens/m2-utils';
6
+ @use '../core/tokens/m3-utils';
6
7
 
7
8
  // Tokens that can't be configured through Angular Material's current theming API,
8
9
  // but may be in a future version of the theming API.
@@ -18,21 +19,20 @@
18
19
  paginator-container-text-color: map.get($system, on-surface),
19
20
  paginator-container-background-color: map.get($system, surface),
20
21
  paginator-enabled-icon-color: map.get($system, on-surface-variant),
21
- paginator-disabled-icon-color: inspection.get-theme-color($theme, foreground, base, 0.12),
22
+ paginator-disabled-icon-color: m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
22
23
  );
23
24
  }
24
25
 
25
26
  // Tokens that can be configured through Angular Material's typography theming API.
26
27
  @function get-typography-tokens($theme) {
28
+ $system: m2-utils.get-system($theme);
27
29
  @return (
28
- paginator-container-text-font: inspection.get-theme-typography($theme, caption, font-family),
29
- paginator-container-text-line-height:
30
- inspection.get-theme-typography($theme, caption, line-height),
31
- paginator-container-text-size: inspection.get-theme-typography($theme, caption, font-size),
32
- paginator-container-text-tracking:
33
- inspection.get-theme-typography($theme, caption, letter-spacing),
34
- paginator-container-text-weight: inspection.get-theme-typography($theme, caption, font-weight),
35
- paginator-select-trigger-text-size: inspection.get-theme-typography($theme, caption, font-size),
30
+ paginator-container-text-font: map.get($system, body-small-font),
31
+ paginator-container-text-line-height: map.get($system, body-small-line-height),
32
+ paginator-container-text-size: map.get($system, body-small-size),
33
+ paginator-container-text-tracking: map.get($system, body-small-tracking),
34
+ paginator-container-text-weight: map.get($system, body-small-weight),
35
+ paginator-select-trigger-text-size: map.get($system, body-small-size),
36
36
  );
37
37
  }
38
38
 
@@ -1,47 +1,44 @@
1
1
  @use 'sass:map';
2
2
  @use './m2-paginator';
3
3
  @use './m3-paginator';
4
- @use '../core/style/sass-utils';
5
4
  @use '../core/typography/typography';
6
- @use '../core/theming/theming';
7
5
  @use '../core/theming/inspection';
8
6
  @use '../core/tokens/token-utils';
9
7
 
10
8
  @mixin base($theme) {
9
+ $tokens: m2-paginator.get-unthemable-tokens();
11
10
  @if inspection.get-theme-version($theme) == 1 {
12
- @include token-utils.create-token-values(map.get(m3-paginator.get-tokens($theme), base));
13
- } @else {
11
+ $tokens: map.get(m3-paginator.get-tokens($theme), base);
14
12
  }
13
+
14
+ @include token-utils.values($tokens);
15
15
  }
16
16
 
17
17
  @mixin color($theme) {
18
+ $tokens: m2-paginator.get-color-tokens($theme);
18
19
  @if inspection.get-theme-version($theme) == 1 {
19
- @include token-utils.create-token-values(map.get(m3-paginator.get-tokens($theme), color));
20
- } @else {
21
- @include sass-utils.current-selector-or-root() {
22
- @include token-utils.create-token-values-mixed(m2-paginator.get-color-tokens($theme));
23
- }
20
+ $tokens: map.get(m3-paginator.get-tokens($theme), color);
24
21
  }
22
+
23
+ @include token-utils.values($tokens);
25
24
  }
26
25
 
27
26
  @mixin typography($theme) {
27
+ $tokens: m2-paginator.get-typography-tokens($theme);
28
28
  @if inspection.get-theme-version($theme) == 1 {
29
- @include token-utils.create-token-values(map.get(m3-paginator.get-tokens($theme), typography));
30
- } @else {
31
- @include sass-utils.current-selector-or-root() {
32
- @include token-utils.create-token-values-mixed(m2-paginator.get-typography-tokens($theme));
33
- }
29
+ $tokens: map.get(m3-paginator.get-tokens($theme), typography);
34
30
  }
31
+
32
+ @include token-utils.values($tokens);
35
33
  }
36
34
 
37
35
  @mixin density($theme) {
36
+ $tokens: m2-paginator.get-density-tokens($theme);
38
37
  @if inspection.get-theme-version($theme) == 1 {
39
- @include token-utils.create-token-values(map.get(m3-paginator.get-tokens($theme), density));
40
- } @else {
41
- @include sass-utils.current-selector-or-root() {
42
- @include token-utils.create-token-values-mixed(m2-paginator.get-density-tokens($theme));
43
- }
38
+ $tokens: map.get(m3-paginator.get-tokens($theme), density);
44
39
  }
40
+
41
+ @include token-utils.values($tokens);
45
42
  }
46
43
 
47
44
  /// Defines the tokens that will be available in the `overrides` mixin and for docs extraction.
@@ -59,23 +56,21 @@
59
56
  }
60
57
 
61
58
  @mixin theme($theme) {
62
- @include theming.private-check-duplicate-theme-styles($theme, 'mat-paginator') {
63
- @if inspection.get-theme-version($theme) == 1 {
64
- @include base($theme);
59
+ @if inspection.get-theme-version($theme) == 1 {
60
+ @include base($theme);
61
+ @include color($theme);
62
+ @include density($theme);
63
+ @include typography($theme);
64
+ } @else {
65
+ @include base($theme);
66
+ @if inspection.theme-has($theme, color) {
65
67
  @include color($theme);
68
+ }
69
+ @if inspection.theme-has($theme, density) {
66
70
  @include density($theme);
71
+ }
72
+ @if inspection.theme-has($theme, typography) {
67
73
  @include typography($theme);
68
- } @else {
69
- @include base($theme);
70
- @if inspection.theme-has($theme, color) {
71
- @include color($theme);
72
- }
73
- @if inspection.theme-has($theme, density) {
74
- @include density($theme);
75
- }
76
- @if inspection.theme-has($theme, typography) {
77
- @include typography($theme);
78
- }
79
74
  }
80
75
  }
81
76
  }
@@ -1 +1 @@
1
- html{--mat-sys-background: #faf9fd;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f2f0f4;--mat-sys-inverse-primary: #abc7ff;--mat-sys-inverse-surface: #2f3033;--mat-sys-on-background: #1a1b1f;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #00458f;--mat-sys-on-primary-fixed: #001b3f;--mat-sys-on-primary-fixed-variant: #00458f;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #3e4759;--mat-sys-on-secondary-fixed: #131c2b;--mat-sys-on-secondary-fixed-variant: #3e4759;--mat-sys-on-surface: #1a1b1f;--mat-sys-on-surface-variant: #44474e;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #0000ef;--mat-sys-on-tertiary-fixed: #00006e;--mat-sys-on-tertiary-fixed-variant: #0000ef;--mat-sys-outline: #74777f;--mat-sys-outline-variant: #c4c6d0;--mat-sys-primary: #005cbb;--mat-sys-primary-container: #d7e3ff;--mat-sys-primary-fixed: #d7e3ff;--mat-sys-primary-fixed-dim: #abc7ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #565e71;--mat-sys-secondary-container: #dae2f9;--mat-sys-secondary-fixed: #dae2f9;--mat-sys-secondary-fixed-dim: #bec6dc;--mat-sys-shadow: #000000;--mat-sys-surface: #faf9fd;--mat-sys-surface-bright: #faf9fd;--mat-sys-surface-container: #efedf0;--mat-sys-surface-container-high: #e9e7eb;--mat-sys-surface-container-highest: #e3e2e6;--mat-sys-surface-container-low: #f4f3f6;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #dbd9dd;--mat-sys-surface-tint: #005cbb;--mat-sys-surface-variant: #e0e2ec;--mat-sys-tertiary: #343dff;--mat-sys-tertiary-container: #e0e0ff;--mat-sys-tertiary-fixed: #e0e0ff;--mat-sys-tertiary-fixed-dim: #bec2ff;--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f}html{--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12)}html{--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12)}html{--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12)}html{--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12)}html{--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12)}html{--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12)}html{--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: 0.031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 0.875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: 0.875rem;--mat-sys-body-medium-tracking: 0.016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 0.75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: 0.75rem;--mat-sys-body-small-tracking: 0.025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -0.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 0.875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: 0.875rem;--mat-sys-label-large-tracking: 0.006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 0.75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: 0.75rem;--mat-sys-label-medium-tracking: 0.031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 0.688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: 0.688rem;--mat-sys-label-small-tracking: 0.031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: 0.009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 0.875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: 0.875rem;--mat-sys-title-small-tracking: 0.006rem;--mat-sys-title-small-weight: 500}html{--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px}html{--mat-sys-dragged-state-layer-opacity: 0.16;--mat-sys-focus-state-layer-opacity: 0.12;--mat-sys-hover-state-layer-opacity: 0.08;--mat-sys-pressed-state-layer-opacity: 0.12}
1
+ html{--mat-sys-background: #faf9fd;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f2f0f4;--mat-sys-inverse-primary: #abc7ff;--mat-sys-inverse-surface: #2f3033;--mat-sys-on-background: #1a1b1f;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #00458f;--mat-sys-on-primary-fixed: #001b3f;--mat-sys-on-primary-fixed-variant: #00458f;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #3e4759;--mat-sys-on-secondary-fixed: #131c2b;--mat-sys-on-secondary-fixed-variant: #3e4759;--mat-sys-on-surface: #1a1b1f;--mat-sys-on-surface-variant: #44474e;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #0000ef;--mat-sys-on-tertiary-fixed: #00006e;--mat-sys-on-tertiary-fixed-variant: #0000ef;--mat-sys-outline: #74777f;--mat-sys-outline-variant: #c4c6d0;--mat-sys-primary: #005cbb;--mat-sys-primary-container: #d7e3ff;--mat-sys-primary-fixed: #d7e3ff;--mat-sys-primary-fixed-dim: #abc7ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #565e71;--mat-sys-secondary-container: #dae2f9;--mat-sys-secondary-fixed: #dae2f9;--mat-sys-secondary-fixed-dim: #bec6dc;--mat-sys-shadow: #000000;--mat-sys-surface: #faf9fd;--mat-sys-surface-bright: #faf9fd;--mat-sys-surface-container: #efedf0;--mat-sys-surface-container-high: #e9e7eb;--mat-sys-surface-container-highest: #e3e2e6;--mat-sys-surface-container-low: #f4f3f6;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #dbd9dd;--mat-sys-surface-tint: #005cbb;--mat-sys-surface-variant: #e0e2ec;--mat-sys-tertiary: #343dff;--mat-sys-tertiary-container: #e0e0ff;--mat-sys-tertiary-fixed: #e0e0ff;--mat-sys-tertiary-fixed-dim: #bec2ff;--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: 0.031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 0.875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: 0.875rem;--mat-sys-body-medium-tracking: 0.016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 0.75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: 0.75rem;--mat-sys-body-small-tracking: 0.025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -0.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 0.875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: 0.875rem;--mat-sys-label-large-tracking: 0.006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 0.75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: 0.75rem;--mat-sys-label-medium-tracking: 0.031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 0.688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: 0.688rem;--mat-sys-label-small-tracking: 0.031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: 0.009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 0.875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: 0.875rem;--mat-sys-title-small-tracking: 0.006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: 0.16;--mat-sys-focus-state-layer-opacity: 0.12;--mat-sys-hover-state-layer-opacity: 0.08;--mat-sys-pressed-state-layer-opacity: 0.12}
@@ -1 +1 @@
1
- html{--mat-sys-background: #101414;--mat-sys-error: #ffb4ab;--mat-sys-error-container: #93000a;--mat-sys-inverse-on-surface: #2d3131;--mat-sys-inverse-primary: #006a6a;--mat-sys-inverse-surface: #e0e3e2;--mat-sys-on-background: #e0e3e2;--mat-sys-on-error: #690005;--mat-sys-on-error-container: #ffdad6;--mat-sys-on-primary: #003737;--mat-sys-on-primary-container: #00fbfb;--mat-sys-on-primary-fixed: #002020;--mat-sys-on-primary-fixed-variant: #004f4f;--mat-sys-on-secondary: #1b3534;--mat-sys-on-secondary-container: #cce8e7;--mat-sys-on-secondary-fixed: #051f1f;--mat-sys-on-secondary-fixed-variant: #324b4b;--mat-sys-on-surface: #e0e3e2;--mat-sys-on-surface-variant: #dae5e4;--mat-sys-on-tertiary: #502400;--mat-sys-on-tertiary-container: #ffdcc7;--mat-sys-on-tertiary-fixed: #311300;--mat-sys-on-tertiary-fixed-variant: #723600;--mat-sys-outline: #889392;--mat-sys-outline-variant: #3f4948;--mat-sys-primary: #00dddd;--mat-sys-primary-container: #004f4f;--mat-sys-primary-fixed: #00fbfb;--mat-sys-primary-fixed-dim: #00dddd;--mat-sys-scrim: #000000;--mat-sys-secondary: #b0cccb;--mat-sys-secondary-container: #324b4b;--mat-sys-secondary-fixed: #cce8e7;--mat-sys-secondary-fixed-dim: #b0cccb;--mat-sys-shadow: #000000;--mat-sys-surface: #101414;--mat-sys-surface-bright: #363a39;--mat-sys-surface-container: #1c2020;--mat-sys-surface-container-high: #272b2a;--mat-sys-surface-container-highest: #313635;--mat-sys-surface-container-low: #191c1c;--mat-sys-surface-container-lowest: #0b0f0e;--mat-sys-surface-dim: #101414;--mat-sys-surface-tint: #00dddd;--mat-sys-surface-variant: #3f4948;--mat-sys-tertiary: #ffb787;--mat-sys-tertiary-container: #723600;--mat-sys-tertiary-fixed: #ffdcc7;--mat-sys-tertiary-fixed-dim: #ffb787;--mat-sys-neutral-variant20: #293232;--mat-sys-neutral10: #191c1c}html{--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12)}html{--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12)}html{--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12)}html{--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12)}html{--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12)}html{--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12)}html{--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: 0.031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 0.875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: 0.875rem;--mat-sys-body-medium-tracking: 0.016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 0.75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: 0.75rem;--mat-sys-body-small-tracking: 0.025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -0.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 0.875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: 0.875rem;--mat-sys-label-large-tracking: 0.006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 0.75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: 0.75rem;--mat-sys-label-medium-tracking: 0.031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 0.688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: 0.688rem;--mat-sys-label-small-tracking: 0.031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: 0.009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 0.875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: 0.875rem;--mat-sys-title-small-tracking: 0.006rem;--mat-sys-title-small-weight: 500}html{--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px}html{--mat-sys-dragged-state-layer-opacity: 0.16;--mat-sys-focus-state-layer-opacity: 0.12;--mat-sys-hover-state-layer-opacity: 0.08;--mat-sys-pressed-state-layer-opacity: 0.12}
1
+ html{--mat-sys-background: #101414;--mat-sys-error: #ffb4ab;--mat-sys-error-container: #93000a;--mat-sys-inverse-on-surface: #2d3131;--mat-sys-inverse-primary: #006a6a;--mat-sys-inverse-surface: #e0e3e2;--mat-sys-on-background: #e0e3e2;--mat-sys-on-error: #690005;--mat-sys-on-error-container: #ffdad6;--mat-sys-on-primary: #003737;--mat-sys-on-primary-container: #00fbfb;--mat-sys-on-primary-fixed: #002020;--mat-sys-on-primary-fixed-variant: #004f4f;--mat-sys-on-secondary: #1b3534;--mat-sys-on-secondary-container: #cce8e7;--mat-sys-on-secondary-fixed: #051f1f;--mat-sys-on-secondary-fixed-variant: #324b4b;--mat-sys-on-surface: #e0e3e2;--mat-sys-on-surface-variant: #dae5e4;--mat-sys-on-tertiary: #502400;--mat-sys-on-tertiary-container: #ffdcc7;--mat-sys-on-tertiary-fixed: #311300;--mat-sys-on-tertiary-fixed-variant: #723600;--mat-sys-outline: #889392;--mat-sys-outline-variant: #3f4948;--mat-sys-primary: #00dddd;--mat-sys-primary-container: #004f4f;--mat-sys-primary-fixed: #00fbfb;--mat-sys-primary-fixed-dim: #00dddd;--mat-sys-scrim: #000000;--mat-sys-secondary: #b0cccb;--mat-sys-secondary-container: #324b4b;--mat-sys-secondary-fixed: #cce8e7;--mat-sys-secondary-fixed-dim: #b0cccb;--mat-sys-shadow: #000000;--mat-sys-surface: #101414;--mat-sys-surface-bright: #363a39;--mat-sys-surface-container: #1c2020;--mat-sys-surface-container-high: #272b2a;--mat-sys-surface-container-highest: #313635;--mat-sys-surface-container-low: #191c1c;--mat-sys-surface-container-lowest: #0b0f0e;--mat-sys-surface-dim: #101414;--mat-sys-surface-tint: #00dddd;--mat-sys-surface-variant: #3f4948;--mat-sys-tertiary: #ffb787;--mat-sys-tertiary-container: #723600;--mat-sys-tertiary-fixed: #ffdcc7;--mat-sys-tertiary-fixed-dim: #ffb787;--mat-sys-neutral-variant20: #293232;--mat-sys-neutral10: #191c1c;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, 0.2), 0px 0px 0px 0px rgba(0, 0, 0, 0.14), 0px 0px 0px 0px rgba(0, 0, 0, 0.12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, 0.2), 0px 1px 1px 0px rgba(0, 0, 0, 0.14), 0px 1px 3px 0px rgba(0, 0, 0, 0.12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, 0.2), 0px 3px 4px 0px rgba(0, 0, 0, 0.14), 0px 1px 8px 0px rgba(0, 0, 0, 0.12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: 0.031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 0.875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: 0.875rem;--mat-sys-body-medium-tracking: 0.016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 0.75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: 0.75rem;--mat-sys-body-small-tracking: 0.025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -0.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 0.875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: 0.875rem;--mat-sys-label-large-tracking: 0.006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 0.75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: 0.75rem;--mat-sys-label-medium-tracking: 0.031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 0.688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: 0.688rem;--mat-sys-label-small-tracking: 0.031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: 0.009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 0.875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: 0.875rem;--mat-sys-title-small-tracking: 0.006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: 0.16;--mat-sys-focus-state-layer-opacity: 0.12;--mat-sys-hover-state-layer-opacity: 0.08;--mat-sys-pressed-state-layer-opacity: 0.12}