@scattered-light/loomiere-mojave 0.10.0 → 0.11.0

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.
@@ -1,6 +1,6 @@
1
1
  # SideNav
2
2
 
3
- Loomiere component, not part of Base UI. The column of links down the side of a workspace. Rows are ruled apart with a hairline; the current row (aria-current="page") sits on the raised surface with a rule under it in the working-paper ink; counts are figures; group headings are caps labels. SideNavToggle is a small round button on the column's edge, whose chevron turns with the state. The parent sets the width and must not clip the toggle (overflow: visible), since it hangs over the edge. Tokens: side-nav.* (tokens/component/side-nav.json).
3
+ Loomiere component, not part of Base UI. The column of links down the side of a workspace. Rows are ruled apart with a hairline; the current row (aria-current="page") sits on the raised surface with a rule under it in the working-paper ink; counts are figures; group headings are caps labels. SideNavToggle is a small tab-shaped handle on the column's edge, whose chevron turns with the state. The parent sets the width and must not clip the toggle (overflow: visible), since it hangs over the edge. Tokens: side-nav.* (tokens/component/side-nav.json).
4
4
 
5
5
  Use `Loomiere.SideNav`, this package's component: it puts the class names on for you (`import { SideNav } from '@scattered-light/loomiere-base-ui'`, or from `@scattered-light/loomiere-base-ui/custom`).
6
6
 
@@ -1903,9 +1903,10 @@
1903
1903
  --sl-side-nav-item-gap: var(--sl-space-2); /** Space between a row's label and its count. */
1904
1904
  --sl-side-nav-indicator-width: var(--sl-stroke-medium); /** The line under the current row. */
1905
1905
  --sl-side-nav-group-padding-top: var(--sl-space-5); /** Space above a group heading. */
1906
- --sl-side-nav-toggle-size: var(--sl-space-6); /** The collapse button's width and height. It sits on the column's edge. */
1907
- --sl-side-nav-toggle-offset: var(--sl-space-4); /** Distance of the collapse button from the top of the column. */
1908
- --sl-side-nav-collapsed-width: var(--sl-space-11); /** Width of the column when it is collapsed, wide enough for the collapse button. */
1906
+ --sl-side-nav-toggle-width: var(--sl-space-6); /** The collapse handle's width. It straddles the column's edge. */
1907
+ --sl-side-nav-toggle-height: var(--sl-space-11); /** The collapse handle's height, a tall tab on the column's edge. */
1908
+ --sl-side-nav-toggle-offset: var(--sl-space-7); /** Distance of the collapse button from the top of the column. */
1909
+ --sl-side-nav-collapsed-width: var(--sl-space-11); /** Width of the column when it is collapsed, wide enough for the collapse handle. */
1909
1910
  --sl-slider-thumb-size: var(--sl-space-5); /** Knob diameter, big enough to grab with a finger on a 4px track. */
1910
1911
  --sl-splitter-handle-hit-size: var(--sl-a11y-min-touch-target); /** The part a finger grabs. The line stays one stroke. A fine pointer uses a11y.min-target (24px) instead, so the grab area does not cover the panel's scrollbar. Coarse pointers keep this 44px. */
1911
1912
  --sl-splitter-grip-size: var(--sl-space-1); /** 4px. The diameter of one grip dot. Small enough to sit on the hairline without becoming a second control. */
@@ -2179,6 +2180,7 @@
2179
2180
  --sl-sheet-border-width: var(--sl-stroke-default); /** Thickness of the sides and bottom. */
2180
2181
  --sl-sheet-radius: var(--sl-radius-surface); /** Corners, like any card or panel. The top corners stay square under a tab label, so the tab sits flush on the rule. */
2181
2182
  --sl-side-nav-item-height: var(--sl-control-height-md); /** Least height of a row: the regular control height, so a row is as tall as a button. */
2183
+ --sl-side-nav-toggle-radius: var(--sl-radius-control); /** The collapse handle's corners. */
2182
2184
  --sl-splitter-handle-size: var(--sl-stroke-default); /** The visible separator. One stroke, the same hairline as Separator, so a splitter reads as a divider you can grab. */
