@scattered-light/loomiere-base-ui 0.15.6 → 0.17.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.
- package/README.md +16 -1
- package/dist/{chunk-RLXKWWZG.js → chunk-DBNGJCTF.js} +27 -3
- package/dist/chunk-DBNGJCTF.js.map +1 -0
- package/dist/custom/index.d.ts +1 -1
- package/dist/custom/index.js +1 -1
- package/dist/design-system/components/StatCard/README.md +52 -0
- package/dist/design-system/components/StatCard/preview.html +19 -0
- package/dist/design-system/components/bundle.js +7 -7
- package/dist/design-system/components/index.d.ts +1 -1
- package/dist/design-system/components/styles.css +183 -62
- package/dist/{index-BlPgd6jW.d.ts → index-C-lxJXk8.d.ts} +27 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/styles/components/Accordion.css +1 -1
- package/dist/styles/components/AlertDialog.css +1 -1
- package/dist/styles/components/Autocomplete.css +1 -1
- package/dist/styles/components/Avatar.css +1 -1
- package/dist/styles/components/Button.css +1 -1
- package/dist/styles/components/Checkbox.css +1 -1
- package/dist/styles/components/CheckboxGroup.css +1 -1
- package/dist/styles/components/Collapsible.css +1 -1
- package/dist/styles/components/Combobox.css +1 -1
- package/dist/styles/components/ContextMenu.css +1 -1
- package/dist/styles/components/Dialog.css +1 -1
- package/dist/styles/components/Drawer.css +1 -1
- package/dist/styles/components/Field.css +1 -1
- package/dist/styles/components/Fieldset.css +1 -1
- package/dist/styles/components/Form.css +1 -1
- package/dist/styles/components/Input.css +1 -1
- package/dist/styles/components/Menu.css +1 -1
- package/dist/styles/components/Menubar.css +1 -1
- package/dist/styles/components/Meter.css +1 -1
- package/dist/styles/components/NavigationMenu.css +1 -1
- package/dist/styles/components/NumberField.css +1 -1
- package/dist/styles/components/OTPField.css +1 -1
- package/dist/styles/components/Popover.css +1 -1
- package/dist/styles/components/PreviewCard.css +1 -1
- package/dist/styles/components/Progress.css +1 -1
- package/dist/styles/components/Radio.css +1 -1
- package/dist/styles/components/ScrollArea.css +1 -1
- package/dist/styles/components/Select.css +1 -1
- package/dist/styles/components/Separator.css +1 -1
- package/dist/styles/components/Slider.css +1 -1
- package/dist/styles/components/Switch.css +1 -1
- package/dist/styles/components/Tabs.css +1 -1
- package/dist/styles/components/Toast.css +1 -1
- package/dist/styles/components/Toggle.css +1 -1
- package/dist/styles/components/ToggleGroup.css +1 -1
- package/dist/styles/components/Toolbar.css +1 -1
- package/dist/styles/components/Tooltip.css +1 -1
- package/dist/styles/custom/AppBar.css +1 -1
- package/dist/styles/custom/Badge.css +1 -1
- package/dist/styles/custom/Collection.css +1 -1
- package/dist/styles/custom/CollectionPagination.css +1 -1
- package/dist/styles/custom/CollectionToolbar.css +1 -1
- package/dist/styles/custom/DataList.css +1 -1
- package/dist/styles/custom/DataTable.css +1 -1
- package/dist/styles/custom/DatePicker.css +1 -1
- package/dist/styles/custom/DescriptionList.css +4 -2
- package/dist/styles/custom/EditableList.css +1 -1
- package/dist/styles/custom/EmptyState.css +1 -1
- package/dist/styles/custom/ListDetail.css +1 -1
- package/dist/styles/custom/MoneyField.css +1 -1
- package/dist/styles/custom/PickerButton.css +1 -1
- package/dist/styles/custom/PickerSplit.css +1 -1
- package/dist/styles/custom/Sheet.css +1 -1
- package/dist/styles/custom/SideNav.css +1 -1
- package/dist/styles/custom/Splitter.css +1 -1
- package/dist/styles/custom/StatCard.css +118 -0
- package/dist/styles/custom/StatFigure.css +1 -1
- package/dist/styles/custom/Table.css +1 -1
- package/dist/styles/index.css +2 -1
- package/dist/styles/reset/accessibility.css +1 -1
- package/dist/styles/reset/reset-accessibility.css +1 -1
- package/dist/styles/reset/reset-tailwind.css +1 -1
- package/dist/styles/reset/reset.css +1 -1
- package/dist/styles/tailwind.css +2 -1
- package/package.json +2 -2
- package/dist/chunk-RLXKWWZG.js.map +0 -1
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/* @scattered-light/loomiere-base-ui 0.17.0 · styles for @base-ui/react 1.9.0 */
|
|
2
|
+
/* StatCard
|
|
3
|
+
*
|
|
4
|
+
* A card for one thing a page lists: a name (the heading), a caption, and a row of StatFigures
|
|
5
|
+
* ruled off under them. With data-interactive the title is a link or a button and its ::after
|
|
6
|
+
* covers the card, so the whole card is the target and the title names it. The hover fill and
|
|
7
|
+
* the focus ring follow the card, not just the title.
|
|
8
|
+
* Tokens: stat-card.* (tokens/component/stat-card.json).
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
.StatCard {
|
|
12
|
+
position: relative;
|
|
13
|
+
box-sizing: border-box;
|
|
14
|
+
display: flex;
|
|
15
|
+
flex-direction: column;
|
|
16
|
+
min-width: 0;
|
|
17
|
+
background: var(--sl-stat-card-background);
|
|
18
|
+
border: var(--sl-stat-card-border-width) solid var(--sl-stat-card-border-color);
|
|
19
|
+
border-top: var(--sl-stat-card-rule-width) solid var(--sl-stat-card-rule-color);
|
|
20
|
+
border-radius: var(--sl-stat-card-radius);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.StatCard[data-interactive]:hover {
|
|
24
|
+
background: var(--sl-stat-card-background-hover);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.StatCard[data-interactive]:has(.StatCardLink:focus-visible) {
|
|
28
|
+
outline: var(--sl-focus-outline);
|
|
29
|
+
outline-offset: 2px;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.StatCardHeader {
|
|
33
|
+
display: flex;
|
|
34
|
+
align-items: flex-start;
|
|
35
|
+
gap: var(--sl-space-2);
|
|
36
|
+
padding: var(--sl-stat-card-header-padding-block) var(--sl-stat-card-padding-inline);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.StatCardHeading {
|
|
40
|
+
flex: 1;
|
|
41
|
+
min-width: 0;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
/* A mark at the top right, set in the caption's figures style but in the accent: "2 NEW". */
|
|
45
|
+
.StatCardTag {
|
|
46
|
+
font-family: var(--sl-font-figures-condense-font-family);
|
|
47
|
+
font-size: var(--sl-font-figures-condense-font-size);
|
|
48
|
+
font-weight: var(--sl-font-figures-condense-font-weight);
|
|
49
|
+
line-height: var(--sl-font-figures-condense-line-height);
|
|
50
|
+
letter-spacing: var(--sl-font-figures-condense-letter-spacing);
|
|
51
|
+
font-variant-numeric: var(--sl-font-figures-condense-font-variant-numeric);
|
|
52
|
+
flex: none;
|
|
53
|
+
font-weight: 600;
|
|
54
|
+
text-transform: uppercase;
|
|
55
|
+
color: var(--sl-stat-figure-figure-color-accent);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.StatCardTitle {
|
|
59
|
+
font-family: var(--sl-font-title-magnify-font-family);
|
|
60
|
+
font-size: var(--sl-font-title-magnify-font-size);
|
|
61
|
+
font-weight: var(--sl-font-title-magnify-font-weight);
|
|
62
|
+
line-height: var(--sl-font-title-magnify-line-height);
|
|
63
|
+
letter-spacing: var(--sl-font-title-magnify-letter-spacing);
|
|
64
|
+
margin: 0;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.StatCardCaption {
|
|
68
|
+
font-family: var(--sl-font-figures-condense-font-family);
|
|
69
|
+
font-size: var(--sl-font-figures-condense-font-size);
|
|
70
|
+
font-weight: var(--sl-font-figures-condense-font-weight);
|
|
71
|
+
line-height: var(--sl-font-figures-condense-line-height);
|
|
72
|
+
letter-spacing: var(--sl-font-figures-condense-letter-spacing);
|
|
73
|
+
font-variant-numeric: var(--sl-font-figures-condense-font-variant-numeric);
|
|
74
|
+
margin: 0;
|
|
75
|
+
text-transform: uppercase;
|
|
76
|
+
color: var(--sl-stat-card-caption-color);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/* The title's control: bare text that stretches over the whole card. */
|
|
80
|
+
.StatCardLink {
|
|
81
|
+
all: unset;
|
|
82
|
+
cursor: pointer;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.StatCardLink::after {
|
|
86
|
+
content: '';
|
|
87
|
+
position: absolute;
|
|
88
|
+
inset: 0;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.StatCardLink:focus-visible {
|
|
92
|
+
outline: none;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.StatCardFacts {
|
|
96
|
+
display: grid;
|
|
97
|
+
margin-top: auto;
|
|
98
|
+
border-top: var(--sl-stat-card-border-width) solid var(--sl-stat-card-rule-color);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.StatCardFacts > * {
|
|
102
|
+
padding: var(--sl-stat-card-facts-padding-block) var(--sl-stat-card-padding-inline);
|
|
103
|
+
border-inline-start: var(--sl-stat-card-border-width) solid var(--sl-stat-card-facts-divider-color);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.StatCardFacts > :first-child {
|
|
107
|
+
border-inline-start: 0;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.StatCardFooter {
|
|
111
|
+
font-family: var(--sl-font-body-condense-font-family);
|
|
112
|
+
font-size: var(--sl-font-body-condense-font-size);
|
|
113
|
+
font-weight: var(--sl-font-body-condense-font-weight);
|
|
114
|
+
line-height: var(--sl-font-body-condense-line-height);
|
|
115
|
+
letter-spacing: var(--sl-font-body-condense-letter-spacing);
|
|
116
|
+
padding: var(--sl-stat-card-header-padding-block) var(--sl-stat-card-padding-inline);
|
|
117
|
+
border-top: var(--sl-stat-card-border-width) solid var(--sl-stat-card-footer-border-color);
|
|
118
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
1
|
+
/* @scattered-light/loomiere-base-ui 0.17.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
|
package/dist/styles/index.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
1
|
+
/* @scattered-light/loomiere-base-ui 0.17.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';
|
|
@@ -63,6 +63,7 @@
|
|
|
63
63
|
@import './custom/EditableList.css';
|
|
64
64
|
@import './custom/Sheet.css';
|
|
65
65
|
@import './custom/StatFigure.css';
|
|
66
|
+
@import './custom/StatCard.css';
|
|
66
67
|
@import './custom/DescriptionList.css';
|
|
67
68
|
@import './custom/AppBar.css';
|
|
68
69
|
@import './custom/PickerButton.css';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
1
|
+
/* @scattered-light/loomiere-base-ui 0.17.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.
|
|
1
|
+
/* @scattered-light/loomiere-base-ui 0.17.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 */
|
package/dist/styles/tailwind.css
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* @scattered-light/loomiere-base-ui 0.
|
|
1
|
+
/* @scattered-light/loomiere-base-ui 0.17.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';
|
|
@@ -66,6 +66,7 @@
|
|
|
66
66
|
@import './custom/EditableList.css' layer(components);
|
|
67
67
|
@import './custom/Sheet.css' layer(components);
|
|
68
68
|
@import './custom/StatFigure.css' layer(components);
|
|
69
|
+
@import './custom/StatCard.css' layer(components);
|
|
69
70
|
@import './custom/DescriptionList.css' layer(components);
|
|
70
71
|
@import './custom/AppBar.css' layer(components);
|
|
71
72
|
@import './custom/PickerButton.css' layer(components);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scattered-light/loomiere-base-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.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.
|
|
79
|
+
"@scattered-light/loomiere": "0.17.0",
|
|
80
80
|
"@tanstack/react-table": "^9.3.1"
|
|
81
81
|
}
|
|
82
82
|
}
|