@rysinal/heroui-vue-styles 0.0.3 → 0.0.5

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 CHANGED
@@ -1,37 +1,49 @@
1
1
  # @rysinal/heroui-vue-styles
2
2
 
3
- Styles, Tailwind variants, and CSS entrypoints for `@rysinal/heroui-vue`.
3
+ Styles and CSS entrypoints for `@rysinal/heroui-vue`.
4
4
 
5
- Most users should install this package together with the Vue component package:
5
+ Most users should not use this package by itself. Install it together with the Vue component package:
6
6
 
7
7
  ```bash
8
- pnpm add @rysinal/heroui-vue @rysinal/heroui-vue-styles
8
+ npm install @rysinal/heroui-vue @rysinal/heroui-vue-styles
9
+ npm install -D tailwindcss @tailwindcss/vite
9
10
  ```
10
11
 
11
12
  ```bash
12
- npm install @rysinal/heroui-vue @rysinal/heroui-vue-styles
13
+ pnpm add @rysinal/heroui-vue @rysinal/heroui-vue-styles
14
+ pnpm add -D tailwindcss @tailwindcss/vite
13
15
  ```
14
16
 
15
17
  ```bash
16
18
  yarn add @rysinal/heroui-vue @rysinal/heroui-vue-styles
19
+ yarn add -D tailwindcss @tailwindcss/vite
17
20
  ```
18
21
 
19
22
  ## Usage
20
23
 
21
- Import the global styles once in your app entry:
24
+ If Tailwind CSS 4 is already configured in your app, keep your existing setup.
25
+ For a Vite app, add the Tailwind plugin:
22
26
 
23
27
  ```ts
24
- import '@rysinal/heroui-vue-styles/styles.css'
28
+ import tailwindcss from '@tailwindcss/vite'
29
+ import vue from '@vitejs/plugin-vue'
30
+ import { defineConfig } from 'vite'
31
+
32
+ export default defineConfig({
33
+ plugins: [tailwindcss(), vue()],
34
+ })
25
35
  ```
26
36
 
27
- For Tailwind CSS 4, include the Vue package in your CSS source scan:
37
+ Add to your main CSS file, for example `src/style.css`:
28
38
 
29
39
  ```css
30
40
  @import "tailwindcss";
31
- @source "../node_modules/@rysinal/heroui-vue";
41
+ @import "@rysinal/heroui-vue-styles/styles.css";
32
42
  ```
33
43
 
34
- The package also exposes compiled style utilities for advanced usage:
44
+ Import order matters. Always import `tailwindcss` first.
45
+
46
+ Advanced users can also import variant helpers directly:
35
47
 
