@jasperdai/uikit-base-component-uni 0.7.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 +34 -0
- package/dist/UIKitProvider.vue_vue_type_script_setup_true_lang-DrvJZLfH.js +22 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +6 -0
- package/dist/providers/UIKitProvider/contexts/ThemeProvider/ThemeProvider.js +24 -0
- package/dist/providers/UIKitProvider/contexts/ThemeProvider/ThemeProvider.vue.d.ts +39 -0
- package/dist/providers/UIKitProvider/contexts/ThemeProvider/useThemeProvider.d.ts +5 -0
- package/dist/providers/UIKitProvider/contexts/ThemeProvider/useThemeProvider.js +18 -0
- package/dist/providers/UIKitProvider/contexts/UIKitProvider/UIKitProvider.js +4 -0
- package/dist/providers/UIKitProvider/contexts/UIKitProvider/UIKitProvider.vue.d.ts +38 -0
- package/dist/providers/UIKitProvider/contexts/UIKitProvider/useUIKitProvider.d.ts +5 -0
- package/dist/providers/UIKitProvider/contexts/UIKitProvider/useUIKitProvider.js +9 -0
- package/dist/providers/UIKitProvider/index.d.ts +4 -0
- package/dist/providers/UIKitProvider/index.js +6 -0
- package/dist/styles/index.css +1 -0
- package/dist/styles/styles/themes/dark.scss +167 -0
- package/dist/styles/styles/themes/light.scss +167 -0
- package/dist/styles/styles/variables.scss +3 -0
- package/dist/vite-env.d.js +1 -0
- package/package.json +29 -0
- package/src/index.ts +6 -0
- package/src/providers/UIKitProvider/contexts/ThemeProvider/ThemeProvider.vue +27 -0
- package/src/providers/UIKitProvider/contexts/ThemeProvider/useThemeProvider.ts +21 -0
- package/src/providers/UIKitProvider/contexts/UIKitProvider/UIKitProvider.vue +16 -0
- package/src/providers/UIKitProvider/contexts/UIKitProvider/useUIKitProvider.ts +9 -0
- package/src/providers/UIKitProvider/index.ts +7 -0
- package/src/providers/UIKitProvider/styles/themes/dark.scss +167 -0
- package/src/providers/UIKitProvider/styles/themes/light.scss +167 -0
- package/src/providers/UIKitProvider/styles/variables.scss +3 -0
- package/src/vite-env.d.ts +1 -0
- package/tsconfig.json +25 -0
- package/tsconfig.node.json +11 -0
- package/vite.config.ts +66 -0
package/README.md
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
# uni-uikit-provider
|
2
|
+
|
3
|
+
## 1 Usage
|
4
|
+
|
5
|
+
### 1.1 Use UIKitProvider Components
|
6
|
+
|
7
|
+
```vue
|
8
|
+
<script lang="ts" setup>
|
9
|
+
import { UIKitProvider } from '@tencentcloud/uikit-base-component-uni';
|
10
|
+
</script>
|
11
|
+
|
12
|
+
<template>
|
13
|
+
<UIKitProvider theme="light">
|
14
|
+
|
15
|
+
</UIKitProvider>
|
16
|
+
</template>
|
17
|
+
```
|
18
|
+
|
19
|
+
### 1.2 Use Hook useUIKit
|
20
|
+
|
21
|
+
```vue
|
22
|
+
<template>
|
23
|
+
<div>{{ theme }}</div>
|
24
|
+
<button @click="setTheme('dark')">set theme to dark</button>
|
25
|
+
<button @click="setTheme('light')">set theme to light</button>
|
26
|
+
</template>
|
27
|
+
|
28
|
+
<script lang="ts" setup>
|
29
|
+
import { useUIKit } from '@tencentcloud/uikit-base-component-uni';
|
30
|
+
|
31
|
+
const { theme, setTheme } = useUIKit();
|
32
|
+
</script>
|
33
|
+
|
34
|
+
```
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { defineComponent as r, createBlock as m, openBlock as n, withCtx as p, renderSlot as i } from "vue";
|
2
|
+
import s from "./providers/UIKitProvider/contexts/ThemeProvider/ThemeProvider.js";
|
3
|
+
const l = /* @__PURE__ */ r({
|
4
|
+
__name: "UIKitProvider",
|
5
|
+
props: {
|
6
|
+
theme: { default: "light" }
|
7
|
+
},
|
8
|
+
setup(e) {
|
9
|
+
const t = e;
|
10
|
+
return (o, a) => (n(), m(s, {
|
11
|
+
theme: t.theme
|
12
|
+
}, {
|
13
|
+
default: p(() => [
|
14
|
+
i(o.$slots, "default")
|
15
|
+
]),
|
16
|
+
_: 3
|
17
|
+
}, 8, ["theme"]));
|
18
|
+
}
|
19
|
+
});
|
20
|
+
export {
|
21
|
+
l as _
|
22
|
+
};
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
import { defineComponent as n, createElementBlock as c, openBlock as a, normalizeClass as m, unref as i, renderSlot as l } from "vue";
|
2
|
+
import { useTheme as p } from "./useThemeProvider.js";
|
3
|
+
const u = /* @__PURE__ */ n({
|
4
|
+
__name: "ThemeProvider",
|
5
|
+
props: {
|
6
|
+
theme: { default: "light" }
|
7
|
+
},
|
8
|
+
setup(e) {
|
9
|
+
const o = e, { setTheme: t, uikitThemeClass: r } = p();
|
10
|
+
return t(o.theme), (s, f) => (a(), c("div", {
|
11
|
+
class: m(["uikit-theme-context", i(r)])
|
12
|
+
}, [
|
13
|
+
l(s.$slots, "default", {}, void 0, !0)
|
14
|
+
], 2));
|
15
|
+
}
|
16
|
+
}), d = (e, o) => {
|
17
|
+
const t = e.__vccOpts || e;
|
18
|
+
for (const [r, s] of o)
|
19
|
+
t[r] = s;
|
20
|
+
return t;
|
21
|
+
}, v = /* @__PURE__ */ d(u, [["__scopeId", "data-v-760f1a5e"]]);
|
22
|
+
export {
|
23
|
+
v as default
|
24
|
+
};
|
@@ -0,0 +1,39 @@
|
|
1
|
+
|
2
|
+
declare function __VLS_template(): {
|
3
|
+
default?(_: {}): any;
|
4
|
+
};
|
5
|
+
declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
6
|
+
theme?: string;
|
7
|
+
}>, {
|
8
|
+
theme: string;
|
9
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
10
|
+
theme?: string;
|
11
|
+
}>, {
|
12
|
+
theme: string;
|
13
|
+
}>>> & Readonly<{}>, {
|
14
|
+
theme: string;
|
15
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
16
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
17
|
+
export default _default;
|
18
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
19
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
20
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
21
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
22
|
+
} : {
|
23
|
+
type: import('vue').PropType<T[K]>;
|
24
|
+
required: true;
|
25
|
+
};
|
26
|
+
};
|
27
|
+
type __VLS_WithDefaults<P, D> = {
|
28
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
29
|
+
default: D[K];
|
30
|
+
}> : P[K];
|
31
|
+
};
|
32
|
+
type __VLS_Prettify<T> = {
|
33
|
+
[K in keyof T]: T[K];
|
34
|
+
} & {};
|
35
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
36
|
+
new (): {
|
37
|
+
$slots: S;
|
38
|
+
};
|
39
|
+
};
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { ref as s, computed as u } from "vue";
|
2
|
+
const t = s(""), o = ["light", "dark"], i = u(() => `tui-theme-${t.value}`);
|
3
|
+
function m() {
|
4
|
+
function r(e) {
|
5
|
+
if (o.includes(e))
|
6
|
+
t.value = e;
|
7
|
+
else
|
8
|
+
throw new Error(`Theme "${e}" is not supported. Supported themes: [${o.join(", ")}]`);
|
9
|
+
}
|
10
|
+
return {
|
11
|
+
theme: t,
|
12
|
+
setTheme: r,
|
13
|
+
uikitThemeClass: i
|
14
|
+
};
|
15
|
+
}
|
16
|
+
export {
|
17
|
+
m as useTheme
|
18
|
+
};
|
@@ -0,0 +1,38 @@
|
|
1
|
+
declare function __VLS_template(): {
|
2
|
+
default?(_: {}): any;
|
3
|
+
};
|
4
|
+
declare const __VLS_component: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
5
|
+
theme?: string;
|
6
|
+
}>, {
|
7
|
+
theme: string;
|
8
|
+
}>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
|
9
|
+
theme?: string;
|
10
|
+
}>, {
|
11
|
+
theme: string;
|
12
|
+
}>>> & Readonly<{}>, {
|
13
|
+
theme: string;
|
14
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
15
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, ReturnType<typeof __VLS_template>>;
|
16
|
+
export default _default;
|
17
|
+
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
|
18
|
+
type __VLS_TypePropsToRuntimeProps<T> = {
|
19
|
+
[K in keyof T]-?: {} extends Pick<T, K> ? {
|
20
|
+
type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
|
21
|
+
} : {
|
22
|
+
type: import('vue').PropType<T[K]>;
|
23
|
+
required: true;
|
24
|
+
};
|
25
|
+
};
|
26
|
+
type __VLS_WithDefaults<P, D> = {
|
27
|
+
[K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
|
28
|
+
default: D[K];
|
29
|
+
}> : P[K];
|
30
|
+
};
|
31
|
+
type __VLS_Prettify<T> = {
|
32
|
+
[K in keyof T]: T[K];
|
33
|
+
} & {};
|
34
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
35
|
+
new (): {
|
36
|
+
$slots: S;
|
37
|
+
};
|
38
|
+
};
|
@@ -0,0 +1 @@
|
|
1
|
+
.tui-theme-dark{--uikit-color-theme-1: #1C2333;--uikit-color-theme-2: #243047;--uikit-color-theme-3: #2F4875;--uikit-color-theme-4: #305BA6;--uikit-color-theme-5: #2B6AD6;--uikit-color-theme-6: #4086FF;--uikit-color-theme-7: #5C9DFF;--uikit-color-theme-8: #78B0FF;--uikit-color-theme-9: #9CC7FF;--uikit-color-theme-10: #C2DEFF;--uikit-color-black-1: rgba(0, 0, 0, 100%);--uikit-color-black-2: rgba(0, 0, 0, 90%);--uikit-color-black-3: rgba(0, 0, 0, 72%);--uikit-color-black-4: rgba(0, 0, 0, 55%);--uikit-color-black-5: rgba(0, 0, 0, 40%);--uikit-color-black-6: rgba(0, 0, 0, 25%);--uikit-color-black-7: rgba(0, 0, 0, 12%);--uikit-color-black-8: rgba(0, 0, 0, 6%);--uikit-color-white-1: rgba(255, 255, 255, 100%);--uikit-color-white-2: rgba(255, 255, 255, 93%);--uikit-color-white-3: rgba(255, 255, 255, 75%);--uikit-color-white-4: rgba(255, 255, 255, 55%);--uikit-color-white-5: rgba(255, 255, 255, 42%);--uikit-color-white-6: rgba(255, 255, 255, 30%);--uikit-color-white-7: rgba(255, 255, 255, 14%);--uikit-color-gray-1: #131417;--uikit-color-gray-2: #1F2024;--uikit-color-gray-3: #2B2C30;--uikit-color-gray-4: #3A3C42;--uikit-color-gray-5: #48494F;--uikit-color-gray-6: #54565C;--uikit-color-gray-7: #676A70;--uikit-color-green-1: #1A2620;--uikit-color-green-2: #22352C;--uikit-color-green-3: #2F4F3F;--uikit-color-green-4: #377355;--uikit-color-green-5: #368F65;--uikit-color-green-6: #38A673;--uikit-color-green-7: #62B58B;--uikit-color-green-8: #8BC7A9;--uikit-color-green-9: #A9D4BD;--uikit-color-green-10: #C8E5D5;--uikit-color-red-1: #2B1C1F;--uikit-color-red-2: #422324;--uikit-color-red-3: #613234;--uikit-color-red-4: #8A4242;--uikit-color-red-5: #C2544E;--uikit-color-red-6: #E6594C;--uikit-color-red-7: #E57A6E;--uikit-color-red-8: #F3A599;--uikit-color-red-9: #FACBC3;--uikit-color-red-10: #FAE4DE;--uikit-color-orange-1: #211A19;--uikit-color-orange-2: #35231A;--uikit-color-orange-3: #462E1F;--uikit-color-orange-4: #653C21;--uikit-color-orange-5: #96562A;--uikit-color-orange-6: #E37F32;--uikit-color-orange-7: #E39552;--uikit-color-orange-8: #EEAD72;--uikit-color-orange-9: #F7CFA4;--uikit-color-orange-10: #F9E9D1;--uikit-color-transparent: rgba(255, 255, 255, 0%);--text-color-primary: var(--uikit-color-white-2);--text-color-secondary: var(--uikit-color-white-4);--text-color-tertiary: var(--uikit-color-white-6);--text-color-disabled: var(--uikit-color-white-7);--text-color-button: var(--uikit-color-white-1);--text-color-button-disabled: var(--uikit-color-white-5);--text-color-link: var(--uikit-color-theme-6);--text-color-link-hover: var(--uikit-color-theme-5);--text-color-link-active: var(--uikit-color-theme-7);--text-color-link-disabled: var(--uikit-color-theme-2);--text-color-anti-primary: var(--uikit-color-black-2);--text-color-anti-secondary: var(--uikit-color-black-4);--text-color-warning: var(--uikit-color-orange-6);--text-color-success: var(--uikit-color-green-6);--text-color-error: var(--uikit-color-red-6);--bg-color-topbar: var(--uikit-color-gray-1);--bg-color-operate: var(--uikit-color-gray-2);--bg-color-dialog: var(--uikit-color-gray-2);--bg-color-dialog-module: var(--uikit-color-gray-3);--bg-color-entrycard: var(--uikit-color-gray-3);--bg-color-function: var(--uikit-color-gray-4);--bg-color-bottombar: var(--uikit-color-gray-3);--bg-color-input: var(--uikit-color-gray-3);--bg-color-bubble-reciprocal: var(--uikit-color-gray-3);--bg-color-bubble-own: var(--uikit-color-theme-7);--bg-color-default: var(--uikit-color-gray-1);--bg-color-tag-mask: var(--uikit-color-black-4);--bg-color-element-mask: var(--uikit-color-black-6);--bg-color-mask: var(--uikit-color-black-4);--bg-color-mask-disappeared: var(--uikit-color-black-8);--bg-color-mask-begin: var(--uikit-color-black-2);--stroke-color-primary: var(--uikit-color-gray-4);--stroke-color-secondary: var(--uikit-color-gray-3);--stroke-color-module: var(--uikit-color-gray-5);--shadow-color: var(--uikit-color-black-8);--list-color-default: var(--uikit-color-gray-2);--list-color-hover: var(--uikit-color-gray-3);--list-color-focused: var(--uikit-color-theme-2);--button-color-primary-default: var(--uikit-color-theme-6);--button-color-primary-hover: var(--uikit-color-theme-5);--button-color-primary-active: var(--uikit-color-theme-7);--button-color-primary-disabled: var(--uikit-color-theme-2);--button-color-secondary-default: var(--uikit-color-gray-4);--button-color-secondary-hover: var(--uikit-color-gray-3);--button-color-secondary-active: var(--uikit-color-gray-5);--button-color-secondary-disabled: var(--uikit-color-gray-3);--button-color-accept: var(--uikit-color-green-6);--button-color-hangup: var(--uikit-color-red-6);--button-color-on: var(--uikit-color-white-1);--button-color-off: var(--uikit-color-black-5);--dropdown-color-default: var(--uikit-color-gray-3);--dropdown-color-hover: var(--uikit-color-gray-4);--dropdown-color-active: var(--uikit-color-gray-2);--scroll-bar-color-default: var(--uikit-color-white-7);--scroll-bar-color-hover: var(--uikit-color-white-6);--floating-color-default: var(--uikit-color-gray-3);--floating-color-operate: var(--uikit-color-gray-4);--checkbox-color-selected: var(--uikit-color-theme-5);--toast-color-warning: var(--uikit-color-orange-2);--toast-color-success: var(--uikit-color-green-2);--toast-color-error: var(--uikit-color-red-2);--toast-color-default: var(--uikit-color-theme-2);--switch-color-off: var(--uikit-color-gray-4);--switch-color-on: var(--uikit-color-theme-5);--switch-color-button: var(--uikit-color-white-1);--slider-color-filled: var(--uikit-color-theme-5);--slider-color-empty: var(--uikit-color-gray-5);--slider-color-button: var(--uikit-color-white-1);--tab-color-selected: var(--uikit-color-gray-5);--tab-color-unselected: var(--uikit-color-gray-4);--tab-color-option: var(--uikit-color-gray-4)}.tui-theme-light{--uikit-color-theme-1: #EBF3FF;--uikit-color-theme-2: #CCE2FF;--uikit-color-theme-3: #ADCFFF;--uikit-color-theme-4: #7AAFFF;--uikit-color-theme-5: #4588F5;--uikit-color-theme-6: #1C66E5;--uikit-color-theme-7: #0D49BF;--uikit-color-theme-8: #033099;--uikit-color-theme-9: #001F73;--uikit-color-theme-10: #00124D;--uikit-color-black-1: rgba(0, 0, 0, 100%);--uikit-color-black-2: rgba(0, 0, 0, 90%);--uikit-color-black-3: rgba(0, 0, 0, 72%);--uikit-color-black-4: rgba(0, 0, 0, 55%);--uikit-color-black-5: rgba(0, 0, 0, 40%);--uikit-color-black-6: rgba(0, 0, 0, 25%);--uikit-color-black-7: rgba(0, 0, 0, 12%);--uikit-color-black-8: rgba(0, 0, 0, 6%);--uikit-color-white-1: rgba(255, 255, 255, 100%);--uikit-color-white-2: rgba(255, 255, 255, 93%);--uikit-color-white-3: rgba(255, 255, 255, 75%);--uikit-color-white-4: rgba(255, 255, 255, 55%);--uikit-color-white-5: rgba(255, 255, 255, 42%);--uikit-color-white-6: rgba(255, 255, 255, 30%);--uikit-color-white-7: rgba(255, 255, 255, 14%);--uikit-color-gray-1: #F9FAFC;--uikit-color-gray-2: #F0F2F7;--uikit-color-gray-3: #E6E9F0;--uikit-color-gray-4: #D1D4DE;--uikit-color-gray-5: #C0C3CC;--uikit-color-gray-6: #B3B6BE;--uikit-color-gray-7: #A5A9B0;--uikit-color-green-1: #DCFAE9;--uikit-color-green-2: #B6F0D1;--uikit-color-green-3: #84E3B5;--uikit-color-green-4: #5AD69E;--uikit-color-green-5: #3CC98C;--uikit-color-green-6: #0ABF77;--uikit-color-green-7: #09A768;--uikit-color-green-8: #078F59;--uikit-color-green-9: #067049;--uikit-color-green-10: #044D37;--uikit-color-red-1: #FFE7E6;--uikit-color-red-2: #FCC9C7;--uikit-color-red-3: #FAAEAC;--uikit-color-red-4: #F58989;--uikit-color-red-5: #E86666;--uikit-color-red-6: #E54545;--uikit-color-red-7: #C93439;--uikit-color-red-8: #AD2934;--uikit-color-red-9: #8F222D;--uikit-color-red-10: #6B1A27;--uikit-color-orange-1: #FFEEDB;--uikit-color-orange-2: #FFD6B2;--uikit-color-orange-3: #FFBE85;--uikit-color-orange-4: #FFA455;--uikit-color-orange-5: #FF8B2B;--uikit-color-orange-6: #FF7200;--uikit-color-orange-7: #E05D00;--uikit-color-orange-8: #BF4900;--uikit-color-orange-9: #8F370B;--uikit-color-orange-10: #662200;--uikit-color-transparent: rgba(255, 255, 255, 0%);--text-color-primary: var(--uikit-color-black-2);--text-color-secondary: var(--uikit-color-black-4);--text-color-tertiary: var(--uikit-color-black-5);--text-color-disabled: var(--uikit-color-black-6);--text-color-button: var(--uikit-color-white-1);--text-color-button-disabled: var(--uikit-color-white-1);--text-color-link: var(--uikit-color-theme-6);--text-color-link-hover: var(--uikit-color-theme-5);--text-color-link-active: var(--uikit-color-theme-7);--text-color-link-disabled: var(--uikit-color-theme-2);--text-color-anti-primary: var(--uikit-color-black-2);--text-color-anti-secondary: var(--uikit-color-black-4);--text-color-warning: var(--uikit-color-orange-6);--text-color-success: var(--uikit-color-green-6);--text-color-error: var(--uikit-color-red-6);--bg-color-topbar: var(--uikit-color-gray-1);--bg-color-operate: var(--uikit-color-white-1);--bg-color-dialog: var(--uikit-color-white-1);--bg-color-dialog-module: var(--uikit-color-gray-2);--bg-color-entrycard: var(--uikit-color-gray-2);--bg-color-function: var(--uikit-color-gray-2);--bg-color-bottombar: var(--uikit-color-white-1);--bg-color-input: var(--uikit-color-gray-2);--bg-color-bubble-reciprocal: var(--uikit-color-gray-2);--bg-color-bubble-own: var(--uikit-color-theme-2);--bg-color-default: var(--uikit-color-gray-2);--bg-color-tag-mask: var(--uikit-color-white-4);--bg-color-element-mask: var(--uikit-color-black-6);--bg-color-mask: var(--uikit-color-black-4);--bg-color-mask-disappeared: var(--uikit-color-white-7);--bg-color-mask-begin: var(--uikit-color-white-1);--stroke-color-primary: var(--uikit-color-gray-3);--stroke-color-secondary: var(--uikit-color-gray-2);--stroke-color-module: var(--uikit-color-gray-3);--shadow-color: var(--uikit-color-black-8);--list-color-default: var(--uikit-color-white-1);--list-color-hover: var(--uikit-color-gray-1);--list-color-focused: var(--uikit-color-theme-1);--button-color-primary-default: var(--uikit-color-theme-6);--button-color-primary-hover: var(--uikit-color-theme-5);--button-color-primary-active: var(--uikit-color-theme-7);--button-color-primary-disabled: var(--uikit-color-theme-2);--button-color-secondary-default: var(--uikit-color-gray-2);--button-color-secondary-hover: var(--uikit-color-gray-1);--button-color-secondary-active: var(--uikit-color-gray-3);--button-color-secondary-disabled: var(--uikit-color-gray-1);--button-color-accept: var(--uikit-color-green-6);--button-color-hangup: var(--uikit-color-red-6);--button-color-on: var(--uikit-color-white-1);--button-color-off: var(--uikit-color-black-5);--dropdown-color-default: var(--uikit-color-white-1);--dropdown-color-hover: var(--uikit-color-gray-1);--dropdown-color-active: var(--uikit-color-theme-2);--scroll-bar-color-default: var(--uikit-color-black-7);--scroll-bar-color-hover: var(--uikit-color-black-6);--floating-color-default: var(--uikit-color-white-1);--floating-color-operate: var(--uikit-color-gray-2);--checkbox-color-selected: var(--uikit-color-theme-6);--toast-color-warning: var(--uikit-color-orange-1);--toast-color-success: var(--uikit-color-green-1);--toast-color-error: var(--uikit-color-red-1);--toast-color-default: var(--uikit-color-theme-1);--switch-color-off: var(--uikit-color-gray-4);--switch-color-on: var(--uikit-color-theme-6);--switch-color-button: var(--uikit-color-white-1);--slider-color-filled: var(--uikit-color-theme-6);--slider-color-empty: var(--uikit-color-gray-3);--slider-color-button: var(--uikit-color-white-1);--tab-color-selected: var(--uikit-color-theme-2);--tab-color-unselected: var(--uikit-color-gray-2);--tab-color-option: var(--uikit-color-gray-3)}.uikit-theme-context[data-v-760f1a5e]{width:100%;height:100%}
|
@@ -0,0 +1,167 @@
|
|
1
|
+
.tui-theme-dark {
|
2
|
+
--uikit-color-theme-1: #1C2333;
|
3
|
+
--uikit-color-theme-2: #243047;
|
4
|
+
--uikit-color-theme-3: #2F4875;
|
5
|
+
--uikit-color-theme-4: #305BA6;
|
6
|
+
--uikit-color-theme-5: #2B6AD6;
|
7
|
+
--uikit-color-theme-6: #4086FF;
|
8
|
+
--uikit-color-theme-7: #5C9DFF;
|
9
|
+
--uikit-color-theme-8: #78B0FF;
|
10
|
+
--uikit-color-theme-9: #9CC7FF;
|
11
|
+
--uikit-color-theme-10: #C2DEFF;
|
12
|
+
|
13
|
+
--uikit-color-black-1: rgba(0, 0, 0, 100%);
|
14
|
+
--uikit-color-black-2: rgba(0, 0, 0, 90%);
|
15
|
+
--uikit-color-black-3: rgba(0, 0, 0, 72%);
|
16
|
+
--uikit-color-black-4: rgba(0, 0, 0, 55%);
|
17
|
+
--uikit-color-black-5: rgba(0, 0, 0, 40%);
|
18
|
+
--uikit-color-black-6: rgba(0, 0, 0, 25%);
|
19
|
+
--uikit-color-black-7: rgba(0, 0, 0, 12%);
|
20
|
+
--uikit-color-black-8: rgba(0, 0, 0, 6%);
|
21
|
+
--uikit-color-white-1: rgba(255, 255, 255, 100%);
|
22
|
+
--uikit-color-white-2: rgba(255, 255, 255, 93%);
|
23
|
+
--uikit-color-white-3: rgba(255, 255, 255, 75%);
|
24
|
+
--uikit-color-white-4: rgba(255, 255, 255, 55%);
|
25
|
+
--uikit-color-white-5: rgba(255, 255, 255, 42%);
|
26
|
+
--uikit-color-white-6: rgba(255, 255, 255, 30%);
|
27
|
+
--uikit-color-white-7: rgba(255, 255, 255, 14%);
|
28
|
+
--uikit-color-gray-1: #131417;
|
29
|
+
--uikit-color-gray-2: #1F2024;
|
30
|
+
--uikit-color-gray-3: #2B2C30;
|
31
|
+
--uikit-color-gray-4: #3A3C42;
|
32
|
+
--uikit-color-gray-5: #48494F;
|
33
|
+
--uikit-color-gray-6: #54565C;
|
34
|
+
--uikit-color-gray-7: #676A70;
|
35
|
+
--uikit-color-green-1: #1A2620;
|
36
|
+
--uikit-color-green-2: #22352C;
|
37
|
+
--uikit-color-green-3: #2F4F3F;
|
38
|
+
--uikit-color-green-4: #377355;
|
39
|
+
--uikit-color-green-5: #368F65;
|
40
|
+
--uikit-color-green-6: #38A673;
|
41
|
+
--uikit-color-green-7: #62B58B;
|
42
|
+
--uikit-color-green-8: #8BC7A9;
|
43
|
+
--uikit-color-green-9: #A9D4BD;
|
44
|
+
--uikit-color-green-10: #C8E5D5;
|
45
|
+
--uikit-color-red-1: #2B1C1F;
|
46
|
+
--uikit-color-red-2: #422324;
|
47
|
+
--uikit-color-red-3: #613234;
|
48
|
+
--uikit-color-red-4: #8A4242;
|
49
|
+
--uikit-color-red-5: #C2544E;
|
50
|
+
--uikit-color-red-6: #E6594C;
|
51
|
+
--uikit-color-red-7: #E57A6E;
|
52
|
+
--uikit-color-red-8: #F3A599;
|
53
|
+
--uikit-color-red-9: #FACBC3;
|
54
|
+
--uikit-color-red-10: #FAE4DE;
|
55
|
+
--uikit-color-orange-1: #211A19;
|
56
|
+
--uikit-color-orange-2: #35231A;
|
57
|
+
--uikit-color-orange-3: #462E1F;
|
58
|
+
--uikit-color-orange-4: #653C21;
|
59
|
+
--uikit-color-orange-5: #96562A;
|
60
|
+
--uikit-color-orange-6: #E37F32;
|
61
|
+
--uikit-color-orange-7: #E39552;
|
62
|
+
--uikit-color-orange-8: #EEAD72;
|
63
|
+
--uikit-color-orange-9: #F7CFA4;
|
64
|
+
--uikit-color-orange-10: #F9E9D1;
|
65
|
+
--uikit-color-transparent: rgba(255, 255, 255, 0%);
|
66
|
+
|
67
|
+
// text
|
68
|
+
--text-color-primary: var(--uikit-color-white-2);
|
69
|
+
--text-color-secondary: var(--uikit-color-white-4);
|
70
|
+
--text-color-tertiary: var(--uikit-color-white-6);
|
71
|
+
--text-color-disabled: var(--uikit-color-white-7);
|
72
|
+
--text-color-button: var(--uikit-color-white-1);
|
73
|
+
--text-color-button-disabled: var(--uikit-color-white-5);
|
74
|
+
--text-color-link: var(--uikit-color-theme-6);
|
75
|
+
--text-color-link-hover: var(--uikit-color-theme-5);
|
76
|
+
--text-color-link-active: var(--uikit-color-theme-7);
|
77
|
+
--text-color-link-disabled: var(--uikit-color-theme-2);
|
78
|
+
--text-color-anti-primary: var(--uikit-color-black-2);
|
79
|
+
--text-color-anti-secondary: var(--uikit-color-black-4);
|
80
|
+
--text-color-warning: var(--uikit-color-orange-6);
|
81
|
+
--text-color-success: var(--uikit-color-green-6);
|
82
|
+
--text-color-error: var(--uikit-color-red-6);
|
83
|
+
|
84
|
+
// background
|
85
|
+
--bg-color-topbar: var(--uikit-color-gray-1);
|
86
|
+
--bg-color-operate: var(--uikit-color-gray-2);
|
87
|
+
--bg-color-dialog: var(--uikit-color-gray-2);
|
88
|
+
--bg-color-dialog-module: var(--uikit-color-gray-3);
|
89
|
+
--bg-color-entrycard: var(--uikit-color-gray-3);
|
90
|
+
--bg-color-function: var(--uikit-color-gray-4);
|
91
|
+
--bg-color-bottombar: var(--uikit-color-gray-3);
|
92
|
+
--bg-color-input: var(--uikit-color-gray-3);
|
93
|
+
--bg-color-bubble-reciprocal: var(--uikit-color-gray-3);
|
94
|
+
--bg-color-bubble-own: var(--uikit-color-theme-7);
|
95
|
+
--bg-color-default: var(--uikit-color-gray-1);
|
96
|
+
--bg-color-tag-mask: var(--uikit-color-black-4);
|
97
|
+
--bg-color-element-mask: var(--uikit-color-black-6);
|
98
|
+
--bg-color-mask: var(--uikit-color-black-4);
|
99
|
+
--bg-color-mask-disappeared: var(--uikit-color-black-8);
|
100
|
+
--bg-color-mask-begin: var(--uikit-color-black-2);
|
101
|
+
|
102
|
+
// border
|
103
|
+
--stroke-color-primary: var(--uikit-color-gray-4);
|
104
|
+
--stroke-color-secondary: var(--uikit-color-gray-3);
|
105
|
+
--stroke-color-module: var(--uikit-color-gray-5);
|
106
|
+
|
107
|
+
// shadow
|
108
|
+
--shadow-color: var(--uikit-color-black-8);
|
109
|
+
|
110
|
+
// status
|
111
|
+
--list-color-default: var(--uikit-color-gray-2);
|
112
|
+
--list-color-hover: var(--uikit-color-gray-3);
|
113
|
+
--list-color-focused: var(--uikit-color-theme-2);
|
114
|
+
|
115
|
+
// button
|
116
|
+
--button-color-primary-default: var(--uikit-color-theme-6);
|
117
|
+
--button-color-primary-hover: var(--uikit-color-theme-5);
|
118
|
+
--button-color-primary-active: var(--uikit-color-theme-7);
|
119
|
+
--button-color-primary-disabled: var(--uikit-color-theme-2);
|
120
|
+
--button-color-secondary-default: var(--uikit-color-gray-4);
|
121
|
+
--button-color-secondary-hover: var(--uikit-color-gray-3);
|
122
|
+
--button-color-secondary-active: var(--uikit-color-gray-5);
|
123
|
+
--button-color-secondary-disabled: var(--uikit-color-gray-3);
|
124
|
+
--button-color-accept: var(--uikit-color-green-6);
|
125
|
+
--button-color-hangup: var(--uikit-color-red-6);
|
126
|
+
--button-color-on: var(--uikit-color-white-1);
|
127
|
+
--button-color-off: var(--uikit-color-black-5);
|
128
|
+
|
129
|
+
// dropdown
|
130
|
+
--dropdown-color-default: var(--uikit-color-gray-3);
|
131
|
+
--dropdown-color-hover: var(--uikit-color-gray-4);
|
132
|
+
--dropdown-color-active: var(--uikit-color-gray-2);
|
133
|
+
|
134
|
+
// scroll-bar
|
135
|
+
--scroll-bar-color-default: var(--uikit-color-white-7);
|
136
|
+
--scroll-bar-color-hover: var(--uikit-color-white-6);
|
137
|
+
|
138
|
+
// floating
|
139
|
+
--floating-color-default: var(--uikit-color-gray-3);
|
140
|
+
--floating-color-operate: var(--uikit-color-gray-4);
|
141
|
+
|
142
|
+
// checkbox
|
143
|
+
--checkbox-color-selected: var(--uikit-color-theme-5);
|
144
|
+
|
145
|
+
// toast
|
146
|
+
--toast-color-warning: var(--uikit-color-orange-2);
|
147
|
+
--toast-color-success: var(--uikit-color-green-2);
|
148
|
+
--toast-color-error: var(--uikit-color-red-2);
|
149
|
+
--toast-color-default: var(--uikit-color-theme-2);
|
150
|
+
|
151
|
+
// switch
|
152
|
+
--switch-color-off: var(--uikit-color-gray-4);
|
153
|
+
--switch-color-on: var(--uikit-color-theme-5);
|
154
|
+
--switch-color-button: var(--uikit-color-white-1);
|
155
|
+
|
156
|
+
// slider
|
157
|
+
--slider-color-filled: var(--uikit-color-theme-5);
|
158
|
+
--slider-color-empty: var(--uikit-color-gray-5);
|
159
|
+
--slider-color-button: var(--uikit-color-white-1);
|
160
|
+
|
161
|
+
// tab
|
162
|
+
--tab-color-selected: var(--uikit-color-gray-5);
|
163
|
+
--tab-color-unselected: var(--uikit-color-gray-4);
|
164
|
+
--tab-color-option: var(--uikit-color-gray-4);
|
165
|
+
|
166
|
+
// todo-tag
|
167
|
+
}
|
@@ -0,0 +1,167 @@
|
|
1
|
+
.tui-theme-light {
|
2
|
+
--uikit-color-theme-1: #EBF3FF;
|
3
|
+
--uikit-color-theme-2: #CCE2FF;
|
4
|
+
--uikit-color-theme-3: #ADCFFF;
|
5
|
+
--uikit-color-theme-4: #7AAFFF;
|
6
|
+
--uikit-color-theme-5: #4588F5;
|
7
|
+
--uikit-color-theme-6: #1C66E5;
|
8
|
+
--uikit-color-theme-7: #0D49BF;
|
9
|
+
--uikit-color-theme-8: #033099;
|
10
|
+
--uikit-color-theme-9: #001F73;
|
11
|
+
--uikit-color-theme-10: #00124D;
|
12
|
+
|
13
|
+
--uikit-color-black-1: rgba(0, 0, 0, 100%);
|
14
|
+
--uikit-color-black-2: rgba(0, 0, 0, 90%);
|
15
|
+
--uikit-color-black-3: rgba(0, 0, 0, 72%);
|
16
|
+
--uikit-color-black-4: rgba(0, 0, 0, 55%);
|
17
|
+
--uikit-color-black-5: rgba(0, 0, 0, 40%);
|
18
|
+
--uikit-color-black-6: rgba(0, 0, 0, 25%);
|
19
|
+
--uikit-color-black-7: rgba(0, 0, 0, 12%);
|
20
|
+
--uikit-color-black-8: rgba(0, 0, 0, 6%);
|
21
|
+
--uikit-color-white-1: rgba(255, 255, 255, 100%);
|
22
|
+
--uikit-color-white-2: rgba(255, 255, 255, 93%);
|
23
|
+
--uikit-color-white-3: rgba(255, 255, 255, 75%);
|
24
|
+
--uikit-color-white-4: rgba(255, 255, 255, 55%);
|
25
|
+
--uikit-color-white-5: rgba(255, 255, 255, 42%);
|
26
|
+
--uikit-color-white-6: rgba(255, 255, 255, 30%);
|
27
|
+
--uikit-color-white-7: rgba(255, 255, 255, 14%);
|
28
|
+
--uikit-color-gray-1: #F9FAFC;
|
29
|
+
--uikit-color-gray-2: #F0F2F7;
|
30
|
+
--uikit-color-gray-3: #E6E9F0;
|
31
|
+
--uikit-color-gray-4: #D1D4DE;
|
32
|
+
--uikit-color-gray-5: #C0C3CC;
|
33
|
+
--uikit-color-gray-6: #B3B6BE;
|
34
|
+
--uikit-color-gray-7: #A5A9B0;
|
35
|
+
--uikit-color-green-1: #DCFAE9;
|
36
|
+
--uikit-color-green-2: #B6F0D1;
|
37
|
+
--uikit-color-green-3: #84E3B5;
|
38
|
+
--uikit-color-green-4: #5AD69E;
|
39
|
+
--uikit-color-green-5: #3CC98C;
|
40
|
+
--uikit-color-green-6: #0ABF77;
|
41
|
+
--uikit-color-green-7: #09A768;
|
42
|
+
--uikit-color-green-8: #078F59;
|
43
|
+
--uikit-color-green-9: #067049;
|
44
|
+
--uikit-color-green-10: #044D37;
|
45
|
+
--uikit-color-red-1: #FFE7E6;
|
46
|
+
--uikit-color-red-2: #FCC9C7;
|
47
|
+
--uikit-color-red-3: #FAAEAC;
|
48
|
+
--uikit-color-red-4: #F58989;
|
49
|
+
--uikit-color-red-5: #E86666;
|
50
|
+
--uikit-color-red-6: #E54545;
|
51
|
+
--uikit-color-red-7: #C93439;
|
52
|
+
--uikit-color-red-8: #AD2934;
|
53
|
+
--uikit-color-red-9: #8F222D;
|
54
|
+
--uikit-color-red-10: #6B1A27;
|
55
|
+
--uikit-color-orange-1: #FFEEDB;
|
56
|
+
--uikit-color-orange-2: #FFD6B2;
|
57
|
+
--uikit-color-orange-3: #FFBE85;
|
58
|
+
--uikit-color-orange-4: #FFA455;
|
59
|
+
--uikit-color-orange-5: #FF8B2B;
|
60
|
+
--uikit-color-orange-6: #FF7200;
|
61
|
+
--uikit-color-orange-7: #E05D00;
|
62
|
+
--uikit-color-orange-8: #BF4900;
|
63
|
+
--uikit-color-orange-9: #8F370B;
|
64
|
+
--uikit-color-orange-10: #662200;
|
65
|
+
--uikit-color-transparent: rgba(255, 255, 255, 0%);
|
66
|
+
|
67
|
+
// text
|
68
|
+
--text-color-primary: var(--uikit-color-black-2);
|
69
|
+
--text-color-secondary: var(--uikit-color-black-4);
|
70
|
+
--text-color-tertiary: var(--uikit-color-black-5);
|
71
|
+
--text-color-disabled: var(--uikit-color-black-6);
|
72
|
+
--text-color-button: var(--uikit-color-white-1);
|
73
|
+
--text-color-button-disabled: var(--uikit-color-white-1);
|
74
|
+
--text-color-link: var(--uikit-color-theme-6);
|
75
|
+
--text-color-link-hover: var(--uikit-color-theme-5);
|
76
|
+
--text-color-link-active: var(--uikit-color-theme-7);
|
77
|
+
--text-color-link-disabled: var(--uikit-color-theme-2);
|
78
|
+
--text-color-anti-primary: var(--uikit-color-black-2);
|
79
|
+
--text-color-anti-secondary: var(--uikit-color-black-4);
|
80
|
+
--text-color-warning: var(--uikit-color-orange-6);
|
81
|
+
--text-color-success: var(--uikit-color-green-6);
|
82
|
+
--text-color-error: var(--uikit-color-red-6);
|
83
|
+
|
84
|
+
// background
|
85
|
+
--bg-color-topbar: var(--uikit-color-gray-1);
|
86
|
+
--bg-color-operate: var(--uikit-color-white-1);
|
87
|
+
--bg-color-dialog: var(--uikit-color-white-1);
|
88
|
+
--bg-color-dialog-module: var(--uikit-color-gray-2);
|
89
|
+
--bg-color-entrycard: var(--uikit-color-gray-2);
|
90
|
+
--bg-color-function: var(--uikit-color-gray-2);
|
91
|
+
--bg-color-bottombar: var(--uikit-color-white-1);
|
92
|
+
--bg-color-input: var(--uikit-color-gray-2);
|
93
|
+
--bg-color-bubble-reciprocal: var(--uikit-color-gray-2);
|
94
|
+
--bg-color-bubble-own: var(--uikit-color-theme-2);
|
95
|
+
--bg-color-default: var(--uikit-color-gray-2);
|
96
|
+
--bg-color-tag-mask: var(--uikit-color-white-4);
|
97
|
+
--bg-color-element-mask: var(--uikit-color-black-6);
|
98
|
+
--bg-color-mask: var(--uikit-color-black-4);
|
99
|
+
--bg-color-mask-disappeared: var(--uikit-color-white-7);
|
100
|
+
--bg-color-mask-begin: var(--uikit-color-white-1);
|
101
|
+
|
102
|
+
// border
|
103
|
+
--stroke-color-primary: var(--uikit-color-gray-3);
|
104
|
+
--stroke-color-secondary: var(--uikit-color-gray-2);
|
105
|
+
--stroke-color-module: var(--uikit-color-gray-3);
|
106
|
+
|
107
|
+
// shadow
|
108
|
+
--shadow-color: var(--uikit-color-black-8);
|
109
|
+
|
110
|
+
// status
|
111
|
+
--list-color-default: var(--uikit-color-white-1);
|
112
|
+
--list-color-hover: var(--uikit-color-gray-1);
|
113
|
+
--list-color-focused: var(--uikit-color-theme-1);
|
114
|
+
|
115
|
+
// button
|
116
|
+
--button-color-primary-default: var(--uikit-color-theme-6);
|
117
|
+
--button-color-primary-hover: var(--uikit-color-theme-5);
|
118
|
+
--button-color-primary-active: var(--uikit-color-theme-7);
|
119
|
+
--button-color-primary-disabled: var(--uikit-color-theme-2);
|
120
|
+
--button-color-secondary-default: var(--uikit-color-gray-2);
|
121
|
+
--button-color-secondary-hover: var(--uikit-color-gray-1);
|
122
|
+
--button-color-secondary-active: var(--uikit-color-gray-3);
|
123
|
+
--button-color-secondary-disabled: var(--uikit-color-gray-1);
|
124
|
+
--button-color-accept: var(--uikit-color-green-6);
|
125
|
+
--button-color-hangup: var(--uikit-color-red-6);
|
126
|
+
--button-color-on: var(--uikit-color-white-1);
|
127
|
+
--button-color-off: var(--uikit-color-black-5);
|
128
|
+
|
129
|
+
// dropdown
|
130
|
+
--dropdown-color-default: var(--uikit-color-white-1);
|
131
|
+
--dropdown-color-hover: var(--uikit-color-gray-1);
|
132
|
+
--dropdown-color-active: var(--uikit-color-theme-2);
|
133
|
+
|
134
|
+
// scroll-bar
|
135
|
+
--scroll-bar-color-default: var(--uikit-color-black-7);
|
136
|
+
--scroll-bar-color-hover: var(--uikit-color-black-6);
|
137
|
+
|
138
|
+
// floating
|
139
|
+
--floating-color-default: var(--uikit-color-white-1);
|
140
|
+
--floating-color-operate: var(--uikit-color-gray-2);
|
141
|
+
|
142
|
+
// checkbox
|
143
|
+
--checkbox-color-selected: var(--uikit-color-theme-6);
|
144
|
+
|
145
|
+
// toast
|
146
|
+
--toast-color-warning: var(--uikit-color-orange-1);
|
147
|
+
--toast-color-success: var(--uikit-color-green-1);
|
148
|
+
--toast-color-error: var(--uikit-color-red-1);
|
149
|
+
--toast-color-default: var(--uikit-color-theme-1);
|
150
|
+
|
151
|
+
// switch
|
152
|
+
--switch-color-off: var(--uikit-color-gray-4);
|
153
|
+
--switch-color-on: var(--uikit-color-theme-6);
|
154
|
+
--switch-color-button: var(--uikit-color-white-1);
|
155
|
+
|
156
|
+
// slider
|
157
|
+
--slider-color-filled: var(--uikit-color-theme-6);
|
158
|
+
--slider-color-empty: var(--uikit-color-gray-3);
|
159
|
+
--slider-color-button: var(--uikit-color-white-1);
|
160
|
+
|
161
|
+
// tab
|
162
|
+
--tab-color-selected: var(--uikit-color-theme-2);
|
163
|
+
--tab-color-unselected: var(--uikit-color-gray-2);
|
164
|
+
--tab-color-option: var(--uikit-color-gray-3);
|
165
|
+
|
166
|
+
// todo-tag
|
167
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
|
package/package.json
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
{
|
2
|
+
"name": "@jasperdai/uikit-base-component-uni",
|
3
|
+
"version": "0.7.0",
|
4
|
+
"type": "module",
|
5
|
+
"main": "./src/index.ts",
|
6
|
+
"scripts": {
|
7
|
+
"dev": "vite build --watch",
|
8
|
+
"build": "vite build",
|
9
|
+
"build-storybook": "storybook build",
|
10
|
+
"publish": "npm publish --access public"
|
11
|
+
},
|
12
|
+
"peerDependencies": {
|
13
|
+
"vue": "^3.4.21"
|
14
|
+
},
|
15
|
+
"devDependencies": {
|
16
|
+
"@chromatic-com/storybook": "^3.2.2",
|
17
|
+
"@originjs/vite-plugin-commonjs": "^1.0.3",
|
18
|
+
"@vitejs/plugin-vue": "^5.0.4",
|
19
|
+
"sass": "^1.72.0",
|
20
|
+
"storybook": "^8.4.4",
|
21
|
+
"typescript": "^5.5.4",
|
22
|
+
"vite": "^5.2.0",
|
23
|
+
"vite-plugin-dts": "^3.7.3",
|
24
|
+
"vue-tsc": "^2.0.6",
|
25
|
+
"glob": "^11.0.0",
|
26
|
+
"vite-plugin-lib-inject-css": "^2.1.1",
|
27
|
+
"vite-plugin-static-copy": "^2.2.0"
|
28
|
+
}
|
29
|
+
}
|
package/src/index.ts
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
<template>
|
2
|
+
<div :class="['uikit-theme-context', uikitThemeClass]">
|
3
|
+
<slot></slot>
|
4
|
+
</div>
|
5
|
+
</template>
|
6
|
+
|
7
|
+
<script setup lang="ts">
|
8
|
+
import { useTheme } from './useThemeProvider';
|
9
|
+
import '../../styles/variables.scss';
|
10
|
+
|
11
|
+
const props = withDefaults(defineProps<{
|
12
|
+
theme?: string;
|
13
|
+
}>(), {
|
14
|
+
theme: 'light',
|
15
|
+
});
|
16
|
+
|
17
|
+
const { setTheme, uikitThemeClass } = useTheme();
|
18
|
+
|
19
|
+
setTheme(props.theme);
|
20
|
+
</script>
|
21
|
+
|
22
|
+
<style lang="scss" scoped>
|
23
|
+
.uikit-theme-context {
|
24
|
+
width: 100%;
|
25
|
+
height: 100%;
|
26
|
+
}
|
27
|
+
</style>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import { ref, computed } from 'vue';
|
2
|
+
|
3
|
+
const theme = ref('');
|
4
|
+
const supportedThemes = ['light', 'dark'];
|
5
|
+
const uikitThemeClass = computed(() => `tui-theme-${theme.value}`);
|
6
|
+
|
7
|
+
export function useTheme() {
|
8
|
+
function setTheme(newTheme: string): void {
|
9
|
+
if (supportedThemes.includes(newTheme)) {
|
10
|
+
theme.value = newTheme;
|
11
|
+
} else {
|
12
|
+
throw new Error(`Theme "${newTheme}" is not supported. Supported themes: [${supportedThemes.join(', ')}]`);
|
13
|
+
}
|
14
|
+
}
|
15
|
+
|
16
|
+
return {
|
17
|
+
theme,
|
18
|
+
setTheme,
|
19
|
+
uikitThemeClass,
|
20
|
+
}
|
21
|
+
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<template>
|
2
|
+
<ThemeProvider :theme="props.theme">
|
3
|
+
<slot></slot>
|
4
|
+
</ThemeProvider>
|
5
|
+
</template>
|
6
|
+
|
7
|
+
<script setup lang="ts">
|
8
|
+
import { withDefaults } from 'vue';
|
9
|
+
import ThemeProvider from '../ThemeProvider/ThemeProvider.vue';
|
10
|
+
|
11
|
+
const props = withDefaults(defineProps<{
|
12
|
+
theme?: string;
|
13
|
+
}>(), {
|
14
|
+
theme: 'light',
|
15
|
+
});
|
16
|
+
</script>
|
@@ -0,0 +1,167 @@
|
|
1
|
+
.tui-theme-dark {
|
2
|
+
--uikit-color-theme-1: #1C2333;
|
3
|
+
--uikit-color-theme-2: #243047;
|
4
|
+
--uikit-color-theme-3: #2F4875;
|
5
|
+
--uikit-color-theme-4: #305BA6;
|
6
|
+
--uikit-color-theme-5: #2B6AD6;
|
7
|
+
--uikit-color-theme-6: #4086FF;
|
8
|
+
--uikit-color-theme-7: #5C9DFF;
|
9
|
+
--uikit-color-theme-8: #78B0FF;
|
10
|
+
--uikit-color-theme-9: #9CC7FF;
|
11
|
+
--uikit-color-theme-10: #C2DEFF;
|
12
|
+
|
13
|
+
--uikit-color-black-1: rgba(0, 0, 0, 100%);
|
14
|
+
--uikit-color-black-2: rgba(0, 0, 0, 90%);
|
15
|
+
--uikit-color-black-3: rgba(0, 0, 0, 72%);
|
16
|
+
--uikit-color-black-4: rgba(0, 0, 0, 55%);
|
17
|
+
--uikit-color-black-5: rgba(0, 0, 0, 40%);
|
18
|
+
--uikit-color-black-6: rgba(0, 0, 0, 25%);
|
19
|
+
--uikit-color-black-7: rgba(0, 0, 0, 12%);
|
20
|
+
--uikit-color-black-8: rgba(0, 0, 0, 6%);
|
21
|
+
--uikit-color-white-1: rgba(255, 255, 255, 100%);
|
22
|
+
--uikit-color-white-2: rgba(255, 255, 255, 93%);
|
23
|
+
--uikit-color-white-3: rgba(255, 255, 255, 75%);
|
24
|
+
--uikit-color-white-4: rgba(255, 255, 255, 55%);
|
25
|
+
--uikit-color-white-5: rgba(255, 255, 255, 42%);
|
26
|
+
--uikit-color-white-6: rgba(255, 255, 255, 30%);
|
27
|
+
--uikit-color-white-7: rgba(255, 255, 255, 14%);
|
28
|
+
--uikit-color-gray-1: #131417;
|
29
|
+
--uikit-color-gray-2: #1F2024;
|
30
|
+
--uikit-color-gray-3: #2B2C30;
|
31
|
+
--uikit-color-gray-4: #3A3C42;
|
32
|
+
--uikit-color-gray-5: #48494F;
|
33
|
+
--uikit-color-gray-6: #54565C;
|
34
|
+
--uikit-color-gray-7: #676A70;
|
35
|
+
--uikit-color-green-1: #1A2620;
|
36
|
+
--uikit-color-green-2: #22352C;
|
37
|
+
--uikit-color-green-3: #2F4F3F;
|
38
|
+
--uikit-color-green-4: #377355;
|
39
|
+
--uikit-color-green-5: #368F65;
|
40
|
+
--uikit-color-green-6: #38A673;
|
41
|
+
--uikit-color-green-7: #62B58B;
|
42
|
+
--uikit-color-green-8: #8BC7A9;
|
43
|
+
--uikit-color-green-9: #A9D4BD;
|
44
|
+
--uikit-color-green-10: #C8E5D5;
|
45
|
+
--uikit-color-red-1: #2B1C1F;
|
46
|
+
--uikit-color-red-2: #422324;
|
47
|
+
--uikit-color-red-3: #613234;
|
48
|
+
--uikit-color-red-4: #8A4242;
|
49
|
+
--uikit-color-red-5: #C2544E;
|
50
|
+
--uikit-color-red-6: #E6594C;
|
51
|
+
--uikit-color-red-7: #E57A6E;
|
52
|
+
--uikit-color-red-8: #F3A599;
|
53
|
+
--uikit-color-red-9: #FACBC3;
|
54
|
+
--uikit-color-red-10: #FAE4DE;
|
55
|
+
--uikit-color-orange-1: #211A19;
|
56
|
+
--uikit-color-orange-2: #35231A;
|
57
|
+
--uikit-color-orange-3: #462E1F;
|
58
|
+
--uikit-color-orange-4: #653C21;
|
59
|
+
--uikit-color-orange-5: #96562A;
|
60
|
+
--uikit-color-orange-6: #E37F32;
|
61
|
+
--uikit-color-orange-7: #E39552;
|
62
|
+
--uikit-color-orange-8: #EEAD72;
|
63
|
+
--uikit-color-orange-9: #F7CFA4;
|
64
|
+
--uikit-color-orange-10: #F9E9D1;
|
65
|
+
--uikit-color-transparent: rgba(255, 255, 255, 0%);
|
66
|
+
|
67
|
+
// text
|
68
|
+
--text-color-primary: var(--uikit-color-white-2);
|
69
|
+
--text-color-secondary: var(--uikit-color-white-4);
|
70
|
+
--text-color-tertiary: var(--uikit-color-white-6);
|
71
|
+
--text-color-disabled: var(--uikit-color-white-7);
|
72
|
+
--text-color-button: var(--uikit-color-white-1);
|
73
|
+
--text-color-button-disabled: var(--uikit-color-white-5);
|
74
|
+
--text-color-link: var(--uikit-color-theme-6);
|
75
|
+
--text-color-link-hover: var(--uikit-color-theme-5);
|
76
|
+
--text-color-link-active: var(--uikit-color-theme-7);
|
77
|
+
--text-color-link-disabled: var(--uikit-color-theme-2);
|
78
|
+
--text-color-anti-primary: var(--uikit-color-black-2);
|
79
|
+
--text-color-anti-secondary: var(--uikit-color-black-4);
|
80
|
+
--text-color-warning: var(--uikit-color-orange-6);
|
81
|
+
--text-color-success: var(--uikit-color-green-6);
|
82
|
+
--text-color-error: var(--uikit-color-red-6);
|
83
|
+
|
84
|
+
// background
|
85
|
+
--bg-color-topbar: var(--uikit-color-gray-1);
|
86
|
+
--bg-color-operate: var(--uikit-color-gray-2);
|
87
|
+
--bg-color-dialog: var(--uikit-color-gray-2);
|
88
|
+
--bg-color-dialog-module: var(--uikit-color-gray-3);
|
89
|
+
--bg-color-entrycard: var(--uikit-color-gray-3);
|
90
|
+
--bg-color-function: var(--uikit-color-gray-4);
|
91
|
+
--bg-color-bottombar: var(--uikit-color-gray-3);
|
92
|
+
--bg-color-input: var(--uikit-color-gray-3);
|
93
|
+
--bg-color-bubble-reciprocal: var(--uikit-color-gray-3);
|
94
|
+
--bg-color-bubble-own: var(--uikit-color-theme-7);
|
95
|
+
--bg-color-default: var(--uikit-color-gray-1);
|
96
|
+
--bg-color-tag-mask: var(--uikit-color-black-4);
|
97
|
+
--bg-color-element-mask: var(--uikit-color-black-6);
|
98
|
+
--bg-color-mask: var(--uikit-color-black-4);
|
99
|
+
--bg-color-mask-disappeared: var(--uikit-color-black-8);
|
100
|
+
--bg-color-mask-begin: var(--uikit-color-black-2);
|
101
|
+
|
102
|
+
// border
|
103
|
+
--stroke-color-primary: var(--uikit-color-gray-4);
|
104
|
+
--stroke-color-secondary: var(--uikit-color-gray-3);
|
105
|
+
--stroke-color-module: var(--uikit-color-gray-5);
|
106
|
+
|
107
|
+
// shadow
|
108
|
+
--shadow-color: var(--uikit-color-black-8);
|
109
|
+
|
110
|
+
// status
|
111
|
+
--list-color-default: var(--uikit-color-gray-2);
|
112
|
+
--list-color-hover: var(--uikit-color-gray-3);
|
113
|
+
--list-color-focused: var(--uikit-color-theme-2);
|
114
|
+
|
115
|
+
// button
|
116
|
+
--button-color-primary-default: var(--uikit-color-theme-6);
|
117
|
+
--button-color-primary-hover: var(--uikit-color-theme-5);
|
118
|
+
--button-color-primary-active: var(--uikit-color-theme-7);
|
119
|
+
--button-color-primary-disabled: var(--uikit-color-theme-2);
|
120
|
+
--button-color-secondary-default: var(--uikit-color-gray-4);
|
121
|
+
--button-color-secondary-hover: var(--uikit-color-gray-3);
|
122
|
+
--button-color-secondary-active: var(--uikit-color-gray-5);
|
123
|
+
--button-color-secondary-disabled: var(--uikit-color-gray-3);
|
124
|
+
--button-color-accept: var(--uikit-color-green-6);
|
125
|
+
--button-color-hangup: var(--uikit-color-red-6);
|
126
|
+
--button-color-on: var(--uikit-color-white-1);
|
127
|
+
--button-color-off: var(--uikit-color-black-5);
|
128
|
+
|
129
|
+
// dropdown
|
130
|
+
--dropdown-color-default: var(--uikit-color-gray-3);
|
131
|
+
--dropdown-color-hover: var(--uikit-color-gray-4);
|
132
|
+
--dropdown-color-active: var(--uikit-color-gray-2);
|
133
|
+
|
134
|
+
// scroll-bar
|
135
|
+
--scroll-bar-color-default: var(--uikit-color-white-7);
|
136
|
+
--scroll-bar-color-hover: var(--uikit-color-white-6);
|
137
|
+
|
138
|
+
// floating
|
139
|
+
--floating-color-default: var(--uikit-color-gray-3);
|
140
|
+
--floating-color-operate: var(--uikit-color-gray-4);
|
141
|
+
|
142
|
+
// checkbox
|
143
|
+
--checkbox-color-selected: var(--uikit-color-theme-5);
|
144
|
+
|
145
|
+
// toast
|
146
|
+
--toast-color-warning: var(--uikit-color-orange-2);
|
147
|
+
--toast-color-success: var(--uikit-color-green-2);
|
148
|
+
--toast-color-error: var(--uikit-color-red-2);
|
149
|
+
--toast-color-default: var(--uikit-color-theme-2);
|
150
|
+
|
151
|
+
// switch
|
152
|
+
--switch-color-off: var(--uikit-color-gray-4);
|
153
|
+
--switch-color-on: var(--uikit-color-theme-5);
|
154
|
+
--switch-color-button: var(--uikit-color-white-1);
|
155
|
+
|
156
|
+
// slider
|
157
|
+
--slider-color-filled: var(--uikit-color-theme-5);
|
158
|
+
--slider-color-empty: var(--uikit-color-gray-5);
|
159
|
+
--slider-color-button: var(--uikit-color-white-1);
|
160
|
+
|
161
|
+
// tab
|
162
|
+
--tab-color-selected: var(--uikit-color-gray-5);
|
163
|
+
--tab-color-unselected: var(--uikit-color-gray-4);
|
164
|
+
--tab-color-option: var(--uikit-color-gray-4);
|
165
|
+
|
166
|
+
// todo-tag
|
167
|
+
}
|
@@ -0,0 +1,167 @@
|
|
1
|
+
.tui-theme-light {
|
2
|
+
--uikit-color-theme-1: #EBF3FF;
|
3
|
+
--uikit-color-theme-2: #CCE2FF;
|
4
|
+
--uikit-color-theme-3: #ADCFFF;
|
5
|
+
--uikit-color-theme-4: #7AAFFF;
|
6
|
+
--uikit-color-theme-5: #4588F5;
|
7
|
+
--uikit-color-theme-6: #1C66E5;
|
8
|
+
--uikit-color-theme-7: #0D49BF;
|
9
|
+
--uikit-color-theme-8: #033099;
|
10
|
+
--uikit-color-theme-9: #001F73;
|
11
|
+
--uikit-color-theme-10: #00124D;
|
12
|
+
|
13
|
+
--uikit-color-black-1: rgba(0, 0, 0, 100%);
|
14
|
+
--uikit-color-black-2: rgba(0, 0, 0, 90%);
|
15
|
+
--uikit-color-black-3: rgba(0, 0, 0, 72%);
|
16
|
+
--uikit-color-black-4: rgba(0, 0, 0, 55%);
|
17
|
+
--uikit-color-black-5: rgba(0, 0, 0, 40%);
|
18
|
+
--uikit-color-black-6: rgba(0, 0, 0, 25%);
|
19
|
+
--uikit-color-black-7: rgba(0, 0, 0, 12%);
|
20
|
+
--uikit-color-black-8: rgba(0, 0, 0, 6%);
|
21
|
+
--uikit-color-white-1: rgba(255, 255, 255, 100%);
|
22
|
+
--uikit-color-white-2: rgba(255, 255, 255, 93%);
|
23
|
+
--uikit-color-white-3: rgba(255, 255, 255, 75%);
|
24
|
+
--uikit-color-white-4: rgba(255, 255, 255, 55%);
|
25
|
+
--uikit-color-white-5: rgba(255, 255, 255, 42%);
|
26
|
+
--uikit-color-white-6: rgba(255, 255, 255, 30%);
|
27
|
+
--uikit-color-white-7: rgba(255, 255, 255, 14%);
|
28
|
+
--uikit-color-gray-1: #F9FAFC;
|
29
|
+
--uikit-color-gray-2: #F0F2F7;
|
30
|
+
--uikit-color-gray-3: #E6E9F0;
|
31
|
+
--uikit-color-gray-4: #D1D4DE;
|
32
|
+
--uikit-color-gray-5: #C0C3CC;
|
33
|
+
--uikit-color-gray-6: #B3B6BE;
|
34
|
+
--uikit-color-gray-7: #A5A9B0;
|
35
|
+
--uikit-color-green-1: #DCFAE9;
|
36
|
+
--uikit-color-green-2: #B6F0D1;
|
37
|
+
--uikit-color-green-3: #84E3B5;
|
38
|
+
--uikit-color-green-4: #5AD69E;
|
39
|
+
--uikit-color-green-5: #3CC98C;
|
40
|
+
--uikit-color-green-6: #0ABF77;
|
41
|
+
--uikit-color-green-7: #09A768;
|
42
|
+
--uikit-color-green-8: #078F59;
|
43
|
+
--uikit-color-green-9: #067049;
|
44
|
+
--uikit-color-green-10: #044D37;
|
45
|
+
--uikit-color-red-1: #FFE7E6;
|
46
|
+
--uikit-color-red-2: #FCC9C7;
|
47
|
+
--uikit-color-red-3: #FAAEAC;
|
48
|
+
--uikit-color-red-4: #F58989;
|
49
|
+
--uikit-color-red-5: #E86666;
|
50
|
+
--uikit-color-red-6: #E54545;
|
51
|
+
--uikit-color-red-7: #C93439;
|
52
|
+
--uikit-color-red-8: #AD2934;
|
53
|
+
--uikit-color-red-9: #8F222D;
|
54
|
+
--uikit-color-red-10: #6B1A27;
|
55
|
+
--uikit-color-orange-1: #FFEEDB;
|
56
|
+
--uikit-color-orange-2: #FFD6B2;
|
57
|
+
--uikit-color-orange-3: #FFBE85;
|
58
|
+
--uikit-color-orange-4: #FFA455;
|
59
|
+
--uikit-color-orange-5: #FF8B2B;
|
60
|
+
--uikit-color-orange-6: #FF7200;
|
61
|
+
--uikit-color-orange-7: #E05D00;
|
62
|
+
--uikit-color-orange-8: #BF4900;
|
63
|
+
--uikit-color-orange-9: #8F370B;
|
64
|
+
--uikit-color-orange-10: #662200;
|
65
|
+
--uikit-color-transparent: rgba(255, 255, 255, 0%);
|
66
|
+
|
67
|
+
// text
|
68
|
+
--text-color-primary: var(--uikit-color-black-2);
|
69
|
+
--text-color-secondary: var(--uikit-color-black-4);
|
70
|
+
--text-color-tertiary: var(--uikit-color-black-5);
|
71
|
+
--text-color-disabled: var(--uikit-color-black-6);
|
72
|
+
--text-color-button: var(--uikit-color-white-1);
|
73
|
+
--text-color-button-disabled: var(--uikit-color-white-1);
|
74
|
+
--text-color-link: var(--uikit-color-theme-6);
|
75
|
+
--text-color-link-hover: var(--uikit-color-theme-5);
|
76
|
+
--text-color-link-active: var(--uikit-color-theme-7);
|
77
|
+
--text-color-link-disabled: var(--uikit-color-theme-2);
|
78
|
+
--text-color-anti-primary: var(--uikit-color-black-2);
|
79
|
+
--text-color-anti-secondary: var(--uikit-color-black-4);
|
80
|
+
--text-color-warning: var(--uikit-color-orange-6);
|
81
|
+
--text-color-success: var(--uikit-color-green-6);
|
82
|
+
--text-color-error: var(--uikit-color-red-6);
|
83
|
+
|
84
|
+
// background
|
85
|
+
--bg-color-topbar: var(--uikit-color-gray-1);
|
86
|
+
--bg-color-operate: var(--uikit-color-white-1);
|
87
|
+
--bg-color-dialog: var(--uikit-color-white-1);
|
88
|
+
--bg-color-dialog-module: var(--uikit-color-gray-2);
|
89
|
+
--bg-color-entrycard: var(--uikit-color-gray-2);
|
90
|
+
--bg-color-function: var(--uikit-color-gray-2);
|
91
|
+
--bg-color-bottombar: var(--uikit-color-white-1);
|
92
|
+
--bg-color-input: var(--uikit-color-gray-2);
|
93
|
+
--bg-color-bubble-reciprocal: var(--uikit-color-gray-2);
|
94
|
+
--bg-color-bubble-own: var(--uikit-color-theme-2);
|
95
|
+
--bg-color-default: var(--uikit-color-gray-2);
|
96
|
+
--bg-color-tag-mask: var(--uikit-color-white-4);
|
97
|
+
--bg-color-element-mask: var(--uikit-color-black-6);
|
98
|
+
--bg-color-mask: var(--uikit-color-black-4);
|
99
|
+
--bg-color-mask-disappeared: var(--uikit-color-white-7);
|
100
|
+
--bg-color-mask-begin: var(--uikit-color-white-1);
|
101
|
+
|
102
|
+
// border
|
103
|
+
--stroke-color-primary: var(--uikit-color-gray-3);
|
104
|
+
--stroke-color-secondary: var(--uikit-color-gray-2);
|
105
|
+
--stroke-color-module: var(--uikit-color-gray-3);
|
106
|
+
|
107
|
+
// shadow
|
108
|
+
--shadow-color: var(--uikit-color-black-8);
|
109
|
+
|
110
|
+
// status
|
111
|
+
--list-color-default: var(--uikit-color-white-1);
|
112
|
+
--list-color-hover: var(--uikit-color-gray-1);
|
113
|
+
--list-color-focused: var(--uikit-color-theme-1);
|
114
|
+
|
115
|
+
// button
|
116
|
+
--button-color-primary-default: var(--uikit-color-theme-6);
|
117
|
+
--button-color-primary-hover: var(--uikit-color-theme-5);
|
118
|
+
--button-color-primary-active: var(--uikit-color-theme-7);
|
119
|
+
--button-color-primary-disabled: var(--uikit-color-theme-2);
|
120
|
+
--button-color-secondary-default: var(--uikit-color-gray-2);
|
121
|
+
--button-color-secondary-hover: var(--uikit-color-gray-1);
|
122
|
+
--button-color-secondary-active: var(--uikit-color-gray-3);
|
123
|
+
--button-color-secondary-disabled: var(--uikit-color-gray-1);
|
124
|
+
--button-color-accept: var(--uikit-color-green-6);
|
125
|
+
--button-color-hangup: var(--uikit-color-red-6);
|
126
|
+
--button-color-on: var(--uikit-color-white-1);
|
127
|
+
--button-color-off: var(--uikit-color-black-5);
|
128
|
+
|
129
|
+
// dropdown
|
130
|
+
--dropdown-color-default: var(--uikit-color-white-1);
|
131
|
+
--dropdown-color-hover: var(--uikit-color-gray-1);
|
132
|
+
--dropdown-color-active: var(--uikit-color-theme-2);
|
133
|
+
|
134
|
+
// scroll-bar
|
135
|
+
--scroll-bar-color-default: var(--uikit-color-black-7);
|
136
|
+
--scroll-bar-color-hover: var(--uikit-color-black-6);
|
137
|
+
|
138
|
+
// floating
|
139
|
+
--floating-color-default: var(--uikit-color-white-1);
|
140
|
+
--floating-color-operate: var(--uikit-color-gray-2);
|
141
|
+
|
142
|
+
// checkbox
|
143
|
+
--checkbox-color-selected: var(--uikit-color-theme-6);
|
144
|
+
|
145
|
+
// toast
|
146
|
+
--toast-color-warning: var(--uikit-color-orange-1);
|
147
|
+
--toast-color-success: var(--uikit-color-green-1);
|
148
|
+
--toast-color-error: var(--uikit-color-red-1);
|
149
|
+
--toast-color-default: var(--uikit-color-theme-1);
|
150
|
+
|
151
|
+
// switch
|
152
|
+
--switch-color-off: var(--uikit-color-gray-4);
|
153
|
+
--switch-color-on: var(--uikit-color-theme-6);
|
154
|
+
--switch-color-button: var(--uikit-color-white-1);
|
155
|
+
|
156
|
+
// slider
|
157
|
+
--slider-color-filled: var(--uikit-color-theme-6);
|
158
|
+
--slider-color-empty: var(--uikit-color-gray-3);
|
159
|
+
--slider-color-button: var(--uikit-color-white-1);
|
160
|
+
|
161
|
+
// tab
|
162
|
+
--tab-color-selected: var(--uikit-color-theme-2);
|
163
|
+
--tab-color-unselected: var(--uikit-color-gray-2);
|
164
|
+
--tab-color-option: var(--uikit-color-gray-3);
|
165
|
+
|
166
|
+
// todo-tag
|
167
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
// / <reference types="vite/client" />
|
package/tsconfig.json
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
{
|
2
|
+
"compilerOptions": {
|
3
|
+
"target": "ES2020",
|
4
|
+
"useDefineForClassFields": true,
|
5
|
+
"module": "ESNext",
|
6
|
+
"lib": ["ES2020", "DOM", "DOM.Iterable"],
|
7
|
+
"skipLibCheck": true,
|
8
|
+
|
9
|
+
/* Bundler mode */
|
10
|
+
"moduleResolution": "bundler",
|
11
|
+
"allowImportingTsExtensions": true,
|
12
|
+
"resolveJsonModule": true,
|
13
|
+
"isolatedModules": true,
|
14
|
+
"noEmit": true,
|
15
|
+
"jsx": "preserve",
|
16
|
+
|
17
|
+
/* Linting */
|
18
|
+
"strict": true,
|
19
|
+
"noUnusedLocals": true,
|
20
|
+
"noUnusedParameters": true,
|
21
|
+
"noFallthroughCasesInSwitch": true
|
22
|
+
},
|
23
|
+
"include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"],
|
24
|
+
"references": [{ "path": "./tsconfig.node.json" }]
|
25
|
+
}
|
package/vite.config.ts
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
import { extname, relative, resolve } from 'path';
|
2
|
+
import { fileURLToPath } from 'node:url';
|
3
|
+
import { glob } from 'glob';
|
4
|
+
import { defineConfig } from 'vite';
|
5
|
+
import dts from 'vite-plugin-dts';
|
6
|
+
import vue from '@vitejs/plugin-vue';
|
7
|
+
import { viteStaticCopy } from 'vite-plugin-static-copy';
|
8
|
+
import { peerDependencies } from './package.json';
|
9
|
+
|
10
|
+
export default defineConfig({
|
11
|
+
resolve: {
|
12
|
+
alias: {
|
13
|
+
'@': resolve(__dirname, '/src'),
|
14
|
+
},
|
15
|
+
},
|
16
|
+
build: {
|
17
|
+
lib: {
|
18
|
+
entry: resolve(__dirname, 'src/index.ts'),
|
19
|
+
formats: ['es'],
|
20
|
+
},
|
21
|
+
rollupOptions: {
|
22
|
+
external: [
|
23
|
+
...Object.keys(peerDependencies),
|
24
|
+
],
|
25
|
+
input: getInputEntries(),
|
26
|
+
output: {
|
27
|
+
assetFileNames: 'styles/index[extname]',
|
28
|
+
entryFileNames: '[name].js',
|
29
|
+
},
|
30
|
+
},
|
31
|
+
},
|
32
|
+
plugins: [
|
33
|
+
vue(),
|
34
|
+
dts({
|
35
|
+
include: ['src/**/*.ts', 'src/**/*.vue'],
|
36
|
+
}),
|
37
|
+
viteStaticCopy({
|
38
|
+
targets: [
|
39
|
+
{
|
40
|
+
src: './src/providers/UIKitProvider/styles',
|
41
|
+
dest: 'styles',
|
42
|
+
},
|
43
|
+
],
|
44
|
+
}),
|
45
|
+
],
|
46
|
+
css: {
|
47
|
+
preprocessorOptions: {
|
48
|
+
scss: {
|
49
|
+
api: 'modern-compiler',
|
50
|
+
},
|
51
|
+
},
|
52
|
+
},
|
53
|
+
});
|
54
|
+
|
55
|
+
function getInputEntries() {
|
56
|
+
const inputEntries = Object.fromEntries(
|
57
|
+
glob.sync('src/**/*.{ts,vue}', {}).map(file => [
|
58
|
+
relative(
|
59
|
+
'src',
|
60
|
+
file.slice(0, file.length - extname(file).length),
|
61
|
+
),
|
62
|
+
fileURLToPath(new URL(file, import.meta.url)),
|
63
|
+
]),
|
64
|
+
);
|
65
|
+
return inputEntries;
|
66
|
+
}
|