@scattered-light/loomiere-base-ui 0.7.0 → 0.7.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 (67) hide show
  1. package/README.md +2 -2
  2. package/dist/custom/collection/index.d.ts +7 -1
  3. package/dist/custom/collection/index.js +35 -17
  4. package/dist/custom/collection/index.js.map +1 -1
  5. package/dist/design-system/components/Collection/README.md +1 -1
  6. package/dist/design-system/components/CollectionToolbar/README.md +7 -2
  7. package/dist/design-system/components/DataList/preview.html +171 -171
  8. package/dist/design-system/components/DataTable/preview.html +168 -168
  9. package/dist/design-system/components/bundle.js +5 -5
  10. package/dist/design-system/components/styles.css +141 -58
  11. package/dist/styles/components/Accordion.css +1 -1
  12. package/dist/styles/components/AlertDialog.css +1 -1
  13. package/dist/styles/components/Autocomplete.css +1 -1
  14. package/dist/styles/components/Avatar.css +1 -1
  15. package/dist/styles/components/Button.css +1 -1
  16. package/dist/styles/components/Checkbox.css +1 -1
  17. package/dist/styles/components/CheckboxGroup.css +1 -1
  18. package/dist/styles/components/Collapsible.css +1 -1
  19. package/dist/styles/components/Combobox.css +1 -1
  20. package/dist/styles/components/ContextMenu.css +1 -1
  21. package/dist/styles/components/Dialog.css +1 -1
  22. package/dist/styles/components/Drawer.css +1 -1
  23. package/dist/styles/components/Field.css +1 -1
  24. package/dist/styles/components/Fieldset.css +1 -1
  25. package/dist/styles/components/Form.css +1 -1
  26. package/dist/styles/components/Input.css +1 -1
  27. package/dist/styles/components/Menu.css +1 -1
  28. package/dist/styles/components/Menubar.css +1 -1
  29. package/dist/styles/components/Meter.css +1 -1
  30. package/dist/styles/components/NavigationMenu.css +1 -1
  31. package/dist/styles/components/NumberField.css +1 -1
  32. package/dist/styles/components/OTPField.css +1 -1
  33. package/dist/styles/components/Popover.css +1 -1
  34. package/dist/styles/components/PreviewCard.css +1 -1
  35. package/dist/styles/components/Progress.css +1 -1
  36. package/dist/styles/components/Radio.css +1 -1
  37. package/dist/styles/components/ScrollArea.css +1 -1
  38. package/dist/styles/components/Select.css +1 -1
  39. package/dist/styles/components/Separator.css +1 -1
  40. package/dist/styles/components/Slider.css +1 -1
  41. package/dist/styles/components/Switch.css +1 -1
  42. package/dist/styles/components/Tabs.css +1 -1
  43. package/dist/styles/components/Toast.css +1 -1
  44. package/dist/styles/components/Toggle.css +1 -1
  45. package/dist/styles/components/ToggleGroup.css +1 -1
  46. package/dist/styles/components/Toolbar.css +1 -1
  47. package/dist/styles/components/Tooltip.css +1 -1
  48. package/dist/styles/custom/Badge.css +1 -1
  49. package/dist/styles/custom/Collection.css +2 -2
  50. package/dist/styles/custom/CollectionPagination.css +1 -1
  51. package/dist/styles/custom/CollectionToolbar.css +87 -4
  52. package/dist/styles/custom/DataList.css +1 -1
  53. package/dist/styles/custom/DataTable.css +1 -1
  54. package/dist/styles/custom/DatePicker.css +1 -1
  55. package/dist/styles/custom/EditableList.css +1 -1
  56. package/dist/styles/custom/EmptyState.css +1 -1
  57. package/dist/styles/custom/ListDetail.css +1 -1
  58. package/dist/styles/custom/MoneyField.css +1 -1
  59. package/dist/styles/custom/Splitter.css +1 -1
  60. package/dist/styles/custom/Table.css +1 -1
  61. package/dist/styles/index.css +1 -1
  62. package/dist/styles/reset/accessibility.css +1 -1
  63. package/dist/styles/reset/reset-accessibility.css +1 -1
  64. package/dist/styles/reset/reset-tailwind.css +1 -1
  65. package/dist/styles/reset/reset.css +1 -1
  66. package/dist/styles/tailwind.css +1 -1
  67. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  @import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,400,0..1,0');
