@byyuurin/ui 0.0.6 → 0.0.8
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 +4 -5
- package/dist/module.cjs +5 -0
- package/dist/module.json +12 -0
- package/dist/{nuxt.mjs → module.mjs} +8 -8
- package/dist/module.mjs.map +1 -0
- package/dist/runtime/app/injections.d.ts +16 -0
- package/dist/runtime/app/injections.js +31 -0
- package/dist/runtime/components/Accordion.vue +27 -38
- package/dist/runtime/components/Alert.vue +23 -16
- package/dist/runtime/components/App.vue +15 -15
- package/dist/runtime/components/Avatar.vue +73 -0
- package/dist/runtime/components/AvatarGroup.vue +90 -0
- package/dist/runtime/components/Badge.vue +15 -10
- package/dist/runtime/components/Breadcrumb.vue +105 -0
- package/dist/runtime/components/Button.vue +22 -23
- package/dist/runtime/components/ButtonGroup.vue +12 -10
- package/dist/runtime/components/Card.vue +16 -8
- package/dist/runtime/components/Carousel.vue +19 -12
- package/dist/runtime/components/Checkbox.vue +16 -12
- package/dist/runtime/components/Chip.vue +17 -12
- package/dist/runtime/components/Collapsible.vue +56 -0
- package/dist/runtime/components/Drawer.vue +18 -17
- package/dist/runtime/components/Input.vue +28 -28
- package/dist/runtime/components/InputNumber.vue +169 -0
- package/dist/runtime/components/Kbd.vue +51 -0
- package/dist/runtime/components/Link.vue +301 -72
- package/dist/runtime/components/LinkBase.vue +88 -0
- package/dist/runtime/components/Modal.vue +11 -9
- package/dist/runtime/components/ModalProvider.vue +2 -1
- package/dist/runtime/components/Pagination.vue +30 -30
- package/dist/runtime/components/PinInput.vue +7 -7
- package/dist/runtime/components/Popover.vue +7 -7
- package/dist/runtime/components/Progress.vue +165 -0
- package/dist/runtime/components/RadioGroup.vue +33 -29
- package/dist/runtime/components/Select.vue +40 -40
- package/dist/runtime/components/Separator.vue +63 -0
- package/dist/runtime/components/Skeleton.vue +33 -0
- package/dist/runtime/components/Slider.vue +6 -6
- package/dist/runtime/components/Switch.vue +14 -15
- package/dist/runtime/components/Table.vue +300 -0
- package/dist/runtime/components/Tabs.vue +25 -21
- package/dist/runtime/components/Textarea.vue +11 -11
- package/dist/runtime/components/Toast.vue +15 -14
- package/dist/runtime/components/Toaster.vue +5 -39
- package/dist/runtime/components/Tooltip.vue +7 -7
- package/dist/runtime/composables/useAvatarGroup.d.ts +4 -0
- package/dist/runtime/composables/useAvatarGroup.js +8 -0
- package/dist/runtime/composables/useButtonGroup.d.ts +4 -12
- package/dist/runtime/composables/{useButtonGroup.mjs → useButtonGroup.js} +1 -6
- package/dist/runtime/composables/useComponentIcons.d.ts +9 -9
- package/dist/runtime/composables/useComponentIcons.js +24 -0
- package/dist/runtime/composables/useKbd.d.ts +35 -0
- package/dist/runtime/composables/useKbd.js +49 -0
- package/dist/runtime/composables/useLocale.d.ts +8 -0
- package/dist/runtime/composables/useLocale.js +22 -0
- package/dist/runtime/composables/useModal.d.ts +2 -7
- package/dist/runtime/composables/{useModal.mjs → useModal.js} +1 -6
- package/dist/runtime/composables/useTheme.d.ts +2 -6
- package/dist/runtime/composables/useTheme.js +16 -0
- package/dist/runtime/composables/useToast.d.ts +1 -1
- package/dist/runtime/index.d.ts +40 -0
- package/dist/runtime/index.js +40 -0
- package/dist/runtime/locale/en.d.ts +2 -0
- package/dist/runtime/locale/en.js +28 -0
- package/dist/runtime/locale/index.d.ts +2 -0
- package/dist/runtime/locale/index.js +2 -0
- package/dist/runtime/locale/zh-tw.d.ts +2 -0
- package/dist/runtime/locale/zh-tw.js +28 -0
- package/dist/runtime/theme/accordion.d.ts +5 -5
- package/dist/runtime/theme/{accordion.mjs → accordion.js} +2 -2
- package/dist/runtime/theme/alert.d.ts +2 -2
- package/dist/runtime/theme/{alert.mjs → alert.js} +4 -4
- package/dist/runtime/theme/app.d.ts +8 -5
- package/dist/runtime/theme/app.js +18 -0
- package/dist/runtime/theme/avatar-group.d.ts +52 -0
- package/dist/runtime/theme/avatar-group.js +32 -0
- package/dist/runtime/theme/avatar.d.ts +56 -0
- package/dist/runtime/theme/avatar.js +34 -0
- package/dist/runtime/theme/badge.d.ts +45 -21
- package/dist/runtime/theme/{badge.mjs → badge.js} +2 -2
- package/dist/runtime/theme/breadcrumb.d.ts +67 -0
- package/dist/runtime/theme/breadcrumb.js +44 -0
- package/dist/runtime/theme/button-group.d.ts +2 -2
- package/dist/runtime/theme/button.d.ts +61 -115
- package/dist/runtime/theme/button.js +164 -0
- package/dist/runtime/theme/card.d.ts +38 -38
- package/dist/runtime/theme/card.js +37 -0
- package/dist/runtime/theme/carousel.d.ts +2 -2
- package/dist/runtime/theme/{carousel.mjs → carousel.js} +2 -2
- package/dist/runtime/theme/checkbox.d.ts +1 -1
- package/dist/runtime/theme/{checkbox.mjs → checkbox.js} +3 -3
- package/dist/runtime/theme/chip.d.ts +47 -14
- package/dist/runtime/theme/{chip.mjs → chip.js} +7 -9
- package/dist/runtime/theme/collapsible.d.ts +38 -0
- package/dist/runtime/theme/collapsible.js +10 -0
- package/dist/runtime/theme/drawer.d.ts +43 -43
- package/dist/runtime/theme/{drawer.mjs → drawer.js} +33 -22
- package/dist/runtime/theme/index.d.ts +37 -27
- package/dist/runtime/theme/index.js +37 -0
- package/dist/runtime/theme/input-number.d.ts +141 -0
- package/dist/runtime/theme/input-number.js +95 -0
- package/dist/runtime/theme/input.d.ts +77 -105
- package/dist/runtime/theme/{input.mjs → input.js} +25 -25
- package/dist/runtime/theme/kbd.d.ts +39 -0
- package/dist/runtime/theme/kbd.js +26 -0
- package/dist/runtime/theme/link.d.ts +2 -2
- package/dist/runtime/theme/{link.mjs → link.js} +1 -1
- package/dist/runtime/theme/modal.d.ts +31 -8
- package/dist/runtime/theme/{modal.mjs → modal.js} +4 -9
- package/dist/runtime/theme/pagination.d.ts +17 -17
- package/dist/runtime/theme/pinInput.d.ts +42 -42
- package/dist/runtime/theme/{pinInput.mjs → pinInput.js} +10 -10
- package/dist/runtime/theme/popover.d.ts +8 -8
- package/dist/runtime/theme/{popover.mjs → popover.js} +1 -1
- package/dist/runtime/theme/progress.d.ts +122 -0
- package/dist/runtime/theme/progress.js +95 -0
- package/dist/runtime/theme/radio-group.d.ts +1 -1
- package/dist/runtime/theme/{radio-group.mjs → radio-group.js} +1 -1
- package/dist/runtime/theme/scroll-area.d.ts +17 -17
- package/dist/runtime/theme/{scroll-area.mjs → scroll-area.js} +2 -2
- package/dist/runtime/theme/select.d.ts +93 -108
- package/dist/runtime/theme/{select.mjs → select.js} +31 -31
- package/dist/runtime/theme/separator.d.ts +95 -0
- package/dist/runtime/theme/separator.js +53 -0
- package/dist/runtime/theme/skeleton.d.ts +8 -0
- package/dist/runtime/theme/skeleton.js +7 -0
- package/dist/runtime/theme/slider.d.ts +1 -1
- package/dist/runtime/theme/{slider.mjs → slider.js} +3 -3
- package/dist/runtime/theme/switch.d.ts +1 -1
- package/dist/runtime/theme/{switch.mjs → switch.js} +3 -3
- package/dist/runtime/theme/table.d.ts +89 -0
- package/dist/runtime/theme/table.js +35 -0
- package/dist/runtime/theme/tabs.d.ts +70 -53
- package/dist/runtime/theme/{tabs.mjs → tabs.js} +12 -12
- package/dist/runtime/theme/textarea.d.ts +43 -37
- package/dist/runtime/theme/{textarea.mjs → textarea.js} +10 -10
- package/dist/runtime/theme/toast.d.ts +2 -2
- package/dist/runtime/theme/{toast.mjs → toast.js} +3 -3
- package/dist/runtime/theme/toaster.d.ts +42 -27
- package/dist/runtime/theme/tooltip.d.ts +11 -11
- package/dist/runtime/theme/tooltip.js +11 -0
- package/dist/runtime/types/components.d.ts +37 -27
- package/dist/runtime/types/index.d.ts +5 -4
- package/dist/runtime/types/index.js +3 -0
- package/dist/runtime/types/locale.d.ts +23 -0
- package/dist/runtime/types/locale.js +0 -0
- package/dist/runtime/types/utils.d.ts +1 -1
- package/dist/runtime/types/utils.js +0 -0
- package/dist/runtime/utils/index.d.ts +9 -4
- package/dist/runtime/utils/{index.mjs → index.js} +9 -7
- package/dist/runtime/utils/link.d.ts +22 -7
- package/dist/runtime/utils/link.js +30 -0
- package/dist/runtime/utils/styler.d.ts +1 -1
- package/dist/runtime/utils/translator.d.ts +18 -0
- package/dist/runtime/utils/translator.js +8 -0
- package/dist/runtime/vue/stubs.d.ts +9 -0
- package/dist/runtime/vue/stubs.js +16 -0
- package/dist/shared/ui.ba24b380.mjs +4 -0
- package/dist/shared/ui.ba24b380.mjs.map +1 -0
- package/dist/types.d.mts +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/unocss.d.mts +6 -11
- package/dist/unocss.d.ts +6 -11
- package/dist/unocss.mjs +40 -21
- package/dist/unocss.mjs.map +1 -1
- package/dist/unplugin.mjs +35 -8
- package/dist/unplugin.mjs.map +1 -1
- package/dist/vite.d.mts +0 -1
- package/dist/vite.d.ts +0 -1
- package/dist/vite.mjs +3 -1
- package/dist/vite.mjs.map +1 -1
- package/package.json +50 -38
- package/dist/index.d.ts +0 -29
- package/dist/index.mjs +0 -29
- package/dist/nuxt.mjs.map +0 -1
- package/dist/runtime/composables/useComponentIcons.mjs +0 -24
- package/dist/runtime/composables/useTheme.mjs +0 -26
- package/dist/runtime/theme/app.mjs +0 -15
- package/dist/runtime/theme/button.mjs +0 -148
- package/dist/runtime/theme/card.mjs +0 -14
- package/dist/runtime/theme/index.mjs +0 -27
- package/dist/runtime/theme/tooltip.mjs +0 -11
- package/dist/runtime/types/components.mjs +0 -27
- package/dist/runtime/types/index.mjs +0 -2
- package/dist/runtime/utils/link.mjs +0 -4
- package/dist/shared/ui.D4zm1r0C.mjs +0 -4
- package/dist/shared/ui.D4zm1r0C.mjs.map +0 -1
- /package/dist/{nuxt.d.mts → module.d.mts} +0 -0
- /package/dist/{nuxt.d.ts → module.d.ts} +0 -0
- /package/dist/runtime/composables/{useToast.mjs → useToast.js} +0 -0
- /package/dist/runtime/theme/{button-group.mjs → button-group.js} +0 -0
- /package/dist/runtime/theme/{pagination.mjs → pagination.js} +0 -0
- /package/dist/runtime/theme/{toaster.mjs → toaster.js} +0 -0
- /package/dist/runtime/types/{utils.mjs → components.js} +0 -0
- /package/dist/runtime/utils/{extend-theme.mjs → extend-theme.js} +0 -0
- /package/dist/runtime/utils/{styler.mjs → styler.js} +0 -0
- /package/dist/runtime/{composables/defineInjection.d.ts → utils/vue.d.ts} +0 -0
- /package/dist/runtime/{composables/defineInjection.mjs → utils/vue.js} +0 -0
|
@@ -1,27 +1,37 @@
|
|
|
1
|
-
export * from '../components/Accordion.vue';
|
|
2
|
-
export * from '../components/Alert.vue';
|
|
3
|
-
export * from '../components/App.vue';
|
|
4
|
-
export * from '../components/
|
|
5
|
-
export * from '../components/
|
|
6
|
-
export * from '../components/
|
|
7
|
-
export * from '../components/
|
|
8
|
-
export * from '../components/
|
|
9
|
-
export * from '../components/
|
|
10
|
-
export * from '../components/
|
|
11
|
-
export * from '../components/
|
|
12
|
-
export * from '../components/
|
|
13
|
-
export * from '../components/
|
|
14
|
-
export * from '../components/
|
|
15
|
-
export * from '../components/
|
|
16
|
-
export * from '../components/
|
|
17
|
-
export * from '../components/
|
|
18
|
-
export * from '../components/
|
|
19
|
-
export * from '../components/
|
|
20
|
-
export * from '../components/
|
|
21
|
-
export * from '../components/
|
|
22
|
-
export * from '../components/
|
|
23
|
-
export * from '../components/
|
|
24
|
-
export * from '../components/
|
|
25
|
-
export * from '../components/
|
|
26
|
-
export * from '../components/
|
|
27
|
-
export * from '../components/
|
|
1
|
+
export type * from '../components/Accordion.vue';
|
|
2
|
+
export type * from '../components/Alert.vue';
|
|
3
|
+
export type * from '../components/App.vue';
|
|
4
|
+
export type * from '../components/Avatar.vue';
|
|
5
|
+
export type * from '../components/AvatarGroup.vue';
|
|
6
|
+
export type * from '../components/Badge.vue';
|
|
7
|
+
export type * from '../components/Breadcrumb.vue';
|
|
8
|
+
export type * from '../components/Button.vue';
|
|
9
|
+
export type * from '../components/ButtonGroup.vue';
|
|
10
|
+
export type * from '../components/Card.vue';
|
|
11
|
+
export type * from '../components/Carousel.vue';
|
|
12
|
+
export type * from '../components/Checkbox.vue';
|
|
13
|
+
export type * from '../components/Chip.vue';
|
|
14
|
+
export type * from '../components/Collapsible.vue';
|
|
15
|
+
export type * from '../components/Drawer.vue';
|
|
16
|
+
export type * from '../components/Input.vue';
|
|
17
|
+
export type * from '../components/InputNumber.vue';
|
|
18
|
+
export type * from '../components/Kbd.vue';
|
|
19
|
+
export type * from '../components/Link.vue';
|
|
20
|
+
export type * from '../components/Modal.vue';
|
|
21
|
+
export type * from '../components/Pagination.vue';
|
|
22
|
+
export type * from '../components/PinInput.vue';
|
|
23
|
+
export type * from '../components/Popover.vue';
|
|
24
|
+
export type * from '../components/Progress.vue';
|
|
25
|
+
export type * from '../components/RadioGroup.vue';
|
|
26
|
+
export type * from '../components/ScrollArea.vue';
|
|
27
|
+
export type * from '../components/Select.vue';
|
|
28
|
+
export type * from '../components/Separator.vue';
|
|
29
|
+
export type * from '../components/Skeleton.vue';
|
|
30
|
+
export type * from '../components/Slider.vue';
|
|
31
|
+
export type * from '../components/Switch.vue';
|
|
32
|
+
export type * from '../components/Table.vue';
|
|
33
|
+
export type * from '../components/Tabs.vue';
|
|
34
|
+
export type * from '../components/Textarea.vue';
|
|
35
|
+
export type * from '../components/Toast.vue';
|
|
36
|
+
export type * from '../components/Toaster.vue';
|
|
37
|
+
export type * from '../components/Tooltip.vue';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type * as theme from '../theme';
|
|
2
|
-
import type { PartialTheme } from './utils';
|
|
3
|
-
export * from './components';
|
|
4
|
-
export * from './
|
|
1
|
+
import type * as theme from '../theme/index.js';
|
|
2
|
+
import type { PartialTheme } from './utils.js';
|
|
3
|
+
export * from './components.js';
|
|
4
|
+
export * from './locale.js';
|
|
5
|
+
export * from './utils.js';
|
|
5
6
|
export type ThemeExtension = PartialTheme<typeof theme>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface Messages {
|
|
2
|
+
alert: {
|
|
3
|
+
close: string;
|
|
4
|
+
};
|
|
5
|
+
carousel: {
|
|
6
|
+
prev: string;
|
|
7
|
+
next: string;
|
|
8
|
+
goto: string;
|
|
9
|
+
};
|
|
10
|
+
inputNumber: {
|
|
11
|
+
increment: string;
|
|
12
|
+
decrement: string;
|
|
13
|
+
};
|
|
14
|
+
modal: {
|
|
15
|
+
close: string;
|
|
16
|
+
};
|
|
17
|
+
table: {
|
|
18
|
+
noData: string;
|
|
19
|
+
};
|
|
20
|
+
toast: {
|
|
21
|
+
close: string;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
File without changes
|
|
@@ -2,7 +2,7 @@ import type { ClassValue, CVReturnType, VariantProps } from '@byyuurin/ui-kit';
|
|
|
2
2
|
export type HintString<T extends string> = T & (string & {});
|
|
3
3
|
export type MaybeArray<T> = T | T[];
|
|
4
4
|
export type MaybeArrayOfArray<T> = T[] | T[][];
|
|
5
|
-
export type MaybeArrayOfArrayItem<T> = T extends Array<infer V1> ?
|
|
5
|
+
export type MaybeArrayOfArrayItem<T> = T extends Array<infer V1> ? V1 extends Array<infer V2> ? V2 : V1 : never;
|
|
6
6
|
export type PartialTheme<T> = {
|
|
7
7
|
[P in keyof T as T[P] extends undefined ? never : P]?: T[P] extends Array<infer V> ? V extends string ? string : V[] : T[P] extends object ? PartialTheme<T[P]> : T[P] extends string ? string : T[P];
|
|
8
8
|
};
|
|
File without changes
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export * from './
|
|
1
|
+
import type { Messages } from '../types/index.js';
|
|
2
|
+
import type { Locale } from './translator.js';
|
|
3
|
+
export * from './extend-theme.js';
|
|
4
|
+
export * from './link.js';
|
|
5
|
+
export * from './styler.js';
|
|
6
|
+
export * from './translator.js';
|
|
7
|
+
export * from './vue.js';
|
|
8
|
+
export { looseToNumber } from '@vue/shared';
|
|
9
|
+
export declare function defineLocale(locale: Locale<Messages>): Locale<Messages>;
|
|
4
10
|
export declare function pick<Data extends object, Keys extends keyof Data>(data: Data, keys: Keys[]): Pick<Data, Keys>;
|
|
5
11
|
export declare function omit<Data extends object, Keys extends keyof Data>(data: Data, keys: Keys[]): Omit<Data, Keys>;
|
|
6
12
|
export declare function get(object: Record<string, any> | undefined, path: (string | number)[] | string, defaultValue?: any): any;
|
|
7
13
|
export declare function set(object: Record<string, any>, path: (string | number)[] | string, value: any): void;
|
|
8
|
-
export declare function looseToNumber(value: any): any;
|
|
9
14
|
export declare function compare<T>(value?: T, currentValue?: T, comparator?: string | ((a: T, b: T) => boolean)): boolean;
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { isEqual } from "ohash";
|
|
2
|
-
export * from "./extend-theme.
|
|
3
|
-
export * from "./link.
|
|
4
|
-
export * from "./styler.
|
|
2
|
+
export * from "./extend-theme.js";
|
|
3
|
+
export * from "./link.js";
|
|
4
|
+
export * from "./styler.js";
|
|
5
|
+
export * from "./translator.js";
|
|
6
|
+
export * from "./vue.js";
|
|
7
|
+
export { looseToNumber } from "@vue/shared";
|
|
8
|
+
export function defineLocale(locale) {
|
|
9
|
+
return locale;
|
|
10
|
+
}
|
|
5
11
|
export function pick(data, keys) {
|
|
6
12
|
const result = {};
|
|
7
13
|
for (const key of keys)
|
|
@@ -44,10 +50,6 @@ export function set(object, path, value) {
|
|
|
44
50
|
return acc[key];
|
|
45
51
|
}, object);
|
|
46
52
|
}
|
|
47
|
-
export function looseToNumber(value) {
|
|
48
|
-
const n = Number.parseFloat(value);
|
|
49
|
-
return Number.isNaN(n) ? value : n;
|
|
50
|
-
}
|
|
51
53
|
export function compare(value, currentValue, comparator) {
|
|
52
54
|
if (value === void 0 || currentValue === void 0)
|
|
53
55
|
return false;
|
|
@@ -1,15 +1,30 @@
|
|
|
1
|
-
import type { LinkProps } from '../types';
|
|
2
|
-
export declare function pickLinkProps(
|
|
1
|
+
import type { LinkProps } from '../types/index.js';
|
|
2
|
+
export declare function pickLinkProps(link: LinkProps & {
|
|
3
|
+
ariaLabel?: string;
|
|
4
|
+
title?: string;
|
|
5
|
+
}): {
|
|
3
6
|
disabled: any;
|
|
4
7
|
title: any;
|
|
5
8
|
active: any;
|
|
9
|
+
to: any;
|
|
6
10
|
type: any;
|
|
11
|
+
replace: any;
|
|
12
|
+
activeClass: any;
|
|
13
|
+
ariaCurrentValue: any;
|
|
7
14
|
ariaLabel: any;
|
|
8
|
-
rel: any;
|
|
9
|
-
target: any;
|
|
10
|
-
href: any;
|
|
11
|
-
ui: any;
|
|
12
15
|
as: any;
|
|
16
|
+
disableClass: any;
|
|
17
|
+
exact: any;
|
|
18
|
+
exactActiveClass: any;
|
|
19
|
+
exactHash: any;
|
|
20
|
+
exactQuery: any;
|
|
21
|
+
external: any;
|
|
22
|
+
href: any;
|
|
23
|
+
inactiveClass: any;
|
|
24
|
+
noPrefetch: any;
|
|
13
25
|
noRel: any;
|
|
14
|
-
|
|
26
|
+
prefetch: any;
|
|
27
|
+
prefetchedClass: any;
|
|
28
|
+
rel: any;
|
|
29
|
+
target: any;
|
|
15
30
|
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { reactivePick } from "@vueuse/core";
|
|
2
|
+
export function pickLinkProps(link) {
|
|
3
|
+
return reactivePick(
|
|
4
|
+
link,
|
|
5
|
+
"active",
|
|
6
|
+
"activeClass",
|
|
7
|
+
"ariaCurrentValue",
|
|
8
|
+
"ariaLabel",
|
|
9
|
+
"as",
|
|
10
|
+
"disabled",
|
|
11
|
+
"disableClass",
|
|
12
|
+
"exact",
|
|
13
|
+
"exactActiveClass",
|
|
14
|
+
"exactHash",
|
|
15
|
+
"exactQuery",
|
|
16
|
+
"external",
|
|
17
|
+
"href",
|
|
18
|
+
"inactiveClass",
|
|
19
|
+
"noPrefetch",
|
|
20
|
+
"noRel",
|
|
21
|
+
"prefetch",
|
|
22
|
+
"prefetchedClass",
|
|
23
|
+
"rel",
|
|
24
|
+
"replace",
|
|
25
|
+
"target",
|
|
26
|
+
"to",
|
|
27
|
+
"type",
|
|
28
|
+
"title"
|
|
29
|
+
);
|
|
30
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { ClassValue, CRRule, CVCompoundVariants, CVDefaultVariants, CVMeta, CVSlots, CVVariants } from '@byyuurin/ui-kit';
|
|
2
2
|
export declare function prepareStyler(rules?: CRRule[]): {
|
|
3
|
-
createStyler: <V extends CVVariants<S, B>, CV extends CVCompoundVariants<V, S, B>, DV extends CVDefaultVariants<V, S>, B extends ClassValue = undefined, S extends CVSlots = undefined>(theme: CVMeta<V, CV, DV, B, S>) => [keyof V] extends string[] ? (props: import("@byyuurin/ui-kit
|
|
3
|
+
createStyler: <V extends CVVariants<S, B>, CV extends CVCompoundVariants<V, S, B>, DV extends CVDefaultVariants<V, S>, B extends ClassValue = undefined, S extends CVSlots = undefined>(theme: CVMeta<V, CV, DV, B, S>) => [keyof V] extends string[] ? (props: import("@byyuurin/ui-kit").VariantProps<import("@byyuurin/ui-kit").CVReturnType<V, S, B>> & import("..").StylerBaseProps) => S extends undefined ? string : { [K in keyof S | (B extends undefined ? never : "base")]: import("@byyuurin/ui-kit").CVHandler<V, S, string>; } : (props?: import("..").StylerBaseProps) => S extends undefined ? string : { [K in keyof S | (B extends undefined ? never : "base")]: import("@byyuurin/ui-kit").CVHandler<V, S, string>; };
|
|
4
4
|
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
type DepthLimit = [1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
|
2
|
+
type DepthReduce<N extends number> = N extends keyof DepthLimit ? DepthLimit[N] : 0;
|
|
3
|
+
export type FlatObjectPath<T, ParentPath extends string = '', Depth extends number = 5> = Depth extends 0 ? never : T extends Record<string, any> ? {
|
|
4
|
+
[TK in keyof T]: T[TK] extends Record<string, any> ? FlatObjectPath<T[TK], ParentPath extends '' ? TK & string : `${ParentPath}.${TK & string}`, DepthReduce<Depth>> : ParentPath extends '' ? TK & string : `${ParentPath}.${TK & string}`;
|
|
5
|
+
}[keyof T] : never;
|
|
6
|
+
export type Direction = 'ltr' | 'rtl';
|
|
7
|
+
export interface Locale<M> {
|
|
8
|
+
name: string;
|
|
9
|
+
code: string;
|
|
10
|
+
/** @default "ltr" */
|
|
11
|
+
dir?: Direction;
|
|
12
|
+
messages: M;
|
|
13
|
+
}
|
|
14
|
+
export type TranslatorOptions = Record<string, string | number>;
|
|
15
|
+
export type Translator<M = Record<string, string>> = (path: FlatObjectPath<M>, options?: TranslatorOptions) => string;
|
|
16
|
+
export declare function translate<M>(locale: Locale<M>, path: string, options?: TranslatorOptions): string;
|
|
17
|
+
export declare function createTranslator<M>(locale: Locale<M>): Translator<M>;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { get } from "./index.js";
|
|
2
|
+
export function translate(locale, path, options = {}) {
|
|
3
|
+
const prop = get(locale, `messages.${path}`, path);
|
|
4
|
+
return prop.replace(/\{(\w+)\}/g, (_, key) => `${options[key] ?? key}`);
|
|
5
|
+
}
|
|
6
|
+
export function createTranslator(locale) {
|
|
7
|
+
return (path, options) => translate(locale, path, options);
|
|
8
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Ref } from 'vue';
|
|
2
|
+
export { useRoute, useRouter } from 'vue-router';
|
|
3
|
+
export declare function useState<T>(key: string, init: () => T): Ref<T>;
|
|
4
|
+
export declare function useNuxtApp(): {
|
|
5
|
+
isHydrating: boolean;
|
|
6
|
+
payload: {
|
|
7
|
+
serverRendered: boolean;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ref } from "vue";
|
|
2
|
+
export { useRoute, useRouter } from "vue-router";
|
|
3
|
+
const state = {};
|
|
4
|
+
export function useState(key, init) {
|
|
5
|
+
if (state[key])
|
|
6
|
+
return state[key];
|
|
7
|
+
const value = ref(init());
|
|
8
|
+
state[key] = value;
|
|
9
|
+
return value;
|
|
10
|
+
}
|
|
11
|
+
export function useNuxtApp() {
|
|
12
|
+
return {
|
|
13
|
+
isHydrating: true,
|
|
14
|
+
payload: { serverRendered: false }
|
|
15
|
+
};
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.ba24b380.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
package/dist/types.d.mts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { type ModuleOptions, default } from './module.js'
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { type ModuleOptions, default } from './module'
|
package/dist/unocss.d.mts
CHANGED
|
@@ -29,20 +29,15 @@ interface PresetOptions {
|
|
|
29
29
|
*/
|
|
30
30
|
cb?: string;
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
33
|
-
* @default "
|
|
34
|
-
*/
|
|
35
|
-
c1?: string;
|
|
36
|
-
/**
|
|
37
|
-
* Base color 2
|
|
38
|
-
* @default "#f2f2f2"
|
|
32
|
+
* Primary color
|
|
33
|
+
* @default "[cb]"
|
|
39
34
|
*/
|
|
40
|
-
|
|
35
|
+
cp?: string;
|
|
41
36
|
/**
|
|
42
|
-
* Base color
|
|
43
|
-
* @default "#
|
|
37
|
+
* Base background color
|
|
38
|
+
* @default "#ffffff"
|
|
44
39
|
*/
|
|
45
|
-
|
|
40
|
+
cx?: string;
|
|
46
41
|
}
|
|
47
42
|
declare const preset: _unocss_core.PresetFactory<object, PresetOptions>;
|
|
48
43
|
|
package/dist/unocss.d.ts
CHANGED
|
@@ -29,20 +29,15 @@ interface PresetOptions {
|
|
|
29
29
|
*/
|
|
30
30
|
cb?: string;
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
33
|
-
* @default "
|
|
34
|
-
*/
|
|
35
|
-
c1?: string;
|
|
36
|
-
/**
|
|
37
|
-
* Base color 2
|
|
38
|
-
* @default "#f2f2f2"
|
|
32
|
+
* Primary color
|
|
33
|
+
* @default "[cb]"
|
|
39
34
|
*/
|
|
40
|
-
|
|
35
|
+
cp?: string;
|
|
41
36
|
/**
|
|
42
|
-
* Base color
|
|
43
|
-
* @default "#
|
|
37
|
+
* Base background color
|
|
38
|
+
* @default "#ffffff"
|
|
44
39
|
*/
|
|
45
|
-
|
|
40
|
+
cx?: string;
|
|
46
41
|
}
|
|
47
42
|
declare const preset: _unocss_core.PresetFactory<object, PresetOptions>;
|
|
48
43
|
|
package/dist/unocss.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import { kebabCase } from 'scule';
|
|
|
4
4
|
import { presetUno } from '@unocss/preset-uno';
|
|
5
5
|
|
|
6
6
|
const cssVarsPrefix = "ui";
|
|
7
|
-
const cssVarsBase = ["cb", "
|
|
7
|
+
const cssVarsBase = ["cb", "cp", "cx"];
|
|
8
8
|
const cssVarsDynamic = ["fill", "content"];
|
|
9
9
|
const cssVarsAll = [...cssVarsBase, ...cssVarsDynamic];
|
|
10
10
|
|
|
@@ -12,18 +12,15 @@ const theme = {
|
|
|
12
12
|
colors: {
|
|
13
13
|
[cssVarsPrefix]: {
|
|
14
14
|
cb: cssColor(cssVar("cb")),
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
2: cssColor(cssVar("c2")),
|
|
18
|
-
3: cssColor(cssVar("c3"))
|
|
19
|
-
},
|
|
15
|
+
cp: cssColor(cssVar("cp", cssVar("cb"))),
|
|
16
|
+
cx: cssColor(cssVar("cx")),
|
|
20
17
|
fill: cssColor(cssVar("fill", cssVar("cb"))),
|
|
21
18
|
content: cssColor(cssVar("content", cssVar("cb")))
|
|
22
19
|
}
|
|
23
20
|
},
|
|
24
21
|
backgroundColor: {
|
|
25
22
|
[cssVarsPrefix]: {
|
|
26
|
-
base: cssColor(cssVar("fill", cssVar("
|
|
23
|
+
base: cssColor(cssVar("fill", cssVar("cx")))
|
|
27
24
|
}
|
|
28
25
|
},
|
|
29
26
|
textColor: {
|
|
@@ -86,7 +83,9 @@ const rules = [
|
|
|
86
83
|
if (color === "base")
|
|
87
84
|
return Object.fromEntries(cssVarsDynamic.map((prop) => [`--${cssVarsPrefix}-${prop}`, cssVar("cb")]));
|
|
88
85
|
if (color === "base-inverted")
|
|
89
|
-
return Object.fromEntries(cssVarsDynamic.map((prop) => [`--${cssVarsPrefix}-${prop}`, cssVar("
|
|
86
|
+
return Object.fromEntries(cssVarsDynamic.map((prop) => [`--${cssVarsPrefix}-${prop}`, cssVar("cx")]));
|
|
87
|
+
if (color === "primary")
|
|
88
|
+
return Object.fromEntries(cssVarsDynamic.map((prop) => [`--${cssVarsPrefix}-${prop}`, cssVar("cp", cssVar("cb"))]));
|
|
90
89
|
const data = parseColor(color, ctx.theme);
|
|
91
90
|
const value = resolveRuleValue(data);
|
|
92
91
|
if (value)
|
|
@@ -100,7 +99,9 @@ const rules = [
|
|
|
100
99
|
if (color === "base")
|
|
101
100
|
return { [`--${cssVarsPrefix}-${prop}`]: cssVar("cb") };
|
|
102
101
|
if (color === "base-inverted")
|
|
103
|
-
return { [`--${cssVarsPrefix}-${prop}`]: cssVar("
|
|
102
|
+
return { [`--${cssVarsPrefix}-${prop}`]: cssVar("cx") };
|
|
103
|
+
if (color === "primary")
|
|
104
|
+
return { [`--${cssVarsPrefix}-${prop}`]: cssVar("cp", cssVar("cb")) };
|
|
104
105
|
const data = parseColor(color, ctx.theme);
|
|
105
106
|
const value = resolveRuleValue(data);
|
|
106
107
|
if (value)
|
|
@@ -109,7 +110,7 @@ const rules = [
|
|
|
109
110
|
{ autocomplete: `${cssVarsPrefix}-(${cssVarsAll.join("|")})-$colors` }
|
|
110
111
|
],
|
|
111
112
|
[
|
|
112
|
-
/^bg-
|
|
113
|
+
/^bg-soft-(.+)$/,
|
|
113
114
|
([_, c], { theme }) => {
|
|
114
115
|
const parsed = parseColor(c, theme);
|
|
115
116
|
if (!parsed || parsed.cssColor?.type !== "rgb")
|
|
@@ -117,7 +118,7 @@ const rules = [
|
|
|
117
118
|
const color = `rgb(${parsed.cssColor.components.join(" ")})`;
|
|
118
119
|
const opacity = parsed.opacity || "100";
|
|
119
120
|
return {
|
|
120
|
-
"background-color": `color-mix(in srgb, ${color} ${opacity}%, ${cssColor(cssVar("
|
|
121
|
+
"background-color": `color-mix(in srgb, ${color} ${opacity}%, ${cssColor(cssVar("cx"))})`
|
|
121
122
|
};
|
|
122
123
|
}
|
|
123
124
|
],
|
|
@@ -155,9 +156,8 @@ function mergeOptions(options) {
|
|
|
155
156
|
radiusSwitch: "",
|
|
156
157
|
radiusTabs: "",
|
|
157
158
|
cb: "#1f2937",
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
c3: "#e5e6e6"
|
|
159
|
+
cp: "",
|
|
160
|
+
cx: "#ffffff"
|
|
161
161
|
};
|
|
162
162
|
return {
|
|
163
163
|
...defaults,
|
|
@@ -183,8 +183,8 @@ function createRootCSS(kv) {
|
|
|
183
183
|
`scrollbar-color:color-mix(in srgb,${cssColor(cssVar("cb"))} 25%,transparent) transparent`
|
|
184
184
|
])}}`,
|
|
185
185
|
`*::selection{${join([
|
|
186
|
-
`color:${cssColor(cssVar("
|
|
187
|
-
`background-color:${cssColor(cssVar("
|
|
186
|
+
`color:${cssColor(cssVar("cx"))}`,
|
|
187
|
+
`background-color:${cssColor(cssVar("cp", cssVar("cb")))}`
|
|
188
188
|
])}}`
|
|
189
189
|
];
|
|
190
190
|
return css.join("");
|
|
@@ -197,11 +197,31 @@ const baseUnoConfig = mergeConfigs([
|
|
|
197
197
|
function transformUnoRules(userConfig = {}) {
|
|
198
198
|
const { rules = [], theme = {} } = mergeConfigs([baseUnoConfig, userConfig]);
|
|
199
199
|
const mergeRules = [];
|
|
200
|
-
const
|
|
200
|
+
const toString = (values) => {
|
|
201
|
+
const variables = /* @__PURE__ */ new Set([]);
|
|
202
|
+
const properties = /* @__PURE__ */ new Set([]);
|
|
203
|
+
const propertiesIgnores = /* @__PURE__ */ new Set(["transform"]);
|
|
204
|
+
let propertiesOnly = true;
|
|
205
|
+
values.forEach((value) => {
|
|
206
|
+
if (propertiesIgnores.has(value)) {
|
|
207
|
+
properties.add(value);
|
|
208
|
+
propertiesOnly = false;
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
if (value.startsWith("--")) {
|
|
212
|
+
variables.add(value);
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
properties.add(value);
|
|
216
|
+
});
|
|
217
|
+
const valueArray = propertiesOnly && properties.size > 0 ? Array.from(properties.values()) : values;
|
|
218
|
+
return valueArray.join(",");
|
|
219
|
+
};
|
|
220
|
+
const resolveCSSEntries = (entries) => () => toString(entries.flatMap((value) => Object.keys(value)));
|
|
201
221
|
const resolveCSSObject = (object) => () => {
|
|
202
222
|
if (JSON.stringify(object) === "{}")
|
|
203
223
|
return null;
|
|
204
|
-
return Object.keys(object)
|
|
224
|
+
return toString(Object.keys(object));
|
|
205
225
|
};
|
|
206
226
|
for (const rule of rules) {
|
|
207
227
|
const [maybeString, maybeResult] = rule;
|
|
@@ -221,9 +241,8 @@ function transformUnoRules(userConfig = {}) {
|
|
|
221
241
|
// @ts-expect-error pass
|
|
222
242
|
generator: { config: {} }
|
|
223
243
|
});
|
|
224
|
-
if (Array.isArray(result))
|
|
225
|
-
return result.filter((i) => typeof i === "object").map((i) => Array.isArray(i) ? i[0] : Object.keys(i).join(","))
|
|
226
|
-
}
|
|
244
|
+
if (Array.isArray(result))
|
|
245
|
+
return toString(result.filter((i) => typeof i === "object").map((i) => Array.isArray(i) ? i[0] : Object.keys(i).join(",")));
|
|
227
246
|
if (typeof result === "object")
|
|
228
247
|
return resolveCSSObject(result)();
|
|
229
248
|
} catch (e) {
|
package/dist/unocss.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unocss.mjs","sources":["../src/_unocss/constants.ts","../src/_unocss/theme.ts","../src/_unocss/rules.ts","../src/_unocss/preset.ts","../src/_unocss/rule-transform.ts"],"sourcesContent":["export const cssVarsPrefix = 'ui'\nexport const cssVarsBase = ['cb', 'c1', 'c2', 'c3']\nexport const cssVarsDynamic = ['fill', 'content']\nexport const cssVarsAll = [...cssVarsBase, ...cssVarsDynamic]\n","import type { Theme } from '@unocss/preset-mini'\nimport { cssVarsPrefix } from './constants'\n\nexport const theme: Theme = {\n colors: {\n [cssVarsPrefix]: {\n cb: cssColor(cssVar('cb')),\n c: {\n 1: cssColor(cssVar('c1')),\n 2: cssColor(cssVar('c2')),\n 3: cssColor(cssVar('c3')),\n },\n fill: cssColor(cssVar('fill', cssVar('cb'))),\n content: cssColor(cssVar('content', cssVar('cb'))),\n },\n },\n backgroundColor: {\n [cssVarsPrefix]: {\n base: cssColor(cssVar('fill', cssVar('c1'))),\n },\n },\n textColor: {\n [cssVarsPrefix]: {\n base: cssColor(cssVar('content', cssVar('cb'))),\n },\n },\n borderColor: {\n [cssVarsPrefix]: {\n base: cssColor(cssVar('fill', cssVar('cb'))),\n },\n },\n borderRadius: {\n ...Object.fromEntries(['base', 'box', 'button', 'checkbox', 'radio', 'switch', 'tabs']\n .map((name) => [`${cssVarsPrefix}-${name}`, name === 'base'\n ? cssVar('radius')\n : cssVar(`radius-${name}`, cssVar('radius'))])),\n },\n ringWidth: {\n DEFAULT: '1px',\n },\n shadowColor: {\n [cssVarsPrefix]: {\n base: cssColor(cssVar('fill', cssVar('cb'))),\n },\n },\n animation: {\n keyframes: {\n 'fade-in': '{from {opacity: 0;}to {opacity: 1;}}',\n 'fade-out': '{from {opacity: 1;}to {opacity: 0;}}',\n 'scale-in': '{from {opacity: 0;scale: 0.95;}to {opacity: 1;scale: 1;}}',\n 'scale-out': '{from {opacity: 1;scale: 1;}to {opacity: 0;scale: 0.95;}}',\n 'slide-in-from-top': '{from {transform: translateY(-100%);}to {transform: translateY(0);}}',\n 'slide-out-to-top': '{from {transform: translateY(0);}to {transform: translateY(-100%);}}',\n 'slide-in-from-right': '{from {transform: translateX(100%);}to {transform: translateX(0);}}',\n 'slide-out-to-right': '{from {transform: translateX(0);}to {transform: translateX(100%);}}',\n 'slide-in-from-bottom': '{from {transform: translateY(100%);}to {transform: translateY(0);}}',\n 'slide-out-to-bottom': '{from {transform: translateY(0);}to {transform: translateY(100%);}}',\n 'slide-in-from-left': '{from {transform: translateX(-100%);}to {transform: translateX(0);}}',\n 'slide-out-to-left': '{from {transform: translateX(0);}to {transform: translateX(-100%);}}',\n 'slide-in-from-top-and-fade': '{from {opacity: 0;transform: translateY(-4px);}to {opacity: 1;transform: translateY(0);}}',\n 'slide-out-to-top-and-fade': '{from {opacity: 1;transform: translateY(0);}to {opacity: 0;transform: translateY(-4px);}}',\n 'slide-in-from-right-and-fade': '{from {opacity: 0;transform: translateX(4px);}to {opacity: 1;transform: translateX(0);}}',\n 'slide-out-to-right-and-fade': '{from {opacity: 1;transform: translateX(0);}to {opacity: 0;transform: translateX(4px);}}',\n 'slide-in-from-bottom-and-fade': '{from {opacity: 0;transform: translateY(4px);}to {opacity: 1;transform: translateY(0);}}',\n 'slide-out-to-bottom-and-fade': '{from {opacity: 1;transform: translateY(0);}to {opacity: 0;transform: translateY(4px);}}',\n 'slide-in-from-left-and-fade': '{from {opacity: 0;transform: translateX(-4px);}to {opacity: 1;transform: translateX(0);}}',\n 'slide-out-to-left-and-fade': '{from {opacity: 1;transform: translateX(0);}to {opacity: 0;transform: translateX(-4px);}}',\n },\n },\n}\n\nexport function cssVar(name: string, ...defaultValue: string[]) {\n return `var(${[`--${cssVarsPrefix}-${name}`, ...defaultValue].join(',')})`\n}\n\nexport function cssColor(...rgb: (string | number)[]) {\n return `rgb(${rgb.join(' ')})`\n}\n\nexport default theme\n","import type { Rule } from '@unocss/core'\nimport type { ParsedColorValue } from '@unocss/preset-mini/utils'\nimport { parseColor } from '@unocss/preset-mini/utils'\nimport { cssVarsAll, cssVarsDynamic, cssVarsPrefix } from './constants'\nimport { cssColor, cssVar } from './theme'\n\nexport const rules: Rule[] = [\n [\n new RegExp(`^${cssVarsPrefix}-([^/]+)$`),\n ([_, color], ctx) => {\n if (color === 'base')\n return Object.fromEntries(cssVarsDynamic.map((prop) => [`--${cssVarsPrefix}-${prop}`, cssVar('cb')]))\n\n if (color === 'base-inverted')\n return Object.fromEntries(cssVarsDynamic.map((prop) => [`--${cssVarsPrefix}-${prop}`, cssVar('c1')]))\n\n const data = parseColor(color, ctx.theme)\n const value = resolveRuleValue(data)\n\n if (value)\n return Object.fromEntries(cssVarsDynamic.map((prop) => [`--${cssVarsPrefix}-${prop}`, value]))\n },\n { autocomplete: `${cssVarsPrefix}-$colors` },\n ],\n [\n new RegExp(`^${cssVarsPrefix}-(?:(${cssVarsAll.join('|')})-)([^/]+)$`),\n ([_, prop, color], ctx) => {\n if (color === 'base')\n return { [`--${cssVarsPrefix}-${prop}`]: cssVar('cb') }\n\n if (color === 'base-inverted')\n return { [`--${cssVarsPrefix}-${prop}`]: cssVar('c1') }\n\n const data = parseColor(color, ctx.theme)\n const value = resolveRuleValue(data)\n\n if (value)\n return { [`--${cssVarsPrefix}-${prop}`]: value }\n },\n { autocomplete: `${cssVarsPrefix}-(${cssVarsAll.join('|')})-$colors` },\n ],\n [\n /^bg-solid-(.+)$/,\n ([_, c], { theme }) => {\n const parsed = parseColor(c, theme)\n\n if (!parsed || parsed.cssColor?.type !== 'rgb')\n return\n\n const color = `rgb(${parsed.cssColor.components.join(' ')})`\n const opacity = parsed.opacity || '100'\n\n return {\n 'background-color': `color-mix(in srgb, ${color} ${opacity}%, ${cssColor(cssVar('c1'))})`,\n }\n },\n ],\n // overrides\n [/^rotate-(\\d+)$/, ([_, d]) => ({ rotate: `${d}deg` })],\n]\n\nexport default rules\n\nfunction resolveRuleValue(data: ParsedColorValue | undefined) {\n if (data?.color && data.cssColor?.components) {\n let value = data.cssColor.components.join(' ')\n\n if (!/var\\s*\\((.+)\\)(.*)/.test(data.color))\n value += ` /* ${data.color} */`\n\n return value\n }\n\n return null\n}\n","import { definePreset } from '@unocss/core'\nimport { parseCssColor } from '@unocss/preset-mini/utils'\nimport { kebabCase } from 'scule'\nimport { cssVarsPrefix } from './constants'\nimport rules from './rules'\nimport theme, { cssColor, cssVar } from './theme'\n\nexport interface PresetOptions {\n /** @default \"0rem\" */\n radius?: string\n /** @default \"[radius]\" */\n radiusBox?: string\n /** @default \"[radius]\" */\n radiusButton?: string\n /** @default \"[radius]\" */\n radiusCheckbox?: string\n /** @default \"[radius]\" */\n radiusRadio?: string\n /** @default \"[radius]\" */\n radiusSwitch?: string\n /** @default \"[radius]\" */\n radiusTabs?: string\n /**\n * Base content color\n * @default \"#1f2937\"\n */\n cb?: string\n /**\n * Base color 1\n * @default \"#ffffff\"\n */\n c1?: string\n /**\n * Base color 2\n * @default \"#f2f2f2\"\n */\n c2?: string\n /**\n * Base color 3\n * @default \"#e5e6e6\"\n */\n c3?: string\n}\n\nexport const preset = definePreset((\n options: PresetOptions = {},\n) => {\n return {\n name: 'unocss-preset-ui',\n theme,\n rules,\n preflights: [\n { getCSS: () => createRootCSS(mergeOptions(options)) },\n ],\n safelist: Object.keys(theme.animation!.keyframes!).map((v) => `keyframes-${v}`),\n }\n})\n\nfunction mergeOptions(options: PresetOptions): PresetOptions {\n const defaults: Required<PresetOptions> = {\n radius: '0rem',\n radiusBox: '',\n radiusButton: '',\n radiusCheckbox: '',\n radiusRadio: '',\n radiusSwitch: '',\n radiusTabs: '',\n cb: '#1f2937',\n c1: '#ffffff',\n c2: '#f2f2f2',\n c3: '#e5e6e6',\n }\n\n return {\n ...defaults,\n ...options,\n }\n}\n\nfunction createRootCSS(kv: PresetOptions) {\n const join = (input: string[]) => input.map((item) => item.endsWith(';') ? item : `${item};`).join('')\n\n const css = [\n // initial\n `:root{${join(Object.entries(kv)\n .filter(([_, v]) => Boolean(v))\n .map(([k, v]) => {\n const name = kebabCase(k)\n const content = parseCssColor(v)?.components.join(' ') ?? v\n return `--${cssVarsPrefix}-${name}:${content}`\n }))}}`,\n // reset\n `:root{${join([\n `color:${cssColor(cssVar('cb'))}`,\n ])}}`,\n `*,::before,::after{${join([\n `--un-default-border-color:color-mix(in srgb,${cssColor(cssVar('cb'))} 10%,transparent)`,\n `accent-color:${cssColor(cssVar('fill', cssVar('cb')))}`,\n `scrollbar-color:color-mix(in srgb,${cssColor(cssVar('cb'))} 25%,transparent) transparent`,\n ])}}`,\n `*::selection{${join([\n `color:${cssColor(cssVar('c1'))}`,\n `background-color:${cssColor(cssVar('fill', cssVar('cb')))}`,\n ])}}`,\n ]\n\n return css.join('')\n}\n","import type { CRRule, CRRuleMatcher } from '@byyuurin/ui-kit'\nimport type { CSSEntries, CSSObject, UserConfig } from '@unocss/core'\nimport { mergeConfigs } from '@unocss/core'\nimport { presetUno } from '@unocss/preset-uno'\nimport { preset } from './preset'\n\nconst baseUnoConfig = mergeConfigs([\n presetUno(),\n preset(),\n])\n\nexport function transformUnoRules(\n userConfig: UserConfig = {},\n) {\n const { rules = [], theme = {} } = mergeConfigs([baseUnoConfig, userConfig])\n const mergeRules: CRRule[] = []\n\n const resolveCSSEntries = (entries: CSSEntries) => () => entries.flatMap((value) => Object.keys(value)).join(',')\n\n const resolveCSSObject = (object: CSSObject) => () => {\n if (JSON.stringify(object) === '{}')\n return null\n\n return Object.keys(object).join(',')\n }\n\n for (const rule of rules) {\n const [maybeString, maybeResult] = rule\n const ruleRE = typeof maybeString === 'string' ? new RegExp(`^${maybeString}$`) : maybeString\n\n if (Array.isArray(maybeResult)) {\n mergeRules.push([ruleRE, resolveCSSEntries(maybeResult)])\n continue\n }\n\n if (typeof maybeResult === 'object') {\n mergeRules.push([ruleRE, resolveCSSObject(maybeResult)])\n continue\n }\n\n const matcher: CRRuleMatcher = (matches) => {\n try {\n const result = maybeResult(['', ...matches], {\n theme,\n // @ts-expect-error pass\n generator: { config: {} },\n })\n\n if (Array.isArray(result)) {\n return result\n .filter((i) => typeof i === 'object')\n .map((i) => Array.isArray(i) ? i[0] : Object.keys(i).join(','))\n .join(',')\n }\n\n if (typeof result === 'object')\n return resolveCSSObject(result as any)()\n }\n catch (e: any) {\n console.warn(`[Fail Rule]`, ruleRE, e.message)\n }\n\n return null\n }\n\n mergeRules.push([ruleRE, matcher])\n }\n\n return mergeRules\n}\n"],"names":[],"mappings":";;;;;AAAO,MAAM,aAAgB,GAAA;AACtB,MAAM,WAAc,GAAA,CAAC,IAAM,EAAA,IAAA,EAAM,MAAM,IAAI;AACrC,MAAA,cAAA,GAAiB,CAAC,MAAA,EAAQ,SAAS;AACzC,MAAM,UAAa,GAAA,CAAC,GAAG,WAAA,EAAa,GAAG,cAAc;;ACArD,MAAM,KAAe,GAAA;AAAA,EAC1B,MAAQ,EAAA;AAAA,IACN,CAAC,aAAa,GAAG;AAAA,MACf,EAAI,EAAA,QAAA,CAAS,MAAO,CAAA,IAAI,CAAC,CAAA;AAAA,MACzB,CAAG,EAAA;AAAA,QACD,CAAG,EAAA,QAAA,CAAS,MAAO,CAAA,IAAI,CAAC,CAAA;AAAA,QACxB,CAAG,EAAA,QAAA,CAAS,MAAO,CAAA,IAAI,CAAC,CAAA;AAAA,QACxB,CAAG,EAAA,QAAA,CAAS,MAAO,CAAA,IAAI,CAAC;AAAA,OAC1B;AAAA,MACA,MAAM,QAAS,CAAA,MAAA,CAAO,QAAQ,MAAO,CAAA,IAAI,CAAC,CAAC,CAAA;AAAA,MAC3C,SAAS,QAAS,CAAA,MAAA,CAAO,WAAW,MAAO,CAAA,IAAI,CAAC,CAAC;AAAA;AACnD,GACF;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,CAAC,aAAa,GAAG;AAAA,MACf,MAAM,QAAS,CAAA,MAAA,CAAO,QAAQ,MAAO,CAAA,IAAI,CAAC,CAAC;AAAA;AAC7C,GACF;AAAA,EACA,SAAW,EAAA;AAAA,IACT,CAAC,aAAa,GAAG;AAAA,MACf,MAAM,QAAS,CAAA,MAAA,CAAO,WAAW,MAAO,CAAA,IAAI,CAAC,CAAC;AAAA;AAChD,GACF;AAAA,EACA,WAAa,EAAA;AAAA,IACX,CAAC,aAAa,GAAG;AAAA,MACf,MAAM,QAAS,CAAA,MAAA,CAAO,QAAQ,MAAO,CAAA,IAAI,CAAC,CAAC;AAAA;AAC7C,GACF;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,GAAG,MAAA,CAAO,WAAY,CAAA,CAAC,QAAQ,KAAO,EAAA,QAAA,EAAU,UAAY,EAAA,OAAA,EAAS,UAAU,MAAM,CAAA,CAClF,GAAI,CAAA,CAAC,SAAS,CAAC,CAAA,EAAG,aAAa,CAAA,CAAA,EAAI,IAAI,CAAI,CAAA,EAAA,IAAA,KAAS,MACjD,GAAA,MAAA,CAAO,QAAQ,CACf,GAAA,MAAA,CAAO,CAAU,OAAA,EAAA,IAAI,IAAI,MAAO,CAAA,QAAQ,CAAC,CAAC,CAAC,CAAC;AAAA,GACpD;AAAA,EACA,SAAW,EAAA;AAAA,IACT,OAAS,EAAA;AAAA,GACX;AAAA,EACA,WAAa,EAAA;AAAA,IACX,CAAC,aAAa,GAAG;AAAA,MACf,MAAM,QAAS,CAAA,MAAA,CAAO,QAAQ,MAAO,CAAA,IAAI,CAAC,CAAC;AAAA;AAC7C,GACF;AAAA,EACA,SAAW,EAAA;AAAA,IACT,SAAW,EAAA;AAAA,MACT,SAAW,EAAA,sCAAA;AAAA,MACX,UAAY,EAAA,sCAAA;AAAA,MACZ,UAAY,EAAA,2DAAA;AAAA,MACZ,WAAa,EAAA,2DAAA;AAAA,MACb,mBAAqB,EAAA,sEAAA;AAAA,MACrB,kBAAoB,EAAA,sEAAA;AAAA,MACpB,qBAAuB,EAAA,qEAAA;AAAA,MACvB,oBAAsB,EAAA,qEAAA;AAAA,MACtB,sBAAwB,EAAA,qEAAA;AAAA,MACxB,qBAAuB,EAAA,qEAAA;AAAA,MACvB,oBAAsB,EAAA,sEAAA;AAAA,MACtB,mBAAqB,EAAA,sEAAA;AAAA,MACrB,4BAA8B,EAAA,2FAAA;AAAA,MAC9B,2BAA6B,EAAA,2FAAA;AAAA,MAC7B,8BAAgC,EAAA,0FAAA;AAAA,MAChC,6BAA+B,EAAA,0FAAA;AAAA,MAC/B,+BAAiC,EAAA,0FAAA;AAAA,MACjC,8BAAgC,EAAA,0FAAA;AAAA,MAChC,6BAA+B,EAAA,2FAAA;AAAA,MAC/B,4BAA8B,EAAA;AAAA;AAChC;AAEJ;AAEgB,SAAA,MAAA,CAAO,SAAiB,YAAwB,EAAA;AAC9D,EAAA,OAAO,CAAO,IAAA,EAAA,CAAC,CAAK,EAAA,EAAA,aAAa,CAAI,CAAA,EAAA,IAAI,CAAI,CAAA,EAAA,GAAG,YAAY,CAAA,CAAE,IAAK,CAAA,GAAG,CAAC,CAAA,CAAA,CAAA;AACzE;AAEO,SAAS,YAAY,GAA0B,EAAA;AACpD,EAAA,OAAO,CAAO,IAAA,EAAA,GAAA,CAAI,IAAK,CAAA,GAAG,CAAC,CAAA,CAAA,CAAA;AAC7B;;ACvEO,MAAM,KAAgB,GAAA;AAAA,EAC3B;AAAA,IACE,IAAI,MAAA,CAAO,CAAI,CAAA,EAAA,aAAa,CAAW,SAAA,CAAA,CAAA;AAAA,IACvC,CAAC,CAAC,CAAG,EAAA,KAAK,GAAG,GAAQ,KAAA;AACnB,MAAA,IAAI,KAAU,KAAA,MAAA;AACZ,QAAA,OAAO,OAAO,WAAY,CAAA,cAAA,CAAe,GAAI,CAAA,CAAC,SAAS,CAAC,CAAA,EAAA,EAAK,aAAa,CAAA,CAAA,EAAI,IAAI,CAAI,CAAA,EAAA,MAAA,CAAO,IAAI,CAAC,CAAC,CAAC,CAAA;AAEtG,MAAA,IAAI,KAAU,KAAA,eAAA;AACZ,QAAA,OAAO,OAAO,WAAY,CAAA,cAAA,CAAe,GAAI,CAAA,CAAC,SAAS,CAAC,CAAA,EAAA,EAAK,aAAa,CAAA,CAAA,EAAI,IAAI,CAAI,CAAA,EAAA,MAAA,CAAO,IAAI,CAAC,CAAC,CAAC,CAAA;AAEtG,MAAA,MAAM,IAAO,GAAA,UAAA,CAAW,KAAO,EAAA,GAAA,CAAI,KAAK,CAAA;AACxC,MAAM,MAAA,KAAA,GAAQ,iBAAiB,IAAI,CAAA;AAEnC,MAAI,IAAA,KAAA;AACF,QAAA,OAAO,MAAO,CAAA,WAAA,CAAY,cAAe,CAAA,GAAA,CAAI,CAAC,IAAS,KAAA,CAAC,CAAK,EAAA,EAAA,aAAa,CAAI,CAAA,EAAA,IAAI,CAAI,CAAA,EAAA,KAAK,CAAC,CAAC,CAAA;AAAA,KACjG;AAAA,IACA,EAAE,YAAA,EAAc,CAAG,EAAA,aAAa,CAAW,QAAA,CAAA;AAAA,GAC7C;AAAA,EACA;AAAA,IACE,IAAI,OAAO,CAAI,CAAA,EAAA,aAAa,QAAQ,UAAW,CAAA,IAAA,CAAK,GAAG,CAAC,CAAa,WAAA,CAAA,CAAA;AAAA,IACrE,CAAC,CAAC,CAAA,EAAG,IAAM,EAAA,KAAK,GAAG,GAAQ,KAAA;AACzB,MAAA,IAAI,KAAU,KAAA,MAAA;AACZ,QAAO,OAAA,EAAE,CAAC,CAAA,EAAA,EAAK,aAAa,CAAA,CAAA,EAAI,IAAI,CAAE,CAAA,GAAG,MAAO,CAAA,IAAI,CAAE,EAAA;AAExD,MAAA,IAAI,KAAU,KAAA,eAAA;AACZ,QAAO,OAAA,EAAE,CAAC,CAAA,EAAA,EAAK,aAAa,CAAA,CAAA,EAAI,IAAI,CAAE,CAAA,GAAG,MAAO,CAAA,IAAI,CAAE,EAAA;AAExD,MAAA,MAAM,IAAO,GAAA,UAAA,CAAW,KAAO,EAAA,GAAA,CAAI,KAAK,CAAA;AACxC,MAAM,MAAA,KAAA,GAAQ,iBAAiB,IAAI,CAAA;AAEnC,MAAI,IAAA,KAAA;AACF,QAAO,OAAA,EAAE,CAAC,CAAK,EAAA,EAAA,aAAa,IAAI,IAAI,CAAA,CAAE,GAAG,KAAM,EAAA;AAAA,KACnD;AAAA,IACA,EAAE,cAAc,CAAG,EAAA,aAAa,KAAK,UAAW,CAAA,IAAA,CAAK,GAAG,CAAC,CAAY,SAAA,CAAA;AAAA,GACvE;AAAA,EACA;AAAA,IACE,iBAAA;AAAA,IACA,CAAC,CAAC,CAAA,EAAG,CAAC,CAAG,EAAA,EAAE,OAAY,KAAA;AACrB,MAAM,MAAA,MAAA,GAAS,UAAW,CAAA,CAAA,EAAG,KAAK,CAAA;AAElC,MAAA,IAAI,CAAC,MAAA,IAAU,MAAO,CAAA,QAAA,EAAU,IAAS,KAAA,KAAA;AACvC,QAAA;AAEF,MAAA,MAAM,QAAQ,CAAO,IAAA,EAAA,MAAA,CAAO,SAAS,UAAW,CAAA,IAAA,CAAK,GAAG,CAAC,CAAA,CAAA,CAAA;AACzD,MAAM,MAAA,OAAA,GAAU,OAAO,OAAW,IAAA,KAAA;AAElC,MAAO,OAAA;AAAA,QACL,kBAAA,EAAoB,CAAsB,mBAAA,EAAA,KAAK,CAAI,CAAA,EAAA,OAAO,MAAM,QAAS,CAAA,MAAA,CAAO,IAAI,CAAC,CAAC,CAAA,CAAA;AAAA,OACxF;AAAA;AACF,GACF;AAAA;AAAA,EAEA,CAAC,gBAAA,EAAkB,CAAC,CAAC,CAAG,EAAA,CAAC,CAAO,MAAA,EAAE,MAAQ,EAAA,CAAA,EAAG,CAAC,CAAA,GAAA,CAAA,EAAQ,CAAA;AACxD;AAIA,SAAS,iBAAiB,IAAoC,EAAA;AAC5D,EAAA,IAAI,IAAM,EAAA,KAAA,IAAS,IAAK,CAAA,QAAA,EAAU,UAAY,EAAA;AAC5C,IAAA,IAAI,KAAQ,GAAA,IAAA,CAAK,QAAS,CAAA,UAAA,CAAW,KAAK,GAAG,CAAA;AAE7C,IAAA,IAAI,CAAC,oBAAA,CAAqB,IAAK,CAAA,IAAA,CAAK,KAAK,CAAA;AACvC,MAAS,KAAA,IAAA,CAAA,IAAA,EAAO,KAAK,KAAK,CAAA,GAAA,CAAA;AAE5B,IAAO,OAAA,KAAA;AAAA;AAGT,EAAO,OAAA,IAAA;AACT;;AC9BO,MAAM,MAAS,GAAA,YAAA,CAAa,CACjC,OAAA,GAAyB,EACtB,KAAA;AACH,EAAO,OAAA;AAAA,IACL,IAAM,EAAA,kBAAA;AAAA,IACN,KAAA;AAAA,IACA,KAAA;AAAA,IACA,UAAY,EAAA;AAAA,MACV,EAAE,MAAQ,EAAA,MAAM,cAAc,YAAa,CAAA,OAAO,CAAC,CAAE;AAAA,KACvD;AAAA,IACA,QAAU,EAAA,MAAA,CAAO,IAAK,CAAA,KAAA,CAAM,SAAW,CAAA,SAAU,CAAE,CAAA,GAAA,CAAI,CAAC,CAAA,KAAM,CAAa,UAAA,EAAA,CAAC,CAAE,CAAA;AAAA,GAChF;AACF,CAAC;AAED,SAAS,aAAa,OAAuC,EAAA;AAC3D,EAAA,MAAM,QAAoC,GAAA;AAAA,IACxC,MAAQ,EAAA,MAAA;AAAA,IACR,SAAW,EAAA,EAAA;AAAA,IACX,YAAc,EAAA,EAAA;AAAA,IACd,cAAgB,EAAA,EAAA;AAAA,IAChB,WAAa,EAAA,EAAA;AAAA,IACb,YAAc,EAAA,EAAA;AAAA,IACd,UAAY,EAAA,EAAA;AAAA,IACZ,EAAI,EAAA,SAAA;AAAA,IACJ,EAAI,EAAA,SAAA;AAAA,IACJ,EAAI,EAAA,SAAA;AAAA,IACJ,EAAI,EAAA;AAAA,GACN;AAEA,EAAO,OAAA;AAAA,IACL,GAAG,QAAA;AAAA,IACH,GAAG;AAAA,GACL;AACF;AAEA,SAAS,cAAc,EAAmB,EAAA;AACxC,EAAA,MAAM,OAAO,CAAC,KAAA,KAAoB,KAAM,CAAA,GAAA,CAAI,CAAC,IAAS,KAAA,IAAA,CAAK,QAAS,CAAA,GAAG,IAAI,IAAO,GAAA,CAAA,EAAG,IAAI,CAAG,CAAA,CAAA,CAAA,CAAE,KAAK,EAAE,CAAA;AAErG,EAAA,MAAM,GAAM,GAAA;AAAA;AAAA,IAEV,CAAA,MAAA,EAAS,KAAK,MAAO,CAAA,OAAA,CAAQ,EAAE,CAC5B,CAAA,MAAA,CAAO,CAAC,CAAC,CAAA,EAAG,CAAC,CAAM,KAAA,OAAA,CAAQ,CAAC,CAAC,CAAA,CAC7B,IAAI,CAAC,CAAC,CAAG,EAAA,CAAC,CAAM,KAAA;AACf,MAAM,MAAA,IAAA,GAAO,UAAU,CAAC,CAAA;AACxB,MAAA,MAAM,UAAU,aAAc,CAAA,CAAC,GAAG,UAAW,CAAA,IAAA,CAAK,GAAG,CAAK,IAAA,CAAA;AAC1D,MAAA,OAAO,CAAK,EAAA,EAAA,aAAa,CAAI,CAAA,EAAA,IAAI,IAAI,OAAO,CAAA,CAAA;AAAA,KAC7C,CAAC,CAAC,CAAA,CAAA,CAAA;AAAA;AAAA,IAEL,SAAS,IAAK,CAAA;AAAA,MACZ,CAAS,MAAA,EAAA,QAAA,CAAS,MAAO,CAAA,IAAI,CAAC,CAAC,CAAA;AAAA,KAChC,CAAC,CAAA,CAAA,CAAA;AAAA,IACF,sBAAsB,IAAK,CAAA;AAAA,MACzB,CAA+C,4CAAA,EAAA,QAAA,CAAS,MAAO,CAAA,IAAI,CAAC,CAAC,CAAA,iBAAA,CAAA;AAAA,MACrE,CAAA,aAAA,EAAgB,SAAS,MAAO,CAAA,MAAA,EAAQ,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA,CAAA;AAAA,MACtD,CAAqC,kCAAA,EAAA,QAAA,CAAS,MAAO,CAAA,IAAI,CAAC,CAAC,CAAA,6BAAA;AAAA,KAC5D,CAAC,CAAA,CAAA,CAAA;AAAA,IACF,gBAAgB,IAAK,CAAA;AAAA,MACnB,CAAS,MAAA,EAAA,QAAA,CAAS,MAAO,CAAA,IAAI,CAAC,CAAC,CAAA,CAAA;AAAA,MAC/B,CAAA,iBAAA,EAAoB,SAAS,MAAO,CAAA,MAAA,EAAQ,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;AAAA,KAC3D,CAAC,CAAA,CAAA;AAAA,GACJ;AAEA,EAAO,OAAA,GAAA,CAAI,KAAK,EAAE,CAAA;AACpB;;ACrGA,MAAM,gBAAgB,YAAa,CAAA;AAAA,EACjC,SAAU,EAAA;AAAA,EACV,MAAO;AACT,CAAC,CAAA;AAEe,SAAA,iBAAA,CACd,UAAyB,GAAA,EACzB,EAAA;AACA,EAAA,MAAM,EAAE,KAAA,GAAQ,EAAC,EAAG,KAAQ,GAAA,EAAG,EAAA,GAAI,YAAa,CAAA,CAAC,aAAe,EAAA,UAAU,CAAC,CAAA;AAC3E,EAAA,MAAM,aAAuB,EAAC;AAE9B,EAAA,MAAM,iBAAoB,GAAA,CAAC,OAAwB,KAAA,MAAM,QAAQ,OAAQ,CAAA,CAAC,KAAU,KAAA,MAAA,CAAO,IAAK,CAAA,KAAK,CAAC,CAAA,CAAE,KAAK,GAAG,CAAA;AAEhH,EAAM,MAAA,gBAAA,GAAmB,CAAC,MAAA,KAAsB,MAAM;AACpD,IAAI,IAAA,IAAA,CAAK,SAAU,CAAA,MAAM,CAAM,KAAA,IAAA;AAC7B,MAAO,OAAA,IAAA;AAET,IAAA,OAAO,MAAO,CAAA,IAAA,CAAK,MAAM,CAAA,CAAE,KAAK,GAAG,CAAA;AAAA,GACrC;AAEA,EAAA,KAAA,MAAW,QAAQ,KAAO,EAAA;AACxB,IAAM,MAAA,CAAC,WAAa,EAAA,WAAW,CAAI,GAAA,IAAA;AACnC,IAAM,MAAA,MAAA,GAAS,OAAO,WAAgB,KAAA,QAAA,GAAW,IAAI,MAAO,CAAA,CAAA,CAAA,EAAI,WAAW,CAAA,CAAA,CAAG,CAAI,GAAA,WAAA;AAElF,IAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,WAAW,CAAG,EAAA;AAC9B,MAAA,UAAA,CAAW,KAAK,CAAC,MAAA,EAAQ,iBAAkB,CAAA,WAAW,CAAC,CAAC,CAAA;AACxD,MAAA;AAAA;AAGF,IAAI,IAAA,OAAO,gBAAgB,QAAU,EAAA;AACnC,MAAA,UAAA,CAAW,KAAK,CAAC,MAAA,EAAQ,gBAAiB,CAAA,WAAW,CAAC,CAAC,CAAA;AACvD,MAAA;AAAA;AAGF,IAAM,MAAA,OAAA,GAAyB,CAAC,OAAY,KAAA;AAC1C,MAAI,IAAA;AACF,QAAA,MAAM,SAAS,WAAY,CAAA,CAAC,EAAI,EAAA,GAAG,OAAO,CAAG,EAAA;AAAA,UAC3C,KAAA;AAAA;AAAA,UAEA,SAAW,EAAA,EAAE,MAAQ,EAAA,EAAG;AAAA,SACzB,CAAA;AAED,QAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,MAAM,CAAG,EAAA;AACzB,UAAO,OAAA,MAAA,CACJ,MAAO,CAAA,CAAC,CAAM,KAAA,OAAO,CAAM,KAAA,QAAQ,CACnC,CAAA,GAAA,CAAI,CAAC,CAAA,KAAM,KAAM,CAAA,OAAA,CAAQ,CAAC,CAAA,GAAI,CAAE,CAAA,CAAC,CAAI,GAAA,MAAA,CAAO,IAAK,CAAA,CAAC,CAAE,CAAA,IAAA,CAAK,GAAG,CAAC,CAC7D,CAAA,IAAA,CAAK,GAAG,CAAA;AAAA;AAGb,QAAA,IAAI,OAAO,MAAW,KAAA,QAAA;AACpB,UAAO,OAAA,gBAAA,CAAiB,MAAa,CAAE,EAAA;AAAA,eAEpC,CAAQ,EAAA;AACb,QAAA,OAAA,CAAQ,IAAK,CAAA,CAAA,WAAA,CAAA,EAAe,MAAQ,EAAA,CAAA,CAAE,OAAO,CAAA;AAAA;AAG/C,MAAO,OAAA,IAAA;AAAA,KACT;AAEA,IAAA,UAAA,CAAW,IAAK,CAAA,CAAC,MAAQ,EAAA,OAAO,CAAC,CAAA;AAAA;AAGnC,EAAO,OAAA,UAAA;AACT;;;;"}
|
|
1
|
+
{"version":3,"file":"unocss.mjs","sources":["../src/_unocss/constants.ts","../src/_unocss/theme.ts","../src/_unocss/rules.ts","../src/_unocss/preset.ts","../src/_unocss/rule-transform.ts"],"sourcesContent":["export const cssVarsPrefix = 'ui'\nexport const cssVarsBase = ['cb', 'cp', 'cx']\nexport const cssVarsDynamic = ['fill', 'content']\nexport const cssVarsAll = [...cssVarsBase, ...cssVarsDynamic]\n","import type { Theme } from '@unocss/preset-mini'\nimport { cssVarsPrefix } from './constants'\n\nexport const theme: Theme = {\n colors: {\n [cssVarsPrefix]: {\n cb: cssColor(cssVar('cb')),\n cp: cssColor(cssVar('cp', cssVar('cb'))),\n cx: cssColor(cssVar('cx')),\n fill: cssColor(cssVar('fill', cssVar('cb'))),\n content: cssColor(cssVar('content', cssVar('cb'))),\n },\n },\n backgroundColor: {\n [cssVarsPrefix]: {\n base: cssColor(cssVar('fill', cssVar('cx'))),\n },\n },\n textColor: {\n [cssVarsPrefix]: {\n base: cssColor(cssVar('content', cssVar('cb'))),\n },\n },\n borderColor: {\n [cssVarsPrefix]: {\n base: cssColor(cssVar('fill', cssVar('cb'))),\n },\n },\n borderRadius: {\n ...Object.fromEntries(['base', 'box', 'button', 'checkbox', 'radio', 'switch', 'tabs']\n .map((name) => [`${cssVarsPrefix}-${name}`, name === 'base'\n ? cssVar('radius')\n : cssVar(`radius-${name}`, cssVar('radius'))])),\n },\n ringWidth: {\n DEFAULT: '1px',\n },\n shadowColor: {\n [cssVarsPrefix]: {\n base: cssColor(cssVar('fill', cssVar('cb'))),\n },\n },\n animation: {\n keyframes: {\n 'fade-in': '{from {opacity: 0;}to {opacity: 1;}}',\n 'fade-out': '{from {opacity: 1;}to {opacity: 0;}}',\n 'scale-in': '{from {opacity: 0;scale: 0.95;}to {opacity: 1;scale: 1;}}',\n 'scale-out': '{from {opacity: 1;scale: 1;}to {opacity: 0;scale: 0.95;}}',\n 'slide-in-from-top': '{from {transform: translateY(-100%);}to {transform: translateY(0);}}',\n 'slide-out-to-top': '{from {transform: translateY(0);}to {transform: translateY(-100%);}}',\n 'slide-in-from-right': '{from {transform: translateX(100%);}to {transform: translateX(0);}}',\n 'slide-out-to-right': '{from {transform: translateX(0);}to {transform: translateX(100%);}}',\n 'slide-in-from-bottom': '{from {transform: translateY(100%);}to {transform: translateY(0);}}',\n 'slide-out-to-bottom': '{from {transform: translateY(0);}to {transform: translateY(100%);}}',\n 'slide-in-from-left': '{from {transform: translateX(-100%);}to {transform: translateX(0);}}',\n 'slide-out-to-left': '{from {transform: translateX(0);}to {transform: translateX(-100%);}}',\n 'slide-in-from-top-and-fade': '{from {opacity: 0;transform: translateY(-4px);}to {opacity: 1;transform: translateY(0);}}',\n 'slide-out-to-top-and-fade': '{from {opacity: 1;transform: translateY(0);}to {opacity: 0;transform: translateY(-4px);}}',\n 'slide-in-from-right-and-fade': '{from {opacity: 0;transform: translateX(4px);}to {opacity: 1;transform: translateX(0);}}',\n 'slide-out-to-right-and-fade': '{from {opacity: 1;transform: translateX(0);}to {opacity: 0;transform: translateX(4px);}}',\n 'slide-in-from-bottom-and-fade': '{from {opacity: 0;transform: translateY(4px);}to {opacity: 1;transform: translateY(0);}}',\n 'slide-out-to-bottom-and-fade': '{from {opacity: 1;transform: translateY(0);}to {opacity: 0;transform: translateY(4px);}}',\n 'slide-in-from-left-and-fade': '{from {opacity: 0;transform: translateX(-4px);}to {opacity: 1;transform: translateX(0);}}',\n 'slide-out-to-left-and-fade': '{from {opacity: 1;transform: translateX(0);}to {opacity: 0;transform: translateX(-4px);}}',\n },\n },\n}\n\nexport function cssVar(name: string, ...defaultValue: string[]) {\n return `var(${[`--${cssVarsPrefix}-${name}`, ...defaultValue].join(',')})`\n}\n\nexport function cssColor(...rgb: (string | number)[]) {\n return `rgb(${rgb.join(' ')})`\n}\n\nexport default theme\n","import type { Rule } from '@unocss/core'\nimport type { ParsedColorValue } from '@unocss/preset-mini/utils'\nimport { parseColor } from '@unocss/preset-mini/utils'\nimport { cssVarsAll, cssVarsDynamic, cssVarsPrefix } from './constants'\nimport { cssColor, cssVar } from './theme'\n\nexport const rules: Rule[] = [\n [\n new RegExp(`^${cssVarsPrefix}-([^/]+)$`),\n ([_, color], ctx) => {\n if (color === 'base')\n return Object.fromEntries(cssVarsDynamic.map((prop) => [`--${cssVarsPrefix}-${prop}`, cssVar('cb')]))\n\n if (color === 'base-inverted')\n return Object.fromEntries(cssVarsDynamic.map((prop) => [`--${cssVarsPrefix}-${prop}`, cssVar('cx')]))\n\n if (color === 'primary')\n return Object.fromEntries(cssVarsDynamic.map((prop) => [`--${cssVarsPrefix}-${prop}`, cssVar('cp', cssVar('cb'))]))\n\n const data = parseColor(color, ctx.theme)\n const value = resolveRuleValue(data)\n\n if (value)\n return Object.fromEntries(cssVarsDynamic.map((prop) => [`--${cssVarsPrefix}-${prop}`, value]))\n },\n { autocomplete: `${cssVarsPrefix}-$colors` },\n ],\n [\n new RegExp(`^${cssVarsPrefix}-(?:(${cssVarsAll.join('|')})-)([^/]+)$`),\n ([_, prop, color], ctx) => {\n if (color === 'base')\n return { [`--${cssVarsPrefix}-${prop}`]: cssVar('cb') }\n\n if (color === 'base-inverted')\n return { [`--${cssVarsPrefix}-${prop}`]: cssVar('cx') }\n\n if (color === 'primary')\n return { [`--${cssVarsPrefix}-${prop}`]: cssVar('cp', cssVar('cb')) }\n\n const data = parseColor(color, ctx.theme)\n const value = resolveRuleValue(data)\n\n if (value)\n return { [`--${cssVarsPrefix}-${prop}`]: value }\n },\n { autocomplete: `${cssVarsPrefix}-(${cssVarsAll.join('|')})-$colors` },\n ],\n [\n /^bg-soft-(.+)$/,\n ([_, c], { theme }) => {\n const parsed = parseColor(c, theme)\n\n if (!parsed || parsed.cssColor?.type !== 'rgb')\n return\n\n const color = `rgb(${parsed.cssColor.components.join(' ')})`\n const opacity = parsed.opacity || '100'\n\n return {\n 'background-color': `color-mix(in srgb, ${color} ${opacity}%, ${cssColor(cssVar('cx'))})`,\n }\n },\n ],\n // overrides\n [/^rotate-(\\d+)$/, ([_, d]) => ({ rotate: `${d}deg` })],\n]\n\nexport default rules\n\nfunction resolveRuleValue(data: ParsedColorValue | undefined) {\n if (data?.color && data.cssColor?.components) {\n let value = data.cssColor.components.join(' ')\n\n if (!/var\\s*\\((.+)\\)(.*)/.test(data.color))\n value += ` /* ${data.color} */`\n\n return value\n }\n\n return null\n}\n","import { definePreset } from '@unocss/core'\nimport { parseCssColor } from '@unocss/preset-mini/utils'\nimport { kebabCase } from 'scule'\nimport { cssVarsPrefix } from './constants'\nimport rules from './rules'\nimport theme, { cssColor, cssVar } from './theme'\n\nexport interface PresetOptions {\n /** @default \"0rem\" */\n radius?: string\n /** @default \"[radius]\" */\n radiusBox?: string\n /** @default \"[radius]\" */\n radiusButton?: string\n /** @default \"[radius]\" */\n radiusCheckbox?: string\n /** @default \"[radius]\" */\n radiusRadio?: string\n /** @default \"[radius]\" */\n radiusSwitch?: string\n /** @default \"[radius]\" */\n radiusTabs?: string\n /**\n * Base content color\n * @default \"#1f2937\"\n */\n cb?: string\n /**\n * Primary color\n * @default \"[cb]\"\n */\n cp?: string\n /**\n * Base background color\n * @default \"#ffffff\"\n */\n cx?: string\n}\n\nexport const preset = definePreset((\n options: PresetOptions = {},\n) => {\n return {\n name: 'unocss-preset-ui',\n theme,\n rules,\n preflights: [\n { getCSS: () => createRootCSS(mergeOptions(options)) },\n ],\n safelist: Object.keys(theme.animation!.keyframes!).map((v) => `keyframes-${v}`),\n }\n})\n\nfunction mergeOptions(options: PresetOptions): PresetOptions {\n const defaults: Required<PresetOptions> = {\n radius: '0rem',\n radiusBox: '',\n radiusButton: '',\n radiusCheckbox: '',\n radiusRadio: '',\n radiusSwitch: '',\n radiusTabs: '',\n cb: '#1f2937',\n cp: '',\n cx: '#ffffff',\n }\n\n return {\n ...defaults,\n ...options,\n }\n}\n\nfunction createRootCSS(kv: PresetOptions) {\n const join = (input: string[]) => input.map((item) => item.endsWith(';') ? item : `${item};`).join('')\n\n const css = [\n // initial\n `:root{${join(Object.entries(kv)\n .filter(([_, v]) => Boolean(v))\n .map(([k, v]) => {\n const name = kebabCase(k)\n const content = parseCssColor(v)?.components.join(' ') ?? v\n return `--${cssVarsPrefix}-${name}:${content}`\n }))}}`,\n // reset\n `:root{${join([\n `color:${cssColor(cssVar('cb'))}`,\n ])}}`,\n `*,::before,::after{${join([\n `--un-default-border-color:color-mix(in srgb,${cssColor(cssVar('cb'))} 10%,transparent)`,\n `accent-color:${cssColor(cssVar('fill', cssVar('cb')))}`,\n `scrollbar-color:color-mix(in srgb,${cssColor(cssVar('cb'))} 25%,transparent) transparent`,\n ])}}`,\n `*::selection{${join([\n `color:${cssColor(cssVar('cx'))}`,\n `background-color:${cssColor(cssVar('cp', cssVar('cb')))}`,\n ])}}`,\n ]\n\n return css.join('')\n}\n","import type { CRRule, CRRuleMatcher } from '@byyuurin/ui-kit'\nimport type { CSSEntries, CSSObject, UserConfig } from '@unocss/core'\nimport { mergeConfigs } from '@unocss/core'\nimport { presetUno } from '@unocss/preset-uno'\nimport { preset } from './preset'\n\nconst baseUnoConfig = mergeConfigs([\n presetUno(),\n preset(),\n])\n\nexport function transformUnoRules(\n userConfig: UserConfig = {},\n): CRRule[] {\n const { rules = [], theme = {} } = mergeConfigs([baseUnoConfig, userConfig])\n const mergeRules: CRRule[] = []\n\n const toString = (values: string[]) => {\n const variables = new Set<string>([])\n const properties = new Set<string>([])\n const propertiesIgnores = new Set<string>(['transform'])\n let propertiesOnly = true\n\n values.forEach((value) => {\n if (propertiesIgnores.has(value)) {\n properties.add(value)\n propertiesOnly = false\n return\n }\n\n if (value.startsWith('--')) {\n variables.add(value)\n return\n }\n\n properties.add(value)\n })\n\n const valueArray = propertiesOnly && properties.size > 0 ? Array.from(properties.values()) : values\n\n return valueArray.join(',')\n }\n\n const resolveCSSEntries = (entries: CSSEntries) => () => toString(entries.flatMap((value) => Object.keys(value)))\n\n const resolveCSSObject = (object: CSSObject) => () => {\n if (JSON.stringify(object) === '{}')\n return null\n\n return toString(Object.keys(object))\n }\n\n for (const rule of rules) {\n const [maybeString, maybeResult] = rule\n const ruleRE = typeof maybeString === 'string' ? new RegExp(`^${maybeString}$`) : maybeString\n\n if (Array.isArray(maybeResult)) {\n mergeRules.push([ruleRE, resolveCSSEntries(maybeResult)])\n continue\n }\n\n if (typeof maybeResult === 'object') {\n mergeRules.push([ruleRE, resolveCSSObject(maybeResult)])\n continue\n }\n\n const matcher: CRRuleMatcher = (matches) => {\n try {\n const result = maybeResult(['', ...matches], {\n theme,\n // @ts-expect-error pass\n generator: { config: {} },\n })\n\n if (Array.isArray(result))\n return toString(result.filter((i) => typeof i === 'object').map((i) => Array.isArray(i) ? i[0] : Object.keys(i).join(',')) as string[])\n\n if (typeof result === 'object')\n return resolveCSSObject(result as any)()\n }\n catch (e: any) {\n console.warn(`[Fail Rule]`, ruleRE, e.message)\n }\n\n return null\n }\n\n mergeRules.push([ruleRE, matcher])\n }\n\n return mergeRules\n}\n"],"names":[],"mappings":"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"}
|