@scattered-light/loomiere-mojave 0.23.0 → 0.24.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.
@@ -6733,7 +6733,7 @@
6733
6733
  }
6734
6734
 
6735
6735
 
6736
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
6736
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
6737
6737
  /* Loomiere for Base UI: component styles. Brand-free: every value is a --sl- variable from a
6738
6738
  Loomiere theme. Load the theme first:
6739
6739
  @import '<your theme>/tokens.css';
@@ -6743,7 +6743,7 @@
6743
6743
  /* Document defaults, in the reset layer so any unlayered rule wins over them, and so layered
6744
6744
  frameworks (Chakra's recipes, Tailwind's utilities) are not undone by them. */
6745
6745
  @layer reset {
6746
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
6746
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
6747
6747
  /* CSS Reset - Mojave Theme */
6748
6748
 
6749
6749
  /* ============================================
@@ -7187,7 +7187,7 @@ hr {
7187
7187
  }
7188
7188
  }
7189
7189
  @layer reset {
7190
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
7190
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
7191
7191
  /* Accessibility — base rules (no theme color dependencies). Theme-specific focus/invalid: accessibility-theme.css */
7192
7192
 
7193
7193
  /* Remove default focus; keyboard focus styled in accessibility-theme.css */
@@ -7300,7 +7300,7 @@ main:focus {
7300
7300
 
7301
7301
  }
7302
7302
  @layer reset {
7303
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
7303
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
7304
7304
  /* Focus, invalid, contrast — requires theme tokens (after theme-accessibility.css). */
7305
7305
 
7306
7306
  :focus-visible {
@@ -7368,7 +7368,7 @@ button,
7368
7368
 
7369
7369
  }
7370
7370
  /* Component styles */
7371
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
7371
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
7372
7372
  /* Accordion - Mojave Theme
7373
7373
  *
7374
7374
  * No component tokens. Hover, press, chevron, divider and motion are the disclosure
@@ -7489,7 +7489,7 @@ button,
7489
7489
  overflow: hidden;
7490
7490
  }
7491
7491
 
7492
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
7492
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
7493
7493
  /* Alert Dialog - Mojave Theme
7494
7494
  *
7495
7495
  * No component tokens and no rules of its own. An alert dialog looks exactly like a
@@ -7498,7 +7498,7 @@ button,
7498
7498
  * cancel quiet, and a destructive one bold with data-color="error".
7499
7499
  */
7500
7500
 
7501
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
7501
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
7502
7502
  /* Autocomplete - Mojave Theme
7503
7503
  *
7504
7504
  * No component tokens. The input is Input (Input.css), the clear button is an icon
@@ -7700,7 +7700,7 @@ button,
7700
7700
  (reset-accessibility.css).
7701
7701
  ============================================ */
7702
7702
 
7703
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
7703
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
7704
7704
  /* Avatar - Mojave Theme
7705
7705
  *
7706
7706
  * A round picture with a ring in the page color, so avatars in a group cut out of each other in
@@ -7808,7 +7808,7 @@ button,
7808
7808
  }
7809
7809
  }
7810
7810
 
7811
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
7811
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
7812
7812
  /* Button - Mojave Theme
7813
7813
  *
7814
7814
  * Colors are the brand's emphasis levels, sizes are control.*, text is the trigger
@@ -7891,6 +7891,27 @@ button,
7891
7891
  box-shadow: 0 0 0 var(--sl-focus-halo-spread) var(--sl-scope-soft-hover);
7892
7892
  }
7893
7893
 
7894
+ /* Link: inline link text, not a box. Accent text and an underline that thickens on hover;
7895
+ no background, border, height or padding, so it sits in a line of text. The focus ring stays. */
7896
+ .Button[data-emphasis='link'] {
7897
+ height: auto;
7898
+ padding: 0;
7899
+ border-color: transparent;
7900
+ background: transparent;
7901
+ color: var(--sl-text-accent);
7902
+ text-decoration: underline;
7903
+ text-decoration-thickness: var(--sl-stroke-default);
7904
+ text-underline-offset: 0.2em;
7905
+ white-space: normal;
7906
+ }
7907
+
7908
+ .Button[data-emphasis='link']:hover:not(:disabled):not([aria-disabled='true']),
7909
+ .Button[data-emphasis='link']:active:not(:disabled):not([aria-disabled='true']) {
7910
+ border-color: transparent;
7911
+ background: transparent;
7912
+ text-decoration-thickness: 2px;
7913
+ }
7914
+
7894
7915
  /* ============================================
7895
7916
  DISABLED STATE
7896
7917
  ============================================ */
@@ -7958,7 +7979,7 @@ button,
7958
7979
  font-size: var(--sl-icon-size-maximize);
7959
7980
  }
7960
7981
 
7961
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
7982
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
7962
7983
  /* Checkbox - Mojave Theme
7963
7984
  * Sizes follow the label: the box is the icon size one tier above the label's text
7964
7985
  * tier (like a button's icon) and the check mark one tier below it.
@@ -8115,7 +8136,7 @@ button,
8115
8136
  border-radius: var(--sl-radius-pill);
8116
8137
  }
8117
8138
 
8118
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
8139
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
8119
8140
  /* Checkbox Group - Mojave Theme */
8120
8141
 
8121
8142
  /* Each checkbox row is already a full tap target tall, so the rows sit close. */
@@ -8131,7 +8152,7 @@ button,
8131
8152
  pointer-events: none;
8132
8153
  }
