@acontplus/ng-components 2.1.30 → 2.1.31

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 (54) hide show
  1. package/fesm2022/acontplus-ng-components.mjs +5713 -3552
  2. package/fesm2022/acontplus-ng-components.mjs.map +1 -1
  3. package/package.json +19 -18
  4. package/src/_index.scss +22 -0
  5. package/src/core/color/_all-color.scss +16 -0
  6. package/src/core/density/_all-density.scss +38 -0
  7. package/src/core/style/_elevation.scss +207 -0
  8. package/src/core/theming/_all-theme.scss +50 -0
  9. package/src/core/theming/_config-validation.scss +171 -0
  10. package/src/core/theming/_definition.scss +158 -0
  11. package/src/core/theming/_palettes.scss +1060 -0
  12. package/src/core/tokens/_m3-tokens.scss +141 -0
  13. package/src/core/tokens/_m3-utils.scss +36 -0
  14. package/src/core/tokens/_system.scss +395 -0
  15. package/src/core/tokens/_token-utils.scss +117 -0
  16. package/src/core/tokens/m3/_index.scss +7 -0
  17. package/src/core/tokens/m3/_md-sys-color.scss +150 -0
  18. package/src/core/tokens/m3/_md-sys-elevation.scss +8 -0
  19. package/src/core/tokens/m3/_md-sys-motion.scss +35 -0
  20. package/src/core/tokens/m3/_md-sys-shape.scss +31 -0
  21. package/src/core/tokens/m3/_md-sys-state.scss +13 -0
  22. package/src/core/tokens/m3/_md-sys-typescale.scss +131 -0
  23. package/src/core/tokens/m3/_theme.scss +41 -0
  24. package/src/core/typography/_all-typography.scss +34 -0
  25. package/src/lib/components/alert/_alert-theme.scss +57 -0
  26. package/src/lib/components/alert/_m3-alert.scss +72 -0
  27. package/src/lib/components/alert/alert.scss +60 -0
  28. package/src/lib/components/autocomplete-wrapper/autocomplete-wrapper.scss +667 -0
  29. package/src/lib/components/button/button.scss +297 -0
  30. package/src/lib/components/cards/dynamic-card/dynamic-card.scss +131 -0
  31. package/src/lib/components/data-grid/_grid-theme.scss +53 -0
  32. package/src/lib/components/data-grid/_m3-grid.scss +34 -0
  33. package/src/lib/components/data-grid/cell/cell.scss +38 -0
  34. package/src/lib/components/data-grid/column-menu/column-menu.scss +117 -0
  35. package/src/lib/components/data-grid/column-resize/_column-resize.scss +126 -0
  36. package/src/lib/components/data-grid/grid.scss +245 -0
  37. package/src/lib/components/date-range-input/calendar/date-range-calendar.scss +29 -0
  38. package/src/lib/components/date-range-input/date-range-input.scss +194 -0
  39. package/src/lib/components/dialog-wrapper/dialog-wrapper.scss +36 -0
  40. package/src/lib/components/drawer/_drawer-theme.scss +57 -0
  41. package/src/lib/components/drawer/_m3-drawer.scss +24 -0
  42. package/src/lib/components/drawer/drawer-container.scss +97 -0
  43. package/src/lib/components/icons/svg-icon/svg-icon.scss +16 -0
  44. package/src/lib/components/icons/user-icon/user-icon.scss +0 -0
  45. package/src/lib/components/input-chip/input-chip.scss +0 -0
  46. package/src/lib/components/popover/_m3-popover.scss +24 -0
  47. package/src/lib/components/popover/_popover-theme.scss +57 -0
  48. package/src/lib/components/popover/popover.scss +239 -0
  49. package/src/lib/components/spinner/spinner.scss +6 -0
  50. package/src/lib/components/tables/tabulator-table/tabulator-table.scss +68 -0
  51. package/src/lib/components/theme-toggle/theme-toggle.scss +3 -0
  52. package/src/lib/styles/_elevation.scss +168 -0
  53. package/src/lib/styles/_token-utils.scss +115 -0
  54. package/types/acontplus-ng-components.d.ts +920 -536
