@fest-lib/veela 0.1.19 → 1.0.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 (141) hide show
  1. package/dist/veela.js +4 -33
  2. package/package.json +9 -2
  3. package/src/scss/_layers.scss +5 -34
  4. package/src/scss/basic/{misc/_core-layout.scss → _core-layout.scss} +1 -1
  5. package/src/scss/basic/_layers.scss +1 -0
  6. package/src/scss/basic/{misc/_layout.scss → _layout.scss} +15 -15
  7. package/src/scss/basic/{misc/_normalize.scss → _normalize.scss} +5 -103
  8. package/src/scss/basic/{misc/_states.scss → _states.scss} +2 -2
  9. package/src/scss/{core/misc → basic}/_utilities.scss +4 -4
  10. package/src/scss/basic/design/_keyframes.scss +1 -1
  11. package/src/scss/basic/design/_shapes.scss +1 -1
  12. package/src/scss/basic/index.scss +14 -16
  13. package/src/scss/chrome.scss +2 -0
  14. package/src/scss/core/_color-mod.scss +24 -0
  15. package/src/scss/core/{misc/_color-properties.scss → _color-properties.scss} +1 -1
  16. package/src/scss/core/{misc/_tokens.scss → _tokens.scss} +10 -93
  17. package/src/scss/core/index.scss +13 -1
  18. package/src/scss/index.scss +7 -2
  19. package/src/scss/index.ts +1 -1
  20. package/src/scss/{core/interact → interact}/_viewport.scss +1 -1
  21. package/src/scss/interact/index.scss +18 -0
  22. package/src/scss/theme/_effects.scss +60 -0
  23. package/src/scss/theme/index.scss +8 -0
  24. package/src/scss/{advanced/index.ts → theme/loader.ts} +3 -4
  25. package/src/scss/ui/_bar.scss +268 -0
  26. package/src/scss/ui/_buttons.scss +215 -0
  27. package/src/scss/ui/_chrome-mixins.scss +104 -0
  28. package/src/scss/ui/_color.scss +3 -0
  29. package/src/scss/ui/_colorize.scss +5 -0
  30. package/src/scss/{advanced/layout → ui}/_content.scss +0 -1
  31. package/src/scss/ui/_core-layout.scss +4 -0
  32. package/src/scss/ui/_essentials-options.scss +2 -0
  33. package/src/scss/ui/_essentials.scss +707 -0
  34. package/src/scss/ui/_explorer-content.scss +417 -0
  35. package/src/scss/ui/_explorer.scss +274 -0
  36. package/src/scss/ui/_forms-bare-host-elements.scss +25 -0
  37. package/src/scss/ui/_forms-options.scss +2 -0
  38. package/src/scss/ui/_forms.scss +279 -0
  39. package/src/scss/ui/_forms_misc.scss +201 -0
  40. package/src/scss/ui/_gridbox.scss +298 -0
  41. package/src/scss/ui/_home-host.scss +192 -0
  42. package/src/scss/ui/_index.scss +23 -0
  43. package/src/scss/ui/_launcher-typography.scss +31 -0
  44. package/src/scss/ui/_layers.scss +48 -0
  45. package/src/scss/ui/_layout.scss +3 -0
  46. package/src/scss/ui/_markdown.scss +1634 -0
  47. package/src/scss/ui/_modal.scss +309 -0
  48. package/src/scss/ui/_motion.scss +3 -0
  49. package/src/scss/ui/_native-host-button-chrome.scss +31 -0
  50. package/src/scss/ui/_normalize.scss +5 -0
  51. package/src/scss/ui/_orientation-functions.scss +273 -0
  52. package/src/scss/ui/_orientbox.scss +97 -0
  53. package/src/scss/ui/_scrollbar.scss +257 -0
  54. package/src/scss/ui/_shared-overlays.scss +16 -0
  55. package/src/scss/ui/_shared.scss +4 -0
  56. package/src/scss/ui/_sidebar.scss +478 -0
  57. package/src/scss/ui/_speed-dial.scss +47 -0
  58. package/src/scss/ui/_states.scss +4 -0
  59. package/src/scss/ui/_tables.scss +28 -0
  60. package/src/scss/ui/_tabs.scss +405 -0
  61. package/src/scss/ui/_taskbar.scss +215 -0
  62. package/src/scss/ui/_toolbars.scss +167 -0
  63. package/src/scss/ui/_typography.scss +11 -0
  64. package/src/scss/ui/_utils.scss +8 -0
  65. package/src/scss/ui/_viewport.scss +470 -0
  66. package/src/scss/ui/_window-frame.scss +658 -0
  67. package/src/scss/ui/components/app-menu.scss +817 -0
  68. package/src/scss/ui/components/appearance-desktop.scss +14 -0
  69. package/src/scss/ui/components/appearance-mobile.scss +14 -0
  70. package/src/scss/ui/components/calendar/flyout.scss +194 -0
  71. package/src/scss/ui/components/calendar/index.scss +627 -0
  72. package/src/scss/ui/components/explorer-settings.scss +232 -0
  73. package/src/scss/ui/components/file-manager-content.scss +2 -0
  74. package/src/scss/ui/components/file-manager.scss +2 -0
  75. package/src/scss/ui/components/launcher-icon-mask.scss +34 -0
  76. package/src/scss/ui/components/navbar.scss +133 -0
  77. package/src/scss/ui/components/quick-settings.scss +321 -0
  78. package/src/scss/ui/components/scrollframe.scss +58 -0
  79. package/src/scss/ui/components/slider.scss +188 -0
  80. package/src/scss/ui/components/speed-dial.scss +2288 -0
  81. package/src/scss/ui/components/statusbar.scss +255 -0
  82. package/src/scss/ui/components/task.scss +118 -0
  83. package/src/scss/ui/components/taskbar.scss +514 -0
  84. package/src/scss/ui/components/text.scss +241 -0
  85. package/src/scss/ui/components/window.scss +601 -0
  86. package/src/scss/ui/home-host-apply.scss +10 -0
  87. package/src/scss/ui/index.scss +7 -0
  88. package/src/scss/ui/native-controls.scss +17 -0
  89. package/src/scss/advanced/_index.scss +0 -0
  90. package/src/scss/advanced/animation/_motion.scss +0 -323
  91. package/src/scss/advanced/color/_color.scss +0 -328
  92. package/src/scss/advanced/color/_colorize.scss +0 -325
  93. package/src/scss/advanced/design/_design-tokens.scss +0 -118
  94. package/src/scss/advanced/design/_effects.scss +0 -275
  95. package/src/scss/advanced/design/_shadow.scss +0 -359
  96. package/src/scss/advanced/design/_surfaces.scss +0 -76
  97. package/src/scss/advanced/effects/_animations.scss +0 -124
  98. package/src/scss/advanced/effects/_shadows.scss +0 -50
  99. package/src/scss/advanced/font/_typography.scss +0 -601
  100. package/src/scss/advanced/index.scss +0 -11
  101. package/src/scss/advanced/layout/_index.scss +0 -5
  102. package/src/scss/advanced/layout/_normalize.scss +0 -543
  103. package/src/scss/advanced/layout/_shared-overlays.scss +0 -162
  104. package/src/scss/advanced/md3/_md3.scss +0 -506
  105. package/src/scss/advanced/md3/_utils.scss +0 -114
  106. package/src/scss/advanced/misc/_config.scss +0 -119
  107. package/src/scss/advanced/misc/_initials.scss +0 -298
  108. package/src/scss/advanced/misc/_mixins.scss +0 -179
  109. package/src/scss/advanced/misc/_rendering.scss +0 -82
  110. package/src/scss/advanced/misc/_tokens.scss +0 -74
  111. package/src/scss/advanced/theme/_shared.scss +0 -232
  112. package/src/scss/advanced/theme/_states.scss +0 -332
  113. package/src/scss/advanced/theme/_variants.scss +0 -354
  114. package/src/scss/advanced/tokens/_material-color.scss +0 -120
  115. package/src/scss/advanced/tokens/_variables.scss +0 -171
  116. package/src/scss/basic/misc/_index.scss +0 -18
  117. package/src/scss/basic/misc/_mixins.scss +0 -179
  118. package/src/scss/basic/misc/_queries.scss +0 -34
  119. package/src/scss/basic/misc/_tokens.scss +0 -78
  120. package/src/scss/basic/misc/_veela.scss +0 -12
  121. package/src/scss/core/misc/_index.scss +0 -6
  122. /package/src/scss/basic/{misc/_motion.scss → _motion.scss} +0 -0
  123. /package/src/scss/{advanced/misc → basic}/_queries.scss +0 -0
  124. /package/src/scss/basic/{misc/_shared.scss → _shared.scss} +0 -0
  125. /package/src/scss/core/{misc/_config.scss → _config.scss} +0 -0
  126. /package/src/scss/core/{misc/_functions.scss → _functions.scss} +0 -0
  127. /package/src/scss/core/{misc/_icons.scss → _icons.scss} +0 -0
  128. /package/src/scss/core/{misc/_layout.scss → _layout.scss} +0 -0
  129. /package/src/scss/core/{misc/_mixins.scss → _mixins.scss} +0 -0
  130. /package/src/scss/core/{misc/_properties.scss → _properties.scss} +0 -0
  131. /package/src/scss/core/{misc/_utils.scss → _utils.scss} +0 -0
  132. /package/src/scss/{core/interact → interact}/_draggable.scss +0 -0
  133. /package/src/scss/{core/interact → interact}/_position.scss +0 -0
  134. /package/src/scss/{core/interact → interact}/_ps-anchor.scss +0 -0
  135. /package/src/scss/{core/interact → interact}/_ps-centered.scss +0 -0
  136. /package/src/scss/{core/interact → interact}/_ps-cursor.scss +0 -0
  137. /package/src/scss/{core/interact → interact}/_ps-draggable.scss +0 -0
  138. /package/src/scss/{core/interact → interact}/_ps-mechanic.scss +0 -0
  139. /package/src/scss/{core/interact → interact}/_ps-properties.scss +0 -0
  140. /package/src/scss/{core/interact → interact}/_ps-resizable.scss +0 -0
  141. /package/src/scss/{core/interact → interact}/_resizable.scss +0 -0
