@byyuurin/ui 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/README.md +4 -5
  2. package/dist/module.cjs +5 -0
  3. package/dist/module.json +12 -0
  4. package/dist/{nuxt.mjs → module.mjs} +4 -4
  5. package/dist/module.mjs.map +1 -0
  6. package/dist/runtime/components/Accordion.vue +20 -31
  7. package/dist/runtime/components/Alert.vue +1 -1
  8. package/dist/runtime/components/Button.vue +10 -11
  9. package/dist/runtime/components/Card.vue +9 -6
  10. package/dist/runtime/components/Checkbox.vue +3 -3
  11. package/dist/runtime/components/Chip.vue +2 -2
  12. package/dist/runtime/components/Collapsible.vue +56 -0
  13. package/dist/runtime/components/Drawer.vue +4 -2
  14. package/dist/runtime/components/Input.vue +4 -4
  15. package/dist/runtime/components/InputNumber.vue +167 -0
  16. package/dist/runtime/components/Link.vue +301 -72
  17. package/dist/runtime/components/LinkBase.vue +88 -0
  18. package/dist/runtime/components/Modal.vue +0 -1
  19. package/dist/runtime/components/Select.vue +4 -4
  20. package/dist/runtime/components/Separator.vue +63 -0
  21. package/dist/runtime/components/Switch.vue +3 -3
  22. package/dist/runtime/components/Table.vue +292 -0
  23. package/dist/runtime/components/Tabs.vue +17 -17
  24. package/dist/runtime/components/Toast.vue +1 -1
  25. package/dist/runtime/components/Toaster.vue +1 -35
  26. package/dist/runtime/composables/useButtonGroup.d.ts +1 -1
  27. package/dist/runtime/composables/{useButtonGroup.mjs → useButtonGroup.js} +1 -1
  28. package/dist/runtime/composables/{useComponentIcons.mjs → useComponentIcons.js} +1 -1
  29. package/dist/runtime/composables/useModal.d.ts +1 -1
  30. package/dist/runtime/composables/{useModal.mjs → useModal.js} +1 -1
  31. package/dist/runtime/composables/useTheme.d.ts +3 -3
  32. package/dist/runtime/composables/{useTheme.mjs → useTheme.js} +3 -3
  33. package/dist/runtime/composables/useToast.d.ts +1 -1
  34. package/dist/runtime/index.d.ts +34 -0
  35. package/dist/runtime/index.js +34 -0
  36. package/dist/runtime/theme/accordion.d.ts +8 -8
  37. package/dist/runtime/theme/{accordion.mjs → accordion.js} +2 -2
  38. package/dist/runtime/theme/alert.d.ts +2 -2
  39. package/dist/runtime/theme/{alert.mjs → alert.js} +4 -4
  40. package/dist/runtime/theme/app.d.ts +3 -0
  41. package/dist/runtime/theme/{app.mjs → app.js} +4 -1
  42. package/dist/runtime/theme/badge.d.ts +45 -21
  43. package/dist/runtime/theme/{badge.mjs → badge.js} +2 -2
  44. package/dist/runtime/theme/button-group.d.ts +2 -2
  45. package/dist/runtime/theme/button.d.ts +57 -111
  46. package/dist/runtime/theme/button.js +164 -0
  47. package/dist/runtime/theme/card.d.ts +38 -38
  48. package/dist/runtime/theme/card.js +37 -0
  49. package/dist/runtime/theme/carousel.d.ts +2 -2
  50. package/dist/runtime/theme/{carousel.mjs → carousel.js} +2 -2
  51. package/dist/runtime/theme/checkbox.d.ts +1 -1
  52. package/dist/runtime/theme/{checkbox.mjs → checkbox.js} +3 -3
  53. package/dist/runtime/theme/chip.d.ts +45 -12
  54. package/dist/runtime/theme/{chip.mjs → chip.js} +5 -7
  55. package/dist/runtime/theme/collapsible.d.ts +38 -0
  56. package/dist/runtime/theme/collapsible.js +10 -0
  57. package/dist/runtime/theme/drawer.d.ts +43 -43
  58. package/dist/runtime/theme/{drawer.mjs → drawer.js} +33 -22
  59. package/dist/runtime/theme/index.d.ts +31 -27
  60. package/dist/runtime/theme/index.js +31 -0
  61. package/dist/runtime/theme/input-number.d.ts +135 -0
  62. package/dist/runtime/theme/input-number.js +92 -0
  63. package/dist/runtime/theme/input.d.ts +71 -99
  64. package/dist/runtime/theme/{input.mjs → input.js} +14 -14
  65. package/dist/runtime/theme/link.d.ts +2 -2
  66. package/dist/runtime/theme/{link.mjs → link.js} +1 -1
  67. package/dist/runtime/theme/modal.d.ts +31 -8
  68. package/dist/runtime/theme/{modal.mjs → modal.js} +4 -9
  69. package/dist/runtime/theme/pagination.d.ts +17 -17
  70. package/dist/runtime/theme/pinInput.d.ts +42 -42
  71. package/dist/runtime/theme/{pinInput.mjs → pinInput.js} +10 -10
  72. package/dist/runtime/theme/popover.d.ts +8 -8
  73. package/dist/runtime/theme/{popover.mjs → popover.js} +1 -1
  74. package/dist/runtime/theme/radio-group.d.ts +1 -1
  75. package/dist/runtime/theme/{radio-group.mjs → radio-group.js} +1 -1
  76. package/dist/runtime/theme/scroll-area.d.ts +17 -17
  77. package/dist/runtime/theme/{scroll-area.mjs → scroll-area.js} +2 -2
  78. package/dist/runtime/theme/select.d.ts +84 -99
  79. package/dist/runtime/theme/{select.mjs → select.js} +17 -17
  80. package/dist/runtime/theme/separator.d.ts +95 -0
  81. package/dist/runtime/theme/separator.js +53 -0
  82. package/dist/runtime/theme/slider.d.ts +1 -1
  83. package/dist/runtime/theme/{slider.mjs → slider.js} +3 -3
  84. package/dist/runtime/theme/switch.d.ts +1 -1
  85. package/dist/runtime/theme/{switch.mjs → switch.js} +2 -2
  86. package/dist/runtime/theme/table.d.ts +89 -0
  87. package/dist/runtime/theme/table.js +35 -0
  88. package/dist/runtime/theme/tabs.d.ts +69 -52
  89. package/dist/runtime/theme/{tabs.mjs → tabs.js} +11 -11
  90. package/dist/runtime/theme/textarea.d.ts +43 -37
  91. package/dist/runtime/theme/{textarea.mjs → textarea.js} +10 -10
  92. package/dist/runtime/theme/toast.d.ts +2 -2
  93. package/dist/runtime/theme/{toast.mjs → toast.js} +1 -1
  94. package/dist/runtime/theme/toaster.d.ts +42 -27
  95. package/dist/runtime/theme/tooltip.d.ts +11 -11
  96. package/dist/runtime/theme/tooltip.js +11 -0
  97. package/dist/runtime/types/components.d.ts +31 -27
  98. package/dist/runtime/types/index.d.ts +4 -4
  99. package/dist/runtime/types/index.js +2 -0
  100. package/dist/runtime/types/utils.js +0 -0
  101. package/dist/runtime/utils/index.d.ts +3 -3
  102. package/dist/runtime/utils/{index.mjs → index.js} +3 -3
  103. package/dist/runtime/utils/link.d.ts +22 -7
  104. package/dist/runtime/utils/link.js +30 -0
  105. package/dist/runtime/utils/styler.d.ts +1 -1
  106. package/dist/runtime/vue/stubs.d.ts +9 -0
  107. package/dist/runtime/vue/stubs.js +16 -0
  108. package/dist/shared/{ui.D4zm1r0C.mjs → ui.d1728164.mjs} +1 -1
  109. package/dist/shared/ui.d1728164.mjs.map +1 -0
  110. package/dist/types.d.mts +1 -0
  111. package/dist/types.d.ts +1 -0
  112. package/dist/unocss.d.mts +6 -11
  113. package/dist/unocss.d.ts +6 -11
  114. package/dist/unocss.mjs +40 -21
  115. package/dist/unocss.mjs.map +1 -1
  116. package/dist/unplugin.mjs +37 -1
  117. package/dist/unplugin.mjs.map +1 -1
  118. package/dist/vite.d.mts +0 -1
  119. package/dist/vite.d.ts +0 -1
  120. package/dist/vite.mjs +3 -1
  121. package/dist/vite.mjs.map +1 -1
  122. package/package.json +37 -36
  123. package/dist/index.d.ts +0 -29
  124. package/dist/index.mjs +0 -29
  125. package/dist/nuxt.mjs.map +0 -1
  126. package/dist/runtime/theme/button.mjs +0 -148
  127. package/dist/runtime/theme/card.mjs +0 -14
  128. package/dist/runtime/theme/index.mjs +0 -27
  129. package/dist/runtime/theme/tooltip.mjs +0 -11
  130. package/dist/runtime/types/components.mjs +0 -27
  131. package/dist/runtime/types/index.mjs +0 -2
  132. package/dist/runtime/utils/link.mjs +0 -4
  133. package/dist/shared/ui.D4zm1r0C.mjs.map +0 -1
  134. /package/dist/{nuxt.d.mts → module.d.mts} +0 -0
  135. /package/dist/{nuxt.d.ts → module.d.ts} +0 -0
  136. /package/dist/runtime/composables/{defineInjection.mjs → defineInjection.js} +0 -0
  137. /package/dist/runtime/composables/{useToast.mjs → useToast.js} +0 -0
  138. /package/dist/runtime/theme/{button-group.mjs → button-group.js} +0 -0
  139. /package/dist/runtime/theme/{pagination.mjs → pagination.js} +0 -0
  140. /package/dist/runtime/theme/{toaster.mjs → toaster.js} +0 -0
  141. /package/dist/runtime/types/{utils.mjs → components.js} +0 -0
  142. /package/dist/runtime/utils/{extend-theme.mjs → extend-theme.js} +0 -0
  143. /package/dist/runtime/utils/{styler.mjs → styler.js} +0 -0
