@keyblade/pro-components 1.13.5 → 1.13.7-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/es/index.d.ts CHANGED
@@ -14,4 +14,5 @@ export type { IProTab } from './pro-reuse-tabs';
14
14
  export { default as ProImageUpload } from './pro-image-upload';
15
15
  export * from './pro-image-upload';
16
16
  export { default as ProDateRangePicker } from './pro-date-range-picker';
17
+ export { default as ProTable } from './pro-table';
17
18
  export type {} from './components';
package/es/index.js CHANGED
@@ -6,15 +6,16 @@ import { ProPageContainer as i } from "./pro-page-container/index.js";
6
6
  import { ProReuseTabs as s } from "./pro-reuse-tabs/index.js";
7
7
  import { ProImageUpload as u } from "./pro-image-upload/index.js";
8
8
  import { ProDateRangePicker as f } from "./pro-date-range-picker/index.js";
9
- import { EImageUploadInnerBeforeUploadStep as c } from "./pro-image-upload/types.js";
10
- import { defaultImageUploadOptions as k } from "./pro-image-upload/constant.js";
11
- const I = {
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 = {
12
13
  install(o) {
13
- o.use(e), o.use(r), o.use(m), o.use(t), o.use(i), o.use(s), o.use(u), o.use(f);
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);
14
15
  }
15
16
  };
