@byyuurin/ui 0.2.0 → 0.4.0

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 (137) hide show
  1. package/README.md +5 -3
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +2 -2
  4. package/dist/runtime/components/Accordion.vue +2 -2
  5. package/dist/runtime/components/Accordion.vue.d.ts +11 -7
  6. package/dist/runtime/components/Alert.vue +2 -1
  7. package/dist/runtime/components/Alert.vue.d.ts +4 -4
  8. package/dist/runtime/components/App.vue +2 -1
  9. package/dist/runtime/components/App.vue.d.ts +11 -7
  10. package/dist/runtime/components/Avatar.vue +2 -1
  11. package/dist/runtime/components/Avatar.vue.d.ts +4 -3
  12. package/dist/runtime/components/AvatarGroup.vue +2 -1
  13. package/dist/runtime/components/AvatarGroup.vue.d.ts +1 -1
  14. package/dist/runtime/components/Badge.vue +4 -3
  15. package/dist/runtime/components/Badge.vue.d.ts +2 -2
  16. package/dist/runtime/components/Breadcrumb.vue +2 -2
  17. package/dist/runtime/components/Breadcrumb.vue.d.ts +10 -6
  18. package/dist/runtime/components/Button.vue +8 -8
  19. package/dist/runtime/components/Button.vue.d.ts +1 -1
  20. package/dist/runtime/components/Calendar.vue +2 -1
  21. package/dist/runtime/components/Calendar.vue.d.ts +16 -12
  22. package/dist/runtime/components/Card.vue +2 -1
  23. package/dist/runtime/components/Card.vue.d.ts +1 -1
  24. package/dist/runtime/components/Carousel.vue +2 -1
  25. package/dist/runtime/components/Carousel.vue.d.ts +14 -10
  26. package/dist/runtime/components/Checkbox.vue +4 -2
  27. package/dist/runtime/components/Checkbox.vue.d.ts +4 -3
  28. package/dist/runtime/components/CheckboxGroup.vue +4 -3
  29. package/dist/runtime/components/CheckboxGroup.vue.d.ts +11 -7
  30. package/dist/runtime/components/Chip.vue +5 -1
  31. package/dist/runtime/components/Chip.vue.d.ts +2 -2
  32. package/dist/runtime/components/Collapsible.vue +2 -1
  33. package/dist/runtime/components/Collapsible.vue.d.ts +2 -2
  34. package/dist/runtime/components/Drawer.vue +2 -1
  35. package/dist/runtime/components/Drawer.vue.d.ts +6 -6
  36. package/dist/runtime/components/DropdownMenu.vue +3 -3
  37. package/dist/runtime/components/DropdownMenu.vue.d.ts +17 -9
  38. package/dist/runtime/components/DropdownMenuContent.vue +11 -12
  39. package/dist/runtime/components/DropdownMenuContent.vue.d.ts +11 -7
  40. package/dist/runtime/components/FieldGroup.vue +2 -1
  41. package/dist/runtime/components/FieldGroup.vue.d.ts +2 -2
  42. package/dist/runtime/components/FileUpload.vue +267 -0
  43. package/dist/runtime/components/FileUpload.vue.d.ts +178 -0
  44. package/dist/runtime/components/Form.vue +2 -1
  45. package/dist/runtime/components/Form.vue.d.ts +13 -8
  46. package/dist/runtime/components/FormField.vue +6 -4
  47. package/dist/runtime/components/FormField.vue.d.ts +7 -2
  48. package/dist/runtime/components/Icon.vue.d.ts +1 -1
  49. package/dist/runtime/components/Input.vue +4 -4
  50. package/dist/runtime/components/Input.vue.d.ts +16 -12
  51. package/dist/runtime/components/InputNumber.vue +3 -2
  52. package/dist/runtime/components/InputNumber.vue.d.ts +128 -124
  53. package/dist/runtime/components/InputTags.vue +2 -1
  54. package/dist/runtime/components/InputTags.vue.d.ts +16 -11
  55. package/dist/runtime/components/Kbd.vue +2 -1
  56. package/dist/runtime/components/Kbd.vue.d.ts +2 -2
  57. package/dist/runtime/components/Link.vue +5 -3
  58. package/dist/runtime/components/Link.vue.d.ts +16 -6
  59. package/dist/runtime/components/LinkBase.vue.d.ts +2 -2
  60. package/dist/runtime/components/Marquee.vue +2 -1
  61. package/dist/runtime/components/Marquee.vue.d.ts +3 -3
  62. package/dist/runtime/components/Modal.vue +3 -2
  63. package/dist/runtime/components/Modal.vue.d.ts +6 -6
  64. package/dist/runtime/components/NavigationMenu.vue +2 -2
  65. package/dist/runtime/components/NavigationMenu.vue.d.ts +11 -7
  66. package/dist/runtime/components/Pagination.vue +2 -1
  67. package/dist/runtime/components/Pagination.vue.d.ts +4 -4
  68. package/dist/runtime/components/PinInput.vue +4 -4
  69. package/dist/runtime/components/PinInput.vue.d.ts +14 -10
  70. package/dist/runtime/components/Popover.vue +1 -1
  71. package/dist/runtime/components/Popover.vue.d.ts +11 -7
  72. package/dist/runtime/components/Progress.vue +2 -1
  73. package/dist/runtime/components/Progress.vue.d.ts +2 -2
  74. package/dist/runtime/components/RadioGroup.vue +3 -3
  75. package/dist/runtime/components/RadioGroup.vue.d.ts +11 -7
  76. package/dist/runtime/components/ScrollArea.vue +2 -1
  77. package/dist/runtime/components/ScrollArea.vue.d.ts +2 -2
  78. package/dist/runtime/components/Select.vue +282 -131
  79. package/dist/runtime/components/Select.vue.d.ts +103 -123
  80. package/dist/runtime/components/Separator.vue +2 -1
  81. package/dist/runtime/components/Separator.vue.d.ts +2 -2
  82. package/dist/runtime/components/Skeleton.vue +2 -1
  83. package/dist/runtime/components/Skeleton.vue.d.ts +2 -2
  84. package/dist/runtime/components/Slider.vue +2 -1
  85. package/dist/runtime/components/Slider.vue.d.ts +11 -7
  86. package/dist/runtime/components/Stepper.vue +117 -0
  87. package/dist/runtime/components/Stepper.vue.d.ts +83 -0
  88. package/dist/runtime/components/Switch.vue +3 -4
  89. package/dist/runtime/components/Switch.vue.d.ts +4 -3
  90. package/dist/runtime/components/Table.vue +2 -1
  91. package/dist/runtime/components/Table.vue.d.ts +13 -8
  92. package/dist/runtime/components/Tabs.vue +2 -2
  93. package/dist/runtime/components/Tabs.vue.d.ts +12 -8
  94. package/dist/runtime/components/Textarea.vue +3 -3
  95. package/dist/runtime/components/Textarea.vue.d.ts +16 -11
  96. package/dist/runtime/components/Timeline.vue +2 -1
  97. package/dist/runtime/components/Timeline.vue.d.ts +11 -7
  98. package/dist/runtime/components/Toast.vue +2 -1
  99. package/dist/runtime/components/Toast.vue.d.ts +5 -5
  100. package/dist/runtime/components/ToastProvider.vue +2 -2
  101. package/dist/runtime/components/ToastProvider.vue.d.ts +3 -3
  102. package/dist/runtime/components/Tooltip.vue +4 -4
  103. package/dist/runtime/components/Tooltip.vue.d.ts +2 -2
  104. package/dist/runtime/components/Tree.vue +241 -0
  105. package/dist/runtime/components/Tree.vue.d.ts +121 -0
  106. package/dist/runtime/composables/defineShortcuts.d.ts +1 -0
  107. package/dist/runtime/composables/defineShortcuts.js +44 -8
  108. package/dist/runtime/composables/useFileUpload.d.ts +19 -0
  109. package/dist/runtime/composables/useFileUpload.js +79 -0
  110. package/dist/runtime/composables/useLocale.d.ts +18 -0
  111. package/dist/runtime/locale/en.d.ts +9 -0
  112. package/dist/runtime/locale/en.js +9 -0
  113. package/dist/runtime/locale/zh_tw.d.ts +9 -0
  114. package/dist/runtime/locale/zh_tw.js +9 -0
  115. package/dist/runtime/types/html.d.ts +8 -0
  116. package/dist/runtime/types/html.js +0 -0
  117. package/dist/runtime/types/index.d.ts +3 -0
  118. package/dist/runtime/types/index.js +3 -0
  119. package/dist/runtime/types/input.d.ts +5 -5
  120. package/dist/runtime/types/locale.d.ts +9 -0
  121. package/dist/runtime/types/utils.d.ts +4 -4
  122. package/dist/runtime/utils/index.d.ts +3 -3
  123. package/dist/runtime/utils/link.d.ts +2 -1
  124. package/dist/runtime/utils/link.js +40 -29
  125. package/dist/runtime/vue/components/Icon.vue.d.ts +1 -1
  126. package/dist/runtime/vue/components/Link.vue +7 -12
  127. package/dist/runtime/vue/components/Link.vue.d.ts +11 -40
  128. package/dist/setup.d.mts +1 -1
  129. package/dist/shared/{ui.DpbffTXs.d.mts → ui.CGCKYv7g.d.mts} +6 -2
  130. package/dist/shared/{ui.CzIlLITK.mjs → ui.DYMXCXO6.mjs} +9 -5
  131. package/dist/shared/{ui.DLOxhmP0.mjs → ui.DcEKQd0n.mjs} +490 -20
  132. package/dist/unocss.mjs +1 -1
  133. package/dist/unplugin.d.mts +1 -1
  134. package/dist/unplugin.mjs +2 -2
  135. package/dist/vite.d.mts +1 -1
  136. package/dist/vite.mjs +2 -2
  137. package/package.json +31 -31
