i-tech-shared-components 1.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.
- package/.npmignore +2 -0
- package/README.md +24 -0
- package/esm2022/i-tech-shared-components.mjs +5 -0
- package/esm2022/lib/components/button/button.component.mjs +66 -0
- package/esm2022/lib/components/icon-button/icon-button.component.mjs +49 -0
- package/esm2022/lib/components/text/text-input.component.mjs +75 -0
- package/esm2022/lib/directives/input-mask.directive.mjs +92 -0
- package/esm2022/lib/interfaces/app-input.interface.mjs +2 -0
- package/esm2022/lib/interfaces/button-types.constants.mjs +9 -0
- package/esm2022/lib/pipes/generate-error-messages.pipe.mjs +31 -0
- package/esm2022/lib/services/input.service.mjs +29 -0
- package/esm2022/public-api.mjs +11 -0
- package/fesm2022/i-tech-shared-components.mjs +335 -0
- package/fesm2022/i-tech-shared-components.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/components/button/button.component.d.ts +21 -0
- package/lib/components/icon-button/icon-button.component.d.ts +14 -0
- package/lib/components/text/text-input.component.d.ts +21 -0
- package/lib/directives/input-mask.directive.d.ts +21 -0
- package/lib/interfaces/app-input.interface.d.ts +31 -0
- package/lib/interfaces/button-types.constants.d.ts +7 -0
- package/lib/pipes/generate-error-messages.pipe.d.ts +10 -0
- package/lib/services/input.service.d.ts +7 -0
- package/package.json +32 -0
- package/public-api.d.ts +7 -0
- package/theme/_buttons.scss +63 -0
- package/theme/_color_themes.scss +136 -0
- package/theme/_date_picker.scss +77 -0
- package/theme/_form_fields.scss +106 -0
- package/theme/_icon-button.scss +123 -0
- package/theme/_label.scss +119 -0
- package/theme/_mat-selects.scss +248 -0
- package/theme/_menu.scss +9 -0
- package/theme/_text_input.scss +28 -0
- package/theme.scss +36 -0
package/package.json
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "i-tech-shared-components",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"peerDependencies": {
|
|
5
|
+
"@angular/cdk": "^18.2.14",
|
|
6
|
+
"@angular/material": "^18.2.14",
|
|
7
|
+
"@angular/animations": "^18.0.0",
|
|
8
|
+
"@ngx-translate/core": "^15.0.0",
|
|
9
|
+
"@ngx-translate/http-loader": "^8.0.0",
|
|
10
|
+
"ngx-mask": "^16.0.0"
|
|
11
|
+
},
|
|
12
|
+
"dependencies": {
|
|
13
|
+
"tslib": "^2.3.0"
|
|
14
|
+
},
|
|
15
|
+
"sideEffects": false,
|
|
16
|
+
"files": [
|
|
17
|
+
"**/*"
|
|
18
|
+
],
|
|
19
|
+
"module": "fesm2022/i-tech-shared-components.mjs",
|
|
20
|
+
"typings": "index.d.ts",
|
|
21
|
+
"exports": {
|
|
22
|
+
"./package.json": {
|
|
23
|
+
"default": "./package.json"
|
|
24
|
+
},
|
|
25
|
+
".": {
|
|
26
|
+
"types": "./index.d.ts",
|
|
27
|
+
"esm2022": "./esm2022/i-tech-shared-components.mjs",
|
|
28
|
+
"esm": "./esm2022/i-tech-shared-components.mjs",
|
|
29
|
+
"default": "./fesm2022/i-tech-shared-components.mjs"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
package/public-api.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './lib/pipes/generate-error-messages.pipe';
|
|
2
|
+
export * from './lib/services/input.service';
|
|
3
|
+
export * from './lib/interfaces/app-input.interface';
|
|
4
|
+
export * from './lib/directives/input-mask.directive';
|
|
5
|
+
export * from './lib/components/icon-button/icon-button.component';
|
|
6
|
+
export * from './lib/components/text/text-input.component';
|
|
7
|
+
export * from './lib/components/button/button.component';
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
|
|
2
|
+
@use '@angular/material' as mat;
|
|
3
|
+
@import "./color_themes.scss";
|
|
4
|
+
|
|
5
|
+
body {
|
|
6
|
+
$borderRadius: 5px;
|
|
7
|
+
$fontSize: 13px;
|
|
8
|
+
$letterSpacing: 0.5px;
|
|
9
|
+
// BUTTONS
|
|
10
|
+
--mdc-filled-button-container-shape: #{$borderRadius} !important;
|
|
11
|
+
--mdc-outlined-button-container-shape: #{$borderRadius} !important;
|
|
12
|
+
--mdc-text-button-container-shape: #{$borderRadius} !important;
|
|
13
|
+
// Font Size
|
|
14
|
+
--mdc-filled-button-label-text-size: #{$fontSize} !important;
|
|
15
|
+
--mdc-outlined-button-label-text-size: #{$fontSize} !important;
|
|
16
|
+
--mdc-text-button-label-text-size: #{$fontSize} !important;
|
|
17
|
+
// Letter Spacing
|
|
18
|
+
--mdc-filled-button-label-text-tracking: #{$letterSpacing} !important;
|
|
19
|
+
--mdc-outlined-button-label-text-tracking: #{$letterSpacing} !important;
|
|
20
|
+
--mdc-text-button-label-text-tracking: #{$letterSpacing} !important;
|
|
21
|
+
// Unset Outline default border color
|
|
22
|
+
--mdc-outlined-button-outline-color: 0 !important;
|
|
23
|
+
|
|
24
|
+
.mdc-button:not(.mat-autocomplete-select-button) {
|
|
25
|
+
height: 40px;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.mdc-button {
|
|
29
|
+
.spinner-overlay {
|
|
30
|
+
position: absolute;
|
|
31
|
+
left: -20px;
|
|
32
|
+
top: 50%;
|
|
33
|
+
transform: translateY(-50%);
|
|
34
|
+
display: flex;
|
|
35
|
+
align-items: center;
|
|
36
|
+
justify-content: center;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
svg path {
|
|
40
|
+
fill: var(--mdc-text-button-label-text-color);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.spinner-overlay mat-spinner {
|
|
44
|
+
width: 20px;
|
|
45
|
+
height: 20px;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.relative {
|
|
50
|
+
position: relative;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.activated {
|
|
54
|
+
background-color: mat.get-theme-color($m3-light-theme, primary, 95) !important;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
// DEFINE TERTIARY BUTTON
|
|
58
|
+
.mdc-button.tertiary {
|
|
59
|
+
@include mat.button-color($m3-light-theme, $color-variant: tertiary);
|
|
60
|
+
--mdc-text-button-label-text-color: mat.get-theme-color($m3-light-theme, 'tertiary', 30) !important;
|
|
61
|
+
}
|
|
62
|
+
// END OF DEFINE TERTIARY BUTTON
|
|
63
|
+
}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
@use '@angular/material' as mat;
|
|
2
|
+
@use 'sass:map';
|
|
3
|
+
|
|
4
|
+
$_light-palette: (
|
|
5
|
+
primary: (
|
|
6
|
+
0: #000000,
|
|
7
|
+
10: #003A0C,
|
|
8
|
+
20: #005B13,
|
|
9
|
+
25: #006B1E,
|
|
10
|
+
30: #007A28,
|
|
11
|
+
35: #00822E,
|
|
12
|
+
40: #008B33,
|
|
13
|
+
50: #009D3F,
|
|
14
|
+
60: #00AC48,
|
|
15
|
+
70: #42B963,
|
|
16
|
+
80: #69C57F,
|
|
17
|
+
90: #96D5A3,
|
|
18
|
+
95: #C0E5C7,
|
|
19
|
+
98: #E3F6E7,
|
|
20
|
+
99: #EFFAF1,
|
|
21
|
+
100: #FFFFFF,
|
|
22
|
+
),
|
|
23
|
+
secondary: (
|
|
24
|
+
0: #1A1A1A,
|
|
25
|
+
10: #0C2B61,
|
|
26
|
+
20: #183778,
|
|
27
|
+
25: #1F4085,
|
|
28
|
+
30: #2C4D91,
|
|
29
|
+
35: #335497,
|
|
30
|
+
40: #3A5B9E,
|
|
31
|
+
50: #4364A6,
|
|
32
|
+
60: #5777B7,
|
|
33
|
+
70: #718ECB,
|
|
34
|
+
80: #97B0E3,
|
|
35
|
+
90: #C1D2F5,
|
|
36
|
+
95: #DDE7FC,
|
|
37
|
+
98: #E1EBFC,
|
|
38
|
+
99: #EEF4FE,
|
|
39
|
+
100: #FFFFFF,
|
|
40
|
+
),
|
|
41
|
+
neutral: (
|
|
42
|
+
0: #1A1A1A,
|
|
43
|
+
10: #34363B,
|
|
44
|
+
20: #454950,
|
|
45
|
+
25: #4D525B,
|
|
46
|
+
30: #555B65,
|
|
47
|
+
35: #5C646F,
|
|
48
|
+
40: #636C79,
|
|
49
|
+
50: #747E8E,
|
|
50
|
+
60: #828C9B,
|
|
51
|
+
70: #A9AFB9,
|
|
52
|
+
80: #C2C5CD,
|
|
53
|
+
90: #DBDDE1,
|
|
54
|
+
95: #F2F2F5,
|
|
55
|
+
98: #F8F8FA,
|
|
56
|
+
99: #FAFAFC,
|
|
57
|
+
100: #ffffff,
|
|
58
|
+
),
|
|
59
|
+
neutral-variant: (
|
|
60
|
+
0: #000000,
|
|
61
|
+
10: #131e13,
|
|
62
|
+
20: #283327,
|
|
63
|
+
25: #323e32,
|
|
64
|
+
30: #3e4a3d,
|
|
65
|
+
35: #495648,
|
|
66
|
+
40: #556254,
|
|
67
|
+
50: #6e7b6c,
|
|
68
|
+
60: #879485,
|
|
69
|
+
70: #a1af9e,
|
|
70
|
+
80: #bdcab9,
|
|
71
|
+
90: #d9e6d4,
|
|
72
|
+
95: #e7f5e2,
|
|
73
|
+
98: #F2FCED,
|
|
74
|
+
99: #f6fff1,
|
|
75
|
+
100: #ffffff,
|
|
76
|
+
),
|
|
77
|
+
tertiary: (
|
|
78
|
+
0: #000000,
|
|
79
|
+
10: #1D2025,
|
|
80
|
+
20: #30353D,
|
|
81
|
+
25: #393F49,
|
|
82
|
+
30: #424954,
|
|
83
|
+
35: #4A535F,
|
|
84
|
+
40: #525C6A,
|
|
85
|
+
50: #647081,
|
|
86
|
+
60: #747F90,
|
|
87
|
+
70: #9FA6B1,
|
|
88
|
+
80: #BBBFC7,
|
|
89
|
+
90: #D7D9DE,
|
|
90
|
+
95: #F0F0F4,
|
|
91
|
+
98: #F5F5F8,
|
|
92
|
+
99: #F9F9FC,
|
|
93
|
+
100: #FFFFFF,
|
|
94
|
+
),
|
|
95
|
+
error: (
|
|
96
|
+
0: #39041A,
|
|
97
|
+
10: #670923,
|
|
98
|
+
20: #950E2B,
|
|
99
|
+
25: #A5102E,
|
|
100
|
+
30: #B41231,
|
|
101
|
+
35: #BB1635,
|
|
102
|
+
40: #C11A39,
|
|
103
|
+
50: #D2344C,
|
|
104
|
+
60: #DE4558,
|
|
105
|
+
70: #E77383,
|
|
106
|
+
80: #F5A0AA,
|
|
107
|
+
90: #FACBD5,
|
|
108
|
+
95: #FBE9EE,
|
|
109
|
+
98: #FCF1F4,
|
|
110
|
+
99: #FDF4F7,
|
|
111
|
+
100: #FFFFFF,
|
|
112
|
+
),
|
|
113
|
+
);
|
|
114
|
+
$_main: (
|
|
115
|
+
secondary: map.get($_light-palette, secondary),
|
|
116
|
+
neutral: map.get($_light-palette, neutral),
|
|
117
|
+
neutral-variant: map.get($_light-palette, neutral-variant),
|
|
118
|
+
error: map.get($_light-palette, error),
|
|
119
|
+
);
|
|
120
|
+
$_primary: map.merge(map.get($_light-palette, primary), $_main);
|
|
121
|
+
$_tertiary: map.merge(map.get($_light-palette, tertiary), $_main);
|
|
122
|
+
|
|
123
|
+
$m3-light-theme: mat.define-theme((
|
|
124
|
+
color: (
|
|
125
|
+
theme-type: light,
|
|
126
|
+
primary: $_primary,
|
|
127
|
+
tertiary: $_tertiary,
|
|
128
|
+
),
|
|
129
|
+
typography: (
|
|
130
|
+
plain-family: 'Noto Sans',
|
|
131
|
+
brand-family: 'Noto Sans'
|
|
132
|
+
),
|
|
133
|
+
density: (
|
|
134
|
+
scale: -4,
|
|
135
|
+
),
|
|
136
|
+
));
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
@use '@angular/material' as mat;
|
|
2
|
+
@import "./color_themes.scss";
|
|
3
|
+
|
|
4
|
+
body {
|
|
5
|
+
--mat-datepicker-calendar-container-background-color: #{mat.get-theme-color($m3-light-theme, primary, 100)} !important;
|
|
6
|
+
--mat-datepicker-calendar-period-button-text-color: #{mat.get-theme-color($m3-light-theme, primary, 35)} !important;
|
|
7
|
+
--mat-datepicker-calendar-date-hover-state-background-color: #{mat.get-theme-color($m3-light-theme, primary, 99)} !important;
|
|
8
|
+
--mat-datepicker-calendar-date-today-background-color: #{mat.get-theme-color($m3-light-theme, primary, 99)} !important;
|
|
9
|
+
--mat-datepicker-range-input-separator-color: #{mat.get-theme-color($m3-light-theme, neutral, 50)} !important;
|
|
10
|
+
--mat-datepicker-calendar-body-label-text-size: 16px;
|
|
11
|
+
--mat-datepicker-calendar-body-label-text-weight: 400;
|
|
12
|
+
--mat-datepicker-calendar-period-button-text-size: 16px;
|
|
13
|
+
--mat-datepicker-calendar-period-button-text-weight: 400;
|
|
14
|
+
--mat-datepicker-calendar-header-text-color: #1D1B20 !important;
|
|
15
|
+
--mat-datepicker-calendar-header-text-size: 16px !important;
|
|
16
|
+
--mat-datepicker-calendar-header-text-weight: 700 !important;
|
|
17
|
+
|
|
18
|
+
.mat-calendar-body-cell-content {
|
|
19
|
+
font-size: 16px;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
|
|
23
|
+
background-color: var(--mat-datepicker-calendar-date-hover-state-background-color);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.mat-date-range-input {
|
|
27
|
+
.mat-mdc-form-field-flex {
|
|
28
|
+
height: 40px;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.mat-date-range-input-inner::placeholder {
|
|
32
|
+
color: #{mat.get-theme-color($m3-light-theme, neutral, 50)};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.mat-mdc-input-element::placeholder {
|
|
36
|
+
font-weight: 500;
|
|
37
|
+
overflow: hidden;
|
|
38
|
+
color: var(--Text, #424954);
|
|
39
|
+
text-overflow: ellipsis;
|
|
40
|
+
font-size: 13px;
|
|
41
|
+
font-style: normal;
|
|
42
|
+
line-height: 24px;
|
|
43
|
+
letter-spacing: 0.5px;
|
|
44
|
+
}
|
|
45
|
+
width: 100%;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.opened_calendar {
|
|
49
|
+
--mdc-outlined-text-field-outline-width: 3px !important;
|
|
50
|
+
--mdc-outlined-text-field-outline-color: #0060DF !important;
|
|
51
|
+
--mdc-outlined-text-field-error-outline-color: #0060DF !important;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.mat-datepicker-content {
|
|
55
|
+
background-color: var(--white-color) !important;
|
|
56
|
+
--mat-datepicker-calendar-navigation-button-icon-color: #{mat.get-theme-color($m3-light-theme, primary, 80)};
|
|
57
|
+
--mat-datepicker-calendar-period-button-icon-color: #{mat.get-theme-color($m3-light-theme, primary, 80)};
|
|
58
|
+
box-shadow: 0 2px 6px 2px rgba(48, 70, 102, 0.10);
|
|
59
|
+
border: 1px solid var(--Outline, #D7D9DE);
|
|
60
|
+
|
|
61
|
+
.mat-calendar-body-selected {
|
|
62
|
+
background-color: var(--mat-datepicker-calendar-date-selected-state-background-color) !important;
|
|
63
|
+
color: var(--mat-datepicker-calendar-date-selected-state-text-color) !important;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.mat-calendar-body-today:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical) {
|
|
67
|
+
border: 1px solid var(--mat-datepicker-calendar-date-today-outline-color) !important;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.mat-calendar-body-cell-content {
|
|
71
|
+
border: unset !important;
|
|
72
|
+
font-size: 13px !important;
|
|
73
|
+
font-weight: 400 !important;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
@use '@angular/material' as mat;
|
|
2
|
+
@import "./color_themes.scss";
|
|
3
|
+
|
|
4
|
+
body {
|
|
5
|
+
.mat-mdc-form-field {
|
|
6
|
+
width: 100%;
|
|
7
|
+
--mdc-outlined-text-field-input-text-placeholder-color: #{mat.get-theme-color($m3-light-theme, tertiary, 50)};
|
|
8
|
+
// Custom outline color intentionally outside of color palette
|
|
9
|
+
--mdc-outlined-text-field-focus-outline-color: #0060DF;
|
|
10
|
+
--mdc-outlined-text-field-outline-color: #{mat.get-theme-color($m3-light-theme, tertiary, 90)};
|
|
11
|
+
--mdc-outlined-text-field-hover-outline-color: #{mat.get-theme-color($m3-light-theme, tertiary, 70)};
|
|
12
|
+
// Set/focused values should be a slightly darker tertiary30
|
|
13
|
+
--mat-select-focused-arrow-color: #{mat.get-theme-color($m3-light-theme, tertiary, 30)};
|
|
14
|
+
--mat-select-enabled-trigger-text-color: #{mat.get-theme-color($m3-light-theme, tertiary, 30)};
|
|
15
|
+
--mdc-filled-text-field-caret-color: #{mat.get-theme-color($m3-light-theme, tertiary, 30)};
|
|
16
|
+
--mdc-filled-text-field-focus-active-indicator-color: #{mat.get-theme-color($m3-light-theme, tertiary, 30)};
|
|
17
|
+
--mdc-filled-text-field-focus-label-text-color: #{mat.get-theme-color($m3-light-theme, tertiary, 30)};
|
|
18
|
+
--mdc-outlined-text-field-caret-color: #{mat.get-theme-color($m3-light-theme, tertiary, 30)};
|
|
19
|
+
--mdc-outlined-text-field-focus-label-text-color: #{mat.get-theme-color($m3-light-theme, tertiary, 30)};
|
|
20
|
+
--mat-form-field-focus-select-arrow-color: #{mat.get-theme-color($m3-light-theme, tertiary, 30)};
|
|
21
|
+
--mdc-outlined-text-field-input-text-color: #{mat.get-theme-color($m3-light-theme, tertiary, 30)};
|
|
22
|
+
--mdc-outlined-text-field-focus-outline-width: 3px !important;
|
|
23
|
+
--mat-form-field-subscript-text-weight: 500;
|
|
24
|
+
--mat-form-field-container-text-size: 13px;
|
|
25
|
+
--mat-form-field-container-text-weight: 500;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
mat-hint {
|
|
29
|
+
color: #{mat.get-theme-color($m3-light-theme, tertiary, 50)};
|
|
30
|
+
font-size: 11px;
|
|
31
|
+
font-weight: 500;
|
|
32
|
+
letter-spacing: 0.022px;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
mat-label:not(.meu_item_label) {
|
|
36
|
+
color: #{mat.get-theme-color($m3-light-theme, tertiary, 50)};
|
|
37
|
+
position: relative;
|
|
38
|
+
bottom: 5px;
|
|
39
|
+
padding-left: 16px;
|
|
40
|
+
font-size: 11px;
|
|
41
|
+
font-weight: 500;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.mat-mdc-menu-item {
|
|
45
|
+
--mat-menu-item-label-text-size: 13px !important;
|
|
46
|
+
--mat-menu-item-label-text-weight: 500 !important;
|
|
47
|
+
--mat-menu-item-label-text-line-height: 20px !important;
|
|
48
|
+
--mat-menu-item-label-text-tracking: 0.2px !important;
|
|
49
|
+
--mat-menu-item-label-text-color: #424954 !important;
|
|
50
|
+
.meu_item_label {
|
|
51
|
+
text-align: left;
|
|
52
|
+
text-underline-position: from-font;
|
|
53
|
+
text-decoration-skip-ink: none;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
.required-input {
|
|
58
|
+
color: #{mat.get-theme-color($m3-light-theme, error, 40)};
|
|
59
|
+
position: relative;
|
|
60
|
+
bottom: 5px;
|
|
61
|
+
font-size: 11px;
|
|
62
|
+
font-weight: 500;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.mat-form-field-invalid {
|
|
66
|
+
--mdc-outlined-text-field-outline-width: 3px !important;
|
|
67
|
+
// See if we can remove this after updating date-picker scss
|
|
68
|
+
--mdc-outlined-text-field-error-outline-color: #{mat.get-theme-color($m3-light-theme,error,40)} !important;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
.default-form-icon-color {
|
|
72
|
+
color: #{mat.get-theme-color($m3-light-theme, tertiary, 50)} !important;
|
|
73
|
+
.mat-mdc-icon-button.tonal mat-icon {
|
|
74
|
+
color: #{mat.get-theme-color($m3-light-theme, tertiary, 50)} !important;
|
|
75
|
+
& svg path {
|
|
76
|
+
fill: #{mat.get-theme-color($m3-light-theme, tertiary, 50)} !important;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
mat-form-field input::placeholder {
|
|
82
|
+
font-size: 13px;
|
|
83
|
+
font-style: normal;
|
|
84
|
+
font-weight: 500;
|
|
85
|
+
line-height: 20px;
|
|
86
|
+
letter-spacing: 0.2px;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.mat-mdc-input-element {
|
|
90
|
+
overflow: hidden;
|
|
91
|
+
color: var(--Text, #424954);
|
|
92
|
+
text-overflow: ellipsis;
|
|
93
|
+
font-size: 13px;
|
|
94
|
+
font-style: normal;
|
|
95
|
+
font-weight: 500;
|
|
96
|
+
line-height: 24px;
|
|
97
|
+
letter-spacing: 0.5px;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.mat-mdc-form-field-icon-suffix {
|
|
101
|
+
display: flex;
|
|
102
|
+
}
|
|
103
|
+
.mat-mdc-form-field-icon-prefix>.mat-icon {
|
|
104
|
+
padding: 0 8px !important;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
@use '@angular/material' as mat;
|
|
2
|
+
@import "./color_themes.scss";
|
|
3
|
+
|
|
4
|
+
body {
|
|
5
|
+
$buttonSize: 40;
|
|
6
|
+
$buttonSizeSmall: 24;
|
|
7
|
+
|
|
8
|
+
app-icon-button {
|
|
9
|
+
display: inline-block;
|
|
10
|
+
height: #{$buttonSize}px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
app-icon-button:has(.small) {
|
|
14
|
+
height: #{$buttonSizeSmall}px;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// ICON BUTTON SIZING
|
|
18
|
+
.mat-mdc-icon-button,.mat-mdc-fab-base {
|
|
19
|
+
width: #{$buttonSize}px;
|
|
20
|
+
height: #{$buttonSize}px;
|
|
21
|
+
--mdc-icon-button-state-layer-size: #{$buttonSize}px !important;
|
|
22
|
+
padding: calc(calc(var(--mdc-icon-button-state-layer-size, 40px) - var(--mdc-icon-button-icon-size, 24px)) / 2);
|
|
23
|
+
font-size: unset !important;
|
|
24
|
+
|
|
25
|
+
.mat-mdc-button-touch-target {
|
|
26
|
+
width: #{$buttonSize - 10 }px;
|
|
27
|
+
height: #{$buttonSize - 10 }px;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
mat-icon {
|
|
31
|
+
svg {
|
|
32
|
+
vertical-align: super;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.mat-mdc-icon-button.small {
|
|
39
|
+
$iconSize: 21px;
|
|
40
|
+
$buttonSize: 24;
|
|
41
|
+
width: #{$buttonSizeSmall}px;
|
|
42
|
+
height: #{$buttonSizeSmall}px;
|
|
43
|
+
--mdc-icon-button-state-layer-size: #{$buttonSizeSmall}px !important;
|
|
44
|
+
--mdc-icon-button-icon-size: #{$iconSize} !important;
|
|
45
|
+
|
|
46
|
+
mat-icon {
|
|
47
|
+
font-size: $iconSize;
|
|
48
|
+
width: $iconSize;
|
|
49
|
+
height: $iconSize;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.mat-mdc-button-touch-target {
|
|
53
|
+
width: #{$buttonSizeSmall}px;
|
|
54
|
+
height: #{$buttonSizeSmall}px;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.mat-mdc-fab-base.small {
|
|
60
|
+
$iconSize: 21px;
|
|
61
|
+
$buttonSize: 24;
|
|
62
|
+
width: #{$buttonSize}px;
|
|
63
|
+
height: #{$buttonSize}px;
|
|
64
|
+
--mdc-icon-button-state-layer-size: #{$buttonSize}px !important;
|
|
65
|
+
--mdc-icon-button-icon-size: #{$iconSize} !important;
|
|
66
|
+
|
|
67
|
+
mat-icon {
|
|
68
|
+
font-size: $iconSize;
|
|
69
|
+
width: $iconSize;
|
|
70
|
+
height: $iconSize;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
.mat-mdc-button-touch-target {
|
|
74
|
+
width: #{$buttonSize}px;
|
|
75
|
+
height: #{$buttonSize}px;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// END OF ICON BUTTON SIZING
|
|
80
|
+
|
|
81
|
+
// BUTTON ICON TYPES
|
|
82
|
+
|
|
83
|
+
.mat-mdc-icon-button.tonal {
|
|
84
|
+
--mat-icon-button-state-layer-color: #{mat.get-theme-color($m3-light-theme, tertiary, 60)};
|
|
85
|
+
|
|
86
|
+
mat-icon {
|
|
87
|
+
color: mat.get-theme-color($m3-light-theme, tertiary, 30);
|
|
88
|
+
& svg path {
|
|
89
|
+
fill: mat.get-theme-color($m3-light-theme, tertiary, 30);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.mat-mdc-icon-button.standard {
|
|
95
|
+
--mat-icon-button-state-layer-color: #{mat.get-theme-color($m3-light-theme, primary, 60)};
|
|
96
|
+
|
|
97
|
+
mat-icon {
|
|
98
|
+
color: mat.get-theme-color($m3-light-theme, primary, 50);
|
|
99
|
+
& svg path {
|
|
100
|
+
fill: mat.get-theme-color($m3-light-theme, primary, 50);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// FILLED
|
|
106
|
+
.mat-mdc-fab-base.filled {
|
|
107
|
+
--mdc-fab-container-shape: 50% !important;
|
|
108
|
+
--mdc-fab-container-elevation-shadow: none !important;
|
|
109
|
+
--mdc-fab-hover-container-elevation-shadow: none !important;
|
|
110
|
+
--mdc-fab-pressed-container-elevation-shadow: none !important;
|
|
111
|
+
--mdc-fab-focus-container-elevation-shadow: none !important;
|
|
112
|
+
--mdc-fab-container-color: #{mat.get-theme-color($m3-light-theme, primary, 50)};
|
|
113
|
+
--mat-fab-state-layer-color: #{mat.get-theme-color($m3-light-theme, primary, 50)};
|
|
114
|
+
mat-icon {
|
|
115
|
+
color: white;
|
|
116
|
+
& svg path {
|
|
117
|
+
fill: white;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
// END OF BUTTON ICON TYPES
|
|
122
|
+
|
|
123
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
@use "sass:map";
|
|
2
|
+
@use '@angular/material' as mat;
|
|
3
|
+
@import "./color_themes.scss";
|
|
4
|
+
|
|
5
|
+
body {
|
|
6
|
+
$types: (
|
|
7
|
+
purple: (
|
|
8
|
+
main: #DBD4F3,
|
|
9
|
+
hover: #E5E0F6,
|
|
10
|
+
border: #6F5BBF,
|
|
11
|
+
text: #140063
|
|
12
|
+
),
|
|
13
|
+
teal: (
|
|
14
|
+
main: #D2F3F2,
|
|
15
|
+
hover: #DFF6F6,
|
|
16
|
+
border: #00CAC3,
|
|
17
|
+
text: #006B67
|
|
18
|
+
),
|
|
19
|
+
olive: (
|
|
20
|
+
main: #EFF2D4,
|
|
21
|
+
hover: #F3F6E0,
|
|
22
|
+
border: #CDD968,
|
|
23
|
+
text: #606C00
|
|
24
|
+
),
|
|
25
|
+
orange: (
|
|
26
|
+
main: #FFE4DB,
|
|
27
|
+
hover: #FFECE5,
|
|
28
|
+
border: #FC8156,
|
|
29
|
+
text: #A42B00
|
|
30
|
+
),
|
|
31
|
+
blue: (
|
|
32
|
+
main: #D1E9FF,
|
|
33
|
+
hover: #DEEFFF,
|
|
34
|
+
border: #42A5FF,
|
|
35
|
+
text: #003E77
|
|
36
|
+
),
|
|
37
|
+
cyan: (
|
|
38
|
+
main: #DBF8FF,
|
|
39
|
+
hover: #E5FAFF,
|
|
40
|
+
border: #42D8FF,
|
|
41
|
+
text: #006681
|
|
42
|
+
),
|
|
43
|
+
raspberry: (
|
|
44
|
+
main: #EBD6DB,
|
|
45
|
+
hover: #F1E1E5,
|
|
46
|
+
border: #711A2E,
|
|
47
|
+
text: #4B0011
|
|
48
|
+
),
|
|
49
|
+
yellow: (
|
|
50
|
+
main: #FFFCCB,
|
|
51
|
+
hover: #FFFDDA,
|
|
52
|
+
border: #FFF000,
|
|
53
|
+
text: #847700
|
|
54
|
+
),
|
|
55
|
+
wine: (
|
|
56
|
+
main: #EDD3E5,
|
|
57
|
+
hover: #F2DFEC,
|
|
58
|
+
border: #9D4280,
|
|
59
|
+
text: #680047
|
|
60
|
+
),
|
|
61
|
+
green: (
|
|
62
|
+
main: #CFF1DD,
|
|
63
|
+
hover: #DCF5E7,
|
|
64
|
+
border: #2EB265,
|
|
65
|
+
text: #005D27
|
|
66
|
+
),
|
|
67
|
+
primary: (
|
|
68
|
+
main: #C0E5C7,
|
|
69
|
+
hover: #EFFAF1,
|
|
70
|
+
border: #42B963,
|
|
71
|
+
text: #003A0C
|
|
72
|
+
),
|
|
73
|
+
red: (
|
|
74
|
+
main: #FFE5E5,
|
|
75
|
+
hover: #FFD9D9,
|
|
76
|
+
border: #FF4D4D,
|
|
77
|
+
text: #8B0000
|
|
78
|
+
),
|
|
79
|
+
);
|
|
80
|
+
|
|
81
|
+
--mdc-chip-container-shape-radius: 8px !important;
|
|
82
|
+
--mdc-chip-label-text-line-height: 16px !important;
|
|
83
|
+
--mdc-chip-label-text-size: 11px !important;
|
|
84
|
+
--mdc-chip-label-text-weight: 700 !important;
|
|
85
|
+
--mdc-chip-label-text-tracking: 0.3 !important;
|
|
86
|
+
--mdc-chip-outline-width: 0 !important;
|
|
87
|
+
--mdc-chip-container-height: 32px !important;
|
|
88
|
+
|
|
89
|
+
@each $type, $value in $types {
|
|
90
|
+
.label_#{$type} {
|
|
91
|
+
--mdc-chip-elevated-container-color: #{map.get($value, "main")};
|
|
92
|
+
--mdc-chip-outline-color: #{map.get($value, "border")};
|
|
93
|
+
--mdc-chip-label-text-color: #{map.get($value, "text")};
|
|
94
|
+
|
|
95
|
+
mat-icon {
|
|
96
|
+
width: 18px;
|
|
97
|
+
height: 18px;
|
|
98
|
+
font-size: 18px;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
.mat-mdc-chip.small {
|
|
104
|
+
// TODO need to review
|
|
105
|
+
--mdc-chip-container-height: 28px !important;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.trailing-icon {
|
|
109
|
+
.mat-mdc-standard-chip .mdc-evolution-chip__action--primary {
|
|
110
|
+
// Chips with trailing icon have -4 right padding per Figma
|
|
111
|
+
padding-right: 8px;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.mat-mdc-chip.bordered {
|
|
116
|
+
--mdc-chip-outline-width: 2.5px !important;
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
}
|