@3dsource/source-ui-native 1.0.18 → 1.0.20

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 (43) hide show
  1. package/README.md +31 -19
  2. package/fesm2022/3dsource-source-ui-native.mjs +205 -136
  3. package/fesm2022/3dsource-source-ui-native.mjs.map +1 -1
  4. package/index.d.ts +80 -13
  5. package/package.json +2 -2
  6. package/styles/base.scss +3 -4
  7. package/styles/elements/_src-button.scss +391 -124
  8. package/styles/elements/_src-checkbox.scss +21 -7
  9. package/styles/elements/_src-form.scss +4 -0
  10. package/styles/elements/_src-icon-button.scss +361 -0
  11. package/styles/elements/_src-input.scss +144 -32
  12. package/styles/elements/_src-label.scss +16 -12
  13. package/styles/elements/_src-list.scss +4 -4
  14. package/styles/elements/_src-modal.scss +4 -4
  15. package/styles/elements/_src-popover.scss +5 -4
  16. package/styles/elements/_src-radio.scss +38 -21
  17. package/styles/elements/_src-select.scss +151 -26
  18. package/styles/elements/_src-textarea.scss +140 -25
  19. package/styles/elements/_src-toggle.scss +36 -10
  20. package/styles/elements/elements.scss +1 -0
  21. package/styles/mixins/button.scss +93 -0
  22. package/styles/source.ui.native.scss +2 -4
  23. package/styles/typography.scss +17 -12
  24. package/styles/variables/_form-aliases.scss +19 -13
  25. package/styles/variables/color/dark.scss +143 -0
  26. package/styles/variables/color/light.scss +143 -0
  27. package/styles/variables/index.scss +29 -6
  28. package/styles/variables/layout/_lg.scss +85 -0
  29. package/styles/variables/layout/_md.scss +85 -0
  30. package/styles/variables/layout/_sm.scss +85 -0
  31. package/styles/variables/layout/_xl.scss +85 -0
  32. package/styles/variables/primitives/primitives.scss +147 -0
  33. package/styles/variables/typeface/web.scss +35 -0
  34. package/styles/variables/ui/_lg.scss +35 -0
  35. package/styles/variables/ui/_md.scss +35 -0
  36. package/styles/variables/ui/_sm.scss +35 -0
  37. package/styles/variables/ui/_xl.scss +35 -0
  38. package/styles/variables-legacy/index.scss +6 -0
  39. /package/styles/{variables → variables-legacy}/_borders.scss +0 -0
  40. /package/styles/{variables → variables-legacy}/_colors-aliases.scss +0 -0
  41. /package/styles/{variables → variables-legacy}/_colors.scss +0 -0
  42. /package/styles/{variables → variables-legacy}/_shadows.scss +0 -0
  43. /package/styles/{variables → variables-legacy}/_typography.scss +0 -0
