@boobooking/dashboard-ui-components 0.20.0 → 0.21.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/dist/index.js CHANGED
@@ -150,12 +150,12 @@ function ue(e) {
150
150
  for (let n of e.cards.values()) t = n.window;
151
151
  return t;
152
152
  }
153
- function E(e, t) {
153
+ function de(e, t) {
154
154
  let n = t;
155
155
  for (; n !== null && !T(e, n);) n = n.parent;
156
156
  return n;
157
157
  }
158
- function de(e, t) {
158
+ function fe(e, t) {
159
159
  return e.transition = {
160
160
  number: e.transition.number + 1,
161
161
  fromAddress: e.shown,
@@ -163,11 +163,11 @@ function de(e, t) {
163
163
  assigned: /* @__PURE__ */ new Map()
164
164
  }, e.shown = t, e.transition.number;
165
165
  }
166
- function fe(e, t, n) {
166
+ function pe(e, t, n) {
167
167
  let r = e.transition, i = r.assigned.get(t);
168
168
  if (i !== void 0 && T(e, i)) return i;
169
169
  let a = r.fromWindow, o = r.fromAddress;
170
- a !== null && !T(e, a) && (a = E(e, a), o = null), a !== null && le(a) === e.shown && (e.windows.splice(e.windows.indexOf(a)), a = a.parent === null ? null : E(e, a.parent), o = null);
170
+ a !== null && !T(e, a) && (a = de(e, a), o = null), a !== null && le(a) === e.shown && (e.windows.splice(e.windows.indexOf(a)), a = a.parent === null ? null : de(e, a.parent), o = null);
171
171
  for (let n = a; n !== null; n = n.parent) if (n.key === t && T(e, n)) return e.windows.splice(e.windows.indexOf(n) + 1), n;
172
172
  a === null ? e.windows = [] : e.windows.splice(e.windows.indexOf(a) + 1);
173
173
  let s = {
@@ -179,18 +179,18 @@ function fe(e, t, n) {
179
179
  };
180
180
  return e.nextId += 1, e.windows.push(s), s;
181
181
  }
182
- function D(e, t, n, r) {
183
- let i = fe(e, n, r);
182
+ function E(e, t, n, r) {
183
+ let i = pe(e, n, r);
184
184
  return i.fallbackAddress = r, e.transition.assigned.set(n, i), e.cards.delete(t), e.cards.set(t, {
185
185
  key: n,
186
186
  window: i,
187
187
  processed: e.transition.number
188
188
  }), i;
189
189
  }
190
- function pe(e, t, n, r) {
190
+ function me(e, t, n, r) {
191
191
  let i = e.cards.get(t);
192
192
  return i === void 0 ? {
193
- window: D(e, t, n, r),
193
+ window: E(e, t, n, r),
194
194
  rejected: !1,
195
195
  key: n
196
196
  } : i.key === n ? (i.processed = e.transition.number, {
@@ -202,29 +202,29 @@ function pe(e, t, n, r) {
202
202
  rejected: !0,
203
203
  key: i.key
204
204
  } : (e.cards.delete(t), {
205
- window: D(e, t, n, r),
205
+ window: E(e, t, n, r),
206
206
  rejected: !1,
207
207
  key: n
208
208
  });
209
209
  }
210
- function me(e, t) {
210
+ function he(e, t) {
211
211
  e.cards.delete(t);
212
212
  }
213
- function he(e, t, n) {
213
+ function ge(e, t, n) {
214
214
  let r = e.cards.get(t);
215
215
  r !== void 0 && (r.window.fallbackAddress = n);
216
216
  }
217
217
  //#endregion
218
218
  //#region src/plugin.js
219
- var ge = Symbol("dashboardUi"), _e = Object.freeze({
219
+ var _e = Symbol("dashboardUi"), ve = Object.freeze({
220
220
  lang: "ru",
221
221
  navigate: null,
222
222
  windows: null
223
- }), O = { uiSettings: {
224
- from: ge,
225
- default: () => _e
223
+ }), ye = { uiSettings: {
224
+ from: _e,
225
+ default: () => ve
226
226
  } };
227
- function ve(e, t) {
227
+ function be(e, t) {
228
228
  let n = ce(), r = g({
229
229
  number: 0,
230
230
  address: null
@@ -232,7 +232,7 @@ function ve(e, t) {
232
232
  return i.run(() => {
233
233
  ne(t, (e) => {
234
234
  let t = oe(e, window.location.origin);
235
- t !== null && t !== r.address && (r.number = de(n, t), r.address = t);
235
+ t !== null && t !== r.address && (r.number = fe(n, t), r.address = t);
236
236
  }, {
237
237
  flush: "sync",
238
238
  immediate: !0
@@ -242,21 +242,21 @@ function ve(e, t) {
242
242
  page: r
243
243
  };
244
244
  }
245
- var ye = { install(e, t) {
245
+ var xe = { install(e, t) {
246
246
  let n = t ?? {}, r = Object.hasOwn(n, "lang") ? n.lang : "ru";
247
247
  if (!w(r)) throw Error(`dashboardUi: неизвестный lang «${r}», допустимы: ${ie.join(", ")}`);
248
248
  let i = Object.hasOwn(n, "navigate"), a = i ? n.navigate : null;
249
249
  if (i && typeof a != "function") throw Error("dashboardUi: navigate должен быть функцией (href) => …");
250
250
  let o = Object.hasOwn(n, "currentUrl"), s = o ? n.currentUrl : null;
251
251
  if (o && typeof s != "function") throw Error("dashboardUi: currentUrl должен быть функцией () => адрес страницы");
252
- let c = s !== null && typeof window < "u" ? ve(e, s) : null;
253
- e.provide(ge, Object.freeze({
252
+ let c = s !== null && typeof window < "u" ? be(e, s) : null;
253
+ e.provide(_e, Object.freeze({
254
254
  lang: r,
255
255
  navigate: a,
256
256
  windows: c
257
257
  }));
258
- } }, be = 4e4;
259
- function xe(e) {
258
+ } }, Se = 4e4;
259
+ function Ce(e) {
260
260
  if (typeof e != "string") return null;
261
261
  let t = /filename\*\s*=\s*UTF-8''([^;]+)/i.exec(e);
262
262
  if (t !== null) try {
@@ -267,7 +267,7 @@ function xe(e) {
267
267
  let r = /filename\s*=\s*([^;"\s]+)/i.exec(e);
268
268
  return r === null ? null : r[1];
269
269
  }
270
- function Se(e) {
270
+ function we(e) {
271
271
  try {
272
272
  let t = new URL(e, window.location.href).pathname.split("/").filter((e) => e !== "");
273
273
  return t.length === 0 ? null : decodeURIComponent(t[t.length - 1]);
@@ -275,7 +275,7 @@ function Se(e) {
275
275
  return null;
276
276
  }
277
277
  }
278
- async function Ce(e) {
278
+ async function Te(e) {
279
279
  let t = await fetch(e, { credentials: "same-origin" });
280
280
  if (t.redirected) throw Object.assign(/* @__PURE__ */ Error(`downloadFile: сервер перенаправил запрос ${e}`), {
281
281
  redirectUrl: t.url,
@@ -285,12 +285,12 @@ async function Ce(e) {
285
285
  redirectUrl: null,
286
286
  status: t.status
287
287
  });
288
- let n = xe(t.headers.get("Content-Disposition")) ?? Se(e) ?? "download", r = URL.createObjectURL(await t.blob()), i = document.createElement("a");
289
- i.href = r, i.download = n, i.style.display = "none", document.body.appendChild(i), i.click(), i.remove(), setTimeout(() => URL.revokeObjectURL(r), be);
288
+ let n = Ce(t.headers.get("Content-Disposition")) ?? we(e) ?? "download", r = URL.createObjectURL(await t.blob()), i = document.createElement("a");
289
+ i.href = r, i.download = n, i.style.display = "none", document.body.appendChild(i), i.click(), i.remove(), setTimeout(() => URL.revokeObjectURL(r), Se);
290
290
  }
291
291
  //#endregion
292
292
  //#region src/colors.js
293
- var k = {
293
+ var D = {
294
294
  gray: {
295
295
  pill: "bb:bg-gray-100 bb:text-gray-800",
296
296
  pillHover: "bb:hover:text-gray-600",
@@ -333,19 +333,19 @@ var k = {
333
333
  menuItem: "bb:bg-purple-100 bb:text-purple-800 bb:hover:bg-purple-200 bb:focus:bg-purple-200",
334
334
  mark: "bb:text-purple-500"
335
335
  }
336
- }, we = Object.keys(k);
337
- function A(e) {
338
- return we.includes(e);
336
+ }, Ee = Object.keys(D);
337
+ function O(e) {
338
+ return Ee.includes(e);
339
339
  }
340
- function Te(e, t) {
341
- return A(e) ? k[e][t] ?? "" : "";
340
+ function De(e, t) {
341
+ return O(e) ? D[e][t] ?? "" : "";
342
342
  }
343
- var j = { methods: { colorClass: Te } }, M = (e, t) => {
343
+ var k = { methods: { colorClass: De } }, A = (e, t) => {
344
344
  let n = e.__vccOpts || e;
345
345
  for (let [e, r] of t) n[e] = r;
346
346
  return n;
347
- }, Ee = {
348
- mixins: [j],
347
+ }, Oe = {
348
+ mixins: [k],
349
349
  props: {
350
350
  withPulse: {
351
351
  type: Boolean,
@@ -354,11 +354,11 @@ var j = { methods: { colorClass: Te } }, M = (e, t) => {
354
354
  color: {
355
355
  type: String,
356
356
  required: !0,
357
- validator: A
357
+ validator: O
358
358
  }
359
359
  }
360
360
  };
361
- function De(e, t, n, r, o, s) {
361
+ function ke(e, t, n, r, o, s) {
362
362
  return f(), i("div", { class: u(["bb-dashboard-ui bb:flex bb:h-full bb:items-center bb:leading-none bb:text-4xl", [e.colorClass(n.color, "mark"), { "bb:animate-pulse": n.withPulse }]]) }, [...t[0] ||= [a("svg", {
363
363
  class: "bb:fill-current bb:w-2 bb:h-2",
364
364
  viewBox: "0 0 120 120"
@@ -368,8 +368,8 @@ function De(e, t, n, r, o, s) {
368
368
  r: "45"
369
369
  })], -1)]], 2);
370
370
  }
371
- var N = /*#__PURE__*/ M(Ee, [["render", De]]), Oe = {
372
- components: { Dot: N },
371
+ var j = /*#__PURE__*/ A(Oe, [["render", ke]]), Ae = {
372
+ components: { Dot: j },
373
373
  props: {
374
374
  text: {
375
375
  type: String,
@@ -384,14 +384,14 @@ var N = /*#__PURE__*/ M(Ee, [["render", De]]), Oe = {
384
384
  default: !1
385
385
  }
386
386
  }
387
- }, ke = { class: "bb:flex bb:h-6 bb:px-3 bb:bg-white bb:items-center bb:justify-between" }, Ae = ["textContent"];
388
- function je(e, t, n, r, o, c) {
387
+ }, je = { class: "bb:flex bb:h-6 bb:px-3 bb:bg-white bb:items-center bb:justify-between" }, Me = ["textContent"];
388
+ function Ne(e, t, n, r, o, c) {
389
389
  let l = h("dot");
390
- return f(), i("div", ke, [
390
+ return f(), i("div", je, [
391
391
  a("div", {
392
392
  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",
393
393
  textContent: _(n.text)
394
- }, null, 8, Ae),
394
+ }, null, 8, Me),
395
395
  x(s(l, {
396
396
  color: "red",
397
397
  "with-pulse": !0,
@@ -403,8 +403,8 @@ function je(e, t, n, r, o, c) {
403
403
  }, null, 512), [[y, n.isRequired]])
404
404
  ]);
405
405
  }
406
- var P = /*#__PURE__*/ M(Oe, [["render", je]]), F = {
407
- inject: O,
406
+ var M = /*#__PURE__*/ A(Ae, [["render", Ne]]), N = {
407
+ inject: ye,
408
408
  props: { lang: {
409
409
  type: String,
410
410
  default: null,
@@ -418,11 +418,11 @@ var P = /*#__PURE__*/ M(Oe, [["render", je]]), F = {
418
418
  return ae[this.resolvedLang];
419
419
  }
420
420
  }
421
- }, Me = [
421
+ }, Pe = [
422
422
  { transform: "scale(1)" },
423
423
  { transform: "scale(0.8)" },
424
424
  { transform: "scale(1)" }
425
- ], Ne = 150, Pe = {
425
+ ], Fe = 150, Ie = {
426
426
  created() {
427
427
  this.isPressing = !1, this.isUnmounted = !1;
428
428
  },
@@ -430,39 +430,39 @@ var P = /*#__PURE__*/ M(Oe, [["render", je]]), F = {
430
430
  this.isUnmounted = !0;
431
431
  },
432
432
  methods: { press() {
433
- this.isPressing || (this.isPressing = !0, Fe(this.$el).then(() => {
433
+ this.isPressing || (this.isPressing = !0, Le(this.$el).then(() => {
434
434
  this.isPressing = !1, this.isUnmounted || this.$emit("clicked");
435
435
  }));
436
436
  } }
437
437
  };
438
- function Fe(e) {
439
- if (typeof e.animate != "function" || Ie()) return Promise.resolve();
438
+ function Le(e) {
439
+ if (typeof e.animate != "function" || Re()) return Promise.resolve();
440
440
  let t = () => {};
441
- return e.animate(Me, {
442
- duration: Ne,
441
+ return e.animate(Pe, {
442
+ duration: Fe,
443
443
  easing: "ease-out"
444
444
  }).finished.then(t, t);
445
445
  }
446
- function Ie() {
446
+ function Re() {
447
447
  return typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
448
448
  }
449
449
  //#endregion
450
450
  //#region src/components/CrossButton.vue
451
- var Le = {
452
- mixins: [F, Pe],
451
+ var ze = {
452
+ mixins: [N, Ie],
453
453
  props: { size: {
454
454
  type: String,
455
455
  required: !0,
456
456
  validator: (e) => ["small", "large"].includes(e)
457
457
  } },
458
458
  emits: ["clicked"]
459
- }, Re = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" }, ze = { class: "bb:flex bb:rounded-md bb:group-focus-visible:focus-ring bb:pointer-events-none bb:cursor-default" };
460
- function Be(e, t, n, r, s, c) {
459
+ }, Be = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" }, Ve = { class: "bb:flex bb:rounded-md bb:group-focus-visible:focus-ring bb:pointer-events-none bb:cursor-default" };
460
+ function He(e, t, n, r, s, c) {
461
461
  return f(), i("button", {
462
462
  type: "button",
463
463
  class: "bb-dashboard-ui bb:group 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",
464
464
  onClick: t[0] ||= C((...t) => e.press && e.press(...t), ["prevent"])
465
- }, [a("span", Re, [m(e.$slots, "default", {}, () => [o(_(e.texts.clear), 1)])]), a("span", ze, [(f(), i("svg", {
465
+ }, [a("span", Be, [m(e.$slots, "default", {}, () => [o(_(e.texts.clear), 1)])]), a("span", Ve, [(f(), i("svg", {
466
466
  class: u(["bb:stroke-current bb:pointer-events-none bb:cursor-default", {
467
467
  "bb:w-6 bb:h-6": n.size === "small",
468
468
  "bb:w-8 bb:h-8": n.size === "large"
@@ -477,24 +477,24 @@ function Be(e, t, n, r, s, c) {
477
477
  d: "M6 18L18 6M6 6l12 12"
478
478
  }, null, -1)]], 2))])]);
479
479
  }
480
- var I = /*#__PURE__*/ M(Le, [["render", Be]]), Ve = 10;
481
- function He(e) {
480
+ var P = /*#__PURE__*/ A(ze, [["render", He]]), Ue = 10;
481
+ function We(e) {
482
482
  let t = e.replace(/\D/g, "");
483
- return (t.startsWith("7") || t.startsWith("8")) && t[1] === "9" && (t = t.slice(1)), t.slice(0, Ve);
483
+ return (t.startsWith("7") || t.startsWith("8")) && t[1] === "9" && (t = t.slice(1)), t.slice(0, Ue);
484
484
  }
485
- function L(e) {
485
+ function F(e) {
486
486
  return e === "" ? "" : `7${e}`;
487
487
  }
488
- function R(e) {
488
+ function I(e) {
489
489
  let t = e ?? "", n = t.startsWith("+") ? t.slice(1) : t;
490
490
  return n.startsWith("7") ? n.slice(1) : n;
491
491
  }
492
492
  //#endregion
493
493
  //#region src/components/RussianMobileFilter.vue
494
- var Ue = 400, We = 3, Ge = {
494
+ var Ge = 400, Ke = 3, qe = {
495
495
  components: {
496
- ElementHeader: P,
497
- CrossButton: I
496
+ ElementHeader: M,
497
+ CrossButton: P
498
498
  },
499
499
  emits: ["update:modelValue", "changed"],
500
500
  props: {
@@ -516,10 +516,10 @@ var Ue = 400, We = 3, Ge = {
516
516
  }
517
517
  },
518
518
  data() {
519
- return { digits: R(this.modelValue) };
519
+ return { digits: I(this.modelValue) };
520
520
  },
521
521
  created() {
522
- this.mask = null, this.debounceTimer = null, this.isWritingProgrammatically = !1, this.lastCommitted = R(this.modelValue), this.isUnmounted = !1;
522
+ this.mask = null, this.debounceTimer = null, this.isWritingProgrammatically = !1, this.lastCommitted = I(this.modelValue), this.isUnmounted = !1;
523
523
  },
524
524
  mounted() {
525
525
  this.mask = re(this.$refs.input, {
@@ -527,21 +527,21 @@ var Ue = 400, We = 3, Ge = {
527
527
  lazy: !0,
528
528
  prepare: (e, t) => t.unmaskedValue === "" && (e === "7" || e === "8") ? "" : e
529
529
  }), this.mask.on("accept", () => {
530
- this.isWritingProgrammatically || (this.digits = this.mask.unmaskedValue, this.$emit("update:modelValue", L(this.digits)), this.scheduleCommit());
530
+ this.isWritingProgrammatically || (this.digits = this.mask.unmaskedValue, this.$emit("update:modelValue", F(this.digits)), this.scheduleCommit());
531
531
  }), this.syncFromModelValue(this.modelValue);
532
532
  },
533
533
  beforeUnmount() {
534
534
  this.isUnmounted = !0, clearTimeout(this.debounceTimer), this.mask?.destroy();
535
535
  },
536
536
  watch: { modelValue(e) {
537
- e !== L(this.digits) && this.syncFromModelValue(e);
537
+ e !== F(this.digits) && this.syncFromModelValue(e);
538
538
  } },
539
539
  methods: {
540
540
  syncFromModelValue(e) {
541
- this.writeToMask(R(e)), this.digits = this.mask.unmaskedValue, this.lastCommitted = this.digits;
541
+ this.writeToMask(I(e)), this.digits = this.mask.unmaskedValue, this.lastCommitted = this.digits;
542
542
  },
543
543
  applyUserDigits(e) {
544
- this.writeToMask(e), this.digits = this.mask.unmaskedValue, this.$emit("update:modelValue", L(this.digits));
544
+ this.writeToMask(e), this.digits = this.mask.unmaskedValue, this.$emit("update:modelValue", F(this.digits));
545
545
  },
546
546
  writeToMask(e) {
547
547
  if (this.isWritingProgrammatically = !0, e === "") this.mask.value = "";
@@ -564,7 +564,7 @@ var Ue = 400, We = 3, Ge = {
564
564
  this.isUnmounted || (this.setLazy(!0), this.digits === "" && this.writeToMask(""), this.commit());
565
565
  },
566
566
  onPaste(e) {
567
- this.applyUserDigits(He(e.clipboardData?.getData("text") ?? "")), this.scheduleCommit();
567
+ this.applyUserDigits(We(e.clipboardData?.getData("text") ?? "")), this.scheduleCommit();
568
568
  },
569
569
  moveFocusFromEraser() {
570
570
  let e = this.$refs.eraser.$el;
@@ -578,16 +578,16 @@ var Ue = 400, We = 3, Ge = {
578
578
  this.commit();
579
579
  return;
580
580
  }
581
- this.digits.length < We || (this.debounceTimer = setTimeout(() => this.commit(), Ue));
581
+ this.digits.length < Ke || (this.debounceTimer = setTimeout(() => this.commit(), Ge));
582
582
  },
583
583
  commit() {
584
584
  clearTimeout(this.debounceTimer), this.digits !== this.lastCommitted && (this.lastCommitted = this.digits, this.$emit("changed"));
585
585
  }
586
586
  }
587
- }, 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" };
588
- function Xe(e, t, n, r, o, c) {
587
+ }, Je = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, Ye = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, Xe = { class: "bb:relative bb:flex bb:h-full bb:w-full" }, Ze = { class: "bb:flex bb:w-full bb:h-full bb:items-center bb:justify-center" };
588
+ function Qe(e, t, n, r, o, c) {
589
589
  let l = h("element-header"), u = h("cross-button");
590
- return f(), i("div", Ke, [a("div", qe, [s(l, {
590
+ return f(), i("div", Je, [a("div", Ye, [s(l, {
591
591
  text: n.header,
592
592
  "is-required": n.isRequired,
593
593
  "is-loading": n.isLoading
@@ -595,7 +595,7 @@ function Xe(e, t, n, r, o, c) {
595
595
  "text",
596
596
  "is-required",
597
597
  "is-loading"
598
- ]), a("div", Je, [a("label", Ye, [a("input", {
598
+ ]), a("div", Xe, [a("label", Ze, [a("input", {
599
599
  ref: "input",
600
600
  type: "tel",
601
601
  inputmode: "tel",
@@ -613,10 +613,10 @@ function Xe(e, t, n, r, o, c) {
613
613
  class: "bb:absolute bb:right-0 bb:top-0 bb:pr-2 bb:h-full"
614
614
  }, null, 8, ["onClicked"]), [[y, o.digits.length > 0]])])])]);
615
615
  }
616
- var Ze = /*#__PURE__*/ M(Ge, [["render", Xe]]), Qe = {
616
+ var $e = /*#__PURE__*/ A(qe, [["render", Qe]]), et = {
617
617
  components: {
618
- ElementHeader: P,
619
- CrossButton: I
618
+ ElementHeader: M,
619
+ CrossButton: P
620
620
  },
621
621
  emits: ["update:modelValue", "changed"],
622
622
  props: {
@@ -658,10 +658,10 @@ var Ze = /*#__PURE__*/ M(Ge, [["render", Xe]]), Qe = {
658
658
  this.$emit("update:modelValue", this.search), this.$emit("changed");
659
659
  }
660
660
  }
661
- }, $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" };
662
- function rt(e, t, n, r, o, c) {
661
+ }, tt = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, nt = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, rt = { class: "bb:relative bb:flex bb:h-full bb:w-full" }, it = { class: "bb:flex bb:w-full bb:h-full bb:items-center bb:justify-center" };
662
+ function at(e, t, n, r, o, c) {
663
663
  let l = h("element-header"), u = h("cross-button");
664
- return f(), i("div", $e, [a("div", et, [s(l, {
664
+ return f(), i("div", tt, [a("div", nt, [s(l, {
665
665
  text: n.header,
666
666
  "is-required": n.isRequired,
667
667
  "is-loading": n.isLoading
@@ -669,7 +669,7 @@ function rt(e, t, n, r, o, c) {
669
669
  "text",
670
670
  "is-required",
671
671
  "is-loading"
672
- ]), a("div", tt, [a("label", nt, [x(a("input", {
672
+ ]), a("div", rt, [a("label", it, [x(a("input", {
673
673
  ref: "input",
674
674
  class: "bb:flex bb:w-full bb:h-full bb:px-3 bb:py-2 bb:cursor-pointer bb:truncate bb:focus:focus-ring bb:border-none",
675
675
  "onUpdate:modelValue": t[0] ||= (e) => o.search = e,
@@ -686,37 +686,37 @@ function rt(e, t, n, r, o, c) {
686
686
  class: "bb:absolute bb:right-0 bb:top-0 bb:pr-2 bb:h-full"
687
687
  }, null, 8, ["onClicked"]), [[y, c.inputNeedsEraser]])])])]);
688
688
  }
689
- var it = /*#__PURE__*/ M(Qe, [["render", rt]]), z = 4, B = 8;
690
- function V(e) {
689
+ var ot = /*#__PURE__*/ A(et, [["render", at]]), L = 4, R = 8;
690
+ function st(e) {
691
691
  return typeof e?.showPopover == "function";
692
692
  }
693
- function H(e) {
694
- return V(e) && e.matches(":popover-open");
693
+ function z(e) {
694
+ return st(e) && e.matches(":popover-open");
695
695
  }
696
- function U(e, t, { maxWidth: n = null, align: r = "end", fitsBelow: i = !0, fitsRight: a = !0 } = {}) {
697
- let o = e.getBoundingClientRect(), s = document.documentElement.clientWidth, c = document.documentElement.clientHeight, l = Math.max(B, o.left), u = Math.max(B, s - o.right), d = Math.max(0, s - l - B), f = Math.max(0, s - u - B), p = r === "start" && (a || d >= f), m = Math.max(0, c - o.bottom - z - B), h = Math.max(0, o.top - z - B), g = i || m >= h, _ = "";
696
+ function ct(e, t, { maxWidth: n = null, align: r = "end", fitsBelow: i = !0, fitsRight: a = !0 } = {}) {
697
+ let o = e.getBoundingClientRect(), s = document.documentElement.clientWidth, c = document.documentElement.clientHeight, l = Math.max(R, o.left), u = Math.max(R, s - o.right), d = Math.max(0, s - l - R), f = Math.max(0, s - u - R), p = r === "start" && (a || d >= f), m = Math.max(0, c - o.bottom - L - R), h = Math.max(0, o.top - L - R), g = i || m >= h, _ = "";
698
698
  if (r === "start") {
699
699
  let e = p ? d : f;
700
700
  _ = `${n === null ? e : Math.min(n, e)}px`;
701
701
  } else n !== null && (_ = `${Math.min(n, f)}px`);
702
702
  Object.assign(t.style, {
703
- top: g ? `${o.bottom + z}px` : "auto",
704
- bottom: g ? "auto" : `${c - o.top + z}px`,
703
+ top: g ? `${o.bottom + L}px` : "auto",
704
+ bottom: g ? "auto" : `${c - o.top + L}px`,
705
705
  right: p ? "auto" : `${u}px`,
706
706
  left: p ? `${l}px` : "auto",
707
707
  maxHeight: `${g ? m : h}px`,
708
708
  maxWidth: _
709
709
  });
710
710
  }
711
- function at(e, t, n = {}) {
711
+ function lt(e, t, n = {}) {
712
712
  let r = t.scrollHeight <= t.clientHeight + 1, i = t.scrollWidth <= t.clientWidth + 1;
713
- r && i || U(e, t, {
713
+ r && i || ct(e, t, {
714
714
  ...n,
715
715
  fitsBelow: r,
716
716
  fitsRight: i
717
717
  });
718
718
  }
719
- function ot(e, t) {
719
+ function ut(e, t) {
720
720
  let n = (n) => {
721
721
  e.contains(n.target) || t();
722
722
  };
@@ -729,11 +729,11 @@ function ot(e, t) {
729
729
  }
730
730
  //#endregion
731
731
  //#region src/menuFocus.js
732
- var st = "a[href], button";
733
- function ct(e, t = () => null, n = null) {
732
+ var dt = "a[href], button";
733
+ function ft(e, t = () => null, n = null) {
734
734
  let r = (r) => {
735
735
  if (r.key !== "ArrowDown" && r.key !== "ArrowUp") return;
736
- let i = n === null ? [...e.querySelectorAll(st)] : n();
736
+ let i = n === null ? [...e.querySelectorAll(dt)] : n();
737
737
  if (i.length === 0) return;
738
738
  r.preventDefault();
739
739
  let a = r.key === "ArrowDown" ? 1 : -1, o = i.indexOf(document.activeElement);
@@ -743,7 +743,7 @@ function ct(e, t = () => null, n = null) {
743
743
  document.removeEventListener("keydown", r, !0);
744
744
  };
745
745
  }
746
- function lt(e) {
746
+ function pt(e) {
747
747
  let t = (t) => {
748
748
  if (t.key !== "Tab" || t.ctrlKey || t.altKey || t.metaKey) return;
749
749
  let n = e();
@@ -758,7 +758,7 @@ function lt(e) {
758
758
  }
759
759
  //#endregion
760
760
  //#region src/components/PopoverPanel.vue
761
- var ut = {
761
+ var mt = {
762
762
  emits: ["update:modelValue", "toggle"],
763
763
  props: {
764
764
  modelValue: {
@@ -859,11 +859,11 @@ var ut = {
859
859
  methods: {
860
860
  applyPanelState() {
861
861
  let e = this.$refs.panel;
862
- V(e) && e.isConnected && (this.panelIsOpen && !H(e) && e.showPopover(), !this.panelIsOpen && H(e) && e.hidePopover());
862
+ st(e) && e.isConnected && (this.panelIsOpen && !z(e) && e.showPopover(), !this.panelIsOpen && z(e) && e.hidePopover());
863
863
  },
864
864
  close() {
865
865
  let e = this.$refs.panel;
866
- H(e) && e.hidePopover();
866
+ z(e) && e.hidePopover();
867
867
  },
868
868
  reportPanelShown(e) {
869
869
  this.panelShown !== e && (this.panelShown = e, this.$emit("toggle", e));
@@ -877,9 +877,9 @@ var ut = {
877
877
  maxWidth: this.maxWidth,
878
878
  align: this.align
879
879
  };
880
- this.$refs.panel.style.minWidth = "", this.$refs.panel.style.minHeight = "", this.$refs.panel.style.scrollbarGutter = "", U(e, this.$refs.panel, t), requestAnimationFrame(() => {
880
+ this.$refs.panel.style.minWidth = "", this.$refs.panel.style.minHeight = "", this.$refs.panel.style.scrollbarGutter = "", ct(e, this.$refs.panel, t), requestAnimationFrame(() => {
881
881
  let n = this.$refs.panel;
882
- if (H(n) && (at(e, n, t), this.keepSize)) {
882
+ if (z(n) && (lt(e, n, t), this.keepSize)) {
883
883
  n.scrollHeight > n.clientHeight + 1 && (n.style.scrollbarGutter = "stable");
884
884
  let e = n.getBoundingClientRect();
885
885
  n.style.minWidth = `${e.width}px`, n.style.top === "auto" && (n.style.minHeight = `${e.height}px`);
@@ -892,8 +892,8 @@ var ut = {
892
892
  },
893
893
  onToggle() {
894
894
  this.stopListening();
895
- let e = this.$refs.panel, t = H(e);
896
- t && (this.stopClosing = ot(e, this.close), this.arrows && (this.stopArrows = ct(e, this.findSelected, this.findStops)), this.findTabStops !== null && (this.stopTab = lt(this.findTabStops))), t || this.restoreFocus(e), this.reportPanelShown(t), t !== this.panelIsOpen && (this.panelIsOpen = t, this.$emit("update:modelValue", t));
895
+ let e = this.$refs.panel, t = z(e);
896
+ t && (this.stopClosing = ut(e, this.close), this.arrows && (this.stopArrows = ft(e, this.findSelected, this.findStops)), this.findTabStops !== null && (this.stopTab = pt(this.findTabStops))), t || this.restoreFocus(e), this.reportPanelShown(t), t !== this.panelIsOpen && (this.panelIsOpen = t, this.$emit("update:modelValue", t));
897
897
  },
898
898
  restoreFocus(e) {
899
899
  let t = this.focusWasInside;
@@ -905,10 +905,10 @@ var ut = {
905
905
  this.stopClosing !== null && (this.stopClosing(), this.stopClosing = null), this.stopArrows !== null && (this.stopArrows(), this.stopArrows = null), this.stopTab !== null && (this.stopTab(), this.stopTab = null);
906
906
  }
907
907
  }
908
- }, dt = {
908
+ }, ht = {
909
909
  key: 0,
910
910
  class: "bb:relative"
911
- }, ft = [
911
+ }, gt = [
912
912
  "id",
913
913
  "role",
914
914
  "aria-orientation",
@@ -916,8 +916,8 @@ var ut = {
916
916
  "aria-label",
917
917
  "tabindex"
918
918
  ];
919
- function pt(e, t, n, o, s, c) {
920
- return n.hasContent ? (f(), i("span", dt, [m(e.$slots, "trigger", {
919
+ function _t(e, t, n, o, s, c) {
920
+ return n.hasContent ? (f(), i("span", ht, [m(e.$slots, "trigger", {
921
921
  id: o.buttonId,
922
922
  popovertarget: o.panelId
923
923
  }), a("div", {
@@ -933,15 +933,15 @@ function pt(e, t, n, o, s, c) {
933
933
  onBeforetoggle: t[0] ||= (...e) => c.onBeforeToggle && c.onBeforeToggle(...e),
934
934
  onToggle: t[1] ||= (...e) => c.onToggle && c.onToggle(...e),
935
935
  onClick: t[2] ||= (...e) => c.onClick && c.onClick(...e)
936
- }, [m(e.$slots, "default")], 42, ft)])) : r("", !0);
936
+ }, [m(e.$slots, "default")], 42, gt)])) : r("", !0);
937
937
  }
938
- var W = /*#__PURE__*/ M(ut, [["render", pt]]);
938
+ var B = /*#__PURE__*/ A(mt, [["render", _t]]);
939
939
  //#endregion
940
940
  //#region src/date.js
941
- function G(e) {
941
+ function V(e) {
942
942
  return `${String(e.getDate()).padStart(2, "0")}.${String(e.getMonth() + 1).padStart(2, "0")}.${String(e.getFullYear()).padStart(4, "0")}`;
943
943
  }
944
- function K(e) {
944
+ function H(e) {
945
945
  let t = /^(\d{1,2})\.(\d{1,2})\.(\d{4})$/.exec(e);
946
946
  if (t === null) return null;
947
947
  let [, n, r, i] = t.map(Number), a = /* @__PURE__ */ new Date(0);
@@ -949,11 +949,11 @@ function K(e) {
949
949
  }
950
950
  //#endregion
951
951
  //#region src/dayFocus.js
952
- var q = ".pika-button.pika-day", mt = ".pika-button, .pika-prev, .pika-next";
953
- function ht(e, t = () => null) {
952
+ var U = ".pika-button.pika-day", vt = ".pika-button, .pika-prev, .pika-next";
953
+ function yt(e, t = () => null) {
954
954
  let n = (n) => {
955
955
  if (n.detail !== 0) return;
956
- let r = n.target.closest(mt);
956
+ let r = n.target.closest(vt);
957
957
  r !== null && e.contains(r) && setTimeout(() => {
958
958
  let n = document.activeElement === r;
959
959
  if (r.dispatchEvent(new MouseEvent("mousedown", {
@@ -966,46 +966,46 @@ function ht(e, t = () => null) {
966
966
  };
967
967
  return e.addEventListener("click", n), () => e.removeEventListener("click", n);
968
968
  }
969
- var gt = {
969
+ var bt = {
970
970
  ArrowLeft: -1,
971
971
  ArrowRight: 1,
972
972
  ArrowUp: -7,
973
973
  ArrowDown: 7
974
974
  };
975
- function _t(e, t) {
975
+ function xt(e, t) {
976
976
  let n = (n) => {
977
- let r = gt[n.key];
978
- if (r === void 0 || vt(document.activeElement)) return;
977
+ let r = bt[n.key];
978
+ if (r === void 0 || St(document.activeElement)) return;
979
979
  n.preventDefault();
980
- let i = document.activeElement?.closest(q) ?? null, a = i !== null && e.contains(i) ? bt(yt(i), r) : t.getDate() ?? xt();
981
- J(e, a) === null && t.gotoDate(a), J(e, a)?.focus();
980
+ let i = document.activeElement?.closest(U) ?? null, a = i !== null && e.contains(i) ? wt(Ct(i), r) : t.getDate() ?? Tt();
981
+ W(e, a) === null && t.gotoDate(a), W(e, a)?.focus();
982
982
  };
983
983
  return document.addEventListener("keydown", n, !0), () => document.removeEventListener("keydown", n, !0);
984
984
  }
985
- function vt(e) {
985
+ function St(e) {
986
986
  return e !== null && e.matches("input, select, textarea, [contenteditable]");
987
987
  }
988
- function yt(e) {
988
+ function Ct(e) {
989
989
  return new Date(e.dataset.pikaYear, e.dataset.pikaMonth, e.dataset.pikaDay);
990
990
  }
991
- function bt(e, t) {
991
+ function wt(e, t) {
992
992
  return new Date(e.getFullYear(), e.getMonth(), e.getDate() + t);
993
993
  }
994
- function xt() {
994
+ function Tt() {
995
995
  let e = /* @__PURE__ */ new Date();
996
996
  return new Date(e.getFullYear(), e.getMonth(), e.getDate());
997
997
  }
998
- function J(e, t) {
999
- return e.querySelector(`${q}[data-pika-year="${t.getFullYear()}"][data-pika-month="${t.getMonth()}"][data-pika-day="${t.getDate()}"]`);
998
+ function W(e, t) {
999
+ return e.querySelector(`${U}[data-pika-year="${t.getFullYear()}"][data-pika-month="${t.getMonth()}"][data-pika-day="${t.getDate()}"]`);
1000
1000
  }
1001
1001
  //#endregion
1002
1002
  //#region src/components/SelectDate.vue
1003
- var St = {
1003
+ var Et = {
1004
1004
  components: {
1005
- PopoverPanel: W,
1006
- CrossButton: I
1005
+ PopoverPanel: B,
1006
+ CrossButton: P
1007
1007
  },
1008
- mixins: [F],
1008
+ mixins: [N],
1009
1009
  emits: ["update:modelValue", "changed"],
1010
1010
  props: {
1011
1011
  modelValue: {
@@ -1036,8 +1036,8 @@ var St = {
1036
1036
  keyboardInput: !1,
1037
1037
  bound: !1,
1038
1038
  firstDay: 1,
1039
- parse: (e) => K(e),
1040
- toString: (e) => G(e),
1039
+ parse: (e) => H(e),
1040
+ toString: (e) => V(e),
1041
1041
  i18n: {
1042
1042
  previousMonth: this.texts.previousMonth,
1043
1043
  nextMonth: this.texts.nextMonth,
@@ -1046,9 +1046,9 @@ var St = {
1046
1046
  weekdaysShort: this.texts.weekdaysShort
1047
1047
  },
1048
1048
  onSelect: (e) => {
1049
- this.popupIsOpen = !1, this.$emit("update:modelValue", G(e)), this.$emit("changed");
1049
+ this.popupIsOpen = !1, this.$emit("update:modelValue", V(e)), this.$emit("changed");
1050
1050
  }
1051
- }), this.stopPickOnClick = ht(this.$refs.container, () => this.$refs.trigger), this.syncDayFocus());
1051
+ }), this.stopPickOnClick = yt(this.$refs.container, () => this.$refs.trigger), this.syncDayFocus());
1052
1052
  },
1053
1053
  beforeUnmount() {
1054
1054
  this.isUnmounted = !0, this.stopPickOnClick?.(), this.stopDayFocus?.(), this.picker?.destroy();
@@ -1077,11 +1077,11 @@ var St = {
1077
1077
  ].includes(e.key) && (e.preventDefault(), this.$refs.trigger.focus({ preventScroll: !0 }), this.popupIsOpen = !0);
1078
1078
  },
1079
1079
  syncDayFocus() {
1080
- this.stopDayFocus?.(), this.stopDayFocus = null, this.popupIsOpen && this.picker !== null && (this.stopDayFocus = _t(this.$refs.container, this.picker));
1080
+ this.stopDayFocus?.(), this.stopDayFocus = null, this.popupIsOpen && this.picker !== null && (this.stopDayFocus = xt(this.$refs.container, this.picker));
1081
1081
  },
1082
1082
  syncPicker(e) {
1083
1083
  if (this.picker === null) return;
1084
- let t = K(e);
1084
+ let t = H(e);
1085
1085
  if (t === null) {
1086
1086
  this.picker.clear();
1087
1087
  return;
@@ -1107,22 +1107,22 @@ var St = {
1107
1107
  return !this.withEraser || this.popupIsOpen ? !1 : this.hasValue;
1108
1108
  }
1109
1109
  }
1110
- }, Ct = { class: "bb-dashboard-ui bb:flex bb:flex-col" }, wt = { class: "bb:relative bb:flex bb:h-full" }, Tt = [
1110
+ }, Dt = { class: "bb-dashboard-ui bb:flex bb:flex-col" }, Ot = { class: "bb:relative bb:flex bb:h-full" }, kt = [
1111
1111
  "id",
1112
1112
  "popovertarget",
1113
1113
  "aria-labelledby"
1114
- ], Et = ["textContent"], Dt = { class: "bb:flex bb:w-full bb:items-center bb:leading-none bb:min-w-24 bb:pointer-events-none" }, Ot = [
1114
+ ], At = ["textContent"], jt = { class: "bb:flex bb:w-full bb:items-center bb:leading-none bb:min-w-24 bb:pointer-events-none" }, Mt = [
1115
1115
  "disabled",
1116
1116
  "value",
1117
1117
  "placeholder",
1118
1118
  "aria-labelledby"
1119
- ], kt = {
1119
+ ], Nt = {
1120
1120
  ref: "container",
1121
1121
  class: "bb:flex"
1122
1122
  };
1123
- function At(e, t, o, c, l, u) {
1123
+ function Pt(e, t, o, c, l, u) {
1124
1124
  let d = h("popover-panel"), p = h("cross-button");
1125
- return f(), i("div", Ct, [a("div", wt, [s(d, {
1125
+ return f(), i("div", Dt, [a("div", Ot, [s(d, {
1126
1126
  class: "bb:flex bb:w-full",
1127
1127
  modelValue: l.popupIsOpen,
1128
1128
  "onUpdate:modelValue": t[1] ||= (e) => l.popupIsOpen = e,
@@ -1140,7 +1140,7 @@ function At(e, t, o, c, l, u) {
1140
1140
  }, [a("span", {
1141
1141
  class: "bb:sr-only bb:pointer-events-none bb:cursor-default",
1142
1142
  textContent: _(u.triggerLabel)
1143
- }, null, 8, Et)], 8, Tt), a("label", Dt, [a("input", {
1143
+ }, null, 8, At)], 8, kt), a("label", jt, [a("input", {
1144
1144
  disabled: l.popupIsOpen,
1145
1145
  ref: "field",
1146
1146
  onKeydown: t[0] ||= (...e) => u.openOnKey && u.openOnKey(...e),
@@ -1149,8 +1149,8 @@ function At(e, t, o, c, l, u) {
1149
1149
  placeholder: o.placeholderText,
1150
1150
  "aria-labelledby": o.labelledBy || null,
1151
1151
  class: "bb:w-full bb:h-full bb:py-2 bb:pl-3 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:focus-ring bb:rounded-[var(--bb-field-radius,0)]"
1152
- }, null, 40, Ot)])]),
1153
- default: b(() => [a("div", kt, null, 512)]),
1152
+ }, null, 40, Mt)])]),
1153
+ default: b(() => [a("div", Nt, null, 512)]),
1154
1154
  _: 1
1155
1155
  }, 8, ["modelValue"]), u.needsEraser ? (f(), n(p, {
1156
1156
  key: 0,
@@ -1161,10 +1161,10 @@ function At(e, t, o, c, l, u) {
1161
1161
  lang: e.resolvedLang
1162
1162
  }, null, 8, ["onClicked", "lang"])) : r("", !0)])]);
1163
1163
  }
1164
- var Y = /*#__PURE__*/ M(St, [["render", At]]), jt = {
1164
+ var G = /*#__PURE__*/ A(Et, [["render", Pt]]), Ft = {
1165
1165
  components: {
1166
- ElementHeader: P,
1167
- SelectDate: Y
1166
+ ElementHeader: M,
1167
+ SelectDate: G
1168
1168
  },
1169
1169
  emits: ["update:modelValue", "changed"],
1170
1170
  props: {
@@ -1189,10 +1189,10 @@ var Y = /*#__PURE__*/ M(St, [["render", At]]), jt = {
1189
1189
  default: null
1190
1190
  }
1191
1191
  }
1192
- }, Mt = { class: "bb-dashboard-ui bb:flex bb:w-fit bb:h-18 bb:border bb:border-gray-200" }, Nt = { class: "bb:flex bb:border bb:border-white" }, Pt = { class: "bb:flex bb:flex-col bb:w-36 bb:bg-white bb:h-full" };
1193
- function Ft(e, t, n, r, o, c) {
1192
+ }, It = { class: "bb-dashboard-ui bb:flex bb:w-fit bb:h-18 bb:border bb:border-gray-200" }, Lt = { class: "bb:flex bb:border bb:border-white" }, Rt = { class: "bb:flex bb:flex-col bb:w-36 bb:bg-white bb:h-full" };
1193
+ function zt(e, t, n, r, o, c) {
1194
1194
  let l = h("element-header"), u = h("select-date");
1195
- return f(), i("div", Mt, [a("div", Nt, [a("div", Pt, [s(l, {
1195
+ return f(), i("div", It, [a("div", Lt, [a("div", Rt, [s(l, {
1196
1196
  text: n.header ?? "",
1197
1197
  "is-required": n.isRequired,
1198
1198
  "is-loading": n.isLoading
@@ -1208,10 +1208,10 @@ function Ft(e, t, n, r, o, c) {
1208
1208
  onChanged: t[1] ||= (t) => e.$emit("changed")
1209
1209
  }, null, 8, ["model-value", "lang"])])])]);
1210
1210
  }
1211
- var It = /*#__PURE__*/ M(jt, [["render", Ft]]), Lt = {
1211
+ var Bt = /*#__PURE__*/ A(Ft, [["render", zt]]), Vt = {
1212
1212
  components: {
1213
- Dot: N,
1214
- SelectDate: Y
1213
+ Dot: j,
1214
+ SelectDate: G
1215
1215
  },
1216
1216
  emits: ["update:modelValue", "changed"],
1217
1217
  props: {
@@ -1235,17 +1235,17 @@ var It = /*#__PURE__*/ M(jt, [["render", Ft]]), Lt = {
1235
1235
  setup() {
1236
1236
  return { labelId: v() };
1237
1237
  }
1238
- }, Rt = { class: "bb-dashboard-ui" }, zt = { class: "bb:flex bb:items-center" }, Bt = ["id", "textContent"], Vt = { class: "bb:mt-1 bb:flex bb:h-9.5 bb:w-full bb:rounded-md bb:border bb:border-gray-300 bb:bg-white bb:shadow-xs bb:text-sm bb:[--bb-field-radius:0.375rem]" };
1239
- function Ht(e, t, n, r, o, c) {
1238
+ }, Ht = { class: "bb-dashboard-ui" }, Ut = { class: "bb:flex bb:items-center" }, Wt = ["id", "textContent"], Gt = { class: "bb:mt-1 bb:flex bb:h-9.5 bb:w-full bb:rounded-md bb:border bb:border-gray-300 bb:bg-white bb:shadow-xs bb:text-sm bb:[--bb-field-radius:0.375rem]" };
1239
+ function Kt(e, t, n, r, o, c) {
1240
1240
  let l = h("dot"), u = h("select-date");
1241
- return f(), i("div", Rt, [a("div", zt, [a("span", {
1241
+ return f(), i("div", Ht, [a("div", Ut, [a("span", {
1242
1242
  id: r.labelId,
1243
1243
  class: "bb:block bb:text-sm bb:font-medium bb:leading-5 bb:text-gray-700",
1244
1244
  textContent: _(n.label ?? "")
1245
- }, null, 8, Bt), x(s(l, {
1245
+ }, null, 8, Wt), x(s(l, {
1246
1246
  color: "red",
1247
1247
  class: "bb:ml-2"
1248
- }, null, 512), [[y, n.isRequired]])]), a("div", Vt, [s(u, {
1248
+ }, null, 512), [[y, n.isRequired]])]), a("div", Gt, [s(u, {
1249
1249
  class: "bb:flex-1",
1250
1250
  "model-value": n.modelValue,
1251
1251
  "labelled-by": r.labelId,
@@ -1258,9 +1258,9 @@ function Ht(e, t, n, r, o, c) {
1258
1258
  "lang"
1259
1259
  ])])]);
1260
1260
  }
1261
- var Ut = /*#__PURE__*/ M(Lt, [["render", Ht]]), Wt = {
1261
+ var qt = /*#__PURE__*/ A(Vt, [["render", Kt]]), Jt = {
1262
1262
  inheritAttrs: !1,
1263
- mixins: [F],
1263
+ mixins: [N],
1264
1264
  emits: [
1265
1265
  "update:dateFrom",
1266
1266
  "update:dateTo",
@@ -1317,17 +1317,17 @@ var Ut = /*#__PURE__*/ M(Lt, [["render", Ht]]), Wt = {
1317
1317
  }
1318
1318
  }
1319
1319
  };
1320
- function Gt(e, t, n, r, i, a) {
1320
+ function Yt(e, t, n, r, i, a) {
1321
1321
  return m(e.$slots, "default", {
1322
1322
  from: a.from,
1323
1323
  to: a.to
1324
1324
  });
1325
1325
  }
1326
- var X = /*#__PURE__*/ M(Wt, [["render", Gt]]), Kt = {
1326
+ var K = /*#__PURE__*/ A(Jt, [["render", Yt]]), Xt = {
1327
1327
  components: {
1328
- ElementHeader: P,
1329
- SelectDate: Y,
1330
- SelectDateInterval: X
1328
+ ElementHeader: M,
1329
+ SelectDate: G,
1330
+ SelectDateInterval: K
1331
1331
  },
1332
1332
  emits: [
1333
1333
  "update:dateFrom",
@@ -1360,10 +1360,10 @@ var X = /*#__PURE__*/ M(Wt, [["render", Gt]]), Kt = {
1360
1360
  default: null
1361
1361
  }
1362
1362
  }
1363
- }, qt = { class: "bb-dashboard-ui bb:flex bb:w-fit bb:h-18 bb:border bb:border-gray-200" }, Jt = { class: "bb:flex bb:border bb:border-white" }, Yt = { class: "bb:flex bb:flex-col bb:min-w-72 bb:w-72 bb:bg-white bb:h-full" }, Xt = { class: "bb:flex bb:h-full bb:divide-x bb:divide-gray-200" };
1364
- function Zt(e, t, n, r, o, c) {
1363
+ }, Zt = { class: "bb-dashboard-ui bb:flex bb:w-fit bb:h-18 bb:border bb:border-gray-200" }, Qt = { class: "bb:flex bb:border bb:border-white" }, $t = { class: "bb:flex bb:flex-col bb:min-w-72 bb:w-72 bb:bg-white bb:h-full" }, en = { class: "bb:flex bb:h-full bb:divide-x bb:divide-gray-200" };
1364
+ function tn(e, t, n, r, o, c) {
1365
1365
  let l = h("element-header"), u = h("select-date"), d = h("select-date-interval");
1366
- return f(), i("div", qt, [a("div", Jt, [a("div", Yt, [s(l, {
1366
+ return f(), i("div", Zt, [a("div", Qt, [a("div", $t, [s(l, {
1367
1367
  text: n.header ?? "",
1368
1368
  "is-required": n.isRequired,
1369
1369
  "is-loading": n.isLoading
@@ -1379,7 +1379,7 @@ function Zt(e, t, n, r, o, c) {
1379
1379
  "onUpdate:dateTo": t[1] ||= (t) => e.$emit("update:dateTo", t),
1380
1380
  onChanged: t[2] ||= (t) => e.$emit("changed")
1381
1381
  }, {
1382
- default: b(({ from: e, to: t }) => [a("div", Xt, [s(u, {
1382
+ default: b(({ from: e, to: t }) => [a("div", en, [s(u, {
1383
1383
  class: "bb:flex-1 bb:min-w-36",
1384
1384
  "model-value": e.value,
1385
1385
  "placeholder-text": e.placeholder,
@@ -1409,11 +1409,11 @@ function Zt(e, t, n, r, o, c) {
1409
1409
  "lang"
1410
1410
  ])])])]);
1411
1411
  }
1412
- var Qt = /*#__PURE__*/ M(Kt, [["render", Zt]]), $t = {
1412
+ var nn = /*#__PURE__*/ A(Xt, [["render", tn]]), rn = {
1413
1413
  components: {
1414
- Dot: N,
1415
- SelectDate: Y,
1416
- SelectDateInterval: X
1414
+ Dot: j,
1415
+ SelectDate: G,
1416
+ SelectDateInterval: K
1417
1417
  },
1418
1418
  emits: [
1419
1419
  "update:dateFrom",
@@ -1445,14 +1445,14 @@ var Qt = /*#__PURE__*/ M(Kt, [["render", Zt]]), $t = {
1445
1445
  setup() {
1446
1446
  return { labelId: v() };
1447
1447
  }
1448
- }, en = { class: "bb-dashboard-ui" }, tn = { class: "bb:flex bb:items-center" }, nn = ["id", "textContent"], rn = ["aria-labelledby"], an = { class: "bb:flex bb:h-9.5 bb:w-full bb:rounded-md bb:border bb:border-gray-300 bb:bg-white bb:shadow-xs bb:text-sm bb:[--bb-field-radius:0.375rem]" }, on = { class: "bb:flex bb:h-9.5 bb:w-full bb:rounded-md bb:border bb:border-gray-300 bb:bg-white bb:shadow-xs bb:text-sm bb:[--bb-field-radius:0.375rem]" };
1449
- function sn(e, t, n, r, o, c) {
1448
+ }, an = { class: "bb-dashboard-ui" }, on = { class: "bb:flex bb:items-center" }, sn = ["id", "textContent"], cn = ["aria-labelledby"], ln = { class: "bb:flex bb:h-9.5 bb:w-full bb:rounded-md bb:border bb:border-gray-300 bb:bg-white bb:shadow-xs bb:text-sm bb:[--bb-field-radius:0.375rem]" }, un = { class: "bb:flex bb:h-9.5 bb:w-full bb:rounded-md bb:border bb:border-gray-300 bb:bg-white bb:shadow-xs bb:text-sm bb:[--bb-field-radius:0.375rem]" };
1449
+ function dn(e, t, n, r, o, c) {
1450
1450
  let l = h("dot"), u = h("select-date"), d = h("select-date-interval");
1451
- return f(), i("div", en, [a("div", tn, [a("span", {
1451
+ return f(), i("div", an, [a("div", on, [a("span", {
1452
1452
  id: r.labelId,
1453
1453
  class: "bb:block bb:text-sm bb:font-medium bb:leading-5 bb:text-gray-700",
1454
1454
  textContent: _(n.label ?? "")
1455
- }, null, 8, nn), x(s(l, {
1455
+ }, null, 8, sn), x(s(l, {
1456
1456
  color: "red",
1457
1457
  class: "bb:ml-2"
1458
1458
  }, null, 512), [[y, n.isRequired]])]), a("div", {
@@ -1467,7 +1467,7 @@ function sn(e, t, n, r, o, c) {
1467
1467
  "onUpdate:dateTo": t[1] ||= (t) => e.$emit("update:dateTo", t),
1468
1468
  onChanged: t[2] ||= (t) => e.$emit("changed")
1469
1469
  }, {
1470
- default: b(({ from: e, to: t }) => [a("div", an, [s(u, {
1470
+ default: b(({ from: e, to: t }) => [a("div", ln, [s(u, {
1471
1471
  class: "bb:flex-1",
1472
1472
  "model-value": e.value,
1473
1473
  "placeholder-text": e.placeholder,
@@ -1478,7 +1478,7 @@ function sn(e, t, n, r, o, c) {
1478
1478
  "placeholder-text",
1479
1479
  "lang",
1480
1480
  "onUpdate:modelValue"
1481
- ])]), a("div", on, [s(u, {
1481
+ ])]), a("div", un, [s(u, {
1482
1482
  class: "bb:flex-1",
1483
1483
  "model-value": t.value,
1484
1484
  "placeholder-text": t.placeholder,
@@ -1495,12 +1495,12 @@ function sn(e, t, n, r, o, c) {
1495
1495
  "date-from",
1496
1496
  "date-to",
1497
1497
  "lang"
1498
- ])], 8, rn)]);
1498
+ ])], 8, cn)]);
1499
1499
  }
1500
- var cn = /*#__PURE__*/ M($t, [["render", sn]]), ln = {
1500
+ var fn = /*#__PURE__*/ A(rn, [["render", dn]]), pn = {
1501
1501
  components: {
1502
- PopoverPanel: W,
1503
- CrossButton: I
1502
+ PopoverPanel: B,
1503
+ CrossButton: P
1504
1504
  },
1505
1505
  emits: [
1506
1506
  "update:isOpen",
@@ -1552,14 +1552,14 @@ var cn = /*#__PURE__*/ M($t, [["render", sn]]), ln = {
1552
1552
  let e = this.$refs.eraser.$el;
1553
1553
  document.activeElement === e && e.matches(":focus-visible") && this.$refs.trigger.focus({ preventScroll: !0 }), this.$emit("erased");
1554
1554
  } }
1555
- }, un = { class: "bb:flex bb:flex-col bb:grow" }, dn = { class: "bb:relative bb:flex bb:w-full bb:h-full" }, fn = [
1555
+ }, mn = { class: "bb:flex bb:flex-col bb:grow" }, hn = { class: "bb:relative bb:flex bb:w-full bb:h-full" }, gn = [
1556
1556
  "id",
1557
1557
  "popovertarget",
1558
1558
  "aria-labelledby"
1559
- ], pn = ["textContent"];
1560
- function mn(e, t, o, c, l, u) {
1559
+ ], _n = ["textContent"];
1560
+ function vn(e, t, o, c, l, u) {
1561
1561
  let d = h("popover-panel"), p = h("cross-button");
1562
- return f(), i("div", un, [a("div", dn, [s(d, {
1562
+ return f(), i("div", mn, [a("div", hn, [s(d, {
1563
1563
  class: "bb:flex bb:w-full bb:h-full",
1564
1564
  "model-value": o.isOpen,
1565
1565
  align: "start",
@@ -1583,7 +1583,7 @@ function mn(e, t, o, c, l, u) {
1583
1583
  }, [a("span", {
1584
1584
  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",
1585
1585
  textContent: _(o.title)
1586
- }, null, 8, pn)], 8, fn)]),
1586
+ }, null, 8, _n)], 8, gn)]),
1587
1587
  default: b(() => [m(e.$slots, "default")]),
1588
1588
  _: 3
1589
1589
  }, 8, [
@@ -1601,7 +1601,7 @@ function mn(e, t, o, c, l, u) {
1601
1601
  class: "bb:absolute bb:right-0 bb:top-0 bb:pr-2 bb:h-full"
1602
1602
  }, null, 8, ["lang", "onClicked"])) : r("", !0)])]);
1603
1603
  }
1604
- var hn = /*#__PURE__*/ M(ln, [["render", mn]]), gn = {
1604
+ var q = /*#__PURE__*/ A(pn, [["render", vn]]), yn = {
1605
1605
  props: {
1606
1606
  isChecked: {
1607
1607
  type: Boolean,
@@ -1613,32 +1613,32 @@ var hn = /*#__PURE__*/ M(ln, [["render", mn]]), gn = {
1613
1613
  methods: { toggle() {
1614
1614
  this.$emit("clicked");
1615
1615
  } }
1616
- }, _n = { class: "bb:flex bb:w-9 bb:h-9 bb:items-center bb:justify-center bb:pointer-events-none bb:cursor-default" }, vn = {
1616
+ }, bn = { class: "bb:flex bb:w-9 bb:h-9 bb:items-center bb:justify-center bb:pointer-events-none bb:cursor-default" }, xn = {
1617
1617
  class: "bb:w-5 bb:h-5 bb:fill-current bb:text-green-300",
1618
1618
  viewBox: "0 0 20 20",
1619
1619
  "aria-hidden": "true"
1620
- }, yn = ["textContent"];
1621
- function bn(e, t, n, r, o, s) {
1620
+ }, Sn = ["textContent"];
1621
+ function Cn(e, t, n, r, o, s) {
1622
1622
  return f(), i("button", {
1623
1623
  type: "button",
1624
1624
  onClick: t[0] ||= C((...e) => s.toggle && s.toggle(...e), ["prevent"]),
1625
1625
  class: "bb:flex bb:w-full bb:bg-white bb:cursor-pointer bb:focus:outline-hidden bb:hover:bg-indigo-100 bb:focus:bg-indigo-100"
1626
- }, [a("span", _n, [x((f(), i("svg", vn, [...t[1] ||= [a("path", {
1626
+ }, [a("span", bn, [x((f(), i("svg", xn, [...t[1] ||= [a("path", {
1627
1627
  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",
1628
1628
  "clip-rule": "evenodd",
1629
1629
  "fill-rule": "evenodd"
1630
1630
  }, null, -1)]], 512)), [[y, n.isChecked]])]), a("span", {
1631
1631
  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",
1632
1632
  textContent: _(n.name)
1633
- }, null, 8, yn)]);
1633
+ }, null, 8, Sn)]);
1634
1634
  }
1635
- var xn = /*#__PURE__*/ M(gn, [["render", bn]]), Sn = {
1635
+ var wn = /*#__PURE__*/ A(yn, [["render", Cn]]), Tn = {
1636
1636
  components: {
1637
- DropdownButton: hn,
1638
- ListElement: xn,
1639
- CrossButton: I
1637
+ DropdownButton: q,
1638
+ ListElement: wn,
1639
+ CrossButton: P
1640
1640
  },
1641
- mixins: [F],
1641
+ mixins: [N],
1642
1642
  emits: ["update:modelValue", "changed"],
1643
1643
  props: {
1644
1644
  items: {
@@ -1737,13 +1737,13 @@ var xn = /*#__PURE__*/ M(gn, [["render", bn]]), Sn = {
1737
1737
  this.query = "", this.$refs.search.focus();
1738
1738
  }
1739
1739
  }
1740
- }, Cn = { class: "bb-dashboard-ui bb:flex bb:flex-col bb:grow" }, wn = {
1740
+ }, En = { class: "bb-dashboard-ui bb:flex bb:flex-col bb:grow" }, Dn = {
1741
1741
  key: 0,
1742
1742
  class: "bb:sticky bb:top-0 bb:min-w-56 bb:px-2 bb:py-2 bb:bg-white bb:border-b bb:border-gray-200"
1743
- }, Tn = { class: "bb:relative" }, En = ["placeholder", "aria-label"], Dn = ["textContent"];
1744
- function On(t, o, c, l, u, d) {
1743
+ }, On = { class: "bb:relative" }, kn = ["placeholder", "aria-label"], An = ["textContent"];
1744
+ function jn(t, o, c, l, u, d) {
1745
1745
  let m = h("cross-button"), g = h("list-element"), v = h("dropdown-button");
1746
- return f(), i("div", Cn, [d.hasItems ? (f(), n(v, {
1746
+ return f(), i("div", En, [d.hasItems ? (f(), n(v, {
1747
1747
  key: 0,
1748
1748
  title: d.title,
1749
1749
  "is-open": u.isOpen,
@@ -1758,7 +1758,7 @@ function On(t, o, c, l, u, d) {
1758
1758
  onErased: d.clear,
1759
1759
  onToggle: d.onToggle
1760
1760
  }, {
1761
- default: b(() => [c.withSearch ? (f(), i("div", wn, [a("div", Tn, [x(a("input", {
1761
+ default: b(() => [c.withSearch ? (f(), i("div", Dn, [a("div", On, [x(a("input", {
1762
1762
  ref: "search",
1763
1763
  type: "text",
1764
1764
  autocomplete: "off",
@@ -1767,7 +1767,7 @@ function On(t, o, c, l, u, d) {
1767
1767
  "aria-label": t.texts.search,
1768
1768
  class: "bb:w-full bb:pl-3 bb:pr-9 bb:py-2 bb:text-sm bb:bg-white bb:border bb:border-gray-300 bb:rounded-md bb:focus:focus-ring",
1769
1769
  onKeydown: o[1] ||= S(C(() => {}, ["prevent"]), ["enter"])
1770
- }, null, 40, En), [[te, u.query]]), x(s(m, {
1770
+ }, null, 40, kn), [[te, u.query]]), x(s(m, {
1771
1771
  ref: "searchEraser",
1772
1772
  size: "small",
1773
1773
  lang: t.lang,
@@ -1793,7 +1793,7 @@ function On(t, o, c, l, u, d) {
1793
1793
  key: 2,
1794
1794
  class: "bb:px-3 bb:py-2 bb:text-sm bb:text-gray-500 bb:text-center",
1795
1795
  textContent: _(t.texts.nothingFound)
1796
- }, null, 8, Dn))]),
1796
+ }, null, 8, An))]),
1797
1797
  _: 1
1798
1798
  }, 8, [
1799
1799
  "title",
@@ -1809,10 +1809,10 @@ function On(t, o, c, l, u, d) {
1809
1809
  "onToggle"
1810
1810
  ])) : r("", !0)]);
1811
1811
  }
1812
- var kn = /*#__PURE__*/ M(Sn, [["render", On]]), An = {
1812
+ var Mn = /*#__PURE__*/ A(Tn, [["render", jn]]), Nn = {
1813
1813
  components: {
1814
- ElementHeader: P,
1815
- SelectMultiple: kn
1814
+ ElementHeader: M,
1815
+ SelectMultiple: Mn
1816
1816
  },
1817
1817
  emits: ["update:modelValue", "changed"],
1818
1818
  props: {
@@ -1845,10 +1845,10 @@ var kn = /*#__PURE__*/ M(Sn, [["render", On]]), An = {
1845
1845
  default: null
1846
1846
  }
1847
1847
  }
1848
- }, jn = { class: "bb-dashboard-ui bb:flex bb:flex-none bb:w-fit bb:h-18 bb:border bb:border-gray-200" }, Mn = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" };
1849
- function Nn(e, t, n, r, o, c) {
1848
+ }, Pn = { class: "bb-dashboard-ui bb:flex bb:flex-none bb:w-fit bb:h-18 bb:border bb:border-gray-200" }, Fn = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" };
1849
+ function In(e, t, n, r, o, c) {
1850
1850
  let l = h("element-header"), u = h("select-multiple");
1851
- return f(), i("div", jn, [a("div", Mn, [s(l, {
1851
+ return f(), i("div", Pn, [a("div", Fn, [s(l, {
1852
1852
  text: n.header ?? "",
1853
1853
  "is-required": n.isRequired,
1854
1854
  "is-loading": n.isLoading
@@ -1870,10 +1870,10 @@ function Nn(e, t, n, r, o, c) {
1870
1870
  "lang"
1871
1871
  ])])]);
1872
1872
  }
1873
- var Pn = /*#__PURE__*/ M(An, [["render", Nn]]), Fn = {
1873
+ var Ln = /*#__PURE__*/ A(Nn, [["render", In]]), Rn = {
1874
1874
  components: {
1875
- Dot: N,
1876
- SelectMultiple: kn
1875
+ Dot: j,
1876
+ SelectMultiple: Mn
1877
1877
  },
1878
1878
  emits: ["update:modelValue", "changed"],
1879
1879
  props: {
@@ -1905,17 +1905,17 @@ var Pn = /*#__PURE__*/ M(An, [["render", Nn]]), Fn = {
1905
1905
  setup() {
1906
1906
  return { labelId: v() };
1907
1907
  }
1908
- }, In = { class: "bb-dashboard-ui" }, Ln = { class: "bb:flex bb:items-center" }, Rn = ["id", "textContent"], zn = { class: "bb:mt-1 bb:h-9.5 bb:w-full bb:rounded-md bb:[--bb-field-radius:0.375rem] bb:border bb:border-gray-300 bb:bg-white bb:shadow-xs bb:text-sm bb:flex bb:flex-col" };
1909
- function Bn(e, t, n, r, o, c) {
1908
+ }, zn = { class: "bb-dashboard-ui" }, Bn = { class: "bb:flex bb:items-center" }, Vn = ["id", "textContent"], Hn = { class: "bb:mt-1 bb:h-9.5 bb:w-full bb:rounded-md bb:[--bb-field-radius:0.375rem] bb:border bb:border-gray-300 bb:bg-white bb:shadow-xs bb:text-sm bb:flex bb:flex-col" };
1909
+ function Un(e, t, n, r, o, c) {
1910
1910
  let l = h("dot"), u = h("select-multiple");
1911
- return f(), i("div", In, [a("div", Ln, [a("span", {
1911
+ return f(), i("div", zn, [a("div", Bn, [a("span", {
1912
1912
  id: r.labelId,
1913
1913
  class: "bb:block bb:text-sm bb:font-medium bb:leading-5 bb:text-gray-700",
1914
1914
  textContent: _(n.label ?? "")
1915
- }, null, 8, Rn), x(s(l, {
1915
+ }, null, 8, Vn), x(s(l, {
1916
1916
  color: "red",
1917
1917
  class: "bb:ml-2"
1918
- }, null, 512), [[y, n.isRequired]])]), a("div", zn, [s(u, {
1918
+ }, null, 512), [[y, n.isRequired]])]), a("div", Hn, [s(u, {
1919
1919
  items: n.items,
1920
1920
  "model-value": n.modelValue,
1921
1921
  "with-search": n.withSearch,
@@ -1931,10 +1931,127 @@ function Bn(e, t, n, r, o, c) {
1931
1931
  "labelled-by"
1932
1932
  ])])]);
1933
1933
  }
1934
- var Vn = /*#__PURE__*/ M(Fn, [["render", Bn]]), Hn = {
1934
+ var Wn = /*#__PURE__*/ A(Rn, [["render", Un]]);
1935
+ function J(e) {
1936
+ return Number.isInteger(e) && e >= 1;
1937
+ }
1938
+ function Y(e) {
1939
+ return J(e) ? e : 2;
1940
+ }
1941
+ function Gn(e) {
1942
+ return { gridTemplateColumns: `repeat(${e}, minmax(0, 1fr))` };
1943
+ }
1944
+ function Kn(e, t) {
1945
+ let n = Math.floor(e / t), r = e % t, i = [];
1946
+ for (let e = 0; e < t; e++) {
1947
+ let t = e < r ? n + 1 : n;
1948
+ for (let n = 1; n <= t; n++) i.push({
1949
+ gridColumn: e + 1,
1950
+ gridRow: n
1951
+ });
1952
+ }
1953
+ return i;
1954
+ }
1955
+ //#endregion
1956
+ //#region src/components/SelectMultipleList.vue
1957
+ var qn = {
1958
+ components: { Dot: j },
1959
+ emits: ["update:modelValue", "changed"],
1960
+ props: {
1961
+ items: {
1962
+ type: Array,
1963
+ required: !0
1964
+ },
1965
+ modelValue: {
1966
+ type: Array,
1967
+ default: () => []
1968
+ },
1969
+ label: {
1970
+ type: String,
1971
+ required: !0
1972
+ },
1973
+ isRequired: {
1974
+ type: Boolean,
1975
+ default: !1
1976
+ },
1977
+ columns: {
1978
+ type: Number,
1979
+ default: 2,
1980
+ validator: J
1981
+ }
1982
+ },
1983
+ setup() {
1984
+ return { labelId: v() };
1985
+ },
1986
+ computed: {
1987
+ itemList() {
1988
+ return Array.isArray(this.items) ? this.items.filter((e) => typeof e == "object" && !!e) : [];
1989
+ },
1990
+ selectedIds() {
1991
+ return Array.isArray(this.modelValue) ? this.modelValue : [];
1992
+ },
1993
+ gridStyle() {
1994
+ return Gn(Y(this.columns));
1995
+ },
1996
+ itemStyles() {
1997
+ return Kn(this.itemList.length, Y(this.columns));
1998
+ }
1999
+ },
2000
+ methods: {
2001
+ isChecked(e) {
2002
+ return this.selectedIds.includes(e.id);
2003
+ },
2004
+ itemName(e) {
2005
+ return String(e.name ?? "");
2006
+ },
2007
+ async toggle(e) {
2008
+ this.$emit("update:modelValue", this.isChecked(e) ? this.selectedIds.filter((t) => t !== e.id) : [...this.selectedIds, e.id]), this.$emit("changed"), await this.$nextTick(), this.syncChecked();
2009
+ },
2010
+ syncChecked() {
2011
+ this.$el.querySelectorAll("input").forEach((e, t) => {
2012
+ e.checked = this.isChecked(this.itemList[t]);
2013
+ });
2014
+ }
2015
+ }
2016
+ }, Jn = { class: "bb-dashboard-ui" }, Yn = { class: "bb:flex bb:items-center" }, Xn = ["id", "textContent"], Zn = ["aria-labelledby"], Qn = { class: "bb:relative bb:flex bb:shrink-0" }, $n = ["checked", "onChange"], er = {
2017
+ key: 0,
2018
+ class: "bb:pointer-events-none bb:absolute bb:inset-0 bb:size-4 bb:fill-white bb:forced-colors:hidden",
2019
+ viewBox: "0 0 16 16",
2020
+ "aria-hidden": "true"
2021
+ }, tr = ["textContent"];
2022
+ function nr(t, n, o, c, l, m) {
2023
+ let g = h("dot");
2024
+ return f(), i("div", Jn, [a("div", Yn, [a("span", {
2025
+ id: c.labelId,
2026
+ class: "bb:block bb:text-sm bb:font-medium bb:leading-5 bb:text-gray-700",
2027
+ textContent: _(o.label ?? "")
2028
+ }, null, 8, Xn), x(s(g, {
2029
+ color: "red",
2030
+ class: "bb:ml-2"
2031
+ }, null, 512), [[y, o.isRequired]])]), m.itemList.length > 0 ? (f(), i("div", {
2032
+ key: 0,
2033
+ role: "group",
2034
+ "aria-labelledby": c.labelId,
2035
+ class: "bb:mt-1 bb:grid bb:gap-x-4 bb:gap-y-2",
2036
+ style: d(m.gridStyle)
2037
+ }, [(f(!0), i(e, null, p(m.itemList, (e, t) => (f(), i("label", {
2038
+ key: t,
2039
+ style: d(m.itemStyles[t]),
2040
+ class: "bb:flex bb:items-center"
2041
+ }, [a("span", Qn, [a("input", {
2042
+ type: "checkbox",
2043
+ checked: m.isChecked(e),
2044
+ class: u(["bb:size-4 bb:rounded bb:border bb:bg-none bb:focus-visible:focus-ring bb:forced-colors:appearance-auto", m.isChecked(e) ? "bb:border-indigo-600 bb:bg-indigo-600" : "bb:border-gray-300 bb:bg-white"]),
2045
+ onChange: (t) => m.toggle(e)
2046
+ }, null, 42, $n), m.isChecked(e) ? (f(), i("svg", er, [...n[0] ||= [a("path", { d: "M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z" }, null, -1)]])) : r("", !0)]), a("span", {
2047
+ class: "bb:ml-3 bb:text-sm bb:font-medium bb:text-gray-700",
2048
+ textContent: _(m.itemName(e))
2049
+ }, null, 8, tr)], 4))), 128))], 12, Zn)) : r("", !0)]);
2050
+ }
2051
+ var rr = /*#__PURE__*/ A(qn, [["render", nr]]), ir = {
1935
2052
  components: {
1936
- DropdownButton: hn,
1937
- ListElement: xn
2053
+ DropdownButton: q,
2054
+ ListElement: wn
1938
2055
  },
1939
2056
  emits: ["update:modelValue", "changed"],
1940
2057
  props: {
@@ -1989,13 +2106,13 @@ var Vn = /*#__PURE__*/ M(Fn, [["render", Bn]]), Hn = {
1989
2106
  return this.$refs.list ? [...this.$refs.list.querySelectorAll(":scope > button")] : [];
1990
2107
  }
1991
2108
  }
1992
- }, Un = { class: "bb-dashboard-ui bb:flex bb:flex-col bb:grow" }, Wn = {
2109
+ }, ar = { class: "bb-dashboard-ui bb:flex bb:flex-col bb:grow" }, or = {
1993
2110
  ref: "list",
1994
2111
  class: "bb:flex bb:flex-col bb:py-1 bb:divide-y bb:divide-gray-200 bb:divide-dashed"
1995
2112
  };
1996
- function Gn(t, o, s, c, l, u) {
2113
+ function sr(t, o, s, c, l, u) {
1997
2114
  let d = h("list-element"), m = h("dropdown-button");
1998
- return f(), i("div", Un, [u.hasItems ? (f(), n(m, {
2115
+ return f(), i("div", ar, [u.hasItems ? (f(), n(m, {
1999
2116
  key: 0,
2000
2117
  title: u.activeItemName,
2001
2118
  "is-open": l.isOpen,
@@ -2006,7 +2123,7 @@ function Gn(t, o, s, c, l, u) {
2006
2123
  "find-tab-stops": u.itemStops,
2007
2124
  onErased: u.clear
2008
2125
  }, {
2009
- default: b(() => [a("div", Wn, [(f(!0), i(e, null, p(u.itemList, (e) => (f(), n(d, {
2126
+ default: b(() => [a("div", or, [(f(!0), i(e, null, p(u.itemList, (e) => (f(), n(d, {
2010
2127
  name: e.name,
2011
2128
  key: e.id,
2012
2129
  "is-checked": e.id === s.modelValue,
@@ -2027,10 +2144,10 @@ function Gn(t, o, s, c, l, u) {
2027
2144
  "onErased"
2028
2145
  ])) : r("", !0)]);
2029
2146
  }
2030
- var Kn = /*#__PURE__*/ M(Hn, [["render", Gn]]), qn = {
2147
+ var cr = /*#__PURE__*/ A(ir, [["render", sr]]), lr = {
2031
2148
  components: {
2032
- ElementHeader: P,
2033
- SelectSingle: Kn
2149
+ ElementHeader: M,
2150
+ SelectSingle: cr
2034
2151
  },
2035
2152
  emits: ["update:modelValue", "changed"],
2036
2153
  props: {
@@ -2055,10 +2172,10 @@ var Kn = /*#__PURE__*/ M(Hn, [["render", Gn]]), qn = {
2055
2172
  default: !1
2056
2173
  }
2057
2174
  }
2058
- }, Jn = { class: "bb-dashboard-ui bb:flex bb:flex-none bb:w-fit bb:h-18 bb:border bb:border-gray-200" }, Yn = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" };
2059
- function Xn(e, t, n, r, o, c) {
2175
+ }, ur = { class: "bb-dashboard-ui bb:flex bb:flex-none bb:w-fit bb:h-18 bb:border bb:border-gray-200" }, dr = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" };
2176
+ function fr(e, t, n, r, o, c) {
2060
2177
  let l = h("element-header"), u = h("select-single");
2061
- return f(), i("div", Jn, [a("div", Yn, [s(l, {
2178
+ return f(), i("div", ur, [a("div", dr, [s(l, {
2062
2179
  text: n.header ?? "",
2063
2180
  "is-required": n.isRequired,
2064
2181
  "is-loading": n.isLoading
@@ -2073,10 +2190,10 @@ function Xn(e, t, n, r, o, c) {
2073
2190
  onChanged: t[1] ||= (t) => e.$emit("changed")
2074
2191
  }, null, 8, ["items", "model-value"])])]);
2075
2192
  }
2076
- var Zn = /*#__PURE__*/ M(qn, [["render", Xn]]), Qn = {
2193
+ var pr = /*#__PURE__*/ A(lr, [["render", fr]]), mr = {
2077
2194
  components: {
2078
- Dot: N,
2079
- SelectSingle: Kn
2195
+ Dot: j,
2196
+ SelectSingle: cr
2080
2197
  },
2081
2198
  emits: ["update:modelValue", "changed"],
2082
2199
  props: {
@@ -2100,17 +2217,17 @@ var Zn = /*#__PURE__*/ M(qn, [["render", Xn]]), Qn = {
2100
2217
  setup() {
2101
2218
  return { labelId: v() };
2102
2219
  }
2103
- }, $n = { class: "bb-dashboard-ui" }, er = { class: "bb:flex bb:items-center" }, tr = ["id", "textContent"], nr = { class: "bb:mt-1 bb:h-9.5 bb:w-full bb:rounded-md bb:[--bb-field-radius:0.375rem] bb:border bb:border-gray-300 bb:bg-white bb:shadow-xs bb:text-sm bb:flex bb:flex-col" };
2104
- function rr(e, t, n, r, o, c) {
2220
+ }, hr = { class: "bb-dashboard-ui" }, gr = { class: "bb:flex bb:items-center" }, _r = ["id", "textContent"], vr = { class: "bb:mt-1 bb:h-9.5 bb:w-full bb:rounded-md bb:[--bb-field-radius:0.375rem] bb:border bb:border-gray-300 bb:bg-white bb:shadow-xs bb:text-sm bb:flex bb:flex-col" };
2221
+ function yr(e, t, n, r, o, c) {
2105
2222
  let l = h("dot"), u = h("select-single");
2106
- return f(), i("div", $n, [a("div", er, [a("span", {
2223
+ return f(), i("div", hr, [a("div", gr, [a("span", {
2107
2224
  id: r.labelId,
2108
2225
  class: "bb:block bb:text-sm bb:font-medium bb:leading-5 bb:text-gray-700",
2109
2226
  textContent: _(n.label ?? "")
2110
- }, null, 8, tr), x(s(l, {
2227
+ }, null, 8, _r), x(s(l, {
2111
2228
  color: "red",
2112
2229
  class: "bb:ml-2"
2113
- }, null, 512), [[y, n.isRequired]])]), a("div", nr, [s(u, {
2230
+ }, null, 512), [[y, n.isRequired]])]), a("div", vr, [s(u, {
2114
2231
  items: n.items,
2115
2232
  "model-value": n.modelValue,
2116
2233
  "labelled-by": r.labelId,
@@ -2122,8 +2239,113 @@ function rr(e, t, n, r, o, c) {
2122
2239
  "labelled-by"
2123
2240
  ])])]);
2124
2241
  }
2125
- var ir = /*#__PURE__*/ M(Qn, [["render", rr]]), ar = {
2126
- mixins: [j],
2242
+ var br = /*#__PURE__*/ A(mr, [["render", yr]]), xr = {
2243
+ components: { Dot: j },
2244
+ emits: ["update:modelValue", "changed"],
2245
+ props: {
2246
+ items: {
2247
+ type: Array,
2248
+ required: !0
2249
+ },
2250
+ modelValue: {
2251
+ type: [
2252
+ String,
2253
+ Number,
2254
+ Boolean
2255
+ ],
2256
+ default: null
2257
+ },
2258
+ label: {
2259
+ type: String,
2260
+ required: !0
2261
+ },
2262
+ isRequired: {
2263
+ type: Boolean,
2264
+ default: !1
2265
+ },
2266
+ columns: {
2267
+ type: Number,
2268
+ default: 2,
2269
+ validator: J
2270
+ }
2271
+ },
2272
+ setup() {
2273
+ return {
2274
+ labelId: v(),
2275
+ groupName: v()
2276
+ };
2277
+ },
2278
+ computed: {
2279
+ itemList() {
2280
+ return Array.isArray(this.items) ? this.items.filter((e) => typeof e == "object" && !!e) : [];
2281
+ },
2282
+ gridStyle() {
2283
+ return Gn(Y(this.columns));
2284
+ },
2285
+ itemStyles() {
2286
+ return Kn(this.itemList.length, Y(this.columns));
2287
+ }
2288
+ },
2289
+ methods: {
2290
+ isSelected(e) {
2291
+ return e.id === this.modelValue;
2292
+ },
2293
+ itemName(e) {
2294
+ return String(e.name ?? "");
2295
+ },
2296
+ async select(e) {
2297
+ this.$emit("update:modelValue", e.id), this.$emit("changed"), await this.$nextTick(), this.syncChecked();
2298
+ },
2299
+ syncChecked() {
2300
+ this.$el.querySelectorAll("input").forEach((e, t) => {
2301
+ e.checked = this.isSelected(this.itemList[t]);
2302
+ });
2303
+ }
2304
+ }
2305
+ }, Sr = { class: "bb-dashboard-ui" }, Cr = { class: "bb:flex bb:items-center" }, wr = ["id", "textContent"], Tr = ["aria-labelledby"], Er = [
2306
+ "name",
2307
+ "checked",
2308
+ "onChange"
2309
+ ], Dr = {
2310
+ key: 0,
2311
+ class: "bb:size-2 bb:rounded-full bb:bg-indigo-600 bb:forced-colors:bg-[CanvasText]"
2312
+ }, Or = ["textContent"];
2313
+ function kr(t, n, o, c, l, m) {
2314
+ let g = h("dot");
2315
+ return f(), i("div", Sr, [a("div", Cr, [a("span", {
2316
+ id: c.labelId,
2317
+ class: "bb:block bb:text-sm bb:font-medium bb:leading-5 bb:text-gray-700",
2318
+ textContent: _(o.label ?? "")
2319
+ }, null, 8, wr), x(s(g, {
2320
+ color: "red",
2321
+ class: "bb:ml-2"
2322
+ }, null, 512), [[y, o.isRequired]])]), m.itemList.length > 0 ? (f(), i("div", {
2323
+ key: 0,
2324
+ role: "radiogroup",
2325
+ "aria-labelledby": c.labelId,
2326
+ class: "bb:mt-2 bb:grid bb:gap-3",
2327
+ style: d(m.gridStyle)
2328
+ }, [(f(!0), i(e, null, p(m.itemList, (e, t) => (f(), i("label", {
2329
+ key: t,
2330
+ style: d(m.itemStyles[t]),
2331
+ class: u(["bb:relative bb:flex bb:items-start bb:p-3 bb:border bb:rounded-md bb:cursor-pointer bb:select-none bb:transition-[background-color,border-color] bb:has-focus-visible:focus-ring", m.isSelected(e) ? "bb:border-indigo-500 bb:bg-indigo-50" : "bb:border-gray-300 bb:bg-white bb:hover:bg-gray-50"])
2332
+ }, [
2333
+ a("input", {
2334
+ type: "radio",
2335
+ name: c.groupName,
2336
+ checked: m.isSelected(e),
2337
+ class: "bb:absolute bb:inset-0 bb:size-full bb:cursor-pointer bb:bg-none bb:opacity-0",
2338
+ onChange: (t) => m.select(e)
2339
+ }, null, 40, Er),
2340
+ a("span", { class: u(["bb:pointer-events-none bb:cursor-default bb:shrink-0 bb:mt-0.5 bb:size-4 bb:rounded-full bb:border-2 bb:flex bb:items-center bb:justify-center", m.isSelected(e) ? "bb:border-indigo-600 bb:forced-colors:border-[Highlight]" : "bb:border-gray-400"]) }, [m.isSelected(e) ? (f(), i("span", Dr)) : r("", !0)], 2),
2341
+ a("span", {
2342
+ class: "bb:pointer-events-none bb:cursor-default bb:ml-3 bb:text-sm bb:font-medium bb:text-gray-700",
2343
+ textContent: _(m.itemName(e))
2344
+ }, null, 8, Or)
2345
+ ], 6))), 128))], 12, Tr)) : r("", !0)]);
2346
+ }
2347
+ var Ar = /*#__PURE__*/ A(xr, [["render", kr]]), jr = {
2348
+ mixins: [k],
2127
2349
  props: {
2128
2350
  text: {
2129
2351
  type: String,
@@ -2132,17 +2354,17 @@ var ir = /*#__PURE__*/ M(Qn, [["render", rr]]), ar = {
2132
2354
  color: {
2133
2355
  type: String,
2134
2356
  required: !0,
2135
- validator: A
2357
+ validator: O
2136
2358
  }
2137
2359
  }
2138
- }, or = ["textContent"];
2139
- function sr(e, t, n, r, a, o) {
2360
+ }, Mr = ["textContent"];
2361
+ function Nr(e, t, n, r, a, o) {
2140
2362
  return f(), i("span", {
2141
2363
  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")]),
2142
2364
  textContent: _(n.text)
2143
- }, null, 10, or);
2365
+ }, null, 10, Mr);
2144
2366
  }
2145
- var cr = /*#__PURE__*/ M(ar, [["render", sr]]), lr = {
2367
+ var Pr = /*#__PURE__*/ A(jr, [["render", Nr]]), Fr = {
2146
2368
  props: {
2147
2369
  messages: {
2148
2370
  type: [Object, Array],
@@ -2162,12 +2384,12 @@ var cr = /*#__PURE__*/ M(ar, [["render", sr]]), lr = {
2162
2384
  return this.type === "dangerous";
2163
2385
  }
2164
2386
  }
2165
- }, ur = { class: "bb:flex" }, dr = { class: "bb:shrink-0" }, fr = { class: "bb:ml-3" }, pr = ["textContent"];
2166
- function mr(t, n, o, s, c, l) {
2387
+ }, Ir = { class: "bb:flex" }, Lr = { class: "bb:shrink-0" }, Rr = { class: "bb:ml-3" }, zr = ["textContent"];
2388
+ function Br(t, n, o, s, c, l) {
2167
2389
  return l.hasErrors ? (f(), i("div", {
2168
2390
  key: 0,
2169
2391
  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"])
2170
- }, [a("div", ur, [a("div", dr, [(f(), i("svg", {
2392
+ }, [a("div", Ir, [a("div", Lr, [(f(), i("svg", {
2171
2393
  class: u(["bb:h-5 bb:w-5", l.isDangerous ? "bb:text-red-400" : "bb:text-yellow-400"]),
2172
2394
  viewBox: "0 0 20 20",
2173
2395
  fill: "currentColor"
@@ -2175,21 +2397,21 @@ function mr(t, n, o, s, c, l) {
2175
2397
  "fill-rule": "evenodd",
2176
2398
  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",
2177
2399
  "clip-rule": "evenodd"
2178
- }, null, -1)]], 2))]), a("div", fr, [(f(!0), i(e, null, p(o.messages, (e, t) => (f(), i("p", {
2400
+ }, null, -1)]], 2))]), a("div", Rr, [(f(!0), i(e, null, p(o.messages, (e, t) => (f(), i("p", {
2179
2401
  class: u(["bb:text-sm bb:leading-5", l.isDangerous ? "bb:text-red-700" : "bb:text-yellow-700"]),
2180
2402
  key: t,
2181
2403
  textContent: _(e)
2182
- }, null, 10, pr))), 128))])])], 2)) : r("", !0);
2404
+ }, null, 10, zr))), 128))])])], 2)) : r("", !0);
2183
2405
  }
2184
- var hr = /*#__PURE__*/ M(lr, [["render", mr]]), gr = [
2406
+ var Vr = /*#__PURE__*/ A(Fr, [["render", Br]]), Hr = [
2185
2407
  "text",
2186
2408
  "email",
2187
2409
  "password",
2188
2410
  "tel",
2189
2411
  "url",
2190
2412
  "search"
2191
- ], _r = {
2192
- components: { Dot: N },
2413
+ ], Ur = {
2414
+ components: { Dot: j },
2193
2415
  inheritAttrs: !1,
2194
2416
  props: {
2195
2417
  modelValue: {
@@ -2203,7 +2425,7 @@ var hr = /*#__PURE__*/ M(lr, [["render", mr]]), gr = [
2203
2425
  type: {
2204
2426
  type: String,
2205
2427
  default: "text",
2206
- validator: (e) => gr.includes(e)
2428
+ validator: (e) => Hr.includes(e)
2207
2429
  },
2208
2430
  isRequired: {
2209
2431
  type: Boolean,
@@ -2224,7 +2446,7 @@ var hr = /*#__PURE__*/ M(lr, [["render", mr]]), gr = [
2224
2446
  }
2225
2447
  },
2226
2448
  inputType() {
2227
- return gr.includes(this.type) ? this.type : "text";
2449
+ return Hr.includes(this.type) ? this.type : "text";
2228
2450
  }
2229
2451
  },
2230
2452
  methods: {
@@ -2239,26 +2461,26 @@ var hr = /*#__PURE__*/ M(lr, [["render", mr]]), gr = [
2239
2461
  ].includes(e)));
2240
2462
  }
2241
2463
  }
2242
- }, vr = { class: "bb:flex bb:items-center" }, yr = ["for", "textContent"], br = ["id", "type"];
2243
- function xr(e, t, n, r, o, c) {
2464
+ }, Wr = { class: "bb:flex bb:items-center" }, Gr = ["for", "textContent"], Kr = ["id", "type"];
2465
+ function qr(e, t, n, r, o, c) {
2244
2466
  let p = h("dot");
2245
2467
  return f(), i("div", {
2246
2468
  class: u(["bb-dashboard-ui", e.$attrs.class]),
2247
2469
  style: d(e.$attrs.style)
2248
- }, [a("div", vr, [a("label", {
2470
+ }, [a("div", Wr, [a("label", {
2249
2471
  for: c.inputId(),
2250
2472
  class: "bb:block bb:text-sm bb:font-medium bb:leading-5 bb:text-gray-700",
2251
2473
  textContent: _(n.label)
2252
- }, null, 8, yr), x(s(p, {
2474
+ }, null, 8, Gr), x(s(p, {
2253
2475
  color: "red",
2254
2476
  class: "bb:ml-2"
2255
2477
  }, null, 512), [[y, n.isRequired]])]), x(a("input", l({ "onUpdate:modelValue": t[0] ||= (e) => c.value = e }, { ...c.inputAttrs() }, {
2256
2478
  id: c.inputId(),
2257
2479
  type: c.inputType,
2258
2480
  class: "bb:mt-1 bb:block bb:w-full bb:rounded-md bb:border bb:border-gray-300 bb:bg-white bb:px-3 bb:py-2 bb:text-sm bb:leading-5 bb:shadow-xs bb:focus:focus-ring"
2259
- }), null, 16, br), [[ee, c.value]])], 6);
2481
+ }), null, 16, Kr), [[ee, c.value]])], 6);
2260
2482
  }
2261
- var Sr = /*#__PURE__*/ M(_r, [["render", xr]]), Cr = {}, wr = {
2483
+ var Jr = /*#__PURE__*/ A(Ur, [["render", qr]]), Yr = {}, Xr = {
2262
2484
  class: "bb:w-4 bb:h-4",
2263
2485
  fill: "none",
2264
2486
  stroke: "currentColor",
@@ -2268,8 +2490,8 @@ var Sr = /*#__PURE__*/ M(_r, [["render", xr]]), Cr = {}, wr = {
2268
2490
  xmlns: "http://www.w3.org/2000/svg",
2269
2491
  "aria-hidden": "true"
2270
2492
  };
2271
- function Tr(e, t, n, r, o, s) {
2272
- return f(), i("svg", wr, [...t[0] ||= [
2493
+ function Zr(e, t, n, r, o, s) {
2494
+ return f(), i("svg", Xr, [...t[0] ||= [
2273
2495
  a("circle", {
2274
2496
  cx: "12",
2275
2497
  cy: "12",
@@ -2291,7 +2513,7 @@ function Tr(e, t, n, r, o, s) {
2291
2513
  }, null, -1)
2292
2514
  ]]);
2293
2515
  }
2294
- var Er = /*#__PURE__*/ M(Cr, [["render", Tr]]), Dr = {}, Or = {
2516
+ var Qr = /*#__PURE__*/ A(Yr, [["render", Zr]]), $r = {}, ei = {
2295
2517
  class: "bb:w-4 bb:h-4",
2296
2518
  fill: "none",
2297
2519
  stroke: "currentColor",
@@ -2299,15 +2521,15 @@ var Er = /*#__PURE__*/ M(Cr, [["render", Tr]]), Dr = {}, Or = {
2299
2521
  xmlns: "http://www.w3.org/2000/svg",
2300
2522
  "aria-hidden": "true"
2301
2523
  };
2302
- function kr(e, t, n, r, o, s) {
2303
- return f(), i("svg", Or, [...t[0] ||= [a("path", {
2524
+ function ti(e, t, n, r, o, s) {
2525
+ return f(), i("svg", ei, [...t[0] ||= [a("path", {
2304
2526
  "stroke-linecap": "round",
2305
2527
  "stroke-linejoin": "round",
2306
2528
  "stroke-width": "2",
2307
2529
  d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"
2308
2530
  }, null, -1)]]);
2309
2531
  }
2310
- var Ar = /*#__PURE__*/ M(Dr, [["render", kr]]), jr = {}, Mr = {
2532
+ var ni = /*#__PURE__*/ A($r, [["render", ti]]), ri = {}, ii = {
2311
2533
  class: "bb:w-4 bb:h-4",
2312
2534
  fill: "none",
2313
2535
  stroke: "currentColor",
@@ -2315,21 +2537,21 @@ var Ar = /*#__PURE__*/ M(Dr, [["render", kr]]), jr = {}, Mr = {
2315
2537
  xmlns: "http://www.w3.org/2000/svg",
2316
2538
  "aria-hidden": "true"
2317
2539
  };
2318
- function Nr(e, t, n, r, o, s) {
2319
- return f(), i("svg", Mr, [...t[0] ||= [a("path", {
2540
+ function ai(e, t, n, r, o, s) {
2541
+ return f(), i("svg", ii, [...t[0] ||= [a("path", {
2320
2542
  "stroke-linecap": "round",
2321
2543
  "stroke-linejoin": "round",
2322
2544
  "stroke-width": "2",
2323
2545
  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"
2324
2546
  }, null, -1)]]);
2325
2547
  }
2326
- var Pr = /*#__PURE__*/ M(jr, [["render", Nr]]), Fr = ["download", "refresh"], Ir = {
2548
+ var oi = /*#__PURE__*/ A(ri, [["render", ai]]), si = ["download", "refresh"], ci = {
2327
2549
  components: {
2328
- "clock-icon": Er,
2329
- "download-icon": Ar,
2330
- "refresh-icon": Pr
2550
+ "clock-icon": Qr,
2551
+ "download-icon": ni,
2552
+ "refresh-icon": oi
2331
2553
  },
2332
- mixins: [j],
2554
+ mixins: [k],
2333
2555
  emits: ["click"],
2334
2556
  props: {
2335
2557
  title: {
@@ -2339,12 +2561,12 @@ var Pr = /*#__PURE__*/ M(jr, [["render", Nr]]), Fr = ["download", "refresh"], Ir
2339
2561
  icon: {
2340
2562
  type: String,
2341
2563
  required: !0,
2342
- validator: (e) => Fr.includes(e)
2564
+ validator: (e) => si.includes(e)
2343
2565
  },
2344
2566
  color: {
2345
2567
  type: String,
2346
2568
  default: "purple",
2347
- validator: A
2569
+ validator: O
2348
2570
  },
2349
2571
  isLoading: {
2350
2572
  type: Boolean,
@@ -2359,12 +2581,12 @@ var Pr = /*#__PURE__*/ M(jr, [["render", Nr]]), Fr = ["download", "refresh"], Ir
2359
2581
  let e = this.isLoading && typeof this.loadingText == "string" && this.loadingText !== "" ? this.loadingText : this.title;
2360
2582
  return typeof e == "string" ? e : "";
2361
2583
  } }
2362
- }, Lr = [
2584
+ }, li = [
2363
2585
  "title",
2364
2586
  "disabled",
2365
2587
  "aria-busy"
2366
- ], Rr = ["textContent"];
2367
- function zr(e, t, o, s, c, l) {
2588
+ ], ui = ["textContent"];
2589
+ function di(e, t, o, s, c, l) {
2368
2590
  let d = h("clock-icon"), p = h("download-icon"), m = h("refresh-icon");
2369
2591
  return f(), i("button", {
2370
2592
  type: "button",
@@ -2389,19 +2611,19 @@ function zr(e, t, o, s, c, l) {
2389
2611
  })) : r("", !0), a("span", {
2390
2612
  class: "bb:ml-1 bb:pointer-events-none bb:cursor-default",
2391
2613
  textContent: _(l.label)
2392
- }, null, 8, Rr)], 10, Lr);
2614
+ }, null, 8, ui)], 10, li);
2393
2615
  }
2394
- var Br = /*#__PURE__*/ M(Ir, [["render", zr]]), Vr = "a[href], button:not(:disabled)";
2395
- function Hr(e, t) {
2616
+ var fi = /*#__PURE__*/ A(ci, [["render", di]]), pi = "a[href], button:not(:disabled)";
2617
+ function mi(e, t) {
2396
2618
  let n = document.activeElement;
2397
- (e.querySelector("[data-dialog-focus]") ?? e.querySelector(Vr))?.focus();
2619
+ (e.querySelector("[data-dialog-focus]") ?? e.querySelector(pi))?.focus();
2398
2620
  let r = (n) => {
2399
2621
  if (n.key === "Escape") {
2400
2622
  t();
2401
2623
  return;
2402
2624
  }
2403
2625
  if (n.key !== "Tab") return;
2404
- let r = [...e.querySelectorAll(Vr)];
2626
+ let r = [...e.querySelectorAll(pi)];
2405
2627
  if (r.length === 0) return;
2406
2628
  n.preventDefault();
2407
2629
  let i = n.shiftKey ? -1 : 1, a = r.indexOf(document.activeElement);
@@ -2418,7 +2640,7 @@ function Hr(e, t) {
2418
2640
  }
2419
2641
  //#endregion
2420
2642
  //#region src/components/Modal.vue
2421
- var Ur = {
2643
+ var hi = {
2422
2644
  emits: ["escape"],
2423
2645
  props: {
2424
2646
  isOpen: {
@@ -2452,16 +2674,16 @@ var Ur = {
2452
2674
  methods: {
2453
2675
  holdFocus() {
2454
2676
  this.focusFrame === null && this.releaseHeldFocus === null && (this.focusFrame = requestAnimationFrame(() => {
2455
- this.focusFrame = null, this.releaseHeldFocus = Hr(this.$refs.panel, () => this.$emit("escape"));
2677
+ this.focusFrame = null, this.releaseHeldFocus = mi(this.$refs.panel, () => this.$emit("escape"));
2456
2678
  }));
2457
2679
  },
2458
2680
  releaseFocus() {
2459
2681
  this.focusFrame !== null && (cancelAnimationFrame(this.focusFrame), this.focusFrame = null), this.releaseHeldFocus !== null && (this.releaseHeldFocus(), this.releaseHeldFocus = null);
2460
2682
  }
2461
2683
  }
2462
- }, Wr = { class: "bb:min-h-screen bb:text-center" }, Gr = { class: "bb:fixed bb:inset-0 bb:transition-opacity" }, Kr = ["aria-labelledby"];
2463
- function qr(e, n, r, o, c, l) {
2464
- return f(), 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", Wr, [
2684
+ }, gi = { class: "bb:min-h-screen bb:text-center" }, _i = { class: "bb:fixed bb:inset-0 bb:transition-opacity" }, vi = ["aria-labelledby"];
2685
+ function yi(e, n, r, o, c, l) {
2686
+ return f(), 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", gi, [
2465
2687
  s(t, {
2466
2688
  "enter-active-class": "bb:ease-out bb:duration-300",
2467
2689
  "enter-from-class": "bb:opacity-0",
@@ -2470,7 +2692,7 @@ function qr(e, n, r, o, c, l) {
2470
2692
  "leave-from-class": "bb:opacity-100",
2471
2693
  "leave-to-class": "bb:opacity-0"
2472
2694
  }, {
2473
- default: b(() => [x(a("div", Gr, [...n[0] ||= [a("div", { class: "bb:absolute bb:inset-0 bb:bg-gray-500 bb:opacity-75" }, null, -1)]], 512), [[y, r.isOpen]])]),
2695
+ default: b(() => [x(a("div", _i, [...n[0] ||= [a("div", { class: "bb:absolute bb:inset-0 bb:bg-gray-500 bb:opacity-75" }, null, -1)]], 512), [[y, r.isOpen]])]),
2474
2696
  _: 1
2475
2697
  }),
2476
2698
  n[1] ||= a("span", { class: "bb:inline-block bb:align-middle bb:h-screen" }, null, -1),
@@ -2488,12 +2710,12 @@ function qr(e, n, r, o, c, l) {
2488
2710
  role: "dialog",
2489
2711
  "aria-modal": "true",
2490
2712
  "aria-labelledby": r.headingId
2491
- }, [m(e.$slots, "default")], 8, Kr), [[y, r.isOpen]])]),
2713
+ }, [m(e.$slots, "default")], 8, vi), [[y, r.isOpen]])]),
2492
2714
  _: 3
2493
2715
  })
2494
2716
  ])], 2);
2495
2717
  }
2496
- var Jr = /*#__PURE__*/ M(Ur, [["render", qr]]), Yr = {}, Xr = {
2718
+ var bi = /*#__PURE__*/ A(hi, [["render", yi]]), xi = {}, Si = {
2497
2719
  class: "bb:h-7 bb:w-7 bb:text-red-600",
2498
2720
  xmlns: "http://www.w3.org/2000/svg",
2499
2721
  fill: "none",
@@ -2501,35 +2723,35 @@ var Jr = /*#__PURE__*/ M(Ur, [["render", qr]]), Yr = {}, Xr = {
2501
2723
  stroke: "currentColor",
2502
2724
  "aria-hidden": "true"
2503
2725
  };
2504
- function Zr(e, t, n, r, o, s) {
2505
- return f(), i("svg", Xr, [...t[0] ||= [a("path", {
2726
+ function Ci(e, t, n, r, o, s) {
2727
+ return f(), i("svg", Si, [...t[0] ||= [a("path", {
2506
2728
  "stroke-linecap": "round",
2507
2729
  "stroke-linejoin": "round",
2508
2730
  "stroke-width": "2",
2509
2731
  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"
2510
2732
  }, null, -1)]]);
2511
2733
  }
2512
- var Qr = /*#__PURE__*/ M(Yr, [["render", Zr]]), $r = {}, ei = {
2734
+ var wi = /*#__PURE__*/ A(xi, [["render", Ci]]), Ti = {}, Ei = {
2513
2735
  class: "bb:h-7 bb:w-7 bb:text-yellow-400",
2514
2736
  xmlns: "http://www.w3.org/2000/svg",
2515
2737
  viewBox: "0 0 20 20",
2516
2738
  fill: "currentColor",
2517
2739
  "aria-hidden": "true"
2518
2740
  };
2519
- function ti(e, t, n, r, o, s) {
2520
- return f(), i("svg", ei, [...t[0] ||= [a("path", {
2741
+ function Di(e, t, n, r, o, s) {
2742
+ return f(), i("svg", Ei, [...t[0] ||= [a("path", {
2521
2743
  "fill-rule": "evenodd",
2522
2744
  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",
2523
2745
  "clip-rule": "evenodd"
2524
2746
  }, null, -1)]]);
2525
2747
  }
2526
- var ni = /*#__PURE__*/ M($r, [["render", ti]]), ri = {
2748
+ var Oi = /*#__PURE__*/ A(Ti, [["render", Di]]), ki = {
2527
2749
  components: {
2528
- Modal: Jr,
2529
- Dangerous: Qr,
2530
- Warning: ni
2750
+ Modal: bi,
2751
+ Dangerous: wi,
2752
+ Warning: Oi
2531
2753
  },
2532
- mixins: [F],
2754
+ mixins: [N],
2533
2755
  emits: ["actionConfirmed", "actionCanceled"],
2534
2756
  props: {
2535
2757
  isOpen: {
@@ -2569,21 +2791,21 @@ var ni = /*#__PURE__*/ M($r, [["render", ti]]), ri = {
2569
2791
  return this.type === "warning";
2570
2792
  }
2571
2793
  }
2572
- }, ii = { class: "bb:flex bb:bg-white bb:rounded-t-lg bb:p-6 bb:pb-4" }, ai = { class: "bb:flex bb:items-start" }, oi = { class: "bb:ml-4 bb:text-left" }, si = ["id"], ci = { class: "bb:mt-2" }, li = { class: "bb:text-sm bb:text-gray-500" }, ui = { class: "bb:bg-gray-50 bb:rounded-b-lg bb:px-6 bb:py-3 bb:flex bb:flex-row-reverse" };
2573
- function di(e, t, i, o, s, c) {
2794
+ }, Ai = { class: "bb:flex bb:bg-white bb:rounded-t-lg bb:p-6 bb:pb-4" }, ji = { class: "bb:flex bb:items-start" }, Mi = { class: "bb:ml-4 bb:text-left" }, Ni = ["id"], Pi = { class: "bb:mt-2" }, Fi = { class: "bb:text-sm bb:text-gray-500" }, Ii = { class: "bb:bg-gray-50 bb:rounded-b-lg bb:px-6 bb:py-3 bb:flex bb:flex-row-reverse" };
2795
+ function Li(e, t, i, o, s, c) {
2574
2796
  let l = h("warning"), d = h("dangerous"), p = h("modal");
2575
2797
  return f(), n(p, {
2576
2798
  "is-open": i.isOpen,
2577
2799
  "heading-id": o.headingId,
2578
2800
  onEscape: t[2] ||= (t) => e.$emit("actionCanceled")
2579
2801
  }, {
2580
- default: b(() => [a("div", ii, [a("div", ai, [a("div", { class: u(["bb:shrink-0 bb:flex bb:items-center bb:justify-center bb:h-10 bb:w-10 bb:rounded-full", {
2802
+ default: b(() => [a("div", Ai, [a("div", ji, [a("div", { class: u(["bb:shrink-0 bb:flex bb:items-center bb:justify-center bb:h-10 bb:w-10 bb:rounded-full", {
2581
2803
  "bb:bg-red-100": c.isDangerous,
2582
2804
  "bb:bg-yellow-100": c.isWarning
2583
- }]) }, [c.isWarning ? (f(), n(l, { key: 0 })) : r("", !0), c.isDangerous ? (f(), n(d, { key: 1 })) : r("", !0)], 2), a("div", oi, [a("h3", {
2805
+ }]) }, [c.isWarning ? (f(), n(l, { key: 0 })) : r("", !0), c.isDangerous ? (f(), n(d, { key: 1 })) : r("", !0)], 2), a("div", Mi, [a("h3", {
2584
2806
  class: "bb:text-lg bb:leading-6 bb:font-medium bb:text-gray-900",
2585
2807
  id: o.headingId
2586
- }, _(i.confirmationHeading), 9, si), a("div", ci, [a("p", li, _(i.confirmationText), 1)])])])]), a("div", ui, [a("button", {
2808
+ }, _(i.confirmationHeading), 9, Ni), a("div", Pi, [a("p", Fi, _(i.confirmationText), 1)])])])]), a("div", Ii, [a("button", {
2587
2809
  type: "button",
2588
2810
  class: u(["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-sm bb:font-medium bb:text-white bb:focus:focus-ring bb:ml-3", {
2589
2811
  "bb:bg-red-600 bb:hover:bg-red-700": c.isDangerous,
@@ -2599,38 +2821,38 @@ function di(e, t, i, o, s, c) {
2599
2821
  _: 1
2600
2822
  }, 8, ["is-open", "heading-id"]);
2601
2823
  }
2602
- var fi = /*#__PURE__*/ M(ri, [["render", di]]);
2824
+ var Ri = /*#__PURE__*/ A(ki, [["render", Li]]);
2603
2825
  //#endregion
2604
2826
  //#region src/menuItems.js
2605
- function pi(e) {
2606
- if (typeof e != "object" || !e || typeof e.label != "string" || e.label === "" || e.color !== void 0 && !A(e.color)) return !1;
2827
+ function zi(e) {
2828
+ if (typeof e != "object" || !e || typeof e.label != "string" || e.label === "" || e.color !== void 0 && !O(e.color)) return !1;
2607
2829
  let t = typeof e.href == "string" && e.href !== "" && e.onSelect === void 0, n = typeof e.onSelect == "function" && e.href === void 0;
2608
2830
  return t || n;
2609
2831
  }
2610
- function mi(e) {
2832
+ function Bi(e) {
2611
2833
  return Array.isArray(e) ? e.filter((e) => typeof e == "object" && !!e) : [];
2612
2834
  }
2613
- function hi(e) {
2835
+ function Vi(e) {
2614
2836
  return typeof e.href == "string" && e.href !== "";
2615
2837
  }
2616
- function gi(e) {
2617
- return A(e.color) ? e.color : null;
2838
+ function X(e) {
2839
+ return O(e.color) ? e.color : null;
2618
2840
  }
2619
2841
  //#endregion
2620
2842
  //#region src/navigation.js
2621
- function _i(e) {
2843
+ function Hi(e) {
2622
2844
  let t = e.currentTarget?.target ?? "";
2623
2845
  return !(e.defaultPrevented || e.target?.isContentEditable === !0 || e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || t !== "" && t !== "_self" || e.button !== 0);
2624
2846
  }
2625
2847
  var Z = {
2626
- inject: O,
2848
+ inject: ye,
2627
2849
  methods: { followLink(e, t) {
2628
2850
  let n = this.uiSettings.navigate;
2629
- n !== null && _i(e) && (e.preventDefault(), n(t));
2851
+ n !== null && Hi(e) && (e.preventDefault(), n(t));
2630
2852
  } }
2631
- }, vi = {
2632
- components: { PopoverPanel: W },
2633
- mixins: [Z, j],
2853
+ }, Ui = {
2854
+ components: { PopoverPanel: B },
2855
+ mixins: [Z, k],
2634
2856
  emits: ["update:modelValue"],
2635
2857
  props: {
2636
2858
  actions: { default: () => [] },
@@ -2641,7 +2863,7 @@ var Z = {
2641
2863
  },
2642
2864
  computed: {
2643
2865
  actionItems() {
2644
- return mi(this.actions);
2866
+ return Bi(this.actions);
2645
2867
  },
2646
2868
  hasActions() {
2647
2869
  return this.actionItems.length > 0;
@@ -2649,10 +2871,10 @@ var Z = {
2649
2871
  },
2650
2872
  methods: {
2651
2873
  color(e) {
2652
- return gi(e);
2874
+ return X(e);
2653
2875
  },
2654
2876
  isLink(e) {
2655
- return hi(e);
2877
+ return Vi(e);
2656
2878
  },
2657
2879
  linkClicked(e, t) {
2658
2880
  e.currentTarget.focus({ preventScroll: !0 }), this.followLink(e, t);
@@ -2661,12 +2883,12 @@ var Z = {
2661
2883
  if (t.currentTarget.focus({ preventScroll: !0 }), typeof e.onSelect == "function") return e.onSelect();
2662
2884
  }
2663
2885
  }
2664
- }, yi = [
2886
+ }, Wi = [
2665
2887
  "href",
2666
2888
  "onClick",
2667
2889
  "textContent"
2668
- ], bi = ["onClick", "textContent"];
2669
- function xi(t, r, a, o, s, c) {
2890
+ ], Gi = ["onClick", "textContent"];
2891
+ function Ki(t, r, a, o, s, c) {
2670
2892
  let l = h("popover-panel");
2671
2893
  return f(), n(l, {
2672
2894
  "model-value": a.modelValue,
@@ -2691,30 +2913,30 @@ function xi(t, r, a, o, s, c) {
2691
2913
  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:hover:bg-gray-100 bb:hover:text-gray-900 bb:focus:bg-gray-100 bb:focus:text-gray-900" : t.colorClass(c.color(n), "menuItem")]),
2692
2914
  onClick: (e) => c.linkClicked(e, n.href),
2693
2915
  textContent: _(n.label)
2694
- }, null, 10, yi)) : (f(), i("button", {
2916
+ }, null, 10, Wi)) : (f(), i("button", {
2695
2917
  key: 1,
2696
2918
  type: "button",
2697
2919
  role: "menuitem",
2698
2920
  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:hover:bg-gray-100 bb:hover:text-gray-900 bb:focus:bg-gray-100 bb:focus:text-gray-900" : t.colorClass(c.color(n), "menuItem")]),
2699
2921
  onClick: (e) => c.select(n, e),
2700
2922
  textContent: _(n.label)
2701
- }, null, 10, bi))], 64))), 128))]),
2923
+ }, null, 10, Gi))], 64))), 128))]),
2702
2924
  _: 3
2703
2925
  }, 8, ["model-value", "has-content"]);
2704
2926
  }
2705
- var Si = /*#__PURE__*/ M(vi, [["render", xi]]), Ci = {
2706
- components: { PopoverMenu: Si },
2927
+ var qi = /*#__PURE__*/ A(Ui, [["render", Ki]]), Ji = {
2928
+ components: { PopoverMenu: qi },
2707
2929
  mixins: [
2708
- F,
2930
+ N,
2709
2931
  Z,
2710
- j
2932
+ k
2711
2933
  ],
2712
2934
  emits: ["update:modelValue"],
2713
2935
  props: {
2714
2936
  actions: {
2715
2937
  type: Array,
2716
2938
  default: () => [],
2717
- validator: (e) => e.every(pi)
2939
+ validator: (e) => e.every(zi)
2718
2940
  },
2719
2941
  modelValue: {
2720
2942
  type: Boolean,
@@ -2726,7 +2948,7 @@ var Si = /*#__PURE__*/ M(vi, [["render", xi]]), Ci = {
2726
2948
  },
2727
2949
  computed: {
2728
2950
  items() {
2729
- return mi(this.actions);
2951
+ return Bi(this.actions);
2730
2952
  },
2731
2953
  hasActions() {
2732
2954
  return this.items.length > 0;
@@ -2735,7 +2957,7 @@ var Si = /*#__PURE__*/ M(vi, [["render", xi]]), Ci = {
2735
2957
  return this.items[0];
2736
2958
  },
2737
2959
  mainColor() {
2738
- return this.hasActions ? gi(this.mainAction) : null;
2960
+ return this.hasActions ? X(this.mainAction) : null;
2739
2961
  },
2740
2962
  menuActions() {
2741
2963
  return this.items.slice(1);
@@ -2757,7 +2979,7 @@ var Si = /*#__PURE__*/ M(vi, [["render", xi]]), Ci = {
2757
2979
  },
2758
2980
  methods: {
2759
2981
  isLink(e) {
2760
- return hi(e);
2982
+ return Vi(e);
2761
2983
  },
2762
2984
  select(e) {
2763
2985
  if (typeof e.onSelect == "function") return e.onSelect();
@@ -2766,13 +2988,13 @@ var Si = /*#__PURE__*/ M(vi, [["render", xi]]), Ci = {
2766
2988
  this.menuIsOpen = e, this.$emit("update:modelValue", e);
2767
2989
  }
2768
2990
  }
2769
- }, wi = {
2991
+ }, Yi = {
2770
2992
  key: 0,
2771
2993
  class: "bb-dashboard-ui bb:relative bb:inline-flex bb:shadow-xs bb:rounded-md"
2772
- }, Ti = ["href", "textContent"], Ei = ["textContent"], Di = ["id", "popovertarget"], Oi = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
2773
- function ki(e, t, n, o, c, l) {
2994
+ }, Xi = ["href", "textContent"], Zi = ["textContent"], Qi = ["id", "popovertarget"], $i = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
2995
+ function ea(e, t, n, o, c, l) {
2774
2996
  let d = h("popover-menu");
2775
- return l.hasActions ? (f(), i("span", wi, [l.isLink(l.mainAction) ? (f(), i("a", {
2997
+ return l.hasActions ? (f(), i("span", Yi, [l.isLink(l.mainAction) ? (f(), i("a", {
2776
2998
  key: 0,
2777
2999
  href: l.mainAction.href,
2778
3000
  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:focus-ring", [{
@@ -2781,7 +3003,7 @@ function ki(e, t, n, o, c, l) {
2781
3003
  }, l.mainColor === null ? "bb:bg-white bb:border-gray-300 bb:text-gray-700 bb:hover:bg-gray-50" : e.colorClass(l.mainColor, "button")]]),
2782
3004
  onClick: t[0] ||= (t) => e.followLink(t, l.mainAction.href),
2783
3005
  textContent: _(l.mainAction.label)
2784
- }, null, 10, Ti)) : (f(), i("button", {
3006
+ }, null, 10, Xi)) : (f(), i("button", {
2785
3007
  key: 1,
2786
3008
  type: "button",
2787
3009
  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:focus-ring", [{
@@ -2790,7 +3012,7 @@ function ki(e, t, n, o, c, l) {
2790
3012
  }, l.mainColor === null ? "bb:bg-white bb:border-gray-300 bb:text-gray-700 bb:hover:bg-gray-50" : e.colorClass(l.mainColor, "button")]]),
2791
3013
  onClick: t[1] ||= (e) => l.select(l.mainAction),
2792
3014
  textContent: _(l.mainAction.label)
2793
- }, null, 10, Ei)), s(d, {
3015
+ }, null, 10, Zi)), s(d, {
2794
3016
  class: "bb:-ml-px bb:flex",
2795
3017
  actions: l.menuActions,
2796
3018
  "model-value": n.modelValue,
@@ -2801,7 +3023,7 @@ function ki(e, t, n, o, c, l) {
2801
3023
  id: n.id,
2802
3024
  popovertarget: n.popovertarget,
2803
3025
  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:focus-ring", l.mainColor === null ? "bb:bg-white bb:border-gray-300 bb:text-gray-500 bb:hover:bg-gray-50" : e.colorClass(l.mainColor, "button")])
2804
- }, [a("span", Oi, _(e.texts.openMenu), 1), t[2] ||= a("svg", {
3026
+ }, [a("span", $i, _(e.texts.openMenu), 1), t[2] ||= a("svg", {
2805
3027
  class: "bb:h-5 bb:w-5 bb:pointer-events-none bb:cursor-default",
2806
3028
  xmlns: "http://www.w3.org/2000/svg",
2807
3029
  viewBox: "0 0 20 20",
@@ -2811,7 +3033,7 @@ function ki(e, t, n, o, c, l) {
2811
3033
  "fill-rule": "evenodd",
2812
3034
  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",
2813
3035
  "clip-rule": "evenodd"
2814
- })], -1)], 10, Di)]),
3036
+ })], -1)], 10, Qi)]),
2815
3037
  _: 1
2816
3038
  }, 8, [
2817
3039
  "actions",
@@ -2819,16 +3041,16 @@ function ki(e, t, n, o, c, l) {
2819
3041
  "onUpdate:modelValue"
2820
3042
  ])])) : r("", !0);
2821
3043
  }
2822
- var Ai = /*#__PURE__*/ M(Ci, [["render", ki]]), ji = {
2823
- components: { PopoverMenu: Si },
2824
- mixins: [F],
3044
+ var ta = /*#__PURE__*/ A(Ji, [["render", ea]]), na = {
3045
+ components: { PopoverMenu: qi },
3046
+ mixins: [N],
2825
3047
  props: { actions: {
2826
3048
  type: Array,
2827
3049
  default: () => [],
2828
- validator: (e) => e.every(pi)
3050
+ validator: (e) => e.every(zi)
2829
3051
  } }
2830
- }, Mi = ["id", "popovertarget"], Ni = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
2831
- function Pi(e, t, r, i, o, s) {
3052
+ }, ra = ["id", "popovertarget"], ia = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
3053
+ function aa(e, t, r, i, o, s) {
2832
3054
  let c = h("popover-menu");
2833
3055
  return f(), n(c, {
2834
3056
  class: "bb-dashboard-ui bb:inline-flex",
@@ -2839,7 +3061,7 @@ function Pi(e, t, r, i, o, s) {
2839
3061
  id: n.id,
2840
3062
  popovertarget: n.popovertarget,
2841
3063
  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"
2842
- }, [a("span", Ni, _(e.texts.openMenu), 1), t[0] ||= a("svg", {
3064
+ }, [a("span", ia, _(e.texts.openMenu), 1), t[0] ||= a("svg", {
2843
3065
  class: "bb:h-6 bb:w-6 bb:pointer-events-none bb:cursor-default",
2844
3066
  fill: "none",
2845
3067
  viewBox: "0 0 24 24",
@@ -2850,48 +3072,48 @@ function Pi(e, t, r, i, o, s) {
2850
3072
  "stroke-linejoin": "round",
2851
3073
  "stroke-width": "2",
2852
3074
  d: "M4 6h16M4 12h16M4 18h16"
2853
- })], -1)], 8, Mi)]),
3075
+ })], -1)], 8, ra)]),
2854
3076
  _: 1
2855
3077
  }, 8, ["actions"]);
2856
3078
  }
2857
- var Fi = /*#__PURE__*/ M(ji, [["render", Pi]]), Ii = {}, Li = {
3079
+ var oa = /*#__PURE__*/ A(na, [["render", aa]]), sa = {}, ca = {
2858
3080
  xmlns: "http://www.w3.org/2000/svg",
2859
3081
  viewBox: "0 0 20 20",
2860
3082
  fill: "currentColor",
2861
3083
  "aria-hidden": "true"
2862
3084
  };
2863
- function Ri(e, t, n, r, o, s) {
2864
- return f(), i("svg", Li, [...t[0] ||= [a("path", {
3085
+ function la(e, t, n, r, o, s) {
3086
+ return f(), i("svg", ca, [...t[0] ||= [a("path", {
2865
3087
  "fill-rule": "evenodd",
2866
3088
  "clip-rule": "evenodd",
2867
3089
  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"
2868
3090
  }, null, -1)]]);
2869
3091
  }
2870
- var zi = /*#__PURE__*/ M(Ii, [["render", Ri]]), Bi = {}, Vi = {
3092
+ var ua = /*#__PURE__*/ A(sa, [["render", la]]), da = {}, fa = {
2871
3093
  xmlns: "http://www.w3.org/2000/svg",
2872
3094
  viewBox: "0 0 20 20",
2873
3095
  fill: "currentColor",
2874
3096
  "aria-hidden": "true"
2875
3097
  };
2876
- function Hi(e, t, n, r, o, s) {
2877
- return f(), i("svg", Vi, [...t[0] ||= [a("path", {
3098
+ function pa(e, t, n, r, o, s) {
3099
+ return f(), i("svg", fa, [...t[0] ||= [a("path", {
2878
3100
  "fill-rule": "evenodd",
2879
3101
  "clip-rule": "evenodd",
2880
3102
  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"
2881
3103
  }, null, -1)]]);
2882
3104
  }
2883
- var Ui = /*#__PURE__*/ M(Bi, [["render", Hi]]);
3105
+ var ma = /*#__PURE__*/ A(da, [["render", pa]]);
2884
3106
  //#endregion
2885
3107
  //#region src/components/Pagination.vue
2886
- function Wi(e) {
3108
+ function ha(e) {
2887
3109
  return typeof e == "string" && e !== "" ? e : null;
2888
3110
  }
2889
- var Gi = {
3111
+ var ga = {
2890
3112
  components: {
2891
- ArrowNarrowLeft: zi,
2892
- ArrowNarrowRight: Ui
3113
+ ArrowNarrowLeft: ua,
3114
+ ArrowNarrowRight: ma
2893
3115
  },
2894
- mixins: [F, Z],
3116
+ mixins: [N, Z],
2895
3117
  props: {
2896
3118
  links: {
2897
3119
  type: Object,
@@ -2919,49 +3141,49 @@ var Gi = {
2919
3141
  return typeof this.from == "number" && typeof this.to == "number";
2920
3142
  },
2921
3143
  previousPageUrl() {
2922
- return Wi(this.links?.prev);
3144
+ return ha(this.links?.prev);
2923
3145
  },
2924
3146
  nextPageUrl() {
2925
- return Wi(this.links?.next);
3147
+ return ha(this.links?.next);
2926
3148
  }
2927
3149
  }
2928
- }, Ki = {
3150
+ }, _a = {
2929
3151
  key: 0,
2930
3152
  class: "bb-dashboard-ui bb:flex bb:items-center bb:justify-between"
2931
- }, qi = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex" }, Ji = ["href"], Yi = {
3153
+ }, va = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex" }, ya = ["href"], ba = {
2932
3154
  key: 0,
2933
3155
  class: "bb:-mt-px bb:flex bb:text-gray-400 bb:text-sm bb:leading-5"
2934
- }, Xi = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, Zi = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, Qi = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex bb:justify-end" }, $i = ["href"];
2935
- function ea(e, t, n, c, l, u) {
3156
+ }, xa = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, Sa = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, Ca = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex bb:justify-end" }, wa = ["href"];
3157
+ function Ta(e, t, n, c, l, u) {
2936
3158
  let d = h("arrow-narrow-left"), p = h("arrow-narrow-right");
2937
- return u.hasResults ? (f(), i("nav", Ki, [
2938
- a("div", qi, [u.previousPageUrl === null ? r("", !0) : (f(), i("a", {
3159
+ return u.hasResults ? (f(), i("nav", _a, [
3160
+ a("div", va, [u.previousPageUrl === null ? r("", !0) : (f(), i("a", {
2939
3161
  key: 0,
2940
3162
  href: u.previousPageUrl,
2941
3163
  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 bb:focus-visible:focus-ring",
2942
3164
  onClick: t[0] ||= (t) => e.followLink(t, u.previousPageUrl)
2943
- }, [s(d, { class: "bb:mr-3 bb:h-5 bb:w-5 bb:text-gray-400 bb:pointer-events-none bb:cursor-default" }), o(" " + _(e.texts.previousPage), 1)], 8, Ji))]),
2944
- u.hasRange ? (f(), i("div", Yi, [
3165
+ }, [s(d, { class: "bb:mr-3 bb:h-5 bb:w-5 bb:text-gray-400 bb:pointer-events-none bb:cursor-default" }), o(" " + _(e.texts.previousPage), 1)], 8, ya))]),
3166
+ u.hasRange ? (f(), i("div", ba, [
2945
3167
  o(_(e.texts.resultsBefore) + " ", 1),
2946
- a("span", Xi, _(u.from) + " - " + _(u.to), 1),
3168
+ a("span", xa, _(u.from) + " - " + _(u.to), 1),
2947
3169
  o(" " + _(e.texts.resultsOf) + " ", 1),
2948
- a("span", Zi, _(u.total), 1),
3170
+ a("span", Sa, _(u.total), 1),
2949
3171
  o(" " + _(e.texts.resultsAfter), 1)
2950
3172
  ])) : r("", !0),
2951
- a("div", Qi, [u.nextPageUrl === null ? r("", !0) : (f(), i("a", {
3173
+ a("div", Ca, [u.nextPageUrl === null ? r("", !0) : (f(), i("a", {
2952
3174
  key: 0,
2953
3175
  href: u.nextPageUrl,
2954
3176
  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 bb:focus-visible:focus-ring",
2955
3177
  onClick: t[1] ||= (t) => e.followLink(t, u.nextPageUrl)
2956
- }, [o(_(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, $i))])
3178
+ }, [o(_(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, wa))])
2957
3179
  ])) : r("", !0);
2958
3180
  }
2959
- var ta = /*#__PURE__*/ M(Gi, [["render", ea]]), na = [
3181
+ var Ea = /*#__PURE__*/ A(ga, [["render", Ta]]), Da = [
2960
3182
  "left",
2961
3183
  "center",
2962
3184
  "right"
2963
3185
  ];
2964
- function ra(e) {
3186
+ function Oa(e) {
2965
3187
  if (typeof e != "object" || !e || typeof e.key != "string" || e.key === "") return null;
2966
3188
  let t = e.key;
2967
3189
  return {
@@ -2970,21 +3192,21 @@ function ra(e) {
2970
3192
  value: typeof e.value == "function" ? e.value : (e) => e?.[t],
2971
3193
  secondary: typeof e.secondary == "function" ? e.secondary : null,
2972
3194
  muted: e.muted === !0,
2973
- align: na.includes(e.align) ? e.align : "left",
3195
+ align: Da.includes(e.align) ? e.align : "left",
2974
3196
  wrap: e.wrap === !0,
2975
3197
  narrow: e.narrow === !0,
2976
3198
  visible: e.visible !== !1
2977
3199
  };
2978
3200
  }
2979
- function ia(e) {
3201
+ function ka(e) {
2980
3202
  return typeof e == "string" && e !== "" ? e : null;
2981
3203
  }
2982
- var aa = {
3204
+ var Aa = {
2983
3205
  components: {
2984
- Pagination: ta,
2985
- InfoPill: cr
3206
+ Pagination: Ea,
3207
+ InfoPill: Pr
2986
3208
  },
2987
- mixins: [F, j],
3209
+ mixins: [N, k],
2988
3210
  props: {
2989
3211
  rows: {
2990
3212
  type: Array,
@@ -3029,7 +3251,7 @@ var aa = {
3029
3251
  return Array.isArray(this.rows) ? this.rows : [];
3030
3252
  },
3031
3253
  visibleColumns() {
3032
- return (Array.isArray(this.columns) ? this.columns : []).map(ra).filter((e) => e !== null && e.visible);
3254
+ return (Array.isArray(this.columns) ? this.columns : []).map(Oa).filter((e) => e !== null && e.visible);
3033
3255
  },
3034
3256
  rowStripes() {
3035
3257
  return this.normalizedRows.map((e) => this.stripeOf(e));
@@ -3048,10 +3270,10 @@ var aa = {
3048
3270
  },
3049
3271
  badgeText() {
3050
3272
  if (this.hasRecords) {
3051
- let e = ia(this.foundText);
3273
+ let e = ka(this.foundText);
3052
3274
  return e === null ? null : `${e}: ${this.recordCount}`;
3053
3275
  }
3054
- return ia(this.emptyText);
3276
+ return ka(this.emptyText);
3055
3277
  }
3056
3278
  },
3057
3279
  methods: {
@@ -3071,15 +3293,15 @@ var aa = {
3071
3293
  stripeOf(e) {
3072
3294
  if (typeof this.rowStripe != "function") return null;
3073
3295
  let t = this.rowStripe(e);
3074
- return A(t) ? t : null;
3296
+ return O(t) ? t : null;
3075
3297
  },
3076
3298
  textOf(e, t) {
3077
3299
  let n = e(t);
3078
3300
  return n == null ? "" : String(n);
3079
3301
  }
3080
3302
  }
3081
- }, oa = { class: "bb:min-w-full bb:divide-y bb:divide-gray-200 bb:border-collapse" }, sa = { class: "bb:bg-gray-50" }, ca = ["textContent"], la = { class: "bb:divide-y bb:divide-gray-200" }, ua = ["textContent"], da = ["textContent"];
3082
- function fa(t, o, s, c, l, d) {
3303
+ }, ja = { class: "bb:min-w-full bb:divide-y bb:divide-gray-200 bb:border-collapse" }, Ma = { class: "bb:bg-gray-50" }, Na = ["textContent"], Pa = { class: "bb:divide-y bb:divide-gray-200" }, Fa = ["textContent"], Ia = ["textContent"];
3304
+ function La(t, o, s, c, l, d) {
3083
3305
  let g = h("info-pill"), v = h("pagination");
3084
3306
  return f(), i("div", null, [
3085
3307
  d.hasBadgeRow() ? (f(), i("div", {
@@ -3093,7 +3315,7 @@ function fa(t, o, s, c, l, d) {
3093
3315
  d.normalizedRows.length > 0 ? (f(), i("div", {
3094
3316
  key: 1,
3095
3317
  class: u(d.isCard && d.hasBadgeRow() ? "bb:mt-4" : "")
3096
- }, [a("div", { class: u(["bb:overflow-x-auto", d.isCard ? "bb:border-t bb:border-gray-200" : "bb:shadow-sm bb:border-b bb:border-gray-200 bb:rounded-lg"]) }, [a("table", oa, [a("thead", null, [a("tr", sa, [(f(!0), i(e, null, p(d.visibleColumns, (e) => (f(), i("th", {
3318
+ }, [a("div", { class: u(["bb:overflow-x-auto", d.isCard ? "bb:border-t bb:border-gray-200" : "bb:shadow-sm bb:border-b bb:border-gray-200 bb:rounded-lg"]) }, [a("table", ja, [a("thead", null, [a("tr", Ma, [(f(!0), i(e, null, p(d.visibleColumns, (e) => (f(), i("th", {
3097
3319
  key: e.key,
3098
3320
  scope: "col",
3099
3321
  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", [{
@@ -3102,7 +3324,7 @@ function fa(t, o, s, c, l, d) {
3102
3324
  "bb:text-right": e.align === "right"
3103
3325
  }, { "bb:w-px": e.narrow }]]),
3104
3326
  textContent: _(e.label)
3105
- }, null, 10, ca))), 128))])]), a("tbody", la, [(f(!0), i(e, null, p(d.normalizedRows, (n, o) => (f(), i("tr", {
3327
+ }, null, 10, Na))), 128))])]), a("tbody", Pa, [(f(!0), i(e, null, p(d.normalizedRows, (n, o) => (f(), i("tr", {
3106
3328
  key: d.keyOf(n, o),
3107
3329
  class: "bb:bg-white bb:even:bg-gray-50"
3108
3330
  }, [(f(!0), i(e, null, p(d.visibleColumns, (e, s) => (f(), i("td", {
@@ -3126,11 +3348,11 @@ function fa(t, o, s, c, l, d) {
3126
3348
  }, () => [a("div", {
3127
3349
  class: u(["bb:font-medium", e.muted ? "bb:text-gray-400" : "bb:text-gray-900"]),
3128
3350
  textContent: _(d.textOf(e.value, n))
3129
- }, null, 10, ua), e.secondary !== null && d.textOf(e.secondary, n) !== "" ? (f(), i("div", {
3351
+ }, null, 10, Fa), e.secondary !== null && d.textOf(e.secondary, n) !== "" ? (f(), i("div", {
3130
3352
  key: 0,
3131
3353
  class: "bb:text-gray-400",
3132
3354
  textContent: _(d.textOf(e.secondary, n))
3133
- }, null, 8, da)) : r("", !0)])], 2))), 128))]))), 128))])])], 2)], 2)) : r("", !0),
3355
+ }, null, 8, Ia)) : r("", !0)])], 2))), 128))]))), 128))])])], 2)], 2)) : r("", !0),
3134
3356
  d.hasMeta ? (f(), n(v, {
3135
3357
  key: 2,
3136
3358
  meta: s.meta,
@@ -3145,7 +3367,7 @@ function fa(t, o, s, c, l, d) {
3145
3367
  ])) : r("", !0)
3146
3368
  ]);
3147
3369
  }
3148
- var pa = /*#__PURE__*/ M(aa, [["render", fa]]), ma = {
3370
+ var Ra = /*#__PURE__*/ A(Aa, [["render", La]]), za = {
3149
3371
  mixins: [Z],
3150
3372
  props: {
3151
3373
  url: {
@@ -3161,17 +3383,17 @@ var pa = /*#__PURE__*/ M(aa, [["render", fa]]), ma = {
3161
3383
  default: !1
3162
3384
  }
3163
3385
  }
3164
- }, ha = ["href", "textContent"];
3165
- function ga(e, t, n, r, a, o) {
3386
+ }, Ba = ["href", "textContent"];
3387
+ function Va(e, t, n, r, a, o) {
3166
3388
  return f(), i("a", {
3167
3389
  href: n.url,
3168
3390
  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"]),
3169
3391
  onClick: t[0] ||= (t) => e.followLink(t, n.url),
3170
3392
  textContent: _(n.name)
3171
- }, null, 10, ha);
3393
+ }, null, 10, Ba);
3172
3394
  }
3173
- var _a = /*#__PURE__*/ M(ma, [["render", ga]]), va = {
3174
- mixins: [F, Z],
3395
+ var Ha = /*#__PURE__*/ A(za, [["render", Va]]), Ua = {
3396
+ mixins: [N, Z],
3175
3397
  props: {
3176
3398
  tabs: {
3177
3399
  type: Array,
@@ -3185,13 +3407,13 @@ var _a = /*#__PURE__*/ M(ma, [["render", ga]]), va = {
3185
3407
  computed: { tabList() {
3186
3408
  return Array.isArray(this.tabs) ? this.tabs.filter((e) => typeof e == "object" && !!e) : [];
3187
3409
  } }
3188
- }, ya = ["aria-label"], ba = [
3410
+ }, Wa = ["aria-label"], Ga = [
3189
3411
  "href",
3190
3412
  "aria-current",
3191
3413
  "onClick",
3192
3414
  "textContent"
3193
3415
  ];
3194
- function xa(t, n, r, a, o, s) {
3416
+ function Ka(t, n, r, a, o, s) {
3195
3417
  return f(), i("nav", {
3196
3418
  class: "bb-dashboard-ui bb:flex bb:space-x-4",
3197
3419
  "aria-label": t.texts.tabs
@@ -3202,21 +3424,21 @@ function xa(t, n, r, a, o, s) {
3202
3424
  class: u(["bb:px-3 bb:py-2 bb:font-medium bb:text-sm bb:rounded-md bb:focus-visible:focus-ring", e.key === r.activeKey ? "bb:bg-indigo-100 bb:text-gray-700" : "bb:text-gray-500 bb:hover:text-gray-700"]),
3203
3425
  onClick: (n) => t.followLink(n, e.url),
3204
3426
  textContent: _(e.name)
3205
- }, null, 10, ba))), 128))], 8, ya);
3427
+ }, null, 10, Ga))), 128))], 8, Wa);
3206
3428
  }
3207
- var Sa = /*#__PURE__*/ M(va, [["render", xa]]), Ca = [
3429
+ var qa = /*#__PURE__*/ A(Ua, [["render", Ka]]), Ja = [
3208
3430
  "xl",
3209
3431
  "4xl",
3210
3432
  "7xl"
3211
- ], wa = {
3212
- components: { CrossButton: I },
3213
- mixins: [F],
3433
+ ], Ya = {
3434
+ components: { CrossButton: P },
3435
+ mixins: [N],
3214
3436
  inheritAttrs: !1,
3215
3437
  props: {
3216
3438
  width: {
3217
3439
  type: String,
3218
3440
  default: "xl",
3219
- validator: (e) => Ca.includes(e)
3441
+ validator: (e) => Ja.includes(e)
3220
3442
  },
3221
3443
  fallbackUrl: {
3222
3444
  type: String,
@@ -3232,7 +3454,7 @@ var Sa = /*#__PURE__*/ M(va, [["render", xa]]), Ca = [
3232
3454
  },
3233
3455
  computed: {
3234
3456
  resolvedWidth() {
3235
- return Ca.includes(this.width) ? this.width : "xl";
3457
+ return Ja.includes(this.width) ? this.width : "xl";
3236
3458
  },
3237
3459
  windows() {
3238
3460
  return this.uiSettings.windows;
@@ -3248,13 +3470,13 @@ var Sa = /*#__PURE__*/ M(va, [["render", xa]]), Ca = [
3248
3470
  }
3249
3471
  },
3250
3472
  watch: { fallbackUrl() {
3251
- this.windows !== null && he(this.windows.state, this, this.fallbackAddress());
3473
+ this.windows !== null && ge(this.windows.state, this, this.fallbackAddress());
3252
3474
  } },
3253
3475
  mounted() {
3254
- this.windows !== null && (this.returnAddress = D(this.windows.state, this, this.resolvedKey, this.fallbackAddress()).returnAddress, this.$watch(() => [this.windows.page.number, this.resolvedKey], () => this.syncWindow(), { flush: "post" }));
3476
+ this.windows !== null && (this.returnAddress = E(this.windows.state, this, this.resolvedKey, this.fallbackAddress()).returnAddress, this.$watch(() => [this.windows.page.number, this.resolvedKey], () => this.syncWindow(), { flush: "post" }));
3255
3477
  },
3256
3478
  beforeUnmount() {
3257
- this.windows !== null && me(this.windows.state, this);
3479
+ this.windows !== null && he(this.windows.state, this);
3258
3480
  },
3259
3481
  methods: {
3260
3482
  fallbackAddress() {
@@ -3264,7 +3486,7 @@ var Sa = /*#__PURE__*/ M(va, [["render", xa]]), Ca = [
3264
3486
  return Object.fromEntries(Object.entries(this.$attrs).filter(([e]) => e.startsWith("data-") || e.startsWith("aria-")));
3265
3487
  },
3266
3488
  syncWindow() {
3267
- let e = pe(this.windows.state, this, this.resolvedKey, this.fallbackAddress());
3489
+ let e = me(this.windows.state, this, this.resolvedKey, this.fallbackAddress());
3268
3490
  e.rejected && console.warn(`PageCard: ключ окна сменился на «${this.resolvedKey}» без смены страницы — карточка остаётся в окне «${e.key}»`), this.returnAddress = e.window.returnAddress;
3269
3491
  },
3270
3492
  close() {
@@ -3279,7 +3501,7 @@ var Sa = /*#__PURE__*/ M(va, [["render", xa]]), Ca = [
3279
3501
  }
3280
3502
  }
3281
3503
  };
3282
- function Ta(e, t, a, s, c, d) {
3504
+ function Xa(e, t, a, s, c, d) {
3283
3505
  let p = h("cross-button");
3284
3506
  return f(), i("div", l({
3285
3507
  class: ["bb:box-border bb:relative bb:my-6 bb:mx-auto bb:bg-white bb:shadow-xl bb:rounded-lg", [
@@ -3310,7 +3532,7 @@ function Ta(e, t, a, s, c, d) {
3310
3532
  _: 1
3311
3533
  }, 8, ["class", "onClicked"])) : r("", !0)], 16);
3312
3534
  }
3313
- var Ea = /*#__PURE__*/ M(wa, [["render", Ta]]), Da = {}, Oa = {
3535
+ var Za = /*#__PURE__*/ A(Ya, [["render", Xa]]), Qa = {}, $a = {
3314
3536
  class: "bb:h-7 bb:w-7 bb:text-green-600",
3315
3537
  xmlns: "http://www.w3.org/2000/svg",
3316
3538
  fill: "none",
@@ -3319,22 +3541,22 @@ var Ea = /*#__PURE__*/ M(wa, [["render", Ta]]), Da = {}, Oa = {
3319
3541
  stroke: "currentColor",
3320
3542
  "aria-hidden": "true"
3321
3543
  };
3322
- function ka(e, t, n, r, o, s) {
3323
- return f(), i("svg", Oa, [...t[0] ||= [a("path", {
3544
+ function eo(e, t, n, r, o, s) {
3545
+ return f(), i("svg", $a, [...t[0] ||= [a("path", {
3324
3546
  "stroke-linecap": "round",
3325
3547
  "stroke-linejoin": "round",
3326
3548
  d: "M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"
3327
3549
  }, null, -1)]]);
3328
3550
  }
3329
- var Aa = /*#__PURE__*/ M(Da, [["render", ka]]), ja = {}, Ma = {
3551
+ var to = /*#__PURE__*/ A(Qa, [["render", eo]]), no = {}, ro = {
3330
3552
  class: "bb:h-5 bb:w-5",
3331
3553
  xmlns: "http://www.w3.org/2000/svg",
3332
3554
  viewBox: "0 0 20 20",
3333
3555
  fill: "currentColor",
3334
3556
  "aria-hidden": "true"
3335
3557
  };
3336
- function Na(e, t, n, r, o, s) {
3337
- return f(), i("svg", Ma, [...t[0] ||= [a("path", {
3558
+ function io(e, t, n, r, o, s) {
3559
+ return f(), i("svg", ro, [...t[0] ||= [a("path", {
3338
3560
  "fill-rule": "evenodd",
3339
3561
  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",
3340
3562
  "clip-rule": "evenodd"
@@ -3342,14 +3564,14 @@ function Na(e, t, n, r, o, s) {
3342
3564
  }
3343
3565
  //#endregion
3344
3566
  //#region src/components/NotificationMessage.vue
3345
- var Pa = {
3567
+ var ao = {
3346
3568
  components: {
3347
- Check: Aa,
3348
- Close: /* @__PURE__ */ M(ja, [["render", Na]]),
3349
- Dangerous: Qr,
3350
- Warning: ni
3569
+ Check: to,
3570
+ Close: /* @__PURE__ */ A(no, [["render", io]]),
3571
+ Dangerous: wi,
3572
+ Warning: Oi
3351
3573
  },
3352
- mixins: [F],
3574
+ mixins: [N],
3353
3575
  emits: ["update:modelValue"],
3354
3576
  props: {
3355
3577
  modelValue: {
@@ -3387,8 +3609,8 @@ var Pa = {
3387
3609
  return this.type === "confirmation";
3388
3610
  }
3389
3611
  }
3390
- }, Fa = ["role"], Ia = { class: "bb:p-4" }, La = { class: "bb:flex bb:items-start" }, Ra = { class: "bb:shrink-0" }, za = { class: "bb:ml-3 bb:w-0 bb:flex-1 bb:pt-0.5" }, Ba = { class: "bb:text-sm bb:font-medium bb:text-gray-900" }, Va = { class: "bb:mt-1 bb:text-sm bb:text-gray-500" }, Ha = { class: "bb:ml-4 bb:shrink-0 bb:flex" }, Ua = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
3391
- function Wa(e, t, o, c, l, d) {
3612
+ }, oo = ["role"], so = { class: "bb:p-4" }, co = { class: "bb:flex bb:items-start" }, lo = { class: "bb:shrink-0" }, uo = { class: "bb:ml-3 bb:w-0 bb:flex-1 bb:pt-0.5" }, fo = { class: "bb:text-sm bb:font-medium bb:text-gray-900" }, po = { class: "bb:mt-1 bb:text-sm bb:text-gray-500" }, mo = { class: "bb:ml-4 bb:shrink-0 bb:flex" }, ho = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
3613
+ function go(e, t, o, c, l, d) {
3392
3614
  let p = h("warning"), m = h("dangerous"), g = h("check"), v = h("close");
3393
3615
  return f(), i("div", {
3394
3616
  class: "bb-dashboard-ui bb:fixed bb:inset-0 bb:flex bb:items-start bb:justify-end bb:p-6 bb:pointer-events-none",
@@ -3400,14 +3622,14 @@ function Wa(e, t, o, c, l, d) {
3400
3622
  "bb:bg-yellow-50": d.isWarning,
3401
3623
  "bb:bg-gray-50": d.isConfirmation
3402
3624
  }])
3403
- }, [a("div", Ia, [a("div", La, [
3404
- a("div", Ra, [
3625
+ }, [a("div", so, [a("div", co, [
3626
+ a("div", lo, [
3405
3627
  d.isWarning ? (f(), n(p, { key: 0 })) : r("", !0),
3406
3628
  d.isDangerous ? (f(), n(m, { key: 1 })) : r("", !0),
3407
3629
  d.isConfirmation ? (f(), n(g, { key: 2 })) : r("", !0)
3408
3630
  ]),
3409
- a("div", za, [a("p", Ba, _(o.notificationHeading), 1), a("p", Va, _(d.text), 1)]),
3410
- a("div", Ha, [a("button", {
3631
+ a("div", uo, [a("p", fo, _(o.notificationHeading), 1), a("p", po, _(d.text), 1)]),
3632
+ a("div", mo, [a("button", {
3411
3633
  type: "button",
3412
3634
  class: u(["bb:rounded-md bb:inline-flex bb:text-gray-400 bb:hover:text-gray-500 bb:focus:focus-ring", {
3413
3635
  "bb:bg-red-50": d.isDangerous,
@@ -3415,10 +3637,10 @@ function Wa(e, t, o, c, l, d) {
3415
3637
  "bb:bg-gray-50": d.isConfirmation
3416
3638
  }]),
3417
3639
  onClick: t[0] ||= C((t) => e.$emit("update:modelValue", ""), ["prevent"])
3418
- }, [a("span", Ua, _(e.texts.close), 1), s(v, { class: "bb:pointer-events-none bb:cursor-default" })], 2)])
3419
- ])])], 2)) : r("", !0)], 8, Fa);
3640
+ }, [a("span", ho, _(e.texts.close), 1), s(v, { class: "bb:pointer-events-none bb:cursor-default" })], 2)])
3641
+ ])])], 2)) : r("", !0)], 8, oo);
3420
3642
  }
3421
- var Ga = /*#__PURE__*/ M(Pa, [["render", Wa]]), Ka = {}, qa = {
3643
+ var _o = /*#__PURE__*/ A(ao, [["render", go]]), vo = {}, yo = {
3422
3644
  class: "bb:h-5 bb:w-5",
3423
3645
  xmlns: "http://www.w3.org/2000/svg",
3424
3646
  fill: "none",
@@ -3427,8 +3649,8 @@ var Ga = /*#__PURE__*/ M(Pa, [["render", Wa]]), Ka = {}, qa = {
3427
3649
  "stroke-width": "2",
3428
3650
  "aria-hidden": "true"
3429
3651
  };
3430
- function Ja(e, t, n, r, o, s) {
3431
- return f(), i("svg", qa, [...t[0] ||= [a("path", {
3652
+ function bo(e, t, n, r, o, s) {
3653
+ return f(), i("svg", yo, [...t[0] ||= [a("path", {
3432
3654
  "stroke-linecap": "round",
3433
3655
  "stroke-linejoin": "round",
3434
3656
  d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z"
@@ -3438,12 +3660,12 @@ function Ja(e, t, n, r, o, s) {
3438
3660
  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"
3439
3661
  }, null, -1)]]);
3440
3662
  }
3441
- var Ya = /*#__PURE__*/ M(Ka, [["render", Ja]]), Q = 0, $ = null, Xa = {
3663
+ var xo = /*#__PURE__*/ A(vo, [["render", bo]]), Q = 0, $ = null, So = {
3442
3664
  components: {
3443
- PopoverPanel: W,
3444
- Eye: Ya
3665
+ PopoverPanel: B,
3666
+ Eye: xo
3445
3667
  },
3446
- mixins: [F],
3668
+ mixins: [N],
3447
3669
  emits: ["update:modelValue"],
3448
3670
  props: {
3449
3671
  text: {
@@ -3486,8 +3708,8 @@ var Ya = /*#__PURE__*/ M(Ka, [["render", Ja]]), Q = 0, $ = null, Xa = {
3486
3708
  this.holdsPageSelectionLock && (this.holdsPageSelectionLock = !1, --Q, Q === 0 && (Object.assign(document.documentElement.style, $), $ = null));
3487
3709
  }
3488
3710
  }
3489
- }, Za = ["id", "popovertarget"], Qa = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
3490
- function $a(e, t, r, i, c, l) {
3711
+ }, Co = ["id", "popovertarget"], wo = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
3712
+ function To(e, t, r, i, c, l) {
3491
3713
  let u = h("eye"), d = h("popover-panel");
3492
3714
  return f(), n(d, {
3493
3715
  class: "bb-dashboard-ui bb:inline-flex",
@@ -3507,7 +3729,7 @@ function $a(e, t, r, i, c, l) {
3507
3729
  id: t.id,
3508
3730
  popovertarget: t.popovertarget,
3509
3731
  class: "bb:relative bb:inline-flex bb:items-center bb:justify-center bb:self-center bb:text-gray-400 bb:hover:text-gray-600 bb:rounded-md bb:focus-visible:focus-ring"
3510
- }, [a("span", Qa, _(e.texts.showText), 1), s(u, { class: "bb:pointer-events-none bb:cursor-default" })], 8, Za)]),
3732
+ }, [a("span", wo, _(e.texts.showText), 1), s(u, { class: "bb:pointer-events-none bb:cursor-default" })], 8, Co)]),
3511
3733
  default: b(() => [o(_(l.normalizedText), 1)]),
3512
3734
  _: 1
3513
3735
  }, 8, [
@@ -3517,6 +3739,6 @@ function $a(e, t, r, i, c, l) {
3517
3739
  "onToggle"
3518
3740
  ]);
3519
3741
  }
3520
- var eo = /*#__PURE__*/ M(Xa, [["render", $a]]);
3742
+ var Eo = /*#__PURE__*/ A(So, [["render", To]]);
3521
3743
  //#endregion
3522
- export { Br as ActionPill, fi as ConfirmationModal, pa as DataTable, N as Dot, Ai as DropdownButtonWithAction, hr as ErrorMessages, Sr as FormInput, Fi as HamburgerMenu, cr as InfoPill, _a as NavigationMenuElement, Ga as NotificationMessage, Ea as PageCard, Sa as PageTabs, Ze as RussianMobileFilter, it as Search, It as SelectDateFilter, Ut as SelectDateForm, Qt as SelectDateIntervalFilter, cn as SelectDateIntervalForm, Pn as SelectMultipleFilter, Vn as SelectMultipleForm, Zn as SelectSingleFilter, ir as SelectSingleForm, eo as TextPopover, ye as dashboardUi, Ce as downloadFile };
3744
+ export { fi as ActionPill, Ri as ConfirmationModal, Ra as DataTable, j as Dot, ta as DropdownButtonWithAction, Vr as ErrorMessages, Jr as FormInput, oa as HamburgerMenu, Pr as InfoPill, Ha as NavigationMenuElement, _o as NotificationMessage, Za as PageCard, qa as PageTabs, $e as RussianMobileFilter, ot as Search, Bt as SelectDateFilter, qt as SelectDateForm, nn as SelectDateIntervalFilter, fn as SelectDateIntervalForm, Ln as SelectMultipleFilter, Wn as SelectMultipleForm, rr as SelectMultipleList, Ar as SelectSingleCards, pr as SelectSingleFilter, br as SelectSingleForm, Eo as TextPopover, xe as dashboardUi, Te as downloadFile };