@ng-matero/extensions 16.3.0 → 17.0.0

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 (204) hide show
  1. package/_index.scss +2 -1
  2. package/alert/_alert-theme.scss +54 -24
  3. package/alert/alert.d.ts +3 -6
  4. package/alert/alert.scss +3 -3
  5. package/button/_button-theme.scss +6 -4
  6. package/button/button-loading.d.ts +5 -10
  7. package/button/button-module.d.ts +5 -5
  8. package/checkbox-group/checkbox-group.d.ts +4 -9
  9. package/colorpicker/_colorpicker-theme.scss +62 -34
  10. package/colorpicker/colorpicker-input.d.ts +1 -3
  11. package/colorpicker/colorpicker-toggle.d.ts +2 -3
  12. package/colorpicker/colorpicker.d.ts +5 -6
  13. package/core/color/_all-color.scss +7 -18
  14. package/core/density/_all-density.scss +28 -14
  15. package/core/mdc-helpers/_mdc-helpers.scss +27 -238
  16. package/core/style/_sass-utils.scss +13 -1
  17. package/core/style/_validation.scss +43 -0
  18. package/core/theming/_all-theme.scss +32 -17
  19. package/core/theming/_inspection.scss +303 -0
  20. package/core/theming/_m2-inspection.scss +266 -0
  21. package/core/tokens/_token-utils.scss +4 -5
  22. package/core/tokens/m2/mdc/_plain-tooltip.scss +21 -29
  23. package/core/tokens/m2/mtx/_alert.scss +14 -15
  24. package/core/tokens/m2/mtx/_colorpicker.scss +8 -11
  25. package/core/tokens/m2/mtx/_datetimepicker.scss +38 -47
  26. package/core/tokens/m2/mtx/_drawer.scss +9 -10
  27. package/core/tokens/m2/mtx/_grid.scss +34 -22
  28. package/core/tokens/m2/mtx/_loader.scss +6 -6
  29. package/core/tokens/m2/mtx/_popover.scss +10 -11
  30. package/core/tokens/m2/mtx/_progress.scss +18 -17
  31. package/core/tokens/m2/mtx/_select.scss +65 -25
  32. package/core/tokens/m2/mtx/_split.scss +8 -11
  33. package/core/typography/_all-typography.scss +40 -0
  34. package/core/typography/_typography.scss +1 -579
  35. package/datetimepicker/_datetimepicker-theme.scss +75 -48
  36. package/datetimepicker/calendar.d.ts +7 -14
  37. package/datetimepicker/calendar.scss +16 -4
  38. package/datetimepicker/clock.d.ts +1 -2
  39. package/datetimepicker/datetimepicker-content.scss +3 -3
  40. package/datetimepicker/datetimepicker-input.d.ts +1 -2
  41. package/datetimepicker/datetimepicker-toggle.d.ts +2 -3
  42. package/datetimepicker/datetimepicker.d.ts +15 -26
  43. package/datetimepicker/month-view.d.ts +1 -1
  44. package/datetimepicker/multi-year-view.d.ts +1 -1
  45. package/datetimepicker/time.d.ts +3 -5
  46. package/datetimepicker/time.scss +2 -2
  47. package/datetimepicker/year-view.d.ts +1 -1
  48. package/drawer/_drawer-theme.scss +55 -22
  49. package/drawer/drawer-container.scss +25 -4
  50. package/esm2022/alert/alert-module.mjs +4 -4
  51. package/esm2022/alert/alert.mjs +11 -18
  52. package/esm2022/button/button-loading.mjs +13 -23
  53. package/esm2022/button/button-module.mjs +6 -7
  54. package/esm2022/checkbox-group/checkbox-group-module.mjs +4 -4
  55. package/esm2022/checkbox-group/checkbox-group.mjs +18 -29
  56. package/esm2022/colorpicker/colorpicker-input.mjs +13 -14
  57. package/esm2022/colorpicker/colorpicker-module.mjs +4 -4
  58. package/esm2022/colorpicker/colorpicker-toggle.mjs +18 -18
  59. package/esm2022/colorpicker/colorpicker.mjs +31 -36
  60. package/esm2022/column-resize/column-resize-directives/column-resize-flex.mjs +4 -4
  61. package/esm2022/column-resize/column-resize-directives/column-resize.mjs +4 -4
  62. package/esm2022/column-resize/column-resize-module.mjs +4 -4
  63. package/esm2022/column-resize/column-resize-notifier.mjs +7 -7
  64. package/esm2022/column-resize/column-resize.mjs +3 -3
  65. package/esm2022/column-resize/column-size-store.mjs +3 -3
  66. package/esm2022/column-resize/event-dispatcher.mjs +4 -4
  67. package/esm2022/column-resize/overlay-handle.mjs +3 -3
  68. package/esm2022/column-resize/resizable.mjs +3 -3
  69. package/esm2022/column-resize/resize-strategy.mjs +13 -13
  70. package/esm2022/core/datetime/datetime.module.mjs +8 -8
  71. package/esm2022/core/datetime/native-datetime-adapter.mjs +5 -5
  72. package/esm2022/core/pipes/is-template-ref.pipe.mjs +3 -3
  73. package/esm2022/core/pipes/pipes.module.mjs +4 -4
  74. package/esm2022/core/pipes/to-observable.pipe.mjs +3 -3
  75. package/esm2022/datetimepicker/calendar-body.mjs +5 -6
  76. package/esm2022/datetimepicker/calendar.mjs +30 -47
  77. package/esm2022/datetimepicker/clock.mjs +10 -9
  78. package/esm2022/datetimepicker/datetimepicker-input.mjs +14 -15
  79. package/esm2022/datetimepicker/datetimepicker-intl.mjs +3 -3
  80. package/esm2022/datetimepicker/datetimepicker-module.mjs +4 -4
  81. package/esm2022/datetimepicker/datetimepicker-toggle.mjs +18 -18
  82. package/esm2022/datetimepicker/datetimepicker.mjs +57 -80
  83. package/esm2022/datetimepicker/month-view.mjs +8 -9
  84. package/esm2022/datetimepicker/multi-year-view.mjs +8 -8
  85. package/esm2022/datetimepicker/time.mjs +18 -24
  86. package/esm2022/datetimepicker/year-view.mjs +8 -8
  87. package/esm2022/dialog/dialog-container.mjs +7 -7
  88. package/esm2022/dialog/dialog-module.mjs +4 -4
  89. package/esm2022/dialog/dialog.mjs +4 -4
  90. package/esm2022/drawer/drawer-container.mjs +7 -7
  91. package/esm2022/drawer/drawer-module.mjs +4 -4
  92. package/esm2022/drawer/drawer.mjs +5 -5
  93. package/esm2022/grid/cell.mjs +6 -6
  94. package/esm2022/grid/column-menu.mjs +5 -5
  95. package/esm2022/grid/column-resize/column-resize-directives/column-resize-flex.mjs +4 -4
  96. package/esm2022/grid/column-resize/column-resize-directives/column-resize.mjs +4 -4
  97. package/esm2022/grid/column-resize/column-resize-module.mjs +8 -8
  98. package/esm2022/grid/column-resize/overlay-handle.mjs +6 -6
  99. package/esm2022/grid/column-resize/resizable-directives/resizable.mjs +6 -6
  100. package/esm2022/grid/column-resize/resize-strategy.mjs +5 -5
  101. package/esm2022/grid/expansion-toggle.mjs +5 -5
  102. package/esm2022/grid/grid-module.mjs +4 -4
  103. package/esm2022/grid/grid-pipes.mjs +22 -22
  104. package/esm2022/grid/grid-utils.mjs +4 -4
  105. package/esm2022/grid/grid.mjs +76 -44
  106. package/esm2022/loader/loader-module.mjs +4 -4
  107. package/esm2022/loader/loader.mjs +17 -29
  108. package/esm2022/photoviewer/photoviewer-module.mjs +4 -4
  109. package/esm2022/photoviewer/photoviewer.mjs +7 -7
  110. package/esm2022/popover/popover-content.mjs +8 -8
  111. package/esm2022/popover/popover-module.mjs +4 -4
  112. package/esm2022/popover/popover-target.mjs +4 -4
  113. package/esm2022/popover/popover-trigger.mjs +6 -6
  114. package/esm2022/popover/popover.mjs +52 -137
  115. package/esm2022/progress/progress-module.mjs +4 -4
  116. package/esm2022/progress/progress.mjs +14 -25
  117. package/esm2022/select/option.mjs +11 -17
  118. package/esm2022/select/select-module.mjs +4 -4
  119. package/esm2022/select/select.mjs +13 -13
  120. package/esm2022/select/templates.mjs +44 -44
  121. package/esm2022/split/split-module.mjs +4 -4
  122. package/esm2022/split/split-pane.mjs +5 -5
  123. package/esm2022/split/split.mjs +7 -7
  124. package/esm2022/tooltip/tooltip-module.mjs +4 -4
  125. package/esm2022/tooltip/tooltip.mjs +22 -22
  126. package/fesm2022/mtxAlert.mjs +14 -21
  127. package/fesm2022/mtxAlert.mjs.map +1 -1
  128. package/fesm2022/mtxButton.mjs +17 -28
  129. package/fesm2022/mtxButton.mjs.map +1 -1
  130. package/fesm2022/mtxCheckboxGroup.mjs +21 -32
  131. package/fesm2022/mtxCheckboxGroup.mjs.map +1 -1
  132. package/fesm2022/mtxColorpicker.mjs +61 -64
  133. package/fesm2022/mtxColorpicker.mjs.map +1 -1
  134. package/fesm2022/mtxColumnResize.mjs +48 -48
  135. package/fesm2022/mtxCore.mjs +23 -23
  136. package/fesm2022/mtxDatetimepicker.mjs +150 -190
  137. package/fesm2022/mtxDatetimepicker.mjs.map +1 -1
  138. package/fesm2022/mtxDialog.mjs +14 -14
  139. package/fesm2022/mtxDialog.mjs.map +1 -1
  140. package/fesm2022/mtxDrawer.mjs +17 -17
  141. package/fesm2022/mtxDrawer.mjs.map +1 -1
  142. package/fesm2022/mtxGrid.mjs +150 -118
  143. package/fesm2022/mtxGrid.mjs.map +1 -1
  144. package/fesm2022/mtxLoader.mjs +20 -32
  145. package/fesm2022/mtxLoader.mjs.map +1 -1
  146. package/fesm2022/mtxPhotoviewer.mjs +10 -10
  147. package/fesm2022/mtxPhotoviewer.mjs.map +1 -1
  148. package/fesm2022/mtxPopover.mjs +73 -158
  149. package/fesm2022/mtxPopover.mjs.map +1 -1
  150. package/fesm2022/mtxProgress.mjs +17 -28
  151. package/fesm2022/mtxProgress.mjs.map +1 -1
  152. package/fesm2022/mtxSelect.mjs +68 -73
  153. package/fesm2022/mtxSelect.mjs.map +1 -1
  154. package/fesm2022/mtxSplit.mjs +14 -14
  155. package/fesm2022/mtxSplit.mjs.map +1 -1
  156. package/fesm2022/mtxTooltip.mjs +26 -26
  157. package/fesm2022/mtxTooltip.mjs.map +1 -1
  158. package/grid/_grid-theme.scss +60 -24
  159. package/grid/column-menu.scss +32 -3
  160. package/grid/grid.d.ts +33 -1
  161. package/grid/grid.scss +36 -108
  162. package/loader/_loader-theme.scss +55 -22
  163. package/loader/loader.d.ts +4 -9
  164. package/loader/loader.scss +1 -1
  165. package/package.json +35 -41
  166. package/photoviewer/photoviewer.d.ts +1 -0
  167. package/popover/_popover-theme.scss +55 -22
  168. package/popover/popover.d.ts +23 -54
  169. package/popover/popover.scss +2 -2
  170. package/prebuilt-themes/deeppurple-amber.css +1 -1
  171. package/prebuilt-themes/indigo-pink.css +1 -1
  172. package/prebuilt-themes/pink-bluegrey.css +1 -1
  173. package/prebuilt-themes/purple-green.css +1 -1
  174. package/progress/_progress-theme.scss +60 -22
  175. package/progress/progress.d.ts +4 -9
  176. package/progress/progress.scss +3 -3
  177. package/select/_select-theme.scss +66 -34
  178. package/select/option.d.ts +2 -5
  179. package/select/select.d.ts +1 -3
  180. package/select/select.scss +104 -127
  181. package/split/_split-theme.scss +62 -32
  182. package/split/split.scss +2 -4
  183. package/tooltip/_tooltip-theme.scss +66 -34
  184. package/_theming.scss +0 -16
  185. package/alert/_alert-theme.import.scss +0 -2
  186. package/button/_button-theme.import.scss +0 -2
  187. package/colorpicker/_colorpicker-theme.import.scss +0 -2
  188. package/core/style/_elevation.scss +0 -91
  189. package/core/style/_private.scss +0 -32
  190. package/core/style/_variables.scss +0 -44
  191. package/core/style/_vendor-prefixes.scss +0 -46
  192. package/core/theming/_palette.scss +0 -746
  193. package/core/theming/_theming.scss +0 -463
  194. package/core/typography/_typography-utils.scss +0 -101
  195. package/datetimepicker/_datetimepicker-theme.import.scss +0 -4
  196. package/drawer/_drawer-theme.import.scss +0 -2
  197. package/grid/_grid-theme.import.scss +0 -2
  198. package/loader/_loader-theme.import.scss +0 -2
  199. package/popover/_popover-theme.import.scss +0 -2
  200. package/progress/_progress-theme.import.scss +0 -2
  201. package/select/_select-density.scss +0 -68
  202. package/select/_select-theme.import.scss +0 -3
  203. package/split/_split-theme.import.scss +0 -2
  204. package/tooltip/_tooltip-theme.import.scss +0 -1
