@acontplus/ng-components 2.1.32 → 2.4.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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acontplus/ng-components",
3
- "version": "2.1.32",
3
+ "version": "2.4.0",
4
4
  "description": "Comprehensive Angular Material UI component library featuring dynamic Tabulator tables, theme toggle with dark mode, dialog wrappers, autocomplete components, cards, buttons, icons, input chips, spinners, directives, pipes, and SCSS styling utilities.",
5
5
  "peerDependencies": {
6
6
  "@acontplus/ui-kit": "^1.0.2",
@@ -114,4 +114,4 @@
114
114
  "dependencies": {
115
115
  "tslib": "^2.3.0"
116
116
  }
117
- }
117
+ }
package/src/_index.scss CHANGED
@@ -1,12 +1,17 @@
1
1
  @forward './lib/components/alert/alert-theme' as alert-* show alert-theme, alert-color,
2
2
  alert-typography, alert-density, alert-base, alert-overrides;
3
3
 
4
+ @forward './lib/components/badge/badge-theme' as badge-* show badge-theme, badge-color,
5
+ badge-typography, badge-density, badge-base, badge-overrides;
6
+
4
7
  @forward './lib/components/drawer/drawer-theme' as drawer-* show drawer-theme, drawer-color,
5
8
  drawer-typography, drawer-density, drawer-base, drawer-overrides;
6
9
  @forward './lib/components/grid/grid-theme' as grid-* show grid-theme, grid-color, grid-typography,
7
10
  grid-density, grid-base, grid-overrides;
8
11
  @forward './lib/components/popover/popover-theme' as popover-* show popover-theme, popover-color,
9
12
  popover-typography, popover-density, popover-base, popover-overrides;
13
+ @forward './lib/components/kpi-card/kpi-card-theme' as kpi-card-* show kpi-card-theme,
14
+ kpi-card-color, kpi-card-typography, kpi-card-density, kpi-card-base, kpi-card-overrides;
10
15
  @forward './core/theming/definition' show define-theme, define-colors, define-typography,
11
16
  define-density;
12
17
  @forward './core/theming/color-api-backwards-compatibility' show
@@ -1,22 +1,28 @@
1
1
  @use '@angular/material' as mat;
2
2
  @use './../../lib/components/alert/alert-theme';
3
+ @use './../../lib/components/badge/badge-theme';
3
4
  @use './../../lib/components/drawer/drawer-theme';
4
5
  @use './../../lib/components/grid/grid-theme';
5
6
  @use './../../lib/components/popover/popover-theme';
7
+ @use './../../lib/components/kpi-card/kpi-card-theme';
6
8
 
7
9
  // Create a theme.
8
10
  @mixin all-component-themes($theme) {
9
11
  @include alert-theme.theme($theme);
12
+ @include badge-theme.theme($theme);
10
13
  @include drawer-theme.theme($theme);
11
14
  @include grid-theme.theme($theme);
12
15
  @include popover-theme.theme($theme);
16
+ @include kpi-card-theme.theme($theme);
13
17
  }
14
18
 
15
19
  @mixin all-component-bases($theme) {
16
20
  @include alert-theme.base($theme);
21
+ @include badge-theme.base($theme);
17
22
  @include drawer-theme.base($theme);
18
23
  @include grid-theme.base($theme);
19
24
  @include popover-theme.base($theme);
25
+ @include kpi-card-theme.base($theme);
20
26
  }
21
27
 
22
28
  // Custom component overrides for all themes
