@threadlabs/looma 0.26.16 → 0.26.18

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.
@@ -6254,7 +6254,7 @@ svg[data-v-219fa683-s] {
6254
6254
 
6255
6255
  /* Compact sets its items' defaults, so nothing has to rescale a global; an item's own hooks
6256
6256
  still win. */
6257
- [data-component~="ui-menu"][data-ui-menu-state~="density=compact"][data-v-672d5adf] {
6257
+ [data-component~="ui-menu"][data-ui-menu-state~="density=compact"][data-v-b6bd5ab3] {
6258
6258
  --_ui-default-menu-item-padding-block: var(--ui-space-1);
6259
6259
  --_ui-default-menu-item-padding-inline: var(--ui-space-2);
6260
6260
  --_ui-default-menu-item-font-size: var(--ui-font-size-sm);
@@ -6264,7 +6264,7 @@ svg[data-v-219fa683-s] {
6264
6264
  }
6265
6265
 
6266
6266
  /* Small follows its trigger down: an item's own hooks still win. */
6267
- [data-component~="ui-menu"][data-ui-menu-state~="size=sm"][data-v-672d5adf] {
6267
+ [data-component~="ui-menu"][data-ui-menu-state~="size=sm"][data-v-b6bd5ab3] {
6268
6268
  --_ui-default-menu-item-padding-block: var(--ui-space-0-5);
6269
6269
  --_ui-default-menu-item-padding-inline: var(--ui-space-2);
6270
6270
  --_ui-default-menu-item-font-size: var(--ui-font-size-xs);
@@ -6275,7 +6275,10 @@ svg[data-v-219fa683-s] {
6275
6275
  padding: var(--ui-space-1);
6276
6276
  gap: 0;
6277
6277
  }
6278
- [data-component~="ui-menu"][data-v-672d5adf] {
6278
+ [data-component~="ui-menu"][data-ui-menu-state~="icons"][data-v-b6bd5ab3] {
6279
+ --_ui-default-menu-icon-display: inline-flex;
6280
+ }
6281
+ [data-component~="ui-menu"][data-v-b6bd5ab3] {
6279
6282
  --_ui-menu-surface: var(--ui-menu-surface);
6280
6283
  --_ui-menu-border: var(--ui-menu-border);
6281
6284
  --_ui-menu-radius: var(--ui-menu-radius);
@@ -6287,6 +6290,7 @@ svg[data-v-219fa683-s] {
6287
6290
  --_ui-default-menu-item-radius: initial;
6288
6291
  --_ui-default-menu-item-min-block-size: initial;
6289
6292
  --_ui-default-menu-indicator-size: initial;
6293
+ --_ui-default-menu-icon-display: none;
6290
6294
  display: flex;
6291
6295
  flex-direction: column;
6292
6296
  box-sizing: border-box;
@@ -6301,7 +6305,7 @@ svg[data-v-219fa683-s] {
6301
6305
  box-shadow: none;
6302
6306
  overflow: visible;
6303
6307
  }
6304
- .surface[data-v-672d5adf] {
6308
+ .surface[data-v-b6bd5ab3] {
6305
6309
  display: flex;
6306
6310
  flex-direction: column;
6307
6311
  box-sizing: border-box;
@@ -6318,17 +6322,17 @@ svg[data-v-219fa683-s] {
6318
6322
  max-block-size: inherit;
6319
6323
  overflow: auto;
6320
6324
  }
6321
- .surface hr[data-v-672d5adf] {
6325
+ .surface hr[data-v-b6bd5ab3] {
6322
6326
  align-self: stretch;
6323
6327
  block-size: 0;
6324
6328
  margin: var(--ui-space-1) 0;
6325
6329
  border: 0;
6326
6330
  border-block-start: var(--ui-border-width) solid var(--ui-border-divider);
6327
6331
  }
6328
- [data-component~="ui-menu"][data-v-672d5adf]:not([data-component~="ui-menu"][data-ui-menu-state~="internalOpen"]):not([data-component~="ui-menu"][data-ui-menu-state~="inline"]) {
6332
+ [data-component~="ui-menu"][data-v-b6bd5ab3]:not([data-component~="ui-menu"][data-ui-menu-state~="internalOpen"]):not([data-component~="ui-menu"][data-ui-menu-state~="inline"]) {
6329
6333
  display: none;
6330
6334
  }
6331
- [data-component~="ui-menu"][popover][data-v-672d5adf] {
6335
+ [data-component~="ui-menu"][popover][data-v-b6bd5ab3] {
6332
6336
  position: fixed;
6333
6337
  inset: auto;
6334
6338
  margin: 0;
@@ -6342,21 +6346,21 @@ svg[data-v-219fa683-s] {
6342
6346
  display var(--ui-motion-fast) allow-discrete,
6343
6347
  overlay var(--ui-motion-fast) allow-discrete;
6344
6348
  }
6345
- [data-component~="ui-menu"][popover][data-v-672d5adf]:popover-open {
6349
+ [data-component~="ui-menu"][popover][data-v-b6bd5ab3]:popover-open {
6346
6350
  opacity: 1;
6347
6351
  transform: translateY(0) scale(1);
6348
6352
  }
6349
6353
  @starting-style {
6350
- [data-component~="ui-menu"][popover][data-v-672d5adf]:popover-open {
6354
+ [data-component~="ui-menu"][popover][data-v-b6bd5ab3]:popover-open {
6351
6355
  opacity: 0;
6352
6356
  transform: translateY(-4px) scale(0.99);
6353
6357
  }
6354
6358
  }
6355
- [data-component~="ui-menu"][hidden][data-v-672d5adf] {
6359
+ [data-component~="ui-menu"][hidden][data-v-b6bd5ab3] {
6356
6360
  display: none;
6357
6361
  }
6358
6362
  @media (prefers-reduced-motion: reduce) {
6359
- [data-component~="ui-menu"][popover][data-v-672d5adf] {
6363
+ [data-component~="ui-menu"][popover][data-v-b6bd5ab3] {
6360
6364
  transition: none;
6361
6365
  }
6362
6366
  }
@@ -6401,7 +6405,7 @@ svg[data-v-219fa683-s] {
6401
6405
  syntax: "*";
6402
6406
  inherits: false;
6403
6407
  }
6404
- [data-component~="ui-menu-item"][data-v-3aab9247] {
6408
+ [data-component~="ui-menu-item"][data-v-32e2a3e1] {
6405
6409
  display: flex;
6406
6410
  align-items: center;
6407
6411
  gap: var(--ui-space-2);
@@ -6433,14 +6437,34 @@ svg[data-v-219fa683-s] {
6433
6437
  background-color var(--ui-motion-fast) var(--ui-motion-ease),
6434
6438
  color var(--ui-motion-fast) var(--ui-motion-ease);
6435
6439
  }
6436
- .label[data-v-3aab9247] {
6440
+
6441
+ /* A named icon has a fixed column; an icon-enabled menu reserves it on every row. */
6442
+ .icon[data-v-32e2a3e1] {
6443
+ display: var(--_ui-default-menu-icon-display, none);
6444
+ align-items: center;
6445
+ justify-content: center;
6446
+ flex: none;
6447
+ inline-size: var(--ui-icon-size-sm);
6448
+ block-size: var(--ui-icon-size-sm);
6449
+ }
6450
+ .icon[data-v-32e2a3e1]:not(:empty) {
6451
+ display: inline-flex;
6452
+ }
6453
+ .icon svg[data-v-32e2a3e1-s] {
6454
+ inline-size: 100%;
6455
+ block-size: 100%;
6456
+ }
6457
+ [data-component~="ui-menu-item"][data-ui-menu-item-state~="tone=danger"][data-v-32e2a3e1] {
6458
+ color: var(--ui-danger);
6459
+ }
6460
+ .label[data-v-32e2a3e1] {
6437
6461
  display: flex;
6438
6462
  align-items: center;
6439
6463
  gap: var(--ui-space-2);
6440
6464
  flex: 1;
6441
6465
  min-inline-size: 0;
6442
6466
  }
6443
- .indicator[data-v-3aab9247] {
6467
+ .indicator[data-v-32e2a3e1] {
6444
6468
  display: inline-flex;
6445
6469
  align-items: center;
6446
6470
  justify-content: center;
@@ -6453,39 +6477,39 @@ svg[data-v-219fa683-s] {
6453
6477
  color: var(--ui-surface);
6454
6478
  --_ui-default-icon-size: 0.75rem;
6455
6479
  }
6456
- [data-component~="ui-menu-item"][data-ui-menu-item-state~="type=action"] .indicator[data-v-3aab9247] {
6480
+ [data-component~="ui-menu-item"][data-ui-menu-item-state~="type=action"] .indicator[data-v-32e2a3e1] {
6457
6481
  display: none;
6458
6482
  }
6459
6483
  [data-component~="ui-menu-item"][data-ui-menu-item-state~="type=checkbox"][aria-checked="true"]
6460
- .indicator[data-v-3aab9247] {
6484
+ .indicator[data-v-32e2a3e1] {
6461
6485
  border-color: var(--ui-accent);
6462
6486
  background: var(--ui-accent);
6463
6487
  }
6464
6488
 
6465
6489
  /* A menu marks its chosen item with a check, as menus conventionally do; a radio circle reads
6466
6490
  as a form control. The empty slot keeps unchosen labels aligned with the chosen one. */
6467
- [data-component~="ui-menu-item"][data-ui-menu-item-state~="type=radio"] .indicator[data-v-3aab9247] {
6491
+ [data-component~="ui-menu-item"][data-ui-menu-item-state~="type=radio"] .indicator[data-v-32e2a3e1] {
6468
6492
  border-color: transparent;
6469
6493
  color: var(--ui-text-secondary);
6470
6494
  }
6471
- .shortcut[data-v-3aab9247] {
6495
+ .shortcut[data-v-32e2a3e1] {
6472
6496
  margin-inline-start: auto;
6473
6497
  color: var(--ui-text-secondary);
6474
6498
  font-size: var(--ui-font-size-sm);
6475
6499
  font-weight: var(--ui-font-normal);
6476
6500
  }
6477
- .shortcut[data-v-3aab9247]:empty {
6501
+ .shortcut[data-v-32e2a3e1]:empty {
6478
6502
  display: none;
6479
6503
  }
6480
6504
 
6481
6505
  /* A <kbd> takes the browser's monospace; the hint reads in the item's own type. */
6482
- .shortcut kbd[data-v-3aab9247-s] {
6506
+ .shortcut kbd[data-v-32e2a3e1-s] {
6483
6507
  font: inherit;
6484
6508
  }
6485
6509
 
6486
6510
  /* Keep the text row at the shared control height where cap trimming is available. */
6487
6511
  @supports (text-box-trim: trim-both) {
6488
- [data-component~="ui-menu-item"][data-v-3aab9247] {
6512
+ [data-component~="ui-menu-item"][data-v-32e2a3e1] {
6489
6513
  min-block-size: var(
6490
6514
  --ui-menu-item-min-block-size,
6491
6515
  var(--_ui-default-menu-item-min-block-size, var(--ui-control-size-md, 2.5rem))
@@ -6494,34 +6518,34 @@ svg[data-v-219fa683-s] {
6494
6518
  text-box-edge: cap alphabetic;
6495
6519
  }
6496
6520
  }
6497
- [data-component~="ui-menu-item"][data-v-3aab9247]:is(:hover, :focus-visible):not([aria-disabled="true"]) {
6521
+ [data-component~="ui-menu-item"][data-v-32e2a3e1]:is(:hover, :focus-visible):not([aria-disabled="true"]) {
6498
6522
  background: var(--ui-menu-item-hover-surface, var(--ui-surface-subtle));
6499
6523
  }
6500
- [data-component~="ui-menu-item"][data-v-3aab9247]:focus-visible {
6524
+ [data-component~="ui-menu-item"][data-v-32e2a3e1]:focus-visible {
6501
6525
  outline: var(--ui-focus-width) solid var(--ui-focus-ring);
6502
6526
  outline-offset: calc(-1 * var(--ui-focus-width));
6503
6527
  }
6504
- [data-component~="ui-menu-item"][aria-disabled="true"][data-v-3aab9247] {
6528
+ [data-component~="ui-menu-item"][aria-disabled="true"][data-v-32e2a3e1] {
6505
6529
  background: var(--ui-disabled-surface);
6506
6530
  color: var(--ui-disabled-text);
6507
6531
  cursor: not-allowed;
6508
6532
  }
6509
- [data-component~="ui-menu-item"][aria-disabled="true"] .indicator[data-v-3aab9247] {
6533
+ [data-component~="ui-menu-item"][aria-disabled="true"] .indicator[data-v-32e2a3e1] {
6510
6534
  border-color: var(--ui-disabled-border);
6511
6535
  background: transparent;
6512
6536
  color: var(--ui-disabled-text);
6513
6537
  }
6514
- [data-component~="ui-menu-item"][aria-disabled="true"] .indicator[data-v-3aab9247]::after {
6538
+ [data-component~="ui-menu-item"][aria-disabled="true"] .indicator[data-v-32e2a3e1]::after {
6515
6539
  background: var(--ui-disabled-text);
6516
6540
  }
6517
6541
  @media (forced-colors: active) {
6518
- [data-component~="ui-menu-item"][data-v-3aab9247]:focus-visible {
6542
+ [data-component~="ui-menu-item"][data-v-32e2a3e1]:focus-visible {
6519
6543
  outline-color: Highlight;
6520
6544
  }
6521
6545
  }
6522
6546
 
6523
6547
  /* A component that sets its display still honours the hidden attribute on its root. */
6524
- [data-component~="ui-menu-item"][hidden][data-v-3aab9247] {
6548
+ [data-component~="ui-menu-item"][hidden][data-v-32e2a3e1] {
6525
6549
  display: none;
6526
6550
  }
6527
6551
 
@@ -6532,7 +6556,7 @@ svg[data-v-219fa683-s] {
6532
6556
  syntax: "*";
6533
6557
  inherits: false;
6534
6558
  }
6535
- [data-component~="ui-meter"][data-v-76fefbc5] {
6559
+ [data-component~="ui-meter"][data-v-c308c037] {
6536
6560
  --_meter-fill: var(--ui-text-muted);
6537
6561
 
6538
6562
  display: inline-block;
@@ -6548,30 +6572,30 @@ svg[data-v-219fa683-s] {
6548
6572
  /* Unseen until forced colours draw it, where the track's own colour is gone. */
6549
6573
  outline: var(--ui-border-width) solid transparent;
6550
6574
  }
6551
- [data-component~="ui-meter"][data-ui-meter-state~="size=sm"][data-v-76fefbc5] {
6575
+ [data-component~="ui-meter"][data-ui-meter-state~="size=sm"][data-v-c308c037] {
6552
6576
  inline-size: var(--ui-meter-inline-size, 5rem);
6553
6577
  block-size: var(--ui-space-1);
6554
6578
  }
6555
- .fill[data-v-76fefbc5] {
6579
+ .fill[data-v-c308c037] {
6556
6580
  display: block;
6557
6581
  block-size: 100%;
6558
6582
  background-color: var(--_meter-fill);
6559
6583
  background-image: linear-gradient(to bottom, rgb(255 255 255 / 0.26), transparent 70%);
6560
6584
  box-shadow: inset 0 1px rgb(255 255 255 / 0.26), inset 0 -1px rgb(0 0 0 / 0.1);
6561
6585
  }
6562
- [data-component~="ui-meter"][data-ui-meter-state~="tone=accent"][data-v-76fefbc5] {
6586
+ [data-component~="ui-meter"][data-ui-meter-state~="tone=accent"][data-v-c308c037] {
6563
6587
  --_meter-fill: var(--ui-accent-solid);
6564
6588
  }
6565
- [data-component~="ui-meter"][data-ui-meter-state~="tone=info"][data-v-76fefbc5] {
6589
+ [data-component~="ui-meter"][data-ui-meter-state~="tone=info"][data-v-c308c037] {
6566
6590
  --_meter-fill: var(--ui-info-solid);
6567
6591
  }
6568
- [data-component~="ui-meter"][data-ui-meter-state~="tone=success"][data-v-76fefbc5] {
6592
+ [data-component~="ui-meter"][data-ui-meter-state~="tone=success"][data-v-c308c037] {
6569
6593
  --_meter-fill: var(--ui-success-solid);
6570
6594
  }
6571
- [data-component~="ui-meter"][data-ui-meter-state~="tone=warning"][data-v-76fefbc5] {
6595
+ [data-component~="ui-meter"][data-ui-meter-state~="tone=warning"][data-v-c308c037] {
6572
6596
  --_meter-fill: var(--ui-warning-solid);
6573
6597
  }
6574
- [data-component~="ui-meter"][data-ui-meter-state~="tone=danger"][data-v-76fefbc5] {
6598
+ [data-component~="ui-meter"][data-ui-meter-state~="tone=danger"][data-v-c308c037] {
6575
6599
  --_meter-fill: var(--ui-danger-solid);
6576
6600
  }
6577
6601
 
@@ -6583,40 +6607,40 @@ svg[data-v-219fa683-s] {
6583
6607
  The count arrives as an attribute, not an inline custom property (which would add a style
6584
6608
  attribute to every meter), so a continuous meter renders exactly as before, and the rules below
6585
6609
  turn it into a number. That caps it at 12, until attr() with a type reads any count in every engine. */
6586
- [data-component~="ui-meter"][data-ui-meter-segments="2"][data-v-76fefbc5] {
6610
+ [data-component~="ui-meter"][data-ui-meter-segments="2"][data-v-c308c037] {
6587
6611
  --_segments: 2;
6588
6612
  }
6589
- [data-component~="ui-meter"][data-ui-meter-segments="3"][data-v-76fefbc5] {
6613
+ [data-component~="ui-meter"][data-ui-meter-segments="3"][data-v-c308c037] {
6590
6614
  --_segments: 3;
6591
6615
  }
6592
- [data-component~="ui-meter"][data-ui-meter-segments="4"][data-v-76fefbc5] {
6616
+ [data-component~="ui-meter"][data-ui-meter-segments="4"][data-v-c308c037] {
6593
6617
  --_segments: 4;
6594
6618
  }
6595
- [data-component~="ui-meter"][data-ui-meter-segments="5"][data-v-76fefbc5] {
6619
+ [data-component~="ui-meter"][data-ui-meter-segments="5"][data-v-c308c037] {
6596
6620
  --_segments: 5;
6597
6621
  }
6598
- [data-component~="ui-meter"][data-ui-meter-segments="6"][data-v-76fefbc5] {
6622
+ [data-component~="ui-meter"][data-ui-meter-segments="6"][data-v-c308c037] {
6599
6623
  --_segments: 6;
6600
6624
  }
6601
- [data-component~="ui-meter"][data-ui-meter-segments="7"][data-v-76fefbc5] {
6625
+ [data-component~="ui-meter"][data-ui-meter-segments="7"][data-v-c308c037] {
6602
6626
  --_segments: 7;
6603
6627
  }
6604
- [data-component~="ui-meter"][data-ui-meter-segments="8"][data-v-76fefbc5] {
6628
+ [data-component~="ui-meter"][data-ui-meter-segments="8"][data-v-c308c037] {
6605
6629
  --_segments: 8;
6606
6630
  }
6607
- [data-component~="ui-meter"][data-ui-meter-segments="9"][data-v-76fefbc5] {
6631
+ [data-component~="ui-meter"][data-ui-meter-segments="9"][data-v-c308c037] {
6608
6632
  --_segments: 9;
6609
6633
  }
6610
- [data-component~="ui-meter"][data-ui-meter-segments="10"][data-v-76fefbc5] {
6634
+ [data-component~="ui-meter"][data-ui-meter-segments="10"][data-v-c308c037] {
6611
6635
  --_segments: 10;
6612
6636
  }
6613
- [data-component~="ui-meter"][data-ui-meter-segments="11"][data-v-76fefbc5] {
6637
+ [data-component~="ui-meter"][data-ui-meter-segments="11"][data-v-c308c037] {
6614
6638
  --_segments: 11;
6615
6639
  }
6616
- [data-component~="ui-meter"][data-ui-meter-segments="12"][data-v-76fefbc5] {
6640
+ [data-component~="ui-meter"][data-ui-meter-segments="12"][data-v-c308c037] {
6617
6641
  --_segments: 12;
6618
6642
  }
6619
- [data-component~="ui-meter"][data-ui-meter-segments][data-v-76fefbc5] {
6643
+ [data-component~="ui-meter"][data-ui-meter-segments][data-v-c308c037] {
6620
6644
  --_meter-gap: var(--ui-space-1);
6621
6645
  --_meter-period: calc((100% + var(--_meter-gap)) / var(--_segments));
6622
6646
  --_meter-segment: calc(var(--_meter-period) - var(--_meter-gap));
@@ -6627,20 +6651,45 @@ svg[data-v-219fa683-s] {
6627
6651
  transparent 0 var(--_meter-period)
6628
6652
  );
6629
6653
  }
6630
- [data-component~="ui-meter"][data-ui-meter-state~="size=sm"][data-ui-meter-segments][data-v-76fefbc5] {
6654
+ [data-component~="ui-meter"][data-ui-meter-state~="size=sm"][data-ui-meter-segments][data-v-c308c037] {
6631
6655
  --_meter-gap: var(--ui-space-0-5);
6632
6656
  }
6633
6657
 
6658
+ /* A categorical distribution uses flex ratios, avoiding rounded percentages and retaining
6659
+ identical geometry before hydration. It has no progress mask or growing-value animation. */
6660
+ [data-component~="ui-meter"][data-ui-meter-state~="variant=distribution"][data-v-c308c037] {
6661
+ display: flex;
6662
+ inline-size: 100%;
6663
+ block-size: var(--ui-space-4);
6664
+ gap: var(--ui-space-0-5);
6665
+ }
6666
+ [data-component~="ui-meter"][data-ui-meter-state~="variant=distribution"][size="sm"][data-v-c308c037] {
6667
+ block-size: var(--ui-space-2);
6668
+ }
6669
+ .part[data-v-c308c037] {
6670
+ flex-basis: 0;
6671
+ min-inline-size: 0;
6672
+ block-size: 100%;
6673
+ }
6674
+ @media (forced-colors: active) {
6675
+ .part[data-v-c308c037] {
6676
+ forced-color-adjust: none;
6677
+ background: CanvasText !important;
6678
+ outline: var(--ui-border-width) solid Canvas;
6679
+ outline-offset: calc(-1 * var(--ui-border-width));
6680
+ }
6681
+ }
6682
+
6634
6683
  /* Forced colours drop backgrounds: draw the fill in the text colour inside the outlined track. */
6635
6684
  @media (forced-colors: active) {
6636
- .fill[data-v-76fefbc5] {
6685
+ .fill[data-v-c308c037] {
6637
6686
  forced-color-adjust: none;
6638
6687
  background: CanvasText;
6639
6688
  }
6640
6689
 
6641
6690
  /* The mask clips the track's outline, so each segment draws its own: the inset shadow draws the
6642
6691
  top and bottom edges and the gradient the ends. */
6643
- [data-component~="ui-meter"][data-ui-meter-segments][data-v-76fefbc5] {
6692
+ [data-component~="ui-meter"][data-ui-meter-segments][data-v-c308c037] {
6644
6693
  forced-color-adjust: none;
6645
6694
  background: repeating-linear-gradient(
6646
6695
  to right,
@@ -6654,7 +6703,7 @@ svg[data-v-219fa683-s] {
6654
6703
  }
6655
6704
 
6656
6705
  /* A component that sets its display still honours the hidden attribute on its root. */
6657
- [data-component~="ui-meter"][hidden][data-v-76fefbc5] {
6706
+ [data-component~="ui-meter"][hidden][data-v-c308c037] {
6658
6707
  display: none;
6659
6708
  }
6660
6709