@@ -1,27 +1,31 @@
1
- export * from '../components/Accordion.vue';
2
- export * from '../components/Alert.vue';
3
- export * from '../components/App.vue';
4
- export * from '../components/Badge.vue';
5
- export * from '../components/Button.vue';
6
- export * from '../components/ButtonGroup.vue';
7
- export * from '../components/Card.vue';
8
- export * from '../components/Carousel.vue';
9
- export * from '../components/Checkbox.vue';
10
- export * from '../components/Chip.vue';
11
- export * from '../components/Drawer.vue';
12
- export * from '../components/Input.vue';
13
- export * from '../components/Link.vue';
14
- export * from '../components/Modal.vue';
15
- export * from '../components/Pagination.vue';
16
- export * from '../components/PinInput.vue';
17
- export * from '../components/Popover.vue';
18
- export * from '../components/RadioGroup.vue';
19
- export * from '../components/ScrollArea.vue';
20
- export * from '../components/Select.vue';
21
- export * from '../components/Slider.vue';
22
- export * from '../components/Switch.vue';
23
- export * from '../components/Tabs.vue';
24
- export * from '../components/Textarea.vue';
25
- export * from '../components/Toast.vue';
26
- export * from '../components/Toaster.vue';
27
- export * from '../components/Tooltip.vue';
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/Badge.vue';
5
+ export type * from '../components/Button.vue';
6
+ export type * from '../components/ButtonGroup.vue';
7
+ export type * from '../components/Card.vue';
8
+ export type * from '../components/Carousel.vue';
9
+ export type * from '../components/Checkbox.vue';
10
+ export type * from '../components/Chip.vue';
11
+ export type * from '../components/Collapsible.vue';
12
+ export type * from '../components/Drawer.vue';
13
+ export type * from '../components/Input.vue';
14
+ export type * from '../components/InputNumber.vue';
15
+ export type * from '../components/Link.vue';
16
+ export type * from '../components/Modal.vue';
17
+ export type * from '../components/Pagination.vue';
18
+ export type * from '../components/PinInput.vue';
19
+ export type * from '../components/Popover.vue';
20
+ export type * from '../components/RadioGroup.vue';
21
+ export type * from '../components/ScrollArea.vue';
22
+ export type * from '../components/Select.vue';
23
+ export type * from '../components/Separator.vue';
24
+ export type * from '../components/Slider.vue';
25
+ export type * from '../components/Switch.vue';
26
+ export type * from '../components/Table.vue';
27
+ export type * from '../components/Tabs.vue';
28
+ export type * from '../components/Textarea.vue';
29
+ export type * from '../components/Toast.vue';
30
+ export type * from '../components/Toaster.vue';
31
+ export type * from '../components/Tooltip.vue';
@@ -1,5 +1,5 @@
1
- import type * as theme from '../theme';
2
- import type { PartialTheme } from './utils';
3
- export * from './components';
4
- export * from './utils';
1
+ import type * as theme from '../theme/index.js';
2
+ import type { PartialTheme } from './utils.js';
3
+ export * from './components.js';
4
+ export * from './utils.js';
5
5
  export type ThemeExtension = PartialTheme<typeof theme>;
