@threadlabs/looma 0.14.2 → 0.14.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.
@@ -4443,7 +4443,7 @@ svg[data-v-006fa1b2-s] {
4443
4443
  syntax: "*";
4444
4444
  inherits: false;
4445
4445
  }
4446
- [data-component~="ui-meter"][data-v-f716cd47] {
4446
+ [data-component~="ui-meter"][data-v-c0b7936e] {
4447
4447
  --_meter-fill: var(--ui-text-muted);
4448
4448
 
4449
4449
  display: inline-block;
@@ -4458,41 +4458,111 @@ svg[data-v-006fa1b2-s] {
4458
4458
  /* Unseen until forced colours draw it, where the track's own colour is gone. */
4459
4459
  outline: 1px solid transparent;
4460
4460
  }
4461
- [data-component~="ui-meter"][data-ui-meter-state~="size=sm"][data-v-f716cd47] {
4461
+ [data-component~="ui-meter"][data-ui-meter-state~="size=sm"][data-v-c0b7936e] {
4462
4462
  inline-size: var(--ui-meter-inline-size, 5rem);
4463
4463
  block-size: var(--ui-space-1);
4464
4464
  }
4465
- .fill[data-v-f716cd47] {
4465
+ .fill[data-v-c0b7936e] {
4466
4466
  display: block;
4467
4467
  block-size: 100%;
4468
4468
  background: var(--_meter-fill);
4469
4469
  }
4470
- [data-component~="ui-meter"][data-ui-meter-state~="tone=accent"][data-v-f716cd47] {
4470
+ [data-component~="ui-meter"][data-ui-meter-state~="tone=accent"][data-v-c0b7936e] {
4471
4471
  --_meter-fill: var(--ui-accent-solid);
4472
4472
  }
4473
- [data-component~="ui-meter"][data-ui-meter-state~="tone=info"][data-v-f716cd47] {
4473
+ [data-component~="ui-meter"][data-ui-meter-state~="tone=info"][data-v-c0b7936e] {
4474
4474
  --_meter-fill: var(--ui-info-solid);
4475
4475
  }
4476
- [data-component~="ui-meter"][data-ui-meter-state~="tone=success"][data-v-f716cd47] {
4476
+ [data-component~="ui-meter"][data-ui-meter-state~="tone=success"][data-v-c0b7936e] {
4477
4477
  --_meter-fill: var(--ui-success-solid);
4478
4478
  }
4479
- [data-component~="ui-meter"][data-ui-meter-state~="tone=warning"][data-v-f716cd47] {
4479
+ [data-component~="ui-meter"][data-ui-meter-state~="tone=warning"][data-v-c0b7936e] {
4480
4480
  --_meter-fill: var(--ui-warning-solid);
4481
4481
  }
4482
- [data-component~="ui-meter"][data-ui-meter-state~="tone=danger"][data-v-f716cd47] {
4482
+ [data-component~="ui-meter"][data-ui-meter-state~="tone=danger"][data-v-c0b7936e] {
4483
4483
  --_meter-fill: var(--ui-danger-solid);
4484
4484
  }
4485
4485
 
4486
+ /* Segments: the track and its fill show through a mask of equal segments with a gap between them.
4487
+ A mask over the whole meter, rather than one element per segment, because the expression
4488
+ language has no range to render N elements from, and one mask lines the fill up with the track
4489
+ for free. Each period is a segment and the gap after it; N periods span the track plus one
4490
+ trailing gap, so the segments sit symmetrically and right to left needs nothing of its own.
4491
+ The count arrives as an attribute, not an inline custom property (which would add a style
4492
+ attribute to every meter), so a continuous meter renders exactly as before, and the rules below
4493
+ turn it into a number. That caps it at 12, until attr() with a type reads any count in every engine. */
4494
+ [data-component~="ui-meter"][data-ui-meter-segments="2"][data-v-c0b7936e] {
4495
+ --_segments: 2;
4496
+ }
4497
+ [data-component~="ui-meter"][data-ui-meter-segments="3"][data-v-c0b7936e] {
4498
+ --_segments: 3;
4499
+ }
4500
+ [data-component~="ui-meter"][data-ui-meter-segments="4"][data-v-c0b7936e] {
4501
+ --_segments: 4;
4502
+ }
4503
+ [data-component~="ui-meter"][data-ui-meter-segments="5"][data-v-c0b7936e] {
4504
+ --_segments: 5;
4505
+ }
4506
+ [data-component~="ui-meter"][data-ui-meter-segments="6"][data-v-c0b7936e] {
4507
+ --_segments: 6;
4508
+ }
4509
+ [data-component~="ui-meter"][data-ui-meter-segments="7"][data-v-c0b7936e] {
4510
+ --_segments: 7;
4511
+ }
4512
+ [data-component~="ui-meter"][data-ui-meter-segments="8"][data-v-c0b7936e] {
4513
+ --_segments: 8;
4514
+ }
4515
+ [data-component~="ui-meter"][data-ui-meter-segments="9"][data-v-c0b7936e] {
4516
+ --_segments: 9;
4517
+ }
4518
+ [data-component~="ui-meter"][data-ui-meter-segments="10"][data-v-c0b7936e] {
4519
+ --_segments: 10;
4520
+ }
4521
+ [data-component~="ui-meter"][data-ui-meter-segments="11"][data-v-c0b7936e] {
4522
+ --_segments: 11;
4523
+ }
4524
+ [data-component~="ui-meter"][data-ui-meter-segments="12"][data-v-c0b7936e] {
4525
+ --_segments: 12;
4526
+ }
4527
+ [data-component~="ui-meter"][data-ui-meter-segments][data-v-c0b7936e] {
4528
+ --_meter-gap: var(--ui-space-1);
4529
+ --_meter-period: calc((100% + var(--_meter-gap)) / var(--_segments));
4530
+ --_meter-segment: calc(var(--_meter-period) - var(--_meter-gap));
4531
+
4532
+ mask-image: repeating-linear-gradient(
4533
+ to right,
4534
+ #000 0 var(--_meter-segment),
4535
+ transparent 0 var(--_meter-period)
4536
+ );
4537
+ }
4538
+ [data-component~="ui-meter"][data-ui-meter-state~="size=sm"][data-ui-meter-segments][data-v-c0b7936e] {
4539
+ --_meter-gap: var(--ui-space-0-5);
4540
+ }
4541
+
4486
4542
  /* Forced colours drop backgrounds: draw the fill in the text colour inside the outlined track. */
4487
4543
  @media (forced-colors: active) {
4488
- .fill[data-v-f716cd47] {
4544
+ .fill[data-v-c0b7936e] {
4489
4545
  forced-color-adjust: none;
4490
4546
  background: CanvasText;
4491
4547
  }
4548
+
4549
+ /* The mask clips the track's outline, so each segment draws its own: the inset shadow draws the
4550
+ top and bottom edges and the gradient the ends. */
4551
+ [data-component~="ui-meter"][data-ui-meter-segments][data-v-c0b7936e] {
4552
+ forced-color-adjust: none;
4553
+ background: repeating-linear-gradient(
4554
+ to right,
4555
+ CanvasText 0 1px,
4556
+ Canvas 0 calc(var(--_meter-segment) - 1px),
4557
+ CanvasText 0 var(--_meter-segment),
4558
+ transparent 0 var(--_meter-period)
4559
+ );
4560
+ box-shadow: inset 0 0 0 1px CanvasText;
4561
+ }
4492
4562
  }
4493
4563
 
4494
4564
  /* A component that sets its display still honours the hidden attribute on its root. */
4495
- [data-component~="ui-meter"][hidden][data-v-f716cd47] {
4565
+ [data-component~="ui-meter"][hidden][data-v-c0b7936e] {
4496
4566
  display: none;
4497
4567
  }
4498
4568
 
@@ -6301,81 +6371,89 @@ tbody tr[data-v-9980d203-s]:last-child > * {
6301
6371
 
6302
6372
  /* Running text, set on the type scale and in a tone that says what it is, so a view never styles
6303
6373
  text of its own. The root is a paragraph unless as= names a span, div, small, strong, or label. */
6304
- [data-component~="ui-text"][data-v-ab6bb60b] {
6374
+ [data-component~="ui-text"][data-v-e15a75c1] {
6305
6375
  margin: 0;
6306
6376
  min-inline-size: 0;
6307
6377
  color: var(--ui-text-primary);
6308
6378
  text-align: start;
6309
6379
  }
6310
- [data-component~="ui-text"][data-ui-text-state~="size=xs"][data-v-ab6bb60b] {
6380
+ [data-component~="ui-text"][data-ui-text-state~="size=xs"][data-v-e15a75c1] {
6311
6381
  font-size: var(--ui-font-size-xs);
6312
6382
  line-height: var(--ui-line-height);
6313
6383
  }
6314
- [data-component~="ui-text"][data-ui-text-state~="size=sm"][data-v-ab6bb60b] {
6384
+ [data-component~="ui-text"][data-ui-text-state~="size=sm"][data-v-e15a75c1] {
6315
6385
  font-size: var(--ui-font-size-sm);
6316
6386
  line-height: var(--ui-line-height);
6317
6387
  }
6318
- [data-component~="ui-text"][data-ui-text-state~="size=md"][data-v-ab6bb60b] {
6388
+ [data-component~="ui-text"][data-ui-text-state~="size=md"][data-v-e15a75c1] {
6319
6389
  font-size: var(--ui-font-size-md);
6320
6390
  line-height: var(--ui-line-height);
6321
6391
  }
6322
- [data-component~="ui-text"][data-ui-text-state~="size=lg"][data-v-ab6bb60b] {
6392
+ [data-component~="ui-text"][data-ui-text-state~="size=lg"][data-v-e15a75c1] {
6323
6393
  font-size: var(--ui-font-size-lg);
6324
6394
  line-height: var(--ui-line-height-relaxed);
6325
6395
  }
6326
- [data-component~="ui-text"][data-ui-text-state~="tone=secondary"][data-v-ab6bb60b] {
6396
+ [data-component~="ui-text"][data-ui-text-state~="tone=secondary"][data-v-e15a75c1] {
6327
6397
  color: var(--ui-text-secondary);
6328
6398
  }
6329
- [data-component~="ui-text"][data-ui-text-state~="tone=muted"][data-v-ab6bb60b] {
6399
+ [data-component~="ui-text"][data-ui-text-state~="tone=muted"][data-v-e15a75c1] {
6330
6400
  color: var(--ui-text-muted);
6331
6401
  }
6332
- [data-component~="ui-text"][data-ui-text-state~="tone=accent"][data-v-ab6bb60b] {
6402
+ [data-component~="ui-text"][data-ui-text-state~="tone=accent"][data-v-e15a75c1] {
6333
6403
  color: var(--ui-accent-active);
6334
6404
  }
6335
- [data-component~="ui-text"][data-ui-text-state~="tone=danger"][data-v-ab6bb60b] {
6405
+ [data-component~="ui-text"][data-ui-text-state~="tone=danger"][data-v-e15a75c1] {
6336
6406
  color: var(--ui-danger);
6337
6407
  }
6338
- [data-component~="ui-text"][data-ui-text-state~="tone=success"][data-v-ab6bb60b] {
6408
+ [data-component~="ui-text"][data-ui-text-state~="tone=success"][data-v-e15a75c1] {
6339
6409
  color: var(--ui-success);
6340
6410
  }
6341
- [data-component~="ui-text"][data-ui-text-state~="weight=normal"][data-v-ab6bb60b] {
6411
+ /* The base info and warning colours fall short of 4.5:1 on sunken surfaces, so these use the
6412
+ text-safe tokens a subtle badge sets its words in. */
6413
+ [data-component~="ui-text"][data-ui-text-state~="tone=info"][data-v-e15a75c1] {
6414
+ color: var(--ui-info-subtle-text);
6415
+ }
6416
+ [data-component~="ui-text"][data-ui-text-state~="tone=warning"][data-v-e15a75c1] {
6417
+ color: var(--ui-warning-subtle-text);
6418
+ }
6419
+ [data-component~="ui-text"][data-ui-text-state~="weight=normal"][data-v-e15a75c1] {
6342
6420
  font-weight: var(--ui-font-normal);
6343
6421
  }
6344
- [data-component~="ui-text"][data-ui-text-state~="weight=medium"][data-v-ab6bb60b] {
6422
+ [data-component~="ui-text"][data-ui-text-state~="weight=medium"][data-v-e15a75c1] {
6345
6423
  font-weight: var(--ui-font-medium);
6346
6424
  }
6347
- [data-component~="ui-text"][data-ui-text-state~="weight=semibold"][data-v-ab6bb60b] {
6425
+ [data-component~="ui-text"][data-ui-text-state~="weight=semibold"][data-v-e15a75c1] {
6348
6426
  font-weight: var(--ui-font-semibold);
6349
6427
  }
6350
- [data-component~="ui-text"][data-ui-text-state~="variant=eyebrow"][data-v-ab6bb60b] {
6428
+ [data-component~="ui-text"][data-ui-text-state~="variant=eyebrow"][data-v-e15a75c1] {
6351
6429
  font-size: var(--ui-font-size-xs);
6352
6430
  font-weight: var(--ui-font-semibold);
6353
6431
  letter-spacing: 0.06em;
6354
6432
  text-transform: uppercase;
6355
6433
  }
6356
- [data-component~="ui-text"][data-ui-text-state~="variant=code"][data-v-ab6bb60b] {
6434
+ [data-component~="ui-text"][data-ui-text-state~="variant=code"][data-v-e15a75c1] {
6357
6435
  font-family: var(--ui-font-family-mono);
6358
6436
  }
6359
6437
 
6360
6438
  /* A link in running text is underlined, so it stands apart from the words around it by more than
6361
6439
  colour. */
6362
- [data-component~="ui-text"] a[data-v-ab6bb60b-s] {
6440
+ [data-component~="ui-text"] a[data-v-e15a75c1-s] {
6363
6441
  color: var(--ui-accent-active);
6364
6442
  text-decoration: underline;
6365
6443
  text-decoration-thickness: 0.06em;
6366
6444
  text-underline-offset: 0.18em;
6367
6445
  }
6368
- [data-component~="ui-text"][data-ui-text-state~="truncate"][data-v-ab6bb60b] {
6446
+ [data-component~="ui-text"][data-ui-text-state~="truncate"][data-v-e15a75c1] {
6369
6447
  overflow: hidden;
6370
6448
  text-overflow: ellipsis;
6371
6449
  white-space: nowrap;
6372
6450
  }
6373
- [data-component~="ui-text"][data-ui-text-state~="align=center"][data-v-ab6bb60b] {
6451
+ [data-component~="ui-text"][data-ui-text-state~="align=center"][data-v-e15a75c1] {
6374
6452
  text-align: center;
6375
6453
  }
6376
6454
 
6377
6455
  /* A component that sets its display still honours the hidden attribute on its root. */
6378
- [data-component~="ui-text"][hidden][data-v-ab6bb60b] {
6456
+ [data-component~="ui-text"][hidden][data-v-e15a75c1] {
6379
6457
  display: none;
6380
6458
  }
6381
6459