@nuxt/ui 3.1.0 → 3.1.2

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 (187) hide show
  1. package/.nuxt/ui/accordion.ts +2 -23
  2. package/.nuxt/ui/alert.ts +2 -28
  3. package/.nuxt/ui/avatar-group.ts +2 -23
  4. package/.nuxt/ui/avatar.ts +2 -23
  5. package/.nuxt/ui/badge.ts +32 -30
  6. package/.nuxt/ui/breadcrumb.ts +2 -23
  7. package/.nuxt/ui/button-group.ts +2 -36
  8. package/.nuxt/ui/button.ts +4 -30
  9. package/.nuxt/ui/calendar.ts +4 -25
  10. package/.nuxt/ui/card.ts +2 -23
  11. package/.nuxt/ui/carousel.ts +2 -28
  12. package/.nuxt/ui/checkbox-group.ts +146 -24
  13. package/.nuxt/ui/checkbox.ts +2 -23
  14. package/.nuxt/ui/chip.ts +2 -23
  15. package/.nuxt/ui/collapsible.ts +2 -23
  16. package/.nuxt/ui/color-picker.ts +4 -25
  17. package/.nuxt/ui/command-palette.ts +2 -23
  18. package/.nuxt/ui/container.ts +2 -23
  19. package/.nuxt/ui/context-menu.ts +2 -23
  20. package/.nuxt/ui/drawer.ts +2 -23
  21. package/.nuxt/ui/dropdown-menu.ts +2 -23
  22. package/.nuxt/ui/form-field.ts +2 -23
  23. package/.nuxt/ui/form.ts +2 -23
  24. package/.nuxt/ui/input-menu.ts +4 -34
  25. package/.nuxt/ui/input-number.ts +12 -23
  26. package/.nuxt/ui/input.ts +4 -34
  27. package/.nuxt/ui/kbd.ts +2 -23
  28. package/.nuxt/ui/link.ts +14 -28
  29. package/.nuxt/ui/modal.ts +2 -23
  30. package/.nuxt/ui/navigation-menu.ts +3 -24
  31. package/.nuxt/ui/pagination.ts +2 -23
  32. package/.nuxt/ui/pin-input.ts +2 -23
  33. package/.nuxt/ui/popover.ts +2 -23
  34. package/.nuxt/ui/progress.ts +2 -23
  35. package/.nuxt/ui/radio-group.ts +2 -23
  36. package/.nuxt/ui/select-menu.ts +4 -34
  37. package/.nuxt/ui/select.ts +4 -34
  38. package/.nuxt/ui/separator.ts +2 -23
  39. package/.nuxt/ui/skeleton.ts +2 -23
  40. package/.nuxt/ui/slideover.ts +2 -23
  41. package/.nuxt/ui/slider.ts +2 -23
  42. package/.nuxt/ui/stepper.ts +2 -23
  43. package/.nuxt/ui/switch.ts +2 -23
  44. package/.nuxt/ui/table.ts +2 -23
  45. package/.nuxt/ui/tabs.ts +6 -26
  46. package/.nuxt/ui/textarea.ts +4 -34
  47. package/.nuxt/ui/toast.ts +2 -28
  48. package/.nuxt/ui/toaster.ts +2 -23
  49. package/.nuxt/ui/tooltip.ts +2 -23
  50. package/.nuxt/ui/tree.ts +2 -23
  51. package/.nuxt/ui.css +15 -8
  52. package/README.md +4 -0
  53. package/cli/templates.mjs +2 -2
  54. package/dist/module.json +1 -1
  55. package/dist/module.mjs +15 -5
  56. package/dist/runtime/components/Accordion.vue +9 -9
  57. package/dist/runtime/components/Accordion.vue.d.ts +6 -20
  58. package/dist/runtime/components/Alert.vue +1 -1
  59. package/dist/runtime/components/Alert.vue.d.ts +7 -22
  60. package/dist/runtime/components/App.vue.d.ts +2 -2
  61. package/dist/runtime/components/Avatar.vue +2 -2
  62. package/dist/runtime/components/Avatar.vue.d.ts +4 -25
  63. package/dist/runtime/components/AvatarGroup.vue +1 -1
  64. package/dist/runtime/components/AvatarGroup.vue.d.ts +2 -11
  65. package/dist/runtime/components/Badge.vue +5 -3
  66. package/dist/runtime/components/Badge.vue.d.ts +5 -24
  67. package/dist/runtime/components/Breadcrumb.vue +8 -8
  68. package/dist/runtime/components/Breadcrumb.vue.d.ts +4 -20
  69. package/dist/runtime/components/Button.vue +2 -3
  70. package/dist/runtime/components/Button.vue.d.ts +4 -29
  71. package/dist/runtime/components/ButtonGroup.vue.d.ts +3 -24
  72. package/dist/runtime/components/Calendar.vue +2 -1
  73. package/dist/runtime/components/Calendar.vue.d.ts +6 -2
  74. package/dist/runtime/components/Card.vue +1 -1
  75. package/dist/runtime/components/Card.vue.d.ts +2 -11
  76. package/dist/runtime/components/Carousel.vue +5 -2
  77. package/dist/runtime/components/Carousel.vue.d.ts +10 -3
  78. package/dist/runtime/components/Checkbox.vue +2 -2
  79. package/dist/runtime/components/Checkbox.vue.d.ts +10 -13
  80. package/dist/runtime/components/CheckboxGroup.vue +8 -5
  81. package/dist/runtime/components/CheckboxGroup.vue.d.ts +12 -3
  82. package/dist/runtime/components/Chip.vue +1 -1
  83. package/dist/runtime/components/Chip.vue.d.ts +10 -24
  84. package/dist/runtime/components/Collapsible.vue +1 -1
  85. package/dist/runtime/components/Collapsible.vue.d.ts +7 -22
  86. package/dist/runtime/components/ColorPicker.vue +1 -1
  87. package/dist/runtime/components/ColorPicker.vue.d.ts +9 -24
  88. package/dist/runtime/components/CommandPalette.vue +17 -17
  89. package/dist/runtime/components/CommandPalette.vue.d.ts +17 -27
  90. package/dist/runtime/components/Container.vue.d.ts +2 -11
  91. package/dist/runtime/components/ContextMenu.vue.d.ts +6 -24
  92. package/dist/runtime/components/ContextMenuContent.vue +15 -15
  93. package/dist/runtime/components/ContextMenuContent.vue.d.ts +17 -57
  94. package/dist/runtime/components/Drawer.vue.d.ts +17 -27
  95. package/dist/runtime/components/DropdownMenu.vue.d.ts +6 -28
  96. package/dist/runtime/components/DropdownMenuContent.vue +15 -15
  97. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +19 -6
  98. package/dist/runtime/components/Form.vue.d.ts +5 -2
  99. package/dist/runtime/components/FormField.vue +5 -5
  100. package/dist/runtime/components/FormField.vue.d.ts +2 -11
  101. package/dist/runtime/components/Icon.vue.d.ts +1 -10
  102. package/dist/runtime/components/Input.vue +2 -2
  103. package/dist/runtime/components/Input.vue.d.ts +20 -41
  104. package/dist/runtime/components/InputMenu.vue +17 -17
  105. package/dist/runtime/components/InputMenu.vue.d.ts +227 -5
  106. package/dist/runtime/components/InputNumber.vue +13 -7
  107. package/dist/runtime/components/InputNumber.vue.d.ts +90 -23
  108. package/dist/runtime/components/Kbd.vue.d.ts +3 -24
  109. package/dist/runtime/components/Link.vue +5 -14
  110. package/dist/runtime/components/Link.vue.d.ts +3 -34
  111. package/dist/runtime/components/LinkBase.vue.d.ts +4 -27
  112. package/dist/runtime/components/Modal.vue.d.ts +12 -28
  113. package/dist/runtime/components/NavigationMenu.vue +35 -28
  114. package/dist/runtime/components/NavigationMenu.vue.d.ts +24 -26
  115. package/dist/runtime/components/Pagination.vue +1 -1
  116. package/dist/runtime/components/Pagination.vue.d.ts +9 -33
  117. package/dist/runtime/components/PinInput.vue +1 -1
  118. package/dist/runtime/components/PinInput.vue.d.ts +13 -24
  119. package/dist/runtime/components/Popover.vue.d.ts +9 -26
  120. package/dist/runtime/components/Progress.vue +1 -1
  121. package/dist/runtime/components/Progress.vue.d.ts +10 -41
  122. package/dist/runtime/components/RadioGroup.vue +8 -8
  123. package/dist/runtime/components/RadioGroup.vue.d.ts +8 -3
  124. package/dist/runtime/components/Select.vue +12 -12
  125. package/dist/runtime/components/Select.vue.d.ts +11 -3
  126. package/dist/runtime/components/SelectMenu.vue +13 -13
  127. package/dist/runtime/components/SelectMenu.vue.d.ts +19 -5
  128. package/dist/runtime/components/Separator.vue +1 -1
  129. package/dist/runtime/components/Separator.vue.d.ts +3 -24
  130. package/dist/runtime/components/Skeleton.vue.d.ts +3 -12
  131. package/dist/runtime/components/Slideover.vue.d.ts +12 -29
  132. package/dist/runtime/components/Slider.vue +16 -4
  133. package/dist/runtime/components/Slider.vue.d.ts +23 -36
  134. package/dist/runtime/components/Stepper.vue +10 -10
  135. package/dist/runtime/components/Stepper.vue.d.ts +10 -14
  136. package/dist/runtime/components/Switch.vue +1 -1
  137. package/dist/runtime/components/Switch.vue.d.ts +10 -13
  138. package/dist/runtime/components/Table.vue +2 -2
  139. package/dist/runtime/components/Table.vue.d.ts +17 -17
  140. package/dist/runtime/components/Tabs.vue +6 -6
  141. package/dist/runtime/components/Tabs.vue.d.ts +6 -20
  142. package/dist/runtime/components/Textarea.vue +3 -3
  143. package/dist/runtime/components/Textarea.vue.d.ts +20 -44
  144. package/dist/runtime/components/Toast.vue +3 -2
  145. package/dist/runtime/components/Toast.vue.d.ts +92 -24
  146. package/dist/runtime/components/Toaster.vue +4 -4
  147. package/dist/runtime/components/Toaster.vue.d.ts +9 -28
  148. package/dist/runtime/components/Tooltip.vue.d.ts +7 -22
  149. package/dist/runtime/components/Tree.vue +10 -10
  150. package/dist/runtime/components/Tree.vue.d.ts +7 -22
  151. package/dist/runtime/composables/defineShortcuts.js +6 -0
  152. package/dist/runtime/composables/useAvatarGroup.d.ts +1 -1
  153. package/dist/runtime/composables/useButtonGroup.d.ts +1 -1
  154. package/dist/runtime/composables/useFormField.d.ts +2 -2
  155. package/dist/runtime/composables/useFormField.js +2 -1
  156. package/dist/runtime/composables/useKbd.d.ts +1 -0
  157. package/dist/runtime/composables/useKbd.js +4 -3
  158. package/dist/runtime/composables/useOverlay.d.ts +9 -10
  159. package/dist/runtime/composables/useOverlay.js +11 -6
  160. package/dist/runtime/inertia/components/Link.vue +46 -60
  161. package/dist/runtime/inertia/components/Link.vue.d.ts +4 -33
  162. package/dist/runtime/inertia/components/LinkBase.vue +68 -0
  163. package/dist/runtime/inertia/components/LinkBase.vue.d.ts +25 -0
  164. package/dist/runtime/inertia/stubs.d.ts +1 -1
  165. package/dist/runtime/inertia/stubs.js +1 -1
  166. package/dist/runtime/locale/index.d.ts +1 -0
  167. package/dist/runtime/locale/index.js +1 -0
  168. package/dist/runtime/locale/sl.d.ts +3 -0
  169. package/dist/runtime/locale/sl.js +54 -0
  170. package/dist/runtime/types/tv.d.ts +53 -0
  171. package/dist/runtime/types/tv.js +0 -0
  172. package/dist/runtime/types/utils.d.ts +2 -52
  173. package/dist/runtime/types/utils.js +1 -0
  174. package/dist/runtime/utils/link.d.ts +1 -0
  175. package/dist/runtime/utils/link.js +12 -0
  176. package/dist/runtime/vue/components/Icon.vue.d.ts +1 -10
  177. package/dist/runtime/vue/components/Link.vue +27 -40
  178. package/dist/runtime/vue/components/Link.vue.d.ts +3 -34
  179. package/dist/runtime/vue/composables/useAppConfig.js +3 -1
  180. package/dist/runtime/vue/stubs.d.ts +1 -1
  181. package/dist/runtime/vue/stubs.js +1 -1
  182. package/dist/shared/{ui.D7lOOabO.mjs → ui.BvUP-pSb.mjs} +120 -27
  183. package/dist/unplugin.d.mts +2 -2
  184. package/dist/unplugin.mjs +1 -1
  185. package/dist/vite.d.mts +1 -1
  186. package/dist/vite.mjs +2 -2
  187. package/package.json +28 -27