@@ -0,0 +1,2 @@
1
+ export * from "./components.js";
2
+ export * from "./utils.js";
File without changes
@@ -1,6 +1,6 @@
1
- export * from './extend-theme';
2
- export * from './link';
3
- export * from './styler';
1
+ export * from './extend-theme.js';
2
+ export * from './link.js';
3
+ export * from './styler.js';
4
4
  export declare function pick<Data extends object, Keys extends keyof Data>(data: Data, keys: Keys[]): Pick<Data, Keys>;
5
5
  export declare function omit<Data extends object, Keys extends keyof Data>(data: Data, keys: Keys[]): Omit<Data, Keys>;
6
6
  export declare function get(object: Record<string, any> | undefined, path: (string | number)[] | string, defaultValue?: any): any;
@@ -1,7 +1,7 @@
1
1
  import { isEqual } from "ohash";
2
- export * from "./extend-theme.mjs";
3
- export * from "./link.mjs";
4
- export * from "./styler.mjs";
2
+ export * from "./extend-theme.js";
3
+ export * from "./link.js";
4
+ export * from "./styler.js";
5
5
  export function pick(data, keys) {
6
6
  const result = {};
7
7
  for (const key of keys)
@@ -1,15 +1,30 @@
1
- import type { LinkProps } from '../types';
2
- export declare function pickLinkProps(props: LinkProps & Partial<Pick<HTMLAnchorElement, 'ariaLabel' | 'title'>>): {
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;
6
9
  type: any;
10
+ replace: any;
11
+ activeClass: any;
12
+ ariaCurrentValue: any;
7
13
  ariaLabel: any;
8
- rel: any;
9
- target: any;
10
- href: any;
11
- ui: any;
12
14
  as: any;
15
+ disableClass: any;
16
+ exact: any;
17
+ exactActiveClass: any;
18
+ exactHash: any;
19
+ exactQuery: any;
20
+ external: any;
21
+ href: any;
22
+ inactiveClass: any;
23
+ noPrefetch: any;
13
24
  noRel: any;
14
- onClick: any;
25
+ prefetch: any;
26
+ prefetchedClass: any;
27
+ rel: any;
28
+ target: any;
29
+ to: 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/index").VariantProps<import("@byyuurin/ui-kit/index").CVReturnType<V, S, B>> & import("../types").StylerBaseProps) => S extends undefined ? string : { [K in keyof S | (B extends undefined ? never : "base")]: import("@byyuurin/ui-kit/index").CVHandler<V, S, string>; } : (props?: import("../types").StylerBaseProps) => S extends undefined ? string : { [K in keyof S | (B extends undefined ? never : "base")]: import("@byyuurin/ui-kit/index").CVHandler<V, S, string>; };
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,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
+ }
@@ -1,4 +1,4 @@
1
1
  const packageName = "@byyuurin/ui";
2
2
 
3
3
  export { packageName as p };
4
- //# sourceMappingURL=ui.D4zm1r0C.mjs.map
4
+ //# sourceMappingURL=ui.d1728164.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.d1728164.mjs","sources":["../../src/shared.ts"],"sourcesContent":["export const packageName = '@byyuurin/ui'\n"],"names":[],"mappings":"AAAO,MAAM,WAAc,GAAA;;;;"}
@@ -0,0 +1 @@
1
+ export { type ModuleOptions, default } from './module.js'
@@ -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
- * Base color 1
33
- * @default "#ffffff"
34
- */
35
- c1?: string;
36
- /**
37
- * Base color 2
38
- * @default "#f2f2f2"
32
+ * Primary color
33
+ * @default "[cb]"
39
34
  */
40
- c2?: string;
35
+ cp?: string;
41
36
  /**
42
- * Base color 3
43
- * @default "#e5e6e6"
37
+ * Base background color
38
+ * @default "#ffffff"
44
39
  */
45
- c3?: string;
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
- * Base color 1
33
- * @default "#ffffff"
34
- */
35
- c1?: string;
36
- /**
37
- * Base color 2
38
- * @default "#f2f2f2"
32
+ * Primary color
33
+ * @default "[cb]"
39
34
  */
40
- c2?: string;
35
+ cp?: string;
41
36
  /**
42
- * Base color 3
43
- * @default "#e5e6e6"
37
+ * Base background color
38
+ * @default "#ffffff"
44
39
  */
45
- c3?: string;
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", "c1", "c2", "c3"];
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
- c: {
16
- 1: cssColor(cssVar("c1")),
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("c1")))
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("c1")]));
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("c1") };
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-solid-(.+)$/,
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("c1"))})`
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
- c1: "#ffffff",
159
- c2: "#f2f2f2",
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("c1"))}`,
187
- `background-color:${cssColor(cssVar("fill", cssVar("cb")))}`
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 resolveCSSEntries = (entries) => () => entries.flatMap((value) => Object.keys(value)).join(",");
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).join(",");
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(",")).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) {
@@ -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":"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"}
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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"}
package/dist/unplugin.mjs CHANGED
@@ -5,7 +5,9 @@ import { defu } from 'defu';
5
5
  import AutoImport from 'unplugin-auto-import';
6
6
  import { globSync } from 'tinyglobby';
7
7
  import AutoImportComponents from 'unplugin-vue-components';
8
- import { p as packageName } from './shared/ui.D4zm1r0C.mjs';
8
+ import MagicString from 'magic-string';
9
+ import { resolvePathSync } from 'mlly';
10
+ import { p as packageName } from './shared/ui.d1728164.mjs';
9
11
 
10
12
  function AutoImportPlugin(options, meta) {
11
13
  const pluginOptions = defu(options.autoImport, {
@@ -19,6 +21,8 @@ function ComponentImportPlugin(options, meta) {
19
21
  const { prefix = "U" } = options;
20
22
  const components = globSync("**/*.vue", { cwd: join(runtimeDir, "components") });
21
23
  const componentNames = new Set(components.map((c) => `${prefix}${c.replace(/\.vue$/, "")}`));
24
+ const overrides = globSync("**/*.vue", { cwd: join(runtimeDir, "vue/components") });
25
+ const overrideNames = new Set(overrides.map((c) => `${prefix}${c.replace(/\.vue$/, "")}`));
22
26
  const pluginOptions = defu(options.components, {
23
27
  dts: options.dts ?? true,
24
28
  exclude: [
@@ -28,6 +32,8 @@ function ComponentImportPlugin(options, meta) {
28
32
  ],
29
33
  resolvers: [
30
34
  (componentName) => {
35
+ if (overrideNames.has(componentName))
36
+ return { name: "default", from: join(runtimeDir, "vue/components", `${componentName.slice(prefix.length)}.vue`) };
31
37
  if (componentNames.has(componentName))
32
38
  return { name: "default", from: join(runtimeDir, "components", `${componentName.slice(prefix.length)}.vue`) };
33
39
  }
@@ -36,9 +42,39 @@ function ComponentImportPlugin(options, meta) {
36
42
  return AutoImportComponents.raw(pluginOptions, meta);
37
43
  }
38
44
 
45
+ function NuxtEnvironmentPlugin() {
46
+ const stubPath = resolvePathSync("../runtime/vue/stubs", { extensions: [".ts", ".mjs", ".js"], url: import.meta.url });
47
+ const name = "byyuurin:ui";
48
+ const resolveId = "#imports";
49
+ return {
50
+ name,
51
+ enforce: "pre",
52
+ resolveId(id) {
53
+ if (id === resolveId)
54
+ return stubPath;
55
+ },
56
+ transformInclude(id) {
57
+ return normalize(id).includes(runtimeDir);
58
+ },
59
+ transform(code) {
60
+ if (code.includes("import.meta.client")) {
61
+ const s = new MagicString(code);
62
+ s.replaceAll("import.meta.client", "true");
63
+ if (s.hasChanged()) {
64
+ return {
65
+ code: s.toString(),
66
+ map: s.generateMap({ hires: true })
67
+ };
68
+ }
69
+ }
70
+ }
71
+ };
72
+ }
73
+
39
74
  const runtimeDir = normalize(fileURLToPath(new URL("runtime", import.meta.url)));
40
75
  const unplugin = createUnplugin((options = {}, meta) => {
41
76
  return [
77
+ NuxtEnvironmentPlugin(),
42
78
  ComponentImportPlugin(options, meta),
43
79
  AutoImportPlugin(options, meta),
44
80
  {