@scattered-light/loomiere-mojave 0.13.0 → 0.14.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.
@@ -795,8 +795,10 @@
795
795
  --sl-navigation-menu-popup-min-width: 400px; /** Narrowest a navigation panel gets on wider screens, and the widest a single column of links grows. */
796
796
  --sl-navigation-menu-column-width: 12rem; /** Width of each column in a two-column link list. */
797
797
  --sl-picker-button-max-width: 18rem; /** Widest the button grows. A longer choice is cut with an ellipsis; the label never is. */
798
+ --sl-picker-button-text-offset: 0px; /** Nudges the label and choice down together, for a typeface whose text sits high in the button. Zero keeps the baseline where the line box puts it. */
798
799
  --sl-preview-card-popup-min-width: 300px; /** Narrowest a preview card gets, so a short title still has room for its image. */
799
800
  --sl-preview-card-popup-max-width: 450px; /** Widest a preview card gets, so its description keeps a comfortable line length. */
801
+ --sl-sheet-tab-text-offset: 0px; /** Nudges the tab label down, for a typeface whose caps sit high in the line box. Zero centers the line box. */
800
802
  --sl-slider-vertical-height: 200px; /** Default length of a vertical slider. */
801
803
  --sl-splitter-key-step: 5%; /** One arrow press moves the handle by 5% of the splitter. Dryden used 5%: a nudge you can see, not a jump. */
802
804
  --sl-splitter-key-step-large: 10%; /** The Shift step. Twice the arrow step, so a few presses cross the panel without holding the key. */
@@ -2421,6 +2423,7 @@
2421
2423
  --sl-table-total-rule-color: var(--sl-rule-color); /** The line above a subtotal or total row and the double line under a grand total. The working-paper rule color, so totals and sheet tops are ruled in the same ink. */
2422
2424
  --sl-table-total-background: var(--sl-table-background); /** Fill of a subtotal or grand total row: the cell color, so the rules mark the total instead of a band. The footer's default totals row keeps the header tray. */
2423
2425
  --sl-app-bar-border-color: var(--sl-rule-color); /** The line under the bar, in the rule color, so an ink rule brand gets an ink line here too. */
2426
+ --sl-collection-tree-parent-row-background: var(--sl-table-background); /** Fill of a parent row in a tree with treeLines, so a parent reads a step off its children. */
2424
2427
  --sl-sheet-rule-color: var(--sl-rule-color); /** The top rule's color: the working-paper rule color, so sheets and ruled tables match. */
2425
2428
  --sl-sheet-tab-color: var(--sl-text-on-inverse-surface); /** Text on the tab label. */
2426
2429
  --sl-side-nav-indicator-color: var(--sl-rule-color); /** The current row's line: the working-paper rule color, so the nav and the sheets share one ink. */
@@ -2429,6 +2432,7 @@
2429
2432
  --sl-toggle-group-segmented-pressed-color: var(--sl-text-on-inverse); /** Text on the pressed toggle. */
2430
2433
  --sl-check-background: var(--sl-field-background); /** Empty box, the same fill as a field so it reads as something to fill in. */
2431
2434
  --sl-popup-arrow-fill: var(--sl-popup-background); /** The arrow is part of the popup, so it takes the popup's fill. */
2435
+ --sl-collection-tree-parent-row-hover: var(--sl-table-row-hover); /** A parent row under the pointer, with treeLines. A brand sets it a step darker than table.row-hover so a parent still stands out when hovered. */
2432
2436
  }
2433
2437
 
2434
2438
  /* Look: Classic (data-look='classic'). */
@@ -5915,6 +5919,8 @@
5915
5919
  --sl-app-bar-border-color: var(--sl-rule-color);
5916
5920
  --sl-app-bar-divider-color: var(--sl-border-strong);
5917
5921
  --sl-collection-tree-line-color: var(--sl-border-strong);
5922
+ --sl-collection-tree-parent-row-background: var(--sl-table-background);
5923
+ --sl-collection-tree-parent-row-hover: var(--sl-table-row-hover);
5918
5924
  --sl-collection-disclosure-color: var(--sl-text-primary);
5919
5925
  --sl-description-list-row-border-color: var(--sl-border-subtle);