16
17
  export {
17
- c as EImageUploadInnerBeforeUploadStep,
18
+ T as EImageUploadInnerBeforeUploadStep,
18
19
  f as ProDateRangePicker,
19
20
  u as ProImageUpload,
20
21
  r as ProKeepAliveRouterView,
@@ -23,6 +24,7 @@ export {
23
24
  i as ProPageContainer,
24
25
  e as ProPageHeader,
25
26
  s as ProReuseTabs,
26
- I as default,
27
- k as defaultImageUploadOptions
27
+ a as ProTable,
28
+ R as default,
29
+ v as defaultImageUploadOptions
28
30
  };
@@ -1,16 +1,6 @@
1
1
  import { App } from 'vue';
2
2
  declare const ProDateRangePicker: {
3
- new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
4
- modelValue: import('./type').IModelValue;
5
- startField?: string;
6
- endField?: string;
7
- startPlaceholder?: string;
8
- endPlaceholder?: string;
9
- separator?: string;
10
- hideLabel?: boolean;
11
- formItemProps?: import('@arco-design/web-vue').FormItemInstance;
12
- datePickerProps?: import('@arco-design/web-vue').DatePickerInstance;
13
- }> & Readonly<{
3
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('./type').IProDateRangePickerProps> & Readonly<{
14
4
  "onUpdate:modelValue"?: ((value: import('./type').IModelValue) => any) | undefined;
15
5
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
16
6
  "update:modelValue": (value: import('./type').IModelValue) => any;
@@ -31,17 +21,7 @@ declare const ProDateRangePicker: {
31
21
  C: {};
32
22
  M: {};
33
23
  Defaults: {};
34
- }, Readonly<{
35
- modelValue: import('./type').IModelValue;
36
- startField?: string;
37
- endField?: string;
38
- startPlaceholder?: string;
39
- endPlaceholder?: string;
40
- separator?: string;
41
- hideLabel?: boolean;
42
- formItemProps?: import('@arco-design/web-vue').FormItemInstance;
43
- datePickerProps?: import('@arco-design/web-vue').DatePickerInstance;
44
- }> & Readonly<{
24
+ }, Readonly<import('./type').IProDateRangePickerProps> & Readonly<{
45
25
  "onUpdate:modelValue"?: ((value: import('./type').IModelValue) => any) | undefined;
46
26
  }>, {}, {}, {}, {}, {
47
27
  hideLabel: boolean;
@@ -54,17 +34,7 @@ declare const ProDateRangePicker: {
54
34
  __isFragment?: never;
55
35
  __isTeleport?: never;
56
36
  __isSuspense?: never;
57
- } & import('vue').ComponentOptionsBase<Readonly<{
58
- modelValue: import('./type').IModelValue;
59
- startField?: string;
60
- endField?: string;
61
- startPlaceholder?: string;
62
- endPlaceholder?: string;
63
- separator?: string;
64
- hideLabel?: boolean;
65
- formItemProps?: import('@arco-design/web-vue').FormItemInstance;
66
- datePickerProps?: import('@arco-design/web-vue').DatePickerInstance;
67
- }> & Readonly<{
37
+ } & import('vue').ComponentOptionsBase<Readonly<import('./type').IProDateRangePickerProps> & Readonly<{
68
38
  "onUpdate:modelValue"?: ((value: import('./type').IModelValue) => any) | undefined;
69
39
  }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
70
40
  "update:modelValue": (value: import('./type').IModelValue) => any;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 装载禁用时间
3
+ * @param start
4
+ * @param end
5
+ * @returns
6
+ */
7
+ export declare const range: (start: number, end: number) => number[];
@@ -0,0 +1,9 @@
1
+ const o = (e, n) => {
2
+ const t = [];
3
+ for (let r = e; r < n; r++)
4
+ t.push(r);
5
+ return t;
6
+ };
7
+ export {
8
+ o as range
9
+ };
@@ -1,19 +1,7 @@
1
- import { IModelValue } from './type.ts';
2
- import { DatePickerInstance, FormItemInstance } from '@arco-design/web-vue';
3
- type __VLS_Props = {
4
- modelValue: IModelValue;
5
- startField?: string;
6
- endField?: string;
7
- startPlaceholder?: string;
8
- endPlaceholder?: string;
9
- separator?: string;
10
- hideLabel?: boolean;
11
- formItemProps?: FormItemInstance;
12
- datePickerProps?: DatePickerInstance;
13
- };
14
- declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
1
+ import { IModelValue, IProDateRangePickerProps } from './type.ts';
2
+ declare const _default: import('vue').DefineComponent<IProDateRangePickerProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
15
3
  "update:modelValue": (value: IModelValue) => any;
16
- }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
4
+ }, string, import('vue').PublicProps, Readonly<IProDateRangePickerProps> & Readonly<{
17
5
  "onUpdate:modelValue"?: ((value: IModelValue) => any) | undefined;
18
6
  }>, {
19
7
  hideLabel: boolean;
@@ -1,7 +1,7 @@
1
1
  import o from "./pro-date-range-picker.vue2.js";
2
2
  /* empty css */
3
3
  import r from "../_virtual/_plugin-vue_export-helper.js";
4
- const _ = /* @__PURE__ */ r(o, [["__scopeId", "data-v-0382c1f4"]]);
4
+ const _ = /* @__PURE__ */ r(o, [["__scopeId", "data-v-7db07ed0"]]);
5
5
  export {
6
6
  _ as default
7
7
  };
@@ -1,6 +1,7 @@
1
- import { defineComponent as v, ref as V, computed as k, resolveComponent as h, createElementBlock as _, openBlock as E, normalizeClass as S, createVNode as d, mergeProps as i, withCtx as n, createTextVNode as B, toDisplayString as R, nextTick as P } from "vue";
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
2
  import r from "dayjs";
3
- const T = "keyblade-pro-date-range-picker", I = /* @__PURE__ */ v({
3
+ import { range as p } from "./pro-date-range-picker.js";
4
+ const M = "keyblade-pro-date-range-picker", w = /* @__PURE__ */ R({
4
5
  __name: "pro-date-range-picker",
5
6
  props: {
6
7
  modelValue: {},
@@ -9,93 +10,109 @@ const T = "keyblade-pro-date-range-picker", I = /* @__PURE__ */ v({
9
10
  startPlaceholder: { default: "开始日期" },
10
11
  endPlaceholder: { default: "结束日期" },
11
12
  separator: { default: "至" },
13
+ intraday: { type: Boolean },
12
14
  hideLabel: { type: Boolean, default: !0 },
13
15
  formItemProps: {},
14
16
  datePickerProps: {}
15
17
  },
16
18
  emits: ["update:modelValue"],
17
- setup(F, { emit: g }) {
18
- const e = F, s = g, u = V(), m = V(), p = k({
19
+ setup(P, { emit: g }) {
20
+ const e = P, f = g, V = u(), b = u(), n = u(), k = y({
19
21
  get: () => e.modelValue[e.startField],
20
- set: (l) => {
21
- s("update:modelValue", {
22
+ set: (t) => {
23
+ f("update:modelValue", {
22
24
  ...e.modelValue,
23
- [e.startField]: l
25
+ [e.startField]: t
24
26
  });
25
27
  }
26
- }), f = k({
28
+ }), h = y({
27
29
  get: () => e.modelValue[e.endField],
28
- set: (l) => {
29
- s("update:modelValue", {
30
+ set: (t) => {
31
+ f("update:modelValue", {
30
32
  ...e.modelValue,
31
- [e.endField]: l
33
+ [e.endField]: t
32
34
  });
33
35
  }
34
- }), b = (l) => e.modelValue[e.endField] ? r(l).isAfter(r(e.modelValue[e.endField])) : !1, D = (l) => e.modelValue[e.startField] ? r(l).isBefore(r(e.modelValue[e.startField])) : !1, y = () => {
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) => {
37
+ if (!e.modelValue[e.startField] || !t || !e.intraday) {
38
+ n.value = {};
39
+ return;
40
+ }
41
+ const a = r(e.modelValue[e.startField]), i = r(t);
42
+ if (!a.isSame(i, "day")) {
43
+ n.value = {};
44
+ return;
45
+ }
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) : []
51
+ };
52
+ }, E = () => {
35
53
  setTimeout(() => {
36
- e.modelValue[e.startField] && !e.modelValue[e.endField] && P(() => {
37
- var t;
38
- const l = (t = m.value) == null ? void 0 : t.$el.parentElement.querySelector("input");
39
- l && l.click();
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();
40
58
  });
41
59
  });
42
- }, C = () => {
60
+ }, _ = () => {
43
61
  setTimeout(() => {
44
- e.modelValue[e.endField] && !e.modelValue[e.startField] && P(() => {
45
- var t;
46
- const l = (t = u.value) == null ? void 0 : t.$el.parentElement.querySelector("input");
47
- l && l.click();
62
+ e.modelValue[e.endField] && !e.modelValue[e.startField] && F(() => {
63
+ var a;
64
+ const t = (a = V.value) == null ? void 0 : a.$el.parentElement.querySelector("input");
65
+ t && t.click();
48
66
  });
49
67
  });
50
68
  };
51
- return (l, t) => {
52
- const c = h("a-date-picker"), o = h("a-form-item");
53
- return E(), _("div", {
54
- class: S(T)
69
+ return (t, a) => {
70
+ const i = D("a-date-picker"), d = D("a-form-item");
71
+ return q(), N("div", {
72
+ class: H(M)
55
73
  }, [
56
- d(o, i(l.formItemProps, {
57
- field: l.startField,
58
- style: { "margin-right": "8px" },
59
- "hide-label": l.hideLabel
74
+ o(d, m(t.formItemProps, {
75
+ field: t.startField,
76
+ "hide-label": t.hideLabel
60
77
  }), {
61
- default: n(() => [
62
- d(c, i({
78
+ default: c(() => [
79
+ o(i, m({
63
80
  ref_key: "startDatePickerRef",
64
- ref: u,
65
- modelValue: p.value,
66
- "onUpdate:modelValue": t[0] || (t[0] = (a) => p.value = a)
67
- }, l.datePickerProps, {
68
- placeholder: l.startPlaceholder,
69
- "disabled-date": (a) => b(a),
70
- onChange: y
81
+ ref: V,
82
+ modelValue: k.value,
83
+ "onUpdate:modelValue": a[0] || (a[0] = (l) => k.value = l)
84
+ }, t.datePickerProps, {
85
+ placeholder: t.startPlaceholder,
86
+ "disabled-date": (l) => v(l),
87
+ onChange: E
71
88
  }), null, 16, ["modelValue", "placeholder", "disabled-date"])
72
89
  ]),
73
90
  _: 1
74
91
  }, 16, ["field", "hide-label"]),
75
- d(o, {
76
- "hide-label": "",
77
- style: { "margin-right": "8px" }
78
- }, {
79
- default: n(() => [
80
- B(R(l.separator), 1)
92
+ o(d, { "hide-label": "" }, {
93
+ default: c(() => [
94
+ I(L(t.separator), 1)
81
95
  ]),
82
96
  _: 1
83
97
  }),
84
- d(o, {
85
- field: l.endField,
86
- "hide-label": ""
98
+ o(d, {
99
+ field: t.endField,
100
+ "hide-label": "",
101
+ style: { "margin-right": "0px" }
87
102
  }, {
88
- default: n(() => [
89
- d(c, i({
103
+ default: c(() => [
104
+ o(i, m({
90
105
  ref_key: "endDatePickerRef",
91
- ref: m,
92
- modelValue: f.value,
93
- "onUpdate:modelValue": t[1] || (t[1] = (a) => f.value = a)
94
- }, l.datePickerProps, {
95
- placeholder: l.endPlaceholder,
96
- "disabled-date": (a) => D(a),
97
- onChange: C
98
- }), null, 16, ["modelValue", "placeholder", "disabled-date"])
106
+ ref: b,
107
+ modelValue: h.value,
108
+ "onUpdate:modelValue": a[1] || (a[1] = (l) => h.value = l)
109
+ }, t.datePickerProps, {
110
+ placeholder: t.endPlaceholder,
111
+ "disabled-date": (l) => S(l),
112
+ "disabled-time": () => n.value,
113
+ onSelect: C,
114
+ onChange: _
115
+ }), null, 16, ["modelValue", "placeholder", "disabled-date", "disabled-time"])
99
116
  ]),
100
117
  _: 1
101
118
  }, 8, ["field"])
@@ -104,5 +121,5 @@ const T = "keyblade-pro-date-range-picker", I = /* @__PURE__ */ v({
104
121
  }
105
122
  });
106
123
  export {
107
- I as default
124
+ w as default
108
125
  };
@@ -1,3 +1,22 @@
1
+ import { DatePickerInstance, FormItemInstance } from '@arco-design/web-vue';
1
2
  export interface IModelValue {
2
3
  [key: string]: any;
3
4
  }
5
+ export interface IProDateRangePickerProps {
6
+ modelValue: IModelValue;
7
+ /** 开始时间绑定字段 */
8
+ startField?: string;
9
+ /** 结束开始时间绑定字段 */
10
+ endField?: string;
11
+ /** 提示文本:开始日期 */
12
+ startPlaceholder?: string;
13
+ /** 提示文本:结束日期 */
14
+ endPlaceholder?: string;
15
+ /** 提示文本:至 */
16
+ separator?: string;
17
+ /** 是否可以选择当天 */
18
+ intraday?: boolean;
19
+ hideLabel?: boolean;
20
+ formItemProps?: FormItemInstance;
21
+ datePickerProps?: DatePickerInstance;
22
+ }
@@ -0,0 +1,89 @@
1
+ import { App } from 'vue';
2
+ declare const ProTable: {
3
+ new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<import('./interface').IProTable> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {
4
+ data: any[];
5
+ size: "mini" | "medium" | "large" | "small";
6
+ loading: boolean | Record<string, any>;
7
+ scrollbar: boolean | any;
8
+ bordered: boolean | any;
9
+ columns: any[];
10
+ hoverable: boolean;
11
+ pagination: boolean | any;
12
+ stripe: boolean;
13
+ tableLayoutFixed: boolean;
14
+ pagePosition: "top" | "tl" | "tr" | "bottom" | "bl" | "br";
15
+ indentSize: number;
16
+ rowKey: string;
17
+ showHeader: boolean;
18
+ spanAll: boolean;
19
+ filterIconAlignLeft: boolean;
20
+ hideExpandButtonOnEmpty: boolean;
21
+ columnResizable: boolean;
22
+ summaryText: string;
23
+ defaultExpandAllRows: boolean;
24
+ stickyHeader: number | boolean;
25
+ showEmptyTree: boolean;
26
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
27
+ P: {};
28
+ B: {};
29
+ D: {};
30
+ C: {};
31
+ M: {};
32
+ Defaults: {};
33
+ }, Readonly<import('./interface').IProTable> & Readonly<{}>, {}, {}, {}, {}, {
34
+ data: any[];
35
+ size: "mini" | "medium" | "large" | "small";
36
+ loading: boolean | Record<string, any>;
37
+ scrollbar: boolean | any;
38
+ bordered: boolean | any;
39
+ columns: any[];
40
+ hoverable: boolean;
41
+ pagination: boolean | any;
42
+ stripe: boolean;
43
+ tableLayoutFixed: boolean;
44
+ pagePosition: "top" | "tl" | "tr" | "bottom" | "bl" | "br";
45
+ indentSize: number;
46
+ rowKey: string;
47
+ showHeader: boolean;
48
+ spanAll: boolean;
49
+ filterIconAlignLeft: boolean;
50
+ hideExpandButtonOnEmpty: boolean;
51
+ columnResizable: boolean;
52
+ summaryText: string;
53
+ defaultExpandAllRows: boolean;
54
+ stickyHeader: number | boolean;
55
+ showEmptyTree: boolean;
56
+ }>;
57
+ __isFragment?: never;
58
+ __isTeleport?: never;
59
+ __isSuspense?: never;
60
+ } & import('vue').ComponentOptionsBase<Readonly<import('./interface').IProTable> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {
61
+ data: any[];
62
+ size: "mini" | "medium" | "large" | "small";
63
+ loading: boolean | Record<string, any>;
64
+ scrollbar: boolean | any;
65
+ bordered: boolean | any;
66
+ columns: any[];
67
+ hoverable: boolean;
68
+ pagination: boolean | any;
69
+ stripe: boolean;
70
+ tableLayoutFixed: boolean;
71
+ pagePosition: "top" | "tl" | "tr" | "bottom" | "bl" | "br";
72
+ indentSize: number;
73
+ rowKey: string;
74
+ showHeader: boolean;
75
+ spanAll: boolean;
76
+ filterIconAlignLeft: boolean;
77
+ hideExpandButtonOnEmpty: boolean;
78
+ columnResizable: boolean;
79
+ summaryText: string;
80
+ defaultExpandAllRows: boolean;
81
+ stickyHeader: number | boolean;
82
+ showEmptyTree: boolean;
83
+ }, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
84
+ $slots: any;
85
+ }) & {
86
+ install: (app: App) => void;
87
+ };
88
+ export { ProTable };
89
+ export default ProTable;
@@ -0,0 +1,11 @@
1
+ import e from "./index.vue.js";
2
+ import { Table as t } from "@arco-design/web-vue";
3
+ const s = Object.assign(e, {
4
+ install: (o) => {
5
+ o.use(t), o.component("KbProTable", e);
6
+ }
7
+ });
8
+ export {
9
+ s as ProTable,
10
+ s as default
11
+ };
@@ -0,0 +1,34 @@
1
+ import { IProTable } from './interface';
2
+ declare function __VLS_template(): any;
3
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
4
+ declare const __VLS_component: import('vue').DefineComponent<IProTable, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<IProTable> & Readonly<{}>, {
5
+ data: any[];
6
+ size: "mini" | "medium" | "large" | "small";
7
+ loading: boolean | Record<string, any>;
8
+ scrollbar: boolean | any;
9
+ bordered: boolean | any;
10
+ columns: any[];
11
+ hoverable: boolean;
12
+ pagination: boolean | any;
13
+ stripe: boolean;
14
+ tableLayoutFixed: boolean;
15
+ pagePosition: "top" | "tl" | "tr" | "bottom" | "bl" | "br";
16
+ indentSize: number;
17
+ rowKey: string;
18
+ showHeader: boolean;
19
+ spanAll: boolean;
20
+ filterIconAlignLeft: boolean;
21
+ hideExpandButtonOnEmpty: boolean;
22
+ columnResizable: boolean;
23
+ summaryText: string;
24
+ defaultExpandAllRows: boolean;
25
+ stickyHeader: number | boolean;
26
+ showEmptyTree: boolean;
27
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
28
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
29
+ export default _default;
30
+ type __VLS_WithTemplateSlots<T, S> = T & {
31
+ new (): {
32
+ $slots: S;
33
+ };
34
+ };
@@ -0,0 +1,88 @@
1
+ import { defineComponent as p, useSlots as f, useAttrs as c, computed as i, resolveComponent as y, createBlock as m, openBlock as C, mergeProps as B, toHandlers as g, createSlots as b, renderList as h, unref as x, withCtx as S, renderSlot as w, normalizeProps as k, guardReactiveProps as _ } from "vue";
2
+ const K = /* @__PURE__ */ p({
3
+ __name: "index",
4
+ props: {
5
+ size: { default: "large" },
6
+ scrollbar: { type: Boolean, default: !0 },
7
+ data: { default: () => [] },
8
+ loading: { type: [Boolean, Object], default: !1 },
9
+ bordered: { type: Boolean, default: { cell: !0 } },
10
+ columns: { default: () => [] },
11
+ hoverable: { type: Boolean, default: !0 },
12
+ pagination: { type: Boolean, default: !0 },
13
+ stripe: { type: Boolean, default: !1 },
14
+ tableLayoutFixed: { type: Boolean, default: !1 },
15
+ pagePosition: { default: "br" },
16
+ indentSize: { default: 16 },
17
+ rowKey: { default: "key" },
18
+ showHeader: { type: Boolean, default: !0 },
19
+ spanAll: { type: Boolean, default: !1 },
20
+ filterIconAlignLeft: { type: Boolean, default: !1 },
21
+ hideExpandButtonOnEmpty: { type: Boolean, default: !1 },
22
+ columnResizable: { type: Boolean, default: !0 },
23
+ summaryText: { default: "Summary" },
24
+ defaultExpandAllRows: { type: Boolean, default: !1 },
25
+ stickyHeader: { type: [Number, Boolean], default: !1 },
26
+ showEmptyTree: { type: Boolean, default: !1 },
27
+ scroll: {},
28
+ summary: { type: [Boolean, Function] },
29
+ components: {},
30
+ virtualListProps: {},
31
+ rowSelection: {},
32
+ expandable: {},
33
+ spanMethod: {},
34
+ loadMore: {},
35
+ rowClass: {},
36
+ draggable: {},
37
+ rowNumber: { type: [Boolean, Object] },
38
+ summarySpanMethod: {},
39
+ selectedKeys: {},
40
+ defaultSelectedKeys: {},
41
+ expandedKeys: {},
42
+ defaultExpandedKeys: {},
43
+ onChange: {},
44
+ onSelect: {},
45
+ onPageChange: {},
46
+ onPageSizeChange: {},
47
+ onExpand: {},
48
+ "onUpdate:selectedKeys": {},
49
+ "onUpdate:expandedKeys": {},
50
+ onExpandedChange: {},
51
+ onSelectAll: {},
52
+ onSelectionChange: {},
53
+ onSorterChange: {},
54
+ onFilterChange: {},
55
+ onCellMouseEnter: {},
56
+ onCellMouseLeave: {},
57
+ onCellClick: {},
58
+ onRowClick: {},
59
+ onHeaderClick: {},
60
+ onColumnResize: {},
61
+ onRowDblclick: {},
62
+ onCellDblclick: {},
63
+ onRowContextmenu: {},
64
+ onCellContextmenu: {}
65
+ },
66
+ setup(a) {
67
+ const n = a, s = f(), r = c(), d = i(() => {
68
+ const e = {};
69
+ for (const [o, t] of Object.entries(r))
70
+ o.startsWith("on") && typeof t == "function" && (e[o] = t);
71
+ return e;
72
+ });
73
+ return (e, o) => {
74
+ const t = y("a-table");
75
+ return C(), m(t, B(n, g(d.value)), b({ _: 2 }, [
76
+ h(x(s), (v, l) => ({
77
+ name: l,
78
+ fn: S((u) => [
79
+ w(e.$slots, l, k(_(u)))
80
+ ])
81
+ }))
82
+ ]), 1040);
83
+ };
84
+ }
85
+ });
86
+ export {
87
+ K as default
88
+ };
@@ -0,0 +1,4 @@
1
+ import f from "./index.vue.js";
2
+ export {
3
+ f as default
4
+ };
@@ -0,0 +1,149 @@
1
+ /**
2
+ * table 组件属性接口
3
+ */
4
+ export interface IProTable {
5
+ /** 表格尺寸 */
6
+ 'size'?: 'mini' | 'medium' | 'large' | 'small';
7
+ /** 滚动条配置 */
8
+ 'scrollbar'?: boolean | any;
9
+ /** 表格数据 */
10
+ 'data'?: any[];
11
+ /** 加载状态 */
12
+ 'loading'?: boolean | Record<string, any>;
13
+ /** 边框配置 */
14
+ 'bordered'?: boolean | any;
15
+ /** 表格列配置 */
16
+ 'columns'?: any[];
17
+ /** 是否开启悬停效果 */
18
+ 'hoverable'?: boolean;
19
+ /** 分页配置 */
20
+ 'pagination'?: boolean | any;
21
+ /** 是否显示斑马纹 */
22
+ 'stripe'?: boolean;
23
+ /** 是否固定表格布局 */
24
+ 'tableLayoutFixed'?: boolean;
25
+ /** 分页位置 */
26
+ 'pagePosition'?: 'top' | 'tl' | 'tr' | 'bottom' | 'bl' | 'br';
27
+ /** 缩进大小 */
28
+ 'indentSize'?: number;
29
+ /** 行键字段 */
30
+ 'rowKey'?: string;
31
+ /** 是否显示表头 */
32
+ 'showHeader'?: boolean;
33
+ /** 是否跨行跨列 */
34
+ 'spanAll'?: boolean;
35
+ /** 筛选图标是否左对齐 */
36
+ 'filterIconAlignLeft'?: boolean;
37
+ /** 空数据时是否隐藏展开按钮 */
38
+ 'hideExpandButtonOnEmpty'?: boolean;
39
+ /** 列是否可调整大小 */
40
+ 'columnResizable'?: boolean;
41
+ /** 汇总行文本 */
42
+ 'summaryText'?: string;
43
+ /** 是否默认展开所有行 */
44
+ 'defaultExpandAllRows'?: boolean;
45
+ /** 固定表头配置 */
46
+ 'stickyHeader'?: number | boolean;
47
+ /** 是否显示空树 */
48
+ 'showEmptyTree'?: boolean;
49
+ /** 滚动配置 */
50
+ 'scroll'?: {
51
+ x?: string | number;
52
+ y?: string | number;
53
+ minWidth?: string | number;
54
+ maxHeight?: string | number;
55
+ };
56
+ /** 汇总行配置 */
57
+ 'summary'?: boolean | ((params: {
58
+ columns: any[];
59
+ data: any[];
60
+ }) => any[]);
61
+ /** 自定义组件 */
62
+ 'components'?: any;
63
+ /** 虚拟列表配置 */
64
+ 'virtualListProps'?: any;
65
+ /** 行选择配置 */
66
+ 'rowSelection'?: any;
67
+ /** 行展开配置 */
68
+ 'expandable'?: any;
69
+ /** 单元格合并方法 */
70
+ 'spanMethod'?: (data: {
71
+ record: any;
72
+ column: any;
73
+ rowIndex: number;
74
+ columnIndex: number;
75
+ }) => void | {
76
+ rowspan?: number;
77
+ colspan?: number;
78
+ };
79
+ /** 加载更多回调 */
80
+ 'loadMore'?: (record: any, done: (children?: any[]) => void) => void;
81
+ /** 行类名 */
82
+ 'rowClass'?: string | any[] | Record<string, any> | ((record: any, rowIndex: number) => any);
83
+ /** 拖拽配置 */
84
+ 'draggable'?: any;
85
+ /** 行号配置 */
86
+ 'rowNumber'?: boolean | Record<string, any>;
87
+ /** 汇总行单元格合并方法 */
88
+ 'summarySpanMethod'?: (data: {
89
+ record: any;
90
+ column: any;
91
+ rowIndex: number;
92
+ columnIndex: number;
93
+ }) => void | {
94
+ rowspan?: number;
95
+ colspan?: number;
96
+ };
97
+ /** 选中的行键 */
98
+ 'selectedKeys'?: (string | number)[];
99
+ /** 默认选中的行键 */
100
+ 'defaultSelectedKeys'?: (string | number)[];
101
+ /** 展开的行键 */
102
+ 'expandedKeys'?: (string | number)[];
103
+ /** 默认展开的行键 */
104
+ 'defaultExpandedKeys'?: (string | number)[];
105
+ /** 数据变化事件 */
106
+ 'onChange'?: (data: any[], extra: any, currentData: any[]) => any;
107
+ /** 行选择事件 */
108
+ 'onSelect'?: (rowKeys: (string | number)[], rowKey: string | number, record: any) => any;
109
+ /** 页码变化事件 */
110
+ 'onPageChange'?: (page: number) => any;
111
+ /** 每页大小变化事件 */
112
+ 'onPageSizeChange'?: (pageSize: number) => any;
113
+ /** 行展开事件 */
114
+ 'onExpand'?: (rowKey: string | number, record: any) => any;
115
+ /** 选中行键更新事件 */
116
+ 'onUpdate:selectedKeys'?: (rowKeys: (string | number)[]) => any;
117
+ /** 展开行键更新事件 */
118
+ 'onUpdate:expandedKeys'?: (rowKeys: (string | number)[]) => any;
119
+ /** 展开状态变化事件 */
120
+ 'onExpandedChange'?: (rowKeys: (string | number)[]) => any;
121
+ /** 全选事件 */
122
+ 'onSelectAll'?: (checked: boolean) => any;
123
+ /** 选择变化事件 */
124
+ 'onSelectionChange'?: (rowKeys: (string | number)[]) => any;
125
+ /** 排序变化事件 */
126
+ 'onSorterChange'?: (dataIndex: string, direction: string) => any;
127
+ /** 筛选变化事件 */
128
+ 'onFilterChange'?: (dataIndex: string, filteredValues: string[]) => any;
129
+ /** 单元格鼠标进入事件 */
130
+ 'onCellMouseEnter'?: (record: any, column: any, ev: Event) => any;
131
+ /** 单元格鼠标离开事件 */
132
+ 'onCellMouseLeave'?: (record: any, column: any, ev: Event) => any;
133
+ /** 单元格点击事件 */
134
+ 'onCellClick'?: (record: any, column: any, ev: Event) => any;
135
+ /** 行点击事件 */
136
+ 'onRowClick'?: (record: any, ev: Event) => any;
137
+ /** 表头点击事件 */
138
+ 'onHeaderClick'?: (column: any, ev: Event) => any;
139
+ /** 列调整大小事件 */
140
+ 'onColumnResize'?: (dataIndex: string, width: number) => any;
141
+ /** 行双击事件 */
142
+ 'onRowDblclick'?: (record: any, ev: Event) => any;
143
+ /** 单元格双击事件 */
144
+ 'onCellDblclick'?: (record: any, column: any, ev: Event) => any;
145
+ /** 行右键菜单事件 */
146
+ 'onRowContextmenu'?: (record: any, ev: Event) => any;
147
+ /** 单元格右键菜单事件 */
148
+ 'onCellContextmenu'?: (record: any, column: any, ev: Event) => any;
149
+ }
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-0382c1f4]{display:flex;align-items:center}
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}
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.5",
5
+ "version": "1.13.7-alpha.0",
6
6
  "private": false,
7
7
  "type": "module",
8
8
  "main": "es/index.js",
@@ -26,7 +26,7 @@
26
26
  "vue-cropper": "^1.1.4",
27
27
  "vue-global-config": "^0.6.3",
28
28
  "dayjs": "^1.11.18",
29
- "@keyblade/one-travel": "^3.0.3"
29
+ "@keyblade/one-travel": "^3.0.4"
30
30
  },
31
31
  "peerDependencies": {
32
32
  "vue": "^3.4.27"