@scattered-light/loomiere-base-ui 0.8.0 → 0.9.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.
Files changed (80) hide show
  1. package/README.md +27 -1
  2. package/dist/{chunk-LJQ3RZDJ.js → chunk-LQWPDLLQ.js} +18 -3
  3. package/dist/chunk-LQWPDLLQ.js.map +1 -0
  4. package/dist/custom/index.d.ts +1 -1
  5. package/dist/custom/index.js +1 -1
  6. package/dist/design-system/components/AppBar/README.md +58 -0
  7. package/dist/design-system/components/AppBar/preview.html +19 -0
  8. package/dist/design-system/components/PickerButton/README.md +56 -0
  9. package/dist/design-system/components/PickerButton/preview.html +19 -0
  10. package/dist/design-system/components/ToggleGroup/README.md +2 -2
  11. package/dist/design-system/components/ToggleGroup/preview.html +1 -1
  12. package/dist/design-system/components/bundle.js +7 -7
  13. package/dist/design-system/components/index.d.ts +1 -1
  14. package/dist/design-system/components/styles.css +218 -57
  15. package/dist/{index-CBAo353T.d.ts → index-DdHpYalU.d.ts} +30 -1
  16. package/dist/index.d.ts +1 -1
  17. package/dist/index.js +1 -1
  18. package/dist/styles/components/Accordion.css +1 -1
  19. package/dist/styles/components/AlertDialog.css +1 -1
  20. package/dist/styles/components/Autocomplete.css +1 -1
  21. package/dist/styles/components/Avatar.css +1 -1
  22. package/dist/styles/components/Button.css +1 -1
  23. package/dist/styles/components/Checkbox.css +1 -1
  24. package/dist/styles/components/CheckboxGroup.css +1 -1
  25. package/dist/styles/components/Collapsible.css +1 -1
  26. package/dist/styles/components/Combobox.css +1 -1
  27. package/dist/styles/components/ContextMenu.css +1 -1
  28. package/dist/styles/components/Dialog.css +1 -1
  29. package/dist/styles/components/Drawer.css +1 -1
  30. package/dist/styles/components/Field.css +1 -1
  31. package/dist/styles/components/Fieldset.css +1 -1
  32. package/dist/styles/components/Form.css +1 -1
  33. package/dist/styles/components/Input.css +1 -1
  34. package/dist/styles/components/Menu.css +1 -1
  35. package/dist/styles/components/Menubar.css +1 -1
  36. package/dist/styles/components/Meter.css +1 -1
  37. package/dist/styles/components/NavigationMenu.css +1 -1
  38. package/dist/styles/components/NumberField.css +1 -1
  39. package/dist/styles/components/OTPField.css +1 -1
  40. package/dist/styles/components/Popover.css +1 -1
  41. package/dist/styles/components/PreviewCard.css +1 -1
  42. package/dist/styles/components/Progress.css +1 -1
  43. package/dist/styles/components/Radio.css +1 -1
  44. package/dist/styles/components/ScrollArea.css +1 -1
  45. package/dist/styles/components/Select.css +1 -1
  46. package/dist/styles/components/Separator.css +1 -1
  47. package/dist/styles/components/Slider.css +1 -1
  48. package/dist/styles/components/Switch.css +1 -1
  49. package/dist/styles/components/Tabs.css +1 -1
  50. package/dist/styles/components/Toast.css +1 -1
  51. package/dist/styles/components/Toggle.css +1 -1
  52. package/dist/styles/components/ToggleGroup.css +42 -1
  53. package/dist/styles/components/Toolbar.css +1 -1
  54. package/dist/styles/components/Tooltip.css +1 -1
  55. package/dist/styles/custom/AppBar.css +33 -0
  56. package/dist/styles/custom/Badge.css +1 -1
  57. package/dist/styles/custom/Collection.css +1 -1
  58. package/dist/styles/custom/CollectionPagination.css +1 -1
  59. package/dist/styles/custom/CollectionToolbar.css +1 -1
  60. package/dist/styles/custom/DataList.css +1 -1
  61. package/dist/styles/custom/DataTable.css +1 -1
  62. package/dist/styles/custom/DatePicker.css +1 -1
  63. package/dist/styles/custom/DescriptionList.css +1 -1
  64. package/dist/styles/custom/EditableList.css +1 -1
  65. package/dist/styles/custom/EmptyState.css +1 -1
  66. package/dist/styles/custom/ListDetail.css +1 -1
  67. package/dist/styles/custom/MoneyField.css +1 -1
  68. package/dist/styles/custom/PickerButton.css +85 -0
  69. package/dist/styles/custom/Sheet.css +1 -1
  70. package/dist/styles/custom/Splitter.css +1 -1
  71. package/dist/styles/custom/StatFigure.css +1 -1
  72. package/dist/styles/custom/Table.css +1 -1
  73. package/dist/styles/index.css +3 -1
  74. package/dist/styles/reset/accessibility.css +1 -1
  75. package/dist/styles/reset/reset-accessibility.css +1 -1
  76. package/dist/styles/reset/reset-tailwind.css +1 -1
  77. package/dist/styles/reset/reset.css +1 -1
  78. package/dist/styles/tailwind.css +3 -1
  79. package/package.json +2 -2
  80. package/dist/chunk-LJQ3RZDJ.js.map +0 -1
