@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.
@@ -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 {};
@@ -0,0 +1,7 @@
1
+ import { ProFooterBarProps } from './pro-footer-bar/inerface';
2
+ import { ProTextareaProps } from './pro-textarea';
3
+ export interface GlobalProps {
4
+ footerBar?: ProFooterBarProps;
5
+ textarea?: ProTextareaProps;
6
+ }
7
+ export declare const globalProps: GlobalProps;
@@ -0,0 +1,4 @@
1
+ const o = {};
2
+ export {
3
+ o as globalProps
4
+ };
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 r } from "./pro-keep-alive-router-view/index.js";
3
- import { ProLayout as m } from "./pro-layout/index.js";
4
- import { ProMenu as t } from "./pro-menu/index.js";
5
- import { ProPageContainer as i } from "./pro-page-container/index.js";
6
- import { ProReuseTabs as s } from "./pro-reuse-tabs/index.js";
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 f } from "./pro-date-range-picker/index.js";
9
- import { ProTable as a } from "./pro-table/index.js";
10
- import { EImageUploadInnerBeforeUploadStep as T } from "./pro-image-upload/types.js";
11
- import { defaultImageUploadOptions as v } from "./pro-image-upload/constant.js";
12
- const R = {
13
- install(o) {
14
- o.use(e), o.use(r), o.use(m), o.use(t), o.use(i), o.use(s), o.use(u), o.use(f), o.use(a);
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
- T as EImageUploadInnerBeforeUploadStep,
19
- f as ProDateRangePicker,
21
+ y as EImageUploadInnerBeforeUploadStep,
22
+ a as ProDateRangePicker,
23
+ n as ProFooterBar,
20
24
  u as ProImageUpload,
21
- r as ProKeepAliveRouterView,
22
- m as ProLayout,
23
- t as ProMenu,
24
- i as ProPageContainer,
25
+ m as ProKeepAliveRouterView,
26
+ t as ProLayout,
27
+ i as ProMenu,
28
+ s as ProPageContainer,
25
29
  e as ProPageHeader,
26
- s as ProReuseTabs,
27
- a as ProTable,
28
- R as default,
29
- v as defaultImageUploadOptions
30
+ f as ProReuseTabs,
31
+ P as ProTable,
32
+ l as ProTextarea,
33
+ k as default,
34
+ C as defaultImageUploadOptions
30
35
  };
@@ -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 r from "../_virtual/_plugin-vue_export-helper.js";
4
- const _ = /* @__PURE__ */ r(o, [["__scopeId", "data-v-7db07ed0"]]);
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 u, computed as y, resolveComponent as D, createElementBlock as N, openBlock as q, normalizeClass as H, createVNode as o, mergeProps as m, withCtx as c, createTextVNode as I, toDisplayString as L, nextTick as F } from "vue";
2
- import r from "dayjs";
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 M = "keyblade-pro-date-range-picker", w = /* @__PURE__ */ R({
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(P, { emit: g }) {
20
- const e = P, f = g, V = u(), b = u(), n = u(), k = y({
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
- f("update:modelValue", {
23
+ V("update:modelValue", {
24
24
  ...e.modelValue,
25
25
  [e.startField]: t
26
26
  });
27
27
  }
28
- }), h = y({
28
+ }), b = h({
29
29
  get: () => e.modelValue[e.endField],
30
30
  set: (t) => {
31
- f("update:modelValue", {
31
+ V("update:modelValue", {
32
32
  ...e.modelValue,
33
33
  [e.endField]: t
34
34
  });
35
35
  }
36
- }), v = (t) => e.modelValue[e.endField] ? r(t).isAfter(r(e.modelValue[e.endField])) : !1, S = (t) => e.modelValue[e.startField] ? (e.intraday && t.setDate(t.getDate() + 1), r(t).isBefore(r(e.modelValue[e.startField]))) : !1, C = (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
- n.value = {};
46
+ i.value = {};
39
47
  return;
40
48
  }
41
- const a = r(e.modelValue[e.startField]), i = r(t);
42
- if (!a.isSame(i, "day")) {
43
- n.value = {};
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 d = a.hour(), l = a.minute(), B = a.second();
47
- n.value = {
48
- disabledHours: () => p(0, d),
49
- disabledMinutes: (s) => s === d ? p(0, l) : [],
50
- disabledSeconds: (s, T) => s === d && T === l ? p(0, B) : []
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
- }, E = () => {
60
+ }, T = () => {
53
61
  setTimeout(() => {
54
- e.modelValue[e.startField] && !e.modelValue[e.endField] && F(() => {
55
- var a;
56
- const t = (a = b.value) == null ? void 0 : a.$el.parentElement.querySelector("input");
57
- t && t.click();
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] && F(() => {
71
+ e.modelValue[e.endField] && !e.modelValue[e.startField] && D(() => {
63
72
  var a;
64
- const t = (a = V.value) == null ? void 0 : a.$el.parentElement.querySelector("input");
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 i = D("a-date-picker"), d = D("a-form-item");
71
- return q(), N("div", {
72
- class: H(M)
79
+ const d = y("a-date-picker"), l = y("a-form-item");
80
+ return N(), w("div", {
81
+ class: q(I)
73
82
  }, [
74
- o(d, m(t.formItemProps, {
83
+ n(l, c(t.formItemProps, {
75
84
  field: t.startField,
76
85
  "hide-label": t.hideLabel
77
86
  }), {
78
- default: c(() => [
79
- o(i, m({
87
+ default: f(() => [
88
+ n(d, c({
80
89
  ref_key: "startDatePickerRef",
81
- ref: V,
82
- modelValue: k.value,
83
- "onUpdate:modelValue": a[0] || (a[0] = (l) => k.value = l)
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": (l) => v(l),
87
- onChange: E
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
- o(d, { "hide-label": "" }, {
93
- default: c(() => [
94
- I(L(t.separator), 1)
101
+ n(l, { "hide-label": "" }, {
102
+ default: f(() => [
103
+ A(H(t.separator), 1)
95
104
  ]),
96
105
  _: 1
97
106
  }),
98
- o(d, {
107
+ n(l, {
99
108
  field: t.endField,
100
109
  "hide-label": "",
101
110
  style: { "margin-right": "0px" }
102
111
  }, {
103
- default: c(() => [
104
- o(i, m({
112
+ default: f(() => [
113
+ n(d, c({
105
114
  ref_key: "endDatePickerRef",
106
- ref: b,
107
- modelValue: h.value,
108
- "onUpdate:modelValue": a[1] || (a[1] = (l) => h.value = l)
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": (l) => S(l),
112
- "disabled-time": () => n.value,
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
- w as default
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,7 @@
1
+ import o from "./index.vue2.js";
2
+ /* empty css */
3
+ import r from "../_virtual/_plugin-vue_export-helper.js";
4
+ const f = /* @__PURE__ */ r(o, [["__scopeId", "data-v-f9d45b25"]]);
5
+ export {
6
+ f as default
7
+ };
@@ -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
+ };
@@ -0,0 +1,7 @@
1
+ export interface ProFooterBarProps {
2
+ /** 是否隐藏返回按钮 */
3
+ hideBack?: boolean;
4
+ /** 返回按钮文字 */
5
+ backText?: string;
6
+ onBack?: () => void;
7
+ }
@@ -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<import('vue').ExtractPropTypes<{
4
- hidePageHeader: {
5
- type: import('vue').PropType<boolean>;
6
- required: false;
7
- default: boolean;
8
- };
9
- pageHeader: {
10
- type: import('vue').PropType<{
11
- title?: string;
12
- subTitle?: string;
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
- pageHeader: {
36
- title?: string;
37
- subTitle?: string;
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<import('vue').ExtractPropTypes<{
55
- hidePageHeader: {
56
- type: import('vue').PropType<boolean>;
57
- required: false;
58
- default: boolean;
59
- };
60
- pageHeader: {
61
- type: import('vue').PropType<{
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
- pageHeader: {
87
- title?: string;
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<import('vue').ExtractPropTypes<{
103
- hidePageHeader: {
104
- type: import('vue').PropType<boolean>;
105
- required: false;
106
- default: boolean;
107
- };
108
- pageHeader: {
109
- type: import('vue').PropType<{
110
- title?: string;
111
- subTitle?: string;
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
- pageHeader: {
135
- title?: string;
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 e from "./pro-page-container.vue.js";
1
+ import r from "./pro-page-container.vue.js";
2
2
  /* empty css */
3
- import { ProPageHeader as r } from "../pro-page-header/index.js";
4
- const i = Object.assign(e, {
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(r), o.component("KbProPageContainer", e);
7
+ o.use(e), o.use(t), o.component("KbProPageContainer", r);
7
8
  }
8
9
  });
9
10
  export {
10
- i as ProPageContainer,
11
- i as default
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 { PropType } from 'vue';
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').ExtractPropTypes<{
12
- /** 是否隐藏页头 */
13
- hidePageHeader: {
14
- type: PropType<boolean>;
15
- required: false;
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
- pageHeader: {
78
- title?: string;
79
- subTitle?: string;
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 l, resolveComponent as c, createElementBlock as n, openBlock as a, normalizeClass as r, createBlock as b, createCommentVNode as u, createElementVNode as m, renderSlot as s } from "vue";
2
- const o = "keyblade-pro-page-container", g = /* @__PURE__ */ l({
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
- hidePageHeader: {
7
- type: Boolean,
8
- required: !1,
9
- default: !1
10
- },
11
- /** 页头属性 */
12
- pageHeader: {
13
- type: Object,
14
- required: !1,
15
- default: () => ({
16
- title: "",
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
- setup(e) {
27
- return (d, f) => {
28
- var t;
29
- const i = c("kb-pro-page-header");
30
- return a(), n("div", {
31
- class: r(o)
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 ? u("", !0) : (a(), b(i, {
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: (t = e.pageHeader) == null ? void 0 : t.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
- m("div", {
44
- class: r(`${o}-content`)
37
+ P("div", {
38
+ class: s(`${r}-content`)
45
39
  }, [
46
- s(d.$slots, "default")
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
- g as default
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,11 @@
1
+ import r from "./index.vue.js";
2
+ import { Textarea as t } from "@arco-design/web-vue";
3
+ const s = Object.assign(r, {
4
+ install: (e) => {
5
+ e.use(t), e.component("KbProTextarea", r);
6
+ }
7
+ });
8
+ export {
9
+ s as ProTextarea,
10
+ s as default
11
+ };
@@ -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,7 @@
1
+ import o from "./index.vue2.js";
2
+ /* empty css */
3
+ import r from "../_virtual/_plugin-vue_export-helper.js";
4
+ const _ = /* @__PURE__ */ r(o, [["__scopeId", "data-v-8721e63b"]]);
5
+ export {
6
+ _ as default
7
+ };
@@ -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-7db07ed0]{display:flex;align-items:center}.keyblade-pro-date-range-picker[data-v-7db07ed0] .arco-form-item{margin-right:8px;margin-bottom:0}.keyblade-pro-date-range-picker[data-v-7db07ed0] .arco-picker{background-color:var(--color-bg-1);border-color:var(--color-border-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-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
@@ -2,7 +2,7 @@
2
2
  "name": "@keyblade/pro-components",
3
3
  "description": "KeyBlade Pro Components",
4
4
  "author": "yangshuai <704807396@qq.com>",
5
- "version": "1.13.8-alpha.1",
5
+ "version": "1.13.8-alpha.3",
6
6
  "private": false,
7
7
  "type": "module",
8
8
  "main": "es/index.js",