@indielayer/ui 1.8.4 → 1.9.1

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 (119) hide show
  1. package/docs/pages/component/select/usage.vue +17 -5
  2. package/docs/pages/component/table/index.vue +7 -0
  3. package/docs/pages/component/table/usage.vue +5 -1
  4. package/docs/pages/component/table/virtual.vue +53 -0
  5. package/docs/pages/typography.vue +14 -12
  6. package/lib/components/accordion/Accordion.vue.d.ts +4 -4
  7. package/lib/components/accordion/AccordionItem.vue.d.ts +6 -6
  8. package/lib/components/accordion/AccordionItem.vue.js +51 -51
  9. package/lib/components/alert/Alert.vue.d.ts +8 -8
  10. package/lib/components/alert/Alert.vue2.js +20 -20
  11. package/lib/components/avatar/Avatar.vue.d.ts +4 -4
  12. package/lib/components/badge/Badge.vue.d.ts +4 -4
  13. package/lib/components/breadcrumbs/Breadcrumbs.vue.d.ts +4 -4
  14. package/lib/components/button/Button.vue.d.ts +5 -5
  15. package/lib/components/button/ButtonGroup.vue.d.ts +4 -4
  16. package/lib/components/card/Card.vue.d.ts +4 -4
  17. package/lib/components/carousel/Carousel.vue.d.ts +7 -7
  18. package/lib/components/carousel/CarouselSlide.vue.d.ts +4 -4
  19. package/lib/components/checkbox/Checkbox.vue.d.ts +6 -6
  20. package/lib/components/checkbox/Checkbox.vue2.js +60 -60
  21. package/lib/components/container/Container.vue.d.ts +4 -4
  22. package/lib/components/datepicker/Datepicker.vue.d.ts +6 -6
  23. package/lib/components/datepicker/Datepicker.vue.js +3 -3
  24. package/lib/components/divider/Divider.vue.d.ts +4 -4
  25. package/lib/components/drawer/Drawer.vue.d.ts +6 -6
  26. package/lib/components/drawer/Drawer.vue.js +1 -1
  27. package/lib/components/form/Form.vue.d.ts +5 -5
  28. package/lib/components/formGroup/FormGroup.vue.d.ts +6 -6
  29. package/lib/components/formGroup/FormGroup.vue.js +7 -7
  30. package/lib/components/icon/Icon.vue.d.ts +4 -4
  31. package/lib/components/image/Image.vue.d.ts +3 -3
  32. package/lib/components/input/Input.vue.d.ts +6 -6
  33. package/lib/components/inputFooter/InputFooter.vue.d.ts +3 -3
  34. package/lib/components/label/Label.vue.d.ts +4 -4
  35. package/lib/components/link/Link.vue.d.ts +4 -4
  36. package/lib/components/loader/Loader.vue.d.ts +4 -4
  37. package/lib/components/menu/Menu.vue.d.ts +5 -5
  38. package/lib/components/menu/MenuItem.vue.d.ts +5 -5
  39. package/lib/components/menu/MenuItem.vue2.js +1 -1
  40. package/lib/components/modal/Modal.vue.d.ts +6 -6
  41. package/lib/components/modal/Modal.vue.js +1 -1
  42. package/lib/components/notifications/Notifications.vue.d.ts +5 -5
  43. package/lib/components/pagination/Pagination.vue.d.ts +5 -5
  44. package/lib/components/pagination/Pagination.vue.js +41 -41
  45. package/lib/components/pagination/PaginationItem.vue.d.ts +6 -6
  46. package/lib/components/popover/Popover.vue.d.ts +8 -8
  47. package/lib/components/popover/Popover.vue.js +1 -1
  48. package/lib/components/popover/PopoverContainer.vue.d.ts +4 -4
  49. package/lib/components/progress/Progress.vue.d.ts +4 -4
  50. package/lib/components/qrCode/QrCode.vue.d.ts +4 -4
  51. package/lib/components/radio/Radio.vue.d.ts +6 -6
  52. package/lib/components/radio/Radio.vue2.js +63 -63
  53. package/lib/components/scroll/Scroll.vue.d.ts +6 -6
  54. package/lib/components/scroll/Scroll.vue2.js +1 -1
  55. package/lib/components/select/Select.vue.d.ts +42 -6
  56. package/lib/components/select/Select.vue.js +224 -201
  57. package/lib/components/select/theme/Select.base.theme.js +1 -1
  58. package/lib/components/skeleton/Skeleton.vue.d.ts +4 -4
  59. package/lib/components/skeleton/Skeleton.vue.js +17 -17
  60. package/lib/components/slider/Slider.vue.d.ts +6 -6
  61. package/lib/components/spacer/Spacer.d.ts +1 -1
  62. package/lib/components/spinner/Spinner.vue.d.ts +4 -4
  63. package/lib/components/stepper/Stepper.vue.d.ts +5 -5
  64. package/lib/components/tab/Tab.vue.d.ts +5 -5
  65. package/lib/components/tab/Tab.vue.js +1 -1
  66. package/lib/components/tab/TabGroup.vue.d.ts +5 -5
  67. package/lib/components/tab/TabGroup.vue.js +2 -2
  68. package/lib/components/table/Table.vue.d.ts +119 -24
  69. package/lib/components/table/Table.vue.js +226 -188
  70. package/lib/components/table/TableBody.d.ts +1 -1
  71. package/lib/components/table/TableCell.vue.d.ts +4 -4
  72. package/lib/components/table/TableHead.vue.d.ts +10 -2
  73. package/lib/components/table/TableHead.vue.js +16 -13
  74. package/lib/components/table/TableHeader.vue.d.ts +4 -8
  75. package/lib/components/table/TableHeader.vue.js +40 -41
  76. package/lib/components/table/TableRow.vue.d.ts +8 -4
  77. package/lib/components/table/TableRow.vue.js +3 -2
  78. package/lib/components/table/theme/TableHead.base.theme.js +7 -4
  79. package/lib/components/table/theme/TableHead.carbon.theme.js +7 -4
  80. package/lib/components/table/theme/TableHeader.base.theme.js +3 -3
  81. package/lib/components/table/theme/TableHeader.carbon.theme.js +1 -1
  82. package/lib/components/table/theme/TableRow.base.theme.js +1 -1
  83. package/lib/components/tag/Tag.vue.d.ts +5 -5
  84. package/lib/components/textarea/Textarea.vue.d.ts +6 -6
  85. package/lib/components/textarea/Textarea.vue.js +6 -6
  86. package/lib/components/themeProvider/ThemeProvider.vue.d.ts +3 -3
  87. package/lib/components/toggle/Toggle.vue.d.ts +6 -6
  88. package/lib/components/tooltip/ToggleTip.vue.d.ts +3 -3
  89. package/lib/components/tooltip/Tooltip.vue.d.ts +4 -4
  90. package/lib/components/tooltip/Tooltip.vue.js +1 -1
  91. package/lib/composables/index.d.ts +1 -0
  92. package/lib/composables/useInputtable.d.ts +26 -6
  93. package/lib/composables/useVirtualList.d.ts +48 -0
  94. package/lib/composables/useVirtualList.js +123 -0
  95. package/lib/index.js +35 -33
  96. package/lib/index.umd.js +4 -4
  97. package/lib/node_modules/.pnpm/@vueuse_core@10.2.0_vue@3.5.10_typescript@5.2.2_/node_modules/@vueuse/core/index.js +412 -0
  98. package/lib/version.d.ts +1 -1
  99. package/lib/version.js +1 -1
  100. package/package.json +3 -3
  101. package/src/components/select/Select.vue +56 -26
  102. package/src/components/select/theme/Select.base.theme.ts +1 -1
  103. package/src/components/table/Table.vue +158 -114
  104. package/src/components/table/TableHead.vue +6 -2
  105. package/src/components/table/TableHeader.vue +0 -1
  106. package/src/components/table/TableRow.vue +1 -0
  107. package/src/components/table/theme/TableHead.base.theme.ts +7 -1
  108. package/src/components/table/theme/TableHead.carbon.theme.ts +7 -1
  109. package/src/components/table/theme/TableHeader.base.theme.ts +0 -2
  110. package/src/components/table/theme/TableHeader.carbon.theme.ts +0 -2
  111. package/src/components/table/theme/TableRow.base.theme.ts +4 -0
  112. package/src/composables/index.ts +1 -0
  113. package/src/composables/useVirtualList.ts +286 -0
  114. package/src/version.ts +1 -1
  115. package/lib/node_modules/.pnpm/@vueuse_core@10.2.0_vue@3.3.9_typescript@5.2.2_/node_modules/@vueuse/core/index.js +0 -379
  116. /package/lib/node_modules/.pnpm/{@vuepic_vue-datepicker@8.3.2_vue@3.3.9_typescript@5.2.2_ → @vuepic_vue-datepicker@8.3.2_vue@3.5.10_typescript@5.2.2_}/node_modules/@vuepic/vue-datepicker/dist/main.css.js +0 -0
  117. /package/lib/node_modules/.pnpm/{@vuepic_vue-datepicker@8.3.2_vue@3.3.9_typescript@5.2.2_ → @vuepic_vue-datepicker@8.3.2_vue@3.5.10_typescript@5.2.2_}/node_modules/@vuepic/vue-datepicker/dist/vue-datepicker.js +0 -0
  118. /package/lib/node_modules/.pnpm/{@vueuse_shared@10.2.0_vue@3.3.9_typescript@5.2.2_ → @vueuse_shared@10.2.0_vue@3.5.10_typescript@5.2.2_}/node_modules/@vueuse/shared/index.js +0 -0
  119. /package/lib/node_modules/.pnpm/{floating-vue@5.2.2_@nuxt_kit@3.10.1_rollup@3.29.4__vue@3.3.9_typescript@5.2.2_ → floating-vue@5.2.2_@nuxt_kit@3.10.1_rollup@3.29.4__vue@3.5.10_typescript@5.2.2_}/node_modules/floating-vue/dist/floating-vue.js +0 -0
