@nuxt/ui 3.0.0-beta.4 → 3.0.1

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.
Files changed (70) hide show
  1. package/.nuxt/ui/calendar.ts +1 -1
  2. package/.nuxt/ui/drawer.ts +8 -5
  3. package/.nuxt/ui.css +1 -1
  4. package/README.md +12 -12
  5. package/cli/package.json +1 -1
  6. package/dist/module.cjs +2 -2
  7. package/dist/module.d.cts +6 -6
  8. package/dist/module.d.mts +6 -6
  9. package/dist/module.d.ts +6 -6
  10. package/dist/module.json +2 -2
  11. package/dist/module.mjs +2 -2
  12. package/dist/runtime/components/Accordion.vue +2 -0
  13. package/dist/runtime/components/Breadcrumb.vue +2 -0
  14. package/dist/runtime/components/ColorPicker.vue +2 -0
  15. package/dist/runtime/components/CommandPalette.vue +2 -0
  16. package/dist/runtime/components/ContextMenu.vue +8 -6
  17. package/dist/runtime/components/Drawer.vue +12 -13
  18. package/dist/runtime/components/DropdownMenu.vue +7 -5
  19. package/dist/runtime/components/Form.vue +21 -1
  20. package/dist/runtime/components/FormField.vue +5 -0
  21. package/dist/runtime/components/InputMenu.vue +3 -3
  22. package/dist/runtime/components/Modal.vue +10 -7
  23. package/dist/runtime/components/NavigationMenu.vue +5 -3
  24. package/dist/runtime/components/PinInput.vue +2 -0
  25. package/dist/runtime/components/Popover.vue +3 -2
  26. package/dist/runtime/components/RadioGroup.vue +2 -2
  27. package/dist/runtime/components/Select.vue +3 -3
  28. package/dist/runtime/components/SelectMenu.vue +3 -3
  29. package/dist/runtime/components/Slideover.vue +10 -7
  30. package/dist/runtime/components/Stepper.vue +2 -0
  31. package/dist/runtime/components/Table.vue +1 -1
  32. package/dist/runtime/components/Tabs.vue +2 -0
  33. package/dist/runtime/components/Toast.vue +1 -1
  34. package/dist/runtime/components/Tooltip.vue +3 -2
  35. package/dist/runtime/components/Tree.vue +2 -0
  36. package/dist/runtime/composables/defineLocale.js +1 -0
  37. package/dist/runtime/composables/defineShortcuts.js +1 -0
  38. package/dist/runtime/composables/useKbd.js +1 -1
  39. package/dist/runtime/composables/useLocale.js +2 -2
  40. package/dist/runtime/composables/useOverlay.js +1 -1
  41. package/dist/runtime/locale/ca.d.ts +3 -0
  42. package/dist/runtime/locale/ca.js +54 -0
  43. package/dist/runtime/locale/ckb.d.ts +3 -0
  44. package/dist/runtime/locale/ckb.js +55 -0
  45. package/dist/runtime/locale/index.d.ts +5 -0
  46. package/dist/runtime/locale/index.js +5 -0
  47. package/dist/runtime/locale/ro.d.ts +3 -0
  48. package/dist/runtime/locale/ro.js +54 -0
  49. package/dist/runtime/locale/ur.d.ts +3 -0
  50. package/dist/runtime/locale/ur.js +55 -0
  51. package/dist/runtime/locale/uz.d.ts +3 -0
  52. package/dist/runtime/locale/uz.js +54 -0
  53. package/dist/runtime/plugins/colors.js +19 -15
  54. package/dist/runtime/types/form.d.ts +1 -3
  55. package/dist/runtime/types/index.d.ts +1 -0
  56. package/dist/runtime/types/index.js +1 -0
  57. package/dist/runtime/utils/form.d.ts +0 -4
  58. package/dist/runtime/utils/form.js +2 -47
  59. package/dist/runtime/utils/link.d.ts +1 -1
  60. package/dist/runtime/utils/tv.js +1 -1
  61. package/dist/runtime/vue/plugins/head.js +3 -0
  62. package/dist/runtime/vue/stubs.d.ts +0 -1
  63. package/dist/runtime/vue/stubs.js +1 -2
  64. package/dist/shared/{ui.yjbGE7Dx.mjs → ui.BCaWD5Ek.mjs} +10 -10
  65. package/dist/shared/{ui.COBs1u5H.cjs → ui.C6uTSFTI.cjs} +10 -10
  66. package/dist/unplugin.cjs +6 -2
  67. package/dist/unplugin.mjs +6 -2
  68. package/dist/vite.cjs +1 -1
  69. package/dist/vite.mjs +1 -1
  70. package/package.json +18 -18
