@boobooking/dashboard-ui-components 0.10.1 → 0.11.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.
Files changed (3) hide show
  1. package/README.md +28 -6
  2. package/dist/index.js +198 -194
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -99,7 +99,9 @@ Tailwind, `@tailwindcss/forms`, Inertia и какие-либо токены в C
99
99
 
100
100
  ### PickDay
101
101
 
102
- Поле выбора одной даты на Pikaday, с ластиком очистки.
102
+ Поле выбора одной даты на Pikaday, с ластиком очистки. Pikaday загружается
103
+ в браузере при монтировании компонента, а не при загрузке пакета, поэтому
104
+ календарь появляется, когда загрузка закончится.
103
105
 
104
106
  <pick-day v-model="date" placeholder-text="от" />
105
107
 
@@ -371,11 +373,13 @@ sm:rounded-lg`, `box-sizing: border-box`. Отступов у неё нет: ф
371
373
  поля `@tailwindcss/forms`, выглядит так же, как вне карточки.
372
374
 
373
375
  Крестик показан, если в истории вкладки больше одной записи
374
- (`history.length > 1`, значение читается при создании компонента), и по клику
375
- возвращает назад (`history.back()`). `PageCard` читает историю браузера при
376
- создании компонента, поэтому ему нужен браузер: серверный рендеринг (SSR) не
377
- поддерживается. `history.length` считает и записи впереди
378
- текущей, поэтому это не гарантия, что назад есть куда. От `md` крестик стоит
376
+ (`history.length > 1`, значение читается один раз после монтирования), и по
377
+ клику возвращает назад (`history.back()`). При серверном рендеринге (SSR)
378
+ сервер историю вкладки не знает и отдаёт карточку без крестика: крестик
379
+ появляется сразу после гидратации, и на экранах уже `md` заголовок в этот
380
+ момент сдвигается, освобождая под него место. Без SSR крестик появляется до
381
+ первой отрисовки. `history.length` считает и записи впереди текущей, поэтому
382
+ это не гарантия, что назад есть куда. От `md` крестик стоит
379
383
  снаружи карточки, на `1rem` правее её края; ниже `md` — в её правом верхнем
380
384
  углу. Порог рассчитан на карточку по центру области на всю ширину страницы: в
381
385
  узкой колонке или рядом с боковой панелью места снаружи может не хватить. Он
@@ -466,6 +470,18 @@ sm:rounded-lg`, `box-sizing: border-box`. Отступов у неё нет: ф
466
470
  Неделя начинается с понедельника. Календарь `PickDay` берёт язык при
467
471
  монтировании: смена языка после монтирования в нём не отражается.
468
472
 
473
+ ## SSR
474
+
475
+ Пакет загружается и рендерится на сервере (серверный рендеринг, например
476
+ Inertia SSR), а серверная разметка гидратируется без расхождений. К API
477
+ браузера компоненты обращаются только после монтирования, поэтому:
478
+
479
+ - `PageCard` на сервере рисует карточку без крестика: история вкладки
480
+ известна только в браузере. Крестик появляется сразу после гидратации;
481
+ - `PickDay` загружает Pikaday в браузере при монтировании: календарь
482
+ появляется, когда загрузка закончится;
483
+ - остальные компоненты рендерятся на сервере так же, как в браузере.
484
+
469
485
  ## Правила API пакета
470
486
 
471
487
  Компонент, добавляемый в пакет, следует тем же правилам, что и уже
