savor-ui 0.3.2 → 0.4.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.
Files changed (135) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/dist/es/components/index.d.ts +4 -0
  3. package/dist/es/components/index.mjs +6 -1
  4. package/dist/es/components/src/alert/alert.d.ts +22 -0
  5. package/dist/es/components/src/alert/alert.vue.mjs +5 -0
  6. package/dist/es/components/src/alert/alert.vue_vue_type_script_setup_true_vapor_true_lang.mjs +58 -0
  7. package/dist/es/components/src/alert/index.d.ts +26 -0
  8. package/dist/es/components/src/alert/index.mjs +7 -0
  9. package/dist/es/components/src/alert/types.d.ts +24 -0
  10. package/dist/es/components/src/cascader/cascader.vue_vue_type_script_setup_true_vapor_true_lang.mjs +93 -82
  11. package/dist/es/components/src/cascader/index.d.ts +1 -0
  12. package/dist/es/components/src/cascader/types.d.ts +2 -0
  13. package/dist/es/components/src/chat-list/chat-list.d.ts +35 -0
  14. package/dist/es/components/src/chat-list/chat-list.vue.mjs +5 -0
  15. package/dist/es/components/src/chat-list/chat-list.vue_vue_type_script_setup_true_vapor_true_lang.mjs +55 -0
  16. package/dist/es/components/src/chat-list/index.d.ts +47 -0
  17. package/dist/es/components/src/chat-list/index.mjs +7 -0
  18. package/dist/es/components/src/chat-list/types.d.ts +44 -0
  19. package/dist/es/components/src/chat-sender/chat-sender.d.ts +26 -0
  20. package/dist/es/components/src/chat-sender/chat-sender.vue.mjs +5 -0
  21. package/dist/es/components/src/chat-sender/chat-sender.vue_vue_type_script_setup_true_vapor_true_lang.mjs +92 -0
  22. package/dist/es/components/src/chat-sender/index.d.ts +27 -0
  23. package/dist/es/components/src/chat-sender/index.mjs +7 -0
  24. package/dist/es/components/src/chat-sender/types.d.ts +24 -0
  25. package/dist/es/components/src/collapse/collapse-item.vue_vue_type_script_setup_true_vapor_true_lang.mjs +2 -2
  26. package/dist/es/components/src/date-picker/date-picker.vue_vue_type_script_setup_true_vapor_true_lang.mjs +28 -28
  27. package/dist/es/components/src/datetime-picker/datetime-picker.vue_vue_type_script_setup_true_vapor_true_lang.mjs +28 -28
  28. package/dist/es/components/src/drawer/drawer.vue_vue_type_script_setup_true_vapor_true_lang.mjs +72 -72
  29. package/dist/es/components/src/form/form-item.vue_vue_type_script_setup_true_vapor_true_lang.mjs +13 -13
  30. package/dist/es/components/src/form/use-form-item.d.ts +1 -1
  31. package/dist/es/components/src/grid/grid-item.vue_vue_type_script_setup_true_vapor_true_lang.mjs +26 -17
  32. package/dist/es/components/src/grid/grid.vue_vue_type_script_setup_true_vapor_true_lang.mjs +10 -6
  33. package/dist/es/components/src/grid/types.d.ts +2 -0
  34. package/dist/es/components/src/input/input.vue_vue_type_script_setup_true_vapor_true_lang.mjs +9 -9
  35. package/dist/es/components/src/input-number/input-number.vue_vue_type_script_setup_true_vapor_true_lang.mjs +83 -83
  36. package/dist/es/components/src/input-tag/input-tag.vue_vue_type_script_setup_true_vapor_true_lang.mjs +10 -10
  37. package/dist/es/components/src/layer/layer.vue_vue_type_script_setup_true_vapor_true_lang.mjs +105 -105
  38. package/dist/es/components/src/list/index.d.ts +5 -5
  39. package/dist/es/components/src/list/list.d.ts +3 -3
  40. package/dist/es/components/src/list/list.vue_vue_type_script_setup_true_vapor_true_lang.mjs +7 -12
  41. package/dist/es/components/src/list/types.d.ts +7 -5
  42. package/dist/es/components/src/menu/menu-item.vue_vue_type_script_setup_true_vapor_true_lang.mjs +46 -37
  43. package/dist/es/components/src/menu/sub-menu.vue_vue_type_script_setup_true_vapor_true_lang.mjs +2 -2
  44. package/dist/es/components/src/modal/modal.vue_vue_type_script_setup_true_vapor_true_lang.mjs +121 -121
  45. package/dist/es/components/src/panel/panel.vue_vue_type_script_setup_true_vapor_true_lang.mjs +2 -2
  46. package/dist/es/components/src/popover/index.d.ts +1 -0
  47. package/dist/es/components/src/popover/popover.vue_vue_type_script_setup_true_vapor_true_lang.mjs +77 -76
  48. package/dist/es/components/src/popover/types.d.ts +4 -0
  49. package/dist/es/components/src/scrollbar/index.d.ts +7 -2
  50. package/dist/es/components/src/scrollbar/scrollbar.d.ts +5 -2
  51. package/dist/es/components/src/scrollbar/scrollbar.vue_vue_type_script_setup_true_vapor_true_lang.mjs +131 -96
  52. package/dist/es/components/src/scrollbar/types.d.ts +15 -1
  53. package/dist/es/components/src/segmented/segmented.vue_vue_type_script_setup_true_vapor_true_lang.mjs +41 -45
  54. package/dist/es/components/src/select/select.vue_vue_type_script_setup_true_vapor_true_lang.mjs +9 -9
  55. package/dist/es/components/src/table/col-group.d.ts +22 -0
  56. package/dist/es/components/src/table/col-group.vue.mjs +5 -0
  57. package/dist/es/components/src/table/col-group.vue_vue_type_script_setup_true_vapor_true_lang.mjs +25 -0
  58. package/dist/es/components/src/table/index.d.ts +18 -41
  59. package/dist/es/components/src/table/index.mjs +1 -0
  60. package/dist/es/components/src/table/table-body.d.ts +32 -0
  61. package/dist/es/components/src/table/table-body.vue.mjs +5 -0
  62. package/dist/es/components/src/table/table-body.vue_vue_type_script_setup_true_vapor_true_lang.mjs +153 -0
  63. package/dist/es/components/src/table/table-header.d.ts +23 -0
  64. package/dist/es/components/src/table/table-header.vue.mjs +5 -0
  65. package/dist/es/components/src/table/table-header.vue_vue_type_script_setup_true_vapor_true_lang.mjs +80 -0
  66. package/dist/es/components/src/table/table.d.ts +12 -25
  67. package/dist/es/components/src/table/table.vue_vue_type_script_setup_true_vapor_true_lang.mjs +167 -380
  68. package/dist/es/components/src/table/types.d.ts +61 -45
  69. package/dist/es/components/src/table/types.mjs +4 -0
  70. package/dist/es/components/src/textarea/textarea.vue_vue_type_script_setup_true_vapor_true_lang.mjs +6 -6
  71. package/dist/es/components/src/tooltip/index.d.ts +1 -0
  72. package/dist/es/components/src/tooltip/tooltip.vue_vue_type_script_setup_true_vapor_true_lang.mjs +2 -0
  73. package/dist/es/components/src/tooltip/types.d.ts +2 -0
  74. package/dist/es/components/src/transition/index.d.ts +29 -0
  75. package/dist/es/components/src/transition/index.mjs +7 -0
  76. package/dist/es/components/src/{_comp/HeightTransition.d.ts → transition/transition-height.d.ts} +0 -4
  77. package/dist/es/components/src/transition/transition-height.vue.mjs +5 -0
  78. package/dist/es/components/src/transition/transition-height.vue_vue_type_script_setup_true_vapor_true_lang.mjs +54 -0
  79. package/dist/es/components/src/transition/transition-opacity.vue.mjs +5 -0
  80. package/dist/es/components/src/{_comp/OpacityTransition.vue_vue_type_script_setup_true_vapor_true_lang.mjs → transition/transition-opacity.vue_vue_type_script_setup_true_vapor_true_lang.mjs} +2 -2
  81. package/dist/es/components/src/transition/transition-scale.vue.mjs +5 -0
  82. package/dist/es/components/src/{_comp/ScaleTransition.vue_vue_type_script_setup_true_vapor_true_lang.mjs → transition/transition-scale.vue_vue_type_script_setup_true_vapor_true_lang.mjs} +2 -2
  83. package/dist/es/components/src/transition/transition-side.vue.mjs +5 -0
  84. package/dist/es/components/src/{_comp/SideTransition.vue_vue_type_script_setup_true_vapor_true_lang.mjs → transition/transition-side.vue_vue_type_script_setup_true_vapor_true_lang.mjs} +2 -2
  85. package/dist/es/components/src/transition/transition-width.d.ts +31 -0
  86. package/dist/es/components/src/transition/transition-width.vue.mjs +5 -0
  87. package/dist/es/components/src/transition/transition-width.vue_vue_type_script_setup_true_vapor_true_lang.mjs +54 -0
  88. package/dist/es/components/src/transition/transition.d.ts +27 -0
  89. package/dist/es/components/src/transition/transition.vue.mjs +5 -0
  90. package/dist/es/components/src/transition/transition.vue_vue_type_script_setup_true_vapor_true_lang.mjs +47 -0
  91. package/dist/es/components/src/transition/types.d.ts +28 -0
  92. package/dist/es/components/src/tree/index.d.ts +15 -7
  93. package/dist/es/components/src/tree/node.d.ts +2 -1
  94. package/dist/es/components/src/tree/node.vue_vue_type_script_setup_true_vapor_true_lang.mjs +27 -29
  95. package/dist/es/components/src/tree/tree.d.ts +8 -2
  96. package/dist/es/components/src/tree/tree.vue_vue_type_script_setup_true_vapor_true_lang.mjs +69 -65
  97. package/dist/es/components/src/tree/types.d.ts +18 -12
  98. package/dist/es/core/components.mjs +94 -86
  99. package/dist/es/core/index.mjs +84 -79
  100. package/dist/es/hooks/src/use-element-size.mjs +7 -38
  101. package/dist/es/icons/index.d.ts +4 -1
  102. package/dist/es/icons/index.mjs +3 -0
  103. package/dist/es/icons/src/loading-stop.d.ts +19 -0
  104. package/dist/es/icons/src/loading-stop.vue.mjs +11 -0
  105. package/dist/es/icons/src/send.d.ts +19 -0
  106. package/dist/es/icons/src/send.vue.mjs +11 -0
  107. package/dist/es/icons/src/stop.d.ts +19 -0
  108. package/dist/es/icons/src/stop.vue.mjs +5 -0
  109. package/dist/es/theme/components/alert.scss +101 -0
  110. package/dist/es/theme/components/button.scss +21 -4
  111. package/dist/es/theme/components/cascader.scss +3 -0
  112. package/dist/es/theme/components/chat-list.scss +134 -0
  113. package/dist/es/theme/components/chat-sender.scss +123 -0
  114. package/dist/es/theme/components/index.scss +3 -0
  115. package/dist/es/theme/components/input.scss +2 -1
  116. package/dist/es/theme/components/list.scss +7 -0
  117. package/dist/es/theme/components/menu.scss +14 -1
  118. package/dist/es/theme/components/scrollbar.scss +61 -7
  119. package/dist/es/theme/components/table.scss +360 -328
  120. package/dist/es/theme/components/transition.scss +21 -21
  121. package/dist/es/theme/components/tree.scss +8 -0
  122. package/dist/es/utils/src/tool.d.ts +8 -3
  123. package/dist/es/utils/src/tool.mjs +6 -6
  124. package/dist/json/vetur-attributes.json +196 -46
  125. package/dist/json/vetur-tags.json +82 -15
  126. package/dist/json/web-types.json +432 -75
  127. package/package.json +1 -1
  128. package/dist/es/components/src/_comp/HeightTransition.vue.mjs +0 -5
  129. package/dist/es/components/src/_comp/HeightTransition.vue_vue_type_script_setup_true_vapor_true_lang.mjs +0 -77
  130. package/dist/es/components/src/_comp/OpacityTransition.vue.mjs +0 -5
  131. package/dist/es/components/src/_comp/ScaleTransition.vue.mjs +0 -5
  132. package/dist/es/components/src/_comp/SideTransition.vue.mjs +0 -5
  133. /package/dist/es/components/src/{_comp/OpacityTransition.d.ts → transition/transition-opacity.d.ts} +0 -0
  134. /package/dist/es/components/src/{_comp/ScaleTransition.d.ts → transition/transition-scale.d.ts} +0 -0
  135. /package/dist/es/components/src/{_comp/SideTransition.d.ts → transition/transition-side.d.ts} +0 -0
