@boobooking/dashboard-ui-components 0.5.0 → 0.7.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/README.md CHANGED
@@ -24,10 +24,11 @@ Tailwind, `@tailwindcss/forms`, Inertia и какие-либо токены в C
24
24
 
25
25
  ## Компоненты
26
26
 
27
- Пакет экспортирует тринадцать компонентов: `Popup`, `Dot`, `PickDay`,
27
+ Пакет экспортирует четырнадцать компонентов: `Popup`, `Dot`, `PickDay`,
28
28
  `RussianMobileFilter`, `Search`, `SelectDateInterval`, `SelectSingle`,
29
- `SmallBadge`, `ErrorMessages`, `Closer`, `DownloadLink`, `ConfirmationModal`,
30
- `DropdownButtonWithAction`. В архив пакета (`files: ["dist"]`) исходники не
29
+ `SmallBadge`, `ErrorMessages`, `Closer`, `DownloadLink`, `Modal`,
30
+ `ConfirmationModal`, `DropdownButtonWithAction`. В архив пакета
31
+ (`files: ["dist"]`) исходники не
31
32
  попадают, поэтому контракт каждого компонента — здесь и в playground, а не в
32
33
  исходном коде.
33
34
 
@@ -119,7 +120,9 @@ Tailwind, `@tailwindcss/forms`, Inertia и какие-либо токены в C
119
120
  | `isRequired` | `Boolean` | `false` | Пометка обязательности в заголовке |
120
121
  | `isLoading` | `Boolean` | `false` | Индикатор загрузки в заголовке |
121
122
 
122
- События: `update:modelValue` и `changed` — оба на каждый ввод.
123
+ События: `update:modelValue` и `changed` — оба на каждый ввод. Значение,
124
+ изменённое родителем, поле показывает сразу и без событий: ответный
125
+ `update:modelValue` вернул бы родителю его же значение.
123
126
 
124
127
  ### SelectDateInterval
125
128
 
@@ -199,7 +202,8 @@ Tailwind, `@tailwindcss/forms`, Inertia и какие-либо токены в C
199
202
  ### Closer
200
203
 
201
204
  Кнопка-крестик закрытия. Размер и положение задаёт приложение классами на
202
- корне: без них у крестика нулевой размер.
205
+ корне: без классов размера крестик получает размер SVG по умолчанию
206
+ (300×300).
203
207
 
204
208
  <closer class="absolute top-0 right-0 w-8 h-8" @clicked="close" />
205
209
 
@@ -218,6 +222,38 @@ Tailwind, `@tailwindcss/forms`, Inertia и какие-либо токены в C
218
222
 
219
223
  Событий нет.
220
224
 
225
+ ### Modal
226
+
227
+ Оболочка модального окна: оверлей, панель и переходы открытия и закрытия.
228
+ Заголовок, текст и кнопки кладёт в слот приложение. На этой оболочке построен
229
+ `ConfirmationModal`.
230
+
231
+ <modal :is-open="isOpen" :heading-id="headingId">
232
+ <h3 :id="headingId">Заголовок</h3>
233
+ …содержимое…
234
+ </modal>
235
+
236
+ | Проп | Тип | По умолчанию | Описание |
237
+ | --- | --- | --- | --- |
238
+ | `isOpen` | `Boolean` | `false` | Открыта ли модалка |
239
+ | `headingId` | `String` | обязателен | `id` заголовка в слоте: им модалка подписывает диалог через `aria-labelledby` |
240
+
241
+ Событий нет. Модалка не закрывается сама ни по клику на оверлей, ни по
242
+ Escape: видимостью управляет родитель, как у `ConfirmationModal`. `id`
243
+ заголовка удобно получать через `useId()` — тогда у двух модалок на одной
244
+ странице он не совпадёт.
245
+
246
+ Содержимое слота смонтировано всегда, а закрытая модалка его только прячет
247
+ (`v-show`). Поэтому состояние внутри — выбор, введённый текст, ошибки —
248
+ переживает закрытие, и сбрасывать его должен родитель.
249
+
250
+ Панель белая, со скруглением `rounded-lg` и без внутренних отступов: их
251
+ задаёт содержимое слота. На узком экране панель прижата к нижнему краю, а её
252
+ ширина — по содержимому, но не больше экрана за вычетом полей; начиная с `sm`
253
+ панель стоит по центру и занимает `max-w-lg`. `class` и другие атрибуты на
254
+ `<modal>` попадают на полноэкранный корень, а не на панель: размер панели и
255
+ атрибуты диалога вроде `aria-describedby` снаружи не задаются.
256
+
221
257
  ### ConfirmationModal
222
258
 
223
259
  Модалка подтверждения действия: заголовок, текст, кнопка действия и кнопка
@@ -286,6 +322,16 @@ ConfirmationModal нет v-model».
286
322
  - Проп-перечисление — ограниченный набор строковых значений, как `color` у
287
323
  `Dot` или `align` у `Popup`, — обязательно имеет `validator`,
288
324
  отклоняющий значения вне списка.
325
+ - Компонент не падает ни на каком значении пропа. `null` и `undefined` там,
326
+ где ждут строку, объект или массив, он считает пустыми: пустой строкой,
327
+ отсутствием сообщений, пустым списком. Для обязательного пропа Vue при этом
328
+ предупредит о несовпадении типа, но компонент отрисуется.
329
+ - Каждая утилита в разметке компонента пишется с префиксом `bb:` — в
330
+ `class`, в `:class` и в пропсах `*-class` у `<transition>`; варианты идут
331
+ после префикса: `bb:sm:inline-block`, `bb:hover:bg-red-700`. Утилита без
332
+ префикса не сгенерируется. Классы в `:class` пишутся литералами — ключами
333
+ объекта, ветками тернарного оператора, элементами массива. Оба правила
334
+ проверяет `tests/utilityPrefix.test.js`.
289
335
 
290
336
  ## Почему у Popup и Dot нет события changed
291
337
 
@@ -320,7 +366,7 @@ ConfirmationModal нет v-model».
320
366
 
321
367
  npm run playground
322
368
 
323
- Поднимает демо-страницы со всеми тринадцатью компонентами в двух окружениях:
369
+ Поднимает демо-страницы со всеми четырнадцатью компонентами в двух окружениях:
324
370
  голом (без Tailwind и стилей приложения) и в окружении приложения (с
325
371
  Tailwind, `@tailwindcss/forms` и типографикой, как у потребителя). Это
326
372
  основной способ посмотреть, как компоненты выглядят и ведут себя, а не
@@ -338,20 +384,55 @@ Tailwind, `@tailwindcss/forms` и типографикой, как у потре
338
384
 
339
385
  ## Ограничение
340
386
 
341
- Пакет отдаёт скомпилированные утилиты Tailwind — те же имена классов, что
342
- генерирует Tailwind приложения. При стоковой палитре правила совпадают. Если
343
- приложение переопределит стоковый цвет, одноимённые правила столкнутся и
344
- победит подключённое позже, то есть компоненты возьмут палитру приложения.
387
+ Утилиты пакета собраны с префиксом `bb`: классы внутри компонентов — вида
388
+ `bb:flex` и `bb:sm:inline-block`, переменные темы — `--bb-*`. Tailwind
389
+ приложения таких классов не генерирует, поэтому одноимённых правил у пакета и
390
+ приложения нет: вид компонентов не зависит ни от того, какие утилиты
391
+ генерирует приложение, ни от его палитры. Общими остаются только служебные
392
+ переменные Tailwind `--tw-*` с их `@property` — на одной версии Tailwind у
393
+ пакета и приложения они объявлены одинаково — и глобальный `@keyframes pulse`
394
+ (его использует `bb:animate-pulse` у `Dot`): если приложение объявит свой
395
+ `pulse`, победит тот, что подключён позже.
396
+
397
+ Порядок «стили пакета до стилей приложения» по-прежнему нужен: классы,
398
+ которые приложение передаёт на корень компонента, — его собственные
399
+ утилиты, и при одинаковом свойстве они побеждают, потому что подключены
400
+ позже.
401
+
402
+ С версии 0.7.0 классы внутри компонентов — `bb:*`. Если приложение
403
+ обращалось к внутренностям компонентов по классам в своём CSS или тестах,
404
+ такие обращения перестанут находить элементы: внутренние классы в контракт
405
+ пакета не входят.
345
406
 
346
407
  Ресет пакета распространяется и на содержимое слотов — разметку приложения
347
- внутри `Popup` и `DropdownButtonWithAction`. В приложении с preflight это
348
- ничего не меняет; без него содержимое слота получит `box-sizing` и снятые
349
- границы.
408
+ внутри `Popup`, `DropdownButtonWithAction` и `Modal`. Ресет лежит в слое
409
+ `components`, поэтому внутри слота он сильнее всего, что приложение объявило
410
+ в слое `base`: preflight, `@tailwindcss/forms` и собственных умолчаний
411
+ приложения. В слоте он задаёт:
412
+
413
+ - всем элементам — нулевые `margin` и `padding` и рамку `0 solid` цвета
414
+ `currentColor`. Умолчания приложения из слоя `base`, например цвет рамок,
415
+ внутри слота не действуют: голые `border` или `divide-*` получат цвет
416
+ текста;
417
+ - кнопкам и полям `input` — унаследованные шрифт и цвет, нулевое
418
+ скругление, прозрачный фон и `opacity: 1`;
419
+ - полям `input` — `appearance: none` и снятое кольцо фокуса (`box-shadow`).
420
+
421
+ Обычная разметка в приложении с preflight почти не меняется — ресет
422
+ повторяет preflight, а без preflight она получит `box-sizing`, нулевые
423
+ отступы и снятые рамки. Поля из `@tailwindcss/forms` меняются заметно:
424
+ текстовые поля, `select` и `textarea` теряют рамку и внутренние отступы,
425
+ текстовые поля — ещё фон и размер шрифта; чекбоксы и радиокнопки теряют
426
+ рамку, фон, цвет отметки и кольцо фокуса, радиокнопки — ещё и круглую форму.
427
+ Вернуть оформление можно утилитами: слой `utilities` сильнее ресета.
428
+ Например, чекбоксу: `border border-gray-300 bg-white text-indigo-600
429
+ checked:bg-current checked:border-transparent focus:ring-2
430
+ focus:ring-offset-2`.
350
431
 
351
432
  У `Closer` нет доступного имени, и он выключен из порядка табуляции
352
433
  (`tabindex="-1"`): скринридер его не назовёт, а с клавиатуры до него не
353
434
  добраться.
354
435
 
355
- `ConfirmationModal` не переносит фокус внутрь при открытии, не удерживает его
356
- внутри, не возвращает на прежнее место после закрытия и не закрывается по
357
- Escape.
436
+ `Modal` и построенный на нём `ConfirmationModal` не переносят фокус внутрь при
437
+ открытии, не удерживают его внутри, не возвращают на прежнее место после
438
+ закрытия и не закрываются по Escape.
package/dist/index.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import { Fragment as e, Transition as t, createBlock as n, createCommentVNode as r, createElementBlock as i, createElementVNode as a, createVNode as o, mergeProps as s, normalizeClass as c, openBlock as l, renderList as u, renderSlot as d, resolveComponent as f, toDisplayString as p, useId as m, vModelText as h, vShow as g, withCtx as _, withDirectives as v, withKeys as y, withModifiers as b } from "vue";
2
2
  import ee from "pikaday";
3
- import x from "imask";
3
+ import te from "imask";
4
4
  //#region \0plugin-vue:export-helper