2183
2185
  --sl-focus-shadow-3px-error: 0 0 0 3px var(--sl-status-error); /** Focus halo for a field with an error. */
2184
2186
  --sl-calendar-day-color: var(--sl-text-primary); /** A day in the month being shown. */
@@ -2279,6 +2281,7 @@
2279
2281
  --sl-status-level-error-bold-fg: var(--sl-scope-error-on-solid); /** bold in error: solid in error */
2280
2282
  --sl-description-list-value-color: var(--sl-text-primary); /** Values. */
2281
2283
  --sl-side-nav-item-color: var(--sl-text-primary); /** A row's text. */
2284
+ --sl-side-nav-toggle-border-color: var(--sl-text-primary); /** The collapse handle's outline and chevron. It fills with this color on hover. */
2282
2285
  --sl-stat-figure-figure-color: var(--sl-text-primary); /** The figure's color. */
2283
2286
  --sl-focus-shadow-3px-primary: 0 0 0 3px var(--sl-interactive-tint-hover); /** Soft focus halo for inputs. */
2284
2287
  --sl-focus-shadow-3px-primary-soft: 0 0 0 3px var(--sl-interactive-tint-active); /** Slightly stronger focus halo for inputs on tinted surfaces. */
@@ -2383,8 +2386,7 @@
2383
2386
  --sl-side-nav-count-color: var(--sl-text-accent); /** A count at the end of a row, such as items open. Accent text so it asks for attention. */
2384
2387
  --sl-side-nav-count-color-quiet: var(--sl-text-secondary); /** A count that is only information (tone="quiet"), such as a total. */
2385
2388
  --sl-side-nav-group-label-color: var(--sl-text-secondary); /** A group heading's caps label. */
2386
- --sl-side-nav-toggle-background: var(--sl-surface-raised); /** The collapse button's fill. */
2387
- --sl-side-nav-toggle-border-color: var(--sl-border-strong); /** The collapse button's outline. */
2389
+ --sl-side-nav-toggle-background: var(--sl-surface-raised); /** The collapse handle's fill. */
2388
2390
  --sl-stat-figure-figure-color-accent: var(--sl-text-accent); /** The figure's color at tone="accent", for a figure that asks for action (open questions, items to review). */
2389
2391
  --sl-stat-figure-label-color: var(--sl-text-secondary); /** The caps label above the figure. */
2390
2392
  --sl-stat-figure-caption-color: var(--sl-text-secondary); /** The caption under the figure. */
@@ -5923,7 +5925,7 @@
5923
5925
  --sl-side-nav-count-color-quiet: var(--sl-text-secondary);
5924
5926
  --sl-side-nav-group-label-color: var(--sl-text-secondary);
5925
5927
  --sl-side-nav-toggle-background: var(--sl-surface-raised);
5926
- --sl-side-nav-toggle-border-color: var(--sl-border-strong);
5928
+ --sl-side-nav-toggle-border-color: var(--sl-text-primary);
5927
5929
  --sl-stat-figure-figure-color: var(--sl-text-primary);
5928
5930
  --sl-stat-figure-figure-color-accent: var(--sl-text-accent);
5929
5931
  --sl-stat-figure-underline-color: var(--sl-rule-color);
@@ -6107,7 +6109,7 @@
6107
6109
  --sl-side-nav-count-color-quiet: var(--sl-text-secondary);
6108
6110
  --sl-side-nav-group-label-color: var(--sl-text-secondary);
6109
6111
  --sl-side-nav-toggle-background: var(--sl-surface-raised);
6110
- --sl-side-nav-toggle-border-color: var(--sl-border-strong);
6112
+ --sl-side-nav-toggle-border-color: var(--sl-text-primary);
6111
6113
  --sl-stat-figure-figure-color: var(--sl-text-primary);
6112
6114
  --sl-stat-figure-figure-color-accent: var(--sl-text-accent);
6113
6115
  --sl-stat-figure-underline-color: var(--sl-rule-color);
@@ -6291,7 +6293,7 @@
6291
6293
  --sl-side-nav-count-color-quiet: var(--sl-text-secondary);
6292
6294
  --sl-side-nav-group-label-color: var(--sl-text-secondary);
