@leftium/nimble.css 0.2.0 → 0.3.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 +94 -77
- package/dist/nimble-base.css +15 -10
- package/dist/nimble-base.min.css +1 -1
- package/dist/nimble-core.css +96 -19
- package/dist/nimble-core.min.css +1 -1
- package/dist/nimble-select.css +3 -0
- package/dist/nimble-select.min.css +1 -1
- package/dist/nimble.css +99 -19
- package/dist/nimble.min.css +1 -1
- package/package.json +1 -1
- package/src/_article.scss +65 -0
- package/src/_buttons.scss +33 -5
- package/src/_colors.scss +19 -14
- package/src/_details.scss +4 -0
- package/src/_document.scss +10 -0
- package/src/_forms.scss +22 -6
- package/src/_select.scss +3 -0
- package/src/nimble-core.scss +1 -0
- package/src/nimble.scss +1 -0
- package/dist/nimble-full.css +0 -946
- package/dist/nimble-full.min.css +0 -1
package/README.md
CHANGED
|
@@ -1,22 +1,20 @@
|
|
|
1
1
|
# nimble.css
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Minimal CSS library for great-looking default HTML styles; no classes required. ~3.4 KB brotli (core).
|
|
4
4
|
|
|
5
|
-
- **Classless
|
|
6
|
-
- **
|
|
7
|
-
- **OKLCH color system** — perceptually uniform, fully customizable via SCSS config
|
|
5
|
+
- **Classless** — every standard HTML element elegantly styled without classes
|
|
6
|
+
- **Dark mode** — included (automatic and manual)
|
|
8
7
|
- **Cascade layers** — plays nicely alongside your own styles
|
|
9
|
-
- **Tiny** — core is
|
|
8
|
+
- **Tiny** — core is only ~3.4 KB brotli (15.9 KB minified)
|
|
10
9
|
|
|
11
10
|
## Demos
|
|
12
11
|
|
|
13
12
|
- [HTML5 Test Page](https://leftium.github.io/nimble.css/demo/) — every standard HTML element
|
|
13
|
+
- [Pico CSS-style Demo](https://leftium.github.io/nimble.css/demo/pico.html) — Pico CSS-inspired page with forms, buttons, article, tables, and more
|
|
14
14
|
- [Extended Demo](https://leftium.github.io/nimble.css/demo/extended.html) — layouts, utilities, button variants, forms, dark mode toggle
|
|
15
15
|
|
|
16
16
|
## Quick Start
|
|
17
17
|
|
|
18
|
-
### npm
|
|
19
|
-
|
|
20
18
|
```bash
|
|
21
19
|
npm install @leftium/nimble.css
|
|
22
20
|
```
|
|
@@ -33,7 +31,8 @@ Then import in your CSS, JS, or framework:
|
|
|
33
31
|
import '@leftium/nimble.css';
|
|
34
32
|
```
|
|
35
33
|
|
|
36
|
-
|
|
34
|
+
<details>
|
|
35
|
+
<summary>Or use CDN</summary>
|
|
37
36
|
|
|
38
37
|
Via jsDelivr (npm):
|
|
39
38
|
|
|
@@ -41,19 +40,14 @@ Via jsDelivr (npm):
|
|
|
41
40
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@leftium/nimble.css/dist/nimble.min.css">
|
|
42
41
|
```
|
|
43
42
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
```html
|
|
47
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/Leftium/nimble.css@main/dist/nimble.min.css">
|
|
48
|
-
```
|
|
49
|
-
|
|
50
|
-
That's it. Write semantic HTML and it just works.
|
|
43
|
+
</details>
|
|
51
44
|
|
|
52
|
-
|
|
45
|
+
<details>
|
|
46
|
+
<summary>For 3.4 KB core size</summary>
|
|
53
47
|
|
|
54
|
-
`nimble.min.css` (
|
|
48
|
+
`nimble.min.css` (19.4 KB) includes everything.
|
|
55
49
|
|
|
56
|
-
To trim size, use `nimble-core.min.css` (15.
|
|
50
|
+
To trim size, use `nimble-core.min.css` (15.9 KB) + only the add-ons you need:
|
|
57
51
|
|
|
58
52
|
| Add-on | Minified |
|
|
59
53
|
|---|---|
|
|
@@ -87,11 +81,15 @@ For advanced use, `nimble-core` is composed of these non-overlapping layers:
|
|
|
87
81
|
| Sub-bundle | Minified | Contents |
|
|
88
82
|
|---|---|---|
|
|
89
83
|
| `nimble-reset.min.css` | 1.8 KB | Modern CSS reset |
|
|
90
|
-
| `nimble-base.min.css` | 3.
|
|
84
|
+
| `nimble-base.min.css` | 3.8 KB | Colors + document + typography |
|
|
91
85
|
| `nimble-utilities.min.css` | 572 B | Utility classes |
|
|
92
86
|
|
|
93
87
|
</details>
|
|
94
88
|
|
|
89
|
+
</details>
|
|
90
|
+
|
|
91
|
+
That's it. Write semantic HTML and it just works.
|
|
92
|
+
|
|
95
93
|
## Utility Classes
|
|
96
94
|
|
|
97
95
|
Content is centered at `720px` by default — no class needed. These opt-in utilities handle the rest. Disable all with `$enable-utilities: false`.
|
|
@@ -110,85 +108,104 @@ Content is centered at `720px` by default — no class needed. These opt-in util
|
|
|
110
108
|
|
|
111
109
|
### CSS Custom Properties
|
|
112
110
|
|
|
113
|
-
Override
|
|
111
|
+
Override at runtime — no build step needed. Hover and focus states auto-derive from the base color via [relative color syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_colors/Relative_colors).
|
|
114
112
|
|
|
115
113
|
```css
|
|
116
114
|
:root {
|
|
117
|
-
|
|
118
|
-
--nc-
|
|
119
|
-
|
|
115
|
+
/* Surface hue (shared by backgrounds, text, border) */
|
|
116
|
+
--nc-surface-hue: 250;
|
|
117
|
+
|
|
118
|
+
/* Primary accent (links, buttons, focus rings) — hover/focus auto-derive */
|
|
119
|
+
--nc-primary: light-dark(oklch(0.5 0.2 250), oklch(0.6 0.2 250));
|
|
120
|
+
--nc-primary-contrast: light-dark(#fff, oklch(0.15 0.005 250));
|
|
121
|
+
|
|
122
|
+
/* Secondary accent (reset buttons) — hover/focus auto-derive */
|
|
123
|
+
--nc-secondary: light-dark(oklch(0.45 0.05 250), oklch(0.6 0.05 250));
|
|
124
|
+
--nc-secondary-contrast: light-dark(#fff, oklch(0.15 0.005 250));
|
|
125
|
+
|
|
126
|
+
/* Validation colors */
|
|
127
|
+
--nc-valid: light-dark(oklch(0.52 0.17 145), oklch(0.65 0.2 145));
|
|
128
|
+
--nc-invalid: light-dark(oklch(0.55 0.22 25), oklch(0.65 0.22 25));
|
|
129
|
+
|
|
130
|
+
/* Font stacks */
|
|
131
|
+
--nc-font-sans: system-ui, sans-serif;
|
|
132
|
+
--nc-font-mono: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace;
|
|
133
|
+
|
|
134
|
+
/* Layout */
|
|
135
|
+
--nc-spacing: 1rem;
|
|
136
|
+
--nc-radius: 0.25rem;
|
|
137
|
+
--nc-content-width: 720px;
|
|
120
138
|
}
|
|
121
139
|
```
|
|
122
140
|
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
| `--nc-primary-contrast` | Text on primary backgrounds |
|
|
132
|
-
| `--nc-secondary` | Secondary accent (reset buttons) |
|
|
133
|
-
| `--nc-secondary-hover` | Secondary hover state |
|
|
134
|
-
| `--nc-secondary-focus` | Secondary focus ring |
|
|
135
|
-
| `--nc-secondary-contrast` | Text on secondary backgrounds |
|
|
136
|
-
| `--nc-valid` | Validation success color |
|
|
137
|
-
| `--nc-invalid` | Validation error color |
|
|
138
|
-
| `--nc-font-sans` | Body font stack |
|
|
139
|
-
| `--nc-font-mono` | Code font stack |
|
|
140
|
-
| `--nc-spacing` | Base spacing unit |
|
|
141
|
-
| `--nc-radius` | Border radius |
|
|
142
|
-
| `--nc-content-width` | Max content width |
|
|
143
|
-
|
|
144
|
-
### SCSS
|
|
145
|
-
|
|
146
|
-
For build-time customization, override any SCSS config variable:
|
|
141
|
+
These properties are auto-derived and available for use in your own components (no need to set them):
|
|
142
|
+
|
|
143
|
+
`--nc-surface-1` .. `--nc-surface-4`, `--nc-text`, `--nc-border`, `--nc-primary-hover`, `--nc-primary-focus`, `--nc-secondary-hover`, `--nc-secondary-focus`
|
|
144
|
+
|
|
145
|
+
<details>
|
|
146
|
+
<summary>SCSS (advanced)</summary>
|
|
147
|
+
|
|
148
|
+
Build a CSS file with new defaults. SCSS-unique options listed first; the rest mirror CSS custom properties above.
|
|
147
149
|
|
|
148
150
|
```scss
|
|
149
151
|
@use 'nimble' with (
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
$
|
|
153
|
-
$
|
|
154
|
-
|
|
152
|
+
// --- SCSS-only (no CSS custom property equivalent) ---
|
|
153
|
+
|
|
154
|
+
$prefix: '--nc-', // CSS custom property prefix
|
|
155
|
+
$wide-width: 1200px, // wide layout max-width (used in utilities)
|
|
156
|
+
|
|
157
|
+
// Feature flags (tree-shake unused components)
|
|
158
|
+
$enable-utilities: true,
|
|
159
|
+
$enable-dialog: true,
|
|
160
|
+
$enable-switch: true,
|
|
161
|
+
$enable-details: true,
|
|
162
|
+
|
|
163
|
+
// Surface fine-tuning
|
|
164
|
+
$surface-chroma: 0.002,
|
|
165
|
+
$surface-light-base: 0.985, // light mode base lightness
|
|
166
|
+
$surface-dark-base: 0.170, // dark mode base lightness
|
|
167
|
+
$surface-offsets: (2: 0.03, 3: 0.06, 4: 0.10),
|
|
168
|
+
$surface-dark-chroma-boost: 0.003,
|
|
169
|
+
$surface-dark-hue-shift: 10,
|
|
170
|
+
|
|
171
|
+
// --- Same as CSS custom properties above ---
|
|
172
|
+
|
|
173
|
+
$surface-hue: 250,
|
|
174
|
+
|
|
175
|
+
// Primary accent (hue, chroma, lightness → --nc-primary)
|
|
176
|
+
$primary-hue: 250,
|
|
177
|
+
$primary-chroma: 0.2,
|
|
178
|
+
$primary-lightness: 0.50,
|
|
179
|
+
|
|
180
|
+
// Secondary accent (hue, chroma, lightness → --nc-secondary)
|
|
181
|
+
$secondary-hue: 250,
|
|
182
|
+
$secondary-chroma: 0.05,
|
|
183
|
+
$secondary-lightness: 0.45,
|
|
184
|
+
|
|
185
|
+
// Font stacks
|
|
186
|
+
$font-sans: (system-ui, sans-serif),
|
|
187
|
+
$font-mono: (ui-monospace, monospace),
|
|
188
|
+
|
|
189
|
+
// Layout
|
|
190
|
+
$spacing: 1rem,
|
|
191
|
+
$radius: 0.25rem,
|
|
192
|
+
$content-width: 720px,
|
|
155
193
|
);
|
|
156
194
|
```
|
|
157
195
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
| Variable | Default | Description |
|
|
161
|
-
|---|---|---|
|
|
162
|
-
| `$prefix` | `'--nc-'` | CSS custom property prefix |
|
|
163
|
-
| `$primary-hue` | `250` | Primary accent hue (OKLCH) |
|
|
164
|
-
| `$primary-chroma` | `0.2` | Primary accent chroma |
|
|
165
|
-
| `$primary-lightness` | `0.50` | Primary accent lightness |
|
|
166
|
-
| `$secondary-hue` | `250` | Secondary accent hue |
|
|
167
|
-
| `$secondary-chroma` | `0.05` | Secondary accent chroma |
|
|
168
|
-
| `$secondary-lightness` | `0.45` | Secondary accent lightness |
|
|
169
|
-
| `$surface-hue` | `250` | Background surface hue |
|
|
170
|
-
| `$font-sans` | `system-ui, sans-serif` | Body font stack |
|
|
171
|
-
| `$font-mono` | `ui-monospace, ...` | Code font stack |
|
|
172
|
-
| `$spacing` | `1rem` | Base spacing unit |
|
|
173
|
-
| `$radius` | `0.25rem` | Border radius |
|
|
174
|
-
| `$content-width` | `720px` | Max content width |
|
|
175
|
-
| `$wide-width` | `1200px` | Wide layout max-width |
|
|
176
|
-
| `$enable-utilities` | `true` | Include utility classes |
|
|
177
|
-
| `$enable-dialog` | `true` | Include dialog styles |
|
|
178
|
-
| `$enable-switch` | `true` | Include switch toggle |
|
|
179
|
-
| `$enable-details` | `true` | Include details/summary |
|
|
196
|
+
</details>
|
|
180
197
|
|
|
181
198
|
## Design Lineage
|
|
182
199
|
|
|
183
200
|
nimble.css combines [Open Props](https://open-props.style/)'s design token philosophy with [PicoCSS](https://picocss.com/)'s classless aesthetics. Key concepts borrowed from Open Props:
|
|
184
201
|
|
|
185
|
-
- **Surface hierarchy** (`surface-1` through `surface-4`) — layered backgrounds for page, card, input, and overlay contexts
|
|
202
|
+
- **Surface hierarchy** (`surface-1` through `surface-4`) — layered backgrounds for page, card, input, and overlay contexts, all derived from a single `--nc-surface-hue`.
|
|
186
203
|
- **Text color** (`text`) — single text color variable; muted text derived inline via `color-mix()`.
|
|
187
|
-
- **OKLCH color space** — perceptually uniform color system. Change
|
|
204
|
+
- **OKLCH color space** — perceptually uniform color system. Change `--nc-primary` and hover/focus states regenerate automatically via [relative color syntax](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_colors/Relative_colors).
|
|
188
205
|
- **Curated scale values** — `$spacing: 1rem` (~Open Props `size-3`) and `$radius: 0.25rem` (~Open Props `radius-2`) are sourced from Open Props' scales.
|
|
189
206
|
- **Minimal DevTools pollution** — ~20 semantic custom properties on `:root` plus scoped `--_` internals per component, rather than dumping hundreds of variables globally.
|
|
190
207
|
|
|
191
|
-
The key architectural difference: nimble.css is self-contained SCSS with no runtime dependency on Open Props.
|
|
208
|
+
The key architectural difference: nimble.css is self-contained SCSS with no runtime dependency on Open Props. Color derivatives (hover, focus, surfaces) are expressed as native CSS relative colors and `calc()`, so runtime theming works without a build step.
|
|
192
209
|
|
|
193
210
|
## Building from Source
|
|
194
211
|
|
package/dist/nimble-base.css
CHANGED
|
@@ -2,19 +2,20 @@
|
|
|
2
2
|
@layer nimble.base {
|
|
3
3
|
:root {
|
|
4
4
|
color-scheme: light dark;
|
|
5
|
-
--nc-surface-
|
|
6
|
-
--nc-surface-
|
|
7
|
-
--nc-surface-
|
|
8
|
-
--nc-surface-
|
|
9
|
-
--nc-
|
|
10
|
-
--nc-
|
|
5
|
+
--nc-surface-hue: 250;
|
|
6
|
+
--nc-surface-1: light-dark(oklch(0.985 0.002 var(--nc-surface-hue)), oklch(0.17 0.005 calc(var(--nc-surface-hue) + 10)));
|
|
7
|
+
--nc-surface-2: light-dark(oklch(0.955 0.002 var(--nc-surface-hue)), oklch(0.2 0.005 calc(var(--nc-surface-hue) + 10)));
|
|
8
|
+
--nc-surface-3: light-dark(oklch(0.925 0.002 var(--nc-surface-hue)), oklch(0.23 0.005 calc(var(--nc-surface-hue) + 10)));
|
|
9
|
+
--nc-surface-4: light-dark(oklch(0.885 0.002 var(--nc-surface-hue)), oklch(0.27 0.005 calc(var(--nc-surface-hue) + 10)));
|
|
10
|
+
--nc-text: light-dark(oklch(0.28 0.005 var(--nc-surface-hue)), oklch(0.86 0.005 var(--nc-surface-hue)));
|
|
11
|
+
--nc-border: light-dark(oklch(0.83 0.005 var(--nc-surface-hue)), oklch(0.28 0.005 calc(var(--nc-surface-hue) + 10)));
|
|
11
12
|
--nc-primary: light-dark(oklch(0.5 0.2 250), oklch(0.6 0.2 250));
|
|
12
|
-
--nc-primary-hover: light-dark(oklch(
|
|
13
|
-
--nc-primary-focus: oklch(
|
|
13
|
+
--nc-primary-hover: light-dark(oklch(from var(--nc-primary) calc(l - 0.1) c h), oklch(from var(--nc-primary) calc(l + 0.1) c h));
|
|
14
|
+
--nc-primary-focus: oklch(from var(--nc-primary) l c h / 0.4);
|
|
14
15
|
--nc-primary-contrast: light-dark(#fff, oklch(0.15 0.005 250));
|
|
15
16
|
--nc-secondary: light-dark(oklch(0.45 0.05 250), oklch(0.6 0.05 250));
|
|
16
|
-
--nc-secondary-hover: light-dark(oklch(
|
|
17
|
-
--nc-secondary-focus: oklch(
|
|
17
|
+
--nc-secondary-hover: light-dark(oklch(from var(--nc-secondary) calc(l - 0.1) c h), oklch(from var(--nc-secondary) calc(l + 0.1) c h));
|
|
18
|
+
--nc-secondary-focus: oklch(from var(--nc-secondary) l c h / 0.3);
|
|
18
19
|
--nc-secondary-contrast: light-dark(#fff, oklch(0.15 0.005 250));
|
|
19
20
|
--nc-valid: light-dark(oklch(0.52 0.17 145), oklch(0.65 0.2 145));
|
|
20
21
|
--nc-invalid: light-dark(oklch(0.55 0.22 25), oklch(0.65 0.22 25));
|
|
@@ -48,6 +49,10 @@
|
|
|
48
49
|
grid-column: 2;
|
|
49
50
|
min-width: 0;
|
|
50
51
|
}
|
|
52
|
+
body > [style*="display: contents"] > * {
|
|
53
|
+
grid-column: 2;
|
|
54
|
+
min-width: 0;
|
|
55
|
+
}
|
|
51
56
|
::selection {
|
|
52
57
|
background-color: var(--nc-primary-focus);
|
|
53
58
|
color: var(--nc-text);
|
package/dist/nimble-base.min.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer nimble.reset;@layer nimble.base{:root{color-scheme:light dark;--nc-surface-1:light-dark(oklch(
|
|
1
|
+
@layer nimble.reset;@layer nimble.base{:root{color-scheme:light dark;--nc-surface-hue:250;--nc-surface-1:light-dark(oklch(.985 .002 var(--nc-surface-hue)),oklch(.17 .005 calc(var(--nc-surface-hue) + 10)));--nc-surface-2:light-dark(oklch(.955 .002 var(--nc-surface-hue)),oklch(.2 .005 calc(var(--nc-surface-hue) + 10)));--nc-surface-3:light-dark(oklch(.925 .002 var(--nc-surface-hue)),oklch(.23 .005 calc(var(--nc-surface-hue) + 10)));--nc-surface-4:light-dark(oklch(.885 .002 var(--nc-surface-hue)),oklch(.27 .005 calc(var(--nc-surface-hue) + 10)));--nc-text:light-dark(oklch(.28 .005 var(--nc-surface-hue)),oklch(.86 .005 var(--nc-surface-hue)));--nc-border:light-dark(oklch(.83 .005 var(--nc-surface-hue)),oklch(.28 .005 calc(var(--nc-surface-hue) + 10)));--nc-primary:light-dark(oklch(50% .2 250),oklch(60% .2 250));--nc-primary-hover:light-dark(oklch(from var(--nc-primary) calc(l - .1) c h),oklch(from var(--nc-primary) calc(l + .1) c h));--nc-primary-focus:oklch(from var(--nc-primary) l c h / .4);--nc-primary-contrast:light-dark(#fff,oklch(15% .005 250));--nc-secondary:light-dark(oklch(45% .05 250),oklch(60% .05 250));--nc-secondary-hover:light-dark(oklch(from var(--nc-secondary) calc(l - .1) c h),oklch(from var(--nc-secondary) calc(l + .1) c h));--nc-secondary-focus:oklch(from var(--nc-secondary) l c h / .3);--nc-secondary-contrast:light-dark(#fff,oklch(15% .005 250));--nc-valid:light-dark(oklch(52% .17 145),oklch(65% .2 145));--nc-invalid:light-dark(oklch(55% .22 25),oklch(65% .22 25));--nc-font-sans:system-ui, sans-serif;--nc-font-mono:ui-monospace, Cascadia Code, Source Code Pro, Menlo, Consolas, DejaVu Sans Mono, monospace;--nc-spacing:1rem;--nc-radius:.25rem;--nc-content-width:720px}[data-theme=dark]{color-scheme:dark}[data-theme=light]{color-scheme:light}html{font-family:var(--nc-font-sans);color:var(--nc-text);background-color:var(--nc-surface-1);font-size:100%;line-height:1.5}body{grid-template-columns:1fr min(var(--nc-content-width), calc(100% - 2 * var(--nc-spacing))) 1fr;min-height:100dvh;display:grid}body>*,body>[style*="display: contents"]>*{grid-column:2;min-width:0}::selection{background-color:var(--nc-primary-focus);color:var(--nc-text)}h1{margin-top:0;margin-bottom:var(--nc-spacing);text-wrap:balance;font-size:2rem;font-weight:700;line-height:1.1}h2{margin-top:2rem;margin-bottom:var(--nc-spacing);text-wrap:balance;font-size:1.75rem;font-weight:700;line-height:1.15}h3{margin-top:1.5rem;margin-bottom:var(--nc-spacing);text-wrap:balance;font-size:1.5rem;font-weight:700;line-height:1.2}h4{margin-top:1.5rem;margin-bottom:var(--nc-spacing);text-wrap:balance;font-size:1.25rem;font-weight:700;line-height:1.3}h5{margin-top:1.5rem;margin-bottom:var(--nc-spacing);text-wrap:balance;font-size:1.125rem;font-weight:700;line-height:1.4}h6{margin-top:1.5rem;margin-bottom:var(--nc-spacing);text-wrap:balance;font-size:1rem;font-weight:700;line-height:1.5}@media (width<=720px){h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.3rem}}p,ul,ol,dl,blockquote,pre,table,figure,form,fieldset{margin-top:0;margin-bottom:var(--nc-spacing)}ul,ol{padding-inline-start:1.5em}li{margin-bottom:.25em}:where(li)>:where(ul,ol){margin-bottom:0}dt{font-weight:600}dd{margin-inline-start:1.5em;margin-bottom:.5em}blockquote{margin-block:var(--nc-spacing);padding:.25em var(--nc-spacing);border-inline-start:.25rem solid var(--nc-border);margin-inline:0;font-style:italic}:where(blockquote) footer,:where(blockquote) cite{color:color-mix(in oklch, var(--nc-text), transparent 40%);font-size:.9em;font-style:normal}hr{background-color:color-mix(in oklch, var(--nc-border), transparent 40%);height:1px;margin:calc(var(--nc-spacing) * 2) 0;border:none}mark{color:light-dark(inherit,oklch(95% .01 85));background-color:light-dark(#fde68a,oklch(55% .12 85));border-radius:2px;padding:.1em .25em}address{font-style:normal}}
|
package/dist/nimble-core.css
CHANGED
|
@@ -123,19 +123,20 @@
|
|
|
123
123
|
@layer nimble.base {
|
|
124
124
|
:root {
|
|
125
125
|
color-scheme: light dark;
|
|
126
|
-
--nc-surface-
|
|
127
|
-
--nc-surface-
|
|
128
|
-
--nc-surface-
|
|
129
|
-
--nc-surface-
|
|
130
|
-
--nc-
|
|
131
|
-
--nc-
|
|
126
|
+
--nc-surface-hue: 250;
|
|
127
|
+
--nc-surface-1: light-dark(oklch(0.985 0.002 var(--nc-surface-hue)), oklch(0.17 0.005 calc(var(--nc-surface-hue) + 10)));
|
|
128
|
+
--nc-surface-2: light-dark(oklch(0.955 0.002 var(--nc-surface-hue)), oklch(0.2 0.005 calc(var(--nc-surface-hue) + 10)));
|
|
129
|
+
--nc-surface-3: light-dark(oklch(0.925 0.002 var(--nc-surface-hue)), oklch(0.23 0.005 calc(var(--nc-surface-hue) + 10)));
|
|
130
|
+
--nc-surface-4: light-dark(oklch(0.885 0.002 var(--nc-surface-hue)), oklch(0.27 0.005 calc(var(--nc-surface-hue) + 10)));
|
|
131
|
+
--nc-text: light-dark(oklch(0.28 0.005 var(--nc-surface-hue)), oklch(0.86 0.005 var(--nc-surface-hue)));
|
|
132
|
+
--nc-border: light-dark(oklch(0.83 0.005 var(--nc-surface-hue)), oklch(0.28 0.005 calc(var(--nc-surface-hue) + 10)));
|
|
132
133
|
--nc-primary: light-dark(oklch(0.5 0.2 250), oklch(0.6 0.2 250));
|
|
133
|
-
--nc-primary-hover: light-dark(oklch(
|
|
134
|
-
--nc-primary-focus: oklch(
|
|
134
|
+
--nc-primary-hover: light-dark(oklch(from var(--nc-primary) calc(l - 0.1) c h), oklch(from var(--nc-primary) calc(l + 0.1) c h));
|
|
135
|
+
--nc-primary-focus: oklch(from var(--nc-primary) l c h / 0.4);
|
|
135
136
|
--nc-primary-contrast: light-dark(#fff, oklch(0.15 0.005 250));
|
|
136
137
|
--nc-secondary: light-dark(oklch(0.45 0.05 250), oklch(0.6 0.05 250));
|
|
137
|
-
--nc-secondary-hover: light-dark(oklch(
|
|
138
|
-
--nc-secondary-focus: oklch(
|
|
138
|
+
--nc-secondary-hover: light-dark(oklch(from var(--nc-secondary) calc(l - 0.1) c h), oklch(from var(--nc-secondary) calc(l + 0.1) c h));
|
|
139
|
+
--nc-secondary-focus: oklch(from var(--nc-secondary) l c h / 0.3);
|
|
139
140
|
--nc-secondary-contrast: light-dark(#fff, oklch(0.15 0.005 250));
|
|
140
141
|
--nc-valid: light-dark(oklch(0.52 0.17 145), oklch(0.65 0.2 145));
|
|
141
142
|
--nc-invalid: light-dark(oklch(0.55 0.22 25), oklch(0.65 0.22 25));
|
|
@@ -169,6 +170,10 @@
|
|
|
169
170
|
grid-column: 2;
|
|
170
171
|
min-width: 0;
|
|
171
172
|
}
|
|
173
|
+
body > [style*="display: contents"] > * {
|
|
174
|
+
grid-column: 2;
|
|
175
|
+
min-width: 0;
|
|
176
|
+
}
|
|
172
177
|
::selection {
|
|
173
178
|
background-color: var(--nc-primary-focus);
|
|
174
179
|
color: var(--nc-text);
|
|
@@ -327,6 +332,18 @@
|
|
|
327
332
|
box-shadow: 0 0 0 2px var(--nc-primary-focus);
|
|
328
333
|
outline: none;
|
|
329
334
|
}
|
|
335
|
+
:where([type=reset]) {
|
|
336
|
+
background-color: var(--nc-secondary);
|
|
337
|
+
border-color: var(--nc-secondary);
|
|
338
|
+
color: var(--nc-secondary-contrast);
|
|
339
|
+
}
|
|
340
|
+
:where([type=reset]):hover {
|
|
341
|
+
background-color: var(--nc-secondary-hover);
|
|
342
|
+
border-color: var(--nc-secondary-hover);
|
|
343
|
+
}
|
|
344
|
+
:where([type=reset]):focus-visible {
|
|
345
|
+
box-shadow: 0 0 0 2px var(--nc-secondary-focus);
|
|
346
|
+
}
|
|
330
347
|
:where(button, [type=submit], [type=reset], [type=button], [role=button]).inline {
|
|
331
348
|
--_btn-padding-v: 0.05em;
|
|
332
349
|
--_btn-padding-h: 0.4em;
|
|
@@ -407,23 +424,31 @@
|
|
|
407
424
|
}
|
|
408
425
|
}
|
|
409
426
|
@layer nimble.utilities {
|
|
410
|
-
.secondary {
|
|
427
|
+
.secondary:not(a:not([role=button])) {
|
|
411
428
|
background-color: var(--nc-secondary);
|
|
412
429
|
border-color: var(--nc-secondary);
|
|
413
430
|
color: var(--nc-secondary-contrast);
|
|
414
431
|
}
|
|
415
|
-
.secondary:hover {
|
|
432
|
+
.secondary:not(a:not([role=button])):hover {
|
|
416
433
|
background-color: var(--nc-secondary-hover);
|
|
417
434
|
border-color: var(--nc-secondary-hover);
|
|
418
435
|
}
|
|
419
|
-
.secondary:focus-visible {
|
|
436
|
+
.secondary:not(a:not([role=button])):focus-visible {
|
|
420
437
|
box-shadow: 0 0 0 2px var(--nc-secondary-focus);
|
|
421
438
|
}
|
|
422
|
-
.
|
|
439
|
+
a:not([role=button]).secondary {
|
|
440
|
+
color: var(--nc-secondary);
|
|
441
|
+
text-decoration-color: color-mix(in oklch, var(--nc-secondary), transparent 50%);
|
|
442
|
+
}
|
|
443
|
+
a:not([role=button]).secondary:hover {
|
|
444
|
+
color: var(--nc-secondary-hover);
|
|
445
|
+
text-decoration-color: var(--nc-secondary-hover);
|
|
446
|
+
}
|
|
447
|
+
.outline:not(a:not([role=button])) {
|
|
423
448
|
background-color: transparent;
|
|
424
449
|
color: var(--nc-primary);
|
|
425
450
|
}
|
|
426
|
-
.outline:hover {
|
|
451
|
+
.outline:not(a:not([role=button])):hover {
|
|
427
452
|
background-color: var(--nc-primary-focus);
|
|
428
453
|
color: var(--nc-primary-hover);
|
|
429
454
|
border-color: var(--nc-primary-hover);
|
|
@@ -479,6 +504,9 @@
|
|
|
479
504
|
:where(label:has(+ input, + select, + textarea)) {
|
|
480
505
|
font-weight: 600;
|
|
481
506
|
}
|
|
507
|
+
:where(label:has(+ [type=file], + [type=range])) {
|
|
508
|
+
margin-bottom: 0.5em;
|
|
509
|
+
}
|
|
482
510
|
:where(fieldset) {
|
|
483
511
|
border: 1px solid var(--nc-border);
|
|
484
512
|
border-radius: var(--nc-radius);
|
|
@@ -500,14 +528,19 @@
|
|
|
500
528
|
display: flex;
|
|
501
529
|
align-items: center;
|
|
502
530
|
gap: 0.35em;
|
|
503
|
-
margin-bottom:
|
|
531
|
+
margin-bottom: 0.5em;
|
|
532
|
+
}
|
|
533
|
+
:where(label:has([type=checkbox], [type=radio]):last-child) {
|
|
534
|
+
margin-bottom: 0;
|
|
504
535
|
}
|
|
505
|
-
:where(
|
|
506
|
-
|
|
536
|
+
:where([type=search]) {
|
|
537
|
+
border-radius: 5rem;
|
|
538
|
+
padding-inline: 1.25em;
|
|
507
539
|
}
|
|
508
540
|
:where([type=range]) {
|
|
509
541
|
accent-color: var(--nc-primary);
|
|
510
542
|
width: 100%;
|
|
543
|
+
margin-bottom: var(--nc-spacing);
|
|
511
544
|
}
|
|
512
545
|
:where(input[list]) {
|
|
513
546
|
width: auto;
|
|
@@ -517,6 +550,7 @@
|
|
|
517
550
|
font: inherit;
|
|
518
551
|
cursor: pointer;
|
|
519
552
|
max-width: 100%;
|
|
553
|
+
margin-bottom: var(--nc-spacing);
|
|
520
554
|
}
|
|
521
555
|
:where([type=file])::file-selector-button {
|
|
522
556
|
padding: 0.5em 1em;
|
|
@@ -540,6 +574,7 @@
|
|
|
540
574
|
}
|
|
541
575
|
:where([type=color]) {
|
|
542
576
|
--_color-size: calc(1em * 1.5 + 1em + 2px);
|
|
577
|
+
margin-bottom: var(--nc-spacing);
|
|
543
578
|
--_color-pad: 0.25em;
|
|
544
579
|
height: var(--_color-size);
|
|
545
580
|
width: calc((var(--_color-size) - 2 * var(--_color-pad)) * 1.618 + 2 * var(--_color-pad));
|
|
@@ -557,7 +592,7 @@
|
|
|
557
592
|
border-radius: calc(var(--nc-radius) * 0.5);
|
|
558
593
|
}
|
|
559
594
|
:where(label:has([type=checkbox][role=switch])) {
|
|
560
|
-
display:
|
|
595
|
+
display: flex;
|
|
561
596
|
align-items: center;
|
|
562
597
|
gap: 0.5em;
|
|
563
598
|
}
|
|
@@ -658,12 +693,54 @@
|
|
|
658
693
|
margin-top: 0.5em;
|
|
659
694
|
}
|
|
660
695
|
}
|
|
696
|
+
@layer nimble.base {
|
|
697
|
+
:where(article) {
|
|
698
|
+
background-color: var(--nc-surface-1);
|
|
699
|
+
border: 1px solid var(--nc-border);
|
|
700
|
+
border-radius: var(--nc-radius);
|
|
701
|
+
padding: var(--nc-spacing);
|
|
702
|
+
margin-bottom: var(--nc-spacing);
|
|
703
|
+
}
|
|
704
|
+
:where(article > header),
|
|
705
|
+
:where(article > footer) {
|
|
706
|
+
background-color: color-mix(in oklch, var(--nc-surface-1), var(--nc-surface-2) 20%);
|
|
707
|
+
padding: var(--nc-spacing);
|
|
708
|
+
}
|
|
709
|
+
:where(article > header) {
|
|
710
|
+
margin: calc(var(--nc-spacing) * -1) calc(var(--nc-spacing) * -1) var(--nc-spacing);
|
|
711
|
+
border-bottom: 1px solid var(--nc-border);
|
|
712
|
+
border-radius: var(--nc-radius) var(--nc-radius) 0 0;
|
|
713
|
+
}
|
|
714
|
+
:where(article > footer) {
|
|
715
|
+
margin: var(--nc-spacing) calc(var(--nc-spacing) * -1) calc(var(--nc-spacing) * -1);
|
|
716
|
+
border-top: 1px solid var(--nc-border);
|
|
717
|
+
border-radius: 0 0 var(--nc-radius) var(--nc-radius);
|
|
718
|
+
}
|
|
719
|
+
:where(article) > :last-child:not(footer) {
|
|
720
|
+
margin-bottom: 0;
|
|
721
|
+
}
|
|
722
|
+
:where(article > header, article > footer) > :last-child {
|
|
723
|
+
margin-bottom: 0;
|
|
724
|
+
}
|
|
725
|
+
:where(article > header, article > footer) > h1,
|
|
726
|
+
:where(article > header, article > footer) > h2,
|
|
727
|
+
:where(article > header, article > footer) > h3,
|
|
728
|
+
:where(article > header, article > footer) > h4,
|
|
729
|
+
:where(article > header, article > footer) > h5,
|
|
730
|
+
:where(article > header, article > footer) > h6 {
|
|
731
|
+
margin-top: 0;
|
|
732
|
+
margin-bottom: 0;
|
|
733
|
+
}
|
|
734
|
+
}
|
|
661
735
|
@layer nimble.base {
|
|
662
736
|
:where(details) {
|
|
663
737
|
border: 1px solid var(--nc-border);
|
|
664
738
|
border-radius: var(--nc-radius);
|
|
665
739
|
padding: 0 1em;
|
|
666
740
|
}
|
|
741
|
+
:where(details) {
|
|
742
|
+
margin-bottom: 0.5em;
|
|
743
|
+
}
|
|
667
744
|
:where(summary) {
|
|
668
745
|
cursor: pointer;
|
|
669
746
|
font-weight: 600;
|
package/dist/nimble-core.min.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer nimble.reset{:where(:not(progress)),:where(),:where(){box-sizing:border-box;background-repeat:no-repeat}:where(html){-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5}:where(body){margin:0}:where(h1){margin-block:.67em;font-size:2em}:where(hr){height:0;color:inherit}:where(nav) :where(ol,ul){padding:0;list-style-type:none}:where(pre){font-family:monospace;font-size:1em}:where(abbr[title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}:where(b,strong){font-weight:bolder}:where(code,kbd,samp){font-family:monospace;font-size:1em}:where(small){font-size:80%}:where(sub,sup){vertical-align:baseline;font-size:75%;line-height:0;position:relative}:where(sub){bottom:-.25em}:where(sup){top:-.5em}:where(iframe){border-style:none}:where(table){border-collapse:collapse;text-indent:0;border-color:currentColor}:where(button,input,select,textarea){font:inherit;letter-spacing:inherit}:where(button,[type=button],[type=reset],[type=submit]){-webkit-appearance:button}:where(fieldset){border:1px solid #a0a0a0}:where(progress){vertical-align:baseline}:where(textarea){resize:vertical;overflow:auto}:where([type=search]){-webkit-appearance:textfield;outline-offset:-2px}:where(){-webkit-appearance:none}:where(),:where(){height:auto}:where(){-webkit-appearance:button;font:inherit}:where(summary){display:list-item}:where(a,area,button,input,label,select,summary,textarea,[tabindex]){touch-action:manipulation;-webkit-tap-highlight-color:transparent}:where([aria-busy=true]){cursor:progress}:where([aria-disabled=true],[disabled]){cursor:not-allowed}@media (prefers-reduced-motion:reduce){:where(*),:where(),:where(){scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer nimble.base{:root{color-scheme:light dark;--nc-surface-1:light-dark(oklch(98.5% .002 250),oklch(17% .005 260));--nc-surface-2:light-dark(oklch(95.5% .002 250),oklch(20% .005 260));--nc-surface-3:light-dark(oklch(92.5% .002 250),oklch(23% .005 260));--nc-surface-4:light-dark(oklch(88.5% .002 250),oklch(27% .005 260));--nc-text:light-dark(oklch(28% .005 250),oklch(86% .005 250));--nc-border:light-dark(oklch(83% .005 250),oklch(28% .005 260));--nc-primary:light-dark(oklch(50% .2 250),oklch(60% .2 250));--nc-primary-hover:light-dark(oklch(40% .2 250),oklch(70% .2 250));--nc-primary-focus:oklch(50% .2 250/.4);--nc-primary-contrast:light-dark(#fff,oklch(15% .005 250));--nc-secondary:light-dark(oklch(45% .05 250),oklch(60% .05 250));--nc-secondary-hover:light-dark(oklch(35% .05 250),oklch(70% .05 250));--nc-secondary-focus:oklch(45% .05 250/.3);--nc-secondary-contrast:light-dark(#fff,oklch(15% .005 250));--nc-valid:light-dark(oklch(52% .17 145),oklch(65% .2 145));--nc-invalid:light-dark(oklch(55% .22 25),oklch(65% .22 25));--nc-font-sans:system-ui, sans-serif;--nc-font-mono:ui-monospace, Cascadia Code, Source Code Pro, Menlo, Consolas, DejaVu Sans Mono, monospace;--nc-spacing:1rem;--nc-radius:.25rem;--nc-content-width:720px}[data-theme=dark]{color-scheme:dark}[data-theme=light]{color-scheme:light}html{font-family:var(--nc-font-sans);color:var(--nc-text);background-color:var(--nc-surface-1);font-size:100%;line-height:1.5}body{grid-template-columns:1fr min(var(--nc-content-width), calc(100% - 2 * var(--nc-spacing))) 1fr;min-height:100dvh;display:grid}body>*{grid-column:2;min-width:0}::selection{background-color:var(--nc-primary-focus);color:var(--nc-text)}h1{margin-top:0;margin-bottom:var(--nc-spacing);text-wrap:balance;font-size:2rem;font-weight:700;line-height:1.1}h2{margin-top:2rem;margin-bottom:var(--nc-spacing);text-wrap:balance;font-size:1.75rem;font-weight:700;line-height:1.15}h3{margin-top:1.5rem;margin-bottom:var(--nc-spacing);text-wrap:balance;font-size:1.5rem;font-weight:700;line-height:1.2}h4{margin-top:1.5rem;margin-bottom:var(--nc-spacing);text-wrap:balance;font-size:1.25rem;font-weight:700;line-height:1.3}h5{margin-top:1.5rem;margin-bottom:var(--nc-spacing);text-wrap:balance;font-size:1.125rem;font-weight:700;line-height:1.4}h6{margin-top:1.5rem;margin-bottom:var(--nc-spacing);text-wrap:balance;font-size:1rem;font-weight:700;line-height:1.5}@media (width<=720px){h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.3rem}}p,ul,ol,dl,blockquote,pre,table,figure,form,fieldset{margin-top:0;margin-bottom:var(--nc-spacing)}ul,ol{padding-inline-start:1.5em}li{margin-bottom:.25em}:where(li)>:where(ul,ol){margin-bottom:0}dt{font-weight:600}dd{margin-inline-start:1.5em;margin-bottom:.5em}blockquote{margin-block:var(--nc-spacing);padding:.25em var(--nc-spacing);border-inline-start:.25rem solid var(--nc-border);margin-inline:0;font-style:italic}:where(blockquote) footer,:where(blockquote) cite{color:color-mix(in oklch, var(--nc-text), transparent 40%);font-size:.9em;font-style:normal}hr{background-color:color-mix(in oklch, var(--nc-border), transparent 40%);height:1px;margin:calc(var(--nc-spacing) * 2) 0;border:none}mark{color:light-dark(inherit,oklch(95% .01 85));background-color:light-dark(#fde68a,oklch(55% .12 85));border-radius:2px;padding:.1em .25em}address{font-style:normal}:where(a:not([role=button])){color:var(--nc-primary);text-underline-offset:.15em;text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklch, var(--nc-primary), transparent 50%);text-decoration-color:color-mix(in oklch, var(--nc-primary), transparent 50%);transition:color .2s,text-decoration-color .2s}:where(a:not([role=button])):visited{color:color-mix(in oklch, var(--nc-primary) 40%, oklch(38% .15 310));-webkit-text-decoration-color:color-mix(in oklch, var(--nc-primary) 40%, oklch(38% .15 310) 30%);text-decoration-color:color-mix(in oklch, var(--nc-primary) 40%, oklch(38% .15 310) 30%)}:where(a:not([role=button])):hover{color:var(--nc-primary-hover);-webkit-text-decoration-color:var(--nc-primary-hover);text-decoration-color:var(--nc-primary-hover)}:where(button,[type=submit],[type=reset],[type=button],[role=button]){--_btn-padding-v:.5em;--_btn-padding-h:1em;padding:var(--_btn-padding-v) var(--_btn-padding-h);background-color:var(--nc-primary);color:var(--nc-primary-contrast);border:1px solid var(--nc-primary);border-radius:var(--nc-radius);font:inherit;cursor:pointer;text-align:center;margin:0 .25em .25em 0;font-size:1rem;line-height:1.5;text-decoration:none;transition:background-color .2s,border-color .2s;display:inline-block}:where(button,[type=submit],[type=reset],[type=button],[role=button]):hover{background-color:var(--nc-primary-hover);border-color:var(--nc-primary-hover)}:where(button,[type=submit],[type=reset],[type=button],[role=button]):focus-visible{box-shadow:0 0 0 2px var(--nc-primary-focus);outline:none}:where(button,[type=submit],[type=reset],[type=button],[role=button]).inline{--_btn-padding-v:.05em;--_btn-padding-h:.4em;vertical-align:baseline;margin:.1em .15em;font-size:.875em}:where(button,[type=submit],[type=reset],[type=button],[role=button]):disabled{opacity:.5;cursor:not-allowed;pointer-events:none}:where([role=group]){margin-bottom:var(--nc-spacing);display:inline-flex}[role=group]>*{border-radius:0;margin:0;position:relative}[role=group]>*+*{--_divider:""}[role=group]>*+:before{content:var(--_divider);inset-inline-start:0;pointer-events:none;background:#ffffff4d;width:1px;position:absolute;top:20%;bottom:20%}[role=group]>:not(.secondary):not(.outline)+.secondary,[role=group]>.secondary+:not(.secondary):not(.outline),[role=group]>:not(.secondary):not(.outline)+.outline,[role=group]>.outline+:not(.secondary):not(.outline),[role=group]>.secondary+.outline,[role=group]>.outline+.secondary,[role=group]>input+*,[role=group]>select+*{--_divider:none}[role=group]>:first-child{border-start-start-radius:var(--nc-radius);border-end-start-radius:var(--nc-radius)}[role=group]>:last-child{border-start-end-radius:var(--nc-radius);border-end-end-radius:var(--nc-radius)}[role=group]:has(.outline):not(:has(>:not(.outline))){border:1px solid var(--nc-primary);border-radius:var(--nc-radius)}[role=group]:has(.outline):not(:has(>:not(.outline)))>.outline{border:none}[role=group]>.outline+.outline:before{background:var(--nc-primary)}[role=search] [role=group]>:first-child{border-start-start-radius:5rem;border-end-start-radius:5rem;padding-inline-start:1.25em}[role=search] [role=group]>:last-child{border-start-end-radius:5rem;border-end-end-radius:5rem;padding-inline-end:1.25em}:where(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color],[type=submit],[type=button],[type=reset]),select,textarea){--_input-bg:color-mix(in oklch, var(--nc-surface-1), var(--nc-surface-2) 20%);background-color:var(--_input-bg);border:1px solid var(--nc-border);border-radius:var(--nc-radius);min-height:calc(2.5em + 2px);color:var(--nc-text);font:inherit;padding:.5em .75em;font-size:1rem;transition:border-color .2s,box-shadow .2s}:where(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color],[type=submit],[type=button],[type=reset],[type=date],[type=month],[type=week],[type=time],[type=datetime-local]),select,textarea){width:100%;margin-bottom:var(--nc-spacing)}:where(input,select,textarea):focus-visible{border-color:var(--nc-primary);box-shadow:0 0 0 2px var(--nc-primary-focus);outline:none}:where(input,select,textarea)+:where(small){margin-top:calc(var(--nc-spacing) * -.75);margin-bottom:var(--nc-spacing);color:color-mix(in oklch, var(--nc-text), transparent 40%);font-size:.875em;display:block}:where(input,select,textarea)[aria-invalid=false]{border-color:var(--nc-valid)}:where(input,select,textarea)[aria-invalid=true]{border-color:var(--nc-invalid)}:where(input,select,textarea)[aria-invalid=false]+:where(small){color:var(--nc-valid)}:where(input,select,textarea)[aria-invalid=true]+:where(small){color:var(--nc-invalid)}:where(label){margin-bottom:.25em;display:block}:where(label:has(+input,+select,+textarea)){font-weight:600}:where(fieldset){border:1px solid var(--nc-border);border-radius:var(--nc-radius);padding:var(--nc-spacing);min-width:0;max-width:100%}:where(legend){padding-inline:.25em;font-weight:600}:where([type=checkbox],[type=radio]){accent-color:var(--nc-primary);width:1.125em;height:1.125em;margin:0}:where(label:has([type=checkbox],[type=radio])){margin-bottom:var(--nc-spacing);align-items:center;gap:.35em;display:flex}:where(label:has([type=radio])){margin-bottom:.35em}:where([type=range]){accent-color:var(--nc-primary);width:100%}:where(input[list]){width:auto}:where([type=file]){color:var(--nc-text);font:inherit;cursor:pointer;max-width:100%}:where([type=file])::file-selector-button{margin-right:.75em;background-color:var(--nc-primary);color:var(--nc-primary-contrast);border:1px solid var(--nc-primary);border-radius:var(--nc-radius);font:inherit;cursor:pointer;margin-inline-end:.75em;padding:.5em 1em;transition:background-color .2s,border-color .2s}:where([type=file])::file-selector-button:hover{background-color:var(--nc-primary-hover);border-color:var(--nc-primary-hover)}:where([type=date],[type=month],[type=week],[type=time],[type=datetime-local]){min-width:10em;margin-bottom:var(--nc-spacing)}:where([type=color]){--_color-size:calc(1em * 1.5 + 1em + 2px);--_color-pad:.25em;height:var(--_color-size);width:calc((var(--_color-size) - 2 * var(--_color-pad)) * 1.618 + 2 * var(--_color-pad));padding:var(--_color-pad);background-color:color-mix(in oklch, var(--nc-surface-1), var(--nc-surface-2) 20%);border:1px solid var(--nc-border);border-radius:var(--nc-radius);cursor:pointer}:where([type=color])::-webkit-color-swatch-wrapper{padding:0}:where([type=color])::-webkit-color-swatch{border-radius:calc(var(--nc-radius) * .5);border:none}:where(label:has([type=checkbox][role=switch])){align-items:center;gap:.5em;display:inline-flex}:where([type=checkbox][role=switch]){appearance:none;background-color:var(--nc-border);cursor:pointer;border-radius:1em;flex-shrink:0;width:2.5em;height:1.25em;margin:0;transition:background-color .2s;position:relative}:where([type=checkbox][role=switch]):before{content:"";background-color:#fff;border-radius:50%;width:calc(1.25em - 4px);height:calc(1.25em - 4px);transition:transform .2s;position:absolute;top:2px;left:2px}:where([type=checkbox][role=switch]):checked{background-color:var(--nc-primary)}:where([type=checkbox][role=switch]):checked:before{transform:translate(1.25em)}:where(table){border-collapse:collapse;width:100%}:where(th,td){border-bottom:1px solid color-mix(in oklch, var(--nc-border), transparent 40%);text-align:start;padding:.5em .75em}:where(thead th,thead td){background-color:var(--nc-surface-2);text-wrap:balance;border-bottom-width:2px;font-weight:600}:where(figure:has(table)){overflow-x:auto}:where(code,kbd,samp){font-family:var(--nc-font-mono);background-color:var(--nc-surface-2);border-radius:var(--nc-radius);padding:.15em .35em;font-size:.875em}:where(pre){background-color:var(--nc-surface-2);border-radius:var(--nc-radius);padding:var(--nc-spacing);overflow-x:auto}:where(pre code){font-size:inherit;background:0 0;padding:0}:where(kbd){border:1px solid var(--nc-border);border-bottom-width:2px}:where(img,video,canvas,svg){max-width:100%;height:auto}:where(figure){margin:0}:where(figcaption){color:color-mix(in oklch, var(--nc-text), transparent 40%);margin-top:.5em;font-size:.9em}:where(details){border:1px solid var(--nc-border);border-radius:var(--nc-radius);padding:0 1em}:where(summary){cursor:pointer;margin:0 -1em;padding:.75em 1em;font-weight:600;list-style-type:"▶ "}:where(details[open]>summary){list-style-type:"▼ "}:where(details[open]){padding-bottom:.75em}details :last-child{margin-bottom:0}:where(dialog){background-color:var(--nc-surface-4);border:1px solid var(--nc-border);border-radius:var(--nc-radius);max-width:min(90vw,40rem);padding:var(--nc-spacing)}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;animation:.2s nc-backdrop-in}@keyframes nc-backdrop-in{0%{opacity:0}}}@layer nimble.utilities{.secondary{background-color:var(--nc-secondary);border-color:var(--nc-secondary);color:var(--nc-secondary-contrast)}.secondary:hover{background-color:var(--nc-secondary-hover);border-color:var(--nc-secondary-hover)}.secondary:focus-visible{box-shadow:0 0 0 2px var(--nc-secondary-focus)}.outline{color:var(--nc-primary);background-color:#0000}.outline:hover{background-color:var(--nc-primary-focus);color:var(--nc-primary-hover);border-color:var(--nc-primary-hover)}.container{max-width:var(--nc-content-width);padding-inline:var(--nc-spacing);margin-inline:auto}.fluid{max-width:none;padding-inline:var(--nc-spacing);display:block}.full-bleed{grid-column:1/-1}.wide{width:100%;max-width:1200px;padding-inline:var(--nc-spacing);grid-column:1/-1;margin-inline:auto}.striped :where(tbody tr:nth-child(2n)){background-color:var(--nc-surface-2)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.overflow-auto{overflow:auto}}[type=date],[type=month],[type=week],[type=time],[type=datetime-local]{appearance:none}@supports selector(details::details-content){details::details-content{transition:opacity .3s ease, content-visibility .3s ease allow-discrete;opacity:0}details[open]::details-content{opacity:1}@supports (interpolate-size:allow-keywords){details{interpolate-size:allow-keywords}details::details-content{transition:height .3s ease, opacity .3s ease, content-visibility .3s ease allow-discrete;height:0;overflow:clip}details[open]::details-content{height:auto}}}@media print{body{color:#000;background:#fff}a[href]:after{content:" (" attr(href) ")";color:#555;font-size:.85em}a[href^=\#]:after,a[href^=javascript\:]:after{content:none}pre,blockquote{page-break-inside:avoid}h2,h3,h4{page-break-after:avoid}img{max-width:100%!important}@page{margin:2cm}}
|
|
1
|
+
@layer nimble.reset{:where(:not(progress)),:where(),:where(){box-sizing:border-box;background-repeat:no-repeat}:where(html){-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5}:where(body){margin:0}:where(h1){margin-block:.67em;font-size:2em}:where(hr){height:0;color:inherit}:where(nav) :where(ol,ul){padding:0;list-style-type:none}:where(pre){font-family:monospace;font-size:1em}:where(abbr[title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}:where(b,strong){font-weight:bolder}:where(code,kbd,samp){font-family:monospace;font-size:1em}:where(small){font-size:80%}:where(sub,sup){vertical-align:baseline;font-size:75%;line-height:0;position:relative}:where(sub){bottom:-.25em}:where(sup){top:-.5em}:where(iframe){border-style:none}:where(table){border-collapse:collapse;text-indent:0;border-color:currentColor}:where(button,input,select,textarea){font:inherit;letter-spacing:inherit}:where(button,[type=button],[type=reset],[type=submit]){-webkit-appearance:button}:where(fieldset){border:1px solid #a0a0a0}:where(progress){vertical-align:baseline}:where(textarea){resize:vertical;overflow:auto}:where([type=search]){-webkit-appearance:textfield;outline-offset:-2px}:where(){-webkit-appearance:none}:where(),:where(){height:auto}:where(){-webkit-appearance:button;font:inherit}:where(summary){display:list-item}:where(a,area,button,input,label,select,summary,textarea,[tabindex]){touch-action:manipulation;-webkit-tap-highlight-color:transparent}:where([aria-busy=true]){cursor:progress}:where([aria-disabled=true],[disabled]){cursor:not-allowed}@media (prefers-reduced-motion:reduce){:where(*),:where(),:where(){scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer nimble.base{:root{color-scheme:light dark;--nc-surface-hue:250;--nc-surface-1:light-dark(oklch(.985 .002 var(--nc-surface-hue)),oklch(.17 .005 calc(var(--nc-surface-hue) + 10)));--nc-surface-2:light-dark(oklch(.955 .002 var(--nc-surface-hue)),oklch(.2 .005 calc(var(--nc-surface-hue) + 10)));--nc-surface-3:light-dark(oklch(.925 .002 var(--nc-surface-hue)),oklch(.23 .005 calc(var(--nc-surface-hue) + 10)));--nc-surface-4:light-dark(oklch(.885 .002 var(--nc-surface-hue)),oklch(.27 .005 calc(var(--nc-surface-hue) + 10)));--nc-text:light-dark(oklch(.28 .005 var(--nc-surface-hue)),oklch(.86 .005 var(--nc-surface-hue)));--nc-border:light-dark(oklch(.83 .005 var(--nc-surface-hue)),oklch(.28 .005 calc(var(--nc-surface-hue) + 10)));--nc-primary:light-dark(oklch(50% .2 250),oklch(60% .2 250));--nc-primary-hover:light-dark(oklch(from var(--nc-primary) calc(l - .1) c h),oklch(from var(--nc-primary) calc(l + .1) c h));--nc-primary-focus:oklch(from var(--nc-primary) l c h / .4);--nc-primary-contrast:light-dark(#fff,oklch(15% .005 250));--nc-secondary:light-dark(oklch(45% .05 250),oklch(60% .05 250));--nc-secondary-hover:light-dark(oklch(from var(--nc-secondary) calc(l - .1) c h),oklch(from var(--nc-secondary) calc(l + .1) c h));--nc-secondary-focus:oklch(from var(--nc-secondary) l c h / .3);--nc-secondary-contrast:light-dark(#fff,oklch(15% .005 250));--nc-valid:light-dark(oklch(52% .17 145),oklch(65% .2 145));--nc-invalid:light-dark(oklch(55% .22 25),oklch(65% .22 25));--nc-font-sans:system-ui, sans-serif;--nc-font-mono:ui-monospace, Cascadia Code, Source Code Pro, Menlo, Consolas, DejaVu Sans Mono, monospace;--nc-spacing:1rem;--nc-radius:.25rem;--nc-content-width:720px}[data-theme=dark]{color-scheme:dark}[data-theme=light]{color-scheme:light}html{font-family:var(--nc-font-sans);color:var(--nc-text);background-color:var(--nc-surface-1);font-size:100%;line-height:1.5}body{grid-template-columns:1fr min(var(--nc-content-width), calc(100% - 2 * var(--nc-spacing))) 1fr;min-height:100dvh;display:grid}body>*,body>[style*="display: contents"]>*{grid-column:2;min-width:0}::selection{background-color:var(--nc-primary-focus);color:var(--nc-text)}h1{margin-top:0;margin-bottom:var(--nc-spacing);text-wrap:balance;font-size:2rem;font-weight:700;line-height:1.1}h2{margin-top:2rem;margin-bottom:var(--nc-spacing);text-wrap:balance;font-size:1.75rem;font-weight:700;line-height:1.15}h3{margin-top:1.5rem;margin-bottom:var(--nc-spacing);text-wrap:balance;font-size:1.5rem;font-weight:700;line-height:1.2}h4{margin-top:1.5rem;margin-bottom:var(--nc-spacing);text-wrap:balance;font-size:1.25rem;font-weight:700;line-height:1.3}h5{margin-top:1.5rem;margin-bottom:var(--nc-spacing);text-wrap:balance;font-size:1.125rem;font-weight:700;line-height:1.4}h6{margin-top:1.5rem;margin-bottom:var(--nc-spacing);text-wrap:balance;font-size:1rem;font-weight:700;line-height:1.5}@media (width<=720px){h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.3rem}}p,ul,ol,dl,blockquote,pre,table,figure,form,fieldset{margin-top:0;margin-bottom:var(--nc-spacing)}ul,ol{padding-inline-start:1.5em}li{margin-bottom:.25em}:where(li)>:where(ul,ol){margin-bottom:0}dt{font-weight:600}dd{margin-inline-start:1.5em;margin-bottom:.5em}blockquote{margin-block:var(--nc-spacing);padding:.25em var(--nc-spacing);border-inline-start:.25rem solid var(--nc-border);margin-inline:0;font-style:italic}:where(blockquote) footer,:where(blockquote) cite{color:color-mix(in oklch, var(--nc-text), transparent 40%);font-size:.9em;font-style:normal}hr{background-color:color-mix(in oklch, var(--nc-border), transparent 40%);height:1px;margin:calc(var(--nc-spacing) * 2) 0;border:none}mark{color:light-dark(inherit,oklch(95% .01 85));background-color:light-dark(#fde68a,oklch(55% .12 85));border-radius:2px;padding:.1em .25em}address{font-style:normal}:where(a:not([role=button])){color:var(--nc-primary);text-underline-offset:.15em;text-decoration:underline;-webkit-text-decoration-color:color-mix(in oklch, var(--nc-primary), transparent 50%);text-decoration-color:color-mix(in oklch, var(--nc-primary), transparent 50%);transition:color .2s,text-decoration-color .2s}:where(a:not([role=button])):visited{color:color-mix(in oklch, var(--nc-primary) 40%, oklch(38% .15 310));-webkit-text-decoration-color:color-mix(in oklch, var(--nc-primary) 40%, oklch(38% .15 310) 30%);text-decoration-color:color-mix(in oklch, var(--nc-primary) 40%, oklch(38% .15 310) 30%)}:where(a:not([role=button])):hover{color:var(--nc-primary-hover);-webkit-text-decoration-color:var(--nc-primary-hover);text-decoration-color:var(--nc-primary-hover)}:where(button,[type=submit],[type=reset],[type=button],[role=button]){--_btn-padding-v:.5em;--_btn-padding-h:1em;padding:var(--_btn-padding-v) var(--_btn-padding-h);background-color:var(--nc-primary);color:var(--nc-primary-contrast);border:1px solid var(--nc-primary);border-radius:var(--nc-radius);font:inherit;cursor:pointer;text-align:center;margin:0 .25em .25em 0;font-size:1rem;line-height:1.5;text-decoration:none;transition:background-color .2s,border-color .2s;display:inline-block}:where(button,[type=submit],[type=reset],[type=button],[role=button]):hover{background-color:var(--nc-primary-hover);border-color:var(--nc-primary-hover)}:where(button,[type=submit],[type=reset],[type=button],[role=button]):focus-visible{box-shadow:0 0 0 2px var(--nc-primary-focus);outline:none}:where([type=reset]){background-color:var(--nc-secondary);border-color:var(--nc-secondary);color:var(--nc-secondary-contrast)}:where([type=reset]):hover{background-color:var(--nc-secondary-hover);border-color:var(--nc-secondary-hover)}:where([type=reset]):focus-visible{box-shadow:0 0 0 2px var(--nc-secondary-focus)}:where(button,[type=submit],[type=reset],[type=button],[role=button]).inline{--_btn-padding-v:.05em;--_btn-padding-h:.4em;vertical-align:baseline;margin:.1em .15em;font-size:.875em}:where(button,[type=submit],[type=reset],[type=button],[role=button]):disabled{opacity:.5;cursor:not-allowed;pointer-events:none}:where([role=group]){margin-bottom:var(--nc-spacing);display:inline-flex}[role=group]>*{border-radius:0;margin:0;position:relative}[role=group]>*+*{--_divider:""}[role=group]>*+:before{content:var(--_divider);inset-inline-start:0;pointer-events:none;background:#ffffff4d;width:1px;position:absolute;top:20%;bottom:20%}[role=group]>:not(.secondary):not(.outline)+.secondary,[role=group]>.secondary+:not(.secondary):not(.outline),[role=group]>:not(.secondary):not(.outline)+.outline,[role=group]>.outline+:not(.secondary):not(.outline),[role=group]>.secondary+.outline,[role=group]>.outline+.secondary,[role=group]>input+*,[role=group]>select+*{--_divider:none}[role=group]>:first-child{border-start-start-radius:var(--nc-radius);border-end-start-radius:var(--nc-radius)}[role=group]>:last-child{border-start-end-radius:var(--nc-radius);border-end-end-radius:var(--nc-radius)}[role=group]:has(.outline):not(:has(>:not(.outline))){border:1px solid var(--nc-primary);border-radius:var(--nc-radius)}[role=group]:has(.outline):not(:has(>:not(.outline)))>.outline{border:none}[role=group]>.outline+.outline:before{background:var(--nc-primary)}[role=search] [role=group]>:first-child{border-start-start-radius:5rem;border-end-start-radius:5rem;padding-inline-start:1.25em}[role=search] [role=group]>:last-child{border-start-end-radius:5rem;border-end-end-radius:5rem;padding-inline-end:1.25em}:where(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color],[type=submit],[type=button],[type=reset]),select,textarea){--_input-bg:color-mix(in oklch, var(--nc-surface-1), var(--nc-surface-2) 20%);background-color:var(--_input-bg);border:1px solid var(--nc-border);border-radius:var(--nc-radius);min-height:calc(2.5em + 2px);color:var(--nc-text);font:inherit;padding:.5em .75em;font-size:1rem;transition:border-color .2s,box-shadow .2s}:where(input:not([type=checkbox],[type=radio],[type=range],[type=file],[type=color],[type=submit],[type=button],[type=reset],[type=date],[type=month],[type=week],[type=time],[type=datetime-local]),select,textarea){width:100%;margin-bottom:var(--nc-spacing)}:where(input,select,textarea):focus-visible{border-color:var(--nc-primary);box-shadow:0 0 0 2px var(--nc-primary-focus);outline:none}:where(input,select,textarea)+:where(small){margin-top:calc(var(--nc-spacing) * -.75);margin-bottom:var(--nc-spacing);color:color-mix(in oklch, var(--nc-text), transparent 40%);font-size:.875em;display:block}:where(input,select,textarea)[aria-invalid=false]{border-color:var(--nc-valid)}:where(input,select,textarea)[aria-invalid=true]{border-color:var(--nc-invalid)}:where(input,select,textarea)[aria-invalid=false]+:where(small){color:var(--nc-valid)}:where(input,select,textarea)[aria-invalid=true]+:where(small){color:var(--nc-invalid)}:where(label){margin-bottom:.25em;display:block}:where(label:has(+input,+select,+textarea)){font-weight:600}:where(label:has(+[type=file],+[type=range])){margin-bottom:.5em}:where(fieldset){border:1px solid var(--nc-border);border-radius:var(--nc-radius);padding:var(--nc-spacing);min-width:0;max-width:100%}:where(legend){padding-inline:.25em;font-weight:600}:where([type=checkbox],[type=radio]){accent-color:var(--nc-primary);width:1.125em;height:1.125em;margin:0}:where(label:has([type=checkbox],[type=radio])){align-items:center;gap:.35em;margin-bottom:.5em;display:flex}:where(label:has([type=checkbox],[type=radio]):last-child){margin-bottom:0}:where([type=search]){border-radius:5rem;padding-inline:1.25em}:where([type=range]){accent-color:var(--nc-primary);width:100%;margin-bottom:var(--nc-spacing)}:where(input[list]){width:auto}:where([type=file]){color:var(--nc-text);font:inherit;cursor:pointer;max-width:100%;margin-bottom:var(--nc-spacing)}:where([type=file])::file-selector-button{margin-right:.75em;background-color:var(--nc-primary);color:var(--nc-primary-contrast);border:1px solid var(--nc-primary);border-radius:var(--nc-radius);font:inherit;cursor:pointer;margin-inline-end:.75em;padding:.5em 1em;transition:background-color .2s,border-color .2s}:where([type=file])::file-selector-button:hover{background-color:var(--nc-primary-hover);border-color:var(--nc-primary-hover)}:where([type=date],[type=month],[type=week],[type=time],[type=datetime-local]){min-width:10em;margin-bottom:var(--nc-spacing)}:where([type=color]){--_color-size:calc(1em * 1.5 + 1em + 2px);margin-bottom:var(--nc-spacing);--_color-pad:.25em;height:var(--_color-size);width:calc((var(--_color-size) - 2 * var(--_color-pad)) * 1.618 + 2 * var(--_color-pad));padding:var(--_color-pad);background-color:color-mix(in oklch, var(--nc-surface-1), var(--nc-surface-2) 20%);border:1px solid var(--nc-border);border-radius:var(--nc-radius);cursor:pointer}:where([type=color])::-webkit-color-swatch-wrapper{padding:0}:where([type=color])::-webkit-color-swatch{border-radius:calc(var(--nc-radius) * .5);border:none}:where(label:has([type=checkbox][role=switch])){align-items:center;gap:.5em;display:flex}:where([type=checkbox][role=switch]){appearance:none;background-color:var(--nc-border);cursor:pointer;border-radius:1em;flex-shrink:0;width:2.5em;height:1.25em;margin:0;transition:background-color .2s;position:relative}:where([type=checkbox][role=switch]):before{content:"";background-color:#fff;border-radius:50%;width:calc(1.25em - 4px);height:calc(1.25em - 4px);transition:transform .2s;position:absolute;top:2px;left:2px}:where([type=checkbox][role=switch]):checked{background-color:var(--nc-primary)}:where([type=checkbox][role=switch]):checked:before{transform:translate(1.25em)}:where(table){border-collapse:collapse;width:100%}:where(th,td){border-bottom:1px solid color-mix(in oklch, var(--nc-border), transparent 40%);text-align:start;padding:.5em .75em}:where(thead th,thead td){background-color:var(--nc-surface-2);text-wrap:balance;border-bottom-width:2px;font-weight:600}:where(figure:has(table)){overflow-x:auto}:where(code,kbd,samp){font-family:var(--nc-font-mono);background-color:var(--nc-surface-2);border-radius:var(--nc-radius);padding:.15em .35em;font-size:.875em}:where(pre){background-color:var(--nc-surface-2);border-radius:var(--nc-radius);padding:var(--nc-spacing);overflow-x:auto}:where(pre code){font-size:inherit;background:0 0;padding:0}:where(kbd){border:1px solid var(--nc-border);border-bottom-width:2px}:where(img,video,canvas,svg){max-width:100%;height:auto}:where(figure){margin:0}:where(figcaption){color:color-mix(in oklch, var(--nc-text), transparent 40%);margin-top:.5em;font-size:.9em}:where(article){background-color:var(--nc-surface-1);border:1px solid var(--nc-border);border-radius:var(--nc-radius);padding:var(--nc-spacing);margin-bottom:var(--nc-spacing)}:where(article>header),:where(article>footer){background-color:color-mix(in oklch, var(--nc-surface-1), var(--nc-surface-2) 20%);padding:var(--nc-spacing)}:where(article>header){margin:calc(var(--nc-spacing) * -1) calc(var(--nc-spacing) * -1) var(--nc-spacing);border-bottom:1px solid var(--nc-border);border-radius:var(--nc-radius) var(--nc-radius) 0 0}:where(article>footer){margin:var(--nc-spacing) calc(var(--nc-spacing) * -1) calc(var(--nc-spacing) * -1);border-top:1px solid var(--nc-border);border-radius:0 0 var(--nc-radius) var(--nc-radius)}:where(article)>:last-child:not(footer),:where(article>header,article>footer)>:last-child{margin-bottom:0}:where(article>header,article>footer)>h1,:where(article>header,article>footer)>h2,:where(article>header,article>footer)>h3,:where(article>header,article>footer)>h4,:where(article>header,article>footer)>h5,:where(article>header,article>footer)>h6{margin-top:0;margin-bottom:0}:where(details){border:1px solid var(--nc-border);border-radius:var(--nc-radius);margin-bottom:.5em;padding:0 1em}:where(summary){cursor:pointer;margin:0 -1em;padding:.75em 1em;font-weight:600;list-style-type:"▶ "}:where(details[open]>summary){list-style-type:"▼ "}:where(details[open]){padding-bottom:.75em}details :last-child{margin-bottom:0}:where(dialog){background-color:var(--nc-surface-4);border:1px solid var(--nc-border);border-radius:var(--nc-radius);max-width:min(90vw,40rem);padding:var(--nc-spacing)}dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;animation:.2s nc-backdrop-in}@keyframes nc-backdrop-in{0%{opacity:0}}}@layer nimble.utilities{.secondary:not(a:not([role=button])){background-color:var(--nc-secondary);border-color:var(--nc-secondary);color:var(--nc-secondary-contrast)}.secondary:not(a:not([role=button])):hover{background-color:var(--nc-secondary-hover);border-color:var(--nc-secondary-hover)}.secondary:not(a:not([role=button])):focus-visible{box-shadow:0 0 0 2px var(--nc-secondary-focus)}a:not([role=button]).secondary{color:var(--nc-secondary);-webkit-text-decoration-color:color-mix(in oklch, var(--nc-secondary), transparent 50%);text-decoration-color:color-mix(in oklch, var(--nc-secondary), transparent 50%)}a:not([role=button]).secondary:hover{color:var(--nc-secondary-hover);-webkit-text-decoration-color:var(--nc-secondary-hover);text-decoration-color:var(--nc-secondary-hover)}.outline:not(a:not([role=button])){color:var(--nc-primary);background-color:#0000}.outline:not(a:not([role=button])):hover{background-color:var(--nc-primary-focus);color:var(--nc-primary-hover);border-color:var(--nc-primary-hover)}.container{max-width:var(--nc-content-width);padding-inline:var(--nc-spacing);margin-inline:auto}.fluid{max-width:none;padding-inline:var(--nc-spacing);display:block}.full-bleed{grid-column:1/-1}.wide{width:100%;max-width:1200px;padding-inline:var(--nc-spacing);grid-column:1/-1;margin-inline:auto}.striped :where(tbody tr:nth-child(2n)){background-color:var(--nc-surface-2)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.overflow-auto{overflow:auto}}[type=date],[type=month],[type=week],[type=time],[type=datetime-local]{appearance:none}@supports selector(details::details-content){details::details-content{transition:opacity .3s ease, content-visibility .3s ease allow-discrete;opacity:0}details[open]::details-content{opacity:1}@supports (interpolate-size:allow-keywords){details{interpolate-size:allow-keywords}details::details-content{transition:height .3s ease, opacity .3s ease, content-visibility .3s ease allow-discrete;height:0;overflow:clip}details[open]::details-content{height:auto}}}@media print{body{color:#000;background:#fff}a[href]:after{content:" (" attr(href) ")";color:#555;font-size:.85em}a[href^=\#]:after,a[href^=javascript\:]:after{content:none}pre,blockquote{page-break-inside:avoid}h2,h3,h4{page-break-after:avoid}img{max-width:100%!important}@page{margin:2cm}}
|
package/dist/nimble-select.css
CHANGED
|
@@ -13,6 +13,9 @@
|
|
|
13
13
|
rotate: 180deg;
|
|
14
14
|
}
|
|
15
15
|
:where(select)::picker(select) {
|
|
16
|
+
position-area: block-end;
|
|
17
|
+
position-try-order: normal;
|
|
18
|
+
position-try-fallbacks: flip-block;
|
|
16
19
|
border: 1px solid var(--nc-border);
|
|
17
20
|
border-radius: var(--nc-radius);
|
|
18
21
|
background-color: var(--nc-surface-1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer nimble.reset;@layer nimble.base{@supports (appearance:base-select){:where(select){appearance:base-select}:where(select)::picker(select){appearance:base-select}:where(select)::picker-icon{content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 2l6 6 6-6'/%3E%3C/svg%3E");transition:rotate .4s}:where(select):open::picker-icon{rotate:180deg}:where(select)::picker(select){border:1px solid var(--nc-border);border-radius:var(--nc-radius);background-color:var(--nc-surface-1);opacity:0;transition:opacity .2s, overlay .2s allow-discrete, display .2s allow-discrete;padding:.25em}:where(select):open::picker(select){opacity:1}@starting-style{:where(select):open::picker(select){opacity:0}}:where(select) option{border-radius:var(--nc-radius);padding:.5em .75em;transition:background-color .15s}:where(select) option:hover{background-color:var(--nc-surface-2)}:where(select) option:checked{font-weight:600}}}
|
|
1
|
+
@layer nimble.reset;@layer nimble.base{@supports (appearance:base-select){:where(select){appearance:base-select}:where(select)::picker(select){appearance:base-select}:where(select)::picker-icon{content:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 2l6 6 6-6'/%3E%3C/svg%3E");transition:rotate .4s}:where(select):open::picker-icon{rotate:180deg}:where(select)::picker(select){position-area:block-end;position-try-order:normal;position-try-fallbacks:flip-block;border:1px solid var(--nc-border);border-radius:var(--nc-radius);background-color:var(--nc-surface-1);opacity:0;transition:opacity .2s, overlay .2s allow-discrete, display .2s allow-discrete;padding:.25em}:where(select):open::picker(select){opacity:1}@starting-style{:where(select):open::picker(select){opacity:0}}:where(select) option{border-radius:var(--nc-radius);padding:.5em .75em;transition:background-color .15s}:where(select) option:hover{background-color:var(--nc-surface-2)}:where(select) option:checked{font-weight:600}}}
|