2
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
2
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
3
3
  /* Loomiere for Base UI: component styles. Brand-free: every value is a --sl- variable from a
4
4
  Loomiere theme. Load the theme first:
5
5
  @import '<your theme>/tokens.css';
@@ -9,7 +9,7 @@
9
9
  /* Document defaults, in the reset layer so any unlayered rule wins over them, and so layered
10
10
  frameworks (Chakra's recipes, Tailwind's utilities) are not undone by them. */
11
11
  @layer reset {
12
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
12
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
13
13
  /* CSS Reset - Mojave Theme */
14
14
 
15
15
  /* ============================================
@@ -453,7 +453,7 @@ hr {
453
453
  }
454
454
  }
455
455
  @layer reset {
456
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
456
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
457
457
  /* Accessibility — base rules (no theme color dependencies). Theme-specific focus/invalid: accessibility-theme.css */
458
458
 
459
459
  /* Remove default focus; keyboard focus styled in accessibility-theme.css */
@@ -566,7 +566,7 @@ main:focus {
566
566
 
567
567
  }
568
568
  @layer reset {
569
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
569
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
570
570
  /* Focus, invalid, contrast — requires theme tokens (after theme-accessibility.css). */
571
571
 
572
572
  :focus-visible {
@@ -634,7 +634,7 @@ button,
634
634
 
635
635
  }
636
636
  /* Component styles */
637
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
637
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
638
638
  /* Accordion - Mojave Theme
639
639
  *
640
640
  * No component tokens. Hover, press, chevron, divider and motion are the disclosure
@@ -755,7 +755,7 @@ button,
755
755
  overflow: hidden;
756
756
  }
757
757
 
758
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
758
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
759
759
  /* Alert Dialog - Mojave Theme
760
760
  *
761
761
  * No component tokens and no rules of its own. An alert dialog looks exactly like a
@@ -764,7 +764,7 @@ button,
764
764
  * cancel quiet, and a destructive one bold with data-color="error".
765
765
  */
766
766
 
767
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
767
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
768
768
  /* Autocomplete - Mojave Theme
769
769
  *
770
770
  * No component tokens. The input is Input (Input.css), the clear button is an icon
@@ -966,7 +966,7 @@ button,
966
966
  (reset-accessibility.css).
967
967
  ============================================ */
968
968
 
969
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
969
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
970
970
  /* Avatar - Mojave Theme
971
971
  *
972
972
  * A round picture with a ring in the page color, so avatars in a group cut out of each other in
@@ -1074,7 +1074,7 @@ button,
1074
1074
  }
1075
1075
  }
1076
1076
 
1077
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1077
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
1078
1078
  /* Button - Mojave Theme
1079
1079
  *
1080
1080
  * Colors are the brand's emphasis levels, sizes are control.*, text is the trigger
@@ -1224,7 +1224,7 @@ button,
1224
1224
  font-size: var(--sl-icon-size-maximize);
1225
1225
  }
1226
1226
 
1227
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1227
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
1228
1228
  /* Checkbox - Mojave Theme
1229
1229
  * Sizes follow the label: the box is the icon size one tier above the label's text
1230
1230
  * tier (like a button's icon) and the check mark one tier below it.
@@ -1381,7 +1381,7 @@ button,
1381
1381
  border-radius: var(--sl-radius-pill);
1382
1382
  }
1383
1383
 
1384
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1384
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
1385
1385
  /* Checkbox Group - Mojave Theme */
1386
1386
 
1387
1387
  /* Each checkbox row is already a full tap target tall, so the rows sit close. */
@@ -1397,7 +1397,7 @@ button,
1397
1397
  pointer-events: none;
1398
1398
  }
1399
1399
 
1400
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1400
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
1401
1401
  /* Collapsible - Mojave Theme
1402
1402
  *
1403
1403
  * No component tokens. Hover, press, chevron and motion are the disclosure concept
@@ -1513,7 +1513,7 @@ button,
1513
1513
  background: var(--sl-surface-raised);
1514
1514
  }
1515
1515
 
1516
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1516
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
1517
1517
  /* Combobox - Mojave Theme
1518
1518
  *
1519
1519
  * No component tokens. The input is Input (Input.css); the chips box is a field; the
@@ -1998,7 +1998,7 @@ button,
1998
1998
  color: var(--sl-text-tertiary);
1999
1999
  }
2000
2000
 
2001
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
2001
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
2002
2002
  /* Context Menu - Mojave Theme
2003
2003
  *
2004
2004
  * No component tokens. Opens on right-click; the trigger area only sets the cursor. The popup is the popup concept, rows are item rows at the
@@ -2167,7 +2167,7 @@ button,
2167
2167
  stroke-width: var(--sl-stroke-default);
2168
2168
  }
2169
2169
 
2170
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
2170
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
2171
2171
  /* Dialog and Alert dialog - Mojave Theme
2172
2172
  *
2173
2173
  * Both are centered modals built from the modal concept (tokens/semantic/modal.json):
@@ -2313,7 +2313,7 @@ button,
2313
2313
  margin-top: var(--sl-modal-actions-spacing);
2314
2314
  }
2315
2315
 
2316
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
2316
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
2317
2317
  /* Drawer - a panel that slides in from an edge and can be swiped away.
2318
2318
  The surface, scrim, heading and motion are the modal concept's (--sl-modal-*), so a
2319
2319
  drawer reads as a dialog's sibling; only its size and grab bar are its own
@@ -2440,7 +2440,7 @@ button,
2440
2440
  color: var(--sl-modal-description-color);
2441
2441
  }
2442
2442
 
2443
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
2443
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
2444
2444
  /* Field - Mojave Theme
2445
2445
  *
2446
2446
  * Label, control, description and error. No component tokens: spacing is the field
@@ -2501,7 +2501,7 @@ textarea.FieldControl {
2501
2501
  height: auto;
2502
2502
  }
2503
2503
 
2504
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
2504
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
2505
2505
  /* Fieldset - Mojave Theme
2506
2506
  *
2507
2507
  * No component tokens: a titled group of fields, spaced by the stack gaps, with
@@ -2543,7 +2543,7 @@ textarea.FieldControl {
2543
2543
  color: var(--sl-text-secondary);
2544
2544
  }
2545
2545
 
2546
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
2546
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
2547
2547
  /* Form - Mojave Theme
2548
2548
  *
2549
2549
  * No component tokens: fields stack with the large block space, and the action
@@ -2563,7 +2563,7 @@ textarea.FieldControl {
2563
2563
  margin-top: var(--sl-space-block-md);
2564
2564
  }
2565
2565
 
2566
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
2566
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
2567
2567
  /* Input - Mojave Theme
2568
2568
  *
2569
2569
  * No component tokens: the look is the field concept (tokens/semantic/field.json),
@@ -2700,7 +2700,7 @@ textarea.FieldControl {
2700
2700
  padding-inline: var(--sl-control-padding-inline-lg);
2701
2701
  }
2702
2702
 
2703
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
2703
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
2704
2704
  /* Menu - Mojave Theme
2705
2705
  *
2706
2706
  * No component tokens. The trigger is a Button. The popup is the popup concept, rows are item rows at the
@@ -2849,7 +2849,7 @@ textarea.FieldControl {
2849
2849
  color: var(--sl-text-tertiary);
2850
2850
  }
2851
2851
 
2852
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
2852
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
2853
2853
  /* Menubar - Mojave Theme
2854
2854
  *
2855
2855
  * No component tokens. A row of quiet triggers, each opening a menu. The popup is the popup concept, rows are item rows at the
@@ -3042,7 +3042,7 @@ textarea.FieldControl {
3042
3042
  color: var(--sl-text-tertiary);
3043
3043
  }
3044
3044
 
3045
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
3045
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
3046
3046
  /* Meter - Mojave Theme
3047
3047
  *
3048
3048
  * A gauge (tokens/semantic/gauge.json). The fill is the solid color of the scope around it:
@@ -3105,7 +3105,7 @@ textarea.FieldControl {
3105
3105
  height: var(--sl-gauge-height-lg);
3106
3106
  }
3107
3107
 
3108
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
3108
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
3109
3109
  /* Navigation Menu - Mojave Theme
3110
3110
  *
3111
3111
  * The strip is the bar concept, the panel is the popup concept and each link is an item
@@ -3525,7 +3525,7 @@ textarea.FieldControl {
3525
3525
  width: 100%;
3526
3526
  }
3527
3527
 
3528
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
3528
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
3529
3529
  /* Number Field - Mojave Theme
3530
3530
  *
3531
3531
  * No component tokens. The input is Input (Input.css) and the label, description and
@@ -3616,7 +3616,7 @@ textarea.FieldControl {
3616
3616
  user-select: none;
3617
3617
  }
3618
3618
 
3619
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
3619
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
3620
3620
  /* OTP Field - Mojave Theme
3621
3621
  *
3622
3622
  * One-time code entry: a row of single-character inputs. Each slot is the same control as Input
@@ -3679,7 +3679,7 @@ textarea.FieldControl {
3679
3679
  letter-spacing: var(--sl-font-body-magnify-letter-spacing);
3680
3680
  }
3681
3681
 
3682
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
3682
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
3683
3683
  /* Popover - Mojave Theme */
3684
3684
 
3685
3685
  /* ============================================
@@ -3844,7 +3844,7 @@ textarea.FieldControl {
3844
3844
  fill: var(--sl-popup-arrow-stroke);
3845
3845
  }
3846
3846
 
3847
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
3847
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
3848
3848
  /* Preview Card - Mojave Theme
3849
3849
  *
3850
3850
  * The popup concept (surface, arrow, motion) with a title-magnify title and condense
@@ -3961,7 +3961,7 @@ textarea.FieldControl {
3961
3961
  fill: var(--sl-popup-arrow-stroke);
3962
3962
  }
3963
3963
 
3964
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
3964
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
3965
3965
  /* Progress - Mojave Theme
3966
3966
  *
3967
3967
  * A gauge (tokens/semantic/gauge.json), the same bar as Meter. The fill is the solid color of
@@ -4038,7 +4038,7 @@ textarea.FieldControl {
4038
4038
  height: var(--sl-gauge-height-lg);
4039
4039
  }
4040
4040
 
4041
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
4041
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
4042
4042
  /* Radio - Mojave Theme
4043
4043
  * Same box as Checkbox, always round. Sizes follow the label the same way, and the
4044
4044
  * dot is a share of the circle (check.dot-scale).
@@ -4190,7 +4190,7 @@ textarea.FieldControl {
4190
4190
  gap: var(--sl-gap-stack-sm);
4191
4191
  }
4192
4192
 
4193
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
4193
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
4194
4194
  /* Scroll Area - Mojave Theme
4195
4195
  *
4196
4196
  * The scrollbar is the content scrollbar (content.scrollbar-*): a track that stays clear until
@@ -4272,7 +4272,7 @@ textarea.FieldControl {
4272
4272
  background: transparent;
4273
4273
  }
4274
4274
 
4275
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
4275
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
4276
4276
  /* Select - Mojave Theme
4277
4277
  *
4278
4278
  * The trigger is a field (the field pattern, control sizes, the base text style); the
@@ -4557,7 +4557,7 @@ textarea.FieldControl {
4557
4557
  stroke-width: var(--sl-stroke-default);
4558
4558
  }
4559
4559
 
4560
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
4560
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
4561
4561
  /* Separator - Mojave Theme
4562
4562
  *
4563
4563
  * A hairline in the everyday divider color (border.default), one stroke thick, with a step of
@@ -4585,7 +4585,7 @@ textarea.FieldControl {
4585
4585
  margin-inline: var(--sl-space-4);
4586
4586
  }
4587
4587
 
4588
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
4588
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
4589
4589
  /* Slider - Mojave Theme
4590
4590
  *
4591
4591
  * A slider is a gauge you can drag: the track, fill and label row are gauge.* (the same bar as
@@ -4751,7 +4751,7 @@ textarea.FieldControl {
4751
4751
  transform: translate(-50%, 50%);
4752
4752
  }
4753
4753
 
4754
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
4754
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
4755
4755
  /* Switch - Mojave Theme
4756
4756
  * Switch keeps its track sizes. The thumb, its travel and the ON/OFF text are
4757
4757
  * worked out from them: the thumb fills the track's height inside the padding,
@@ -4917,7 +4917,7 @@ textarea.FieldControl {
4917
4917
  color: var(--sl-text-disabled);
4918
4918
  }
4919
4919
 
4920
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
4920
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
4921
4921
  /* Tabs - Mojave Theme
4922
4922
  *
4923
4923
  * No component tokens. The divider, the selected line and color, hover and the disabled
@@ -5053,7 +5053,7 @@ textarea.FieldControl {
5053
5053
  padding: var(--sl-space-6);
5054
5054
  }
5055
5055
 
5056
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
5056
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
5057
5057
  /* Toast - Mojave Theme
5058
5058
  *
5059
5059
  * A toast is a notice (tokens/semantic/notice.json) on the popup surface. A toast whose type
@@ -5289,7 +5289,7 @@ textarea.FieldControl {
5289
5289
  flex-shrink: 0;
5290
5290
  }
5291
5291
 
5292
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
5292
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
5293
5293
  /* Toggle - Mojave Theme
5294
5294
  * A toggle is a button that stays pressed: the same heights, padding, gap and
5295
5295
  * trigger text style as a button of the same size. Pressed, it takes its emphasis level's
@@ -5401,7 +5401,7 @@ textarea.FieldControl {
5401
5401
  height: var(--sl-icon-size-maximize);
5402
5402
  }
5403
5403
 
5404
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
5404
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
5405
5405
  /* Toggle Group - Mojave Theme
5406
5406
  *
5407
5407
  * No component tokens. The strip is the bar concept (tokens/semantic/bar.json); the
@@ -5422,7 +5422,7 @@ textarea.FieldControl {
5422
5422
  border-radius: var(--sl-radius-item);
5423
5423
  }
5424
5424
 
5425
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
5425
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
5426
5426
  /* Toolbar - Mojave Theme
5427
5427
  *
5428
5428
  * The strip is the bar concept (tokens/semantic/bar.json). Buttons, toggles, selects
@@ -5484,7 +5484,7 @@ textarea.FieldControl {
5484
5484
  max-width: var(--sl-toolbar-input-max-width);
5485
5485
  }
5486
5486
 
5487
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
5487
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
5488
5488
  /* Tooltip - Mojave Theme
5489
5489
  *
5490
5490
  * The inverse surface (surface.inverse, text.on-inverse-surface) with condense text, so a tooltip
@@ -5545,7 +5545,7 @@ textarea.FieldControl {
5545
5545
  }
5546
5546
 
5547
5547
  /* Custom components: not Base UI parts. Built from existing concepts and tokens. */
5548
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
5548
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
5549
5549
  /* Badge
5550
5550
  *
5551
5551
  * A status or count label. Not a Base UI part, and not interactive: no hover or focus.
@@ -5650,7 +5650,7 @@ textarea.FieldControl {
5650
5650
  height: var(--sl-badge-dot-base);
5651
5651
  }
5652
5652
 
5653
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
5653
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
5654
5654
  /*
5655
5655
  * DatePicker: a field that opens a calendar for one date or a period.
5656
5656
  * Not a Base UI part. The popup is Popover on a wide viewport and Drawer
@@ -6223,7 +6223,7 @@ textarea.FieldControl {
6223
6223
  flex-basis: 100%;
6224
6224
  }
6225
6225
 
6226
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
6226
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
6227
6227
  /* Money field
6228
6228
  *
6229
6229
  * An amount of money, built on Number field. The value is an integer in minor units
@@ -6568,7 +6568,7 @@ textarea.FieldControl {
6568
6568
  letter-spacing: var(--sl-font-body-base-letter-spacing);
6569
6569
  }
6570
6570
 
6571
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
6571
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
6572
6572
  /* ListDetail
6573
6573
  *
6574
6574
  * The detail of one item, next to its list. Not a Base UI part. It is a Splitter
@@ -6695,7 +6695,7 @@ textarea.FieldControl {
6695
6695
  background: transparent;
6696
6696
  }
6697
6697
 
6698
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
6698
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
6699
6699
  /* Splitter
6700
6700
  *
6701
6701
  * Two or more panels and a handle between them. Not a Base UI part. It follows the
@@ -6903,7 +6903,7 @@ textarea.FieldControl {
6903
6903
  background: var(--sl-border-default);
6904
6904
  }
6905
6905
 
6906
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
6906
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
6907
6907
  /* EmptyState
6908
6908
  *
6909
6909
  * The block a page, pane, table, list or popup shows when it has nothing to show.
@@ -7159,7 +7159,7 @@ textarea.FieldControl {
7159
7159
  color: inherit;
7160
7160
  }
7161
7161
 
7162
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
7162
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
7163
7163
  /* Table - Mojave Theme
7164
7164
  *
7165
7165
  * Base UI has no table, so this styles the native <table class="Table"> elements with the
@@ -7331,23 +7331,28 @@ textarea.FieldControl {
7331
7331
  color: inherit;
7332
7332
  }
7333
7333
 
7334
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
7334
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
7335
7335
  /* Collection
7336
7336
  *
7337
7337
  * DataTable, DataList, the toolbar and the pagination, in one place so the two views
7338
7338
  * share the table concept. Sections: toolbar, table additions, groups, list, pagination, sizes.
7339
7339
  * Each section is its own file so the design system can name the part. This file brings them in.
7340
7340
  *
7341
- * The selection bar replaces the trailing controls (filters, sort, clear, actions) and leaves
7341
+ * The selection bar replaces the trailing controls (filters, sort, actions) and leaves
7342
7342
  * the tabs and the search where they are, so selecting rows does not grow the toolbar.
7343
7343
  */
7344
7344
 
7345
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
7345
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
7346
7346
  /* Collection toolbar
7347
7347
  *
7348
7348
  * The wrap follows the toolbar's own width, not the window: a table in a narrow pane wraps
7349
- * even when the page is wide. Search takes the full width first. Filters wrap under it.
7349
+ * even when the page is wide. Search grows to fill the row beside the trailing controls, and
7350
+ * wraps to its own line before it shrinks under collection.search-min-width. Under the narrow
7351
+ * width it takes the full row and filters wrap under it.
7350
7352
  * A container query cannot read the width token, so the component also sets data-narrow.
7353
+ *
7354
+ * The search icon and the clear button sit inside the field. The browser's own search cancel
7355
+ * is hidden by the reset, so the clear button is the only one, in every browser.
7351
7356
  */
7352
7357
 
7353
7358
  .CollectionToolbar {
@@ -7359,7 +7364,6 @@ textarea.FieldControl {
7359
7364
  }
7360
7365
 
7361
7366
  .CollectionToolbarMain,
7362
- .CollectionToolbarTrailing,
7363
7367
  .CollectionSelectionBar,
7364
7368
  .CollectionSort {
7365
7369
  display: flex;
@@ -7372,11 +7376,90 @@ textarea.FieldControl {
7372
7376
  display: flex;
7373
7377
  align-items: center;
7374
7378
  gap: var(--sl-collection-toolbar-gap);
7379
+ flex: 1 1 0;
7380
+ min-width: min(100%, var(--sl-collection-search-min-width));
7381
+ }
7382
+
7383
+ .CollectionSearchField {
7384
+ position: relative;
7385
+ flex: 1 1 auto;
7375
7386
  min-width: 0;
7376
7387
  }
7377
7388
 
7378
- .CollectionSearch .Input {
7389
+ /* Scoped to the field so it wins over Input.css, which loads later. */
7390
+ .CollectionSearchField .Input {
7379
7391
  min-width: 0;
7392
+ padding-inline-start: calc(var(--sl-control-padding-inline) + var(--sl-icon-size-magnify) + var(--sl-space-2));
7393
+ }
7394
+
7395
+ .CollectionSearchField[data-filled] .Input {
7396
+ padding-inline-end: calc(var(--sl-control-padding-inline) + var(--sl-icon-button-size));
7397
+ }
7398
+
7399
+ .CollectionSearchIcon {
7400
+ position: absolute;
7401
+ inset-inline-start: var(--sl-control-padding-inline);
7402
+ inset-block-start: 50%;
7403
+ transform: translateY(-50%);
7404
+ width: var(--sl-icon-size-magnify);
7405
+ height: var(--sl-icon-size-magnify);
7406
+ font-size: var(--sl-icon-size-magnify);
7407
+ line-height: 1;
7408
+ color: var(--sl-field-affix-color);
7409
+ pointer-events: none;
7410
+ }
7411
+
7412
+ .CollectionSearchClear {
7413
+ display: flex;
7414
+ align-items: center;
7415
+ justify-content: center;
7416
+ flex-shrink: 0;
7417
+ width: var(--sl-icon-button-size);
7418
+ height: var(--sl-icon-button-size);
7419
+ padding: 0;
7420
+ border: none;
7421
+ border-radius: var(--sl-icon-button-radius);
7422
+ background: transparent;
7423
+ color: var(--sl-icon-button-color);
7424
+ cursor: pointer;
7425
+ outline: none;
7426
+ transition: var(--sl-icon-button-transition);
7427
+ position: absolute;
7428
+ inset-inline-end: var(--sl-space-3);
7429
+ inset-block-start: 50%;
7430
+ transform: translateY(-50%);
7431
+ font-size: var(--sl-icon-size-magnify);
7432
+ line-height: 1;
7433
+ }
7434
+
7435
+ .CollectionSearchClear:hover {
7436
+ background: var(--sl-icon-button-background-hover);
7437
+ color: var(--sl-icon-button-color-hover);
7438
+ }
7439
+
7440
+ .CollectionSearchClear:focus-visible {
7441
+ outline: var(--sl-focus-outline);
7442
+ outline-offset: var(--sl-focus-outline-offset);
7443
+ box-shadow: 0 0 0 var(--sl-focus-halo-spread) var(--sl-focus-halo-color);
7444
+ }
7445
+
7446
+ /* The trailing controls join the main row one by one, so each keeps its own width and
7447
+ wraps under the search on its own rather than squeezing. Search takes what is left. */
7448
+ .CollectionToolbarTrailing {
7449
+ display: contents;
7450
+ }
7451
+
7452
+ .CollectionSelectionBar {
7453
+ flex: 0 0 auto;
7454
+ max-width: 100%;
7455
+ }
7456
+
7457
+ /* Select.css and Combobox.css fill their container. In the row they size to their text. */
7458
+ .CollectionToolbarMain .SelectTrigger,
7459
+ .CollectionToolbarMain .ComboboxInputWrapper {
7460
+ flex: none;
7461
+ width: auto;
7462
+ max-width: 100%;
7380
7463
  }
7381
7464
 
7382
7465
  .CollectionToolbarActions {
@@ -7400,7 +7483,7 @@ textarea.FieldControl {
7400
7483
  letter-spacing: var(--sl-font-body-condense-letter-spacing);
7401
7484
  }
7402
7485
 
7403
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
7486
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
7404
7487
  /* DataTable additions on top of .Table.
7405
7488
  *
7406
7489
  * Sort buttons fill the header cell and inherit its hover, so old aria-sort markup keeps
@@ -7521,7 +7604,7 @@ textarea.FieldControl {
7521
7604
  color: var(--sl-table-subtle-color);
7522
7605
  }
7523
7606
 
7524
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
7607
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
7525
7608
  /* DataList
7526
7609
  *
7527
7610
  * The same rows as the table, in one container with the table's borders, hover, selected
@@ -7645,7 +7728,7 @@ textarea.FieldControl {
7645
7728
  transition: opacity var(--sl-duration-fast) var(--sl-easing-default);
7646
7729
  }
7647
7730
 
7648
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
7731
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
7649
7732
  /* Pagination
7650
7733
  *
7651
7734
  * Not tied to a collection. Anything with a page, a page count and a total can use it.
@@ -7670,7 +7753,7 @@ textarea.FieldControl {
7670
7753
  margin: 0;
7671
7754
  }
7672
7755
 
7673
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
7756
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
7674
7757
  /* EditableList
7675
7758
  *
7676
7759
  * One table at every width, so a field is not submitted twice. Under the stack width each
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
2
2
  /* Accordion - Mojave Theme
3
3
  *
4
4
  * No component tokens. Hover, press, chevron, divider and motion are the disclosure
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
2
2
  /* Alert Dialog - Mojave Theme
3
3
  *
4
4
  * No component tokens and no rules of its own. An alert dialog looks exactly like a
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
2
2
  /* Autocomplete - Mojave Theme
3
3
  *
4
4
  * No component tokens. The input is Input (Input.css), the clear button is an icon
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
2
2
  /* Avatar - Mojave Theme
3
3
  *
4
4
  * A round picture with a ring in the page color, so avatars in a group cut out of each other in
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
2
2
  /* Button - Mojave Theme
3
3
  *
4
4
  * Colors are the brand's emphasis levels, sizes are control.*, text is the trigger
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
2
2
  /* Checkbox - Mojave Theme
3
3
  * Sizes follow the label: the box is the icon size one tier above the label's text
4
4
  * tier (like a button's icon) and the check mark one tier below it.
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
2
2
  /* Checkbox Group - Mojave Theme */
3
3
 
4
4
  /* Each checkbox row is already a full tap target tall, so the rows sit close. */
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
2
2
  /* Collapsible - Mojave Theme
3
3
  *
4
4
  * No component tokens. Hover, press, chevron and motion are the disclosure concept
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
2
2
  /* Combobox - Mojave Theme
3
3
  *
4
4
  * No component tokens. The input is Input (Input.css); the chips box is a field; the
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
2
2
  /* Context Menu - Mojave Theme
3
3
  *
4
4
  * No component tokens. Opens on right-click; the trigger area only sets the cursor. The popup is the popup concept, rows are item rows at the
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
2
2
  /* Dialog and Alert dialog - Mojave Theme
3
3
  *
4
4
  * Both are centered modals built from the modal concept (tokens/semantic/modal.json):
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.7.1 · styles for @base-ui/react 1.9.0 */
2
2
  /* Drawer - a panel that slides in from an edge and can be swiped away.
3
3
  The surface, scrim, heading and motion are the modal concept's (--sl-modal-*), so a
4
4
  drawer reads as a dialog's sibling; only its size and grab bar are its own