@@ -26,6 +26,11 @@ export interface ToastProps extends Pick<ToastRootProps, 'defaultOpen' | 'open'
26
26
  * @defaultValue 'vertical'
27
27
  */
28
28
  orientation?: Toast['variants']['orientation'];
29
+ /**
30
+ * Whether to show the progress bar.
31
+ * @defaultValue true
32
+ */
33
+ progress?: boolean;
29
34
  /**
30
35
  * Display a list of actions:
31
36
  * - under the title and description when orientation is `vertical`
@@ -61,35 +66,98 @@ export interface ToastSlots {
61
66
  };
62
67
  }): any;
63
68
  }
64
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<ToastProps>, {
65
- close: boolean;
66
- orientation: string;
67
- }>>, {
69
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<ToastProps, {
68
70
  height: import("vue").Ref<number, number>;
69
- }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any, string, import("vue").PublicProps, any, {
71
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
72
+ resume: () => any;
73
+ pause: () => any;
74
+ "update:open": (value: boolean) => any;
75
+ escapeKeyDown: (event: KeyboardEvent) => any;
76
+ swipeStart: (event: {
77
+ currentTarget: EventTarget & HTMLElement;
78
+ } & Omit<CustomEvent<{
79
+ originalEvent: PointerEvent;
80
+ delta: {
81
+ x: number;
82
+ y: number;
83
+ };
84
+ }>, "currentTarget">) => any;
85
+ swipeMove: (event: {
86
+ currentTarget: EventTarget & HTMLElement;
87
+ } & Omit<CustomEvent<{
88
+ originalEvent: PointerEvent;
89
+ delta: {
90
+ x: number;
91
+ y: number;
92
+ };
93
+ }>, "currentTarget">) => any;
94
+ swipeCancel: (event: {
95
+ currentTarget: EventTarget & HTMLElement;
96
+ } & Omit<CustomEvent<{
97
+ originalEvent: PointerEvent;
98
+ delta: {
99
+ x: number;
100
+ y: number;
101
+ };
102
+ }>, "currentTarget">) => any;
103
+ swipeEnd: (event: {
104
+ currentTarget: EventTarget & HTMLElement;
105
+ } & Omit<CustomEvent<{
106
+ originalEvent: PointerEvent;
107
+ delta: {
108
+ x: number;
109
+ y: number;
110
+ };
111
+ }>, "currentTarget">) => any;
112
+ }, string, import("vue").PublicProps, Readonly<ToastProps> & Readonly<{
113
+ onResume?: (() => any) | undefined;
114
+ onPause?: (() => any) | undefined;
115
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
116
+ onEscapeKeyDown?: ((event: KeyboardEvent) => any) | undefined;
117
+ onSwipeStart?: ((event: {
118
+ currentTarget: EventTarget & HTMLElement;
119
+ } & Omit<CustomEvent<{
120
+ originalEvent: PointerEvent;
121
+ delta: {
122
+ x: number;
123
+ y: number;
124
+ };
125
+ }>, "currentTarget">) => any) | undefined;
126
+ onSwipeMove?: ((event: {
127
+ currentTarget: EventTarget & HTMLElement;
128
+ } & Omit<CustomEvent<{
129
+ originalEvent: PointerEvent;
130
+ delta: {
131
+ x: number;
132
+ y: number;
133
+ };
134
+ }>, "currentTarget">) => any) | undefined;
135
+ onSwipeCancel?: ((event: {
136
+ currentTarget: EventTarget & HTMLElement;
137
+ } & Omit<CustomEvent<{
138
+ originalEvent: PointerEvent;
139
+ delta: {
140
+ x: number;
141
+ y: number;
142
+ };
143
+ }>, "currentTarget">) => any) | undefined;
144
+ onSwipeEnd?: ((event: {
145
+ currentTarget: EventTarget & HTMLElement;
146
+ } & Omit<CustomEvent<{
147
+ originalEvent: PointerEvent;
148
+ delta: {
149
+ x: number;
150
+ y: number;
151
+ };
152
+ }>, "currentTarget">) => any) | undefined;
153
+ }>, {
70
154
  close: boolean | Partial<ButtonProps>;
155
+ progress: boolean;
71
156
  orientation: Toast["variants"]["orientation"];
72
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<ToastSlots> & ToastSlots>;
157
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ToastSlots>;
73
158
  export default _default;
74
- type __VLS_WithDefaults<P, D> = {
75
- [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
76
- default: D[K];
77
- }> : P[K];
78
- };
79
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
80
- type __VLS_TypePropsToOption<T> = {
81
- [K in keyof T]-?: {} extends Pick<T, K> ? {
82
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
83
- } : {
84
- type: import('vue').PropType<T[K]>;
85
- required: true;
86
- };
87
- };
88
- type __VLS_WithTemplateSlots<T, S> = T & {
159
+ type __VLS_WithSlots<T, S> = T & {
89
160
  new (): {
90
161
  $slots: S;
91
162
  };
92
163
  };
93
- type __VLS_PrettifyLocal<T> = {
94
- [K in keyof T]: T[K];
95
- } & {};
@@ -18,6 +18,7 @@ import UToast from "./Toast.vue";
18
18
  const props = defineProps({
19
19
  position: { type: null, required: false },
20
20
  expand: { type: Boolean, required: false, default: true },
21
+ progress: { type: Boolean, required: false, default: true },
21
22
  portal: { type: [Boolean, String], required: false, skipCheck: true, default: true },
22
23
  class: { type: null, required: false },
23
24
  ui: { type: null, required: false },
@@ -73,6 +74,7 @@ function getOffset(index) {
73
74
  v-for="(toast, index) of toasts"
74
75
  :key="toast.id"
75
76
  ref="refs"
77
+ :progress="progress"
76
78
  v-bind="omit(toast, ['id', 'close'])"
77
79
  :close="toast.close"
78
80
  :data-expanded="expanded"
@@ -85,9 +87,7 @@ function getOffset(index) {
85
87
  '--translate': expanded ? 'calc(var(--offset) * var(--translate-factor))' : 'calc(var(--before) * var(--gap))',
86
88
  '--transform': 'translateY(var(--translate)) scale(var(--scale))'
87
89
  }"
88
- :class="[ui.base(), {
89
- 'cursor-pointer': !!toast.onClick
90
- }]"
90
+ :class="ui.base({ class: [props.ui?.base, toast.onClick ? 'cursor-pointer' : void 0] })"
91
91
  @update:open="onUpdateOpen($event, toast.id)"
92
92
  @click="toast.onClick && toast.onClick(toast)"
93
93
  />
@@ -95,7 +95,7 @@ function getOffset(index) {
95
95
  <ToastPortal v-bind="portalProps">
96
96
  <ToastViewport
97
97
  :data-expanded="expanded"
98
- :class="ui.viewport({ class: [props.class, props.ui?.viewport] })"
98
+ :class="ui.viewport({ class: [props.ui?.viewport, props.class] })"
99
99
  :style="{
100
100
  '--scale-factor': '0.05',
101
101
  '--translate-factor': position?.startsWith('top') ? '1px' : '-1px',
@@ -14,6 +14,11 @@ export interface ToasterProps extends Omit<ToastProviderProps, 'swipeDirection'>
14
14
  * @defaultValue true
15
15
  */
