@keepui/ui 0.1.1 → 0.1.3
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 +60 -3
- package/package.json +4 -2
- package/schematics/ng-add/index.d.ts +1 -1
- package/schematics/ng-add/index.js +15 -5
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/index.ts +17 -5
- package/styles/index.css +110 -0
- package/styles/prebuilt-input.css +19 -20
- package/styles/prebuilt.css +1 -1
- package/styles/_index.css +0 -80
package/README.md
CHANGED
|
@@ -48,7 +48,27 @@ npx cap sync
|
|
|
48
48
|
|
|
49
49
|
## Usage — Angular Web App
|
|
50
50
|
|
|
51
|
-
### 1.
|
|
51
|
+
### 1. Import styles
|
|
52
|
+
|
|
53
|
+
KeepUI components use CSS custom properties for theming. You **must** import the
|
|
54
|
+
library styles in your global stylesheet.
|
|
55
|
+
|
|
56
|
+
**If your project uses Tailwind CSS v4:**
|
|
57
|
+
|
|
58
|
+
```css
|
|
59
|
+
/* src/styles.css or src/tailwind.css */
|
|
60
|
+
@import "tailwindcss";
|
|
61
|
+
@import "@keepui/ui/styles";
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
**If your project does NOT use Tailwind:**
|
|
65
|
+
|
|
66
|
+
```css
|
|
67
|
+
/* src/styles.css */
|
|
68
|
+
@import "@keepui/ui/styles/prebuilt.css";
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### 2. Register the web provider
|
|
52
72
|
|
|
53
73
|
```ts
|
|
54
74
|
// src/app/app.config.ts
|
|
@@ -63,7 +83,7 @@ export const appConfig: ApplicationConfig = {
|
|
|
63
83
|
};
|
|
64
84
|
```
|
|
65
85
|
|
|
66
|
-
###
|
|
86
|
+
### 3. Use components
|
|
67
87
|
|
|
68
88
|
```ts
|
|
69
89
|
// src/app/app.component.ts
|
|
@@ -98,7 +118,15 @@ export class AppComponent {
|
|
|
98
118
|
|
|
99
119
|
## Usage — Angular + Capacitor App
|
|
100
120
|
|
|
101
|
-
### 1.
|
|
121
|
+
### 1. Import styles (same as web)
|
|
122
|
+
|
|
123
|
+
```css
|
|
124
|
+
/* src/styles.css or src/tailwind.css */
|
|
125
|
+
@import "tailwindcss";
|
|
126
|
+
@import "@keepui/ui/styles";
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### 2. Register the Capacitor provider
|
|
102
130
|
|
|
103
131
|
```ts
|
|
104
132
|
// src/app/app.config.ts
|
|
@@ -257,6 +285,35 @@ Ensure `package.json` has the correct `name`, `version`, and `peerDependencies`
|
|
|
257
285
|
|
|
258
286
|
---
|
|
259
287
|
|
|
288
|
+
## Theming
|
|
289
|
+
|
|
290
|
+
KeepUI uses CSS custom properties for all design tokens. Override any variable
|
|
291
|
+
in your own CSS to create a custom theme:
|
|
292
|
+
|
|
293
|
+
```css
|
|
294
|
+
:root {
|
|
295
|
+
--keepui-primary: #6366f1;
|
|
296
|
+
--keepui-primary-hover: #4f46e5;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
[data-theme="dark"] {
|
|
300
|
+
--keepui-primary: #818cf8;
|
|
301
|
+
--keepui-primary-hover: #a5b4fc;
|
|
302
|
+
}
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
Switch themes at runtime:
|
|
306
|
+
|
|
307
|
+
```ts
|
|
308
|
+
document.documentElement.setAttribute('data-theme', 'dark');
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
The library also respects `prefers-color-scheme: dark` by default.
|
|
312
|
+
|
|
313
|
+
See `themes.css` for the full list of available tokens.
|
|
314
|
+
|
|
315
|
+
---
|
|
316
|
+
|
|
260
317
|
## Future Improvements
|
|
261
318
|
|
|
262
319
|
- Additional components (modal, toast, form controls, etc.)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@keepui/ui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "KeepUI — Angular cross-platform UI component library with optional Capacitor support",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -10,7 +10,9 @@
|
|
|
10
10
|
"cross-platform"
|
|
11
11
|
],
|
|
12
12
|
"license": "MIT",
|
|
13
|
-
"sideEffects":
|
|
13
|
+
"sideEffects": [
|
|
14
|
+
"*.css"
|
|
15
|
+
],
|
|
14
16
|
"peerDependencies": {
|
|
15
17
|
"@angular/common": ">=19.0.0",
|
|
16
18
|
"@angular/core": ">=19.0.0"
|
|
@@ -6,7 +6,7 @@ interface NgAddOptions {
|
|
|
6
6
|
* `ng add @keepui/ui` schematic.
|
|
7
7
|
*
|
|
8
8
|
* Installs the package and prints guidance on how to register
|
|
9
|
-
* `provideKeepUi()` in the host application
|
|
9
|
+
* `provideKeepUi()` and import styles in the host application.
|
|
10
10
|
*/
|
|
11
11
|
export declare function ngAdd(_options: NgAddOptions): Rule;
|
|
12
12
|
export {};
|
|
@@ -6,7 +6,7 @@ const tasks_1 = require("@angular-devkit/schematics/tasks");
|
|
|
6
6
|
* `ng add @keepui/ui` schematic.
|
|
7
7
|
*
|
|
8
8
|
* Installs the package and prints guidance on how to register
|
|
9
|
-
* `provideKeepUi()` in the host application
|
|
9
|
+
* `provideKeepUi()` and import styles in the host application.
|
|
10
10
|
*/
|
|
11
11
|
function ngAdd(_options) {
|
|
12
12
|
return (tree, context) => {
|
|
@@ -15,7 +15,17 @@ function ngAdd(_options) {
|
|
|
15
15
|
context.logger.info('✅ KeepUI has been added to your project!');
|
|
16
16
|
context.logger.info('');
|
|
17
17
|
context.logger.info('Next steps:');
|
|
18
|
-
context.logger.info('
|
|
18
|
+
context.logger.info('');
|
|
19
|
+
context.logger.info(' 1. Import KeepUI styles in your global CSS (after tailwindcss):');
|
|
20
|
+
context.logger.info('');
|
|
21
|
+
context.logger.info(' /* If your project uses Tailwind CSS v4: */');
|
|
22
|
+
context.logger.info(" @import \"tailwindcss\";");
|
|
23
|
+
context.logger.info(" @import \"@keepui/ui/styles\";");
|
|
24
|
+
context.logger.info('');
|
|
25
|
+
context.logger.info(' /* OR if your project does NOT use Tailwind: */');
|
|
26
|
+
context.logger.info(" @import \"@keepui/ui/styles/prebuilt.css\";");
|
|
27
|
+
context.logger.info('');
|
|
28
|
+
context.logger.info(' 2. Open your app.config.ts and add provideKeepUi() to the providers array:');
|
|
19
29
|
context.logger.info('');
|
|
20
30
|
context.logger.info(" import { provideKeepUi } from '@keepui/ui';");
|
|
21
31
|
context.logger.info('');
|
|
@@ -23,10 +33,10 @@ function ngAdd(_options) {
|
|
|
23
33
|
context.logger.info(' providers: [provideKeepUi()],');
|
|
24
34
|
context.logger.info(' };');
|
|
25
35
|
context.logger.info('');
|
|
26
|
-
context.logger.info('
|
|
27
|
-
context.logger.info(" import {
|
|
36
|
+
context.logger.info(' 3. Use KeepUI components in your templates:');
|
|
37
|
+
context.logger.info(" import { ButtonComponent } from '@keepui/ui';");
|
|
28
38
|
context.logger.info('');
|
|
29
|
-
context.logger.info('
|
|
39
|
+
context.logger.info(' 4. For Capacitor projects, use provideKeepUiCapacitor() from @keepui/ui/capacitor instead.');
|
|
30
40
|
context.logger.info('');
|
|
31
41
|
return tree;
|
|
32
42
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;AAaA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;AAaA,sBAwCC;AApDD,4DAA0E;AAM1E;;;;;GAKG;AACH,SAAgB,KAAK,CAAC,QAAsB;IAC1C,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,OAAO,CAAC,OAAO,CAAC,IAAI,8BAAsB,EAAE,CAAC,CAAC;QAE9C,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QAChE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACnC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB,mEAAmE,CACpE,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACxE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QACrD,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAC3D,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QAC5E,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACxE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB,8EAA8E,CAC/E,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QACxE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QAC1E,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QAC5D,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QACrE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;QAC1E,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxB,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB,8FAA8F,CAC/F,CAAC;QACF,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAExB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -9,7 +9,7 @@ interface NgAddOptions {
|
|
|
9
9
|
* `ng add @keepui/ui` schematic.
|
|
10
10
|
*
|
|
11
11
|
* Installs the package and prints guidance on how to register
|
|
12
|
-
* `provideKeepUi()` in the host application
|
|
12
|
+
* `provideKeepUi()` and import styles in the host application.
|
|
13
13
|
*/
|
|
14
14
|
export function ngAdd(_options: NgAddOptions): Rule {
|
|
15
15
|
return (tree: Tree, context: SchematicContext) => {
|
|
@@ -19,8 +19,20 @@ export function ngAdd(_options: NgAddOptions): Rule {
|
|
|
19
19
|
context.logger.info('✅ KeepUI has been added to your project!');
|
|
20
20
|
context.logger.info('');
|
|
21
21
|
context.logger.info('Next steps:');
|
|
22
|
+
context.logger.info('');
|
|
23
|
+
context.logger.info(
|
|
24
|
+
' 1. Import KeepUI styles in your global CSS (after tailwindcss):',
|
|
25
|
+
);
|
|
26
|
+
context.logger.info('');
|
|
27
|
+
context.logger.info(' /* If your project uses Tailwind CSS v4: */');
|
|
28
|
+
context.logger.info(" @import \"tailwindcss\";");
|
|
29
|
+
context.logger.info(" @import \"@keepui/ui/styles\";");
|
|
30
|
+
context.logger.info('');
|
|
31
|
+
context.logger.info(' /* OR if your project does NOT use Tailwind: */');
|
|
32
|
+
context.logger.info(" @import \"@keepui/ui/styles/prebuilt.css\";");
|
|
33
|
+
context.logger.info('');
|
|
22
34
|
context.logger.info(
|
|
23
|
-
'
|
|
35
|
+
' 2. Open your app.config.ts and add provideKeepUi() to the providers array:',
|
|
24
36
|
);
|
|
25
37
|
context.logger.info('');
|
|
26
38
|
context.logger.info(" import { provideKeepUi } from '@keepui/ui';");
|
|
@@ -29,11 +41,11 @@ export function ngAdd(_options: NgAddOptions): Rule {
|
|
|
29
41
|
context.logger.info(' providers: [provideKeepUi()],');
|
|
30
42
|
context.logger.info(' };');
|
|
31
43
|
context.logger.info('');
|
|
32
|
-
context.logger.info('
|
|
33
|
-
context.logger.info(" import {
|
|
44
|
+
context.logger.info(' 3. Use KeepUI components in your templates:');
|
|
45
|
+
context.logger.info(" import { ButtonComponent } from '@keepui/ui';");
|
|
34
46
|
context.logger.info('');
|
|
35
47
|
context.logger.info(
|
|
36
|
-
'
|
|
48
|
+
' 4. For Capacitor projects, use provideKeepUiCapacitor() from @keepui/ui/capacitor instead.',
|
|
37
49
|
);
|
|
38
50
|
context.logger.info('');
|
|
39
51
|
|
package/styles/index.css
ADDED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* KeepUI — Styles entry point
|
|
3
|
+
*
|
|
4
|
+
* Import this file once in your application's global stylesheet,
|
|
5
|
+
* AFTER @import "tailwindcss":
|
|
6
|
+
*
|
|
7
|
+
* @import "tailwindcss";
|
|
8
|
+
* @import "@keepui/ui/styles";
|
|
9
|
+
*
|
|
10
|
+
* ─── Alternative (no Tailwind required) ──────────────────────────────────
|
|
11
|
+
*
|
|
12
|
+
* @import "@keepui/ui/styles/prebuilt.css";
|
|
13
|
+
*
|
|
14
|
+
* ─── Tailwind v4 utilities generated ────────────────────────────────────────
|
|
15
|
+
*
|
|
16
|
+
* Surface & background:
|
|
17
|
+
* bg-keepui-background bg-keepui-surface bg-keepui-surface-hover
|
|
18
|
+
*
|
|
19
|
+
* Text:
|
|
20
|
+
* text-keepui-text text-keepui-text-muted text-keepui-text-disabled
|
|
21
|
+
*
|
|
22
|
+
* Borders:
|
|
23
|
+
* border-keepui-border border-keepui-border-strong
|
|
24
|
+
*
|
|
25
|
+
* Brand / Primary:
|
|
26
|
+
* bg-keepui-primary bg-keepui-primary-hover bg-keepui-primary-active
|
|
27
|
+
* text-keepui-primary-fg border-keepui-primary
|
|
28
|
+
*
|
|
29
|
+
* Feedback:
|
|
30
|
+
* text-keepui-error bg-keepui-error bg-keepui-success bg-keepui-warning
|
|
31
|
+
*
|
|
32
|
+
* Shadows:
|
|
33
|
+
* shadow-keepui-sm shadow-keepui-md shadow-keepui-lg
|
|
34
|
+
*
|
|
35
|
+
* ─── Requirements ───────────────────────────────────────────────────────────
|
|
36
|
+
*
|
|
37
|
+
* Your application must process this file with Tailwind CSS v4 (e.g. via
|
|
38
|
+
* @tailwindcss/postcss or @tailwindcss/vite) to generate the utility classes.
|
|
39
|
+
* ────────────────────────────────────────────────────────────────────────────
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
@import "./themes.css";
|
|
43
|
+
|
|
44
|
+
/*
|
|
45
|
+
* Tailwind v4 ignores node_modules during automatic source detection AND
|
|
46
|
+
* when resolving @source paths that land inside node_modules.
|
|
47
|
+
*
|
|
48
|
+
* To guarantee that every utility class used by KeepUI components is
|
|
49
|
+
* generated in the consumer's CSS output, we use @source inline() to
|
|
50
|
+
* declare all classes explicitly — no filesystem scan required.
|
|
51
|
+
*/
|
|
52
|
+
@source inline("
|
|
53
|
+
inline-flex items-center justify-center gap-2
|
|
54
|
+
min-h-[2.75rem] text-sm font-medium cursor-pointer select-none
|
|
55
|
+
transition-colors duration-200 transition-all
|
|
56
|
+
focus-visible:outline-none focus-visible:ring-2
|
|
57
|
+
focus-visible:ring-keepui-primary focus-visible:ring-offset-2
|
|
58
|
+
disabled:opacity-50 disabled:cursor-not-allowed
|
|
59
|
+
w-full h-10 px-4 w-40 px-6
|
|
60
|
+
rounded-full rounded-2xl rounded-lg
|
|
61
|
+
bg-keepui-primary text-keepui-primary-fg border border-keepui-primary
|
|
62
|
+
enabled:hover:bg-keepui-primary-hover enabled:hover:border-keepui-primary-hover
|
|
63
|
+
enabled:active:bg-keepui-primary-active enabled:active:border-keepui-primary-active
|
|
64
|
+
bg-keepui-surface text-keepui-text border-keepui-border
|
|
65
|
+
enabled:hover:bg-keepui-surface-hover enabled:hover:border-keepui-border-strong
|
|
66
|
+
disabled:text-keepui-text-disabled
|
|
67
|
+
bg-transparent text-keepui-primary
|
|
68
|
+
enabled:hover:border-keepui-primary enabled:hover:text-keepui-primary
|
|
69
|
+
bg-keepui-primary/10 enabled:hover:bg-keepui-primary/10
|
|
70
|
+
bg-keepui-error text-keepui-error-fg border-keepui-error
|
|
71
|
+
enabled:hover:opacity-90 enabled:active:opacity-80
|
|
72
|
+
p-4 bg-keepui-surface border-keepui-border text-keepui-text
|
|
73
|
+
shadow-keepui-sm shadow-keepui-md shadow-keepui-lg
|
|
74
|
+
flex flex-col gap-4 max-w-full h-auto
|
|
75
|
+
border-keepui-border text-keepui-error m-0
|
|
76
|
+
block sr-only
|
|
77
|
+
");
|
|
78
|
+
|
|
79
|
+
@theme inline {
|
|
80
|
+
/* ── Surfaces ── */
|
|
81
|
+
--color-keepui-background: var(--keepui-background, #f5f5f5);
|
|
82
|
+
--color-keepui-surface: var(--keepui-surface, #ffffff);
|
|
83
|
+
--color-keepui-surface-hover: var(--keepui-surface-hover, #f0f0f0);
|
|
84
|
+
|
|
85
|
+
/* ── Borders ── */
|
|
86
|
+
--color-keepui-border: var(--keepui-border, #e0e0e0);
|
|
87
|
+
--color-keepui-border-strong: var(--keepui-border-strong, #cccccc);
|
|
88
|
+
|
|
89
|
+
/* ── Text ── */
|
|
90
|
+
--color-keepui-text: var(--keepui-text, #1f2937);
|
|
91
|
+
--color-keepui-text-muted: var(--keepui-text-muted, #6b7280);
|
|
92
|
+
--color-keepui-text-disabled: var(--keepui-text-disabled, #9ca3af);
|
|
93
|
+
|
|
94
|
+
/* ── Primary ── */
|
|
95
|
+
--color-keepui-primary: var(--keepui-primary, #3b82f6);
|
|
96
|
+
--color-keepui-primary-hover: var(--keepui-primary-hover, #2563eb);
|
|
97
|
+
--color-keepui-primary-active: var(--keepui-primary-active, #1d4ed8);
|
|
98
|
+
--color-keepui-primary-fg: var(--keepui-primary-foreground, #ffffff);
|
|
99
|
+
|
|
100
|
+
/* ── Feedback ── */
|
|
101
|
+
--color-keepui-error: var(--keepui-error, #dc2626);
|
|
102
|
+
--color-keepui-error-fg: var(--keepui-error-foreground, #ffffff);
|
|
103
|
+
--color-keepui-success: var(--keepui-success, #16a34a);
|
|
104
|
+
--color-keepui-warning: var(--keepui-warning, #f59e0b);
|
|
105
|
+
|
|
106
|
+
/* ── Shadows ── */
|
|
107
|
+
--shadow-keepui-sm: var(--keepui-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.12));
|
|
108
|
+
--shadow-keepui-md: var(--keepui-shadow-md, 0 3px 6px rgba(0, 0, 0, 0.15));
|
|
109
|
+
--shadow-keepui-lg: var(--keepui-shadow-lg, 0 6px 12px rgba(0, 0, 0, 0.18));
|
|
110
|
+
}
|
|
@@ -23,34 +23,33 @@
|
|
|
23
23
|
|
|
24
24
|
@theme inline {
|
|
25
25
|
/* ── Surfaces ── */
|
|
26
|
-
--color-keepui-background: var(--keepui-background);
|
|
27
|
-
--color-keepui-surface: var(--keepui-surface);
|
|
28
|
-
--color-keepui-surface-hover: var(--keepui-surface-hover);
|
|
26
|
+
--color-keepui-background: var(--keepui-background, #f5f5f5);
|
|
27
|
+
--color-keepui-surface: var(--keepui-surface, #ffffff);
|
|
28
|
+
--color-keepui-surface-hover: var(--keepui-surface-hover, #f0f0f0);
|
|
29
29
|
|
|
30
30
|
/* ── Borders ── */
|
|
31
|
-
--color-keepui-border: var(--keepui-border);
|
|
32
|
-
--color-keepui-border-strong: var(--keepui-border-strong);
|
|
31
|
+
--color-keepui-border: var(--keepui-border, #e0e0e0);
|
|
32
|
+
--color-keepui-border-strong: var(--keepui-border-strong, #cccccc);
|
|
33
33
|
|
|
34
34
|
/* ── Text ── */
|
|
35
|
-
--color-keepui-text: var(--keepui-text);
|
|
36
|
-
--color-keepui-text-muted: var(--keepui-text-muted);
|
|
37
|
-
--color-keepui-text-disabled: var(--keepui-text-disabled);
|
|
35
|
+
--color-keepui-text: var(--keepui-text, #1f2937);
|
|
36
|
+
--color-keepui-text-muted: var(--keepui-text-muted, #6b7280);
|
|
37
|
+
--color-keepui-text-disabled: var(--keepui-text-disabled, #9ca3af);
|
|
38
38
|
|
|
39
39
|
/* ── Primary ── */
|
|
40
|
-
--color-keepui-primary: var(--keepui-primary);
|
|
41
|
-
--color-keepui-primary-hover: var(--keepui-primary-hover);
|
|
42
|
-
--color-keepui-primary-active: var(--keepui-primary-active);
|
|
43
|
-
--color-keepui-primary-fg: var(--keepui-primary-foreground);
|
|
40
|
+
--color-keepui-primary: var(--keepui-primary, #3b82f6);
|
|
41
|
+
--color-keepui-primary-hover: var(--keepui-primary-hover, #2563eb);
|
|
42
|
+
--color-keepui-primary-active: var(--keepui-primary-active, #1d4ed8);
|
|
43
|
+
--color-keepui-primary-fg: var(--keepui-primary-foreground, #ffffff);
|
|
44
44
|
|
|
45
45
|
/* ── Feedback ── */
|
|
46
|
-
--color-keepui-error: var(--keepui-error);
|
|
47
|
-
--color-keepui-error-fg: var(--keepui-error-foreground);
|
|
48
|
-
--color-keepui-success: var(--keepui-success);
|
|
49
|
-
--color-keepui-warning: var(--keepui-warning);
|
|
46
|
+
--color-keepui-error: var(--keepui-error, #dc2626);
|
|
47
|
+
--color-keepui-error-fg: var(--keepui-error-foreground, #ffffff);
|
|
48
|
+
--color-keepui-success: var(--keepui-success, #16a34a);
|
|
49
|
+
--color-keepui-warning: var(--keepui-warning, #f59e0b);
|
|
50
50
|
|
|
51
51
|
/* ── Shadows ── */
|
|
52
|
-
--shadow-keepui-sm: var(--keepui-shadow-sm);
|
|
53
|
-
--shadow-keepui-md: var(--keepui-shadow-md);
|
|
54
|
-
--shadow-keepui-lg: var(--keepui-shadow-lg);
|
|
52
|
+
--shadow-keepui-sm: var(--keepui-shadow-sm, 0 1px 3px rgba(0, 0, 0, 0.12));
|
|
53
|
+
--shadow-keepui-md: var(--keepui-shadow-md, 0 3px 6px rgba(0, 0, 0, 0.15));
|
|
54
|
+
--shadow-keepui-lg: var(--keepui-shadow-lg, 0 6px 12px rgba(0, 0, 0, 0.18));
|
|
55
55
|
}
|
|
56
|
-
|
package/styles/prebuilt.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--spacing:.25rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-2xl:1rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.left-0{left:calc(var(--spacing) * 0)}.z-30{z-index:30}.z-40{z-index:40}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.mx-auto{margin-inline:auto}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mb-0{margin-bottom:calc(var(--spacing) * 0)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-14{height:calc(var(--spacing) * 14)}.h-auto{height:auto}.h-screen{height:100vh}.min-h-\[2\.75rem\]{min-height:2.75rem}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-40{width:calc(var(--spacing) * 40)}.w-64{width:calc(var(--spacing) * 64)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[2\.75rem\]{min-width:2.75rem}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-8{gap:calc(var(--spacing) * 8)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-keepui-border{border-color:var(--keepui-border)}.border-keepui-border-strong{border-color:var(--keepui-border-strong)}.border-keepui-error{border-color:var(--keepui-error)}.border-keepui-primary{border-color:var(--keepui-primary)}.\!bg-keepui-primary{background-color:var(--keepui-primary)!important}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-keepui-background{background-color:var(--keepui-background)}.bg-keepui-error{background-color:var(--keepui-error)}.bg-keepui-primary{background-color:var(--keepui-primary)}.bg-keepui-primary-active{background-color:var(--keepui-primary-active)}.bg-keepui-primary-hover{background-color:var(--keepui-primary-hover)}.bg-keepui-success{background-color:var(--keepui-success)}.bg-keepui-surface{background-color:var(--keepui-surface)}.bg-keepui-surface-hover{background-color:var(--keepui-surface-hover)}.bg-keepui-warning{background-color:var(--keepui-warning)}.bg-transparent{background-color:#0000}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.\!text-keepui-primary-fg{color:var(--keepui-primary-foreground)!important}.text-keepui-error{color:var(--keepui-error)}.text-keepui-error-fg{color:var(--keepui-error-foreground)}.text-keepui-primary{color:var(--keepui-primary)}.text-keepui-primary-fg{color:var(--keepui-primary-foreground)}.text-keepui-success{color:var(--keepui-success)}.text-keepui-text{color:var(--keepui-text)}.text-keepui-text-disabled{color:var(--keepui-text-disabled)}.text-keepui-text-muted{color:var(--keepui-text-muted)}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-keepui-lg{--tw-shadow:var(--keepui-shadow-lg);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-keepui-md{--tw-shadow:var(--keepui-shadow-md);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-keepui-sm{--tw-shadow:var(--keepui-shadow-sm);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:gap-2:is(:where(.group):hover *){gap:calc(var(--spacing) * 2)}}.first\:mt-1\.5:first-child{margin-top:calc(var(--spacing) * 1.5)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}@media (hover:hover){.hover\:border-keepui-primary:hover{border-color:var(--keepui-primary)}.hover\:bg-keepui-surface-hover:hover{background-color:var(--keepui-surface-hover)}.hover\:text-keepui-text:hover{color:var(--keepui-text)}.hover\:shadow-keepui-sm:hover{--tw-shadow:var(--keepui-shadow-sm);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-keepui-primary:focus-visible{--tw-ring-color:var(--keepui-primary)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}@media (hover:hover){.enabled\:hover\:border-keepui-border-strong:enabled:hover{border-color:var(--keepui-border-strong)}.enabled\:hover\:border-keepui-primary:enabled:hover{border-color:var(--keepui-primary)}.enabled\:hover\:border-keepui-primary-hover:enabled:hover{border-color:var(--keepui-primary-hover)}.enabled\:hover\:bg-keepui-primary-hover:enabled:hover{background-color:var(--keepui-primary-hover)}.enabled\:hover\:bg-keepui-primary\/10:enabled:hover{background-color:var(--keepui-primary)}@supports (color:color-mix(in lab, red, red)){.enabled\:hover\:bg-keepui-primary\/10:enabled:hover{background-color:color-mix(in oklab, var(--keepui-primary) 10%, transparent)}}.enabled\:hover\:bg-keepui-surface-hover:enabled:hover{background-color:var(--keepui-surface-hover)}.enabled\:hover\:text-keepui-primary:enabled:hover{color:var(--keepui-primary)}.enabled\:hover\:opacity-90:enabled:hover{opacity:.9}}.enabled\:active\:border-keepui-primary-active:enabled:active{border-color:var(--keepui-primary-active)}.enabled\:active\:bg-keepui-primary-active:enabled:active{background-color:var(--keepui-primary-active)}.enabled\:active\:opacity-80:enabled:active{opacity:.8}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:text-keepui-text-disabled:disabled{color:var(--keepui-text-disabled)}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:48rem){.md\:static{position:static}.md\:inset-auto{inset:auto}.md\:z-auto{z-index:auto}.md\:hidden{display:none}.md\:translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:p-10{padding:calc(var(--spacing) * 10)}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}:root{--keepui-primary:#3b82f6;--keepui-primary-hover:#2563eb;--keepui-primary-active:#1d4ed8;--keepui-primary-foreground:#fff;--keepui-background:#f5f5f5;--keepui-surface:#fff;--keepui-surface-hover:#f0f0f0;--keepui-border:#e0e0e0;--keepui-border-strong:#ccc;--keepui-text:#1f2937;--keepui-text-muted:#6b7280;--keepui-text-disabled:#9ca3af;--keepui-error:#dc2626;--keepui-error-foreground:#fff;--keepui-success:#16a34a;--keepui-warning:#f59e0b;--keepui-radius:.5rem;--keepui-radius-sm:.25rem;--keepui-shadow-sm:0 1px 3px #0000001f;--keepui-shadow-md:0 3px 6px #00000026;--keepui-shadow-lg:0 6px 12px #0000002e;--keepui-transition:.2s ease;--keepui-disabled-opacity:.5;--keepui-font-family:system-ui, -apple-system, sans-serif}[data-theme=dark]{--keepui-primary:#60a5fa;--keepui-primary-hover:#93c5fd;--keepui-primary-active:#3b82f6;--keepui-primary-foreground:#0f172a;--keepui-background:#0f172a;--keepui-surface:#1e293b;--keepui-surface-hover:#334155;--keepui-border:#334155;--keepui-border-strong:#475569;--keepui-text:#f1f5f9;--keepui-text-muted:#94a3b8;--keepui-text-disabled:#64748b;--keepui-error:#f87171;--keepui-error-foreground:#0f172a;--keepui-success:#4ade80;--keepui-warning:#fbbf24;--keepui-shadow-sm:0 1px 3px #0006;--keepui-shadow-md:0 3px 6px #00000073;--keepui-shadow-lg:0 6px 12px #00000080}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--keepui-primary:#60a5fa;--keepui-primary-hover:#93c5fd;--keepui-primary-active:#3b82f6;--keepui-primary-foreground:#0f172a;--keepui-background:#0f172a;--keepui-surface:#1e293b;--keepui-surface-hover:#334155;--keepui-border:#334155;--keepui-border-strong:#475569;--keepui-text:#f1f5f9;--keepui-text-muted:#94a3b8;--keepui-text-disabled:#64748b;--keepui-error:#f87171;--keepui-error-foreground:#0f172a;--keepui-success:#4ade80;--keepui-warning:#fbbf24;--keepui-shadow-sm:0 1px 3px #0006;--keepui-shadow-md:0 3px 6px #00000073;--keepui-shadow-lg:0 6px 12px #00000080}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
|
|
2
|
+
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-black:#000;--spacing:.25rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-2xl:1rem;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.left-0{left:calc(var(--spacing) * 0)}.z-30{z-index:30}.z-40{z-index:40}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing) * 0)}.-mx-2{margin-inline:calc(var(--spacing) * -2)}.mx-auto{margin-inline:auto}.mt-0{margin-top:calc(var(--spacing) * 0)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mr-1{margin-right:calc(var(--spacing) * 1)}.mb-0{margin-bottom:calc(var(--spacing) * 0)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-14{height:calc(var(--spacing) * 14)}.h-auto{height:auto}.h-screen{height:100vh}.min-h-\[2\.75rem\]{min-height:2.75rem}.w-8{width:calc(var(--spacing) * 8)}.w-9{width:calc(var(--spacing) * 9)}.w-40{width:calc(var(--spacing) * 40)}.w-64{width:calc(var(--spacing) * 64)}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[2\.75rem\]{min-width:2.75rem}.min-w-max{min-width:max-content}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-8{gap:calc(var(--spacing) * 8)}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-keepui-border{border-color:var(--keepui-border,#e0e0e0)}.border-keepui-border-strong{border-color:var(--keepui-border-strong,#ccc)}.border-keepui-error{border-color:var(--keepui-error,#dc2626)}.border-keepui-primary{border-color:var(--keepui-primary,#3b82f6)}.\!bg-keepui-primary{background-color:var(--keepui-primary,#3b82f6)!important}.bg-black\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\/50{background-color:color-mix(in oklab, var(--color-black) 50%, transparent)}}.bg-keepui-background{background-color:var(--keepui-background,#f5f5f5)}.bg-keepui-error{background-color:var(--keepui-error,#dc2626)}.bg-keepui-primary{background-color:var(--keepui-primary,#3b82f6)}.bg-keepui-primary-active{background-color:var(--keepui-primary-active,#1d4ed8)}.bg-keepui-primary-hover{background-color:var(--keepui-primary-hover,#2563eb)}.bg-keepui-success{background-color:var(--keepui-success,#16a34a)}.bg-keepui-surface{background-color:var(--keepui-surface,#fff)}.bg-keepui-surface-hover{background-color:var(--keepui-surface-hover,#f0f0f0)}.bg-keepui-warning{background-color:var(--keepui-warning,#f59e0b)}.bg-transparent{background-color:#0000}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.\!text-keepui-primary-fg{color:var(--keepui-primary-foreground,#fff)!important}.text-keepui-error{color:var(--keepui-error,#dc2626)}.text-keepui-error-fg{color:var(--keepui-error-foreground,#fff)}.text-keepui-primary{color:var(--keepui-primary,#3b82f6)}.text-keepui-primary-fg{color:var(--keepui-primary-foreground,#fff)}.text-keepui-success{color:var(--keepui-success,#16a34a)}.text-keepui-text{color:var(--keepui-text,#1f2937)}.text-keepui-text-disabled{color:var(--keepui-text-disabled,#9ca3af)}.text-keepui-text-muted{color:var(--keepui-text-muted,#6b7280)}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-keepui-lg{--tw-shadow:var(--keepui-shadow-lg,0 6px 12px #0000002e);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-keepui-md{--tw-shadow:var(--keepui-shadow-md,0 3px 6px #00000026);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-keepui-sm{--tw-shadow:var(--keepui-shadow-sm,0 1px 3px #0000001f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.group-hover\:gap-2:is(:where(.group):hover *){gap:calc(var(--spacing) * 2)}}.first\:mt-1\.5:first-child{margin-top:calc(var(--spacing) * 1.5)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}@media (hover:hover){.hover\:border-keepui-primary:hover{border-color:var(--keepui-primary,#3b82f6)}.hover\:bg-keepui-surface-hover:hover{background-color:var(--keepui-surface-hover,#f0f0f0)}.hover\:text-keepui-text:hover{color:var(--keepui-text,#1f2937)}.hover\:shadow-keepui-sm:hover{--tw-shadow:var(--keepui-shadow-sm,0 1px 3px #0000001f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-keepui-primary:focus-visible{--tw-ring-color:var(--keepui-primary,#3b82f6)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}@media (hover:hover){.enabled\:hover\:border-keepui-border-strong:enabled:hover{border-color:var(--keepui-border-strong,#ccc)}.enabled\:hover\:border-keepui-primary:enabled:hover{border-color:var(--keepui-primary,#3b82f6)}.enabled\:hover\:border-keepui-primary-hover:enabled:hover{border-color:var(--keepui-primary-hover,#2563eb)}.enabled\:hover\:bg-keepui-primary-hover:enabled:hover{background-color:var(--keepui-primary-hover,#2563eb)}.enabled\:hover\:bg-keepui-primary\/10:enabled:hover{background-color:var(--keepui-primary,#3b82f6)}@supports (color:color-mix(in lab, red, red)){.enabled\:hover\:bg-keepui-primary\/10:enabled:hover{background-color:color-mix(in oklab, var(--keepui-primary,#3b82f6) 10%, transparent)}}.enabled\:hover\:bg-keepui-surface-hover:enabled:hover{background-color:var(--keepui-surface-hover,#f0f0f0)}.enabled\:hover\:text-keepui-primary:enabled:hover{color:var(--keepui-primary,#3b82f6)}.enabled\:hover\:opacity-90:enabled:hover{opacity:.9}}.enabled\:active\:border-keepui-primary-active:enabled:active{border-color:var(--keepui-primary-active,#1d4ed8)}.enabled\:active\:bg-keepui-primary-active:enabled:active{background-color:var(--keepui-primary-active,#1d4ed8)}.enabled\:active\:opacity-80:enabled:active{opacity:.8}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:text-keepui-text-disabled:disabled{color:var(--keepui-text-disabled,#9ca3af)}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:48rem){.md\:static{position:static}.md\:inset-auto{inset:auto}.md\:z-auto{z-index:auto}.md\:hidden{display:none}.md\:translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.md\:p-10{padding:calc(var(--spacing) * 10)}}@media (min-width:64rem){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}:root{--keepui-primary:#3b82f6;--keepui-primary-hover:#2563eb;--keepui-primary-active:#1d4ed8;--keepui-primary-foreground:#fff;--keepui-background:#f5f5f5;--keepui-surface:#fff;--keepui-surface-hover:#f0f0f0;--keepui-border:#e0e0e0;--keepui-border-strong:#ccc;--keepui-text:#1f2937;--keepui-text-muted:#6b7280;--keepui-text-disabled:#9ca3af;--keepui-error:#dc2626;--keepui-error-foreground:#fff;--keepui-success:#16a34a;--keepui-warning:#f59e0b;--keepui-radius:.5rem;--keepui-radius-sm:.25rem;--keepui-shadow-sm:0 1px 3px #0000001f;--keepui-shadow-md:0 3px 6px #00000026;--keepui-shadow-lg:0 6px 12px #0000002e;--keepui-transition:.2s ease;--keepui-disabled-opacity:.5;--keepui-font-family:system-ui, -apple-system, sans-serif}[data-theme=dark]{--keepui-primary:#60a5fa;--keepui-primary-hover:#93c5fd;--keepui-primary-active:#3b82f6;--keepui-primary-foreground:#0f172a;--keepui-background:#0f172a;--keepui-surface:#1e293b;--keepui-surface-hover:#334155;--keepui-border:#334155;--keepui-border-strong:#475569;--keepui-text:#f1f5f9;--keepui-text-muted:#94a3b8;--keepui-text-disabled:#64748b;--keepui-error:#f87171;--keepui-error-foreground:#0f172a;--keepui-success:#4ade80;--keepui-warning:#fbbf24;--keepui-shadow-sm:0 1px 3px #0006;--keepui-shadow-md:0 3px 6px #00000073;--keepui-shadow-lg:0 6px 12px #00000080}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--keepui-primary:#60a5fa;--keepui-primary-hover:#93c5fd;--keepui-primary-active:#3b82f6;--keepui-primary-foreground:#0f172a;--keepui-background:#0f172a;--keepui-surface:#1e293b;--keepui-surface-hover:#334155;--keepui-border:#334155;--keepui-border-strong:#475569;--keepui-text:#f1f5f9;--keepui-text-muted:#94a3b8;--keepui-text-disabled:#64748b;--keepui-error:#f87171;--keepui-error-foreground:#0f172a;--keepui-success:#4ade80;--keepui-warning:#fbbf24;--keepui-shadow-sm:0 1px 3px #0006;--keepui-shadow-md:0 3px 6px #00000073;--keepui-shadow-lg:0 6px 12px #00000080}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
|
package/styles/_index.css
DELETED
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* KeepUI — Styles entry point
|
|
3
|
-
*
|
|
4
|
-
* Import this file once in your application's global stylesheet:
|
|
5
|
-
*
|
|
6
|
-
* @import "@keepui/ui/styles";
|
|
7
|
-
*
|
|
8
|
-
* It includes:
|
|
9
|
-
* - Default light & dark theme tokens (CSS custom properties)
|
|
10
|
-
* - Tailwind CSS v4 theme mappings via @theme inline
|
|
11
|
-
*
|
|
12
|
-
* ─── Tailwind v4 utilities generated ────────────────────────────────────────
|
|
13
|
-
*
|
|
14
|
-
* Surface & background:
|
|
15
|
-
* bg-keepui-background bg-keepui-surface bg-keepui-surface-hover
|
|
16
|
-
*
|
|
17
|
-
* Text:
|
|
18
|
-
* text-keepui-text text-keepui-text-muted text-keepui-text-disabled
|
|
19
|
-
*
|
|
20
|
-
* Borders:
|
|
21
|
-
* border-keepui-border border-keepui-border-strong
|
|
22
|
-
*
|
|
23
|
-
* Brand / Primary:
|
|
24
|
-
* bg-keepui-primary bg-keepui-primary-hover bg-keepui-primary-active
|
|
25
|
-
* text-keepui-primary-fg border-keepui-primary
|
|
26
|
-
*
|
|
27
|
-
* Feedback:
|
|
28
|
-
* text-keepui-error bg-keepui-error bg-keepui-success bg-keepui-warning
|
|
29
|
-
*
|
|
30
|
-
* Shadows:
|
|
31
|
-
* shadow-keepui-sm shadow-keepui-md shadow-keepui-lg
|
|
32
|
-
*
|
|
33
|
-
* ─── Requirements ───────────────────────────────────────────────────────────
|
|
34
|
-
*
|
|
35
|
-
* Your application must process this file with Tailwind CSS v4 (e.g. via
|
|
36
|
-
* @tailwindcss/postcss or @tailwindcss/vite) to generate the utility classes.
|
|
37
|
-
* ────────────────────────────────────────────────────────────────────────────
|
|
38
|
-
*/
|
|
39
|
-
|
|
40
|
-
@import "./themes.css";
|
|
41
|
-
|
|
42
|
-
/*
|
|
43
|
-
* Tell Tailwind v4 to scan KeepUI's compiled bundles so that all utility
|
|
44
|
-
* classes used inside library component templates are included in the
|
|
45
|
-
* consumer's CSS output — even though node_modules is excluded by default.
|
|
46
|
-
*/
|
|
47
|
-
@source "../fesm2022";
|
|
48
|
-
|
|
49
|
-
@theme inline {
|
|
50
|
-
/* ── Surfaces ── */
|
|
51
|
-
--color-keepui-background: var(--keepui-background);
|
|
52
|
-
--color-keepui-surface: var(--keepui-surface);
|
|
53
|
-
--color-keepui-surface-hover: var(--keepui-surface-hover);
|
|
54
|
-
|
|
55
|
-
/* ── Borders ── */
|
|
56
|
-
--color-keepui-border: var(--keepui-border);
|
|
57
|
-
--color-keepui-border-strong: var(--keepui-border-strong);
|
|
58
|
-
|
|
59
|
-
/* ── Text ── */
|
|
60
|
-
--color-keepui-text: var(--keepui-text);
|
|
61
|
-
--color-keepui-text-muted: var(--keepui-text-muted);
|
|
62
|
-
--color-keepui-text-disabled: var(--keepui-text-disabled);
|
|
63
|
-
|
|
64
|
-
/* ── Primary ── */
|
|
65
|
-
--color-keepui-primary: var(--keepui-primary);
|
|
66
|
-
--color-keepui-primary-hover: var(--keepui-primary-hover);
|
|
67
|
-
--color-keepui-primary-active: var(--keepui-primary-active);
|
|
68
|
-
--color-keepui-primary-fg: var(--keepui-primary-foreground);
|
|
69
|
-
|
|
70
|
-
/* ── Feedback ── */
|
|
71
|
-
--color-keepui-error: var(--keepui-error);
|
|
72
|
-
--color-keepui-error-fg: var(--keepui-error-foreground);
|
|
73
|
-
--color-keepui-success: var(--keepui-success);
|
|
74
|
-
--color-keepui-warning: var(--keepui-warning);
|
|
75
|
-
|
|
76
|
-
/* ── Shadows ── */
|
|
77
|
-
--shadow-keepui-sm: var(--keepui-shadow-sm);
|
|
78
|
-
--shadow-keepui-md: var(--keepui-shadow-md);
|
|
79
|
-
--shadow-keepui-lg: var(--keepui-shadow-lg);
|
|
80
|
-
}
|