36
48
  ```ts
37
49
  import { buttonVariants } from '@rysinal/heroui-vue-styles'
@@ -14,7 +14,7 @@ export declare const textVariants: import("tailwind-variants").TVReturnType<{
14
14
  success: string;
15
15
  warning: string;
16
16
  };
17
- }, undefined, string[], {
17
+ }, undefined, "text", {
18
18
  size: {
19
19
  base: string;
20
20
  lg: string;
@@ -44,6 +44,6 @@ export declare const textVariants: import("tailwind-variants").TVReturnType<{
44
44
  success: string;
45
45
  warning: string;
46
46
  };
47
- }, undefined, string[], unknown, unknown, undefined>>;
47
+ }, undefined, "text", unknown, unknown, undefined>>;
48
48
  export type TextVariants = VariantProps<typeof textVariants>;
49
49
  //# sourceMappingURL=text.styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text.styles.d.ts","sourceRoot":"","sources":["../../../src/components/text/text.styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qDAsBvB,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,CAAA"}
1
+ {"version":3,"file":"text.styles.d.ts","sourceRoot":"","sources":["../../../src/components/text/text.styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGrD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mDAsBvB,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,OAAO,YAAY,CAAC,CAAA"}
@@ -1,24 +1,24 @@
1
1
  import { tv } from 'tailwind-variants';
2
2
  export const textVariants = tv({
3
- base: ['transition-colors duration-200'],
3
+ base: 'text',
4
4
  defaultVariants: {
5
5
  size: 'base',
6
6
  variant: 'default',
7
7
  },
8
8
  variants: {
9
9
  size: {
10
- base: 'text-base',
11
- lg: 'text-lg',
12
- sm: 'text-sm',
13
- xl: 'text-xl',
14
- xs: 'text-xs',
10
+ base: 'text--base',
11
+ lg: 'text--lg',
12
+ sm: 'text--sm',
13
+ xl: 'text--xl',
14
+ xs: 'text--xs',
15
15
  },
16
16
  variant: {
17
- danger: 'text-danger',
18
- default: 'text-foreground',
19
- muted: 'text-muted',
20
- success: 'text-success',
21
- warning: 'text-warning',
17
+ danger: 'text--danger',
18
+ default: 'text--default',
19
+ muted: 'text--muted',
20
+ success: 'text--success',
21
+ warning: 'text--warning',
22
22
  },
23
23
  },
24
24
  });
@@ -1 +1 @@
1
- {"version":3,"file":"text.styles.js","sourceRoot":"","sources":["../../../src/components/text/text.styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;AAEtC,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;IAC7B,IAAI,EAAE,CAAC,gCAAgC,CAAC;IACxC,eAAe,EAAE;QACf,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,SAAS;KACnB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,IAAI,EAAE,WAAW;YACjB,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,SAAS;YACb,EAAE,EAAE,SAAS;SACd;QACD,OAAO,EAAE;YACP,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE,iBAAiB;YAC1B,KAAK,EAAE,YAAY;YACnB,OAAO,EAAE,cAAc;YACvB,OAAO,EAAE,cAAc;SACxB;KACF;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"text.styles.js","sourceRoot":"","sources":["../../../src/components/text/text.styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,MAAM,mBAAmB,CAAA;AAEtC,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;IAC7B,IAAI,EAAE,MAAM;IACZ,eAAe,EAAE;QACf,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,SAAS;KACnB;IACD,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,IAAI,EAAE,YAAY;YAClB,EAAE,EAAE,UAAU;YACd,EAAE,EAAE,UAAU;YACd,EAAE,EAAE,UAAU;YACd,EAAE,EAAE,UAAU;SACf;QACD,OAAO,EAAE;YACP,MAAM,EAAE,cAAc;YACtB,OAAO,EAAE,eAAe;YACxB,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,eAAe;SACzB;KACF;CACF,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rysinal/heroui-vue-styles",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "Styles for HeroUI Vue components",
5
5
  "keywords": [
6
6
  "heroui",
@@ -41,14 +41,14 @@
41
41
  "src"
42
42
  ],
43
43
  "dependencies": {
44
- "tailwind-variants": "^3.2.2"
44
+ "tailwind-variants": "^3.2.2",
45
+ "tw-animate-css": "^1.4.0"
45
46
  },
46
47
  "devDependencies": {
47
48
  "@tailwindcss/vite": "^4.2.4",
48
49
  "tailwindcss": "^4.1.18",
49
- "tw-animate-css": "^1.4.0",
50
50
  "typescript": "^5.8.3",
51
- "@rysinal/heroui-vue-standard": "0.0.3"
51
+ "@rysinal/heroui-vue-standard": "0.0.5"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "tailwindcss": ">=4.0.0"
@@ -22,7 +22,13 @@
22
22
  }
23
23
 
24
24
  .accordion__indicator {
25
- @apply ml-auto size-4 shrink-0 text-muted;
25
+ @apply ml-auto inline-flex size-4 shrink-0 items-center justify-center text-muted;
26
+ line-height: 1;
27
+ transform-origin: center;
28
+
29
+ & > svg {
30
+ @apply block size-full shrink-0;
31
+ }
26
32
 
27
33
  /**
28
34
  * Transitions
@@ -217,9 +217,13 @@
217
217
  /**
218
218
  * Element: heading - the main title text
219
219
  */
220
- .alert-dialog__heading {
220
+ .alert-dialog__heading,
221
+ .alert-dialog__dialog .alert-dialog__heading {
221
222
  @apply align-middle;
222
223
  @apply text-base font-medium text-foreground;
224
+ margin: 0;
225
+ border: 0;
226
+ padding: 0;
223
227
  }
224
228
 
225
229
  /**
@@ -156,3 +156,7 @@
156
156
  .button--full-width {
157
157
  @apply w-full;
158
158
  }
159
+
160
+ .button.w-full {
161
+ width: 100%;
162
+ }
@@ -3,8 +3,10 @@
3
3
  @apply relative;
4
4
  }
5
5
 
6
- .disclosure__heading {
6
+ .disclosure .disclosure__heading {
7
7
  @apply flex;
8
+ margin: 0;
9
+ font: inherit;
8
10
  }
9
11
 
10
12
  .disclosure__trigger {
@@ -13,19 +15,25 @@
13
15
 
14
16
  /* Focus state */
15
17
  &:focus-visible:not(:focus),
16
- &[data-focus-visible="true"] {
18
+ &[data-focus-visible='true'] {
17
19
  @apply status-focused;
18
20
  }
19
21
 
20
22
  /* Disabled state */
21
23
  &:disabled,
22
- &[aria-disabled="true"] {
24
+ &[aria-disabled='true'] {
23
25
  @apply status-disabled;
24
26
  }
25
27
  }
26
28
 
27
29
  .disclosure__indicator {
28
- @apply ml-auto size-4 shrink-0 text-inherit;
30
+ @apply ml-auto inline-flex size-4 shrink-0 items-center justify-center text-inherit;
31
+ line-height: 1;
32
+ transform-origin: center;
33
+
34
+ & > svg {
35
+ @apply block size-full shrink-0;
36
+ }
29
37
 
30
38
  /**
31
39
  * Transitions
@@ -33,7 +41,7 @@
33
41
  @apply transition duration-250 motion-reduce:transition-none;
34
42
 
35
43
  /* Expanded state for indicator rotation */
36
- &[data-expanded="true"] {
44
+ &[data-expanded='true'] {
37
45
  @apply -rotate-180;
38
46
  }
39
47
  }
@@ -52,7 +60,7 @@
52
60
  opacity 200ms var(--ease-out);
53
61
  @apply motion-reduce:transition-none;
54
62
 
55
- &[data-expanded="true"] {
63
+ &[data-expanded='true'] {
56
64
  will-change: height, opacity;
57
65
  opacity: 1;
58
66
  }
@@ -43,7 +43,8 @@
43
43
  */
44
44
  .drawer__backdrop {
45
45
  @apply fixed inset-0 z-50;
46
- @apply h-(--visual-viewport-height) w-full;
46
+ @apply w-full;
47
+ height: var(--visual-viewport-height, 100dvh);
47
48
  opacity: 1;
48
49
  transition: opacity 250ms cubic-bezier(0.32, 0.72, 0, 1);
49
50
 
@@ -94,7 +95,8 @@
94
95
  .drawer__content {
95
96
  @apply pointer-events-none;
96
97
  @apply fixed inset-0 z-50 flex;
97
- @apply h-(--visual-viewport-height) w-full min-w-0;
98
+ @apply w-full min-w-0;
99
+ height: var(--visual-viewport-height, 100dvh);
98
100
  }
99
101
 
100
102
  /**
@@ -224,9 +226,13 @@
224
226
  /**
225
227
  * Element: heading - the main title text
226
228
  */
227
- .drawer__heading {
229
+ .drawer__heading,
230
+ .drawer__dialog .drawer__heading {
228
231
  @apply align-middle;
229
232
  @apply text-base font-medium text-foreground;
233
+ margin: 0;
234
+ border: 0;
235
+ padding: 0;
230
236
  }
231
237
 
232
238
  /**
@@ -241,6 +247,11 @@
241
247
  -webkit-overflow-scrolling: touch;
242
248
  }
243
249
 
250
+ .drawer__header > :where(p):not([class]),
251
+ .drawer__body > :where(p):not([class]) {
252
+ margin: 0;
253
+ }
254
+
244
255
  /**
245
256
  * Element: footer - the bottom action section
246
257
  */
@@ -152,6 +152,7 @@
152
152
  * Typography
153
153
  * ------------------------------------------------------------------------------------------------ */
154
154
  @import "./kbd.css";
155
+ @import "./text.css";
155
156
 
156
157
  /* ------------------------------------------------------------------------------------------------
157
158
  * Utilities
@@ -63,6 +63,7 @@
63
63
  &[data-exiting="true"],
64
64
  &[data-entering="true"] {
65
65
  @apply will-change-[opacity];
66
+ --tw-animation-fill-mode: both;
66
67
  @apply motion-reduce:animate-none;
67
68
  }
68
69
  }
@@ -93,10 +94,11 @@
93
94
  */
94
95
  .modal__container {
95
96
  @apply flex flex-col items-center;
96
- @apply h-(--visual-viewport-height) w-full min-w-0 flex-1;
97
+ @apply w-full min-w-0 flex-1;
97
98
  @apply p-4;
98
99
  @apply sm:w-fit sm:p-10;
99
100
  @apply pointer-events-none;
101
+ height: var(--visual-viewport-height, 100dvh);
100
102
 
101
103
  /* Entering animation */
102
104
  &[data-entering="true"] {
@@ -132,6 +134,7 @@
132
134
  &[data-exiting="true"],
133
135
  &[data-entering="true"] {
134
136
  @apply will-change-[opacity,transform];
137
+ --tw-animation-fill-mode: both;
135
138
  @apply motion-reduce:animate-none;
136
139
  }
137
140
  }
@@ -140,7 +143,7 @@
140
143
  * Modifier: container--scroll-outside
141
144
  */
142
145
  .modal__container--scroll-outside {
143
- @apply overflow-y-auto;
146
+ @apply overflow-y-auto overscroll-contain;
144
147
  @apply pointer-events-auto;
145
148
  -webkit-overflow-scrolling: touch;
146
149
  }
@@ -195,7 +198,7 @@
195
198
  * Modifier: dialog--scroll-inside
196
199
  */
197
200
  .modal__dialog--scroll-inside {
198
- @apply overflow-hidden;
201
+ @apply max-h-full overflow-hidden;
199
202
  }
200
203
 
201
204
  /**
@@ -265,9 +268,13 @@
265
268
  /**
266
269
  * Element: heading - the main title text
267
270
  */
268
- .modal__heading {
271
+ .modal__heading,
272
+ .modal__dialog .modal__heading {
269
273
  @apply align-middle;
270
274
  @apply text-base font-medium text-foreground;
275
+ margin: 0;
276
+ border: 0;
277
+ padding: 0;
271
278
  }
272
279
 
273
280
  /**
@@ -279,6 +286,30 @@
279
286
  @apply rounded-full select-none;
280
287
  }
281
288
 
289
+ .modal__icon.bg-default {
290
+ background-color: var(--color-default);
291
+ }
292
+
293
+ .modal__icon.bg-accent-soft {
294
+ background-color: var(--color-accent-soft);
295
+ }
296
+
297
+ .modal__icon.bg-success-soft {
298
+ background-color: var(--color-success-soft);
299
+ }
300
+
301
+ .modal__icon.text-foreground {
302
+ color: var(--color-foreground);
303
+ }
304
+
305
+ .modal__icon.text-accent-soft-foreground {
306
+ color: var(--color-accent-soft-foreground);
307
+ }
308
+
309
+ .modal__icon.text-success-soft-foreground {
310
+ color: var(--color-success-soft-foreground);
311
+ }
312
+
282
313
  /**
283
314
  * Element: body - the main content area
284
315
  */
@@ -288,11 +319,16 @@
288
319
  @apply my-0;
289
320
  }
290
321
 
322
+ .modal__header > :where(p),
323
+ .modal__body > :where(p) {
324
+ margin: 0;
325
+ }
326
+
291
327
  /**
292
328
  * Modifier: body--scroll-inside
293
329
  */
294
330
  .modal__body--scroll-inside {
295
- @apply overflow-y-auto;
331
+ @apply overflow-y-auto overscroll-contain;
296
332
  -webkit-overflow-scrolling: touch;
297
333
  }
298
334
 
@@ -62,8 +62,14 @@
62
62
  }
63
63
 
64
64
  /* Popover heading */
65
- .popover__heading {
65
+ .popover__heading,
66
+ .popover .popover__heading {
66
67
  @apply font-medium;
68
+ margin: 0;
69
+ border: 0;
70
+ padding: 0;
71
+ font-size: inherit;
72
+ line-height: inherit;
67
73
  }
68
74
 
69
75
  /* Popover trigger */
@@ -2,25 +2,25 @@ import type { VariantProps } from 'tailwind-variants'
2
2
  import { tv } from 'tailwind-variants'
3
3
 
4
4
  export const textVariants = tv({
5
- base: ['transition-colors duration-200'],
5
+ base: 'text',
6
6
  defaultVariants: {
7
7
  size: 'base',
8
8
  variant: 'default',
9
9
  },
10
10
  variants: {
11
11
  size: {
12
- base: 'text-base',
13
- lg: 'text-lg',
14
- sm: 'text-sm',
15
- xl: 'text-xl',
16
- xs: 'text-xs',
12
+ base: 'text--base',
13
+ lg: 'text--lg',
14
+ sm: 'text--sm',
15
+ xl: 'text--xl',
16
+ xs: 'text--xs',
17
17
  },
18
18
  variant: {
19
- danger: 'text-danger',
20
- default: 'text-foreground',
21
- muted: 'text-muted',
22
- success: 'text-success',
23
- warning: 'text-warning',
19
+ danger: 'text--danger',
20
+ default: 'text--default',
21
+ muted: 'text--muted',
22
+ success: 'text--success',
23
+ warning: 'text--warning',
24
24
  },
25
25
  },
26
26
  })
@@ -0,0 +1,45 @@
1
+ /* Text component styles */
2
+
3
+ .text {
4
+ @apply transition-colors duration-200;
5
+ }
6
+
7
+ .text--xs {
8
+ @apply text-xs;
9
+ }
10
+
11
+ .text--sm {
12
+ @apply text-sm;
13
+ }
14
+
15
+ .text--base {
16
+ @apply text-base;
17
+ }
18
+
19
+ .text--lg {
20
+ @apply text-lg;
21
+ }
22
+
23
+ .text--xl {
24
+ @apply text-xl;
25
+ }
26
+
27
+ .text--default {
28
+ color: var(--foreground);
29
+ }
30
+
31
+ .text--muted {
32
+ color: var(--muted);
33
+ }
34
+
35
+ .text--danger {
36
+ color: var(--danger);
37
+ }
38
+
39
+ .text--success {
40
+ color: var(--success);
41
+ }
42
+
43
+ .text--warning {
44
+ color: var(--warning);
45
+ }
package/src/styles.css CHANGED
@@ -2,10 +2,18 @@
2
2
 
3
3
  /* HeroUI v3 Styles - Layered Theme Architecture */
4
4
 
5
- /* Base layer - Tailwind CSS v4 */
6
- @import "tailwindcss";
5
+ /* Make Tailwind utilities available to @apply without emitting Tailwind twice. */
6
+ @reference "tailwindcss";
7
+
8
+ /* External animation utilities used by overlay components. */
7
9
  @import "tw-animate-css";
8
10
 
11
+ /*
12
+ * Do not @source component TypeScript here. Tailwind scans object keys as class
13
+ * candidates too, which can emit global layout utilities and collide with host
14
+ * themes like VitePress.
15
+ */
16
+
9
17
  /* Base styles */
10
18
  @import "./base/base.css" layer(base);
11
19
 
@@ -191,3 +191,133 @@
191
191
  }
192
192
  }
193
193
  }
194
+
195
+ @layer theme {
196
+ :root,
197
+ .light,
198
+ .default,
199
+ [data-theme="light"],
200
+ [data-theme="default"],
201
+ .dark,
202
+ [data-theme="dark"] {
203
+ --color-background: var(--background);
204
+ --color-foreground: var(--foreground);
205
+ --color-surface: var(--surface);
206
+ --color-surface-foreground: var(--surface-foreground);
207
+ --color-surface-hover: color-mix(in oklab, var(--surface) 92%, var(--surface-foreground) 8%);
208
+ --color-surface-secondary: var(--surface-secondary);
209
+ --color-surface-secondary-foreground: var(--surface-secondary-foreground);
210
+ --color-surface-tertiary: var(--surface-tertiary);
211
+ --color-surface-tertiary-foreground: var(--surface-tertiary-foreground);
212
+ --color-overlay: var(--overlay);
213
+ --color-overlay-foreground: var(--overlay-foreground);
214
+ --color-muted: var(--muted);
215
+ --color-accent: var(--accent);
216
+ --color-accent-foreground: var(--accent-foreground);
217
+ --color-segment: var(--segment);
218
+ --color-segment-foreground: var(--segment-foreground);
219
+ --color-border: var(--border);
220
+ --color-separator: var(--separator);
221
+ --color-focus: var(--focus);
222
+ --color-link: var(--link);
223
+ --color-default: var(--default);
224
+ --color-default-foreground: var(--default-foreground);
225
+ --color-success: var(--success);
226
+ --color-success-foreground: var(--success-foreground);
227
+ --color-warning: var(--warning);
228
+ --color-warning-foreground: var(--warning-foreground);
229
+ --color-danger: var(--danger);
230
+ --color-danger-foreground: var(--danger-foreground);
231
+ --color-backdrop: var(--backdrop);
232
+ --shadow-surface: var(--surface-shadow);
233
+ --shadow-overlay: var(--overlay-shadow);
234
+ --shadow-field: var(--field-shadow);
235
+ --color-field: var(--field-background, var(--default));
236
+ --color-field-hover: color-mix(
237
+ in oklab,
238
+ var(--field-background, var(--default)) 90%,
239
+ var(--field-foreground, var(--foreground)) 2%
240
+ );
241
+ --color-field-foreground: var(--field-foreground, var(--foreground));
242
+ --color-field-placeholder: var(--field-placeholder, var(--muted));
243
+ --color-field-border: var(--field-border, var(--border));
244
+ --color-field-border-invalid: var(--danger);
245
+ --radius-field: var(--field-radius, calc(var(--radius) * 1.5));
246
+ --border-width-field: var(--field-border-width, var(--border-width));
247
+ --color-background-secondary: color-mix(in oklab, var(--background) 96%, var(--foreground) 4%);
248
+ --color-background-tertiary: color-mix(in oklab, var(--background) 92%, var(--foreground) 8%);
249
+ --color-background-inverse: var(--foreground);
250
+ --color-default-hover: color-mix(in oklab, var(--default) 96%, var(--default-foreground) 4%);
251
+ --color-accent-hover: color-mix(in oklab, var(--accent) 90%, var(--accent-foreground) 10%);
252
+ --color-success-hover: color-mix(in oklab, var(--success) 90%, var(--success-foreground) 10%);
253
+ --color-warning-hover: color-mix(in oklab, var(--warning) 90%, var(--warning-foreground) 10%);
254
+ --color-danger-hover: color-mix(in oklab, var(--danger) 90%, var(--danger-foreground) 10%);
255
+ --color-field-focus: var(--field-background, var(--default));
256
+ --color-field-border-hover: color-mix(
257
+ in oklab,
258
+ var(--field-border, var(--border)) 88%,
259
+ var(--field-foreground, var(--foreground)) 10%
260
+ );
261
+ --color-field-border-focus: color-mix(
262
+ in oklab,
263
+ var(--field-border, var(--border)) 74%,
264
+ var(--field-foreground, var(--foreground)) 22%
265
+ );
266
+ --color-accent-soft: color-mix(in oklab, var(--accent) 15%, transparent);
267
+ --color-accent-soft-foreground: var(--accent);
268
+ --color-accent-soft-hover: color-mix(in oklab, var(--accent) 20%, transparent);
269
+ --color-danger-soft: color-mix(in oklab, var(--danger) 15%, transparent);
270
+ --color-danger-soft-foreground: var(--danger);
271
+ --color-danger-soft-hover: color-mix(in oklab, var(--danger) 20%, transparent);
272
+ --color-warning-soft: color-mix(in oklab, var(--warning) 15%, transparent);
273
+ --color-warning-soft-foreground: var(--warning);
274
+ --color-warning-soft-hover: color-mix(in oklab, var(--warning) 20%, transparent);
275
+ --color-success-soft: color-mix(in oklab, var(--success) 15%, transparent);
276
+ --color-success-soft-foreground: var(--success);
277
+ --color-success-soft-hover: color-mix(in oklab, var(--success) 20%, transparent);
278
+ --color-separator-secondary: color-mix(
279
+ in oklab,
280
+ var(--surface) 85%,
281
+ var(--surface-foreground) 15%
282
+ );
283
+ --color-separator-tertiary: color-mix(
284
+ in oklab,
285
+ var(--surface) 81%,
286
+ var(--surface-foreground) 19%
287
+ );
288
+ --color-border-secondary: color-mix(in oklab, var(--surface) 78%, var(--surface-foreground) 22%);
289
+ --color-border-tertiary: color-mix(in oklab, var(--surface) 66%, var(--surface-foreground) 34%);
290
+ --radius-xs: calc(var(--radius) * 0.25);
291
+ --radius-sm: calc(var(--radius) * 0.5);
292
+ --radius-md: calc(var(--radius) * 0.75);
293
+ --radius-lg: calc(var(--radius) * 1);
294
+ --radius-xl: calc(var(--radius) * 1.5);
295
+ --radius-2xl: calc(var(--radius) * 2);
296
+ --radius-3xl: calc(var(--radius) * 3);
297
+ --radius-4xl: calc(var(--radius) * 4);
298
+ --ease-smooth: ease;
299
+ --ease-in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
300
+ --ease-in-cubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
301
+ --ease-in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
302
+ --ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
303
+ --ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
304
+ --ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.335);
305
+ --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
306
+ --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
307
+ --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
308
+ --ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
309
+ --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
310
+ --ease-out-circ: cubic-bezier(0.075, 0.82, 0.165, 1);
311
+ --ease-out-fluid: cubic-bezier(0.32, 0.72, 0, 1);
312
+ --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
313
+ --ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1);
314
+ --ease-in-out-quart: cubic-bezier(0.77, 0, 0.175, 1);
315
+ --ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
316
+ --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
317
+ --ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.15, 0.86);
318
+ --ease-linear: linear;
319
+ --animate-spin-fast: spin 0.75s linear infinite;
320
+ --animate-skeleton: skeleton 2s linear infinite;
321
+ --animate-caret-blink: caret-blink 1.2s ease-out infinite;
322
+ }
323
+ }