@boobooking/dashboard-ui-components 0.2.1 → 0.4.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 +104 -6
- package/dist/index.js +374 -79
- package/dist/style.css +1 -1
- package/package.json +5 -3
package/README.md
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# @boobooking/dashboard-ui-components
|
|
2
2
|
|
|
3
|
-
Компоненты
|
|
4
|
-
интервал дат.
|
|
3
|
+
Компоненты дашборда на Vue 3: фильтры и общие элементы интерфейса.
|
|
5
4
|
|
|
6
5
|
## Установка
|
|
7
6
|
|
|
@@ -16,15 +15,18 @@ import '@boobooking/dashboard-ui-components/style.css'
|
|
|
16
15
|
|
|
17
16
|
## Требования
|
|
18
17
|
|
|
19
|
-
Vue не ниже 3.
|
|
18
|
+
Vue не ниже 3.5, ESM, сборщик, умеющий импорт CSS из пакета. Версия 3.5 нужна
|
|
19
|
+
ради `useId()`: им компоненты связывают свои `id` с `aria-`атрибутами, и две
|
|
20
|
+
копии компонента на одной странице не делят один `id`.
|
|
20
21
|
|
|
21
22
|
Tailwind, `@tailwindcss/forms`, Inertia и какие-либо токены в CSS приложения
|
|
22
23
|
пакету не нужны.
|
|
23
24
|
|
|
24
25
|
## Компоненты
|
|
25
26
|
|
|
26
|
-
Пакет экспортирует
|
|
27
|
-
`RussianMobileFilter`, `Search`, `SelectDateInterval`, `SelectSingle
|
|
27
|
+
Пакет экспортирует двенадцать компонентов: `Popup`, `Dot`, `PickDay`,
|
|
28
|
+
`RussianMobileFilter`, `Search`, `SelectDateInterval`, `SelectSingle`,
|
|
29
|
+
`SmallBadge`, `ErrorMessages`, `Closer`, `DownloadLink`, `ConfirmationModal`. В
|
|
28
30
|
архив пакета (`files: ["dist"]`) исходники не попадают, поэтому контракт
|
|
29
31
|
каждого компонента — здесь и в playground, а не в исходном коде.
|
|
30
32
|
|
|
@@ -166,6 +168,83 @@ Tailwind, `@tailwindcss/forms`, Inertia и какие-либо токены в C
|
|
|
166
168
|
События: `update:modelValue` и `changed` — при выборе элемента (повторный
|
|
167
169
|
клик по уже выбранному снимает выбор) и при очистке через ластик.
|
|
168
170
|
|
|
171
|
+
### SmallBadge
|
|
172
|
+
|
|
173
|
+
Бейдж-пилюля с коротким текстом. Текст не переносится.
|
|
174
|
+
|
|
175
|
+
<small-badge text="Отправлено" color="green" />
|
|
176
|
+
|
|
177
|
+
| Проп | Тип | По умолчанию | Описание |
|
|
178
|
+
| --- | --- | --- | --- |
|
|
179
|
+
| `text` | `String` | обязателен | Текст бейджа |
|
|
180
|
+
| `color` | `String` | обязателен | `"green"`, `"indigo"`, `"gray"`, `"blue"`, `"red"` или `"yellow"` |
|
|
181
|
+
|
|
182
|
+
Событий нет.
|
|
183
|
+
|
|
184
|
+
### ErrorMessages
|
|
185
|
+
|
|
186
|
+
Плашка со списком сообщений: жёлтая для предупреждений, красная для ошибок.
|
|
187
|
+
Без сообщений не отрисовывается вовсе.
|
|
188
|
+
|
|
189
|
+
<error-messages :messages="errors" type="dangerous" />
|
|
190
|
+
|
|
191
|
+
| Проп | Тип | По умолчанию | Описание |
|
|
192
|
+
| --- | --- | --- | --- |
|
|
193
|
+
| `messages` | `Object \| Array` | обязателен | Объект ошибок валидации (ключ — поле, значение — текст) или массив строк |
|
|
194
|
+
| `type` | `String` | `"warning"` | `"warning"` (жёлтая) или `"dangerous"` (красная) |
|
|
195
|
+
|
|
196
|
+
Событий нет.
|
|
197
|
+
|
|
198
|
+
### Closer
|
|
199
|
+
|
|
200
|
+
Кнопка-крестик закрытия. Размер и положение задаёт приложение классами на
|
|
201
|
+
корне: без них у крестика нулевой размер.
|
|
202
|
+
|
|
203
|
+
<closer class="absolute top-0 right-0 w-8 h-8" @clicked="close" />
|
|
204
|
+
|
|
205
|
+
Пропов нет. Событие: `clicked` — по клику.
|
|
206
|
+
|
|
207
|
+
### DownloadLink
|
|
208
|
+
|
|
209
|
+
Ссылка на файл в виде бейджа с иконкой скачивания. Кликабелен весь бейдж.
|
|
210
|
+
|
|
211
|
+
<download-link :url="exportUrl" title="скачать xlsx" />
|
|
212
|
+
|
|
213
|
+
| Проп | Тип | По умолчанию | Описание |
|
|
214
|
+
| --- | --- | --- | --- |
|
|
215
|
+
| `url` | `String` | обязателен | Адрес файла |
|
|
216
|
+
| `title` | `String` | `"Скачать"` | Подпись и всплывающая подсказка |
|
|
217
|
+
|
|
218
|
+
Событий нет.
|
|
219
|
+
|
|
220
|
+
### ConfirmationModal
|
|
221
|
+
|
|
222
|
+
Модалка подтверждения действия: заголовок, текст, кнопка действия и кнопка
|
|
223
|
+
отмены.
|
|
224
|
+
|
|
225
|
+
<confirmation-modal
|
|
226
|
+
:is-open="showDelete"
|
|
227
|
+
type="dangerous"
|
|
228
|
+
confirmation-heading="Удаление администратора"
|
|
229
|
+
confirmation-text="Это действие необратимо."
|
|
230
|
+
action-button-text="Удалить"
|
|
231
|
+
@action-canceled="showDelete = false"
|
|
232
|
+
@action-confirmed="deleteUser"
|
|
233
|
+
/>
|
|
234
|
+
|
|
235
|
+
| Проп | Тип | По умолчанию | Описание |
|
|
236
|
+
| --- | --- | --- | --- |
|
|
237
|
+
| `isOpen` | `Boolean` | `false` | Открыта ли модалка |
|
|
238
|
+
| `type` | `String` | `"warning"` | `"warning"` (жёлтая) или `"dangerous"` (красная) |
|
|
239
|
+
| `confirmationHeading` | `String` | `""` | Заголовок |
|
|
240
|
+
| `confirmationText` | `String` | `""` | Текст под заголовком |
|
|
241
|
+
| `cancelButtonText` | `String` | `"Отмена"` | Подпись кнопки отмены |
|
|
242
|
+
| `actionButtonText` | `String` | обязателен | Подпись кнопки действия |
|
|
243
|
+
|
|
244
|
+
События: `actionConfirmed` — по кнопке действия, `actionCanceled` — по кнопке
|
|
245
|
+
отмены. Ни одна из кнопок модалку не закрывает — см. раздел «Почему у
|
|
246
|
+
ConfirmationModal нет v-model».
|
|
247
|
+
|
|
169
248
|
## Правила API пакета
|
|
170
249
|
|
|
171
250
|
Компонент, добавляемый в пакет, следует тем же правилам, что и уже
|
|
@@ -205,11 +284,22 @@ Tailwind, `@tailwindcss/forms`, Inertia и какие-либо токены в C
|
|
|
205
284
|
Отсутствие `changed` у `Popup` и `Dot` — сознательное решение, а не
|
|
206
285
|
пропуск.
|
|
207
286
|
|
|
287
|
+
## Почему у ConfirmationModal нет v-model
|
|
288
|
+
|
|
289
|
+
Правило пакета — значение через `v-model` — относится к состоянию, которое
|
|
290
|
+
компонент меняет сам: `Popup` закрывается по клику вне, `SelectSingle` меняет
|
|
291
|
+
выбор. `ConfirmationModal` свою видимость не меняет никогда. Обе кнопки только
|
|
292
|
+
сообщают родителю решение пользователя, а закрыть модалку, оставить её открытой
|
|
293
|
+
на время запроса или открыть следующую — решает родитель.
|
|
294
|
+
|
|
295
|
+
`v-model` обещал бы двустороннюю связь, которой нет, поэтому видимость
|
|
296
|
+
передаётся пропом `isOpen`.
|
|
297
|
+
|
|
208
298
|
## Playground
|
|
209
299
|
|
|
210
300
|
npm run playground
|
|
211
301
|
|
|
212
|
-
Поднимает демо-страницы со всеми
|
|
302
|
+
Поднимает демо-страницы со всеми двенадцатью компонентами в двух окружениях:
|
|
213
303
|
голом (без Tailwind и стилей приложения) и в окружении приложения (с
|
|
214
304
|
Tailwind, `@tailwindcss/forms` и типографикой, как у потребителя). Это
|
|
215
305
|
основной способ посмотреть, как компоненты выглядят и ведут себя, а не
|
|
@@ -235,3 +325,11 @@ Tailwind, `@tailwindcss/forms` и типографикой, как у потре
|
|
|
235
325
|
Ресет пакета распространяется и на содержимое слотов — разметку приложения
|
|
236
326
|
внутри `Popup`. В приложении с preflight это ничего не меняет; без него
|
|
237
327
|
содержимое слота получит `box-sizing` и снятые границы.
|
|
328
|
+
|
|
329
|
+
У `Closer` нет доступного имени, и он выключен из порядка табуляции
|
|
330
|
+
(`tabindex="-1"`): скринридер его не назовёт, а с клавиатуры до него не
|
|
331
|
+
добраться.
|
|
332
|
+
|
|
333
|
+
`ConfirmationModal` не переносит фокус внутрь при открытии, не удерживает его
|
|
334
|
+
внутри, не возвращает на прежнее место после закрытия и не закрывается по
|
|
335
|
+
Escape.
|
package/dist/index.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
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,
|
|
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
|
|
3
|
+
import x from "imask";
|
|
4
4
|
//#region \0plugin-vue:export-helper
|
|
5
|
-
var
|
|
5
|
+
var S = (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
|
-
},
|
|
9
|
+
}, C = {
|
|
10
10
|
props: {
|
|
11
11
|
isOpen: {
|
|
12
12
|
type: Boolean,
|
|
@@ -33,21 +33,21 @@ var x = (e, t) => {
|
|
|
33
33
|
document.removeEventListener("keydown", this.handleEscape);
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
|
-
function
|
|
37
|
-
return
|
|
36
|
+
function w(e, t, n, r, a, o) {
|
|
37
|
+
return v((l(), i("button", {
|
|
38
38
|
tabindex: "-1",
|
|
39
|
-
onClick: t[0] ||=
|
|
39
|
+
onClick: t[0] ||= b((...e) => o.closeOverlay && o.closeOverlay(...e), ["prevent"]),
|
|
40
40
|
class: c(["fixed inset-0 w-full h-full cursor-default flex items-start", {
|
|
41
41
|
"z-20": n.isOpen,
|
|
42
42
|
"bg-transparent": n.isTransparent,
|
|
43
43
|
"bg-gray-900 opacity-75": !n.isTransparent
|
|
44
44
|
}])
|
|
45
|
-
}, null, 2)), [[
|
|
45
|
+
}, null, 2)), [[g, n.isOpen]]);
|
|
46
46
|
}
|
|
47
47
|
//#endregion
|
|
48
48
|
//#region src/components/Popup.vue
|
|
49
|
-
var
|
|
50
|
-
components: { Overlay: /* @__PURE__ */
|
|
49
|
+
var T = {
|
|
50
|
+
components: { Overlay: /* @__PURE__ */ S(C, [["render", w]]) },
|
|
51
51
|
inheritAttrs: !1,
|
|
52
52
|
emits: ["update:modelValue"],
|
|
53
53
|
props: {
|
|
@@ -80,10 +80,10 @@ var w = {
|
|
|
80
80
|
return this.align === "right";
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
-
},
|
|
84
|
-
function
|
|
83
|
+
}, E = { class: "bb-dashboard-ui relative" };
|
|
84
|
+
function D(e, n, r, c, u, p) {
|
|
85
85
|
let m = f("overlay");
|
|
86
|
-
return l(), i("div",
|
|
86
|
+
return l(), i("div", E, [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, {
|
|
@@ -94,14 +94,14 @@ function E(e, n, r, c, u, p) {
|
|
|
94
94
|
"leave-from-class": "opacity-100 scale-100",
|
|
95
95
|
"leave-to-class": "opacity-0 scale-95"
|
|
96
96
|
}, {
|
|
97
|
-
default:
|
|
97
|
+
default: _(() => [v(a("div", s(e.$attrs, { class: ["absolute z-20", {
|
|
98
98
|
"left-0": p.alignLeft,
|
|
99
99
|
"right-0": p.alignRight
|
|
100
|
-
}] }), [d(e.$slots, "default")], 16), [[
|
|
100
|
+
}] }), [d(e.$slots, "default")], 16), [[g, r.modelValue]])]),
|
|
101
101
|
_: 3
|
|
102
102
|
})]);
|
|
103
103
|
}
|
|
104
|
-
var
|
|
104
|
+
var O = /*#__PURE__*/ S(T, [["render", D]]), te = {
|
|
105
105
|
props: {
|
|
106
106
|
withPulse: {
|
|
107
107
|
type: Boolean,
|
|
@@ -122,7 +122,7 @@ var D = /*#__PURE__*/ x(w, [["render", E]]), O = {
|
|
|
122
122
|
}
|
|
123
123
|
}
|
|
124
124
|
};
|
|
125
|
-
function
|
|
125
|
+
function ne(e, t, n, r, o, s) {
|
|
126
126
|
return l(), i("div", { class: c(["bb-dashboard-ui flex h-full items-center leading-none text-4xl", {
|
|
127
127
|
"text-red-500": s.isRed,
|
|
128
128
|
"text-green-500": s.isGreen,
|
|
@@ -136,7 +136,7 @@ function te(e, t, n, r, o, s) {
|
|
|
136
136
|
r: "45"
|
|
137
137
|
})], -1)]], 2);
|
|
138
138
|
}
|
|
139
|
-
var k = /*#__PURE__*/
|
|
139
|
+
var k = /*#__PURE__*/ S(te, [["render", ne]]), A = {}, j = {
|
|
140
140
|
type: "button",
|
|
141
141
|
tabindex: "-1",
|
|
142
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"
|
|
@@ -153,7 +153,7 @@ 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__*/
|
|
156
|
+
var N = /*#__PURE__*/ S(A, [["render", M]]);
|
|
157
157
|
//#endregion
|
|
158
158
|
//#region src/date.js
|
|
159
159
|
function P(e) {
|
|
@@ -169,7 +169,7 @@ function F(e) {
|
|
|
169
169
|
//#region src/components/PickDay.vue
|
|
170
170
|
var I = {
|
|
171
171
|
components: {
|
|
172
|
-
Popup:
|
|
172
|
+
Popup: O,
|
|
173
173
|
Eraser: N
|
|
174
174
|
},
|
|
175
175
|
emits: ["update:modelValue", "changed"],
|
|
@@ -303,11 +303,11 @@ function H(e, t, s, u, d, p) {
|
|
|
303
303
|
modelValue: d.popupIsOpen,
|
|
304
304
|
"onUpdate:modelValue": t[1] ||= (e) => d.popupIsOpen = e
|
|
305
305
|
}, {
|
|
306
|
-
default:
|
|
306
|
+
default: _(() => [a("div", V, null, 512)]),
|
|
307
307
|
_: 1
|
|
308
308
|
}, 8, ["modelValue"])]);
|
|
309
309
|
}
|
|
310
|
-
var U = /*#__PURE__*/
|
|
310
|
+
var U = /*#__PURE__*/ S(I, [["render", H]]), W = {
|
|
311
311
|
components: { Dot: k },
|
|
312
312
|
props: {
|
|
313
313
|
text: {
|
|
@@ -331,18 +331,18 @@ function q(e, t, n, r, s, c) {
|
|
|
331
331
|
class: "flex flex-1 h-full items-center text-xs text-gray-500 whitespace-nowrap truncate leading-tight select-none",
|
|
332
332
|
textContent: p(n.text)
|
|
333
333
|
}, null, 8, K),
|
|
334
|
-
|
|
334
|
+
v(o(u, {
|
|
335
335
|
color: "red",
|
|
336
336
|
"with-pulse": !0,
|
|
337
337
|
class: "ml-3"
|
|
338
|
-
}, null, 512), [[
|
|
339
|
-
|
|
338
|
+
}, null, 512), [[g, n.isLoading]]),
|
|
339
|
+
v(o(u, {
|
|
340
340
|
color: "red",
|
|
341
341
|
class: "ml-3"
|
|
342
|
-
}, null, 512), [[
|
|
342
|
+
}, null, 512), [[g, n.isRequired]])
|
|
343
343
|
]);
|
|
344
344
|
}
|
|
345
|
-
var J = /*#__PURE__*/
|
|
345
|
+
var J = /*#__PURE__*/ S(W, [["render", q]]), Y = 10;
|
|
346
346
|
function X(e) {
|
|
347
347
|
let t = e.replace(/\D/g, "");
|
|
348
348
|
return (t.startsWith("7") || t.startsWith("8")) && t[1] === "9" && (t = t.slice(1)), t.slice(0, Y);
|
|
@@ -356,7 +356,7 @@ function Q(e) {
|
|
|
356
356
|
}
|
|
357
357
|
//#endregion
|
|
358
358
|
//#region src/components/RussianMobileFilter.vue
|
|
359
|
-
var
|
|
359
|
+
var re = 400, ie = 3, ae = {
|
|
360
360
|
components: {
|
|
361
361
|
ElementHeader: J,
|
|
362
362
|
Eraser: N
|
|
@@ -387,7 +387,7 @@ var ne = 400, re = 3, ie = {
|
|
|
387
387
|
this.mask = null, this.debounceTimer = null, this.isWritingProgrammatically = !1, this.lastCommitted = Q(this.modelValue);
|
|
388
388
|
},
|
|
389
389
|
mounted() {
|
|
390
|
-
this.mask =
|
|
390
|
+
this.mask = x(this.$refs.input, {
|
|
391
391
|
mask: "+7 (000) 000 00 00",
|
|
392
392
|
lazy: !0,
|
|
393
393
|
prepare: (e, t) => t.unmaskedValue === "" && (e === "7" || e === "8") ? "" : e
|
|
@@ -439,16 +439,16 @@ var ne = 400, re = 3, ie = {
|
|
|
439
439
|
this.commit();
|
|
440
440
|
return;
|
|
441
441
|
}
|
|
442
|
-
this.digits.length <
|
|
442
|
+
this.digits.length < ie || (this.debounceTimer = setTimeout(() => this.commit(), re));
|
|
443
443
|
},
|
|
444
444
|
commit() {
|
|
445
445
|
clearTimeout(this.debounceTimer), this.digits !== this.lastCommitted && (this.lastCommitted = this.digits, this.$emit("changed"));
|
|
446
446
|
}
|
|
447
447
|
}
|
|
448
|
-
},
|
|
449
|
-
function
|
|
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) {
|
|
450
450
|
let u = f("element-header"), d = f("eraser");
|
|
451
|
-
return l(), i("div",
|
|
451
|
+
return l(), i("div", oe, [a("div", se, [o(u, {
|
|
452
452
|
text: n.header,
|
|
453
453
|
"is-required": n.isRequired,
|
|
454
454
|
"is-loading": n.isLoading
|
|
@@ -456,7 +456,7 @@ function le(e, t, n, r, s, c) {
|
|
|
456
456
|
"text",
|
|
457
457
|
"is-required",
|
|
458
458
|
"is-loading"
|
|
459
|
-
]), a("div",
|
|
459
|
+
]), a("div", ce, [a("label", le, [a("input", {
|
|
460
460
|
ref: "input",
|
|
461
461
|
type: "tel",
|
|
462
462
|
inputmode: "tel",
|
|
@@ -464,15 +464,15 @@ function le(e, t, n, r, s, c) {
|
|
|
464
464
|
class: "flex w-phone h-full px-3 py-2 cursor-pointer truncate focus:outline-hidden border-none",
|
|
465
465
|
onFocus: t[0] ||= (...e) => c.onFocus && c.onFocus(...e),
|
|
466
466
|
onBlur: t[1] ||= (...e) => c.onBlur && c.onBlur(...e),
|
|
467
|
-
onKeydown: t[2] ||=
|
|
468
|
-
onPaste: t[3] ||=
|
|
469
|
-
}, null, 544),
|
|
470
|
-
onMousedown: t[4] ||=
|
|
467
|
+
onKeydown: t[2] ||= y((...e) => c.commit && c.commit(...e), ["enter"]),
|
|
468
|
+
onPaste: t[3] ||= b((...e) => c.onPaste && c.onPaste(...e), ["prevent"])
|
|
469
|
+
}, null, 544), v(o(d, {
|
|
470
|
+
onMousedown: t[4] ||= b(() => {}, ["prevent"]),
|
|
471
471
|
onClick: c.clear,
|
|
472
472
|
class: "pr-2 h-full"
|
|
473
|
-
}, null, 8, ["onClick"]), [[
|
|
473
|
+
}, null, 8, ["onClick"]), [[g, s.digits.length > 0]])])])])]);
|
|
474
474
|
}
|
|
475
|
-
var
|
|
475
|
+
var de = /*#__PURE__*/ S(ae, [["render", ue]]), fe = {
|
|
476
476
|
components: {
|
|
477
477
|
ElementHeader: J,
|
|
478
478
|
Eraser: N
|
|
@@ -511,10 +511,10 @@ var ue = /*#__PURE__*/ x(ie, [["render", le]]), de = {
|
|
|
511
511
|
this.$emit("update:modelValue", this.search), this.$emit("changed");
|
|
512
512
|
}
|
|
513
513
|
}
|
|
514
|
-
},
|
|
515
|
-
function
|
|
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) {
|
|
516
516
|
let u = f("element-header"), d = f("eraser");
|
|
517
|
-
return l(), i("div",
|
|
517
|
+
return l(), i("div", pe, [a("div", me, [o(u, {
|
|
518
518
|
text: n.header,
|
|
519
519
|
"is-required": n.isRequired,
|
|
520
520
|
"is-loading": n.isLoading
|
|
@@ -522,21 +522,21 @@ function ge(e, t, n, r, s, c) {
|
|
|
522
522
|
"text",
|
|
523
523
|
"is-required",
|
|
524
524
|
"is-loading"
|
|
525
|
-
]), a("div",
|
|
525
|
+
]), a("div", he, [a("label", ge, [v(a("input", {
|
|
526
526
|
class: "flex w-full h-full px-3 py-2 cursor-pointer truncate focus:outline-hidden border-none",
|
|
527
527
|
"onUpdate:modelValue": t[0] ||= (e) => s.search = e,
|
|
528
528
|
onInput: t[1] ||= (...e) => c.startSearch && c.startSearch(...e)
|
|
529
529
|
}, null, 544), [[
|
|
530
|
-
|
|
530
|
+
h,
|
|
531
531
|
s.search,
|
|
532
532
|
void 0,
|
|
533
533
|
{ trim: !0 }
|
|
534
|
-
]]),
|
|
534
|
+
]]), v(o(d, {
|
|
535
535
|
onClick: c.clearInput,
|
|
536
536
|
class: "pr-2 h-full"
|
|
537
|
-
}, null, 8, ["onClick"]), [[
|
|
537
|
+
}, null, 8, ["onClick"]), [[g, c.inputNeedsEraser]])])])])]);
|
|
538
538
|
}
|
|
539
|
-
var
|
|
539
|
+
var ve = /*#__PURE__*/ S(fe, [["render", _e]]), ye = {
|
|
540
540
|
components: {
|
|
541
541
|
ElementHeader: J,
|
|
542
542
|
PickDay: U
|
|
@@ -588,10 +588,10 @@ var _e = /*#__PURE__*/ x(de, [["render", ge]]), ve = {
|
|
|
588
588
|
this.$emit("update:dateTo", e), this.dateTo !== e && this.$emit("changed");
|
|
589
589
|
}
|
|
590
590
|
}
|
|
591
|
-
},
|
|
592
|
-
function
|
|
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) {
|
|
593
593
|
let u = f("element-header"), d = f("pick-day");
|
|
594
|
-
return l(), i("div",
|
|
594
|
+
return l(), i("div", be, [a("div", xe, [a("div", Se, [o(u, {
|
|
595
595
|
text: n.header,
|
|
596
596
|
"is-required": n.isRequired,
|
|
597
597
|
"is-loading": n.isLoading
|
|
@@ -599,7 +599,7 @@ function Ce(e, t, n, r, s, c) {
|
|
|
599
599
|
"text",
|
|
600
600
|
"is-required",
|
|
601
601
|
"is-loading"
|
|
602
|
-
]), a("div",
|
|
602
|
+
]), a("div", Ce, [o(d, {
|
|
603
603
|
modelValue: s.userDateFrom,
|
|
604
604
|
"onUpdate:modelValue": t[0] ||= (e) => s.userDateFrom = e,
|
|
605
605
|
class: "flex-1 min-w-36 pl-3",
|
|
@@ -611,9 +611,9 @@ function Ce(e, t, n, r, s, c) {
|
|
|
611
611
|
"placeholder-text": "до"
|
|
612
612
|
}, null, 8, ["modelValue"])])])])]);
|
|
613
613
|
}
|
|
614
|
-
var
|
|
614
|
+
var Te = /*#__PURE__*/ S(ye, [["render", we]]), Ee = {
|
|
615
615
|
components: {
|
|
616
|
-
Popup:
|
|
616
|
+
Popup: O,
|
|
617
617
|
Eraser: N
|
|
618
618
|
},
|
|
619
619
|
emits: ["update:isOpen", "erased"],
|
|
@@ -645,17 +645,17 @@ var we = /*#__PURE__*/ x(ve, [["render", Ce]]), Te = {
|
|
|
645
645
|
computed: { needsEraser() {
|
|
646
646
|
return !this.isOpen && this.hasValue;
|
|
647
647
|
} }
|
|
648
|
-
},
|
|
649
|
-
function
|
|
650
|
-
let
|
|
651
|
-
return l(), i("div",
|
|
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) {
|
|
650
|
+
let g = f("eraser"), v = f("popup");
|
|
651
|
+
return l(), i("div", De, [a("div", Oe, [a("button", {
|
|
652
652
|
type: "button",
|
|
653
653
|
class: c(["flex w-full h-full items-center focus:outline-hidden cursor-pointer", { "z-20": s.isOpen }]),
|
|
654
|
-
onClick: t[0] ||=
|
|
654
|
+
onClick: t[0] ||= b((t) => e.$emit("update:isOpen", !s.isOpen), ["prevent"])
|
|
655
655
|
}, [a("span", {
|
|
656
656
|
class: "flex w-full h-full pl-3 pr-12 py-2 items-center whitespace-nowrap leading-none",
|
|
657
657
|
textContent: p(s.title)
|
|
658
|
-
}, null, 8,
|
|
658
|
+
}, null, 8, ke)], 2), h.needsEraser ? (l(), n(g, {
|
|
659
659
|
key: 0,
|
|
660
660
|
onClick: t[1] ||= (t) => e.$emit("erased"),
|
|
661
661
|
class: "pr-2 h-full"
|
|
@@ -663,11 +663,11 @@ function Oe(e, t, s, u, m, h) {
|
|
|
663
663
|
modelValue: m.popupIsOpen,
|
|
664
664
|
"onUpdate:modelValue": t[2] ||= (e) => m.popupIsOpen = e
|
|
665
665
|
}, {
|
|
666
|
-
default:
|
|
666
|
+
default: _(() => [d(e.$slots, "default")]),
|
|
667
667
|
_: 3
|
|
668
668
|
}, 8, ["modelValue"])]);
|
|
669
669
|
}
|
|
670
|
-
var
|
|
670
|
+
var je = /*#__PURE__*/ S(Ee, [["render", Ae]]), Me = {
|
|
671
671
|
props: {
|
|
672
672
|
isChecked: {
|
|
673
673
|
type: Boolean,
|
|
@@ -679,31 +679,31 @@ var ke = /*#__PURE__*/ x(Te, [["render", Oe]]), Ae = {
|
|
|
679
679
|
methods: { toggle() {
|
|
680
680
|
this.$emit("clicked");
|
|
681
681
|
} }
|
|
682
|
-
},
|
|
682
|
+
}, Ne = { class: "flex w-9 h-9 items-center justify-center" }, Pe = {
|
|
683
683
|
class: "w-5 h-5 fill-current text-green-300",
|
|
684
684
|
viewBox: "0 0 20 20"
|
|
685
|
-
},
|
|
686
|
-
function
|
|
685
|
+
}, Fe = ["textContent"];
|
|
686
|
+
function Ie(e, t, n, r, o, s) {
|
|
687
687
|
return l(), i("button", {
|
|
688
688
|
type: "button",
|
|
689
|
-
onClick: t[0] ||=
|
|
689
|
+
onClick: t[0] ||= b((...e) => s.toggle && s.toggle(...e), ["prevent"]),
|
|
690
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",
|
|
691
|
+
}, [a("span", Ne, [v((l(), i("svg", Pe, [...t[1] ||= [a("path", {
|
|
692
692
|
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
693
|
"clip-rule": "evenodd",
|
|
694
694
|
"fill-rule": "evenodd"
|
|
695
|
-
}, null, -1)]], 512)), [[
|
|
695
|
+
}, null, -1)]], 512)), [[g, n.isChecked]])]), a("span", {
|
|
696
696
|
class: "flex h-9 justify-center items-center pr-6 whitespace-nowrap select-none",
|
|
697
697
|
textContent: p(n.name)
|
|
698
|
-
}, null, 8,
|
|
698
|
+
}, null, 8, Fe)]);
|
|
699
699
|
}
|
|
700
700
|
//#endregion
|
|
701
701
|
//#region src/components/SelectSingle.vue
|
|
702
|
-
var
|
|
702
|
+
var Le = {
|
|
703
703
|
components: {
|
|
704
704
|
ElementHeader: J,
|
|
705
|
-
DropdownButton:
|
|
706
|
-
ListElement: /* @__PURE__ */
|
|
705
|
+
DropdownButton: je,
|
|
706
|
+
ListElement: /* @__PURE__ */ S(Me, [["render", Ie]])
|
|
707
707
|
},
|
|
708
708
|
emits: ["update:modelValue", "changed"],
|
|
709
709
|
props: {
|
|
@@ -753,10 +753,10 @@ var Fe = {
|
|
|
753
753
|
this.$emit("update:modelValue", null), this.$emit("changed");
|
|
754
754
|
}
|
|
755
755
|
}
|
|
756
|
-
},
|
|
757
|
-
function
|
|
758
|
-
let h = f("element-header"),
|
|
759
|
-
return l(), i("div",
|
|
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) {
|
|
758
|
+
let h = f("element-header"), g = f("list-element"), v = f("dropdown-button");
|
|
759
|
+
return l(), i("div", Re, [a("div", ze, [o(h, {
|
|
760
760
|
text: c.header,
|
|
761
761
|
"is-required": c.isRequired,
|
|
762
762
|
"is-loading": c.isLoading
|
|
@@ -772,7 +772,7 @@ function ze(t, s, c, d, p, m) {
|
|
|
772
772
|
"has-value": m.hasValue,
|
|
773
773
|
onErased: m.clear
|
|
774
774
|
}, {
|
|
775
|
-
default:
|
|
775
|
+
default: _(() => [a("div", Be, [(l(!0), i(e, null, u(c.items, (e) => (l(), n(g, {
|
|
776
776
|
name: e.name,
|
|
777
777
|
key: e.id,
|
|
778
778
|
"is-checked": e.id === c.modelValue,
|
|
@@ -790,6 +790,301 @@ function ze(t, s, c, d, p, m) {
|
|
|
790
790
|
"onErased"
|
|
791
791
|
])) : r("", !0)])]);
|
|
792
792
|
}
|
|
793
|
-
var
|
|
793
|
+
var He = /*#__PURE__*/ S(Le, [["render", Ve]]), Ue = {
|
|
794
|
+
props: {
|
|
795
|
+
text: {
|
|
796
|
+
type: String,
|
|
797
|
+
required: !0
|
|
798
|
+
},
|
|
799
|
+
color: {
|
|
800
|
+
type: String,
|
|
801
|
+
required: !0,
|
|
802
|
+
validator: (e) => [
|
|
803
|
+
"green",
|
|
804
|
+
"indigo",
|
|
805
|
+
"gray",
|
|
806
|
+
"blue",
|
|
807
|
+
"red",
|
|
808
|
+
"yellow"
|
|
809
|
+
].indexOf(e) !== -1
|
|
810
|
+
}
|
|
811
|
+
},
|
|
812
|
+
computed: {
|
|
813
|
+
isGreen() {
|
|
814
|
+
return this.color === "green";
|
|
815
|
+
},
|
|
816
|
+
isIndigo() {
|
|
817
|
+
return this.color === "indigo";
|
|
818
|
+
},
|
|
819
|
+
isGray() {
|
|
820
|
+
return this.color === "gray";
|
|
821
|
+
},
|
|
822
|
+
isBlue() {
|
|
823
|
+
return this.color === "blue";
|
|
824
|
+
},
|
|
825
|
+
isRed() {
|
|
826
|
+
return this.color === "red";
|
|
827
|
+
},
|
|
828
|
+
isYellow() {
|
|
829
|
+
return this.color === "yellow";
|
|
830
|
+
}
|
|
831
|
+
}
|
|
832
|
+
}, We = ["textContent"];
|
|
833
|
+
function Ge(e, t, n, r, a, o) {
|
|
834
|
+
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
|
|
842
|
+
}]),
|
|
843
|
+
textContent: p(n.text)
|
|
844
|
+
}, null, 10, We);
|
|
845
|
+
}
|
|
846
|
+
var Ke = /*#__PURE__*/ S(Ue, [["render", Ge]]), qe = {
|
|
847
|
+
props: {
|
|
848
|
+
messages: {
|
|
849
|
+
type: [Object, Array],
|
|
850
|
+
required: !0
|
|
851
|
+
},
|
|
852
|
+
type: {
|
|
853
|
+
type: String,
|
|
854
|
+
default: "warning",
|
|
855
|
+
validator: (e) => ["warning", "dangerous"].indexOf(e) !== -1
|
|
856
|
+
}
|
|
857
|
+
},
|
|
858
|
+
computed: {
|
|
859
|
+
hasErrors() {
|
|
860
|
+
return Object.keys(this.messages).length > 0;
|
|
861
|
+
},
|
|
862
|
+
isDangerous() {
|
|
863
|
+
return this.type === "dangerous";
|
|
864
|
+
}
|
|
865
|
+
}
|
|
866
|
+
}, Je = { class: "flex" }, Ye = { class: "shrink-0" }, Xe = { class: "ml-3" }, Ze = ["textContent"];
|
|
867
|
+
function Qe(t, n, o, s, d, f) {
|
|
868
|
+
return f.hasErrors ? (l(), i("div", {
|
|
869
|
+
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"]),
|
|
873
|
+
viewBox: "0 0 20 20",
|
|
874
|
+
fill: "currentColor"
|
|
875
|
+
}, [...n[0] ||= [a("path", {
|
|
876
|
+
"fill-rule": "evenodd",
|
|
877
|
+
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
|
+
"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"]),
|
|
881
|
+
key: t,
|
|
882
|
+
textContent: p(e)
|
|
883
|
+
}, null, 10, Ze))), 128))])])], 2)) : r("", !0);
|
|
884
|
+
}
|
|
885
|
+
var $e = /*#__PURE__*/ S(qe, [["render", Qe]]), et = { emits: ["clicked"] };
|
|
886
|
+
function tt(e, t, n, r, o, s) {
|
|
887
|
+
return l(), i("button", {
|
|
888
|
+
type: "button",
|
|
889
|
+
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",
|
|
891
|
+
onClick: t[0] ||= b((t) => e.$emit("clicked"), ["prevent"])
|
|
892
|
+
}, [...t[1] ||= [a("svg", {
|
|
893
|
+
class: "w-full h-full stroke-current",
|
|
894
|
+
fill: "none",
|
|
895
|
+
viewBox: "0 0 24 24"
|
|
896
|
+
}, [a("path", {
|
|
897
|
+
"stroke-linecap": "round",
|
|
898
|
+
"stroke-linejoin": "round",
|
|
899
|
+
"stroke-width": "2",
|
|
900
|
+
d: "M6 18L18 6M6 6l12 12"
|
|
901
|
+
})], -1)]]);
|
|
902
|
+
}
|
|
903
|
+
var nt = /*#__PURE__*/ S(et, [["render", tt]]), rt = {}, it = {
|
|
904
|
+
class: "w-4 h-4",
|
|
905
|
+
fill: "none",
|
|
906
|
+
stroke: "currentColor",
|
|
907
|
+
viewBox: "0 0 24 24",
|
|
908
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
909
|
+
};
|
|
910
|
+
function at(e, t, n, r, o, s) {
|
|
911
|
+
return l(), i("svg", it, [...t[0] ||= [a("path", {
|
|
912
|
+
"stroke-linecap": "round",
|
|
913
|
+
"stroke-linejoin": "round",
|
|
914
|
+
"stroke-width": "2",
|
|
915
|
+
d: "M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4"
|
|
916
|
+
}, null, -1)]]);
|
|
917
|
+
}
|
|
918
|
+
//#endregion
|
|
919
|
+
//#region src/components/DownloadLink.vue
|
|
920
|
+
var ot = {
|
|
921
|
+
components: { "download-icon": /* @__PURE__ */ S(rt, [["render", at]]) },
|
|
922
|
+
props: {
|
|
923
|
+
url: {
|
|
924
|
+
type: String,
|
|
925
|
+
required: !0
|
|
926
|
+
},
|
|
927
|
+
title: {
|
|
928
|
+
type: String,
|
|
929
|
+
default: "Скачать"
|
|
930
|
+
}
|
|
931
|
+
}
|
|
932
|
+
}, st = ["href", "title"], ct = { class: "ml-1" };
|
|
933
|
+
function lt(e, t, n, r, s, c) {
|
|
934
|
+
let u = f("download-icon");
|
|
935
|
+
return l(), i("a", {
|
|
936
|
+
href: n.url,
|
|
937
|
+
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);
|
|
940
|
+
}
|
|
941
|
+
var ut = /*#__PURE__*/ S(ot, [["render", lt]]), dt = { props: {
|
|
942
|
+
isOpen: {
|
|
943
|
+
type: Boolean,
|
|
944
|
+
default: !1
|
|
945
|
+
},
|
|
946
|
+
headingId: {
|
|
947
|
+
type: String,
|
|
948
|
+
required: !0
|
|
949
|
+
}
|
|
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, [
|
|
953
|
+
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
|
+
}, {
|
|
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]])]),
|
|
962
|
+
_: 1
|
|
963
|
+
}),
|
|
964
|
+
n[1] ||= a("span", { class: "hidden sm:inline-block sm:align-middle sm:h-screen" }, null, -1),
|
|
965
|
+
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
|
+
}, {
|
|
973
|
+
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",
|
|
975
|
+
role: "dialog",
|
|
976
|
+
"aria-modal": "true",
|
|
977
|
+
"aria-labelledby": r.headingId
|
|
978
|
+
}, [d(e.$slots, "default")], 8, mt), [[g, r.isOpen]])]),
|
|
979
|
+
_: 3
|
|
980
|
+
})
|
|
981
|
+
])], 2);
|
|
982
|
+
}
|
|
983
|
+
var gt = /*#__PURE__*/ S(dt, [["render", ht]]), _t = {}, vt = {
|
|
984
|
+
class: "h-7 w-7 text-red-600",
|
|
985
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
986
|
+
fill: "none",
|
|
987
|
+
viewBox: "0 0 24 24",
|
|
988
|
+
stroke: "currentColor",
|
|
989
|
+
"aria-hidden": "true"
|
|
990
|
+
};
|
|
991
|
+
function yt(e, t, n, r, o, s) {
|
|
992
|
+
return l(), i("svg", vt, [...t[0] ||= [a("path", {
|
|
993
|
+
"stroke-linecap": "round",
|
|
994
|
+
"stroke-linejoin": "round",
|
|
995
|
+
"stroke-width": "2",
|
|
996
|
+
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
|
+
}, null, -1)]]);
|
|
998
|
+
}
|
|
999
|
+
var $ = /*#__PURE__*/ S(_t, [["render", yt]]), bt = {}, xt = {
|
|
1000
|
+
class: "h-7 w-7 text-yellow-400",
|
|
1001
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1002
|
+
viewBox: "0 0 20 20",
|
|
1003
|
+
fill: "currentColor",
|
|
1004
|
+
"aria-hidden": "true"
|
|
1005
|
+
};
|
|
1006
|
+
function St(e, t, n, r, o, s) {
|
|
1007
|
+
return l(), i("svg", xt, [...t[0] ||= [a("path", {
|
|
1008
|
+
"fill-rule": "evenodd",
|
|
1009
|
+
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",
|
|
1010
|
+
"clip-rule": "evenodd"
|
|
1011
|
+
}, null, -1)]]);
|
|
1012
|
+
}
|
|
1013
|
+
//#endregion
|
|
1014
|
+
//#region src/components/ConfirmationModal.vue
|
|
1015
|
+
var Ct = {
|
|
1016
|
+
components: {
|
|
1017
|
+
Modal: gt,
|
|
1018
|
+
Dangerous: $,
|
|
1019
|
+
Warning: /* @__PURE__ */ S(bt, [["render", St]])
|
|
1020
|
+
},
|
|
1021
|
+
emits: ["actionConfirmed", "actionCanceled"],
|
|
1022
|
+
props: {
|
|
1023
|
+
isOpen: {
|
|
1024
|
+
type: Boolean,
|
|
1025
|
+
default: !1
|
|
1026
|
+
},
|
|
1027
|
+
type: {
|
|
1028
|
+
type: String,
|
|
1029
|
+
default: "warning",
|
|
1030
|
+
validator: (e) => ["warning", "dangerous"].indexOf(e) !== -1
|
|
1031
|
+
},
|
|
1032
|
+
confirmationHeading: {
|
|
1033
|
+
type: String,
|
|
1034
|
+
default: ""
|
|
1035
|
+
},
|
|
1036
|
+
confirmationText: {
|
|
1037
|
+
type: String,
|
|
1038
|
+
default: ""
|
|
1039
|
+
},
|
|
1040
|
+
cancelButtonText: {
|
|
1041
|
+
type: String,
|
|
1042
|
+
default: "Отмена"
|
|
1043
|
+
},
|
|
1044
|
+
actionButtonText: {
|
|
1045
|
+
type: String,
|
|
1046
|
+
required: !0
|
|
1047
|
+
}
|
|
1048
|
+
},
|
|
1049
|
+
setup() {
|
|
1050
|
+
return { headingId: m() };
|
|
1051
|
+
},
|
|
1052
|
+
computed: {
|
|
1053
|
+
isDangerous() {
|
|
1054
|
+
return this.type === "dangerous";
|
|
1055
|
+
},
|
|
1056
|
+
isWarning() {
|
|
1057
|
+
return this.type === "warning";
|
|
1058
|
+
}
|
|
1059
|
+
}
|
|
1060
|
+
}, wt = { class: "flex bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4" }, Tt = { class: "sm:flex sm:items-start" }, Et = { 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" };
|
|
1061
|
+
function jt(e, t, i, o, s, u) {
|
|
1062
|
+
let d = f("warning"), m = f("dangerous"), h = f("modal");
|
|
1063
|
+
return l(), n(h, {
|
|
1064
|
+
"is-open": i.isOpen,
|
|
1065
|
+
"heading-id": o.headingId
|
|
1066
|
+
}, {
|
|
1067
|
+
default: _(() => [a("div", wt, [a("div", Tt, [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
|
|
1070
|
+
}]) }, [u.isWarning ? (l(), n(d, { key: 0 })) : r("", !0), u.isDangerous ? (l(), n(m, { key: 1 })) : r("", !0)], 2), a("div", Et, [a("h3", {
|
|
1071
|
+
class: "text-lg leading-6 font-medium text-gray-900",
|
|
1072
|
+
id: o.headingId
|
|
1073
|
+
}, p(i.confirmationHeading), 9, Dt), a("div", Ot, [a("p", kt, p(i.confirmationText), 1)])])])]), a("div", At, [a("button", {
|
|
1074
|
+
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
|
|
1078
|
+
}]),
|
|
1079
|
+
onClick: t[0] ||= b((t) => e.$emit("actionConfirmed"), ["prevent"])
|
|
1080
|
+
}, p(i.actionButtonText), 3), a("button", {
|
|
1081
|
+
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",
|
|
1083
|
+
onClick: t[1] ||= b((t) => e.$emit("actionCanceled"), ["prevent"])
|
|
1084
|
+
}, p(i.cancelButtonText), 1)])]),
|
|
1085
|
+
_: 1
|
|
1086
|
+
}, 8, ["is-open", "heading-id"]);
|
|
1087
|
+
}
|
|
1088
|
+
var Mt = /*#__PURE__*/ S(Ct, [["render", jt]]);
|
|
794
1089
|
//#endregion
|
|
795
|
-
export { k as Dot, U as PickDay,
|
|
1090
|
+
export { nt as Closer, Mt as ConfirmationModal, k as Dot, ut as DownloadLink, $e as ErrorMessages, U as PickDay, O as Popup, de as RussianMobileFilter, ve as Search, Te as SelectDateInterval, He as SelectSingle, Ke 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-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-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-500:oklch(63.7% .237 25.331);--color-green-300:oklch(87.1% .15 154.449);--color-green-500:oklch(72.3% .219 149.579);--color-blue-500:oklch(62.3% .214 259.815);--color-indigo-100:oklch(93% .034 272.788);--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-900:oklch(21% .034 264.665);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--leading-tight:1.25;--radius-md:.375rem;--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{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{appearance:button}.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{.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}}.mt-1{margin-top:var(--spacing)}.ml-3{margin-left:calc(var(--spacing) * 3)}.block{display:block}.flex{display:flex}.h-2{height:calc(var(--spacing) * 2)}.h-5{height:calc(var(--spacing) * 5)}.h-6{height:calc(var(--spacing) * 6)}.h-9{height:calc(var(--spacing) * 9)}.h-full{height:100%}.w-2{width:calc(var(--spacing) * 2)}.w-5{width:calc(var(--spacing) * 5)}.w-6{width:calc(var(--spacing) * 6)}.w-9{width:calc(var(--spacing) * 9)}.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}.grow{flex-grow:1}.origin-top-right{transform-origin:100% 0}.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-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}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-none{--tw-border-style:none;border-style:none}.border-gray-200{border-color:var(--color-gray-200)}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.bg-gray-900{background-color:var(--color-gray-900)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.fill-current{fill:currentColor}.stroke-current{stroke:currentColor}.px-3{padding-inline:calc(var(--spacing) * 3)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.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)}.pl-3{padding-left:calc(var(--spacing) * 3)}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.whitespace-nowrap{white-space:nowrap}.text-gray-300{color:var(--color-gray-300)}.text-gray-500{color:var(--color-gray-500)}.text-green-300{color:var(--color-green-300)}.text-green-500{color:var(--color-green-500)}.text-red-500{color:var(--color-red-500)}.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)}.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))}.duration-75{--tw-duration:75ms;transition-duration:75ms}.duration-100{--tw-duration:.1s;transition-duration:.1s}.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-indigo-100:hover{background-color:var(--color-indigo-100)}.hover\:text-gray-400:hover{color:var(--color-gray-400)}}.focus\:z-10:focus{z-index:10}.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\: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}}}@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-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-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-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}.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-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-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)}.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-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)}.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\: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}
|
|
2
2
|
/*$vite$:1*/
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@boobooking/dashboard-ui-components",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Компоненты
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"description": "Компоненты дашборда на Vue 3",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"vue",
|
|
7
7
|
"vue3",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"playground": "npm run build && vite --config vite.playground.config.js"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
|
-
"vue": "^3.
|
|
33
|
+
"vue": "^3.5.0"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"imask": "^7.6.1",
|
|
@@ -40,6 +40,8 @@
|
|
|
40
40
|
"@tailwindcss/forms": "^0.5.10",
|
|
41
41
|
"@tailwindcss/vite": "^4.3.3",
|
|
42
42
|
"@vitejs/plugin-vue": "^6.0.8",
|
|
43
|
+
"@vue/test-utils": "^2.5.1",
|
|
44
|
+
"happy-dom": "^20.14.5",
|
|
43
45
|
"tailwindcss": "^4.3.3",
|
|
44
46
|
"vite": "^8.3.0",
|
|
45
47
|
"vitest": "^5.0.0",
|