5920
5926
  --sl-description-list-label-color: var(--sl-text-secondary);
@@ -6102,6 +6108,8 @@
6102
6108
  --sl-app-bar-border-color: var(--sl-rule-color);
6103
6109
  --sl-app-bar-divider-color: var(--sl-border-strong);
6104
6110
  --sl-collection-tree-line-color: var(--sl-border-strong);
6111
+ --sl-collection-tree-parent-row-background: var(--sl-table-background);
6112
+ --sl-collection-tree-parent-row-hover: var(--sl-table-row-hover);
6105
6113
  --sl-collection-disclosure-color: var(--sl-text-primary);
6106
6114
  --sl-description-list-row-border-color: var(--sl-border-subtle);
6107
6115
  --sl-description-list-label-color: var(--sl-text-secondary);
@@ -6289,6 +6297,8 @@
6289
6297
  --sl-app-bar-border-color: var(--sl-rule-color);
6290
6298
  --sl-app-bar-divider-color: var(--sl-border-strong);
6291
6299
  --sl-collection-tree-line-color: var(--sl-border-strong);
6300
+ --sl-collection-tree-parent-row-background: var(--sl-table-background);
6301
+ --sl-collection-tree-parent-row-hover: var(--sl-table-row-hover);
6292
6302
  --sl-collection-disclosure-color: var(--sl-text-primary);
6293
6303
  --sl-description-list-row-border-color: var(--sl-border-subtle);
6294
6304
  --sl-description-list-label-color: var(--sl-text-secondary);
@@ -6679,7 +6689,7 @@
6679
6689
  }
6680
6690
 
6681
6691
 
6682
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
6692
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
6683
6693
  /* Loomiere for Base UI: component styles. Brand-free: every value is a --sl- variable from a
6684
6694
  Loomiere theme. Load the theme first:
6685
6695
  @import '<your theme>/tokens.css';
@@ -6689,7 +6699,7 @@
6689
6699
  /* Document defaults, in the reset layer so any unlayered rule wins over them, and so layered
6690
6700
  frameworks (Chakra's recipes, Tailwind's utilities) are not undone by them. */
