@scattered-light/loomiere-base-ui 0.7.0 → 0.8.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 (93) hide show
  1. package/README.md +29 -4
  2. package/dist/{chunk-JUUPOOQQ.js → chunk-LJQ3RZDJ.js} +51 -3
  3. package/dist/chunk-LJQ3RZDJ.js.map +1 -0
  4. package/dist/custom/collection/index.d.ts +13 -2
  5. package/dist/custom/collection/index.js +53 -29
  6. package/dist/custom/collection/index.js.map +1 -1
  7. package/dist/custom/index.d.ts +1 -1
  8. package/dist/custom/index.js +1 -1
  9. package/dist/design-system/components/Collection/README.md +1 -1
  10. package/dist/design-system/components/CollectionToolbar/README.md +7 -2
  11. package/dist/design-system/components/ContextMenu/README.md +1 -1
  12. package/dist/design-system/components/ContextMenu/preview.html +1 -1
  13. package/dist/design-system/components/DataList/README.md +1 -1
  14. package/dist/design-system/components/DataList/preview.html +171 -171
  15. package/dist/design-system/components/DataTable/README.md +1 -1
  16. package/dist/design-system/components/DataTable/preview.html +176 -176
  17. package/dist/design-system/components/DescriptionList/README.md +41 -0
  18. package/dist/design-system/components/DescriptionList/preview.html +19 -0
  19. package/dist/design-system/components/Drawer/README.md +1 -1
  20. package/dist/design-system/components/ScrollArea/preview.html +2 -2
  21. package/dist/design-system/components/Sheet/README.md +46 -0
  22. package/dist/design-system/components/Sheet/preview.html +19 -0
  23. package/dist/design-system/components/StatFigure/README.md +38 -0
  24. package/dist/design-system/components/StatFigure/preview.html +19 -0
  25. package/dist/design-system/components/Table/README.md +2 -2
  26. package/dist/design-system/components/Table/preview.html +2 -2
  27. package/dist/design-system/components/bundle.js +7 -7
  28. package/dist/design-system/components/index.d.ts +1 -1
  29. package/dist/design-system/components/styles.css +457 -60
  30. package/dist/{index-ChJXlxzq.d.ts → index-CBAo353T.d.ts} +55 -1
  31. package/dist/index.d.ts +1 -1
  32. package/dist/index.js +1 -1
  33. package/dist/styles/components/Accordion.css +1 -1
  34. package/dist/styles/components/AlertDialog.css +1 -1
  35. package/dist/styles/components/Autocomplete.css +1 -1
  36. package/dist/styles/components/Avatar.css +1 -1
  37. package/dist/styles/components/Button.css +1 -1
  38. package/dist/styles/components/Checkbox.css +1 -1
  39. package/dist/styles/components/CheckboxGroup.css +1 -1
  40. package/dist/styles/components/Collapsible.css +1 -1
  41. package/dist/styles/components/Combobox.css +1 -1
  42. package/dist/styles/components/ContextMenu.css +1 -1
  43. package/dist/styles/components/Dialog.css +1 -1
  44. package/dist/styles/components/Drawer.css +8 -2
  45. package/dist/styles/components/Field.css +1 -1
  46. package/dist/styles/components/Fieldset.css +1 -1
  47. package/dist/styles/components/Form.css +1 -1
  48. package/dist/styles/components/Input.css +1 -1
  49. package/dist/styles/components/Menu.css +1 -1
  50. package/dist/styles/components/Menubar.css +1 -1
  51. package/dist/styles/components/Meter.css +1 -1
  52. package/dist/styles/components/NavigationMenu.css +1 -1
  53. package/dist/styles/components/NumberField.css +1 -1
  54. package/dist/styles/components/OTPField.css +1 -1
  55. package/dist/styles/components/Popover.css +1 -1
  56. package/dist/styles/components/PreviewCard.css +1 -1
  57. package/dist/styles/components/Progress.css +1 -1
  58. package/dist/styles/components/Radio.css +1 -1
  59. package/dist/styles/components/ScrollArea.css +1 -1
  60. package/dist/styles/components/Select.css +1 -1
  61. package/dist/styles/components/Separator.css +1 -1
  62. package/dist/styles/components/Slider.css +1 -1
  63. package/dist/styles/components/Switch.css +1 -1
  64. package/dist/styles/components/Tabs.css +1 -1
  65. package/dist/styles/components/Toast.css +1 -1
  66. package/dist/styles/components/Toggle.css +1 -1
  67. package/dist/styles/components/ToggleGroup.css +1 -1
  68. package/dist/styles/components/Toolbar.css +1 -1
  69. package/dist/styles/components/Tooltip.css +1 -1
  70. package/dist/styles/custom/Badge.css +1 -1
  71. package/dist/styles/custom/Collection.css +2 -2
  72. package/dist/styles/custom/CollectionPagination.css +1 -1
  73. package/dist/styles/custom/CollectionToolbar.css +87 -4
  74. package/dist/styles/custom/DataList.css +19 -1
  75. package/dist/styles/custom/DataTable.css +1 -1
  76. package/dist/styles/custom/DatePicker.css +1 -1
  77. package/dist/styles/custom/DescriptionList.css +75 -0
  78. package/dist/styles/custom/EditableList.css +1 -1
  79. package/dist/styles/custom/EmptyState.css +1 -1
  80. package/dist/styles/custom/ListDetail.css +1 -1
  81. package/dist/styles/custom/MoneyField.css +1 -1
  82. package/dist/styles/custom/Sheet.css +90 -0
  83. package/dist/styles/custom/Splitter.css +1 -1
  84. package/dist/styles/custom/StatFigure.css +60 -0
  85. package/dist/styles/custom/Table.css +63 -1
  86. package/dist/styles/index.css +4 -1
  87. package/dist/styles/reset/accessibility.css +1 -1
  88. package/dist/styles/reset/reset-accessibility.css +1 -1
  89. package/dist/styles/reset/reset-tailwind.css +2 -2
  90. package/dist/styles/reset/reset.css +2 -2
  91. package/dist/styles/tailwind.css +4 -1
  92. package/package.json +2 -2
  93. package/dist/chunk-JUUPOOQQ.js.map +0 -1
