@rysinal/heroui-vue-styles 0.0.3 → 0.0.4

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.4",
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.4"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "tailwindcss": ">=4.0.0"
@@ -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
@@ -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
+ }