@robuust-digital/vue-components 2.5.0-beta.4 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,18 +1,18 @@
1
- import { openBlock as o, createElementBlock as r, createElementVNode as s, defineComponent as L, ref as p, useAttrs as $, computed as x, watch as B, Fragment as C, createVNode as v, withCtx as A, renderSlot as _, normalizeClass as M, unref as f, renderList as y, createBlock as E, resolveDynamicComponent as S, createCommentVNode as U } from "vue";
2
- import { useEditor as N, EditorContent as O } from "@tiptap/vue-3";
3
- import T from "@tiptap/starter-kit";
1
+ import { openBlock as s, createElementBlock as r, createElementVNode as o, defineComponent as $, ref as h, useAttrs as B, computed as x, watch as y, Fragment as C, createVNode as v, withCtx as A, renderSlot as _, normalizeClass as M, unref as f, renderList as E, createBlock as S, resolveDynamicComponent as O, createCommentVNode as U } from "vue";
2
+ import { useEditor as N, EditorContent as T } from "@tiptap/vue-3";
3
+ import j from "@tiptap/starter-kit";
4
4
  import { _ as z } from "./Tooltip.vue_vue_type_script_setup_true_lang-B3MHy48T.js";
5
5
  import { _ as D } from "./FormInput.vue_vue_type_script_setup_true_lang-Bg7YPGyY.js";