@@ -1,36 +1,23 @@
1
- import { TableColumnProps, TableProps } from './types';
1
+ import { TableAllSlots, TableExpose, TableProps } from './types';
2
2
  import { PublicProps, ShallowUnwrapRef, VNode } from 'vue';
3
3
  declare const __VLS_export: (__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
4
4
  props: PublicProps & __VLS_PrettifyLocal<(TableProps & {
5
- selected?: any[];
6
- rowSelected?: any;
5
+ checked?: any[];
6
+ selected?: any;
7
7
  }) & {
8
- onSelect?: ((row: any, index: number, selected: any[]) => any) | undefined;
9
- onRowClick?: ((row: any, index: number) => any) | undefined;
10
- "onUpdate:selected"?: ((value: any[]) => any) | undefined;
11
- "onUpdate:rowSelected"?: ((value: any) => any) | undefined;
8
+ onCheckRow?: ((row: any, index: number, checked: any[]) => any) | undefined;
9
+ onSelectRow?: ((row: any, index: number) => any) | undefined;
10
+ onExpandedRow?: ((row: any, index: number, expandedRows: any[]) => any) | undefined;
11
+ onCheckAll?: ((checked: any[]) => any) | undefined;
12
+ "onUpdate:checked"?: ((value: any[]) => any) | undefined;
13
+ "onUpdate:selected"?: ((value: any) => any) | undefined;
12
14
  }> & (typeof globalThis extends {
13
15
  __VLS_PROPS_FALLBACK: infer P;
14
16
  } ? P : {});
15
- expose: (exposed: ShallowUnwrapRef<{
16
- clearSelection: () => void;
17
- selectAll: () => void;
18
- }>) => void;
17
+ expose: (exposed: ShallowUnwrapRef<TableExpose>) => void;
19
18
  attrs: any;
20
- slots: {
21
- [x: string]: ((props: {
22
- column: TableColumnProps;
23
- index: number;
24
- row: any;
25
- }) => any) | undefined;
26
- } & {
27
- [x: string]: ((props: {
28
- column: TableColumnProps;
29
- index: number;
30
- row: any;
31
- }) => any) | undefined;
32
- };
33
- emit: (((evt: "select", row: any, index: number, selected: any[]) => void) & ((evt: "rowClick", row: any, index: number) => void)) & (((event: "update:selected", value: any[]) => void) & ((event: "update:rowSelected", value: any) => void));
19
+ slots: TableAllSlots;
20
+ emit: (((evt: "checkRow", row: any, index: number, checked: any[]) => void) & ((evt: "selectRow", row: any, index: number) => void) & ((evt: "expandedRow", row: any, index: number, expandedRows: any[]) => void) & ((evt: "checkAll", checked: any[]) => void)) & (((event: "update:checked", value: any[]) => void) & ((event: "update:selected", value: any) => void));
34
21
  }>) => VNode & {
35
22
  __ctx?: Awaited<typeof __VLS_setup>;
36
23
  };