@@ -1,15 +1,16 @@
1
- import { defineComponent as J, ref as X, watch as F, openBlock as n, createElementBlock as r, normalizeClass as d, unref as c, renderSlot as u, createElementVNode as m, normalizeStyle as O, createVNode as y, withCtx as p, createBlock as k, createCommentVNode as h, Fragment as g, renderList as v, createTextVNode as C, toDisplayString as N } from "vue";
2
- import { useTheme as P } from "../../composables/useTheme.js";
3
- import W from "./TableHead.vue.js";
4
- import S from "./TableHeader.vue.js";
5
- import q from "./TableBody.js";
1
+ import { defineComponent as K, mergeModels as N, useModel as Q, computed as S, ref as R, watch as U, openBlock as l, createElementBlock as r, mergeProps as C, unref as n, renderSlot as p, createElementVNode as f, normalizeStyle as H, normalizeClass as m, createVNode as y, withCtx as c, createBlock as g, createCommentVNode as $, Fragment as k, renderList as h, createTextVNode as I, toDisplayString as O } from "vue";
2
+ import { useTheme as Y } from "../../composables/useTheme.js";
3
+ import { useVirtualList as Z } from "../../composables/useVirtualList.js";
4
+ import j from "./TableHead.vue.js";
5
+ import T from "./TableHeader.vue.js";
6
+ import ee from "./TableBody.js";
6
7
  import z from "./TableRow.vue.js";
