@zephyr_zz/zephyr-ui 0.0.21 → 0.0.22
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/dist/index.css +1 -1
- package/dist/types/audio/index.d.ts +0 -1
- package/dist/types/form/ZephyrForm.vue.d.ts +52 -0
- package/dist/types/form/ZephyrFormItem.vue.d.ts +26 -0
- package/dist/types/form/index.d.ts +3 -0
- package/dist/types/form/types.d.ts +29 -0
- package/dist/types/index.d.ts +4 -3
- package/dist/zephyr-ui.es.js +1314 -330
- package/dist/zephyr-ui.umd.js +13 -2
- package/package.json +46 -45
package/dist/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.zz-button[data-v-7c55743a]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:.2s}.zz-button--primary[data-v-7c55743a]{background:#409eff;color:#fff}.zz-button--success[data-v-7c55743a]{background:#67c23a;color:#fff}.zz-button--warning[data-v-7c55743a]{background:#e6a23c;color:#fff}.zz-button--danger[data-v-7c55743a]{background:#f56c6c;color:#fff}.zephyr-editor_container[data-v-3ceef597]{width:100%;height:100%}[data-v-80ce589e]{box-sizing:border-box}.zephyr-card[data-v-80ce589e]{width:100%;max-width:420px;padding:16px;background:#fafafa;border-radius:10px;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#1f2937}.header[data-v-80ce589e]{margin-bottom:12px}.title[data-v-80ce589e]{font-size:15px;font-weight:600}.sub[data-v-80ce589e]{font-size:12px;color:#6b7280}.upload-box[data-v-80ce589e]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer}.upload-left[data-v-80ce589e]{display:flex;align-items:center;gap:8px;min-width:0}.upload-left .text[data-v-80ce589e]{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-btn[data-v-80ce589e]{padding:6px 12px;font-size:12px;border-radius:14px;background:#ec4141;color:#fff;border:none;cursor:pointer}.file-input[data-v-80ce589e]{display:none}.panel[data-v-80ce589e]{margin-top:12px;padding:12px;background:#fff;border-radius:8px;display:grid;gap:12px}.row[data-v-80ce589e]{display:flex;align-items:center;justify-content:space-between;gap:12px}.row label[data-v-80ce589e]{font-size:12px;color:#6b7280;flex-shrink:0}.row select[data-v-80ce589e],.row input[data-v-80ce589e]{width:140px;padding:6px 8px;font-size:13px;border-radius:6px;border:1px solid #e5e7eb}.inline[data-v-80ce589e]{display:flex;align-items:center;gap:6px}.unit[data-v-80ce589e]{font-size:12px;color:#9ca3af}.actions[data-v-80ce589e]{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:8px;margin-top:14px}.btn[data-v-80ce589e]{padding:10px 0;font-size:13px;border-radius:6px;cursor:pointer}.btn.primary[data-v-80ce589e]{background:#ec4141;color:#fff;border:none}.btn.ghost[data-v-80ce589e]{background:#fff;border:1px solid #e5e7eb}.btn[data-v-80ce589e]:disabled{opacity:.5;cursor:not-allowed}.loading[data-v-80ce589e]{margin-top:10px;font-size:12px;color:#ec4141}@media(max-width:480px){.row[data-v-80ce589e]{flex-direction:column;align-items:stretch}.row select[data-v-80ce589e],.row input[data-v-80ce589e]{width:100%}.actions[data-v-80ce589e]{grid-template-columns:1fr}.btn[data-v-80ce589e]{font-size:14px}}@media(max-width:360px){.upload-btn[data-v-80ce589e]{display:none}}
|
|
1
|
+
.zz-button[data-v-7c55743a]{padding:8px 16px;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:.2s}.zz-button--primary[data-v-7c55743a]{background:#409eff;color:#fff}.zz-button--success[data-v-7c55743a]{background:#67c23a;color:#fff}.zz-button--warning[data-v-7c55743a]{background:#e6a23c;color:#fff}.zz-button--danger[data-v-7c55743a]{background:#f56c6c;color:#fff}.zephyr-editor_container[data-v-3ceef597]{width:100%;height:100%}[data-v-80ce589e]{box-sizing:border-box}.zephyr-card[data-v-80ce589e]{width:100%;max-width:420px;padding:16px;background:#fafafa;border-radius:10px;font-family:system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:#1f2937}.header[data-v-80ce589e]{margin-bottom:12px}.title[data-v-80ce589e]{font-size:15px;font-weight:600}.sub[data-v-80ce589e]{font-size:12px;color:#6b7280}.upload-box[data-v-80ce589e]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer}.upload-left[data-v-80ce589e]{display:flex;align-items:center;gap:8px;min-width:0}.upload-left .text[data-v-80ce589e]{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-btn[data-v-80ce589e]{padding:6px 12px;font-size:12px;border-radius:14px;background:#ec4141;color:#fff;border:none;cursor:pointer}.file-input[data-v-80ce589e]{display:none}.panel[data-v-80ce589e]{margin-top:12px;padding:12px;background:#fff;border-radius:8px;display:grid;gap:12px}.row[data-v-80ce589e]{display:flex;align-items:center;justify-content:space-between;gap:12px}.row label[data-v-80ce589e]{font-size:12px;color:#6b7280;flex-shrink:0}.row select[data-v-80ce589e],.row input[data-v-80ce589e]{width:140px;padding:6px 8px;font-size:13px;border-radius:6px;border:1px solid #e5e7eb}.inline[data-v-80ce589e]{display:flex;align-items:center;gap:6px}.unit[data-v-80ce589e]{font-size:12px;color:#9ca3af}.actions[data-v-80ce589e]{display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:8px;margin-top:14px}.btn[data-v-80ce589e]{padding:10px 0;font-size:13px;border-radius:6px;cursor:pointer}.btn.primary[data-v-80ce589e]{background:#ec4141;color:#fff;border:none}.btn.ghost[data-v-80ce589e]{background:#fff;border:1px solid #e5e7eb}.btn[data-v-80ce589e]:disabled{opacity:.5;cursor:not-allowed}.loading[data-v-80ce589e]{margin-top:10px;font-size:12px;color:#ec4141}@media(max-width:480px){.row[data-v-80ce589e]{flex-direction:column;align-items:stretch}.row select[data-v-80ce589e],.row input[data-v-80ce589e]{width:100%}.actions[data-v-80ce589e]{grid-template-columns:1fr}.btn[data-v-80ce589e]{font-size:14px}}@media(max-width:360px){.upload-btn[data-v-80ce589e]{display:none}}.form-error[data-v-d52709c1]{color:#cd4949;font-size:12px}.zephyr-form[data-v-2254561b]{box-sizing:border-box;width:100%;height:100%;padding:10px 20px 16px;background-color:#fff;border-radius:4px;overflow:auto}.zephyr-form .form-node_container+.form-node_container[data-v-2254561b]{margin-top:10px}.zephyr-form .form-node_container[data-v-2254561b]{position:relative;display:flex;align-items:start}.zephyr-form .form-node_container .form-node_label[data-v-2254561b]{color:#293358;margin-right:6px;font-size:14px;font-weight:500;white-space:nowrap}.zephyr-form .form-node_container.is-vertical[data-v-2254561b]{flex-direction:column;align-items:flex-start}.zephyr-form .form-node_container.is-vertical .form-node_label[data-v-2254561b]{margin-bottom:6px}.zephyr-form .form-node_container.is-vertical .form-node_content[data-v-2254561b]{width:100%}.zephyr-form .form-node_container.is-required[data-v-2254561b]:before{position:absolute;content:"*";color:#cd4949}.zephyr-form .form-node_container.is-required .form-node_label[data-v-2254561b]{padding-left:10px}.zephyr-form .form-node_container:has(.form-error) .form-node_label[data-v-2254561b]{color:#cd4949}.zephyr-form .form-node_content[data-v-2254561b]{display:flex;flex:1;flex-wrap:wrap;column-gap:12px;row-gap:10px}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
import { ZephyrFormSchema } from './types';
|
|
3
|
+
declare function setDefaultValues(values: Record<string, any>): void;
|
|
4
|
+
declare function getValues({ required }?: {
|
|
5
|
+
required: boolean;
|
|
6
|
+
}): Promise<{
|
|
7
|
+
[x: string]: any;
|
|
8
|
+
}>;
|
|
9
|
+
declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
10
|
+
formItems: {
|
|
11
|
+
type: PropType<ZephyrFormSchema[]>;
|
|
12
|
+
required: true;
|
|
13
|
+
};
|
|
14
|
+
layout: {
|
|
15
|
+
type: PropType<"horizontal" | "vertical">;
|
|
16
|
+
default: string;
|
|
17
|
+
};
|
|
18
|
+
virtual: {
|
|
19
|
+
type: BooleanConstructor;
|
|
20
|
+
default: boolean;
|
|
21
|
+
};
|
|
22
|
+
rules: {
|
|
23
|
+
type: PropType<Record<string, any[]>>;
|
|
24
|
+
default: () => {};
|
|
25
|
+
};
|
|
26
|
+
}>, {
|
|
27
|
+
setDefaultValues: typeof setDefaultValues;
|
|
28
|
+
getValues: typeof getValues;
|
|
29
|
+
formInstances: import('vue').Ref<Record<string, any>, Record<string, any>>;
|
|
30
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
31
|
+
formItems: {
|
|
32
|
+
type: PropType<ZephyrFormSchema[]>;
|
|
33
|
+
required: true;
|
|
34
|
+
};
|
|
35
|
+
layout: {
|
|
36
|
+
type: PropType<"horizontal" | "vertical">;
|
|
37
|
+
default: string;
|
|
38
|
+
};
|
|
39
|
+
virtual: {
|
|
40
|
+
type: BooleanConstructor;
|
|
41
|
+
default: boolean;
|
|
42
|
+
};
|
|
43
|
+
rules: {
|
|
44
|
+
type: PropType<Record<string, any[]>>;
|
|
45
|
+
default: () => {};
|
|
46
|
+
};
|
|
47
|
+
}>> & Readonly<{}>, {
|
|
48
|
+
rules: Record<string, any[]>;
|
|
49
|
+
layout: "horizontal" | "vertical";
|
|
50
|
+
virtual: boolean;
|
|
51
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLFormElement>;
|
|
52
|
+
export default _default;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
label?: string;
|
|
3
|
+
prop?: string;
|
|
4
|
+
rules?: any[];
|
|
5
|
+
}
|
|
6
|
+
declare function validate(trigger?: string): Promise<boolean>;
|
|
7
|
+
declare function __VLS_template(): {
|
|
8
|
+
attrs: Partial<{}>;
|
|
9
|
+
slots: {
|
|
10
|
+
default?(_: {}): any;
|
|
11
|
+
};
|
|
12
|
+
refs: {};
|
|
13
|
+
rootEl: HTMLDivElement;
|
|
14
|
+
};
|
|
15
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
16
|
+
declare const __VLS_component: import('vue').DefineComponent<Props, {
|
|
17
|
+
validate: typeof validate;
|
|
18
|
+
clearValidate(): void;
|
|
19
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
20
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
21
|
+
export default _default;
|
|
22
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
23
|
+
new (): {
|
|
24
|
+
$slots: S;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { RuleItem } from 'async-validator';
|
|
2
|
+
import { Component } from 'vue';
|
|
3
|
+
export type FormRules = Record<string, RuleItem[]>;
|
|
4
|
+
export interface FormContext {
|
|
5
|
+
model: Record<string, any>;
|
|
6
|
+
rules: FormRules;
|
|
7
|
+
labelWidth?: string;
|
|
8
|
+
inline?: boolean;
|
|
9
|
+
addField: (field: FormField) => void;
|
|
10
|
+
removeField: (field: FormField) => void;
|
|
11
|
+
}
|
|
12
|
+
export interface FormField {
|
|
13
|
+
prop?: string;
|
|
14
|
+
rules?: any[];
|
|
15
|
+
validate: (trigger?: string) => Promise<boolean>;
|
|
16
|
+
clearValidate: () => void;
|
|
17
|
+
resetField: () => void;
|
|
18
|
+
setError: (msg: string) => void;
|
|
19
|
+
}
|
|
20
|
+
type AttrFunction = (formData: any) => Record<string, any>;
|
|
21
|
+
export interface ZephyrFormSchema {
|
|
22
|
+
prop: string;
|
|
23
|
+
label?: string;
|
|
24
|
+
is?: Component;
|
|
25
|
+
attr?: Record<string, any> | AttrFunction;
|
|
26
|
+
children?: ZephyrFormSchema[];
|
|
27
|
+
[key: string]: any;
|
|
28
|
+
}
|
|
29
|
+
export {};
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { App } from 'vue';
|
|
2
1
|
import { default as ZzButton } from './button';
|
|
3
2
|
import { default as ZephyrEditor } from './editor';
|
|
4
3
|
import { default as ZephyrWrapper } from './wrapper';
|
|
5
|
-
import { default as ZephyrAudioConverter } from './audio
|
|
6
|
-
|
|
4
|
+
import { default as ZephyrAudioConverter } from './audio';
|
|
5
|
+
import { ZephyrForm } from './form';
|
|
6
|
+
import { App } from 'vue';
|
|
7
|
+
export { ZzButton, ZephyrEditor, ZephyrWrapper, ZephyrAudioConverter, ZephyrForm };
|
|
7
8
|
declare const _default: {
|
|
8
9
|
install(app: App): void;
|
|
9
10
|
};
|