@nuxt/ui 4.2.0 → 4.2.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 (88) hide show
  1. package/.nuxt/ui.css +152 -0
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +1 -1
  4. package/dist/runtime/components/Accordion.vue +1 -1
  5. package/dist/runtime/components/Alert.vue +2 -2
  6. package/dist/runtime/components/AuthForm.vue +1 -1
  7. package/dist/runtime/components/Avatar.vue +1 -1
  8. package/dist/runtime/components/Badge.vue +3 -3
  9. package/dist/runtime/components/Banner.vue +2 -2
  10. package/dist/runtime/components/Breadcrumb.vue +1 -1
  11. package/dist/runtime/components/Button.vue +4 -4
  12. package/dist/runtime/components/Calendar.vue +4 -4
  13. package/dist/runtime/components/Carousel.vue +2 -2
  14. package/dist/runtime/components/ChatMessage.vue +1 -1
  15. package/dist/runtime/components/ChatMessages.vue +1 -1
  16. package/dist/runtime/components/ChatPrompt.vue +2 -2
  17. package/dist/runtime/components/ChatPromptSubmit.d.vue.ts +6 -6
  18. package/dist/runtime/components/ChatPromptSubmit.vue +13 -13
  19. package/dist/runtime/components/ChatPromptSubmit.vue.d.ts +6 -6
  20. package/dist/runtime/components/Checkbox.vue +2 -2
  21. package/dist/runtime/components/CheckboxGroup.vue +1 -1
  22. package/dist/runtime/components/CommandPalette.vue +7 -7
  23. package/dist/runtime/components/ContextMenu.vue +3 -3
  24. package/dist/runtime/components/ContextMenuContent.vue +3 -3
  25. package/dist/runtime/components/DashboardNavbar.vue +1 -1
  26. package/dist/runtime/components/DashboardSearch.vue +3 -3
  27. package/dist/runtime/components/DashboardSearchButton.vue +4 -4
  28. package/dist/runtime/components/DashboardSidebarCollapse.vue +4 -4
  29. package/dist/runtime/components/DashboardSidebarToggle.vue +4 -4
  30. package/dist/runtime/components/DropdownMenu.vue +3 -3
  31. package/dist/runtime/components/DropdownMenuContent.vue +3 -3
  32. package/dist/runtime/components/Empty.vue +1 -1
  33. package/dist/runtime/components/FileUpload.vue +3 -3
  34. package/dist/runtime/components/Icon.d.vue.ts +1 -1
  35. package/dist/runtime/components/Icon.vue +1 -1
  36. package/dist/runtime/components/Icon.vue.d.ts +1 -1
  37. package/dist/runtime/components/Input.vue +4 -4
  38. package/dist/runtime/components/InputDate.vue +5 -5
  39. package/dist/runtime/components/InputMenu.vue +6 -6
  40. package/dist/runtime/components/InputNumber.vue +2 -2
  41. package/dist/runtime/components/InputTags.vue +5 -5
  42. package/dist/runtime/components/InputTime.vue +4 -4
  43. package/dist/runtime/components/Link.d.vue.ts +52 -2
  44. package/dist/runtime/components/Link.vue.d.ts +52 -2
  45. package/dist/runtime/components/Modal.vue +1 -1
  46. package/dist/runtime/components/NavigationMenu.vue +2 -2
  47. package/dist/runtime/components/PageCard.vue +1 -1
  48. package/dist/runtime/components/PageFeature.vue +1 -1
  49. package/dist/runtime/components/PageSection.vue +1 -1
  50. package/dist/runtime/components/Pagination.vue +5 -5
  51. package/dist/runtime/components/Select.vue +5 -5
  52. package/dist/runtime/components/SelectMenu.vue +5 -5
  53. package/dist/runtime/components/Separator.vue +1 -1
  54. package/dist/runtime/components/Slideover.vue +1 -1
  55. package/dist/runtime/components/Switch.vue +3 -3
  56. package/dist/runtime/components/Textarea.vue +4 -4
  57. package/dist/runtime/components/Toast.vue +2 -2
  58. package/dist/runtime/components/Tree.vue +3 -3
  59. package/dist/runtime/components/color-mode/ColorModeAvatar.vue +1 -1
  60. package/dist/runtime/components/color-mode/ColorModeButton.vue +5 -4
  61. package/dist/runtime/components/color-mode/ColorModeSelect.vue +4 -4
  62. package/dist/runtime/components/color-mode/ColorModeSwitch.vue +1 -1
  63. package/dist/runtime/components/content/ContentNavigation.vue +1 -1
  64. package/dist/runtime/components/content/ContentSearch.vue +3 -3
  65. package/dist/runtime/components/content/ContentSearchButton.vue +4 -4
  66. package/dist/runtime/components/content/ContentSurround.vue +2 -2
  67. package/dist/runtime/components/content/ContentToc.vue +1 -1
  68. package/dist/runtime/components/locale/LocaleSelect.vue +5 -5
  69. package/dist/runtime/components/prose/Callout.vue +1 -1
  70. package/dist/runtime/components/prose/Card.vue +1 -1
  71. package/dist/runtime/components/prose/CodeCollapse.vue +1 -1
  72. package/dist/runtime/components/prose/CodeIcon.vue +1 -1
  73. package/dist/runtime/components/prose/Collapsible.vue +1 -1
  74. package/dist/runtime/components/prose/Pre.vue +1 -1
  75. package/dist/runtime/composables/useComponentIcons.d.ts +2 -2
  76. package/dist/runtime/inertia/components/Link.d.vue.ts +5 -2
  77. package/dist/runtime/inertia/components/Link.vue +25 -6
  78. package/dist/runtime/inertia/components/Link.vue.d.ts +5 -2
  79. package/dist/runtime/inertia/components/LinkBase.d.vue.ts +1 -0
  80. package/dist/runtime/inertia/components/LinkBase.vue +5 -2
  81. package/dist/runtime/inertia/components/LinkBase.vue.d.ts +1 -0
  82. package/dist/runtime/vue/components/Icon.vue +1 -1
  83. package/dist/runtime/vue/components/Link.d.vue.ts +4 -2
  84. package/dist/runtime/vue/components/Link.vue +31 -8
  85. package/dist/runtime/vue/components/Link.vue.d.ts +4 -2
  86. package/dist/runtime/vue/components/color-mode/ColorModeSelect.vue +4 -4
  87. package/dist/runtime/vue/components/color-mode/ColorModeSwitch.vue +1 -1
  88. package/package.json +5 -1
