@boobooking/dashboard-ui-components 0.12.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,11 +1,11 @@
1
- import { Fragment as e, Transition as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, mergeProps as c, normalizeClass as l, openBlock as u, renderList as d, renderSlot as f, resolveComponent as p, toDisplayString as m, useId as h, vModelText as g, vShow as _, withCtx as v, withDirectives as y, withKeys as ee, withModifiers as b } from "vue";
2
- import te from "imask";
1
+ import { Fragment as e, Transition as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createTextVNode as o, createVNode as s, effectScope as c, mergeProps as l, normalizeClass as u, openBlock as d, renderList as f, renderSlot as p, resolveComponent as m, shallowReactive as h, toDisplayString as g, useId as _, vModelText as v, vShow as y, watch as ee, withCtx as b, withDirectives as x, withKeys as te, withModifiers as S } from "vue";
2
+ import ne from "imask";
3
3
  //#region src/i18n.js
4
- var x = ["ru", "en"];
5
- function S(e) {
6
- return x.includes(e);
4
+ var C = ["ru", "en"];
5
+ function w(e) {
6
+ return C.includes(e);
7
7
  }
8
- var ne = {
8
+ var re = {
9
9
  ru: {
10
10
  cancel: "Отмена",
11
11
  download: "Скачать",
@@ -102,26 +102,152 @@ var ne = {
102
102
  back: "Back",
103
103
  close: "Close"
104
104
  }
105
- }, C = Symbol("dashboardUi"), re = Object.freeze({
105
+ };
106
+ //#endregion
107
+ //#region src/windows.js
108
+ function ie(e, t) {
109
+ if (e == null || e === "") return null;
110
+ let n = new URL(String(e), t);
111
+ return n.pathname + n.search;
112
+ }
113
+ function ae(e) {
114
+ return e === null ? null : e.split("?")[0];
115
+ }
116
+ function oe() {
117
+ return {
118
+ windows: [],
119
+ cards: /* @__PURE__ */ new Map(),
120
+ shown: null,
121
+ transition: {
122
+ number: 0,
123
+ fromAddress: null,
124
+ fromWindow: null,
125
+ assigned: /* @__PURE__ */ new Map()
126
+ },
127
+ nextId: 1
128
+ };
129
+ }
130
+ function T(e, t) {
131
+ return e.windows.includes(t);
132
+ }
133
+ function se(e) {
134
+ return e.returnAddress ?? e.fallbackAddress;
135
+ }
136
+ function ce(e) {
137
+ let t = null;
138
+ for (let n of e.cards.values()) t = n.window;
139
+ return t;
140
+ }
141
+ function E(e, t) {
142
+ let n = t;
143
+ for (; n !== null && !T(e, n);) n = n.parent;
144
+ return n;
145
+ }
146
+ function le(e, t) {
147
+ return e.transition = {
148
+ number: e.transition.number + 1,
149
+ fromAddress: e.shown,
150
+ fromWindow: ce(e),
151
+ assigned: /* @__PURE__ */ new Map()
152
+ }, e.shown = t, e.transition.number;
153
+ }
154
+ function ue(e, t, n) {
155
+ let r = e.transition, i = r.assigned.get(t);
156
+ if (i !== void 0 && T(e, i)) return i;
157
+ let a = r.fromWindow, o = r.fromAddress;
158
+ a !== null && !T(e, a) && (a = E(e, a), o = null), a !== null && se(a) === e.shown && (e.windows.splice(e.windows.indexOf(a)), a = a.parent === null ? null : E(e, a.parent), o = null);
159
+ 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;
160
+ a === null ? e.windows = [] : e.windows.splice(e.windows.indexOf(a) + 1);
161
+ let s = {
162
+ id: e.nextId,
163
+ key: t,
164
+ parent: a,
165
+ returnAddress: o,
166
+ fallbackAddress: n
167
+ };
168
+ return e.nextId += 1, e.windows.push(s), s;
169
+ }
170
+ function D(e, t, n, r) {
171
+ let i = ue(e, n, r);
172
+ return i.fallbackAddress = r, e.transition.assigned.set(n, i), e.cards.delete(t), e.cards.set(t, {
173
+ key: n,
174
+ window: i,
175
+ processed: e.transition.number
176
+ }), i;
177
+ }
178
+ function de(e, t, n, r) {
179
+ let i = e.cards.get(t);
180
+ return i === void 0 ? {
181
+ window: D(e, t, n, r),
182
+ rejected: !1,
183
+ key: n
184
+ } : i.key === n ? (i.processed = e.transition.number, {
185
+ window: i.window,
186
+ rejected: !1,
187
+ key: n
188
+ }) : i.processed === e.transition.number ? {
189
+ window: i.window,
190
+ rejected: !0,
191
+ key: i.key
192
+ } : (e.cards.delete(t), {
193
+ window: D(e, t, n, r),
194
+ rejected: !1,
195
+ key: n
196
+ });
197
+ }
198
+ function fe(e, t) {
199
+ e.cards.delete(t);
200
+ }
201
+ function pe(e, t, n) {
202
+ let r = e.cards.get(t);
203
+ r !== void 0 && (r.window.fallbackAddress = n);
204
+ }
205
+ //#endregion
206
+ //#region src/plugin.js
207
+ var O = Symbol("dashboardUi"), me = Object.freeze({
106
208
  lang: "ru",
107
- navigate: null
108
- }), w = { uiSettings: {
109
- from: C,
110
- default: () => re
111
- } }, ie = { install(e, t) {
209
+ navigate: null,
210
+ windows: null
211
+ }), k = { uiSettings: {
212
+ from: O,
213
+ default: () => me
214
+ } };
215
+ function he(e, t) {
216
+ let n = oe(), r = h({
217
+ number: 0,
218
+ address: null
219
+ }), i = c(!0);
220
+ return i.run(() => {
221
+ ee(t, (e) => {
222
+ let t = ie(e, window.location.origin);
223
+ t !== null && t !== r.address && (r.number = le(n, t), r.address = t);
224
+ }, {
225
+ flush: "sync",
226
+ immediate: !0
227
+ });
228
+ }), e.onUnmount(() => i.stop()), {
229
+ state: n,
230
+ page: r
231
+ };
232
+ }
233
+ var ge = { install(e, t) {
112
234
  let n = t ?? {}, r = Object.hasOwn(n, "lang") ? n.lang : "ru";
113
- if (!S(r)) throw Error(`dashboardUi: неизвестный lang «${r}», допустимы: ${x.join(", ")}`);
235
+ if (!w(r)) throw Error(`dashboardUi: неизвестный lang «${r}», допустимы: ${C.join(", ")}`);
114
236
  let i = Object.hasOwn(n, "navigate"), a = i ? n.navigate : null;
115
237
  if (i && typeof a != "function") throw Error("dashboardUi: navigate должен быть функцией (href) => …");
116
- e.provide(C, Object.freeze({
238
+ let o = Object.hasOwn(n, "currentUrl"), s = o ? n.currentUrl : null;
239
+ if (o && typeof s != "function") throw Error("dashboardUi: currentUrl должен быть функцией () => адрес страницы");
240
+ let c = s !== null && typeof window < "u" ? he(e, s) : null;
241
+ e.provide(O, Object.freeze({
117
242
  lang: r,
118
- navigate: a
243
+ navigate: a,
244
+ windows: c
119
245
  }));
120
- } }, T = (e, t) => {
246
+ } }, A = (e, t) => {
121
247
  let n = e.__vccOpts || e;
122
248
  for (let [e, r] of t) n[e] = r;
123
249
  return n;
124
- }, ae = {
250
+ }, _e = {
125
251
  props: {
126
252
  isOpen: {
127
253
  type: Boolean,
@@ -142,27 +268,27 @@ var ne = {
142
268
  }
143
269
  },
144
270
  mounted() {
145
- document.addEventListener("keydown", this.handleEscape);
271
+ document.addEventListener("keydown", this.handleEscape, !0);
146
272
  },
147
273
  beforeUnmount() {
148
- document.removeEventListener("keydown", this.handleEscape);
274
+ document.removeEventListener("keydown", this.handleEscape, !0);
149
275
  }
150
276
  };
151
- function E(e, t, n, r, a, o) {
152
- return y((u(), i("button", {
277
+ function ve(e, t, n, r, a, o) {
278
+ return x((d(), i("button", {
153
279
  tabindex: "-1",
154
- onClick: t[0] ||= b((...e) => o.closeOverlay && o.closeOverlay(...e), ["prevent"]),
155
- class: l(["bb:fixed bb:inset-0 bb:w-full bb:h-full bb:cursor-default bb:flex bb:items-start", {
280
+ onClick: t[0] ||= S((...e) => o.closeOverlay && o.closeOverlay(...e), ["prevent"]),
281
+ class: u(["bb:fixed bb:inset-0 bb:w-full bb:h-full bb:cursor-default bb:flex bb:items-start", {
156
282
  "bb:z-20": n.isOpen,
157
283
  "bb:bg-transparent": n.isTransparent,
158
284
  "bb:bg-gray-900 bb:opacity-75": !n.isTransparent
159
285
  }])
160
- }, null, 2)), [[_, n.isOpen]]);
286
+ }, null, 2)), [[y, n.isOpen]]);
161
287
  }
162
288
  //#endregion
163
289
  //#region src/components/Popup.vue
164
- var oe = {
165
- components: { Overlay: /* @__PURE__ */ T(ae, [["render", E]]) },
290
+ var ye = {
291
+ components: { Overlay: /* @__PURE__ */ A(_e, [["render", ve]]) },
166
292
  inheritAttrs: !1,
167
293
  emits: ["update:modelValue"],
168
294
  props: {
@@ -195,12 +321,12 @@ var oe = {
195
321
  return this.align === "right";
196
322
  }
197
323
  }
198
- }, se = { class: "bb-dashboard-ui bb:relative" };
199
- function ce(e, n, r, o, l, d) {
200
- let m = p("overlay");
201
- return u(), i("div", se, [s(m, {
202
- "is-open": l.overlayIsOpen,
203
- "onUpdate:isOpen": n[0] ||= (e) => l.overlayIsOpen = e
324
+ }, be = { class: "bb-dashboard-ui bb:relative" };
325
+ function xe(e, n, r, o, c, u) {
326
+ let f = m("overlay");
327
+ return d(), i("div", be, [s(f, {
328
+ "is-open": c.overlayIsOpen,
329
+ "onUpdate:isOpen": n[0] ||= (e) => c.overlayIsOpen = e
204
330
  }, null, 8, ["is-open"]), s(t, {
205
331
  "enter-active-class": "bb:transition bb:ease-out bb:duration-100",
206
332
  "enter-from-class": "bb:opacity-0 bb:scale-95",
@@ -209,14 +335,14 @@ function ce(e, n, r, o, l, d) {
209
335
  "leave-from-class": "bb:opacity-100 bb:scale-100",
210
336
  "leave-to-class": "bb:opacity-0 bb:scale-95"
211
337
  }, {
212
- default: v(() => [y(a("div", c(e.$attrs, { class: ["bb:absolute bb:z-20", {
213
- "bb:left-0": d.alignLeft,
214
- "bb:right-0": d.alignRight
215
- }] }), [f(e.$slots, "default")], 16), [[_, r.modelValue]])]),
338
+ default: b(() => [x(a("div", l(e.$attrs, { class: ["bb:absolute bb:z-20", {
339
+ "bb:left-0": u.alignLeft,
340
+ "bb:right-0": u.alignRight
341
+ }] }), [p(e.$slots, "default")], 16), [[y, r.modelValue]])]),
216
342
  _: 3
217
343
  })]);
218
344
  }
219
- var D = /*#__PURE__*/ T(oe, [["render", ce]]), le = {
345
+ var j = /*#__PURE__*/ A(ye, [["render", xe]]), Se = {
220
346
  props: {
221
347
  withPulse: {
222
348
  type: Boolean,
@@ -237,8 +363,8 @@ var D = /*#__PURE__*/ T(oe, [["render", ce]]), le = {
237
363
  }
238
364
  }
239
365
  };
240
- function ue(e, t, n, r, o, s) {
241
- return u(), i("div", { class: l(["bb-dashboard-ui bb:flex bb:h-full bb:items-center bb:leading-none bb:text-4xl", {
366
+ function Ce(e, t, n, r, o, s) {
367
+ return d(), i("div", { class: u(["bb-dashboard-ui bb:flex bb:h-full bb:items-center bb:leading-none bb:text-4xl", {
242
368
  "bb:text-red-500": s.isRed,
243
369
  "bb:text-green-500": s.isGreen,
244
370
  "bb:animate-pulse": n.withPulse
@@ -251,13 +377,13 @@ function ue(e, t, n, r, o, s) {
251
377
  r: "45"
252
378
  })], -1)]], 2);
253
379
  }
254
- var O = /*#__PURE__*/ T(le, [["render", ue]]), de = {}, fe = {
380
+ var M = /*#__PURE__*/ A(Se, [["render", Ce]]), we = {}, Te = {
255
381
  type: "button",
256
382
  tabindex: "-1",
257
383
  class: "bb:absolute bb:right-0 bb:top-0 bb:flex bb:items-center bb:justify-center bb:bg-transparent bb:cursor-pointer bb:text-gray-300 bb:hover:text-gray-400 bb:focus:outline-hidden"
258
384
  };
259
- function pe(e, t, n, r, o, s) {
260
- return u(), i("button", fe, [...t[0] ||= [a("svg", {
385
+ function Ee(e, t, n, r, o, s) {
386
+ return d(), i("button", Te, [...t[0] ||= [a("svg", {
261
387
  class: "bb:w-6 bb:h-6 bb:stroke-current",
262
388
  fill: "none",
263
389
  viewBox: "0 0 24 24"
@@ -268,13 +394,13 @@ function pe(e, t, n, r, o, s) {
268
394
  d: "M6 18L18 6M6 6l12 12"
269
395
  })], -1)]]);
270
396
  }
271
- var k = /*#__PURE__*/ T(de, [["render", pe]]);
397
+ var N = /*#__PURE__*/ A(we, [["render", Ee]]);
272
398
  //#endregion
273
399
  //#region src/date.js
274
- function A(e) {
400
+ function P(e) {
275
401
  return `${String(e.getDate()).padStart(2, "0")}.${String(e.getMonth() + 1).padStart(2, "0")}.${String(e.getFullYear()).padStart(4, "0")}`;
276
402
  }
277
- function j(e) {
403
+ function F(e) {
278
404
  let t = /^(\d{1,2})\.(\d{1,2})\.(\d{4})$/.exec(e);
279
405
  if (t === null) return null;
280
406
  let [, n, r, i] = t.map(Number), a = /* @__PURE__ */ new Date(0);
@@ -282,27 +408,27 @@ function j(e) {
282
408
  }
283
409
  //#endregion
284
410
  //#region src/lang.js
285
- var M = {
286
- inject: w,
411
+ var I = {
412
+ inject: k,
287
413
  props: { lang: {
288
414
  type: String,
289
415
  default: null,
290
- validator: (e) => e === null || S(e)
416
+ validator: (e) => e === null || w(e)
291
417
  } },
292
418
  computed: {
293
419
  resolvedLang() {
294
- return S(this.lang) ? this.lang : this.uiSettings.lang;
420
+ return w(this.lang) ? this.lang : this.uiSettings.lang;
295
421
  },
296
422
  texts() {
297
- return ne[this.resolvedLang];
423
+ return re[this.resolvedLang];
298
424
  }
299
425
  }
300
- }, me = {
426
+ }, De = {
301
427
  components: {
302
- Popup: D,
303
- Eraser: k
428
+ Popup: j,
429
+ Eraser: N
304
430
  },
305
- mixins: [M],
431
+ mixins: [I],
306
432
  emits: ["update:modelValue", "changed"],
307
433
  props: {
308
434
  modelValue: {
@@ -329,8 +455,8 @@ var M = {
329
455
  keyboardInput: !1,
330
456
  bound: !1,
331
457
  firstDay: 1,
332
- parse: (e) => j(e),
333
- toString: (e) => A(e),
458
+ parse: (e) => F(e),
459
+ toString: (e) => P(e),
334
460
  i18n: {
335
461
  previousMonth: this.texts.previousMonth,
336
462
  nextMonth: this.texts.nextMonth,
@@ -339,7 +465,7 @@ var M = {
339
465
  weekdaysShort: this.texts.weekdaysShort
340
466
  },
341
467
  onSelect: (e) => {
342
- this.popupIsOpen = !1, this.$emit("update:modelValue", A(e)), this.$emit("changed");
468
+ this.popupIsOpen = !1, this.$emit("update:modelValue", P(e)), this.$emit("changed");
343
469
  }
344
470
  }));
345
471
  },
@@ -359,7 +485,7 @@ var M = {
359
485
  methods: {
360
486
  syncPicker(e) {
361
487
  if (this.picker === null) return;
362
- let t = j(e);
488
+ let t = F(e);
363
489
  if (t === null) {
364
490
  this.picker.clear();
365
491
  return;
@@ -378,42 +504,42 @@ var M = {
378
504
  return !this.withEraser || this.popupIsOpen ? !1 : this.hasValue;
379
505
  }
380
506
  }
381
- }, he = { class: "bb-dashboard-ui bb:flex bb:flex-col" }, N = { class: "bb:relative bb:flex bb:h-full bb:cursor-pointer bb:leading-none" }, P = { class: "bb:min-w-24 bb:w-full bb:h-full" }, F = [
507
+ }, Oe = { class: "bb-dashboard-ui bb:flex bb:flex-col" }, ke = { class: "bb:relative bb:flex bb:h-full bb:cursor-pointer bb:leading-none" }, Ae = { class: "bb:min-w-24 bb:w-full bb:h-full" }, je = [
382
508
  "disabled",
383
509
  "value",
384
510
  "placeholder"
385
- ], I = {
511
+ ], Me = {
386
512
  ref: "container",
387
513
  class: "bb:flex bb:mt-1 bb:bg-white bb:border bb:border-gray-200 bb:rounded-md bb:shadow-lg"
388
514
  };
389
- function L(e, t, o, c, d, f) {
390
- let m = p("eraser"), h = p("popup");
391
- return u(), i("div", he, [a("div", N, [a("button", {
515
+ function Ne(e, t, o, c, l, f) {
516
+ let p = m("eraser"), h = m("popup");
517
+ return d(), i("div", Oe, [a("div", ke, [a("button", {
392
518
  ref: "trigger",
393
519
  type: "button",
394
- class: l(["bb:flex bb:w-full bb:items-center bb:focus:outline-hidden", { "bb:z-20": d.popupIsOpen }]),
395
- onClick: t[0] ||= (e) => d.popupIsOpen = !d.popupIsOpen
396
- }, [a("label", P, [a("input", {
397
- disabled: d.popupIsOpen,
520
+ class: u(["bb:flex bb:w-full bb:items-center bb:focus:outline-hidden", { "bb:z-20": l.popupIsOpen }]),
521
+ onClick: t[0] ||= (e) => l.popupIsOpen = !l.popupIsOpen
522
+ }, [a("label", Ae, [a("input", {
523
+ disabled: l.popupIsOpen,
398
524
  ref: "field",
399
525
  type: "text",
400
- value: d.dayValue,
526
+ value: l.dayValue,
401
527
  placeholder: o.placeholderText,
402
528
  class: "bb:w-full bb:h-full bb:py-2 bb:pr-3 bb:leading-none bb:border bb:border-transparent bb:whitespace-nowrap bb:bg-transparent bb:placeholder:text-sm bb:placeholder-gray-300 bb:cursor-pointer bb:focus:outline-hidden"
403
- }, null, 8, F)])], 2), f.needsEraser ? (u(), n(m, {
529
+ }, null, 8, je)])], 2), f.needsEraser ? (d(), n(p, {
404
530
  key: 0,
405
531
  onClick: f.clearPicker,
406
532
  class: "bb:z-10 bb:h-full bb:pr-2"
407
533
  }, null, 8, ["onClick"])) : r("", !0)]), s(h, {
408
- modelValue: d.popupIsOpen,
409
- "onUpdate:modelValue": t[1] ||= (e) => d.popupIsOpen = e
534
+ modelValue: l.popupIsOpen,
535
+ "onUpdate:modelValue": t[1] ||= (e) => l.popupIsOpen = e
410
536
  }, {
411
- default: v(() => [a("div", I, null, 512)]),
537
+ default: b(() => [a("div", Me, null, 512)]),
412
538
  _: 1
413
539
  }, 8, ["modelValue"])]);
414
540
  }
415
- var R = /*#__PURE__*/ T(me, [["render", L]]), ge = {
416
- components: { Dot: O },
541
+ var L = /*#__PURE__*/ A(De, [["render", Ne]]), Pe = {
542
+ components: { Dot: M },
417
543
  props: {
418
544
  text: {
419
545
  type: String,
@@ -428,43 +554,43 @@ var R = /*#__PURE__*/ T(me, [["render", L]]), ge = {
428
554
  default: !1
429
555
  }
430
556
  }
431
- }, _e = { class: "bb:flex bb:h-6 bb:px-3 bb:bg-white bb:items-center bb:justify-between" }, ve = ["textContent"];
432
- function ye(e, t, n, r, o, c) {
433
- let l = p("dot");
434
- return u(), i("div", _e, [
557
+ }, Fe = { class: "bb:flex bb:h-6 bb:px-3 bb:bg-white bb:items-center bb:justify-between" }, Ie = ["textContent"];
558
+ function Le(e, t, n, r, o, c) {
559
+ let l = m("dot");
560
+ return d(), i("div", Fe, [
435
561
  a("div", {
436
562
  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",
437
- textContent: m(n.text)
438
- }, null, 8, ve),
439
- y(s(l, {
563
+ textContent: g(n.text)
564
+ }, null, 8, Ie),
565
+ x(s(l, {
440
566
  color: "red",
441
567
  "with-pulse": !0,
442
568
  class: "bb:ml-3"
443
- }, null, 512), [[_, n.isLoading]]),
444
- y(s(l, {
569
+ }, null, 512), [[y, n.isLoading]]),
570
+ x(s(l, {
445
571
  color: "red",
446
572
  class: "bb:ml-3"
447
- }, null, 512), [[_, n.isRequired]])
573
+ }, null, 512), [[y, n.isRequired]])
448
574
  ]);
449
575
  }
450
- var z = /*#__PURE__*/ T(ge, [["render", ye]]), be = 10;
451
- function xe(e) {
576
+ var R = /*#__PURE__*/ A(Pe, [["render", Le]]), Re = 10;
577
+ function ze(e) {
452
578
  let t = e.replace(/\D/g, "");
453
- return (t.startsWith("7") || t.startsWith("8")) && t[1] === "9" && (t = t.slice(1)), t.slice(0, be);
579
+ return (t.startsWith("7") || t.startsWith("8")) && t[1] === "9" && (t = t.slice(1)), t.slice(0, Re);
454
580
  }
455
- function B(e) {
581
+ function z(e) {
456
582
  return e === "" ? "" : `7${e}`;
457
583
  }
458
- function V(e) {
584
+ function B(e) {
459
585
  let t = e ?? "", n = t.startsWith("+") ? t.slice(1) : t;
460
586
  return n.startsWith("7") ? n.slice(1) : n;
461
587
  }
462
588
  //#endregion
463
589
  //#region src/components/RussianMobileFilter.vue
464
- var Se = 400, Ce = 3, we = {
590
+ var Be = 400, Ve = 3, He = {
465
591
  components: {
466
- ElementHeader: z,
467
- Eraser: k
592
+ ElementHeader: R,
593
+ Eraser: N
468
594
  },
469
595
  emits: ["update:modelValue", "changed"],
470
596
  props: {
@@ -486,32 +612,32 @@ var Se = 400, Ce = 3, we = {
486
612
  }
487
613
  },
488
614
  data() {
489
- return { digits: V(this.modelValue) };
615
+ return { digits: B(this.modelValue) };
490
616
  },
491
617
  created() {
492
- this.mask = null, this.debounceTimer = null, this.isWritingProgrammatically = !1, this.lastCommitted = V(this.modelValue), this.isUnmounted = !1;
618
+ this.mask = null, this.debounceTimer = null, this.isWritingProgrammatically = !1, this.lastCommitted = B(this.modelValue), this.isUnmounted = !1;
493
619
  },
494
620
  mounted() {
495
- this.mask = te(this.$refs.input, {
621
+ this.mask = ne(this.$refs.input, {
496
622
  mask: "+7 (000) 000 00 00",
497
623
  lazy: !0,
498
624
  prepare: (e, t) => t.unmaskedValue === "" && (e === "7" || e === "8") ? "" : e
499
625
  }), this.mask.on("accept", () => {
500
- this.isWritingProgrammatically || (this.digits = this.mask.unmaskedValue, this.$emit("update:modelValue", B(this.digits)), this.scheduleCommit());
626
+ this.isWritingProgrammatically || (this.digits = this.mask.unmaskedValue, this.$emit("update:modelValue", z(this.digits)), this.scheduleCommit());
501
627
  }), this.syncFromModelValue(this.modelValue);
502
628
  },
503
629
  beforeUnmount() {
504
630
  this.isUnmounted = !0, clearTimeout(this.debounceTimer), this.mask?.destroy();
505
631
  },
506
632
  watch: { modelValue(e) {
507
- e !== B(this.digits) && this.syncFromModelValue(e);
633
+ e !== z(this.digits) && this.syncFromModelValue(e);
508
634
  } },
509
635
  methods: {
510
636
  syncFromModelValue(e) {
511
- this.writeToMask(V(e)), this.digits = this.mask.unmaskedValue, this.lastCommitted = this.digits;
637
+ this.writeToMask(B(e)), this.digits = this.mask.unmaskedValue, this.lastCommitted = this.digits;
512
638
  },
513
639
  applyUserDigits(e) {
514
- this.writeToMask(e), this.digits = this.mask.unmaskedValue, this.$emit("update:modelValue", B(this.digits));
640
+ this.writeToMask(e), this.digits = this.mask.unmaskedValue, this.$emit("update:modelValue", z(this.digits));
515
641
  },
516
642
  writeToMask(e) {
517
643
  if (this.isWritingProgrammatically = !0, e === "") this.mask.value = "";
@@ -534,7 +660,7 @@ var Se = 400, Ce = 3, we = {
534
660
  this.isUnmounted || (this.setLazy(!0), this.digits === "" && this.writeToMask(""), this.commit());
535
661
  },
536
662
  onPaste(e) {
537
- this.applyUserDigits(xe(e.clipboardData?.getData("text") ?? "")), this.scheduleCommit();
663
+ this.applyUserDigits(ze(e.clipboardData?.getData("text") ?? "")), this.scheduleCommit();
538
664
  },
539
665
  clear() {
540
666
  this.applyUserDigits(""), this.commit();
@@ -544,16 +670,16 @@ var Se = 400, Ce = 3, we = {
544
670
  this.commit();
545
671
  return;
546
672
  }
547
- this.digits.length < Ce || (this.debounceTimer = setTimeout(() => this.commit(), Se));
673
+ this.digits.length < Ve || (this.debounceTimer = setTimeout(() => this.commit(), Be));
548
674
  },
549
675
  commit() {
550
676
  clearTimeout(this.debounceTimer), this.digits !== this.lastCommitted && (this.lastCommitted = this.digits, this.$emit("changed"));
551
677
  }
552
678
  }
553
- }, Te = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, Ee = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, De = { class: "bb:relative bb:flex bb:h-full bb:w-full" }, Oe = { class: "bb:flex bb:w-full bb:h-full bb:items-center bb:justify-center" };
554
- function ke(e, t, n, r, o, c) {
555
- let l = p("element-header"), d = p("eraser");
556
- return u(), i("div", Te, [a("div", Ee, [s(l, {
679
+ }, Ue = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, We = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, Ge = { class: "bb:relative bb:flex bb:h-full bb:w-full" }, Ke = { class: "bb:flex bb:w-full bb:h-full bb:items-center bb:justify-center" };
680
+ function qe(e, t, n, r, o, c) {
681
+ let l = m("element-header"), u = m("eraser");
682
+ return d(), i("div", Ue, [a("div", We, [s(l, {
557
683
  text: n.header,
558
684
  "is-required": n.isRequired,
559
685
  "is-loading": n.isLoading
@@ -561,7 +687,7 @@ function ke(e, t, n, r, o, c) {
561
687
  "text",
562
688
  "is-required",
563
689
  "is-loading"
564
- ]), a("div", De, [a("label", Oe, [a("input", {
690
+ ]), a("div", Ge, [a("label", Ke, [a("input", {
565
691
  ref: "input",
566
692
  type: "tel",
567
693
  inputmode: "tel",
@@ -569,18 +695,18 @@ function ke(e, t, n, r, o, c) {
569
695
  class: "bb:flex bb:w-phone bb:h-full bb:px-3 bb:py-2 bb:cursor-pointer bb:truncate bb:focus:outline-hidden bb:border-none",
570
696
  onFocus: t[0] ||= (...e) => c.onFocus && c.onFocus(...e),
571
697
  onBlur: t[1] ||= (...e) => c.onBlur && c.onBlur(...e),
572
- onKeydown: t[2] ||= ee((...e) => c.commit && c.commit(...e), ["enter"]),
573
- onPaste: t[3] ||= b((...e) => c.onPaste && c.onPaste(...e), ["prevent"])
574
- }, null, 544), y(s(d, {
575
- onMousedown: t[4] ||= b(() => {}, ["prevent"]),
698
+ onKeydown: t[2] ||= te((...e) => c.commit && c.commit(...e), ["enter"]),
699
+ onPaste: t[3] ||= S((...e) => c.onPaste && c.onPaste(...e), ["prevent"])
700
+ }, null, 544), x(s(u, {
701
+ onMousedown: t[4] ||= S(() => {}, ["prevent"]),
576
702
  onClick: c.clear,
577
703
  class: "bb:pr-2 bb:h-full"
578
- }, null, 8, ["onClick"]), [[_, o.digits.length > 0]])])])])]);
704
+ }, null, 8, ["onClick"]), [[y, o.digits.length > 0]])])])])]);
579
705
  }
580
- var Ae = /*#__PURE__*/ T(we, [["render", ke]]), je = {
706
+ var Je = /*#__PURE__*/ A(He, [["render", qe]]), Ye = {
581
707
  components: {
582
- ElementHeader: z,
583
- Eraser: k
708
+ ElementHeader: R,
709
+ Eraser: N
584
710
  },
585
711
  emits: ["update:modelValue", "changed"],
586
712
  props: {
@@ -618,10 +744,10 @@ var Ae = /*#__PURE__*/ T(we, [["render", ke]]), je = {
618
744
  this.$emit("update:modelValue", this.search), this.$emit("changed");
619
745
  }
620
746
  }
621
- }, Me = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, Ne = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, Pe = { class: "bb:relative bb:flex bb:h-full bb:w-full" }, Fe = { class: "bb:flex bb:w-full bb:h-full bb:items-center bb:justify-center" };
622
- function Ie(e, t, n, r, o, c) {
623
- let l = p("element-header"), d = p("eraser");
624
- return u(), i("div", Me, [a("div", Ne, [s(l, {
747
+ }, Xe = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, Ze = { 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" }, $e = { class: "bb:flex bb:w-full bb:h-full bb:items-center bb:justify-center" };
748
+ function et(e, t, n, r, o, c) {
749
+ let l = m("element-header"), u = m("eraser");
750
+ return d(), i("div", Xe, [a("div", Ze, [s(l, {
625
751
  text: n.header,
626
752
  "is-required": n.isRequired,
627
753
  "is-loading": n.isLoading
@@ -629,26 +755,26 @@ function Ie(e, t, n, r, o, c) {
629
755
  "text",
630
756
  "is-required",
631
757
  "is-loading"
632
- ]), a("div", Pe, [a("label", Fe, [y(a("input", {
758
+ ]), a("div", Qe, [a("label", $e, [x(a("input", {
633
759
  class: "bb:flex bb:w-full bb:h-full bb:px-3 bb:py-2 bb:cursor-pointer bb:truncate bb:focus:outline-hidden bb:border-none",
634
760
  "onUpdate:modelValue": t[0] ||= (e) => o.search = e,
635
761
  onInput: t[1] ||= (...e) => c.startSearch && c.startSearch(...e)
636
762
  }, null, 544), [[
637
- g,
763
+ v,
638
764
  o.search,
639
765
  void 0,
640
766
  { trim: !0 }
641
- ]]), y(s(d, {
767
+ ]]), x(s(u, {
642
768
  onClick: c.clearInput,
643
769
  class: "bb:pr-2 bb:h-full"
644
- }, null, 8, ["onClick"]), [[_, c.inputNeedsEraser]])])])])]);
770
+ }, null, 8, ["onClick"]), [[y, c.inputNeedsEraser]])])])])]);
645
771
  }
646
- var Le = /*#__PURE__*/ T(je, [["render", Ie]]), Re = {
772
+ var tt = /*#__PURE__*/ A(Ye, [["render", et]]), nt = {
647
773
  components: {
648
- ElementHeader: z,
649
- PickDay: R
774
+ ElementHeader: R,
775
+ PickDay: L
650
776
  },
651
- mixins: [M],
777
+ mixins: [I],
652
778
  emits: [
653
779
  "update:dateFrom",
654
780
  "update:dateTo",
@@ -696,10 +822,10 @@ var Le = /*#__PURE__*/ T(je, [["render", Ie]]), Re = {
696
822
  this.$emit("update:dateTo", e), this.dateTo !== e && this.$emit("changed");
697
823
  }
698
824
  }
699
- }, ze = { class: "bb-dashboard-ui bb:flex" }, Be = { class: "bb:flex bb:border bb:border-white" }, Ve = { class: "bb:flex bb:flex-col bb:min-w-72 bb:w-72 bb:bg-white bb:h-full" }, He = { class: "bb:flex bb:h-full bb:divide-x bb:divide-gray-200" };
700
- function Ue(e, t, n, r, o, c) {
701
- let l = p("element-header"), d = p("pick-day");
702
- return u(), i("div", ze, [a("div", Be, [a("div", Ve, [s(l, {
825
+ }, rt = { class: "bb-dashboard-ui bb:flex" }, it = { class: "bb:flex bb:border bb:border-white" }, at = { class: "bb:flex bb:flex-col bb:min-w-72 bb:w-72 bb:bg-white bb:h-full" }, ot = { class: "bb:flex bb:h-full bb:divide-x bb:divide-gray-200" };
826
+ function st(e, t, n, r, o, c) {
827
+ let l = m("element-header"), u = m("pick-day");
828
+ return d(), i("div", rt, [a("div", it, [a("div", at, [s(l, {
703
829
  text: n.header,
704
830
  "is-required": n.isRequired,
705
831
  "is-loading": n.isLoading
@@ -707,7 +833,7 @@ function Ue(e, t, n, r, o, c) {
707
833
  "text",
708
834
  "is-required",
709
835
  "is-loading"
710
- ]), a("div", He, [s(d, {
836
+ ]), a("div", ot, [s(u, {
711
837
  modelValue: o.userDateFrom,
712
838
  "onUpdate:modelValue": t[0] ||= (e) => o.userDateFrom = e,
713
839
  class: "bb:flex-1 bb:min-w-36 bb:pl-3",
@@ -717,7 +843,7 @@ function Ue(e, t, n, r, o, c) {
717
843
  "modelValue",
718
844
  "placeholder-text",
719
845
  "lang"
720
- ]), s(d, {
846
+ ]), s(u, {
721
847
  modelValue: o.userDateTo,
722
848
  "onUpdate:modelValue": t[1] ||= (e) => o.userDateTo = e,
723
849
  class: "bb:flex-1 bb:min-w-36 bb:pl-3",
@@ -729,10 +855,10 @@ function Ue(e, t, n, r, o, c) {
729
855
  "lang"
730
856
  ])])])])]);
731
857
  }
732
- var We = /*#__PURE__*/ T(Re, [["render", Ue]]), Ge = {
858
+ var ct = /*#__PURE__*/ A(nt, [["render", st]]), lt = {
733
859
  components: {
734
- Popup: D,
735
- Eraser: k
860
+ Popup: j,
861
+ Eraser: N
736
862
  },
737
863
  emits: ["update:isOpen", "erased"],
738
864
  props: {
@@ -754,7 +880,7 @@ var We = /*#__PURE__*/ T(Re, [["render", Ue]]), Ge = {
754
880
  },
755
881
  watch: {
756
882
  isOpen(e) {
757
- this.popupIsOpen = e;
883
+ this.popupIsOpen = e, !e && this.$el.contains(document.activeElement) && this.$refs.trigger.focus();
758
884
  },
759
885
  popupIsOpen(e) {
760
886
  this.$emit("update:isOpen", e);
@@ -763,29 +889,30 @@ var We = /*#__PURE__*/ T(Re, [["render", Ue]]), Ge = {
763
889
  computed: { needsEraser() {
764
890
  return !this.isOpen && this.hasValue;
765
891
  } }
766
- }, Ke = { class: "bb:flex bb:flex-col bb:grow bb:bg-white" }, qe = { class: "bb:relative bb:flex bb:w-full bb:h-full" }, Je = ["textContent"];
767
- function Ye(e, t, o, c, d, h) {
768
- let g = p("eraser"), _ = p("popup");
769
- return u(), i("div", Ke, [a("div", qe, [a("button", {
892
+ }, ut = { class: "bb:flex bb:flex-col bb:grow bb:bg-white" }, dt = { class: "bb:relative bb:flex bb:w-full bb:h-full" }, ft = ["textContent"];
893
+ function pt(e, t, o, c, l, f) {
894
+ let h = m("eraser"), _ = m("popup");
895
+ return d(), i("div", ut, [a("div", dt, [a("button", {
896
+ ref: "trigger",
770
897
  type: "button",
771
- class: l(["bb:flex bb:w-full bb:h-full bb:items-center bb:focus:outline-hidden bb:cursor-pointer", { "bb:z-20": o.isOpen }]),
772
- onClick: t[0] ||= b((t) => e.$emit("update:isOpen", !o.isOpen), ["prevent"])
898
+ class: u(["bb:flex bb:w-full bb:h-full bb:items-center bb:focus:outline-hidden bb:cursor-pointer", { "bb:z-20": o.isOpen }]),
899
+ onClick: t[0] ||= S((t) => e.$emit("update:isOpen", !o.isOpen), ["prevent"])
773
900
  }, [a("span", {
774
901
  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",
775
- textContent: m(o.title)
776
- }, null, 8, Je)], 2), h.needsEraser ? (u(), n(g, {
902
+ textContent: g(o.title)
903
+ }, null, 8, ft)], 2), f.needsEraser ? (d(), n(h, {
777
904
  key: 0,
778
905
  onClick: t[1] ||= (t) => e.$emit("erased"),
779
906
  class: "bb:pr-2 bb:h-full"
780
907
  })) : r("", !0)]), s(_, {
781
- modelValue: d.popupIsOpen,
782
- "onUpdate:modelValue": t[2] ||= (e) => d.popupIsOpen = e
908
+ modelValue: l.popupIsOpen,
909
+ "onUpdate:modelValue": t[2] ||= (e) => l.popupIsOpen = e
783
910
  }, {
784
- default: v(() => [f(e.$slots, "default")]),
911
+ default: b(() => [p(e.$slots, "default")]),
785
912
  _: 3
786
913
  }, 8, ["modelValue"])]);
787
914
  }
788
- var Xe = /*#__PURE__*/ T(Ge, [["render", Ye]]), Ze = {
915
+ var mt = /*#__PURE__*/ A(lt, [["render", pt]]), ht = {
789
916
  props: {
790
917
  isChecked: {
791
918
  type: Boolean,
@@ -797,31 +924,48 @@ var Xe = /*#__PURE__*/ T(Ge, [["render", Ye]]), Ze = {
797
924
  methods: { toggle() {
798
925
  this.$emit("clicked");
799
926
  } }
800
- }, Qe = { class: "bb:flex bb:w-9 bb:h-9 bb:items-center bb:justify-center" }, $e = {
927
+ }, gt = { class: "bb:flex bb:w-9 bb:h-9 bb:items-center bb:justify-center" }, _t = {
801
928
  class: "bb:w-5 bb:h-5 bb:fill-current bb:text-green-300",
802
929
  viewBox: "0 0 20 20"
803
- }, et = ["textContent"];
804
- function tt(e, t, n, r, o, s) {
805
- return u(), i("button", {
930
+ }, vt = ["textContent"];
931
+ function yt(e, t, n, r, o, s) {
932
+ return d(), i("button", {
806
933
  type: "button",
807
- onClick: t[0] ||= b((...e) => s.toggle && s.toggle(...e), ["prevent"]),
808
- class: "bb:flex bb:w-full bb:bg-white bb:hover:bg-indigo-100 bb:cursor-pointer bb:focus:outline-hidden bb:focus:ring-3 bb:focus:z-10 bb:focus:ring-blue-500/50"
809
- }, [a("span", Qe, [y((u(), i("svg", $e, [...t[1] ||= [a("path", {
934
+ onClick: t[0] ||= S((...e) => s.toggle && s.toggle(...e), ["prevent"]),
935
+ class: "bb:flex bb:w-full bb:bg-white bb:cursor-pointer bb:focus:outline-hidden bb:focus:bg-indigo-100"
936
+ }, [a("span", gt, [x((d(), i("svg", _t, [...t[1] ||= [a("path", {
810
937
  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",
811
938
  "clip-rule": "evenodd",
812
939
  "fill-rule": "evenodd"
813
- }, null, -1)]], 512)), [[_, n.isChecked]])]), a("span", {
940
+ }, null, -1)]], 512)), [[y, n.isChecked]])]), a("span", {
814
941
  class: "bb:flex bb:h-9 bb:justify-center bb:items-center bb:pr-6 bb:whitespace-nowrap bb:select-none",
815
- textContent: m(n.name)
816
- }, null, 8, et)]);
942
+ textContent: g(n.name)
943
+ }, null, 8, vt)]);
944
+ }
945
+ var bt = /*#__PURE__*/ A(ht, [["render", yt]]), V = "a[href], button";
946
+ function H(e, t = () => null) {
947
+ let n = (n) => {
948
+ if (n.key !== "ArrowDown" && n.key !== "ArrowUp") return;
949
+ let r = [...e.querySelectorAll(V)];
950
+ if (r.length === 0) return;
951
+ n.preventDefault();
952
+ let i = n.key === "ArrowDown" ? 1 : -1, a = r.indexOf(document.activeElement);
953
+ a === -1 && (a = r.indexOf(t())), r[a === -1 ? i === 1 ? 0 : r.length - 1 : (a + i + r.length) % r.length].focus();
954
+ }, r = (e) => {
955
+ let t = e.target.closest(V);
956
+ t !== null && t.focus({ preventScroll: !0 });
957
+ };
958
+ return document.addEventListener("keydown", n, !0), e.addEventListener("mousemove", r), () => {
959
+ document.removeEventListener("keydown", n, !0), e.removeEventListener("mousemove", r);
960
+ };
817
961
  }
818
962
  //#endregion
819
963
  //#region src/components/SelectSingle.vue
820
- var nt = {
964
+ var xt = {
821
965
  components: {
822
- ElementHeader: z,
823
- DropdownButton: Xe,
824
- ListElement: /* @__PURE__ */ T(Ze, [["render", tt]])
966
+ ElementHeader: R,
967
+ DropdownButton: mt,
968
+ ListElement: bt
825
969
  },
826
970
  emits: ["update:modelValue", "changed"],
827
971
  props: {
@@ -849,6 +993,20 @@ var nt = {
849
993
  data() {
850
994
  return { isOpen: !1 };
851
995
  },
996
+ watch: {
997
+ isOpen(e) {
998
+ this.stopMovingFocus(), e && (this.stopArrows = H(this.$refs.list, this.activeItemElement));
999
+ },
1000
+ hasItems(e) {
1001
+ e || (this.isOpen = !1);
1002
+ }
1003
+ },
1004
+ created() {
1005
+ this.stopArrows = null;
1006
+ },
1007
+ beforeUnmount() {
1008
+ this.stopMovingFocus();
1009
+ },
852
1010
  computed: {
853
1011
  itemList() {
854
1012
  return this.items ?? [];
@@ -872,12 +1030,22 @@ var nt = {
872
1030
  },
873
1031
  clear() {
874
1032
  this.$emit("update:modelValue", null), this.$emit("changed");
1033
+ },
1034
+ activeItemElement() {
1035
+ let e = this.itemList.indexOf(this.activeItem);
1036
+ return e === -1 ? null : this.$refs.list.querySelectorAll("button")[e];
1037
+ },
1038
+ stopMovingFocus() {
1039
+ this.stopArrows !== null && (this.stopArrows(), this.stopArrows = null);
875
1040
  }
876
1041
  }
877
- }, rt = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, it = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, at = { class: "bb:flex bb:flex-col bb:py-1 bb:mt-1 bb:bg-white bb:border bb:border-gray-200 bb:rounded-md bb:shadow-lg bb:divide-y bb:divide-gray-200 bb:divide-dashed" };
878
- function ot(t, o, c, l, f, m) {
879
- let h = p("element-header"), g = p("list-element"), _ = p("dropdown-button");
880
- return u(), i("div", rt, [a("div", it, [s(h, {
1042
+ }, St = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, Ct = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, wt = {
1043
+ ref: "list",
1044
+ class: "bb:flex bb:flex-col bb:py-1 bb:mt-1 bb:bg-white bb:border bb:border-gray-200 bb:rounded-md bb:shadow-lg bb:divide-y bb:divide-gray-200 bb:divide-dashed"
1045
+ };
1046
+ function Tt(t, o, c, l, u, p) {
1047
+ let h = m("element-header"), g = m("list-element"), _ = m("dropdown-button");
1048
+ return d(), i("div", St, [a("div", Ct, [s(h, {
881
1049
  text: c.header,
882
1050
  "is-required": c.isRequired,
883
1051
  "is-loading": c.isLoading
@@ -885,24 +1053,24 @@ function ot(t, o, c, l, f, m) {
885
1053
  "text",
886
1054
  "is-required",
887
1055
  "is-loading"
888
- ]), m.hasItems ? (u(), n(_, {
1056
+ ]), p.hasItems ? (d(), n(_, {
889
1057
  key: 0,
890
- title: m.activeItemName,
891
- "is-open": f.isOpen,
892
- "onUpdate:isOpen": o[0] ||= (e) => f.isOpen = e,
893
- "has-value": m.hasValue,
894
- onErased: m.clear
1058
+ title: p.activeItemName,
1059
+ "is-open": u.isOpen,
1060
+ "onUpdate:isOpen": o[0] ||= (e) => u.isOpen = e,
1061
+ "has-value": p.hasValue,
1062
+ onErased: p.clear
895
1063
  }, {
896
- default: v(() => [a("div", at, [(u(!0), i(e, null, d(m.itemList, (e) => (u(), n(g, {
1064
+ default: b(() => [a("div", wt, [(d(!0), i(e, null, f(p.itemList, (e) => (d(), n(g, {
897
1065
  name: e.name,
898
1066
  key: e.id,
899
1067
  "is-checked": e.id === c.modelValue,
900
- onClicked: (t) => m.itemClicked(e)
1068
+ onClicked: (t) => p.itemClicked(e)
901
1069
  }, null, 8, [
902
1070
  "name",
903
1071
  "is-checked",
904
1072
  "onClicked"
905
- ]))), 128))])]),
1073
+ ]))), 128))], 512)]),
906
1074
  _: 1
907
1075
  }, 8, [
908
1076
  "title",
@@ -911,7 +1079,7 @@ function ot(t, o, c, l, f, m) {
911
1079
  "onErased"
912
1080
  ])) : r("", !0)])]);
913
1081
  }
914
- var st = /*#__PURE__*/ T(nt, [["render", ot]]), ct = {
1082
+ var Et = /*#__PURE__*/ A(xt, [["render", Tt]]), Dt = {
915
1083
  props: {
916
1084
  text: {
917
1085
  type: String,
@@ -950,10 +1118,10 @@ var st = /*#__PURE__*/ T(nt, [["render", ot]]), ct = {
950
1118
  return this.color === "yellow";
951
1119
  }
952
1120
  }
953
- }, lt = ["textContent"];
954
- function ut(e, t, n, r, a, o) {
955
- return u(), i("span", {
956
- class: l(["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", {
1121
+ }, Ot = ["textContent"];
1122
+ function kt(e, t, n, r, a, o) {
1123
+ return d(), i("span", {
1124
+ 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", {
957
1125
  "bb:bg-green-50 bb:text-gray-700": o.isGreen,
958
1126
  "bb:bg-indigo-100 bb:text-gray-700": o.isIndigo,
959
1127
  "bb:bg-gray-200 bb:text-gray-700": o.isGray,
@@ -961,10 +1129,10 @@ function ut(e, t, n, r, a, o) {
961
1129
  "bb:bg-red-100 bb:text-red-800": o.isRed,
962
1130
  "bb:bg-yellow-100 bb:text-yellow-800": o.isYellow
963
1131
  }]),
964
- textContent: m(n.text)
965
- }, null, 10, lt);
1132
+ textContent: g(n.text)
1133
+ }, null, 10, Ot);
966
1134
  }
967
- var H = /*#__PURE__*/ T(ct, [["render", ut]]), dt = {
1135
+ var U = /*#__PURE__*/ A(Dt, [["render", kt]]), At = {
968
1136
  props: {
969
1137
  messages: {
970
1138
  type: [Object, Array],
@@ -984,32 +1152,32 @@ var H = /*#__PURE__*/ T(ct, [["render", ut]]), dt = {
984
1152
  return this.type === "dangerous";
985
1153
  }
986
1154
  }
987
- }, ft = { class: "bb:flex" }, pt = { class: "bb:shrink-0" }, mt = { class: "bb:ml-3" }, ht = ["textContent"];
988
- function gt(t, n, o, s, c, f) {
989
- return f.hasErrors ? (u(), i("div", {
1155
+ }, jt = { class: "bb:flex" }, Mt = { class: "bb:shrink-0" }, Nt = { class: "bb:ml-3" }, Pt = ["textContent"];
1156
+ function Ft(t, n, o, s, c, l) {
1157
+ return l.hasErrors ? (d(), i("div", {
990
1158
  key: 0,
991
- class: l(["bb-dashboard-ui bb:border-l-4 bb:p-4", f.isDangerous ? "bb:bg-red-50 bb:border-red-400" : "bb:bg-yellow-50 bb:border-yellow-400"])
992
- }, [a("div", ft, [a("div", pt, [(u(), i("svg", {
993
- class: l(["bb:h-5 bb:w-5", f.isDangerous ? "bb:text-red-400" : "bb:text-yellow-400"]),
1159
+ 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"])
1160
+ }, [a("div", jt, [a("div", Mt, [(d(), i("svg", {
1161
+ class: u(["bb:h-5 bb:w-5", l.isDangerous ? "bb:text-red-400" : "bb:text-yellow-400"]),
994
1162
  viewBox: "0 0 20 20",
995
1163
  fill: "currentColor"
996
1164
  }, [...n[0] ||= [a("path", {
997
1165
  "fill-rule": "evenodd",
998
1166
  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",
999
1167
  "clip-rule": "evenodd"
1000
- }, null, -1)]], 2))]), a("div", mt, [(u(!0), i(e, null, d(o.messages, (e, t) => (u(), i("p", {
1001
- class: l(["bb:text-sm bb:leading-5", f.isDangerous ? "bb:text-red-700" : "bb:text-yellow-700"]),
1168
+ }, null, -1)]], 2))]), a("div", Nt, [(d(!0), i(e, null, f(o.messages, (e, t) => (d(), i("p", {
1169
+ class: u(["bb:text-sm bb:leading-5", l.isDangerous ? "bb:text-red-700" : "bb:text-yellow-700"]),
1002
1170
  key: t,
1003
- textContent: m(e)
1004
- }, null, 10, ht))), 128))])])], 2)) : r("", !0);
1171
+ textContent: g(e)
1172
+ }, null, 10, Pt))), 128))])])], 2)) : r("", !0);
1005
1173
  }
1006
- var _t = /*#__PURE__*/ T(dt, [["render", gt]]), vt = { emits: ["clicked"] };
1007
- function yt(e, t, n, r, o, s) {
1008
- return u(), i("button", {
1174
+ var It = /*#__PURE__*/ A(At, [["render", Ft]]), Lt = { emits: ["clicked"] };
1175
+ function Rt(e, t, n, r, o, s) {
1176
+ return d(), i("button", {
1009
1177
  type: "button",
1010
1178
  tabindex: "-1",
1011
1179
  class: "bb-dashboard-ui bb:flex bb:items-center bb:justify-center bb:bg-transparent bb:cursor-pointer bb:text-gray-400 bb:focus:outline-hidden bb:hover:text-gray-600",
1012
- onClick: t[0] ||= b((t) => e.$emit("clicked"), ["prevent"])
1180
+ onClick: t[0] ||= S((t) => e.$emit("clicked"), ["prevent"])
1013
1181
  }, [...t[1] ||= [a("svg", {
1014
1182
  class: "bb:w-full bb:h-full bb:stroke-current",
1015
1183
  fill: "none",
@@ -1021,15 +1189,15 @@ function yt(e, t, n, r, o, s) {
1021
1189
  d: "M6 18L18 6M6 6l12 12"
1022
1190
  })], -1)]]);
1023
1191
  }
1024
- var U = /*#__PURE__*/ T(vt, [["render", yt]]), bt = {}, xt = {
1192
+ var W = /*#__PURE__*/ A(Lt, [["render", Rt]]), zt = {}, Bt = {
1025
1193
  class: "bb:w-4 bb:h-4",
1026
1194
  fill: "none",
1027
1195
  stroke: "currentColor",
1028
1196
  viewBox: "0 0 24 24",
1029
1197
  xmlns: "http://www.w3.org/2000/svg"
1030
1198
  };
1031
- function St(e, t, n, r, o, s) {
1032
- return u(), i("svg", xt, [...t[0] ||= [a("path", {
1199
+ function Vt(e, t, n, r, o, s) {
1200
+ return d(), i("svg", Bt, [...t[0] ||= [a("path", {
1033
1201
  "stroke-linecap": "round",
1034
1202
  "stroke-linejoin": "round",
1035
1203
  "stroke-width": "2",
@@ -1038,9 +1206,9 @@ function St(e, t, n, r, o, s) {
1038
1206
  }
1039
1207
  //#endregion
1040
1208
  //#region src/components/DownloadLink.vue
1041
- var Ct = {
1042
- components: { "download-icon": /* @__PURE__ */ T(bt, [["render", St]]) },
1043
- mixins: [M],
1209
+ var Ht = {
1210
+ components: { "download-icon": /* @__PURE__ */ A(zt, [["render", Vt]]) },
1211
+ mixins: [I],
1044
1212
  props: {
1045
1213
  url: {
1046
1214
  type: String,
@@ -1054,16 +1222,16 @@ var Ct = {
1054
1222
  computed: { label() {
1055
1223
  return this.title ?? this.texts.download;
1056
1224
  } }
1057
- }, wt = ["href", "title"], Tt = { class: "bb:ml-1" };
1058
- function Et(e, t, n, r, o, c) {
1059
- let l = p("download-icon");
1060
- return u(), i("a", {
1225
+ }, Ut = ["href", "title"], Wt = { class: "bb:ml-1" };
1226
+ function Gt(e, t, n, r, o, c) {
1227
+ let l = m("download-icon");
1228
+ return d(), i("a", {
1061
1229
  href: n.url,
1062
1230
  title: c.label,
1063
1231
  class: "bb-dashboard-ui bb:inline-flex bb:items-center bb:px-3 bb:py-1.5 bb:rounded-full bb:text-xs bb:font-medium bb:leading-none bb:select-none bb:bg-purple-100 bb:text-purple-800 bb:hover:text-purple-600"
1064
- }, [s(l), a("span", Tt, m(c.label), 1)], 8, wt);
1232
+ }, [s(l), a("span", Wt, g(c.label), 1)], 8, Ut);
1065
1233
  }
1066
- var Dt = /*#__PURE__*/ T(Ct, [["render", Et]]), Ot = { props: {
1234
+ var Kt = /*#__PURE__*/ A(Ht, [["render", Gt]]), qt = { props: {
1067
1235
  isOpen: {
1068
1236
  type: Boolean,
1069
1237
  default: !1
@@ -1072,9 +1240,9 @@ var Dt = /*#__PURE__*/ T(Ct, [["render", Et]]), Ot = { props: {
1072
1240
  type: String,
1073
1241
  required: !0
1074
1242
  }
1075
- } }, kt = { class: "bb:flex bb:items-end bb:justify-center bb:min-h-screen bb:pt-4 bb:px-4 bb:pb-20 bb:text-center bb:sm:block bb:sm:p-0" }, At = { class: "bb:fixed bb:inset-0 bb:transition-opacity" }, jt = ["aria-labelledby"];
1076
- function Mt(e, n, r, o, c, d) {
1077
- return u(), i("div", { class: l(["bb-dashboard-ui bb:fixed bb:inset-0 bb:overflow-y-auto bb:z-20", { "bb:pointer-events-none": !r.isOpen }]) }, [a("div", kt, [
1243
+ } }, Jt = { class: "bb:flex bb:items-end bb:justify-center bb:min-h-screen bb:pt-4 bb:px-4 bb:pb-20 bb:text-center bb:sm:block bb:sm:p-0" }, Yt = { class: "bb:fixed bb:inset-0 bb:transition-opacity" }, Xt = ["aria-labelledby"];
1244
+ function Zt(e, n, r, o, c, l) {
1245
+ return d(), i("div", { class: u(["bb-dashboard-ui bb:fixed bb:inset-0 bb:overflow-y-auto bb:z-20", { "bb:pointer-events-none": !r.isOpen }]) }, [a("div", Jt, [
1078
1246
  s(t, {
1079
1247
  "enter-active-class": "bb:ease-out bb:duration-300",
1080
1248
  "enter-from-class": "bb:opacity-0",
@@ -1083,7 +1251,7 @@ function Mt(e, n, r, o, c, d) {
1083
1251
  "leave-from-class": "bb:opacity-100",
1084
1252
  "leave-to-class": "bb:opacity-0"
1085
1253
  }, {
1086
- default: v(() => [y(a("div", At, [...n[0] ||= [a("div", { class: "bb:absolute bb:inset-0 bb:bg-gray-500 bb:opacity-75" }, null, -1)]], 512), [[_, r.isOpen]])]),
1254
+ default: b(() => [x(a("div", Yt, [...n[0] ||= [a("div", { class: "bb:absolute bb:inset-0 bb:bg-gray-500 bb:opacity-75" }, null, -1)]], 512), [[y, r.isOpen]])]),
1087
1255
  _: 1
1088
1256
  }),
1089
1257
  n[1] ||= a("span", { class: "bb:hidden bb:sm:inline-block bb:sm:align-middle bb:sm:h-screen" }, null, -1),
@@ -1095,17 +1263,17 @@ function Mt(e, n, r, o, c, d) {
1095
1263
  "leave-from-class": "bb:opacity-100 bb:translate-y-0 bb:sm:scale-100",
1096
1264
  "leave-to-class": "bb:opacity-0 bb:translate-y-4 bb:sm:translate-y-0 bb:sm:scale-95"
1097
1265
  }, {
1098
- default: v(() => [y(a("div", {
1266
+ default: b(() => [x(a("div", {
1099
1267
  class: "bb:relative bb:inline-block bb:align-bottom bb:bg-white bb:rounded-lg bb:text-left bb:overflow-visible bb:shadow-xl bb:transition-all bb:sm:my-8 bb:sm:align-middle bb:sm:max-w-lg bb:sm:w-full",
1100
1268
  role: "dialog",
1101
1269
  "aria-modal": "true",
1102
1270
  "aria-labelledby": r.headingId
1103
- }, [f(e.$slots, "default")], 8, jt), [[_, r.isOpen]])]),
1271
+ }, [p(e.$slots, "default")], 8, Xt), [[y, r.isOpen]])]),
1104
1272
  _: 3
1105
1273
  })
1106
1274
  ])], 2);
1107
1275
  }
1108
- var Nt = /*#__PURE__*/ T(Ot, [["render", Mt]]), Pt = {}, Ft = {
1276
+ var Qt = /*#__PURE__*/ A(qt, [["render", Zt]]), $t = {}, en = {
1109
1277
  class: "bb:h-7 bb:w-7 bb:text-red-600",
1110
1278
  xmlns: "http://www.w3.org/2000/svg",
1111
1279
  fill: "none",
@@ -1113,35 +1281,35 @@ var Nt = /*#__PURE__*/ T(Ot, [["render", Mt]]), Pt = {}, Ft = {
1113
1281
  stroke: "currentColor",
1114
1282
  "aria-hidden": "true"
1115
1283
  };
1116
- function It(e, t, n, r, o, s) {
1117
- return u(), i("svg", Ft, [...t[0] ||= [a("path", {
1284
+ function tn(e, t, n, r, o, s) {
1285
+ return d(), i("svg", en, [...t[0] ||= [a("path", {
1118
1286
  "stroke-linecap": "round",
1119
1287
  "stroke-linejoin": "round",
1120
1288
  "stroke-width": "2",
1121
1289
  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"
1122
1290
  }, null, -1)]]);
1123
1291
  }
1124
- var W = /*#__PURE__*/ T(Pt, [["render", It]]), Lt = {}, Rt = {
1292
+ var G = /*#__PURE__*/ A($t, [["render", tn]]), nn = {}, rn = {
1125
1293
  class: "bb:h-7 bb:w-7 bb:text-yellow-400",
1126
1294
  xmlns: "http://www.w3.org/2000/svg",
1127
1295
  viewBox: "0 0 20 20",
1128
1296
  fill: "currentColor",
1129
1297
  "aria-hidden": "true"
1130
1298
  };
1131
- function zt(e, t, n, r, o, s) {
1132
- return u(), i("svg", Rt, [...t[0] ||= [a("path", {
1299
+ function an(e, t, n, r, o, s) {
1300
+ return d(), i("svg", rn, [...t[0] ||= [a("path", {
1133
1301
  "fill-rule": "evenodd",
1134
1302
  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",
1135
1303
  "clip-rule": "evenodd"
1136
1304
  }, null, -1)]]);
1137
1305
  }
1138
- var G = /*#__PURE__*/ T(Lt, [["render", zt]]), Bt = {
1306
+ var K = /*#__PURE__*/ A(nn, [["render", an]]), on = {
1139
1307
  components: {
1140
- Modal: Nt,
1141
- Dangerous: W,
1142
- Warning: G
1308
+ Modal: Qt,
1309
+ Dangerous: G,
1310
+ Warning: K
1143
1311
  },
1144
- mixins: [M],
1312
+ mixins: [I],
1145
1313
  emits: ["actionConfirmed", "actionCanceled"],
1146
1314
  props: {
1147
1315
  isOpen: {
@@ -1171,7 +1339,7 @@ var G = /*#__PURE__*/ T(Lt, [["render", zt]]), Bt = {
1171
1339
  }
1172
1340
  },
1173
1341
  setup() {
1174
- return { headingId: h() };
1342
+ return { headingId: _() };
1175
1343
  },
1176
1344
  computed: {
1177
1345
  isDangerous() {
@@ -1181,52 +1349,65 @@ var G = /*#__PURE__*/ T(Lt, [["render", zt]]), Bt = {
1181
1349
  return this.type === "warning";
1182
1350
  }
1183
1351
  }
1184
- }, Vt = { class: "bb:flex bb:bg-white bb:rounded-t-lg bb:px-4 bb:pt-5 bb:pb-4 bb:sm:p-6 bb:sm:pb-4" }, Ht = { class: "bb:sm:flex bb:sm:items-start" }, Ut = { class: "bb:mt-3 bb:text-center bb:sm:mt-0 bb:sm:ml-4 bb:sm:text-left" }, Wt = ["id"], Gt = { class: "bb:mt-2" }, Kt = { class: "bb:text-sm bb:text-gray-500" }, qt = { class: "bb:bg-gray-50 bb:rounded-b-lg bb:px-4 bb:py-3 bb:sm:px-6 bb:sm:flex bb:sm:flex-row-reverse" };
1185
- function Jt(e, t, i, o, s, c) {
1186
- let d = p("warning"), f = p("dangerous"), h = p("modal");
1187
- return u(), n(h, {
1352
+ }, sn = { class: "bb:flex bb:bg-white bb:rounded-t-lg bb:px-4 bb:pt-5 bb:pb-4 bb:sm:p-6 bb:sm:pb-4" }, cn = { class: "bb:sm:flex bb:sm:items-start" }, ln = { class: "bb:mt-3 bb:text-center bb:sm:mt-0 bb:sm:ml-4 bb:sm:text-left" }, un = ["id"], dn = { class: "bb:mt-2" }, fn = { class: "bb:text-sm bb:text-gray-500" }, pn = { class: "bb:bg-gray-50 bb:rounded-b-lg bb:px-4 bb:py-3 bb:sm:px-6 bb:sm:flex bb:sm:flex-row-reverse" };
1353
+ function mn(e, t, i, o, s, c) {
1354
+ let l = m("warning"), f = m("dangerous"), p = m("modal");
1355
+ return d(), n(p, {
1188
1356
  "is-open": i.isOpen,
1189
1357
  "heading-id": o.headingId
1190
1358
  }, {
1191
- default: v(() => [a("div", Vt, [a("div", Ht, [a("div", { class: l(["bb:mx-auto bb:shrink-0 bb:flex bb:items-center bb:justify-center bb:h-12 bb:w-12 bb:rounded-full bb:sm:mx-0 bb:sm:h-10 bb:sm:w-10", {
1359
+ default: b(() => [a("div", sn, [a("div", cn, [a("div", { class: u(["bb:mx-auto bb:shrink-0 bb:flex bb:items-center bb:justify-center bb:h-12 bb:w-12 bb:rounded-full bb:sm:mx-0 bb:sm:h-10 bb:sm:w-10", {
1192
1360
  "bb:bg-red-100": c.isDangerous,
1193
1361
  "bb:bg-yellow-100": c.isWarning
1194
- }]) }, [c.isWarning ? (u(), n(d, { key: 0 })) : r("", !0), c.isDangerous ? (u(), n(f, { key: 1 })) : r("", !0)], 2), a("div", Ut, [a("h3", {
1362
+ }]) }, [c.isWarning ? (d(), n(l, { key: 0 })) : r("", !0), c.isDangerous ? (d(), n(f, { key: 1 })) : r("", !0)], 2), a("div", ln, [a("h3", {
1195
1363
  class: "bb:text-lg bb:leading-6 bb:font-medium bb:text-gray-900",
1196
1364
  id: o.headingId
1197
- }, m(i.confirmationHeading), 9, Wt), a("div", Gt, [a("p", Kt, m(i.confirmationText), 1)])])])]), a("div", qt, [a("button", {
1365
+ }, g(i.confirmationHeading), 9, un), a("div", dn, [a("p", fn, g(i.confirmationText), 1)])])])]), a("div", pn, [a("button", {
1198
1366
  type: "button",
1199
- class: l(["bb:w-full bb:inline-flex bb:justify-center bb:rounded-md bb:border bb:border-transparent bb:shadow-xs bb:px-4 bb:py-2 bb:text-base bb:font-medium bb:text-white bb:focus:outline-hidden bb:focus:ring-2 bb:focus:ring-offset-2 bb:sm:ml-3 bb:sm:w-auto bb:sm:text-sm", {
1367
+ class: u(["bb:w-full bb:inline-flex bb:justify-center bb:rounded-md bb:border bb:border-transparent bb:shadow-xs bb:px-4 bb:py-2 bb:text-base bb:font-medium bb:text-white bb:focus:outline-hidden bb:focus:ring-2 bb:focus:ring-offset-2 bb:sm:ml-3 bb:sm:w-auto bb:sm:text-sm", {
1200
1368
  "bb:bg-red-600 bb:hover:bg-red-700 bb:focus:ring-red-500": c.isDangerous,
1201
1369
  "bb:bg-yellow-400 bb:hover:bg-yellow-500 bb:focus:ring-yellow-300": c.isWarning
1202
1370
  }]),
1203
- onClick: t[0] ||= b((t) => e.$emit("actionConfirmed"), ["prevent"])
1204
- }, m(i.actionButtonText), 3), a("button", {
1371
+ onClick: t[0] ||= S((t) => e.$emit("actionConfirmed"), ["prevent"])
1372
+ }, g(i.actionButtonText), 3), a("button", {
1205
1373
  type: "button",
1206
1374
  class: "bb:mt-3 bb:w-full bb:inline-flex bb:justify-center bb:rounded-md bb:border bb:border-gray-300 bb:shadow-xs bb:px-4 bb:py-2 bb:bg-white bb:text-base bb:font-medium bb:text-gray-700 bb:hover:bg-gray-50 bb:focus:outline-hidden bb:focus:ring-2 bb:focus:ring-offset-2 bb:focus:ring-indigo-500 bb:sm:mt-0 bb:sm:ml-3 bb:sm:w-auto bb:sm:text-sm",
1207
- onClick: t[1] ||= b((t) => e.$emit("actionCanceled"), ["prevent"])
1208
- }, m(i.cancelButtonText ?? e.texts.cancel), 1)])]),
1375
+ onClick: t[1] ||= S((t) => e.$emit("actionCanceled"), ["prevent"])
1376
+ }, g(i.cancelButtonText ?? e.texts.cancel), 1)])]),
1209
1377
  _: 1
1210
1378
  }, 8, ["is-open", "heading-id"]);
1211
1379
  }
1212
- var Yt = /*#__PURE__*/ T(Bt, [["render", Jt]]), K = 4, q = 8;
1213
- function J(e) {
1380
+ var hn = /*#__PURE__*/ A(on, [["render", mn]]);
1381
+ //#endregion
1382
+ //#region src/navigation.js
1383
+ function gn(e) {
1384
+ let t = e.currentTarget?.target ?? "";
1385
+ return !(e.defaultPrevented || e.target?.isContentEditable === !0 || e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || t !== "" && t !== "_self" || e.button !== 0);
1386
+ }
1387
+ var q = {
1388
+ inject: k,
1389
+ methods: { followLink(e, t) {
1390
+ let n = this.uiSettings.navigate;
1391
+ n !== null && gn(e) && (e.preventDefault(), n(t));
1392
+ } }
1393
+ }, J = 4, Y = 8;
1394
+ function X(e) {
1214
1395
  return typeof e?.showPopover == "function";
1215
1396
  }
1216
- function Y(e) {
1217
- return J(e) && e.matches(":popover-open");
1397
+ function Z(e) {
1398
+ return X(e) && e.matches(":popover-open");
1218
1399
  }
1219
- function Xt(e, t, { maxWidth: n = null } = {}) {
1220
- let r = e.getBoundingClientRect(), i = document.documentElement.clientWidth, a = document.documentElement.clientHeight, o = Math.max(q, i - r.right), s = Math.max(0, i - o - q), c = Math.max(0, a - r.bottom - K - q), l = Math.max(0, r.top - K - q), u = c >= l;
1400
+ function _n(e, t, { maxWidth: n = null } = {}) {
1401
+ let r = e.getBoundingClientRect(), i = document.documentElement.clientWidth, a = document.documentElement.clientHeight, o = Math.max(Y, i - r.right), s = Math.max(0, i - o - Y), c = Math.max(0, a - r.bottom - J - Y), l = Math.max(0, r.top - J - Y), u = c >= l;
1221
1402
  Object.assign(t.style, {
1222
- top: u ? `${r.bottom + K}px` : "auto",
1223
- bottom: u ? "auto" : `${a - r.top + K}px`,
1403
+ top: u ? `${r.bottom + J}px` : "auto",
1404
+ bottom: u ? "auto" : `${a - r.top + J}px`,
1224
1405
  right: `${o}px`,
1225
1406
  left: "auto",
1226
1407
  maxHeight: `${u ? c : l}px`
1227
1408
  }), n !== null && (t.style.maxWidth = `${Math.min(n, s)}px`);
1228
1409
  }
1229
- function Zt(e, t) {
1410
+ function vn(e, t) {
1230
1411
  let n = (n) => {
1231
1412
  e.contains(n.target) || t();
1232
1413
  };
@@ -1239,27 +1420,60 @@ function Zt(e, t) {
1239
1420
  }
1240
1421
  //#endregion
1241
1422
  //#region src/components/DropdownButtonWithAction.vue
1242
- var Qt = 224, $t = {
1243
- mixins: [M],
1423
+ var yn = 224;
1424
+ function bn(e) {
1425
+ if (typeof e != "object" || !e || typeof e.label != "string" || e.label === "" || e.danger !== void 0 && typeof e.danger != "boolean") return !1;
1426
+ let t = typeof e.href == "string" && e.href !== "" && e.onSelect === void 0, n = typeof e.onSelect == "function" && e.href === void 0;
1427
+ return t || n;
1428
+ }
1429
+ var xn = {
1430
+ mixins: [I, q],
1244
1431
  emits: ["update:modelValue"],
1245
- props: { modelValue: {
1246
- type: Boolean,
1247
- default: !1
1248
- } },
1432
+ props: {
1433
+ actions: {
1434
+ type: Array,
1435
+ default: () => [],
1436
+ validator: (e) => e.every(bn)
1437
+ },
1438
+ modelValue: {
1439
+ type: Boolean,
1440
+ default: !1
1441
+ }
1442
+ },
1249
1443
  setup() {
1250
1444
  return {
1251
- menuButtonId: h(),
1252
- menuId: h()
1445
+ menuButtonId: _(),
1446
+ menuId: _()
1253
1447
  };
1254
1448
  },
1255
1449
  data() {
1256
1450
  return { menuIsOpen: this.modelValue };
1257
1451
  },
1258
- watch: { modelValue(e) {
1259
- this.menuIsOpen = e, this.applyMenuState();
1260
- } },
1452
+ computed: {
1453
+ actionItems() {
1454
+ return Array.isArray(this.actions) ? this.actions.filter((e) => typeof e == "object" && !!e) : [];
1455
+ },
1456
+ hasActions() {
1457
+ return this.actionItems.length > 0;
1458
+ }
1459
+ },
1460
+ watch: {
1461
+ modelValue(e) {
1462
+ this.menuIsOpen = e, this.applyMenuState();
1463
+ },
1464
+ hasActions: {
1465
+ flush: "post",
1466
+ handler(e) {
1467
+ if (e) {
1468
+ this.applyMenuState();
1469
+ return;
1470
+ }
1471
+ this.stopListening(), this.menuIsOpen && (this.menuIsOpen = !1, this.$emit("update:modelValue", !1));
1472
+ }
1473
+ }
1474
+ },
1261
1475
  created() {
1262
- this.stopClosing = null;
1476
+ this.stopClosing = null, this.stopArrows = null, process.env.NODE_ENV !== "production" && this.$slots.actions && console.warn("[dashboard-ui-components] DropdownButtonWithAction: слот actions убран, пункты меню передаются пропом actions");
1263
1477
  },
1264
1478
  mounted() {
1265
1479
  this.applyMenuState();
@@ -1268,43 +1482,51 @@ var Qt = 224, $t = {
1268
1482
  this.stopListening();
1269
1483
  },
1270
1484
  methods: {
1485
+ isLink(e) {
1486
+ return typeof e.href == "string" && e.href !== "";
1487
+ },
1488
+ select(e) {
1489
+ if (typeof e.onSelect == "function") return e.onSelect();
1490
+ },
1271
1491
  applyMenuState() {
1272
1492
  let e = this.$refs.menu;
1273
- J(e) && e.isConnected && (this.menuIsOpen && !Y(e) && e.showPopover(), !this.menuIsOpen && Y(e) && e.hidePopover());
1493
+ X(e) && e.isConnected && (this.menuIsOpen && !Z(e) && e.showPopover(), !this.menuIsOpen && Z(e) && e.hidePopover());
1274
1494
  },
1275
1495
  close() {
1276
1496
  let e = this.$refs.menu;
1277
- Y(e) && e.hidePopover();
1497
+ Z(e) && e.hidePopover();
1278
1498
  },
1279
1499
  onBeforeToggle(e) {
1280
- e.newState === "open" && Xt(this.$refs.arrow, this.$refs.menu, { maxWidth: Qt });
1500
+ e.newState === "open" && _n(this.$refs.arrow, this.$refs.menu, { maxWidth: yn });
1281
1501
  },
1282
- onToggle(e) {
1502
+ onToggle() {
1283
1503
  this.stopListening();
1284
- let t = this.$refs.menu;
1285
- Y(t) && (this.stopClosing = Zt(t, this.close));
1286
- let n = e.newState === "open";
1287
- n !== this.menuIsOpen && (this.menuIsOpen = n, this.$emit("update:modelValue", n));
1504
+ let e = this.$refs.menu, t = Z(e);
1505
+ t && (this.stopClosing = vn(e, this.close), this.stopArrows = H(e)), t !== this.menuIsOpen && (this.menuIsOpen = t, this.$emit("update:modelValue", t));
1288
1506
  },
1289
1507
  stopListening() {
1290
- this.stopClosing !== null && (this.stopClosing(), this.stopClosing = null);
1508
+ this.stopClosing !== null && (this.stopClosing(), this.stopClosing = null), this.stopArrows !== null && (this.stopArrows(), this.stopArrows = null);
1291
1509
  }
1292
1510
  }
1293
- }, en = { class: "bb-dashboard-ui bb:relative bb:inline-flex bb:shadow-xs bb:rounded-md" }, tn = {
1511
+ }, Sn = { class: "bb-dashboard-ui bb:relative bb:inline-flex bb:shadow-xs bb:rounded-md" }, Cn = {
1294
1512
  key: 0,
1295
1513
  class: "bb:-ml-px bb:relative bb:block"
1296
- }, nn = ["id", "popovertarget"], rn = { class: "bb:sr-only" }, an = ["id", "aria-labelledby"];
1297
- function on(e, t, n, o, s, c) {
1298
- return u(), i("span", en, [a("button", {
1514
+ }, wn = ["id", "popovertarget"], Tn = { class: "bb:sr-only" }, En = ["id", "aria-labelledby"], Dn = [
1515
+ "href",
1516
+ "onClick",
1517
+ "textContent"
1518
+ ], On = ["onClick", "textContent"];
1519
+ function kn(t, n, o, s, c, l) {
1520
+ return d(), i("span", Sn, [a("button", {
1299
1521
  type: "button",
1300
- class: l(["bb:relative bb:inline-flex bb:items-center bb:rounded-l-md bb:border bb:border-gray-300 bb:bg-white bb:hover:bg-gray-50 bb:focus:outline-hidden", { "bb:rounded-r-md": !e.$slots.actions }])
1301
- }, [f(e.$slots, "button")], 2), e.$slots.actions ? (u(), i("span", tn, [a("button", {
1522
+ class: u(["bb:relative bb:inline-flex bb:items-center bb:rounded-l-md bb:border bb:border-gray-300 bb:bg-white bb:hover:bg-gray-50 bb:focus:outline-hidden", { "bb:rounded-r-md": !l.hasActions }])
1523
+ }, [p(t.$slots, "button")], 2), l.hasActions ? (d(), i("span", Cn, [a("button", {
1302
1524
  ref: "arrow",
1303
- id: o.menuButtonId,
1525
+ id: s.menuButtonId,
1304
1526
  type: "button",
1305
- popovertarget: o.menuId,
1527
+ popovertarget: s.menuId,
1306
1528
  class: "bb:relative bb:inline-flex bb:items-center bb:px-2 bb:py-2 bb:rounded-r-md bb:border bb:border-gray-300 bb:bg-white bb:text-sm bb:font-medium bb:text-gray-500 bb:hover:bg-gray-50 bb:focus:z-10 bb:focus:outline-hidden bb:focus:ring-1 bb:focus:ring-indigo-500 bb:focus:border-indigo-500"
1307
- }, [a("span", rn, m(e.texts.openMenu), 1), t[3] ||= a("svg", {
1529
+ }, [a("span", Tn, g(t.texts.openMenu), 1), n[3] ||= a("svg", {
1308
1530
  class: "bb:h-5 bb:w-5",
1309
1531
  xmlns: "http://www.w3.org/2000/svg",
1310
1532
  viewBox: "0 0 20 20",
@@ -1314,70 +1536,71 @@ function on(e, t, n, o, s, c) {
1314
1536
  "fill-rule": "evenodd",
1315
1537
  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",
1316
1538
  "clip-rule": "evenodd"
1317
- })], -1)], 8, nn), a("div", {
1539
+ })], -1)], 8, wn), a("div", {
1318
1540
  ref: "menu",
1319
- id: o.menuId,
1541
+ id: s.menuId,
1320
1542
  popover: "auto",
1321
- class: "bb:m-0 bb:inset-auto bb:w-56 bb:rounded-md bb:shadow-lg bb:bg-white bb:text-inherit bb:ring-1 bb:ring-black/5",
1543
+ class: "bb:m-0 bb:inset-auto bb:w-56 bb:rounded-md bb:shadow-lg bb:bg-white bb:ring-1 bb:ring-black/5",
1322
1544
  role: "menu",
1323
1545
  "aria-orientation": "vertical",
1324
- "aria-labelledby": o.menuButtonId,
1325
- onBeforetoggle: t[0] ||= (...e) => c.onBeforeToggle && c.onBeforeToggle(...e),
1326
- onToggle: t[1] ||= (...e) => c.onToggle && c.onToggle(...e),
1327
- onClick: t[2] ||= (...e) => c.close && c.close(...e)
1328
- }, [f(e.$slots, "actions")], 40, an)])) : r("", !0)]);
1546
+ "aria-labelledby": s.menuButtonId,
1547
+ onBeforetoggle: n[0] ||= (...e) => l.onBeforeToggle && l.onBeforeToggle(...e),
1548
+ onToggle: n[1] ||= (...e) => l.onToggle && l.onToggle(...e),
1549
+ onClick: n[2] ||= (...e) => l.close && l.close(...e)
1550
+ }, [(d(!0), i(e, null, f(l.actionItems, (n, r) => (d(), i(e, { key: r }, [l.isLink(n) ? (d(), i("a", {
1551
+ key: 0,
1552
+ href: n.href,
1553
+ role: "menuitem",
1554
+ 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", n.danger === !0 ? "bb:bg-red-400 bb:text-white bb:focus:bg-red-500" : "bb:text-gray-700 bb:focus:bg-gray-100 bb:focus:text-gray-900"]),
1555
+ onClick: (e) => t.followLink(e, n.href),
1556
+ textContent: g(n.label)
1557
+ }, null, 10, Dn)) : (d(), i("button", {
1558
+ key: 1,
1559
+ type: "button",
1560
+ role: "menuitem",
1561
+ 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", n.danger === !0 ? "bb:bg-red-400 bb:text-white bb:focus:bg-red-500" : "bb:text-gray-700 bb:focus:bg-gray-100 bb:focus:text-gray-900"]),
1562
+ onClick: (e) => l.select(n),
1563
+ textContent: g(n.label)
1564
+ }, null, 10, On))], 64))), 128))], 40, En)])) : r("", !0)]);
1329
1565
  }
1330
- var sn = /*#__PURE__*/ T($t, [["render", on]]), cn = {}, ln = {
1566
+ var An = /*#__PURE__*/ A(xn, [["render", kn]]), jn = {}, Mn = {
1331
1567
  xmlns: "http://www.w3.org/2000/svg",
1332
1568
  viewBox: "0 0 20 20",
1333
1569
  fill: "currentColor",
1334
1570
  "aria-hidden": "true"
1335
1571
  };
1336
- function un(e, t, n, r, o, s) {
1337
- return u(), i("svg", ln, [...t[0] ||= [a("path", {
1572
+ function Nn(e, t, n, r, o, s) {
1573
+ return d(), i("svg", Mn, [...t[0] ||= [a("path", {
1338
1574
  "fill-rule": "evenodd",
1339
1575
  "clip-rule": "evenodd",
1340
1576
  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"
1341
1577
  }, null, -1)]]);
1342
1578
  }
1343
- var dn = /*#__PURE__*/ T(cn, [["render", un]]), fn = {}, pn = {
1579
+ var Pn = /*#__PURE__*/ A(jn, [["render", Nn]]), Fn = {}, In = {
1344
1580
  xmlns: "http://www.w3.org/2000/svg",
1345
1581
  viewBox: "0 0 20 20",
1346
1582
  fill: "currentColor",
1347
1583
  "aria-hidden": "true"
1348
1584
  };
1349
- function mn(e, t, n, r, o, s) {
1350
- return u(), i("svg", pn, [...t[0] ||= [a("path", {
1585
+ function Ln(e, t, n, r, o, s) {
1586
+ return d(), i("svg", In, [...t[0] ||= [a("path", {
1351
1587
  "fill-rule": "evenodd",
1352
1588
  "clip-rule": "evenodd",
1353
1589
  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"
1354
1590
  }, null, -1)]]);
1355
1591
  }
1356
- var hn = /*#__PURE__*/ T(fn, [["render", mn]]);
1357
- //#endregion
1358
- //#region src/navigation.js
1359
- function gn(e) {
1360
- let t = e.currentTarget?.target ?? "";
1361
- return !(e.defaultPrevented || e.target?.isContentEditable === !0 || e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || t !== "" && t !== "_self" || e.button !== 0);
1362
- }
1363
- var X = {
1364
- inject: w,
1365
- methods: { followLink(e, t) {
1366
- let n = this.uiSettings.navigate;
1367
- n !== null && gn(e) && (e.preventDefault(), n(t));
1368
- } }
1369
- };
1592
+ var Rn = /*#__PURE__*/ A(Fn, [["render", Ln]]);
1370
1593
  //#endregion
1371
1594
  //#region src/components/Pagination.vue
1372
- function Z(e) {
1595
+ function Q(e) {
1373
1596
  return typeof e == "string" && e !== "" ? e : null;
1374
1597
  }
1375
- var _n = {
1598
+ var zn = {
1376
1599
  components: {
1377
- ArrowNarrowLeft: dn,
1378
- ArrowNarrowRight: hn
1600
+ ArrowNarrowLeft: Pn,
1601
+ ArrowNarrowRight: Rn
1379
1602
  },
1380
- mixins: [M, X],
1603
+ mixins: [I, q],
1381
1604
  props: {
1382
1605
  links: {
1383
1606
  type: Object,
@@ -1405,49 +1628,49 @@ var _n = {
1405
1628
  return typeof this.from == "number" && typeof this.to == "number";
1406
1629
  },
1407
1630
  previousPageUrl() {
1408
- return Z(this.links?.prev);
1631
+ return Q(this.links?.prev);
1409
1632
  },
1410
1633
  nextPageUrl() {
1411
- return Z(this.links?.next);
1634
+ return Q(this.links?.next);
1412
1635
  }
1413
1636
  }
1414
- }, vn = {
1637
+ }, Bn = {
1415
1638
  key: 0,
1416
1639
  class: "bb-dashboard-ui bb:px-4 bb:flex bb:items-center bb:justify-between bb:sm:px-0"
1417
- }, yn = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex" }, bn = ["href"], xn = {
1640
+ }, Vn = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex" }, Hn = ["href"], Un = {
1418
1641
  key: 0,
1419
1642
  class: "bb:hidden bb:md:-mt-px bb:md:flex bb:text-gray-400 bb:text-sm bb:leading-5"
1420
- }, Sn = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, Cn = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, wn = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex bb:justify-end" }, Tn = ["href"];
1421
- function En(e, t, n, c, l, d) {
1422
- let f = p("arrow-narrow-left"), h = p("arrow-narrow-right");
1423
- return d.hasResults ? (u(), i("nav", vn, [
1424
- a("div", yn, [d.previousPageUrl === null ? r("", !0) : (u(), i("a", {
1643
+ }, Wn = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, Gn = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, Kn = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex bb:justify-end" }, qn = ["href"];
1644
+ function Jn(e, t, n, c, l, u) {
1645
+ let f = m("arrow-narrow-left"), p = m("arrow-narrow-right");
1646
+ return u.hasResults ? (d(), i("nav", Bn, [
1647
+ a("div", Vn, [u.previousPageUrl === null ? r("", !0) : (d(), i("a", {
1425
1648
  key: 0,
1426
- href: d.previousPageUrl,
1649
+ href: u.previousPageUrl,
1427
1650
  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",
1428
- onClick: t[0] ||= (t) => e.followLink(t, d.previousPageUrl)
1429
- }, [s(f, { class: "bb:mr-3 bb:h-5 bb:w-5 bb:text-gray-400" }), o(" " + m(e.texts.previousPage), 1)], 8, bn))]),
1430
- d.hasRange ? (u(), i("div", xn, [
1431
- o(m(e.texts.resultsBefore) + " ", 1),
1432
- a("span", Sn, m(d.from) + " - " + m(d.to), 1),
1433
- o(" " + m(e.texts.resultsOf) + " ", 1),
1434
- a("span", Cn, m(d.total), 1),
1435
- o(" " + m(e.texts.resultsAfter), 1)
1651
+ onClick: t[0] ||= (t) => e.followLink(t, u.previousPageUrl)
1652
+ }, [s(f, { class: "bb:mr-3 bb:h-5 bb:w-5 bb:text-gray-400" }), o(" " + g(e.texts.previousPage), 1)], 8, Hn))]),
1653
+ u.hasRange ? (d(), i("div", Un, [
1654
+ o(g(e.texts.resultsBefore) + " ", 1),
1655
+ a("span", Wn, g(u.from) + " - " + g(u.to), 1),
1656
+ o(" " + g(e.texts.resultsOf) + " ", 1),
1657
+ a("span", Gn, g(u.total), 1),
1658
+ o(" " + g(e.texts.resultsAfter), 1)
1436
1659
  ])) : r("", !0),
1437
- a("div", wn, [d.nextPageUrl === null ? r("", !0) : (u(), i("a", {
1660
+ a("div", Kn, [u.nextPageUrl === null ? r("", !0) : (d(), i("a", {
1438
1661
  key: 0,
1439
- href: d.nextPageUrl,
1662
+ href: u.nextPageUrl,
1440
1663
  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",
1441
- onClick: t[1] ||= (t) => e.followLink(t, d.nextPageUrl)
1442
- }, [o(m(e.texts.nextPage) + " ", 1), s(h, { class: "bb:ml-3 bb:h-5 bb:w-5 bb:text-gray-400" })], 8, Tn))])
1664
+ onClick: t[1] ||= (t) => e.followLink(t, u.nextPageUrl)
1665
+ }, [o(g(e.texts.nextPage) + " ", 1), s(p, { class: "bb:ml-3 bb:h-5 bb:w-5 bb:text-gray-400" })], 8, qn))])
1443
1666
  ])) : r("", !0);
1444
1667
  }
1445
- var Dn = /*#__PURE__*/ T(_n, [["render", En]]), On = [
1668
+ var Yn = /*#__PURE__*/ A(zn, [["render", Jn]]), Xn = [
1446
1669
  "left",
1447
1670
  "center",
1448
1671
  "right"
1449
- ], kn = ["red", "green"];
1450
- function An(e) {
1672
+ ], Zn = ["red", "green"];
1673
+ function Qn(e) {
1451
1674
  if (typeof e != "object" || !e || typeof e.key != "string" || e.key === "") return null;
1452
1675
  let t = e.key;
1453
1676
  return {
@@ -1456,21 +1679,21 @@ function An(e) {
1456
1679
  value: typeof e.value == "function" ? e.value : (e) => e?.[t],
1457
1680
  secondary: typeof e.secondary == "function" ? e.secondary : null,
1458
1681
  muted: e.muted === !0,
1459
- align: On.includes(e.align) ? e.align : "left",
1682
+ align: Xn.includes(e.align) ? e.align : "left",
1460
1683
  wrap: e.wrap === !0,
1461
1684
  narrow: e.narrow === !0,
1462
1685
  visible: e.visible !== !1
1463
1686
  };
1464
1687
  }
1465
- function Q(e) {
1688
+ function $(e) {
1466
1689
  return typeof e == "string" && e !== "" ? e : null;
1467
1690
  }
1468
- var jn = {
1691
+ var $n = {
1469
1692
  components: {
1470
- Pagination: Dn,
1471
- SmallBadge: H
1693
+ Pagination: Yn,
1694
+ SmallBadge: U
1472
1695
  },
1473
- mixins: [M],
1696
+ mixins: [I],
1474
1697
  props: {
1475
1698
  rows: {
1476
1699
  type: Array,
@@ -1515,7 +1738,7 @@ var jn = {
1515
1738
  return Array.isArray(this.rows) ? this.rows : [];
1516
1739
  },
1517
1740
  visibleColumns() {
1518
- return (Array.isArray(this.columns) ? this.columns : []).map(An).filter((e) => e !== null && e.visible);
1741
+ return (Array.isArray(this.columns) ? this.columns : []).map(Qn).filter((e) => e !== null && e.visible);
1519
1742
  },
1520
1743
  isCard() {
1521
1744
  return this.variant === "card";
@@ -1531,10 +1754,10 @@ var jn = {
1531
1754
  },
1532
1755
  badgeText() {
1533
1756
  if (this.hasRecords) {
1534
- let e = Q(this.foundText);
1757
+ let e = $(this.foundText);
1535
1758
  return e === null ? null : `${e}: ${this.recordCount}`;
1536
1759
  }
1537
- return Q(this.emptyText);
1760
+ return $(this.emptyText);
1538
1761
  }
1539
1762
  },
1540
1763
  methods: {
@@ -1554,47 +1777,47 @@ var jn = {
1554
1777
  colorOf(e) {
1555
1778
  if (typeof this.rowColor != "function") return null;
1556
1779
  let t = this.rowColor(e);
1557
- return kn.includes(t) ? t : null;
1780
+ return Zn.includes(t) ? t : null;
1558
1781
  },
1559
1782
  textOf(e, t) {
1560
1783
  let n = e(t);
1561
1784
  return n == null ? "" : String(n);
1562
1785
  }
1563
1786
  }
1564
- }, Mn = { class: "bb:min-w-full bb:divide-y bb:divide-gray-200 bb:border-collapse" }, Nn = { class: "bb:bg-gray-50" }, Pn = ["textContent"], Fn = { class: "bb:divide-y bb:divide-gray-200" }, In = ["textContent"], Ln = ["textContent"];
1565
- function Rn(t, o, s, c, h, g) {
1566
- let _ = p("small-badge"), v = p("pagination");
1567
- return u(), i("div", null, [
1568
- g.hasBadgeRow() ? (u(), i("div", {
1787
+ }, er = { class: "bb:min-w-full bb:divide-y bb:divide-gray-200 bb:border-collapse" }, tr = { class: "bb:bg-gray-50" }, nr = ["textContent"], rr = { class: "bb:divide-y bb:divide-gray-200" }, ir = ["textContent"], ar = ["textContent"];
1788
+ function or(t, o, s, c, l, h) {
1789
+ let _ = m("small-badge"), v = m("pagination");
1790
+ return d(), i("div", null, [
1791
+ h.hasBadgeRow() ? (d(), i("div", {
1569
1792
  key: 0,
1570
- class: l(["bb:flex bb:justify-center bb:items-center bb:space-x-2", g.isCard ? "" : "bb:my-4"])
1571
- }, [g.badgeText === null ? r("", !0) : (u(), n(_, {
1793
+ class: u(["bb:flex bb:justify-center bb:items-center bb:space-x-2", h.isCard ? "" : "bb:my-4"])
1794
+ }, [h.badgeText === null ? r("", !0) : (d(), n(_, {
1572
1795
  key: 0,
1573
- text: g.badgeText,
1796
+ text: h.badgeText,
1574
1797
  color: "indigo"
1575
- }, null, 8, ["text"])), g.hasRecords ? f(t.$slots, "results-actions", {}, void 0, void 0, 1) : r("", !0)], 2)) : r("", !0),
1576
- g.normalizedRows.length > 0 ? (u(), i("div", {
1798
+ }, null, 8, ["text"])), h.hasRecords ? p(t.$slots, "results-actions", {}, void 0, void 0, 1) : r("", !0)], 2)) : r("", !0),
1799
+ h.normalizedRows.length > 0 ? (d(), i("div", {
1577
1800
  key: 1,
1578
- class: l(g.isCard && g.hasBadgeRow() ? "bb:mt-4" : "")
1579
- }, [a("div", { class: l(["bb:overflow-x-auto", g.isCard ? "bb:border-t bb:border-gray-200" : "bb:shadow-sm bb:border-b bb:border-gray-200 bb:sm:rounded-lg"]) }, [a("table", Mn, [a("thead", null, [a("tr", Nn, [(u(!0), i(e, null, d(g.visibleColumns, (e) => (u(), i("th", {
1801
+ class: u(h.isCard && h.hasBadgeRow() ? "bb:mt-4" : "")
1802
+ }, [a("div", { class: u(["bb:overflow-x-auto", h.isCard ? "bb:border-t bb:border-gray-200" : "bb:shadow-sm bb:border-b bb:border-gray-200 bb:sm:rounded-lg"]) }, [a("table", er, [a("thead", null, [a("tr", tr, [(d(!0), i(e, null, f(h.visibleColumns, (e) => (d(), i("th", {
1580
1803
  key: e.key,
1581
1804
  scope: "col",
1582
- class: l(["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", [{
1805
+ 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", [{
1583
1806
  "bb:text-left": e.align === "left",
1584
1807
  "bb:text-center": e.align === "center",
1585
1808
  "bb:text-right": e.align === "right"
1586
1809
  }, { "bb:w-px": e.narrow }]]),
1587
- textContent: m(e.label)
1588
- }, null, 10, Pn))), 128))])]), a("tbody", Fn, [(u(!0), i(e, null, d(g.normalizedRows, (n, o) => (u(), i("tr", {
1589
- key: g.keyOf(n, o),
1590
- class: l({
1591
- "bb:bg-white bb:even:bg-gray-50": g.colorOf(n) === null,
1592
- "bb:bg-red-50": g.colorOf(n) === "red",
1593
- "bb:bg-green-50": g.colorOf(n) === "green"
1810
+ textContent: g(e.label)
1811
+ }, null, 10, nr))), 128))])]), a("tbody", rr, [(d(!0), i(e, null, f(h.normalizedRows, (n, o) => (d(), i("tr", {
1812
+ key: h.keyOf(n, o),
1813
+ class: u({
1814
+ "bb:bg-white bb:even:bg-gray-50": h.colorOf(n) === null,
1815
+ "bb:bg-red-50": h.colorOf(n) === "red",
1816
+ "bb:bg-green-50": h.colorOf(n) === "green"
1594
1817
  })
1595
- }, [(u(!0), i(e, null, d(g.visibleColumns, (e) => (u(), i("td", {
1818
+ }, [(d(!0), i(e, null, f(h.visibleColumns, (e) => (d(), i("td", {
1596
1819
  key: e.key,
1597
- class: l(["bb:px-6 bb:py-4 bb:align-top bb:relative bb:text-sm bb:leading-5", [
1820
+ class: u(["bb:px-6 bb:py-4 bb:align-top bb:relative bb:text-sm bb:leading-5", [
1598
1821
  { "bb:whitespace-nowrap": !e.wrap },
1599
1822
  {
1600
1823
  "bb:text-left": e.align === "left",
@@ -1603,23 +1826,23 @@ function Rn(t, o, s, c, h, g) {
1603
1826
  },
1604
1827
  { "bb:w-px": e.narrow }
1605
1828
  ]])
1606
- }, [f(t.$slots, `cell-${e.key}`, {
1829
+ }, [p(t.$slots, `cell-${e.key}`, {
1607
1830
  row: n,
1608
1831
  index: o
1609
1832
  }, () => [a("div", {
1610
- class: l(["bb:font-medium", e.muted ? "bb:text-gray-400" : "bb:text-gray-900"]),
1611
- textContent: m(g.textOf(e.value, n))
1612
- }, null, 10, In), e.secondary !== null && g.textOf(e.secondary, n) !== "" ? (u(), i("div", {
1833
+ class: u(["bb:font-medium", e.muted ? "bb:text-gray-400" : "bb:text-gray-900"]),
1834
+ textContent: g(h.textOf(e.value, n))
1835
+ }, null, 10, ir), e.secondary !== null && h.textOf(e.secondary, n) !== "" ? (d(), i("div", {
1613
1836
  key: 0,
1614
1837
  class: "bb:text-gray-400",
1615
- textContent: m(g.textOf(e.secondary, n))
1616
- }, null, 8, Ln)) : r("", !0)])], 2))), 128))], 2))), 128))])])], 2)], 2)) : r("", !0),
1617
- g.hasMeta ? (u(), n(v, {
1838
+ textContent: g(h.textOf(e.secondary, n))
1839
+ }, null, 8, ar)) : r("", !0)])], 2))), 128))], 2))), 128))])])], 2)], 2)) : r("", !0),
1840
+ h.hasMeta ? (d(), n(v, {
1618
1841
  key: 2,
1619
1842
  meta: s.meta,
1620
1843
  links: s.links ?? {},
1621
1844
  lang: t.lang,
1622
- class: l(g.isCard ? "bb:mt-4" : "bb:mt-6")
1845
+ class: u(h.isCard ? "bb:mt-4" : "bb:mt-6")
1623
1846
  }, null, 8, [
1624
1847
  "meta",
1625
1848
  "links",
@@ -1628,8 +1851,8 @@ function Rn(t, o, s, c, h, g) {
1628
1851
  ])) : r("", !0)
1629
1852
  ]);
1630
1853
  }
1631
- var zn = /*#__PURE__*/ T(jn, [["render", Rn]]), Bn = {
1632
- mixins: [X],
1854
+ var sr = /*#__PURE__*/ A($n, [["render", or]]), cr = {
1855
+ mixins: [q],
1633
1856
  props: {
1634
1857
  url: {
1635
1858
  type: String,
@@ -1644,39 +1867,124 @@ var zn = /*#__PURE__*/ T(jn, [["render", Rn]]), Bn = {
1644
1867
  default: !1
1645
1868
  }
1646
1869
  }
1647
- }, Vn = ["href", "textContent"];
1648
- function Hn(e, t, n, r, a, o) {
1649
- return u(), i("a", {
1870
+ }, lr = ["href", "textContent"];
1871
+ function ur(e, t, n, r, a, o) {
1872
+ return d(), i("a", {
1650
1873
  href: n.url,
1651
- class: l([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"]),
1874
+ 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"]),
1652
1875
  onClick: t[0] ||= (t) => e.followLink(t, n.url),
1653
- textContent: m(n.name)
1654
- }, null, 10, Vn);
1876
+ textContent: g(n.name)
1877
+ }, null, 10, lr);
1655
1878
  }
1656
- var Un = /*#__PURE__*/ T(Bn, [["render", Hn]]), Wn = {
1657
- components: { Closer: U },
1658
- mixins: [M],
1879
+ var dr = /*#__PURE__*/ A(cr, [["render", ur]]), fr = [
1880
+ "xl",
1881
+ "4xl",
1882
+ "7xl"
1883
+ ], pr = {
1884
+ components: { Closer: W },
1885
+ mixins: [I],
1886
+ inheritAttrs: !1,
1887
+ props: {
1888
+ width: {
1889
+ type: String,
1890
+ default: "xl",
1891
+ validator: (e) => fr.includes(e)
1892
+ },
1893
+ fallbackUrl: {
1894
+ type: String,
1895
+ default: null
1896
+ },
1897
+ windowKey: {
1898
+ type: String,
1899
+ default: null
1900
+ }
1901
+ },
1659
1902
  data() {
1660
- return { canGoBack: !1 };
1903
+ return { returnAddress: null };
1661
1904
  },
1905
+ computed: {
1906
+ resolvedWidth() {
1907
+ return fr.includes(this.width) ? this.width : "xl";
1908
+ },
1909
+ windows() {
1910
+ return this.uiSettings.windows;
1911
+ },
1912
+ resolvedKey() {
1913
+ return this.windowKey !== null && this.windowKey !== "" ? this.windowKey : this.windows === null ? null : ae(this.windows.page.address);
1914
+ },
1915
+ target() {
1916
+ return this.returnAddress === null ? this.fallbackUrl === null || this.fallbackUrl === "" ? null : this.fallbackUrl : this.returnAddress;
1917
+ },
1918
+ canClose() {
1919
+ return this.target !== null;
1920
+ }
1921
+ },
1922
+ watch: { fallbackUrl() {
1923
+ this.windows !== null && pe(this.windows.state, this, this.fallbackAddress());
1924
+ } },
1662
1925
  mounted() {
1663
- this.canGoBack = window.history.length > 1;
1926
+ 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" }));
1664
1927
  },
1665
- methods: { goBack() {
1666
- window.history.back();
1667
- } }
1928
+ beforeUnmount() {
1929
+ this.windows !== null && fe(this.windows.state, this);
1930
+ },
1931
+ methods: {
1932
+ fallbackAddress() {
1933
+ return ie(this.fallbackUrl, window.location.origin);
1934
+ },
1935
+ forwardedAttrs() {
1936
+ return Object.fromEntries(Object.entries(this.$attrs).filter(([e]) => e.startsWith("data-") || e.startsWith("aria-")));
1937
+ },
1938
+ syncWindow() {
1939
+ let e = de(this.windows.state, this, this.resolvedKey, this.fallbackAddress());
1940
+ e.rejected && console.warn(`PageCard: ключ окна сменился на «${this.resolvedKey}» без смены страницы — карточка остаётся в окне «${e.key}»`), this.returnAddress = e.window.returnAddress;
1941
+ },
1942
+ close() {
1943
+ let e = this.target;
1944
+ if (e === null) return;
1945
+ let t = this.uiSettings.navigate;
1946
+ if (t === null) {
1947
+ window.location.assign(e);
1948
+ return;
1949
+ }
1950
+ t(e);
1951
+ }
1952
+ }
1668
1953
  };
1669
- function Gn(e, t, a, o, s, c) {
1670
- let d = p("closer");
1671
- return u(), i("div", { class: l(["bb:box-border bb:relative bb:my-6 bb:mx-auto bb:bg-white bb:shadow-xl bb:sm:max-w-xl bb:sm:rounded-lg", s.canGoBack ? "bb:[--bb-closer-space:3.5rem] bb:md:[--bb-closer-space:0px]" : "bb:[--bb-closer-space:0px]"]) }, [f(e.$slots, "default"), s.canGoBack ? (u(), n(d, {
1954
+ function mr(e, t, a, o, s, c) {
1955
+ let f = m("closer");
1956
+ return d(), i("div", l({
1957
+ class: ["bb:box-border bb:relative bb:my-6 bb:mx-auto bb:bg-white bb:shadow-xl bb:sm:rounded-lg", [
1958
+ {
1959
+ "bb:sm:max-w-xl": c.resolvedWidth === "xl",
1960
+ "bb:sm:max-w-4xl": c.resolvedWidth === "4xl",
1961
+ "bb:sm:max-w-7xl": c.resolvedWidth === "7xl"
1962
+ },
1963
+ c.canClose ? {
1964
+ "bb:[--bb-closer-space:3.5rem] bb:md:[--bb-closer-space:0px]": c.resolvedWidth === "xl",
1965
+ "bb:[--bb-closer-space:3.5rem] bb:lg:[--bb-closer-space:0px]": c.resolvedWidth === "4xl",
1966
+ "bb:[--bb-closer-space:3.5rem] bb:2xl:[--bb-closer-space:0px]": c.resolvedWidth === "7xl"
1967
+ } : "bb:[--bb-closer-space:0px]",
1968
+ e.$attrs.class
1969
+ ]],
1970
+ style: e.$attrs.style
1971
+ }, { ...c.forwardedAttrs() }), [p(e.$slots, "default", { close: c.close }), c.canClose ? (d(), n(f, {
1672
1972
  key: 0,
1673
- class: "bb:absolute bb:top-0 bb:right-0 bb:mt-4 bb:mr-4 bb:w-8 bb:h-8 bb:sm:mt-6 bb:md:right-auto bb:md:left-full bb:md:mr-0 bb:md:ml-4 bb:rounded-md bb:focus-visible:ring-2 bb:focus-visible:ring-indigo-500",
1973
+ class: u(["bb:absolute bb:top-0 bb:right-0 bb:mt-4 bb:mr-4 bb:w-8 bb:h-8 bb:sm:mt-6 bb:rounded-md bb:focus-visible:ring-2 bb:focus-visible:ring-indigo-500", {
1974
+ "bb:md:right-auto bb:md:left-full bb:md:mr-0 bb:md:ml-4": c.resolvedWidth === "xl",
1975
+ "bb:lg:right-auto bb:lg:left-full bb:lg:mr-0 bb:lg:ml-4": c.resolvedWidth === "4xl",
1976
+ "bb:2xl:right-auto bb:2xl:left-full bb:2xl:mr-0 bb:2xl:ml-4": c.resolvedWidth === "7xl"
1977
+ }]),
1674
1978
  tabindex: "0",
1675
1979
  "aria-label": e.texts.back,
1676
- onClicked: c.goBack
1677
- }, null, 8, ["aria-label", "onClicked"])) : r("", !0)], 2);
1980
+ onClicked: c.close
1981
+ }, null, 8, [
1982
+ "class",
1983
+ "aria-label",
1984
+ "onClicked"
1985
+ ])) : r("", !0)], 16);
1678
1986
  }
1679
- var Kn = /*#__PURE__*/ T(Wn, [["render", Gn]]), qn = {}, $ = {
1987
+ var hr = /*#__PURE__*/ A(pr, [["render", mr]]), gr = {}, _r = {
1680
1988
  class: "bb:h-7 bb:w-7 bb:text-green-600",
1681
1989
  xmlns: "http://www.w3.org/2000/svg",
1682
1990
  fill: "none",
@@ -1685,22 +1993,22 @@ var Kn = /*#__PURE__*/ T(Wn, [["render", Gn]]), qn = {}, $ = {
1685
1993
  stroke: "currentColor",
1686
1994
  "aria-hidden": "true"
1687
1995
  };
1688
- function Jn(e, t, n, r, o, s) {
1689
- return u(), i("svg", $, [...t[0] ||= [a("path", {
1996
+ function vr(e, t, n, r, o, s) {
1997
+ return d(), i("svg", _r, [...t[0] ||= [a("path", {
1690
1998
  "stroke-linecap": "round",
1691
1999
  "stroke-linejoin": "round",
1692
2000
  d: "M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"
1693
2001
  }, null, -1)]]);
1694
2002
  }
1695
- var Yn = /*#__PURE__*/ T(qn, [["render", Jn]]), Xn = {}, Zn = {
2003
+ var yr = /*#__PURE__*/ A(gr, [["render", vr]]), br = {}, xr = {
1696
2004
  class: "bb:h-5 bb:w-5",
1697
2005
  xmlns: "http://www.w3.org/2000/svg",
1698
2006
  viewBox: "0 0 20 20",
1699
2007
  fill: "currentColor",
1700
2008
  "aria-hidden": "true"
1701
2009
  };
1702
- function Qn(e, t, n, r, o, s) {
1703
- return u(), i("svg", Zn, [...t[0] ||= [a("path", {
2010
+ function Sr(e, t, n, r, o, s) {
2011
+ return d(), i("svg", xr, [...t[0] ||= [a("path", {
1704
2012
  "fill-rule": "evenodd",
1705
2013
  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",
1706
2014
  "clip-rule": "evenodd"
@@ -1708,14 +2016,14 @@ function Qn(e, t, n, r, o, s) {
1708
2016
  }
1709
2017
  //#endregion
1710
2018
  //#region src/components/NotificationMessage.vue
1711
- var $n = {
2019
+ var Cr = {
1712
2020
  components: {
1713
- Check: Yn,
1714
- Close: /* @__PURE__ */ T(Xn, [["render", Qn]]),
1715
- Dangerous: W,
1716
- Warning: G
2021
+ Check: yr,
2022
+ Close: /* @__PURE__ */ A(br, [["render", Sr]]),
2023
+ Dangerous: G,
2024
+ Warning: K
1717
2025
  },
1718
- mixins: [M],
2026
+ mixins: [I],
1719
2027
  emits: ["update:modelValue"],
1720
2028
  props: {
1721
2029
  modelValue: {
@@ -1753,37 +2061,37 @@ var $n = {
1753
2061
  return this.type === "confirmation";
1754
2062
  }
1755
2063
  }
1756
- }, er = ["role"], tr = { class: "bb:p-4" }, nr = { class: "bb:flex bb:items-start" }, rr = { class: "bb:shrink-0" }, ir = { class: "bb:ml-3 bb:w-0 bb:flex-1 bb:pt-0.5" }, ar = { class: "bb:text-sm bb:font-medium bb:text-gray-900" }, or = { class: "bb:mt-1 bb:text-sm bb:text-gray-500" }, sr = { class: "bb:ml-4 bb:shrink-0 bb:flex" }, cr = { class: "bb:sr-only" };
1757
- function lr(e, t, o, c, d, f) {
1758
- let h = p("warning"), g = p("dangerous"), _ = p("check"), v = p("close");
1759
- return u(), i("div", {
2064
+ }, wr = ["role"], Tr = { class: "bb:p-4" }, Er = { class: "bb:flex bb:items-start" }, Dr = { class: "bb:shrink-0" }, Or = { class: "bb:ml-3 bb:w-0 bb:flex-1 bb:pt-0.5" }, kr = { class: "bb:text-sm bb:font-medium bb:text-gray-900" }, Ar = { class: "bb:mt-1 bb:text-sm bb:text-gray-500" }, jr = { class: "bb:ml-4 bb:shrink-0 bb:flex" }, Mr = { class: "bb:sr-only" };
2065
+ function Nr(e, t, o, c, l, f) {
2066
+ let p = m("warning"), h = m("dangerous"), _ = m("check"), v = m("close");
2067
+ return d(), i("div", {
1760
2068
  class: "bb-dashboard-ui bb:fixed bb:inset-0 bb:flex bb:items-end bb:justify-center bb:px-4 bb:py-6 bb:pointer-events-none bb:sm:p-6 bb:sm:items-start bb:sm:justify-end",
1761
2069
  role: f.isDangerous ? "alert" : "status"
1762
- }, [f.hasMessage ? (u(), i("div", {
2070
+ }, [f.hasMessage ? (d(), i("div", {
1763
2071
  key: 0,
1764
- class: l(["bb:max-w-sm bb:w-full bb:shadow-lg bb:rounded-lg bb:pointer-events-auto bb:ring-1 bb:ring-black/5 bb:overflow-hidden", {
2072
+ class: u(["bb:max-w-sm bb:w-full bb:shadow-lg bb:rounded-lg bb:pointer-events-auto bb:ring-1 bb:ring-black/5 bb:overflow-hidden", {
1765
2073
  "bb:bg-red-50": f.isDangerous,
1766
2074
  "bb:bg-yellow-50": f.isWarning,
1767
2075
  "bb:bg-gray-50": f.isConfirmation
1768
2076
  }])
1769
- }, [a("div", tr, [a("div", nr, [
1770
- a("div", rr, [
1771
- f.isWarning ? (u(), n(h, { key: 0 })) : r("", !0),
1772
- f.isDangerous ? (u(), n(g, { key: 1 })) : r("", !0),
1773
- f.isConfirmation ? (u(), n(_, { key: 2 })) : r("", !0)
2077
+ }, [a("div", Tr, [a("div", Er, [
2078
+ a("div", Dr, [
2079
+ f.isWarning ? (d(), n(p, { key: 0 })) : r("", !0),
2080
+ f.isDangerous ? (d(), n(h, { key: 1 })) : r("", !0),
2081
+ f.isConfirmation ? (d(), n(_, { key: 2 })) : r("", !0)
1774
2082
  ]),
1775
- a("div", ir, [a("p", ar, m(o.notificationHeading), 1), a("p", or, m(f.text), 1)]),
1776
- a("div", sr, [a("button", {
2083
+ a("div", Or, [a("p", kr, g(o.notificationHeading), 1), a("p", Ar, g(f.text), 1)]),
2084
+ a("div", jr, [a("button", {
1777
2085
  type: "button",
1778
- class: l(["bb:rounded-md bb:inline-flex bb:text-gray-400 bb:hover:text-gray-500 bb:focus:outline-hidden bb:focus:ring-2 bb:focus:ring-offset-2 bb:focus:ring-indigo-500", {
2086
+ class: u(["bb:rounded-md bb:inline-flex bb:text-gray-400 bb:hover:text-gray-500 bb:focus:outline-hidden bb:focus:ring-2 bb:focus:ring-offset-2 bb:focus:ring-indigo-500", {
1779
2087
  "bb:bg-red-50": f.isDangerous,
1780
2088
  "bb:bg-yellow-50": f.isWarning,
1781
2089
  "bb:bg-gray-50": f.isConfirmation
1782
2090
  }]),
1783
- onClick: t[0] ||= b((t) => e.$emit("update:modelValue", ""), ["prevent"])
1784
- }, [a("span", cr, m(e.texts.close), 1), s(v)], 2)])
1785
- ])])], 2)) : r("", !0)], 8, er);
2091
+ onClick: t[0] ||= S((t) => e.$emit("update:modelValue", ""), ["prevent"])
2092
+ }, [a("span", Mr, g(e.texts.close), 1), s(v)], 2)])
2093
+ ])])], 2)) : r("", !0)], 8, wr);
1786
2094
  }
1787
- var ur = /*#__PURE__*/ T($n, [["render", lr]]);
2095
+ var Pr = /*#__PURE__*/ A(Cr, [["render", Nr]]);
1788
2096
  //#endregion
1789
- export { U as Closer, Yt as ConfirmationModal, zn as DataTable, O as Dot, Dt as DownloadLink, sn as DropdownButtonWithAction, _t as ErrorMessages, Un as NavigationMenuElement, ur as NotificationMessage, Kn as PageCard, R as PickDay, D as Popup, Ae as RussianMobileFilter, Le as Search, We as SelectDateInterval, st as SelectSingle, H as SmallBadge, ie as dashboardUi };
2097
+ export { W as Closer, hn as ConfirmationModal, sr as DataTable, M as Dot, Kt as DownloadLink, An as DropdownButtonWithAction, It as ErrorMessages, dr as NavigationMenuElement, Pr as NotificationMessage, hr as PageCard, L as PickDay, j as Popup, Je as RussianMobileFilter, tt as Search, ct as SelectDateInterval, Et as SelectSingle, U as SmallBadge, ge as dashboardUi };