@studio-west/component-sw 0.4.3 → 0.4.5
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 +207 -10
- package/dist/{SwDatePicker-B_lMzdni.js → SwDatePicker-B6PhnM1c.js} +42 -42
- package/dist/{SwInput-DcpVSZhs.js → SwInput-VPquPLF5.js} +1 -1
- package/dist/SwMessage-DQcnzMZB.js +51 -0
- package/dist/{SwSelect-0vcmQ8qv.js → SwSelect-C2RKinez.js} +20 -19
- package/dist/SwSkeleton-B7ysp8L9.js +26 -0
- package/dist/{index-B-SLpSEN.js → index-YzWp9BxM.js} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/SwMessage-BB2yKYsR.js +0 -53
- package/dist/SwSkeleton-DWILNFfF.js +0 -28
package/README.md
CHANGED
|
@@ -19,22 +19,22 @@ The `Component SW` library provides a set of ready-to-use UI components on Vue 3
|
|
|
19
19
|
|
|
20
20
|
- [SwButton](#swbutton)
|
|
21
21
|
|
|
22
|
-
- [SwInput](#swinput)
|
|
23
|
-
|
|
24
22
|
- [SwCollapse](#swcollapse)
|
|
25
23
|
|
|
24
|
+
- [SwDatePicker](#swdatepicker)
|
|
25
|
+
|
|
26
26
|
- [SwDropdown](#swdropdown)
|
|
27
27
|
|
|
28
28
|
- [SwDropdownItem](#swdropdownitem)
|
|
29
29
|
|
|
30
|
-
- [
|
|
31
|
-
|
|
32
|
-
- [SwMtssage](#swmessage)
|
|
30
|
+
- [SwInput](#swinput)
|
|
33
31
|
|
|
34
|
-
- [
|
|
32
|
+
- [SwMessage](#swmessage)
|
|
35
33
|
|
|
36
34
|
- [SwSelect](#swselect)
|
|
37
35
|
|
|
36
|
+
- [SwSection](#swsection)
|
|
37
|
+
|
|
38
38
|
- [SwSkeleton](#swskeleton)
|
|
39
39
|
|
|
40
40
|
- [SwSkeletonItem](#swskeletonitem)
|
|
@@ -60,7 +60,8 @@ app.use(Library)
|
|
|
60
60
|
```
|
|
61
61
|
Установка в ручную светлой и темной темы - добавление к тегу `html` классов `dark` или `light` / Installation in a manual light and dark theme - adding to the tag `html` classes` dark` or `light`
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
### Пример использования / Example Usage
|
|
64
|
+
|
|
64
65
|
```js
|
|
65
66
|
const darkMode = () => {
|
|
66
67
|
if(mode.value === 'dark-theme') {
|
|
@@ -139,7 +140,29 @@ this.$Alert({message: 'Welcome!', type: 'success'});
|
|
|
139
140
|
Нажми меня / Click Me
|
|
140
141
|
</sw-button>
|
|
141
142
|
```
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## SwCollapse
|
|
146
|
+
|
|
147
|
+
Компонент `SwCollapse` представляет собой аналог тегов <details> + <summary>, но с анимацией.
|
|
148
|
+
|
|
149
|
+
### Свойства / Properties
|
|
142
150
|
|
|
151
|
+
| Имя | Тип | Значения/Описание |
|
|
152
|
+
|----------|-----------|-------------------------------------|
|
|
153
|
+
| `visual` | `Boolean` | Видимость `'true'` - по умолчанию. |
|
|
154
|
+
|
|
155
|
+
### Слоты / Slots
|
|
156
|
+
|
|
157
|
+
Default - Контент для скрытия
|
|
158
|
+
|
|
159
|
+
### Пример использования / Example Usage
|
|
160
|
+
|
|
161
|
+
```html
|
|
162
|
+
<sw-collapse :visual="false">
|
|
163
|
+
<p>Скрытое / Hidden</p>
|
|
164
|
+
</sw-collapse>
|
|
165
|
+
```
|
|
143
166
|
---
|
|
144
167
|
|
|
145
168
|
## SwDatePicker
|
|
@@ -150,7 +173,7 @@ this.$Alert({message: 'Welcome!', type: 'success'});
|
|
|
150
173
|
|
|
151
174
|
| Имя | Тип | Значения/Описание |
|
|
152
175
|
|--------------|------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|
153
|
-
| `data` | `Object` | Начальные данные - диапазон ( при `'solid'` - используется только `'startDate'`) изначальных выбранных дат {endDate: '14-04-2025', startDate:'30-03-2025', holiday: { preholidays: ["2020-03-30"], holidays: ["2020-03-30"], holiday: ["2020-03-30"], nowork: ["2020-03-30"] }},
|
|
176
|
+
| `data` | `Object` | Начальные данные - диапазон ( при `'solid'` - используется только `'startDate'`) изначальных выбранных дат {endDate: '14-04-2025', startDate:'30-03-2025', holiday: { preholidays: ["2020-03-30"], holidays: ["2020-03-30"], holiday: ["2020-03-30"], nowork: ["2020-03-30"] }}, ограничение не более 2х месяцев. |
|
|
154
177
|
| `limitation` | `Boolean, Array` | Массив ограничений дат: [{endDate: '14-04-2025', startDate:'30-03-2025'}], false - по умолчанию. |
|
|
155
178
|
| `range` | `String` | Тип календаря: `'year'`,`'range'`, `'solid'` - по умолчанию. |
|
|
156
179
|
|
|
@@ -168,7 +191,6 @@ input - событие выбора с данными {dateStart: "11.11.2011",
|
|
|
168
191
|
@selectPicker.stop="processing"
|
|
169
192
|
/>
|
|
170
193
|
```
|
|
171
|
-
|
|
172
194
|
---
|
|
173
195
|
|
|
174
196
|
## SwDropdown
|
|
@@ -187,6 +209,9 @@ input - событие выбора с данными {dateStart: "11.11.2011",
|
|
|
187
209
|
| `placement` | `String` | Относительное место всплытия `'bottom-left'` - по умолчанию, `'bottom'`, `'bottom-right'`, `'top-left'`, `'top'`, `'top-right'`, `'left'`, `'right'`. |
|
|
188
210
|
| `maxWidth` | `Number` | Максимальная ширина меню в пикселях. |
|
|
189
211
|
|
|
212
|
+
### Слоты / Slots
|
|
213
|
+
|
|
214
|
+
Default - текст описания или модуль / модули
|
|
190
215
|
|
|
191
216
|
### Пример использования / Example Usage
|
|
192
217
|
|
|
@@ -203,6 +228,39 @@ input - событие выбора с данными {dateStart: "11.11.2011",
|
|
|
203
228
|
```
|
|
204
229
|
---
|
|
205
230
|
|
|
231
|
+
## SwDropdownItem
|
|
232
|
+
|
|
233
|
+
Компонент SwDropdownItem это пункт во всплывающем меню с возможностью добавления в начало иконки.
|
|
234
|
+
|
|
235
|
+
### Свойства / Properties
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
| Имя | Тип | Значения/Описание |
|
|
239
|
+
|---------------|----------|--------------------------------------------------------------|
|
|
240
|
+
| `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
|
|
241
|
+
| `size` | `String` | Размер поля: `'large'`, `'small'`. |
|
|
242
|
+
| `type` | `String` | `'primary'`, `'success'`, `'info'`, `'warning'`, `'danger'`. |
|
|
243
|
+
| `iconBefore` | `String` | Название иконки в коллекции. |
|
|
244
|
+
|
|
245
|
+
### Слоты / Slots
|
|
246
|
+
|
|
247
|
+
Default - текст названия или модуль
|
|
248
|
+
|
|
249
|
+
### Пример использования / Example Usage
|
|
250
|
+
|
|
251
|
+
```html
|
|
252
|
+
<script>let visual = false </script>
|
|
253
|
+
<sw-dropdown
|
|
254
|
+
class="custom-class"
|
|
255
|
+
trigger="none"
|
|
256
|
+
v-model="visual"
|
|
257
|
+
maxWidth="o250"
|
|
258
|
+
>
|
|
259
|
+
<sw-dropdown-item @cick="visual = true" iconBefore="documents">Описание</sw-dropdown-item>
|
|
260
|
+
</sw-dropdown>
|
|
261
|
+
```
|
|
262
|
+
---
|
|
263
|
+
|
|
206
264
|
## SwInput
|
|
207
265
|
|
|
208
266
|
Компонент SwInput представляет собой поле ввода с возможностью настройки внешнего вида и поведения.
|
|
@@ -255,6 +313,139 @@ focusInput - focus на поле ввода
|
|
|
255
313
|
</sw-input>
|
|
256
314
|
```
|
|
257
315
|
---
|
|
316
|
+
|
|
317
|
+
## SwMessage
|
|
318
|
+
|
|
319
|
+
Компонент SwMessage это выплывающее окно, центрируется по центру.
|
|
320
|
+
|
|
321
|
+
### Свойства / Properties
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
| Имя | Тип | Значения/Описание |
|
|
325
|
+
|-------------|-----------|-----------------------------------------------------------------------------|
|
|
326
|
+
| `name` | `String` | Добавляет текстовый заголовок, при отсутствии реализован слот `"header"`. |
|
|
327
|
+
| `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
|
|
328
|
+
| `iconAfter` | `String` | Добавляет иконку из коллекции для кнопки закрытия (при наличии заголовка). |
|
|
329
|
+
|
|
330
|
+
### Слоты / Slots
|
|
331
|
+
|
|
332
|
+
#header - слот для заголовка окна.
|
|
333
|
+
|
|
334
|
+
#footer - слот для подвала.
|
|
335
|
+
|
|
336
|
+
### Пример использования / Example Usage
|
|
337
|
+
|
|
338
|
+
```html
|
|
339
|
+
<sw-message
|
|
340
|
+
v-model="model"
|
|
341
|
+
name="Message"
|
|
342
|
+
class="custom-class"
|
|
343
|
+
>
|
|
344
|
+
<p>Описание / Description</p>
|
|
345
|
+
</sw-message>
|
|
346
|
+
```
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
## SwSection
|
|
350
|
+
|
|
351
|
+
Компонент SwSection это тег section с шаблоном из слотов, по умолчанию в слот #header добавлено заголовок и иконка.
|
|
352
|
+
|
|
353
|
+
### Свойства / Properties
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
| Имя | Тип | Значения/Описание |
|
|
357
|
+
|-------------|-----------|----------------------------------------------------|
|
|
358
|
+
| `name` | `String` | Добавляет заголовок в секцию. |
|
|
359
|
+
| `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
|
|
360
|
+
| `iconAfter` | `String` | Добавляет иконку из коллекции. |
|
|
361
|
+
|
|
362
|
+
### Слоты / Slots
|
|
363
|
+
|
|
364
|
+
#header - слот для заголовка секции.
|
|
365
|
+
|
|
366
|
+
Default - содержимое секции
|
|
367
|
+
|
|
368
|
+
#footer - слот для подвала секции.
|
|
369
|
+
|
|
370
|
+
### Пример использования / Example Usage
|
|
371
|
+
|
|
372
|
+
```html
|
|
373
|
+
<sw-section
|
|
374
|
+
name="section"
|
|
375
|
+
class="custom-class"
|
|
376
|
+
iconAfter="cross"
|
|
377
|
+
>
|
|
378
|
+
<p>Содержимое / Content</p>
|
|
379
|
+
<template #footer>
|
|
380
|
+
<p>Footer!</p>
|
|
381
|
+
</template>
|
|
382
|
+
</sw-section>
|
|
383
|
+
```
|
|
384
|
+
---
|
|
385
|
+
|
|
386
|
+
## SwSelect
|
|
387
|
+
|
|
388
|
+
Компонент SwSelect - реализация подсказок для https://dadata.ru/api/suggest/address/.
|
|
389
|
+
|
|
390
|
+
### Свойства / Properties
|
|
391
|
+
|
|
392
|
+
|
|
393
|
+
| Имя | Тип | Значения/Описание |
|
|
394
|
+
|----------------|-----------|-----------------------------------------------|
|
|
395
|
+
| `class` | `String` | Добавляет пользовательский CSS-класс к popup. |
|
|
396
|
+
| `size` | `String` | Размер поля: `'large'`, `'small'`. |
|
|
397
|
+
| `placeholder` | `String` | Добавляет в placeholder описание. |
|
|
398
|
+
| `token` | `String` | API-ключ для DADATA. |
|
|
399
|
+
|
|
400
|
+
|
|
401
|
+
### Пример использования / Example Usage
|
|
402
|
+
|
|
403
|
+
```html
|
|
404
|
+
<sw-select
|
|
405
|
+
v-model="model"
|
|
406
|
+
class="custom-class"
|
|
407
|
+
placeholder="placeholder"
|
|
408
|
+
:token="${API_KEY}"
|
|
409
|
+
/>
|
|
410
|
+
```
|
|
411
|
+
---
|
|
412
|
+
|
|
413
|
+
## SwSkeleton
|
|
414
|
+
|
|
415
|
+
Компонент SwSkeleton используется для анимации загрузки данных, выступая оболочкой компонента SwSkeletonItem или пользовательского компонента при использовании слота #skeleton
|
|
416
|
+
|
|
417
|
+
### Свойства / Properties
|
|
418
|
+
|
|
419
|
+
|
|
420
|
+
| Имя | Тип | Значения/Описание |
|
|
421
|
+
|----------|-----------|----------------------------------------------------|
|
|
422
|
+
| `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
|
|
423
|
+
| `visual` | `Boolean` | Тригер на переключение. |
|
|
424
|
+
|
|
425
|
+
### Слоты / Slots
|
|
426
|
+
|
|
427
|
+
Default - Содержимое
|
|
428
|
+
|
|
429
|
+
#skeleton - слот для skeleton
|
|
430
|
+
|
|
431
|
+
### Пример использования / Example Usage
|
|
432
|
+
|
|
433
|
+
```html
|
|
434
|
+
<sw-skeleton
|
|
435
|
+
:visual="visual"
|
|
436
|
+
>
|
|
437
|
+
<p>Содержимое / Content</p>
|
|
438
|
+
</sw-skeleton>
|
|
439
|
+
```
|
|
440
|
+
---
|
|
441
|
+
|
|
442
|
+
### Лицензия / License
|
|
443
|
+
|
|
444
|
+
Этот проект распространяется под лицензией MIT. Подробности см. в файле LICENSE .
|
|
445
|
+
This project is distributed under the MIT License. For details, see the LICENSE file.
|
|
446
|
+
|
|
447
|
+
---
|
|
448
|
+
|
|
258
449
|
## SwSwitch
|
|
259
450
|
|
|
260
451
|
Компонент SwSwitch представляет собой чекбокс с возможностью настройки внешнего вида галочка | переключатель | переключатель с подписью и поведения.
|
|
@@ -272,6 +463,10 @@ focusInput - focus на поле ввода
|
|
|
272
463
|
| `off` | `String` | Текст при false. |
|
|
273
464
|
| `checkbox` | `Boolean` | Визуализирует как обычный чекбокс. |
|
|
274
465
|
|
|
466
|
+
### Слоты / Slots
|
|
467
|
+
|
|
468
|
+
Default - текст описания
|
|
469
|
+
|
|
275
470
|
### Пример использования / Example Usage
|
|
276
471
|
|
|
277
472
|
```html
|
|
@@ -283,7 +478,7 @@ focusInput - focus на поле ввода
|
|
|
283
478
|
on="on"
|
|
284
479
|
off="off"
|
|
285
480
|
>
|
|
286
|
-
<p
|
|
481
|
+
<p>Описание / Description</p>
|
|
287
482
|
</sw-switch>
|
|
288
483
|
```
|
|
289
484
|
---
|
|
@@ -292,6 +487,8 @@ focusInput - focus на поле ввода
|
|
|
292
487
|
|
|
293
488
|
Этот проект распространяется под лицензией MIT. Подробности см. в файле LICENSE .
|
|
294
489
|
This project is distributed under the MIT License. For details, see the LICENSE file.
|
|
490
|
+
|
|
295
491
|
---
|
|
492
|
+
|
|
296
493
|
Если у вас есть вопросы или предложения, пожалуйста, создайте issue на почту info@studiowest.ru.
|
|
297
494
|
If you have any questions or suggestions, please create an issue to E-mail info@studiowest.ru.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ref as f, computed as te, createElementBlock as v, openBlock as i, createElementVNode as s, createCommentVNode as S, withModifiers as
|
|
2
|
-
import { p as x } from "./index-
|
|
1
|
+
import { ref as f, computed as te, createElementBlock as v, openBlock as i, createElementVNode as s, createCommentVNode as S, withModifiers as g, toDisplayString as y, unref as M, Fragment as _, renderList as Y, normalizeClass as H } from "vue";
|
|
2
|
+
import { p as x } from "./index-YzWp9BxM.js";
|
|
3
3
|
const ae = { class: "sw-data-picker" }, ne = { class: "month_year" }, le = { class: "text" }, oe = {
|
|
4
4
|
key: 0,
|
|
5
5
|
class: "week"
|
|
@@ -9,10 +9,10 @@ const ae = { class: "sw-data-picker" }, ne = { class: "month_year" }, le = { cla
|
|
|
9
9
|
}, se = ["onClick"], re = {
|
|
10
10
|
key: 2,
|
|
11
11
|
class: "month"
|
|
12
|
-
}, ve = ["onClick"], ie = { key: 0 }, ce = { class: "month_year" }, de = { class: "text" },
|
|
12
|
+
}, ve = ["onClick"], ie = { key: 0 }, ce = { class: "month_year" }, de = { class: "text" }, ge = {
|
|
13
13
|
key: 0,
|
|
14
14
|
class: "week"
|
|
15
|
-
},
|
|
15
|
+
}, De = {
|
|
16
16
|
key: 1,
|
|
17
17
|
class: "year"
|
|
18
18
|
}, fe = ["onClick"], he = {
|
|
@@ -34,7 +34,7 @@ const ae = { class: "sw-data-picker" }, ne = { class: "month_year" }, le = { cla
|
|
|
34
34
|
emits: ["input"],
|
|
35
35
|
setup(J, { emit: Q }) {
|
|
36
36
|
var R, W, q, G;
|
|
37
|
-
const l = J, N = Q,
|
|
37
|
+
const l = J, N = Q, d = f(3), k = f(/* @__PURE__ */ new Date()), E = f(/* @__PURE__ */ new Date()), r = f((/* @__PURE__ */ new Date()).getFullYear()), u = f((/* @__PURE__ */ new Date()).getMonth()), z = f((/* @__PURE__ */ new Date()).getFullYear()), A = f((/* @__PURE__ */ new Date()).getMonth()), L = f((/* @__PURE__ */ new Date()).getMonth() + 1), o = f([]), T = f(0), h = f(-1), C = f(-1), O = f(navigator.languages || "ru"), $ = /en|zh|ja|he/.test(O.value) ? 0 : 1, V = te(() => Array.from({ length: 12 }, (a, e) => {
|
|
38
38
|
const t = new Date(2024, e);
|
|
39
39
|
return new Intl.DateTimeFormat(O.value, { month: "long" }).format(t);
|
|
40
40
|
})), p = (a) => {
|
|
@@ -52,16 +52,16 @@ const ae = { class: "sw-data-picker" }, ne = { class: "month_year" }, le = { cla
|
|
|
52
52
|
o.value.push({ day: t, month: u.value, year: r.value, class: [] }), T.value++;
|
|
53
53
|
if (l.range === "range") {
|
|
54
54
|
const t = new Date(r.value, u.value + 1, 1), n = new Date(r.value, u.value + 2, 0).getDate();
|
|
55
|
-
for (let
|
|
56
|
-
o.value.push({ day:
|
|
55
|
+
for (let D = 1; D <= n; D++)
|
|
56
|
+
o.value.push({ day: D, month: t.getMonth(), year: t.getFullYear(), class: [] });
|
|
57
57
|
}
|
|
58
58
|
U();
|
|
59
59
|
}, U = () => {
|
|
60
60
|
var e;
|
|
61
61
|
if (!((e = l.data) != null && e.holiday)) return;
|
|
62
62
|
const a = (t, n) => {
|
|
63
|
-
t.forEach((
|
|
64
|
-
const [c, m, b] =
|
|
63
|
+
t.forEach((D) => {
|
|
64
|
+
const [c, m, b] = D.split("-").map(Number), F = o.value.findIndex((B) => B.year === c && B.month + 1 === m && B.day === b);
|
|
65
65
|
F !== -1 && (o.value[F].class[0] = n);
|
|
66
66
|
});
|
|
67
67
|
};
|
|
@@ -80,8 +80,8 @@ const ae = { class: "sw-data-picker" }, ne = { class: "month_year" }, le = { cla
|
|
|
80
80
|
}, I = (a, e, t) => {
|
|
81
81
|
if (!l.limitation || l.limitation.length === 0) return !0;
|
|
82
82
|
const n = new Date(a, e, t).getTime();
|
|
83
|
-
for (let
|
|
84
|
-
const { startDate: c, endDate: m } =
|
|
83
|
+
for (let D of l.limitation) {
|
|
84
|
+
const { startDate: c, endDate: m } = D;
|
|
85
85
|
if (!c && m) {
|
|
86
86
|
const b = new Date(p(m)).getTime();
|
|
87
87
|
if (n <= b) return !1;
|
|
@@ -104,22 +104,22 @@ const ae = { class: "sw-data-picker" }, ne = { class: "month_year" }, le = { cla
|
|
|
104
104
|
}, Z = () => {
|
|
105
105
|
o.value.forEach((a) => a.class[1] = ""), h.value = -1, C.value = -1;
|
|
106
106
|
}, K = (a, e, t) => {
|
|
107
|
-
let n = x(new Date(o.value[a].year, o.value[a].month, o.value[a].day), "{dd}.{m}.{Y}"),
|
|
107
|
+
let n = x(new Date(o.value[a].year, o.value[a].month, o.value[a].day), "{dd}.{m}.{Y}"), D = ee(a, e);
|
|
108
108
|
if (e >= a)
|
|
109
109
|
for (let c = a + 1; c < e; c++)
|
|
110
110
|
o.value[c].class[1] = "select";
|
|
111
111
|
else
|
|
112
112
|
for (let c = e + 1; c < a; c++)
|
|
113
113
|
o.value[c].class[1] = "select";
|
|
114
|
-
o.value[e].class[1] = "active", N("input", { dateStart: n, dateEnd: t, count:
|
|
114
|
+
o.value[e].class[1] = "active", N("input", { dateStart: n, dateEnd: t, count: D });
|
|
115
115
|
}, ee = (a, e) => {
|
|
116
116
|
var c;
|
|
117
|
-
let t = Math.abs(a - e) + 1, [n,
|
|
118
|
-
for (let m = n; m <=
|
|
117
|
+
let t = Math.abs(a - e) + 1, [n, D] = [Math.min(a, e), Math.max(a, e)];
|
|
118
|
+
for (let m = n; m <= D; m++)
|
|
119
119
|
((c = o.value[m]) == null ? void 0 : c.class[0]) === "holiday" && t--;
|
|
120
120
|
return t;
|
|
121
121
|
}, w = (a, e) => {
|
|
122
|
-
I(a, e) && (k.value = new Date(a, e, 1), r.value = k.value.getFullYear(), u.value = k.value.getMonth(), l.range === "year" &&
|
|
122
|
+
I(a, e) && (k.value = new Date(a, e, 1), r.value = k.value.getFullYear(), u.value = k.value.getMonth(), console.log(d.value), l.range === "year" && d.value === 0 ? j({ year: a, month: e, day: 1 }, 8) : P());
|
|
123
123
|
};
|
|
124
124
|
if (P(), X() && console.error("Ошибка: Найдены пересекающиеся диапазоны!"), (q = l.data) != null && q.startDate && (h.value = o.value.findIndex((a) => a.day === k.value.getDate() && a.month === u.value && a.year === r.value), h.value !== -1 && (o.value[h.value].class[1] = "active")), (G = l.data) != null && G.endDate && l.range === "range" && (C.value = o.value.findIndex((a) => a.day === E.value.getDate() && a.month === A.value && a.year === z.value), C.value !== -1)) {
|
|
125
125
|
o.value[C.value].class[1] = "active";
|
|
@@ -131,44 +131,44 @@ const ae = { class: "sw-data-picker" }, ne = { class: "month_year" }, le = { cla
|
|
|
131
131
|
s("p", ne, [
|
|
132
132
|
s("span", null, [
|
|
133
133
|
s("button", {
|
|
134
|
-
onClick: e[0] || (e[0] =
|
|
134
|
+
onClick: e[0] || (e[0] = g((t) => w(r.value - 1, u.value), ["prevent"]))
|
|
135
135
|
}, "«"),
|
|
136
136
|
s("button", {
|
|
137
|
-
onClick: e[1] || (e[1] =
|
|
138
|
-
|
|
137
|
+
onClick: e[1] || (e[1] = g((t) => {
|
|
138
|
+
d.value = 0, w(r.value, u.value - 1);
|
|
139
139
|
}, ["prevent"]))
|
|
140
140
|
}, "‹")
|
|
141
141
|
]),
|
|
142
142
|
s("span", le, [
|
|
143
143
|
s("button", {
|
|
144
|
-
onClick: e[2] || (e[2] =
|
|
144
|
+
onClick: e[2] || (e[2] = g((t) => d.value = 1, ["prevent"]))
|
|
145
145
|
}, y(r.value), 1),
|
|
146
146
|
s("button", {
|
|
147
|
-
onClick: e[3] || (e[3] =
|
|
147
|
+
onClick: e[3] || (e[3] = g((t) => d.value = 1, ["prevent"]))
|
|
148
148
|
}, y(M(x)(k.value.setMonth(u.value), "{F}")), 1)
|
|
149
149
|
]),
|
|
150
150
|
s("span", null, [
|
|
151
151
|
s("button", {
|
|
152
|
-
onClick: e[4] || (e[4] =
|
|
153
|
-
|
|
152
|
+
onClick: e[4] || (e[4] = g((t) => {
|
|
153
|
+
d.value = 0, w(r.value, u.value + 1);
|
|
154
154
|
}, ["prevent"]))
|
|
155
155
|
}, "›"),
|
|
156
156
|
s("button", {
|
|
157
|
-
onClick: e[5] || (e[5] =
|
|
157
|
+
onClick: e[5] || (e[5] = g((t) => w(r.value + 1, u.value), ["prevent"]))
|
|
158
158
|
}, "»")
|
|
159
159
|
])
|
|
160
160
|
]),
|
|
161
|
-
l.range === "year" ||
|
|
161
|
+
l.range === "year" || d.value === 1 ? S("", !0) : (i(), v("div", oe, [
|
|
162
162
|
(i(), v(_, null, Y(7, (t, n) => s("button", {
|
|
163
163
|
key: n,
|
|
164
164
|
class: "disabled"
|
|
165
165
|
}, y(M(x)(new Date(1970, 1, t + M($)), "{D}")), 1)), 64))
|
|
166
166
|
])),
|
|
167
|
-
l.range === "year" ||
|
|
167
|
+
l.range === "year" || d.value === 1 ? (i(), v("div", ue, [
|
|
168
168
|
(i(!0), v(_, null, Y(V.value, (t, n) => (i(), v("button", {
|
|
169
169
|
key: n,
|
|
170
|
-
onClick:
|
|
171
|
-
|
|
170
|
+
onClick: g((D) => {
|
|
171
|
+
d.value = 0, w(r.value, n);
|
|
172
172
|
}, ["prevent"])
|
|
173
173
|
}, y(t), 9, se))), 128))
|
|
174
174
|
])) : (i(), v("div", re, [
|
|
@@ -176,7 +176,7 @@ const ae = { class: "sw-data-picker" }, ne = { class: "month_year" }, le = { cla
|
|
|
176
176
|
n < T.value + (7 - new Date(r.value, u.value + 1, 1).getDay() + M($)) % 7 ? (i(), v("button", {
|
|
177
177
|
key: 0,
|
|
178
178
|
class: H(t.month === u.value && I(t.year, t.month, t.day) ? t.class : "disabled"),
|
|
179
|
-
onClick:
|
|
179
|
+
onClick: g(() => {
|
|
180
180
|
t.month === u.value && j(t, n);
|
|
181
181
|
}, ["prevent"])
|
|
182
182
|
}, y(t.day), 11, ve)) : S("", !0)
|
|
@@ -187,44 +187,44 @@ const ae = { class: "sw-data-picker" }, ne = { class: "month_year" }, le = { cla
|
|
|
187
187
|
s("p", ce, [
|
|
188
188
|
s("span", null, [
|
|
189
189
|
s("button", {
|
|
190
|
-
onClick: e[6] || (e[6] =
|
|
190
|
+
onClick: e[6] || (e[6] = g((t) => w(r.value - 1, u.value), ["prevent"]))
|
|
191
191
|
}, "«"),
|
|
192
192
|
s("button", {
|
|
193
|
-
onClick: e[7] || (e[7] =
|
|
194
|
-
|
|
193
|
+
onClick: e[7] || (e[7] = g((t) => {
|
|
194
|
+
d.value = 0, w(r.value, u.value - 1);
|
|
195
195
|
}, ["prevent"]))
|
|
196
196
|
}, "‹")
|
|
197
197
|
]),
|
|
198
198
|
s("span", de, [
|
|
199
199
|
s("button", {
|
|
200
|
-
onClick: e[8] || (e[8] =
|
|
200
|
+
onClick: e[8] || (e[8] = g((t) => d.value = 2, ["prevent"]))
|
|
201
201
|
}, y(new Date(r.value, u.value + 1).getFullYear()), 1),
|
|
202
202
|
s("button", {
|
|
203
|
-
onClick: e[9] || (e[9] =
|
|
203
|
+
onClick: e[9] || (e[9] = g((t) => d.value = 2, ["prevent"]))
|
|
204
204
|
}, y(M(x)(k.value.setMonth(u.value + 1), "{F}")), 1)
|
|
205
205
|
]),
|
|
206
206
|
s("span", null, [
|
|
207
207
|
s("button", {
|
|
208
|
-
onClick: e[10] || (e[10] =
|
|
209
|
-
|
|
208
|
+
onClick: e[10] || (e[10] = g((t) => {
|
|
209
|
+
d.value = 0, w(r.value, u.value + 1);
|
|
210
210
|
}, ["prevent"]))
|
|
211
211
|
}, "›"),
|
|
212
212
|
s("button", {
|
|
213
|
-
onClick: e[11] || (e[11] =
|
|
213
|
+
onClick: e[11] || (e[11] = g((t) => w(r.value + 1, u.value), ["prevent"]))
|
|
214
214
|
}, "»")
|
|
215
215
|
])
|
|
216
216
|
]),
|
|
217
|
-
|
|
217
|
+
d.value !== 2 ? (i(), v("div", ge, [
|
|
218
218
|
(i(), v(_, null, Y(7, (t, n) => s("button", {
|
|
219
219
|
key: n,
|
|
220
220
|
class: "disabled"
|
|
221
221
|
}, y(M(x)(new Date(1970, 1, t + M($)), "{D}")), 1)), 64))
|
|
222
222
|
])) : S("", !0),
|
|
223
|
-
|
|
223
|
+
d.value === 2 ? (i(), v("div", De, [
|
|
224
224
|
(i(!0), v(_, null, Y(V.value, (t, n) => (i(), v("button", {
|
|
225
225
|
key: n,
|
|
226
|
-
onClick:
|
|
227
|
-
|
|
226
|
+
onClick: g((D) => {
|
|
227
|
+
d.value = 0, w(r.value, n - 1);
|
|
228
228
|
}, ["prevent"])
|
|
229
229
|
}, y(t), 9, fe))), 128))
|
|
230
230
|
])) : (i(), v("div", he, [
|
|
@@ -232,7 +232,7 @@ const ae = { class: "sw-data-picker" }, ne = { class: "month_year" }, le = { cla
|
|
|
232
232
|
n >= T.value - (7 + new Date(r.value, u.value + 1, 1).getDay() - M($)) % 7 ? (i(), v("button", {
|
|
233
233
|
key: 0,
|
|
234
234
|
class: H(t.month === L.value && I(t.year, t.month, t.day) ? t.class : "disabled"),
|
|
235
|
-
onClick:
|
|
235
|
+
onClick: g(() => {
|
|
236
236
|
t.month === L.value && j(t, n);
|
|
237
237
|
}, ["prevent"])
|
|
238
238
|
}, y(t.day), 11, me)) : S("", !0)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { mergeModels as y, useModel as V, ref as C, computed as I, watch as M, createElementBlock as d, openBlock as i, normalizeClass as A, createBlock as v, renderSlot as _, createCommentVNode as x, withDirectives as E, createTextVNode as N, toDisplayString as R, createElementVNode as T, vModelDynamic as F } from "vue";
|
|
2
|
-
import { S } from "./index-
|
|
2
|
+
import { S } from "./index-YzWp9BxM.js";
|
|
3
3
|
const O = ["for"], U = {
|
|
4
4
|
key: 0,
|
|
5
5
|
title: "Это поле обязательно для заполнения."
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { mergeModels as f, useModel as u, ref as p, resolveComponent as g, createElementBlock as a, createCommentVNode as r, openBlock as m, normalizeClass as y, renderSlot as o, createElementVNode as _, createTextVNode as k, createVNode as i, toDisplayString as v, withCtx as V } from "vue";
|
|
2
|
+
import S from "./SwButton-0uPLNlAn.js";
|
|
3
|
+
const C = { key: 0 }, N = {
|
|
4
|
+
__name: "SwMessage",
|
|
5
|
+
props: /* @__PURE__ */ f({
|
|
6
|
+
name: { type: String, default: "" },
|
|
7
|
+
class: { type: String, default: "" },
|
|
8
|
+
iconAfter: { type: String, default: "" }
|
|
9
|
+
}, {
|
|
10
|
+
modelValue: {},
|
|
11
|
+
modelModifiers: {}
|
|
12
|
+
}),
|
|
13
|
+
emits: ["update:modelValue"],
|
|
14
|
+
setup(s) {
|
|
15
|
+
const l = u(s, "modelValue"), e = s, c = p(null);
|
|
16
|
+
return (t, n) => {
|
|
17
|
+
const d = g("svg-icon");
|
|
18
|
+
return l.value ? (m(), a("div", {
|
|
19
|
+
key: 0,
|
|
20
|
+
class: y(["sw-message", e.class]),
|
|
21
|
+
ref_key: "messageRef",
|
|
22
|
+
ref: c
|
|
23
|
+
}, [
|
|
24
|
+
e.name.length > 0 ? (m(), a("header", C, [
|
|
25
|
+
o(t.$slots, "header", {}, () => [
|
|
26
|
+
k(v(e.name) + " ", 1),
|
|
27
|
+
i(S, {
|
|
28
|
+
link: "",
|
|
29
|
+
type: "primary",
|
|
30
|
+
onClick: n[0] || (n[0] = ($) => l.value = !1)
|
|
31
|
+
}, {
|
|
32
|
+
default: V(() => [
|
|
33
|
+
i(d, {
|
|
34
|
+
"icon-class": e.iconAfter
|
|
35
|
+
}, null, 8, ["icon-class"])
|
|
36
|
+
]),
|
|
37
|
+
_: 1
|
|
38
|
+
})
|
|
39
|
+
])
|
|
40
|
+
])) : r("", !0),
|
|
41
|
+
o(t.$slots, "default"),
|
|
42
|
+
_("footer", null, [
|
|
43
|
+
o(t.$slots, "footer")
|
|
44
|
+
])
|
|
45
|
+
], 2)) : r("", !0);
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
export {
|
|
50
|
+
N as default
|
|
51
|
+
};
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { mergeModels as x, ref as u, useModel as _, watch as
|
|
2
|
-
const
|
|
1
|
+
import { mergeModels as x, ref as u, useModel as _, watch as p, resolveComponent as T, createElementBlock as i, openBlock as c, createVNode as k, withDirectives as y, createElementVNode as v, Fragment as S, renderList as b, toDisplayString as z, vShow as V } from "vue";
|
|
2
|
+
const w = { class: "popup" }, C = { class: "wrapper" }, N = { class: "scrollbar" }, D = ["onClick"], A = {
|
|
3
3
|
__name: "SwSelect",
|
|
4
4
|
props: /* @__PURE__ */ x({
|
|
5
|
-
name: { type: String, default: "" },
|
|
6
5
|
class: { type: String, default: "" },
|
|
6
|
+
size: { type: String, default: "large" },
|
|
7
|
+
// 'large', 'small'
|
|
7
8
|
placeholder: { type: String, default: "" },
|
|
8
9
|
token: { type: String, default: "" }
|
|
9
10
|
}, {
|
|
@@ -12,10 +13,10 @@ const C = { class: "popup" }, N = { class: "wrapper" }, D = { class: "scrollbar"
|
|
|
12
13
|
}),
|
|
13
14
|
emits: ["update:modelValue"],
|
|
14
15
|
setup(s) {
|
|
15
|
-
const l = u({ fullText: "" }), n = u(!1), o = u([]),
|
|
16
|
-
|
|
16
|
+
const l = u({ fullText: "" }), n = u(!1), o = u([]), d = _(s, "modelValue"), r = s;
|
|
17
|
+
p(d.text, (e) => {
|
|
17
18
|
e.length > 3 && (l.value.fullText = e);
|
|
18
|
-
}),
|
|
19
|
+
}), p(l.value.fullText, (e, t) => {
|
|
19
20
|
n.value = e.length > 3 && e.length > t.length, e.length > 3 && f();
|
|
20
21
|
});
|
|
21
22
|
const f = () => {
|
|
@@ -29,38 +30,38 @@ const C = { class: "popup" }, N = { class: "wrapper" }, D = { class: "scrollbar"
|
|
|
29
30
|
headers: {
|
|
30
31
|
"Content-Type": "application/json",
|
|
31
32
|
Accept: "application/json",
|
|
32
|
-
Authorization: "Token " +
|
|
33
|
+
Authorization: "Token " + r.token
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
).then((t) => {
|
|
36
|
-
console.log(t.data.suggestions), o.value = t.data.suggestions, o.value.length === 1 &&
|
|
37
|
+
console.log(t.data.suggestions), o.value = t.data.suggestions, o.value.length === 1 && g(o.value[0]);
|
|
37
38
|
}).catch((t) => {
|
|
38
39
|
console.log(t);
|
|
39
40
|
});
|
|
40
|
-
},
|
|
41
|
+
}, g = (e) => {
|
|
41
42
|
l.value.fullText = e.value, n.value = !1;
|
|
42
43
|
const t = {};
|
|
43
|
-
t.text = e.value, t.coords = [Number(e.data.geo_lat), Number(e.data.geo_lon)], t.suggestion = e.data,
|
|
44
|
+
t.text = e.value, t.coords = [Number(e.data.geo_lat), Number(e.data.geo_lon)], t.suggestion = e.data, d.value = t;
|
|
44
45
|
};
|
|
45
46
|
return (e, t) => {
|
|
46
47
|
const h = T("sw-input");
|
|
47
|
-
return
|
|
48
|
+
return c(), i("div", w, [
|
|
48
49
|
k(h, {
|
|
49
|
-
size:
|
|
50
|
+
size: r.size,
|
|
50
51
|
modelValue: l.value.fullText,
|
|
51
52
|
"onUpdate:modelValue": t[0] || (t[0] = (a) => l.value.fullText = a),
|
|
52
53
|
placeholder: s.placeholder
|
|
53
|
-
}, null, 8, ["modelValue", "placeholder"]),
|
|
54
|
-
y(
|
|
55
|
-
|
|
56
|
-
(
|
|
54
|
+
}, null, 8, ["size", "modelValue", "placeholder"]),
|
|
55
|
+
y(v("div", C, [
|
|
56
|
+
v("ul", N, [
|
|
57
|
+
(c(!0), i(S, null, b(o.value, (a, m) => (c(), i("li", {
|
|
57
58
|
tabindex: "1",
|
|
58
59
|
key: m,
|
|
59
|
-
onClick: (
|
|
60
|
-
},
|
|
60
|
+
onClick: (M) => g(a)
|
|
61
|
+
}, z(a.value), 9, D))), 128))
|
|
61
62
|
])
|
|
62
63
|
], 512), [
|
|
63
|
-
[
|
|
64
|
+
[V, n.value]
|
|
64
65
|
])
|
|
65
66
|
]);
|
|
66
67
|
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { renderSlot as l, createElementBlock as a, openBlock as o, normalizeClass as n, createVNode as r } from "vue";
|
|
2
|
+
import c from "./SwSkeletonItem-CU7LvihY.js";
|
|
3
|
+
const f = {
|
|
4
|
+
__name: "SwSkeleton",
|
|
5
|
+
props: {
|
|
6
|
+
class: { type: String, default: "" },
|
|
7
|
+
visual: { type: Boolean, default: !1 }
|
|
8
|
+
},
|
|
9
|
+
setup(t) {
|
|
10
|
+
const e = t;
|
|
11
|
+
return (s, i) => e.visual ? l(s.$slots, "default", { key: 0 }) : (o(), a("div", {
|
|
12
|
+
key: 1,
|
|
13
|
+
class: n(["sw-skeleton", e.class])
|
|
14
|
+
}, [
|
|
15
|
+
l(s.$slots, "skeleton", {}, () => [
|
|
16
|
+
r(c, {
|
|
17
|
+
animate: "",
|
|
18
|
+
size: "small"
|
|
19
|
+
})
|
|
20
|
+
])
|
|
21
|
+
], 2));
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
export {
|
|
25
|
+
f as default
|
|
26
|
+
};
|
|
@@ -148,7 +148,7 @@ function w(e = {}) {
|
|
|
148
148
|
}), t = n.mount(document.createElement("div"));
|
|
149
149
|
l.appendChild(t.$el);
|
|
150
150
|
}
|
|
151
|
-
const h = /* @__PURE__ */ Object.assign({ "./components/SwAlert.vue": () => Promise.resolve().then(() => U), "./components/SwButton.vue": () => import("./SwButton-0uPLNlAn.js"), "./components/SwCollapse.vue": () => import("./SwCollapse-DxAVOWF1.js"), "./components/SwDatePicker.vue": () => import("./SwDatePicker-
|
|
151
|
+
const h = /* @__PURE__ */ Object.assign({ "./components/SwAlert.vue": () => Promise.resolve().then(() => U), "./components/SwButton.vue": () => import("./SwButton-0uPLNlAn.js"), "./components/SwCollapse.vue": () => import("./SwCollapse-DxAVOWF1.js"), "./components/SwDatePicker.vue": () => import("./SwDatePicker-B6PhnM1c.js"), "./components/SwDropdown.vue": () => import("./SwDropdown-DT-3bTwS.js"), "./components/SwDropdownItem.vue": () => import("./SwDropdownItem-C3_wJ1DL.js"), "./components/SwFormItem.vue": () => import("./SwFormItem-CfnEis1u.js"), "./components/SwInput.vue": () => import("./SwInput-VPquPLF5.js"), "./components/SwMessage.vue": () => import("./SwMessage-DQcnzMZB.js"), "./components/SwSection.vue": () => import("./SwSection-CaY8OFmf.js"), "./components/SwSelect.vue": () => import("./SwSelect-C2RKinez.js"), "./components/SwSkeleton.vue": () => import("./SwSkeleton-B7ysp8L9.js"), "./components/SwSkeletonItem.vue": () => import("./SwSkeletonItem-CU7LvihY.js"), "./components/SwSwitch.vue": () => import("./SwSwitch-BxSLWRTx.js"), "./components/SwTabs.vue": () => import("./SwTabs-DgvDpw7u.js"), "./components/SwTabsNew.vue": () => import("./SwTabsNew-Dr5Vyz6M.js"), "./components/SwTabsPane.vue": () => import("./SwTabsPane-BUUmFjh7.js"), "./components/SwTabsPaneNew.vue": () => import("./SwTabsPaneNew-DFPu-sRT.js") }), d = {};
|
|
152
152
|
for (const e in h) {
|
|
153
153
|
const n = e.split("/").pop().replace(".vue", "").replace(/-(\w)/g, (t, o) => o.toUpperCase());
|
|
154
154
|
d[n] = O(() => h[e]());
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(V,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(V=typeof globalThis<"u"?globalThis:V||self,e(V["component-sw"]={},V.vue))})(this,function(V,e){"use strict";function Q(a){return/^(https?:|mailto:|tel:)/.test(a)}function j(a,n){if(arguments.length===0||!a)return null;const t=n||"{Y}-{m}-{d} {G}:{i}:{s}";let l;typeof a=="object"?l=a:(typeof a=="string"&&(/^[0-9]+$/.test(a)?a=parseInt(a):a=a.replace(new RegExp(/-/gm),"/")),typeof a=="number"&&a.toString().length===10&&(a=a*1e3),l=new Date(a));const o="ru-RU",i={Y:l.getFullYear(),m:(l.getMonth()+1).toString().padStart(2,"0"),d:l.getDate(),dd:l.getDate().toString().padStart(2,"0"),G:l.getHours(),H:l.getHours().toString().padStart(2,"0"),i:l.getMinutes().toString().padStart(2,"0"),s:l.getSeconds().toString().padStart(2,"0"),D:new Intl.DateTimeFormat(o,{weekday:"short"}).format(l),F:new Intl.DateTimeFormat(o,{month:"long"}).format(l),M:new Intl.DateTimeFormat(o,{month:"short"}).format(l)};return t.replace(/{(dd|[YmdGHisDFM])+}/g,(h,m)=>i[m])}const Z=(a,n)=>{const t=a.__vccOpts||a;for(const[l,o]of n)t[l]=o;return t},K={name:"SvgIcon",props:{prefix:{type:String,default:"icon"},iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExt(){return Q(this.iconClass)}}},ee=["href"];function te(a,n,t,l,o,i){return i.isExt?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,style:"mask: url("+t.iconClass+") no-repeat 50% 50%;",class:"svg-external-icon svg-icon"},a.$attrs),null,16)):(e.openBlock(),e.createElementBlock("svg",e.mergeProps({key:1,class:"svg-icon "+t.className,"aria-hidden":"true"},a.$attrs),[e.createElementVNode("use",{href:"#"+t.prefix+"-"+t.iconClass},null,8,ee)],16))}const F=Z(K,[["render",te]]),q={__name:"SwAlert",props:{message:{type:String,default:"Default message"},before:{type:String,default:""},class:{type:String,default:""},after:{type:String,default:""},size:{type:String,default:""},duration:{type:Number,default:6e3},type:{type:String,default:"info",validator:a=>["success","warning","error","info"].includes(a)}},emits:["closed"],setup(a,{emit:n}){const t=a,l=n,o=e.ref(!1);let i=null;const h=()=>{o.value=!0,E()},m=()=>{o.value=!1,l("closed")},d=()=>{i&&(clearTimeout(i),i=null)},f=()=>{E()},E=()=>{i=setTimeout(m,t.duration)};e.onMounted(()=>{h()}),e.onUnmounted(()=>{i&&clearTimeout(i)});const D=e.computed(()=>{const p=["sw-alert"];return t.size.length>0&&p.push(`sw-${t.size}`),t.type.length>0&&p.push(`sw-${t.type}`),t.class.length>0&&p.push(t.class),p});return(p,_)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(D.value),onMouseenter:d,onMouseleave:f},[t.before.length>0?(e.openBlock(),e.createBlock(F,{key:0,"icon-class":t.before},null,8,["icon-class"])):e.renderSlot(p.$slots,"prefix",{key:1}),e.renderSlot(p.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)]),t.after.length>0?(e.openBlock(),e.createBlock(F,{key:2,"icon-class":t.after,onClick:m},null,8,["icon-class"])):e.renderSlot(p.$slots,"suffix",{key:3})],34)):e.createCommentVNode("",!0)]),_:3}))}},le=Object.freeze(Object.defineProperty({__proto__:null,default:q},Symbol.toStringTag,{value:"Module"}));let P=document.querySelector("div.sw-alert-wrapper");function A(a={}){P||(P=document.createElement("div"),P.className="sw-alert-wrapper",document.body.appendChild(P));const n=e.createApp({setup(){return()=>e.h(q,{...a,onClose:()=>{P.removeChild(n._container),n.unmount()}})}}),t=n.mount(document.createElement("div"));P.appendChild(t.$el)}const R=Object.assign({"./components/SwAlert.vue":()=>Promise.resolve().then(()=>le),"./components/SwButton.vue":()=>Promise.resolve().then(()=>ne),"./components/SwCollapse.vue":()=>Promise.resolve().then(()=>ae),"./components/SwDatePicker.vue":()=>Promise.resolve().then(()=>be),"./components/SwDropdown.vue":()=>Promise.resolve().then(()=>$e),"./components/SwDropdownItem.vue":()=>Promise.resolve().then(()=>De),"./components/SwFormItem.vue":()=>Promise.resolve().then(()=>Ee),"./components/SwInput.vue":()=>Promise.resolve().then(()=>Ve),"./components/SwMessage.vue":()=>Promise.resolve().then(()=>xe),"./components/SwSection.vue":()=>Promise.resolve().then(()=>ze),"./components/SwSelect.vue":()=>Promise.resolve().then(()=>Fe),"./components/SwSkeleton.vue":()=>Promise.resolve().then(()=>Le),"./components/SwSkeletonItem.vue":()=>Promise.resolve().then(()=>Ae),"./components/SwSwitch.vue":()=>Promise.resolve().then(()=>Re),"./components/SwTabs.vue":()=>Promise.resolve().then(()=>We),"./components/SwTabsNew.vue":()=>Promise.resolve().then(()=>Ge),"./components/SwTabsPane.vue":()=>Promise.resolve().then(()=>Je),"./components/SwTabsPaneNew.vue":()=>Promise.resolve().then(()=>Ze)}),I={};for(const a in R){const n=a.split("/").pop().replace(".vue","").replace(/-(\w)/g,(t,l)=>l.toUpperCase());I[n]=e.defineAsyncComponent(()=>R[a]())}const oe={install(a){Object.keys(I).forEach(n=>{a.component(n,I[n]),console.log(n)}),a.config.globalProperties.$Alert=A,a.provide("Alert",A)}},H={__name:"SwButton",props:{class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:""},round:{type:Boolean,default:!1},text:{type:Boolean,default:!1},link:{type:Boolean,default:!1},href:{type:String,default:""}},setup(a){const n=a,t=()=>{if(n.href.length>0){const o=document.createElement("a");o.setAttribute("href",n.href),o.setAttribute("target","_blank"),o.click()}},l=e.computed(()=>{let o=["sw-button"];return n.size.length>0&&o.push("sw-"+n.size),n.type.length>0&&o.push("sw-"+n.type),n.round&&o.push("sw-round"),n.text&&o.push("sw-text"),n.link&&o.push("sw-link"),n.class.length>0&&o.push(n.class),o});return(o,i)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(l.value),onClick:t},[e.renderSlot(o.$slots,"default")],2))}},ne=Object.freeze(Object.defineProperty({__proto__:null,default:H},Symbol.toStringTag,{value:"Module"})),ae=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwCollapse",props:{visual:{type:Boolean,default:!0}},setup(a){e.onMounted(()=>{l.value="0px"});const n=e.ref(null),t=a,l=e.computed(()=>{var o;return t.visual?((o=n.value)==null?void 0:o.scrollHeight)+"px":"0px"});return(o,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sw-collapse",{open:t.visual}]),style:e.normalizeStyle({height:l.value}),ref_key:"collapse",ref:n},[e.renderSlot(o.$slots,"default")],6))}}},Symbol.toStringTag,{value:"Module"})),se={class:"sw-data-picker"},re={class:"month_year"},ce={class:"text"},ie={key:0,class:"week"},de={key:1,class:"year"},pe=["onClick"],me={key:2,class:"month"},fe=["onClick"],ue={key:0},ge={class:"month_year"},he={class:"text"},ye={key:0,class:"week"},_e={key:1,class:"year"},Se=["onClick"],ke={key:2,class:"month"},we=["onClick"],be=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDatePicker",props:{data:Object,limitation:{type:[Boolean,Array],default:()=>!1},range:{type:String,default:"solid"}},emits:["input"],setup(a,{emit:n}){var U,G,X,J;const t=a,l=n,o=e.ref(3),i=e.ref(new Date),h=e.ref(new Date),m=e.ref(new Date().getFullYear()),d=e.ref(new Date().getMonth()),f=e.ref(new Date().getFullYear()),E=e.ref(new Date().getMonth()),D=e.ref(new Date().getMonth()+1),p=e.ref([]),_=e.ref(0),S=e.ref(-1),g=e.ref(-1),w=e.ref(navigator.languages||"ru"),y=/en|zh|ja|he/.test(w.value)?0:1,N=e.computed(()=>Array.from({length:12},(c,s)=>{const r=new Date(2024,s);return new Intl.DateTimeFormat(w.value,{month:"long"}).format(r)})),B=c=>{let s=c.split(c.match(/\D.*?\D?/));return s[0].length>2?s.join("-")+"T00:00:01":s.reverse().join("-")+"T00:00:01"};(U=t.data)!=null&&U.startDate&&(i.value=new Date(B(t.data.startDate)),m.value=i.value.getFullYear(),d.value=i.value.getMonth()),(G=t.data)!=null&&G.endDate&&t.range==="range"&&(h.value=new Date(B(t.data.endDate)),f.value=h.value.getFullYear(),E.value=h.value.getMonth());const k=()=>{p.value=[],_.value=0;const c=new Date(m.value,d.value,0);for(let r=c.getDate()-c.getDay()+y;r<=c.getDate();r++)c.getDay()!==6+y&&(p.value.push({day:r,month:c.getMonth(),year:c.getFullYear(),class:[]}),_.value++);const s=new Date(m.value,d.value+1,0).getDate();for(let r=1;r<=s;r++)p.value.push({day:r,month:d.value,year:m.value,class:[]}),_.value++;if(t.range==="range"){const r=new Date(m.value,d.value+1,1),u=new Date(m.value,d.value+2,0).getDate();for(let M=1;M<=u;M++)p.value.push({day:M,month:r.getMonth(),year:r.getFullYear(),class:[]})}$()},$=()=>{var s;if(!((s=t.data)!=null&&s.holiday))return;const c=(r,u)=>{r.forEach(M=>{const[b,C,x]=M.split("-").map(Number),O=p.value.findIndex(Y=>Y.year===b&&Y.month+1===C&&Y.day===x);O!==-1&&(p.value[O].class[0]=u)})};c(t.data.holiday.preholidays,"preholiday"),c(t.data.holiday.holidays,"weekend"),c(t.data.holiday.holiday,"holiday"),c(t.data.holiday.nowork,"nowork")},z=()=>{if(!t.limitation||t.limitation.length<2)return!1;const c=[...t.limitation].sort((s,r)=>new Date(B(s.startDate)).getTime()-new Date(B(r.startDate)).getTime());for(let s=1;s<c.length;s++){const r=new Date(B(c[s-1].endDate));if(new Date(B(c[s].startDate))<=r)return console.warn("Warning: Диапазоны пересекаются:",c[s-1],c[s]),!0}return!1},v=(c,s,r)=>{if(!t.limitation||t.limitation.length===0)return!0;const u=new Date(c,s,r).getTime();for(let M of t.limitation){const{startDate:b,endDate:C}=M;if(!b&&C){const x=new Date(B(C)).getTime();if(u<=x)return!1}if(b&&!C){const x=new Date(B(b)).getTime();if(u>=x)return!1}if(b&&C){const x=new Date(B(b)).getTime(),O=new Date(B(C)).getTime();if(x<=O){if(u>=x&&u<=O)return!1}else if(u>=x||u<=O)return!1}}return!0},L=(c,s)=>{const r=j(new Date(c.year,c.month,c.day),"{dd}.{m}.{Y}");t.range==="range"?g.value!==-1?(Ke(),S.value=s,p.value[s].class[1]="active"):S.value!==-1?(g.value=s,et(S.value,g.value,r)):(S.value=s,p.value[s].class[1]="active"):(S.value!==-1&&(p.value[S.value].class[1]=""),S.value=s,p.value[s].class[1]="active",l("input",{dateStart:r,count:1}))},Ke=()=>{p.value.forEach(c=>c.class[1]=""),S.value=-1,g.value=-1},et=(c,s,r)=>{let u=j(new Date(p.value[c].year,p.value[c].month,p.value[c].day),"{dd}.{m}.{Y}"),M=tt(c,s);if(s>=c)for(let b=c+1;b<s;b++)p.value[b].class[1]="select";else for(let b=s+1;b<c;b++)p.value[b].class[1]="select";p.value[s].class[1]="active",l("input",{dateStart:u,dateEnd:r,count:M})},tt=(c,s)=>{var b;let r=Math.abs(c-s)+1,[u,M]=[Math.min(c,s),Math.max(c,s)];for(let C=u;C<=M;C++)((b=p.value[C])==null?void 0:b.class[0])==="holiday"&&r--;return r},T=(c,s)=>{v(c,s)&&(i.value=new Date(c,s,1),m.value=i.value.getFullYear(),d.value=i.value.getMonth(),t.range==="year"&&o.value===0?L({year:c,month:s,day:1},8):k())};if(k(),z()&&console.error("Ошибка: Найдены пересекающиеся диапазоны!"),(X=t.data)!=null&&X.startDate&&(S.value=p.value.findIndex(c=>c.day===i.value.getDate()&&c.month===d.value&&c.year===m.value),S.value!==-1&&(p.value[S.value].class[1]="active")),(J=t.data)!=null&&J.endDate&&t.range==="range"&&(g.value=p.value.findIndex(c=>c.day===h.value.getDate()&&c.month===E.value&&c.year===f.value),g.value!==-1)){p.value[g.value].class[1]="active";for(let c=S.value+1;c<g.value;c++)p.value[c].class[1]="select"}return(c,s)=>(e.openBlock(),e.createElementBlock("div",se,[e.createElementVNode("div",null,[e.createElementVNode("p",re,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[0]||(s[0]=e.withModifiers(r=>T(m.value-1,d.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:s[1]||(s[1]=e.withModifiers(r=>{o.value=0,T(m.value,d.value-1)},["prevent"]))},"‹")]),e.createElementVNode("span",ce,[e.createElementVNode("button",{onClick:s[2]||(s[2]=e.withModifiers(r=>o.value=1,["prevent"]))},e.toDisplayString(m.value),1),e.createElementVNode("button",{onClick:s[3]||(s[3]=e.withModifiers(r=>o.value=1,["prevent"]))},e.toDisplayString(e.unref(j)(i.value.setMonth(d.value),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[4]||(s[4]=e.withModifiers(r=>{o.value=0,T(m.value,d.value+1)},["prevent"]))},"›"),e.createElementVNode("button",{onClick:s[5]||(s[5]=e.withModifiers(r=>T(m.value+1,d.value),["prevent"]))},"»")])]),t.range==="year"||o.value===1?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ie,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(r,u)=>e.createElementVNode("button",{key:u,class:"disabled"},e.toDisplayString(e.unref(j)(new Date(1970,1,r+e.unref(y)),"{D}")),1)),64))])),t.range==="year"||o.value===1?(e.openBlock(),e.createElementBlock("div",de,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,(r,u)=>(e.openBlock(),e.createElementBlock("button",{key:u,onClick:e.withModifiers(M=>{o.value=0,T(m.value,u)},["prevent"])},e.toDisplayString(r),9,pe))),128))])):(e.openBlock(),e.createElementBlock("div",me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,(r,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:u},[u<_.value+(7-new Date(m.value,d.value+1,1).getDay()+e.unref(y))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(r.month===d.value&&v(r.year,r.month,r.day)?r.class:"disabled"),onClick:e.withModifiers(()=>{r.month===d.value&&L(r,u)},["prevent"])},e.toDisplayString(r.day),11,fe)):e.createCommentVNode("",!0)],64))),128))]))]),t.range==="range"?(e.openBlock(),e.createElementBlock("div",ue,[e.createElementVNode("p",ge,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[6]||(s[6]=e.withModifiers(r=>T(m.value-1,d.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:s[7]||(s[7]=e.withModifiers(r=>{o.value=0,T(m.value,d.value-1)},["prevent"]))},"‹")]),e.createElementVNode("span",he,[e.createElementVNode("button",{onClick:s[8]||(s[8]=e.withModifiers(r=>o.value=2,["prevent"]))},e.toDisplayString(new Date(m.value,d.value+1).getFullYear()),1),e.createElementVNode("button",{onClick:s[9]||(s[9]=e.withModifiers(r=>o.value=2,["prevent"]))},e.toDisplayString(e.unref(j)(i.value.setMonth(d.value+1),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[10]||(s[10]=e.withModifiers(r=>{o.value=0,T(m.value,d.value+1)},["prevent"]))},"›"),e.createElementVNode("button",{onClick:s[11]||(s[11]=e.withModifiers(r=>T(m.value+1,d.value),["prevent"]))},"»")])]),o.value!==2?(e.openBlock(),e.createElementBlock("div",ye,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(r,u)=>e.createElementVNode("button",{key:u,class:"disabled"},e.toDisplayString(e.unref(j)(new Date(1970,1,r+e.unref(y)),"{D}")),1)),64))])):e.createCommentVNode("",!0),o.value===2?(e.openBlock(),e.createElementBlock("div",_e,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,(r,u)=>(e.openBlock(),e.createElementBlock("button",{key:u,onClick:e.withModifiers(M=>{o.value=0,T(m.value,u-1)},["prevent"])},e.toDisplayString(r),9,Se))),128))])):(e.openBlock(),e.createElementBlock("div",ke,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,(r,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:u},[u>=_.value-(7+new Date(m.value,d.value+1,1).getDay()-e.unref(y))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(r.month===D.value&&v(r.year,r.month,r.day)?r.class:"disabled"),onClick:e.withModifiers(()=>{r.month===D.value&&L(r,u)},["prevent"])},e.toDisplayString(r.day),11,we)):e.createCommentVNode("",!0)],64))),128))]))])):e.createCommentVNode("",!0)]))}}},Symbol.toStringTag,{value:"Module"})),Be=["id"],$e=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDropdown",props:e.mergeModels({class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:""},trigger:{type:String,default:"click"},placement:{type:String,default:"bottom-left"},maxWidth:{type:Number,default:0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a,{expose:n}){const t=a;e.computed(()=>"dropdown"+Array.from(document.body.children).indexOf(document.querySelector("ul")));const l=e.useModel(a,"modelValue"),o=e.ref(null),i=e.ref(null),h=e.ref({}),m=Math.ceil(Math.random()*1e3),d=e.computed(()=>{let g=["sw-dropdown"];return t.size.length>0&&g.push("sw-"+t.size),t.type.length>0&&g.push("sw-"+t.type),g}),f=async()=>{if(await e.nextTick(),!i.value)return;const g=window.pageYOffset||document.documentElement.scrollTop,w=window.pageXOffset||document.documentElement.scrollLeft;document.body.style.position="fixed",document.body.style.top=`-${g}px`,document.body.style.left=`-${w}px`,document.body.style.position="",document.body.style.top="",document.body.style.left="",document.documentElement.scrollTop=g,document.documentElement.scrollLeft=w;const y=o.value.getBoundingClientRect(),N=i.value.offsetHeight,B=i.value.offsetWidth;console.log("popupHeight",N),console.log("popupWidth",B);let k=y.left+y.width/2+w,$=y.top+y.height/2+g;const[z,v]=t.placement.split("-",2);switch(console.log(t.placement),z){case"bottom":$=$+y.height/2+8;break;case"top":$=$-y.height/2-8-N;break;case"left":k=k-B-y.width/2-8,$=$-N/2;break;case"right":k=k+y.width/2+8,$=$-N/2;break}switch(v){case"left":k=k-y.width/2;break;case"right":k=k-B+y.width/2;break}k<0&&(k=0),$<0&&($=0),h.value={position:"absolute",top:`${$}px`,left:`${k}px`,maxWidth:t.maxWidth===0?"":`${t.maxWidth}px`}};n({positionPopup:f});const E=()=>{t.trigger==="click"&&(l.value=!l.value),l.value&&f()},D=()=>{t.trigger==="hover"&&(l.value=!l.value),l.value&&f()},p=()=>{t.trigger==="context"&&(l.value=!l.value),l.value&&f()},_=()=>{l.value&&f()},S=g=>{!g.target.closest(`[id="${m}"]`)&&o.value&&!o.value.contains(g.target)&&(l.value=!1)};return e.onMounted(()=>{window.addEventListener("resize",_),window.addEventListener("click",S)}),e.onUnmounted(()=>{window.removeEventListener("resize",_),window.removeEventListener("click",S)}),(g,w)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(d.value),onClick:w[0]||(w[0]=y=>E()),onMouseover:w[1]||(w[1]=e.withModifiers(y=>D(),["stop"])),onMouseleave:w[2]||(w[2]=e.withModifiers(y=>D(),["stop"])),onContextmenu:w[3]||(w[3]=e.withModifiers(y=>p(),["stop"])),ref_key:"dropdownRef",ref:o},[e.renderSlot(g.$slots,"default"),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[l.value?(e.openBlock(),e.createElementBlock("ul",{key:0,ref_key:"popupRef",ref:i,id:e.unref(m),class:e.normalizeClass(["sw-dropdown-popup",t.class]),style:e.normalizeStyle(h.value),tabindex:"-1"},[e.renderSlot(g.$slots,"dropdown")],14,Be)):e.createCommentVNode("",!0)]))],34))}}},Symbol.toStringTag,{value:"Module"})),De=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDropdownItem",props:{class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:""},iconBefore:{type:String,default:""}},setup(a){const n=a,t=e.computed(()=>{let l=["sw-dropdown-item"];return n.size.length>0&&l.push("sw-"+n.size),n.type.length>0&&l.push("sw-"+n.type),n.class.length>0&&l.push(n.class),l});return(l,o)=>{const i=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(t.value)},[e.createVNode(i,{"icon-class":a.iconBefore},null,8,["icon-class"]),e.renderSlot(l.$slots,"default")],2)}}}},Symbol.toStringTag,{value:"Module"})),Ee=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwFormItem",props:{class:{type:String,default:""},type:{type:String,default:""}},setup(a){const n=a,t=e.computed(()=>{let l=["sw-form-item"];return n.type.length>0&&l.push("sw-"+n.type),n.class.length>0&&l.push(n.class),l});return(l,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value)},[e.renderSlot(l.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Me=["for"],Ce={key:0,title:"Это поле обязательно для заполнения."},Te=["required","placeholder","type","id","name"],Ve=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwInput",props:e.mergeModels({before:{type:String,default:""},after:{type:String,default:""},placeholder:{type:String,default:""},label:{type:String,default:""},name:{type:String,required:!0},class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:"text"},required:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["suffix","prefix","focusInput"],["update:modelValue"]),setup(a,{emit:n}){var p;const t=e.useModel(a,"modelValue"),l=a,o=e.ref(null),i=n,h=_=>{i("focusInput"),_.target.setSelectionRange(t.value.length,t.value.length),o.value!==null&&(o.value.style.top="-.6em")},m=_=>{var S;((S=t.value)==null?void 0:S.length)===0&&o.value!==null&&o.value.removeAttribute("style")};((p=t.value)==null?void 0:p.length)>0&&o.value!==null&&(o.value.style.top="-.6em");const d=()=>{i("suffix")},f=()=>{i("prefix")},E=e.computed(()=>{let _=["sw-input"];return l.size.length>0&&_.push("sw-"+l.size),l.class.length>0&&_.push(l.class),_});e.watch(t,(_,S)=>{l.type==="phone"&&(t.value=D(_,S))});const D=(_,S)=>{if(/^\+[0-9]\s/.test(S)&&_.length===2||/^\+0\s/.test(_))return"";const g=_;if(typeof g>"u"||g.length===0)return g;const w="+0 (___) ___-__-__";let y=0;const N=w.replace(/\D/g,""),B=g.replace(/\D/g,"");let k=w.replace(/[_\d]/g,z=>y<B.length?B.charAt(y++)||N.charAt(y):z);y=k.indexOf("_"),y!==-1&&(y=y<5?3:y,k=k.slice(0,y));let $=w.slice(0,g.length).replace(/_+/g,z=>`\\d{1,${z.length}}`).replace(/[+()]/g,"\\$&");if($=new RegExp(`^${$}$`),k=k.replace(/[-—]$|(\) )$/g,""),!$.test(g)||g.length<5)return k};return(_,S)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(E.value)},[l.before.length>0?(e.openBlock(),e.createBlock(F,{key:0,"icon-class":l.before,onClick:f},null,8,["icon-class"])):e.renderSlot(_.$slots,"prefix",{key:1}),l.label.length>0?(e.openBlock(),e.createElementBlock("label",{key:2,for:l.name,ref_key:"lab",ref:o},[e.createTextVNode(e.toDisplayString(l.label),1),l.required?(e.openBlock(),e.createElementBlock("span",Ce,"*")):e.createCommentVNode("",!0)],8,Me)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":S[0]||(S[0]=g=>t.value=g),required:l.required,placeholder:l.required&&l.label.length===0?l.placeholder+"*":l.placeholder,type:l.type,id:l.name,name:l.name,size:"60",onFocus:h,onBlur:m,maxlength:"128"},null,40,Te),[[e.vModelDynamic,t.value]]),l.after.length>0?(e.openBlock(),e.createBlock(F,{key:3,"icon-class":l.after,onClick:d},null,8,["icon-class"])):e.renderSlot(_.$slots,"suffix",{key:4})],2))}}},Symbol.toStringTag,{value:"Module"})),Ne={key:0},xe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwMessage",props:e.mergeModels({name:{type:String,default:""},class:{type:String,default:""},iconAfter:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=e.useModel(a,"modelValue"),t=a,l=e.ref(null);return(o,i)=>{const h=e.resolveComponent("svg-icon");return n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["sw-message",t.class]),ref_key:"messageRef",ref:l},[t.name.length>0?(e.openBlock(),e.createElementBlock("header",Ne,[e.renderSlot(o.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createVNode(H,{link:"",type:"primary",onClick:i[0]||(i[0]=m=>n.value=!1)},{default:e.withCtx(()=>[e.createVNode(h,{"icon-class":t.iconAfter},null,8,["icon-class"])]),_:1})])])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default",{},()=>[i[1]||(i[1]=e.createTextVNode("111222"))]),e.createElementVNode("footer",null,[e.renderSlot(o.$slots,"footer")])],2)):e.createCommentVNode("",!0)}}}},Symbol.toStringTag,{value:"Module"})),ze=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSection",props:{name:{type:String,default:""},class:{type:String,default:""},iconAfter:{type:String,default:""}},setup(a){const n=a;return(t,l)=>{const o=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(n.class)},[e.createElementVNode("header",null,[e.renderSlot(t.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(n.name)+" ",1),e.createVNode(o,{"icon-class":n.iconAfter},null,8,["icon-class"])])]),e.renderSlot(t.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(t.$slots,"footer")])],2)}}}},Symbol.toStringTag,{value:"Module"})),je={class:"popup"},Pe={class:"wrapper"},Oe={class:"scrollbar"},ve=["onClick"],Fe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSelect",props:e.mergeModels({name:{type:String,default:""},class:{type:String,default:""},placeholder:{type:String,default:""},token:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=e.ref({fullText:""}),t=e.ref(!1),l=e.ref([]),o=e.useModel(a,"modelValue"),i=a;e.watch(o.text,d=>{d.length>3&&(n.value.fullText=d)}),e.watch(n.value.fullText,(d,f)=>{t.value=d.length>3&&d.length>f.length,d.length>3&&h()});const h=()=>{let d="https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address";console.log(n.value.fullText),axios.post(d,{query:n.value.fullText},{headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:"Token "+i.token}}).then(f=>{console.log(f.data.suggestions),l.value=f.data.suggestions,l.value.length===1&&m(l.value[0])}).catch(f=>{console.log(f)})},m=d=>{n.value.fullText=d.value,t.value=!1;const f={};f.text=d.value,f.coords=[Number(d.data.geo_lat),Number(d.data.geo_lon)],f.suggestion=d.data,o.value=f};return(d,f)=>{const E=e.resolveComponent("sw-input");return e.openBlock(),e.createElementBlock("div",je,[e.createVNode(E,{size:"large",modelValue:n.value.fullText,"onUpdate:modelValue":f[0]||(f[0]=D=>n.value.fullText=D),placeholder:a.placeholder},null,8,["modelValue","placeholder"]),e.withDirectives(e.createElementVNode("div",Pe,[e.createElementVNode("ul",Oe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(D,p)=>(e.openBlock(),e.createElementBlock("li",{tabindex:"1",key:p,onClick:_=>m(D)},e.toDisplayString(D.value),9,ve))),128))])],512),[[e.vShow,t.value]])])}}}},Symbol.toStringTag,{value:"Module"})),Ie={key:0},W={__name:"SwSkeletonItem",props:{width:{type:String,default:"100"},class:{type:String,default:""},animate:{type:Boolean,default:!1},size:{type:String,default:""}},setup(a){const n=a,t=e.computed(()=>{let o=["sw-skeleton-item"];return n.size.length>0&&o.push("sw-"+n.size),n.animate&&o.push("sw-animate"),n.class.length>0&&o.push(n.class),o}),l=e.computed(()=>({width:n.width+"%"}));return(o,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value),style:e.normalizeStyle(l.value)},[n.animate?(e.openBlock(),e.createElementBlock("div",Ie)):e.createCommentVNode("",!0)],6))}},Ae=Object.freeze(Object.defineProperty({__proto__:null,default:W},Symbol.toStringTag,{value:"Module"})),Le=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSkeleton",props:{class:{type:String,default:""},visual:{type:Boolean,default:!1}},setup(a){const n=a;return(t,l)=>n.visual?e.renderSlot(t.$slots,"default",{key:0},()=>[l[0]||(l[0]=e.createTextVNode("1"))]):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["sw-skeleton",n.class])},[e.renderSlot(t.$slots,"skeleton",{},()=>[e.createVNode(W,{animate:"",size:"small"})])],2))}}},Symbol.toStringTag,{value:"Module"})),Ye=["name","id"],qe=["for","data-onlabel","data-offlabel"],Re=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSwitch",props:e.mergeModels({id:{type:String,default:"checkbox"},class:{type:String,default:""},name:{type:String,default:""},on:{type:String,default:""},off:{type:String,default:""},size:{type:String,default:""},checkbox:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=e.useModel(a,"modelValue"),t=a,l=e.computed(()=>{let o=["sw-switch"];return t.size.length>0&&o.push("sw-"+t.size),t.checkbox&&o.push("sw-checkbox"),t.class.length>0&&o.push(t.class),o});return(o,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value)},[e.withDirectives(e.createElementVNode("input",{type:"checkbox",name:t.name,class:"sw-control",id:t.id,"onUpdate:modelValue":i[0]||(i[0]=h=>n.value=h)},null,8,Ye),[[e.vModelCheckbox,n.value]]),e.createElementVNode("label",{for:t.id,class:"sw-label","data-onlabel":t.on,"data-offlabel":t.off},null,8,qe),e.renderSlot(o.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),He=["onClick"],We=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabs",props:e.mergeModels({name:{type:String},class:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["tab-click"],["update:modelValue"]),setup(a,{emit:n}){e.ref(0);const t=e.ref([]),l=a,o=e.useModel(a,"modelValue"),i=n;return t.value=e.useSlots().default().filter(h=>h.type.__name==="SwTabsPane"),e.provide("activeTab",o),e.provide("tabs",t),(h,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("sw-tabs "+l.class)},[e.createElementVNode("header",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(d,f)=>(e.openBlock(),e.createElementBlock("span",{key:f,class:e.normalizeClass([{active:o.value===f}]),onClick:E=>{o.value=f,i("tab-click",f)}},e.toDisplayString(d.props.label||d.props.title),11,He))),128))]),e.renderSlot(h.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Ue=["onClick"],Ge=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsNew",props:e.mergeModels({name:{type:String},class:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["tab-click"],["update:modelValue"]),setup(a,{emit:n}){e.ref(0);const t=e.ref([]),l=a,o=e.useModel(a,"modelValue"),i=n;return e.provide("activeTab",o),e.provide("tabs",t),e.provide("registerTab",h=>{t.value.push(h)}),(h,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("sw-tabs "+l.class)},[e.createElementVNode("header",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(d,f)=>(e.openBlock(),e.createElementBlock("span",{key:f,class:e.normalizeClass([{active:o.value===f}]),onClick:E=>{o.value=f,i("tab-click",f)}},e.toDisplayString(d.props.label||d.props.title),11,Ue))),128))]),e.renderSlot(h.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Xe={key:0,class:"tab-content"},Je=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPane",props:{title:{type:String,required:!0}},setup(a){const n=a,t=e.inject("activeTab"),l=e.inject("tabs"),o=e.computed(()=>{const i=l.value.findIndex(h=>h.props.title===n.title);return t.value===i});return(i,h)=>o.value?(e.openBlock(),e.createElementBlock("div",Xe,[e.renderSlot(i.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"})),Qe={key:0,class:"tab-content"},Ze=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPaneNew",props:{label:{type:String,required:!0},title:{type:String}},setup(a){const n=a,t=e.inject("registerTab");if(!t)throw new Error("SwTabsPane must be used inside SwTabs");t({props:n});const l=e.inject("activeTab");if(!e.inject("tabs"))throw new Error("Tabs array is not provided by SwTabs");const i=e.inject("tabs").value.length-1;return(h,m)=>e.unref(l)===i?(e.openBlock(),e.createElementBlock("div",Qe,[e.renderSlot(h.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"}));V.Alert=A,V.Library=oe,V.components=I,Object.defineProperty(V,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(V,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(V=typeof globalThis<"u"?globalThis:V||self,e(V["component-sw"]={},V.vue))})(this,function(V,e){"use strict";function Q(a){return/^(https?:|mailto:|tel:)/.test(a)}function j(a,n){if(arguments.length===0||!a)return null;const t=n||"{Y}-{m}-{d} {G}:{i}:{s}";let l;typeof a=="object"?l=a:(typeof a=="string"&&(/^[0-9]+$/.test(a)?a=parseInt(a):a=a.replace(new RegExp(/-/gm),"/")),typeof a=="number"&&a.toString().length===10&&(a=a*1e3),l=new Date(a));const o="ru-RU",i={Y:l.getFullYear(),m:(l.getMonth()+1).toString().padStart(2,"0"),d:l.getDate(),dd:l.getDate().toString().padStart(2,"0"),G:l.getHours(),H:l.getHours().toString().padStart(2,"0"),i:l.getMinutes().toString().padStart(2,"0"),s:l.getSeconds().toString().padStart(2,"0"),D:new Intl.DateTimeFormat(o,{weekday:"short"}).format(l),F:new Intl.DateTimeFormat(o,{month:"long"}).format(l),M:new Intl.DateTimeFormat(o,{month:"short"}).format(l)};return t.replace(/{(dd|[YmdGHisDFM])+}/g,(h,m)=>i[m])}const Z=(a,n)=>{const t=a.__vccOpts||a;for(const[l,o]of n)t[l]=o;return t},K={name:"SvgIcon",props:{prefix:{type:String,default:"icon"},iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExt(){return Q(this.iconClass)}}},ee=["href"];function te(a,n,t,l,o,i){return i.isExt?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,style:"mask: url("+t.iconClass+") no-repeat 50% 50%;",class:"svg-external-icon svg-icon"},a.$attrs),null,16)):(e.openBlock(),e.createElementBlock("svg",e.mergeProps({key:1,class:"svg-icon "+t.className,"aria-hidden":"true"},a.$attrs),[e.createElementVNode("use",{href:"#"+t.prefix+"-"+t.iconClass},null,8,ee)],16))}const F=Z(K,[["render",te]]),q={__name:"SwAlert",props:{message:{type:String,default:"Default message"},before:{type:String,default:""},class:{type:String,default:""},after:{type:String,default:""},size:{type:String,default:""},duration:{type:Number,default:6e3},type:{type:String,default:"info",validator:a=>["success","warning","error","info"].includes(a)}},emits:["closed"],setup(a,{emit:n}){const t=a,l=n,o=e.ref(!1);let i=null;const h=()=>{o.value=!0,E()},m=()=>{o.value=!1,l("closed")},d=()=>{i&&(clearTimeout(i),i=null)},f=()=>{E()},E=()=>{i=setTimeout(m,t.duration)};e.onMounted(()=>{h()}),e.onUnmounted(()=>{i&&clearTimeout(i)});const D=e.computed(()=>{const p=["sw-alert"];return t.size.length>0&&p.push(`sw-${t.size}`),t.type.length>0&&p.push(`sw-${t.type}`),t.class.length>0&&p.push(t.class),p});return(p,_)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(D.value),onMouseenter:d,onMouseleave:f},[t.before.length>0?(e.openBlock(),e.createBlock(F,{key:0,"icon-class":t.before},null,8,["icon-class"])):e.renderSlot(p.$slots,"prefix",{key:1}),e.renderSlot(p.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)]),t.after.length>0?(e.openBlock(),e.createBlock(F,{key:2,"icon-class":t.after,onClick:m},null,8,["icon-class"])):e.renderSlot(p.$slots,"suffix",{key:3})],34)):e.createCommentVNode("",!0)]),_:3}))}},le=Object.freeze(Object.defineProperty({__proto__:null,default:q},Symbol.toStringTag,{value:"Module"}));let P=document.querySelector("div.sw-alert-wrapper");function A(a={}){P||(P=document.createElement("div"),P.className="sw-alert-wrapper",document.body.appendChild(P));const n=e.createApp({setup(){return()=>e.h(q,{...a,onClose:()=>{P.removeChild(n._container),n.unmount()}})}}),t=n.mount(document.createElement("div"));P.appendChild(t.$el)}const R=Object.assign({"./components/SwAlert.vue":()=>Promise.resolve().then(()=>le),"./components/SwButton.vue":()=>Promise.resolve().then(()=>ne),"./components/SwCollapse.vue":()=>Promise.resolve().then(()=>ae),"./components/SwDatePicker.vue":()=>Promise.resolve().then(()=>be),"./components/SwDropdown.vue":()=>Promise.resolve().then(()=>$e),"./components/SwDropdownItem.vue":()=>Promise.resolve().then(()=>De),"./components/SwFormItem.vue":()=>Promise.resolve().then(()=>Ee),"./components/SwInput.vue":()=>Promise.resolve().then(()=>Ve),"./components/SwMessage.vue":()=>Promise.resolve().then(()=>ze),"./components/SwSection.vue":()=>Promise.resolve().then(()=>xe),"./components/SwSelect.vue":()=>Promise.resolve().then(()=>Fe),"./components/SwSkeleton.vue":()=>Promise.resolve().then(()=>Le),"./components/SwSkeletonItem.vue":()=>Promise.resolve().then(()=>Ae),"./components/SwSwitch.vue":()=>Promise.resolve().then(()=>Re),"./components/SwTabs.vue":()=>Promise.resolve().then(()=>We),"./components/SwTabsNew.vue":()=>Promise.resolve().then(()=>Ge),"./components/SwTabsPane.vue":()=>Promise.resolve().then(()=>Je),"./components/SwTabsPaneNew.vue":()=>Promise.resolve().then(()=>Ze)}),I={};for(const a in R){const n=a.split("/").pop().replace(".vue","").replace(/-(\w)/g,(t,l)=>l.toUpperCase());I[n]=e.defineAsyncComponent(()=>R[a]())}const oe={install(a){Object.keys(I).forEach(n=>{a.component(n,I[n]),console.log(n)}),a.config.globalProperties.$Alert=A,a.provide("Alert",A)}},H={__name:"SwButton",props:{class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:""},round:{type:Boolean,default:!1},text:{type:Boolean,default:!1},link:{type:Boolean,default:!1},href:{type:String,default:""}},setup(a){const n=a,t=()=>{if(n.href.length>0){const o=document.createElement("a");o.setAttribute("href",n.href),o.setAttribute("target","_blank"),o.click()}},l=e.computed(()=>{let o=["sw-button"];return n.size.length>0&&o.push("sw-"+n.size),n.type.length>0&&o.push("sw-"+n.type),n.round&&o.push("sw-round"),n.text&&o.push("sw-text"),n.link&&o.push("sw-link"),n.class.length>0&&o.push(n.class),o});return(o,i)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(l.value),onClick:t},[e.renderSlot(o.$slots,"default")],2))}},ne=Object.freeze(Object.defineProperty({__proto__:null,default:H},Symbol.toStringTag,{value:"Module"})),ae=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwCollapse",props:{visual:{type:Boolean,default:!0}},setup(a){e.onMounted(()=>{l.value="0px"});const n=e.ref(null),t=a,l=e.computed(()=>{var o;return t.visual?((o=n.value)==null?void 0:o.scrollHeight)+"px":"0px"});return(o,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sw-collapse",{open:t.visual}]),style:e.normalizeStyle({height:l.value}),ref_key:"collapse",ref:n},[e.renderSlot(o.$slots,"default")],6))}}},Symbol.toStringTag,{value:"Module"})),se={class:"sw-data-picker"},re={class:"month_year"},ce={class:"text"},ie={key:0,class:"week"},de={key:1,class:"year"},pe=["onClick"],me={key:2,class:"month"},fe=["onClick"],ue={key:0},ge={class:"month_year"},he={class:"text"},ye={key:0,class:"week"},_e={key:1,class:"year"},Se=["onClick"],ke={key:2,class:"month"},we=["onClick"],be=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDatePicker",props:{data:Object,limitation:{type:[Boolean,Array],default:()=>!1},range:{type:String,default:"solid"}},emits:["input"],setup(a,{emit:n}){var U,G,X,J;const t=a,l=n,o=e.ref(3),i=e.ref(new Date),h=e.ref(new Date),m=e.ref(new Date().getFullYear()),d=e.ref(new Date().getMonth()),f=e.ref(new Date().getFullYear()),E=e.ref(new Date().getMonth()),D=e.ref(new Date().getMonth()+1),p=e.ref([]),_=e.ref(0),S=e.ref(-1),g=e.ref(-1),w=e.ref(navigator.languages||"ru"),y=/en|zh|ja|he/.test(w.value)?0:1,N=e.computed(()=>Array.from({length:12},(c,s)=>{const r=new Date(2024,s);return new Intl.DateTimeFormat(w.value,{month:"long"}).format(r)})),B=c=>{let s=c.split(c.match(/\D.*?\D?/));return s[0].length>2?s.join("-")+"T00:00:01":s.reverse().join("-")+"T00:00:01"};(U=t.data)!=null&&U.startDate&&(i.value=new Date(B(t.data.startDate)),m.value=i.value.getFullYear(),d.value=i.value.getMonth()),(G=t.data)!=null&&G.endDate&&t.range==="range"&&(h.value=new Date(B(t.data.endDate)),f.value=h.value.getFullYear(),E.value=h.value.getMonth());const k=()=>{p.value=[],_.value=0;const c=new Date(m.value,d.value,0);for(let r=c.getDate()-c.getDay()+y;r<=c.getDate();r++)c.getDay()!==6+y&&(p.value.push({day:r,month:c.getMonth(),year:c.getFullYear(),class:[]}),_.value++);const s=new Date(m.value,d.value+1,0).getDate();for(let r=1;r<=s;r++)p.value.push({day:r,month:d.value,year:m.value,class:[]}),_.value++;if(t.range==="range"){const r=new Date(m.value,d.value+1,1),u=new Date(m.value,d.value+2,0).getDate();for(let M=1;M<=u;M++)p.value.push({day:M,month:r.getMonth(),year:r.getFullYear(),class:[]})}$()},$=()=>{var s;if(!((s=t.data)!=null&&s.holiday))return;const c=(r,u)=>{r.forEach(M=>{const[b,C,z]=M.split("-").map(Number),O=p.value.findIndex(Y=>Y.year===b&&Y.month+1===C&&Y.day===z);O!==-1&&(p.value[O].class[0]=u)})};c(t.data.holiday.preholidays,"preholiday"),c(t.data.holiday.holidays,"weekend"),c(t.data.holiday.holiday,"holiday"),c(t.data.holiday.nowork,"nowork")},x=()=>{if(!t.limitation||t.limitation.length<2)return!1;const c=[...t.limitation].sort((s,r)=>new Date(B(s.startDate)).getTime()-new Date(B(r.startDate)).getTime());for(let s=1;s<c.length;s++){const r=new Date(B(c[s-1].endDate));if(new Date(B(c[s].startDate))<=r)return console.warn("Warning: Диапазоны пересекаются:",c[s-1],c[s]),!0}return!1},v=(c,s,r)=>{if(!t.limitation||t.limitation.length===0)return!0;const u=new Date(c,s,r).getTime();for(let M of t.limitation){const{startDate:b,endDate:C}=M;if(!b&&C){const z=new Date(B(C)).getTime();if(u<=z)return!1}if(b&&!C){const z=new Date(B(b)).getTime();if(u>=z)return!1}if(b&&C){const z=new Date(B(b)).getTime(),O=new Date(B(C)).getTime();if(z<=O){if(u>=z&&u<=O)return!1}else if(u>=z||u<=O)return!1}}return!0},L=(c,s)=>{const r=j(new Date(c.year,c.month,c.day),"{dd}.{m}.{Y}");t.range==="range"?g.value!==-1?(Ke(),S.value=s,p.value[s].class[1]="active"):S.value!==-1?(g.value=s,et(S.value,g.value,r)):(S.value=s,p.value[s].class[1]="active"):(S.value!==-1&&(p.value[S.value].class[1]=""),S.value=s,p.value[s].class[1]="active",l("input",{dateStart:r,count:1}))},Ke=()=>{p.value.forEach(c=>c.class[1]=""),S.value=-1,g.value=-1},et=(c,s,r)=>{let u=j(new Date(p.value[c].year,p.value[c].month,p.value[c].day),"{dd}.{m}.{Y}"),M=tt(c,s);if(s>=c)for(let b=c+1;b<s;b++)p.value[b].class[1]="select";else for(let b=s+1;b<c;b++)p.value[b].class[1]="select";p.value[s].class[1]="active",l("input",{dateStart:u,dateEnd:r,count:M})},tt=(c,s)=>{var b;let r=Math.abs(c-s)+1,[u,M]=[Math.min(c,s),Math.max(c,s)];for(let C=u;C<=M;C++)((b=p.value[C])==null?void 0:b.class[0])==="holiday"&&r--;return r},T=(c,s)=>{v(c,s)&&(i.value=new Date(c,s,1),m.value=i.value.getFullYear(),d.value=i.value.getMonth(),console.log(o.value),t.range==="year"&&o.value===0?L({year:c,month:s,day:1},8):k())};if(k(),x()&&console.error("Ошибка: Найдены пересекающиеся диапазоны!"),(X=t.data)!=null&&X.startDate&&(S.value=p.value.findIndex(c=>c.day===i.value.getDate()&&c.month===d.value&&c.year===m.value),S.value!==-1&&(p.value[S.value].class[1]="active")),(J=t.data)!=null&&J.endDate&&t.range==="range"&&(g.value=p.value.findIndex(c=>c.day===h.value.getDate()&&c.month===E.value&&c.year===f.value),g.value!==-1)){p.value[g.value].class[1]="active";for(let c=S.value+1;c<g.value;c++)p.value[c].class[1]="select"}return(c,s)=>(e.openBlock(),e.createElementBlock("div",se,[e.createElementVNode("div",null,[e.createElementVNode("p",re,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[0]||(s[0]=e.withModifiers(r=>T(m.value-1,d.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:s[1]||(s[1]=e.withModifiers(r=>{o.value=0,T(m.value,d.value-1)},["prevent"]))},"‹")]),e.createElementVNode("span",ce,[e.createElementVNode("button",{onClick:s[2]||(s[2]=e.withModifiers(r=>o.value=1,["prevent"]))},e.toDisplayString(m.value),1),e.createElementVNode("button",{onClick:s[3]||(s[3]=e.withModifiers(r=>o.value=1,["prevent"]))},e.toDisplayString(e.unref(j)(i.value.setMonth(d.value),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[4]||(s[4]=e.withModifiers(r=>{o.value=0,T(m.value,d.value+1)},["prevent"]))},"›"),e.createElementVNode("button",{onClick:s[5]||(s[5]=e.withModifiers(r=>T(m.value+1,d.value),["prevent"]))},"»")])]),t.range==="year"||o.value===1?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ie,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(r,u)=>e.createElementVNode("button",{key:u,class:"disabled"},e.toDisplayString(e.unref(j)(new Date(1970,1,r+e.unref(y)),"{D}")),1)),64))])),t.range==="year"||o.value===1?(e.openBlock(),e.createElementBlock("div",de,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,(r,u)=>(e.openBlock(),e.createElementBlock("button",{key:u,onClick:e.withModifiers(M=>{o.value=0,T(m.value,u)},["prevent"])},e.toDisplayString(r),9,pe))),128))])):(e.openBlock(),e.createElementBlock("div",me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,(r,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:u},[u<_.value+(7-new Date(m.value,d.value+1,1).getDay()+e.unref(y))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(r.month===d.value&&v(r.year,r.month,r.day)?r.class:"disabled"),onClick:e.withModifiers(()=>{r.month===d.value&&L(r,u)},["prevent"])},e.toDisplayString(r.day),11,fe)):e.createCommentVNode("",!0)],64))),128))]))]),t.range==="range"?(e.openBlock(),e.createElementBlock("div",ue,[e.createElementVNode("p",ge,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[6]||(s[6]=e.withModifiers(r=>T(m.value-1,d.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:s[7]||(s[7]=e.withModifiers(r=>{o.value=0,T(m.value,d.value-1)},["prevent"]))},"‹")]),e.createElementVNode("span",he,[e.createElementVNode("button",{onClick:s[8]||(s[8]=e.withModifiers(r=>o.value=2,["prevent"]))},e.toDisplayString(new Date(m.value,d.value+1).getFullYear()),1),e.createElementVNode("button",{onClick:s[9]||(s[9]=e.withModifiers(r=>o.value=2,["prevent"]))},e.toDisplayString(e.unref(j)(i.value.setMonth(d.value+1),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[10]||(s[10]=e.withModifiers(r=>{o.value=0,T(m.value,d.value+1)},["prevent"]))},"›"),e.createElementVNode("button",{onClick:s[11]||(s[11]=e.withModifiers(r=>T(m.value+1,d.value),["prevent"]))},"»")])]),o.value!==2?(e.openBlock(),e.createElementBlock("div",ye,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(r,u)=>e.createElementVNode("button",{key:u,class:"disabled"},e.toDisplayString(e.unref(j)(new Date(1970,1,r+e.unref(y)),"{D}")),1)),64))])):e.createCommentVNode("",!0),o.value===2?(e.openBlock(),e.createElementBlock("div",_e,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,(r,u)=>(e.openBlock(),e.createElementBlock("button",{key:u,onClick:e.withModifiers(M=>{o.value=0,T(m.value,u-1)},["prevent"])},e.toDisplayString(r),9,Se))),128))])):(e.openBlock(),e.createElementBlock("div",ke,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,(r,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:u},[u>=_.value-(7+new Date(m.value,d.value+1,1).getDay()-e.unref(y))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(r.month===D.value&&v(r.year,r.month,r.day)?r.class:"disabled"),onClick:e.withModifiers(()=>{r.month===D.value&&L(r,u)},["prevent"])},e.toDisplayString(r.day),11,we)):e.createCommentVNode("",!0)],64))),128))]))])):e.createCommentVNode("",!0)]))}}},Symbol.toStringTag,{value:"Module"})),Be=["id"],$e=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDropdown",props:e.mergeModels({class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:""},trigger:{type:String,default:"click"},placement:{type:String,default:"bottom-left"},maxWidth:{type:Number,default:0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a,{expose:n}){const t=a;e.computed(()=>"dropdown"+Array.from(document.body.children).indexOf(document.querySelector("ul")));const l=e.useModel(a,"modelValue"),o=e.ref(null),i=e.ref(null),h=e.ref({}),m=Math.ceil(Math.random()*1e3),d=e.computed(()=>{let g=["sw-dropdown"];return t.size.length>0&&g.push("sw-"+t.size),t.type.length>0&&g.push("sw-"+t.type),g}),f=async()=>{if(await e.nextTick(),!i.value)return;const g=window.pageYOffset||document.documentElement.scrollTop,w=window.pageXOffset||document.documentElement.scrollLeft;document.body.style.position="fixed",document.body.style.top=`-${g}px`,document.body.style.left=`-${w}px`,document.body.style.position="",document.body.style.top="",document.body.style.left="",document.documentElement.scrollTop=g,document.documentElement.scrollLeft=w;const y=o.value.getBoundingClientRect(),N=i.value.offsetHeight,B=i.value.offsetWidth;console.log("popupHeight",N),console.log("popupWidth",B);let k=y.left+y.width/2+w,$=y.top+y.height/2+g;const[x,v]=t.placement.split("-",2);switch(console.log(t.placement),x){case"bottom":$=$+y.height/2+8;break;case"top":$=$-y.height/2-8-N;break;case"left":k=k-B-y.width/2-8,$=$-N/2;break;case"right":k=k+y.width/2+8,$=$-N/2;break}switch(v){case"left":k=k-y.width/2;break;case"right":k=k-B+y.width/2;break}k<0&&(k=0),$<0&&($=0),h.value={position:"absolute",top:`${$}px`,left:`${k}px`,maxWidth:t.maxWidth===0?"":`${t.maxWidth}px`}};n({positionPopup:f});const E=()=>{t.trigger==="click"&&(l.value=!l.value),l.value&&f()},D=()=>{t.trigger==="hover"&&(l.value=!l.value),l.value&&f()},p=()=>{t.trigger==="context"&&(l.value=!l.value),l.value&&f()},_=()=>{l.value&&f()},S=g=>{!g.target.closest(`[id="${m}"]`)&&o.value&&!o.value.contains(g.target)&&(l.value=!1)};return e.onMounted(()=>{window.addEventListener("resize",_),window.addEventListener("click",S)}),e.onUnmounted(()=>{window.removeEventListener("resize",_),window.removeEventListener("click",S)}),(g,w)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(d.value),onClick:w[0]||(w[0]=y=>E()),onMouseover:w[1]||(w[1]=e.withModifiers(y=>D(),["stop"])),onMouseleave:w[2]||(w[2]=e.withModifiers(y=>D(),["stop"])),onContextmenu:w[3]||(w[3]=e.withModifiers(y=>p(),["stop"])),ref_key:"dropdownRef",ref:o},[e.renderSlot(g.$slots,"default"),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[l.value?(e.openBlock(),e.createElementBlock("ul",{key:0,ref_key:"popupRef",ref:i,id:e.unref(m),class:e.normalizeClass(["sw-dropdown-popup",t.class]),style:e.normalizeStyle(h.value),tabindex:"-1"},[e.renderSlot(g.$slots,"dropdown")],14,Be)):e.createCommentVNode("",!0)]))],34))}}},Symbol.toStringTag,{value:"Module"})),De=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDropdownItem",props:{class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:""},iconBefore:{type:String,default:""}},setup(a){const n=a,t=e.computed(()=>{let l=["sw-dropdown-item"];return n.size.length>0&&l.push("sw-"+n.size),n.type.length>0&&l.push("sw-"+n.type),n.class.length>0&&l.push(n.class),l});return(l,o)=>{const i=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(t.value)},[e.createVNode(i,{"icon-class":a.iconBefore},null,8,["icon-class"]),e.renderSlot(l.$slots,"default")],2)}}}},Symbol.toStringTag,{value:"Module"})),Ee=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwFormItem",props:{class:{type:String,default:""},type:{type:String,default:""}},setup(a){const n=a,t=e.computed(()=>{let l=["sw-form-item"];return n.type.length>0&&l.push("sw-"+n.type),n.class.length>0&&l.push(n.class),l});return(l,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value)},[e.renderSlot(l.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Me=["for"],Ce={key:0,title:"Это поле обязательно для заполнения."},Te=["required","placeholder","type","id","name"],Ve=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwInput",props:e.mergeModels({before:{type:String,default:""},after:{type:String,default:""},placeholder:{type:String,default:""},label:{type:String,default:""},name:{type:String,required:!0},class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:"text"},required:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["suffix","prefix","focusInput"],["update:modelValue"]),setup(a,{emit:n}){var p;const t=e.useModel(a,"modelValue"),l=a,o=e.ref(null),i=n,h=_=>{i("focusInput"),_.target.setSelectionRange(t.value.length,t.value.length),o.value!==null&&(o.value.style.top="-.6em")},m=_=>{var S;((S=t.value)==null?void 0:S.length)===0&&o.value!==null&&o.value.removeAttribute("style")};((p=t.value)==null?void 0:p.length)>0&&o.value!==null&&(o.value.style.top="-.6em");const d=()=>{i("suffix")},f=()=>{i("prefix")},E=e.computed(()=>{let _=["sw-input"];return l.size.length>0&&_.push("sw-"+l.size),l.class.length>0&&_.push(l.class),_});e.watch(t,(_,S)=>{l.type==="phone"&&(t.value=D(_,S))});const D=(_,S)=>{if(/^\+[0-9]\s/.test(S)&&_.length===2||/^\+0\s/.test(_))return"";const g=_;if(typeof g>"u"||g.length===0)return g;const w="+0 (___) ___-__-__";let y=0;const N=w.replace(/\D/g,""),B=g.replace(/\D/g,"");let k=w.replace(/[_\d]/g,x=>y<B.length?B.charAt(y++)||N.charAt(y):x);y=k.indexOf("_"),y!==-1&&(y=y<5?3:y,k=k.slice(0,y));let $=w.slice(0,g.length).replace(/_+/g,x=>`\\d{1,${x.length}}`).replace(/[+()]/g,"\\$&");if($=new RegExp(`^${$}$`),k=k.replace(/[-—]$|(\) )$/g,""),!$.test(g)||g.length<5)return k};return(_,S)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(E.value)},[l.before.length>0?(e.openBlock(),e.createBlock(F,{key:0,"icon-class":l.before,onClick:f},null,8,["icon-class"])):e.renderSlot(_.$slots,"prefix",{key:1}),l.label.length>0?(e.openBlock(),e.createElementBlock("label",{key:2,for:l.name,ref_key:"lab",ref:o},[e.createTextVNode(e.toDisplayString(l.label),1),l.required?(e.openBlock(),e.createElementBlock("span",Ce,"*")):e.createCommentVNode("",!0)],8,Me)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":S[0]||(S[0]=g=>t.value=g),required:l.required,placeholder:l.required&&l.label.length===0?l.placeholder+"*":l.placeholder,type:l.type,id:l.name,name:l.name,size:"60",onFocus:h,onBlur:m,maxlength:"128"},null,40,Te),[[e.vModelDynamic,t.value]]),l.after.length>0?(e.openBlock(),e.createBlock(F,{key:3,"icon-class":l.after,onClick:d},null,8,["icon-class"])):e.renderSlot(_.$slots,"suffix",{key:4})],2))}}},Symbol.toStringTag,{value:"Module"})),Ne={key:0},ze=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwMessage",props:e.mergeModels({name:{type:String,default:""},class:{type:String,default:""},iconAfter:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=e.useModel(a,"modelValue"),t=a,l=e.ref(null);return(o,i)=>{const h=e.resolveComponent("svg-icon");return n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["sw-message",t.class]),ref_key:"messageRef",ref:l},[t.name.length>0?(e.openBlock(),e.createElementBlock("header",Ne,[e.renderSlot(o.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createVNode(H,{link:"",type:"primary",onClick:i[0]||(i[0]=m=>n.value=!1)},{default:e.withCtx(()=>[e.createVNode(h,{"icon-class":t.iconAfter},null,8,["icon-class"])]),_:1})])])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(o.$slots,"footer")])],2)):e.createCommentVNode("",!0)}}}},Symbol.toStringTag,{value:"Module"})),xe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSection",props:{name:{type:String,default:""},class:{type:String,default:""},iconAfter:{type:String,default:""}},setup(a){const n=a;return(t,l)=>{const o=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(n.class)},[e.createElementVNode("header",null,[e.renderSlot(t.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(n.name)+" ",1),e.createVNode(o,{"icon-class":n.iconAfter},null,8,["icon-class"])])]),e.renderSlot(t.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(t.$slots,"footer")])],2)}}}},Symbol.toStringTag,{value:"Module"})),je={class:"popup"},Pe={class:"wrapper"},Oe={class:"scrollbar"},ve=["onClick"],Fe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSelect",props:e.mergeModels({class:{type:String,default:""},size:{type:String,default:"large"},placeholder:{type:String,default:""},token:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=e.ref({fullText:""}),t=e.ref(!1),l=e.ref([]),o=e.useModel(a,"modelValue"),i=a;e.watch(o.text,d=>{d.length>3&&(n.value.fullText=d)}),e.watch(n.value.fullText,(d,f)=>{t.value=d.length>3&&d.length>f.length,d.length>3&&h()});const h=()=>{let d="https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address";console.log(n.value.fullText),axios.post(d,{query:n.value.fullText},{headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:"Token "+i.token}}).then(f=>{console.log(f.data.suggestions),l.value=f.data.suggestions,l.value.length===1&&m(l.value[0])}).catch(f=>{console.log(f)})},m=d=>{n.value.fullText=d.value,t.value=!1;const f={};f.text=d.value,f.coords=[Number(d.data.geo_lat),Number(d.data.geo_lon)],f.suggestion=d.data,o.value=f};return(d,f)=>{const E=e.resolveComponent("sw-input");return e.openBlock(),e.createElementBlock("div",je,[e.createVNode(E,{size:i.size,modelValue:n.value.fullText,"onUpdate:modelValue":f[0]||(f[0]=D=>n.value.fullText=D),placeholder:a.placeholder},null,8,["size","modelValue","placeholder"]),e.withDirectives(e.createElementVNode("div",Pe,[e.createElementVNode("ul",Oe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(D,p)=>(e.openBlock(),e.createElementBlock("li",{tabindex:"1",key:p,onClick:_=>m(D)},e.toDisplayString(D.value),9,ve))),128))])],512),[[e.vShow,t.value]])])}}}},Symbol.toStringTag,{value:"Module"})),Ie={key:0},W={__name:"SwSkeletonItem",props:{width:{type:String,default:"100"},class:{type:String,default:""},animate:{type:Boolean,default:!1},size:{type:String,default:""}},setup(a){const n=a,t=e.computed(()=>{let o=["sw-skeleton-item"];return n.size.length>0&&o.push("sw-"+n.size),n.animate&&o.push("sw-animate"),n.class.length>0&&o.push(n.class),o}),l=e.computed(()=>({width:n.width+"%"}));return(o,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value),style:e.normalizeStyle(l.value)},[n.animate?(e.openBlock(),e.createElementBlock("div",Ie)):e.createCommentVNode("",!0)],6))}},Ae=Object.freeze(Object.defineProperty({__proto__:null,default:W},Symbol.toStringTag,{value:"Module"})),Le=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSkeleton",props:{class:{type:String,default:""},visual:{type:Boolean,default:!1}},setup(a){const n=a;return(t,l)=>n.visual?e.renderSlot(t.$slots,"default",{key:0}):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["sw-skeleton",n.class])},[e.renderSlot(t.$slots,"skeleton",{},()=>[e.createVNode(W,{animate:"",size:"small"})])],2))}}},Symbol.toStringTag,{value:"Module"})),Ye=["name","id"],qe=["for","data-onlabel","data-offlabel"],Re=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSwitch",props:e.mergeModels({id:{type:String,default:"checkbox"},class:{type:String,default:""},name:{type:String,default:""},on:{type:String,default:""},off:{type:String,default:""},size:{type:String,default:""},checkbox:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=e.useModel(a,"modelValue"),t=a,l=e.computed(()=>{let o=["sw-switch"];return t.size.length>0&&o.push("sw-"+t.size),t.checkbox&&o.push("sw-checkbox"),t.class.length>0&&o.push(t.class),o});return(o,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value)},[e.withDirectives(e.createElementVNode("input",{type:"checkbox",name:t.name,class:"sw-control",id:t.id,"onUpdate:modelValue":i[0]||(i[0]=h=>n.value=h)},null,8,Ye),[[e.vModelCheckbox,n.value]]),e.createElementVNode("label",{for:t.id,class:"sw-label","data-onlabel":t.on,"data-offlabel":t.off},null,8,qe),e.renderSlot(o.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),He=["onClick"],We=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabs",props:e.mergeModels({name:{type:String},class:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["tab-click"],["update:modelValue"]),setup(a,{emit:n}){e.ref(0);const t=e.ref([]),l=a,o=e.useModel(a,"modelValue"),i=n;return t.value=e.useSlots().default().filter(h=>h.type.__name==="SwTabsPane"),e.provide("activeTab",o),e.provide("tabs",t),(h,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("sw-tabs "+l.class)},[e.createElementVNode("header",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(d,f)=>(e.openBlock(),e.createElementBlock("span",{key:f,class:e.normalizeClass([{active:o.value===f}]),onClick:E=>{o.value=f,i("tab-click",f)}},e.toDisplayString(d.props.label||d.props.title),11,He))),128))]),e.renderSlot(h.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Ue=["onClick"],Ge=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsNew",props:e.mergeModels({name:{type:String},class:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["tab-click"],["update:modelValue"]),setup(a,{emit:n}){e.ref(0);const t=e.ref([]),l=a,o=e.useModel(a,"modelValue"),i=n;return e.provide("activeTab",o),e.provide("tabs",t),e.provide("registerTab",h=>{t.value.push(h)}),(h,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("sw-tabs "+l.class)},[e.createElementVNode("header",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(d,f)=>(e.openBlock(),e.createElementBlock("span",{key:f,class:e.normalizeClass([{active:o.value===f}]),onClick:E=>{o.value=f,i("tab-click",f)}},e.toDisplayString(d.props.label||d.props.title),11,Ue))),128))]),e.renderSlot(h.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Xe={key:0,class:"tab-content"},Je=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPane",props:{title:{type:String,required:!0}},setup(a){const n=a,t=e.inject("activeTab"),l=e.inject("tabs"),o=e.computed(()=>{const i=l.value.findIndex(h=>h.props.title===n.title);return t.value===i});return(i,h)=>o.value?(e.openBlock(),e.createElementBlock("div",Xe,[e.renderSlot(i.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"})),Qe={key:0,class:"tab-content"},Ze=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPaneNew",props:{label:{type:String,required:!0},title:{type:String}},setup(a){const n=a,t=e.inject("registerTab");if(!t)throw new Error("SwTabsPane must be used inside SwTabs");t({props:n});const l=e.inject("activeTab");if(!e.inject("tabs"))throw new Error("Tabs array is not provided by SwTabs");const i=e.inject("tabs").value.length-1;return(h,m)=>e.unref(l)===i?(e.openBlock(),e.createElementBlock("div",Qe,[e.renderSlot(h.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"}));V.Alert=A,V.Library=oe,V.components=I,Object.defineProperty(V,Symbol.toStringTag,{value:"Module"})});
|
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { mergeModels as c, useModel as p, ref as g, resolveComponent as y, createElementBlock as r, createCommentVNode as a, openBlock as m, normalizeClass as k, renderSlot as s, createElementVNode as v, createTextVNode as i, createVNode as d, toDisplayString as V, withCtx as S } from "vue";
|
|
2
|
-
import _ from "./SwButton-0uPLNlAn.js";
|
|
3
|
-
const C = { key: 0 }, w = {
|
|
4
|
-
__name: "SwMessage",
|
|
5
|
-
props: /* @__PURE__ */ c({
|
|
6
|
-
name: { type: String, default: "" },
|
|
7
|
-
class: { type: String, default: "" },
|
|
8
|
-
iconAfter: { type: String, default: "" }
|
|
9
|
-
}, {
|
|
10
|
-
modelValue: {},
|
|
11
|
-
modelModifiers: {}
|
|
12
|
-
}),
|
|
13
|
-
emits: ["update:modelValue"],
|
|
14
|
-
setup(l) {
|
|
15
|
-
const n = p(l, "modelValue"), e = l, f = g(null);
|
|
16
|
-
return (o, t) => {
|
|
17
|
-
const u = y("svg-icon");
|
|
18
|
-
return n.value ? (m(), r("div", {
|
|
19
|
-
key: 0,
|
|
20
|
-
class: k(["sw-message", e.class]),
|
|
21
|
-
ref_key: "messageRef",
|
|
22
|
-
ref: f
|
|
23
|
-
}, [
|
|
24
|
-
e.name.length > 0 ? (m(), r("header", C, [
|
|
25
|
-
s(o.$slots, "header", {}, () => [
|
|
26
|
-
i(V(e.name) + " ", 1),
|
|
27
|
-
d(_, {
|
|
28
|
-
link: "",
|
|
29
|
-
type: "primary",
|
|
30
|
-
onClick: t[0] || (t[0] = ($) => n.value = !1)
|
|
31
|
-
}, {
|
|
32
|
-
default: S(() => [
|
|
33
|
-
d(u, {
|
|
34
|
-
"icon-class": e.iconAfter
|
|
35
|
-
}, null, 8, ["icon-class"])
|
|
36
|
-
]),
|
|
37
|
-
_: 1
|
|
38
|
-
})
|
|
39
|
-
])
|
|
40
|
-
])) : a("", !0),
|
|
41
|
-
s(o.$slots, "default", {}, () => [
|
|
42
|
-
t[1] || (t[1] = i("111222"))
|
|
43
|
-
]),
|
|
44
|
-
v("footer", null, [
|
|
45
|
-
s(o.$slots, "footer")
|
|
46
|
-
])
|
|
47
|
-
], 2)) : a("", !0);
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
export {
|
|
52
|
-
w as default
|
|
53
|
-
};
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import { renderSlot as l, createElementBlock as a, createTextVNode as r, openBlock as n, normalizeClass as i, createVNode as m } from "vue";
|
|
2
|
-
import p from "./SwSkeletonItem-CU7LvihY.js";
|
|
3
|
-
const u = {
|
|
4
|
-
__name: "SwSkeleton",
|
|
5
|
-
props: {
|
|
6
|
-
class: { type: String, default: "" },
|
|
7
|
-
visual: { type: Boolean, default: !1 }
|
|
8
|
-
},
|
|
9
|
-
setup(o) {
|
|
10
|
-
const e = o;
|
|
11
|
-
return (s, t) => e.visual ? l(s.$slots, "default", { key: 0 }, () => [
|
|
12
|
-
t[0] || (t[0] = r("1"))
|
|
13
|
-
]) : (n(), a("div", {
|
|
14
|
-
key: 1,
|
|
15
|
-
class: i(["sw-skeleton", e.class])
|
|
16
|
-
}, [
|
|
17
|
-
l(s.$slots, "skeleton", {}, () => [
|
|
18
|
-
m(p, {
|
|
19
|
-
animate: "",
|
|
20
|
-
size: "small"
|
|
21
|
-
})
|
|
22
|
-
])
|
|
23
|
-
], 2));
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
export {
|
|
27
|
-
u as default
|
|
28
|
-
};
|