@nuxt/ui 3.3.4 → 3.3.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.
Files changed (78) hide show
  1. package/.nuxt/ui/progress.ts +3 -3
  2. package/README.md +10 -10
  3. package/dist/module.d.mts +6 -6
  4. package/dist/module.json +3 -3
  5. package/dist/module.mjs +3 -3
  6. package/dist/runtime/components/Accordion.d.vue.ts +77 -0
  7. package/dist/runtime/components/Alert.d.vue.ts +81 -0
  8. package/dist/runtime/components/App.d.vue.ts +24 -0
  9. package/dist/runtime/components/Avatar.d.vue.ts +41 -0
  10. package/dist/runtime/components/AvatarGroup.d.vue.ts +31 -0
  11. package/dist/runtime/components/Badge.d.vue.ts +43 -0
  12. package/dist/runtime/components/Breadcrumb.d.vue.ts +66 -0
  13. package/dist/runtime/components/Button.d.vue.ts +44 -0
  14. package/dist/runtime/components/ButtonGroup.d.vue.ts +34 -0
  15. package/dist/runtime/components/Calendar.d.vue.ts +112 -0
  16. package/dist/runtime/components/Card.d.vue.ts +29 -0
  17. package/dist/runtime/components/Carousel.d.vue.ts +127 -0
  18. package/dist/runtime/components/Checkbox.d.vue.ts +73 -0
  19. package/dist/runtime/components/CheckboxGroup.d.vue.ts +84 -0
  20. package/dist/runtime/components/Chip.d.vue.ts +57 -0
  21. package/dist/runtime/components/Collapsible.d.vue.ts +35 -0
  22. package/dist/runtime/components/ColorPicker.d.vue.ts +48 -0
  23. package/dist/runtime/components/CommandPalette.d.vue.ts +192 -0
  24. package/dist/runtime/components/Container.d.vue.ts +18 -0
  25. package/dist/runtime/components/ContextMenu.d.vue.ts +109 -0
  26. package/dist/runtime/components/ContextMenuContent.d.vue.ts +49 -0
  27. package/dist/runtime/components/Drawer.d.vue.ts +83 -0
  28. package/dist/runtime/components/DropdownMenu.d.vue.ts +119 -0
  29. package/dist/runtime/components/DropdownMenuContent.d.vue.ts +55 -0
  30. package/dist/runtime/components/FileUpload.d.vue.ts +166 -0
  31. package/dist/runtime/components/Form.d.vue.ts +71 -0
  32. package/dist/runtime/components/FormField.d.vue.ts +61 -0
  33. package/dist/runtime/components/Icon.d.vue.ts +8 -0
  34. package/dist/runtime/components/Input.d.vue.ts +77 -0
  35. package/dist/runtime/components/InputMenu.d.vue.ts +329 -0
  36. package/dist/runtime/components/InputMenu.vue +1 -1
  37. package/dist/runtime/components/InputMenu.vue.d.ts +2 -8
  38. package/dist/runtime/components/InputNumber.d.vue.ts +186 -0
  39. package/dist/runtime/components/InputTags.d.vue.ts +185 -0
  40. package/dist/runtime/components/InputTags.vue +2 -2
  41. package/dist/runtime/components/Kbd.d.vue.ts +38 -0
  42. package/dist/runtime/components/Link.d.vue.ts +91 -0
  43. package/dist/runtime/components/LinkBase.d.vue.ts +25 -0
  44. package/dist/runtime/components/Modal.d.vue.ts +106 -0
  45. package/dist/runtime/components/NavigationMenu.d.vue.ts +170 -0
  46. package/dist/runtime/components/OverlayProvider.d.vue.ts +2 -0
  47. package/dist/runtime/components/Pagination.d.vue.ts +118 -0
  48. package/dist/runtime/components/PinInput.d.vue.ts +60 -0
  49. package/dist/runtime/components/Popover.d.vue.ts +70 -0
  50. package/dist/runtime/components/Progress.d.vue.ts +66 -0
  51. package/dist/runtime/components/Progress.vue +2 -3
  52. package/dist/runtime/components/RadioGroup.d.vue.ts +94 -0
  53. package/dist/runtime/components/Select.d.vue.ts +253 -0
  54. package/dist/runtime/components/SelectMenu.d.vue.ts +302 -0
  55. package/dist/runtime/components/Separator.d.vue.ts +54 -0
  56. package/dist/runtime/components/Skeleton.d.vue.ts +17 -0
  57. package/dist/runtime/components/Slideover.d.vue.ts +107 -0
  58. package/dist/runtime/components/Slider.d.vue.ts +57 -0
  59. package/dist/runtime/components/Stepper.d.vue.ts +85 -0
  60. package/dist/runtime/components/Switch.d.vue.ts +70 -0
  61. package/dist/runtime/components/Table.d.vue.ts +201 -0
  62. package/dist/runtime/components/Tabs.d.vue.ts +98 -0
  63. package/dist/runtime/components/Tabs.vue +2 -2
  64. package/dist/runtime/components/Textarea.d.vue.ts +79 -0
  65. package/dist/runtime/components/Timeline.d.vue.ts +70 -0
  66. package/dist/runtime/components/Toast.d.vue.ts +164 -0
  67. package/dist/runtime/components/Toaster.d.vue.ts +44 -0
  68. package/dist/runtime/components/Tooltip.d.vue.ts +56 -0
  69. package/dist/runtime/components/Tree.d.vue.ts +114 -0
  70. package/dist/runtime/inertia/components/Link.d.vue.ts +63 -0
  71. package/dist/runtime/inertia/components/LinkBase.d.vue.ts +25 -0
  72. package/dist/runtime/types/tv.d.ts +9 -2
  73. package/dist/runtime/vue/components/Icon.d.vue.ts +5 -0
  74. package/dist/runtime/vue/components/Link.d.vue.ts +93 -0
  75. package/dist/shared/{ui.BTUFJHYJ.mjs → ui.DH9BUZkq.mjs} +12 -8
  76. package/dist/unplugin.mjs +1 -1
  77. package/dist/vite.mjs +1 -1
  78. package/package.json +8 -8