8133
8154
 
8134
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
8155
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
8135
8156
  /* Collapsible - Mojave Theme
8136
8157
  *
8137
8158
  * No component tokens. Hover, press, chevron and motion are the disclosure concept
@@ -8247,7 +8268,7 @@ button,
8247
8268
  background: var(--sl-surface-raised);
8248
8269
  }
8249
8270
 
8250
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
8271
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
8251
8272
  /* Combobox - Mojave Theme
8252
8273
  *
8253
8274
  * No component tokens. The input is Input (Input.css); the chips box is a field; the
@@ -8732,7 +8753,7 @@ button,
8732
8753
  color: var(--sl-text-tertiary);
8733
8754
  }
8734
8755
 
8735
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
8756
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
8736
8757
  /* Context Menu - Mojave Theme
8737
8758
  *
8738
8759
  * 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
@@ -8901,7 +8922,7 @@ button,
8901
8922
  stroke-width: var(--sl-stroke-default);
8902
8923
  }
8903
8924
 
8904
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
8925
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
8905
8926
  /* Dialog and Alert dialog - Mojave Theme
8906
8927
  *
8907
8928
  * Both are centered modals built from the modal concept (tokens/semantic/modal.json):
@@ -9047,7 +9068,7 @@ button,
9047
9068
  margin-top: var(--sl-modal-actions-spacing);
9048
9069
  }
9049
9070
 
9050
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
9071
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
9051
9072
  /* Drawer - a panel that slides in from an edge and can be swiped away.
9052
9073
  The surface, scrim, heading and motion are the modal concept's (--sl-modal-*), so a
9053
9074
  drawer reads as a dialog's sibling; only its size and grab bar are its own
@@ -9180,7 +9201,7 @@ button,
9180
9201
  color: var(--sl-modal-description-color);
9181
9202
  }
9182
9203
 
9183
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
9204
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
9184
9205
  /* Field - Mojave Theme
9185
9206
  *
9186
9207
  * Label, control, description and error. No component tokens: spacing is the field
@@ -9241,7 +9262,7 @@ textarea.FieldControl {
9241
9262
  height: auto;
9242
9263
  }
9243
9264
 
9244
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
9265
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
9245
9266
  /* Fieldset - Mojave Theme
9246
9267
  *
9247
9268
  * No component tokens: a titled group of fields, spaced by the stack gaps, with
@@ -9283,7 +9304,7 @@ textarea.FieldControl {
9283
9304
  color: var(--sl-text-secondary);
9284
9305
  }
9285
9306
 
9286
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
9307
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
9287
9308
  /* Form - Mojave Theme
9288
9309
  *
9289
9310
  * No component tokens: fields stack with the large block space, and the action
@@ -9303,7 +9324,7 @@ textarea.FieldControl {
9303
9324
  margin-top: var(--sl-space-block-md);
9304
9325
  }
9305
9326
 
9306
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
9327
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
9307
9328
  /* Input - Mojave Theme
9308
9329
  *
9309
9330
  * No component tokens: the look is the field concept (tokens/semantic/field.json),
@@ -9450,7 +9471,7 @@ textarea.FieldControl {
9450
9471
  padding-inline: var(--sl-control-padding-inline-lg);
9451
9472
  }
9452
9473
 
9453
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
9474
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
9454
9475
  /* Menu - Mojave Theme
9455
9476
  *
9456
9477
  * No component tokens. The trigger is a Button. The popup is the popup concept, rows are item rows at the
@@ -9599,7 +9620,7 @@ textarea.FieldControl {
9599
9620
  color: var(--sl-text-tertiary);
9600
9621
  }
9601
9622
 
9602
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
9623
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
9603
9624
  /* Menubar - Mojave Theme
9604
9625
  *
9605
9626
  * No component tokens. A row of quiet triggers, each opening a menu. The popup is the popup concept, rows are item rows at the
@@ -9792,7 +9813,7 @@ textarea.FieldControl {
9792
9813
  color: var(--sl-text-tertiary);
9793
9814
  }
9794
9815
 
9795
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
9816
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
9796
9817
  /* Meter - Mojave Theme
9797
9818
  *
9798
9819
  * A gauge (tokens/semantic/gauge.json). The fill is the solid color of the scope around it:
@@ -9855,7 +9876,7 @@ textarea.FieldControl {
9855
9876
  height: var(--sl-gauge-height-lg);
9856
9877
  }
9857
9878
 
9858
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
9879
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
9859
9880
  /* Navigation Menu - Mojave Theme
9860
9881
  *
9861
9882
  * The strip is the bar concept, the panel is the popup concept and each link is an item
@@ -10275,7 +10296,7 @@ textarea.FieldControl {
10275
10296
  width: 100%;
10276
10297
  }
10277
10298
 
10278
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
10299
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
10279
10300
  /* Number Field - Mojave Theme
10280
10301
  *
10281
10302
  * No component tokens. The input is Input (Input.css) and the label, description and
@@ -10366,7 +10387,7 @@ textarea.FieldControl {
10366
10387
  user-select: none;
10367
10388
  }
10368
10389
 
10369
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
10390
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
10370
10391
  /* OTP Field - Mojave Theme
10371
10392
  *
10372
10393
  * One-time code entry: a row of single-character inputs. Each slot is the same control as Input
@@ -10429,7 +10450,7 @@ textarea.FieldControl {
10429
10450
  letter-spacing: var(--sl-font-body-magnify-letter-spacing);
10430
10451
  }
10431
10452
 
10432
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
10453
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
10433
10454
  /* Popover - Mojave Theme */