@@ -0,0 +1,150 @@
1
+ @use 'sass:map';
2
+
3
+ // Indicates whether alternative tokens should be used
4
+ $_alternate-tokens: false;
5
+
6
+ @function md-sys-color-values-dark($palettes: ()) {
7
+ $values: (
8
+ background: map.get($palettes, neutral, 6),
9
+ error: map.get($palettes, error, 80),
10
+ error-container: map.get($palettes, error, 30),
11
+ inverse-on-surface: map.get($palettes, neutral, 20),
12
+ inverse-primary: map.get($palettes, primary, 40),
13
+ inverse-surface: map.get($palettes, neutral, 90),
14
+ on-background: map.get($palettes, neutral, 90),
15
+ on-error: map.get($palettes, error, 20),
16
+ on-error-container: map.get($palettes, error, 90),
17
+ on-primary: map.get($palettes, primary, 20),
18
+ on-primary-container: map.get($palettes, primary, 90),
19
+ on-primary-fixed: map.get($palettes, primary, 10),
20
+ on-primary-fixed-variant: map.get($palettes, primary, 30),
21
+ on-secondary: map.get($palettes, secondary, 20),
22
+ on-secondary-container: map.get($palettes, secondary, 90),
23
+ on-secondary-fixed: map.get($palettes, secondary, 10),
24
+ on-secondary-fixed-variant: map.get($palettes, secondary, 30),
25
+ on-surface: map.get($palettes, neutral, 90),
26
+ on-surface-variant: map.get($palettes, neutral-variant, 90),
27
+ on-tertiary: map.get($palettes, tertiary, 20),
28
+ on-tertiary-container: map.get($palettes, tertiary, 90),
29
+ on-tertiary-fixed: map.get($palettes, tertiary, 10),
30
+ on-tertiary-fixed-variant: map.get($palettes, tertiary, 30),
31
+ outline: map.get($palettes, neutral-variant, 60),
32
+ outline-variant: map.get($palettes, neutral-variant, 30),
33
+ primary: map.get($palettes, primary, 80),
34
+ primary-container: map.get($palettes, primary, 30),
35
+ primary-fixed: map.get($palettes, primary, 90),
36
+ primary-fixed-dim: map.get($palettes, primary, 80),
37
+ scrim: map.get($palettes, neutral, 0),
38
+ secondary: map.get($palettes, secondary, 80),
39
+ secondary-container: map.get($palettes, secondary, 30),
40
+ secondary-fixed: map.get($palettes, secondary, 90),
41
+ secondary-fixed-dim: map.get($palettes, secondary, 80),
42
+ shadow: map.get($palettes, neutral, 0),
43
+ surface: map.get($palettes, neutral, 6),
44
+ surface-bright: map.get($palettes, neutral, 24),
45
+ surface-container: map.get($palettes, neutral, 12),
46
+ surface-container-high: map.get($palettes, neutral, 17),
47
+ surface-container-highest: map.get($palettes, neutral, 22),
48
+ surface-container-low: map.get($palettes, neutral, 10),
49
+ surface-container-lowest: map.get($palettes, neutral, 4),
50
+ surface-dim: map.get($palettes, neutral, 6),
51
+ surface-tint: map.get($palettes, primary, 80),
52
+ surface-variant: map.get($palettes, neutral-variant, 30),
53
+ tertiary: map.get($palettes, tertiary, 80),
54
+ tertiary-container: map.get($palettes, tertiary, 30),
55
+ tertiary-fixed: map.get($palettes, tertiary, 90),
56
+ tertiary-fixed-dim: map.get($palettes, tertiary, 80),
57
+ );
58
+
59
+ @if ($_alternate-tokens) {
60
+ $values: map.merge(
61
+ $values,
62
+ (
63
+ on-surface-variant: map.get($palettes, neutral-variant, 80),
64
+ surface-bright: #37393b,
65
+ surface-container: #1e1f20,
66
+ surface-container-high: #282a2c,
67
+ surface-container-highest: #333537,
68
+ surface-container-low: #1b1b1b,
69
+ surface-container-lowest: #0e0e0e,
70
+ surface-dim: #131313,
71
+ surface-tint: #d1e1ff,
72
+ )
73
+ );
74
+ }
75
+
76
+ @return $values;
77
+ }
78
+
79
+ @function md-sys-color-values-light($palettes: ()) {
80
+ $values: (
81
+ background: map.get($palettes, neutral, 98),
82
+ error: map.get($palettes, error, 40),
83
+ error-container: map.get($palettes, error, 90),
84
+ inverse-on-surface: map.get($palettes, neutral, 95),
85
+ inverse-primary: map.get($palettes, primary, 80),
86
+ inverse-surface: map.get($palettes, neutral, 20),
87
+ on-background: map.get($palettes, neutral, 10),
88
+ on-error: map.get($palettes, error, 100),
89
+ on-error-container: map.get($palettes, error, 30),
90
+ on-primary: map.get($palettes, primary, 100),
91
+ on-primary-container: map.get($palettes, primary, 30),
92
+ on-primary-fixed: map.get($palettes, primary, 10),
93
+ on-primary-fixed-variant: map.get($palettes, primary, 30),
94
+ on-secondary: map.get($palettes, secondary, 100),
95
+ on-secondary-container: map.get($palettes, secondary, 30),
96
+ on-secondary-fixed: map.get($palettes, secondary, 10),
97
+ on-secondary-fixed-variant: map.get($palettes, secondary, 30),
98
+ on-surface: map.get($palettes, neutral, 10),
99
+ on-surface-variant: map.get($palettes, neutral-variant, 30),
100
+ on-tertiary: map.get($palettes, tertiary, 100),
101
+ on-tertiary-container: map.get($palettes, tertiary, 30),
102
+ on-tertiary-fixed: map.get($palettes, tertiary, 10),
103
+ on-tertiary-fixed-variant: map.get($palettes, tertiary, 30),
104
+ outline: map.get($palettes, neutral-variant, 50),
105
+ outline-variant: map.get($palettes, neutral-variant, 80),
106
+ primary: map.get($palettes, primary, 40),
107
+ primary-container: map.get($palettes, primary, 90),
108
+ primary-fixed: map.get($palettes, primary, 90),
109
+ primary-fixed-dim: map.get($palettes, primary, 80),
110
+ scrim: map.get($palettes, neutral, 0),
111
+ secondary: map.get($palettes, secondary, 40),
112
+ secondary-container: map.get($palettes, secondary, 90),
113
+ secondary-fixed: map.get($palettes, secondary, 90),
114
+ secondary-fixed-dim: map.get($palettes, secondary, 80),
115
+ shadow: map.get($palettes, neutral, 0),
116
+ surface: map.get($palettes, neutral, 98),
117
+ surface-bright: map.get($palettes, neutral, 98),
118
+ surface-container: map.get($palettes, neutral, 94),
119
+ surface-container-high: map.get($palettes, neutral, 92),
120
+ surface-container-highest: map.get($palettes, neutral, 90),
121
+ surface-container-low: map.get($palettes, neutral, 96),
122
+ surface-container-lowest: map.get($palettes, neutral, 100),
123
+ surface-dim: map.get($palettes, neutral, 87),
124
+ surface-tint: map.get($palettes, primary, 40),
125
+ surface-variant: map.get($palettes, neutral-variant, 90),
126
+ tertiary: map.get($palettes, tertiary, 40),
127
+ tertiary-container: map.get($palettes, tertiary, 90),
128
+ tertiary-fixed: map.get($palettes, tertiary, 90),
129
+ tertiary-fixed-dim: map.get($palettes, tertiary, 80),
130
+ );
131
+
132
+ @if ($_alternate-tokens) {
133
+ $values: map.merge(
134
+ $values,
135
+ (
136
+ background: map.get($palettes, neutral, 100),
137
+ surface: map.get($palettes, neutral, 100),
138
+ surface-bright: map.get($palettes, neutral, 100),
139
+ surface-container: #f0f4f9,
140
+ surface-container-high: #e9eef6,
141
+ surface-container-highest: #dde3ea,
142
+ surface-container-low: #f8fafd,
143
+ surface-dim: #d3dbe5,
144
+ surface-tint: #6991d6,
145
+ )
146
+ );
147
+ }
148
+
149
+ @return $values;
150
+ }
@@ -0,0 +1,8 @@
1
+ //
2
+ // Design system display name: Material 3
3
+ // Design system version: v0.161
4
+ //
5
+
6
+ @function md-sys-elevation-values() {
7
+ @return (level0: 0, level1: 1, level2: 3, level3: 6, level4: 8, level5: 12);
8
+ }
@@ -0,0 +1,35 @@
1
+ //
2
+ // Design system display name: Material 3
3
+ // Design system version: v0.161
4
+ //
5
+
6
+ @function md-sys-motion-values() {
7
+ @return (
8
+ duration-extra-long1: 700ms,
9
+ duration-extra-long2: 800ms,
10
+ duration-extra-long3: 900ms,
11
+ duration-extra-long4: 1000ms,
12
+ duration-long1: 450ms,
13
+ duration-long2: 500ms,
14
+ duration-long3: 550ms,
15
+ duration-long4: 600ms,
16
+ duration-medium1: 250ms,
17
+ duration-medium2: 300ms,
18
+ duration-medium3: 350ms,
19
+ duration-medium4: 400ms,
20
+ duration-short1: 50ms,
21
+ duration-short2: 100ms,
22
+ duration-short3: 150ms,
23
+ duration-short4: 200ms,
24
+ easing-emphasized: cubic-bezier(0.2, 0, 0, 1),
25
+ easing-emphasized-accelerate: cubic-bezier(0.3, 0, 0.8, 0.15),
26
+ easing-emphasized-decelerate: cubic-bezier(0.05, 0.7, 0.1, 1),
27
+ easing-legacy: cubic-bezier(0.4, 0, 0.2, 1),
28
+ easing-legacy-accelerate: cubic-bezier(0.4, 0, 1, 1),
29
+ easing-legacy-decelerate: cubic-bezier(0, 0, 0.2, 1),
30
+ easing-linear: cubic-bezier(0, 0, 1, 1),
31
+ easing-standard: cubic-bezier(0.2, 0, 0, 1),
32
+ easing-standard-accelerate: cubic-bezier(0.3, 0, 1, 1),
33
+ easing-standard-decelerate: cubic-bezier(0, 0, 0, 1)
34
+ );
35
+ }
@@ -0,0 +1,31 @@
1
+ //
2
+ // Design system display name: Material 3
3
+ // Design system version: v0.161
4
+ //
5
+
6
+ @function md-sys-shape-values() {
7
+ @return (
8
+ corner-extra-large: 28px,
9
+ corner-extra-large-top: (
10
+ 28px 28px 0 0,
11
+ ),
12
+ corner-extra-small: 4px,
13
+ corner-extra-small-top: (
14
+ 4px 4px 0 0,
15
+ ),
16
+ corner-full: 9999px,
17
+ corner-large: 16px,
18
+ corner-large-end: (
19
+ 0 16px 16px 0,
20
+ ),
21
+ corner-large-start: (
22
+ 16px 0 0 16px,
23
+ ),
24
+ corner-large-top: (
25
+ 16px 16px 0 0,
26
+ ),
27
+ corner-medium: 12px,
28
+ corner-none: 0,
29
+ corner-small: 8px
30
+ );
31
+ }
@@ -0,0 +1,13 @@
1
+ //
2
+ // Design system display name: Material 3
3
+ // Design system version: v0.161
4
+ //
5
+
6
+ @function md-sys-state-values($exclude-hardcoded-values: false) {
7
+ @return (
8
+ dragged-state-layer-opacity: 0.16,
9
+ focus-state-layer-opacity: 0.12,
10
+ hover-state-layer-opacity: 0.08,
11
+ pressed-state-layer-opacity: 0.12
12
+ );
13
+ }
@@ -0,0 +1,131 @@
1
+ //
2
+ // Design system display name: Material 3
3
+ // Design system version: v0.161
4
+ //
5
+
6
+ @use 'sass:map';
7
+
8
+ // Indicates whether alternative tokens should be used
9
+ $_alternate-tokens: false;
10
+
11
+ @function md-sys-typescale-values($typography: ()) {
12
+ $plain: map.get($typography, plain);
13
+ $brand: map.get($typography, brand);
14
+ $bold: map.get($typography, bold);
15
+ $medium: map.get($typography, medium);
16
+ $regular: map.get($typography, regular);
17
+
18
+ $values: (
19
+ body-large: $regular 1rem #{'/'} 1.5rem $plain,
20
+ body-large-font: $plain,
21
+ body-large-line-height: 1.5rem,
22
+ body-large-size: 1rem,
23
+ body-large-tracking: 0.031rem,
24
+ body-large-weight: $regular,
25
+ body-medium: $regular 0.875rem #{'/'} 1.25rem $plain,
26
+ body-medium-font: $plain,
27
+ body-medium-line-height: 1.25rem,
28
+ body-medium-size: 0.875rem,
29
+ body-medium-tracking: 0.016rem,
30
+ body-medium-weight: $regular,
31
+ body-small: $regular 0.75rem #{'/'} 1rem $plain,
32
+ body-small-font: $plain,
33
+ body-small-line-height: 1rem,
34
+ body-small-size: 0.75rem,
35
+ body-small-tracking: 0.025rem,
36
+ body-small-weight: $regular,
37
+ display-large: $regular 3.562rem #{'/'} 4rem $brand,
38
+ display-large-font: $brand,
39
+ display-large-line-height: 4rem,
40
+ display-large-size: 3.562rem,
41
+ display-large-tracking: -0.016rem,
42
+ display-large-weight: $regular,
43
+ display-medium: $regular 2.812rem #{'/'} 3.25rem $brand,
44
+ display-medium-font: $brand,
45
+ display-medium-line-height: 3.25rem,
46
+ display-medium-size: 2.812rem,
47
+ display-medium-tracking: 0,
48
+ display-medium-weight: $regular,
49
+ display-small: $regular 2.25rem #{'/'} 2.75rem $brand,
50
+ display-small-font: $brand,
51
+ display-small-line-height: 2.75rem,
52
+ display-small-size: 2.25rem,
53
+ display-small-tracking: 0,
54
+ display-small-weight: $regular,
55
+ headline-large: $regular 2rem #{'/'} 2.5rem $brand,
56
+ headline-large-font: $brand,
57
+ headline-large-line-height: 2.5rem,
58
+ headline-large-size: 2rem,
59
+ headline-large-tracking: 0,
60
+ headline-large-weight: $regular,
61
+ headline-medium: $regular 1.75rem #{'/'} 2.25rem $brand,
62
+ headline-medium-font: $brand,
63
+ headline-medium-line-height: 2.25rem,
64
+ headline-medium-size: 1.75rem,
65
+ headline-medium-tracking: 0,
66
+ headline-medium-weight: $regular,
67
+ headline-small: $regular 1.5rem #{'/'} 2rem $brand,
68
+ headline-small-font: $brand,
69
+ headline-small-line-height: 2rem,
70
+ headline-small-size: 1.5rem,
71
+ headline-small-tracking: 0,
72
+ headline-small-weight: $regular,
73
+ label-large: $medium 0.875rem #{'/'} 1.25rem $plain,
74
+ label-large-font: $plain,
75
+ label-large-line-height: 1.25rem,
76
+ label-large-size: 0.875rem,
77
+ label-large-tracking: 0.006rem,
78
+ label-large-weight: $medium,
79
+ label-large-weight-prominent: $bold,
80
+ label-medium: $medium 0.75rem #{'/'} 1rem $plain,
81
+ label-medium-font: $plain,
82
+ label-medium-line-height: 1rem,
83
+ label-medium-size: 0.75rem,
84
+ label-medium-tracking: 0.031rem,
85
+ label-medium-weight: $medium,
86
+ label-medium-weight-prominent: $bold,
87
+ label-small: $medium 0.688rem #{'/'} 1rem $plain,
88
+ label-small-font: $plain,
89
+ label-small-line-height: 1rem,
90
+ label-small-size: 0.688rem,
91
+ label-small-tracking: 0.031rem,
92
+ label-small-weight: $medium,
93
+ title-large: $regular 1.375rem #{'/'} 1.75rem $brand,
94
+ title-large-font: $brand,
95
+ title-large-line-height: 1.75rem,
96
+ title-large-size: 1.375rem,
97
+ title-large-tracking: 0,
98
+ title-large-weight: $regular,
99
+ title-medium: $medium 1rem #{'/'} 1.5rem $plain,
100
+ title-medium-font: $plain,
101
+ title-medium-line-height: 1.5rem,
102
+ title-medium-size: 1rem,
103
+ title-medium-tracking: 0.009rem,
104
+ title-medium-weight: $medium,
105
+ title-small: $medium 0.875rem #{'/'} 1.25rem $plain,
106
+ title-small-font: $plain,
107
+ title-small-line-height: 1.25rem,
108
+ title-small-size: 0.875rem,
109
+ title-small-tracking: 0.006rem,
110
+ title-small-weight: $medium,
111
+ );
112
+
113
+ @if ($_alternate-tokens) {
114
+ $values: map.merge(
115
+ $values,
116
+ (
117
+ body-large-tracking: 0,
118
+ body-medium-tracking: 0,
119
+ body-small-tracking: 0.006rem,
120
+ display-large-tracking: 0,
121
+ label-large-tracking: 0,
122
+ label-medium-tracking: 0.006rem,
123
+ label-small-tracking: 0.006rem,
124
+ title-medium-tracking: 0,
125
+ title-small-tracking: 0,
126
+ )
127
+ );
128
+ }
129
+
130
+ @return $values;
131
+ }
@@ -0,0 +1,41 @@
1
+ @use './md-sys-color';
2
+ @use './md-sys-elevation';
3
+ @use './md-sys-shape';
4
+ @use './md-sys-state';
5
+ @use './md-sys-typescale';
6
+ @use 'sass:map';
7
+
8
+ // Return a new map where the values are the same as the provided map's
9
+ // keys, prefixed with "--mat-sys-". For example:
10
+ // (key1: '', key2: '') --> (key1: --mat-sys-key1, key2: --mat-sys-key2)
11
+ @function _create-system-app-vars-map($map) {
12
+ $new-map: ();
13
+ @each $key, $value in $map {
14
+ $new-map: map.set($new-map, $key, --mat-sys-#{$key});
15
+ }
16
+ @return $new-map;
17
+ }
18
+
19
+ $_sys-maps: (
20
+ md-sys-color.md-sys-color-values-light(),
21
+ md-sys-typescale.md-sys-typescale-values(),
22
+ md-sys-elevation.md-sys-elevation-values(),
23
+ md-sys-state.md-sys-state-values(),
24
+ md-sys-shape.md-sys-shape-values(),
25
+ (
26
+ neutral10: '',
27
+ // Form field native select option text color
28
+ neutral-variant20: '',
29
+ // Sidenav scrim (container background shadow when opened),
30
+ )
31
+ );
32
+
33
+ $_system: (
34
+ density-scale: 0,
35
+ );
36
+ @each $sys-map in $_sys-maps {
37
+ $_system: map.merge($_system, _create-system-app-vars-map($sys-map));
38
+ }
39
+ $sys-theme: (
40
+ _mat-system: $_system,
41
+ );
@@ -0,0 +1,34 @@
1
+ @use '@angular/material' as mat;
2
+ @use '../../../lib/components/alert/alert-theme';
3
+ // @use '../../button/button-theme';
4
+ // @use '../../colorpicker/colorpicker-theme';
5
+ // @use '../../datetimepicker/datetimepicker-theme';
6
+ @use '../../../lib/components/drawer/drawer-theme';
7
+ @use '../../../lib/components/grid/grid-theme';
8
+ // @use '../../loader/loader-theme';
9
+ @use '../../../lib/components/popover/popover-theme';
10
+ // @use '../../progress/progress-theme';
11
+ // @use '../../select/select-theme';
12
+ // @use '../../split/split-theme';
13
+ // @use '../../tooltip/tooltip-theme';
14
+
15
+ // Includes all of the typographic styles.
16
+ @mixin all-component-typographies($theme: null) {
17
+ @include alert-theme.typography($theme);
18
+ // @include button-theme.typography($theme);
19
+ // @include colorpicker-theme.typography($theme);
20
+ // @include datetimepicker-theme.typography($theme);
21
+ @include drawer-theme.typography($theme);
22
+ @include grid-theme.typography($theme);
23
+ // @include loader-theme.typography($theme);
24
+ @include popover-theme.typography($theme);
25
+ // @include progress-theme.typography($theme);
26
+ // @include select-theme.typography($theme);
27
+ // @include split-theme.typography($theme);
28
+ // @include tooltip-theme.typography($theme);
29
+ }
30
+
31
+ // @deprecated Use `all-component-typographies`.
32
+ @mixin material-extensions-typography($theme: null) {
33
+ @include all-component-typographies($theme);
34
+ }
@@ -0,0 +1,57 @@
1
+ @use 'sass:map';
2
+ @use '@angular/material' as mat;
3
+ @use '../../../core/tokens/token-utils';
4
+ @use './m3-alert';
5
+
6
+ @mixin base($theme) {
7
+ $tokens: map.get(m3-alert.get-tokens($theme), base);
8
+
9
+ @include token-utils.values($tokens);
10
+ }
11
+
12
+ @mixin color($theme) {
13
+ $tokens: map.get(m3-alert.get-tokens($theme), color);
14
+
15
+ @include token-utils.values($tokens);
16
+ }
17
+
18
+ @mixin typography($theme) {
19
+ $tokens: map.get(m3-alert.get-tokens($theme), typography);
20
+
21
+ @include token-utils.values($tokens);
22
+ }
23
+
24
+ @mixin density($theme) {
25
+ $tokens: map.get(m3-alert.get-tokens($theme), density);
26
+
27
+ @include token-utils.values($tokens);
28
+ }
29
+
30
+ /// Defines the tokens that will be available in the `overrides` mixin and for docs extraction.
31
+ @function _define-overrides() {
32
+ @return ((namespace: alert, tokens: token-utils.get-overrides(m3-alert.get-tokens(), alert)));
33
+ }
34
+
35
+ @mixin overrides($tokens: ()) {
36
+ @include token-utils.batch-create-token-values($tokens, _define-overrides());
37
+ }
38
+
39
+ @mixin theme($theme, $color-variant: null) {
40
+ @if mat.get-theme-version($theme) == 1 {
41
+ @include base($theme);
42
+ @include color($theme);
43
+ @include density($theme);
44
+ @include typography($theme);
45
+ } @else {
46
+ @include base($theme);
47
+ @if mat.theme-has($theme, color) {
48
+ @include color($theme);
49
+ }
50
+ @if mat.theme-has($theme, density) {
51
+ @include density($theme);
52
+ }
53
+ @if mat.theme-has($theme, typography) {
54
+ @include typography($theme);
55
+ }
56
+ }
57
+ }
@@ -0,0 +1,72 @@
1
+ @use 'sass:map';
2
+ @use '@angular/material' as mat;
3
+ @use '../../../core/tokens/m3-utils';
4
+ @use '../../../core/tokens/m3';
5
+
6
+ @function get-tokens($theme: m3.$sys-theme) {
7
+ $system: m3-utils.get-system($theme);
8
+ $is-dark: map.get($system, md-sys-type) == dark;
9
+
10
+ $tokens: (
11
+ base: (
12
+ alert-container-shape: map.get($system, corner-small),
13
+ ),
14
+ color: (
15
+ alert-outline-color: map.get($system, outline-variant),
16
+ alert-background-color: map.get($system, surface-container),
17
+ alert-text-color: map.get($system, on-surface),
18
+ alert-info-outline-color: light-dark(
19
+ map.get(mat.$azure-palette, 80),
20
+ map.get(mat.$azure-palette, 40)
21
+ ),
22
+ alert-info-background-color: light-dark(
23
+ map.get(mat.$azure-palette, 90),
24
+ map.get(mat.$azure-palette, 20)
25
+ ),
26
+ alert-info-text-color: light-dark(
27
+ map.get(mat.$azure-palette, 20),
28
+ map.get(mat.$azure-palette, 90)
29
+ ),
30
+ alert-success-outline-color: light-dark(
31
+ map.get(mat.$green-palette, 80),
32
+ map.get(mat.$green-palette, 40)
33
+ ),
34
+ alert-success-background-color: light-dark(
35
+ map.get(mat.$green-palette, 95),
36
+ map.get(mat.$green-palette, 20)
37
+ ),
38
+ alert-success-text-color: light-dark(
39
+ map.get(mat.$green-palette, 20),
40
+ map.get(mat.$green-palette, 95)
41
+ ),
42
+ alert-warning-outline-color: light-dark(
43
+ map.get(mat.$yellow-palette, 80),
44
+ map.get(mat.$yellow-palette, 40)
45
+ ),
46
+ alert-warning-background-color: light-dark(
47
+ map.get(mat.$yellow-palette, 98),
48
+ map.get(mat.$yellow-palette, 20)
49
+ ),
50
+ alert-warning-text-color: light-dark(
51
+ map.get(mat.$yellow-palette, 20),
52
+ map.get(mat.$yellow-palette, 98)
53
+ ),
54
+ alert-danger-outline-color: light-dark(
55
+ map.get(mat.$red-palette, 80),
56
+ map.get(mat.$red-palette, 40)
57
+ ),
58
+ alert-danger-background-color: light-dark(
59
+ map.get(mat.$red-palette, 90),
60
+ map.get(mat.$red-palette, 20)
61
+ ),
62
+ alert-danger-text-color: light-dark(
63
+ map.get(mat.$red-palette, 20),
64
+ map.get(mat.$red-palette, 90)
65
+ ),
66
+ ),
67
+ typography: (),
68
+ density: (),
69
+ );
70
+
71
+ @return $tokens;
72
+ }
@@ -0,0 +1,60 @@
1
+ @use '../../../core/tokens/token-utils';
2
+ @use './m3-alert';
3
+
4
+ $fallbacks: m3-alert.get-tokens();
5
+
6
+ .acp-alert {
7
+ position: relative;
8
+ display: block;
9
+ padding: 0.75rem 1rem;
10
+ margin-bottom: 1rem;
11
+ line-height: 1.5;
12
+ border: 1px solid token-utils.slot(alert-outline-color, $fallbacks);
13
+ border-radius: token-utils.slot(alert-container-shape, $fallbacks);
14
+ background-color: token-utils.slot(alert-background-color, $fallbacks);
15
+ color: token-utils.slot(alert-text-color, $fallbacks);
16
+
17
+ &.acp-alert-info {
18
+ border-color: token-utils.slot(alert-info-outline-color, $fallbacks);
19
+ background-color: token-utils.slot(alert-info-background-color, $fallbacks);
20
+ color: token-utils.slot(alert-info-text-color, $fallbacks);
21
+ }
22
+
23
+ &.acp-alert-success {
24
+ border-color: token-utils.slot(alert-success-outline-color, $fallbacks);
25
+ background-color: token-utils.slot(alert-success-background-color, $fallbacks);
26
+ color: token-utils.slot(alert-success-text-color, $fallbacks);
27
+ }
28
+
29
+ &.acp-alert-warning {
30
+ border-color: token-utils.slot(alert-warning-outline-color, $fallbacks);
31
+ background-color: token-utils.slot(alert-warning-background-color, $fallbacks);
32
+ color: token-utils.slot(alert-warning-text-color, $fallbacks);
33
+ }
34
+
35
+ &.acp-alert-danger {
36
+ border-color: token-utils.slot(alert-danger-outline-color, $fallbacks);
37
+ background-color: token-utils.slot(alert-danger-background-color, $fallbacks);
38
+ color: token-utils.slot(alert-danger-text-color, $fallbacks);
39
+ }
40
+ }
41
+
42
+ .acp-alert-close {
43
+ position: absolute;
44
+ top: 0;
45
+ right: 0;
46
+ display: flex;
47
+ align-items: center;
48
+ justify-content: center;
49
+ width: 3rem;
50
+ height: 3rem;
51
+
52
+ [dir='rtl'] & {
53
+ right: auto;
54
+ left: 0;
55
+ }
56
+ }
57
+
58
+ .acp-alert-dismissible {
59
+ padding-right: 3rem;
60
+ }