@@ -1,414 +1,201 @@
1
- import { getSize as e, randomId as t } from "../../../utils/src/tool.mjs";
1
+ import { getSize as e, getSizeNum as t, randomId as n } from "../../../utils/src/tool.mjs";
2
2
  import "../../../utils/index.mjs";
3
- import { useElementSize as n } from "../../../hooks/src/use-element-size.mjs";
4
3
  import { useNamespace as r } from "../../../hooks/src/use-namespace.mjs";
5
4
  import "../../../hooks/index.mjs";
6
- import i from "../../../icons/src/right.vue.mjs";
7
- import "../../../icons/index.mjs";
8
- import { STooltip as a } from "../tooltip/index.mjs";
9
- import { child as o, computed as s, createComponent as c, createComponentWithFallback as l, createFor as u, createIf as d, createInvoker as f, createSlot as p, createTemplateRefSetter as ee, defineVaporComponent as m, delegateEvents as h, mergeModels as g, next as te, nextTick as _, on as ne, onMounted as re, ref as v, renderEffect as y, resolveComponent as ie, setClass as b, setInsertionState as x, setProp as S, setStyle as C, setText as w, template as T, toDisplayString as E, txt as ae, unref as D, useModel as oe, useTemplateRef as se, watch as O } from "vue";
5
+ import { SScrollbar as i } from "../scrollbar/index.mjs";
6
+ import { SEmpty as a } from "../empty/index.mjs";
7
+ import o from "./col-group.vue.mjs";
8
+ import { tableContextKey as s } from "./types.mjs";
9
+ import c from "./table-body.vue.mjs";
10
+ import l from "./table-header.vue.mjs";
11
+ import { computed as u, createComponent as d, createForSlots as f, createIf as p, createSlot as m, defineVaporComponent as h, mergeModels as g, provide as _, ref as v, renderEffect as y, setClass as b, setInsertionState as x, setStyle as S, template as C, unref as w, useModel as T, watch as ee } from "vue";
10
12
  //#region ../components/src/table/table.vue?vue&type=script&setup=true&vapor=true&lang.ts