@@ -0,0 +1,58 @@
1
+ @use 'sass:map';
2
+ @use '@angular/material' as mat;
3
+ @use '../../../core/tokens/token-utils';
4
+ @use './m3-badge';
5
+
6
+ $fallbacks: m3-badge.get-tokens();
7
+
8
+ @mixin base($theme) {
9
+ $tokens: map.get(m3-badge.get-tokens($theme), base);
10
+
11
+ @include token-utils.values($tokens);
12
+ }
13
+
14
+ @mixin color($theme) {
15
+ $tokens: map.get(m3-badge.get-tokens($theme), color);
16
+
17
+ @include token-utils.values($tokens);
18
+ }
19
+
20
+ @mixin typography($theme) {
21
+ $tokens: map.get(m3-badge.get-tokens($theme), typography);
22
+
23
+ @include token-utils.values($tokens);
24
+ }
25
+
26
+ @mixin density($theme) {
27
+ $tokens: map.get(m3-badge.get-tokens($theme), density);
28
+
29
+ @include token-utils.values($tokens);
30
+ }
31
+
32
+ @function _define-overrides() {
33
+ @return ((namespace: badge, tokens: token-utils.get-overrides(m3-badge.get-tokens(), badge)));
34
+ }
35
+
36
+ @mixin overrides($tokens: ()) {
37
+ @include token-utils.batch-create-token-values($tokens, _define-overrides());
38
+ }
39
+
40
+ @mixin theme($theme, $color-variant: null) {
41
+ @if mat.get-theme-version($theme) == 1 {
42
+ @include base($theme);
43
+ @include color($theme);
44
+ @include density($theme);
45
+ @include typography($theme);
46
+ } @else {
47
+ @include base($theme);
48
+ @if mat.theme-has($theme, color) {
49
+ @include color($theme);
50
+ }
51
+ @if mat.theme-has($theme, density) {
52
+ @include density($theme);
53
+ }
54
+ @if mat.theme-has($theme, typography) {
55
+ @include typography($theme);
56
+ }
57
+ }
58
+ }
@@ -0,0 +1,52 @@
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
+
9
+ $semantic-palettes: (
10
+ success: mat.$green-palette,
11
+ warning: mat.$orange-palette,
12
+ danger: mat.$red-palette,
13
+ info: mat.$azure-palette,
14
+ );
15
+
16
+ $color-tokens: ();
17
+ @each $name, $palette in $semantic-palettes {
18
+ $color-tokens: map.merge(
19
+ $color-tokens,
20
+ (
21
+ badge-#{$name}-fg: light-dark(map.get($palette, 95), map.get($palette, 20)),
22
+ badge-#{$name}-bg: light-dark(map.get($palette, 40), map.get($palette, 80))
23
+ )
24
+ );
25
+ }
26
+
27
+ $tokens: (
28
+ base: (
29
+ badge-container-shape: map.get($system, corner-small),
30
+ badge-pill-shape: map.get($system, corner-full),
31
+ ),
32
+ color: map.merge(
33
+ (
34
+ badge-primary-color: map.get($system, on-primary),
35
+ badge-primary-bg: map.get($system, primary),
36
+ badge-secondary-color: map.get($system, on-secondary),
37
+ badge-secondary-bg: map.get($system, secondary),
38
+ badge-tertiary-color: map.get($system, on-tertiary),
39
+ badge-tertiary-bg: map.get($system, tertiary),
40
+ badge-neutral-color: map.get($system, on-surface-variant),
41
+ badge-neutral-bg: map.get($system, surface-variant),
42
+ badge-custom-color: map.get($system, on-surface),
43
+ badge-custom-bg: map.get($system, surface-container),
44
+ ),
45
+ $color-tokens
46
+ ),
47
+ typography: (),
48
+ density: (),
49
+ );
50
+
51
+ @return $tokens;
52
+ }
@@ -0,0 +1,318 @@
1
+ @use '@angular/material' as mat;
2
+ @use '../../../core/tokens/token-utils';
3
+ @use './m3-badge';
4
+
5
+ $fallbacks: m3-badge.get-tokens();
6
+
7
+ .acp-badge {
8
+ --acp-badge-bg: #{token-utils.slot(badge-primary-bg, $fallbacks)};
9
+ --acp-badge-fg: #{token-utils.slot(badge-primary-color, $fallbacks)};
10
+
11
+ display: inline-flex;
12
+ vertical-align: middle;
13
+ max-width: 100%;
14
+
15
+ &__set {
16
+ display: inline-flex;
17
+ max-width: 100%;
18
+ }
19
+
20
+ &__chip.mat-mdc-chip {
21
+ position: relative;
22
+ max-width: 100%;
23
+ }
24
+
25
+ &__label,
26
+ &__value {
27
+ white-space: nowrap;
28
+ overflow: hidden;
29
+ text-overflow: ellipsis;
30
+ }
31
+
32
+ &__separator {
33
+ margin: 0 6px;
34
+ opacity: 0.6;
35
+ }
36
+
37
+ &__loader {
38
+ position: absolute;
39
+ inset: 0;
40
+ display: flex;
41
+ align-items: center;
42
+ justify-content: center;
43
+ background: inherit;
44
+ border-radius: inherit;
45
+ z-index: 1;
46
+
47
+ &::after {
48
+ content: '';
49
+ width: 16px;
50
+ height: 16px;
51
+ border: 2px solid currentColor;
52
+ border-right-color: transparent;
53
+ border-radius: 50%;
54
+ animation: acp-badge-spin 0.75s linear infinite;
55
+ }
56
+ }
57
+
58
+ &__remove {
59
+ cursor: pointer;
60
+
61
+ &:focus-visible {
62
+ outline: 2px solid currentColor;
63
+ outline-offset: 1px;
64
+ }
65
+ }
66
+
67
+ @keyframes acp-badge-spin {
68
+ to {
69
+ transform: rotate(360deg);
70
+ }
71
+ }
72
+
73
+ // Colors - set CSS variables on host
74
+ &.acp-badge--primary {
75
+ --acp-badge-bg: #{token-utils.slot(badge-primary-bg, $fallbacks)};
76
+ --acp-badge-fg: #{token-utils.slot(badge-primary-color, $fallbacks)};
77
+ }
78
+
79
+ &.acp-badge--secondary {
80
+ --acp-badge-bg: #{token-utils.slot(badge-secondary-bg, $fallbacks)};
81
+ --acp-badge-fg: #{token-utils.slot(badge-secondary-color, $fallbacks)};
82
+ }
83
+
84
+ &.acp-badge--tertiary {
85
+ --acp-badge-bg: #{token-utils.slot(badge-tertiary-bg, $fallbacks)};
86
+ --acp-badge-fg: #{token-utils.slot(badge-tertiary-color, $fallbacks)};
87
+ }
88
+
89
+ &.acp-badge--success {
90
+ --acp-badge-bg: #{token-utils.slot(badge-success-bg, $fallbacks)};
91
+ --acp-badge-fg: #{token-utils.slot(badge-success-fg, $fallbacks)};
92
+ }
93
+
94
+ &.acp-badge--warning {
95
+ --acp-badge-bg: #{token-utils.slot(badge-warning-bg, $fallbacks)};
96
+ --acp-badge-fg: #{token-utils.slot(badge-warning-fg, $fallbacks)};
97
+ }
98
+
99
+ &.acp-badge--danger {
100
+ --acp-badge-bg: #{token-utils.slot(badge-danger-bg, $fallbacks)};
101
+ --acp-badge-fg: #{token-utils.slot(badge-danger-fg, $fallbacks)};
102
+ }
103
+
104
+ &.acp-badge--info {
105
+ --acp-badge-bg: #{token-utils.slot(badge-info-bg, $fallbacks)};
106
+ --acp-badge-fg: #{token-utils.slot(badge-info-fg, $fallbacks)};
107
+ }
108
+
109
+ &.acp-badge--neutral {
110
+ --acp-badge-bg: #{token-utils.slot(badge-neutral-bg, $fallbacks)};
111
+ --acp-badge-fg: #{token-utils.slot(badge-neutral-color, $fallbacks)};
112
+ }
113
+
114
+ &.acp-badge--custom {
115
+ --acp-badge-bg: var(--acp-badge-custom-bg, #{token-utils.slot(badge-custom-bg, $fallbacks)});
116
+ --acp-badge-fg: var(--acp-badge-custom-fg, #{token-utils.slot(badge-custom-color, $fallbacks)});
117
+ }
118
+
119
+ // Variants - apply styles based on variant
120
+ &.acp-badge--filled &__chip.mat-mdc-chip {
121
+ @include mat.chips-overrides(
122
+ (
123
+ elevated-container-color: var(--acp-badge-bg),
124
+ elevated-selected-container-color: var(--acp-badge-bg),
125
+ label-text-color: var(--acp-badge-fg),
126
+ selected-label-text-color: var(--acp-badge-fg),
127
+ with-icon-icon-color: var(--acp-badge-fg),
128
+ with-icon-selected-icon-color: var(--acp-badge-fg),
129
+ with-trailing-icon-trailing-icon-color: var(--acp-badge-fg),
130
+ selected-trailing-icon-color: var(--acp-badge-fg),
131
+ outline-color: transparent,
132
+ )
133
+ );
134
+ }
135
+
136
+ &.acp-badge--outlined &__chip.mat-mdc-chip {
137
+ @include mat.chips-overrides(
138
+ (
139
+ elevated-container-color: transparent,
140
+ elevated-selected-container-color: transparent,
141
+ label-text-color: var(--acp-badge-bg),
142
+ selected-label-text-color: var(--acp-badge-bg),
143
+ with-icon-icon-color: var(--acp-badge-bg),
144
+ with-icon-selected-icon-color: var(--acp-badge-bg),
145
+ with-trailing-icon-trailing-icon-color: var(--acp-badge-bg),
146
+ selected-trailing-icon-color: var(--acp-badge-bg),
147
+ outline-color: var(--acp-badge-bg),
148
+ outline-width: 1px,
149
+ )
150
+ );
151
+ }
152
+
153
+ &.acp-badge--soft &__chip.mat-mdc-chip {
154
+ @include mat.chips-overrides(
155
+ (
156
+ elevated-container-color: color-mix(in srgb, var(--acp-badge-bg) 12%, transparent),
157
+ elevated-selected-container-color: color-mix(in srgb, var(--acp-badge-bg) 12%, transparent),
158
+ label-text-color: var(--acp-badge-bg),
159
+ selected-label-text-color: var(--acp-badge-bg),
160
+ with-icon-icon-color: var(--acp-badge-bg),
161
+ with-icon-selected-icon-color: var(--acp-badge-bg),
162
+ with-trailing-icon-trailing-icon-color: var(--acp-badge-bg),
163
+ selected-trailing-icon-color: var(--acp-badge-bg),
164
+ outline-color: transparent,
165
+ )
166
+ );
167
+ }
168
+
169
+ &.acp-badge--tonal &__chip.mat-mdc-chip {
170
+ @include mat.chips-overrides(
171
+ (
172
+ elevated-container-color: color-mix(in srgb, var(--acp-badge-bg) 22%, transparent),
173
+ elevated-selected-container-color: color-mix(in srgb, var(--acp-badge-bg) 22%, transparent),
174
+ label-text-color: var(--acp-badge-bg),
175
+ selected-label-text-color: var(--acp-badge-bg),
176
+ with-icon-icon-color: var(--acp-badge-bg),
177
+ with-icon-selected-icon-color: var(--acp-badge-bg),
178
+ with-trailing-icon-trailing-icon-color: var(--acp-badge-bg),
179
+ selected-trailing-icon-color: var(--acp-badge-bg),
180
+ outline-color: transparent,
181
+ )
182
+ );
183
+ }
184
+
185
+ &.acp-badge--text &__chip.mat-mdc-chip {
186
+ @include mat.chips-overrides(
187
+ (
188
+ elevated-container-color: transparent,
189
+ elevated-selected-container-color: transparent,
190
+ label-text-color: var(--acp-badge-bg),
191
+ selected-label-text-color: var(--acp-badge-bg),
192
+ with-icon-icon-color: var(--acp-badge-bg),
193
+ with-icon-selected-icon-color: var(--acp-badge-bg),
194
+ with-trailing-icon-trailing-icon-color: var(--acp-badge-bg),
195
+ selected-trailing-icon-color: var(--acp-badge-bg),
196
+ outline-color: transparent,
197
+ )
198
+ );
199
+ }
200
+
201
+ // Sizes
202
+ &.acp-badge--xs &__chip.mat-mdc-chip {
203
+ @include mat.chips-overrides(
204
+ (
205
+ container-height: 20px,
206
+ label-text-size: 10px,
207
+ )
208
+ );
209
+
210
+ .mat-icon {
211
+ --acp-badge-icon-size: 12px;
212
+ }
213
+ }
214
+
215
+ &.acp-badge--sm &__chip.mat-mdc-chip {
216
+ @include mat.chips-overrides(
217
+ (
218
+ container-height: 24px,
219
+ label-text-size: 11px,
220
+ )
221
+ );
222
+
223
+ .mat-icon {
224
+ --acp-badge-icon-size: 14px;
225
+ }
226
+ }
227
+
228
+ &.acp-badge--md &__chip.mat-mdc-chip {
229
+ @include mat.chips-overrides(
230
+ (
231
+ container-height: 28px,
232
+ label-text-size: 12px,
233
+ )
234
+ );
235
+
236
+ .mat-icon {
237
+ --acp-badge-icon-size: 16px;
238
+ }
239
+ }
240
+
241
+ &.acp-badge--lg &__chip.mat-mdc-chip {
242
+ @include mat.chips-overrides(
243
+ (
244
+ container-height: 32px,
245
+ label-text-size: 14px,
246
+ )
247
+ );
248
+
249
+ .mat-icon {
250
+ --acp-badge-icon-size: 18px;
251
+ }
252
+ }
253
+
254
+ // Shapes
255
+ &.acp-badge--rounded &__chip.mat-mdc-chip {
256
+ @include mat.chips-overrides(
257
+ (
258
+ container-shape-radius: #{token-utils.slot(badge-container-shape, $fallbacks)},
259
+ )
260
+ );
261
+ }
262
+
263
+ &.acp-badge--pill &__chip.mat-mdc-chip {
264
+ @include mat.chips-overrides(
265
+ (
266
+ container-shape-radius: #{token-utils.slot(badge-pill-shape, $fallbacks)},
267
+ )
268
+ );
269
+ }
270
+
271
+ &.acp-badge--square &__chip.mat-mdc-chip {
272
+ @include mat.chips-overrides(
273
+ (
274
+ container-shape-radius: 0,
275
+ )
276
+ );
277
+ }
278
+
279
+ // Icon sizing
280
+ &__chip.mat-mdc-chip .mat-icon {
281
+ width: var(--acp-badge-icon-size, 18px);
282
+ height: var(--acp-badge-icon-size, 18px);
283
+ font-size: var(--acp-badge-icon-size, 18px);
284
+ line-height: var(--acp-badge-icon-size, 18px);
285
+ }
286
+
287
+ // States
288
+ &.acp-badge--interactive &__chip.mat-mdc-chip {
289
+ cursor: pointer;
290
+ }
291
+
292
+ &.acp-badge--disabled &__chip.mat-mdc-chip {
293
+ cursor: not-allowed;
294
+ opacity: 0.5;
295
+ }
296
+
297
+ &.acp-badge--loading &__chip.mat-mdc-chip {
298
+ pointer-events: none;
299
+ }
300
+
301
+ &.acp-badge--selected &__chip.mat-mdc-chip.mdc-evolution-chip--selected,
302
+ &.acp-badge--selected &__chip.mat-mdc-chip.mat-mdc-chip-highlighted {
303
+ box-shadow: inset 0 0 0 2px currentColor;
304
+ }
305
+
306
+ @media (prefers-reduced-motion: reduce) {
307
+ &__loader::after {
308
+ animation: none;
309
+ }
310
+ }
311
+
312
+ @media (prefers-contrast: more) {
313
+ &__chip.mat-mdc-chip {
314
+ outline: 2px solid currentColor;
315
+ outline-offset: 1px;
316
+ }
317
+ }
318
+ }
@@ -0,0 +1,221 @@
1
+ @use '@angular/material' as mat;
2
+
3
+ .acp-primary {
4
+ @include mat.button-overrides(
5
+ (
6
+ filled-container-color: var(--theme-primary-color),
7
+ filled-label-text-color: #ffffff,
8
+ outlined-label-text-color: var(--theme-primary-color),
9
+ protected-label-text-color: var(--theme-primary-color),
10
+ text-label-text-color: var(--theme-primary-color),
11
+ text-state-layer-color: var(--theme-primary-color),
12
+ )
13
+ );
14
+ }
15
+
16
+ .acp-secondary {
17
+ @include mat.button-overrides(
18
+ (
19
+ filled-container-color: var(--mat-sys-secondary),
20
+ filled-label-text-color: var(--mat-sys-on-secondary),
21
+ outlined-label-text-color: var(--mat-sys-secondary),
22
+ protected-label-text-color: var(--mat-sys-secondary),
23
+ text-label-text-color: var(--mat-sys-secondary),
24
+ text-state-layer-color: var(--mat-sys-secondary),
25
+ )
26
+ );
27
+ }
28
+
29
+ .acp-accent {
30
+ @include mat.button-overrides(
31
+ (
32
+ filled-container-color: var(--mat-sys-tertiary),
33
+ filled-label-text-color: var(--mat-sys-on-tertiary),
34
+ outlined-label-text-color: var(--mat-sys-tertiary),
35
+ protected-label-text-color: var(--mat-sys-tertiary),
36
+ text-label-text-color: var(--mat-sys-tertiary),
37
+ text-state-layer-color: var(--mat-sys-tertiary),
38
+ )
39
+ );
40
+ }
41
+
42
+ .acp-error {
43
+ @include mat.button-overrides(
44
+ (
45
+ filled-container-color: var(--mat-sys-error),
46
+ filled-label-text-color: var(--mat-sys-on-error),
47
+ outlined-label-text-color: var(--mat-sys-error),
48
+ protected-label-text-color: var(--mat-sys-error),
49
+ text-label-text-color: var(--mat-sys-error),
50
+ text-state-layer-color: var(--mat-sys-error),
51
+ )
52
+ );
53
+ }
54
+
55
+ .acp-success {
56
+ @include mat.button-overrides(
57
+ (
58
+ filled-container-color: #4caf50,
59
+ filled-label-text-color: #ffffff,
60
+ outlined-label-text-color: #4caf50,
61
+ protected-label-text-color: #4caf50,
62
+ text-label-text-color: #4caf50,
63
+ text-state-layer-color: #4caf50,
64
+ )
65
+ );
66
+ }
67
+
68
+ .acp-warning {
69
+ @include mat.button-overrides(
70
+ (
71
+ filled-container-color: #f59e0b,
72
+ filled-label-text-color: #ffffff,
73
+ outlined-label-text-color: #f59e0b,
74
+ protected-label-text-color: #f59e0b,
75
+ text-label-text-color: #f59e0b,
76
+ text-state-layer-color: #f59e0b,
77
+ )
78
+ );
79
+ }
80
+
81
+ .acp-info {
82
+ @include mat.button-overrides(
83
+ (
84
+ filled-container-color: #3b82f6,
85
+ filled-label-text-color: #ffffff,
86
+ outlined-label-text-color: #3b82f6,
87
+ protected-label-text-color: #3b82f6,
88
+ text-label-text-color: #3b82f6,
89
+ text-state-layer-color: #3b82f6,
90
+ )
91
+ );
92
+ }
93
+
94
+ .acp-dark {
95
+ @include mat.button-overrides(
96
+ (
97
+ filled-container-color: #1f2937,
98
+ filled-label-text-color: #ffffff,
99
+ outlined-label-text-color: #1f2937,
100
+ protected-label-text-color: #1f2937,
101
+ text-label-text-color: #1f2937,
102
+ text-state-layer-color: #1f2937,
103
+ )
104
+ );
105
+ }
106
+
107
+ [matIconButton].acp-primary {
108
+ @include mat.icon-overrides(
109
+ (
110
+ color: var(--theme-primary-color),
111
+ )
112
+ );
113
+ }
114
+
115
+ [matIconButton].acp-secondary {
116
+ @include mat.icon-overrides(
117
+ (
118
+ color: var(--mat-sys-secondary),
119
+ )
120
+ );
121
+ }
122
+
123
+ [matIconButton].acp-accent {
124
+ @include mat.icon-overrides(
125
+ (
126
+ color: var(--mat-sys-tertiary),
127
+ )
128
+ );
129
+ }
130
+
131
+ [matIconButton].acp-error {
132
+ @include mat.icon-overrides(
133
+ (
134
+ color: var(--mat-sys-error),
135
+ )
136
+ );
137
+ }
138
+
139
+ [matIconButton].acp-success {
140
+ @include mat.icon-overrides(
141
+ (
142
+ color: #10b981,
143
+ )
144
+ );
145
+ }
146
+
147
+ [matIconButton].acp-warning {
148
+ @include mat.icon-overrides(
149
+ (
150
+ color: #f59e0b,
151
+ )
152
+ );
153
+ }
154
+
155
+ [matIconButton].acp-info {
156
+ @include mat.icon-overrides(
157
+ (
158
+ color: #3b82f6,
159
+ )
160
+ );
161
+ }
162
+
163
+ [matIconButton].acp-dark {
164
+ @include mat.icon-overrides(
165
+ (
166
+ color: #1f2937,
167
+ )
168
+ );
169
+ }
170
+
171
+ .acp-square {
172
+ @include mat.button-overrides(
173
+ (
174
+ filled-container-shape: 8px,
175
+ outlined-container-shape: 8px,
176
+ protected-container-shape: 8px,
177
+ text-container-shape: 8px,
178
+ tonal-container-shape: 8px,
179
+ )
180
+ );
181
+ --mat-icon-button-container-shape: 8px;
182
+ }
183
+
184
+ .acp-medium {
185
+ @include mat.theme(
186
+ (
187
+ density: -1,
188
+ )
189
+ );
190
+ @include mat.button-overrides(
191
+ (
192
+ filled-horizontal-padding: 20px,
193
+ outlined-horizontal-padding: 20px,
194
+ protected-horizontal-padding: 20px,
195
+ text-horizontal-padding: 20px,
196
+ tonal-horizontal-padding: 20px,
197
+ )
198
+ );
199
+
200
+ @include mat.button-toggle-overrides(
201
+ (
202
+ height: 36px,
203
+ )
204
+ );
205
+ }
206
+ .acp-small {
207
+ @include mat.theme(
208
+ (
209
+ density: -2,
210
+ )
211
+ );
212
+ @include mat.button-overrides(
213
+ (
214
+ filled-horizontal-padding: 16px,
215
+ outlined-horizontal-padding: 16px,
216
+ protected-horizontal-padding: 16px,
217
+ text-horizontal-padding: 16px,
218
+ tonal-horizontal-padding: 16px,
219
+ )
220
+ );
221
+ }