@matteusan/himig 1.7.4 → 1.8.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.
@@ -18,37 +18,56 @@
18
18
  $typography: pintig.theme-merge(theme.$init-typography, $typography);
19
19
  $settings: pintig.theme-merge(theme.$init-settings, $settings);
20
20
 
21
- @include base.init(
22
- $struct,
23
- $typography
24
- ) {
25
- @include pintig.color-apply('card', (
26
- fill: pintig.theme-get($color, 'fill'),
27
- ink: pintig.theme-get($color, 'ink'),
28
- ));
29
- @include pintig.color-border('card', pintig.theme-get($color, 'border'), 'bind');
30
- @include pintig.struct-apply('card', (
31
- width: (
32
- default: pintig.theme-get($struct, 'width'),
33
- min: pintig.theme-get($struct, 'width', 'min'),
34
- max: pintig.theme-get($struct, 'width', 'max'),
35
- ),
36
- radius: pintig.theme-get($struct, 'radius'),
37
- shadow: 'none',
38
- ));
39
-
40
- &:where(.is-outlined) {
41
- @include pintig.color-bind('card', (
42
- fill: pintig.theme-get($color, 'fill', 'outlined'),
43
- ink: pintig.theme-get($color, 'ink'),
44
- border: pintig.theme-get($color, 'border')
21
+ @layer components {
22
+ @include base.init(
23
+ $struct,
24
+ $typography
25
+ ) {
26
+ @include pintig.color-border('card', pintig.theme-get($color, 'border'), 'bind');
27
+ @include pintig.struct-apply('card', (
28
+ width: (
29
+ default: pintig.theme-get($struct, 'width'),
30
+ min: pintig.theme-get($struct, 'width', 'min'),
31
+ max: pintig.theme-get($struct, 'width', 'max'),
32
+ ),
33
+ radius: pintig.theme-get($struct, 'radius'),
34
+ shadow: 'none',
45
35
  ));
46
- }
47
36
 
48
- &:where(.is-raised) {
49
- @include pintig.struct-bind('card', (
50
- shadow: 'low'
51
- ));
37
+ @include pintig.breakpoint-create('large') {
38
+ &:has(.ms-card__media) {
39
+ .ms-card__details {
40
+ @include pintig.color-bind('card', (
41
+ fill: linear-gradient(180deg,
42
+ rgb(from pintig.token-switch(pintig.theme-get($color, 'fill')) r g b / 0%) 0%,
43
+ rgb(from pintig.token-switch(pintig.theme-get($color, 'fill')) r g b / 50%) 15%,
44
+ rgb(from pintig.token-switch(pintig.theme-get($color, 'fill')) r g b / 70%) 30%,
45
+ rgb(from pintig.token-switch(pintig.theme-get($color, 'fill')) r g b / 90%) 80%,
46
+ rgb(from pintig.token-switch(pintig.theme-get($color, 'fill')) r g b / 100%) 100%
47
+ ),
48
+ ink: pintig.theme-get($color, 'ink'),
49
+ ));
50
+ }
51
+ }
52
+ }
53
+
54
+ &:where(.is-raised) {
55
+ @include pintig.struct-bind('card', (
56
+ shadow: 'low'
57
+ ));
58
+ }
59
+
60
+ .ms-card__details {
61
+ @include pintig.color-apply('card', (
62
+ fill: pintig.theme-get($color, 'fill')
63
+ ));
64
+
65
+ .ms-card__subtitle {
66
+ @include pintig.color-apply('card-subtitle', (
67
+ ink: rgb(from pintig.token-switch(pintig.theme-get($color, 'ink', 'subtitle')) r g b / 60%),
68
+ ));
69
+ }
70
+ }
52
71
  }
53
72
  }
54
73
  }
@@ -4,11 +4,13 @@
4
4
 
5
5
  $init-color: (
6
6
  fill: (
7
- default: 'primary-400',
8
- outlined: 'surface-alpha-400'
7
+ default: 'primary-600'
9
8
  ),
10
- ink: 'primary-ink',
11
- border: 'primary-400',
9
+ ink: (
10
+ default: 'primary-ink',
11
+ subtitle: 'primary-ink',
12
+ ),
13
+ border: 'primary-600',
12
14
  );
13
15
 
14
16
  $init-struct: (
@@ -19,8 +21,6 @@ $init-struct: (
19
21
  ),
20
22
  radius: 'md',
21
23
  padding: 'lg',
22
- border-width: 'xs',
23
- border-style: 'solid',
24
24
  gap: (
25
25
  section: 'md',
26
26
  header: 'md',
@@ -31,7 +31,7 @@ $init-struct: (
31
31
  $init-typography: (
32
32
  family: (
33
33
  'default': 'body',
34
- 'title': 'subtitle',
34
+ 'title': 'title',
35
35
  'subtitle': 'body',
36
36
  ),
37
37
  size: (
@@ -42,7 +42,7 @@ $init-typography: (
42
42
  ),
43
43
  weight: (
44
44
  'default': 'normal',
45
- 'title': 'bold',
45
+ 'title': 'normal',
46
46
  'subtitle': 'normal',
47
47
  ),
48
48
  line-height: (
@@ -50,6 +50,11 @@ $init-typography: (
50
50
  'title': 'normal',
51
51
  'subtitle': 'normal',
52
52
  ),
53
+ squeeze: (
54
+ 'default': 'normal',
55
+ 'title': 'tight',
56
+ 'subtitle': 'normal',
57
+ ),
53
58
  );
54
59
 
55
60
  $init-settings: ();
@@ -27,7 +27,7 @@
27
27
  padding: ('xs' 'xs' 0 0),
28
28
  ));
29
29
  @include pintig.typography-apply('form-field-label', pintig.$type-inherit-template);
30
- @include pintig.prefix(transition, all var(--ms-transition-time) ease);
30
+ @include pintig.prefix(transition, all pintig.token-get('time-short') pintig.token-get('easing'));
31
31
  cursor: text;
32
32
  }
33
33
 
@@ -45,7 +45,7 @@
45
45
  &:has(.ms-form-field__label) {
46
46
  .ms-form-field__input {
47
47
  @include pintig.key-bind('form-field-placeholder-ink', rgba(0 0 0 / 0) !important);
48
- padding-top: calc(#{$top-padding} + 1rem) !important;
48
+ padding-block-start: calc(#{$top-padding} + 1rem) !important;
49
49
  }
50
50
  }
51
51
 
@@ -78,7 +78,7 @@
78
78
  resize: none;
79
79
  cursor: text;
80
80
  -webkit-appearance: caret;
81
- @include pintig.prefix(transition, all var(--ms-transition-time) ease);
81
+ @include pintig.prefix(transition, all pintig.token-get('time-short') pintig.token-get('easing'));
82
82
 
83
83
  &::placeholder {
84
84
  color: pintig.key-create('form-field-placeholder-ink', inherit);
@@ -96,7 +96,7 @@
96
96
  weight: inherit,
97
97
  line-height: inherit,
98
98
  ));
99
- @include pintig.prefix(transition, all var(--ms-transition-time) ease);
99
+ @include pintig.prefix(transition, all pintig.token-get('time-short') pintig.token-get('easing'));
100
100
  }
101
101
  }
102
102
  }
@@ -20,119 +20,60 @@
20
20
 
21
21
  $resolve-padding: if(list.length(pintig.theme-get($struct, 'padding')) >= 2, list.nth(pintig.theme-get($struct, 'padding'), 2), list.nth(pintig.theme-get($struct, 'padding'), 1));
22
22
 
23
- @include base.init(
24
- pintig.primitive-token-switch('padding.#{$resolve-padding}', $resolve-padding),
25
- pintig.primitive-token-switch('padding.#{$resolve-padding}', $resolve-padding),
26
- pintig.primitive-token-switch('padding.#{list.nth(pintig.theme-get($struct, 'padding'), 1)}', list.nth(pintig.theme-get($struct, 'padding'), 1)),
27
- ) {
28
- .ms-form-field__label {
29
- @include pintig.color-bind('form-field-label', (
30
- ink: pintig.theme-get($color, 'ink', 'disabled'),
31
- ));
32
- @include pintig.typography-bind('form-field-label', (
33
- family: pintig.theme-get($typography, 'family'),
34
- size: pintig.theme-get($typography, 'size', 'label'),
35
- weight: pintig.theme-get($typography, 'weight'),
36
- line-height: pintig.theme-get($typography, 'height'),
37
- ));
38
- user-select: none;
39
- }
40
-
41
- &:has(.ms-form-field__input:not(:read-only):not(:disabled)) {
23
+ @layer components {
24
+ @include base.init(
25
+ pintig.primitive-token-switch('padding.#{$resolve-padding}', $resolve-padding),
26
+ pintig.primitive-token-switch('padding.#{$resolve-padding}', $resolve-padding),
27
+ pintig.primitive-token-switch('padding.#{list.nth(pintig.theme-get($struct, 'padding'), 1)}', list.nth(pintig.theme-get($struct, 'padding'), 1)),
28
+ ) {
42
29
  .ms-form-field__label {
43
30
  @include pintig.color-bind('form-field-label', (
44
- ink: pintig.theme-get($color, 'ink'),
45
- ));
46
- }
47
- }
48
-
49
- &:has(.ms-form-field__input:read-only:disabled) {
50
- @include pintig.color-ink('form-field-helper', pintig.theme-get($color, 'ink', 'disabled'), 'bind');
51
- }
52
-
53
- .ms-form-field__input {
54
- @include pintig.struct-bind('form-field', (
55
- width: (
56
- default: pintig.theme-get($struct, 'width'),
57
- min: pintig.theme-get($struct, 'width', 'min'),
58
- max: pintig.theme-get($struct, 'width', 'max')
59
- ),
60
- padding: pintig.theme-get($struct, 'padding'),
61
- radius: pintig.theme-get($struct, 'radius'),
62
- border-width: pintig.theme-get($struct, 'border-width'),
63
- border-style: pintig.theme-get($struct, 'border-style'),
64
- gap: pintig.theme-get($struct, 'gap'),
65
- ));
66
- @include pintig.typography-bind('form-field', (
67
- family: pintig.theme-get($typography, 'family'),
68
- size: pintig.theme-get($typography, 'size', 'default'),
69
- weight: pintig.theme-get($typography, 'weight'),
70
- line-height: pintig.theme-get($typography, 'height'),
71
- ));
72
-
73
- &:not(:read-only),
74
- &:not(:disabled) {
75
- @include pintig.color-bind('form-field', (
76
- fill: pintig.theme-get($color, 'fill'),
77
- ink: pintig.theme-get($color, 'ink'),
78
- border: pintig.theme-get($color, 'border'),
79
- ));
80
-
81
- &:focus {
82
- @include pintig.color-bind('form-field', (
83
- fill: pintig.theme-get($color, 'fill', 'focus'),
84
- border: pintig.theme-get($color, 'border', 'focus'),
85
- ));
86
- @include pintig.struct-bind('form-field', (
87
- border-width: pintig.theme-get($struct, 'border-width', 'focus'),
88
- ));
89
- }
90
- }
91
-
92
- &:read-only,
93
- &:disabled {
94
- @include pintig.color-bind('form-field', (
95
- fill: pintig.theme-get($color, 'fill', 'disabled'),
96
31
  ink: pintig.theme-get($color, 'ink', 'disabled'),
97
- border: pintig.theme-get($color, 'fill', 'disabled'),
98
32
  ));
99
- cursor: not-allowed;
33
+ @include pintig.typography-bind('form-field-label', (
34
+ family: pintig.theme-get($typography, 'family'),
35
+ size: pintig.theme-get($typography, 'size', 'label'),
36
+ weight: pintig.theme-get($typography, 'weight'),
37
+ line-height: pintig.theme-get($typography, 'height'),
38
+ ));
39
+ user-select: none;
100
40
  }
101
- }
102
-
103
- .ms-form-field__helper {
104
- padding: 0.3rem pintig.primitive-token-switch('padding.#{$resolve-padding}', $resolve-padding) 0;
105
- @include pintig.color-bind('form-field-helper', (
106
- ink: pintig.theme-get($color, 'ink', 'helper'),
107
- ));
108
- @include pintig.typography-bind('form-field-helper', (
109
- family: pintig.theme-get($typography, 'family'),
110
- size: pintig.theme-get($typography, 'size', 'helper'),
111
- weight: pintig.theme-get($typography, 'weight'),
112
- line-height: pintig.theme-get($typography, 'height'),
113
- ));
114
- }
115
41
 
116
- &:where(.is-outlined) {
117
- &:has(.ms-form-field__input:not(:read-only):not(:disabled)) {
118
- .ms-form-field__label {
119
- @include pintig.color-bind('form-field-label', (
120
- ink: pintig.theme-get($color, 'ink'),
121
- ));
122
- }
42
+ &:has(.ms-form-field__input:read-only:disabled) {
43
+ @include pintig.color-ink('form-field-helper', pintig.theme-get($color, 'ink', 'disabled'), 'bind');
123
44
  }
124
45
 
125
46
  .ms-form-field__input {
47
+ @include pintig.struct-bind('form-field', (
48
+ width: (
49
+ default: pintig.theme-get($struct, 'width'),
50
+ min: pintig.theme-get($struct, 'width', 'min'),
51
+ max: pintig.theme-get($struct, 'width', 'max')
52
+ ),
53
+ padding: pintig.theme-get($struct, 'padding'),
54
+ radius: pintig.theme-get($struct, 'radius'),
55
+ border-width: pintig.theme-get($struct, 'border-width'),
56
+ border-style: pintig.theme-get($struct, 'border-style'),
57
+ gap: pintig.theme-get($struct, 'gap'),
58
+ ));
59
+ @include pintig.typography-bind('form-field', (
60
+ family: pintig.theme-get($typography, 'family'),
61
+ size: pintig.theme-get($typography, 'size', 'default'),
62
+ weight: pintig.theme-get($typography, 'weight'),
63
+ line-height: pintig.theme-get($typography, 'height'),
64
+ ));
65
+
126
66
  &:not(:read-only),
127
67
  &:not(:disabled) {
128
68
  @include pintig.color-bind('form-field', (
129
- fill: rgba(0 0 0 / 0) !important,
69
+ fill: rgb(from pintig.token-switch(pintig.theme-get($color, 'fill')) r g b / pintig.$color-fill-focus-opacity),
130
70
  ink: pintig.theme-get($color, 'ink'),
131
71
  border: pintig.theme-get($color, 'border'),
132
72
  ));
133
73
 
134
74
  &:focus {
135
75
  @include pintig.color-bind('form-field', (
76
+ fill: rgb(from pintig.token-switch(pintig.theme-get($color, 'fill', 'focus')) r g b / pintig.$color-fill-focus-opacity),
136
77
  border: pintig.theme-get($color, 'border', 'focus'),
137
78
  ));
138
79
  @include pintig.struct-bind('form-field', (
@@ -144,66 +85,64 @@
144
85
  &:read-only,
145
86
  &:disabled {
146
87
  @include pintig.color-bind('form-field', (
147
- fill: transparent,
88
+ fill: pintig.theme-get($color, 'fill', 'disabled'),
148
89
  ink: pintig.theme-get($color, 'ink', 'disabled'),
149
90
  border: pintig.theme-get($color, 'fill', 'disabled'),
150
91
  ));
92
+ cursor: not-allowed;
151
93
  }
152
94
  }
153
95
 
154
- &:where(.is-error) {
155
- .ms-form-field__input:not(:read-only),
156
- .ms-form-field__input:not(:disabled) {
157
- @include pintig.color-bind('form-field', (
158
- fill: rgba(0 0 0 / 0) !important,
159
- border: pintig.theme-get($color, 'border', 'error'),
160
- ));
161
- }
162
- }
163
- }
164
-
165
- &:where(.is-error) {
166
- .ms-form-field__label {
167
- @include pintig.color-bind('form-field-label', (
168
- ink: pintig.theme-get($color, 'ink', 'disabled'),
96
+ .ms-form-field__helper {
97
+ padding: 0.3rem pintig.primitive-token-switch('padding.#{$resolve-padding}', $resolve-padding) 0;
98
+ @include pintig.color-bind('form-field-helper', (
99
+ ink: pintig.theme-get($color, 'ink', 'helper'),
100
+ ));
101
+ @include pintig.typography-bind('form-field-helper', (
102
+ family: pintig.theme-get($typography, 'family'),
103
+ size: pintig.theme-get($typography, 'size', 'helper'),
104
+ weight: pintig.theme-get($typography, 'weight'),
105
+ line-height: pintig.theme-get($typography, 'height'),
169
106
  ));
170
107
  }
171
108
 
172
- &:has(.ms-form-field__input:not(:read-only):not(:disabled)) {
173
- .ms-form-field__label {
174
- @include pintig.color-bind('form-field-label', (
109
+ &:where(.is-error) {
110
+ &:has(.ms-form-field__input:not(:read-only):not(:disabled)) {
111
+ .ms-form-field__label {
112
+ @include pintig.color-bind('form-field-label', (
113
+ ink: rgb(from pintig.token-switch(pintig.theme-get($color, 'ink', 'error')) r g b / 70%),
114
+ ));
115
+ }
116
+ }
117
+
118
+ .ms-form-field__input:not(:disabled),
119
+ .ms-form-field__input:not(:read-only) {
120
+ @include pintig.color-bind('form-field', (
121
+ fill: rgb(from pintig.token-switch(pintig.theme-get($color, 'fill', 'error')) r g b / pintig.$color-fill-focus-opacity),
175
122
  ink: pintig.theme-get($color, 'ink', 'error'),
123
+ border: pintig.theme-get($color, 'border', 'error'),
176
124
  ));
177
- }
178
- }
179
125
 
180
- .ms-form-field__input:not(:disabled),
181
- .ms-form-field__input:not(:read-only) {
182
- @include pintig.color-bind('form-field', (
183
- fill: pintig.theme-get($color, 'fill', 'error'),
184
- ink: pintig.theme-get($color, 'ink', 'error'),
185
- border: pintig.theme-get($color, 'border', 'error'),
186
- ));
126
+ &:focus {
127
+ @include pintig.color-bind('form-field', (
128
+ fill: rgb(from pintig.token-switch(pintig.theme-get($color, 'fill', 'error', 'focus')) r g b / pintig.$color-fill-focus-opacity),
129
+ border: pintig.theme-get($color, 'border', 'error', 'focus'),
130
+ ));
131
+ }
132
+ }
187
133
 
188
- &:focus {
189
- @include pintig.color-bind('form-field', (
190
- fill: pintig.theme-get($color, 'fill', 'error', 'focus'),
191
- border: pintig.theme-get($color, 'border', 'error', 'focus'),
134
+ .ms-form-field__helper {
135
+ @include pintig.color-bind('form-field-helper', (
136
+ ink: pintig.theme-get($color, 'ink', 'error'),
192
137
  ));
193
138
  }
194
139
  }
195
140
 
196
- .ms-form-field__helper {
197
- @include pintig.color-bind('form-field-helper', (
198
- ink: pintig.theme-get($color, 'ink', 'error'),
141
+ &:where(.is-raised) {
142
+ @include pintig.struct-bind('form-field', (
143
+ shadow: 'xs',
199
144
  ));
200
145
  }
201
146
  }
202
-
203
- &:where(.is-raised) {
204
- @include pintig.struct-bind('form-field', (
205
- shadow: 'xs',
206
- ));
207
- }
208
147
  }
209
148
  }
@@ -4,12 +4,12 @@
4
4
 
5
5
  $init-color: (
6
6
  fill: (
7
- default: 'surface-alpha-800',
8
- focus: 'accent-alpha-300',
7
+ default: 'surface-400',
8
+ focus: 'accent-400',
9
9
  disabled: 'disabled',
10
10
  error: (
11
- default: 'error-alpha-300',
12
- focus: 'error-alpha-400'
11
+ default: 'error-800',
12
+ focus: 'error-800'
13
13
  )
14
14
  ),
15
15
  ink: (
@@ -23,7 +23,7 @@ $init-color: (
23
23
  focus: 'accent-400',
24
24
  disabled: 'disabled',
25
25
  error: (
26
- default: 'error-alpha-800',
26
+ default: 'error-800',
27
27
  focus: 'error-400'
28
28
  )
29
29
  ),
@@ -38,8 +38,8 @@ $init-struct: (
38
38
  padding: ('md', 'lg'),
39
39
  radius: 'small',
40
40
  border-width: (
41
- 'default': 2px,
42
- 'focus': 2px
41
+ 'default': 'xs',
42
+ 'focus': 'xs'
43
43
  ),
44
44
  border-style: solid,
45
45
  gap: 'sm'
@@ -17,36 +17,38 @@
17
17
  $typography: pintig.theme-merge(theme.$init-typography, $typography);
18
18
  $settings: pintig.theme-merge(theme.$init-settings, $settings);
19
19
 
20
- @include base.init() {
21
- @include pintig.color-apply('link', (
22
- fill: transparent,
23
- ink: pintig.theme-get($color, 'ink')
24
- ));
25
- @include pintig.typography-apply('link', (
26
- family: pintig.theme-get($typography, 'family'),
27
- size: pintig.theme-get($typography, 'size'),
28
- weight: pintig.theme-get($typography, 'weight'),
29
- line-height: pintig.theme-get($typography, 'line-height')
30
- ));
31
- text-decoration: underline;
32
- @include pintig.prefix(transition, all var(--ms-transition-time) ease);
33
-
34
- &:hover {
35
- @include pintig.color-bind('link', (
36
- fill: pintig.theme-get($color, 'fill', 'hover')
20
+ @layer components {
21
+ @include base.init() {
22
+ @include pintig.color-apply('link', (
23
+ fill: transparent,
24
+ ink: pintig.theme-get($color, 'ink')
37
25
  ));
38
- }
39
-
40
- &:focus {
41
- @include pintig.color-bind('link', (
42
- fill: pintig.theme-get($color, 'fill', 'focus')
26
+ @include pintig.typography-apply('link', (
27
+ family: pintig.theme-get($typography, 'family'),
28
+ size: pintig.theme-get($typography, 'size'),
29
+ weight: pintig.theme-get($typography, 'weight'),
30
+ line-height: pintig.theme-get($typography, 'line-height')
43
31
  ));
44
- }
32
+ text-decoration: underline;
33
+ @include pintig.prefix(transition, all pintig.token-get('time-short') pintig.token-get('easing'));
45
34
 
46
- &:active {
47
- @include pintig.color-bind('link', (
48
- fill: pintig.theme-get($color, 'fill', 'active')
49
- ));
35
+ &:hover {
36
+ @include pintig.color-bind('link', (
37
+ fill: rgb(from pintig.token-switch(pintig.theme-get($color, 'fill', 'hover')) r g b / pintig.$color-fill-hover-opacity)
38
+ ));
39
+ }
40
+
41
+ &:focus {
42
+ @include pintig.color-bind('link', (
43
+ fill: rgb(from pintig.token-switch(pintig.theme-get($color, 'fill', 'focus')) r g b / pintig.$color-fill-focus-opacity)
44
+ ));
45
+ }
46
+
47
+ &:active {
48
+ @include pintig.color-bind('link', (
49
+ fill: rgb(from pintig.token-switch(pintig.theme-get($color, 'fill', 'active')) r g b / pintig.$color-fill-active-opacity)
50
+ ));
51
+ }
50
52
  }
51
53
  }
52
54
  }
@@ -4,9 +4,9 @@
4
4
 
5
5
  $init-color: (
6
6
  fill: (
7
- hover: 'accent-alpha-300',
8
- focus: 'accent-alpha-300',
9
- active: 'accent-alpha-400'
7
+ hover: 'accent-400',
8
+ focus: 'accent-400',
9
+ active: 'accent-400'
10
10
  ),
11
11
  ink: 'accent-400',
12
12
  );
@@ -39,7 +39,7 @@
39
39
  weight: inherit,
40
40
  line-height: inherit,
41
41
  ));
42
- @include pintig.prefix(transition, all var(--ms-transition-time) ease);
42
+ @include pintig.prefix(transition, all pintig.token-get('time-short') pintig.token-get('easing'));
43
43
  }
44
44
  }
45
45
  }
@@ -17,43 +17,45 @@
17
17
  $typography: pintig.theme-merge(theme.$init-typography, $typography);
18
18
  $settings: pintig.theme-merge(theme.$init-settings, $settings);
19
19
 
20
- @include base.init() {
21
- @include pintig.color-bind('list-item', $color);
22
- @include pintig.struct-apply('list', (
23
- radius: pintig.theme-get($struct, 'radius'),
24
- ));
25
- @include pintig.struct-bind('list-item', $struct);
26
- @include pintig.typography-bind('list-item', $typography);
27
-
28
- &:where(.is-selectable) {
29
- .ms-list__item {
30
- cursor: pointer;
31
-
32
- &:hover {
33
- @include pintig.color-bind('list-item', (
34
- fill: pintig.theme-get($color, 'fill', 'hover'),
35
- border: pintig.theme-get($color, 'border', 'hover')
36
- ));
37
- }
38
-
39
- &:focus {
40
- @include pintig.color-bind('list-item', (
41
- fill: pintig.theme-get($color, 'fill', 'focus'),
42
- border: pintig.theme-get($color, 'border', 'focus')
43
- ));
44
- }
45
-
46
- &:active {
47
- @include pintig.color-bind('list-item', (
48
- fill: pintig.theme-get($color, 'fill', 'active'),
49
- border: pintig.theme-get($color, 'border', 'active')
50
- ));
20
+ @layer components {
21
+ @include base.init() {
22
+ @include pintig.color-bind('list-item', $color);
23
+ @include pintig.struct-apply('list', (
24
+ radius: pintig.theme-get($struct, 'radius'),
25
+ ));
26
+ @include pintig.struct-bind('list-item', $struct);
27
+ @include pintig.typography-bind('list-item', $typography);
28
+
29
+ &:where(.is-selectable) {
30
+ .ms-list__item {
31
+ cursor: pointer;
32
+
33
+ &:hover {
34
+ @include pintig.color-bind('list-item', (
35
+ fill: pintig.theme-get($color, 'fill', 'hover'),
36
+ border: pintig.theme-get($color, 'border', 'hover')
37
+ ));
38
+ }
39
+
40
+ &:focus {
41
+ @include pintig.color-bind('list-item', (
42
+ fill: pintig.theme-get($color, 'fill', 'focus'),
43
+ border: pintig.theme-get($color, 'border', 'focus')
44
+ ));
45
+ }
46
+
47
+ &:active {
48
+ @include pintig.color-bind('list-item', (
49
+ fill: pintig.theme-get($color, 'fill', 'active'),
50
+ border: pintig.theme-get($color, 'border', 'active')
51
+ ));
52
+ }
51
53
  }
52
54
  }
53
- }
54
55
 
55
- &:where(.is-raised) {
56
- @include pintig.struct-shadow('list', 'xs');
56
+ &:where(.is-raised) {
57
+ @include pintig.struct-shadow('list', 'xs');
58
+ }
57
59
  }
58
60
  }
59
61
  }