6293
6295
  --sl-side-nav-toggle-background: var(--sl-surface-raised);
6294
- --sl-side-nav-toggle-border-color: var(--sl-border-strong);
6296
+ --sl-side-nav-toggle-border-color: var(--sl-text-primary);
6295
6297
  --sl-stat-figure-figure-color: var(--sl-text-primary);
6296
6298
  --sl-stat-figure-figure-color-accent: var(--sl-text-accent);
6297
6299
  --sl-stat-figure-underline-color: var(--sl-rule-color);
@@ -6657,7 +6659,7 @@
6657
6659
  }
6658
6660
 
6659
6661
 
6660
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
6662
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
6661
6663
  /* Loomiere for Base UI: component styles. Brand-free: every value is a --sl- variable from a
6662
6664
  Loomiere theme. Load the theme first:
6663
6665
  @import '<your theme>/tokens.css';
@@ -6667,7 +6669,7 @@
6667
6669
  /* Document defaults, in the reset layer so any unlayered rule wins over them, and so layered
6668
6670
  frameworks (Chakra's recipes, Tailwind's utilities) are not undone by them. */
6669
6671
  @layer reset {
6670
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
6672
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
6671
6673
  /* CSS Reset - Mojave Theme */
6672
6674
 
6673
6675
  /* ============================================
@@ -7111,7 +7113,7 @@ hr {
7111
7113
  }
7112
7114
  }
7113
7115
  @layer reset {
7114
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
7116
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
7115
7117
  /* Accessibility — base rules (no theme color dependencies). Theme-specific focus/invalid: accessibility-theme.css */
7116
7118
 
7117
7119
  /* Remove default focus; keyboard focus styled in accessibility-theme.css */
@@ -7224,7 +7226,7 @@ main:focus {
7224
7226
 
7225
7227
  }
7226
7228
  @layer reset {
7227
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
7229
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
7228
7230
  /* Focus, invalid, contrast — requires theme tokens (after theme-accessibility.css). */
7229
7231
 
7230
7232
  :focus-visible {
@@ -7292,7 +7294,7 @@ button,
7292
7294
 
7293
7295
  }
7294
7296
  /* Component styles */
7295
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
7297
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
7296
7298
  /* Accordion - Mojave Theme
7297
7299
  *
7298
7300
  * No component tokens. Hover, press, chevron, divider and motion are the disclosure
@@ -7413,7 +7415,7 @@ button,
7413
7415
  overflow: hidden;
7414
7416
  }
7415
7417
 
7416
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
7418
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
7417
7419
  /* Alert Dialog - Mojave Theme
7418
7420
  *
7419
7421
  * No component tokens and no rules of its own. An alert dialog looks exactly like a
@@ -7422,7 +7424,7 @@ button,
7422
7424
  * cancel quiet, and a destructive one bold with data-color="error".
7423
7425
  */
7424
7426
 
7425
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
7427
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
7426
7428
  /* Autocomplete - Mojave Theme
7427
7429
  *
7428
7430
  * No component tokens. The input is Input (Input.css), the clear button is an icon
@@ -7624,7 +7626,7 @@ button,
7624
7626
  (reset-accessibility.css).
7625
7627
  ============================================ */
7626
7628
 
7627
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
7629
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
7628
7630
  /* Avatar - Mojave Theme
7629
7631
  *
7630
7632
  * A round picture with a ring in the page color, so avatars in a group cut out of each other in
@@ -7732,7 +7734,7 @@ button,
7732
7734
  }
7733
7735
  }
7734
7736
 
7735
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
7737
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
7736
7738
  /* Button - Mojave Theme
7737
7739
  *
7738
7740
  * Colors are the brand's emphasis levels, sizes are control.*, text is the trigger
@@ -7882,7 +7884,7 @@ button,
7882
7884
  font-size: var(--sl-icon-size-maximize);
7883
7885
  }
7884
7886
 
7885
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
7887
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
7886
7888
  /* Checkbox - Mojave Theme
7887
7889
  * Sizes follow the label: the box is the icon size one tier above the label's text
7888
7890
  * tier (like a button's icon) and the check mark one tier below it.
@@ -8039,7 +8041,7 @@ button,
8039
8041
  border-radius: var(--sl-radius-pill);
8040
8042
  }
8041
8043
 
8042
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
8044
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
8043
8045
  /* Checkbox Group - Mojave Theme */
8044
8046
 
8045
8047
  /* Each checkbox row is already a full tap target tall, so the rows sit close. */
@@ -8055,7 +8057,7 @@ button,
8055
8057
  pointer-events: none;
8056
8058
  }
8057
8059
 
8058
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
8060
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
8059
8061
  /* Collapsible - Mojave Theme
8060
8062
  *
8061
8063
  * No component tokens. Hover, press, chevron and motion are the disclosure concept
@@ -8171,7 +8173,7 @@ button,
8171
8173
  background: var(--sl-surface-raised);
8172
8174
  }
8173
8175
 
8174
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
8176
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
8175
8177
  /* Combobox - Mojave Theme
8176
8178
  *
8177
8179
  * No component tokens. The input is Input (Input.css); the chips box is a field; the
@@ -8656,7 +8658,7 @@ button,
8656
8658
  color: var(--sl-text-tertiary);
8657
8659
  }
8658
8660
 
8659
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
8661
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
8660
8662
  /* Context Menu - Mojave Theme
8661
8663
  *
8662
8664
  * 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
@@ -8825,7 +8827,7 @@ button,
8825
8827
  stroke-width: var(--sl-stroke-default);
8826
8828
  }
8827
8829
 
8828
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
8830
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
8829
8831
  /* Dialog and Alert dialog - Mojave Theme
8830
8832
  *
8831
8833
  * Both are centered modals built from the modal concept (tokens/semantic/modal.json):
@@ -8971,7 +8973,7 @@ button,
8971
8973
  margin-top: var(--sl-modal-actions-spacing);
8972
8974
  }
8973
8975
 
8974
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
8976
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
8975
8977
  /* Drawer - a panel that slides in from an edge and can be swiped away.
8976
8978
  The surface, scrim, heading and motion are the modal concept's (--sl-modal-*), so a
8977
8979
  drawer reads as a dialog's sibling; only its size and grab bar are its own
@@ -9104,7 +9106,7 @@ button,
9104
9106
  color: var(--sl-modal-description-color);
9105
9107
  }
9106
9108
 
9107
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
9109
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
9108
9110
  /* Field - Mojave Theme
9109
9111
  *
9110
9112
  * Label, control, description and error. No component tokens: spacing is the field
@@ -9165,7 +9167,7 @@ textarea.FieldControl {
9165
9167
  height: auto;
9166
9168
  }
9167
9169
 
9168
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
9170
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
9169
9171
  /* Fieldset - Mojave Theme
9170
9172
  *
9171
9173
  * No component tokens: a titled group of fields, spaced by the stack gaps, with
@@ -9207,7 +9209,7 @@ textarea.FieldControl {
9207
9209
  color: var(--sl-text-secondary);
9208
9210
  }
9209
9211
 
9210
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
9212
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
9211
9213
  /* Form - Mojave Theme
9212
9214
  *
9213
9215
  * No component tokens: fields stack with the large block space, and the action
@@ -9227,7 +9229,7 @@ textarea.FieldControl {
9227
9229
  margin-top: var(--sl-space-block-md);
9228
9230
  }
9229
9231
 
9230
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
9232
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
9231
9233
  /* Input - Mojave Theme
9232
9234
  *
9233
9235
  * No component tokens: the look is the field concept (tokens/semantic/field.json),
@@ -9364,7 +9366,7 @@ textarea.FieldControl {
9364
9366
  padding-inline: var(--sl-control-padding-inline-lg);
9365
9367
  }
9366
9368
 
9367
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
9369
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
9368
9370
  /* Menu - Mojave Theme
9369
9371
  *
9370
9372
  * No component tokens. The trigger is a Button. The popup is the popup concept, rows are item rows at the
@@ -9513,7 +9515,7 @@ textarea.FieldControl {
9513
9515
  color: var(--sl-text-tertiary);
9514
9516
  }
9515
9517
 
9516
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
9518
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
9517
9519
  /* Menubar - Mojave Theme
9518
9520
  *
9519
9521
  * No component tokens. A row of quiet triggers, each opening a menu. The popup is the popup concept, rows are item rows at the
@@ -9706,7 +9708,7 @@ textarea.FieldControl {
9706
9708
  color: var(--sl-text-tertiary);
9707
9709
  }
9708
9710
 
9709
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
9711
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
9710
9712
  /* Meter - Mojave Theme
9711
9713
  *
9712
9714
  * A gauge (tokens/semantic/gauge.json). The fill is the solid color of the scope around it:
@@ -9769,7 +9771,7 @@ textarea.FieldControl {
9769
9771
  height: var(--sl-gauge-height-lg);
9770
9772
  }
9771
9773
 
9772
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
9774
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
9773
9775
  /* Navigation Menu - Mojave Theme
9774
9776
  *
9775
9777
  * The strip is the bar concept, the panel is the popup concept and each link is an item
@@ -10189,7 +10191,7 @@ textarea.FieldControl {
10189
10191
  width: 100%;
10190
10192
  }
10191
10193
 
10192
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
10194
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
10193
10195
  /* Number Field - Mojave Theme
10194
10196
  *
10195
10197
  * No component tokens. The input is Input (Input.css) and the label, description and
@@ -10280,7 +10282,7 @@ textarea.FieldControl {
10280
10282
  user-select: none;
10281
10283
  }
10282
10284
 
10283
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
10285
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
10284
10286
  /* OTP Field - Mojave Theme
10285
10287
  *
10286
10288
  * One-time code entry: a row of single-character inputs. Each slot is the same control as Input
@@ -10343,7 +10345,7 @@ textarea.FieldControl {
10343
10345
  letter-spacing: var(--sl-font-body-magnify-letter-spacing);
10344
10346
  }
10345
10347
 
10346
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
10348
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
10347
10349
  /* Popover - Mojave Theme */
10348
10350
 
10349
10351
  /* ============================================
@@ -10508,7 +10510,7 @@ textarea.FieldControl {
10508
10510
  fill: var(--sl-popup-arrow-stroke);
10509
10511
  }
10510
10512
 
10511
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
10513
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
10512
10514
  /* Preview Card - Mojave Theme
10513
10515
  *
10514
10516
  * The popup concept (surface, arrow, motion) with a title-magnify title and condense
@@ -10625,7 +10627,7 @@ textarea.FieldControl {
10625
10627
  fill: var(--sl-popup-arrow-stroke);
10626
10628
  }
10627
10629
 
10628
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
10630
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
10629
10631
  /* Progress - Mojave Theme
10630
10632
  *
10631
10633
  * A gauge (tokens/semantic/gauge.json), the same bar as Meter. The fill is the solid color of
@@ -10702,7 +10704,7 @@ textarea.FieldControl {
10702
10704
  height: var(--sl-gauge-height-lg);
10703
10705
  }
10704
10706
 
10705
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
10707
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
10706
10708
  /* Radio - Mojave Theme
10707
10709
  * Same box as Checkbox, always round. Sizes follow the label the same way, and the
10708
10710
  * dot is a share of the circle (check.dot-scale).
@@ -10854,7 +10856,7 @@ textarea.FieldControl {
10854
10856
  gap: var(--sl-gap-stack-sm);
10855
10857
  }
10856
10858
 
10857
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
10859
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
10858
10860
  /* Scroll Area - Mojave Theme
10859
10861
  *
10860
10862
  * The scrollbar is the content scrollbar (content.scrollbar-*): a track that stays clear until
@@ -10936,7 +10938,7 @@ textarea.FieldControl {
10936
10938
  background: transparent;
10937
10939
  }
10938
10940
 
10939
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
10941
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
10940
10942
  /* Select - Mojave Theme
10941
10943
  *
10942
10944
  * The trigger is a field (the field pattern, control sizes, the base text style); the
@@ -11221,7 +11223,7 @@ textarea.FieldControl {
11221
11223
  stroke-width: var(--sl-stroke-default);
11222
11224
  }
11223
11225
 
11224
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
11226
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
11225
11227
  /* Separator - Mojave Theme
11226
11228
  *
11227
11229
  * A hairline in the everyday divider color (border.default), one stroke thick, with a step of
@@ -11249,7 +11251,7 @@ textarea.FieldControl {
11249
11251
  margin-inline: var(--sl-space-4);
11250
11252
  }
11251
11253
 
11252
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
11254
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
11253
11255
  /* Slider - Mojave Theme
11254
11256
  *
11255
11257
  * A slider is a gauge you can drag: the track, fill and label row are gauge.* (the same bar as
@@ -11415,7 +11417,7 @@ textarea.FieldControl {
11415
11417
  transform: translate(-50%, 50%);
11416
11418
  }
11417
11419
 
11418
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
11420
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
11419
11421
  /* Switch - Mojave Theme
11420
11422
  * Switch keeps its track sizes. The thumb, its travel and the ON/OFF text are
11421
11423
  * worked out from them: the thumb fills the track's height inside the padding,
@@ -11581,7 +11583,7 @@ textarea.FieldControl {
11581
11583
  color: var(--sl-text-disabled);
11582
11584
  }
11583
11585
 
11584
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
11586
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
11585
11587
  /* Tabs - Mojave Theme
11586
11588
  *
11587
11589
  * No component tokens. The divider, the selected line and color, hover and the disabled
@@ -11717,7 +11719,7 @@ textarea.FieldControl {
11717
11719
  padding: var(--sl-space-6);
11718
11720
  }
11719
11721
 
11720
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
11722
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
11721
11723
  /* Toast - Mojave Theme
11722
11724
  *
11723
11725
  * A toast is a notice (tokens/semantic/notice.json) on the popup surface. A toast whose type
@@ -11953,7 +11955,7 @@ textarea.FieldControl {
11953
11955
  flex-shrink: 0;
11954
11956
  }
11955
11957
 
11956
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
11958
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
11957
11959
  /* Toggle - Mojave Theme
11958
11960
  * A toggle is a button that stays pressed: the same heights, padding, gap and
11959
11961
  * trigger text style as a button of the same size. Pressed, it takes its emphasis level's
@@ -12065,7 +12067,7 @@ textarea.FieldControl {
12065
12067
  height: var(--sl-icon-size-maximize);
12066
12068
  }
12067
12069
 
12068
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
12070
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
12069
12071
  /* Toggle Group - Mojave Theme
12070
12072
  *
12071
12073
  * No component tokens. The strip is the bar concept (tokens/semantic/bar.json); the
@@ -12127,7 +12129,7 @@ textarea.FieldControl {
12127
12129
  outline-offset: var(--sl-focus-outline-offset-inset);
12128
12130
  }
12129
12131
 
12130
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
12132
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
12131
12133
  /* Toolbar - Mojave Theme
12132
12134
  *
12133
12135
  * The strip is the bar concept (tokens/semantic/bar.json). Buttons, toggles, selects
@@ -12189,7 +12191,7 @@ textarea.FieldControl {
12189
12191
  max-width: var(--sl-toolbar-input-max-width);
12190
12192
  }
12191
12193
 
12192
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
12194
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
12193
12195
  /* Tooltip - Mojave Theme
12194
12196
  *
12195
12197
  * The inverse surface (surface.inverse, text.on-inverse-surface) with condense text, so a tooltip
@@ -12250,7 +12252,7 @@ textarea.FieldControl {
12250
12252
  }
12251
12253
 
12252
12254
  /* Custom components: not Base UI parts. Built from existing concepts and tokens. */
12253
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
12255
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
12254
12256
  /* Badge
12255
12257
  *
12256
12258
  * A status or count label. Not a Base UI part, and not interactive: no hover or focus.
@@ -12355,7 +12357,7 @@ textarea.FieldControl {
12355
12357
  height: var(--sl-badge-dot-base);
12356
12358
  }
12357
12359
 
12358
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
12360
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
12359
12361
  /*
12360
12362
  * DatePicker: a field that opens a calendar for one date or a period.
12361
12363
  * Not a Base UI part. The popup is Popover on a wide viewport and Drawer
@@ -12928,7 +12930,7 @@ textarea.FieldControl {
12928
12930
  flex-basis: 100%;
12929
12931
  }
12930
12932
 
12931
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
12933
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
12932
12934
  /* Money field
12933
12935
  *
12934
12936
  * An amount of money, built on Number field. The value is an integer in minor units
@@ -13273,7 +13275,7 @@ textarea.FieldControl {
13273
13275
  letter-spacing: var(--sl-font-body-base-letter-spacing);
13274
13276
  }
13275
13277
 
13276
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
13278
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
13277
13279
  /* ListDetail
13278
13280
  *
13279
13281
  * The detail of one item, next to its list. Not a Base UI part. It is a Splitter
@@ -13400,7 +13402,7 @@ textarea.FieldControl {
13400
13402
  background: transparent;
13401
13403
  }
13402
13404
 
13403
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
13405
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
13404
13406
  /* Splitter
13405
13407
  *
13406
13408
  * Two or more panels and a handle between them. Not a Base UI part. It follows the
@@ -13608,7 +13610,7 @@ textarea.FieldControl {
13608
13610
  background: var(--sl-border-default);
13609
13611
  }
13610
13612
 
13611
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
13613
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
13612
13614
  /* EmptyState
13613
13615
  *
13614
13616
  * The block a page, pane, table, list or popup shows when it has nothing to show.
@@ -13864,7 +13866,7 @@ textarea.FieldControl {
13864
13866
  color: inherit;
13865
13867
  }
13866
13868
 
13867
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
13869
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
13868
13870
  /* Table - Mojave Theme
13869
13871
  *
13870
13872
  * Base UI has no table, so this styles the native <table class="Table"> elements with the
@@ -14098,7 +14100,7 @@ textarea.FieldControl {
14098
14100
  color: inherit;
14099
14101
  }
14100
14102
 
14101
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
14103
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
14102
14104
  /* Collection
14103
14105
  *
14104
14106
  * DataTable, DataList, the toolbar and the pagination, in one place so the two views
@@ -14109,7 +14111,7 @@ textarea.FieldControl {
14109
14111
  * the tabs and the search where they are, so selecting rows does not grow the toolbar.
14110
14112
  */
14111
14113
 
14112
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
14114
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
14113
14115
  /* Collection toolbar
14114
14116
  *
14115
14117
  * The wrap follows the toolbar's own width, not the window: a table in a narrow pane wraps
@@ -14250,7 +14252,7 @@ textarea.FieldControl {
14250
14252
  letter-spacing: var(--sl-font-body-condense-letter-spacing);
14251
14253
  }
14252
14254
 
14253
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
14255
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
14254
14256
  /* DataTable additions on top of .Table.
14255
14257
  *
14256
14258
  * Sort buttons fill the header cell and inherit its hover, so old aria-sort markup keeps
@@ -14371,7 +14373,7 @@ textarea.FieldControl {
14371
14373
  color: var(--sl-table-subtle-color);
14372
14374
  }
14373
14375
 
14374
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
14376
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
14375
14377
  /* DataList
14376
14378
  *
14377
14379
  * The same rows as the table, in one container with the table's borders, hover, selected
@@ -14513,7 +14515,7 @@ textarea.FieldControl {
14513
14515
  transition: opacity var(--sl-duration-fast) var(--sl-easing-default);
14514
14516
  }
14515
14517
 
14516
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
14518
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
14517
14519
  /* Pagination
14518
14520
  *
14519
14521
  * Not tied to a collection. Anything with a page, a page count and a total can use it.
@@ -14538,7 +14540,7 @@ textarea.FieldControl {
14538
14540
  margin: 0;
14539
14541
  }
14540
14542
 
14541
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
14543
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
14542
14544
  /* EditableList
14543
14545
  *
14544
14546
  * One table at every width, so a field is not submitted twice. Under the stack width each
@@ -14637,7 +14639,7 @@ textarea.FieldControl {
14637
14639
  }
14638
14640
  }
14639
14641
 
14640
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
14642
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
14641
14643
  /* Sheet
14642
14644
  *
14643
14645
  * A working-paper surface: the raised surface with a heavier rule across its top
@@ -14728,7 +14730,7 @@ textarea.FieldControl {
14728
14730
  border-top: 0;
14729
14731
  }
14730
14732
 
14731
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
14733
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
14732
14734
  /* StatFigure
14733
14735
  *
14734
14736
  * One large figure with a caps label above and a caption under it. The label is
@@ -14789,7 +14791,7 @@ textarea.FieldControl {
14789
14791
  color: var(--sl-stat-figure-caption-color);
14790
14792
  }
14791
14793
 
14792
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
14794
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
14793
14795
  /* DescriptionList
14794
14796
  *
14795
14797
  * Label and value pairs in a native dl, one DescriptionItem (a div holding a dt and a dd)
@@ -14865,7 +14867,7 @@ textarea.FieldControl {
14865
14867
  text-align: end;
14866
14868
  }
14867
14869
 
14868
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
14870
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
14869
14871
  /* AppBar
14870
14872
  *
14871
14873
  * The bar across the top of an app window, one row on a line in the rule color. The line is
@@ -14899,7 +14901,7 @@ textarea.FieldControl {
14899
14901
  background: var(--sl-app-bar-divider-color);
14900
14902
  }
14901
14903
 
14902
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
14904
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
14903
14905
  /* PickerButton
14904
14906
  *
14905
14907
  * A trigger with a caps label before the current choice: CLIENT Alpha Services. The field
@@ -14985,13 +14987,13 @@ textarea.FieldControl {
14985
14987
  transform: rotate(180deg);
14986
14988
  }
14987
14989
 
14988
- /* @scattered-light/loomiere-base-ui 0.10.0 · styles for @base-ui/react 1.9.0 */
14990
+ /* @scattered-light/loomiere-base-ui 0.11.0 · styles for @base-ui/react 1.9.0 */
14989
14991
  /* SideNav
14990
14992
  *
14991
14993
  * The column of links down the side of a workspace. Rows are ruled apart with a hairline; the
14992
14994
  * current row (aria-current="page") sits on the raised surface with a rule under it in the
14993
14995
  * working-paper ink; counts are figures; group headings are caps labels. SideNavToggle is a
14994
- * small round button on the column's edge, whose chevron turns with the state. The parent
14996
+ * small tab-shaped handle on the column's edge, whose chevron turns with the state. The parent
14995
14997
  * sets the width and must not clip the toggle (overflow: visible), since it hangs over the edge.
14996
14998
  * Tokens: side-nav.* (tokens/component/side-nav.json).
14997
14999
  */
@@ -15115,24 +15117,25 @@ textarea.FieldControl {
15115
15117
  position: absolute;
15116
15118
  z-index: 1;
15117
15119
  top: var(--sl-side-nav-toggle-offset);
15118
- inset-inline-end: calc(-0.5 * var(--sl-side-nav-toggle-size));
15120
+ inset-inline-end: calc(-0.5 * var(--sl-side-nav-toggle-width));
15119
15121
  display: inline-flex;
15120
15122
  align-items: center;
15121
15123
  justify-content: center;
15122
- width: var(--sl-side-nav-toggle-size);
15123
- height: var(--sl-side-nav-toggle-size);
15124
- border-radius: var(--sl-radius-pill);
15124
+ width: var(--sl-side-nav-toggle-width);
15125
+ height: var(--sl-side-nav-toggle-height);
15126
+ border-radius: var(--sl-side-nav-toggle-radius);
15125
15127
  background: var(--sl-side-nav-toggle-background);
15126
15128
  border: var(--sl-stroke-default) solid var(--sl-side-nav-toggle-border-color);
15127
- color: var(--sl-text-secondary);
15129
+ color: var(--sl-side-nav-toggle-border-color);
15128
15130
  cursor: pointer;
15129
15131
  transition: color var(--sl-duration-fast) var(--sl-easing-default),
15132
+ background var(--sl-duration-fast) var(--sl-easing-default),
15130
15133
  border-color var(--sl-duration-fast) var(--sl-easing-default);
15131
15134
  }
15132
15135
 
15133
15136
  .SideNavToggle:hover {
15134
- color: var(--sl-text-primary);
15135
- border-color: var(--sl-text-primary);
15137
+ color: var(--sl-side-nav-toggle-background);
15138
+ background: var(--sl-side-nav-toggle-border-color);
15136
15139
  }
15137
15140
 
15138
15141
  .SideNavToggle:focus-visible {