@rlucan/ui 14.2.1

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 (78) hide show
  1. package/README.md +24 -0
  2. package/esm2020/lib/action-button/action-button.component.mjs +96 -0
  3. package/esm2020/lib/action-icon/action-icon.component.mjs +37 -0
  4. package/esm2020/lib/autocomplete/autocomplete.component.mjs +391 -0
  5. package/esm2020/lib/avatar/avatar.component.mjs +34 -0
  6. package/esm2020/lib/base/ui-base-layout.component.mjs +22 -0
  7. package/esm2020/lib/base/ui-base.component.mjs +74 -0
  8. package/esm2020/lib/button/button.component.mjs +57 -0
  9. package/esm2020/lib/checkbox/checkbox.component.mjs +39 -0
  10. package/esm2020/lib/checkbox-group/checkbox-group.component.mjs +91 -0
  11. package/esm2020/lib/currency/currency.component.mjs +148 -0
  12. package/esm2020/lib/date/date.component.mjs +64 -0
  13. package/esm2020/lib/dialog/dialog.component.mjs +37 -0
  14. package/esm2020/lib/directives/force-visibility/force-visibility.directive.mjs +96 -0
  15. package/esm2020/lib/elements/burger/burger.component.mjs +21 -0
  16. package/esm2020/lib/elements/expander/expander.component.mjs +28 -0
  17. package/esm2020/lib/elements/validation-message/validation-message.component.mjs +47 -0
  18. package/esm2020/lib/file/file.component.mjs +88 -0
  19. package/esm2020/lib/file-uploader/ui-file-uploader.component.mjs +394 -0
  20. package/esm2020/lib/input/input.component.mjs +258 -0
  21. package/esm2020/lib/radio/radio.component.mjs +21 -0
  22. package/esm2020/lib/radio-group/radio-group.component.mjs +53 -0
  23. package/esm2020/lib/select/select.component.mjs +91 -0
  24. package/esm2020/lib/services/message-box.service.mjs +113 -0
  25. package/esm2020/lib/services/toast.service.mjs +23 -0
  26. package/esm2020/lib/services/ui-file.service.mjs +71 -0
  27. package/esm2020/lib/services/ui-translate.service.mjs +32 -0
  28. package/esm2020/lib/simple/ui-simple-layout.component.mjs +15 -0
  29. package/esm2020/lib/simple/ui-simple.component.mjs +154 -0
  30. package/esm2020/lib/submit-button/submit-button.component.mjs +72 -0
  31. package/esm2020/lib/table/table.component.mjs +97 -0
  32. package/esm2020/lib/text-area/text-area.component.mjs +46 -0
  33. package/esm2020/lib/ui.model.mjs +2 -0
  34. package/esm2020/lib/ui.module.mjs +255 -0
  35. package/esm2020/public-api.mjs +33 -0
  36. package/esm2020/rlucan-ui.mjs +5 -0
  37. package/fesm2015/rlucan-ui.mjs +2918 -0
  38. package/fesm2015/rlucan-ui.mjs.map +1 -0
  39. package/fesm2020/rlucan-ui.mjs +2886 -0
  40. package/fesm2020/rlucan-ui.mjs.map +1 -0
  41. package/index.d.ts +5 -0
  42. package/lib/action-button/action-button.component.d.ts +33 -0
  43. package/lib/action-icon/action-icon.component.d.ts +15 -0
  44. package/lib/autocomplete/autocomplete.component.d.ts +57 -0
  45. package/lib/avatar/avatar.component.d.ts +14 -0
  46. package/lib/base/ui-base-layout.component.d.ts +8 -0
  47. package/lib/base/ui-base.component.d.ts +23 -0
  48. package/lib/button/button.component.d.ts +18 -0
  49. package/lib/checkbox/checkbox.component.d.ts +15 -0
  50. package/lib/checkbox-group/checkbox-group.component.d.ts +18 -0
  51. package/lib/currency/currency.component.d.ts +30 -0
  52. package/lib/date/date.component.d.ts +23 -0
  53. package/lib/dialog/dialog.component.d.ts +13 -0
  54. package/lib/directives/force-visibility/force-visibility.directive.d.ts +20 -0
  55. package/lib/elements/burger/burger.component.d.ts +9 -0
  56. package/lib/elements/expander/expander.component.d.ts +10 -0
  57. package/lib/elements/validation-message/validation-message.component.d.ts +12 -0
  58. package/lib/file/file.component.d.ts +29 -0
  59. package/lib/file-uploader/ui-file-uploader.component.d.ts +102 -0
  60. package/lib/input/input.component.d.ts +29 -0
  61. package/lib/radio/radio.component.d.ts +8 -0
  62. package/lib/radio-group/radio-group.component.d.ts +18 -0
  63. package/lib/select/select.component.d.ts +33 -0
  64. package/lib/services/message-box.service.d.ts +42 -0
  65. package/lib/services/toast.service.d.ts +13 -0
  66. package/lib/services/ui-file.service.d.ts +33 -0
  67. package/lib/services/ui-translate.service.d.ts +11 -0
  68. package/lib/simple/ui-simple-layout.component.d.ts +7 -0
  69. package/lib/simple/ui-simple.component.d.ts +39 -0
  70. package/lib/submit-button/submit-button.component.d.ts +21 -0
  71. package/lib/table/table.component.d.ts +36 -0
  72. package/lib/text-area/text-area.component.d.ts +18 -0
  73. package/lib/ui.model.d.ts +2 -0
  74. package/lib/ui.module.d.ts +56 -0
  75. package/package.json +44 -0
  76. package/public-api.d.ts +27 -0
  77. package/scss/ui-defaults.scss +339 -0
  78. package/ui.scss +911 -0