10434
10455
 
10435
10456
  /* ============================================
@@ -10594,7 +10615,7 @@ textarea.FieldControl {
10594
10615
  fill: var(--sl-popup-arrow-stroke);
10595
10616
  }
10596
10617
 
10597
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
10618
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
10598
10619
  /* Preview Card - Mojave Theme
10599
10620
  *
10600
10621
  * The popup concept (surface, arrow, motion) with a title-magnify title and condense
@@ -10711,7 +10732,7 @@ textarea.FieldControl {
10711
10732
  fill: var(--sl-popup-arrow-stroke);
10712
10733
  }
10713
10734
 
10714
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
10735
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
10715
10736
  /* Progress - Mojave Theme
10716
10737
  *
10717
10738
  * A gauge (tokens/semantic/gauge.json), the same bar as Meter. The fill is the solid color of
@@ -10788,7 +10809,7 @@ textarea.FieldControl {
10788
10809
  height: var(--sl-gauge-height-lg);
10789
10810
  }
10790
10811
 
10791
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
10812
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
10792
10813
  /* Radio - Mojave Theme
10793
10814
  * Same box as Checkbox, always round. Sizes follow the label the same way, and the
10794
10815
  * dot is a share of the circle (check.dot-scale).
@@ -10940,7 +10961,7 @@ textarea.FieldControl {
10940
10961
  gap: var(--sl-gap-stack-sm);
10941
10962
  }
10942
10963
 
10943
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
10964
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
10944
10965
  /* Scroll Area - Mojave Theme
10945
10966
  *
10946
10967
  * The scrollbar is the content scrollbar (content.scrollbar-*): a track that stays clear until
@@ -11022,7 +11043,7 @@ textarea.FieldControl {
11022
11043
  background: transparent;
11023
11044
  }
11024
11045
 
11025
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
11046
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
11026
11047
  /* Select - Mojave Theme
11027
11048
  *
11028
11049
  * The trigger is a field (the field pattern, control sizes, the base text style); the
@@ -11313,7 +11334,7 @@ textarea.FieldControl {
11313
11334
  stroke-width: var(--sl-stroke-default);
11314
11335
  }
11315
11336
 
11316
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
11337
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
11317
11338
  /* Separator - Mojave Theme
11318
11339
  *
11319
11340
  * A hairline in the everyday divider color (border.default), one stroke thick, with a step of
@@ -11341,7 +11362,7 @@ textarea.FieldControl {
11341
11362
  margin-inline: var(--sl-space-4);
11342
11363
  }
11343
11364
 
11344
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
11365
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
11345
11366
  /* Slider - Mojave Theme
11346
11367
  *
11347
11368
  * A slider is a gauge you can drag: the track, fill and label row are gauge.* (the same bar as
@@ -11507,7 +11528,7 @@ textarea.FieldControl {
11507
11528
  transform: translate(-50%, 50%);
11508
11529
  }
11509
11530
 
11510
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
11531
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
11511
11532
  /* Switch - Mojave Theme
11512
11533
  * Switch keeps its track sizes. The thumb, its travel and the ON/OFF text are
11513
11534
  * worked out from them: the thumb fills the track's height inside the padding,
@@ -11673,7 +11694,7 @@ textarea.FieldControl {
11673
11694
  color: var(--sl-text-disabled);
11674
11695
  }
11675
11696
 
11676
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
11697
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
11677
11698
  /* Tabs - Mojave Theme
11678
11699
  *
11679
11700
  * No component tokens. The divider, the selected line and color, hover and the disabled
@@ -11809,7 +11830,7 @@ textarea.FieldControl {
11809
11830
  padding: var(--sl-space-6);
11810
11831
  }
11811
11832
 
11812
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
11833
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
11813
11834
  /* Toast - Mojave Theme
11814
11835
  *
11815
11836
  * A toast is a notice (tokens/semantic/notice.json) on the popup surface. A toast whose type
@@ -12045,7 +12066,7 @@ textarea.FieldControl {
12045
12066
  flex-shrink: 0;
12046
12067
  }
12047
12068
 
12048
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
12069
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
12049
12070
  /* Toggle - Mojave Theme
12050
12071
  * A toggle is a button that stays pressed: the same heights, padding, gap and
12051
12072
  * trigger text style as a button of the same size. Pressed, it takes its emphasis level's
@@ -12157,7 +12178,7 @@ textarea.FieldControl {
12157
12178
  height: var(--sl-icon-size-maximize);
12158
12179
  }
12159
12180
 
12160
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
12181
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
12161
12182
  /* Toggle Group - Mojave Theme
12162
12183
  *
12163
12184
  * No component tokens. The strip is the bar concept (tokens/semantic/bar.json); the
@@ -12219,7 +12240,7 @@ textarea.FieldControl {
12219
12240
  outline-offset: var(--sl-focus-outline-offset-inset);
12220
12241
  }
12221
12242
 
12222
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
12243
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
12223
12244
  /* Toolbar - Mojave Theme
12224
12245
  *
12225
12246
  * The strip is the bar concept (tokens/semantic/bar.json). Buttons, toggles, selects
@@ -12281,7 +12302,7 @@ textarea.FieldControl {
12281
12302
  max-width: var(--sl-toolbar-input-max-width);
12282
12303
  }
12283
12304
 
12284
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
12305
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
12285
12306
  /* Tooltip - Mojave Theme
12286
12307
  *
12287
12308
  * The inverse surface (surface.inverse, text.on-inverse-surface) with condense text, so a tooltip
@@ -12342,7 +12363,7 @@ textarea.FieldControl {
12342
12363
  }
12343
12364
 
12344
12365
  /* Custom components: not Base UI parts. Built from existing concepts and tokens. */
