@xunsworld/element 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,48 @@
1
+ # v-element
2
+
3
+ This template should help get you started developing with Vue 3 in Vite.
4
+
5
+ ## Recommended IDE Setup
6
+
7
+ [VS Code](https://code.visualstudio.com/) + [Vue (Official)](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur).
8
+
9
+ ## Recommended Browser Setup
10
+
11
+ - Chromium-based browsers (Chrome, Edge, Brave, etc.):
12
+ - [Vue.js devtools](https://chromewebstore.google.com/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd)
13
+ - [Turn on Custom Object Formatter in Chrome DevTools](http://bit.ly/object-formatters)
14
+ - Firefox:
15
+ - [Vue.js devtools](https://addons.mozilla.org/en-US/firefox/addon/vue-js-devtools/)
16
+ - [Turn on Custom Object Formatter in Firefox DevTools](https://fxdx.dev/firefox-devtools-custom-object-formatters/)
17
+
18
+ ## Type Support for `.vue` Imports in TS
19
+
20
+ TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) to make the TypeScript language service aware of `.vue` types.
21
+
22
+ ## Customize configuration
23
+
24
+ See [Vite Configuration Reference](https://vite.dev/config/).
25
+
26
+ ## Project Setup
27
+
28
+ ```sh
29
+ npm install
30
+ ```
31
+
32
+ ### Compile and Hot-Reload for Development
33
+
34
+ ```sh
35
+ npm run dev
36
+ ```
37
+
38
+ ### Type-Check, Compile and Minify for Production
39
+
40
+ ```sh
41
+ npm run build
42
+ ```
43
+
44
+ ### Lint with [ESLint](https://eslint.org/)
45
+
46
+ ```sh
47
+ npm run lint
48
+ ```
Binary file
@@ -0,0 +1,57 @@
1
+ import { defineComponent as a, ref as i, createElementBlock as s, openBlock as c, normalizeClass as u, createElementVNode as d, renderSlot as f } from "vue";
2
+ const r = ["type", "autofocus", "disabled"], y = a({
3
+ name: "VkButton"
4
+ }), n = /* @__PURE__ */ a({
5
+ ...y,
6
+ props: {
7
+ type: {},
8
+ size: {},
9
+ plain: { type: Boolean },
10
+ round: { type: Boolean },
11
+ circle: { type: Boolean },
12
+ disabled: { type: Boolean },
13
+ nativeType: { default: "button" },
14
+ autofocus: { type: Boolean },
15
+ icon: {},
16
+ loading: { type: Boolean }
17
+ },
18
+ setup(e, { expose: t }) {
19
+ const o = i();
20
+ return t({
21
+ ref: o
22
+ }), (l, B) => (c(), s("button", {
23
+ ref_key: "_ref",
24
+ ref: o,
25
+ type: e.nativeType,
26
+ autofocus: e.autofocus,
27
+ class: u(["vk-button", {
28
+ [`vk-button--${e.type}`]: e.type,
29
+ [`vk-button--${e.size}`]: e.size,
30
+ "is-plain": e.plain,
31
+ "is-round": e.round,
32
+ "is-circle": e.circle,
33
+ "is-disabled": e.disabled
34
+ }]),
35
+ disabled: e.disabled
36
+ }, [
37
+ d("span", null, [
38
+ f(l.$slots, "default")
39
+ ])
40
+ ], 10, r));
41
+ }
42
+ });
43
+ n.install = (e) => {
44
+ e.component(n.name, n);
45
+ };
46
+ const m = [n], b = (e) => {
47
+ m.forEach((t) => {
48
+ e.component(t.name, t);
49
+ });
50
+ }, p = {
51
+ install: b
52
+ };
53
+ export {
54
+ n as Button,
55
+ p as default,
56
+ b as install
57
+ };
package/dist/index.css ADDED
@@ -0,0 +1 @@
1
+ :root{--vk-color-white: #ffffff;--vk-color-black: #000000;--colors: ( primary: #409eff, success: #67c23a, warning: #e6a23c, danger: #f56c6c, info: #909399 );--vk-bg-color: #ffffff;--vk-bg-color-page: #f2f3f5;--vk-bg-color-overlay: #ffffff;--vk-text-color-primary: #303133;--vk-text-color-regular: #606266;--vk-text-color-secondary: #909399;--vk-text-color-placeholder: #a8abb2;--vk-text-color-disabled: #c0c4cc;--vk-border-color: #dcdfe6;--vk-border-color-light: #e4e7ed;--vk-border-color-lighter: #ebeef5;--vk-border-color-extra-light: #f2f6fc;--vk-border-color-dark: #d4d7de;--vk-border-color-darker: #cdd0d6;--vk-fill-color: #f0f2f5;--vk-fill-color-light: #f5f7fa;--vk-fill-color-lighter: #fafafa;--vk-fill-color-extra-light: #fafcff;--vk-fill-color-dark: #ebedf0;--vk-fill-color-darker: #e6e8eb;--vk-fill-color-blank: #ffffff;--vk-border-width: 1px;--vk-border-style: solid;--vk-border-color-hover: var(--vk-text-color-disabled);--vk-border: var(--vk-border-width) var(--vk-border-style) var(--vk-border-color);--vk-border-radius-base: 4px;--vk-border-radius-small: 2px;--vk-border-radius-round: 20px;--vk-border-radius-circle: 100%;--vk-font-size-extra-large: 20px;--vk-font-size-large: 18px;--vk-font-size-medium: 16px;--vk-font-size-base: 14px;--vk-font-size-small: 13px;--vk-font-size-extra-small: 12px;--vk-font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;--vk-font-weight-primary: 500;--vk-disabled-bg-color: var(--vk-fill-color-light);--vk-disabled-text-color: var(--vk-text-color-placeholder);--vk-disabled-border-color: var(--vk-border-color-light);--vk-transition-duration: .3s;--vk-transition-duration-fast: .2s;--vk-color-primary: #409eff ;--vk-color-primary-light-3: #79BBFF;--vk-color-primary-light-5: #A0CFFF;--vk-color-primary-light-7: #C6E2FF;--vk-color-primary-light-9: #ECF5FF;--vk-color-primary-light-8: #D9ECFF;--vk-color-primary-dark-2: #337ECC;--vk-color-success: #67c23a ;--vk-color-success-light-3: #95D475;--vk-color-success-light-5: #B3E19D;--vk-color-success-light-7: #D1EDC4;--vk-color-success-light-9: #F0F9EB;--vk-color-success-light-8: #E1F3D8;--vk-color-success-dark-2: #529B2E;--vk-color-warning: #e6a23c ;--vk-color-warning-light-3: #EEBE77;--vk-color-warning-light-5: #F3D19E;--vk-color-warning-light-7: #F8E3C5;--vk-color-warning-light-9: #FDF6EC;--vk-color-warning-light-8: #FAECD8;--vk-color-warning-dark-2: #B88230;--vk-color-danger: #f56c6c ;--vk-color-danger-light-3: #F89898;--vk-color-danger-light-5: #FAB6B6;--vk-color-danger-light-7: #FCD3D3;--vk-color-danger-light-9: #FEF0F0;--vk-color-danger-light-8: #FDE2E2;--vk-color-danger-dark-2: #C45656;--vk-color-info: #909399 ;--vk-color-info-light-3: #B1B3B8;--vk-color-info-light-5: #C8C9CC;--vk-color-info-light-7: #DEDFE0;--vk-color-info-light-9: #F4F4F5;--vk-color-info-light-8: #E9E9EB;--vk-color-info-dark-2: #73767A }body{font-family:var(--vk-font-family);font-weight:400;font-size:var(--vk-font-size-base);color:var(--vk-text-color-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}a{color:var(--vk-color-primary);text-decoration:none}a:hover,a:focus{color:var(--vk-color-primary-light-3)}a:active{color:var(--vk-color-primary-dark-2)}h1,h2,h3,h4,h5,h6{color:var(--vk-text-color-regular);font-weight:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,h6:last-child{margin-bottom:0}h1{font-size:calc(var(--vk-font-size-base) + 6px)}h2{font-size:calc(var(--vk-font-size-base) + 4px)}h3{font-size:calc(var(--vk-font-size-base) + 2px)}h4,h5,h6,p{font-size:inherit}p{line-height:1.8}p:first-child{margin-top:0}p:last-child{margin-bottom:0}sup,sub{font-size:calc(var(--vk-font-size-base) - 1px)}small{font-size:calc(var(--vk-font-size-base) - 2px)}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid var(--vk-border-color-lighter)}.vk-button{--vk-button-font-weight: var(--vk-font-weight-primary);--vk-button-border-color: var(--vk-border-color);--vk-button-bg-color: var(--vk-fill-color-blank);--vk-button-text-color: var(--vk-text-color-regular);--vk-button-disabled-text-color: var(--vk-disabled-text-color);--vk-button-disabled-bg-color: var(--vk-fill-color-blank);--vk-button-disabled-border-color: var(--vk-border-color-light);--vk-button-hover-text-color: var(--vk-color-primary);--vk-button-hover-bg-color: var(--vk-color-primary-light-9);--vk-button-hover-border-color: var(--vk-color-primary-light-7);--vk-button-active-text-color: var(--vk-button-hover-text-color);--vk-button-active-border-color: var(--vk-color-primary);--vk-button-active-bg-color: var(--vk-button-hover-bg-color);--vk-button-outline-color: var(--vk-color-primary-light-5);--vk-button-active-color: var(--vk-text-color-primary)}.vk-button{display:inline-flex;justify-content:center;align-items:center;line-height:1;height:32px;white-space:nowrap;cursor:pointer;color:var(--vk-button-text-color);text-align:center;box-sizing:border-box;outline:none;transition:.1s;font-weight:var(--vk-button-font-weight);-webkit-user-select:none;user-select:none;vertical-align:middle;-webkit-appearance:none;background-color:var(--vk-button-bg-color);border:var(--vk-border);border-color:var(--vk-button-border-color);padding:8px 15px;font-size:var(--vk-font-size-base);border-radius:var(--vk-border-radius-base)}.vk-button+.vk-button{margin-left:12px}.vk-button:hover,.vk-button:focus{color:var(--vk-button-hover-text-color);border-color:var(--vk-button-hover-border-color);background-color:var(--vk-button-hover-bg-color);outline:none}.vk-button:active{color:var(--vk-button-active-text-color);border-color:var(--vk-button-active-border-color);background-color:var(--vk-button-active-bg-color);outline:none}.vk-button.is-plain{--vk-button-hover-text-color: var(--vk-color-primary);--vk-button-hover-bg-color: var(--vk-fill-color-blank);--vk-button-hover-border-color: var(--vk-color-primary)}.vk-button.is-round{border-radius:var(--vk-border-radius-round)}.vk-button.is-circle{border-radius:50%;padding:8px}.vk-button.is-disabled,.vk-button.is-disabled:hover,.vk-button.is-disabled:focus,.vk-button[disabled],.vk-button[disabled]:hover,.vk-button[disabled]:focus{color:var(--vk-button-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--vk-button-disabled-bg-color);border-color:var(--vk-button-disabled-border-color)}.vk-button [class*=vk-icon]+span{margin-left:6px}.vk-button--primary{--vk-button-text-color: var(--vk-color-white);--vk-button-bg-color: var(--vk-color-primary);--vk-button-border-color: var(--vk-color-primary);--vk-button-outline-color: var(--vk-color-primary-light-5);--vk-button-active-color: var(--vk-color-primary-dark-2);--vk-button-hover-text-color: var(--vk-color-white);--vk-button-hover-bg-color: var(--vk-color-primary-light-3);--vk-button-hover-border-color: var(--vk-color-primary-light-3);--vk-button-active-bg-color: var(--vk-color-primary-dark-2);--vk-button-active-border-color: var(--vk-color-primary-dark-2);--vk-button-disabled-text-color: var(--vk-color-white);--vk-button-disabled-bg-color: var(--vk-color-primary-light-5);--vk-button-disabled-border-color: var(--vk-color-primary-light-5)}.vk-button--primary.is-plain{--vk-button-text-color: var(--vk-color-primary);--vk-button-bg-color: var(--vk-color-primary-light-9);--vk-button-border-color: var(--vk-color-primary-light-5);--vk-button-hover-text-color: var(--vk-color-white);--vk-button-hover-bg-color: var(--vk-color-primary);--vk-button-hover-border-color: var(--vk-color-primary);--vk-button-active-text-color: var(--vk-color-white)}.vk-button--success{--vk-button-text-color: var(--vk-color-white);--vk-button-bg-color: var(--vk-color-success);--vk-button-border-color: var(--vk-color-success);--vk-button-outline-color: var(--vk-color-success-light-5);--vk-button-active-color: var(--vk-color-success-dark-2);--vk-button-hover-text-color: var(--vk-color-white);--vk-button-hover-bg-color: var(--vk-color-success-light-3);--vk-button-hover-border-color: var(--vk-color-success-light-3);--vk-button-active-bg-color: var(--vk-color-success-dark-2);--vk-button-active-border-color: var(--vk-color-success-dark-2);--vk-button-disabled-text-color: var(--vk-color-white);--vk-button-disabled-bg-color: var(--vk-color-success-light-5);--vk-button-disabled-border-color: var(--vk-color-success-light-5)}.vk-button--success.is-plain{--vk-button-text-color: var(--vk-color-success);--vk-button-bg-color: var(--vk-color-success-light-9);--vk-button-border-color: var(--vk-color-success-light-5);--vk-button-hover-text-color: var(--vk-color-white);--vk-button-hover-bg-color: var(--vk-color-success);--vk-button-hover-border-color: var(--vk-color-success);--vk-button-active-text-color: var(--vk-color-white)}.vk-button--warning{--vk-button-text-color: var(--vk-color-white);--vk-button-bg-color: var(--vk-color-warning);--vk-button-border-color: var(--vk-color-warning);--vk-button-outline-color: var(--vk-color-warning-light-5);--vk-button-active-color: var(--vk-color-warning-dark-2);--vk-button-hover-text-color: var(--vk-color-white);--vk-button-hover-bg-color: var(--vk-color-warning-light-3);--vk-button-hover-border-color: var(--vk-color-warning-light-3);--vk-button-active-bg-color: var(--vk-color-warning-dark-2);--vk-button-active-border-color: var(--vk-color-warning-dark-2);--vk-button-disabled-text-color: var(--vk-color-white);--vk-button-disabled-bg-color: var(--vk-color-warning-light-5);--vk-button-disabled-border-color: var(--vk-color-warning-light-5)}.vk-button--warning.is-plain{--vk-button-text-color: var(--vk-color-warning);--vk-button-bg-color: var(--vk-color-warning-light-9);--vk-button-border-color: var(--vk-color-warning-light-5);--vk-button-hover-text-color: var(--vk-color-white);--vk-button-hover-bg-color: var(--vk-color-warning);--vk-button-hover-border-color: var(--vk-color-warning);--vk-button-active-text-color: var(--vk-color-white)}.vk-button--info{--vk-button-text-color: var(--vk-color-white);--vk-button-bg-color: var(--vk-color-info);--vk-button-border-color: var(--vk-color-info);--vk-button-outline-color: var(--vk-color-info-light-5);--vk-button-active-color: var(--vk-color-info-dark-2);--vk-button-hover-text-color: var(--vk-color-white);--vk-button-hover-bg-color: var(--vk-color-info-light-3);--vk-button-hover-border-color: var(--vk-color-info-light-3);--vk-button-active-bg-color: var(--vk-color-info-dark-2);--vk-button-active-border-color: var(--vk-color-info-dark-2);--vk-button-disabled-text-color: var(--vk-color-white);--vk-button-disabled-bg-color: var(--vk-color-info-light-5);--vk-button-disabled-border-color: var(--vk-color-info-light-5)}.vk-button--info.is-plain{--vk-button-text-color: var(--vk-color-info);--vk-button-bg-color: var(--vk-color-info-light-9);--vk-button-border-color: var(--vk-color-info-light-5);--vk-button-hover-text-color: var(--vk-color-white);--vk-button-hover-bg-color: var(--vk-color-info);--vk-button-hover-border-color: var(--vk-color-info);--vk-button-active-text-color: var(--vk-color-white)}.vk-button--danger{--vk-button-text-color: var(--vk-color-white);--vk-button-bg-color: var(--vk-color-danger);--vk-button-border-color: var(--vk-color-danger);--vk-button-outline-color: var(--vk-color-danger-light-5);--vk-button-active-color: var(--vk-color-danger-dark-2);--vk-button-hover-text-color: var(--vk-color-white);--vk-button-hover-bg-color: var(--vk-color-danger-light-3);--vk-button-hover-border-color: var(--vk-color-danger-light-3);--vk-button-active-bg-color: var(--vk-color-danger-dark-2);--vk-button-active-border-color: var(--vk-color-danger-dark-2);--vk-button-disabled-text-color: var(--vk-color-white);--vk-button-disabled-bg-color: var(--vk-color-danger-light-5);--vk-button-disabled-border-color: var(--vk-color-danger-light-5)}.vk-button--danger.is-plain{--vk-button-text-color: var(--vk-color-danger);--vk-button-bg-color: var(--vk-color-danger-light-9);--vk-button-border-color: var(--vk-color-danger-light-5);--vk-button-hover-text-color: var(--vk-color-white);--vk-button-hover-bg-color: var(--vk-color-danger);--vk-button-hover-border-color: var(--vk-color-danger);--vk-button-active-text-color: var(--vk-color-white)}.vk-button--large{--vk-button-size: 40px;height:var(--vk-button-size);padding:12px 19px;font-size:var(--vk-font-size-base);border-radius:var(--vk-border-radius-base)}.vk-button--small{--vk-button-size: 24px;height:var(--vk-button-size);padding:5px 11px;font-size:12px;border-radius:calc(var(--vk-border-radius-base) - 1px)}
@@ -0,0 +1,16 @@
1
+ import { ButtonProps } from './type';
2
+ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<ButtonProps, {
3
+ ref: import('vue').Ref<HTMLButtonElement | undefined, HTMLButtonElement | undefined>;
4
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<ButtonProps> & Readonly<{}>, {
5
+ nativeType: import('./type').NativeType;
6
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
7
+ _ref: HTMLButtonElement;
8
+ }, HTMLButtonElement>, {
9
+ default?(_: {}): any;
10
+ }>;
11
+ export default _default;
12
+ type __VLS_WithTemplateSlots<T, S> = T & {
13
+ new (): {
14
+ $slots: S;
15
+ };
16
+ };
@@ -0,0 +1,3 @@
1
+ import { default as Button } from './Button.vue';
2
+ export default Button;
3
+ export * from './type';
@@ -0,0 +1,18 @@
1
+ export type ButtonType = 'primary' | 'success' | 'warning' | 'danger' | 'info';
2
+ export type ButtonSize = 'large' | 'small';
3
+ export type NativeType = 'button' | 'submit' | 'reset';
4
+ export interface ButtonProps {
5
+ type?: ButtonType;
6
+ size?: ButtonSize;
7
+ plain?: boolean;
8
+ round?: boolean;
9
+ circle?: boolean;
10
+ disabled?: boolean;
11
+ nativeType?: NativeType;
12
+ autofocus?: boolean;
13
+ icon?: string;
14
+ loading?: boolean;
15
+ }
16
+ export interface ButtonInstance {
17
+ ref: HTMLButtonElement;
18
+ }
@@ -0,0 +1,8 @@
1
+ import { App } from 'vue';
2
+ import { default as Button } from './components/Button';
3
+ declare const install: (app: App) => void;
4
+ export { install, Button };
5
+ declare const _default: {
6
+ install: (app: App) => void;
7
+ };
8
+ export default _default;
Binary file
@@ -0,0 +1 @@
1
+ :root{--vk-color-white: #ffffff;--vk-color-black: #000000;--colors: ( primary: #409eff, success: #67c23a, warning: #e6a23c, danger: #f56c6c, info: #909399 );--vk-bg-color: #ffffff;--vk-bg-color-page: #f2f3f5;--vk-bg-color-overlay: #ffffff;--vk-text-color-primary: #303133;--vk-text-color-regular: #606266;--vk-text-color-secondary: #909399;--vk-text-color-placeholder: #a8abb2;--vk-text-color-disabled: #c0c4cc;--vk-border-color: #dcdfe6;--vk-border-color-light: #e4e7ed;--vk-border-color-lighter: #ebeef5;--vk-border-color-extra-light: #f2f6fc;--vk-border-color-dark: #d4d7de;--vk-border-color-darker: #cdd0d6;--vk-fill-color: #f0f2f5;--vk-fill-color-light: #f5f7fa;--vk-fill-color-lighter: #fafafa;--vk-fill-color-extra-light: #fafcff;--vk-fill-color-dark: #ebedf0;--vk-fill-color-darker: #e6e8eb;--vk-fill-color-blank: #ffffff;--vk-border-width: 1px;--vk-border-style: solid;--vk-border-color-hover: var(--vk-text-color-disabled);--vk-border: var(--vk-border-width) var(--vk-border-style) var(--vk-border-color);--vk-border-radius-base: 4px;--vk-border-radius-small: 2px;--vk-border-radius-round: 20px;--vk-border-radius-circle: 100%;--vk-font-size-extra-large: 20px;--vk-font-size-large: 18px;--vk-font-size-medium: 16px;--vk-font-size-base: 14px;--vk-font-size-small: 13px;--vk-font-size-extra-small: 12px;--vk-font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "微软雅黑", Arial, sans-serif;--vk-font-weight-primary: 500;--vk-disabled-bg-color: var(--vk-fill-color-light);--vk-disabled-text-color: var(--vk-text-color-placeholder);--vk-disabled-border-color: var(--vk-border-color-light);--vk-transition-duration: .3s;--vk-transition-duration-fast: .2s;--vk-color-primary: #409eff ;--vk-color-primary-light-3: #79BBFF;--vk-color-primary-light-5: #A0CFFF;--vk-color-primary-light-7: #C6E2FF;--vk-color-primary-light-9: #ECF5FF;--vk-color-primary-light-8: #D9ECFF;--vk-color-primary-dark-2: #337ECC;--vk-color-success: #67c23a ;--vk-color-success-light-3: #95D475;--vk-color-success-light-5: #B3E19D;--vk-color-success-light-7: #D1EDC4;--vk-color-success-light-9: #F0F9EB;--vk-color-success-light-8: #E1F3D8;--vk-color-success-dark-2: #529B2E;--vk-color-warning: #e6a23c ;--vk-color-warning-light-3: #EEBE77;--vk-color-warning-light-5: #F3D19E;--vk-color-warning-light-7: #F8E3C5;--vk-color-warning-light-9: #FDF6EC;--vk-color-warning-light-8: #FAECD8;--vk-color-warning-dark-2: #B88230;--vk-color-danger: #f56c6c ;--vk-color-danger-light-3: #F89898;--vk-color-danger-light-5: #FAB6B6;--vk-color-danger-light-7: #FCD3D3;--vk-color-danger-light-9: #FEF0F0;--vk-color-danger-light-8: #FDE2E2;--vk-color-danger-dark-2: #C45656;--vk-color-info: #909399 ;--vk-color-info-light-3: #B1B3B8;--vk-color-info-light-5: #C8C9CC;--vk-color-info-light-7: #DEDFE0;--vk-color-info-light-9: #F4F4F5;--vk-color-info-light-8: #E9E9EB;--vk-color-info-dark-2: #73767A }body{font-family:var(--vk-font-family);font-weight:400;font-size:var(--vk-font-size-base);color:var(--vk-text-color-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent}a{color:var(--vk-color-primary);text-decoration:none}a:hover,a:focus{color:var(--vk-color-primary-light-3)}a:active{color:var(--vk-color-primary-dark-2)}h1,h2,h3,h4,h5,h6{color:var(--vk-text-color-regular);font-weight:inherit}h1:first-child,h2:first-child,h3:first-child,h4:first-child,h5:first-child,h6:first-child{margin-top:0}h1:last-child,h2:last-child,h3:last-child,h4:last-child,h5:last-child,h6:last-child{margin-bottom:0}h1{font-size:calc(var(--vk-font-size-base) + 6px)}h2{font-size:calc(var(--vk-font-size-base) + 4px)}h3{font-size:calc(var(--vk-font-size-base) + 2px)}h4,h5,h6,p{font-size:inherit}p{line-height:1.8}p:first-child{margin-top:0}p:last-child{margin-bottom:0}sup,sub{font-size:calc(var(--vk-font-size-base) - 1px)}small{font-size:calc(var(--vk-font-size-base) - 2px)}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid var(--vk-border-color-lighter)}.vk-button{--vk-button-font-weight: var(--vk-font-weight-primary);--vk-button-border-color: var(--vk-border-color);--vk-button-bg-color: var(--vk-fill-color-blank);--vk-button-text-color: var(--vk-text-color-regular);--vk-button-disabled-text-color: var(--vk-disabled-text-color);--vk-button-disabled-bg-color: var(--vk-fill-color-blank);--vk-button-disabled-border-color: var(--vk-border-color-light);--vk-button-hover-text-color: var(--vk-color-primary);--vk-button-hover-bg-color: var(--vk-color-primary-light-9);--vk-button-hover-border-color: var(--vk-color-primary-light-7);--vk-button-active-text-color: var(--vk-button-hover-text-color);--vk-button-active-border-color: var(--vk-color-primary);--vk-button-active-bg-color: var(--vk-button-hover-bg-color);--vk-button-outline-color: var(--vk-color-primary-light-5);--vk-button-active-color: var(--vk-text-color-primary)}.vk-button{display:inline-flex;justify-content:center;align-items:center;line-height:1;height:32px;white-space:nowrap;cursor:pointer;color:var(--vk-button-text-color);text-align:center;box-sizing:border-box;outline:none;transition:.1s;font-weight:var(--vk-button-font-weight);-webkit-user-select:none;user-select:none;vertical-align:middle;-webkit-appearance:none;background-color:var(--vk-button-bg-color);border:var(--vk-border);border-color:var(--vk-button-border-color);padding:8px 15px;font-size:var(--vk-font-size-base);border-radius:var(--vk-border-radius-base)}.vk-button+.vk-button{margin-left:12px}.vk-button:hover,.vk-button:focus{color:var(--vk-button-hover-text-color);border-color:var(--vk-button-hover-border-color);background-color:var(--vk-button-hover-bg-color);outline:none}.vk-button:active{color:var(--vk-button-active-text-color);border-color:var(--vk-button-active-border-color);background-color:var(--vk-button-active-bg-color);outline:none}.vk-button.is-plain{--vk-button-hover-text-color: var(--vk-color-primary);--vk-button-hover-bg-color: var(--vk-fill-color-blank);--vk-button-hover-border-color: var(--vk-color-primary)}.vk-button.is-round{border-radius:var(--vk-border-radius-round)}.vk-button.is-circle{border-radius:50%;padding:8px}.vk-button.is-disabled,.vk-button.is-disabled:hover,.vk-button.is-disabled:focus,.vk-button[disabled],.vk-button[disabled]:hover,.vk-button[disabled]:focus{color:var(--vk-button-disabled-text-color);cursor:not-allowed;background-image:none;background-color:var(--vk-button-disabled-bg-color);border-color:var(--vk-button-disabled-border-color)}.vk-button [class*=vk-icon]+span{margin-left:6px}.vk-button--primary{--vk-button-text-color: var(--vk-color-white);--vk-button-bg-color: var(--vk-color-primary);--vk-button-border-color: var(--vk-color-primary);--vk-button-outline-color: var(--vk-color-primary-light-5);--vk-button-active-color: var(--vk-color-primary-dark-2);--vk-button-hover-text-color: var(--vk-color-white);--vk-button-hover-bg-color: var(--vk-color-primary-light-3);--vk-button-hover-border-color: var(--vk-color-primary-light-3);--vk-button-active-bg-color: var(--vk-color-primary-dark-2);--vk-button-active-border-color: var(--vk-color-primary-dark-2);--vk-button-disabled-text-color: var(--vk-color-white);--vk-button-disabled-bg-color: var(--vk-color-primary-light-5);--vk-button-disabled-border-color: var(--vk-color-primary-light-5)}.vk-button--primary.is-plain{--vk-button-text-color: var(--vk-color-primary);--vk-button-bg-color: var(--vk-color-primary-light-9);--vk-button-border-color: var(--vk-color-primary-light-5);--vk-button-hover-text-color: var(--vk-color-white);--vk-button-hover-bg-color: var(--vk-color-primary);--vk-button-hover-border-color: var(--vk-color-primary);--vk-button-active-text-color: var(--vk-color-white)}.vk-button--success{--vk-button-text-color: var(--vk-color-white);--vk-button-bg-color: var(--vk-color-success);--vk-button-border-color: var(--vk-color-success);--vk-button-outline-color: var(--vk-color-success-light-5);--vk-button-active-color: var(--vk-color-success-dark-2);--vk-button-hover-text-color: var(--vk-color-white);--vk-button-hover-bg-color: var(--vk-color-success-light-3);--vk-button-hover-border-color: var(--vk-color-success-light-3);--vk-button-active-bg-color: var(--vk-color-success-dark-2);--vk-button-active-border-color: var(--vk-color-success-dark-2);--vk-button-disabled-text-color: var(--vk-color-white);--vk-button-disabled-bg-color: var(--vk-color-success-light-5);--vk-button-disabled-border-color: var(--vk-color-success-light-5)}.vk-button--success.is-plain{--vk-button-text-color: var(--vk-color-success);--vk-button-bg-color: var(--vk-color-success-light-9);--vk-button-border-color: var(--vk-color-success-light-5);--vk-button-hover-text-color: var(--vk-color-white);--vk-button-hover-bg-color: var(--vk-color-success);--vk-button-hover-border-color: var(--vk-color-success);--vk-button-active-text-color: var(--vk-color-white)}.vk-button--warning{--vk-button-text-color: var(--vk-color-white);--vk-button-bg-color: var(--vk-color-warning);--vk-button-border-color: var(--vk-color-warning);--vk-button-outline-color: var(--vk-color-warning-light-5);--vk-button-active-color: var(--vk-color-warning-dark-2);--vk-button-hover-text-color: var(--vk-color-white);--vk-button-hover-bg-color: var(--vk-color-warning-light-3);--vk-button-hover-border-color: var(--vk-color-warning-light-3);--vk-button-active-bg-color: var(--vk-color-warning-dark-2);--vk-button-active-border-color: var(--vk-color-warning-dark-2);--vk-button-disabled-text-color: var(--vk-color-white);--vk-button-disabled-bg-color: var(--vk-color-warning-light-5);--vk-button-disabled-border-color: var(--vk-color-warning-light-5)}.vk-button--warning.is-plain{--vk-button-text-color: var(--vk-color-warning);--vk-button-bg-color: var(--vk-color-warning-light-9);--vk-button-border-color: var(--vk-color-warning-light-5);--vk-button-hover-text-color: var(--vk-color-white);--vk-button-hover-bg-color: var(--vk-color-warning);--vk-button-hover-border-color: var(--vk-color-warning);--vk-button-active-text-color: var(--vk-color-white)}.vk-button--info{--vk-button-text-color: var(--vk-color-white);--vk-button-bg-color: var(--vk-color-info);--vk-button-border-color: var(--vk-color-info);--vk-button-outline-color: var(--vk-color-info-light-5);--vk-button-active-color: var(--vk-color-info-dark-2);--vk-button-hover-text-color: var(--vk-color-white);--vk-button-hover-bg-color: var(--vk-color-info-light-3);--vk-button-hover-border-color: var(--vk-color-info-light-3);--vk-button-active-bg-color: var(--vk-color-info-dark-2);--vk-button-active-border-color: var(--vk-color-info-dark-2);--vk-button-disabled-text-color: var(--vk-color-white);--vk-button-disabled-bg-color: var(--vk-color-info-light-5);--vk-button-disabled-border-color: var(--vk-color-info-light-5)}.vk-button--info.is-plain{--vk-button-text-color: var(--vk-color-info);--vk-button-bg-color: var(--vk-color-info-light-9);--vk-button-border-color: var(--vk-color-info-light-5);--vk-button-hover-text-color: var(--vk-color-white);--vk-button-hover-bg-color: var(--vk-color-info);--vk-button-hover-border-color: var(--vk-color-info);--vk-button-active-text-color: var(--vk-color-white)}.vk-button--danger{--vk-button-text-color: var(--vk-color-white);--vk-button-bg-color: var(--vk-color-danger);--vk-button-border-color: var(--vk-color-danger);--vk-button-outline-color: var(--vk-color-danger-light-5);--vk-button-active-color: var(--vk-color-danger-dark-2);--vk-button-hover-text-color: var(--vk-color-white);--vk-button-hover-bg-color: var(--vk-color-danger-light-3);--vk-button-hover-border-color: var(--vk-color-danger-light-3);--vk-button-active-bg-color: var(--vk-color-danger-dark-2);--vk-button-active-border-color: var(--vk-color-danger-dark-2);--vk-button-disabled-text-color: var(--vk-color-white);--vk-button-disabled-bg-color: var(--vk-color-danger-light-5);--vk-button-disabled-border-color: var(--vk-color-danger-light-5)}.vk-button--danger.is-plain{--vk-button-text-color: var(--vk-color-danger);--vk-button-bg-color: var(--vk-color-danger-light-9);--vk-button-border-color: var(--vk-color-danger-light-5);--vk-button-hover-text-color: var(--vk-color-white);--vk-button-hover-bg-color: var(--vk-color-danger);--vk-button-hover-border-color: var(--vk-color-danger);--vk-button-active-text-color: var(--vk-color-white)}.vk-button--large{--vk-button-size: 40px;height:var(--vk-button-size);padding:12px 19px;font-size:var(--vk-font-size-base);border-radius:var(--vk-border-radius-base)}.vk-button--small{--vk-button-size: 24px;height:var(--vk-button-size);padding:5px 11px;font-size:12px;border-radius:calc(var(--vk-border-radius-base) - 1px)}
@@ -0,0 +1 @@
1
+ (function(n,t){typeof exports=="object"&&typeof module<"u"?t(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],t):(n=typeof globalThis<"u"?globalThis:n||self,t(n.VElement={},n.Vue))})(this,(function(n,t){"use strict";const d=["type","autofocus","disabled"],s=t.defineComponent({name:"VkButton"}),o=t.defineComponent({...s,props:{type:{},size:{},plain:{type:Boolean},round:{type:Boolean},circle:{type:Boolean},disabled:{type:Boolean},nativeType:{default:"button"},autofocus:{type:Boolean},icon:{},loading:{type:Boolean}},setup(e,{expose:i}){const a=t.ref();return i({ref:a}),(f,r)=>(t.openBlock(),t.createElementBlock("button",{ref_key:"_ref",ref:a,type:e.nativeType,autofocus:e.autofocus,class:t.normalizeClass(["vk-button",{[`vk-button--${e.type}`]:e.type,[`vk-button--${e.size}`]:e.size,"is-plain":e.plain,"is-round":e.round,"is-circle":e.circle,"is-disabled":e.disabled}]),disabled:e.disabled},[t.createElementVNode("span",null,[t.renderSlot(f.$slots,"default")])],10,d))}});o.install=e=>{e.component(o.name,o)};const u=[o],l=e=>{u.forEach(i=>{e.component(i.name,i)})},c={install:l};n.Button=o,n.default=c,n.install=l,Object.defineProperties(n,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
package/package.json ADDED
@@ -0,0 +1,81 @@
1
+ {
2
+ "name": "@xunsworld/element",
3
+ "version": "1.0.0",
4
+ "description": "Vue3 component library",
5
+ "type": "module",
6
+ "author": "xunsworld",
7
+ "license": "MIT",
8
+ "keywords": [
9
+ "Component",
10
+ "UI",
11
+ "Vue3"
12
+ ],
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "sideEffects": ["dist/index.css"],
17
+ "main": "./dist/umd/v-element.umd.cjs",
18
+ "module": "./dist/es/v-element.js",
19
+ "types": "./dist/types/index.d.ts",
20
+ "exports": {
21
+ ".": {
22
+ "import": "./dist/es/v-element.js",
23
+ "require": "./dist/umd/v-element.umd.cjs",
24
+ "types": "./dist/types/index.d.ts"
25
+ },
26
+ "./dist/":{
27
+ "import":"./dist/",
28
+ "require":"./dist/"
29
+ }
30
+ },
31
+ "engines": {
32
+ "node": "^20.19.0 || >=22.12.0"
33
+ },
34
+ "scripts": {
35
+ "dev": "vite",
36
+ "build": "npm run build-only && npm run move-style",
37
+ "preview": "vite preview",
38
+ "build:only": "vite build",
39
+ "build-only": "run-p build-umd build-es",
40
+ "build-umd": "vite build --config vite.umd.config.ts",
41
+ "build-es": "vite build --config vite.es.config.ts",
42
+ "move-style":"move-file dist/es/index.css dist/index.css",
43
+ "type-check": "vue-tsc --build",
44
+ "lint": "eslint . --fix --cache",
45
+ "docs:dev": "vitepress dev docs",
46
+ "docs:build": "vitepress build docs",
47
+ "docs:preview": "vitepress preview docs",
48
+ "prepublishOnly": "npm run build"
49
+ },
50
+ "dependencies": {
51
+
52
+ },
53
+ "peerDependencies": {
54
+ "vue": "^3.5.25"
55
+ },
56
+ "devDependencies": {
57
+ "@tsconfig/node24": "^24.0.3",
58
+ "@types/node": "^24.10.1",
59
+ "@vitejs/plugin-vue": "^6.0.2",
60
+ "@vitejs/plugin-vue-jsx": "^5.1.2",
61
+ "@vue/eslint-config-typescript": "^14.6.0",
62
+ "@vue/tsconfig": "^0.8.1",
63
+ "eslint": "^9.39.1",
64
+ "eslint-plugin-vue": "~10.5.1",
65
+ "jiti": "^2.6.1",
66
+ "move-file-cli": "^3.0.0",
67
+ "npm-run-all2": "^8.0.4",
68
+ "postcss-color-mix": "^1.1.0",
69
+ "postcss-each": "^1.1.0",
70
+ "postcss-each-variables": "^0.3.0",
71
+ "postcss-for": "^2.1.1",
72
+ "postcss-nested": "^7.0.2",
73
+ "typescript": "~5.9.0",
74
+ "vite": "^7.2.4",
75
+ "vite-plugin-dts": "^4.5.4",
76
+ "vite-plugin-vue-devtools": "^8.0.5",
77
+ "vitepress": "^1.6.4",
78
+ "vue": "^3.5.25",
79
+ "vue-tsc": "^3.1.5"
80
+ }
81
+ }