@boobooking/dashboard-ui-components 0.16.0 → 0.16.2

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/dist/index.js CHANGED
@@ -52,6 +52,7 @@ var ie = {
52
52
  resultsAfter: "",
53
53
  back: "Назад",
54
54
  close: "Закрыть",
55
+ clear: "Очистить",
55
56
  showText: "Показать текст",
56
57
  fullText: "Полный текст"
57
58
  },
@@ -101,6 +102,7 @@ var ie = {
101
102
  resultsAfter: "results",
102
103
  back: "Back",
103
104
  close: "Close",
105
+ clear: "Clear",
104
106
  showText: "Show text",
105
107
  fullText: "Full text"
106
108
  }
@@ -206,15 +208,15 @@ function me(e, t, n) {
206
208
  }
207
209
  //#endregion
208
210
  //#region src/plugin.js
209
- var he = Symbol("dashboardUi"), ge = Object.freeze({
211
+ var D = Symbol("dashboardUi"), he = Object.freeze({
210
212
  lang: "ru",
211
213
  navigate: null,
212
214
  windows: null
213
- }), _e = { uiSettings: {
214
- from: he,
215
- default: () => ge
215
+ }), ge = { uiSettings: {
216
+ from: D,
217
+ default: () => he
216
218
  } };
217
- function ve(e, t) {
219
+ function _e(e, t) {
218
220
  let n = oe(), r = h({
219
221
  number: 0,
220
222
  address: null
@@ -232,21 +234,21 @@ function ve(e, t) {
232
234
  page: r
233
235
  };
234
236
  }
235
- var ye = { install(e, t) {
237
+ var ve = { install(e, t) {
236
238
  let n = t ?? {}, r = Object.hasOwn(n, "lang") ? n.lang : "ru";
237
239
  if (!C(r)) throw Error(`dashboardUi: неизвестный lang «${r}», допустимы: ${re.join(", ")}`);
238
240
  let i = Object.hasOwn(n, "navigate"), a = i ? n.navigate : null;
239
241
  if (i && typeof a != "function") throw Error("dashboardUi: navigate должен быть функцией (href) => …");
240
242
  let o = Object.hasOwn(n, "currentUrl"), s = o ? n.currentUrl : null;
241
243
  if (o && typeof s != "function") throw Error("dashboardUi: currentUrl должен быть функцией () => адрес страницы");
242
- let c = s !== null && typeof window < "u" ? ve(e, s) : null;
243
- e.provide(he, Object.freeze({
244
+ let c = s !== null && typeof window < "u" ? _e(e, s) : null;
245
+ e.provide(D, Object.freeze({
244
246
  lang: r,
245
247
  navigate: a,
246
248
  windows: c
247
249
  }));
248
- } }, be = 4e4;
249
- function xe(e) {
250
+ } }, ye = 4e4;
251
+ function be(e) {
250
252
  if (typeof e != "string") return null;
251
253
  let t = /filename\*\s*=\s*UTF-8''([^;]+)/i.exec(e);
252
254
  if (t !== null) try {
@@ -257,7 +259,7 @@ function xe(e) {
257
259
  let r = /filename\s*=\s*([^;"\s]+)/i.exec(e);
258
260
  return r === null ? null : r[1];
259
261
  }
260
- function Se(e) {
262
+ function xe(e) {
261
263
  try {
262
264
  let t = new URL(e, window.location.href).pathname.split("/").filter((e) => e !== "");
263
265
  return t.length === 0 ? null : decodeURIComponent(t[t.length - 1]);
@@ -265,16 +267,16 @@ function Se(e) {
265
267
  return null;
266
268
  }
267
269
  }
268
- async function Ce(e) {
270
+ async function Se(e) {
269
271
  let t = await fetch(e, { credentials: "same-origin" });
270
272
  if (t.redirected) throw Error(`downloadFile: сервер перенаправил запрос ${e}`);
271
273
  if (!t.ok) throw Error(`downloadFile: ответ ${t.status} на ${e}`);
272
- let n = xe(t.headers.get("Content-Disposition")) ?? Se(e) ?? "download", r = URL.createObjectURL(await t.blob()), i = document.createElement("a");
273
- i.href = r, i.download = n, i.style.display = "none", document.body.appendChild(i), i.click(), i.remove(), setTimeout(() => URL.revokeObjectURL(r), be);
274
+ let n = be(t.headers.get("Content-Disposition")) ?? xe(e) ?? "download", r = URL.createObjectURL(await t.blob()), i = document.createElement("a");
275
+ i.href = r, i.download = n, i.style.display = "none", document.body.appendChild(i), i.click(), i.remove(), setTimeout(() => URL.revokeObjectURL(r), ye);
274
276
  }
275
277
  //#endregion
276
278
  //#region src/colors.js
277
- var D = {
279
+ var Ce = {
278
280
  gray: {
279
281
  pill: "bb:bg-gray-100 bb:text-gray-800",
280
282
  pillHover: "bb:hover:text-gray-600",
@@ -317,12 +319,12 @@ var D = {
317
319
  menuItem: "bb:text-purple-800 bb:focus:bg-purple-100",
318
320
  mark: "bb:text-purple-500"
319
321
  }
320
- }, we = Object.keys(D);
322
+ }, we = Object.keys(Ce);
321
323
  function O(e) {
322
324
  return we.includes(e);
323
325
  }
324
326
  function Te(e, t) {
325
- return O(e) ? D[e][t] ?? "" : "";
327
+ return O(e) ? Ce[e][t] ?? "" : "";
326
328
  }
327
329
  var k = { methods: { colorClass: Te } }, A = (e, t) => {
328
330
  let n = e.__vccOpts || e;
@@ -352,8 +354,8 @@ function De(e, t, n, r, o, s) {
352
354
  r: "45"
353
355
  })], -1)]], 2);
354
356
  }
355
- var j = /*#__PURE__*/ A(Ee, [["render", De]]), Oe = {
356
- components: { Dot: j },
357
+ var Oe = /*#__PURE__*/ A(Ee, [["render", De]]), ke = {
358
+ components: { Dot: Oe },
357
359
  props: {
358
360
  text: {
359
361
  type: String,
@@ -368,14 +370,14 @@ var j = /*#__PURE__*/ A(Ee, [["render", De]]), Oe = {
368
370
  default: !1
369
371
  }
370
372
  }
371
- }, ke = { class: "bb:flex bb:h-6 bb:px-3 bb:bg-white bb:items-center bb:justify-between" }, Ae = ["textContent"];
372
- function je(e, t, n, r, o, c) {
373
+ }, Ae = { class: "bb:flex bb:h-6 bb:px-3 bb:bg-white bb:items-center bb:justify-between" }, je = ["textContent"];
374
+ function Me(e, t, n, r, o, c) {
373
375
  let l = m("dot");
374
- return d(), i("div", ke, [
376
+ return d(), i("div", Ae, [
375
377
  a("div", {
376
378
  class: "bb:flex bb:flex-1 bb:h-full bb:items-center bb:text-xs bb:text-gray-500 bb:whitespace-nowrap bb:truncate bb:leading-tight bb:select-none",
377
379
  textContent: g(n.text)
378
- }, null, 8, Ae),
380
+ }, null, 8, je),
379
381
  x(s(l, {
380
382
  color: "red",
381
383
  "with-pulse": !0,
@@ -387,27 +389,85 @@ function je(e, t, n, r, o, c) {
387
389
  }, null, 512), [[y, n.isRequired]])
388
390
  ]);
389
391
  }
390
- var M = /*#__PURE__*/ A(Oe, [["render", je]]), Me = {}, Ne = {
391
- type: "button",
392
- tabindex: "-1",
393
- class: "bb:absolute bb:right-0 bb:top-0 bb:flex bb:items-center bb:justify-center bb:bg-transparent bb:cursor-pointer bb:text-gray-300 bb:hover:text-gray-400 bb:focus:outline-hidden"
392
+ var j = /*#__PURE__*/ A(ke, [["render", Me]]), M = {
393
+ inject: ge,
394
+ props: { lang: {
395
+ type: String,
396
+ default: null,
397
+ validator: (e) => e === null || C(e)
398
+ } },
399
+ computed: {
400
+ resolvedLang() {
401
+ return C(this.lang) ? this.lang : this.uiSettings.lang;
402
+ },
403
+ texts() {
404
+ return ie[this.resolvedLang];
405
+ }
406
+ }
407
+ }, Ne = [
408
+ { transform: "scale(1)" },
409
+ { transform: "scale(0.8)" },
410
+ { transform: "scale(1)" }
411
+ ], Pe = 150, Fe = {
412
+ created() {
413
+ this.isPressing = !1, this.isUnmounted = !1;
414
+ },
415
+ beforeUnmount() {
416
+ this.isUnmounted = !0;
417
+ },
418
+ methods: { press() {
419
+ this.isPressing || (this.isPressing = !0, Ie(this.$el).then(() => {
420
+ this.isPressing = !1, this.isUnmounted || this.$emit("clicked");
421
+ }));
422
+ } }
394
423
  };
395
- function Pe(e, t, n, r, o, s) {
396
- return d(), i("button", Ne, [...t[0] ||= [a("svg", {
397
- class: "bb:w-6 bb:h-6 bb:stroke-current",
424
+ function Ie(e) {
425
+ if (typeof e.animate != "function" || Le()) return Promise.resolve();
426
+ let t = () => {};
427
+ return e.animate(Ne, {
428
+ duration: Pe,
429
+ easing: "ease-out"
430
+ }).finished.then(t, t);
431
+ }
432
+ function Le() {
433
+ return typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
434
+ }
435
+ //#endregion
436
+ //#region src/components/CrossButton.vue
437
+ var Re = {
438
+ mixins: [M, Fe],
439
+ props: { size: {
440
+ type: String,
441
+ required: !0,
442
+ validator: (e) => ["small", "large"].includes(e)
443
+ } },
444
+ emits: ["clicked"]
445
+ }, ze = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
446
+ function Be(e, t, n, r, s, c) {
447
+ return d(), i("button", {
448
+ type: "button",
449
+ tabindex: "-1",
450
+ class: "bb-dashboard-ui bb:flex bb:items-center bb:justify-center bb:bg-transparent bb:cursor-pointer bb:text-gray-400 bb:focus:outline-hidden bb:hover:text-gray-500",
451
+ onClick: t[0] ||= S((...t) => e.press && e.press(...t), ["prevent"])
452
+ }, [a("span", ze, [p(e.$slots, "default", {}, () => [o(g(e.texts.clear), 1)])]), (d(), i("svg", {
453
+ class: u(["bb:stroke-current bb:pointer-events-none bb:cursor-default", {
454
+ "bb:w-6 bb:h-6": n.size === "small",
455
+ "bb:w-8 bb:h-8": n.size === "large"
456
+ }]),
398
457
  fill: "none",
399
- viewBox: "0 0 24 24"
400
- }, [a("path", {
458
+ viewBox: "0 0 24 24",
459
+ "aria-hidden": "true"
460
+ }, [...t[1] ||= [a("path", {
401
461
  "stroke-linecap": "round",
402
462
  "stroke-linejoin": "round",
403
463
  "stroke-width": "2",
404
464
  d: "M6 18L18 6M6 6l12 12"
405
- })], -1)]]);
465
+ }, null, -1)]], 2))]);
406
466
  }
407
- var N = /*#__PURE__*/ A(Me, [["render", Pe]]), Fe = 10;
408
- function Ie(e) {
467
+ var N = /*#__PURE__*/ A(Re, [["render", Be]]), Ve = 10;
468
+ function He(e) {
409
469
  let t = e.replace(/\D/g, "");
410
- return (t.startsWith("7") || t.startsWith("8")) && t[1] === "9" && (t = t.slice(1)), t.slice(0, Fe);
470
+ return (t.startsWith("7") || t.startsWith("8")) && t[1] === "9" && (t = t.slice(1)), t.slice(0, Ve);
411
471
  }
412
472
  function P(e) {
413
473
  return e === "" ? "" : `7${e}`;
@@ -418,10 +478,10 @@ function F(e) {
418
478
  }
419
479
  //#endregion
420
480
  //#region src/components/RussianMobileFilter.vue
421
- var Le = 400, Re = 3, ze = {
481
+ var Ue = 400, We = 3, Ge = {
422
482
  components: {
423
- ElementHeader: M,
424
- Eraser: N
483
+ ElementHeader: j,
484
+ CrossButton: N
425
485
  },
426
486
  emits: ["update:modelValue", "changed"],
427
487
  props: {
@@ -491,7 +551,7 @@ var Le = 400, Re = 3, ze = {
491
551
  this.isUnmounted || (this.setLazy(!0), this.digits === "" && this.writeToMask(""), this.commit());
492
552
  },
493
553
  onPaste(e) {
494
- this.applyUserDigits(Ie(e.clipboardData?.getData("text") ?? "")), this.scheduleCommit();
554
+ this.applyUserDigits(He(e.clipboardData?.getData("text") ?? "")), this.scheduleCommit();
495
555
  },
496
556
  clear() {
497
557
  this.applyUserDigits(""), this.commit();
@@ -501,16 +561,16 @@ var Le = 400, Re = 3, ze = {
501
561
  this.commit();
502
562
  return;
503
563
  }
504
- this.digits.length < Re || (this.debounceTimer = setTimeout(() => this.commit(), Le));
564
+ this.digits.length < We || (this.debounceTimer = setTimeout(() => this.commit(), Ue));
505
565
  },
506
566
  commit() {
507
567
  clearTimeout(this.debounceTimer), this.digits !== this.lastCommitted && (this.lastCommitted = this.digits, this.$emit("changed"));
508
568
  }
509
569
  }
510
- }, Be = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, Ve = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, He = { class: "bb:relative bb:flex bb:h-full bb:w-full" }, Ue = { class: "bb:flex bb:w-full bb:h-full bb:items-center bb:justify-center" };
511
- function We(e, t, n, r, o, c) {
512
- let l = m("element-header"), u = m("eraser");
513
- return d(), i("div", Be, [a("div", Ve, [s(l, {
570
+ }, Ke = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, qe = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, Je = { class: "bb:relative bb:flex bb:h-full bb:w-full" }, Ye = { class: "bb:flex bb:w-full bb:h-full bb:items-center bb:justify-center" };
571
+ function Xe(e, t, n, r, o, c) {
572
+ let l = m("element-header"), u = m("cross-button");
573
+ return d(), i("div", Ke, [a("div", qe, [s(l, {
514
574
  text: n.header,
515
575
  "is-required": n.isRequired,
516
576
  "is-loading": n.isLoading
@@ -518,7 +578,7 @@ function We(e, t, n, r, o, c) {
518
578
  "text",
519
579
  "is-required",
520
580
  "is-loading"
521
- ]), a("div", He, [a("label", Ue, [a("input", {
581
+ ]), a("div", Je, [a("label", Ye, [a("input", {
522
582
  ref: "input",
523
583
  type: "tel",
524
584
  inputmode: "tel",
@@ -528,16 +588,17 @@ function We(e, t, n, r, o, c) {
528
588
  onBlur: t[1] ||= (...e) => c.onBlur && c.onBlur(...e),
529
589
  onKeydown: t[2] ||= te((...e) => c.commit && c.commit(...e), ["enter"]),
530
590
  onPaste: t[3] ||= S((...e) => c.onPaste && c.onPaste(...e), ["prevent"])
531
- }, null, 544), x(s(u, {
591
+ }, null, 544)]), x(s(u, {
592
+ size: "small",
532
593
  onMousedown: t[4] ||= S(() => {}, ["prevent"]),
533
- onClick: c.clear,
534
- class: "bb:pr-2 bb:h-full"
535
- }, null, 8, ["onClick"]), [[y, o.digits.length > 0]])])])])]);
594
+ onClicked: c.clear,
595
+ class: "bb:absolute bb:right-0 bb:top-0 bb:pr-2 bb:h-full"
596
+ }, null, 8, ["onClicked"]), [[y, o.digits.length > 0]])])])]);
536
597
  }
537
- var Ge = /*#__PURE__*/ A(ze, [["render", We]]), Ke = {
598
+ var Ze = /*#__PURE__*/ A(Ge, [["render", Xe]]), Qe = {
538
599
  components: {
539
- ElementHeader: M,
540
- Eraser: N
600
+ ElementHeader: j,
601
+ CrossButton: N
541
602
  },
542
603
  emits: ["update:modelValue", "changed"],
543
604
  props: {
@@ -575,10 +636,10 @@ var Ge = /*#__PURE__*/ A(ze, [["render", We]]), Ke = {
575
636
  this.$emit("update:modelValue", this.search), this.$emit("changed");
576
637
  }
577
638
  }
578
- }, qe = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, Je = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, Ye = { class: "bb:relative bb:flex bb:h-full bb:w-full" }, Xe = { class: "bb:flex bb:w-full bb:h-full bb:items-center bb:justify-center" };
579
- function Ze(e, t, n, r, o, c) {
580
- let l = m("element-header"), u = m("eraser");
581
- return d(), i("div", qe, [a("div", Je, [s(l, {
639
+ }, $e = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, et = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, tt = { class: "bb:relative bb:flex bb:h-full bb:w-full" }, nt = { class: "bb:flex bb:w-full bb:h-full bb:items-center bb:justify-center" };
640
+ function rt(e, t, n, r, o, c) {
641
+ let l = m("element-header"), u = m("cross-button");
642
+ return d(), i("div", $e, [a("div", et, [s(l, {
582
643
  text: n.header,
583
644
  "is-required": n.isRequired,
584
645
  "is-loading": n.isLoading
@@ -586,7 +647,7 @@ function Ze(e, t, n, r, o, c) {
586
647
  "text",
587
648
  "is-required",
588
649
  "is-loading"
589
- ]), a("div", Ye, [a("label", Xe, [x(a("input", {
650
+ ]), a("div", tt, [a("label", nt, [x(a("input", {
590
651
  class: "bb:flex bb:w-full bb:h-full bb:px-3 bb:py-2 bb:cursor-pointer bb:truncate bb:focus:outline-hidden bb:border-none",
591
652
  "onUpdate:modelValue": t[0] ||= (e) => o.search = e,
592
653
  onInput: t[1] ||= (...e) => c.startSearch && c.startSearch(...e)
@@ -595,19 +656,20 @@ function Ze(e, t, n, r, o, c) {
595
656
  o.search,
596
657
  void 0,
597
658
  { trim: !0 }
598
- ]]), x(s(u, {
599
- onClick: c.clearInput,
600
- class: "bb:pr-2 bb:h-full"
601
- }, null, 8, ["onClick"]), [[y, c.inputNeedsEraser]])])])])]);
659
+ ]])]), x(s(u, {
660
+ size: "small",
661
+ onClicked: c.clearInput,
662
+ class: "bb:absolute bb:right-0 bb:top-0 bb:pr-2 bb:h-full"
663
+ }, null, 8, ["onClicked"]), [[y, c.inputNeedsEraser]])])])]);
602
664
  }
603
- var Qe = /*#__PURE__*/ A(Ke, [["render", Ze]]), I = 4, L = 8;
604
- function $e(e) {
665
+ var it = /*#__PURE__*/ A(Qe, [["render", rt]]), I = 4, L = 8;
666
+ function R(e) {
605
667
  return typeof e?.showPopover == "function";
606
668
  }
607
- function R(e) {
608
- return $e(e) && e.matches(":popover-open");
669
+ function z(e) {
670
+ return R(e) && e.matches(":popover-open");
609
671
  }
610
- function z(e, t, { maxWidth: n = null, align: r = "end", fitsBelow: i = !0, fitsRight: a = !0 } = {}) {
672
+ function B(e, t, { maxWidth: n = null, align: r = "end", fitsBelow: i = !0, fitsRight: a = !0 } = {}) {
611
673
  let o = e.getBoundingClientRect(), s = document.documentElement.clientWidth, c = document.documentElement.clientHeight, l = Math.max(L, o.left), u = Math.max(L, s - o.right), d = Math.max(0, s - l - L), f = Math.max(0, s - u - L), p = r === "start" && (a || d >= f), m = Math.max(0, c - o.bottom - I - L), h = Math.max(0, o.top - I - L), g = i || m >= h, _ = "";
612
674
  if (r === "start") {
613
675
  let e = p ? d : f;
@@ -622,15 +684,15 @@ function z(e, t, { maxWidth: n = null, align: r = "end", fitsBelow: i = !0, fits
622
684
  maxWidth: _
623
685
  });
624
686
  }
625
- function et(e, t, n = {}) {
687
+ function at(e, t, n = {}) {
626
688
  let r = t.scrollHeight <= t.clientHeight + 1, i = t.scrollWidth <= t.clientWidth + 1;
627
- r && i || z(e, t, {
689
+ r && i || B(e, t, {
628
690
  ...n,
629
691
  fitsBelow: r,
630
692
  fitsRight: i
631
693
  });
632
694
  }
633
- function tt(e, t) {
695
+ function ot(e, t) {
634
696
  let n = (n) => {
635
697
  e.contains(n.target) || t();
636
698
  };
@@ -643,17 +705,17 @@ function tt(e, t) {
643
705
  }
644
706
  //#endregion
645
707
  //#region src/menuFocus.js
646
- var B = "a[href], button";
647
- function nt(e, t = () => null) {
708
+ var V = "a[href], button";
709
+ function st(e, t = () => null) {
648
710
  let n = (n) => {
649
711
  if (n.key !== "ArrowDown" && n.key !== "ArrowUp") return;
650
- let r = [...e.querySelectorAll(B)];
712
+ let r = [...e.querySelectorAll(V)];
651
713
  if (r.length === 0) return;
652
714
  n.preventDefault();
653
715
  let i = n.key === "ArrowDown" ? 1 : -1, a = r.indexOf(document.activeElement);
654
716
  a === -1 && (a = r.indexOf(t())), r[a === -1 ? i === 1 ? 0 : r.length - 1 : (a + i + r.length) % r.length].focus();
655
717
  }, r = (e) => {
656
- let t = e.target.closest(B);
718
+ let t = e.target.closest(V);
657
719
  t !== null && t.focus({ preventScroll: !0 });
658
720
  };
659
721
  return document.addEventListener("keydown", n, !0), e.addEventListener("mousemove", r), () => {
@@ -662,7 +724,7 @@ function nt(e, t = () => null) {
662
724
  }
663
725
  //#endregion
664
726
  //#region src/components/PopoverPanel.vue
665
- var rt = {
727
+ var ct = {
666
728
  emits: ["update:modelValue", "toggle"],
667
729
  props: {
668
730
  modelValue: {
@@ -751,11 +813,11 @@ var rt = {
751
813
  methods: {
752
814
  applyPanelState() {
753
815
  let e = this.$refs.panel;
754
- $e(e) && e.isConnected && (this.panelIsOpen && !R(e) && e.showPopover(), !this.panelIsOpen && R(e) && e.hidePopover());
816
+ R(e) && e.isConnected && (this.panelIsOpen && !z(e) && e.showPopover(), !this.panelIsOpen && z(e) && e.hidePopover());
755
817
  },
756
818
  close() {
757
819
  let e = this.$refs.panel;
758
- R(e) && e.hidePopover();
820
+ z(e) && e.hidePopover();
759
821
  },
760
822
  reportPanelShown(e) {
761
823
  this.panelShown !== e && (this.panelShown = e, this.$emit("toggle", e));
@@ -769,9 +831,9 @@ var rt = {
769
831
  maxWidth: this.maxWidth,
770
832
  align: this.align
771
833
  };
772
- z(e, this.$refs.panel, t), requestAnimationFrame(() => {
834
+ B(e, this.$refs.panel, t), requestAnimationFrame(() => {
773
835
  let n = this.$refs.panel;
774
- R(n) && et(e, n, t);
836
+ z(n) && at(e, n, t);
775
837
  });
776
838
  return;
777
839
  }
@@ -780,8 +842,8 @@ var rt = {
780
842
  },
781
843
  onToggle() {
782
844
  this.stopListening();
783
- let e = this.$refs.panel, t = R(e);
784
- t && (this.stopClosing = tt(e, this.close), this.arrows && (this.stopArrows = nt(e, this.findSelected))), t || this.restoreFocus(e), this.reportPanelShown(t), t !== this.panelIsOpen && (this.panelIsOpen = t, this.$emit("update:modelValue", t));
845
+ let e = this.$refs.panel, t = z(e);
846
+ t && (this.stopClosing = ot(e, this.close), this.arrows && (this.stopArrows = st(e, this.findSelected))), t || this.restoreFocus(e), this.reportPanelShown(t), t !== this.panelIsOpen && (this.panelIsOpen = t, this.$emit("update:modelValue", t));
785
847
  },
786
848
  restoreFocus(e) {
787
849
  let t = this.focusWasInside;
@@ -793,10 +855,10 @@ var rt = {
793
855
  this.stopClosing !== null && (this.stopClosing(), this.stopClosing = null), this.stopArrows !== null && (this.stopArrows(), this.stopArrows = null);
794
856
  }
795
857
  }
796
- }, it = {
858
+ }, lt = {
797
859
  key: 0,
798
860
  class: "bb:relative"
799
- }, at = [
861
+ }, ut = [
800
862
  "id",
801
863
  "role",
802
864
  "aria-orientation",
@@ -804,8 +866,8 @@ var rt = {
804
866
  "aria-label",
805
867
  "tabindex"
806
868
  ];
807
- function ot(e, t, n, o, s, c) {
808
- return n.hasContent ? (d(), i("span", it, [p(e.$slots, "trigger", {
869
+ function dt(e, t, n, o, s, c) {
870
+ return n.hasContent ? (d(), i("span", lt, [p(e.$slots, "trigger", {
809
871
  id: o.buttonId,
810
872
  popovertarget: o.panelId
811
873
  }), a("div", {
@@ -821,43 +883,79 @@ function ot(e, t, n, o, s, c) {
821
883
  onBeforetoggle: t[0] ||= (...e) => c.onBeforeToggle && c.onBeforeToggle(...e),
822
884
  onToggle: t[1] ||= (...e) => c.onToggle && c.onToggle(...e),
823
885
  onClick: t[2] ||= (...e) => c.onClick && c.onClick(...e)
824
- }, [p(e.$slots, "default")], 42, at)])) : r("", !0);
886
+ }, [p(e.$slots, "default")], 42, ut)])) : r("", !0);
825
887
  }
826
- var V = /*#__PURE__*/ A(rt, [["render", ot]]);
888
+ var H = /*#__PURE__*/ A(ct, [["render", dt]]);
827
889
  //#endregion
828
890
  //#region src/date.js
829
- function H(e) {
891
+ function U(e) {
830
892
  return `${String(e.getDate()).padStart(2, "0")}.${String(e.getMonth() + 1).padStart(2, "0")}.${String(e.getFullYear()).padStart(4, "0")}`;
831
893
  }
832
- function U(e) {
894
+ function W(e) {
833
895
  let t = /^(\d{1,2})\.(\d{1,2})\.(\d{4})$/.exec(e);
834
896
  if (t === null) return null;
835
897
  let [, n, r, i] = t.map(Number), a = /* @__PURE__ */ new Date(0);
836
898
  return a.setFullYear(i, r - 1, n), a.setHours(0, 0, 0, 0), a.getDate() !== n || a.getMonth() !== r - 1 || a.getFullYear() !== i ? null : a;
837
899
  }
838
900
  //#endregion
839
- //#region src/lang.js
840
- var W = {
841
- inject: _e,
842
- props: { lang: {
843
- type: String,
844
- default: null,
845
- validator: (e) => e === null || C(e)
846
- } },
847
- computed: {
848
- resolvedLang() {
849
- return C(this.lang) ? this.lang : this.uiSettings.lang;
850
- },
851
- texts() {
852
- return ie[this.resolvedLang];
853
- }
854
- }
855
- }, st = {
901
+ //#region src/dayFocus.js
902
+ var G = ".pika-button.pika-day", ft = ".pika-button, .pika-prev, .pika-next";
903
+ function pt(e, t = () => null) {
904
+ let n = (n) => {
905
+ if (n.detail !== 0) return;
906
+ let r = n.target.closest(ft);
907
+ r !== null && e.contains(r) && setTimeout(() => {
908
+ let n = document.activeElement === r;
909
+ if (r.dispatchEvent(new MouseEvent("mousedown", {
910
+ bubbles: !0,
911
+ cancelable: !0
912
+ })), !n || r.isConnected) return;
913
+ let i = ["pika-prev", "pika-next"].find((e) => r.classList.contains(e));
914
+ i === void 0 ? t()?.focus({ preventScroll: !0 }) : e.querySelector(`.${i}`)?.focus();
915
+ }, 0);
916
+ };
917
+ return e.addEventListener("click", n), () => e.removeEventListener("click", n);
918
+ }
919
+ var mt = {
920
+ ArrowLeft: -1,
921
+ ArrowRight: 1,
922
+ ArrowUp: -7,
923
+ ArrowDown: 7
924
+ };
925
+ function ht(e, t) {
926
+ let n = (n) => {
927
+ let r = mt[n.key];
928
+ if (r === void 0 || gt(document.activeElement)) return;
929
+ n.preventDefault();
930
+ let i = document.activeElement?.closest(G) ?? null, a = i !== null && e.contains(i) ? vt(_t(i), r) : t.getDate() ?? yt();
931
+ K(e, a) === null && t.gotoDate(a), K(e, a)?.focus();
932
+ };
933
+ return document.addEventListener("keydown", n, !0), () => document.removeEventListener("keydown", n, !0);
934
+ }
935
+ function gt(e) {
936
+ return e !== null && e.matches("input, select, textarea, [contenteditable]");
937
+ }
938
+ function _t(e) {
939
+ return new Date(e.dataset.pikaYear, e.dataset.pikaMonth, e.dataset.pikaDay);
940
+ }
941
+ function vt(e, t) {
942
+ return new Date(e.getFullYear(), e.getMonth(), e.getDate() + t);
943
+ }
944
+ function yt() {
945
+ let e = /* @__PURE__ */ new Date();
946
+ return new Date(e.getFullYear(), e.getMonth(), e.getDate());
947
+ }
948
+ function K(e, t) {
949
+ return e.querySelector(`${G}[data-pika-year="${t.getFullYear()}"][data-pika-month="${t.getMonth()}"][data-pika-day="${t.getDate()}"]`);
950
+ }
951
+ //#endregion
952
+ //#region src/components/PickDay.vue
953
+ var bt = {
856
954
  components: {
857
- PopoverPanel: V,
858
- Eraser: N
955
+ PopoverPanel: H,
956
+ CrossButton: N
859
957
  },
860
- mixins: [W],
958
+ mixins: [M],
861
959
  emits: ["update:modelValue", "changed"],
862
960
  props: {
863
961
  modelValue: {
@@ -874,7 +972,7 @@ var W = {
874
972
  }
875
973
  },
876
974
  created() {
877
- this.picker = null, this.isUnmounted = !1;
975
+ this.picker = null, this.isUnmounted = !1, this.stopPickOnClick = null, this.stopDayFocus = null;
878
976
  },
879
977
  async mounted() {
880
978
  let { default: e } = await import("pikaday");
@@ -884,8 +982,8 @@ var W = {
884
982
  keyboardInput: !1,
885
983
  bound: !1,
886
984
  firstDay: 1,
887
- parse: (e) => U(e),
888
- toString: (e) => H(e),
985
+ parse: (e) => W(e),
986
+ toString: (e) => U(e),
889
987
  i18n: {
890
988
  previousMonth: this.texts.previousMonth,
891
989
  nextMonth: this.texts.nextMonth,
@@ -894,12 +992,12 @@ var W = {
894
992
  weekdaysShort: this.texts.weekdaysShort
895
993
  },
896
994
  onSelect: (e) => {
897
- this.popupIsOpen = !1, this.$emit("update:modelValue", H(e)), this.$emit("changed");
995
+ this.popupIsOpen = !1, this.$emit("update:modelValue", U(e)), this.$emit("changed");
898
996
  }
899
- }));
997
+ }), this.stopPickOnClick = pt(this.$refs.container, () => this.$refs.trigger), this.syncDayFocus());
900
998
  },
901
999
  beforeUnmount() {
902
- this.isUnmounted = !0, this.picker?.destroy();
1000
+ this.isUnmounted = !0, this.stopPickOnClick?.(), this.stopDayFocus?.(), this.picker?.destroy();
903
1001
  },
904
1002
  data() {
905
1003
  return {
@@ -907,14 +1005,22 @@ var W = {
907
1005
  dayValue: this.modelValue ?? ""
908
1006
  };
909
1007
  },
910
- watch: { modelValue(e) {
911
- let t = e ?? "";
912
- this.dayValue = t, this.syncPicker(t);
913
- } },
1008
+ watch: {
1009
+ popupIsOpen() {
1010
+ this.syncDayFocus();
1011
+ },
1012
+ modelValue(e) {
1013
+ let t = e ?? "";
1014
+ this.dayValue = t, this.syncPicker(t);
1015
+ }
1016
+ },
914
1017
  methods: {
1018
+ syncDayFocus() {
1019
+ this.stopDayFocus?.(), this.stopDayFocus = null, this.popupIsOpen && this.picker !== null && (this.stopDayFocus = ht(this.$refs.container, this.picker));
1020
+ },
915
1021
  syncPicker(e) {
916
1022
  if (this.picker === null) return;
917
- let t = U(e);
1023
+ let t = W(e);
918
1024
  if (t === null) {
919
1025
  this.picker.clear();
920
1026
  return;
@@ -929,25 +1035,29 @@ var W = {
929
1035
  hasValue() {
930
1036
  return (this.modelValue ?? "").length > 0;
931
1037
  },
1038
+ triggerLabel() {
1039
+ return [this.placeholderText, this.dayValue].filter((e) => e !== "").join(" ");
1040
+ },
932
1041
  needsEraser() {
933
1042
  return !this.withEraser || this.popupIsOpen ? !1 : this.hasValue;
934
1043
  }
935
1044
  }
936
- }, ct = { class: "bb-dashboard-ui bb:flex bb:flex-col" }, lt = { class: "bb:relative bb:flex bb:h-full" }, ut = ["id", "popovertarget"], dt = { class: "bb:min-w-24 bb:w-full bb:h-full bb:pointer-events-none" }, ft = [
1045
+ }, xt = { class: "bb-dashboard-ui bb:flex bb:flex-col" }, St = { class: "bb:relative bb:flex bb:h-full" }, Ct = ["id", "popovertarget"], wt = ["textContent"], Tt = { class: "bb:flex bb:w-full bb:items-center bb:leading-none bb:min-w-24 bb:pointer-events-none" }, Et = [
937
1046
  "disabled",
938
1047
  "value",
939
1048
  "placeholder"
940
- ], pt = {
1049
+ ], Dt = {
941
1050
  ref: "container",
942
1051
  class: "bb:flex"
943
1052
  };
944
- function mt(e, t, o, c, l, u) {
945
- let f = m("popover-panel"), p = m("eraser");
946
- return d(), i("div", ct, [a("div", lt, [s(f, {
1053
+ function Ot(e, t, o, c, l, u) {
1054
+ let f = m("popover-panel"), p = m("cross-button");
1055
+ return d(), i("div", xt, [a("div", St, [s(f, {
947
1056
  class: "bb:flex bb:w-full",
948
1057
  modelValue: l.popupIsOpen,
949
1058
  "onUpdate:modelValue": t[0] ||= (e) => l.popupIsOpen = e,
950
1059
  align: "start",
1060
+ "return-focus": "",
951
1061
  "panel-class": "bb:bg-white bb:border bb:border-gray-200 bb:rounded-md bb:shadow-lg"
952
1062
  }, {
953
1063
  trigger: b((e) => [a("button", {
@@ -955,31 +1065,36 @@ function mt(e, t, o, c, l, u) {
955
1065
  type: "button",
956
1066
  id: e.id,
957
1067
  popovertarget: e.popovertarget,
958
- class: "bb:flex bb:w-full bb:items-center bb:cursor-pointer bb:leading-none bb:focus:outline-hidden"
959
- }, [a("label", dt, [a("input", {
1068
+ class: "bb:absolute bb:inset-0 bb:cursor-pointer bb:focus:outline-hidden"
1069
+ }, [a("span", {
1070
+ class: "bb:sr-only bb:pointer-events-none bb:cursor-default",
1071
+ textContent: g(u.triggerLabel)
1072
+ }, null, 8, wt)], 8, Ct), a("label", Tt, [a("input", {
960
1073
  disabled: l.popupIsOpen,
961
1074
  ref: "field",
962
1075
  type: "text",
963
1076
  value: l.dayValue,
964
1077
  placeholder: o.placeholderText,
965
1078
  class: "bb:w-full bb:h-full bb:py-2 bb:pr-3 bb:leading-none bb:border bb:border-transparent bb:whitespace-nowrap bb:bg-transparent bb:placeholder:text-sm bb:placeholder-gray-300 bb:cursor-pointer bb:focus:outline-hidden"
966
- }, null, 8, ft)])], 8, ut)]),
967
- default: b(() => [a("div", pt, null, 512)]),
1079
+ }, null, 8, Et)])]),
1080
+ default: b(() => [a("div", Dt, null, 512)]),
968
1081
  _: 1
969
1082
  }, 8, ["modelValue"]), u.needsEraser ? (d(), n(p, {
970
1083
  key: 0,
971
- onClick: u.clearPicker,
972
- class: "bb:z-10 bb:h-full bb:pr-2"
973
- }, null, 8, ["onClick"])) : r("", !0)])]);
1084
+ size: "small",
1085
+ onClicked: u.clearPicker,
1086
+ class: "bb:absolute bb:right-0 bb:top-0 bb:z-10 bb:h-full bb:pr-2",
1087
+ lang: e.resolvedLang
1088
+ }, null, 8, ["onClicked", "lang"])) : r("", !0)])]);
974
1089
  }
975
1090
  //#endregion
976
1091
  //#region src/components/SelectDateInterval.vue
977
- var ht = {
1092
+ var kt = {
978
1093
  components: {
979
- ElementHeader: M,
980
- PickDay: /* @__PURE__ */ A(st, [["render", mt]])
1094
+ ElementHeader: j,
1095
+ PickDay: /* @__PURE__ */ A(bt, [["render", Ot]])
981
1096
  },
982
- mixins: [W],
1097
+ mixins: [M],
983
1098
  emits: [
984
1099
  "update:dateFrom",
985
1100
  "update:dateTo",
@@ -1027,10 +1142,10 @@ var ht = {
1027
1142
  this.$emit("update:dateTo", e), this.dateTo !== e && this.$emit("changed");
1028
1143
  }
1029
1144
  }
1030
- }, gt = { class: "bb-dashboard-ui bb:flex" }, _t = { class: "bb:flex bb:border bb:border-white" }, vt = { class: "bb:flex bb:flex-col bb:min-w-72 bb:w-72 bb:bg-white bb:h-full" }, yt = { class: "bb:flex bb:h-full bb:divide-x bb:divide-gray-200" };
1031
- function bt(e, t, n, r, o, c) {
1145
+ }, At = { class: "bb-dashboard-ui bb:flex" }, jt = { class: "bb:flex bb:border bb:border-white" }, Mt = { class: "bb:flex bb:flex-col bb:min-w-72 bb:w-72 bb:bg-white bb:h-full" }, Nt = { class: "bb:flex bb:h-full bb:divide-x bb:divide-gray-200" };
1146
+ function Pt(e, t, n, r, o, c) {
1032
1147
  let l = m("element-header"), u = m("pick-day");
1033
- return d(), i("div", gt, [a("div", _t, [a("div", vt, [s(l, {
1148
+ return d(), i("div", At, [a("div", jt, [a("div", Mt, [s(l, {
1034
1149
  text: n.header,
1035
1150
  "is-required": n.isRequired,
1036
1151
  "is-loading": n.isLoading
@@ -1038,7 +1153,7 @@ function bt(e, t, n, r, o, c) {
1038
1153
  "text",
1039
1154
  "is-required",
1040
1155
  "is-loading"
1041
- ]), a("div", yt, [s(u, {
1156
+ ]), a("div", Nt, [s(u, {
1042
1157
  modelValue: o.userDateFrom,
1043
1158
  "onUpdate:modelValue": t[0] ||= (e) => o.userDateFrom = e,
1044
1159
  class: "bb:flex-1 bb:min-w-36 bb:pl-3",
@@ -1060,10 +1175,10 @@ function bt(e, t, n, r, o, c) {
1060
1175
  "lang"
1061
1176
  ])])])])]);
1062
1177
  }
1063
- var xt = /*#__PURE__*/ A(ht, [["render", bt]]), St = {
1178
+ var Ft = /*#__PURE__*/ A(kt, [["render", Pt]]), It = {
1064
1179
  components: {
1065
- PopoverPanel: V,
1066
- Eraser: N
1180
+ PopoverPanel: H,
1181
+ CrossButton: N
1067
1182
  },
1068
1183
  emits: ["update:isOpen", "erased"],
1069
1184
  props: {
@@ -1087,10 +1202,10 @@ var xt = /*#__PURE__*/ A(ht, [["render", bt]]), St = {
1087
1202
  computed: { needsEraser() {
1088
1203
  return !this.isOpen && this.hasValue;
1089
1204
  } }
1090
- }, Ct = { class: "bb:flex bb:flex-col bb:grow bb:bg-white" }, wt = { class: "bb:relative bb:flex bb:w-full bb:h-full" }, Tt = ["id", "popovertarget"], Et = ["textContent"];
1091
- function Dt(e, t, o, c, l, u) {
1092
- let f = m("popover-panel"), h = m("eraser");
1093
- return d(), i("div", Ct, [a("div", wt, [s(f, {
1205
+ }, Lt = { class: "bb:flex bb:flex-col bb:grow bb:bg-white" }, Rt = { class: "bb:relative bb:flex bb:w-full bb:h-full" }, zt = ["id", "popovertarget"], Bt = ["textContent"];
1206
+ function Vt(e, t, o, c, l, u) {
1207
+ let f = m("popover-panel"), h = m("cross-button");
1208
+ return d(), i("div", Lt, [a("div", Rt, [s(f, {
1094
1209
  class: "bb:flex bb:w-full bb:h-full",
1095
1210
  "model-value": o.isOpen,
1096
1211
  align: "start",
@@ -1106,18 +1221,19 @@ function Dt(e, t, o, c, l, u) {
1106
1221
  popovertarget: e.popovertarget,
1107
1222
  class: "bb:flex bb:w-full bb:h-full bb:items-center bb:focus:outline-hidden bb:cursor-pointer"
1108
1223
  }, [a("span", {
1109
- class: "bb:flex bb:w-full bb:h-full bb:pl-3 bb:pr-12 bb:py-2 bb:items-center bb:whitespace-nowrap bb:leading-none",
1224
+ class: "bb:flex bb:w-full bb:h-full bb:pl-3 bb:pr-12 bb:py-2 bb:items-center bb:whitespace-nowrap bb:leading-none bb:pointer-events-none bb:cursor-default",
1110
1225
  textContent: g(o.title)
1111
- }, null, 8, Et)], 8, Tt)]),
1226
+ }, null, 8, Bt)], 8, zt)]),
1112
1227
  default: b(() => [p(e.$slots, "default")]),
1113
1228
  _: 3
1114
1229
  }, 8, ["model-value", "find-selected"]), u.needsEraser ? (d(), n(h, {
1115
1230
  key: 0,
1116
- onClick: t[1] ||= (t) => e.$emit("erased"),
1117
- class: "bb:pr-2 bb:h-full"
1231
+ size: "small",
1232
+ onClicked: t[1] ||= (t) => e.$emit("erased"),
1233
+ class: "bb:absolute bb:right-0 bb:top-0 bb:pr-2 bb:h-full"
1118
1234
  })) : r("", !0)])]);
1119
1235
  }
1120
- var Ot = /*#__PURE__*/ A(St, [["render", Dt]]), kt = {
1236
+ var Ht = /*#__PURE__*/ A(It, [["render", Vt]]), Ut = {
1121
1237
  props: {
1122
1238
  isChecked: {
1123
1239
  type: Boolean,
@@ -1129,31 +1245,32 @@ var Ot = /*#__PURE__*/ A(St, [["render", Dt]]), kt = {
1129
1245
  methods: { toggle() {
1130
1246
  this.$emit("clicked");
1131
1247
  } }
1132
- }, At = { class: "bb:flex bb:w-9 bb:h-9 bb:items-center bb:justify-center" }, jt = {
1248
+ }, Wt = { class: "bb:flex bb:w-9 bb:h-9 bb:items-center bb:justify-center bb:pointer-events-none bb:cursor-default" }, Gt = {
1133
1249
  class: "bb:w-5 bb:h-5 bb:fill-current bb:text-green-300",
1134
- viewBox: "0 0 20 20"
1135
- }, Mt = ["textContent"];
1136
- function Nt(e, t, n, r, o, s) {
1250
+ viewBox: "0 0 20 20",
1251
+ "aria-hidden": "true"
1252
+ }, Kt = ["textContent"];
1253
+ function qt(e, t, n, r, o, s) {
1137
1254
  return d(), i("button", {
1138
1255
  type: "button",
1139
1256
  onClick: t[0] ||= S((...e) => s.toggle && s.toggle(...e), ["prevent"]),
1140
1257
  class: "bb:flex bb:w-full bb:bg-white bb:cursor-pointer bb:focus:outline-hidden bb:focus:bg-indigo-100"
1141
- }, [a("span", At, [x((d(), i("svg", jt, [...t[1] ||= [a("path", {
1258
+ }, [a("span", Wt, [x((d(), i("svg", Gt, [...t[1] ||= [a("path", {
1142
1259
  d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",
1143
1260
  "clip-rule": "evenodd",
1144
1261
  "fill-rule": "evenodd"
1145
1262
  }, null, -1)]], 512)), [[y, n.isChecked]])]), a("span", {
1146
- class: "bb:flex bb:h-9 bb:justify-center bb:items-center bb:pr-6 bb:whitespace-nowrap bb:select-none",
1263
+ class: "bb:flex bb:h-9 bb:justify-center bb:items-center bb:pr-6 bb:whitespace-nowrap bb:select-none bb:pointer-events-none bb:cursor-default",
1147
1264
  textContent: g(n.name)
1148
- }, null, 8, Mt)]);
1265
+ }, null, 8, Kt)]);
1149
1266
  }
1150
1267
  //#endregion
1151
1268
  //#region src/components/SelectSingle.vue
1152
- var Pt = {
1269
+ var Jt = {
1153
1270
  components: {
1154
- ElementHeader: M,
1155
- DropdownButton: Ot,
1156
- ListElement: /* @__PURE__ */ A(kt, [["render", Nt]])
1271
+ ElementHeader: j,
1272
+ DropdownButton: Ht,
1273
+ ListElement: /* @__PURE__ */ A(Ut, [["render", qt]])
1157
1274
  },
1158
1275
  emits: ["update:modelValue", "changed"],
1159
1276
  props: {
@@ -1213,13 +1330,13 @@ var Pt = {
1213
1330
  return e === -1 ? null : this.$refs.list.querySelectorAll("button")[e];
1214
1331
  }
1215
1332
  }
1216
- }, Ft = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, It = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, Lt = {
1333
+ }, Yt = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, Xt = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, Zt = {
1217
1334
  ref: "list",
1218
1335
  class: "bb:flex bb:flex-col bb:py-1 bb:divide-y bb:divide-gray-200 bb:divide-dashed"
1219
1336
  };
1220
- function Rt(t, o, c, l, u, p) {
1337
+ function Qt(t, o, c, l, u, p) {
1221
1338
  let h = m("element-header"), g = m("list-element"), _ = m("dropdown-button");
1222
- return d(), i("div", Ft, [a("div", It, [s(h, {
1339
+ return d(), i("div", Yt, [a("div", Xt, [s(h, {
1223
1340
  text: c.header,
1224
1341
  "is-required": c.isRequired,
1225
1342
  "is-loading": c.isLoading
@@ -1236,7 +1353,7 @@ function Rt(t, o, c, l, u, p) {
1236
1353
  "find-selected": p.activeItemElement,
1237
1354
  onErased: p.clear
1238
1355
  }, {
1239
- default: b(() => [a("div", Lt, [(d(!0), i(e, null, f(p.itemList, (e) => (d(), n(g, {
1356
+ default: b(() => [a("div", Zt, [(d(!0), i(e, null, f(p.itemList, (e) => (d(), n(g, {
1240
1357
  name: e.name,
1241
1358
  key: e.id,
1242
1359
  "is-checked": e.id === c.modelValue,
@@ -1255,7 +1372,7 @@ function Rt(t, o, c, l, u, p) {
1255
1372
  "onErased"
1256
1373
  ])) : r("", !0)])]);
1257
1374
  }
1258
- var zt = /*#__PURE__*/ A(Pt, [["render", Rt]]), Bt = {
1375
+ var $t = /*#__PURE__*/ A(Jt, [["render", Qt]]), en = {
1259
1376
  mixins: [k],
1260
1377
  props: {
1261
1378
  text: {
@@ -1268,14 +1385,14 @@ var zt = /*#__PURE__*/ A(Pt, [["render", Rt]]), Bt = {
1268
1385
  validator: O
1269
1386
  }
1270
1387
  }
1271
- }, Vt = ["textContent"];
1272
- function Ht(e, t, n, r, a, o) {
1388
+ }, tn = ["textContent"];
1389
+ function nn(e, t, n, r, a, o) {
1273
1390
  return d(), i("span", {
1274
1391
  class: u(["bb-dashboard-ui bb:inline-flex bb:items-center bb:px-3 bb:py-2 bb:rounded-full bb:text-xs bb:font-medium bb:leading-none bb:select-none bb:whitespace-nowrap", e.colorClass(n.color, "pill")]),
1275
1392
  textContent: g(n.text)
1276
- }, null, 10, Vt);
1393
+ }, null, 10, tn);
1277
1394
  }
1278
- var G = /*#__PURE__*/ A(Bt, [["render", Ht]]), Ut = {
1395
+ var q = /*#__PURE__*/ A(en, [["render", nn]]), rn = {
1279
1396
  props: {
1280
1397
  messages: {
1281
1398
  type: [Object, Array],
@@ -1295,12 +1412,12 @@ var G = /*#__PURE__*/ A(Bt, [["render", Ht]]), Ut = {
1295
1412
  return this.type === "dangerous";
1296
1413
  }
1297
1414
  }
1298
- }, Wt = { class: "bb:flex" }, Gt = { class: "bb:shrink-0" }, Kt = { class: "bb:ml-3" }, qt = ["textContent"];
1299
- function Jt(t, n, o, s, c, l) {
1415
+ }, an = { class: "bb:flex" }, on = { class: "bb:shrink-0" }, sn = { class: "bb:ml-3" }, cn = ["textContent"];
1416
+ function ln(t, n, o, s, c, l) {
1300
1417
  return l.hasErrors ? (d(), i("div", {
1301
1418
  key: 0,
1302
1419
  class: u(["bb-dashboard-ui bb:border-l-4 bb:p-4", l.isDangerous ? "bb:bg-red-50 bb:border-red-400" : "bb:bg-yellow-50 bb:border-yellow-400"])
1303
- }, [a("div", Wt, [a("div", Gt, [(d(), i("svg", {
1420
+ }, [a("div", an, [a("div", on, [(d(), i("svg", {
1304
1421
  class: u(["bb:h-5 bb:w-5", l.isDangerous ? "bb:text-red-400" : "bb:text-yellow-400"]),
1305
1422
  viewBox: "0 0 20 20",
1306
1423
  fill: "currentColor"
@@ -1308,13 +1425,13 @@ function Jt(t, n, o, s, c, l) {
1308
1425
  "fill-rule": "evenodd",
1309
1426
  d: "M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",
1310
1427
  "clip-rule": "evenodd"
1311
- }, null, -1)]], 2))]), a("div", Kt, [(d(!0), i(e, null, f(o.messages, (e, t) => (d(), i("p", {
1428
+ }, null, -1)]], 2))]), a("div", sn, [(d(!0), i(e, null, f(o.messages, (e, t) => (d(), i("p", {
1312
1429
  class: u(["bb:text-sm bb:leading-5", l.isDangerous ? "bb:text-red-700" : "bb:text-yellow-700"]),
1313
1430
  key: t,
1314
1431
  textContent: g(e)
1315
- }, null, 10, qt))), 128))])])], 2)) : r("", !0);
1432
+ }, null, 10, cn))), 128))])])], 2)) : r("", !0);
1316
1433
  }
1317
- var Yt = /*#__PURE__*/ A(Ut, [["render", Jt]]), Xt = {}, Zt = {
1434
+ var un = /*#__PURE__*/ A(rn, [["render", ln]]), dn = {}, fn = {
1318
1435
  class: "bb:w-4 bb:h-4",
1319
1436
  fill: "none",
1320
1437
  stroke: "currentColor",
@@ -1324,8 +1441,8 @@ var Yt = /*#__PURE__*/ A(Ut, [["render", Jt]]), Xt = {}, Zt = {
1324
1441
  xmlns: "http://www.w3.org/2000/svg",
1325
1442
  "aria-hidden": "true"
1326
1443
  };
1327
- function Qt(e, t, n, r, o, s) {
1328
- return d(), i("svg", Zt, [...t[0] ||= [
1444
+ function pn(e, t, n, r, o, s) {
1445
+ return d(), i("svg", fn, [...t[0] ||= [
1329
1446
  a("circle", {
1330
1447
  cx: "12",
1331
1448
  cy: "12",
@@ -1347,7 +1464,7 @@ function Qt(e, t, n, r, o, s) {
1347
1464
  }, null, -1)
1348
1465
  ]]);
1349
1466
  }
1350
- var $t = /*#__PURE__*/ A(Xt, [["render", Qt]]), en = {}, tn = {
1467
+ var mn = /*#__PURE__*/ A(dn, [["render", pn]]), hn = {}, gn = {
1351
1468
  class: "bb:w-4 bb:h-4",
1352
1469
  fill: "none",
1353
1470
  stroke: "currentColor",
@@ -1355,15 +1472,15 @@ var $t = /*#__PURE__*/ A(Xt, [["render", Qt]]), en = {}, tn = {
1355
1472
  xmlns: "http://www.w3.org/2000/svg",
1356
1473
  "aria-hidden": "true"
1357
1474
  };
1358
- function nn(e, t, n, r, o, s) {
1359
- return d(), i("svg", tn, [...t[0] ||= [a("path", {
1475
+ function _n(e, t, n, r, o, s) {
1476
+ return d(), i("svg", gn, [...t[0] ||= [a("path", {
1360
1477
  "stroke-linecap": "round",
1361
1478
  "stroke-linejoin": "round",
1362
1479
  "stroke-width": "2",
1363
1480
  d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"
1364
1481
  }, null, -1)]]);
1365
1482
  }
1366
- var rn = /*#__PURE__*/ A(en, [["render", nn]]), an = {}, on = {
1483
+ var vn = /*#__PURE__*/ A(hn, [["render", _n]]), yn = {}, bn = {
1367
1484
  class: "bb:w-4 bb:h-4",
1368
1485
  fill: "none",
1369
1486
  stroke: "currentColor",
@@ -1371,19 +1488,19 @@ var rn = /*#__PURE__*/ A(en, [["render", nn]]), an = {}, on = {
1371
1488
  xmlns: "http://www.w3.org/2000/svg",
1372
1489
  "aria-hidden": "true"
1373
1490
  };
1374
- function sn(e, t, n, r, o, s) {
1375
- return d(), i("svg", on, [...t[0] ||= [a("path", {
1491
+ function xn(e, t, n, r, o, s) {
1492
+ return d(), i("svg", bn, [...t[0] ||= [a("path", {
1376
1493
  "stroke-linecap": "round",
1377
1494
  "stroke-linejoin": "round",
1378
1495
  "stroke-width": "2",
1379
1496
  d: "M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"
1380
1497
  }, null, -1)]]);
1381
1498
  }
1382
- var cn = /*#__PURE__*/ A(an, [["render", sn]]), ln = ["download", "refresh"], un = {
1499
+ var Sn = /*#__PURE__*/ A(yn, [["render", xn]]), Cn = ["download", "refresh"], wn = {
1383
1500
  components: {
1384
- "clock-icon": $t,
1385
- "download-icon": rn,
1386
- "refresh-icon": cn
1501
+ "clock-icon": mn,
1502
+ "download-icon": vn,
1503
+ "refresh-icon": Sn
1387
1504
  },
1388
1505
  mixins: [k],
1389
1506
  emits: ["click"],
@@ -1395,7 +1512,7 @@ var cn = /*#__PURE__*/ A(an, [["render", sn]]), ln = ["download", "refresh"], un
1395
1512
  icon: {
1396
1513
  type: String,
1397
1514
  required: !0,
1398
- validator: (e) => ln.includes(e)
1515
+ validator: (e) => Cn.includes(e)
1399
1516
  },
1400
1517
  color: {
1401
1518
  type: String,
@@ -1415,12 +1532,12 @@ var cn = /*#__PURE__*/ A(an, [["render", sn]]), ln = ["download", "refresh"], un
1415
1532
  let e = this.isLoading && typeof this.loadingText == "string" && this.loadingText !== "" ? this.loadingText : this.title;
1416
1533
  return typeof e == "string" ? e : "";
1417
1534
  } }
1418
- }, dn = [
1535
+ }, Tn = [
1419
1536
  "title",
1420
1537
  "disabled",
1421
1538
  "aria-busy"
1422
- ], fn = ["textContent"];
1423
- function pn(e, t, o, s, c, l) {
1539
+ ], En = ["textContent"];
1540
+ function Dn(e, t, o, s, c, l) {
1424
1541
  let f = m("clock-icon"), p = m("download-icon"), h = m("refresh-icon");
1425
1542
  return d(), i("button", {
1426
1543
  type: "button",
@@ -1433,12 +1550,21 @@ function pn(e, t, o, s, c, l) {
1433
1550
  disabled: o.isLoading,
1434
1551
  "aria-busy": o.isLoading ? "true" : null,
1435
1552
  onClick: t[0] ||= (t) => e.$emit("click")
1436
- }, [o.isLoading ? (d(), n(f, { key: 0 })) : o.icon === "download" ? (d(), n(p, { key: 1 })) : o.icon === "refresh" ? (d(), n(h, { key: 2 })) : r("", !0), a("span", {
1437
- class: "bb:ml-1",
1553
+ }, [o.isLoading ? (d(), n(f, {
1554
+ key: 0,
1555
+ class: "bb:pointer-events-none bb:cursor-default"
1556
+ })) : o.icon === "download" ? (d(), n(p, {
1557
+ key: 1,
1558
+ class: "bb:pointer-events-none bb:cursor-default"
1559
+ })) : o.icon === "refresh" ? (d(), n(h, {
1560
+ key: 2,
1561
+ class: "bb:pointer-events-none bb:cursor-default"
1562
+ })) : r("", !0), a("span", {
1563
+ class: "bb:ml-1 bb:pointer-events-none bb:cursor-default",
1438
1564
  textContent: g(l.label)
1439
- }, null, 8, fn)], 10, dn);
1565
+ }, null, 8, En)], 10, Tn);
1440
1566
  }
1441
- var mn = /*#__PURE__*/ A(un, [["render", pn]]), hn = { props: {
1567
+ var On = /*#__PURE__*/ A(wn, [["render", Dn]]), kn = { props: {
1442
1568
  isOpen: {
1443
1569
  type: Boolean,
1444
1570
  default: !1
@@ -1447,9 +1573,9 @@ var mn = /*#__PURE__*/ A(un, [["render", pn]]), hn = { props: {
1447
1573
  type: String,
1448
1574
  required: !0
1449
1575
  }
1450
- } }, gn = { class: "bb:flex bb:items-end bb:justify-center bb:min-h-screen bb:pt-4 bb:px-4 bb:pb-20 bb:text-center bb:sm:block bb:sm:p-0" }, _n = { class: "bb:fixed bb:inset-0 bb:transition-opacity" }, vn = ["aria-labelledby"];
1451
- function yn(e, n, r, o, c, l) {
1452
- return d(), i("div", { class: u(["bb-dashboard-ui bb:fixed bb:inset-0 bb:overflow-y-auto bb:z-20", { "bb:pointer-events-none": !r.isOpen }]) }, [a("div", gn, [
1576
+ } }, An = { class: "bb:flex bb:items-end bb:justify-center bb:min-h-screen bb:pt-4 bb:px-4 bb:pb-20 bb:text-center bb:sm:block bb:sm:p-0" }, jn = { class: "bb:fixed bb:inset-0 bb:transition-opacity" }, Mn = ["aria-labelledby"];
1577
+ function Nn(e, n, r, o, c, l) {
1578
+ return d(), i("div", { class: u(["bb-dashboard-ui bb:fixed bb:inset-0 bb:overflow-y-auto bb:z-20", { "bb:pointer-events-none": !r.isOpen }]) }, [a("div", An, [
1453
1579
  s(t, {
1454
1580
  "enter-active-class": "bb:ease-out bb:duration-300",
1455
1581
  "enter-from-class": "bb:opacity-0",
@@ -1458,7 +1584,7 @@ function yn(e, n, r, o, c, l) {
1458
1584
  "leave-from-class": "bb:opacity-100",
1459
1585
  "leave-to-class": "bb:opacity-0"
1460
1586
  }, {
1461
- default: b(() => [x(a("div", _n, [...n[0] ||= [a("div", { class: "bb:absolute bb:inset-0 bb:bg-gray-500 bb:opacity-75" }, null, -1)]], 512), [[y, r.isOpen]])]),
1587
+ default: b(() => [x(a("div", jn, [...n[0] ||= [a("div", { class: "bb:absolute bb:inset-0 bb:bg-gray-500 bb:opacity-75" }, null, -1)]], 512), [[y, r.isOpen]])]),
1462
1588
  _: 1
1463
1589
  }),
1464
1590
  n[1] ||= a("span", { class: "bb:hidden bb:sm:inline-block bb:sm:align-middle bb:sm:h-screen" }, null, -1),
@@ -1475,12 +1601,12 @@ function yn(e, n, r, o, c, l) {
1475
1601
  role: "dialog",
1476
1602
  "aria-modal": "true",
1477
1603
  "aria-labelledby": r.headingId
1478
- }, [p(e.$slots, "default")], 8, vn), [[y, r.isOpen]])]),
1604
+ }, [p(e.$slots, "default")], 8, Mn), [[y, r.isOpen]])]),
1479
1605
  _: 3
1480
1606
  })
1481
1607
  ])], 2);
1482
1608
  }
1483
- var bn = /*#__PURE__*/ A(hn, [["render", yn]]), xn = {}, Sn = {
1609
+ var Pn = /*#__PURE__*/ A(kn, [["render", Nn]]), Fn = {}, In = {
1484
1610
  class: "bb:h-7 bb:w-7 bb:text-red-600",
1485
1611
  xmlns: "http://www.w3.org/2000/svg",
1486
1612
  fill: "none",
@@ -1488,35 +1614,35 @@ var bn = /*#__PURE__*/ A(hn, [["render", yn]]), xn = {}, Sn = {
1488
1614
  stroke: "currentColor",
1489
1615
  "aria-hidden": "true"
1490
1616
  };
1491
- function Cn(e, t, n, r, o, s) {
1492
- return d(), i("svg", Sn, [...t[0] ||= [a("path", {
1617
+ function Ln(e, t, n, r, o, s) {
1618
+ return d(), i("svg", In, [...t[0] ||= [a("path", {
1493
1619
  "stroke-linecap": "round",
1494
1620
  "stroke-linejoin": "round",
1495
1621
  "stroke-width": "2",
1496
1622
  d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"
1497
1623
  }, null, -1)]]);
1498
1624
  }
1499
- var K = /*#__PURE__*/ A(xn, [["render", Cn]]), wn = {}, Tn = {
1625
+ var J = /*#__PURE__*/ A(Fn, [["render", Ln]]), Rn = {}, zn = {
1500
1626
  class: "bb:h-7 bb:w-7 bb:text-yellow-400",
1501
1627
  xmlns: "http://www.w3.org/2000/svg",
1502
1628
  viewBox: "0 0 20 20",
1503
1629
  fill: "currentColor",
1504
1630
  "aria-hidden": "true"
1505
1631
  };
1506
- function En(e, t, n, r, o, s) {
1507
- return d(), i("svg", Tn, [...t[0] ||= [a("path", {
1632
+ function Bn(e, t, n, r, o, s) {
1633
+ return d(), i("svg", zn, [...t[0] ||= [a("path", {
1508
1634
  "fill-rule": "evenodd",
1509
1635
  d: "M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",
1510
1636
  "clip-rule": "evenodd"
1511
1637
  }, null, -1)]]);
1512
1638
  }
1513
- var q = /*#__PURE__*/ A(wn, [["render", En]]), Dn = {
1639
+ var Y = /*#__PURE__*/ A(Rn, [["render", Bn]]), Vn = {
1514
1640
  components: {
1515
- Modal: bn,
1516
- Dangerous: K,
1517
- Warning: q
1641
+ Modal: Pn,
1642
+ Dangerous: J,
1643
+ Warning: Y
1518
1644
  },
1519
- mixins: [W],
1645
+ mixins: [M],
1520
1646
  emits: ["actionConfirmed", "actionCanceled"],
1521
1647
  props: {
1522
1648
  isOpen: {
@@ -1556,20 +1682,20 @@ var q = /*#__PURE__*/ A(wn, [["render", En]]), Dn = {
1556
1682
  return this.type === "warning";
1557
1683
  }
1558
1684
  }
1559
- }, On = { class: "bb:flex bb:bg-white bb:rounded-t-lg bb:px-4 bb:pt-5 bb:pb-4 bb:sm:p-6 bb:sm:pb-4" }, kn = { class: "bb:sm:flex bb:sm:items-start" }, An = { class: "bb:mt-3 bb:text-center bb:sm:mt-0 bb:sm:ml-4 bb:sm:text-left" }, jn = ["id"], Mn = { class: "bb:mt-2" }, Nn = { class: "bb:text-sm bb:text-gray-500" }, Pn = { class: "bb:bg-gray-50 bb:rounded-b-lg bb:px-4 bb:py-3 bb:sm:px-6 bb:sm:flex bb:sm:flex-row-reverse" };
1560
- function Fn(e, t, i, o, s, c) {
1685
+ }, Hn = { class: "bb:flex bb:bg-white bb:rounded-t-lg bb:px-4 bb:pt-5 bb:pb-4 bb:sm:p-6 bb:sm:pb-4" }, Un = { class: "bb:sm:flex bb:sm:items-start" }, Wn = { class: "bb:mt-3 bb:text-center bb:sm:mt-0 bb:sm:ml-4 bb:sm:text-left" }, Gn = ["id"], Kn = { class: "bb:mt-2" }, qn = { class: "bb:text-sm bb:text-gray-500" }, Jn = { class: "bb:bg-gray-50 bb:rounded-b-lg bb:px-4 bb:py-3 bb:sm:px-6 bb:sm:flex bb:sm:flex-row-reverse" };
1686
+ function Yn(e, t, i, o, s, c) {
1561
1687
  let l = m("warning"), f = m("dangerous"), p = m("modal");
1562
1688
  return d(), n(p, {
1563
1689
  "is-open": i.isOpen,
1564
1690
  "heading-id": o.headingId
1565
1691
  }, {
1566
- default: b(() => [a("div", On, [a("div", kn, [a("div", { class: u(["bb:mx-auto bb:shrink-0 bb:flex bb:items-center bb:justify-center bb:h-12 bb:w-12 bb:rounded-full bb:sm:mx-0 bb:sm:h-10 bb:sm:w-10", {
1692
+ default: b(() => [a("div", Hn, [a("div", Un, [a("div", { class: u(["bb:mx-auto bb:shrink-0 bb:flex bb:items-center bb:justify-center bb:h-12 bb:w-12 bb:rounded-full bb:sm:mx-0 bb:sm:h-10 bb:sm:w-10", {
1567
1693
  "bb:bg-red-100": c.isDangerous,
1568
1694
  "bb:bg-yellow-100": c.isWarning
1569
- }]) }, [c.isWarning ? (d(), n(l, { key: 0 })) : r("", !0), c.isDangerous ? (d(), n(f, { key: 1 })) : r("", !0)], 2), a("div", An, [a("h3", {
1695
+ }]) }, [c.isWarning ? (d(), n(l, { key: 0 })) : r("", !0), c.isDangerous ? (d(), n(f, { key: 1 })) : r("", !0)], 2), a("div", Wn, [a("h3", {
1570
1696
  class: "bb:text-lg bb:leading-6 bb:font-medium bb:text-gray-900",
1571
1697
  id: o.headingId
1572
- }, g(i.confirmationHeading), 9, jn), a("div", Mn, [a("p", Nn, g(i.confirmationText), 1)])])])]), a("div", Pn, [a("button", {
1698
+ }, g(i.confirmationHeading), 9, Gn), a("div", Kn, [a("p", qn, g(i.confirmationText), 1)])])])]), a("div", Jn, [a("button", {
1573
1699
  type: "button",
1574
1700
  class: u(["bb:w-full bb:inline-flex bb:justify-center bb:rounded-md bb:border bb:border-transparent bb:shadow-xs bb:px-4 bb:py-2 bb:text-base bb:font-medium bb:text-white bb:focus:outline-hidden bb:focus:ring-2 bb:focus:ring-offset-2 bb:sm:ml-3 bb:sm:w-auto bb:sm:text-sm", {
1575
1701
  "bb:bg-red-600 bb:hover:bg-red-700 bb:focus:ring-red-500": c.isDangerous,
@@ -1584,37 +1710,37 @@ function Fn(e, t, i, o, s, c) {
1584
1710
  _: 1
1585
1711
  }, 8, ["is-open", "heading-id"]);
1586
1712
  }
1587
- var In = /*#__PURE__*/ A(Dn, [["render", Fn]]);
1713
+ var Xn = /*#__PURE__*/ A(Vn, [["render", Yn]]);
1588
1714
  //#endregion
1589
1715
  //#region src/menuItems.js
1590
- function J(e) {
1716
+ function Zn(e) {
1591
1717
  if (typeof e != "object" || !e || typeof e.label != "string" || e.label === "" || e.color !== void 0 && !O(e.color)) return !1;
1592
1718
  let t = typeof e.href == "string" && e.href !== "" && e.onSelect === void 0, n = typeof e.onSelect == "function" && e.href === void 0;
1593
1719
  return t || n;
1594
1720
  }
1595
- function Y(e) {
1721
+ function Qn(e) {
1596
1722
  return Array.isArray(e) ? e.filter((e) => typeof e == "object" && !!e) : [];
1597
1723
  }
1598
- function Ln(e) {
1724
+ function $n(e) {
1599
1725
  return typeof e.href == "string" && e.href !== "";
1600
1726
  }
1601
- function Rn(e) {
1727
+ function er(e) {
1602
1728
  return O(e.color) ? e.color : null;
1603
1729
  }
1604
1730
  //#endregion
1605
1731
  //#region src/navigation.js
1606
- function zn(e) {
1732
+ function tr(e) {
1607
1733
  let t = e.currentTarget?.target ?? "";
1608
1734
  return !(e.defaultPrevented || e.target?.isContentEditable === !0 || e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || t !== "" && t !== "_self" || e.button !== 0);
1609
1735
  }
1610
1736
  var X = {
1611
- inject: _e,
1737
+ inject: ge,
1612
1738
  methods: { followLink(e, t) {
1613
1739
  let n = this.uiSettings.navigate;
1614
- n !== null && zn(e) && (e.preventDefault(), n(t));
1740
+ n !== null && tr(e) && (e.preventDefault(), n(t));
1615
1741
  } }
1616
- }, Bn = {
1617
- components: { PopoverPanel: V },
1742
+ }, nr = {
1743
+ components: { PopoverPanel: H },
1618
1744
  mixins: [X, k],
1619
1745
  emits: ["update:modelValue"],
1620
1746
  props: {
@@ -1626,7 +1752,7 @@ var X = {
1626
1752
  },
1627
1753
  computed: {
1628
1754
  actionItems() {
1629
- return Y(this.actions);
1755
+ return Qn(this.actions);
1630
1756
  },
1631
1757
  hasActions() {
1632
1758
  return this.actionItems.length > 0;
@@ -1634,21 +1760,21 @@ var X = {
1634
1760
  },
1635
1761
  methods: {
1636
1762
  color(e) {
1637
- return Rn(e);
1763
+ return er(e);
1638
1764
  },
1639
1765
  isLink(e) {
1640
- return Ln(e);
1766
+ return $n(e);
1641
1767
  },
1642
1768
  select(e) {
1643
1769
  if (typeof e.onSelect == "function") return e.onSelect();
1644
1770
  }
1645
1771
  }
1646
- }, Vn = [
1772
+ }, rr = [
1647
1773
  "href",
1648
1774
  "onClick",
1649
1775
  "textContent"
1650
- ], Hn = ["onClick", "textContent"];
1651
- function Un(t, r, a, o, s, c) {
1776
+ ], ir = ["onClick", "textContent"];
1777
+ function ar(t, r, a, o, s, c) {
1652
1778
  let l = m("popover-panel");
1653
1779
  return d(), n(l, {
1654
1780
  "model-value": a.modelValue,
@@ -1672,21 +1798,21 @@ function Un(t, r, a, o, s, c) {
1672
1798
  class: u(["bb:block bb:w-full bb:px-4 bb:py-2 bb:text-sm bb:text-left bb:cursor-pointer bb:focus:outline-hidden", c.color(n) === null ? "bb:text-gray-700 bb:focus:bg-gray-100 bb:focus:text-gray-900" : t.colorClass(c.color(n), "menuItem")]),
1673
1799
  onClick: (e) => t.followLink(e, n.href),
1674
1800
  textContent: g(n.label)
1675
- }, null, 10, Vn)) : (d(), i("button", {
1801
+ }, null, 10, rr)) : (d(), i("button", {
1676
1802
  key: 1,
1677
1803
  type: "button",
1678
1804
  role: "menuitem",
1679
1805
  class: u(["bb:block bb:w-full bb:px-4 bb:py-2 bb:text-sm bb:text-left bb:cursor-pointer bb:focus:outline-hidden", c.color(n) === null ? "bb:text-gray-700 bb:focus:bg-gray-100 bb:focus:text-gray-900" : t.colorClass(c.color(n), "menuItem")]),
1680
1806
  onClick: (e) => c.select(n),
1681
1807
  textContent: g(n.label)
1682
- }, null, 10, Hn))], 64))), 128))]),
1808
+ }, null, 10, ir))], 64))), 128))]),
1683
1809
  _: 3
1684
1810
  }, 8, ["model-value", "has-content"]);
1685
1811
  }
1686
- var Z = /*#__PURE__*/ A(Bn, [["render", Un]]), Wn = {
1687
- components: { PopoverMenu: Z },
1812
+ var or = /*#__PURE__*/ A(nr, [["render", ar]]), sr = {
1813
+ components: { PopoverMenu: or },
1688
1814
  mixins: [
1689
- W,
1815
+ M,
1690
1816
  X,
1691
1817
  k
1692
1818
  ],
@@ -1695,7 +1821,7 @@ var Z = /*#__PURE__*/ A(Bn, [["render", Un]]), Wn = {
1695
1821
  actions: {
1696
1822
  type: Array,
1697
1823
  default: () => [],
1698
- validator: (e) => e.every(J)
1824
+ validator: (e) => e.every(Zn)
1699
1825
  },
1700
1826
  modelValue: {
1701
1827
  type: Boolean,
@@ -1707,7 +1833,7 @@ var Z = /*#__PURE__*/ A(Bn, [["render", Un]]), Wn = {
1707
1833
  },
1708
1834
  computed: {
1709
1835
  items() {
1710
- return Y(this.actions);
1836
+ return Qn(this.actions);
1711
1837
  },
1712
1838
  hasActions() {
1713
1839
  return this.items.length > 0;
@@ -1716,7 +1842,7 @@ var Z = /*#__PURE__*/ A(Bn, [["render", Un]]), Wn = {
1716
1842
  return this.items[0];
1717
1843
  },
1718
1844
  mainColor() {
1719
- return this.hasActions ? Rn(this.mainAction) : null;
1845
+ return this.hasActions ? er(this.mainAction) : null;
1720
1846
  },
1721
1847
  menuActions() {
1722
1848
  return this.items.slice(1);
@@ -1738,7 +1864,7 @@ var Z = /*#__PURE__*/ A(Bn, [["render", Un]]), Wn = {
1738
1864
  },
1739
1865
  methods: {
1740
1866
  isLink(e) {
1741
- return Ln(e);
1867
+ return $n(e);
1742
1868
  },
1743
1869
  select(e) {
1744
1870
  if (typeof e.onSelect == "function") return e.onSelect();
@@ -1747,13 +1873,13 @@ var Z = /*#__PURE__*/ A(Bn, [["render", Un]]), Wn = {
1747
1873
  this.menuIsOpen = e, this.$emit("update:modelValue", e);
1748
1874
  }
1749
1875
  }
1750
- }, Gn = {
1876
+ }, cr = {
1751
1877
  key: 0,
1752
1878
  class: "bb-dashboard-ui bb:relative bb:inline-flex bb:shadow-xs bb:rounded-md"
1753
- }, Kn = ["href", "textContent"], qn = ["textContent"], Jn = ["id", "popovertarget"], Yn = { class: "bb:sr-only" };
1754
- function Xn(e, t, n, o, c, l) {
1879
+ }, lr = ["href", "textContent"], ur = ["textContent"], dr = ["id", "popovertarget"], fr = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
1880
+ function pr(e, t, n, o, c, l) {
1755
1881
  let f = m("popover-menu");
1756
- return l.hasActions ? (d(), i("span", Gn, [l.isLink(l.mainAction) ? (d(), i("a", {
1882
+ return l.hasActions ? (d(), i("span", cr, [l.isLink(l.mainAction) ? (d(), i("a", {
1757
1883
  key: 0,
1758
1884
  href: l.mainAction.href,
1759
1885
  class: u(["bb:relative bb:inline-flex bb:items-center bb:px-4 bb:py-2 bb:border bb:text-sm bb:font-medium bb:cursor-pointer bb:focus:z-10 bb:focus:outline-hidden bb:focus:ring-1 bb:focus:ring-indigo-500 bb:focus:border-indigo-500", [{
@@ -1762,7 +1888,7 @@ function Xn(e, t, n, o, c, l) {
1762
1888
  }, l.mainColor === null ? "bb:bg-white bb:border-gray-300 bb:text-gray-700 bb:hover:bg-gray-50" : e.colorClass(l.mainColor, "button")]]),
1763
1889
  onClick: t[0] ||= (t) => e.followLink(t, l.mainAction.href),
1764
1890
  textContent: g(l.mainAction.label)
1765
- }, null, 10, Kn)) : (d(), i("button", {
1891
+ }, null, 10, lr)) : (d(), i("button", {
1766
1892
  key: 1,
1767
1893
  type: "button",
1768
1894
  class: u(["bb:relative bb:inline-flex bb:items-center bb:px-4 bb:py-2 bb:border bb:text-sm bb:font-medium bb:cursor-pointer bb:focus:z-10 bb:focus:outline-hidden bb:focus:ring-1 bb:focus:ring-indigo-500 bb:focus:border-indigo-500", [{
@@ -1771,7 +1897,7 @@ function Xn(e, t, n, o, c, l) {
1771
1897
  }, l.mainColor === null ? "bb:bg-white bb:border-gray-300 bb:text-gray-700 bb:hover:bg-gray-50" : e.colorClass(l.mainColor, "button")]]),
1772
1898
  onClick: t[1] ||= (e) => l.select(l.mainAction),
1773
1899
  textContent: g(l.mainAction.label)
1774
- }, null, 10, qn)), s(f, {
1900
+ }, null, 10, ur)), s(f, {
1775
1901
  class: "bb:-ml-px bb:flex",
1776
1902
  actions: l.menuActions,
1777
1903
  "model-value": n.modelValue,
@@ -1782,8 +1908,8 @@ function Xn(e, t, n, o, c, l) {
1782
1908
  id: n.id,
1783
1909
  popovertarget: n.popovertarget,
1784
1910
  class: u(["bb:relative bb:inline-flex bb:items-center bb:px-2 bb:py-2 bb:rounded-r-md bb:border bb:text-sm bb:font-medium bb:focus:z-10 bb:focus:outline-hidden bb:focus:ring-1 bb:focus:ring-indigo-500 bb:focus:border-indigo-500", l.mainColor === null ? "bb:bg-white bb:border-gray-300 bb:text-gray-500 bb:hover:bg-gray-50" : e.colorClass(l.mainColor, "button")])
1785
- }, [a("span", Yn, g(e.texts.openMenu), 1), t[2] ||= a("svg", {
1786
- class: "bb:h-5 bb:w-5",
1911
+ }, [a("span", fr, g(e.texts.openMenu), 1), t[2] ||= a("svg", {
1912
+ class: "bb:h-5 bb:w-5 bb:pointer-events-none bb:cursor-default",
1787
1913
  xmlns: "http://www.w3.org/2000/svg",
1788
1914
  viewBox: "0 0 20 20",
1789
1915
  fill: "currentColor",
@@ -1792,7 +1918,7 @@ function Xn(e, t, n, o, c, l) {
1792
1918
  "fill-rule": "evenodd",
1793
1919
  d: "M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z",
1794
1920
  "clip-rule": "evenodd"
1795
- })], -1)], 10, Jn)]),
1921
+ })], -1)], 10, dr)]),
1796
1922
  _: 1
1797
1923
  }, 8, [
1798
1924
  "actions",
@@ -1800,16 +1926,16 @@ function Xn(e, t, n, o, c, l) {
1800
1926
  "onUpdate:modelValue"
1801
1927
  ])])) : r("", !0);
1802
1928
  }
1803
- var Zn = /*#__PURE__*/ A(Wn, [["render", Xn]]), Qn = {
1804
- components: { PopoverMenu: Z },
1805
- mixins: [W],
1929
+ var mr = /*#__PURE__*/ A(sr, [["render", pr]]), hr = {
1930
+ components: { PopoverMenu: or },
1931
+ mixins: [M],
1806
1932
  props: { actions: {
1807
1933
  type: Array,
1808
1934
  default: () => [],
1809
- validator: (e) => e.every(J)
1935
+ validator: (e) => e.every(Zn)
1810
1936
  } }
1811
- }, $n = ["id", "popovertarget"], er = { class: "bb:sr-only" };
1812
- function tr(e, t, r, i, o, s) {
1937
+ }, gr = ["id", "popovertarget"], _r = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
1938
+ function vr(e, t, r, i, o, s) {
1813
1939
  let c = m("popover-menu");
1814
1940
  return d(), n(c, {
1815
1941
  class: "bb-dashboard-ui bb:inline-flex",
@@ -1820,8 +1946,8 @@ function tr(e, t, r, i, o, s) {
1820
1946
  id: n.id,
1821
1947
  popovertarget: n.popovertarget,
1822
1948
  class: "bb:relative bb:inline-flex bb:items-center bb:justify-center bb:p-2 bb:rounded-md bb:text-gray-400 bb:hover:text-gray-500 bb:hover:bg-gray-100 bb:focus:outline-hidden bb:focus:bg-gray-100 bb:focus:text-gray-500 bb:transition bb:duration-150 bb:ease-in-out"
1823
- }, [a("span", er, g(e.texts.openMenu), 1), t[0] ||= a("svg", {
1824
- class: "bb:h-6 bb:w-6",
1949
+ }, [a("span", _r, g(e.texts.openMenu), 1), t[0] ||= a("svg", {
1950
+ class: "bb:h-6 bb:w-6 bb:pointer-events-none bb:cursor-default",
1825
1951
  fill: "none",
1826
1952
  viewBox: "0 0 24 24",
1827
1953
  stroke: "currentColor",
@@ -1831,48 +1957,48 @@ function tr(e, t, r, i, o, s) {
1831
1957
  "stroke-linejoin": "round",
1832
1958
  "stroke-width": "2",
1833
1959
  d: "M4 6h16M4 12h16M4 18h16"
1834
- })], -1)], 8, $n)]),
1960
+ })], -1)], 8, gr)]),
1835
1961
  _: 1
1836
1962
  }, 8, ["actions"]);
1837
1963
  }
1838
- var nr = /*#__PURE__*/ A(Qn, [["render", tr]]), rr = {}, ir = {
1964
+ var yr = /*#__PURE__*/ A(hr, [["render", vr]]), br = {}, xr = {
1839
1965
  xmlns: "http://www.w3.org/2000/svg",
1840
1966
  viewBox: "0 0 20 20",
1841
1967
  fill: "currentColor",
1842
1968
  "aria-hidden": "true"
1843
1969
  };
1844
- function ar(e, t, n, r, o, s) {
1845
- return d(), i("svg", ir, [...t[0] ||= [a("path", {
1970
+ function Sr(e, t, n, r, o, s) {
1971
+ return d(), i("svg", xr, [...t[0] ||= [a("path", {
1846
1972
  "fill-rule": "evenodd",
1847
1973
  "clip-rule": "evenodd",
1848
1974
  d: "M7.707 14.707a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 1.414L5.414 9H17a1 1 0 110 2H5.414l2.293 2.293a1 1 0 010 1.414z"
1849
1975
  }, null, -1)]]);
1850
1976
  }
1851
- var or = /*#__PURE__*/ A(rr, [["render", ar]]), sr = {}, cr = {
1977
+ var Cr = /*#__PURE__*/ A(br, [["render", Sr]]), wr = {}, Tr = {
1852
1978
  xmlns: "http://www.w3.org/2000/svg",
1853
1979
  viewBox: "0 0 20 20",
1854
1980
  fill: "currentColor",
1855
1981
  "aria-hidden": "true"
1856
1982
  };
1857
- function lr(e, t, n, r, o, s) {
1858
- return d(), i("svg", cr, [...t[0] ||= [a("path", {
1983
+ function Er(e, t, n, r, o, s) {
1984
+ return d(), i("svg", Tr, [...t[0] ||= [a("path", {
1859
1985
  "fill-rule": "evenodd",
1860
1986
  "clip-rule": "evenodd",
1861
1987
  d: "M12.293 5.293a1 1 0 011.414 0l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-2.293-2.293a1 1 0 010-1.414z"
1862
1988
  }, null, -1)]]);
1863
1989
  }
1864
- var ur = /*#__PURE__*/ A(sr, [["render", lr]]);
1990
+ var Dr = /*#__PURE__*/ A(wr, [["render", Er]]);
1865
1991
  //#endregion
1866
1992
  //#region src/components/Pagination.vue
1867
- function dr(e) {
1993
+ function Or(e) {
1868
1994
  return typeof e == "string" && e !== "" ? e : null;
1869
1995
  }
1870
- var fr = {
1996
+ var kr = {
1871
1997
  components: {
1872
- ArrowNarrowLeft: or,
1873
- ArrowNarrowRight: ur
1998
+ ArrowNarrowLeft: Cr,
1999
+ ArrowNarrowRight: Dr
1874
2000
  },
1875
- mixins: [W, X],
2001
+ mixins: [M, X],
1876
2002
  props: {
1877
2003
  links: {
1878
2004
  type: Object,
@@ -1900,49 +2026,49 @@ var fr = {
1900
2026
  return typeof this.from == "number" && typeof this.to == "number";
1901
2027
  },
1902
2028
  previousPageUrl() {
1903
- return dr(this.links?.prev);
2029
+ return Or(this.links?.prev);
1904
2030
  },
1905
2031
  nextPageUrl() {
1906
- return dr(this.links?.next);
2032
+ return Or(this.links?.next);
1907
2033
  }
1908
2034
  }
1909
- }, pr = {
2035
+ }, Ar = {
1910
2036
  key: 0,
1911
2037
  class: "bb-dashboard-ui bb:px-4 bb:flex bb:items-center bb:justify-between bb:sm:px-0"
1912
- }, mr = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex" }, hr = ["href"], gr = {
2038
+ }, jr = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex" }, Mr = ["href"], Nr = {
1913
2039
  key: 0,
1914
2040
  class: "bb:hidden bb:md:-mt-px bb:md:flex bb:text-gray-400 bb:text-sm bb:leading-5"
1915
- }, _r = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, vr = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, yr = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex bb:justify-end" }, br = ["href"];
1916
- function xr(e, t, n, c, l, u) {
2041
+ }, Pr = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, Fr = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, Ir = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex bb:justify-end" }, Lr = ["href"];
2042
+ function Rr(e, t, n, c, l, u) {
1917
2043
  let f = m("arrow-narrow-left"), p = m("arrow-narrow-right");
1918
- return u.hasResults ? (d(), i("nav", pr, [
1919
- a("div", mr, [u.previousPageUrl === null ? r("", !0) : (d(), i("a", {
2044
+ return u.hasResults ? (d(), i("nav", Ar, [
2045
+ a("div", jr, [u.previousPageUrl === null ? r("", !0) : (d(), i("a", {
1920
2046
  key: 0,
1921
2047
  href: u.previousPageUrl,
1922
2048
  class: "bb:border-t-2 bb:border-transparent bb:pt-4 bb:pr-1 bb:inline-flex bb:items-center bb:text-sm bb:font-medium bb:text-gray-500 bb:hover:text-gray-700 bb:hover:border-indigo-700",
1923
2049
  onClick: t[0] ||= (t) => e.followLink(t, u.previousPageUrl)
1924
- }, [s(f, { class: "bb:mr-3 bb:h-5 bb:w-5 bb:text-gray-400" }), o(" " + g(e.texts.previousPage), 1)], 8, hr))]),
1925
- u.hasRange ? (d(), i("div", gr, [
2050
+ }, [s(f, { class: "bb:mr-3 bb:h-5 bb:w-5 bb:text-gray-400 bb:pointer-events-none bb:cursor-default" }), o(" " + g(e.texts.previousPage), 1)], 8, Mr))]),
2051
+ u.hasRange ? (d(), i("div", Nr, [
1926
2052
  o(g(e.texts.resultsBefore) + " ", 1),
1927
- a("span", _r, g(u.from) + " - " + g(u.to), 1),
2053
+ a("span", Pr, g(u.from) + " - " + g(u.to), 1),
1928
2054
  o(" " + g(e.texts.resultsOf) + " ", 1),
1929
- a("span", vr, g(u.total), 1),
2055
+ a("span", Fr, g(u.total), 1),
1930
2056
  o(" " + g(e.texts.resultsAfter), 1)
1931
2057
  ])) : r("", !0),
1932
- a("div", yr, [u.nextPageUrl === null ? r("", !0) : (d(), i("a", {
2058
+ a("div", Ir, [u.nextPageUrl === null ? r("", !0) : (d(), i("a", {
1933
2059
  key: 0,
1934
2060
  href: u.nextPageUrl,
1935
2061
  class: "bb:border-t-2 bb:border-transparent bb:pt-4 bb:pl-1 bb:inline-flex bb:items-center bb:text-sm bb:font-medium bb:text-gray-500 bb:hover:text-gray-700 bb:hover:border-indigo-700",
1936
2062
  onClick: t[1] ||= (t) => e.followLink(t, u.nextPageUrl)
1937
- }, [o(g(e.texts.nextPage) + " ", 1), s(p, { class: "bb:ml-3 bb:h-5 bb:w-5 bb:text-gray-400" })], 8, br))])
2063
+ }, [o(g(e.texts.nextPage) + " ", 1), s(p, { class: "bb:ml-3 bb:h-5 bb:w-5 bb:text-gray-400 bb:pointer-events-none bb:cursor-default" })], 8, Lr))])
1938
2064
  ])) : r("", !0);
1939
2065
  }
1940
- var Sr = /*#__PURE__*/ A(fr, [["render", xr]]), Cr = [
2066
+ var zr = /*#__PURE__*/ A(kr, [["render", Rr]]), Br = [
1941
2067
  "left",
1942
2068
  "center",
1943
2069
  "right"
1944
2070
  ];
1945
- function wr(e) {
2071
+ function Vr(e) {
1946
2072
  if (typeof e != "object" || !e || typeof e.key != "string" || e.key === "") return null;
1947
2073
  let t = e.key;
1948
2074
  return {
@@ -1951,21 +2077,21 @@ function wr(e) {
1951
2077
  value: typeof e.value == "function" ? e.value : (e) => e?.[t],
1952
2078
  secondary: typeof e.secondary == "function" ? e.secondary : null,
1953
2079
  muted: e.muted === !0,
1954
- align: Cr.includes(e.align) ? e.align : "left",
2080
+ align: Br.includes(e.align) ? e.align : "left",
1955
2081
  wrap: e.wrap === !0,
1956
2082
  narrow: e.narrow === !0,
1957
2083
  visible: e.visible !== !1
1958
2084
  };
1959
2085
  }
1960
- function Tr(e) {
2086
+ function Z(e) {
1961
2087
  return typeof e == "string" && e !== "" ? e : null;
1962
2088
  }
1963
- var Er = {
2089
+ var Hr = {
1964
2090
  components: {
1965
- Pagination: Sr,
1966
- InfoPill: G
2091
+ Pagination: zr,
2092
+ InfoPill: q
1967
2093
  },
1968
- mixins: [W, k],
2094
+ mixins: [M, k],
1969
2095
  props: {
1970
2096
  rows: {
1971
2097
  type: Array,
@@ -2010,7 +2136,7 @@ var Er = {
2010
2136
  return Array.isArray(this.rows) ? this.rows : [];
2011
2137
  },
2012
2138
  visibleColumns() {
2013
- return (Array.isArray(this.columns) ? this.columns : []).map(wr).filter((e) => e !== null && e.visible);
2139
+ return (Array.isArray(this.columns) ? this.columns : []).map(Vr).filter((e) => e !== null && e.visible);
2014
2140
  },
2015
2141
  rowStripes() {
2016
2142
  return this.normalizedRows.map((e) => this.stripeOf(e));
@@ -2029,10 +2155,10 @@ var Er = {
2029
2155
  },
2030
2156
  badgeText() {
2031
2157
  if (this.hasRecords) {
2032
- let e = Tr(this.foundText);
2158
+ let e = Z(this.foundText);
2033
2159
  return e === null ? null : `${e}: ${this.recordCount}`;
2034
2160
  }
2035
- return Tr(this.emptyText);
2161
+ return Z(this.emptyText);
2036
2162
  }
2037
2163
  },
2038
2164
  methods: {
@@ -2059,8 +2185,8 @@ var Er = {
2059
2185
  return n == null ? "" : String(n);
2060
2186
  }
2061
2187
  }
2062
- }, Dr = { class: "bb:min-w-full bb:divide-y bb:divide-gray-200 bb:border-collapse" }, Or = { class: "bb:bg-gray-50" }, kr = ["textContent"], Ar = { class: "bb:divide-y bb:divide-gray-200" }, jr = ["textContent"], Mr = ["textContent"];
2063
- function Nr(t, o, s, c, l, h) {
2188
+ }, Ur = { class: "bb:min-w-full bb:divide-y bb:divide-gray-200 bb:border-collapse" }, Wr = { class: "bb:bg-gray-50" }, Gr = ["textContent"], Kr = { class: "bb:divide-y bb:divide-gray-200" }, qr = ["textContent"], Jr = ["textContent"];
2189
+ function Yr(t, o, s, c, l, h) {
2064
2190
  let _ = m("info-pill"), v = m("pagination");
2065
2191
  return d(), i("div", null, [
2066
2192
  h.hasBadgeRow() ? (d(), i("div", {
@@ -2074,7 +2200,7 @@ function Nr(t, o, s, c, l, h) {
2074
2200
  h.normalizedRows.length > 0 ? (d(), i("div", {
2075
2201
  key: 1,
2076
2202
  class: u(h.isCard && h.hasBadgeRow() ? "bb:mt-4" : "")
2077
- }, [a("div", { class: u(["bb:overflow-x-auto", h.isCard ? "bb:border-t bb:border-gray-200" : "bb:shadow-sm bb:border-b bb:border-gray-200 bb:sm:rounded-lg"]) }, [a("table", Dr, [a("thead", null, [a("tr", Or, [(d(!0), i(e, null, f(h.visibleColumns, (e) => (d(), i("th", {
2203
+ }, [a("div", { class: u(["bb:overflow-x-auto", h.isCard ? "bb:border-t bb:border-gray-200" : "bb:shadow-sm bb:border-b bb:border-gray-200 bb:sm:rounded-lg"]) }, [a("table", Ur, [a("thead", null, [a("tr", Wr, [(d(!0), i(e, null, f(h.visibleColumns, (e) => (d(), i("th", {
2078
2204
  key: e.key,
2079
2205
  scope: "col",
2080
2206
  class: u(["bb:px-6 bb:py-3 bb:text-xs bb:leading-4 bb:font-medium bb:text-gray-500 bb:uppercase bb:tracking-wider bb:whitespace-nowrap", [{
@@ -2083,7 +2209,7 @@ function Nr(t, o, s, c, l, h) {
2083
2209
  "bb:text-right": e.align === "right"
2084
2210
  }, { "bb:w-px": e.narrow }]]),
2085
2211
  textContent: g(e.label)
2086
- }, null, 10, kr))), 128))])]), a("tbody", Ar, [(d(!0), i(e, null, f(h.normalizedRows, (n, o) => (d(), i("tr", {
2212
+ }, null, 10, Gr))), 128))])]), a("tbody", Kr, [(d(!0), i(e, null, f(h.normalizedRows, (n, o) => (d(), i("tr", {
2087
2213
  key: h.keyOf(n, o),
2088
2214
  class: "bb:bg-white bb:even:bg-gray-50"
2089
2215
  }, [(d(!0), i(e, null, f(h.visibleColumns, (e, s) => (d(), i("td", {
@@ -2107,11 +2233,11 @@ function Nr(t, o, s, c, l, h) {
2107
2233
  }, () => [a("div", {
2108
2234
  class: u(["bb:font-medium", e.muted ? "bb:text-gray-400" : "bb:text-gray-900"]),
2109
2235
  textContent: g(h.textOf(e.value, n))
2110
- }, null, 10, jr), e.secondary !== null && h.textOf(e.secondary, n) !== "" ? (d(), i("div", {
2236
+ }, null, 10, qr), e.secondary !== null && h.textOf(e.secondary, n) !== "" ? (d(), i("div", {
2111
2237
  key: 0,
2112
2238
  class: "bb:text-gray-400",
2113
2239
  textContent: g(h.textOf(e.secondary, n))
2114
- }, null, 8, Mr)) : r("", !0)])], 2))), 128))]))), 128))])])], 2)], 2)) : r("", !0),
2240
+ }, null, 8, Jr)) : r("", !0)])], 2))), 128))]))), 128))])])], 2)], 2)) : r("", !0),
2115
2241
  h.hasMeta ? (d(), n(v, {
2116
2242
  key: 2,
2117
2243
  meta: s.meta,
@@ -2126,7 +2252,7 @@ function Nr(t, o, s, c, l, h) {
2126
2252
  ])) : r("", !0)
2127
2253
  ]);
2128
2254
  }
2129
- var Pr = /*#__PURE__*/ A(Er, [["render", Nr]]), Fr = {
2255
+ var Xr = /*#__PURE__*/ A(Hr, [["render", Yr]]), Zr = {
2130
2256
  mixins: [X],
2131
2257
  props: {
2132
2258
  url: {
@@ -2142,46 +2268,28 @@ var Pr = /*#__PURE__*/ A(Er, [["render", Nr]]), Fr = {
2142
2268
  default: !1
2143
2269
  }
2144
2270
  }
2145
- }, Ir = ["href", "textContent"];
2146
- function Lr(e, t, n, r, a, o) {
2271
+ }, Qr = ["href", "textContent"];
2272
+ function $r(e, t, n, r, a, o) {
2147
2273
  return d(), i("a", {
2148
2274
  href: n.url,
2149
2275
  class: u([n.isActive ? "bb:border-indigo-400 bb:text-gray-600 bb:focus:border-indigo-700" : "bb:border-transparent bb:text-gray-500 bb:hover:text-gray-600 bb:hover:border-gray-300 bb:focus:text-gray-700 bb:focus:border-gray-300", "bb-dashboard-ui bb:inline-flex bb:items-center bb:px-1 bb:pt-1 bb:border-b-2 bb:text-sm bb:font-medium bb:leading-5 bb:focus:outline-hidden bb:transition bb:duration-150 bb:ease-in-out"]),
2150
2276
  onClick: t[0] ||= (t) => e.followLink(t, n.url),
2151
2277
  textContent: g(n.name)
2152
- }, null, 10, Ir);
2278
+ }, null, 10, Qr);
2153
2279
  }
2154
- var Rr = /*#__PURE__*/ A(Fr, [["render", Lr]]), zr = { emits: ["clicked"] };
2155
- function Br(e, t, n, r, o, s) {
2156
- return d(), i("button", {
2157
- type: "button",
2158
- tabindex: "-1",
2159
- class: "bb-dashboard-ui bb:flex bb:items-center bb:justify-center bb:bg-transparent bb:cursor-pointer bb:text-gray-400 bb:focus:outline-hidden bb:hover:text-gray-600",
2160
- onClick: t[0] ||= S((t) => e.$emit("clicked"), ["prevent"])
2161
- }, [...t[1] ||= [a("svg", {
2162
- class: "bb:w-full bb:h-full bb:stroke-current",
2163
- fill: "none",
2164
- viewBox: "0 0 24 24"
2165
- }, [a("path", {
2166
- "stroke-linecap": "round",
2167
- "stroke-linejoin": "round",
2168
- "stroke-width": "2",
2169
- d: "M6 18L18 6M6 6l12 12"
2170
- })], -1)]]);
2171
- }
2172
- var Vr = /*#__PURE__*/ A(zr, [["render", Br]]), Hr = [
2280
+ var ei = /*#__PURE__*/ A(Zr, [["render", $r]]), ti = [
2173
2281
  "xl",
2174
2282
  "4xl",
2175
2283
  "7xl"
2176
- ], Ur = {
2177
- components: { Closer: Vr },
2178
- mixins: [W],
2284
+ ], ni = {
2285
+ components: { CrossButton: N },
2286
+ mixins: [M],
2179
2287
  inheritAttrs: !1,
2180
2288
  props: {
2181
2289
  width: {
2182
2290
  type: String,
2183
2291
  default: "xl",
2184
- validator: (e) => Hr.includes(e)
2292
+ validator: (e) => ti.includes(e)
2185
2293
  },
2186
2294
  fallbackUrl: {
2187
2295
  type: String,
@@ -2197,7 +2305,7 @@ var Vr = /*#__PURE__*/ A(zr, [["render", Br]]), Hr = [
2197
2305
  },
2198
2306
  computed: {
2199
2307
  resolvedWidth() {
2200
- return Hr.includes(this.width) ? this.width : "xl";
2308
+ return ti.includes(this.width) ? this.width : "xl";
2201
2309
  },
2202
2310
  windows() {
2203
2311
  return this.uiSettings.windows;
@@ -2244,40 +2352,39 @@ var Vr = /*#__PURE__*/ A(zr, [["render", Br]]), Hr = [
2244
2352
  }
2245
2353
  }
2246
2354
  };
2247
- function Wr(e, t, a, o, s, c) {
2248
- let f = m("closer");
2355
+ function ri(e, t, a, s, c, f) {
2356
+ let h = m("cross-button");
2249
2357
  return d(), i("div", l({
2250
2358
  class: ["bb:box-border bb:relative bb:my-6 bb:mx-auto bb:bg-white bb:shadow-xl bb:sm:rounded-lg", [
2251
2359
  {
2252
- "bb:sm:max-w-xl": c.resolvedWidth === "xl",
2253
- "bb:sm:max-w-4xl": c.resolvedWidth === "4xl",
2254
- "bb:sm:max-w-7xl": c.resolvedWidth === "7xl"
2360
+ "bb:sm:max-w-xl": f.resolvedWidth === "xl",
2361
+ "bb:sm:max-w-4xl": f.resolvedWidth === "4xl",
2362
+ "bb:sm:max-w-7xl": f.resolvedWidth === "7xl"
2255
2363
  },
2256
- c.canClose ? {
2257
- "bb:[--bb-closer-space:3.5rem] bb:md:[--bb-closer-space:0px]": c.resolvedWidth === "xl",
2258
- "bb:[--bb-closer-space:3.5rem] bb:lg:[--bb-closer-space:0px]": c.resolvedWidth === "4xl",
2259
- "bb:[--bb-closer-space:3.5rem] bb:2xl:[--bb-closer-space:0px]": c.resolvedWidth === "7xl"
2364
+ f.canClose ? {
2365
+ "bb:[--bb-closer-space:3.5rem] bb:md:[--bb-closer-space:0px]": f.resolvedWidth === "xl",
2366
+ "bb:[--bb-closer-space:3.5rem] bb:lg:[--bb-closer-space:0px]": f.resolvedWidth === "4xl",
2367
+ "bb:[--bb-closer-space:3.5rem] bb:2xl:[--bb-closer-space:0px]": f.resolvedWidth === "7xl"
2260
2368
  } : "bb:[--bb-closer-space:0px]",
2261
2369
  e.$attrs.class
2262
2370
  ]],
2263
2371
  style: e.$attrs.style
2264
- }, { ...c.forwardedAttrs() }), [p(e.$slots, "default", { close: c.close }), c.canClose ? (d(), n(f, {
2372
+ }, { ...f.forwardedAttrs() }), [p(e.$slots, "default", { close: f.close }), f.canClose ? (d(), n(h, {
2265
2373
  key: 0,
2374
+ size: "large",
2266
2375
  class: u(["bb:absolute bb:top-0 bb:right-0 bb:mt-4 bb:mr-4 bb:w-8 bb:h-8 bb:sm:mt-6 bb:rounded-md bb:focus-visible:ring-2 bb:focus-visible:ring-indigo-500", {
2267
- "bb:md:right-auto bb:md:left-full bb:md:mr-0 bb:md:ml-4": c.resolvedWidth === "xl",
2268
- "bb:lg:right-auto bb:lg:left-full bb:lg:mr-0 bb:lg:ml-4": c.resolvedWidth === "4xl",
2269
- "bb:2xl:right-auto bb:2xl:left-full bb:2xl:mr-0 bb:2xl:ml-4": c.resolvedWidth === "7xl"
2376
+ "bb:md:right-auto bb:md:left-full bb:md:mr-0 bb:md:ml-4": f.resolvedWidth === "xl",
2377
+ "bb:lg:right-auto bb:lg:left-full bb:lg:mr-0 bb:lg:ml-4": f.resolvedWidth === "4xl",
2378
+ "bb:2xl:right-auto bb:2xl:left-full bb:2xl:mr-0 bb:2xl:ml-4": f.resolvedWidth === "7xl"
2270
2379
  }]),
2271
2380
  tabindex: "0",
2272
- "aria-label": e.texts.back,
2273
- onClicked: c.close
2274
- }, null, 8, [
2275
- "class",
2276
- "aria-label",
2277
- "onClicked"
2278
- ])) : r("", !0)], 16);
2381
+ onClicked: f.close
2382
+ }, {
2383
+ default: b(() => [o(g(e.texts.back), 1)]),
2384
+ _: 1
2385
+ }, 8, ["class", "onClicked"])) : r("", !0)], 16);
2279
2386
  }
2280
- var Gr = /*#__PURE__*/ A(Ur, [["render", Wr]]), Kr = {}, qr = {
2387
+ var ii = /*#__PURE__*/ A(ni, [["render", ri]]), ai = {}, oi = {
2281
2388
  class: "bb:h-7 bb:w-7 bb:text-green-600",
2282
2389
  xmlns: "http://www.w3.org/2000/svg",
2283
2390
  fill: "none",
@@ -2286,22 +2393,22 @@ var Gr = /*#__PURE__*/ A(Ur, [["render", Wr]]), Kr = {}, qr = {
2286
2393
  stroke: "currentColor",
2287
2394
  "aria-hidden": "true"
2288
2395
  };
2289
- function Jr(e, t, n, r, o, s) {
2290
- return d(), i("svg", qr, [...t[0] ||= [a("path", {
2396
+ function si(e, t, n, r, o, s) {
2397
+ return d(), i("svg", oi, [...t[0] ||= [a("path", {
2291
2398
  "stroke-linecap": "round",
2292
2399
  "stroke-linejoin": "round",
2293
2400
  d: "M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"
2294
2401
  }, null, -1)]]);
2295
2402
  }
2296
- var Yr = /*#__PURE__*/ A(Kr, [["render", Jr]]), Xr = {}, Zr = {
2403
+ var ci = /*#__PURE__*/ A(ai, [["render", si]]), li = {}, ui = {
2297
2404
  class: "bb:h-5 bb:w-5",
2298
2405
  xmlns: "http://www.w3.org/2000/svg",
2299
2406
  viewBox: "0 0 20 20",
2300
2407
  fill: "currentColor",
2301
2408
  "aria-hidden": "true"
2302
2409
  };
2303
- function Qr(e, t, n, r, o, s) {
2304
- return d(), i("svg", Zr, [...t[0] ||= [a("path", {
2410
+ function di(e, t, n, r, o, s) {
2411
+ return d(), i("svg", ui, [...t[0] ||= [a("path", {
2305
2412
  "fill-rule": "evenodd",
2306
2413
  d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",
2307
2414
  "clip-rule": "evenodd"
@@ -2309,14 +2416,14 @@ function Qr(e, t, n, r, o, s) {
2309
2416
  }
2310
2417
  //#endregion
2311
2418
  //#region src/components/NotificationMessage.vue
2312
- var $r = {
2419
+ var fi = {
2313
2420
  components: {
2314
- Check: Yr,
2315
- Close: /* @__PURE__ */ A(Xr, [["render", Qr]]),
2316
- Dangerous: K,
2317
- Warning: q
2421
+ Check: ci,
2422
+ Close: /* @__PURE__ */ A(li, [["render", di]]),
2423
+ Dangerous: J,
2424
+ Warning: Y
2318
2425
  },
2319
- mixins: [W],
2426
+ mixins: [M],
2320
2427
  emits: ["update:modelValue"],
2321
2428
  props: {
2322
2429
  modelValue: {
@@ -2354,8 +2461,8 @@ var $r = {
2354
2461
  return this.type === "confirmation";
2355
2462
  }
2356
2463
  }
2357
- }, ei = ["role"], ti = { class: "bb:p-4" }, ni = { class: "bb:flex bb:items-start" }, ri = { class: "bb:shrink-0" }, ii = { class: "bb:ml-3 bb:w-0 bb:flex-1 bb:pt-0.5" }, ai = { class: "bb:text-sm bb:font-medium bb:text-gray-900" }, oi = { class: "bb:mt-1 bb:text-sm bb:text-gray-500" }, si = { class: "bb:ml-4 bb:shrink-0 bb:flex" }, ci = { class: "bb:sr-only" };
2358
- function li(e, t, o, c, l, f) {
2464
+ }, pi = ["role"], mi = { class: "bb:p-4" }, hi = { class: "bb:flex bb:items-start" }, gi = { class: "bb:shrink-0" }, _i = { class: "bb:ml-3 bb:w-0 bb:flex-1 bb:pt-0.5" }, vi = { class: "bb:text-sm bb:font-medium bb:text-gray-900" }, yi = { class: "bb:mt-1 bb:text-sm bb:text-gray-500" }, bi = { class: "bb:ml-4 bb:shrink-0 bb:flex" }, xi = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
2465
+ function Si(e, t, o, c, l, f) {
2359
2466
  let p = m("warning"), h = m("dangerous"), _ = m("check"), v = m("close");
2360
2467
  return d(), i("div", {
2361
2468
  class: "bb-dashboard-ui bb:fixed bb:inset-0 bb:flex bb:items-end bb:justify-center bb:px-4 bb:py-6 bb:pointer-events-none bb:sm:p-6 bb:sm:items-start bb:sm:justify-end",
@@ -2367,14 +2474,14 @@ function li(e, t, o, c, l, f) {
2367
2474
  "bb:bg-yellow-50": f.isWarning,
2368
2475
  "bb:bg-gray-50": f.isConfirmation
2369
2476
  }])
2370
- }, [a("div", ti, [a("div", ni, [
2371
- a("div", ri, [
2477
+ }, [a("div", mi, [a("div", hi, [
2478
+ a("div", gi, [
2372
2479
  f.isWarning ? (d(), n(p, { key: 0 })) : r("", !0),
2373
2480
  f.isDangerous ? (d(), n(h, { key: 1 })) : r("", !0),
2374
2481
  f.isConfirmation ? (d(), n(_, { key: 2 })) : r("", !0)
2375
2482
  ]),
2376
- a("div", ii, [a("p", ai, g(o.notificationHeading), 1), a("p", oi, g(f.text), 1)]),
2377
- a("div", si, [a("button", {
2483
+ a("div", _i, [a("p", vi, g(o.notificationHeading), 1), a("p", yi, g(f.text), 1)]),
2484
+ a("div", bi, [a("button", {
2378
2485
  type: "button",
2379
2486
  class: u(["bb:rounded-md bb:inline-flex bb:text-gray-400 bb:hover:text-gray-500 bb:focus:outline-hidden bb:focus:ring-2 bb:focus:ring-offset-2 bb:focus:ring-indigo-500", {
2380
2487
  "bb:bg-red-50": f.isDangerous,
@@ -2382,10 +2489,10 @@ function li(e, t, o, c, l, f) {
2382
2489
  "bb:bg-gray-50": f.isConfirmation
2383
2490
  }]),
2384
2491
  onClick: t[0] ||= S((t) => e.$emit("update:modelValue", ""), ["prevent"])
2385
- }, [a("span", ci, g(e.texts.close), 1), s(v)], 2)])
2386
- ])])], 2)) : r("", !0)], 8, ei);
2492
+ }, [a("span", xi, g(e.texts.close), 1), s(v, { class: "bb:pointer-events-none bb:cursor-default" })], 2)])
2493
+ ])])], 2)) : r("", !0)], 8, pi);
2387
2494
  }
2388
- var ui = /*#__PURE__*/ A($r, [["render", li]]), di = {}, fi = {
2495
+ var Ci = /*#__PURE__*/ A(fi, [["render", Si]]), wi = {}, Ti = {
2389
2496
  class: "bb:h-5 bb:w-5",
2390
2497
  xmlns: "http://www.w3.org/2000/svg",
2391
2498
  fill: "none",
@@ -2394,8 +2501,8 @@ var ui = /*#__PURE__*/ A($r, [["render", li]]), di = {}, fi = {
2394
2501
  "stroke-width": "2",
2395
2502
  "aria-hidden": "true"
2396
2503
  };
2397
- function pi(e, t, n, r, o, s) {
2398
- return d(), i("svg", fi, [...t[0] ||= [a("path", {
2504
+ function Ei(e, t, n, r, o, s) {
2505
+ return d(), i("svg", Ti, [...t[0] ||= [a("path", {
2399
2506
  "stroke-linecap": "round",
2400
2507
  "stroke-linejoin": "round",
2401
2508
  d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z"
@@ -2405,12 +2512,12 @@ function pi(e, t, n, r, o, s) {
2405
2512
  d: "M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"
2406
2513
  }, null, -1)]]);
2407
2514
  }
2408
- var mi = /*#__PURE__*/ A(di, [["render", pi]]), Q = 0, $ = null, hi = {
2515
+ var Di = /*#__PURE__*/ A(wi, [["render", Ei]]), Q = 0, $ = null, Oi = {
2409
2516
  components: {
2410
- PopoverPanel: V,
2411
- Eye: mi
2517
+ PopoverPanel: H,
2518
+ Eye: Di
2412
2519
  },
2413
- mixins: [W],
2520
+ mixins: [M],
2414
2521
  emits: ["update:modelValue"],
2415
2522
  props: {
2416
2523
  text: {
@@ -2453,8 +2560,8 @@ var mi = /*#__PURE__*/ A(di, [["render", pi]]), Q = 0, $ = null, hi = {
2453
2560
  this.holdsPageSelectionLock && (this.holdsPageSelectionLock = !1, --Q, Q === 0 && (Object.assign(document.documentElement.style, $), $ = null));
2454
2561
  }
2455
2562
  }
2456
- }, gi = ["id", "popovertarget"], _i = { class: "bb:sr-only" };
2457
- function vi(e, t, r, i, c, l) {
2563
+ }, ki = ["id", "popovertarget"], Ai = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
2564
+ function ji(e, t, r, i, c, l) {
2458
2565
  let u = m("eye"), f = m("popover-panel");
2459
2566
  return d(), n(f, {
2460
2567
  class: "bb-dashboard-ui bb:inline-flex",
@@ -2474,7 +2581,7 @@ function vi(e, t, r, i, c, l) {
2474
2581
  id: t.id,
2475
2582
  popovertarget: t.popovertarget,
2476
2583
  class: "bb:relative bb:text-gray-400 bb:hover:text-gray-600 bb:rounded-md bb:focus:outline-hidden bb:focus-visible:ring-2 bb:focus-visible:ring-indigo-500"
2477
- }, [a("span", _i, g(e.texts.showText), 1), s(u)], 8, gi)]),
2584
+ }, [a("span", Ai, g(e.texts.showText), 1), s(u, { class: "bb:pointer-events-none bb:cursor-default" })], 8, ki)]),
2478
2585
  default: b(() => [o(g(l.normalizedText), 1)]),
2479
2586
  _: 1
2480
2587
  }, 8, [
@@ -2484,6 +2591,6 @@ function vi(e, t, r, i, c, l) {
2484
2591
  "onToggle"
2485
2592
  ]);
2486
2593
  }
2487
- var yi = /*#__PURE__*/ A(hi, [["render", vi]]);
2594
+ var Mi = /*#__PURE__*/ A(Oi, [["render", ji]]);
2488
2595
  //#endregion
2489
- export { mn as ActionPill, In as ConfirmationModal, Pr as DataTable, j as Dot, Zn as DropdownButtonWithAction, Yt as ErrorMessages, nr as HamburgerMenu, G as InfoPill, Rr as NavigationMenuElement, ui as NotificationMessage, Gr as PageCard, Ge as RussianMobileFilter, Qe as Search, xt as SelectDateInterval, zt as SelectSingle, yi as TextPopover, ye as dashboardUi, Ce as downloadFile };
2596
+ export { On as ActionPill, Xn as ConfirmationModal, Xr as DataTable, Oe as Dot, mr as DropdownButtonWithAction, un as ErrorMessages, yr as HamburgerMenu, q as InfoPill, ei as NavigationMenuElement, Ci as NotificationMessage, ii as PageCard, Ze as RussianMobileFilter, it as Search, Ft as SelectDateInterval, $t as SelectSingle, Mi as TextPopover, ve as dashboardUi, Se as downloadFile };