@robuust-digital/vue-components 2.5.0 → 2.6.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.
- package/CHANGELOG.md +20 -0
- package/dist/_shared/{Tabs.vue_vue_type_script_setup_true_lang-B0RIqYLz.js → Tabs.vue_vue_type_script_setup_true_lang-CLF0EEY-.js} +49 -40
- package/dist/core/index.js +1 -1
- package/dist/core.d.ts +3 -0
- package/dist/index/index.js +1 -1
- package/dist/index.d.ts +3 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
## 2.6.1 (14-04-2026)
|
|
2
|
+
|
|
3
|
+
### Fixed
|
|
4
|
+
|
|
5
|
+
* `DataTable`: Move the `tbody` slot to a body-level override so consumers can render a custom `<tbody>` without nested `<tbody>` markup
|
|
6
|
+
|
|
7
|
+
### Updated
|
|
8
|
+
|
|
9
|
+
* `DataTable` docs: Clarified that `#tbody` should return valid body markup (typically `<tbody>...</tbody>`)
|
|
10
|
+
|
|
11
|
+
## 2.6.0 (14-04-2026)
|
|
12
|
+
|
|
13
|
+
### Added
|
|
14
|
+
|
|
15
|
+
* `DataTable`: Added optional `tbody` slot (`#tbody="{ items }"`) for full loaded-state tbody customization
|
|
16
|
+
|
|
17
|
+
### Updated
|
|
18
|
+
|
|
19
|
+
* `DataTable` docs: Documented `tbody` slot and clarified that consumers own row markup when using it
|
|
20
|
+
|
|
1
21
|
## 2.5.0 (14-04-2026)
|
|
2
22
|
|
|
3
23
|
### Added
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { openBlock as l, createElementBlock as n, createElementVNode as u, defineComponent as w, Fragment as k, renderList as V, renderSlot as c, createTextVNode as
|
|
1
|
+
import { openBlock as l, createElementBlock as n, createElementVNode as u, defineComponent as w, Fragment as k, renderList as V, renderSlot as c, createTextVNode as S, toDisplayString as g, createVNode as I, unref as h, normalizeClass as p, createBlock as C, resolveDynamicComponent as P, withCtx as O, createCommentVNode as $, computed as B, useAttrs as A, ref as x, withDirectives as M, mergeProps as y, vModelDynamic as F, normalizeProps as j, guardReactiveProps as E, vModelSelect as H, vModelText as D } from "vue";
|
|
2
2
|
import { r as R } from "./XMarkIcon-CPr_Rd8y.js";
|
|
3
3
|
import { u as T } from "./FormInput.vue_vue_type_script_setup_true_lang-Bg7YPGyY.js";
|
|
4
4
|
import { S as U } from "./icon-spinner-BYCMrTdL.js";
|
|
@@ -53,7 +53,7 @@ const G = { class: "rvc-accordion" }, J = ["open", "name"], Q = ["innerHTML"], M
|
|
|
53
53
|
item: f,
|
|
54
54
|
index: s
|
|
55
55
|
}, () => [
|
|
56
|
-
|
|
56
|
+
S(g(f.title) + " ", 1),
|
|
57
57
|
c(r.$slots, "icon", { classList: "rvc-accordion-icon" }, () => [
|
|
58
58
|
I(h(q), { class: "rvc-accordion-icon" })
|
|
59
59
|
])
|
|
@@ -134,7 +134,7 @@ const G = { class: "rvc-accordion" }, J = ["open", "name"], Q = ["innerHTML"], M
|
|
|
134
134
|
}), { hasModelBinding: d } = T(), m = A(), a = B(() => ({
|
|
135
135
|
...m,
|
|
136
136
|
type: "checkbox"
|
|
137
|
-
})), o =
|
|
137
|
+
})), o = x(null);
|
|
138
138
|
return (t, i) => (l(), n("label", {
|
|
139
139
|
class: p(["rvc-checkbox", e.rootClass])
|
|
140
140
|
}, [
|
|
@@ -222,7 +222,7 @@ const ae = ["value"], le = ["value"], N = /* @__PURE__ */ w({
|
|
|
222
222
|
const v = e, f = r, s = B({
|
|
223
223
|
get: () => v.modelValue,
|
|
224
224
|
set: (a) => f("update:modelValue", a)
|
|
225
|
-
}), { hasModelBinding: d } = T(), m =
|
|
225
|
+
}), { hasModelBinding: d } = T(), m = x(null);
|
|
226
226
|
return (a, o) => (l(), n("div", {
|
|
227
227
|
class: p([
|
|
228
228
|
"rvc-select",
|
|
@@ -355,7 +355,7 @@ const ae = ["value"], le = ["value"], N = /* @__PURE__ */ w({
|
|
|
355
355
|
])
|
|
356
356
|
])) : $("", !0);
|
|
357
357
|
}
|
|
358
|
-
}), ve = { key: 0 }, fe = ["aria-label", "onClick"], ge = ["innerHTML"], be = { key:
|
|
358
|
+
}), ve = { key: 0 }, fe = ["aria-label", "onClick"], ge = ["innerHTML"], be = { key: 2 }, me = ["colspan"], pe = { key: 3 }, ye = ["colspan"], $e = { class: "rvc-table-spinner-wrapper" }, he = { key: 4 }, Fe = /* @__PURE__ */ w({
|
|
359
359
|
__name: "DataTable",
|
|
360
360
|
props: {
|
|
361
361
|
headers: { default: () => [] },
|
|
@@ -376,7 +376,7 @@ const ae = ["value"], le = ["value"], N = /* @__PURE__ */ w({
|
|
|
376
376
|
},
|
|
377
377
|
emits: ["table:sortBy", "pagination:change", "pagination:perPage"],
|
|
378
378
|
setup(e, { emit: r }) {
|
|
379
|
-
const v = e, f = r, s =
|
|
379
|
+
const v = e, f = r, s = x(v.defaultSort), d = (a) => v.headers.find((o) => o.key === a), m = (a) => {
|
|
380
380
|
a.key && (!s.value || s.value.key !== a.key ? s.value = {
|
|
381
381
|
key: a.key,
|
|
382
382
|
direction: "asc"
|
|
@@ -424,7 +424,7 @@ const ae = ["value"], le = ["value"], N = /* @__PURE__ */ w({
|
|
|
424
424
|
sortBy: s.value,
|
|
425
425
|
header: t
|
|
426
426
|
}, () => [
|
|
427
|
-
|
|
427
|
+
S(g(t.label), 1)
|
|
428
428
|
]),
|
|
429
429
|
I(h(_), {
|
|
430
430
|
class: p([
|
|
@@ -441,45 +441,54 @@ const ae = ["value"], le = ["value"], N = /* @__PURE__ */ w({
|
|
|
441
441
|
sortBy: s.value,
|
|
442
442
|
header: t
|
|
443
443
|
}, () => [
|
|
444
|
-
|
|
444
|
+
S(g(t.label), 1)
|
|
445
445
|
])
|
|
446
446
|
], 16))
|
|
447
447
|
])), 256))
|
|
448
448
|
])
|
|
449
449
|
])
|
|
450
450
|
])) : $("", !0),
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
(l(), n("
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
},
|
|
463
|
-
(
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
451
|
+
e.items.length && !e.spinning ? c(a.$slots, "tbody", {
|
|
452
|
+
key: 1,
|
|
453
|
+
items: e.items
|
|
454
|
+
}, () => [
|
|
455
|
+
u("tbody", null, [
|
|
456
|
+
(l(!0), n(k, null, V(e.items, (t, i) => c(a.$slots, "items", {
|
|
457
|
+
item: t,
|
|
458
|
+
index: i
|
|
459
|
+
}, () => [
|
|
460
|
+
(l(), n("tr", {
|
|
461
|
+
key: `rvc-table-row-${i}-${t.id}`
|
|
462
|
+
}, [
|
|
463
|
+
c(a.$slots, "item", {
|
|
464
|
+
item: t,
|
|
465
|
+
index: i
|
|
466
|
+
}, () => [
|
|
467
|
+
(l(!0), n(k, null, V(t, (b, L) => (l(), n("td", y({
|
|
468
|
+
key: `rvc-table-row-${i}-column-${L}-${t.id}`
|
|
469
|
+
}, { ref_for: !0 }, t.attrs, {
|
|
470
|
+
class: {
|
|
471
|
+
"rvc-table-text-left": d(String(L))?.align === "left" || !d(String(L))?.align,
|
|
472
|
+
"rvc-table-text-center": d(String(L))?.align === "center",
|
|
473
|
+
"rvc-table-text-right": d(String(L))?.align === "right"
|
|
474
|
+
},
|
|
475
|
+
innerHTML: b
|
|
476
|
+
}), null, 16, ge))), 128))
|
|
477
|
+
])
|
|
478
|
+
]))
|
|
479
|
+
])), 256))
|
|
480
|
+
])
|
|
481
|
+
]) : !e.items.length && !e.spinning ? (l(), n("tbody", be, [
|
|
482
|
+
u("tr", null, [
|
|
476
483
|
u("td", {
|
|
477
484
|
colspan: e.headers.length,
|
|
478
485
|
class: "rvc-table-state"
|
|
479
486
|
}, [
|
|
480
487
|
u("p", null, g(e.noResultsText), 1)
|
|
481
488
|
], 8, me)
|
|
482
|
-
])
|
|
489
|
+
])
|
|
490
|
+
])) : (l(), n("tbody", pe, [
|
|
491
|
+
u("tr", null, [
|
|
483
492
|
u("td", {
|
|
484
493
|
colspan: e.headers.length,
|
|
485
494
|
class: "rvc-table-state"
|
|
@@ -494,12 +503,12 @@ const ae = ["value"], le = ["value"], N = /* @__PURE__ */ w({
|
|
|
494
503
|
"aria-hidden": "true",
|
|
495
504
|
class: "rvc-table-spinner"
|
|
496
505
|
})) : $("", !0),
|
|
497
|
-
|
|
506
|
+
S(" " + g(e.loadingText), 1)
|
|
498
507
|
])
|
|
499
508
|
])
|
|
500
509
|
], 8, ye)
|
|
501
|
-
])
|
|
502
|
-
]),
|
|
510
|
+
])
|
|
511
|
+
])),
|
|
503
512
|
a.$slots.footer ? (l(), n("tfoot", he, [
|
|
504
513
|
c(a.$slots, "footer", {
|
|
505
514
|
headers: e.headers,
|
|
@@ -553,7 +562,7 @@ const ae = ["value"], le = ["value"], N = /* @__PURE__ */ w({
|
|
|
553
562
|
},
|
|
554
563
|
emits: ["update:modelValue"],
|
|
555
564
|
setup(e, { emit: r }) {
|
|
556
|
-
const v = e, f = r, { hasModelBinding: s } = T(), d =
|
|
565
|
+
const v = e, f = r, { hasModelBinding: s } = T(), d = x(null), m = B({
|
|
557
566
|
get: () => v.modelValue,
|
|
558
567
|
set: (o) => f("update:modelValue", o)
|
|
559
568
|
}), a = B(() => [
|
|
@@ -591,7 +600,7 @@ const ae = ["value"], le = ["value"], N = /* @__PURE__ */ w({
|
|
|
591
600
|
}), { hasModelBinding: d } = T(), m = A(), a = B(() => ({
|
|
592
601
|
...m,
|
|
593
602
|
type: "radio"
|
|
594
|
-
})), o =
|
|
603
|
+
})), o = x(null);
|
|
595
604
|
return (t, i) => (l(), n("label", {
|
|
596
605
|
class: p(["rvc-radio", e.rootClass])
|
|
597
606
|
}, [
|
|
@@ -659,7 +668,7 @@ const ae = ["value"], le = ["value"], N = /* @__PURE__ */ w({
|
|
|
659
668
|
onClick: (L) => d.value = b
|
|
660
669
|
}), {
|
|
661
670
|
default: O(() => [
|
|
662
|
-
|
|
671
|
+
S(g(i.name), 1)
|
|
663
672
|
]),
|
|
664
673
|
_: 2
|
|
665
674
|
}, 1040, ["as", "class", "onClick"]))), 128))
|
package/dist/core/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as e, a as s, b as t, c as r, d as m, e as p, f as x, g as c, h as f, i } from "../_shared/Tabs.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
import { _ as e, a as s, b as t, c as r, d as m, e as p, f as x, g as c, h as f, i } from "../_shared/Tabs.vue_vue_type_script_setup_true_lang-CLF0EEY-.js";
|
|
2
2
|
import { _ as b } from "../_shared/ChevronDownIcon-BYWciGnh.js";
|
|
3
3
|
import { _ } from "../_shared/ButtonBase.vue_vue_type_script_setup_true_lang-ZYVNEyNx.js";
|
|
4
4
|
import { _ as l } from "../_shared/FormInput.vue_vue_type_script_setup_true_lang-Bg7YPGyY.js";
|
package/dist/core.d.ts
CHANGED
package/dist/index/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as r, a as t, b as e, c as s, d as m, e as p, f as x, g as f, h as _, i } from "../_shared/Tabs.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
import { _ as r, a as t, b as e, c as s, d as m, e as p, f as x, g as f, h as _, i } from "../_shared/Tabs.vue_vue_type_script_setup_true_lang-CLF0EEY-.js";
|
|
2
2
|
import { _ as d } from "../_shared/ChevronDownIcon-BYWciGnh.js";
|
|
3
3
|
import { _ as n } from "../_shared/ButtonBase.vue_vue_type_script_setup_true_lang-ZYVNEyNx.js";
|
|
4
4
|
import { _ as h } from "../_shared/FormInput.vue_vue_type_script_setup_true_lang-Bg7YPGyY.js";
|
package/dist/index.d.ts
CHANGED