@@ -0,0 +1,55 @@
1
+ import { defineLocale } from "../composables/defineLocale.js";
2
+ export default defineLocale({
3
+ name: "Urdu",
4
+ code: "ur",
5
+ dir: "rtl",
6
+ messages: {
7
+ inputMenu: {
8
+ noMatch: "\u06A9\u0648\u0626\u06CC \u0645\u0644\u062A\u0627 \u062C\u0644\u062A\u0627 \u0688\u06CC\u0679\u0627 \u0646\u06C1\u06CC\u06BA \u0645\u0644\u0627",
9
+ noData: "\u06A9\u0648\u0626\u06CC \u0688\u06CC\u0679\u0627 \u0646\u06C1\u06CC\u06BA",
10
+ create: '"{label}" \u0628\u0646\u0627\u0626\u06CC\u06BA'
11
+ },
12
+ calendar: {
13
+ prevYear: "\u067E\u0686\u06BE\u0644\u0627 \u0633\u0627\u0644",
14
+ nextYear: "\u0627\u06AF\u0644\u0627 \u0633\u0627\u0644",
15
+ prevMonth: "\u067E\u0686\u06BE\u0644\u0627 \u0645\u06C1\u06CC\u0646\u06C1",
16
+ nextMonth: "\u0627\u06AF\u0644\u0627 \u0645\u06C1\u06CC\u0646\u06C1"
17
+ },
18
+ inputNumber: {
19
+ increment: "\u0627\u0636\u0627\u0641\u06C1",
20
+ decrement: "\u06A9\u0645\u06CC"
21
+ },
22
+ commandPalette: {
23
+ placeholder: "\u06A9\u0645\u0627\u0646\u0688 \u0679\u0627\u0626\u067E \u06A9\u0631\u06CC\u06BA \u06CC\u0627 \u062A\u0644\u0627\u0634 \u06A9\u0631\u06CC\u06BA...",
24
+ noMatch: "\u06A9\u0648\u0626\u06CC \u0645\u0644\u062A\u0627 \u062C\u0644\u062A\u0627 \u0688\u06CC\u0679\u0627 \u0646\u06C1\u06CC\u06BA \u0645\u0644\u0627",
25
+ noData: "\u06A9\u0648\u0626\u06CC \u0688\u06CC\u0679\u0627 \u0646\u06C1\u06CC\u06BA",
26
+ close: "\u0628\u0646\u062F \u06A9\u0631\u06CC\u06BA"
27
+ },
28
+ selectMenu: {
29
+ noMatch: "\u06A9\u0648\u0626\u06CC \u0645\u0644\u062A\u0627 \u062C\u0644\u062A\u0627 \u0688\u06CC\u0679\u0627 \u0646\u06C1\u06CC\u06BA \u0645\u0644\u0627",
30
+ noData: "\u06A9\u0648\u0626\u06CC \u0688\u06CC\u0679\u0627 \u0646\u06C1\u06CC\u06BA",
31
+ create: '"{label}" \u0628\u0646\u0627\u0626\u06CC\u06BA',
32
+ search: "\u062A\u0644\u0627\u0634 \u06A9\u0631\u06CC\u06BA..."
33
+ },
34
+ toast: {
35
+ close: "\u0628\u0646\u062F \u06A9\u0631\u06CC\u06BA"
36
+ },
37
+ carousel: {
38
+ prev: "\u067E\u0686\u06BE\u0644\u0627",
39
+ next: "\u0627\u06AF\u0644\u0627",
40
+ goto: "\u0633\u0644\u0627\u0626\u06CC\u0688 {slide} \u067E\u0631 \u062C\u0627\u0626\u06CC\u06BA"
41
+ },
42
+ modal: {
43
+ close: "\u0628\u0646\u062F \u06A9\u0631\u06CC\u06BA"
44
+ },
45
+ slideover: {
46
+ close: "\u0628\u0646\u062F \u06A9\u0631\u06CC\u06BA"
47
+ },
48
+ alert: {
49
+ close: "\u0628\u0646\u062F \u06A9\u0631\u06CC\u06BA"
50
+ },
51
+ table: {
52
+ noData: "\u06A9\u0648\u0626\u06CC \u0688\u06CC\u0679\u0627 \u0646\u06C1\u06CC\u06BA"
53
+ }
54
+ }
55
+ });
@@ -0,0 +1,3 @@
1
+ import type { Messages } from '../types';
2
+ declare const _default: import("../types").Locale<Messages>;
3
+ export default _default;
@@ -0,0 +1,54 @@
1
+ import { defineLocale } from "../composables/defineLocale.js";
2
+ export default defineLocale({
3
+ name: "O\u02BBzbek",
4
+ code: "uz",
5
+ messages: {
6
+ inputMenu: {
7
+ noMatch: "Mos keluvchi natija topilmadi",
8
+ noData: "Ma\u02BClumot yo\u02BBq",
9
+ create: '"{label}" yaratish'
10
+ },
11
+ calendar: {
12
+ prevYear: "Oldingi yil",
13
+ nextYear: "Keyingi yil",
14
+ prevMonth: "Oldingi oy",
15
+ nextMonth: "Keyingi oy"
16
+ },
17
+ inputNumber: {
18
+ increment: "Qo\u02BBshish",
19
+ decrement: "Ayirish"
20
+ },
21
+ commandPalette: {
22
+ placeholder: "Buyruq kiriting yoki qidiring...",
23
+ noMatch: "Mos keluvchi natija topilmadi",
24
+ noData: "Ma\u02BClumot yo\u02BBq",
25
+ close: "Yopish"
26
+ },
27
+ selectMenu: {
28
+ noMatch: "Mos keluvchi natija topilmadi",
29
+ noData: "Ma\u02BClumot yo\u02BBq",
30
+ create: '"{label}" yaratish',
31
+ search: "Qidirish..."
32
+ },
33
+ toast: {
34
+ close: "Yopish"
35
+ },
36
+ carousel: {
37
+ prev: "Ortga",
38
+ next: "Oldinga",
39
+ goto: "{slide}-slaydga o\u2018tish"
40
+ },
41
+ modal: {
42
+ close: "Yopish"
43
+ },
44
+ slideover: {
45
+ close: "Yopish"
46
+ },
47
+ alert: {
48
+ close: "Yopish"
49
+ },
50
+ table: {
51
+ noData: "Ma\u02BClumot yo\u02BBq"
52
+ }
53
+ }
54
+ });
@@ -1,26 +1,33 @@
1
1
  import { computed } from "vue";