12345
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
12366
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
12346
12367
  /* Badge
12347
12368
  *
12348
12369
  * A status or count label. Not a Base UI part, and not interactive: no hover or focus.
@@ -12447,7 +12468,7 @@ textarea.FieldControl {
12447
12468
  height: var(--sl-badge-dot-base);
12448
12469
  }
12449
12470
 
12450
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
12471
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
12451
12472
  /*
12452
12473
  * DatePicker: a field that opens a calendar for one date or a period.
12453
12474
  * Not a Base UI part. The popup is Popover on a wide viewport and Drawer
@@ -13037,7 +13058,7 @@ textarea.FieldControl {
13037
13058
  flex-basis: 100%;
13038
13059
  }
13039
13060
 
13040
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
13061
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
13041
13062
  /* Money field
13042
13063
  *
13043
13064
  * An amount of money, built on Number field. The value is an integer in minor units
@@ -13382,7 +13403,7 @@ textarea.FieldControl {
13382
13403
  letter-spacing: var(--sl-font-body-base-letter-spacing);
13383
13404
  }
13384
13405
 
13385
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
13406
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
13386
13407
  /* ListDetail
13387
13408
  *
13388
13409
  * The detail of one item, next to its list. Not a Base UI part. It is a Splitter
@@ -13509,7 +13530,7 @@ textarea.FieldControl {
13509
13530
  background: transparent;
13510
13531
  }
13511
13532
 
13512
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
13533
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
13513
13534
  /* Splitter
13514
13535
  *
13515
13536
  * Two or more panels and a handle between them. Not a Base UI part. It follows the
@@ -13717,7 +13738,7 @@ textarea.FieldControl {
13717
13738
  background: var(--sl-border-default);
13718
13739
  }
13719
13740
 
13720
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
13741
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
13721
13742
  /* EmptyState
13722
13743
  *
13723
13744
  * The block a page, pane, table, list or popup shows when it has nothing to show.
@@ -13973,7 +13994,7 @@ textarea.FieldControl {
13973
13994
  color: inherit;
13974
13995
  }
13975
13996
 
13976
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
13997
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
13977
13998
  /* Table - Mojave Theme
13978
13999
  *
13979
14000
  * Base UI has no table, so this styles the native <table class="Table"> elements with the
@@ -14254,7 +14275,7 @@ textarea.FieldControl {
14254
14275
  color: inherit;
14255
14276
  }
14256
14277
 
14257
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
14278
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
14258
14279
  /* Collection
14259
14280
  *
14260
14281
  * DataTable, DataList, the toolbar and the pagination, in one place so the two views
@@ -14265,7 +14286,7 @@ textarea.FieldControl {
14265
14286
  * the tabs and the search where they are, so selecting rows does not grow the toolbar.
14266
14287
  */