@@ -505,6 +521,12 @@ sm:rounded-lg`, `box-sizing: border-box`. Отступов у неё нет: ф
505
521
  `DownloadLink`: это обычная ссылка браузера, скачивающая файл, и через
506
522
  `navigate` она не идёт. Через `navigate` ходят `Pagination` и
507
523
  `NavigationMenuElement`.
524
+ - Компонент обращается к `window`, `document` и другим API браузера только
525
+ в `mounted()`, `beforeUnmount()` и обработчиках событий; загрузка модуля,
526
+ `data()`, `computed` и рендер работают без браузера. Так пакет
527
+ загружается и рендерится на сервере (см. «SSR»). Правило проверяют
528
+ `tests/ssr.test.js` и `tests/hydration.test.js`: каждый экспортируемый
529
+ компонент обязан иметь фикстуру в `tests/ssrFixtures.js`.
508
530
 
509
531
  ## Почему у Popup и Dot нет события changed
510
532
 
package/dist/index.js CHANGED
@@ -1,12 +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 b, withModifiers as x } from "vue";
2
- import S from "pikaday";
3
- import ee 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, 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 x from "imask";
4
3
  //#region src/i18n.js
5
- var C = ["ru", "en"];
6
- function w(e) {
7
- return C.includes(e);
4
+ var S = ["ru", "en"];
5
+ function C(e) {
6
+ return S.includes(e);
8
7
  }
9
- var te = {
8
+ var w = {
10
9
  ru: {
11
10
  cancel: "Отмена",
12
11
  download: "Скачать",
@@ -103,26 +102,26 @@ var te = {
103
102
  back: "Back",
104
103
  close: "Close"
105
104
  }
106
- }, T = Symbol("dashboardUi"), E = Object.freeze({
105
+ }, T = Symbol("dashboardUi"), te = Object.freeze({
107
106
  lang: "ru",
108
107
  navigate: null
109
- }), D = { uiSettings: {
108
+ }), E = { uiSettings: {
110
109
  from: T,
111
- default: () => E
112
- } }, O = { install(e, t) {
110
+ default: () => te
111
+ } }, D = { install(e, t) {
113
112
  let n = t ?? {}, r = Object.hasOwn(n, "lang") ? n.lang : "ru";
114
- if (!w(r)) throw Error(`dashboardUi: неизвестный lang «${r}», допустимы: ${C.join(", ")}`);
113
+ if (!C(r)) throw Error(`dashboardUi: неизвестный lang «${r}», допустимы: ${S.join(", ")}`);
115
114
  let i = Object.hasOwn(n, "navigate"), a = i ? n.navigate : null;
116
115
  if (i && typeof a != "function") throw Error("dashboardUi: navigate должен быть функцией (href) => …");
117
116
  e.provide(T, Object.freeze({
118
117
  lang: r,
119
118
  navigate: a
120
119
  }));
121
- } }, k = (e, t) => {
120
+ } }, O = (e, t) => {
122
121
  let n = e.__vccOpts || e;
123
122
  for (let [e, r] of t) n[e] = r;
124
123
  return n;
125
- }, ne = {
124
+ }, k = {
126
125
  props: {
127
126
  isOpen: {
128
127
  type: Boolean,
@@ -149,10 +148,10 @@ var te = {
149
148
  document.removeEventListener("keydown", this.handleEscape);
150
149
  }
151
150
  };
152
- function re(e, t, n, r, a, o) {
151
+ function A(e, t, n, r, a, o) {
153
152
  return y((u(), i("button", {
154
153
  tabindex: "-1",
155
- onClick: t[0] ||= x((...e) => o.closeOverlay && o.closeOverlay(...e), ["prevent"]),
154
+ onClick: t[0] ||= b((...e) => o.closeOverlay && o.closeOverlay(...e), ["prevent"]),
156
155
  class: l(["bb:fixed bb:inset-0 bb:w-full bb:h-full bb:cursor-default bb:flex bb:items-start", {
157
156
  "bb:z-20": n.isOpen,
158
157
  "bb:bg-transparent": n.isTransparent,
@@ -162,8 +161,8 @@ function re(e, t, n, r, a, o) {
162
161
  }
163
162
  //#endregion
164
163
  //#region src/components/Popup.vue
165
- var ie = {
166
- components: { Overlay: /* @__PURE__ */ k(ne, [["render", re]]) },
164
+ var ne = {
165
+ components: { Overlay: /* @__PURE__ */ O(k, [["render", A]]) },
167
166
  inheritAttrs: !1,
168
167
  emits: ["update:modelValue"],
169
168
  props: {
@@ -196,10 +195,10 @@ var ie = {
196
195
  return this.align === "right";
197
196
  }
198
197
  }
199
- }, ae = { class: "bb-dashboard-ui bb:relative" };
200
- function oe(e, n, r, o, l, d) {
198
+ }, re = { class: "bb-dashboard-ui bb:relative" };
199
+ function ie(e, n, r, o, l, d) {
201
200
  let m = p("overlay");
202
- return u(), i("div", ae, [s(m, {
201
+ return u(), i("div", re, [s(m, {
203
202
  "is-open": l.overlayIsOpen,
204
203
  "onUpdate:isOpen": n[0] ||= (e) => l.overlayIsOpen = e
205
204
  }, null, 8, ["is-open"]), s(t, {
@@ -217,7 +216,7 @@ function oe(e, n, r, o, l, d) {
217
216
  _: 3
218
217
  })]);
219
218
  }
220
- var A = /*#__PURE__*/ k(ie, [["render", oe]]), se = {
219
+ var j = /*#__PURE__*/ O(ne, [["render", ie]]), ae = {
221
220
  props: {
222
221
  withPulse: {
223
222
  type: Boolean,
@@ -238,7 +237,7 @@ var A = /*#__PURE__*/ k(ie, [["render", oe]]), se = {
238
237
  }
239
238
  }
240
239
  };
241
- function ce(e, t, n, r, o, s) {
240
+ function oe(e, t, n, r, o, s) {
242
241
  return u(), i("div", { class: l(["bb-dashboard-ui bb:flex bb:h-full bb:items-center bb:leading-none bb:text-4xl", {
243
242
  "bb:text-red-500": s.isRed,
244
243
  "bb:text-green-500": s.isGreen,
@@ -252,13 +251,13 @@ function ce(e, t, n, r, o, s) {
252
251
  r: "45"
253
252
  })], -1)]], 2);
254
253
  }
255
- var j = /*#__PURE__*/ k(se, [["render", ce]]), le = {}, ue = {
254
+ var M = /*#__PURE__*/ O(ae, [["render", oe]]), se = {}, ce = {
256
255
  type: "button",
257
256
  tabindex: "-1",
258
257
  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"
259
258
  };
260
- function M(e, t, n, r, o, s) {
261
- return u(), i("button", ue, [...t[0] ||= [a("svg", {
259
+ function le(e, t, n, r, o, s) {
260
+ return u(), i("button", ce, [...t[0] ||= [a("svg", {
262
261
  class: "bb:w-6 bb:h-6 bb:stroke-current",
263
262
  fill: "none",
264
263
  viewBox: "0 0 24 24"
@@ -269,7 +268,7 @@ function M(e, t, n, r, o, s) {
269
268
  d: "M6 18L18 6M6 6l12 12"
270
269
  })], -1)]]);
271
270
  }
272
- var N = /*#__PURE__*/ k(le, [["render", M]]);
271
+ var N = /*#__PURE__*/ O(se, [["render", le]]);
273
272
  //#endregion
274
273
  //#region src/date.js
275
274
  function P(e) {
@@ -284,23 +283,23 @@ function F(e) {
284
283
  //#endregion
285
284
  //#region src/lang.js
286
285
  var I = {
287
- inject: D,
286
+ inject: E,
288
287
  props: { lang: {
289
288
  type: String,
290
289
  default: null,
291
- validator: (e) => e === null || w(e)
290
+ validator: (e) => e === null || C(e)
292
291
  } },
293
292
  computed: {
294
293
  resolvedLang() {
295
- return w(this.lang) ? this.lang : this.uiSettings.lang;
294
+ return C(this.lang) ? this.lang : this.uiSettings.lang;
296
295
  },
297
296
  texts() {
298
- return te[this.resolvedLang];
297
+ return w[this.resolvedLang];
299
298
  }
300
299
  }
301
300
  }, L = {
302
301
  components: {
303
- Popup: A,
302
+ Popup: j,
304
303
  Eraser: N
305
304
  },
306
305
  mixins: [I],
@@ -320,10 +319,11 @@ var I = {
320
319
  }
321
320
  },
322
321
  created() {
323
- this.picker = null;
322
+ this.picker = null, this.isUnmounted = !1;
324
323
  },
325
- mounted() {
326
- this.picker = new S({
324
+ async mounted() {
325
+ let { default: e } = await import("pikaday");
326
+ this.isUnmounted || (this.picker = new e({
327
327
  field: this.$refs.field,
328
328
  container: this.$refs.container,
329
329
  keyboardInput: !1,
@@ -341,10 +341,10 @@ var I = {
341
341
  onSelect: (e) => {
342
342
  this.popupIsOpen = !1, this.$emit("update:modelValue", P(e)), this.$emit("changed");
343
343
  }
344
- });
344
+ }));
345
345
  },
346
346
  beforeUnmount() {
347
- this.picker?.destroy();
347
+ this.isUnmounted = !0, this.picker?.destroy();
348
348
  },
349
349
  data() {
350
350
  return {
@@ -358,6 +358,7 @@ var I = {
358
358
  } },
359
359
  methods: {
360
360
  syncPicker(e) {
361
+ if (this.picker === null) return;
361
362
  let t = F(e);
362
363
  if (t === null) {
363
364
  this.picker.clear();
@@ -366,7 +367,7 @@ var I = {
366
367
  this.picker.setDate(t, !0);
367
368
  },
368
369
  clearPicker() {
369
- this.$emit("update:modelValue", ""), this.dayValue = "", this.picker.clear(), this.$emit("changed");
370
+ this.$emit("update:modelValue", ""), this.dayValue = "", this.picker?.clear(), this.$emit("changed");
370
371
  }
371
372
  },
372
373
  computed: {
@@ -411,8 +412,8 @@ function U(e, t, o, c, d, f) {
411
412
  _: 1
412
413
  }, 8, ["modelValue"])]);
413
414
  }
414
- var W = /*#__PURE__*/ k(L, [["render", U]]), de = {
415
- components: { Dot: j },
415
+ var W = /*#__PURE__*/ O(L, [["render", U]]), ue = {
416
+ components: { Dot: M },
416
417
  props: {
417
418
  text: {
418
419
  type: String,
@@ -427,14 +428,14 @@ var W = /*#__PURE__*/ k(L, [["render", U]]), de = {
427
428
  default: !1
428
429
  }
429
430
  }
430
- }, fe = { class: "bb:flex bb:h-6 bb:px-3 bb:bg-white bb:items-center bb:justify-between" }, pe = ["textContent"];
431
- function me(e, t, n, r, o, c) {
431
+ }, de = { class: "bb:flex bb:h-6 bb:px-3 bb:bg-white bb:items-center bb:justify-between" }, fe = ["textContent"];
432
+ function pe(e, t, n, r, o, c) {
432
433
  let l = p("dot");
433
- return u(), i("div", fe, [
434
+ return u(), i("div", de, [
434
435
  a("div", {
435
436
  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",
436
437
  textContent: m(n.text)
437
- }, null, 8, pe),
438
+ }, null, 8, fe),
438
439
  y(s(l, {
439
440
  color: "red",
440
441
  "with-pulse": !0,
@@ -446,10 +447,10 @@ function me(e, t, n, r, o, c) {
446
447
  }, null, 512), [[_, n.isRequired]])
447
448
  ]);
448
449
  }
449
- var G = /*#__PURE__*/ k(de, [["render", me]]), he = 10;
450
- function ge(e) {
450
+ var G = /*#__PURE__*/ O(ue, [["render", pe]]), me = 10;
451
+ function he(e) {
451
452
  let t = e.replace(/\D/g, "");
452
- return (t.startsWith("7") || t.startsWith("8")) && t[1] === "9" && (t = t.slice(1)), t.slice(0, he);
453
+ return (t.startsWith("7") || t.startsWith("8")) && t[1] === "9" && (t = t.slice(1)), t.slice(0, me);
453
454
  }
454
455
  function K(e) {
455
456
  return e === "" ? "" : `7${e}`;
@@ -460,7 +461,7 @@ function q(e) {
460
461
  }
461
462
  //#endregion
462
463
  //#region src/components/RussianMobileFilter.vue
463
- var _e = 400, ve = 3, ye = {
464
+ var ge = 400, _e = 3, ve = {
464
465
  components: {
465
466
  ElementHeader: G,
466
467
  Eraser: N
@@ -491,7 +492,7 @@ var _e = 400, ve = 3, ye = {
491
492
  this.mask = null, this.debounceTimer = null, this.isWritingProgrammatically = !1, this.lastCommitted = q(this.modelValue);
492
493
  },
493
494
  mounted() {
494
- this.mask = ee(this.$refs.input, {
495
+ this.mask = x(this.$refs.input, {
495
496
  mask: "+7 (000) 000 00 00",
496
497
  lazy: !0,
497
498
  prepare: (e, t) => t.unmaskedValue === "" && (e === "7" || e === "8") ? "" : e
@@ -533,7 +534,7 @@ var _e = 400, ve = 3, ye = {
533
534
  this.setLazy(!0), this.digits === "" && this.writeToMask(""), this.commit();
534
535
  },
535
536
  onPaste(e) {
536
- this.applyUserDigits(ge(e.clipboardData?.getData("text") ?? "")), this.scheduleCommit();
537
+ this.applyUserDigits(he(e.clipboardData?.getData("text") ?? "")), this.scheduleCommit();
537
538
  },
538
539
  clear() {
539
540
  this.applyUserDigits(""), this.commit();
@@ -543,16 +544,16 @@ var _e = 400, ve = 3, ye = {
543
544
  this.commit();
544
545
  return;
545
546
  }
546
- this.digits.length < ve || (this.debounceTimer = setTimeout(() => this.commit(), _e));
547
+ this.digits.length < _e || (this.debounceTimer = setTimeout(() => this.commit(), ge));
547
548
  },
548
549
  commit() {
549
550
  clearTimeout(this.debounceTimer), this.digits !== this.lastCommitted && (this.lastCommitted = this.digits, this.$emit("changed"));
550
551
  }
551
552
  }
552
- }, be = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, xe = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, Se = { class: "bb:relative bb:flex bb:h-full bb:w-full" }, Ce = { class: "bb:flex bb:w-full bb:h-full bb:items-center bb:justify-center" };
553
- function we(e, t, n, r, o, c) {
553
+ }, ye = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, be = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, xe = { class: "bb:relative bb:flex bb:h-full bb:w-full" }, Se = { class: "bb:flex bb:w-full bb:h-full bb:items-center bb:justify-center" };
554
+ function Ce(e, t, n, r, o, c) {
554
555
  let l = p("element-header"), d = p("eraser");
555
- return u(), i("div", be, [a("div", xe, [s(l, {
556
+ return u(), i("div", ye, [a("div", be, [s(l, {
556
557
  text: n.header,
557
558
  "is-required": n.isRequired,
558
559
  "is-loading": n.isLoading
@@ -560,7 +561,7 @@ function we(e, t, n, r, o, c) {
560
561
  "text",
561
562
  "is-required",
562
563
  "is-loading"
563
- ]), a("div", Se, [a("label", Ce, [a("input", {
564
+ ]), a("div", xe, [a("label", Se, [a("input", {
564
565
  ref: "input",
565
566
  type: "tel",
566
567
  inputmode: "tel",
@@ -568,15 +569,15 @@ function we(e, t, n, r, o, c) {
568
569
  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",
569
570
  onFocus: t[0] ||= (...e) => c.onFocus && c.onFocus(...e),
570
571
  onBlur: t[1] ||= (...e) => c.onBlur && c.onBlur(...e),
571
- onKeydown: t[2] ||= b((...e) => c.commit && c.commit(...e), ["enter"]),
572
- onPaste: t[3] ||= x((...e) => c.onPaste && c.onPaste(...e), ["prevent"])
572
+ onKeydown: t[2] ||= ee((...e) => c.commit && c.commit(...e), ["enter"]),
573
+ onPaste: t[3] ||= b((...e) => c.onPaste && c.onPaste(...e), ["prevent"])
573
574
  }, null, 544), y(s(d, {
574
- onMousedown: t[4] ||= x(() => {}, ["prevent"]),
575
+ onMousedown: t[4] ||= b(() => {}, ["prevent"]),
575
576
  onClick: c.clear,
576
577
  class: "bb:pr-2 bb:h-full"
577
578
  }, null, 8, ["onClick"]), [[_, o.digits.length > 0]])])])])]);
578
579
  }
579
- var Te = /*#__PURE__*/ k(ye, [["render", we]]), Ee = {
580
+ var we = /*#__PURE__*/ O(ve, [["render", Ce]]), Te = {
580
581
  components: {
581
582
  ElementHeader: G,
582
583
  Eraser: N
@@ -617,10 +618,10 @@ var Te = /*#__PURE__*/ k(ye, [["render", we]]), Ee = {
617
618
  this.$emit("update:modelValue", this.search), this.$emit("changed");
618
619
  }
619
620
  }
620
- }, De = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, Oe = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, ke = { class: "bb:relative bb:flex bb:h-full bb:w-full" }, Ae = { class: "bb:flex bb:w-full bb:h-full bb:items-center bb:justify-center" };
621
- function je(e, t, n, r, o, c) {
621
+ }, Ee = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, De = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, Oe = { 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" };
622
+ function Ae(e, t, n, r, o, c) {
622
623
  let l = p("element-header"), d = p("eraser");
623
- return u(), i("div", De, [a("div", Oe, [s(l, {
624
+ return u(), i("div", Ee, [a("div", De, [s(l, {
624
625
  text: n.header,
625
626
  "is-required": n.isRequired,
626
627
  "is-loading": n.isLoading
@@ -628,7 +629,7 @@ function je(e, t, n, r, o, c) {
628
629
  "text",
629
630
  "is-required",
630
631
  "is-loading"
631
- ]), a("div", ke, [a("label", Ae, [y(a("input", {
632
+ ]), a("div", Oe, [a("label", ke, [y(a("input", {
632
633
  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",
633
634
  "onUpdate:modelValue": t[0] ||= (e) => o.search = e,
634
635
  onInput: t[1] ||= (...e) => c.startSearch && c.startSearch(...e)
@@ -642,7 +643,7 @@ function je(e, t, n, r, o, c) {
642
643
  class: "bb:pr-2 bb:h-full"
643
644
  }, null, 8, ["onClick"]), [[_, c.inputNeedsEraser]])])])])]);
644
645
  }
645
- var Me = /*#__PURE__*/ k(Ee, [["render", je]]), Ne = {
646
+ var je = /*#__PURE__*/ O(Te, [["render", Ae]]), Me = {
646
647
  components: {
647
648
  ElementHeader: G,
648
649
  PickDay: W
@@ -695,10 +696,10 @@ var Me = /*#__PURE__*/ k(Ee, [["render", je]]), Ne = {
695
696
  this.$emit("update:dateTo", e), this.dateTo !== e && this.$emit("changed");
696
697
  }
697
698
  }
698
- }, Pe = { class: "bb-dashboard-ui bb:flex" }, Fe = { class: "bb:flex bb:border bb:border-white" }, Ie = { class: "bb:flex bb:flex-col bb:min-w-72 bb:w-72 bb:bg-white bb:h-full" }, Le = { class: "bb:flex bb:h-full bb:divide-x bb:divide-gray-200" };
699
- function Re(e, t, n, r, o, c) {
699
+ }, Ne = { class: "bb-dashboard-ui bb:flex" }, Pe = { class: "bb:flex bb:border bb:border-white" }, Fe = { class: "bb:flex bb:flex-col bb:min-w-72 bb:w-72 bb:bg-white bb:h-full" }, Ie = { class: "bb:flex bb:h-full bb:divide-x bb:divide-gray-200" };
700
+ function Le(e, t, n, r, o, c) {
700
701
  let l = p("element-header"), d = p("pick-day");
701
- return u(), i("div", Pe, [a("div", Fe, [a("div", Ie, [s(l, {
702
+ return u(), i("div", Ne, [a("div", Pe, [a("div", Fe, [s(l, {
702
703
  text: n.header,
703
704
  "is-required": n.isRequired,
704
705
  "is-loading": n.isLoading
@@ -706,7 +707,7 @@ function Re(e, t, n, r, o, c) {
706
707
  "text",
707
708
  "is-required",
708
709
  "is-loading"
709
- ]), a("div", Le, [s(d, {
710
+ ]), a("div", Ie, [s(d, {
710
711
  modelValue: o.userDateFrom,
711
712
  "onUpdate:modelValue": t[0] ||= (e) => o.userDateFrom = e,
712
713
  class: "bb:flex-1 bb:min-w-36 bb:pl-3",
@@ -728,9 +729,9 @@ function Re(e, t, n, r, o, c) {
728
729
  "lang"
729
730
  ])])])])]);
730
731
  }
731
- var ze = /*#__PURE__*/ k(Ne, [["render", Re]]), Be = {
732
+ var Re = /*#__PURE__*/ O(Me, [["render", Le]]), ze = {
732
733
  components: {
733
- Popup: A,
734
+ Popup: j,
734
735
  Eraser: N
735
736
  },
736
737
  emits: ["update:isOpen", "erased"],
@@ -762,17 +763,17 @@ var ze = /*#__PURE__*/ k(Ne, [["render", Re]]), Be = {
762
763
  computed: { needsEraser() {
763
764
  return !this.isOpen && this.hasValue;
764
765
  } }
765
- }, Ve = { class: "bb:flex bb:flex-col bb:grow bb:bg-white" }, He = { class: "bb:relative bb:flex bb:w-full bb:h-full" }, Ue = ["textContent"];
766
- function We(e, t, o, c, d, h) {
766
+ }, Be = { class: "bb:flex bb:flex-col bb:grow bb:bg-white" }, Ve = { class: "bb:relative bb:flex bb:w-full bb:h-full" }, He = ["textContent"];
767
+ function Ue(e, t, o, c, d, h) {
767
768
  let g = p("eraser"), _ = p("popup");
768
- return u(), i("div", Ve, [a("div", He, [a("button", {
769
+ return u(), i("div", Be, [a("div", Ve, [a("button", {
769
770
  type: "button",
770
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 }]),
771
- onClick: t[0] ||= x((t) => e.$emit("update:isOpen", !o.isOpen), ["prevent"])
772
+ onClick: t[0] ||= b((t) => e.$emit("update:isOpen", !o.isOpen), ["prevent"])
772
773
  }, [a("span", {
773
774
  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",
774
775
  textContent: m(o.title)
775
- }, null, 8, Ue)], 2), h.needsEraser ? (u(), n(g, {
776
+ }, null, 8, He)], 2), h.needsEraser ? (u(), n(g, {
776
777
  key: 0,
777
778
  onClick: t[1] ||= (t) => e.$emit("erased"),
778
779
  class: "bb:pr-2 bb:h-full"
@@ -784,7 +785,7 @@ function We(e, t, o, c, d, h) {
784
785
  _: 3
785
786
  }, 8, ["modelValue"])]);
786
787
  }
787
- var Ge = /*#__PURE__*/ k(Be, [["render", We]]), Ke = {
788
+ var We = /*#__PURE__*/ O(ze, [["render", Ue]]), Ge = {
788
789
  props: {
789
790
  isChecked: {
790
791
  type: Boolean,
@@ -796,31 +797,31 @@ var Ge = /*#__PURE__*/ k(Be, [["render", We]]), Ke = {
796
797
  methods: { toggle() {
797
798
  this.$emit("clicked");
798
799
  } }
799
- }, qe = { class: "bb:flex bb:w-9 bb:h-9 bb:items-center bb:justify-center" }, Je = {
800
+ }, Ke = { class: "bb:flex bb:w-9 bb:h-9 bb:items-center bb:justify-center" }, qe = {
800
801
  class: "bb:w-5 bb:h-5 bb:fill-current bb:text-green-300",
801
802
  viewBox: "0 0 20 20"
802
- }, Ye = ["textContent"];
803
- function Xe(e, t, n, r, o, s) {
803
+ }, Je = ["textContent"];
804
+ function Ye(e, t, n, r, o, s) {
804
805
  return u(), i("button", {
805
806
  type: "button",
806
- onClick: t[0] ||= x((...e) => s.toggle && s.toggle(...e), ["prevent"]),
807
+ onClick: t[0] ||= b((...e) => s.toggle && s.toggle(...e), ["prevent"]),
807
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"
808
- }, [a("span", qe, [y((u(), i("svg", Je, [...t[1] ||= [a("path", {
809
+ }, [a("span", Ke, [y((u(), i("svg", qe, [...t[1] ||= [a("path", {
809
810
  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",
810
811
  "clip-rule": "evenodd",
811
812
  "fill-rule": "evenodd"
812
813
  }, null, -1)]], 512)), [[_, n.isChecked]])]), a("span", {
813
814
  class: "bb:flex bb:h-9 bb:justify-center bb:items-center bb:pr-6 bb:whitespace-nowrap bb:select-none",
814
815
  textContent: m(n.name)
815
- }, null, 8, Ye)]);
816
+ }, null, 8, Je)]);
816
817
  }
817
818
  //#endregion
818
819
  //#region src/components/SelectSingle.vue
819
- var Ze = {
820
+ var Xe = {
820
821
  components: {
821
822
  ElementHeader: G,
822
- DropdownButton: Ge,
823
- ListElement: /* @__PURE__ */ k(Ke, [["render", Xe]])
823
+ DropdownButton: We,
824
+ ListElement: /* @__PURE__ */ O(Ge, [["render", Ye]])
824
825
  },
825
826
  emits: ["update:modelValue", "changed"],
826
827
  props: {
@@ -873,10 +874,10 @@ var Ze = {
873
874
  this.$emit("update:modelValue", null), this.$emit("changed");
874
875
  }
875
876
  }
876
- }, Qe = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, $e = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, et = { class: "bb: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" };
877
- function tt(t, o, c, l, f, m) {
877
+ }, Ze = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, Qe = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, $e = { 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 et(t, o, c, l, f, m) {
878
879
  let h = p("element-header"), g = p("list-element"), _ = p("dropdown-button");
879
- return u(), i("div", Qe, [a("div", $e, [s(h, {
880
+ return u(), i("div", Ze, [a("div", Qe, [s(h, {
880
881
  text: c.header,
881
882
  "is-required": c.isRequired,
882
883
  "is-loading": c.isLoading
@@ -892,7 +893,7 @@ function tt(t, o, c, l, f, m) {
892
893
  "has-value": m.hasValue,
893
894
  onErased: m.clear
894
895
  }, {
895
- default: v(() => [a("div", et, [(u(!0), i(e, null, d(m.itemList, (e) => (u(), n(g, {
896
+ default: v(() => [a("div", $e, [(u(!0), i(e, null, d(m.itemList, (e) => (u(), n(g, {
896
897
  name: e.name,
897
898
  key: e.id,
898
899
  "is-checked": e.id === c.modelValue,
@@ -910,7 +911,7 @@ function tt(t, o, c, l, f, m) {
910
911
  "onErased"
911
912
  ])) : r("", !0)])]);
912
913
  }
913
- var nt = /*#__PURE__*/ k(Ze, [["render", tt]]), rt = {
914
+ var tt = /*#__PURE__*/ O(Xe, [["render", et]]), nt = {
914
915
  props: {
915
916
  text: {
916
917
  type: String,
@@ -949,8 +950,8 @@ var nt = /*#__PURE__*/ k(Ze, [["render", tt]]), rt = {
949
950
  return this.color === "yellow";
950
951
  }
951
952
  }
952
- }, it = ["textContent"];
953
- function at(e, t, n, r, a, o) {
953
+ }, rt = ["textContent"];
954
+ function it(e, t, n, r, a, o) {
954
955
  return u(), i("span", {
955
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", {
956
957
  "bb:bg-green-50 bb:text-gray-700": o.isGreen,
@@ -961,9 +962,9 @@ function at(e, t, n, r, a, o) {
961
962
  "bb:bg-yellow-100 bb:text-yellow-800": o.isYellow
962
963
  }]),
963
964
  textContent: m(n.text)
964
- }, null, 10, it);
965
+ }, null, 10, rt);
965
966
  }
966
- var ot = /*#__PURE__*/ k(rt, [["render", at]]), st = {
967
+ var at = /*#__PURE__*/ O(nt, [["render", it]]), ot = {
967
968
  props: {
968
969
  messages: {
969
970
  type: [Object, Array],
@@ -983,12 +984,12 @@ var ot = /*#__PURE__*/ k(rt, [["render", at]]), st = {
983
984
  return this.type === "dangerous";
984
985
  }
985
986
  }
986
- }, ct = { class: "bb:flex" }, lt = { class: "bb:shrink-0" }, ut = { class: "bb:ml-3" }, dt = ["textContent"];
987
- function ft(t, n, o, s, c, f) {
987
+ }, st = { class: "bb:flex" }, ct = { class: "bb:shrink-0" }, lt = { class: "bb:ml-3" }, ut = ["textContent"];
988
+ function dt(t, n, o, s, c, f) {
988
989
  return f.hasErrors ? (u(), i("div", {
989
990
  key: 0,
990
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"])
991
- }, [a("div", ct, [a("div", lt, [(u(), i("svg", {
992
+ }, [a("div", st, [a("div", ct, [(u(), i("svg", {
992
993
  class: l(["bb:h-5 bb:w-5", f.isDangerous ? "bb:text-red-400" : "bb:text-yellow-400"]),
993
994
  viewBox: "0 0 20 20",
994
995
  fill: "currentColor"
@@ -996,19 +997,19 @@ function ft(t, n, o, s, c, f) {
996
997
  "fill-rule": "evenodd",
997
998
  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",
998
999
  "clip-rule": "evenodd"
999
- }, null, -1)]], 2))]), a("div", ut, [(u(!0), i(e, null, d(o.messages, (e, t) => (u(), i("p", {
1000
+ }, null, -1)]], 2))]), a("div", lt, [(u(!0), i(e, null, d(o.messages, (e, t) => (u(), i("p", {
1000
1001
  class: l(["bb:text-sm bb:leading-5", f.isDangerous ? "bb:text-red-700" : "bb:text-yellow-700"]),
1001
1002
  key: t,
1002
1003
  textContent: m(e)
1003
- }, null, 10, dt))), 128))])])], 2)) : r("", !0);
1004
+ }, null, 10, ut))), 128))])])], 2)) : r("", !0);
1004
1005
  }
1005
- var pt = /*#__PURE__*/ k(st, [["render", ft]]), mt = { emits: ["clicked"] };
1006
- function ht(e, t, n, r, o, s) {
1006
+ var ft = /*#__PURE__*/ O(ot, [["render", dt]]), pt = { emits: ["clicked"] };
1007
+ function mt(e, t, n, r, o, s) {
1007
1008
  return u(), i("button", {
1008
1009
  type: "button",
1009
1010
  tabindex: "-1",
1010
1011
  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",
1011
- onClick: t[0] ||= x((t) => e.$emit("clicked"), ["prevent"])
1012
+ onClick: t[0] ||= b((t) => e.$emit("clicked"), ["prevent"])
1012
1013
  }, [...t[1] ||= [a("svg", {
1013
1014
  class: "bb:w-full bb:h-full bb:stroke-current",
1014
1015
  fill: "none",
@@ -1020,15 +1021,15 @@ function ht(e, t, n, r, o, s) {
1020
1021
  d: "M6 18L18 6M6 6l12 12"
1021
1022
  })], -1)]]);
1022
1023
  }
1023
- var J = /*#__PURE__*/ k(mt, [["render", ht]]), gt = {}, _t = {
1024
+ var J = /*#__PURE__*/ O(pt, [["render", mt]]), ht = {}, gt = {
1024
1025
  class: "bb:w-4 bb:h-4",
1025
1026
  fill: "none",
1026
1027
  stroke: "currentColor",
1027
1028
  viewBox: "0 0 24 24",
1028
1029
  xmlns: "http://www.w3.org/2000/svg"
1029
1030
  };
1030
- function vt(e, t, n, r, o, s) {
1031
- return u(), i("svg", _t, [...t[0] ||= [a("path", {
1031
+ function _t(e, t, n, r, o, s) {
1032
+ return u(), i("svg", gt, [...t[0] ||= [a("path", {
1032
1033
  "stroke-linecap": "round",
1033
1034
  "stroke-linejoin": "round",
1034
1035
  "stroke-width": "2",
@@ -1037,8 +1038,8 @@ function vt(e, t, n, r, o, s) {
1037
1038
  }
1038
1039
  //#endregion
1039
1040
  //#region src/components/DownloadLink.vue
1040
- var yt = {
1041
- components: { "download-icon": /* @__PURE__ */ k(gt, [["render", vt]]) },
1041
+ var vt = {
1042
+ components: { "download-icon": /* @__PURE__ */ O(ht, [["render", _t]]) },
1042
1043
  mixins: [I],
1043
1044
  props: {
1044
1045
  url: {
@@ -1053,16 +1054,16 @@ var yt = {
1053
1054
  computed: { label() {
1054
1055
  return this.title ?? this.texts.download;
1055
1056
  } }
1056
- }, bt = ["href", "title"], xt = { class: "bb:ml-1" };
1057
- function St(e, t, n, r, o, c) {
1057
+ }, yt = ["href", "title"], bt = { class: "bb:ml-1" };
1058
+ function xt(e, t, n, r, o, c) {
1058
1059
  let l = p("download-icon");
1059
1060
  return u(), i("a", {
1060
1061
  href: n.url,
1061
1062
  title: c.label,
1062
1063
  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"
1063
- }, [s(l), a("span", xt, m(c.label), 1)], 8, bt);
1064
+ }, [s(l), a("span", bt, m(c.label), 1)], 8, yt);
1064
1065
  }
1065
- var Ct = /*#__PURE__*/ k(yt, [["render", St]]), wt = { props: {
1066
+ var St = /*#__PURE__*/ O(vt, [["render", xt]]), Ct = { props: {
1066
1067
  isOpen: {
1067
1068
  type: Boolean,
1068
1069
  default: !1
@@ -1071,9 +1072,9 @@ var Ct = /*#__PURE__*/ k(yt, [["render", St]]), wt = { props: {
1071
1072
  type: String,
1072
1073
  required: !0
1073
1074
  }
1074
- } }, Tt = { 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" }, Et = { class: "bb:fixed bb:inset-0 bb:transition-opacity" }, Dt = ["aria-labelledby"];
1075
- function Ot(e, n, r, o, c, d) {
1076
- 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", Tt, [
1075
+ } }, wt = { 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" }, Tt = { class: "bb:fixed bb:inset-0 bb:transition-opacity" }, Et = ["aria-labelledby"];
1076
+ function Dt(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", wt, [
1077
1078
  s(t, {
1078
1079
  "enter-active-class": "bb:ease-out bb:duration-300",
1079
1080
  "enter-from-class": "bb:opacity-0",
@@ -1082,7 +1083,7 @@ function Ot(e, n, r, o, c, d) {
1082
1083
  "leave-from-class": "bb:opacity-100",
1083
1084
  "leave-to-class": "bb:opacity-0"
1084
1085
  }, {
1085
- default: v(() => [y(a("div", Et, [...n[0] ||= [a("div", { class: "bb:absolute bb:inset-0 bb:bg-gray-500 bb:opacity-75" }, null, -1)]], 512), [[_, r.isOpen]])]),
1086
+ default: v(() => [y(a("div", Tt, [...n[0] ||= [a("div", { class: "bb:absolute bb:inset-0 bb:bg-gray-500 bb:opacity-75" }, null, -1)]], 512), [[_, r.isOpen]])]),
1086
1087
  _: 1
1087
1088
  }),
1088
1089
  n[1] ||= a("span", { class: "bb:hidden bb:sm:inline-block bb:sm:align-middle bb:sm:h-screen" }, null, -1),
@@ -1099,12 +1100,12 @@ function Ot(e, n, r, o, c, d) {
1099
1100
  role: "dialog",
1100
1101
  "aria-modal": "true",
1101
1102
  "aria-labelledby": r.headingId
1102
- }, [f(e.$slots, "default")], 8, Dt), [[_, r.isOpen]])]),
1103
+ }, [f(e.$slots, "default")], 8, Et), [[_, r.isOpen]])]),
1103
1104
  _: 3
1104
1105
  })
1105
1106
  ])], 2);
1106
1107
  }
1107
- var kt = /*#__PURE__*/ k(wt, [["render", Ot]]), At = {}, jt = {
1108
+ var Ot = /*#__PURE__*/ O(Ct, [["render", Dt]]), kt = {}, At = {
1108
1109
  class: "bb:h-7 bb:w-7 bb:text-red-600",
1109
1110
  xmlns: "http://www.w3.org/2000/svg",
1110
1111
  fill: "none",
@@ -1112,31 +1113,31 @@ var kt = /*#__PURE__*/ k(wt, [["render", Ot]]), At = {}, jt = {
1112
1113
  stroke: "currentColor",
1113
1114
  "aria-hidden": "true"
1114
1115
  };
1115
- function Mt(e, t, n, r, o, s) {
1116
- return u(), i("svg", jt, [...t[0] ||= [a("path", {
1116
+ function jt(e, t, n, r, o, s) {
1117
+ return u(), i("svg", At, [...t[0] ||= [a("path", {
1117
1118
  "stroke-linecap": "round",
1118
1119
  "stroke-linejoin": "round",
1119
1120
  "stroke-width": "2",
1120
1121
  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"
1121
1122
  }, null, -1)]]);
1122
1123
  }
1123
- var Y = /*#__PURE__*/ k(At, [["render", Mt]]), Nt = {}, Pt = {
1124
+ var Y = /*#__PURE__*/ O(kt, [["render", jt]]), Mt = {}, Nt = {
1124
1125
  class: "bb:h-7 bb:w-7 bb:text-yellow-400",
1125
1126
  xmlns: "http://www.w3.org/2000/svg",
1126
1127
  viewBox: "0 0 20 20",
1127
1128
  fill: "currentColor",
1128
1129
  "aria-hidden": "true"
1129
1130
  };
1130
- function Ft(e, t, n, r, o, s) {
1131
- return u(), i("svg", Pt, [...t[0] ||= [a("path", {
1131
+ function Pt(e, t, n, r, o, s) {
1132
+ return u(), i("svg", Nt, [...t[0] ||= [a("path", {
1132
1133
  "fill-rule": "evenodd",
1133
1134
  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",
1134
1135
  "clip-rule": "evenodd"
1135
1136
  }, null, -1)]]);
1136
1137
  }
1137
- var X = /*#__PURE__*/ k(Nt, [["render", Ft]]), It = {
1138
+ var X = /*#__PURE__*/ O(Mt, [["render", Pt]]), Ft = {
1138
1139
  components: {
1139
- Modal: kt,
1140
+ Modal: Ot,
1140
1141
  Dangerous: Y,
1141
1142
  Warning: X
1142
1143
  },
@@ -1180,36 +1181,36 @@ var X = /*#__PURE__*/ k(Nt, [["render", Ft]]), It = {
1180
1181
  return this.type === "warning";
1181
1182
  }
1182
1183
  }
1183
- }, Lt = { 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" }, Rt = { class: "bb:sm:flex bb:sm:items-start" }, zt = { class: "bb:mt-3 bb:text-center bb:sm:mt-0 bb:sm:ml-4 bb:sm:text-left" }, Bt = ["id"], Vt = { class: "bb:mt-2" }, Ht = { class: "bb:text-sm bb:text-gray-500" }, Ut = { 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" };
1184
- function Wt(e, t, i, o, s, c) {
1184
+ }, It = { 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" }, Lt = { class: "bb:sm:flex bb:sm:items-start" }, Rt = { class: "bb:mt-3 bb:text-center bb:sm:mt-0 bb:sm:ml-4 bb:sm:text-left" }, zt = ["id"], Bt = { class: "bb:mt-2" }, Vt = { class: "bb:text-sm bb:text-gray-500" }, Ht = { 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 Ut(e, t, i, o, s, c) {
1185
1186
  let d = p("warning"), f = p("dangerous"), h = p("modal");
1186
1187
  return u(), n(h, {
1187
1188
  "is-open": i.isOpen,
1188
1189
  "heading-id": o.headingId
1189
1190
  }, {
1190
- default: v(() => [a("div", Lt, [a("div", Rt, [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", {
1191
+ default: v(() => [a("div", It, [a("div", Lt, [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", {
1191
1192
  "bb:bg-red-100": c.isDangerous,
1192
1193
  "bb:bg-yellow-100": c.isWarning
1193
- }]) }, [c.isWarning ? (u(), n(d, { key: 0 })) : r("", !0), c.isDangerous ? (u(), n(f, { key: 1 })) : r("", !0)], 2), a("div", zt, [a("h3", {
1194
+ }]) }, [c.isWarning ? (u(), n(d, { key: 0 })) : r("", !0), c.isDangerous ? (u(), n(f, { key: 1 })) : r("", !0)], 2), a("div", Rt, [a("h3", {
1194
1195
  class: "bb:text-lg bb:leading-6 bb:font-medium bb:text-gray-900",
1195
1196
  id: o.headingId
1196
- }, m(i.confirmationHeading), 9, Bt), a("div", Vt, [a("p", Ht, m(i.confirmationText), 1)])])])]), a("div", Ut, [a("button", {
1197
+ }, m(i.confirmationHeading), 9, zt), a("div", Bt, [a("p", Vt, m(i.confirmationText), 1)])])])]), a("div", Ht, [a("button", {
1197
1198
  type: "button",
1198
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", {
1199
1200
  "bb:bg-red-600 bb:hover:bg-red-700 bb:focus:ring-red-500": c.isDangerous,
1200
1201
  "bb:bg-yellow-400 bb:hover:bg-yellow-500 bb:focus:ring-yellow-300": c.isWarning
1201
1202
  }]),
1202
- onClick: t[0] ||= x((t) => e.$emit("actionConfirmed"), ["prevent"])
1203
+ onClick: t[0] ||= b((t) => e.$emit("actionConfirmed"), ["prevent"])
1203
1204
  }, m(i.actionButtonText), 3), a("button", {
1204
1205
  type: "button",
1205
1206
  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",
1206
- onClick: t[1] ||= x((t) => e.$emit("actionCanceled"), ["prevent"])
1207
+ onClick: t[1] ||= b((t) => e.$emit("actionCanceled"), ["prevent"])
1207
1208
  }, m(i.cancelButtonText ?? e.texts.cancel), 1)])]),
1208
1209
  _: 1
1209
1210
  }, 8, ["is-open", "heading-id"]);
1210
1211
  }
1211
- var Gt = /*#__PURE__*/ k(It, [["render", Wt]]), Kt = {
1212
- components: { Popup: A },
1212
+ var Wt = /*#__PURE__*/ O(Ft, [["render", Ut]]), Gt = {
1213
+ components: { Popup: j },
1213
1214
  mixins: [I],
1214
1215
  emits: ["update:modelValue"],
1215
1216
  props: { modelValue: {
@@ -1228,21 +1229,21 @@ var Gt = /*#__PURE__*/ k(It, [["render", Wt]]), Kt = {
1228
1229
  methods: { setOpen(e) {
1229
1230
  e !== this.popupIsOpen && (this.popupIsOpen = e, this.$emit("update:modelValue", e));
1230
1231
  } }
1231
- }, qt = { class: "bb-dashboard-ui bb:relative bb:inline-flex bb:shadow-xs bb:rounded-md" }, Jt = {
1232
+ }, Kt = { class: "bb-dashboard-ui bb:relative bb:inline-flex bb:shadow-xs bb:rounded-md" }, qt = {
1232
1233
  key: 0,
1233
1234
  class: "bb:-ml-px bb:relative bb:block"
1234
- }, Yt = ["id"], Xt = { class: "bb:sr-only" }, Zt = ["aria-labelledby"];
1235
- function Qt(e, t, n, o, c, d) {
1235
+ }, Jt = ["id"], Yt = { class: "bb:sr-only" }, Xt = ["aria-labelledby"];
1236
+ function Zt(e, t, n, o, c, d) {
1236
1237
  let h = p("popup");
1237
- return u(), i("span", qt, [a("button", {
1238
+ return u(), i("span", Kt, [a("button", {
1238
1239
  type: "button",
1239
1240
  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 }])
1240
- }, [f(e.$slots, "button")], 2), e.$slots.actions ? (u(), i("span", Jt, [a("button", {
1241
- onClick: t[0] ||= x((e) => d.setOpen(!c.popupIsOpen), ["prevent"]),
1241
+ }, [f(e.$slots, "button")], 2), e.$slots.actions ? (u(), i("span", qt, [a("button", {
1242
+ onClick: t[0] ||= b((e) => d.setOpen(!c.popupIsOpen), ["prevent"]),
1242
1243
  id: o.menuButtonId,
1243
1244
  type: "button",
1244
1245
  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"
1245
- }, [a("span", Xt, m(e.texts.openMenu), 1), t[1] ||= a("svg", {
1246
+ }, [a("span", Yt, m(e.texts.openMenu), 1), t[1] ||= a("svg", {
1246
1247
  class: "bb:h-5 bb:w-5",
1247
1248
  xmlns: "http://www.w3.org/2000/svg",
1248
1249
  viewBox: "0 0 20 20",
@@ -1252,7 +1253,7 @@ function Qt(e, t, n, o, c, d) {
1252
1253
  "fill-rule": "evenodd",
1253
1254
  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",
1254
1255
  "clip-rule": "evenodd"
1255
- })], -1)], 8, Yt), s(h, {
1256
+ })], -1)], 8, Jt), s(h, {
1256
1257
  class: "bb:origin-top-right bb:right-0",
1257
1258
  "model-value": c.popupIsOpen,
1258
1259
  align: "right",
@@ -1263,48 +1264,48 @@ function Qt(e, t, n, o, c, d) {
1263
1264
  role: "menu",
1264
1265
  "aria-orientation": "vertical",
1265
1266
  "aria-labelledby": o.menuButtonId
1266
- }, [f(e.$slots, "actions")], 8, Zt)]),
1267
+ }, [f(e.$slots, "actions")], 8, Xt)]),
1267
1268
  _: 3
1268
1269
  }, 8, ["model-value", "onUpdate:modelValue"])])) : r("", !0)]);
1269
1270
  }
1270
- var $t = /*#__PURE__*/ k(Kt, [["render", Qt]]), en = {}, tn = {
1271
+ var Qt = /*#__PURE__*/ O(Gt, [["render", Zt]]), $t = {}, en = {
1271
1272
  xmlns: "http://www.w3.org/2000/svg",
1272
1273
  viewBox: "0 0 20 20",
1273
1274
  fill: "currentColor",
1274
1275
  "aria-hidden": "true"
1275
1276
  };
1276
- function nn(e, t, n, r, o, s) {
1277
- return u(), i("svg", tn, [...t[0] ||= [a("path", {
1277
+ function tn(e, t, n, r, o, s) {
1278
+ return u(), i("svg", en, [...t[0] ||= [a("path", {
1278
1279
  "fill-rule": "evenodd",
1279
1280
  "clip-rule": "evenodd",
1280
1281
  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"
1281
1282
  }, null, -1)]]);
1282
1283
  }
1283
- var rn = /*#__PURE__*/ k(en, [["render", nn]]), an = {}, on = {
1284
+ var nn = /*#__PURE__*/ O($t, [["render", tn]]), rn = {}, an = {
1284
1285
  xmlns: "http://www.w3.org/2000/svg",
1285
1286
  viewBox: "0 0 20 20",
1286
1287
  fill: "currentColor",
1287
1288
  "aria-hidden": "true"
1288
1289
  };
1289
- function sn(e, t, n, r, o, s) {
1290
- return u(), i("svg", on, [...t[0] ||= [a("path", {
1290
+ function on(e, t, n, r, o, s) {
1291
+ return u(), i("svg", an, [...t[0] ||= [a("path", {
1291
1292
  "fill-rule": "evenodd",
1292
1293
  "clip-rule": "evenodd",
1293
1294
  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"
1294
1295
  }, null, -1)]]);
1295
1296
  }
1296
- var cn = /*#__PURE__*/ k(an, [["render", sn]]);
1297
+ var sn = /*#__PURE__*/ O(rn, [["render", on]]);
1297
1298
  //#endregion
1298
1299
  //#region src/navigation.js
1299
- function ln(e) {
1300
+ function cn(e) {
1300
1301
  let t = e.currentTarget?.target ?? "";
1301
1302
  return !(e.defaultPrevented || e.target?.isContentEditable === !0 || e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || t !== "" && t !== "_self" || e.button !== 0);
1302
1303
  }
1303
1304
  var Z = {
1304
- inject: D,
1305
+ inject: E,
1305
1306
  methods: { followLink(e, t) {
1306
1307
  let n = this.uiSettings.navigate;
1307
- n !== null && ln(e) && (e.preventDefault(), n(t));
1308
+ n !== null && cn(e) && (e.preventDefault(), n(t));
1308
1309
  } }
1309
1310
  };
1310
1311
  //#endregion
@@ -1312,10 +1313,10 @@ var Z = {
1312
1313
  function Q(e) {
1313
1314
  return typeof e == "string" && e !== "" ? e : null;
1314
1315
  }
1315
- var un = {
1316
+ var ln = {
1316
1317
  components: {
1317
- ArrowNarrowLeft: rn,
1318
- ArrowNarrowRight: cn
1318
+ ArrowNarrowLeft: nn,
1319
+ ArrowNarrowRight: sn
1319
1320
  },
1320
1321
  mixins: [I, Z],
1321
1322
  props: {
@@ -1351,38 +1352,38 @@ var un = {
1351
1352
  return Q(this.links?.next);
1352
1353
  }
1353
1354
  }
1354
- }, dn = {
1355
+ }, un = {
1355
1356
  key: 0,
1356
1357
  class: "bb-dashboard-ui bb:px-4 bb:flex bb:items-center bb:justify-between bb:sm:px-0"
1357
- }, fn = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex" }, pn = ["href"], mn = {
1358
+ }, dn = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex" }, fn = ["href"], pn = {
1358
1359
  key: 0,
1359
1360
  class: "bb:hidden bb:md:-mt-px bb:md:flex bb:text-gray-400 bb:text-sm bb:leading-5"
1360
- }, hn = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, gn = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, _n = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex bb:justify-end" }, vn = ["href"];
1361
- function yn(e, t, n, c, l, d) {
1361
+ }, mn = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, hn = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, gn = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex bb:justify-end" }, _n = ["href"];
1362
+ function vn(e, t, n, c, l, d) {
1362
1363
  let f = p("arrow-narrow-left"), h = p("arrow-narrow-right");
1363
- return d.hasResults ? (u(), i("nav", dn, [
1364
- a("div", fn, [d.previousPageUrl === null ? r("", !0) : (u(), i("a", {
1364
+ return d.hasResults ? (u(), i("nav", un, [
1365
+ a("div", dn, [d.previousPageUrl === null ? r("", !0) : (u(), i("a", {
1365
1366
  key: 0,
1366
1367
  href: d.previousPageUrl,
1367
1368
  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",
1368
1369
  onClick: t[0] ||= (t) => e.followLink(t, d.previousPageUrl)
1369
- }, [s(f, { class: "bb:mr-3 bb:h-5 bb:w-5 bb:text-gray-400" }), o(" " + m(e.texts.previousPage), 1)], 8, pn))]),
1370
- d.hasRange ? (u(), i("div", mn, [
1370
+ }, [s(f, { class: "bb:mr-3 bb:h-5 bb:w-5 bb:text-gray-400" }), o(" " + m(e.texts.previousPage), 1)], 8, fn))]),
1371
+ d.hasRange ? (u(), i("div", pn, [
1371
1372
  o(m(e.texts.resultsBefore) + " ", 1),
1372
- a("span", hn, m(d.from) + " - " + m(d.to), 1),
1373
+ a("span", mn, m(d.from) + " - " + m(d.to), 1),
1373
1374
  o(" " + m(e.texts.resultsOf) + " ", 1),
1374
- a("span", gn, m(d.total), 1),
1375
+ a("span", hn, m(d.total), 1),
1375
1376
  o(" " + m(e.texts.resultsAfter), 1)
1376
1377
  ])) : r("", !0),
1377
- a("div", _n, [d.nextPageUrl === null ? r("", !0) : (u(), i("a", {
1378
+ a("div", gn, [d.nextPageUrl === null ? r("", !0) : (u(), i("a", {
1378
1379
  key: 0,
1379
1380
  href: d.nextPageUrl,
1380
1381
  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",
1381
1382
  onClick: t[1] ||= (t) => e.followLink(t, d.nextPageUrl)
1382
- }, [o(m(e.texts.nextPage) + " ", 1), s(h, { class: "bb:ml-3 bb:h-5 bb:w-5 bb:text-gray-400" })], 8, vn))])
1383
+ }, [o(m(e.texts.nextPage) + " ", 1), s(h, { class: "bb:ml-3 bb:h-5 bb:w-5 bb:text-gray-400" })], 8, _n))])
1383
1384
  ])) : r("", !0);
1384
1385
  }
1385
- var bn = /*#__PURE__*/ k(un, [["render", yn]]), xn = {
1386
+ var yn = /*#__PURE__*/ O(ln, [["render", vn]]), bn = {
1386
1387
  mixins: [Z],
1387
1388
  props: {
1388
1389
  url: {
@@ -1398,26 +1399,29 @@ var bn = /*#__PURE__*/ k(un, [["render", yn]]), xn = {
1398
1399
  default: !1
1399
1400
  }
1400
1401
  }
1401
- }, Sn = ["href", "textContent"];
1402
- function Cn(e, t, n, r, a, o) {
1402
+ }, xn = ["href", "textContent"];
1403
+ function Sn(e, t, n, r, a, o) {
1403
1404
  return u(), i("a", {
1404
1405
  href: n.url,
1405
1406
  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"]),
1406
1407
  onClick: t[0] ||= (t) => e.followLink(t, n.url),
1407
1408
  textContent: m(n.name)
1408
- }, null, 10, Sn);
1409
+ }, null, 10, xn);
1409
1410
  }
1410
- var wn = /*#__PURE__*/ k(xn, [["render", Cn]]), Tn = {
1411
+ var Cn = /*#__PURE__*/ O(bn, [["render", Sn]]), wn = {
1411
1412
  components: { Closer: J },
1412
1413
  mixins: [I],
1413
1414
  data() {
1414
- return { canGoBack: window.history.length > 1 };
1415
+ return { canGoBack: !1 };
1416
+ },
1417
+ mounted() {
1418
+ this.canGoBack = window.history.length > 1;
1415
1419
  },
1416
1420
  methods: { goBack() {
1417
1421
  window.history.back();
1418
1422
  } }
1419
1423
  };
1420
- function En(e, t, a, o, s, c) {
1424
+ function Tn(e, t, a, o, s, c) {
1421
1425
  let d = p("closer");
1422
1426
  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, {
1423
1427
  key: 0,
@@ -1427,7 +1431,7 @@ function En(e, t, a, o, s, c) {
1427
1431
  onClicked: c.goBack
1428
1432
  }, null, 8, ["aria-label", "onClicked"])) : r("", !0)], 2);
1429
1433
  }
1430
- var $ = /*#__PURE__*/ k(Tn, [["render", En]]), Dn = {}, On = {
1434
+ var En = /*#__PURE__*/ O(wn, [["render", Tn]]), $ = {}, Dn = {
1431
1435
  class: "bb:h-7 bb:w-7 bb:text-green-600",
1432
1436
  xmlns: "http://www.w3.org/2000/svg",
1433
1437
  fill: "none",
@@ -1436,22 +1440,22 @@ var $ = /*#__PURE__*/ k(Tn, [["render", En]]), Dn = {}, On = {
1436
1440
  stroke: "currentColor",
1437
1441
  "aria-hidden": "true"
1438
1442
  };
1439
- function kn(e, t, n, r, o, s) {
1440
- return u(), i("svg", On, [...t[0] ||= [a("path", {
1443
+ function On(e, t, n, r, o, s) {
1444
+ return u(), i("svg", Dn, [...t[0] ||= [a("path", {
1441
1445
  "stroke-linecap": "round",
1442
1446
  "stroke-linejoin": "round",
1443
1447
  d: "M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"
1444
1448
  }, null, -1)]]);
1445
1449
  }
1446
- var An = /*#__PURE__*/ k(Dn, [["render", kn]]), jn = {}, Mn = {
1450
+ var kn = /*#__PURE__*/ O($, [["render", On]]), An = {}, jn = {
1447
1451
  class: "bb:h-5 bb:w-5",
1448
1452
  xmlns: "http://www.w3.org/2000/svg",
1449
1453
  viewBox: "0 0 20 20",
1450
1454
  fill: "currentColor",
1451
1455
  "aria-hidden": "true"
1452
1456
  };
1453
- function Nn(e, t, n, r, o, s) {
1454
- return u(), i("svg", Mn, [...t[0] ||= [a("path", {
1457
+ function Mn(e, t, n, r, o, s) {
1458
+ return u(), i("svg", jn, [...t[0] ||= [a("path", {
1455
1459
  "fill-rule": "evenodd",
1456
1460
  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",
1457
1461
  "clip-rule": "evenodd"
@@ -1459,10 +1463,10 @@ function Nn(e, t, n, r, o, s) {
1459
1463
  }
1460
1464
  //#endregion
1461
1465
  //#region src/components/NotificationMessage.vue
1462
- var Pn = {
1466
+ var Nn = {
1463
1467
  components: {
1464
- Check: An,
1465
- Close: /* @__PURE__ */ k(jn, [["render", Nn]]),
1468
+ Check: kn,
1469
+ Close: /* @__PURE__ */ O(An, [["render", Mn]]),
1466
1470
  Dangerous: Y,
1467
1471
  Warning: X
1468
1472
  },
@@ -1504,8 +1508,8 @@ var Pn = {
1504
1508
  return this.type === "confirmation";
1505
1509
  }
1506
1510
  }
1507
- }, Fn = ["role"], In = { class: "bb:p-4" }, Ln = { class: "bb:flex bb:items-start" }, Rn = { class: "bb:shrink-0" }, zn = { class: "bb:ml-3 bb:w-0 bb:flex-1 bb:pt-0.5" }, Bn = { class: "bb:text-sm bb:font-medium bb:text-gray-900" }, Vn = { class: "bb:mt-1 bb:text-sm bb:text-gray-500" }, Hn = { class: "bb:ml-4 bb:shrink-0 bb:flex" }, Un = { class: "bb:sr-only" };
1508
- function Wn(e, t, o, c, d, f) {
1511
+ }, Pn = ["role"], Fn = { class: "bb:p-4" }, In = { class: "bb:flex bb:items-start" }, Ln = { class: "bb:shrink-0" }, Rn = { class: "bb:ml-3 bb:w-0 bb:flex-1 bb:pt-0.5" }, zn = { class: "bb:text-sm bb:font-medium bb:text-gray-900" }, Bn = { class: "bb:mt-1 bb:text-sm bb:text-gray-500" }, Vn = { class: "bb:ml-4 bb:shrink-0 bb:flex" }, Hn = { class: "bb:sr-only" };
1512
+ function Un(e, t, o, c, d, f) {
1509
1513
  let h = p("warning"), g = p("dangerous"), _ = p("check"), v = p("close");
1510
1514
  return u(), i("div", {
1511
1515
  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",
@@ -1517,24 +1521,24 @@ function Wn(e, t, o, c, d, f) {
1517
1521
  "bb:bg-yellow-50": f.isWarning,
1518
1522
  "bb:bg-gray-50": f.isConfirmation
1519
1523
  }])
1520
- }, [a("div", In, [a("div", Ln, [
1521
- a("div", Rn, [
1524
+ }, [a("div", Fn, [a("div", In, [
1525
+ a("div", Ln, [
1522
1526
  f.isWarning ? (u(), n(h, { key: 0 })) : r("", !0),
1523
1527
  f.isDangerous ? (u(), n(g, { key: 1 })) : r("", !0),
1524
1528
  f.isConfirmation ? (u(), n(_, { key: 2 })) : r("", !0)
1525
1529
  ]),
1526
- a("div", zn, [a("p", Bn, m(o.notificationHeading), 1), a("p", Vn, m(f.text), 1)]),
1527
- a("div", Hn, [a("button", {
1530
+ a("div", Rn, [a("p", zn, m(o.notificationHeading), 1), a("p", Bn, m(f.text), 1)]),
1531
+ a("div", Vn, [a("button", {
1528
1532
  type: "button",
1529
1533
  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", {
1530
1534
  "bb:bg-red-50": f.isDangerous,
1531
1535
  "bb:bg-yellow-50": f.isWarning,
1532
1536
  "bb:bg-gray-50": f.isConfirmation
1533
1537
  }]),
1534
- onClick: t[0] ||= x((t) => e.$emit("update:modelValue", ""), ["prevent"])
1535
- }, [a("span", Un, m(e.texts.close), 1), s(v)], 2)])
1536
- ])])], 2)) : r("", !0)], 8, Fn);
1538
+ onClick: t[0] ||= b((t) => e.$emit("update:modelValue", ""), ["prevent"])
1539
+ }, [a("span", Hn, m(e.texts.close), 1), s(v)], 2)])
1540
+ ])])], 2)) : r("", !0)], 8, Pn);
1537
1541
  }
1538
- var Gn = /*#__PURE__*/ k(Pn, [["render", Wn]]);
1542
+ var Wn = /*#__PURE__*/ O(Nn, [["render", Un]]);
1539
1543
  //#endregion
1540
- export { J as Closer, Gt as ConfirmationModal, j as Dot, Ct as DownloadLink, $t as DropdownButtonWithAction, pt as ErrorMessages, wn as NavigationMenuElement, Gn as NotificationMessage, $ as PageCard, bn as Pagination, W as PickDay, A as Popup, Te as RussianMobileFilter, Me as Search, ze as SelectDateInterval, nt as SelectSingle, ot as SmallBadge, O as dashboardUi };
1544
+ export { J as Closer, Wt as ConfirmationModal, M as Dot, St as DownloadLink, Qt as DropdownButtonWithAction, ft as ErrorMessages, Cn as NavigationMenuElement, Wn as NotificationMessage, En as PageCard, yn as Pagination, W as PickDay, j as Popup, we as RussianMobileFilter, je as Search, Re as SelectDateInterval, tt as SelectSingle, at as SmallBadge, D as dashboardUi };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@boobooking/dashboard-ui-components",
3
- "version": "0.10.1",
3
+ "version": "0.11.0",
4
4
  "description": "Компоненты дашборда на Vue 3",
5
5
  "keywords": [
6
6
  "vue",