@@ -0,0 +1,93 @@
1
+ import type { ButtonHTMLAttributes } from 'vue';
2
+ import type { RouterLinkProps, RouteLocationRaw } from 'vue-router';
3
+ interface NuxtLinkProps extends Omit<RouterLinkProps, 'to'> {
4
+ /**
5
+ * Route Location the link should navigate to when clicked on.
6
+ */
7
+ to?: RouteLocationRaw;
8
+ /**
9
+ * An alias for `to`. If used with `to`, `href` will be ignored
10
+ */
11
+ href?: NuxtLinkProps['to'];
12
+ /**
13
+ * Forces the link to be considered as external (true) or internal (false). This is helpful to handle edge-cases
14
+ */
15
+ external?: boolean;
16
+ /**
17
+ * Where to display the linked URL, as the name for a browsing context.
18
+ */
19
+ target?: '_blank' | '_parent' | '_self' | '_top' | (string & {}) | null;
20
+ /**
21
+ * A rel attribute value to apply on the link. Defaults to "noopener noreferrer" for external links.
22
+ */
23
+ rel?: 'noopener' | 'noreferrer' | 'nofollow' | 'sponsored' | 'ugc' | (string & {}) | null;
24
+ /**
25
+ * If set to true, no rel attribute will be added to the link
26
+ */
27
+ noRel?: boolean;
28
+ /**
29
+ * A class to apply to links that have been prefetched.
30
+ */
31
+ prefetchedClass?: string;
32
+ /**
33
+ * When enabled will prefetch middleware, layouts and payloads of links in the viewport.
34
+ */
35
+ prefetch?: boolean;
36
+ /**
37
+ * Allows controlling when to prefetch links. By default, prefetch is triggered only on visibility.
38
+ */
39
+ prefetchOn?: 'visibility' | 'interaction' | Partial<{
40
+ visibility: boolean;
41
+ interaction: boolean;
42
+ }>;
43
+ /**
44
+ * Escape hatch to disable `prefetch` attribute.
45
+ */
46
+ noPrefetch?: boolean;
47
+ }
48
+ export interface LinkProps extends NuxtLinkProps {
49
+ /**
50
+ * The element or component this component should render as when not a link.
51
+ * @defaultValue 'button'
52
+ */
53
+ as?: any;
54
+ /**
55
+ * The type of the button when not a link.
56
+ * @defaultValue 'button'
57
+ */
58
+ type?: ButtonHTMLAttributes['type'];
59
+ disabled?: boolean;
60
+ /** Force the link to be active independent of the current route. */
61
+ active?: boolean;
62
+ /** Will only be active if the current route is an exact match. */
63
+ exact?: boolean;
64
+ /** Will only be active if the current route query is an exact match. */
65
+ exactQuery?: boolean | 'partial';
66
+ /** Will only be active if the current route hash is an exact match. */
67
+ exactHash?: boolean;
68
+ /** The class to apply when the link is inactive. */
69
+ inactiveClass?: string;
70
+ custom?: boolean;
71
+ /** When `true`, only styles from `class`, `activeClass`, and `inactiveClass` will be applied. */
72
+ raw?: boolean;
73
+ class?: any;
74
+ }
75
+ export interface LinkSlots {
76
+ default(props: {
77
+ active: boolean;
78
+ }): any;
79
+ }
80
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<LinkProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<LinkProps> & Readonly<{}>, {
81
+ type: "reset" | "submit" | "button";
82
+ as: any;
83
+ activeClass: string;
84
+ ariaCurrentValue: "page" | "step" | "location" | "date" | "time" | "true" | "false";
85
+ active: boolean;
86
+ inactiveClass: string;
87
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, LinkSlots>;
88
+ export default _default;
89
+ type __VLS_WithSlots<T, S> = T & {
90
+ new (): {
91
+ $slots: S;
92
+ };
93
+ };
@@ -2571,7 +2571,7 @@ const progress = (options) => ({
2571
2571
  root: "gap-2",
2572
2572
  base: "relative overflow-hidden rounded-full bg-accented",
2573
2573
  indicator: "rounded-full size-full transition-transform duration-200 ease-out",
2574
- status: "flex justify-end text-dimmed transition-[width] duration-200",
2574
+ status: "flex text-dimmed transition-[width] duration-200",
2575
2575
  steps: "grid items-end",
2576
2576
  step: "truncate text-end row-start-1 col-start-1 transition-opacity"
2577
2577
  },
@@ -2640,12 +2640,12 @@ const progress = (options) => ({
2640
2640
  horizontal: {
2641
2641
  root: "w-full flex flex-col",
2642
2642
  base: "w-full",
2643
- status: "flex-row"
2643
+ status: "flex-row items-center justify-end min-w-fit"
2644
2644
  },
2645
2645
  vertical: {
2646
2646
  root: "h-full flex flex-row-reverse",
2647
2647
  base: "h-full",
2648
- status: "flex-col"
2648
+ status: "flex-col justify-end min-h-fit"
2649
2649
  }
2650
2650
  },
2651
2651
  inverted: {
@@ -4371,12 +4371,15 @@ function getTemplates(options, uiConfig) {
4371
4371
  });
4372
4372
  templates.push({
4373
4373
  filename: "types/ui.d.ts",
4374
- getContents: () => `import * as ui from '#build/ui'
4374
+ getContents: () => {
4375
+ const iconKeys = Object.keys(uiConfig?.icons || {});
4376
+ const iconUnion = iconKeys.length ? iconKeys.map((i) => JSON.stringify(i)).join(" | ") : "string";
4377
+ return `import * as ui from '#build/ui'
4375
4378
  import type { TVConfig } from '@nuxt/ui'
4376
4379
  import type { defaultConfig } from 'tailwind-variants'
4377
4380
  import colors from 'tailwindcss/colors'
4378
4381
 
4379
- const icons = ${JSON.stringify(uiConfig.icons)};
4382
+ type IconsConfig = Record<${iconUnion} | (string & {}), string>
4380
4383
 
4381
4384
  type NeutralColor = 'slate' | 'gray' | 'zinc' | 'neutral' | 'stone'
4382
4385
  type Color = Exclude<keyof typeof colors, 'inherit' | 'current' | 'transparent' | 'black' | 'white' | NeutralColor> | (string & {})
@@ -4386,7 +4389,7 @@ type AppConfigUI = {
4386
4389
  ${options.theme?.colors?.map((color) => `'${color}'?: Color`).join("\n ")}
4387
4390
  neutral?: NeutralColor | (string & {})
4388
4391
  }
4389
- icons?: Partial<typeof icons>
4392
+ icons?: Partial<IconsConfig>
4390
4393
  tv?: typeof defaultConfig
4391
4394
  } & TVConfig<typeof ui>
4392
4395
 
@@ -4394,14 +4397,15 @@ declare module '@nuxt/schema' {
4394
4397
  interface AppConfigInput {
4395
4398
  /**
4396
4399
  * Nuxt UI theme configuration
4397
- * @see https://ui.nuxt.com/getting-started/theme#customize-theme
4400
+ * @see https://ui3.nuxt.com/getting-started/theme#customize-theme
4398
4401
  */
4399
4402
  ui?: AppConfigUI
4400
4403
  }
4401
4404
  }
4402
4405
 
4403
4406
  export {}
4404
- `
4407
+ `;
4408
+ }
4405
4409
  });
4406
4410
  templates.push({
4407
4411
  filename: "ui-image-component.ts",
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.BTUFJHYJ.mjs';
6
+ import { g as getTemplates, d as defaultOptions, r as resolveColors, a as getDefaultUiConfig } from './shared/ui.DH9BUZkq.mjs';
7
7
  import { globSync } from 'tinyglobby';
8
8
  import { genSafeVariableName } from 'knitwork';
9
9
  import MagicString from 'magic-string';
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.BTUFJHYJ.mjs';
7
+ import './shared/ui.DH9BUZkq.mjs';
8
8
  import '../dist/runtime/utils/index.js';
9
9
  import 'scule';
10
10
  import '@nuxt/kit';
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@nuxt/ui",
3
3
  "description": "A UI Library for Modern Web Apps, powered by Vue & Tailwind CSS.",
4
- "version": "3.3.4",
5
- "packageManager": "pnpm@10.16.1",
4
+ "version": "3.3.5",
5
+ "packageManager": "pnpm@10.17.0",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "git+https://github.com/nuxt/ui.git"
9
9
  },
10
- "homepage": "https://ui.nuxt.com",
10
+ "homepage": "https://ui3.nuxt.com",
11
11
  "type": "module",
12
12
  "license": "MIT",
13
13
  "exports": {
@@ -123,7 +123,7 @@
123
123
  "@tailwindcss/postcss": "^4.1.13",
124
124
  "@tailwindcss/vite": "^4.1.13",
125
125
  "@tanstack/vue-table": "^8.21.3",
126
- "@unhead/vue": "^2.0.14",
126
+ "@unhead/vue": "^2.0.17",
127
127
  "@vueuse/core": "^13.9.0",
128
128
  "@vueuse/integrations": "^13.9.0",
129
129
  "colortranslator": "^5.0.0",
@@ -157,15 +157,15 @@
157
157
  },
158
158
  "devDependencies": {
159
159
  "@nuxt/eslint-config": "^1.9.0",
160
- "@nuxt/module-builder": "^1.0.1",
160
+ "@nuxt/module-builder": "^1.0.2",
161
161
  "@nuxt/test-utils": "^3.19.2",
162
162
  "@release-it/conventional-changelog": "^10.0.1",
163
163
  "@vue/test-utils": "^2.4.6",
164
164
  "embla-carousel": "^8.6.0",
165
- "eslint": "^9.35.0",
165
+ "eslint": "^9.36.0",
166
166
  "happy-dom": "^18.0.1",
167
167
  "nuxt": "^4.0.3",
168
- "release-it": "^19.0.4",
168
+ "release-it": "^19.0.5",
169
169
  "vitest": "^3.2.4",
170
170
  "vitest-environment-nuxt": "^1.0.1",
171
171
  "vue-tsc": "^3.0.7"
@@ -205,7 +205,7 @@
205
205
  },
206
206
  "resolutions": {
207
207
  "@nuxt/kit": "4.0.3",
208
- "@nuxt/module-builder": "1.0.1",
208
+ "@nuxt/module-builder": "^1.0.2",
209
209
  "@nuxt/ui": "workspace:*",
210
210
  "chokidar": "3.6.0",
211
211
  "debug": "4.3.7",