vft 0.0.46 → 0.0.48
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/es/component.js +30 -27
- package/es/components/avatar/avatar.vue.d.ts +4 -4
- package/es/components/avatar/index.d.ts +4 -4
- package/es/components/avatar/index.js +4 -3
- package/es/components/back-top/back-top.vue.d.ts +21 -0
- package/es/components/back-top/back-top.vue2.js +23 -21
- package/es/components/back-top/index.d.ts +8 -1
- package/es/components/back-top/index.js +4 -3
- package/es/components/back-top/use-back-top.d.ts +1 -1
- package/es/components/back-top/use-back-top.js +23 -21
- package/es/components/clamp/index.js +4 -3
- package/es/components/clamp-toggle/clamp-toggle.vue2.js +15 -15
- package/es/components/clamp-toggle/index.js +4 -3
- package/es/components/config-provider/hooks/use-global-config.js +1 -1
- package/es/components/config-provider/index.js +11 -10
- package/es/components/context-menu/context-menu.vue2.js +3 -2
- package/es/components/descriptions/description.vue2.js +1 -1
- package/es/components/descriptions/index.js +6 -5
- package/es/components/divider/divider.vue.d.ts +2 -2
- package/es/components/divider/index.d.ts +2 -2
- package/es/components/divider/index.js +4 -3
- package/es/components/empty/index.js +6 -5
- package/es/components/exception/exception.vue2.js +13 -11
- package/es/components/exception/index.js +4 -3
- package/es/components/footer-layout/index.js +4 -3
- package/es/components/form/constants.d.ts +4 -0
- package/es/components/form/constants.js +5 -0
- package/es/components/form/form-item.vue.d.ts +133 -0
- package/es/components/form/form-item.vue.js +4 -0
- package/es/components/form/form-item.vue2.js +244 -0
- package/es/components/form/form-label-wrap.d.ts +11 -0
- package/es/components/form/form-label-wrap.js +70 -0
- package/es/components/form/form.vue.d.ts +168 -0
- package/es/components/form/form.vue.js +4 -0
- package/es/components/form/form.vue2.js +151 -0
- package/es/components/form/hooks/index.d.ts +2 -0
- package/es/components/form/hooks/index.js +10 -0
- package/es/components/form/hooks/use-form-common-props.d.ts +6 -0
- package/es/components/form/hooks/use-form-common-props.js +28 -0
- package/es/components/form/hooks/use-form-item.d.ts +18 -0
- package/es/components/form/hooks/use-form-item.js +48 -0
- package/es/components/form/index.d.ts +338 -0
- package/es/components/form/index.js +28 -0
- package/es/components/form/style/css.d.ts +0 -0
- package/es/components/form/style/css.js +2 -0
- package/es/components/form/style/index.d.ts +0 -0
- package/es/components/form/style/index.js +2 -0
- package/es/components/form/types.d.ts +43 -0
- package/es/components/form/types.js +9 -0
- package/es/components/form/utils.d.ts +9 -0
- package/es/components/form/utils.js +42 -0
- package/es/components/form-item/style/css.d.ts +0 -0
- package/es/components/form-item/style/css.js +2 -0
- package/es/components/form-item/style/index.d.ts +0 -0
- package/es/components/form-item/style/index.js +2 -0
- package/es/components/full-screen/index.js +4 -3
- package/es/components/header-layout/index.js +4 -3
- package/es/components/icon/icon.vue2.js +24 -24
- package/es/components/icon/index.js +5 -4
- package/es/components/icon-text/icon-text.vue2.js +20 -21
- package/es/components/icon-text/index.js +4 -3
- package/es/components/iframe-layout/index.js +4 -3
- package/es/components/image/index.js +4 -3
- package/es/components/index.d.ts +1 -0
- package/es/components/index.js +119 -103
- package/es/components/input/index.d.ts +4 -4
- package/es/components/input/index.js +4 -3
- package/es/components/input/input.vue.d.ts +4 -4
- package/es/components/input/input.vue2.js +28 -25
- package/es/components/link/index.js +4 -3
- package/es/components/logo/index.js +4 -3
- package/es/components/md-code-demo/index.js +4 -3
- package/es/components/md-code-tabs/index.js +4 -3
- package/es/components/md-comment/index.js +4 -3
- package/es/components/md-container/index.js +4 -3
- package/es/components/md-container/md-container.vue2.js +69 -66
- package/es/components/md-tabs/index.js +4 -3
- package/es/components/md-vue-playground/index.js +4 -3
- package/es/components/menu/index.js +9 -8
- package/es/components/menu/menu-item.vue2.js +4 -3
- package/es/components/menu/menu.vue2.js +1 -1
- package/es/components/menu/sub-menu.vue2.js +3 -2
- package/es/components/message/index.js +8 -7
- package/es/components/multiple-tabs/multiple-tabs.vue2.js +42 -40
- package/es/components/multiple-tabs/tab-content.vue2.js +3 -2
- package/es/components/multiple-tabs/use/use-tab-dropdown.js +20 -20
- package/es/components/overlay/index.js +4 -3
- package/es/components/page-wrapper/index.js +4 -3
- package/es/components/pagination/index.d.ts +2 -2
- package/es/components/pagination/index.js +9 -8
- package/es/components/pagination/pagination.d.ts +2 -2
- package/es/components/popover/index.d.ts +4 -4
- package/es/components/popover/index.js +4 -3
- package/es/components/popper/composables/use-content.d.ts +2 -2
- package/es/components/popper/index.d.ts +2 -2
- package/es/components/popper/index.js +10 -9
- package/es/components/popper/popper.vue.d.ts +2 -2
- package/es/components/qrcode/index.js +4 -3
- package/es/components/result/index.js +4 -3
- package/es/components/result/result.vue2.js +3 -2
- package/es/components/router-view-content/index.js +4 -3
- package/es/components/search/index.d.ts +3 -3
- package/es/components/search/index.js +4 -3
- package/es/components/search/search.vue.d.ts +3 -3
- package/es/components/search/search.vue2.js +3 -2
- package/es/components/side-menu/index.js +4 -3
- package/es/components/side-menu/side-menu.vue2.js +52 -54
- package/es/components/tabs/index.d.ts +2 -2
- package/es/components/tabs/index.js +9 -8
- package/es/components/tabs/tab-nav.vue2.js +4 -3
- package/es/components/tabs/tab-pane.vue2.js +1 -1
- package/es/components/tabs/tabs.vue.d.ts +2 -2
- package/es/components/tag/index.js +4 -3
- package/es/components/tag/tag.vue2.js +8 -7
- package/es/components/tooltip/index.d.ts +8 -8
- package/es/components/tooltip/index.js +4 -3
- package/es/components/tooltip/tooltip.vue.d.ts +2 -2
- package/es/components/tooltip/trigger.vue2.js +1 -1
- package/es/hooks/index.d.ts +2 -0
- package/es/hooks/index.js +30 -25
- package/es/hooks/use-id/index.js +3 -2
- package/es/hooks/use-ordered-children/index.js +5 -4
- package/es/hooks/use-popper/index.d.ts +2 -2
- package/es/hooks/use-prop/index.d.ts +2 -0
- package/es/hooks/use-prop/index.js +11 -0
- package/es/hooks/use-size/index.d.ts +7 -0
- package/es/hooks/use-size/index.js +9 -0
- package/es/index.js +203 -177
- package/es/package.json.js +1 -1
- package/es/utils/index.d.ts +1 -0
- package/es/utils/index.js +27 -22
- package/es/utils/ns-cover.d.ts +12 -0
- package/es/utils/ns-cover.js +17 -5
- package/es/utils/objects.d.ts +4 -0
- package/es/utils/objects.js +12 -0
- package/lib/component.cjs +1 -1
- package/lib/components/avatar/avatar.vue.d.ts +4 -4
- package/lib/components/avatar/index.cjs +1 -1
- package/lib/components/avatar/index.d.ts +4 -4
- package/lib/components/back-top/back-top.vue.d.ts +21 -0
- package/lib/components/back-top/back-top.vue2.cjs +1 -1
- package/lib/components/back-top/index.cjs +1 -1
- package/lib/components/back-top/index.d.ts +8 -1
- package/lib/components/back-top/use-back-top.cjs +1 -1
- package/lib/components/back-top/use-back-top.d.ts +1 -1
- package/lib/components/clamp/index.cjs +1 -1
- package/lib/components/clamp-toggle/clamp-toggle.vue2.cjs +1 -1
- package/lib/components/clamp-toggle/index.cjs +1 -1
- package/lib/components/config-provider/hooks/use-global-config.cjs +1 -1
- package/lib/components/config-provider/index.cjs +1 -1
- package/lib/components/context-menu/context-menu.vue2.cjs +1 -1
- package/lib/components/descriptions/description.vue2.cjs +1 -1
- package/lib/components/descriptions/index.cjs +1 -1
- package/lib/components/divider/divider.vue.d.ts +2 -2
- package/lib/components/divider/index.cjs +1 -1
- package/lib/components/divider/index.d.ts +2 -2
- package/lib/components/empty/index.cjs +1 -1
- package/lib/components/exception/exception.vue2.cjs +1 -1
- package/lib/components/exception/index.cjs +1 -1
- package/lib/components/footer-layout/index.cjs +1 -1
- package/lib/components/form/constants.cjs +1 -0
- package/lib/components/form/constants.d.ts +4 -0
- package/lib/components/form/form-item.vue.cjs +1 -0
- package/lib/components/form/form-item.vue.d.ts +133 -0
- package/lib/components/form/form-item.vue2.cjs +1 -0
- package/lib/components/form/form-label-wrap.cjs +1 -0
- package/lib/components/form/form-label-wrap.d.ts +11 -0
- package/lib/components/form/form.vue.cjs +1 -0
- package/lib/components/form/form.vue.d.ts +168 -0
- package/lib/components/form/form.vue2.cjs +1 -0
- package/lib/components/form/hooks/index.cjs +1 -0
- package/lib/components/form/hooks/index.d.ts +2 -0
- package/lib/components/form/hooks/use-form-common-props.cjs +1 -0
- package/lib/components/form/hooks/use-form-common-props.d.ts +6 -0
- package/lib/components/form/hooks/use-form-item.cjs +1 -0
- package/lib/components/form/hooks/use-form-item.d.ts +18 -0
- package/lib/components/form/index.cjs +1 -0
- package/lib/components/form/index.d.ts +338 -0
- package/lib/components/form/style/css.cjs +1 -0
- package/lib/components/form/style/css.d.ts +0 -0
- package/lib/components/form/style/index.cjs +1 -0
- package/lib/components/form/style/index.d.ts +0 -0
- package/lib/components/form/types.cjs +1 -0
- package/lib/components/form/types.d.ts +43 -0
- package/lib/components/form/utils.cjs +1 -0
- package/lib/components/form/utils.d.ts +9 -0
- package/lib/components/form-item/style/css.cjs +1 -0
- package/lib/components/form-item/style/css.d.ts +0 -0
- package/lib/components/form-item/style/index.cjs +1 -0
- package/lib/components/form-item/style/index.d.ts +0 -0
- package/lib/components/full-screen/index.cjs +1 -1
- package/lib/components/header-layout/index.cjs +1 -1
- package/lib/components/icon/icon.vue2.cjs +1 -1
- package/lib/components/icon/index.cjs +1 -1
- package/lib/components/icon-text/icon-text.vue2.cjs +1 -1
- package/lib/components/icon-text/index.cjs +1 -1
- package/lib/components/iframe-layout/index.cjs +1 -1
- package/lib/components/image/index.cjs +1 -1
- package/lib/components/index.cjs +1 -1
- package/lib/components/index.d.ts +1 -0
- package/lib/components/input/index.cjs +1 -1
- package/lib/components/input/index.d.ts +4 -4
- package/lib/components/input/input.vue.d.ts +4 -4
- package/lib/components/input/input.vue2.cjs +1 -1
- package/lib/components/link/index.cjs +1 -1
- package/lib/components/logo/index.cjs +1 -1
- package/lib/components/md-code-demo/index.cjs +1 -1
- package/lib/components/md-code-tabs/index.cjs +1 -1
- package/lib/components/md-comment/index.cjs +1 -1
- package/lib/components/md-container/index.cjs +1 -1
- package/lib/components/md-container/md-container.vue2.cjs +1 -1
- package/lib/components/md-tabs/index.cjs +1 -1
- package/lib/components/md-vue-playground/index.cjs +1 -1
- package/lib/components/menu/index.cjs +1 -1
- package/lib/components/menu/menu-item.vue2.cjs +1 -1
- package/lib/components/menu/menu.vue2.cjs +1 -1
- package/lib/components/menu/sub-menu.vue2.cjs +1 -1
- package/lib/components/message/index.cjs +1 -1
- package/lib/components/multiple-tabs/multiple-tabs.vue2.cjs +1 -1
- package/lib/components/multiple-tabs/tab-content.vue2.cjs +1 -1
- package/lib/components/multiple-tabs/use/use-tab-dropdown.cjs +1 -1
- package/lib/components/overlay/index.cjs +1 -1
- package/lib/components/page-wrapper/index.cjs +1 -1
- package/lib/components/pagination/index.cjs +1 -1
- package/lib/components/pagination/index.d.ts +2 -2
- package/lib/components/pagination/pagination.d.ts +2 -2
- package/lib/components/popover/index.cjs +1 -1
- package/lib/components/popover/index.d.ts +4 -4
- package/lib/components/popper/composables/use-content.d.ts +2 -2
- package/lib/components/popper/index.cjs +1 -1
- package/lib/components/popper/index.d.ts +2 -2
- package/lib/components/popper/popper.vue.d.ts +2 -2
- package/lib/components/qrcode/index.cjs +1 -1
- package/lib/components/result/index.cjs +1 -1
- package/lib/components/result/result.vue2.cjs +1 -1
- package/lib/components/router-view-content/index.cjs +1 -1
- package/lib/components/search/index.cjs +1 -1
- package/lib/components/search/index.d.ts +3 -3
- package/lib/components/search/search.vue.d.ts +3 -3
- package/lib/components/search/search.vue2.cjs +1 -1
- package/lib/components/side-menu/index.cjs +1 -1
- package/lib/components/side-menu/side-menu.vue2.cjs +1 -1
- package/lib/components/tabs/index.cjs +1 -1
- package/lib/components/tabs/index.d.ts +2 -2
- package/lib/components/tabs/tab-nav.vue2.cjs +1 -1
- package/lib/components/tabs/tab-pane.vue2.cjs +1 -1
- package/lib/components/tabs/tabs.vue.d.ts +2 -2
- package/lib/components/tag/index.cjs +1 -1
- package/lib/components/tag/tag.vue2.cjs +1 -1
- package/lib/components/tooltip/index.cjs +1 -1
- package/lib/components/tooltip/index.d.ts +8 -8
- package/lib/components/tooltip/tooltip.vue.d.ts +2 -2
- package/lib/components/tooltip/trigger.vue2.cjs +1 -1
- package/lib/hooks/index.cjs +1 -1
- package/lib/hooks/index.d.ts +2 -0
- package/lib/hooks/use-id/index.cjs +1 -1
- package/lib/hooks/use-ordered-children/index.cjs +1 -1
- package/lib/hooks/use-popper/index.d.ts +2 -2
- package/lib/hooks/use-prop/index.cjs +1 -0
- package/lib/hooks/use-prop/index.d.ts +2 -0
- package/lib/hooks/use-size/index.cjs +1 -0
- package/lib/hooks/use-size/index.d.ts +7 -0
- package/lib/index.cjs +1 -1
- package/lib/package.json.cjs +1 -1
- package/lib/utils/index.cjs +1 -1
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/ns-cover.cjs +1 -1
- package/lib/utils/ns-cover.d.ts +12 -0
- package/lib/utils/objects.cjs +1 -0
- package/lib/utils/objects.d.ts +4 -0
- package/package.json +4 -5
- package/theme-style/dark/css-vars.css +1 -1
- package/theme-style/index.css +1 -1
- package/theme-style/src/common/var.scss +16 -9
- package/theme-style/src/dark/css-vars.scss +1 -1
- package/theme-style/src/dark/var.scss +13 -12
- package/theme-style/src/form-item.scss +0 -0
- package/theme-style/src/form.scss +241 -0
- package/theme-style/src/header-layout.scss +0 -4
- package/theme-style/src/index.scss +2 -0
- package/theme-style/src/md-container.scss +1 -3
- package/theme-style/src/menu.scss +3 -1
- package/theme-style/src/side-menu.scss +1 -3
- package/theme-style/vft-form-item.css +0 -0
- package/theme-style/vft-form.css +1 -0
- package/theme-style/vft-full-screen.css +1 -1
- package/theme-style/vft-header-layout.css +1 -1
- package/theme-style/vft-loading.css +1 -1
- package/theme-style/vft-md-container.css +1 -1
- package/theme-style/vft-menu.css +1 -1
- package/theme-style/vft-side-menu.css +1 -1
- package/theme-style/vft-tabs.css +1 -1
- package/es/components/back-top/types.d.ts +0 -13
- package/es/components/back-top/types.js +0 -1
- package/lib/components/back-top/types.cjs +0 -1
- package/lib/components/back-top/types.d.ts +0 -13
|
@@ -2,9 +2,10 @@ import { withInstall as t } from "../../utils/vue/install.js";
|
|
|
2
2
|
import "vue";
|
|
3
3
|
import "@vft/utils";
|
|
4
4
|
import "../../utils/ns-cover.js";
|
|
5
|
+
import "lodash";
|
|
5
6
|
import i from "./divider.vue2.js";
|
|
6
|
-
const
|
|
7
|
+
const s = t(i);
|
|
7
8
|
export {
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
s as VftDivider,
|
|
10
|
+
s as default
|
|
10
11
|
};
|
|
@@ -2,11 +2,12 @@ import { withInstall as t } from "../../utils/vue/install.js";
|
|
|
2
2
|
import "vue";
|
|
3
3
|
import "@vft/utils";
|
|
4
4
|
import "../../utils/ns-cover.js";
|
|
5
|
+
import "lodash";
|
|
5
6
|
import m from "./empty.vue2.js";
|
|
6
|
-
import { EmptyEnum as
|
|
7
|
-
const
|
|
7
|
+
import { EmptyEnum as l } from "./constants.js";
|
|
8
|
+
const n = t(m);
|
|
8
9
|
export {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
10
|
+
l as EmptyEnum,
|
|
11
|
+
n as VftEmpty,
|
|
12
|
+
n as default
|
|
12
13
|
};
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { defineComponent as f, openBlock as
|
|
2
|
-
import
|
|
1
|
+
import { defineComponent as f, openBlock as i, createBlock as a, unref as e, withCtx as c, createElementBlock as s, createCommentVNode as l } from "vue";
|
|
2
|
+
import "@vft/utils";
|
|
3
|
+
import { generateCssVars as y } from "../../utils/ns-cover.js";
|
|
4
|
+
import "lodash";
|
|
3
5
|
import { useRouter as k } from "vue-router";
|
|
4
6
|
import { useRouterHelper as x } from "@vft/router";
|
|
5
7
|
import { useTabs as C } from "@vft/store";
|
|
6
8
|
import { VftResult as R } from "../result/index.js";
|
|
7
9
|
import d from "./exception.png.js";
|
|
8
|
-
const
|
|
10
|
+
const N = /* @__PURE__ */ f({
|
|
9
11
|
__name: "exception",
|
|
10
12
|
props: {
|
|
11
13
|
title: { default: "页面打不开?刷新下试试" },
|
|
@@ -13,28 +15,28 @@ const E = /* @__PURE__ */ f({
|
|
|
13
15
|
showHome: { type: Boolean }
|
|
14
16
|
},
|
|
15
17
|
setup(o) {
|
|
16
|
-
const
|
|
18
|
+
const p = k(), { goRoot: n } = x(p), { refreshPage: m } = C(), u = {
|
|
17
19
|
...y({
|
|
18
20
|
"title-font-size": "16px"
|
|
19
21
|
}, "result")
|
|
20
22
|
};
|
|
21
|
-
return (h, t) => (
|
|
23
|
+
return (h, t) => (i(), a(e(R), {
|
|
22
24
|
title: o.title,
|
|
23
25
|
icon: { icon: e(d), size: 350 },
|
|
24
|
-
style:
|
|
26
|
+
style: u
|
|
25
27
|
}, {
|
|
26
28
|
extra: c(() => [
|
|
27
|
-
o.showHome ? (
|
|
29
|
+
o.showHome ? (i(), s("button", {
|
|
28
30
|
key: 0,
|
|
29
31
|
type: "primary",
|
|
30
32
|
onClick: t[0] || (t[0] = //@ts-ignore
|
|
31
|
-
(...r) => e(
|
|
33
|
+
(...r) => e(n) && e(n)(...r))
|
|
32
34
|
}, "返回主页")) : l("", !0),
|
|
33
|
-
o.showRefresh ? (
|
|
35
|
+
o.showRefresh ? (i(), s("button", {
|
|
34
36
|
key: 1,
|
|
35
37
|
type: "primary",
|
|
36
38
|
onClick: t[1] || (t[1] = //@ts-ignore
|
|
37
|
-
(...r) => e(
|
|
39
|
+
(...r) => e(m) && e(m)(...r))
|
|
38
40
|
}, "刷新页面")) : l("", !0)
|
|
39
41
|
]),
|
|
40
42
|
_: 1
|
|
@@ -42,5 +44,5 @@ const E = /* @__PURE__ */ f({
|
|
|
42
44
|
}
|
|
43
45
|
});
|
|
44
46
|
export {
|
|
45
|
-
|
|
47
|
+
N as default
|
|
46
48
|
};
|
|
@@ -2,9 +2,10 @@ import { withInstall as t } from "../../utils/vue/install.js";
|
|
|
2
2
|
import "vue";
|
|
3
3
|
import "@vft/utils";
|
|
4
4
|
import "../../utils/ns-cover.js";
|
|
5
|
+
import "lodash";
|
|
5
6
|
import o from "./exception.vue2.js";
|
|
6
|
-
const
|
|
7
|
+
const n = t(o);
|
|
7
8
|
export {
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
n as VftException,
|
|
10
|
+
n as default
|
|
10
11
|
};
|
|
@@ -2,9 +2,10 @@ import { withInstall as t } from "../../utils/vue/install.js";
|
|
|
2
2
|
import "vue";
|
|
3
3
|
import "@vft/utils";
|
|
4
4
|
import "../../utils/ns-cover.js";
|
|
5
|
+
import "lodash";
|
|
5
6
|
import o from "./footer-layout.vue2.js";
|
|
6
|
-
const
|
|
7
|
+
const s = t(o);
|
|
7
8
|
export {
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
s as VftFooterLayout,
|
|
10
|
+
s as default
|
|
10
11
|
};
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import type { PropType as __PropType } from 'vue';
|
|
2
|
+
import { ComponentSize } from '../types';
|
|
3
|
+
import type { FormItemProp, FormItemRule } from './types';
|
|
4
|
+
export interface FormItemProps {
|
|
5
|
+
label?: string;
|
|
6
|
+
labelWidth?: Numberish;
|
|
7
|
+
prop?: FormItemProp;
|
|
8
|
+
required?: boolean;
|
|
9
|
+
rules?: FormItemRule;
|
|
10
|
+
error?: string;
|
|
11
|
+
for?: string;
|
|
12
|
+
validateStatus?: string;
|
|
13
|
+
inlineMessage?: string | boolean;
|
|
14
|
+
showMessage?: boolean;
|
|
15
|
+
size?: ComponentSize;
|
|
16
|
+
}
|
|
17
|
+
declare const _sfc_main: import("vue").DefineComponent<{
|
|
18
|
+
label: {
|
|
19
|
+
type: __PropType<string | undefined>;
|
|
20
|
+
required: false;
|
|
21
|
+
};
|
|
22
|
+
labelWidth: {
|
|
23
|
+
type: __PropType<Numberish | undefined>;
|
|
24
|
+
required: false;
|
|
25
|
+
};
|
|
26
|
+
prop: {
|
|
27
|
+
type: __PropType<FormItemProp | undefined>;
|
|
28
|
+
required: false;
|
|
29
|
+
};
|
|
30
|
+
required: {
|
|
31
|
+
type: __PropType<boolean | undefined>;
|
|
32
|
+
required: false;
|
|
33
|
+
};
|
|
34
|
+
rules: {
|
|
35
|
+
type: __PropType<FormItemRule | undefined>;
|
|
36
|
+
required: false;
|
|
37
|
+
};
|
|
38
|
+
error: {
|
|
39
|
+
type: __PropType<string | undefined>;
|
|
40
|
+
required: false;
|
|
41
|
+
};
|
|
42
|
+
for: {
|
|
43
|
+
type: __PropType<string | undefined>;
|
|
44
|
+
required: false;
|
|
45
|
+
};
|
|
46
|
+
validateStatus: {
|
|
47
|
+
type: __PropType<string | undefined>;
|
|
48
|
+
required: false;
|
|
49
|
+
};
|
|
50
|
+
inlineMessage: {
|
|
51
|
+
type: __PropType<string | boolean | undefined>;
|
|
52
|
+
required: false;
|
|
53
|
+
};
|
|
54
|
+
showMessage: {
|
|
55
|
+
type: __PropType<boolean | undefined>;
|
|
56
|
+
required: false;
|
|
57
|
+
};
|
|
58
|
+
size: {
|
|
59
|
+
type: __PropType<ComponentSize | undefined>;
|
|
60
|
+
required: false;
|
|
61
|
+
};
|
|
62
|
+
}, {
|
|
63
|
+
/**
|
|
64
|
+
* @description Form item size.
|
|
65
|
+
*/
|
|
66
|
+
size: import("vue").ComputedRef<"" | "large" | "small" | "default">;
|
|
67
|
+
/**
|
|
68
|
+
* @description Validation message.
|
|
69
|
+
*/
|
|
70
|
+
validateMessage: import("vue").Ref<string>;
|
|
71
|
+
/**
|
|
72
|
+
* @description Validation state.
|
|
73
|
+
*/
|
|
74
|
+
validateState: import("vue").Ref<"" | "error" | "validating" | "success">;
|
|
75
|
+
/**
|
|
76
|
+
* @description Validate form item.
|
|
77
|
+
*/
|
|
78
|
+
validate: (trigger: string, callback?: import("./types").FormValidateCallback | undefined) => import("./types").FormValidationResult;
|
|
79
|
+
/**
|
|
80
|
+
* @description Remove validation status of the field.
|
|
81
|
+
*/
|
|
82
|
+
clearValidate: () => void;
|
|
83
|
+
/**
|
|
84
|
+
* @description Reset current field and remove validation result.
|
|
85
|
+
*/
|
|
86
|
+
resetField: () => void;
|
|
87
|
+
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
88
|
+
label: {
|
|
89
|
+
type: __PropType<string | undefined>;
|
|
90
|
+
required: false;
|
|
91
|
+
};
|
|
92
|
+
labelWidth: {
|
|
93
|
+
type: __PropType<Numberish | undefined>;
|
|
94
|
+
required: false;
|
|
95
|
+
};
|
|
96
|
+
prop: {
|
|
97
|
+
type: __PropType<FormItemProp | undefined>;
|
|
98
|
+
required: false;
|
|
99
|
+
};
|
|
100
|
+
required: {
|
|
101
|
+
type: __PropType<boolean | undefined>;
|
|
102
|
+
required: false;
|
|
103
|
+
};
|
|
104
|
+
rules: {
|
|
105
|
+
type: __PropType<FormItemRule | undefined>;
|
|
106
|
+
required: false;
|
|
107
|
+
};
|
|
108
|
+
error: {
|
|
109
|
+
type: __PropType<string | undefined>;
|
|
110
|
+
required: false;
|
|
111
|
+
};
|
|
112
|
+
for: {
|
|
113
|
+
type: __PropType<string | undefined>;
|
|
114
|
+
required: false;
|
|
115
|
+
};
|
|
116
|
+
validateStatus: {
|
|
117
|
+
type: __PropType<string | undefined>;
|
|
118
|
+
required: false;
|
|
119
|
+
};
|
|
120
|
+
inlineMessage: {
|
|
121
|
+
type: __PropType<string | boolean | undefined>;
|
|
122
|
+
required: false;
|
|
123
|
+
};
|
|
124
|
+
showMessage: {
|
|
125
|
+
type: __PropType<boolean | undefined>;
|
|
126
|
+
required: false;
|
|
127
|
+
};
|
|
128
|
+
size: {
|
|
129
|
+
type: __PropType<ComponentSize | undefined>;
|
|
130
|
+
required: false;
|
|
131
|
+
};
|
|
132
|
+
}>>, {}>;
|
|
133
|
+
export default _sfc_main;
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import { defineComponent as Y, useSlots as me, inject as D, ref as h, computed as o, watch as E, reactive as he, toRefs as ge, provide as ye, onMounted as be, onBeforeUnmount as Se, openBlock as L, createElementBlock as _e, normalizeClass as g, unref as i, createVNode as T, withCtx as F, createBlock as Ie, resolveDynamicComponent as Ve, normalizeStyle as G, renderSlot as M, createTextVNode as qe, toDisplayString as K, createCommentVNode as U, createElementVNode as O, TransitionGroup as we, nextTick as Fe } from "vue";
|
|
2
|
+
import Me from "async-validator";
|
|
3
|
+
import { castArray as H, clone as J } from "lodash";
|
|
4
|
+
import { refDebounced as Re } from "@vueuse/core";
|
|
5
|
+
import { addUnit as Q, isBoolean as We, isString as ze, isFunction as Be } from "@vft/utils";
|
|
6
|
+
import "../../utils/ns-cover.js";
|
|
7
|
+
import { getProp as R } from "../../utils/objects.js";
|
|
8
|
+
import { useNamespace as $e } from "../../hooks/use-namespace/index.js";
|
|
9
|
+
import "@popperjs/core";
|
|
10
|
+
import "../../hooks/use-z-index/index.js";
|
|
11
|
+
import { useId as Ne } from "../../hooks/use-id/index.js";
|
|
12
|
+
import { useFormSize as Ae } from "./hooks/use-form-common-props.js";
|
|
13
|
+
import { formContextKey as Pe, formItemContextKey as X } from "./constants.js";
|
|
14
|
+
import je from "./form-label-wrap.js";
|
|
15
|
+
const De = ["role", "aria-labelledby"], n = (
|
|
16
|
+
/* hoist-static*/
|
|
17
|
+
$e("form-item")
|
|
18
|
+
), Ee = Y({
|
|
19
|
+
name: n.b()
|
|
20
|
+
}), xe = /* @__PURE__ */ Y({
|
|
21
|
+
...Ee,
|
|
22
|
+
props: {
|
|
23
|
+
label: null,
|
|
24
|
+
labelWidth: null,
|
|
25
|
+
prop: null,
|
|
26
|
+
required: { type: Boolean },
|
|
27
|
+
rules: null,
|
|
28
|
+
error: null,
|
|
29
|
+
for: null,
|
|
30
|
+
validateStatus: null,
|
|
31
|
+
inlineMessage: { type: [String, Boolean] },
|
|
32
|
+
showMessage: { type: Boolean },
|
|
33
|
+
size: null
|
|
34
|
+
},
|
|
35
|
+
setup(Z, { expose: k }) {
|
|
36
|
+
const t = Z, W = me(), e = D(Pe, void 0), C = D(X, void 0), y = Ae(void 0, { formItem: !1 }), b = Ne().value, d = h([]), p = h(""), x = Re(p, 100), c = h(""), z = h();
|
|
37
|
+
let B, m = !1;
|
|
38
|
+
const $ = o(() => {
|
|
39
|
+
if ((e == null ? void 0 : e.labelPosition) === "top")
|
|
40
|
+
return {};
|
|
41
|
+
const r = Q(t.labelWidth || (e == null ? void 0 : e.labelWidth) || "");
|
|
42
|
+
return r ? { width: r } : {};
|
|
43
|
+
}), ee = o(() => {
|
|
44
|
+
if ((e == null ? void 0 : e.labelPosition) === "top" || e != null && e.inline)
|
|
45
|
+
return {};
|
|
46
|
+
if (!t.label && !t.labelWidth && le)
|
|
47
|
+
return {};
|
|
48
|
+
const r = Q(t.labelWidth || (e == null ? void 0 : e.labelWidth) || "");
|
|
49
|
+
return !t.label && !W.label ? { marginLeft: r } : {};
|
|
50
|
+
}), re = o(() => [
|
|
51
|
+
n.b(),
|
|
52
|
+
n.m(y.value),
|
|
53
|
+
n.is("error", p.value === "error"),
|
|
54
|
+
n.is("validating", p.value === "validating"),
|
|
55
|
+
n.is("success", p.value === "success"),
|
|
56
|
+
n.is("required", ne.value || t.required),
|
|
57
|
+
n.is("no-asterisk", e == null ? void 0 : e.hideRequiredAsterisk),
|
|
58
|
+
(e == null ? void 0 : e.requireAsteriskPosition) === "right" ? "asterisk-right" : "asterisk-left",
|
|
59
|
+
{ [n.m("feedback")]: e == null ? void 0 : e.statusIcon }
|
|
60
|
+
]), se = o(
|
|
61
|
+
() => We(t.inlineMessage) ? t.inlineMessage : (e == null ? void 0 : e.inlineMessage) || !1
|
|
62
|
+
), te = o(() => [
|
|
63
|
+
n.e("error"),
|
|
64
|
+
{ [n.em("error", "inline")]: se.value }
|
|
65
|
+
]), ie = o(() => t.prop ? ze(t.prop) ? t.prop : t.prop.join(".") : ""), S = o(() => !!(t.label || W.label)), _ = o(() => t.for || d.value.length === 1 ? d.value[0] : void 0), I = o(() => !_.value && S.value), le = !!C, N = o(() => {
|
|
66
|
+
const r = e == null ? void 0 : e.model;
|
|
67
|
+
if (!(!r || !t.prop))
|
|
68
|
+
return R(r, t.prop).value;
|
|
69
|
+
}), V = o(() => {
|
|
70
|
+
const { required: r } = t, s = [];
|
|
71
|
+
t.rules && s.push(...H(t.rules));
|
|
72
|
+
const l = e == null ? void 0 : e.rules;
|
|
73
|
+
if (l && t.prop) {
|
|
74
|
+
const a = R(
|
|
75
|
+
l,
|
|
76
|
+
t.prop
|
|
77
|
+
).value;
|
|
78
|
+
a && s.push(...H(a));
|
|
79
|
+
}
|
|
80
|
+
if (r !== void 0) {
|
|
81
|
+
const a = s.map((u, f) => [u, f]).filter(([u]) => Object.keys(u).includes("required"));
|
|
82
|
+
if (a.length > 0)
|
|
83
|
+
for (const [u, f] of a)
|
|
84
|
+
u.required !== r && (s[f] = { ...u, required: r });
|
|
85
|
+
else
|
|
86
|
+
s.push({ required: r });
|
|
87
|
+
}
|
|
88
|
+
return s;
|
|
89
|
+
}), ae = o(() => V.value.length > 0), oe = (r) => V.value.filter((l) => !l.trigger || !r ? !0 : Array.isArray(l.trigger) ? l.trigger.includes(r) : l.trigger === r).map(({ trigger: l, ...a }) => a), ne = o(
|
|
90
|
+
() => V.value.some((r) => r.required)
|
|
91
|
+
), ue = o(
|
|
92
|
+
() => x.value === "error" && t.showMessage && ((e == null ? void 0 : e.showMessage) ?? !0)
|
|
93
|
+
), A = o(
|
|
94
|
+
() => `${t.label || ""}${(e == null ? void 0 : e.labelSuffix) || ""}`
|
|
95
|
+
), v = (r) => {
|
|
96
|
+
p.value = r;
|
|
97
|
+
}, de = (r) => {
|
|
98
|
+
var a;
|
|
99
|
+
const { errors: s, fields: l } = r;
|
|
100
|
+
(!s || !l) && console.error(r), v("error"), c.value = s ? ((a = s == null ? void 0 : s[0]) == null ? void 0 : a.message) ?? `${t.prop} is required` : "", e == null || e.emit("validate", t.prop, !1, c.value);
|
|
101
|
+
}, pe = () => {
|
|
102
|
+
v("success"), e == null || e.emit("validate", t.prop, !0, "");
|
|
103
|
+
}, ce = async (r) => {
|
|
104
|
+
const s = ie.value;
|
|
105
|
+
return new Me({
|
|
106
|
+
[s]: r
|
|
107
|
+
}).validate({ [s]: N.value }, { firstFields: !0 }).then(() => (pe(), !0)).catch((a) => (de(a), Promise.reject(a)));
|
|
108
|
+
}, P = async (r, s) => {
|
|
109
|
+
if (m || !t.prop)
|
|
110
|
+
return !1;
|
|
111
|
+
const l = Be(s);
|
|
112
|
+
if (!ae.value)
|
|
113
|
+
return s == null || s(!1), !1;
|
|
114
|
+
const a = oe(r);
|
|
115
|
+
return a.length === 0 ? (s == null || s(!0), !0) : (v("validating"), ce(a).then(() => (s == null || s(!0), !0)).catch((u) => {
|
|
116
|
+
const { fields: f } = u;
|
|
117
|
+
return s == null || s(!1, f), l ? !1 : Promise.reject(f);
|
|
118
|
+
}));
|
|
119
|
+
}, q = () => {
|
|
120
|
+
v(""), c.value = "", m = !1;
|
|
121
|
+
}, j = async () => {
|
|
122
|
+
const r = e == null ? void 0 : e.model;
|
|
123
|
+
if (!r || !t.prop)
|
|
124
|
+
return;
|
|
125
|
+
const s = R(r, t.prop);
|
|
126
|
+
m = !0, s.value = J(B), await Fe(), q(), m = !1;
|
|
127
|
+
}, ve = (r) => {
|
|
128
|
+
d.value.includes(r) || d.value.push(r);
|
|
129
|
+
}, fe = (r) => {
|
|
130
|
+
d.value = d.value.filter((s) => s !== r);
|
|
131
|
+
};
|
|
132
|
+
E(
|
|
133
|
+
() => t.error,
|
|
134
|
+
(r) => {
|
|
135
|
+
c.value = r || "", v(r ? "error" : "");
|
|
136
|
+
},
|
|
137
|
+
{ immediate: !0 }
|
|
138
|
+
), E(
|
|
139
|
+
() => t.validateStatus,
|
|
140
|
+
(r) => v(r || "")
|
|
141
|
+
);
|
|
142
|
+
const w = he({
|
|
143
|
+
...ge(t),
|
|
144
|
+
$el: z,
|
|
145
|
+
size: y,
|
|
146
|
+
validateState: p,
|
|
147
|
+
labelId: b,
|
|
148
|
+
inputIds: d,
|
|
149
|
+
isGroup: I,
|
|
150
|
+
hasLabel: S,
|
|
151
|
+
addInputId: ve,
|
|
152
|
+
removeInputId: fe,
|
|
153
|
+
resetField: j,
|
|
154
|
+
clearValidate: q,
|
|
155
|
+
validate: P
|
|
156
|
+
});
|
|
157
|
+
return ye(X, w), be(() => {
|
|
158
|
+
t.prop && (e == null || e.addField(w), B = J(N.value));
|
|
159
|
+
}), Se(() => {
|
|
160
|
+
e == null || e.removeField(w);
|
|
161
|
+
}), k({
|
|
162
|
+
/**
|
|
163
|
+
* @description Form item size.
|
|
164
|
+
*/
|
|
165
|
+
size: y,
|
|
166
|
+
/**
|
|
167
|
+
* @description Validation message.
|
|
168
|
+
*/
|
|
169
|
+
validateMessage: c,
|
|
170
|
+
/**
|
|
171
|
+
* @description Validation state.
|
|
172
|
+
*/
|
|
173
|
+
validateState: p,
|
|
174
|
+
/**
|
|
175
|
+
* @description Validate form item.
|
|
176
|
+
*/
|
|
177
|
+
validate: P,
|
|
178
|
+
/**
|
|
179
|
+
* @description Remove validation status of the field.
|
|
180
|
+
*/
|
|
181
|
+
clearValidate: q,
|
|
182
|
+
/**
|
|
183
|
+
* @description Reset current field and remove validation result.
|
|
184
|
+
*/
|
|
185
|
+
resetField: j
|
|
186
|
+
}), (r, s) => {
|
|
187
|
+
var l;
|
|
188
|
+
return L(), _e("div", {
|
|
189
|
+
ref_key: "formItemRef",
|
|
190
|
+
ref: z,
|
|
191
|
+
class: g(i(re)),
|
|
192
|
+
role: i(I) ? "group" : void 0,
|
|
193
|
+
"aria-labelledby": i(I) ? i(b) : void 0
|
|
194
|
+
}, [
|
|
195
|
+
T(i(je), {
|
|
196
|
+
"is-auto-width": i($).width === "auto",
|
|
197
|
+
"update-all": ((l = i(e)) == null ? void 0 : l.labelWidth) === "auto"
|
|
198
|
+
}, {
|
|
199
|
+
default: F(() => [
|
|
200
|
+
i(S) ? (L(), Ie(Ve(i(_) ? "label" : "div"), {
|
|
201
|
+
key: 0,
|
|
202
|
+
id: i(b),
|
|
203
|
+
for: i(_),
|
|
204
|
+
class: g(i(n).e("label")),
|
|
205
|
+
style: G(i($))
|
|
206
|
+
}, {
|
|
207
|
+
default: F(() => [
|
|
208
|
+
M(r.$slots, "label", { label: i(A) }, () => [
|
|
209
|
+
qe(K(i(A)), 1)
|
|
210
|
+
])
|
|
211
|
+
]),
|
|
212
|
+
_: 3
|
|
213
|
+
}, 8, ["id", "for", "class", "style"])) : U("", !0)
|
|
214
|
+
]),
|
|
215
|
+
_: 3
|
|
216
|
+
}, 8, ["is-auto-width", "update-all"]),
|
|
217
|
+
O("div", {
|
|
218
|
+
class: g(i(n).e("content")),
|
|
219
|
+
style: G(i(ee))
|
|
220
|
+
}, [
|
|
221
|
+
M(r.$slots, "default"),
|
|
222
|
+
T(we, {
|
|
223
|
+
name: `${i(n).namespace.value}-zoom-in-top`
|
|
224
|
+
}, {
|
|
225
|
+
default: F(() => [
|
|
226
|
+
i(ue) ? M(r.$slots, "error", {
|
|
227
|
+
key: 0,
|
|
228
|
+
error: c.value
|
|
229
|
+
}, () => [
|
|
230
|
+
O("div", {
|
|
231
|
+
class: g(i(te))
|
|
232
|
+
}, K(c.value), 3)
|
|
233
|
+
]) : U("", !0)
|
|
234
|
+
]),
|
|
235
|
+
_: 3
|
|
236
|
+
}, 8, ["name"])
|
|
237
|
+
], 6)
|
|
238
|
+
], 10, De);
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
export {
|
|
243
|
+
xe as default
|
|
244
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{
|
|
2
|
+
isAutoWidth: BooleanConstructor;
|
|
3
|
+
updateAll: BooleanConstructor;
|
|
4
|
+
}, () => JSX.Element | null, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
5
|
+
isAutoWidth: BooleanConstructor;
|
|
6
|
+
updateAll: BooleanConstructor;
|
|
7
|
+
}>>, {
|
|
8
|
+
isAutoWidth: boolean;
|
|
9
|
+
updateAll: boolean;
|
|
10
|
+
}>;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { defineComponent as N, inject as h, ref as s, onMounted as A, onBeforeUnmount as E, onUpdated as y, watch as M, computed as F, createVNode as b, Fragment as B, nextTick as O } from "vue";
|
|
2
|
+
import { useResizeObserver as P } from "@vueuse/core";
|
|
3
|
+
import "@vft/utils";
|
|
4
|
+
import { throwError as C } from "../../utils/error.js";
|
|
5
|
+
import "../../utils/ns-cover.js";
|
|
6
|
+
import "lodash";
|
|
7
|
+
import { useNamespace as K } from "../../hooks/use-namespace/index.js";
|
|
8
|
+
import "@popperjs/core";
|
|
9
|
+
import "../../hooks/use-z-index/index.js";
|
|
10
|
+
import { formContextKey as R, formItemContextKey as T } from "./constants.js";
|
|
11
|
+
const W = "VftLabelWrap", x = /* @__PURE__ */ N({
|
|
12
|
+
name: W,
|
|
13
|
+
props: {
|
|
14
|
+
isAutoWidth: Boolean,
|
|
15
|
+
updateAll: Boolean
|
|
16
|
+
},
|
|
17
|
+
setup(l, {
|
|
18
|
+
slots: i
|
|
19
|
+
}) {
|
|
20
|
+
const t = h(R, void 0), n = h(T);
|
|
21
|
+
n || C(W, "usage: <vft-form-item><label-wrap /></vft-form-item>");
|
|
22
|
+
const v = K("form"), r = s(), o = s(0), L = () => {
|
|
23
|
+
var e;
|
|
24
|
+
if ((e = r.value) != null && e.firstElementChild) {
|
|
25
|
+
const a = window.getComputedStyle(r.value.firstElementChild).width;
|
|
26
|
+
return Math.ceil(Number.parseFloat(a));
|
|
27
|
+
} else
|
|
28
|
+
return 0;
|
|
29
|
+
}, m = (e = "update") => {
|
|
30
|
+
O(() => {
|
|
31
|
+
i.default && l.isAutoWidth && (e === "update" ? o.value = L() : e === "remove" && (t == null || t.deregisterLabelWidth(o.value)));
|
|
32
|
+
});
|
|
33
|
+
}, u = () => m("update");
|
|
34
|
+
return A(() => {
|
|
35
|
+
u();
|
|
36
|
+
}), E(() => {
|
|
37
|
+
m("remove");
|
|
38
|
+
}), y(() => u()), M(o, (e, a) => {
|
|
39
|
+
l.updateAll && (t == null || t.registerLabelWidth(e, a));
|
|
40
|
+
}), P(F(() => {
|
|
41
|
+
var e;
|
|
42
|
+
return ((e = r.value) == null ? void 0 : e.firstElementChild) ?? null;
|
|
43
|
+
}), u), () => {
|
|
44
|
+
var a, f;
|
|
45
|
+
if (!i)
|
|
46
|
+
return null;
|
|
47
|
+
const {
|
|
48
|
+
isAutoWidth: e
|
|
49
|
+
} = l;
|
|
50
|
+
if (e) {
|
|
51
|
+
const d = t == null ? void 0 : t.autoLabelWidth, g = n == null ? void 0 : n.hasLabel, p = {};
|
|
52
|
+
if (g && d && d !== "auto") {
|
|
53
|
+
const c = Math.max(0, Number.parseInt(d, 10) - o.value), w = t.labelPosition === "left" ? "marginRight" : "marginLeft";
|
|
54
|
+
c && (p[w] = `${c}px`);
|
|
55
|
+
}
|
|
56
|
+
return b("div", {
|
|
57
|
+
ref: r,
|
|
58
|
+
class: [v.be("item", "label-wrap")],
|
|
59
|
+
style: p
|
|
60
|
+
}, [(a = i.default) == null ? void 0 : a.call(i)]);
|
|
61
|
+
} else
|
|
62
|
+
return b(B, {
|
|
63
|
+
ref: r
|
|
64
|
+
}, [(f = i.default) == null ? void 0 : f.call(i)]);
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
export {
|
|
69
|
+
x as default
|
|
70
|
+
};
|