@@ -0,0 +1,75 @@
1
+ /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2
+ /* DescriptionList
3
+ *
4
+ * Label and value pairs in a native dl, one DescriptionItem (a div holding a dt and a dd)
5
+ * per pair, with a hairline between pairs. The default variant sets labels in a column
6
+ * beside their values. data-variant="leader" runs a dotted leader from each label to its
7
+ * value, which sits at the end of the row, as on a working paper. Labels are body text
8
+ * in the secondary color, values primary text with tabular numbers.
9
+ * Tokens: description-list.* (tokens/component/description-list.json).
10
+ */
11
+
12
+ .DescriptionList {
13
+ font-family: var(--sl-font-body-base-font-family);
14
+ font-size: var(--sl-font-body-base-font-size);
15
+ font-weight: var(--sl-font-body-base-font-weight);
16
+ line-height: var(--sl-font-body-base-line-height);
17
+ letter-spacing: var(--sl-font-body-base-letter-spacing);
18
+ margin: 0;
19
+ padding: 0;
20
+ font-variant-numeric: tabular-nums;
21
+ }
22
+
23
+ .DescriptionItem {
24
+ display: grid;
25
+ grid-template-columns: var(--sl-description-list-label-width) 2fr;
26
+ align-items: baseline;
27
+ column-gap: var(--sl-description-list-column-gap);
28
+ padding-block: var(--sl-description-list-row-padding-block);
29
+ padding-inline: var(--sl-description-list-row-padding-inline);
30
+ border-bottom: var(--sl-stroke-default) solid var(--sl-description-list-row-border-color);
31
+ }
32
+
33
+ .DescriptionItem:last-child {
34
+ border-bottom: none;
35
+ }
36
+
37
+ .DescriptionTerm {
38
+ margin: 0;
39
+ color: var(--sl-description-list-label-color);
40
+ }
41
+
42
+ .DescriptionDetails {
43
+ margin: 0;
44
+ min-width: 0;
45
+ color: var(--sl-description-list-value-color);
46
+ overflow-wrap: anywhere;
47
+ }
48
+
49
+ /* Leader: the label grows to fill the row, and its ::after is the dotted line that leads
50
+ to the value. The line sits on the text's baseline. */
51
+ .DescriptionList[data-variant='leader'] .DescriptionItem {
52
+ display: flex;
53
+ column-gap: var(--sl-description-list-leader-gap);
54
+ }
55
+
56
+ .DescriptionList[data-variant='leader'] .DescriptionTerm {
57
+ display: flex;
58
+ flex: 1 1 auto;
59
+ align-items: baseline;
60
+ gap: var(--sl-description-list-leader-gap);
61
+ min-width: 0;
62
+ }
63
+
64
+ .DescriptionList[data-variant='leader'] .DescriptionTerm::after {
65
+ content: '';
66
+ flex: 1 1 var(--sl-space-6);
67
+ min-width: var(--sl-space-6);
68
+ border-bottom: var(--sl-description-list-leader-width) dotted var(--sl-description-list-leader-color);
69
+ }
70
+
71
+ .DescriptionList[data-variant='leader'] .DescriptionDetails {
72
+ flex: 0 1 auto;
73
+ max-width: 60%;
74
+ text-align: end;
75
+ }
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2
2
  /* EditableList
3
3
  *
4
4
  * One table at every width, so a field is not submitted twice. Under the stack width each
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2
2
  /* EmptyState
3
3
  *
4
4
  * The block a page, pane, table, list or popup shows when it has nothing to show.
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2
2
  /* ListDetail
3
3
  *
4
4
  * The detail of one item, next to its list. Not a Base UI part. It is a Splitter
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2
2
  /* Money field
3
3
  *
4
4
  * An amount of money, built on Number field. The value is an integer in minor units
@@ -0,0 +1,90 @@
1
+ /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2
+ /* Sheet
3
+ *
4
+ * A working-paper surface: the raised surface with a heavier rule across its top
5
+ * (sheet.rule-width in sheet.rule-color) instead of its top border, and an optional tab
6
+ * label that sits on the rule like the tab of a ledger page. The tab is caps-condense on
7
+ * the inverse surface. An action (an Edit link, a count) sits at the end of the header row.
8
+ * Tokens: sheet.* (tokens/component/sheet.json).
9
+ *
10
+ * Content runs edge to edge, so a Table, DataList or leader DescriptionList inside lines up
11
+ * with the sheet's sides; data-inset on SheetBody pads it by sheet.padding instead. A Table
12
+ * inside drops its own outer border and corners, since the sheet is its frame.
13
+ */
14
+
15
+ .Sheet {
16
+ box-sizing: border-box;
17
+ display: flex;
18
+ flex-direction: column;
19
+ min-width: 0;
20
+ }
21
+
22
+ .SheetHeader {
23
+ display: flex;
24
+ align-items: flex-end;
25
+ gap: var(--sl-sheet-header-gap);
26
+ min-height: var(--sl-sheet-tab-height);
27
+ }
28
+
29
+ .SheetTab {
30
+ font-family: var(--sl-font-caps-condense-font-family);
31
+ font-size: var(--sl-font-caps-condense-font-size);
32
+ font-weight: var(--sl-font-caps-condense-font-weight);
33
+ line-height: var(--sl-font-caps-condense-line-height);
34
+ letter-spacing: var(--sl-font-caps-condense-letter-spacing);
35
+ text-transform: var(--sl-font-caps-condense-text-transform);
36
+ display: inline-flex;
37
+ align-items: center;
38
+ height: var(--sl-sheet-tab-height);
39
+ padding-inline: var(--sl-sheet-tab-padding-inline);
40
+ background: var(--sl-sheet-tab-background);
41
+ color: var(--sl-sheet-tab-color);
42
+ border-radius: var(--sl-sheet-tab-radius) var(--sl-sheet-tab-radius) 0 0;
43
+ white-space: nowrap;
44
+ }
45
+
46
+ .SheetAction {
47
+ font-family: var(--sl-font-subtitle-condense-font-family);
48
+ font-size: var(--sl-font-subtitle-condense-font-size);
49
+ font-weight: var(--sl-font-subtitle-condense-font-weight);
50
+ line-height: var(--sl-font-subtitle-condense-line-height);
51
+ letter-spacing: var(--sl-font-subtitle-condense-letter-spacing);
52
+ margin-inline-start: auto;
53
+ padding-block-end: var(--sl-space-1);
54
+ }
55
+
56
+ .SheetBody {
57
+ box-sizing: border-box;
58
+ flex: 1;
59
+ min-width: 0;
60
+ background: var(--sl-sheet-background);
61
+ border: var(--sl-sheet-border-width) solid var(--sl-sheet-border-color);
62
+ border-top: var(--sl-sheet-rule-width) solid var(--sl-sheet-rule-color);
63
+ border-radius: var(--sl-sheet-radius);
64
+ /* Rows inside keep to the rounded corners. clip, not hidden, so a sticky header still sticks. */
65
+ overflow: clip;
66
+ }
67
+
68
+ /* Under a tab the top corners stay square, so the tab sits flush on the rule. */
69
+ .Sheet[data-tab] > .SheetBody {
70
+ border-start-start-radius: 0;
71
+ border-start-end-radius: 0;
72
+ }
73
+
74
+ .SheetBody[data-inset] {
75
+ padding: var(--sl-sheet-padding);
76
+ }
77
+
78
+ /* The sheet is the frame: a table or list inside drops its own outer edge. */
79
+ .SheetBody > .Table,
80
+ .SheetBody > .CollectionView .Table,
81
+ .SheetBody > .DataList ul {
82
+ border: 0;
83
+ border-radius: 0;
84
+ }
85
+
86
+ .SheetBody > .Table > thead > tr:first-child > *,
87
+ .SheetBody > .Table:not(:has(> thead)) > tbody:first-of-type > tr:first-child > *,
88
+ .SheetBody > .DataList ul > li:first-child {
89
+ border-top: 0;
90
+ }
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2
2
  /* Splitter
3
3
  *
4
4
  * Two or more panels and a handle between them. Not a Base UI part. It follows the
@@ -0,0 +1,60 @@
1
+ /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2
+ /* StatFigure
3
+ *
4
+ * One large figure with a caps label above and a caption under it. The label is
5
+ * caps-condense, the figure uses the figures text family (mono, tabular numbers) at
6
+ * stat-figure.figure-font-size, the caption is body-condense. data-underline="double"
7
+ * draws a double rule under the figure only, the accountant's mark for a final total;
8
+ * data-tone="accent" colors the figure; data-size="sm" makes it smaller for a row of figures.
9
+ * Tokens: stat-figure.* (tokens/component/stat-figure.json).
10
+ */
11
+
12
+ .StatFigure {
13
+ display: inline-flex;
14
+ flex-direction: column;
15
+ align-items: flex-start;
16
+ gap: var(--sl-stat-figure-gap);
17
+ min-width: 0;
18
+ }
19
+
20
+ .StatFigureLabel {
21
+ font-family: var(--sl-font-caps-condense-font-family);
22
+ font-size: var(--sl-font-caps-condense-font-size);
23
+ font-weight: var(--sl-font-caps-condense-font-weight);
24
+ line-height: var(--sl-font-caps-condense-line-height);
25
+ letter-spacing: var(--sl-font-caps-condense-letter-spacing);
26
+ text-transform: var(--sl-font-caps-condense-text-transform);
27
+ color: var(--sl-stat-figure-label-color);
28
+ }
29
+
30
+ .StatFigureValue {
31
+ font-family: var(--sl-font-figures-base-font-family);
32
+ font-variant-numeric: var(--sl-font-figures-base-font-variant-numeric);
33
+ font-size: var(--sl-stat-figure-figure-font-size);
34
+ font-weight: var(--sl-stat-figure-figure-font-weight);
35
+ line-height: var(--sl-stat-figure-figure-line-height);
36
+ color: var(--sl-stat-figure-figure-color);
37
+ white-space: nowrap;
38
+ }
39
+
40
+ .StatFigure[data-size='sm'] .StatFigureValue {
41
+ font-size: var(--sl-stat-figure-figure-font-size-sm);
42
+ line-height: var(--sl-stat-figure-figure-line-height-sm);
43
+ }
44
+
45
+ .StatFigure[data-tone='accent'] .StatFigureValue {
46
+ color: var(--sl-stat-figure-figure-color-accent);
47
+ }
48
+
49
+ .StatFigure[data-underline='double'] .StatFigureValue {
50
+ border-bottom: var(--sl-stat-figure-underline-width) double var(--sl-stat-figure-underline-color);
51
+ }
52
+
53
+ .StatFigureCaption {
54
+ font-family: var(--sl-font-body-condense-font-family);
55
+ font-size: var(--sl-font-body-condense-font-size);
56
+ font-weight: var(--sl-font-body-condense-font-weight);
57
+ line-height: var(--sl-font-body-condense-line-height);
58
+ letter-spacing: var(--sl-font-body-condense-letter-spacing);
59
+ color: var(--sl-stat-figure-caption-color);
60
+ }
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2
2
  /* Table - Mojave Theme
3
3
  *
4
4
  * Base UI has no table, so this styles the native <table class="Table"> elements with the
@@ -11,6 +11,13 @@
11
11
  * `<tr><td data-empty colSpan={n}><EmptyState size="compact" … /></td></tr>`. A cell with
12
12
  * only text still uses this rule's padding. A cell whose child is an EmptyState lets the
13
13
  * empty state pad itself. The empty row does not take the row hover.
14
+ *
15
+ * Totals: tr data-total="subtotal" draws a single rule above the row, and data-total="grand"
16
+ * a rule above and a double rule under, as on a working paper (table.total-*). They work in
17
+ * tbody or tfoot. A tfoot row without data-total keeps the header tray band.
18
+ *
19
+ * The working-paper rule (rule.width, 0 by default) replaces the table's top border with a
20
+ * heavier line in rule.color, drawn on the first row's cells so it stays with a sticky header.
14
21
  */