package/ui.scss ADDED
@@ -0,0 +1,911 @@
1
+ @use 'sass:math';
2
+ @use '@angular/material' as mat;
3
+
4
+ @import "scss/ui-defaults";
5
+
6
+ @function str-split($string, $separator) {
7
+ $split-arr: ();
8
+ $index : str-index($string, $separator);
9
+ @while $index != null {
10
+ $item: str-slice($string, 1, $index - 1);
11
+ $split-arr: append($split-arr, $item);
12
+ $string: str-slice($string, $index + 1);
13
+ $index : str-index($string, $separator);
14
+ }
15
+ $split-arr: append($split-arr, $string);
16
+
17
+ @return $split-arr;
18
+ }
19
+
20
+ @function uiGetColor($map, $key) {
21
+ @each $k in str-split($key, ".") {
22
+ @if $map {
23
+ $map:map-get($map, $k);
24
+ }
25
+ }
26
+ @return $map;
27
+ }
28
+
29
+ @function deep-map-merge($parent-map, $child-map) {
30
+ $result: $parent-map;
31
+ @each $key, $value in $child-map {
32
+ @if (not map-has-key($result, $key)) or (type-of(map-get($result, $key)) != type-of($value)) or (not (type-of(map-get($result, $key)) == map and type-of($value) == map)) {
33
+ $result: map-merge($result, ($key: $value));
34
+ }
35
+ @else {
36
+ $result: map-merge($result, ($key: deep-map-merge(map-get($result, $key), $value)));
37
+ }
38
+ }
39
+ @return $result;
40
+ }
41
+
42
+ @mixin ui-dark($uiColors, $uiGeometry, /*$uiTypography, */$matTheme) {
43
+ @include ui(deep-map-merge(uiDefaultDarkColors($matTheme), $uiColors), map-merge($uiDefaultGeometry, $uiGeometry)/*, map-merge($uiDefaultTypography, $uiTypography)*/);
44
+ }
45
+
46
+ @mixin ui-light($uiColors, $uiGeometry, /*$uiTypography, */$matTheme) {
47
+ @include ui(deep-map-merge(uiDefaultLightColors($matTheme), $uiColors), map-merge($uiDefaultGeometry, $uiGeometry)/*, map-merge($uiDefaultTypography, $uiTypography)*/);
48
+ }
49
+
50
+ @mixin ui($colors, $geometry/*, $typography*/) {
51
+
52
+ .mdc-data-table__cell {
53
+ color: uiGetColor($colors, 'table.row.cell.color');
54
+ }
55
+
56
+ .mdc-data-table__header-cell {
57
+ color: uiGetColor($colors, 'table.header.cell.color');
58
+ }
59
+
60
+ .cdk-overlay-dark-backdrop {
61
+ background-color: uiGetColor($colors, 'dialog.backdrop.background-color');
62
+ }
63
+
64
+ .mat-mdc-dialog-container {
65
+ .mat-mdc-dialog-surface {
66
+ background-color: uiGetColor($colors, 'dialog.background-color') !important;
67
+ }
68
+ .mdc-dialog__title {
69
+ color: uiGetColor($colors, 'dialog.title.color') !important;
70
+ }
71
+ }
72
+
73
+ ui-select .mat-mdc-select-placeholder, ui-select .mat-mdc-select-arrow, ui-select .mat-mdc-select-value {
74
+ color: uiGetColor($colors, "input.color");
75
+ //&:disabled {
76
+ // color: uiGetColor($colors, "input.disabled.color");
77
+ //}
78
+ &::placeholder {
79
+ color: uiGetColor($colors, "input.placeholder.color");
80
+ }
81
+ }
82
+
83
+ ui-select .mat-mdc-select-disabled {
84
+ .mat-mdc-select-value, .mat-mdc-select-arrow {
85
+ color: uiGetColor($colors, "input.disabled.color");
86
+ }
87
+ }
88
+
89
+ ui-date input, ui-input input, ui-text-area textarea, ui-select .mat-mdc-select-trigger, ui-file-uploader .files-container {
90
+ background-color: uiGetColor($colors, "input.background-color");
91
+ color: uiGetColor($colors, "input.color");
92
+ border-color: uiGetColor($colors, "input.border-color") !important;
93
+
94
+ &:focus {
95
+ border-color: uiGetColor($colors, "input.focus.border-color") !important;
96
+ }
97
+
98
+ &:disabled {
99
+ background-color: uiGetColor($colors, "input.disabled.background-color") !important;
100
+ color: uiGetColor($colors, "input.disabled.color");
101
+ }
102
+ &::placeholder {
103
+ color: uiGetColor($colors, "input.placeholder.color");
104
+ }
105
+ }
106
+
107
+ ui-base-layout {
108
+ .label {
109
+ color: uiGetColor($colors, "input.label.color");
110
+ font-weight: uiGetColor($colors, "input.label.font-weight");
111
+ .required {
112
+ color: uiGetColor($colors, "input.label.required.color") !important;
113
+ }
114
+ }
115
+ .counter {
116
+ color: uiGetColor($colors, "input.label.counter.color");
117
+ }
118
+ }
119
+
120
+ ui-checkbox {
121
+ .label {
122
+ color: uiGetColor($colors, "checkbox.label.color");
123
+ font-weight: uiGetColor($colors, "checkbox.label.font-weight");
124
+ }
125
+ }
126
+
127
+ ui-input, ui-date {
128
+ .control-container {
129
+ [slot=suffix], [slot=prefix] {
130
+ color: uiGetColor($colors, "input.prefix-suffix.color");
131
+ &:hover {
132
+ color: uiGetColor($colors, "input.prefix-suffix.hover.color");
133
+ }
134
+ }
135
+ }
136
+ }
137
+
138
+ ui-base-layout.invalid {
139
+ input, textarea, .mat-select-trigger, .mat-mdc-select-trigger {
140
+ color: uiGetColor($colors, "input.invalid.color");
141
+ background-color: uiGetColor($colors, "input.invalid.background-color");
142
+ border-color: uiGetColor($colors, "input.invalid.border-color") !important;
143
+ &::placeholder {
144
+ color: uiGetColor($colors, "input.invalid.placeholder.color");
145
+ }
146
+ }
147
+
148
+ .label {
149
+ .text {
150
+ color: uiGetColor($colors, "input.invalid.label.color");
151
+ }
152
+ }
153
+
154
+ .hint-container, .mat-select-value, .mat-select-arrow, .mat-mdc-select-value, .mat-mdc-select-arrow {
155
+ color: uiGetColor($colors, "input.invalid.hint.color");
156
+ }
157
+ }
158
+
159
+ ui-currency ui-base-layout.invalid > .control-container {
160
+ border-color: uiGetColor($colors, "input.invalid.border-color");
161
+ background-color: uiGetColor($colors, "input.invalid.background-color");
162
+ input, .mat-select-trigger, .mat-mdc-select-trigger {
163
+ background-color: transparent;
164
+ }
165
+ }
166
+
167
+ ui-currency > ui-base-layout > .control-container {
168
+ border-color: uiGetColor($colors, "input.border-color");
169
+ background-color: uiGetColor($colors, "input.background-color");
170
+ }
171
+
172
+ ui-currency.focus > ui-base-layout > .control-container {
173
+ border-color: uiGetColor($colors, "input.focus.border-color");
174
+ }
175
+
176
+ ui-button, ui-action-button {
177
+ &.disabled {
178
+ button {
179
+ opacity: 0.5;
180
+ cursor: default !important;
181
+ }
182
+ }
183
+ &.basic {
184
+ &.primary {
185
+ &:not(.disabled) {
186
+ button:hover {
187
+ background-color: uiGetColor($colors, 'button.basic.primary.hover.background-color')
188
+ }
189
+ }
190
+ button {
191
+ color: uiGetColor($colors, 'button.basic.primary.color');
192
+ background-color: uiGetColor($colors, 'button.basic.primary.background-color');
193
+ }
194
+ }
195
+ &.accent {
196
+ &:not(.disabled) {
197
+ button:hover {
198
+ background-color: uiGetColor($colors, 'button.basic.accent.hover.background-color')
199
+ }
200
+ }
201
+ button {
202
+ color: uiGetColor($colors, 'button.basic.accent.color');
203
+ background-color: uiGetColor($colors, 'button.basic.accent.background-color');
204
+ }
205
+ }
206
+ &.warn {
207
+ &:not(.disabled) {
208
+ button:hover {
209
+ background-color: uiGetColor($colors, 'button.basic.warn.hover.background-color')
210
+ }
211
+ }
212
+ button {
213
+ color: uiGetColor($colors, 'button.basic.warn.color');
214
+ background-color: uiGetColor($colors, 'button.basic.warn.background-color');
215
+ }
216
+ }
217
+ }
218
+ &.flat {
219
+ &.primary {
220
+ &:not(.disabled) {
221
+ button:hover {
222
+ background-color: uiGetColor($colors, 'button.flat.primary.hover.background-color')
223
+ }
224
+ }
225
+ button {
226
+ color: uiGetColor($colors, 'button.flat.primary.color');
227
+ background-color: uiGetColor($colors, 'button.flat.primary.background-color');
228
+ }
229
+ }
230
+ &.accent {
231
+ &:not(.disabled) {
232
+ button:hover {
233
+ background-color: uiGetColor($colors, 'button.flat.accent.hover.background-color')
234
+ }
235
+ }
236
+ button {
237
+ color: uiGetColor($colors, 'button.flat.accent.color');
238
+ background-color: uiGetColor($colors, 'button.flat.accent.background-color');
239
+ }
240
+ }
241
+ &.warn {
242
+ &:not(.disabled) {
243
+ button:hover {
244
+ background-color: uiGetColor($colors, 'button.flat.warn.hover.background-color')
245
+ }
246
+ }
247
+ button {
248
+ color: uiGetColor($colors, 'button.flat.warn.color');
249
+ background-color: uiGetColor($colors, 'button.flat.warn.background-color');
250
+ }
251
+ }
252
+ }
253
+ &.stroked {
254
+ &.primary {
255
+ &:not(.disabled) {
256
+ button:hover {
257
+ background-color: uiGetColor($colors, 'button.stroked.primary.hover.background-color')
258
+ }
259
+ }
260
+ button {
261
+ color: uiGetColor($colors, 'button.stroked.primary.color');
262
+ background-color: uiGetColor($colors, 'button.stroked.primary.background-color');
263
+ border-color: uiGetColor($colors, 'button.stroked.primary.border-color');
264
+ }
265
+ }
266
+ &.accent {
267
+ &:not(.disabled) {
268
+ button:hover {
269
+ background-color: uiGetColor($colors, 'button.stroked.accent.hover.background-color')
270
+ }
271
+ }
272
+ button {
273
+ color: uiGetColor($colors, 'button.stroked.accent.color');
274
+ background-color: uiGetColor($colors, 'button.stroked.accent.background-color');
275
+ border-color: uiGetColor($colors, 'button.stroked.accent.border-color');
276
+ }
277
+ }
278
+ &.warn {
279
+ &:not(.disabled) {
280
+ button:hover {
281
+ background-color: uiGetColor($colors, 'button.stroked.warn.hover.background-color')
282
+ }
283
+ }
284
+ button {
285
+ color: uiGetColor($colors, 'button.stroked.warn.color');
286
+ background-color: uiGetColor($colors, 'button.stroked.warn.background-color');
287
+ border-color: uiGetColor($colors, 'button.stroked.warn.border-color');
288
+ }
289
+ }
290
+ }
291
+ }
292
+
293
+ .ui-user-input, .options-box {
294
+ background-color: uiGetColor($colors, 'autocomplete.background-color');
295
+ color: uiGetColor($colors, 'autocomplete.color');
296
+ .users, .options {
297
+ .user-container, .user-group, .option-container {
298
+ &:hover {
299
+ background-color: uiGetColor($colors, 'autocomplete.options.hover.background-color') !important;
300
+ }
301
+ mat-icon:hover {
302
+ color: uiGetColor($colors, 'autocomplete.options.hover.mat-icon.color');
303
+ }
304
+ }
305
+ .user-container, .option-container {
306
+ &.selected {
307
+ background-color: uiGetColor($colors, 'autocomplete.options.selected.background-color');
308
+ color: uiGetColor($colors, 'autocomplete.options.selected.color');
309
+ mat-icon {
310
+ display: block !important;
311
+ }
312
+ //.user.unselectable, .option-option.unselectable {
313
+ // color: uiGetColor($colors, 'autocomplete.options.selected.unselectable.color');
314
+ //}
315
+ }
316
+ //.user, .option-option {
317
+ // &.unselectable {
318
+ // color: uiGetColor($colors, 'autocomplete.options.unselectable.color');
319
+ // }
320
+ //}
321
+ }
322
+ }
323
+ }
324
+
325
+ ui-expander {
326
+ mat-icon {
327
+ color: uiGetColor($colors, 'expander.color')
328
+ }
329
+ }
330
+
331
+ mat-pseudo-checkbox {
332
+ border-color: uiGetColor($colors, 'checkbox.primary.color') !important;
333
+ &.mat-pseudo-checkbox-checked {
334
+ border-color: transparent !important;
335
+ background-color: uiGetColor($colors, 'checkbox.primary.icon.checked-color') !important;
336
+ &.mat-pseudo-checkbox-full::after {
337
+ color: uiGetColor($colors, 'checkbox.primary.check.color');
338
+ }
339
+ }
340
+ &.mat-pseudo-checkbox-minimal {
341
+ &::after {
342
+ color: uiGetColor($colors, 'checkbox.primary.icon.checked-color') !important;
343
+ }
344
+ background-color: transparent !important;
345
+ }
346
+ }
347
+
348
+ .mdc-list-item.mdc-list-item--selected .mdc-list-item__primary-text {
349
+ color: uiGetColor($colors, 'checkbox.primary.label.checked-color') !important;
350
+ }
351
+
352
+ //mat-checkbox {
353
+ // &.mat-primary {
354
+ // .mat-checkbox-frame {
355
+ // border-color: uiGetColor($colors, 'checkbox.primary.color');
356
+ // }
357
+ //
358
+ // &.mat-checkbox-checked .mat-checkbox-background {
359
+ // background-color: uiGetColor($colors, 'checkbox.primary.checked.color') !important;
360
+ // }
361
+ // }
362
+ // &.mat-accent {
363
+ // .mat-checkbox-frame {
364
+ // border-color: uiGetColor($colors, 'checkbox.accent.color');
365
+ // }
366
+ //
367
+ // &.mat-checkbox-checked .mat-checkbox-background {
368
+ // background-color: uiGetColor($colors, 'checkbox.accent.checked.color') !important;
369
+ // }
370
+ // }
371
+ // &.mat-warn {
372
+ // .mat-checkbox-frame {
373
+ // border-color: uiGetColor($colors, 'checkbox.warn.color');
374
+ // }
375
+ //
376
+ // &.mat-checkbox-checked .mat-checkbox-background {
377
+ // background-color: uiGetColor($colors, 'checkbox.warn.checked.color') !important;
378
+ // }
379
+ // }
380
+ // &.mat-mdc-checkbox .mdc-checkbox { // ngmat@15
381
+ // margin: -0.5em;
382
+ // }
383
+ //}
384
+
385
+ .mat-mdc-checkbox {
386
+ &.mat-primary {
387
+ label {
388
+ color: uiGetColor($colors, 'checkbox.primary.label.color');
389
+ }
390
+ &:not(.mat-mdc-checkbox-checked) {
391
+ .mdc-checkbox__background {
392
+ border-color: uiGetColor($colors, 'checkbox.primary.icon.color') !important;
393
+ }
394
+ }
395
+ .mdc-checkbox__native-control:enabled:indeterminate~.mdc-checkbox__background {
396
+ border-color: uiGetColor($colors, 'checkbox.primary.icon.color') !important;
397
+ }
398
+ &.mat-mdc-checkbox-checked {
399
+ label {
400
+ color: uiGetColor($colors, 'checkbox.primary.label.checked-color');
401
+ }
402
+ }
403
+ }
404
+ &.mat-accent {
405
+ label {
406
+ color: uiGetColor($colors, 'checkbox.accent.label.color');
407
+ }
408
+ &:not(.mat-mdc-checkbox-checked) {
409
+ .mdc-checkbox__background {
410
+ border-color: uiGetColor($colors, 'checkbox.accent.icon.color') !important;
411
+ }
412
+ }
413
+ &.mat-mdc-checkbox-checked {
414
+ label {
415
+ color: uiGetColor($colors, 'checkbox.accent.label.checked-color');
416
+ }
417
+ }
418
+ }
419
+ &.mat-warn {
420
+ label {
421
+ color: uiGetColor($colors, 'checkbox.warn.label.color');
422
+ }
423
+ &:not(.mat-mdc-checkbox-checked) {
424
+ .mdc-checkbox__background {
425
+ border-color: uiGetColor($colors, 'checkbox.warn.icon.color') !important;
426
+ }
427
+ }
428
+ &.mat-mdc-checkbox-checked {
429
+ label {
430
+ color: uiGetColor($colors, 'checkbox.warn.label.checked-color');
431
+ }
432
+ }
433
+ }
434
+ &.mat-mdc-checkbox-checked {
435
+ &.mat-primary {
436
+ .mdc-checkbox__background {
437
+ background-color: uiGetColor($colors, 'checkbox.primary.icon.checked-color') !important;
438
+ }
439
+ }
440
+ &.mat-accent {
441
+ .mdc-checkbox__background {
442
+ background-color: uiGetColor($colors, 'checkbox.accent.icon.checked-color') !important;
443
+ }
444
+ }
445
+ &.mat-warn {
446
+ .mdc-checkbox__background {
447
+ background-color: uiGetColor($colors, 'checkbox.warn.icon.checked-color') !important;
448
+ }
449
+ }
450
+ }
451
+ }
452
+
453
+
454
+ .mat-mdc-radio-button {
455
+ &.mat-primary {
456
+ &.mat-mdc-radio-checked {
457
+ .mdc-radio__outer-circle, .mdc-radio__inner-circle {
458
+ border-color: uiGetColor($colors, 'checkbox.primary.icon.checked-color') !important;
459
+ }
460
+ .mdc-form-field {
461
+ color: uiGetColor($colors, 'checkbox.primary.label.checked-color');
462
+ }
463
+ .mdc-radio--disabled + label {
464
+ color: uiGetColor($colors, 'checkbox.primary.label.checked-color') !important;
465
+ }
466
+ }
467
+ .mdc-radio__outer-circle {
468
+ border-color: uiGetColor($colors, 'checkbox.primary.icon.color') !important;
469
+ }
470
+ .mdc-form-field {
471
+ color: uiGetColor($colors, 'checkbox.primary.label.color');
472
+ }
473
+ .mdc-radio--disabled + label {
474
+ color: uiGetColor($colors, 'checkbox.primary.label.color') !important;
475
+ }
476
+ }
477
+ &.mat-accent {
478
+ &.mat-mdc-radio-checked {
479
+ .mdc-radio__outer-circle, .mdc-radio__inner-circle {
480
+ border-color: uiGetColor($colors, 'checkbox.accent.icon.checked-color') !important;
481
+ }
482
+ .mdc-form-field {
483
+ color: uiGetColor($colors, 'checkbox.accent.label.checked-color');
484
+ }
485
+ .mdc-radio--disabled + label {
486
+ color: uiGetColor($colors, 'checkbox.accent.label.checked-color') !important;
487
+ }
488
+ }
489
+ .mdc-radio__outer-circle {
490
+ border-color: uiGetColor($colors, 'checkbox.accent.icon.color') !important;
491
+ }
492
+ .mdc-form-field {
493
+ color: uiGetColor($colors, 'checkbox.accent.label.color');
494
+ }
495
+ .mdc-radio--disabled + label {
496
+ color: uiGetColor($colors, 'checkbox.accent.label.color') !important;
497
+ }
498
+ }
499
+ &.mat-warn {
500
+ &.mat-mdc-radio-checked {
501
+ .mdc-radio__outer-circle, .mdc-radio__inner-circle {
502
+ border-color: uiGetColor($colors, 'checkbox.warn.icon.checked-color') !important;
503
+ }
504
+ .mdc-form-field {
505
+ color: uiGetColor($colors, 'checkbox.warn.label.checked-color');
506
+ }
507
+ .mdc-radio--disabled + label {
508
+ color: uiGetColor($colors, 'checkbox.warn.label.checked-color') !important;
509
+ }
510
+ }
511
+ .mdc-radio__outer-circle {
512
+ border-color: uiGetColor($colors, 'checkbox.warn.icon.color') !important;
513
+ }
514
+ .mdc-form-field {
515
+ color: uiGetColor($colors, 'checkbox.warn.label.color');
516
+ }
517
+ .mdc-radio--disabled + label {
518
+ color: uiGetColor($colors, 'checkbox.warn.label.color') !important;
519
+ }
520
+ }
521
+ }
522
+
523
+ ui-file-uploader {
524
+ .label {
525
+ color: uiGetColor($colors, "input.label.color");
526
+ .required {
527
+ color: uiGetColor($colors, "input.label.required.color") !important;
528
+ }
529
+ }
530
+ .file-menu {
531
+ color: uiGetColor($colors, 'file-uploader.menu.trigger.color');
532
+ background-color: uiGetColor($colors, 'file-uploader.menu.trigger.background-color');
533
+ }
534
+ .file-menu-container {
535
+ background-color: uiGetColor($colors, 'file-uploader.menu.background-color');
536
+ color: uiGetColor($colors, 'file-uploader.menu.color');
537
+
538
+ .menu-item {
539
+ &:hover {
540
+ background-color: uiGetColor($colors, 'file-uploader.menu.item.hover.background-color');
541
+ }
542
+ }
543
+ }
544
+ .crop-preview, .crop-menu {
545
+ background-color: uiGetColor($colors, 'file-uploader.preview.background-color');
546
+ border-color: uiGetColor($colors, 'file-uploader.preview.border-color') !important;
547
+ }
548
+ .crop-menu mat-icon {
549
+ color: uiGetColor($colors, 'file-uploader.preview.icon.color');
550
+ &:hover {
551
+ background-color: uiGetColor($colors, 'file-uploader.preview.icon.hover.background-color') !important;
552
+ }
553
+ }
554
+ }
555
+
556
+ ui-action-button {
557
+ &.with-primary {
558
+ &.stroked {
559
+ .mat-icon-container {
560
+ border-color: uiGetColor($colors, 'button.stroked.primary.border-color') !important;
561
+ }
562
+ button:hover:not(.disabled) {
563
+ background-color: transparent;
564
+ .hover-container:hover, .mat-icon-container:hover {
565
+ background-color: uiGetColor($colors, 'button.stroked.warn.hover.background-color');
566
+ }
567
+ }
568
+ }
569
+ }
570
+ }
571
+
572
+ ui-action-icon {
573
+ &.primary {
574
+ color: uiGetColor($colors, 'actionicon.primary.color');
575
+ &:hover {
576
+ &:not(&.disabled) {
577
+ color: uiGetColor($colors, 'actionicon.primary.hover.color');
578
+ }
579
+ }
580
+ &.disabled {
581
+ color: uiGetColor($colors, 'actionicon.primary.disabled.color');
582
+ }
583
+ }
584
+ &.accent {
585
+ color: uiGetColor($colors, 'actionicon.accent.color');
586
+ &:hover {
587
+ &:not(&.disabled) {
588
+ color: uiGetColor($colors, 'actionicon.accent.hover.color');
589
+ }
590
+ }
591
+ &.disabled {
592
+ color: uiGetColor($colors, 'actionicon.accent.disabled.color');
593
+ }
594
+ }
595
+ &.warn {
596
+ color: uiGetColor($colors, 'actionicon.warn.color');
597
+ &:hover {
598
+ &:not(&.disabled) {
599
+ color: uiGetColor($colors, 'actionicon.warn.hover.color');
600
+ }
601
+ }
602
+ &.disabled {
603
+ color: uiGetColor($colors, 'actionicon.warn.disabled.color');
604
+ }
605
+ }
606
+ }
607
+
608
+ mat-snack-bar-container { // ngmat@15
609
+ &.success {
610
+ .mdc-snackbar__surface {
611
+ background-color: uiGetColor($colors, 'toast.success.background-color');
612
+ color: uiGetColor($colors, 'toast.success.color');
613
+ }
614
+ }
615
+ &.warning {
616
+ .mdc-snackbar__surface {
617
+ background-color: uiGetColor($colors, 'toast.warning.background-color');
618
+ color: uiGetColor($colors, 'toast.warning.color');
619
+ }
620
+ }
621
+ &.fail {
622
+ .mdc-snackbar__surface {
623
+ background-color: uiGetColor($colors, 'toast.fail.background-color') !important;
624
+ color: uiGetColor($colors, 'toast.fail.color') !important;
625
+ }
626
+ }
627
+ &.info {
628
+ .mdc-snackbar__surface {
629
+ background-color: uiGetColor($colors, 'toast.info.background-color');
630
+ color: uiGetColor($colors, 'toast.info.color');
631
+ }
632
+ }
633
+ }
634
+ snack-bar-container {
635
+ &.success {
636
+ background-color: uiGetColor($colors, 'toast.success.background-color');
637
+ color: uiGetColor($colors, 'toast.success.color');
638
+ }
639
+ &.warning {
640
+ background-color: uiGetColor($colors, 'toast.warning.background-color');
641
+ color: uiGetColor($colors, 'toast.warning.color');
642
+ }
643
+ &.fail {
644
+ background-color: uiGetColor($colors, 'toast.fail.background-color');
645
+ color: uiGetColor($colors, 'toast.fail.color');
646
+ }
647
+ &.info {
648
+ background-color: uiGetColor($colors, 'toast.info.background-color');
649
+ color: uiGetColor($colors, 'toast.info.color');
650
+ }
651
+ }
652
+
653
+ mat-dialog-container {
654
+ [mat-dialog-title] {
655
+ border-bottom-color: uiGetColor($colors, 'dialog.divider.border-color') !important;
656
+ }
657
+ }
658
+
659
+ [mat-dialog-actions] {
660
+ border-top-color: uiGetColor($colors, 'dialog.divider.border-color') !important;
661
+ .message {
662
+ &.error {
663
+ color: uiGetColor($colors, 'dialog.message.error.color');
664
+ background-color: uiGetColor($colors, 'dialog.message.error.background-color');
665
+ }
666
+ }
667
+ }
668
+
669
+ //ui-remove {
670
+ // &:not(.disabled) {
671
+ // color: uiColor($ui, remove, color, $theme)
672
+ // }
673
+ // &.disabled {
674
+ // color: uiColor($ui, remove, disabled-color, $theme)
675
+ // }
676
+ // mat-icon:hover {
677
+ // color: uiColor($ui, remove, hover-color, $theme)
678
+ // }
679
+ //}
680
+ //
681
+
682
+ //
683
+ .invalid {
684
+ color: uiGetColor($colors, "input.invalid.color");
685
+ }
686
+
687
+ /********************************* geometry ****************************/
688
+ $control-radius: map-get($geometry, control-radius);
689
+
690
+ ui-input input, ui-date input, ui-text-area textarea, ui-file-uploader .files-container, ui-select .mat-select-trigger, ui-select .mat-mdc-select-trigger, ui-button button {
691
+ border-width: map-get($geometry, input-border-width);
692
+ padding: map-get($geometry, control-padding);
693
+ }
694
+
695
+ ui-currency input {
696
+ border-width: 0 !important;
697
+ }
698
+
699
+ ui-currency > ui-base-layout > .control-container {
700
+ border-width: map-get($geometry, input-border-width);
701
+ border-radius: $control-radius;
702
+ }
703
+
704
+ ui-currency .control-container, ui-file-uploader {
705
+ border-radius: $control-radius;
706
+ }
707
+
708
+ ui-button, ui-action-button {
709
+ button {
710
+ border-radius: $control-radius;
711
+ padding: map-get($geometry, control-padding);
712
+
713
+ mat-progress-bar {
714
+ left: math.div($control-radius, 2);
715
+ width: calc(100% - 2 * #{math.div($control-radius, 2)});
716
+ background-color: white;
717
+ }
718
+ }
719
+ }
720
+
721
+ ui-input, ui-date, ui-text-area/*, ui-file-uploader*/ {
722
+ input, textarea/*, .file-container*/ {
723
+ border-radius: $control-radius;
724
+ }
725
+ }
726
+
727
+ ui-select .mat-select-trigger, ui-select .mat-mdc-select-trigger {
728
+ border-radius: $control-radius;
729
+ }
730
+
731
+ .mat-mdc-select-panel .mdc-list-item__primary-text {
732
+ color: uiGetColor($colors, "select.option.color");
733
+ }
734
+
735
+ .mat-mdc-select-panel .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal::after {
736
+ color: uiGetColor($colors, "select.option.color");
737
+ }
738
+
739
+ /********************************* typography ****************************/
740
+ ui-button, ui-action-button {
741
+ button {
742
+ font-weight: uiGetColor($colors, "button.font-weight"); /*map-get($typography, button-font-weight) !important;*/
743
+ }
744
+ }
745
+ }
746
+
747
+
748
+ ui-button, ui-action-button, ui-input, ui-date, ui-text-area, ui-select, ui-radio-group, ui-checkbox, ui-currency, .mat-mdc-radio-button, .mat-mdc-checkbox {
749
+ &.large {
750
+ font-size: 1.5em;
751
+ .mat-mdc-select-arrow-wrapper {
752
+ padding-top: 0.5em;
753
+ padding-bottom: 0.5em;
754
+ }
755
+ }
756
+
757
+ &.larger {
758
+ font-size: 1.25em;
759
+ .mat-mdc-select-arrow-wrapper {
760
+ padding-top: 0.45em;
761
+ padding-bottom: 0.475em;
762
+ }
763
+ }
764
+
765
+ &.normal {
766
+ font-size: 1em;
767
+ .mat-mdc-select-arrow-wrapper {
768
+ padding-top: 0.4em;
769
+ padding-bottom: 0.45em;
770
+ }
771
+ }
772
+
773
+ &.smaller {
774
+ font-size: 0.9em;
775
+ .mat-mdc-select-arrow-wrapper {
776
+ padding-top: 0.44em;
777
+ padding-bottom: 0.45em;
778
+ }
779
+ }
780
+
781
+ &.small {
782
+ font-size: 0.75em;
783
+ .mat-mdc-select-arrow-wrapper {
784
+ padding-top: 0.34em;
785
+ padding-bottom: 0.4em;
786
+ }
787
+ }
788
+
789
+ }
790
+
791
+ .mat-mdc-checkbox {
792
+ --mdc-checkbox-state-layer-size: 2.5em;
793
+ .mdc-checkbox {
794
+ width: calc(2.5em / 2);
795
+ height: calc(2.5em / 2);
796
+ flex: 0 0 calc(2.5em / 2);
797
+ }
798
+ .mdc-checkbox__background {
799
+ height: calc(2.5em / 2);
800
+ width: calc(2.5em / 2);
801
+ &::before {
802
+ left: calc(-2.5em / 4) !important;
803
+ top: calc(-2.5em / 4) !important;
804
+ }
805
+ }
806
+ .mdc-checkbox__native-control {
807
+ top: 0 !important;
808
+ left: 0 !important;
809
+ right: 0 !important;
810
+ bottom: 0 !important;
811
+ width: 100% !important;
812
+ height: 100% !important;
813
+ }
814
+ }
815
+
816
+ .mat-mdc-radio-button {
817
+ @mixin sizes($basesize) {
818
+ --mdc-radio-state-layer-size: #{$basesize};
819
+ .mdc-radio {
820
+ width: #{calc($basesize / 2)};
821
+ height: #{calc($basesize / 2)};
822
+ }
823
+ .mdc-radio__background {
824
+ height: #{calc($basesize / 2)};
825
+ width: #{calc($basesize / 2)};
826
+ &::before {
827
+ left: -#{calc($basesize / 4)} !important;
828
+ top: -#{calc($basesize / 4)} !important;
829
+ }
830
+ }
831
+ .mdc-radio__outer-circle {
832
+ height: #{calc($basesize / 2)};
833
+ width: #{calc($basesize / 2)};
834
+ top: 0;
835
+ left: 0;
836
+ }
837
+ .mdc-radio__native-control:checked+.mdc-radio__background .mdc-radio__inner-circle {
838
+ transform: scale(0.4);
839
+ }
840
+ .mdc-radio__background::before {
841
+ }
842
+ .mdc-radio__inner-circle {
843
+ border-width: #{calc($basesize / 4)};
844
+ height: #{calc($basesize / 2)};
845
+ width: #{calc($basesize / 2)};
846
+ }
847
+ .mdc-radio__native-control {
848
+ top: 0 !important;
849
+ left: 0 !important;
850
+ right: 0 !important;
851
+ bottom: 0 !important;
852
+ width: 100% !important;
853
+ height: 100% !important;
854
+ }
855
+
856
+ }
857
+ @include sizes(2.5em);
858
+ }
859
+
860
+
861
+ /**************** angular material css overrides ****************************/
862
+ .mat-mdc-radio-button .mat-radio-ripple .mat-ripple-element {
863
+ opacity: 0 !important;
864
+ }
865
+
866
+ .mat-mdc-radio-button {
867
+ label {
868
+ cursor: pointer;
869
+ }
870
+ .mdc-radio--disabled + label {
871
+ opacity: 0.38;
872
+ }
873
+ .mdc-radio {
874
+ margin: -0.5em !important;
875
+ }
876
+ }
877
+
878
+ .mat-mdc-checkbox {
879
+ .mdc-checkbox {
880
+ margin: -0.5em !important;
881
+ }
882
+ &.mat-mdc-checkbox-disabled {
883
+ opacity: 0.38;
884
+ //label {
885
+ // opacity: 0.38;
886
+ //}
887
+ }
888
+ }
889
+
890
+ .mat-mdc-tab:not(.mdc-tab--active) .mdc-tab__text-label, .mat-mdc-tab-link .mdc-tab__text-label {
891
+ color: unset !important;
892
+ }
893
+
894
+ .mat-mdc-tab.mdc-tab--active .mdc-tab__text-label {
895
+ font-weight: 500;
896
+ }
897
+
898
+
899
+
900
+
901
+ :root {
902
+ --mdc-typography-body1-font-size: 1em;
903
+ --mdc-typography-body1-line-height: 1.2em;
904
+ --mdc-typography-body1-letter-spacing: 0;
905
+ --mdc-typography-body2-font-size: 1em;
906
+ --mdc-typography-body2-line-height: 1.2em;
907
+ --mdc-typography-body2-letter-spacing: 0;
908
+ --mdc-typography-button-letter-spacing: 0;
909
+ --mdc-typography-button-font-size: 1em;
910
+ --mdc-typography-button-font-weight: 400;
911
+ }