2
+ import colors from "tailwindcss/colors";
2
3
  import { defineNuxtPlugin, useAppConfig, useNuxtApp, useHead } from "#imports";
4
+ const shades = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
5
+ function getColor(color, shade) {
6
+ if (color in colors && typeof colors[color] === "object" && shade in colors[color]) {
7
+ return colors[color][shade];
8
+ }
9
+ return "";
10
+ }
11
+ function generateShades(key, value) {
12
+ return `${shades.map((shade) => `--ui-color-${key}-${shade}: var(--color-${value === "neutral" ? "old-neutral" : value}-${shade}, ${getColor(value, shade)});`).join("\n ")}`;
13
+ }
14
+ function generateColor(key, shade) {
15
+ return `--ui-${key}: var(--ui-color-${key}-${shade});`;
16
+ }
3
17
  export default defineNuxtPlugin(() => {
4
18
  const appConfig = useAppConfig();
5
19
  const nuxtApp = useNuxtApp();
6
- const shades = [50, 100, 200, 300, 400, 500, 600, 700, 800, 900, 950];
7
- function generateShades(key, value) {
8
- return `${shades.map((shade) => `--ui-color-${key}-${shade}: var(--color-${value === "neutral" ? "old-neutral" : value}-${shade});`).join("\n ")}`;
9
- }
10
- function generateColor(key, shade) {
11
- return `--ui-${key}: var(--ui-color-${key}-${shade});`;
12
- }
13
20
  const root = computed(() => {
14
- const { neutral, ...colors } = appConfig.ui.colors;
21
+ const { neutral, ...colors2 } = appConfig.ui.colors;
15
22
  return `@layer base {
16
23
  :root {
17
24
  ${Object.entries(appConfig.ui.colors).map(([key, value]) => generateShades(key, value)).join("\n ")}
18
25
  }
19
26
  :root, .light {
20
- ${Object.keys(colors).map((key) => generateColor(key, 500)).join("\n ")}
27
+ ${Object.keys(colors2).map((key) => generateColor(key, 500)).join("\n ")}
21
28
  }
22
29
  .dark {
23
- ${Object.keys(colors).map((key) => generateColor(key, 400)).join("\n ")}
30
+ ${Object.keys(colors2).map((key) => generateColor(key, 400)).join("\n ")}
24
31
  }
25
32
  }`;
26
33
  });
@@ -28,8 +35,7 @@ export default defineNuxtPlugin(() => {
28
35
  style: [{
29
36
  innerHTML: () => root.value,
30
37
  tagPriority: -2,
31
- id: "nuxt-ui-colors",
32
- type: "text/css"
38
+ id: "nuxt-ui-colors"
33
39
  }]
34
40
  };
35
41
  if (import.meta.client && nuxtApp.isHydrating && !nuxtApp.payload.serverRendered) {
@@ -41,7 +47,5 @@ export default defineNuxtPlugin(() => {
41
47
  innerHTML: "document.head.removeChild(document.querySelector('[data-nuxt-ui-colors]'))"
42
48
  }];
43
49
  }
44
- if (!nuxtApp.isVue) {
45
- useHead(headData);
46
- }
50
+ useHead(headData);
47
51
  });
@@ -1,9 +1,7 @@
1
1
  import type { StandardSchemaV1 } from '@standard-schema/spec';
2
2
  import type { ComputedRef, DeepReadonly, Ref } from 'vue';
3
- import type { ZodSchema } from 'zod';
4
3
  import type { Schema as JoiSchema } from 'joi';
5
4
  import type { ObjectSchema as YupObjectSchema } from 'yup';
6
- import type { GenericSchema as ValibotSchema, GenericSchemaAsync as ValibotSchemaAsync, SafeParser as ValibotSafeParser, SafeParserAsync as ValibotSafeParserAsync } from 'valibot';
7
5
  import type { GetObjectField } from './utils';
8
6
  import type { Struct as SuperstructSchema } from 'superstruct';
9
7
  export interface Form<T extends object> {
@@ -24,7 +22,7 @@ export interface Form<T extends object> {
24
22
  touchedFields: DeepReadonly<Set<keyof T>>;
25
23
  blurredFields: DeepReadonly<Set<keyof T>>;
26
24
  }
27
- export type FormSchema<T extends object> = ZodSchema | YupObjectSchema<T> | ValibotSchema | ValibotSchemaAsync | ValibotSafeParser<any, any> | ValibotSafeParserAsync<any, any> | JoiSchema<T> | SuperstructSchema<any, any> | StandardSchemaV1;
25
+ export type FormSchema<T extends object> = YupObjectSchema<T> | JoiSchema<T> | SuperstructSchema<any, any> | StandardSchemaV1;
28
26
  export type FormInputEvents = 'input' | 'blur' | 'change' | 'focus';
29
27
  export interface FormError<P extends string = string> {
30
28
  name?: P;
@@ -20,6 +20,7 @@ export * from '../components/Drawer.vue';
20
20
  export * from '../components/DropdownMenu.vue';
21
21
  export * from '../components/Form.vue';
22
22
  export * from '../components/FormField.vue';
23
+ export * from '../components/Icon.vue';
23
24
  export * from '../components/Input.vue';
24
25
  export * from '../components/InputMenu.vue';
25
26
  export * from '../components/InputNumber.vue';
@@ -20,6 +20,7 @@ export * from "../components/Drawer.vue";
20
20
  export * from "../components/DropdownMenu.vue";
21
21
  export * from "../components/Form.vue";
22
22
  export * from "../components/FormField.vue";
23
+ export * from "../components/Icon.vue";
23
24
  export * from "../components/Input.vue";
24
25
  export * from "../components/InputMenu.vue";
25
26
  export * from "../components/InputNumber.vue";
@@ -1,17 +1,13 @@
1
1
  import type { StandardSchemaV1 } from '@standard-schema/spec';
2
- import type { ZodSchema } from 'zod';
3
2
  import type { ValidationError as JoiError, Schema as JoiSchema } from 'joi';
4
3
  import type { ObjectSchema as YupObjectSchema, ValidationError as YupError } from 'yup';
5
- import type { GenericSchema as ValibotSchema, GenericSchemaAsync as ValibotSchemaAsync, SafeParser as ValibotSafeParser, SafeParserAsync as ValibotSafeParserAsync } from 'valibot';
6
4
  import type { Struct } from 'superstruct';
7
5
  import type { FormSchema, ValidateReturnSchema } from '../types/form';
8
6
  export declare function isYupSchema(schema: any): schema is YupObjectSchema<any>;
9
7
  export declare function isYupError(error: any): error is YupError;
10
8
  export declare function isSuperStructSchema(schema: any): schema is Struct<any, any>;
11
- export declare function isZodSchema(schema: any): schema is ZodSchema;
12
9
  export declare function isJoiSchema(schema: any): schema is JoiSchema;
13
10
  export declare function isJoiError(error: any): error is JoiError;
14
- export declare function isValibotSchema(schema: any): schema is ValibotSchema | ValibotSchemaAsync | ValibotSafeParser<any, any> | ValibotSafeParserAsync<any, any>;
15
11
  export declare function isStandardSchema(schema: any): schema is StandardSchemaV1;
16
12
  export declare function validateStandardSchema(state: any, schema: StandardSchemaV1): Promise<ValidateReturnSchema<typeof state>>;
17
13
  export declare function validateSchema<T extends object>(state: T, schema: FormSchema<T>): Promise<ValidateReturnSchema<typeof state>>;
@@ -7,18 +7,12 @@ export function isYupError(error) {
7
7
  export function isSuperStructSchema(schema) {
8
8
  return "schema" in schema && typeof schema.coercer === "function" && typeof schema.validator === "function" && typeof schema.refiner === "function";
9
9
  }
10
- export function isZodSchema(schema) {
11
- return schema.parse !== void 0;
12
- }
13
10
  export function isJoiSchema(schema) {
14
11
  return schema.validateAsync !== void 0 && schema.id !== void 0;
15
12
  }
16
13
  export function isJoiError(error) {
17
14
  return error.isJoi === true;
18
15
  }
19
- export function isValibotSchema(schema) {
20
- return "_run" in schema || typeof schema === "function" && "schema" in schema;
21
- }
22
16
  export function isStandardSchema(schema) {
23
17
  return "~standard" in schema;
24
18
  }
@@ -77,23 +71,6 @@ async function validateSuperstructSchema(state, schema) {
77
71
  result
78
72
  };
79
73
  }
80
- async function validateZodSchema(state, schema) {
81
- const result = await schema.safeParseAsync(state);
82
- if (result.success === false) {
83
- const errors = result.error.issues.map((issue) => ({
84
- name: issue.path.join("."),
85
- message: issue.message
86
- }));
87
- return {
88
- errors,
89
- result: null
90
- };
91
- }
92
- return {
93
- result: result.data,
94
- errors: null
95
- };
96
- }
97
74
  async function validateJoiSchema(state, schema) {
98
75
  try {
99
76
  const result = await schema.validateAsync(state, { abortEarly: false });
@@ -116,33 +93,11 @@ async function validateJoiSchema(state, schema) {
116
93
  }
117
94
  }
118
95
  }
119
- async function validateValibotSchema(state, schema) {
120
- const result = await ("_run" in schema ? schema._run({ typed: false, value: state }, {}) : schema(state));
121
- if (!result.issues || result.issues.length === 0) {
122
- const output = "output" in result ? result.output : "value" in result ? result.value : null;
123
- return {
124
- errors: null,
125
- result: output
126
- };
127
- }
128
- const errors = result.issues.map((issue) => ({
129
- name: issue.path?.map((item) => item.key).join(".") || "",
130
- message: issue.message
131
- }));
132
- return {
133
- errors,
134
- result: null
135
- };
136
- }
137
96
  export function validateSchema(state, schema) {
138
- if (isZodSchema(schema)) {
139
- return validateZodSchema(state, schema);
97
+ if (isStandardSchema(schema)) {
98
+ return validateStandardSchema(state, schema);
140
99
  } else if (isJoiSchema(schema)) {
141
100
  return validateJoiSchema(state, schema);
142
- } else if (isStandardSchema(schema)) {
143
- return validateStandardSchema(state, schema);
144
- } else if (isValibotSchema(schema)) {
145
- return validateValibotSchema(state, schema);
146
101
  } else if (isYupSchema(schema)) {
147
102
  return validateYupSchema(state, schema);
148
103
  } else if (isSuperStructSchema(schema)) {
@@ -6,13 +6,13 @@ export declare function pickLinkProps(link: LinkProps & {
6
6
  replace: any;
7
7
  type: any;
8
8
  title: any;
9
- exact: any;
10
9
  active: any;
11
10
  activeClass: any;
12
11
  ariaCurrentValue: any;
13
12
  ariaLabel: any;
14
13
  as: any;
15
14
  disabled: any;
15
+ exact: any;
16
16
  exactActiveClass: any;
17
17
  exactHash: any;
18
18
  exactQuery: any;
@@ -1,4 +1,4 @@
1
1
  import { createTV } from "tailwind-variants";
2
2
  import _appConfig from "#build/app.config";
3
3
  const appConfigTv = _appConfig;
4
- export const tv = createTV(appConfigTv.ui?.tv);
4
+ export const tv = /* @__PURE__ */ createTV(appConfigTv.ui?.tv);
@@ -1,6 +1,9 @@
1
1
  import { createHead } from "@unhead/vue/client";
2
2
  export default {
3
3
  install(app) {
4
+ if (app._context.provides.usehead) {
5
+ return;
6
+ }
4
7
  const head = createHead();
5
8
  app.use(head);
6
9
  }
@@ -26,7 +26,6 @@ export declare const useCookie: <T = string>(_name: string, _options?: Record<st
26
26
  export declare const useState: <T>(key: string, init: () => T) => Ref<T>;
27
27
  export declare function useNuxtApp(): {
28
28
  isHydrating: boolean;
29
- isVue: boolean;
30
29
  payload: {
31
30
  serverRendered: boolean;
32
31
  };
@@ -53,14 +53,13 @@ export const useState = (key, init) => {
53
53
  export function useNuxtApp() {
54
54
  return {
55
55
  isHydrating: true,
56
- isVue: true,
57
56
  payload: { serverRendered: false }
58
57
  };
59
58
  }
60
59
  export function defineNuxtPlugin(plugin) {
61
60
  return {
62
61
  install(app) {
63
- plugin({ vueApp: app });
62
+ app.runWithContext(() => plugin({ vueApp: app }));
64
63
  }
65
64
  };
66
65
  }
@@ -603,7 +603,7 @@ const calendar = (options) => ({
603
603
  gridBody: "grid",
604
604
  headCell: "rounded-[calc(var(--ui-radius)*1.5)]",
605
605
  cell: "relative text-center",
606
- cellTrigger: ["m-0.5 relative flex items-center justify-center rounded-full whitespace-nowrap focus-visible:ring-2 focus:outline-none data-disabled:text-(--ui-text-muted) data-unavailable:line-through data-unavailable:text-(--ui-text-muted) data-unavailable:pointer-events-none data-[selected]:text-(--ui-bg) data-today:font-semibold", options.theme.transitions && "transition"]
606
+ cellTrigger: ["m-0.5 relative flex items-center justify-center rounded-full whitespace-nowrap focus-visible:ring-2 focus:outline-none data-disabled:text-(--ui-text-muted) data-unavailable:line-through data-unavailable:text-(--ui-text-muted) data-unavailable:pointer-events-none data-[selected]:text-(--ui-bg) data-today:font-semibold data-[outside-view]:text-(--ui-text-muted)", options.theme.transitions && "transition"]
607
607
  },
608
608
  variants: {
609
609
  color: {
@@ -1050,11 +1050,11 @@ const contextMenu = (options) => ({
1050
1050
  }
1051
1051
  });
1052
1052
 
1053
- const drawer = {
1053
+ const drawer = (options) => ({
1054
1054
  slots: {
1055
1055
  overlay: "fixed inset-0 bg-(--ui-bg-elevated)/75",
1056
1056
  content: "fixed bg-(--ui-bg) ring ring-(--ui-border) flex focus:outline-none",
1057
- handle: "shrink-0 rounded-full bg-(--ui-bg-accented)",
1057
+ handle: ["shrink-0 !bg-(--ui-bg-accented)", options.theme.transitions && "transition-opacity"],
1058
1058
  container: "w-full flex flex-col gap-4 p-4 overflow-y-auto",
1059
1059
  header: "",
1060
1060
  title: "text-(--ui-text-highlighted) font-semibold",
@@ -1070,7 +1070,7 @@ const drawer = {
1070
1070
  },
1071
1071
  right: {
1072
1072
  content: "flex-row",
1073
- handle: "ml-4"
1073
+ handle: "!ml-4"
1074
1074
  },
1075
1075
  bottom: {
1076
1076
  content: "mt-24 flex-col",
@@ -1078,7 +1078,7 @@ const drawer = {
1078
1078
  },
1079
1079
  left: {
1080
1080
  content: "flex-row-reverse",
1081
- handle: "mr-4"
1081
+ handle: "!mr-4"
1082
1082
  }
1083
1083
  },
1084
1084
  inset: {
@@ -1091,13 +1091,13 @@ const drawer = {
1091
1091
  direction: ["top", "bottom"],
1092
1092
  class: {
1093
1093
  content: "h-auto max-h-[96%]",
1094
- handle: "w-12 h-1.5 mx-auto"
1094
+ handle: "!w-12 !h-1.5 mx-auto"
1095
1095
  }
1096
1096
  }, {
1097
1097
  direction: ["right", "left"],
1098
1098
  class: {
1099
1099
  content: "w-auto max-w-[calc(100%-2rem)]",
1100
- handle: "h-12 w-1.5 mt-auto mb-auto"
1100
+ handle: "!h-12 !w-1.5 mt-auto mb-auto"
1101
1101
  }
1102
1102
  }, {
1103
1103
  direction: "top",
@@ -1148,7 +1148,7 @@ const drawer = {
1148
1148
  content: "inset-y-0 right-0 rounded-l-[calc(var(--ui-radius)*2)]"
1149
1149
  }
1150
1150
  }]
1151
- };
1151
+ });
1152
1152
 
1153
1153
  const dropdownMenu = (options) => ({
1154
1154
  slots: {
@@ -3463,7 +3463,7 @@ function getTemplates(options, uiConfig) {
3463
3463
  write: true,
3464
3464
  getContents: () => `@source "./ui";
3465
3465
 
3466
- @theme default static {
3466
+ @theme default {
3467
3467
  --color-old-neutral-50: ${colors.neutral[50]};
3468
3468
  --color-old-neutral-100: ${colors.neutral[100]};
3469
3469
  --color-old-neutral-200: ${colors.neutral[200]};
@@ -3509,7 +3509,7 @@ declare module '@nuxt/schema' {
3509
3509
  interface AppConfigInput {
3510
3510
  /**
3511
3511
  * Nuxt UI theme configuration
3512
- * @see https://ui3.nuxt.dev/getting-started/theme#customize-theme
3512
+ * @see https://ui.nuxt.com/getting-started/theme#customize-theme
3513
3513
  */
3514
3514
  ui?: AppConfigUI
3515
3515
  }
@@ -609,7 +609,7 @@ const calendar = (options) => ({
609
609
  gridBody: "grid",
610
610
  headCell: "rounded-[calc(var(--ui-radius)*1.5)]",
611
611
  cell: "relative text-center",
612
- cellTrigger: ["m-0.5 relative flex items-center justify-center rounded-full whitespace-nowrap focus-visible:ring-2 focus:outline-none data-disabled:text-(--ui-text-muted) data-unavailable:line-through data-unavailable:text-(--ui-text-muted) data-unavailable:pointer-events-none data-[selected]:text-(--ui-bg) data-today:font-semibold", options.theme.transitions && "transition"]
612
+ cellTrigger: ["m-0.5 relative flex items-center justify-center rounded-full whitespace-nowrap focus-visible:ring-2 focus:outline-none data-disabled:text-(--ui-text-muted) data-unavailable:line-through data-unavailable:text-(--ui-text-muted) data-unavailable:pointer-events-none data-[selected]:text-(--ui-bg) data-today:font-semibold data-[outside-view]:text-(--ui-text-muted)", options.theme.transitions && "transition"]
613
613
  },
614
614
  variants: {
615
615
  color: {
@@ -1056,11 +1056,11 @@ const contextMenu = (options) => ({
1056
1056
  }
1057
1057
  });
1058
1058
 
1059
- const drawer = {
1059
+ const drawer = (options) => ({
1060
1060
  slots: {
1061
1061
  overlay: "fixed inset-0 bg-(--ui-bg-elevated)/75",
1062
1062
  content: "fixed bg-(--ui-bg) ring ring-(--ui-border) flex focus:outline-none",
1063
- handle: "shrink-0 rounded-full bg-(--ui-bg-accented)",
1063
+ handle: ["shrink-0 !bg-(--ui-bg-accented)", options.theme.transitions && "transition-opacity"],
1064
1064
  container: "w-full flex flex-col gap-4 p-4 overflow-y-auto",
1065
1065
  header: "",
1066
1066
  title: "text-(--ui-text-highlighted) font-semibold",
@@ -1076,7 +1076,7 @@ const drawer = {
1076
1076
  },
1077
1077
  right: {
1078
1078
  content: "flex-row",
1079
- handle: "ml-4"
1079
+ handle: "!ml-4"
1080
1080
  },
1081
1081
  bottom: {
1082
1082
  content: "mt-24 flex-col",
@@ -1084,7 +1084,7 @@ const drawer = {
1084
1084
  },
1085
1085
  left: {
1086
1086
  content: "flex-row-reverse",
1087
- handle: "mr-4"
1087
+ handle: "!mr-4"
1088
1088
  }
1089
1089
  },
1090
1090
  inset: {
@@ -1097,13 +1097,13 @@ const drawer = {
1097
1097
  direction: ["top", "bottom"],
1098
1098
  class: {
1099
1099
  content: "h-auto max-h-[96%]",
1100
- handle: "w-12 h-1.5 mx-auto"
1100
+ handle: "!w-12 !h-1.5 mx-auto"
1101
1101
  }
1102
1102
  }, {
1103
1103
  direction: ["right", "left"],
1104
1104
  class: {
1105
1105
  content: "w-auto max-w-[calc(100%-2rem)]",
1106
- handle: "h-12 w-1.5 mt-auto mb-auto"
1106
+ handle: "!h-12 !w-1.5 mt-auto mb-auto"
1107
1107
  }
1108
1108
  }, {
1109
1109
  direction: "top",
@@ -1154,7 +1154,7 @@ const drawer = {
1154
1154
  content: "inset-y-0 right-0 rounded-l-[calc(var(--ui-radius)*2)]"
1155
1155
  }
1156
1156
  }]
1157
- };
1157
+ });
1158
1158
 
1159
1159
  const dropdownMenu = (options) => ({
1160
1160
  slots: {
@@ -3469,7 +3469,7 @@ function getTemplates(options, uiConfig) {
3469
3469
  write: true,
3470
3470
  getContents: () => `@source "./ui";
3471
3471
 
3472
- @theme default static {
3472
+ @theme default {
3473
3473
  --color-old-neutral-50: ${colors__default.neutral[50]};
3474
3474
  --color-old-neutral-100: ${colors__default.neutral[100]};
3475
3475
  --color-old-neutral-200: ${colors__default.neutral[200]};
@@ -3515,7 +3515,7 @@ declare module '@nuxt/schema' {
3515
3515
  interface AppConfigInput {
3516
3516
  /**
3517
3517
  * Nuxt UI theme configuration
3518
- * @see https://ui3.nuxt.dev/getting-started/theme#customize-theme
3518
+ * @see https://ui.nuxt.com/getting-started/theme#customize-theme
3519
3519
  */
3520
3520
  ui?: AppConfigUI
3521
3521
  }
package/dist/unplugin.cjs CHANGED
@@ -5,7 +5,7 @@ const pathe = require('pathe');
5
5
  const unplugin = require('unplugin');
6
6
  const defu = require('defu');
7
7
  const tailwind = require('@tailwindcss/vite');
8
- const templates = require('./shared/ui.COBs1u5H.cjs');
8
+ const templates = require('./shared/ui.C6uTSFTI.cjs');
9
9
  const tinyglobby = require('tinyglobby');
10
10
  const knitwork = require('knitwork');
11
11
  const MagicString = require('magic-string');
@@ -121,7 +121,11 @@ function ComponentImportPlugin(options, meta) {
121
121
  const overrideNames = new Set(overrides.map((c) => `${options.prefix}${c.replace(/\.vue$/, "")}`));
122
122
  const pluginOptions = defu.defu(options.components, {
123
123
  dts: options.dts ?? true,
124
- exclude: [/[\\/]node_modules[\\/](?!\.pnpm|@nuxt\/ui)/, /[\\/]\.git[\\/]/, /[\\/]\.nuxt[\\/]/],
124
+ exclude: [
125
+ /[\\/]node_modules[\\/](?!\.pnpm|@nuxt\/ui|@compodium\/examples)/,
126
+ /[\\/]\.git[\\/]/,
127
+ /[\\/]\.nuxt[\\/]/
128
+ ],
125
129
  resolvers: [
126
130
  (componentName) => {
127
131
  if (overrideNames.has(componentName))
package/dist/unplugin.mjs CHANGED
@@ -3,7 +3,7 @@ import { join, normalize } from 'pathe';
3
3
  import { createUnplugin } from 'unplugin';
4
4
  import { defu } from 'defu';
5
5
  import tailwind from '@tailwindcss/vite';
6
- import { g as getTemplates, d as defaultOptions, r as resolveColors, a as getDefaultUiConfig } from './shared/ui.yjbGE7Dx.mjs';
6
+ import { g as getTemplates, d as defaultOptions, r as resolveColors, a as getDefaultUiConfig } from './shared/ui.BCaWD5Ek.mjs';
7
7
  import { globSync } from 'tinyglobby';
8
8
  import { genSafeVariableName } from 'knitwork';
9
9
  import MagicString from 'magic-string';
@@ -111,7 +111,11 @@ function ComponentImportPlugin(options, meta) {
111
111
  const overrideNames = new Set(overrides.map((c) => `${options.prefix}${c.replace(/\.vue$/, "")}`));
112
112
  const pluginOptions = defu(options.components, {
113
113
  dts: options.dts ?? true,
114
- exclude: [/[\\/]node_modules[\\/](?!\.pnpm|@nuxt\/ui)/, /[\\/]\.git[\\/]/, /[\\/]\.nuxt[\\/]/],
114
+ exclude: [
115
+ /[\\/]node_modules[\\/](?!\.pnpm|@nuxt\/ui|@compodium\/examples)/,
116
+ /[\\/]\.git[\\/]/,
117
+ /[\\/]\.nuxt[\\/]/
118
+ ],
115
119
  resolvers: [
116
120
  (componentName) => {
117
121
  if (overrideNames.has(componentName))
package/dist/vite.cjs CHANGED
@@ -6,7 +6,7 @@ require('pathe');
6
6
  require('unplugin');
7
7
  require('defu');
8
8
  require('@tailwindcss/vite');
9
- require('./shared/ui.COBs1u5H.cjs');
9
+ require('./shared/ui.C6uTSFTI.cjs');
10
10
  require('../dist/runtime/utils/index.js');
11
11
  require('scule');
12
12
  require('@nuxt/kit');
package/dist/vite.mjs CHANGED
@@ -4,7 +4,7 @@ import 'pathe';
4
4
  import 'unplugin';
5
5
  import 'defu';
6
6
  import '@tailwindcss/vite';
7
- import './shared/ui.yjbGE7Dx.mjs';
7
+ import './shared/ui.BCaWD5Ek.mjs';
8
8
  import '../dist/runtime/utils/index.js';
9
9
  import 'scule';
10
10
  import '@nuxt/kit';