@boobooking/dashboard-ui-components 0.17.1 → 0.18.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
@@ -1,11 +1,11 @@
1
- import { Fragment as e, Transition as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, effectScope as c, mergeProps as l, normalizeClass as u, openBlock as d, renderList as f, renderSlot as p, resolveComponent as m, shallowReactive as h, toDisplayString as g, useId as _, vModelText as v, vShow as y, watch as ee, withCtx as b, withDirectives as x, withKeys as te, withModifiers as S } from "vue";
2
- import ne from "imask";
1
+ import { Fragment as e, Transition as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, effectScope as c, mergeProps as l, normalizeClass as u, normalizeStyle as d, openBlock as f, renderList as p, renderSlot as m, resolveComponent as h, shallowReactive as g, toDisplayString as _, useId as v, vModelDynamic as ee, vModelText as te, vShow as y, watch as ne, withCtx as b, withDirectives as x, withKeys as re, withModifiers as S } from "vue";
2
+ import ie from "imask";
3
3
  //#region src/i18n.js
4
- var re = ["ru", "en"];
5
- function C(e) {
6
- return re.includes(e);
4
+ var C = ["ru", "en"];
5
+ function w(e) {
6
+ return C.includes(e);
7
7
  }
8
- var ie = {
8
+ var ae = {
9
9
  ru: {
10
10
  cancel: "Отмена",
11
11
  openMenu: "Открыть меню",
@@ -111,15 +111,15 @@ var ie = {
111
111
  };
112
112
  //#endregion
113
113
  //#region src/windows.js
114
- function w(e, t) {
114
+ function oe(e, t) {
115
115
  if (e == null || e === "") return null;
116
116
  let n = new URL(String(e), t);
117
117
  return n.pathname + n.search;
118
118
  }
119
- function ae(e) {
119
+ function se(e) {
120
120
  return e === null ? null : e.split("?")[0];
121
121
  }
122
- function oe() {
122
+ function ce() {
123
123
  return {
124
124
  windows: [],
125
125
  cards: /* @__PURE__ */ new Map(),
@@ -136,32 +136,32 @@ function oe() {
136
136
  function T(e, t) {
137
137
  return e.windows.includes(t);
138
138
  }
139
- function se(e) {
139
+ function le(e) {
140
140
  return e.returnAddress ?? e.fallbackAddress;
141
141
  }
142
- function ce(e) {
142
+ function ue(e) {
143
143
  let t = null;
144
144
  for (let n of e.cards.values()) t = n.window;
145
145
  return t;
146
146
  }
147
- function le(e, t) {
147
+ function de(e, t) {
148
148
  let n = t;
149
149
  for (; n !== null && !T(e, n);) n = n.parent;
150
150
  return n;
151
151
  }
152
- function ue(e, t) {
152
+ function fe(e, t) {
153
153
  return e.transition = {
154
154
  number: e.transition.number + 1,
155
155
  fromAddress: e.shown,
156
- fromWindow: ce(e),
156
+ fromWindow: ue(e),
157
157
  assigned: /* @__PURE__ */ new Map()
158
158
  }, e.shown = t, e.transition.number;
159
159
  }
160
- function de(e, t, n) {
160
+ function pe(e, t, n) {
161
161
  let r = e.transition, i = r.assigned.get(t);
162
162
  if (i !== void 0 && T(e, i)) return i;
163
163
  let a = r.fromWindow, o = r.fromAddress;
164
- a !== null && !T(e, a) && (a = le(e, a), o = null), a !== null && se(a) === e.shown && (e.windows.splice(e.windows.indexOf(a)), a = a.parent === null ? null : le(e, a.parent), o = null);
164
+ 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);
165
165
  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;
166
166
  a === null ? e.windows = [] : e.windows.splice(e.windows.indexOf(a) + 1);
167
167
  let s = {
@@ -174,14 +174,14 @@ function de(e, t, n) {
174
174
  return e.nextId += 1, e.windows.push(s), s;
175
175
  }
176
176
  function E(e, t, n, r) {
177
- let i = de(e, n, r);
177
+ let i = pe(e, n, r);
178
178
  return i.fallbackAddress = r, e.transition.assigned.set(n, i), e.cards.delete(t), e.cards.set(t, {
179
179
  key: n,
180
180
  window: i,
181
181
  processed: e.transition.number
182
182
  }), i;
183
183
  }
184
- function fe(e, t, n, r) {
184
+ function me(e, t, n, r) {
185
185
  let i = e.cards.get(t);
186
186
  return i === void 0 ? {
187
187
  window: E(e, t, n, r),
@@ -201,32 +201,32 @@ function fe(e, t, n, r) {
201
201
  key: n
202
202
  });
203
203
  }
204
- function pe(e, t) {
204
+ function he(e, t) {
205
205
  e.cards.delete(t);
206
206
  }
207
- function me(e, t, n) {
207
+ function ge(e, t, n) {
208
208
  let r = e.cards.get(t);
209
209
  r !== void 0 && (r.window.fallbackAddress = n);
210
210
  }
211
211
  //#endregion
212
212
  //#region src/plugin.js
213
- var D = Symbol("dashboardUi"), he = Object.freeze({
213
+ var _e = Symbol("dashboardUi"), ve = Object.freeze({
214
214
  lang: "ru",
215
215
  navigate: null,
216
216
  windows: null
217
- }), ge = { uiSettings: {
218
- from: D,
219
- default: () => he
217
+ }), D = { uiSettings: {
218
+ from: _e,
219
+ default: () => ve
220
220
  } };
221
- function _e(e, t) {
222
- let n = oe(), r = h({
221
+ function ye(e, t) {
222
+ let n = ce(), r = g({
223
223
  number: 0,
224
224
  address: null
225
225
  }), i = c(!0);
226
226
  return i.run(() => {
227
- ee(t, (e) => {
228
- let t = w(e, window.location.origin);
229
- t !== null && t !== r.address && (r.number = ue(n, t), r.address = t);
227
+ ne(t, (e) => {
228
+ let t = oe(e, window.location.origin);
229
+ t !== null && t !== r.address && (r.number = fe(n, t), r.address = t);
230
230
  }, {
231
231
  flush: "sync",
232
232
  immediate: !0
@@ -236,21 +236,21 @@ function _e(e, t) {
236
236
  page: r
237
237
  };
238
238
  }
239
- var ve = { install(e, t) {
239
+ var be = { install(e, t) {
240
240
  let n = t ?? {}, r = Object.hasOwn(n, "lang") ? n.lang : "ru";
241
- if (!C(r)) throw Error(`dashboardUi: неизвестный lang «${r}», допустимы: ${re.join(", ")}`);
241
+ if (!w(r)) throw Error(`dashboardUi: неизвестный lang «${r}», допустимы: ${C.join(", ")}`);
242
242
  let i = Object.hasOwn(n, "navigate"), a = i ? n.navigate : null;
243
243
  if (i && typeof a != "function") throw Error("dashboardUi: navigate должен быть функцией (href) => …");
244
244
  let o = Object.hasOwn(n, "currentUrl"), s = o ? n.currentUrl : null;
245
245
  if (o && typeof s != "function") throw Error("dashboardUi: currentUrl должен быть функцией () => адрес страницы");
246
- let c = s !== null && typeof window < "u" ? _e(e, s) : null;
247
- e.provide(D, Object.freeze({
246
+ let c = s !== null && typeof window < "u" ? ye(e, s) : null;
247
+ e.provide(_e, Object.freeze({
248
248
  lang: r,
249
249
  navigate: a,
250
250
  windows: c
251
251
  }));
252
- } }, ye = 4e4;
253
- function be(e) {
252
+ } }, xe = 4e4;
253
+ function Se(e) {
254
254
  if (typeof e != "string") return null;
255
255
  let t = /filename\*\s*=\s*UTF-8''([^;]+)/i.exec(e);
256
256
  if (t !== null) try {
@@ -261,7 +261,7 @@ function be(e) {
261
261
  let r = /filename\s*=\s*([^;"\s]+)/i.exec(e);
262
262
  return r === null ? null : r[1];
263
263
  }
264
- function xe(e) {
264
+ function Ce(e) {
265
265
  try {
266
266
  let t = new URL(e, window.location.href).pathname.split("/").filter((e) => e !== "");
267
267
  return t.length === 0 ? null : decodeURIComponent(t[t.length - 1]);
@@ -269,7 +269,7 @@ function xe(e) {
269
269
  return null;
270
270
  }
271
271
  }
272
- async function Se(e) {
272
+ async function we(e) {
273
273
  let t = await fetch(e, { credentials: "same-origin" });
274
274
  if (t.redirected) throw Object.assign(/* @__PURE__ */ Error(`downloadFile: сервер перенаправил запрос ${e}`), {
275
275
  redirectUrl: t.url,
@@ -279,12 +279,12 @@ async function Se(e) {
279
279
  redirectUrl: null,
280
280
  status: t.status
281
281
  });
282
- let n = be(t.headers.get("Content-Disposition")) ?? xe(e) ?? "download", r = URL.createObjectURL(await t.blob()), i = document.createElement("a");
283
- i.href = r, i.download = n, i.style.display = "none", document.body.appendChild(i), i.click(), i.remove(), setTimeout(() => URL.revokeObjectURL(r), ye);
282
+ let n = Se(t.headers.get("Content-Disposition")) ?? Ce(e) ?? "download", r = URL.createObjectURL(await t.blob()), i = document.createElement("a");
283
+ i.href = r, i.download = n, i.style.display = "none", document.body.appendChild(i), i.click(), i.remove(), setTimeout(() => URL.revokeObjectURL(r), xe);
284
284
  }
285
285
  //#endregion
286
286
  //#region src/colors.js
287
- var Ce = {
287
+ var Te = {
288
288
  gray: {
289
289
  pill: "bb:bg-gray-100 bb:text-gray-800",
290
290
  pillHover: "bb:hover:text-gray-600",
@@ -327,18 +327,18 @@ var Ce = {
327
327
  menuItem: "bb:text-purple-800 bb:focus:bg-purple-100",
328
328
  mark: "bb:text-purple-500"
329
329
  }
330
- }, we = Object.keys(Ce);
330
+ }, Ee = Object.keys(Te);
331
331
  function O(e) {
332
- return we.includes(e);
332
+ return Ee.includes(e);
333
333
  }
334
- function Te(e, t) {
335
- return O(e) ? Ce[e][t] ?? "" : "";
334
+ function De(e, t) {
335
+ return O(e) ? Te[e][t] ?? "" : "";
336
336
  }
337
- var k = { methods: { colorClass: Te } }, A = (e, t) => {
337
+ var k = { methods: { colorClass: De } }, A = (e, t) => {
338
338
  let n = e.__vccOpts || e;
339
339
  for (let [e, r] of t) n[e] = r;
340
340
  return n;
341
- }, Ee = {
341
+ }, Oe = {
342
342
  mixins: [k],
343
343
  props: {
344
344
  withPulse: {
@@ -352,8 +352,8 @@ var k = { methods: { colorClass: Te } }, A = (e, t) => {
352
352
  }
353
353
  }
354
354
  };
355
- function De(e, t, n, r, o, s) {
356
- return d(), 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", {
355
+ function ke(e, t, n, r, o, s) {
356
+ 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", {
357
357
  class: "bb:fill-current bb:w-2 bb:h-2",
358
358
  viewBox: "0 0 120 120"
359
359
  }, [a("circle", {
@@ -362,8 +362,8 @@ function De(e, t, n, r, o, s) {
362
362
  r: "45"
363
363
  })], -1)]], 2);
364
364
  }
365
- var Oe = /*#__PURE__*/ A(Ee, [["render", De]]), ke = {
366
- components: { Dot: Oe },
365
+ var j = /*#__PURE__*/ A(Oe, [["render", ke]]), Ae = {
366
+ components: { Dot: j },
367
367
  props: {
368
368
  text: {
369
369
  type: String,
@@ -378,14 +378,14 @@ var Oe = /*#__PURE__*/ A(Ee, [["render", De]]), ke = {
378
378
  default: !1
379
379
  }
380
380
  }
381
- }, Ae = { class: "bb:flex bb:h-6 bb:px-3 bb:bg-white bb:items-center bb:justify-between" }, je = ["textContent"];
382
- function Me(e, t, n, r, o, c) {
383
- let l = m("dot");
384
- return d(), i("div", Ae, [
381
+ }, je = { class: "bb:flex bb:h-6 bb:px-3 bb:bg-white bb:items-center bb:justify-between" }, Me = ["textContent"];
382
+ function Ne(e, t, n, r, o, c) {
383
+ let l = h("dot");
384
+ return f(), i("div", je, [
385
385
  a("div", {
386
386
  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",
387
- textContent: g(n.text)
388
- }, null, 8, je),
387
+ textContent: _(n.text)
388
+ }, null, 8, Me),
389
389
  x(s(l, {
390
390
  color: "red",
391
391
  "with-pulse": !0,
@@ -397,26 +397,26 @@ function Me(e, t, n, r, o, c) {
397
397
  }, null, 512), [[y, n.isRequired]])
398
398
  ]);
399
399
  }
400
- var j = /*#__PURE__*/ A(ke, [["render", Me]]), M = {
401
- inject: ge,
400
+ var M = /*#__PURE__*/ A(Ae, [["render", Ne]]), N = {
401
+ inject: D,
402
402
  props: { lang: {
403
403
  type: String,
404
404
  default: null,
405
- validator: (e) => e === null || C(e)
405
+ validator: (e) => e === null || w(e)
406
406
  } },
407
407
  computed: {
408
408
  resolvedLang() {
409
- return C(this.lang) ? this.lang : this.uiSettings.lang;
409
+ return w(this.lang) ? this.lang : this.uiSettings.lang;
410
410
  },
411
411
  texts() {
412
- return ie[this.resolvedLang];
412
+ return ae[this.resolvedLang];
413
413
  }
414
414
  }
415
- }, Ne = [
415
+ }, Pe = [
416
416
  { transform: "scale(1)" },
417
417
  { transform: "scale(0.8)" },
418
418
  { transform: "scale(1)" }
419
- ], Pe = 150, Fe = {
419
+ ], Fe = 150, Ie = {
420
420
  created() {
421
421
  this.isPressing = !1, this.isUnmounted = !1;
422
422
  },
@@ -424,40 +424,40 @@ var j = /*#__PURE__*/ A(ke, [["render", Me]]), M = {
424
424
  this.isUnmounted = !0;
425
425
  },
426
426
  methods: { press() {
427
- this.isPressing || (this.isPressing = !0, Ie(this.$el).then(() => {
427
+ this.isPressing || (this.isPressing = !0, Le(this.$el).then(() => {
428
428
  this.isPressing = !1, this.isUnmounted || this.$emit("clicked");
429
429
  }));
430
430
  } }
431
431
  };
432
- function Ie(e) {
433
- if (typeof e.animate != "function" || Le()) return Promise.resolve();
432
+ function Le(e) {
433
+ if (typeof e.animate != "function" || Re()) return Promise.resolve();
434
434
  let t = () => {};
435
- return e.animate(Ne, {
436
- duration: Pe,
435
+ return e.animate(Pe, {
436
+ duration: Fe,
437
437
  easing: "ease-out"
438
438
  }).finished.then(t, t);
439
439
  }
440
- function Le() {
440
+ function Re() {
441
441
  return typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
442
442
  }
443
443
  //#endregion
444
444
  //#region src/components/CrossButton.vue
445
- var Re = {
446
- mixins: [M, Fe],
445
+ var ze = {
446
+ mixins: [N, Ie],
447
447
  props: { size: {
448
448
  type: String,
449
449
  required: !0,
450
450
  validator: (e) => ["small", "large"].includes(e)
451
451
  } },
452
452
  emits: ["clicked"]
453
- }, ze = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
454
- function Be(e, t, n, r, s, c) {
455
- return d(), i("button", {
453
+ }, Be = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
454
+ function Ve(e, t, n, r, s, c) {
455
+ return f(), i("button", {
456
456
  type: "button",
457
457
  tabindex: "-1",
458
458
  class: "bb-dashboard-ui bb:flex bb:items-center bb:justify-center bb:bg-transparent bb:cursor-pointer bb:text-gray-400 bb:focus:outline-hidden bb:hover:text-gray-500",
459
459
  onClick: t[0] ||= S((...t) => e.press && e.press(...t), ["prevent"])
460
- }, [a("span", ze, [p(e.$slots, "default", {}, () => [o(g(e.texts.clear), 1)])]), (d(), i("svg", {
460
+ }, [a("span", Be, [m(e.$slots, "default", {}, () => [o(_(e.texts.clear), 1)])]), (f(), i("svg", {
461
461
  class: u(["bb:stroke-current bb:pointer-events-none bb:cursor-default", {
462
462
  "bb:w-6 bb:h-6": n.size === "small",
463
463
  "bb:w-8 bb:h-8": n.size === "large"
@@ -472,24 +472,24 @@ function Be(e, t, n, r, s, c) {
472
472
  d: "M6 18L18 6M6 6l12 12"
473
473
  }, null, -1)]], 2))]);
474
474
  }
475
- var N = /*#__PURE__*/ A(Re, [["render", Be]]), Ve = 10;
476
- function He(e) {
475
+ var P = /*#__PURE__*/ A(ze, [["render", Ve]]), He = 10;
476
+ function Ue(e) {
477
477
  let t = e.replace(/\D/g, "");
478
- return (t.startsWith("7") || t.startsWith("8")) && t[1] === "9" && (t = t.slice(1)), t.slice(0, Ve);
478
+ return (t.startsWith("7") || t.startsWith("8")) && t[1] === "9" && (t = t.slice(1)), t.slice(0, He);
479
479
  }
480
- function P(e) {
480
+ function F(e) {
481
481
  return e === "" ? "" : `7${e}`;
482
482
  }
483
- function F(e) {
483
+ function I(e) {
484
484
  let t = e ?? "", n = t.startsWith("+") ? t.slice(1) : t;
485
485
  return n.startsWith("7") ? n.slice(1) : n;
486
486
  }
487
487
  //#endregion
488
488
  //#region src/components/RussianMobileFilter.vue
489
- var Ue = 400, We = 3, Ge = {
489
+ var We = 400, Ge = 3, Ke = {
490
490
  components: {
491
- ElementHeader: j,
492
- CrossButton: N
491
+ ElementHeader: M,
492
+ CrossButton: P
493
493
  },
494
494
  emits: ["update:modelValue", "changed"],
495
495
  props: {
@@ -511,32 +511,32 @@ var Ue = 400, We = 3, Ge = {
511
511
  }
512
512
  },
513
513
  data() {
514
- return { digits: F(this.modelValue) };
514
+ return { digits: I(this.modelValue) };
515
515
  },
516
516
  created() {
517
- this.mask = null, this.debounceTimer = null, this.isWritingProgrammatically = !1, this.lastCommitted = F(this.modelValue), this.isUnmounted = !1;
517
+ this.mask = null, this.debounceTimer = null, this.isWritingProgrammatically = !1, this.lastCommitted = I(this.modelValue), this.isUnmounted = !1;
518
518
  },
519
519
  mounted() {
520
- this.mask = ne(this.$refs.input, {
520
+ this.mask = ie(this.$refs.input, {
521
521
  mask: "+7 (000) 000 00 00",
522
522
  lazy: !0,
523
523
  prepare: (e, t) => t.unmaskedValue === "" && (e === "7" || e === "8") ? "" : e
524
524
  }), this.mask.on("accept", () => {
525
- this.isWritingProgrammatically || (this.digits = this.mask.unmaskedValue, this.$emit("update:modelValue", P(this.digits)), this.scheduleCommit());
525
+ this.isWritingProgrammatically || (this.digits = this.mask.unmaskedValue, this.$emit("update:modelValue", F(this.digits)), this.scheduleCommit());
526
526
  }), this.syncFromModelValue(this.modelValue);
527
527
  },
528
528
  beforeUnmount() {
529
529
  this.isUnmounted = !0, clearTimeout(this.debounceTimer), this.mask?.destroy();
530
530
  },
531
531
  watch: { modelValue(e) {
532
- e !== P(this.digits) && this.syncFromModelValue(e);
532
+ e !== F(this.digits) && this.syncFromModelValue(e);
533
533
  } },
534
534
  methods: {
535
535
  syncFromModelValue(e) {
536
- this.writeToMask(F(e)), this.digits = this.mask.unmaskedValue, this.lastCommitted = this.digits;
536
+ this.writeToMask(I(e)), this.digits = this.mask.unmaskedValue, this.lastCommitted = this.digits;
537
537
  },
538
538
  applyUserDigits(e) {
539
- this.writeToMask(e), this.digits = this.mask.unmaskedValue, this.$emit("update:modelValue", P(this.digits));
539
+ this.writeToMask(e), this.digits = this.mask.unmaskedValue, this.$emit("update:modelValue", F(this.digits));
540
540
  },
541
541
  writeToMask(e) {
542
542
  if (this.isWritingProgrammatically = !0, e === "") this.mask.value = "";
@@ -559,7 +559,7 @@ var Ue = 400, We = 3, Ge = {
559
559
  this.isUnmounted || (this.setLazy(!0), this.digits === "" && this.writeToMask(""), this.commit());
560
560
  },
561
561
  onPaste(e) {
562
- this.applyUserDigits(He(e.clipboardData?.getData("text") ?? "")), this.scheduleCommit();
562
+ this.applyUserDigits(Ue(e.clipboardData?.getData("text") ?? "")), this.scheduleCommit();
563
563
  },
564
564
  clear() {
565
565
  this.applyUserDigits(""), this.commit();
@@ -569,16 +569,16 @@ var Ue = 400, We = 3, Ge = {
569
569
  this.commit();
570
570
  return;
571
571
  }
572
- this.digits.length < We || (this.debounceTimer = setTimeout(() => this.commit(), Ue));
572
+ this.digits.length < Ge || (this.debounceTimer = setTimeout(() => this.commit(), We));
573
573
  },
574
574
  commit() {
575
575
  clearTimeout(this.debounceTimer), this.digits !== this.lastCommitted && (this.lastCommitted = this.digits, this.$emit("changed"));
576
576
  }
577
577
  }
578
- }, 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" };
579
- function Xe(e, t, n, r, o, c) {
580
- let l = m("element-header"), u = m("cross-button");
581
- return d(), i("div", Ke, [a("div", qe, [s(l, {
578
+ }, qe = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, Je = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, Ye = { class: "bb:relative bb:flex bb:h-full bb:w-full" }, Xe = { class: "bb:flex bb:w-full bb:h-full bb:items-center bb:justify-center" };
579
+ function Ze(e, t, n, r, o, c) {
580
+ let l = h("element-header"), u = h("cross-button");
581
+ return f(), i("div", qe, [a("div", Je, [s(l, {
582
582
  text: n.header,
583
583
  "is-required": n.isRequired,
584
584
  "is-loading": n.isLoading
@@ -586,7 +586,7 @@ function Xe(e, t, n, r, o, c) {
586
586
  "text",
587
587
  "is-required",
588
588
  "is-loading"
589
- ]), a("div", Je, [a("label", Ye, [a("input", {
589
+ ]), a("div", Ye, [a("label", Xe, [a("input", {
590
590
  ref: "input",
591
591
  type: "tel",
592
592
  inputmode: "tel",
@@ -594,7 +594,7 @@ function Xe(e, t, n, r, o, c) {
594
594
  class: "bb:flex bb:w-phone bb:h-full bb:px-3 bb:py-2 bb:cursor-pointer bb:truncate bb:focus:outline-hidden bb:border-none",
595
595
  onFocus: t[0] ||= (...e) => c.onFocus && c.onFocus(...e),
596
596
  onBlur: t[1] ||= (...e) => c.onBlur && c.onBlur(...e),
597
- onKeydown: t[2] ||= te((...e) => c.commit && c.commit(...e), ["enter"]),
597
+ onKeydown: t[2] ||= re((...e) => c.commit && c.commit(...e), ["enter"]),
598
598
  onPaste: t[3] ||= S((...e) => c.onPaste && c.onPaste(...e), ["prevent"])
599
599
  }, null, 544)]), x(s(u, {
600
600
  size: "small",
@@ -603,10 +603,10 @@ function Xe(e, t, n, r, o, c) {
603
603
  class: "bb:absolute bb:right-0 bb:top-0 bb:pr-2 bb:h-full"
604
604
  }, null, 8, ["onClicked"]), [[y, o.digits.length > 0]])])])]);
605
605
  }
606
- var Ze = /*#__PURE__*/ A(Ge, [["render", Xe]]), Qe = {
606
+ var Qe = /*#__PURE__*/ A(Ke, [["render", Ze]]), $e = {
607
607
  components: {
608
- ElementHeader: j,
609
- CrossButton: N
608
+ ElementHeader: M,
609
+ CrossButton: P
610
610
  },
611
611
  emits: ["update:modelValue", "changed"],
612
612
  props: {
@@ -644,10 +644,10 @@ var Ze = /*#__PURE__*/ A(Ge, [["render", Xe]]), Qe = {
644
644
  this.$emit("update:modelValue", this.search), this.$emit("changed");
645
645
  }
646
646
  }
647
- }, $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" };
648
- function rt(e, t, n, r, o, c) {
649
- let l = m("element-header"), u = m("cross-button");
650
- return d(), i("div", $e, [a("div", et, [s(l, {
647
+ }, et = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, tt = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, nt = { class: "bb:relative bb:flex bb:h-full bb:w-full" }, rt = { class: "bb:flex bb:w-full bb:h-full bb:items-center bb:justify-center" };
648
+ function it(e, t, n, r, o, c) {
649
+ let l = h("element-header"), u = h("cross-button");
650
+ return f(), i("div", et, [a("div", tt, [s(l, {
651
651
  text: n.header,
652
652
  "is-required": n.isRequired,
653
653
  "is-loading": n.isLoading
@@ -655,12 +655,12 @@ function rt(e, t, n, r, o, c) {
655
655
  "text",
656
656
  "is-required",
657
657
  "is-loading"
658
- ]), a("div", tt, [a("label", nt, [x(a("input", {
658
+ ]), a("div", nt, [a("label", rt, [x(a("input", {
659
659
  class: "bb:flex bb:w-full bb:h-full bb:px-3 bb:py-2 bb:cursor-pointer bb:truncate bb:focus:outline-hidden bb:border-none",
660
660
  "onUpdate:modelValue": t[0] ||= (e) => o.search = e,
661
661
  onInput: t[1] ||= (...e) => c.startSearch && c.startSearch(...e)
662
662
  }, null, 544), [[
663
- v,
663
+ te,
664
664
  o.search,
665
665
  void 0,
666
666
  { trim: !0 }
@@ -670,29 +670,29 @@ function rt(e, t, n, r, o, c) {
670
670
  class: "bb:absolute bb:right-0 bb:top-0 bb:pr-2 bb:h-full"
671
671
  }, null, 8, ["onClicked"]), [[y, c.inputNeedsEraser]])])])]);
672
672
  }
673
- var it = /*#__PURE__*/ A(Qe, [["render", rt]]), I = 4, L = 8;
674
- function R(e) {
673
+ var at = /*#__PURE__*/ A($e, [["render", it]]), L = 4, R = 8;
674
+ function ot(e) {
675
675
  return typeof e?.showPopover == "function";
676
676
  }
677
677
  function z(e) {
678
- return R(e) && e.matches(":popover-open");
678
+ return ot(e) && e.matches(":popover-open");
679
679
  }
680
680
  function B(e, t, { maxWidth: n = null, align: r = "end", fitsBelow: i = !0, fitsRight: a = !0 } = {}) {
681
- let o = e.getBoundingClientRect(), s = document.documentElement.clientWidth, c = document.documentElement.clientHeight, l = Math.max(L, o.left), u = Math.max(L, s - o.right), d = Math.max(0, s - l - L), f = Math.max(0, s - u - L), p = r === "start" && (a || d >= f), m = Math.max(0, c - o.bottom - I - L), h = Math.max(0, o.top - I - L), g = i || m >= h, _ = "";
681
+ 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, _ = "";
682
682
  if (r === "start") {
683
683
  let e = p ? d : f;
684
684
  _ = `${n === null ? e : Math.min(n, e)}px`;
685
685
  } else n !== null && (_ = `${Math.min(n, f)}px`);
686
686
  Object.assign(t.style, {
687
- top: g ? `${o.bottom + I}px` : "auto",
688
- bottom: g ? "auto" : `${c - o.top + I}px`,
687
+ top: g ? `${o.bottom + L}px` : "auto",
688
+ bottom: g ? "auto" : `${c - o.top + L}px`,
689
689
  right: p ? "auto" : `${u}px`,
690
690
  left: p ? `${l}px` : "auto",
691
691
  maxHeight: `${g ? m : h}px`,
692
692
  maxWidth: _
693
693
  });
694
694
  }
695
- function at(e, t, n = {}) {
695
+ function st(e, t, n = {}) {
696
696
  let r = t.scrollHeight <= t.clientHeight + 1, i = t.scrollWidth <= t.clientWidth + 1;
697
697
  r && i || B(e, t, {
698
698
  ...n,
@@ -700,7 +700,7 @@ function at(e, t, n = {}) {
700
700
  fitsRight: i
701
701
  });
702
702
  }
703
- function ot(e, t) {
703
+ function ct(e, t) {
704
704
  let n = (n) => {
705
705
  e.contains(n.target) || t();
706
706
  };
@@ -714,7 +714,7 @@ function ot(e, t) {
714
714
  //#endregion
715
715
  //#region src/menuFocus.js
716
716
  var V = "a[href], button";
717
- function st(e, t = () => null) {
717
+ function lt(e, t = () => null) {
718
718
  let n = (n) => {
719
719
  if (n.key !== "ArrowDown" && n.key !== "ArrowUp") return;
720
720
  let r = [...e.querySelectorAll(V)];
@@ -732,7 +732,7 @@ function st(e, t = () => null) {
732
732
  }
733
733
  //#endregion
734
734
  //#region src/components/PopoverPanel.vue
735
- var ct = {
735
+ var ut = {
736
736
  emits: ["update:modelValue", "toggle"],
737
737
  props: {
738
738
  modelValue: {
@@ -787,8 +787,8 @@ var ct = {
787
787
  },
788
788
  setup() {
789
789
  return {
790
- buttonId: _(),
791
- panelId: _()
790
+ buttonId: v(),
791
+ panelId: v()
792
792
  };
793
793
  },
794
794
  data() {
@@ -821,7 +821,7 @@ var ct = {
821
821
  methods: {
822
822
  applyPanelState() {
823
823
  let e = this.$refs.panel;
824
- R(e) && e.isConnected && (this.panelIsOpen && !z(e) && e.showPopover(), !this.panelIsOpen && z(e) && e.hidePopover());
824
+ ot(e) && e.isConnected && (this.panelIsOpen && !z(e) && e.showPopover(), !this.panelIsOpen && z(e) && e.hidePopover());
825
825
  },
826
826
  close() {
827
827
  let e = this.$refs.panel;
@@ -841,7 +841,7 @@ var ct = {
841
841
  };
842
842
  B(e, this.$refs.panel, t), requestAnimationFrame(() => {
843
843
  let n = this.$refs.panel;
844
- z(n) && at(e, n, t);
844
+ z(n) && st(e, n, t);
845
845
  });
846
846
  return;
847
847
  }
@@ -851,7 +851,7 @@ var ct = {
851
851
  onToggle() {
852
852
  this.stopListening();
853
853
  let e = this.$refs.panel, t = z(e);
854
- t && (this.stopClosing = ot(e, this.close), this.arrows && (this.stopArrows = st(e, this.findSelected))), t || this.restoreFocus(e), this.reportPanelShown(t), t !== this.panelIsOpen && (this.panelIsOpen = t, this.$emit("update:modelValue", t));
854
+ t && (this.stopClosing = ct(e, this.close), this.arrows && (this.stopArrows = lt(e, this.findSelected))), t || this.restoreFocus(e), this.reportPanelShown(t), t !== this.panelIsOpen && (this.panelIsOpen = t, this.$emit("update:modelValue", t));
855
855
  },
856
856
  restoreFocus(e) {
857
857
  let t = this.focusWasInside;
@@ -863,10 +863,10 @@ var ct = {
863
863
  this.stopClosing !== null && (this.stopClosing(), this.stopClosing = null), this.stopArrows !== null && (this.stopArrows(), this.stopArrows = null);
864
864
  }
865
865
  }
866
- }, lt = {
866
+ }, dt = {
867
867
  key: 0,
868
868
  class: "bb:relative"
869
- }, ut = [
869
+ }, ft = [
870
870
  "id",
871
871
  "role",
872
872
  "aria-orientation",
@@ -874,8 +874,8 @@ var ct = {
874
874
  "aria-label",
875
875
  "tabindex"
876
876
  ];
877
- function dt(e, t, n, o, s, c) {
878
- return n.hasContent ? (d(), i("span", lt, [p(e.$slots, "trigger", {
877
+ function pt(e, t, n, o, s, c) {
878
+ return n.hasContent ? (f(), i("span", dt, [m(e.$slots, "trigger", {
879
879
  id: o.buttonId,
880
880
  popovertarget: o.panelId
881
881
  }), a("div", {
@@ -891,9 +891,9 @@ function dt(e, t, n, o, s, c) {
891
891
  onBeforetoggle: t[0] ||= (...e) => c.onBeforeToggle && c.onBeforeToggle(...e),
892
892
  onToggle: t[1] ||= (...e) => c.onToggle && c.onToggle(...e),
893
893
  onClick: t[2] ||= (...e) => c.onClick && c.onClick(...e)
894
- }, [p(e.$slots, "default")], 42, ut)])) : r("", !0);
894
+ }, [m(e.$slots, "default")], 42, ft)])) : r("", !0);
895
895
  }
896
- var H = /*#__PURE__*/ A(ct, [["render", dt]]);
896
+ var H = /*#__PURE__*/ A(ut, [["render", pt]]);
897
897
  //#endregion
898
898
  //#region src/date.js
899
899
  function U(e) {
@@ -907,11 +907,11 @@ function W(e) {
907
907
  }
908
908
  //#endregion
909
909
  //#region src/dayFocus.js
910
- var G = ".pika-button.pika-day", ft = ".pika-button, .pika-prev, .pika-next";
911
- function pt(e, t = () => null) {
910
+ var G = ".pika-button.pika-day", mt = ".pika-button, .pika-prev, .pika-next";
911
+ function ht(e, t = () => null) {
912
912
  let n = (n) => {
913
913
  if (n.detail !== 0) return;
914
- let r = n.target.closest(ft);
914
+ let r = n.target.closest(mt);
915
915
  r !== null && e.contains(r) && setTimeout(() => {
916
916
  let n = document.activeElement === r;
917
917
  if (r.dispatchEvent(new MouseEvent("mousedown", {
@@ -924,32 +924,32 @@ function pt(e, t = () => null) {
924
924
  };
925
925
  return e.addEventListener("click", n), () => e.removeEventListener("click", n);
926
926
  }
927
- var mt = {
927
+ var gt = {
928
928
  ArrowLeft: -1,
929
929
  ArrowRight: 1,
930
930
  ArrowUp: -7,
931
931
  ArrowDown: 7
932
932
  };
933
- function ht(e, t) {
933
+ function _t(e, t) {
934
934
  let n = (n) => {
935
- let r = mt[n.key];
936
- if (r === void 0 || gt(document.activeElement)) return;
935
+ let r = gt[n.key];
936
+ if (r === void 0 || vt(document.activeElement)) return;
937
937
  n.preventDefault();
938
- let i = document.activeElement?.closest(G) ?? null, a = i !== null && e.contains(i) ? vt(_t(i), r) : t.getDate() ?? yt();
938
+ let i = document.activeElement?.closest(G) ?? null, a = i !== null && e.contains(i) ? bt(yt(i), r) : t.getDate() ?? xt();
939
939
  K(e, a) === null && t.gotoDate(a), K(e, a)?.focus();
940
940
  };
941
941
  return document.addEventListener("keydown", n, !0), () => document.removeEventListener("keydown", n, !0);
942
942
  }
943
- function gt(e) {
943
+ function vt(e) {
944
944
  return e !== null && e.matches("input, select, textarea, [contenteditable]");
945
945
  }
946
- function _t(e) {
946
+ function yt(e) {
947
947
  return new Date(e.dataset.pikaYear, e.dataset.pikaMonth, e.dataset.pikaDay);
948
948
  }
949
- function vt(e, t) {
949
+ function bt(e, t) {
950
950
  return new Date(e.getFullYear(), e.getMonth(), e.getDate() + t);
951
951
  }
952
- function yt() {
952
+ function xt() {
953
953
  let e = /* @__PURE__ */ new Date();
954
954
  return new Date(e.getFullYear(), e.getMonth(), e.getDate());
955
955
  }
@@ -958,12 +958,12 @@ function K(e, t) {
958
958
  }
959
959
  //#endregion
960
960
  //#region src/components/PickDay.vue
961
- var bt = {
961
+ var St = {
962
962
  components: {
963
963
  PopoverPanel: H,
964
- CrossButton: N
964
+ CrossButton: P
965
965
  },
966
- mixins: [M],
966
+ mixins: [N],
967
967
  emits: ["update:modelValue", "changed"],
968
968
  props: {
969
969
  modelValue: {
@@ -1002,7 +1002,7 @@ var bt = {
1002
1002
  onSelect: (e) => {
1003
1003
  this.popupIsOpen = !1, this.$emit("update:modelValue", U(e)), this.$emit("changed");
1004
1004
  }
1005
- }), this.stopPickOnClick = pt(this.$refs.container, () => this.$refs.trigger), this.syncDayFocus());
1005
+ }), this.stopPickOnClick = ht(this.$refs.container, () => this.$refs.trigger), this.syncDayFocus());
1006
1006
  },
1007
1007
  beforeUnmount() {
1008
1008
  this.isUnmounted = !0, this.stopPickOnClick?.(), this.stopDayFocus?.(), this.picker?.destroy();
@@ -1024,7 +1024,7 @@ var bt = {
1024
1024
  },
1025
1025
  methods: {
1026
1026
  syncDayFocus() {
1027
- this.stopDayFocus?.(), this.stopDayFocus = null, this.popupIsOpen && this.picker !== null && (this.stopDayFocus = ht(this.$refs.container, this.picker));
1027
+ this.stopDayFocus?.(), this.stopDayFocus = null, this.popupIsOpen && this.picker !== null && (this.stopDayFocus = _t(this.$refs.container, this.picker));
1028
1028
  },
1029
1029
  syncPicker(e) {
1030
1030
  if (this.picker === null) return;
@@ -1050,17 +1050,17 @@ var bt = {
1050
1050
  return !this.withEraser || this.popupIsOpen ? !1 : this.hasValue;
1051
1051
  }
1052
1052
  }
1053
- }, xt = { class: "bb-dashboard-ui bb:flex bb:flex-col" }, St = { class: "bb:relative bb:flex bb:h-full" }, Ct = ["id", "popovertarget"], wt = ["textContent"], Tt = { class: "bb:flex bb:w-full bb:items-center bb:leading-none bb:min-w-24 bb:pointer-events-none" }, Et = [
1053
+ }, Ct = { class: "bb-dashboard-ui bb:flex bb:flex-col" }, wt = { class: "bb:relative bb:flex bb:h-full" }, Tt = ["id", "popovertarget"], Et = ["textContent"], Dt = { class: "bb:flex bb:w-full bb:items-center bb:leading-none bb:min-w-24 bb:pointer-events-none" }, Ot = [
1054
1054
  "disabled",
1055
1055
  "value",
1056
1056
  "placeholder"
1057
- ], Dt = {
1057
+ ], kt = {
1058
1058
  ref: "container",
1059
1059
  class: "bb:flex"
1060
1060
  };
1061
- function Ot(e, t, o, c, l, u) {
1062
- let f = m("popover-panel"), p = m("cross-button");
1063
- return d(), i("div", xt, [a("div", St, [s(f, {
1061
+ function At(e, t, o, c, l, u) {
1062
+ let d = h("popover-panel"), p = h("cross-button");
1063
+ return f(), i("div", Ct, [a("div", wt, [s(d, {
1064
1064
  class: "bb:flex bb:w-full",
1065
1065
  modelValue: l.popupIsOpen,
1066
1066
  "onUpdate:modelValue": t[0] ||= (e) => l.popupIsOpen = e,
@@ -1076,18 +1076,18 @@ function Ot(e, t, o, c, l, u) {
1076
1076
  class: "bb:absolute bb:inset-0 bb:cursor-pointer bb:focus:outline-hidden"
1077
1077
  }, [a("span", {
1078
1078
  class: "bb:sr-only bb:pointer-events-none bb:cursor-default",
1079
- textContent: g(u.triggerLabel)
1080
- }, null, 8, wt)], 8, Ct), a("label", Tt, [a("input", {
1079
+ textContent: _(u.triggerLabel)
1080
+ }, null, 8, Et)], 8, Tt), a("label", Dt, [a("input", {
1081
1081
  disabled: l.popupIsOpen,
1082
1082
  ref: "field",
1083
1083
  type: "text",
1084
1084
  value: l.dayValue,
1085
1085
  placeholder: o.placeholderText,
1086
1086
  class: "bb:w-full bb:h-full bb:py-2 bb:pr-3 bb:leading-none bb:border bb:border-transparent bb:whitespace-nowrap bb:bg-transparent bb:placeholder:text-sm bb:placeholder-gray-300 bb:cursor-pointer bb:focus:outline-hidden"
1087
- }, null, 8, Et)])]),
1088
- default: b(() => [a("div", Dt, null, 512)]),
1087
+ }, null, 8, Ot)])]),
1088
+ default: b(() => [a("div", kt, null, 512)]),
1089
1089
  _: 1
1090
- }, 8, ["modelValue"]), u.needsEraser ? (d(), n(p, {
1090
+ }, 8, ["modelValue"]), u.needsEraser ? (f(), n(p, {
1091
1091
  key: 0,
1092
1092
  size: "small",
1093
1093
  onClicked: u.clearPicker,
@@ -1097,12 +1097,12 @@ function Ot(e, t, o, c, l, u) {
1097
1097
  }
1098
1098
  //#endregion
1099
1099
  //#region src/components/SelectDateInterval.vue
1100
- var kt = {
1100
+ var jt = {
1101
1101
  components: {
1102
- ElementHeader: j,
1103
- PickDay: /* @__PURE__ */ A(bt, [["render", Ot]])
1102
+ ElementHeader: M,
1103
+ PickDay: /* @__PURE__ */ A(St, [["render", At]])
1104
1104
  },
1105
- mixins: [M],
1105
+ mixins: [N],
1106
1106
  emits: [
1107
1107
  "update:dateFrom",
1108
1108
  "update:dateTo",
@@ -1150,10 +1150,10 @@ var kt = {
1150
1150
  this.$emit("update:dateTo", e), this.dateTo !== e && this.$emit("changed");
1151
1151
  }
1152
1152
  }
1153
- }, At = { class: "bb-dashboard-ui bb:flex" }, jt = { class: "bb:flex bb:border bb:border-white" }, Mt = { class: "bb:flex bb:flex-col bb:min-w-72 bb:w-72 bb:bg-white bb:h-full" }, Nt = { class: "bb:flex bb:h-full bb:divide-x bb:divide-gray-200" };
1154
- function Pt(e, t, n, r, o, c) {
1155
- let l = m("element-header"), u = m("pick-day");
1156
- return d(), i("div", At, [a("div", jt, [a("div", Mt, [s(l, {
1153
+ }, Mt = { class: "bb-dashboard-ui bb:flex" }, Nt = { class: "bb:flex bb:border bb:border-white" }, Pt = { class: "bb:flex bb:flex-col bb:min-w-72 bb:w-72 bb:bg-white bb:h-full" }, Ft = { class: "bb:flex bb:h-full bb:divide-x bb:divide-gray-200" };
1154
+ function It(e, t, n, r, o, c) {
1155
+ let l = h("element-header"), u = h("pick-day");
1156
+ return f(), i("div", Mt, [a("div", Nt, [a("div", Pt, [s(l, {
1157
1157
  text: n.header,
1158
1158
  "is-required": n.isRequired,
1159
1159
  "is-loading": n.isLoading
@@ -1161,7 +1161,7 @@ function Pt(e, t, n, r, o, c) {
1161
1161
  "text",
1162
1162
  "is-required",
1163
1163
  "is-loading"
1164
- ]), a("div", Nt, [s(u, {
1164
+ ]), a("div", Ft, [s(u, {
1165
1165
  modelValue: o.userDateFrom,
1166
1166
  "onUpdate:modelValue": t[0] ||= (e) => o.userDateFrom = e,
1167
1167
  class: "bb:flex-1 bb:min-w-36 bb:pl-3",
@@ -1183,10 +1183,10 @@ function Pt(e, t, n, r, o, c) {
1183
1183
  "lang"
1184
1184
  ])])])])]);
1185
1185
  }
1186
- var Ft = /*#__PURE__*/ A(kt, [["render", Pt]]), It = {
1186
+ var Lt = /*#__PURE__*/ A(jt, [["render", It]]), Rt = {
1187
1187
  components: {
1188
1188
  PopoverPanel: H,
1189
- CrossButton: N
1189
+ CrossButton: P
1190
1190
  },
1191
1191
  emits: ["update:isOpen", "erased"],
1192
1192
  props: {
@@ -1210,10 +1210,10 @@ var Ft = /*#__PURE__*/ A(kt, [["render", Pt]]), It = {
1210
1210
  computed: { needsEraser() {
1211
1211
  return !this.isOpen && this.hasValue;
1212
1212
  } }
1213
- }, Lt = { class: "bb:flex bb:flex-col bb:grow bb:bg-white" }, Rt = { class: "bb:relative bb:flex bb:w-full bb:h-full" }, zt = ["id", "popovertarget"], Bt = ["textContent"];
1214
- function Vt(e, t, o, c, l, u) {
1215
- let f = m("popover-panel"), h = m("cross-button");
1216
- return d(), i("div", Lt, [a("div", Rt, [s(f, {
1213
+ }, zt = { class: "bb:flex bb:flex-col bb:grow bb:bg-white" }, Bt = { class: "bb:relative bb:flex bb:w-full bb:h-full" }, Vt = ["id", "popovertarget"], Ht = ["textContent"];
1214
+ function Ut(e, t, o, c, l, u) {
1215
+ let d = h("popover-panel"), p = h("cross-button");
1216
+ return f(), i("div", zt, [a("div", Bt, [s(d, {
1217
1217
  class: "bb:flex bb:w-full bb:h-full",
1218
1218
  "model-value": o.isOpen,
1219
1219
  align: "start",
@@ -1230,18 +1230,18 @@ function Vt(e, t, o, c, l, u) {
1230
1230
  class: "bb:flex bb:w-full bb:h-full bb:items-center bb:focus:outline-hidden bb:cursor-pointer"
1231
1231
  }, [a("span", {
1232
1232
  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",
1233
- textContent: g(o.title)
1234
- }, null, 8, Bt)], 8, zt)]),
1235
- default: b(() => [p(e.$slots, "default")]),
1233
+ textContent: _(o.title)
1234
+ }, null, 8, Ht)], 8, Vt)]),
1235
+ default: b(() => [m(e.$slots, "default")]),
1236
1236
  _: 3
1237
- }, 8, ["model-value", "find-selected"]), u.needsEraser ? (d(), n(h, {
1237
+ }, 8, ["model-value", "find-selected"]), u.needsEraser ? (f(), n(p, {
1238
1238
  key: 0,
1239
1239
  size: "small",
1240
1240
  onClicked: t[1] ||= (t) => e.$emit("erased"),
1241
1241
  class: "bb:absolute bb:right-0 bb:top-0 bb:pr-2 bb:h-full"
1242
1242
  })) : r("", !0)])]);
1243
1243
  }
1244
- var Ht = /*#__PURE__*/ A(It, [["render", Vt]]), Ut = {
1244
+ var Wt = /*#__PURE__*/ A(Rt, [["render", Ut]]), Gt = {
1245
1245
  props: {
1246
1246
  isChecked: {
1247
1247
  type: Boolean,
@@ -1253,32 +1253,32 @@ var Ht = /*#__PURE__*/ A(It, [["render", Vt]]), Ut = {
1253
1253
  methods: { toggle() {
1254
1254
  this.$emit("clicked");
1255
1255
  } }
1256
- }, Wt = { class: "bb:flex bb:w-9 bb:h-9 bb:items-center bb:justify-center bb:pointer-events-none bb:cursor-default" }, Gt = {
1256
+ }, Kt = { class: "bb:flex bb:w-9 bb:h-9 bb:items-center bb:justify-center bb:pointer-events-none bb:cursor-default" }, qt = {
1257
1257
  class: "bb:w-5 bb:h-5 bb:fill-current bb:text-green-300",
1258
1258
  viewBox: "0 0 20 20",
1259
1259
  "aria-hidden": "true"
1260
- }, Kt = ["textContent"];
1261
- function qt(e, t, n, r, o, s) {
1262
- return d(), i("button", {
1260
+ }, Jt = ["textContent"];
1261
+ function Yt(e, t, n, r, o, s) {
1262
+ return f(), i("button", {
1263
1263
  type: "button",
1264
1264
  onClick: t[0] ||= S((...e) => s.toggle && s.toggle(...e), ["prevent"]),
1265
1265
  class: "bb:flex bb:w-full bb:bg-white bb:cursor-pointer bb:focus:outline-hidden bb:focus:bg-indigo-100"
1266
- }, [a("span", Wt, [x((d(), i("svg", Gt, [...t[1] ||= [a("path", {
1266
+ }, [a("span", Kt, [x((f(), i("svg", qt, [...t[1] ||= [a("path", {
1267
1267
  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",
1268
1268
  "clip-rule": "evenodd",
1269
1269
  "fill-rule": "evenodd"
1270
1270
  }, null, -1)]], 512)), [[y, n.isChecked]])]), a("span", {
1271
1271
  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",
1272
- textContent: g(n.name)
1273
- }, null, 8, Kt)]);
1272
+ textContent: _(n.name)
1273
+ }, null, 8, Jt)]);
1274
1274
  }
1275
1275
  //#endregion
1276
1276
  //#region src/components/SelectSingle.vue
1277
- var Jt = {
1277
+ var Xt = {
1278
1278
  components: {
1279
- ElementHeader: j,
1280
- DropdownButton: Ht,
1281
- ListElement: /* @__PURE__ */ A(Ut, [["render", qt]])
1279
+ ElementHeader: M,
1280
+ DropdownButton: Wt,
1281
+ ListElement: /* @__PURE__ */ A(Gt, [["render", Yt]])
1282
1282
  },
1283
1283
  emits: ["update:modelValue", "changed"],
1284
1284
  props: {
@@ -1338,13 +1338,13 @@ var Jt = {
1338
1338
  return e === -1 ? null : this.$refs.list.querySelectorAll("button")[e];
1339
1339
  }
1340
1340
  }
1341
- }, Yt = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, Xt = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, Zt = {
1341
+ }, Zt = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, Qt = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, $t = {
1342
1342
  ref: "list",
1343
1343
  class: "bb:flex bb:flex-col bb:py-1 bb:divide-y bb:divide-gray-200 bb:divide-dashed"
1344
1344
  };
1345
- function Qt(t, o, c, l, u, p) {
1346
- let h = m("element-header"), g = m("list-element"), _ = m("dropdown-button");
1347
- return d(), i("div", Yt, [a("div", Xt, [s(h, {
1345
+ function en(t, o, c, l, u, d) {
1346
+ let m = h("element-header"), g = h("list-element"), _ = h("dropdown-button");
1347
+ return f(), i("div", Zt, [a("div", Qt, [s(m, {
1348
1348
  text: c.header,
1349
1349
  "is-required": c.isRequired,
1350
1350
  "is-loading": c.isLoading
@@ -1352,20 +1352,20 @@ function Qt(t, o, c, l, u, p) {
1352
1352
  "text",
1353
1353
  "is-required",
1354
1354
  "is-loading"
1355
- ]), p.hasItems ? (d(), n(_, {
1355
+ ]), d.hasItems ? (f(), n(_, {
1356
1356
  key: 0,
1357
- title: p.activeItemName,
1357
+ title: d.activeItemName,
1358
1358
  "is-open": u.isOpen,
1359
1359
  "onUpdate:isOpen": o[0] ||= (e) => u.isOpen = e,
1360
- "has-value": p.hasValue,
1361
- "find-selected": p.activeItemElement,
1362
- onErased: p.clear
1360
+ "has-value": d.hasValue,
1361
+ "find-selected": d.activeItemElement,
1362
+ onErased: d.clear
1363
1363
  }, {
1364
- default: b(() => [a("div", Zt, [(d(!0), i(e, null, f(p.itemList, (e) => (d(), n(g, {
1364
+ default: b(() => [a("div", $t, [(f(!0), i(e, null, p(d.itemList, (e) => (f(), n(g, {
1365
1365
  name: e.name,
1366
1366
  key: e.id,
1367
1367
  "is-checked": e.id === c.modelValue,
1368
- onClicked: (t) => p.itemClicked(e)
1368
+ onClicked: (t) => d.itemClicked(e)
1369
1369
  }, null, 8, [
1370
1370
  "name",
1371
1371
  "is-checked",
@@ -1380,7 +1380,7 @@ function Qt(t, o, c, l, u, p) {
1380
1380
  "onErased"
1381
1381
  ])) : r("", !0)])]);
1382
1382
  }
1383
- var $t = /*#__PURE__*/ A(Jt, [["render", Qt]]), en = {
1383
+ var tn = /*#__PURE__*/ A(Xt, [["render", en]]), nn = {
1384
1384
  mixins: [k],
1385
1385
  props: {
1386
1386
  text: {
@@ -1393,14 +1393,14 @@ var $t = /*#__PURE__*/ A(Jt, [["render", Qt]]), en = {
1393
1393
  validator: O
1394
1394
  }
1395
1395
  }
1396
- }, tn = ["textContent"];
1397
- function nn(e, t, n, r, a, o) {
1398
- return d(), i("span", {
1396
+ }, rn = ["textContent"];
1397
+ function an(e, t, n, r, a, o) {
1398
+ return f(), i("span", {
1399
1399
  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")]),
1400
- textContent: g(n.text)
1401
- }, null, 10, tn);
1400
+ textContent: _(n.text)
1401
+ }, null, 10, rn);
1402
1402
  }
1403
- var q = /*#__PURE__*/ A(en, [["render", nn]]), rn = {
1403
+ var q = /*#__PURE__*/ A(nn, [["render", an]]), on = {
1404
1404
  props: {
1405
1405
  messages: {
1406
1406
  type: [Object, Array],
@@ -1420,12 +1420,12 @@ var q = /*#__PURE__*/ A(en, [["render", nn]]), rn = {
1420
1420
  return this.type === "dangerous";
1421
1421
  }
1422
1422
  }
1423
- }, an = { class: "bb:flex" }, on = { class: "bb:shrink-0" }, sn = { class: "bb:ml-3" }, cn = ["textContent"];
1424
- function ln(t, n, o, s, c, l) {
1425
- return l.hasErrors ? (d(), i("div", {
1423
+ }, sn = { class: "bb:flex" }, cn = { class: "bb:shrink-0" }, ln = { class: "bb:ml-3" }, un = ["textContent"];
1424
+ function dn(t, n, o, s, c, l) {
1425
+ return l.hasErrors ? (f(), i("div", {
1426
1426
  key: 0,
1427
1427
  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"])
1428
- }, [a("div", an, [a("div", on, [(d(), i("svg", {
1428
+ }, [a("div", sn, [a("div", cn, [(f(), i("svg", {
1429
1429
  class: u(["bb:h-5 bb:w-5", l.isDangerous ? "bb:text-red-400" : "bb:text-yellow-400"]),
1430
1430
  viewBox: "0 0 20 20",
1431
1431
  fill: "currentColor"
@@ -1433,13 +1433,90 @@ function ln(t, n, o, s, c, l) {
1433
1433
  "fill-rule": "evenodd",
1434
1434
  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",
1435
1435
  "clip-rule": "evenodd"
1436
- }, null, -1)]], 2))]), a("div", sn, [(d(!0), i(e, null, f(o.messages, (e, t) => (d(), i("p", {
1436
+ }, null, -1)]], 2))]), a("div", ln, [(f(!0), i(e, null, p(o.messages, (e, t) => (f(), i("p", {
1437
1437
  class: u(["bb:text-sm bb:leading-5", l.isDangerous ? "bb:text-red-700" : "bb:text-yellow-700"]),
1438
1438
  key: t,
1439
- textContent: g(e)
1440
- }, null, 10, cn))), 128))])])], 2)) : r("", !0);
1441
- }
1442
- var un = /*#__PURE__*/ A(rn, [["render", ln]]), dn = {}, fn = {
1439
+ textContent: _(e)
1440
+ }, null, 10, un))), 128))])])], 2)) : r("", !0);
1441
+ }
1442
+ var fn = /*#__PURE__*/ A(on, [["render", dn]]), J = [
1443
+ "text",
1444
+ "email",
1445
+ "password",
1446
+ "tel",
1447
+ "url",
1448
+ "search"
1449
+ ], pn = {
1450
+ components: { Dot: j },
1451
+ inheritAttrs: !1,
1452
+ props: {
1453
+ modelValue: {
1454
+ type: String,
1455
+ default: ""
1456
+ },
1457
+ label: {
1458
+ type: String,
1459
+ required: !0
1460
+ },
1461
+ type: {
1462
+ type: String,
1463
+ default: "text",
1464
+ validator: (e) => J.includes(e)
1465
+ },
1466
+ isRequired: {
1467
+ type: Boolean,
1468
+ default: !1
1469
+ }
1470
+ },
1471
+ emits: ["update:modelValue"],
1472
+ setup() {
1473
+ return { generatedId: v() };
1474
+ },
1475
+ computed: {
1476
+ value: {
1477
+ get() {
1478
+ return this.modelValue ?? "";
1479
+ },
1480
+ set(e) {
1481
+ this.$emit("update:modelValue", e);
1482
+ }
1483
+ },
1484
+ inputType() {
1485
+ return J.includes(this.type) ? this.type : "text";
1486
+ }
1487
+ },
1488
+ methods: {
1489
+ inputId() {
1490
+ return this.$attrs.id ?? this.generatedId;
1491
+ },
1492
+ inputAttrs() {
1493
+ return Object.fromEntries(Object.entries(this.$attrs).filter(([e]) => ![
1494
+ "class",
1495
+ "style",
1496
+ "id"
1497
+ ].includes(e)));
1498
+ }
1499
+ }
1500
+ }, mn = { class: "bb:flex bb:items-center" }, hn = ["for", "textContent"], gn = ["id", "type"];
1501
+ function _n(e, t, n, r, o, c) {
1502
+ let p = h("dot");
1503
+ return f(), i("div", {
1504
+ class: u(["bb-dashboard-ui", e.$attrs.class]),
1505
+ style: d(e.$attrs.style)
1506
+ }, [a("div", mn, [a("label", {
1507
+ for: c.inputId(),
1508
+ class: "bb:block bb:text-sm bb:font-medium bb:leading-5 bb:text-gray-700",
1509
+ textContent: _(n.label)
1510
+ }, null, 8, hn), x(s(p, {
1511
+ color: "red",
1512
+ class: "bb:ml-2"
1513
+ }, null, 512), [[y, n.isRequired]])]), x(a("input", l({ "onUpdate:modelValue": t[0] ||= (e) => c.value = e }, { ...c.inputAttrs() }, {
1514
+ id: c.inputId(),
1515
+ type: c.inputType,
1516
+ 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:border-blue-300 bb:focus:ring-3 bb:focus:ring-blue-200/50 bb:focus:outline-hidden"
1517
+ }), null, 16, gn), [[ee, c.value]])], 6);
1518
+ }
1519
+ var vn = /*#__PURE__*/ A(pn, [["render", _n]]), yn = {}, bn = {
1443
1520
  class: "bb:w-4 bb:h-4",
1444
1521
  fill: "none",
1445
1522
  stroke: "currentColor",
@@ -1449,8 +1526,8 @@ var un = /*#__PURE__*/ A(rn, [["render", ln]]), dn = {}, fn = {
1449
1526
  xmlns: "http://www.w3.org/2000/svg",
1450
1527
  "aria-hidden": "true"
1451
1528
  };
1452
- function pn(e, t, n, r, o, s) {
1453
- return d(), i("svg", fn, [...t[0] ||= [
1529
+ function xn(e, t, n, r, o, s) {
1530
+ return f(), i("svg", bn, [...t[0] ||= [
1454
1531
  a("circle", {
1455
1532
  cx: "12",
1456
1533
  cy: "12",
@@ -1472,7 +1549,7 @@ function pn(e, t, n, r, o, s) {
1472
1549
  }, null, -1)
1473
1550
  ]]);
1474
1551
  }
1475
- var mn = /*#__PURE__*/ A(dn, [["render", pn]]), hn = {}, gn = {
1552
+ var Sn = /*#__PURE__*/ A(yn, [["render", xn]]), Cn = {}, wn = {
1476
1553
  class: "bb:w-4 bb:h-4",
1477
1554
  fill: "none",
1478
1555
  stroke: "currentColor",
@@ -1480,15 +1557,15 @@ var mn = /*#__PURE__*/ A(dn, [["render", pn]]), hn = {}, gn = {
1480
1557
  xmlns: "http://www.w3.org/2000/svg",
1481
1558
  "aria-hidden": "true"
1482
1559
  };
1483
- function _n(e, t, n, r, o, s) {
1484
- return d(), i("svg", gn, [...t[0] ||= [a("path", {
1560
+ function Tn(e, t, n, r, o, s) {
1561
+ return f(), i("svg", wn, [...t[0] ||= [a("path", {
1485
1562
  "stroke-linecap": "round",
1486
1563
  "stroke-linejoin": "round",
1487
1564
  "stroke-width": "2",
1488
1565
  d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"
1489
1566
  }, null, -1)]]);
1490
1567
  }
1491
- var vn = /*#__PURE__*/ A(hn, [["render", _n]]), yn = {}, bn = {
1568
+ var En = /*#__PURE__*/ A(Cn, [["render", Tn]]), Dn = {}, On = {
1492
1569
  class: "bb:w-4 bb:h-4",
1493
1570
  fill: "none",
1494
1571
  stroke: "currentColor",
@@ -1496,19 +1573,19 @@ var vn = /*#__PURE__*/ A(hn, [["render", _n]]), yn = {}, bn = {
1496
1573
  xmlns: "http://www.w3.org/2000/svg",
1497
1574
  "aria-hidden": "true"
1498
1575
  };
1499
- function xn(e, t, n, r, o, s) {
1500
- return d(), i("svg", bn, [...t[0] ||= [a("path", {
1576
+ function kn(e, t, n, r, o, s) {
1577
+ return f(), i("svg", On, [...t[0] ||= [a("path", {
1501
1578
  "stroke-linecap": "round",
1502
1579
  "stroke-linejoin": "round",
1503
1580
  "stroke-width": "2",
1504
1581
  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"
1505
1582
  }, null, -1)]]);
1506
1583
  }
1507
- var Sn = /*#__PURE__*/ A(yn, [["render", xn]]), Cn = ["download", "refresh"], wn = {
1584
+ var An = /*#__PURE__*/ A(Dn, [["render", kn]]), jn = ["download", "refresh"], Mn = {
1508
1585
  components: {
1509
- "clock-icon": mn,
1510
- "download-icon": vn,
1511
- "refresh-icon": Sn
1586
+ "clock-icon": Sn,
1587
+ "download-icon": En,
1588
+ "refresh-icon": An
1512
1589
  },
1513
1590
  mixins: [k],
1514
1591
  emits: ["click"],
@@ -1520,7 +1597,7 @@ var Sn = /*#__PURE__*/ A(yn, [["render", xn]]), Cn = ["download", "refresh"], wn
1520
1597
  icon: {
1521
1598
  type: String,
1522
1599
  required: !0,
1523
- validator: (e) => Cn.includes(e)
1600
+ validator: (e) => jn.includes(e)
1524
1601
  },
1525
1602
  color: {
1526
1603
  type: String,
@@ -1540,14 +1617,14 @@ var Sn = /*#__PURE__*/ A(yn, [["render", xn]]), Cn = ["download", "refresh"], wn
1540
1617
  let e = this.isLoading && typeof this.loadingText == "string" && this.loadingText !== "" ? this.loadingText : this.title;
1541
1618
  return typeof e == "string" ? e : "";
1542
1619
  } }
1543
- }, Tn = [
1620
+ }, Nn = [
1544
1621
  "title",
1545
1622
  "disabled",
1546
1623
  "aria-busy"
1547
- ], En = ["textContent"];
1548
- function Dn(e, t, o, s, c, l) {
1549
- let f = m("clock-icon"), p = m("download-icon"), h = m("refresh-icon");
1550
- return d(), i("button", {
1624
+ ], Pn = ["textContent"];
1625
+ function Fn(e, t, o, s, c, l) {
1626
+ let d = h("clock-icon"), p = h("download-icon"), m = h("refresh-icon");
1627
+ return f(), i("button", {
1551
1628
  type: "button",
1552
1629
  class: u(["bb-dashboard-ui bb:inline-flex bb:items-center bb:px-3 bb:py-1.5 bb:rounded-full bb:text-xs bb:font-medium bb:leading-none bb:select-none bb:whitespace-nowrap", [
1553
1630
  e.colorClass(o.color, "pill"),
@@ -1558,31 +1635,31 @@ function Dn(e, t, o, s, c, l) {
1558
1635
  disabled: o.isLoading,
1559
1636
  "aria-busy": o.isLoading ? "true" : null,
1560
1637
  onClick: t[0] ||= (t) => e.$emit("click")
1561
- }, [o.isLoading ? (d(), n(f, {
1638
+ }, [o.isLoading ? (f(), n(d, {
1562
1639
  key: 0,
1563
1640
  class: "bb:pointer-events-none bb:cursor-default"
1564
- })) : o.icon === "download" ? (d(), n(p, {
1641
+ })) : o.icon === "download" ? (f(), n(p, {
1565
1642
  key: 1,
1566
1643
  class: "bb:pointer-events-none bb:cursor-default"
1567
- })) : o.icon === "refresh" ? (d(), n(h, {
1644
+ })) : o.icon === "refresh" ? (f(), n(m, {
1568
1645
  key: 2,
1569
1646
  class: "bb:pointer-events-none bb:cursor-default"
1570
1647
  })) : r("", !0), a("span", {
1571
1648
  class: "bb:ml-1 bb:pointer-events-none bb:cursor-default",
1572
- textContent: g(l.label)
1573
- }, null, 8, En)], 10, Tn);
1649
+ textContent: _(l.label)
1650
+ }, null, 8, Pn)], 10, Nn);
1574
1651
  }
1575
- var On = /*#__PURE__*/ A(wn, [["render", Dn]]), J = "a[href], button:not(:disabled)";
1576
- function kn(e, t) {
1652
+ var In = /*#__PURE__*/ A(Mn, [["render", Fn]]), Y = "a[href], button:not(:disabled)";
1653
+ function Ln(e, t) {
1577
1654
  let n = document.activeElement;
1578
- (e.querySelector("[data-dialog-focus]") ?? e.querySelector(J))?.focus();
1655
+ (e.querySelector("[data-dialog-focus]") ?? e.querySelector(Y))?.focus();
1579
1656
  let r = (n) => {
1580
1657
  if (n.key === "Escape") {
1581
1658
  t();
1582
1659
  return;
1583
1660
  }
1584
1661
  if (n.key !== "Tab") return;
1585
- let r = [...e.querySelectorAll(J)];
1662
+ let r = [...e.querySelectorAll(Y)];
1586
1663
  if (r.length === 0) return;
1587
1664
  n.preventDefault();
1588
1665
  let i = n.shiftKey ? -1 : 1, a = r.indexOf(document.activeElement);
@@ -1599,7 +1676,7 @@ function kn(e, t) {
1599
1676
  }
1600
1677
  //#endregion
1601
1678
  //#region src/components/Modal.vue
1602
- var An = {
1679
+ var Rn = {
1603
1680
  emits: ["escape"],
1604
1681
  props: {
1605
1682
  isOpen: {
@@ -1633,16 +1710,16 @@ var An = {
1633
1710
  methods: {
1634
1711
  holdFocus() {
1635
1712
  this.focusFrame === null && this.releaseHeldFocus === null && (this.focusFrame = requestAnimationFrame(() => {
1636
- this.focusFrame = null, this.releaseHeldFocus = kn(this.$refs.panel, () => this.$emit("escape"));
1713
+ this.focusFrame = null, this.releaseHeldFocus = Ln(this.$refs.panel, () => this.$emit("escape"));
1637
1714
  }));
1638
1715
  },
1639
1716
  releaseFocus() {
1640
1717
  this.focusFrame !== null && (cancelAnimationFrame(this.focusFrame), this.focusFrame = null), this.releaseHeldFocus !== null && (this.releaseHeldFocus(), this.releaseHeldFocus = null);
1641
1718
  }
1642
1719
  }
1643
- }, jn = { class: "bb:min-h-screen bb:text-center" }, Mn = { class: "bb:fixed bb:inset-0 bb:transition-opacity" }, Nn = ["aria-labelledby"];
1644
- function Pn(e, n, r, o, c, l) {
1645
- return d(), i("div", { class: u(["bb-dashboard-ui bb:fixed bb:inset-0 bb:overflow-y-auto bb:z-20", { "bb:pointer-events-none": !r.isOpen }]) }, [a("div", jn, [
1720
+ }, zn = { class: "bb:min-h-screen bb:text-center" }, Bn = { class: "bb:fixed bb:inset-0 bb:transition-opacity" }, Vn = ["aria-labelledby"];
1721
+ function Hn(e, n, r, o, c, l) {
1722
+ 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", zn, [
1646
1723
  s(t, {
1647
1724
  "enter-active-class": "bb:ease-out bb:duration-300",
1648
1725
  "enter-from-class": "bb:opacity-0",
@@ -1651,7 +1728,7 @@ function Pn(e, n, r, o, c, l) {
1651
1728
  "leave-from-class": "bb:opacity-100",
1652
1729
  "leave-to-class": "bb:opacity-0"
1653
1730
  }, {
1654
- default: b(() => [x(a("div", Mn, [...n[0] ||= [a("div", { class: "bb:absolute bb:inset-0 bb:bg-gray-500 bb:opacity-75" }, null, -1)]], 512), [[y, r.isOpen]])]),
1731
+ default: b(() => [x(a("div", Bn, [...n[0] ||= [a("div", { class: "bb:absolute bb:inset-0 bb:bg-gray-500 bb:opacity-75" }, null, -1)]], 512), [[y, r.isOpen]])]),
1655
1732
  _: 1
1656
1733
  }),
1657
1734
  n[1] ||= a("span", { class: "bb:inline-block bb:align-middle bb:h-screen" }, null, -1),
@@ -1669,12 +1746,12 @@ function Pn(e, n, r, o, c, l) {
1669
1746
  role: "dialog",
1670
1747
  "aria-modal": "true",
1671
1748
  "aria-labelledby": r.headingId
1672
- }, [p(e.$slots, "default")], 8, Nn), [[y, r.isOpen]])]),
1749
+ }, [m(e.$slots, "default")], 8, Vn), [[y, r.isOpen]])]),
1673
1750
  _: 3
1674
1751
  })
1675
1752
  ])], 2);
1676
1753
  }
1677
- var Fn = /*#__PURE__*/ A(An, [["render", Pn]]), In = {}, Ln = {
1754
+ var Un = /*#__PURE__*/ A(Rn, [["render", Hn]]), Wn = {}, Gn = {
1678
1755
  class: "bb:h-7 bb:w-7 bb:text-red-600",
1679
1756
  xmlns: "http://www.w3.org/2000/svg",
1680
1757
  fill: "none",
@@ -1682,35 +1759,35 @@ var Fn = /*#__PURE__*/ A(An, [["render", Pn]]), In = {}, Ln = {
1682
1759
  stroke: "currentColor",
1683
1760
  "aria-hidden": "true"
1684
1761
  };
1685
- function Rn(e, t, n, r, o, s) {
1686
- return d(), i("svg", Ln, [...t[0] ||= [a("path", {
1762
+ function Kn(e, t, n, r, o, s) {
1763
+ return f(), i("svg", Gn, [...t[0] ||= [a("path", {
1687
1764
  "stroke-linecap": "round",
1688
1765
  "stroke-linejoin": "round",
1689
1766
  "stroke-width": "2",
1690
1767
  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"
1691
1768
  }, null, -1)]]);
1692
1769
  }
1693
- var Y = /*#__PURE__*/ A(In, [["render", Rn]]), zn = {}, Bn = {
1770
+ var qn = /*#__PURE__*/ A(Wn, [["render", Kn]]), Jn = {}, Yn = {
1694
1771
  class: "bb:h-7 bb:w-7 bb:text-yellow-400",
1695
1772
  xmlns: "http://www.w3.org/2000/svg",
1696
1773
  viewBox: "0 0 20 20",
1697
1774
  fill: "currentColor",
1698
1775
  "aria-hidden": "true"
1699
1776
  };
1700
- function Vn(e, t, n, r, o, s) {
1701
- return d(), i("svg", Bn, [...t[0] ||= [a("path", {
1777
+ function Xn(e, t, n, r, o, s) {
1778
+ return f(), i("svg", Yn, [...t[0] ||= [a("path", {
1702
1779
  "fill-rule": "evenodd",
1703
1780
  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",
1704
1781
  "clip-rule": "evenodd"
1705
1782
  }, null, -1)]]);
1706
1783
  }
1707
- var Hn = /*#__PURE__*/ A(zn, [["render", Vn]]), Un = {
1784
+ var Zn = /*#__PURE__*/ A(Jn, [["render", Xn]]), Qn = {
1708
1785
  components: {
1709
- Modal: Fn,
1710
- Dangerous: Y,
1711
- Warning: Hn
1786
+ Modal: Un,
1787
+ Dangerous: qn,
1788
+ Warning: Zn
1712
1789
  },
1713
- mixins: [M],
1790
+ mixins: [N],
1714
1791
  emits: ["actionConfirmed", "actionCanceled"],
1715
1792
  props: {
1716
1793
  isOpen: {
@@ -1740,7 +1817,7 @@ var Hn = /*#__PURE__*/ A(zn, [["render", Vn]]), Un = {
1740
1817
  }
1741
1818
  },
1742
1819
  setup() {
1743
- return { headingId: _() };
1820
+ return { headingId: v() };
1744
1821
  },
1745
1822
  computed: {
1746
1823
  isDangerous() {
@@ -1750,66 +1827,66 @@ var Hn = /*#__PURE__*/ A(zn, [["render", Vn]]), Un = {
1750
1827
  return this.type === "warning";
1751
1828
  }
1752
1829
  }
1753
- }, Wn = { class: "bb:flex bb:bg-white bb:rounded-t-lg bb:p-6 bb:pb-4" }, Gn = { class: "bb:flex bb:items-start" }, Kn = { class: "bb:ml-4 bb:text-left" }, qn = ["id"], Jn = { class: "bb:mt-2" }, Yn = { class: "bb:text-sm bb:text-gray-500" }, Xn = { class: "bb:bg-gray-50 bb:rounded-b-lg bb:px-6 bb:py-3 bb:flex bb:flex-row-reverse" };
1754
- function Zn(e, t, i, o, s, c) {
1755
- let l = m("warning"), f = m("dangerous"), p = m("modal");
1756
- return d(), n(p, {
1830
+ }, $n = { class: "bb:flex bb:bg-white bb:rounded-t-lg bb:p-6 bb:pb-4" }, er = { class: "bb:flex bb:items-start" }, tr = { class: "bb:ml-4 bb:text-left" }, nr = ["id"], rr = { class: "bb:mt-2" }, ir = { class: "bb:text-sm bb:text-gray-500" }, ar = { class: "bb:bg-gray-50 bb:rounded-b-lg bb:px-6 bb:py-3 bb:flex bb:flex-row-reverse" };
1831
+ function or(e, t, i, o, s, c) {
1832
+ let l = h("warning"), d = h("dangerous"), p = h("modal");
1833
+ return f(), n(p, {
1757
1834
  "is-open": i.isOpen,
1758
1835
  "heading-id": o.headingId,
1759
1836
  onEscape: t[2] ||= (t) => e.$emit("actionCanceled")
1760
1837
  }, {
1761
- default: b(() => [a("div", Wn, [a("div", Gn, [a("div", { class: u(["bb:shrink-0 bb:flex bb:items-center bb:justify-center bb:h-10 bb:w-10 bb:rounded-full", {
1838
+ default: b(() => [a("div", $n, [a("div", er, [a("div", { class: u(["bb:shrink-0 bb:flex bb:items-center bb:justify-center bb:h-10 bb:w-10 bb:rounded-full", {
1762
1839
  "bb:bg-red-100": c.isDangerous,
1763
1840
  "bb:bg-yellow-100": c.isWarning
1764
- }]) }, [c.isWarning ? (d(), n(l, { key: 0 })) : r("", !0), c.isDangerous ? (d(), n(f, { key: 1 })) : r("", !0)], 2), a("div", Kn, [a("h3", {
1841
+ }]) }, [c.isWarning ? (f(), n(l, { key: 0 })) : r("", !0), c.isDangerous ? (f(), n(d, { key: 1 })) : r("", !0)], 2), a("div", tr, [a("h3", {
1765
1842
  class: "bb:text-lg bb:leading-6 bb:font-medium bb:text-gray-900",
1766
1843
  id: o.headingId
1767
- }, g(i.confirmationHeading), 9, qn), a("div", Jn, [a("p", Yn, g(i.confirmationText), 1)])])])]), a("div", Xn, [a("button", {
1844
+ }, _(i.confirmationHeading), 9, nr), a("div", rr, [a("p", ir, _(i.confirmationText), 1)])])])]), a("div", ar, [a("button", {
1768
1845
  type: "button",
1769
1846
  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:outline-hidden bb:focus:ring-2 bb:focus:ring-offset-2 bb:ml-3", {
1770
1847
  "bb:bg-red-600 bb:hover:bg-red-700 bb:focus:ring-red-500": c.isDangerous,
1771
1848
  "bb:bg-yellow-400 bb:hover:bg-yellow-500 bb:focus:ring-yellow-300": c.isWarning
1772
1849
  }]),
1773
1850
  onClick: t[0] ||= S((t) => e.$emit("actionConfirmed"), ["prevent"])
1774
- }, g(i.actionButtonText), 3), a("button", {
1851
+ }, _(i.actionButtonText), 3), a("button", {
1775
1852
  type: "button",
1776
1853
  class: "bb:inline-flex bb:justify-center bb:rounded-md bb:border bb:border-gray-300 bb:shadow-xs bb:px-4 bb:py-2 bb:bg-white bb:text-sm bb:font-medium bb:text-gray-700 bb:hover:bg-gray-50 bb:focus:outline-hidden bb:focus:ring-2 bb:focus:ring-offset-2 bb:focus:ring-indigo-500 bb:ml-3",
1777
1854
  "data-dialog-focus": "",
1778
1855
  onClick: t[1] ||= S((t) => e.$emit("actionCanceled"), ["prevent"])
1779
- }, g(i.cancelButtonText ?? e.texts.cancel), 1)])]),
1856
+ }, _(i.cancelButtonText ?? e.texts.cancel), 1)])]),
1780
1857
  _: 1
1781
1858
  }, 8, ["is-open", "heading-id"]);
1782
1859
  }
1783
- var Qn = /*#__PURE__*/ A(Un, [["render", Zn]]);
1860
+ var sr = /*#__PURE__*/ A(Qn, [["render", or]]);
1784
1861
  //#endregion
1785
1862
  //#region src/menuItems.js
1786
- function $n(e) {
1863
+ function cr(e) {
1787
1864
  if (typeof e != "object" || !e || typeof e.label != "string" || e.label === "" || e.color !== void 0 && !O(e.color)) return !1;
1788
1865
  let t = typeof e.href == "string" && e.href !== "" && e.onSelect === void 0, n = typeof e.onSelect == "function" && e.href === void 0;
1789
1866
  return t || n;
1790
1867
  }
1791
- function er(e) {
1868
+ function lr(e) {
1792
1869
  return Array.isArray(e) ? e.filter((e) => typeof e == "object" && !!e) : [];
1793
1870
  }
1794
- function tr(e) {
1871
+ function ur(e) {
1795
1872
  return typeof e.href == "string" && e.href !== "";
1796
1873
  }
1797
- function nr(e) {
1874
+ function dr(e) {
1798
1875
  return O(e.color) ? e.color : null;
1799
1876
  }
1800
1877
  //#endregion
1801
1878
  //#region src/navigation.js
1802
- function rr(e) {
1879
+ function fr(e) {
1803
1880
  let t = e.currentTarget?.target ?? "";
1804
1881
  return !(e.defaultPrevented || e.target?.isContentEditable === !0 || e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || t !== "" && t !== "_self" || e.button !== 0);
1805
1882
  }
1806
1883
  var X = {
1807
- inject: ge,
1884
+ inject: D,
1808
1885
  methods: { followLink(e, t) {
1809
1886
  let n = this.uiSettings.navigate;
1810
- n !== null && rr(e) && (e.preventDefault(), n(t));
1887
+ n !== null && fr(e) && (e.preventDefault(), n(t));
1811
1888
  } }
1812
- }, ir = {
1889
+ }, pr = {
1813
1890
  components: { PopoverPanel: H },
1814
1891
  mixins: [X, k],
1815
1892
  emits: ["update:modelValue"],
@@ -1822,7 +1899,7 @@ var X = {
1822
1899
  },
1823
1900
  computed: {
1824
1901
  actionItems() {
1825
- return er(this.actions);
1902
+ return lr(this.actions);
1826
1903
  },
1827
1904
  hasActions() {
1828
1905
  return this.actionItems.length > 0;
@@ -1830,23 +1907,23 @@ var X = {
1830
1907
  },
1831
1908
  methods: {
1832
1909
  color(e) {
1833
- return nr(e);
1910
+ return dr(e);
1834
1911
  },
1835
1912
  isLink(e) {
1836
- return tr(e);
1913
+ return ur(e);
1837
1914
  },
1838
1915
  select(e) {
1839
1916
  if (typeof e.onSelect == "function") return e.onSelect();
1840
1917
  }
1841
1918
  }
1842
- }, ar = [
1919
+ }, mr = [
1843
1920
  "href",
1844
1921
  "onClick",
1845
1922
  "textContent"
1846
- ], or = ["onClick", "textContent"];
1847
- function sr(t, r, a, o, s, c) {
1848
- let l = m("popover-panel");
1849
- return d(), n(l, {
1923
+ ], hr = ["onClick", "textContent"];
1924
+ function gr(t, r, a, o, s, c) {
1925
+ let l = h("popover-panel");
1926
+ return f(), n(l, {
1850
1927
  "model-value": a.modelValue,
1851
1928
  "has-content": c.hasActions,
1852
1929
  align: "end",
@@ -1857,32 +1934,32 @@ function sr(t, r, a, o, s, c) {
1857
1934
  "panel-role": "menu",
1858
1935
  "onUpdate:modelValue": r[0] ||= (e) => t.$emit("update:modelValue", e)
1859
1936
  }, {
1860
- trigger: b((e) => [p(t.$slots, "trigger", {
1937
+ trigger: b((e) => [m(t.$slots, "trigger", {
1861
1938
  id: e.id,
1862
1939
  popovertarget: e.popovertarget
1863
1940
  })]),
1864
- default: b(() => [(d(!0), i(e, null, f(c.actionItems, (n, r) => (d(), i(e, { key: r }, [c.isLink(n) ? (d(), i("a", {
1941
+ default: b(() => [(f(!0), i(e, null, p(c.actionItems, (n, r) => (f(), i(e, { key: r }, [c.isLink(n) ? (f(), i("a", {
1865
1942
  key: 0,
1866
1943
  href: n.href,
1867
1944
  role: "menuitem",
1868
1945
  class: u(["bb:block bb:w-full bb:px-4 bb:py-2 bb:text-sm bb:text-left bb:cursor-pointer bb:focus:outline-hidden", c.color(n) === null ? "bb:text-gray-700 bb:focus:bg-gray-100 bb:focus:text-gray-900" : t.colorClass(c.color(n), "menuItem")]),
1869
1946
  onClick: (e) => t.followLink(e, n.href),
1870
- textContent: g(n.label)
1871
- }, null, 10, ar)) : (d(), i("button", {
1947
+ textContent: _(n.label)
1948
+ }, null, 10, mr)) : (f(), i("button", {
1872
1949
  key: 1,
1873
1950
  type: "button",
1874
1951
  role: "menuitem",
1875
1952
  class: u(["bb:block bb:w-full bb:px-4 bb:py-2 bb:text-sm bb:text-left bb:cursor-pointer bb:focus:outline-hidden", c.color(n) === null ? "bb:text-gray-700 bb:focus:bg-gray-100 bb:focus:text-gray-900" : t.colorClass(c.color(n), "menuItem")]),
1876
1953
  onClick: (e) => c.select(n),
1877
- textContent: g(n.label)
1878
- }, null, 10, or))], 64))), 128))]),
1954
+ textContent: _(n.label)
1955
+ }, null, 10, hr))], 64))), 128))]),
1879
1956
  _: 3
1880
1957
  }, 8, ["model-value", "has-content"]);
1881
1958
  }
1882
- var cr = /*#__PURE__*/ A(ir, [["render", sr]]), lr = {
1883
- components: { PopoverMenu: cr },
1959
+ var Z = /*#__PURE__*/ A(pr, [["render", gr]]), _r = {
1960
+ components: { PopoverMenu: Z },
1884
1961
  mixins: [
1885
- M,
1962
+ N,
1886
1963
  X,
1887
1964
  k
1888
1965
  ],
@@ -1891,7 +1968,7 @@ var cr = /*#__PURE__*/ A(ir, [["render", sr]]), lr = {
1891
1968
  actions: {
1892
1969
  type: Array,
1893
1970
  default: () => [],
1894
- validator: (e) => e.every($n)
1971
+ validator: (e) => e.every(cr)
1895
1972
  },
1896
1973
  modelValue: {
1897
1974
  type: Boolean,
@@ -1903,7 +1980,7 @@ var cr = /*#__PURE__*/ A(ir, [["render", sr]]), lr = {
1903
1980
  },
1904
1981
  computed: {
1905
1982
  items() {
1906
- return er(this.actions);
1983
+ return lr(this.actions);
1907
1984
  },
1908
1985
  hasActions() {
1909
1986
  return this.items.length > 0;
@@ -1912,7 +1989,7 @@ var cr = /*#__PURE__*/ A(ir, [["render", sr]]), lr = {
1912
1989
  return this.items[0];
1913
1990
  },
1914
1991
  mainColor() {
1915
- return this.hasActions ? nr(this.mainAction) : null;
1992
+ return this.hasActions ? dr(this.mainAction) : null;
1916
1993
  },
1917
1994
  menuActions() {
1918
1995
  return this.items.slice(1);
@@ -1934,7 +2011,7 @@ var cr = /*#__PURE__*/ A(ir, [["render", sr]]), lr = {
1934
2011
  },
1935
2012
  methods: {
1936
2013
  isLink(e) {
1937
- return tr(e);
2014
+ return ur(e);
1938
2015
  },
1939
2016
  select(e) {
1940
2017
  if (typeof e.onSelect == "function") return e.onSelect();
@@ -1943,13 +2020,13 @@ var cr = /*#__PURE__*/ A(ir, [["render", sr]]), lr = {
1943
2020
  this.menuIsOpen = e, this.$emit("update:modelValue", e);
1944
2021
  }
1945
2022
  }
1946
- }, ur = {
2023
+ }, vr = {
1947
2024
  key: 0,
1948
2025
  class: "bb-dashboard-ui bb:relative bb:inline-flex bb:shadow-xs bb:rounded-md"
1949
- }, dr = ["href", "textContent"], fr = ["textContent"], pr = ["id", "popovertarget"], mr = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
1950
- function hr(e, t, n, o, c, l) {
1951
- let f = m("popover-menu");
1952
- return l.hasActions ? (d(), i("span", ur, [l.isLink(l.mainAction) ? (d(), i("a", {
2026
+ }, yr = ["href", "textContent"], br = ["textContent"], xr = ["id", "popovertarget"], Sr = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
2027
+ function Cr(e, t, n, o, c, l) {
2028
+ let d = h("popover-menu");
2029
+ return l.hasActions ? (f(), i("span", vr, [l.isLink(l.mainAction) ? (f(), i("a", {
1953
2030
  key: 0,
1954
2031
  href: l.mainAction.href,
1955
2032
  class: u(["bb:relative bb:inline-flex bb:items-center bb:px-4 bb:py-2 bb:border bb:text-sm bb:font-medium bb:cursor-pointer bb:focus:z-10 bb:focus:outline-hidden bb:focus:ring-1 bb:focus:ring-indigo-500 bb:focus:border-indigo-500", [{
@@ -1957,8 +2034,8 @@ function hr(e, t, n, o, c, l) {
1957
2034
  "bb:rounded-md": !l.hasMenu
1958
2035
  }, l.mainColor === null ? "bb:bg-white bb:border-gray-300 bb:text-gray-700 bb:hover:bg-gray-50" : e.colorClass(l.mainColor, "button")]]),
1959
2036
  onClick: t[0] ||= (t) => e.followLink(t, l.mainAction.href),
1960
- textContent: g(l.mainAction.label)
1961
- }, null, 10, dr)) : (d(), i("button", {
2037
+ textContent: _(l.mainAction.label)
2038
+ }, null, 10, yr)) : (f(), i("button", {
1962
2039
  key: 1,
1963
2040
  type: "button",
1964
2041
  class: u(["bb:relative bb:inline-flex bb:items-center bb:px-4 bb:py-2 bb:border bb:text-sm bb:font-medium bb:cursor-pointer bb:focus:z-10 bb:focus:outline-hidden bb:focus:ring-1 bb:focus:ring-indigo-500 bb:focus:border-indigo-500", [{
@@ -1966,8 +2043,8 @@ function hr(e, t, n, o, c, l) {
1966
2043
  "bb:rounded-md": !l.hasMenu
1967
2044
  }, l.mainColor === null ? "bb:bg-white bb:border-gray-300 bb:text-gray-700 bb:hover:bg-gray-50" : e.colorClass(l.mainColor, "button")]]),
1968
2045
  onClick: t[1] ||= (e) => l.select(l.mainAction),
1969
- textContent: g(l.mainAction.label)
1970
- }, null, 10, fr)), s(f, {
2046
+ textContent: _(l.mainAction.label)
2047
+ }, null, 10, br)), s(d, {
1971
2048
  class: "bb:-ml-px bb:flex",
1972
2049
  actions: l.menuActions,
1973
2050
  "model-value": n.modelValue,
@@ -1978,7 +2055,7 @@ function hr(e, t, n, o, c, l) {
1978
2055
  id: n.id,
1979
2056
  popovertarget: n.popovertarget,
1980
2057
  class: u(["bb:relative bb:inline-flex bb:items-center bb:px-2 bb:py-2 bb:rounded-r-md bb:border bb:text-sm bb:font-medium bb:focus:z-10 bb:focus:outline-hidden bb:focus:ring-1 bb:focus:ring-indigo-500 bb:focus:border-indigo-500", l.mainColor === null ? "bb:bg-white bb:border-gray-300 bb:text-gray-500 bb:hover:bg-gray-50" : e.colorClass(l.mainColor, "button")])
1981
- }, [a("span", mr, g(e.texts.openMenu), 1), t[2] ||= a("svg", {
2058
+ }, [a("span", Sr, _(e.texts.openMenu), 1), t[2] ||= a("svg", {
1982
2059
  class: "bb:h-5 bb:w-5 bb:pointer-events-none bb:cursor-default",
1983
2060
  xmlns: "http://www.w3.org/2000/svg",
1984
2061
  viewBox: "0 0 20 20",
@@ -1988,7 +2065,7 @@ function hr(e, t, n, o, c, l) {
1988
2065
  "fill-rule": "evenodd",
1989
2066
  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",
1990
2067
  "clip-rule": "evenodd"
1991
- })], -1)], 10, pr)]),
2068
+ })], -1)], 10, xr)]),
1992
2069
  _: 1
1993
2070
  }, 8, [
1994
2071
  "actions",
@@ -1996,18 +2073,18 @@ function hr(e, t, n, o, c, l) {
1996
2073
  "onUpdate:modelValue"
1997
2074
  ])])) : r("", !0);
1998
2075
  }
1999
- var gr = /*#__PURE__*/ A(lr, [["render", hr]]), _r = {
2000
- components: { PopoverMenu: cr },
2001
- mixins: [M],
2076
+ var wr = /*#__PURE__*/ A(_r, [["render", Cr]]), Tr = {
2077
+ components: { PopoverMenu: Z },
2078
+ mixins: [N],
2002
2079
  props: { actions: {
2003
2080
  type: Array,
2004
2081
  default: () => [],
2005
- validator: (e) => e.every($n)
2082
+ validator: (e) => e.every(cr)
2006
2083
  } }
2007
- }, vr = ["id", "popovertarget"], yr = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
2008
- function br(e, t, r, i, o, s) {
2009
- let c = m("popover-menu");
2010
- return d(), n(c, {
2084
+ }, Er = ["id", "popovertarget"], Dr = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
2085
+ function Or(e, t, r, i, o, s) {
2086
+ let c = h("popover-menu");
2087
+ return f(), n(c, {
2011
2088
  class: "bb-dashboard-ui bb:inline-flex",
2012
2089
  actions: r.actions
2013
2090
  }, {
@@ -2016,7 +2093,7 @@ function br(e, t, r, i, o, s) {
2016
2093
  id: n.id,
2017
2094
  popovertarget: n.popovertarget,
2018
2095
  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"
2019
- }, [a("span", yr, g(e.texts.openMenu), 1), t[0] ||= a("svg", {
2096
+ }, [a("span", Dr, _(e.texts.openMenu), 1), t[0] ||= a("svg", {
2020
2097
  class: "bb:h-6 bb:w-6 bb:pointer-events-none bb:cursor-default",
2021
2098
  fill: "none",
2022
2099
  viewBox: "0 0 24 24",
@@ -2027,48 +2104,48 @@ function br(e, t, r, i, o, s) {
2027
2104
  "stroke-linejoin": "round",
2028
2105
  "stroke-width": "2",
2029
2106
  d: "M4 6h16M4 12h16M4 18h16"
2030
- })], -1)], 8, vr)]),
2107
+ })], -1)], 8, Er)]),
2031
2108
  _: 1
2032
2109
  }, 8, ["actions"]);
2033
2110
  }
2034
- var xr = /*#__PURE__*/ A(_r, [["render", br]]), Sr = {}, Cr = {
2111
+ var kr = /*#__PURE__*/ A(Tr, [["render", Or]]), Ar = {}, jr = {
2035
2112
  xmlns: "http://www.w3.org/2000/svg",
2036
2113
  viewBox: "0 0 20 20",
2037
2114
  fill: "currentColor",
2038
2115
  "aria-hidden": "true"
2039
2116
  };
2040
- function wr(e, t, n, r, o, s) {
2041
- return d(), i("svg", Cr, [...t[0] ||= [a("path", {
2117
+ function Mr(e, t, n, r, o, s) {
2118
+ return f(), i("svg", jr, [...t[0] ||= [a("path", {
2042
2119
  "fill-rule": "evenodd",
2043
2120
  "clip-rule": "evenodd",
2044
2121
  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"
2045
2122
  }, null, -1)]]);
2046
2123
  }
2047
- var Tr = /*#__PURE__*/ A(Sr, [["render", wr]]), Er = {}, Dr = {
2124
+ var Nr = /*#__PURE__*/ A(Ar, [["render", Mr]]), Pr = {}, Fr = {
2048
2125
  xmlns: "http://www.w3.org/2000/svg",
2049
2126
  viewBox: "0 0 20 20",
2050
2127
  fill: "currentColor",
2051
2128
  "aria-hidden": "true"
2052
2129
  };
2053
- function Or(e, t, n, r, o, s) {
2054
- return d(), i("svg", Dr, [...t[0] ||= [a("path", {
2130
+ function Ir(e, t, n, r, o, s) {
2131
+ return f(), i("svg", Fr, [...t[0] ||= [a("path", {
2055
2132
  "fill-rule": "evenodd",
2056
2133
  "clip-rule": "evenodd",
2057
2134
  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"
2058
2135
  }, null, -1)]]);
2059
2136
  }
2060
- var kr = /*#__PURE__*/ A(Er, [["render", Or]]);
2137
+ var Lr = /*#__PURE__*/ A(Pr, [["render", Ir]]);
2061
2138
  //#endregion
2062
2139
  //#region src/components/Pagination.vue
2063
- function Z(e) {
2140
+ function Rr(e) {
2064
2141
  return typeof e == "string" && e !== "" ? e : null;
2065
2142
  }
2066
- var Ar = {
2143
+ var zr = {
2067
2144
  components: {
2068
- ArrowNarrowLeft: Tr,
2069
- ArrowNarrowRight: kr
2145
+ ArrowNarrowLeft: Nr,
2146
+ ArrowNarrowRight: Lr
2070
2147
  },
2071
- mixins: [M, X],
2148
+ mixins: [N, X],
2072
2149
  props: {
2073
2150
  links: {
2074
2151
  type: Object,
@@ -2096,49 +2173,49 @@ var Ar = {
2096
2173
  return typeof this.from == "number" && typeof this.to == "number";
2097
2174
  },
2098
2175
  previousPageUrl() {
2099
- return Z(this.links?.prev);
2176
+ return Rr(this.links?.prev);
2100
2177
  },
2101
2178
  nextPageUrl() {
2102
- return Z(this.links?.next);
2179
+ return Rr(this.links?.next);
2103
2180
  }
2104
2181
  }
2105
- }, jr = {
2182
+ }, Br = {
2106
2183
  key: 0,
2107
2184
  class: "bb-dashboard-ui bb:flex bb:items-center bb:justify-between"
2108
- }, Mr = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex" }, Nr = ["href"], Pr = {
2185
+ }, Vr = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex" }, Hr = ["href"], Ur = {
2109
2186
  key: 0,
2110
2187
  class: "bb:-mt-px bb:flex bb:text-gray-400 bb:text-sm bb:leading-5"
2111
- }, Fr = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, Ir = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, Lr = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex bb:justify-end" }, Rr = ["href"];
2112
- function zr(e, t, n, c, l, u) {
2113
- let f = m("arrow-narrow-left"), p = m("arrow-narrow-right");
2114
- return u.hasResults ? (d(), i("nav", jr, [
2115
- a("div", Mr, [u.previousPageUrl === null ? r("", !0) : (d(), i("a", {
2188
+ }, Wr = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, Gr = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, Kr = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex bb:justify-end" }, qr = ["href"];
2189
+ function Jr(e, t, n, c, l, u) {
2190
+ let d = h("arrow-narrow-left"), p = h("arrow-narrow-right");
2191
+ return u.hasResults ? (f(), i("nav", Br, [
2192
+ a("div", Vr, [u.previousPageUrl === null ? r("", !0) : (f(), i("a", {
2116
2193
  key: 0,
2117
2194
  href: u.previousPageUrl,
2118
2195
  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",
2119
2196
  onClick: t[0] ||= (t) => e.followLink(t, u.previousPageUrl)
2120
- }, [s(f, { class: "bb:mr-3 bb:h-5 bb:w-5 bb:text-gray-400 bb:pointer-events-none bb:cursor-default" }), o(" " + g(e.texts.previousPage), 1)], 8, Nr))]),
2121
- u.hasRange ? (d(), i("div", Pr, [
2122
- o(g(e.texts.resultsBefore) + " ", 1),
2123
- a("span", Fr, g(u.from) + " - " + g(u.to), 1),
2124
- o(" " + g(e.texts.resultsOf) + " ", 1),
2125
- a("span", Ir, g(u.total), 1),
2126
- o(" " + g(e.texts.resultsAfter), 1)
2197
+ }, [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, Hr))]),
2198
+ u.hasRange ? (f(), i("div", Ur, [
2199
+ o(_(e.texts.resultsBefore) + " ", 1),
2200
+ a("span", Wr, _(u.from) + " - " + _(u.to), 1),
2201
+ o(" " + _(e.texts.resultsOf) + " ", 1),
2202
+ a("span", Gr, _(u.total), 1),
2203
+ o(" " + _(e.texts.resultsAfter), 1)
2127
2204
  ])) : r("", !0),
2128
- a("div", Lr, [u.nextPageUrl === null ? r("", !0) : (d(), i("a", {
2205
+ a("div", Kr, [u.nextPageUrl === null ? r("", !0) : (f(), i("a", {
2129
2206
  key: 0,
2130
2207
  href: u.nextPageUrl,
2131
2208
  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",
2132
2209
  onClick: t[1] ||= (t) => e.followLink(t, u.nextPageUrl)
2133
- }, [o(g(e.texts.nextPage) + " ", 1), s(p, { class: "bb:ml-3 bb:h-5 bb:w-5 bb:text-gray-400 bb:pointer-events-none bb:cursor-default" })], 8, Rr))])
2210
+ }, [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, qr))])
2134
2211
  ])) : r("", !0);
2135
2212
  }
2136
- var Br = /*#__PURE__*/ A(Ar, [["render", zr]]), Vr = [
2213
+ var Yr = /*#__PURE__*/ A(zr, [["render", Jr]]), Xr = [
2137
2214
  "left",
2138
2215
  "center",
2139
2216
  "right"
2140
2217
  ];
2141
- function Hr(e) {
2218
+ function Zr(e) {
2142
2219
  if (typeof e != "object" || !e || typeof e.key != "string" || e.key === "") return null;
2143
2220
  let t = e.key;
2144
2221
  return {
@@ -2147,21 +2224,21 @@ function Hr(e) {
2147
2224
  value: typeof e.value == "function" ? e.value : (e) => e?.[t],
2148
2225
  secondary: typeof e.secondary == "function" ? e.secondary : null,
2149
2226
  muted: e.muted === !0,
2150
- align: Vr.includes(e.align) ? e.align : "left",
2227
+ align: Xr.includes(e.align) ? e.align : "left",
2151
2228
  wrap: e.wrap === !0,
2152
2229
  narrow: e.narrow === !0,
2153
2230
  visible: e.visible !== !1
2154
2231
  };
2155
2232
  }
2156
- function Ur(e) {
2233
+ function Qr(e) {
2157
2234
  return typeof e == "string" && e !== "" ? e : null;
2158
2235
  }
2159
- var Wr = {
2236
+ var $r = {
2160
2237
  components: {
2161
- Pagination: Br,
2238
+ Pagination: Yr,
2162
2239
  InfoPill: q
2163
2240
  },
2164
- mixins: [M, k],
2241
+ mixins: [N, k],
2165
2242
  props: {
2166
2243
  rows: {
2167
2244
  type: Array,
@@ -2206,7 +2283,7 @@ var Wr = {
2206
2283
  return Array.isArray(this.rows) ? this.rows : [];
2207
2284
  },
2208
2285
  visibleColumns() {
2209
- return (Array.isArray(this.columns) ? this.columns : []).map(Hr).filter((e) => e !== null && e.visible);
2286
+ return (Array.isArray(this.columns) ? this.columns : []).map(Zr).filter((e) => e !== null && e.visible);
2210
2287
  },
2211
2288
  rowStripes() {
2212
2289
  return this.normalizedRows.map((e) => this.stripeOf(e));
@@ -2225,10 +2302,10 @@ var Wr = {
2225
2302
  },
2226
2303
  badgeText() {
2227
2304
  if (this.hasRecords) {
2228
- let e = Ur(this.foundText);
2305
+ let e = Qr(this.foundText);
2229
2306
  return e === null ? null : `${e}: ${this.recordCount}`;
2230
2307
  }
2231
- return Ur(this.emptyText);
2308
+ return Qr(this.emptyText);
2232
2309
  }
2233
2310
  },
2234
2311
  methods: {
@@ -2255,22 +2332,22 @@ var Wr = {
2255
2332
  return n == null ? "" : String(n);
2256
2333
  }
2257
2334
  }
2258
- }, Gr = { class: "bb:min-w-full bb:divide-y bb:divide-gray-200 bb:border-collapse" }, Kr = { class: "bb:bg-gray-50" }, qr = ["textContent"], Jr = { class: "bb:divide-y bb:divide-gray-200" }, Yr = ["textContent"], Xr = ["textContent"];
2259
- function Zr(t, o, s, c, l, h) {
2260
- let _ = m("info-pill"), v = m("pagination");
2261
- return d(), i("div", null, [
2262
- h.hasBadgeRow() ? (d(), i("div", {
2335
+ }, ei = { class: "bb:min-w-full bb:divide-y bb:divide-gray-200 bb:border-collapse" }, ti = { class: "bb:bg-gray-50" }, ni = ["textContent"], ri = { class: "bb:divide-y bb:divide-gray-200" }, ii = ["textContent"], ai = ["textContent"];
2336
+ function oi(t, o, s, c, l, d) {
2337
+ let g = h("info-pill"), v = h("pagination");
2338
+ return f(), i("div", null, [
2339
+ d.hasBadgeRow() ? (f(), i("div", {
2263
2340
  key: 0,
2264
- class: u(["bb:flex bb:justify-center bb:items-center bb:space-x-2", h.isCard ? "" : "bb:my-4"])
2265
- }, [h.badgeText === null ? r("", !0) : (d(), n(_, {
2341
+ class: u(["bb:flex bb:justify-center bb:items-center bb:space-x-2", d.isCard ? "" : "bb:my-4"])
2342
+ }, [d.badgeText === null ? r("", !0) : (f(), n(g, {
2266
2343
  key: 0,
2267
- text: h.badgeText,
2344
+ text: d.badgeText,
2268
2345
  color: "indigo"
2269
- }, null, 8, ["text"])), h.hasRecords ? p(t.$slots, "results-actions", {}, void 0, void 0, 1) : r("", !0)], 2)) : r("", !0),
2270
- h.normalizedRows.length > 0 ? (d(), i("div", {
2346
+ }, null, 8, ["text"])), d.hasRecords ? m(t.$slots, "results-actions", {}, void 0, void 0, 1) : r("", !0)], 2)) : r("", !0),
2347
+ d.normalizedRows.length > 0 ? (f(), i("div", {
2271
2348
  key: 1,
2272
- class: u(h.isCard && h.hasBadgeRow() ? "bb:mt-4" : "")
2273
- }, [a("div", { class: u(["bb:overflow-x-auto", h.isCard ? "bb:border-t bb:border-gray-200" : "bb:shadow-sm bb:border-b bb:border-gray-200 bb:rounded-lg"]) }, [a("table", Gr, [a("thead", null, [a("tr", Kr, [(d(!0), i(e, null, f(h.visibleColumns, (e) => (d(), i("th", {
2349
+ class: u(d.isCard && d.hasBadgeRow() ? "bb:mt-4" : "")
2350
+ }, [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", ei, [a("thead", null, [a("tr", ti, [(f(!0), i(e, null, p(d.visibleColumns, (e) => (f(), i("th", {
2274
2351
  key: e.key,
2275
2352
  scope: "col",
2276
2353
  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", [{
@@ -2278,11 +2355,11 @@ function Zr(t, o, s, c, l, h) {
2278
2355
  "bb:text-center": e.align === "center",
2279
2356
  "bb:text-right": e.align === "right"
2280
2357
  }, { "bb:w-px": e.narrow }]]),
2281
- textContent: g(e.label)
2282
- }, null, 10, qr))), 128))])]), a("tbody", Jr, [(d(!0), i(e, null, f(h.normalizedRows, (n, o) => (d(), i("tr", {
2283
- key: h.keyOf(n, o),
2358
+ textContent: _(e.label)
2359
+ }, null, 10, ni))), 128))])]), a("tbody", ri, [(f(!0), i(e, null, p(d.normalizedRows, (n, o) => (f(), i("tr", {
2360
+ key: d.keyOf(n, o),
2284
2361
  class: "bb:bg-white bb:even:bg-gray-50"
2285
- }, [(d(!0), i(e, null, f(h.visibleColumns, (e, s) => (d(), i("td", {
2362
+ }, [(f(!0), i(e, null, p(d.visibleColumns, (e, s) => (f(), i("td", {
2286
2363
  key: e.key,
2287
2364
  class: u(["bb:px-6 bb:py-4 bb:align-top bb:relative bb:text-sm bb:leading-5", [
2288
2365
  { "bb:whitespace-nowrap": !e.wrap },
@@ -2293,27 +2370,27 @@ function Zr(t, o, s, c, l, h) {
2293
2370
  },
2294
2371
  { "bb:w-px": e.narrow }
2295
2372
  ]])
2296
- }, [s === 0 && h.rowStripes[o] !== null ? (d(), i("span", {
2373
+ }, [s === 0 && d.rowStripes[o] !== null ? (f(), i("span", {
2297
2374
  key: 0,
2298
- class: u(["bb:absolute bb:left-0 bb:inset-y-0 bb:w-1 bb:bg-current", t.colorClass(h.rowStripes[o], "mark")]),
2375
+ class: u(["bb:absolute bb:left-0 bb:inset-y-0 bb:w-1 bb:bg-current", t.colorClass(d.rowStripes[o], "mark")]),
2299
2376
  "aria-hidden": "true"
2300
- }, null, 2)) : r("", !0), p(t.$slots, `cell-${e.key}`, {
2377
+ }, null, 2)) : r("", !0), m(t.$slots, `cell-${e.key}`, {
2301
2378
  row: n,
2302
2379
  index: o
2303
2380
  }, () => [a("div", {
2304
2381
  class: u(["bb:font-medium", e.muted ? "bb:text-gray-400" : "bb:text-gray-900"]),
2305
- textContent: g(h.textOf(e.value, n))
2306
- }, null, 10, Yr), e.secondary !== null && h.textOf(e.secondary, n) !== "" ? (d(), i("div", {
2382
+ textContent: _(d.textOf(e.value, n))
2383
+ }, null, 10, ii), e.secondary !== null && d.textOf(e.secondary, n) !== "" ? (f(), i("div", {
2307
2384
  key: 0,
2308
2385
  class: "bb:text-gray-400",
2309
- textContent: g(h.textOf(e.secondary, n))
2310
- }, null, 8, Xr)) : r("", !0)])], 2))), 128))]))), 128))])])], 2)], 2)) : r("", !0),
2311
- h.hasMeta ? (d(), n(v, {
2386
+ textContent: _(d.textOf(e.secondary, n))
2387
+ }, null, 8, ai)) : r("", !0)])], 2))), 128))]))), 128))])])], 2)], 2)) : r("", !0),
2388
+ d.hasMeta ? (f(), n(v, {
2312
2389
  key: 2,
2313
2390
  meta: s.meta,
2314
2391
  links: s.links ?? {},
2315
2392
  lang: t.lang,
2316
- class: u(h.isCard ? "bb:mt-4" : "bb:mt-6")
2393
+ class: u(d.isCard ? "bb:mt-4" : "bb:mt-6")
2317
2394
  }, null, 8, [
2318
2395
  "meta",
2319
2396
  "links",
@@ -2322,7 +2399,7 @@ function Zr(t, o, s, c, l, h) {
2322
2399
  ])) : r("", !0)
2323
2400
  ]);
2324
2401
  }
2325
- var Qr = /*#__PURE__*/ A(Wr, [["render", Zr]]), $r = {
2402
+ var si = /*#__PURE__*/ A($r, [["render", oi]]), ci = {
2326
2403
  mixins: [X],
2327
2404
  props: {
2328
2405
  url: {
@@ -2338,17 +2415,17 @@ var Qr = /*#__PURE__*/ A(Wr, [["render", Zr]]), $r = {
2338
2415
  default: !1
2339
2416
  }
2340
2417
  }
2341
- }, ei = ["href", "textContent"];
2342
- function ti(e, t, n, r, a, o) {
2343
- return d(), i("a", {
2418
+ }, li = ["href", "textContent"];
2419
+ function ui(e, t, n, r, a, o) {
2420
+ return f(), i("a", {
2344
2421
  href: n.url,
2345
2422
  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"]),
2346
2423
  onClick: t[0] ||= (t) => e.followLink(t, n.url),
2347
- textContent: g(n.name)
2348
- }, null, 10, ei);
2424
+ textContent: _(n.name)
2425
+ }, null, 10, li);
2349
2426
  }
2350
- var ni = /*#__PURE__*/ A($r, [["render", ti]]), ri = {
2351
- mixins: [M, X],
2427
+ var di = /*#__PURE__*/ A(ci, [["render", ui]]), fi = {
2428
+ mixins: [N, X],
2352
2429
  props: {
2353
2430
  tabs: {
2354
2431
  type: Array,
@@ -2362,38 +2439,38 @@ var ni = /*#__PURE__*/ A($r, [["render", ti]]), ri = {
2362
2439
  computed: { tabList() {
2363
2440
  return Array.isArray(this.tabs) ? this.tabs.filter((e) => typeof e == "object" && !!e) : [];
2364
2441
  } }
2365
- }, ii = ["aria-label"], ai = [
2442
+ }, pi = ["aria-label"], mi = [
2366
2443
  "href",
2367
2444
  "aria-current",
2368
2445
  "onClick",
2369
2446
  "textContent"
2370
2447
  ];
2371
- function oi(t, n, r, a, o, s) {
2372
- return d(), i("nav", {
2448
+ function hi(t, n, r, a, o, s) {
2449
+ return f(), i("nav", {
2373
2450
  class: "bb-dashboard-ui bb:flex bb:space-x-4",
2374
2451
  "aria-label": t.texts.tabs
2375
- }, [(d(!0), i(e, null, f(s.tabList, (e) => (d(), i("a", {
2452
+ }, [(f(!0), i(e, null, p(s.tabList, (e) => (f(), i("a", {
2376
2453
  key: e.key,
2377
2454
  href: e.url,
2378
2455
  "aria-current": e.key === r.activeKey ? "page" : null,
2379
2456
  class: u(["bb:px-3 bb:py-2 bb:font-medium bb:text-sm bb:rounded-md", e.key === r.activeKey ? "bb:bg-indigo-100 bb:text-gray-700" : "bb:text-gray-500 bb:hover:text-gray-700"]),
2380
2457
  onClick: (n) => t.followLink(n, e.url),
2381
- textContent: g(e.name)
2382
- }, null, 10, ai))), 128))], 8, ii);
2458
+ textContent: _(e.name)
2459
+ }, null, 10, mi))), 128))], 8, pi);
2383
2460
  }
2384
- var si = /*#__PURE__*/ A(ri, [["render", oi]]), ci = [
2461
+ var gi = /*#__PURE__*/ A(fi, [["render", hi]]), _i = [
2385
2462
  "xl",
2386
2463
  "4xl",
2387
2464
  "7xl"
2388
- ], li = {
2389
- components: { CrossButton: N },
2390
- mixins: [M],
2465
+ ], vi = {
2466
+ components: { CrossButton: P },
2467
+ mixins: [N],
2391
2468
  inheritAttrs: !1,
2392
2469
  props: {
2393
2470
  width: {
2394
2471
  type: String,
2395
2472
  default: "xl",
2396
- validator: (e) => ci.includes(e)
2473
+ validator: (e) => _i.includes(e)
2397
2474
  },
2398
2475
  fallbackUrl: {
2399
2476
  type: String,
@@ -2409,13 +2486,13 @@ var si = /*#__PURE__*/ A(ri, [["render", oi]]), ci = [
2409
2486
  },
2410
2487
  computed: {
2411
2488
  resolvedWidth() {
2412
- return ci.includes(this.width) ? this.width : "xl";
2489
+ return _i.includes(this.width) ? this.width : "xl";
2413
2490
  },
2414
2491
  windows() {
2415
2492
  return this.uiSettings.windows;
2416
2493
  },
2417
2494
  resolvedKey() {
2418
- return this.windowKey !== null && this.windowKey !== "" ? this.windowKey : this.windows === null ? null : ae(this.windows.page.address);
2495
+ return this.windowKey !== null && this.windowKey !== "" ? this.windowKey : this.windows === null ? null : se(this.windows.page.address);
2419
2496
  },
2420
2497
  target() {
2421
2498
  return this.returnAddress === null ? this.fallbackUrl === null || this.fallbackUrl === "" ? null : this.fallbackUrl : this.returnAddress;
@@ -2425,23 +2502,23 @@ var si = /*#__PURE__*/ A(ri, [["render", oi]]), ci = [
2425
2502
  }
2426
2503
  },
2427
2504
  watch: { fallbackUrl() {
2428
- this.windows !== null && me(this.windows.state, this, this.fallbackAddress());
2505
+ this.windows !== null && ge(this.windows.state, this, this.fallbackAddress());
2429
2506
  } },
2430
2507
  mounted() {
2431
2508
  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" }));
2432
2509
  },
2433
2510
  beforeUnmount() {
2434
- this.windows !== null && pe(this.windows.state, this);
2511
+ this.windows !== null && he(this.windows.state, this);
2435
2512
  },
2436
2513
  methods: {
2437
2514
  fallbackAddress() {
2438
- return w(this.fallbackUrl, window.location.origin);
2515
+ return oe(this.fallbackUrl, window.location.origin);
2439
2516
  },
2440
2517
  forwardedAttrs() {
2441
2518
  return Object.fromEntries(Object.entries(this.$attrs).filter(([e]) => e.startsWith("data-") || e.startsWith("aria-")));
2442
2519
  },
2443
2520
  syncWindow() {
2444
- let e = fe(this.windows.state, this, this.resolvedKey, this.fallbackAddress());
2521
+ let e = me(this.windows.state, this, this.resolvedKey, this.fallbackAddress());
2445
2522
  e.rejected && console.warn(`PageCard: ключ окна сменился на «${this.resolvedKey}» без смены страницы — карточка остаётся в окне «${e.key}»`), this.returnAddress = e.window.returnAddress;
2446
2523
  },
2447
2524
  close() {
@@ -2456,39 +2533,39 @@ var si = /*#__PURE__*/ A(ri, [["render", oi]]), ci = [
2456
2533
  }
2457
2534
  }
2458
2535
  };
2459
- function ui(e, t, a, s, c, f) {
2460
- let h = m("cross-button");
2461
- return d(), i("div", l({
2536
+ function yi(e, t, a, s, c, d) {
2537
+ let p = h("cross-button");
2538
+ return f(), i("div", l({
2462
2539
  class: ["bb:box-border bb:relative bb:my-6 bb:mx-auto bb:bg-white bb:shadow-xl bb:rounded-lg", [
2463
2540
  {
2464
- "bb:max-w-xl": f.resolvedWidth === "xl",
2465
- "bb:max-w-4xl": f.resolvedWidth === "4xl",
2466
- "bb:max-w-7xl": f.resolvedWidth === "7xl"
2541
+ "bb:max-w-xl": d.resolvedWidth === "xl",
2542
+ "bb:max-w-4xl": d.resolvedWidth === "4xl",
2543
+ "bb:max-w-7xl": d.resolvedWidth === "7xl"
2467
2544
  },
2468
- f.canClose ? {
2469
- "bb:[--bb-closer-space:3.5rem] bb:md:[--bb-closer-space:0px]": f.resolvedWidth === "xl",
2470
- "bb:[--bb-closer-space:3.5rem] bb:lg:[--bb-closer-space:0px]": f.resolvedWidth === "4xl",
2471
- "bb:[--bb-closer-space:3.5rem] bb:2xl:[--bb-closer-space:0px]": f.resolvedWidth === "7xl"
2545
+ d.canClose ? {
2546
+ "bb:[--bb-closer-space:3.5rem] bb:md:[--bb-closer-space:0px]": d.resolvedWidth === "xl",
2547
+ "bb:[--bb-closer-space:3.5rem] bb:lg:[--bb-closer-space:0px]": d.resolvedWidth === "4xl",
2548
+ "bb:[--bb-closer-space:3.5rem] bb:2xl:[--bb-closer-space:0px]": d.resolvedWidth === "7xl"
2472
2549
  } : "bb:[--bb-closer-space:0px]",
2473
2550
  e.$attrs.class
2474
2551
  ]],
2475
2552
  style: e.$attrs.style
2476
- }, { ...f.forwardedAttrs() }), [p(e.$slots, "default", { close: f.close }), f.canClose ? (d(), n(h, {
2553
+ }, { ...d.forwardedAttrs() }), [m(e.$slots, "default", { close: d.close }), d.canClose ? (f(), n(p, {
2477
2554
  key: 0,
2478
2555
  size: "large",
2479
2556
  class: u(["bb:absolute bb:top-0 bb:right-0 bb:mt-6 bb:mr-4 bb:w-8 bb:h-8 bb:rounded-md bb:focus-visible:ring-2 bb:focus-visible:ring-indigo-500", {
2480
- "bb:md:right-auto bb:md:left-full bb:md:mr-0 bb:md:ml-4": f.resolvedWidth === "xl",
2481
- "bb:lg:right-auto bb:lg:left-full bb:lg:mr-0 bb:lg:ml-4": f.resolvedWidth === "4xl",
2482
- "bb:2xl:right-auto bb:2xl:left-full bb:2xl:mr-0 bb:2xl:ml-4": f.resolvedWidth === "7xl"
2557
+ "bb:md:right-auto bb:md:left-full bb:md:mr-0 bb:md:ml-4": d.resolvedWidth === "xl",
2558
+ "bb:lg:right-auto bb:lg:left-full bb:lg:mr-0 bb:lg:ml-4": d.resolvedWidth === "4xl",
2559
+ "bb:2xl:right-auto bb:2xl:left-full bb:2xl:mr-0 bb:2xl:ml-4": d.resolvedWidth === "7xl"
2483
2560
  }]),
2484
2561
  tabindex: "0",
2485
- onClicked: f.close
2562
+ onClicked: d.close
2486
2563
  }, {
2487
- default: b(() => [o(g(e.texts.back), 1)]),
2564
+ default: b(() => [o(_(e.texts.back), 1)]),
2488
2565
  _: 1
2489
2566
  }, 8, ["class", "onClicked"])) : r("", !0)], 16);
2490
2567
  }
2491
- var di = /*#__PURE__*/ A(li, [["render", ui]]), fi = {}, pi = {
2568
+ var bi = /*#__PURE__*/ A(vi, [["render", yi]]), xi = {}, Si = {
2492
2569
  class: "bb:h-7 bb:w-7 bb:text-green-600",
2493
2570
  xmlns: "http://www.w3.org/2000/svg",
2494
2571
  fill: "none",
@@ -2497,22 +2574,22 @@ var di = /*#__PURE__*/ A(li, [["render", ui]]), fi = {}, pi = {
2497
2574
  stroke: "currentColor",
2498
2575
  "aria-hidden": "true"
2499
2576
  };
2500
- function mi(e, t, n, r, o, s) {
2501
- return d(), i("svg", pi, [...t[0] ||= [a("path", {
2577
+ function Ci(e, t, n, r, o, s) {
2578
+ return f(), i("svg", Si, [...t[0] ||= [a("path", {
2502
2579
  "stroke-linecap": "round",
2503
2580
  "stroke-linejoin": "round",
2504
2581
  d: "M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"
2505
2582
  }, null, -1)]]);
2506
2583
  }
2507
- var hi = /*#__PURE__*/ A(fi, [["render", mi]]), gi = {}, _i = {
2584
+ var wi = /*#__PURE__*/ A(xi, [["render", Ci]]), Ti = {}, Ei = {
2508
2585
  class: "bb:h-5 bb:w-5",
2509
2586
  xmlns: "http://www.w3.org/2000/svg",
2510
2587
  viewBox: "0 0 20 20",
2511
2588
  fill: "currentColor",
2512
2589
  "aria-hidden": "true"
2513
2590
  };
2514
- function vi(e, t, n, r, o, s) {
2515
- return d(), i("svg", _i, [...t[0] ||= [a("path", {
2591
+ function Di(e, t, n, r, o, s) {
2592
+ return f(), i("svg", Ei, [...t[0] ||= [a("path", {
2516
2593
  "fill-rule": "evenodd",
2517
2594
  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",
2518
2595
  "clip-rule": "evenodd"
@@ -2520,14 +2597,14 @@ function vi(e, t, n, r, o, s) {
2520
2597
  }
2521
2598
  //#endregion
2522
2599
  //#region src/components/NotificationMessage.vue
2523
- var yi = {
2600
+ var Oi = {
2524
2601
  components: {
2525
- Check: hi,
2526
- Close: /* @__PURE__ */ A(gi, [["render", vi]]),
2527
- Dangerous: Y,
2528
- Warning: Hn
2602
+ Check: wi,
2603
+ Close: /* @__PURE__ */ A(Ti, [["render", Di]]),
2604
+ Dangerous: qn,
2605
+ Warning: Zn
2529
2606
  },
2530
- mixins: [M],
2607
+ mixins: [N],
2531
2608
  emits: ["update:modelValue"],
2532
2609
  props: {
2533
2610
  modelValue: {
@@ -2565,38 +2642,38 @@ var yi = {
2565
2642
  return this.type === "confirmation";
2566
2643
  }
2567
2644
  }
2568
- }, bi = ["role"], xi = { class: "bb:p-4" }, Si = { class: "bb:flex bb:items-start" }, Ci = { class: "bb:shrink-0" }, wi = { class: "bb:ml-3 bb:w-0 bb:flex-1 bb:pt-0.5" }, Ti = { class: "bb:text-sm bb:font-medium bb:text-gray-900" }, Ei = { class: "bb:mt-1 bb:text-sm bb:text-gray-500" }, Di = { class: "bb:ml-4 bb:shrink-0 bb:flex" }, Oi = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
2569
- function ki(e, t, o, c, l, f) {
2570
- let p = m("warning"), h = m("dangerous"), _ = m("check"), v = m("close");
2571
- return d(), i("div", {
2645
+ }, ki = ["role"], Ai = { class: "bb:p-4" }, ji = { class: "bb:flex bb:items-start" }, Mi = { class: "bb:shrink-0" }, Ni = { class: "bb:ml-3 bb:w-0 bb:flex-1 bb:pt-0.5" }, Pi = { class: "bb:text-sm bb:font-medium bb:text-gray-900" }, Fi = { class: "bb:mt-1 bb:text-sm bb:text-gray-500" }, Ii = { class: "bb:ml-4 bb:shrink-0 bb:flex" }, Li = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
2646
+ function Ri(e, t, o, c, l, d) {
2647
+ let p = h("warning"), m = h("dangerous"), g = h("check"), v = h("close");
2648
+ return f(), i("div", {
2572
2649
  class: "bb-dashboard-ui bb:fixed bb:inset-0 bb:flex bb:items-start bb:justify-end bb:p-6 bb:pointer-events-none",
2573
- role: f.isDangerous ? "alert" : "status"
2574
- }, [f.hasMessage ? (d(), i("div", {
2650
+ role: d.isDangerous ? "alert" : "status"
2651
+ }, [d.hasMessage ? (f(), i("div", {
2575
2652
  key: 0,
2576
2653
  class: u(["bb:max-w-sm bb:w-full bb:shadow-lg bb:rounded-lg bb:pointer-events-auto bb:ring-1 bb:ring-black/5 bb:overflow-hidden", {
2577
- "bb:bg-red-50": f.isDangerous,
2578
- "bb:bg-yellow-50": f.isWarning,
2579
- "bb:bg-gray-50": f.isConfirmation
2654
+ "bb:bg-red-50": d.isDangerous,
2655
+ "bb:bg-yellow-50": d.isWarning,
2656
+ "bb:bg-gray-50": d.isConfirmation
2580
2657
  }])
2581
- }, [a("div", xi, [a("div", Si, [
2582
- a("div", Ci, [
2583
- f.isWarning ? (d(), n(p, { key: 0 })) : r("", !0),
2584
- f.isDangerous ? (d(), n(h, { key: 1 })) : r("", !0),
2585
- f.isConfirmation ? (d(), n(_, { key: 2 })) : r("", !0)
2658
+ }, [a("div", Ai, [a("div", ji, [
2659
+ a("div", Mi, [
2660
+ d.isWarning ? (f(), n(p, { key: 0 })) : r("", !0),
2661
+ d.isDangerous ? (f(), n(m, { key: 1 })) : r("", !0),
2662
+ d.isConfirmation ? (f(), n(g, { key: 2 })) : r("", !0)
2586
2663
  ]),
2587
- a("div", wi, [a("p", Ti, g(o.notificationHeading), 1), a("p", Ei, g(f.text), 1)]),
2588
- a("div", Di, [a("button", {
2664
+ a("div", Ni, [a("p", Pi, _(o.notificationHeading), 1), a("p", Fi, _(d.text), 1)]),
2665
+ a("div", Ii, [a("button", {
2589
2666
  type: "button",
2590
2667
  class: u(["bb:rounded-md bb:inline-flex bb:text-gray-400 bb:hover:text-gray-500 bb:focus:outline-hidden bb:focus:ring-2 bb:focus:ring-offset-2 bb:focus:ring-indigo-500", {
2591
- "bb:bg-red-50": f.isDangerous,
2592
- "bb:bg-yellow-50": f.isWarning,
2593
- "bb:bg-gray-50": f.isConfirmation
2668
+ "bb:bg-red-50": d.isDangerous,
2669
+ "bb:bg-yellow-50": d.isWarning,
2670
+ "bb:bg-gray-50": d.isConfirmation
2594
2671
  }]),
2595
2672
  onClick: t[0] ||= S((t) => e.$emit("update:modelValue", ""), ["prevent"])
2596
- }, [a("span", Oi, g(e.texts.close), 1), s(v, { class: "bb:pointer-events-none bb:cursor-default" })], 2)])
2597
- ])])], 2)) : r("", !0)], 8, bi);
2673
+ }, [a("span", Li, _(e.texts.close), 1), s(v, { class: "bb:pointer-events-none bb:cursor-default" })], 2)])
2674
+ ])])], 2)) : r("", !0)], 8, ki);
2598
2675
  }
2599
- var Ai = /*#__PURE__*/ A(yi, [["render", ki]]), ji = {}, Mi = {
2676
+ var zi = /*#__PURE__*/ A(Oi, [["render", Ri]]), Bi = {}, Vi = {
2600
2677
  class: "bb:h-5 bb:w-5",
2601
2678
  xmlns: "http://www.w3.org/2000/svg",
2602
2679
  fill: "none",
@@ -2605,8 +2682,8 @@ var Ai = /*#__PURE__*/ A(yi, [["render", ki]]), ji = {}, Mi = {
2605
2682
  "stroke-width": "2",
2606
2683
  "aria-hidden": "true"
2607
2684
  };
2608
- function Ni(e, t, n, r, o, s) {
2609
- return d(), i("svg", Mi, [...t[0] ||= [a("path", {
2685
+ function Hi(e, t, n, r, o, s) {
2686
+ return f(), i("svg", Vi, [...t[0] ||= [a("path", {
2610
2687
  "stroke-linecap": "round",
2611
2688
  "stroke-linejoin": "round",
2612
2689
  d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z"
@@ -2616,12 +2693,12 @@ function Ni(e, t, n, r, o, s) {
2616
2693
  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"
2617
2694
  }, null, -1)]]);
2618
2695
  }
2619
- var Pi = /*#__PURE__*/ A(ji, [["render", Ni]]), Q = 0, $ = null, Fi = {
2696
+ var Ui = /*#__PURE__*/ A(Bi, [["render", Hi]]), Q = 0, $ = null, Wi = {
2620
2697
  components: {
2621
2698
  PopoverPanel: H,
2622
- Eye: Pi
2699
+ Eye: Ui
2623
2700
  },
2624
- mixins: [M],
2701
+ mixins: [N],
2625
2702
  emits: ["update:modelValue"],
2626
2703
  props: {
2627
2704
  text: {
@@ -2664,10 +2741,10 @@ var Pi = /*#__PURE__*/ A(ji, [["render", Ni]]), Q = 0, $ = null, Fi = {
2664
2741
  this.holdsPageSelectionLock && (this.holdsPageSelectionLock = !1, --Q, Q === 0 && (Object.assign(document.documentElement.style, $), $ = null));
2665
2742
  }
2666
2743
  }
2667
- }, Ii = ["id", "popovertarget"], Li = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
2668
- function Ri(e, t, r, i, c, l) {
2669
- let u = m("eye"), f = m("popover-panel");
2670
- return d(), n(f, {
2744
+ }, Gi = ["id", "popovertarget"], Ki = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
2745
+ function qi(e, t, r, i, c, l) {
2746
+ let u = h("eye"), d = h("popover-panel");
2747
+ return f(), n(d, {
2671
2748
  class: "bb-dashboard-ui bb:inline-flex",
2672
2749
  "has-content": !l.isEmpty,
2673
2750
  "model-value": r.modelValue,
@@ -2685,8 +2762,8 @@ function Ri(e, t, r, i, c, l) {
2685
2762
  id: t.id,
2686
2763
  popovertarget: t.popovertarget,
2687
2764
  class: "bb:relative bb:text-gray-400 bb:hover:text-gray-600 bb:rounded-md bb:focus:outline-hidden bb:focus-visible:ring-2 bb:focus-visible:ring-indigo-500"
2688
- }, [a("span", Li, g(e.texts.showText), 1), s(u, { class: "bb:pointer-events-none bb:cursor-default" })], 8, Ii)]),
2689
- default: b(() => [o(g(l.normalizedText), 1)]),
2765
+ }, [a("span", Ki, _(e.texts.showText), 1), s(u, { class: "bb:pointer-events-none bb:cursor-default" })], 8, Gi)]),
2766
+ default: b(() => [o(_(l.normalizedText), 1)]),
2690
2767
  _: 1
2691
2768
  }, 8, [
2692
2769
  "has-content",
@@ -2695,6 +2772,6 @@ function Ri(e, t, r, i, c, l) {
2695
2772
  "onToggle"
2696
2773
  ]);
2697
2774
  }
2698
- var zi = /*#__PURE__*/ A(Fi, [["render", Ri]]);
2775
+ var Ji = /*#__PURE__*/ A(Wi, [["render", qi]]);
2699
2776
  //#endregion
2700
- export { On as ActionPill, Qn as ConfirmationModal, Qr as DataTable, Oe as Dot, gr as DropdownButtonWithAction, un as ErrorMessages, xr as HamburgerMenu, q as InfoPill, ni as NavigationMenuElement, Ai as NotificationMessage, di as PageCard, si as PageTabs, Ze as RussianMobileFilter, it as Search, Ft as SelectDateInterval, $t as SelectSingle, zi as TextPopover, ve as dashboardUi, Se as downloadFile };
2777
+ export { In as ActionPill, sr as ConfirmationModal, si as DataTable, j as Dot, wr as DropdownButtonWithAction, fn as ErrorMessages, vn as FormInput, kr as HamburgerMenu, q as InfoPill, di as NavigationMenuElement, zi as NotificationMessage, bi as PageCard, gi as PageTabs, Qe as RussianMobileFilter, at as Search, Lt as SelectDateInterval, tn as SelectSingle, Ji as TextPopover, be as dashboardUi, we as downloadFile };