14267
14288
 
14268
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
14289
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
14269
14290
  /* Collection toolbar
14270
14291
  *
14271
14292
  * The wrap follows the toolbar's own width, not the window: a table in a narrow pane wraps
@@ -14477,7 +14498,7 @@ textarea.FieldControl {
14477
14498
  margin-inline-start: auto;
14478
14499
  }
14479
14500
 
14480
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
14501
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
14481
14502
  /* DataTable additions on top of .Table.
14482
14503
  *
14483
14504
  * Sort buttons fill the header cell and inherit its hover, so old aria-sort markup keeps
@@ -14677,7 +14698,7 @@ textarea.FieldControl {
14677
14698
  }
14678
14699
  }
14679
14700
 
14680
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
14701
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
14681
14702
  /* DataList
14682
14703
  *
14683
14704
  * The same rows as the table, in one container with the table's borders, hover, selected
@@ -14819,7 +14840,7 @@ textarea.FieldControl {
14819
14840
  transition: opacity var(--sl-duration-fast) var(--sl-easing-default);
14820
14841
  }
14821
14842
 
14822
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
14843
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
14823
14844
  /* Collection cards
14824
14845
  *
14825
14846
  * The page of a collection as a grid. Columns fill the width, none narrower than
@@ -14844,7 +14865,7 @@ textarea.FieldControl {
14844
14865
  flex: 1 1 auto;
14845
14866
  }
14846
14867
 
14847
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
14868
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
14848
14869
  /* Pagination
14849
14870
  *
14850
14871
  * Not tied to a collection. Anything with a page, a page count and a total can use it.
@@ -14869,7 +14890,7 @@ textarea.FieldControl {
14869
14890
  margin: 0;
14870
14891
  }
14871
14892
 
14872
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
14893
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
14873
14894
  /* EditableList
14874
14895
  *
14875
14896
  * One table at every width, so a field is not submitted twice. Under the stack width each
@@ -14968,7 +14989,7 @@ textarea.FieldControl {
14968
14989
  }
14969
14990
  }
14970
14991
 
14971
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
14992
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
14972
14993
  /* Sheet
14973
14994
  *
14974
14995
  * A working-paper surface: the raised surface with a heavier rule across its top
@@ -15086,7 +15107,7 @@ textarea.FieldControl {
15086
15107
  border-top: 0;
15087
15108
  }
15088
15109
 
15089
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
15110
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
15090
15111
  /* StatFigure
15091
15112
  *
15092
15113
  * One large figure with a caps label above and a caption under it. The label is
@@ -15147,7 +15168,7 @@ textarea.FieldControl {
15147
15168
  color: var(--sl-stat-figure-caption-color);
15148
15169
  }
15149
15170
 
15150
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
15171
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
15151
15172
  /* StatCard
15152
15173
  *
15153
15174
  * A card for one thing a page lists: a name (the heading), a caption, and a row of StatFigures
@@ -15309,7 +15330,7 @@ textarea.FieldControl {
15309
15330
  white-space: nowrap;
15310
15331
  }
15311
15332
 
15312
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
15333
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
15313
15334
  /* DescriptionList
15314
15335
  *
15315
15336
  * Label and value pairs in a native dl, one DescriptionItem (a div holding a dt and a dd)
@@ -15387,7 +15408,7 @@ textarea.FieldControl {
15387
15408
  text-align: end;
15388
15409
  }
15389
15410
 
15390
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
15411
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
15391
15412
  /* FormGrid
15392
15413
  *
15393
15414
  * Fields on a grid. Columns are as wide as the space allows up to --form-grid-columns
@@ -15424,7 +15445,99 @@ textarea.FieldControl {
15424
15445
  align-self: end;
15425
15446
  }
15426
15447
 
15427
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
15448
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
15449
+ /* Notice
15450
+ *
15451
+ * A message in the page: a thick leading edge and a tinted ground. data-status picks the
15452
+ * status palette (info, success, warning, error); without it the notice is neutral.
15453
+ * data-technical sets the text in the code style on a neutral ground, for a rare technical
15454
+ * message shown as it came. The corners stay square so the edge reads as a rule.
15455
+ */
15456
+
15457
+ .Notice {
15458
+ font-family: var(--sl-font-body-base-font-family);
15459
+ font-size: var(--sl-font-body-base-font-size);
15460
+ font-weight: var(--sl-font-body-base-font-weight);
15461
+ line-height: var(--sl-font-body-base-line-height);
15462
+ letter-spacing: var(--sl-font-body-base-letter-spacing);
15463
+ --notice-edge: var(--sl-border-strong);
15464
+ --notice-ground: var(--sl-surface-tray);
15465
+ margin: 0;
15466
+ padding: var(--sl-space-2) var(--sl-space-3);
15467
+ border: var(--sl-stroke-default) solid var(--notice-edge);
15468
+ border-inline-start-width: 4px;
15469
+ background: var(--notice-ground);
15470
+ color: var(--sl-text-primary);
15471
+ overflow-wrap: anywhere;
15472
+ }
15473
+
15474
+ .Notice[data-status='error'] {
15475
+ --notice-edge: var(--sl-status-error);
15476
+ --notice-ground: var(--sl-status-error-light);
15477
+ }
15478
+
15479
+ .Notice[data-status='warning'] {
15480
+ --notice-edge: var(--sl-status-warning);
15481
+ --notice-ground: var(--sl-status-warning-light);
15482
+ }
15483
+
15484
+ .Notice[data-status='success'] {
15485
+ --notice-edge: var(--sl-status-success);
15486
+ --notice-ground: var(--sl-status-success-light);
15487
+ }
15488
+
15489
+ .Notice[data-status='info'] {
15490
+ --notice-edge: var(--sl-status-info);
15491
+ --notice-ground: var(--sl-status-info-light);
15492
+ }
15493
+
15494
+ .Notice[data-technical] {
15495
+ font-family: var(--sl-font-code-condense-font-family);
15496
+ font-size: var(--sl-font-code-condense-font-size);
15497
+ font-weight: var(--sl-font-code-condense-font-weight);
15498
+ line-height: var(--sl-font-code-condense-line-height);
15499
+ letter-spacing: var(--sl-font-code-condense-letter-spacing);
15500
+ --notice-edge: var(--sl-border-strong);
15501
+ --notice-ground: var(--sl-surface-tray);
15502
+ }
15503
+
15504
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
15505
+ /* Spinner
15506
+ *
15507
+ * A ring that turns: the track in the subtle border, the moving arc in the accent border.
15508
+ * Sizes are the icon tiers, so a spinner can stand in for an icon. Reduced motion slows it.
15509
+ */
15510
+
15511
+ .Spinner {
15512
+ --spinner-size: var(--sl-icon-size-maximize);
15513
+ display: inline-block;
15514
+ flex-shrink: 0;
15515
+ box-sizing: border-box;
15516
+ width: var(--spinner-size);
15517
+ height: var(--spinner-size);
15518
+ border: max(2px, calc(var(--spinner-size) / 9)) solid var(--sl-border-subtle);
15519
+ border-top-color: var(--sl-border-accent);
15520
+ border-radius: 50%;
15521
+ animation: spinner-turn 0.9s linear infinite;
15522
+ }
15523
+
15524
+ .Spinner[data-size='condense'] { --spinner-size: var(--sl-icon-size-condense); }
15525
+ .Spinner[data-size='base'] { --spinner-size: var(--sl-icon-size-base); }
15526
+ .Spinner[data-size='magnify'] { --spinner-size: var(--sl-icon-size-magnify); }
15527
+
15528
+ @keyframes spinner-turn {
15529
+ to {
15530
+ transform: rotate(360deg);
15531
+ }
15532
+ }
15533
+
15534
+ @media (prefers-reduced-motion: reduce) {
15535
+ .Spinner {
15536
+ animation-duration: 3s;
15537
+ }
15538
+ }
15539
+
15540
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
15428
15541
  /* AppBar
15429
15542
  *
15430
15543
  * The bar across the top of an app window, one row on a line in the rule color. The line is
@@ -15458,7 +15571,7 @@ textarea.FieldControl {
15458
15571
  background: var(--sl-app-bar-divider-color);
15459
15572
  }
15460
15573
 
15461
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
15574
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
15462
15575
  /* PickerButton
15463
15576
  *
15464
15577
  * A trigger with a caps label before the current choice: CLIENT Alpha Services. The field
@@ -15558,7 +15671,7 @@ textarea.FieldControl {
15558
15671
  transform: rotate(180deg);
15559
15672
  }
15560
15673
 
15561
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
15674
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
15562
15675
  /* MultiSelect
15563
15676
  *
15564
15677
  * A PickerButton trigger that opens a popover of checkbox rows (label, count at the end) and a
@@ -15612,7 +15725,7 @@ textarea.FieldControl {
15612
15725
  border-top: 1px solid var(--sl-popup-separator-color);
15613
15726
  }
15614
15727
 
15615
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
15728
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
15616
15729
  /* PickerSplit
15617
15730
  *
15618
15731
  * A PickerButton whose choice is itself a control: the main part (CLIENT Alpha Services) acts,
@@ -15710,7 +15823,7 @@ textarea.FieldControl {
15710
15823
  transform: rotate(180deg);
15711
15824
  }
15712
15825
 
15713
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
15826
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
15714
15827
  /* SplitButton
15715
15828
  *
15716
15829
  * A Button and a square Menu trigger side by side, joined into one outline: the inner corners
@@ -15734,7 +15847,7 @@ textarea.FieldControl {
15734
15847
  margin-inline-start: -1px;
15735
15848
  }
15736
15849
 
15737
- /* @scattered-light/loomiere-base-ui 0.23.0 · styles for @base-ui/react 1.9.0 */
15850
+ /* @scattered-light/loomiere-base-ui 0.24.0 · styles for @base-ui/react 1.9.0 */
15738
15851
  /* SideNav
15739
15852
  *
15740
15853
  * The column of links down the side of a workspace. Rows are ruled apart with a hairline; the