@robuust-digital/vue-components 3.0.0 → 3.1.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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,16 @@
1
+ ## 3.1.0 (07-07-2026)
2
+
3
+ ### Added
4
+
5
+ * `Pagination`: Added `showPerPage` support for hiding the per-page select while preserving the default behavior
6
+ * `DataTable`: Forward `showPerPage` to built-in pagination
7
+
8
+ ## 3.0.1 (06-07-2026)
9
+
10
+ ### Added
11
+
12
+ * `FormSelect`: Added `optionDisabled` support for disabling options rendered through the `options` prop
13
+
1
14
  ## 3.0.0 (17-06-2026)
2
15
 
3
16
  ### Updated
@@ -203,7 +203,7 @@ function ne(e, t) {
203
203
  }
204
204
  //#endregion
205
205
  //#region src/components/FormSelect.vue?vue&type=script&setup=true&lang.ts
206
- var q = ["value"], J = ["value"], Y = /* @__PURE__ */ p({
206
+ var q = ["value", "disabled"], J = ["value", "disabled"], Y = /* @__PURE__ */ p({
207
207
  inheritAttrs: !1,
208
208
  __name: "FormSelect",
209
209
  props: {
@@ -237,7 +237,8 @@ var q = ["value"], J = ["value"], Y = /* @__PURE__ */ p({
237
237
  size: { default: "base" },
238
238
  options: { default: () => [] },
239
239
  optionLabel: { default: "name" },
240
- optionValue: { default: "id" }
240
+ optionValue: { default: "id" },
241
+ optionDisabled: { default: "disabled" }
241
242
  },
242
243
  emits: ["update:modelValue"],
243
244
  setup(e, { emit: n }) {
@@ -245,7 +246,7 @@ var q = ["value"], J = ["value"], Y = /* @__PURE__ */ p({
245
246
  get: () => r.modelValue,
246
247
  set: (e) => u("update:modelValue", e)
247
248
  }), { hasModelBinding: f } = i(), p = b(null);
248
- return (n, r) => (y(), l("div", { class: g([
249
+ return (n, i) => (y(), l("div", { class: g([
249
250
  "rvc-select",
250
251
  `rvc-select-${e.size}`,
251
252
  e.rootClass
@@ -257,16 +258,18 @@ var q = ["value"], J = ["value"], Y = /* @__PURE__ */ p({
257
258
  S(n.$slots, "select", _(m(n.$attrs)), () => [T(f) ? j((y(), l("select", h({ key: 0 }, n.$attrs, {
258
259
  ref_key: "select",
259
260
  ref: p,
260
- "onUpdate:modelValue": r[0] ||= (e) => d.value = e
261
+ "onUpdate:modelValue": i[0] ||= (e) => d.value = e
261
262
  }), [S(n.$slots, "default", {}, () => [e.options.length > 0 ? (y(!0), l(a, { key: 0 }, x(e.options, (t, n) => (y(), l("option", {
262
263
  key: `option-${n}-${t[e.optionValue]}`,
263
- value: t[e.optionValue]
264
+ value: t[e.optionValue],
265
+ disabled: t[r.optionDisabled] === !0
264
266
  }, w(t[e.optionLabel]), 9, q))), 128)) : c("", !0)])], 16)), [[O, d.value]]) : (y(), l("select", h({ key: 1 }, n.$attrs, {
265
267
  ref_key: "select",
266
268
  ref: p
267
269
  }), [S(n.$slots, "default", {}, () => [e.options.length > 0 ? (y(!0), l(a, { key: 0 }, x(e.options, (t, n) => (y(), l("option", {
268
270
  key: `option-${n}-${t[e.optionValue]}`,
269
- value: t[e.optionValue]
271
+ value: t[e.optionValue],
272
+ disabled: t[r.optionDisabled] === !0
270
273
  }, w(t[e.optionLabel]), 9, J))), 128)) : c("", !0)])], 16))]),
271
274
  S(n.$slots, "icon", { icon: e.icon }, () => [(y(), s(C(e.icon ?? T(t)), { "aria-hidden": "true" }))])
272
275
  ], 2));
@@ -285,6 +288,10 @@ var q = ["value"], J = ["value"], Y = /* @__PURE__ */ p({
285
288
  20,
286
289
  50
287
290
  ] },
291
+ showPerPage: {
292
+ type: Boolean,
293
+ default: !0
294
+ },
288
295
  fromLabel: { default: "of" },
289
296
  prevIcon: {
290
297
  type: [
@@ -310,7 +317,7 @@ var q = ["value"], J = ["value"], Y = /* @__PURE__ */ p({
310
317
  set: (e) => r("pagination:perPage", Number(e))
311
318
  });
312
319
  return (t, n) => e.pagination?.total ? (y(), l("div", X, [
313
- S(t.$slots, "perPage", h(e.pagination, { perPage: i.value }), () => [f(Y, {
320
+ e.showPerPage ? S(t.$slots, "perPage", h({ key: 0 }, e.pagination, { perPage: i.value }), () => [f(Y, {
314
321
  modelValue: i.value,
315
322
  "onUpdate:modelValue": n[0] ||= (e) => i.value = e,
316
323
  size: "sm",
@@ -321,7 +328,7 @@ var q = ["value"], J = ["value"], Y = /* @__PURE__ */ p({
321
328
  value: t
322
329
  }, w(t) + " " + w(e.perPageLabel), 9, Z))), 128))]),
323
330
  _: 1
324
- }, 8, ["modelValue"])]),
331
+ }, 8, ["modelValue"])]) : c("", !0),
325
332
  S(t.$slots, "info", h(e.pagination, { fromLabel: e.fromLabel }), () => [u("div", re, w(e.pagination.from) + " - " + w(e.pagination.to) + " " + w(e.fromLabel) + " " + w(e.pagination.total), 1)]),
326
333
  u("nav", null, [u("ol", ie, [(y(!0), l(a, null, x(e.pagination.links, (n, i) => (y(), l("li", {
327
334
  key: `pagination-link-${n.label}-${i}`,
@@ -373,6 +380,10 @@ var q = ["value"], J = ["value"], Y = /* @__PURE__ */ p({
373
380
  20,
374
381
  50
375
382
  ] },
383
+ showPerPage: {
384
+ type: Boolean,
385
+ default: !0
386
+ },
376
387
  fromLabel: { default: "of" },
377
388
  prevIcon: {
378
389
  type: [
@@ -482,6 +493,7 @@ var q = ["value"], J = ["value"], Y = /* @__PURE__ */ p({
482
493
  "per-page": e.perPage,
483
494
  "per-page-label": e.perPageLabel,
484
495
  "per-page-options": e.perPageOptions,
496
+ "show-per-page": e.showPerPage,
485
497
  "from-label": e.fromLabel,
486
498
  "prev-icon": e.prevIcon,
487
499
  "next-icon": e.nextIcon,
@@ -492,6 +504,7 @@ var q = ["value"], J = ["value"], Y = /* @__PURE__ */ p({
492
504
  "per-page",
493
505
  "per-page-label",
494
506
  "per-page-options",
507
+ "show-per-page",
495
508
  "from-label",
496
509
  "prev-icon",
497
510
  "next-icon"
@@ -1,4 +1,4 @@
1
- import { a as e, c as t, d as n, i as r, l as i, n as a, o, r as s, s as c, t as l, u } from "../_shared/core-C0o6izrz.js";
1
+ import { a as e, c as t, d as n, i as r, l as i, n as a, o, r as s, s as c, t as l, u } from "../_shared/core-1e7ogP-S.js";
2
2
  import { n as d } from "../_shared/ChevronDownIcon-Y_yqpwON.js";
3
3
  import { t as f } from "../_shared/ButtonBase-DyeIkb-l.js";
4
4
  import { t as p } from "../_shared/FormInput-k0vAk3VU.js";
@@ -1,4 +1,4 @@
1
- import { a as e, c as t, d as n, i as r, l as i, n as a, o, r as s, s as c, t as l, u } from "../_shared/core-C0o6izrz.js";
1
+ import { a as e, c as t, d as n, i as r, l as i, n as a, o, r as s, s as c, t as l, u } from "../_shared/core-1e7ogP-S.js";
2
2
  import { n as d } from "../_shared/ChevronDownIcon-Y_yqpwON.js";
3
3
  import { t as f } from "../_shared/ButtonBase-DyeIkb-l.js";
4
4
  import { t as p } from "../_shared/FormInput-k0vAk3VU.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@robuust-digital/vue-components",
3
- "version": "3.0.0",
3
+ "version": "3.1.0",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"