@@ -1,55 +1,87 @@
1
1
  @use 'sass:map';
2
- @use './select-density';
3
- @use '../core/theming/theming';
2
+ @use '@angular/material' as mat;
4
3
  @use '../core/style/sass-utils';
5
4
  @use '../core/tokens/token-utils';
6
5
  @use '../core/tokens/m2/mtx/select' as tokens-mtx-select;
7
6
 
8
- @mixin color($config-or-theme) {
9
- $config: theming.get-color-config($config-or-theme);
10
-
11
- @include sass-utils.current-selector-or-root() {
12
- @include token-utils.create-token-values(tokens-mtx-select.$prefix,
13
- tokens-mtx-select.get-color-tokens($config));
7
+ @mixin base($theme) {
8
+ @if mat.get-theme-version($theme) == 1 {
9
+ @include _theme-from-tokens(mat.get-theme-tokens($theme, base));
14
10
  }
11
+ @else {
12
+ @include sass-utils.current-selector-or-root() {
13
+ @include token-utils.create-token-values(tokens-mtx-select.$prefix,
14
+ tokens-mtx-select.get-unthemable-tokens());
15
+ }
16
+ }
17
+ }
15
18
 
16
- .ng-dropdown-panel {
17
- &.mat-accent {
18
- $accent-tokens: tokens-mtx-select.private-get-color-palette-color-tokens($config, accent);
19
- @include token-utils.create-token-values(tokens-mtx-select.$prefix, $accent-tokens);
19
+ @mixin color($theme) {
20
+ @if mat.get-theme-version($theme) == 1 {
21
+ @include _theme-from-tokens(mat.get-theme-tokens($theme, color));
22
+ }
23
+ @else {
24
+ @include sass-utils.current-selector-or-root() {
25
+ @include token-utils.create-token-values(tokens-mtx-select.$prefix,
26
+ tokens-mtx-select.get-color-tokens($theme));
20
27
  }
21
28
 
22
- &.mat-warn {
23
- $warn-tokens: tokens-mtx-select.private-get-color-palette-color-tokens($config, warn);
24
- @include token-utils.create-token-values(tokens-mtx-select.$prefix, $warn-tokens);
29
+ .ng-dropdown-panel {
30
+ &.mat-accent {
31
+ $accent-tokens: tokens-mtx-select.private-get-color-palette-color-tokens($theme, accent);
32
+ @include token-utils.create-token-values(tokens-mtx-select.$prefix, $accent-tokens);
33
+ }
34
+
35
+ &.mat-warn {
36
+ $warn-tokens: tokens-mtx-select.private-get-color-palette-color-tokens($theme, warn);
37
+ @include token-utils.create-token-values(tokens-mtx-select.$prefix, $warn-tokens);
38
+ }
25
39
  }
26
40
  }
27
41
  }
28
42
 
29
- @mixin typography($config-or-theme) {}
30
-
31
- @mixin density($config-or-theme) {
32
- @include select-density.private-select-density($config-or-theme);
43
+ @mixin typography($theme) {
44
+ @if mat.get-theme-version($theme) == 1 {
45
+ @include _theme-from-tokens(mat.get-theme-tokens($theme, typography));
46
+ }
47
+ @else {}
33
48
  }
34
49
 
35
- @mixin theme($theme-or-color-config) {
36
- $theme: theming.private-legacy-get-theme($theme-or-color-config);
37
-
38
- @include theming.private-check-duplicate-theme-styles($theme, 'mtx-select') {
39
- $color: theming.get-color-config($theme);
40
- $density: theming.get-density-config($theme);
41
- $typography: theming.get-typography-config($theme);
42
-
43
- @if $color !=null {
44
- @include color($color);
50
+ @mixin density($theme) {
51
+ @if mat.get-theme-version($theme) == 1 {
52
+ @include _theme-from-tokens(mat.get-theme-tokens($theme, density));
53
+ }
54
+ @else {
55
+ @include sass-utils.current-selector-or-root() {
56
+ @include token-utils.create-token-values(tokens-mtx-select.$prefix,
57
+ tokens-mtx-select.get-density-tokens($theme));
45
58
  }
59
+ }
60
+ }
46
61
 
47
- @if $density !=null {
48
- @include density($density);
62
+ @mixin theme($theme) {
63
+ @include mat.private-check-duplicate-theme-styles($theme, 'mtx-select') {
64
+ @if mat.get-theme-version($theme) == 1 {
65
+ @include _theme-from-tokens(mat.get-theme-tokens($theme));
49
66
  }
50
-
51
- @if $typography !=null {
52
- @include typography($typography);
67
+ @else {
68
+ @include base($theme);
69
+ @if mat.theme-has($theme, color) {
70
+ @include color($theme);
71
+ }
72
+ @if mat.theme-has($theme, density) {
73
+ @include density($theme);
74
+ }
75
+ @if mat.theme-has($theme, typography) {
76
+ @include typography($theme);
77
+ }
53
78
  }
54
79
  }
55
80
  }
81
+
82
+ @mixin _theme-from-tokens($tokens) {
83
+ @if ($tokens != ()) {
84
+ @include token-utils.create-token-values(tokens-mtx-select.$prefix,
85
+ map.get($tokens, tokens-mtx-select.$prefix));
86
+ }
87
+ }
@@ -1,13 +1,10 @@
1
- import { BooleanInput } from '@angular/cdk/coercion';
2
1
  import { AfterViewChecked, ElementRef, OnChanges, OnDestroy, SimpleChanges } from '@angular/core';
3
2
  import { Subject } from 'rxjs';
4
3
  import * as i0 from "@angular/core";
5
4
  export declare class MtxOption implements OnChanges, AfterViewChecked, OnDestroy {
6
5
  elementRef: ElementRef<HTMLElement>;
7
6
  value: any;
8
- get disabled(): boolean;
9
- set disabled(value: boolean);
10
- private _disabled;
7
+ disabled: boolean;
11
8
  get label(): string;
12
9
  private _previousLabel?;
13
10
  readonly stateChange$: Subject<{
@@ -19,7 +16,7 @@ export declare class MtxOption implements OnChanges, AfterViewChecked, OnDestroy
19
16
  ngOnChanges(changes: SimpleChanges): void;
20
17
  ngAfterViewChecked(): void;
21
18
  ngOnDestroy(): void;
22
- static ngAcceptInputType_disabled: BooleanInput;
23
19
  static ɵfac: i0.ɵɵFactoryDeclaration<MtxOption, never>;
24
20
  static ɵcmp: i0.ɵɵComponentDeclaration<MtxOption, "mtx-option", ["mtxOption"], { "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, ["*"], false, never>;
21
+ static ngAcceptInputType_disabled: unknown;
25
22
  }
@@ -1,5 +1,4 @@
1
1
  import { FocusMonitor } from '@angular/cdk/a11y';
2
- import { BooleanInput } from '@angular/cdk/coercion';
3
2
  import { AfterViewInit, ChangeDetectorRef, DoCheck, ElementRef, EventEmitter, InjectionToken, OnDestroy, OnInit, QueryList, TemplateRef } from '@angular/core';
4
3
  import { ControlValueAccessor, FormGroupDirective, NgControl, NgForm } from '@angular/forms';
5
4
  import { CanDisable, ErrorStateMatcher } from '@angular/material/core';
@@ -241,9 +240,8 @@ export declare class MtxSelect extends _MtxSelectMixinBase implements OnInit, On
241
240
  focus(): void;
242
241
  blur(): void;
243
242
  openChange(): void;
244
- static ngAcceptInputType_required: BooleanInput;
245
- static ngAcceptInputType_disabled: BooleanInput;
246
243
  static ɵfac: i0.ɵɵFactoryDeclaration<MtxSelect, [null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; self: true; }, { optional: true; }, { optional: true; }]>;
247
244
  static ɵcmp: i0.ɵɵComponentDeclaration<MtxSelect, "mtx-select", ["mtxSelect"], { "disabled": { "alias": "disabled"; "required": false; }; "addTag": { "alias": "addTag"; "required": false; }; "addTagText": { "alias": "addTagText"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "appendTo": { "alias": "appendTo"; "required": false; }; "bindLabel": { "alias": "bindLabel"; "required": false; }; "bindValue": { "alias": "bindValue"; "required": false; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; }; "clearAllText": { "alias": "clearAllText"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "clearOnBackspace": { "alias": "clearOnBackspace"; "required": false; }; "compareWith": { "alias": "compareWith"; "required": false; }; "dropdownPosition": { "alias": "dropdownPosition"; "required": false; }; "groupBy": { "alias": "groupBy"; "required": false; }; "groupValue": { "alias": "groupValue"; "required": false; }; "selectableGroup": { "alias": "selectableGroup"; "required": false; }; "selectableGroupAsModel": { "alias": "selectableGroupAsModel"; "required": false; }; "hideSelected": { "alias": "hideSelected"; "required": false; }; "isOpen": { "alias": "isOpen"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "loadingText": { "alias": "loadingText"; "required": false; }; "labelForId": { "alias": "labelForId"; "required": false; }; "markFirst": { "alias": "markFirst"; "required": false; }; "maxSelectedItems": { "alias": "maxSelectedItems"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "notFoundText": { "alias": "notFoundText"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "searchFn": { "alias": "searchFn"; "required": false; }; "searchWhileComposing": { "alias": "searchWhileComposing"; "required": false; }; "selectOnTab": { "alias": "selectOnTab"; "required": false; }; "trackByFn": { "alias": "trackByFn"; "required": false; }; "inputAttrs": { "alias": "inputAttrs"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "openOnEnter": { "alias": "openOnEnter"; "required": false; }; "minTermLength": { "alias": "minTermLength"; "required": false; }; "editableSearchTerm": { "alias": "editableSearchTerm"; "required": false; }; "keyDownFn": { "alias": "keyDownFn"; "required": false; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; }; "typeToSearchText": { "alias": "typeToSearchText"; "required": false; }; "typeahead": { "alias": "typeahead"; "required": false; }; "clearSearchOnAdd": { "alias": "clearSearchOnAdd"; "required": false; }; "items": { "alias": "items"; "required": false; }; "value": { "alias": "value"; "required": false; }; "id": { "alias": "id"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "errorStateMatcher": { "alias": "errorStateMatcher"; "required": false; }; "ariaLabel": { "alias": "aria-label"; "required": false; }; "ariaLabelledby": { "alias": "aria-labelledby"; "required": false; }; }, { "blurEvent": "blur"; "focusEvent": "focus"; "changeEvent": "change"; "openEvent": "open"; "closeEvent": "close"; "searchEvent": "search"; "clearEvent": "clear"; "addEvent": "add"; "removeEvent": "remove"; "scroll": "scroll"; "scrollToEnd": "scrollToEnd"; }, ["optionTemplate", "optgroupTemplate", "labelTemplate", "multiLabelTemplate", "headerTemplate", "footerTemplate", "notFoundTemplate", "typeToSearchTemplate", "loadingTextTemplate", "tagTemplate", "loadingSpinnerTemplate", "mtxOptions"], never, false, never>;
245
+ static ngAcceptInputType_required: unknown;
248
246
  }
249
247
  export {};
@@ -1,4 +1,4 @@
1
- @use '../core/style/elevation';
1
+ @use '@angular/material' as mat;
2
2
  @use '../core/tokens/token-utils';
3
3
  @use '../core/tokens/m2/mtx/select' as tokens-mtx-select;
4
4
 
@@ -11,175 +11,150 @@ $_tokens: tokens-mtx-select.$prefix, tokens-mtx-select.get-token-slots();
11
11
  }
12
12
 
13
13
  .ng-select {
14
- padding-right: 16px;
15
- padding-left: 16px;
16
- margin-right: -16px;
17
- margin-left: -16px;
14
+ @include token-utils.use-tokens($_tokens...) {
15
+ $filled-padding-top: token-utils.get-token-variable(filled-padding-top);
16
+ $filled-padding-bottom: token-utils.get-token-variable(filled-padding-bottom);
17
+ $vertical-padding: token-utils.get-token-variable(vertical-padding);
18
+
19
+ // TODO: use `mat-form-field` token
20
+ padding: var($filled-padding-top) 16px var($filled-padding-bottom);
21
+ margin: calc(var($filled-padding-top) * -1) -16px calc(var($filled-padding-bottom) * -1);
22
+
23
+ .mdc-text-field--outlined &,
24
+ .mdc-text-field--no-label & {
25
+ padding-top: var($vertical-padding);
26
+ padding-bottom: var($vertical-padding);
27
+ margin-top: calc(var($vertical-padding) * -1);
28
+ margin-bottom: calc(var($vertical-padding) * -1);
29
+ }
18
30
 
19
- .ng-select-container {
20
- align-items: center;
31
+ .ng-select-container {
32
+ align-items: center;
21
33
 
22
- @include token-utils.use-tokens($_tokens...) {
23
34
  @include token-utils.create-token-slot(color, container-text-color);
24
- }
25
35
 
26
- .ng-value-container {
27
- align-items: center;
36
+ .ng-value-container {
37
+ align-items: center;
28
38
 
29
- .ng-input {
30
- >input {
39
+ .ng-input>input {
31
40
  padding: 0;
32
41
  color: inherit;
33
42
  font: inherit;
34
43
  }
35
44
  }
36
- }
37
45
 
38
- .ng-clear-wrapper {
39
- width: 24px;
40
- text-align: center;
46
+ .ng-clear-wrapper {
47
+ width: 24px;
48
+ text-align: center;
49
+ }
41
50
  }
42
- }
43
51
 
44
- .ng-placeholder {
45
- transition: opacity 200ms;
46
- opacity: 1;
52
+ .ng-placeholder {
53
+ transition: opacity 200ms;
54
+ opacity: 1;
47
55
 
48
- @include token-utils.use-tokens($_tokens...) {
49
56
  @include token-utils.create-token-slot(color, placeholder-text-color);
50
- }
51
57
 
52
- .mat-form-field-hide-placeholder & {
53
- opacity: 0;
58
+ .mat-form-field-hide-placeholder & {
59
+ opacity: 0;
60
+ }
54
61
  }
55
- }
56
62
 
57
- .ng-has-value .ng-placeholder {
58
- display: none;
59
- }
63
+ .ng-has-value .ng-placeholder {
64
+ display: none;
65
+ }
60
66
 
61
- .ng-clear-wrapper {
62
- @include token-utils.use-tokens($_tokens...) {
67
+ .ng-clear-wrapper {
63
68
  @include token-utils.create-token-slot(color, clear-icon-color);
64
69
 
65
70
  &:hover .ng-clear {
66
71
  @include token-utils.create-token-slot(color, clear-icon-hover-color);
67
72
  }
68
73
  }
69
- }
70
74
 
71
- &.ng-select-disabled {
72
- .ng-value {
73
- @include token-utils.use-tokens($_tokens...) {
75
+ &.ng-select-disabled {
76
+ .ng-value {
74
77
  @include token-utils.create-token-slot(color, disabled-text-color);
75
78
  }
76
79
  }
77
- }
78
80
 
79
- &.ng-select-opened {
80
- .ng-arrow-wrapper {
81
- .ng-arrow {
81
+ &.ng-select-opened {
82
+ .ng-arrow-wrapper .ng-arrow {
82
83
  top: -2px;
83
84
  border-width: 0 5px 5px;
84
85
  }
85
86
  }
86
- }
87
87
 
88
- &.ng-select-single {
89
- // vertical align with material form field
90
- &.ng-select-filtered {
91
- .ng-placeholder {
88
+ &.ng-select-single {
89
+ &.ng-select-filtered .ng-placeholder {
92
90
  display: initial;
93
91
  visibility: hidden;
94
92
  }
95
93
  }
96
94
 
97
- .ng-select-container {
98
- .ng-value-container {
99
- // vertical align with material form field
100
- .ng-placeholder,
101
- .ng-value {
102
- &::after {
103
- display: inline-block;
104
- content: '';
105
- }
106
- }
107
- }
108
- }
109
- }
110
-
111
- &.ng-select-multiple {
112
- .ng-select-container {
113
- .ng-value-container {
114
- .ng-value {
115
- margin: 2px 4px 2px 0;
116
- border-radius: 16px;
117
- font-size: .875em;
118
- line-height: 18px;
95
+ &.ng-select-multiple {
96
+ .ng-select-container .ng-value-container .ng-value {
97
+ margin: 2px 4px 2px 0;
98
+ border-radius: 16px;
99
+ font-size: .875em;
100
+ line-height: 18px;
119
101
 
120
- @include token-utils.use-tokens($_tokens...) {
121
- @include token-utils.create-token-slot(background-color, multiple-value-background-color);
102
+ @include token-utils.create-token-slot(background-color, multiple-value-background-color);
122
103
 
123
- $border-color: token-utils.get-token-variable(multiple-value-border-color);
104
+ $border-color: token-utils.get-token-variable(multiple-value-border-color);
124
105
 
125
- border: 1px solid var($border-color);
126
- }
106
+ border: 1px solid var($border-color);
127
107
 
128
- @include rtl {
129
- margin-right: auto;
130
- margin-left: 4px;
131
- }
108
+ @include rtl {
109
+ margin-right: auto;
110
+ margin-left: 4px;
111
+ }
132
112
 
133
- &.ng-value-disabled {
134
- opacity: .4;
135
- }
113
+ &.ng-value-disabled {
114
+ opacity: .4;
115
+ }
136
116
 
137
- .ng-value-label {
138
- display: inline-block;
139
- margin: 0 8px;
140
- }
117
+ .ng-value-label {
118
+ display: inline-block;
119
+ margin: 0 8px;
120
+ }
141
121
 
142
- .ng-value-icon {
143
- display: inline-block;
144
- width: 18px;
145
- height: 18px;
146
- border-radius: 100%;
147
- text-align: center;
122
+ .ng-value-icon {
123
+ display: inline-block;
124
+ width: 18px;
125
+ height: 18px;
126
+ border-radius: 100%;
127
+ text-align: center;
148
128
 
149
- &.left {
150
- margin-right: -4px;
129
+ &.left {
130
+ margin-right: -4px;
151
131
 
152
- @include rtl {
153
- margin-left: -4px;
154
- margin-right: auto;
155
- }
132
+ @include rtl {
133
+ margin-left: -4px;
134
+ margin-right: auto;
156
135
  }
136
+ }
157
137
 
158
- &.right {
159
- margin-left: -4px;
138
+ &.right {
139
+ margin-left: -4px;
160
140
 
161
- @include rtl {
162
- margin-right: -4px;
163
- margin-left: auto;
164
- }
141
+ @include rtl {
142
+ margin-right: -4px;
143
+ margin-left: auto;
165
144
  }
145
+ }
166
146
 
167
- &:hover {
168
- @include token-utils.use-tokens($_tokens...) {
169
- @include token-utils.create-token-slot(background-color, multiple-value-icon-hover-background-color);
170
- }
171
- }
147
+ &:hover {
148
+ @include token-utils.create-token-slot(background-color, multiple-value-icon-hover-background-color);
172
149
  }
173
150
  }
174
151
  }
175
152
  }
176
- }
177
153
 
178
- .ng-arrow-wrapper {
179
- width: 10px;
180
- }
154
+ .ng-arrow-wrapper {
155
+ width: 10px;
156
+ }
181
157
 
182
- @include token-utils.use-tokens($_tokens...) {
183
158
  $enabled-arrow-color: token-utils.get-token-variable(enabled-arrow-color);
184
159
  $disabled-arrow-color: token-utils.get-token-variable(disabled-arrow-color);
185
160
  $invalid-arrow-color: token-utils.get-token-variable(invalid-arrow-color);
@@ -209,28 +184,30 @@ $_tokens: tokens-mtx-select.$prefix, tokens-mtx-select.get-token-slots();
209
184
  }
210
185
 
211
186
  .ng-dropdown-panel {
212
- &.ng-select-bottom {
213
- top: 100%;
214
- border-bottom-left-radius: 4px;
215
- border-bottom-right-radius: 4px;
187
+ @include token-utils.use-tokens($_tokens...) {
188
+ &.ng-select-bottom {
189
+ top: 100%;
216
190
 
217
- @include elevation.elevation(8);
218
- }
191
+ @include token-utils.create-token-slot(border-bottom-left-radius, container-shape);
192
+ @include token-utils.create-token-slot(border-bottom-right-radius, container-shape);
219
193
 
220
- &.ng-select-top {
221
- bottom: 100%;
222
- border-top-left-radius: 4px;
223
- border-top-right-radius: 4px;
194
+ @include mat.elevation(8);
195
+ }
224
196
 
225
- @include elevation.elevation(8);
226
- }
197
+ &.ng-select-top {
198
+ bottom: 100%;
227
199
 
228
- .ng-dropdown-header,
229
- .ng-dropdown-footer {
230
- padding: 14px 16px;
231
- }
200
+ @include token-utils.create-token-slot(border-top-left-radius, container-shape);
201
+ @include token-utils.create-token-slot(border-top-right-radius, container-shape);
202
+
203
+ @include mat.elevation(8);
204
+ }
205
+
206
+ .ng-dropdown-header,
207
+ .ng-dropdown-footer {
208
+ padding: 14px 16px;
209
+ }
232
210
 
233
- @include token-utils.use-tokens($_tokens...) {
234
211
  @include token-utils.create-token-slot(background-color, panel-background-color);
235
212
 
236
213
  $border-color: token-utils.get-token-variable(panel-divider-color);
@@ -1,51 +1,81 @@
1
- @use '../core/theming/theming';
1
+ @use '@angular/material' as mat;
2
2
  @use '../core/style/sass-utils';
3
3
  @use '../core/tokens/token-utils';
4
4
  @use '../core/tokens/m2/mtx/split' as tokens-mtx-split;
5
5
 
6
- @mixin color($config-or-theme) {
7
- $config: theming.get-color-config($config-or-theme);
8
-
9
- @include sass-utils.current-selector-or-root() {
10
- @include token-utils.create-token-values(tokens-mtx-split.$prefix,
11
- tokens-mtx-split.get-color-tokens($config));
6
+ @mixin base($theme) {
7
+ @if mat.get-theme-version($theme) == 1 {
8
+ @include _theme-from-tokens(mat.get-theme-tokens($theme, base));
12
9
  }
10
+ @else {
11
+ @include sass-utils.current-selector-or-root() {
12
+ @include token-utils.create-token-values(tokens-mtx-split.$prefix,
13
+ tokens-mtx-split.get-unthemable-tokens());
14
+ }
15
+ }
16
+ }
13
17
 
14
- .mtx-split>.mtx-split-gutter {
15
- &.mat-accent:hover {
16
- $accent-tokens: tokens-mtx-split.private-get-color-palette-color-tokens($config, accent);
17
- @include token-utils.create-token-values(tokens-mtx-split.$prefix, $accent-tokens);
18
+ @mixin color($theme) {
19
+ @if mat.get-theme-version($theme) == 1 {
20
+ @include _theme-from-tokens(mat.get-theme-tokens($theme, color));
21
+ }
22
+ @else {
23
+ @include sass-utils.current-selector-or-root() {
24
+ @include token-utils.create-token-values(tokens-mtx-split.$prefix,
25
+ tokens-mtx-split.get-color-tokens($theme));
18
26
  }
19
27
 
20
- &.mat-warn:hover {
21
- $warn-tokens: tokens-mtx-split.private-get-color-palette-color-tokens($config, warn);
22
- @include token-utils.create-token-values(tokens-mtx-split.$prefix, $warn-tokens);
28
+ .mtx-split>.mtx-split-gutter {
29
+ &.mat-accent:hover {
30
+ $accent-tokens: tokens-mtx-split.private-get-color-palette-color-tokens($theme, accent);
31
+ @include token-utils.create-token-values(tokens-mtx-split.$prefix, $accent-tokens);
32
+ }
33
+
34
+ &.mat-warn:hover {
35
+ $warn-tokens: tokens-mtx-split.private-get-color-palette-color-tokens($theme, warn);
36
+ @include token-utils.create-token-values(tokens-mtx-split.$prefix, $warn-tokens);
37
+ }
23
38
  }
24
39
  }
25
40
  }
26
41
 
27
- @mixin typography($config-or-theme) {}
28
-
29
- @mixin density($config-or-theme) {}
30
-
31
- @mixin theme($theme-or-color-config) {
32
- $theme: theming.private-legacy-get-theme($theme-or-color-config);
42
+ @mixin typography($theme) {
43
+ @if mat.get-theme-version($theme) == 1 {
44
+ @include _theme-from-tokens(mat.get-theme-tokens($theme, typography));
45
+ }
46
+ @else {}
47
+ }
33
48
 
34
- @include theming.private-check-duplicate-theme-styles($theme, 'mtx-split') {
35
- $color: theming.get-color-config($theme);
36
- $density: theming.get-density-config($theme);
37
- $typography: theming.get-typography-config($theme);
49
+ @mixin density($theme) {
50
+ @if mat.get-theme-version($theme) == 1 {
51
+ @include _theme-from-tokens(mat.get-theme-tokens($theme, density));
52
+ }
53
+ @else {}
54
+ }
38
55
 
39
- @if $color !=null {
40
- @include color($color);
56
+ @mixin theme($theme) {
57
+ @include mat.private-check-duplicate-theme-styles($theme, 'mtx-split') {
58
+ @if mat.get-theme-version($theme) == 1 {
59
+ @include _theme-from-tokens(mat.get-theme-tokens($theme));
41
60
  }
42
-
43
- @if $density !=null {
44
- @include density($density);
61
+ @else {
62
+ @include base($theme);
63
+ @if mat.theme-has($theme, color) {
64
+ @include color($theme);
65
+ }
66
+ @if mat.theme-has($theme, density) {
67
+ @include density($theme);
68
+ }
69
+ @if mat.theme-has($theme, typography) {
70
+ @include typography($theme);
71
+ }
45
72
  }
73
+ }
74
+ }
46
75
 
47
- @if $typography !=null {
48
- @include typography($typography);
49
- }
76
+ @mixin _theme-from-tokens($tokens) {
77
+ @if ($tokens != ()) {
78
+ @include token-utils.create-token-values(tokens-mtx-split.$prefix,
79
+ map.get($tokens, tokens-mtx-split.$prefix));
50
80
  }
51
81
  }
package/split/split.scss CHANGED
@@ -41,15 +41,13 @@ $_tokens: tokens-mtx-split.$prefix, tokens-mtx-split.get-token-slots();
41
41
  > .mtx-split-pane {
42
42
  flex-grow: 0;
43
43
  flex-shrink: 0;
44
- overflow-x: hidden;
45
- overflow-y: auto;
44
+ overflow: hidden auto;
46
45
 
47
46
  /* When <mtx-split-pane [visible]="false"> force size to 0. */
48
47
 
49
48
  &.mtx-split-pane-hidden {
50
49
  flex: 0 1 0 !important;
51
- overflow-x: hidden;
52
- overflow-y: hidden;
50
+ overflow: hidden hidden;
53
51
  }
54
52
  }
55
53