@@ -14,9 +14,9 @@ import UDropdownMenuContent from "./DropdownMenuContent.vue";
14
14
  const props = defineProps({
15
15
  size: { type: null, required: false },
16
16
  items: { type: null, required: false },
17
- checkedIcon: { type: [String, Object], required: false },
18
- loadingIcon: { type: [String, Object], required: false },
19
- externalIcon: { type: [Boolean, String, Object], required: false, default: true },
17
+ checkedIcon: { type: null, required: false },
18
+ loadingIcon: { type: null, required: false },
19
+ externalIcon: { type: [Boolean, String], required: false, skipCheck: true, default: true },
20
20
  content: { type: Object, required: false },
21
21
  arrow: { type: [Boolean, Object], required: false },
22
22
  portal: { type: [Boolean, String], required: false, skipCheck: true, default: true },
@@ -24,9 +24,9 @@ const props = defineProps({
24
24
  sub: { type: Boolean, required: false },
25
25
  labelKey: { type: null, required: true },
26
26
  descriptionKey: { type: null, required: true },
27
- checkedIcon: { type: [String, Object], required: false },
28
- loadingIcon: { type: [String, Object], required: false },
29
- externalIcon: { type: [Boolean, String, Object], required: false },
27
+ checkedIcon: { type: null, required: false },
28
+ loadingIcon: { type: null, required: false },
29
+ externalIcon: { type: [Boolean, String], required: false, skipCheck: true },
30
30
  class: { type: null, required: false },
31
31
  ui: { type: null, required: true },
32
32
  uiOverride: { type: null, required: false },
@@ -11,7 +11,7 @@ import UAvatar from "./Avatar.vue";
11
11
  import UButton from "./Button.vue";
12
12
  const props = defineProps({
13
13
  as: { type: null, required: false },
14
- icon: { type: [String, Object], required: false },
14
+ icon: { type: null, required: false },
15
15
  avatar: { type: Object, required: false },
16
16
  title: { type: String, required: false },
17
17
  description: { type: String, required: false },
@@ -18,7 +18,7 @@ const props = defineProps({
18
18
  as: { type: null, required: false },
19
19
  id: { type: String, required: false },
20
20
  name: { type: String, required: false },
21
- icon: { type: [String, Object], required: false },
21
+ icon: { type: null, required: false },
22
22
  label: { type: String, required: false },
23
23
  description: { type: String, required: false },
24
24
  color: { type: null, required: false },
@@ -34,9 +34,9 @@ const props = defineProps({
34
34
  interactive: { type: Boolean, required: false, default: true },
35
35
  required: { type: Boolean, required: false },
36
36
  disabled: { type: Boolean, required: false },
37
- fileIcon: { type: [String, Object], required: false },
37
+ fileIcon: { type: null, required: false },
38
38
  fileDelete: { type: [Boolean, Object], required: false, default: true },
39
- fileDeleteIcon: { type: [String, Object], required: false },
39
+ fileDeleteIcon: { type: null, required: false },
40
40
  preview: { type: Boolean, required: false, default: true },
41
41
  class: { type: null, required: false },
42
42
  ui: { type: null, required: false }
@@ -1,5 +1,5 @@
1
1
  export interface IconProps {
2
- name: string | object;
2
+ name: string | any;
3
3
  mode?: 'svg' | 'css';
4
4
  size?: string | number;
5
5
  customize?: (content: string, name?: string, prefix?: string, provider?: string) => string;
@@ -6,7 +6,7 @@
6
6
  import { useForwardProps } from "reka-ui";
7
7
  import { reactivePick } from "@vueuse/core";
8
8
  const props = defineProps({
9
- name: { type: [String, Object], required: true },
9
+ name: { type: null, required: true },
10
10
  mode: { type: String, required: false },
11
11
  size: { type: [String, Number], required: false },
12
12
  customize: { type: Function, required: false }
@@ -1,5 +1,5 @@
1
1
  export interface IconProps {
2
- name: string | object;
2
+ name: string | any;
3
3
  mode?: 'svg' | 'css';
4
4
  size?: string | number;
5
5
  customize?: (content: string, name?: string, prefix?: string, provider?: string) => string;
@@ -35,14 +35,14 @@ const props = defineProps({
35
35
  modelModifiers: { type: Object, required: false },
36
36
  class: { type: null, required: false },
37
37
  ui: { type: null, required: false },
38
- icon: { type: [String, Object], required: false },
38
+ icon: { type: null, required: false },
39
39
  avatar: { type: Object, required: false },
40
40
  leading: { type: Boolean, required: false },
41
- leadingIcon: { type: [String, Object], required: false },
41
+ leadingIcon: { type: null, required: false },
42
42
  trailing: { type: Boolean, required: false },
43
- trailingIcon: { type: [String, Object], required: false },
43
+ trailingIcon: { type: null, required: false },
44
44
  loading: { type: Boolean, required: false },
45
- loadingIcon: { type: [String, Object], required: false }
45
+ loadingIcon: { type: null, required: false }
46
46
  });
47
47
  const emits = defineEmits(["update:modelValue", "blur", "change"]);
48
48
  const slots = defineSlots();
@@ -23,20 +23,20 @@ const props = defineProps({
23
23
  highlight: { type: Boolean, required: false },
24
24
  autofocus: { type: Boolean, required: false },
25
25
  autofocusDelay: { type: Number, required: false, default: 0 },
26
- separatorIcon: { type: [String, Object], required: false },
26
+ separatorIcon: { type: null, required: false },
27
27
  range: { type: Boolean, required: false },
28
28
  defaultValue: { type: null, required: false },
29
29
  modelValue: { type: null, required: false },
30
30
  class: { type: null, required: false },
31
31
  ui: { type: null, required: false },
32
- icon: { type: [String, Object], required: false },
32
+ icon: { type: null, required: false },
33
33
  avatar: { type: Object, required: false },
34
34
  leading: { type: Boolean, required: false },
35
- leadingIcon: { type: [String, Object], required: false },
35
+ leadingIcon: { type: null, required: false },
36
36
  trailing: { type: Boolean, required: false },
37
- trailingIcon: { type: [String, Object], required: false },
37
+ trailingIcon: { type: null, required: false },
38
38
  loading: { type: Boolean, required: false },
39
- loadingIcon: { type: [String, Object], required: false },
39
+ loadingIcon: { type: null, required: false },
40
40
  defaultPlaceholder: { type: null, required: false },
41
41
  placeholder: { type: null, required: false },
42
42
  hourCycle: { type: null, required: false },
@@ -32,9 +32,9 @@ const props = defineProps({
32
32
  required: { type: Boolean, required: false },
33
33
  autofocus: { type: Boolean, required: false },
34
34
  autofocusDelay: { type: Number, required: false, default: 0 },
35
- trailingIcon: { type: [String, Object], required: false },
36
- selectedIcon: { type: [String, Object], required: false },
37
- deleteIcon: { type: [String, Object], required: false },
35
+ trailingIcon: { type: null, required: false },
36
+ selectedIcon: { type: null, required: false },
37
+ deleteIcon: { type: null, required: false },
38
38
  content: { type: Object, required: false },
39
39
  arrow: { type: [Boolean, Object], required: false },
40
40
  portal: { type: [Boolean, String], required: false, skipCheck: true, default: true },
@@ -61,13 +61,13 @@ const props = defineProps({
61
61
  highlightOnHover: { type: Boolean, required: false },
62
62
  openOnClick: { type: Boolean, required: false },
63
63
  openOnFocus: { type: Boolean, required: false },
64
- icon: { type: [String, Object], required: false },
64
+ icon: { type: null, required: false },
65
65
  avatar: { type: Object, required: false },
66
66
  leading: { type: Boolean, required: false },
67
- leadingIcon: { type: [String, Object], required: false },
67
+ leadingIcon: { type: null, required: false },
68
68
  trailing: { type: Boolean, required: false },
69
69
  loading: { type: Boolean, required: false },
70
- loadingIcon: { type: [String, Object], required: false }
70
+ loadingIcon: { type: null, required: false }
71
71
  });
72
72
  const emits = defineEmits(["update:open", "change", "blur", "focus", "create", "highlight", "remove-tag", "update:modelValue"]);
73
73
  const slots = defineSlots();
@@ -22,10 +22,10 @@ const props = defineProps({
22
22
  highlight: { type: Boolean, required: false },
23
23
  orientation: { type: String, required: false, default: "horizontal" },
24
24
  increment: { type: [Boolean, Object], required: false, default: true },
25
- incrementIcon: { type: [String, Object], required: false },
25
+ incrementIcon: { type: null, required: false },
26
26
  incrementDisabled: { type: Boolean, required: false },
27
27
  decrement: { type: [Boolean, Object], required: false, default: true },
28
- decrementIcon: { type: [String, Object], required: false },
28
+ decrementIcon: { type: null, required: false },
29
29
  decrementDisabled: { type: Boolean, required: false },
30
30
  autofocus: { type: Boolean, required: false },
31
31
  autofocusDelay: { type: Number, required: false },
@@ -23,7 +23,7 @@ const props = defineProps({
23
23
  size: { type: null, required: false },
24
24
  autofocus: { type: Boolean, required: false },
25
25
  autofocusDelay: { type: Number, required: false, default: 0 },
26
- deleteIcon: { type: [String, Object], required: false },
26
+ deleteIcon: { type: null, required: false },
27
27
  highlight: { type: Boolean, required: false },
28
28
  class: { type: null, required: false },
29
29
  ui: { type: null, required: false },
@@ -41,14 +41,14 @@ const props = defineProps({
41
41
  displayValue: { type: Function, required: false },
42
42
  name: { type: String, required: false },
43
43
  required: { type: Boolean, required: false },
44
- icon: { type: [String, Object], required: false },
44
+ icon: { type: null, required: false },
45
45
  avatar: { type: Object, required: false },
46
46
  leading: { type: Boolean, required: false },
47
- leadingIcon: { type: [String, Object], required: false },
47
+ leadingIcon: { type: null, required: false },
48
48
  trailing: { type: Boolean, required: false },
49
- trailingIcon: { type: [String, Object], required: false },
49
+ trailingIcon: { type: null, required: false },
50
50
  loading: { type: Boolean, required: false },
51
- loadingIcon: { type: [String, Object], required: false }
51
+ loadingIcon: { type: null, required: false }
52
52
  });
53
53
  const emits = defineEmits(["change", "blur", "focus", "update:modelValue", "invalid", "addTag", "removeTag"]);
54
54
  const slots = defineSlots();
@@ -38,14 +38,14 @@ const props = defineProps({
38
38
  id: { type: String, required: false },
39
39
  name: { type: String, required: false },
40
40
  required: { type: Boolean, required: false },
41
- icon: { type: [String, Object], required: false },
41
+ icon: { type: null, required: false },
42
42
  avatar: { type: Object, required: false },
43
43
  leading: { type: Boolean, required: false },
44
- leadingIcon: { type: [String, Object], required: false },
44
+ leadingIcon: { type: null, required: false },
45
45
  trailing: { type: Boolean, required: false },
46
- trailingIcon: { type: [String, Object], required: false },
46
+ trailingIcon: { type: null, required: false },
47
47
  loading: { type: Boolean, required: false },
48
- loadingIcon: { type: [String, Object], required: false }
48
+ loadingIcon: { type: null, required: false }
49
49
  });
50
50
  const emits = defineEmits(["change", "blur", "focus", "update:modelValue", "update:placeholder"]);
51
51
  const slots = defineSlots();
@@ -1,6 +1,56 @@
1
- import type { NuxtLinkProps } from '#app';
1
+ import type { RouterLinkProps, RouteLocationRaw } from 'vue-router';
2
2
  import type { ButtonHTMLAttributes, AnchorHTMLAttributes } from '../types/html';
3
- export interface LinkProps extends Omit<NuxtLinkProps, 'custom'>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
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
+ * An option to either add or remove trailing slashes in the `href` for this specific link.
49
+ * Overrides the global `trailingSlash` option if provided.
50
+ */
51
+ trailingSlash?: 'append' | 'remove';
52
+ }
53
+ export interface LinkProps extends NuxtLinkProps, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
4
54
  /**
5
55
  * The element or component this component should render as when not a link.
6
56
  * @defaultValue 'button'
@@ -1,6 +1,56 @@
1
- import type { NuxtLinkProps } from '#app';
1
+ import type { RouterLinkProps, RouteLocationRaw } from 'vue-router';
2
2
  import type { ButtonHTMLAttributes, AnchorHTMLAttributes } from '../types/html';
3
- export interface LinkProps extends Omit<NuxtLinkProps, 'custom'>, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
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
+ * An option to either add or remove trailing slashes in the `href` for this specific link.
49
+ * Overrides the global `trailingSlash` option if provided.
50
+ */
51
+ trailingSlash?: 'append' | 'remove';
52
+ }
53
+ export interface LinkProps extends NuxtLinkProps, /** @vue-ignore */ Omit<ButtonHTMLAttributes, 'type' | 'disabled'>, /** @vue-ignore */ Omit<AnchorHTMLAttributes, 'href' | 'target' | 'rel' | 'type'> {
4
54
  /**
5
55
  * The element or component this component should render as when not a link.
6
56
  * @defaultValue 'button'
@@ -21,7 +21,7 @@ const props = defineProps({
21
21
  fullscreen: { type: Boolean, required: false },
22
22
  portal: { type: [Boolean, String], required: false, skipCheck: true, default: true },
23
23
  close: { type: [Boolean, Object], required: false, default: true },
24
- closeIcon: { type: [String, Object], required: false },
24
+ closeIcon: { type: null, required: false },
25
25
  dismissible: { type: Boolean, required: false, default: true },
26
26
  class: { type: null, required: false },
27
27
  ui: { type: null, required: false },
@@ -24,8 +24,8 @@ const props = defineProps({
24
24
  type: { type: null, required: false, default: "multiple" },
25
25
  modelValue: { type: null, required: false },
26
26
  defaultValue: { type: null, required: false },
27
- trailingIcon: { type: [String, Object], required: false },
28
- externalIcon: { type: [Boolean, String, Object], required: false, default: true },
27
+ trailingIcon: { type: null, required: false },
28
+ externalIcon: { type: [Boolean, String], required: false, skipCheck: true, default: true },
29
29
  items: { type: null, required: false },
30
30
  color: { type: null, required: false },
31
31
  variant: { type: null, required: false },
@@ -14,7 +14,7 @@ import UIcon from "./Icon.vue";
14
14
  defineOptions({ inheritAttrs: false });
15
15
  const props = defineProps({
16
16
  as: { type: null, required: false },
17
- icon: { type: [String, Object], required: false },
17
+ icon: { type: null, required: false },
18
18
  title: { type: String, required: false },
19
19
  description: { type: String, required: false },
20
20
  orientation: { type: null, required: false, default: "vertical" },
@@ -13,7 +13,7 @@ import UIcon from "./Icon.vue";
13
13
  defineOptions({ inheritAttrs: false });
14
14
  const props = defineProps({
15
15
  as: { type: null, required: false },
16
- icon: { type: [String, Object], required: false },
16
+ icon: { type: null, required: false },
17
17
  title: { type: String, required: false },
18
18
  description: { type: String, required: false },
19
19
  orientation: { type: null, required: false, default: "horizontal" },
@@ -14,7 +14,7 @@ import UButton from "./Button.vue";
14
14
  const props = defineProps({
15
15
  as: { type: null, required: false, default: "section" },
16
16
  headline: { type: String, required: false },
17
- icon: { type: [String, Object], required: false },
17
+ icon: { type: null, required: false },
18
18
  title: { type: String, required: false },
19
19
  description: { type: String, required: false },
20
20
  links: { type: Array, required: false },
@@ -12,11 +12,11 @@ import { tv } from "../utils/tv";
12
12
  import UButton from "./Button.vue";
13
13
  const props = defineProps({
14
14
  as: { type: null, required: false },
15
- firstIcon: { type: [String, Object], required: false },
16
- prevIcon: { type: [String, Object], required: false },
17
- nextIcon: { type: [String, Object], required: false },
18
- lastIcon: { type: [String, Object], required: false },
19
- ellipsisIcon: { type: [String, Object], required: false },
15
+ firstIcon: { type: null, required: false },
16
+ prevIcon: { type: null, required: false },
17
+ nextIcon: { type: null, required: false },
18
+ lastIcon: { type: null, required: false },
19
+ ellipsisIcon: { type: null, required: false },
20
20
  color: { type: null, required: false, default: "neutral" },
21
21
  variant: { type: null, required: false, default: "outline" },
22
22
  activeColor: { type: null, required: false, default: "primary" },
@@ -24,8 +24,8 @@ const props = defineProps({
24
24
  color: { type: null, required: false },
25
25
  variant: { type: null, required: false },
26
26
  size: { type: null, required: false },
27
- trailingIcon: { type: [String, Object], required: false },
28
- selectedIcon: { type: [String, Object], required: false },
27
+ trailingIcon: { type: null, required: false },
28
+ selectedIcon: { type: null, required: false },
29
29
  content: { type: Object, required: false },
30
30
  arrow: { type: [Boolean, Object], required: false },
31
31
  portal: { type: [Boolean, String], required: false, skipCheck: true, default: true },
@@ -47,13 +47,13 @@ const props = defineProps({
47
47
  disabled: { type: Boolean, required: false },
48
48
  name: { type: String, required: false },
49
49
  required: { type: Boolean, required: false },
50
- icon: { type: [String, Object], required: false },
50
+ icon: { type: null, required: false },
51
51
  avatar: { type: Object, required: false },
52
52
  leading: { type: Boolean, required: false },
53
- leadingIcon: { type: [String, Object], required: false },
53
+ leadingIcon: { type: null, required: false },
54
54
  trailing: { type: Boolean, required: false },
55
55
  loading: { type: Boolean, required: false },
56
- loadingIcon: { type: [String, Object], required: false }
56
+ loadingIcon: { type: null, required: false }
57
57
  });
58
58
  const emits = defineEmits(["update:open", "change", "blur", "focus", "update:modelValue"]);
59
59
  const slots = defineSlots();
@@ -29,8 +29,8 @@ const props = defineProps({
29
29
  variant: { type: null, required: false },
30
30
  size: { type: null, required: false },
31
31
  required: { type: Boolean, required: false },
32
- trailingIcon: { type: [String, Object], required: false },
33
- selectedIcon: { type: [String, Object], required: false },
32
+ trailingIcon: { type: null, required: false },
33
+ selectedIcon: { type: null, required: false },
34
34
  content: { type: Object, required: false },
35
35
  arrow: { type: [Boolean, Object], required: false },
36
36
  portal: { type: [Boolean, String], required: false, skipCheck: true, default: true },
@@ -57,13 +57,13 @@ const props = defineProps({
57
57
  resetSearchTermOnBlur: { type: Boolean, required: false, default: true },
58
58
  resetSearchTermOnSelect: { type: Boolean, required: false, default: true },
59
59
  highlightOnHover: { type: Boolean, required: false },
60
- icon: { type: [String, Object], required: false },
60
+ icon: { type: null, required: false },
61
61
  avatar: { type: Object, required: false },
62
62
  leading: { type: Boolean, required: false },
63
- leadingIcon: { type: [String, Object], required: false },
63
+ leadingIcon: { type: null, required: false },
64
64
  trailing: { type: Boolean, required: false },
65
65
  loading: { type: Boolean, required: false },
66
- loadingIcon: { type: [String, Object], required: false }
66
+ loadingIcon: { type: null, required: false }
67
67
  });
68
68
  const emits = defineEmits(["update:open", "change", "blur", "focus", "create", "highlight", "update:modelValue"]);
69
69
  const slots = defineSlots();
@@ -13,7 +13,7 @@ import UAvatar from "./Avatar.vue";
13
13
  const props = defineProps({
14
14
  as: { type: null, required: false },
15
15
  label: { type: String, required: false },
16
- icon: { type: [String, Object], required: false },
16
+ icon: { type: null, required: false },
17
17
  avatar: { type: Object, required: false },
18
18
  color: { type: null, required: false },
19
19
  size: { type: null, required: false },
@@ -20,7 +20,7 @@ const props = defineProps({
20
20
  side: { type: null, required: false, default: "right" },
21
21
  portal: { type: [Boolean, String], required: false, skipCheck: true, default: true },
22
22
  close: { type: [Boolean, Object], required: false, default: true },
23
- closeIcon: { type: [String, Object], required: false },
23
+ closeIcon: { type: null, required: false },
24
24
  dismissible: { type: Boolean, required: false, default: true },
25
25
  class: { type: null, required: false },
26
26
  ui: { type: null, required: false },
@@ -16,9 +16,9 @@ const props = defineProps({
16
16
  color: { type: null, required: false },
17
17
  size: { type: null, required: false },
18
18
  loading: { type: Boolean, required: false },
19
- loadingIcon: { type: [String, Object], required: false },
20
- checkedIcon: { type: [String, Object], required: false },
21
- uncheckedIcon: { type: [String, Object], required: false },
19
+ loadingIcon: { type: null, required: false },
20
+ checkedIcon: { type: null, required: false },
21
+ uncheckedIcon: { type: null, required: false },
22
22
  label: { type: String, required: false },
23
23
  description: { type: String, required: false },
24
24
  class: { type: null, required: false },
@@ -36,14 +36,14 @@ const props = defineProps({
36
36
  modelModifiers: { type: Object, required: false },
37
37
  class: { type: null, required: false },
38
38
  ui: { type: null, required: false },
39
- icon: { type: [String, Object], required: false },
39
+ icon: { type: null, required: false },
40
40
  avatar: { type: Object, required: false },
41
41
  leading: { type: Boolean, required: false },
42
- leadingIcon: { type: [String, Object], required: false },
42
+ leadingIcon: { type: null, required: false },
43
43
  trailing: { type: Boolean, required: false },
44
- trailingIcon: { type: [String, Object], required: false },
44
+ trailingIcon: { type: null, required: false },
45
45
  loading: { type: Boolean, required: false },
46
- loadingIcon: { type: [String, Object], required: false }
46
+ loadingIcon: { type: null, required: false }
47
47
  });
48
48
  const emits = defineEmits(["update:modelValue", "blur", "change"]);
49
49
  const slots = defineSlots();
@@ -17,12 +17,12 @@ const props = defineProps({
17
17
  as: { type: null, required: false },
18
18
  title: { type: [String, Object, Function], required: false },
19
19
  description: { type: [String, Object, Function], required: false },
20
- icon: { type: [String, Object], required: false },
20
+ icon: { type: null, required: false },
21
21
  avatar: { type: Object, required: false },
22
22
  color: { type: null, required: false },
23
23
  orientation: { type: null, required: false, default: "vertical" },
24
24
  close: { type: [Boolean, Object], required: false, default: true },
25
- closeIcon: { type: [String, Object], required: false },
25
+ closeIcon: { type: null, required: false },
26
26
  actions: { type: Array, required: false },
27
27
  progress: { type: [Boolean, Object], required: false, default: true },
28
28
  class: { type: null, required: false },
@@ -19,9 +19,9 @@ const props = defineProps({
19
19
  size: { type: null, required: false },
20
20
  getKey: { type: Function, required: false },
21
21
  labelKey: { type: null, required: false, default: "label" },
22
- trailingIcon: { type: [String, Object], required: false },
23
- expandedIcon: { type: [String, Object], required: false },
24
- collapsedIcon: { type: [String, Object], required: false },
22
+ trailingIcon: { type: null, required: false },
23
+ expandedIcon: { type: null, required: false },
24
+ collapsedIcon: { type: null, required: false },
25
25
  items: { type: null, required: false },
26
26
  modelValue: { type: null, required: false },
27
27
  defaultValue: { type: null, required: false },
@@ -12,7 +12,7 @@ const props = defineProps({
12
12
  dark: { type: String, required: true },
13
13
  as: { type: null, required: false },
14
14
  alt: { type: String, required: false },
15
- icon: { type: [String, Object], required: false },
15
+ icon: { type: null, required: false },
16
16
  text: { type: String, required: false },
17
17
  size: { type: null, required: false },
18
18
  chip: { type: [Boolean, Object], required: false },
@@ -9,6 +9,7 @@ import { reactiveOmit } from "@vueuse/core";
9
9
  import { useColorMode, useAppConfig } from "#imports";
10
10
  import { useLocale } from "../../composables/useLocale";
11
11
  import UButton from "../Button.vue";
12
+ import UIcon from "../Icon.vue";
12
13
  defineOptions({ inheritAttrs: false });
13
14
  const props = defineProps({
14
15
  color: { type: null, required: false, default: "neutral" },
@@ -23,14 +24,14 @@ const props = defineProps({
23
24
  onClick: { type: [Function, Array], required: false },
24
25
  class: { type: null, required: false },
25
26
  ui: { type: null, required: false },
26
- icon: { type: [String, Object], required: false },
27
+ icon: { type: null, required: false },
27
28
  avatar: { type: Object, required: false },
28
29
  leading: { type: Boolean, required: false },
29
- leadingIcon: { type: [String, Object], required: false },
30
+ leadingIcon: { type: null, required: false },
30
31
  trailing: { type: Boolean, required: false },
31
- trailingIcon: { type: [String, Object], required: false },
32
+ trailingIcon: { type: null, required: false },
32
33
  loading: { type: Boolean, required: false },
33
- loadingIcon: { type: [String, Object], required: false },
34
+ loadingIcon: { type: null, required: false },
34
35
  as: { type: null, required: false },
35
36
  type: { type: null, required: false },
36
37
  disabled: { type: Boolean, required: false },
@@ -17,8 +17,8 @@ const props = defineProps({
17
17
  variant: { type: null, required: false },
18
18
  size: { type: null, required: false },
19
19
  required: { type: Boolean, required: false },
20
- trailingIcon: { type: [String, Object], required: false },
21
- selectedIcon: { type: [String, Object], required: false },
20
+ trailingIcon: { type: null, required: false },
21
+ selectedIcon: { type: null, required: false },
22
22
  content: { type: Object, required: false },
23
23
  arrow: { type: [Boolean, Object], required: false },
24
24
  portal: { type: [Boolean, String], required: false, skipCheck: true },
@@ -45,10 +45,10 @@ const props = defineProps({
45
45
  highlightOnHover: { type: Boolean, required: false },
46
46
  avatar: { type: Object, required: false },
47
47
  leading: { type: Boolean, required: false },
48
- leadingIcon: { type: [String, Object], required: false },
48
+ leadingIcon: { type: null, required: false },
49
49
  trailing: { type: Boolean, required: false },
50
50
  loading: { type: Boolean, required: false },
51
- loadingIcon: { type: [String, Object], required: false }
51
+ loadingIcon: { type: null, required: false }
52
52
  });
53
53
  const { t } = useLocale();
54
54
  const colorMode = useColorMode();
@@ -14,7 +14,7 @@ const props = defineProps({
14
14
  color: { type: null, required: false },
15
15
  size: { type: null, required: false },
16
16
  loading: { type: Boolean, required: false },
17
- loadingIcon: { type: [String, Object], required: false },
17
+ loadingIcon: { type: null, required: false },
18
18
  label: { type: String, required: false },
19
19
  description: { type: String, required: false },
20
20
  class: { type: null, required: false },