@softheon/armature 17.29.0 → 17.31.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.
@@ -9,7 +9,10 @@ body {
9
9
  margin: 0 !important;
10
10
  }
11
11
 
12
- /* disable ripple effects globally */
12
+ /*
13
+ disable ripple effects globally
14
+ @note: this may not work in all cases due to scope ...
15
+ */
13
16
  .mat-ripple {
14
17
  display: none !important;
15
18
  }
@@ -106,8 +106,8 @@
106
106
  }
107
107
  &[theme="primary"], &[theme="neutral"], &[theme="destroy"] {
108
108
  &:disabled {
109
- background: mat.get-color-from-palette(theme.$arm-neutral, A100) !important;
110
- background-color: mat.get-color-from-palette(theme.$arm-neutral, A100) !important;
109
+ background: mat.get-color-from-palette(theme.$arm-neutral, A50) !important;
110
+ background-color: mat.get-color-from-palette(theme.$arm-neutral, A50) !important;
111
111
  color: vars.$text-low-emphasis !important;
112
112
  }
113
113
  }
@@ -117,15 +117,33 @@
117
117
  &[theme="primary"], &[theme="neutral"], &[theme="destroy"] {
118
118
  background: vars.$surface-color-level-one-light !important;
119
119
  background-color: vars.$surface-color-level-one-light !important;
120
- &:hover, &:disabled {
121
- background: mat.get-color-from-palette(theme.$arm-neutral, A200) !important;
122
- background-color: mat.get-color-from-palette(theme.$arm-neutral, A200) !important;
120
+ &:hover {
121
+ background: linear-gradient(
122
+ 0deg,
123
+ mat.get-color-from-palette(theme.$arm-neutral, A100) 0%,
124
+ mat.get-color-from-palette(theme.$arm-neutral, A100) 100%
125
+ ), vars.$surface-color-level-one-light !important;
126
+ background-color: linear-gradient(
127
+ 0deg,
128
+ mat.get-color-from-palette(theme.$arm-neutral, A100) 0%,
129
+ mat.get-color-from-palette(theme.$arm-neutral, A100) 100%
130
+ ), vars.$surface-color-level-one-light !important;
123
131
  }
124
132
  &:active {
125
- background: mat.get-color-from-palette(theme.$arm-neutral, A300) !important;
126
- background-color: mat.get-color-from-palette(theme.$arm-neutral, A300) !important;
133
+ background: linear-gradient(
134
+ 0deg,
135
+ mat.get-color-from-palette(theme.$arm-neutral, A200) 0%,
136
+ mat.get-color-from-palette(theme.$arm-neutral, A200) 100%
137
+ ), vars.$surface-color-level-one-light !important;
138
+ background-color: linear-gradient(
139
+ 0deg,
140
+ mat.get-color-from-palette(theme.$arm-neutral, A200) 0%,
141
+ mat.get-color-from-palette(theme.$arm-neutral, A200) 100%
142
+ ), vars.$surface-color-level-one-light !important;
127
143
  }
128
144
  &:disabled {
145
+ background: mat.get-color-from-palette(theme.$arm-neutral, A50) !important;
146
+ background-color: mat.get-color-from-palette(theme.$arm-neutral, A50) !important;
129
147
  color: vars.$text-low-emphasis !important;
130
148
  }
131
149
  }
@@ -0,0 +1,143 @@
1
+ @use '../variables' as vars;
2
+ @use '../arm-theme' as theme;
3
+
4
+ .sof-expansion-panel {
5
+ * {
6
+ box-sizing: border-box !important;
7
+ }
8
+
9
+ box-sizing: border-box !important;
10
+ box-shadow: none !important;
11
+ border-radius: 8px !important;
12
+ background: vars.$surface-color-default-light !important;
13
+
14
+ &:focus-within {
15
+ outline: 3px solid !important;
16
+ outline-offset: 2px !important;
17
+ outline-color: map-get(theme.$arm-primary, 300) !important;
18
+ }
19
+
20
+ &:not(.mat-expanded) {
21
+ .mat-expansion-panel-header {
22
+ border: 2px solid vars.$surface-color-level-three-light !important;
23
+ background: vars.$surface-color-default-light !important;
24
+
25
+ &:hover {
26
+ background: linear-gradient(
27
+ 0deg,
28
+ map-get(theme.$arm-neutral, A50) 0%,
29
+ map-get(theme.$arm-neutral, A50) 100%
30
+ ), vars.$surface-color-default-light !important;
31
+ }
32
+
33
+ &:active {
34
+ background: linear-gradient(
35
+ 0deg,
36
+ map-get(theme.$arm-neutral, A100) 0%,
37
+ map-get(theme.$arm-neutral, A100) 100%
38
+ ), vars.$surface-color-default-light !important;
39
+ }
40
+
41
+ .mat-content {
42
+ .mat-expansion-panel-header-title {
43
+ display: -webkit-box !important;
44
+ -webkit-line-clamp: 2 !important;
45
+ -webkit-box-orient: vertical !important;
46
+ line-clamp: 2 !important;
47
+ overflow: hidden !important;
48
+ }
49
+ }
50
+ }
51
+ }
52
+
53
+ &.mat-expanded {
54
+ background: map-get(theme.$arm-primary, 50) !important;
55
+
56
+ .mat-expansion-panel-header {
57
+ border: 2px solid transparent !important;
58
+
59
+ &:hover {
60
+ background: linear-gradient(
61
+ 0deg,
62
+ map-get(theme.$arm-primary, A100) 0%,
63
+ map-get(theme.$arm-primary, A100) 100%
64
+ ), map-get(theme.$arm-primary, 50) !important;
65
+ }
66
+
67
+ &:active {
68
+ background: linear-gradient(
69
+ 0deg,
70
+ map-get(theme.$arm-primary, A200) 0%,
71
+ map-get(theme.$arm-primary, A200) 100%
72
+ ), map-get(theme.$arm-primary, 50) !important;
73
+ }
74
+
75
+ .mat-content {
76
+ .mat-expansion-panel-header-title {
77
+ display: flex !important;
78
+ -webkit-line-clamp: 0 !important;
79
+ -webkit-box-orient: unset !important;
80
+ line-clamp: 0 !important;
81
+ }
82
+ }
83
+
84
+ .mat-expansion-indicator::after {
85
+ right: 0px !important;
86
+ }
87
+ }
88
+
89
+ .mat-expansion-panel-content {
90
+ padding: 16px 8px 16px 16px !important;
91
+ }
92
+ }
93
+
94
+ .mat-expansion-panel-header {
95
+ height: auto !important;
96
+ padding: 10px 16px !important;
97
+
98
+ .mat-content {
99
+ align-items: center !important;
100
+ gap: 16px !important;
101
+
102
+ i {
103
+ font-size: 20px !important;
104
+ color: vars.$surface-color-inverse-light !important;
105
+ }
106
+
107
+ .mat-expansion-panel-header-title {
108
+ font-size: 16px !important;
109
+ font-weight: 600 !important;
110
+ line-height: normal !important;
111
+ font-family: "Poppins", sans-serif !important;
112
+ color: vars.$text-high-emphasis !important;
113
+ order: 2 !important;
114
+ }
115
+ }
116
+
117
+ .mat-expansion-indicator::after {
118
+ color: vars.$surface-color-inverse-light !important;
119
+ padding: 4px !important;
120
+ position: relative !important;
121
+ top: -2px !important;
122
+ right: 2px !important;
123
+ }
124
+ }
125
+
126
+ .mat-expansion-panel-content {
127
+ background: map-get(theme.$arm-primary, 50) !important;
128
+ transition: padding 225ms cubic-bezier(0.4, 0, 0.2, 1) !important;
129
+
130
+ .mat-expansion-panel-body {
131
+ padding: 0 8px 0 0 !important;
132
+ max-height: 400px !important;
133
+ overflow-y: hidden !important;
134
+ scrollbar-width: thin;
135
+ scrollbar-gutter: stable !important;
136
+ scrollbar-color: map-get(theme.$arm-neutral, A200) map-get(theme.$arm-primary, 50) !important;
137
+
138
+ &:hover {
139
+ overflow-y: auto !important;
140
+ }
141
+ }
142
+ }
143
+ }
@@ -1,96 +1,129 @@
1
- @use "@angular/material" as mat;
2
1
  @use "../arm-theme" as theme;
2
+ @use "../variables" as vars;
3
3
 
4
- mat-radio-button.sof-radio-button.mat-mdc-radio-checked {
5
- &.mat-primary,
6
- &[color="primary"] {
7
- --mdc-radio-selected-focus-icon-color: #{mat.get-color-from-palette(theme.$arm-primary, 500)};
8
- --mdc-radio-selected-hover-icon-color: #{mat.get-color-from-palette(theme.$arm-primary, 500)};
9
- --mdc-radio-selected-icon-color: #{mat.get-color-from-palette(theme.$arm-primary, 500)};
10
- --mdc-radio-selected-pressed-icon-color: #{mat.get-color-from-palette(theme.$arm-primary, 500)};
11
- --mat-mdc-radio-checked-ripple-color: #{mat.get-color-from-palette(theme.$arm-primary, 500)};
12
- }
4
+ .sof-radio-button {
5
+ display: flex !important;
6
+ width: fit-content !important;
13
7
 
14
- &.mat-accent,
15
- &[color="accent"] {
16
- --mdc-radio-selected-focus-icon-color: #{mat.get-color-from-palette(theme.$arm-accent, 500)};
17
- --mdc-radio-selected-hover-icon-color: #{mat.get-color-from-palette(theme.$arm-accent, 500)};
18
- --mdc-radio-selected-icon-color: #{mat.get-color-from-palette(theme.$arm-accent, 500)};
19
- --mdc-radio-selected-pressed-icon-color: #{mat.get-color-from-palette(theme.$arm-accent, 500)};
20
- --mat-mdc-radio-checked-ripple-color: #{mat.get-color-from-palette(theme.$arm-accent, 500)};
8
+ * {
9
+ box-sizing: border-box !important;
21
10
  }
22
11
 
23
- &.mat-warn,
24
- &[color="warn"] {
25
- --mdc-radio-selected-focus-icon-color: #{mat.get-color-from-palette(theme.$arm-warn, 500)};
26
- --mdc-radio-selected-hover-icon-color: #{mat.get-color-from-palette(theme.$arm-warn, 500)};
27
- --mdc-radio-selected-icon-color: #{mat.get-color-from-palette(theme.$arm-warn, 500)};
28
- --mdc-radio-selected-pressed-icon-color: #{mat.get-color-from-palette(theme.$arm-warn, 500)};
29
- --mat-mdc-radio-checked-ripple-color: #{mat.get-color-from-palette(theme.$arm-warn, 500)};
30
- }
12
+ $sof-radio-size: 20px;
13
+
14
+ --mdc-radio-disabled-selected-icon-color: #{map-get(theme.$arm-neutral, 300)} !important;
15
+ --mdc-radio-disabled-unselected-icon-color: #{map-get(theme.$arm-neutral, 300)} !important;
16
+ --mdc-radio-disabled-selected-icon-opacity: 1 !important;
17
+ --mdc-radio-disabled-unselected-icon-opacity: 1 !important;
18
+
19
+ --mdc-radio-unselected-icon-color: #{map-get(theme.$arm-neutral, 500)} !important;
20
+ --mdc-radio-unselected-hover-icon-color: #{map-get(theme.$arm-neutral, 700)} !important;
21
+ --mdc-radio-unselected-pressed-icon-color: #{map-get(theme.$arm-neutral, 800)} !important;
31
22
 
32
- &.mat-success,
33
- &[color="success"] {
34
- --mdc-radio-selected-focus-icon-color: #{mat.get-color-from-palette(theme.$arm-success, 500)};
35
- --mdc-radio-selected-hover-icon-color: #{mat.get-color-from-palette(theme.$arm-success, 500)};
36
- --mdc-radio-selected-icon-color: #{mat.get-color-from-palette(theme.$arm-success, 500)};
37
- --mdc-radio-selected-pressed-icon-color: #{mat.get-color-from-palette(theme.$arm-success, 500)};
38
- --mat-mdc-radio-checked-ripple-color: #{mat.get-color-from-palette(theme.$arm-success, 500)};
23
+ --mdc-radio-selected-icon-color: #{map-get(theme.$arm-primary, 500)} !important;
24
+ --mdc-radio-selected-hover-icon-color: #{map-get(theme.$arm-primary, 700)} !important;
25
+ --mdc-radio-selected-focus-icon-color: #{map-get(theme.$arm-primary, 800)} !important;
26
+ --mdc-radio-selected-pressed-icon-color: #{map-get(theme.$arm-primary, 800)} !important;
27
+
28
+ --mat-radio-ripple-color: transparent !important;
29
+ --mat-radio-checked-ripple-color: transparent !important;
30
+
31
+ &:hover {
32
+ .mdc-radio:not(.mdc-radio--disabled) {
33
+ .mat-mdc-radio-touch-target {
34
+ background: map-get(theme.$arm-primary, A100) !important;
35
+ }
36
+ }
39
37
  }
40
38
 
41
- &.mat-info,
42
- &[color="info"] {
43
- --mdc-radio-selected-focus-icon-color: #{mat.get-color-from-palette(theme.$arm-info, 500)};
44
- --mdc-radio-selected-hover-icon-color: #{mat.get-color-from-palette(theme.$arm-info, 500)};
45
- --mdc-radio-selected-icon-color: #{mat.get-color-from-palette(theme.$arm-info, 500)};
46
- --mdc-radio-selected-pressed-icon-color: #{mat.get-color-from-palette(theme.$arm-info, 500)};
47
- --mat-mdc-radio-checked-ripple-color: #{mat.get-color-from-palette(theme.$arm-info, 500)};
39
+ &:hover:not(.mat-mdc-radio-checked) {
40
+ .mdc-radio__background {
41
+ .mdc-radio__outer-circle {
42
+ border-color: map-get(theme.$arm-neutral, 700) !important;
43
+ }
44
+ }
48
45
  }
49
46
 
50
- &.mat-error,
51
- &[color="error"] {
52
- --mdc-radio-selected-focus-icon-color: #{mat.get-color-from-palette(theme.$arm-error, 500)};
53
- --mdc-radio-selected-hover-icon-color: #{mat.get-color-from-palette(theme.$arm-error, 500)};
54
- --mdc-radio-selected-icon-color: #{mat.get-color-from-palette(theme.$arm-error, 500)};
55
- --mdc-radio-selected-pressed-icon-color: #{mat.get-color-from-palette(theme.$arm-error, 500)};
56
- --mat-mdc-radio-checked-ripple-color: #{mat.get-color-from-palette(theme.$arm-error, 500)};
47
+ &:active {
48
+ .mdc-radio:not(.mdc-radio--disabled) {
49
+ .mat-mdc-radio-touch-target {
50
+ background: map-get(theme.$arm-primary, A200) !important;
51
+ }
52
+ }
57
53
  }
58
54
 
59
- &.mat-neutral,
60
55
  &[color="neutral"] {
61
- --mdc-radio-selected-focus-icon-color: #{mat.get-color-from-palette(theme.$arm-neutral, 500)};
62
- --mdc-radio-selected-hover-icon-color: #{mat.get-color-from-palette(theme.$arm-neutral, 500)};
63
- --mdc-radio-selected-icon-color: #{mat.get-color-from-palette(theme.$arm-neutral, 500)};
64
- --mdc-radio-selected-pressed-icon-color: #{mat.get-color-from-palette(theme.$arm-neutral, 500)};
65
- --mat-mdc-radio-checked-ripple-color: #{mat.get-color-from-palette(theme.$arm-neutral, 500)};
66
- }
67
- }
56
+ --mdc-radio-selected-icon-color: #{map-get(theme.$arm-neutral, 500)} !important;
57
+ --mdc-radio-selected-hover-icon-color: #{map-get(theme.$arm-neutral, 700)} !important;
58
+ --mdc-radio-selected-focus-icon-color: #{map-get(theme.$arm-neutral, 800)} !important;
59
+ --mdc-radio-selected-pressed-icon-color: #{map-get(theme.$arm-neutral, 800)} !important;
68
60
 
69
- mat-radio-button.sof-radio-button {
70
- .mdc-radio__background {
71
- border-width: 3px !important;
61
+ &:hover {
62
+ .mdc-radio:not(.mdc-radio--disabled) {
63
+ .mat-mdc-radio-touch-target {
64
+ background: map-get(theme.$arm-neutral, A100) !important;
65
+ }
66
+ }
67
+ }
68
+
69
+ &:active {
70
+ .mdc-radio:not(.mdc-radio--disabled) {
71
+ .mat-mdc-radio-touch-target {
72
+ background: map-get(theme.$arm-neutral, A200) !important;
73
+ }
74
+ }
75
+ }
72
76
  }
73
77
 
74
- .mdc-radio__background,
75
78
  .mdc-radio {
76
- width: 20px !important;
77
- height: 20px !important;
78
- }
79
+ --mdc-radio-state-layer-size: #{$sof-radio-size};
80
+ margin: 0 !important;
81
+ padding: 0 !important;
82
+ width: calc($sof-radio-size) !important;
83
+ height: calc($sof-radio-size) !important;
84
+ flex: none !important;
79
85
 
80
- .mdc-radio__native-control {
81
- width: 24px !important;
82
- height: 24px !important;
83
- transform: translate(0.7em, 9.5px);
84
- }
86
+ .mat-mdc-radio-touch-target {
87
+ width: calc($sof-radio-size + 4px) !important;
88
+ height: calc($sof-radio-size + 4px) !important;
89
+ border-radius: 50% !important;
90
+ background: transparent !important;
91
+ }
92
+
93
+ .mdc-radio__native-control {
94
+ width: $sof-radio-size !important;
95
+ height: $sof-radio-size !important;
96
+ }
85
97
 
86
- .mat-mdc-radio-touch-target {
87
- transform: translate(-48%, -50%) !important;
98
+ .mdc-radio__native-control:focus ~ .mdc-radio__background {
99
+ outline: 3px solid !important;
100
+ outline-offset: 2px !important;
101
+ outline-color: map-get(theme.$arm-primary, 300) !important;
102
+ }
103
+
104
+ .mdc-radio__background {
105
+ border-radius: 50% !important;
106
+ width: $sof-radio-size !important;
107
+ height: $sof-radio-size !important;
108
+ }
109
+
110
+ .mat-radio-ripple,
111
+ .mdc-radio:hover .mdc-radio__native-control:not([disabled])~.mdc-radio-ripple {
112
+ display: none !important;
113
+ }
88
114
  }
89
115
 
90
- .mat-radio-ripple,
91
- .mdc-radio:hover .mdc-radio__native-control:not([disabled])~.mdc-radio-ripple {
92
- width: 40px;
93
- height: 40px;
94
- transform: translate(1px, 1px) !important;
116
+ label {
117
+ padding: 0 0 0 8px !important;
118
+ font-family: "Poppins", sans-serif !important;
119
+ letter-spacing: 0px !important;
120
+ font-size: 16px !important;
121
+ line-height: $sof-radio-size !important;
122
+ cursor: pointer !important;
95
123
  }
96
124
  }
125
+
126
+ .mat-mdc-radio-button .mdc-radio--disabled+label {
127
+ color: vars.$text-low-emphasis !important;
128
+ cursor: default !important;
129
+ }
@@ -35,6 +35,7 @@
35
35
  @use "./material-override/button-toggle-group";
36
36
  @use "./material-override/calendar";
37
37
  @use "./material-override/checkbox";
38
+ @use "./material-override/expansion-panel";
38
39
  @use "./material-override/form-field";
39
40
  @use "./material-override/menu";
40
41
  @use "./material-override/radio-button";