@byyuurin/ui 0.0.4 → 0.0.5
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 +11 -22
- package/dist/index.d.ts +25 -2
- package/dist/index.mjs +25 -2
- package/dist/nuxt.d.mts +1 -1
- package/dist/nuxt.d.ts +1 -1
- package/dist/nuxt.mjs +14 -10
- package/dist/nuxt.mjs.map +1 -0
- package/dist/runtime/components/Accordion.vue +1 -1
- package/dist/runtime/components/Alert.vue +120 -0
- package/dist/runtime/components/Badge.vue +71 -0
- package/dist/runtime/components/Button.vue +3 -2
- package/dist/runtime/components/Card.vue +4 -4
- package/dist/runtime/components/Checkbox.vue +1 -1
- package/dist/runtime/components/Chip.vue +59 -0
- package/dist/runtime/components/Drawer.vue +2 -2
- package/dist/runtime/components/Input.vue +2 -1
- package/dist/runtime/components/Link.vue +1 -1
- package/dist/runtime/components/Modal.vue +2 -2
- package/dist/runtime/components/PinInput.vue +86 -0
- package/dist/runtime/components/Popover.vue +1 -1
- package/dist/runtime/components/RadioGroup.vue +1 -1
- package/dist/runtime/components/ScrollArea.vue +1 -1
- package/dist/runtime/components/Select.vue +2 -1
- package/dist/runtime/components/Slider.vue +97 -0
- package/dist/runtime/components/Switch.vue +1 -1
- package/dist/runtime/components/Tabs.vue +1 -1
- package/dist/runtime/components/Textarea.vue +2 -3
- package/dist/runtime/components/Toast.vue +1 -1
- package/dist/runtime/components/Toaster.vue +2 -1
- package/dist/runtime/components/Tooltip.vue +1 -1
- package/dist/runtime/theme/accordion.mjs +24 -21
- package/dist/runtime/theme/alert.d.ts +85 -0
- package/dist/runtime/theme/alert.mjs +47 -0
- package/dist/runtime/theme/app.mjs +1 -0
- package/dist/runtime/theme/badge.d.ts +79 -0
- package/dist/runtime/theme/badge.mjs +89 -0
- package/dist/runtime/theme/button.d.ts +4 -1
- package/dist/runtime/theme/button.mjs +131 -120
- package/dist/runtime/theme/card.d.ts +2 -2
- package/dist/runtime/theme/card.mjs +12 -9
- package/dist/runtime/theme/checkbox.mjs +45 -42
- package/dist/runtime/theme/chip.d.ts +56 -0
- package/dist/runtime/theme/chip.mjs +63 -0
- package/dist/runtime/theme/drawer.mjs +69 -66
- package/dist/runtime/theme/index.d.ts +5 -0
- package/dist/runtime/theme/index.mjs +5 -0
- package/dist/runtime/theme/input.d.ts +13 -5
- package/dist/runtime/theme/input.mjs +135 -122
- package/dist/runtime/theme/link.d.ts +1 -1
- package/dist/runtime/theme/link.mjs +23 -20
- package/dist/runtime/theme/modal.mjs +51 -48
- package/dist/runtime/theme/pinInput.d.ts +97 -0
- package/dist/runtime/theme/pinInput.mjs +108 -0
- package/dist/runtime/theme/popover.mjs +11 -8
- package/dist/runtime/theme/radioGroup.mjs +50 -47
- package/dist/runtime/theme/scrollArea.mjs +24 -21
- package/dist/runtime/theme/select.d.ts +5 -2
- package/dist/runtime/theme/select.mjs +156 -143
- package/dist/runtime/theme/slider.d.ts +73 -0
- package/dist/runtime/theme/slider.mjs +49 -0
- package/dist/runtime/theme/switch.mjs +66 -63
- package/dist/runtime/theme/tabs.d.ts +12 -2
- package/dist/runtime/theme/tabs.mjs +132 -113
- package/dist/runtime/theme/textarea.d.ts +5 -2
- package/dist/runtime/theme/textarea.mjs +103 -90
- package/dist/runtime/theme/toast.mjs +26 -23
- package/dist/runtime/theme/toaster.d.ts +2 -2
- package/dist/runtime/theme/toaster.mjs +84 -81
- package/dist/runtime/theme/tooltip.mjs +9 -6
- package/dist/runtime/types/components.d.ts +5 -0
- package/dist/runtime/types/index.d.ts +1 -3
- package/dist/runtime/utils/extend-theme.mjs +1 -1
- package/dist/runtime/utils/link.d.ts +1 -1
- package/dist/shared/ui.CzDyI29e.mjs +8 -0
- package/dist/shared/ui.CzDyI29e.mjs.map +1 -0
- package/dist/unocss-preset.mjs +44 -35
- package/dist/unocss-preset.mjs.map +1 -0
- package/dist/unplugin.d.mts +25 -0
- package/dist/unplugin.d.ts +25 -0
- package/dist/unplugin.mjs +64 -0
- package/dist/unplugin.mjs.map +1 -0
- package/dist/vite.d.mts +9 -0
- package/dist/vite.d.ts +9 -0
- package/dist/vite.mjs +14 -0
- package/dist/vite.mjs.map +1 -0
- package/package.json +17 -10
- package/dist/resolver.d.mts +0 -13
- package/dist/resolver.d.ts +0 -13
- package/dist/resolver.mjs +0 -21
- package/dist/runtime/components/index.d.ts +0 -20
- package/dist/runtime/components/index.mjs +0 -20
- package/dist/runtime/composables/index.d.ts +0 -5
- package/dist/runtime/composables/index.mjs +0 -5
- package/dist/shared/ui.Cmq14xN9.mjs +0 -25
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unocss-preset.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'\r\nimport type { ParsedColorValue } from '@unocss/preset-mini/utils'\r\nimport { parseColor } from '@unocss/preset-mini/utils'\r\nimport { cssVarsAll, cssVarsDynamic, cssVarsPrefix } from './constants'\r\nimport { cssVar } from './theme'\r\n\r\nexport const rules: Rule[] = [\r\n [\r\n new RegExp(`^${cssVarsPrefix}-([^/]+)$`),\r\n ([_, color], ctx) => {\r\n if (color === 'base')\r\n return Object.fromEntries(cssVarsDynamic.map((prop) => [`--${cssVarsPrefix}-${prop}`, cssVar('cb')]))\r\n\r\n if (color === 'base-inverted')\r\n return Object.fromEntries(cssVarsDynamic.map((prop) => [`--${cssVarsPrefix}-${prop}`, cssVar('c1')]))\r\n\r\n const data = parseColor(color, ctx.theme)\r\n const value = resolveRuleValue(data)\r\n\r\n if (value)\r\n return Object.fromEntries(cssVarsDynamic.map((prop) => [`--${cssVarsPrefix}-${prop}`, value]))\r\n },\r\n { autocomplete: `${cssVarsPrefix}-$colors` },\r\n ],\r\n [\r\n new RegExp(`^${cssVarsPrefix}-(?:(${cssVarsAll.join('|')})-)([^/]+)$`),\r\n ([_, prop, color], ctx) => {\r\n if (color === 'base')\r\n return { [`--${cssVarsPrefix}-${prop}`]: cssVar('cb') }\r\n\r\n if (color === 'base-inverted')\r\n return { [`--${cssVarsPrefix}-${prop}`]: cssVar('c1') }\r\n\r\n const data = parseColor(color, ctx.theme)\r\n const value = resolveRuleValue(data)\r\n\r\n if (value)\r\n return { [`--${cssVarsPrefix}-${prop}`]: value }\r\n },\r\n { autocomplete: `${cssVarsPrefix}-(${cssVarsAll.join('|')})-$colors` },\r\n ],\r\n // overrides\r\n [/^rotate-(\\d+)$/, ([_, d]) => ({ rotate: `${d}deg` })],\r\n]\r\n\r\nexport default rules\r\n\r\nfunction resolveRuleValue(data: ParsedColorValue | undefined) {\r\n if (data?.color && data.cssColor?.components) {\r\n let value = data.cssColor.components.join(' ')\r\n\r\n if (!/var\\s*\\((.+)\\)(.*)/.test(data.color))\r\n value += ` /* ${data.color} */`\r\n\r\n return value\r\n }\r\n\r\n return null\r\n}\r\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\nexport default preset\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'\r\nimport type { CSSEntries, CSSObject, UserConfig } from '@unocss/core'\r\nimport { mergeConfigs } from '@unocss/core'\r\nimport { presetUno } from '@unocss/preset-uno'\r\nimport { preset } from './preset'\r\n\r\nconst baseUnoConfig = mergeConfigs([\r\n presetUno(),\r\n preset(),\r\n])\r\n\r\nexport function transformUnoRules(\r\n userConfig: UserConfig = {},\r\n) {\r\n const { rules = [], theme = {} } = mergeConfigs([baseUnoConfig, userConfig])\r\n const mergeRules: CRRule[] = []\r\n\r\n const resolveCSSEntries = (entries: CSSEntries) => () => entries.flatMap((value) => Object.keys(value)).join(',')\r\n\r\n const resolveCSSObject = (object: CSSObject) => () => {\r\n if (JSON.stringify(object) === '{}')\r\n return null\r\n\r\n return Object.keys(object).join(',')\r\n }\r\n\r\n for (const rule of rules) {\r\n const [maybeString, maybeResult] = rule\r\n const ruleRE = typeof maybeString === 'string' ? new RegExp(`^${maybeString}$`) : maybeString\r\n\r\n if (Array.isArray(maybeResult)) {\r\n mergeRules.push([ruleRE, resolveCSSEntries(maybeResult)])\r\n continue\r\n }\r\n\r\n if (typeof maybeResult === 'object') {\r\n mergeRules.push([ruleRE, resolveCSSObject(maybeResult)])\r\n continue\r\n }\r\n\r\n const matcher: CRRuleMatcher = (matches) => {\r\n try {\r\n const result = maybeResult(['', ...matches], {\r\n theme,\r\n // @ts-expect-error pass\r\n generator: { config: {} },\r\n })\r\n\r\n if (Array.isArray(result)) {\r\n return result\r\n .filter((i) => typeof i === 'object')\r\n .map((i) => Array.isArray(i) ? i[0] : Object.keys(i).join(','))\r\n .join(',')\r\n }\r\n\r\n if (typeof result === 'object')\r\n return resolveCSSObject(result as any)()\r\n }\r\n catch (e: any) {\r\n console.warn(`[Fail Rule]`, ruleRE, e.message)\r\n }\r\n\r\n return null\r\n }\r\n\r\n mergeRules.push([ruleRE, matcher])\r\n }\r\n\r\n return mergeRules\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as unplugin from 'unplugin';
|
|
2
|
+
import { Options } from 'unplugin-auto-import/types';
|
|
3
|
+
import { Options as Options$1 } from 'unplugin-vue-components/types';
|
|
4
|
+
|
|
5
|
+
interface UIOptions {
|
|
6
|
+
/**
|
|
7
|
+
* prefix for components used in templates
|
|
8
|
+
*
|
|
9
|
+
* @default "U"
|
|
10
|
+
*/
|
|
11
|
+
prefix?: string;
|
|
12
|
+
/** Whether to generate declaration files for auto-imported components. */
|
|
13
|
+
dts?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Override options for `unplugin-auto-import`
|
|
16
|
+
*/
|
|
17
|
+
autoImport?: Partial<Options>;
|
|
18
|
+
/**
|
|
19
|
+
* Override options for `unplugin-vue-components`
|
|
20
|
+
*/
|
|
21
|
+
components?: Partial<Options$1>;
|
|
22
|
+
}
|
|
23
|
+
declare const UIPlugin: unplugin.UnpluginInstance<UIOptions | undefined, boolean>;
|
|
24
|
+
|
|
25
|
+
export { type UIOptions, UIPlugin, UIPlugin as default };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as unplugin from 'unplugin';
|
|
2
|
+
import { Options } from 'unplugin-auto-import/types';
|
|
3
|
+
import { Options as Options$1 } from 'unplugin-vue-components/types';
|
|
4
|
+
|
|
5
|
+
interface UIOptions {
|
|
6
|
+
/**
|
|
7
|
+
* prefix for components used in templates
|
|
8
|
+
*
|
|
9
|
+
* @default "U"
|
|
10
|
+
*/
|
|
11
|
+
prefix?: string;
|
|
12
|
+
/** Whether to generate declaration files for auto-imported components. */
|
|
13
|
+
dts?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Override options for `unplugin-auto-import`
|
|
16
|
+
*/
|
|
17
|
+
autoImport?: Partial<Options>;
|
|
18
|
+
/**
|
|
19
|
+
* Override options for `unplugin-vue-components`
|
|
20
|
+
*/
|
|
21
|
+
components?: Partial<Options$1>;
|
|
22
|
+
}
|
|
23
|
+
declare const UIPlugin: unplugin.UnpluginInstance<UIOptions | undefined, boolean>;
|
|
24
|
+
|
|
25
|
+
export { type UIOptions, UIPlugin, UIPlugin as default };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { createUnplugin } from 'unplugin';
|
|
2
|
+
import { defu } from 'defu';
|
|
3
|
+
import { join } from 'pathe';
|
|
4
|
+
import AutoImport from 'unplugin-auto-import';
|
|
5
|
+
import { r as runtimeDir, p as packageName } from './shared/ui.CzDyI29e.mjs';
|
|
6
|
+
import { globSync } from 'tinyglobby';
|
|
7
|
+
import AutoImportComponents from 'unplugin-vue-components';
|
|
8
|
+
import 'node:url';
|
|
9
|
+
|
|
10
|
+
function AutoImportPlugin(options, meta) {
|
|
11
|
+
const pluginOptions = defu(options.autoImport, {
|
|
12
|
+
dts: options.dts ?? true,
|
|
13
|
+
dirs: [join(runtimeDir, "composables")]
|
|
14
|
+
});
|
|
15
|
+
return AutoImport.raw(pluginOptions, meta);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function ComponentImportPlugin(options, meta) {
|
|
19
|
+
const { prefix = "U" } = options;
|
|
20
|
+
const components = globSync("**/*.vue", { cwd: join(runtimeDir, "components") });
|
|
21
|
+
const componentNames = new Set(components.map((c) => `${prefix}${c.replace(/\.vue$/, "")}`));
|
|
22
|
+
const pluginOptions = defu(options.components, {
|
|
23
|
+
dts: options.dts ?? true,
|
|
24
|
+
exclude: [
|
|
25
|
+
/[\\/]node_modules[\\/](?!\.pnpm|@byyuurin\/ui)/,
|
|
26
|
+
/[\\/]\.git[\\/]/,
|
|
27
|
+
/[\\/]\.nuxt[\\/]/
|
|
28
|
+
],
|
|
29
|
+
resolvers: [
|
|
30
|
+
(componentName) => {
|
|
31
|
+
if (componentNames.has(componentName))
|
|
32
|
+
return { name: "default", from: join(runtimeDir, "components", `${componentName.slice(prefix.length)}.vue`) };
|
|
33
|
+
}
|
|
34
|
+
]
|
|
35
|
+
});
|
|
36
|
+
return AutoImportComponents.raw(pluginOptions, meta);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
const UIPlugin = createUnplugin((options = {}, meta) => {
|
|
40
|
+
return [
|
|
41
|
+
ComponentImportPlugin(options, meta),
|
|
42
|
+
AutoImportPlugin(options, meta),
|
|
43
|
+
{
|
|
44
|
+
name: "byyuurin:ui:plugins-duplication-detection",
|
|
45
|
+
vite: {
|
|
46
|
+
configResolved(config) {
|
|
47
|
+
const checkPluginNames = [
|
|
48
|
+
"unplugin-auto-import",
|
|
49
|
+
"unplugin-vue-components"
|
|
50
|
+
];
|
|
51
|
+
const plugins = config.plugins || [];
|
|
52
|
+
const makeMessage = (pluginName) => `[${packageName}] Multiple instances of \`${pluginName}\` detected. ${packageName} includes \`${pluginName}\` already, and you can configure it using \`${pluginName}\` option in ${packageName} module options.`;
|
|
53
|
+
for (const pluginName of checkPluginNames) {
|
|
54
|
+
if (plugins.filter((i) => i.name === pluginName).length > 1)
|
|
55
|
+
throw new Error(makeMessage(pluginName));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
];
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
export { UIPlugin, UIPlugin as default };
|
|
64
|
+
//# sourceMappingURL=unplugin.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unplugin.mjs","sources":["../src/_unplugin/auto-import.ts","../src/_unplugin/components.ts","../src/unplugin.ts"],"sourcesContent":["import { defu } from 'defu'\r\nimport { join } from 'pathe'\r\nimport type { UnpluginContextMeta, UnpluginOptions } from 'unplugin'\r\nimport AutoImport from 'unplugin-auto-import'\r\nimport type { Options as AutoImportOptions } from 'unplugin-auto-import/types'\r\nimport { runtimeDir } from '../internal/shared'\r\nimport type { UIOptions } from '../unplugin'\r\n\r\n/** This plugin adds all the UI composables as auto-imports. */\r\nexport default function AutoImportPlugin(options: UIOptions, meta: UnpluginContextMeta): UnpluginOptions {\r\n const pluginOptions = defu(options.autoImport, <AutoImportOptions>{\r\n dts: options.dts ?? true,\r\n dirs: [join(runtimeDir, 'composables')],\r\n })\r\n\r\n return AutoImport.raw(pluginOptions, meta) as UnpluginOptions\r\n}\r\n","import { defu } from 'defu'\r\nimport { join } from 'pathe'\r\nimport { globSync } from 'tinyglobby'\r\nimport type { UnpluginContextMeta, UnpluginOptions } from 'unplugin'\r\nimport AutoImportComponents from 'unplugin-vue-components'\r\nimport type { Options as ComponentsOptions } from 'unplugin-vue-components/types'\r\nimport { runtimeDir } from '../internal/shared'\r\nimport type { UIOptions } from '../unplugin'\r\n\r\n/** This plugin adds all the Nuxt UI components as auto-imports. */\r\nexport default function ComponentImportPlugin(options: UIOptions, meta: UnpluginContextMeta) {\r\n const { prefix = 'U' } = options\r\n const components = globSync('**/*.vue', { cwd: join(runtimeDir, 'components') })\r\n const componentNames = new Set(components.map((c) => `${prefix}${c.replace(/\\.vue$/, '')}`))\r\n\r\n const pluginOptions = defu(options.components, <ComponentsOptions>{\r\n dts: options.dts ?? true,\r\n exclude: [\r\n /[\\\\/]node_modules[\\\\/](?!\\.pnpm|@byyuurin\\/ui)/,\r\n /[\\\\/]\\.git[\\\\/]/,\r\n /[\\\\/]\\.nuxt[\\\\/]/,\r\n ],\r\n resolvers: [\r\n (componentName) => {\r\n if (componentNames.has(componentName))\r\n return { name: 'default', from: join(runtimeDir, 'components', `${componentName.slice(prefix.length)}.vue`) }\r\n },\r\n ],\r\n })\r\n\r\n return AutoImportComponents.raw(pluginOptions, meta) as UnpluginOptions\r\n}\r\n","import type { UnpluginOptions } from 'unplugin'\r\nimport { createUnplugin } from 'unplugin'\r\nimport type { Options as AutoImportOptions } from 'unplugin-auto-import/types'\r\nimport type { Options as ComponentsOptions } from 'unplugin-vue-components/types'\r\nimport AutoImportPlugin from './_unplugin/auto-import'\r\nimport ComponentImportPlugin from './_unplugin/components'\r\nimport { packageName } from './internal/shared'\r\n\r\nexport interface UIOptions {\r\n /**\r\n * prefix for components used in templates\r\n *\r\n * @default \"U\"\r\n */\r\n prefix?: string\r\n /** Whether to generate declaration files for auto-imported components. */\r\n dts?: boolean\r\n /**\r\n * Override options for `unplugin-auto-import`\r\n */\r\n autoImport?: Partial<AutoImportOptions>\r\n /**\r\n * Override options for `unplugin-vue-components`\r\n */\r\n components?: Partial<ComponentsOptions>\r\n}\r\n\r\nexport const UIPlugin = createUnplugin<UIOptions | undefined>((options: UIOptions = {}, meta) => {\r\n return [\r\n ComponentImportPlugin(options, meta),\r\n AutoImportPlugin(options, meta),\r\n <UnpluginOptions>{\r\n name: 'byyuurin:ui:plugins-duplication-detection',\r\n vite: {\r\n configResolved(config) {\r\n const checkPluginNames = [\r\n 'unplugin-auto-import',\r\n 'unplugin-vue-components',\r\n ]\r\n const plugins = config.plugins || []\r\n\r\n const makeMessage = (pluginName: string) => `[${packageName}] Multiple instances of \\`${pluginName}\\` detected. ${packageName} includes \\`${pluginName}\\` already, and you can configure it using \\`${pluginName}\\` option in ${packageName} module options.`\r\n\r\n for (const pluginName of checkPluginNames) {\r\n if (plugins.filter((i) => i.name === pluginName).length > 1)\r\n throw new Error(makeMessage(pluginName))\r\n }\r\n },\r\n },\r\n },\r\n ]\r\n})\r\n\r\nexport default UIPlugin\r\n"],"names":[],"mappings":";;;;;;;;;AASwB,SAAA,gBAAA,CAAiB,SAAoB,IAA4C,EAAA;AACvG,EAAM,MAAA,aAAA,GAAgB,IAAK,CAAA,OAAA,CAAQ,UAA+B,EAAA;AAAA,IAChE,GAAA,EAAK,QAAQ,GAAO,IAAA,IAAA;AAAA,IACpB,IAAM,EAAA,CAAC,IAAK,CAAA,UAAA,EAAY,aAAa,CAAC;AAAA,GACvC,CAAA;AAED,EAAO,OAAA,UAAA,CAAW,GAAI,CAAA,aAAA,EAAe,IAAI,CAAA;AAC3C;;ACNwB,SAAA,qBAAA,CAAsB,SAAoB,IAA2B,EAAA;AAC3F,EAAM,MAAA,EAAE,MAAS,GAAA,GAAA,EAAQ,GAAA,OAAA;AACzB,EAAM,MAAA,UAAA,GAAa,SAAS,UAAY,EAAA,EAAE,KAAK,IAAK,CAAA,UAAA,EAAY,YAAY,CAAA,EAAG,CAAA;AAC/E,EAAA,MAAM,iBAAiB,IAAI,GAAA,CAAI,UAAW,CAAA,GAAA,CAAI,CAAC,CAAM,KAAA,CAAA,EAAG,MAAM,CAAA,EAAG,EAAE,OAAQ,CAAA,QAAA,EAAU,EAAE,CAAC,EAAE,CAAC,CAAA;AAE3F,EAAM,MAAA,aAAA,GAAgB,IAAK,CAAA,OAAA,CAAQ,UAA+B,EAAA;AAAA,IAChE,GAAA,EAAK,QAAQ,GAAO,IAAA,IAAA;AAAA,IACpB,OAAS,EAAA;AAAA,MACP,gDAAA;AAAA,MACA,iBAAA;AAAA,MACA;AAAA,KACF;AAAA,IACA,SAAW,EAAA;AAAA,MACT,CAAC,aAAkB,KAAA;AACjB,QAAI,IAAA,cAAA,CAAe,IAAI,aAAa,CAAA;AAClC,UAAA,OAAO,EAAE,IAAA,EAAM,SAAW,EAAA,IAAA,EAAM,KAAK,UAAY,EAAA,YAAA,EAAc,CAAG,EAAA,aAAA,CAAc,KAAM,CAAA,MAAA,CAAO,MAAM,CAAC,MAAM,CAAE,EAAA;AAAA;AAChH;AACF,GACD,CAAA;AAED,EAAO,OAAA,oBAAA,CAAqB,GAAI,CAAA,aAAA,EAAe,IAAI,CAAA;AACrD;;ACJO,MAAM,WAAW,cAAsC,CAAA,CAAC,OAAqB,GAAA,IAAI,IAAS,KAAA;AAC/F,EAAO,OAAA;AAAA,IACL,qBAAA,CAAsB,SAAS,IAAI,CAAA;AAAA,IACnC,gBAAA,CAAiB,SAAS,IAAI,CAAA;AAAA,IACb;AAAA,MACf,IAAM,EAAA,2CAAA;AAAA,MACN,IAAM,EAAA;AAAA,QACJ,eAAe,MAAQ,EAAA;AACrB,UAAA,MAAM,gBAAmB,GAAA;AAAA,YACvB,sBAAA;AAAA,YACA;AAAA,WACF;AACA,UAAM,MAAA,OAAA,GAAU,MAAO,CAAA,OAAA,IAAW,EAAC;AAEnC,UAAA,MAAM,WAAc,GAAA,CAAC,UAAuB,KAAA,CAAA,CAAA,EAAI,WAAW,CAA6B,0BAAA,EAAA,UAAU,CAAgB,aAAA,EAAA,WAAW,CAAe,YAAA,EAAA,UAAU,CAAgD,6CAAA,EAAA,UAAU,gBAAgB,WAAW,CAAA,gBAAA,CAAA;AAE3O,UAAA,KAAA,MAAW,cAAc,gBAAkB,EAAA;AACzC,YAAI,IAAA,OAAA,CAAQ,OAAO,CAAC,CAAA,KAAM,EAAE,IAAS,KAAA,UAAU,EAAE,MAAS,GAAA,CAAA;AACxD,cAAA,MAAM,IAAI,KAAA,CAAM,WAAY,CAAA,UAAU,CAAC,CAAA;AAAA;AAC3C;AACF;AACF;AACF,GACF;AACF,CAAC;;;;"}
|
package/dist/vite.d.mts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as vite from 'vite';
|
|
2
|
+
import { UIOptions } from './unplugin.mjs';
|
|
3
|
+
import 'unplugin';
|
|
4
|
+
import 'unplugin-auto-import/types';
|
|
5
|
+
import 'unplugin-vue-components/types';
|
|
6
|
+
|
|
7
|
+
declare const _default: (options?: UIOptions | undefined) => vite.Plugin<any> | vite.Plugin<any>[];
|
|
8
|
+
|
|
9
|
+
export { _default as default };
|
package/dist/vite.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as vite from 'vite';
|
|
2
|
+
import { UIOptions } from './unplugin.js';
|
|
3
|
+
import 'unplugin';
|
|
4
|
+
import 'unplugin-auto-import/types';
|
|
5
|
+
import 'unplugin-vue-components/types';
|
|
6
|
+
|
|
7
|
+
declare const _default: (options?: UIOptions | undefined) => vite.Plugin<any> | vite.Plugin<any>[];
|
|
8
|
+
|
|
9
|
+
export { _default as default };
|
package/dist/vite.mjs
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { UIPlugin } from './unplugin.mjs';
|
|
2
|
+
import 'unplugin';
|
|
3
|
+
import 'defu';
|
|
4
|
+
import 'pathe';
|
|
5
|
+
import 'unplugin-auto-import';
|
|
6
|
+
import './shared/ui.CzDyI29e.mjs';
|
|
7
|
+
import 'node:url';
|
|
8
|
+
import 'tinyglobby';
|
|
9
|
+
import 'unplugin-vue-components';
|
|
10
|
+
|
|
11
|
+
const vite = UIPlugin.vite;
|
|
12
|
+
|
|
13
|
+
export { vite as default };
|
|
14
|
+
//# sourceMappingURL=vite.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vite.mjs","sources":["../src/vite.ts"],"sourcesContent":["import { UIPlugin } from './unplugin'\r\n\r\nexport default UIPlugin.vite\r\n"],"names":[],"mappings":";;;;;;;;;;AAEA,aAAe,QAAS,CAAA,IAAA;;;;"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@byyuurin/ui",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.5",
|
|
5
5
|
"description": "",
|
|
6
6
|
"author": "Yuurin <byyuurin@gmail.com>",
|
|
7
7
|
"license": "MIT",
|
|
@@ -18,13 +18,13 @@
|
|
|
18
18
|
"types": "./dist/index.d.ts",
|
|
19
19
|
"default": "./dist/index.mjs"
|
|
20
20
|
},
|
|
21
|
-
"./
|
|
22
|
-
"types": "./dist/
|
|
23
|
-
"default": "./dist/
|
|
21
|
+
"./unplugin": {
|
|
22
|
+
"types": "./dist/unplugin.d.ts",
|
|
23
|
+
"default": "./dist/unplugin.mjs"
|
|
24
24
|
},
|
|
25
|
-
"./
|
|
26
|
-
"types": "./dist/
|
|
27
|
-
"default": "./dist/
|
|
25
|
+
"./vite": {
|
|
26
|
+
"types": "./dist/vite.d.ts",
|
|
27
|
+
"default": "./dist/vite.mjs"
|
|
28
28
|
},
|
|
29
29
|
"./nuxt": {
|
|
30
30
|
"types": "./dist/nuxt.d.ts",
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
"types": "./dist/unocss-preset.d.ts",
|
|
35
35
|
"default": "./dist/unocss-preset.mjs"
|
|
36
36
|
},
|
|
37
|
-
"
|
|
37
|
+
"./runtime/*": "./dist/runtime/*"
|
|
38
38
|
},
|
|
39
39
|
"main": "dist/index.mjs",
|
|
40
40
|
"module": "dist/index.mjs",
|
|
@@ -69,8 +69,16 @@
|
|
|
69
69
|
"@unocss/preset-uno": "^65.4.3",
|
|
70
70
|
"@vueuse/core": "^12.5.0",
|
|
71
71
|
"defu": "^6.1.4",
|
|
72
|
+
"magic-string": "^0.30.17",
|
|
73
|
+
"mlly": "^1.7.4",
|
|
72
74
|
"ohash": "^1.1.4",
|
|
75
|
+
"pathe": "^2.0.2",
|
|
73
76
|
"reka-ui": "1.0.0-alpha.8",
|
|
77
|
+
"scule": "^1.3.0",
|
|
78
|
+
"tinyglobby": "^0.2.10",
|
|
79
|
+
"unplugin": "^2.1.2",
|
|
80
|
+
"unplugin-auto-import": "^19.0.0",
|
|
81
|
+
"unplugin-vue-components": "^28.0.0",
|
|
74
82
|
"vaul-vue": "^0.2.1",
|
|
75
83
|
"vue-component-type-helpers": "^2.2.0"
|
|
76
84
|
},
|
|
@@ -87,13 +95,12 @@
|
|
|
87
95
|
"simple-git-hooks": "^2.11.1",
|
|
88
96
|
"typescript": "^5.7.3",
|
|
89
97
|
"unbuild": "^3.3.1",
|
|
90
|
-
"unplugin-vue-components": "^28.0.0",
|
|
91
98
|
"vitest": "^3.0.5",
|
|
92
99
|
"vue": "^3.5.13",
|
|
93
100
|
"vue-tsc": "^2.2.0"
|
|
94
101
|
},
|
|
95
102
|
"resolutions": {
|
|
96
|
-
"
|
|
103
|
+
"@byyuurin/ui": "workspace:*"
|
|
97
104
|
},
|
|
98
105
|
"simple-git-hooks": {
|
|
99
106
|
"pre-commit": "pnpm lint-staged"
|
package/dist/resolver.d.mts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ComponentResolver } from 'unplugin-vue-components';
|
|
2
|
-
|
|
3
|
-
interface ResolverOptions {
|
|
4
|
-
/**
|
|
5
|
-
* prefix for components used in templates
|
|
6
|
-
*
|
|
7
|
-
* @default ""
|
|
8
|
-
*/
|
|
9
|
-
prefix?: string;
|
|
10
|
-
}
|
|
11
|
-
declare function export_default(options?: ResolverOptions): ComponentResolver;
|
|
12
|
-
|
|
13
|
-
export { type ResolverOptions, export_default as default };
|
package/dist/resolver.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ComponentResolver } from 'unplugin-vue-components';
|
|
2
|
-
|
|
3
|
-
interface ResolverOptions {
|
|
4
|
-
/**
|
|
5
|
-
* prefix for components used in templates
|
|
6
|
-
*
|
|
7
|
-
* @default ""
|
|
8
|
-
*/
|
|
9
|
-
prefix?: string;
|
|
10
|
-
}
|
|
11
|
-
declare function export_default(options?: ResolverOptions): ComponentResolver;
|
|
12
|
-
|
|
13
|
-
export { type ResolverOptions, export_default as default };
|
package/dist/resolver.mjs
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { c as componentNames, p as packageName } from './shared/ui.Cmq14xN9.mjs';
|
|
2
|
-
|
|
3
|
-
function resolver(options = {}) {
|
|
4
|
-
const { prefix = "" } = options;
|
|
5
|
-
return {
|
|
6
|
-
type: "component",
|
|
7
|
-
resolve(name) {
|
|
8
|
-
if (name.toLowerCase().startsWith(prefix.toLowerCase())) {
|
|
9
|
-
const componentName = name.slice(prefix.length);
|
|
10
|
-
if (componentNames.includes(componentName)) {
|
|
11
|
-
return {
|
|
12
|
-
name: componentName,
|
|
13
|
-
from: packageName
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export { resolver as default };
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export { default as Accordion } from './Accordion.vue';
|
|
2
|
-
export { default as App } from './App.vue';
|
|
3
|
-
export { default as Button } from './Button.vue';
|
|
4
|
-
export { default as Card } from './Card.vue';
|
|
5
|
-
export { default as Checkbox } from './Checkbox.vue';
|
|
6
|
-
export { default as Drawer } from './Drawer.vue';
|
|
7
|
-
export { default as Input } from './Input.vue';
|
|
8
|
-
export { default as Link } from './Link.vue';
|
|
9
|
-
export { default as Modal } from './Modal.vue';
|
|
10
|
-
export { default as ModalProvider } from './ModalProvider.vue';
|
|
11
|
-
export { default as Popover } from './Popover.vue';
|
|
12
|
-
export { default as RadioGroup } from './RadioGroup.vue';
|
|
13
|
-
export { default as ScrollArea } from './ScrollArea.vue';
|
|
14
|
-
export { default as Select } from './Select.vue';
|
|
15
|
-
export { default as Switch } from './Switch.vue';
|
|
16
|
-
export { default as Tabs } from './Tabs.vue';
|
|
17
|
-
export { default as Textarea } from './Textarea.vue';
|
|
18
|
-
export { default as Toast } from './Toast.vue';
|
|
19
|
-
export { default as Toaster } from './Toaster.vue';
|
|
20
|
-
export { default as Tooltip } from './Tooltip.vue';
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export { default as Accordion } from "./Accordion.vue";
|
|
2
|
-
export { default as App } from "./App.vue";
|
|
3
|
-
export { default as Button } from "./Button.vue";
|
|
4
|
-
export { default as Card } from "./Card.vue";
|
|
5
|
-
export { default as Checkbox } from "./Checkbox.vue";
|
|
6
|
-
export { default as Drawer } from "./Drawer.vue";
|
|
7
|
-
export { default as Input } from "./Input.vue";
|
|
8
|
-
export { default as Link } from "./Link.vue";
|
|
9
|
-
export { default as Modal } from "./Modal.vue";
|
|
10
|
-
export { default as ModalProvider } from "./ModalProvider.vue";
|
|
11
|
-
export { default as Popover } from "./Popover.vue";
|
|
12
|
-
export { default as RadioGroup } from "./RadioGroup.vue";
|
|
13
|
-
export { default as ScrollArea } from "./ScrollArea.vue";
|
|
14
|
-
export { default as Select } from "./Select.vue";
|
|
15
|
-
export { default as Switch } from "./Switch.vue";
|
|
16
|
-
export { default as Tabs } from "./Tabs.vue";
|
|
17
|
-
export { default as Textarea } from "./Textarea.vue";
|
|
18
|
-
export { default as Toast } from "./Toast.vue";
|
|
19
|
-
export { default as Toaster } from "./Toaster.vue";
|
|
20
|
-
export { default as Tooltip } from "./Tooltip.vue";
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
const packageName = "@byyuurin/ui";
|
|
2
|
-
const componentNames = [
|
|
3
|
-
"Accordion",
|
|
4
|
-
"App",
|
|
5
|
-
"Button",
|
|
6
|
-
"Card",
|
|
7
|
-
"Checkbox",
|
|
8
|
-
"Drawer",
|
|
9
|
-
"Input",
|
|
10
|
-
"Link",
|
|
11
|
-
"Modal",
|
|
12
|
-
"ModalProvider",
|
|
13
|
-
"Popover",
|
|
14
|
-
"RadioGroup",
|
|
15
|
-
"ScrollArea",
|
|
16
|
-
"Select",
|
|
17
|
-
"Switch",
|
|
18
|
-
"Tabs",
|
|
19
|
-
"Textarea",
|
|
20
|
-
"Toast",
|
|
21
|
-
"Toaster",
|
|
22
|
-
"Tooltip"
|
|
23
|
-
];
|
|
24
|
-
|
|
25
|
-
export { componentNames as c, packageName as p };
|