7
8
  import _ from "./TableCell.vue.js";
8
- import x from "../spinner/Spinner.vue.js";
9
- import G from "../skeleton/Skeleton.vue.js";
10
- import K from "../icon/Icon.vue.js";
11
- import { chevronDownIcon as M } from "../../common/icons.js";
12
- const Q = { key: 1 }, R = { colspan: "999" }, U = { key: 2 }, Y = { colspan: "999" }, Z = ["onClick"], j = { colspan: "999" }, ee = {
9
+ import te from "../spinner/Spinner.vue.js";
10
+ import se from "../skeleton/Skeleton.vue.js";
11
+ import le from "../icon/Icon.vue.js";
12
+ import { chevronDownIcon as oe } from "../../common/icons.js";
13
+ const ie = { key: 1 }, ae = { colspan: "999" }, re = { key: 2 }, ne = { colspan: "999" }, de = ["onClick"], ue = { colspan: "999" }, pe = {
13
14
  headers: {
14
15
  type: Array,
15
16
  default: () => []
@@ -41,215 +42,252 @@ const Q = { key: 1 }, R = { colspan: "999" }, U = { key: 2 }, Y = { colspan: "99
41
42
  type: Boolean,
42
43
  default: !0
43
44
  },
44
- expandable: Boolean
45
- }, te = { name: "XTable" }, fe = /* @__PURE__ */ J({
46
- ...te,
47
- props: {
48
- ...ee,
45
+ expandable: Boolean,
46
+ virtualList: Boolean,
47
+ virtualListOffsetTop: Number,
48
+ virtualListOffsetBottom: Number,
49
+ virtualListItemHeight: {
50
+ type: Number,
51
+ default: 54
52
+ },
53
+ virtualListOverscan: {
54
+ type: Number,
55
+ default: 5
56
+ }
57
+ }, ce = { name: "XTable" }, Le = /* @__PURE__ */ K({
58
+ ...ce,
59
+ props: /* @__PURE__ */ N({
60
+ ...pe,
49
61
  items: {
50
62
  type: Array,
51
63
  default: () => []
52
64
  }
53
- },
54
- emits: ["update:sort", "click-row"],
55
- setup($, { emit: A }) {
56
- const b = $;
57
- function T(e) {
65
+ }, {
66
+ selected: {},
67
+ selectedModifiers: {}
68
+ }),
69
+ emits: /* @__PURE__ */ N(["update:sort", "click-row"], ["update:selected"]),
70
+ setup(B, { emit: A }) {
71
+ const a = B, L = Q(B, "selected"), V = S(() => typeof L.value == "number");
72
+ function P(e) {
58
73
  try {
59
74
  return JSON.parse(JSON.stringify(e));
60
75
  } catch {
61
76
  return [];
62
77
  }
63
78
  }
64
- const f = X([]);
65
- F(() => b.items, (e) => {
66
- b.expandable && (f.value = T(e));
79
+ const b = S(() => a.items), { list: M, containerProps: D, wrapperProps: E } = Z(
80
+ b,
81
+ {
82
+ disabled: !a.virtualList,
83
+ itemHeight: a.virtualListItemHeight || 54,
84
+ topOffset: a.virtualListOffsetTop || 0,
85
+ bottomOffset: a.virtualListOffsetBottom || 0,
86
+ overscan: a.virtualListOverscan
87
+ }
88
+ ), v = R([]);
89
+ U(b, (e) => {
90
+ a.expandable && (v.value = P(e));
67
91
  }, { immediate: !0 });
68
- const H = A;
69
- function V(e, o) {
92
+ const J = A;
93
+ function X(e, o) {
70
94
  if (e)
71
95
  for (let t = 0; t < o.length; t++) {
72
- const { 0: l, 1: s } = o[t].split(",");
73
- if (e === l)
96
+ const { 0: i, 1: s } = o[t].split(",");
97
+ if (e === i)
74
98
  return parseInt(s) > 0 ? 1 : -1;
75
99
  }
76
100
  }
77
- function I(e) {
78
- const o = b.sort.slice(0);
101
+ function F(e) {
102
+ const o = a.sort.slice(0);
79
103
  let t = !1;
80
- for (let l = 0; l < o.length; l++) {
81
- const { 0: s, 1: a } = o[l].split(",");
104
+ for (let i = 0; i < o.length; i++) {
105
+ const { 0: s, 1: d } = o[i].split(",");
82
106
  if (s === e.value) {
83
- if (t = !0, a === "-1") {
84
- o.splice(l, 1, `${e.value},1`);
107
+ if (t = !0, d === "-1") {
108
+ o.splice(i, 1, `${e.value},1`);
85
109
  break;
86
- } else if (a === "1") {
87
- o.splice(l, 1);
110
+ } else if (d === "1") {
111
+ o.splice(i, 1);
88
112
  break;
89
113
  }
90
114
  }
91
115
  }
92
- t || o.push(`${e.value},-1`), H("update:sort", o);
116
+ t || o.push(`${e.value},-1`), J("update:sort", o);
93
117
  }
94
- function L(e, o) {
118
+ function W(e, o) {
95
119
  if (!o)
96
120
  return "";
97
121
  const t = Array.isArray(o) ? o : o.match(/([^[.\]])+/g);
98
- return (t == null ? void 0 : t.reduce((s, a) => s && s[a], e)) ?? "";
122
+ return (t == null ? void 0 : t.reduce((s, d) => s && s[d], e)) ?? "";
99
123
  }
100
- const { styles: D, classes: w, className: E } = P("Table", {}, b);
101
- return (e, o) => (n(), r("div", {
102
- class: d([c(E), c(w).wrapper])
103
- }, [
104
- u(e.$slots, "title"),
105
- u(e.$slots, "actions"),
106
- m("table", {
107
- style: O(c(D)),
108
- class: d(c(w).table)
109
- }, [
110
- y(W, null, {
111
- default: p(() => [
112
- e.expandable ? (n(), k(S, {
113
- key: 0,
114
- width: "48",
115
- class: "!p-0",
116
- "sticky-header": e.stickyHeader
117
- }, null, 8, ["sticky-header"])) : h("", !0),
118
- (n(!0), r(g, null, v(e.headers, (t, l) => (n(), k(S, {
119
- key: l,
120
- "sticky-header": e.stickyHeader,
121
- "text-align": t.align,
122
- sort: V(t.value, e.sort),
123
- sortable: t.sortable,
124
- width: t.width,
125
- onClick: (s) => t.sortable ? I(t) : null
126
- }, {
127
- default: p(() => [
128
- u(e.$slots, `header-${t.value}`, { header: t }, () => [
129
- C(N(t.text), 1)
124
+ const { styles: q, classes: w, className: G } = Y("Table", {}, a);
125
+ return (e, o) => (l(), r("div", C({
126
+ class: [n(G), n(w).wrapper]
127
+ }, n(D)), [
128
+ p(e.$slots, "title"),
129
+ p(e.$slots, "actions"),
130
+ f("div", C(n(E), {
131
+ class: {
132
+ "!h-auto": a.loading
133
+ }
134
+ }), [
135
+ f("table", {
136
+ style: H(n(q)),
137
+ class: m(n(w).table)
138
+ }, [
139
+ y(j, { "sticky-header": e.stickyHeader }, {
140
+ default: c(() => [
141
+ e.expandable ? (l(), g(T, {
142
+ key: 0,
143
+ width: "48",
144
+ class: "!p-0"
145
+ })) : $("", !0),
146
+ (l(!0), r(k, null, h(e.headers, (t, i) => (l(), g(T, {
147
+ key: i,
148
+ "text-align": t.align,
149
+ sort: X(t.value, e.sort),
150
+ sortable: t.sortable,
151
+ width: t.width,
152
+ onClick: (s) => t.sortable ? F(t) : null
153
+ }, {
154
+ default: c(() => [
155
+ p(e.$slots, `header-${t.value}`, { header: t }, () => [
156
+ I(O(t.text), 1)
157
+ ])
158
+ ]),
159
+ _: 2
160
+ }, 1032, ["text-align", "sort", "sortable", "width", "onClick"]))), 128))
161
+ ]),
162
+ _: 3
163
+ }, 8, ["sticky-header"]),
164
+ y(n(ee), null, {
165
+ default: c(() => [
166
+ e.loading ? (l(!0), r(k, { key: 0 }, h(Number(e.loadingLines), (t, i) => (l(), g(z, {
167
+ key: i,
168
+ striped: e.striped
169
+ }, {
170
+ default: c(() => [
171
+ (l(!0), r(k, null, h(e.headers, (s, d) => (l(), g(_, {
172
+ key: d,
173
+ "text-align": s.align,
174
+ width: s.width,
175
+ dense: e.dense,
176
+ fixed: e.fixed
177
+ }, {
178
+ default: c(() => [
179
+ p(e.$slots, `loading-${s.value}`, { item: t }, () => [
180
+ y(se, {
181
+ class: m(["max-w-[60%]", {
182
+ "mx-auto": s.align === "center",
183
+ "ml-auto": s.align === "right"
184
+ }]),
185
+ shape: s.skeletonShape || "line"
186
+ }, null, 8, ["shape", "class"])
187
+ ])
188
+ ]),
189
+ _: 2
190
+ }, 1032, ["text-align", "width", "dense", "fixed"]))), 128))
191
+ ]),
192
+ _: 2
193
+ }, 1032, ["striped"]))), 128)) : e.error ? (l(), r("tr", ie, [
194
+ f("td", ae, [
195
+ p(e.$slots, "error")
196
+ ])
197
+ ])) : !b.value || b.value.length === 0 ? (l(), r("tr", re, [
198
+ f("td", ne, [
199
+ p(e.$slots, "empty")
130
200
  ])
131
- ]),
132
- _: 2
133
- }, 1032, ["sticky-header", "text-align", "sort", "sortable", "width", "onClick"]))), 128))
134
- ]),
135
- _: 3
136
- }),
137
- y(c(q), null, {
138
- default: p(() => [
139
- e.loading ? (n(!0), r(g, { key: 0 }, v(Number(e.loadingLines), (t, l) => (n(), k(z, {
140
- key: l,
141
- striped: e.striped
142
- }, {
143
- default: p(() => [
144
- (n(!0), r(g, null, v(e.headers, (s, a) => (n(), k(_, {
145
- key: a,
146
- "text-align": s.align,
147
- width: s.width,
148
- dense: e.dense,
149
- fixed: e.fixed
150
- }, {
151
- default: p(() => [
152
- u(e.$slots, `loading-${s.value}`, { item: t }, () => [
153
- y(G, {
154
- class: d(["max-w-[60%]", {
155
- "mx-auto": s.align === "center",
156
- "ml-auto": s.align === "right"
157
- }]),
158
- shape: s.skeletonShape || "line"
159
- }, null, 8, ["shape", "class"])
201
+ ])) : (l(!0), r(k, { key: 3 }, h(n(M), (t, i) => {
202
+ var s, d;
203
+ return l(), r(k, { key: i }, [
204
+ y(z, {
205
+ pointer: e.pointer,
206
+ striped: e.striped,
207
+ selected: V.value ? L.value === t.index : void 0,
208
+ onClick: (u) => e.$emit("click-row", t.data, t.index)
209
+ }, {
210
+ default: c(() => [
211
+ e.expandable ? (l(), g(_, {
212
+ key: 0,
213
+ width: "48",
214
+ class: "!p-1"
215
+ }, {
216
+ default: c(() => {
217
+ var u;
218
+ return [
219
+ f("button", {
220
+ type: "button",
221
+ class: m(["px-3 p-2", [e.dense ? "p-0.5" : "px-3 py-2"]]),
222
+ onClick: (x) => v.value[t.index].__expanded = !v.value[t.index].__expanded
223
+ }, [
224
+ y(le, {
225
+ icon: n(oe),
226
+ size: e.dense ? "xs" : "md",
227
+ class: m(["transition-transform", {
228
+ "rotate-180": (u = v.value[t.index]) == null ? void 0 : u.__expanded
229
+ }])
230
+ }, null, 8, ["icon", "size", "class"])
231
+ ], 10, de)
232
+ ];
233
+ }),
234
+ _: 2
235
+ }, 1024)) : $("", !0),
236
+ (l(!0), r(k, null, h(e.headers, (u, x) => (l(), g(_, {
237
+ key: x,
238
+ "text-align": u.align,
239
+ truncate: u.truncate,
240
+ width: u.width,
241
+ dense: e.dense,
242
+ style: H([a.virtualList ? {
243
+ height: `${a.virtualListItemHeight}px`,
244
+ maxHeight: `${a.virtualListItemHeight}px`,
245
+ overflow: "hidden",
246
+ whiteSpace: "nowrap"
247
+ } : {}])
248
+ }, {
249
+ default: c(() => [
250
+ p(e.$slots, `item-${u.value}`, {
251
+ item: t.data
252
+ }, () => [
253
+ I(O(W(t.data, u.value)), 1)
254
+ ])
255
+ ]),
256
+ _: 2
257
+ }, 1032, ["text-align", "truncate", "width", "dense", "style"]))), 128))
258
+ ]),
259
+ _: 2
260
+ }, 1032, ["pointer", "striped", "selected", "onClick"]),
261
+ e.expandable ? (l(), r("tr", {
262
+ key: 0,
263
+ class: m({ hidden: !((s = v.value[t.index]) != null && s.__expanded) })
264
+ }, [
265
+ f("td", ue, [
266
+ f("div", {
267
+ class: m(["overflow-hidden transition-opacity", [(d = v.value[t.index]) != null && d.__expanded ? "" : "opacity-0 max-h-0"]])
268
+ }, [
269
+ p(e.$slots, "expanded-row", {
270
+ item: t.data
271
+ })
272
+ ], 2)
160
273
  ])
161
- ]),
162
- _: 2
163
- }, 1032, ["text-align", "width", "dense", "fixed"]))), 128))
164
- ]),
165
- _: 2
166
- }, 1032, ["striped"]))), 128)) : e.error ? (n(), r("tr", Q, [
167
- m("td", R, [
168
- u(e.$slots, "error")
169
- ])
170
- ])) : !$.items || $.items.length === 0 ? (n(), r("tr", U, [
171
- m("td", Y, [
172
- u(e.$slots, "empty")
173
- ])
174
- ])) : (n(!0), r(g, { key: 3 }, v($.items, (t, l) => {
175
- var s, a;
176
- return n(), r(g, { key: l }, [
177
- y(z, {
178
- pointer: e.pointer,
179
- striped: e.striped,
180
- onClick: (i) => e.$emit("click-row", t)
181
- }, {
182
- default: p(() => [
183
- e.expandable ? (n(), k(_, {
184
- key: 0,
185
- width: "48",
186
- class: "!p-1"
187
- }, {
188
- default: p(() => {
189
- var i;
190
- return [
191
- m("button", {
192
- type: "button",
193
- class: d(["px-3 p-2", [e.dense ? "p-0.5" : "px-3 py-2"]]),
194
- onClick: (B) => f.value[l].__expanded = !f.value[l].__expanded
195
- }, [
196
- y(K, {
197
- icon: c(M),
198
- size: e.dense ? "xs" : "md",
199
- class: d(["transition-transform", {
200
- "rotate-180": (i = f.value[l]) == null ? void 0 : i.__expanded
201
- }])
202
- }, null, 8, ["icon", "size", "class"])
203
- ], 10, Z)
204
- ];
205
- }),
206
- _: 2
207
- }, 1024)) : h("", !0),
208
- (n(!0), r(g, null, v(e.headers, (i, B) => (n(), k(_, {
209
- key: B,
210
- "text-align": i.align,
211
- truncate: i.truncate,
212
- width: i.width,
213
- dense: e.dense,
214
- fixed: e.fixed
215
- }, {
216
- default: p(() => [
217
- u(e.$slots, `item-${i.value}`, { item: t }, () => [
218
- C(N(L(t, i.value)), 1)
219
- ])
220
- ]),
221
- _: 2
222
- }, 1032, ["text-align", "truncate", "width", "dense", "fixed"]))), 128))
223
- ]),
224
- _: 2
225
- }, 1032, ["pointer", "striped", "onClick"]),
226
- e.expandable ? (n(), r("tr", {
227
- key: 0,
228
- class: d({ hidden: !((s = f.value[l]) != null && s.__expanded) })
229
- }, [
230
- m("td", j, [
231
- m("div", {
232
- class: d(["overflow-hidden transition-opacity", [(a = f.value[l]) != null && a.__expanded ? "" : "opacity-0 max-h-0"]])
233
- }, [
234
- u(e.$slots, "expanded-row", { item: t })
235
- ], 2)
236
- ])
237
- ], 2)) : h("", !0)
238
- ], 64);
239
- }), 128))
240
- ]),
241
- _: 3
242
- }),
243
- e.loading ? (n(), r("div", {
244
- key: 0,
245
- class: d(c(w).loadingWrapper)
246
- }, [
247
- y(x, { size: "lg" })
248
- ], 2)) : h("", !0)
249
- ], 6)
250
- ], 2));
274
+ ], 2)) : $("", !0)
275
+ ], 64);
276
+ }), 128))
277
+ ]),
278
+ _: 3
279
+ }),
280
+ e.loading ? (l(), r("div", {
281
+ key: 0,
282
+ class: m(n(w).loadingWrapper)
283
+ }, [
284
+ y(te, { size: "lg" })
285
+ ], 2)) : $("", !0)
286
+ ], 6)
287
+ ], 16)
288
+ ], 16));
251
289
  }
252
290
  });
253
291
  export {
254
- fe as default
292
+ Le as default
255
293
  };
@@ -1,2 +1,2 @@
1
- declare const _default: import("vue").DefineComponent<{}, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>;
1
+ declare const _default: import("vue").DefineComponent<{}, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
2
  export default _default;
@@ -24,7 +24,7 @@ export type TableCellProps = ExtractPublicPropTypes<typeof tableCellProps>;
24
24
  type InternalClasses = 'wrapper';
25
25
  export interface TableCellTheme extends ThemeComponent<TableCellProps, InternalClasses> {
26
26
  }
27
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
27
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
28
28
  textAlign: {
29
29
  type: PropType<"left" | "right" | "center" | "justify" | null>;
30
30
  validator: (value: string) => boolean;
@@ -37,7 +37,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
37
37
  default: string;
38
38
  validator: (value: string) => boolean;
39
39
  };
40
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
40
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
41
41
  textAlign: {
42
42
  type: PropType<"left" | "right" | "center" | "justify" | null>;
43
43
  validator: (value: string) => boolean;
@@ -50,11 +50,11 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
50
50
  default: string;
51
51
  validator: (value: string) => boolean;
52
52
  };
53
- }>>, {
53
+ }>> & Readonly<{}>, {
54
54
  dense: boolean;
55
55
  truncate: boolean;
56
56
  verticalAlign: "top" | "bottom" | "baseline" | "middle" | "text-bottom" | "text-top" | null;
57
- }, {}>, {
57
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
58
58
  default?(_: {}): any;
59
59
  }>;
60
60
  export default _default;
@@ -1,11 +1,19 @@
1
1
  import type { ExtractPublicPropTypes } from 'vue';
2
2
  import { type ThemeComponent } from '../../composables/useTheme';
3
- declare const tableHeadProps: {};
3
+ declare const tableHeadProps: {
4
+ stickyHeader: BooleanConstructor;
5
+ };
4
6
  export type TableHeadProps = ExtractPublicPropTypes<typeof tableHeadProps>;
5
7
  type InternalClasses = 'thead' | 'row';
6
8
  export interface TableHeadTheme extends ThemeComponent<TableHeadProps, InternalClasses> {
7
9
  }
8
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>>, {}, {}>, {
10
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
11
+ stickyHeader: BooleanConstructor;
12
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
13
+ stickyHeader: BooleanConstructor;
14
+ }>> & Readonly<{}>, {
15
+ stickyHeader: boolean;
16
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
9
17
  default?(_: {}): any;
10
18
  }>;
11
19
  export default _default;
@@ -1,21 +1,24 @@
1
- import { defineComponent as r, openBlock as n, createElementBlock as c, normalizeClass as s, unref as e, normalizeStyle as m, createElementVNode as d, renderSlot as _ } from "vue";
2
- import { useTheme as f } from "../../composables/useTheme.js";
3
- const p = { name: "XTableHead" }, T = /* @__PURE__ */ r({
4
- ...p,
5
- setup(u) {
6
- const { styles: a, classes: t, className: l } = f("TableHead", {}, {});
7
- return (o, i) => (n(), c("thead", {
8
- class: s([e(l), e(t).thead]),
9
- style: m(e(a))
1
+ import { defineComponent as c, openBlock as m, createElementBlock as d, normalizeClass as t, unref as e, normalizeStyle as p, createElementVNode as f, renderSlot as u } from "vue";
2
+ import { useTheme as i } from "../../composables/useTheme.js";
3
+ const _ = {
4
+ stickyHeader: Boolean
5
+ }, h = { name: "XTableHead" }, k = /* @__PURE__ */ c({
6
+ ...h,
7
+ props: _,
8
+ setup(a) {
9
+ const o = a, { styles: l, classes: s, className: r } = i("TableHead", {}, o);
10
+ return (n, y) => (m(), d("thead", {
11
+ class: t([e(r), e(s).thead]),
12
+ style: p(e(l))
10
13
  }, [
11
- d("tr", {
12
- class: s(e(t).row)
14
+ f("tr", {
15
+ class: t(e(s).row)
13
16
  }, [
14
- _(o.$slots, "default")
17
+ u(n.$slots, "default")
15
18
  ], 2)
16
19
  ], 6));
17
20
  }
18
21
  });
19
22
  export {
20
- T as default
23
+ k as default
21
24
  };
@@ -15,7 +15,6 @@ declare const tableHeaderProps: {
15
15
  default: string;
16
16
  validator: (value: string) => boolean;
17
17
  };
18
- stickyHeader: BooleanConstructor;
19
18
  };
20
19
  export type TableHeaderSort = typeof validators.sort[number];
21
20
  export type TableHeaderAlign = typeof validators.textAlign[number];
@@ -23,7 +22,7 @@ export type TableHeaderProps = ExtractPublicPropTypes<typeof tableHeaderProps>;
23
22
  type InternalClasses = 'th' | 'sortIcon';
24
23
  export interface TableHeaderTheme extends ThemeComponent<TableHeaderProps, InternalClasses> {
25
24
  }
26
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
25
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<import("vue").ExtractPropTypes<{
27
26
  sort: {
28
27
  type: PropType<1 | -1 | undefined>;
29
28
  validator: (value: number) => boolean;
@@ -34,8 +33,7 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
34
33
  default: string;
35
34
  validator: (value: string) => boolean;
36
35
  };
37
- stickyHeader: BooleanConstructor;
38
- }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
36
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
39
37
  sort: {
40
38
  type: PropType<1 | -1 | undefined>;
41
39
  validator: (value: number) => boolean;
@@ -46,12 +44,10 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
46
44
  default: string;
47
45
  validator: (value: string) => boolean;
48
46
  };
49
- stickyHeader: BooleanConstructor;
50
- }>>, {
51
- stickyHeader: boolean;
47
+ }>> & Readonly<{}>, {
52
48
  textAlign: "left" | "right" | "center" | "justify";
53
49
  sortable: boolean;
54
- }, {}>, {
50
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, {
55
51
  default?(_: {}): any;
56
52
  }>;
57
53
  export default _default;