@keyblade/pro-components 1.13.8-alpha.1 → 1.13.8-alpha.3
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/es/components.d.ts +2 -0
- package/es/global-props.d.ts +7 -0
- package/es/global-props.js +4 -0
- package/es/index.d.ts +5 -1
- package/es/index.js +27 -22
- package/es/inerface.d.ts +1 -0
- package/es/pro-date-range-picker/pro-date-range-picker.vue.js +2 -2
- package/es/pro-date-range-picker/pro-date-range-picker.vue2.js +59 -50
- package/es/pro-footer-bar/index.d.ts +38 -0
- package/es/pro-footer-bar/index.js +11 -0
- package/es/pro-footer-bar/index.vue.d.ts +24 -0
- package/es/pro-footer-bar/index.vue.js +7 -0
- package/es/pro-footer-bar/index.vue2.js +44 -0
- package/es/pro-footer-bar/inerface.d.ts +7 -0
- package/es/pro-image-upload/image-upload.vue.d.ts +1 -1
- package/es/pro-image-upload/index.d.ts +3 -3
- package/es/pro-page-container/index.d.ts +36 -130
- package/es/pro-page-container/index.js +7 -6
- package/es/pro-page-container/inerface.d.ts +12 -0
- package/es/pro-page-container/pro-page-container.vue.d.ts +21 -79
- package/es/pro-page-container/pro-page-container.vue.js +38 -36
- package/es/pro-textarea/index.d.ts +25 -0
- package/es/pro-textarea/index.js +11 -0
- package/es/pro-textarea/index.vue.d.ts +4 -0
- package/es/pro-textarea/index.vue.js +7 -0
- package/es/pro-textarea/index.vue2.js +40 -0
- package/es/pro-textarea/inerface.d.ts +43 -0
- package/es/style.css +1 -1
- package/package.json +1 -1
package/es/components.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ declare module 'vue' {
|
|
|
8
8
|
KbProMenu: typeof import('./index')['ProMenu'];
|
|
9
9
|
KbProPageContainer: typeof import('./index')['ProPageContainer'];
|
|
10
10
|
KbProReuseTabs: typeof import('./index')['ProReuseTabs'];
|
|
11
|
+
KbProFooterBar: typeof import('./index')['ProFooterBar'];
|
|
12
|
+
KbProTextarea: typeof import('./index')['ProTextarea'];
|
|
11
13
|
}
|
|
12
14
|
}
|
|
13
15
|
export {};
|
package/es/index.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { App } from 'vue';
|
|
2
|
+
import { GlobalProps } from './global-props';
|
|
2
3
|
declare const _default: {
|
|
3
|
-
install(app: App): void;
|
|
4
|
+
install(app: App, options?: GlobalProps): void;
|
|
4
5
|
};
|
|
5
6
|
export default _default;
|
|
6
7
|
export { default as ProPageHeader } from './pro-page-header';
|
|
7
8
|
export { default as ProKeepAliveRouterView } from './pro-keep-alive-router-view';
|
|
8
9
|
export { default as ProLayout } from './pro-layout';
|
|
10
|
+
export { default as ProFooterBar } from './pro-footer-bar';
|
|
9
11
|
export { default as ProMenu } from './pro-menu';
|
|
10
12
|
export type { IProMenuItem } from './pro-menu';
|
|
11
13
|
export { default as ProPageContainer } from './pro-page-container';
|
|
@@ -14,5 +16,7 @@ export type { IProTab } from './pro-reuse-tabs';
|
|
|
14
16
|
export { default as ProImageUpload } from './pro-image-upload';
|
|
15
17
|
export * from './pro-image-upload';
|
|
16
18
|
export { default as ProDateRangePicker } from './pro-date-range-picker';
|
|
19
|
+
export { default as ProTextarea } from './pro-textarea';
|
|
17
20
|
export { default as ProTable } from './pro-table';
|
|
18
21
|
export type {} from './components';
|
|
22
|
+
export * from './inerface';
|
package/es/index.js
CHANGED
|
@@ -1,30 +1,35 @@
|
|
|
1
1
|
import { ProPageHeader as e } from "./pro-page-header/index.js";
|
|
2
|
-
import { ProKeepAliveRouterView as
|
|
3
|
-
import { ProLayout as
|
|
4
|
-
import { ProMenu as
|
|
5
|
-
import { ProPageContainer as
|
|
6
|
-
import { ProReuseTabs as
|
|
2
|
+
import { ProKeepAliveRouterView as m } from "./pro-keep-alive-router-view/index.js";
|
|
3
|
+
import { ProLayout as t } from "./pro-layout/index.js";
|
|
4
|
+
import { ProMenu as i } from "./pro-menu/index.js";
|
|
5
|
+
import { ProPageContainer as s } from "./pro-page-container/index.js";
|
|
6
|
+
import { ProReuseTabs as f } from "./pro-reuse-tabs/index.js";
|
|
7
7
|
import { ProImageUpload as u } from "./pro-image-upload/index.js";
|
|
8
|
-
import { ProDateRangePicker as
|
|
9
|
-
import { ProTable as
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
import { ProDateRangePicker as a } from "./pro-date-range-picker/index.js";
|
|
9
|
+
import { ProTable as P } from "./pro-table/index.js";
|
|
10
|
+
import { ProTextarea as l } from "./pro-textarea/index.js";
|
|
11
|
+
import { ProFooterBar as n } from "./pro-footer-bar/index.js";
|
|
12
|
+
import { globalProps as d } from "./global-props.js";
|
|
13
|
+
import { EImageUploadInnerBeforeUploadStep as y } from "./pro-image-upload/types.js";
|
|
14
|
+
import { defaultImageUploadOptions as C } from "./pro-image-upload/constant.js";
|
|
15
|
+
const k = {
|
|
16
|
+
install(o, r) {
|
|
17
|
+
Object.assign(d, r || {}), o.use(e), o.use(m), o.use(t), o.use(n), o.use(i), o.use(s), o.use(f), o.use(u), o.use(a), o.use(l), o.use(P);
|
|
15
18
|
}
|
|
16
19
|
};
|
|
17
20
|
export {
|
|
18
|
-
|
|
19
|
-
|
|
21
|
+
y as EImageUploadInnerBeforeUploadStep,
|
|
22
|
+
a as ProDateRangePicker,
|
|
23
|
+
n as ProFooterBar,
|
|
20
24
|
u as ProImageUpload,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
+
m as ProKeepAliveRouterView,
|
|
26
|
+
t as ProLayout,
|
|
27
|
+
i as ProMenu,
|
|
28
|
+
s as ProPageContainer,
|
|
25
29
|
e as ProPageHeader,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
f as ProReuseTabs,
|
|
31
|
+
P as ProTable,
|
|
32
|
+
l as ProTextarea,
|
|
33
|
+
k as default,
|
|
34
|
+
C as defaultImageUploadOptions
|
|
30
35
|
};
|
package/es/inerface.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './pro-footer-bar/inerface';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import o from "./pro-date-range-picker.vue2.js";
|
|
2
2
|
/* empty css */
|
|
3
|
-
import
|
|
4
|
-
const _ = /* @__PURE__ */
|
|
3
|
+
import e from "../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const _ = /* @__PURE__ */ e(o, [["__scopeId", "data-v-960e2e33"]]);
|
|
5
5
|
export {
|
|
6
6
|
_ as default
|
|
7
7
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { defineComponent as R, ref as
|
|
2
|
-
import
|
|
1
|
+
import { defineComponent as R, ref as m, computed as h, resolveComponent as y, createElementBlock as w, openBlock as N, normalizeClass as q, createVNode as n, mergeProps as c, withCtx as f, createTextVNode as A, toDisplayString as H, nextTick as D } from "vue";
|
|
2
|
+
import o from "dayjs";
|
|
3
3
|
import { range as p } from "./pro-date-range-picker.js";
|
|
4
|
-
const
|
|
4
|
+
const I = "keyblade-pro-date-range-picker", $ = /* @__PURE__ */ R({
|
|
5
5
|
__name: "pro-date-range-picker",
|
|
6
6
|
props: {
|
|
7
7
|
modelValue: {},
|
|
@@ -16,102 +16,111 @@ const M = "keyblade-pro-date-range-picker", w = /* @__PURE__ */ R({
|
|
|
16
16
|
datePickerProps: {}
|
|
17
17
|
},
|
|
18
18
|
emits: ["update:modelValue"],
|
|
19
|
-
setup(
|
|
20
|
-
const e =
|
|
19
|
+
setup(F, { emit: g }) {
|
|
20
|
+
const e = F, V = g, k = m(), P = m(), i = m(), s = h({
|
|
21
21
|
get: () => e.modelValue[e.startField],
|
|
22
22
|
set: (t) => {
|
|
23
|
-
|
|
23
|
+
V("update:modelValue", {
|
|
24
24
|
...e.modelValue,
|
|
25
25
|
[e.startField]: t
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
|
-
}),
|
|
28
|
+
}), b = h({
|
|
29
29
|
get: () => e.modelValue[e.endField],
|
|
30
30
|
set: (t) => {
|
|
31
|
-
|
|
31
|
+
V("update:modelValue", {
|
|
32
32
|
...e.modelValue,
|
|
33
33
|
[e.endField]: t
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
|
-
}), v = (t) =>
|
|
36
|
+
}), v = (t) => {
|
|
37
|
+
var l;
|
|
38
|
+
if (!e.modelValue[e.endField]) return !1;
|
|
39
|
+
let a = o(e.modelValue[e.endField]);
|
|
40
|
+
return e.intraday && !((l = e.datePickerProps) != null && l.showTime) && (a = a.add(1, "day")), o(t).isAfter(a);
|
|
41
|
+
}, S = (t) => {
|
|
42
|
+
var d;
|
|
43
|
+
return e.modelValue[e.startField] ? (e.intraday && ((d = e.datePickerProps) != null && d.showTime) && t.setDate(t.getDate() + 1), o(t).isBefore(o(e.modelValue[e.startField]))) : !1;
|
|
44
|
+
}, C = (t) => {
|
|
37
45
|
if (!e.modelValue[e.startField] || !t || !e.intraday) {
|
|
38
|
-
|
|
46
|
+
i.value = {};
|
|
39
47
|
return;
|
|
40
48
|
}
|
|
41
|
-
const a =
|
|
42
|
-
if (!a.isSame(
|
|
43
|
-
|
|
49
|
+
const a = o(e.modelValue[e.startField]), d = o(t);
|
|
50
|
+
if (!a.isSame(d, "day")) {
|
|
51
|
+
i.value = {};
|
|
44
52
|
return;
|
|
45
53
|
}
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
disabledHours: () => p(0,
|
|
49
|
-
disabledMinutes: (
|
|
50
|
-
disabledSeconds: (
|
|
54
|
+
const l = a.hour(), r = a.minute(), _ = a.second();
|
|
55
|
+
i.value = {
|
|
56
|
+
disabledHours: () => p(0, l),
|
|
57
|
+
disabledMinutes: (u) => u === l ? p(0, r) : [],
|
|
58
|
+
disabledSeconds: (u, B) => u === l && B === r ? p(0, _) : []
|
|
51
59
|
};
|
|
52
|
-
},
|
|
60
|
+
}, T = () => {
|
|
53
61
|
setTimeout(() => {
|
|
54
|
-
e.modelValue[e.
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
62
|
+
const t = e.modelValue[e.endField], a = e.modelValue[e.startField];
|
|
63
|
+
o(a).isAfter(o(t)) && (s.value = t), t && !a && D(() => {
|
|
64
|
+
var l;
|
|
65
|
+
const d = (l = P.value) == null ? void 0 : l.$el.parentElement.querySelector("input");
|
|
66
|
+
d && d.click();
|
|
58
67
|
});
|
|
59
68
|
});
|
|
60
|
-
},
|
|
69
|
+
}, E = () => {
|
|
61
70
|
setTimeout(() => {
|
|
62
|
-
e.modelValue[e.endField] && !e.modelValue[e.startField] &&
|
|
71
|
+
e.modelValue[e.endField] && !e.modelValue[e.startField] && D(() => {
|
|
63
72
|
var a;
|
|
64
|
-
const t = (a =
|
|
73
|
+
const t = (a = k.value) == null ? void 0 : a.$el.parentElement.querySelector("input");
|
|
65
74
|
t && t.click();
|
|
66
75
|
});
|
|
67
76
|
});
|
|
68
77
|
};
|
|
69
78
|
return (t, a) => {
|
|
70
|
-
const
|
|
71
|
-
return
|
|
72
|
-
class:
|
|
79
|
+
const d = y("a-date-picker"), l = y("a-form-item");
|
|
80
|
+
return N(), w("div", {
|
|
81
|
+
class: q(I)
|
|
73
82
|
}, [
|
|
74
|
-
|
|
83
|
+
n(l, c(t.formItemProps, {
|
|
75
84
|
field: t.startField,
|
|
76
85
|
"hide-label": t.hideLabel
|
|
77
86
|
}), {
|
|
78
|
-
default:
|
|
79
|
-
|
|
87
|
+
default: f(() => [
|
|
88
|
+
n(d, c({
|
|
80
89
|
ref_key: "startDatePickerRef",
|
|
81
|
-
ref:
|
|
82
|
-
modelValue:
|
|
83
|
-
"onUpdate:modelValue": a[0] || (a[0] = (
|
|
90
|
+
ref: k,
|
|
91
|
+
modelValue: s.value,
|
|
92
|
+
"onUpdate:modelValue": a[0] || (a[0] = (r) => s.value = r)
|
|
84
93
|
}, t.datePickerProps, {
|
|
85
94
|
placeholder: t.startPlaceholder,
|
|
86
|
-
"disabled-date": (
|
|
87
|
-
onChange:
|
|
95
|
+
"disabled-date": (r) => v(r),
|
|
96
|
+
onChange: T
|
|
88
97
|
}), null, 16, ["modelValue", "placeholder", "disabled-date"])
|
|
89
98
|
]),
|
|
90
99
|
_: 1
|
|
91
100
|
}, 16, ["field", "hide-label"]),
|
|
92
|
-
|
|
93
|
-
default:
|
|
94
|
-
|
|
101
|
+
n(l, { "hide-label": "" }, {
|
|
102
|
+
default: f(() => [
|
|
103
|
+
A(H(t.separator), 1)
|
|
95
104
|
]),
|
|
96
105
|
_: 1
|
|
97
106
|
}),
|
|
98
|
-
|
|
107
|
+
n(l, {
|
|
99
108
|
field: t.endField,
|
|
100
109
|
"hide-label": "",
|
|
101
110
|
style: { "margin-right": "0px" }
|
|
102
111
|
}, {
|
|
103
|
-
default:
|
|
104
|
-
|
|
112
|
+
default: f(() => [
|
|
113
|
+
n(d, c({
|
|
105
114
|
ref_key: "endDatePickerRef",
|
|
106
|
-
ref:
|
|
107
|
-
modelValue:
|
|
108
|
-
"onUpdate:modelValue": a[1] || (a[1] = (
|
|
115
|
+
ref: P,
|
|
116
|
+
modelValue: b.value,
|
|
117
|
+
"onUpdate:modelValue": a[1] || (a[1] = (r) => b.value = r)
|
|
109
118
|
}, t.datePickerProps, {
|
|
110
119
|
placeholder: t.endPlaceholder,
|
|
111
|
-
"disabled-date": (
|
|
112
|
-
"disabled-time": () =>
|
|
120
|
+
"disabled-date": (r) => S(r),
|
|
121
|
+
"disabled-time": () => i.value,
|
|
113
122
|
onSelect: C,
|
|
114
|
-
onChange:
|
|
123
|
+
onChange: E
|
|
115
124
|
}), null, 16, ["modelValue", "placeholder", "disabled-date", "disabled-time"])
|
|
116
125
|
]),
|
|
117
126
|
_: 1
|
|
@@ -121,5 +130,5 @@ const M = "keyblade-pro-date-range-picker", w = /* @__PURE__ */ R({
|
|
|
121
130
|
}
|
|
122
131
|
});
|
|
123
132
|
export {
|
|
124
|
-
|
|
133
|
+
$ as default
|
|
125
134
|
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { App } from 'vue';
|
|
2
|
+
declare const ProFooterBar: {
|
|
3
|
+
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('./inerface').ProFooterBarProps> & Readonly<{
|
|
4
|
+
onBack?: (() => any) | undefined;
|
|
5
|
+
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
6
|
+
back: () => any;
|
|
7
|
+
}, import('vue').PublicProps, {
|
|
8
|
+
backText: string;
|
|
9
|
+
}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
|
|
10
|
+
P: {};
|
|
11
|
+
B: {};
|
|
12
|
+
D: {};
|
|
13
|
+
C: {};
|
|
14
|
+
M: {};
|
|
15
|
+
Defaults: {};
|
|
16
|
+
}, Readonly<import('./inerface').ProFooterBarProps> & Readonly<{
|
|
17
|
+
onBack?: (() => any) | undefined;
|
|
18
|
+
}>, {}, {}, {}, {}, {
|
|
19
|
+
backText: string;
|
|
20
|
+
}>;
|
|
21
|
+
__isFragment?: never;
|
|
22
|
+
__isTeleport?: never;
|
|
23
|
+
__isSuspense?: never;
|
|
24
|
+
} & import('vue').ComponentOptionsBase<Readonly<import('./inerface').ProFooterBarProps> & Readonly<{
|
|
25
|
+
onBack?: (() => any) | undefined;
|
|
26
|
+
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
27
|
+
back: () => any;
|
|
28
|
+
}, string, {
|
|
29
|
+
backText: string;
|
|
30
|
+
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
|
|
31
|
+
$slots: {
|
|
32
|
+
default?(_: {}): any;
|
|
33
|
+
};
|
|
34
|
+
}) & {
|
|
35
|
+
install: (app: App) => void;
|
|
36
|
+
};
|
|
37
|
+
export { ProFooterBar };
|
|
38
|
+
export default ProFooterBar;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import r from "./index.vue.js";
|
|
2
|
+
import { Button as t, Space as e } from "@arco-design/web-vue";
|
|
3
|
+
const n = Object.assign(r, {
|
|
4
|
+
install: (o) => {
|
|
5
|
+
o.use(t), o.use(e), o.component("KbProFooterBar", r);
|
|
6
|
+
}
|
|
7
|
+
});
|
|
8
|
+
export {
|
|
9
|
+
n as ProFooterBar,
|
|
10
|
+
n as default
|
|
11
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { ProFooterBarProps } from './inerface';
|
|
2
|
+
declare function __VLS_template(): {
|
|
3
|
+
attrs: Partial<{}>;
|
|
4
|
+
slots: {
|
|
5
|
+
default?(_: {}): any;
|
|
6
|
+
};
|
|
7
|
+
refs: {};
|
|
8
|
+
rootEl: HTMLDivElement;
|
|
9
|
+
};
|
|
10
|
+
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
11
|
+
declare const __VLS_component: import('vue').DefineComponent<ProFooterBarProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
12
|
+
back: () => any;
|
|
13
|
+
}, string, import('vue').PublicProps, Readonly<ProFooterBarProps> & Readonly<{
|
|
14
|
+
onBack?: (() => any) | undefined;
|
|
15
|
+
}>, {
|
|
16
|
+
backText: string;
|
|
17
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
18
|
+
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
19
|
+
export default _default;
|
|
20
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
21
|
+
new (): {
|
|
22
|
+
$slots: S;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { defineComponent as u, computed as f, resolveComponent as t, createElementBlock as B, openBlock as _, normalizeClass as b, createVNode as a, withCtx as n, withDirectives as h, renderSlot as v, createTextVNode as x, toDisplayString as C, vShow as g } from "vue";
|
|
2
|
+
import { globalProps as c } from "../global-props.js";
|
|
3
|
+
const w = "keyblade-pro-footer-bar", S = /* @__PURE__ */ u({
|
|
4
|
+
__name: "index",
|
|
5
|
+
props: {
|
|
6
|
+
hideBack: { type: Boolean },
|
|
7
|
+
backText: { default: "返回" },
|
|
8
|
+
onBack: {}
|
|
9
|
+
},
|
|
10
|
+
emits: ["back"],
|
|
11
|
+
setup(r, { emit: s }) {
|
|
12
|
+
const l = r, i = s, p = () => {
|
|
13
|
+
var e, o;
|
|
14
|
+
i("back"), (o = (e = c.footerBar) == null ? void 0 : e.onBack) == null || o.call(e);
|
|
15
|
+
}, d = f(() => {
|
|
16
|
+
var e;
|
|
17
|
+
return l.hideBack || ((e = c.footerBar) == null ? void 0 : e.hideBack);
|
|
18
|
+
});
|
|
19
|
+
return (e, o) => {
|
|
20
|
+
const m = t("a-button"), k = t("a-space");
|
|
21
|
+
return _(), B("div", {
|
|
22
|
+
class: b(w)
|
|
23
|
+
}, [
|
|
24
|
+
a(k, null, {
|
|
25
|
+
default: n(() => [
|
|
26
|
+
h(a(m, { onClick: p }, {
|
|
27
|
+
default: n(() => [
|
|
28
|
+
x(C(e.backText), 1)
|
|
29
|
+
]),
|
|
30
|
+
_: 1
|
|
31
|
+
}, 512), [
|
|
32
|
+
[g, !d.value]
|
|
33
|
+
]),
|
|
34
|
+
v(e.$slots, "default", {}, void 0, !0)
|
|
35
|
+
]),
|
|
36
|
+
_: 3
|
|
37
|
+
})
|
|
38
|
+
]);
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
export {
|
|
43
|
+
S as default
|
|
44
|
+
};
|
|
@@ -609,8 +609,8 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_PublicProps,
|
|
|
609
609
|
onCropperImgLoad?: ((value: File) => any) | undefined;
|
|
610
610
|
}>, {
|
|
611
611
|
name: string;
|
|
612
|
-
accept: string[];
|
|
613
612
|
disabled: boolean;
|
|
613
|
+
accept: string[];
|
|
614
614
|
multiple: boolean;
|
|
615
615
|
singleLimit: number;
|
|
616
616
|
hideInnerBeforeUploadLoading: boolean;
|
|
@@ -528,8 +528,8 @@ declare const ProImageUpload: {
|
|
|
528
528
|
cropperImgLoad: (value: File) => any;
|
|
529
529
|
}, import('vue').PublicProps, {
|
|
530
530
|
name: string;
|
|
531
|
-
accept: string[];
|
|
532
531
|
disabled: boolean;
|
|
532
|
+
accept: string[];
|
|
533
533
|
multiple: boolean;
|
|
534
534
|
singleLimit: number;
|
|
535
535
|
hideInnerBeforeUploadLoading: boolean;
|
|
@@ -1103,8 +1103,8 @@ declare const ProImageUpload: {
|
|
|
1103
1103
|
isUploadComplete: import('vue').ComputedRef<boolean>;
|
|
1104
1104
|
}, {}, {}, {}, {
|
|
1105
1105
|
name: string;
|
|
1106
|
-
accept: string[];
|
|
1107
1106
|
disabled: boolean;
|
|
1107
|
+
accept: string[];
|
|
1108
1108
|
multiple: boolean;
|
|
1109
1109
|
singleLimit: number;
|
|
1110
1110
|
hideInnerBeforeUploadLoading: boolean;
|
|
@@ -1640,8 +1640,8 @@ declare const ProImageUpload: {
|
|
|
1640
1640
|
cropperImgLoad: (value: File) => any;
|
|
1641
1641
|
}, string, {
|
|
1642
1642
|
name: string;
|
|
1643
|
-
accept: string[];
|
|
1644
1643
|
disabled: boolean;
|
|
1644
|
+
accept: string[];
|
|
1645
1645
|
multiple: boolean;
|
|
1646
1646
|
singleLimit: number;
|
|
1647
1647
|
hideInnerBeforeUploadLoading: boolean;
|
|
@@ -1,151 +1,57 @@
|
|
|
1
1
|
import { App } from 'vue';
|
|
2
2
|
declare const ProPageContainer: {
|
|
3
|
-
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<
|
|
4
|
-
hidePageHeader
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
titlePosition?: "top" | "bottom";
|
|
14
|
-
hideTitle?: boolean;
|
|
15
|
-
breadcrumbRouterMode?: boolean;
|
|
16
|
-
breadcrumbPrefixIcon?: boolean | string;
|
|
17
|
-
breadcrumbItems?: {
|
|
18
|
-
label: string;
|
|
19
|
-
path?: string;
|
|
20
|
-
}[];
|
|
21
|
-
}>;
|
|
22
|
-
required: false;
|
|
23
|
-
default: () => {
|
|
24
|
-
title: string;
|
|
25
|
-
subTitle: string;
|
|
26
|
-
titlePosition: string;
|
|
27
|
-
hideTitle: boolean;
|
|
28
|
-
breadcrumbRouterMode: boolean;
|
|
29
|
-
breadcrumbPrefixIcon: string;
|
|
30
|
-
breadcrumbItems: never[];
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
}>> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
|
|
3
|
+
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
|
|
4
|
+
hidePageHeader?: boolean;
|
|
5
|
+
showFooterBar?: boolean;
|
|
6
|
+
footerBarOptions?: import('..').ProFooterBarProps;
|
|
7
|
+
pageHeader?: import('./inerface').PageHeaderProps;
|
|
8
|
+
}> & Readonly<{
|
|
9
|
+
onBack?: (() => any) | undefined;
|
|
10
|
+
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
11
|
+
back: () => any;
|
|
12
|
+
}, import('vue').PublicProps, {
|
|
34
13
|
hidePageHeader: boolean;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
titlePosition?: "top" | "bottom";
|
|
39
|
-
hideTitle?: boolean;
|
|
40
|
-
breadcrumbRouterMode?: boolean;
|
|
41
|
-
breadcrumbPrefixIcon?: boolean | string;
|
|
42
|
-
breadcrumbItems?: {
|
|
43
|
-
label: string;
|
|
44
|
-
path?: string;
|
|
45
|
-
}[];
|
|
46
|
-
};
|
|
47
|
-
}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
|
|
14
|
+
showFooterBar: boolean;
|
|
15
|
+
pageHeader: import('./inerface').PageHeaderProps;
|
|
16
|
+
}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
|
|
48
17
|
P: {};
|
|
49
18
|
B: {};
|
|
50
19
|
D: {};
|
|
51
20
|
C: {};
|
|
52
21
|
M: {};
|
|
53
22
|
Defaults: {};
|
|
54
|
-
}, Readonly<
|
|
55
|
-
hidePageHeader
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
title?: string;
|
|
63
|
-
subTitle?: string;
|
|
64
|
-
titlePosition?: "top" | "bottom";
|
|
65
|
-
hideTitle?: boolean;
|
|
66
|
-
breadcrumbRouterMode?: boolean;
|
|
67
|
-
breadcrumbPrefixIcon?: boolean | string;
|
|
68
|
-
breadcrumbItems?: {
|
|
69
|
-
label: string;
|
|
70
|
-
path?: string;
|
|
71
|
-
}[];
|
|
72
|
-
}>;
|
|
73
|
-
required: false;
|
|
74
|
-
default: () => {
|
|
75
|
-
title: string;
|
|
76
|
-
subTitle: string;
|
|
77
|
-
titlePosition: string;
|
|
78
|
-
hideTitle: boolean;
|
|
79
|
-
breadcrumbRouterMode: boolean;
|
|
80
|
-
breadcrumbPrefixIcon: string;
|
|
81
|
-
breadcrumbItems: never[];
|
|
82
|
-
};
|
|
83
|
-
};
|
|
84
|
-
}>> & Readonly<{}>, {}, {}, {}, {}, {
|
|
23
|
+
}, Readonly<{
|
|
24
|
+
hidePageHeader?: boolean;
|
|
25
|
+
showFooterBar?: boolean;
|
|
26
|
+
footerBarOptions?: import('..').ProFooterBarProps;
|
|
27
|
+
pageHeader?: import('./inerface').PageHeaderProps;
|
|
28
|
+
}> & Readonly<{
|
|
29
|
+
onBack?: (() => any) | undefined;
|
|
30
|
+
}>, {}, {}, {}, {}, {
|
|
85
31
|
hidePageHeader: boolean;
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
subTitle?: string;
|
|
89
|
-
titlePosition?: "top" | "bottom";
|
|
90
|
-
hideTitle?: boolean;
|
|
91
|
-
breadcrumbRouterMode?: boolean;
|
|
92
|
-
breadcrumbPrefixIcon?: boolean | string;
|
|
93
|
-
breadcrumbItems?: {
|
|
94
|
-
label: string;
|
|
95
|
-
path?: string;
|
|
96
|
-
}[];
|
|
97
|
-
};
|
|
32
|
+
showFooterBar: boolean;
|
|
33
|
+
pageHeader: import('./inerface').PageHeaderProps;
|
|
98
34
|
}>;
|
|
99
35
|
__isFragment?: never;
|
|
100
36
|
__isTeleport?: never;
|
|
101
37
|
__isSuspense?: never;
|
|
102
|
-
} & import('vue').ComponentOptionsBase<Readonly<
|
|
103
|
-
hidePageHeader
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
titlePosition?: "top" | "bottom";
|
|
113
|
-
hideTitle?: boolean;
|
|
114
|
-
breadcrumbRouterMode?: boolean;
|
|
115
|
-
breadcrumbPrefixIcon?: boolean | string;
|
|
116
|
-
breadcrumbItems?: {
|
|
117
|
-
label: string;
|
|
118
|
-
path?: string;
|
|
119
|
-
}[];
|
|
120
|
-
}>;
|
|
121
|
-
required: false;
|
|
122
|
-
default: () => {
|
|
123
|
-
title: string;
|
|
124
|
-
subTitle: string;
|
|
125
|
-
titlePosition: string;
|
|
126
|
-
hideTitle: boolean;
|
|
127
|
-
breadcrumbRouterMode: boolean;
|
|
128
|
-
breadcrumbPrefixIcon: string;
|
|
129
|
-
breadcrumbItems: never[];
|
|
130
|
-
};
|
|
131
|
-
};
|
|
132
|
-
}>> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
|
|
38
|
+
} & import('vue').ComponentOptionsBase<Readonly<{
|
|
39
|
+
hidePageHeader?: boolean;
|
|
40
|
+
showFooterBar?: boolean;
|
|
41
|
+
footerBarOptions?: import('..').ProFooterBarProps;
|
|
42
|
+
pageHeader?: import('./inerface').PageHeaderProps;
|
|
43
|
+
}> & Readonly<{
|
|
44
|
+
onBack?: (() => any) | undefined;
|
|
45
|
+
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
46
|
+
back: () => any;
|
|
47
|
+
}, string, {
|
|
133
48
|
hidePageHeader: boolean;
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
subTitle?: string;
|
|
137
|
-
titlePosition?: "top" | "bottom";
|
|
138
|
-
hideTitle?: boolean;
|
|
139
|
-
breadcrumbRouterMode?: boolean;
|
|
140
|
-
breadcrumbPrefixIcon?: boolean | string;
|
|
141
|
-
breadcrumbItems?: {
|
|
142
|
-
label: string;
|
|
143
|
-
path?: string;
|
|
144
|
-
}[];
|
|
145
|
-
};
|
|
49
|
+
showFooterBar: boolean;
|
|
50
|
+
pageHeader: import('./inerface').PageHeaderProps;
|
|
146
51
|
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
|
|
147
52
|
$slots: {
|
|
148
53
|
default?(_: {}): any;
|
|
54
|
+
footerBar?(_: {}): any;
|
|
149
55
|
};
|
|
150
56
|
}) & {
|
|
151
57
|
install: (app: App) => void;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import
|
|
1
|
+
import r from "./pro-page-container.vue.js";
|
|
2
2
|
/* empty css */
|
|
3
|
-
import { ProPageHeader as
|
|
4
|
-
|
|
3
|
+
import { ProPageHeader as e } from "../pro-page-header/index.js";
|
|
4
|
+
import { ProFooterBar as t } from "../pro-footer-bar/index.js";
|
|
5
|
+
const s = Object.assign(r, {
|
|
5
6
|
install: (o) => {
|
|
6
|
-
o.use(
|
|
7
|
+
o.use(e), o.use(t), o.component("KbProPageContainer", r);
|
|
7
8
|
}
|
|
8
9
|
});
|
|
9
10
|
export {
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
s as ProPageContainer,
|
|
12
|
+
s as default
|
|
12
13
|
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface PageHeaderProps {
|
|
2
|
+
title?: string;
|
|
3
|
+
subTitle?: string;
|
|
4
|
+
titlePosition?: 'top' | 'bottom';
|
|
5
|
+
hideTitle?: boolean;
|
|
6
|
+
breadcrumbRouterMode?: boolean;
|
|
7
|
+
breadcrumbPrefixIcon?: boolean | string;
|
|
8
|
+
breadcrumbItems?: {
|
|
9
|
+
label: string;
|
|
10
|
+
path?: string;
|
|
11
|
+
}[];
|
|
12
|
+
}
|
|
@@ -1,92 +1,34 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ProFooterBarProps } from '../pro-footer-bar/inerface';
|
|
2
|
+
import { PageHeaderProps } from './inerface';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
/** 是否隐藏页头 */
|
|
5
|
+
hidePageHeader?: boolean;
|
|
6
|
+
/** 是否显示底部栏 */
|
|
7
|
+
showFooterBar?: boolean;
|
|
8
|
+
/** 底部栏属性 */
|
|
9
|
+
footerBarOptions?: ProFooterBarProps;
|
|
10
|
+
/** 页头属性 */
|
|
11
|
+
pageHeader?: PageHeaderProps;
|
|
12
|
+
};
|
|
2
13
|
declare function __VLS_template(): {
|
|
3
14
|
attrs: Partial<{}>;
|
|
4
15
|
slots: {
|
|
5
16
|
default?(_: {}): any;
|
|
17
|
+
footerBar?(_: {}): any;
|
|
6
18
|
};
|
|
7
19
|
refs: {};
|
|
8
20
|
rootEl: HTMLDivElement;
|
|
9
21
|
};
|
|
10
22
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
11
|
-
declare const __VLS_component: import('vue').DefineComponent<import('vue').
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
default: boolean;
|
|
17
|
-
};
|
|
18
|
-
/** 页头属性 */
|
|
19
|
-
pageHeader: {
|
|
20
|
-
type: PropType<{
|
|
21
|
-
title?: string;
|
|
22
|
-
subTitle?: string;
|
|
23
|
-
titlePosition?: "top" | "bottom";
|
|
24
|
-
hideTitle?: boolean;
|
|
25
|
-
breadcrumbRouterMode?: boolean;
|
|
26
|
-
breadcrumbPrefixIcon?: boolean | string;
|
|
27
|
-
breadcrumbItems?: {
|
|
28
|
-
label: string;
|
|
29
|
-
path?: string;
|
|
30
|
-
}[];
|
|
31
|
-
}>;
|
|
32
|
-
required: false;
|
|
33
|
-
default: () => {
|
|
34
|
-
title: string;
|
|
35
|
-
subTitle: string;
|
|
36
|
-
titlePosition: string;
|
|
37
|
-
hideTitle: boolean;
|
|
38
|
-
breadcrumbRouterMode: boolean;
|
|
39
|
-
breadcrumbPrefixIcon: string;
|
|
40
|
-
breadcrumbItems: never[];
|
|
41
|
-
};
|
|
42
|
-
};
|
|
43
|
-
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
44
|
-
/** 是否隐藏页头 */
|
|
45
|
-
hidePageHeader: {
|
|
46
|
-
type: PropType<boolean>;
|
|
47
|
-
required: false;
|
|
48
|
-
default: boolean;
|
|
49
|
-
};
|
|
50
|
-
/** 页头属性 */
|
|
51
|
-
pageHeader: {
|
|
52
|
-
type: PropType<{
|
|
53
|
-
title?: string;
|
|
54
|
-
subTitle?: string;
|
|
55
|
-
titlePosition?: "top" | "bottom";
|
|
56
|
-
hideTitle?: boolean;
|
|
57
|
-
breadcrumbRouterMode?: boolean;
|
|
58
|
-
breadcrumbPrefixIcon?: boolean | string;
|
|
59
|
-
breadcrumbItems?: {
|
|
60
|
-
label: string;
|
|
61
|
-
path?: string;
|
|
62
|
-
}[];
|
|
63
|
-
}>;
|
|
64
|
-
required: false;
|
|
65
|
-
default: () => {
|
|
66
|
-
title: string;
|
|
67
|
-
subTitle: string;
|
|
68
|
-
titlePosition: string;
|
|
69
|
-
hideTitle: boolean;
|
|
70
|
-
breadcrumbRouterMode: boolean;
|
|
71
|
-
breadcrumbPrefixIcon: string;
|
|
72
|
-
breadcrumbItems: never[];
|
|
73
|
-
};
|
|
74
|
-
};
|
|
75
|
-
}>> & Readonly<{}>, {
|
|
23
|
+
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
24
|
+
back: () => any;
|
|
25
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
26
|
+
onBack?: (() => any) | undefined;
|
|
27
|
+
}>, {
|
|
76
28
|
hidePageHeader: boolean;
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
titlePosition?: "top" | "bottom";
|
|
81
|
-
hideTitle?: boolean;
|
|
82
|
-
breadcrumbRouterMode?: boolean;
|
|
83
|
-
breadcrumbPrefixIcon?: boolean | string;
|
|
84
|
-
breadcrumbItems?: {
|
|
85
|
-
label: string;
|
|
86
|
-
path?: string;
|
|
87
|
-
}[];
|
|
88
|
-
};
|
|
89
|
-
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
29
|
+
showFooterBar: boolean;
|
|
30
|
+
pageHeader: PageHeaderProps;
|
|
31
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
90
32
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
91
33
|
export default _default;
|
|
92
34
|
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
@@ -1,54 +1,56 @@
|
|
|
1
|
-
import { defineComponent as
|
|
2
|
-
const
|
|
1
|
+
import { defineComponent as k, computed as h, resolveComponent as i, createElementBlock as B, openBlock as o, normalizeClass as s, createBlock as n, createCommentVNode as d, createElementVNode as P, renderSlot as l, mergeProps as H, withCtx as I } from "vue";
|
|
2
|
+
const r = "keyblade-pro-page-container", v = /* @__PURE__ */ k({
|
|
3
3
|
__name: "pro-page-container",
|
|
4
4
|
props: {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
subTitle: "",
|
|
18
|
-
titlePosition: "top",
|
|
19
|
-
hideTitle: !1,
|
|
20
|
-
breadcrumbRouterMode: !1,
|
|
21
|
-
breadcrumbPrefixIcon: "icon-apps",
|
|
22
|
-
breadcrumbItems: []
|
|
23
|
-
})
|
|
24
|
-
}
|
|
5
|
+
hidePageHeader: { type: Boolean, default: !1 },
|
|
6
|
+
showFooterBar: { type: Boolean, default: !1 },
|
|
7
|
+
footerBarOptions: {},
|
|
8
|
+
pageHeader: { default: () => ({
|
|
9
|
+
title: "",
|
|
10
|
+
subTitle: "",
|
|
11
|
+
titlePosition: "top",
|
|
12
|
+
hideTitle: !1,
|
|
13
|
+
breadcrumbRouterMode: !1,
|
|
14
|
+
breadcrumbPrefixIcon: "icon-apps",
|
|
15
|
+
breadcrumbItems: []
|
|
16
|
+
}) }
|
|
25
17
|
},
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
18
|
+
emits: ["back"],
|
|
19
|
+
setup(p, { emit: b }) {
|
|
20
|
+
const u = b, m = p, c = h(() => m.showFooterBar ? [r, `${r}-with-footer-bar`] : [r]);
|
|
21
|
+
return (e, t) => {
|
|
22
|
+
var a;
|
|
23
|
+
const f = i("kb-pro-page-header"), g = i("kb-pro-footer-bar");
|
|
24
|
+
return o(), B("div", {
|
|
25
|
+
class: s(c.value)
|
|
32
26
|
}, [
|
|
33
|
-
e.hidePageHeader ?
|
|
27
|
+
e.hidePageHeader ? d("", !0) : (o(), n(f, {
|
|
34
28
|
key: 0,
|
|
35
29
|
title: e.pageHeader.title,
|
|
36
30
|
subTitle: e.pageHeader.subTitle,
|
|
37
31
|
titlePosition: e.pageHeader.titlePosition,
|
|
38
32
|
hideTitle: e.pageHeader.hideTitle,
|
|
39
|
-
breadcrumbRouterMode: (
|
|
33
|
+
breadcrumbRouterMode: (a = e.pageHeader) == null ? void 0 : a.breadcrumbRouterMode,
|
|
40
34
|
breadcrumbPrefixIcon: e.pageHeader.breadcrumbPrefixIcon,
|
|
41
35
|
breadcrumbItems: e.pageHeader.breadcrumbItems
|
|
42
36
|
}, null, 8, ["title", "subTitle", "titlePosition", "hideTitle", "breadcrumbRouterMode", "breadcrumbPrefixIcon", "breadcrumbItems"])),
|
|
43
|
-
|
|
44
|
-
class:
|
|
37
|
+
P("div", {
|
|
38
|
+
class: s(`${r}-content`)
|
|
45
39
|
}, [
|
|
46
|
-
|
|
47
|
-
], 2)
|
|
48
|
-
|
|
40
|
+
l(e.$slots, "default")
|
|
41
|
+
], 2),
|
|
42
|
+
e.showFooterBar ? (o(), n(g, H({ key: 1 }, e.footerBarOptions, {
|
|
43
|
+
onBack: t[0] || (t[0] = (T) => u("back"))
|
|
44
|
+
}), {
|
|
45
|
+
default: I(() => [
|
|
46
|
+
l(e.$slots, "footerBar")
|
|
47
|
+
]),
|
|
48
|
+
_: 3
|
|
49
|
+
}, 16)) : d("", !0)
|
|
50
|
+
], 2);
|
|
49
51
|
};
|
|
50
52
|
}
|
|
51
53
|
});
|
|
52
54
|
export {
|
|
53
|
-
|
|
55
|
+
v as default
|
|
54
56
|
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { App } from 'vue';
|
|
2
|
+
import { ProTextareaProps } from './inerface';
|
|
3
|
+
declare const ProTextarea: {
|
|
4
|
+
new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<Partial<import('./inerface').IProTextarea>> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
|
|
5
|
+
showWordLimit: boolean;
|
|
6
|
+
}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
|
|
7
|
+
P: {};
|
|
8
|
+
B: {};
|
|
9
|
+
D: {};
|
|
10
|
+
C: {};
|
|
11
|
+
M: {};
|
|
12
|
+
Defaults: {};
|
|
13
|
+
}, Readonly<Partial<import('./inerface').IProTextarea>> & Readonly<{}>, {}, {}, {}, {}, {
|
|
14
|
+
showWordLimit: boolean;
|
|
15
|
+
}>;
|
|
16
|
+
__isFragment?: never;
|
|
17
|
+
__isTeleport?: never;
|
|
18
|
+
__isSuspense?: never;
|
|
19
|
+
} & import('vue').ComponentOptionsBase<Readonly<Partial<import('./inerface').IProTextarea>> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
|
|
20
|
+
showWordLimit: boolean;
|
|
21
|
+
}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & {
|
|
22
|
+
install: (app: App) => void;
|
|
23
|
+
};
|
|
24
|
+
export { ProTextarea, type ProTextareaProps };
|
|
25
|
+
export default ProTextarea;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<Partial<import('./inerface').IProTextarea>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Partial<import('./inerface').IProTextarea>> & Readonly<{}>, {
|
|
2
|
+
showWordLimit: boolean;
|
|
3
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
4
|
+
export default _default;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { defineComponent as d, useAttrs as m, computed as n, resolveComponent as f, createBlock as x, openBlock as _, mergeProps as h, toHandlers as y } from "vue";
|
|
2
|
+
import { conclude as B } from "vue-global-config";
|
|
3
|
+
import { globalProps as v } from "../global-props.js";
|
|
4
|
+
const r = "keyblade-pro-textarea", g = /* @__PURE__ */ d({
|
|
5
|
+
__name: "index",
|
|
6
|
+
props: {
|
|
7
|
+
disabled: { type: Boolean },
|
|
8
|
+
error: { type: Boolean },
|
|
9
|
+
allowClear: { type: Boolean },
|
|
10
|
+
defaultValue: {},
|
|
11
|
+
maxLength: {},
|
|
12
|
+
showWordLimit: { type: Boolean, default: !0 },
|
|
13
|
+
autoSize: { type: [Boolean, Object] },
|
|
14
|
+
placeholder: {},
|
|
15
|
+
modelValue: {},
|
|
16
|
+
wordLength: {},
|
|
17
|
+
wordSlice: {},
|
|
18
|
+
onFocus: {},
|
|
19
|
+
onBlur: {},
|
|
20
|
+
onChange: {},
|
|
21
|
+
onInput: {},
|
|
22
|
+
onClear: {},
|
|
23
|
+
"onUpdate:modelValue": {}
|
|
24
|
+
},
|
|
25
|
+
setup(s) {
|
|
26
|
+
const a = s, l = m(), c = {}, p = n(() => {
|
|
27
|
+
const t = {};
|
|
28
|
+
for (const [o, e] of Object.entries(l))
|
|
29
|
+
o.startsWith("on") && typeof e == "function" && (t[o] = e);
|
|
30
|
+
return t;
|
|
31
|
+
}), u = n(() => a.showWordLimit ? [r, `${r}-word-limit`] : [r]), i = n(() => B([a, v.textarea, c]) || {});
|
|
32
|
+
return (t, o) => {
|
|
33
|
+
const e = f("a-textarea");
|
|
34
|
+
return _(), x(e, h(i.value, y(p.value), { class: u.value }), null, 16, ["class"]);
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
export {
|
|
39
|
+
g as default
|
|
40
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export interface IProTextarea {
|
|
2
|
+
/** 是否禁用 */
|
|
3
|
+
'disabled'?: boolean;
|
|
4
|
+
/** 是否为错误状态 */
|
|
5
|
+
'error'?: boolean;
|
|
6
|
+
/** 是否允许清空输入框 */
|
|
7
|
+
'allowClear'?: boolean;
|
|
8
|
+
/** 默认值 */
|
|
9
|
+
'defaultValue'?: string;
|
|
10
|
+
/** 最大长度,可以设置为数字或对象 */
|
|
11
|
+
'maxLength'?: number | {
|
|
12
|
+
length: number;
|
|
13
|
+
errorOnly?: boolean;
|
|
14
|
+
};
|
|
15
|
+
/** 是否显示字数统计 */
|
|
16
|
+
'showWordLimit'?: boolean;
|
|
17
|
+
/** 自适应内容高度,可设置为 true 或配置对象 */
|
|
18
|
+
'autoSize'?: boolean | {
|
|
19
|
+
minRows?: number;
|
|
20
|
+
maxRows?: number;
|
|
21
|
+
};
|
|
22
|
+
/** 输入框占位符 */
|
|
23
|
+
'placeholder'?: string;
|
|
24
|
+
/** 绑定值,使用 v-model */
|
|
25
|
+
'modelValue'?: string;
|
|
26
|
+
/** 自定义字数计算方法 */
|
|
27
|
+
'wordLength'?: (value: string) => number;
|
|
28
|
+
/** 自定义超出最大长度时的截取方法 */
|
|
29
|
+
'wordSlice'?: (value: string, maxLength: number) => string;
|
|
30
|
+
/** 输入框获取焦点时触发 */
|
|
31
|
+
'onFocus'?: (ev: FocusEvent) => void;
|
|
32
|
+
/** 输入框失去焦点时触发 */
|
|
33
|
+
'onBlur'?: (ev: FocusEvent) => void;
|
|
34
|
+
/** 输入框值变化时触发(仅在输入框失去焦点或用户按回车时触发) */
|
|
35
|
+
'onChange'?: (value: string, ev: Event) => void;
|
|
36
|
+
/** 输入框输入时触发 */
|
|
37
|
+
'onInput'?: (value: string, ev: Event) => void;
|
|
38
|
+
/** 点击清空按钮时触发 */
|
|
39
|
+
'onClear'?: (ev: MouseEvent) => void;
|
|
40
|
+
/** 用于 v-model 更新 */
|
|
41
|
+
'onUpdate:modelValue'?: (value: string) => void;
|
|
42
|
+
}
|
|
43
|
+
export type ProTextareaProps = Partial<IProTextarea>;
|
package/es/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.keyblade-pro-page-header{background:var(--color-bg-2);padding:16px 32px}.keyblade-pro-page-header .keyblade-pro-page-header-section-breadcrumb .arco-breadcrumb-item:first-child{padding-left:0}.keyblade-pro-page-header .keyblade-pro-page-header-title.arco-typography{padding-top:4px;margin-top:0}.keyblade-pro-layout{width:100%;height:100%}.keyblade-pro-layout .keyblade-pro-layout-header{position:fixed;top:0;left:0;width:100%;height:var(--4a477a1a);z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background-color:var(--color-bg-2);border-bottom:1px solid var(--color-border);transition:all .2s cubic-bezier(.34,.69,.1,1)}.keyblade-pro-layout .keyblade-pro-layout-header-left{cursor:pointer;display:flex;align-items:center}.keyblade-pro-layout .keyblade-pro-layout-header-left-logo-img{width:28px;height:28px}.keyblade-pro-layout .keyblade-pro-layout-header-left-logo-title.arco-typography{margin:0;font-size:18px}.keyblade-pro-layout .keyblade-pro-layout-header-center{flex:1}.keyblade-pro-layout .keyblade-pro-layout-sider{padding-top:var(--4a477a1a);position:fixed;top:0;left:0;z-index:99;height:100%;transition:all .2s cubic-bezier(.34,.69,.1,1)}.keyblade-pro-layout .keyblade-pro-layout-sider-content{position:relative;height:100%;overflow:auto}.keyblade-pro-layout .keyblade-pro-layout-sider-collapse-btn.arco-btn{position:absolute;right:12px;bottom:12px}.keyblade-pro-layout .keyblade-pro-layout-body{padding-top:var(--4a477a1a);padding-left:var(--3599ef93);min-height:100vh;overflow-y:hidden;background-color:var(--color-fill-2);transition:padding .2s cubic-bezier(.34,.69,.1,1)}.keyblade-pro-layout .keyblade-pro-layout-body-hide-sider{padding-left:0}.keyblade-pro-layout .keyblade-pro-layout-body-affix .arco-affix{z-index:98}.keyblade-pro-layout .keyblade-pro-layout-body-footer{display:flex;align-items:center;justify-content:center;height:40px;color:var(--color-text-2);text-align:center}.keyblade-pro-layout .keyblade-pro-layout-body-collapsed{padding-left:var(--5b478c92)}.keyblade-pro-layout-side .keyblade-pro-layout-header{z-index:98;left:var(--3599ef93);width:calc(100% - var(--3599ef93))}.keyblade-pro-layout-side .keyblade-pro-layout-header-collapsed{left:var(--5b478c92);width:calc(100% - var(--5b478c92))}.keyblade-pro-layout-side .keyblade-pro-layout-sider{padding-top:0}.keyblade-pro-layout-side .keyblade-pro-layout-sider-content-logo{position:relative;display:flex;align-items:center;padding:16px;cursor:pointer;transition:padding .3s cubic-bezier(.645,.045,.355,1)}.keyblade-pro-layout-side .keyblade-pro-layout-sider-content-logo-img{width:28px;height:28px}.keyblade-pro-layout-side .keyblade-pro-layout-sider-content-logo-title.arco-typography{margin:0;font-size:18px}.keyblade-pro-layout-side .keyblade-pro-layout-sider-collapsed .keyblade-pro-layout-sider-content-logo{padding:16px 10px}.keyblade-pro-menu .keyblade-pro-menu-item-img{width:14px;height:auto}.keyblade-pro-reuse-tabs{position:relative;background-color:var(--color-bg-2);padding:4px 20px}.keyblade-pro-page-container .keyblade-pro-page-container-content{padding:20px}.keyblade-pro-image-upload-cropper-dialog-cropper-wrapper[data-v-1bddf267]{width:100%;height:400px}.keyblade-pro-image-upload-cropper-dialog-operate[data-v-1bddf267]{margin-top:24px;display:flex;align-items:center;justify-content:center}.keyblade-pro-image-upload-cropper-dialog-footer[data-v-1bddf267]{margin-top:24px;display:flex;align-items:center;justify-content:flex-end}.keyblade-pro-image-upload-cropper-dialog-footer-left[data-v-1bddf267]{display:flex;align-items:center;justify-content:flex-start;margin-right:12px}.keyblade-pro-image-upload-cropper-dialog-footer-right[data-v-1bddf267]{flex:1;display:flex;align-items:center;justify-content:flex-end}.keyblade-pro-date-range-picker[data-v-
|
|
1
|
+
.keyblade-pro-page-header{background:var(--color-bg-2);padding:16px 32px}.keyblade-pro-page-header .keyblade-pro-page-header-section-breadcrumb .arco-breadcrumb-item:first-child{padding-left:0}.keyblade-pro-page-header .keyblade-pro-page-header-title.arco-typography{padding-top:4px;margin-top:0}.keyblade-pro-layout{width:100%;height:100%}.keyblade-pro-layout .keyblade-pro-layout-header{position:fixed;top:0;left:0;width:100%;height:var(--4a477a1a);z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background-color:var(--color-bg-2);border-bottom:1px solid var(--color-border);transition:all .2s cubic-bezier(.34,.69,.1,1)}.keyblade-pro-layout .keyblade-pro-layout-header-left{cursor:pointer;display:flex;align-items:center}.keyblade-pro-layout .keyblade-pro-layout-header-left-logo-img{width:28px;height:28px}.keyblade-pro-layout .keyblade-pro-layout-header-left-logo-title.arco-typography{margin:0;font-size:18px}.keyblade-pro-layout .keyblade-pro-layout-header-center{flex:1}.keyblade-pro-layout .keyblade-pro-layout-sider{padding-top:var(--4a477a1a);position:fixed;top:0;left:0;z-index:99;height:100%;transition:all .2s cubic-bezier(.34,.69,.1,1)}.keyblade-pro-layout .keyblade-pro-layout-sider-content{position:relative;height:100%;overflow:auto}.keyblade-pro-layout .keyblade-pro-layout-sider-collapse-btn.arco-btn{position:absolute;right:12px;bottom:12px}.keyblade-pro-layout .keyblade-pro-layout-body{padding-top:var(--4a477a1a);padding-left:var(--3599ef93);min-height:100vh;overflow-y:hidden;background-color:var(--color-fill-2);transition:padding .2s cubic-bezier(.34,.69,.1,1)}.keyblade-pro-layout .keyblade-pro-layout-body-hide-sider{padding-left:0}.keyblade-pro-layout .keyblade-pro-layout-body-affix .arco-affix{z-index:98}.keyblade-pro-layout .keyblade-pro-layout-body-footer{display:flex;align-items:center;justify-content:center;height:40px;color:var(--color-text-2);text-align:center}.keyblade-pro-layout .keyblade-pro-layout-body-collapsed{padding-left:var(--5b478c92)}.keyblade-pro-layout-side .keyblade-pro-layout-header{z-index:98;left:var(--3599ef93);width:calc(100% - var(--3599ef93))}.keyblade-pro-layout-side .keyblade-pro-layout-header-collapsed{left:var(--5b478c92);width:calc(100% - var(--5b478c92))}.keyblade-pro-layout-side .keyblade-pro-layout-sider{padding-top:0}.keyblade-pro-layout-side .keyblade-pro-layout-sider-content-logo{position:relative;display:flex;align-items:center;padding:16px;cursor:pointer;transition:padding .3s cubic-bezier(.645,.045,.355,1)}.keyblade-pro-layout-side .keyblade-pro-layout-sider-content-logo-img{width:28px;height:28px}.keyblade-pro-layout-side .keyblade-pro-layout-sider-content-logo-title.arco-typography{margin:0;font-size:18px}.keyblade-pro-layout-side .keyblade-pro-layout-sider-collapsed .keyblade-pro-layout-sider-content-logo{padding:16px 10px}.keyblade-pro-menu .keyblade-pro-menu-item-img{width:14px;height:auto}.keyblade-pro-reuse-tabs{position:relative;background-color:var(--color-bg-2);padding:4px 20px}.keyblade-pro-page-container .keyblade-pro-page-container-content{padding:20px}.keyblade-pro-page-container-with-footer-bar .keyblade-pro-page-container-content{padding-bottom:84px}.keyblade-pro-footer-bar[data-v-f9d45b25]{z-index:11;position:fixed;width:100%;bottom:0;right:0;padding:16px 20px;background-color:var(--color-bg-3);display:flex;justify-content:flex-end;box-shadow:0 -2px 5px #0000000d}[arco-theme=dark] .keyblade-pro-footer-bar[data-v-f9d45b25]{border-top:1px solid var(--color-neutral-3)}.keyblade-pro-image-upload-cropper-dialog-cropper-wrapper[data-v-1bddf267]{width:100%;height:400px}.keyblade-pro-image-upload-cropper-dialog-operate[data-v-1bddf267]{margin-top:24px;display:flex;align-items:center;justify-content:center}.keyblade-pro-image-upload-cropper-dialog-footer[data-v-1bddf267]{margin-top:24px;display:flex;align-items:center;justify-content:flex-end}.keyblade-pro-image-upload-cropper-dialog-footer-left[data-v-1bddf267]{display:flex;align-items:center;justify-content:flex-start;margin-right:12px}.keyblade-pro-image-upload-cropper-dialog-footer-right[data-v-1bddf267]{flex:1;display:flex;align-items:center;justify-content:flex-end}.keyblade-pro-date-range-picker[data-v-960e2e33]{display:flex;align-items:center}.keyblade-pro-date-range-picker[data-v-960e2e33] .arco-form-item{margin-right:8px;margin-bottom:0}.keyblade-pro-date-range-picker[data-v-960e2e33] .arco-picker{background-color:var(--color-bg-1);border-color:var(--color-border-1)}.keyblade-pro-textarea-word-limit[data-v-8721e63b]{overflow:inherit}.keyblade-pro-textarea-word-limit[data-v-8721e63b] .arco-textarea-word-limit{bottom:-20px}
|
package/package.json
CHANGED