@byyuurin/ui 0.0.11 → 0.2.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.
- package/README.md +170 -58
- package/dist/module.d.mts +4 -13
- package/dist/module.json +4 -4
- package/dist/module.mjs +54 -20
- package/dist/runtime/components/Accordion.vue +28 -23
- package/dist/runtime/components/Accordion.vue.d.ts +51 -29
- package/dist/runtime/components/Alert.vue +47 -27
- package/dist/runtime/components/Alert.vue.d.ts +37 -25
- package/dist/runtime/components/App.vue +9 -8
- package/dist/runtime/components/App.vue.d.ts +22 -20
- package/dist/runtime/components/Avatar.vue +65 -21
- package/dist/runtime/components/Avatar.vue.d.ts +27 -13
- package/dist/runtime/components/AvatarGroup.vue +14 -10
- package/dist/runtime/components/AvatarGroup.vue.d.ts +12 -9
- package/dist/runtime/components/Badge.vue +64 -32
- package/dist/runtime/components/Badge.vue.d.ts +30 -29
- package/dist/runtime/components/Breadcrumb.vue +40 -22
- package/dist/runtime/components/Breadcrumb.vue.d.ts +48 -21
- package/dist/runtime/components/Button.vue +113 -52
- package/dist/runtime/components/Button.vue.d.ts +36 -20
- package/dist/runtime/components/Calendar.vue +50 -43
- package/dist/runtime/components/Calendar.vue.d.ts +58 -31
- package/dist/runtime/components/Card.vue +18 -14
- package/dist/runtime/components/Card.vue.d.ts +18 -14
- package/dist/runtime/components/Carousel.vue +99 -46
- package/dist/runtime/components/Carousel.vue.d.ts +46 -25
- package/dist/runtime/components/Checkbox.vue +60 -35
- package/dist/runtime/components/Checkbox.vue.d.ts +35 -28
- package/dist/runtime/components/CheckboxGroup.vue +131 -0
- package/dist/runtime/components/CheckboxGroup.vue.d.ts +89 -0
- package/dist/runtime/components/Chip.vue +35 -32
- package/dist/runtime/components/Chip.vue.d.ts +33 -15
- package/dist/runtime/components/Collapsible.vue +13 -9
- package/dist/runtime/components/Collapsible.vue.d.ts +16 -8
- package/dist/runtime/components/Drawer.vue +80 -70
- package/dist/runtime/components/Drawer.vue.d.ts +51 -28
- package/dist/runtime/components/DropdownMenu.vue +23 -16
- package/dist/runtime/components/DropdownMenu.vue.d.ts +77 -36
- package/dist/runtime/components/DropdownMenuContent.vue +136 -106
- package/dist/runtime/components/DropdownMenuContent.vue.d.ts +38 -26
- package/dist/runtime/components/FieldGroup.vue +33 -0
- package/dist/runtime/components/FieldGroup.vue.d.ts +33 -0
- package/dist/runtime/components/Form.vue +172 -88
- package/dist/runtime/components/Form.vue.d.ts +69 -44
- package/dist/runtime/components/FormField.vue +108 -0
- package/dist/runtime/components/FormField.vue.d.ts +63 -0
- package/dist/runtime/components/Icon.vue +20 -0
- package/dist/runtime/components/Icon.vue.d.ts +9 -0
- package/dist/runtime/components/Input.vue +84 -79
- package/dist/runtime/components/Input.vue.d.ts +55 -43
- package/dist/runtime/components/InputNumber.vue +66 -52
- package/dist/runtime/components/InputNumber.vue.d.ts +50 -109
- package/dist/runtime/components/InputTags.vue +155 -0
- package/dist/runtime/components/InputTags.vue.d.ts +85 -0
- package/dist/runtime/components/Kbd.vue +11 -5
- package/dist/runtime/components/Kbd.vue.d.ts +17 -11
- package/dist/runtime/components/Link.vue +54 -197
- package/dist/runtime/components/Link.vue.d.ts +17 -17
- package/dist/runtime/components/LinkBase.vue +11 -33
- package/dist/runtime/components/LinkBase.vue.d.ts +8 -3
- package/dist/runtime/components/Marquee.vue +38 -0
- package/dist/runtime/components/Marquee.vue.d.ts +54 -0
- package/dist/runtime/components/Modal.vue +53 -39
- package/dist/runtime/components/Modal.vue.d.ts +64 -34
- package/dist/runtime/components/NavigationMenu.vue +345 -0
- package/dist/runtime/components/NavigationMenu.vue.d.ts +216 -0
- package/dist/runtime/components/OverlayProvider.vue +3 -3
- package/dist/runtime/components/OverlayProvider.vue.d.ts +2 -1
- package/dist/runtime/components/Pagination.vue +39 -47
- package/dist/runtime/components/Pagination.vue.d.ts +54 -31
- package/dist/runtime/components/PinInput.vue +46 -32
- package/dist/runtime/components/PinInput.vue.d.ts +40 -21
- package/dist/runtime/components/Popover.vue +33 -19
- package/dist/runtime/components/Popover.vue.d.ts +57 -32
- package/dist/runtime/components/Progress.vue +31 -26
- package/dist/runtime/components/Progress.vue.d.ts +32 -23
- package/dist/runtime/components/RadioGroup.vue +75 -48
- package/dist/runtime/components/RadioGroup.vue.d.ts +58 -36
- package/dist/runtime/components/ScrollArea.vue +33 -31
- package/dist/runtime/components/ScrollArea.vue.d.ts +9 -5
- package/dist/runtime/components/Select.vue +166 -76
- package/dist/runtime/components/Select.vue.d.ts +206 -65
- package/dist/runtime/components/Separator.vue +42 -16
- package/dist/runtime/components/Separator.vue.d.ts +35 -14
- package/dist/runtime/components/Skeleton.vue +18 -6
- package/dist/runtime/components/Skeleton.vue.d.ts +4 -4
- package/dist/runtime/components/Slider.vue +42 -24
- package/dist/runtime/components/Slider.vue.d.ts +43 -27
- package/dist/runtime/components/Switch.vue +40 -31
- package/dist/runtime/components/Switch.vue.d.ts +36 -27
- package/dist/runtime/components/Table.vue +329 -79
- package/dist/runtime/components/Table.vue.d.ts +152 -66
- package/dist/runtime/components/Tabs.vue +70 -23
- package/dist/runtime/components/Tabs.vue.d.ts +61 -29
- package/dist/runtime/components/Textarea.vue +102 -54
- package/dist/runtime/components/Textarea.vue.d.ts +57 -41
- package/dist/runtime/components/Timeline.vue +102 -0
- package/dist/runtime/components/Timeline.vue.d.ts +74 -0
- package/dist/runtime/components/Toast.vue +84 -38
- package/dist/runtime/components/Toast.vue.d.ts +48 -27
- package/dist/runtime/components/ToastProvider.vue +31 -22
- package/dist/runtime/components/ToastProvider.vue.d.ts +30 -17
- package/dist/runtime/components/Tooltip.vue +33 -21
- package/dist/runtime/components/Tooltip.vue.d.ts +37 -15
- package/dist/runtime/composables/defineShortcuts.d.ts +16 -0
- package/dist/runtime/composables/defineShortcuts.js +129 -0
- package/dist/runtime/composables/useAvatarGroup.d.ts +8 -3
- package/dist/runtime/composables/useAvatarGroup.js +10 -3
- package/dist/runtime/composables/useComponentIcons.d.ts +9 -6
- package/dist/runtime/composables/useComponentIcons.js +4 -4
- package/dist/runtime/composables/useFieldGroup.d.ts +8 -0
- package/dist/runtime/composables/useFieldGroup.js +14 -0
- package/dist/runtime/composables/useFormField.d.ts +62 -0
- package/dist/runtime/composables/useFormField.js +99 -0
- package/dist/runtime/composables/useKbd.d.ts +3 -2
- package/dist/runtime/composables/useKbd.js +3 -2
- package/dist/runtime/composables/useLocale.d.ts +68 -5
- package/dist/runtime/composables/useLocale.js +11 -11
- package/dist/runtime/composables/useOverlay.d.ts +51 -15
- package/dist/runtime/composables/useOverlay.js +44 -30
- package/dist/runtime/composables/usePortal.d.ts +6 -0
- package/dist/runtime/composables/usePortal.js +17 -0
- package/dist/runtime/composables/useToast.d.ts +12 -5
- package/dist/runtime/composables/useToast.js +12 -7
- package/dist/runtime/locale/en.d.ts +30 -1
- package/dist/runtime/locale/en.js +2 -1
- package/dist/runtime/locale/index.d.ts +2 -2
- package/dist/runtime/locale/index.js +1 -1
- package/dist/runtime/locale/zh_tw.d.ts +31 -0
- package/dist/runtime/locale/{zh-tw.js → zh_tw.js} +2 -1
- package/dist/runtime/plugins/colors.d.ts +2 -0
- package/dist/runtime/plugins/colors.js +50 -0
- package/dist/runtime/types/app.config.d.ts +6 -0
- package/dist/runtime/types/form.d.ts +58 -17
- package/dist/runtime/types/form.js +11 -0
- package/dist/runtime/types/index.d.ts +56 -8
- package/dist/runtime/types/index.js +49 -1
- package/dist/runtime/types/input.d.ts +8 -0
- package/dist/runtime/types/locale.d.ts +5 -0
- package/dist/runtime/types/style.d.ts +33 -0
- package/dist/runtime/types/style.js +0 -0
- package/dist/runtime/types/unocss.d.ts +4 -0
- package/dist/runtime/types/utils.d.ts +41 -37
- package/dist/runtime/utils/form.d.ts +5 -1
- package/dist/runtime/utils/form.js +49 -0
- package/dist/runtime/utils/index.d.ts +10 -13
- package/dist/runtime/utils/index.js +41 -48
- package/dist/runtime/utils/link.d.ts +3 -2
- package/dist/runtime/utils/link.js +16 -2
- package/dist/runtime/utils/locale.d.ts +5 -0
- package/dist/runtime/utils/locale.js +10 -0
- package/dist/runtime/utils/style.d.ts +94 -0
- package/dist/runtime/utils/style.js +37 -0
- package/dist/runtime/vue/components/Icon.vue +15 -0
- package/dist/runtime/vue/components/Icon.vue.d.ts +7 -0
- package/dist/runtime/vue/components/Link.vue +163 -0
- package/dist/runtime/vue/components/Link.vue.d.ts +95 -0
- package/dist/runtime/vue/composables/useAppConfig.d.ts +1 -0
- package/dist/runtime/vue/composables/useAppConfig.js +4 -0
- package/dist/runtime/vue/plugins/color-mode.d.ts +4 -0
- package/dist/runtime/vue/plugins/color-mode.js +6 -0
- package/dist/runtime/vue/plugins/head.d.ts +4 -0
- package/dist/runtime/vue/plugins/head.js +9 -0
- package/dist/runtime/vue/stubs.d.ts +16 -1
- package/dist/runtime/vue/stubs.js +32 -1
- package/dist/setup.d.mts +13 -0
- package/dist/setup.mjs +12 -0
- package/dist/shared/ui.CzIlLITK.mjs +51 -0
- package/dist/shared/ui.DLOxhmP0.mjs +4242 -0
- package/dist/shared/ui.DpbffTXs.d.mts +84 -0
- package/dist/shared/ui.IulR-OYx.d.mts +64 -0
- package/dist/types.d.mts +3 -1
- package/dist/unocss.d.mts +12 -52
- package/dist/unocss.mjs +144 -254
- package/dist/unplugin.d.mts +13 -26
- package/dist/unplugin.mjs +193 -18
- package/dist/vite.d.mts +10 -1
- package/dist/vite.mjs +12 -3
- package/package.json +154 -87
- package/vue-plugin.d.ts +5 -0
- package/dist/module.d.ts +0 -13
- package/dist/module.mjs.map +0 -1
- package/dist/runtime/app/injections.d.ts +0 -9331
- package/dist/runtime/app/injections.js +0 -61
- package/dist/runtime/components/ButtonGroup.vue +0 -26
- package/dist/runtime/components/ButtonGroup.vue.d.ts +0 -26
- package/dist/runtime/components/FormItem.vue +0 -90
- package/dist/runtime/components/FormItem.vue.d.ts +0 -60
- package/dist/runtime/composables/useButtonGroup.d.ts +0 -5
- package/dist/runtime/composables/useButtonGroup.js +0 -9
- package/dist/runtime/composables/useFormItem.d.ts +0 -27
- package/dist/runtime/composables/useFormItem.js +0 -64
- package/dist/runtime/composables/useTheme.d.ts +0 -9
- package/dist/runtime/composables/useTheme.js +0 -23
- package/dist/runtime/index.d.ts +0 -44
- package/dist/runtime/index.js +0 -44
- package/dist/runtime/locale/zh-tw.d.ts +0 -2
- package/dist/runtime/theme/accordion.d.ts +0 -50
- package/dist/runtime/theme/accordion.js +0 -28
- package/dist/runtime/theme/alert.d.ts +0 -119
- package/dist/runtime/theme/alert.js +0 -47
- package/dist/runtime/theme/app.d.ts +0 -19
- package/dist/runtime/theme/app.js +0 -19
- package/dist/runtime/theme/avatar-group.d.ts +0 -46
- package/dist/runtime/theme/avatar-group.js +0 -32
- package/dist/runtime/theme/avatar.d.ts +0 -50
- package/dist/runtime/theme/avatar.js +0 -34
- package/dist/runtime/theme/badge.d.ts +0 -76
- package/dist/runtime/theme/badge.js +0 -92
- package/dist/runtime/theme/breadcrumb.d.ts +0 -61
- package/dist/runtime/theme/breadcrumb.js +0 -44
- package/dist/runtime/theme/button-group.d.ts +0 -60
- package/dist/runtime/theme/button-group.js +0 -42
- package/dist/runtime/theme/button.d.ts +0 -184
- package/dist/runtime/theme/button.js +0 -164
- package/dist/runtime/theme/calendar.d.ts +0 -58
- package/dist/runtime/theme/calendar.js +0 -86
- package/dist/runtime/theme/card.d.ts +0 -56
- package/dist/runtime/theme/card.js +0 -37
- package/dist/runtime/theme/carousel.d.ts +0 -107
- package/dist/runtime/theme/carousel.js +0 -43
- package/dist/runtime/theme/checkbox.d.ts +0 -82
- package/dist/runtime/theme/checkbox.js +0 -54
- package/dist/runtime/theme/chip.d.ts +0 -61
- package/dist/runtime/theme/chip.js +0 -66
- package/dist/runtime/theme/collapsible.d.ts +0 -32
- package/dist/runtime/theme/collapsible.js +0 -10
- package/dist/runtime/theme/drawer.d.ts +0 -142
- package/dist/runtime/theme/drawer.js +0 -113
- package/dist/runtime/theme/dropdown-menu.d.ts +0 -65
- package/dist/runtime/theme/dropdown-menu.js +0 -83
- package/dist/runtime/theme/form-item.d.ts +0 -70
- package/dist/runtime/theme/form-item.js +0 -34
- package/dist/runtime/theme/form.d.ts +0 -2
- package/dist/runtime/theme/form.js +0 -7
- package/dist/runtime/theme/index.d.ts +0 -41
- package/dist/runtime/theme/index.js +0 -41
- package/dist/runtime/theme/input-number.d.ts +0 -115
- package/dist/runtime/theme/input-number.js +0 -95
- package/dist/runtime/theme/input.d.ts +0 -172
- package/dist/runtime/theme/input.js +0 -151
- package/dist/runtime/theme/kbd.d.ts +0 -33
- package/dist/runtime/theme/kbd.js +0 -26
- package/dist/runtime/theme/link.d.ts +0 -38
- package/dist/runtime/theme/link.js +0 -26
- package/dist/runtime/theme/modal.d.ts +0 -42
- package/dist/runtime/theme/modal.js +0 -55
- package/dist/runtime/theme/pagination.d.ts +0 -74
- package/dist/runtime/theme/pagination.js +0 -17
- package/dist/runtime/theme/pinInput.d.ts +0 -94
- package/dist/runtime/theme/pinInput.js +0 -111
- package/dist/runtime/theme/popover.d.ts +0 -32
- package/dist/runtime/theme/popover.js +0 -13
- package/dist/runtime/theme/progress.d.ts +0 -180
- package/dist/runtime/theme/progress.js +0 -95
- package/dist/runtime/theme/radio-group.d.ts +0 -104
- package/dist/runtime/theme/radio-group.js +0 -61
- package/dist/runtime/theme/scroll-area.d.ts +0 -67
- package/dist/runtime/theme/scroll-area.js +0 -33
- package/dist/runtime/theme/select.d.ts +0 -186
- package/dist/runtime/theme/select.js +0 -173
- package/dist/runtime/theme/separator.d.ts +0 -74
- package/dist/runtime/theme/separator.js +0 -53
- package/dist/runtime/theme/skeleton.d.ts +0 -2
- package/dist/runtime/theme/skeleton.js +0 -7
- package/dist/runtime/theme/slider.d.ts +0 -70
- package/dist/runtime/theme/slider.js +0 -52
- package/dist/runtime/theme/switch.d.ts +0 -116
- package/dist/runtime/theme/switch.js +0 -78
- package/dist/runtime/theme/table.d.ts +0 -86
- package/dist/runtime/theme/table.js +0 -36
- package/dist/runtime/theme/tabs.d.ts +0 -129
- package/dist/runtime/theme/tabs.js +0 -146
- package/dist/runtime/theme/textarea.d.ts +0 -90
- package/dist/runtime/theme/textarea.js +0 -116
- package/dist/runtime/theme/toast-provider.d.ts +0 -116
- package/dist/runtime/theme/toast-provider.js +0 -97
- package/dist/runtime/theme/toast.d.ts +0 -83
- package/dist/runtime/theme/toast.js +0 -35
- package/dist/runtime/theme/tooltip.d.ts +0 -38
- package/dist/runtime/theme/tooltip.js +0 -11
- package/dist/runtime/types/components.d.ts +0 -42
- package/dist/runtime/utils/extend-theme.d.ts +0 -9
- package/dist/runtime/utils/extend-theme.js +0 -27
- package/dist/runtime/utils/styler.d.ts +0 -4
- package/dist/runtime/utils/styler.js +0 -10
- package/dist/runtime/utils/translator.d.ts +0 -18
- package/dist/runtime/utils/translator.js +0 -8
- package/dist/shared/ui.D1BTWZFB.mjs +0 -5
- package/dist/shared/ui.D1BTWZFB.mjs.map +0 -1
- package/dist/unocss.d.ts +0 -52
- package/dist/unocss.mjs.map +0 -1
- package/dist/unplugin.d.ts +0 -26
- package/dist/unplugin.mjs.map +0 -1
- package/dist/vite.d.ts +0 -9
- package/dist/vite.mjs.map +0 -1
- /package/dist/runtime/types/{components.js → input.js} +0 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { ClassProp, ClassValue, CVDefaultVariants, CVParts, CVScopeMeta, CVVariants, MaybeArray, StringToBoolean, VariantProps } from '@byyuurin/ui-kit';
|
|
2
|
+
export interface ComponentBaseProps {
|
|
3
|
+
class?: ClassValue;
|
|
4
|
+
}
|
|
5
|
+
export type ComponentStyler<T> = T extends {
|
|
6
|
+
parts: infer P;
|
|
7
|
+
variants: infer V;
|
|
8
|
+
} ? {
|
|
9
|
+
[Part in keyof P]: V extends undefined ? (props: {
|
|
10
|
+
class?: ClassValue;
|
|
11
|
+
}) => string : (props?: VariantProps<T> & {
|
|
12
|
+
class?: ClassValue;
|
|
13
|
+
}) => string;
|
|
14
|
+
} : Record<string, never>;
|
|
15
|
+
export type ComponentUIProps<T> = T extends {
|
|
16
|
+
parts: infer P;
|
|
17
|
+
} ? {
|
|
18
|
+
[Part in keyof P]?: string;
|
|
19
|
+
} : Record<string, never>;
|
|
20
|
+
type UIConfigPartial<T> = {
|
|
21
|
+
[P in keyof T as T[P] extends undefined ? never : P]?: T[P] extends Array<infer V> ? V extends string ? V extends '' ? '' : string : V[] : T[P] extends object ? UIConfigPartial<T[P]> : T[P] extends string ? T[P] extends '' ? '' : string : T[P];
|
|
22
|
+
};
|
|
23
|
+
type PartsName<P extends CVParts, B extends ClassValue> = B extends undefined ? keyof P : keyof P | 'base';
|
|
24
|
+
type PartsClassValue<S extends CVParts, B extends ClassValue> = {
|
|
25
|
+
[K in PartsName<S, B>]?: string;
|
|
26
|
+
};
|
|
27
|
+
type CVCompoundVariants<V extends CVVariants<P>, P extends CVParts, B extends ClassValue> = Array<{
|
|
28
|
+
[K in keyof V]?: MaybeArray<StringToBoolean<keyof V[K]>>;
|
|
29
|
+
} & (P extends undefined ? ClassProp<PartsClassValue<P, B> | string> : ClassProp<PartsClassValue<P, B>>)>;
|
|
30
|
+
export type UIConfig<Themes extends Record<string, any>> = {
|
|
31
|
+
[Component in keyof Themes]?: Themes[Component] extends CVScopeMeta<infer V, any, any, infer B, infer P> ? UIConfigPartial<CVScopeMeta<V, CVCompoundVariants<V, P, B>, CVDefaultVariants<V, P>, B, P>> : never;
|
|
32
|
+
};
|
|
33
|
+
export {};
|
|
File without changes
|
|
@@ -1,52 +1,56 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
1
|
+
import type { AcceptableValue as _AcceptableValue } from 'reka-ui';
|
|
2
|
+
import type { VNode } from 'vue';
|
|
3
|
+
export type Nullable<T> = T | null | undefined;
|
|
4
|
+
export type MaybeNull<T> = T | null;
|
|
3
5
|
export type MaybeArray<T> = T | T[];
|
|
4
|
-
export type
|
|
5
|
-
export type
|
|
6
|
-
[
|
|
6
|
+
export type Defined<T> = Exclude<T, undefined>;
|
|
7
|
+
export type DeepPartial<T> = {
|
|
8
|
+
[P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P] | undefined;
|
|
9
|
+
};
|
|
10
|
+
type SlotProps<T> = T extends Record<string, any> ? {
|
|
11
|
+
[P in keyof T & string]: T[P] extends undefined ? T[P] | undefined : T[P];
|
|
12
|
+
} : Record<string, never>;
|
|
13
|
+
export type StaticSlot<P extends Record<string, any> | undefined = undefined> = P extends Record<string, any> ? (props: SlotProps<P>) => any : (props?: SlotProps<undefined>) => any;
|
|
14
|
+
export type DynamicSlotsKeys<Name extends string | undefined, Suffix extends string | undefined = undefined, Base extends boolean = true> = (Name extends string ? Suffix extends string ? Base extends true ? Name | `${Name}-${Suffix}` : `${Name}-${Suffix}` : Name : never);
|
|
15
|
+
export type DynamicSlots<T extends {
|
|
16
|
+
slot?: string;
|
|
17
|
+
}, Suffix extends string | undefined = undefined, ExtraProps extends object = Record<string, never>, Base extends boolean = true> = {
|
|
18
|
+
[K in DynamicSlotsKeys<T['slot'], Suffix, Base>]: StaticSlot<{
|
|
19
|
+
item: Extract<T, {
|
|
20
|
+
slot: K extends `${infer Base}-${Suffix}` ? Base : K;
|
|
21
|
+
}>;
|
|
22
|
+
} & ExtraProps>;
|
|
7
23
|
};
|
|
24
|
+
export type GetObjectField<MaybeObject, Key extends string> = MaybeObject extends Record<string, any> ? MaybeObject[Key] : never;
|
|
25
|
+
export type AcceptableValue = Exclude<_AcceptableValue, Record<string, any>> | boolean;
|
|
26
|
+
export type ArrayOrNested<T> = T[] | T[][];
|
|
27
|
+
export type NestedItem<T> = T extends Array<infer I> ? NestedItem<I> : T;
|
|
8
28
|
type AllKeys<T> = T extends any ? keyof T : never;
|
|
9
29
|
type NonCommonKeys<T extends object> = Exclude<AllKeys<T>, keyof T>;
|
|
10
30
|
type PickTypeOf<T, K extends string | number | symbol> = K extends AllKeys<T> ? T extends {
|
|
11
31
|
[k in K]?: any;
|
|
12
32
|
} ? T[K] : undefined : never;
|
|
13
33
|
export type MergeTypes<T extends object> = {
|
|
14
|
-
[
|
|
34
|
+
[k in keyof T]: PickTypeOf<T, k>;
|
|
15
35
|
} & {
|
|
16
|
-
[
|
|
36
|
+
[k in NonCommonKeys<T>]?: PickTypeOf<T, k>;
|
|
17
37
|
};
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
export type ArrayOrNested<T> = T[] | T[][];
|
|
28
|
-
export type NestedItem<T> = T extends Array<infer I> ? NestedItem<I> : T;
|
|
29
|
-
export type GetItemKeys<T> = keyof Extract<NestedItem<T>, object>;
|
|
30
|
-
export type GetItemValue<I, VK extends GetItemKeys<I> | undefined, T extends NestedItem<I> = NestedItem<I>> = T extends object ? VK extends undefined ? T : VK extends keyof T ? T[VK] : never : T;
|
|
38
|
+
type DotPathKeys<T> = T extends Array<any> ? never : T extends object ? {
|
|
39
|
+
[K in keyof T & string]: T[K] extends Record<string, any> ? K | `${K}.${DotPathKeys<T[K]>}` : K;
|
|
40
|
+
}[keyof T & string] : never;
|
|
41
|
+
type DotPathValue<T, P extends DotPathKeys<T> | (string & {})> = P extends `${infer K}.${infer Rest}` ? K extends keyof T ? DotPathValue<T[K], Rest> : never : P extends keyof T ? T[P] : never;
|
|
42
|
+
export type ExtractItem<I, S extends string = 'slot'> = Extract<NestedItem<I>, {
|
|
43
|
+
[Slot in S]: string;
|
|
44
|
+
}>;
|
|
45
|
+
export type GetItemKeys<I> = keyof Extract<NestedItem<I>, object> | DotPathKeys<Extract<NestedItem<I>, object>>;
|
|
46
|
+
export type GetItemValue<I, VK extends GetItemKeys<I> | undefined, T extends NestedItem<I> = NestedItem<I>> = T extends object ? VK extends undefined ? T : VK extends DotPathKeys<T> ? DotPathValue<T, VK> : never : T;
|
|
31
47
|
export type GetModelValue<T, VK extends GetItemKeys<T> | undefined, M extends boolean> = M extends true ? GetItemValue<T, VK>[] : GetItemValue<T, VK>;
|
|
32
48
|
export interface GetModelValueEmits<T, VK extends GetItemKeys<T> | undefined, M extends boolean> {
|
|
33
49
|
/** Event handler called when the value changes. */
|
|
34
|
-
'update:modelValue': [
|
|
50
|
+
'update:modelValue': [value: GetModelValue<T, VK, M>];
|
|
35
51
|
}
|
|
36
|
-
export type
|
|
37
|
-
export
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
parts: infer P;
|
|
41
|
-
} ? {
|
|
42
|
-
[Part in keyof P]?: string;
|
|
43
|
-
} : never;
|
|
44
|
-
}
|
|
45
|
-
export type StylerTheme<T> = T extends CVScopeMeta<infer V, any, any, infer B, infer S> ? CVReturnType<V, S, B> : never;
|
|
46
|
-
export interface StylerBaseProps {
|
|
47
|
-
class?: ClassValue;
|
|
48
|
-
}
|
|
49
|
-
export type StylerProps<T> = T extends CVScopeMeta<infer V, any, any, infer B, infer S> ? Parameters<Styler<CVReturnType<V, S, B>>>[0] : never;
|
|
50
|
-
export type StylerReturnType<T> = T extends CVReturnType<infer V, infer S, infer B> ? ReturnType<CVReturnType<V, S, B>> : never;
|
|
51
|
-
export type Styler<T> = T extends CVReturnType<infer V, any, any> ? [keyof V] extends string[] ? (props: VariantProps<T> & StylerBaseProps) => StylerReturnType<T> : (props?: StylerBaseProps) => StylerReturnType<T> : never;
|
|
52
|
+
export type StringOrVNode = string | VNode | (() => VNode);
|
|
53
|
+
export type EmitsToProps<T> = {
|
|
54
|
+
[K in keyof T as `on${Capitalize<string & K>}`]: T[K] extends [...args: infer Args] ? (...args: Args) => void : never;
|
|
55
|
+
};
|
|
52
56
|
export {};
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import type { StandardSchemaV1 } from '@standard-schema/spec';
|
|
2
|
-
import type {
|
|
2
|
+
import type { Struct } from 'superstruct';
|
|
3
|
+
import type { FormSchema, ValidateReturnSchema } from '../types/form';
|
|
4
|
+
export declare function isSuperStructSchema(schema: any): schema is Struct<any, any>;
|
|
3
5
|
export declare function isStandardSchema(schema: any): schema is StandardSchemaV1;
|
|
4
6
|
export declare function validateStandardSchema(state: any, schema: StandardSchemaV1): Promise<ValidateReturnSchema<typeof state>>;
|
|
5
7
|
export declare function validateSchema<T extends object>(state: T, schema: FormSchema<T>): Promise<ValidateReturnSchema<typeof state>>;
|
|
8
|
+
export declare function getAtPath<T extends object>(data: T, path?: string): any;
|
|
9
|
+
export declare function setAtPath<T extends object>(data: T, path: string, value: any): T;
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
export function isSuperStructSchema(schema) {
|
|
2
|
+
return "schema" in schema && typeof schema.coercer === "function" && typeof schema.validator === "function" && typeof schema.refiner === "function";
|
|
3
|
+
}
|
|
1
4
|
export function isStandardSchema(schema) {
|
|
2
5
|
return "~standard" in schema;
|
|
3
6
|
}
|
|
@@ -17,8 +20,54 @@ export async function validateStandardSchema(state, schema) {
|
|
|
17
20
|
result: result.value
|
|
18
21
|
};
|
|
19
22
|
}
|
|
23
|
+
async function validateSuperstructSchema(state, schema) {
|
|
24
|
+
const [err, result] = schema.validate(state);
|
|
25
|
+
if (err) {
|
|
26
|
+
const errors = err.failures().map((error) => ({
|
|
27
|
+
message: error.message,
|
|
28
|
+
name: error.path.join(".")
|
|
29
|
+
}));
|
|
30
|
+
return {
|
|
31
|
+
errors,
|
|
32
|
+
result: null
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
return {
|
|
36
|
+
errors: null,
|
|
37
|
+
result
|
|
38
|
+
};
|
|
39
|
+
}
|
|
20
40
|
export function validateSchema(state, schema) {
|
|
21
41
|
if (isStandardSchema(schema))
|
|
22
42
|
return validateStandardSchema(state, schema);
|
|
43
|
+
else if (isSuperStructSchema(schema))
|
|
44
|
+
return validateSuperstructSchema(state, schema);
|
|
23
45
|
throw new Error("Form validation failed: Unsupported form schema");
|
|
24
46
|
}
|
|
47
|
+
export function getAtPath(data, path) {
|
|
48
|
+
if (!path)
|
|
49
|
+
return data;
|
|
50
|
+
const value = path.split(".").reduce(
|
|
51
|
+
(value2, key) => value2?.[key],
|
|
52
|
+
data
|
|
53
|
+
);
|
|
54
|
+
return value;
|
|
55
|
+
}
|
|
56
|
+
export function setAtPath(data, path, value) {
|
|
57
|
+
if (!path)
|
|
58
|
+
return Object.assign(data, value);
|
|
59
|
+
if (!data)
|
|
60
|
+
return data;
|
|
61
|
+
const keys = path.split(".");
|
|
62
|
+
let current = data;
|
|
63
|
+
for (let i = 0; i < keys.length - 1; i++) {
|
|
64
|
+
const key = keys[i];
|
|
65
|
+
if (current[key] === void 0 || current[key] === null) {
|
|
66
|
+
current[key] = i + 1 < keys.length && !Number.isNaN(Number(keys[i + 1])) ? [] : {};
|
|
67
|
+
}
|
|
68
|
+
current = current[key];
|
|
69
|
+
}
|
|
70
|
+
const lastKey = keys[keys.length - 1];
|
|
71
|
+
current[lastKey] = value;
|
|
72
|
+
return data;
|
|
73
|
+
}
|
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './
|
|
5
|
-
export
|
|
6
|
-
export * from './styler.js';
|
|
7
|
-
export * from './translator.js';
|
|
8
|
-
export * from './vue.js';
|
|
1
|
+
import type { GetItemKeys, Nullable } from '../types/utils';
|
|
2
|
+
export * from './form';
|
|
3
|
+
export * from './link';
|
|
4
|
+
export * from './vue';
|
|
5
|
+
export { get, omit, pick, set } from '@byyuurin/ui-kit';
|
|
9
6
|
export { looseToNumber } from '@vue/shared';
|
|
10
|
-
export declare function defineLocale(locale: Locale<Messages>): Locale<Messages>;
|
|
11
|
-
export declare function pick<Data extends object, Keys extends keyof Data>(data: Data, keys: Keys[]): Pick<Data, Keys>;
|
|
12
|
-
export declare function omit<Data extends object, Keys extends keyof Data>(data: Data, keys: Keys[]): Omit<Data, Keys>;
|
|
13
|
-
export declare function get(object: Record<string, any> | undefined, path: (string | number)[] | string, defaultValue?: any): any;
|
|
14
|
-
export declare function set(object: Record<string, any>, path: (string | number)[] | string, value: any): void;
|
|
15
7
|
export declare function compare<T>(value?: T, currentValue?: T, comparator?: string | ((a: T, b: T) => boolean)): boolean;
|
|
8
|
+
export declare function isEmpty(value: unknown): boolean;
|
|
9
|
+
export declare function getDisplayValue<T extends Array<any>, V>(items: T, value: Nullable<V>, options?: {
|
|
10
|
+
valueKey?: GetItemKeys<T>;
|
|
11
|
+
labelKey?: GetItemKeys<T>;
|
|
12
|
+
}): string | undefined;
|
|
16
13
|
export declare function isArrayOfArray<T>(item: T[] | T[][]): item is T[][];
|
|
@@ -1,56 +1,10 @@
|
|
|
1
|
+
import { get } from "@byyuurin/ui-kit";
|
|
1
2
|
import { isEqual } from "ohash";
|
|
2
|
-
export * from "./extend-theme.js";
|
|
3
3
|
export * from "./form.js";
|
|
4
4
|
export * from "./link.js";
|
|
5
|
-
export * from "./styler.js";
|
|
6
|
-
export * from "./translator.js";
|
|
7
5
|
export * from "./vue.js";
|
|
6
|
+
export { get, omit, pick, set } from "@byyuurin/ui-kit";
|
|
8
7
|
export { looseToNumber } from "@vue/shared";
|
|
9
|
-
export function defineLocale(locale) {
|
|
10
|
-
return locale;
|
|
11
|
-
}
|
|
12
|
-
export function pick(data, keys) {
|
|
13
|
-
const result = {};
|
|
14
|
-
for (const key of keys)
|
|
15
|
-
result[key] = data[key];
|
|
16
|
-
return result;
|
|
17
|
-
}
|
|
18
|
-
export function omit(data, keys) {
|
|
19
|
-
const result = { ...data };
|
|
20
|
-
for (const key of keys)
|
|
21
|
-
delete result[key];
|
|
22
|
-
return result;
|
|
23
|
-
}
|
|
24
|
-
export function get(object, path, defaultValue) {
|
|
25
|
-
if (typeof path === "string") {
|
|
26
|
-
path = path.split(".").map((key) => {
|
|
27
|
-
const numKey = Number(key);
|
|
28
|
-
return Number.isNaN(numKey) ? key : numKey;
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
let result = object;
|
|
32
|
-
for (const key of path) {
|
|
33
|
-
if (result === void 0 || result === null)
|
|
34
|
-
return defaultValue;
|
|
35
|
-
result = result[key];
|
|
36
|
-
}
|
|
37
|
-
return result === void 0 ? defaultValue : result;
|
|
38
|
-
}
|
|
39
|
-
export function set(object, path, value) {
|
|
40
|
-
if (typeof path === "string") {
|
|
41
|
-
path = path.split(".").map((key) => {
|
|
42
|
-
const numKey = Number(key);
|
|
43
|
-
return Number.isNaN(numKey) ? key : numKey;
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
path.reduce((acc, key, i) => {
|
|
47
|
-
if (acc[key] === void 0)
|
|
48
|
-
acc[key] = {};
|
|
49
|
-
if (i === path.length - 1)
|
|
50
|
-
acc[key] = value;
|
|
51
|
-
return acc[key];
|
|
52
|
-
}, object);
|
|
53
|
-
}
|
|
54
8
|
export function compare(value, currentValue, comparator) {
|
|
55
9
|
if (value === void 0 || currentValue === void 0)
|
|
56
10
|
return false;
|
|
@@ -62,6 +16,45 @@ export function compare(value, currentValue, comparator) {
|
|
|
62
16
|
return get(value, comparator) === get(currentValue, comparator);
|
|
63
17
|
return isEqual(value, currentValue);
|
|
64
18
|
}
|
|
19
|
+
export function isEmpty(value) {
|
|
20
|
+
if (value == null)
|
|
21
|
+
return true;
|
|
22
|
+
if (typeof value === "boolean" || typeof value === "number")
|
|
23
|
+
return false;
|
|
24
|
+
if (typeof value === "string")
|
|
25
|
+
return value.trim().length === 0;
|
|
26
|
+
if (Array.isArray(value))
|
|
27
|
+
return value.length === 0;
|
|
28
|
+
if (value instanceof Map || value instanceof Set)
|
|
29
|
+
return value.size === 0;
|
|
30
|
+
if (value instanceof Date || value instanceof RegExp || typeof value === "function")
|
|
31
|
+
return false;
|
|
32
|
+
if (typeof value === "object") {
|
|
33
|
+
for (const _ in value) {
|
|
34
|
+
if (Object.hasOwn(value, _))
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
export function getDisplayValue(items, value, options = {}) {
|
|
42
|
+
const { valueKey, labelKey } = options;
|
|
43
|
+
const foundItem = items.find((item) => {
|
|
44
|
+
const itemValue = typeof item === "object" && item !== null && valueKey ? get(item, valueKey) : item;
|
|
45
|
+
return compare(itemValue, value);
|
|
46
|
+
});
|
|
47
|
+
if (isEmpty(value) && foundItem)
|
|
48
|
+
return labelKey ? get(foundItem, labelKey) : void 0;
|
|
49
|
+
if (isEmpty(value))
|
|
50
|
+
return void 0;
|
|
51
|
+
const source = foundItem ?? value;
|
|
52
|
+
if (source === null || source === void 0)
|
|
53
|
+
return void 0;
|
|
54
|
+
if (typeof source === "object")
|
|
55
|
+
return labelKey ? get(source, labelKey) : void 0;
|
|
56
|
+
return String(source);
|
|
57
|
+
}
|
|
65
58
|
export function isArrayOfArray(item) {
|
|
66
59
|
return Array.isArray(item[0]);
|
|
67
60
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import type { LinkProps } from '../types
|
|
1
|
+
import type { LinkProps } from '../types';
|
|
2
2
|
export declare function pickLinkProps(link: LinkProps & {
|
|
3
3
|
[key: string]: any;
|
|
4
4
|
}): import("@vueuse/core").ReactivePickReturn<LinkProps & {
|
|
5
5
|
[key: string]: any;
|
|
6
|
-
}, "label" | "
|
|
6
|
+
}, "label" | "raw" | "replace" | "disabled" | "title" | "class" | "active" | "to" | "type" | "custom" | "activeClass" | "exactActiveClass" | "ariaCurrentValue" | "viewTransition" | `aria-${string}` | `data-${string}` | "as" | "exact" | "exactQuery" | "exactHash" | "inactiveClass" | "href" | "external" | "target" | "rel" | "noRel" | "prefetchedClass" | "prefetch" | "prefetchOn" | "noPrefetch" | "download" | "onClick">;
|
|
7
|
+
export declare function isPartiallyEqual(item1: any, item2: any): boolean;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { reactivePick } from "@vueuse/core";
|
|
2
|
+
import { diff, isEqual } from "ohash/utils";
|
|
2
3
|
export function pickLinkProps(link) {
|
|
3
4
|
const keys = Object.keys(link);
|
|
4
5
|
const ariaKeys = keys.filter((key) => key.startsWith("aria-"));
|
|
@@ -9,13 +10,13 @@ export function pickLinkProps(link) {
|
|
|
9
10
|
"ariaCurrentValue",
|
|
10
11
|
"as",
|
|
11
12
|
"disabled",
|
|
12
|
-
"disableClass",
|
|
13
13
|
"exact",
|
|
14
14
|
"exactActiveClass",
|
|
15
15
|
"exactHash",
|
|
16
16
|
"exactQuery",
|
|
17
17
|
"external",
|
|
18
18
|
"href",
|
|
19
|
+
"download",
|
|
19
20
|
"inactiveClass",
|
|
20
21
|
"noPrefetch",
|
|
21
22
|
"noRel",
|
|
@@ -26,7 +27,10 @@ export function pickLinkProps(link) {
|
|
|
26
27
|
"target",
|
|
27
28
|
"to",
|
|
28
29
|
"type",
|
|
29
|
-
"title"
|
|
30
|
+
"title",
|
|
31
|
+
"onClick",
|
|
32
|
+
"title",
|
|
33
|
+
"onClick"
|
|
30
34
|
];
|
|
31
35
|
return reactivePick(
|
|
32
36
|
link,
|
|
@@ -35,3 +39,13 @@ export function pickLinkProps(link) {
|
|
|
35
39
|
...dataKeys
|
|
36
40
|
);
|
|
37
41
|
}
|
|
42
|
+
export function isPartiallyEqual(item1, item2) {
|
|
43
|
+
const diffedKeys = diff(item1, item2).reduce((filtered, q) => {
|
|
44
|
+
if (q.type === "added")
|
|
45
|
+
filtered.add(q.key);
|
|
46
|
+
return filtered;
|
|
47
|
+
}, /* @__PURE__ */ new Set());
|
|
48
|
+
const item1Filtered = Object.fromEntries(Object.entries(item1).filter(([key]) => !diffedKeys.has(key)));
|
|
49
|
+
const item2Filtered = Object.fromEntries(Object.entries(item2).filter(([key]) => !diffedKeys.has(key)));
|
|
50
|
+
return isEqual(item1Filtered, item2Filtered);
|
|
51
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { DefineLocaleOptions, Locale, Messages } from '../types/locale';
|
|
2
|
+
import type { DeepPartial } from '../types/utils';
|
|
3
|
+
export { createTranslator } from '@byyuurin/ui-kit';
|
|
4
|
+
export declare function defineLocale<M extends Messages = Messages>(locale: DefineLocaleOptions<M>): Locale<M>;
|
|
5
|
+
export declare function extendLocale<M extends Messages = Messages>(locale: Locale<M>, options: Partial<DefineLocaleOptions<DeepPartial<M>>>): Locale<M>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { defu } from "defu";
|
|
2
|
+
export { createTranslator } from "@byyuurin/ui-kit";
|
|
3
|
+
// @__NO_SIDE_EFFECTS__
|
|
4
|
+
export function defineLocale(locale) {
|
|
5
|
+
return defu(locale, { dir: "ltr" });
|
|
6
|
+
}
|
|
7
|
+
// @__NO_SIDE_EFFECTS__
|
|
8
|
+
export function extendLocale(locale, options) {
|
|
9
|
+
return defu(options, locale);
|
|
10
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
export declare const cv: <V extends import("@byyuurin/ui-kit").CVVariants<P, B>, CV extends import("@byyuurin/ui-kit").CVCompoundVariants<V, P, B>, DV extends import("@byyuurin/ui-kit").CVDefaultVariants<V, P>, B extends import("@byyuurin/ui-kit").ClassValue = undefined, P extends import("@byyuurin/ui-kit").CVParts = undefined>(scope?: import("@byyuurin/ui-kit").CVScope<V, CV, DV, B, P>) => import("@byyuurin/ui-kit").CVReturnType<V, P, B>;
|
|
2
|
+
export declare function merge<T extends object, V extends object | undefined = undefined>(theme: T, overrides?: V): T extends {
|
|
3
|
+
[x: string]: any;
|
|
4
|
+
[x: number]: any;
|
|
5
|
+
[x: symbol]: any;
|
|
6
|
+
} ? {} extends infer T_1 ? T_1 extends {} ? T_1 extends T ? T_1 : Omit<T_1, keyof T_1 & keyof T> & Omit<T, keyof T_1 & keyof T> & { -readonly [Key in keyof T_1 & keyof T]: T_1[Key] extends void | null | undefined ? T[Key] extends void | null | undefined ? void | null | undefined : T[Key] : T[Key] extends void | null | undefined ? T_1[Key] : T_1[Key] extends infer T_2 ? T_2 extends T_1[Key] ? T_2 extends void | null | undefined ? T[Key] extends infer T_3 ? T_3 extends T[Key] ? T_3 extends void | null | undefined ? void | null | undefined : T_3 : never : never : T[Key] extends infer T_4 ? T_4 extends T[Key] ? T_4 extends void | null | undefined ? T_2 : T_2 extends any[] ? T_4 extends any[] ? T_2 extends infer T_5 ? T_5 extends T_2 ? T_5 extends (infer DestinationType)[] ? T_4 extends infer T_6 ? T_6 extends T_4 ? T_6 extends (infer SourceType)[] ? (DestinationType | SourceType)[] : DestinationType[] | T_6 : never : never : T_4 | T_5 : never : never : T_4 | T_2 : T_2 extends Function ? T_4 | T_2 : T_2 extends RegExp ? T_4 | T_2 : T_2 extends Promise<any> ? T_4 | T_2 : T_4 extends Function ? T_2 | T_4 : T_4 extends RegExp ? T_2 | T_4 : T_4 extends Promise<any> ? T_2 | T_4 : T_2 extends {
|
|
7
|
+
[x: string]: any;
|
|
8
|
+
[x: number]: any;
|
|
9
|
+
[x: symbol]: any;
|
|
10
|
+
} ? T_4 extends {
|
|
11
|
+
[x: string]: any;
|
|
12
|
+
[x: number]: any;
|
|
13
|
+
[x: symbol]: any;
|
|
14
|
+
} ? T_2 extends infer T_7 ? T_7 extends T_2 ? T_7 extends T_4 ? T_7 : Omit<T_7, keyof T_7 & keyof T_4> & Omit<T_4, keyof T_7 & keyof T_4> & { -readonly [Key_2 in keyof T_7 & keyof T_4]: T_7[Key_2] extends void | null | undefined ? T_4[Key_2] extends void | null | undefined ? void | null | undefined : T_4[Key_2] : T_4[Key_2] extends void | null | undefined ? T_7[Key_2] : T_7[Key_2] extends infer T_8 ? T_8 extends T_7[Key_2] ? T_8 extends void | null | undefined ? T_4[Key_2] extends infer T_9 ? T_9 extends T_4[Key_2] ? T_9 extends void | null | undefined ? void | null | undefined : T_9 : never : never : T_4[Key_2] extends infer T_10 ? T_10 extends T_4[Key_2] ? T_10 extends void | null | undefined ? T_8 : T_8 extends any[] ? T_10 extends any[] ? T_8 extends infer T_11 ? T_11 extends T_8 ? T_11 extends (infer DestinationType)[] ? T_10 extends infer T_12 ? T_12 extends T_10 ? T_12 extends (infer SourceType)[] ? (DestinationType | SourceType)[] : DestinationType[] | T_12 : never : never : T_10 | T_11 : never : never : T_10 | T_8 : T_8 extends Function ? T_10 | T_8 : T_8 extends RegExp ? T_10 | T_8 : T_8 extends Promise<any> ? T_10 | T_8 : T_10 extends Function ? T_8 | T_10 : T_10 extends RegExp ? T_8 | T_10 : T_10 extends Promise<any> ? T_8 | T_10 : T_8 extends {
|
|
15
|
+
[x: string]: any;
|
|
16
|
+
[x: number]: any;
|
|
17
|
+
[x: symbol]: any;
|
|
18
|
+
} ? T_10 extends {
|
|
19
|
+
[x: string]: any;
|
|
20
|
+
[x: number]: any;
|
|
21
|
+
[x: symbol]: any;
|
|
22
|
+
} ? T_8 extends infer T_13 ? T_13 extends T_8 ? T_13 extends T_10 ? T_13 : Omit<T_13, keyof T_13 & keyof T_10> & Omit<T_10, keyof T_13 & keyof T_10> & { -readonly [Key_3 in keyof T_13 & keyof T_10]: T_13[Key_3] extends void | null | undefined ? T_10[Key_3] extends void | null | undefined ? void | null | undefined : T_10[Key_3] : T_10[Key_3] extends void | null | undefined ? T_13[Key_3] : T_13[Key_3] extends infer T_14 ? T_14 extends T_13[Key_3] ? T_14 extends void | null | undefined ? T_10[Key_3] extends infer T_15 ? T_15 extends T_10[Key_3] ? T_15 extends void | null | undefined ? void | null | undefined : T_15 : never : never : T_10[Key_3] extends infer T_16 ? T_16 extends T_10[Key_3] ? T_16 extends void | null | undefined ? T_14 : T_14 extends any[] ? T_16 extends any[] ? T_14 extends infer T_17 ? T_17 extends T_14 ? T_17 extends (infer DestinationType)[] ? T_16 extends infer T_18 ? T_18 extends T_16 ? T_18 extends (infer SourceType)[] ? (DestinationType | SourceType)[] : DestinationType[] | T_18 : never : never : T_16 | T_17 : never : never : T_16 | T_14 : T_14 extends Function ? T_16 | T_14 : T_14 extends RegExp ? T_16 | T_14 : T_14 extends Promise<any> ? T_16 | T_14 : T_16 extends Function ? T_14 | T_16 : T_16 extends RegExp ? T_14 | T_16 : T_16 extends Promise<any> ? T_14 | T_16 : T_14 extends {
|
|
23
|
+
[x: string]: any;
|
|
24
|
+
[x: number]: any;
|
|
25
|
+
[x: symbol]: any;
|
|
26
|
+
} ? T_16 extends {
|
|
27
|
+
[x: string]: any;
|
|
28
|
+
[x: number]: any;
|
|
29
|
+
[x: symbol]: any;
|
|
30
|
+
} ? T_14 extends infer T_19 ? T_19 extends T_14 ? T_19 extends T_16 ? T_19 : Omit<T_19, keyof T_19 & keyof T_16> & Omit<T_16, keyof T_19 & keyof T_16> & { -readonly [Key_4 in keyof T_19 & keyof T_16]: T_19[Key_4] extends void | null | undefined ? T_16[Key_4] extends void | null | undefined ? void | null | undefined : T_16[Key_4] : T_16[Key_4] extends void | null | undefined ? T_19[Key_4] : T_19[Key_4] extends infer T_20 ? T_20 extends T_19[Key_4] ? T_20 extends void | null | undefined ? T_16[Key_4] extends infer T_21 ? T_21 extends T_16[Key_4] ? T_21 extends void | null | undefined ? void | null | undefined : T_21 : never : never : T_16[Key_4] extends infer T_22 ? T_22 extends T_16[Key_4] ? T_22 extends void | null | undefined ? T_20 : T_20 extends any[] ? T_22 extends any[] ? T_20 extends infer T_23 ? T_23 extends T_20 ? T_23 extends (infer DestinationType)[] ? T_22 extends infer T_24 ? T_24 extends T_22 ? T_24 extends (infer SourceType)[] ? (DestinationType | SourceType)[] : DestinationType[] | T_24 : never : never : T_22 | T_23 : never : never : T_22 | T_20 : T_20 extends Function ? T_22 | T_20 : T_20 extends RegExp ? T_22 | T_20 : T_20 extends Promise<any> ? T_22 | T_20 : T_22 extends Function ? T_20 | T_22 : T_22 extends RegExp ? T_20 | T_22 : T_22 extends Promise<any> ? T_20 | T_22 : T_20 extends {
|
|
31
|
+
[x: string]: any;
|
|
32
|
+
[x: number]: any;
|
|
33
|
+
[x: symbol]: any;
|
|
34
|
+
} ? T_22 extends {
|
|
35
|
+
[x: string]: any;
|
|
36
|
+
[x: number]: any;
|
|
37
|
+
[x: symbol]: any;
|
|
38
|
+
} ? T_20 extends infer T_25 ? T_25 extends T_20 ? T_25 extends T_22 ? T_25 : Omit<T_25, keyof T_25 & keyof T_22> & Omit<T_22, keyof T_25 & keyof T_22> & { -readonly [Key_5 in keyof T_25 & keyof T_22]: T_25[Key_5] extends void | null | undefined ? T_22[Key_5] extends void | null | undefined ? void | null | undefined : T_22[Key_5] : T_22[Key_5] extends void | null | undefined ? T_25[Key_5] : T_25[Key_5] extends infer T_26 ? T_26 extends T_25[Key_5] ? T_26 extends void | null | undefined ? T_22[Key_5] extends infer T_27 ? T_27 extends T_22[Key_5] ? T_27 extends void | null | undefined ? void | null | undefined : T_27 : never : never : T_22[Key_5] extends infer T_28 ? T_28 extends T_22[Key_5] ? T_28 extends void | null | undefined ? T_26 : T_26 extends any[] ? T_28 extends any[] ? T_26 extends infer T_29 ? T_29 extends T_26 ? T_29 extends (infer DestinationType)[] ? T_28 extends infer T_30 ? T_30 extends T_28 ? T_30 extends (infer SourceType)[] ? (DestinationType | SourceType)[] : DestinationType[] | T_30 : never : never : T_28 | T_29 : never : never : T_28 | T_26 : T_26 extends Function ? T_28 | T_26 : T_26 extends RegExp ? T_28 | T_26 : T_26 extends Promise<any> ? T_28 | T_26 : T_28 extends Function ? T_26 | T_28 : T_28 extends RegExp ? T_26 | T_28 : T_28 extends Promise<any> ? T_26 | T_28 : T_26 extends {
|
|
39
|
+
[x: string]: any;
|
|
40
|
+
[x: number]: any;
|
|
41
|
+
[x: symbol]: any;
|
|
42
|
+
} ? T_28 extends {
|
|
43
|
+
[x: string]: any;
|
|
44
|
+
[x: number]: any;
|
|
45
|
+
[x: symbol]: any;
|
|
46
|
+
} ? T_26 extends infer T_31 ? T_31 extends T_26 ? T_31 extends T_28 ? T_31 : Omit<T_31, keyof T_31 & keyof T_28> & Omit<T_28, keyof T_31 & keyof T_28> & { -readonly [Key_6 in keyof T_31 & keyof T_28]: T_31[Key_6] extends void | null | undefined ? T_28[Key_6] extends void | null | undefined ? void | null | undefined : T_28[Key_6] : T_28[Key_6] extends void | null | undefined ? T_31[Key_6] : T_31[Key_6] extends infer T_32 ? T_32 extends T_31[Key_6] ? T_32 extends void | null | undefined ? T_28[Key_6] extends infer T_33 ? T_33 extends T_28[Key_6] ? T_33 extends void | null | undefined ? void | null | undefined : T_33 : never : never : T_28[Key_6] extends infer T_34 ? T_34 extends T_28[Key_6] ? T_34 extends void | null | undefined ? T_32 : T_32 extends any[] ? T_34 extends any[] ? T_32 extends infer T_35 ? T_35 extends T_32 ? T_35 extends (infer DestinationType)[] ? T_34 extends infer T_36 ? T_36 extends T_34 ? T_36 extends (infer SourceType)[] ? (DestinationType | SourceType)[] : DestinationType[] | T_36 : never : never : T_34 | T_35 : never : never : T_34 | T_32 : T_32 extends Function ? T_34 | T_32 : T_32 extends RegExp ? T_34 | T_32 : T_32 extends Promise<any> ? T_34 | T_32 : T_34 extends Function ? T_32 | T_34 : T_34 extends RegExp ? T_32 | T_34 : T_34 extends Promise<any> ? T_32 | T_34 : T_32 extends {
|
|
47
|
+
[x: string]: any;
|
|
48
|
+
[x: number]: any;
|
|
49
|
+
[x: symbol]: any;
|
|
50
|
+
} ? T_34 extends {
|
|
51
|
+
[x: string]: any;
|
|
52
|
+
[x: number]: any;
|
|
53
|
+
[x: symbol]: any;
|
|
54
|
+
} ? T_32 extends infer T_37 ? T_37 extends T_32 ? T_37 extends T_34 ? T_37 : Omit<T_37, keyof T_37 & keyof T_34> & Omit<T_34, keyof T_37 & keyof T_34> & { -readonly [Key_7 in keyof T_37 & keyof T_34]: T_37[Key_7] extends void | null | undefined ? T_34[Key_7] extends void | null | undefined ? void | null | undefined : T_34[Key_7] : T_34[Key_7] extends void | null | undefined ? T_37[Key_7] : T_37[Key_7] extends infer T_38 ? T_38 extends T_37[Key_7] ? T_38 extends void | null | undefined ? T_34[Key_7] extends infer T_39 ? T_39 extends T_34[Key_7] ? T_39 extends void | null | undefined ? void | null | undefined : T_39 : never : never : T_34[Key_7] extends infer T_40 ? T_40 extends T_34[Key_7] ? T_40 extends void | null | undefined ? T_38 : T_38 extends any[] ? T_40 extends any[] ? T_38 extends infer T_41 ? T_41 extends T_38 ? T_41 extends (infer DestinationType)[] ? T_40 extends infer T_42 ? T_42 extends T_40 ? T_42 extends (infer SourceType)[] ? (DestinationType | SourceType)[] : DestinationType[] | T_42 : never : never : T_40 | T_41 : never : never : T_40 | T_38 : T_38 extends Function ? T_40 | T_38 : T_38 extends RegExp ? T_40 | T_38 : T_38 extends Promise<any> ? T_40 | T_38 : T_40 extends Function ? T_38 | T_40 : T_40 extends RegExp ? T_38 | T_40 : T_40 extends Promise<any> ? T_38 | T_40 : T_38 extends {
|
|
55
|
+
[x: string]: any;
|
|
56
|
+
[x: number]: any;
|
|
57
|
+
[x: symbol]: any;
|
|
58
|
+
} ? T_40 extends {
|
|
59
|
+
[x: string]: any;
|
|
60
|
+
[x: number]: any;
|
|
61
|
+
[x: symbol]: any;
|
|
62
|
+
} ? T_38 extends infer T_43 ? T_43 extends T_38 ? T_43 extends T_40 ? T_43 : Omit<T_43, keyof T_43 & keyof T_40> & Omit<T_40, keyof T_43 & keyof T_40> & { -readonly [Key_8 in keyof T_43 & keyof T_40]: T_43[Key_8] extends void | null | undefined ? T_40[Key_8] extends void | null | undefined ? void | null | undefined : T_40[Key_8] : T_40[Key_8] extends void | null | undefined ? T_43[Key_8] : T_43[Key_8] extends infer T_44 ? T_44 extends T_43[Key_8] ? T_44 extends void | null | undefined ? T_40[Key_8] extends infer T_45 ? T_45 extends T_40[Key_8] ? T_45 extends void | null | undefined ? void | null | undefined : T_45 : never : never : T_40[Key_8] extends infer T_46 ? T_46 extends T_40[Key_8] ? T_46 extends void | null | undefined ? T_44 : T_44 extends any[] ? T_46 extends any[] ? T_44 extends infer T_47 ? T_47 extends T_44 ? T_47 extends (infer DestinationType)[] ? T_46 extends infer T_48 ? T_48 extends T_46 ? T_48 extends (infer SourceType)[] ? (DestinationType | SourceType)[] : DestinationType[] | T_48 : never : never : T_46 | T_47 : never : never : T_46 | T_44 : T_44 extends Function ? T_46 | T_44 : T_44 extends RegExp ? T_46 | T_44 : T_44 extends Promise<any> ? T_46 | T_44 : T_46 extends Function ? T_44 | T_46 : T_46 extends RegExp ? T_44 | T_46 : T_46 extends Promise<any> ? T_44 | T_46 : T_44 extends {
|
|
63
|
+
[x: string]: any;
|
|
64
|
+
[x: number]: any;
|
|
65
|
+
[x: symbol]: any;
|
|
66
|
+
} ? T_46 extends {
|
|
67
|
+
[x: string]: any;
|
|
68
|
+
[x: number]: any;
|
|
69
|
+
[x: symbol]: any;
|
|
70
|
+
} ? T_44 extends infer T_49 ? T_49 extends T_44 ? T_49 extends T_46 ? T_49 : Omit<T_49, keyof T_49 & keyof T_46> & Omit<T_46, keyof T_49 & keyof T_46> & { -readonly [Key_9 in keyof T_49 & keyof T_46]: T_49[Key_9] extends void | null | undefined ? T_46[Key_9] extends void | null | undefined ? void | null | undefined : T_46[Key_9] : T_46[Key_9] extends void | null | undefined ? T_49[Key_9] : T_49[Key_9] extends infer T_50 ? T_50 extends T_49[Key_9] ? T_50 extends void | null | undefined ? T_46[Key_9] extends infer T_51 ? T_51 extends T_46[Key_9] ? T_51 extends void | null | undefined ? void | null | undefined : T_51 : never : never : T_46[Key_9] extends infer T_52 ? T_52 extends T_46[Key_9] ? T_52 extends void | null | undefined ? T_50 : T_50 extends any[] ? T_52 extends any[] ? T_50 extends infer T_53 ? T_53 extends T_50 ? T_53 extends (infer DestinationType)[] ? T_52 extends infer T_54 ? T_54 extends T_52 ? T_54 extends (infer SourceType)[] ? (DestinationType | SourceType)[] : DestinationType[] | T_54 : never : never : T_52 | T_53 : never : never : T_52 | T_50 : T_50 extends Function ? T_52 | T_50 : T_50 extends RegExp ? T_52 | T_50 : T_50 extends Promise<any> ? T_52 | T_50 : T_52 extends Function ? T_50 | T_52 : T_52 extends RegExp ? T_50 | T_52 : T_52 extends Promise<any> ? T_50 | T_52 : T_50 extends {
|
|
71
|
+
[x: string]: any;
|
|
72
|
+
[x: number]: any;
|
|
73
|
+
[x: symbol]: any;
|
|
74
|
+
} ? T_52 extends {
|
|
75
|
+
[x: string]: any;
|
|
76
|
+
[x: number]: any;
|
|
77
|
+
[x: symbol]: any;
|
|
78
|
+
} ? T_50 extends infer T_55 ? T_55 extends T_50 ? T_55 extends T_52 ? T_55 : Omit<T_55, keyof T_55 & keyof T_52> & Omit<T_52, keyof T_55 & keyof T_52> & { -readonly [Key_10 in keyof T_55 & keyof T_52]: T_55[Key_10] extends void | null | undefined ? T_52[Key_10] extends void | null | undefined ? void | null | undefined : T_52[Key_10] : T_52[Key_10] extends void | null | undefined ? T_55[Key_10] : T_55[Key_10] extends infer T_56 ? T_56 extends T_55[Key_10] ? T_56 extends void | null | undefined ? T_52[Key_10] extends infer T_57 ? T_57 extends T_52[Key_10] ? T_57 extends void | null | undefined ? void | null | undefined : T_57 : never : never : T_52[Key_10] extends infer T_58 ? T_58 extends T_52[Key_10] ? T_58 extends void | null | undefined ? T_56 : T_56 extends any[] ? T_58 extends any[] ? T_56 extends infer T_59 ? T_59 extends T_56 ? T_59 extends (infer DestinationType)[] ? T_58 extends infer T_60 ? T_60 extends T_58 ? T_60 extends (infer SourceType)[] ? (DestinationType | SourceType)[] : DestinationType[] | T_60 : never : never : T_58 | T_59 : never : never : T_58 | T_56 : T_56 extends Function ? T_58 | T_56 : T_56 extends RegExp ? T_58 | T_56 : T_56 extends Promise<any> ? T_58 | T_56 : T_58 extends Function ? T_56 | T_58 : T_58 extends RegExp ? T_56 | T_58 : T_58 extends Promise<any> ? T_56 | T_58 : T_56 extends {
|
|
79
|
+
[x: string]: any;
|
|
80
|
+
[x: number]: any;
|
|
81
|
+
[x: symbol]: any;
|
|
82
|
+
} ? T_58 extends {
|
|
83
|
+
[x: string]: any;
|
|
84
|
+
[x: number]: any;
|
|
85
|
+
[x: symbol]: any;
|
|
86
|
+
} ? T_56 extends infer T_61 ? T_61 extends T_56 ? T_61 extends T_58 ? T_61 : Omit<T_61, keyof T_61 & keyof T_58> & Omit<T_58, keyof T_61 & keyof T_58> & { -readonly [Key_11 in keyof T_61 & keyof T_58]: T_61[Key_11] extends void | null | undefined ? T_58[Key_11] extends void | null | undefined ? void | null | undefined : T_58[Key_11] : T_58[Key_11] extends void | null | undefined ? T_61[Key_11] : T_61[Key_11] extends infer T_62 ? T_62 extends T_61[Key_11] ? T_62 extends void | null | undefined ? T_58[Key_11] extends infer T_63 ? T_63 extends T_58[Key_11] ? T_63 extends void | null | undefined ? void | null | undefined : T_63 : never : never : T_58[Key_11] extends infer T_64 ? T_64 extends T_58[Key_11] ? T_64 extends void | null | undefined ? T_62 : T_62 extends any[] ? T_64 extends any[] ? T_62 extends infer T_65 ? T_65 extends T_62 ? T_65 extends (infer DestinationType)[] ? T_64 extends infer T_66 ? T_66 extends T_64 ? T_66 extends (infer SourceType)[] ? (DestinationType | SourceType)[] : DestinationType[] | T_66 : never : never : T_64 | T_65 : never : never : T_64 | T_62 : T_62 extends Function ? T_64 | T_62 : T_62 extends RegExp ? T_64 | T_62 : T_62 extends Promise<any> ? T_64 | T_62 : T_64 extends Function ? T_62 | T_64 : T_64 extends RegExp ? T_62 | T_64 : T_64 extends Promise<any> ? T_62 | T_64 : T_62 extends {
|
|
87
|
+
[x: string]: any;
|
|
88
|
+
[x: number]: any;
|
|
89
|
+
[x: symbol]: any;
|
|
90
|
+
} ? T_64 extends {
|
|
91
|
+
[x: string]: any;
|
|
92
|
+
[x: number]: any;
|
|
93
|
+
[x: symbol]: any;
|
|
94
|
+
} ? /*elided*/ any : T_64 | T_62 : T_62 | T_64 : never : never : never : never; } : never : never : T_58 | T_56 : T_56 | T_58 : never : never : never : never; } : never : never : T_52 | T_50 : T_50 | T_52 : never : never : never : never; } : never : never : T_46 | T_44 : T_44 | T_46 : never : never : never : never; } : never : never : T_40 | T_38 : T_38 | T_40 : never : never : never : never; } : never : never : T_34 | T_32 : T_32 | T_34 : never : never : never : never; } : never : never : T_28 | T_26 : T_26 | T_28 : never : never : never : never; } : never : never : T_22 | T_20 : T_20 | T_22 : never : never : never : never; } : never : never : T_16 | T_14 : T_14 | T_16 : never : never : never : never; } : never : never : T_10 | T_8 : T_8 | T_10 : never : never : never : never; } : never : never : T_4 | T_2 : T_2 | T_4 : never : never : never : never; } : never : never : T extends number | boolean | any[] | Record<never, any> | null | undefined ? {} : {};
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { createCV, cx } from "@byyuurin/ui-kit";
|
|
2
|
+
import { createDefu } from "defu";
|
|
3
|
+
import { unoMerge } from "#build/uno-merge";
|
|
4
|
+
export const cv = createCV((...classValues) => unoMerge(cx(...classValues)));
|
|
5
|
+
const mergeFn = createDefu((obj, key, value) => {
|
|
6
|
+
if (typeof obj[key] === "string" && typeof value !== "string") {
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
if (obj[key] === "") {
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
if (Array.isArray(value) && key !== "compoundVariants") {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
if (Array.isArray(value) && key === "compoundVariants") {
|
|
16
|
+
obj[key] ||= [];
|
|
17
|
+
obj[key] = [...obj[key], ...value].filter(Boolean);
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
if (typeof obj[key] === "string" && typeof value === "string") {
|
|
21
|
+
if (String(key).endsWith("Size")) {
|
|
22
|
+
obj[key] = value;
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
if (value.trim())
|
|
26
|
+
obj[key] += ` ${value}`;
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
if (Array.isArray(obj[key]) && typeof obj[key][0] === "string" && typeof value === "string") {
|
|
30
|
+
if (value.trim())
|
|
31
|
+
obj[key] = [...obj[key], value];
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
export function merge(theme, overrides) {
|
|
36
|
+
return mergeFn(overrides || {}, theme);
|
|
37
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<script>
|
|
2
|
+
|
|
3
|
+
</script>
|
|
4
|
+
|
|
5
|
+
<script setup>
|
|
6
|
+
import { Icon as IconifyIcon } from "@iconify/vue";
|
|
7
|
+
const props = defineProps({
|
|
8
|
+
name: { type: [String, Object], required: true }
|
|
9
|
+
});
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<template>
|
|
13
|
+
<IconifyIcon v-if="typeof props.name === 'string'" :icon="props.name.replace(/^i-/, '')" />
|
|
14
|
+
<component :is="props.name" v-else />
|
|
15
|
+
</template>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { IconProps as NuxtIconProps } from '../../types';
|
|
2
|
+
export interface IconProps {
|
|
3
|
+
name: NuxtIconProps['name'];
|
|
4
|
+
}
|
|
5
|
+
declare const __VLS_export: import("vue").DefineComponent<IconProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<IconProps> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
6
|
+
declare const _default: typeof __VLS_export;
|
|
7
|
+
export default _default;
|