16
16
  expand?: boolean;
17
+ /**
18
+ * Whether to show the progress bar on all toasts.
19
+ * @defaultValue true
20
+ */
21
+ progress?: boolean;
17
22
  /**
18
23
  * Render the toaster in a portal.
19
24
  * @defaultValue true
@@ -25,39 +30,15 @@ export interface ToasterProps extends Omit<ToastProviderProps, 'swipeDirection'>
25
30
  export interface ToasterSlots {
26
31
  default(props?: {}): any;
27
32
  }
28
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<ToasterProps>, {
29
- expand: boolean;
30
- portal: boolean;
31
- duration: number;
32
- }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<ToasterProps>, {
33
- expand: boolean;
34
- portal: boolean;
35
- duration: number;
36
- }>>> & Readonly<{}>, {
33
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<ToasterProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ToasterProps> & Readonly<{}>, {
34
+ progress: boolean;
37
35
  duration: number;
38
36
  expand: boolean;
39
37
  portal: boolean | string | HTMLElement;
40
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<ToasterSlots> & ToasterSlots>;
38
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ToasterSlots>;
41
39
  export default _default;
42
- type __VLS_WithDefaults<P, D> = {
43
- [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
44
- default: D[K];
45
- }> : P[K];
46
- };
47
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
48
- type __VLS_TypePropsToOption<T> = {
49
- [K in keyof T]-?: {} extends Pick<T, K> ? {
50
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
51
- } : {
52
- type: import('vue').PropType<T[K]>;
53
- required: true;
54
- };
55
- };
56
- type __VLS_WithTemplateSlots<T, S> = T & {
40
+ type __VLS_WithSlots<T, S> = T & {
57
41
  new (): {
58
42
  $slots: S;
59
43
  };
60
44
  };
61
- type __VLS_PrettifyLocal<T> = {
62
- [K in keyof T]: T[K];
63
- } & {};
@@ -35,31 +35,16 @@ export interface TooltipSlots {
35
35
  }): any;
36
36
  content(props?: {}): any;
37
37
  }
38
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToOption<TooltipProps>, {
39
- portal: boolean;
40
- }>>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, any, string, import("vue").PublicProps, any, {
38
+ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<TooltipProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
39
+ "update:open": (value: boolean) => any;
40
+ }, string, import("vue").PublicProps, Readonly<TooltipProps> & Readonly<{
41
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
42
+ }>, {
41
43
  portal: boolean | string | HTMLElement;
42
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<TooltipSlots> & TooltipSlots>;
44
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, TooltipSlots>;
43
45
  export default _default;
44
- type __VLS_WithDefaults<P, D> = {
45
- [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_PrettifyLocal<P[K] & {
46
- default: D[K];
47
- }> : P[K];
48
- };
49
- type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
50
- type __VLS_TypePropsToOption<T> = {
51
- [K in keyof T]-?: {} extends Pick<T, K> ? {
52
- type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
53
- } : {
54
- type: import('vue').PropType<T[K]>;
55
- required: true;
56
- };
57
- };
58
- type __VLS_WithTemplateSlots<T, S> = T & {
46
+ type __VLS_WithSlots<T, S> = T & {
59
47
  new (): {
60
48
  $slots: S;
61
49
  };
62
50
  };
63
- type __VLS_PrettifyLocal<T> = {
64
- [K in keyof T]: T[K];
65
- } & {};
@@ -61,7 +61,7 @@ const defaultExpanded = computed(
61
61
  <li
62
62
  v-for="(item, index) in items"
63
63
  :key="`${level}-${index}`"
64
- :class="level > 0 ? ui.itemWithChildren({ class: props.ui?.itemWithChildren }) : ui.item({ class: props.ui?.item })"
64
+ :class="level > 0 ? ui.itemWithChildren({ class: [props.ui?.itemWithChildren, item.ui?.itemWithChildren] }) : ui.item({ class: [props.ui?.item, item.ui?.item] })"
65
65
  >
66
66
  <TreeItem
67
67
  v-slot="{ isExpanded, isSelected }"
@@ -71,37 +71,37 @@ const defaultExpanded = computed(
71
71
  @toggle="item.onToggle"
72
72
  @select="item.onSelect"
73
73
  >
74
- <button :disabled="item.disabled || disabled" :class="ui.link({ class: props.ui?.link, selected: isSelected, disabled: item.disabled || disabled })">
74
+ <button :disabled="item.disabled || disabled" :class="ui.link({ class: [props.ui?.link, item.ui?.link, item.class], selected: isSelected, disabled: item.disabled || disabled })">
75
75
  <slot :name="item.slot || 'item'" v-bind="{ index, level, expanded: isExpanded, selected: isSelected }" :item="item">
76
76
  <slot :name="item.slot ? `${item.slot}-leading` : 'item-leading'" v-bind="{ index, level, expanded: isExpanded, selected: isSelected }" :item="item">
77
77
  <UIcon
78
78
  v-if="item.icon"
79
79
  :name="item.icon"
80
- :class="ui.linkLeadingIcon({ class: props.ui?.linkLeadingIcon })"
80
+ :class="ui.linkLeadingIcon({ class: [props.ui?.linkLeadingIcon, item.ui?.linkLeadingIcon] })"
81
81
  />
82
82
  <UIcon
83
83
  v-else-if="item.children?.length"
84
84
  :name="isExpanded ? expandedIcon ?? appConfig.ui.icons.folderOpen : collapsedIcon ?? appConfig.ui.icons.folder"
85
- :class="ui.linkLeadingIcon({ class: props.ui?.linkLeadingIcon })"
85
+ :class="ui.linkLeadingIcon({ class: [props.ui?.linkLeadingIcon, item.ui?.linkLeadingIcon] })"
86
86
  />
87
87
  </slot>
88
88
 
89
- <span v-if="getItemLabel(item) || !!slots[item.slot ? `${item.slot}-label` : 'item-label']" :class="ui.linkLabel({ class: props.ui?.linkLabel })">
89
+ <span v-if="getItemLabel(item) || !!slots[item.slot ? `${item.slot}-label` : 'item-label']" :class="ui.linkLabel({ class: [props.ui?.linkLabel, item.ui?.linkLabel] })">
90
90
  <slot :name="item.slot ? `${item.slot}-label` : 'item-label'" v-bind="{ item, index, level, expanded: isExpanded, selected: isSelected }" :item="item">
91
91
  {{ getItemLabel(item) }}
92
92
  </slot>
93
93
  </span>
94
94
 
95
- <span v-if="item.trailingIcon || item.children?.length || !!slots[item.slot ? `${item.slot}-trailing` : 'item-trailing']" :class="ui.linkTrailing({ class: props.ui?.linkTrailing })">
95
+ <span v-if="item.trailingIcon || item.children?.length || !!slots[item.slot ? `${item.slot}-trailing` : 'item-trailing']" :class="ui.linkTrailing({ class: [props.ui?.linkTrailing, item.ui?.linkTrailing] })">
96
96
  <slot :name="item.slot ? `${item.slot}-trailing` : 'item-trailing'" v-bind="{ item, index, level, expanded: isExpanded, selected: isSelected }" :item="item">
97
- <UIcon v-if="item.trailingIcon" :name="item.trailingIcon" :class="ui.linkTrailingIcon({ class: props.ui?.linkTrailingIcon })" />
98
- <UIcon v-else-if="item.children?.length" :name="trailingIcon ?? appConfig.ui.icons.chevronDown" :class="ui.linkTrailingIcon({ class: props.ui?.linkTrailingIcon })" />
97
+ <UIcon v-if="item.trailingIcon" :name="item.trailingIcon" :class="ui.linkTrailingIcon({ class: [props.ui?.linkTrailingIcon, item.ui?.linkTrailingIcon] })" />
98
+ <UIcon v-else-if="item.children?.length" :name="trailingIcon ?? appConfig.ui.icons.chevronDown" :class="ui.linkTrailingIcon({ class: [props.ui?.linkTrailingIcon, item.ui?.linkTrailingIcon] })" />
99
99
  </slot>
100
100
  </span>
101
101
  </slot>
102
102
  </button>
103
103
 
104
- <ul v-if="item.children?.length && isExpanded" :class="ui.listWithChildren({ class: props.ui?.listWithChildren })">
104
+ <ul v-if="item.children?.length && isExpanded" :class="ui.listWithChildren({ class: [props.ui?.listWithChildren, item.ui?.listWithChildren] })">
105
105
  <ReuseTreeTemplate :items="item.children" :level="level + 1" />
106
106
  </ul>
107
107
  </TreeItem>
@@ -110,7 +110,7 @@ const defaultExpanded = computed(
110
110
 
111
111
  <TreeRoot
112
112
  v-bind="rootProps"
113
- :class="ui.root({ class: [props.class, props.ui?.root] })"
113
+ :class="ui.root({ class: [props.ui?.root, props.class] })"
114
114
  :get-key="getItemValue"
115
115
  :default-expanded="defaultExpanded"
116
116
  :selection-behavior="selectionBehavior"
@@ -20,6 +20,8 @@ export type TreeItem = {
20
20
  children?: TreeItem[];
21
21
  onToggle?(e: Event): void;
22
22
  onSelect?(e?: Event): void;
23
+ class?: any;
24
+ ui?: Pick<Tree['slots'], 'item' | 'itemWithChildren' | 'link' | 'linkLeadingIcon' | 'linkLabel' | 'linkTrailing' | 'linkTrailingIcon' | 'listWithChildren'>;
23
25
  [key: string]: any;
24
26
  };
25
27
  export interface TreeProps<T extends TreeItem[] = TreeItem[], VK extends GetItemKeys<T> = 'value', M extends boolean = false> extends Pick<TreeRootProps<T>, 'expanded' | 'defaultExpanded' | 'selectionBehavior' | 'propagateSelect' | 'disabled'> {
@@ -94,30 +96,13 @@ export type TreeSlots<A extends TreeItem[] = TreeItem[], T extends NestedItem<A>
94
96
  selected: boolean;
95
97
  }>;
96
98
  declare const _default: <T extends TreeItem[], VK extends GetItemKeys<T> = "value", M extends boolean = false>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
97
- props: __VLS_PrettifyLocal<any & TreeProps<T, VK, M> & Partial<{}>> & (import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps);
99
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
100
+ readonly "onUpdate:modelValue"?: ((payload: GetModelValue<T, VK, M>) => any) | undefined;
101
+ readonly "onUpdate:expanded"?: ((val: string[]) => any) | undefined;
102
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:modelValue" | "onUpdate:expanded"> & TreeProps<T, VK, M> & Partial<{}>> & import("vue").PublicProps;
98
103
  expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
99
104
  attrs: any;
100
- slots: Readonly<{
101
- item: SlotProps<NestedItem<T>>;
102
- 'item-leading': SlotProps<NestedItem<T>>;
103
- 'item-label': SlotProps<NestedItem<T>>;
104
- 'item-trailing': SlotProps<NestedItem<T>>;
105
- } & DynamicSlots<NestedItem<T>, undefined, {
106
- index: number;
107
- level: number;
108
- expanded: boolean;
109
- selected: boolean;
110
- }>> & {
111
- item: SlotProps<NestedItem<T>>;
112
- 'item-leading': SlotProps<NestedItem<T>>;
113
- 'item-label': SlotProps<NestedItem<T>>;
114
- 'item-trailing': SlotProps<NestedItem<T>>;
115
- } & DynamicSlots<NestedItem<T>, undefined, {
116
- index: number;
117
- level: number;
118
- expanded: boolean;
119
- selected: boolean;
120
- }>;
105
+ slots: TreeSlots<T, NestedItem<T>>;
121
106
  emit: ((evt: "update:modelValue", payload: GetModelValue<T, VK, M>) => void) & ((evt: "update:expanded", val: string[]) => void);
122
107
  }>) => import("vue").VNode & {
123
108
  __ctx?: Awaited<typeof __VLS_setup>;
@@ -1,5 +1,6 @@
1
1
  import { ref, computed, toValue } from "vue";
2
2
  import { useEventListener, useActiveElement, useDebounceFn } from "@vueuse/core";
3
+ import { useKbd } from "./useKbd.js";
3
4
  const chainedShortcutRegex = /^[^-]+.*-.*[^-]+$/;
4
5
  const combinedShortcutRegex = /^[^_]+.*_.*[^_]+$/;
5
6
  export function extractShortcuts(items) {
@@ -27,6 +28,7 @@ export function defineShortcuts(config, options = {}) {
27
28
  chainedInputs.value.splice(0, chainedInputs.value.length);
28
29
  };
29
30
  const debouncedClearChainedInput = useDebounceFn(clearChainedInput, options.chainDelay ?? 800);
31
+ const { macOS } = useKbd();
30
32
  const activeElement = useActiveElement();
31
33
  const onKeyDown = (e) => {
32
34
  if (!e.key) {
@@ -112,6 +114,10 @@ export function defineShortcuts(config, options = {}) {
112
114
  };
113
115
  }
114
116
  shortcut.chained = chained;
117
+ if (!macOS.value && shortcut.metaKey && !shortcut.ctrlKey) {
118
+ shortcut.metaKey = false;
119
+ shortcut.ctrlKey = true;
120
+ }
115
121
  if (typeof shortcutConfig === "function") {
116
122
  shortcut.handler = shortcutConfig;
117
123
  } else if (typeof shortcutConfig === "object") {
@@ -6,5 +6,5 @@ export declare const avatarGroupInjectionKey: InjectionKey<ComputedRef<{
6
6
  export declare function useAvatarGroup(props: {
7
7
  size: AvatarGroupProps['size'];
8
8
  }): {
9
- size: ComputedRef<"md" | "3xs" | "2xs" | "xs" | "sm" | "lg" | "xl" | "2xl" | "3xl" | undefined>;
9
+ size: ComputedRef<"3xs" | "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | undefined>;
10
10
  };
@@ -10,6 +10,6 @@ type Props<T> = {
10
10
  };
11
11
  export declare function useButtonGroup<T>(props: Props<T>): {
12
12
  orientation: ComputedRef<"horizontal" | "vertical" | undefined>;
13
- size: ComputedRef<"md" | "xs" | "sm" | "lg" | "xl" | NonNullable<GetObjectField<T, "size">> | undefined>;
13
+ size: ComputedRef<"xs" | "sm" | "md" | "lg" | "xl" | NonNullable<GetObjectField<T, "size">> | undefined>;
14
14
  };
15
15
  export {};
@@ -13,7 +13,7 @@ type Props<T> = {
13
13
  };
14
14
  export declare const formOptionsInjectionKey: InjectionKey<ComputedRef<FormInjectedOptions>>;
15
15
  export declare const formBusInjectionKey: InjectionKey<UseEventBusReturn<FormEvent<any>, string>>;
16
- export declare const formFieldInjectionKey: InjectionKey<ComputedRef<FormFieldInjectedOptions<FormFieldProps>>>;
16
+ export declare const formFieldInjectionKey: InjectionKey<ComputedRef<FormFieldInjectedOptions<FormFieldProps>> | undefined>;
17
17
  export declare const inputIdInjectionKey: InjectionKey<Ref<string | undefined>>;
18
18
  export declare const formInputsInjectionKey: InjectionKey<Ref<Record<string, {
19
19
  id?: string;
@@ -26,7 +26,7 @@ export declare function useFormField<T>(props?: Props<T>, opts?: {
26
26
  }): {
27
27
  id: ComputedRef<string | undefined>;
28
28
  name: ComputedRef<string | undefined>;
29
- size: ComputedRef<"md" | "xs" | "sm" | "lg" | "xl" | NonNullable<GetObjectField<T, "size">> | undefined>;
29
+ size: ComputedRef<"xs" | "sm" | "md" | "lg" | "xl" | NonNullable<GetObjectField<T, "size">> | undefined>;
30
30
  color: ComputedRef<"error" | GetObjectField<T, "color"> | undefined>;
31
31
  highlight: ComputedRef<boolean | undefined>;
32
32
  disabled: ComputedRef<boolean | undefined>;
@@ -1,4 +1,4 @@
1
- import { inject, computed } from "vue";
1
+ import { inject, computed, provide } from "vue";
2
2
  import { useDebounceFn } from "@vueuse/core";
3
3
  export const formOptionsInjectionKey = Symbol("nuxt-ui.form-options");
4
4
  export const formBusInjectionKey = Symbol("nuxt-ui.form-events");
@@ -12,6 +12,7 @@ export function useFormField(props, opts) {
12
12
  const formField = inject(formFieldInjectionKey, void 0);
13
13
  const formInputs = inject(formInputsInjectionKey, void 0);
14
14
  const inputId = inject(inputIdInjectionKey, void 0);
15
+ provide(formFieldInjectionKey, void 0);
15
16
  if (formField && inputId) {
16
17
  if (opts?.bind === false) {
17
18
  inputId.value = void 0;
@@ -10,6 +10,7 @@ export declare const kbdKeysMap: {
10
10
  win: string;
11
11
  command: string;
12
12
  shift: string;
13
+ control: string;
13
14
  option: string;
14
15
  enter: string;
15
16
  delete: string;
@@ -7,6 +7,7 @@ export const kbdKeysMap = {
7
7
  win: "\u229E",
8
8
  command: "\u2318",
9
9
  shift: "\u21E7",
10
+ control: "\u2303",
10
11
  option: "\u2325",
11
12
  enter: "\u21B5",
12
13
  delete: "\u2326",
@@ -31,9 +32,9 @@ const _useKbd = () => {
31
32
  ctrl: " "
32
33
  });
33
34
  onMounted(() => {
34
- kbdKeysSpecificMap.meta = macOS.value ? kbdKeysMap.command : kbdKeysMap.win;
35
- kbdKeysSpecificMap.alt = macOS.value ? kbdKeysMap.option : "alt";
36
- kbdKeysSpecificMap.ctrl = macOS.value ? "\u2303" : "ctrl";
35
+ kbdKeysSpecificMap.meta = macOS.value ? kbdKeysMap.command : "Ctrl";
36
+ kbdKeysSpecificMap.ctrl = macOS.value ? kbdKeysMap.control : "Ctrl";
37
+ kbdKeysSpecificMap.alt = macOS.value ? kbdKeysMap.option : "Alt";
37
38
  });
38
39
  function getKbdKey(value) {
39
40
  if (!value) {
@@ -14,25 +14,24 @@ interface ManagedOverlayOptionsPrivate<T extends Component> {
14
14
  resolvePromise?: (value: any) => void;
15
15
  }
16
16
  export type Overlay = OverlayOptions<Component> & ManagedOverlayOptionsPrivate<Component>;
17
- interface OverlayInstance<T extends Component> extends Omit<ManagedOverlayOptionsPrivate<T>, 'component'> {
17
+ type OverlayInstance<T extends Component> = Omit<ManagedOverlayOptionsPrivate<T>, 'component'> & {
18
18
  id: symbol;
19
- result: Promise<CloseEventArgType<ComponentEmit<T>>>;
20
- open: (props?: ComponentProps<T>) => Omit<OverlayInstance<T>, 'open' | 'close' | 'patch' | 'modelValue' | 'resolvePromise'>;
19
+ open: (props?: ComponentProps<T>) => OpenedOverlay<T>;
21
20
  close: (value?: any) => void;
22
21
  patch: (props: Partial<ComponentProps<T>>) => void;
23
- }
22
+ };
23
+ type OpenedOverlay<T extends Component> = Omit<OverlayInstance<T>, 'open' | 'close' | 'patch' | 'modelValue' | 'resolvePromise'> & {
24
+ result: Promise<CloseEventArgType<ComponentEmit<T>>>;
25
+ };
24
26
  declare function _useOverlay(): {
25
27
  overlays: import("vue").ShallowReactive<Overlay[]>;
26
- open: <T extends Component>(id: symbol, props?: ComponentProps<T>) => {
27
- id: symbol;
28
- isMounted: boolean;
29
- isOpen: boolean;
30
- result: Promise<any>;
31
- };
28
+ open: <T extends Component>(id: symbol, props?: ComponentProps<T>) => OpenedOverlay<T>;
32
29
  close: (id: symbol, value?: any) => void;
30
+ closeAll: () => void;
33
31
  create: <T extends Component>(component: T, _options?: OverlayOptions<ComponentProps<T>>) => OverlayInstance<T>;
34
32
  patch: <T extends Component>(id: symbol, props: Partial<ComponentProps<T>>) => void;
35
33
  unMount: (id: symbol) => void;
34
+ isOpen: (id: symbol) => boolean;
36
35
  };
37
36
  export declare const useOverlay: typeof _useOverlay;
38
37
  export {};
@@ -15,8 +15,6 @@ function _useOverlay() {
15
15
  overlays.push(options);
16
16
  return {
17
17
  ...options,
18
- result: new Promise(() => {
19
- }),
20
18
  open: (props2) => open(options.id, props2),
21
19
  close: (value) => close(options.id, value),
22
20
  patch: (props2) => patch(options.id, props2)
@@ -33,9 +31,7 @@ function _useOverlay() {
33
31
  id,
34
32
  isMounted: overlay.isMounted,
35
33
  isOpen: overlay.isOpen,
36
- result: new Promise((resolve) => {
37
- overlay.resolvePromise = resolve;
38
- })
34
+ result: new Promise((resolve) => overlay.resolvePromise = resolve)
39
35
  };
40
36
  };
41
37
  const close = (id, value) => {
@@ -46,6 +42,9 @@ function _useOverlay() {
46
42
  overlay.resolvePromise = void 0;
47
43
  }
48
44
  };
45
+ const closeAll = () => {
46
+ overlays.forEach((overlay) => close(overlay.id));
47
+ };
49
48
  const unMount = (id) => {
50
49
  const overlay = getOverlay(id);
51
50
  overlay.isMounted = false;
@@ -67,13 +66,19 @@ function _useOverlay() {
67
66
  }
68
67
  return overlay;
69
68
  };
69
+ const isOpen = (id) => {
70
+ const overlay = getOverlay(id);
71
+ return overlay.isOpen;
72
+ };
70
73
  return {
71
74
  overlays,
72
75
  open,
73
76
  close,
77
+ closeAll,
74
78
  create,
75
79
  patch,
76
- unMount
80
+ unMount,
81
+ isOpen
77
82
  };
78
83
  }
79
84
  export const useOverlay = /* @__PURE__ */ createSharedComposable(_useOverlay);