5
- var S = (e, t) => {
5
+ var x = (e, t) => {
6
6
  let n = e.__vccOpts || e;
7
7
  for (let [e, r] of t) n[e] = r;
8
8
  return n;
9
- }, C = {
9
+ }, S = {
10
10
  props: {
11
11
  isOpen: {
12
12
  type: Boolean,
@@ -33,21 +33,21 @@ var S = (e, t) => {
33
33
  document.removeEventListener("keydown", this.handleEscape);
34
34
  }
35
35
  };
36
- function w(e, t, n, r, a, o) {
36
+ function C(e, t, n, r, a, o) {
37
37
  return v((l(), i("button", {
38
38
  tabindex: "-1",
39
39
  onClick: t[0] ||= b((...e) => o.closeOverlay && o.closeOverlay(...e), ["prevent"]),
40
- class: c(["fixed inset-0 w-full h-full cursor-default flex items-start", {
41
- "z-20": n.isOpen,
42
- "bg-transparent": n.isTransparent,
43
- "bg-gray-900 opacity-75": !n.isTransparent
40
+ class: c(["bb:fixed bb:inset-0 bb:w-full bb:h-full bb:cursor-default bb:flex bb:items-start", {
41
+ "bb:z-20": n.isOpen,
42
+ "bb:bg-transparent": n.isTransparent,
43
+ "bb:bg-gray-900 bb:opacity-75": !n.isTransparent
44
44
  }])
45
45
  }, null, 2)), [[g, n.isOpen]]);
46
46
  }
47
47
  //#endregion
48
48
  //#region src/components/Popup.vue
49
- var T = {
50
- components: { Overlay: /* @__PURE__ */ S(C, [["render", w]]) },
49
+ var w = {
50
+ components: { Overlay: /* @__PURE__ */ x(S, [["render", C]]) },
51
51
  inheritAttrs: !1,
52
52
  emits: ["update:modelValue"],
53
53
  props: {
@@ -80,28 +80,28 @@ var T = {
80
80
  return this.align === "right";
81
81
  }
82
82
  }
83
- }, E = { class: "bb-dashboard-ui relative" };
84
- function D(e, n, r, c, u, p) {
83
+ }, T = { class: "bb-dashboard-ui bb:relative" };
84
+ function E(e, n, r, c, u, p) {
85
85
  let m = f("overlay");
86
- return l(), i("div", E, [o(m, {
86
+ return l(), i("div", T, [o(m, {
87
87
  "is-open": u.overlayIsOpen,
88
88
  "onUpdate:isOpen": n[0] ||= (e) => u.overlayIsOpen = e
89
89
  }, null, 8, ["is-open"]), o(t, {
90
- "enter-active-class": "transition ease-out duration-100",
91
- "enter-from-class": "opacity-0 scale-95",
92
- "enter-to-class": "opacity-100 scale-100",
93
- "leave-active-class": "transition ease-in duration-75",
94
- "leave-from-class": "opacity-100 scale-100",
95
- "leave-to-class": "opacity-0 scale-95"
90
+ "enter-active-class": "bb:transition bb:ease-out bb:duration-100",
91
+ "enter-from-class": "bb:opacity-0 bb:scale-95",
92
+ "enter-to-class": "bb:opacity-100 bb:scale-100",
93
+ "leave-active-class": "bb:transition bb:ease-in bb:duration-75",
94
+ "leave-from-class": "bb:opacity-100 bb:scale-100",
95
+ "leave-to-class": "bb:opacity-0 bb:scale-95"
96
96
  }, {
97
- default: _(() => [v(a("div", s(e.$attrs, { class: ["absolute z-20", {
98
- "left-0": p.alignLeft,
99
- "right-0": p.alignRight
97
+ default: _(() => [v(a("div", s(e.$attrs, { class: ["bb:absolute bb:z-20", {
98
+ "bb:left-0": p.alignLeft,
99
+ "bb:right-0": p.alignRight
100
100
  }] }), [d(e.$slots, "default")], 16), [[g, r.modelValue]])]),
101
101
  _: 3
102
102
  })]);
103
103
  }
104
- var O = /*#__PURE__*/ S(T, [["render", D]]), te = {
104
+ var D = /*#__PURE__*/ x(w, [["render", E]]), ne = {
105
105
  props: {
106
106
  withPulse: {
107
107
  type: Boolean,
@@ -122,13 +122,13 @@ var O = /*#__PURE__*/ S(T, [["render", D]]), te = {
122
122
  }
123
123
  }
124
124
  };
125
- function ne(e, t, n, r, o, s) {
126
- return l(), i("div", { class: c(["bb-dashboard-ui flex h-full items-center leading-none text-4xl", {
127
- "text-red-500": s.isRed,
128
- "text-green-500": s.isGreen,
129
- "animate-pulse": n.withPulse
125
+ function re(e, t, n, r, o, s) {
126
+ return l(), i("div", { class: c(["bb-dashboard-ui bb:flex bb:h-full bb:items-center bb:leading-none bb:text-4xl", {
127
+ "bb:text-red-500": s.isRed,
128
+ "bb:text-green-500": s.isGreen,
129
+ "bb:animate-pulse": n.withPulse
130
130
  }]) }, [...t[0] ||= [a("svg", {
131
- class: "fill-current w-2 h-2",
131
+ class: "bb:fill-current bb:w-2 bb:h-2",
132
132
  viewBox: "0 0 120 120"
133
133
  }, [a("circle", {
134
134
  cx: "60",
@@ -136,14 +136,14 @@ function ne(e, t, n, r, o, s) {
136
136
  r: "45"
137
137
  })], -1)]], 2);
138
138
  }
139
- var k = /*#__PURE__*/ S(te, [["render", ne]]), A = {}, j = {
139
+ var O = /*#__PURE__*/ x(ne, [["render", re]]), k = {}, A = {
140
140
  type: "button",
141
141
  tabindex: "-1",
142
- class: "absolute right-0 top-0 flex items-center justify-center bg-transparent cursor-pointer text-gray-300 hover:text-gray-400 focus:outline-hidden"
142
+ 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"
143
143
  };
144
- function M(e, t, n, r, o, s) {
145
- return l(), i("button", j, [...t[0] ||= [a("svg", {
146
- class: "w-6 h-6 stroke-current",
144
+ function j(e, t, n, r, o, s) {
145
+ return l(), i("button", A, [...t[0] ||= [a("svg", {
146
+ class: "bb:w-6 bb:h-6 bb:stroke-current",
147
147
  fill: "none",
148
148
  viewBox: "0 0 24 24"
149
149
  }, [a("path", {
@@ -153,13 +153,13 @@ function M(e, t, n, r, o, s) {
153
153
  d: "M6 18L18 6M6 6l12 12"
154
154
  })], -1)]]);
155
155
  }
156
- var N = /*#__PURE__*/ S(A, [["render", M]]);
156
+ var M = /*#__PURE__*/ x(k, [["render", j]]);
157
157
  //#endregion
158
158
  //#region src/date.js
159
- function P(e) {
159
+ function N(e) {
160
160
  return `${String(e.getDate()).padStart(2, "0")}.${String(e.getMonth() + 1).padStart(2, "0")}.${String(e.getFullYear()).padStart(4, "0")}`;
161
161
  }
162
- function F(e) {
162
+ function P(e) {
163
163
  let t = /^(\d{1,2})\.(\d{1,2})\.(\d{4})$/.exec(e);
164
164
  if (t === null) return null;
165
165
  let [, n, r, i] = t.map(Number), a = /* @__PURE__ */ new Date(0);
@@ -167,10 +167,10 @@ function F(e) {
167
167
  }
168
168
  //#endregion
169
169
  //#region src/components/PickDay.vue
170
- var I = {
170
+ var F = {
171
171
  components: {
172
- Popup: O,
173
- Eraser: N
172
+ Popup: D,
173
+ Eraser: M
174
174
  },
175
175
  emits: ["update:modelValue", "changed"],
176
176
  props: {
@@ -197,8 +197,8 @@ var I = {
197
197
  keyboardInput: !1,
198
198
  bound: !1,
199
199
  firstDay: 1,
200
- parse: (e) => F(e),
201
- toString: (e) => P(e),
200
+ parse: (e) => P(e),
201
+ toString: (e) => N(e),
202
202
  i18n: {
203
203
  previousMonth: "Предыдущий месяц",
204
204
  nextMonth: "Следующий месяц",
@@ -236,7 +236,7 @@ var I = {
236
236
  ]
237
237
  },
238
238
  onSelect: (e) => {
239
- this.popupIsOpen = !1, this.$emit("update:modelValue", P(e)), this.$emit("changed");
239
+ this.popupIsOpen = !1, this.$emit("update:modelValue", N(e)), this.$emit("changed");
240
240
  }
241
241
  });
242
242
  },
@@ -246,15 +246,16 @@ var I = {
246
246
  data() {
247
247
  return {
248
248
  popupIsOpen: !1,
249
- dayValue: this.modelValue
249
+ dayValue: this.modelValue ?? ""
250
250
  };
251
251
  },
252
252
  watch: { modelValue(e) {
253
- this.dayValue = e, this.syncPicker(e);
253
+ let t = e ?? "";
254
+ this.dayValue = t, this.syncPicker(t);
254
255
  } },
255
256
  methods: {
256
257
  syncPicker(e) {
257
- let t = F(e);
258
+ let t = P(e);
258
259
  if (t === null) {
259
260
  this.picker.clear();
260
261
  return;
@@ -267,48 +268,48 @@ var I = {
267
268
  },
268
269
  computed: {
269
270
  hasValue() {
270
- return this.modelValue.length > 0;
271
+ return (this.modelValue ?? "").length > 0;
271
272
  },
272
273
  needsEraser() {
273
274
  return !this.withEraser || this.popupIsOpen ? !1 : this.hasValue;
274
275
  }
275
276
  }
276
- }, L = { class: "bb-dashboard-ui flex flex-col" }, R = { class: "relative flex h-full cursor-pointer leading-none" }, z = { class: "min-w-24 w-full h-full" }, B = [
277
+ }, I = { class: "bb-dashboard-ui bb:flex bb:flex-col" }, L = { class: "bb:relative bb:flex bb:h-full bb:cursor-pointer bb:leading-none" }, R = { class: "bb:min-w-24 bb:w-full bb:h-full" }, z = [
277
278
  "disabled",
278
279
  "value",
279
280
  "placeholder"
280
- ], V = {
281
+ ], B = {
281
282
  ref: "container",
282
- class: "flex mt-1 bg-white border border-gray-200 rounded-md shadow-lg"
283
+ class: "bb:flex bb:mt-1 bb:bg-white bb:border bb:border-gray-200 bb:rounded-md bb:shadow-lg"
283
284
  };
284
- function H(e, t, s, u, d, p) {
285
+ function V(e, t, s, u, d, p) {
285
286
  let m = f("eraser"), h = f("popup");
286
- return l(), i("div", L, [a("div", R, [a("button", {
287
+ return l(), i("div", I, [a("div", L, [a("button", {
287
288
  ref: "trigger",
288
289
  type: "button",
289
- class: c(["flex w-full items-center focus:outline-hidden", { "z-20": d.popupIsOpen }]),
290
+ class: c(["bb:flex bb:w-full bb:items-center bb:focus:outline-hidden", { "bb:z-20": d.popupIsOpen }]),
290
291
  onClick: t[0] ||= (e) => d.popupIsOpen = !d.popupIsOpen
291
- }, [a("label", z, [a("input", {
292
+ }, [a("label", R, [a("input", {
292
293
  disabled: d.popupIsOpen,
293
294
  ref: "field",
294
295
  type: "text",
295
296
  value: d.dayValue,
296
297
  placeholder: s.placeholderText,
297
- class: "w-full h-full py-2 pr-3 leading-none border border-transparent whitespace-nowrap bg-transparent placeholder:text-sm placeholder-gray-300 cursor-pointer focus:outline-hidden"
298
- }, null, 8, B)])], 2), p.needsEraser ? (l(), n(m, {
298
+ 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"
299
+ }, null, 8, z)])], 2), p.needsEraser ? (l(), n(m, {
299
300
  key: 0,
300
301
  onClick: p.clearPicker,
301
- class: "z-10 h-full pr-2"
302
+ class: "bb:z-10 bb:h-full bb:pr-2"
302
303
  }, null, 8, ["onClick"])) : r("", !0)]), o(h, {
303
304
  modelValue: d.popupIsOpen,
304
305
  "onUpdate:modelValue": t[1] ||= (e) => d.popupIsOpen = e
305
306
  }, {
306
- default: _(() => [a("div", V, null, 512)]),
307
+ default: _(() => [a("div", B, null, 512)]),
307
308
  _: 1
308
309
  }, 8, ["modelValue"])]);
309
310
  }
310
- var U = /*#__PURE__*/ S(I, [["render", H]]), W = {
311
- components: { Dot: k },
311
+ var H = /*#__PURE__*/ x(F, [["render", V]]), U = {
312
+ components: { Dot: O },
312
313
  props: {
313
314
  text: {
314
315
  type: String,
@@ -323,43 +324,43 @@ var U = /*#__PURE__*/ S(I, [["render", H]]), W = {
323
324
  default: !1
324
325
  }
325
326
  }
326
- }, G = { class: "flex h-6 px-3 bg-white items-center justify-between" }, K = ["textContent"];
327
- function q(e, t, n, r, s, c) {
327
+ }, W = { class: "bb:flex bb:h-6 bb:px-3 bb:bg-white bb:items-center bb:justify-between" }, G = ["textContent"];
328
+ function K(e, t, n, r, s, c) {
328
329
  let u = f("dot");
329
- return l(), i("div", G, [
330
+ return l(), i("div", W, [
330
331
  a("div", {
331
- class: "flex flex-1 h-full items-center text-xs text-gray-500 whitespace-nowrap truncate leading-tight select-none",
332
+ 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",
332
333
  textContent: p(n.text)
333
- }, null, 8, K),
334
+ }, null, 8, G),
334
335
  v(o(u, {
335
336
  color: "red",
336
337
  "with-pulse": !0,
337
- class: "ml-3"
338
+ class: "bb:ml-3"
338
339
  }, null, 512), [[g, n.isLoading]]),
339
340
  v(o(u, {
340
341
  color: "red",
341
- class: "ml-3"
342
+ class: "bb:ml-3"
342
343
  }, null, 512), [[g, n.isRequired]])
343
344
  ]);
344
345
  }
345
- var J = /*#__PURE__*/ S(W, [["render", q]]), Y = 10;
346
- function X(e) {
346
+ var q = /*#__PURE__*/ x(U, [["render", K]]), J = 10;
347
+ function Y(e) {
347
348
  let t = e.replace(/\D/g, "");
348
- return (t.startsWith("7") || t.startsWith("8")) && t[1] === "9" && (t = t.slice(1)), t.slice(0, Y);
349
+ return (t.startsWith("7") || t.startsWith("8")) && t[1] === "9" && (t = t.slice(1)), t.slice(0, J);
349
350
  }
350
- function Z(e) {
351
+ function X(e) {
351
352
  return e === "" ? "" : `7${e}`;
352
353
  }
353
- function Q(e) {
354
- let t = e.startsWith("+") ? e.slice(1) : e;
355
- return t.startsWith("7") ? t.slice(1) : t;
354
+ function Z(e) {
355
+ let t = e ?? "", n = t.startsWith("+") ? t.slice(1) : t;
356
+ return n.startsWith("7") ? n.slice(1) : n;
356
357
  }
357
358
  //#endregion
358
359
  //#region src/components/RussianMobileFilter.vue
359
- var re = 400, ie = 3, ae = {
360
+ var ie = 400, ae = 3, oe = {
360
361
  components: {
361
- ElementHeader: J,
362
- Eraser: N
362
+ ElementHeader: q,
363
+ Eraser: M
363
364
  },
364
365
  emits: ["update:modelValue", "changed"],
365
366
  props: {
@@ -381,32 +382,32 @@ var re = 400, ie = 3, ae = {
381
382
  }
382
383
  },
383
384
  data() {
384
- return { digits: Q(this.modelValue) };
385
+ return { digits: Z(this.modelValue) };
385
386
  },
386
387
  created() {
387
- this.mask = null, this.debounceTimer = null, this.isWritingProgrammatically = !1, this.lastCommitted = Q(this.modelValue);
388
+ this.mask = null, this.debounceTimer = null, this.isWritingProgrammatically = !1, this.lastCommitted = Z(this.modelValue);
388
389
  },
389
390
  mounted() {
390
- this.mask = x(this.$refs.input, {
391
+ this.mask = te(this.$refs.input, {
391
392
  mask: "+7 (000) 000 00 00",
392
393
  lazy: !0,
393
394
  prepare: (e, t) => t.unmaskedValue === "" && (e === "7" || e === "8") ? "" : e
394
395
  }), this.mask.on("accept", () => {
395
- this.isWritingProgrammatically || (this.digits = this.mask.unmaskedValue, this.$emit("update:modelValue", Z(this.digits)), this.scheduleCommit());
396
+ this.isWritingProgrammatically || (this.digits = this.mask.unmaskedValue, this.$emit("update:modelValue", X(this.digits)), this.scheduleCommit());
396
397
  }), this.syncFromModelValue(this.modelValue);
397
398
  },
398
399
  beforeUnmount() {
399
400
  clearTimeout(this.debounceTimer), this.mask?.destroy();
400
401
  },
401
402
  watch: { modelValue(e) {
402
- e !== Z(this.digits) && this.syncFromModelValue(e);
403
+ e !== X(this.digits) && this.syncFromModelValue(e);
403
404
  } },
404
405
  methods: {
405
406
  syncFromModelValue(e) {
406
- this.writeToMask(Q(e)), this.digits = this.mask.unmaskedValue, this.lastCommitted = this.digits;
407
+ this.writeToMask(Z(e)), this.digits = this.mask.unmaskedValue, this.lastCommitted = this.digits;
407
408
  },
408
409
  applyUserDigits(e) {
409
- this.writeToMask(e), this.digits = this.mask.unmaskedValue, this.$emit("update:modelValue", Z(this.digits));
410
+ this.writeToMask(e), this.digits = this.mask.unmaskedValue, this.$emit("update:modelValue", X(this.digits));
410
411
  },
411
412
  writeToMask(e) {
412
413
  if (this.isWritingProgrammatically = !0, e === "") this.mask.value = "";
@@ -429,7 +430,7 @@ var re = 400, ie = 3, ae = {
429
430
  this.setLazy(!0), this.digits === "" && this.writeToMask(""), this.commit();
430
431
  },
431
432
  onPaste(e) {
432
- this.applyUserDigits(X(e.clipboardData?.getData("text") ?? "")), this.scheduleCommit();
433
+ this.applyUserDigits(Y(e.clipboardData?.getData("text") ?? "")), this.scheduleCommit();
433
434
  },
434
435
  clear() {
435
436
  this.applyUserDigits(""), this.commit();
@@ -439,16 +440,16 @@ var re = 400, ie = 3, ae = {
439
440
  this.commit();
440
441
  return;
441
442
  }
442
- this.digits.length < ie || (this.debounceTimer = setTimeout(() => this.commit(), re));
443
+ this.digits.length < ae || (this.debounceTimer = setTimeout(() => this.commit(), ie));
443
444
  },
444
445
  commit() {
445
446
  clearTimeout(this.debounceTimer), this.digits !== this.lastCommitted && (this.lastCommitted = this.digits, this.$emit("changed"));
446
447
  }
447
448
  }
448
- }, oe = { class: "bb-dashboard-ui flex flex-none" }, se = { class: "flex w-full flex-col border border-white bg-white" }, ce = { class: "relative flex h-full w-full" }, le = { class: "flex w-full h-full items-center justify-center" };
449
- function ue(e, t, n, r, s, c) {
449
+ }, se = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, ce = { class: "bb:flex bb:w-full bb:flex-col bb:border bb:border-white bb:bg-white" }, le = { class: "bb:relative bb:flex bb:h-full bb:w-full" }, ue = { class: "bb:flex bb:w-full bb:h-full bb:items-center bb:justify-center" };
450
+ function de(e, t, n, r, s, c) {
450
451
  let u = f("element-header"), d = f("eraser");
451
- return l(), i("div", oe, [a("div", se, [o(u, {
452
+ return l(), i("div", se, [a("div", ce, [o(u, {
452
453
  text: n.header,
453
454
  "is-required": n.isRequired,
454
455
  "is-loading": n.isLoading
@@ -456,12 +457,12 @@ function ue(e, t, n, r, s, c) {
456
457
  "text",
457
458
  "is-required",
458
459
  "is-loading"
459
- ]), a("div", ce, [a("label", le, [a("input", {
460
+ ]), a("div", le, [a("label", ue, [a("input", {
460
461
  ref: "input",
461
462
  type: "tel",
462
463
  inputmode: "tel",
463
464
  autocomplete: "off",
464
- class: "flex w-phone h-full px-3 py-2 cursor-pointer truncate focus:outline-hidden border-none",
465
+ 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",
465
466
  onFocus: t[0] ||= (...e) => c.onFocus && c.onFocus(...e),
466
467
  onBlur: t[1] ||= (...e) => c.onBlur && c.onBlur(...e),
467
468
  onKeydown: t[2] ||= y((...e) => c.commit && c.commit(...e), ["enter"]),
@@ -469,13 +470,13 @@ function ue(e, t, n, r, s, c) {
469
470
  }, null, 544), v(o(d, {
470
471
  onMousedown: t[4] ||= b(() => {}, ["prevent"]),
471
472
  onClick: c.clear,
472
- class: "pr-2 h-full"
473
+ class: "bb:pr-2 bb:h-full"
473
474
  }, null, 8, ["onClick"]), [[g, s.digits.length > 0]])])])])]);
474
475
  }
475
- var de = /*#__PURE__*/ S(ae, [["render", ue]]), fe = {
476
+ var fe = /*#__PURE__*/ x(oe, [["render", de]]), pe = {
476
477
  components: {
477
- ElementHeader: J,
478
- Eraser: N
478
+ ElementHeader: q,
479
+ Eraser: M
479
480
  },
480
481
  emits: ["update:modelValue", "changed"],
481
482
  props: {
@@ -497,12 +498,14 @@ var de = /*#__PURE__*/ S(ae, [["render", ue]]), fe = {
497
498
  }
498
499
  },
499
500
  data() {
500
- return { search: this.modelValue };
501
+ return { search: this.modelValue ?? "" };
501
502
  },
502
503
  computed: { inputNeedsEraser() {
503
504
  return this.search.length > 0;
504
505
  } },
505
- watch: {},
506
+ watch: { modelValue(e) {
507
+ this.search = e ?? "";
508
+ } },
506
509
  methods: {
507
510
  clearInput() {
508
511
  this.search = "", this.startSearch();
@@ -511,10 +514,10 @@ var de = /*#__PURE__*/ S(ae, [["render", ue]]), fe = {
511
514
  this.$emit("update:modelValue", this.search), this.$emit("changed");
512
515
  }
513
516
  }
514
- }, pe = { class: "bb-dashboard-ui flex flex-none" }, me = { class: "flex w-full flex-col border border-white bg-white" }, he = { class: "relative flex h-full w-full" }, ge = { class: "flex w-full h-full items-center justify-center" };
515
- function _e(e, t, n, r, s, c) {
517
+ }, me = { class: "bb-dashboard-ui bb:flex bb:flex-none" }, he = { 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" }, _e = { class: "bb:flex bb:w-full bb:h-full bb:items-center bb:justify-center" };
518
+ function ve(e, t, n, r, s, c) {
516
519
  let u = f("element-header"), d = f("eraser");
517
- return l(), i("div", pe, [a("div", me, [o(u, {
520
+ return l(), i("div", me, [a("div", he, [o(u, {
518
521
  text: n.header,
519
522
  "is-required": n.isRequired,
520
523
  "is-loading": n.isLoading
@@ -522,8 +525,8 @@ function _e(e, t, n, r, s, c) {
522
525
  "text",
523
526
  "is-required",
524
527
  "is-loading"
525
- ]), a("div", he, [a("label", ge, [v(a("input", {
526
- class: "flex w-full h-full px-3 py-2 cursor-pointer truncate focus:outline-hidden border-none",
528
+ ]), a("div", ge, [a("label", _e, [v(a("input", {
529
+ 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",
527
530
  "onUpdate:modelValue": t[0] ||= (e) => s.search = e,
528
531
  onInput: t[1] ||= (...e) => c.startSearch && c.startSearch(...e)
529
532
  }, null, 544), [[
@@ -533,13 +536,13 @@ function _e(e, t, n, r, s, c) {
533
536
  { trim: !0 }
534
537
  ]]), v(o(d, {
535
538
  onClick: c.clearInput,
536
- class: "pr-2 h-full"
539
+ class: "bb:pr-2 bb:h-full"
537
540
  }, null, 8, ["onClick"]), [[g, c.inputNeedsEraser]])])])])]);
538
541
  }
539
- var ve = /*#__PURE__*/ S(fe, [["render", _e]]), ye = {
542
+ var ye = /*#__PURE__*/ x(pe, [["render", ve]]), be = {
540
543
  components: {
541
- ElementHeader: J,
542
- PickDay: U
544
+ ElementHeader: q,
545
+ PickDay: H
543
546
  },
544
547
  emits: [
545
548
  "update:dateFrom",
@@ -588,10 +591,10 @@ var ve = /*#__PURE__*/ S(fe, [["render", _e]]), ye = {
588
591
  this.$emit("update:dateTo", e), this.dateTo !== e && this.$emit("changed");
589
592
  }
590
593
  }
591
- }, be = { class: "bb-dashboard-ui flex" }, xe = { class: "flex border border-white" }, Se = { class: "flex flex-col min-w-72 w-72 bg-white h-full" }, Ce = { class: "flex h-full divide-x divide-gray-200" };
592
- function we(e, t, n, r, s, c) {
594
+ }, xe = { class: "bb-dashboard-ui bb:flex" }, Se = { class: "bb:flex bb:border bb:border-white" }, Ce = { class: "bb:flex bb:flex-col bb:min-w-72 bb:w-72 bb:bg-white bb:h-full" }, we = { class: "bb:flex bb:h-full bb:divide-x bb:divide-gray-200" };
595
+ function Te(e, t, n, r, s, c) {
593
596
  let u = f("element-header"), d = f("pick-day");
594
- return l(), i("div", be, [a("div", xe, [a("div", Se, [o(u, {
597
+ return l(), i("div", xe, [a("div", Se, [a("div", Ce, [o(u, {
595
598
  text: n.header,
596
599
  "is-required": n.isRequired,
597
600
  "is-loading": n.isLoading
@@ -599,22 +602,22 @@ function we(e, t, n, r, s, c) {
599
602
  "text",
600
603
  "is-required",
601
604
  "is-loading"
602
- ]), a("div", Ce, [o(d, {
605
+ ]), a("div", we, [o(d, {
603
606
  modelValue: s.userDateFrom,
604
607
  "onUpdate:modelValue": t[0] ||= (e) => s.userDateFrom = e,
605
- class: "flex-1 min-w-36 pl-3",
608
+ class: "bb:flex-1 bb:min-w-36 bb:pl-3",
606
609
  "placeholder-text": "от"
607
610
  }, null, 8, ["modelValue"]), o(d, {
608
611
  modelValue: s.userDateTo,
609
612
  "onUpdate:modelValue": t[1] ||= (e) => s.userDateTo = e,
610
- class: "flex-1 min-w-36 pl-3",
613
+ class: "bb:flex-1 bb:min-w-36 bb:pl-3",
611
614
  "placeholder-text": "до"
612
615
  }, null, 8, ["modelValue"])])])])]);
613
616
  }
614
- var Te = /*#__PURE__*/ S(ye, [["render", we]]), Ee = {
617
+ var Ee = /*#__PURE__*/ x(be, [["render", Te]]), De = {
615
618
  components: {
616
- Popup: O,
617
- Eraser: N
619
+ Popup: D,
620
+ Eraser: M
618
621
  },
619
622
  emits: ["update:isOpen", "erased"],
620
623
  props: {
@@ -645,20 +648,20 @@ var Te = /*#__PURE__*/ S(ye, [["render", we]]), Ee = {
645
648
  computed: { needsEraser() {
646
649
  return !this.isOpen && this.hasValue;
647
650
  } }
648
- }, De = { class: "flex flex-col grow bg-white" }, Oe = { class: "relative flex w-full h-full" }, ke = ["textContent"];
649
- function Ae(e, t, s, u, m, h) {
651
+ }, Oe = { class: "bb:flex bb:flex-col bb:grow bb:bg-white" }, ke = { class: "bb:relative bb:flex bb:w-full bb:h-full" }, Ae = ["textContent"];
652
+ function je(e, t, s, u, m, h) {
650
653
  let g = f("eraser"), v = f("popup");
651
- return l(), i("div", De, [a("div", Oe, [a("button", {
654
+ return l(), i("div", Oe, [a("div", ke, [a("button", {
652
655
  type: "button",
653
- class: c(["flex w-full h-full items-center focus:outline-hidden cursor-pointer", { "z-20": s.isOpen }]),
656
+ class: c(["bb:flex bb:w-full bb:h-full bb:items-center bb:focus:outline-hidden bb:cursor-pointer", { "bb:z-20": s.isOpen }]),
654
657
  onClick: t[0] ||= b((t) => e.$emit("update:isOpen", !s.isOpen), ["prevent"])
655
658
  }, [a("span", {
656
- class: "flex w-full h-full pl-3 pr-12 py-2 items-center whitespace-nowrap leading-none",
659
+ 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",
657
660
  textContent: p(s.title)
658
- }, null, 8, ke)], 2), h.needsEraser ? (l(), n(g, {
661
+ }, null, 8, Ae)], 2), h.needsEraser ? (l(), n(g, {
659
662
  key: 0,
660
663
  onClick: t[1] ||= (t) => e.$emit("erased"),
661
- class: "pr-2 h-full"
664
+ class: "bb:pr-2 bb:h-full"
662
665
  })) : r("", !0)]), o(v, {
663
666
  modelValue: m.popupIsOpen,
664
667
  "onUpdate:modelValue": t[2] ||= (e) => m.popupIsOpen = e
@@ -667,7 +670,7 @@ function Ae(e, t, s, u, m, h) {
667
670
  _: 3
668
671
  }, 8, ["modelValue"])]);
669
672
  }
670
- var je = /*#__PURE__*/ S(Ee, [["render", Ae]]), Me = {
673
+ var Me = /*#__PURE__*/ x(De, [["render", je]]), Ne = {
671
674
  props: {
672
675
  isChecked: {
673
676
  type: Boolean,
@@ -679,31 +682,31 @@ var je = /*#__PURE__*/ S(Ee, [["render", Ae]]), Me = {
679
682
  methods: { toggle() {
680
683
  this.$emit("clicked");
681
684
  } }
682
- }, Ne = { class: "flex w-9 h-9 items-center justify-center" }, Pe = {
683
- class: "w-5 h-5 fill-current text-green-300",
685
+ }, Pe = { class: "bb:flex bb:w-9 bb:h-9 bb:items-center bb:justify-center" }, Fe = {
686
+ class: "bb:w-5 bb:h-5 bb:fill-current bb:text-green-300",
684
687
  viewBox: "0 0 20 20"
685
- }, Fe = ["textContent"];
686
- function Ie(e, t, n, r, o, s) {
688
+ }, Ie = ["textContent"];
689
+ function Le(e, t, n, r, o, s) {
687
690
  return l(), i("button", {
688
691
  type: "button",
689
692
  onClick: t[0] ||= b((...e) => s.toggle && s.toggle(...e), ["prevent"]),
690
- class: "flex w-full bg-white hover:bg-indigo-100 cursor-pointer focus:outline-hidden focus:ring-3 focus:z-10 focus:ring-blue-500/50"
691
- }, [a("span", Ne, [v((l(), i("svg", Pe, [...t[1] ||= [a("path", {
693
+ 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"
694
+ }, [a("span", Pe, [v((l(), i("svg", Fe, [...t[1] ||= [a("path", {
692
695
  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",
693
696
  "clip-rule": "evenodd",
694
697
  "fill-rule": "evenodd"
695
698
  }, null, -1)]], 512)), [[g, n.isChecked]])]), a("span", {
696
- class: "flex h-9 justify-center items-center pr-6 whitespace-nowrap select-none",
699
+ class: "bb:flex bb:h-9 bb:justify-center bb:items-center bb:pr-6 bb:whitespace-nowrap bb:select-none",
697
700
  textContent: p(n.name)
698
- }, null, 8, Fe)]);
701
+ }, null, 8, Ie)]);
699
702
  }
700
703
  //#endregion
701
704
  //#region src/components/SelectSingle.vue
702
- var Le = {
705
+ var Re = {
703
706
  components: {
704
- ElementHeader: J,
705
- DropdownButton: je,
706
- ListElement: /* @__PURE__ */ S(Me, [["render", Ie]])
707
+ ElementHeader: q,
708
+ DropdownButton: Me,
709
+ ListElement: /* @__PURE__ */ x(Ne, [["render", Le]])
707
710
  },
708
711
  emits: ["update:modelValue", "changed"],
709
712
  props: {
@@ -732,14 +735,17 @@ var Le = {
732
735
  return { isOpen: !1 };
733
736
  },
734
737
  computed: {
738
+ itemList() {
739
+ return this.items ?? [];
740
+ },
735
741
  activeItem() {
736
- return this.items.find((e) => e.id === this.modelValue) ?? null;
742
+ return this.itemList.find((e) => e.id === this.modelValue) ?? null;
737
743
  },
738
744
  activeItemName() {
739
745
  return this.activeItem === null ? null : this.activeItem.name;
740
746
  },
741
747
  hasItems() {
742
- return this.items.length > 0;
748
+ return this.itemList.length > 0;
743
749
  },
744
750
  hasValue() {
745
751
  return this.activeItem !== null;
@@ -753,10 +759,10 @@ var Le = {
753
759
  this.$emit("update:modelValue", null), this.$emit("changed");
754
760
  }
755
761
  }
756
- }, Re = { class: "bb-dashboard-ui flex flex-none" }, ze = { class: "flex w-full flex-col border border-white bg-white" }, Be = { class: "flex flex-col py-1 mt-1 bg-white border border-gray-200 rounded-md shadow-lg divide-y divide-gray-200 divide-dashed" };
757
- function Ve(t, s, c, d, p, m) {
762
+ }, ze = { 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" }, Ve = { 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" };
763
+ function He(t, s, c, d, p, m) {
758
764
  let h = f("element-header"), g = f("list-element"), v = f("dropdown-button");
759
- return l(), i("div", Re, [a("div", ze, [o(h, {
765
+ return l(), i("div", ze, [a("div", Be, [o(h, {
760
766
  text: c.header,
761
767
  "is-required": c.isRequired,
762
768
  "is-loading": c.isLoading
@@ -772,7 +778,7 @@ function Ve(t, s, c, d, p, m) {
772
778
  "has-value": m.hasValue,
773
779
  onErased: m.clear
774
780
  }, {
775
- default: _(() => [a("div", Be, [(l(!0), i(e, null, u(c.items, (e) => (l(), n(g, {
781
+ default: _(() => [a("div", Ve, [(l(!0), i(e, null, u(m.itemList, (e) => (l(), n(g, {
776
782
  name: e.name,
777
783
  key: e.id,
778
784
  "is-checked": e.id === c.modelValue,
@@ -790,7 +796,7 @@ function Ve(t, s, c, d, p, m) {
790
796
  "onErased"
791
797
  ])) : r("", !0)])]);
792
798
  }
793
- var He = /*#__PURE__*/ S(Le, [["render", Ve]]), Ue = {
799
+ var Ue = /*#__PURE__*/ x(Re, [["render", He]]), We = {
794
800
  props: {
795
801
  text: {
796
802
  type: String,
@@ -829,21 +835,21 @@ var He = /*#__PURE__*/ S(Le, [["render", Ve]]), Ue = {
829
835
  return this.color === "yellow";
830
836
  }
831
837
  }
832
- }, We = ["textContent"];
833
- function Ge(e, t, n, r, a, o) {
838
+ }, Ge = ["textContent"];
839
+ function Ke(e, t, n, r, a, o) {
834
840
  return l(), i("span", {
835
- class: c(["bb-dashboard-ui inline-flex items-center px-3 py-2 rounded-full text-xs font-medium leading-none select-none whitespace-nowrap", {
836
- "bg-green-50 text-gray-700": o.isGreen,
837
- "bg-indigo-100 text-gray-700": o.isIndigo,
838
- "bg-gray-200 text-gray-700": o.isGray,
839
- "bg-blue-100 text-blue-800": o.isBlue,
840
- "bg-red-100 text-red-800": o.isRed,
841
- "bg-yellow-100 text-yellow-800": o.isYellow
841
+ class: c(["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", {
842
+ "bb:bg-green-50 bb:text-gray-700": o.isGreen,
843
+ "bb:bg-indigo-100 bb:text-gray-700": o.isIndigo,
844
+ "bb:bg-gray-200 bb:text-gray-700": o.isGray,
845
+ "bb:bg-blue-100 bb:text-blue-800": o.isBlue,
846
+ "bb:bg-red-100 bb:text-red-800": o.isRed,
847
+ "bb:bg-yellow-100 bb:text-yellow-800": o.isYellow
842
848
  }]),
843
849
  textContent: p(n.text)
844
- }, null, 10, We);
850
+ }, null, 10, Ge);
845
851
  }
846
- var Ke = /*#__PURE__*/ S(Ue, [["render", Ge]]), qe = {
852
+ var qe = /*#__PURE__*/ x(We, [["render", Ke]]), Je = {
847
853
  props: {
848
854
  messages: {
849
855
  type: [Object, Array],
@@ -857,40 +863,40 @@ var Ke = /*#__PURE__*/ S(Ue, [["render", Ge]]), qe = {
857
863
  },
858
864
  computed: {
859
865
  hasErrors() {
860
- return Object.keys(this.messages).length > 0;
866
+ return Object.keys(this.messages ?? {}).length > 0;
861
867
  },
862
868
  isDangerous() {
863
869
  return this.type === "dangerous";
864
870
  }
865
871
  }
866
- }, Je = { class: "flex" }, Ye = { class: "shrink-0" }, Xe = { class: "ml-3" }, Ze = ["textContent"];
867
- function Qe(t, n, o, s, d, f) {
872
+ }, Ye = { class: "bb:flex" }, Xe = { class: "bb:shrink-0" }, Ze = { class: "bb:ml-3" }, Qe = ["textContent"];
873
+ function $e(t, n, o, s, d, f) {
868
874
  return f.hasErrors ? (l(), i("div", {
869
875
  key: 0,
870
- class: c(["bb-dashboard-ui border-l-4 p-4", f.isDangerous ? "bg-red-50 border-red-400" : "bg-yellow-50 border-yellow-400"])
871
- }, [a("div", Je, [a("div", Ye, [(l(), i("svg", {
872
- class: c(["h-5 w-5", f.isDangerous ? "text-red-400" : "text-yellow-400"]),
876
+ class: c(["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"])
877
+ }, [a("div", Ye, [a("div", Xe, [(l(), i("svg", {
878
+ class: c(["bb:h-5 bb:w-5", f.isDangerous ? "bb:text-red-400" : "bb:text-yellow-400"]),
873
879
  viewBox: "0 0 20 20",
874
880
  fill: "currentColor"
875
881
  }, [...n[0] ||= [a("path", {
876
882
  "fill-rule": "evenodd",
877
883
  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",
878
884
  "clip-rule": "evenodd"
879
- }, null, -1)]], 2))]), a("div", Xe, [(l(!0), i(e, null, u(o.messages, (e, t) => (l(), i("p", {
880
- class: c(["text-sm leading-5", f.isDangerous ? "text-red-700" : "text-yellow-700"]),
885
+ }, null, -1)]], 2))]), a("div", Ze, [(l(!0), i(e, null, u(o.messages, (e, t) => (l(), i("p", {
886
+ class: c(["bb:text-sm bb:leading-5", f.isDangerous ? "bb:text-red-700" : "bb:text-yellow-700"]),
881
887
  key: t,
882
888
  textContent: p(e)
883
- }, null, 10, Ze))), 128))])])], 2)) : r("", !0);
889
+ }, null, 10, Qe))), 128))])])], 2)) : r("", !0);
884
890
  }
885
- var $e = /*#__PURE__*/ S(qe, [["render", Qe]]), et = { emits: ["clicked"] };
886
- function tt(e, t, n, r, o, s) {
891
+ var et = /*#__PURE__*/ x(Je, [["render", $e]]), tt = { emits: ["clicked"] };
892
+ function nt(e, t, n, r, o, s) {
887
893
  return l(), i("button", {
888
894
  type: "button",
889
895
  tabindex: "-1",
890
- class: "bb-dashboard-ui flex items-center justify-center bg-transparent cursor-pointer text-gray-400 focus:outline-hidden hover:text-gray-600",
896
+ 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",
891
897
  onClick: t[0] ||= b((t) => e.$emit("clicked"), ["prevent"])
892
898
  }, [...t[1] ||= [a("svg", {
893
- class: "w-full h-full stroke-current",
899
+ class: "bb:w-full bb:h-full bb:stroke-current",
894
900
  fill: "none",
895
901
  viewBox: "0 0 24 24"
896
902
  }, [a("path", {
@@ -900,15 +906,15 @@ function tt(e, t, n, r, o, s) {
900
906
  d: "M6 18L18 6M6 6l12 12"
901
907
  })], -1)]]);
902
908
  }
903
- var nt = /*#__PURE__*/ S(et, [["render", tt]]), rt = {}, it = {
904
- class: "w-4 h-4",
909
+ var rt = /*#__PURE__*/ x(tt, [["render", nt]]), it = {}, at = {
910
+ class: "bb:w-4 bb:h-4",
905
911
  fill: "none",
906
912
  stroke: "currentColor",
907
913
  viewBox: "0 0 24 24",
908
914
  xmlns: "http://www.w3.org/2000/svg"
909
915
  };
910
- function at(e, t, n, r, o, s) {
911
- return l(), i("svg", it, [...t[0] ||= [a("path", {
916
+ function ot(e, t, n, r, o, s) {
917
+ return l(), i("svg", at, [...t[0] ||= [a("path", {
912
918
  "stroke-linecap": "round",
913
919
  "stroke-linejoin": "round",
914
920
  "stroke-width": "2",
@@ -917,8 +923,8 @@ function at(e, t, n, r, o, s) {
917
923
  }
918
924
  //#endregion
919
925
  //#region src/components/DownloadLink.vue
920
- var ot = {
921
- components: { "download-icon": /* @__PURE__ */ S(rt, [["render", at]]) },
926
+ var st = {
927
+ components: { "download-icon": /* @__PURE__ */ x(it, [["render", ot]]) },
922
928
  props: {
923
929
  url: {
924
930
  type: String,
@@ -929,16 +935,16 @@ var ot = {
929
935
  default: "Скачать"
930
936
  }
931
937
  }
932
- }, st = ["href", "title"], ct = { class: "ml-1" };
933
- function lt(e, t, n, r, s, c) {
938
+ }, ct = ["href", "title"], lt = { class: "bb:ml-1" };
939
+ function ut(e, t, n, r, s, c) {
934
940
  let u = f("download-icon");
935
941
  return l(), i("a", {
936
942
  href: n.url,
937
943
  title: n.title,
938
- class: "bb-dashboard-ui inline-flex items-center px-3 py-1.5 rounded-full text-xs font-medium leading-none select-none bg-purple-100 text-purple-800 hover:text-purple-600"
939
- }, [o(u), a("span", ct, p(n.title), 1)], 8, st);
944
+ 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"
945
+ }, [o(u), a("span", lt, p(n.title), 1)], 8, ct);
940
946
  }
941
- var ut = /*#__PURE__*/ S(ot, [["render", lt]]), dt = { props: {
947
+ var dt = /*#__PURE__*/ x(st, [["render", ut]]), ft = { props: {
942
948
  isOpen: {
943
949
  type: Boolean,
944
950
  default: !1
@@ -947,41 +953,41 @@ var ut = /*#__PURE__*/ S(ot, [["render", lt]]), dt = { props: {
947
953
  type: String,
948
954
  required: !0
949
955
  }
950
- } }, ft = { class: "flex items-end justify-center min-h-screen pt-4 px-4 pb-20 text-center sm:block sm:p-0" }, pt = { class: "fixed inset-0 transition-opacity" }, mt = ["aria-labelledby"];
951
- function ht(e, n, r, s, u, f) {
952
- return l(), i("div", { class: c(["bb-dashboard-ui fixed inset-0 overflow-y-auto z-20", { "pointer-events-none": !r.isOpen }]) }, [a("div", ft, [
956
+ } }, pt = { 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" }, mt = { class: "bb:fixed bb:inset-0 bb:transition-opacity" }, ht = ["aria-labelledby"];
957
+ function gt(e, n, r, s, u, f) {
958
+ return l(), i("div", { class: c(["bb-dashboard-ui bb:fixed bb:inset-0 bb:overflow-y-auto bb:z-20", { "bb:pointer-events-none": !r.isOpen }]) }, [a("div", pt, [
953
959
  o(t, {
954
- "enter-active-class": "ease-out duration-300",
955
- "enter-from-class": "opacity-0",
956
- "enter-to-class": "opacity-100",
957
- "leave-active-class": "ease-in duration-200",
958
- "leave-from-class": "opacity-100",
959
- "leave-to-class": "opacity-0"
960
+ "enter-active-class": "bb:ease-out bb:duration-300",
961
+ "enter-from-class": "bb:opacity-0",
962
+ "enter-to-class": "bb:opacity-100",
963
+ "leave-active-class": "bb:ease-in bb:duration-200",
964
+ "leave-from-class": "bb:opacity-100",
965
+ "leave-to-class": "bb:opacity-0"
960
966
  }, {
961
- default: _(() => [v(a("div", pt, [...n[0] ||= [a("div", { class: "absolute inset-0 bg-gray-500 opacity-75" }, null, -1)]], 512), [[g, r.isOpen]])]),
967
+ default: _(() => [v(a("div", mt, [...n[0] ||= [a("div", { class: "bb:absolute bb:inset-0 bb:bg-gray-500 bb:opacity-75" }, null, -1)]], 512), [[g, r.isOpen]])]),
962
968
  _: 1
963
969
  }),
964
- n[1] ||= a("span", { class: "hidden sm:inline-block sm:align-middle sm:h-screen" }, null, -1),
970
+ n[1] ||= a("span", { class: "bb:hidden bb:sm:inline-block bb:sm:align-middle bb:sm:h-screen" }, null, -1),
965
971
  o(t, {
966
- "enter-active-class": "ease-out duration-300",
967
- "enter-from-class": "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95",
968
- "enter-to-class": "opacity-100 translate-y-0 sm:scale-100",
969
- "leave-active-class": "ease-in duration-200",
970
- "leave-from-class": "opacity-100 translate-y-0 sm:scale-100",
971
- "leave-to-class": "opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"
972
+ "enter-active-class": "bb:ease-out bb:duration-300",
973
+ "enter-from-class": "bb:opacity-0 bb:translate-y-4 bb:sm:translate-y-0 bb:sm:scale-95",
974
+ "enter-to-class": "bb:opacity-100 bb:translate-y-0 bb:sm:scale-100",
975
+ "leave-active-class": "bb:ease-in bb:duration-200",
976
+ "leave-from-class": "bb:opacity-100 bb:translate-y-0 bb:sm:scale-100",
977
+ "leave-to-class": "bb:opacity-0 bb:translate-y-4 bb:sm:translate-y-0 bb:sm:scale-95"
972
978
  }, {
973
979
  default: _(() => [v(a("div", {
974
- class: "relative inline-block align-bottom bg-white rounded-lg text-left overflow-visible shadow-xl transition-all sm:my-8 sm:align-middle sm:max-w-lg sm:w-full",
980
+ 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",
975
981
  role: "dialog",
976
982
  "aria-modal": "true",
977
983
  "aria-labelledby": r.headingId
978
- }, [d(e.$slots, "default")], 8, mt), [[g, r.isOpen]])]),
984
+ }, [d(e.$slots, "default")], 8, ht), [[g, r.isOpen]])]),
979
985
  _: 3
980
986
  })
981
987
  ])], 2);
982
988
  }
983
- var gt = /*#__PURE__*/ S(dt, [["render", ht]]), _t = {}, vt = {
984
- class: "h-7 w-7 text-red-600",
989
+ var Q = /*#__PURE__*/ x(ft, [["render", gt]]), _t = {}, vt = {
990
+ class: "bb:h-7 bb:w-7 bb:text-red-600",
985
991
  xmlns: "http://www.w3.org/2000/svg",
986
992
  fill: "none",
987
993
  viewBox: "0 0 24 24",
@@ -996,8 +1002,8 @@ function yt(e, t, n, r, o, s) {
996
1002
  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"
997
1003
  }, null, -1)]]);
998
1004
  }
999
- var bt = /*#__PURE__*/ S(_t, [["render", yt]]), xt = {}, St = {
1000
- class: "h-7 w-7 text-yellow-400",
1005
+ var bt = /*#__PURE__*/ x(_t, [["render", yt]]), xt = {}, St = {
1006
+ class: "bb:h-7 bb:w-7 bb:text-yellow-400",
1001
1007
  xmlns: "http://www.w3.org/2000/svg",
1002
1008
  viewBox: "0 0 20 20",
1003
1009
  fill: "currentColor",
@@ -1014,9 +1020,9 @@ function Ct(e, t, n, r, o, s) {
1014
1020
  //#region src/components/ConfirmationModal.vue
1015
1021
  var wt = {
1016
1022
  components: {
1017
- Modal: gt,
1023
+ Modal: Q,
1018
1024
  Dangerous: bt,
1019
- Warning: /* @__PURE__ */ S(xt, [["render", Ct]])
1025
+ Warning: /* @__PURE__ */ x(xt, [["render", Ct]])
1020
1026
  },
1021
1027
  emits: ["actionConfirmed", "actionCanceled"],
1022
1028
  props: {
@@ -1057,36 +1063,36 @@ var wt = {
1057
1063
  return this.type === "warning";
1058
1064
  }
1059
1065
  }
1060
- }, Tt = { class: "flex bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4" }, Et = { class: "sm:flex sm:items-start" }, $ = { class: "mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left" }, Dt = ["id"], Ot = { class: "mt-2" }, kt = { class: "text-sm text-gray-500" }, At = { class: "bg-gray-50 px-4 py-3 sm:px-6 sm:flex sm:flex-row-reverse" };
1066
+ }, Tt = { class: "bb:flex bb:bg-white bb:px-4 bb:pt-5 bb:pb-4 bb:sm:p-6 bb:sm:pb-4" }, Et = { class: "bb:sm:flex bb:sm:items-start" }, $ = { class: "bb:mt-3 bb:text-center bb:sm:mt-0 bb:sm:ml-4 bb:sm:text-left" }, Dt = ["id"], Ot = { class: "bb:mt-2" }, kt = { class: "bb:text-sm bb:text-gray-500" }, At = { class: "bb:bg-gray-50 bb:px-4 bb:py-3 bb:sm:px-6 bb:sm:flex bb:sm:flex-row-reverse" };
1061
1067
  function jt(e, t, i, o, s, u) {
1062
1068
  let d = f("warning"), m = f("dangerous"), h = f("modal");
1063
1069
  return l(), n(h, {
1064
1070
  "is-open": i.isOpen,
1065
1071
  "heading-id": o.headingId
1066
1072
  }, {
1067
- default: _(() => [a("div", Tt, [a("div", Et, [a("div", { class: c(["mx-auto shrink-0 flex items-center justify-center h-12 w-12 rounded-full sm:mx-0 sm:h-10 sm:w-10", {
1068
- "bg-red-100": u.isDangerous,
1069
- "bg-yellow-100": u.isWarning
1073
+ default: _(() => [a("div", Tt, [a("div", Et, [a("div", { class: c(["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", {
1074
+ "bb:bg-red-100": u.isDangerous,
1075
+ "bb:bg-yellow-100": u.isWarning
1070
1076
  }]) }, [u.isWarning ? (l(), n(d, { key: 0 })) : r("", !0), u.isDangerous ? (l(), n(m, { key: 1 })) : r("", !0)], 2), a("div", $, [a("h3", {
1071
- class: "text-lg leading-6 font-medium text-gray-900",
1077
+ class: "bb:text-lg bb:leading-6 bb:font-medium bb:text-gray-900",
1072
1078
  id: o.headingId
1073
1079
  }, p(i.confirmationHeading), 9, Dt), a("div", Ot, [a("p", kt, p(i.confirmationText), 1)])])])]), a("div", At, [a("button", {
1074
1080
  type: "button",
1075
- class: c(["w-full inline-flex justify-center rounded-md border border-transparent shadow-xs px-4 py-2 text-base font-medium text-white focus:outline-hidden focus:ring-2 focus:ring-offset-2 sm:ml-3 sm:w-auto sm:text-sm", {
1076
- "bg-red-600 hover:bg-red-700 focus:ring-red-500": u.isDangerous,
1077
- "bg-yellow-400 hover:bg-yellow-500 focus:ring-yellow-300": u.isWarning
1081
+ class: c(["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", {
1082
+ "bb:bg-red-600 bb:hover:bg-red-700 bb:focus:ring-red-500": u.isDangerous,
1083
+ "bb:bg-yellow-400 bb:hover:bg-yellow-500 bb:focus:ring-yellow-300": u.isWarning
1078
1084
  }]),
1079
1085
  onClick: t[0] ||= b((t) => e.$emit("actionConfirmed"), ["prevent"])
1080
1086
  }, p(i.actionButtonText), 3), a("button", {
1081
1087
  type: "button",
1082
- class: "mt-3 w-full inline-flex justify-center rounded-md border border-gray-300 shadow-xs px-4 py-2 bg-white text-base font-medium text-gray-700 hover:bg-gray-50 focus:outline-hidden focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 sm:mt-0 sm:ml-3 sm:w-auto sm:text-sm",
1088
+ 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",
1083
1089
  onClick: t[1] ||= b((t) => e.$emit("actionCanceled"), ["prevent"])
1084
1090
  }, p(i.cancelButtonText), 1)])]),
1085
1091
  _: 1
1086
1092
  }, 8, ["is-open", "heading-id"]);
1087
1093
  }
1088
- var Mt = /*#__PURE__*/ S(wt, [["render", jt]]), Nt = {
1089
- components: { Popup: O },
1094
+ var Mt = /*#__PURE__*/ x(wt, [["render", jt]]), Nt = {
1095
+ components: { Popup: D },
1090
1096
  emits: ["update:modelValue"],
1091
1097
  props: { modelValue: {
1092
1098
  type: Boolean,
@@ -1104,22 +1110,22 @@ var Mt = /*#__PURE__*/ S(wt, [["render", jt]]), Nt = {
1104
1110
  methods: { setOpen(e) {
1105
1111
  e !== this.popupIsOpen && (this.popupIsOpen = e, this.$emit("update:modelValue", e));
1106
1112
  } }
1107
- }, Pt = { class: "bb-dashboard-ui relative inline-flex shadow-xs rounded-md" }, Ft = {
1113
+ }, Pt = { class: "bb-dashboard-ui bb:relative bb:inline-flex bb:shadow-xs bb:rounded-md" }, Ft = {
1108
1114
  key: 0,
1109
- class: "-ml-px relative block"
1115
+ class: "bb:-ml-px bb:relative bb:block"
1110
1116
  }, It = ["id"], Lt = ["aria-labelledby"];
1111
1117
  function Rt(e, t, n, s, u, p) {
1112
1118
  let m = f("popup");
1113
1119
  return l(), i("span", Pt, [a("button", {
1114
1120
  type: "button",
1115
- class: c(["relative inline-flex items-center rounded-l-md border border-gray-300 bg-white hover:bg-gray-50 focus:outline-hidden", { "rounded-r-md": !e.$slots.actions }])
1121
+ class: c(["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 }])
1116
1122
  }, [d(e.$slots, "button")], 2), e.$slots.actions ? (l(), i("span", Ft, [a("button", {
1117
1123
  onClick: t[0] ||= b((e) => p.setOpen(!u.popupIsOpen), ["prevent"]),
1118
1124
  id: s.menuButtonId,
1119
1125
  type: "button",
1120
- class: "relative inline-flex items-center px-2 py-2 rounded-r-md border border-gray-300 bg-white text-sm font-medium text-gray-500 hover:bg-gray-50 focus:z-10 focus:outline-hidden focus:ring-1 focus:ring-indigo-500 focus:border-indigo-500"
1121
- }, [...t[1] ||= [a("span", { class: "sr-only" }, "Открыть меню", -1), a("svg", {
1122
- class: "h-5 w-5",
1126
+ 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"
1127
+ }, [...t[1] ||= [a("span", { class: "bb:sr-only" }, "Открыть меню", -1), a("svg", {
1128
+ class: "bb:h-5 bb:w-5",
1123
1129
  xmlns: "http://www.w3.org/2000/svg",
1124
1130
  viewBox: "0 0 20 20",
1125
1131
  fill: "currentColor",
@@ -1129,13 +1135,13 @@ function Rt(e, t, n, s, u, p) {
1129
1135
  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",
1130
1136
  "clip-rule": "evenodd"
1131
1137
  })], -1)]], 8, It), o(m, {
1132
- class: "origin-top-right right-0",
1138
+ class: "bb:origin-top-right bb:right-0",
1133
1139
  "model-value": u.popupIsOpen,
1134
1140
  align: "right",
1135
1141
  "onUpdate:modelValue": p.setOpen
1136
1142
  }, {
1137
1143
  default: _(() => [a("div", {
1138
- class: "mt-1 w-56 rounded-md shadow-lg bg-white ring-1 ring-black/5",
1144
+ class: "bb:mt-1 bb:w-56 bb:rounded-md bb:shadow-lg bb:bg-white bb:ring-1 bb:ring-black/5",
1139
1145
  role: "menu",
1140
1146
  "aria-orientation": "vertical",
1141
1147
  "aria-labelledby": s.menuButtonId
@@ -1143,6 +1149,6 @@ function Rt(e, t, n, s, u, p) {
1143
1149
  _: 3
1144
1150
  }, 8, ["model-value", "onUpdate:modelValue"])])) : r("", !0)]);
1145
1151
  }
1146
- var zt = /*#__PURE__*/ S(Nt, [["render", Rt]]);
1152
+ var zt = /*#__PURE__*/ x(Nt, [["render", Rt]]);
1147
1153
  //#endregion
1148
- export { nt as Closer, Mt as ConfirmationModal, k as Dot, ut as DownloadLink, zt as DropdownButtonWithAction, $e as ErrorMessages, U as PickDay, O as Popup, de as RussianMobileFilter, ve as Search, Te as SelectDateInterval, He as SelectSingle, Ke as SmallBadge };
1154
+ export { rt as Closer, Mt as ConfirmationModal, O as Dot, dt as DownloadLink, zt as DropdownButtonWithAction, et as ErrorMessages, Q as Modal, H as PickDay, D as Popup, fe as RussianMobileFilter, ye as Search, Ee as SelectDateInterval, Ue as SelectSingle, qe as SmallBadge };
package/dist/style.css CHANGED
@@ -1,2 +1,2 @@
1
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-red-800:oklch(44.4% .177 26.899);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-100:oklch(97.3% .071 103.193);--color-yellow-300:oklch(90.5% .182 98.111);--color-yellow-400:oklch(85.2% .199 91.936);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-700:oklch(55.4% .135 66.442);--color-yellow-800:oklch(47.6% .114 61.907);--color-green-50:oklch(98.2% .018 155.826);--color-green-300:oklch(87.1% .15 154.449);--color-green-500:oklch(72.3% .219 149.579);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-800:oklch(42.4% .199 265.638);--color-indigo-100:oklch(93% .034 272.788);--color-indigo-500:oklch(58.5% .233 277.117);--color-purple-100:oklch(94.6% .033 307.174);--color-purple-600:oklch(55.8% .288 302.321);--color-purple-800:oklch(43.8% .218 303.724);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-lg:32rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--font-weight-medium:500;--leading-tight:1.25;--radius-md:.375rem;--radius-lg:.5rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--container-phone:calc(19ch + 16px)}}@layer base;@layer components{.bb-dashboard-ui,.bb-dashboard-ui *,.bb-dashboard-ui :before,.bb-dashboard-ui :after{box-sizing:border-box;border:0 solid;margin:0;padding:0}.bb-dashboard-ui button,.bb-dashboard-ui input,button.bb-dashboard-ui{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}.bb-dashboard-ui button,button.bb-dashboard-ui{appearance:button}.bb-dashboard-ui a,a.bb-dashboard-ui{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}.bb-dashboard-ui input{appearance:none}.bb-dashboard-ui input:focus{box-shadow:none}.bb-dashboard-ui ::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){.bb-dashboard-ui ::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}.bb-dashboard-ui ::placeholder{opacity:1}}@layer utilities{.pointer-events-none{pointer-events:none}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.top-0{top:0}.right-0{right:0}.left-0{left:0}.z-10{z-index:10}.z-20{z-index:20}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.-ml-px{margin-left:-1px}.ml-1{margin-left:var(--spacing)}.ml-3{margin-left:calc(var(--spacing) * 3)}.block{display:block}.flex{display:flex}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-2{height:calc(var(--spacing) * 2)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-7{height:calc(var(--spacing) * 7)}.h-9{height:calc(var(--spacing) * 9)}.h-12{height:calc(var(--spacing) * 12)}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-2{width:calc(var(--spacing) * 2)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-7{width:calc(var(--spacing) * 7)}.w-9{width:calc(var(--spacing) * 9)}.w-12{width:calc(var(--spacing) * 12)}.w-56{width:calc(var(--spacing) * 56)}.w-72{width:calc(var(--spacing) * 72)}.w-full{width:100%}.w-phone{width:var(--container-phone)}.min-w-24{min-width:calc(var(--spacing) * 24)}.min-w-36{min-width:calc(var(--spacing) * 36)}.min-w-72{min-width:calc(var(--spacing) * 72)}.flex-1{flex:1}.flex-none{flex:none}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-top-right{transform-origin:100% 0}.translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-4{--tw-translate-y:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.animate-pulse{animation:var(--animate-pulse)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-dashed>:not(:last-child)){--tw-border-style:dashed;border-style:dashed}:where(.divide-gray-200>:not(:last-child)){border-color:var(--color-gray-200)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-l-md{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.rounded-r-md{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-none{--tw-border-style:none;border-style:none}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-red-400{border-color:var(--color-red-400)}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.border-yellow-400{border-color:var(--color-yellow-400)}.bg-blue-100{background-color:var(--color-blue-100)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-gray-500{background-color:var(--color-gray-500)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-green-50{background-color:var(--color-green-50)}.bg-indigo-100{background-color:var(--color-indigo-100)}.bg-purple-100{background-color:var(--color-purple-100)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-600{background-color:var(--color-red-600)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-yellow-100{background-color:var(--color-yellow-100)}.bg-yellow-400{background-color:var(--color-yellow-400)}.fill-current{fill:currentColor}.stroke-current{stroke:currentColor}.p-4{padding:calc(var(--spacing) * 4)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-6{padding-right:calc(var(--spacing) * 6)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.align-bottom{vertical-align:bottom}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.whitespace-nowrap{white-space:nowrap}.text-blue-800{color:var(--color-blue-800)}.text-gray-300{color:var(--color-gray-300)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-green-300{color:var(--color-green-300)}.text-green-500{color:var(--color-green-500)}.text-purple-800{color:var(--color-purple-800)}.text-red-400{color:var(--color-red-400)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-700{color:var(--color-red-700)}.text-red-800{color:var(--color-red-800)}.text-white{color:var(--color-white)}.text-yellow-400{color:var(--color-yellow-400)}.text-yellow-700{color:var(--color-yellow-700)}.text-yellow-800{color:var(--color-yellow-800)}.placeholder-gray-300::placeholder{color:var(--color-gray-300)}.opacity-0{opacity:0}.opacity-75{opacity:.75}.opacity-100{opacity:1}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-black\/5{--tw-ring-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.ring-black\/5{--tw-ring-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.select-none{-webkit-user-select:none;user-select:none}.placeholder\:text-sm::placeholder{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}@media (hover:hover){.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-indigo-100:hover{background-color:var(--color-indigo-100)}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:bg-yellow-500:hover{background-color:var(--color-yellow-500)}.hover\:text-gray-400:hover{color:var(--color-gray-400)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-purple-600:hover{color:var(--color-purple-600)}}.focus\:z-10:focus{z-index:10}.focus\:border-indigo-500:focus{border-color:var(--color-indigo-500)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-3:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-blue-500\/50:focus{--tw-ring-color:#3080ff80}@supports (color:color-mix(in lab, red, red)){.focus\:ring-blue-500\/50:focus{--tw-ring-color:color-mix(in oklab, var(--color-blue-500) 50%, transparent)}}.focus\:ring-indigo-500:focus{--tw-ring-color:var(--color-indigo-500)}.focus\:ring-red-500:focus{--tw-ring-color:var(--color-red-500)}.focus\:ring-yellow-300:focus{--tw-ring-color:var(--color-yellow-300)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}@media (width>=40rem){.sm\:mx-0{margin-inline:0}.sm\:my-8{margin-block:calc(var(--spacing) * 8)}.sm\:mt-0{margin-top:0}.sm\:ml-3{margin-left:calc(var(--spacing) * 3)}.sm\:ml-4{margin-left:calc(var(--spacing) * 4)}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:inline-block{display:inline-block}.sm\:h-10{height:calc(var(--spacing) * 10)}.sm\:h-screen{height:100vh}.sm\:w-10{width:calc(var(--spacing) * 10)}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-lg{max-width:var(--container-lg)}.sm\:translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.sm\:scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.sm\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.sm\:flex-row-reverse{flex-direction:row-reverse}.sm\:items-start{align-items:flex-start}.sm\:p-0{padding:0}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:pb-4{padding-bottom:calc(var(--spacing) * 4)}.sm\:text-left{text-align:left}.sm\:align-middle{vertical-align:middle}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}.pika-single{z-index:9999;color:#333;background:#fff;border:1px solid #ccc;border-bottom-color:#bbb;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;display:block;position:relative}.pika-single:before,.pika-single:after{content:" ";display:table}.pika-single:after{clear:both}.pika-single.is-hidden{display:none}.pika-single.is-bound{position:absolute;box-shadow:0 5px 15px -5px #00000080}.pika-lendar{float:left;width:240px;margin:8px}.pika-title{text-align:center;position:relative}.pika-label{z-index:9999;background-color:#fff;margin:0;padding:5px 3px;font-size:14px;font-weight:700;line-height:20px;display:inline-block;position:relative;overflow:hidden}.pika-title select{cursor:pointer;z-index:9998;opacity:0;margin:0;position:absolute;top:5px;left:0}.pika-prev,.pika-next{cursor:pointer;text-indent:20px;white-space:nowrap;opacity:.5;background-color:#0000;background-position:50%;background-repeat:no-repeat;background-size:75% 75%;border:0;outline:none;width:20px;height:30px;padding:0;display:block;position:relative;overflow:hidden}.pika-prev:hover,.pika-next:hover{opacity:1}.pika-prev,.is-rtl .pika-next{float:left;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==)}.pika-next,.is-rtl .pika-prev{float:right;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=)}.pika-prev.is-disabled,.pika-next.is-disabled{cursor:default;opacity:.2}.pika-select{display:inline-block}.pika-table{border-collapse:collapse;border-spacing:0;border:0;width:100%}.pika-table th,.pika-table td{width:14.2857%;padding:0}.pika-table th{color:#999;text-align:center;font-size:12px;font-weight:700;line-height:25px}.pika-button{cursor:pointer;box-sizing:border-box;color:#666;text-align:right;width:100%;height:initial;background:#f5f5f5;border:0;outline:none;margin:0;padding:5px;font-size:12px;line-height:15px;display:block}.pika-week{color:#999;font-size:11px}.is-today .pika-button{color:#3af;font-weight:700}.is-selected .pika-button,.has-event .pika-button{color:#fff;background:#3af;border-radius:3px;font-weight:700;box-shadow:inset 0 1px 3px #178fe5}.has-event .pika-button{background:#005da9;box-shadow:inset 0 1px 3px #0076c9}.is-disabled .pika-button,.is-inrange .pika-button{background:#d5e9f7}.is-startrange .pika-button{color:#fff;box-shadow:none;background:#6cb31d;border-radius:3px}.is-endrange .pika-button{color:#fff;box-shadow:none;background:#3af;border-radius:3px}.is-disabled .pika-button{pointer-events:none;cursor:default;color:#999;opacity:.3}.is-outside-current-month .pika-button{color:#999;opacity:.3}.is-selection-disabled{pointer-events:none;cursor:default}.pika-button:hover,.pika-row.pick-whole-week:hover .pika-button{color:#fff;box-shadow:none;background:#ff8000;border-radius:3px}.pika-table abbr{cursor:help;border-bottom:none}
1
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--bb-color-red-50:oklch(97.1% .013 17.38);--bb-color-red-100:oklch(93.6% .032 17.717);--bb-color-red-400:oklch(70.4% .191 22.216);--bb-color-red-500:oklch(63.7% .237 25.331);--bb-color-red-600:oklch(57.7% .245 27.325);--bb-color-red-700:oklch(50.5% .213 27.518);--bb-color-red-800:oklch(44.4% .177 26.899);--bb-color-yellow-50:oklch(98.7% .026 102.212);--bb-color-yellow-100:oklch(97.3% .071 103.193);--bb-color-yellow-300:oklch(90.5% .182 98.111);--bb-color-yellow-400:oklch(85.2% .199 91.936);--bb-color-yellow-500:oklch(79.5% .184 86.047);--bb-color-yellow-700:oklch(55.4% .135 66.442);--bb-color-yellow-800:oklch(47.6% .114 61.907);--bb-color-green-50:oklch(98.2% .018 155.826);--bb-color-green-300:oklch(87.1% .15 154.449);--bb-color-green-500:oklch(72.3% .219 149.579);--bb-color-blue-100:oklch(93.2% .032 255.585);--bb-color-blue-500:oklch(62.3% .214 259.815);--bb-color-blue-800:oklch(42.4% .199 265.638);--bb-color-indigo-100:oklch(93% .034 272.788);--bb-color-indigo-500:oklch(58.5% .233 277.117);--bb-color-purple-100:oklch(94.6% .033 307.174);--bb-color-purple-600:oklch(55.8% .288 302.321);--bb-color-purple-800:oklch(43.8% .218 303.724);--bb-color-gray-50:oklch(98.5% .002 247.839);--bb-color-gray-200:oklch(92.8% .006 264.531);--bb-color-gray-300:oklch(87.2% .01 258.338);--bb-color-gray-400:oklch(70.7% .022 261.325);--bb-color-gray-500:oklch(55.1% .027 264.364);--bb-color-gray-600:oklch(44.6% .03 256.802);--bb-color-gray-700:oklch(37.3% .034 259.733);--bb-color-gray-900:oklch(21% .034 264.665);--bb-color-black:#000;--bb-color-white:#fff;--bb-spacing:.25rem;--bb-container-lg:32rem;--bb-text-xs:.75rem;--bb-text-xs--line-height:calc(1 / .75);--bb-text-sm:.875rem;--bb-text-sm--line-height:calc(1.25 / .875);--bb-text-base:1rem;--bb-text-base--line-height:calc(1.5 / 1);--bb-text-lg:1.125rem;--bb-text-lg--line-height:calc(1.75 / 1.125);--bb-text-4xl:2.25rem;--bb-text-4xl--line-height:calc(2.5 / 2.25);--bb-font-weight-medium:500;--bb-leading-tight:1.25;--bb-radius-md:.375rem;--bb-radius-lg:.5rem;--bb-ease-in:cubic-bezier(.4, 0, 1, 1);--bb-ease-out:cubic-bezier(0, 0, .2, 1);--bb-animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--bb-default-transition-duration:.15s;--bb-default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--bb-container-phone:calc(19ch + 16px)}}@layer base;@layer components{.bb-dashboard-ui,.bb-dashboard-ui *,.bb-dashboard-ui :before,.bb-dashboard-ui :after{box-sizing:border-box;border:0 solid;margin:0;padding:0}.bb-dashboard-ui button,.bb-dashboard-ui input,button.bb-dashboard-ui{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}.bb-dashboard-ui button,button.bb-dashboard-ui{appearance:button}.bb-dashboard-ui a,a.bb-dashboard-ui{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}.bb-dashboard-ui input{appearance:none}.bb-dashboard-ui input:focus{box-shadow:none}.bb-dashboard-ui ::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){.bb-dashboard-ui ::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}.bb-dashboard-ui ::placeholder{opacity:1}}@layer utilities{.bb\:pointer-events-none{pointer-events:none}.bb\:sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.bb\:absolute{position:absolute}.bb\:fixed{position:fixed}.bb\:relative{position:relative}.bb\:inset-0{inset:0}.bb\:top-0{top:0}.bb\:right-0{right:0}.bb\:left-0{left:0}.bb\:z-10{z-index:10}.bb\:z-20{z-index:20}.bb\:mx-auto{margin-inline:auto}.bb\:mt-1{margin-top:var(--bb-spacing)}.bb\:mt-2{margin-top:calc(var(--bb-spacing) * 2)}.bb\:mt-3{margin-top:calc(var(--bb-spacing) * 3)}.bb\:-ml-px{margin-left:-1px}.bb\:ml-1{margin-left:var(--bb-spacing)}.bb\:ml-3{margin-left:calc(var(--bb-spacing) * 3)}.bb\:block{display:block}.bb\:flex{display:flex}.bb\:hidden{display:none}.bb\:inline-block{display:inline-block}.bb\:inline-flex{display:inline-flex}.bb\:h-2{height:calc(var(--bb-spacing) * 2)}.bb\:h-4{height:calc(var(--bb-spacing) * 4)}.bb\:h-5{height:calc(var(--bb-spacing) * 5)}.bb\:h-6{height:calc(var(--bb-spacing) * 6)}.bb\:h-7{height:calc(var(--bb-spacing) * 7)}.bb\:h-9{height:calc(var(--bb-spacing) * 9)}.bb\:h-12{height:calc(var(--bb-spacing) * 12)}.bb\:h-full{height:100%}.bb\:min-h-screen{min-height:100vh}.bb\:w-2{width:calc(var(--bb-spacing) * 2)}.bb\:w-4{width:calc(var(--bb-spacing) * 4)}.bb\:w-5{width:calc(var(--bb-spacing) * 5)}.bb\:w-6{width:calc(var(--bb-spacing) * 6)}.bb\:w-7{width:calc(var(--bb-spacing) * 7)}.bb\:w-9{width:calc(var(--bb-spacing) * 9)}.bb\:w-12{width:calc(var(--bb-spacing) * 12)}.bb\:w-56{width:calc(var(--bb-spacing) * 56)}.bb\:w-72{width:calc(var(--bb-spacing) * 72)}.bb\:w-full{width:100%}.bb\:w-phone{width:var(--bb-container-phone)}.bb\:min-w-24{min-width:calc(var(--bb-spacing) * 24)}.bb\:min-w-36{min-width:calc(var(--bb-spacing) * 36)}.bb\:min-w-72{min-width:calc(var(--bb-spacing) * 72)}.bb\:flex-1{flex:1}.bb\:flex-none{flex:none}.bb\:shrink-0{flex-shrink:0}.bb\:grow{flex-grow:1}.bb\:origin-top-right{transform-origin:100% 0}.bb\:translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.bb\:translate-y-4{--tw-translate-y:calc(var(--bb-spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.bb\:scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.bb\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.bb\:animate-pulse{animation:var(--bb-animate-pulse)}.bb\:cursor-default{cursor:default}.bb\:cursor-pointer{cursor:pointer}.bb\:flex-col{flex-direction:column}.bb\:items-center{align-items:center}.bb\:items-end{align-items:flex-end}.bb\:items-start{align-items:flex-start}.bb\:justify-between{justify-content:space-between}.bb\:justify-center{justify-content:center}:where(.bb\:divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}:where(.bb\:divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.bb\:divide-dashed>:not(:last-child)){--tw-border-style:dashed;border-style:dashed}:where(.bb\:divide-gray-200>:not(:last-child)){border-color:var(--bb-color-gray-200)}.bb\:truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bb\:overflow-visible{overflow:visible}.bb\:overflow-y-auto{overflow-y:auto}.bb\:rounded-full{border-radius:2147483647px}.bb\:rounded-lg{border-radius:var(--bb-radius-lg)}.bb\:rounded-md{border-radius:var(--bb-radius-md)}.bb\:rounded-l-md{border-top-left-radius:var(--bb-radius-md);border-bottom-left-radius:var(--bb-radius-md)}.bb\:rounded-r-md{border-top-right-radius:var(--bb-radius-md);border-bottom-right-radius:var(--bb-radius-md)}.bb\:border{border-style:var(--tw-border-style);border-width:1px}.bb\:border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.bb\:border-none{--tw-border-style:none;border-style:none}.bb\:border-gray-200{border-color:var(--bb-color-gray-200)}.bb\:border-gray-300{border-color:var(--bb-color-gray-300)}.bb\:border-red-400{border-color:var(--bb-color-red-400)}.bb\:border-transparent{border-color:#0000}.bb\:border-white{border-color:var(--bb-color-white)}.bb\:border-yellow-400{border-color:var(--bb-color-yellow-400)}.bb\:bg-blue-100{background-color:var(--bb-color-blue-100)}.bb\:bg-gray-50{background-color:var(--bb-color-gray-50)}.bb\:bg-gray-200{background-color:var(--bb-color-gray-200)}.bb\:bg-gray-500{background-color:var(--bb-color-gray-500)}.bb\:bg-gray-900{background-color:var(--bb-color-gray-900)}.bb\:bg-green-50{background-color:var(--bb-color-green-50)}.bb\:bg-indigo-100{background-color:var(--bb-color-indigo-100)}.bb\:bg-purple-100{background-color:var(--bb-color-purple-100)}.bb\:bg-red-50{background-color:var(--bb-color-red-50)}.bb\:bg-red-100{background-color:var(--bb-color-red-100)}.bb\:bg-red-600{background-color:var(--bb-color-red-600)}.bb\:bg-transparent{background-color:#0000}.bb\:bg-white{background-color:var(--bb-color-white)}.bb\:bg-yellow-50{background-color:var(--bb-color-yellow-50)}.bb\:bg-yellow-100{background-color:var(--bb-color-yellow-100)}.bb\:bg-yellow-400{background-color:var(--bb-color-yellow-400)}.bb\:fill-current{fill:currentColor}.bb\:stroke-current{stroke:currentColor}.bb\:p-4{padding:calc(var(--bb-spacing) * 4)}.bb\:px-2{padding-inline:calc(var(--bb-spacing) * 2)}.bb\:px-3{padding-inline:calc(var(--bb-spacing) * 3)}.bb\:px-4{padding-inline:calc(var(--bb-spacing) * 4)}.bb\:py-1{padding-block:var(--bb-spacing)}.bb\:py-1\.5{padding-block:calc(var(--bb-spacing) * 1.5)}.bb\:py-2{padding-block:calc(var(--bb-spacing) * 2)}.bb\:py-3{padding-block:calc(var(--bb-spacing) * 3)}.bb\:pt-4{padding-top:calc(var(--bb-spacing) * 4)}.bb\:pt-5{padding-top:calc(var(--bb-spacing) * 5)}.bb\:pr-2{padding-right:calc(var(--bb-spacing) * 2)}.bb\:pr-3{padding-right:calc(var(--bb-spacing) * 3)}.bb\:pr-6{padding-right:calc(var(--bb-spacing) * 6)}.bb\:pr-12{padding-right:calc(var(--bb-spacing) * 12)}.bb\:pb-4{padding-bottom:calc(var(--bb-spacing) * 4)}.bb\:pb-20{padding-bottom:calc(var(--bb-spacing) * 20)}.bb\:pl-3{padding-left:calc(var(--bb-spacing) * 3)}.bb\:text-center{text-align:center}.bb\:text-left{text-align:left}.bb\:align-bottom{vertical-align:bottom}.bb\:text-4xl{font-size:var(--bb-text-4xl);line-height:var(--tw-leading,var(--bb-text-4xl--line-height))}.bb\:text-base{font-size:var(--bb-text-base);line-height:var(--tw-leading,var(--bb-text-base--line-height))}.bb\:text-lg{font-size:var(--bb-text-lg);line-height:var(--tw-leading,var(--bb-text-lg--line-height))}.bb\:text-sm{font-size:var(--bb-text-sm);line-height:var(--tw-leading,var(--bb-text-sm--line-height))}.bb\:text-xs{font-size:var(--bb-text-xs);line-height:var(--tw-leading,var(--bb-text-xs--line-height))}.bb\:leading-5{--tw-leading:calc(var(--bb-spacing) * 5);line-height:calc(var(--bb-spacing) * 5)}.bb\:leading-6{--tw-leading:calc(var(--bb-spacing) * 6);line-height:calc(var(--bb-spacing) * 6)}.bb\:leading-none{--tw-leading:1;line-height:1}.bb\:leading-tight{--tw-leading:var(--bb-leading-tight);line-height:var(--bb-leading-tight)}.bb\:font-medium{--tw-font-weight:var(--bb-font-weight-medium);font-weight:var(--bb-font-weight-medium)}.bb\:whitespace-nowrap{white-space:nowrap}.bb\:text-blue-800{color:var(--bb-color-blue-800)}.bb\:text-gray-300{color:var(--bb-color-gray-300)}.bb\:text-gray-400{color:var(--bb-color-gray-400)}.bb\:text-gray-500{color:var(--bb-color-gray-500)}.bb\:text-gray-700{color:var(--bb-color-gray-700)}.bb\:text-gray-900{color:var(--bb-color-gray-900)}.bb\:text-green-300{color:var(--bb-color-green-300)}.bb\:text-green-500{color:var(--bb-color-green-500)}.bb\:text-purple-800{color:var(--bb-color-purple-800)}.bb\:text-red-400{color:var(--bb-color-red-400)}.bb\:text-red-500{color:var(--bb-color-red-500)}.bb\:text-red-600{color:var(--bb-color-red-600)}.bb\:text-red-700{color:var(--bb-color-red-700)}.bb\:text-red-800{color:var(--bb-color-red-800)}.bb\:text-white{color:var(--bb-color-white)}.bb\:text-yellow-400{color:var(--bb-color-yellow-400)}.bb\:text-yellow-700{color:var(--bb-color-yellow-700)}.bb\:text-yellow-800{color:var(--bb-color-yellow-800)}.bb\:placeholder-gray-300::placeholder{color:var(--bb-color-gray-300)}.bb\:opacity-0{opacity:0}.bb\:opacity-75{opacity:.75}.bb\:opacity-100{opacity:1}.bb\:shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.bb\:shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.bb\:shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.bb\:ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.bb\:ring-black\/5{--tw-ring-color:var(--bb-color-black)}@supports (color:color-mix(in lab, red, red)){.bb\:ring-black\/5{--tw-ring-color:color-mix(in oklab, var(--bb-color-black) 5%, transparent)}}.bb\:transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--bb-default-transition-timing-function));transition-duration:var(--tw-duration,var(--bb-default-transition-duration))}.bb\:transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--bb-default-transition-timing-function));transition-duration:var(--tw-duration,var(--bb-default-transition-duration))}.bb\:transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--bb-default-transition-timing-function));transition-duration:var(--tw-duration,var(--bb-default-transition-duration))}.bb\:duration-75{--tw-duration:75ms;transition-duration:75ms}.bb\:duration-100{--tw-duration:.1s;transition-duration:.1s}.bb\:duration-200{--tw-duration:.2s;transition-duration:.2s}.bb\:duration-300{--tw-duration:.3s;transition-duration:.3s}.bb\:ease-in{--tw-ease:var(--bb-ease-in);transition-timing-function:var(--bb-ease-in)}.bb\:ease-out{--tw-ease:var(--bb-ease-out);transition-timing-function:var(--bb-ease-out)}.bb\:select-none{-webkit-user-select:none;user-select:none}.bb\:placeholder\:text-sm::placeholder{font-size:var(--bb-text-sm);line-height:var(--tw-leading,var(--bb-text-sm--line-height))}@media (hover:hover){.bb\:hover\:bg-gray-50:hover{background-color:var(--bb-color-gray-50)}.bb\:hover\:bg-indigo-100:hover{background-color:var(--bb-color-indigo-100)}.bb\:hover\:bg-red-700:hover{background-color:var(--bb-color-red-700)}.bb\:hover\:bg-yellow-500:hover{background-color:var(--bb-color-yellow-500)}.bb\:hover\:text-gray-400:hover{color:var(--bb-color-gray-400)}.bb\:hover\:text-gray-600:hover{color:var(--bb-color-gray-600)}.bb\:hover\:text-purple-600:hover{color:var(--bb-color-purple-600)}}.bb\:focus\:z-10:focus{z-index:10}.bb\:focus\:border-indigo-500:focus{border-color:var(--bb-color-indigo-500)}.bb\:focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.bb\:focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.bb\:focus\:ring-3:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.bb\:focus\:ring-blue-500\/50:focus{--tw-ring-color:var(--bb-color-blue-500)}@supports (color:color-mix(in lab, red, red)){.bb\:focus\:ring-blue-500\/50:focus{--tw-ring-color:color-mix(in oklab, var(--bb-color-blue-500) 50%, transparent)}}.bb\:focus\:ring-indigo-500:focus{--tw-ring-color:var(--bb-color-indigo-500)}.bb\:focus\:ring-red-500:focus{--tw-ring-color:var(--bb-color-red-500)}.bb\:focus\:ring-yellow-300:focus{--tw-ring-color:var(--bb-color-yellow-300)}.bb\:focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.bb\:focus\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.bb\:focus\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}@media (width>=40rem){.bb\:sm\:mx-0{margin-inline:0}.bb\:sm\:my-8{margin-block:calc(var(--bb-spacing) * 8)}.bb\:sm\:mt-0{margin-top:0}.bb\:sm\:ml-3{margin-left:calc(var(--bb-spacing) * 3)}.bb\:sm\:ml-4{margin-left:calc(var(--bb-spacing) * 4)}.bb\:sm\:block{display:block}.bb\:sm\:flex{display:flex}.bb\:sm\:inline-block{display:inline-block}.bb\:sm\:h-10{height:calc(var(--bb-spacing) * 10)}.bb\:sm\:h-screen{height:100vh}.bb\:sm\:w-10{width:calc(var(--bb-spacing) * 10)}.bb\:sm\:w-auto{width:auto}.bb\:sm\:w-full{width:100%}.bb\:sm\:max-w-lg{max-width:var(--bb-container-lg)}.bb\:sm\:translate-y-0{--tw-translate-y:0px;translate:var(--tw-translate-x) var(--tw-translate-y)}.bb\:sm\:scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.bb\:sm\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.bb\:sm\:flex-row-reverse{flex-direction:row-reverse}.bb\:sm\:items-start{align-items:flex-start}.bb\:sm\:p-0{padding:0}.bb\:sm\:p-6{padding:calc(var(--bb-spacing) * 6)}.bb\:sm\:px-6{padding-inline:calc(var(--bb-spacing) * 6)}.bb\:sm\:pb-4{padding-bottom:calc(var(--bb-spacing) * 4)}.bb\:sm\:text-left{text-align:left}.bb\:sm\:align-middle{vertical-align:middle}.bb\:sm\:text-sm{font-size:var(--bb-text-sm);line-height:var(--tw-leading,var(--bb-text-sm--line-height))}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}.pika-single{z-index:9999;color:#333;background:#fff;border:1px solid #ccc;border-bottom-color:#bbb;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;display:block;position:relative}.pika-single:before,.pika-single:after{content:" ";display:table}.pika-single:after{clear:both}.pika-single.is-hidden{display:none}.pika-single.is-bound{position:absolute;box-shadow:0 5px 15px -5px #00000080}.pika-lendar{float:left;width:240px;margin:8px}.pika-title{text-align:center;position:relative}.pika-label{z-index:9999;background-color:#fff;margin:0;padding:5px 3px;font-size:14px;font-weight:700;line-height:20px;display:inline-block;position:relative;overflow:hidden}.pika-title select{cursor:pointer;z-index:9998;opacity:0;margin:0;position:absolute;top:5px;left:0}.pika-prev,.pika-next{cursor:pointer;text-indent:20px;white-space:nowrap;opacity:.5;background-color:#0000;background-position:50%;background-repeat:no-repeat;background-size:75% 75%;border:0;outline:none;width:20px;height:30px;padding:0;display:block;position:relative;overflow:hidden}.pika-prev:hover,.pika-next:hover{opacity:1}.pika-prev,.is-rtl .pika-next{float:left;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAUklEQVR42u3VMQoAIBADQf8Pgj+OD9hG2CtONJB2ymQkKe0HbwAP0xucDiQWARITIDEBEnMgMQ8S8+AqBIl6kKgHiXqQqAeJepBo/z38J/U0uAHlaBkBl9I4GwAAAABJRU5ErkJggg==)}.pika-next,.is-rtl .pika-prev{float:right;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAeCAYAAAAsEj5rAAAAU0lEQVR42u3VOwoAMAgE0dwfAnNjU26bYkBCFGwfiL9VVWoO+BJ4Gf3gtsEKKoFBNTCoCAYVwaAiGNQGMUHMkjGbgjk2mIONuXo0nC8XnCf1JXgArVIZAQh5TKYAAAAASUVORK5CYII=)}.pika-prev.is-disabled,.pika-next.is-disabled{cursor:default;opacity:.2}.pika-select{display:inline-block}.pika-table{border-collapse:collapse;border-spacing:0;border:0;width:100%}.pika-table th,.pika-table td{width:14.2857%;padding:0}.pika-table th{color:#999;text-align:center;font-size:12px;font-weight:700;line-height:25px}.pika-button{cursor:pointer;box-sizing:border-box;color:#666;text-align:right;width:100%;height:initial;background:#f5f5f5;border:0;outline:none;margin:0;padding:5px;font-size:12px;line-height:15px;display:block}.pika-week{color:#999;font-size:11px}.is-today .pika-button{color:#3af;font-weight:700}.is-selected .pika-button,.has-event .pika-button{color:#fff;background:#3af;border-radius:3px;font-weight:700;box-shadow:inset 0 1px 3px #178fe5}.has-event .pika-button{background:#005da9;box-shadow:inset 0 1px 3px #0076c9}.is-disabled .pika-button,.is-inrange .pika-button{background:#d5e9f7}.is-startrange .pika-button{color:#fff;box-shadow:none;background:#6cb31d;border-radius:3px}.is-endrange .pika-button{color:#fff;box-shadow:none;background:#3af;border-radius:3px}.is-disabled .pika-button{pointer-events:none;cursor:default;color:#999;opacity:.3}.is-outside-current-month .pika-button{color:#999;opacity:.3}.is-selection-disabled{pointer-events:none;cursor:default}.pika-button:hover,.pika-row.pick-whole-week:hover .pika-button{color:#fff;box-shadow:none;background:#ff8000;border-radius:3px}.pika-table abbr{cursor:help;border-bottom:none}
2
2
  /*$vite$:1*/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@boobooking/dashboard-ui-components",
3
- "version": "0.5.0",
3
+ "version": "0.7.0",
4
4
  "description": "Компоненты дашборда на Vue 3",
5
5
  "keywords": [
6
6
  "vue",