@@ -7,7 +7,7 @@ import { Fieldset as Fieldset$1 } from '@base-ui/react/fieldset';
7
7
  import { Form as Form$1 } from '@base-ui/react/form';
8
8
  import { NavigationMenu as NavigationMenu$1 } from '@base-ui/react/navigation-menu';
9
9
  import { Select as Select$1 } from '@base-ui/react/select';
10
- export { B as Badge, a as BadgeProps, C as Calendar, b as CalendarProps, c as CurrencyCode, D as DatePicker, d as DatePickerProps, e as DatePresets, f as DatePresetsProps, g as DateRange, h as DateValue, i as DescriptionItem, j as DescriptionItemProps, k as DescriptionList, l as DescriptionListProps, E as EditableList, m as EditableListApi, n as EditableListRootProps, o as EmptyState, p as EmptyStateKind, q as EmptyStateProps, L as ListDetail, r as ListDetailCloseReason, s as ListDetailDetailProps, t as ListDetailLayout, u as ListDetailRootProps, v as ListDetailValue, M as MoneyField, w as MoneyFieldProps, x as MoneyFieldRootProps, N as NumberField, y as NumberFieldLabelProps, P as Preset, z as PresetValue, S as Sheet, A as SheetProps, F as Splitter, G as SplitterHandleProps, H as SplitterPanelProps, I as SplitterRootProps, J as StatFigure, K as StatFigureProps, O as addDays, Q as addMonths, R as builtinPresets, T as clampDate, U as daysInMonth, V as defaultPresets, W as defaultWeekStartsOn, X as endOfWeek, Y as formatMoney, Z as fromMinorUnits, _ as getCurrencyDigits, $ as inclusiveDays, a0 as isValidCurrency, a1 as isoWeek, a2 as last30Days, a3 as last7Days, a4 as lastMonth, a5 as lastWeek, a6 as lengthBlockReason, a7 as nextMonth, a8 as nextWeek, a9 as orderRange, aa as parseDecimalString, ab as resolvePreset, ac as startOfWeek, ad as thisMonth, ae as thisQuarter, af as thisWeek, ag as toDecimalString, ah as toMinorUnits, ai as today, aj as todayDate, ak as tomorrow, al as useListDetail, am as yearToDate, an as yesterday } from './index-CBAo353T.js';
10
+ export { A as AppBar, a as AppBarProps, b as AppBarSpacer, c as AppBarSpacerProps, B as Badge, d as BadgeProps, C as Calendar, e as CalendarProps, f as CurrencyCode, D as DatePicker, g as DatePickerProps, h as DatePresets, i as DatePresetsProps, j as DateRange, k as DateValue, l as DescriptionItem, m as DescriptionItemProps, n as DescriptionList, o as DescriptionListProps, E as EditableList, p as EditableListApi, q as EditableListRootProps, r as EmptyState, s as EmptyStateKind, t as EmptyStateProps, L as ListDetail, u as ListDetailCloseReason, v as ListDetailDetailProps, w as ListDetailLayout, x as ListDetailRootProps, y as ListDetailValue, M as MoneyField, z as MoneyFieldProps, F as MoneyFieldRootProps, N as NumberField, G as NumberFieldLabelProps, P as PickerButton, H as PickerButtonProps, I as Preset, J as PresetValue, S as Sheet, K as SheetProps, O as Splitter, Q as SplitterHandleProps, R as SplitterPanelProps, T as SplitterRootProps, U as StatFigure, V as StatFigureProps, W as addDays, X as addMonths, Y as builtinPresets, Z as clampDate, _ as daysInMonth, $ as defaultPresets, a0 as defaultWeekStartsOn, a1 as endOfWeek, a2 as formatMoney, a3 as fromMinorUnits, a4 as getCurrencyDigits, a5 as inclusiveDays, a6 as isValidCurrency, a7 as isoWeek, a8 as last30Days, a9 as last7Days, aa as lastMonth, ab as lastWeek, ac as lengthBlockReason, ad as nextMonth, ae as nextWeek, af as orderRange, ag as parseDecimalString, ah as resolvePreset, ai as startOfWeek, aj as thisMonth, ak as thisQuarter, al as thisWeek, am as toDecimalString, an as toMinorUnits, ao as today, ap as todayDate, aq as tomorrow, ar as useListDetail, as as yearToDate, at as yesterday } from './index-DdHpYalU.js';
11
11
  import * as _base_ui_react_internals_filter from '@base-ui/react/internals/filter';
