morya-ui 0.3.6 → 0.3.8

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 (201) hide show
  1. package/CHANGELOG.md +51 -1
  2. package/dist/Input-DQiiKSm3.js +174 -0
  3. package/dist/accordion/style.css +7 -9
  4. package/dist/auto-complete/style.css +7 -9
  5. package/dist/avatar/style.css +7 -9
  6. package/dist/badge/style.css +7 -9
  7. package/dist/block-ui/style.css +7 -9
  8. package/dist/breadcrumb/style.css +7 -9
  9. package/dist/button/style.css +7 -9
  10. package/dist/card/style.css +7 -9
  11. package/dist/carousel/style.css +7 -9
  12. package/dist/cascade-select/style.css +7 -9
  13. package/dist/checkbox/style.css +7 -9
  14. package/dist/chip/style.css +7 -9
  15. package/dist/command-menu/style.css +7 -9
  16. package/dist/component-registry.d.ts.map +1 -1
  17. package/dist/components/Drawer/Drawer.vue.d.ts +3 -1
  18. package/dist/components/Drawer/Drawer.vue.d.ts.map +1 -1
  19. package/dist/components/Drawer/styles.css +15 -3
  20. package/dist/components/Table/Table.vue.d.ts +188 -733
  21. package/dist/components/Table/Table.vue.d.ts.map +1 -1
  22. package/dist/components/Table/columns/keys.d.ts +13 -0
  23. package/dist/components/Table/columns/keys.d.ts.map +1 -0
  24. package/dist/components/Table/{hooks → columns}/useFixedColumn.d.ts +1 -1
  25. package/dist/components/Table/columns/useFixedColumn.d.ts.map +1 -0
  26. package/dist/components/Table/columns/useHeaders.d.ts +37 -0
  27. package/dist/components/Table/columns/useHeaders.d.ts.map +1 -0
  28. package/dist/components/Table/core/layout.d.ts +26 -0
  29. package/dist/components/Table/core/layout.d.ts.map +1 -0
  30. package/dist/components/Table/core/normalize.d.ts +30 -0
  31. package/dist/components/Table/core/normalize.d.ts.map +1 -0
  32. package/dist/components/Table/{tableQuery.d.ts → core/tableQuery.d.ts} +3 -2
  33. package/dist/components/Table/core/tableQuery.d.ts.map +1 -0
  34. package/dist/components/Table/core/tree.d.ts +31 -0
  35. package/dist/components/Table/core/tree.d.ts.map +1 -0
  36. package/dist/components/Table/core/treeSelection.d.ts +35 -0
  37. package/dist/components/Table/core/treeSelection.d.ts.map +1 -0
  38. package/dist/components/Table/core/utils.d.ts +15 -0
  39. package/dist/components/Table/core/utils.d.ts.map +1 -0
  40. package/dist/components/Table/hooks/index.d.ts +14 -10
  41. package/dist/components/Table/hooks/index.d.ts.map +1 -1
  42. package/dist/components/Table/index.d.ts +1 -1
  43. package/dist/components/Table/index.d.ts.map +1 -1
  44. package/dist/components/Table/render/TableDefaultCell.vue.d.ts +11 -0
  45. package/dist/components/Table/render/TableDefaultCell.vue.d.ts.map +1 -0
  46. package/dist/components/Table/render/TableHeaderFilter.vue.d.ts +20 -0
  47. package/dist/components/Table/render/TableHeaderFilter.vue.d.ts.map +1 -0
  48. package/dist/components/Table/render/TableLoadingLine.vue.d.ts.map +1 -0
  49. package/dist/components/Table/render/TableTbody.vue.d.ts +154 -0
  50. package/dist/components/Table/render/TableTbody.vue.d.ts.map +1 -0
  51. package/dist/components/Table/render/TableThead.vue.d.ts +76 -0
  52. package/dist/components/Table/render/TableThead.vue.d.ts.map +1 -0
  53. package/dist/components/Table/{hooks → state}/internal.d.ts +8 -2
  54. package/dist/components/Table/state/internal.d.ts.map +1 -0
  55. package/dist/components/Table/state/useClickRow.d.ts +7 -0
  56. package/dist/components/Table/state/useClickRow.d.ts.map +1 -0
  57. package/dist/components/Table/state/useColumnResize.d.ts +11 -0
  58. package/dist/components/Table/state/useColumnResize.d.ts.map +1 -0
  59. package/dist/components/Table/state/useExpandableRow.d.ts +25 -0
  60. package/dist/components/Table/state/useExpandableRow.d.ts.map +1 -0
  61. package/dist/components/Table/state/usePageItems.d.ts +15 -0
  62. package/dist/components/Table/state/usePageItems.d.ts.map +1 -0
  63. package/dist/components/Table/{hooks → state}/usePagination.d.ts.map +1 -1
  64. package/dist/components/Table/{hooks → state}/useRows.d.ts +2 -2
  65. package/dist/components/Table/{hooks → state}/useRows.d.ts.map +1 -1
  66. package/dist/components/Table/state/useServerOptions.d.ts.map +1 -0
  67. package/dist/components/Table/{hooks → state}/useTotalItems.d.ts +2 -2
  68. package/dist/components/Table/{hooks → state}/useTotalItems.d.ts.map +1 -1
  69. package/dist/components/Table/state/useTreeRows.d.ts +21 -0
  70. package/dist/components/Table/state/useTreeRows.d.ts.map +1 -0
  71. package/dist/components/Table/state/useVirtualRows.d.ts +23 -0
  72. package/dist/components/Table/state/useVirtualRows.d.ts.map +1 -0
  73. package/dist/components/Table/styles.css +182 -6
  74. package/dist/components/Table/types.d.ts +108 -25
  75. package/dist/components/Table/types.d.ts.map +1 -1
  76. package/dist/components/Tree/Tree.vue.d.ts +2 -2
  77. package/dist/components/TreeSelect/TreeSelect.vue.d.ts +1 -1
  78. package/dist/config-provider/style.css +7 -9
  79. package/dist/confirm-dialog/style.css +7 -9
  80. package/dist/confirm-popup/style.css +7 -9
  81. package/dist/context-menu/style.css +7 -9
  82. package/dist/data-view/style.css +7 -9
  83. package/dist/date-picker/style.css +7 -9
  84. package/dist/dialog/style.css +7 -9
  85. package/dist/divider/style.css +7 -9
  86. package/dist/dock/style.css +7 -9
  87. package/dist/drawer/index.js +57 -50
  88. package/dist/drawer/style.css +22 -12
  89. package/dist/dropdown/style.css +7 -9
  90. package/dist/empty/style.css +7 -9
  91. package/dist/fieldset/style.css +7 -9
  92. package/dist/file-upload/style.css +7 -9
  93. package/dist/flex/style.css +7 -9
  94. package/dist/float-label/style.css +7 -9
  95. package/dist/fluid/style.css +7 -9
  96. package/dist/form/style.css +7 -9
  97. package/dist/gallery/style.css +7 -9
  98. package/dist/grid/style.css +7 -9
  99. package/dist/icon/style.css +7 -9
  100. package/dist/icon-field/style.css +7 -9
  101. package/dist/index.d.ts +1 -3
  102. package/dist/index.d.ts.map +1 -1
  103. package/dist/index.js +4899 -3591
  104. package/dist/inplace/style.css +7 -9
  105. package/dist/input/index.js +2 -174
  106. package/dist/input/style.css +7 -9
  107. package/dist/input-color/style.css +7 -9
  108. package/dist/input-group/style.css +7 -9
  109. package/dist/input-number/style.css +7 -9
  110. package/dist/input-otp/style.css +7 -9
  111. package/dist/input-password/style.css +7 -9
  112. package/dist/input-tags/style.css +7 -9
  113. package/dist/knob/style.css +7 -9
  114. package/dist/label/style.css +7 -9
  115. package/dist/layout/style.css +7 -9
  116. package/dist/listbox/style.css +7 -9
  117. package/dist/loading/style.css +7 -9
  118. package/dist/mega-menu/style.css +7 -9
  119. package/dist/menu/style.css +7 -9
  120. package/dist/menubar/style.css +7 -9
  121. package/dist/message/style.css +7 -9
  122. package/dist/meter-group/style.css +7 -9
  123. package/dist/order-list/style.css +7 -9
  124. package/dist/page/style.css +7 -9
  125. package/dist/pagination/style.css +7 -9
  126. package/dist/panel/style.css +7 -9
  127. package/dist/pick-list/style.css +7 -9
  128. package/dist/popover/style.css +7 -9
  129. package/dist/progress-bar/style.css +7 -9
  130. package/dist/progress-spinner/style.css +7 -9
  131. package/dist/radio/style.css +7 -9
  132. package/dist/rating/style.css +7 -9
  133. package/dist/resolver-map.d.ts.map +1 -1
  134. package/dist/resolver.js +0 -1
  135. package/dist/result/style.css +7 -9
  136. package/dist/scroll-top/style.css +7 -9
  137. package/dist/scrollbar/style.css +7 -9
  138. package/dist/select/style.css +7 -9
  139. package/dist/select-button/style.css +7 -9
  140. package/dist/sidebar/style.css +7 -9
  141. package/dist/skeleton/style.css +7 -9
  142. package/dist/slider/style.css +7 -9
  143. package/dist/space/style.css +7 -9
  144. package/dist/speed-dial/style.css +7 -9
  145. package/dist/split-button/style.css +7 -9
  146. package/dist/splitter/style.css +7 -9
  147. package/dist/status/style.css +7 -9
  148. package/dist/stepper/style.css +7 -9
  149. package/dist/styles/base.css +0 -2
  150. package/dist/styles.css +1 -1
  151. package/dist/switch/style.css +7 -9
  152. package/dist/table/index.js +2027 -601
  153. package/dist/table/style.css +189 -166
  154. package/dist/table/style.js +0 -4
  155. package/dist/tabs/style.css +7 -9
  156. package/dist/tag/style.css +7 -9
  157. package/dist/terminal/style.css +7 -9
  158. package/dist/textarea/style.css +7 -9
  159. package/dist/theme/styles.css +7 -7
  160. package/dist/tiered-menu/style.css +7 -9
  161. package/dist/timeline/style.css +7 -9
  162. package/dist/toast/style.css +7 -9
  163. package/dist/toggle-button/style.css +7 -9
  164. package/dist/toolbar/style.css +7 -9
  165. package/dist/tooltip/style.css +7 -9
  166. package/dist/tree/style.css +7 -9
  167. package/dist/tree-select/style.css +7 -9
  168. package/dist/virtual-scroller/style.css +7 -9
  169. package/package.json +1 -8
  170. package/dist/components/Table/TableLoadingLine.vue.d.ts.map +0 -1
  171. package/dist/components/Table/hooks/internal.d.ts.map +0 -1
  172. package/dist/components/Table/hooks/useClickRow.d.ts +0 -7
  173. package/dist/components/Table/hooks/useClickRow.d.ts.map +0 -1
  174. package/dist/components/Table/hooks/useExpandableRow.d.ts +0 -9
  175. package/dist/components/Table/hooks/useExpandableRow.d.ts.map +0 -1
  176. package/dist/components/Table/hooks/useFixedColumn.d.ts.map +0 -1
  177. package/dist/components/Table/hooks/useHeaders.d.ts +0 -14
  178. package/dist/components/Table/hooks/useHeaders.d.ts.map +0 -1
  179. package/dist/components/Table/hooks/usePageItems.d.ts +0 -17
  180. package/dist/components/Table/hooks/usePageItems.d.ts.map +0 -1
  181. package/dist/components/Table/hooks/useServerOptions.d.ts.map +0 -1
  182. package/dist/components/Table/normalize.d.ts +0 -9
  183. package/dist/components/Table/normalize.d.ts.map +0 -1
  184. package/dist/components/Table/tableQuery.d.ts.map +0 -1
  185. package/dist/components/Table/utils.d.ts +0 -10
  186. package/dist/components/Table/utils.d.ts.map +0 -1
  187. package/dist/components/TreeTable/TreeTable.vue.d.ts +0 -24
  188. package/dist/components/TreeTable/TreeTable.vue.d.ts.map +0 -1
  189. package/dist/components/TreeTable/TreeTableRow.vue.d.ts +0 -17
  190. package/dist/components/TreeTable/TreeTableRow.vue.d.ts.map +0 -1
  191. package/dist/components/TreeTable/index.d.ts +0 -3
  192. package/dist/components/TreeTable/index.d.ts.map +0 -1
  193. package/dist/components/TreeTable/styles.css +0 -97
  194. package/dist/components/TreeTable/types.d.ts +0 -25
  195. package/dist/components/TreeTable/types.d.ts.map +0 -1
  196. package/dist/tree-table/index.js +0 -128
  197. package/dist/tree-table/style.css +0 -1296
  198. package/dist/tree-table/style.js +0 -4
  199. /package/dist/components/Table/{TableLoadingLine.vue.d.ts → render/TableLoadingLine.vue.d.ts} +0 -0
  200. /package/dist/components/Table/{hooks → state}/usePagination.d.ts +0 -0
  201. /package/dist/components/Table/{hooks → state}/useServerOptions.d.ts +0 -0
@@ -1,30 +1,161 @@
1
1
  import { a as e } from "../useComponentAttrs-e-5QAjdw.js";
2
2
  import { t } from "../useControllable-elmWaz23.js";
3
3
  import { t as n } from "../Icon-od9Ob-Ay.js";
4
- import { t as r } from "../Scrollbar-DTeJ8P5b.js";
5
- import { t as i } from "../Checkbox-B2gcDJHM.js";
6
- import { t as a } from "../Loading-Ba-Js5-u.js";
7
- import { t as o } from "../Pagination-lJ7cce6g.js";
8
- import { t as s } from "../Tooltip-D3WUemno.js";
9
- import { t as c } from "../Radio-BbJ_Jyil.js";
10
- import { o as l } from "../config-De8ueCY-.js";
11
- import { n as u } from "../locale-xavS6-Hw.js";
4
+ import { t as r } from "../Button-3vJoiEQC.js";
5
+ import { t as i } from "../Scrollbar-DTeJ8P5b.js";
6
+ import { t as a } from "../Checkbox-B2gcDJHM.js";
7
+ import { t as o } from "../Loading-Ba-Js5-u.js";
8
+ import { t as s } from "../Pagination-lJ7cce6g.js";
9
+ import { t as c } from "../Input-DQiiKSm3.js";
10
+ import { t as l } from "../Popover-CQ2VYpFJ.js";
11
+ import { t as u } from "../Tooltip-D3WUemno.js";
12
+ import { t as d } from "../Radio-BbJ_Jyil.js";
13
+ import { o as f } from "../config-De8ueCY-.js";
14
+ import { n as p } from "../locale-xavS6-Hw.js";
12
15
  import "./style.js";