15
22
 
16
23
  .Table {
@@ -29,6 +36,15 @@
29
36
  border-radius: var(--sl-table-radius);
30
37
  overflow: hidden;
31
38
  font-variant-numeric: tabular-nums;
39
+ /* The top border steps aside while the working-paper rule is on (any rule.width above 0). */
40
+ border-top-width: max(0px, var(--sl-stroke-default) - var(--sl-rule-width) * 1000);
41
+ }
42
+
43
+ /* The working-paper rule, on the first row: the header, or the body when there is none.
44
+ At rule.width 0 this is no border at all. */
45
+ .Table > thead > tr:first-child > *,
46
+ .Table:not(:has(> thead)) > tbody:first-of-type > tr:first-child > * {
47
+ border-top: var(--sl-rule-width) solid var(--sl-rule-color);
32
48
  }
33
49
 
34
50
  .Table caption {
@@ -140,6 +156,52 @@
140
156
  border-bottom: none;
141
157
  }
142
158
 
159
+ /* Subtotal and grand total rows: rules instead of a band, in the subtitle weight.
160
+ Hover and selection don't apply: a total is not a record. */
161
+ .Table tr[data-total] > * {
162
+ font-family: var(--sl-font-subtitle-condense-font-family);
163
+ font-size: var(--sl-font-subtitle-condense-font-size);
164
+ font-weight: var(--sl-font-subtitle-condense-font-weight);
165
+ line-height: var(--sl-font-subtitle-condense-line-height);
166
+ letter-spacing: var(--sl-font-subtitle-condense-letter-spacing);
167
+ background: var(--sl-table-total-background);
168
+ color: var(--sl-table-color);
169
+ border-top: var(--sl-table-subtotal-rule-width) solid var(--sl-table-total-rule-color);
170
+ }
171
+
172
+ .Table tbody tr[data-total] > * {
173
+ border-bottom: var(--sl-stroke-default) solid var(--sl-table-row-border-color);
174
+ }
175
+
176
+ .Table tbody tr[data-total]:last-child:not([data-total='grand']) > * {
177
+ border-bottom: none;
178
+ }
179
+
180
+ /* The grand total: a double rule under the figures. */
181
+ .Table :is(tbody, tfoot) tr[data-total='grand'] > * {
182
+ border-bottom: var(--sl-table-grand-total-rule-width) double var(--sl-table-total-rule-color);
183
+ }
184
+
185
+ /* A label or blank cell in a total row can leave the rules off, so they only run under the
186
+ figures: data-rule="none" on the cell. */
187
+ .Table :is(tbody, tfoot) tr[data-total] > [data-rule='none'] {
188
+ border-top-color: transparent;
189
+ border-bottom-color: transparent;
190
+ }
191
+
192
+ /* In the footer the body's last row has no line under it, so those cells keep the footer's
193
+ usual line on top. */
194
+ .Table tfoot tr[data-total] > [data-rule='none'] {
195
+ border-top: var(--sl-stroke-default) solid var(--sl-table-border-color);
196
+ }
197
+
198
+ @media (hover: hover) {
199
+ .Table tbody tr[data-total]:hover > * {
200
+ background: var(--sl-table-total-background);
201
+ color: var(--sl-table-color);
202
+ }
203
+ }
204
+
143
205
  /* A header that stays put while the body scrolls (the table's wrapper scrolls) */
