@threadlabs/looma 0.2.3 → 0.2.4

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 (2) hide show
  1. package/package.json +1 -1
  2. package/styles.css +16 -10
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@threadlabs/looma",
3
- "version": "0.2.3",
3
+ "version": "0.2.4",
4
4
  "type": "module",
5
5
  "description": "Looma web components, responsive layout primitives, a complete editor, and supported Vue adapters.",
6
6
  "license": "MIT",
package/styles.css CHANGED
@@ -207,7 +207,13 @@
207
207
  color: var(--ui-action-secondary-text, var(--ui-text-primary));
208
208
  }
209
209
 
210
- ui-button[variant="solid"] {
210
+ /* Match data-variant too, not just the variant attribute. ui-button does not
211
+ * reflect its `variant` prop, so a `variant` attribute only exists on buttons
212
+ * rendered server-side; client-rendered buttons (e.g. a dialog opened after
213
+ * mount) carry only the Stencil-synced data-variant. Keying on data-variant
214
+ * (as the size rules already do with data-size) makes this fallback apply in
215
+ * both cases instead of stranding client-rendered variants on the neutral base. */
216
+ ui-button:is([variant="solid"], [data-variant="solid"]) {
211
217
  color: var(--ui-action-primary-text, var(--ui-text-on-accent));
212
218
  }
213
219
 
@@ -252,59 +258,59 @@
252
258
  background: var(--ui-surface-subtle);
253
259
  }
254
260
 
255
- ui-button[variant="solid"] > button {
261
+ ui-button:is([variant="solid"], [data-variant="solid"]) > button {
256
262
  border-color: var(--ui-action-primary-surface, var(--ui-accent-solid));
257
263
  background: var(--ui-action-primary-surface, var(--ui-accent-solid));
258
264
  color: var(--ui-action-primary-text, var(--ui-text-on-accent));
259
265
  box-shadow: var(--ui-button-solid-shadow, inset 0 1px rgb(255 255 255 / 0.16), var(--ui-shadow-xs));
260
266
  }
261
267
 
262
- ui-button[variant="solid"] > button:hover:enabled {
268
+ ui-button:is([variant="solid"], [data-variant="solid"]) > button:hover:enabled {
263
269
  background: var(--ui-action-primary-surface-hover, var(--ui-accent-hover));
264
270
  border-color: var(--ui-action-primary-surface-hover, var(--ui-accent-hover));
265
271
  box-shadow: var(--ui-shadow-sm);
266
272
  transform: translateY(-1px);
267
273
  }
268
274
 
269
- ui-button[variant="solid"] > button:active:enabled {
275
+ ui-button:is([variant="solid"], [data-variant="solid"]) > button:active:enabled {
270
276
  background: var(--ui-action-primary-surface-active, var(--ui-accent-active));
271
277
  border-color: var(--ui-action-primary-surface-active, var(--ui-accent-active));
272
278
  box-shadow: none;
273
279
  transform: translateY(0);
274
280
  }
275
281
 
276
- ui-button[variant="destructive"] > button {
282
+ ui-button:is([variant="destructive"], [data-variant="destructive"]) > button {
277
283
  border-color: var(--ui-danger-solid);
278
284
  background: var(--ui-danger-solid);
279
285
  color: var(--ui-text-on-accent);
280
286
  box-shadow: var(--ui-button-destructive-shadow, inset 0 1px rgb(255 255 255 / 0.14), var(--ui-shadow-xs));
281
287
  }
282
288
 
283
- ui-button[variant="destructive"] > button:hover:enabled {
289
+ ui-button:is([variant="destructive"], [data-variant="destructive"]) > button:hover:enabled {
284
290
  background: var(--ui-danger-hover);
285
291
  border-color: var(--ui-danger-hover);
286
292
  box-shadow: var(--ui-shadow-sm);
287
293
  transform: translateY(-1px);
288
294
  }
289
295
 
290
- ui-button[variant="destructive"] > button:active:enabled {
296
+ ui-button:is([variant="destructive"], [data-variant="destructive"]) > button:active:enabled {
291
297
  background: var(--ui-danger-hover);
292
298
  border-color: var(--ui-danger-hover);
293
299
  box-shadow: none;
294
300
  transform: translateY(0);
295
301
  }
296
302
 
297
- ui-button[variant="ghost"] > button {
303
+ ui-button:is([variant="ghost"], [data-variant="ghost"]) > button {
298
304
  border-color: transparent;
299
305
  background: transparent;
300
306
  }
301
307
 
302
- ui-button[variant="ghost"] > button:hover:enabled {
308
+ ui-button:is([variant="ghost"], [data-variant="ghost"]) > button:hover:enabled {
303
309
  background: var(--ui-surface-muted);
304
310
  border-color: transparent;
305
311
  }
306
312
 
307
- ui-button[variant="ghost"] > button:active:enabled {
313
+ ui-button:is([variant="ghost"], [data-variant="ghost"]) > button:active:enabled {
308
314
  background: var(--ui-surface-subtle);
309
315
  border-color: transparent;
310
316
  }