13
- import { Fragment as d, computed as f, createBlock as p, createCommentVNode as m, createElementBlock as h, createElementVNode as g, createSlots as _, createVNode as v, defineComponent as y, guardReactiveProps as b, mergeProps as x, normalizeClass as S, normalizeProps as C, normalizeStyle as w, openBlock as T, provide as E, ref as D, renderList as O, renderSlot as k, toDisplayString as A, toRefs as ee, unref as j, useAttrs as te, useSlots as ne, watch as M, withCtx as N, withModifiers as P } from "vue";
14
- //#region src/components/Table/hooks/useClickRow.ts
15
- function re(e, t, n, r) {
16
- return { clickRow: (i, a, o, s) => {
17
- if (e.value !== o) return;
18
- let c = { ...i };
19
- t.value && delete c.checkbox, n.value && delete c.index, r("row-click", {
20
- row: c,
21
- index: a
22
- }, s);
23
- } };
16
+ import { Fragment as m, computed as h, createBlock as g, createCommentVNode as _, createElementBlock as v, createElementVNode as y, createSlots as b, createTextVNode as x, createVNode as S, defineComponent as C, guardReactiveProps as w, mergeProps as T, nextTick as E, normalizeClass as D, normalizeProps as O, normalizeStyle as k, onBeforeUnmount as ee, onMounted as te, openBlock as A, provide as ne, ref as j, renderList as M, renderSlot as N, toDisplayString as P, toRefs as re, unref as F, useAttrs as ie, useSlots as ae, watch as I, withCtx as L, withKeys as oe, withModifiers as R } from "vue";
17
+ //#region src/components/Table/columns/useFixedColumn.ts
18
+ var se = (e) => e.fixed === "right", ce = (e) => !!e.fixed;
19
+ function le(e) {
20
+ let t = h(() => e.value.filter(ce)), n = h(() => e.value.filter((e) => ce(e) && !se(e))), r = h(() => e.value.filter(se));
21
+ return {
22
+ fixedHeaders: t,
23
+ lastFixedColumn: h(() => n.value.length ? n.value[n.value.length - 1].value : ""),
24
+ firstRightFixedColumn: h(() => r.value.length ? r.value[0].value : ""),
25
+ fixedColumnsInfos: h(() => {
26
+ if (!t.value.length) return [];
27
+ let e = n.value.map((e, t) => ({
28
+ value: e.value,
29
+ fixed: e.fixed ?? "left",
30
+ width: e.width ?? 100,
31
+ distance: t === 0 ? 0 : n.value.slice(0, t).reduce((e, t) => e + (t.width ?? 100), 0)
32
+ })), i = r.value.map((e, t) => ({
33
+ value: e.value,
34
+ fixed: "right",
35
+ width: e.width ?? 100,
36
+ distance: r.value.slice(t + 1).reduce((e, t) => e + (t.width ?? 100), 0)
37
+ }));
38
+ return [...e, ...i];
39
+ })
40
+ };
24
41
  }
25
42
  //#endregion
26
- //#region src/components/Table/utils.ts
27
- function F(e, t) {
43
+ //#region src/components/Table/columns/keys.ts
44
+ var z = {
45
+ expand: "__m_expand",
46
+ index: "__m_index",
47
+ checkbox: "__m_checkbox",
48
+ radio: "__m_radio"
49
+ };
50
+ function ue(e) {
51
+ return Object.values(z).includes(e);
52
+ }
53
+ var de = Symbol("mTableRoot");
54
+ function fe(e) {
55
+ let { showIndexSymbol: t, checkboxColumnWidth: n, expandColumnWidth: r, fixedCheckbox: i, fixedExpand: a, fixedIndex: o, headers: s, ifHasExpandSlot: c, indexColumnWidth: l, selectionColumn: u, isServerSideMode: d, mustSort: f, serverOptionsComputed: p, showIndex: m, sortBy: g, sortType: _, multiSort: v, sortMode: y, updateServerOptionsSort: b, emits: x } = e, S = h(() => s.value.some((e) => e.fixed)), C = h(() => S.value ? s.value.filter((e) => e.fixed && e.fixed !== "right") : []), w = h(() => S.value ? s.value.filter((e) => e.fixed === "right") : []), T = h(() => s.value.filter((e) => !e.fixed)), E = (e, t) => Array.isArray(e) && Array.isArray(t) ? {
56
+ sortBy: e,
57
+ sortDesc: t.map((e) => e === "desc")
58
+ } : e === "" ? null : {
59
+ sortBy: g.value,
60
+ sortDesc: _.value === "desc"
61
+ }, D = j(E(g.value, _.value));
62
+ I([g, _], () => {
63
+ y.value !== "emit" && (D.value = E(g.value, _.value));
64
+ });
65
+ let O = h({
66
+ get: () => y.value === "emit" ? E(g.value, _.value) : D.value,
67
+ set: (e) => {
68
+ D.value = e;
69
+ }
70
+ }), k = h(() => {
71
+ let e = [
72
+ ...C.value,
73
+ ...T.value,
74
+ ...w.value
75
+ ].map((e) => {
76
+ let t = {
77
+ ...e,
78
+ resizable: e.resizable,
79
+ filterable: e.filterable,
80
+ filters: e.filters,
81
+ minWidth: e.minWidth
82
+ };
83
+ if (t.sortable && (t.sortType = "none"), p.value) {
84
+ if (Array.isArray(p.value.sortBy) && Array.isArray(p.value.sortType) && p.value.sortBy.includes(t.value)) {
85
+ let e = p.value.sortBy.indexOf(t.value);
86
+ t.sortType = p.value.sortType[e];
87
+ } else t.value === p.value.sortBy && p.value.sortType && (t.sortType = p.value.sortType);
88
+ }
89
+ if (O.value && Array.isArray(O.value.sortBy) && Array.isArray(O.value.sortDesc) && O.value.sortBy.includes(t.value)) {
90
+ let e = O.value.sortBy.indexOf(t.value);
91
+ t.sortType = O.value.sortDesc[e] ? "desc" : "asc";
92
+ } else O.value && t.value === O.value.sortBy && (t.sortType = O.value.sortDesc ? "desc" : "asc");
93
+ return t;
94
+ }), s = c.value ? [{
95
+ text: "",
96
+ value: z.expand,
97
+ fixed: a.value || S.value,
98
+ width: r.value
99
+ }, ...e] : e, d = m.value ? [{
100
+ text: t.value,
101
+ value: z.index,
102
+ fixed: o.value || S.value,
103
+ width: l.value
104
+ }, ...s] : s, f = u.value === "checkbox" ? [{
105
+ text: "checkbox",
106
+ value: z.checkbox,
107
+ fixed: i.value || S.value,
108
+ width: n.value ?? 48
109
+ }] : u.value === "radio" ? [{
110
+ text: "",
111
+ value: z.radio,
112
+ fixed: i.value || S.value,
113
+ width: n.value ?? 48
114
+ }] : [];
115
+ return f.length ? [...f, ...d] : d;
116
+ });
117
+ return {
118
+ clientSortOptions: O,
119
+ headerColumns: h(() => k.value.map((e) => e.value)),
120
+ headersForRender: k,
121
+ updateSortField: (e, t) => {
122
+ let n = null;
123
+ if (n = t === "none" ? "asc" : t === "asc" ? "desc" : f.value ? "asc" : null, d.value && b(e, n), y.value !== "emit") {
124
+ if (v.value) {
125
+ let t = D.value, r, i;
126
+ t && Array.isArray(t.sortBy) && Array.isArray(t.sortDesc) ? (r = [...t.sortBy], i = [...t.sortDesc]) : t && typeof t.sortBy == "string" ? (r = [t.sortBy], i = [!!t.sortDesc]) : (r = [], i = []);
127
+ let a = r.indexOf(e);
128
+ a === -1 ? n !== null && (r.push(e), i.push(n === "desc")) : n === null ? (r.splice(a, 1), i.splice(a, 1)) : i[a] = n === "desc", D.value = r.length ? {
129
+ sortBy: r,
130
+ sortDesc: i
131
+ } : null;
132
+ } else n === null ? D.value = null : D.value = {
133
+ sortBy: e,
134
+ sortDesc: n === "desc"
135
+ };
136
+ }
137
+ x("sort", {
138
+ sortField: e,
139
+ sortOrder: n
140
+ });
141
+ },
142
+ clearSort: () => {
143
+ y.value !== "emit" && (D.value = null), d.value && p.value && (p.value = {
144
+ ...p.value,
145
+ sortBy: null,
146
+ sortType: null
147
+ }), x("sort", {
148
+ sortField: void 0,
149
+ sortOrder: null
150
+ });
151
+ },
152
+ isMultiSorting: (e) => p.value && Array.isArray(p.value.sortBy) ? p.value.sortBy.includes(e) : O.value && Array.isArray(O.value.sortBy) ? O.value.sortBy.includes(e) : !1,
153
+ getMultiSortNumber: (e) => p.value && Array.isArray(p.value.sortBy) ? p.value.sortBy.indexOf(e) + 1 : O.value && Array.isArray(O.value.sortBy) ? O.value.sortBy.indexOf(e) + 1 : !1
154
+ };
155
+ }
156
+ //#endregion
157
+ //#region src/components/Table/core/utils.ts
158
+ function B(e, t) {
28
159
  if (e.includes(".")) {
29
160
  let n = e.split("."), r = t;
30
161
  for (let e of n) if (r && typeof r == "object") r = r[e];
@@ -33,30 +164,104 @@ function F(e, t) {
33
164
  }
34
165
  return t[e] ?? "";
35
166
  }
36
- function ie(e, t) {
37
- let n = F(e, t);
167
+ function pe(e, t) {
168
+ let n = B(e, t);
38
169
  return Array.isArray(n) ? n.join(",") : String(n ?? "");
39
170
  }
40
- function ae(e, t, n = "id") {
171
+ function V(e, t, n = "id") {
41
172
  let r = e[n];
42
173
  return typeof r == "string" || typeof r == "number" ? r : t;
43
174
  }
44
- function I(e, t, n = "id") {
45
- let r = e[n], i = t[n];
46
- return (typeof r == "string" || typeof r == "number") && (typeof i == "string" || typeof i == "number") ? r === i : JSON.stringify(e) === JSON.stringify(t);
175
+ function H(e) {
176
+ let t = { ...e };
177
+ return delete t[z.index], delete t[z.checkbox], delete t.index, delete t.checkbox, t;
178
+ }
179
+ function U(e, t, n = "id") {
180
+ if (e === t) return !0;
181
+ let r = e[n], i = t[n], a = typeof r == "string" || typeof r == "number", o = typeof i == "string" || typeof i == "number";
182
+ return a && o ? r === i : a || o ? !1 : JSON.stringify(e) === JSON.stringify(t);
183
+ }
184
+ function me(e, t = "id") {
185
+ let n = /* @__PURE__ */ new Set();
186
+ for (let r of e) {
187
+ let e = r[t];
188
+ (typeof e == "string" || typeof e == "number") && n.add(e);
189
+ }
190
+ return n;
191
+ }
192
+ function he(e, t, n, r = "id") {
193
+ let i = e[r];
194
+ return typeof i == "string" || typeof i == "number" ? n.has(i) : t.some((t) => U(t, e, r));
47
195
  }
48
196
  //#endregion
49
- //#region src/components/Table/tableQuery.ts
50
- function oe(e, t, n) {
197
+ //#region src/components/Table/state/useClickRow.ts
198
+ function ge(e) {
199
+ let t = (t, n, r, i) => {
200
+ e(t, {
201
+ row: H(n),
202
+ index: r
203
+ }, i);
204
+ };
205
+ return {
206
+ clickRow: (e, n, r) => {
207
+ t("row-click", e, n, r);
208
+ },
209
+ dblClickRow: (e, n, r) => {
210
+ t("row-dblclick", e, n, r);
211
+ }
212
+ };
213
+ }
214
+ //#endregion
215
+ //#region src/components/Table/state/useColumnResize.ts
216
+ function _e(e, t, n) {
217
+ let r = null, i = null, a = 0;
218
+ function o() {
219
+ if (!i) return;
220
+ let { key: e, width: r } = i;
221
+ i = null, n({
222
+ ...t.value ?? {},
223
+ [e]: r
224
+ });
225
+ }
226
+ function s(t) {
227
+ if (!r) return;
228
+ let { key: n, startX: s, startWidth: c } = r, l = e.value.find((e) => e.value === n)?.minWidth ?? 40;
229
+ i = {
230
+ key: n,
231
+ width: Math.max(l, c + (t.clientX - s))
232
+ }, !a && (a = requestAnimationFrame(() => {
233
+ a = 0, o();
234
+ }));
235
+ }
236
+ function c() {
237
+ a &&= (cancelAnimationFrame(a), 0), o(), r = null, window.removeEventListener("mousemove", s), window.removeEventListener("mouseup", c);
238
+ }
239
+ function l(t, n) {
240
+ if (!t.resizable || ue(t.value)) return;
241
+ n.preventDefault(), n.stopPropagation();
242
+ let a = t.width ?? e.value.find((e) => e.value === t.value)?.width ?? n.currentTarget.parentElement?.getBoundingClientRect().width ?? 100;
243
+ r = {
244
+ key: t.value,
245
+ startX: n.clientX,
246
+ startWidth: a
247
+ }, i = null, window.addEventListener("mousemove", s), window.addEventListener("mouseup", c);
248
+ }
249
+ return ee(() => {
250
+ a && cancelAnimationFrame(a), window.removeEventListener("mousemove", s), window.removeEventListener("mouseup", c);
251
+ }), { onResizeStart: l };
252
+ }
253
+ //#endregion
254
+ //#region src/components/Table/core/tableQuery.ts
255
+ function ve(e, t, n) {
51
256
  if (typeof e == "number" && typeof t == "number") return e < t ? n ? 1 : -1 : e > t ? n ? -1 : 1 : 0;
52
257
  let r = String(e ?? ""), i = String(t ?? "");
53
258
  return r < i ? n ? 1 : -1 : r > i ? n ? -1 : 1 : 0;
54
259
  }
55
- function se(e, t) {
56
- return typeof t == "function" ? t(e) : Array.isArray(t) ? t.includes(e) : e === t || String(e ?? "") === String(t);
260
+ function ye(e, t) {
261
+ return typeof t == "function" ? t(e) : Array.isArray(t) ? t.length === 0 || t.some((t) => t === e || String(t) === String(e ?? "")) : typeof t == "string" ? String(e ?? "").toLowerCase().includes(t.toLowerCase()) : e === t || String(e ?? "") === String(t);
57
262
  }
58
- function L(e, t) {
59
- let { field: n, comparison: r, criteria: i } = t, a = F(String(n), e);
263
+ function be(e, t) {
264
+ let { field: n, comparison: r, criteria: i } = t, a = B(String(n), e);
60
265
  if (typeof r == "function") return r(a, i);
61
266
  switch (r) {
62
267
  case "=": return a === i;
@@ -73,32 +278,32 @@ function L(e, t) {
73
278
  default: return a === i;
74
279
  }
75
280
  }
76
- function R(e, t, n) {
281
+ function xe(e, t, n) {
77
282
  let r = [...e];
78
- if (t) for (let [e, n] of Object.entries(t)) n != null && n !== "" && (r = r.filter((t) => se(F(e, t), n)));
79
- if (n) for (let e of n) r = r.filter((t) => L(t, e));
283
+ if (t) for (let [e, n] of Object.entries(t)) n != null && n !== "" && (r = r.filter((t) => ye(B(e, t), n)));
284
+ if (n) for (let e of n) r = r.filter((t) => be(t, e));
80
285
  return r;
81
286
  }
82
- function ce(e, t) {
83
- return typeof t == "string" && t !== "" ? String(F(t, e)) : Array.isArray(t) ? t.map((t) => String(F(t, e))).join("") : Object.values(e).join(" ");
287
+ function Se(e, t) {
288
+ return typeof t == "string" && t !== "" ? String(B(t, e)) : Array.isArray(t) ? t.map((t) => String(B(t, e))).join("") : Object.values(e).join(" ");
84
289
  }
85
- function le(e, t, n = "") {
290
+ function Ce(e, t, n = "") {
86
291
  if (!t) return e;
87
292
  let r = t.toLowerCase();
88
- return e.filter((e) => ce(e, n).toLowerCase().includes(r));
293
+ return e.filter((e) => Se(e, n).toLowerCase().includes(r));
89
294
  }
90
- function z(e, t, n, r) {
295
+ function we(e, t, n, r) {
91
296
  let i = e[r], a = t[r];
92
- return (r === 0 ? n : z(e, t, n, r - 1)).sort((t, n) => {
93
- for (let i = 0; i < r; i += 1) if (F(e[i], t) !== F(e[i], n)) return 0;
94
- return oe(F(i, t), F(i, n), a);
297
+ return (r === 0 ? n : we(e, t, n, r - 1)).sort((t, n) => {
298
+ for (let i = 0; i < r; i += 1) if (B(e[i], t) !== B(e[i], n)) return 0;
299
+ return ve(B(i, t), B(i, n), a);
95
300
  });
96
301
  }
97
- function ue(e, t, n, r = !1) {
302
+ function Te(e, t, n, r = !1) {
98
303
  let i = [...e];
99
- return r && Array.isArray(t) && Array.isArray(n) ? t.length === 0 ? i : z(t, n, i, t.length - 1) : i.sort((e, r) => oe(F(t, e), F(t, r), n));
304
+ return r && Array.isArray(t) && Array.isArray(n) ? t.length === 0 ? i : we(t, n, i, t.length - 1) : i.sort((e, r) => ve(B(t, e), B(t, r), n));
100
305
  }
101
- function de(e, t) {
306
+ function Ee(e, t) {
102
307
  return e.indexOf(t) === -1 ? {
103
308
  next: [...e, t],
104
309
  expanded: !0
@@ -107,10 +312,10 @@ function de(e, t) {
107
312
  expanded: !1
108
313
  };
109
314
  }
110
- function B(e, t, n = "id") {
111
- let r = { ...t };
112
- return delete r.checkbox, delete r.index, t.checkbox ? {
113
- next: e.filter((e) => !I(e, r, n)),
315
+ function De(e, t, n = "id") {
316
+ let r = H(t);
317
+ return e.some((e) => U(e, r, n)) ? {
318
+ next: e.filter((e) => !U(e, r, n)),
114
319
  selected: !1,
115
320
  row: r
116
321
  } : {
@@ -120,156 +325,133 @@ function B(e, t, n = "id") {
120
325
  };
121
326
  }
122
327
  //#endregion
123
- //#region src/components/Table/hooks/useExpandableRow.ts
124
- function fe(e, t, n, r) {
125
- let i = D([]), a = f(() => e.value ?? i.value), o = (e, r) => ae(e, n.value + r, t.value);
126
- return {
127
- expandedKeys: a,
128
- isRowExpanded: (e, t) => a.value.includes(o(e, t)),
129
- toggleExpandRow: (e, t, n) => {
130
- n.stopPropagation();
131
- let { next: s, expanded: c } = de(a.value, o(e, t));
132
- i.value = s, r("update:expandedRowKeys", s), r("expand", {
133
- row: e,
134
- expanded: c
135
- });
328
+ //#region src/components/Table/state/useExpandableRow.ts
329
+ function Oe(e, t, n, r, i, a, o) {
330
+ let s = j([]), c = j(!1), l = h(() => e.value ?? s.value), u = h(() => ({
331
+ expandAll: !!i.value?.expandAll,
332
+ expandRowKeys: i.value?.expandRowKeys,
333
+ accordion: !!i.value?.accordion,
334
+ trigger: i.value?.trigger ?? "default",
335
+ toggleMethod: i.value?.toggleMethod
336
+ }));
337
+ function d(e, t, n) {
338
+ s.value = e, r("update:expandedRowKeys", e), t != null && n != null && r("expand", {
339
+ row: H(t),
340
+ expanded: n
341
+ });
342
+ }
343
+ I([
344
+ a,
345
+ () => u.value.expandAll,
346
+ () => u.value.expandRowKeys,
347
+ o
348
+ ], () => {
349
+ if (!(!a.value || c.value)) {
350
+ if (e.value != null) {
351
+ c.value = !0;
352
+ return;
353
+ }
354
+ if (u.value.expandAll) {
355
+ d(o.value.map((e, n) => V(e, n, t.value))), c.value = !0;
356
+ return;
357
+ }
358
+ u.value.expandRowKeys?.length && (d([...u.value.expandRowKeys]), c.value = !0);
136
359
  }
137
- };
138
- }
139
- //#endregion
140
- //#region src/components/Table/hooks/useFixedColumn.ts
141
- var pe = (e) => e.fixed === "right", me = (e) => !!e.fixed;
142
- function he(e) {
143
- let t = f(() => e.value.filter(me)), n = f(() => e.value.filter((e) => me(e) && !pe(e))), r = f(() => e.value.filter(pe));
144
- return {
145
- fixedHeaders: t,
146
- lastFixedColumn: f(() => n.value.length ? n.value[n.value.length - 1].value : ""),
147
- firstRightFixedColumn: f(() => r.value.length ? r.value[0].value : ""),
148
- fixedColumnsInfos: f(() => {
149
- if (!t.value.length) return [];
150
- let e = n.value.map((e, t) => ({
151
- value: e.value,
152
- fixed: e.fixed ?? "left",
153
- width: e.width ?? 100,
154
- distance: t === 0 ? 0 : n.value.slice(0, t).reduce((e, t) => e + (t.width ?? 100), 0)
155
- })), i = r.value.map((e, t) => ({
156
- value: e.value,
157
- fixed: "right",
158
- width: e.width ?? 100,
159
- distance: r.value.slice(t + 1).reduce((e, t) => e + (t.width ?? 100), 0)
160
- }));
161
- return [...e, ...i];
162
- })
163
- };
164
- }
165
- function ge(e, t, n, r, i, a, o, s, c, l, u, d, p, m, h, g, _, v, y, b) {
166
- let x = f(() => o.value.some((e) => e.fixed)), S = f(() => x.value ? o.value.filter((e) => e.fixed && e.fixed !== "right") : []), C = f(() => x.value ? o.value.filter((e) => e.fixed === "right") : []), w = f(() => o.value.filter((e) => !e.fixed)), T = (e, t) => Array.isArray(e) && Array.isArray(t) ? {
167
- sortBy: e,
168
- sortDesc: t.map((e) => e === "desc")
169
- } : e === "" ? null : {
170
- sortBy: h.value,
171
- sortDesc: g.value === "desc"
172
- }, E = D(T(h.value, g.value)), O = f({
173
- get: () => v.value === "emit" ? T(h.value, g.value) : E.value,
174
- set: (e) => {
175
- E.value = e;
360
+ }, { immediate: !0 }), I(i, () => {
361
+ c.value = !1;
362
+ });
363
+ let f = (e, r) => V(e, n.value + r, t.value), p = (e, t) => l.value.includes(f(e, t));
364
+ function m(e) {
365
+ return l.value.includes(V(e, 0, t.value));
366
+ }
367
+ function g() {
368
+ let e = new Set(l.value);
369
+ return o.value.filter((n, r) => e.has(V(n, r, t.value))).map(H);
370
+ }
371
+ function _(e, n) {
372
+ if (!a.value) return;
373
+ let i = Array.isArray(e) ? e : [e], o = [...l.value];
374
+ for (let e of i) {
375
+ let i = V(e, 0, t.value), a = o.includes(i);
376
+ a !== n && (u.value.toggleMethod && u.value.toggleMethod({
377
+ row: H(e),
378
+ expanded: n
379
+ }) === !1 || (n ? u.value.accordion ? o = [i] : a || o.push(i) : o = o.filter((e) => e !== i), r("expand", {
380
+ row: H(e),
381
+ expanded: n
382
+ })));
176
383
  }
177
- }), k = f(() => {
178
- let o = [
179
- ...S.value,
180
- ...w.value,
181
- ...C.value
182
- ].map((e) => {
183
- let t = { ...e };
184
- if (t.sortable && (t.sortType = "none"), p.value) {
185
- if (Array.isArray(p.value.sortBy) && Array.isArray(p.value.sortType) && p.value.sortBy.includes(t.value)) {
186
- let e = p.value.sortBy.indexOf(t.value);
187
- t.sortType = p.value.sortType[e];
188
- } else t.value === p.value.sortBy && p.value.sortType && (t.sortType = p.value.sortType);
384
+ d(o);
385
+ }
386
+ function v(e) {
387
+ if (a.value) {
388
+ if (!e) {
389
+ d([]);
390
+ return;
189
391
  }
190
- if (O.value && Array.isArray(O.value.sortBy) && Array.isArray(O.value.sortDesc) && O.value.sortBy.includes(t.value)) {
191
- let e = O.value.sortBy.indexOf(t.value);
192
- t.sortType = O.value.sortDesc[e] ? "desc" : "asc";
193
- } else O.value && t.value === O.value.sortBy && (t.sortType = O.value.sortDesc ? "desc" : "asc");
194
- return t;
195
- }), u = s.value ? [{
196
- text: "",
197
- value: "expand",
198
- fixed: i.value || x.value,
199
- width: n.value
200
- }, ...o] : o, d = m.value ? [{
201
- text: e.value,
202
- value: "index",
203
- fixed: a.value || x.value,
204
- width: c.value
205
- }, ...u] : u, f = l.value === "checkbox" ? [{
206
- text: "checkbox",
207
- value: "checkbox",
208
- fixed: r.value || x.value,
209
- width: t.value ?? 48
210
- }] : l.value === "radio" ? [{
211
- text: "",
212
- value: "radio",
213
- fixed: r.value || x.value,
214
- width: t.value ?? 48
215
- }] : [];
216
- return f.length ? [...f, ...d] : d;
217
- });
392
+ d(o.value.map((e, n) => V(e, n, t.value)));
393
+ }
394
+ }
395
+ function y() {
396
+ d([]);
397
+ }
398
+ function b(e) {
399
+ _(e, !m(e));
400
+ }
218
401
  return {
219
- clientSortOptions: O,
220
- headerColumns: f(() => k.value.map((e) => e.value)),
221
- headersForRender: k,
222
- updateSortField: (e, t) => {
223
- let n = null;
224
- if (n = t === "none" ? "asc" : t === "asc" ? "desc" : d.value ? "asc" : null, u.value && y(e, n), v.value !== "emit") {
225
- if (E.value && Array.isArray(E.value.sortBy) && Array.isArray(E.value.sortDesc)) {
226
- let t = E.value.sortBy.indexOf(e);
227
- t === -1 ? n !== null && (E.value.sortBy.push(e), E.value.sortDesc.push(n === "desc")) : n === null ? (E.value.sortDesc.splice(t, 1), E.value.sortBy.splice(t, 1)) : E.value.sortDesc[t] = n === "desc";
228
- } else n === null ? E.value = null : E.value = {
229
- sortBy: e,
230
- sortDesc: n === "desc"
231
- };
232
- }
233
- b("sort", {
234
- sortField: e,
235
- sortOrder: n
236
- });
237
- },
238
- isMultiSorting: (e) => p.value && Array.isArray(p.value.sortBy) ? p.value.sortBy.includes(e) : O.value && Array.isArray(O.value.sortBy) ? O.value.sortBy.includes(e) : !1,
239
- getMultiSortNumber: (e) => p.value && Array.isArray(p.value.sortBy) ? p.value.sortBy.indexOf(e) + 1 : O.value && Array.isArray(O.value.sortBy) ? O.value.sortBy.indexOf(e) + 1 : !1
402
+ expandResolved: u,
403
+ expandedKeys: l,
404
+ isRowExpanded: p,
405
+ isRowExpandByRow: m,
406
+ getRowExpandRecords: g,
407
+ setRowExpand: _,
408
+ setAllRowExpand: v,
409
+ clearRowExpand: y,
410
+ toggleRowExpand: b,
411
+ toggleExpandRow: (e, t, n) => {
412
+ if (n?.stopPropagation(), !a.value || u.value.trigger === "manual") return;
413
+ let r = f(e, t), i = !l.value.includes(r);
414
+ if (u.value.toggleMethod && u.value.toggleMethod({
415
+ row: H(e),
416
+ expanded: i
417
+ }) === !1) return;
418
+ let o;
419
+ u.value.accordion && i ? o = [r] : {next: o} = Ee(l.value, r), d(o, e, i);
420
+ }
240
421
  };
241
422
  }
242
423
  //#endregion
243
- //#region src/components/Table/hooks/usePageItems.ts
244
- function _e(e, t, n, r, i, a, o, s, c, l) {
245
- let u = f(() => (e.value - 1) * i.value + 1), d = f(() => n.value ? Math.min(c.value, e.value * i.value) : Math.min(s.value.length, e.value * i.value)), p = f(() => n.value ? r.value : s.value.slice(u.value - 1, d.value)), m = f(() => o.value ? p.value.map((e, t) => ({
246
- index: u.value + t,
247
- ...e
248
- })) : p.value), h = f(() => a.value.length === 0 || a.value.every((e) => s.value.every((t) => !I(e, t, l.value))) ? "noneSelected" : a.value.length === s.value.length && a.value.every((e) => s.value.some((t) => I(e, t, l.value))) ? "allSelected" : "partSelected");
424
+ //#region src/components/Table/state/usePageItems.ts
425
+ function ke(e, t, n, r, i, a, o, s, c) {
426
+ let l = h(() => (e.value - 1) * r.value + 1), u = h(() => t.value ? Math.min(s.value, e.value * r.value) : Math.min(o.value.length, e.value * r.value)), d = h(() => t.value ? n.value : o.value.slice(l.value - 1, u.value)), f = h(() => a.value ? d.value.map((e, t) => ({
427
+ ...e,
428
+ [z.index]: l.value + t
429
+ })) : d.value), p = h(() => me(i.value, c.value)), m = (e) => he(e, i.value, p.value, c.value);
249
430
  return {
250
- currentPageFirstIndex: u,
251
- currentPageLastIndex: d,
252
- multipleSelectStatus: h,
253
- pageItems: f(() => t.value ? h.value === "allSelected" ? m.value.map((e) => ({
254
- checkbox: !0,
255
- ...e
256
- })) : h.value === "noneSelected" ? m.value.map((e) => ({
257
- checkbox: !1,
258
- ...e
259
- })) : m.value.map((e) => {
260
- let t = { ...e };
261
- return delete t.index, {
262
- checkbox: a.value.some((e) => I(e, t, l.value)),
263
- ...e
264
- };
265
- }) : m.value)
431
+ currentPageFirstIndex: l,
432
+ currentPageLastIndex: u,
433
+ multipleSelectStatus: h(() => {
434
+ let e = d.value;
435
+ if (e.length === 0 || i.value.length === 0) return "noneSelected";
436
+ let t = 0;
437
+ for (let n of e) m(n) && (t += 1);
438
+ return t === 0 ? "noneSelected" : t === e.length ? "allSelected" : "partSelected";
439
+ }),
440
+ pageItems: f,
441
+ itemsInPage: d,
442
+ isItemSelected: m,
443
+ selectedKeySet: p
266
444
  };
267
445
  }
268
446
  //#endregion
269
- //#region src/components/Table/hooks/usePagination.ts
270
- function ve(e, t, n, r, i, a, o) {
271
- let s = D(a.value ? a.value.page : e.value), c = f(() => Math.ceil(r.value / i.value)), l = f(() => c.value === 0 || s.value === c.value), u = f(() => s.value === 1);
272
- return {
447
+ //#region src/components/Table/state/usePagination.ts
448
+ function Ae(e, t, n, r, i, a, o) {
449
+ let s = j(a.value ? a.value.page : e.value), c = h(() => Math.ceil(r.value / i.value)), l = h(() => c.value === 0 || s.value === c.value), u = h(() => s.value === 1);
450
+ return I(e, (e) => {
451
+ !t.value && e !== s.value && (s.value = e);
452
+ }), I(() => a.value?.page, (e) => {
453
+ t.value && e != null && e !== s.value && (s.value = e);
454
+ }), {
273
455
  currentPaginationNumber: s,
274
456
  maxPaginationNumber: c,
275
457
  isLastPage: l,
@@ -289,11 +471,15 @@ function ve(e, t, n, r, i, a, o) {
289
471
  };
290
472
  }
291
473
  //#endregion
292
- //#region src/components/Table/hooks/useRows.ts
293
- function ye(e, t, n, r) {
294
- let i = f(() => !e.value && !t.value.includes(r.value) ? [r.value, ...t.value] : t.value), a = D(n.value ? n.value.rowsPerPage : r.value);
295
- return {
296
- rowsItemsComputed: i,
474
+ //#region src/components/Table/state/useRows.ts
475
+ function je(e, t, n, r) {
476
+ let i = h(() => !e.value && !t.value.includes(r.value) ? [r.value, ...t.value] : t.value), a = j(n.value ? n.value.rowsPerPage : r.value);
477
+ return I(r, (t) => {
478
+ !e.value && t !== a.value && (a.value = t);
479
+ }), I(() => n.value?.rowsPerPage, (t) => {
480
+ e.value && t != null && t !== a.value && (a.value = t);
481
+ }), {
482
+ pageSizesComputed: i,
297
483
  rowsPerPageRef: a,
298
484
  updateRowsPerPage: (e) => {
299
485
  a.value = e;
@@ -301,9 +487,15 @@ function ye(e, t, n, r) {
301
487
  };
302
488
  }
303
489
  //#endregion
304
- //#region src/components/Table/hooks/useServerOptions.ts
305
- function be(e, t, n) {
306
- let r = f({
490
+ //#region src/components/Table/state/useServerOptions.ts
491
+ function Me(e, t) {
492
+ return {
493
+ sortBy: Array.isArray(e) ? [...e] : e ? [e] : [],
494
+ sortType: Array.isArray(t) ? [...t] : t ? [t] : []
495
+ };
496
+ }
497
+ function Ne(e, t, n) {
498
+ let r = h({
307
499
  get: () => {
308
500
  if (!e.value) return null;
309
501
  let { page: t, rowsPerPage: n, sortBy: r, sortType: i } = e.value;
@@ -328,13 +520,19 @@ function be(e, t, n) {
328
520
  },
329
521
  updateServerOptionsSort: (e, n) => {
330
522
  if (r.value) {
331
- if (t.value && Array.isArray(r.value.sortBy) && Array.isArray(r.value.sortType)) {
332
- let t = r.value.sortBy.findIndex((t) => t === e);
333
- t === -1 && n !== null ? (r.value.sortBy.push(e), r.value.sortType.push(n)) : n === null ? (r.value.sortBy.splice(t, 1), r.value.sortType.splice(t, 1)) : r.value.sortType[t] = n;
334
- } else r.value = {
523
+ if (t.value) {
524
+ let { sortBy: t, sortType: i } = Me(r.value.sortBy, r.value.sortType), a = t.findIndex((t) => t === e);
525
+ a === -1 && n !== null ? (t.push(e), i.push(n)) : n === null ? a !== -1 && (t.splice(a, 1), i.splice(a, 1)) : a === -1 ? (t.push(e), i.push(n)) : i[a] = n, r.value = {
526
+ ...r.value,
527
+ sortBy: t,
528
+ sortType: i
529
+ };
530
+ return;
531
+ }
532
+ r.value = {
335
533
  ...r.value,
336
- sortBy: n === null ? null : e,
337
- sortType: n
534
+ sortBy: n === null ? void 0 : e,
535
+ sortType: n ?? void 0
338
536
  };
339
537
  }
340
538
  },
@@ -348,114 +546,1162 @@ function be(e, t, n) {
348
546
  };
349
547
  }
350
548
  //#endregion
351
- //#region src/components/Table/hooks/useTotalItems.ts
352
- function xe(e, t, n, r, i, a, o, s, c, l, u, d) {
353
- let p = f(() => r.value || s.value === "" ? i.value : le(i.value, s.value, o.value)), m = f(() => R(p.value, n.value, t.value)), h = f(() => {
549
+ //#region src/components/Table/state/useTotalItems.ts
550
+ function Pe(e, t, n, r, i, a, o, s, c, l, u, d) {
551
+ let f = h(() => r.value || s.value === "" ? i.value : Ce(i.value, s.value, o.value)), p = h(() => xe(f.value, n.value, t.value)), m = h(() => {
354
552
  if (r.value) return i.value;
355
- if (e.value === null) return m.value;
553
+ if (e.value === null) return p.value;
356
554
  let { sortBy: t, sortDesc: n } = e.value;
357
- return ue(m.value, t, n, l.value);
358
- }), g = f(() => r.value ? c.value : h.value.length), _ = f({
555
+ return Te(p.value, t, n, l.value);
556
+ }), g = h(() => r.value ? c.value : m.value.length), _ = h({
359
557
  get: () => a.value ?? [],
360
558
  set: (e) => d("update:selection", e)
361
559
  });
362
560
  return {
363
- totalItems: h,
561
+ totalItems: m,
364
562
  selectItemsComputed: _,
365
563
  totalItemsLength: g,
366
- toggleSelectAll: (e) => {
367
- _.value = e ? h.value : [], e && d("selectAll");
564
+ toggleSelectAll: (e, t) => {
565
+ let n = u.value, r = t.map(H);
566
+ if (e) {
567
+ let e = [..._.value];
568
+ for (let t of r) e.some((e) => U(e, t, n)) || e.push(t);
569
+ _.value = e, d("select-all");
570
+ return;
571
+ }
572
+ _.value = _.value.filter((e) => !r.some((t) => U(e, t, n)));
368
573
  },
369
574
  toggleSelectItem: (e) => {
370
- let { next: t, selected: n, row: r } = B(_.value, e, u.value);
371
- _.value = t, d(n ? "selectRow" : "deselectRow", r);
575
+ let { next: t, selected: n, row: r } = De(_.value, e, u.value);
576
+ _.value = t, d(n ? "select-row" : "deselect-row", r);
577
+ }
578
+ };
579
+ }
580
+ //#endregion
581
+ //#region src/components/Table/core/tree.ts
582
+ function Fe(e) {
583
+ return {
584
+ childrenField: e?.childrenField ?? "children",
585
+ indent: e?.indent ?? 16,
586
+ expandAll: !!e?.expandAll,
587
+ accordion: !!e?.accordion,
588
+ trigger: e?.trigger ?? "default",
589
+ lazy: !!e?.lazy,
590
+ hasChildField: e?.hasChildField ?? "hasChild",
591
+ transform: !!e?.transform,
592
+ rowField: e?.rowField ?? "id",
593
+ parentField: e?.parentField ?? "parentId",
594
+ showLine: !!e?.showLine,
595
+ treeNode: e?.treeNode,
596
+ loadMethod: e?.loadMethod,
597
+ expandRowKeys: e?.expandRowKeys,
598
+ toggleMethod: e?.toggleMethod
599
+ };
600
+ }
601
+ function Ie(e, t, n, r) {
602
+ let i = /* @__PURE__ */ new Map(), a = [];
603
+ for (let n of e) {
604
+ let e = n[t];
605
+ (typeof e == "string" || typeof e == "number") && i.set(e, {
606
+ ...n,
607
+ [r]: []
608
+ });
609
+ }
610
+ for (let o of e) {
611
+ let e = o[t];
612
+ if (typeof e != "string" && typeof e != "number") continue;
613
+ let s = i.get(e), c = o[n];
614
+ if (c == null || c === "") {
615
+ a.push(s);
616
+ continue;
617
+ }
618
+ let l = i.get(c);
619
+ if (!l) {
620
+ a.push(s);
621
+ continue;
622
+ }
623
+ l[r].push(s);
624
+ }
625
+ let o = (e) => {
626
+ for (let t of e) {
627
+ let e = t[r];
628
+ e?.length ? o(e) : delete t[r];
629
+ }
630
+ };
631
+ return o(a), a;
632
+ }
633
+ function W(e, t) {
634
+ let n = e[t];
635
+ return Array.isArray(n) ? n : [];
636
+ }
637
+ function G(e, t, n, r) {
638
+ return W(e, t).length > 0 ? !0 : n ? !!e[r] : !1;
639
+ }
640
+ function Le(e, t, n, r, i) {
641
+ let a = [], o = (e, s) => {
642
+ e.forEach((e, c) => {
643
+ let l = V(e, s + c, t);
644
+ G(e, n, r, i) && (a.push(l), o(W(e, n), 0));
645
+ });
646
+ };
647
+ return o(e, 0), a;
648
+ }
649
+ function Re(e, t, n, r, i, a, o) {
650
+ let s = [], c = /* @__PURE__ */ new Map(), l = new Set(t), u = (e, t, d) => {
651
+ e.forEach((e, f) => {
652
+ let p = V(e, f, n), m = G(e, r, i, a);
653
+ if (c.set(p, {
654
+ depth: t,
655
+ hasChildren: m,
656
+ loading: o.has(p),
657
+ parentKey: d
658
+ }), s.push(e), m && l.has(p)) {
659
+ let n = W(e, r);
660
+ n.length && u(n, t + 1, p);
661
+ }
662
+ });
663
+ };
664
+ return u(e, 0, null), {
665
+ rows: s,
666
+ meta: c
667
+ };
668
+ }
669
+ function ze(e, t, n) {
670
+ let r = [];
671
+ for (let i of e) {
672
+ let e = W(i, t);
673
+ if (n(i)) {
674
+ r.push(i);
675
+ continue;
372
676
  }
677
+ if (!e.length) continue;
678
+ let a = ze(e, t, n);
679
+ a.length && r.push({
680
+ ...i,
681
+ [t]: a
682
+ });
683
+ }
684
+ return r;
685
+ }
686
+ function Be(e, t, n, r) {
687
+ let i = /* @__PURE__ */ new Set();
688
+ for (let [e, a] of r) a.parentKey === n && e !== t && i.add(e);
689
+ return [...e.filter((e) => !i.has(e) && e !== t), t];
690
+ }
691
+ //#endregion
692
+ //#region src/components/Table/state/useTreeRows.ts
693
+ function Ve(e, t, n, r, i, a, o) {
694
+ let s = h(() => e.value != null), c = h(() => Fe(e.value)), l = j([]), u = j(/* @__PURE__ */ new Set()), d = j(!1), f = h(() => r.value ?? l.value), p = h(() => {
695
+ if (!s.value) return [];
696
+ let e = c.value, r = e.transform ? Ie(t.value, e.rowField || n.value, e.parentField, e.childrenField) : t.value, o = i.value?.trim();
697
+ if (!o) return r;
698
+ let l = Array.isArray(a.value) ? a.value : a.value ? [a.value] : [];
699
+ return ze(r, e.childrenField, (e) => {
700
+ let t = l.length ? l.map((t) => String(e[t] ?? "")) : Object.values(e).filter((e) => typeof e != "object" || !e).map((e) => String(e)), n = o.toLowerCase();
701
+ return t.some((e) => e.toLowerCase().includes(n));
702
+ });
703
+ });
704
+ function m(e, t, n) {
705
+ l.value = e, o("update:expandedRowKeys", e), t != null && n != null && o("expand", {
706
+ row: H(t),
707
+ expanded: n
708
+ });
709
+ }
710
+ I([
711
+ s,
712
+ () => c.value.expandAll,
713
+ () => c.value.expandRowKeys,
714
+ p
715
+ ], () => {
716
+ if (!s.value || d.value) return;
717
+ if (r.value != null) {
718
+ d.value = !0;
719
+ return;
720
+ }
721
+ let e = c.value;
722
+ if (e.expandAll) {
723
+ m(Le(p.value, n.value, e.childrenField, e.lazy, e.hasChildField)), d.value = !0;
724
+ return;
725
+ }
726
+ e.expandRowKeys?.length && (m([...e.expandRowKeys]), d.value = !0);
727
+ }, { immediate: !0 }), I(e, () => {
728
+ d.value = !1;
729
+ });
730
+ let g = h(() => {
731
+ if (!s.value) return {
732
+ rows: [],
733
+ meta: /* @__PURE__ */ new Map()
734
+ };
735
+ let e = c.value;
736
+ return Re(p.value, f.value, n.value, e.childrenField, e.lazy, e.hasChildField, u.value);
737
+ }), _ = h(() => g.value.rows), v = h(() => g.value.meta);
738
+ function y(e, t = 0) {
739
+ return V(e, t, n.value);
740
+ }
741
+ function b(e) {
742
+ return f.value.includes(y(e));
743
+ }
744
+ function x() {
745
+ let e = new Set(f.value), t = [], n = c.value, r = (i) => {
746
+ for (let a of i) e.has(y(a)) && t.push(H(a)), r(W(a, n.childrenField));
747
+ };
748
+ return r(p.value), t;
749
+ }
750
+ async function S(e, t) {
751
+ let n = c.value;
752
+ if (!n.lazy || W(e, n.childrenField).length || !n.loadMethod) return !0;
753
+ let r = new Set(u.value);
754
+ r.add(t), u.value = r;
755
+ try {
756
+ let t = await n.loadMethod(e);
757
+ e[n.childrenField] = t;
758
+ } finally {
759
+ let e = new Set(u.value);
760
+ e.delete(t), u.value = e;
761
+ }
762
+ return G(e, n.childrenField, !1, n.hasChildField) ? !0 : (e[n.hasChildField] = !1, !1);
763
+ }
764
+ async function C(e, t) {
765
+ if (!s.value) return;
766
+ let n = Array.isArray(e) ? e : [e], r = c.value, i = [...f.value];
767
+ for (let e of n) {
768
+ let n = y(e);
769
+ if ((v.value.get(n)?.hasChildren ?? G(e, r.childrenField, r.lazy, r.hasChildField)) && i.includes(n) !== t && !(r.toggleMethod && r.toggleMethod({
770
+ row: H(e),
771
+ expanded: t
772
+ }) === !1)) {
773
+ if (t) {
774
+ if (!await S(e, n)) continue;
775
+ if (r.accordion) {
776
+ let e = v.value.get(n)?.parentKey ?? null;
777
+ i = Be(i, n, e, v.value);
778
+ } else i.includes(n) || i.push(n);
779
+ } else i = i.filter((e) => e !== n);
780
+ o("expand", {
781
+ row: H(e),
782
+ expanded: t
783
+ });
784
+ }
785
+ }
786
+ m(i);
787
+ }
788
+ async function w(e) {
789
+ if (!s.value) return;
790
+ let t = c.value;
791
+ if (!e) {
792
+ m([]);
793
+ return;
794
+ }
795
+ m(Le(p.value, n.value, t.childrenField, t.lazy, t.hasChildField));
796
+ }
797
+ function T() {
798
+ m([]);
799
+ }
800
+ async function E(e) {
801
+ await C(e, !b(e));
802
+ }
803
+ async function D(e, t, n) {
804
+ if (n?.stopPropagation(), !s.value || c.value.trigger === "manual") return;
805
+ let r = y(e, t), i = v.value.get(r);
806
+ if (!i?.hasChildren) return;
807
+ let a = f.value.includes(r), o = !a;
808
+ if (c.value.toggleMethod && c.value.toggleMethod({
809
+ row: H(e),
810
+ expanded: o
811
+ }) === !1 || o && !await S(e, r)) return;
812
+ let l;
813
+ a ? {next: l} = Ee(f.value, r) : c.value.accordion && i ? l = Be(f.value, r, i.parentKey, v.value) : {next: l} = Ee(f.value, r), m(l, e, o);
814
+ }
815
+ return {
816
+ treeEnabled: s,
817
+ treeResolved: c,
818
+ treeRoots: p,
819
+ flatRows: _,
820
+ treeMeta: v,
821
+ expandedKeys: f,
822
+ isTreeExpandByRow: b,
823
+ getTreeExpandRecords: x,
824
+ setTreeExpand: C,
825
+ setAllTreeExpand: w,
826
+ clearTreeExpand: T,
827
+ toggleTreeExpand: E,
828
+ toggleTreeNode: D
829
+ };
830
+ }
831
+ //#endregion
832
+ //#region src/components/Table/state/useVirtualRows.ts
833
+ function He(e, t, n, r, i, a = 5) {
834
+ let o = h(() => {
835
+ let o = t.value, s = Math.max(1, n.value), c = o.length * s;
836
+ if (!e.value || o.length === 0) return {
837
+ items: o,
838
+ startIndex: 0,
839
+ endIndex: o.length,
840
+ offsetTop: 0,
841
+ offsetBottom: 0,
842
+ totalHeight: c
843
+ };
844
+ let l = Math.max(s, i.value || s * 10), u = Math.floor(r.value / s) - a, d = Math.max(0, u), f = Math.ceil(l / s) + a * 2, p = Math.min(o.length, d + f), m = d * s, h = Math.max(0, (o.length - p) * s);
845
+ return {
846
+ items: o.slice(d, p),
847
+ startIndex: d,
848
+ endIndex: p,
849
+ offsetTop: m,
850
+ offsetBottom: h,
851
+ totalHeight: c
852
+ };
853
+ });
854
+ return {
855
+ virtualItems: h(() => o.value.items),
856
+ startIndex: h(() => o.value.startIndex),
857
+ endIndex: h(() => o.value.endIndex),
858
+ offsetTop: h(() => o.value.offsetTop),
859
+ offsetBottom: h(() => o.value.offsetBottom),
860
+ totalHeight: h(() => o.value.totalHeight)
373
861
  };
374
862
  }
375
- function Se(e) {
376
- if (e) return e === "left" || e === "start" ? "start" : e === "right" || e === "end" ? "end" : "center";
863
+ function Ue(e) {
864
+ if (e) {
865
+ if (e === "start" || e === "left") return "start";
866
+ if (e === "end" || e === "right") return "end";
867
+ if (e === "center") return "center";
868
+ }
377
869
  }
378
- function Ce(e) {
870
+ function We(e) {
379
871
  if (e === !0 || e === "left") return "left";
380
872
  if (e === "right") return "right";
381
873
  }
382
- function we(e) {
874
+ function Ge(e) {
875
+ return String(e.label ?? e.value ?? "");
876
+ }
877
+ function Ke(e) {
878
+ let t = e.children?.length ? e.children.map(Ke) : void 0;
383
879
  return {
384
880
  text: e.label,
385
881
  value: e.key,
386
882
  sortable: e.sortable,
387
- fixed: Ce(e.fixed),
883
+ fixed: We(e.fixed),
388
884
  width: e.width,
389
885
  minWidth: e.minWidth ?? (e.width ? void 0 : 80),
390
- align: Se(e.align),
886
+ align: Ue(e.align),
391
887
  render: e.render,
392
- showOverflowTooltip: e.showOverflowTooltip
888
+ showOverflowTooltip: e.showOverflowTooltip,
889
+ resizable: e.resizable,
890
+ filterable: e.filterable,
891
+ filters: e.filters,
892
+ children: t
393
893
  };
394
894
  }
395
- function Te(e) {
396
- return e.map(we);
895
+ function qe(e) {
896
+ let t = [];
897
+ for (let n of e) n.children?.length ? t.push(...qe(n.children)) : t.push(n);
898
+ return t;
899
+ }
900
+ function Je(e) {
901
+ return e.children?.length ? e.children.reduce((e, t) => e + Je(t), 0) : 1;
902
+ }
903
+ function Ye(e) {
904
+ let t = 1;
905
+ for (let n of e) n.children?.length && (t = Math.max(t, 1 + Ye(n.children)));
906
+ return t;
907
+ }
908
+ function Xe(e, t) {
909
+ if (!t?.length) return e;
910
+ let n = new Set(t), r = (e) => {
911
+ let t = [];
912
+ for (let i of e) if (i.children?.length) {
913
+ let e = r(i.children);
914
+ e.length && t.push({
915
+ ...i,
916
+ children: e
917
+ });
918
+ } else n.has(i.key) || t.push(i);
919
+ return t;
920
+ };
921
+ return r(e);
922
+ }
923
+ function Ze(e, t) {
924
+ if (!t?.length) return e;
925
+ let n = qe(e), r = new Map(n.map((e) => [e.key, e])), i = [], a = /* @__PURE__ */ new Set();
926
+ for (let e of t) {
927
+ let t = r.get(e);
928
+ t && !a.has(e) && (i.push(t), a.add(e));
929
+ }
930
+ for (let e of n) a.has(e.key) || i.push(e);
931
+ return i;
932
+ }
933
+ function Qe(e, t) {
934
+ if (!t) return e;
935
+ let n = (e) => e.map((e) => {
936
+ if (e.children?.length) return {
937
+ ...e,
938
+ children: n(e.children)
939
+ };
940
+ let r = t[e.key];
941
+ return r == null ? e : {
942
+ ...e,
943
+ width: r
944
+ };
945
+ });
946
+ return n(e);
947
+ }
948
+ function $e(e, t = {}) {
949
+ return Qe(Ze(Xe(e, t.hiddenColumns), t.columnOrder), t.columnWidths);
397
950
  }
398
- function Ee(e) {
951
+ function et(e) {
952
+ return qe(e).map(Ke);
953
+ }
954
+ function tt(e) {
955
+ let t = e.map(Ke);
956
+ if (!t.some((e) => e.children?.length)) return [t];
957
+ let n = Ye(t), r = Array.from({ length: n }, () => []), i = (e, t) => {
958
+ for (let a of e) {
959
+ let e = Je(a);
960
+ a.children?.length ? (r[t].push({
961
+ ...a,
962
+ colspan: e,
963
+ rowspan: 1,
964
+ sortable: !1,
965
+ filterable: !1,
966
+ resizable: !1
967
+ }), i(a.children, t + 1)) : r[t].push({
968
+ ...a,
969
+ colspan: 1,
970
+ rowspan: n - t
971
+ });
972
+ }
973
+ };
974
+ return i(t, 0), r;
975
+ }
976
+ function nt(e) {
399
977
  return e ?? "asc";
400
978
  }
401
- function De(e) {
979
+ function rt(e) {
402
980
  return e ?? "";
403
981
  }
404
982
  //#endregion
405
- //#region src/components/Table/TableLoadingLine.vue?vue&type=script&setup=true&lang.ts
406
- var Oe = ["aria-label"], ke = /* @__PURE__ */ y({
407
- __name: "TableLoadingLine",
408
- setup(e) {
409
- let t = u();
410
- return (e, n) => (T(), h("div", {
411
- class: "m-table__loading-line",
412
- role: "status",
413
- "aria-label": j(t).loading
414
- }, null, 8, Oe));
983
+ //#region src/components/Table/core/layout.ts
984
+ function it(e, t, n) {
985
+ let r = t.get(e) ?? n;
986
+ if (r === "center") return "m-table__cell--center";
987
+ if (r === "right" || r === "end") return "m-table__cell--right";
988
+ }
989
+ function at(e, t, n, r, i, a) {
990
+ if (!i) return {
991
+ rowspan: 1,
992
+ colspan: 1
993
+ };
994
+ let o = i({
995
+ row: e,
996
+ column: a.find((e) => e.value === t) ?? {
997
+ text: t,
998
+ value: t
999
+ },
1000
+ rowIndex: n,
1001
+ columnIndex: r
1002
+ });
1003
+ return Array.isArray(o) ? {
1004
+ rowspan: o[0] ?? 1,
1005
+ colspan: o[1] ?? 1
1006
+ } : o && typeof o == "object" ? {
1007
+ rowspan: o.rowspan ?? 1,
1008
+ colspan: o.colspan ?? 1
1009
+ } : {
1010
+ rowspan: 1,
1011
+ colspan: 1
1012
+ };
1013
+ }
1014
+ function ot(e, t, n, r, i) {
1015
+ return r ? n.map((n, a) => {
1016
+ let o = at(e, n, t, a, r, i);
1017
+ return {
1018
+ column: n,
1019
+ columnIndex: a,
1020
+ rowspan: o.rowspan,
1021
+ colspan: o.colspan,
1022
+ visible: o.rowspan > 0 && o.colspan > 0
1023
+ };
1024
+ }) : n.map((e, t) => ({
1025
+ column: e,
1026
+ columnIndex: t,
1027
+ rowspan: 1,
1028
+ colspan: 1,
1029
+ visible: !0
1030
+ }));
1031
+ }
1032
+ function st(e, t) {
1033
+ function n(e) {
1034
+ return e.map((e) => {
1035
+ let n = (e.colspan ?? 1) > 1, r = t.value.find((t) => t.value === e.value);
1036
+ return !r || n ? {
1037
+ text: e.text,
1038
+ value: e.value,
1039
+ width: e.width,
1040
+ minWidth: e.minWidth,
1041
+ fixed: e.fixed,
1042
+ colspan: e.colspan,
1043
+ rowspan: e.rowspan,
1044
+ sortable: !1,
1045
+ filterable: !1,
1046
+ resizable: !1
1047
+ } : {
1048
+ ...r,
1049
+ colspan: e.colspan,
1050
+ rowspan: e.rowspan,
1051
+ width: r.width ?? e.width,
1052
+ minWidth: r.minWidth ?? e.minWidth
1053
+ };
1054
+ });
415
1055
  }
416
- }), Ae = ["aria-label"], je = ["aria-busy"], Me = ["id"], Ne = [
1056
+ return h(() => {
1057
+ if (e.value.length <= 1) return [t.value];
1058
+ let r = e.value.length, [i, ...a] = e.value;
1059
+ return [[...t.value.filter((e) => ue(e.value)).map((e) => ({
1060
+ ...e,
1061
+ rowspan: r,
1062
+ colspan: 1
1063
+ })), ...n(i ?? [])], ...a.map(n)];
1064
+ });
1065
+ }
1066
+ function ct(e, t, n) {
1067
+ return typeof e == "string" ? e : e(t, n);
1068
+ }
1069
+ function lt(e, t, n, r) {
1070
+ let i = t.find((t) => t.value === e.value), a = e.width ?? i?.width ?? (n ? 100 : null);
1071
+ if (a && r) return `width: ${a}px; min-width: ${a}px;`;
1072
+ let o = e.minWidth ?? i?.minWidth;
1073
+ if (o && r) return `min-width: ${o}px;`;
1074
+ }
1075
+ function ut(e, t, n, r) {
1076
+ if (!r) return;
1077
+ let i = n.find((t) => t.value === e);
1078
+ if (i) return `${i.fixed === "right" ? "right" : "left"}: ${i.distance}px;z-index: ${t === "th" ? 3 : 1};position: sticky;`;
1079
+ }
1080
+ //#endregion
1081
+ //#region src/components/Table/render/TableHeaderFilter.vue?vue&type=script&setup=true&lang.ts
1082
+ var dt = ["aria-label", "aria-expanded"], ft = ["aria-label"], pt = { class: "m-table__filter-actions" }, mt = /* @__PURE__ */ C({
1083
+ __name: "TableHeaderFilter",
1084
+ props: {
1085
+ columnKey: {},
1086
+ label: {},
1087
+ filters: {},
1088
+ modelValue: {}
1089
+ },
1090
+ emits: [
1091
+ "update:modelValue",
1092
+ "apply",
1093
+ "clear"
1094
+ ],
1095
+ setup(e, { emit: t }) {
1096
+ let i = e, o = t, s = p(), u = j(!1), d = j(""), f = j([]), _ = h(() => !!i.filters?.length), b = h(() => {
1097
+ let e = i.modelValue;
1098
+ return e == null || e === "" ? !1 : !Array.isArray(e) || e.length > 0;
1099
+ }), C = h(() => s.value.filterColumn.replace("{label}", i.label));
1100
+ I(() => [u.value, i.modelValue], ([e]) => {
1101
+ e && (_.value ? f.value = Array.isArray(i.modelValue) ? [...i.modelValue] : i.modelValue != null && i.modelValue !== "" ? [i.modelValue] : [] : d.value = i.modelValue == null ? "" : String(i.modelValue));
1102
+ });
1103
+ function w(e, t) {
1104
+ let n = [...f.value], r = n.findIndex((t) => t === e || String(t) === String(e));
1105
+ t && r === -1 && n.push(e), !t && r !== -1 && n.splice(r, 1), f.value = n;
1106
+ }
1107
+ function T(e) {
1108
+ return f.value.some((t) => t === e || String(t) === String(e));
1109
+ }
1110
+ function E() {
1111
+ let e = _.value ? f.value.length ? [...f.value] : null : d.value.trim() ? d.value.trim() : null;
1112
+ o("update:modelValue", e), o("apply", e), u.value = !1;
1113
+ }
1114
+ function O() {
1115
+ d.value = "", f.value = [], o("update:modelValue", null), o("clear"), u.value = !1;
1116
+ }
1117
+ return (t, i) => (A(), v("span", {
1118
+ class: "m-table__filter",
1119
+ onClick: i[3] ||= R(() => {}, ["stop"])
1120
+ }, [S(l, {
1121
+ modelValue: u.value,
1122
+ "onUpdate:modelValue": i[2] ||= (e) => u.value = e,
1123
+ placement: "bottom-start",
1124
+ trigger: "click"
1125
+ }, {
1126
+ content: L(() => [y("div", {
1127
+ class: "m-table__filter-panel",
1128
+ onClick: i[1] ||= R(() => {}, ["stop"])
1129
+ }, [_.value ? (A(), v("div", {
1130
+ key: 0,
1131
+ class: "m-table__filter-options",
1132
+ role: "group",
1133
+ "aria-label": C.value
1134
+ }, [(A(!0), v(m, null, M(e.filters, (e, t) => (A(), v("label", {
1135
+ key: t,
1136
+ class: "m-table__filter-option"
1137
+ }, [S(a, {
1138
+ "model-value": T(e.value),
1139
+ "onUpdate:modelValue": (t) => w(e.value, t)
1140
+ }, null, 8, ["model-value", "onUpdate:modelValue"]), y("span", null, P(F(Ge)(e)), 1)]))), 128))], 8, ft)) : (A(), g(c, {
1141
+ key: 1,
1142
+ modelValue: d.value,
1143
+ "onUpdate:modelValue": i[0] ||= (e) => d.value = e,
1144
+ size: "sm",
1145
+ placeholder: F(s).searchPlaceholder,
1146
+ onKeydown: oe(R(E, ["prevent"]), ["enter"])
1147
+ }, null, 8, [
1148
+ "modelValue",
1149
+ "placeholder",
1150
+ "onKeydown"
1151
+ ])), y("div", pt, [S(r, {
1152
+ size: "sm",
1153
+ text: "",
1154
+ onClick: O
1155
+ }, {
1156
+ default: L(() => [x(P(F(s).clear), 1)]),
1157
+ _: 1
1158
+ }), S(r, {
1159
+ size: "sm",
1160
+ onClick: E
1161
+ }, {
1162
+ default: L(() => [x(P(F(s).confirm), 1)]),
1163
+ _: 1
1164
+ })])])]),
1165
+ default: L(() => [y("button", {
1166
+ type: "button",
1167
+ class: D(["m-table__filter-btn", { "m-table__filter-btn--active": b.value }]),
1168
+ "aria-label": C.value,
1169
+ "aria-expanded": u.value
1170
+ }, [S(n, { name: "filter" })], 10, dt)]),
1171
+ _: 1
1172
+ }, 8, ["modelValue"])]));
1173
+ }
1174
+ }), ht = [
1175
+ "colspan",
1176
+ "rowspan",
417
1177
  "aria-sort",
418
1178
  "tabindex",
419
1179
  "onClick",
420
1180
  "onKeydown"
421
- ], Pe = {
1181
+ ], gt = {
422
1182
  key: 0,
423
1183
  class: "m-table__cell-inner m-table__cell-inner--selection"
424
- }, Fe = {
425
- key: 1,
426
- class: "m-table__cell-inner m-table__cell-inner--selection"
427
- }, Ie = ["title"], Le = {
428
- key: 4,
1184
+ }, _t = ["aria-label"], vt = ["title"], yt = {
1185
+ key: 3,
429
1186
  class: "m-table__sort",
430
1187
  "aria-hidden": "true"
431
- }, Re = {
432
- key: 5,
1188
+ }, bt = {
1189
+ key: 4,
433
1190
  class: "m-table__multi-sort-number"
434
- }, ze = {
435
- key: 3,
436
- class: "m-table__body"
437
- }, Be = [
1191
+ }, xt = ["onMousedown"], St = /* @__PURE__ */ C({
1192
+ __name: "TableThead",
1193
+ props: {
1194
+ rows: {},
1195
+ headerClassName: {},
1196
+ headerItemClassName: { type: [String, Function] },
1197
+ headerTextDirection: {},
1198
+ multiSort: { type: Boolean },
1199
+ multipleSelectStatus: {},
1200
+ showCheckboxHeader: { type: Boolean },
1201
+ lastFixedColumn: {},
1202
+ firstRightFixedColumn: {},
1203
+ fixedColumnsInfos: {},
1204
+ hasFixedHeaders: { type: Boolean },
1205
+ filterValues: {},
1206
+ isMultiSorting: { type: Function },
1207
+ getMultiSortNumber: { type: Function }
1208
+ },
1209
+ emits: [
1210
+ "sort",
1211
+ "toggle-select-all",
1212
+ "filter-apply",
1213
+ "resize-start"
1214
+ ],
1215
+ setup(e, { emit: t }) {
1216
+ let r = e, i = t, o = ae(), s = p(), c = h(() => ["m-table__header-inner", `m-table__header-inner--${r.headerTextDirection}`]);
1217
+ function l(e, t) {
1218
+ let n = typeof r.headerItemClassName == "string" ? r.headerItemClassName : r.headerItemClassName(e, t + 1);
1219
+ return [{
1220
+ "m-table__cell--selection": e.value === z.checkbox || e.value === z.radio,
1221
+ "m-table__header-cell--sortable": e.sortable,
1222
+ "m-table__header-cell--ascending": e.sortable && e.sortType === "asc",
1223
+ "m-table__header-cell--descending": e.sortable && e.sortType === "desc",
1224
+ "m-table__header-cell--shadow": e.value === r.lastFixedColumn,
1225
+ "m-table__header-cell--shadow-end": e.value === r.firstRightFixedColumn,
1226
+ "m-table__header-cell--filterable": e.filterable
1227
+ }, n];
1228
+ }
1229
+ function u(e) {
1230
+ if (e.sortable) return e.sortType === "asc" ? "ascending" : e.sortType === "desc" ? "descending" : "none";
1231
+ }
1232
+ function d(e) {
1233
+ e.sortable && e.sortType && i("sort", e);
1234
+ }
1235
+ function f(e, t) {
1236
+ (t.key === "Enter" || t.key === " ") && (t.preventDefault(), d(e));
1237
+ }
1238
+ function y(e) {
1239
+ return ut(e, "th", r.fixedColumnsInfos, r.hasFixedHeaders);
1240
+ }
1241
+ return (t, r) => (A(), v("thead", { class: D(["m-table__header", [e.headerClassName]]) }, [(A(!0), v(m, null, M(e.rows, (p, h) => (A(), v("tr", { key: h }, [(A(!0), v(m, null, M(p, (p, m) => (A(), v("th", {
1242
+ key: `${p.value}-${m}`,
1243
+ class: D(l(p, m)),
1244
+ style: k(y(p.value)),
1245
+ colspan: p.colspan || 1,
1246
+ rowspan: p.rowspan || 1,
1247
+ "aria-sort": u(p),
1248
+ tabindex: p.sortable ? 0 : void 0,
1249
+ onClick: R((e) => d(p), ["stop"]),
1250
+ onKeydown: (e) => f(p, e)
1251
+ }, [p.value === F(z).checkbox ? (A(), v("div", gt, [e.showCheckboxHeader === !1 ? _("", !0) : (A(), g(a, {
1252
+ key: e.multipleSelectStatus,
1253
+ "model-value": e.multipleSelectStatus === "allSelected",
1254
+ indeterminate: e.multipleSelectStatus === "partSelected",
1255
+ "aria-label": F(s).selectAllPage,
1256
+ "onUpdate:modelValue": r[0] ||= (e) => i("toggle-select-all", e),
1257
+ onClick: r[1] ||= R(() => {}, ["stop"])
1258
+ }, null, 8, [
1259
+ "model-value",
1260
+ "indeterminate",
1261
+ "aria-label"
1262
+ ]))])) : p.value === F(z).radio ? (A(), v("div", {
1263
+ key: 1,
1264
+ class: "m-table__cell-inner m-table__cell-inner--selection",
1265
+ role: "columnheader",
1266
+ "aria-label": F(s).selectOption
1267
+ }, null, 8, _t)) : (A(), v("span", {
1268
+ key: 2,
1269
+ class: D(c.value)
1270
+ }, [
1271
+ F(o)[`header-${p.value}`] ? N(t.$slots, `header-${p.value}`, T({ ref_for: !0 }, p), void 0, void 0, 0) : F(o).header ? N(t.$slots, "header", T({ ref_for: !0 }, p), void 0, void 0, 1) : (A(), v("span", {
1272
+ key: 2,
1273
+ class: "m-table__header-text",
1274
+ title: p.text
1275
+ }, P(p.text), 9, vt)),
1276
+ p.sortable ? (A(), v("span", yt, [S(n, {
1277
+ name: "triangle-up",
1278
+ class: "m-table__sort-icon m-table__sort-icon--ascending"
1279
+ }), S(n, {
1280
+ name: "triangle-down",
1281
+ class: "m-table__sort-icon m-table__sort-icon--descending"
1282
+ })])) : _("", !0),
1283
+ e.multiSort && e.isMultiSorting(p.value) ? (A(), v("span", bt, P(e.getMultiSortNumber(p.value)), 1)) : _("", !0),
1284
+ p.filterable ? (A(), g(mt, {
1285
+ key: 5,
1286
+ "column-key": p.value,
1287
+ label: p.text,
1288
+ filters: p.filters,
1289
+ "model-value": e.filterValues?.[p.value],
1290
+ onApply: (e) => i("filter-apply", p.value, e),
1291
+ onClear: (e) => i("filter-apply", p.value, null)
1292
+ }, null, 8, [
1293
+ "column-key",
1294
+ "label",
1295
+ "filters",
1296
+ "model-value",
1297
+ "onApply",
1298
+ "onClear"
1299
+ ])) : _("", !0)
1300
+ ], 2)), p.resizable ? (A(), v("span", {
1301
+ key: 3,
1302
+ class: "m-table__resize-handle",
1303
+ onMousedown: (e) => i("resize-start", p, e),
1304
+ onClick: r[2] ||= R(() => {}, ["stop"])
1305
+ }, null, 40, xt)) : _("", !0)], 46, ht))), 128))]))), 128))], 2));
1306
+ }
1307
+ }), Ct = { class: "m-table__tooltip-trigger" }, K = { class: "m-table__cell-text" }, wt = {
1308
+ key: 1,
1309
+ class: "m-table__cell-text"
1310
+ }, Tt = /* @__PURE__ */ C({
1311
+ __name: "TableDefaultCell",
1312
+ props: {
1313
+ column: {},
1314
+ item: {},
1315
+ showTooltip: { type: Boolean }
1316
+ },
1317
+ setup(e) {
1318
+ let t = e, n = h(() => pe(t.column, t.item));
1319
+ return (t, r) => e.showTooltip ? (A(), g(u, {
1320
+ key: 0,
1321
+ content: n.value
1322
+ }, {
1323
+ default: L(() => [y("span", Ct, [y("span", K, P(n.value), 1)])]),
1324
+ _: 1
1325
+ }, 8, ["content"])) : (A(), v("span", wt, P(n.value), 1));
1326
+ }
1327
+ }), Et = ["aria-label"], Dt = /* @__PURE__ */ C({
1328
+ __name: "TableLoadingLine",
1329
+ setup(e) {
1330
+ let t = p();
1331
+ return (e, n) => (A(), v("div", {
1332
+ class: "m-table__loading-line",
1333
+ role: "status",
1334
+ "aria-label": F(t).loading
1335
+ }, null, 8, Et));
1336
+ }
1337
+ }), Ot = { class: "m-table__body" }, kt = {
1338
+ key: 0,
1339
+ class: "m-table__virtual-spacer",
1340
+ "aria-hidden": "true"
1341
+ }, At = ["colspan"], jt = [
1342
+ "data-row-key",
1343
+ "aria-level",
1344
+ "aria-expanded",
438
1345
  "onClick",
439
1346
  "onDblclick",
440
1347
  "onContextmenu"
441
- ], Ve = ["onClick"], He = [
1348
+ ], Mt = [
1349
+ "rowspan",
1350
+ "colspan",
1351
+ "onClick"
1352
+ ], Nt = [
1353
+ "aria-label",
1354
+ "disabled",
1355
+ "onClick"
1356
+ ], Pt = {
1357
+ key: 1,
1358
+ class: "m-table__tree-toggler-spacer"
1359
+ }, q = {
1360
+ key: 4,
1361
+ class: "m-table__cell-text"
1362
+ }, Ft = [
442
1363
  "aria-expanded",
443
1364
  "aria-label",
444
1365
  "onClick"
445
- ], Ue = {
446
- key: 6,
1366
+ ], J = {
1367
+ key: 7,
447
1368
  class: "m-table__cell-text"
448
- }, We = { class: "m-table__tooltip-trigger" }, Ge = { class: "m-table__cell-text" }, Ke = ["colspan"], qe = {
1369
+ }, Y = ["colspan"], It = {
1370
+ key: 1,
1371
+ class: "m-table__virtual-spacer",
1372
+ "aria-hidden": "true"
1373
+ }, Lt = ["colspan"], Rt = /* @__PURE__ */ C({
1374
+ __name: "TableTbody",
1375
+ props: {
1376
+ bodyItems: {},
1377
+ pageItems: {},
1378
+ headersForRender: {},
1379
+ headerColumns: {},
1380
+ columnAlignMap: {},
1381
+ columnRenderMap: {},
1382
+ bodyTextDirection: {},
1383
+ bodyRowClassName: { type: [String, Function] },
1384
+ bodyExpandRowClassName: { type: [String, Function] },
1385
+ bodyItemClassName: { type: [String, Function] },
1386
+ striped: { type: Boolean },
1387
+ lastFixedColumn: {},
1388
+ firstRightFixedColumn: {},
1389
+ fixedColumnsInfos: {},
1390
+ hasFixedHeaders: { type: Boolean },
1391
+ spanMethod: { type: [Function, null] },
1392
+ showOverflowTooltip: { type: Boolean },
1393
+ headers: {},
1394
+ virtualEnabled: { type: Boolean },
1395
+ offsetTop: {},
1396
+ offsetBottom: {},
1397
+ currentPageFirstIndex: {},
1398
+ singleSelectedRowKey: {},
1399
+ clickRowToExpand: { type: Boolean },
1400
+ ifHasExpandSlot: { type: Boolean },
1401
+ pagination: {},
1402
+ bodyRowIndex: { type: Function },
1403
+ getBodyRowKey: { type: Function },
1404
+ isRowSelected: { type: Function },
1405
+ isRowIndeterminate: { type: Function },
1406
+ isRowCheckDisabled: { type: Function },
1407
+ isCurrentRow: { type: Function },
1408
+ isRowExpanded: { type: Function },
1409
+ treeEnabled: { type: Boolean },
1410
+ treeNodeColumn: {},
1411
+ treeIndent: {},
1412
+ getTreeMeta: { type: Function },
1413
+ isTreeNodeExpanded: { type: Function }
1414
+ },
1415
+ emits: [
1416
+ "row-click",
1417
+ "row-dblclick",
1418
+ "row-contextmenu",
1419
+ "toggle-expand",
1420
+ "toggle-tree",
1421
+ "toggle-select",
1422
+ "single-select"
1423
+ ],
1424
+ setup(e, { emit: t }) {
1425
+ let r = e, i = t, o = ae(), s = p(), c = h(() => r.headersForRender.length);
1426
+ function l(e) {
1427
+ return it(e, r.columnAlignMap, r.bodyTextDirection);
1428
+ }
1429
+ function u(e) {
1430
+ return ut(e, "td", r.fixedColumnsInfos, r.hasFixedHeaders);
1431
+ }
1432
+ function f(e, t) {
1433
+ return ot(e, t, r.headerColumns, r.spanMethod, r.headersForRender);
1434
+ }
1435
+ function b(e) {
1436
+ return r.showOverflowTooltip ? !0 : !!r.headers.find((t) => t.value === e)?.showOverflowTooltip;
1437
+ }
1438
+ function x(e, t) {
1439
+ return {
1440
+ row: t,
1441
+ item: t,
1442
+ column: e,
1443
+ value: B(e, t)
1444
+ };
1445
+ }
1446
+ function C(e, t, n) {
1447
+ i("row-click", e, t, n), r.clickRowToExpand && i("toggle-expand", e, r.bodyRowIndex(t), n);
1448
+ }
1449
+ function E(e, t) {
1450
+ return r.getTreeMeta?.(e, t);
1451
+ }
1452
+ function ee(e) {
1453
+ return !!(r.treeEnabled && r.treeNodeColumn && e === r.treeNodeColumn);
1454
+ }
1455
+ return (t, r) => (A(), v("tbody", Ot, [
1456
+ N(t.$slots, "body-prepend", O(w({
1457
+ items: e.pageItems,
1458
+ pagination: e.pagination,
1459
+ headers: e.headersForRender
1460
+ }))),
1461
+ e.virtualEnabled && e.offsetTop > 0 ? (A(), v("tr", kt, [y("td", {
1462
+ colspan: c.value,
1463
+ style: k({
1464
+ height: `${e.offsetTop}px`,
1465
+ padding: 0,
1466
+ border: 0
1467
+ })
1468
+ }, null, 12, At)])) : _("", !0),
1469
+ (A(!0), v(m, null, M(e.bodyItems, (p, h) => (A(), v(m, { key: e.getBodyRowKey(p, h) }, [y("tr", {
1470
+ class: D([{
1471
+ "m-table__row--striped": e.striped && (e.bodyRowIndex(h) + 1) % 2 == 0,
1472
+ "m-table__row--selected": e.isRowSelected(p, h),
1473
+ "m-table__row--current": e.isCurrentRow(p, h)
1474
+ }, typeof e.bodyRowClassName == "string" ? e.bodyRowClassName : e.bodyRowClassName(p, e.bodyRowIndex(h) + 1)]),
1475
+ "data-row-key": String(e.getBodyRowKey(p, h)),
1476
+ "aria-level": e.treeEnabled ? (E(p, h)?.depth ?? 0) + 1 : void 0,
1477
+ "aria-expanded": e.treeEnabled && E(p, h)?.hasChildren ? e.isTreeNodeExpanded?.(p, h) ?? !1 : void 0,
1478
+ onClick: (e) => C(p, h, e),
1479
+ onDblclick: (e) => i("row-dblclick", p, h, e),
1480
+ onContextmenu: (e) => i("row-contextmenu", p, e)
1481
+ }, [(A(!0), v(m, null, M(f(p, e.bodyRowIndex(h)), (c) => (A(), v(m, { key: c.column }, [c.visible ? (A(), v("td", {
1482
+ key: 0,
1483
+ style: k(u(c.column)),
1484
+ rowspan: c.rowspan,
1485
+ colspan: c.colspan,
1486
+ class: D([
1487
+ {
1488
+ "m-table__cell--shadow": c.column === e.lastFixedColumn,
1489
+ "m-table__cell--shadow-end": c.column === e.firstRightFixedColumn,
1490
+ "m-table__cell--expand": c.column === F(z).expand,
1491
+ "m-table__cell--selection": c.column === F(z).checkbox || c.column === F(z).radio
1492
+ },
1493
+ l(c.column),
1494
+ F(ct)(e.bodyItemClassName, c.column, e.bodyRowIndex(h) + 1)
1495
+ ]),
1496
+ onClick: (t) => {
1497
+ c.column === F(z).expand && i("toggle-expand", p, e.bodyRowIndex(h), t);
1498
+ }
1499
+ }, [y("div", { class: D(["m-table__cell-inner", {
1500
+ "m-table__cell-inner--expand": c.column === F(z).expand,
1501
+ "m-table__cell-inner--selection": c.column === F(z).checkbox || c.column === F(z).radio
1502
+ }]) }, [ee(c.column) ? (A(), v("div", {
1503
+ key: 0,
1504
+ class: "m-table__tree-cell",
1505
+ style: k({ paddingLeft: `${(E(p, h)?.depth ?? 0) * (e.treeIndent ?? 16)}px` })
1506
+ }, [E(p, h)?.hasChildren ? (A(), v("button", {
1507
+ key: 0,
1508
+ type: "button",
1509
+ class: D(["m-table__tree-toggler", {
1510
+ "m-table__tree-toggler--expanded": e.isTreeNodeExpanded?.(p, h),
1511
+ "m-table__tree-toggler--loading": E(p, h)?.loading
1512
+ }]),
1513
+ "aria-label": e.isTreeNodeExpanded?.(p, h) ? F(s).collapse : F(s).expand,
1514
+ disabled: E(p, h)?.loading,
1515
+ onClick: R((t) => i("toggle-tree", p, e.bodyRowIndex(h), t), ["stop"])
1516
+ }, [S(n, {
1517
+ name: E(p, h)?.loading ? "loader" : e.isTreeNodeExpanded?.(p, h) ? "chevron-down" : "chevron-right",
1518
+ size: "sm"
1519
+ }, null, 8, ["name"])], 10, Nt)) : (A(), v("span", Pt)), F(o)[`cell-${c.column}`] ? N(t.$slots, `cell-${c.column}`, T({ ref_for: !0 }, x(c.column, p)), void 0, void 0, 2) : F(o)[`cell-${c.column.toLowerCase()}`] ? N(t.$slots, `cell-${c.column.toLowerCase()}`, T({ ref_for: !0 }, x(c.column, p)), void 0, void 0, 3) : e.columnRenderMap.get(c.column) ? (A(), v("span", q, P(e.columnRenderMap.get(c.column)(p)), 1)) : (A(), g(Tt, {
1520
+ key: 5,
1521
+ column: c.column,
1522
+ item: p,
1523
+ "show-tooltip": b(c.column)
1524
+ }, null, 8, [
1525
+ "column",
1526
+ "item",
1527
+ "show-tooltip"
1528
+ ]))], 4)) : F(o)[`cell-${c.column}`] ? N(t.$slots, `cell-${c.column}`, T({ ref_for: !0 }, x(c.column, p)), void 0, void 0, 1) : F(o)[`cell-${c.column.toLowerCase()}`] ? N(t.$slots, `cell-${c.column.toLowerCase()}`, T({ ref_for: !0 }, x(c.column, p)), void 0, void 0, 2) : c.column === F(z).expand ? (A(), v("button", {
1529
+ key: 3,
1530
+ type: "button",
1531
+ class: D(["m-table__expand-btn", { "m-table__expand-btn--expanded": e.isRowExpanded(p, e.bodyRowIndex(h)) }]),
1532
+ "aria-expanded": e.isRowExpanded(p, e.bodyRowIndex(h)),
1533
+ "aria-label": e.isRowExpanded(p, e.bodyRowIndex(h)) ? F(s).collapse : F(s).expand,
1534
+ onClick: R((t) => i("toggle-expand", p, e.bodyRowIndex(h), t), ["stop"])
1535
+ }, [S(n, { name: "chevron-right" })], 10, Ft)) : c.column === F(z).checkbox ? (A(), g(a, {
1536
+ key: 4,
1537
+ "model-value": e.isRowSelected(p, h),
1538
+ indeterminate: e.isRowIndeterminate?.(p, h) ?? !1,
1539
+ disabled: e.isRowCheckDisabled?.(p) ?? !1,
1540
+ "aria-label": F(s).selectRow.replace("{index}", String(e.currentPageFirstIndex + e.bodyRowIndex(h))),
1541
+ "onUpdate:modelValue": (e) => i("toggle-select", p),
1542
+ onClick: r[0] ||= R(() => {}, ["stop"])
1543
+ }, null, 8, [
1544
+ "model-value",
1545
+ "indeterminate",
1546
+ "disabled",
1547
+ "aria-label",
1548
+ "onUpdate:modelValue"
1549
+ ])) : c.column === F(z).radio ? (A(), g(d, {
1550
+ key: 5,
1551
+ "model-value": e.singleSelectedRowKey ?? void 0,
1552
+ value: e.getBodyRowKey(p, h),
1553
+ disabled: e.isRowCheckDisabled?.(p) ?? !1,
1554
+ "aria-label": F(s).selectRow.replace("{index}", String(e.currentPageFirstIndex + e.bodyRowIndex(h))),
1555
+ "onUpdate:modelValue": (e) => i("single-select", p),
1556
+ onClick: r[1] ||= R(() => {}, ["stop"])
1557
+ }, null, 8, [
1558
+ "model-value",
1559
+ "value",
1560
+ "disabled",
1561
+ "aria-label",
1562
+ "onUpdate:modelValue"
1563
+ ])) : F(o)["body-cell"] ? N(t.$slots, "body-cell", T({ ref_for: !0 }, {
1564
+ column: c.column,
1565
+ item: p,
1566
+ row: p,
1567
+ value: F(B)(c.column, p)
1568
+ }), void 0, void 0, 6) : e.columnRenderMap.get(c.column) ? (A(), v("span", J, P(e.columnRenderMap.get(c.column)(p)), 1)) : (A(), g(Tt, {
1569
+ key: 8,
1570
+ column: c.column,
1571
+ item: p,
1572
+ "show-tooltip": b(c.column)
1573
+ }, null, 8, [
1574
+ "column",
1575
+ "item",
1576
+ "show-tooltip"
1577
+ ]))], 2)], 14, Mt)) : _("", !0)], 64))), 128))], 42, jt), e.ifHasExpandSlot && e.isRowExpanded(p, e.bodyRowIndex(h)) ? (A(), v("tr", {
1578
+ key: 0,
1579
+ class: D([{ "m-table__row--striped": e.striped && (e.bodyRowIndex(h) + 1) % 2 == 0 }, typeof e.bodyExpandRowClassName == "string" ? e.bodyExpandRowClassName : e.bodyExpandRowClassName(p, e.bodyRowIndex(h) + 1)])
1580
+ }, [y("td", {
1581
+ colspan: c.value,
1582
+ class: "m-table__cell--expanded"
1583
+ }, [p.expandLoading ? (A(), g(Dt, { key: 0 })) : _("", !0), N(t.$slots, "expansion", T({ ref_for: !0 }, { row: p }))], 8, Y)], 2)) : _("", !0)], 64))), 128)),
1584
+ e.virtualEnabled && e.offsetBottom > 0 ? (A(), v("tr", It, [y("td", {
1585
+ colspan: c.value,
1586
+ style: k({
1587
+ height: `${e.offsetBottom}px`,
1588
+ padding: 0,
1589
+ border: 0
1590
+ })
1591
+ }, null, 12, Lt)])) : _("", !0),
1592
+ N(t.$slots, "body-append", O(w({
1593
+ items: e.pageItems,
1594
+ pagination: e.pagination,
1595
+ headers: e.headersForRender
1596
+ })))
1597
+ ]));
1598
+ }
1599
+ });
1600
+ //#endregion
1601
+ //#region src/components/Table/core/treeSelection.ts
1602
+ function zt(e, t, n, r = 0, i = null) {
1603
+ for (let a of e) {
1604
+ n(a, r, i);
1605
+ let e = W(a, t);
1606
+ e.length && zt(e, t, n, r + 1, a);
1607
+ }
1608
+ }
1609
+ function Bt(e, t) {
1610
+ let n = [];
1611
+ return zt([e], t, (e) => {
1612
+ n.push(e);
1613
+ }), n;
1614
+ }
1615
+ function Vt(e, t) {
1616
+ return !t || t(e);
1617
+ }
1618
+ function Ht(e) {
1619
+ let { selected: t, row: n, rowKey: r, childrenField: i, checkStrictly: a, checkMethod: o } = e, s = H(n), c = (a ? [s] : Bt(s, i)).filter((e) => Vt(e, o)).map(H);
1620
+ if (!c.length) return {
1621
+ next: t,
1622
+ selected: !1,
1623
+ affected: []
1624
+ };
1625
+ let l = !t.some((e) => U(e, s, r)), u = [...t];
1626
+ if (l) for (let e of c) u.some((t) => U(t, e, r)) || u.push(e);
1627
+ else u = u.filter((e) => !c.some((t) => U(e, t, r)));
1628
+ return {
1629
+ next: u,
1630
+ selected: l,
1631
+ affected: c
1632
+ };
1633
+ }
1634
+ function Ut(e, t, n, r, i) {
1635
+ let a = /* @__PURE__ */ new Set();
1636
+ for (let e of t) {
1637
+ let t = e[n];
1638
+ (typeof t == "string" || typeof t == "number") && a.add(t);
1639
+ }
1640
+ let o = /* @__PURE__ */ new Set(), s = [];
1641
+ zt(e, r, (e) => {
1642
+ let t = W(e, r);
1643
+ t.length && s.push({
1644
+ row: e,
1645
+ children: t
1646
+ });
1647
+ }), s.reverse();
1648
+ for (let { row: e, children: t } of s) {
1649
+ let r = V(e, 0, n), s = 0, c = 0, l = 0;
1650
+ for (let e of t) {
1651
+ let t = V(e, 0, n);
1652
+ Vt(e, i) && (l += 1), a.has(t) ? s += 1 : o.has(t) && (c += 1);
1653
+ }
1654
+ let u = l > 0 && s >= l;
1655
+ u ? ((typeof r == "string" || typeof r == "number") && a.add(r), o.delete(r)) : !u && (s > 0 || c > 0) ? (o.add(r), a.delete(r)) : o.delete(r);
1656
+ }
1657
+ return o;
1658
+ }
1659
+ function Wt(e, t, n, r, i) {
1660
+ let a = Ut(e, t, n, r, i), o = /* @__PURE__ */ new Set();
1661
+ for (let e of t) {
1662
+ let t = e[n];
1663
+ (typeof t == "string" || typeof t == "number") && o.add(t);
1664
+ }
1665
+ let s = [];
1666
+ zt(e, r, (e) => {
1667
+ W(e, r).length && s.push(e);
1668
+ }), s.reverse();
1669
+ let c = t.filter((e) => {
1670
+ let t = e[n];
1671
+ return typeof t != "string" && typeof t != "number" || !a.has(t);
1672
+ });
1673
+ for (let e of s) {
1674
+ let t = V(e, 0, n);
1675
+ if (a.has(t)) continue;
1676
+ let s = W(e, r).filter((e) => Vt(e, i));
1677
+ if (s.length) {
1678
+ if (s.every((e) => {
1679
+ let t = V(e, 0, n);
1680
+ return o.has(t) || c.some((t) => U(t, e, n));
1681
+ })) {
1682
+ let r = H(e);
1683
+ c.some((e) => U(e, r, n)) || (c.push(r), o.add(t));
1684
+ } else c = c.filter((t) => !U(t, e, n)), o.delete(t);
1685
+ }
1686
+ }
1687
+ return c;
1688
+ }
1689
+ //#endregion
1690
+ //#region src/components/Table/Table.vue?vue&type=script&setup=true&lang.ts
1691
+ var Gt = ["aria-busy"], Kt = ["aria-label", "role"], qt = {
1692
+ key: 4,
1693
+ class: "m-table__tfoot"
1694
+ }, Jt = { class: "m-table__cell-inner" }, Yt = { class: "m-table__cell-text" }, Xt = {
449
1695
  key: 0,
450
1696
  class: "m-table__message",
451
1697
  role: "status"
452
- }, Je = { class: "m-table__empty-text" }, Ye = {
1698
+ }, Zt = { class: "m-table__empty-text" }, Qt = {
453
1699
  key: 0,
454
1700
  class: "m-table__empty-description"
455
- }, Xe = {
1701
+ }, $t = {
456
1702
  key: 0,
457
1703
  class: "m-table__footer"
458
- }, Ze = { class: "m-table__items-index" }, Qe = /* @__PURE__ */ y({
1704
+ }, en = { class: "m-table__items-index" }, tn = " / ", nn = /* @__PURE__ */ C({
459
1705
  inheritAttrs: !1,
460
1706
  __name: "Table",
461
1707
  props: {
@@ -466,7 +1712,7 @@ var Oe = ["aria-label"], ke = /* @__PURE__ */ y({
466
1712
  selectionMode: { default: null },
467
1713
  selectedItem: { default: null },
468
1714
  serverOptions: { default: null },
469
- serverItemsLength: { default: 0 },
1715
+ serverTotal: { default: 0 },
470
1716
  sortField: { default: "" },
471
1717
  sortOrder: { default: "asc" },
472
1718
  sortMode: { default: "client" },
@@ -483,7 +1729,7 @@ var Oe = ["aria-label"], ke = /* @__PURE__ */ y({
483
1729
  searchField: { default: "" },
484
1730
  searchValue: { default: "" },
485
1731
  rowsPerPage: { default: 25 },
486
- rowsItems: { default: () => [
1732
+ pageSizes: { default: () => [
487
1733
  25,
488
1734
  50,
489
1735
  100
@@ -526,7 +1772,7 @@ var Oe = ["aria-label"], ke = /* @__PURE__ */ y({
526
1772
  },
527
1773
  showHeader: {
528
1774
  type: Boolean,
529
- default: void 0
1775
+ default: !0
530
1776
  },
531
1777
  maxHeight: { default: null },
532
1778
  fixedHeader: {
@@ -559,24 +1805,20 @@ var Oe = ["aria-label"], ke = /* @__PURE__ */ y({
559
1805
  },
560
1806
  expandColumnWidth: { default: 36 },
561
1807
  checkboxColumnWidth: { default: null },
562
- hideHeader: {
563
- type: Boolean,
564
- default: !1
565
- },
566
- hideRowsPerPage: {
1808
+ showRowsPerPage: {
567
1809
  type: Boolean,
568
- default: !1
1810
+ default: !0
569
1811
  },
570
1812
  expandable: {
571
1813
  type: Boolean,
572
1814
  default: !1
573
1815
  },
1816
+ expandConfig: { default: null },
574
1817
  expandedRowKeys: { default: void 0 },
575
1818
  clickRowToExpand: {
576
1819
  type: Boolean,
577
1820
  default: !1
578
1821
  },
579
- clickEventType: { default: "single" },
580
1822
  headerTextDirection: { default: "left" },
581
1823
  bodyTextDirection: { default: "left" },
582
1824
  headerItemClassName: {
@@ -597,373 +1839,557 @@ var Oe = ["aria-label"], ke = /* @__PURE__ */ y({
597
1839
  },
598
1840
  tableClassName: { default: "" },
599
1841
  headerClassName: { default: "" },
600
- rowsPerPageMessage: { default: "rows per page:" },
601
- rowsOfPageSeparatorMessage: { default: "of" },
602
- preventContextMenuRow: {
603
- type: Boolean,
604
- default: !0
605
- },
606
- tableNodeId: { default: "" },
607
1842
  rowKey: { default: "id" },
608
1843
  ariaLabel: { default: void 0 },
609
- size: { default: void 0 }
1844
+ size: { default: void 0 },
1845
+ columnWidths: { default: null },
1846
+ virtual: {
1847
+ type: Boolean,
1848
+ default: !1
1849
+ },
1850
+ virtualRowHeight: { default: 40 },
1851
+ hiddenColumns: { default: null },
1852
+ columnOrder: { default: null },
1853
+ showFooter: {
1854
+ type: Boolean,
1855
+ default: !1
1856
+ },
1857
+ footerMethod: {
1858
+ type: [Function, null],
1859
+ default: null
1860
+ },
1861
+ spanMethod: {
1862
+ type: [Function, null],
1863
+ default: null
1864
+ },
1865
+ treeConfig: { default: null },
1866
+ checkboxConfig: { default: null },
1867
+ radioConfig: { default: null }
610
1868
  },
611
1869
  emits: [
612
1870
  "row-click",
613
- "contextmenuRow",
614
- "selectRow",
615
- "deselectRow",
1871
+ "row-dblclick",
1872
+ "row-contextmenu",
1873
+ "select-row",
1874
+ "deselect-row",
1875
+ "select-all",
616
1876
  "expand",
617
1877
  "sort",
618
1878
  "filter",
619
1879
  "update:selection",
620
1880
  "update:selectedItem",
621
1881
  "update:serverOptions",
622
- "updatePageItems",
623
- "updateTotalItems",
624
- "selectAll",
625
1882
  "update:currentRowKey",
626
1883
  "current-change",
627
1884
  "update:page",
628
- "page",
629
1885
  "update:expandedRowKeys",
630
- "update:filters"
1886
+ "update:filters",
1887
+ "update:columnWidths",
1888
+ "update:hiddenColumns",
1889
+ "update:columnOrder"
631
1890
  ],
632
- setup(y, { expose: oe, emit: se }) {
633
- let L = y, R = se, ce = te(), { rootAttrs: le } = e(ce, () => L.pt), z = (e, ...t) => {
634
- R(e, ...t);
635
- }, { value: ue, setValue: de } = t({
636
- controlled: () => L.filters ?? void 0,
1891
+ setup(n, { expose: r, emit: a }) {
1892
+ let c = n, l = a, u = ie(), { rootAttrs: d } = e(u, () => c.pt), x = (e, ...t) => {
1893
+ l(e, ...t);
1894
+ }, { value: C, setValue: ee } = t({
1895
+ controlled: () => c.filters ?? void 0,
637
1896
  defaultValue: null
638
1897
  }, (e) => {
639
- R("filter", e), R("update:filters", e);
640
- }), B = u(), { tableNodeId: pe, clickEventType: me, bodyTextDirection: Ce, checkboxColumnWidth: we, expandColumnWidth: Oe, expandedRowKeys: Qe, filterOptions: $e, fixedCheckbox: et, fixedExpand: tt, fixedHeader: nt, fixedIndex: rt, headerTextDirection: it, indexColumnWidth: at, selectionMode: ot, selectedItem: st, loading: V, mustSort: ct, multiSort: lt, rowsItems: ut, rowsPerPage: dt, searchField: ft, searchValue: pt, serverItemsLength: mt, serverOptions: ht, showIndex: gt, sortMode: _t, tableHeight: vt, tableMinHeight: yt, fill: bt, rowsOfPageSeparatorMessage: xt, showIndexSymbol: St, preventContextMenuRow: Ct, headerItemClassName: wt, bodyRowClassName: Tt, bodyExpandRowClassName: Et, bodyItemClassName: Dt, tableClassName: Ot, headerClassName: kt, rowsPerPageMessage: At, hideHeader: jt, hideRowsPerPage: Mt, clickRowToExpand: Nt, expandable: Pt, emptyDescription: Ft, fit: It, emptyText: Lt, showHeader: Rt, maxHeight: zt, paginator: Bt, rowKey: H, ariaLabel: Vt, size: Ht } = ee(L), U = f(() => Te(L.columns)), Ut = f(() => L.rows), Wt = f(() => L.selection ?? null), Gt = f(() => De(L.sortField)), Kt = f(() => Ee(L.sortOrder)), qt = f(() => L.page ?? 1), Jt = f(() => L.striped), Yt = f(() => L.bordered), Xt = f(() => L.highlightCurrent), Zt = f(() => !L.rowHover), Qt = l("Table", () => Ht.value), $t = f(() => {
641
- if (Qt.value === "small") return "m-table--small";
642
- if (Qt.value === "large") return "m-table--large";
643
- }), en = f(() => [
644
- Ot.value,
645
- $t.value,
1898
+ l("filter", e), l("update:filters", e);
1899
+ }), { value: oe, setValue: R } = t({
1900
+ controlled: () => c.columnWidths ?? void 0,
1901
+ defaultValue: null
1902
+ }, (e) => {
1903
+ l("update:columnWidths", e ?? {});
1904
+ }), { value: se, setValue: ce } = t({
1905
+ controlled: () => c.hiddenColumns ?? void 0,
1906
+ defaultValue: null
1907
+ }, (e) => {
1908
+ l("update:hiddenColumns", e ?? []);
1909
+ }), { value: B, setValue: pe } = t({
1910
+ controlled: () => c.columnOrder ?? void 0,
1911
+ defaultValue: null
1912
+ }, (e) => {
1913
+ l("update:columnOrder", e ?? []);
1914
+ }), me = p(), { bodyTextDirection: he, checkboxColumnWidth: ve, expandColumnWidth: ye, expandedRowKeys: be, filterOptions: xe, fixedCheckbox: Se, fixedExpand: Ce, fixedHeader: we, fixedIndex: Te, headerTextDirection: Ee, indexColumnWidth: De, selectionMode: Me, selectedItem: Fe, loading: Ie, mustSort: W, multiSort: G, pageSizes: Le, rowsPerPage: Re, searchField: ze, searchValue: Be, serverTotal: We, serverOptions: Ge, showIndex: Ke, sortMode: qe, tableHeight: Je, tableMinHeight: Ye, fill: Xe, showIndexSymbol: Ze, headerItemClassName: Qe, bodyRowClassName: at, bodyExpandRowClassName: ot, bodyItemClassName: ct, tableClassName: dt, headerClassName: ft, showRowsPerPage: pt, clickRowToExpand: mt, expandable: ht, expandConfig: gt, emptyDescription: _t, fit: vt, emptyText: yt, showHeader: bt, maxHeight: xt, paginator: Ct, rowKey: K, ariaLabel: wt, size: Tt, virtual: Et, virtualRowHeight: Dt, showFooter: Ot, footerMethod: kt, spanMethod: At, treeConfig: jt, checkboxConfig: Mt, radioConfig: Nt } = re(c), Pt = h(() => $e(c.columns, {
1915
+ hiddenColumns: se.value,
1916
+ columnOrder: B.value,
1917
+ columnWidths: oe.value
1918
+ })), q = h(() => et(Pt.value)), Ft = h(() => tt(Pt.value)), { treeEnabled: J, treeResolved: Y, treeRoots: It, flatRows: Lt, treeMeta: zt, expandedKeys: nn, toggleTreeNode: rn, isTreeExpandByRow: an, getTreeExpandRecords: on, setTreeExpand: sn, setAllTreeExpand: cn, clearTreeExpand: ln, toggleTreeExpand: un } = Ve(jt, h(() => c.rows), K, be, Be, ze, x), dn = h(() => J.value ? Lt.value : c.rows), fn = h(() => J.value ? "" : Be.value), pn = h(() => c.selection ?? null), mn = h(() => rt(c.sortField)), hn = h(() => nt(c.sortOrder)), gn = h(() => c.page ?? 1), _n = h(() => c.striped), vn = h(() => c.bordered), yn = h(() => c.highlightCurrent), bn = h(() => !c.rowHover), xn = f("Table", () => Tt.value), Sn = h(() => {
1919
+ if (xn.value === "small") return "m-table--small";
1920
+ if (xn.value === "large") return "m-table--large";
1921
+ }), Cn = h(() => [
1922
+ dt.value,
1923
+ Sn.value,
646
1924
  {
647
- "m-table--border": Yt.value,
648
- "m-table--striped": Jt.value,
649
- "m-table--enable-row-hover": !Zt.value,
650
- "m-table--fill": bt.value && !W.value
1925
+ "m-table--border": vn.value,
1926
+ "m-table--striped": _n.value,
1927
+ "m-table--enable-row-hover": !bn.value,
1928
+ "m-table--fill": Xe.value && !jn.value,
1929
+ "m-table--virtual": $.value,
1930
+ "m-table--tree": J.value,
1931
+ "m-table--tree-line": J.value && Y.value.showLine
651
1932
  }
652
- ]), tn = f(() => tr.value.length > 0 || It.value !== !1), nn = f(() => Lt.value ?? B.value.emptyMessage), rn = f(() => Rt.value ?? !jt.value), W = f(() => zt.value ?? vt.value), an = f(() => bt.value && !W.value), on = f(() => W.value ? `${W.value}px` : an.value ? "100%" : null), sn = f(() => `${yt.value}px`), G = ne(), cn = f(() => !!G.pagination), ln = f(() => !!G.loading), un = f(() => Pt.value || !!G.expansion), dn = f(() => !!G.body), fn = f(() => {
1933
+ ]), wn = h(() => J.value ? Y.value.treeNode ? Y.value.treeNode : q.value[0]?.value ?? null : null), Tn = h(() => J.value && Y.value.trigger === "row"), En = h(() => ({
1934
+ checkStrictly: Mt.value?.checkStrictly ?? !1,
1935
+ checkMethod: Mt.value?.checkMethod,
1936
+ showHeader: Mt.value?.showHeader !== !1,
1937
+ checkRowKeys: Mt.value?.checkRowKeys,
1938
+ reserve: Mt.value?.reserve !== !1,
1939
+ trigger: Mt.value?.trigger ?? "default"
1940
+ })), Dn = h(() => ({
1941
+ strict: Nt.value?.strict !== !1,
1942
+ checkMethod: Nt.value?.checkMethod,
1943
+ trigger: Nt.value?.trigger ?? "default"
1944
+ })), On = h(() => J.value && !En.value.checkStrictly), kn = h(() => Xr.value.length > 0 || vt.value !== !1), An = h(() => yt.value ?? me.value.emptyMessage), jn = h(() => xt.value ?? Je.value), Mn = h(() => Xe.value && !jn.value), Nn = h(() => jn.value ? `${jn.value}px` : Mn.value ? "100%" : null), Pn = h(() => `${Ye.value}px`), X = ae(), Fn = h(() => !!X.pagination), In = h(() => !!X.loading), Ln = h(() => !J.value && (ht.value || !!gt.value || !!X.expansion)), Rn = Ln, zn = h(() => !!X.body), Bn = h(() => !!X.footer), Vn = h(() => {
653
1945
  let e = /* @__PURE__ */ new Map();
654
- for (let t of U.value) t.render && e.set(t.value, t.render);
1946
+ for (let t of q.value) t.render && e.set(t.value, t.render);
655
1947
  return e;
656
- }), pn = f(() => {
1948
+ }), Hn = h(() => {
657
1949
  let e = /* @__PURE__ */ new Map();
658
- for (let t of U.value) {
659
- let n = Se(t.align);
1950
+ for (let t of q.value) {
1951
+ let n = Ue(t.align);
660
1952
  n && e.set(t.value, n);
661
1953
  }
662
1954
  return e;
663
- }), mn = D(), hn = D();
664
- E("dataTable", mn);
665
- let gn = D(!1), _n = D(!1), vn = D(null), yn = f(() => L.currentRowKey ?? vn.value);
666
- function bn(e) {
667
- gn.value = e.scrollLeft > 0;
668
- let t = hn.value?.wrapRef;
669
- _n.value = t ? t.scrollWidth - t.clientWidth - t.scrollLeft > 1 : !1;
670
- }
671
- let xn = f(() => {
672
- let e = ot.value ?? (Wt.value === null ? null : "multiple");
1955
+ }), Un = j(), Wn = j();
1956
+ ne(de, Un);
1957
+ let Gn = j(!1), Kn = j(!1), qn = j(null), Jn = j(0), Yn = j(0), Xn = h(() => c.currentRowKey ?? qn.value);
1958
+ function Zn(e) {
1959
+ Jn.value = e.scrollTop, Gn.value = e.scrollLeft > 0;
1960
+ let t = Wn.value?.wrapRef;
1961
+ Kn.value = t ? t.scrollWidth - t.clientWidth - t.scrollLeft > 1 : !1, t && (Yn.value = t.clientHeight);
1962
+ }
1963
+ let Qn = h(() => {
1964
+ let e = Me.value ?? (pn.value === null ? null : "multiple");
673
1965
  return e === "multiple" ? "checkbox" : e === "single" ? "radio" : null;
674
- }), Sn = f(() => xn.value === "checkbox"), Cn = f(() => xn.value === "radio"), wn = f(() => ["m-table__main", {
675
- "m-table__main--fixed-header": nt.value,
676
- "m-table__main--fixed-height": !!W.value || an.value,
677
- "m-table__main--shadow": gn.value,
678
- "m-table__main--shadow-end": _n.value,
679
- "m-table__main--table-fixed": tn.value,
680
- "m-table__main--border-cell": Yt.value
681
- }]), Tn = f(() => ({ minHeight: sn.value })), K = f(() => ht.value !== null), { serverOptionsComputed: En, updateServerOptionsPage: Dn, updateServerOptionsSort: On, updateServerOptionsRowsPerPage: kn } = be(ht, lt, z), { clientSortOptions: An, headerColumns: jn, headersForRender: q, updateSortField: Mn, isMultiSorting: Nn, getMultiSortNumber: Pn } = ge(St, we, Oe, et, tt, rt, U, un, at, xn, K, ct, En, gt, Gt, Kt, lt, _t, On, z), Fn = f(() => _t.value === "emit" ? null : An.value), { rowsItemsComputed: In, rowsPerPageRef: J, updateRowsPerPage: Ln } = ye(K, ut, ht, dt), { totalItems: Rn, selectItemsComputed: zn, totalItemsLength: Y, toggleSelectAll: Bn, toggleSelectItem: Vn } = xe(Fn, $e, ue, K, Ut, Wt, ft, pt, mt, lt, H, z), Hn = f(() => {
682
- if (!st.value) return null;
683
- let e = Rn.value.findIndex((e) => I(e, st.value, H.value));
684
- return e >= 0 ? ae(st.value, e, H.value) : null;
685
- }), { currentPaginationNumber: X, maxPaginationNumber: Un, isLastPage: Wn, isFirstPage: Gn, nextPage: Kn, prevPage: qn, updatePage: Z, updateCurrentPaginationNumber: Jn } = ve(qt, K, V, Y, J, ht, Dn), { currentPageFirstIndex: Yn, currentPageLastIndex: Xn, multipleSelectStatus: Zn, pageItems: Q } = _e(X, Sn, K, Ut, J, zn, gt, Rn, Y, H), Qn = f(() => X.value === 0 ? 0 : (X.value - 1) * J.value), { isRowExpanded: $n, toggleExpandRow: er } = fe(Qe, H, Qn, z), { fixedHeaders: tr, lastFixedColumn: nr, firstRightFixedColumn: rr, fixedColumnsInfos: ir } = he(q), { clickRow: ar } = re(me, Sn, gt, z);
686
- function or(e, t) {
687
- Ct.value && t.preventDefault(), R("contextmenuRow", e, t);
688
- }
689
- function sr(e) {
690
- let t = U.value.find((t) => t.value === e.value), n = e.width ?? t?.width ?? (tr.value.length ? 100 : null);
691
- if (n && tn.value) return `width: ${n}px; min-width: ${n}px;`;
692
- let r = t?.minWidth;
693
- if (r && tn.value) return `min-width: ${r}px;`;
694
- }
695
- function cr(e, t = "th") {
696
- if (!tr.value.length) return;
697
- let n = ir.value.find((t) => t.value === e);
698
- if (n) return `${n.fixed === "right" ? "right" : "left"}: ${n.distance}px;z-index: ${t === "th" ? 3 : 1};position: sticky;`;
699
- }
700
- function lr(e, t) {
701
- let n = typeof wt.value == "string" ? wt.value : wt.value(e, t + 1);
702
- return [{
703
- "m-table__cell--selection": e.text === "checkbox" || e.value === "radio",
704
- "m-table__header-cell--sortable": e.sortable,
705
- "m-table__header-cell--ascending": e.sortable && e.sortType === "asc",
706
- "m-table__header-cell--descending": e.sortable && e.sortType === "desc",
707
- "m-table__header-cell--shadow": e.value === nr.value,
708
- "m-table__header-cell--shadow-end": e.value === rr.value
709
- }, n];
1966
+ }), $n = h(() => Qn.value === "checkbox"), er = h(() => Qn.value === "radio"), tr = h(() => ["m-table__main", {
1967
+ "m-table__main--fixed-header": we.value,
1968
+ "m-table__main--fixed-height": !!jn.value || Mn.value,
1969
+ "m-table__main--shadow": Gn.value,
1970
+ "m-table__main--shadow-end": Kn.value,
1971
+ "m-table__main--table-fixed": kn.value,
1972
+ "m-table__main--border-cell": vn.value
1973
+ }]), nr = h(() => ({ minHeight: Pn.value })), rr = h(() => Ge.value !== null), { serverOptionsComputed: ir, updateServerOptionsPage: ar, updateServerOptionsSort: or, updateServerOptionsRowsPerPage: sr } = Ne(Ge, G, x), { clientSortOptions: cr, headerColumns: lr, headersForRender: ur, updateSortField: dr, clearSort: fr, isMultiSorting: pr, getMultiSortNumber: mr } = fe({
1974
+ showIndexSymbol: Ze,
1975
+ checkboxColumnWidth: ve,
1976
+ expandColumnWidth: ye,
1977
+ fixedCheckbox: Se,
1978
+ fixedExpand: Ce,
1979
+ fixedIndex: Te,
1980
+ headers: q,
1981
+ ifHasExpandSlot: Ln,
1982
+ indexColumnWidth: De,
1983
+ selectionColumn: Qn,
1984
+ isServerSideMode: rr,
1985
+ mustSort: W,
1986
+ serverOptionsComputed: ir,
1987
+ showIndex: Ke,
1988
+ sortBy: mn,
1989
+ sortType: hn,
1990
+ multiSort: G,
1991
+ sortMode: qe,
1992
+ updateServerOptionsSort: or,
1993
+ emits: x
1994
+ }), hr = h(() => J.value || qe.value === "emit" ? null : cr.value), { pageSizesComputed: gr, rowsPerPageRef: _r, updateRowsPerPage: vr } = je(rr, Le, Ge, Re), { totalItems: yr, selectItemsComputed: Z, totalItemsLength: br, toggleSelectAll: xr, toggleSelectItem: Sr } = Pe(hr, xe, C, rr, dn, pn, ze, fn, We, G, K, x), Cr = h(() => On.value ? Ut(It.value, Z.value, K.value, Y.value.childrenField, En.value.checkMethod) : /* @__PURE__ */ new Set()), wr = h(() => {
1995
+ if (!Fe.value) return null;
1996
+ let e = yr.value.findIndex((e) => U(e, Fe.value, K.value));
1997
+ return e >= 0 ? V(Fe.value, e, K.value) : null;
1998
+ }), { currentPaginationNumber: Q, maxPaginationNumber: Tr, isLastPage: Er, isFirstPage: Dr, nextPage: Or, prevPage: kr, updatePage: Ar } = Ae(gn, rr, Ie, br, _r, Ge, ar), { currentPageFirstIndex: jr, currentPageLastIndex: Mr, multipleSelectStatus: Nr, pageItems: Pr, itemsInPage: Fr, isItemSelected: Ir } = ke(Q, rr, dn, _r, Z, Ke, yr, br, K);
1999
+ function Lr(e) {
2000
+ if (On.value) {
2001
+ let t = K.value, n = Y.value.childrenField, r = En.value.checkMethod, i = [...Z.value];
2002
+ if (e) {
2003
+ for (let e of Fr.value) {
2004
+ let a = Bt(H(e), n).filter((e) => Vt(e, r)).map(H);
2005
+ for (let e of a) i.some((n) => U(n, e, t)) || i.push(e);
2006
+ }
2007
+ i = Wt(It.value, i, t, n, r), Z.value = i, x("select-all");
2008
+ return;
2009
+ }
2010
+ for (let e of Fr.value) {
2011
+ let r = Bt(H(e), n);
2012
+ i = i.filter((e) => !r.some((n) => U(e, n, t)));
2013
+ }
2014
+ i = Wt(It.value, i, t, n, r), Z.value = i;
2015
+ return;
2016
+ }
2017
+ xr(!!e, Fr.value);
710
2018
  }
711
- function ur() {
712
- return ["m-table__header-inner", `m-table__header-inner--${it.value}`];
2019
+ function Rr(e) {
2020
+ let t = En.value.checkMethod;
2021
+ if (!(t && !t(e))) {
2022
+ if (On.value) {
2023
+ let { next: n, selected: r } = Ht({
2024
+ selected: Z.value,
2025
+ row: e,
2026
+ rowKey: K.value,
2027
+ childrenField: Y.value.childrenField,
2028
+ checkStrictly: !1,
2029
+ checkMethod: t
2030
+ }), i = Wt(It.value, n, K.value, Y.value.childrenField, t);
2031
+ Z.value = i, x(r ? "select-row" : "deselect-row", H(e));
2032
+ return;
2033
+ }
2034
+ Sr(e);
2035
+ }
713
2036
  }
714
- function dr(e) {
715
- if (e === "center") return "m-table__cell--center";
716
- if (e === "right" || e === "end") return "m-table__cell--right";
2037
+ let zr = h(() => Q.value === 0 ? 0 : (Q.value - 1) * _r.value), { expandResolved: Br, isRowExpanded: Vr, isRowExpandByRow: Hr, getRowExpandRecords: Ur, setRowExpand: Wr, setAllRowExpand: Gr, clearRowExpand: Kr, toggleRowExpand: qr, toggleExpandRow: Jr } = Oe(be, K, zr, x, gt, Rn, yr), Yr = h(() => !J.value && (mt.value || Br.value.trigger === "row")), { fixedHeaders: Xr, lastFixedColumn: Zr, firstRightFixedColumn: Qr, fixedColumnsInfos: $r } = le(ur), { clickRow: ei, dblClickRow: ti } = ge(x), $ = h(() => !!Et.value && !Ln.value && !!(jn.value || Mn.value)), { virtualItems: ni, startIndex: ri, offsetTop: ii, offsetBottom: ai } = He($, Pr, Dt, Jn, Yn), oi = h(() => $.value ? ni.value : Pr.value), si = h(() => {
2038
+ if (!Ot.value || Bn.value || !kt.value) return [];
2039
+ let e = ur.value.filter((e) => !ue(e.value) || e.value === z.index || e.value === z.checkbox || e.value === z.radio || e.value === z.expand);
2040
+ return kt.value({
2041
+ columns: e,
2042
+ data: yr.value
2043
+ });
2044
+ }), { onResizeStart: ci } = _e(q, oe, R), li = st(Ft, ur);
2045
+ function ui(e, t) {
2046
+ t.preventDefault(), l("row-contextmenu", e, t);
717
2047
  }
718
- function fr(e) {
719
- return dr(pn.value.get(e) || Ce.value);
2048
+ function di(e) {
2049
+ return lt(e, q.value, Xr.value.length, kn.value);
720
2050
  }
721
- function pr(e, t) {
722
- return {
723
- row: t,
724
- item: t,
725
- column: e,
726
- value: F(e, t)
727
- };
2051
+ function fi(e, t = "th") {
2052
+ return ut(e, t, $r.value, Xr.value.length > 0);
728
2053
  }
729
- function mr(e) {
730
- return L.showOverflowTooltip ? !0 : !!U.value.find((t) => t.value === e)?.showOverflowTooltip;
2054
+ function pi(e) {
2055
+ return it(e, Hn.value, he.value);
731
2056
  }
732
- function hr(e) {
733
- if (e.sortable) return e.sortType === "asc" ? "ascending" : e.sortType === "desc" ? "descending" : "none";
2057
+ function mi(e, t) {
2058
+ return V(e, zr.value + t, K.value);
734
2059
  }
735
- function gr(e) {
736
- e.sortable && e.sortType && Mn(e.value, e.sortType);
2060
+ function hi(e, t) {
2061
+ return V(e, $.value ? zr.value + ri.value + t : zr.value + t, K.value);
737
2062
  }
738
- function _r(e, t) {
739
- (t.key === "Enter" || t.key === " ") && (t.preventDefault(), gr(e));
2063
+ function gi(e) {
2064
+ return $.value ? ri.value + e : e;
740
2065
  }
741
- function $(e, t) {
742
- return ae(e, Qn.value + t, H.value);
2066
+ function _i(e, t) {
2067
+ let n = hi(e, t);
2068
+ return Cr.value.has(n) ? !1 : $n.value ? Ir(e) : er.value ? wr.value === n : !1;
743
2069
  }
744
- function vr(e, t) {
745
- return Sn.value ? !!e.checkbox : Cn.value ? Hn.value === $(e, t) : !1;
2070
+ function vi(e, t) {
2071
+ return Cr.value.has(hi(e, t));
746
2072
  }
747
- function yr(e) {
748
- let t = { ...e };
749
- delete t.index, R("update:selectedItem", t), R("selectRow", t);
2073
+ function yi(e) {
2074
+ if ($n.value) {
2075
+ let t = En.value.checkMethod;
2076
+ return t ? !t(e) : !1;
2077
+ }
2078
+ if (er.value) {
2079
+ let t = Dn.value.checkMethod;
2080
+ return t ? !t(e) : !1;
2081
+ }
2082
+ return !1;
2083
+ }
2084
+ function bi(e) {
2085
+ if (yi(e)) return;
2086
+ let t = H(e);
2087
+ if (!Dn.value.strict && Fe.value && U(Fe.value, t, K.value)) {
2088
+ l("update:selectedItem", null), l("deselect-row", t);
2089
+ return;
2090
+ }
2091
+ l("update:selectedItem", t), l("select-row", t);
750
2092
  }
751
- function br(e) {
752
- Ln(e);
2093
+ function xi(e) {
2094
+ vr(e);
753
2095
  }
754
- function xr(e, t) {
755
- return !Xt.value || yn.value == null ? !1 : yn.value === $(e, t);
2096
+ function Si(e, t) {
2097
+ return !yn.value || Xn.value == null ? !1 : Xn.value === hi(e, t);
756
2098
  }
757
- function Sr(e, t) {
758
- if (!Xt.value) return;
759
- let n = $(e, t), r = yn.value;
2099
+ function Ci(e, t) {
2100
+ if (!yn.value) return;
2101
+ let n = hi(e, t), r = Xn.value;
760
2102
  if (r === n) return;
761
- let i = r == null ? null : Q.value.find((e, t) => $(e, t) === r) ?? null;
762
- vn.value = n, R("update:currentRowKey", n), R("current-change", e, i);
763
- }
764
- function Cr(e, t, n, r) {
765
- ar(e, Qn.value + t, n, r), n === "single" && Sr(e, t);
766
- }
767
- return M(() => L.currentRowKey, (e) => {
768
- e != null && (vn.value = e);
769
- }), M(V, (e, t) => {
770
- En.value && e === !1 && t === !0 && Jn(En.value.page);
771
- }), M(J, (e) => {
772
- K.value ? kn(e) : Z(1);
773
- }), M([pt, $e], () => {
774
- K.value || Z(1);
775
- }), M(() => L.filters, (e) => {
776
- R("filter", e ?? null);
777
- }, { deep: !0 }), M(Q, (e) => R("updatePageItems", e)), M(Rn, (e) => R("updateTotalItems", e)), M(X, (e) => {
778
- R("update:page", e), R("page", e);
779
- }), oe({
780
- currentPageFirstIndex: Yn,
781
- currentPageLastIndex: Xn,
782
- clientItemsLength: Y,
783
- maxPaginationNumber: Un,
784
- currentPaginationNumber: X,
785
- isLastPage: Wn,
786
- isFirstPage: Gn,
787
- nextPage: Kn,
788
- prevPage: qn,
789
- updatePage: Z,
790
- rowsPerPageOptions: In,
791
- rowsPerPageActiveOption: J,
792
- updateRowsPerPageActiveOption: Ln,
793
- setFilters: de
794
- }), (e, t) => (T(), h("div", x({
2103
+ let i = r == null ? null : Pr.value.find((e, t) => mi(e, t) === r) ?? null;
2104
+ qn.value = n, l("update:currentRowKey", n), l("current-change", e, i);
2105
+ }
2106
+ function wi(e, t, n) {
2107
+ let r = zr.value + gi(t);
2108
+ ei(e, r, n), Ci(e, t), Tn.value && rn(e, gi(t), n), $n.value && En.value.trigger === "row" ? Rr(e) : er.value && Dn.value.trigger === "row" && bi(e);
2109
+ }
2110
+ function Ti(e, t, n) {
2111
+ rn(e, t, n);
2112
+ }
2113
+ function Ei(e, t) {
2114
+ return zt.value.get(hi(e, t));
2115
+ }
2116
+ function Di(e, t) {
2117
+ return nn.value.includes(hi(e, t));
2118
+ }
2119
+ function Oi(e, t, n) {
2120
+ ti(e, zr.value + gi(t), n);
2121
+ }
2122
+ function ki(e, t) {
2123
+ let n = { ...C.value ?? {} };
2124
+ t == null || t === "" || Array.isArray(t) && t.length === 0 ? delete n[e] : n[e] = t, ee(Object.keys(n).length ? n : null);
2125
+ }
2126
+ function Ai(e) {
2127
+ e.sortable && e.sortType && dr(e.value, e.sortType);
2128
+ }
2129
+ function ji() {
2130
+ let e = Wn.value?.wrapRef;
2131
+ e && (Yn.value = e.clientHeight);
2132
+ }
2133
+ function Mi() {
2134
+ return Z.value;
2135
+ }
2136
+ function Ni(e, t) {
2137
+ let n = Array.isArray(e) ? e : [e];
2138
+ for (let e of n) Ir(e) !== t && Rr(e);
2139
+ }
2140
+ function Pi() {
2141
+ Z.value = [];
2142
+ }
2143
+ function Fi() {
2144
+ let e = Cr.value;
2145
+ if (!e.size) return [];
2146
+ if (J.value) {
2147
+ let t = Y.value.childrenField, n = [];
2148
+ for (let r of It.value) for (let i of Bt(r, t)) {
2149
+ let t = V(i, 0, K.value);
2150
+ e.has(t) && n.push(H(i));
2151
+ }
2152
+ return n;
2153
+ }
2154
+ return yr.value.filter((t, n) => e.has(V(t, n, K.value))).map(H);
2155
+ }
2156
+ function Ii(e) {
2157
+ return Ir(e);
2158
+ }
2159
+ function Li() {
2160
+ return Nr.value === "allSelected";
2161
+ }
2162
+ function Ri(...e) {
2163
+ Wn.value?.scrollTo(...e);
2164
+ }
2165
+ async function zi(e) {
2166
+ let t = V(e, 0, K.value), n = yr.value.findIndex((n, r) => V(n, r, K.value) === t || U(n, e, K.value));
2167
+ if (n < 0) return;
2168
+ if (!rr.value && _r.value > 0) {
2169
+ let e = Math.floor(n / _r.value) + 1;
2170
+ e !== Q.value && Ar(e);
2171
+ }
2172
+ await E();
2173
+ let r = Un.value?.querySelector(`[data-row-key="${CSS.escape(String(t))}"]`);
2174
+ if (r instanceof HTMLElement) {
2175
+ r.scrollIntoView({ block: "nearest" });
2176
+ return;
2177
+ }
2178
+ $.value && Dt.value && Wn.value?.setScrollTop(n * Dt.value);
2179
+ }
2180
+ function Bi() {
2181
+ ee(null);
2182
+ }
2183
+ function Vi() {
2184
+ let e = En.value.checkRowKeys;
2185
+ if (!e?.length || c.selection != null || Z.value.length > 0) return;
2186
+ let t = new Set(e), n;
2187
+ if (J.value) {
2188
+ let e = Y.value.childrenField;
2189
+ n = [];
2190
+ for (let r of It.value) for (let i of Bt(r, e)) {
2191
+ let e = V(i, 0, K.value);
2192
+ t.has(e) && n.push(H(i));
2193
+ }
2194
+ } else n = yr.value.filter((e, n) => t.has(V(e, n, K.value))).map(H);
2195
+ n.length && (Z.value = n);
2196
+ }
2197
+ te(() => {
2198
+ $.value && ji(), Vi();
2199
+ }), I(() => c.currentRowKey, (e) => {
2200
+ e != null && (qn.value = e);
2201
+ }), I(_r, (e) => {
2202
+ rr.value ? sr(e) : Ar(1);
2203
+ }), I([
2204
+ Be,
2205
+ xe,
2206
+ C
2207
+ ], () => {
2208
+ rr.value || Ar(1);
2209
+ }), I(() => c.filters, (e) => {
2210
+ l("filter", e ?? null);
2211
+ }, { deep: !0 }), I(Q, (e) => {
2212
+ l("update:page", e);
2213
+ }), I($, async (e) => {
2214
+ e && (await E(), ji());
2215
+ });
2216
+ let Hi = h(() => ({
2217
+ isFirstPage: Dr.value,
2218
+ isLastPage: Er.value,
2219
+ currentPaginationNumber: Q.value,
2220
+ maxPaginationNumber: Tr.value,
2221
+ nextPage: Or,
2222
+ prevPage: kr,
2223
+ updatePage: Ar
2224
+ }));
2225
+ return r({
2226
+ currentPageFirstIndex: jr,
2227
+ currentPageLastIndex: Mr,
2228
+ clientItemsLength: br,
2229
+ maxPaginationNumber: Tr,
2230
+ currentPaginationNumber: Q,
2231
+ isLastPage: Er,
2232
+ isFirstPage: Dr,
2233
+ nextPage: Or,
2234
+ prevPage: kr,
2235
+ updatePage: Ar,
2236
+ rowsPerPageOptions: gr,
2237
+ rowsPerPageActiveOption: _r,
2238
+ updateRowsPerPageActiveOption: vr,
2239
+ setFilters: ee,
2240
+ setColumnWidths: R,
2241
+ setHiddenColumns: ce,
2242
+ setColumnOrder: pe,
2243
+ getCheckboxRecords: Mi,
2244
+ setCheckboxRow: Ni,
2245
+ clearCheckboxRow: Pi,
2246
+ getCheckboxIndeterminateRecords: Fi,
2247
+ isCheckedByCheckboxRow: Ii,
2248
+ isAllCheckboxChecked: Li,
2249
+ scrollTo: Ri,
2250
+ scrollToRow: zi,
2251
+ clearSort: fr,
2252
+ clearFilter: Bi,
2253
+ setRowExpand: Wr,
2254
+ setAllRowExpand: Gr,
2255
+ clearRowExpand: Kr,
2256
+ toggleRowExpand: qr,
2257
+ isRowExpandByRow: Hr,
2258
+ getRowExpandRecords: Ur,
2259
+ isTreeExpandByRow: an,
2260
+ getTreeExpandRecords: on,
2261
+ setTreeExpand: sn,
2262
+ setAllTreeExpand: cn,
2263
+ clearTreeExpand: ln,
2264
+ toggleTreeExpand: un
2265
+ }), (e, t) => (A(), v("div", T({
795
2266
  ref_key: "dataTable",
796
- ref: mn
797
- }, j(le), {
798
- class: ["m-table", en.value],
799
- "aria-label": j(Vt) || void 0
800
- }), [v(a, {
801
- loading: j(V),
2267
+ ref: Un
2268
+ }, F(d), { class: ["m-table", Cn.value] }), [S(o, {
2269
+ loading: F(Ie),
802
2270
  size: "sm"
803
- }, _({
804
- default: N(() => [v(r, {
2271
+ }, b({
2272
+ default: L(() => [S(i, {
805
2273
  ref_key: "scrollbarRef",
806
- ref: hn,
2274
+ ref: Wn,
807
2275
  class: "m-table__scrollbar",
808
- height: on.value || void 0,
809
- "wrap-style": Tn.value,
810
- "wrap-class": wn.value,
2276
+ height: Nn.value || void 0,
2277
+ "wrap-style": nr.value,
2278
+ "wrap-class": tr.value,
811
2279
  noresize: "",
812
- onScroll: bn
2280
+ onScroll: Zn
813
2281
  }, {
814
- default: N(() => [g("div", {
2282
+ default: L(() => [y("div", {
815
2283
  class: "m-table__surface",
816
- "aria-busy": j(V) || void 0
817
- }, [g("table", { id: j(pe) || void 0 }, [
818
- g("colgroup", null, [(T(!0), h(d, null, O(j(q), (e, t) => (T(), h("col", {
2284
+ "aria-busy": F(Ie) || void 0
2285
+ }, [y("table", {
2286
+ "aria-label": F(wt) || void 0,
2287
+ role: F(J) ? "treegrid" : void 0
2288
+ }, [
2289
+ y("colgroup", null, [(A(!0), v(m, null, M(F(ur), (e, t) => (A(), v("col", {
819
2290
  key: t,
820
- style: w(sr(e))
2291
+ style: k(di(e))
821
2292
  }, null, 4))), 128))]),
822
- j(G)["customize-headers"] ? k(e.$slots, "customize-headers", {}, void 0, void 0, 0) : j(q).length && rn.value ? (T(), h("thead", {
2293
+ F(X)["customize-headers"] ? N(e.$slots, "customize-headers", {}, void 0, void 0, 0) : F(ur).length && F(bt) ? (A(), g(St, {
823
2294
  key: 1,
824
- class: S(["m-table__header", [j(kt)]])
825
- }, [g("tr", null, [(T(!0), h(d, null, O(j(q), (r, a) => (T(), h("th", {
826
- key: a,
827
- class: S(lr(r, a)),
828
- style: w(cr(r.value)),
829
- "aria-sort": hr(r),
830
- tabindex: r.sortable ? 0 : void 0,
831
- onClick: P((e) => gr(r), ["stop"]),
832
- onKeydown: (e) => _r(r, e)
833
- }, [r.text === "checkbox" ? (T(), h("div", Pe, [(T(), p(i, {
834
- key: j(Zn),
835
- "model-value": j(Zn) === "allSelected",
836
- indeterminate: j(Zn) === "partSelected",
837
- "aria-label": j(B).selectAllPage,
838
- "onUpdate:modelValue": j(Bn),
839
- onClick: t[0] ||= P(() => {}, ["stop"])
840
- }, null, 8, [
841
- "model-value",
842
- "indeterminate",
843
- "aria-label",
844
- "onUpdate:modelValue"
845
- ]))])) : r.value === "radio" ? (T(), h("div", Fe)) : (T(), h("span", {
846
- key: 2,
847
- class: S(ur())
848
- }, [
849
- j(G)[`header-${r.value}`] ? k(e.$slots, `header-${r.value}`, x({ ref_for: !0 }, r), void 0, void 0, 0) : j(G)[`header-${r.value.toLowerCase()}`] ? k(e.$slots, `header-${r.value.toLowerCase()}`, x({ ref_for: !0 }, r), void 0, void 0, 1) : j(G).header ? k(e.$slots, "header", x({ ref_for: !0 }, r), void 0, void 0, 2) : (T(), h("span", {
850
- key: 3,
851
- class: "m-table__header-text",
852
- title: r.text
853
- }, A(r.text), 9, Ie)),
854
- r.sortable ? (T(), h("span", Le, [v(n, {
855
- name: "triangle-up",
856
- class: "m-table__sort-icon m-table__sort-icon--ascending"
857
- }), v(n, {
858
- name: "triangle-down",
859
- class: "m-table__sort-icon m-table__sort-icon--descending"
860
- })])) : m("", !0),
861
- j(lt) && j(Nn)(r.value) ? (T(), h("span", Re, A(j(Pn)(r.value)), 1)) : m("", !0)
862
- ], 2))], 46, Ne))), 128))])], 2)) : m("", !0),
863
- dn.value ? k(e.$slots, "body", C(b(j(Q))), void 0, void 0, 2) : j(jn).length ? (T(), h("tbody", ze, [
864
- k(e.$slots, "body-prepend", C(b({
865
- items: j(Q),
866
- pagination: {
867
- isFirstPage: j(Gn),
868
- isLastPage: j(Wn),
869
- currentPaginationNumber: j(X),
870
- maxPaginationNumber: j(Un),
871
- nextPage: j(Kn),
872
- prevPage: j(qn)
873
- },
874
- headers: j(q)
875
- }))),
876
- (T(!0), h(d, null, O(j(Q), (r, a) => (T(), h(d, { key: $(r, a) }, [g("tr", {
877
- class: S([{
878
- "m-table__row--striped": Jt.value && (a + 1) % 2 == 0,
879
- "m-table__row--selected": vr(r, a),
880
- "m-table__row--current": xr(r, a)
881
- }, typeof j(Tt) == "string" ? j(Tt) : j(Tt)(r, a + 1)]),
882
- onClick: (e) => {
883
- Cr(r, a, "single", e), j(Nt) && j(er)(r, a, e);
884
- },
885
- onDblclick: (e) => Cr(r, a, "double", e),
886
- onContextmenu: (e) => or(r, e)
887
- }, [(T(!0), h(d, null, O(j(jn), (o, l) => (T(), h("td", {
888
- key: l,
889
- style: w(cr(o, "td")),
890
- class: S([
891
- {
892
- "m-table__cell--shadow": o === j(nr),
893
- "m-table__cell--shadow-end": o === j(rr),
894
- "m-table__cell--expand": o === "expand",
895
- "m-table__cell--selection": o === "checkbox" || o === "radio"
896
- },
897
- fr(o),
898
- typeof j(Dt) == "string" ? j(Dt) : j(Dt)(o, a + 1)
899
- ]),
900
- onClick: (e) => o === "expand" ? j(er)(r, a, e) : null
901
- }, [g("div", { class: S(["m-table__cell-inner", {
902
- "m-table__cell-inner--expand": o === "expand",
903
- "m-table__cell-inner--selection": o === "checkbox" || o === "radio"
904
- }]) }, [j(G)[`cell-${o}`] ? k(e.$slots, `cell-${o}`, x({ ref_for: !0 }, pr(o, r)), void 0, void 0, 0) : j(G)[`cell-${o.toLowerCase()}`] ? k(e.$slots, `cell-${o.toLowerCase()}`, x({ ref_for: !0 }, pr(o, r)), void 0, void 0, 1) : o === "expand" ? (T(), h("button", {
905
- key: 2,
906
- type: "button",
907
- class: S(["m-table__expand-btn", { "m-table__expand-btn--expanded": j($n)(r, a) }]),
908
- "aria-expanded": j($n)(r, a),
909
- "aria-label": j(B).expand,
910
- onClick: P((e) => j(er)(r, a, e), ["stop"])
911
- }, [v(n, { name: "chevron-right" })], 10, He)) : o === "checkbox" ? (T(), p(i, {
912
- key: 3,
913
- "model-value": !!r.checkbox,
914
- "aria-label": j(B).selectRow.replace("{index}", String(j(Yn) + a)),
915
- "onUpdate:modelValue": (e) => j(Vn)(r),
916
- onClick: t[1] ||= P(() => {}, ["stop"])
917
- }, null, 8, [
918
- "model-value",
919
- "aria-label",
920
- "onUpdate:modelValue"
921
- ])) : o === "radio" ? (T(), p(c, {
922
- key: 4,
923
- "model-value": Hn.value ?? void 0,
924
- value: $(r, a),
925
- "aria-label": j(B).selectRow.replace("{index}", String(j(Yn) + a)),
926
- "onUpdate:modelValue": (e) => yr(r),
927
- onClick: t[2] ||= P(() => {}, ["stop"])
928
- }, null, 8, [
929
- "model-value",
930
- "value",
931
- "aria-label",
932
- "onUpdate:modelValue"
933
- ])) : j(G)["body-cell"] ? k(e.$slots, "body-cell", x({ ref_for: !0 }, {
934
- column: o,
935
- item: r,
936
- row: r,
937
- value: j(F)(o, r)
938
- }), void 0, void 0, 5) : fn.value.get(o) ? (T(), h("span", Ue, A(fn.value.get(o)(r)), 1)) : (T(), p(s, {
939
- key: 7,
940
- content: j(ie)(o, r),
941
- disabled: !mr(o)
942
- }, {
943
- default: N(() => [g("span", We, [g("span", Ge, A(j(ie)(o, r)), 1)])]),
944
- _: 2
945
- }, 1032, ["content", "disabled"]))], 2)], 14, Ve))), 128))], 42, Be), un.value && j($n)(r, a) ? (T(), h("tr", {
946
- key: 0,
947
- class: S([{ "m-table__row--striped": Jt.value && (a + 1) % 2 == 0 }, typeof j(Et) == "string" ? j(Et) : j(Et)(r, a + 1)])
948
- }, [g("td", {
949
- colspan: j(q).length,
950
- class: "m-table__cell--expanded"
951
- }, [r.expandLoading ? (T(), p(ke, { key: 0 })) : m("", !0), k(e.$slots, "expansion", x({ ref_for: !0 }, { row: r }))], 8, Ke)], 2)) : m("", !0)], 64))), 128)),
952
- k(e.$slots, "body-append", C(b({
953
- items: j(Q),
954
- pagination: {
955
- isFirstPage: j(Gn),
956
- isLastPage: j(Wn),
957
- currentPaginationNumber: j(X),
958
- maxPaginationNumber: j(Un),
959
- nextPage: j(Kn),
960
- prevPage: j(qn),
961
- updatePage: j(Z)
962
- },
963
- headers: j(q)
964
- })))
965
- ])) : m("", !0)
966
- ], 8, Me), !j(Q).length && !j(V) ? (T(), h("div", qe, [j(G).empty ? k(e.$slots, "empty", {}, void 0, void 0, 0) : k(e.$slots, "empty", {}, () => [g("p", Je, A(nn.value), 1), j(Ft) ? (T(), h("p", Ye, A(j(Ft)), 1)) : m("", !0)], void 0, 1)])) : m("", !0)], 8, je)]),
2295
+ rows: F(li),
2296
+ "header-class-name": F(ft),
2297
+ "header-item-class-name": F(Qe),
2298
+ "header-text-direction": F(Ee),
2299
+ "multi-sort": F(G),
2300
+ "multiple-select-status": F(Nr),
2301
+ "show-checkbox-header": En.value.showHeader,
2302
+ "last-fixed-column": F(Zr),
2303
+ "first-right-fixed-column": F(Qr),
2304
+ "fixed-columns-infos": F($r),
2305
+ "has-fixed-headers": F(Xr).length > 0,
2306
+ "filter-values": F(C),
2307
+ "is-multi-sorting": F(pr),
2308
+ "get-multi-sort-number": F(mr),
2309
+ onSort: Ai,
2310
+ onToggleSelectAll: Lr,
2311
+ onFilterApply: ki,
2312
+ onResizeStart: F(ci)
2313
+ }, b({ _: 2 }, [M(F(X), (t, n) => ({
2314
+ name: n,
2315
+ fn: L((t) => [N(e.$slots, n, O(w(t ?? {})))])
2316
+ }))]), 1032, [
2317
+ "rows",
2318
+ "header-class-name",
2319
+ "header-item-class-name",
2320
+ "header-text-direction",
2321
+ "multi-sort",
2322
+ "multiple-select-status",
2323
+ "show-checkbox-header",
2324
+ "last-fixed-column",
2325
+ "first-right-fixed-column",
2326
+ "fixed-columns-infos",
2327
+ "has-fixed-headers",
2328
+ "filter-values",
2329
+ "is-multi-sorting",
2330
+ "get-multi-sort-number",
2331
+ "onResizeStart"
2332
+ ])) : _("", !0),
2333
+ zn.value ? N(e.$slots, "body", O(w(F(Pr))), void 0, void 0, 2) : F(lr).length ? (A(), g(Rt, {
2334
+ key: 3,
2335
+ "body-items": oi.value,
2336
+ "page-items": F(Pr),
2337
+ "headers-for-render": F(ur),
2338
+ "header-columns": F(lr),
2339
+ "column-align-map": Hn.value,
2340
+ "column-render-map": Vn.value,
2341
+ "body-text-direction": F(he),
2342
+ "body-row-class-name": F(at),
2343
+ "body-expand-row-class-name": F(ot),
2344
+ "body-item-class-name": F(ct),
2345
+ striped: _n.value,
2346
+ "last-fixed-column": F(Zr),
2347
+ "first-right-fixed-column": F(Qr),
2348
+ "fixed-columns-infos": F($r),
2349
+ "has-fixed-headers": F(Xr).length > 0,
2350
+ "span-method": F(At),
2351
+ "show-overflow-tooltip": c.showOverflowTooltip,
2352
+ headers: q.value,
2353
+ "virtual-enabled": $.value,
2354
+ "offset-top": F(ii),
2355
+ "offset-bottom": F(ai),
2356
+ "current-page-first-index": F(jr),
2357
+ "single-selected-row-key": wr.value,
2358
+ "click-row-to-expand": Yr.value,
2359
+ "if-has-expand-slot": Ln.value,
2360
+ pagination: Hi.value,
2361
+ "body-row-index": gi,
2362
+ "get-body-row-key": hi,
2363
+ "is-row-selected": _i,
2364
+ "is-row-indeterminate": vi,
2365
+ "is-row-check-disabled": yi,
2366
+ "is-current-row": Si,
2367
+ "is-row-expanded": F(Vr),
2368
+ "tree-enabled": F(J),
2369
+ "tree-node-column": wn.value,
2370
+ "tree-indent": F(Y).indent,
2371
+ "get-tree-meta": Ei,
2372
+ "is-tree-node-expanded": Di,
2373
+ onRowClick: wi,
2374
+ onRowDblclick: Oi,
2375
+ onRowContextmenu: ui,
2376
+ onToggleExpand: t[0] ||= (e, t, n) => F(Jr)(e, t, n),
2377
+ onToggleTree: Ti,
2378
+ onToggleSelect: Rr,
2379
+ onSingleSelect: bi
2380
+ }, b({ _: 2 }, [M(F(X), (t, n) => ({
2381
+ name: n,
2382
+ fn: L((t) => [N(e.$slots, n, O(w(t ?? {})))])
2383
+ }))]), 1032, /* @__PURE__ */ "body-items.page-items.headers-for-render.header-columns.column-align-map.column-render-map.body-text-direction.body-row-class-name.body-expand-row-class-name.body-item-class-name.striped.last-fixed-column.first-right-fixed-column.fixed-columns-infos.has-fixed-headers.span-method.show-overflow-tooltip.headers.virtual-enabled.offset-top.offset-bottom.current-page-first-index.single-selected-row-key.click-row-to-expand.if-has-expand-slot.pagination.is-row-expanded.tree-enabled.tree-node-column.tree-indent".split("."))) : _("", !0),
2384
+ F(Ot) && (Bn.value || si.value.length) ? (A(), v("tfoot", qt, [Bn.value ? N(e.$slots, "footer", O(w({
2385
+ columns: F(ur),
2386
+ data: F(yr)
2387
+ })), void 0, void 0, 0) : _("", !0), (A(!0), v(m, null, M(si.value, (e, t) => (A(), v("tr", { key: t }, [(A(!0), v(m, null, M(F(ur), (t, n) => (A(), v("td", {
2388
+ key: t.value,
2389
+ class: D(pi(t.value)),
2390
+ style: k(fi(t.value, "td"))
2391
+ }, [y("div", Jt, [y("span", Yt, P(e[n] ?? ""), 1)])], 6))), 128))]))), 128))])) : _("", !0)
2392
+ ], 8, Kt), !F(Pr).length && !F(Ie) ? (A(), v("div", Xt, [F(X).empty ? N(e.$slots, "empty", {}, void 0, void 0, 0) : N(e.$slots, "empty", {}, () => [y("p", Zt, P(An.value), 1), F(_t) ? (A(), v("p", Qt, P(F(_t)), 1)) : _("", !0)], void 0, 1)])) : _("", !0)], 8, Gt)]),
967
2393
  _: 3
968
2394
  }, 8, [
969
2395
  "height",
@@ -971,27 +2397,27 @@ var Oe = ["aria-label"], ke = /* @__PURE__ */ y({
971
2397
  "wrap-class"
972
2398
  ])]),
973
2399
  _: 2
974
- }, [ln.value ? {
2400
+ }, [In.value ? {
975
2401
  name: "indicator",
976
- fn: N(() => [k(e.$slots, "loading")]),
2402
+ fn: L(() => [N(e.$slots, "loading")]),
977
2403
  key: "0"
978
- } : void 0]), 1032, ["loading"]), j(Bt) ? (T(), h("div", Xe, [g("div", Ze, A(`${j(Yn)}–${j(Xn)}`) + " " + A(j(xt)) + " " + A(j(Y)), 1), cn.value ? k(e.$slots, "pagination", C(b({
979
- isFirstPage: j(Gn),
980
- isLastPage: j(Wn),
981
- currentPaginationNumber: j(X),
982
- maxPaginationNumber: j(Un),
983
- nextPage: j(Kn),
984
- prevPage: j(qn)
985
- })), void 0, void 0, 0) : (T(), p(o, {
2404
+ } : void 0]), 1032, ["loading"]), F(Ct) ? (A(), v("div", $t, [y("div", en, P(`${F(jr)}–${F(Mr)}`) + " " + P(tn) + " " + P(F(br)), 1), Fn.value ? N(e.$slots, "pagination", O(w({
2405
+ isFirstPage: F(Dr),
2406
+ isLastPage: F(Er),
2407
+ currentPaginationNumber: F(Q),
2408
+ maxPaginationNumber: F(Tr),
2409
+ nextPage: F(Or),
2410
+ prevPage: F(kr)
2411
+ })), void 0, void 0, 0) : (A(), g(s, {
986
2412
  key: 1,
987
- "model-value": j(X),
988
- "total-records": j(Y),
989
- rows: j(J),
990
- "page-sizes": j(In),
991
- "show-size-picker": !j(Mt),
992
- disabled: j(V),
993
- "onUpdate:modelValue": j(Z),
994
- "onUpdate:rows": br
2413
+ "model-value": F(Q),
2414
+ "total-records": F(br),
2415
+ rows: F(_r),
2416
+ "page-sizes": F(gr),
2417
+ "show-size-picker": F(pt),
2418
+ disabled: F(Ie),
2419
+ "onUpdate:modelValue": F(Ar),
2420
+ "onUpdate:rows": xi
995
2421
  }, null, 8, [
996
2422
  "model-value",
997
2423
  "total-records",
@@ -1000,8 +2426,8 @@ var Oe = ["aria-label"], ke = /* @__PURE__ */ y({
1000
2426
  "show-size-picker",
1001
2427
  "disabled",
1002
2428
  "onUpdate:modelValue"
1003
- ]))])) : m("", !0)], 16, Ae));
2429
+ ]))])) : _("", !0)], 16));
1004
2430
  }
1005
2431
  });
1006
2432
  //#endregion
1007
- export { Qe as MTable };
2433
+ export { nn as MTable };