6
- import { _ as I } from "./Modal.vue_vue_type_script_setup_true_lang-CB0Gez7v.js";
6
+ import { _ as I } from "./Modal.vue_vue_type_script_setup_true_lang-MN3D46CX.js";
7
7
  function q(n, c) {
8
- return o(), r("svg", {
8
+ return s(), r("svg", {
9
9
  xmlns: "http://www.w3.org/2000/svg",
10
10
  viewBox: "0 0 16 16",
11
11
  fill: "currentColor",
12
12
  "aria-hidden": "true",
13
13
  "data-slot": "icon"
14
14
  }, [
15
- s("path", {
15
+ o("path", {
16
16
  "fill-rule": "evenodd",
17
17
  d: "M3 3a1 1 0 0 1 1-1h5a3.5 3.5 0 0 1 2.843 5.541A3.75 3.75 0 0 1 9.25 14H4a1 1 0 0 1-1-1V3Zm2.5 3.5v-2H9a1 1 0 0 1 0 2H5.5Zm0 2.5v2.5h3.75a1.25 1.25 0 1 0 0-2.5H5.5Z",
18
18
  "clip-rule": "evenodd"
@@ -20,14 +20,14 @@ function q(n, c) {
20
20
  ]);
21
21
  }
22
22
  function F(n, c) {
23
- return o(), r("svg", {
23
+ return s(), r("svg", {
24
24
  xmlns: "http://www.w3.org/2000/svg",
25
25
  viewBox: "0 0 16 16",
26
26
  fill: "currentColor",
27
27
  "aria-hidden": "true",
28
28
  "data-slot": "icon"
29
29
  }, [
30
- s("path", {
30
+ o("path", {
31
31
  "fill-rule": "evenodd",
32
32
  d: "M6.25 2.75A.75.75 0 0 1 7 2h6a.75.75 0 0 1 0 1.5h-2.483l-3.429 9H9A.75.75 0 0 1 9 14H3a.75.75 0 0 1 0-1.5h2.483l3.429-9H7a.75.75 0 0 1-.75-.75Z",
33
33
  "clip-rule": "evenodd"
@@ -35,19 +35,19 @@ function F(n, c) {
35
35
  ]);
36
36
  }
37
37
  function K(n, c) {
38
- return o(), r("svg", {
38
+ return s(), r("svg", {
39
39
  xmlns: "http://www.w3.org/2000/svg",
40
40
  viewBox: "0 0 16 16",
41
41
  fill: "currentColor",
42
42
  "aria-hidden": "true",
43
43
  "data-slot": "icon"
44
44
  }, [
45
- s("path", {
45
+ o("path", {
46
46
  "fill-rule": "evenodd",
47
47
  d: "M8.914 6.025a.75.75 0 0 1 1.06 0 3.5 3.5 0 0 1 0 4.95l-2 2a3.5 3.5 0 0 1-5.396-4.402.75.75 0 0 1 1.251.827 2 2 0 0 0 3.085 2.514l2-2a2 2 0 0 0 0-2.828.75.75 0 0 1 0-1.06Z",
48
48
  "clip-rule": "evenodd"
49
49
  }),
50
- s("path", {
50
+ o("path", {
51
51
  "fill-rule": "evenodd",
52
52
  d: "M7.086 9.975a.75.75 0 0 1-1.06 0 3.5 3.5 0 0 1 0-4.95l2-2a3.5 3.5 0 0 1 5.396 4.402.75.75 0 0 1-1.251-.827 2 2 0 0 0-3.085-2.514l-2 2a2 2 0 0 0 0 2.828.75.75 0 0 1 0 1.06Z",
53
53
  "clip-rule": "evenodd"
@@ -55,28 +55,28 @@ function K(n, c) {
55
55
  ]);
56
56
  }
57
57
  function P(n, c) {
58
- return o(), r("svg", {
58
+ return s(), r("svg", {
59
59
  xmlns: "http://www.w3.org/2000/svg",
60
60
  viewBox: "0 0 16 16",
61
61
  fill: "currentColor",
62
62
  "aria-hidden": "true",
63
63
  "data-slot": "icon"
64
64
  }, [
65
- s("path", { d: "M3 4.75a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM6.25 3a.75.75 0 0 0 0 1.5h7a.75.75 0 0 0 0-1.5h-7ZM6.25 7.25a.75.75 0 0 0 0 1.5h7a.75.75 0 0 0 0-1.5h-7ZM6.25 11.5a.75.75 0 0 0 0 1.5h7a.75.75 0 0 0 0-1.5h-7ZM4 12.25a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM3 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z" })
65
+ o("path", { d: "M3 4.75a1 1 0 1 0 0-2 1 1 0 0 0 0 2ZM6.25 3a.75.75 0 0 0 0 1.5h7a.75.75 0 0 0 0-1.5h-7ZM6.25 7.25a.75.75 0 0 0 0 1.5h7a.75.75 0 0 0 0-1.5h-7ZM6.25 11.5a.75.75 0 0 0 0 1.5h7a.75.75 0 0 0 0-1.5h-7ZM4 12.25a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM3 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z" })
66
66
  ]);
67
67
  }
68
68
  function R(n, c) {
69
- return o(), r("svg", {
69
+ return s(), r("svg", {
70
70
  xmlns: "http://www.w3.org/2000/svg",
71
71
  viewBox: "0 0 16 16",
72
72
  fill: "currentColor",
73
73
  "aria-hidden": "true",
74
74
  "data-slot": "icon"
75
75
  }, [
76
- s("path", { d: "M2.995 1a.625.625 0 1 0 0 1.25h.38v2.125a.625.625 0 1 0 1.25 0v-2.75A.625.625 0 0 0 4 1H2.995ZM3.208 7.385a2.37 2.37 0 0 1 1.027-.124L2.573 8.923a.625.625 0 0 0 .439 1.067l1.987.011a.625.625 0 0 0 .006-1.25l-.49-.003.777-.776c.215-.215.335-.506.335-.809 0-.465-.297-.957-.842-1.078a3.636 3.636 0 0 0-1.993.121.625.625 0 1 0 .416 1.179ZM2.625 11a.625.625 0 1 0 0 1.25H4.25a.125.125 0 0 1 0 .25H3.5a.625.625 0 1 0 0 1.25h.75a.125.125 0 0 1 0 .25H2.625a.625.625 0 1 0 0 1.25H4.25a1.375 1.375 0 0 0 1.153-2.125A1.375 1.375 0 0 0 4.25 11H2.625ZM7.25 2a.75.75 0 0 0 0 1.5h6a.75.75 0 0 0 0-1.5h-6ZM7.25 7.25a.75.75 0 0 0 0 1.5h6a.75.75 0 0 0 0-1.5h-6ZM6.5 13.25a.75.75 0 0 1 .75-.75h6a.75.75 0 0 1 0 1.5h-6a.75.75 0 0 1-.75-.75Z" })
76
+ o("path", { d: "M2.995 1a.625.625 0 1 0 0 1.25h.38v2.125a.625.625 0 1 0 1.25 0v-2.75A.625.625 0 0 0 4 1H2.995ZM3.208 7.385a2.37 2.37 0 0 1 1.027-.124L2.573 8.923a.625.625 0 0 0 .439 1.067l1.987.011a.625.625 0 0 0 .006-1.25l-.49-.003.777-.776c.215-.215.335-.506.335-.809 0-.465-.297-.957-.842-1.078a3.636 3.636 0 0 0-1.993.121.625.625 0 1 0 .416 1.179ZM2.625 11a.625.625 0 1 0 0 1.25H4.25a.125.125 0 0 1 0 .25H3.5a.625.625 0 1 0 0 1.25h.75a.125.125 0 0 1 0 .25H2.625a.625.625 0 1 0 0 1.25H4.25a1.375 1.375 0 0 0 1.153-2.125A1.375 1.375 0 0 0 4.25 11H2.625ZM7.25 2a.75.75 0 0 0 0 1.5h6a.75.75 0 0 0 0-1.5h-6ZM7.25 7.25a.75.75 0 0 0 0 1.5h6a.75.75 0 0 0 0-1.5h-6ZM6.5 13.25a.75.75 0 0 1 .75-.75h6a.75.75 0 0 1 0 1.5h-6a.75.75 0 0 1-.75-.75Z" })
77
77
  ]);
78
78
  }
79
- const j = { class: "rvc-rich-text-toolbar" }, G = ["disabled", "aria-label", "onClick"], te = /* @__PURE__ */ L({
79
+ const G = { class: "rvc-rich-text-toolbar" }, J = ["disabled", "aria-label", "onClick"], le = /* @__PURE__ */ $({
80
80
  inheritAttrs: !1,
81
81
  __name: "RichTextEditor",
82
82
  props: {
@@ -90,16 +90,20 @@ const j = { class: "rvc-rich-text-toolbar" }, G = ["disabled", "aria-label", "on
90
90
  },
91
91
  emits: ["update:modelValue", "tiptap:onCreate"],
92
92
  setup(n, { emit: c }) {
93
- const a = n, b = c, w = p(!1), u = p(!1), d = p(""), m = $(), k = m.class ? `${m.class} ` : "", V = T.configure({
93
+ const a = n, b = c, g = h(!1), u = h(!1), d = h(""), m = B(), k = m.class ? `${m.class} ` : "", V = Object.fromEntries(
94
+ Object.entries(m).filter(
95
+ (l) => l[0] !== "class" && typeof l[1] == "string"
96
+ )
97
+ ), Z = j.configure({
94
98
  link: {
95
99
  openOnClick: !1
96
100
  }
97
101
  }), e = N({
98
- extensions: [V, ...a.customExtensions],
102
+ extensions: [Z, ...a.customExtensions],
99
103
  content: a.modelValue,
100
104
  editorProps: {
101
105
  attributes: {
102
- ...m,
106
+ ...V,
103
107
  id: a.id,
104
108
  class: `${k}rvc-textarea rvc-rich-text-textarea`
105
109
  }
@@ -112,9 +116,9 @@ const j = { class: "rvc-rich-text-toolbar" }, G = ["disabled", "aria-label", "on
112
116
  b("update:modelValue", i);
113
117
  },
114
118
  onSelectionUpdate({ editor: l }) {
115
- w.value = !l.view.state.selection.empty;
119
+ g.value = !l.view.state.selection.empty;
116
120
  }
117
- }), Z = x(() => [
121
+ }), H = x(() => [
118
122
  {
119
123
  name: "bold",
120
124
  icon: q,
@@ -152,40 +156,40 @@ const j = { class: "rvc-rich-text-toolbar" }, G = ["disabled", "aria-label", "on
152
156
  icon: K,
153
157
  title: "Hyperlink",
154
158
  isVisible: a.config === "default",
155
- disabled: !w.value && !(e.value?.isActive("link") ?? !1),
159
+ disabled: !g.value && !(e.value?.isActive("link") ?? !1),
156
160
  isActive: () => e.value?.isActive("link") ?? !1,
157
161
  action: () => {
158
162
  d.value = e.value?.getAttributes("link").href || "", u.value = !0;
159
163
  }
160
164
  }
161
- ]), g = x(() => {
162
- const l = Z.value.filter((t) => a.config === "default" || ["bold", "italic"].includes(t.name)), i = a.customCommands.map((t) => {
163
- let h = !1;
164
- return typeof t.disabled == "function" ? h = e.value ? t.disabled(e.value) : !1 : h = t.disabled ?? !1, {
165
+ ]), w = x(() => {
166
+ const l = H.value.filter((t) => a.config === "default" || ["bold", "italic"].includes(t.name)), i = a.customCommands.map((t) => {
167
+ let p = !1;
168
+ return typeof t.disabled == "function" ? p = e.value ? t.disabled(e.value) : !1 : p = t.disabled ?? !1, {
165
169
  ...t,
166
170
  isVisible: t.isVisible ?? !0,
167
- disabled: h,
171
+ disabled: p,
168
172
  isActive: () => t.isActive && e.value ? t.isActive(e.value) : !1,
169
173
  action: () => e.value && t.action(e.value)
170
174
  };
171
175
  });
172
176
  return [...l, ...i];
173
177
  });
174
- B(() => a.modelValue, (l) => {
178
+ y(() => a.modelValue, (l) => {
175
179
  if (!e.value) return;
176
180
  e.value.getHTML() === l || e.value.commands.setContent(l, { emitUpdate: !1 });
177
181
  });
178
- const H = () => {
182
+ const L = () => {
179
183
  e.value && (e.value.commands.setLink({ href: d.value }), u.value = !1, d.value = "");
180
184
  };
181
- return (l, i) => (o(), r(C, null, [
185
+ return (l, i) => (s(), r(C, null, [
182
186
  v(I, {
183
187
  id: `${a.id}-modal-add-hyperlink`,
184
188
  title: "Add Hyperlink",
185
189
  as: "form",
186
190
  show: u.value,
187
191
  "onModal:close": i[1] || (i[1] = (t) => u.value = !1),
188
- "onModal:save": H
192
+ "onModal:save": L
189
193
  }, {
190
194
  default: A(() => [
191
195
  v(D, {
@@ -199,16 +203,16 @@ const j = { class: "rvc-rich-text-toolbar" }, G = ["disabled", "aria-label", "on
199
203
  _: 1
200
204
  }, 8, ["id", "show"]),
201
205
  _(l.$slots, "default"),
202
- s("div", {
206
+ o("div", {
203
207
  class: M(["rvc-rich-text", n.rootClass, { "rvc-rich-text-disabled": n.disabled }])
204
208
  }, [
205
209
  f(e) ? _(l.$slots, "toolbar", {
206
210
  key: 0,
207
- commands: g.value,
211
+ commands: w.value,
208
212
  tiptap: f(e)
209
213
  }, () => [
210
- s("ul", j, [
211
- (o(!0), r(C, null, y(g.value.filter((t) => t.isVisible), (t) => (o(), r("li", {
214
+ o("ul", G, [
215
+ (s(!0), r(C, null, E(w.value.filter((t) => t.isVisible), (t) => (s(), r("li", {
212
216
  key: `toolbar-item-command-${t.name}`
213
217
  }, [
214
218
  v(z, {
@@ -218,26 +222,26 @@ const j = { class: "rvc-rich-text-toolbar" }, G = ["disabled", "aria-label", "on
218
222
  class: "rvc-rich-text-tooltip"
219
223
  }, {
220
224
  default: A(() => [
221
- s("button", {
225
+ o("button", {
222
226
  disabled: t.disabled,
223
227
  type: "button",
224
228
  "aria-label": t.title,
225
229
  class: M([{ "rvc-rich-text-button-active": t.isActive() }, "rvc-rich-text-button"]),
226
230
  onClick: t.action
227
231
  }, [
228
- (o(), E(S(t.icon)))
229
- ], 10, G)
232
+ (s(), S(O(t.icon)))
233
+ ], 10, J)
230
234
  ]),
231
235
  _: 2
232
236
  }, 1032, ["content"])
233
237
  ]))), 128))
234
238
  ])
235
239
  ]) : U("", !0),
236
- v(f(O), { editor: f(e) }, null, 8, ["editor"])
240
+ v(f(T), { editor: f(e) }, null, 8, ["editor"])
237
241
  ], 2)
238
242
  ], 64));
239
243
  }
240
244
  });
241
245
  export {
242
- te as _
246
+ le as _
243
247
  };
@@ -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 x, 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 S, withDirectives as M, mergeProps as y, vModelDynamic as F, normalizeProps as j, guardReactiveProps as E, vModelSelect as H, vModelText as D } from "vue";
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
- x(g(f.title) + " ", 1),
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 = S(null);
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 = S(null);
225
+ }), { hasModelBinding: d } = T(), m = x(null);
226
226
  return (a, o) => (l(), n("div", {
227
227
  class: p([
228
228
  "rvc-select",
@@ -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 = S(v.defaultSort), d = (a) => v.headers.find((o) => o.key === a), m = (a) => {
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
- x(g(t.label), 1)
427
+ S(g(t.label), 1)
428
428
  ]),
429
429
  I(h(_), {
430
430
  class: p([
@@ -441,7 +441,7 @@ const ae = ["value"], le = ["value"], N = /* @__PURE__ */ w({
441
441
  sortBy: s.value,
442
442
  header: t
443
443
  }, () => [
444
- x(g(t.label), 1)
444
+ S(g(t.label), 1)
445
445
  ])
446
446
  ], 16))
447
447
  ])), 256))
@@ -449,30 +449,35 @@ const ae = ["value"], le = ["value"], N = /* @__PURE__ */ w({
449
449
  ])
450
450
  ])) : $("", !0),
451
451
  u("tbody", null, [
452
- e.items.length && !e.spinning ? (l(!0), n(k, { key: 0 }, V(e.items, (t, i) => c(a.$slots, "items", {
453
- item: t,
454
- index: i
452
+ e.items.length && !e.spinning ? c(a.$slots, "tbody", {
453
+ key: 0,
454
+ items: e.items
455
455
  }, () => [
456
- (l(), n("tr", {
457
- key: `rvc-table-row-${i}-${t.id}`
458
- }, [
459
- c(a.$slots, "item", {
460
- item: t,
461
- index: i
462
- }, () => [
463
- (l(!0), n(k, null, V(t, (b, L) => (l(), n("td", y({
464
- key: `rvc-table-row-${i}-column-${L}-${t.id}`
465
- }, { ref_for: !0 }, t.attrs, {
466
- class: {
467
- "rvc-table-text-left": d(String(L))?.align === "left" || !d(String(L))?.align,
468
- "rvc-table-text-center": d(String(L))?.align === "center",
469
- "rvc-table-text-right": d(String(L))?.align === "right"
470
- },
471
- innerHTML: b
472
- }), null, 16, ge))), 128))
473
- ])
474
- ]))
475
- ])), 256)) : !e.items.length && !e.spinning ? (l(), n("tr", be, [
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
+ ]) : !e.items.length && !e.spinning ? (l(), n("tr", be, [
476
481
  u("td", {
477
482
  colspan: e.headers.length,
478
483
  class: "rvc-table-state"
@@ -494,7 +499,7 @@ const ae = ["value"], le = ["value"], N = /* @__PURE__ */ w({
494
499
  "aria-hidden": "true",
495
500
  class: "rvc-table-spinner"
496
501
  })) : $("", !0),
497
- x(" " + g(e.loadingText), 1)
502
+ S(" " + g(e.loadingText), 1)
498
503
  ])
499
504
  ])
500
505
  ], 8, ye)
@@ -553,7 +558,7 @@ const ae = ["value"], le = ["value"], N = /* @__PURE__ */ w({
553
558
  },
554
559
  emits: ["update:modelValue"],
555
560
  setup(e, { emit: r }) {
556
- const v = e, f = r, { hasModelBinding: s } = T(), d = S(null), m = B({
561
+ const v = e, f = r, { hasModelBinding: s } = T(), d = x(null), m = B({
557
562
  get: () => v.modelValue,
558
563
  set: (o) => f("update:modelValue", o)
559
564
  }), a = B(() => [
@@ -591,7 +596,7 @@ const ae = ["value"], le = ["value"], N = /* @__PURE__ */ w({
591
596
  }), { hasModelBinding: d } = T(), m = A(), a = B(() => ({
592
597
  ...m,
593
598
  type: "radio"
594
- })), o = S(null);
599
+ })), o = x(null);
595
600
  return (t, i) => (l(), n("label", {
596
601
  class: p(["rvc-radio", e.rootClass])
597
602
  }, [
@@ -659,7 +664,7 @@ const ae = ["value"], le = ["value"], N = /* @__PURE__ */ w({
659
664
  onClick: (L) => d.value = b
660
665
  }), {
661
666
  default: O(() => [
662
- x(g(i.name), 1)
667
+ S(g(i.name), 1)
663
668
  ]),
664
669
  _: 2
665
670
  }, 1040, ["as", "class", "onClick"]))), 128))
@@ -5,6 +5,9 @@
5
5
  --rvc-badge-padding-y: calc(var(--spacing) * 1.5);
6
6
  --rvc-badge-font-weight: var(--font-weight-medium);
7
7
  --rvc-badge-border-radius: calc(infinity * 1px);
8
+ --rvc-badge-border-width: 0;
9
+ --rvc-badge-border-style: solid;
10
+ --rvc-badge-border-color: transparent;
8
11
  --rvc-badge-font-size: var(--text-base);
9
12
  --rvc-badge-gap: calc(var(--spacing) * 1);
10
13
 
@@ -61,6 +64,7 @@
61
64
  height: var(--rvc-badge-height);
62
65
  padding-block: var(--rvc-badge-padding-y);
63
66
  padding-inline: var(--rvc-badge-padding-x);
67
+ border: var(--rvc-badge-border-width) var(--rvc-badge-border-style) var(--rvc-badge-border-color);
64
68
  border-radius: var(--rvc-badge-border-radius);
65
69
  background-color: var(--rvc-badge-bg-color);
66
70
  color: var(--rvc-badge-color);
@@ -1,5 +1,8 @@
1
1
  :root {
2
2
  --rvc-empty-state-border-radius: var(--rvc-base-border-radius);
3
+ --rvc-empty-state-border-width: 0;
4
+ --rvc-empty-state-border-style: solid;
5
+ --rvc-empty-state-border-color: transparent;
3
6
  --rvc-empty-state-color: var(--color-slate-700);
4
7
  --rvc-empty-state-bg-color: var(--color-slate-50);
5
8
  --rvc-empty-state-padding-x: calc(var(--spacing) * 12);
@@ -15,6 +18,7 @@
15
18
 
16
19
  @layer components {
17
20
  .rvc-empty-state {
21
+ border: var(--rvc-empty-state-border-width) var(--rvc-empty-state-border-style) var(--rvc-empty-state-border-color);
18
22
  color: var(--rvc-empty-state-color);
19
23
  font-size: var(--rvc-empty-state-font-size);
20
24
 
@@ -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-B0RIqYLz.js";
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-ByxZ-FVI.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";
@@ -9,10 +9,14 @@
9
9
  --rvc-pagination-color: var(--color-slate-600);
10
10
  --rvc-pagination-color-active: var(--color-slate-800);
11
11
  --rvc-pagination-bg-color: transparent;
12
+ --rvc-pagination-bg-color-active: var(--rvc-pagination-bg-color);
12
13
  --rvc-pagination-bg-color-hover: var(--color-slate-100);
13
14
  --rvc-pagination-border-color: transparent;
15
+ --rvc-pagination-nav-gap-md: calc(var(--spacing) * 0.5);
16
+ --rvc-pagination-nav-gap-xl: calc(var(--spacing) * 1);
14
17
  --rvc-pagination-info-color: var(--color-slate-400);
15
18
  --rvc-pagination-info-font-size: var(--text-sm);
19
+ --rvc-pagination-icon-color: var(--color-slate-800);
16
20
  }
17
21
 
18
22
  @layer components {
@@ -46,11 +50,12 @@
46
50
  text-align: center;
47
51
 
48
52
  &.rvc-pagination-button-active {
53
+ background-color: var(--rvc-pagination-bg-color-active);
49
54
  color: var(--rvc-pagination-color-active);
50
55
  font-weight: var(--rvc-pagination-font-weight-active);
51
56
  }
52
57
 
53
- &:not([disabled]):hover {
58
+ &:not(.rvc-pagination-button-active, [disabled]):hover {
54
59
  background-color: var(--rvc-pagination-bg-color-hover);
55
60
  }
56
61
  }
@@ -72,11 +77,11 @@
72
77
  justify-content: flex-end;
73
78
 
74
79
  @media (width >= theme(--breakpoint-md)) {
75
- gap: calc(var(--spacing) * 0.5);
80
+ gap: var(--rvc-pagination-nav-gap-md);
76
81
  }
77
82
 
78
83
  @media (width >= theme(--breakpoint-xl)) {
79
- gap: calc(var(--spacing) * 1);
84
+ gap: var(--rvc-pagination-nav-gap-xl);
80
85
  }
81
86
  }
82
87
 
@@ -99,7 +104,7 @@
99
104
  .rvc-pagination-button-icon {
100
105
  width: calc(var(--spacing) * 5);
101
106
  height: calc(var(--spacing) * 5);
102
- color: var(--color-slate-800);
107
+ color: var(--rvc-pagination-icon-color);
103
108
 
104
109
  &.rvc-pagination-button-icon-disabled {
105
110
  opacity: 0.5;
@@ -16,6 +16,9 @@
16
16
  --rvc-table-white-space: nowrap;
17
17
  --rvc-table-line-height: 1.1;
18
18
  --rvc-table-spinner-size: calc(var(--spacing) * 5);
19
+ --rvc-table-striped-cell-border-color: transparent;
20
+ --rvc-table-striped-cell-border-style: solid;
21
+ --rvc-table-striped-cell-border-width: 0;
19
22
  }
20
23
 
21
24
  @layer components {
@@ -40,6 +43,11 @@
40
43
 
41
44
  td {
42
45
  padding-inline: var(--rvc-table-padding-x);
46
+ border-bottom: var(--rvc-table-striped-cell-border-width) var(--rvc-table-striped-cell-border-style) var(--rvc-table-striped-cell-border-color);
47
+ }
48
+
49
+ tr:hover td {
50
+ background-color: var(--rvc-table-striped-row-bg-color-hover);
43
51
  }
44
52
  }
45
53
 
@@ -16,6 +16,10 @@
16
16
  --rvc-tabs-tab-active-border-color: var(--color-indigo-600);
17
17
  --rvc-tabs-tab-button-height: calc(var(--spacing) * 9);
18
18
  --rvc-tabs-tab-button-padding-x: calc(var(--spacing) * 3);
19
+ --rvc-tabs-tab-button-border-width: 0;
20
+ --rvc-tabs-tab-button-border-style: solid;
21
+ --rvc-tabs-tab-button-border-color: transparent;
22
+ --rvc-tabs-tab-button-border-color-active: var(--rvc-tabs-tab-button-border-color);
19
23
  --rvc-tabs-tab-active-button-bg-color: var(--color-indigo-100);
20
24
  }
21
25
 
@@ -43,10 +47,12 @@
43
47
  height: var(--rvc-tabs-tab-button-height);
44
48
  padding-bottom: 0;
45
49
  padding-inline: var(--rvc-tabs-tab-button-padding-x);
50
+ border: var(--rvc-tabs-tab-button-border-width) var(--rvc-tabs-tab-button-border-style) var(--rvc-tabs-tab-button-border-color);
46
51
  border-bottom: 0;
47
52
  border-radius: var(--rvc-tabs-tab-button-border-radius);
48
53
 
49
54
  &.rvc-tab-active {
55
+ border-color: var(--rvc-tabs-tab-button-border-color-active);
50
56
  background-color: var(--rvc-tabs-tab-active-button-bg-color);
51
57
  }
52
58
  }
package/dist/core.d.ts CHANGED
@@ -280,6 +280,9 @@ declare function __VLS_template_6(): {
280
280
  } | null;
281
281
  header: DataTableHeader;
282
282
  }): any;
283
+ tbody?(_: {
284
+ items: DataTableItem[];
285
+ }): any;
283
286
  items?(_: {
284
287
  item: DataTableItem;
285
288
  index: number;
@@ -1,5 +1,5 @@
1
- import { _ as a } from "../_shared/Drawer.vue_vue_type_script_setup_true_lang-CZMVooMV.js";
2
- import { _ as f } from "../_shared/Modal.vue_vue_type_script_setup_true_lang-CB0Gez7v.js";
1
+ import { _ as a } from "../_shared/Drawer.vue_vue_type_script_setup_true_lang-DjP68vua.js";
2
+ import { _ as f } from "../_shared/Modal.vue_vue_type_script_setup_true_lang-MN3D46CX.js";
3
3
  export {
4
4
  a as Drawer,
5
5
  f as Modal
package/dist/dialogs.d.ts CHANGED
@@ -16,13 +16,13 @@ declare const __VLS_component: DefineComponent<DrawerProps, {}, {}, {}, {}, Comp
16
16
  "drawer:open": () => any;
17
17
  "drawer:opened": () => any;
18
18
  "drawer:close": () => any;
19
- "drawer:save": (event: Event) => any;
19
+ "drawer:save": (event?: Event | undefined) => any;
20
20
  "drawer:closed": () => any;
21
21
  }, string, PublicProps, Readonly<DrawerProps> & Readonly<{
22
22
  "onDrawer:open"?: (() => any) | undefined;
23
23
  "onDrawer:opened"?: (() => any) | undefined;
24
24
  "onDrawer:close"?: (() => any) | undefined;
25
- "onDrawer:save"?: ((event: Event) => any) | undefined;
25
+ "onDrawer:save"?: ((event?: Event | undefined) => any) | undefined;
26
26
  "onDrawer:closed"?: (() => any) | undefined;
27
27
  }>, {
28
28
  as: string;
@@ -67,6 +67,42 @@ contentRef: HTMLDivElement;
67
67
  declare function __VLS_template(): {
68
68
  attrs: Partial<{}>;
69
69
  slots: {
70
+ panel?(_: {
71
+ title: string;
72
+ loading: boolean;
73
+ isForm: boolean;
74
+ titleId: string;
75
+ descriptionId: string;
76
+ contentRef: HTMLElement | null;
77
+ dialogTitle: DefineComponent< {
78
+ as: {
79
+ type: (ObjectConstructor | StringConstructor)[];
80
+ default: string;
81
+ };
82
+ id: {
83
+ type: StringConstructor;
84
+ default: null;
85
+ };
86
+ }, () => VNode<RendererNode, RendererElement, {
87
+ [key: string]: any;
88
+ }> | VNode<RendererNode, RendererElement, {
89
+ [key: string]: any;
90
+ }>[] | null, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes< {
91
+ as: {
92
+ type: (ObjectConstructor | StringConstructor)[];
93
+ default: string;
94
+ };
95
+ id: {
96
+ type: StringConstructor;
97
+ default: null;
98
+ };
99
+ }>>, {
100
+ id: string;
101
+ as: string | Record<string, any>;
102
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
103
+ emitClose: () => void;
104
+ emitSave: (event?: undefined) => void;
105
+ }): any;
70
106
  header?(_: {
71
107
  title: string;
72
108
  showClose: boolean;
@@ -123,8 +159,45 @@ declare function __VLS_template(): {
123
159
  declare function __VLS_template_2(): {
124
160
  attrs: Partial<{}>;
125
161
  slots: {
162
+ panel?(_: {
163
+ title: string;
164
+ loading: boolean;
165
+ isForm: boolean;
166
+ titleId: string;
167
+ descriptionId: string;
168
+ contentRef: HTMLElement | null;
169
+ dialogTitle: DefineComponent< {
170
+ as: {
171
+ type: (ObjectConstructor | StringConstructor)[];
172
+ default: string;
173
+ };
174
+ id: {
175
+ type: StringConstructor;
176
+ default: null;
177
+ };
178
+ }, () => VNode<RendererNode, RendererElement, {
179
+ [key: string]: any;
180
+ }> | VNode<RendererNode, RendererElement, {
181
+ [key: string]: any;
182
+ }>[] | null, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, Record<string, any>, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes< {
183
+ as: {
184
+ type: (ObjectConstructor | StringConstructor)[];
185
+ default: string;
186
+ };
187
+ id: {
188
+ type: StringConstructor;
189
+ default: null;
190
+ };
191
+ }>>, {
192
+ id: string;
193
+ as: string | Record<string, any>;
194
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
195
+ emitClose: () => void;
196
+ emitSave: (event?: undefined) => void;
197
+ }): any;
126
198
  header?(_: {
127
199
  title: string;
200
+ showClose: boolean;
128
201
  }): any;
129
202
  header?(_: {}): any;
130
203
  title?(_: {