@sveltia/ui 0.10.0 → 0.10.2

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.
@@ -231,12 +231,12 @@ button:global(.primary) {
231
231
  font-weight: var(--sui-button-primary-font-weight, normal);
232
232
  }
233
233
  button:global(.primary):hover, button:global(.primary):focus-visible, button:global(.primary)[aria-expanded=true] {
234
- color: var(--sui-button-primary-foreground-color-focus, initial);
235
- background-color: var(--sui-button-primary-background-color-focus, var(--sui-primary-accent-color-light, initial));
234
+ color: var(--sui-button-primary-foreground-color-focus);
235
+ background-color: var(--sui-button-primary-background-color-focus, var(--sui-primary-accent-color-light));
236
236
  }
237
237
  button:global(.primary):active {
238
- color: var(--sui-button-primary-foreground-color-active, initial);
239
- background-color: var(--sui-button-primary-background-color-active, var(--sui-primary-accent-color-dark, initial));
238
+ color: var(--sui-button-primary-foreground-color-active);
239
+ background-color: var(--sui-button-primary-background-color-active, var(--sui-primary-accent-color-dark));
240
240
  }
241
241
  button:global(.secondary) {
242
242
  border-width: var(--sui-button-secondary-border-width, 1px);
@@ -247,16 +247,16 @@ button:global(.secondary) {
247
247
  font-weight: var(--sui-button-secondary-font-weight, normal);
248
248
  }
249
249
  button:global(.secondary):hover, button:global(.secondary):focus-visible, button:global(.secondary)[aria-expanded=true] {
250
- color: var(--sui-button-secondary-foreground-color-focus, initial);
251
- background-color: var(--sui-button-secondary-background-color-focus, var(--sui-hover-background-color, initial));
250
+ color: var(--sui-button-secondary-foreground-color-focus);
251
+ background-color: var(--sui-button-secondary-background-color-focus, var(--sui-hover-background-color));
252
252
  }
253
253
  button:global(.secondary):active {
254
- color: var(--sui-button-secondary-foreground-color-active, initial);
254
+ color: var(--sui-button-secondary-foreground-color-active);
255
255
  background-color: var(--sui-button-secondary-background-color-active, var(--sui-active-background-color));
256
256
  }
257
257
  button:global(.secondary)[aria-pressed=true] {
258
- color: var(--sui-button-secondary-foreground-color-pressed, initial);
259
- background-color: var(--sui-button-secondary-background-color-pressed, var(--sui-primary-accent-color, initial));
258
+ color: var(--sui-button-secondary-foreground-color-pressed);
259
+ background-color: var(--sui-button-secondary-background-color-pressed, var(--sui-primary-accent-color));
260
260
  }
261
261
  button:global(.tertiary) {
262
262
  border-width: var(--sui-button-tertiary-border-width, 1px);
@@ -267,31 +267,31 @@ button:global(.tertiary) {
267
267
  font-weight: var(--sui-button-tertiary-font-weight, normal);
268
268
  }
269
269
  button:global(.tertiary):hover, button:global(.tertiary):focus-visible, button:global(.tertiary)[aria-expanded=true] {
270
- color: var(--sui-button-tertiary-foreground-color-focus, initial);
271
- background-color: var(--sui-button-tertiary-background-color-focus, var(--sui-hover-background-color, initial));
270
+ color: var(--sui-button-tertiary-foreground-color-focus);
271
+ background-color: var(--sui-button-tertiary-background-color-focus, var(--sui-hover-background-color));
272
272
  }
273
273
  button:global(.tertiary):active {
274
- color: var(--sui-button-tertiary-foreground-color-active, initial);
275
- background-color: var(--sui-button-tertiary-background-color-active, var(--sui-active-background-color, initial));
274
+ color: var(--sui-button-tertiary-foreground-color-active);
275
+ background-color: var(--sui-button-tertiary-background-color-active, var(--sui-active-background-color));
276
276
  }
277
277
  button:global(.tertiary)[aria-pressed=true] {
278
- color: var(--sui-button-tertiary-foreground-color-pressed, initial);
279
- background-color: var(--sui-button-tertiary-background-color-pressed, var(--sui-selected-background-color, initial));
278
+ color: var(--sui-button-tertiary-foreground-color-pressed);
279
+ background-color: var(--sui-button-tertiary-background-color-pressed, var(--sui-selected-background-color));
280
280
  }
281
281
  button:global(.ghost) {
282
282
  font-weight: var(--sui-button-ghost-font-weight, normal);
283
283
  }
284
284
  button:global(.ghost):hover, button:global(.ghost):focus-visible, button:global(.ghost)[aria-expanded=true] {
285
- color: var(--sui-button-ghost-foreground-color-focus, initial);
286
- background-color: var(--sui-button-ghost-background-color-focus, var(--sui-hover-background-color, initial));
285
+ color: var(--sui-button-ghost-foreground-color-focus);
286
+ background-color: var(--sui-button-ghost-background-color-focus, var(--sui-hover-background-color));
287
287
  }
288
288
  button:global(.ghost):active {
289
- color: var(--sui-button-ghost-foreground-color-active, initial);
290
- background-color: var(--sui-button-ghost-background-color-active, var(--sui-active-background-color, initial));
289
+ color: var(--sui-button-ghost-foreground-color-active);
290
+ background-color: var(--sui-button-ghost-background-color-active, var(--sui-active-background-color));
291
291
  }
292
292
  button:global(.ghost)[aria-pressed=true] {
293
- color: var(--sui-button-ghost-foreground-color-pressed, initial);
294
- background-color: var(--sui-button-ghost-background-color-pressed, var(--sui-selected-background-color, initial));
293
+ color: var(--sui-button-ghost-foreground-color-pressed);
294
+ background-color: var(--sui-button-ghost-background-color-pressed, var(--sui-selected-background-color));
295
295
  }
296
296
  button:global(.link) {
297
297
  outline: 0;
@@ -107,7 +107,7 @@ textarea,
107
107
  grid-area: 1/1/2/2;
108
108
  display: block;
109
109
  margin: 0;
110
- border-width: 1px;
110
+ border-width: var(--sui-textbox-border-width, 1px);
111
111
  border-color: var(--sui-textbox-border-color);
112
112
  border-radius: var(--sui-textbox-border-radius);
113
113
  padding: 8px;
@@ -126,7 +126,9 @@ textarea.resizing,
126
126
  }
127
127
  textarea:focus,
128
128
  .clone:focus {
129
- border-color: var(--sui-primary-accent-color);
129
+ border-color: var(--sui-textbox-border-color-focus, var(--sui-primary-accent-color));
130
+ color: var(--sui-textbox-foreground-color-focus, var(--sui-textbox-foreground-color));
131
+ background-color: var(--sui-textbox-background-color-focus, var(--sui-textbox-background-color));
130
132
  }
131
133
  textarea:disabled, textarea:read-only,
132
134
  .clone:disabled,
@@ -150,7 +150,7 @@ input:-webkit-autofill:focus {
150
150
  input {
151
151
  display: inline-block;
152
152
  flex: auto;
153
- border-width: 1px;
153
+ border-width: var(--sui-textbox-border-width, 1px);
154
154
  border-color: var(--sui-textbox-border-color);
155
155
  border-radius: var(--sui-textbox-border-radius);
156
156
  padding: var(--sui-textbox-padding, 0 8px);
@@ -168,7 +168,9 @@ input {
168
168
  transition: all 200ms;
169
169
  }
170
170
  input:focus {
171
- border-color: var(--sui-primary-accent-color);
171
+ border-color: var(--sui-textbox-border-color-focus, var(--sui-primary-accent-color));
172
+ color: var(--sui-textbox-foreground-color-focus, var(--sui-textbox-foreground-color));
173
+ background-color: var(--sui-textbox-background-color-focus, var(--sui-textbox-background-color));
172
174
  }
173
175
  input:read-only {
174
176
  color: var(--sui-tertiary-foreground-color);
@@ -180,17 +182,6 @@ input:disabled, input:read-only {
180
182
  input[aria-invalid=true] {
181
183
  border-color: var(--sui-error-foreground-color);
182
184
  }
183
- input::placeholder {
184
- color: var(--sui-textbox-placeholder-foreground-color, var(--sui-textbox-foreground-color));
185
- opacity: var(--sui-textbox-placeholder-opacity, 0.5);
186
- font-family: var(--sui-textbox-placeholder-font-family, var(--sui-textbox-font-family));
187
- font-size: var(--sui-textbox-placeholder-font-size, var(--sui-textbox-font-size));
188
- line-height: var(--sui-textbox-placeholder-singleline-line-height, var(--sui-textbox-singleline-line-height));
189
- font-weight: var(--sui-textbox-placeholder-font-weight, var(--sui-textbox-font-weight, normal));
190
- text-align: var(--sui-textbox-placeholder-text-align, var(--sui-textbox-text-align, left));
191
- text-indent: var(--sui-textbox-placeholder-text-indent, var(--sui-textbox-text-indent, 0));
192
- letter-spacing: var(--sui-textbox-placeholder-letter-spacing, var(--sui-textbox-letter-spacing, normal));
193
- }
194
185
  input ~ :global(button) {
195
186
  flex: none;
196
187
  margin-left: -1px;
@@ -208,13 +199,12 @@ input ~ :global(button) :global(.icon) {
208
199
 
209
200
  .label {
210
201
  position: absolute;
211
- inset: 0 8px;
202
+ inset: var(--sui-textbox-padding, 0 8px);
212
203
  z-index: 2;
213
204
  display: flex;
214
- justify-content: var(--sui-textbox-label-align, flex-start);
215
205
  align-items: center;
216
- color: var(--sui-primary-foreground-color);
217
- opacity: 0.5;
206
+ justify-content: var(--sui-textbox-placeholder-text-align, var(--sui-textbox-text-align, left));
207
+ white-space: nowrap;
218
208
  pointer-events: none;
219
209
  }
220
210
  .label.hidden {
@@ -223,4 +213,17 @@ input ~ :global(button) :global(.icon) {
223
213
 
224
214
  input:focus + .label {
225
215
  opacity: 0;
216
+ }
217
+
218
+ input::placeholder,
219
+ .label {
220
+ color: var(--sui-textbox-placeholder-foreground-color, var(--sui-textbox-foreground-color));
221
+ opacity: var(--sui-textbox-placeholder-opacity, 0.5);
222
+ font-family: var(--sui-textbox-placeholder-font-family, var(--sui-textbox-font-family));
223
+ font-size: var(--sui-textbox-placeholder-font-size, var(--sui-textbox-font-size));
224
+ line-height: var(--sui-textbox-placeholder-singleline-line-height, var(--sui-textbox-singleline-line-height));
225
+ font-weight: var(--sui-textbox-placeholder-font-weight, var(--sui-textbox-font-weight, normal));
226
+ text-align: var(--sui-textbox-placeholder-text-align, var(--sui-textbox-text-align, left));
227
+ text-indent: var(--sui-textbox-placeholder-text-indent, var(--sui-textbox-text-indent, 0));
228
+ letter-spacing: var(--sui-textbox-placeholder-letter-spacing, var(--sui-textbox-letter-spacing, normal));
226
229
  }</style>
@@ -96,7 +96,17 @@ class Group {
96
96
  controlTarget.setAttribute('aria-hidden', String(!isSelected));
97
97
 
98
98
  if (isSelected) {
99
- controlTarget.scrollIntoView({ block: 'nearest', inline: 'nearest', behavior: 'auto' });
99
+ window.setTimeout(() => {
100
+ try {
101
+ controlTarget.scrollIntoView({
102
+ block: 'nearest',
103
+ inline: 'nearest',
104
+ behavior: 'auto',
105
+ });
106
+ } catch {
107
+ controlTarget.scrollIntoView(true);
108
+ }
109
+ }, 300);
100
110
  }
101
111
  }
102
112
  });
@@ -245,13 +255,30 @@ class Group {
245
255
  controlTarget.setAttribute('aria-hidden', String(!isTarget));
246
256
 
247
257
  if (isTarget) {
248
- controlTarget.scrollIntoView({ block: 'nearest', inline: 'nearest', behavior: 'auto' });
258
+ window.setTimeout(() => {
259
+ try {
260
+ controlTarget.scrollIntoView({
261
+ block: 'nearest',
262
+ inline: 'nearest',
263
+ behavior: 'auto',
264
+ });
265
+ } catch {
266
+ controlTarget.scrollIntoView(true);
267
+ }
268
+ }, 300);
249
269
  }
250
270
  }
251
271
 
252
272
  if (isTarget) {
253
273
  this.parent.setAttribute('aria-activedescendant', element.id);
254
- element.scrollIntoView({ block: 'nearest', inline: 'nearest', behavior: 'auto' });
274
+
275
+ window.setTimeout(() => {
276
+ try {
277
+ element.scrollIntoView({ block: 'nearest', inline: 'nearest', behavior: 'auto' });
278
+ } catch {
279
+ element.scrollIntoView(true);
280
+ }
281
+ }, 300);
255
282
  }
256
283
  });
257
284
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sveltia/ui",
3
- "version": "0.10.0",
3
+ "version": "0.10.2",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "publishConfig": {