11
- var ce = T("<th>"), le = T("<th> "), ue = T("<tr>"), de = T("<td>"), k = T("<span><span></span>"), A = T("<span> "), fe = T("<div>"), pe = T("<div><table><thead></thead><tbody></table><div><div></div>", 1);
12
- h("click");
13
- var j = /*@__PURE__*/ m({
13
+ var te = C("<table table-layout=fixed></table>"), E = C("<div>"), D = C("<div>", 1), O = /*@__PURE__*/ h({
14
14
  name: "STable",
15
15
  __name: "table",
16
16
  props: /*@__PURE__*/ g({
17
17
  data: { default: () => [] },
18
18
  columns: { default: () => [] },
19
- height: { default: "auto" },
20
- width: { default: "100%" },
21
- border: { default: () => [] },
22
- stripe: {
23
- type: Boolean,
24
- default: !1
25
- },
19
+ height: {},
20
+ maxHeight: {},
21
+ width: {},
22
+ border: {},
23
+ stripe: { type: Boolean },
26
24
  size: { default: "medium" },
27
- multiple: {
28
- type: Boolean,
29
- default: !0
30
- },
31
- selected: {},
32
- rowKey: { default: "_id" },
33
- treeField: { default: "children" },
25
+ multiple: { type: Boolean },
34
26
  rowSelection: { type: Boolean },
35
- rowSelected: {}
27
+ rowKey: {},
28
+ scrollAlways: { type: Boolean },
29
+ nativeScrollbar: { type: Boolean }
36
30
  }, {
37
- selected: { default: () => [] },
38
- selectedModifiers: {},
39
- rowSelected: { default: () => {} },
40
- rowSelectedModifiers: {}
31
+ checked: { default: () => [] },
32
+ checkedModifiers: {},
33
+ selected: { default: () => {} },
34
+ selectedModifiers: {}
41
35
  }),
42
- emits: /*@__PURE__*/ g(["select", "rowClick"], ["update:selected", "update:rowSelected"]),
43
- setup(m, { expose: h, emit: g }) {
44
- let T = {
45
- props: [
46
- "renderFn",
47
- "row",
48
- "index"
49
- ],
50
- setup(e) {
51
- return () => e.renderFn(e.row, e.index);
52
- }
53
- }, j = m, M = g, N = r("table"), P = v(), F = v(0), I = v([]), L = v({}), me = v([]), he = s(() => {
36
+ emits: /*@__PURE__*/ g([
37
+ "checkRow",
38
+ "selectRow",
39
+ "checkAll",
40
+ "expandedRow"
41
+ ], ["update:checked", "update:selected"]),
42
+ setup(h, { expose: g, emit: C, slots: O }) {
43
+ let k = h, A = C, j = r("table"), M = T(h, "checked"), N = T(h, "selected"), ne = (e, t, n) => {
44
+ M.value = n, A("checkRow", e, t, n);
45
+ }, re = (e, t) => {
46
+ N.value = e, A("selectRow", e, t);
47
+ }, ie = (e) => {
48
+ M.value = [...e], A("checkAll", e);
49
+ }, ae = u(() => {
54
50
  let e = [];
55
- if (!j.border || j.border.length === 0) return e;
56
- for (let t of j.border) e.push(N.m(`border-${t}`));
51
+ if (!k.border || k.border.length === 0) return e;
52
+ for (let t of k.border) e.push(j.m(`border-${t}`));
57
53
  return e;
58
- }), R = (e) => {
59
- let n = [];
60
- return e.forEach((e) => {
61
- let r = JSON.parse(JSON.stringify(e));
62
- r._id || (j.rowKey && r[j.rowKey] !== void 0 ? r._id = String(r[j.rowKey]) : r.id === void 0 ? r._id = t(8) : r._id = String(r.id));
63
- let i = r[j.treeField] || [];
64
- i.length > 0 && (r[j.treeField] = R(i)), n.push(r);
65
- }), n;
66
- }, ge = (e, t = 0, n = !0) => {
54
+ }), P = v(0), F = v(!0), I = v(!1), L = 0, R = () => `col_${L++}`, z = (e) => ({
55
+ ...e,
56
+ id: R(),
57
+ fixedOffset: void 0,
58
+ colSpan: 1,
59
+ rowSpan: 1,
60
+ isColumnGroup: !1,
61
+ level: 1,
62
+ field: e.field ?? "",
63
+ children: e.children ? e.children.map(z) : void 0
64
+ }), B = u(() => k.columns.map(z)), V = u(() => {
65
+ let e = [], t = (n) => {
66
+ n.forEach((n) => {
67
+ n.children && n.children.length ? t(n.children) : e.push(n);
68
+ });
69
+ };
70
+ return t(B.value), H(e), e;
71
+ }), H = (e) => {
72
+ let n = 0;
73
+ e.forEach((e) => {
74
+ if (e.fixed === "left") {
75
+ e.fixedOffset = n;
76
+ let r = e.width !== void 0 && e.width !== "auto" ? t(e.width) : t(e.minWidth);
77
+ n += r;
78
+ }
79
+ });
80
+ let r = 0;
81
+ for (let n = e.length - 1; n >= 0; n--) {
82
+ let i = e[n];
83
+ if (i.fixed === "right") {
84
+ i.fixedOffset = r;
85
+ let e = i.width !== void 0 && i.width !== "auto" ? t(i.width) : t(i.minWidth);
86
+ r += e;
87
+ }
88
+ }
89
+ }, U = (e) => {
90
+ let t = 1, n = (e, r) => {
91
+ if (r && (e.level = r.level + 1, t < e.level && (t = e.level)), e.children && e.children.length) {
92
+ let t = 0;
93
+ e.children.forEach((r) => {
94
+ n(r, e), t += r.colSpan;
95
+ }), e.colSpan = t, e.isColumnGroup = !0;
96
+ } else e.colSpan = 1;
97
+ };
98
+ e.forEach((e) => {
99
+ e.level = 1, n(e);
100
+ });
101
+ let r = [];
102
+ for (let e = 0; e < t; e++) r.push([]);
103
+ let i = [], a = (e) => {
104
+ e.forEach((e) => {
105
+ i.push(e), e.children && a(e.children);
106
+ });
107
+ };
108
+ return a(e), i.forEach((e) => {
109
+ !e.children || !e.children.length ? e.rowSpan = t - e.level + 1 : e.rowSpan = 1, r[e.level - 1].push(e);
110
+ }), r;
111
+ }, W = u(() => U(B.value)), G = u(() => {
112
+ let t = {};
113
+ return k.width && (t.width = e(k.width)), t;
114
+ }), K = u(() => {
115
+ let t = {};
116
+ return k.height && (t.height = e(k.height), t.overflowY = "auto"), k.maxHeight && (t.maxHeight = e(k.maxHeight), t.overflowY = "auto"), t;
117
+ }), q = (e) => {
118
+ let t = e.target;
119
+ F.value = t.scrollLeft === 0, I.value = t.scrollLeft + t.clientWidth >= t.scrollWidth - 1;
120
+ }, J = v({}), Y = v([]), X = (e) => e.map((e) => {
121
+ let t = { ...e };
122
+ t._id || (k.rowKey && t[k.rowKey] !== void 0 ? t._id = String(t[k.rowKey]) : t.id === void 0 ? t._id = n(8) : t._id = String(t.id));
123
+ let r = t.children;
124
+ return Array.isArray(r) && r.length > 0 && (t.children = X(r)), t;
125
+ }), Z = (e, t = 0, n = !0) => {
67
126
  let r = [];
68
127
  return e.forEach((e) => {
69
- let i = e._id, a = e[j.treeField] || [], o = a.length > 0, s = !!L.value[i], c = {
128
+ let i = e._id, a = e.children || [], o = a.length > 0, s = !!J.value[i], c = {
70
129
  ...e,
71
130
  _id: i,
72
131
  _level: t,
73
132
  _hasChildren: o,
74
133
  _expanded: s
75
134
  };
76
- n && r.push(c), o && r.push(...ge(a, t + 1, n && s));
135
+ n && r.push(c), o && r.push(...Z(a, t + 1, n && s));
77
136
  }), r;
78
- }, z = s(() => ge(me.value)), B = (e) => {
79
- e._expanded ? L.value[e._id] = !1 : L.value[e._id] = !0, L.value = { ...L.value };
137
+ }, Q = u(() => Z(Y.value)), oe = (e, t) => {
138
+ J.value[e._id] = !J.value[e._id], A("expandedRow", e, t, Y.value.filter((e) => J.value[e._id]));
80
139
  };
81
- O(() => j.data, (e) => {
82
- me.value = R(e);
140
+ ee(() => k.data, (e) => {
141
+ Y.value = X(e);
83
142
  }, {
84
- immediate: !0,
85
- deep: !0
86
- });
87
- let _e = (e) => {
88
- let t = (e) => {
89
- let n = [];
90
- return e.forEach((e) => {
91
- let r = { ...e };
92
- e.children && e.children.length > 0 && (r.children = t(e.children)), n.push(r);
93
- }), n;
94
- };
95
- return t(e);
96
- }, V = s(() => _e(j.columns)), ve = s(() => {
97
- let e = (t, n = 1) => {
98
- let r = n;
99
- return t.forEach((t) => {
100
- t.children && (r = Math.max(r, e(t.children, n + 1)));
101
- }), r;
102
- };
103
- return e(V.value);
104
- }), H = s(() => {
105
- let e = [], t = ve.value, n = 0, r = (e) => e.reduce((e, t) => e + (t.children ? r(t.children) : 1), 0), i = (e) => {
106
- let t;
107
- for (let n of e) if (n.fixed) t = n.fixed;
108
- else if (n.children) {
109
- let e = i(n.children);
110
- e && (t = e);
111
- }
112
- return t;
113
- }, a = (i, o = 0, s) => {
114
- e[o] || (e[o] = []), i.forEach((i) => {
115
- let c = {
116
- ...i,
117
- _isHeader: !0
118
- }, l = i.fixed || s, u = n;
119
- i.children && i.children.length > 0 ? (c.colspan = r(i.children), c.rowspan = 1, c._fixed = l, c.fixed = c._fixed, c._firstLeafIndex = u, e[o].push(c), a(i.children, o + 1, c._fixed), c._lastLeafIndex = n - 1) : (c.colspan = 1, c.rowspan = t - o, c._fixed = l, c._firstLeafIndex = n, c._lastLeafIndex = n, n++, e[o].push(c));
120
- });
121
- };
122
- return a(V.value), e;
123
- }), U = s(() => {
124
- let e = [], t = (n, r) => {
125
- n.forEach((n) => {
126
- let i = n.fixed || r;
127
- n.children && n.children.length > 0 ? t(n.children, i) : e.push({
128
- ...n,
129
- fixed: i
130
- });
131
- });
132
- };
133
- return t(V.value), e;
134
- }), ye = s(() => U.value.filter((e) => e.fixed === "right").reverse()), be = (e) => {
135
- let t = 0;
136
- for (let n = 0; n < e; n++) {
137
- let e = U.value[n];
138
- e && (e.width && e.width !== "auto" ? t += typeof e.width == "number" ? e.width : parseInt(e.width) || 0 : I.value[n] !== void 0 && (t += I.value[n]));
139
- }
140
- return t;
141
- }, xe = (e) => {
142
- let t = 0;
143
- for (let n = 0; n < e; n++) {
144
- let e = ye.value[n];
145
- if (e) if (e.width && e.width !== "auto") t += typeof e.width == "number" ? e.width : parseInt(e.width) || 0;
146
- else {
147
- let n = U.value.findIndex((t) => t.field === e.field);
148
- n !== -1 && I.value[n] !== void 0 && (t += I.value[n]);
149
- }
143
+ deep: !0,
144
+ immediate: !0
145
+ }), _(s, {
146
+ props: k,
147
+ originColumns: B,
148
+ flatColumns: V,
149
+ columnRows: W,
150
+ isScrollAtLeft: F,
151
+ isScrollAtRight: I,
152
+ headerHeight: P,
153
+ checked: M,
154
+ selected: N
155
+ }), g({
156
+ clearSelect: () => {
157
+ M.value = [], N.value = {};
158
+ },
159
+ selectAll: () => {
160
+ M.value = [...Q.value];
150
161
  }
151
- return t;
152
- }, Se = (e) => {
153
- F.value = e.target.scrollLeft;
154
- }, W = s(() => (U.value, F.value, I.value, H.value, {
155
- header: H.value.map((e, t) => e.map((e, n) => Ce(e, t, n))),
156
- body: z.value.map((e, t) => U.value.map((e, t) => Ce(e, 0, t)))
157
- })), Ce = (t, n, r) => {
158
- let i = { boxSizing: "border-box" };
159
- t.width === "auto" ? (i.width = "1px", i.whiteSpace = "nowrap") : t.width !== void 0 && t.width !== "" ? (i.width = e(t.width), i.minWidth = e(t.minWidth) || e(t.width)) : i.minWidth = e(t.minWidth) || void 0;
160
- let a = t._fixed || t.fixed, o = t;
161
- if (a === "left") {
162
- let e = -1;
163
- e = o._isHeader && o._firstLeafIndex !== void 0 ? o._firstLeafIndex : U.value.findIndex((e) => e.field === t.field), e !== -1 && (i.position = "sticky", i.left = `${be(e)}px`, i.zIndex = o._isHeader ? 11 : 3, i.insetLeft = `${be(e)}px`);
164
- } else if (a === "right") {
165
- let e = -1;
166
- if (o._isHeader ? o._lastLeafIndex !== void 0 && (e = o._lastLeafIndex) : e = U.value.findIndex((e) => e.field === t.field), e !== -1) {
167
- let t = U.value[e], n = ye.value.findIndex((e) => e.field === t.field);
168
- n !== -1 && (i.position = "sticky", i.right = `${xe(n)}px`, i.zIndex = o._isHeader ? 11 : 3, i.insetRight = `${xe(n)}px`);
169
- }
170
- if (o._isHeader && o._firstLeafIndex !== void 0 && o._lastLeafIndex !== void 0) {
171
- let e = 0;
172
- for (let t = o._firstLeafIndex; t <= o._lastLeafIndex; t++) {
173
- let n = U.value[t];
174
- n && (n.width && n.width !== "auto" ? e += typeof n.width == "number" ? n.width : parseInt(n.width) || 0 : I.value[t] !== void 0 && (e += I.value[t]));
175
- }
176
- i.width = `${e}px`, i.minWidth = `${e}px`, i.maxWidth = `${e}px`;
177
- }
178
- }
179
- return i;
180
- }, G = s(() => (U.value, F.value, z.value, H.value, {
181
- header: H.value.map((e, t) => e.map((e, n) => we(e, t, n))),
182
- body: z.value.map((e, t) => U.value.map((e, t) => we(e, 0, t)))
183
- })), we = (e, t, n) => {
184
- let r = [];
185
- e.align && r.push(N.m(`align-${e.align}`)), (e.ellipsis || e.ellipsisTooltip) && r.push(N.m("ellipsis"));
186
- let i = e._fixed || e.fixed, a = e;
187
- if (i) {
188
- r.push(N.m(`fixed-${i}`));
189
- let e = !1, t = !1, o = U.value.some((e) => e.fixed === "left"), s = U.value.some((e) => e.fixed === "right"), c = P.value ? P.value.scrollWidth - P.value.clientWidth : 0;
190
- if (a._isHeader) {
191
- if (i === "left" && o) {
192
- let t = !1;
193
- if (a._lastLeafIndex !== void 0) {
194
- let e = -1;
195
- for (let t = U.value.length - 1; t >= 0; t--) if (U.value[t].fixed === "left") {
196
- e = t;
197
- break;
198
- }
199
- t = a._lastLeafIndex === e;
200
- }
201
- e = t;
202
- }
203
- if (i === "right" && s) {
204
- let e = !1;
205
- if (a._firstLeafIndex !== void 0) {
206
- let t = U.value.findIndex((e) => e.fixed === "right");
207
- e = a._firstLeafIndex === t;
208
- }
209
- t = e;
210
- }
211
- } else e = i === "left" && (n === U.value.length - 1 || U.value[n + 1] && U.value[n + 1].fixed !== "left"), t = i === "right" && (n === 0 || U.value[n - 1] && U.value[n - 1].fixed !== "right");
212
- let l = P.value ? P.value.scrollLeft > 0 : !1, u = P.value ? P.value.scrollLeft < c - 1 : !1;
213
- (i === "left" && e && l || i === "right" && t && u) && r.push(N.m("has-shadow"));
214
- }
215
- return r;
216
- }, K = () => {
217
- _(() => {
218
- P.value && P.value.scrollWidth > P.value.clientWidth && (P.value.scrollLeft = 0);
219
- });
220
- }, q = () => {
221
- _(() => {
222
- if (!P.value) return;
223
- let e = P.value.querySelector("table");
224
- if (!e) return;
225
- let t = e.querySelector("tbody tr");
226
- if (!t) return;
227
- let n = t.querySelectorAll("td"), r = [];
228
- n.forEach((e, t) => {
229
- r[t] = e.offsetWidth;
230
- }), I.value = r;
231
- });
232
- }, J = oe(m, "selected"), Te = (e) => J.value.find((t) => t._id === e._id) !== void 0, Y = oe(m, "rowSelected"), Ee = (e) => Y.value && Y.value._id === e._id, De = (e) => {
233
- j.rowSelection && (Y.value && Y.value._id === e._id ? Y.value = {} : Y.value = e, M("rowClick", e, z.value.indexOf(e)));
234
- }, Oe = () => {
235
- J.value === void 0 ? J.value = [] : (J.value = [], M("select", null, -1, []));
236
- }, ke = () => {
237
- j.multiple && (J.value = [...z.value], M("select", null, -1, J.value));
238
- }, Ae = (e, t, n) => {
239
- if (j.multiple) {
240
- let n = J.value.findIndex((e) => e._id === t._id);
241
- if (e) {
242
- if (n === -1) {
243
- let e = z.value.find((e) => e._id === t._id);
244
- J.value = [...J.value, e];
245
- }
246
- } else n !== -1 && (J.value = J.value.toSpliced(n, 1));
247
- } else e ? J.value = [z.value.find((e) => e._id === t._id)] : J.value = [];
248
- M("select", t, n, J.value);
249
- }, je = (e) => {
250
- j.multiple && (e ? J.value = [...z.value] : J.value = [], M("select", null, -1, J.value));
251
- }, Me = s(() => z.value.length ? J.value.length === z.value.length : !1), Ne = s(() => J.value.length > 0 && J.value.length < z.value.length);
252
- re(() => {
253
- q(), K();
254
- }), O(() => j.data, () => {
255
- q(), K();
256
- }), O(V, () => {
257
- _(() => {
258
- q(), K();
259
- });
260
- }, { deep: !0 });
261
- let Pe = se("emptyRef"), { height: Fe } = n(Pe);
262
- h({
263
- clearSelection: Oe,
264
- selectAll: ke
265
162
  });
266
- let Ie = ee(), Le = ie("s-checkbox"), Re = ie("s-empty"), X = pe(), Z = o(X), Q = o(Z), ze = te(Q, 1), $ = te(Z, 1), Be = o($);
163
+ let $ = D();
267
164
  return y(() => {
268
- let e = D(N), t = m.height, n = m.width;
269
- b(X, [
165
+ let e = w(j);
166
+ b($, [
270
167
  e.b(),
271
- e.m(m.size),
272
- { [e.m("stripe")]: m.stripe },
273
- ...he.value
274
- ]), C(X, {
275
- height: typeof t == "number" ? `${t}px` : t,
276
- width: typeof n == "number" ? `${n}px` : n
277
- }), b(Z, e.e("inner")), b(Q, e.e("header"));
278
- }), x(Q, null, 0), u(() => H.value, (e, t) => {
279
- let n = ue();
280
- return y(() => b(n, D(N).e("header-row"))), x(n, null, 0), u(() => e.value, (e, n) => d(() => e.value.type === "select", () => {
281
- let r = ce();
282
- return y(() => {
283
- let i = G.value, a = t.value, o = n.value, s = e.value, c = W.value;
284
- b(r, [D(N).e("header-cell"), i.header[a][o]]), S(r, "colspan", s.colspan || 1), S(r, "rowspan", s.rowspan || 1), C(r, c.header[a][o]);
285
- }), x(r, null, 0), d(() => m.multiple, () => l(Le, {
286
- indeterminate: () => Ne.value,
287
- "model-value": () => Me.value,
288
- onChange: () => je
289
- })), r;
290
- }, () => {
291
- let r = le(), i = ae(r);
292
- return y(() => {
293
- let a = G.value, o = t.value, s = n.value, c = e.value, l = W.value;
294
- b(r, [D(N).e("header-cell"), a.header[o][s]]), S(r, "colspan", c.colspan || 1), S(r, "rowspan", c.rowspan || 1), C(r, l.header[o][s]), w(i, E(c.label));
295
- }), r;
296
- }, 522), (e, n) => `${t.value}-${n}-${F.value}`, 17), n;
297
- }, (e, t) => t, 9), y(() => b(ze, D(N).e("body"))), x(ze, null, 0), u(() => z.value, (e, t) => {
298
- let n = ue();
168
+ e.m(h.size),
169
+ ...ae.value
170
+ ]);
171
+ }), x($, null, 0), d(w(i), {
172
+ height: () => K.value.height,
173
+ "max-height": () => K.value.maxHeight,
174
+ "offset-top": () => P.value,
175
+ always: () => h.scrollAlways,
176
+ native: () => h.nativeScrollbar,
177
+ onScroll: () => q
178
+ }, () => {
179
+ let e = te();
299
180
  return y(() => {
300
- let t = D(N);
301
- b(n, [
302
- t.e("body-row"),
303
- t.is("row-selected", m.rowSelection),
304
- t.is("selected", Ee(e.value))
305
- ]);
306
- }), x(n, null, 0), u(() => U.value, (n, r) => d(() => n.value.type === "select", () => {
307
- let n = de();
308
- y(() => {
309
- let e = G.value, t = r.value, i = W.value;
310
- b(n, [D(N).e("body-cell"), e.body[0][t]]), C(n, i.body[0][t]);
311
- }), x(n, null, 0);
312
- let i = (n) => Ae(n, e.value, t.value);
313
- return l(Le, {
314
- "model-value": () => Te(e.value),
315
- onChange: () => i
316
- }), n;
317
- }, () => {
318
- let s = de();
319
- return y(() => {
320
- let e = G.value, t = r.value, n = W.value;
321
- b(s, [D(N).e("body-cell"), e.body[0][t]]), C(s, n.body[0][t]);
322
- }), x(s, null, 0), d(() => n.value.slot, () => p(() => n.value.slot, {
323
- column: () => n.value,
324
- index: () => t.value,
325
- row: () => e.value
326
- }, () => d(() => n.value.render, () => c(T, {
327
- index: () => t.value,
328
- "render-fn": () => n.value.render,
329
- row: () => e.value
330
- }), () => d(() => n.value.ellipsisTooltip, () => c(D(a), { content: () => String(e.value[n.value.field] ?? "") }, () => {
331
- let t = A(), r = o(t, 1);
332
- return y(() => {
333
- let r = n.value;
334
- b(t, { [D(N).m("ellipsis")]: r.ellipsis || r.ellipsisTooltip }), C(t, {
335
- display: "inline-flex",
336
- alignItems: "center",
337
- paddingLeft: r.treeNode ? (e.value._level || 0) * 24 + "px" : "0px"
338
- });
339
- }), x(t, 0, 0), d(() => e.value._hasChildren && n.value.treeNode, () => {
340
- let t = k(), n = o(t);
341
- return y(() => {
342
- let r = D(N);
343
- b(t, [r.e("tree-node-toggle"), { [r.is("expanded")]: e.value._expanded }]), b(n, r.e("tree-node-arrow"));
344
- }), x(n, null, 0), c(D(i)), t.$evtclick = f(() => B(e.value)), t;
345
- }), y(() => w(r, " " + E(e.value[n.value.field]))), t;
346
- }), () => {
347
- let t = A(), r = o(t, 1);
348
- return y(() => {
349
- let r = n.value;
350
- b(t, { [D(N).m("ellipsis")]: r.ellipsis }), C(t, {
351
- display: "inline-flex",
352
- alignItems: "center",
353
- paddingLeft: r.treeNode ? (e.value._level || 0) * 24 + "px" : "0px"
354
- });
355
- }), x(t, 0, 0), d(() => e.value._hasChildren && n.value.treeNode, () => {
356
- let t = k(), n = o(t);
357
- return y(() => {
358
- let r = D(N);
359
- b(t, [r.e("tree-node-toggle"), { [r.is("expanded")]: e.value._expanded }]), b(n, r.e("tree-node-arrow"));
360
- }), x(n, null, 0), c(D(i)), t.$evtclick = f(() => B(e.value)), t;
361
- }), y(() => w(r, " " + E(e.value[n.value.field]))), t;
362
- }, 1669), 1157)), () => d(() => n.value.render, () => c(T, {
363
- index: () => t.value,
364
- "render-fn": () => n.value.render,
365
- row: () => e.value
366
- }), () => p(() => n.value.field, {
367
- column: () => n.value,
368
- index: () => t.value,
369
- row: () => e.value
370
- }, () => d(() => n.value.ellipsisTooltip, () => c(D(a), { content: () => String(e.value[n.value.field] ?? "") }, () => {
371
- let t = A(), r = o(t, 1);
372
- return y(() => {
373
- let r = n.value;
374
- b(t, { [D(N).m("ellipsis")]: r.ellipsis || r.ellipsisTooltip }), C(t, {
375
- display: "inline-flex",
376
- alignItems: "center",
377
- paddingLeft: r.treeNode ? (e.value._level || 0) * 24 + "px" : "0px"
378
- });
379
- }), x(t, 0, 0), d(() => e.value._hasChildren && n.value.treeNode, () => {
380
- let t = k(), n = o(t);
381
- return y(() => {
382
- let r = D(N);
383
- b(t, [r.e("tree-node-toggle"), { [r.is("expanded")]: e.value._expanded }]), b(n, r.e("tree-node-arrow"));
384
- }), x(n, null, 0), c(D(i)), t.$evtclick = f(() => B(e.value)), t;
385
- }), y(() => w(r, " " + E(e.value[n.value.field]))), t;
386
- }), () => {
387
- let t = A(), r = o(t, 1);
388
- return y(() => {
389
- let r = n.value;
390
- b(t, { [D(N).m("ellipsis")]: r.ellipsis }), C(t, {
391
- display: "inline-flex",
392
- alignItems: "center",
393
- paddingLeft: r.treeNode ? (e.value._level || 0) * 24 + "px" : "0px"
394
- });
395
- }), x(t, 0, 0), d(() => e.value._hasChildren && n.value.treeNode, () => {
396
- let t = k(), n = o(t);
397
- return y(() => {
398
- let r = D(N);
399
- b(t, [r.e("tree-node-toggle"), { [r.is("expanded")]: e.value._expanded }]), b(n, r.e("tree-node-arrow"));
400
- }), x(n, null, 0), c(D(i)), t.$evtclick = f(() => B(e.value)), t;
401
- }), y(() => w(r, " " + E(e.value[n.value.field]))), t;
402
- }, 2949)), 2309), 2053), s;
403
- }, 778), (e, n) => `${t.value}-${n}-${F.value}`, 17), n.$evtclick = f(() => De(e.value)), n;
404
- }, (e, t) => e._id, 9), y(() => {
405
- let e = D(N);
406
- b($, [e.e("empty")]), b(Be, [{ [e.e("empty-border")]: z.value.length !== 0 && D(Fe) !== 0 }]);
407
- }), x($, null, 1), d(() => z.value.length === 0, () => {
408
- let e = fe();
409
- return y(() => b(e, [D(N).e("empty-cell")])), x(e, null, 0), l(Re), e;
410
- }), Ie($, Pe, null, "emptyRef"), ne(X, "scroll", Se), Ie(X, P, null, "containerRef"), X;
181
+ b(e, [w(j).e("inner")]), S(e, G.value);
182
+ }), x(e, null, 0), d(o, { columns: () => V.value }), x(e, null, 1), d(l, {
183
+ data: () => Q.value,
184
+ onCheckAll: () => ie
185
+ }), x(e, null, 2), d(c, {
186
+ data: () => Q.value,
187
+ onCheckRow: () => ne,
188
+ onSelectRow: () => re,
189
+ onExpandedRow: () => oe
190
+ }, { $: [() => f(O, (e, t) => ({
191
+ name: t,
192
+ fn: (e) => m(() => t, { $: [() => e] }, null, 4)
193
+ }))] }), [e, p(() => !h.data.length, () => {
194
+ let e = E();
195
+ return y(() => b(e, [w(j).e("empty")])), x(e, null, 0), m("empty", null, () => d(w(a))), e;
196
+ }, null, 129)];
197
+ }), $;
411
198
  }
412
199
  });
413
200
  //#endregion
414
- export { j as default };
201
+ export { O as default };