@boobooking/dashboard-ui-components 0.19.0 → 0.20.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
@@ -117,15 +117,15 @@ var ae = {
117
117
  };
118
118
  //#endregion
119
119
  //#region src/windows.js
120
- function T(e, t) {
120
+ function oe(e, t) {
121
121
  if (e == null || e === "") return null;
122
122
  let n = new URL(String(e), t);
123
123
  return n.pathname + n.search;
124
124
  }
125
- function oe(e) {
125
+ function se(e) {
126
126
  return e === null ? null : e.split("?")[0];
127
127
  }
128
- function se() {
128
+ function ce() {
129
129
  return {
130
130
  windows: [],
131
131
  cards: /* @__PURE__ */ new Map(),
@@ -139,36 +139,36 @@ function se() {
139
139
  nextId: 1
140
140
  };
141
141
  }
142
- function E(e, t) {
142
+ function T(e, t) {
143
143
  return e.windows.includes(t);
144
144
  }
145
- function ce(e) {
145
+ function le(e) {
146
146
  return e.returnAddress ?? e.fallbackAddress;
147
147
  }
148
- function le(e) {
148
+ function ue(e) {
149
149
  let t = null;
150
150
  for (let n of e.cards.values()) t = n.window;
151
151
  return t;
152
152
  }
153
- function D(e, t) {
153
+ function E(e, t) {
154
154
  let n = t;
155
- for (; n !== null && !E(e, n);) n = n.parent;
155
+ for (; n !== null && !T(e, n);) n = n.parent;
156
156
  return n;
157
157
  }
158
- function ue(e, t) {
158
+ function de(e, t) {
159
159
  return e.transition = {
160
160
  number: e.transition.number + 1,
161
161
  fromAddress: e.shown,
162
- fromWindow: le(e),
162
+ fromWindow: ue(e),
163
163
  assigned: /* @__PURE__ */ new Map()
164
164
  }, e.shown = t, e.transition.number;
165
165
  }
166
- function de(e, t, n) {
166
+ function fe(e, t, n) {
167
167
  let r = e.transition, i = r.assigned.get(t);
168
- if (i !== void 0 && E(e, i)) return i;
168
+ if (i !== void 0 && T(e, i)) return i;
169
169
  let a = r.fromWindow, o = r.fromAddress;
170
- a !== null && !E(e, a) && (a = D(e, a), o = null), a !== null && ce(a) === e.shown && (e.windows.splice(e.windows.indexOf(a)), a = a.parent === null ? null : D(e, a.parent), o = null);
171
- for (let n = a; n !== null; n = n.parent) if (n.key === t && E(e, n)) return e.windows.splice(e.windows.indexOf(n) + 1), n;
170
+ a !== null && !T(e, a) && (a = E(e, a), o = null), a !== null && le(a) === e.shown && (e.windows.splice(e.windows.indexOf(a)), a = a.parent === null ? null : E(e, a.parent), o = null);
171
+ for (let n = a; n !== null; n = n.parent) if (n.key === t && T(e, n)) return e.windows.splice(e.windows.indexOf(n) + 1), n;
172
172
  a === null ? e.windows = [] : e.windows.splice(e.windows.indexOf(a) + 1);
173
173
  let s = {
174
174
  id: e.nextId,
@@ -179,18 +179,18 @@ function de(e, t, n) {
179
179
  };
180
180
  return e.nextId += 1, e.windows.push(s), s;
181
181
  }
182
- function O(e, t, n, r) {
183
- let i = de(e, n, r);
182
+ function D(e, t, n, r) {
183
+ let i = fe(e, n, r);
184
184
  return i.fallbackAddress = r, e.transition.assigned.set(n, i), e.cards.delete(t), e.cards.set(t, {
185
185
  key: n,
186
186
  window: i,
187
187
  processed: e.transition.number
188
188
  }), i;
189
189
  }
190
- function fe(e, t, n, r) {
190
+ function pe(e, t, n, r) {
191
191
  let i = e.cards.get(t);
192
192
  return i === void 0 ? {
193
- window: O(e, t, n, r),
193
+ window: D(e, t, n, r),
194
194
  rejected: !1,
195
195
  key: n
196
196
  } : i.key === n ? (i.processed = e.transition.number, {
@@ -202,37 +202,37 @@ function fe(e, t, n, r) {
202
202
  rejected: !0,
203
203
  key: i.key
204
204
  } : (e.cards.delete(t), {
205
- window: O(e, t, n, r),
205
+ window: D(e, t, n, r),
206
206
  rejected: !1,
207
207
  key: n
208
208
  });
209
209
  }
210
- function pe(e, t) {
210
+ function me(e, t) {
211
211
  e.cards.delete(t);
212
212
  }
213
- function me(e, t, n) {
213
+ function he(e, t, n) {
214
214
  let r = e.cards.get(t);
215
215
  r !== void 0 && (r.window.fallbackAddress = n);
216
216
  }
217
217
  //#endregion
218
218
  //#region src/plugin.js
219
- var k = Symbol("dashboardUi"), he = Object.freeze({
219
+ var ge = Symbol("dashboardUi"), _e = Object.freeze({
220
220
  lang: "ru",
221
221
  navigate: null,
222
222
  windows: null
223
- }), A = { uiSettings: {
224
- from: k,
225
- default: () => he
223
+ }), O = { uiSettings: {
224
+ from: ge,
225
+ default: () => _e
226
226
  } };
227
- function ge(e, t) {
228
- let n = se(), r = g({
227
+ function ve(e, t) {
228
+ let n = ce(), r = g({
229
229
  number: 0,
230
230
  address: null
231
231
  }), i = c(!0);
232
232
  return i.run(() => {
233
233
  ne(t, (e) => {
234
- let t = T(e, window.location.origin);
235
- t !== null && t !== r.address && (r.number = ue(n, t), r.address = t);
234
+ let t = oe(e, window.location.origin);
235
+ t !== null && t !== r.address && (r.number = de(n, t), r.address = t);
236
236
  }, {
237
237
  flush: "sync",
238
238
  immediate: !0
@@ -242,21 +242,21 @@ function ge(e, t) {
242
242
  page: r
243
243
  };
244
244
  }
245
- var _e = { install(e, t) {
245
+ var ye = { install(e, t) {
246
246
  let n = t ?? {}, r = Object.hasOwn(n, "lang") ? n.lang : "ru";
247
247
  if (!w(r)) throw Error(`dashboardUi: неизвестный lang «${r}», допустимы: ${ie.join(", ")}`);
248
248
  let i = Object.hasOwn(n, "navigate"), a = i ? n.navigate : null;
249
249
  if (i && typeof a != "function") throw Error("dashboardUi: navigate должен быть функцией (href) => …");
250
250
  let o = Object.hasOwn(n, "currentUrl"), s = o ? n.currentUrl : null;
251
251
  if (o && typeof s != "function") throw Error("dashboardUi: currentUrl должен быть функцией () => адрес страницы");
252
- let c = s !== null && typeof window < "u" ? ge(e, s) : null;
253
- e.provide(k, Object.freeze({
252
+ let c = s !== null && typeof window < "u" ? ve(e, s) : null;
253
+ e.provide(ge, Object.freeze({
254
254
  lang: r,
255
255
  navigate: a,
256
256
  windows: c
257
257
  }));
258
- } }, ve = 4e4;
259
- function ye(e) {
258
+ } }, be = 4e4;
259
+ function xe(e) {
260
260
  if (typeof e != "string") return null;
261
261
  let t = /filename\*\s*=\s*UTF-8''([^;]+)/i.exec(e);
262
262
  if (t !== null) try {
@@ -267,7 +267,7 @@ function ye(e) {
267
267
  let r = /filename\s*=\s*([^;"\s]+)/i.exec(e);
268
268
  return r === null ? null : r[1];
269
269
  }
270
- function be(e) {
270
+ function Se(e) {
271
271
  try {
272
272
  let t = new URL(e, window.location.href).pathname.split("/").filter((e) => e !== "");
273
273
  return t.length === 0 ? null : decodeURIComponent(t[t.length - 1]);
@@ -275,7 +275,7 @@ function be(e) {
275
275
  return null;
276
276
  }
277
277
  }
278
- async function xe(e) {
278
+ async function Ce(e) {
279
279
  let t = await fetch(e, { credentials: "same-origin" });
280
280
  if (t.redirected) throw Object.assign(/* @__PURE__ */ Error(`downloadFile: сервер перенаправил запрос ${e}`), {
281
281
  redirectUrl: t.url,
@@ -285,67 +285,67 @@ async function xe(e) {
285
285
  redirectUrl: null,
286
286
  status: t.status
287
287
  });
288
- let n = ye(t.headers.get("Content-Disposition")) ?? be(e) ?? "download", r = URL.createObjectURL(await t.blob()), i = document.createElement("a");
289
- i.href = r, i.download = n, i.style.display = "none", document.body.appendChild(i), i.click(), i.remove(), setTimeout(() => URL.revokeObjectURL(r), ve);
288
+ let n = xe(t.headers.get("Content-Disposition")) ?? Se(e) ?? "download", r = URL.createObjectURL(await t.blob()), i = document.createElement("a");
289
+ i.href = r, i.download = n, i.style.display = "none", document.body.appendChild(i), i.click(), i.remove(), setTimeout(() => URL.revokeObjectURL(r), be);
290
290
  }
291
291
  //#endregion
292
292
  //#region src/colors.js
293
- var Se = {
293
+ var k = {
294
294
  gray: {
295
295
  pill: "bb:bg-gray-100 bb:text-gray-800",
296
296
  pillHover: "bb:hover:text-gray-600",
297
297
  button: "bb:bg-gray-100 bb:border-gray-300 bb:text-gray-800 bb:hover:bg-gray-200",
298
- menuItem: "bb:text-gray-800 bb:focus:bg-gray-100",
298
+ menuItem: "bb:bg-gray-100 bb:text-gray-800 bb:hover:bg-gray-200 bb:focus:bg-gray-200",
299
299
  mark: "bb:text-gray-500"
300
300
  },
301
301
  green: {
302
302
  pill: "bb:bg-green-100 bb:text-green-800",
303
303
  pillHover: "bb:hover:text-green-600",
304
304
  button: "bb:bg-green-100 bb:border-green-300 bb:text-green-800 bb:hover:bg-green-200",
305
- menuItem: "bb:text-green-800 bb:focus:bg-green-100",
305
+ menuItem: "bb:bg-green-100 bb:text-green-800 bb:hover:bg-green-200 bb:focus:bg-green-200",
306
306
  mark: "bb:text-green-500"
307
307
  },
308
308
  yellow: {
309
309
  pill: "bb:bg-yellow-100 bb:text-yellow-800",
310
310
  pillHover: "bb:hover:text-yellow-600",
311
311
  button: "bb:bg-yellow-100 bb:border-yellow-300 bb:text-yellow-800 bb:hover:bg-yellow-200",
312
- menuItem: "bb:text-yellow-800 bb:focus:bg-yellow-100",
312
+ menuItem: "bb:bg-yellow-100 bb:text-yellow-800 bb:hover:bg-yellow-200 bb:focus:bg-yellow-200",
313
313
  mark: "bb:text-yellow-500"
314
314
  },
315
315
  red: {
316
316
  pill: "bb:bg-red-100 bb:text-red-800",
317
317
  pillHover: "bb:hover:text-red-600",
318
318
  button: "bb:bg-red-100 bb:border-red-300 bb:text-red-800 bb:hover:bg-red-200",
319
- menuItem: "bb:text-red-800 bb:focus:bg-red-100",
319
+ menuItem: "bb:bg-red-100 bb:text-red-800 bb:hover:bg-red-200 bb:focus:bg-red-200",
320
320
  mark: "bb:text-red-500"
321
321
  },
322
322
  indigo: {
323
323
  pill: "bb:bg-indigo-100 bb:text-indigo-800",
324
324
  pillHover: "bb:hover:text-indigo-600",
325
325
  button: "bb:bg-indigo-100 bb:border-indigo-300 bb:text-indigo-800 bb:hover:bg-indigo-200",
326
- menuItem: "bb:text-indigo-800 bb:focus:bg-indigo-100",
326
+ menuItem: "bb:bg-indigo-100 bb:text-indigo-800 bb:hover:bg-indigo-200 bb:focus:bg-indigo-200",
327
327
  mark: "bb:text-indigo-500"
328
328
  },
329
329
  purple: {
330
330
  pill: "bb:bg-purple-100 bb:text-purple-800",
331
331
  pillHover: "bb:hover:text-purple-600",
332
332
  button: "bb:bg-purple-100 bb:border-purple-300 bb:text-purple-800 bb:hover:bg-purple-200",
333
- menuItem: "bb:text-purple-800 bb:focus:bg-purple-100",
333
+ menuItem: "bb:bg-purple-100 bb:text-purple-800 bb:hover:bg-purple-200 bb:focus:bg-purple-200",
334
334
  mark: "bb:text-purple-500"
335
335
  }
336
- }, Ce = Object.keys(Se);
337
- function j(e) {
338
- return Ce.includes(e);
336
+ }, we = Object.keys(k);
337
+ function A(e) {
338
+ return we.includes(e);
339
339
  }
340
- function we(e, t) {
341
- return j(e) ? Se[e][t] ?? "" : "";
340
+ function Te(e, t) {
341
+ return A(e) ? k[e][t] ?? "" : "";
342
342
  }
343
- var M = { methods: { colorClass: we } }, N = (e, t) => {
343
+ var j = { methods: { colorClass: Te } }, M = (e, t) => {
344
344
  let n = e.__vccOpts || e;
345
345
  for (let [e, r] of t) n[e] = r;
346
346
  return n;
347
- }, Te = {
348
- mixins: [M],
347
+ }, Ee = {
348
+ mixins: [j],
349
349
  props: {
350
350
  withPulse: {
351
351
  type: Boolean,
@@ -354,11 +354,11 @@ var M = { methods: { colorClass: we } }, N = (e, t) => {
354
354
  color: {
355
355
  type: String,
356
356
  required: !0,
357
- validator: j
357
+ validator: A
358
358
  }
359
359
  }
360
360
  };
361
- function Ee(e, t, n, r, o, s) {
361
+ function De(e, t, n, r, o, s) {
362
362
  return f(), i("div", { class: u(["bb-dashboard-ui bb:flex bb:h-full bb:items-center bb:leading-none bb:text-4xl", [e.colorClass(n.color, "mark"), { "bb:animate-pulse": n.withPulse }]]) }, [...t[0] ||= [a("svg", {
363
363
  class: "bb:fill-current bb:w-2 bb:h-2",
364
364
  viewBox: "0 0 120 120"
@@ -368,8 +368,8 @@ function Ee(e, t, n, r, o, s) {
368
368
  r: "45"
369
369
  })], -1)]], 2);
370
370
  }
371
- var P = /*#__PURE__*/ N(Te, [["render", Ee]]), De = {
372
- components: { Dot: P },
371
+ var N = /*#__PURE__*/ M(Ee, [["render", De]]), Oe = {
372
+ components: { Dot: N },
373
373
  props: {
374
374
  text: {
375
375
  type: String,
@@ -384,14 +384,14 @@ var P = /*#__PURE__*/ N(Te, [["render", Ee]]), De = {
384
384
  default: !1
385
385
  }
386
386
  }
387
- }, Oe = { class: "bb:flex bb:h-6 bb:px-3 bb:bg-white bb:items-center bb:justify-between" }, ke = ["textContent"];
388
- function Ae(e, t, n, r, o, c) {
387
+ }, ke = { class: "bb:flex bb:h-6 bb:px-3 bb:bg-white bb:items-center bb:justify-between" }, Ae = ["textContent"];
388
+ function je(e, t, n, r, o, c) {
389
389
  let l = h("dot");
390
- return f(), i("div", Oe, [
390
+ return f(), i("div", ke, [
391
391
  a("div", {
392
392
  class: "bb:flex bb:flex-1 bb:h-full bb:items-center bb:text-xs bb:text-gray-500 bb:whitespace-nowrap bb:truncate bb:leading-tight bb:select-none",
393
393
  textContent: _(n.text)
394
- }, null, 8, ke),
394
+ }, null, 8, Ae),
395
395
  x(s(l, {
396
396
  color: "red",
397
397
  "with-pulse": !0,
@@ -403,8 +403,8 @@ function Ae(e, t, n, r, o, c) {
403
403
  }, null, 512), [[y, n.isRequired]])
404
404
  ]);
405
405
  }
406
- var F = /*#__PURE__*/ N(De, [["render", Ae]]), I = {
407
- inject: A,
406
+ var P = /*#__PURE__*/ M(Oe, [["render", je]]), F = {
407
+ inject: O,
408
408
  props: { lang: {
409
409
  type: String,
410
410
  default: null,
@@ -418,11 +418,11 @@ var F = /*#__PURE__*/ N(De, [["render", Ae]]), I = {
418
418
  return ae[this.resolvedLang];
419
419
  }
420
420
  }
421
- }, je = [
421
+ }, Me = [
422
422
  { transform: "scale(1)" },
423
423
  { transform: "scale(0.8)" },
424
424
  { transform: "scale(1)" }
425
- ], Me = 150, Ne = {
425
+ ], Ne = 150, Pe = {
426
426
  created() {
427
427
  this.isPressing = !1, this.isUnmounted = !1;
428
428
  },
@@ -430,39 +430,39 @@ var F = /*#__PURE__*/ N(De, [["render", Ae]]), I = {
430
430
  this.isUnmounted = !0;
431
431
  },
432
432
  methods: { press() {
433
- this.isPressing || (this.isPressing = !0, Pe(this.$el).then(() => {
433
+ this.isPressing || (this.isPressing = !0, Fe(this.$el).then(() => {
434
434
  this.isPressing = !1, this.isUnmounted || this.$emit("clicked");
435
435
  }));
436
436
  } }
437
437
  };
438
- function Pe(e) {
439
- if (typeof e.animate != "function" || Fe()) return Promise.resolve();
438
+ function Fe(e) {
439
+ if (typeof e.animate != "function" || Ie()) return Promise.resolve();
440
440
  let t = () => {};
441
- return e.animate(je, {
442
- duration: Me,
441
+ return e.animate(Me, {
442
+ duration: Ne,
443
443
  easing: "ease-out"
444
444
  }).finished.then(t, t);
445
445
  }
446
- function Fe() {
446
+ function Ie() {
447
447
  return typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
448
448
  }
449
449
  //#endregion
450
450
  //#region src/components/CrossButton.vue
451
- var Ie = {
452
- mixins: [I, Ne],
451
+ var Le = {
452
+ mixins: [F, Pe],
453
453
  props: { size: {
454
454
  type: String,
455
455
  required: !0,
456
456
  validator: (e) => ["small", "large"].includes(e)
457
457
  } },
458
458
  emits: ["clicked"]
459
- }, Le = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" }, Re = { class: "bb:flex bb:rounded-md bb:group-focus-visible:focus-ring bb:pointer-events-none bb:cursor-default" };
460
- function ze(e, t, n, r, s, c) {
459
+ }, Re = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" }, ze = { class: "bb:flex bb:rounded-md bb:group-focus-visible:focus-ring bb:pointer-events-none bb:cursor-default" };
460
+ function Be(e, t, n, r, s, c) {
461
461
  return f(), i("button", {
462
462
  type: "button",
463
463
  class: "bb-dashboard-ui bb:group bb:flex bb:items-center bb:justify-center bb:bg-transparent bb:cursor-pointer bb:text-gray-400 bb:focus:outline-hidden bb:hover:text-gray-500",
464
464
  onClick: t[0] ||= C((...t) => e.press && e.press(...t), ["prevent"])
465
- }, [a("span", Le, [m(e.$slots, "default", {}, () => [o(_(e.texts.clear), 1)])]), a("span", Re, [(f(), i("svg", {
465
+ }, [a("span", Re, [m(e.$slots, "default", {}, () => [o(_(e.texts.clear), 1)])]), a("span", ze, [(f(), i("svg", {
466
466
  class: u(["bb:stroke-current bb:pointer-events-none bb:cursor-default", {
467
467
  "bb:w-6 bb:h-6": n.size === "small",
468
468
  "bb:w-8 bb:h-8": n.size === "large"
@@ -477,24 +477,24 @@ function ze(e, t, n, r, s, c) {
477
477
  d: "M6 18L18 6M6 6l12 12"
478
478
  }, null, -1)]], 2))])]);
479
479
  }
480
- var L = /*#__PURE__*/ N(Ie, [["render", ze]]), Be = 10;
481
- function Ve(e) {
480
+ var I = /*#__PURE__*/ M(Le, [["render", Be]]), Ve = 10;
481
+ function He(e) {
482
482
  let t = e.replace(/\D/g, "");
483
- return (t.startsWith("7") || t.startsWith("8")) && t[1] === "9" && (t = t.slice(1)), t.slice(0, Be);
483
+ return (t.startsWith("7") || t.startsWith("8")) && t[1] === "9" && (t = t.slice(1)), t.slice(0, Ve);
484
484
  }
485
- function R(e) {
485
+ function L(e) {
486
486
  return e === "" ? "" : `7${e}`;
487
487
  }
488
- function z(e) {
488
+ function R(e) {
489
489
  let t = e ?? "", n = t.startsWith("+") ? t.slice(1) : t;
490
490
  return n.startsWith("7") ? n.slice(1) : n;
491
491
  }
492
492
  //#endregion
493
493
  //#region src/components/RussianMobileFilter.vue
494
- var He = 400, Ue = 3, We = {
494
+ var Ue = 400, We = 3, Ge = {
495
495
  components: {
496
- ElementHeader: F,
497
- CrossButton: L
496
+ ElementHeader: P,
497
+ CrossButton: I
498
498
  },
499
499
  emits: ["update:modelValue", "changed"],
500
500
  props: {
@@ -516,10 +516,10 @@ var He = 400, Ue = 3, We = {
516
516
  }
517
517
  },
518
518
  data() {
519
- return { digits: z(this.modelValue) };
519
+ return { digits: R(this.modelValue) };
520
520
  },
521
521
  created() {
522
- this.mask = null, this.debounceTimer = null, this.isWritingProgrammatically = !1, this.lastCommitted = z(this.modelValue), this.isUnmounted = !1;
522
+ this.mask = null, this.debounceTimer = null, this.isWritingProgrammatically = !1, this.lastCommitted = R(this.modelValue), this.isUnmounted = !1;
523
523
  },
524
524
  mounted() {
525
525
  this.mask = re(this.$refs.input, {
@@ -527,21 +527,21 @@ var He = 400, Ue = 3, We = {
527
527
  lazy: !0,
528
528
  prepare: (e, t) => t.unmaskedValue === "" && (e === "7" || e === "8") ? "" : e
529
529
  }), this.mask.on("accept", () => {
530
- this.isWritingProgrammatically || (this.digits = this.mask.unmaskedValue, this.$emit("update:modelValue", R(this.digits)), this.scheduleCommit());
530
+ this.isWritingProgrammatically || (this.digits = this.mask.unmaskedValue, this.$emit("update:modelValue", L(this.digits)), this.scheduleCommit());
531
531
  }), this.syncFromModelValue(this.modelValue);
532
532
  },
533
533
  beforeUnmount() {
534
534
  this.isUnmounted = !0, clearTimeout(this.debounceTimer), this.mask?.destroy();
535
535
  },
536
536
  watch: { modelValue(e) {
537
- e !== R(this.digits) && this.syncFromModelValue(e);
537
+ e !== L(this.digits) && this.syncFromModelValue(e);
538
538
  } },
539
539
  methods: {
540
540
  syncFromModelValue(e) {
541
- this.writeToMask(z(e)), this.digits = this.mask.unmaskedValue, this.lastCommitted = this.digits;
541
+ this.writeToMask(R(e)), this.digits = this.mask.unmaskedValue, this.lastCommitted = this.digits;
542
542
  },
543
543
  applyUserDigits(e) {
544
- this.writeToMask(e), this.digits = this.mask.unmaskedValue, this.$emit("update:modelValue", R(this.digits));
544
+ this.writeToMask(e), this.digits = this.mask.unmaskedValue, this.$emit("update:modelValue", L(this.digits));
545
545
  },
546
546
  writeToMask(e) {
547
547
  if (this.isWritingProgrammatically = !0, e === "") this.mask.value = "";
@@ -564,7 +564,7 @@ var He = 400, Ue = 3, We = {
564
564
  this.isUnmounted || (this.setLazy(!0), this.digits === "" && this.writeToMask(""), this.commit());
565
565
  },
566
566
  onPaste(e) {
567
- this.applyUserDigits(Ve(e.clipboardData?.getData("text") ?? "")), this.scheduleCommit();
567
+ this.applyUserDigits(He(e.clipboardData?.getData("text") ?? "")), this.scheduleCommit();
568
568
  },
569
569
  moveFocusFromEraser() {
570
570
  let e = this.$refs.eraser.$el;
@@ -578,16 +578,16 @@ var He = 400, Ue = 3, We = {
578
578
  this.commit();
579
579
  return;
580
580
  }
581
- this.digits.length < Ue || (this.debounceTimer = setTimeout(() => this.commit(), He));
581
+ this.digits.length < We || (this.debounceTimer = setTimeout(() => this.commit(), Ue));
582
582
  },
583
583
  commit() {
584
584
  clearTimeout(this.debounceTimer), this.digits !== this.lastCommitted && (this.lastCommitted = this.digits, this.$emit("changed"));
585
585
  }
586
586
  }
587
- }, Ge = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, Ke = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, qe = { class: "bb:relative bb:flex bb:h-full bb:w-full" }, Je = { class: "bb:flex bb:w-full bb:h-full bb:items-center bb:justify-center" };
588
- function Ye(e, t, n, r, o, c) {
587
+ }, Ke = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, qe = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, Je = { class: "bb:relative bb:flex bb:h-full bb:w-full" }, Ye = { class: "bb:flex bb:w-full bb:h-full bb:items-center bb:justify-center" };
588
+ function Xe(e, t, n, r, o, c) {
589
589
  let l = h("element-header"), u = h("cross-button");
590
- return f(), i("div", Ge, [a("div", Ke, [s(l, {
590
+ return f(), i("div", Ke, [a("div", qe, [s(l, {
591
591
  text: n.header,
592
592
  "is-required": n.isRequired,
593
593
  "is-loading": n.isLoading
@@ -595,7 +595,7 @@ function Ye(e, t, n, r, o, c) {
595
595
  "text",
596
596
  "is-required",
597
597
  "is-loading"
598
- ]), a("div", qe, [a("label", Je, [a("input", {
598
+ ]), a("div", Je, [a("label", Ye, [a("input", {
599
599
  ref: "input",
600
600
  type: "tel",
601
601
  inputmode: "tel",
@@ -613,10 +613,10 @@ function Ye(e, t, n, r, o, c) {
613
613
  class: "bb:absolute bb:right-0 bb:top-0 bb:pr-2 bb:h-full"
614
614
  }, null, 8, ["onClicked"]), [[y, o.digits.length > 0]])])])]);
615
615
  }
616
- var Xe = /*#__PURE__*/ N(We, [["render", Ye]]), Ze = {
616
+ var Ze = /*#__PURE__*/ M(Ge, [["render", Xe]]), Qe = {
617
617
  components: {
618
- ElementHeader: F,
619
- CrossButton: L
618
+ ElementHeader: P,
619
+ CrossButton: I
620
620
  },
621
621
  emits: ["update:modelValue", "changed"],
622
622
  props: {
@@ -658,10 +658,10 @@ var Xe = /*#__PURE__*/ N(We, [["render", Ye]]), Ze = {
658
658
  this.$emit("update:modelValue", this.search), this.$emit("changed");
659
659
  }
660
660
  }
661
- }, Qe = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, $e = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, et = { class: "bb:relative bb:flex bb:h-full bb:w-full" }, tt = { class: "bb:flex bb:w-full bb:h-full bb:items-center bb:justify-center" };
662
- function nt(e, t, n, r, o, c) {
661
+ }, $e = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, et = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, tt = { class: "bb:relative bb:flex bb:h-full bb:w-full" }, nt = { class: "bb:flex bb:w-full bb:h-full bb:items-center bb:justify-center" };
662
+ function rt(e, t, n, r, o, c) {
663
663
  let l = h("element-header"), u = h("cross-button");
664
- return f(), i("div", Qe, [a("div", $e, [s(l, {
664
+ return f(), i("div", $e, [a("div", et, [s(l, {
665
665
  text: n.header,
666
666
  "is-required": n.isRequired,
667
667
  "is-loading": n.isLoading
@@ -669,7 +669,7 @@ function nt(e, t, n, r, o, c) {
669
669
  "text",
670
670
  "is-required",
671
671
  "is-loading"
672
- ]), a("div", et, [a("label", tt, [x(a("input", {
672
+ ]), a("div", tt, [a("label", nt, [x(a("input", {
673
673
  ref: "input",
674
674
  class: "bb:flex bb:w-full bb:h-full bb:px-3 bb:py-2 bb:cursor-pointer bb:truncate bb:focus:focus-ring bb:border-none",
675
675
  "onUpdate:modelValue": t[0] ||= (e) => o.search = e,
@@ -686,37 +686,37 @@ function nt(e, t, n, r, o, c) {
686
686
  class: "bb:absolute bb:right-0 bb:top-0 bb:pr-2 bb:h-full"
687
687
  }, null, 8, ["onClicked"]), [[y, c.inputNeedsEraser]])])])]);
688
688
  }
689
- var rt = /*#__PURE__*/ N(Ze, [["render", nt]]), B = 4, V = 8;
690
- function H(e) {
689
+ var it = /*#__PURE__*/ M(Qe, [["render", rt]]), z = 4, B = 8;
690
+ function V(e) {
691
691
  return typeof e?.showPopover == "function";
692
692
  }
693
- function U(e) {
694
- return H(e) && e.matches(":popover-open");
693
+ function H(e) {
694
+ return V(e) && e.matches(":popover-open");
695
695
  }
696
- function W(e, t, { maxWidth: n = null, align: r = "end", fitsBelow: i = !0, fitsRight: a = !0 } = {}) {
697
- let o = e.getBoundingClientRect(), s = document.documentElement.clientWidth, c = document.documentElement.clientHeight, l = Math.max(V, o.left), u = Math.max(V, s - o.right), d = Math.max(0, s - l - V), f = Math.max(0, s - u - V), p = r === "start" && (a || d >= f), m = Math.max(0, c - o.bottom - B - V), h = Math.max(0, o.top - B - V), g = i || m >= h, _ = "";
696
+ function U(e, t, { maxWidth: n = null, align: r = "end", fitsBelow: i = !0, fitsRight: a = !0 } = {}) {
697
+ let o = e.getBoundingClientRect(), s = document.documentElement.clientWidth, c = document.documentElement.clientHeight, l = Math.max(B, o.left), u = Math.max(B, s - o.right), d = Math.max(0, s - l - B), f = Math.max(0, s - u - B), p = r === "start" && (a || d >= f), m = Math.max(0, c - o.bottom - z - B), h = Math.max(0, o.top - z - B), g = i || m >= h, _ = "";
698
698
  if (r === "start") {
699
699
  let e = p ? d : f;
700
700
  _ = `${n === null ? e : Math.min(n, e)}px`;
701
701
  } else n !== null && (_ = `${Math.min(n, f)}px`);
702
702
  Object.assign(t.style, {
703
- top: g ? `${o.bottom + B}px` : "auto",
704
- bottom: g ? "auto" : `${c - o.top + B}px`,
703
+ top: g ? `${o.bottom + z}px` : "auto",
704
+ bottom: g ? "auto" : `${c - o.top + z}px`,
705
705
  right: p ? "auto" : `${u}px`,
706
706
  left: p ? `${l}px` : "auto",
707
707
  maxHeight: `${g ? m : h}px`,
708
708
  maxWidth: _
709
709
  });
710
710
  }
711
- function it(e, t, n = {}) {
711
+ function at(e, t, n = {}) {
712
712
  let r = t.scrollHeight <= t.clientHeight + 1, i = t.scrollWidth <= t.clientWidth + 1;
713
- r && i || W(e, t, {
713
+ r && i || U(e, t, {
714
714
  ...n,
715
715
  fitsBelow: r,
716
716
  fitsRight: i
717
717
  });
718
718
  }
719
- function at(e, t) {
719
+ function ot(e, t) {
720
720
  let n = (n) => {
721
721
  e.contains(n.target) || t();
722
722
  };
@@ -729,24 +729,21 @@ function at(e, t) {
729
729
  }
730
730
  //#endregion
731
731
  //#region src/menuFocus.js
732
- var G = "a[href], button";
733
- function ot(e, t = () => null, n = null) {
732
+ var st = "a[href], button";
733
+ function ct(e, t = () => null, n = null) {
734
734
  let r = (r) => {
735
735
  if (r.key !== "ArrowDown" && r.key !== "ArrowUp") return;
736
- let i = n === null ? [...e.querySelectorAll(G)] : n();
736
+ let i = n === null ? [...e.querySelectorAll(st)] : n();
737
737
  if (i.length === 0) return;
738
738
  r.preventDefault();
739
739
  let a = r.key === "ArrowDown" ? 1 : -1, o = i.indexOf(document.activeElement);
740
740
  o === -1 && (o = i.indexOf(t())), i[o === -1 ? a === 1 ? 0 : i.length - 1 : (o + a + i.length) % i.length].focus();
741
- }, i = (e) => {
742
- let t = e.target.closest(G);
743
- t !== null && (n === null || n().includes(t)) && t.focus({ preventScroll: !0 });
744
741
  };
745
- return document.addEventListener("keydown", r, !0), e.addEventListener("mousemove", i), () => {
746
- document.removeEventListener("keydown", r, !0), e.removeEventListener("mousemove", i);
742
+ return document.addEventListener("keydown", r, !0), () => {
743
+ document.removeEventListener("keydown", r, !0);
747
744
  };
748
745
  }
749
- function st(e) {
746
+ function lt(e) {
750
747
  let t = (t) => {
751
748
  if (t.key !== "Tab" || t.ctrlKey || t.altKey || t.metaKey) return;
752
749
  let n = e();
@@ -761,7 +758,7 @@ function st(e) {
761
758
  }
762
759
  //#endregion
763
760
  //#region src/components/PopoverPanel.vue
764
- var ct = {
761
+ var ut = {
765
762
  emits: ["update:modelValue", "toggle"],
766
763
  props: {
767
764
  modelValue: {
@@ -862,17 +859,17 @@ var ct = {
862
859
  methods: {
863
860
  applyPanelState() {
864
861
  let e = this.$refs.panel;
865
- H(e) && e.isConnected && (this.panelIsOpen && !U(e) && e.showPopover(), !this.panelIsOpen && U(e) && e.hidePopover());
862
+ V(e) && e.isConnected && (this.panelIsOpen && !H(e) && e.showPopover(), !this.panelIsOpen && H(e) && e.hidePopover());
866
863
  },
867
864
  close() {
868
865
  let e = this.$refs.panel;
869
- U(e) && e.hidePopover();
866
+ H(e) && e.hidePopover();
870
867
  },
871
868
  reportPanelShown(e) {
872
869
  this.panelShown !== e && (this.panelShown = e, this.$emit("toggle", e));
873
870
  },
874
871
  onClick() {
875
- this.closeOnClick && this.close();
872
+ this.closeOnClick && (this.close(), this.restoreFocus(this.$refs.panel));
876
873
  },
877
874
  onBeforeToggle(e) {
878
875
  if (e.newState === "open") {
@@ -880,9 +877,9 @@ var ct = {
880
877
  maxWidth: this.maxWidth,
881
878
  align: this.align
882
879
  };
883
- this.$refs.panel.style.minWidth = "", this.$refs.panel.style.minHeight = "", this.$refs.panel.style.scrollbarGutter = "", W(e, this.$refs.panel, t), requestAnimationFrame(() => {
880
+ this.$refs.panel.style.minWidth = "", this.$refs.panel.style.minHeight = "", this.$refs.panel.style.scrollbarGutter = "", U(e, this.$refs.panel, t), requestAnimationFrame(() => {
884
881
  let n = this.$refs.panel;
885
- if (U(n) && (it(e, n, t), this.keepSize)) {
882
+ if (H(n) && (at(e, n, t), this.keepSize)) {
886
883
  n.scrollHeight > n.clientHeight + 1 && (n.style.scrollbarGutter = "stable");
887
884
  let e = n.getBoundingClientRect();
888
885
  n.style.minWidth = `${e.width}px`, n.style.top === "auto" && (n.style.minHeight = `${e.height}px`);
@@ -895,8 +892,8 @@ var ct = {
895
892
  },
896
893
  onToggle() {
897
894
  this.stopListening();
898
- let e = this.$refs.panel, t = U(e);
899
- t && (this.stopClosing = at(e, this.close), this.arrows && (this.stopArrows = ot(e, this.findSelected, this.findStops)), this.findTabStops !== null && (this.stopTab = st(this.findTabStops))), t || this.restoreFocus(e), this.reportPanelShown(t), t !== this.panelIsOpen && (this.panelIsOpen = t, this.$emit("update:modelValue", t));
895
+ let e = this.$refs.panel, t = H(e);
896
+ t && (this.stopClosing = ot(e, this.close), this.arrows && (this.stopArrows = ct(e, this.findSelected, this.findStops)), this.findTabStops !== null && (this.stopTab = lt(this.findTabStops))), t || this.restoreFocus(e), this.reportPanelShown(t), t !== this.panelIsOpen && (this.panelIsOpen = t, this.$emit("update:modelValue", t));
900
897
  },
901
898
  restoreFocus(e) {
902
899
  let t = this.focusWasInside;
@@ -908,10 +905,10 @@ var ct = {
908
905
  this.stopClosing !== null && (this.stopClosing(), this.stopClosing = null), this.stopArrows !== null && (this.stopArrows(), this.stopArrows = null), this.stopTab !== null && (this.stopTab(), this.stopTab = null);
909
906
  }
910
907
  }
911
- }, lt = {
908
+ }, dt = {
912
909
  key: 0,
913
910
  class: "bb:relative"
914
- }, ut = [
911
+ }, ft = [
915
912
  "id",
916
913
  "role",
917
914
  "aria-orientation",
@@ -919,8 +916,8 @@ var ct = {
919
916
  "aria-label",
920
917
  "tabindex"
921
918
  ];
922
- function dt(e, t, n, o, s, c) {
923
- return n.hasContent ? (f(), i("span", lt, [m(e.$slots, "trigger", {
919
+ function pt(e, t, n, o, s, c) {
920
+ return n.hasContent ? (f(), i("span", dt, [m(e.$slots, "trigger", {
924
921
  id: o.buttonId,
925
922
  popovertarget: o.panelId
926
923
  }), a("div", {
@@ -936,15 +933,15 @@ function dt(e, t, n, o, s, c) {
936
933
  onBeforetoggle: t[0] ||= (...e) => c.onBeforeToggle && c.onBeforeToggle(...e),
937
934
  onToggle: t[1] ||= (...e) => c.onToggle && c.onToggle(...e),
938
935
  onClick: t[2] ||= (...e) => c.onClick && c.onClick(...e)
939
- }, [m(e.$slots, "default")], 42, ut)])) : r("", !0);
936
+ }, [m(e.$slots, "default")], 42, ft)])) : r("", !0);
940
937
  }
941
- var K = /*#__PURE__*/ N(ct, [["render", dt]]);
938
+ var W = /*#__PURE__*/ M(ut, [["render", pt]]);
942
939
  //#endregion
943
940
  //#region src/date.js
944
- function q(e) {
941
+ function G(e) {
945
942
  return `${String(e.getDate()).padStart(2, "0")}.${String(e.getMonth() + 1).padStart(2, "0")}.${String(e.getFullYear()).padStart(4, "0")}`;
946
943
  }
947
- function J(e) {
944
+ function K(e) {
948
945
  let t = /^(\d{1,2})\.(\d{1,2})\.(\d{4})$/.exec(e);
949
946
  if (t === null) return null;
950
947
  let [, n, r, i] = t.map(Number), a = /* @__PURE__ */ new Date(0);
@@ -952,11 +949,11 @@ function J(e) {
952
949
  }
953
950
  //#endregion
954
951
  //#region src/dayFocus.js
955
- var Y = ".pika-button.pika-day", ft = ".pika-button, .pika-prev, .pika-next";
956
- function pt(e, t = () => null) {
952
+ var q = ".pika-button.pika-day", mt = ".pika-button, .pika-prev, .pika-next";
953
+ function ht(e, t = () => null) {
957
954
  let n = (n) => {
958
955
  if (n.detail !== 0) return;
959
- let r = n.target.closest(ft);
956
+ let r = n.target.closest(mt);
960
957
  r !== null && e.contains(r) && setTimeout(() => {
961
958
  let n = document.activeElement === r;
962
959
  if (r.dispatchEvent(new MouseEvent("mousedown", {
@@ -969,46 +966,46 @@ function pt(e, t = () => null) {
969
966
  };
970
967
  return e.addEventListener("click", n), () => e.removeEventListener("click", n);
971
968
  }
972
- var mt = {
969
+ var gt = {
973
970
  ArrowLeft: -1,
974
971
  ArrowRight: 1,
975
972
  ArrowUp: -7,
976
973
  ArrowDown: 7
977
974
  };
978
- function ht(e, t) {
975
+ function _t(e, t) {
979
976
  let n = (n) => {
980
- let r = mt[n.key];
981
- if (r === void 0 || gt(document.activeElement)) return;
977
+ let r = gt[n.key];
978
+ if (r === void 0 || vt(document.activeElement)) return;
982
979
  n.preventDefault();
983
- let i = document.activeElement?.closest(Y) ?? null, a = i !== null && e.contains(i) ? vt(_t(i), r) : t.getDate() ?? yt();
984
- X(e, a) === null && t.gotoDate(a), X(e, a)?.focus();
980
+ let i = document.activeElement?.closest(q) ?? null, a = i !== null && e.contains(i) ? bt(yt(i), r) : t.getDate() ?? xt();
981
+ J(e, a) === null && t.gotoDate(a), J(e, a)?.focus();
985
982
  };
986
983
  return document.addEventListener("keydown", n, !0), () => document.removeEventListener("keydown", n, !0);
987
984
  }
988
- function gt(e) {
985
+ function vt(e) {
989
986
  return e !== null && e.matches("input, select, textarea, [contenteditable]");
990
987
  }
991
- function _t(e) {
988
+ function yt(e) {
992
989
  return new Date(e.dataset.pikaYear, e.dataset.pikaMonth, e.dataset.pikaDay);
993
990
  }
994
- function vt(e, t) {
991
+ function bt(e, t) {
995
992
  return new Date(e.getFullYear(), e.getMonth(), e.getDate() + t);
996
993
  }
997
- function yt() {
994
+ function xt() {
998
995
  let e = /* @__PURE__ */ new Date();
999
996
  return new Date(e.getFullYear(), e.getMonth(), e.getDate());
1000
997
  }
1001
- function X(e, t) {
1002
- return e.querySelector(`${Y}[data-pika-year="${t.getFullYear()}"][data-pika-month="${t.getMonth()}"][data-pika-day="${t.getDate()}"]`);
998
+ function J(e, t) {
999
+ return e.querySelector(`${q}[data-pika-year="${t.getFullYear()}"][data-pika-month="${t.getMonth()}"][data-pika-day="${t.getDate()}"]`);
1003
1000
  }
1004
1001
  //#endregion
1005
- //#region src/components/PickDay.vue
1006
- var bt = {
1002
+ //#region src/components/SelectDate.vue
1003
+ var St = {
1007
1004
  components: {
1008
- PopoverPanel: K,
1009
- CrossButton: L
1005
+ PopoverPanel: W,
1006
+ CrossButton: I
1010
1007
  },
1011
- mixins: [I],
1008
+ mixins: [F],
1012
1009
  emits: ["update:modelValue", "changed"],
1013
1010
  props: {
1014
1011
  modelValue: {
@@ -1022,6 +1019,10 @@ var bt = {
1022
1019
  placeholderText: {
1023
1020
  type: String,
1024
1021
  default: ""
1022
+ },
1023
+ labelledBy: {
1024
+ type: String,
1025
+ default: null
1025
1026
  }
1026
1027
  },
1027
1028
  created() {
@@ -1035,8 +1036,8 @@ var bt = {
1035
1036
  keyboardInput: !1,
1036
1037
  bound: !1,
1037
1038
  firstDay: 1,
1038
- parse: (e) => J(e),
1039
- toString: (e) => q(e),
1039
+ parse: (e) => K(e),
1040
+ toString: (e) => G(e),
1040
1041
  i18n: {
1041
1042
  previousMonth: this.texts.previousMonth,
1042
1043
  nextMonth: this.texts.nextMonth,
@@ -1045,9 +1046,9 @@ var bt = {
1045
1046
  weekdaysShort: this.texts.weekdaysShort
1046
1047
  },
1047
1048
  onSelect: (e) => {
1048
- this.popupIsOpen = !1, this.$emit("update:modelValue", q(e)), this.$emit("changed");
1049
+ this.popupIsOpen = !1, this.$emit("update:modelValue", G(e)), this.$emit("changed");
1049
1050
  }
1050
- }), this.stopPickOnClick = pt(this.$refs.container, () => this.$refs.trigger), this.syncDayFocus());
1051
+ }), this.stopPickOnClick = ht(this.$refs.container, () => this.$refs.trigger), this.syncDayFocus());
1051
1052
  },
1052
1053
  beforeUnmount() {
1053
1054
  this.isUnmounted = !0, this.stopPickOnClick?.(), this.stopDayFocus?.(), this.picker?.destroy();
@@ -1076,11 +1077,11 @@ var bt = {
1076
1077
  ].includes(e.key) && (e.preventDefault(), this.$refs.trigger.focus({ preventScroll: !0 }), this.popupIsOpen = !0);
1077
1078
  },
1078
1079
  syncDayFocus() {
1079
- this.stopDayFocus?.(), this.stopDayFocus = null, this.popupIsOpen && this.picker !== null && (this.stopDayFocus = ht(this.$refs.container, this.picker));
1080
+ this.stopDayFocus?.(), this.stopDayFocus = null, this.popupIsOpen && this.picker !== null && (this.stopDayFocus = _t(this.$refs.container, this.picker));
1080
1081
  },
1081
1082
  syncPicker(e) {
1082
1083
  if (this.picker === null) return;
1083
- let t = J(e);
1084
+ let t = K(e);
1084
1085
  if (t === null) {
1085
1086
  this.picker.clear();
1086
1087
  return;
@@ -1106,17 +1107,22 @@ var bt = {
1106
1107
  return !this.withEraser || this.popupIsOpen ? !1 : this.hasValue;
1107
1108
  }
1108
1109
  }
1109
- }, 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 = [
1110
+ }, Ct = { class: "bb-dashboard-ui bb:flex bb:flex-col" }, wt = { class: "bb:relative bb:flex bb:h-full" }, Tt = [
1111
+ "id",
1112
+ "popovertarget",
1113
+ "aria-labelledby"
1114
+ ], Et = ["textContent"], Dt = { class: "bb:flex bb:w-full bb:items-center bb:leading-none bb:min-w-24 bb:pointer-events-none" }, Ot = [
1110
1115
  "disabled",
1111
1116
  "value",
1112
- "placeholder"
1113
- ], Dt = {
1117
+ "placeholder",
1118
+ "aria-labelledby"
1119
+ ], kt = {
1114
1120
  ref: "container",
1115
1121
  class: "bb:flex"
1116
1122
  };
1117
- function Ot(e, t, o, c, l, u) {
1123
+ function At(e, t, o, c, l, u) {
1118
1124
  let d = h("popover-panel"), p = h("cross-button");
1119
- return f(), i("div", xt, [a("div", St, [s(d, {
1125
+ return f(), i("div", Ct, [a("div", wt, [s(d, {
1120
1126
  class: "bb:flex bb:w-full",
1121
1127
  modelValue: l.popupIsOpen,
1122
1128
  "onUpdate:modelValue": t[1] ||= (e) => l.popupIsOpen = e,
@@ -1129,20 +1135,22 @@ function Ot(e, t, o, c, l, u) {
1129
1135
  type: "button",
1130
1136
  id: e.id,
1131
1137
  popovertarget: e.popovertarget,
1132
- class: "bb:absolute bb:inset-0 bb:cursor-pointer bb:focus-visible:focus-ring"
1138
+ "aria-labelledby": o.labelledBy ? o.labelledBy + " " + e.id : null,
1139
+ class: "bb:absolute bb:inset-0 bb:cursor-pointer bb:focus-visible:focus-ring bb:rounded-[var(--bb-field-radius,0)]"
1133
1140
  }, [a("span", {
1134
1141
  class: "bb:sr-only bb:pointer-events-none bb:cursor-default",
1135
1142
  textContent: _(u.triggerLabel)
1136
- }, null, 8, wt)], 8, Ct), a("label", Tt, [a("input", {
1143
+ }, null, 8, Et)], 8, Tt), a("label", Dt, [a("input", {
1137
1144
  disabled: l.popupIsOpen,
1138
1145
  ref: "field",
1139
1146
  onKeydown: t[0] ||= (...e) => u.openOnKey && u.openOnKey(...e),
1140
1147
  type: "text",
1141
1148
  value: l.dayValue,
1142
1149
  placeholder: o.placeholderText,
1143
- 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:focus-ring"
1144
- }, null, 40, Et)])]),
1145
- default: b(() => [a("div", Dt, null, 512)]),
1150
+ "aria-labelledby": o.labelledBy || null,
1151
+ class: "bb:w-full bb:h-full bb:py-2 bb:pl-3 bb:pr-3 bb:leading-none bb:border bb:border-transparent bb:whitespace-nowrap bb:bg-transparent bb:placeholder:text-sm bb:placeholder-gray-300 bb:cursor-pointer bb:focus:focus-ring bb:rounded-[var(--bb-field-radius,0)]"
1152
+ }, null, 40, Ot)])]),
1153
+ default: b(() => [a("div", kt, null, 512)]),
1146
1154
  _: 1
1147
1155
  }, 8, ["modelValue"]), u.needsEraser ? (f(), n(p, {
1148
1156
  key: 0,
@@ -1153,25 +1161,14 @@ function Ot(e, t, o, c, l, u) {
1153
1161
  lang: e.resolvedLang
1154
1162
  }, null, 8, ["onClicked", "lang"])) : r("", !0)])]);
1155
1163
  }
1156
- //#endregion
1157
- //#region src/components/SelectDateInterval.vue
1158
- var kt = {
1164
+ var Y = /*#__PURE__*/ M(St, [["render", At]]), jt = {
1159
1165
  components: {
1160
- ElementHeader: F,
1161
- PickDay: /* @__PURE__ */ N(bt, [["render", Ot]])
1166
+ ElementHeader: P,
1167
+ SelectDate: Y
1162
1168
  },
1163
- mixins: [I],
1164
- emits: [
1165
- "update:dateFrom",
1166
- "update:dateTo",
1167
- "changed"
1168
- ],
1169
+ emits: ["update:modelValue", "changed"],
1169
1170
  props: {
1170
- dateFrom: {
1171
- type: String,
1172
- default: ""
1173
- },
1174
- dateTo: {
1171
+ modelValue: {
1175
1172
  type: String,
1176
1173
  default: ""
1177
1174
  },
@@ -1186,6 +1183,97 @@ var kt = {
1186
1183
  isLoading: {
1187
1184
  type: Boolean,
1188
1185
  default: !1
1186
+ },
1187
+ lang: {
1188
+ type: String,
1189
+ default: null
1190
+ }
1191
+ }
1192
+ }, Mt = { class: "bb-dashboard-ui bb:flex bb:w-fit bb:h-18 bb:border bb:border-gray-200" }, Nt = { class: "bb:flex bb:border bb:border-white" }, Pt = { class: "bb:flex bb:flex-col bb:w-36 bb:bg-white bb:h-full" };
1193
+ function Ft(e, t, n, r, o, c) {
1194
+ let l = h("element-header"), u = h("select-date");
1195
+ return f(), i("div", Mt, [a("div", Nt, [a("div", Pt, [s(l, {
1196
+ text: n.header ?? "",
1197
+ "is-required": n.isRequired,
1198
+ "is-loading": n.isLoading
1199
+ }, null, 8, [
1200
+ "text",
1201
+ "is-required",
1202
+ "is-loading"
1203
+ ]), s(u, {
1204
+ class: "bb:flex-1",
1205
+ "model-value": n.modelValue,
1206
+ lang: n.lang,
1207
+ "onUpdate:modelValue": t[0] ||= (t) => e.$emit("update:modelValue", t),
1208
+ onChanged: t[1] ||= (t) => e.$emit("changed")
1209
+ }, null, 8, ["model-value", "lang"])])])]);
1210
+ }
1211
+ var It = /*#__PURE__*/ M(jt, [["render", Ft]]), Lt = {
1212
+ components: {
1213
+ Dot: N,
1214
+ SelectDate: Y
1215
+ },
1216
+ emits: ["update:modelValue", "changed"],
1217
+ props: {
1218
+ modelValue: {
1219
+ type: String,
1220
+ default: ""
1221
+ },
1222
+ label: {
1223
+ type: String,
1224
+ required: !0
1225
+ },
1226
+ isRequired: {
1227
+ type: Boolean,
1228
+ default: !1
1229
+ },
1230
+ lang: {
1231
+ type: String,
1232
+ default: null
1233
+ }
1234
+ },
1235
+ setup() {
1236
+ return { labelId: v() };
1237
+ }
1238
+ }, Rt = { class: "bb-dashboard-ui" }, zt = { class: "bb:flex bb:items-center" }, Bt = ["id", "textContent"], Vt = { class: "bb:mt-1 bb:flex bb:h-9.5 bb:w-full bb:rounded-md bb:border bb:border-gray-300 bb:bg-white bb:shadow-xs bb:text-sm bb:[--bb-field-radius:0.375rem]" };
1239
+ function Ht(e, t, n, r, o, c) {
1240
+ let l = h("dot"), u = h("select-date");
1241
+ return f(), i("div", Rt, [a("div", zt, [a("span", {
1242
+ id: r.labelId,
1243
+ class: "bb:block bb:text-sm bb:font-medium bb:leading-5 bb:text-gray-700",
1244
+ textContent: _(n.label ?? "")
1245
+ }, null, 8, Bt), x(s(l, {
1246
+ color: "red",
1247
+ class: "bb:ml-2"
1248
+ }, null, 512), [[y, n.isRequired]])]), a("div", Vt, [s(u, {
1249
+ class: "bb:flex-1",
1250
+ "model-value": n.modelValue,
1251
+ "labelled-by": r.labelId,
1252
+ lang: n.lang,
1253
+ "onUpdate:modelValue": t[0] ||= (t) => e.$emit("update:modelValue", t),
1254
+ onChanged: t[1] ||= (t) => e.$emit("changed")
1255
+ }, null, 8, [
1256
+ "model-value",
1257
+ "labelled-by",
1258
+ "lang"
1259
+ ])])]);
1260
+ }
1261
+ var Ut = /*#__PURE__*/ M(Lt, [["render", Ht]]), Wt = {
1262
+ inheritAttrs: !1,
1263
+ mixins: [F],
1264
+ emits: [
1265
+ "update:dateFrom",
1266
+ "update:dateTo",
1267
+ "changed"
1268
+ ],
1269
+ props: {
1270
+ dateFrom: {
1271
+ type: String,
1272
+ default: ""
1273
+ },
1274
+ dateTo: {
1275
+ type: String,
1276
+ default: ""
1189
1277
  }
1190
1278
  },
1191
1279
  data() {
@@ -1194,6 +1282,26 @@ var kt = {
1194
1282
  userDateTo: this.dateTo
1195
1283
  };
1196
1284
  },
1285
+ computed: {
1286
+ from() {
1287
+ return {
1288
+ value: this.userDateFrom,
1289
+ update: (e) => {
1290
+ this.userDateFrom = e;
1291
+ },
1292
+ placeholder: this.texts.dateFrom
1293
+ };
1294
+ },
1295
+ to() {
1296
+ return {
1297
+ value: this.userDateTo,
1298
+ update: (e) => {
1299
+ this.userDateTo = e;
1300
+ },
1301
+ placeholder: this.texts.dateTo
1302
+ };
1303
+ }
1304
+ },
1197
1305
  watch: {
1198
1306
  dateFrom(e) {
1199
1307
  this.userDateFrom = e;
@@ -1208,43 +1316,191 @@ var kt = {
1208
1316
  this.$emit("update:dateTo", e), this.dateTo !== e && this.$emit("changed");
1209
1317
  }
1210
1318
  }
1211
- }, 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" };
1212
- function Pt(e, t, n, r, o, c) {
1213
- let l = h("element-header"), u = h("pick-day");
1214
- return f(), i("div", At, [a("div", jt, [a("div", Mt, [s(l, {
1215
- text: n.header,
1319
+ };
1320
+ function Gt(e, t, n, r, i, a) {
1321
+ return m(e.$slots, "default", {
1322
+ from: a.from,
1323
+ to: a.to
1324
+ });
1325
+ }
1326
+ var X = /*#__PURE__*/ M(Wt, [["render", Gt]]), Kt = {
1327
+ components: {
1328
+ ElementHeader: P,
1329
+ SelectDate: Y,
1330
+ SelectDateInterval: X
1331
+ },
1332
+ emits: [
1333
+ "update:dateFrom",
1334
+ "update:dateTo",
1335
+ "changed"
1336
+ ],
1337
+ props: {
1338
+ dateFrom: {
1339
+ type: String,
1340
+ default: ""
1341
+ },
1342
+ dateTo: {
1343
+ type: String,
1344
+ default: ""
1345
+ },
1346
+ header: {
1347
+ type: String,
1348
+ required: !0
1349
+ },
1350
+ isRequired: {
1351
+ type: Boolean,
1352
+ default: !1
1353
+ },
1354
+ isLoading: {
1355
+ type: Boolean,
1356
+ default: !1
1357
+ },
1358
+ lang: {
1359
+ type: String,
1360
+ default: null
1361
+ }
1362
+ }
1363
+ }, qt = { class: "bb-dashboard-ui bb:flex bb:w-fit bb:h-18 bb:border bb:border-gray-200" }, Jt = { class: "bb:flex bb:border bb:border-white" }, Yt = { class: "bb:flex bb:flex-col bb:min-w-72 bb:w-72 bb:bg-white bb:h-full" }, Xt = { class: "bb:flex bb:h-full bb:divide-x bb:divide-gray-200" };
1364
+ function Zt(e, t, n, r, o, c) {
1365
+ let l = h("element-header"), u = h("select-date"), d = h("select-date-interval");
1366
+ return f(), i("div", qt, [a("div", Jt, [a("div", Yt, [s(l, {
1367
+ text: n.header ?? "",
1216
1368
  "is-required": n.isRequired,
1217
1369
  "is-loading": n.isLoading
1218
1370
  }, null, 8, [
1219
1371
  "text",
1220
1372
  "is-required",
1221
1373
  "is-loading"
1222
- ]), a("div", Nt, [s(u, {
1223
- modelValue: o.userDateFrom,
1224
- "onUpdate:modelValue": t[0] ||= (e) => o.userDateFrom = e,
1225
- class: "bb:flex-1 bb:min-w-36 bb:pl-3",
1226
- "placeholder-text": e.texts.dateFrom,
1227
- lang: e.resolvedLang
1228
- }, null, 8, [
1229
- "modelValue",
1230
- "placeholder-text",
1374
+ ]), s(d, {
1375
+ "date-from": n.dateFrom,
1376
+ "date-to": n.dateTo,
1377
+ lang: n.lang,
1378
+ "onUpdate:dateFrom": t[0] ||= (t) => e.$emit("update:dateFrom", t),
1379
+ "onUpdate:dateTo": t[1] ||= (t) => e.$emit("update:dateTo", t),
1380
+ onChanged: t[2] ||= (t) => e.$emit("changed")
1381
+ }, {
1382
+ default: b(({ from: e, to: t }) => [a("div", Xt, [s(u, {
1383
+ class: "bb:flex-1 bb:min-w-36",
1384
+ "model-value": e.value,
1385
+ "placeholder-text": e.placeholder,
1386
+ lang: n.lang,
1387
+ "onUpdate:modelValue": e.update
1388
+ }, null, 8, [
1389
+ "model-value",
1390
+ "placeholder-text",
1391
+ "lang",
1392
+ "onUpdate:modelValue"
1393
+ ]), s(u, {
1394
+ class: "bb:flex-1 bb:min-w-36",
1395
+ "model-value": t.value,
1396
+ "placeholder-text": t.placeholder,
1397
+ lang: n.lang,
1398
+ "onUpdate:modelValue": t.update
1399
+ }, null, 8, [
1400
+ "model-value",
1401
+ "placeholder-text",
1402
+ "lang",
1403
+ "onUpdate:modelValue"
1404
+ ])])]),
1405
+ _: 1
1406
+ }, 8, [
1407
+ "date-from",
1408
+ "date-to",
1231
1409
  "lang"
1232
- ]), s(u, {
1233
- modelValue: o.userDateTo,
1234
- "onUpdate:modelValue": t[1] ||= (e) => o.userDateTo = e,
1235
- class: "bb:flex-1 bb:min-w-36 bb:pl-3",
1236
- "placeholder-text": e.texts.dateTo,
1237
- lang: e.resolvedLang
1238
- }, null, 8, [
1239
- "modelValue",
1240
- "placeholder-text",
1410
+ ])])])]);
1411
+ }
1412
+ var Qt = /*#__PURE__*/ M(Kt, [["render", Zt]]), $t = {
1413
+ components: {
1414
+ Dot: N,
1415
+ SelectDate: Y,
1416
+ SelectDateInterval: X
1417
+ },
1418
+ emits: [
1419
+ "update:dateFrom",
1420
+ "update:dateTo",
1421
+ "changed"
1422
+ ],
1423
+ props: {
1424
+ dateFrom: {
1425
+ type: String,
1426
+ default: ""
1427
+ },
1428
+ dateTo: {
1429
+ type: String,
1430
+ default: ""
1431
+ },
1432
+ label: {
1433
+ type: String,
1434
+ required: !0
1435
+ },
1436
+ isRequired: {
1437
+ type: Boolean,
1438
+ default: !1
1439
+ },
1440
+ lang: {
1441
+ type: String,
1442
+ default: null
1443
+ }
1444
+ },
1445
+ setup() {
1446
+ return { labelId: v() };
1447
+ }
1448
+ }, en = { class: "bb-dashboard-ui" }, tn = { class: "bb:flex bb:items-center" }, nn = ["id", "textContent"], rn = ["aria-labelledby"], an = { class: "bb:flex bb:h-9.5 bb:w-full bb:rounded-md bb:border bb:border-gray-300 bb:bg-white bb:shadow-xs bb:text-sm bb:[--bb-field-radius:0.375rem]" }, on = { class: "bb:flex bb:h-9.5 bb:w-full bb:rounded-md bb:border bb:border-gray-300 bb:bg-white bb:shadow-xs bb:text-sm bb:[--bb-field-radius:0.375rem]" };
1449
+ function sn(e, t, n, r, o, c) {
1450
+ let l = h("dot"), u = h("select-date"), d = h("select-date-interval");
1451
+ return f(), i("div", en, [a("div", tn, [a("span", {
1452
+ id: r.labelId,
1453
+ class: "bb:block bb:text-sm bb:font-medium bb:leading-5 bb:text-gray-700",
1454
+ textContent: _(n.label ?? "")
1455
+ }, null, 8, nn), x(s(l, {
1456
+ color: "red",
1457
+ class: "bb:ml-2"
1458
+ }, null, 512), [[y, n.isRequired]])]), a("div", {
1459
+ class: "bb:mt-1 bb:grid bb:grid-cols-2 bb:gap-3",
1460
+ role: "group",
1461
+ "aria-labelledby": r.labelId
1462
+ }, [s(d, {
1463
+ "date-from": n.dateFrom,
1464
+ "date-to": n.dateTo,
1465
+ lang: n.lang,
1466
+ "onUpdate:dateFrom": t[0] ||= (t) => e.$emit("update:dateFrom", t),
1467
+ "onUpdate:dateTo": t[1] ||= (t) => e.$emit("update:dateTo", t),
1468
+ onChanged: t[2] ||= (t) => e.$emit("changed")
1469
+ }, {
1470
+ default: b(({ from: e, to: t }) => [a("div", an, [s(u, {
1471
+ class: "bb:flex-1",
1472
+ "model-value": e.value,
1473
+ "placeholder-text": e.placeholder,
1474
+ lang: n.lang,
1475
+ "onUpdate:modelValue": e.update
1476
+ }, null, 8, [
1477
+ "model-value",
1478
+ "placeholder-text",
1479
+ "lang",
1480
+ "onUpdate:modelValue"
1481
+ ])]), a("div", on, [s(u, {
1482
+ class: "bb:flex-1",
1483
+ "model-value": t.value,
1484
+ "placeholder-text": t.placeholder,
1485
+ lang: n.lang,
1486
+ "onUpdate:modelValue": t.update
1487
+ }, null, 8, [
1488
+ "model-value",
1489
+ "placeholder-text",
1490
+ "lang",
1491
+ "onUpdate:modelValue"
1492
+ ])])]),
1493
+ _: 1
1494
+ }, 8, [
1495
+ "date-from",
1496
+ "date-to",
1241
1497
  "lang"
1242
- ])])])])]);
1498
+ ])], 8, rn)]);
1243
1499
  }
1244
- var Ft = /*#__PURE__*/ N(kt, [["render", Pt]]), It = {
1500
+ var cn = /*#__PURE__*/ M($t, [["render", sn]]), ln = {
1245
1501
  components: {
1246
- PopoverPanel: K,
1247
- CrossButton: L
1502
+ PopoverPanel: W,
1503
+ CrossButton: I
1248
1504
  },
1249
1505
  emits: [
1250
1506
  "update:isOpen",
@@ -1283,6 +1539,10 @@ var Ft = /*#__PURE__*/ N(kt, [["render", Pt]]), It = {
1283
1539
  lang: {
1284
1540
  type: String,
1285
1541
  default: null
1542
+ },
1543
+ labelledBy: {
1544
+ type: String,
1545
+ default: null
1286
1546
  }
1287
1547
  },
1288
1548
  computed: { needsEraser() {
@@ -1292,10 +1552,14 @@ var Ft = /*#__PURE__*/ N(kt, [["render", Pt]]), It = {
1292
1552
  let e = this.$refs.eraser.$el;
1293
1553
  document.activeElement === e && e.matches(":focus-visible") && this.$refs.trigger.focus({ preventScroll: !0 }), this.$emit("erased");
1294
1554
  } }
1295
- }, 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"];
1296
- function Vt(e, t, o, c, l, u) {
1555
+ }, un = { class: "bb:flex bb:flex-col bb:grow" }, dn = { class: "bb:relative bb:flex bb:w-full bb:h-full" }, fn = [
1556
+ "id",
1557
+ "popovertarget",
1558
+ "aria-labelledby"
1559
+ ], pn = ["textContent"];
1560
+ function mn(e, t, o, c, l, u) {
1297
1561
  let d = h("popover-panel"), p = h("cross-button");
1298
- return f(), i("div", Lt, [a("div", Rt, [s(d, {
1562
+ return f(), i("div", un, [a("div", dn, [s(d, {
1299
1563
  class: "bb:flex bb:w-full bb:h-full",
1300
1564
  "model-value": o.isOpen,
1301
1565
  align: "start",
@@ -1314,11 +1578,12 @@ function Vt(e, t, o, c, l, u) {
1314
1578
  type: "button",
1315
1579
  id: e.id,
1316
1580
  popovertarget: e.popovertarget,
1317
- class: "bb:flex bb:w-full bb:h-full bb:items-center bb:focus-visible:focus-ring bb:cursor-pointer"
1581
+ "aria-labelledby": o.labelledBy ? o.labelledBy + " " + e.id : null,
1582
+ class: "bb:flex bb:w-full bb:h-full bb:items-center bb:focus-visible:focus-ring bb:cursor-pointer bb:rounded-[var(--bb-field-radius,0)]"
1318
1583
  }, [a("span", {
1319
1584
  class: "bb:flex bb:w-full bb:h-full bb:pl-3 bb:pr-12 bb:py-2 bb:items-center bb:whitespace-nowrap bb:leading-none bb:pointer-events-none bb:cursor-default",
1320
1585
  textContent: _(o.title)
1321
- }, null, 8, Bt)], 8, zt)]),
1586
+ }, null, 8, pn)], 8, fn)]),
1322
1587
  default: b(() => [m(e.$slots, "default")]),
1323
1588
  _: 3
1324
1589
  }, 8, [
@@ -1336,7 +1601,7 @@ function Vt(e, t, o, c, l, u) {
1336
1601
  class: "bb:absolute bb:right-0 bb:top-0 bb:pr-2 bb:h-full"
1337
1602
  }, null, 8, ["lang", "onClicked"])) : r("", !0)])]);
1338
1603
  }
1339
- var Ht = /*#__PURE__*/ N(It, [["render", Vt]]), Ut = {
1604
+ var hn = /*#__PURE__*/ M(ln, [["render", mn]]), gn = {
1340
1605
  props: {
1341
1606
  isChecked: {
1342
1607
  type: Boolean,
@@ -1348,33 +1613,32 @@ var Ht = /*#__PURE__*/ N(It, [["render", Vt]]), Ut = {
1348
1613
  methods: { toggle() {
1349
1614
  this.$emit("clicked");
1350
1615
  } }
1351
- }, Wt = { class: "bb:flex bb:w-9 bb:h-9 bb:items-center bb:justify-center bb:pointer-events-none bb:cursor-default" }, Gt = {
1616
+ }, _n = { class: "bb:flex bb:w-9 bb:h-9 bb:items-center bb:justify-center bb:pointer-events-none bb:cursor-default" }, vn = {
1352
1617
  class: "bb:w-5 bb:h-5 bb:fill-current bb:text-green-300",
1353
1618
  viewBox: "0 0 20 20",
1354
1619
  "aria-hidden": "true"
1355
- }, Kt = ["textContent"];
1356
- function qt(e, t, n, r, o, s) {
1620
+ }, yn = ["textContent"];
1621
+ function bn(e, t, n, r, o, s) {
1357
1622
  return f(), i("button", {
1358
1623
  type: "button",
1359
1624
  onClick: t[0] ||= C((...e) => s.toggle && s.toggle(...e), ["prevent"]),
1360
- class: "bb:flex bb:w-full bb:bg-white bb:cursor-pointer bb:focus:outline-hidden bb:focus:bg-indigo-100"
1361
- }, [a("span", Wt, [x((f(), i("svg", Gt, [...t[1] ||= [a("path", {
1625
+ class: "bb:flex bb:w-full bb:bg-white bb:cursor-pointer bb:focus:outline-hidden bb:hover:bg-indigo-100 bb:focus:bg-indigo-100"
1626
+ }, [a("span", _n, [x((f(), i("svg", vn, [...t[1] ||= [a("path", {
1362
1627
  d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",
1363
1628
  "clip-rule": "evenodd",
1364
1629
  "fill-rule": "evenodd"
1365
1630
  }, null, -1)]], 512)), [[y, n.isChecked]])]), a("span", {
1366
1631
  class: "bb:flex bb:h-9 bb:justify-center bb:items-center bb:pr-6 bb:whitespace-nowrap bb:select-none bb:pointer-events-none bb:cursor-default",
1367
1632
  textContent: _(n.name)
1368
- }, null, 8, Kt)]);
1633
+ }, null, 8, yn)]);
1369
1634
  }
1370
- var Jt = /*#__PURE__*/ N(Ut, [["render", qt]]), Yt = {
1635
+ var xn = /*#__PURE__*/ M(gn, [["render", bn]]), Sn = {
1371
1636
  components: {
1372
- ElementHeader: F,
1373
- DropdownButton: Ht,
1374
- ListElement: Jt,
1375
- CrossButton: L
1637
+ DropdownButton: hn,
1638
+ ListElement: xn,
1639
+ CrossButton: I
1376
1640
  },
1377
- mixins: [I],
1641
+ mixins: [F],
1378
1642
  emits: ["update:modelValue", "changed"],
1379
1643
  props: {
1380
1644
  items: {
@@ -1385,21 +1649,13 @@ var Jt = /*#__PURE__*/ N(Ut, [["render", qt]]), Yt = {
1385
1649
  type: Array,
1386
1650
  default: () => []
1387
1651
  },
1388
- header: {
1389
- type: String,
1390
- required: !0
1391
- },
1392
- isRequired: {
1393
- type: Boolean,
1394
- default: !1
1395
- },
1396
- isLoading: {
1397
- type: Boolean,
1398
- default: !1
1399
- },
1400
1652
  withSearch: {
1401
1653
  type: Boolean,
1402
1654
  default: !1
1655
+ },
1656
+ labelledBy: {
1657
+ type: String,
1658
+ default: null
1403
1659
  }
1404
1660
  },
1405
1661
  data() {
@@ -1413,7 +1669,7 @@ var Jt = /*#__PURE__*/ N(Ut, [["render", qt]]), Yt = {
1413
1669
  } },
1414
1670
  computed: {
1415
1671
  itemList() {
1416
- return Array.isArray(this.items) ? this.items : [];
1672
+ return Array.isArray(this.items) ? this.items.filter((e) => typeof e == "object" && !!e) : [];
1417
1673
  },
1418
1674
  selectedIds() {
1419
1675
  return Array.isArray(this.modelValue) ? this.modelValue : [];
@@ -1437,7 +1693,7 @@ var Jt = /*#__PURE__*/ N(Ut, [["render", qt]]), Yt = {
1437
1693
  return String(e.name ?? "");
1438
1694
  },
1439
1695
  itemClicked(e) {
1440
- this.itemElements()[this.visibleItems.indexOf(e)].focus({ preventScroll: !0 }), this.isOpen = !1, this.$emit("update:modelValue", this.selectedIds.includes(e.id) ? this.selectedIds.filter((t) => t !== e.id) : [...this.selectedIds, e.id]), this.$emit("changed");
1696
+ this.itemElements()[this.visibleItems.indexOf(e)]?.focus({ preventScroll: !0 }), this.isOpen = !1, this.$emit("update:modelValue", this.selectedIds.includes(e.id) ? this.selectedIds.filter((t) => t !== e.id) : [...this.selectedIds, e.id]), this.$emit("changed");
1441
1697
  },
1442
1698
  clear() {
1443
1699
  this.$emit("update:modelValue", []), this.$emit("changed");
@@ -1481,26 +1737,19 @@ var Jt = /*#__PURE__*/ N(Ut, [["render", qt]]), Yt = {
1481
1737
  this.query = "", this.$refs.search.focus();
1482
1738
  }
1483
1739
  }
1484
- }, Xt = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, Zt = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, Qt = {
1740
+ }, Cn = { class: "bb-dashboard-ui bb:flex bb:flex-col bb:grow" }, wn = {
1485
1741
  key: 0,
1486
1742
  class: "bb:sticky bb:top-0 bb:min-w-56 bb:px-2 bb:py-2 bb:bg-white bb:border-b bb:border-gray-200"
1487
- }, $t = { class: "bb:relative" }, en = ["placeholder", "aria-label"], tn = ["textContent"];
1488
- function nn(t, o, c, l, u, d) {
1489
- let m = h("element-header"), g = h("cross-button"), v = h("list-element"), ee = h("dropdown-button");
1490
- return f(), i("div", Xt, [a("div", Zt, [s(m, {
1491
- text: c.header,
1492
- "is-required": c.isRequired,
1493
- "is-loading": c.isLoading
1494
- }, null, 8, [
1495
- "text",
1496
- "is-required",
1497
- "is-loading"
1498
- ]), d.hasItems ? (f(), n(ee, {
1743
+ }, Tn = { class: "bb:relative" }, En = ["placeholder", "aria-label"], Dn = ["textContent"];
1744
+ function On(t, o, c, l, u, d) {
1745
+ let m = h("cross-button"), g = h("list-element"), v = h("dropdown-button");
1746
+ return f(), i("div", Cn, [d.hasItems ? (f(), n(v, {
1499
1747
  key: 0,
1500
1748
  title: d.title,
1501
1749
  "is-open": u.isOpen,
1502
1750
  "onUpdate:isOpen": o[3] ||= (e) => u.isOpen = e,
1503
1751
  "has-value": d.selectedItems.length > 0,
1752
+ "labelled-by": c.labelledBy,
1504
1753
  "find-selected": d.arrowsOrigin,
1505
1754
  "find-stops": d.searchStops,
1506
1755
  "find-tab-stops": d.tabStops,
@@ -1509,7 +1758,7 @@ function nn(t, o, c, l, u, d) {
1509
1758
  onErased: d.clear,
1510
1759
  onToggle: d.onToggle
1511
1760
  }, {
1512
- default: b(() => [c.withSearch ? (f(), i("div", Qt, [a("div", $t, [x(a("input", {
1761
+ default: b(() => [c.withSearch ? (f(), i("div", wn, [a("div", Tn, [x(a("input", {
1513
1762
  ref: "search",
1514
1763
  type: "text",
1515
1764
  autocomplete: "off",
@@ -1518,7 +1767,7 @@ function nn(t, o, c, l, u, d) {
1518
1767
  "aria-label": t.texts.search,
1519
1768
  class: "bb:w-full bb:pl-3 bb:pr-9 bb:py-2 bb:text-sm bb:bg-white bb:border bb:border-gray-300 bb:rounded-md bb:focus:focus-ring",
1520
1769
  onKeydown: o[1] ||= S(C(() => {}, ["prevent"]), ["enter"])
1521
- }, null, 40, en), [[te, u.query]]), x(s(g, {
1770
+ }, null, 40, En), [[te, u.query]]), x(s(m, {
1522
1771
  ref: "searchEraser",
1523
1772
  size: "small",
1524
1773
  lang: t.lang,
@@ -1529,7 +1778,7 @@ function nn(t, o, c, l, u, d) {
1529
1778
  ref: "list",
1530
1779
  class: "bb:flex bb:flex-col bb:py-1 bb:divide-y bb:divide-gray-200 bb:divide-dashed",
1531
1780
  onKeydown: o[2] ||= (...e) => d.onListKeydown && d.onListKeydown(...e)
1532
- }, [(f(!0), i(e, null, p(d.visibleItems, (e) => (f(), n(v, {
1781
+ }, [(f(!0), i(e, null, p(d.visibleItems, (e) => (f(), n(g, {
1533
1782
  name: d.itemName(e),
1534
1783
  key: e.id,
1535
1784
  "is-checked": d.selectedIds.includes(e.id),
@@ -1544,12 +1793,13 @@ function nn(t, o, c, l, u, d) {
1544
1793
  key: 2,
1545
1794
  class: "bb:px-3 bb:py-2 bb:text-sm bb:text-gray-500 bb:text-center",
1546
1795
  textContent: _(t.texts.nothingFound)
1547
- }, null, 8, tn))]),
1796
+ }, null, 8, Dn))]),
1548
1797
  _: 1
1549
1798
  }, 8, [
1550
1799
  "title",
1551
1800
  "is-open",
1552
1801
  "has-value",
1802
+ "labelled-by",
1553
1803
  "find-selected",
1554
1804
  "find-stops",
1555
1805
  "find-tab-stops",
@@ -1557,13 +1807,12 @@ function nn(t, o, c, l, u, d) {
1557
1807
  "lang",
1558
1808
  "onErased",
1559
1809
  "onToggle"
1560
- ])) : r("", !0)])]);
1810
+ ])) : r("", !0)]);
1561
1811
  }
1562
- var rn = /*#__PURE__*/ N(Yt, [["render", nn]]), an = {
1812
+ var kn = /*#__PURE__*/ M(Sn, [["render", On]]), An = {
1563
1813
  components: {
1564
- ElementHeader: F,
1565
- DropdownButton: Ht,
1566
- ListElement: Jt
1814
+ ElementHeader: P,
1815
+ SelectMultiple: kn
1567
1816
  },
1568
1817
  emits: ["update:modelValue", "changed"],
1569
1818
  props: {
@@ -1572,8 +1821,8 @@ var rn = /*#__PURE__*/ N(Yt, [["render", nn]]), an = {
1572
1821
  required: !0
1573
1822
  },
1574
1823
  modelValue: {
1575
- type: [String, Number],
1576
- default: null
1824
+ type: Array,
1825
+ default: () => []
1577
1826
  },
1578
1827
  header: {
1579
1828
  type: String,
@@ -1586,6 +1835,120 @@ var rn = /*#__PURE__*/ N(Yt, [["render", nn]]), an = {
1586
1835
  isLoading: {
1587
1836
  type: Boolean,
1588
1837
  default: !1
1838
+ },
1839
+ withSearch: {
1840
+ type: Boolean,
1841
+ default: !1
1842
+ },
1843
+ lang: {
1844
+ type: String,
1845
+ default: null
1846
+ }
1847
+ }
1848
+ }, jn = { class: "bb-dashboard-ui bb:flex bb:flex-none bb:w-fit bb:h-18 bb:border bb:border-gray-200" }, Mn = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" };
1849
+ function Nn(e, t, n, r, o, c) {
1850
+ let l = h("element-header"), u = h("select-multiple");
1851
+ return f(), i("div", jn, [a("div", Mn, [s(l, {
1852
+ text: n.header ?? "",
1853
+ "is-required": n.isRequired,
1854
+ "is-loading": n.isLoading
1855
+ }, null, 8, [
1856
+ "text",
1857
+ "is-required",
1858
+ "is-loading"
1859
+ ]), s(u, {
1860
+ items: n.items,
1861
+ "model-value": n.modelValue,
1862
+ "with-search": n.withSearch,
1863
+ lang: n.lang,
1864
+ "onUpdate:modelValue": t[0] ||= (t) => e.$emit("update:modelValue", t),
1865
+ onChanged: t[1] ||= (t) => e.$emit("changed")
1866
+ }, null, 8, [
1867
+ "items",
1868
+ "model-value",
1869
+ "with-search",
1870
+ "lang"
1871
+ ])])]);
1872
+ }
1873
+ var Pn = /*#__PURE__*/ M(An, [["render", Nn]]), Fn = {
1874
+ components: {
1875
+ Dot: N,
1876
+ SelectMultiple: kn
1877
+ },
1878
+ emits: ["update:modelValue", "changed"],
1879
+ props: {
1880
+ items: {
1881
+ type: Array,
1882
+ required: !0
1883
+ },
1884
+ modelValue: {
1885
+ type: Array,
1886
+ default: () => []
1887
+ },
1888
+ label: {
1889
+ type: String,
1890
+ required: !0
1891
+ },
1892
+ isRequired: {
1893
+ type: Boolean,
1894
+ default: !1
1895
+ },
1896
+ withSearch: {
1897
+ type: Boolean,
1898
+ default: !1
1899
+ },
1900
+ lang: {
1901
+ type: String,
1902
+ default: null
1903
+ }
1904
+ },
1905
+ setup() {
1906
+ return { labelId: v() };
1907
+ }
1908
+ }, In = { class: "bb-dashboard-ui" }, Ln = { class: "bb:flex bb:items-center" }, Rn = ["id", "textContent"], zn = { class: "bb:mt-1 bb:h-9.5 bb:w-full bb:rounded-md bb:[--bb-field-radius:0.375rem] bb:border bb:border-gray-300 bb:bg-white bb:shadow-xs bb:text-sm bb:flex bb:flex-col" };
1909
+ function Bn(e, t, n, r, o, c) {
1910
+ let l = h("dot"), u = h("select-multiple");
1911
+ return f(), i("div", In, [a("div", Ln, [a("span", {
1912
+ id: r.labelId,
1913
+ class: "bb:block bb:text-sm bb:font-medium bb:leading-5 bb:text-gray-700",
1914
+ textContent: _(n.label ?? "")
1915
+ }, null, 8, Rn), x(s(l, {
1916
+ color: "red",
1917
+ class: "bb:ml-2"
1918
+ }, null, 512), [[y, n.isRequired]])]), a("div", zn, [s(u, {
1919
+ items: n.items,
1920
+ "model-value": n.modelValue,
1921
+ "with-search": n.withSearch,
1922
+ lang: n.lang,
1923
+ "labelled-by": r.labelId,
1924
+ "onUpdate:modelValue": t[0] ||= (t) => e.$emit("update:modelValue", t),
1925
+ onChanged: t[1] ||= (t) => e.$emit("changed")
1926
+ }, null, 8, [
1927
+ "items",
1928
+ "model-value",
1929
+ "with-search",
1930
+ "lang",
1931
+ "labelled-by"
1932
+ ])])]);
1933
+ }
1934
+ var Vn = /*#__PURE__*/ M(Fn, [["render", Bn]]), Hn = {
1935
+ components: {
1936
+ DropdownButton: hn,
1937
+ ListElement: xn
1938
+ },
1939
+ emits: ["update:modelValue", "changed"],
1940
+ props: {
1941
+ items: {
1942
+ type: Array,
1943
+ required: !0
1944
+ },
1945
+ modelValue: {
1946
+ type: [String, Number],
1947
+ default: null
1948
+ },
1949
+ labelledBy: {
1950
+ type: String,
1951
+ default: null
1589
1952
  }
1590
1953
  },
1591
1954
  data() {
@@ -1596,7 +1959,7 @@ var rn = /*#__PURE__*/ N(Yt, [["render", nn]]), an = {
1596
1959
  } },
1597
1960
  computed: {
1598
1961
  itemList() {
1599
- return this.items ?? [];
1962
+ return Array.isArray(this.items) ? this.items.filter((e) => typeof e == "object" && !!e) : [];
1600
1963
  },
1601
1964
  activeItem() {
1602
1965
  return this.itemList.find((e) => e.id === this.modelValue) ?? null;
@@ -1613,7 +1976,7 @@ var rn = /*#__PURE__*/ N(Yt, [["render", nn]]), an = {
1613
1976
  },
1614
1977
  methods: {
1615
1978
  itemClicked(e) {
1616
- this.isOpen = !1, this.$emit("update:modelValue", e.id === this.modelValue ? null : e.id), this.$emit("changed");
1979
+ this.$refs.list.querySelectorAll("button")[this.itemList.indexOf(e)]?.focus({ preventScroll: !0 }), this.isOpen = !1, this.$emit("update:modelValue", e.id === this.modelValue ? null : e.id), this.$emit("changed");
1617
1980
  },
1618
1981
  clear() {
1619
1982
  this.$emit("update:modelValue", null), this.$emit("changed");
@@ -1626,35 +1989,28 @@ var rn = /*#__PURE__*/ N(Yt, [["render", nn]]), an = {
1626
1989
  return this.$refs.list ? [...this.$refs.list.querySelectorAll(":scope > button")] : [];
1627
1990
  }
1628
1991
  }
1629
- }, on = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, sn = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, cn = {
1992
+ }, Un = { class: "bb-dashboard-ui bb:flex bb:flex-col bb:grow" }, Wn = {
1630
1993
  ref: "list",
1631
1994
  class: "bb:flex bb:flex-col bb:py-1 bb:divide-y bb:divide-gray-200 bb:divide-dashed"
1632
1995
  };
1633
- function ln(t, o, c, l, u, d) {
1634
- let m = h("element-header"), g = h("list-element"), _ = h("dropdown-button");
1635
- return f(), i("div", on, [a("div", sn, [s(m, {
1636
- text: c.header,
1637
- "is-required": c.isRequired,
1638
- "is-loading": c.isLoading
1639
- }, null, 8, [
1640
- "text",
1641
- "is-required",
1642
- "is-loading"
1643
- ]), d.hasItems ? (f(), n(_, {
1996
+ function Gn(t, o, s, c, l, u) {
1997
+ let d = h("list-element"), m = h("dropdown-button");
1998
+ return f(), i("div", Un, [u.hasItems ? (f(), n(m, {
1644
1999
  key: 0,
1645
- title: d.activeItemName,
1646
- "is-open": u.isOpen,
1647
- "onUpdate:isOpen": o[0] ||= (e) => u.isOpen = e,
1648
- "has-value": d.hasValue,
1649
- "find-selected": d.activeItemElement,
1650
- "find-tab-stops": d.itemStops,
1651
- onErased: d.clear
2000
+ title: u.activeItemName,
2001
+ "is-open": l.isOpen,
2002
+ "onUpdate:isOpen": o[0] ||= (e) => l.isOpen = e,
2003
+ "has-value": u.hasValue,
2004
+ "labelled-by": s.labelledBy,
2005
+ "find-selected": u.activeItemElement,
2006
+ "find-tab-stops": u.itemStops,
2007
+ onErased: u.clear
1652
2008
  }, {
1653
- default: b(() => [a("div", cn, [(f(!0), i(e, null, p(d.itemList, (e) => (f(), n(g, {
2009
+ default: b(() => [a("div", Wn, [(f(!0), i(e, null, p(u.itemList, (e) => (f(), n(d, {
1654
2010
  name: e.name,
1655
2011
  key: e.id,
1656
- "is-checked": e.id === c.modelValue,
1657
- onClicked: (t) => d.itemClicked(e)
2012
+ "is-checked": e.id === s.modelValue,
2013
+ onClicked: (t) => u.itemClicked(e)
1658
2014
  }, null, 8, [
1659
2015
  "name",
1660
2016
  "is-checked",
@@ -1665,13 +2021,109 @@ function ln(t, o, c, l, u, d) {
1665
2021
  "title",
1666
2022
  "is-open",
1667
2023
  "has-value",
2024
+ "labelled-by",
1668
2025
  "find-selected",
1669
2026
  "find-tab-stops",
1670
2027
  "onErased"
1671
- ])) : r("", !0)])]);
2028
+ ])) : r("", !0)]);
2029
+ }
2030
+ var Kn = /*#__PURE__*/ M(Hn, [["render", Gn]]), qn = {
2031
+ components: {
2032
+ ElementHeader: P,
2033
+ SelectSingle: Kn
2034
+ },
2035
+ emits: ["update:modelValue", "changed"],
2036
+ props: {
2037
+ items: {
2038
+ type: Array,
2039
+ required: !0
2040
+ },
2041
+ modelValue: {
2042
+ type: [String, Number],
2043
+ default: null
2044
+ },
2045
+ header: {
2046
+ type: String,
2047
+ required: !0
2048
+ },
2049
+ isRequired: {
2050
+ type: Boolean,
2051
+ default: !1
2052
+ },
2053
+ isLoading: {
2054
+ type: Boolean,
2055
+ default: !1
2056
+ }
2057
+ }
2058
+ }, Jn = { class: "bb-dashboard-ui bb:flex bb:flex-none bb:w-fit bb:h-18 bb:border bb:border-gray-200" }, Yn = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" };
2059
+ function Xn(e, t, n, r, o, c) {
2060
+ let l = h("element-header"), u = h("select-single");
2061
+ return f(), i("div", Jn, [a("div", Yn, [s(l, {
2062
+ text: n.header ?? "",
2063
+ "is-required": n.isRequired,
2064
+ "is-loading": n.isLoading
2065
+ }, null, 8, [
2066
+ "text",
2067
+ "is-required",
2068
+ "is-loading"
2069
+ ]), s(u, {
2070
+ items: n.items,
2071
+ "model-value": n.modelValue,
2072
+ "onUpdate:modelValue": t[0] ||= (t) => e.$emit("update:modelValue", t),
2073
+ onChanged: t[1] ||= (t) => e.$emit("changed")
2074
+ }, null, 8, ["items", "model-value"])])]);
2075
+ }
2076
+ var Zn = /*#__PURE__*/ M(qn, [["render", Xn]]), Qn = {
2077
+ components: {
2078
+ Dot: N,
2079
+ SelectSingle: Kn
2080
+ },
2081
+ emits: ["update:modelValue", "changed"],
2082
+ props: {
2083
+ items: {
2084
+ type: Array,
2085
+ required: !0
2086
+ },
2087
+ modelValue: {
2088
+ type: [String, Number],
2089
+ default: null
2090
+ },
2091
+ label: {
2092
+ type: String,
2093
+ required: !0
2094
+ },
2095
+ isRequired: {
2096
+ type: Boolean,
2097
+ default: !1
2098
+ }
2099
+ },
2100
+ setup() {
2101
+ return { labelId: v() };
2102
+ }
2103
+ }, $n = { class: "bb-dashboard-ui" }, er = { class: "bb:flex bb:items-center" }, tr = ["id", "textContent"], nr = { class: "bb:mt-1 bb:h-9.5 bb:w-full bb:rounded-md bb:[--bb-field-radius:0.375rem] bb:border bb:border-gray-300 bb:bg-white bb:shadow-xs bb:text-sm bb:flex bb:flex-col" };
2104
+ function rr(e, t, n, r, o, c) {
2105
+ let l = h("dot"), u = h("select-single");
2106
+ return f(), i("div", $n, [a("div", er, [a("span", {
2107
+ id: r.labelId,
2108
+ class: "bb:block bb:text-sm bb:font-medium bb:leading-5 bb:text-gray-700",
2109
+ textContent: _(n.label ?? "")
2110
+ }, null, 8, tr), x(s(l, {
2111
+ color: "red",
2112
+ class: "bb:ml-2"
2113
+ }, null, 512), [[y, n.isRequired]])]), a("div", nr, [s(u, {
2114
+ items: n.items,
2115
+ "model-value": n.modelValue,
2116
+ "labelled-by": r.labelId,
2117
+ "onUpdate:modelValue": t[0] ||= (t) => e.$emit("update:modelValue", t),
2118
+ onChanged: t[1] ||= (t) => e.$emit("changed")
2119
+ }, null, 8, [
2120
+ "items",
2121
+ "model-value",
2122
+ "labelled-by"
2123
+ ])])]);
1672
2124
  }
1673
- var un = /*#__PURE__*/ N(an, [["render", ln]]), dn = {
1674
- mixins: [M],
2125
+ var ir = /*#__PURE__*/ M(Qn, [["render", rr]]), ar = {
2126
+ mixins: [j],
1675
2127
  props: {
1676
2128
  text: {
1677
2129
  type: String,
@@ -1680,17 +2132,17 @@ var un = /*#__PURE__*/ N(an, [["render", ln]]), dn = {
1680
2132
  color: {
1681
2133
  type: String,
1682
2134
  required: !0,
1683
- validator: j
2135
+ validator: A
1684
2136
  }
1685
2137
  }
1686
- }, fn = ["textContent"];
1687
- function pn(e, t, n, r, a, o) {
2138
+ }, or = ["textContent"];
2139
+ function sr(e, t, n, r, a, o) {
1688
2140
  return f(), i("span", {
1689
2141
  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")]),
1690
2142
  textContent: _(n.text)
1691
- }, null, 10, fn);
2143
+ }, null, 10, or);
1692
2144
  }
1693
- var mn = /*#__PURE__*/ N(dn, [["render", pn]]), hn = {
2145
+ var cr = /*#__PURE__*/ M(ar, [["render", sr]]), lr = {
1694
2146
  props: {
1695
2147
  messages: {
1696
2148
  type: [Object, Array],
@@ -1710,12 +2162,12 @@ var mn = /*#__PURE__*/ N(dn, [["render", pn]]), hn = {
1710
2162
  return this.type === "dangerous";
1711
2163
  }
1712
2164
  }
1713
- }, gn = { class: "bb:flex" }, _n = { class: "bb:shrink-0" }, vn = { class: "bb:ml-3" }, yn = ["textContent"];
1714
- function bn(t, n, o, s, c, l) {
2165
+ }, ur = { class: "bb:flex" }, dr = { class: "bb:shrink-0" }, fr = { class: "bb:ml-3" }, pr = ["textContent"];
2166
+ function mr(t, n, o, s, c, l) {
1715
2167
  return l.hasErrors ? (f(), i("div", {
1716
2168
  key: 0,
1717
2169
  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"])
1718
- }, [a("div", gn, [a("div", _n, [(f(), i("svg", {
2170
+ }, [a("div", ur, [a("div", dr, [(f(), i("svg", {
1719
2171
  class: u(["bb:h-5 bb:w-5", l.isDangerous ? "bb:text-red-400" : "bb:text-yellow-400"]),
1720
2172
  viewBox: "0 0 20 20",
1721
2173
  fill: "currentColor"
@@ -1723,21 +2175,21 @@ function bn(t, n, o, s, c, l) {
1723
2175
  "fill-rule": "evenodd",
1724
2176
  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",
1725
2177
  "clip-rule": "evenodd"
1726
- }, null, -1)]], 2))]), a("div", vn, [(f(!0), i(e, null, p(o.messages, (e, t) => (f(), i("p", {
2178
+ }, null, -1)]], 2))]), a("div", fr, [(f(!0), i(e, null, p(o.messages, (e, t) => (f(), i("p", {
1727
2179
  class: u(["bb:text-sm bb:leading-5", l.isDangerous ? "bb:text-red-700" : "bb:text-yellow-700"]),
1728
2180
  key: t,
1729
2181
  textContent: _(e)
1730
- }, null, 10, yn))), 128))])])], 2)) : r("", !0);
2182
+ }, null, 10, pr))), 128))])])], 2)) : r("", !0);
1731
2183
  }
1732
- var xn = /*#__PURE__*/ N(hn, [["render", bn]]), Sn = [
2184
+ var hr = /*#__PURE__*/ M(lr, [["render", mr]]), gr = [
1733
2185
  "text",
1734
2186
  "email",
1735
2187
  "password",
1736
2188
  "tel",
1737
2189
  "url",
1738
2190
  "search"
1739
- ], Cn = {
1740
- components: { Dot: P },
2191
+ ], _r = {
2192
+ components: { Dot: N },
1741
2193
  inheritAttrs: !1,
1742
2194
  props: {
1743
2195
  modelValue: {
@@ -1751,7 +2203,7 @@ var xn = /*#__PURE__*/ N(hn, [["render", bn]]), Sn = [
1751
2203
  type: {
1752
2204
  type: String,
1753
2205
  default: "text",
1754
- validator: (e) => Sn.includes(e)
2206
+ validator: (e) => gr.includes(e)
1755
2207
  },
1756
2208
  isRequired: {
1757
2209
  type: Boolean,
@@ -1772,7 +2224,7 @@ var xn = /*#__PURE__*/ N(hn, [["render", bn]]), Sn = [
1772
2224
  }
1773
2225
  },
1774
2226
  inputType() {
1775
- return Sn.includes(this.type) ? this.type : "text";
2227
+ return gr.includes(this.type) ? this.type : "text";
1776
2228
  }
1777
2229
  },
1778
2230
  methods: {
@@ -1787,26 +2239,26 @@ var xn = /*#__PURE__*/ N(hn, [["render", bn]]), Sn = [
1787
2239
  ].includes(e)));
1788
2240
  }
1789
2241
  }
1790
- }, wn = { class: "bb:flex bb:items-center" }, Tn = ["for", "textContent"], En = ["id", "type"];
1791
- function Dn(e, t, n, r, o, c) {
2242
+ }, vr = { class: "bb:flex bb:items-center" }, yr = ["for", "textContent"], br = ["id", "type"];
2243
+ function xr(e, t, n, r, o, c) {
1792
2244
  let p = h("dot");
1793
2245
  return f(), i("div", {
1794
2246
  class: u(["bb-dashboard-ui", e.$attrs.class]),
1795
2247
  style: d(e.$attrs.style)
1796
- }, [a("div", wn, [a("label", {
2248
+ }, [a("div", vr, [a("label", {
1797
2249
  for: c.inputId(),
1798
2250
  class: "bb:block bb:text-sm bb:font-medium bb:leading-5 bb:text-gray-700",
1799
2251
  textContent: _(n.label)
1800
- }, null, 8, Tn), x(s(p, {
2252
+ }, null, 8, yr), x(s(p, {
1801
2253
  color: "red",
1802
2254
  class: "bb:ml-2"
1803
2255
  }, null, 512), [[y, n.isRequired]])]), x(a("input", l({ "onUpdate:modelValue": t[0] ||= (e) => c.value = e }, { ...c.inputAttrs() }, {
1804
2256
  id: c.inputId(),
1805
2257
  type: c.inputType,
1806
2258
  class: "bb:mt-1 bb:block bb:w-full bb:rounded-md bb:border bb:border-gray-300 bb:bg-white bb:px-3 bb:py-2 bb:text-sm bb:leading-5 bb:shadow-xs bb:focus:focus-ring"
1807
- }), null, 16, En), [[ee, c.value]])], 6);
2259
+ }), null, 16, br), [[ee, c.value]])], 6);
1808
2260
  }
1809
- var On = /*#__PURE__*/ N(Cn, [["render", Dn]]), kn = {}, An = {
2261
+ var Sr = /*#__PURE__*/ M(_r, [["render", xr]]), Cr = {}, wr = {
1810
2262
  class: "bb:w-4 bb:h-4",
1811
2263
  fill: "none",
1812
2264
  stroke: "currentColor",
@@ -1816,8 +2268,8 @@ var On = /*#__PURE__*/ N(Cn, [["render", Dn]]), kn = {}, An = {
1816
2268
  xmlns: "http://www.w3.org/2000/svg",
1817
2269
  "aria-hidden": "true"
1818
2270
  };
1819
- function jn(e, t, n, r, o, s) {
1820
- return f(), i("svg", An, [...t[0] ||= [
2271
+ function Tr(e, t, n, r, o, s) {
2272
+ return f(), i("svg", wr, [...t[0] ||= [
1821
2273
  a("circle", {
1822
2274
  cx: "12",
1823
2275
  cy: "12",
@@ -1839,7 +2291,7 @@ function jn(e, t, n, r, o, s) {
1839
2291
  }, null, -1)
1840
2292
  ]]);
1841
2293
  }
1842
- var Mn = /*#__PURE__*/ N(kn, [["render", jn]]), Nn = {}, Pn = {
2294
+ var Er = /*#__PURE__*/ M(Cr, [["render", Tr]]), Dr = {}, Or = {
1843
2295
  class: "bb:w-4 bb:h-4",
1844
2296
  fill: "none",
1845
2297
  stroke: "currentColor",
@@ -1847,15 +2299,15 @@ var Mn = /*#__PURE__*/ N(kn, [["render", jn]]), Nn = {}, Pn = {
1847
2299
  xmlns: "http://www.w3.org/2000/svg",
1848
2300
  "aria-hidden": "true"
1849
2301
  };
1850
- function Fn(e, t, n, r, o, s) {
1851
- return f(), i("svg", Pn, [...t[0] ||= [a("path", {
2302
+ function kr(e, t, n, r, o, s) {
2303
+ return f(), i("svg", Or, [...t[0] ||= [a("path", {
1852
2304
  "stroke-linecap": "round",
1853
2305
  "stroke-linejoin": "round",
1854
2306
  "stroke-width": "2",
1855
2307
  d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"
1856
2308
  }, null, -1)]]);
1857
2309
  }
1858
- var In = /*#__PURE__*/ N(Nn, [["render", Fn]]), Ln = {}, Rn = {
2310
+ var Ar = /*#__PURE__*/ M(Dr, [["render", kr]]), jr = {}, Mr = {
1859
2311
  class: "bb:w-4 bb:h-4",
1860
2312
  fill: "none",
1861
2313
  stroke: "currentColor",
@@ -1863,21 +2315,21 @@ var In = /*#__PURE__*/ N(Nn, [["render", Fn]]), Ln = {}, Rn = {
1863
2315
  xmlns: "http://www.w3.org/2000/svg",
1864
2316
  "aria-hidden": "true"
1865
2317
  };
1866
- function zn(e, t, n, r, o, s) {
1867
- return f(), i("svg", Rn, [...t[0] ||= [a("path", {
2318
+ function Nr(e, t, n, r, o, s) {
2319
+ return f(), i("svg", Mr, [...t[0] ||= [a("path", {
1868
2320
  "stroke-linecap": "round",
1869
2321
  "stroke-linejoin": "round",
1870
2322
  "stroke-width": "2",
1871
2323
  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"
1872
2324
  }, null, -1)]]);
1873
2325
  }
1874
- var Bn = /*#__PURE__*/ N(Ln, [["render", zn]]), Vn = ["download", "refresh"], Hn = {
2326
+ var Pr = /*#__PURE__*/ M(jr, [["render", Nr]]), Fr = ["download", "refresh"], Ir = {
1875
2327
  components: {
1876
- "clock-icon": Mn,
1877
- "download-icon": In,
1878
- "refresh-icon": Bn
2328
+ "clock-icon": Er,
2329
+ "download-icon": Ar,
2330
+ "refresh-icon": Pr
1879
2331
  },
1880
- mixins: [M],
2332
+ mixins: [j],
1881
2333
  emits: ["click"],
1882
2334
  props: {
1883
2335
  title: {
@@ -1887,12 +2339,12 @@ var Bn = /*#__PURE__*/ N(Ln, [["render", zn]]), Vn = ["download", "refresh"], Hn
1887
2339
  icon: {
1888
2340
  type: String,
1889
2341
  required: !0,
1890
- validator: (e) => Vn.includes(e)
2342
+ validator: (e) => Fr.includes(e)
1891
2343
  },
1892
2344
  color: {
1893
2345
  type: String,
1894
2346
  default: "purple",
1895
- validator: j
2347
+ validator: A
1896
2348
  },
1897
2349
  isLoading: {
1898
2350
  type: Boolean,
@@ -1907,12 +2359,12 @@ var Bn = /*#__PURE__*/ N(Ln, [["render", zn]]), Vn = ["download", "refresh"], Hn
1907
2359
  let e = this.isLoading && typeof this.loadingText == "string" && this.loadingText !== "" ? this.loadingText : this.title;
1908
2360
  return typeof e == "string" ? e : "";
1909
2361
  } }
1910
- }, Un = [
2362
+ }, Lr = [
1911
2363
  "title",
1912
2364
  "disabled",
1913
2365
  "aria-busy"
1914
- ], Wn = ["textContent"];
1915
- function Gn(e, t, o, s, c, l) {
2366
+ ], Rr = ["textContent"];
2367
+ function zr(e, t, o, s, c, l) {
1916
2368
  let d = h("clock-icon"), p = h("download-icon"), m = h("refresh-icon");
1917
2369
  return f(), i("button", {
1918
2370
  type: "button",
@@ -1937,19 +2389,19 @@ function Gn(e, t, o, s, c, l) {
1937
2389
  })) : r("", !0), a("span", {
1938
2390
  class: "bb:ml-1 bb:pointer-events-none bb:cursor-default",
1939
2391
  textContent: _(l.label)
1940
- }, null, 8, Wn)], 10, Un);
2392
+ }, null, 8, Rr)], 10, Lr);
1941
2393
  }
1942
- var Kn = /*#__PURE__*/ N(Hn, [["render", Gn]]), qn = "a[href], button:not(:disabled)";
1943
- function Jn(e, t) {
2394
+ var Br = /*#__PURE__*/ M(Ir, [["render", zr]]), Vr = "a[href], button:not(:disabled)";
2395
+ function Hr(e, t) {
1944
2396
  let n = document.activeElement;
1945
- (e.querySelector("[data-dialog-focus]") ?? e.querySelector(qn))?.focus();
2397
+ (e.querySelector("[data-dialog-focus]") ?? e.querySelector(Vr))?.focus();
1946
2398
  let r = (n) => {
1947
2399
  if (n.key === "Escape") {
1948
2400
  t();
1949
2401
  return;
1950
2402
  }
1951
2403
  if (n.key !== "Tab") return;
1952
- let r = [...e.querySelectorAll(qn)];
2404
+ let r = [...e.querySelectorAll(Vr)];
1953
2405
  if (r.length === 0) return;
1954
2406
  n.preventDefault();
1955
2407
  let i = n.shiftKey ? -1 : 1, a = r.indexOf(document.activeElement);
@@ -1966,7 +2418,7 @@ function Jn(e, t) {
1966
2418
  }
1967
2419
  //#endregion
1968
2420
  //#region src/components/Modal.vue
1969
- var Yn = {
2421
+ var Ur = {
1970
2422
  emits: ["escape"],
1971
2423
  props: {
1972
2424
  isOpen: {
@@ -2000,16 +2452,16 @@ var Yn = {
2000
2452
  methods: {
2001
2453
  holdFocus() {
2002
2454
  this.focusFrame === null && this.releaseHeldFocus === null && (this.focusFrame = requestAnimationFrame(() => {
2003
- this.focusFrame = null, this.releaseHeldFocus = Jn(this.$refs.panel, () => this.$emit("escape"));
2455
+ this.focusFrame = null, this.releaseHeldFocus = Hr(this.$refs.panel, () => this.$emit("escape"));
2004
2456
  }));
2005
2457
  },
2006
2458
  releaseFocus() {
2007
2459
  this.focusFrame !== null && (cancelAnimationFrame(this.focusFrame), this.focusFrame = null), this.releaseHeldFocus !== null && (this.releaseHeldFocus(), this.releaseHeldFocus = null);
2008
2460
  }
2009
2461
  }
2010
- }, Xn = { class: "bb:min-h-screen bb:text-center" }, Zn = { class: "bb:fixed bb:inset-0 bb:transition-opacity" }, Qn = ["aria-labelledby"];
2011
- function $n(e, n, r, o, c, l) {
2012
- 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", Xn, [
2462
+ }, Wr = { class: "bb:min-h-screen bb:text-center" }, Gr = { class: "bb:fixed bb:inset-0 bb:transition-opacity" }, Kr = ["aria-labelledby"];
2463
+ function qr(e, n, r, o, c, l) {
2464
+ return f(), i("div", { class: u(["bb-dashboard-ui bb:fixed bb:inset-0 bb:overflow-y-auto bb:z-20", { "bb:pointer-events-none": !r.isOpen }]) }, [a("div", Wr, [
2013
2465
  s(t, {
2014
2466
  "enter-active-class": "bb:ease-out bb:duration-300",
2015
2467
  "enter-from-class": "bb:opacity-0",
@@ -2018,7 +2470,7 @@ function $n(e, n, r, o, c, l) {
2018
2470
  "leave-from-class": "bb:opacity-100",
2019
2471
  "leave-to-class": "bb:opacity-0"
2020
2472
  }, {
2021
- default: b(() => [x(a("div", Zn, [...n[0] ||= [a("div", { class: "bb:absolute bb:inset-0 bb:bg-gray-500 bb:opacity-75" }, null, -1)]], 512), [[y, r.isOpen]])]),
2473
+ default: b(() => [x(a("div", Gr, [...n[0] ||= [a("div", { class: "bb:absolute bb:inset-0 bb:bg-gray-500 bb:opacity-75" }, null, -1)]], 512), [[y, r.isOpen]])]),
2022
2474
  _: 1
2023
2475
  }),
2024
2476
  n[1] ||= a("span", { class: "bb:inline-block bb:align-middle bb:h-screen" }, null, -1),
@@ -2036,12 +2488,12 @@ function $n(e, n, r, o, c, l) {
2036
2488
  role: "dialog",
2037
2489
  "aria-modal": "true",
2038
2490
  "aria-labelledby": r.headingId
2039
- }, [m(e.$slots, "default")], 8, Qn), [[y, r.isOpen]])]),
2491
+ }, [m(e.$slots, "default")], 8, Kr), [[y, r.isOpen]])]),
2040
2492
  _: 3
2041
2493
  })
2042
2494
  ])], 2);
2043
2495
  }
2044
- var er = /*#__PURE__*/ N(Yn, [["render", $n]]), tr = {}, nr = {
2496
+ var Jr = /*#__PURE__*/ M(Ur, [["render", qr]]), Yr = {}, Xr = {
2045
2497
  class: "bb:h-7 bb:w-7 bb:text-red-600",
2046
2498
  xmlns: "http://www.w3.org/2000/svg",
2047
2499
  fill: "none",
@@ -2049,35 +2501,35 @@ var er = /*#__PURE__*/ N(Yn, [["render", $n]]), tr = {}, nr = {
2049
2501
  stroke: "currentColor",
2050
2502
  "aria-hidden": "true"
2051
2503
  };
2052
- function rr(e, t, n, r, o, s) {
2053
- return f(), i("svg", nr, [...t[0] ||= [a("path", {
2504
+ function Zr(e, t, n, r, o, s) {
2505
+ return f(), i("svg", Xr, [...t[0] ||= [a("path", {
2054
2506
  "stroke-linecap": "round",
2055
2507
  "stroke-linejoin": "round",
2056
2508
  "stroke-width": "2",
2057
2509
  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"
2058
2510
  }, null, -1)]]);
2059
2511
  }
2060
- var ir = /*#__PURE__*/ N(tr, [["render", rr]]), ar = {}, or = {
2512
+ var Qr = /*#__PURE__*/ M(Yr, [["render", Zr]]), $r = {}, ei = {
2061
2513
  class: "bb:h-7 bb:w-7 bb:text-yellow-400",
2062
2514
  xmlns: "http://www.w3.org/2000/svg",
2063
2515
  viewBox: "0 0 20 20",
2064
2516
  fill: "currentColor",
2065
2517
  "aria-hidden": "true"
2066
2518
  };
2067
- function sr(e, t, n, r, o, s) {
2068
- return f(), i("svg", or, [...t[0] ||= [a("path", {
2519
+ function ti(e, t, n, r, o, s) {
2520
+ return f(), i("svg", ei, [...t[0] ||= [a("path", {
2069
2521
  "fill-rule": "evenodd",
2070
2522
  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",
2071
2523
  "clip-rule": "evenodd"
2072
2524
  }, null, -1)]]);
2073
2525
  }
2074
- var cr = /*#__PURE__*/ N(ar, [["render", sr]]), lr = {
2526
+ var ni = /*#__PURE__*/ M($r, [["render", ti]]), ri = {
2075
2527
  components: {
2076
- Modal: er,
2077
- Dangerous: ir,
2078
- Warning: cr
2528
+ Modal: Jr,
2529
+ Dangerous: Qr,
2530
+ Warning: ni
2079
2531
  },
2080
- mixins: [I],
2532
+ mixins: [F],
2081
2533
  emits: ["actionConfirmed", "actionCanceled"],
2082
2534
  props: {
2083
2535
  isOpen: {
@@ -2117,21 +2569,21 @@ var cr = /*#__PURE__*/ N(ar, [["render", sr]]), lr = {
2117
2569
  return this.type === "warning";
2118
2570
  }
2119
2571
  }
2120
- }, ur = { class: "bb:flex bb:bg-white bb:rounded-t-lg bb:p-6 bb:pb-4" }, dr = { class: "bb:flex bb:items-start" }, fr = { class: "bb:ml-4 bb:text-left" }, pr = ["id"], mr = { class: "bb:mt-2" }, hr = { class: "bb:text-sm bb:text-gray-500" }, gr = { class: "bb:bg-gray-50 bb:rounded-b-lg bb:px-6 bb:py-3 bb:flex bb:flex-row-reverse" };
2121
- function _r(e, t, i, o, s, c) {
2572
+ }, ii = { class: "bb:flex bb:bg-white bb:rounded-t-lg bb:p-6 bb:pb-4" }, ai = { class: "bb:flex bb:items-start" }, oi = { class: "bb:ml-4 bb:text-left" }, si = ["id"], ci = { class: "bb:mt-2" }, li = { class: "bb:text-sm bb:text-gray-500" }, ui = { class: "bb:bg-gray-50 bb:rounded-b-lg bb:px-6 bb:py-3 bb:flex bb:flex-row-reverse" };
2573
+ function di(e, t, i, o, s, c) {
2122
2574
  let l = h("warning"), d = h("dangerous"), p = h("modal");
2123
2575
  return f(), n(p, {
2124
2576
  "is-open": i.isOpen,
2125
2577
  "heading-id": o.headingId,
2126
2578
  onEscape: t[2] ||= (t) => e.$emit("actionCanceled")
2127
2579
  }, {
2128
- default: b(() => [a("div", ur, [a("div", dr, [a("div", { class: u(["bb:shrink-0 bb:flex bb:items-center bb:justify-center bb:h-10 bb:w-10 bb:rounded-full", {
2580
+ default: b(() => [a("div", ii, [a("div", ai, [a("div", { class: u(["bb:shrink-0 bb:flex bb:items-center bb:justify-center bb:h-10 bb:w-10 bb:rounded-full", {
2129
2581
  "bb:bg-red-100": c.isDangerous,
2130
2582
  "bb:bg-yellow-100": c.isWarning
2131
- }]) }, [c.isWarning ? (f(), n(l, { key: 0 })) : r("", !0), c.isDangerous ? (f(), n(d, { key: 1 })) : r("", !0)], 2), a("div", fr, [a("h3", {
2583
+ }]) }, [c.isWarning ? (f(), n(l, { key: 0 })) : r("", !0), c.isDangerous ? (f(), n(d, { key: 1 })) : r("", !0)], 2), a("div", oi, [a("h3", {
2132
2584
  class: "bb:text-lg bb:leading-6 bb:font-medium bb:text-gray-900",
2133
2585
  id: o.headingId
2134
- }, _(i.confirmationHeading), 9, pr), a("div", mr, [a("p", hr, _(i.confirmationText), 1)])])])]), a("div", gr, [a("button", {
2586
+ }, _(i.confirmationHeading), 9, si), a("div", ci, [a("p", li, _(i.confirmationText), 1)])])])]), a("div", ui, [a("button", {
2135
2587
  type: "button",
2136
2588
  class: u(["bb:inline-flex bb:justify-center bb:rounded-md bb:border bb:border-transparent bb:shadow-xs bb:px-4 bb:py-2 bb:text-sm bb:font-medium bb:text-white bb:focus:focus-ring bb:ml-3", {
2137
2589
  "bb:bg-red-600 bb:hover:bg-red-700": c.isDangerous,
@@ -2147,38 +2599,38 @@ function _r(e, t, i, o, s, c) {
2147
2599
  _: 1
2148
2600
  }, 8, ["is-open", "heading-id"]);
2149
2601
  }
2150
- var vr = /*#__PURE__*/ N(lr, [["render", _r]]);
2602
+ var fi = /*#__PURE__*/ M(ri, [["render", di]]);
2151
2603
  //#endregion
2152
2604
  //#region src/menuItems.js
2153
- function yr(e) {
2154
- if (typeof e != "object" || !e || typeof e.label != "string" || e.label === "" || e.color !== void 0 && !j(e.color)) return !1;
2605
+ function pi(e) {
2606
+ if (typeof e != "object" || !e || typeof e.label != "string" || e.label === "" || e.color !== void 0 && !A(e.color)) return !1;
2155
2607
  let t = typeof e.href == "string" && e.href !== "" && e.onSelect === void 0, n = typeof e.onSelect == "function" && e.href === void 0;
2156
2608
  return t || n;
2157
2609
  }
2158
- function br(e) {
2610
+ function mi(e) {
2159
2611
  return Array.isArray(e) ? e.filter((e) => typeof e == "object" && !!e) : [];
2160
2612
  }
2161
- function xr(e) {
2613
+ function hi(e) {
2162
2614
  return typeof e.href == "string" && e.href !== "";
2163
2615
  }
2164
- function Sr(e) {
2165
- return j(e.color) ? e.color : null;
2616
+ function gi(e) {
2617
+ return A(e.color) ? e.color : null;
2166
2618
  }
2167
2619
  //#endregion
2168
2620
  //#region src/navigation.js
2169
- function Cr(e) {
2621
+ function _i(e) {
2170
2622
  let t = e.currentTarget?.target ?? "";
2171
2623
  return !(e.defaultPrevented || e.target?.isContentEditable === !0 || e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || t !== "" && t !== "_self" || e.button !== 0);
2172
2624
  }
2173
2625
  var Z = {
2174
- inject: A,
2626
+ inject: O,
2175
2627
  methods: { followLink(e, t) {
2176
2628
  let n = this.uiSettings.navigate;
2177
- n !== null && Cr(e) && (e.preventDefault(), n(t));
2629
+ n !== null && _i(e) && (e.preventDefault(), n(t));
2178
2630
  } }
2179
- }, wr = {
2180
- components: { PopoverPanel: K },
2181
- mixins: [Z, M],
2631
+ }, vi = {
2632
+ components: { PopoverPanel: W },
2633
+ mixins: [Z, j],
2182
2634
  emits: ["update:modelValue"],
2183
2635
  props: {
2184
2636
  actions: { default: () => [] },
@@ -2189,7 +2641,7 @@ var Z = {
2189
2641
  },
2190
2642
  computed: {
2191
2643
  actionItems() {
2192
- return br(this.actions);
2644
+ return mi(this.actions);
2193
2645
  },
2194
2646
  hasActions() {
2195
2647
  return this.actionItems.length > 0;
@@ -2197,21 +2649,24 @@ var Z = {
2197
2649
  },
2198
2650
  methods: {
2199
2651
  color(e) {
2200
- return Sr(e);
2652
+ return gi(e);
2201
2653
  },
2202
2654
  isLink(e) {
2203
- return xr(e);
2655
+ return hi(e);
2204
2656
  },
2205
- select(e) {
2206
- if (typeof e.onSelect == "function") return e.onSelect();
2657
+ linkClicked(e, t) {
2658
+ e.currentTarget.focus({ preventScroll: !0 }), this.followLink(e, t);
2659
+ },
2660
+ select(e, t) {
2661
+ if (t.currentTarget.focus({ preventScroll: !0 }), typeof e.onSelect == "function") return e.onSelect();
2207
2662
  }
2208
2663
  }
2209
- }, Tr = [
2664
+ }, yi = [
2210
2665
  "href",
2211
2666
  "onClick",
2212
2667
  "textContent"
2213
- ], Er = ["onClick", "textContent"];
2214
- function Dr(t, r, a, o, s, c) {
2668
+ ], bi = ["onClick", "textContent"];
2669
+ function xi(t, r, a, o, s, c) {
2215
2670
  let l = h("popover-panel");
2216
2671
  return f(), n(l, {
2217
2672
  "model-value": a.modelValue,
@@ -2220,6 +2675,7 @@ function Dr(t, r, a, o, s, c) {
2220
2675
  "max-width": 224,
2221
2676
  arrows: "",
2222
2677
  "close-on-click": "",
2678
+ "return-focus": "",
2223
2679
  "panel-class": "bb:w-56 bb:rounded-md bb:shadow-lg bb:bg-white bb:ring-1 bb:ring-black/5",
2224
2680
  "panel-role": "menu",
2225
2681
  "onUpdate:modelValue": r[0] ||= (e) => t.$emit("update:modelValue", e)
@@ -2232,33 +2688,33 @@ function Dr(t, r, a, o, s, c) {
2232
2688
  key: 0,
2233
2689
  href: n.href,
2234
2690
  role: "menuitem",
2235
- 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")]),
2236
- onClick: (e) => t.followLink(e, n.href),
2691
+ class: u(["bb:block bb:w-full bb:px-4 bb:py-2 bb:text-sm bb:text-left bb:cursor-pointer bb:focus:outline-hidden", c.color(n) === null ? "bb:text-gray-700 bb:hover:bg-gray-100 bb:hover:text-gray-900 bb:focus:bg-gray-100 bb:focus:text-gray-900" : t.colorClass(c.color(n), "menuItem")]),
2692
+ onClick: (e) => c.linkClicked(e, n.href),
2237
2693
  textContent: _(n.label)
2238
- }, null, 10, Tr)) : (f(), i("button", {
2694
+ }, null, 10, yi)) : (f(), i("button", {
2239
2695
  key: 1,
2240
2696
  type: "button",
2241
2697
  role: "menuitem",
2242
- 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")]),
2243
- onClick: (e) => c.select(n),
2698
+ class: u(["bb:block bb:w-full bb:px-4 bb:py-2 bb:text-sm bb:text-left bb:cursor-pointer bb:focus:outline-hidden", c.color(n) === null ? "bb:text-gray-700 bb:hover:bg-gray-100 bb:hover:text-gray-900 bb:focus:bg-gray-100 bb:focus:text-gray-900" : t.colorClass(c.color(n), "menuItem")]),
2699
+ onClick: (e) => c.select(n, e),
2244
2700
  textContent: _(n.label)
2245
- }, null, 10, Er))], 64))), 128))]),
2701
+ }, null, 10, bi))], 64))), 128))]),
2246
2702
  _: 3
2247
2703
  }, 8, ["model-value", "has-content"]);
2248
2704
  }
2249
- var Or = /*#__PURE__*/ N(wr, [["render", Dr]]), kr = {
2250
- components: { PopoverMenu: Or },
2705
+ var Si = /*#__PURE__*/ M(vi, [["render", xi]]), Ci = {
2706
+ components: { PopoverMenu: Si },
2251
2707
  mixins: [
2252
- I,
2708
+ F,
2253
2709
  Z,
2254
- M
2710
+ j
2255
2711
  ],
2256
2712
  emits: ["update:modelValue"],
2257
2713
  props: {
2258
2714
  actions: {
2259
2715
  type: Array,
2260
2716
  default: () => [],
2261
- validator: (e) => e.every(yr)
2717
+ validator: (e) => e.every(pi)
2262
2718
  },
2263
2719
  modelValue: {
2264
2720
  type: Boolean,
@@ -2270,7 +2726,7 @@ var Or = /*#__PURE__*/ N(wr, [["render", Dr]]), kr = {
2270
2726
  },
2271
2727
  computed: {
2272
2728
  items() {
2273
- return br(this.actions);
2729
+ return mi(this.actions);
2274
2730
  },
2275
2731
  hasActions() {
2276
2732
  return this.items.length > 0;
@@ -2279,7 +2735,7 @@ var Or = /*#__PURE__*/ N(wr, [["render", Dr]]), kr = {
2279
2735
  return this.items[0];
2280
2736
  },
2281
2737
  mainColor() {
2282
- return this.hasActions ? Sr(this.mainAction) : null;
2738
+ return this.hasActions ? gi(this.mainAction) : null;
2283
2739
  },
2284
2740
  menuActions() {
2285
2741
  return this.items.slice(1);
@@ -2301,7 +2757,7 @@ var Or = /*#__PURE__*/ N(wr, [["render", Dr]]), kr = {
2301
2757
  },
2302
2758
  methods: {
2303
2759
  isLink(e) {
2304
- return xr(e);
2760
+ return hi(e);
2305
2761
  },
2306
2762
  select(e) {
2307
2763
  if (typeof e.onSelect == "function") return e.onSelect();
@@ -2310,13 +2766,13 @@ var Or = /*#__PURE__*/ N(wr, [["render", Dr]]), kr = {
2310
2766
  this.menuIsOpen = e, this.$emit("update:modelValue", e);
2311
2767
  }
2312
2768
  }
2313
- }, Ar = {
2769
+ }, wi = {
2314
2770
  key: 0,
2315
2771
  class: "bb-dashboard-ui bb:relative bb:inline-flex bb:shadow-xs bb:rounded-md"
2316
- }, jr = ["href", "textContent"], Mr = ["textContent"], Nr = ["id", "popovertarget"], Pr = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
2317
- function Fr(e, t, n, o, c, l) {
2772
+ }, Ti = ["href", "textContent"], Ei = ["textContent"], Di = ["id", "popovertarget"], Oi = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
2773
+ function ki(e, t, n, o, c, l) {
2318
2774
  let d = h("popover-menu");
2319
- return l.hasActions ? (f(), i("span", Ar, [l.isLink(l.mainAction) ? (f(), i("a", {
2775
+ return l.hasActions ? (f(), i("span", wi, [l.isLink(l.mainAction) ? (f(), i("a", {
2320
2776
  key: 0,
2321
2777
  href: l.mainAction.href,
2322
2778
  class: u(["bb:relative bb:inline-flex bb:items-center bb:px-4 bb:py-2 bb:border bb:text-sm bb:font-medium bb:cursor-pointer bb:focus:z-10 bb:focus:focus-ring", [{
@@ -2325,7 +2781,7 @@ function Fr(e, t, n, o, c, l) {
2325
2781
  }, l.mainColor === null ? "bb:bg-white bb:border-gray-300 bb:text-gray-700 bb:hover:bg-gray-50" : e.colorClass(l.mainColor, "button")]]),
2326
2782
  onClick: t[0] ||= (t) => e.followLink(t, l.mainAction.href),
2327
2783
  textContent: _(l.mainAction.label)
2328
- }, null, 10, jr)) : (f(), i("button", {
2784
+ }, null, 10, Ti)) : (f(), i("button", {
2329
2785
  key: 1,
2330
2786
  type: "button",
2331
2787
  class: u(["bb:relative bb:inline-flex bb:items-center bb:px-4 bb:py-2 bb:border bb:text-sm bb:font-medium bb:cursor-pointer bb:focus:z-10 bb:focus:focus-ring", [{
@@ -2334,7 +2790,7 @@ function Fr(e, t, n, o, c, l) {
2334
2790
  }, l.mainColor === null ? "bb:bg-white bb:border-gray-300 bb:text-gray-700 bb:hover:bg-gray-50" : e.colorClass(l.mainColor, "button")]]),
2335
2791
  onClick: t[1] ||= (e) => l.select(l.mainAction),
2336
2792
  textContent: _(l.mainAction.label)
2337
- }, null, 10, Mr)), s(d, {
2793
+ }, null, 10, Ei)), s(d, {
2338
2794
  class: "bb:-ml-px bb:flex",
2339
2795
  actions: l.menuActions,
2340
2796
  "model-value": n.modelValue,
@@ -2345,7 +2801,7 @@ function Fr(e, t, n, o, c, l) {
2345
2801
  id: n.id,
2346
2802
  popovertarget: n.popovertarget,
2347
2803
  class: u(["bb:relative bb:inline-flex bb:items-center bb:px-2 bb:py-2 bb:rounded-r-md bb:border bb:text-sm bb:font-medium bb:focus:z-10 bb:focus:focus-ring", l.mainColor === null ? "bb:bg-white bb:border-gray-300 bb:text-gray-500 bb:hover:bg-gray-50" : e.colorClass(l.mainColor, "button")])
2348
- }, [a("span", Pr, _(e.texts.openMenu), 1), t[2] ||= a("svg", {
2804
+ }, [a("span", Oi, _(e.texts.openMenu), 1), t[2] ||= a("svg", {
2349
2805
  class: "bb:h-5 bb:w-5 bb:pointer-events-none bb:cursor-default",
2350
2806
  xmlns: "http://www.w3.org/2000/svg",
2351
2807
  viewBox: "0 0 20 20",
@@ -2355,7 +2811,7 @@ function Fr(e, t, n, o, c, l) {
2355
2811
  "fill-rule": "evenodd",
2356
2812
  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",
2357
2813
  "clip-rule": "evenodd"
2358
- })], -1)], 10, Nr)]),
2814
+ })], -1)], 10, Di)]),
2359
2815
  _: 1
2360
2816
  }, 8, [
2361
2817
  "actions",
@@ -2363,16 +2819,16 @@ function Fr(e, t, n, o, c, l) {
2363
2819
  "onUpdate:modelValue"
2364
2820
  ])])) : r("", !0);
2365
2821
  }
2366
- var Ir = /*#__PURE__*/ N(kr, [["render", Fr]]), Lr = {
2367
- components: { PopoverMenu: Or },
2368
- mixins: [I],
2822
+ var Ai = /*#__PURE__*/ M(Ci, [["render", ki]]), ji = {
2823
+ components: { PopoverMenu: Si },
2824
+ mixins: [F],
2369
2825
  props: { actions: {
2370
2826
  type: Array,
2371
2827
  default: () => [],
2372
- validator: (e) => e.every(yr)
2828
+ validator: (e) => e.every(pi)
2373
2829
  } }
2374
- }, Rr = ["id", "popovertarget"], zr = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
2375
- function Br(e, t, r, i, o, s) {
2830
+ }, Mi = ["id", "popovertarget"], Ni = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
2831
+ function Pi(e, t, r, i, o, s) {
2376
2832
  let c = h("popover-menu");
2377
2833
  return f(), n(c, {
2378
2834
  class: "bb-dashboard-ui bb:inline-flex",
@@ -2383,7 +2839,7 @@ function Br(e, t, r, i, o, s) {
2383
2839
  id: n.id,
2384
2840
  popovertarget: n.popovertarget,
2385
2841
  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"
2386
- }, [a("span", zr, _(e.texts.openMenu), 1), t[0] ||= a("svg", {
2842
+ }, [a("span", Ni, _(e.texts.openMenu), 1), t[0] ||= a("svg", {
2387
2843
  class: "bb:h-6 bb:w-6 bb:pointer-events-none bb:cursor-default",
2388
2844
  fill: "none",
2389
2845
  viewBox: "0 0 24 24",
@@ -2394,48 +2850,48 @@ function Br(e, t, r, i, o, s) {
2394
2850
  "stroke-linejoin": "round",
2395
2851
  "stroke-width": "2",
2396
2852
  d: "M4 6h16M4 12h16M4 18h16"
2397
- })], -1)], 8, Rr)]),
2853
+ })], -1)], 8, Mi)]),
2398
2854
  _: 1
2399
2855
  }, 8, ["actions"]);
2400
2856
  }
2401
- var Vr = /*#__PURE__*/ N(Lr, [["render", Br]]), Hr = {}, Ur = {
2857
+ var Fi = /*#__PURE__*/ M(ji, [["render", Pi]]), Ii = {}, Li = {
2402
2858
  xmlns: "http://www.w3.org/2000/svg",
2403
2859
  viewBox: "0 0 20 20",
2404
2860
  fill: "currentColor",
2405
2861
  "aria-hidden": "true"
2406
2862
  };
2407
- function Wr(e, t, n, r, o, s) {
2408
- return f(), i("svg", Ur, [...t[0] ||= [a("path", {
2863
+ function Ri(e, t, n, r, o, s) {
2864
+ return f(), i("svg", Li, [...t[0] ||= [a("path", {
2409
2865
  "fill-rule": "evenodd",
2410
2866
  "clip-rule": "evenodd",
2411
2867
  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"
2412
2868
  }, null, -1)]]);
2413
2869
  }
2414
- var Gr = /*#__PURE__*/ N(Hr, [["render", Wr]]), Kr = {}, qr = {
2870
+ var zi = /*#__PURE__*/ M(Ii, [["render", Ri]]), Bi = {}, Vi = {
2415
2871
  xmlns: "http://www.w3.org/2000/svg",
2416
2872
  viewBox: "0 0 20 20",
2417
2873
  fill: "currentColor",
2418
2874
  "aria-hidden": "true"
2419
2875
  };
2420
- function Jr(e, t, n, r, o, s) {
2421
- return f(), i("svg", qr, [...t[0] ||= [a("path", {
2876
+ function Hi(e, t, n, r, o, s) {
2877
+ return f(), i("svg", Vi, [...t[0] ||= [a("path", {
2422
2878
  "fill-rule": "evenodd",
2423
2879
  "clip-rule": "evenodd",
2424
2880
  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"
2425
2881
  }, null, -1)]]);
2426
2882
  }
2427
- var Yr = /*#__PURE__*/ N(Kr, [["render", Jr]]);
2883
+ var Ui = /*#__PURE__*/ M(Bi, [["render", Hi]]);
2428
2884
  //#endregion
2429
2885
  //#region src/components/Pagination.vue
2430
- function Xr(e) {
2886
+ function Wi(e) {
2431
2887
  return typeof e == "string" && e !== "" ? e : null;
2432
2888
  }
2433
- var Zr = {
2889
+ var Gi = {
2434
2890
  components: {
2435
- ArrowNarrowLeft: Gr,
2436
- ArrowNarrowRight: Yr
2891
+ ArrowNarrowLeft: zi,
2892
+ ArrowNarrowRight: Ui
2437
2893
  },
2438
- mixins: [I, Z],
2894
+ mixins: [F, Z],
2439
2895
  props: {
2440
2896
  links: {
2441
2897
  type: Object,
@@ -2463,49 +2919,49 @@ var Zr = {
2463
2919
  return typeof this.from == "number" && typeof this.to == "number";
2464
2920
  },
2465
2921
  previousPageUrl() {
2466
- return Xr(this.links?.prev);
2922
+ return Wi(this.links?.prev);
2467
2923
  },
2468
2924
  nextPageUrl() {
2469
- return Xr(this.links?.next);
2925
+ return Wi(this.links?.next);
2470
2926
  }
2471
2927
  }
2472
- }, Qr = {
2928
+ }, Ki = {
2473
2929
  key: 0,
2474
2930
  class: "bb-dashboard-ui bb:flex bb:items-center bb:justify-between"
2475
- }, $r = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex" }, ei = ["href"], ti = {
2931
+ }, qi = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex" }, Ji = ["href"], Yi = {
2476
2932
  key: 0,
2477
2933
  class: "bb:-mt-px bb:flex bb:text-gray-400 bb:text-sm bb:leading-5"
2478
- }, ni = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, ri = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, ii = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex bb:justify-end" }, ai = ["href"];
2479
- function oi(e, t, n, c, l, u) {
2934
+ }, Xi = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, Zi = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, Qi = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex bb:justify-end" }, $i = ["href"];
2935
+ function ea(e, t, n, c, l, u) {
2480
2936
  let d = h("arrow-narrow-left"), p = h("arrow-narrow-right");
2481
- return u.hasResults ? (f(), i("nav", Qr, [
2482
- a("div", $r, [u.previousPageUrl === null ? r("", !0) : (f(), i("a", {
2937
+ return u.hasResults ? (f(), i("nav", Ki, [
2938
+ a("div", qi, [u.previousPageUrl === null ? r("", !0) : (f(), i("a", {
2483
2939
  key: 0,
2484
2940
  href: u.previousPageUrl,
2485
2941
  class: "bb:border-t-2 bb:border-transparent bb:pt-4 bb:pr-1 bb:inline-flex bb:items-center bb:text-sm bb:font-medium bb:text-gray-500 bb:hover:text-gray-700 bb:hover:border-indigo-700 bb:focus-visible:focus-ring",
2486
2942
  onClick: t[0] ||= (t) => e.followLink(t, u.previousPageUrl)
2487
- }, [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, ei))]),
2488
- u.hasRange ? (f(), i("div", ti, [
2943
+ }, [s(d, { class: "bb:mr-3 bb:h-5 bb:w-5 bb:text-gray-400 bb:pointer-events-none bb:cursor-default" }), o(" " + _(e.texts.previousPage), 1)], 8, Ji))]),
2944
+ u.hasRange ? (f(), i("div", Yi, [
2489
2945
  o(_(e.texts.resultsBefore) + " ", 1),
2490
- a("span", ni, _(u.from) + " - " + _(u.to), 1),
2946
+ a("span", Xi, _(u.from) + " - " + _(u.to), 1),
2491
2947
  o(" " + _(e.texts.resultsOf) + " ", 1),
2492
- a("span", ri, _(u.total), 1),
2948
+ a("span", Zi, _(u.total), 1),
2493
2949
  o(" " + _(e.texts.resultsAfter), 1)
2494
2950
  ])) : r("", !0),
2495
- a("div", ii, [u.nextPageUrl === null ? r("", !0) : (f(), i("a", {
2951
+ a("div", Qi, [u.nextPageUrl === null ? r("", !0) : (f(), i("a", {
2496
2952
  key: 0,
2497
2953
  href: u.nextPageUrl,
2498
2954
  class: "bb:border-t-2 bb:border-transparent bb:pt-4 bb:pl-1 bb:inline-flex bb:items-center bb:text-sm bb:font-medium bb:text-gray-500 bb:hover:text-gray-700 bb:hover:border-indigo-700 bb:focus-visible:focus-ring",
2499
2955
  onClick: t[1] ||= (t) => e.followLink(t, u.nextPageUrl)
2500
- }, [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, ai))])
2956
+ }, [o(_(e.texts.nextPage) + " ", 1), s(p, { class: "bb:ml-3 bb:h-5 bb:w-5 bb:text-gray-400 bb:pointer-events-none bb:cursor-default" })], 8, $i))])
2501
2957
  ])) : r("", !0);
2502
2958
  }
2503
- var si = /*#__PURE__*/ N(Zr, [["render", oi]]), ci = [
2959
+ var ta = /*#__PURE__*/ M(Gi, [["render", ea]]), na = [
2504
2960
  "left",
2505
2961
  "center",
2506
2962
  "right"
2507
2963
  ];
2508
- function li(e) {
2964
+ function ra(e) {
2509
2965
  if (typeof e != "object" || !e || typeof e.key != "string" || e.key === "") return null;
2510
2966
  let t = e.key;
2511
2967
  return {
@@ -2514,21 +2970,21 @@ function li(e) {
2514
2970
  value: typeof e.value == "function" ? e.value : (e) => e?.[t],
2515
2971
  secondary: typeof e.secondary == "function" ? e.secondary : null,
2516
2972
  muted: e.muted === !0,
2517
- align: ci.includes(e.align) ? e.align : "left",
2973
+ align: na.includes(e.align) ? e.align : "left",
2518
2974
  wrap: e.wrap === !0,
2519
2975
  narrow: e.narrow === !0,
2520
2976
  visible: e.visible !== !1
2521
2977
  };
2522
2978
  }
2523
- function ui(e) {
2979
+ function ia(e) {
2524
2980
  return typeof e == "string" && e !== "" ? e : null;
2525
2981
  }
2526
- var di = {
2982
+ var aa = {
2527
2983
  components: {
2528
- Pagination: si,
2529
- InfoPill: mn
2984
+ Pagination: ta,
2985
+ InfoPill: cr
2530
2986
  },
2531
- mixins: [I, M],
2987
+ mixins: [F, j],
2532
2988
  props: {
2533
2989
  rows: {
2534
2990
  type: Array,
@@ -2573,7 +3029,7 @@ var di = {
2573
3029
  return Array.isArray(this.rows) ? this.rows : [];
2574
3030
  },
2575
3031
  visibleColumns() {
2576
- return (Array.isArray(this.columns) ? this.columns : []).map(li).filter((e) => e !== null && e.visible);
3032
+ return (Array.isArray(this.columns) ? this.columns : []).map(ra).filter((e) => e !== null && e.visible);
2577
3033
  },
2578
3034
  rowStripes() {
2579
3035
  return this.normalizedRows.map((e) => this.stripeOf(e));
@@ -2592,10 +3048,10 @@ var di = {
2592
3048
  },
2593
3049
  badgeText() {
2594
3050
  if (this.hasRecords) {
2595
- let e = ui(this.foundText);
3051
+ let e = ia(this.foundText);
2596
3052
  return e === null ? null : `${e}: ${this.recordCount}`;
2597
3053
  }
2598
- return ui(this.emptyText);
3054
+ return ia(this.emptyText);
2599
3055
  }
2600
3056
  },
2601
3057
  methods: {
@@ -2615,15 +3071,15 @@ var di = {
2615
3071
  stripeOf(e) {
2616
3072
  if (typeof this.rowStripe != "function") return null;
2617
3073
  let t = this.rowStripe(e);
2618
- return j(t) ? t : null;
3074
+ return A(t) ? t : null;
2619
3075
  },
2620
3076
  textOf(e, t) {
2621
3077
  let n = e(t);
2622
3078
  return n == null ? "" : String(n);
2623
3079
  }
2624
3080
  }
2625
- }, fi = { class: "bb:min-w-full bb:divide-y bb:divide-gray-200 bb:border-collapse" }, pi = { class: "bb:bg-gray-50" }, mi = ["textContent"], hi = { class: "bb:divide-y bb:divide-gray-200" }, gi = ["textContent"], _i = ["textContent"];
2626
- function vi(t, o, s, c, l, d) {
3081
+ }, oa = { class: "bb:min-w-full bb:divide-y bb:divide-gray-200 bb:border-collapse" }, sa = { class: "bb:bg-gray-50" }, ca = ["textContent"], la = { class: "bb:divide-y bb:divide-gray-200" }, ua = ["textContent"], da = ["textContent"];
3082
+ function fa(t, o, s, c, l, d) {
2627
3083
  let g = h("info-pill"), v = h("pagination");
2628
3084
  return f(), i("div", null, [
2629
3085
  d.hasBadgeRow() ? (f(), i("div", {
@@ -2637,7 +3093,7 @@ function vi(t, o, s, c, l, d) {
2637
3093
  d.normalizedRows.length > 0 ? (f(), i("div", {
2638
3094
  key: 1,
2639
3095
  class: u(d.isCard && d.hasBadgeRow() ? "bb:mt-4" : "")
2640
- }, [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", fi, [a("thead", null, [a("tr", pi, [(f(!0), i(e, null, p(d.visibleColumns, (e) => (f(), i("th", {
3096
+ }, [a("div", { class: u(["bb:overflow-x-auto", d.isCard ? "bb:border-t bb:border-gray-200" : "bb:shadow-sm bb:border-b bb:border-gray-200 bb:rounded-lg"]) }, [a("table", oa, [a("thead", null, [a("tr", sa, [(f(!0), i(e, null, p(d.visibleColumns, (e) => (f(), i("th", {
2641
3097
  key: e.key,
2642
3098
  scope: "col",
2643
3099
  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", [{
@@ -2646,7 +3102,7 @@ function vi(t, o, s, c, l, d) {
2646
3102
  "bb:text-right": e.align === "right"
2647
3103
  }, { "bb:w-px": e.narrow }]]),
2648
3104
  textContent: _(e.label)
2649
- }, null, 10, mi))), 128))])]), a("tbody", hi, [(f(!0), i(e, null, p(d.normalizedRows, (n, o) => (f(), i("tr", {
3105
+ }, null, 10, ca))), 128))])]), a("tbody", la, [(f(!0), i(e, null, p(d.normalizedRows, (n, o) => (f(), i("tr", {
2650
3106
  key: d.keyOf(n, o),
2651
3107
  class: "bb:bg-white bb:even:bg-gray-50"
2652
3108
  }, [(f(!0), i(e, null, p(d.visibleColumns, (e, s) => (f(), i("td", {
@@ -2670,11 +3126,11 @@ function vi(t, o, s, c, l, d) {
2670
3126
  }, () => [a("div", {
2671
3127
  class: u(["bb:font-medium", e.muted ? "bb:text-gray-400" : "bb:text-gray-900"]),
2672
3128
  textContent: _(d.textOf(e.value, n))
2673
- }, null, 10, gi), e.secondary !== null && d.textOf(e.secondary, n) !== "" ? (f(), i("div", {
3129
+ }, null, 10, ua), e.secondary !== null && d.textOf(e.secondary, n) !== "" ? (f(), i("div", {
2674
3130
  key: 0,
2675
3131
  class: "bb:text-gray-400",
2676
3132
  textContent: _(d.textOf(e.secondary, n))
2677
- }, null, 8, _i)) : r("", !0)])], 2))), 128))]))), 128))])])], 2)], 2)) : r("", !0),
3133
+ }, null, 8, da)) : r("", !0)])], 2))), 128))]))), 128))])])], 2)], 2)) : r("", !0),
2678
3134
  d.hasMeta ? (f(), n(v, {
2679
3135
  key: 2,
2680
3136
  meta: s.meta,
@@ -2689,7 +3145,7 @@ function vi(t, o, s, c, l, d) {
2689
3145
  ])) : r("", !0)
2690
3146
  ]);
2691
3147
  }
2692
- var yi = /*#__PURE__*/ N(di, [["render", vi]]), bi = {
3148
+ var pa = /*#__PURE__*/ M(aa, [["render", fa]]), ma = {
2693
3149
  mixins: [Z],
2694
3150
  props: {
2695
3151
  url: {
@@ -2705,17 +3161,17 @@ var yi = /*#__PURE__*/ N(di, [["render", vi]]), bi = {
2705
3161
  default: !1
2706
3162
  }
2707
3163
  }
2708
- }, xi = ["href", "textContent"];
2709
- function Si(e, t, n, r, a, o) {
3164
+ }, ha = ["href", "textContent"];
3165
+ function ga(e, t, n, r, a, o) {
2710
3166
  return f(), i("a", {
2711
3167
  href: n.url,
2712
3168
  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"]),
2713
3169
  onClick: t[0] ||= (t) => e.followLink(t, n.url),
2714
3170
  textContent: _(n.name)
2715
- }, null, 10, xi);
3171
+ }, null, 10, ha);
2716
3172
  }
2717
- var Ci = /*#__PURE__*/ N(bi, [["render", Si]]), wi = {
2718
- mixins: [I, Z],
3173
+ var _a = /*#__PURE__*/ M(ma, [["render", ga]]), va = {
3174
+ mixins: [F, Z],
2719
3175
  props: {
2720
3176
  tabs: {
2721
3177
  type: Array,
@@ -2729,13 +3185,13 @@ var Ci = /*#__PURE__*/ N(bi, [["render", Si]]), wi = {
2729
3185
  computed: { tabList() {
2730
3186
  return Array.isArray(this.tabs) ? this.tabs.filter((e) => typeof e == "object" && !!e) : [];
2731
3187
  } }
2732
- }, Ti = ["aria-label"], Ei = [
3188
+ }, ya = ["aria-label"], ba = [
2733
3189
  "href",
2734
3190
  "aria-current",
2735
3191
  "onClick",
2736
3192
  "textContent"
2737
3193
  ];
2738
- function Di(t, n, r, a, o, s) {
3194
+ function xa(t, n, r, a, o, s) {
2739
3195
  return f(), i("nav", {
2740
3196
  class: "bb-dashboard-ui bb:flex bb:space-x-4",
2741
3197
  "aria-label": t.texts.tabs
@@ -2746,21 +3202,21 @@ function Di(t, n, r, a, o, s) {
2746
3202
  class: u(["bb:px-3 bb:py-2 bb:font-medium bb:text-sm bb:rounded-md bb:focus-visible:focus-ring", e.key === r.activeKey ? "bb:bg-indigo-100 bb:text-gray-700" : "bb:text-gray-500 bb:hover:text-gray-700"]),
2747
3203
  onClick: (n) => t.followLink(n, e.url),
2748
3204
  textContent: _(e.name)
2749
- }, null, 10, Ei))), 128))], 8, Ti);
3205
+ }, null, 10, ba))), 128))], 8, ya);
2750
3206
  }
2751
- var Oi = /*#__PURE__*/ N(wi, [["render", Di]]), ki = [
3207
+ var Sa = /*#__PURE__*/ M(va, [["render", xa]]), Ca = [
2752
3208
  "xl",
2753
3209
  "4xl",
2754
3210
  "7xl"
2755
- ], Ai = {
2756
- components: { CrossButton: L },
2757
- mixins: [I],
3211
+ ], wa = {
3212
+ components: { CrossButton: I },
3213
+ mixins: [F],
2758
3214
  inheritAttrs: !1,
2759
3215
  props: {
2760
3216
  width: {
2761
3217
  type: String,
2762
3218
  default: "xl",
2763
- validator: (e) => ki.includes(e)
3219
+ validator: (e) => Ca.includes(e)
2764
3220
  },
2765
3221
  fallbackUrl: {
2766
3222
  type: String,
@@ -2776,13 +3232,13 @@ var Oi = /*#__PURE__*/ N(wi, [["render", Di]]), ki = [
2776
3232
  },
2777
3233
  computed: {
2778
3234
  resolvedWidth() {
2779
- return ki.includes(this.width) ? this.width : "xl";
3235
+ return Ca.includes(this.width) ? this.width : "xl";
2780
3236
  },
2781
3237
  windows() {
2782
3238
  return this.uiSettings.windows;
2783
3239
  },
2784
3240
  resolvedKey() {
2785
- return this.windowKey !== null && this.windowKey !== "" ? this.windowKey : this.windows === null ? null : oe(this.windows.page.address);
3241
+ return this.windowKey !== null && this.windowKey !== "" ? this.windowKey : this.windows === null ? null : se(this.windows.page.address);
2786
3242
  },
2787
3243
  target() {
2788
3244
  return this.returnAddress === null ? this.fallbackUrl === null || this.fallbackUrl === "" ? null : this.fallbackUrl : this.returnAddress;
@@ -2792,23 +3248,23 @@ var Oi = /*#__PURE__*/ N(wi, [["render", Di]]), ki = [
2792
3248
  }
2793
3249
  },
2794
3250
  watch: { fallbackUrl() {
2795
- this.windows !== null && me(this.windows.state, this, this.fallbackAddress());
3251
+ this.windows !== null && he(this.windows.state, this, this.fallbackAddress());
2796
3252
  } },
2797
3253
  mounted() {
2798
- this.windows !== null && (this.returnAddress = O(this.windows.state, this, this.resolvedKey, this.fallbackAddress()).returnAddress, this.$watch(() => [this.windows.page.number, this.resolvedKey], () => this.syncWindow(), { flush: "post" }));
3254
+ this.windows !== null && (this.returnAddress = D(this.windows.state, this, this.resolvedKey, this.fallbackAddress()).returnAddress, this.$watch(() => [this.windows.page.number, this.resolvedKey], () => this.syncWindow(), { flush: "post" }));
2799
3255
  },
2800
3256
  beforeUnmount() {
2801
- this.windows !== null && pe(this.windows.state, this);
3257
+ this.windows !== null && me(this.windows.state, this);
2802
3258
  },
2803
3259
  methods: {
2804
3260
  fallbackAddress() {
2805
- return T(this.fallbackUrl, window.location.origin);
3261
+ return oe(this.fallbackUrl, window.location.origin);
2806
3262
  },
2807
3263
  forwardedAttrs() {
2808
3264
  return Object.fromEntries(Object.entries(this.$attrs).filter(([e]) => e.startsWith("data-") || e.startsWith("aria-")));
2809
3265
  },
2810
3266
  syncWindow() {
2811
- let e = fe(this.windows.state, this, this.resolvedKey, this.fallbackAddress());
3267
+ let e = pe(this.windows.state, this, this.resolvedKey, this.fallbackAddress());
2812
3268
  e.rejected && console.warn(`PageCard: ключ окна сменился на «${this.resolvedKey}» без смены страницы — карточка остаётся в окне «${e.key}»`), this.returnAddress = e.window.returnAddress;
2813
3269
  },
2814
3270
  close() {
@@ -2823,7 +3279,7 @@ var Oi = /*#__PURE__*/ N(wi, [["render", Di]]), ki = [
2823
3279
  }
2824
3280
  }
2825
3281
  };
2826
- function ji(e, t, a, s, c, d) {
3282
+ function Ta(e, t, a, s, c, d) {
2827
3283
  let p = h("cross-button");
2828
3284
  return f(), i("div", l({
2829
3285
  class: ["bb:box-border bb:relative bb:my-6 bb:mx-auto bb:bg-white bb:shadow-xl bb:rounded-lg", [
@@ -2854,7 +3310,7 @@ function ji(e, t, a, s, c, d) {
2854
3310
  _: 1
2855
3311
  }, 8, ["class", "onClicked"])) : r("", !0)], 16);
2856
3312
  }
2857
- var Mi = /*#__PURE__*/ N(Ai, [["render", ji]]), Ni = {}, Pi = {
3313
+ var Ea = /*#__PURE__*/ M(wa, [["render", Ta]]), Da = {}, Oa = {
2858
3314
  class: "bb:h-7 bb:w-7 bb:text-green-600",
2859
3315
  xmlns: "http://www.w3.org/2000/svg",
2860
3316
  fill: "none",
@@ -2863,22 +3319,22 @@ var Mi = /*#__PURE__*/ N(Ai, [["render", ji]]), Ni = {}, Pi = {
2863
3319
  stroke: "currentColor",
2864
3320
  "aria-hidden": "true"
2865
3321
  };
2866
- function Fi(e, t, n, r, o, s) {
2867
- return f(), i("svg", Pi, [...t[0] ||= [a("path", {
3322
+ function ka(e, t, n, r, o, s) {
3323
+ return f(), i("svg", Oa, [...t[0] ||= [a("path", {
2868
3324
  "stroke-linecap": "round",
2869
3325
  "stroke-linejoin": "round",
2870
3326
  d: "M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"
2871
3327
  }, null, -1)]]);
2872
3328
  }
2873
- var Ii = /*#__PURE__*/ N(Ni, [["render", Fi]]), Li = {}, Ri = {
3329
+ var Aa = /*#__PURE__*/ M(Da, [["render", ka]]), ja = {}, Ma = {
2874
3330
  class: "bb:h-5 bb:w-5",
2875
3331
  xmlns: "http://www.w3.org/2000/svg",
2876
3332
  viewBox: "0 0 20 20",
2877
3333
  fill: "currentColor",
2878
3334
  "aria-hidden": "true"
2879
3335
  };
2880
- function zi(e, t, n, r, o, s) {
2881
- return f(), i("svg", Ri, [...t[0] ||= [a("path", {
3336
+ function Na(e, t, n, r, o, s) {
3337
+ return f(), i("svg", Ma, [...t[0] ||= [a("path", {
2882
3338
  "fill-rule": "evenodd",
2883
3339
  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",
2884
3340
  "clip-rule": "evenodd"
@@ -2886,14 +3342,14 @@ function zi(e, t, n, r, o, s) {
2886
3342
  }
2887
3343
  //#endregion
2888
3344
  //#region src/components/NotificationMessage.vue
2889
- var Bi = {
3345
+ var Pa = {
2890
3346
  components: {
2891
- Check: Ii,
2892
- Close: /* @__PURE__ */ N(Li, [["render", zi]]),
2893
- Dangerous: ir,
2894
- Warning: cr
3347
+ Check: Aa,
3348
+ Close: /* @__PURE__ */ M(ja, [["render", Na]]),
3349
+ Dangerous: Qr,
3350
+ Warning: ni
2895
3351
  },
2896
- mixins: [I],
3352
+ mixins: [F],
2897
3353
  emits: ["update:modelValue"],
2898
3354
  props: {
2899
3355
  modelValue: {
@@ -2931,8 +3387,8 @@ var Bi = {
2931
3387
  return this.type === "confirmation";
2932
3388
  }
2933
3389
  }
2934
- }, Vi = ["role"], Hi = { class: "bb:p-4" }, Ui = { class: "bb:flex bb:items-start" }, Wi = { class: "bb:shrink-0" }, Gi = { class: "bb:ml-3 bb:w-0 bb:flex-1 bb:pt-0.5" }, Ki = { class: "bb:text-sm bb:font-medium bb:text-gray-900" }, qi = { class: "bb:mt-1 bb:text-sm bb:text-gray-500" }, Ji = { class: "bb:ml-4 bb:shrink-0 bb:flex" }, Yi = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
2935
- function Xi(e, t, o, c, l, d) {
3390
+ }, Fa = ["role"], Ia = { class: "bb:p-4" }, La = { class: "bb:flex bb:items-start" }, Ra = { class: "bb:shrink-0" }, za = { class: "bb:ml-3 bb:w-0 bb:flex-1 bb:pt-0.5" }, Ba = { class: "bb:text-sm bb:font-medium bb:text-gray-900" }, Va = { class: "bb:mt-1 bb:text-sm bb:text-gray-500" }, Ha = { class: "bb:ml-4 bb:shrink-0 bb:flex" }, Ua = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
3391
+ function Wa(e, t, o, c, l, d) {
2936
3392
  let p = h("warning"), m = h("dangerous"), g = h("check"), v = h("close");
2937
3393
  return f(), i("div", {
2938
3394
  class: "bb-dashboard-ui bb:fixed bb:inset-0 bb:flex bb:items-start bb:justify-end bb:p-6 bb:pointer-events-none",
@@ -2944,14 +3400,14 @@ function Xi(e, t, o, c, l, d) {
2944
3400
  "bb:bg-yellow-50": d.isWarning,
2945
3401
  "bb:bg-gray-50": d.isConfirmation
2946
3402
  }])
2947
- }, [a("div", Hi, [a("div", Ui, [
2948
- a("div", Wi, [
3403
+ }, [a("div", Ia, [a("div", La, [
3404
+ a("div", Ra, [
2949
3405
  d.isWarning ? (f(), n(p, { key: 0 })) : r("", !0),
2950
3406
  d.isDangerous ? (f(), n(m, { key: 1 })) : r("", !0),
2951
3407
  d.isConfirmation ? (f(), n(g, { key: 2 })) : r("", !0)
2952
3408
  ]),
2953
- a("div", Gi, [a("p", Ki, _(o.notificationHeading), 1), a("p", qi, _(d.text), 1)]),
2954
- a("div", Ji, [a("button", {
3409
+ a("div", za, [a("p", Ba, _(o.notificationHeading), 1), a("p", Va, _(d.text), 1)]),
3410
+ a("div", Ha, [a("button", {
2955
3411
  type: "button",
2956
3412
  class: u(["bb:rounded-md bb:inline-flex bb:text-gray-400 bb:hover:text-gray-500 bb:focus:focus-ring", {
2957
3413
  "bb:bg-red-50": d.isDangerous,
@@ -2959,10 +3415,10 @@ function Xi(e, t, o, c, l, d) {
2959
3415
  "bb:bg-gray-50": d.isConfirmation
2960
3416
  }]),
2961
3417
  onClick: t[0] ||= C((t) => e.$emit("update:modelValue", ""), ["prevent"])
2962
- }, [a("span", Yi, _(e.texts.close), 1), s(v, { class: "bb:pointer-events-none bb:cursor-default" })], 2)])
2963
- ])])], 2)) : r("", !0)], 8, Vi);
3418
+ }, [a("span", Ua, _(e.texts.close), 1), s(v, { class: "bb:pointer-events-none bb:cursor-default" })], 2)])
3419
+ ])])], 2)) : r("", !0)], 8, Fa);
2964
3420
  }
2965
- var Zi = /*#__PURE__*/ N(Bi, [["render", Xi]]), Qi = {}, $i = {
3421
+ var Ga = /*#__PURE__*/ M(Pa, [["render", Wa]]), Ka = {}, qa = {
2966
3422
  class: "bb:h-5 bb:w-5",
2967
3423
  xmlns: "http://www.w3.org/2000/svg",
2968
3424
  fill: "none",
@@ -2971,8 +3427,8 @@ var Zi = /*#__PURE__*/ N(Bi, [["render", Xi]]), Qi = {}, $i = {
2971
3427
  "stroke-width": "2",
2972
3428
  "aria-hidden": "true"
2973
3429
  };
2974
- function ea(e, t, n, r, o, s) {
2975
- return f(), i("svg", $i, [...t[0] ||= [a("path", {
3430
+ function Ja(e, t, n, r, o, s) {
3431
+ return f(), i("svg", qa, [...t[0] ||= [a("path", {
2976
3432
  "stroke-linecap": "round",
2977
3433
  "stroke-linejoin": "round",
2978
3434
  d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z"
@@ -2982,12 +3438,12 @@ function ea(e, t, n, r, o, s) {
2982
3438
  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"
2983
3439
  }, null, -1)]]);
2984
3440
  }
2985
- var ta = /*#__PURE__*/ N(Qi, [["render", ea]]), Q = 0, $ = null, na = {
3441
+ var Ya = /*#__PURE__*/ M(Ka, [["render", Ja]]), Q = 0, $ = null, Xa = {
2986
3442
  components: {
2987
- PopoverPanel: K,
2988
- Eye: ta
3443
+ PopoverPanel: W,
3444
+ Eye: Ya
2989
3445
  },
2990
- mixins: [I],
3446
+ mixins: [F],
2991
3447
  emits: ["update:modelValue"],
2992
3448
  props: {
2993
3449
  text: {
@@ -3030,8 +3486,8 @@ var ta = /*#__PURE__*/ N(Qi, [["render", ea]]), Q = 0, $ = null, na = {
3030
3486
  this.holdsPageSelectionLock && (this.holdsPageSelectionLock = !1, --Q, Q === 0 && (Object.assign(document.documentElement.style, $), $ = null));
3031
3487
  }
3032
3488
  }
3033
- }, ra = ["id", "popovertarget"], ia = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
3034
- function aa(e, t, r, i, c, l) {
3489
+ }, Za = ["id", "popovertarget"], Qa = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
3490
+ function $a(e, t, r, i, c, l) {
3035
3491
  let u = h("eye"), d = h("popover-panel");
3036
3492
  return f(), n(d, {
3037
3493
  class: "bb-dashboard-ui bb:inline-flex",
@@ -3051,7 +3507,7 @@ function aa(e, t, r, i, c, l) {
3051
3507
  id: t.id,
3052
3508
  popovertarget: t.popovertarget,
3053
3509
  class: "bb:relative bb:inline-flex bb:items-center bb:justify-center bb:self-center bb:text-gray-400 bb:hover:text-gray-600 bb:rounded-md bb:focus-visible:focus-ring"
3054
- }, [a("span", ia, _(e.texts.showText), 1), s(u, { class: "bb:pointer-events-none bb:cursor-default" })], 8, ra)]),
3510
+ }, [a("span", Qa, _(e.texts.showText), 1), s(u, { class: "bb:pointer-events-none bb:cursor-default" })], 8, Za)]),
3055
3511
  default: b(() => [o(_(l.normalizedText), 1)]),
3056
3512
  _: 1
3057
3513
  }, 8, [
@@ -3061,6 +3517,6 @@ function aa(e, t, r, i, c, l) {
3061
3517
  "onToggle"
3062
3518
  ]);
3063
3519
  }
3064
- var oa = /*#__PURE__*/ N(na, [["render", aa]]);
3520
+ var eo = /*#__PURE__*/ M(Xa, [["render", $a]]);
3065
3521
  //#endregion
3066
- export { Kn as ActionPill, vr as ConfirmationModal, yi as DataTable, P as Dot, Ir as DropdownButtonWithAction, xn as ErrorMessages, On as FormInput, Vr as HamburgerMenu, mn as InfoPill, Ci as NavigationMenuElement, Zi as NotificationMessage, Mi as PageCard, Oi as PageTabs, Xe as RussianMobileFilter, rt as Search, Ft as SelectDateInterval, rn as SelectMultiple, un as SelectSingle, oa as TextPopover, _e as dashboardUi, xe as downloadFile };
3522
+ export { Br as ActionPill, fi as ConfirmationModal, pa as DataTable, N as Dot, Ai as DropdownButtonWithAction, hr as ErrorMessages, Sr as FormInput, Fi as HamburgerMenu, cr as InfoPill, _a as NavigationMenuElement, Ga as NotificationMessage, Ea as PageCard, Sa as PageTabs, Ze as RussianMobileFilter, it as Search, It as SelectDateFilter, Ut as SelectDateForm, Qt as SelectDateIntervalFilter, cn as SelectDateIntervalForm, Pn as SelectMultipleFilter, Vn as SelectMultipleForm, Zn as SelectSingleFilter, ir as SelectSingleForm, eo as TextPopover, ye as dashboardUi, Ce as downloadFile };