@scattered-light/loomiere-mojave 0.2.0 → 0.4.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/dist/exports/AGENTS.md +70 -10
- package/dist/exports/ag-grid-v32.css +8 -8
- package/dist/exports/ag-grid-v33.css +3 -3
- package/dist/exports/ag-grid-v33.js +6 -6
- package/dist/exports/ag-grid-v36.css +3 -3
- package/dist/exports/ag-grid-v36.js +7 -7
- package/dist/exports/catalog.json +4 -2
- package/dist/exports/chakra.js +453 -467
- package/dist/exports/design-system/README.md +69 -9
- package/dist/exports/design-system/components/Accordion/README.md +1 -1
- package/dist/exports/design-system/components/Accordion/preview.html +1 -1
- package/dist/exports/design-system/components/AlertDialog/preview.html +1 -1
- package/dist/exports/design-system/components/Autocomplete/preview.html +1 -1
- package/dist/exports/design-system/components/Avatar/README.md +1 -1
- package/dist/exports/design-system/components/Avatar/preview.html +1 -1
- package/dist/exports/design-system/components/Button/README.md +1 -1
- package/dist/exports/design-system/components/Button/preview.html +3 -3
- package/dist/exports/design-system/components/Checkbox/preview.html +1 -1
- package/dist/exports/design-system/components/CheckboxGroup/preview.html +1 -1
- package/dist/exports/design-system/components/Collapsible/preview.html +1 -1
- package/dist/exports/design-system/components/Combobox/preview.html +1 -1
- package/dist/exports/design-system/components/ContextMenu/preview.html +1 -1
- package/dist/exports/design-system/components/Dialog/README.md +1 -1
- package/dist/exports/design-system/components/Dialog/preview.html +1 -1
- package/dist/exports/design-system/components/Drawer/preview.html +1 -1
- package/dist/exports/design-system/components/Field/preview.html +1 -1
- package/dist/exports/design-system/components/Fieldset/preview.html +1 -1
- package/dist/exports/design-system/components/Form/preview.html +1 -1
- package/dist/exports/design-system/components/Input/preview.html +1 -1
- package/dist/exports/design-system/components/Menu/preview.html +1 -1
- package/dist/exports/design-system/components/Menubar/preview.html +1 -1
- package/dist/exports/design-system/components/Meter/preview.html +1 -1
- package/dist/exports/design-system/components/NavigationMenu/preview.html +1 -1
- package/dist/exports/design-system/components/NumberField/preview.html +1 -1
- package/dist/exports/design-system/components/OTPField/preview.html +1 -1
- package/dist/exports/design-system/components/Popover/README.md +2 -2
- package/dist/exports/design-system/components/Popover/preview.html +2 -2
- package/dist/exports/design-system/components/PreviewCard/README.md +1 -1
- package/dist/exports/design-system/components/PreviewCard/preview.html +1 -1
- package/dist/exports/design-system/components/Progress/preview.html +1 -1
- package/dist/exports/design-system/components/Radio/preview.html +1 -1
- package/dist/exports/design-system/components/ScrollArea/preview.html +1 -1
- package/dist/exports/design-system/components/Select/preview.html +1 -1
- package/dist/exports/design-system/components/Separator/preview.html +1 -1
- package/dist/exports/design-system/components/Slider/preview.html +1 -1
- package/dist/exports/design-system/components/Switch/preview.html +1 -1
- package/dist/exports/design-system/components/Table/README.md +50 -0
- package/dist/exports/design-system/components/Table/preview.html +19 -0
- package/dist/exports/design-system/components/Tabs/preview.html +1 -1
- package/dist/exports/design-system/components/Toast/preview.html +1 -1
- package/dist/exports/design-system/components/Toggle/README.md +1 -1
- package/dist/exports/design-system/components/Toggle/preview.html +1 -1
- package/dist/exports/design-system/components/ToggleGroup/preview.html +1 -1
- package/dist/exports/design-system/components/Toolbar/preview.html +1 -1
- package/dist/exports/design-system/components/Tooltip/preview.html +1 -1
- package/dist/exports/design-system/components/bundle.css +1525 -1099
- package/dist/exports/design-system/components/bundle.js +5 -5
- package/dist/exports/design-system/components/index.d.ts +2 -1
- package/dist/exports/design-system/tokens.json +267 -155
- package/dist/exports/figma.json +1 -1
- package/dist/exports/mui.js +264 -268
- package/dist/exports/shadcn.css +12 -12
- package/dist/exports/tailwind.css +162 -184
- package/dist/exports/tokens.dtcg.json +1714 -632
- package/dist/tokens.css +665 -355
- package/dist/tokens.d.ts +314 -62
- package/dist/tokens.js +342 -90
- package/dist/tokens.json +2897 -1041
- package/dist/utilities.css +173 -200
- package/package.json +3 -2
package/dist/exports/AGENTS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Mojave theme: guide for agents
|
|
2
2
|
|
|
3
|
-
This folder is a Loomiere theme. Load `tokens.css` (every token as a `--sl-` variable, light and dark) and `utilities.css` (text styles, focus ring, brand pairs). Framework adapters sit in `exports/`: `tailwind.css` (Tailwind v4: text styles by tier such as `text-base`, concept classes such as `bg-field` and `text-link`, no bare sizes like `text-sm`), `shadcn.css` (shadcn/ui), `mui.js`, `chakra.js`, AG Grid themes, `tokens.dtcg.json`. `tokens.json` lists every token with its path, value, modes and the reason it exists; read a token's `description` before using it.
|
|
3
|
+
This folder is a Loomiere theme. Load `tokens.css` (every token as a `--sl-` variable, light and dark) and `utilities.css` (text styles, focus ring, brand pairs). Framework adapters sit in `exports/`: `tailwind.css` (Tailwind v4: text styles by tier such as `text-body-base`, concept classes such as `bg-field` and `text-link`, no bare sizes like `text-sm`), `shadcn.css` (shadcn/ui), `mui.js`, `chakra.js`, AG Grid themes, `tokens.dtcg.json`. `tokens.json` lists every token with its path, value, modes and the reason it exists; read a token's `description` before using it.
|
|
4
4
|
|
|
5
5
|
Components: `@scattered-light/loomiere-base-ui` (Base UI parts styled by class name; import `@scattered-light/loomiere-base-ui/styles.css` after the theme). `exports/design-system/components/<Name>/README.md` lists each component's classes and an example.
|
|
6
6
|
|
|
@@ -91,6 +91,12 @@ Set it with `data-emphasis="bold|standard|subtle|quiet"` on a Button or any elem
|
|
|
91
91
|
|
|
92
92
|
`data-color="<palette>"` on any element repaints everything inside it in that palette (`primary`, `secondary`, `error`, `accent`, `chrome`...): a destructive button is `<Button data-emphasis="bold" data-color="error">`.
|
|
93
93
|
|
|
94
|
+
#### Statuses
|
|
95
|
+
|
|
96
|
+
`data-status="info|success|warning|error"` on any element gives every emphasis level inside it that status's version, so a subtle warning banner is `<div data-status="warning" data-emphasis="subtle">`. A level is the level's style in the status's palette unless the brand picked a pair for it:
|
|
97
|
+
|
|
98
|
+
(This brand picks none, so every level is automatic.)
|
|
99
|
+
|
|
94
100
|
#### Brand pairs
|
|
95
101
|
|
|
96
102
|
A pair is a background with its own text and accent, checked to meet AA. Put `class="sl-pair-<name>"` on a band, card or callout and everything inside (text, links, buttons, focus) takes the pair's colors.
|
|
@@ -107,14 +113,14 @@ Families: display 'Funnel Display', sans-serif, body 'Barlow Semi Condensed', sa
|
|
|
107
113
|
|
|
108
114
|
All text uses one whole text style, never a size or weight on its own: `class="text-style-<name>"`, or the `--sl-font-<name>-*` variables (font-family, font-size, font-weight, line-height, letter-spacing) together. Styles come in tiers named for why the text is that size:
|
|
109
115
|
|
|
110
|
-
- **minimize**: the smallest functional text: captions, fine print, dense metadata.
|
|
111
|
-
- **condense**: compact UI: small controls, table cells, secondary labels.
|
|
112
|
-
- **base**: the default UI and body text.
|
|
113
|
-
- **magnify**: emphasized body text: lead paragraphs, larger controls.
|
|
114
|
-
- **
|
|
115
|
-
- **
|
|
116
|
+
- **minimize**: the smallest functional text: captions, fine print, dense metadata. Roles: `body`, `trigger`, `selected`, `link`, `subtitle`, `eyebrow`.
|
|
117
|
+
- **condense**: compact UI: small controls, table cells, secondary labels. Roles: `code`, `body`, `trigger`, `selected`, `link`, `subtitle`, `eyebrow`, `title`.
|
|
118
|
+
- **base**: the default UI and body text. Roles: `body`, `selected`, `label`, `link`, `subtitle`, `trigger`, `title`.
|
|
119
|
+
- **magnify**: emphasized body text: lead paragraphs, larger controls. Roles: `body`, `trigger`, `title`.
|
|
120
|
+
- **amplify**: titles of dialogs, drawers and page sections. Roles: `title`.
|
|
121
|
+
- **maximize**: the page head. Roles: `title`.
|
|
116
122
|
|
|
117
|
-
|
|
123
|
+
Names are role first, then tier: `body-` for running text, `trigger-` for buttons and triggers, `selected-` for the current tab, toggle or nav item, `link-` for links, `subtitle-` for subheads, `label-` for form labels, `eyebrow-` for small uppercase labels, `title-` for titles in the display family, `code-` for code in the mono family. Sizes below the base are fixed; the base and up grow with the viewport.
|
|
118
124
|
|
|
119
125
|
### Space, shape and depth
|
|
120
126
|
|
|
@@ -140,11 +146,65 @@ Keyboard focus is one ring, `--sl-focus-outline` with `--sl-focus-outline-offset
|
|
|
140
146
|
|
|
141
147
|
### Modes
|
|
142
148
|
|
|
143
|
-
|
|
149
|
+
Themes: `data-theme="light|dark|light-high-contrast|dark-high-contrast"` on the root, or the system setting (including `prefers-contrast: more`) when none is set. Color vision themes are themes of their own, each a light theme designed from this brand: `data-theme="deuteranopia|protanopia|tritanopia|achromatopsia"`. Never hand-pick dark colors; the tokens already flip.
|
|
144
150
|
|
|
145
151
|
### Components
|
|
146
152
|
|
|
147
|
-
The components are [Base UI](https://base-ui.com) parts styled by class name: `Accordion`, `AlertDialog`, `Autocomplete`, `Avatar`, `Button`, `Checkbox`, `CheckboxGroup`, `Collapsible`, `Combobox`, `ContextMenu`, `Dialog`, `Drawer`, `Field`, `Fieldset`, `Form`, `Input`, `Menu`, `Menubar`, `Meter`, `NavigationMenu`, `NumberField`, `OTPField`, `Popover`, `PreviewCard`, `Progress`, `Radio`, `ScrollArea`, `Select`, `Separator`, `Slider`, `Switch`, `Tabs`, `Toast`, `Toggle`, `ToggleGroup`, `Toolbar`, `Tooltip`. Each component's README lists the classes its parts take and the data attributes they answer to (`data-size="sm|lg"`, `data-emphasis`, `data-color`).
|
|
153
|
+
The components are [Base UI](https://base-ui.com) parts styled by class name: `Accordion`, `AlertDialog`, `Autocomplete`, `Avatar`, `Button`, `Checkbox`, `CheckboxGroup`, `Collapsible`, `Combobox`, `ContextMenu`, `Dialog`, `Drawer`, `Field`, `Fieldset`, `Form`, `Input`, `Menu`, `Menubar`, `Meter`, `NavigationMenu`, `NumberField`, `OTPField`, `Popover`, `PreviewCard`, `Progress`, `Radio`, `ScrollArea`, `Select`, `Separator`, `Slider`, `Switch`, `Table`, `Tabs`, `Toast`, `Toggle`, `ToggleGroup`, `Toolbar`, `Tooltip`. Each component's README lists the classes its parts take and the data attributes they answer to (`data-size="sm|lg"`, `data-emphasis`, `data-color`).
|
|
148
154
|
|
|
149
155
|
Icons are Material Symbols Outlined by ligature name (`<span class="material-symbols-outlined">search</span>`, or `Loomiere.MaterialSymbol name="search"`), sized by the `.icon-<tier>` utilities to match the text beside them.
|
|
150
156
|
|
|
157
|
+
#### Using the components in a page or design
|
|
158
|
+
|
|
159
|
+
Load three things, in this order:
|
|
160
|
+
|
|
161
|
+
1. `components/bundle.css`: the whole theme in one sheet. It holds every token (light, dark, high contrast and color vision modes), the text style, icon and focus utilities, the brand pairs, and every component's styles, and it imports the brand fonts and Material Symbols from Google Fonts itself. Nothing else is needed for styling; `tokens.json` is the same tokens as data for the Design System page.
|
|
162
|
+
2. React 18 and ReactDOM 18 as the `window.React` and `window.ReactDOM` globals. A design canvas or the preview frame already has them.
|
|
163
|
+
3. `components/bundle.js`: one classic script that sets `window.Loomiere`.
|
|
164
|
+
|
|
165
|
+
`window.Loomiere` holds two kinds of component:
|
|
166
|
+
|
|
167
|
+
- **Wrappers** put their own classes on, so use them bare: `Loomiere.Button`, `Loomiere.Input`, `Loomiere.Field`, `Loomiere.Fieldset`, `Loomiere.Form`, `Loomiere.NavigationMenu`. `Loomiere.Button` also takes `emphasis` (`bold|standard|subtle|quiet`) and `palette` props, and a Button holding only an icon draws itself square (it sets `data-icon-only`). A plain `.Button`, such as a Popover or Toolbar trigger, is drawn square when it has an `aria-label` and a single icon inside, or when you set `data-icon-only` on it.
|
|
168
|
+
- **Everything else is the bare Base UI part** under its usual name (`Loomiere.Popover.Popup`, `Loomiere.ToggleGroup`). It draws nothing until you give each part its class, which is the component and part names joined: `<Loomiere.Popover.Popup className="PopoverPopup">`, `<Loomiere.Toggle className="Toggle">`. The component READMEs list every class.
|
|
169
|
+
|
|
170
|
+
`Loomiere.Base` holds the bare Base UI parts for the wrappers too (`Loomiere.Base.Button`), for when you need the part without its classes.
|
|
171
|
+
|
|
172
|
+
#### Choosing a component
|
|
173
|
+
|
|
174
|
+
Pick by what the person is doing, not by look:
|
|
175
|
+
|
|
176
|
+
| Component | Use it to |
|
|
177
|
+
|---|---|
|
|
178
|
+
| `Button` | Run one action. Set its emphasis by how much the action matters. For a small, frequent action shown as an icon alone (calendar arrows, row actions), use a quiet neutral icon-only Button: `<Loomiere.Button emphasis="quiet" palette="neutral" data-size="xs" aria-label="Next month">` with one icon inside. |
|
|
179
|
+
| `Switch` | Turn one setting on or off, taking effect at once. |
|
|
180
|
+
| `Checkbox` | Turn one option on or off inside a form that is submitted later. |
|
|
181
|
+
| `Toggle` | A tool that stays pressed, such as Bold in a toolbar. |
|
|
182
|
+
| `ToggleGroup` | Switch between 2 to 5 short modes or views that apply at once (Single date / Date range, List / Grid). |
|
|
183
|
+
| `Tabs` | Switch between panels of content in the same place. |
|
|
184
|
+
| `Radio` | Choose one of 2 to 6 options in a form, where each option can carry a label and description. |
|
|
185
|
+
| `CheckboxGroup` | Choose any number of a few visible options. |
|
|
186
|
+
| `Select` | Choose one of a fixed list too long to show (about 6 to 15 items). |
|
|
187
|
+
| `Combobox` | Choose one or more from a long list by typing to filter it. |
|
|
188
|
+
| `Autocomplete` | Type free text, with suggestions to speed it up. |
|
|
189
|
+
| `NumberField` | Enter an exact number, with steppers. |
|
|
190
|
+
| `Slider` | Set a value in a range where roughly is good enough. |
|
|
191
|
+
| `OTPField` | Enter a one-time code. |
|
|
192
|
+
| `Menu` | Offer commands from a button. Menus run actions; they don't hold a value. |
|
|
193
|
+
| `ContextMenu` | Offer commands on right-click or long press. |
|
|
194
|
+
| `Menubar` | An app's top row of menus. |
|
|
195
|
+
| `Toolbar` | A row of buttons, toggles and fields that act on one thing. |
|
|
196
|
+
| `NavigationMenu` | Site navigation, with panels of links. |
|
|
197
|
+
| `Tooltip` | Name an icon-only control. Never put anything you can click inside one. |
|
|
198
|
+
| `PreviewCard` | Preview what a link leads to on hover. |
|
|
199
|
+
| `Popover` | Show interactive content beside its trigger: a picker, a short form, filters. |
|
|
200
|
+
| `Dialog` | A task that needs full attention before the page goes on. |
|
|
201
|
+
| `AlertDialog` | Confirm a destructive or hard-to-undo action. |
|
|
202
|
+
| `Drawer` | A side task or detail panel that keeps the page in view. |
|
|
203
|
+
| `Accordion` | Several sections where only some need to be open. |
|
|
204
|
+
| `Collapsible` | One section to show or hide. |
|
|
205
|
+
| `Toast` | Report the result of an action, briefly. |
|
|
206
|
+
| `Progress` | Show how far a task has got. |
|
|
207
|
+
| `Meter` | Show a measured amount within known limits, such as storage used. |
|
|
208
|
+
|
|
209
|
+
A list of choices that stays on screen inside a panel, one of them selected (quick picks, saved filters, presets), has no Base UI part. Make each row a `<button aria-pressed>` drawn from the item concept: `--sl-item-padding-block`, `-padding-inline`, `-radius` and `-gap`, `--sl-item-background-hover` and `-color-hover` on hover, `--sl-item-background-selected` and `-color-selected` with the `-selected` text style when chosen. These are the same rows menus and selects use. When the choice is a form value, use Radio instead.
|
|
210
|
+
|
|
@@ -19,8 +19,8 @@
|
|
|
19
19
|
--ag-column-hover-color: var(--sl-table-column-hover);
|
|
20
20
|
--ag-range-selection-background-color: var(--sl-table-range-background);
|
|
21
21
|
--ag-range-selection-border-color: var(--sl-table-range-border);
|
|
22
|
-
--ag-font-family: var(--sl-font-condense-font-family);
|
|
23
|
-
--ag-font-size: var(--sl-font-condense-font-size);
|
|
22
|
+
--ag-font-family: var(--sl-font-body-condense-font-family);
|
|
23
|
+
--ag-font-size: var(--sl-font-body-condense-font-size);
|
|
24
24
|
--ag-grid-size: var(--sl-space-2);
|
|
25
25
|
--ag-row-height: var(--sl-table-row-height);
|
|
26
26
|
--ag-header-height: var(--sl-table-header-height);
|
|
@@ -70,18 +70,18 @@
|
|
|
70
70
|
|
|
71
71
|
/* The old themes have no header type settings: the header uses the condense-subtitle text style. */
|
|
72
72
|
.ag-theme-loomiere .ag-header-cell-text {
|
|
73
|
-
font-family: var(--sl-font-condense-
|
|
74
|
-
font-size: var(--sl-font-condense-
|
|
75
|
-
font-weight: var(--sl-font-condense-
|
|
73
|
+
font-family: var(--sl-font-subtitle-condense-font-family);
|
|
74
|
+
font-size: var(--sl-font-subtitle-condense-font-size);
|
|
75
|
+
font-weight: var(--sl-font-subtitle-condense-font-weight);
|
|
76
76
|
}
|
|
77
77
|
.ag-theme-loomiere .ag-header-cell:hover {
|
|
78
78
|
background-color: var(--sl-table-header-background-hover);
|
|
79
79
|
}
|
|
80
80
|
/* Letter spacing comes from the condense and condense-subtitle text styles. */
|
|
81
81
|
.ag-theme-loomiere {
|
|
82
|
-
letter-spacing: var(--sl-font-condense-letter-spacing);
|
|
82
|
+
letter-spacing: var(--sl-font-body-condense-letter-spacing);
|
|
83
83
|
}
|
|
84
84
|
.ag-theme-loomiere .ag-header-cell-text {
|
|
85
|
-
letter-spacing: var(--sl-font-condense-
|
|
86
|
-
line-height: var(--sl-font-condense-
|
|
85
|
+
letter-spacing: var(--sl-font-subtitle-condense-letter-spacing);
|
|
86
|
+
line-height: var(--sl-font-subtitle-condense-line-height);
|
|
87
87
|
}
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
/* Letter spacing comes from the condense and condense-subtitle text styles. */
|
|
3
3
|
.ag-root-wrapper,
|
|
4
4
|
.ag-popup {
|
|
5
|
-
letter-spacing: var(--sl-font-condense-letter-spacing);
|
|
5
|
+
letter-spacing: var(--sl-font-body-condense-letter-spacing);
|
|
6
6
|
}
|
|
7
7
|
.ag-header-cell-text {
|
|
8
|
-
letter-spacing: var(--sl-font-condense-
|
|
9
|
-
line-height: var(--sl-font-condense-
|
|
8
|
+
letter-spacing: var(--sl-font-subtitle-condense-letter-spacing);
|
|
9
|
+
line-height: var(--sl-font-subtitle-condense-line-height);
|
|
10
10
|
}
|
|
11
11
|
/* 33 to 35 hard-code a 5px radius on picker fields (36 uses borderRadius). */
|
|
12
12
|
.ag-picker-field-wrapper {
|
|
@@ -24,11 +24,11 @@ export const brandParams = {
|
|
|
24
24
|
rangeSelectionBorderColor: "var(--sl-table-range-border)",
|
|
25
25
|
cellEditingBorder: "var(--sl-field-border-width) solid var(--sl-field-border-color-focus)",
|
|
26
26
|
cellEditingShadow: "var(--sl-field-shadow-focus)",
|
|
27
|
-
fontFamily: "var(--sl-font-condense-font-family)",
|
|
28
|
-
fontSize: "var(--sl-font-condense-font-size)",
|
|
29
|
-
headerFontFamily: "var(--sl-font-condense-
|
|
30
|
-
headerFontSize: "var(--sl-font-condense-
|
|
31
|
-
headerFontWeight: "var(--sl-font-condense-
|
|
27
|
+
fontFamily: "var(--sl-font-body-condense-font-family)",
|
|
28
|
+
fontSize: "var(--sl-font-body-condense-font-size)",
|
|
29
|
+
headerFontFamily: "var(--sl-font-subtitle-condense-font-family)",
|
|
30
|
+
headerFontSize: "var(--sl-font-subtitle-condense-font-size)",
|
|
31
|
+
headerFontWeight: "var(--sl-font-subtitle-condense-font-weight)",
|
|
32
32
|
spacing: "var(--sl-space-2)",
|
|
33
33
|
rowHeight: "var(--sl-table-row-height)",
|
|
34
34
|
headerHeight: "var(--sl-table-header-height)",
|
|
@@ -102,7 +102,7 @@ export const brandParams = {
|
|
|
102
102
|
buttonHoverBorder: "var(--sl-stroke-default) solid var(--sl-emphasis-standard-border-hover)",
|
|
103
103
|
buttonActiveBackgroundColor: "var(--sl-emphasis-standard-bg-active)",
|
|
104
104
|
buttonBorderRadius: "var(--sl-radius-control)",
|
|
105
|
-
buttonFontWeight: "var(--sl-font-condense-
|
|
105
|
+
buttonFontWeight: "var(--sl-font-trigger-condense-font-weight)",
|
|
106
106
|
iconButtonColor: "var(--sl-icon-button-color)",
|
|
107
107
|
iconButtonHoverColor: "var(--sl-icon-button-color-hover)",
|
|
108
108
|
iconButtonHoverBackgroundColor: "var(--sl-icon-button-background-hover)",
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
/* Letter spacing comes from the condense and condense-subtitle text styles. */
|
|
3
3
|
.ag-root-wrapper,
|
|
4
4
|
.ag-popup {
|
|
5
|
-
letter-spacing: var(--sl-font-condense-letter-spacing);
|
|
5
|
+
letter-spacing: var(--sl-font-body-condense-letter-spacing);
|
|
6
6
|
}
|
|
7
7
|
.ag-header-cell-text {
|
|
8
|
-
letter-spacing: var(--sl-font-condense-
|
|
9
|
-
line-height: var(--sl-font-condense-
|
|
8
|
+
letter-spacing: var(--sl-font-subtitle-condense-letter-spacing);
|
|
9
|
+
line-height: var(--sl-font-subtitle-condense-line-height);
|
|
10
10
|
}
|
|
@@ -24,12 +24,12 @@ export const brandParams = {
|
|
|
24
24
|
rangeSelectionBorderColor: "var(--sl-table-range-border)",
|
|
25
25
|
cellEditingBorder: "var(--sl-field-border-width) solid var(--sl-field-border-color-focus)",
|
|
26
26
|
cellEditingShadow: "var(--sl-field-shadow-focus)",
|
|
27
|
-
fontFamily: "var(--sl-font-condense-font-family)",
|
|
28
|
-
fontSize: "var(--sl-font-condense-font-size)",
|
|
29
|
-
fontWeight: "var(--sl-font-condense-font-weight)",
|
|
30
|
-
headerFontFamily: "var(--sl-font-condense-
|
|
31
|
-
headerFontSize: "var(--sl-font-condense-
|
|
32
|
-
headerFontWeight: "var(--sl-font-condense-
|
|
27
|
+
fontFamily: "var(--sl-font-body-condense-font-family)",
|
|
28
|
+
fontSize: "var(--sl-font-body-condense-font-size)",
|
|
29
|
+
fontWeight: "var(--sl-font-body-condense-font-weight)",
|
|
30
|
+
headerFontFamily: "var(--sl-font-subtitle-condense-font-family)",
|
|
31
|
+
headerFontSize: "var(--sl-font-subtitle-condense-font-size)",
|
|
32
|
+
headerFontWeight: "var(--sl-font-subtitle-condense-font-weight)",
|
|
33
33
|
spacing: "var(--sl-space-2)",
|
|
34
34
|
rowHeight: "var(--sl-table-row-height)",
|
|
35
35
|
headerHeight: "var(--sl-table-header-height)",
|
|
@@ -105,7 +105,7 @@ export const brandParams = {
|
|
|
105
105
|
buttonHoverBorder: "var(--sl-stroke-default) solid var(--sl-emphasis-standard-border-hover)",
|
|
106
106
|
buttonActiveBackgroundColor: "var(--sl-emphasis-standard-bg-active)",
|
|
107
107
|
buttonBorderRadius: "var(--sl-radius-control)",
|
|
108
|
-
buttonFontWeight: "var(--sl-font-condense-
|
|
108
|
+
buttonFontWeight: "var(--sl-font-trigger-condense-font-weight)",
|
|
109
109
|
iconButtonColor: "var(--sl-icon-button-color)",
|
|
110
110
|
iconButtonHoverColor: "var(--sl-icon-button-color-hover)",
|
|
111
111
|
iconButtonHoverBackgroundColor: "var(--sl-icon-button-background-hover)",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"files": [
|
|
18
18
|
"figma.json"
|
|
19
19
|
],
|
|
20
|
-
"for": "
|
|
20
|
+
"for": "Figma variables, text styles and effect styles (elevation and focus shadows): hidden Brand and Scale collections, and Size, Theme, Status and Emphasis, with modes for desktop, tablet and mobile, light and dark, high contrast, color vision, statuses and emphasis. Ask Claude to sync, run loomiere figma push, or import it with the Loomiere Figma plugin."
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
"id": "tailwind",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"files": [
|
|
27
27
|
"tailwind.css"
|
|
28
28
|
],
|
|
29
|
-
"for": "Tailwind v4 projects: import after tailwindcss (it brings tokens.css along). Utilities like bg-accent-solid, text-fg, bg-emphasis-bg, and text styles by tier: text-base, text-magnify
|
|
29
|
+
"for": "Tailwind v4 projects: import after tailwindcss (it brings tokens.css along). Utilities like bg-accent-solid, text-fg, bg-emphasis-bg, and text styles by tier: text-body-base, text-trigger-magnify."
|
|
30
30
|
},
|
|
31
31
|
{
|
|
32
32
|
"id": "shadcn",
|
|
@@ -157,6 +157,8 @@
|
|
|
157
157
|
"design-system/components/Slider/preview.html",
|
|
158
158
|
"design-system/components/Switch/README.md",
|
|
159
159
|
"design-system/components/Switch/preview.html",
|
|
160
|
+
"design-system/components/Table/README.md",
|
|
161
|
+
"design-system/components/Table/preview.html",
|
|
160
162
|
"design-system/components/Tabs/README.md",
|
|
161
163
|
"design-system/components/Tabs/preview.html",
|
|
162
164
|
"design-system/components/Toast/README.md",
|