@@ -0,0 +1,2 @@
1
+ // Compile-time flags for `_forms.scss` (must live in a dedicated module for `@use` ordering).
2
+ $include-bare-form-element-rules: false !default;
@@ -0,0 +1,279 @@
1
+ @use "./layout" as layout;
2
+ @use "./typography" as type;
3
+ @use "./colorize" as colorize;
4
+ @use "./buttons" as button;
5
+ @use "./color" as color;
6
+ @use "./forms-options" as fo;
7
+ @use "./forms-bare-host-elements" as bare_forms;
8
+
9
+ // WHY: Host-wide `input, select, textarea` rules override third-party forms; default off (`forms-options`).
10
+
11
+ //
12
+ @use "./forms_misc" as *;
13
+
14
+ //
15
+ @mixin input-base {
16
+ @include variable-colorization("input");
17
+ @include appearance-decl();
18
+
19
+ //
20
+ position: relative;
21
+ align-items: center;
22
+ gap: var(--input-gap, var(--space-sm));
23
+
24
+ //
25
+ inline-size: var(--input-inline-size, fit-content); block-size: fit-content;
26
+ min-inline-size: var(--input-min-inline-size, 0px); min-block-size: var(--input-min-block-size, fit-content);
27
+ max-inline-size: var(--input-max-inline-size, 100%);
28
+
29
+ //
30
+ box-sizing: border-box;
31
+
32
+ //
33
+ padding-block: var(--input-padding-block, var(--input-padding, var(--padding-sm)));
34
+ padding-inline: var(--input-padding-inline, var(--input-padding, var(--padding-md)));
35
+ padding-inline-start: var(--input-padding-inline-start, var(--padding-lg, 1rem));
36
+ padding-inline-end: var(--input-padding-inline-end, var(--input-padding-inline, var(--input-padding, var(--padding-md))));
37
+
38
+ //
39
+ /*border-radius: var(--input-radius);
40
+ border-width: var(--input-border-width, 1px);
41
+ border-color: var(--_input-border-current);*/
42
+
43
+ border: none 0px transparent;
44
+ outline: none 0px transparent;
45
+
46
+ border-style: solid;
47
+
48
+ //
49
+ background-clip: padding-box;
50
+ outline: none;
51
+
52
+ //
53
+ pointer-events: auto;
54
+ field-sizing: content;
55
+ user-select: text;
56
+
57
+ //
58
+ caret-color: var(--_input-text-current);
59
+ font-weight: var(--input-font-weight, inherit);
60
+ line-height: var(--input-line-height, 1.4);
61
+ letter-spacing: var(--input-letter-spacing, 0.01em);
62
+
63
+ //
64
+ z-index: 0;
65
+ display: inline-block;
66
+
67
+ //
68
+ &:is(textarea) {
69
+ border-radius: var(--radius-md);
70
+ }
71
+
72
+ //
73
+ &:where([type="checkbox"], [type="radio"]) {
74
+ @include button.button-filled;
75
+
76
+ & {
77
+ display: inline-flex;
78
+ aspect-ratio: 1 / 1;
79
+ }
80
+ }
81
+ }
82
+
83
+ //
84
+ @mixin form-field-base() {
85
+ @include variable-colorization("form");
86
+ @include input-base();
87
+ @include appearance-decl();
88
+
89
+ //
90
+ display: block;
91
+ border: none;
92
+ border-width: 0px;
93
+
94
+ //
95
+ place-content: start;
96
+ place-items: start;
97
+
98
+ //
99
+ inline-size: stretch; block-size: fit-content;
100
+ min-inline-size: min(var(--form-min-inline-size, 24ch), fit-content); min-block-size: var(--form-min-block-size, fit-content);
101
+
102
+ //
103
+ padding-block: var(--form-padding-block, var(--input-padding-block, var(--padding-md)));
104
+ padding-inline-start: var(--form-padding-inline-start, var(--input-padding-inline-start, var(--padding-lg, 1rem)));
105
+ padding-inline-end: var(--form-padding-inline-end, calc(var(--space-lg) * 2));
106
+
107
+ //
108
+ line-height: var(--form-line-height, 1.5);
109
+
110
+ //
111
+ user-select: text;
112
+ resize: var(--form-resize, vertical);
113
+ overflow: hidden;
114
+ overflow-y: auto
115
+ }
116
+
117
+ //
118
+ @mixin option-style() {
119
+ @include variable-colorization("option");
120
+ @include option-radius();
121
+ @include appearance-decl();
122
+
123
+ //
124
+ border-style: solid;
125
+ border-color: var(--_option-border-current);
126
+
127
+ //
128
+ padding-inline: var(--option-padding-inline, calc(var(--padding-lg, 1rem) * 0.75));
129
+ padding-block: var(--option-padding-block, var(--padding-sm));
130
+ gap: var(--space-md);
131
+
132
+ //
133
+ display: flex;
134
+ place-items: center;
135
+ place-content: center;
136
+ justify-content: flex-start;
137
+
138
+ //
139
+ text-overflow: ellipsis;
140
+ white-space: nowrap;
141
+ text-wrap: nowrap;
142
+ word-break: keep-all;
143
+ overflow: hidden;
144
+
145
+ //
146
+ min-inline-size: fit-content; inline-size: stretch;
147
+
148
+ //
149
+ outline: none;
150
+ }
151
+
152
+ //
153
+ @mixin select-base() {
154
+ @include appearance-decl();
155
+
156
+ //
157
+ & {
158
+ cursor: pointer;
159
+ position: relative;
160
+ }
161
+
162
+ //
163
+ &:where(select) {
164
+ @include button.button-filled();
165
+ @include variable-colorization("select");
166
+
167
+ //
168
+ display: inline-flex;
169
+
170
+ //
171
+ place-content: center;
172
+ place-items: center;
173
+ justify-content: space-between;
174
+
175
+ //
176
+ color: transparent;
177
+ appearance: base-select;
178
+
179
+ //
180
+ text-indent: 0;
181
+ text-overflow: ellipsis;
182
+ white-space: nowrap;
183
+ text-wrap: nowrap;
184
+ word-break: keep-all;
185
+ overflow: hidden;
186
+
187
+ //
188
+ min-inline-size: fit-content; inline-size: stretch;
189
+
190
+ //
191
+ gap: var(--select-gap, var(--input-gap, var(--space-sm)));
192
+ padding-inline: var(--option-padding-inline);
193
+ padding-block: var(--option-padding-block);
194
+ }
195
+
196
+ //
197
+ &::picker(select) {
198
+ appearance: base-select;
199
+ background-color: transparent;
200
+ color: transparent;
201
+
202
+ //
203
+ padding: 0px;
204
+ border: none;
205
+ outline: none;
206
+ z-index: 9999;
207
+ line-height: 0;
208
+
209
+ //
210
+ overflow: visible;
211
+ visibility: visible;
212
+ content-visibility: visible;
213
+ }
214
+
215
+ //
216
+ & option { @include option-style(); }
217
+ & > option { @include option-style(); }
218
+ &:is(option) { @include option-style(); }
219
+ &::-ms-expand { display: none; }
220
+
221
+ //
222
+ &::after, &::picker-icon {
223
+ @include icon-style("select", $select-icon);
224
+ }
225
+
226
+ //
227
+ span, a {
228
+ font-size: var(--font-size-md);
229
+ font-weight: var(--font-weight-medium);
230
+ line-height: var(--line-height-md);
231
+ letter-spacing: var(--letter-spacing-md);
232
+ text-transform: var(--text-transform-md);
233
+ text-decoration: none;
234
+ }
235
+ }
236
+
237
+ //
238
+ @mixin checkbox-base() {
239
+ @include button.button-filled;
240
+ @include variable-colorization("checkbox");
241
+ @include appearance-decl();
242
+
243
+ //
244
+ margin: 0;
245
+ padding: 0;
246
+
247
+ //
248
+ contain: strict;
249
+ line-height: 0;
250
+
251
+ //
252
+ display: flex;
253
+ content: " ";
254
+ cursor: pointer;
255
+ user-select: none;
256
+ pointer-events: auto;
257
+ place-content: center;
258
+ place-items: center;
259
+ place-self: center;
260
+
261
+ //
262
+ inline-size: var(--checkbox-size, 1.25rem);
263
+ block-size: var(--checkbox-size, 1.25rem);
264
+ aspect-ratio: 1 / 1;
265
+
266
+ //
267
+ border-radius: var(--checkbox-radius, var(--radius-sm));
268
+ border-width: 0px;/*var(--checkbox-border-width, 0px);*/
269
+ border-style: solid;
270
+
271
+ //
272
+ &::before { @include icon-style("checkbox", $checkbox-icon); }
273
+ &:checked::before { --icon-color: var(--surface-color, currentColor); }
274
+ }
275
+
276
+ //
277
+ @if fo.$include-bare-form-element-rules {
278
+ @include bare_forms.emit-bare-form-element-layer;
279
+ }
@@ -0,0 +1,201 @@
1
+ @use "./layout" as layout;
2
+ @use "./typography" as type;
3
+ @use "./colorize" as colorize;
4
+ @use "./buttons" as button;
5
+ @use "./color" as color;
6
+ @use "./utils" as utils;
7
+
8
+ //
9
+ @mixin appearance-decl() {
10
+ appearance: none;
11
+ -webkit-appearance: none;
12
+ -moz-appearance: none;
13
+ transition:
14
+ background-color var(--transition-normal, 160ms ease),
15
+ border-color var(--transition-normal, 160ms ease),
16
+ color var(--transition-normal, 160ms ease),
17
+ box-shadow var(--transition-normal, 160ms ease),
18
+ transform var(--transition-fast, 120ms ease);
19
+
20
+ //
21
+ transform: translateZ(0);
22
+ transform-origin: 50% 50%;
23
+ backface-visibility: hidden;
24
+ }
25
+
26
+ //
27
+ $select-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='currentColor'%3e%3cpath d='M4.2 6.4a.75.75 0 0 1 1.06-.05L8 8.68l2.74-2.33a.75.75 0 1 1 .98 1.14l-3.24 2.75a.75.75 0 0 1-.98 0L4.25 7.49a.75.75 0 0 1-.05-1.06z'/%3e%3c/svg%3e");
28
+ $checkbox-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='currentColor'%3e%3cpath d='M10.97 4.97a.75.75 0 0 1 1.07 1.05l-3.99 4.99a.75.75 0 0 1-1.08.02L4.32 8.38a.75.75 0 1 1 1.06-1.06l2.09 2.08 3.99-4.99z'/%3e%3c/svg%3e");
29
+ $radio-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='currentColor'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e");
30
+
31
+ //
32
+ @mixin icon-style($name: "select", $icon: $select-icon) {
33
+ pointer-events: none;
34
+ mask-image: $icon;
35
+ mask-repeat: no-repeat;
36
+ mask-origin: content-box;
37
+ mask-clip: content-box;
38
+ mask-position: center;
39
+ mask-size: contain;
40
+ mask-type: alpha;
41
+
42
+ //
43
+ content: "";
44
+ display: flex;
45
+ background-color: var(--icon-color, var(--on-surface-color, currentColor));
46
+ inline-size: var(--#{$name}-indicator-size, var(--space-lg));
47
+ block-size: var(--#{$name}-indicator-size, var(--space-lg));
48
+ margin-inline-start: auto;
49
+ box-sizing: border-box;
50
+ aspect-ratio: 1 / 1;
51
+ text-align: center;
52
+ overflow: hidden;
53
+
54
+ //
55
+ place-content: center;
56
+ place-items: center;
57
+ place-self: center;
58
+ }
59
+
60
+ //
61
+ @mixin option-radius() {
62
+ --_option-border-radius: 0px;
63
+ --_option-border-block-start-size: 0px;
64
+ --_option-border-block-end-size: 0px;
65
+ --_option-border-inline-size: 0.5px;
66
+
67
+ //
68
+ --_option-border-radius-start-start: 0px;
69
+ --_option-border-radius-start-end: 0px;
70
+ --_option-border-radius-end-start: 0px;
71
+ --_option-border-radius-end-end: 0px;
72
+
73
+ //
74
+ border-radius: var(--_option-border-radius-start-start) var(--_option-border-radius-start-end) var(--_option-border-radius-end-start) var(--_option-border-radius-end-end);
75
+ border-inline-start-width: var(--_option-border-inline-size, 1px);
76
+ border-inline-end-width: var(--_option-border-inline-size, 1px);
77
+ border-block-start-width: var(--_option-border-block-start-size, 0px);
78
+ border-block-end-width: var(--_option-border-block-end-size, 0px);
79
+
80
+ //
81
+ &:first-of-type {
82
+ --_option-border-block-start-size: 0.5px;
83
+ --_option-border-radius-start-start: var(--radius-sm);
84
+ --_option-border-radius-start-end: var(--radius-sm);
85
+ }
86
+
87
+ //
88
+ &:last-of-type {
89
+ --_option-border-block-end-size: 0.5px;
90
+ --_option-border-radius-end-start: var(--radius-sm);
91
+ --_option-border-radius-end-end: var(--radius-sm);
92
+ }
93
+ }
94
+
95
+ //
96
+ @mixin variable-colorization($name: "input") {
97
+ @include type.type("body-medium");
98
+ @include type.text-wrap();
99
+
100
+ //
101
+ --_#{$name}-border-current: var(--#{$name}-border-color, var(--border-color, transparent));
102
+ --_#{$name}-surface-current: var(--#{$name}-surface-color, var(--#{$name}-surface, var(--surface-color, transparent)));
103
+ --_#{$name}-shadow-current: var(--#{$name}-shadow, var(--shadow-color, transparent));
104
+ --_#{$name}-text-current: var(--#{$name}-text-color, var(--on-surface-color, currentColor));
105
+ --_#{$name}-icon-current: var(--#{$name}-icon-color, var(--on-surface-color, currentColor));
106
+
107
+ //
108
+ & {
109
+ cursor: var(--#{$name}-cursor, pointer);
110
+ background-color: var(--_#{$name}-surface-current, var(--surface-color, transparent));
111
+ color: var(--_#{$name}-text-current, var(--on-surface-color, currentColor));
112
+ -webkit-text-fill-color: var(--_#{$name}-text-current, var(--on-surface-color, currentColor));
113
+ --icon-color: var(--_#{$name}-icon-current, currentColor);
114
+ }
115
+
116
+ //
117
+ &:is(textarea) { cursor: text; }
118
+ /*&:is(:checked, [aria-selected="true"]) {
119
+ --_#{$name}-surface-current: var(--#{$name}-surface-checked, var(--on-surface-color, transparent));
120
+ --_#{$name}-border-current: var(--#{$name}-border-checked, var(--border-color, transparent));
121
+ --_#{$name}-text-current: var(--#{$name}-text-checked, var(--surface-color, currentColor));
122
+ --_#{$name}-icon-current: var(--#{$name}-icon-checked, var(--surface-color, currentColor));
123
+ }*/
124
+
125
+ //
126
+ /*@include utils.when-hover {
127
+ &:not(:disabled):not([aria-disabled="true"]) {
128
+ --_#{$name}-surface-current: var(--#{$name}-surface-hover, var(--surface-color, transparent));
129
+ --_#{$name}-border-current: var(--#{$name}-border-hover, var(--border-color, transparent));
130
+ --_#{$name}-shadow-current: var(--#{$name}-shadow-hover, var(--shadow-color, transparent));
131
+ --_#{$name}-text-current: var(--#{$name}-text-hover, var(--on-surface-color, currentColor));
132
+ }
133
+ }*/
134
+
135
+ //
136
+ /*@include utils.when-active {
137
+ &:not(:disabled):not([aria-disabled="true"]) {
138
+ --_#{$name}-surface-current: var(--#{$name}-surface-active, var(--surface-color, transparent));
139
+ --_#{$name}-border-current: var(--#{$name}-border-active, var(--border-color, transparent));
140
+ --_#{$name}-shadow-current: var(--#{$name}-shadow-active, var(--shadow-color, transparent));
141
+ --_#{$name}-text-current: var(--#{$name}-text-active, var(--on-surface-color, currentColor));
142
+ }
143
+ }*/
144
+
145
+ //
146
+ /*@include utils.when-focus {
147
+ &:not(:disabled):not([aria-disabled="true"]) {
148
+ --_#{$name}-surface-current: var(--#{$name}-surface-focus, var(--surface-color, transparent));
149
+ --_#{$name}-border-current: var(--#{$name}-border-focus, var(--border-color, transparent));
150
+ --_#{$name}-shadow-current: var(--#{$name}-shadow-focus, var(--shadow-color, transparent));
151
+ --_#{$name}-text-current: var(--#{$name}-text-focus, var(--on-surface-color, currentColor));
152
+ }
153
+ }*/
154
+
155
+ //
156
+ &:invalid, &[aria-invalid="true"] {
157
+ --current: var(--color-error, var(--color-danger, currentColor));
158
+
159
+ /*
160
+ --_#{$name}-border-current: var(--#{$name}-border-error, var(--border-color, transparent));
161
+ --_#{$name}-surface-current: var(--#{$name}-surface-error, var(--surface-color, transparent));
162
+ --_#{$name}-shadow-current: var(--#{$name}-shadow-error, var(--shadow-color, transparent));
163
+ */
164
+ }
165
+
166
+ //
167
+ @include utils.when-disabled {
168
+ /*
169
+ --_#{$name}-border-current: var(--#{$name}-border-disabled, var(--border-color, transparent));
170
+ --_#{$name}-surface-current: var(--#{$name}-surface-disabled, var(--surface-color, transparent));
171
+ --_#{$name}-text-current: var(--#{$name}-text-disabled, color-mix(in oklch, var(--input-text-color, currentColor) 55%, transparent));
172
+ --_#{$name}-shadow-current: none;*/
173
+
174
+ //
175
+ cursor: not-allowed;
176
+ resize: none;
177
+ user-select: none;
178
+ }
179
+
180
+ //
181
+ &[readonly] {
182
+ /*
183
+ --_#{$name}-border-current: var(--#{$name}-border-readonly, var(--border-color, transparent));
184
+ --_#{$name}-surface-current: var(--#{$name}-surface-readonly, var(--surface-color, transparent));
185
+ --_#{$name}-text-current: var(--#{$name}-text-readonly, var(--on-surface-color, currentColor));
186
+ */
187
+
188
+ //
189
+ cursor: default;
190
+ }
191
+
192
+ //
193
+ &::-moz-focus-inner { border: 0; }
194
+
195
+ //
196
+ span, a, ui-icon {
197
+ --icon-color: var(--_#{$name}-icon-current, var(--_#{$name}-text-current, var(--on-surface-color, currentColor)));
198
+ color: var(--_#{$name}-text-current, var(--on-surface-color, currentColor));
199
+ background-color: transparent;
200
+ }
201
+ }