12
12
  import { AutocompleteRootProps, Autocomplete as Autocomplete$1 } from '@base-ui/react/autocomplete';
13
13
  import { ComboboxRootProps, Combobox as Combobox$1 } from '@base-ui/react/combobox';
@@ -1,5 +1,5 @@
1
1
  @import url('https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,400,0..1,0');
2
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
3
3
  /* Loomiere for Base UI: component styles. Brand-free: every value is a --sl- variable from a
4
4
  Loomiere theme. Load the theme first:
5
5
  @import '<your theme>/tokens.css';
@@ -9,7 +9,7 @@
9
9
  /* Document defaults, in the reset layer so any unlayered rule wins over them, and so layered
10
10
  frameworks (Chakra's recipes, Tailwind's utilities) are not undone by them. */
11
11
  @layer reset {
12
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
12
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
13
13
  /* CSS Reset - Mojave Theme */
14
14
 
15
15
  /* ============================================
@@ -453,7 +453,7 @@ hr {
453
453
  }
454
454
  }
455
455
  @layer reset {
456
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
456
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
457
457
  /* Accessibility — base rules (no theme color dependencies). Theme-specific focus/invalid: accessibility-theme.css */
458
458
 
459
459
  /* Remove default focus; keyboard focus styled in accessibility-theme.css */
@@ -566,7 +566,7 @@ main:focus {
566
566
 
567
567
  }
568
568
  @layer reset {
569
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
569
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
570
570
  /* Focus, invalid, contrast — requires theme tokens (after theme-accessibility.css). */
571
571
 
572
572
  :focus-visible {
@@ -634,7 +634,7 @@ button,
634
634
 
635
635
  }
636
636
  /* Component styles */
637
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
637
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
638
638
  /* Accordion - Mojave Theme
639
639
  *
640
640
  * No component tokens. Hover, press, chevron, divider and motion are the disclosure
@@ -755,7 +755,7 @@ button,
755
755
  overflow: hidden;
756
756
  }
757
757
 
758
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
758
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
759
759
  /* Alert Dialog - Mojave Theme
760
760
  *
761
761
  * No component tokens and no rules of its own. An alert dialog looks exactly like a
@@ -764,7 +764,7 @@ button,
764
764
  * cancel quiet, and a destructive one bold with data-color="error".
765
765
  */
766
766
 
767
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
767
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
768
768
  /* Autocomplete - Mojave Theme
769
769
  *
770
770
  * No component tokens. The input is Input (Input.css), the clear button is an icon
@@ -966,7 +966,7 @@ button,
966
966
  (reset-accessibility.css).
967
967
  ============================================ */
968
968
 
969
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
969
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
970
970
  /* Avatar - Mojave Theme
971
971
  *
972
972
  * A round picture with a ring in the page color, so avatars in a group cut out of each other in
@@ -1074,7 +1074,7 @@ button,
1074
1074
  }
1075
1075
  }
1076
1076
 
1077
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
1077
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
1078
1078
  /* Button - Mojave Theme
1079
1079
  *
1080
1080
  * Colors are the brand's emphasis levels, sizes are control.*, text is the trigger
@@ -1224,7 +1224,7 @@ button,
1224
1224
  font-size: var(--sl-icon-size-maximize);
1225
1225
  }
1226
1226
 
1227
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
1227
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
1228
1228
  /* Checkbox - Mojave Theme
1229
1229
  * Sizes follow the label: the box is the icon size one tier above the label's text
1230
1230
  * tier (like a button's icon) and the check mark one tier below it.
@@ -1381,7 +1381,7 @@ button,
1381
1381
  border-radius: var(--sl-radius-pill);
1382
1382
  }
1383
1383
 
1384
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
1384
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
1385
1385
  /* Checkbox Group - Mojave Theme */
1386
1386
 
1387
1387
  /* Each checkbox row is already a full tap target tall, so the rows sit close. */
@@ -1397,7 +1397,7 @@ button,
1397
1397
  pointer-events: none;
1398
1398
  }
1399
1399
 
1400
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
1400
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
1401
1401
  /* Collapsible - Mojave Theme
1402
1402
  *
1403
1403
  * No component tokens. Hover, press, chevron and motion are the disclosure concept
@@ -1513,7 +1513,7 @@ button,
1513
1513
  background: var(--sl-surface-raised);
1514
1514
  }
1515
1515
 
1516
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
1516
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
1517
1517
  /* Combobox - Mojave Theme
1518
1518
  *
1519
1519
  * No component tokens. The input is Input (Input.css); the chips box is a field; the
@@ -1998,7 +1998,7 @@ button,
1998
1998
  color: var(--sl-text-tertiary);
1999
1999
  }
2000
2000
 
2001
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2001
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
2002
2002
  /* Context Menu - Mojave Theme
2003
2003
  *
2004
2004
  * No component tokens. Opens on right-click; the trigger area only sets the cursor. The popup is the popup concept, rows are item rows at the
@@ -2167,7 +2167,7 @@ button,
2167
2167
  stroke-width: var(--sl-stroke-default);
2168
2168
  }
2169
2169
 
2170
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2170
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
2171
2171
  /* Dialog and Alert dialog - Mojave Theme
2172
2172
  *
2173
2173
  * Both are centered modals built from the modal concept (tokens/semantic/modal.json):
@@ -2313,7 +2313,7 @@ button,
2313
2313
  margin-top: var(--sl-modal-actions-spacing);
2314
2314
  }
2315
2315
 
2316
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2316
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
2317
2317
  /* Drawer - a panel that slides in from an edge and can be swiped away.
2318
2318
  The surface, scrim, heading and motion are the modal concept's (--sl-modal-*), so a
2319
2319
  drawer reads as a dialog's sibling; only its size and grab bar are its own
@@ -2446,7 +2446,7 @@ button,
2446
2446
  color: var(--sl-modal-description-color);
2447
2447
  }
2448
2448
 
2449
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2449
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
2450
2450
  /* Field - Mojave Theme
2451
2451
  *
2452
2452
  * Label, control, description and error. No component tokens: spacing is the field
@@ -2507,7 +2507,7 @@ textarea.FieldControl {
2507
2507
  height: auto;
2508
2508
  }
2509
2509
 
2510
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2510
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
2511
2511
  /* Fieldset - Mojave Theme
2512
2512
  *
2513
2513
  * No component tokens: a titled group of fields, spaced by the stack gaps, with
@@ -2549,7 +2549,7 @@ textarea.FieldControl {
2549
2549
  color: var(--sl-text-secondary);
2550
2550
  }
2551
2551
 
2552
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2552
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
2553
2553
  /* Form - Mojave Theme
2554
2554
  *
2555
2555
  * No component tokens: fields stack with the large block space, and the action
@@ -2569,7 +2569,7 @@ textarea.FieldControl {
2569
2569
  margin-top: var(--sl-space-block-md);
2570
2570
  }
2571
2571
 
2572
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2572
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
2573
2573
  /* Input - Mojave Theme
2574
2574
  *
2575
2575
  * No component tokens: the look is the field concept (tokens/semantic/field.json),
@@ -2706,7 +2706,7 @@ textarea.FieldControl {
2706
2706
  padding-inline: var(--sl-control-padding-inline-lg);
2707
2707
  }
2708
2708
 
2709
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2709
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
2710
2710
  /* Menu - Mojave Theme
2711
2711
  *
2712
2712
  * No component tokens. The trigger is a Button. The popup is the popup concept, rows are item rows at the
@@ -2855,7 +2855,7 @@ textarea.FieldControl {
2855
2855
  color: var(--sl-text-tertiary);
2856
2856
  }
2857
2857
 
2858
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2858
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
2859
2859
  /* Menubar - Mojave Theme
2860
2860
  *
2861
2861
  * No component tokens. A row of quiet triggers, each opening a menu. The popup is the popup concept, rows are item rows at the
@@ -3048,7 +3048,7 @@ textarea.FieldControl {
3048
3048
  color: var(--sl-text-tertiary);
3049
3049
  }
3050
3050
 
3051
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
3051
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
3052
3052
  /* Meter - Mojave Theme
3053
3053
  *
3054
3054
  * A gauge (tokens/semantic/gauge.json). The fill is the solid color of the scope around it:
@@ -3111,7 +3111,7 @@ textarea.FieldControl {
3111
3111
  height: var(--sl-gauge-height-lg);
3112
3112
  }
3113
3113
 
3114
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
3114
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
3115
3115
  /* Navigation Menu - Mojave Theme
3116
3116
  *
3117
3117
  * The strip is the bar concept, the panel is the popup concept and each link is an item
@@ -3531,7 +3531,7 @@ textarea.FieldControl {
3531
3531
  width: 100%;
3532
3532
  }
3533
3533
 
3534
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
3534
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
3535
3535
  /* Number Field - Mojave Theme
3536
3536
  *
3537
3537
  * No component tokens. The input is Input (Input.css) and the label, description and
@@ -3622,7 +3622,7 @@ textarea.FieldControl {
3622
3622
  user-select: none;
3623
3623
  }
3624
3624
 
3625
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
3625
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
3626
3626
  /* OTP Field - Mojave Theme
3627
3627
  *
3628
3628
  * One-time code entry: a row of single-character inputs. Each slot is the same control as Input
@@ -3685,7 +3685,7 @@ textarea.FieldControl {
3685
3685
  letter-spacing: var(--sl-font-body-magnify-letter-spacing);
3686
3686
  }
3687
3687
 
3688
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
3688
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
3689
3689
  /* Popover - Mojave Theme */
3690
3690
 
3691
3691
  /* ============================================
@@ -3850,7 +3850,7 @@ textarea.FieldControl {
3850
3850
  fill: var(--sl-popup-arrow-stroke);
3851
3851
  }
3852
3852
 
3853
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
3853
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
3854
3854
  /* Preview Card - Mojave Theme
3855
3855
  *
3856
3856
  * The popup concept (surface, arrow, motion) with a title-magnify title and condense
@@ -3967,7 +3967,7 @@ textarea.FieldControl {
3967
3967
  fill: var(--sl-popup-arrow-stroke);
3968
3968
  }
3969
3969
 
3970
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
3970
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
3971
3971
  /* Progress - Mojave Theme
3972
3972
  *
3973
3973
  * A gauge (tokens/semantic/gauge.json), the same bar as Meter. The fill is the solid color of
@@ -4044,7 +4044,7 @@ textarea.FieldControl {
4044
4044
  height: var(--sl-gauge-height-lg);
4045
4045
  }
4046
4046
 
4047
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
4047
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
4048
4048
  /* Radio - Mojave Theme
4049
4049
  * Same box as Checkbox, always round. Sizes follow the label the same way, and the
4050
4050
  * dot is a share of the circle (check.dot-scale).
@@ -4196,7 +4196,7 @@ textarea.FieldControl {
4196
4196
  gap: var(--sl-gap-stack-sm);
4197
4197
  }
4198
4198
 
4199
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
4199
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
4200
4200
  /* Scroll Area - Mojave Theme
4201
4201
  *
4202
4202
  * The scrollbar is the content scrollbar (content.scrollbar-*): a track that stays clear until
@@ -4278,7 +4278,7 @@ textarea.FieldControl {
4278
4278
  background: transparent;
4279
4279
  }
4280
4280
 
4281
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
4281
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
4282
4282
  /* Select - Mojave Theme
4283
4283
  *
4284
4284
  * The trigger is a field (the field pattern, control sizes, the base text style); the
@@ -4563,7 +4563,7 @@ textarea.FieldControl {
4563
4563
  stroke-width: var(--sl-stroke-default);
4564
4564
  }
4565
4565
 
4566
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
4566
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
4567
4567
  /* Separator - Mojave Theme
4568
4568
  *
4569
4569
  * A hairline in the everyday divider color (border.default), one stroke thick, with a step of
@@ -4591,7 +4591,7 @@ textarea.FieldControl {
4591
4591
  margin-inline: var(--sl-space-4);
4592
4592
  }
4593
4593
 
4594
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
4594
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
4595
4595
  /* Slider - Mojave Theme
4596
4596
  *
4597
4597
  * A slider is a gauge you can drag: the track, fill and label row are gauge.* (the same bar as
@@ -4757,7 +4757,7 @@ textarea.FieldControl {
4757
4757
  transform: translate(-50%, 50%);
4758
4758
  }
4759
4759
 
4760
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
4760
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
4761
4761
  /* Switch - Mojave Theme
4762
4762
  * Switch keeps its track sizes. The thumb, its travel and the ON/OFF text are
4763
4763
  * worked out from them: the thumb fills the track's height inside the padding,
@@ -4923,7 +4923,7 @@ textarea.FieldControl {
4923
4923
  color: var(--sl-text-disabled);
4924
4924
  }
4925
4925
 
4926
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
4926
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
4927
4927
  /* Tabs - Mojave Theme
4928
4928
  *
4929
4929
  * No component tokens. The divider, the selected line and color, hover and the disabled
@@ -5059,7 +5059,7 @@ textarea.FieldControl {
5059
5059
  padding: var(--sl-space-6);
5060
5060
  }
5061
5061
 
5062
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
5062
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
5063
5063
  /* Toast - Mojave Theme
5064
5064
  *
5065
5065
  * A toast is a notice (tokens/semantic/notice.json) on the popup surface. A toast whose type
@@ -5295,7 +5295,7 @@ textarea.FieldControl {
5295
5295
  flex-shrink: 0;
5296
5296
  }
5297
5297
 
5298
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
5298
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
5299
5299
  /* Toggle - Mojave Theme
5300
5300
  * A toggle is a button that stays pressed: the same heights, padding, gap and
5301
5301
  * trigger text style as a button of the same size. Pressed, it takes its emphasis level's
@@ -5407,7 +5407,7 @@ textarea.FieldControl {
5407
5407
  height: var(--sl-icon-size-maximize);
5408
5408
  }
5409
5409
 
5410
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
5410
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
5411
5411
  /* Toggle Group - Mojave Theme
5412
5412
  *
5413
5413
  * No component tokens. The strip is the bar concept (tokens/semantic/bar.json); the
@@ -5428,7 +5428,48 @@ textarea.FieldControl {
5428
5428
  border-radius: var(--sl-radius-item);
5429
5429
  }
5430
5430
 
5431
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
5431
+ /* ============================================
5432
+ SEGMENTED (data-variant="segmented")
5433
+ Joined toggles in one outline, the pressed one filled solid: a switch between a few
5434
+ views or modules. Tokens: toggle-group.segmented-* (tokens/component/toggle-group.json).
5435
+ ============================================ */
5436
+
5437
+ .ToggleGroup[data-variant='segmented'] {
5438
+ padding: 0;
5439
+ gap: 0;
5440
+ background: var(--sl-toggle-group-segmented-background);
5441
+ border: var(--sl-stroke-default) solid var(--sl-toggle-group-segmented-border-color);
5442
+ border-radius: var(--sl-radius-chrome);
5443
+ overflow: hidden;
5444
+ }
5445
+
5446
+ .ToggleGroup[data-variant='segmented'] .Toggle {
5447
+ height: calc(var(--sl-control-height-md) - 2 * var(--sl-stroke-default));
5448
+ border: 0;
5449
+ border-radius: 0;
5450
+ background: transparent;
5451
+ color: var(--sl-text-primary);
5452
+ }
5453
+
5454
+ .ToggleGroup[data-variant='segmented'] .Toggle + .Toggle {
5455
+ border-inline-start: var(--sl-stroke-default) solid var(--sl-toggle-group-segmented-border-color);
5456
+ }
5457
+
5458
+ .ToggleGroup[data-variant='segmented'] .Toggle:hover:not([data-disabled]):not(:disabled) {
5459
+ background: var(--sl-fill-subtle);
5460
+ }
5461
+
5462
+ .ToggleGroup[data-variant='segmented'] .Toggle[data-pressed],
5463
+ .ToggleGroup[data-variant='segmented'] .Toggle[data-pressed]:hover:not([data-disabled]):not(:disabled) {
5464
+ background: var(--sl-toggle-group-segmented-pressed-background);
5465
+ color: var(--sl-toggle-group-segmented-pressed-color);
5466
+ }
5467
+
5468
+ .ToggleGroup[data-variant='segmented'] .Toggle:focus-visible {
5469
+ outline-offset: var(--sl-focus-outline-offset-inset);
5470
+ }
5471
+
5472
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
5432
5473
  /* Toolbar - Mojave Theme
5433
5474
  *
5434
5475
  * The strip is the bar concept (tokens/semantic/bar.json). Buttons, toggles, selects
@@ -5490,7 +5531,7 @@ textarea.FieldControl {
5490
5531
  max-width: var(--sl-toolbar-input-max-width);
5491
5532
  }
5492
5533
 
5493
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
5534
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
5494
5535
  /* Tooltip - Mojave Theme
5495
5536
  *
5496
5537
  * The inverse surface (surface.inverse, text.on-inverse-surface) with condense text, so a tooltip
@@ -5551,7 +5592,7 @@ textarea.FieldControl {
5551
5592
  }
5552
5593
 
5553
5594
  /* Custom components: not Base UI parts. Built from existing concepts and tokens. */
5554
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
5595
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
5555
5596
  /* Badge
5556
5597
  *
5557
5598
  * A status or count label. Not a Base UI part, and not interactive: no hover or focus.
@@ -5656,7 +5697,7 @@ textarea.FieldControl {
5656
5697
  height: var(--sl-badge-dot-base);
5657
5698
  }
5658
5699
 
5659
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
5700
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
5660
5701
  /*
5661
5702
  * DatePicker: a field that opens a calendar for one date or a period.
5662
5703
  * Not a Base UI part. The popup is Popover on a wide viewport and Drawer
@@ -6229,7 +6270,7 @@ textarea.FieldControl {
6229
6270
  flex-basis: 100%;
6230
6271
  }
6231
6272
 
6232
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
6273
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
6233
6274
  /* Money field
6234
6275
  *
6235
6276
  * An amount of money, built on Number field. The value is an integer in minor units
@@ -6574,7 +6615,7 @@ textarea.FieldControl {
6574
6615
  letter-spacing: var(--sl-font-body-base-letter-spacing);
6575
6616
  }
6576
6617
 
6577
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
6618
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
6578
6619
  /* ListDetail
6579
6620
  *
6580
6621
  * The detail of one item, next to its list. Not a Base UI part. It is a Splitter
@@ -6701,7 +6742,7 @@ textarea.FieldControl {
6701
6742
  background: transparent;
6702
6743
  }
6703
6744
 
6704
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
6745
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
6705
6746
  /* Splitter
6706
6747
  *
6707
6748
  * Two or more panels and a handle between them. Not a Base UI part. It follows the
@@ -6909,7 +6950,7 @@ textarea.FieldControl {
6909
6950
  background: var(--sl-border-default);
6910
6951
  }
6911
6952
 
6912
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
6953
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
6913
6954
  /* EmptyState
6914
6955
  *
6915
6956
  * The block a page, pane, table, list or popup shows when it has nothing to show.
@@ -7165,7 +7206,7 @@ textarea.FieldControl {
7165
7206
  color: inherit;
7166
7207
  }
7167
7208
 
7168
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
7209
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
7169
7210
  /* Table - Mojave Theme
7170
7211
  *
7171
7212
  * Base UI has no table, so this styles the native <table class="Table"> elements with the
@@ -7399,7 +7440,7 @@ textarea.FieldControl {
7399
7440
  color: inherit;
7400
7441
  }
7401
7442
 
7402
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
7443
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
7403
7444
  /* Collection
7404
7445
  *
7405
7446
  * DataTable, DataList, the toolbar and the pagination, in one place so the two views
@@ -7410,7 +7451,7 @@ textarea.FieldControl {
7410
7451
  * the tabs and the search where they are, so selecting rows does not grow the toolbar.
7411
7452
  */
7412
7453
 
7413
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
7454
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
7414
7455
  /* Collection toolbar
7415
7456
  *
7416
7457
  * The wrap follows the toolbar's own width, not the window: a table in a narrow pane wraps
@@ -7551,7 +7592,7 @@ textarea.FieldControl {
7551
7592
  letter-spacing: var(--sl-font-body-condense-letter-spacing);
7552
7593
  }
7553
7594
 
7554
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
7595
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
7555
7596
  /* DataTable additions on top of .Table.
7556
7597
  *
7557
7598
  * Sort buttons fill the header cell and inherit its hover, so old aria-sort markup keeps
@@ -7672,7 +7713,7 @@ textarea.FieldControl {
7672
7713
  color: var(--sl-table-subtle-color);
7673
7714
  }
7674
7715
 
7675
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
7716
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
7676
7717
  /* DataList
7677
7718
  *
7678
7719
  * The same rows as the table, in one container with the table's borders, hover, selected
@@ -7814,7 +7855,7 @@ textarea.FieldControl {
7814
7855
  transition: opacity var(--sl-duration-fast) var(--sl-easing-default);
7815
7856
  }
7816
7857
 
7817
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
7858
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
7818
7859
  /* Pagination
7819
7860
  *
7820
7861
  * Not tied to a collection. Anything with a page, a page count and a total can use it.
@@ -7839,7 +7880,7 @@ textarea.FieldControl {
7839
7880
  margin: 0;
7840
7881
  }
7841
7882
 
7842
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
7883
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
7843
7884
  /* EditableList
7844
7885
  *
7845
7886
  * One table at every width, so a field is not submitted twice. Under the stack width each
@@ -7938,7 +7979,7 @@ textarea.FieldControl {
7938
7979
  }
7939
7980
  }
7940
7981
 
7941
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
7982
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
7942
7983
  /* Sheet
7943
7984
  *
7944
7985
  * A working-paper surface: the raised surface with a heavier rule across its top
@@ -8029,7 +8070,7 @@ textarea.FieldControl {
8029
8070
  border-top: 0;
8030
8071
  }
8031
8072
 
8032
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
8073
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
8033
8074
  /* StatFigure
8034
8075
  *
8035
8076
  * One large figure with a caps label above and a caption under it. The label is
@@ -8090,7 +8131,7 @@ textarea.FieldControl {
8090
8131
  color: var(--sl-stat-figure-caption-color);
8091
8132
  }
8092
8133
 
8093
- /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
8134
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
8094
8135
  /* DescriptionList
8095
8136
  *
8096
8137
  * Label and value pairs in a native dl, one DescriptionItem (a div holding a dt and a dd)
@@ -8165,3 +8206,123 @@ textarea.FieldControl {
8165
8206
  max-width: 60%;
8166
8207
  text-align: end;
8167
8208
  }
8209
+
8210
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
8211
+ /* AppBar
8212
+ *
8213
+ * The bar across the top of an app window, one row on a line in the rule color. The line is
8214
+ * app-bar.border-width while rule.width is 0, and the thicker of the two once a brand turns the
8215
+ * rule on, so an ink-rule brand gets the working-paper rule under its app bar.
8216
+ * AppBarSpacer pushes what follows it to the end. A vertical Separator inside is a short
8217
+ * divider between groups of icon actions. Tokens: app-bar.* (tokens/component/app-bar.json).
8218
+ */
8219
+
8220
+ .AppBar {
8221
+ box-sizing: border-box;
8222
+ display: flex;
8223
+ align-items: center;
8224
+ gap: var(--sl-app-bar-gap);
8225
+ min-height: var(--sl-app-bar-height);
8226
+ padding-inline: var(--sl-app-bar-padding-inline);
8227
+ padding-block: var(--sl-space-2);
8228
+ background: var(--sl-app-bar-background);
8229
+ border-bottom: max(var(--sl-app-bar-border-width), var(--sl-rule-width)) solid var(--sl-app-bar-border-color);
8230
+ min-width: 0;
8231
+ }
8232
+
8233
+ .AppBarSpacer {
8234
+ flex: 1 1 var(--sl-space-4);
8235
+ min-width: 0;
8236
+ }
8237
+
8238
+ .AppBar .Separator[data-orientation='vertical'] {
8239
+ height: var(--sl-app-bar-divider-height);
8240
+ margin-inline: var(--sl-space-1);
8241
+ background: var(--sl-app-bar-divider-color);
8242
+ }
8243
+
8244
+ /* @scattered-light/loomiere-base-ui 0.9.0 · styles for @base-ui/react 1.9.0 */
8245
+ /* PickerButton
8246
+ *
8247
+ * A trigger with a caps label before the current choice: CLIENT Alpha Services. The field
8248
+ * look and states of a Select trigger; the label is caps-condense in picker-button.label-color,
8249
+ * the choice is cut with an ellipsis at picker-button.max-width and the chevron turns while
8250
+ * its popup is open. Tokens: picker-button.* (tokens/component/picker-button.json) and field.*.
8251
+ */
8252
+
8253
+ .PickerButton {
8254
+ box-sizing: border-box;
8255
+ color: var(--sl-field-color);
8256
+ background: var(--sl-field-background);
8257
+ border: var(--sl-field-border-width) solid var(--sl-field-border-color);
8258
+ border-radius: var(--sl-field-radius);
8259
+ transition: var(--sl-field-transition);
8260
+ outline: none;
8261
+ font-family: var(--sl-font-body-base-font-family);
8262
+ font-size: var(--sl-font-body-base-font-size);
8263
+ font-weight: var(--sl-font-body-base-font-weight);
8264
+ line-height: var(--sl-font-body-base-line-height);
8265
+ letter-spacing: var(--sl-font-body-base-letter-spacing);
8266
+ display: inline-flex;
8267
+ align-items: center;
8268
+ gap: var(--sl-gap-control);
8269
+ max-width: var(--sl-picker-button-max-width);
8270
+ min-width: 0;
8271
+ height: var(--sl-control-height-md);
8272
+ margin: 0;
8273
+ padding-block: var(--sl-control-padding-block);
8274
+ padding-inline: var(--sl-control-padding-inline);
8275
+ cursor: pointer;
8276
+ white-space: nowrap;
8277
+ }
8278
+
8279
+ .PickerButton:hover:not(:disabled) {
8280
+ border-color: var(--sl-field-border-color-hover);
8281
+ }
8282
+
8283
+ .PickerButton:focus-visible {
8284
+ border-color: var(--sl-field-border-color-focus);
8285
+ box-shadow: var(--sl-field-shadow-focus);
8286
+ }
8287
+
8288
+ .PickerButton:disabled {
8289
+ background: var(--sl-field-background-disabled);
8290
+ color: var(--sl-field-color-disabled);
8291
+ cursor: not-allowed;
8292
+ }
8293
+
8294
+ .PickerButtonLabel {
8295
+ font-family: var(--sl-font-caps-condense-font-family);
8296
+ font-size: var(--sl-font-caps-condense-font-size);
8297
+ font-weight: var(--sl-font-caps-condense-font-weight);
8298
+ line-height: var(--sl-font-caps-condense-line-height);
8299
+ letter-spacing: var(--sl-font-caps-condense-letter-spacing);
8300
+ text-transform: var(--sl-font-caps-condense-text-transform);
8301
+ flex: none;
8302
+ color: var(--sl-picker-button-label-color);
8303
+ }
8304
+
8305
+ .PickerButtonValue {
8306
+ flex: 0 1 auto;
8307
+ min-width: 0;
8308
+ overflow: hidden;
8309
+ text-overflow: ellipsis;
8310
+ color: var(--sl-field-color);
8311
+ }
8312
+
8313
+ .PickerButtonValue[data-placeholder] {
8314
+ color: var(--sl-field-placeholder-color);
8315
+ }
8316
+
8317
+ .PickerButtonIcon {
8318
+ flex: none;
8319
+ width: var(--sl-icon-size-base);
8320
+ height: var(--sl-icon-size-base);
8321
+ color: var(--sl-text-tertiary);
8322
+ transition: transform var(--sl-duration-normal) var(--sl-easing-default);
8323
+ }
8324
+
8325
+ .PickerButton[aria-expanded='true'] .PickerButtonIcon,
8326
+ .PickerButton[data-popup-open] .PickerButtonIcon {
8327
+ transform: rotate(180deg);
8328
+ }