opui-css 5.0.1 → 5.1.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 (58) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/MIGRATING.md +11 -0
  3. package/README.md +1 -1
  4. package/components/Accordion/Accordion.astro +12 -2
  5. package/components/Anchor/Anchor.astro +5 -1
  6. package/components/ButtonGroup/ButtonGroup.astro +8 -1
  7. package/components/Card/Card.astro +3 -1
  8. package/components/Checkbox/Checkbox.astro +3 -3
  9. package/components/ClassicSelect/ClassicSelect.astro +3 -3
  10. package/components/Dialog/Dialog.astro +3 -1
  11. package/components/Radio/Radio.astro +3 -3
  12. package/components/Select/Select.astro +3 -3
  13. package/components/Switch/Switch.astro +3 -3
  14. package/components/TextField/TextField.astro +3 -3
  15. package/components/Textarea/Textarea.astro +3 -3
  16. package/core/normalize.css +16 -10
  17. package/core/palette.css +313 -58
  18. package/core/utils.css +2 -2
  19. package/css/components/accordion.css +7 -7
  20. package/css/components/anchor.css +23 -23
  21. package/css/components/badge.css +4 -4
  22. package/css/components/button-group.css +28 -14
  23. package/css/components/button.css +29 -17
  24. package/css/components/callout.css +95 -92
  25. package/css/components/card.css +6 -8
  26. package/css/components/checkbox.css +209 -203
  27. package/css/components/chip.css +11 -6
  28. package/css/components/description-list.css +2 -1
  29. package/css/components/dialog.css +2 -1
  30. package/css/components/drawer.css +167 -167
  31. package/css/components/form.css +8 -7
  32. package/css/components/icon-button.css +32 -13
  33. package/css/components/list.css +10 -12
  34. package/css/components/progress.css +4 -3
  35. package/css/components/radio.css +168 -170
  36. package/css/components/range.css +14 -9
  37. package/css/components/select.css +9 -6
  38. package/css/components/spinner.css +4 -3
  39. package/css/components/switch.css +8 -5
  40. package/css/components/table.css +4 -10
  41. package/css/components/tabs.css +17 -16
  42. package/css/components/text-field.css +9 -10
  43. package/css/components/text-input.css +8 -4
  44. package/css/components/textarea.css +3 -1
  45. package/css/components/toast.css +156 -157
  46. package/css/components/toggle-button.css +76 -72
  47. package/css/components/tooltip.css +59 -56
  48. package/css/components/typography.css +31 -31
  49. package/css/imports.css +5 -4
  50. package/css/theme.css +14 -20
  51. package/dist/op.css +0 -62
  52. package/dist/op.css.map +1 -1
  53. package/dist/opui.components.css +1259 -1184
  54. package/dist/opui.components.css.map +1 -1
  55. package/dist/opui.css +1719 -1393
  56. package/dist/opui.css.map +1 -1
  57. package/open-props.css +0 -1
  58. package/package.json +1 -1