6691
6701
  @layer reset {
6692
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
6702
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
6693
6703
  /* CSS Reset - Mojave Theme */
6694
6704
 
6695
6705
  /* ============================================
@@ -7133,7 +7143,7 @@ hr {
7133
7143
  }
7134
7144
  }
7135
7145
  @layer reset {
7136
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
7146
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
7137
7147
  /* Accessibility — base rules (no theme color dependencies). Theme-specific focus/invalid: accessibility-theme.css */
7138
7148
 
7139
7149
  /* Remove default focus; keyboard focus styled in accessibility-theme.css */
@@ -7246,7 +7256,7 @@ main:focus {
7246
7256
 
7247
7257
  }
7248
7258
  @layer reset {
7249
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
7259
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
7250
7260
  /* Focus, invalid, contrast — requires theme tokens (after theme-accessibility.css). */
7251
7261
 
7252
7262
  :focus-visible {
@@ -7314,7 +7324,7 @@ button,
7314
7324
 
7315
7325
  }
7316
7326
  /* Component styles */
7317
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
7327
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
7318
7328
  /* Accordion - Mojave Theme
7319
7329
  *
7320
7330
  * No component tokens. Hover, press, chevron, divider and motion are the disclosure
@@ -7435,7 +7445,7 @@ button,
7435
7445
  overflow: hidden;
7436
7446
  }
7437
7447
 
7438
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
7448
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
7439
7449
  /* Alert Dialog - Mojave Theme
7440
7450
  *
7441
7451
  * No component tokens and no rules of its own. An alert dialog looks exactly like a
@@ -7444,7 +7454,7 @@ button,
7444
7454
  * cancel quiet, and a destructive one bold with data-color="error".
7445
7455
  */
7446
7456
 
7447
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
7457
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
7448
7458
  /* Autocomplete - Mojave Theme
7449
7459
  *
7450
7460
  * No component tokens. The input is Input (Input.css), the clear button is an icon
@@ -7646,7 +7656,7 @@ button,
7646
7656
  (reset-accessibility.css).
7647
7657
  ============================================ */
7648
7658
 
7649
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
7659
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
7650
7660
  /* Avatar - Mojave Theme
7651
7661
  *
7652
7662
  * A round picture with a ring in the page color, so avatars in a group cut out of each other in
@@ -7754,7 +7764,7 @@ button,
7754
7764
  }
7755
7765
  }
7756
7766
 
7757
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
7767
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
7758
7768
  /* Button - Mojave Theme
7759
7769
  *
7760
7770
  * Colors are the brand's emphasis levels, sizes are control.*, text is the trigger
@@ -7904,7 +7914,7 @@ button,
7904
7914
  font-size: var(--sl-icon-size-maximize);
7905
7915
  }
7906
7916
 
7907
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
7917
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
7908
7918
  /* Checkbox - Mojave Theme
7909
7919
  * Sizes follow the label: the box is the icon size one tier above the label's text
7910
7920
  * tier (like a button's icon) and the check mark one tier below it.
@@ -8061,7 +8071,7 @@ button,
8061
8071
  border-radius: var(--sl-radius-pill);
8062
8072
  }
8063
8073
 
8064
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
8074
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
8065
8075
  /* Checkbox Group - Mojave Theme */
8066
8076
 
8067
8077
  /* Each checkbox row is already a full tap target tall, so the rows sit close. */
@@ -8077,7 +8087,7 @@ button,
8077
8087
  pointer-events: none;
8078
8088
  }
8079
8089
 
8080
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
8090
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
8081
8091
  /* Collapsible - Mojave Theme
8082
8092
  *
8083
8093
  * No component tokens. Hover, press, chevron and motion are the disclosure concept
@@ -8193,7 +8203,7 @@ button,
8193
8203
  background: var(--sl-surface-raised);
8194
8204
  }
8195
8205
 
8196
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
8206
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
8197
8207
  /* Combobox - Mojave Theme
8198
8208
  *
8199
8209
  * No component tokens. The input is Input (Input.css); the chips box is a field; the
@@ -8678,7 +8688,7 @@ button,
8678
8688
  color: var(--sl-text-tertiary);
8679
8689
  }
8680
8690
 
8681
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
8691
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
8682
8692
  /* Context Menu - Mojave Theme
8683
8693
  *
8684
8694
  * 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
@@ -8847,7 +8857,7 @@ button,
8847
8857
  stroke-width: var(--sl-stroke-default);
8848
8858
  }
8849
8859
 
8850
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
8860
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
8851
8861
  /* Dialog and Alert dialog - Mojave Theme
8852
8862
  *
8853
8863
  * Both are centered modals built from the modal concept (tokens/semantic/modal.json):
@@ -8993,7 +9003,7 @@ button,
8993
9003
  margin-top: var(--sl-modal-actions-spacing);
8994
9004
  }
8995
9005
 
8996
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
9006
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
8997
9007
  /* Drawer - a panel that slides in from an edge and can be swiped away.
8998
9008
  The surface, scrim, heading and motion are the modal concept's (--sl-modal-*), so a
8999
9009
  drawer reads as a dialog's sibling; only its size and grab bar are its own
@@ -9126,7 +9136,7 @@ button,
9126
9136
  color: var(--sl-modal-description-color);
9127
9137
  }
9128
9138
 
9129
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
9139
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
9130
9140
  /* Field - Mojave Theme
9131
9141
  *
9132
9142
  * Label, control, description and error. No component tokens: spacing is the field
@@ -9187,7 +9197,7 @@ textarea.FieldControl {
9187
9197
  height: auto;
9188
9198
  }
9189
9199
 
9190
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
9200
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
9191
9201
  /* Fieldset - Mojave Theme
9192
9202
  *
9193
9203
  * No component tokens: a titled group of fields, spaced by the stack gaps, with
@@ -9229,7 +9239,7 @@ textarea.FieldControl {
9229
9239
  color: var(--sl-text-secondary);
9230
9240
  }
9231
9241
 
9232
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
9242
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
9233
9243
  /* Form - Mojave Theme
9234
9244
  *
9235
9245
  * No component tokens: fields stack with the large block space, and the action
@@ -9249,7 +9259,7 @@ textarea.FieldControl {
9249
9259
  margin-top: var(--sl-space-block-md);
9250
9260
  }
9251
9261
 
9252
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
9262
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
9253
9263
  /* Input - Mojave Theme
9254
9264
  *
9255
9265
  * No component tokens: the look is the field concept (tokens/semantic/field.json),
@@ -9386,7 +9396,7 @@ textarea.FieldControl {
9386
9396
  padding-inline: var(--sl-control-padding-inline-lg);
9387
9397
  }
9388
9398
 
9389
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
9399
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
9390
9400
  /* Menu - Mojave Theme
9391
9401
  *
9392
9402
  * No component tokens. The trigger is a Button. The popup is the popup concept, rows are item rows at the
@@ -9535,7 +9545,7 @@ textarea.FieldControl {
9535
9545
  color: var(--sl-text-tertiary);
9536
9546
  }
9537
9547
 
9538
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
9548
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
9539
9549
  /* Menubar - Mojave Theme
9540
9550
  *
9541
9551
  * No component tokens. A row of quiet triggers, each opening a menu. The popup is the popup concept, rows are item rows at the
@@ -9728,7 +9738,7 @@ textarea.FieldControl {
9728
9738
  color: var(--sl-text-tertiary);
9729
9739
  }
9730
9740
 
9731
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
9741
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
9732
9742
  /* Meter - Mojave Theme
9733
9743
  *
9734
9744
  * A gauge (tokens/semantic/gauge.json). The fill is the solid color of the scope around it:
@@ -9791,7 +9801,7 @@ textarea.FieldControl {
9791
9801
  height: var(--sl-gauge-height-lg);
9792
9802
  }
9793
9803
 
9794
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
9804
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
9795
9805
  /* Navigation Menu - Mojave Theme
9796
9806
  *
9797
9807
  * The strip is the bar concept, the panel is the popup concept and each link is an item
@@ -10211,7 +10221,7 @@ textarea.FieldControl {
10211
10221
  width: 100%;
10212
10222
  }
10213
10223
 
10214
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
10224
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
10215
10225
  /* Number Field - Mojave Theme
10216
10226
  *
10217
10227
  * No component tokens. The input is Input (Input.css) and the label, description and
@@ -10302,7 +10312,7 @@ textarea.FieldControl {
10302
10312
  user-select: none;
10303
10313
  }
10304
10314
 
10305
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
10315
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
10306
10316
  /* OTP Field - Mojave Theme
10307
10317
  *
10308
10318
  * One-time code entry: a row of single-character inputs. Each slot is the same control as Input
@@ -10365,7 +10375,7 @@ textarea.FieldControl {
10365
10375
  letter-spacing: var(--sl-font-body-magnify-letter-spacing);
10366
10376
  }
10367
10377
 
10368
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
10378
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
10369
10379
  /* Popover - Mojave Theme */
10370
10380
 
10371
10381
  /* ============================================
@@ -10530,7 +10540,7 @@ textarea.FieldControl {
10530
10540
  fill: var(--sl-popup-arrow-stroke);
10531
10541
  }
10532
10542
 
10533
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
10543
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
10534
10544
  /* Preview Card - Mojave Theme
10535
10545
  *
10536
10546
  * The popup concept (surface, arrow, motion) with a title-magnify title and condense
@@ -10647,7 +10657,7 @@ textarea.FieldControl {
10647
10657
  fill: var(--sl-popup-arrow-stroke);
10648
10658
  }
10649
10659
 
10650
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
10660
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
10651
10661
  /* Progress - Mojave Theme
10652
10662
  *
10653
10663
  * A gauge (tokens/semantic/gauge.json), the same bar as Meter. The fill is the solid color of
@@ -10724,7 +10734,7 @@ textarea.FieldControl {
10724
10734
  height: var(--sl-gauge-height-lg);
10725
10735
  }
10726
10736
 
10727
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
10737
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
10728
10738
  /* Radio - Mojave Theme
10729
10739
  * Same box as Checkbox, always round. Sizes follow the label the same way, and the
10730
10740
  * dot is a share of the circle (check.dot-scale).
@@ -10876,7 +10886,7 @@ textarea.FieldControl {
10876
10886
  gap: var(--sl-gap-stack-sm);
10877
10887
  }
10878
10888
 
10879
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
10889
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
10880
10890
  /* Scroll Area - Mojave Theme
10881
10891
  *
10882
10892
  * The scrollbar is the content scrollbar (content.scrollbar-*): a track that stays clear until
@@ -10958,7 +10968,7 @@ textarea.FieldControl {
10958
10968
  background: transparent;
10959
10969
  }
10960
10970
 
10961
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
10971
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
10962
10972
  /* Select - Mojave Theme
10963
10973
  *
10964
10974
  * The trigger is a field (the field pattern, control sizes, the base text style); the
@@ -11243,7 +11253,7 @@ textarea.FieldControl {
11243
11253
  stroke-width: var(--sl-stroke-default);
11244
11254
  }
11245
11255
 
11246
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
11256
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
11247
11257
  /* Separator - Mojave Theme
11248
11258
  *
11249
11259
  * A hairline in the everyday divider color (border.default), one stroke thick, with a step of
@@ -11271,7 +11281,7 @@ textarea.FieldControl {
11271
11281
  margin-inline: var(--sl-space-4);
11272
11282
  }
11273
11283
 
11274
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
11284
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
11275
11285
  /* Slider - Mojave Theme
11276
11286
  *
11277
11287
  * A slider is a gauge you can drag: the track, fill and label row are gauge.* (the same bar as
@@ -11437,7 +11447,7 @@ textarea.FieldControl {
11437
11447
  transform: translate(-50%, 50%);
11438
11448
  }
11439
11449
 
11440
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
11450
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
11441
11451
  /* Switch - Mojave Theme
11442
11452
  * Switch keeps its track sizes. The thumb, its travel and the ON/OFF text are
11443
11453
  * worked out from them: the thumb fills the track's height inside the padding,
@@ -11603,7 +11613,7 @@ textarea.FieldControl {
11603
11613
  color: var(--sl-text-disabled);
11604
11614
  }
11605
11615
 
11606
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
11616
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
11607
11617
  /* Tabs - Mojave Theme
11608
11618
  *
11609
11619
  * No component tokens. The divider, the selected line and color, hover and the disabled
@@ -11739,7 +11749,7 @@ textarea.FieldControl {
11739
11749
  padding: var(--sl-space-6);
11740
11750
  }
11741
11751
 
11742
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
11752
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
11743
11753
  /* Toast - Mojave Theme
11744
11754
  *
11745
11755
  * A toast is a notice (tokens/semantic/notice.json) on the popup surface. A toast whose type
@@ -11975,7 +11985,7 @@ textarea.FieldControl {
11975
11985
  flex-shrink: 0;
11976
11986
  }
11977
11987
 
11978
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
11988
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
11979
11989
  /* Toggle - Mojave Theme
11980
11990
  * A toggle is a button that stays pressed: the same heights, padding, gap and
11981
11991
  * trigger text style as a button of the same size. Pressed, it takes its emphasis level's
@@ -12087,7 +12097,7 @@ textarea.FieldControl {
12087
12097
  height: var(--sl-icon-size-maximize);
12088
12098
  }
12089
12099
 
12090
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
12100
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
12091
12101
  /* Toggle Group - Mojave Theme
12092
12102
  *
12093
12103
  * No component tokens. The strip is the bar concept (tokens/semantic/bar.json); the
@@ -12149,7 +12159,7 @@ textarea.FieldControl {
12149
12159
  outline-offset: var(--sl-focus-outline-offset-inset);
12150
12160
  }
12151
12161
 
12152
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
12162
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
12153
12163
  /* Toolbar - Mojave Theme
12154
12164
  *
12155
12165
  * The strip is the bar concept (tokens/semantic/bar.json). Buttons, toggles, selects
@@ -12211,7 +12221,7 @@ textarea.FieldControl {
12211
12221
  max-width: var(--sl-toolbar-input-max-width);
12212
12222
  }
12213
12223
 
12214
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
12224
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
12215
12225
  /* Tooltip - Mojave Theme
12216
12226
  *
12217
12227
  * The inverse surface (surface.inverse, text.on-inverse-surface) with condense text, so a tooltip
@@ -12272,7 +12282,7 @@ textarea.FieldControl {
12272
12282
  }
12273
12283
 
12274
12284
  /* Custom components: not Base UI parts. Built from existing concepts and tokens. */
12275
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
12285
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
12276
12286
  /* Badge
12277
12287
  *
12278
12288
  * A status or count label. Not a Base UI part, and not interactive: no hover or focus.
@@ -12377,7 +12387,7 @@ textarea.FieldControl {
12377
12387
  height: var(--sl-badge-dot-base);
12378
12388
  }
12379
12389
 
12380
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
12390
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
12381
12391
  /*
12382
12392
  * DatePicker: a field that opens a calendar for one date or a period.
12383
12393
  * Not a Base UI part. The popup is Popover on a wide viewport and Drawer
@@ -12950,7 +12960,7 @@ textarea.FieldControl {
12950
12960
  flex-basis: 100%;
12951
12961
  }
12952
12962
 
12953
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
12963
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
12954
12964
  /* Money field
12955
12965
  *
12956
12966
  * An amount of money, built on Number field. The value is an integer in minor units
@@ -13295,7 +13305,7 @@ textarea.FieldControl {
13295
13305
  letter-spacing: var(--sl-font-body-base-letter-spacing);
13296
13306
  }
13297
13307
 
13298
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
13308
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
13299
13309
  /* ListDetail
13300
13310
  *
13301
13311
  * The detail of one item, next to its list. Not a Base UI part. It is a Splitter
@@ -13422,7 +13432,7 @@ textarea.FieldControl {
13422
13432
  background: transparent;
13423
13433
  }
13424
13434
 
13425
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
13435
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
13426
13436
  /* Splitter
13427
13437
  *
13428
13438
  * Two or more panels and a handle between them. Not a Base UI part. It follows the
@@ -13630,7 +13640,7 @@ textarea.FieldControl {
13630
13640
  background: var(--sl-border-default);
13631
13641
  }
13632
13642
 
13633
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
13643
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
13634
13644
  /* EmptyState
13635
13645
  *
13636
13646
  * The block a page, pane, table, list or popup shows when it has nothing to show.
@@ -13886,7 +13896,7 @@ textarea.FieldControl {
13886
13896
  color: inherit;
13887
13897
  }
13888
13898
 
13889
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
13899
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
13890
13900
  /* Table - Mojave Theme
13891
13901
  *
13892
13902
  * Base UI has no table, so this styles the native <table class="Table"> elements with the
@@ -13964,6 +13974,23 @@ textarea.FieldControl {
13964
13974
  border-bottom: var(--sl-stroke-default) solid var(--sl-table-border-color);
13965
13975
  }
13966
13976
 
13977
+ /* Caps header: the column names, and the labels in total rows, in caps-condense. DataTable headerStyle="caps". */
13978
+ .Table[data-header-style='caps'] thead th,
13979
+ .Table[data-header-style='caps'] tr[data-total] > :not([data-align='end']) {
13980
+ font-family: var(--sl-font-caps-condense-font-family);
13981
+ font-size: var(--sl-font-caps-condense-font-size);
13982
+ font-weight: var(--sl-font-caps-condense-font-weight);
13983
+ line-height: var(--sl-font-caps-condense-line-height);
13984
+ letter-spacing: var(--sl-font-caps-condense-letter-spacing);
13985
+ text-transform: var(--sl-font-caps-condense-text-transform);
13986
+ }
13987
+
13988
+ /* Figures: numbers (end-aligned cells) in the figures family, total rows included. DataTable figures. */
13989
+ .Table[data-figures] :is(td, th)[data-align='end'] {
13990
+ font-family: var(--sl-font-figures-base-font-family);
13991
+ font-variant-numeric: var(--sl-font-figures-base-font-variant-numeric);
13992
+ }
13993
+
13967
13994
  /* A header that sorts: aria-sort on the th */
13968
13995
  .Table th[aria-sort] {
13969
13996
  cursor: pointer;
@@ -14120,7 +14147,7 @@ textarea.FieldControl {
14120
14147
  color: inherit;
14121
14148
  }
14122
14149
 
14123
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
14150
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
14124
14151
  /* Collection
14125
14152
  *
14126
14153
  * DataTable, DataList, the toolbar and the pagination, in one place so the two views
@@ -14131,7 +14158,7 @@ textarea.FieldControl {
14131
14158
  * the tabs and the search where they are, so selecting rows does not grow the toolbar.
14132
14159
  */
14133
14160
 
14134
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
14161
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
14135
14162
  /* Collection toolbar
14136
14163
  *
14137
14164
  * The wrap follows the toolbar's own width, not the window: a table in a narrow pane wraps
@@ -14297,7 +14324,7 @@ textarea.FieldControl {
14297
14324
  border-block-end: var(--sl-stroke-default) solid var(--sl-table-border-color);
14298
14325
  }
14299
14326
 
14300
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
14327
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
14301
14328
  /* DataTable additions on top of .Table.
14302
14329
  *
14303
14330
  * Sort buttons fill the header cell and inherit its hover, so old aria-sort markup keeps
@@ -14485,7 +14512,18 @@ textarea.FieldControl {
14485
14512
  cursor: pointer;
14486
14513
  }
14487
14514
 
14488
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
14515
+ /* Parent rows in a tree: their own fill and hover, a step off the children. */
14516
+ .DataTable[data-tree-lines] tbody tr:not([data-depth], [aria-selected='true'], [data-selected], [aria-current='true']) > :is(th, td) {
14517
+ background: var(--sl-collection-tree-parent-row-background);
14518
+ }
14519
+
14520
+ @media (hover: hover) {
14521
+ .DataTable[data-tree-lines] tbody tr:not([data-depth], [aria-selected='true'], [data-selected], [aria-current='true']):hover > :is(th, td) {
14522
+ background: var(--sl-collection-tree-parent-row-hover);
14523
+ }
14524
+ }
14525
+
14526
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
14489
14527
  /* DataList
14490
14528
  *
14491
14529
  * The same rows as the table, in one container with the table's borders, hover, selected
@@ -14627,7 +14665,7 @@ textarea.FieldControl {
14627
14665
  transition: opacity var(--sl-duration-fast) var(--sl-easing-default);
14628
14666
  }
14629
14667
 
14630
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
14668
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
14631
14669
  /* Pagination
14632
14670
  *
14633
14671
  * Not tied to a collection. Anything with a page, a page count and a total can use it.
@@ -14652,7 +14690,7 @@ textarea.FieldControl {
14652
14690
  margin: 0;
14653
14691
  }
14654
14692
 
14655
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
14693
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
14656
14694
  /* EditableList
14657
14695
  *
14658
14696
  * One table at every width, so a field is not submitted twice. Under the stack width each
@@ -14751,7 +14789,7 @@ textarea.FieldControl {
14751
14789
  }
14752
14790
  }
14753
14791
 
14754
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
14792
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
14755
14793
  /* Sheet
14756
14794
  *
14757
14795
  * A working-paper surface: the raised surface with a heavier rule across its top
@@ -14793,6 +14831,8 @@ textarea.FieldControl {
14793
14831
  background: var(--sl-sheet-tab-background);
14794
14832
  color: var(--sl-sheet-tab-color);
14795
14833
  border-radius: var(--sl-sheet-tab-radius) var(--sl-sheet-tab-radius) 0 0;
14834
+ padding-block-start: var(--sl-sheet-tab-text-offset);
14835
+ line-height: 1;
14796
14836
  white-space: nowrap;
14797
14837
  }
14798
14838
 
@@ -14842,7 +14882,7 @@ textarea.FieldControl {
14842
14882
  border-top: 0;
14843
14883
  }
14844
14884
 
14845
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
14885
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
14846
14886
  /* StatFigure
14847
14887
  *
14848
14888
  * One large figure with a caps label above and a caption under it. The label is
@@ -14903,7 +14943,7 @@ textarea.FieldControl {
14903
14943
  color: var(--sl-stat-figure-caption-color);
14904
14944
  }
14905
14945
 
14906
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
14946
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
14907
14947
  /* DescriptionList
14908
14948
  *
14909
14949
  * Label and value pairs in a native dl, one DescriptionItem (a div holding a dt and a dd)
@@ -14979,7 +15019,7 @@ textarea.FieldControl {
14979
15019
  text-align: end;
14980
15020
  }
14981
15021
 
14982
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
15022
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
14983
15023
  /* AppBar
14984
15024
  *
14985
15025
  * The bar across the top of an app window, one row on a line in the rule color. The line is
@@ -15013,13 +15053,14 @@ textarea.FieldControl {
15013
15053
  background: var(--sl-app-bar-divider-color);
15014
15054
  }
15015
15055
 
15016
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
15056
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
15017
15057
  /* PickerButton
15018
15058
  *
15019
15059
  * A trigger with a caps label before the current choice: CLIENT Alpha Services. The field
15020
15060
  * look and states of a Select trigger; the label is caps-condense in picker-button.label-color,
15021
15061
  * the choice is cut with an ellipsis at picker-button.max-width and the chevron turns while
15022
- * its popup is open. Tokens: picker-button.* (tokens/component/picker-button.json) and field.*.
15062
+ * its popup is open. Label and choice share a baseline, so caps beside lowercase read as one line;
15063
+ * picker-button.text-offset nudges both down for a typeface that sits high. Tokens: picker-button.* (tokens/component/picker-button.json) and field.*.
15023
15064
  */
15024
15065
 
15025
15066
  .PickerButton {
@@ -15035,8 +15076,15 @@ textarea.FieldControl {
15035
15076
  font-weight: var(--sl-font-body-base-font-weight);
15036
15077
  line-height: var(--sl-font-body-base-line-height);
15037
15078
  letter-spacing: var(--sl-font-body-base-letter-spacing);
15038
- display: inline-flex;
15039
- align-items: center;
15079
+ /* A grid, not a flex row: label and choice share a baseline, and align-content centers that
15080
+ pair in the button's height. The choice column shrinks so a long choice gets its ellipsis. */
15081
+ display: inline-grid;
15082
+ grid-auto-flow: column;
15083
+ grid-template-columns: max-content minmax(0, max-content);
15084
+ grid-auto-columns: max-content;
15085
+ align-items: baseline;
15086
+ align-content: center;
15087
+ justify-content: start;
15040
15088
  gap: var(--sl-gap-control);
15041
15089
  max-width: var(--sl-picker-button-max-width);
15042
15090
  min-width: 0;
@@ -15070,11 +15118,15 @@ textarea.FieldControl {
15070
15118
  line-height: var(--sl-font-caps-condense-line-height);
15071
15119
  letter-spacing: var(--sl-font-caps-condense-letter-spacing);
15072
15120
  text-transform: var(--sl-font-caps-condense-text-transform);
15121
+ position: relative;
15122
+ top: var(--sl-picker-button-text-offset);
15073
15123
  flex: none;
15074
15124
  color: var(--sl-picker-button-label-color);
15075
15125
  }
15076
15126
 
15077
15127
  .PickerButtonValue {
15128
+ position: relative;
15129
+ top: var(--sl-picker-button-text-offset);
15078
15130
  flex: 0 1 auto;
15079
15131
  min-width: 0;
15080
15132
  overflow: hidden;
@@ -15088,6 +15140,7 @@ textarea.FieldControl {
15088
15140
 
15089
15141
  .PickerButtonIcon {
15090
15142
  flex: none;
15143
+ align-self: center;
15091
15144
  width: var(--sl-icon-size-base);
15092
15145
  height: var(--sl-icon-size-base);
15093
15146
  color: var(--sl-text-tertiary);
@@ -15099,7 +15152,7 @@ textarea.FieldControl {
15099
15152
  transform: rotate(180deg);
15100
15153
  }
15101
15154
 
15102
- /* @scattered-light/loomiere-base-ui 0.13.0 · styles for @base-ui/react 1.9.0 */
15155
+ /* @scattered-light/loomiere-base-ui 0.14.1 · styles for @base-ui/react 1.9.0 */
15103
15156
  /* SideNav
15104
15157
  *
15105
15158
  * The column of links down the side of a workspace. Rows are ruled apart with a hairline; the