package/README.md CHANGED
@@ -98,13 +98,13 @@ export default setup({
98
98
  },
99
99
  ui: {
100
100
  colors: {
101
- primary: 'green',
102
- secondary: 'blue',
101
+ primary: 'orange',
102
+ secondary: 'teal',
103
103
  success: 'green',
104
104
  info: 'blue',
105
105
  warning: 'yellow',
106
106
  error: 'red',
107
- neutral: 'slate',
107
+ neutral: 'stone',
108
108
  },
109
109
  icons: {
110
110
  close: 'i-lucide-x',
@@ -117,6 +117,8 @@ export default setup({
117
117
  chevronDoubleLeft: 'i-lucide-chevrons-left',
118
118
  chevronDoubleRight: 'i-lucide-chevrons-right',
119
119
  ellipsis: 'i-lucide-ellipsis',
120
+ folder: 'i-lucide-folder',
121
+ folderOpen: 'i-lucide-folder-open',
120
122
  plus: 'i-lucide-plus',
121
123
  minus: 'i-lucide-minus',
122
124
  external: 'i-lucide-arrow-up-right',
package/dist/module.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@byyuurin/ui",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "configKey": "ui",
5
5
  "compatibility": {
6
6
  "nuxt": ">=3.16.2"
package/dist/module.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  import { defineNuxtModule, createResolver, addPlugin, addComponentsDir, addImportsDir, hasNuxtModule, installModule } from '@nuxt/kit';
2
2
  import { defu } from 'defu';
3
- import { v as version, n as name, a as addTemplates } from './shared/ui.DLOxhmP0.mjs';
4
- import { d as defaultOptions, r as resolveColors, g as getDefaultUIConfig } from './shared/ui.CzIlLITK.mjs';
3
+ import { v as version, n as name, a as addTemplates } from './shared/ui.DcEKQd0n.mjs';
4
+ import { d as defaultOptions, r as resolveColors, g as getDefaultUIConfig } from './shared/ui.DYMXCXO6.mjs';
5
5
  import 'node:process';
6
6
  import 'node:url';
7
7
  import '@unocss/config';
@@ -7,7 +7,7 @@ import { reactivePick } from "@vueuse/core";
7
7
  import { AccordionContent, AccordionHeader, AccordionItem, AccordionRoot, AccordionTrigger, useForwardPropsEmits } from "reka-ui";
8
8
  import { computed } from "vue";
9
9
  import { useAppConfig } from "#imports";
10
- import { get } from "../utils";
10
+ import { get, pick } from "../utils";
11
11
  import { cv, merge } from "../utils/style";
12
12
  import Icon from "./Icon.vue";
13
13
  const props = defineProps({
@@ -30,7 +30,7 @@ const rootProps = useForwardPropsEmits(reactivePick(props, "as", "collapsible",
30
30
  const appConfig = useAppConfig();
31
31
  const ui = computed(() => {
32
32
  const styler = cv(merge(theme, appConfig.ui.accordion));
33
- return styler(props);
33
+ return styler(pick(props, ["disabled"]));
34
34
  });
35
35
  </script>
36
36
 
@@ -56,10 +56,14 @@ export type AccordionSlots<T extends AccordionItem = AccordionItem> = {
56
56
  open: boolean;
57
57
  ui: ComponentStyler<typeof theme>;
58
58
  }>;
59
- declare const __VLS_export: <T extends AccordionItem>(__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<{
60
- props: __VLS_PrettifyLocal<AccordionProps<T> & {
59
+ declare const _default: typeof __VLS_export;
60
+ export default _default;
61
+ declare const __VLS_export: <T extends AccordionItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
62
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<AccordionProps<T> & {
61
63
  "onUpdate:modelValue"?: ((value: string | string[] | undefined) => any) | undefined;
62
- }> & import("vue").PublicProps;
64
+ }> & (typeof globalThis extends {
65
+ __VLS_PROPS_FALLBACK: infer P;
66
+ } ? P : {});
63
67
  expose: (exposed: {}) => void;
64
68
  attrs: any;
65
69
  slots: AccordionSlots<T>;
@@ -67,8 +71,8 @@ declare const __VLS_export: <T extends AccordionItem>(__VLS_props: NonNullable<A
67
71
  }>) => import("vue").VNode & {
68
72
  __ctx?: Awaited<typeof __VLS_setup>;
69
73
  };
70
- declare const _default: typeof __VLS_export;
71
- export default _default;
72
- type __VLS_PrettifyLocal<T> = {
74
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
75
+ [K in keyof T]: T[K];
76
+ } : {
73
77
  [K in keyof T as K]: T[K];
74
- } & {};
78
+ }) & {};
@@ -7,6 +7,7 @@ import { Primitive } from "reka-ui";
7
7
  import { computed } from "vue";
8
8
  import { useAppConfig } from "#imports";
9
9
  import { useLocale } from "../composables/useLocale";
10
+ import { pick } from "../utils";
10
11
  import { cv, merge } from "../utils/style";
11
12
  import Avatar from "./Avatar.vue";
12
13
  import Button from "./Button.vue";
@@ -33,7 +34,7 @@ const appConfig = useAppConfig();
33
34
  const ui = computed(() => {
34
35
  const styler = cv(merge(theme, appConfig.ui.alert));
35
36
  return styler({
36
- ...props,
37
+ ...pick(props, ["color", "variant", "orientation"]),
37
38
  title: !!props.title || !!slots.title
38
39
  });
39
40
  });
@@ -1,7 +1,7 @@
1
1
  import type { VariantProps } from '@byyuurin/ui-kit';
2
2
  import type { PrimitiveProps } from 'reka-ui';
3
3
  import theme from '#build/ui/alert';
4
- import type { AvatarProps, ButtonProps, ComponentBaseProps, ComponentStyler, ComponentUIProps, IconProps } from '../types';
4
+ import type { AvatarProps, ButtonProps, ComponentBaseProps, ComponentStyler, ComponentUIProps, IconProps, LinkPropsKeys } from '../types';
5
5
  import type { StaticSlot } from '../types/utils';
6
6
  type ThemeVariants = VariantProps<typeof theme>;
7
7
  export interface AlertProps extends ComponentBaseProps {
@@ -33,7 +33,7 @@ export interface AlertProps extends ComponentBaseProps {
33
33
  * Display a close button to dismiss the alert.
34
34
  * @default false
35
35
  */
36
- close?: boolean | Partial<ButtonProps>;
36
+ close?: boolean | Omit<ButtonProps, LinkPropsKeys>;
37
37
  /**
38
38
  * The icon displayed in the close button.
39
39
  * @default app.icons.close
@@ -55,6 +55,8 @@ export interface AlertSlots {
55
55
  ui: ComponentStyler<typeof theme>;
56
56
  }>;
57
57
  }
58
+ declare const _default: typeof __VLS_export;
59
+ export default _default;
58
60
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<AlertProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
59
61
  "update:open": (open: boolean) => any;
60
62
  }, string, import("vue").PublicProps, Readonly<AlertProps> & Readonly<{
@@ -62,8 +64,6 @@ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<AlertP
62
64
  }>, {
63
65
  orientation: "horizontal" | "vertical";
64
66
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, AlertSlots>;
65
- declare const _default: typeof __VLS_export;
66
- export default _default;
67
67
  type __VLS_WithSlots<T, S> = T & {
68
68
  new (): {
69
69
  $slots: S;
@@ -15,6 +15,7 @@ const props = defineProps({
15
15
  tooltip: { type: Object, required: false },
16
16
  locale: { type: Object, required: false },
17
17
  portal: { type: [Boolean, String], required: false, skipCheck: true, default: "body" },
18
+ dir: { type: String, required: false },
18
19
  scrollBody: { type: [Boolean, Object], required: false },
19
20
  nonce: { type: String, required: false }
20
21
  });
@@ -29,7 +30,7 @@ providePortalTarget(portal);
29
30
  </script>
30
31
 
31
32
  <template>
32
- <ConfigProvider :use-id="() => useId()" :dir="locale?.dir" :locale="locale?.code" v-bind="configProviderProps">
33
+ <ConfigProvider :use-id="() => useId()" :dir="props.dir || locale?.dir" :locale="locale?.code" v-bind="configProviderProps">
33
34
  <TooltipProvider v-bind="tooltipProps">
34
35
  <ToastProvider v-if="props.toaster !== null" v-bind="toastProviderProps">
35
36
  <slot></slot>
@@ -1,7 +1,7 @@
1
1
  import type { ConfigProviderProps, TooltipProviderProps } from 'reka-ui';
2
2
  import type { Locale, Messages, ToastProviderProps } from '../types';
3
3
  import type { MaybeNull, StaticSlot } from '../types/utils';
4
- export interface AppProps<T extends Messages = Messages> extends Omit<ConfigProviderProps, 'useId' | 'dir' | 'locale'> {
4
+ export interface AppProps<T extends Messages = Messages> extends Omit<ConfigProviderProps, 'useId' | 'locale'> {
5
5
  toaster?: MaybeNull<ToastProviderProps>;
6
6
  tooltip?: TooltipProviderProps;
7
7
  locale?: Locale<T>;
@@ -10,8 +10,12 @@ export interface AppProps<T extends Messages = Messages> extends Omit<ConfigProv
10
10
  export interface AppSlots {
11
11
  default: StaticSlot;
12
12
  }
13
- declare const __VLS_export: <T extends Messages>(__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<{
14
- props: __VLS_PrettifyLocal<AppProps<T>> & import("vue").PublicProps;
13
+ declare const _default: typeof __VLS_export;
14
+ export default _default;
15
+ declare const __VLS_export: <T extends Messages>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
16
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<AppProps<T>> & (typeof globalThis extends {
17
+ __VLS_PROPS_FALLBACK: infer P;
18
+ } ? P : {});
15
19
  expose: (exposed: {}) => void;
16
20
  attrs: any;
17
21
  slots: AppSlots;
@@ -19,8 +23,8 @@ declare const __VLS_export: <T extends Messages>(__VLS_props: NonNullable<Awaite
19
23
  }>) => import("vue").VNode & {
20
24
  __ctx?: Awaited<typeof __VLS_setup>;
21
25
  };
22
- declare const _default: typeof __VLS_export;
23
- export default _default;
24
- type __VLS_PrettifyLocal<T> = {
26
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
27
+ [K in keyof T]: T[K];
28
+ } : {
25
29
  [K in keyof T as K]: T[K];
26
- } & {};
30
+ }) & {};
@@ -9,6 +9,7 @@ import { computed, shallowRef, watch } from "vue";
9
9
  import ImageComponent from "#build/ui-image-component";
10
10
  import { useAppConfig } from "#imports";
11
11
  import { useAvatarGroup } from "../composables/useAvatarGroup";
12
+ import { pick } from "../utils";
12
13
  import { cv, merge } from "../utils/style";
13
14
  import Chip from "./Chip.vue";
14
15
  import Icon from "./Icon.vue";
@@ -36,7 +37,7 @@ const appConfig = useAppConfig();
36
37
  const ui = computed(() => {
37
38
  const styler = cv(merge(theme, appConfig.ui.avatar));
38
39
  return styler({
39
- ...props,
40
+ ...pick(props, []),
40
41
  size: size.value
41
42
  });
42
43
  });
@@ -2,13 +2,14 @@ import type { VariantProps } from '@byyuurin/ui-kit';
2
2
  import type { PrimitiveProps } from 'reka-ui';
3
3
  import theme from '#build/ui/avatar';
4
4
  import type { ChipProps, ComponentBaseProps, ComponentUIProps, IconProps } from '../types';
5
+ import type { ImgHTMLAttributes } from '../types/html';
5
6
  import type { StaticSlot } from '../types/utils';
6
7
  type ThemeVariants = VariantProps<typeof theme>;
7
8
  interface InnerAs {
8
9
  root?: PrimitiveProps['as'];
9
10
  img?: PrimitiveProps['as'];
10
11
  }
11
- export interface AvatarProps extends ComponentBaseProps {
12
+ export interface AvatarProps extends ComponentBaseProps, /** @vue-ignore */ Omit<ImgHTMLAttributes, 'src' | 'alt'> {
12
13
  /**
13
14
  * The element or component this component should render as.
14
15
  * @default "span"
@@ -27,11 +28,11 @@ export interface AvatarProps extends ComponentBaseProps {
27
28
  export interface AvatarSlots {
28
29
  default: StaticSlot;
29
30
  }
31
+ declare const _default: typeof __VLS_export;
32
+ export default _default;
30
33
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<AvatarProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AvatarProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
31
34
  default?: (props: {}) => any;
32
35
  }>;
33
- declare const _default: typeof __VLS_export;
34
- export default _default;
35
36
  type __VLS_WithSlots<T, S> = T & {
36
37
  new (): {
37
38
  $slots: S;
@@ -7,6 +7,7 @@ import { Primitive } from "reka-ui";
7
7
  import { computed } from "vue";
8
8
  import { useAppConfig } from "#imports";
9
9
  import { provideAvatarGroup } from "../composables/useAvatarGroup";
10
+ import { pick } from "../utils";
10
11
  import { cv, merge } from "../utils/style";
11
12
  import Avatar from "./Avatar.vue";
12
13
  const props = defineProps({
@@ -47,7 +48,7 @@ const hiddenCount = computed(() => {
47
48
  const appConfig = useAppConfig();
48
49
  const ui = computed(() => {
49
50
  const styler = cv(merge(theme, appConfig.ui.avatarGroup));
50
- return styler(props);
51
+ return styler(pick(props, ["size"]));
51
52
  });
52
53
  provideAvatarGroup(computed(() => props));
53
54
  </script>
@@ -20,9 +20,9 @@ export interface AvatarGroupProps extends ComponentBaseProps {
20
20
  export interface AvatarGroupSlots {
21
21
  default: StaticSlot;
22
22
  }
23
- declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<AvatarGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AvatarGroupProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, AvatarGroupSlots>;
24
23
  declare const _default: typeof __VLS_export;
25
24
  export default _default;
25
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<AvatarGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AvatarGroupProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, AvatarGroupSlots>;
26
26
  type __VLS_WithSlots<T, S> = T & {
27
27
  new (): {
28
28
  $slots: S;
@@ -8,6 +8,7 @@ import { computed } from "vue";
8
8
  import { useAppConfig } from "#imports";
9
9
  import { useComponentIcons } from "../composables/useComponentIcons";
10
10
  import { useFieldGroup } from "../composables/useFieldGroup";
11
+ import { pick } from "../utils";
11
12
  import { cv, merge } from "../utils/style";
12
13
  import Avatar from "./Avatar.vue";
13
14
  import Icon from "./Icon.vue";
@@ -34,10 +35,10 @@ const appConfig = useAppConfig();
34
35
  const ui = computed(() => {
35
36
  const styler = cv(merge(theme, appConfig.ui.badge));
36
37
  return styler({
37
- ...props,
38
+ ...pick(props, ["color", "variant"]),
38
39
  size: size.value,
39
- fieldGroup: orientation.value,
40
- square: props.square || !slots.default && !props.label
40
+ square: props.square || !slots.default && !props.label,
41
+ fieldGroup: orientation.value
41
42
  });
42
43
  });
43
44
  </script>
@@ -33,11 +33,11 @@ export interface BadgeSlots {
33
33
  ui: ComponentStyler<typeof theme>;
34
34
  }>;
35
35
  }
36
+ declare const _default: typeof __VLS_export;
37
+ export default _default;
36
38
  declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<BadgeProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<BadgeProps> & Readonly<{}>, {
37
39
  as: import("reka-ui").AsTag | import("vue").Component;
38
40
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, BadgeSlots>;
39
- declare const _default: typeof __VLS_export;
40
- export default _default;
41
41
  type __VLS_WithSlots<T, S> = T & {
42
42
  new (): {
43
43
  $slots: S;
@@ -7,7 +7,7 @@ import { Primitive } from "reka-ui";
7
7
  import { computed } from "vue";
8
8
  import { useAppConfig } from "#imports";
9
9
  import { useLocale } from "../composables/useLocale";
10
- import { get, pickLinkProps } from "../utils";
10
+ import { get, pick, pickLinkProps } from "../utils";
11
11
  import { cv, merge } from "../utils/style";
12
12
  import Avatar from "./Avatar.vue";
13
13
  import Icon from "./Icon.vue";
@@ -27,7 +27,7 @@ const appConfig = useAppConfig();
27
27
  const separatorIcon = computed(() => props.separatorIcon || (dir.value === "rtl" ? appConfig.ui.icons.chevronLeft : appConfig.ui.icons.chevronRight));
28
28
  const ui = computed(() => {
29
29
  const styler = cv(merge(theme, appConfig.ui.breadcrumb));
30
- return styler(props);
30
+ return styler(pick(props, []));
31
31
  });
32
32
  </script>
33
33
 
@@ -63,8 +63,12 @@ export type BreadcrumbSlots<T extends BreadcrumbItem = BreadcrumbItem> = {
63
63
  active?: boolean;
64
64
  ui: ComponentStyler<typeof theme>;
65
65
  }>;
66
- declare const __VLS_export: <T extends BreadcrumbItem>(__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<{
67
- props: __VLS_PrettifyLocal<BreadcrumbProps<T>> & import("vue").PublicProps;
66
+ declare const _default: typeof __VLS_export;
67
+ export default _default;
68
+ declare const __VLS_export: <T extends BreadcrumbItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
69
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<BreadcrumbProps<T>> & (typeof globalThis extends {
70
+ __VLS_PROPS_FALLBACK: infer P;
71
+ } ? P : {});
68
72
  expose: (exposed: {}) => void;
69
73
  attrs: any;
70
74
  slots: BreadcrumbSlots<T>;
@@ -72,8 +76,8 @@ declare const __VLS_export: <T extends BreadcrumbItem>(__VLS_props: NonNullable<
72
76
  }>) => import("vue").VNode & {
73
77
  __ctx?: Awaited<typeof __VLS_setup>;
74
78
  };
75
- declare const _default: typeof __VLS_export;
76
- export default _default;
77
- type __VLS_PrettifyLocal<T> = {
79
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
80
+ [K in keyof T]: T[K];
81
+ } : {
78
82
  [K in keyof T as K]: T[K];
79
- } & {};
83
+ }) & {};
@@ -9,7 +9,7 @@ import { useAppConfig } from "#imports";
9
9
  import { useComponentIcons } from "../composables/useComponentIcons";
10
10
  import { useFieldGroup } from "../composables/useFieldGroup";
11
11
  import { injectFormLoading } from "../composables/useFormField";
12
- import { omit, pickLinkProps } from "../utils";
12
+ import { omit, pick, pickLinkProps } from "../utils";
13
13
  import { cv, merge } from "../utils/style";
14
14
  import Avatar from "./Avatar.vue";
15
15
  import Icon from "./Icon.vue";
@@ -47,13 +47,14 @@ const props = defineProps({
47
47
  to: { type: null, required: false },
48
48
  href: { type: null, required: false },
49
49
  external: { type: Boolean, required: false },
50
- target: { type: [String, Object], required: false },
51
- rel: { type: [String, Object], required: false },
50
+ target: { type: [String, Object, null], required: false },
51
+ rel: { type: [String, Object, null], required: false },
52
52
  noRel: { type: Boolean, required: false },
53
53
  prefetchedClass: { type: String, required: false },
54
54
  prefetch: { type: Boolean, required: false },
55
55
  prefetchOn: { type: [String, Object], required: false },
56
56
  noPrefetch: { type: Boolean, required: false },
57
+ trailingSlash: { type: String, required: false },
57
58
  activeClass: { type: String, required: false },
58
59
  exactActiveClass: { type: String, required: false },
59
60
  ariaCurrentValue: { type: String, required: false },
@@ -96,14 +97,13 @@ const ui = computed(() => {
96
97
  };
97
98
  const styler = cv(merge(theme, uiConfig));
98
99
  return styler({
99
- ...props,
100
- loading: isLoading.value,
100
+ ...pick(props, ["color", "variant", "block"]),
101
101
  size: size.value,
102
- fieldGroup: orientation.value,
103
- block: props.block,
102
+ loading: isLoading.value,
104
103
  square: props.square || !slots.default && !props.label,
105
104
  leading: isLeading.value,
106
- trailing: isTrailing.value
105
+ trailing: isTrailing.value,
106
+ fieldGroup: orientation.value
107
107
  });
108
108
  });
109
109
  </script>
@@ -35,9 +35,9 @@ export interface ButtonSlots {
35
35
  ui: ComponentStyler<typeof theme>;
36
36
  }>;
37
37
  }
38
- declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ButtonProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ButtonSlots>;
39
38
  declare const _default: typeof __VLS_export;
40
39
  export default _default;
40
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<ButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ButtonProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ButtonSlots>;
41
41
  type __VLS_WithSlots<T, S> = T & {
42
42
  new (): {
43
43
  $slots: S;
@@ -9,6 +9,7 @@ import { Calendar as BaseCalendar, RangeCalendar } from "reka-ui/namespaced";
9
9
  import { computed } from "vue";
10
10
  import { useAppConfig } from "#imports";
11
11
  import { useLocale } from "../composables/useLocale";
12
+ import { pick } from "../utils";
12
13
  import { cv, merge } from "../utils/style";
13
14
  import Button from "./Button.vue";
14
15
  const props = defineProps({
@@ -63,7 +64,7 @@ const appConfig = useAppConfig();
63
64
  const ui = computed(() => {
64
65
  const styler = cv(merge(theme, appConfig.ui.calendar));
65
66
  return styler({
66
- ...props,
67
+ ...pick(props, ["color", "variant", "size"]),
67
68
  outsideView: props.numberOfMonths === 1
68
69
  });
69
70
  });
@@ -2,7 +2,7 @@ import type { VariantProps } from '@byyuurin/ui-kit';
2
2
  import type { DateValue } from '@internationalized/date';
3
3
  import type { CalendarCellTriggerProps, CalendarRootEmits, CalendarRootProps, DateRange, RangeCalendarRootEmits, RangeCalendarRootProps } from 'reka-ui';
4
4
  import theme from '#build/ui/calendar';
5
- import type { ButtonProps, ComponentBaseProps, ComponentUIProps, IconProps } from '../types';
5
+ import type { ButtonProps, ComponentBaseProps, ComponentUIProps, IconProps, LinkPropsKeys } from '../types';
6
6
  import type { MaybeNull, StaticSlot } from '../types/utils';
7
7
  type CalendarDefaultValue<R extends boolean = false, M extends boolean = false> = R extends true ? DateRange : M extends true ? DateValue[] : DateValue;
8
8
  type CalendarModelValue<R extends boolean = false, M extends boolean = false> = R extends true ? MaybeNull<DateRange> : M extends true ? (DateValue[] | undefined) : (DateValue | undefined);
@@ -23,7 +23,7 @@ export interface CalendarProps<R extends boolean = false, M extends boolean = fa
23
23
  /**
24
24
  * Configure the next year button.
25
25
  */
26
- nextYear?: ButtonProps;
26
+ nextYear?: Omit<ButtonProps, LinkPropsKeys>;
27
27
  /**
28
28
  * The icon to use for the next month control.
29
29
  * @default app.icons.chevronRight
@@ -32,7 +32,7 @@ export interface CalendarProps<R extends boolean = false, M extends boolean = fa
32
32
  /**
33
33
  * Configure the next month button.
34
34
  */
35
- nextMonth?: ButtonProps;
35
+ nextMonth?: Omit<ButtonProps, LinkPropsKeys>;
36
36
  /**
37
37
  * The icon to use for the previous year control.
38
38
  * @default app.icons.chevronDoubleLeft
@@ -41,7 +41,7 @@ export interface CalendarProps<R extends boolean = false, M extends boolean = fa
41
41
  /**
42
42
  * Configure the prev year button.
43
43
  */
44
- prevYear?: ButtonProps;
44
+ prevYear?: Omit<ButtonProps, LinkPropsKeys>;
45
45
  /**
46
46
  * The icon to use for the previous month control.
47
47
  * @default app.icons.chevronLeft
@@ -50,7 +50,7 @@ export interface CalendarProps<R extends boolean = false, M extends boolean = fa
50
50
  /**
51
51
  * Configure the prev month button.
52
52
  */
53
- prevMonth?: ButtonProps;
53
+ prevMonth?: Omit<ButtonProps, LinkPropsKeys>;
54
54
  /**
55
55
  * @default "md"
56
56
  */
@@ -81,13 +81,17 @@ export interface CalendarSlots {
81
81
  day: string;
82
82
  }>;
83
83
  }
84
- declare const __VLS_export: <R extends boolean, M extends boolean>(__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<{
85
- props: __VLS_PrettifyLocal<CalendarProps<R, M> & {
84
+ declare const _default: typeof __VLS_export;
85
+ export default _default;
86
+ declare const __VLS_export: <R extends boolean, M extends boolean>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
87
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<CalendarProps<R, M> & {
86
88
  "onUpdate:modelValue"?: ((date: CalendarModelValue<R, M>) => any) | undefined;
87
89
  "onUpdate:placeholder"?: ((...args: DateValue[]) => any) | undefined;
88
90
  "onUpdate:validModelValue"?: ((date: DateRange) => any) | undefined;
89
91
  "onUpdate:startValue"?: ((date: DateValue | undefined) => any) | undefined;
90
- }> & import("vue").PublicProps;
92
+ }> & (typeof globalThis extends {
93
+ __VLS_PROPS_FALLBACK: infer P;
94
+ } ? P : {});
91
95
  expose: (exposed: {}) => void;
92
96
  attrs: any;
93
97
  slots: CalendarSlots;
@@ -95,8 +99,8 @@ declare const __VLS_export: <R extends boolean, M extends boolean>(__VLS_props:
95
99
  }>) => import("vue").VNode & {
96
100
  __ctx?: Awaited<typeof __VLS_setup>;
97
101
  };
98
- declare const _default: typeof __VLS_export;
99
- export default _default;
100
- type __VLS_PrettifyLocal<T> = {
102
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
103
+ [K in keyof T]: T[K];
104
+ } : {
101
105
  [K in keyof T as K]: T[K];
102
- } & {};
106
+ }) & {};
@@ -6,6 +6,7 @@ import theme from "#build/ui/card";
6
6
  import { Primitive } from "reka-ui";
7
7
  import { computed } from "vue";
8
8
  import { useAppConfig } from "#imports";
9
+ import { pick } from "../utils";
9
10
  import { cv, merge } from "../utils/style";
10
11
  const props = defineProps({
11
12
  as: { type: null, required: false },
@@ -19,7 +20,7 @@ const slots = defineSlots();
19
20
  const appConfig = useAppConfig();
20
21
  const ui = computed(() => {
21
22
  const styler = cv(merge(theme, appConfig.ui.card));
22
- return styler(props);
23
+ return styler(pick(props, ["variant"]));
23
24
  });
24
25
  </script>
25
26
 
@@ -24,9 +24,9 @@ export interface CardSlots {
24
24
  description: StaticSlot;
25
25
  footer: StaticSlot;
26
26
  }
27
- declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<CardProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<CardProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, CardSlots>;
28
27
  declare const _default: typeof __VLS_export;
29
28
  export default _default;
29
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<CardProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<CardProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, CardSlots>;
30
30
  type __VLS_WithSlots<T, S> = T & {
31
31
  new (): {
32
32
  $slots: S;
@@ -9,6 +9,7 @@ import { Primitive, useForwardProps } from "reka-ui";
9
9
  import { computed, onBeforeMount, onMounted, ref, watch } from "vue";
10
10
  import { useAppConfig } from "#imports";
11
11
  import { useLocale } from "../composables/useLocale";
12
+ import { pick } from "../utils";
12
13
  import { cv, merge } from "../utils/style";
13
14
  import Button from "./Button.vue";
14
15
  const props = defineProps({
@@ -52,7 +53,7 @@ const { t, dir } = useLocale();
52
53
  const appConfig = useAppConfig();
53
54
  const ui = computed(() => {
54
55
  const styler = cv(merge(theme, appConfig.ui.carousel));
55
- return styler(props);
56
+ return styler(pick(props, ["orientation"]));
56
57
  });
57
58
  const rootProps = useForwardProps(reactivePick(props, "active", "align", "breakpoints", "containScroll", "dragFree", "dragThreshold", "duration", "inViewThreshold", "loop", "skipSnaps", "slidesToScroll", "startIndex", "watchDrag", "watchResize", "watchSlides", "watchFocus"));
58
59
  const prevIcon = computed(() => props.prevIcon || (dir.value === "rtl" ? appConfig.ui.icons.chevronRight : appConfig.ui.icons.chevronLeft));
@@ -8,7 +8,7 @@ import type { FadeOptionsType } from 'embla-carousel-fade';
8
8
  import type { WheelGesturesPluginOptions } from 'embla-carousel-wheel-gestures';
9
9
  import type { PrimitiveProps } from 'reka-ui';
10
10
  import theme from '#build/ui/carousel';
11
- import type { ButtonProps, ComponentBaseProps, ComponentUIProps } from '../types';
11
+ import type { ButtonProps, ComponentBaseProps, ComponentUIProps, LinkPropsKeys } from '../types';
12
12
  import type { AcceptableValue, StaticSlot } from '../types/utils';
13
13
  export type CarouselValue = AcceptableValue;
14
14
  export type CarouselItem = AcceptableValue | {
@@ -27,7 +27,7 @@ export interface CarouselProps<T extends CarouselItem = CarouselItem> extends Co
27
27
  * Configure the prev button when arrows are enabled.
28
28
  * @default { size: 'md', variant: 'link' }
29
29
  */
30
- prev?: ButtonProps;
30
+ prev?: Omit<ButtonProps, LinkPropsKeys>;
31
31
  /**
32
32
  * The icon displayed in the prev button.
33
33
  * @default app.icons.chevronLeft
@@ -37,7 +37,7 @@ export interface CarouselProps<T extends CarouselItem = CarouselItem> extends Co
37
37
  * Configure the next button when arrows are enabled.
38
38
  * @default { size: 'md', variant: 'link' }
39
39
  */
40
- next?: ButtonProps;
40
+ next?: Omit<ButtonProps, LinkPropsKeys>;
41
41
  /**
42
42
  * The icon displayed in the next button.
43
43
  * @default app.icons.chevronRight
@@ -104,10 +104,14 @@ export interface CarouselSlots<T extends CarouselItem = CarouselItem> {
104
104
  index: number;
105
105
  }>;
106
106
  }
107
- declare const __VLS_export: <T extends CarouselItem>(__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<{
108
- props: __VLS_PrettifyLocal<CarouselProps<T> & {
107
+ declare const _default: typeof __VLS_export;
108
+ export default _default;
109
+ declare const __VLS_export: <T extends CarouselItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
110
+ props: import("vue").PublicProps & __VLS_PrettifyLocal<CarouselProps<T> & {
109
111
  onSelect?: ((selectedIndex: number) => any) | undefined;
110
- }> & import("vue").PublicProps;
112
+ }> & (typeof globalThis extends {
113
+ __VLS_PROPS_FALLBACK: infer P;
114
+ } ? P : {});
111
115
  expose: (exposed: import("vue").ShallowUnwrapRef<{
112
116
  emblaRef: import("vue").Ref<HTMLElement | undefined, HTMLElement | undefined>;
113
117
  emblaApi: import("vue").Ref<EmblaCarouselType | undefined, EmblaCarouselType | undefined>;
@@ -118,8 +122,8 @@ declare const __VLS_export: <T extends CarouselItem>(__VLS_props: NonNullable<Aw
118
122
  }>) => import("vue").VNode & {
119
123
  __ctx?: Awaited<typeof __VLS_setup>;
120
124
  };
121
- declare const _default: typeof __VLS_export;
122
- export default _default;
123
- type __VLS_PrettifyLocal<T> = {
125
+ type __VLS_PrettifyLocal<T> = (T extends any ? {
126
+ [K in keyof T]: T[K];
127
+ } : {
124
128
  [K in keyof T as K]: T[K];
125
- } & {};
129
+ }) & {};