@@ -1,5 +1,4 @@
1
1
  @layer components.extended {
2
-
3
2
  /*
4
3
  - Common styling for input, textarea and select
5
4
  - Form related styles such as: label, supporting text, error handling
@@ -106,7 +105,6 @@
106
105
 
107
106
  /* Textarea - keep affix aligned with the first line */
108
107
  &.ui-textarea .ui-field {
109
-
110
108
  .ui-prefix,
111
109
  .ui-suffix {
112
110
  align-self: start;
@@ -153,7 +151,6 @@
153
151
  /* Variants */
154
152
  &.ui-filled {
155
153
  input {
156
-
157
154
  &::-webkit-file-upload-button,
158
155
  &::file-selector-button {
159
156
  background-color: var(--surface-default);
@@ -192,7 +189,6 @@
192
189
  .ui-label {
193
190
  /* Make sure chevron is visible */
194
191
  inline-size: calc(100% - var(--size-6));
195
-
196
192
  }
197
193
  }
198
194
 
@@ -203,7 +199,8 @@
203
199
 
204
200
  button {
205
201
  outline: 0;
206
- padding: var(--_field-padding-block) var(--size-8) var(--_field-padding-block) var(--_field-padding-inline);
202
+ padding: var(--_field-padding-block) var(--size-8)
203
+ var(--_field-padding-block) var(--_field-padding-inline);
207
204
  }
208
205
  }
209
206
  }
@@ -211,7 +208,8 @@
211
208
  /* Non-customizable Select */
212
209
  &:has(select):not(:has(button)) {
213
210
  select {
214
- padding: var(--_field-padding-block) var(--size-8) var(--_field-padding-block) var(--_field-padding-inline);
211
+ padding: var(--_field-padding-block) var(--size-8)
212
+ var(--_field-padding-block) var(--_field-padding-inline);
215
213
  }
216
214
  }
217
215
 
@@ -309,11 +307,12 @@
309
307
  --_bg-color: var(--surface-tonal);
310
308
 
311
309
  &:not(:has([disabled], :has(input[type="color"]))) {
312
-
313
310
  /* Hover */
314
311
  &:hover {
315
- --_bg-color: light-dark(oklch(from var(--surface-tonal) calc(l * 0.93) c h),
316
- oklch(from var(--surface-tonal) calc(l * 1.1) c h));
312
+ --_bg-color: light-dark(
313
+ oklch(from var(--surface-tonal) calc(l * 0.93) c h),
314
+ oklch(from var(--surface-tonal) calc(l * 1.1) c h)
315
+ );
317
316
  }
318
317
  }
319
318
  }
@@ -404,7 +403,7 @@
404
403
  .ui-field:has(textarea) {
405
404
  grid-row: 1 / span 3;
406
405
 
407
- +.ui-end-text {
406
+ + .ui-end-text {
408
407
  grid-row: 4;
409
408
  }
410
409
  }
@@ -1,6 +1,8 @@
1
1
  @layer components.extended {
2
-
3
- :where(.ui-text-field:has( :where(input[type="date"],
2
+ :where(
3
+ .ui-text-field:has(
4
+ :where(
5
+ input[type="date"],
4
6
  input[type="datetime-local"],
5
7
  input[type="email"],
6
8
  input[type="month"],
@@ -11,8 +13,10 @@
11
13
  input[type="text"],
12
14
  input[type="time"],
13
15
  input[type="url"],
14
- input[type="week"]))) {
15
-
16
+ input[type="week"]
17
+ )
18
+ )
19
+ ) {
16
20
  /* Sizes */
17
21
  &.ui-small {
18
22
  input {
@@ -3,7 +3,9 @@
3
3
  textarea {
4
4
  block-size: auto;
5
5
  field-sizing: content;
6
- min-block-size: calc(var(--_field-padding-block) * 2 + (var(--border-width) * 2) + 3lh);
6
+ min-block-size: calc(
7
+ var(--_field-padding-block) * 2 + (var(--border-width) * 2) + 3lh
8
+ );
7
9
  resize: vertical;
8
10
  }
9
11
 
@@ -1,161 +1,160 @@
1
1
  @layer components.extended {
2
- :where(#toast-manager) {
3
- background: none;
4
- block-size: auto;
5
- border: none;
6
- display: none;
7
- flex-direction: column-reverse;
8
- gap: var(--size-3);
9
- inline-size: auto;
10
- inset: auto var(--size-4) var(--size-4) auto;
11
- margin: 0;
12
- max-inline-size: calc(100vi - var(--size-8));
13
- overflow: visible;
14
- padding: 0;
15
- pointer-events: none;
16
- position: fixed;
17
- z-index: 1000;
18
-
19
- &:popover-open {
20
- display: flex;
21
- }
22
-
23
- &::backdrop {
24
- display: none;
25
- }
26
-
27
- /* Optional cap on visible toasts. Older toasts beyond this depth are hidden
2
+ :where(#toast-manager) {
3
+ background: none;
4
+ block-size: auto;
5
+ border: none;
6
+ display: none;
7
+ flex-direction: column-reverse;
8
+ gap: var(--size-3);
9
+ inline-size: auto;
10
+ inset: auto var(--size-4) var(--size-4) auto;
11
+ margin: 0;
12
+ max-inline-size: calc(100vi - var(--size-8));
13
+ overflow: visible;
14
+ padding: 0;
15
+ pointer-events: none;
16
+ position: fixed;
17
+ z-index: 1000;
18
+
19
+ &:popover-open {
20
+ display: flex;
21
+ }
22
+
23
+ &::backdrop {
24
+ display: none;
25
+ }
26
+
27
+ /* Optional cap on visible toasts. Older toasts beyond this depth are hidden
28
28
  but still in the DOM so they animate cleanly when newer ones are removed. */
29
- /* > .toast:nth-last-child(n + 6) { display: none; } */
30
- }
31
-
32
- :where(.ui-toast) {
33
- --_anim-enter: 0.3s;
34
- --_anim-exit: 0.3s;
35
-
36
- align-items: center;
37
- animation:
38
- toast-enter var(--_anim-enter) var(--ease-out-3) both,
39
- toast-hold attr(data-duration type(<time>), 5s) linear both,
40
- toast-exit var(--_anim-exit) var(--ease-in-3) both;
41
- animation-delay:
42
- 0s,
43
- var(--_anim-enter),
44
- calc(var(--_anim-enter) + attr(data-duration type(<time>), 5s));
45
- background-color: light-dark(var(--gray-15), var(--gray-2));
46
- border-radius: var(--border-radius);
47
- box-shadow: var(--shadow-3);
48
- color: var(--text-primary-contrast);
49
- display: flex;
50
- gap: var(--size-3);
51
- justify-content: space-between;
52
- min-inline-size: 30ch;
53
- padding: var(--size-3) var(--size-4);
54
- pointer-events: auto;
55
-
56
- &:hover {
57
- animation-play-state: paused;
58
- }
59
-
60
- &.ui-exiting {
61
- animation: toast-exit var(--_anim-exit) var(--ease-in-3) forwards;
62
- }
63
-
64
- .ui-icon {
65
- background: no-repeat center / contain;
66
- block-size: var(--size-4);
67
- flex-shrink: 0;
68
- inline-size: var(--size-4);
69
- }
70
-
71
- /* Hide the icon slot when there's no severity to render against. */
72
- &:not([data-severity]) .ui-icon {
73
- display: none;
74
- }
75
-
76
- .ui-content {
77
- font-size: var(--font-size-05);
78
- word-break: break-word;
79
- }
80
-
81
- .ui-title {
82
- font-weight: 600;
83
- }
84
-
85
- .ui-description {
86
- color: oklch(from currentColor l c h / 75%);
87
- font-size: var(--font-size-0);
88
- }
89
-
90
- .ui-close-button {
91
- background: none;
92
- border: none;
93
- color: inherit;
94
- cursor: pointer;
95
- display: grid;
96
- opacity: 0.7;
97
- padding: var(--size-1);
98
- place-items: center;
99
- transition: opacity 0.2s;
100
-
101
- &:hover {
102
- opacity: 1;
103
- }
104
- }
105
-
106
- /* Severity icons via CSS data URIs — keeps icon assets out of JS strings. */
107
- &[data-severity="success"] .ui-icon {
108
- background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2322c55e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/><path d='m9 11 3 3L22 4'/></svg>");
109
- }
110
-
111
- &[data-severity="info"] .ui-icon {
112
- background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%233b82f6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='M12 16v-4'/><path d='M12 8h.01'/></svg>");
113
- }
114
-
115
- &[data-severity="warning"] .ui-icon {
116
- background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/><path d='M12 9v4'/><path d='M12 17h.01'/></svg>");
117
- }
118
-
119
- &[data-severity="critical"] .ui-icon {
120
- background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ef4444' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='m15 9-6 6'/><path d='m9 9 6 6'/></svg>");
121
- }
122
- }
123
-
124
- @keyframes toast-enter {
125
- from {
126
- opacity: 0;
127
- translate: var(--size-4) 0;
128
- }
129
-
130
- to {
131
- opacity: 1;
132
- translate: 0 0;
133
- }
134
- }
135
-
136
- /* Identity keyframe — only purpose is to delay the exit animation by the
29
+ /* > .toast:nth-last-child(n + 6) { display: none; } */
30
+ }
31
+
32
+ :where(.ui-toast) {
33
+ --_anim-enter: 0.3s;
34
+ --_anim-exit: 0.3s;
35
+
36
+ align-items: center;
37
+ animation:
38
+ toast-enter var(--_anim-enter) var(--ease-out-3) both,
39
+ toast-hold attr(data-duration type(<time>), 5s) linear both,
40
+ toast-exit var(--_anim-exit) var(--ease-in-3) both;
41
+ animation-delay:
42
+ 0s, var(--_anim-enter),
43
+ calc(var(--_anim-enter) + attr(data-duration type(<time>), 5s));
44
+ background-color: light-dark(var(--gray-15), var(--gray-2));
45
+ border-radius: var(--border-radius);
46
+ box-shadow: var(--shadow-3);
47
+ color: var(--text-primary-contrast);
48
+ display: flex;
49
+ gap: var(--size-3);
50
+ justify-content: space-between;
51
+ min-inline-size: 30ch;
52
+ padding: var(--size-3) var(--size-4);
53
+ pointer-events: auto;
54
+
55
+ &:hover {
56
+ animation-play-state: paused;
57
+ }
58
+
59
+ &.ui-exiting {
60
+ animation: toast-exit var(--_anim-exit) var(--ease-in-3) forwards;
61
+ }
62
+
63
+ .ui-icon {
64
+ background: no-repeat center / contain;
65
+ block-size: var(--size-4);
66
+ flex-shrink: 0;
67
+ inline-size: var(--size-4);
68
+ }
69
+
70
+ /* Hide the icon slot when there's no severity to render against. */
71
+ &:not([data-severity]) .ui-icon {
72
+ display: none;
73
+ }
74
+
75
+ .ui-content {
76
+ font-size: var(--font-size-05);
77
+ word-break: break-word;
78
+ }
79
+
80
+ .ui-title {
81
+ font-weight: 600;
82
+ }
83
+
84
+ .ui-description {
85
+ color: oklch(from currentColor l c h / 75%);
86
+ font-size: var(--font-size-0);
87
+ }
88
+
89
+ .ui-close-button {
90
+ background: none;
91
+ border: none;
92
+ color: inherit;
93
+ cursor: pointer;
94
+ display: grid;
95
+ opacity: 0.7;
96
+ padding: var(--size-1);
97
+ place-items: center;
98
+ transition: opacity 0.2s;
99
+
100
+ &:hover {
101
+ opacity: 1;
102
+ }
103
+ }
104
+
105
+ /* Severity icons via CSS data URIs — keeps icon assets out of JS strings. */
106
+ &[data-severity="success"] .ui-icon {
107
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%2322c55e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M22 11.08V12a10 10 0 1 1-5.93-9.14'/><path d='m9 11 3 3L22 4'/></svg>");
108
+ }
109
+
110
+ &[data-severity="info"] .ui-icon {
111
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%233b82f6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='M12 16v-4'/><path d='M12 8h.01'/></svg>");
112
+ }
113
+
114
+ &[data-severity="warning"] .ui-icon {
115
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23f59e0b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/><path d='M12 9v4'/><path d='M12 17h.01'/></svg>");
116
+ }
117
+
118
+ &[data-severity="critical"] .ui-icon {
119
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23ef4444' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='10'/><path d='m15 9-6 6'/><path d='m9 9 6 6'/></svg>");
120
+ }
121
+ }
122
+
123
+ @keyframes toast-enter {
124
+ from {
125
+ opacity: 0;
126
+ translate: var(--size-4) 0;
127
+ }
128
+
129
+ to {
130
+ opacity: 1;
131
+ translate: 0 0;
132
+ }
133
+ }
134
+
135
+ /* Identity keyframe — only purpose is to delay the exit animation by the
137
136
  author-defined duration. */
138
- @keyframes toast-hold {
139
- from {
140
- opacity: 1;
141
- }
142
-
143
- to {
144
- opacity: 1;
145
- }
146
- }
147
-
148
- @keyframes toast-exit {
149
- from {
150
- opacity: 1;
151
- scale: 1;
152
- translate: 0 0;
153
- }
154
-
155
- to {
156
- opacity: 0;
157
- scale: 0.9;
158
- translate: 0 var(--size-4);
159
- }
160
- }
137
+ @keyframes toast-hold {
138
+ from {
139
+ opacity: 1;
140
+ }
141
+
142
+ to {
143
+ opacity: 1;
144
+ }
145
+ }
146
+
147
+ @keyframes toast-exit {
148
+ from {
149
+ opacity: 1;
150
+ scale: 1;
151
+ translate: 0 0;
152
+ }
153
+
154
+ to {
155
+ opacity: 0;
156
+ scale: 0.9;
157
+ translate: 0 var(--size-4);
158
+ }
159
+ }
161
160
  }
@@ -2,86 +2,90 @@
2
2
  * Somehow handle when a group gets too wide for its container. Should it be handled?
3
3
  */
4
4
  @layer components.root {
5
- :where(.ui-toggle-button) {
6
- --_button-bg-color: transparent;
7
- --_size: var(--field-size);
8
- --_svg-size: var(--size-4);
5
+ :where(.ui-toggle-button) {
6
+ --_button-bg-color: transparent;
7
+ --_size: var(--field-size);
8
+ --_svg-size: var(--size-4);
9
9
 
10
- align-items: center;
11
- background-color: var(--_button-bg-color);
12
- block-size: var(--_size);
13
- border: 1px solid var(--border-color);
14
- border-radius: var(--button-border-radius);
15
- color: var(--text-primary);
16
- cursor: pointer;
17
- display: inline-flex;
18
- flex: auto;
19
- gap: var(--size-2);
20
- inline-size: fit-content;
21
- justify-content: center;
22
- min-inline-size: var(--_size);
23
- outline-offset: calc(-1 * var(--size-2));
24
- padding: 0 var(--size-2);
25
- position: relative;
26
- user-select: none;
10
+ align-items: center;
11
+ background-color: var(--_button-bg-color);
12
+ block-size: var(--_size);
13
+ border: 1px solid var(--border-color);
14
+ border-radius: var(--button-border-radius);
15
+ color: var(--text-primary);
16
+ cursor: pointer;
17
+ display: inline-flex;
18
+ flex: auto;
19
+ gap: var(--size-2);
20
+ inline-size: fit-content;
21
+ justify-content: center;
22
+ min-inline-size: var(--_size);
23
+ outline-offset: calc(-1 * var(--size-2));
24
+ padding: 0 var(--size-2);
25
+ position: relative;
26
+ user-select: none;
27
27
 
28
- input[type="checkbox"],
29
- input[type="radio"] {
30
- /* utils.css > .ui-sr-only */
31
- block-size: 1px;
32
- clip-path: inset(50%);
33
- inline-size: 1px;
34
- overflow: hidden;
35
- position: absolute;
36
- white-space: nowrap;
37
- }
28
+ input[type="checkbox"],
29
+ input[type="radio"] {
30
+ /* utils.css > .ui-sr-only */
31
+ block-size: 1px;
32
+ clip-path: inset(50%);
33
+ inline-size: 1px;
34
+ overflow: hidden;
35
+ position: absolute;
36
+ white-space: nowrap;
37
+ }
38
38
 
39
- /* Element states */
40
- @media (pointer: fine) {
41
- &:hover:not(.ui-disabled) {
42
- --_button-bg-color: light-dark(oklch(0% 0 0 / 0.04), oklch(100% 0 0 / 0.08));
43
- }
44
- }
39
+ /* Element states */
40
+ @media (pointer: fine) {
41
+ &:hover:not(.ui-disabled) {
42
+ --_button-bg-color: light-dark(
43
+ oklch(0% 0 0 / 0.04),
44
+ oklch(100% 0 0 / 0.08)
45
+ );
46
+ }
47
+ }
45
48
 
46
- &:has(input:focus-visible) {
47
- --focus-ring-color: var(--text-muted);
48
- --focus-ring-offset: -6px;
49
- outline: var(--focus-ring-width) var(--focus-ring-style) var(--focus-ring-color);
50
- outline-offset: var(--focus-ring-offset);
51
- }
49
+ &:has(input:focus-visible) {
50
+ --focus-ring-color: var(--text-muted);
51
+ --focus-ring-offset: -6px;
52
+ outline: var(--focus-ring-width) var(--focus-ring-style)
53
+ var(--focus-ring-color);
54
+ outline-offset: var(--focus-ring-offset);
55
+ }
52
56
 
53
- /* Disabled */
54
- &.ui-disabled {
55
- border-color: color-mix(in oklch, var(--border-color) 50%, transparent);
56
- color: color-mix(in oklch, var(--text-primary) 30%, transparent);
57
- cursor: not-allowed;
58
- }
57
+ /* Disabled */
58
+ &.ui-disabled {
59
+ border-color: color-mix(in oklch, var(--border-color) 50%, transparent);
60
+ color: color-mix(in oklch, var(--text-primary) 30%, transparent);
61
+ cursor: not-allowed;
62
+ }
59
63
 
60
- /* svgs */
61
- svg {
62
- block-size: var(--_svg-size);
63
- flex-shrink: 0;
64
- inline-size: var(--_svg-size);
65
- }
64
+ /* svgs */
65
+ svg {
66
+ block-size: var(--_svg-size);
67
+ flex-shrink: 0;
68
+ inline-size: var(--_svg-size);
69
+ }
66
70
 
67
- /* Selected */
68
- &:has(:where(input[type="checkbox"], input[type="radio"]):checked) {
69
- --_button-bg-color: oklch(from var(--primary) l c h / 25%);
71
+ /* Selected */
72
+ &:has(:where(input[type="checkbox"], input[type="radio"]):checked) {
73
+ --_button-bg-color: oklch(from var(--primary) l c h / 25%);
70
74
 
71
- @media (pointer: fine) {
72
- &:hover {
73
- --_button-bg-color: oklch(from var(--primary) l c h / 35%);
74
- }
75
- }
76
- }
75
+ @media (pointer: fine) {
76
+ &:hover {
77
+ --_button-bg-color: oklch(from var(--primary) l c h / 35%);
78
+ }
79
+ }
80
+ }
77
81
 
78
- /* Sizes */
79
- &.ui-small {
80
- --_size: var(--field-size-small);
81
- }
82
+ /* Sizes */
83
+ &.ui-small {
84
+ --_size: var(--field-size-small);
85
+ }
82
86
 
83
- &.ui-x-small {
84
- --_size: var(--field-size-x-small);
85
- }
86
- }
87
+ &.ui-x-small {
88
+ --_size: var(--field-size-x-small);
89
+ }
90
+ }
87
91
  }