144
206
  .Table[data-sticky-header] thead th {
145
207
  position: sticky;
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2
2
  /* Loomiere for Base UI: component styles. Brand-free: every value is a --sl- variable from a
3
3
  Loomiere theme. Load the theme first:
4
4
  @import '<your theme>/tokens.css';
@@ -61,3 +61,6 @@
61
61
  @import './custom/Table.css';
62
62
  @import './custom/Collection.css';
63
63
  @import './custom/EditableList.css';
64
+ @import './custom/Sheet.css';
65
+ @import './custom/StatFigure.css';
66
+ @import './custom/DescriptionList.css';
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2
2
  /* Focus, invalid, contrast — requires theme tokens (after theme-accessibility.css). */
3
3
 
4
4
  :focus-visible {
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2
2
  /* Accessibility — base rules (no theme color dependencies). Theme-specific focus/invalid: accessibility-theme.css */
3
3
 
4
4
  /* Remove default focus; keyboard focus styled in accessibility-theme.css */
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2
2
  /* CSS Reset - Mojave Theme */
3
3
 
4
4
  /* ============================================
@@ -271,7 +271,7 @@ pre {
271
271
  background: var(--sl-content-pre-background);
272
272
  border: var(--sl-stroke-thin) solid var(--sl-content-pre-border);
273
273
  color: var(--sl-content-pre-text);
274
- border-radius: var(--sl-space-2);
274
+ border-radius: var(--sl-content-pre-radius);
275
275
  overflow-x: auto;
276
276
  margin-block: var(--sl-space-6);
277
277
  }
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2
2
  /* CSS Reset - Mojave Theme */
3
3
 
4
4
  /* ============================================
@@ -272,7 +272,7 @@ pre {
272
272
  background: var(--sl-content-pre-background);
273
273
  border: var(--sl-stroke-thin) solid var(--sl-content-pre-border);
274
274
  color: var(--sl-content-pre-text);
275
- border-radius: var(--sl-space-2);
275
+ border-radius: var(--sl-content-pre-radius);
276
276
  overflow-x: auto;
277
277
  margin-block: var(--sl-space-6);
278
278
  }
@@ -1,4 +1,4 @@
1
- /* @scattered-light/loomiere-base-ui 0.7.0 · styles for @base-ui/react 1.9.0 */
1
+ /* @scattered-light/loomiere-base-ui 0.8.0 · styles for @base-ui/react 1.9.0 */
2
2
  /* Loomiere for Base UI: component styles for Tailwind CSS v4. Load Tailwind and the theme first:
3
3
  @import 'tailwindcss';
4
4
  @import '<your theme>/tokens.css';
@@ -64,3 +64,6 @@
64
64
  @import './custom/Table.css' layer(components);
65
65
  @import './custom/Collection.css' layer(components);
66
66
  @import './custom/EditableList.css' layer(components);
67
+ @import './custom/Sheet.css' layer(components);
68
+ @import './custom/StatFigure.css' layer(components);
69
+ @import './custom/DescriptionList.css' layer(components);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@scattered-light/loomiere-base-ui",
3
- "version": "0.7.0",
3
+ "version": "0.8.0",
4
4
  "description": "Base UI components styled by any Loomiere theme. Brand-free: every value is a --sl- variable.",
5
5
  "keywords": [
6
6
  "base-ui",
@@ -76,7 +76,7 @@
76
76
  }
77
77
  },
78
78
  "devDependencies": {
79
- "@scattered-light/loomiere": "0.7.0",
79
+ "@scattered-light/loomiere": "0.8.0",
80
80
  "@tanstack/react-table": "^9.3.1"
81
81
  }
82
82
  }