nova-biz-ui 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # nova-biz-ui
2
+
3
+ nova-biz UI component library
@@ -0,0 +1,305 @@
1
+ import { defineComponent as $, mergeDefaults as v, computed as T, openBlock as _, createElementBlock as x, normalizeClass as j, renderSlot as E, inject as O, createBlock as w, resolveDynamicComponent as P, normalizeStyle as B, withCtx as I } from "vue";
2
+ function C() {
3
+ return {
4
+ type: "",
5
+ plain: !1,
6
+ disabled: !1
7
+ };
8
+ }
9
+ const W = /* @__PURE__ */ $({
10
+ __name: "button",
11
+ props: /* @__PURE__ */ v({
12
+ type: {},
13
+ plain: { type: Boolean },
14
+ disabled: { type: Boolean }
15
+ }, C()),
16
+ setup(r) {
17
+ const o = r, t = T(() => {
18
+ const e = [];
19
+ return o.type && e.push(`op-button--${o.type}`), o.plain && e.push("op-button--plain"), o.disabled && e.push("op-button--disabled"), e;
20
+ });
21
+ return (e, n) => (_(), x("button", {
22
+ class: j(["op-button", t.value])
23
+ }, [
24
+ E(e.$slots, "default", { type: e.type })
25
+ ], 2));
26
+ }
27
+ }), X = /* @__PURE__ */ $({
28
+ __name: "input",
29
+ setup(r) {
30
+ return (o, t) => (_(), x("div", null, "123"));
31
+ }
32
+ });
33
+ function Y() {
34
+ return {
35
+ ...C(),
36
+ modelValue: ""
37
+ };
38
+ }
39
+ function q(r = "World") {
40
+ const o = `Hello ${r}!`;
41
+ return alert(o), o;
42
+ }
43
+ function K(r) {
44
+ return r !== null && typeof r == "object";
45
+ }
46
+ function J(r) {
47
+ return typeof r == "function";
48
+ }
49
+ const F = {
50
+ "color-primary": "#c7000b",
51
+ "color-success": "#50d4ab",
52
+ "color-warning": "#fbb175",
53
+ "color-danger": "#f66f6a",
54
+ "color-info": "#526ecc",
55
+ "color-transparent": "transparent",
56
+ "color-black": "#000",
57
+ "color-white": "#fff",
58
+ // 背景色
59
+ "color-page": "#f5f5f6",
60
+ "color-card": "#fff",
61
+ // 文字主色
62
+ "color-header": "#252b3a",
63
+ "color-regular": "#575d6c",
64
+ "color-secondary": "#8a8e99",
65
+ "color-placeholder": "#abb0b8",
66
+ "color-disabled": "#c0c4cc",
67
+ "color-reverse": "#fff",
68
+ // 边框主色
69
+ "color-bd_darker": "#cdd0d6",
70
+ "color-bd_dark": "#d4d7de",
71
+ "color-bd_base": "#dcdfe6",
72
+ "color-bd_light": "#dfe1e6",
73
+ "color-bd_lighter": "#ebeff5",
74
+ "color-bd_lightest": "#f2f6fc"
75
+ }, V = [
76
+ "color-primary",
77
+ "color-success",
78
+ "color-warning",
79
+ "color-danger",
80
+ "color-info"
81
+ ], S = {
82
+ "spacing-xs": "8px",
83
+ "spacing-sm": "12px",
84
+ "spacing-md": "16px",
85
+ "spacing-lg": "24px",
86
+ "spacing-xl": "32px"
87
+ }, Q = {
88
+ ...F,
89
+ ...S
90
+ };
91
+ function D(r) {
92
+ return A(r) || H(r);
93
+ }
94
+ function A(r) {
95
+ if (r.charAt(0) !== "#" || r.length !== 4 && r.length !== 7)
96
+ return null;
97
+ let o = r.slice(1);
98
+ o.length === 3 && (o = o[0] + o[0] + o[1] + o[1] + o[2] + o[2]);
99
+ const t = parseInt(o.slice(0, 2), 16), e = parseInt(o.slice(2, 4), 16), n = parseInt(o.slice(4, 6), 16);
100
+ return p(t, e, n, 1);
101
+ }
102
+ const z = ["rgb", "rgba"];
103
+ function H(r) {
104
+ const o = r.match(/^(.*)\((.+)\)$/i);
105
+ if (!o)
106
+ return null;
107
+ const [, t, e] = o;
108
+ if (!z.includes(t))
109
+ return null;
110
+ let n = e.split(",");
111
+ n.length === 1 && (n = e.split(" "));
112
+ const l = n.map(parseFloat).filter((s) => s);
113
+ if (t === "rgb" || t === "rgba") {
114
+ const [s, i, u, c] = l;
115
+ return p(s, i, u, c || 1);
116
+ }
117
+ return null;
118
+ }
119
+ function p(r, o, t, e = 1) {
120
+ return {
121
+ args: [r, o, t, e],
122
+ get rgbTxt() {
123
+ const [n, l, s] = this.args;
124
+ return `${n}, ${l}, ${s}`;
125
+ },
126
+ get rgba() {
127
+ return `rgba(${this.rgbTxt}, ${this.args[3] || 1})`;
128
+ }
129
+ };
130
+ }
131
+ function y(r, o, t) {
132
+ const e = [
133
+ r.args[0] + (o.args[0] - r.args[0]) * (t / 100),
134
+ r.args[1] + (o.args[1] - r.args[1]) * (t / 100),
135
+ r.args[2] + (o.args[2] - r.args[2]) * (t / 100)
136
+ ].map((i) => Math.round(i)), [n, l, s] = e;
137
+ return p(n, l, s, r.args[3] || 1);
138
+ }
139
+ function M(r, o = 9) {
140
+ const t = {
141
+ light: [],
142
+ dark: []
143
+ };
144
+ if (r.rgbTxt === "0, 0, 0" || r.rgbTxt === "255, 255, 255")
145
+ return t;
146
+ const e = 100 / (o + 1);
147
+ for (let n = 1; n < o + 1; n++)
148
+ t.light.push(
149
+ y(r, p(255, 255, 255), n * e)
150
+ ), t.dark.push(
151
+ y(r, p(0, 0, 0), n * e)
152
+ );
153
+ return t;
154
+ }
155
+ const h = "op-";
156
+ function L(r, o) {
157
+ const {
158
+ prefix: t = h,
159
+ colorLevelsEnabledKeys: e = [],
160
+ colorLevels: n = 9
161
+ } = o || {}, l = {};
162
+ return Object.entries(r).forEach(([s, i]) => {
163
+ const u = `--${t}${s}`, c = D(i), d = c ? c.rgbTxt : i;
164
+ if (l[u] = d, c && e.includes(s)) {
165
+ const f = M(c, n);
166
+ f.light.forEach((b, m) => {
167
+ const R = f.dark[m];
168
+ l[`${u}-light-${m + 1}`] = b.rgbTxt, l[`${u}-dark-${m + 1}`] = R.rgbTxt;
169
+ });
170
+ }
171
+ }), l;
172
+ }
173
+ function Z(r, o = ":root") {
174
+ let t = `${o}{`;
175
+ return Object.entries(r).forEach(([e, n]) => {
176
+ t += `${e}: ${n};`;
177
+ }), t += "}", t;
178
+ }
179
+ function g(r, o = h) {
180
+ return `var(--${o}${r})`;
181
+ }
182
+ function a(r, o = 1, t = h) {
183
+ return `rgba(${g(r, t)},${o})`;
184
+ }
185
+ function rr(r, o) {
186
+ const {
187
+ type: t = "color",
188
+ prefix: e = h,
189
+ colorLevelsEnabledKeys: n = [],
190
+ colorLevels: l = 9
191
+ } = o || {}, s = new RegExp(`^${t}-(.*)$`), i = Object.keys(r).filter((c) => s.test(c)).map((c) => c.replace(s, "$1")), u = {};
192
+ return i.forEach((c) => {
193
+ if (u[c] = `rgb(${g(`${t}-${c}`, e)})`, t === "color" && n.includes(`${t}-${c}`)) {
194
+ const d = {}, f = {};
195
+ for (let b = 1; b < l + 1; b++)
196
+ d[`${b}`] = `rgb(${g(`${t}-${c}-light-${b}`, e)})`, f[`${b}`] = `rgb(${g(`${t}-${c}-dark-${b}`, e)})`;
197
+ u[`${c}_light`] = d, u[`${c}_dark`] = f;
198
+ }
199
+ }), u;
200
+ }
201
+ const or = {
202
+ "button-color": a("color-regular"),
203
+ "button-bg-color": a("color-card"),
204
+ "button-border-color": a("color-bd_base"),
205
+ "button-hover-color": a("color-primary"),
206
+ "button-hover-bg-color": a("color-primary-light-9"),
207
+ "button-hover-border-color": a("color-primary-light-7"),
208
+ "button-active-color": a("color-primary"),
209
+ "button-active-bg-color": a("color-primary-light-9"),
210
+ "button-active-border-color": a("color-primary"),
211
+ "button-disabled-color": a("color-placeholder"),
212
+ "button-disabled-bg-color": a("color-card"),
213
+ "button-disabled-border-color": a("color-bd_light"),
214
+ "button-padding-x": g("spacing-md"),
215
+ "button-padding-y": g("spacing-xs")
216
+ }, tr = {
217
+ "color-primary": "#5e7ce0",
218
+ "color-success": "#50d4ab",
219
+ "color-warning": "#fa9841",
220
+ "color-error": "#c7000b",
221
+ "color-info": "#252b3a"
222
+ }, k = "__NovaUiTheme__";
223
+ function U(r, o) {
224
+ function t(n) {
225
+ const l = L(n, {
226
+ colorLevelsEnabledKeys: V,
227
+ colorLevels: 9
228
+ });
229
+ Object.entries(l).forEach(([s, i]) => {
230
+ document.documentElement.style.setProperty(s, i);
231
+ });
232
+ }
233
+ const e = { setTheme: t };
234
+ return r.provide(k, e), K(o) && Object.keys(o).length > 0 && t(o), e;
235
+ }
236
+ function er() {
237
+ const r = O(k);
238
+ if (!r)
239
+ throw new Error("useTheme() must be used after app.use(Theme)!");
240
+ return r;
241
+ }
242
+ const nr = {
243
+ install: (r, ...o) => {
244
+ const t = {};
245
+ o.forEach((e) => {
246
+ Object.assign(t, e);
247
+ }), U(r, t);
248
+ }
249
+ };
250
+ function G() {
251
+ return {
252
+ tag: "div",
253
+ themeVars: () => ({})
254
+ };
255
+ }
256
+ const cr = /* @__PURE__ */ $({
257
+ __name: "config-provider",
258
+ props: /* @__PURE__ */ v({
259
+ tag: {},
260
+ themeVars: {}
261
+ }, G()),
262
+ setup(r) {
263
+ const o = r, t = T(() => L(o.themeVars, {
264
+ colorLevelsEnabledKeys: V,
265
+ colorLevels: 9
266
+ }));
267
+ return (e, n) => (_(), w(P(e.tag), {
268
+ style: B(t.value)
269
+ }, {
270
+ default: I(() => [
271
+ E(e.$slots, "default")
272
+ ]),
273
+ _: 3
274
+ }, 8, ["style"]));
275
+ }
276
+ });
277
+ export {
278
+ W as Button,
279
+ cr as ConfigProvider,
280
+ h as DEFAULT_PREFIX,
281
+ X as Input,
282
+ nr as Theme,
283
+ or as buttonVars,
284
+ a as cssVarToRgba,
285
+ Z as cssVarsToString,
286
+ C as defaultButtonProps,
287
+ G as defaultConfigProviderProps,
288
+ Y as defaultInputProps,
289
+ L as generateCssVars,
290
+ M as generateRgbColorLevels,
291
+ g as getCssVar,
292
+ q as hello,
293
+ J as isFunction,
294
+ K as isObjectLike,
295
+ y as mixRgbColor,
296
+ V as themeColorLevelsEnabledKeys,
297
+ F as themeColors,
298
+ S as themeSpacing,
299
+ Q as themeVars,
300
+ tr as tinyThemeVars,
301
+ D as toRgba,
302
+ rr as toTheme,
303
+ er as useTheme
304
+ };
305
+ //# sourceMappingURL=nova-biz-ui.full.min.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nova-biz-ui.full.min.mjs","sources":["../../button/dist/nova-biz-button.mjs","../../input/dist/nova-biz-input.mjs","../../shared/dist/nova-biz-shared.mjs","../../styles/dist/nova-biz-styles.mjs","../../config-provider/dist/nova-biz-config-provider.mjs"],"sourcesContent":["import { defineComponent, mergeDefaults, computed, openBlock, createElementBlock, normalizeClass, renderSlot } from \"vue\";\nfunction defaultButtonProps() {\n return {\n type: \"\",\n plain: false,\n disabled: false\n };\n}\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"button\",\n props: /* @__PURE__ */ mergeDefaults({\n type: {},\n plain: { type: Boolean },\n disabled: { type: Boolean }\n }, defaultButtonProps()),\n setup(__props) {\n const props = __props;\n const classes = computed(() => {\n const result = [];\n if (props.type) {\n result.push(`op-button--${props.type}`);\n }\n if (props.plain) {\n result.push(\"op-button--plain\");\n }\n if (props.disabled) {\n result.push(\"op-button--disabled\");\n }\n return result;\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"button\", {\n class: normalizeClass([\"op-button\", classes.value])\n }, [\n renderSlot(_ctx.$slots, \"default\", { type: _ctx.type })\n ], 2);\n };\n }\n});\nconst button = \"\";\nconst __uno = \"\";\nexport {\n _sfc_main as Button,\n defaultButtonProps\n};\n","import { defineComponent, openBlock, createElementBlock } from \"vue\";\nimport { defaultButtonProps } from \"@nova-biz/button\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"input\",\n setup(__props) {\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", null, \"123\");\n };\n }\n});\nfunction defaultInputProps() {\n return {\n ...defaultButtonProps(),\n modelValue: \"\"\n };\n}\nexport {\n _sfc_main as Input,\n defaultInputProps\n};\n","function hello(to = \"World\") {\n const txt = `Hello ${to}!`;\n alert(txt);\n return txt;\n}\nfunction isObjectLike(val) {\n return val !== null && typeof val === \"object\";\n}\nfunction isFunction(val) {\n return typeof val === \"function\";\n}\nexport {\n hello,\n isFunction,\n isObjectLike\n};\n","import { inject } from \"vue\";\nimport { isObjectLike } from \"@nova-biz/shared\";\nconst __uno = \"\";\nconst themeColors = {\n \"color-primary\": \"#c7000b\",\n \"color-success\": \"#50d4ab\",\n \"color-warning\": \"#fbb175\",\n \"color-danger\": \"#f66f6a\",\n \"color-info\": \"#526ecc\",\n \"color-transparent\": \"transparent\",\n \"color-black\": \"#000\",\n \"color-white\": \"#fff\",\n // 背景色\n \"color-page\": \"#f5f5f6\",\n \"color-card\": \"#fff\",\n // 文字主色\n \"color-header\": \"#252b3a\",\n \"color-regular\": \"#575d6c\",\n \"color-secondary\": \"#8a8e99\",\n \"color-placeholder\": \"#abb0b8\",\n \"color-disabled\": \"#c0c4cc\",\n \"color-reverse\": \"#fff\",\n // 边框主色\n \"color-bd_darker\": \"#cdd0d6\",\n \"color-bd_dark\": \"#d4d7de\",\n \"color-bd_base\": \"#dcdfe6\",\n \"color-bd_light\": \"#dfe1e6\",\n \"color-bd_lighter\": \"#ebeff5\",\n \"color-bd_lightest\": \"#f2f6fc\"\n};\nconst themeColorLevelsEnabledKeys = [\n \"color-primary\",\n \"color-success\",\n \"color-warning\",\n \"color-danger\",\n \"color-info\"\n];\nconst themeSpacing = {\n \"spacing-xs\": \"8px\",\n \"spacing-sm\": \"12px\",\n \"spacing-md\": \"16px\",\n \"spacing-lg\": \"24px\",\n \"spacing-xl\": \"32px\"\n};\nconst themeVars = {\n ...themeColors,\n ...themeSpacing\n};\nfunction toRgba(str) {\n return hexToRgba(str) || parseCssFunc(str);\n}\nfunction hexToRgba(str) {\n if (str.charAt(0) !== \"#\") {\n return null;\n }\n if (str.length !== 4 && str.length !== 7) {\n return null;\n }\n let colorStr = str.slice(1);\n if (colorStr.length === 3) {\n colorStr = colorStr[0] + colorStr[0] + colorStr[1] + colorStr[1] + colorStr[2] + colorStr[2];\n }\n const r = parseInt(colorStr.slice(0, 2), 16);\n const g = parseInt(colorStr.slice(2, 4), 16);\n const b = parseInt(colorStr.slice(4, 6), 16);\n return createRgbaColor(r, g, b, 1);\n}\nconst cssColorFunctions = [\"rgb\", \"rgba\"];\nfunction parseCssFunc(str) {\n const match = str.match(/^(.*)\\((.+)\\)$/i);\n if (!match) {\n return null;\n }\n const [, func, argsTxt] = match;\n if (!cssColorFunctions.includes(func)) {\n return null;\n }\n let argsArr = argsTxt.split(\",\");\n if (argsArr.length === 1) {\n argsArr = argsTxt.split(\" \");\n }\n const args = argsArr.map(parseFloat).filter((item) => item);\n if (func === \"rgb\" || func === \"rgba\") {\n const [r, g, b, a] = args;\n return createRgbaColor(r, g, b, a || 1);\n }\n return null;\n}\nfunction createRgbaColor(r, g, b, a = 1) {\n return {\n args: [r, g, b, a],\n get rgbTxt() {\n const [rr, gg, bb] = this.args;\n return `${rr}, ${gg}, ${bb}`;\n },\n get rgba() {\n return `rgba(${this.rgbTxt}, ${this.args[3] || 1})`;\n }\n };\n}\nfunction mixRgbColor(source, target, percent) {\n const res = [\n source.args[0] + (target.args[0] - source.args[0]) * (percent / 100),\n source.args[1] + (target.args[1] - source.args[1]) * (percent / 100),\n source.args[2] + (target.args[2] - source.args[2]) * (percent / 100)\n ].map((item) => Math.round(item));\n const [rr, gg, bb] = res;\n return createRgbaColor(rr, gg, bb, source.args[3] || 1);\n}\nfunction generateRgbColorLevels(color, levels = 9) {\n const result = {\n light: [],\n dark: []\n };\n if (color.rgbTxt === \"0, 0, 0\" || color.rgbTxt === \"255, 255, 255\") {\n return result;\n }\n const percent = 100 / (levels + 1);\n for (let i = 1; i < levels + 1; i++) {\n result.light.push(\n mixRgbColor(color, createRgbaColor(255, 255, 255), i * percent)\n );\n result.dark.push(\n mixRgbColor(color, createRgbaColor(0, 0, 0), i * percent)\n );\n }\n return result;\n}\nconst DEFAULT_PREFIX = \"op-\";\nfunction generateCssVars(origin, options) {\n const {\n prefix = DEFAULT_PREFIX,\n colorLevelsEnabledKeys = [],\n colorLevels = 9\n } = options || {};\n const result = {};\n Object.entries(origin).forEach(([key, value]) => {\n const cssKey = `--${prefix}${key}`;\n const valueToRgba = toRgba(value);\n const finalValue = valueToRgba ? valueToRgba.rgbTxt : value;\n result[cssKey] = finalValue;\n if (valueToRgba && colorLevelsEnabledKeys.includes(key)) {\n const rgbLevels = generateRgbColorLevels(valueToRgba, colorLevels);\n rgbLevels.light.forEach((light, index) => {\n const dark = rgbLevels.dark[index];\n result[`${cssKey}-light-${index + 1}`] = light.rgbTxt;\n result[`${cssKey}-dark-${index + 1}`] = dark.rgbTxt;\n });\n }\n });\n return result;\n}\nfunction cssVarsToString(cssVars, selector = \":root\") {\n let result = `${selector}{`;\n Object.entries(cssVars).forEach(([key, value]) => {\n result += `${key}: ${value};`;\n });\n result += \"}\";\n return result;\n}\nfunction getCssVar(name, prefix = DEFAULT_PREFIX) {\n return `var(--${prefix}${name})`;\n}\nfunction cssVarToRgba(name, alpha = 1, prefix = DEFAULT_PREFIX) {\n return `rgba(${getCssVar(name, prefix)},${alpha})`;\n}\nfunction toTheme(origin, options) {\n const {\n type = \"color\",\n prefix = DEFAULT_PREFIX,\n colorLevelsEnabledKeys = [],\n colorLevels = 9\n } = options || {};\n const themeReg = new RegExp(`^${type}-(.*)$`);\n const keys = Object.keys(origin).filter((key) => themeReg.test(key)).map((key) => key.replace(themeReg, \"$1\"));\n const result = {};\n keys.forEach((key) => {\n result[key] = `rgb(${getCssVar(`${type}-${key}`, prefix)})`;\n if (type === \"color\" && colorLevelsEnabledKeys.includes(`${type}-${key}`)) {\n const lightColors = {};\n const darkColors = {};\n for (let i = 1; i < colorLevels + 1; i++) {\n lightColors[`${i}`] = `rgb(${getCssVar(`${type}-${key}-light-${i}`, prefix)})`;\n darkColors[`${i}`] = `rgb(${getCssVar(`${type}-${key}-dark-${i}`, prefix)})`;\n }\n result[`${key}_light`] = lightColors;\n result[`${key}_dark`] = darkColors;\n }\n });\n return result;\n}\nconst buttonVars = {\n \"button-color\": cssVarToRgba(\"color-regular\"),\n \"button-bg-color\": cssVarToRgba(\"color-card\"),\n \"button-border-color\": cssVarToRgba(\"color-bd_base\"),\n \"button-hover-color\": cssVarToRgba(\"color-primary\"),\n \"button-hover-bg-color\": cssVarToRgba(\"color-primary-light-9\"),\n \"button-hover-border-color\": cssVarToRgba(\"color-primary-light-7\"),\n \"button-active-color\": cssVarToRgba(\"color-primary\"),\n \"button-active-bg-color\": cssVarToRgba(\"color-primary-light-9\"),\n \"button-active-border-color\": cssVarToRgba(\"color-primary\"),\n \"button-disabled-color\": cssVarToRgba(\"color-placeholder\"),\n \"button-disabled-bg-color\": cssVarToRgba(\"color-card\"),\n \"button-disabled-border-color\": cssVarToRgba(\"color-bd_light\"),\n \"button-padding-x\": getCssVar(\"spacing-md\"),\n \"button-padding-y\": getCssVar(\"spacing-xs\")\n};\nconst tinyThemeVars = {\n \"color-primary\": \"#5e7ce0\",\n \"color-success\": \"#50d4ab\",\n \"color-warning\": \"#fa9841\",\n \"color-error\": \"#c7000b\",\n \"color-info\": \"#252b3a\"\n};\nconst THEME_PROVIDE_KEY = \"__NovaUiTheme__\";\nfunction useGlobalTheme(app, options) {\n function setTheme(styleObj) {\n const cssVars = generateCssVars(styleObj, {\n colorLevelsEnabledKeys: themeColorLevelsEnabledKeys,\n colorLevels: 9\n });\n Object.entries(cssVars).forEach(([k, v]) => {\n document.documentElement.style.setProperty(k, v);\n });\n }\n const result = { setTheme };\n app.provide(THEME_PROVIDE_KEY, result);\n if (isObjectLike(options) && Object.keys(options).length > 0) {\n setTheme(options);\n }\n return result;\n}\nfunction useTheme() {\n const result = inject(THEME_PROVIDE_KEY);\n if (!result) {\n throw new Error(\"useTheme() must be used after app.use(Theme)!\");\n }\n return result;\n}\nconst Theme = {\n install: (app, ...options) => {\n const finalOptions = {};\n options.forEach((item) => {\n Object.assign(finalOptions, item);\n });\n useGlobalTheme(app, finalOptions);\n }\n};\nexport {\n DEFAULT_PREFIX,\n Theme,\n buttonVars,\n cssVarToRgba,\n cssVarsToString,\n generateCssVars,\n generateRgbColorLevels,\n getCssVar,\n mixRgbColor,\n themeColorLevelsEnabledKeys,\n themeColors,\n themeSpacing,\n themeVars,\n tinyThemeVars,\n toRgba,\n toTheme,\n useTheme\n};\n","import { defineComponent, mergeDefaults, computed, openBlock, createBlock, resolveDynamicComponent, normalizeStyle, withCtx, renderSlot } from \"vue\";\nimport { generateCssVars, themeColorLevelsEnabledKeys } from \"@nova-biz/styles\";\nfunction defaultConfigProviderProps() {\n return {\n tag: \"div\",\n themeVars: () => ({})\n };\n}\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"config-provider\",\n props: /* @__PURE__ */ mergeDefaults({\n tag: {},\n themeVars: {}\n }, defaultConfigProviderProps()),\n setup(__props) {\n const props = __props;\n const cssVars = computed(() => generateCssVars(props.themeVars, {\n colorLevelsEnabledKeys: themeColorLevelsEnabledKeys,\n colorLevels: 9\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), {\n style: normalizeStyle(cssVars.value)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"style\"]);\n };\n }\n});\nexport {\n _sfc_main as ConfigProvider,\n defaultConfigProviderProps\n};\n"],"names":["defaultButtonProps","_sfc_main","defineComponent","mergeDefaults","__props","props","classes","computed","result","_ctx","_cache","openBlock","createElementBlock","normalizeClass","renderSlot","defaultInputProps","hello","to","txt","isObjectLike","val","isFunction","themeColors","themeColorLevelsEnabledKeys","themeSpacing","themeVars","toRgba","str","hexToRgba","parseCssFunc","colorStr","r","g","b","createRgbaColor","cssColorFunctions","match","func","argsTxt","argsArr","args","item","a","rr","gg","bb","mixRgbColor","source","target","percent","res","generateRgbColorLevels","color","levels","i","DEFAULT_PREFIX","generateCssVars","origin","options","prefix","colorLevelsEnabledKeys","colorLevels","key","value","cssKey","valueToRgba","finalValue","rgbLevels","light","index","dark","cssVarsToString","cssVars","selector","getCssVar","name","cssVarToRgba","alpha","toTheme","type","themeReg","keys","lightColors","darkColors","buttonVars","tinyThemeVars","THEME_PROVIDE_KEY","useGlobalTheme","app","setTheme","styleObj","k","v","useTheme","inject","Theme","finalOptions","defaultConfigProviderProps","createBlock","resolveDynamicComponent","normalizeStyle","withCtx"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ (function(n,c){typeof exports=="object"&&typeof module<"u"?c(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],c):(n=typeof globalThis<"u"?globalThis:n||self,c(n.novaBizUi={},n.vue))})(this,function(n,c){"use strict";function y(){return{type:"",plain:!1,disabled:!1}}const B=c.defineComponent({__name:"button",props:c.mergeDefaults({type:{},plain:{type:Boolean},disabled:{type:Boolean}},y()),setup(o){const e=o,r=c.computed(()=>{const t=[];return e.type&&t.push(`op-button--${e.type}`),e.plain&&t.push("op-button--plain"),e.disabled&&t.push("op-button--disabled"),t});return(t,l)=>(c.openBlock(),c.createElementBlock("button",{class:c.normalizeClass(["op-button",r.value])},[c.renderSlot(t.$slots,"default",{type:t.type})],2))}}),O=c.defineComponent({__name:"input",setup(o){return(e,r)=>(c.openBlock(),c.createElementBlock("div",null,"123"))}});function S(){return{...y(),modelValue:""}}function F(o="World"){const e=`Hello ${o}!`;return alert(e),e}function V(o){return o!==null&&typeof o=="object"}function I(o){return typeof o=="function"}const L={"color-primary":"#c7000b","color-success":"#50d4ab","color-warning":"#fbb175","color-danger":"#f66f6a","color-info":"#526ecc","color-transparent":"transparent","color-black":"#000","color-white":"#fff","color-page":"#f5f5f6","color-card":"#fff","color-header":"#252b3a","color-regular":"#575d6c","color-secondary":"#8a8e99","color-placeholder":"#abb0b8","color-disabled":"#c0c4cc","color-reverse":"#fff","color-bd_darker":"#cdd0d6","color-bd_dark":"#d4d7de","color-bd_base":"#dcdfe6","color-bd_light":"#dfe1e6","color-bd_lighter":"#ebeff5","color-bd_lightest":"#f2f6fc"},_=["color-primary","color-success","color-warning","color-danger","color-info"],v={"spacing-xs":"8px","spacing-sm":"12px","spacing-md":"16px","spacing-lg":"24px","spacing-xl":"32px"},w={...L,...v};function R(o){return K(o)||A(o)}function K(o){if(o.charAt(0)!=="#"||o.length!==4&&o.length!==7)return null;let e=o.slice(1);e.length===3&&(e=e[0]+e[0]+e[1]+e[1]+e[2]+e[2]);const r=parseInt(e.slice(0,2),16),t=parseInt(e.slice(2,4),16),l=parseInt(e.slice(4,6),16);return p(r,t,l,1)}const D=["rgb","rgba"];function A(o){const e=o.match(/^(.*)\((.+)\)$/i);if(!e)return null;const[,r,t]=e;if(!D.includes(r))return null;let l=t.split(",");l.length===1&&(l=t.split(" "));const i=l.map(parseFloat).filter(a=>a);if(r==="rgb"||r==="rgba"){const[a,b,f,s]=i;return p(a,b,f,s||1)}return null}function p(o,e,r,t=1){return{args:[o,e,r,t],get rgbTxt(){const[l,i,a]=this.args;return`${l}, ${i}, ${a}`},get rgba(){return`rgba(${this.rgbTxt}, ${this.args[3]||1})`}}}function T(o,e,r){const t=[o.args[0]+(e.args[0]-o.args[0])*(r/100),o.args[1]+(e.args[1]-o.args[1])*(r/100),o.args[2]+(e.args[2]-o.args[2])*(r/100)].map(b=>Math.round(b)),[l,i,a]=t;return p(l,i,a,o.args[3]||1)}function k(o,e=9){const r={light:[],dark:[]};if(o.rgbTxt==="0, 0, 0"||o.rgbTxt==="255, 255, 255")return r;const t=100/(e+1);for(let l=1;l<e+1;l++)r.light.push(T(o,p(255,255,255),l*t)),r.dark.push(T(o,p(0,0,0),l*t));return r}const h="op-";function C(o,e){const{prefix:r=h,colorLevelsEnabledKeys:t=[],colorLevels:l=9}=e||{},i={};return Object.entries(o).forEach(([a,b])=>{const f=`--${r}${a}`,s=R(b),$=s?s.rgbTxt:b;if(i[f]=$,s&&t.includes(a)){const m=k(s,l);m.light.forEach((g,E)=>{const W=m.dark[E];i[`${f}-light-${E+1}`]=g.rgbTxt,i[`${f}-dark-${E+1}`]=W.rgbTxt})}}),i}function U(o,e=":root"){let r=`${e}{`;return Object.entries(o).forEach(([t,l])=>{r+=`${t}: ${l};`}),r+="}",r}function d(o,e=h){return`var(--${e}${o})`}function u(o,e=1,r=h){return`rgba(${d(o,r)},${e})`}function z(o,e){const{type:r="color",prefix:t=h,colorLevelsEnabledKeys:l=[],colorLevels:i=9}=e||{},a=new RegExp(`^${r}-(.*)$`),b=Object.keys(o).filter(s=>a.test(s)).map(s=>s.replace(a,"$1")),f={};return b.forEach(s=>{if(f[s]=`rgb(${d(`${r}-${s}`,t)})`,r==="color"&&l.includes(`${r}-${s}`)){const $={},m={};for(let g=1;g<i+1;g++)$[`${g}`]=`rgb(${d(`${r}-${s}-light-${g}`,t)})`,m[`${g}`]=`rgb(${d(`${r}-${s}-dark-${g}`,t)})`;f[`${s}_light`]=$,f[`${s}_dark`]=m}}),f}const M={"button-color":u("color-regular"),"button-bg-color":u("color-card"),"button-border-color":u("color-bd_base"),"button-hover-color":u("color-primary"),"button-hover-bg-color":u("color-primary-light-9"),"button-hover-border-color":u("color-primary-light-7"),"button-active-color":u("color-primary"),"button-active-bg-color":u("color-primary-light-9"),"button-active-border-color":u("color-primary"),"button-disabled-color":u("color-placeholder"),"button-disabled-bg-color":u("color-card"),"button-disabled-border-color":u("color-bd_light"),"button-padding-x":d("spacing-md"),"button-padding-y":d("spacing-xs")},H={"color-primary":"#5e7ce0","color-success":"#50d4ab","color-warning":"#fa9841","color-error":"#c7000b","color-info":"#252b3a"},P="__NovaUiTheme__";function X(o,e){function r(l){const i=C(l,{colorLevelsEnabledKeys:_,colorLevels:9});Object.entries(i).forEach(([a,b])=>{document.documentElement.style.setProperty(a,b)})}const t={setTheme:r};return o.provide(P,t),V(e)&&Object.keys(e).length>0&&r(e),t}function q(){const o=c.inject(P);if(!o)throw new Error("useTheme() must be used after app.use(Theme)!");return o}const G={install:(o,...e)=>{const r={};e.forEach(t=>{Object.assign(r,t)}),X(o,r)}};function j(){return{tag:"div",themeVars:()=>({})}}const N=c.defineComponent({__name:"config-provider",props:c.mergeDefaults({tag:{},themeVars:{}},j()),setup(o){const e=o,r=c.computed(()=>C(e.themeVars,{colorLevelsEnabledKeys:_,colorLevels:9}));return(t,l)=>(c.openBlock(),c.createBlock(c.resolveDynamicComponent(t.tag),{style:c.normalizeStyle(r.value)},{default:c.withCtx(()=>[c.renderSlot(t.$slots,"default")]),_:3},8,["style"]))}});n.Button=B,n.ConfigProvider=N,n.DEFAULT_PREFIX=h,n.Input=O,n.Theme=G,n.buttonVars=M,n.cssVarToRgba=u,n.cssVarsToString=U,n.defaultButtonProps=y,n.defaultConfigProviderProps=j,n.defaultInputProps=S,n.generateCssVars=C,n.generateRgbColorLevels=k,n.getCssVar=d,n.hello=F,n.isFunction=I,n.isObjectLike=V,n.mixRgbColor=T,n.themeColorLevelsEnabledKeys=_,n.themeColors=L,n.themeSpacing=v,n.themeVars=w,n.tinyThemeVars=H,n.toRgba=R,n.toTheme=z,n.useTheme=q,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});
2
+ //# sourceMappingURL=nova-biz-ui.full.min.umd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nova-biz-ui.full.min.umd.js","sources":["../../button/dist/nova-biz-button.mjs","../../input/dist/nova-biz-input.mjs","../../shared/dist/nova-biz-shared.mjs","../../styles/dist/nova-biz-styles.mjs","../../config-provider/dist/nova-biz-config-provider.mjs"],"sourcesContent":["import { defineComponent, mergeDefaults, computed, openBlock, createElementBlock, normalizeClass, renderSlot } from \"vue\";\nfunction defaultButtonProps() {\n return {\n type: \"\",\n plain: false,\n disabled: false\n };\n}\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"button\",\n props: /* @__PURE__ */ mergeDefaults({\n type: {},\n plain: { type: Boolean },\n disabled: { type: Boolean }\n }, defaultButtonProps()),\n setup(__props) {\n const props = __props;\n const classes = computed(() => {\n const result = [];\n if (props.type) {\n result.push(`op-button--${props.type}`);\n }\n if (props.plain) {\n result.push(\"op-button--plain\");\n }\n if (props.disabled) {\n result.push(\"op-button--disabled\");\n }\n return result;\n });\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"button\", {\n class: normalizeClass([\"op-button\", classes.value])\n }, [\n renderSlot(_ctx.$slots, \"default\", { type: _ctx.type })\n ], 2);\n };\n }\n});\nconst button = \"\";\nconst __uno = \"\";\nexport {\n _sfc_main as Button,\n defaultButtonProps\n};\n","import { defineComponent, openBlock, createElementBlock } from \"vue\";\nimport { defaultButtonProps } from \"@nova-biz/button\";\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"input\",\n setup(__props) {\n return (_ctx, _cache) => {\n return openBlock(), createElementBlock(\"div\", null, \"123\");\n };\n }\n});\nfunction defaultInputProps() {\n return {\n ...defaultButtonProps(),\n modelValue: \"\"\n };\n}\nexport {\n _sfc_main as Input,\n defaultInputProps\n};\n","function hello(to = \"World\") {\n const txt = `Hello ${to}!`;\n alert(txt);\n return txt;\n}\nfunction isObjectLike(val) {\n return val !== null && typeof val === \"object\";\n}\nfunction isFunction(val) {\n return typeof val === \"function\";\n}\nexport {\n hello,\n isFunction,\n isObjectLike\n};\n","import { inject } from \"vue\";\nimport { isObjectLike } from \"@nova-biz/shared\";\nconst __uno = \"\";\nconst themeColors = {\n \"color-primary\": \"#c7000b\",\n \"color-success\": \"#50d4ab\",\n \"color-warning\": \"#fbb175\",\n \"color-danger\": \"#f66f6a\",\n \"color-info\": \"#526ecc\",\n \"color-transparent\": \"transparent\",\n \"color-black\": \"#000\",\n \"color-white\": \"#fff\",\n // 背景色\n \"color-page\": \"#f5f5f6\",\n \"color-card\": \"#fff\",\n // 文字主色\n \"color-header\": \"#252b3a\",\n \"color-regular\": \"#575d6c\",\n \"color-secondary\": \"#8a8e99\",\n \"color-placeholder\": \"#abb0b8\",\n \"color-disabled\": \"#c0c4cc\",\n \"color-reverse\": \"#fff\",\n // 边框主色\n \"color-bd_darker\": \"#cdd0d6\",\n \"color-bd_dark\": \"#d4d7de\",\n \"color-bd_base\": \"#dcdfe6\",\n \"color-bd_light\": \"#dfe1e6\",\n \"color-bd_lighter\": \"#ebeff5\",\n \"color-bd_lightest\": \"#f2f6fc\"\n};\nconst themeColorLevelsEnabledKeys = [\n \"color-primary\",\n \"color-success\",\n \"color-warning\",\n \"color-danger\",\n \"color-info\"\n];\nconst themeSpacing = {\n \"spacing-xs\": \"8px\",\n \"spacing-sm\": \"12px\",\n \"spacing-md\": \"16px\",\n \"spacing-lg\": \"24px\",\n \"spacing-xl\": \"32px\"\n};\nconst themeVars = {\n ...themeColors,\n ...themeSpacing\n};\nfunction toRgba(str) {\n return hexToRgba(str) || parseCssFunc(str);\n}\nfunction hexToRgba(str) {\n if (str.charAt(0) !== \"#\") {\n return null;\n }\n if (str.length !== 4 && str.length !== 7) {\n return null;\n }\n let colorStr = str.slice(1);\n if (colorStr.length === 3) {\n colorStr = colorStr[0] + colorStr[0] + colorStr[1] + colorStr[1] + colorStr[2] + colorStr[2];\n }\n const r = parseInt(colorStr.slice(0, 2), 16);\n const g = parseInt(colorStr.slice(2, 4), 16);\n const b = parseInt(colorStr.slice(4, 6), 16);\n return createRgbaColor(r, g, b, 1);\n}\nconst cssColorFunctions = [\"rgb\", \"rgba\"];\nfunction parseCssFunc(str) {\n const match = str.match(/^(.*)\\((.+)\\)$/i);\n if (!match) {\n return null;\n }\n const [, func, argsTxt] = match;\n if (!cssColorFunctions.includes(func)) {\n return null;\n }\n let argsArr = argsTxt.split(\",\");\n if (argsArr.length === 1) {\n argsArr = argsTxt.split(\" \");\n }\n const args = argsArr.map(parseFloat).filter((item) => item);\n if (func === \"rgb\" || func === \"rgba\") {\n const [r, g, b, a] = args;\n return createRgbaColor(r, g, b, a || 1);\n }\n return null;\n}\nfunction createRgbaColor(r, g, b, a = 1) {\n return {\n args: [r, g, b, a],\n get rgbTxt() {\n const [rr, gg, bb] = this.args;\n return `${rr}, ${gg}, ${bb}`;\n },\n get rgba() {\n return `rgba(${this.rgbTxt}, ${this.args[3] || 1})`;\n }\n };\n}\nfunction mixRgbColor(source, target, percent) {\n const res = [\n source.args[0] + (target.args[0] - source.args[0]) * (percent / 100),\n source.args[1] + (target.args[1] - source.args[1]) * (percent / 100),\n source.args[2] + (target.args[2] - source.args[2]) * (percent / 100)\n ].map((item) => Math.round(item));\n const [rr, gg, bb] = res;\n return createRgbaColor(rr, gg, bb, source.args[3] || 1);\n}\nfunction generateRgbColorLevels(color, levels = 9) {\n const result = {\n light: [],\n dark: []\n };\n if (color.rgbTxt === \"0, 0, 0\" || color.rgbTxt === \"255, 255, 255\") {\n return result;\n }\n const percent = 100 / (levels + 1);\n for (let i = 1; i < levels + 1; i++) {\n result.light.push(\n mixRgbColor(color, createRgbaColor(255, 255, 255), i * percent)\n );\n result.dark.push(\n mixRgbColor(color, createRgbaColor(0, 0, 0), i * percent)\n );\n }\n return result;\n}\nconst DEFAULT_PREFIX = \"op-\";\nfunction generateCssVars(origin, options) {\n const {\n prefix = DEFAULT_PREFIX,\n colorLevelsEnabledKeys = [],\n colorLevels = 9\n } = options || {};\n const result = {};\n Object.entries(origin).forEach(([key, value]) => {\n const cssKey = `--${prefix}${key}`;\n const valueToRgba = toRgba(value);\n const finalValue = valueToRgba ? valueToRgba.rgbTxt : value;\n result[cssKey] = finalValue;\n if (valueToRgba && colorLevelsEnabledKeys.includes(key)) {\n const rgbLevels = generateRgbColorLevels(valueToRgba, colorLevels);\n rgbLevels.light.forEach((light, index) => {\n const dark = rgbLevels.dark[index];\n result[`${cssKey}-light-${index + 1}`] = light.rgbTxt;\n result[`${cssKey}-dark-${index + 1}`] = dark.rgbTxt;\n });\n }\n });\n return result;\n}\nfunction cssVarsToString(cssVars, selector = \":root\") {\n let result = `${selector}{`;\n Object.entries(cssVars).forEach(([key, value]) => {\n result += `${key}: ${value};`;\n });\n result += \"}\";\n return result;\n}\nfunction getCssVar(name, prefix = DEFAULT_PREFIX) {\n return `var(--${prefix}${name})`;\n}\nfunction cssVarToRgba(name, alpha = 1, prefix = DEFAULT_PREFIX) {\n return `rgba(${getCssVar(name, prefix)},${alpha})`;\n}\nfunction toTheme(origin, options) {\n const {\n type = \"color\",\n prefix = DEFAULT_PREFIX,\n colorLevelsEnabledKeys = [],\n colorLevels = 9\n } = options || {};\n const themeReg = new RegExp(`^${type}-(.*)$`);\n const keys = Object.keys(origin).filter((key) => themeReg.test(key)).map((key) => key.replace(themeReg, \"$1\"));\n const result = {};\n keys.forEach((key) => {\n result[key] = `rgb(${getCssVar(`${type}-${key}`, prefix)})`;\n if (type === \"color\" && colorLevelsEnabledKeys.includes(`${type}-${key}`)) {\n const lightColors = {};\n const darkColors = {};\n for (let i = 1; i < colorLevels + 1; i++) {\n lightColors[`${i}`] = `rgb(${getCssVar(`${type}-${key}-light-${i}`, prefix)})`;\n darkColors[`${i}`] = `rgb(${getCssVar(`${type}-${key}-dark-${i}`, prefix)})`;\n }\n result[`${key}_light`] = lightColors;\n result[`${key}_dark`] = darkColors;\n }\n });\n return result;\n}\nconst buttonVars = {\n \"button-color\": cssVarToRgba(\"color-regular\"),\n \"button-bg-color\": cssVarToRgba(\"color-card\"),\n \"button-border-color\": cssVarToRgba(\"color-bd_base\"),\n \"button-hover-color\": cssVarToRgba(\"color-primary\"),\n \"button-hover-bg-color\": cssVarToRgba(\"color-primary-light-9\"),\n \"button-hover-border-color\": cssVarToRgba(\"color-primary-light-7\"),\n \"button-active-color\": cssVarToRgba(\"color-primary\"),\n \"button-active-bg-color\": cssVarToRgba(\"color-primary-light-9\"),\n \"button-active-border-color\": cssVarToRgba(\"color-primary\"),\n \"button-disabled-color\": cssVarToRgba(\"color-placeholder\"),\n \"button-disabled-bg-color\": cssVarToRgba(\"color-card\"),\n \"button-disabled-border-color\": cssVarToRgba(\"color-bd_light\"),\n \"button-padding-x\": getCssVar(\"spacing-md\"),\n \"button-padding-y\": getCssVar(\"spacing-xs\")\n};\nconst tinyThemeVars = {\n \"color-primary\": \"#5e7ce0\",\n \"color-success\": \"#50d4ab\",\n \"color-warning\": \"#fa9841\",\n \"color-error\": \"#c7000b\",\n \"color-info\": \"#252b3a\"\n};\nconst THEME_PROVIDE_KEY = \"__NovaUiTheme__\";\nfunction useGlobalTheme(app, options) {\n function setTheme(styleObj) {\n const cssVars = generateCssVars(styleObj, {\n colorLevelsEnabledKeys: themeColorLevelsEnabledKeys,\n colorLevels: 9\n });\n Object.entries(cssVars).forEach(([k, v]) => {\n document.documentElement.style.setProperty(k, v);\n });\n }\n const result = { setTheme };\n app.provide(THEME_PROVIDE_KEY, result);\n if (isObjectLike(options) && Object.keys(options).length > 0) {\n setTheme(options);\n }\n return result;\n}\nfunction useTheme() {\n const result = inject(THEME_PROVIDE_KEY);\n if (!result) {\n throw new Error(\"useTheme() must be used after app.use(Theme)!\");\n }\n return result;\n}\nconst Theme = {\n install: (app, ...options) => {\n const finalOptions = {};\n options.forEach((item) => {\n Object.assign(finalOptions, item);\n });\n useGlobalTheme(app, finalOptions);\n }\n};\nexport {\n DEFAULT_PREFIX,\n Theme,\n buttonVars,\n cssVarToRgba,\n cssVarsToString,\n generateCssVars,\n generateRgbColorLevels,\n getCssVar,\n mixRgbColor,\n themeColorLevelsEnabledKeys,\n themeColors,\n themeSpacing,\n themeVars,\n tinyThemeVars,\n toRgba,\n toTheme,\n useTheme\n};\n","import { defineComponent, mergeDefaults, computed, openBlock, createBlock, resolveDynamicComponent, normalizeStyle, withCtx, renderSlot } from \"vue\";\nimport { generateCssVars, themeColorLevelsEnabledKeys } from \"@nova-biz/styles\";\nfunction defaultConfigProviderProps() {\n return {\n tag: \"div\",\n themeVars: () => ({})\n };\n}\nconst _sfc_main = /* @__PURE__ */ defineComponent({\n __name: \"config-provider\",\n props: /* @__PURE__ */ mergeDefaults({\n tag: {},\n themeVars: {}\n }, defaultConfigProviderProps()),\n setup(__props) {\n const props = __props;\n const cssVars = computed(() => generateCssVars(props.themeVars, {\n colorLevelsEnabledKeys: themeColorLevelsEnabledKeys,\n colorLevels: 9\n }));\n return (_ctx, _cache) => {\n return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), {\n style: normalizeStyle(cssVars.value)\n }, {\n default: withCtx(() => [\n renderSlot(_ctx.$slots, \"default\")\n ]),\n _: 3\n }, 8, [\"style\"]);\n };\n }\n});\nexport {\n _sfc_main as ConfigProvider,\n defaultConfigProviderProps\n};\n"],"names":["defaultButtonProps","_sfc_main","defineComponent","mergeDefaults","__props","props","classes","computed","result","_ctx","_cache","openBlock","createElementBlock","normalizeClass","renderSlot","defaultInputProps","hello","to","txt","isObjectLike","val","isFunction","themeColors","themeColorLevelsEnabledKeys","themeSpacing","themeVars","toRgba","str","hexToRgba","parseCssFunc","colorStr","g","b","createRgbaColor","cssColorFunctions","match","func","argsTxt","argsArr","args","item","r","a","rr","gg","bb","mixRgbColor","source","target","percent","res","generateRgbColorLevels","color","levels","i","DEFAULT_PREFIX","generateCssVars","origin","options","prefix","colorLevelsEnabledKeys","colorLevels","key","value","cssKey","valueToRgba","finalValue","rgbLevels","light","index","dark","cssVarsToString","cssVars","selector","getCssVar","name","cssVarToRgba","alpha","toTheme","type","themeReg","keys","lightColors","darkColors","buttonVars","tinyThemeVars","THEME_PROVIDE_KEY","useGlobalTheme","app","setTheme","styleObj","k","v","useTheme","inject","Theme","finalOptions","defaultConfigProviderProps","createBlock","resolveDynamicComponent","normalizeStyle","withCtx"],"mappings":"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"}