@@ -1,21 +1,29 @@
1
+ @use '../mixins/button' as *;
1
2
  .src-button {
2
- --srcButtonBgColor: var(--src-color-bg-default, #fff);
3
- --srcButtonBgHoverColor: var(--src-color-bg-default-hover, #f1f2f3);
4
- --srcButtonBorderRadius: var(--src-br-small, 4px);
5
- --srcButtonBoxShadow:
6
- 0px 0px 0px 1px var(--src-color-border-strong, #abb2be) inset,
7
- 0px 1px 0px 0px rgba(0, 0, 0, 0.05);
8
- --srcButtonFontColor: var(--src-color-text-default);
9
- --srcButtonFontSize: var(--src-fs-base, 16px);
10
- --srcButtonFontWeight: var(--src-fw-medium, 500);
11
- --srcButtonLineHeight: var(--src-lh-base, 20px);
12
- --srcButtonPaddings: 8px 16px;
13
- --srcButtonTextTransform: default;
3
+ @include focusRing(default);
4
+ @include setShadow();
5
+ --_defaultFontColor: var(--src-text-ui-secondary-main, #111827);
6
+ --srcButtonBgColor: transparent;
7
+ --srcButtonBorderColor: var(--src-border-button-basic, #e5e7eb);
8
+ --srcButtonBorder: 1px solid var(--srcButtonBorderColor);
9
+ --srcButtonBorderRadius: var(--src-border-rounded, var(--src-space-1-5));
10
+ --srcButtonFontColor: var(--_defaultFontColor);
11
+ --srcButtonIconColor: var(--src-icon-default, #374151);
12
+ --srcButtonFontSize: var(--src-text-fontSize, var(--src-font-size-sm));
13
+ --srcButtonFontWeight: var(--src-font-weight-medium, 500);
14
+ --srcButtonLineHeight: var(--src-text-lineHeight, var(--src-font-line-sm));
15
+ --srcButtonPaddings: 0px var(--src-padding-sm, var(--src-space-3));
16
+ --srcButtonTextTransform: none;
14
17
  --srcButtonWidth: auto;
18
+
19
+ position: relative;
15
20
  display: flex;
16
21
  justify-content: center;
17
22
  align-items: center;
23
+
18
24
  width: var(--srcButtonWidth);
25
+ height: var(--src-height-base, var(--src-space-9));
26
+
19
27
  padding: var(--srcButtonPaddings);
20
28
  font-weight: var(--srcButtonFontWeight);
21
29
  font-size: var(--srcButtonFontSize);
@@ -26,189 +34,448 @@
26
34
  text-transform: var(--srcButtonTextTransform);
27
35
  letter-spacing: 0;
28
36
  white-space: nowrap;
29
- background-color: var(--srcButtonBgColor);
30
37
  border: none;
38
+ background-color: var(--srcButtonBgColor);
31
39
  border-radius: var(--srcButtonBorderRadius);
32
40
  box-shadow: var(--srcButtonBoxShadow);
33
- text-decoration: none;
34
41
  cursor: pointer;
35
42
 
43
+ &::after {
44
+ content: '';
45
+ position: absolute;
46
+ inset: 0;
47
+ border-radius: var(--srcButtonBorderRadius);
48
+ border: var(--srcButtonBorder);
49
+ }
50
+
36
51
  & > div,
37
52
  & > span {
38
53
  display: flex;
39
54
  justify-content: center;
40
55
  align-items: center;
56
+ font-size: inherit;
57
+ line-height: inherit;
58
+ color: inherit;
59
+ font-weight: inherit;
60
+ text-transform: inherit;
61
+
62
+ gap: var(--src-gap-md, var(--src-space-1-5));
41
63
  width: auto;
42
- gap: 4px;
43
64
  }
44
65
 
45
- &:active,
46
- &--pressed {
47
- background-color: var(--srcButtonBgHoverColor);
66
+ &:disabled,
67
+ &[disabled],
68
+ &.disabled {
69
+ @include cleanShadows();
70
+ @include buttonText(disabled);
71
+ --srcButtonBgColor: var(
72
+ --src-ui-accent-disabled,
73
+ rgba(148, 163, 184, 0.24)
74
+ );
75
+ --srcButtonIconColor: var(--src-icon-disabled, #9ca3af);
76
+ cursor: default;
77
+ pointer-events: none;
78
+ }
79
+
80
+ &:focus {
81
+ --srcButtonIconColor: var(--src-icon-hover, #111827);
82
+ --srcButtonBorderColor: var(--src-border-button-basic-hover, #9ca3af);
83
+ outline: none;
84
+ box-shadow: var(--srcButtonFocusRing);
48
85
  }
49
86
 
50
87
  @media (pointer: fine) {
51
- &:hover,
52
- &:focus-visible {
53
- text-decoration: none;
54
- background-color: var(--srcButtonBgHoverColor);
88
+ &:hover {
89
+ --srcButtonBgColor: var(
90
+ --src-ui-secondary-default-hover,
91
+ rgba(148, 163, 184, 0.08)
92
+ );
93
+ --srcButtonBorderColor: var(--src-border-button-basic-hover, #9ca3af);
94
+ --srcButtonIconColor: var(--src-icon-hover, #111827);
55
95
  }
56
96
  }
57
97
 
58
- &:disabled,
59
- &[disabled] {
60
- --srcButtonBgColor: var(--src-color-bg-default-disabled);
61
- --srcButtonBoxShadow: none;
62
- --srcButtonFontColor: var(--src-color-text-default-disabled);
63
- cursor: default;
64
- pointer-events: none;
98
+ &:active,
99
+ &.src-button--pressed {
100
+ @include focusRing(default);
101
+ @include pressedButton();
102
+ // --srcButtonIconColor: var(--src-icon-main-invert, #fff);
65
103
  }
104
+ }
66
105
 
67
- // size
68
- &--slim {
69
- --srcButtonPaddings: 6px 12px;
106
+ .src-button--state-info {
107
+ @include buttonText(info);
108
+ @include focusRing(info);
109
+ @include setShadow();
110
+ --srcButtonBorderColor: var(--src-border-button-info, #7dbbff);
111
+ --srcButtonIconColor: var(--src-icon-info, #017bff);
70
112
 
71
- &.src-button--icon-prefix {
72
- --srcButtonPaddings: 6px 12px 6px 8px;
73
- }
113
+ &:focus {
114
+ --srcButtonBgColor: var(--src-ui-secondary-active, rgba(1, 123, 255, 0.12));
115
+ --srcButtonIconColor: var(--src-icon-info, #017bff);
116
+ --srcButtonBorderColor: var(--src-border-button-info, #7dbbff);
74
117
  }
75
118
 
76
- &--medium {
77
- --srcButtonPaddings: 8px 16px;
78
-
79
- &.src-button--icon-prefix {
80
- --srcButtonPaddings: 8px 16px 8px 12px;
119
+ @media (pointer: fine) {
120
+ &:hover {
121
+ --srcButtonBgColor: var(--src-ui-secondary-info, rgba(1, 123, 255, 0.08));
122
+ --srcButtonBorderColor: var(--src-border-button-info-hover, #017bff);
123
+ --srcButtonIconColor: var(--src-icon-info-hover, #016fe6);
81
124
  }
82
125
  }
126
+ }
127
+ .src-button--state-error,
128
+ .src-button--state-destructive {
129
+ @include focusRing(error);
130
+ @include buttonText(error);
131
+ @include setShadow();
132
+ --srcButtonBorderColor: var(--src-border-button-error, #f79482);
133
+ --srcButtonIconColor: var(--src-icon-error, #f24122);
83
134
 
84
- &--large {
85
- --srcButtonPaddings: 12px 24px;
135
+ &:focus {
136
+ --srcButtonBgColor: var(--src-ui-secondary-error, rgba(239, 68, 68, 0.08));
137
+ --srcButtonIconColor: var(--src-icon-error, #f24122);
138
+ --srcButtonBorderColor: var(--src-border-button-error, #f79482);
139
+ }
86
140
 
87
- &.src-button--icon-prefix {
88
- --srcButtonPaddings: 12px 24px 12px 20px;
141
+ @media (pointer: fine) {
142
+ &:hover {
143
+ --srcButtonBgColor: var(
144
+ --src-ui-secondary-error,
145
+ rgba(239, 68, 68, 0.08)
146
+ );
147
+ --srcButtonBorderColor: var(--src-border-button-error-hover, #f24122);
148
+ --srcButtonIconColor: var(--src-icon-error-hover, #c5280c);
89
149
  }
90
150
  }
151
+ }
152
+ .src-button--state-success {
153
+ @include focusRing(success);
154
+ @include buttonText(success);
155
+ @include setShadow();
156
+ --srcButtonBorderColor: var(--src-border-button-success, #4ade80);
157
+ --srcButtonIconColor: var(--src-icon-success, #16a34a);
91
158
 
92
- &--primary {
93
- --srcButtonBgColor: var(--src-color-bg-primary);
94
- --srcButtonBgHoverColor: var(--src-color-bg-primary-hover);
95
- --srcButtonBoxShadow:
96
- 0px 1px 0px 0px rgba(0, 0, 0, 0.08),
97
- 0px -1px 0px 0px rgba(0, 0, 0, 0.2) inset;
98
- --srcButtonFontColor: var(--src-color-text-inverse, #fff);
159
+ &:focus {
160
+ --srcButtonBgColor: var(
161
+ --src-ui-secondary-success,
162
+ rgba(22, 163, 74, 0.08)
163
+ );
164
+ --srcButtonIconColor: var(--src-icon-success, #16a34a);
165
+ --srcButtonBorderColor: var(--src-border-button-success, #4ade80);
166
+ }
99
167
 
100
- &:disabled,
101
- &[disabled] {
102
- --srcButtonBgColor: var(--src-color-bg-primary-disabled);
103
- --srcButtonBoxShadow: none;
104
- --srcButtonFontColor: var(--src-color-text-default-disabled);
168
+ @media (pointer: fine) {
169
+ &:hover {
170
+ --srcButtonBgColor: var(
171
+ --src-ui-secondary-success,
172
+ rgba(22, 163, 74, 0.08)
173
+ );
174
+ --srcButtonBorderColor: var(--src-border-button-success-hover, #22c55e);
175
+ --srcButtonIconColor: var(--src-icon-success-hover, #15803d);
105
176
  }
106
177
  }
178
+ }
179
+ // ColorScheme variants for filled appearance
180
+ .src-button--primary {
181
+ @include buttonText(white);
182
+ @include focusRing(info);
183
+ --srcButtonBgColor: var(--src-ui-accent-default, #017bff);
184
+ --srcButtonBorder: none;
185
+ --srcButtonIconColor: var(--src-icon-main-invert, #fff);
107
186
 
108
- &--destructive {
109
- --srcButtonBgColor: var(--src-color-bg-critical);
110
- --srcButtonBgHoverColor: var(--src-color-bg-critical-strong);
111
- --srcButtonBoxShadow:
112
- 0px 1px 0px 0px rgba(0, 0, 0, 0.08),
113
- 0px -1px 0px 0px rgba(0, 0, 0, 0.2) inset;
114
- --srcButtonFontColor: var(--src-color-text-inverse, #fff);
187
+ &:focus {
188
+ --srcButtonIconColor: var(--src-icon-main-invert, #fff);
189
+ }
115
190
 
116
- &:disabled,
117
- &[disabled] {
118
- --srcButtonBgColor: var(--src-color-bg-primary-disabled);
119
- --srcButtonBoxShadow: none;
120
- --srcButtonFontColor: var(--src-color-text-default-disabled);
191
+ @media (pointer: fine) {
192
+ &:hover {
193
+ --srcButtonBgColor: var(--src-ui-accent-default-hover, #016fe6);
194
+ --srcButtonIconColor: var(--src-icon-main-invert, #fff);
121
195
  }
122
196
  }
123
197
 
124
- &--plain {
125
- padding: 0;
126
- --srcButtonBgColor: transparent;
127
- --srcButtonBgHoverColor: transparent;
128
- --srcButtonBoxShadow: none;
198
+ &.src-button--state-error,
199
+ &.src-button--state-destructive {
200
+ @include buttonText(white);
201
+ @include focusRing(error);
202
+ --srcButtonBgColor: var(--src-ui-accent-error, #f24122);
203
+ --srcButtonIconColor: var(--src-icon-main-invert, #fff);
204
+
205
+ @media (pointer: fine) {
206
+ &:hover {
207
+ --srcButtonBgColor: var(--src-ui-accent-error-hover, #f24122);
208
+ --srcButtonIconColor: var(--src-icon-main-invert, #fff);
209
+ }
210
+ }
129
211
 
130
212
  &:active,
131
- &.src-button--pressed {
132
- text-decoration: underline;
213
+ &.src-icon-button--pressed {
214
+ @include focusRing(default);
215
+ @include pressedButton();
133
216
  }
217
+ }
218
+
219
+ &.src-button--state-success {
220
+ @include buttonText(white);
221
+ @include focusRing(success);
222
+ --srcButtonBgColor: var(--src-ui-accent-success, #22c55e);
223
+ --srcButtonIconColor: var(--src-icon-main-invert, #fff);
134
224
 
135
225
  @media (pointer: fine) {
136
- &:hover,
137
- &:focus {
138
- text-decoration: underline;
226
+ &:hover {
227
+ --srcButtonBgColor: var(--src-ui-accent-success-hover, #16a34a);
228
+ --srcButtonIconColor: var(--src-icon-main-invert, #fff);
139
229
  }
140
230
  }
141
- &:disabled,
142
- &[disabled] {
143
- --srcButtonFontColor: var(--src-color-text-default-disabled);
231
+
232
+ &:active,
233
+ &.src-icon-button--pressed {
234
+ @include focusRing(default);
235
+ @include pressedButton();
144
236
  }
237
+ }
238
+ }
145
239
 
146
- //colorScheme
147
- &.src-button--primary {
148
- --srcButtonFontColor: var(--src-color-text-primary);
240
+ // Appearance variant Ghost. Does not have border (only when focused), but have bg with states
241
+ .src-button--ghost {
242
+ @include cleanShadows();
243
+ @include focusRing(default);
244
+ --srcButtonBgColor: var(
245
+ --src-ui-secondary-default,
246
+ rgba(148, 163, 184, 0.16)
247
+ );
248
+ --srcButtonIconColor: var(--src-icon-default, #374151);
249
+ --srcButtonBorderColor: var(--src-border-button-basic-hover, #9ca3af);
250
+ border: none;
149
251
 
150
- &:active,
151
- &--pressed {
152
- --srcButtonFontColor: var(--src-color-text-primary);
153
- }
252
+ // does not exists in color map
253
+ --srcButtonFontColor: var(--src-text-ui-secondary-secondary, #4b5563);
254
+
255
+ &:focus {
256
+ --srcButtonBgColor: var(
257
+ --src-ui-secondary-default-hover,
258
+ rgba(148, 163, 184, 0.08)
259
+ );
260
+ --srcButtonBorder: 1px solid var(--srcButtonBorderColor);
261
+ --srcButtonIconColor: var(--src-icon-default, #374151);
262
+
263
+ &::after {
264
+ content: '';
265
+ position: absolute;
266
+ inset: 0;
267
+ border-radius: var(--srcButtonBorderRadius);
268
+ border: var(--srcButtonBorder);
269
+ }
270
+ }
271
+
272
+ @media (pointer: fine) {
273
+ &:hover {
274
+ --srcButtonBgColor: var(
275
+ --src-ui-secondary-default-hover,
276
+ rgba(148, 163, 184, 0.08)
277
+ );
278
+ --srcButtonIconCOlor: var(--src-icon-hover, #111827);
279
+ }
280
+ }
154
281
 
155
- @media (pointer: fine) {
156
- &:hover,
157
- &:focus {
158
- --srcButtonFontColor: var(--src-color-text-primary);
159
- }
282
+ &.src-button--state-info {
283
+ --srcButtonBgColor: var(--src-ui-secondary-info, rgba(1, 123, 255, 0.08));
284
+ --srcButtonBorderColor: var(--src-border-button-info, #7dbbff);
285
+ --srcButtonIconColor: var(--src-icon-info, #017bff);
286
+
287
+ @include buttonText(info);
288
+ @include focusRing(info);
289
+
290
+ @media (pointer: fine) {
291
+ &:hover {
292
+ --srcButtonBgColor: var(
293
+ --src-ui-secondary-info-hover,
294
+ rgba(1, 123, 255, 0.12)
295
+ );
296
+ --srcButtonIconColor: var(--src-icon-info-hover, #016fe6);
160
297
  }
161
298
  }
299
+ }
300
+ &.src-button--state-error,
301
+ &.src-button--state-destructive {
302
+ --srcButtonBgColor: var(--src-ui-secondary-error, rgba(239, 68, 68, 0.08));
303
+ --srcButtonBorderColor: var(--src-border-button-error, #f79482);
304
+ --srcButtonIconColor: var(--src-icon-error, #f24122);
162
305
 
163
- &.src-button--destructive {
164
- --srcButtonFontColor: var(--src-color-text-critical);
306
+ @include buttonText(error);
307
+ @include focusRing(error);
165
308
 
166
- &:active,
167
- &--pressed {
168
- --srcButtonFontColor: var(--src-color-text-critical);
309
+ @media (pointer: fine) {
310
+ &:hover {
311
+ --srcButtonBgColor: var(
312
+ --src-ui-secondary-error-hover,
313
+ rgba(239, 68, 68, 0.16)
314
+ );
315
+ --srcButtonIconColor: var(--src-icon-error-hover, #c5280c);
169
316
  }
317
+ }
318
+ }
319
+ &.src-button--state-success {
320
+ --srcButtonBgColor: var(
321
+ --src-ui-secondary-success,
322
+ rgba(22, 163, 74, 0.08)
323
+ );
324
+ --srcButtonBorderColor: var(--src-border-button-success, #4ade80);
325
+ --srcButtonIconColor: var(--src-icon-success, #16a34a);
170
326
 
171
- @media (pointer: fine) {
172
- &:hover,
173
- &:focus {
174
- --srcButtonFontColor: var(--src-color-text-critical);
175
- }
327
+ @include buttonText(success);
328
+ @include focusRing(success);
329
+
330
+ &:focus {
331
+ --srcButtonBgColor: var(
332
+ --src-ui-secondary-success,
333
+ rgba(22, 163, 74, 0.08)
334
+ );
335
+ }
336
+ @media (pointer: fine) {
337
+ &:hover {
338
+ --srcButtonBgColor: var(
339
+ --src-ui-secondary-success-hover,
340
+ rgba(22, 163, 74, 0.12)
341
+ );
342
+ --srcButtonIconColor: var(--src-icon-success-hover, #15803d);
176
343
  }
177
344
  }
345
+ }
178
346
 
179
- &.src-button--secondary {
180
- --srcButtonFontColor: var(--src-color-text-default);
347
+ &:active,
348
+ &.src-button--pressed {
349
+ @include focusRing(default);
350
+ @include pressedButton();
351
+ }
352
+ }
353
+ .src-button--plain {
354
+ @include cleanShadows();
355
+ @include focusRing(default);
356
+ --srcButtonBgColor: transparent;
357
+ --srcButtonIconColor: var(--src-icon-default, #374151);
358
+
359
+ &:focus {
360
+ --srcButtonBgColor: var(
361
+ --src-ui-secondary-default-hover,
362
+ rgba(148, 163, 184, 0.08)
363
+ );
364
+ --srcButtonBorder: 1px solid var(--srcButtonBorderColor);
365
+ --srcButtonIconColor: var(--src-icon-hover, #111827);
366
+ --srcButtonBorderColor: var(--src-border-button-basic-hover, #9ca3af);
367
+ }
368
+
369
+ @media (pointer: fine) {
370
+ &:hover {
371
+ --srcButtonBgColor: var(
372
+ --src-ui-secondary-default-hover,
373
+ rgba(148, 163, 184, 0.08)
374
+ );
375
+ --srcButtonIconColor: var(--src-icon-hover, #111827);
181
376
  }
377
+ }
182
378
 
183
- &.src-button--primary,
184
- &.src-button--destructive,
185
- &.src-button--secondary {
186
- &:disabled,
187
- &[disabled] {
188
- --srcButtonBgColor: transparent;
189
- --srcButtonFontColor: var(--src-color-text-default-disabled);
190
- }
379
+ &:active,
380
+ &.src-button--pressed {
381
+ @include buttonText(info);
382
+ @include focusRing(default);
383
+ @include pressedButton(true);
384
+ }
385
+ }
386
+
387
+ .src-button--inline {
388
+ @include cleanShadows();
389
+ --srcButtonBgColor: transparent;
390
+ --srcButtonFontColor: var(--src-text-ui-secondary-secondary, #4b5563);
391
+ --srcButtonIconColor: var(--src-icon-default, #374151);
392
+ --srcButtonBorderRadius: var(--src-border-rounded, 4px);
393
+ --srcButtonPaddings: 0;
394
+ text-decoration: underline;
395
+ height: auto;
396
+ & > div,
397
+ & > span {
398
+ gap: var(--src-gap-sm, var(--src-space-1));
399
+ }
400
+
401
+ @media (pointer: fine) {
402
+ &:hover {
403
+ --srcButtonFontColor: var(--src-text-ui-accent-hover, #0162cc);
404
+ --srcButtonBgColor: transparent;
405
+ --srcButtonIconColor: var(--src-icon-info-hover, #016fe6);
191
406
  }
192
407
  }
193
408
 
194
- // full-width
195
- &--full-width {
196
- --srcButtonWidth: 100%;
409
+ &:active {
410
+ --srcButtonBgColor: transparent;
411
+ --srcButtonFontColor: var(--src-text-ui-secondary-secondary, #4b5563);
412
+ --srcButtonIconColor: var(--src-icon-hover, #111827);
413
+ }
414
+ &.src-button--pressed {
415
+ --srcButtonFontColor: var(--src-text-ui-secondary-secondary, #4b5563);
416
+ --srcButtonBgColor: transparent;
417
+ --srcButtonIconColor: var(--src-icon-hover, #111827);
418
+
419
+ &:hover {
420
+ --srcButtonFontColor: var(--src-text-ui-accent-hover, #0162cc);
421
+ --srcButtonBgColor: transparent;
422
+ --srcButtonIconColor: var(--src-icon-info-hover, #016fe6);
423
+ }
424
+ }
425
+
426
+ &.src-button--state-inverted {
427
+ @include buttonText(inverted);
428
+ --srcButtonBgColor: transparent;
429
+ --srcButtonIconColor: var(
430
+ --src-text-ui-secondary-secondary-invert,
431
+ #d1d5db
432
+ );
433
+
434
+ &:hover {
435
+ --srcButtonIconColor: var(--src-text-ui-secondary-main-invert, #f9fafb);
436
+ }
437
+
438
+ &:active,
439
+ &.src-button--pressed {
440
+ --srcButtonBgColor: transparent;
441
+ --srcButtonFontColor: var(--src-text-ui-secondary-grey, #9ca3af);
442
+ }
197
443
  }
198
444
 
199
- &--icon-button {
200
- --srcButtonPaddings: 8px;
445
+ &.src-button--state-info {
446
+ @include buttonText(info);
447
+ --srcButtonBgColor: transparent;
448
+ --srcButtonIconColor: var(--src-icon-info, #017bff);
201
449
 
202
- &.src-button--slim {
203
- --srcButtonPaddings: 6px;
450
+ &:hover {
451
+ --srcButtonIconColor: var(--src-icon-info-hover, #016fe6);
204
452
  }
453
+ }
454
+
455
+ &.src-button--state-success {
456
+ @include buttonText(success);
457
+ --srcButtonBgColor: transparent;
458
+ --srcButtonIconColor: var(--src-icon-success, #16a34a);
205
459
 
206
- &.src-button--medium {
207
- --srcButtonPaddings: 8px;
460
+ &:hover {
461
+ --srcButtonIconColor: var(--src-icon-success-hover, #15803d);
208
462
  }
463
+ }
464
+ &.src-button--state-error,
465
+ &.src-button--state-destructive {
466
+ @include buttonText(error);
467
+ --srcButtonBgColor: transparent;
468
+ --srcButtonIconColor: var(--src-icon-error, #f24122);
209
469
 
210
- &.src-button--large {
211
- --srcButtonPaddings: 12px;
470
+ &:hover {
471
+ --srcButtonIconColor: var(--src-icon-error-hover, #c5280c);
212
472
  }
213
473
  }
474
+
475
+ &:disabled,
476
+ &[disabled],
477
+ &.disabled {
478
+ @include buttonText(disabled);
479
+ --srcButtonBgColor: transparent;
480
+ }
214
481
  }
@@ -1,6 +1,6 @@
1
1
  .src-checkbox {
2
- --srcCheckboxBorderColor: var(--src-color-border-strong);
3
- --srcCheckboxSize: 20px;
2
+ --srcCheckboxBorderColor: var(--src-border-input-basic, #d1d5db);
3
+ --srcCheckboxSize: var(--src-icon-size, var(--src-space-5));
4
4
  --srcCheckboxBorderWidth: 2px;
5
5
  display: flex;
6
6
  align-items: center;
@@ -13,13 +13,13 @@
13
13
  width: var(--srcCheckboxSize);
14
14
  height: var(--srcCheckboxSize);
15
15
  padding: 2px;
16
- border-radius: var(--src-br-small);
16
+ border-radius: var(--src-border-rounded-xs, var(--src-space-1));
17
17
  background-color: #fff;
18
18
  border: var(--srcCheckboxBorderWidth) solid var(--srcCheckboxBorderColor);
19
19
  cursor: pointer;
20
20
 
21
21
  &:hover {
22
- --srcCheckboxBorderColor: var(--src-color-border-strong-hover);
22
+ --srcCheckboxBorderColor: var(--src-border-input-hover, #9ca3af);
23
23
  }
24
24
 
25
25
  &:checked {
@@ -40,13 +40,27 @@
40
40
  background-position: center;
41
41
  background-repeat: no-repeat;
42
42
  }
43
+
44
+ &:focus {
45
+ outline: none;
46
+ box-shadow: 0 0 0 var(--src-shadow-focused, 4px)
47
+ var(--src-shadow-accent-light, rgba(1, 123, 255, 0.16));
48
+ }
43
49
  }
44
50
 
45
51
  &:focus {
46
52
  outline: none;
47
- box-shadow:
48
- 0 0 0 1px #fff,
49
- 0 0 0 3px var(--src-color-border-primary);
53
+ box-shadow: 0 0 0 var(--src-shadow-focused, 4px)
54
+ var(--src-shadow-light, rgba(148, 163, 184, 0.16));
50
55
  }
51
56
  }
57
+
58
+ .src-checkbox__label {
59
+ padding-left: var(--src-gap-lg, var(--src-space-3));
60
+ font-size: var(--src-text-fontSize, var(--src-font-size-sm));
61
+ line-height: var(--src-text-lineHeight, var(--src-font-line-sm));
62
+ letter-spacing: 0;
63
+ font-weight: 500;
64
+ color: var(--src-text-body-main, #111827);
65
+ }
52
66
  }
@@ -37,6 +37,10 @@
37
37
  width: 100%;
38
38
  display: flex;
39
39
  flex-direction: column;
40
+
41
+ // src-hint {
42
+ // margin-top: var(--src-layout-gap-var-md, 8px);
43
+ // }
40
44
  }
41
45
 
42
46
  .src-form__button-row {