@studio-west/component-sw 0.5.3 → 0.5.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 +26 -17
- package/dist/{SwButton-0uPLNlAn.js → SwButton-85-tKHA7.js} +0 -2
- package/dist/SwDatePicker-x-8gziOv.js +283 -0
- package/dist/{SwDropdown-CKg8uOOQ.js → SwDropdown-C08tG2Gv.js} +15 -15
- package/dist/{SwDropdownItem-C3_wJ1DL.js → SwDropdownItem-wFMHwJJk.js} +0 -2
- package/dist/{SwFormItem-CfnEis1u.js → SwFormItem-CaA4jsoa.js} +0 -1
- package/dist/{SwInput-CEhU1mf6.js → SwInput-CsXSaxlv.js} +1 -1
- package/dist/{SwMessage-DQcnzMZB.js → SwMessage-CLIBIKTf.js} +1 -1
- package/dist/{SwSwitch-BxSLWRTx.js → SwSwitch-FMwJbEH7.js} +0 -1
- package/dist/component-sw.css +1 -1
- package/dist/{index-BL-HtnNr.js → index-CX5bF-tK.js} +1 -5
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/SwDatePicker-CGC0_v51.js +0 -247
package/README.md
CHANGED
|
@@ -120,23 +120,23 @@ this.$Alert({message: 'Welcome!', type: 'success'});
|
|
|
120
120
|
| `size` | `String` | Размер кнопки: `'large'`, `'small'`. |
|
|
121
121
|
| `type` | `String` | Тип кнопки: `'primary'`, `'success'`, `'info'`, `'warning'`, `'danger'`. |
|
|
122
122
|
| `round` | `Boolean` | Делает кнопку визуально закругленной. |
|
|
123
|
-
| `text` | `Boolean` | Делает кнопку визуально похожей на текст (без фона).
|
|
124
|
-
| `link` | `Boolean` | Преобразует кнопку в
|
|
123
|
+
| `text` | `Boolean` | Делает кнопку визуально похожей на текст (без фона только граница). |
|
|
124
|
+
| `link` | `Boolean` | Преобразует кнопку в ссылку(без фона и границ). |
|
|
125
125
|
| `href` | `String` | URL, на который будет перенаправлен пользователь при клике (если `link=true`). |
|
|
126
126
|
|
|
127
127
|
### Пример использования / Example Usage
|
|
128
128
|
|
|
129
129
|
```html
|
|
130
130
|
<sw-button
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
131
|
+
class="custom-class"
|
|
132
|
+
size="large"
|
|
133
|
+
type="primary"
|
|
134
|
+
round
|
|
135
|
+
text
|
|
136
|
+
link
|
|
137
|
+
href="https://example.com"
|
|
138
138
|
>
|
|
139
|
-
|
|
139
|
+
Нажми меня / Click Me
|
|
140
140
|
</sw-button>
|
|
141
141
|
```
|
|
142
142
|
---
|
|
@@ -159,7 +159,7 @@ Default - Контент для скрытия
|
|
|
159
159
|
|
|
160
160
|
```html
|
|
161
161
|
<sw-collapse :visual="false">
|
|
162
|
-
|
|
162
|
+
<p>Скрытое / Hidden</p>
|
|
163
163
|
</sw-collapse>
|
|
164
164
|
```
|
|
165
165
|
---
|
|
@@ -180,15 +180,24 @@ Default - Контент для скрытия
|
|
|
180
180
|
|
|
181
181
|
input - событие выбора с данными {dateStart: "11.11.2011", dateEnd: "14-12-2011" ( при range), count: 1 }
|
|
182
182
|
|
|
183
|
+
### Слоты / Slots
|
|
184
|
+
|
|
185
|
+
#double-arrow - для двойной стрелки по умолчанию `«`
|
|
186
|
+
|
|
187
|
+
#arrow - для одинарной стрелки по умолчанию `‹`
|
|
188
|
+
|
|
183
189
|
### Пример использования / Example Usage
|
|
184
190
|
|
|
185
191
|
```html
|
|
186
192
|
<sw-date-picker
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
193
|
+
:data="{startDate: '11.11.2011' endDate: '14-12-2011'}"
|
|
194
|
+
limitation=" [{endDate: '14-04-2025', startDate:'30-03-2025'}]"
|
|
195
|
+
range="range"
|
|
196
|
+
@selectPicker.stop="processing"
|
|
197
|
+
>
|
|
198
|
+
<template #double-arrow>«</template>
|
|
199
|
+
<template #arrow>‹</template>
|
|
200
|
+
</sw-date-picker>
|
|
192
201
|
```
|
|
193
202
|
---
|
|
194
203
|
|
|
@@ -380,7 +389,7 @@ header - клик по всему Header
|
|
|
380
389
|
>
|
|
381
390
|
<p>Содержимое / Content</p>
|
|
382
391
|
<template #footer>
|
|
383
|
-
|
|
392
|
+
<p>Footer!</p>
|
|
384
393
|
</template>
|
|
385
394
|
</sw-section>
|
|
386
395
|
```
|
|
@@ -4,9 +4,7 @@ const c = {
|
|
|
4
4
|
props: {
|
|
5
5
|
class: { type: String, default: "" },
|
|
6
6
|
size: { type: String, default: "" },
|
|
7
|
-
// large, small
|
|
8
7
|
type: { type: String, default: "" },
|
|
9
|
-
// primary, success, info, warning, danger,
|
|
10
8
|
round: { type: Boolean, default: !1 },
|
|
11
9
|
text: { type: Boolean, default: !1 },
|
|
12
10
|
link: { type: Boolean, default: !1 },
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
import { ref as f, computed as ne, createElementBlock as v, openBlock as i, createElementVNode as u, createCommentVNode as x, withModifiers as g, renderSlot as $, createTextVNode as M, toDisplayString as y, unref as F, Fragment as T, renderList as E, normalizeClass as U } from "vue";
|
|
2
|
+
import { p as I } from "./index-CX5bF-tK.js";
|
|
3
|
+
const le = { class: "sw-data-picker" }, se = { class: "month_year" }, oe = { class: "text" }, ue = {
|
|
4
|
+
key: 0,
|
|
5
|
+
class: "week"
|
|
6
|
+
}, re = {
|
|
7
|
+
key: 1,
|
|
8
|
+
class: "year"
|
|
9
|
+
}, ve = ["onClick"], ie = {
|
|
10
|
+
key: 2,
|
|
11
|
+
class: "month"
|
|
12
|
+
}, de = ["onClick"], ce = { key: 0 }, ge = { class: "month_year" }, De = { class: "text" }, fe = {
|
|
13
|
+
key: 0,
|
|
14
|
+
class: "week"
|
|
15
|
+
}, me = {
|
|
16
|
+
key: 1,
|
|
17
|
+
class: "year"
|
|
18
|
+
}, pe = ["onClick"], we = {
|
|
19
|
+
key: 2,
|
|
20
|
+
class: "month"
|
|
21
|
+
}, he = ["onClick"], be = {
|
|
22
|
+
__name: "SwDatePicker",
|
|
23
|
+
props: {
|
|
24
|
+
data: Object,
|
|
25
|
+
limitation: {
|
|
26
|
+
type: [Boolean, Array],
|
|
27
|
+
default: () => !1
|
|
28
|
+
},
|
|
29
|
+
range: {
|
|
30
|
+
type: String,
|
|
31
|
+
default: "solid"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
emits: ["input"],
|
|
35
|
+
setup(X, { emit: Z }) {
|
|
36
|
+
var G, H, J, Q;
|
|
37
|
+
const l = X, A = Z, c = f(3), k = f(/* @__PURE__ */ new Date()), N = f(/* @__PURE__ */ new Date()), r = f((/* @__PURE__ */ new Date()).getFullYear()), o = f((/* @__PURE__ */ new Date()).getMonth()), L = f((/* @__PURE__ */ new Date()).getFullYear()), O = f((/* @__PURE__ */ new Date()).getMonth()), P = f((/* @__PURE__ */ new Date()).getMonth() + 1), s = f([]), j = f(0), m = f(-1), C = f(-1), R = f(navigator.languages || "ru"), Y = /en|zh|ja|he/.test(R.value) ? 0 : 1, W = ne(() => Array.from({ length: 12 }, (t, e) => {
|
|
38
|
+
const a = new Date(2024, e);
|
|
39
|
+
return new Intl.DateTimeFormat(R.value, { month: "long" }).format(a);
|
|
40
|
+
})), w = (t) => {
|
|
41
|
+
let e = t.split(t.match(/\D.*?\D?/));
|
|
42
|
+
return e[0].length > 2 ? e.join("-") + "T00:00:01" : e.reverse().join("-") + "T00:00:01";
|
|
43
|
+
};
|
|
44
|
+
(G = l.data) != null && G.startDate && (k.value = new Date(w(l.data.startDate)), r.value = k.value.getFullYear(), o.value = k.value.getMonth()), (H = l.data) != null && H.endDate && l.range === "range" && (N.value = new Date(w(l.data.endDate)), L.value = N.value.getFullYear(), O.value = N.value.getMonth());
|
|
45
|
+
const q = () => {
|
|
46
|
+
s.value = [], j.value = 0;
|
|
47
|
+
const t = new Date(r.value, o.value, 0);
|
|
48
|
+
for (let a = t.getDate() - t.getDay() + Y; a <= t.getDate(); a++)
|
|
49
|
+
t.getDay() !== 6 + Y && (s.value.push({ day: a, month: t.getMonth(), year: t.getFullYear(), class: [] }), j.value++);
|
|
50
|
+
const e = new Date(r.value, o.value + 1, 0).getDate();
|
|
51
|
+
for (let a = 1; a <= e; a++)
|
|
52
|
+
s.value.push({ day: a, month: o.value, year: r.value, class: [] }), j.value++;
|
|
53
|
+
if (l.range === "range") {
|
|
54
|
+
const a = new Date(r.value, o.value + 1, 1), n = new Date(r.value, o.value + 2, 0).getDate();
|
|
55
|
+
for (let D = 1; D <= n; D++)
|
|
56
|
+
s.value.push({ day: D, month: a.getMonth(), year: a.getFullYear(), class: [] });
|
|
57
|
+
}
|
|
58
|
+
_();
|
|
59
|
+
}, _ = () => {
|
|
60
|
+
var e;
|
|
61
|
+
if (!((e = l.data) != null && e.holiday)) return;
|
|
62
|
+
const t = (a, n) => {
|
|
63
|
+
a.forEach((D) => {
|
|
64
|
+
const [d, p, b] = D.split("-").map(Number), S = s.value.findIndex((z) => z.year === d && z.month + 1 === p && z.day === b);
|
|
65
|
+
S !== -1 && (s.value[S].class[0] = n);
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
t(l.data.holiday.preholidays, "preholiday"), t(l.data.holiday.holidays, "weekend"), t(l.data.holiday.holiday, "holiday"), t(l.data.holiday.nowork, "nowork");
|
|
69
|
+
}, K = () => {
|
|
70
|
+
if (!l.limitation || l.limitation.length < 2) return !1;
|
|
71
|
+
const t = [...l.limitation].sort(
|
|
72
|
+
(e, a) => new Date(w(e.startDate)).getTime() - new Date(w(a.startDate)).getTime()
|
|
73
|
+
);
|
|
74
|
+
for (let e = 1; e < t.length; e++) {
|
|
75
|
+
const a = new Date(w(t[e - 1].endDate));
|
|
76
|
+
if (new Date(w(t[e].startDate)) <= a)
|
|
77
|
+
return console.warn("Warning: Диапазоны пересекаются:", t[e - 1], t[e]), !0;
|
|
78
|
+
}
|
|
79
|
+
return !1;
|
|
80
|
+
}, B = (t, e, a) => {
|
|
81
|
+
if (!l.limitation || l.limitation.length === 0) return !0;
|
|
82
|
+
const n = new Date(t, e, a).getTime();
|
|
83
|
+
for (let D of l.limitation) {
|
|
84
|
+
const { startDate: d, endDate: p } = D;
|
|
85
|
+
if (!d && p) {
|
|
86
|
+
const b = new Date(w(p)).getTime();
|
|
87
|
+
if (n <= b) return !1;
|
|
88
|
+
}
|
|
89
|
+
if (d && !p) {
|
|
90
|
+
const b = new Date(w(d)).getTime();
|
|
91
|
+
if (n >= b) return !1;
|
|
92
|
+
}
|
|
93
|
+
if (d && p) {
|
|
94
|
+
const b = new Date(w(d)).getTime(), S = new Date(w(p)).getTime();
|
|
95
|
+
if (b <= S) {
|
|
96
|
+
if (n >= b && n <= S) return !1;
|
|
97
|
+
} else if (n >= b || n <= S) return !1;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return !0;
|
|
101
|
+
}, V = (t, e) => {
|
|
102
|
+
const a = I(new Date(t.year, t.month, t.day), "{dd}.{m}.{Y}");
|
|
103
|
+
l.range === "range" ? C.value !== -1 ? (ee(), m.value = e, s.value[e].class[1] = "active") : m.value !== -1 ? (C.value = e, te(m.value, C.value, a)) : (m.value = e, s.value[e].class[1] = "active") : (m.value !== -1 && (s.value[m.value].class[1] = ""), m.value = e, s.value[e].class[1] = "active", A("input", { dateStart: a, count: 1 }));
|
|
104
|
+
}, ee = () => {
|
|
105
|
+
s.value.forEach((t) => t.class[1] = ""), m.value = -1, C.value = -1;
|
|
106
|
+
}, te = (t, e, a) => {
|
|
107
|
+
let n = I(new Date(s.value[t].year, s.value[t].month, s.value[t].day), "{dd}.{m}.{Y}"), D = ae(t, e);
|
|
108
|
+
if (e >= t)
|
|
109
|
+
for (let d = t + 1; d < e; d++)
|
|
110
|
+
s.value[d].class[1] = "select";
|
|
111
|
+
else
|
|
112
|
+
for (let d = e + 1; d < t; d++)
|
|
113
|
+
s.value[d].class[1] = "select";
|
|
114
|
+
s.value[e].class[1] = "active", A("input", { dateStart: n, dateEnd: a, count: D });
|
|
115
|
+
}, ae = (t, e) => {
|
|
116
|
+
var d;
|
|
117
|
+
let a = Math.abs(t - e) + 1, [n, D] = [Math.min(t, e), Math.max(t, e)];
|
|
118
|
+
for (let p = n; p <= D; p++)
|
|
119
|
+
((d = s.value[p]) == null ? void 0 : d.class[0]) === "holiday" && a--;
|
|
120
|
+
return a;
|
|
121
|
+
}, h = (t, e) => {
|
|
122
|
+
B(t, e) && (k.value = new Date(t, e, 1), r.value = k.value.getFullYear(), o.value = k.value.getMonth(), console.log(c.value), l.range === "year" && c.value === 0 ? V({ year: t, month: e, day: 1 }, 8) : q());
|
|
123
|
+
};
|
|
124
|
+
if (q(), K() && console.error("Ошибка: Найдены пересекающиеся диапазоны!"), (J = l.data) != null && J.startDate && (m.value = s.value.findIndex((t) => t.day === k.value.getDate() && t.month === o.value && t.year === r.value), m.value !== -1 && (s.value[m.value].class[1] = "active")), (Q = l.data) != null && Q.endDate && l.range === "range" && (C.value = s.value.findIndex((t) => t.day === N.value.getDate() && t.month === O.value && t.year === L.value), C.value !== -1)) {
|
|
125
|
+
s.value[C.value].class[1] = "active";
|
|
126
|
+
for (let t = m.value + 1; t < C.value; t++)
|
|
127
|
+
s.value[t].class[1] = "select";
|
|
128
|
+
}
|
|
129
|
+
return (t, e) => (i(), v("div", le, [
|
|
130
|
+
u("div", null, [
|
|
131
|
+
u("p", se, [
|
|
132
|
+
u("span", null, [
|
|
133
|
+
u("button", {
|
|
134
|
+
onClick: e[0] || (e[0] = g((a) => h(r.value - 1, o.value), ["prevent"]))
|
|
135
|
+
}, [
|
|
136
|
+
$(t.$slots, "double-arrow", {}, () => [
|
|
137
|
+
e[12] || (e[12] = M("«"))
|
|
138
|
+
])
|
|
139
|
+
]),
|
|
140
|
+
u("button", {
|
|
141
|
+
onClick: e[1] || (e[1] = g((a) => {
|
|
142
|
+
c.value = 0, h(r.value, o.value - 1);
|
|
143
|
+
}, ["prevent"]))
|
|
144
|
+
}, [
|
|
145
|
+
$(t.$slots, "arrow", {}, () => [
|
|
146
|
+
e[13] || (e[13] = M("‹"))
|
|
147
|
+
])
|
|
148
|
+
])
|
|
149
|
+
]),
|
|
150
|
+
u("span", oe, [
|
|
151
|
+
u("button", {
|
|
152
|
+
onClick: e[2] || (e[2] = g((a) => c.value = 1, ["prevent"]))
|
|
153
|
+
}, y(r.value), 1),
|
|
154
|
+
u("button", {
|
|
155
|
+
onClick: e[3] || (e[3] = g((a) => c.value = 1, ["prevent"]))
|
|
156
|
+
}, y(F(I)(k.value.setMonth(o.value), "{F}")), 1)
|
|
157
|
+
]),
|
|
158
|
+
u("span", null, [
|
|
159
|
+
u("button", {
|
|
160
|
+
class: "sw-revers",
|
|
161
|
+
onClick: e[4] || (e[4] = g((a) => {
|
|
162
|
+
c.value = 0, h(r.value, o.value + 1);
|
|
163
|
+
}, ["prevent"]))
|
|
164
|
+
}, [
|
|
165
|
+
$(t.$slots, "arrow", {}, () => [
|
|
166
|
+
e[14] || (e[14] = M("‹"))
|
|
167
|
+
])
|
|
168
|
+
]),
|
|
169
|
+
u("button", {
|
|
170
|
+
class: "sw-revers",
|
|
171
|
+
onClick: e[5] || (e[5] = g((a) => h(r.value + 1, o.value), ["prevent"]))
|
|
172
|
+
}, [
|
|
173
|
+
$(t.$slots, "double-arrow", {}, () => [
|
|
174
|
+
e[15] || (e[15] = M("«"))
|
|
175
|
+
])
|
|
176
|
+
])
|
|
177
|
+
])
|
|
178
|
+
]),
|
|
179
|
+
l.range === "year" || c.value === 1 ? x("", !0) : (i(), v("div", ue, [
|
|
180
|
+
(i(), v(T, null, E(7, (a, n) => u("button", {
|
|
181
|
+
key: n,
|
|
182
|
+
class: "disabled"
|
|
183
|
+
}, y(F(I)(new Date(1970, 1, a + F(Y)), "{D}")), 1)), 64))
|
|
184
|
+
])),
|
|
185
|
+
l.range === "year" || c.value === 1 ? (i(), v("div", re, [
|
|
186
|
+
(i(!0), v(T, null, E(W.value, (a, n) => (i(), v("button", {
|
|
187
|
+
key: n,
|
|
188
|
+
onClick: g((D) => {
|
|
189
|
+
c.value = 0, h(r.value, n);
|
|
190
|
+
}, ["prevent"])
|
|
191
|
+
}, y(a), 9, ve))), 128))
|
|
192
|
+
])) : (i(), v("div", ie, [
|
|
193
|
+
(i(!0), v(T, null, E(s.value, (a, n) => (i(), v(T, { key: n }, [
|
|
194
|
+
n < j.value + (7 - new Date(r.value, o.value + 1, 1).getDay() + F(Y)) % 7 ? (i(), v("button", {
|
|
195
|
+
key: 0,
|
|
196
|
+
class: U(a.month === o.value && B(a.year, a.month, a.day) ? a.class : "disabled"),
|
|
197
|
+
onClick: g(() => {
|
|
198
|
+
a.month === o.value && V(a, n);
|
|
199
|
+
}, ["prevent"])
|
|
200
|
+
}, y(a.day), 11, de)) : x("", !0)
|
|
201
|
+
], 64))), 128))
|
|
202
|
+
]))
|
|
203
|
+
]),
|
|
204
|
+
l.range === "range" ? (i(), v("div", ce, [
|
|
205
|
+
u("p", ge, [
|
|
206
|
+
u("span", null, [
|
|
207
|
+
u("button", {
|
|
208
|
+
onClick: e[6] || (e[6] = g((a) => h(r.value - 1, o.value), ["prevent"]))
|
|
209
|
+
}, [
|
|
210
|
+
$(t.$slots, "double-arrow", {}, () => [
|
|
211
|
+
e[16] || (e[16] = M("«"))
|
|
212
|
+
])
|
|
213
|
+
]),
|
|
214
|
+
u("button", {
|
|
215
|
+
onClick: e[7] || (e[7] = g((a) => {
|
|
216
|
+
c.value = 0, h(r.value, o.value - 1);
|
|
217
|
+
}, ["prevent"]))
|
|
218
|
+
}, [
|
|
219
|
+
$(t.$slots, "arrow", {}, () => [
|
|
220
|
+
e[17] || (e[17] = M("‹"))
|
|
221
|
+
])
|
|
222
|
+
])
|
|
223
|
+
]),
|
|
224
|
+
u("span", De, [
|
|
225
|
+
u("button", {
|
|
226
|
+
onClick: e[8] || (e[8] = g((a) => c.value = 2, ["prevent"]))
|
|
227
|
+
}, y(new Date(r.value, o.value + 1).getFullYear()), 1),
|
|
228
|
+
u("button", {
|
|
229
|
+
onClick: e[9] || (e[9] = g((a) => c.value = 2, ["prevent"]))
|
|
230
|
+
}, y(F(I)(k.value.setMonth(o.value + 1), "{F}")), 1)
|
|
231
|
+
]),
|
|
232
|
+
u("span", null, [
|
|
233
|
+
u("button", {
|
|
234
|
+
class: "sw-revers",
|
|
235
|
+
onClick: e[10] || (e[10] = g((a) => {
|
|
236
|
+
c.value = 0, h(r.value, o.value + 1);
|
|
237
|
+
}, ["prevent"]))
|
|
238
|
+
}, [
|
|
239
|
+
$(t.$slots, "arrow", {}, () => [
|
|
240
|
+
e[18] || (e[18] = M("‹"))
|
|
241
|
+
])
|
|
242
|
+
]),
|
|
243
|
+
u("button", {
|
|
244
|
+
class: "sw-revers",
|
|
245
|
+
onClick: e[11] || (e[11] = g((a) => h(r.value + 1, o.value), ["prevent"]))
|
|
246
|
+
}, [
|
|
247
|
+
$(t.$slots, "double-arrow", {}, () => [
|
|
248
|
+
e[19] || (e[19] = M("«"))
|
|
249
|
+
])
|
|
250
|
+
])
|
|
251
|
+
])
|
|
252
|
+
]),
|
|
253
|
+
c.value !== 2 ? (i(), v("div", fe, [
|
|
254
|
+
(i(), v(T, null, E(7, (a, n) => u("button", {
|
|
255
|
+
key: n,
|
|
256
|
+
class: "disabled"
|
|
257
|
+
}, y(F(I)(new Date(1970, 1, a + F(Y)), "{D}")), 1)), 64))
|
|
258
|
+
])) : x("", !0),
|
|
259
|
+
c.value === 2 ? (i(), v("div", me, [
|
|
260
|
+
(i(!0), v(T, null, E(W.value, (a, n) => (i(), v("button", {
|
|
261
|
+
key: n,
|
|
262
|
+
onClick: g((D) => {
|
|
263
|
+
c.value = 0, h(r.value, n - 1);
|
|
264
|
+
}, ["prevent"])
|
|
265
|
+
}, y(a), 9, pe))), 128))
|
|
266
|
+
])) : (i(), v("div", we, [
|
|
267
|
+
(i(!0), v(T, null, E(s.value, (a, n) => (i(), v(T, { key: n }, [
|
|
268
|
+
n >= j.value - (7 + new Date(r.value, o.value + 1, 1).getDay() - F(Y)) % 7 ? (i(), v("button", {
|
|
269
|
+
key: 0,
|
|
270
|
+
class: U(a.month === P.value && B(a.year, a.month, a.day) ? a.class : "disabled"),
|
|
271
|
+
onClick: g(() => {
|
|
272
|
+
a.month === P.value && V(a, n);
|
|
273
|
+
}, ["prevent"])
|
|
274
|
+
}, y(a.day), 11, he)) : x("", !0)
|
|
275
|
+
], 64))), 128))
|
|
276
|
+
]))
|
|
277
|
+
])) : x("", !0)
|
|
278
|
+
]));
|
|
279
|
+
}
|
|
280
|
+
};
|
|
281
|
+
export {
|
|
282
|
+
be as default
|
|
283
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { mergeModels as B, computed as x, useModel as O, ref as f, onMounted as V, onUnmounted as P, createElementBlock as $, openBlock as m, withModifiers as w, normalizeClass as S, renderSlot as E, createBlock as N, Teleport as q, createCommentVNode as A, normalizeStyle as D, unref as U
|
|
2
|
-
const
|
|
1
|
+
import { mergeModels as B, computed as x, useModel as O, ref as f, onMounted as V, onUnmounted as P, createElementBlock as $, openBlock as m, withModifiers as w, normalizeClass as S, renderSlot as E, createBlock as N, Teleport as q, createCommentVNode as A, normalizeStyle as D, unref as U } from "vue";
|
|
2
|
+
const X = ["id"], j = {
|
|
3
3
|
__name: "SwDropdown",
|
|
4
4
|
props: /* @__PURE__ */ B({
|
|
5
5
|
class: { type: String, default: "" },
|
|
@@ -16,16 +16,16 @@ const Y = ["id"], F = {
|
|
|
16
16
|
setup(g, { expose: M }) {
|
|
17
17
|
const i = g;
|
|
18
18
|
x(() => "dropdown" + Array.from(document.body.children).indexOf(document.querySelector("ul")));
|
|
19
|
-
const s = O(g, "modelValue"),
|
|
19
|
+
const s = O(g, "modelValue"), a = f(null), c = f(null), v = f({}), h = Math.ceil(Math.random() * 1e3), W = x(
|
|
20
20
|
() => {
|
|
21
21
|
let t = ["sw-dropdown"];
|
|
22
22
|
return i.size.length > 0 && t.push("sw-" + i.size), i.type.length > 0 && t.push("sw-" + i.type), t;
|
|
23
23
|
}
|
|
24
|
-
),
|
|
25
|
-
if (
|
|
24
|
+
), p = async () => {
|
|
25
|
+
if (!c.value) return;
|
|
26
26
|
const t = window.pageYOffset || document.documentElement.scrollTop, l = window.pageXOffset || document.documentElement.scrollLeft;
|
|
27
27
|
document.body.style.position = "fixed", document.body.style.top = `-${t}px`, document.body.style.left = `-${l}px`, document.body.style.position = "", document.body.style.top = "", document.body.style.left = "", document.documentElement.scrollTop = t, document.documentElement.scrollLeft = l;
|
|
28
|
-
const e =
|
|
28
|
+
const e = a.value.getBoundingClientRect(), L = window.innerWidth, R = window.innerHeight, d = c.value.offsetHeight, r = c.value.offsetWidth;
|
|
29
29
|
console.log("popupHeight", d), console.log("popupWidth", r);
|
|
30
30
|
let o = e.left + e.width / 2 + l, n = e.top + e.height / 2 + t, u = e.height / 2 + 8;
|
|
31
31
|
const [H, T] = i.placement.split("-", 2);
|
|
@@ -58,17 +58,17 @@ const Y = ["id"], F = {
|
|
|
58
58
|
maxWidth: i.maxWidth === 0 ? "" : `${i.maxWidth}px`
|
|
59
59
|
};
|
|
60
60
|
};
|
|
61
|
-
M({ positionPopup:
|
|
61
|
+
M({ positionPopup: p });
|
|
62
62
|
const z = () => {
|
|
63
|
-
i.trigger === "click" && (s.value = !s.value), s.value &&
|
|
63
|
+
i.trigger === "click" && (s.value = !s.value), s.value && p();
|
|
64
64
|
}, y = () => {
|
|
65
|
-
i.trigger === "hover" && (s.value = !s.value), s.value &&
|
|
65
|
+
i.trigger === "hover" && (s.value = !s.value), s.value && p();
|
|
66
66
|
}, C = () => {
|
|
67
|
-
i.trigger === "context" && (s.value = !s.value), s.value &&
|
|
67
|
+
i.trigger === "context" && (s.value = !s.value), s.value && p();
|
|
68
68
|
}, b = () => {
|
|
69
|
-
s.value &&
|
|
69
|
+
s.value && p();
|
|
70
70
|
}, k = (t) => {
|
|
71
|
-
!t.target.closest(`[id="${h}"]`) &&
|
|
71
|
+
!t.target.closest(`[id="${h}"]`) && a.value && !a.value.contains(t.target) && (s.value = !1);
|
|
72
72
|
};
|
|
73
73
|
return V(() => {
|
|
74
74
|
window.addEventListener("resize", b), window.addEventListener("click", k);
|
|
@@ -81,7 +81,7 @@ const Y = ["id"], F = {
|
|
|
81
81
|
onMouseleave: l[2] || (l[2] = w((e) => y(), ["stop"])),
|
|
82
82
|
onContextmenu: l[3] || (l[3] = w((e) => C(), ["stop"])),
|
|
83
83
|
ref_key: "dropdownRef",
|
|
84
|
-
ref:
|
|
84
|
+
ref: a
|
|
85
85
|
}, [
|
|
86
86
|
E(t.$slots, "default"),
|
|
87
87
|
(m(), N(q, { to: "body" }, [
|
|
@@ -95,11 +95,11 @@ const Y = ["id"], F = {
|
|
|
95
95
|
tabindex: "-1"
|
|
96
96
|
}, [
|
|
97
97
|
E(t.$slots, "dropdown")
|
|
98
|
-
], 14,
|
|
98
|
+
], 14, X)) : A("", !0)
|
|
99
99
|
]))
|
|
100
100
|
], 34));
|
|
101
101
|
}
|
|
102
102
|
};
|
|
103
103
|
export {
|
|
104
|
-
|
|
104
|
+
j as default
|
|
105
105
|
};
|
|
@@ -4,9 +4,7 @@ const m = {
|
|
|
4
4
|
props: {
|
|
5
5
|
class: { type: String, default: "" },
|
|
6
6
|
size: { type: String, default: "" },
|
|
7
|
-
// large, small
|
|
8
7
|
type: { type: String, default: "" },
|
|
9
|
-
// primary, success, info, warning, danger,
|
|
10
8
|
iconBefore: { type: String, default: "" }
|
|
11
9
|
},
|
|
12
10
|
setup(s) {
|
|
@@ -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-CX5bF-tK.js";
|
|
3
3
|
const O = ["for"], U = {
|
|
4
4
|
key: 0,
|
|
5
5
|
title: "Это поле обязательно для заполнения."
|
|
@@ -1,5 +1,5 @@
|
|
|
1
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-
|
|
2
|
+
import S from "./SwButton-85-tKHA7.js";
|
|
3
3
|
const C = { key: 0 }, N = {
|
|
4
4
|
__name: "SwMessage",
|
|
5
5
|
props: /* @__PURE__ */ f({
|
|
@@ -8,7 +8,6 @@ const g = ["name", "id"], w = ["for", "data-onlabel", "data-offlabel"], S = {
|
|
|
8
8
|
on: { type: String, default: "" },
|
|
9
9
|
off: { type: String, default: "" },
|
|
10
10
|
size: { type: String, default: "" },
|
|
11
|
-
// small | large
|
|
12
11
|
checkbox: { type: Boolean, default: !1 }
|
|
13
12
|
}, {
|
|
14
13
|
modelValue: {},
|
package/dist/component-sw.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
@charset "UTF-8";:root{--sw-color-default: #DFDFDF;--sw-color-primary: #3EAF4E;--sw-color-success: #75C6ff;--sw-color-info: #C0C0C0;--sw-color-warning: #FF7A00;--sw-color-danger: #CC2D4A;--sw-color-preholiday: #FFE78070;--sw-color-weekend: #ff808070;--sw-color-select: #007bff70;--sw-color-holiday: #ff0000;--sw-color-nowork: #ff0000;--sw-color-active: #007bff;--sw-text-color-primary: #333333;--sw-text-color-secondary: #4C4C4C;--sw-text-color-third: #818181;--sw-text-color-revers: white;--sw-bg-color: #f4f4f4;--sw-bg-color-page: white;--sw-bg-color-second: #FAFAFA;--sw-border-color: #D6D6D6;--sw-border-color-input: #CECECE;--sw-font-size: 1rem;--sw-font-size-small: .875rem;--sw-font-size-large: 1.125rem;--sw-font-size-big: 2.8rem;--sw-border-radius: .625rem;--sw-border-radius-small: .25rem;--sw-border-round: 3.625rem;--sw-component-size-base: 3rem;--sw-component-size-small: 1.625rem;--sw-component-size-large: 3.5rem;--sw-component-size-big: 10.5rem;font-family:Montserrat,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--sw-text-color-primary);background-color:var(--sw-bg-color);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root.dark{--sw-color-default: #4E4E4E;--sw-color-primary: #38A151;--sw-color-success: #0d588d;--sw-color-info: #808185;--sw-color-warning: #FF7A00;--sw-color-danger: #CC2D4A;--sw-text-color-primary: white;--sw-text-color-secondary: #FAFAFA;--sw-text-color-third: #FAFAFA;--sw-text-color-revers: white;--sw-bg-color: #182127;--sw-bg-color-page: #323741;--sw-bg-color-second: #232832;--sw-border-color: #4E4E4E;--sw-border-color-input: #5C5E63;--sw-shadow: 0 100px 80px rgba(0, 0, 0, .03), 0 41.7776px 33.4221px rgba(0, 0, 0, .0215656), 0 22.3363px 17.869px rgba(0, 0, 0, .0178832), 0 12.5216px 10.0172px rgba(0, 0, 0, .015), 0 6.6501px 5.32008px rgba(0, 0, 0, .0121168), 0 2.76726px 2.21381px rgba(0, 0, 0, .00843437)}@media (prefers-color-scheme: dark){:root:not(.light){--sw-color-default: #4E4E4E;--sw-color-primary: #38A151;--sw-color-success: #0d588d;--sw-color-info: #808185;--sw-color-warning: #FF7A00;--sw-color-danger: #CC2D4A;--sw-text-color-primary: white;--sw-text-color-secondary: #FAFAFA;--sw-text-color-third: #FAFAFA;--sw-text-color-revers: white;--sw-bg-color: #182127;--sw-bg-color-page: #323741;--sw-bg-color-second: #232832;--sw-border-color: #4E4E4E;--sw-border-color-input: #5C5E63;--sw-shadow: 0 100px 80px rgba(0, 0, 0, .03), 0 41.7776px 33.4221px rgba(0, 0, 0, .0215656), 0 22.3363px 17.869px rgba(0, 0, 0, .0178832), 0 12.5216px 10.0172px rgba(0, 0, 0, .015), 0 6.6501px 5.32008px rgba(0, 0, 0, .0121168), 0 2.76726px 2.21381px rgba(0, 0, 0, .00843437)}}.sw-alert-wrapper{position:fixed;z-index:1;top:0}.sw-alert-wrapper .sw-alert{padding:.625rem 1rem;margin-top:1rem;border-radius:var(--sw-border-radius);color:var(--sw-text-color-revers)}.sw-alert-wrapper .sw-alert .svg-icon{flex-shrink:0}.sw-alert-wrapper .sw-alert .svg-icon:first-child{margin-right:1rem}.sw-alert-wrapper .sw-alert .fade-enter-active,.sw-alert-wrapper .sw-alert .fade-leave-active{transition:opacity .5s}.sw-alert-wrapper .sw-alert .fade-enter-from,.sw-alert-wrapper .sw-alert .fade-leave-to{opacity:0}.sw-tabs{-webkit-user-select:none;user-select:none}.sw-tabs>header{display:flex;border-bottom:2px solid var(--sw-color-info);color:var(--sw-color-info);-webkit-user-select:none;user-select:none;font-size:var(--sw-font-size-small);font-weight:400;margin-bottom:1.25rem;transition:all .6s ease-out}.sw-tabs>header span{position:relative;top:2px;border-radius:0;padding:5px;cursor:pointer;border:none;background:none;outline:none}.sw-tabs>header span.active{border-bottom:2px solid var(--sw-color-primary);color:var(--sw-color-primary);font-weight:700}.sw-tabs>header span:hover:not(.active){color:var(--sw-border-color)}.sw-input{display:flex;align-items:center;position:relative;gap:0 1.75rem;padding:0 1.2em;border:1px solid var(--sw-border-color-input);border-radius:var(--sw-border-radius)}.sw-input label{text-align:left;transition:all .2s .2s linear;position:absolute;font-size:var(--sw-font-size-large);line-height:1;top:1.1rem;background:var(--sw-bg-color-page)}.sw-input label:hover{top:.8rem}.sw-input label+input::placeholder{opacity:0}.sw-input input{line-height:var(--sw-component-size-base);border:none;width:100%;font-size:var(--sw-font-size-large);background:none;outline:none}.sw-input input::placeholder{color:var(--sw-text-color-secondary);opacity:1;transition:opacity .2s .2s linear}.sw-input input:focus::placeholder{opacity:1}.sw-input .svg-icon{font-size:20px;color:var(--sw-text-color-third)}.sw-input>svg+label{left:4rem}.sw-input.sw-small label{top:.3rem}.sw-input.sw-small label:hover{top:0}.sw-input.sw-small input{line-height:var(--sw-component-size-small)}.sw-input.sw-large label{top:1.22rem}.sw-input.sw-large label:hover{top:1rem}.sw-input.sw-large input{line-height:var(--sw-component-size-large)}.sw-button{border-radius:1rem;border:1px solid var(--sw-color-default);padding:0 1.2em;min-height:var(--sw-component-size-base);font-size:var(--sw-font-size);font-weight:500;cursor:pointer;transition:border-color .25s;background-color:var(--sw-color-default);color:var(--sw-text-color-revers)}.sw-form-item{display:flex;justify-content:space-between;font-size:var(--sw-font-size-small);color:var(--sw-text-color-secondary);gap:1rem}.sw-form-item.sw-start{justify-content:flex-start}.sw-form-item.sw-end{justify-content:flex-end}.sw-form-item.sw-around{justify-content:space-around}.sw-form-item.sw-center{justify-content:center}.sw-dropdown{position:relative;display:inline-block;outline:none}.sw-dropdown-popup{z-index:3;padding:8px;min-width:200px;margin:0;-webkit-user-select:none;user-select:none;background-color:var(--sw-bg-color-second);border:1px solid var(--sw-border-color);border-radius:4px;box-shadow:0 2px 8px #0000001a}.sw-dropdown-item{display:block;outline:none;-webkit-user-select:none;user-select:none}.sw-dropdown-item svg{margin-right:.5rem}.sw-dropdown-item:hover{color:var(--sw-color-primary)}.sw-collapse{transition:all .3s ease-out;overflow:hidden;box-sizing:border-box;margin:0}.sw-switch{display:inline-flex;align-items:center;box-sizing:border-box;-webkit-user-select:none;user-select:none}.sw-switch>input{display:none}.sw-switch>input:checked+label{background-color:var(--sw-color-primary)}.sw-switch>input:checked+label:before{color:var(--sw-text-color-revers);content:attr(data-onlabel);left:.5rem;right:auto}.sw-switch>input:checked+label:after{background:#f7f7f7;left:2.125rem}.sw-switch>label{background-color:var(--sw-color-info);border-radius:1rem;cursor:pointer;flex:0 0 4rem;height:1.75rem;margin:.5rem;position:relative;transition:all .3s;width:4rem}.sw-switch>label:before{color:var(--sw-text-color-revers);content:attr(data-offlabel);display:block;font-size:1rem;position:absolute;right:.5rem;transition:all .3s}.sw-switch>label:after{background:var(--sw-text-color-revers);border:1px solid var(--sw-color-info);border-radius:50%;content:"";height:2rem;left:-.125rem;position:absolute;top:-.125rem;transition:all .3s;width:2rem}.sw-switch.sw-small>label{width:3.125rem;flex:0 0 3.125rem}.sw-switch.sw-small>label:before{content:""}.sw-switch.sw-small>label:after{content:"";left:.15rem;top:.125rem;width:1.375rem;height:1.375rem}.sw-switch.sw-small>input:checked+label:before{content:""}.sw-switch.sw-small>input:checked+label:after{left:1.475rem}.sw-switch.sw-checkbox label{border-radius:var(--sw-border-radius-small);background:var(--sw-bg-color-pag);border:1px solid var(--sw-border-color-input);height:.875rem;flex:0 0 .875rem}.sw-switch.sw-checkbox label:after{content:none}.sw-switch.sw-checkbox>input:checked+label{background:var(--sw-bg-color-page)}.sw-switch.sw-checkbox>input:checked+label:before{content:"✔";color:var(--sw-color-primary);top:-.9rem;left:0;font-size:1.6rem}.sw-skeleton{display:flex;gap:.5rem;flex-wrap:wrap;align-items:flex-end}.sw-skeleton-item{min-height:var(--sw-component-size-base);width:100%;background:var(--sw-bg-color-second);border-radius:var(--sw-border-radius);border:1px solid var(--sw-bg-color);box-sizing:border-box;overflow:hidden;position:relative}.sw-skeleton-item>div{height:100%;width:10px;background:var(--sw-border-color-input);display:inline-block;animation:sw-skeleton 3s linear infinite normal;position:absolute;transform:skew(-20deg);box-shadow:0 0 20px 20px var(--sw-border-color-input)}.sw-message{position:fixed;z-index:3;background-color:var(--sw-bg-color-page);border:1px solid var(--sw-border-color);border-radius:var(--sw-border-radius);padding:1.875rem;box-sizing:border-box;top:50%;left:50%;transform:translateY(-50%) translate(-50%);min-width:16rem;max-width:95%;max-height:95%}.sw-message>header{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.sw-message>footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.sw-modal-footer{margin-top:1rem;display:flex;gap:.5rem;justify-content:flex-end}.sw-data-picker{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem}.sw-data-picker .month_year{display:flex;justify-content:space-around;align-items:center}.sw-data-picker .month_year span:not(.text) button{font-size:1.3em}.sw-data-picker button{color:var(--sw-text-color-primary);height:30px;text-align:center;line-height:30px;cursor:pointer;background:none;border:none;border-radius:.2rem;transition:all .3s ease}.sw-data-picker button:hover:not(.disabled):not(.active){color:var(--sw-color-primary)}.sw-data-picker .week{border-bottom:1px solid var(--sw-color-info);margin-bottom:.5rem}.sw-data-picker .month,.sw-data-picker .week{width:250px;display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr;gap:.2rem}.sw-data-picker .month>button,.sw-data-picker .week>button{width:30px}.sw-data-picker .month>button.disabled,.sw-data-picker .week>button.disabled{color:var(--sw-color-info);cursor:not-allowed}.sw-data-picker .month>button.preholiday,.sw-data-picker .week>button.preholiday{background-color:var(--sw-color-preholiday)}.sw-data-picker .month>button.weekend,.sw-data-picker .week>button.weekend{background-color:var(--sw-color-weekend)}.sw-data-picker .month>button.select,.sw-data-picker .week>button.select{background-color:var(--sw-color-select)}.sw-data-picker .month>button.holiday,.sw-data-picker .week>button.holiday{background-color:var(--sw-color-holiday)}.sw-data-picker .month>button.nowork,.sw-data-picker .week>button.nowork{background-color:var(--sw-color-nowork)}.sw-data-picker .month>button.active,.sw-data-picker .week>button.active{background-color:var(--sw-color-active)}.sw-data-picker .year{width:250px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:.2rem;border-top:1px solid var(--sw-color-info)}.sw-data-picker .year>button.disabled{color:var(--sw-color-info);cursor:not-allowed}.sw-round{border-radius:var(--sw-border-round)}.sw-small{min-height:var(--sw-component-size-small)}.sw-large{min-height:var(--sw-component-size-large)}.sw-big{min-height:var(--sw-component-size-big)}.sw-primary{background-color:var(--sw-color-primary);border-color:var(--sw-color-primary)}.sw-success{background-color:var(--sw-color-success);border-color:var(--sw-color-success)}.sw-info{background-color:var(--sw-color-info);border-color:var(--sw-color-info)}.sw-warning{background-color:var(--sw-color-warning);border-color:var(--sw-color-warning)}.sw-danger{background-color:var(--sw-color-danger);border-color:var(--sw-color-danger)}.sw-text{color:var(--sw-color-default);background:none}.sw-text.sw-primary{color:var(--sw-color-primary)}.sw-text.sw-success{color:var(--sw-color-success)}.sw-text.sw-info{color:var(--sw-color-info)}.sw-text.sw-warning{color:var(--sw-color-warning)}.sw-text.sw-danger{color:var(--sw-color-danger)}.sw-link{background:none;border:none;padding:0;color:var(--sw-text-color-secondary);min-height:1em}.sw-link:hover.sw-primary{color:var(--sw-color-primary)}.sw-link:hover.sw-success{color:var(--sw-color-success)}.sw-link:hover.sw-info{color:var(--sw-color-info)}.sw-link:hover.sw-warning{color:var(--sw-color-warning)}.sw-link:hover.sw-danger{color:var(--sw-color-danger)}.sw-wrapper-alert{position:absolute;top:0;left:0;width:100%;height:100%;z-index:4;display:flex;flex-direction:column;justify-content:flex-start;align-items:center}@keyframes sw-skeleton{0%{left:-50px}to{left:calc(50px + 100%)}}.popup{position:relative}.popup .wrapper{position:absolute;z-index:1;list-style:none;font-size:.8rem;line-height:1.2;word-break:break-word;padding:0;margin:10px 0 0}.popup .wrapper :before{content:"";border-bottom-color:transparent!important;border-left-color:transparent!important;border:1px solid var(--el-border-color-light);background:var(--el-bg-color-overlay);right:50%;top:-6px;position:absolute;width:10px;height:10px;z-index:1;transform:rotate(-45deg)}.popup .scrollbar{box-shadow:0 0 0 1px var(--el-border-color);border-radius:var(--el-border-radius-base);background:#fff;padding:.5rem 0;margin:0}.popup .scrollbar li{display:flex;align-items:start;white-space:nowrap;list-style:none;line-height:22px;padding:5px 16px;margin:0;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);cursor:pointer;outline:none}.popup .scrollbar li:not(.is-disabled):focus{background:var(--el-dropdown-menuItem-hover-fill);color:var(--el-dropdown-menuItem-hover-color)}
|
|
1
|
+
@charset "UTF-8";:root{--sw-color-default: #DFDFDF;--sw-color-primary: #3EAF4E;--sw-color-success: #75C6ff;--sw-color-info: #C0C0C0;--sw-color-warning: #FF7A00;--sw-color-danger: #CC2D4A;--sw-color-preholiday: #FFE78070;--sw-color-weekend: #ff808070;--sw-color-select: #007bff70;--sw-color-holiday: #ff0000;--sw-color-nowork: #ff0000;--sw-color-active: #007bff;--sw-text-color-primary: #333333;--sw-text-color-secondary: #4C4C4C;--sw-text-color-third: #818181;--sw-text-color-revers: white;--sw-bg-color: #f4f4f4;--sw-bg-color-page: white;--sw-bg-color-second: #FAFAFA;--sw-border-color: #D6D6D6;--sw-border-color-input: #CECECE;--sw-font-size: 1rem;--sw-font-size-small: .875rem;--sw-font-size-large: 1.125rem;--sw-font-size-big: 2.8rem;--sw-border-radius: .625rem;--sw-border-radius-small: .25rem;--sw-border-round: 3.625rem;--sw-component-size-base: 3rem;--sw-component-size-small: 1.625rem;--sw-component-size-large: 3.5rem;--sw-component-size-big: 10.5rem;font-family:Montserrat,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--sw-text-color-primary);background-color:var(--sw-bg-color);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root.dark{--sw-color-default: #4E4E4E;--sw-color-primary: #38A151;--sw-color-success: #0d588d;--sw-color-info: #808185;--sw-color-warning: #FF7A00;--sw-color-danger: #CC2D4A;--sw-text-color-primary: white;--sw-text-color-secondary: #FAFAFA;--sw-text-color-third: #FAFAFA;--sw-text-color-revers: white;--sw-bg-color: #182127;--sw-bg-color-page: #323741;--sw-bg-color-second: #232832;--sw-border-color: #4E4E4E;--sw-border-color-input: #5C5E63;--sw-shadow: 0 100px 80px rgba(0, 0, 0, .03), 0 41.7776px 33.4221px rgba(0, 0, 0, .0215656), 0 22.3363px 17.869px rgba(0, 0, 0, .0178832), 0 12.5216px 10.0172px rgba(0, 0, 0, .015), 0 6.6501px 5.32008px rgba(0, 0, 0, .0121168), 0 2.76726px 2.21381px rgba(0, 0, 0, .00843437)}@media (prefers-color-scheme: dark){:root:not(.light){--sw-color-default: #4E4E4E;--sw-color-primary: #38A151;--sw-color-success: #0d588d;--sw-color-info: #808185;--sw-color-warning: #FF7A00;--sw-color-danger: #CC2D4A;--sw-text-color-primary: white;--sw-text-color-secondary: #FAFAFA;--sw-text-color-third: #FAFAFA;--sw-text-color-revers: white;--sw-bg-color: #182127;--sw-bg-color-page: #323741;--sw-bg-color-second: #232832;--sw-border-color: #4E4E4E;--sw-border-color-input: #5C5E63;--sw-shadow: 0 100px 80px rgba(0, 0, 0, .03), 0 41.7776px 33.4221px rgba(0, 0, 0, .0215656), 0 22.3363px 17.869px rgba(0, 0, 0, .0178832), 0 12.5216px 10.0172px rgba(0, 0, 0, .015), 0 6.6501px 5.32008px rgba(0, 0, 0, .0121168), 0 2.76726px 2.21381px rgba(0, 0, 0, .00843437)}}.sw-alert-wrapper{position:fixed;z-index:1;top:0}.sw-alert-wrapper .sw-alert{padding:.625rem 1rem;margin-top:1rem;border-radius:var(--sw-border-radius);color:var(--sw-text-color-revers)}.sw-alert-wrapper .sw-alert .svg-icon{flex-shrink:0}.sw-alert-wrapper .sw-alert .svg-icon:first-child{margin-right:1rem}.sw-alert-wrapper .sw-alert .fade-enter-active,.sw-alert-wrapper .sw-alert .fade-leave-active{transition:opacity .5s}.sw-alert-wrapper .sw-alert .fade-enter-from,.sw-alert-wrapper .sw-alert .fade-leave-to{opacity:0}.sw-tabs{-webkit-user-select:none;user-select:none}.sw-tabs>header{display:flex;border-bottom:2px solid var(--sw-color-info);color:var(--sw-color-info);-webkit-user-select:none;user-select:none;font-size:var(--sw-font-size-small);font-weight:400;margin-bottom:1.25rem;transition:all .6s ease-out}.sw-tabs>header span{position:relative;top:2px;border-radius:0;padding:5px;cursor:pointer;border:none;background:none;outline:none}.sw-tabs>header span.active{border-bottom:2px solid var(--sw-color-primary);color:var(--sw-color-primary);font-weight:700}.sw-tabs>header span:hover:not(.active){color:var(--sw-border-color)}.sw-input{display:flex;align-items:center;position:relative;gap:0 1.75rem;padding:0 1.2em;border:1px solid var(--sw-border-color-input);border-radius:var(--sw-border-radius)}.sw-input label{text-align:left;transition:all .2s .2s linear;position:absolute;font-size:var(--sw-font-size-large);line-height:1;top:1.1rem;background:var(--sw-bg-color-page)}.sw-input label:hover{top:.8rem}.sw-input label+input::placeholder{opacity:0}.sw-input input{line-height:var(--sw-component-size-base);border:none;width:100%;font-size:var(--sw-font-size-large);background:none;outline:none}.sw-input input::placeholder{color:var(--sw-text-color-secondary);opacity:1;transition:opacity .2s .2s linear}.sw-input input:focus::placeholder{opacity:1}.sw-input .svg-icon{font-size:20px;color:var(--sw-text-color-third)}.sw-input>svg+label{left:4rem}.sw-input.sw-small label{top:.3rem}.sw-input.sw-small label:hover{top:0}.sw-input.sw-small input{line-height:var(--sw-component-size-small)}.sw-input.sw-large label{top:1.22rem}.sw-input.sw-large label:hover{top:1rem}.sw-input.sw-large input{line-height:var(--sw-component-size-large)}.sw-button{border-radius:1rem;border:1px solid var(--sw-color-default);padding:0 1.2em;min-height:var(--sw-component-size-base);font-size:var(--sw-font-size);font-weight:500;cursor:pointer;transition:border-color .25s;background-color:var(--sw-color-default);color:var(--sw-text-color-revers)}.sw-form-item{display:flex;justify-content:space-between;font-size:var(--sw-font-size-small);color:var(--sw-text-color-secondary);gap:1rem}.sw-form-item.sw-start{justify-content:flex-start}.sw-form-item.sw-end{justify-content:flex-end}.sw-form-item.sw-around{justify-content:space-around}.sw-form-item.sw-center{justify-content:center}.sw-dropdown{position:relative;display:inline-block;outline:none}.sw-dropdown-popup{z-index:3;padding:8px;min-width:200px;margin:0;-webkit-user-select:none;user-select:none;background-color:var(--sw-bg-color-second);border:1px solid var(--sw-border-color);border-radius:4px;box-shadow:0 2px 8px #0000001a}.sw-dropdown-item{display:block;outline:none;-webkit-user-select:none;user-select:none}.sw-dropdown-item svg{margin-right:.5rem}.sw-dropdown-item:hover{color:var(--sw-color-primary)}.sw-collapse{transition:all .3s ease-out;overflow:hidden;box-sizing:border-box;margin:0}.sw-switch{display:inline-flex;align-items:center;box-sizing:border-box;-webkit-user-select:none;user-select:none}.sw-switch>input{display:none}.sw-switch>input:checked+label{background-color:var(--sw-color-primary)}.sw-switch>input:checked+label:before{color:var(--sw-text-color-revers);content:attr(data-onlabel);left:.5rem;right:auto}.sw-switch>input:checked+label:after{background:#f7f7f7;left:2.125rem}.sw-switch>label{background-color:var(--sw-color-info);border-radius:1rem;cursor:pointer;flex:0 0 4rem;height:1.75rem;margin:.5rem;position:relative;transition:all .3s;width:4rem}.sw-switch>label:before{color:var(--sw-text-color-revers);content:attr(data-offlabel);display:block;font-size:1rem;position:absolute;right:.5rem;transition:all .3s}.sw-switch>label:after{background:var(--sw-text-color-revers);border:1px solid var(--sw-color-info);border-radius:50%;content:"";height:2rem;left:-.125rem;position:absolute;top:-.125rem;transition:all .3s;width:2rem}.sw-switch.sw-small>label{width:3.125rem;flex:0 0 3.125rem}.sw-switch.sw-small>label:before{content:""}.sw-switch.sw-small>label:after{content:"";left:.15rem;top:.125rem;width:1.375rem;height:1.375rem}.sw-switch.sw-small>input:checked+label:before{content:""}.sw-switch.sw-small>input:checked+label:after{left:1.475rem}.sw-switch.sw-checkbox label{border-radius:var(--sw-border-radius-small);background:var(--sw-bg-color-pag);border:1px solid var(--sw-border-color-input);height:.875rem;flex:0 0 .875rem}.sw-switch.sw-checkbox label:after{content:none}.sw-switch.sw-checkbox>input:checked+label{background:var(--sw-bg-color-page)}.sw-switch.sw-checkbox>input:checked+label:before{content:"✔";color:var(--sw-color-primary);top:-.9rem;left:0;font-size:1.6rem}.sw-skeleton{display:flex;gap:.5rem;flex-wrap:wrap;align-items:flex-end}.sw-skeleton-item{min-height:var(--sw-component-size-base);width:100%;background:var(--sw-bg-color-second);border-radius:var(--sw-border-radius);border:1px solid var(--sw-bg-color);box-sizing:border-box;overflow:hidden;position:relative}.sw-skeleton-item>div{height:100%;width:10px;background:var(--sw-border-color-input);display:inline-block;animation:sw-skeleton 3s linear infinite normal;position:absolute;transform:skew(-20deg);box-shadow:0 0 20px 20px var(--sw-border-color-input)}.sw-message{position:fixed;z-index:3;background-color:var(--sw-bg-color-page);border:1px solid var(--sw-border-color);border-radius:var(--sw-border-radius);padding:1.875rem;box-sizing:border-box;top:50%;left:50%;transform:translateY(-50%) translate(-50%);min-width:16rem;max-width:95%;max-height:95%;overflow-y:auto}.sw-message>header{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.sw-message>footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.sw-modal-footer{margin-top:1rem;display:flex;gap:.5rem;justify-content:flex-end}.sw-data-picker{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem}.sw-data-picker .month_year{display:flex;justify-content:space-around;align-items:center}.sw-data-picker .month_year span:not(.text) button{font-size:1.3em}.sw-data-picker button{color:var(--sw-text-color-primary);height:30px;text-align:center;line-height:30px;cursor:pointer;background:none;border:none;border-radius:.2rem;transition:all .3s ease}.sw-data-picker button:hover:not(.disabled):not(.active){color:var(--sw-color-primary)}.sw-data-picker .week{border-bottom:1px solid var(--sw-color-info);margin-bottom:.5rem}.sw-data-picker .month,.sw-data-picker .week{width:250px;display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr;gap:.2rem}.sw-data-picker .month>button,.sw-data-picker .week>button{width:30px}.sw-data-picker .month>button.disabled,.sw-data-picker .week>button.disabled{color:var(--sw-color-info);cursor:not-allowed}.sw-data-picker .month>button.preholiday,.sw-data-picker .week>button.preholiday{background-color:var(--sw-color-preholiday)}.sw-data-picker .month>button.weekend,.sw-data-picker .week>button.weekend{background-color:var(--sw-color-weekend)}.sw-data-picker .month>button.select,.sw-data-picker .week>button.select{background-color:var(--sw-color-select)}.sw-data-picker .month>button.holiday,.sw-data-picker .week>button.holiday{background-color:var(--sw-color-holiday)}.sw-data-picker .month>button.nowork,.sw-data-picker .week>button.nowork{background-color:var(--sw-color-nowork)}.sw-data-picker .month>button.active,.sw-data-picker .week>button.active{background-color:var(--sw-color-active)}.sw-data-picker .year{width:250px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:.2rem;border-top:1px solid var(--sw-color-info)}.sw-data-picker .year>button.disabled{color:var(--sw-color-info);cursor:not-allowed}.sw-revers{transform:rotate(180deg)}.sw-round{border-radius:var(--sw-border-round)}.sw-small{min-height:var(--sw-component-size-small)}.sw-large{min-height:var(--sw-component-size-large)}.sw-big{min-height:var(--sw-component-size-big)}.sw-primary{background-color:var(--sw-color-primary);border-color:var(--sw-color-primary)}.sw-success{background-color:var(--sw-color-success);border-color:var(--sw-color-success)}.sw-info{background-color:var(--sw-color-info);border-color:var(--sw-color-info)}.sw-warning{background-color:var(--sw-color-warning);border-color:var(--sw-color-warning)}.sw-danger{background-color:var(--sw-color-danger);border-color:var(--sw-color-danger)}.sw-text{color:var(--sw-color-default);background:none}.sw-text.sw-primary{color:var(--sw-color-primary)}.sw-text.sw-success{color:var(--sw-color-success)}.sw-text.sw-info{color:var(--sw-color-info)}.sw-text.sw-warning{color:var(--sw-color-warning)}.sw-text.sw-danger{color:var(--sw-color-danger)}.sw-link{background:none;border:none;padding:0;color:var(--sw-text-color-secondary);min-height:1em}.sw-link:hover.sw-primary{color:var(--sw-color-primary)}.sw-link:hover.sw-success{color:var(--sw-color-success)}.sw-link:hover.sw-info{color:var(--sw-color-info)}.sw-link:hover.sw-warning{color:var(--sw-color-warning)}.sw-link:hover.sw-danger{color:var(--sw-color-danger)}.sw-wrapper-alert{position:absolute;top:0;left:0;width:100%;height:100%;z-index:4;display:flex;flex-direction:column;justify-content:flex-start;align-items:center}@keyframes sw-skeleton{0%{left:-50px}to{left:calc(50px + 100%)}}.popup{position:relative}.popup .wrapper{position:absolute;z-index:1;list-style:none;font-size:.8rem;line-height:1.2;word-break:break-word;padding:0;margin:10px 0 0}.popup .wrapper :before{content:"";border-bottom-color:transparent!important;border-left-color:transparent!important;border:1px solid var(--el-border-color-light);background:var(--el-bg-color-overlay);right:50%;top:-6px;position:absolute;width:10px;height:10px;z-index:1;transform:rotate(-45deg)}.popup .scrollbar{box-shadow:0 0 0 1px var(--el-border-color);border-radius:var(--el-border-radius-base);background:#fff;padding:.5rem 0;margin:0}.popup .scrollbar li{display:flex;align-items:start;white-space:nowrap;list-style:none;line-height:22px;padding:5px 16px;margin:0;font-size:var(--el-font-size-base);color:var(--el-text-color-regular);cursor:pointer;outline:none}.popup .scrollbar li:not(.is-disabled):focus{background:var(--el-dropdown-menuItem-hover-fill);color:var(--el-dropdown-menuItem-hover-color)}
|
|
@@ -71,14 +71,10 @@ const v = /* @__PURE__ */ B(H, [["render", G]]), y = {
|
|
|
71
71
|
message: { type: String, default: "Default message" },
|
|
72
72
|
before: { type: String, default: "" },
|
|
73
73
|
class: { type: String, default: "" },
|
|
74
|
-
// Стили
|
|
75
74
|
after: { type: String, default: "" },
|
|
76
75
|
size: { type: String, default: "" },
|
|
77
|
-
// размер small, large
|
|
78
76
|
duration: { type: Number, default: 6e3 },
|
|
79
|
-
// Время отображения в миллисекундах
|
|
80
77
|
type: { type: String, default: "info", validator: (e) => ["success", "warning", "error", "info"].includes(e) }
|
|
81
|
-
// тип по умолчанию - info | success| warning | error
|
|
82
78
|
},
|
|
83
79
|
emits: ["closed"],
|
|
84
80
|
setup(e, { emit: n }) {
|
|
@@ -148,7 +144,7 @@ function w(e = {}) {
|
|
|
148
144
|
}), t = n.mount(document.createElement("div"));
|
|
149
145
|
l.appendChild(t.$el);
|
|
150
146
|
}
|
|
151
|
-
const h = /* @__PURE__ */ Object.assign({ "./components/SwAlert.vue": () => Promise.resolve().then(() => U), "./components/SwButton.vue": () => import("./SwButton-
|
|
147
|
+
const h = /* @__PURE__ */ Object.assign({ "./components/SwAlert.vue": () => Promise.resolve().then(() => U), "./components/SwButton.vue": () => import("./SwButton-85-tKHA7.js"), "./components/SwCollapse.vue": () => import("./SwCollapse-ByvwHeVt.js"), "./components/SwDatePicker.vue": () => import("./SwDatePicker-x-8gziOv.js"), "./components/SwDropdown.vue": () => import("./SwDropdown-C08tG2Gv.js"), "./components/SwDropdownItem.vue": () => import("./SwDropdownItem-wFMHwJJk.js"), "./components/SwFormItem.vue": () => import("./SwFormItem-CaA4jsoa.js"), "./components/SwInput.vue": () => import("./SwInput-CsXSaxlv.js"), "./components/SwMessage.vue": () => import("./SwMessage-CLIBIKTf.js"), "./components/SwSection.vue": () => import("./SwSection-CQfw3-el.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-FMwJbEH7.js"), "./components/SwTabs.vue": () => import("./SwTabs-DkSI4oAh.js"), "./components/SwTabsPane.vue": () => import("./SwTabsPane-Dwtj8g7T.js") }), d = {};
|
|
152
148
|
for (const e in h) {
|
|
153
149
|
const n = e.split("/").pop().replace(".vue", "").replace(/-(\w)/g, (t, o) => o.toUpperCase());
|
|
154
150
|
d[n] = P(() => h[e]());
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(N,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(N=typeof globalThis<"u"?globalThis:N||self,e(N["component-sw"]={},N.vue))})(this,function(N,e){"use strict";function K(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",c={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,(k,p)=>c[p])}const ee=(a,n)=>{const t=a.__vccOpts||a;for(const[l,o]of n)t[l]=o;return t},te={name:"SvgIcon",props:{prefix:{type:String,default:"icon"},iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExt(){return K(this.iconClass)}}},le=["href"];function oe(a,n,t,l,o,c){return c.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,le)],16))}const I=ee(te,[["render",oe]]),H={__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 c=null;const k=()=>{o.value=!0,M()},p=()=>{o.value=!1,l("closed")},d=()=>{c&&(clearTimeout(c),c=null)},h=()=>{M()},M=()=>{c=setTimeout(p,t.duration)};e.onMounted(()=>{k()}),e.onUnmounted(()=>{c&&clearTimeout(c)});const b=e.computed(()=>{const m=["sw-alert"];return t.size.length>0&&m.push(`sw-${t.size}`),t.type.length>0&&m.push(`sw-${t.type}`),t.class.length>0&&m.push(t.class),m});return(m,y)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(b.value),onMouseenter:d,onMouseleave:h},[t.before.length>0?(e.openBlock(),e.createBlock(I,{key:0,"icon-class":t.before},null,8,["icon-class"])):e.renderSlot(m.$slots,"prefix",{key:1}),e.renderSlot(m.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)]),t.after.length>0?(e.openBlock(),e.createBlock(I,{key:2,"icon-class":t.after,onClick:p},null,8,["icon-class"])):e.renderSlot(m.$slots,"suffix",{key:3})],34)):e.createCommentVNode("",!0)]),_:3}))}},ne=Object.freeze(Object.defineProperty({__proto__:null,default:H},Symbol.toStringTag,{value:"Module"}));let O=document.querySelector("div.sw-alert-wrapper");function L(a={}){O||(O=document.createElement("div"),O.className="sw-alert-wrapper",document.body.appendChild(O));const n=e.createApp({setup(){return()=>e.h(H,{...a,onClose:()=>{O.removeChild(n._container),n.unmount()}})}}),t=n.mount(document.createElement("div"));O.appendChild(t.$el)}const W=Object.assign({"./components/SwAlert.vue":()=>Promise.resolve().then(()=>ne),"./components/SwButton.vue":()=>Promise.resolve().then(()=>se),"./components/SwCollapse.vue":()=>Promise.resolve().then(()=>re),"./components/SwDatePicker.vue":()=>Promise.resolve().then(()=>De),"./components/SwDropdown.vue":()=>Promise.resolve().then(()=>Ee),"./components/SwDropdownItem.vue":()=>Promise.resolve().then(()=>Me),"./components/SwFormItem.vue":()=>Promise.resolve().then(()=>Ce),"./components/SwInput.vue":()=>Promise.resolve().then(()=>ze),"./components/SwMessage.vue":()=>Promise.resolve().then(()=>ve),"./components/SwSection.vue":()=>Promise.resolve().then(()=>je),"./components/SwSelect.vue":()=>Promise.resolve().then(()=>Ae),"./components/SwSkeleton.vue":()=>Promise.resolve().then(()=>Re),"./components/SwSkeletonItem.vue":()=>Promise.resolve().then(()=>Ye),"./components/SwSwitch.vue":()=>Promise.resolve().then(()=>We),"./components/SwTabs.vue":()=>Promise.resolve().then(()=>Xe),"./components/SwTabsPane.vue":()=>Promise.resolve().then(()=>Qe)}),A={};for(const a in W){const n=a.split("/").pop().replace(".vue","").replace(/-(\w)/g,(t,l)=>l.toUpperCase());A[n]=e.defineAsyncComponent(()=>W[a]())}const ae={install(a){Object.keys(A).forEach(n=>{a.component(n,A[n]),console.log(n)}),a.config.globalProperties.$Alert=L,a.provide("Alert",L)}},U={__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,c)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(l.value),onClick:t},[e.renderSlot(o.$slots,"default")],2))}},se=Object.freeze(Object.defineProperty({__proto__:null,default:U},Symbol.toStringTag,{value:"Module"})),re=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;e.watch(()=>t.visual,()=>o());const l=e.ref("0px"),o=()=>{n.value&&(l.value=t.visual?n.value.scrollHeight+"px":"0px")};let c;return e.onMounted(()=>{o(),n.value&&(c=new ResizeObserver(o),c.observe(n.value))}),e.onBeforeUnmount(()=>{c&&c.disconnect()}),(k,p)=>(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(k.$slots,"default")],6))}}},Symbol.toStringTag,{value:"Module"})),ie={class:"sw-data-picker"},ce={class:"month_year"},de={class:"text"},pe={key:0,class:"week"},me={key:1,class:"year"},fe=["onClick"],ue={key:2,class:"month"},ge=["onClick"],he={key:0},ye={class:"month_year"},ke={class:"text"},_e={key:0,class:"week"},Se={key:1,class:"year"},we=["onClick"],be={key:2,class:"month"},Be=["onClick"],De=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 X,J,Q,Z;const t=a,l=n,o=e.ref(3),c=e.ref(new Date),k=e.ref(new Date),p=e.ref(new Date().getFullYear()),d=e.ref(new Date().getMonth()),h=e.ref(new Date().getFullYear()),M=e.ref(new Date().getMonth()),b=e.ref(new Date().getMonth()+1),m=e.ref([]),y=e.ref(0),_=e.ref(-1),f=e.ref(-1),w=e.ref(navigator.languages||"ru"),u=/en|zh|ja|he/.test(w.value)?0:1,P=e.computed(()=>Array.from({length:12},(i,s)=>{const r=new Date(2024,s);return new Intl.DateTimeFormat(w.value,{month:"long"}).format(r)})),E=i=>{let s=i.split(i.match(/\D.*?\D?/));return s[0].length>2?s.join("-")+"T00:00:01":s.reverse().join("-")+"T00:00:01"};(X=t.data)!=null&&X.startDate&&(c.value=new Date(E(t.data.startDate)),p.value=c.value.getFullYear(),d.value=c.value.getMonth()),(J=t.data)!=null&&J.endDate&&t.range==="range"&&(k.value=new Date(E(t.data.endDate)),h.value=k.value.getFullYear(),M.value=k.value.getMonth());const $=()=>{m.value=[],y.value=0;const i=new Date(p.value,d.value,0);for(let r=i.getDate()-i.getDay()+u;r<=i.getDate();r++)i.getDay()!==6+u&&(m.value.push({day:r,month:i.getMonth(),year:i.getFullYear(),class:[]}),y.value++);const s=new Date(p.value,d.value+1,0).getDate();for(let r=1;r<=s;r++)m.value.push({day:r,month:d.value,year:p.value,class:[]}),y.value++;if(t.range==="range"){const r=new Date(p.value,d.value+1,1),g=new Date(p.value,d.value+2,0).getDate();for(let C=1;C<=g;C++)m.value.push({day:C,month:r.getMonth(),year:r.getFullYear(),class:[]})}T()},T=()=>{var s;if(!((s=t.data)!=null&&s.holiday))return;const i=(r,g)=>{r.forEach(C=>{const[D,V,v]=C.split("-").map(Number),F=m.value.findIndex(q=>q.year===D&&q.month+1===V&&q.day===v);F!==-1&&(m.value[F].class[0]=g)})};i(t.data.holiday.preholidays,"preholiday"),i(t.data.holiday.holidays,"weekend"),i(t.data.holiday.holiday,"holiday"),i(t.data.holiday.nowork,"nowork")},S=()=>{if(!t.limitation||t.limitation.length<2)return!1;const i=[...t.limitation].sort((s,r)=>new Date(E(s.startDate)).getTime()-new Date(E(r.startDate)).getTime());for(let s=1;s<i.length;s++){const r=new Date(E(i[s-1].endDate));if(new Date(E(i[s].startDate))<=r)return console.warn("Warning: Диапазоны пересекаются:",i[s-1],i[s]),!0}return!1},B=(i,s,r)=>{if(!t.limitation||t.limitation.length===0)return!0;const g=new Date(i,s,r).getTime();for(let C of t.limitation){const{startDate:D,endDate:V}=C;if(!D&&V){const v=new Date(E(V)).getTime();if(g<=v)return!1}if(D&&!V){const v=new Date(E(D)).getTime();if(g>=v)return!1}if(D&&V){const v=new Date(E(D)).getTime(),F=new Date(E(V)).getTime();if(v<=F){if(g>=v&&g<=F)return!1}else if(g>=v||g<=F)return!1}}return!0},x=(i,s)=>{const r=j(new Date(i.year,i.month,i.day),"{dd}.{m}.{Y}");t.range==="range"?f.value!==-1?(Y(),_.value=s,m.value[s].class[1]="active"):_.value!==-1?(f.value=s,R(_.value,f.value,r)):(_.value=s,m.value[s].class[1]="active"):(_.value!==-1&&(m.value[_.value].class[1]=""),_.value=s,m.value[s].class[1]="active",l("input",{dateStart:r,count:1}))},Y=()=>{m.value.forEach(i=>i.class[1]=""),_.value=-1,f.value=-1},R=(i,s,r)=>{let g=j(new Date(m.value[i].year,m.value[i].month,m.value[i].day),"{dd}.{m}.{Y}"),C=Ze(i,s);if(s>=i)for(let D=i+1;D<s;D++)m.value[D].class[1]="select";else for(let D=s+1;D<i;D++)m.value[D].class[1]="select";m.value[s].class[1]="active",l("input",{dateStart:g,dateEnd:r,count:C})},Ze=(i,s)=>{var D;let r=Math.abs(i-s)+1,[g,C]=[Math.min(i,s),Math.max(i,s)];for(let V=g;V<=C;V++)((D=m.value[V])==null?void 0:D.class[0])==="holiday"&&r--;return r},z=(i,s)=>{B(i,s)&&(c.value=new Date(i,s,1),p.value=c.value.getFullYear(),d.value=c.value.getMonth(),console.log(o.value),t.range==="year"&&o.value===0?x({year:i,month:s,day:1},8):$())};if($(),S()&&console.error("Ошибка: Найдены пересекающиеся диапазоны!"),(Q=t.data)!=null&&Q.startDate&&(_.value=m.value.findIndex(i=>i.day===c.value.getDate()&&i.month===d.value&&i.year===p.value),_.value!==-1&&(m.value[_.value].class[1]="active")),(Z=t.data)!=null&&Z.endDate&&t.range==="range"&&(f.value=m.value.findIndex(i=>i.day===k.value.getDate()&&i.month===M.value&&i.year===h.value),f.value!==-1)){m.value[f.value].class[1]="active";for(let i=_.value+1;i<f.value;i++)m.value[i].class[1]="select"}return(i,s)=>(e.openBlock(),e.createElementBlock("div",ie,[e.createElementVNode("div",null,[e.createElementVNode("p",ce,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[0]||(s[0]=e.withModifiers(r=>z(p.value-1,d.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:s[1]||(s[1]=e.withModifiers(r=>{o.value=0,z(p.value,d.value-1)},["prevent"]))},"‹")]),e.createElementVNode("span",de,[e.createElementVNode("button",{onClick:s[2]||(s[2]=e.withModifiers(r=>o.value=1,["prevent"]))},e.toDisplayString(p.value),1),e.createElementVNode("button",{onClick:s[3]||(s[3]=e.withModifiers(r=>o.value=1,["prevent"]))},e.toDisplayString(e.unref(j)(c.value.setMonth(d.value),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[4]||(s[4]=e.withModifiers(r=>{o.value=0,z(p.value,d.value+1)},["prevent"]))},"›"),e.createElementVNode("button",{onClick:s[5]||(s[5]=e.withModifiers(r=>z(p.value+1,d.value),["prevent"]))},"»")])]),t.range==="year"||o.value===1?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",pe,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(r,g)=>e.createElementVNode("button",{key:g,class:"disabled"},e.toDisplayString(e.unref(j)(new Date(1970,1,r+e.unref(u)),"{D}")),1)),64))])),t.range==="year"||o.value===1?(e.openBlock(),e.createElementBlock("div",me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,(r,g)=>(e.openBlock(),e.createElementBlock("button",{key:g,onClick:e.withModifiers(C=>{o.value=0,z(p.value,g)},["prevent"])},e.toDisplayString(r),9,fe))),128))])):(e.openBlock(),e.createElementBlock("div",ue,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(r,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:g},[g<y.value+(7-new Date(p.value,d.value+1,1).getDay()+e.unref(u))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(r.month===d.value&&B(r.year,r.month,r.day)?r.class:"disabled"),onClick:e.withModifiers(()=>{r.month===d.value&&x(r,g)},["prevent"])},e.toDisplayString(r.day),11,ge)):e.createCommentVNode("",!0)],64))),128))]))]),t.range==="range"?(e.openBlock(),e.createElementBlock("div",he,[e.createElementVNode("p",ye,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[6]||(s[6]=e.withModifiers(r=>z(p.value-1,d.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:s[7]||(s[7]=e.withModifiers(r=>{o.value=0,z(p.value,d.value-1)},["prevent"]))},"‹")]),e.createElementVNode("span",ke,[e.createElementVNode("button",{onClick:s[8]||(s[8]=e.withModifiers(r=>o.value=2,["prevent"]))},e.toDisplayString(new Date(p.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)(c.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,z(p.value,d.value+1)},["prevent"]))},"›"),e.createElementVNode("button",{onClick:s[11]||(s[11]=e.withModifiers(r=>z(p.value+1,d.value),["prevent"]))},"»")])]),o.value!==2?(e.openBlock(),e.createElementBlock("div",_e,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(r,g)=>e.createElementVNode("button",{key:g,class:"disabled"},e.toDisplayString(e.unref(j)(new Date(1970,1,r+e.unref(u)),"{D}")),1)),64))])):e.createCommentVNode("",!0),o.value===2?(e.openBlock(),e.createElementBlock("div",Se,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,(r,g)=>(e.openBlock(),e.createElementBlock("button",{key:g,onClick:e.withModifiers(C=>{o.value=0,z(p.value,g-1)},["prevent"])},e.toDisplayString(r),9,we))),128))])):(e.openBlock(),e.createElementBlock("div",be,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(r,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:g},[g>=y.value-(7+new Date(p.value,d.value+1,1).getDay()-e.unref(u))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(r.month===b.value&&B(r.year,r.month,r.day)?r.class:"disabled"),onClick:e.withModifiers(()=>{r.month===b.value&&x(r,g)},["prevent"])},e.toDisplayString(r.day),11,Be)):e.createCommentVNode("",!0)],64))),128))]))])):e.createCommentVNode("",!0)]))}}},Symbol.toStringTag,{value:"Module"})),$e=["id"],Ee=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),c=e.ref(null),k=e.ref({}),p=Math.ceil(Math.random()*1e3),d=e.computed(()=>{let f=["sw-dropdown"];return t.size.length>0&&f.push("sw-"+t.size),t.type.length>0&&f.push("sw-"+t.type),f}),h=async()=>{if(await e.nextTick(),!c.value)return;const f=window.pageYOffset||document.documentElement.scrollTop,w=window.pageXOffset||document.documentElement.scrollLeft;document.body.style.position="fixed",document.body.style.top=`-${f}px`,document.body.style.left=`-${w}px`,document.body.style.position="",document.body.style.top="",document.body.style.left="",document.documentElement.scrollTop=f,document.documentElement.scrollLeft=w;const u=o.value.getBoundingClientRect(),P=window.innerWidth,E=window.innerHeight,$=c.value.offsetHeight,T=c.value.offsetWidth;console.log("popupHeight",$),console.log("popupWidth",T);let S=u.left+u.width/2+w,B=u.top+u.height/2+f,x=u.height/2+8;const[Y,R]=t.placement.split("-",2);switch(console.log(t.placement),Y){case"bottom":B=f+E-$-x-8<B?B-x-$:B+x;break;case"top":B=f+$+x+8>B?B+x:B-x-$;break;case"left":S=S-T-u.width/2-8,B=B-$/2;break;case"right":S=S+u.width/2+8,B=B-$/2;break}switch(R){case"left":S=w+P-8>S-u.width/2+T?S-u.width/2:S-T+u.width/2;break;case"right":S=8<S+u.width/2-T?S-T+u.width/2:S-u.width/2;break}S<0&&(S=0),B<0&&(B=0),k.value={position:"absolute",top:`${B}px`,left:`${S}px`,maxWidth:t.maxWidth===0?"":`${t.maxWidth}px`}};n({positionPopup:h});const M=()=>{t.trigger==="click"&&(l.value=!l.value),l.value&&h()},b=()=>{t.trigger==="hover"&&(l.value=!l.value),l.value&&h()},m=()=>{t.trigger==="context"&&(l.value=!l.value),l.value&&h()},y=()=>{l.value&&h()},_=f=>{!f.target.closest(`[id="${p}"]`)&&o.value&&!o.value.contains(f.target)&&(l.value=!1)};return e.onMounted(()=>{window.addEventListener("resize",y),window.addEventListener("click",_)}),e.onUnmounted(()=>{window.removeEventListener("resize",y),window.removeEventListener("click",_)}),(f,w)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(d.value),onClick:w[0]||(w[0]=u=>M()),onMouseover:w[1]||(w[1]=e.withModifiers(u=>b(),["stop"])),onMouseleave:w[2]||(w[2]=e.withModifiers(u=>b(),["stop"])),onContextmenu:w[3]||(w[3]=e.withModifiers(u=>m(),["stop"])),ref_key:"dropdownRef",ref:o},[e.renderSlot(f.$slots,"default"),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[l.value?(e.openBlock(),e.createElementBlock("ul",{key:0,ref_key:"popupRef",ref:c,id:e.unref(p),class:e.normalizeClass(["sw-dropdown-popup",t.class]),style:e.normalizeStyle(k.value),tabindex:"-1"},[e.renderSlot(f.$slots,"dropdown")],14,$e)):e.createCommentVNode("",!0)]))],34))}}},Symbol.toStringTag,{value:"Module"})),Me=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 c=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(t.value)},[e.createVNode(c,{"icon-class":a.iconBefore},null,8,["icon-class"]),e.renderSlot(l.$slots,"default")],2)}}}},Symbol.toStringTag,{value:"Module"})),Ce=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"})),Te=["for"],Ve={key:0,title:"Это поле обязательно для заполнения."},xe=["required","placeholder","type","id","name"],ze=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 m;const t=e.useModel(a,"modelValue"),l=a,o=e.ref(null),c=n,k=y=>{c("focusInput"),y.target.setSelectionRange(t.value.length,t.value.length),o.value!==null&&(o.value.style.top="-.6em")},p=y=>{var _;((_=t.value)==null?void 0:_.length)===0&&o.value!==null&&o.value.removeAttribute("style")};((m=t.value)==null?void 0:m.length)>0&&o.value!==null&&(o.value.style.top="-.6em");const d=()=>{c("suffix")},h=()=>{c("prefix")},M=e.computed(()=>{let y=["sw-input"];return l.size.length>0&&y.push("sw-"+l.size),l.class.length>0&&y.push(l.class),y});e.watch(t,(y,_)=>{l.type==="phone"&&(t.value=b(y,_))});const b=(y,_)=>{if(/^\+[0-9]\s/.test(_)&&y.length===2||/^\+0\s/.test(y))return"";const f=y;if(typeof f>"u"||f.length===0)return f;const w="+0 (___) ___-__-__";let u=0;const P=w.replace(/\D/g,""),E=f.replace(/\D/g,"");let $=w.replace(/[_\d]/g,S=>u<E.length?E.charAt(u++)||P.charAt(u):S);u=$.indexOf("_"),u!==-1&&(u=u<5?3:u,$=$.slice(0,u));let T=w.slice(0,f.length).replace(/_+/g,S=>`\\d{1,${S.length}}`).replace(/[+()]/g,"\\$&");if(T=new RegExp(`^${T}$`),$=$.replace(/[-—]$|(\) )$/g,""),!T.test(f)||f.length<5)return $};return(y,_)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(M.value)},[l.before.length>0?(e.openBlock(),e.createBlock(I,{key:0,"icon-class":l.before,onClick:h},null,8,["icon-class"])):e.renderSlot(y.$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",Ve,"*")):e.createCommentVNode("",!0)],8,Te)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":_[0]||(_[0]=f=>t.value=f),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:k,onBlur:p,maxlength:"128"},null,40,xe),[[e.vModelDynamic,t.value]]),l.after.length>0?(e.openBlock(),e.createBlock(I,{key:3,"icon-class":l.after,onClick:d},null,8,["icon-class"])):e.renderSlot(y.$slots,"suffix",{key:4})],2))}}},Symbol.toStringTag,{value:"Module"})),Ne={key:0},ve=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,c)=>{const k=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(U,{link:"",type:"primary",onClick:c[0]||(c[0]=p=>n.value=!1)},{default:e.withCtx(()=>[e.createVNode(k,{"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"})),je=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSection",props:{name:{type:String,default:""},class:{type:String,default:""},iconAfter:{type:String,default:""}},emits:["header"],setup(a,{emit:n}){const t=a,l=n,o=()=>{l("header")};return(c,k)=>{const p=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(t.class)},[e.createElementVNode("header",{onClick:o},[e.renderSlot(c.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createVNode(p,{"icon-class":t.iconAfter},null,8,["icon-class"])])]),e.renderSlot(c.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(c.$slots,"footer")])],2)}}}},Symbol.toStringTag,{value:"Module"})),Oe={class:"popup"},Pe={class:"wrapper"},Fe={class:"scrollbar"},Ie=["onClick"],Ae=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"),c=a;e.watch(o.text,d=>{d.length>3&&(n.value.fullText=d)}),e.watch(n.value.fullText,(d,h)=>{t.value=d.length>3&&d.length>h.length,d.length>3&&k()});const k=()=>{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 "+c.token}}).then(h=>{console.log(h.data.suggestions),l.value=h.data.suggestions,l.value.length===1&&p(l.value[0])}).catch(h=>{console.log(h)})},p=d=>{n.value.fullText=d.value,t.value=!1;const h={};h.text=d.value,h.coords=[Number(d.data.geo_lat),Number(d.data.geo_lon)],h.suggestion=d.data,o.value=h};return(d,h)=>{const M=e.resolveComponent("sw-input");return e.openBlock(),e.createElementBlock("div",Oe,[e.createVNode(M,{size:c.size,modelValue:n.value.fullText,"onUpdate:modelValue":h[0]||(h[0]=b=>n.value.fullText=b),placeholder:a.placeholder},null,8,["size","modelValue","placeholder"]),e.withDirectives(e.createElementVNode("div",Pe,[e.createElementVNode("ul",Fe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(b,m)=>(e.openBlock(),e.createElementBlock("li",{tabindex:"1",key:m,onClick:y=>p(b)},e.toDisplayString(b.value),9,Ie))),128))])],512),[[e.vShow,t.value]])])}}}},Symbol.toStringTag,{value:"Module"})),Le={key:0},G={__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,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value),style:e.normalizeStyle(l.value)},[n.animate?(e.openBlock(),e.createElementBlock("div",Le)):e.createCommentVNode("",!0)],6))}},Ye=Object.freeze(Object.defineProperty({__proto__:null,default:G},Symbol.toStringTag,{value:"Module"})),Re=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(G,{animate:"",size:"small"})])],2))}}},Symbol.toStringTag,{value:"Module"})),qe=["name","id"],He=["for","data-onlabel","data-offlabel"],We=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,c)=>(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":c[0]||(c[0]=k=>n.value=k)},null,8,qe),[[e.vModelCheckbox,n.value]]),e.createElementVNode("label",{for:t.id,class:"sw-label","data-onlabel":t.on,"data-offlabel":t.off},null,8,He),e.renderSlot(o.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Ue={key:0},Ge=["onClick"],Xe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabs",props:e.mergeModels({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"),c=n;function k(d){t.value.push(d)}function p(d){t.value=t.value.filter(h=>h!==d)}return e.provide("registerTab",k),e.provide("unregisterTab",p),e.provide("activeTab",o),e.provide("tabs",t),(d,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("sw-tabs "+l.class)},[t.value.length!==0?(e.openBlock(),e.createElementBlock("header",Ue,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(M,b)=>(e.openBlock(),e.createElementBlock("span",{key:b,class:e.normalizeClass([{active:o.value===b}]),onClick:m=>{o.value=b,c("tab-click",b)}},e.toDisplayString(M.label||M.title),11,Ge))),128))])):e.createCommentVNode("",!0),e.renderSlot(d.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Je={key:0,class:"tab-content"},Qe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPane",props:{title:{type:String,required:!0},label:{type:String,default:""}},setup(a){const n=a,t=e.inject("registerTab"),l=e.inject("unregisterTab");e.onMounted(()=>{t({title:n.title,label:n.label})}),e.onUnmounted(()=>{l({title:n.title,label:n.label})});const o=e.inject("activeTab"),c=e.inject("tabs"),k=e.computed(()=>c.value.findIndex(d=>d.title===n.title)),p=e.computed(()=>o.value===k.value);return(d,h)=>p.value?(e.openBlock(),e.createElementBlock("div",Je,[e.renderSlot(d.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"}));N.Alert=L,N.Library=ae,N.components=A,Object.defineProperty(N,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(z,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(z=typeof globalThis<"u"?globalThis:z||self,e(z["component-sw"]={},z.vue))})(this,function(z,e){"use strict";function K(s){return/^(https?:|mailto:|tel:)/.test(s)}function O(s,n){if(arguments.length===0||!s)return null;const t=n||"{Y}-{m}-{d} {G}:{i}:{s}";let o;typeof s=="object"?o=s:(typeof s=="string"&&(/^[0-9]+$/.test(s)?s=parseInt(s):s=s.replace(new RegExp(/-/gm),"/")),typeof s=="number"&&s.toString().length===10&&(s=s*1e3),o=new Date(s));const l="ru-RU",c={Y:o.getFullYear(),m:(o.getMonth()+1).toString().padStart(2,"0"),d:o.getDate(),dd:o.getDate().toString().padStart(2,"0"),G:o.getHours(),H:o.getHours().toString().padStart(2,"0"),i:o.getMinutes().toString().padStart(2,"0"),s:o.getSeconds().toString().padStart(2,"0"),D:new Intl.DateTimeFormat(l,{weekday:"short"}).format(o),F:new Intl.DateTimeFormat(l,{month:"long"}).format(o),M:new Intl.DateTimeFormat(l,{month:"short"}).format(o)};return t.replace(/{(dd|[YmdGHisDFM])+}/g,(S,p)=>c[p])}const ee=(s,n)=>{const t=s.__vccOpts||s;for(const[o,l]of n)t[o]=l;return t},te={name:"SvgIcon",props:{prefix:{type:String,default:"icon"},iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExt(){return K(this.iconClass)}}},oe=["href"];function le(s,n,t,o,l,c){return c.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"},s.$attrs),null,16)):(e.openBlock(),e.createElementBlock("svg",e.mergeProps({key:1,class:"svg-icon "+t.className,"aria-hidden":"true"},s.$attrs),[e.createElementVNode("use",{href:"#"+t.prefix+"-"+t.iconClass},null,8,oe)],16))}const I=ee(te,[["render",le]]),H={__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:s=>["success","warning","error","info"].includes(s)}},emits:["closed"],setup(s,{emit:n}){const t=s,o=n,l=e.ref(!1);let c=null;const S=()=>{l.value=!0,M()},p=()=>{l.value=!1,o("closed")},d=()=>{c&&(clearTimeout(c),c=null)},h=()=>{M()},M=()=>{c=setTimeout(p,t.duration)};e.onMounted(()=>{S()}),e.onUnmounted(()=>{c&&clearTimeout(c)});const b=e.computed(()=>{const m=["sw-alert"];return t.size.length>0&&m.push(`sw-${t.size}`),t.type.length>0&&m.push(`sw-${t.type}`),t.class.length>0&&m.push(t.class),m});return(m,y)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade"},{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(b.value),onMouseenter:d,onMouseleave:h},[t.before.length>0?(e.openBlock(),e.createBlock(I,{key:0,"icon-class":t.before},null,8,["icon-class"])):e.renderSlot(m.$slots,"prefix",{key:1}),e.renderSlot(m.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)]),t.after.length>0?(e.openBlock(),e.createBlock(I,{key:2,"icon-class":t.after,onClick:p},null,8,["icon-class"])):e.renderSlot(m.$slots,"suffix",{key:3})],34)):e.createCommentVNode("",!0)]),_:3}))}},ne=Object.freeze(Object.defineProperty({__proto__:null,default:H},Symbol.toStringTag,{value:"Module"}));let P=document.querySelector("div.sw-alert-wrapper");function L(s={}){P||(P=document.createElement("div"),P.className="sw-alert-wrapper",document.body.appendChild(P));const n=e.createApp({setup(){return()=>e.h(H,{...s,onClose:()=>{P.removeChild(n._container),n.unmount()}})}}),t=n.mount(document.createElement("div"));P.appendChild(t.$el)}const W=Object.assign({"./components/SwAlert.vue":()=>Promise.resolve().then(()=>ne),"./components/SwButton.vue":()=>Promise.resolve().then(()=>se),"./components/SwCollapse.vue":()=>Promise.resolve().then(()=>re),"./components/SwDatePicker.vue":()=>Promise.resolve().then(()=>$e),"./components/SwDropdown.vue":()=>Promise.resolve().then(()=>Ee),"./components/SwDropdownItem.vue":()=>Promise.resolve().then(()=>Me),"./components/SwFormItem.vue":()=>Promise.resolve().then(()=>Ce),"./components/SwInput.vue":()=>Promise.resolve().then(()=>xe),"./components/SwMessage.vue":()=>Promise.resolve().then(()=>je),"./components/SwSection.vue":()=>Promise.resolve().then(()=>Oe),"./components/SwSelect.vue":()=>Promise.resolve().then(()=>Ae),"./components/SwSkeleton.vue":()=>Promise.resolve().then(()=>Re),"./components/SwSkeletonItem.vue":()=>Promise.resolve().then(()=>Ye),"./components/SwSwitch.vue":()=>Promise.resolve().then(()=>We),"./components/SwTabs.vue":()=>Promise.resolve().then(()=>Xe),"./components/SwTabsPane.vue":()=>Promise.resolve().then(()=>Qe)}),A={};for(const s in W){const n=s.split("/").pop().replace(".vue","").replace(/-(\w)/g,(t,o)=>o.toUpperCase());A[n]=e.defineAsyncComponent(()=>W[s]())}const ae={install(s){Object.keys(A).forEach(n=>{s.component(n,A[n]),console.log(n)}),s.config.globalProperties.$Alert=L,s.provide("Alert",L)}},U={__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(s){const n=s,t=()=>{if(n.href.length>0){const l=document.createElement("a");l.setAttribute("href",n.href),l.setAttribute("target","_blank"),l.click()}},o=e.computed(()=>{let l=["sw-button"];return n.size.length>0&&l.push("sw-"+n.size),n.type.length>0&&l.push("sw-"+n.type),n.round&&l.push("sw-round"),n.text&&l.push("sw-text"),n.link&&l.push("sw-link"),n.class.length>0&&l.push(n.class),l});return(l,c)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(o.value),onClick:t},[e.renderSlot(l.$slots,"default")],2))}},se=Object.freeze(Object.defineProperty({__proto__:null,default:U},Symbol.toStringTag,{value:"Module"})),re=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwCollapse",props:{visual:{type:Boolean,default:!0}},setup(s){e.onMounted(()=>{o.value="0px"});const n=e.ref(null),t=s;e.watch(()=>t.visual,()=>l());const o=e.ref("0px"),l=()=>{n.value&&(o.value=t.visual?n.value.scrollHeight+"px":"0px")};let c;return e.onMounted(()=>{l(),n.value&&(c=new ResizeObserver(l),c.observe(n.value))}),e.onBeforeUnmount(()=>{c&&c.disconnect()}),(S,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sw-collapse",{open:t.visual}]),style:e.normalizeStyle({height:o.value}),ref_key:"collapse",ref:n},[e.renderSlot(S.$slots,"default")],6))}}},Symbol.toStringTag,{value:"Module"})),ie={class:"sw-data-picker"},ce={class:"month_year"},de={class:"text"},pe={key:0,class:"week"},me={key:1,class:"year"},fe=["onClick"],ue={key:2,class:"month"},ge=["onClick"],he={key:0},ye={class:"month_year"},Se={class:"text"},we={key:0,class:"week"},ke={key:1,class:"year"},_e=["onClick"],be={key:2,class:"month"},Be=["onClick"],$e=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(s,{emit:n}){var X,J,Q,Z;const t=s,o=n,l=e.ref(3),c=e.ref(new Date),S=e.ref(new Date),p=e.ref(new Date().getFullYear()),d=e.ref(new Date().getMonth()),h=e.ref(new Date().getFullYear()),M=e.ref(new Date().getMonth()),b=e.ref(new Date().getMonth()+1),m=e.ref([]),y=e.ref(0),w=e.ref(-1),f=e.ref(-1),_=e.ref(navigator.languages||"ru"),u=/en|zh|ja|he/.test(_.value)?0:1,v=e.computed(()=>Array.from({length:12},(r,a)=>{const i=new Date(2024,a);return new Intl.DateTimeFormat(_.value,{month:"long"}).format(i)})),E=r=>{let a=r.split(r.match(/\D.*?\D?/));return a[0].length>2?a.join("-")+"T00:00:01":a.reverse().join("-")+"T00:00:01"};(X=t.data)!=null&&X.startDate&&(c.value=new Date(E(t.data.startDate)),p.value=c.value.getFullYear(),d.value=c.value.getMonth()),(J=t.data)!=null&&J.endDate&&t.range==="range"&&(S.value=new Date(E(t.data.endDate)),h.value=S.value.getFullYear(),M.value=S.value.getMonth());const D=()=>{m.value=[],y.value=0;const r=new Date(p.value,d.value,0);for(let i=r.getDate()-r.getDay()+u;i<=r.getDate();i++)r.getDay()!==6+u&&(m.value.push({day:i,month:r.getMonth(),year:r.getFullYear(),class:[]}),y.value++);const a=new Date(p.value,d.value+1,0).getDate();for(let i=1;i<=a;i++)m.value.push({day:i,month:d.value,year:p.value,class:[]}),y.value++;if(t.range==="range"){const i=new Date(p.value,d.value+1,1),g=new Date(p.value,d.value+2,0).getDate();for(let C=1;C<=g;C++)m.value.push({day:C,month:i.getMonth(),year:i.getFullYear(),class:[]})}T()},T=()=>{var a;if(!((a=t.data)!=null&&a.holiday))return;const r=(i,g)=>{i.forEach(C=>{const[$,V,j]=C.split("-").map(Number),F=m.value.findIndex(q=>q.year===$&&q.month+1===V&&q.day===j);F!==-1&&(m.value[F].class[0]=g)})};r(t.data.holiday.preholidays,"preholiday"),r(t.data.holiday.holidays,"weekend"),r(t.data.holiday.holiday,"holiday"),r(t.data.holiday.nowork,"nowork")},k=()=>{if(!t.limitation||t.limitation.length<2)return!1;const r=[...t.limitation].sort((a,i)=>new Date(E(a.startDate)).getTime()-new Date(E(i.startDate)).getTime());for(let a=1;a<r.length;a++){const i=new Date(E(r[a-1].endDate));if(new Date(E(r[a].startDate))<=i)return console.warn("Warning: Диапазоны пересекаются:",r[a-1],r[a]),!0}return!1},B=(r,a,i)=>{if(!t.limitation||t.limitation.length===0)return!0;const g=new Date(r,a,i).getTime();for(let C of t.limitation){const{startDate:$,endDate:V}=C;if(!$&&V){const j=new Date(E(V)).getTime();if(g<=j)return!1}if($&&!V){const j=new Date(E($)).getTime();if(g>=j)return!1}if($&&V){const j=new Date(E($)).getTime(),F=new Date(E(V)).getTime();if(j<=F){if(g>=j&&g<=F)return!1}else if(g>=j||g<=F)return!1}}return!0},N=(r,a)=>{const i=O(new Date(r.year,r.month,r.day),"{dd}.{m}.{Y}");t.range==="range"?f.value!==-1?(Y(),w.value=a,m.value[a].class[1]="active"):w.value!==-1?(f.value=a,R(w.value,f.value,i)):(w.value=a,m.value[a].class[1]="active"):(w.value!==-1&&(m.value[w.value].class[1]=""),w.value=a,m.value[a].class[1]="active",o("input",{dateStart:i,count:1}))},Y=()=>{m.value.forEach(r=>r.class[1]=""),w.value=-1,f.value=-1},R=(r,a,i)=>{let g=O(new Date(m.value[r].year,m.value[r].month,m.value[r].day),"{dd}.{m}.{Y}"),C=Ze(r,a);if(a>=r)for(let $=r+1;$<a;$++)m.value[$].class[1]="select";else for(let $=a+1;$<r;$++)m.value[$].class[1]="select";m.value[a].class[1]="active",o("input",{dateStart:g,dateEnd:i,count:C})},Ze=(r,a)=>{var $;let i=Math.abs(r-a)+1,[g,C]=[Math.min(r,a),Math.max(r,a)];for(let V=g;V<=C;V++)(($=m.value[V])==null?void 0:$.class[0])==="holiday"&&i--;return i},x=(r,a)=>{B(r,a)&&(c.value=new Date(r,a,1),p.value=c.value.getFullYear(),d.value=c.value.getMonth(),console.log(l.value),t.range==="year"&&l.value===0?N({year:r,month:a,day:1},8):D())};if(D(),k()&&console.error("Ошибка: Найдены пересекающиеся диапазоны!"),(Q=t.data)!=null&&Q.startDate&&(w.value=m.value.findIndex(r=>r.day===c.value.getDate()&&r.month===d.value&&r.year===p.value),w.value!==-1&&(m.value[w.value].class[1]="active")),(Z=t.data)!=null&&Z.endDate&&t.range==="range"&&(f.value=m.value.findIndex(r=>r.day===S.value.getDate()&&r.month===M.value&&r.year===h.value),f.value!==-1)){m.value[f.value].class[1]="active";for(let r=w.value+1;r<f.value;r++)m.value[r].class[1]="select"}return(r,a)=>(e.openBlock(),e.createElementBlock("div",ie,[e.createElementVNode("div",null,[e.createElementVNode("p",ce,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:a[0]||(a[0]=e.withModifiers(i=>x(p.value-1,d.value),["prevent"]))},[e.renderSlot(r.$slots,"double-arrow",{},()=>[a[12]||(a[12]=e.createTextVNode("«"))])]),e.createElementVNode("button",{onClick:a[1]||(a[1]=e.withModifiers(i=>{l.value=0,x(p.value,d.value-1)},["prevent"]))},[e.renderSlot(r.$slots,"arrow",{},()=>[a[13]||(a[13]=e.createTextVNode("‹"))])])]),e.createElementVNode("span",de,[e.createElementVNode("button",{onClick:a[2]||(a[2]=e.withModifiers(i=>l.value=1,["prevent"]))},e.toDisplayString(p.value),1),e.createElementVNode("button",{onClick:a[3]||(a[3]=e.withModifiers(i=>l.value=1,["prevent"]))},e.toDisplayString(e.unref(O)(c.value.setMonth(d.value),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{class:"sw-revers",onClick:a[4]||(a[4]=e.withModifiers(i=>{l.value=0,x(p.value,d.value+1)},["prevent"]))},[e.renderSlot(r.$slots,"arrow",{},()=>[a[14]||(a[14]=e.createTextVNode("‹"))])]),e.createElementVNode("button",{class:"sw-revers",onClick:a[5]||(a[5]=e.withModifiers(i=>x(p.value+1,d.value),["prevent"]))},[e.renderSlot(r.$slots,"double-arrow",{},()=>[a[15]||(a[15]=e.createTextVNode("«"))])])])]),t.range==="year"||l.value===1?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",pe,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(i,g)=>e.createElementVNode("button",{key:g,class:"disabled"},e.toDisplayString(e.unref(O)(new Date(1970,1,i+e.unref(u)),"{D}")),1)),64))])),t.range==="year"||l.value===1?(e.openBlock(),e.createElementBlock("div",me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,(i,g)=>(e.openBlock(),e.createElementBlock("button",{key:g,onClick:e.withModifiers(C=>{l.value=0,x(p.value,g)},["prevent"])},e.toDisplayString(i),9,fe))),128))])):(e.openBlock(),e.createElementBlock("div",ue,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(i,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:g},[g<y.value+(7-new Date(p.value,d.value+1,1).getDay()+e.unref(u))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(i.month===d.value&&B(i.year,i.month,i.day)?i.class:"disabled"),onClick:e.withModifiers(()=>{i.month===d.value&&N(i,g)},["prevent"])},e.toDisplayString(i.day),11,ge)):e.createCommentVNode("",!0)],64))),128))]))]),t.range==="range"?(e.openBlock(),e.createElementBlock("div",he,[e.createElementVNode("p",ye,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:a[6]||(a[6]=e.withModifiers(i=>x(p.value-1,d.value),["prevent"]))},[e.renderSlot(r.$slots,"double-arrow",{},()=>[a[16]||(a[16]=e.createTextVNode("«"))])]),e.createElementVNode("button",{onClick:a[7]||(a[7]=e.withModifiers(i=>{l.value=0,x(p.value,d.value-1)},["prevent"]))},[e.renderSlot(r.$slots,"arrow",{},()=>[a[17]||(a[17]=e.createTextVNode("‹"))])])]),e.createElementVNode("span",Se,[e.createElementVNode("button",{onClick:a[8]||(a[8]=e.withModifiers(i=>l.value=2,["prevent"]))},e.toDisplayString(new Date(p.value,d.value+1).getFullYear()),1),e.createElementVNode("button",{onClick:a[9]||(a[9]=e.withModifiers(i=>l.value=2,["prevent"]))},e.toDisplayString(e.unref(O)(c.value.setMonth(d.value+1),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{class:"sw-revers",onClick:a[10]||(a[10]=e.withModifiers(i=>{l.value=0,x(p.value,d.value+1)},["prevent"]))},[e.renderSlot(r.$slots,"arrow",{},()=>[a[18]||(a[18]=e.createTextVNode("‹"))])]),e.createElementVNode("button",{class:"sw-revers",onClick:a[11]||(a[11]=e.withModifiers(i=>x(p.value+1,d.value),["prevent"]))},[e.renderSlot(r.$slots,"double-arrow",{},()=>[a[19]||(a[19]=e.createTextVNode("«"))])])])]),l.value!==2?(e.openBlock(),e.createElementBlock("div",we,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(i,g)=>e.createElementVNode("button",{key:g,class:"disabled"},e.toDisplayString(e.unref(O)(new Date(1970,1,i+e.unref(u)),"{D}")),1)),64))])):e.createCommentVNode("",!0),l.value===2?(e.openBlock(),e.createElementBlock("div",ke,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,(i,g)=>(e.openBlock(),e.createElementBlock("button",{key:g,onClick:e.withModifiers(C=>{l.value=0,x(p.value,g-1)},["prevent"])},e.toDisplayString(i),9,_e))),128))])):(e.openBlock(),e.createElementBlock("div",be,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(i,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:g},[g>=y.value-(7+new Date(p.value,d.value+1,1).getDay()-e.unref(u))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(i.month===b.value&&B(i.year,i.month,i.day)?i.class:"disabled"),onClick:e.withModifiers(()=>{i.month===b.value&&N(i,g)},["prevent"])},e.toDisplayString(i.day),11,Be)):e.createCommentVNode("",!0)],64))),128))]))])):e.createCommentVNode("",!0)]))}}},Symbol.toStringTag,{value:"Module"})),De=["id"],Ee=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(s,{expose:n}){const t=s;e.computed(()=>"dropdown"+Array.from(document.body.children).indexOf(document.querySelector("ul")));const o=e.useModel(s,"modelValue"),l=e.ref(null),c=e.ref(null),S=e.ref({}),p=Math.ceil(Math.random()*1e3),d=e.computed(()=>{let f=["sw-dropdown"];return t.size.length>0&&f.push("sw-"+t.size),t.type.length>0&&f.push("sw-"+t.type),f}),h=async()=>{if(!c.value)return;const f=window.pageYOffset||document.documentElement.scrollTop,_=window.pageXOffset||document.documentElement.scrollLeft;document.body.style.position="fixed",document.body.style.top=`-${f}px`,document.body.style.left=`-${_}px`,document.body.style.position="",document.body.style.top="",document.body.style.left="",document.documentElement.scrollTop=f,document.documentElement.scrollLeft=_;const u=l.value.getBoundingClientRect(),v=window.innerWidth,E=window.innerHeight,D=c.value.offsetHeight,T=c.value.offsetWidth;console.log("popupHeight",D),console.log("popupWidth",T);let k=u.left+u.width/2+_,B=u.top+u.height/2+f,N=u.height/2+8;const[Y,R]=t.placement.split("-",2);switch(console.log(t.placement),Y){case"bottom":B=f+E-D-N-8<B?B-N-D:B+N;break;case"top":B=f+D+N+8>B?B+N:B-N-D;break;case"left":k=k-T-u.width/2-8,B=B-D/2;break;case"right":k=k+u.width/2+8,B=B-D/2;break}switch(R){case"left":k=_+v-8>k-u.width/2+T?k-u.width/2:k-T+u.width/2;break;case"right":k=8<k+u.width/2-T?k-T+u.width/2:k-u.width/2;break}k<0&&(k=0),B<0&&(B=0),S.value={position:"absolute",top:`${B}px`,left:`${k}px`,maxWidth:t.maxWidth===0?"":`${t.maxWidth}px`}};n({positionPopup:h});const M=()=>{t.trigger==="click"&&(o.value=!o.value),o.value&&h()},b=()=>{t.trigger==="hover"&&(o.value=!o.value),o.value&&h()},m=()=>{t.trigger==="context"&&(o.value=!o.value),o.value&&h()},y=()=>{o.value&&h()},w=f=>{!f.target.closest(`[id="${p}"]`)&&l.value&&!l.value.contains(f.target)&&(o.value=!1)};return e.onMounted(()=>{window.addEventListener("resize",y),window.addEventListener("click",w)}),e.onUnmounted(()=>{window.removeEventListener("resize",y),window.removeEventListener("click",w)}),(f,_)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(d.value),onClick:_[0]||(_[0]=u=>M()),onMouseover:_[1]||(_[1]=e.withModifiers(u=>b(),["stop"])),onMouseleave:_[2]||(_[2]=e.withModifiers(u=>b(),["stop"])),onContextmenu:_[3]||(_[3]=e.withModifiers(u=>m(),["stop"])),ref_key:"dropdownRef",ref:l},[e.renderSlot(f.$slots,"default"),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[o.value?(e.openBlock(),e.createElementBlock("ul",{key:0,ref_key:"popupRef",ref:c,id:e.unref(p),class:e.normalizeClass(["sw-dropdown-popup",t.class]),style:e.normalizeStyle(S.value),tabindex:"-1"},[e.renderSlot(f.$slots,"dropdown")],14,De)):e.createCommentVNode("",!0)]))],34))}}},Symbol.toStringTag,{value:"Module"})),Me=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(s){const n=s,t=e.computed(()=>{let o=["sw-dropdown-item"];return n.size.length>0&&o.push("sw-"+n.size),n.type.length>0&&o.push("sw-"+n.type),n.class.length>0&&o.push(n.class),o});return(o,l)=>{const c=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(t.value)},[e.createVNode(c,{"icon-class":s.iconBefore},null,8,["icon-class"]),e.renderSlot(o.$slots,"default")],2)}}}},Symbol.toStringTag,{value:"Module"})),Ce=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwFormItem",props:{class:{type:String,default:""},type:{type:String,default:""}},setup(s){const n=s,t=e.computed(()=>{let o=["sw-form-item"];return n.type.length>0&&o.push("sw-"+n.type),n.class.length>0&&o.push(n.class),o});return(o,l)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value)},[e.renderSlot(o.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Te=["for"],Ve={key:0,title:"Это поле обязательно для заполнения."},Ne=["required","placeholder","type","id","name"],xe=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(s,{emit:n}){var m;const t=e.useModel(s,"modelValue"),o=s,l=e.ref(null),c=n,S=y=>{c("focusInput"),y.target.setSelectionRange(t.value.length,t.value.length),l.value!==null&&(l.value.style.top="-.6em")},p=y=>{var w;((w=t.value)==null?void 0:w.length)===0&&l.value!==null&&l.value.removeAttribute("style")};((m=t.value)==null?void 0:m.length)>0&&l.value!==null&&(l.value.style.top="-.6em");const d=()=>{c("suffix")},h=()=>{c("prefix")},M=e.computed(()=>{let y=["sw-input"];return o.size.length>0&&y.push("sw-"+o.size),o.class.length>0&&y.push(o.class),y});e.watch(t,(y,w)=>{o.type==="phone"&&(t.value=b(y,w))});const b=(y,w)=>{if(/^\+[0-9]\s/.test(w)&&y.length===2||/^\+0\s/.test(y))return"";const f=y;if(typeof f>"u"||f.length===0)return f;const _="+0 (___) ___-__-__";let u=0;const v=_.replace(/\D/g,""),E=f.replace(/\D/g,"");let D=_.replace(/[_\d]/g,k=>u<E.length?E.charAt(u++)||v.charAt(u):k);u=D.indexOf("_"),u!==-1&&(u=u<5?3:u,D=D.slice(0,u));let T=_.slice(0,f.length).replace(/_+/g,k=>`\\d{1,${k.length}}`).replace(/[+()]/g,"\\$&");if(T=new RegExp(`^${T}$`),D=D.replace(/[-—]$|(\) )$/g,""),!T.test(f)||f.length<5)return D};return(y,w)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(M.value)},[o.before.length>0?(e.openBlock(),e.createBlock(I,{key:0,"icon-class":o.before,onClick:h},null,8,["icon-class"])):e.renderSlot(y.$slots,"prefix",{key:1}),o.label.length>0?(e.openBlock(),e.createElementBlock("label",{key:2,for:o.name,ref_key:"lab",ref:l},[e.createTextVNode(e.toDisplayString(o.label),1),o.required?(e.openBlock(),e.createElementBlock("span",Ve,"*")):e.createCommentVNode("",!0)],8,Te)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":w[0]||(w[0]=f=>t.value=f),required:o.required,placeholder:o.required&&o.label.length===0?o.placeholder+"*":o.placeholder,type:o.type,id:o.name,name:o.name,size:"60",onFocus:S,onBlur:p,maxlength:"128"},null,40,Ne),[[e.vModelDynamic,t.value]]),o.after.length>0?(e.openBlock(),e.createBlock(I,{key:3,"icon-class":o.after,onClick:d},null,8,["icon-class"])):e.renderSlot(y.$slots,"suffix",{key:4})],2))}}},Symbol.toStringTag,{value:"Module"})),ze={key:0},je=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(s){const n=e.useModel(s,"modelValue"),t=s,o=e.ref(null);return(l,c)=>{const S=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:o},[t.name.length>0?(e.openBlock(),e.createElementBlock("header",ze,[e.renderSlot(l.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createVNode(U,{link:"",type:"primary",onClick:c[0]||(c[0]=p=>n.value=!1)},{default:e.withCtx(()=>[e.createVNode(S,{"icon-class":t.iconAfter},null,8,["icon-class"])]),_:1})])])):e.createCommentVNode("",!0),e.renderSlot(l.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(l.$slots,"footer")])],2)):e.createCommentVNode("",!0)}}}},Symbol.toStringTag,{value:"Module"})),Oe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSection",props:{name:{type:String,default:""},class:{type:String,default:""},iconAfter:{type:String,default:""}},emits:["header"],setup(s,{emit:n}){const t=s,o=n,l=()=>{o("header")};return(c,S)=>{const p=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(t.class)},[e.createElementVNode("header",{onClick:l},[e.renderSlot(c.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createVNode(p,{"icon-class":t.iconAfter},null,8,["icon-class"])])]),e.renderSlot(c.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(c.$slots,"footer")])],2)}}}},Symbol.toStringTag,{value:"Module"})),Pe={class:"popup"},ve={class:"wrapper"},Fe={class:"scrollbar"},Ie=["onClick"],Ae=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(s){const n=e.ref({fullText:""}),t=e.ref(!1),o=e.ref([]),l=e.useModel(s,"modelValue"),c=s;e.watch(l.text,d=>{d.length>3&&(n.value.fullText=d)}),e.watch(n.value.fullText,(d,h)=>{t.value=d.length>3&&d.length>h.length,d.length>3&&S()});const S=()=>{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 "+c.token}}).then(h=>{console.log(h.data.suggestions),o.value=h.data.suggestions,o.value.length===1&&p(o.value[0])}).catch(h=>{console.log(h)})},p=d=>{n.value.fullText=d.value,t.value=!1;const h={};h.text=d.value,h.coords=[Number(d.data.geo_lat),Number(d.data.geo_lon)],h.suggestion=d.data,l.value=h};return(d,h)=>{const M=e.resolveComponent("sw-input");return e.openBlock(),e.createElementBlock("div",Pe,[e.createVNode(M,{size:c.size,modelValue:n.value.fullText,"onUpdate:modelValue":h[0]||(h[0]=b=>n.value.fullText=b),placeholder:s.placeholder},null,8,["size","modelValue","placeholder"]),e.withDirectives(e.createElementVNode("div",ve,[e.createElementVNode("ul",Fe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(b,m)=>(e.openBlock(),e.createElementBlock("li",{tabindex:"1",key:m,onClick:y=>p(b)},e.toDisplayString(b.value),9,Ie))),128))])],512),[[e.vShow,t.value]])])}}}},Symbol.toStringTag,{value:"Module"})),Le={key:0},G={__name:"SwSkeletonItem",props:{width:{type:String,default:"100"},class:{type:String,default:""},animate:{type:Boolean,default:!1},size:{type:String,default:""}},setup(s){const n=s,t=e.computed(()=>{let l=["sw-skeleton-item"];return n.size.length>0&&l.push("sw-"+n.size),n.animate&&l.push("sw-animate"),n.class.length>0&&l.push(n.class),l}),o=e.computed(()=>({width:n.width+"%"}));return(l,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value),style:e.normalizeStyle(o.value)},[n.animate?(e.openBlock(),e.createElementBlock("div",Le)):e.createCommentVNode("",!0)],6))}},Ye=Object.freeze(Object.defineProperty({__proto__:null,default:G},Symbol.toStringTag,{value:"Module"})),Re=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSkeleton",props:{class:{type:String,default:""},visual:{type:Boolean,default:!1}},setup(s){const n=s;return(t,o)=>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(G,{animate:"",size:"small"})])],2))}}},Symbol.toStringTag,{value:"Module"})),qe=["name","id"],He=["for","data-onlabel","data-offlabel"],We=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(s){const n=e.useModel(s,"modelValue"),t=s,o=e.computed(()=>{let l=["sw-switch"];return t.size.length>0&&l.push("sw-"+t.size),t.checkbox&&l.push("sw-checkbox"),t.class.length>0&&l.push(t.class),l});return(l,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[e.withDirectives(e.createElementVNode("input",{type:"checkbox",name:t.name,class:"sw-control",id:t.id,"onUpdate:modelValue":c[0]||(c[0]=S=>n.value=S)},null,8,qe),[[e.vModelCheckbox,n.value]]),e.createElementVNode("label",{for:t.id,class:"sw-label","data-onlabel":t.on,"data-offlabel":t.off},null,8,He),e.renderSlot(l.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Ue={key:0},Ge=["onClick"],Xe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabs",props:e.mergeModels({class:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["tab-click"],["update:modelValue"]),setup(s,{emit:n}){e.ref(0);const t=e.ref([]),o=s,l=e.useModel(s,"modelValue"),c=n;function S(d){t.value.push(d)}function p(d){t.value=t.value.filter(h=>h!==d)}return e.provide("registerTab",S),e.provide("unregisterTab",p),e.provide("activeTab",l),e.provide("tabs",t),(d,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("sw-tabs "+o.class)},[t.value.length!==0?(e.openBlock(),e.createElementBlock("header",Ue,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(M,b)=>(e.openBlock(),e.createElementBlock("span",{key:b,class:e.normalizeClass([{active:l.value===b}]),onClick:m=>{l.value=b,c("tab-click",b)}},e.toDisplayString(M.label||M.title),11,Ge))),128))])):e.createCommentVNode("",!0),e.renderSlot(d.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Je={key:0,class:"tab-content"},Qe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPane",props:{title:{type:String,required:!0},label:{type:String,default:""}},setup(s){const n=s,t=e.inject("registerTab"),o=e.inject("unregisterTab");e.onMounted(()=>{t({title:n.title,label:n.label})}),e.onUnmounted(()=>{o({title:n.title,label:n.label})});const l=e.inject("activeTab"),c=e.inject("tabs"),S=e.computed(()=>c.value.findIndex(d=>d.title===n.title)),p=e.computed(()=>l.value===S.value);return(d,h)=>p.value?(e.openBlock(),e.createElementBlock("div",Je,[e.renderSlot(d.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"}));z.Alert=L,z.Library=ae,z.components=A,Object.defineProperty(z,Symbol.toStringTag,{value:"Module"})});
|
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,247 +0,0 @@
|
|
|
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-BL-HtnNr.js";
|
|
3
|
-
const ae = { class: "sw-data-picker" }, ne = { class: "month_year" }, le = { class: "text" }, oe = {
|
|
4
|
-
key: 0,
|
|
5
|
-
class: "week"
|
|
6
|
-
}, ue = {
|
|
7
|
-
key: 1,
|
|
8
|
-
class: "year"
|
|
9
|
-
}, se = ["onClick"], re = {
|
|
10
|
-
key: 2,
|
|
11
|
-
class: "month"
|
|
12
|
-
}, ve = ["onClick"], ie = { key: 0 }, ce = { class: "month_year" }, de = { class: "text" }, ge = {
|
|
13
|
-
key: 0,
|
|
14
|
-
class: "week"
|
|
15
|
-
}, De = {
|
|
16
|
-
key: 1,
|
|
17
|
-
class: "year"
|
|
18
|
-
}, fe = ["onClick"], he = {
|
|
19
|
-
key: 2,
|
|
20
|
-
class: "month"
|
|
21
|
-
}, me = ["onClick"], ye = {
|
|
22
|
-
__name: "SwDatePicker",
|
|
23
|
-
props: {
|
|
24
|
-
data: Object,
|
|
25
|
-
limitation: {
|
|
26
|
-
type: [Boolean, Array],
|
|
27
|
-
default: () => !1
|
|
28
|
-
},
|
|
29
|
-
range: {
|
|
30
|
-
type: String,
|
|
31
|
-
default: "solid"
|
|
32
|
-
}
|
|
33
|
-
},
|
|
34
|
-
emits: ["input"],
|
|
35
|
-
setup(J, { emit: Q }) {
|
|
36
|
-
var R, W, q, G;
|
|
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
|
-
const t = new Date(2024, e);
|
|
39
|
-
return new Intl.DateTimeFormat(O.value, { month: "long" }).format(t);
|
|
40
|
-
})), p = (a) => {
|
|
41
|
-
let e = a.split(a.match(/\D.*?\D?/));
|
|
42
|
-
return e[0].length > 2 ? e.join("-") + "T00:00:01" : e.reverse().join("-") + "T00:00:01";
|
|
43
|
-
};
|
|
44
|
-
(R = l.data) != null && R.startDate && (k.value = new Date(p(l.data.startDate)), r.value = k.value.getFullYear(), u.value = k.value.getMonth()), (W = l.data) != null && W.endDate && l.range === "range" && (E.value = new Date(p(l.data.endDate)), z.value = E.value.getFullYear(), A.value = E.value.getMonth());
|
|
45
|
-
const P = () => {
|
|
46
|
-
o.value = [], T.value = 0;
|
|
47
|
-
const a = new Date(r.value, u.value, 0);
|
|
48
|
-
for (let t = a.getDate() - a.getDay() + $; t <= a.getDate(); t++)
|
|
49
|
-
a.getDay() !== 6 + $ && (o.value.push({ day: t, month: a.getMonth(), year: a.getFullYear(), class: [] }), T.value++);
|
|
50
|
-
const e = new Date(r.value, u.value + 1, 0).getDate();
|
|
51
|
-
for (let t = 1; t <= e; t++)
|
|
52
|
-
o.value.push({ day: t, month: u.value, year: r.value, class: [] }), T.value++;
|
|
53
|
-
if (l.range === "range") {
|
|
54
|
-
const t = new Date(r.value, u.value + 1, 1), n = new Date(r.value, u.value + 2, 0).getDate();
|
|
55
|
-
for (let D = 1; D <= n; D++)
|
|
56
|
-
o.value.push({ day: D, month: t.getMonth(), year: t.getFullYear(), class: [] });
|
|
57
|
-
}
|
|
58
|
-
U();
|
|
59
|
-
}, U = () => {
|
|
60
|
-
var e;
|
|
61
|
-
if (!((e = l.data) != null && e.holiday)) return;
|
|
62
|
-
const a = (t, n) => {
|
|
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
|
-
F !== -1 && (o.value[F].class[0] = n);
|
|
66
|
-
});
|
|
67
|
-
};
|
|
68
|
-
a(l.data.holiday.preholidays, "preholiday"), a(l.data.holiday.holidays, "weekend"), a(l.data.holiday.holiday, "holiday"), a(l.data.holiday.nowork, "nowork");
|
|
69
|
-
}, X = () => {
|
|
70
|
-
if (!l.limitation || l.limitation.length < 2) return !1;
|
|
71
|
-
const a = [...l.limitation].sort(
|
|
72
|
-
(e, t) => new Date(p(e.startDate)).getTime() - new Date(p(t.startDate)).getTime()
|
|
73
|
-
);
|
|
74
|
-
for (let e = 1; e < a.length; e++) {
|
|
75
|
-
const t = new Date(p(a[e - 1].endDate));
|
|
76
|
-
if (new Date(p(a[e].startDate)) <= t)
|
|
77
|
-
return console.warn("Warning: Диапазоны пересекаются:", a[e - 1], a[e]), !0;
|
|
78
|
-
}
|
|
79
|
-
return !1;
|
|
80
|
-
}, I = (a, e, t) => {
|
|
81
|
-
if (!l.limitation || l.limitation.length === 0) return !0;
|
|
82
|
-
const n = new Date(a, e, t).getTime();
|
|
83
|
-
for (let D of l.limitation) {
|
|
84
|
-
const { startDate: c, endDate: m } = D;
|
|
85
|
-
if (!c && m) {
|
|
86
|
-
const b = new Date(p(m)).getTime();
|
|
87
|
-
if (n <= b) return !1;
|
|
88
|
-
}
|
|
89
|
-
if (c && !m) {
|
|
90
|
-
const b = new Date(p(c)).getTime();
|
|
91
|
-
if (n >= b) return !1;
|
|
92
|
-
}
|
|
93
|
-
if (c && m) {
|
|
94
|
-
const b = new Date(p(c)).getTime(), F = new Date(p(m)).getTime();
|
|
95
|
-
if (b <= F) {
|
|
96
|
-
if (n >= b && n <= F) return !1;
|
|
97
|
-
} else if (n >= b || n <= F) return !1;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
return !0;
|
|
101
|
-
}, j = (a, e) => {
|
|
102
|
-
const t = x(new Date(a.year, a.month, a.day), "{dd}.{m}.{Y}");
|
|
103
|
-
l.range === "range" ? C.value !== -1 ? (Z(), h.value = e, o.value[e].class[1] = "active") : h.value !== -1 ? (C.value = e, K(h.value, C.value, t)) : (h.value = e, o.value[e].class[1] = "active") : (h.value !== -1 && (o.value[h.value].class[1] = ""), h.value = e, o.value[e].class[1] = "active", N("input", { dateStart: t, count: 1 }));
|
|
104
|
-
}, Z = () => {
|
|
105
|
-
o.value.forEach((a) => a.class[1] = ""), h.value = -1, C.value = -1;
|
|
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}"), D = ee(a, e);
|
|
108
|
-
if (e >= a)
|
|
109
|
-
for (let c = a + 1; c < e; c++)
|
|
110
|
-
o.value[c].class[1] = "select";
|
|
111
|
-
else
|
|
112
|
-
for (let c = e + 1; c < a; c++)
|
|
113
|
-
o.value[c].class[1] = "select";
|
|
114
|
-
o.value[e].class[1] = "active", N("input", { dateStart: n, dateEnd: t, count: D });
|
|
115
|
-
}, ee = (a, e) => {
|
|
116
|
-
var c;
|
|
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
|
-
((c = o.value[m]) == null ? void 0 : c.class[0]) === "holiday" && t--;
|
|
120
|
-
return t;
|
|
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(), console.log(d.value), l.range === "year" && d.value === 0 ? j({ year: a, month: e, day: 1 }, 8) : P());
|
|
123
|
-
};
|
|
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
|
-
o.value[C.value].class[1] = "active";
|
|
126
|
-
for (let a = h.value + 1; a < C.value; a++)
|
|
127
|
-
o.value[a].class[1] = "select";
|
|
128
|
-
}
|
|
129
|
-
return (a, e) => (i(), v("div", ae, [
|
|
130
|
-
s("div", null, [
|
|
131
|
-
s("p", ne, [
|
|
132
|
-
s("span", null, [
|
|
133
|
-
s("button", {
|
|
134
|
-
onClick: e[0] || (e[0] = g((t) => w(r.value - 1, u.value), ["prevent"]))
|
|
135
|
-
}, "«"),
|
|
136
|
-
s("button", {
|
|
137
|
-
onClick: e[1] || (e[1] = g((t) => {
|
|
138
|
-
d.value = 0, w(r.value, u.value - 1);
|
|
139
|
-
}, ["prevent"]))
|
|
140
|
-
}, "‹")
|
|
141
|
-
]),
|
|
142
|
-
s("span", le, [
|
|
143
|
-
s("button", {
|
|
144
|
-
onClick: e[2] || (e[2] = g((t) => d.value = 1, ["prevent"]))
|
|
145
|
-
}, y(r.value), 1),
|
|
146
|
-
s("button", {
|
|
147
|
-
onClick: e[3] || (e[3] = g((t) => d.value = 1, ["prevent"]))
|
|
148
|
-
}, y(M(x)(k.value.setMonth(u.value), "{F}")), 1)
|
|
149
|
-
]),
|
|
150
|
-
s("span", null, [
|
|
151
|
-
s("button", {
|
|
152
|
-
onClick: e[4] || (e[4] = g((t) => {
|
|
153
|
-
d.value = 0, w(r.value, u.value + 1);
|
|
154
|
-
}, ["prevent"]))
|
|
155
|
-
}, "›"),
|
|
156
|
-
s("button", {
|
|
157
|
-
onClick: e[5] || (e[5] = g((t) => w(r.value + 1, u.value), ["prevent"]))
|
|
158
|
-
}, "»")
|
|
159
|
-
])
|
|
160
|
-
]),
|
|
161
|
-
l.range === "year" || d.value === 1 ? S("", !0) : (i(), v("div", oe, [
|
|
162
|
-
(i(), v(_, null, Y(7, (t, n) => s("button", {
|
|
163
|
-
key: n,
|
|
164
|
-
class: "disabled"
|
|
165
|
-
}, y(M(x)(new Date(1970, 1, t + M($)), "{D}")), 1)), 64))
|
|
166
|
-
])),
|
|
167
|
-
l.range === "year" || d.value === 1 ? (i(), v("div", ue, [
|
|
168
|
-
(i(!0), v(_, null, Y(V.value, (t, n) => (i(), v("button", {
|
|
169
|
-
key: n,
|
|
170
|
-
onClick: g((D) => {
|
|
171
|
-
d.value = 0, w(r.value, n);
|
|
172
|
-
}, ["prevent"])
|
|
173
|
-
}, y(t), 9, se))), 128))
|
|
174
|
-
])) : (i(), v("div", re, [
|
|
175
|
-
(i(!0), v(_, null, Y(o.value, (t, n) => (i(), v(_, { key: n }, [
|
|
176
|
-
n < T.value + (7 - new Date(r.value, u.value + 1, 1).getDay() + M($)) % 7 ? (i(), v("button", {
|
|
177
|
-
key: 0,
|
|
178
|
-
class: H(t.month === u.value && I(t.year, t.month, t.day) ? t.class : "disabled"),
|
|
179
|
-
onClick: g(() => {
|
|
180
|
-
t.month === u.value && j(t, n);
|
|
181
|
-
}, ["prevent"])
|
|
182
|
-
}, y(t.day), 11, ve)) : S("", !0)
|
|
183
|
-
], 64))), 128))
|
|
184
|
-
]))
|
|
185
|
-
]),
|
|
186
|
-
l.range === "range" ? (i(), v("div", ie, [
|
|
187
|
-
s("p", ce, [
|
|
188
|
-
s("span", null, [
|
|
189
|
-
s("button", {
|
|
190
|
-
onClick: e[6] || (e[6] = g((t) => w(r.value - 1, u.value), ["prevent"]))
|
|
191
|
-
}, "«"),
|
|
192
|
-
s("button", {
|
|
193
|
-
onClick: e[7] || (e[7] = g((t) => {
|
|
194
|
-
d.value = 0, w(r.value, u.value - 1);
|
|
195
|
-
}, ["prevent"]))
|
|
196
|
-
}, "‹")
|
|
197
|
-
]),
|
|
198
|
-
s("span", de, [
|
|
199
|
-
s("button", {
|
|
200
|
-
onClick: e[8] || (e[8] = g((t) => d.value = 2, ["prevent"]))
|
|
201
|
-
}, y(new Date(r.value, u.value + 1).getFullYear()), 1),
|
|
202
|
-
s("button", {
|
|
203
|
-
onClick: e[9] || (e[9] = g((t) => d.value = 2, ["prevent"]))
|
|
204
|
-
}, y(M(x)(k.value.setMonth(u.value + 1), "{F}")), 1)
|
|
205
|
-
]),
|
|
206
|
-
s("span", null, [
|
|
207
|
-
s("button", {
|
|
208
|
-
onClick: e[10] || (e[10] = g((t) => {
|
|
209
|
-
d.value = 0, w(r.value, u.value + 1);
|
|
210
|
-
}, ["prevent"]))
|
|
211
|
-
}, "›"),
|
|
212
|
-
s("button", {
|
|
213
|
-
onClick: e[11] || (e[11] = g((t) => w(r.value + 1, u.value), ["prevent"]))
|
|
214
|
-
}, "»")
|
|
215
|
-
])
|
|
216
|
-
]),
|
|
217
|
-
d.value !== 2 ? (i(), v("div", ge, [
|
|
218
|
-
(i(), v(_, null, Y(7, (t, n) => s("button", {
|
|
219
|
-
key: n,
|
|
220
|
-
class: "disabled"
|
|
221
|
-
}, y(M(x)(new Date(1970, 1, t + M($)), "{D}")), 1)), 64))
|
|
222
|
-
])) : S("", !0),
|
|
223
|
-
d.value === 2 ? (i(), v("div", De, [
|
|
224
|
-
(i(!0), v(_, null, Y(V.value, (t, n) => (i(), v("button", {
|
|
225
|
-
key: n,
|
|
226
|
-
onClick: g((D) => {
|
|
227
|
-
d.value = 0, w(r.value, n - 1);
|
|
228
|
-
}, ["prevent"])
|
|
229
|
-
}, y(t), 9, fe))), 128))
|
|
230
|
-
])) : (i(), v("div", he, [
|
|
231
|
-
(i(!0), v(_, null, Y(o.value, (t, n) => (i(), v(_, { key: n }, [
|
|
232
|
-
n >= T.value - (7 + new Date(r.value, u.value + 1, 1).getDay() - M($)) % 7 ? (i(), v("button", {
|
|
233
|
-
key: 0,
|
|
234
|
-
class: H(t.month === L.value && I(t.year, t.month, t.day) ? t.class : "disabled"),
|
|
235
|
-
onClick: g(() => {
|
|
236
|
-
t.month === L.value && j(t, n);
|
|
237
|
-
}, ["prevent"])
|
|
238
|
-
}, y(t.day), 11, me)) : S("", !0)
|
|
239
|
-
], 64))), 128))
|
|
240
|
-
]))
|
|
241
|
-
])) : S("", !0)
|
|
242
|
-
]));
|
|
243
|
-
}
|
|
244
|
-
};
|
|
245
|
-
export {
|
|
246
|
-
ye as default
|
|
247
|
-
};
|