@studio-west/component-sw 0.5.91 → 0.5.93

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -177,7 +177,7 @@ Default - Контент для скрытия
177
177
  |--------------|------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
178
178
  | `data` | `Object` | Начальные данные - диапазон ( при `'solid'` - используется только `'startDate'`) изначальных выбранных дат {endDate: '14-04-2025', startDate:'30-03-2025', holiday: { preholidays: ["2020-03-30"], holidays: ["2020-03-30"], holiday: ["2020-03-30"], nowork: ["2020-03-30"] }}, ограничение не более 2х месяцев. |
179
179
  | `limitation` | `Boolean, Array` | Массив ограничений дат: [{endDate: '14-04-2025', startDate:'30-03-2025'}], false - по умолчанию. |
180
- | `range` | `String` | Тип календаря: `'year'`,`'range'`, `'solid'` - по умолчанию. |
180
+ | `range` | `String` | Тип календаря: `'decades'`,`'year'`,`'range'`, `'solid'` - по умолчанию. |
181
181
 
182
182
  ### События / Events
183
183
 
@@ -0,0 +1,310 @@
1
+ import { ref as D, computed as K, createElementBlock as u, openBlock as r, createElementVNode as i, createCommentVNode as A, withModifiers as g, renderSlot as M, createTextVNode as F, toDisplayString as p, unref as T, Fragment as y, renderList as Y, normalizeClass as I } from "vue";
2
+ import { p as j } from "./index-BEmKjPiz.js";
3
+ const oe = { class: "sw-data-picker" }, ue = { class: "month_year" }, re = { class: "text" }, ve = {
4
+ key: 0,
5
+ class: "week"
6
+ }, ie = {
7
+ key: 1,
8
+ class: "year"
9
+ }, de = ["onClick"], ce = {
10
+ key: 2,
11
+ class: "year"
12
+ }, ge = ["onClick"], De = {
13
+ key: 3,
14
+ class: "month"
15
+ }, fe = ["onClick"], me = { key: 0 }, pe = { class: "month_year" }, he = { class: "text" }, we = {
16
+ key: 0,
17
+ class: "week"
18
+ }, ke = {
19
+ key: 1,
20
+ class: "year"
21
+ }, ye = ["onClick"], be = {
22
+ key: 2,
23
+ class: "year"
24
+ }, Ce = ["onClick"], $e = {
25
+ key: 3,
26
+ class: "month"
27
+ }, Me = ["onClick"], Ye = {
28
+ __name: "SwDatePicker",
29
+ props: {
30
+ data: Object,
31
+ limitation: {
32
+ type: [Boolean, Array],
33
+ default: () => !1
34
+ },
35
+ range: {
36
+ type: String,
37
+ default: "solid"
38
+ }
39
+ },
40
+ emits: ["input"],
41
+ setup(ee, { emit: te }) {
42
+ var Q, U, X, Z;
43
+ const s = ee, V = te, d = D(5), b = D(/* @__PURE__ */ new Date()), B = D(/* @__PURE__ */ new Date()), o = D((/* @__PURE__ */ new Date()).getFullYear()), n = D((/* @__PURE__ */ new Date()).getMonth()), P = D((/* @__PURE__ */ new Date()).getFullYear()), R = D((/* @__PURE__ */ new Date()).getMonth()), x = D(new Date(o.value, n.value + 1, 1).getMonth()), v = D([]), N = D(0), f = D(-1), $ = D(-1), W = D(navigator.language || "ru"), S = /en|zh|ja|he/.test(W.value) ? 0 : 1, q = K(() => Array.from({ length: 12 }, (a, e) => {
44
+ const t = new Date(2024, e);
45
+ return new Intl.DateTimeFormat(W.value, { month: "long" }).format(t);
46
+ })), z = D(Math.floor(o.value / 10) * 10), G = K(() => Array.from({ length: 12 }, (a, e) => z.value + e - 1)), w = (a) => {
47
+ let e = a.split(a.match(/\D.*?\D?/));
48
+ return e[0].length > 2 ? e.join("-") + "T00:00:01" : e.reverse().join("-") + "T00:00:01";
49
+ };
50
+ (Q = s.data) != null && Q.startDate && (b.value = new Date(w(s.data.startDate)), o.value = b.value.getFullYear(), n.value = b.value.getMonth()), (U = s.data) != null && U.endDate && s.range === "range" && (B.value = new Date(w(s.data.endDate)), P.value = B.value.getFullYear(), R.value = B.value.getMonth());
51
+ const H = () => {
52
+ v.value = [], N.value = 0;
53
+ const a = new Date(o.value, n.value, 0);
54
+ for (let t = a.getDate() - a.getDay() + S; t <= a.getDate(); t++)
55
+ a.getDay() !== 6 + S && (v.value.push({ day: t, month: a.getMonth(), year: a.getFullYear(), class: [] }), N.value++);
56
+ const e = new Date(o.value, n.value + 1, 0).getDate();
57
+ for (let t = 1; t <= e; t++)
58
+ v.value.push({ day: t, month: n.value, year: o.value, class: [] }), N.value++;
59
+ if (s.range === "range") {
60
+ const t = new Date(o.value, n.value + 1, 1), l = new Date(o.value, n.value + 2, 0).getDate();
61
+ for (let c = 1; c <= l; c++)
62
+ v.value.push({ day: c, month: t.getMonth(), year: t.getFullYear(), class: [] });
63
+ }
64
+ ae();
65
+ }, ae = () => {
66
+ var e;
67
+ if (!((e = s.data) != null && e.holiday)) return;
68
+ const a = (t, l) => {
69
+ t.forEach((c) => {
70
+ const [k, h, C] = c.split("-").map(Number), E = v.value.findIndex((_) => _.year === k && _.month + 1 === h && _.day === C);
71
+ E !== -1 && (v.value[E].class[0] = l);
72
+ });
73
+ };
74
+ a(s.data.holiday.preholidays, "preholiday"), a(s.data.holiday.holidays, "weekend"), a(s.data.holiday.holiday, "holiday"), a(s.data.holiday.nowork, "nowork");
75
+ }, le = () => {
76
+ if (!s.limitation || s.limitation.length < 2) return !1;
77
+ const a = [...s.limitation].sort(
78
+ (e, t) => new Date(w(e.startDate)).getTime() - new Date(w(t.startDate)).getTime()
79
+ );
80
+ for (let e = 1; e < a.length; e++) {
81
+ const t = new Date(w(a[e - 1].endDate));
82
+ if (new Date(w(a[e].startDate)) <= t)
83
+ return console.warn("Warning: Диапазоны пересекаются:", a[e - 1], a[e]), !0;
84
+ }
85
+ return !1;
86
+ }, L = (a, e, t) => {
87
+ if (!s.limitation || s.limitation.length === 0) return !0;
88
+ const l = new Date(a, e, t).getTime();
89
+ for (let c of s.limitation) {
90
+ const { startDate: k, endDate: h } = c;
91
+ if (!k && h) {
92
+ const C = new Date(w(h)).getTime();
93
+ if (l <= C) return !1;
94
+ }
95
+ if (k && !h) {
96
+ const C = new Date(w(k)).getTime();
97
+ if (l >= C) return !1;
98
+ }
99
+ if (k && h) {
100
+ const C = new Date(w(k)).getTime(), E = new Date(w(h)).getTime();
101
+ if (C <= E) {
102
+ if (l >= C && l <= E) return !1;
103
+ } else if (l >= C || l <= E) return !1;
104
+ }
105
+ }
106
+ return !0;
107
+ }, O = (a, e) => {
108
+ const t = j(new Date(a.year, a.month, a.day), "{dd}.{m}.{Y}");
109
+ s.range === "range" ? $.value !== -1 ? (ne(), f.value = e, v.value[e].class[1] = "active") : f.value !== -1 ? ($.value = e, se(f.value, $.value, t)) : (f.value = e, v.value[e].class[1] = "active") : (f.value !== -1 && (v.value[f.value].class[1] = ""), f.value = e, v.value[e].class[1] = "active", V("input", { dateStart: t, count: 1 }));
110
+ }, ne = () => {
111
+ v.value.forEach((a) => a.class[1] = ""), f.value = -1, $.value = -1;
112
+ }, se = (a, e, t) => {
113
+ let l = j(new Date(v.value[a].year, v.value[a].month, v.value[a].day), "{dd}.{m}.{Y}");
114
+ if (e >= a) {
115
+ for (let c = a + 1; c < e; c++)
116
+ v.value[c].class[1] = "select";
117
+ V("input", { dateStart: l, dateEnd: t, count: J(a, e) });
118
+ } else {
119
+ for (let c = e + 1; c < a; c++)
120
+ v.value[c].class[1] = "select";
121
+ V("input", { dateStart: t, dateEnd: l, count: J(e, a) });
122
+ }
123
+ v.value[e].class[1] = "active";
124
+ }, J = (a, e) => {
125
+ var k;
126
+ let t = Math.abs(a - e) + 1, [l, c] = [Math.min(a, e), Math.max(a, e)];
127
+ for (let h = l; h <= c; h++)
128
+ ((k = v.value[h]) == null ? void 0 : k.class[0]) === "holiday" && t--;
129
+ return t;
130
+ }, m = (a, e) => {
131
+ L(a, e) && (b.value = new Date(a, e, 1), o.value = b.value.getFullYear(), n.value = b.value.getMonth(), x.value = new Date(a, e + 1, 1).getMonth(), (s.range === "year" || s.range === "decades") && d.value === 0 ? O({ year: a, month: e, day: 1 }, 8) : H());
132
+ };
133
+ if (H(), le(), (X = s.data) != null && X.startDate && (f.value = v.value.findIndex((a) => a.day === b.value.getDate() && a.month === n.value && a.year === o.value), f.value !== -1 && (v.value[f.value].class[1] = "active")), (Z = s.data) != null && Z.endDate && s.range === "range" && ($.value = v.value.findIndex((a) => a.day === B.value.getDate() && a.month === R.value && a.year === P.value), $.value !== -1)) {
134
+ v.value[$.value].class[1] = "active";
135
+ for (let a = f.value + 1; a < $.value; a++)
136
+ v.value[a].class[1] = "select";
137
+ }
138
+ return (a, e) => (r(), u("div", oe, [
139
+ i("div", null, [
140
+ i("p", ue, [
141
+ i("span", null, [
142
+ i("button", {
143
+ onClick: e[0] || (e[0] = g((t) => m(o.value - 1, n.value), ["prevent"]))
144
+ }, [
145
+ M(a.$slots, "double-arrow", {}, () => [
146
+ e[12] || (e[12] = F("«"))
147
+ ])
148
+ ]),
149
+ i("button", {
150
+ onClick: e[1] || (e[1] = g((t) => {
151
+ d.value = 0, m(o.value, n.value - 1);
152
+ }, ["prevent"]))
153
+ }, [
154
+ M(a.$slots, "arrow", {}, () => [
155
+ e[13] || (e[13] = F("‹"))
156
+ ])
157
+ ])
158
+ ]),
159
+ i("span", re, [
160
+ i("button", {
161
+ onClick: e[2] || (e[2] = g((t) => d.value = 1, ["prevent"]))
162
+ }, p(o.value), 1),
163
+ i("button", {
164
+ onClick: e[3] || (e[3] = g((t) => d.value = 3, ["prevent"]))
165
+ }, p(T(j)(b.value.setMonth(n.value), "{F}")), 1)
166
+ ]),
167
+ i("span", null, [
168
+ i("button", {
169
+ class: "sw-revers",
170
+ onClick: e[4] || (e[4] = g((t) => {
171
+ d.value = 0, m(o.value, n.value + 1);
172
+ }, ["prevent"]))
173
+ }, [
174
+ M(a.$slots, "arrow", {}, () => [
175
+ e[14] || (e[14] = F("‹"))
176
+ ])
177
+ ]),
178
+ i("button", {
179
+ class: "sw-revers",
180
+ onClick: e[5] || (e[5] = g((t) => m(o.value + 1, n.value), ["prevent"]))
181
+ }, [
182
+ M(a.$slots, "double-arrow", {}, () => [
183
+ e[15] || (e[15] = F("«"))
184
+ ])
185
+ ])
186
+ ])
187
+ ]),
188
+ s.range === "year" || d.value === 1 || d.value === 3 ? A("", !0) : (r(), u("div", ve, [
189
+ (r(), u(y, null, Y(7, (t, l) => i("button", {
190
+ key: l,
191
+ class: "disabled"
192
+ }, p(T(j)(new Date(1970, 1, t + T(S)), "{D}")), 1)), 64))
193
+ ])),
194
+ s.range === "year" || d.value === 1 ? (r(), u("div", ie, [
195
+ (r(!0), u(y, null, Y(q.value, (t, l) => (r(), u("button", {
196
+ key: l,
197
+ onClick: g((c) => {
198
+ d.value = 0, m(o.value, l);
199
+ }, ["prevent"]),
200
+ class: I(l === n.value ? "active" : "")
201
+ }, p(t), 11, de))), 128))
202
+ ])) : s.range === "decades" || d.value === 3 ? (r(), u("div", ce, [
203
+ (r(!0), u(y, null, Y(G.value, (t, l) => (r(), u("button", {
204
+ key: l,
205
+ onClick: g((c) => {
206
+ d.value = 0, m(t, n.value);
207
+ }, ["prevent"]),
208
+ class: I(z.value + l - 1 === o.value ? "active" : "")
209
+ }, p(t), 11, ge))), 128))
210
+ ])) : (r(), u("div", De, [
211
+ (r(!0), u(y, null, Y(v.value, (t, l) => (r(), u(y, { key: l }, [
212
+ l < N.value + (7 - new Date(o.value, n.value + 1, 1).getDay() + T(S)) % 7 ? (r(), u("button", {
213
+ key: 0,
214
+ class: I(t.month === n.value && L(t.year, t.month, t.day) ? t.class : "disabled"),
215
+ onClick: g(() => {
216
+ t.month === n.value && O(t, l);
217
+ }, ["prevent"])
218
+ }, p(t.day), 11, fe)) : A("", !0)
219
+ ], 64))), 128))
220
+ ]))
221
+ ]),
222
+ s.range === "range" ? (r(), u("div", me, [
223
+ i("p", pe, [
224
+ i("span", null, [
225
+ i("button", {
226
+ onClick: e[6] || (e[6] = g((t) => m(o.value - 1, n.value), ["prevent"]))
227
+ }, [
228
+ M(a.$slots, "double-arrow", {}, () => [
229
+ e[16] || (e[16] = F("«"))
230
+ ])
231
+ ]),
232
+ i("button", {
233
+ onClick: e[7] || (e[7] = g((t) => {
234
+ d.value = 0, m(o.value, n.value - 1);
235
+ }, ["prevent"]))
236
+ }, [
237
+ M(a.$slots, "arrow", {}, () => [
238
+ e[17] || (e[17] = F("‹"))
239
+ ])
240
+ ])
241
+ ]),
242
+ i("span", he, [
243
+ i("button", {
244
+ onClick: e[8] || (e[8] = g((t) => d.value = 4, ["prevent"]))
245
+ }, p(new Date(o.value, n.value + 1).getFullYear()), 1),
246
+ i("button", {
247
+ onClick: e[9] || (e[9] = g((t) => d.value = 2, ["prevent"]))
248
+ }, p(T(j)(b.value.setMonth(n.value + 1), "{F}")), 1)
249
+ ]),
250
+ i("span", null, [
251
+ i("button", {
252
+ class: "sw-revers",
253
+ onClick: e[10] || (e[10] = g((t) => {
254
+ d.value = 0, m(o.value, n.value + 1);
255
+ }, ["prevent"]))
256
+ }, [
257
+ M(a.$slots, "arrow", {}, () => [
258
+ e[18] || (e[18] = F("‹"))
259
+ ])
260
+ ]),
261
+ i("button", {
262
+ class: "sw-revers",
263
+ onClick: e[11] || (e[11] = g((t) => m(o.value + 1, n.value), ["prevent"]))
264
+ }, [
265
+ M(a.$slots, "double-arrow", {}, () => [
266
+ e[19] || (e[19] = F("«"))
267
+ ])
268
+ ])
269
+ ])
270
+ ]),
271
+ d.value === 2 || d.value === 4 ? A("", !0) : (r(), u("div", we, [
272
+ (r(), u(y, null, Y(7, (t, l) => i("button", {
273
+ key: l,
274
+ class: "disabled"
275
+ }, p(T(j)(new Date(1970, 1, t + T(S)), "{D}")), 1)), 64))
276
+ ])),
277
+ d.value === 2 ? (r(), u("div", ke, [
278
+ (r(!0), u(y, null, Y(q.value, (t, l) => (r(), u("button", {
279
+ key: l,
280
+ onClick: g((c) => {
281
+ d.value = 0, m(o.value, l - 1);
282
+ }, ["prevent"]),
283
+ class: I(l === (n.value + 1) % 12 ? "active" : "")
284
+ }, p(t), 11, ye))), 128))
285
+ ])) : d.value === 4 ? (r(), u("div", be, [
286
+ (r(!0), u(y, null, Y(G.value, (t, l) => (r(), u("button", {
287
+ key: l,
288
+ onClick: g((c) => {
289
+ d.value = 0, m(t, n.value);
290
+ }, ["prevent"]),
291
+ class: I(z.value + l - 1 === o.value ? "active" : "")
292
+ }, p(t), 11, Ce))), 128))
293
+ ])) : (r(), u("div", $e, [
294
+ (r(!0), u(y, null, Y(v.value, (t, l) => (r(), u(y, { key: l }, [
295
+ l >= N.value - (7 + new Date(o.value, n.value + 1, 1).getDay() - T(S)) % 7 ? (r(), u("button", {
296
+ key: 0,
297
+ class: I(t.month === x.value && L(t.year, t.month, t.day) ? t.class : "disabled"),
298
+ onClick: g(() => {
299
+ t.month === x.value && O(t, l);
300
+ }, ["prevent"])
301
+ }, p(t.day), 11, Me)) : A("", !0)
302
+ ], 64))), 128))
303
+ ]))
304
+ ])) : A("", !0)
305
+ ]));
306
+ }
307
+ };
308
+ export {
309
+ Ye as default
310
+ };
@@ -1,5 +1,5 @@
1
1
  import { mergeModels as y, useModel as D, ref as V, computed as C, watch as I, createElementBlock as d, openBlock as u, normalizeClass as M, createBlock as v, renderSlot as _, createCommentVNode as x, withDirectives as A, createTextVNode as E, toDisplayString as R, createElementVNode as T, vModelDynamic as F } from "vue";
2
- import { S } from "./index-Dvy6nz3v.js";
2
+ import { S } from "./index-BEmKjPiz.js";
3
3
  const O = ["for"], U = {
4
4
  key: 0,
5
5
  title: "Это поле обязательно для заполнения."
@@ -144,7 +144,7 @@ function w(e = {}) {
144
144
  }), t = n.mount(document.createElement("div"));
145
145
  l.appendChild(t.$el);
146
146
  }
147
- const y = /* @__PURE__ */ Object.assign({ "./components/SwAlert.vue": () => Promise.resolve().then(() => U), "./components/SwButton.vue": () => import("./SwButton-85-tKHA7.js"), "./components/SwCollapse.vue": () => import("./SwCollapse-CuN3EbT6.js"), "./components/SwDatePicker.vue": () => import("./SwDatePicker-otSC2Br4.js"), "./components/SwDropdown.vue": () => import("./SwDropdown-RMQjAH62.js"), "./components/SwDropdownItem.vue": () => import("./SwDropdownItem-wFMHwJJk.js"), "./components/SwFormItem.vue": () => import("./SwFormItem-CaA4jsoa.js"), "./components/SwInput.vue": () => import("./SwInput-DtP0SsiM.js"), "./components/SwMessage.vue": () => import("./SwMessage-DKatZOJ6.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 = {};
147
+ const y = /* @__PURE__ */ Object.assign({ "./components/SwAlert.vue": () => Promise.resolve().then(() => U), "./components/SwButton.vue": () => import("./SwButton-85-tKHA7.js"), "./components/SwCollapse.vue": () => import("./SwCollapse-CuN3EbT6.js"), "./components/SwDatePicker.vue": () => import("./SwDatePicker-CIhxGEDa.js"), "./components/SwDropdown.vue": () => import("./SwDropdown-RMQjAH62.js"), "./components/SwDropdownItem.vue": () => import("./SwDropdownItem-wFMHwJJk.js"), "./components/SwFormItem.vue": () => import("./SwFormItem-CaA4jsoa.js"), "./components/SwInput.vue": () => import("./SwInput-DRZMCxDZ.js"), "./components/SwMessage.vue": () => import("./SwMessage-DKatZOJ6.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 = {};
148
148
  for (const e in y) {
149
149
  const n = e.split("/").pop().replace(".vue", "").replace(/-(\w)/g, (t, o) => o.toUpperCase());
150
150
  d[n] = P(() => y[e]());
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- (function(v,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(v=typeof globalThis<"u"?globalThis:v||self,e(v["component-sw"]={},v.vue))})(this,function(v,e){"use strict";function ee(s){return/^(https?:|mailto:|tel:)/.test(s)}function P(s,o){if(arguments.length===0||!s)return null;const t=o||"{Y}-{m}-{d} {G}:{i}:{s}";let l;typeof s=="object"?l=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),l=new Date(s));const n="ru-RU",d={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(n,{weekday:"short"}).format(l),F:new Intl.DateTimeFormat(n,{month:"long"}).format(l),M:new Intl.DateTimeFormat(n,{month:"short"}).format(l)};return t.replace(/{(dd|[YmdGHisDFM])+}/g,(u,p)=>d[p])}const te=(s,o)=>{const t=s.__vccOpts||s;for(const[l,n]of o)t[l]=n;return t},le={name:"SvgIcon",props:{prefix:{type:String,default:"icon"},iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExt(){return ee(this.iconClass)}}},oe=["href"];function ne(s,o,t,l,n,d){return d.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=te(le,[["render",ne]]),U={__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:o}){const t=s,l=o,n=e.ref(!1);let d=null;const u=()=>{n.value=!0,D()},p=()=>{n.value=!1,l("closed")},c=()=>{d&&(clearTimeout(d),d=null)},g=()=>{D()},D=()=>{d=setTimeout(p,t.duration)};e.onMounted(()=>{u()}),e.onUnmounted(()=>{d&&clearTimeout(d)});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,w)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade"},{default:e.withCtx(()=>[n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(B.value),onMouseenter:c,onMouseleave:g},[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}))}},ae=Object.freeze(Object.defineProperty({__proto__:null,default:U},Symbol.toStringTag,{value:"Module"}));let F=document.querySelector("div.sw-alert-wrapper");function R(s={}){F||(F=document.createElement("div"),F.className="sw-alert-wrapper",document.body.appendChild(F));const o=e.createApp({setup(){return()=>e.h(U,{...s,onClose:()=>{F.removeChild(o._container),o.unmount()}})}}),t=o.mount(document.createElement("div"));F.appendChild(t.$el)}const W=Object.assign({"./components/SwAlert.vue":()=>Promise.resolve().then(()=>ae),"./components/SwButton.vue":()=>Promise.resolve().then(()=>re),"./components/SwCollapse.vue":()=>Promise.resolve().then(()=>ie),"./components/SwDatePicker.vue":()=>Promise.resolve().then(()=>Me),"./components/SwDropdown.vue":()=>Promise.resolve().then(()=>Te),"./components/SwDropdownItem.vue":()=>Promise.resolve().then(()=>Ve),"./components/SwFormItem.vue":()=>Promise.resolve().then(()=>ze),"./components/SwInput.vue":()=>Promise.resolve().then(()=>je),"./components/SwMessage.vue":()=>Promise.resolve().then(()=>Fe),"./components/SwSection.vue":()=>Promise.resolve().then(()=>Le),"./components/SwSelect.vue":()=>Promise.resolve().then(()=>He),"./components/SwSkeleton.vue":()=>Promise.resolve().then(()=>We),"./components/SwSkeletonItem.vue":()=>Promise.resolve().then(()=>Ue),"./components/SwSwitch.vue":()=>Promise.resolve().then(()=>Je),"./components/SwTabs.vue":()=>Promise.resolve().then(()=>Ke),"./components/SwTabsPane.vue":()=>Promise.resolve().then(()=>tt)}),A={};for(const s in W){const o=s.split("/").pop().replace(".vue","").replace(/-(\w)/g,(t,l)=>l.toUpperCase());A[o]=e.defineAsyncComponent(()=>W[s]())}const se={install(s){Object.keys(A).forEach(o=>{s.component(o,A[o])}),s.config.globalProperties.$Alert=R,s.provide("Alert",R)}},G={__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 o=s,t=()=>{if(o.href.length>0){const n=document.createElement("a");n.setAttribute("href",o.href),n.setAttribute("target","_blank"),n.click()}},l=e.computed(()=>{let n=["sw-button"];return o.size.length>0&&n.push("sw-"+o.size),o.type.length>0&&n.push("sw-"+o.type),o.round&&n.push("sw-round"),o.text&&n.push("sw-text"),o.link&&n.push("sw-link"),o.class.length>0&&n.push(o.class),n});return(n,d)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(l.value),onClick:t},[e.renderSlot(n.$slots,"default")],2))}},re=Object.freeze(Object.defineProperty({__proto__:null,default:G},Symbol.toStringTag,{value:"Module"})),ie=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwCollapse",props:{visual:{type:Boolean,default:!0}},setup(s){e.onMounted(()=>{l.value="0px"});const o=e.ref(null),t=s;e.watch(()=>t.visual,()=>n());const l=e.ref("0px"),n=()=>{o.value&&(l.value=t.visual?o.value.scrollHeight+"px":"0px")};let d;return e.onMounted(()=>{n(),o.value&&(d=new ResizeObserver(n),d.observe(o.value))}),e.onBeforeUnmount(()=>{d&&d.disconnect()}),(u,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sw-collapse",{open:t.visual}]),style:e.normalizeStyle({maxHeight:l.value}),ref_key:"collapse",ref:o},[e.renderSlot(u.$slots,"default")],6))}}},Symbol.toStringTag,{value:"Module"})),ce={class:"sw-data-picker"},de={class:"month_year"},pe={class:"text"},me={key:0,class:"week"},fe={key:1,class:"year"},ue=["onClick"],ge={key:2,class:"month"},he=["onClick"],ye={key:3,class:"decades"},we=["onClick"],ke={key:0},Se={class:"month_year"},_e={class:"text"},be={key:0,class:"week"},Be={key:1,class:"year"},Ee=["onClick"],$e={key:2,class:"month"},De=["onClick"],Me=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:o}){var J,Q,Z,K;const t=s,l=o,n=e.ref(3),d=e.ref(new Date),u=e.ref(new Date),p=e.ref(new Date().getFullYear()),c=e.ref(new Date().getMonth()),g=e.ref(new Date().getFullYear()),D=e.ref(new Date().getMonth()),B=e.ref(new Date(p.value,c.value+1,1).getMonth()),m=e.ref([]),w=e.ref(0),h=e.ref(-1),k=e.ref(-1),S=e.ref(navigator.language||"ru"),y=/en|zh|ja|he/.test(S.value)?0:1,_=e.computed(()=>Array.from({length:12},(i,a)=>{const r=new Date(2024,a);return new Intl.DateTimeFormat(S.value,{month:"long"}).format(r)})),M=i=>{let a=i.split(i.match(/\D.*?\D?/));return a[0].length>2?a.join("-")+"T00:00:01":a.reverse().join("-")+"T00:00:01"};(J=t.data)!=null&&J.startDate&&(d.value=new Date(M(t.data.startDate)),p.value=d.value.getFullYear(),c.value=d.value.getMonth()),(Q=t.data)!=null&&Q.endDate&&t.range==="range"&&(u.value=new Date(M(t.data.endDate)),g.value=u.value.getFullYear(),D.value=u.value.getMonth());const T=()=>{m.value=[],w.value=0;const i=new Date(p.value,c.value,0);for(let r=i.getDate()-i.getDay()+y;r<=i.getDate();r++)i.getDay()!==6+y&&(m.value.push({day:r,month:i.getMonth(),year:i.getFullYear(),class:[]}),w.value++);const a=new Date(p.value,c.value+1,0).getDate();for(let r=1;r<=a;r++)m.value.push({day:r,month:c.value,year:p.value,class:[]}),w.value++;if(t.range==="range"){const r=new Date(p.value,c.value+1,1),f=new Date(p.value,c.value+2,0).getDate();for(let b=1;b<=f;b++)m.value.push({day:b,month:r.getMonth(),year:r.getFullYear(),class:[]})}C()},C=()=>{var a;if(!((a=t.data)!=null&&a.holiday))return;const i=(r,f)=>{r.forEach(b=>{const[x,N,j]=b.split("-").map(Number),L=m.value.findIndex(q=>q.year===x&&q.month+1===N&&q.day===j);L!==-1&&(m.value[L].class[0]=f)})};i(t.data.holiday.preholidays,"preholiday"),i(t.data.holiday.holidays,"weekend"),i(t.data.holiday.holiday,"holiday"),i(t.data.holiday.nowork,"nowork")},V=()=>{if(!t.limitation||t.limitation.length<2)return!1;const i=[...t.limitation].sort((a,r)=>new Date(M(a.startDate)).getTime()-new Date(M(r.startDate)).getTime());for(let a=1;a<i.length;a++){const r=new Date(M(i[a-1].endDate));if(new Date(M(i[a].startDate))<=r)return console.warn("Warning: Диапазоны пересекаются:",i[a-1],i[a]),!0}return!1},E=(i,a,r)=>{if(!t.limitation||t.limitation.length===0)return!0;const f=new Date(i,a,r).getTime();for(let b of t.limitation){const{startDate:x,endDate:N}=b;if(!x&&N){const j=new Date(M(N)).getTime();if(f<=j)return!1}if(x&&!N){const j=new Date(M(x)).getTime();if(f>=j)return!1}if(x&&N){const j=new Date(M(x)).getTime(),L=new Date(M(N)).getTime();if(j<=L){if(f>=j&&f<=L)return!1}else if(f>=j||f<=L)return!1}}return!0},$=(i,a)=>{const r=P(new Date(i.year,i.month,i.day),"{dd}.{m}.{Y}");t.range==="range"?k.value!==-1?(O(),h.value=a,m.value[a].class[1]="active"):h.value!==-1?(k.value=a,H(h.value,k.value,r)):(h.value=a,m.value[a].class[1]="active"):(h.value!==-1&&(m.value[h.value].class[1]=""),h.value=a,m.value[a].class[1]="active",l("input",{dateStart:r,count:1}))},O=()=>{m.value.forEach(i=>i.class[1]=""),h.value=-1,k.value=-1},H=(i,a,r)=>{let f=P(new Date(m.value[i].year,m.value[i].month,m.value[i].day),"{dd}.{m}.{Y}");if(a>=i){for(let b=i+1;b<a;b++)m.value[b].class[1]="select";l("input",{dateStart:f,dateEnd:r,count:Y(i,a)})}else{for(let b=a+1;b<i;b++)m.value[b].class[1]="select";l("input",{dateStart:r,dateEnd:f,count:Y(a,i)})}m.value[a].class[1]="active"},Y=(i,a)=>{var x;let r=Math.abs(i-a)+1,[f,b]=[Math.min(i,a),Math.max(i,a)];for(let N=f;N<=b;N++)((x=m.value[N])==null?void 0:x.class[0])==="holiday"&&r--;return r},z=(i,a)=>{E(i,a)&&(d.value=new Date(i,a,1),p.value=d.value.getFullYear(),c.value=d.value.getMonth(),B.value=new Date(i,a+1,1).getMonth(),t.range==="year"&&n.value===0?$({year:i,month:a,day:1},8):T())};if(T(),V(),(Z=t.data)!=null&&Z.startDate&&(h.value=m.value.findIndex(i=>i.day===d.value.getDate()&&i.month===c.value&&i.year===p.value),h.value!==-1&&(m.value[h.value].class[1]="active")),(K=t.data)!=null&&K.endDate&&t.range==="range"&&(k.value=m.value.findIndex(i=>i.day===u.value.getDate()&&i.month===D.value&&i.year===g.value),k.value!==-1)){m.value[k.value].class[1]="active";for(let i=h.value+1;i<k.value;i++)m.value[i].class[1]="select"}return(i,a)=>(e.openBlock(),e.createElementBlock("div",ce,[e.createElementVNode("div",null,[e.createElementVNode("p",de,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:a[0]||(a[0]=e.withModifiers(r=>z(p.value-1,c.value),["prevent"]))},[e.renderSlot(i.$slots,"double-arrow",{},()=>[a[12]||(a[12]=e.createTextVNode("«"))])]),e.createElementVNode("button",{onClick:a[1]||(a[1]=e.withModifiers(r=>{n.value=0,z(p.value,c.value-1)},["prevent"]))},[e.renderSlot(i.$slots,"arrow",{},()=>[a[13]||(a[13]=e.createTextVNode("‹"))])])]),e.createElementVNode("span",pe,[e.createElementVNode("button",{onClick:a[2]||(a[2]=e.withModifiers(r=>n.value=1,["prevent"]))},e.toDisplayString(p.value),1),e.createElementVNode("button",{onClick:a[3]||(a[3]=e.withModifiers(r=>n.value=1,["prevent"]))},e.toDisplayString(e.unref(P)(d.value.setMonth(c.value),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{class:"sw-revers",onClick:a[4]||(a[4]=e.withModifiers(r=>{n.value=0,z(p.value,c.value+1)},["prevent"]))},[e.renderSlot(i.$slots,"arrow",{},()=>[a[14]||(a[14]=e.createTextVNode("‹"))])]),e.createElementVNode("button",{class:"sw-revers",onClick:a[5]||(a[5]=e.withModifiers(r=>z(p.value+1,c.value),["prevent"]))},[e.renderSlot(i.$slots,"double-arrow",{},()=>[a[15]||(a[15]=e.createTextVNode("«"))])])])]),t.range==="year"||n.value===1?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",me,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(r,f)=>e.createElementVNode("button",{key:f,class:"disabled"},e.toDisplayString(e.unref(P)(new Date(1970,1,r+e.unref(y)),"{D}")),1)),64))])),t.range==="year"||n.value===1?(e.openBlock(),e.createElementBlock("div",fe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,(r,f)=>(e.openBlock(),e.createElementBlock("button",{key:f,onClick:e.withModifiers(b=>{n.value=0,z(p.value,f)},["prevent"]),class:e.normalizeClass(f===c.value?"active":"")},e.toDisplayString(r),11,ue))),128))])):(e.openBlock(),e.createElementBlock("div",ge,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(r,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:f},[f<w.value+(7-new Date(p.value,c.value+1,1).getDay()+e.unref(y))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(r.month===c.value&&E(r.year,r.month,r.day)?r.class:"disabled"),onClick:e.withModifiers(()=>{r.month===c.value&&$(r,f)},["prevent"])},e.toDisplayString(r.day),11,he)):e.createCommentVNode("",!0)],64))),128))])),t.range==="year"||n.value===1?(e.openBlock(),e.createElementBlock("div",ye,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,(r,f)=>(e.openBlock(),e.createElementBlock("button",{key:f,onClick:e.withModifiers(b=>{n.value=0,z(p.value,f)},["prevent"]),class:e.normalizeClass(f===c.value?"active":"")},e.toDisplayString(r),11,we))),128))])):e.createCommentVNode("",!0)]),t.range==="range"?(e.openBlock(),e.createElementBlock("div",ke,[e.createElementVNode("p",Se,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:a[6]||(a[6]=e.withModifiers(r=>z(p.value-1,c.value),["prevent"]))},[e.renderSlot(i.$slots,"double-arrow",{},()=>[a[16]||(a[16]=e.createTextVNode("«"))])]),e.createElementVNode("button",{onClick:a[7]||(a[7]=e.withModifiers(r=>{n.value=0,z(p.value,c.value-1)},["prevent"]))},[e.renderSlot(i.$slots,"arrow",{},()=>[a[17]||(a[17]=e.createTextVNode("‹"))])])]),e.createElementVNode("span",_e,[e.createElementVNode("button",{onClick:a[8]||(a[8]=e.withModifiers(r=>n.value=2,["prevent"]))},e.toDisplayString(new Date(p.value,c.value+1).getFullYear()),1),e.createElementVNode("button",{onClick:a[9]||(a[9]=e.withModifiers(r=>n.value=2,["prevent"]))},e.toDisplayString(e.unref(P)(d.value.setMonth(c.value+1),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{class:"sw-revers",onClick:a[10]||(a[10]=e.withModifiers(r=>{n.value=0,z(p.value,c.value+1)},["prevent"]))},[e.renderSlot(i.$slots,"arrow",{},()=>[a[18]||(a[18]=e.createTextVNode("‹"))])]),e.createElementVNode("button",{class:"sw-revers",onClick:a[11]||(a[11]=e.withModifiers(r=>z(p.value+1,c.value),["prevent"]))},[e.renderSlot(i.$slots,"double-arrow",{},()=>[a[19]||(a[19]=e.createTextVNode("«"))])])])]),n.value!==2?(e.openBlock(),e.createElementBlock("div",be,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(r,f)=>e.createElementVNode("button",{key:f,class:"disabled"},e.toDisplayString(e.unref(P)(new Date(1970,1,r+e.unref(y)),"{D}")),1)),64))])):e.createCommentVNode("",!0),n.value===2?(e.openBlock(),e.createElementBlock("div",Be,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,(r,f)=>(e.openBlock(),e.createElementBlock("button",{key:f,onClick:e.withModifiers(b=>{n.value=0,z(p.value,f-1)},["prevent"]),class:e.normalizeClass(f===(c.value+1)%12?"active":"")},e.toDisplayString(r),11,Ee))),128))])):(e.openBlock(),e.createElementBlock("div",$e,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(r,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:f},[f>=w.value-(7+new Date(p.value,c.value+1,1).getDay()-e.unref(y))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(r.month===B.value&&E(r.year,r.month,r.day)?r.class:"disabled"),onClick:e.withModifiers(()=>{r.month===B.value&&$(r,f)},["prevent"])},e.toDisplayString(r.day),11,De)):e.createCommentVNode("",!0)],64))),128))]))])):e.createCommentVNode("",!0)]))}}},Symbol.toStringTag,{value:"Module"})),Ce=["id"],Te=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:o}){const t=s,l=e.useModel(s,"modelValue"),n=e.ref(null),d=e.ref(null),u=e.ref({}),p=Math.ceil(Math.random()*1e3),c=e.ref(0),g=e.computed(()=>{let S=["sw-dropdown"];return t.size.length>0&&S.push("sw-"+t.size),t.type.length>0&&S.push("sw-"+t.type),S}),D=new ResizeObserver(S=>{l.value&&c.value++,c.value>99&&(c.value=1)});e.watchEffect(()=>{if(!l.value||!d.value||!n.value)return;c.value<2&&D.observe(d.value);let S=window.pageYOffset||document.documentElement.scrollTop,y=window.pageXOffset||document.documentElement.scrollLeft;document.body.style.position="fixed",document.body.style.top=`-${S}px`,document.body.style.left=`-${y}px`,document.body.style.position="",document.body.style.top="",document.body.style.left="",document.documentElement.scrollTop=S,document.documentElement.scrollLeft=y;const _=n.value.getBoundingClientRect();let M=window.innerWidth,T=window.innerHeight,C=d.value.offsetHeight,V=d.value.offsetWidth,E=_.left+_.width/2+y,$=_.top+_.height/2+S,O=_.height/2+8;const[H,Y]=t.placement.split("-",2);switch(H){case"bottom":$=S+T-C-O-8<$?$-O-C:$+O;break;case"top":$=S+C+O+8>$?$+O:$-O-C;break;case"left":E=E-V-_.width/2-8,$=$-C/2;break;case"right":E=E+_.width/2+8,$=$-C/2;break}switch(Y){case"left":E=y+M-8>E-_.width/2+V?E-_.width/2:E-V+_.width/2;break;case"right":E=8<E+_.width/2-V?E-V+_.width/2:E-_.width/2;break}E<0&&(E=0),$<0&&($=0),u.value={position:"absolute",top:`${$}px`,left:`${E}px`,maxWidth:t.maxWidth>0?`${t.maxWidth}px`:""}},{flush:"post"});const B=()=>{t.trigger==="click"&&(l.value=!l.value)},m=()=>{t.trigger==="hover"&&(l.value=!l.value)},w=()=>{t.trigger==="context"&&(l.value=!l.value)},h=()=>{l.value&&c.value++,c.value>99&&(c.value=1)};o({handleResize:h});const k=S=>{!S.target.closest(`[id="${p}"]`)&&n.value&&!n.value.contains(S.target)&&(l.value=!1)};return e.onMounted(()=>{window.addEventListener("resize",h),document.documentElement.ontouchstart!==void 0?document.documentElement.addEventListener("touchstart",k):document.documentElement.addEventListener("click",k),window.onscrollend!==void 0?window.addEventListener("scrollend",h):window.addEventListener("scroll",h)}),e.onUnmounted(()=>{D.disconnect(),window.removeEventListener("resize",h),document.documentElement.ontouchstart!==void 0?document.documentElement.removeEventListener("touchstart",k):document.documentElement.removeEventListener("click",k),window.onscrollend!==void 0?window.removeEventListener("scrollend",h):window.removeEventListener("scroll",h)}),(S,y)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(g.value),onClick:y[0]||(y[0]=_=>B()),onMouseover:y[1]||(y[1]=e.withModifiers(_=>m(),["stop"])),onMouseleave:y[2]||(y[2]=e.withModifiers(_=>m(),["stop"])),onContextmenu:y[3]||(y[3]=e.withModifiers(_=>w(),["stop"])),ref_key:"dropdownRef",ref:n},[e.renderSlot(S.$slots,"default"),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[l.value?(e.openBlock(),e.createElementBlock("ul",{key:0,ref_key:"popupRef",ref:d,id:e.unref(p),class:e.normalizeClass(["sw-dropdown-popup",t.class]),style:e.normalizeStyle(u.value),tabindex:"-1"},[e.renderSlot(S.$slots,"dropdown")],14,Ce)):e.createCommentVNode("",!0)]))],34))}}},Symbol.toStringTag,{value:"Module"})),Ve=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 o=s,t=e.computed(()=>{let l=["sw-dropdown-item"];return o.size.length>0&&l.push("sw-"+o.size),o.type.length>0&&l.push("sw-"+o.type),o.class.length>0&&l.push(o.class),l});return(l,n)=>{const d=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(t.value)},[e.createVNode(d,{"icon-class":s.iconBefore},null,8,["icon-class"]),e.renderSlot(l.$slots,"default")],2)}}}},Symbol.toStringTag,{value:"Module"})),ze=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwFormItem",props:{class:{type:String,default:""},type:{type:String,default:""}},setup(s){const o=s,t=e.computed(()=>{let l=["sw-form-item"];return o.type.length>0&&l.push("sw-"+o.type),o.class.length>0&&l.push(o.class),l});return(l,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value)},[e.renderSlot(l.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Ne=["for"],xe={key:0,title:"Это поле обязательно для заполнения."},ve=["required","placeholder","type","id","name","size","maxlength","minlength","autofocus","readonly"],je=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},maxlength:{type:Number,default:128},minlength:{type:Number,default:1},inputSize:{type:Number,default:60},autofocus:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["suffix","prefix","focusInput"],["update:modelValue"]),setup(s,{emit:o}){var m;const t=e.useModel(s,"modelValue"),l=s,n=e.ref(null),d=o,u=w=>{d("focusInput"),w.target.setSelectionRange(t.value.length,t.value.length),n.value!==null&&(n.value.style.top="-.6em")},p=w=>{var h;((h=t.value)==null?void 0:h.length)===0&&n.value!==null&&n.value.removeAttribute("style")};((m=t.value)==null?void 0:m.length)>0&&n.value!==null&&(n.value.style.top="-.6em");const c=()=>{d("suffix")},g=()=>{d("prefix")},D=e.computed(()=>{let w=["sw-input"];return l.size.length>0&&w.push("sw-"+l.size),l.class.length>0&&w.push(l.class),w});e.watch(t,(w,h)=>{l.type==="phone"&&(t.value=B(w,h))});const B=(w,h)=>{if(/^\+[0-9]\s/.test(h)&&w.length===2||/^\+0\s/.test(w))return"";const k=w;if(typeof k>"u"||k.length===0)return k;const S="+0 (___) ___-__-__";let y=0;const _=S.replace(/\D/g,""),M=k.replace(/\D/g,"");let T=S.replace(/[_\d]/g,V=>y<M.length?M.charAt(y++)||_.charAt(y):V);y=T.indexOf("_"),y!==-1&&(y=y<5?3:y,T=T.slice(0,y));let C=S.slice(0,k.length).replace(/_+/g,V=>`\\d{1,${V.length}}`).replace(/[+()]/g,"\\$&");if(C=new RegExp(`^${C}$`),T=T.replace(/[-—]$|(\) )$/g,""),!C.test(k)||k.length<5)return T};return(w,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(D.value)},[l.before.length>0?(e.openBlock(),e.createBlock(I,{key:0,"icon-class":l.before,onClick:g},null,8,["icon-class"])):e.renderSlot(w.$slots,"prefix",{key:1}),l.label.length>0?(e.openBlock(),e.createElementBlock("label",{key:2,for:l.name,ref_key:"lab",ref:n},[e.createTextVNode(e.toDisplayString(l.label),1),l.required?(e.openBlock(),e.createElementBlock("span",xe,"*")):e.createCommentVNode("",!0)],8,Ne)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":h[0]||(h[0]=k=>t.value=k),required:l.required,placeholder:l.required&&l.label.length===0?l.placeholder+"*":l.placeholder,type:l.type,id:l.name,name:l.name,size:l.inputSize,onFocus:u,onBlur:p,maxlength:l.maxlength,minlength:l.minlength,autofocus:l.autofocus,readonly:l.readonly},null,40,ve),[[e.vModelDynamic,t.value]]),l.after.length>0?(e.openBlock(),e.createBlock(I,{key:3,"icon-class":l.after,onClick:c},null,8,["icon-class"])):e.renderSlot(w.$slots,"suffix",{key:4})],2))}}},Symbol.toStringTag,{value:"Module"})),Oe=["open"],Pe={key:0},Fe=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 o=e.useModel(s,"modelValue"),t=s,l=e.ref(null),n=e.useSlots(),d=u=>{l.value&&!l.value.contains(u.target)&&(o.value=!1)};return e.watch(()=>o.value,async u=>{u?(await e.nextTick(),window.addEventListener("click",d,!0)):window.removeEventListener("click",d)}),e.onUnmounted(()=>{window.removeEventListener("click",d)}),(u,p)=>{var g;const c=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("dialog",{open:o.value,class:e.normalizeClass(["sw-message",t.class]),ref_key:"messageRef",ref:l},[t.name.length>0||(g=e.unref(n))!=null&&g.header?(e.openBlock(),e.createElementBlock("header",Pe,[e.renderSlot(u.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createVNode(G,{link:"",type:"primary",onClick:p[0]||(p[0]=D=>o.value=!1)},{default:e.withCtx(()=>[e.createVNode(c,{"icon-class":t.iconAfter},null,8,["icon-class"])]),_:1})])])):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(u.$slots,"footer")])],10,Oe)}}}},Symbol.toStringTag,{value:"Module"})),Le=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:o}){const t=s,l=o,n=()=>{l("header")};return(d,u)=>{const p=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(t.class)},[e.createElementVNode("header",{onClick:n},[e.renderSlot(d.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createVNode(p,{"icon-class":t.iconAfter},null,8,["icon-class"])])]),e.renderSlot(d.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(d.$slots,"footer")])],2)}}}},Symbol.toStringTag,{value:"Module"})),Ie={class:"popup"},Ae={class:"wrapper"},Ye={class:"scrollbar"},Re=["onClick"],He=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 o=e.ref({fullText:""}),t=e.ref(!1),l=e.ref([]),n=e.useModel(s,"modelValue"),d=s;e.watch(n.text,c=>{c.length>3&&(o.value.fullText=c)}),e.watch(o.value.fullText,(c,g)=>{t.value=c.length>3&&c.length>g.length,c.length>3&&u()});const u=()=>{let c="https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address";console.log(o.value.fullText),axios.post(c,{query:o.value.fullText},{headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:"Token "+d.token}}).then(g=>{console.log(g.data.suggestions),l.value=g.data.suggestions,l.value.length===1&&p(l.value[0])}).catch(g=>{console.log(g)})},p=c=>{o.value.fullText=c.value,t.value=!1;const g={};g.text=c.value,g.coords=[Number(c.data.geo_lat),Number(c.data.geo_lon)],g.suggestion=c.data,n.value=g};return(c,g)=>{const D=e.resolveComponent("sw-input");return e.openBlock(),e.createElementBlock("div",Ie,[e.createVNode(D,{size:d.size,modelValue:o.value.fullText,"onUpdate:modelValue":g[0]||(g[0]=B=>o.value.fullText=B),placeholder:s.placeholder},null,8,["size","modelValue","placeholder"]),e.withDirectives(e.createElementVNode("div",Ae,[e.createElementVNode("ul",Ye,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(B,m)=>(e.openBlock(),e.createElementBlock("li",{tabindex:"1",key:m,onClick:w=>p(B)},e.toDisplayString(B.value),9,Re))),128))])],512),[[e.vShow,t.value]])])}}}},Symbol.toStringTag,{value:"Module"})),qe={key:0},X={__name:"SwSkeletonItem",props:{width:{type:String,default:"100"},class:{type:String,default:""},animate:{type:Boolean,default:!1},size:{type:String,default:""}},setup(s){const o=s,t=e.computed(()=>{let n=["sw-skeleton-item"];return o.size.length>0&&n.push("sw-"+o.size),o.animate&&n.push("sw-animate"),o.class.length>0&&n.push(o.class),n}),l=e.computed(()=>({width:o.width+"%"}));return(n,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value),style:e.normalizeStyle(l.value)},[o.animate?(e.openBlock(),e.createElementBlock("div",qe)):e.createCommentVNode("",!0)],6))}},Ue=Object.freeze(Object.defineProperty({__proto__:null,default:X},Symbol.toStringTag,{value:"Module"})),We=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSkeleton",props:{class:{type:String,default:""},visual:{type:Boolean,default:!1}},setup(s){const o=s;return(t,l)=>o.visual?e.renderSlot(t.$slots,"default",{key:0}):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["sw-skeleton",o.class])},[e.renderSlot(t.$slots,"skeleton",{},()=>[e.createVNode(X,{animate:"",size:"small"})])],2))}}},Symbol.toStringTag,{value:"Module"})),Ge=["name","id"],Xe=["for","data-onlabel","data-offlabel"],Je=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 o=e.useModel(s,"modelValue"),t=s,l=e.computed(()=>{let n=["sw-switch"];return t.size.length>0&&n.push("sw-"+t.size),t.checkbox&&n.push("sw-checkbox"),t.class.length>0&&n.push(t.class),n});return(n,d)=>(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":d[0]||(d[0]=u=>o.value=u)},null,8,Ge),[[e.vModelCheckbox,o.value]]),e.createElementVNode("label",{for:t.id,class:"sw-label","data-onlabel":t.on,"data-offlabel":t.off},null,8,Xe),e.renderSlot(n.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Qe={key:0},Ze=["onClick"],Ke=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:o}){e.ref(0);const t=e.ref([]),l=s,n=e.useModel(s,"modelValue"),d=o;function u(c){t.value.push(c)}function p(c){t.value=t.value.filter(g=>g!==c)}return e.provide("registerTab",u),e.provide("unregisterTab",p),e.provide("activeTab",n),e.provide("tabs",t),(c,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("sw-tabs "+l.class)},[t.value.length!==0?(e.openBlock(),e.createElementBlock("header",Qe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(D,B)=>(e.openBlock(),e.createElementBlock("span",{key:B,class:e.normalizeClass([{active:n.value===B}]),onClick:m=>{n.value=B,d("tab-click",B)}},e.toDisplayString(D.label||D.title),11,Ze))),128))])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),et={key:0,class:"tab-content"},tt=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPane",props:{title:{type:String,required:!0},label:{type:String,default:""}},setup(s){const o=s,t=e.inject("registerTab"),l=e.inject("unregisterTab");e.onMounted(()=>{t({title:o.title,label:o.label})}),e.onUnmounted(()=>{l({title:o.title,label:o.label})});const n=e.inject("activeTab"),d=e.inject("tabs"),u=e.computed(()=>d.value.findIndex(c=>c.title===o.title)),p=e.computed(()=>n.value===u.value);return(c,g)=>p.value?(e.openBlock(),e.createElementBlock("div",et,[e.renderSlot(c.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"}));v.Alert=R,v.Library=se,v.components=A,Object.defineProperty(v,Symbol.toStringTag,{value:"Module"})});
1
+ (function(v,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(v=typeof globalThis<"u"?globalThis:v||self,e(v["component-sw"]={},v.vue))})(this,function(v,e){"use strict";function te(s){return/^(https?:|mailto:|tel:)/.test(s)}function P(s,o){if(arguments.length===0||!s)return null;const t=o||"{Y}-{m}-{d} {G}:{i}:{s}";let l;typeof s=="object"?l=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),l=new Date(s));const n="ru-RU",d={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(n,{weekday:"short"}).format(l),F:new Intl.DateTimeFormat(n,{month:"long"}).format(l),M:new Intl.DateTimeFormat(n,{month:"short"}).format(l)};return t.replace(/{(dd|[YmdGHisDFM])+}/g,(u,p)=>d[p])}const le=(s,o)=>{const t=s.__vccOpts||s;for(const[l,n]of o)t[l]=n;return t},ne={name:"SvgIcon",props:{prefix:{type:String,default:"icon"},iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExt(){return te(this.iconClass)}}},oe=["href"];function ae(s,o,t,l,n,d){return d.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 A=le(ne,[["render",ae]]),U={__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:o}){const t=s,l=o,n=e.ref(!1);let d=null;const u=()=>{n.value=!0,M()},p=()=>{n.value=!1,l("closed")},c=()=>{d&&(clearTimeout(d),d=null)},g=()=>{M()},M=()=>{d=setTimeout(p,t.duration)};e.onMounted(()=>{u()}),e.onUnmounted(()=>{d&&clearTimeout(d)});const E=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,k)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade"},{default:e.withCtx(()=>[n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(E.value),onMouseenter:c,onMouseleave:g},[t.before.length>0?(e.openBlock(),e.createBlock(A,{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(A,{key:2,"icon-class":t.after,onClick:p},null,8,["icon-class"])):e.renderSlot(m.$slots,"suffix",{key:3})],34)):e.createCommentVNode("",!0)]),_:3}))}},se=Object.freeze(Object.defineProperty({__proto__:null,default:U},Symbol.toStringTag,{value:"Module"}));let F=document.querySelector("div.sw-alert-wrapper");function R(s={}){F||(F=document.createElement("div"),F.className="sw-alert-wrapper",document.body.appendChild(F));const o=e.createApp({setup(){return()=>e.h(U,{...s,onClose:()=>{F.removeChild(o._container),o.unmount()}})}}),t=o.mount(document.createElement("div"));F.appendChild(t.$el)}const W=Object.assign({"./components/SwAlert.vue":()=>Promise.resolve().then(()=>se),"./components/SwButton.vue":()=>Promise.resolve().then(()=>ie),"./components/SwCollapse.vue":()=>Promise.resolve().then(()=>ce),"./components/SwDatePicker.vue":()=>Promise.resolve().then(()=>Ve),"./components/SwDropdown.vue":()=>Promise.resolve().then(()=>Ne),"./components/SwDropdownItem.vue":()=>Promise.resolve().then(()=>xe),"./components/SwFormItem.vue":()=>Promise.resolve().then(()=>ve),"./components/SwInput.vue":()=>Promise.resolve().then(()=>Fe),"./components/SwMessage.vue":()=>Promise.resolve().then(()=>Ae),"./components/SwSection.vue":()=>Promise.resolve().then(()=>Ye),"./components/SwSelect.vue":()=>Promise.resolve().then(()=>We),"./components/SwSkeleton.vue":()=>Promise.resolve().then(()=>Je),"./components/SwSkeletonItem.vue":()=>Promise.resolve().then(()=>Xe),"./components/SwSwitch.vue":()=>Promise.resolve().then(()=>Ke),"./components/SwTabs.vue":()=>Promise.resolve().then(()=>lt),"./components/SwTabsPane.vue":()=>Promise.resolve().then(()=>ot)}),Y={};for(const s in W){const o=s.split("/").pop().replace(".vue","").replace(/-(\w)/g,(t,l)=>l.toUpperCase());Y[o]=e.defineAsyncComponent(()=>W[s]())}const re={install(s){Object.keys(Y).forEach(o=>{s.component(o,Y[o])}),s.config.globalProperties.$Alert=R,s.provide("Alert",R)}},G={__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 o=s,t=()=>{if(o.href.length>0){const n=document.createElement("a");n.setAttribute("href",o.href),n.setAttribute("target","_blank"),n.click()}},l=e.computed(()=>{let n=["sw-button"];return o.size.length>0&&n.push("sw-"+o.size),o.type.length>0&&n.push("sw-"+o.type),o.round&&n.push("sw-round"),o.text&&n.push("sw-text"),o.link&&n.push("sw-link"),o.class.length>0&&n.push(o.class),n});return(n,d)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(l.value),onClick:t},[e.renderSlot(n.$slots,"default")],2))}},ie=Object.freeze(Object.defineProperty({__proto__:null,default:G},Symbol.toStringTag,{value:"Module"})),ce=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwCollapse",props:{visual:{type:Boolean,default:!0}},setup(s){e.onMounted(()=>{l.value="0px"});const o=e.ref(null),t=s;e.watch(()=>t.visual,()=>n());const l=e.ref("0px"),n=()=>{o.value&&(l.value=t.visual?o.value.scrollHeight+"px":"0px")};let d;return e.onMounted(()=>{n(),o.value&&(d=new ResizeObserver(n),d.observe(o.value))}),e.onBeforeUnmount(()=>{d&&d.disconnect()}),(u,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sw-collapse",{open:t.visual}]),style:e.normalizeStyle({maxHeight:l.value}),ref_key:"collapse",ref:o},[e.renderSlot(u.$slots,"default")],6))}}},Symbol.toStringTag,{value:"Module"})),de={class:"sw-data-picker"},pe={class:"month_year"},me={class:"text"},fe={key:0,class:"week"},ue={key:1,class:"year"},ge=["onClick"],he={key:2,class:"year"},ye=["onClick"],ke={key:3,class:"month"},we=["onClick"],Se={key:0},_e={class:"month_year"},be={class:"text"},Be={key:0,class:"week"},Ee={key:1,class:"year"},$e=["onClick"],De={key:2,class:"year"},Me=["onClick"],Ce={key:3,class:"month"},Te=["onClick"],Ve=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:o}){var Q,Z,K,ee;const t=s,l=o,n=e.ref(5),d=e.ref(new Date),u=e.ref(new Date),p=e.ref(new Date().getFullYear()),c=e.ref(new Date().getMonth()),g=e.ref(new Date().getFullYear()),M=e.ref(new Date().getMonth()),E=e.ref(new Date(p.value,c.value+1,1).getMonth()),m=e.ref([]),k=e.ref(0),h=e.ref(-1),w=e.ref(-1),S=e.ref(navigator.language||"ru"),y=/en|zh|ja|he/.test(S.value)?0:1,_=e.computed(()=>Array.from({length:12},(i,a)=>{const r=new Date(2024,a);return new Intl.DateTimeFormat(S.value,{month:"long"}).format(r)})),O=e.ref(Math.floor(p.value/10)*10),V=e.computed(()=>Array.from({length:12},(i,a)=>O.value+a-1)),b=i=>{let a=i.split(i.match(/\D.*?\D?/));return a[0].length>2?a.join("-")+"T00:00:01":a.reverse().join("-")+"T00:00:01"};(Q=t.data)!=null&&Q.startDate&&(d.value=new Date(b(t.data.startDate)),p.value=d.value.getFullYear(),c.value=d.value.getMonth()),(Z=t.data)!=null&&Z.endDate&&t.range==="range"&&(u.value=new Date(b(t.data.endDate)),g.value=u.value.getFullYear(),M.value=u.value.getMonth());const C=()=>{m.value=[],k.value=0;const i=new Date(p.value,c.value,0);for(let r=i.getDate()-i.getDay()+y;r<=i.getDate();r++)i.getDay()!==6+y&&(m.value.push({day:r,month:i.getMonth(),year:i.getFullYear(),class:[]}),k.value++);const a=new Date(p.value,c.value+1,0).getDate();for(let r=1;r<=a;r++)m.value.push({day:r,month:c.value,year:p.value,class:[]}),k.value++;if(t.range==="range"){const r=new Date(p.value,c.value+1,1),f=new Date(p.value,c.value+2,0).getDate();for(let B=1;B<=f;B++)m.value.push({day:B,month:r.getMonth(),year:r.getFullYear(),class:[]})}$()},$=()=>{var a;if(!((a=t.data)!=null&&a.holiday))return;const i=(r,f)=>{r.forEach(B=>{const[x,z,j]=B.split("-").map(Number),L=m.value.findIndex(q=>q.year===x&&q.month+1===z&&q.day===j);L!==-1&&(m.value[L].class[0]=f)})};i(t.data.holiday.preholidays,"preholiday"),i(t.data.holiday.holidays,"weekend"),i(t.data.holiday.holiday,"holiday"),i(t.data.holiday.nowork,"nowork")},D=()=>{if(!t.limitation||t.limitation.length<2)return!1;const i=[...t.limitation].sort((a,r)=>new Date(b(a.startDate)).getTime()-new Date(b(r.startDate)).getTime());for(let a=1;a<i.length;a++){const r=new Date(b(i[a-1].endDate));if(new Date(b(i[a].startDate))<=r)return console.warn("Warning: Диапазоны пересекаются:",i[a-1],i[a]),!0}return!1},N=(i,a,r)=>{if(!t.limitation||t.limitation.length===0)return!0;const f=new Date(i,a,r).getTime();for(let B of t.limitation){const{startDate:x,endDate:z}=B;if(!x&&z){const j=new Date(b(z)).getTime();if(f<=j)return!1}if(x&&!z){const j=new Date(b(x)).getTime();if(f>=j)return!1}if(x&&z){const j=new Date(b(x)).getTime(),L=new Date(b(z)).getTime();if(j<=L){if(f>=j&&f<=L)return!1}else if(f>=j||f<=L)return!1}}return!0},I=(i,a)=>{const r=P(new Date(i.year,i.month,i.day),"{dd}.{m}.{Y}");t.range==="range"?w.value!==-1?(H(),h.value=a,m.value[a].class[1]="active"):h.value!==-1?(w.value=a,at(h.value,w.value,r)):(h.value=a,m.value[a].class[1]="active"):(h.value!==-1&&(m.value[h.value].class[1]=""),h.value=a,m.value[a].class[1]="active",l("input",{dateStart:r,count:1}))},H=()=>{m.value.forEach(i=>i.class[1]=""),h.value=-1,w.value=-1},at=(i,a,r)=>{let f=P(new Date(m.value[i].year,m.value[i].month,m.value[i].day),"{dd}.{m}.{Y}");if(a>=i){for(let B=i+1;B<a;B++)m.value[B].class[1]="select";l("input",{dateStart:f,dateEnd:r,count:J(i,a)})}else{for(let B=a+1;B<i;B++)m.value[B].class[1]="select";l("input",{dateStart:r,dateEnd:f,count:J(a,i)})}m.value[a].class[1]="active"},J=(i,a)=>{var x;let r=Math.abs(i-a)+1,[f,B]=[Math.min(i,a),Math.max(i,a)];for(let z=f;z<=B;z++)((x=m.value[z])==null?void 0:x.class[0])==="holiday"&&r--;return r},T=(i,a)=>{N(i,a)&&(d.value=new Date(i,a,1),p.value=d.value.getFullYear(),c.value=d.value.getMonth(),E.value=new Date(i,a+1,1).getMonth(),(t.range==="year"||t.range==="decades")&&n.value===0?I({year:i,month:a,day:1},8):C())};if(C(),D(),(K=t.data)!=null&&K.startDate&&(h.value=m.value.findIndex(i=>i.day===d.value.getDate()&&i.month===c.value&&i.year===p.value),h.value!==-1&&(m.value[h.value].class[1]="active")),(ee=t.data)!=null&&ee.endDate&&t.range==="range"&&(w.value=m.value.findIndex(i=>i.day===u.value.getDate()&&i.month===M.value&&i.year===g.value),w.value!==-1)){m.value[w.value].class[1]="active";for(let i=h.value+1;i<w.value;i++)m.value[i].class[1]="select"}return(i,a)=>(e.openBlock(),e.createElementBlock("div",de,[e.createElementVNode("div",null,[e.createElementVNode("p",pe,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:a[0]||(a[0]=e.withModifiers(r=>T(p.value-1,c.value),["prevent"]))},[e.renderSlot(i.$slots,"double-arrow",{},()=>[a[12]||(a[12]=e.createTextVNode("«"))])]),e.createElementVNode("button",{onClick:a[1]||(a[1]=e.withModifiers(r=>{n.value=0,T(p.value,c.value-1)},["prevent"]))},[e.renderSlot(i.$slots,"arrow",{},()=>[a[13]||(a[13]=e.createTextVNode("‹"))])])]),e.createElementVNode("span",me,[e.createElementVNode("button",{onClick:a[2]||(a[2]=e.withModifiers(r=>n.value=1,["prevent"]))},e.toDisplayString(p.value),1),e.createElementVNode("button",{onClick:a[3]||(a[3]=e.withModifiers(r=>n.value=3,["prevent"]))},e.toDisplayString(e.unref(P)(d.value.setMonth(c.value),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{class:"sw-revers",onClick:a[4]||(a[4]=e.withModifiers(r=>{n.value=0,T(p.value,c.value+1)},["prevent"]))},[e.renderSlot(i.$slots,"arrow",{},()=>[a[14]||(a[14]=e.createTextVNode("‹"))])]),e.createElementVNode("button",{class:"sw-revers",onClick:a[5]||(a[5]=e.withModifiers(r=>T(p.value+1,c.value),["prevent"]))},[e.renderSlot(i.$slots,"double-arrow",{},()=>[a[15]||(a[15]=e.createTextVNode("«"))])])])]),t.range==="year"||n.value===1||n.value===3?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",fe,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(r,f)=>e.createElementVNode("button",{key:f,class:"disabled"},e.toDisplayString(e.unref(P)(new Date(1970,1,r+e.unref(y)),"{D}")),1)),64))])),t.range==="year"||n.value===1?(e.openBlock(),e.createElementBlock("div",ue,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,(r,f)=>(e.openBlock(),e.createElementBlock("button",{key:f,onClick:e.withModifiers(B=>{n.value=0,T(p.value,f)},["prevent"]),class:e.normalizeClass(f===c.value?"active":"")},e.toDisplayString(r),11,ge))),128))])):t.range==="decades"||n.value===3?(e.openBlock(),e.createElementBlock("div",he,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.value,(r,f)=>(e.openBlock(),e.createElementBlock("button",{key:f,onClick:e.withModifiers(B=>{n.value=0,T(r,c.value)},["prevent"]),class:e.normalizeClass(O.value+f-1===p.value?"active":"")},e.toDisplayString(r),11,ye))),128))])):(e.openBlock(),e.createElementBlock("div",ke,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(r,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:f},[f<k.value+(7-new Date(p.value,c.value+1,1).getDay()+e.unref(y))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(r.month===c.value&&N(r.year,r.month,r.day)?r.class:"disabled"),onClick:e.withModifiers(()=>{r.month===c.value&&I(r,f)},["prevent"])},e.toDisplayString(r.day),11,we)):e.createCommentVNode("",!0)],64))),128))]))]),t.range==="range"?(e.openBlock(),e.createElementBlock("div",Se,[e.createElementVNode("p",_e,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:a[6]||(a[6]=e.withModifiers(r=>T(p.value-1,c.value),["prevent"]))},[e.renderSlot(i.$slots,"double-arrow",{},()=>[a[16]||(a[16]=e.createTextVNode("«"))])]),e.createElementVNode("button",{onClick:a[7]||(a[7]=e.withModifiers(r=>{n.value=0,T(p.value,c.value-1)},["prevent"]))},[e.renderSlot(i.$slots,"arrow",{},()=>[a[17]||(a[17]=e.createTextVNode("‹"))])])]),e.createElementVNode("span",be,[e.createElementVNode("button",{onClick:a[8]||(a[8]=e.withModifiers(r=>n.value=4,["prevent"]))},e.toDisplayString(new Date(p.value,c.value+1).getFullYear()),1),e.createElementVNode("button",{onClick:a[9]||(a[9]=e.withModifiers(r=>n.value=2,["prevent"]))},e.toDisplayString(e.unref(P)(d.value.setMonth(c.value+1),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{class:"sw-revers",onClick:a[10]||(a[10]=e.withModifiers(r=>{n.value=0,T(p.value,c.value+1)},["prevent"]))},[e.renderSlot(i.$slots,"arrow",{},()=>[a[18]||(a[18]=e.createTextVNode("‹"))])]),e.createElementVNode("button",{class:"sw-revers",onClick:a[11]||(a[11]=e.withModifiers(r=>T(p.value+1,c.value),["prevent"]))},[e.renderSlot(i.$slots,"double-arrow",{},()=>[a[19]||(a[19]=e.createTextVNode("«"))])])])]),n.value===2||n.value===4?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Be,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(r,f)=>e.createElementVNode("button",{key:f,class:"disabled"},e.toDisplayString(e.unref(P)(new Date(1970,1,r+e.unref(y)),"{D}")),1)),64))])),n.value===2?(e.openBlock(),e.createElementBlock("div",Ee,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,(r,f)=>(e.openBlock(),e.createElementBlock("button",{key:f,onClick:e.withModifiers(B=>{n.value=0,T(p.value,f-1)},["prevent"]),class:e.normalizeClass(f===(c.value+1)%12?"active":"")},e.toDisplayString(r),11,$e))),128))])):n.value===4?(e.openBlock(),e.createElementBlock("div",De,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.value,(r,f)=>(e.openBlock(),e.createElementBlock("button",{key:f,onClick:e.withModifiers(B=>{n.value=0,T(r,c.value)},["prevent"]),class:e.normalizeClass(O.value+f-1===p.value?"active":"")},e.toDisplayString(r),11,Me))),128))])):(e.openBlock(),e.createElementBlock("div",Ce,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(r,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:f},[f>=k.value-(7+new Date(p.value,c.value+1,1).getDay()-e.unref(y))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(r.month===E.value&&N(r.year,r.month,r.day)?r.class:"disabled"),onClick:e.withModifiers(()=>{r.month===E.value&&I(r,f)},["prevent"])},e.toDisplayString(r.day),11,Te)):e.createCommentVNode("",!0)],64))),128))]))])):e.createCommentVNode("",!0)]))}}},Symbol.toStringTag,{value:"Module"})),ze=["id"],Ne=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:o}){const t=s,l=e.useModel(s,"modelValue"),n=e.ref(null),d=e.ref(null),u=e.ref({}),p=Math.ceil(Math.random()*1e3),c=e.ref(0),g=e.computed(()=>{let S=["sw-dropdown"];return t.size.length>0&&S.push("sw-"+t.size),t.type.length>0&&S.push("sw-"+t.type),S}),M=new ResizeObserver(S=>{l.value&&c.value++,c.value>99&&(c.value=1)});e.watchEffect(()=>{if(!l.value||!d.value||!n.value)return;c.value<2&&M.observe(d.value);let S=window.pageYOffset||document.documentElement.scrollTop,y=window.pageXOffset||document.documentElement.scrollLeft;document.body.style.position="fixed",document.body.style.top=`-${S}px`,document.body.style.left=`-${y}px`,document.body.style.position="",document.body.style.top="",document.body.style.left="",document.documentElement.scrollTop=S,document.documentElement.scrollLeft=y;const _=n.value.getBoundingClientRect();let O=window.innerWidth,V=window.innerHeight,b=d.value.offsetHeight,C=d.value.offsetWidth,$=_.left+_.width/2+y,D=_.top+_.height/2+S,N=_.height/2+8;const[I,H]=t.placement.split("-",2);switch(I){case"bottom":D=S+V-b-N-8<D?D-N-b:D+N;break;case"top":D=S+b+N+8>D?D+N:D-N-b;break;case"left":$=$-C-_.width/2-8,D=D-b/2;break;case"right":$=$+_.width/2+8,D=D-b/2;break}switch(H){case"left":$=y+O-8>$-_.width/2+C?$-_.width/2:$-C+_.width/2;break;case"right":$=8<$+_.width/2-C?$-C+_.width/2:$-_.width/2;break}$<0&&($=0),D<0&&(D=0),u.value={position:"absolute",top:`${D}px`,left:`${$}px`,maxWidth:t.maxWidth>0?`${t.maxWidth}px`:""}},{flush:"post"});const E=()=>{t.trigger==="click"&&(l.value=!l.value)},m=()=>{t.trigger==="hover"&&(l.value=!l.value)},k=()=>{t.trigger==="context"&&(l.value=!l.value)},h=()=>{l.value&&c.value++,c.value>99&&(c.value=1)};o({handleResize:h});const w=S=>{!S.target.closest(`[id="${p}"]`)&&n.value&&!n.value.contains(S.target)&&(l.value=!1)};return e.onMounted(()=>{window.addEventListener("resize",h),document.documentElement.ontouchstart!==void 0?document.documentElement.addEventListener("touchstart",w):document.documentElement.addEventListener("click",w),window.onscrollend!==void 0?window.addEventListener("scrollend",h):window.addEventListener("scroll",h)}),e.onUnmounted(()=>{M.disconnect(),window.removeEventListener("resize",h),document.documentElement.ontouchstart!==void 0?document.documentElement.removeEventListener("touchstart",w):document.documentElement.removeEventListener("click",w),window.onscrollend!==void 0?window.removeEventListener("scrollend",h):window.removeEventListener("scroll",h)}),(S,y)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(g.value),onClick:y[0]||(y[0]=_=>E()),onMouseover:y[1]||(y[1]=e.withModifiers(_=>m(),["stop"])),onMouseleave:y[2]||(y[2]=e.withModifiers(_=>m(),["stop"])),onContextmenu:y[3]||(y[3]=e.withModifiers(_=>k(),["stop"])),ref_key:"dropdownRef",ref:n},[e.renderSlot(S.$slots,"default"),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[l.value?(e.openBlock(),e.createElementBlock("ul",{key:0,ref_key:"popupRef",ref:d,id:e.unref(p),class:e.normalizeClass(["sw-dropdown-popup",t.class]),style:e.normalizeStyle(u.value),tabindex:"-1"},[e.renderSlot(S.$slots,"dropdown")],14,ze)):e.createCommentVNode("",!0)]))],34))}}},Symbol.toStringTag,{value:"Module"})),xe=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 o=s,t=e.computed(()=>{let l=["sw-dropdown-item"];return o.size.length>0&&l.push("sw-"+o.size),o.type.length>0&&l.push("sw-"+o.type),o.class.length>0&&l.push(o.class),l});return(l,n)=>{const d=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(t.value)},[e.createVNode(d,{"icon-class":s.iconBefore},null,8,["icon-class"]),e.renderSlot(l.$slots,"default")],2)}}}},Symbol.toStringTag,{value:"Module"})),ve=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwFormItem",props:{class:{type:String,default:""},type:{type:String,default:""}},setup(s){const o=s,t=e.computed(()=>{let l=["sw-form-item"];return o.type.length>0&&l.push("sw-"+o.type),o.class.length>0&&l.push(o.class),l});return(l,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value)},[e.renderSlot(l.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),je=["for"],Oe={key:0,title:"Это поле обязательно для заполнения."},Pe=["required","placeholder","type","id","name","size","maxlength","minlength","autofocus","readonly"],Fe=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},maxlength:{type:Number,default:128},minlength:{type:Number,default:1},inputSize:{type:Number,default:60},autofocus:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["suffix","prefix","focusInput"],["update:modelValue"]),setup(s,{emit:o}){var m;const t=e.useModel(s,"modelValue"),l=s,n=e.ref(null),d=o,u=k=>{d("focusInput"),k.target.setSelectionRange(t.value.length,t.value.length),n.value!==null&&(n.value.style.top="-.6em")},p=k=>{var h;((h=t.value)==null?void 0:h.length)===0&&n.value!==null&&n.value.removeAttribute("style")};((m=t.value)==null?void 0:m.length)>0&&n.value!==null&&(n.value.style.top="-.6em");const c=()=>{d("suffix")},g=()=>{d("prefix")},M=e.computed(()=>{let k=["sw-input"];return l.size.length>0&&k.push("sw-"+l.size),l.class.length>0&&k.push(l.class),k});e.watch(t,(k,h)=>{l.type==="phone"&&(t.value=E(k,h))});const E=(k,h)=>{if(/^\+[0-9]\s/.test(h)&&k.length===2||/^\+0\s/.test(k))return"";const w=k;if(typeof w>"u"||w.length===0)return w;const S="+0 (___) ___-__-__";let y=0;const _=S.replace(/\D/g,""),O=w.replace(/\D/g,"");let V=S.replace(/[_\d]/g,C=>y<O.length?O.charAt(y++)||_.charAt(y):C);y=V.indexOf("_"),y!==-1&&(y=y<5?3:y,V=V.slice(0,y));let b=S.slice(0,w.length).replace(/_+/g,C=>`\\d{1,${C.length}}`).replace(/[+()]/g,"\\$&");if(b=new RegExp(`^${b}$`),V=V.replace(/[-—]$|(\) )$/g,""),!b.test(w)||w.length<5)return V};return(k,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(M.value)},[l.before.length>0?(e.openBlock(),e.createBlock(A,{key:0,"icon-class":l.before,onClick:g},null,8,["icon-class"])):e.renderSlot(k.$slots,"prefix",{key:1}),l.label.length>0?(e.openBlock(),e.createElementBlock("label",{key:2,for:l.name,ref_key:"lab",ref:n},[e.createTextVNode(e.toDisplayString(l.label),1),l.required?(e.openBlock(),e.createElementBlock("span",Oe,"*")):e.createCommentVNode("",!0)],8,je)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":h[0]||(h[0]=w=>t.value=w),required:l.required,placeholder:l.required&&l.label.length===0?l.placeholder+"*":l.placeholder,type:l.type,id:l.name,name:l.name,size:l.inputSize,onFocus:u,onBlur:p,maxlength:l.maxlength,minlength:l.minlength,autofocus:l.autofocus,readonly:l.readonly},null,40,Pe),[[e.vModelDynamic,t.value]]),l.after.length>0?(e.openBlock(),e.createBlock(A,{key:3,"icon-class":l.after,onClick:c},null,8,["icon-class"])):e.renderSlot(k.$slots,"suffix",{key:4})],2))}}},Symbol.toStringTag,{value:"Module"})),Le=["open"],Ie={key:0},Ae=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 o=e.useModel(s,"modelValue"),t=s,l=e.ref(null),n=e.useSlots(),d=u=>{l.value&&!l.value.contains(u.target)&&(o.value=!1)};return e.watch(()=>o.value,async u=>{u?(await e.nextTick(),window.addEventListener("click",d,!0)):window.removeEventListener("click",d)}),e.onUnmounted(()=>{window.removeEventListener("click",d)}),(u,p)=>{var g;const c=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("dialog",{open:o.value,class:e.normalizeClass(["sw-message",t.class]),ref_key:"messageRef",ref:l},[t.name.length>0||(g=e.unref(n))!=null&&g.header?(e.openBlock(),e.createElementBlock("header",Ie,[e.renderSlot(u.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createVNode(G,{link:"",type:"primary",onClick:p[0]||(p[0]=M=>o.value=!1)},{default:e.withCtx(()=>[e.createVNode(c,{"icon-class":t.iconAfter},null,8,["icon-class"])]),_:1})])])):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(u.$slots,"footer")])],10,Le)}}}},Symbol.toStringTag,{value:"Module"})),Ye=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:o}){const t=s,l=o,n=()=>{l("header")};return(d,u)=>{const p=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(t.class)},[e.createElementVNode("header",{onClick:n},[e.renderSlot(d.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createVNode(p,{"icon-class":t.iconAfter},null,8,["icon-class"])])]),e.renderSlot(d.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(d.$slots,"footer")])],2)}}}},Symbol.toStringTag,{value:"Module"})),Re={class:"popup"},He={class:"wrapper"},qe={class:"scrollbar"},Ue=["onClick"],We=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 o=e.ref({fullText:""}),t=e.ref(!1),l=e.ref([]),n=e.useModel(s,"modelValue"),d=s;e.watch(n.text,c=>{c.length>3&&(o.value.fullText=c)}),e.watch(o.value.fullText,(c,g)=>{t.value=c.length>3&&c.length>g.length,c.length>3&&u()});const u=()=>{let c="https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address";console.log(o.value.fullText),axios.post(c,{query:o.value.fullText},{headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:"Token "+d.token}}).then(g=>{console.log(g.data.suggestions),l.value=g.data.suggestions,l.value.length===1&&p(l.value[0])}).catch(g=>{console.log(g)})},p=c=>{o.value.fullText=c.value,t.value=!1;const g={};g.text=c.value,g.coords=[Number(c.data.geo_lat),Number(c.data.geo_lon)],g.suggestion=c.data,n.value=g};return(c,g)=>{const M=e.resolveComponent("sw-input");return e.openBlock(),e.createElementBlock("div",Re,[e.createVNode(M,{size:d.size,modelValue:o.value.fullText,"onUpdate:modelValue":g[0]||(g[0]=E=>o.value.fullText=E),placeholder:s.placeholder},null,8,["size","modelValue","placeholder"]),e.withDirectives(e.createElementVNode("div",He,[e.createElementVNode("ul",qe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(E,m)=>(e.openBlock(),e.createElementBlock("li",{tabindex:"1",key:m,onClick:k=>p(E)},e.toDisplayString(E.value),9,Ue))),128))])],512),[[e.vShow,t.value]])])}}}},Symbol.toStringTag,{value:"Module"})),Ge={key:0},X={__name:"SwSkeletonItem",props:{width:{type:String,default:"100"},class:{type:String,default:""},animate:{type:Boolean,default:!1},size:{type:String,default:""}},setup(s){const o=s,t=e.computed(()=>{let n=["sw-skeleton-item"];return o.size.length>0&&n.push("sw-"+o.size),o.animate&&n.push("sw-animate"),o.class.length>0&&n.push(o.class),n}),l=e.computed(()=>({width:o.width+"%"}));return(n,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value),style:e.normalizeStyle(l.value)},[o.animate?(e.openBlock(),e.createElementBlock("div",Ge)):e.createCommentVNode("",!0)],6))}},Xe=Object.freeze(Object.defineProperty({__proto__:null,default:X},Symbol.toStringTag,{value:"Module"})),Je=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSkeleton",props:{class:{type:String,default:""},visual:{type:Boolean,default:!1}},setup(s){const o=s;return(t,l)=>o.visual?e.renderSlot(t.$slots,"default",{key:0}):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["sw-skeleton",o.class])},[e.renderSlot(t.$slots,"skeleton",{},()=>[e.createVNode(X,{animate:"",size:"small"})])],2))}}},Symbol.toStringTag,{value:"Module"})),Qe=["name","id"],Ze=["for","data-onlabel","data-offlabel"],Ke=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 o=e.useModel(s,"modelValue"),t=s,l=e.computed(()=>{let n=["sw-switch"];return t.size.length>0&&n.push("sw-"+t.size),t.checkbox&&n.push("sw-checkbox"),t.class.length>0&&n.push(t.class),n});return(n,d)=>(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":d[0]||(d[0]=u=>o.value=u)},null,8,Qe),[[e.vModelCheckbox,o.value]]),e.createElementVNode("label",{for:t.id,class:"sw-label","data-onlabel":t.on,"data-offlabel":t.off},null,8,Ze),e.renderSlot(n.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),et={key:0},tt=["onClick"],lt=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:o}){e.ref(0);const t=e.ref([]),l=s,n=e.useModel(s,"modelValue"),d=o;function u(c){t.value.push(c)}function p(c){t.value=t.value.filter(g=>g!==c)}return e.provide("registerTab",u),e.provide("unregisterTab",p),e.provide("activeTab",n),e.provide("tabs",t),(c,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("sw-tabs "+l.class)},[t.value.length!==0?(e.openBlock(),e.createElementBlock("header",et,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(M,E)=>(e.openBlock(),e.createElementBlock("span",{key:E,class:e.normalizeClass([{active:n.value===E}]),onClick:m=>{n.value=E,d("tab-click",E)}},e.toDisplayString(M.label||M.title),11,tt))),128))])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),nt={key:0,class:"tab-content"},ot=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPane",props:{title:{type:String,required:!0},label:{type:String,default:""}},setup(s){const o=s,t=e.inject("registerTab"),l=e.inject("unregisterTab");e.onMounted(()=>{t({title:o.title,label:o.label})}),e.onUnmounted(()=>{l({title:o.title,label:o.label})});const n=e.inject("activeTab"),d=e.inject("tabs"),u=e.computed(()=>d.value.findIndex(c=>c.title===o.title)),p=e.computed(()=>n.value===u.value);return(c,g)=>p.value?(e.openBlock(),e.createElementBlock("div",nt,[e.renderSlot(c.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"}));v.Alert=R,v.Library=re,v.components=Y,Object.defineProperty(v,Symbol.toStringTag,{value:"Module"})});
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "vue";
2
- import { A as s, L as t, c as e } from "./index-Dvy6nz3v.js";
2
+ import { A as s, L as t, c as e } from "./index-BEmKjPiz.js";
3
3
  export {
4
4
  s as Alert,
5
5
  t as Library,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studio-west/component-sw",
3
- "version": "0.5.91",
3
+ "version": "0.5.93",
4
4
  "description": "Vue components of Component SW collection.",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -1,300 +0,0 @@
1
- import { ref as D, computed as le, createElementBlock as r, openBlock as v, createElementVNode as i, createCommentVNode as I, withModifiers as g, renderSlot as M, createTextVNode as F, toDisplayString as w, unref as T, Fragment as C, renderList as Y, normalizeClass as B } from "vue";
2
- import { p as j } from "./index-Dvy6nz3v.js";
3
- const ne = { 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 = {
13
- key: 3,
14
- class: "decades"
15
- }, ge = ["onClick"], De = { key: 0 }, fe = { class: "month_year" }, me = { class: "text" }, pe = {
16
- key: 0,
17
- class: "week"
18
- }, we = {
19
- key: 1,
20
- class: "year"
21
- }, he = ["onClick"], ke = {
22
- key: 2,
23
- class: "month"
24
- }, ye = ["onClick"], $e = {
25
- __name: "SwDatePicker",
26
- props: {
27
- data: Object,
28
- limitation: {
29
- type: [Boolean, Array],
30
- default: () => !1
31
- },
32
- range: {
33
- type: String,
34
- default: "solid"
35
- }
36
- },
37
- emits: ["input"],
38
- setup(Z, { emit: _ }) {
39
- var J, Q, U, X;
40
- const s = Z, z = _, c = D(3), y = D(/* @__PURE__ */ new Date()), V = D(/* @__PURE__ */ new Date()), u = D((/* @__PURE__ */ new Date()).getFullYear()), n = D((/* @__PURE__ */ new Date()).getMonth()), W = D((/* @__PURE__ */ new Date()).getFullYear()), q = D((/* @__PURE__ */ new Date()).getMonth()), A = D(new Date(u.value, n.value + 1, 1).getMonth()), o = D([]), N = D(0), f = D(-1), $ = D(-1), x = D(navigator.language || "ru"), S = /en|zh|ja|he/.test(x.value) ? 0 : 1, L = le(() => Array.from({ length: 12 }, (a, e) => {
41
- const t = new Date(2024, e);
42
- return new Intl.DateTimeFormat(x.value, { month: "long" }).format(t);
43
- })), h = (a) => {
44
- let e = a.split(a.match(/\D.*?\D?/));
45
- return e[0].length > 2 ? e.join("-") + "T00:00:01" : e.reverse().join("-") + "T00:00:01";
46
- };
47
- (J = s.data) != null && J.startDate && (y.value = new Date(h(s.data.startDate)), u.value = y.value.getFullYear(), n.value = y.value.getMonth()), (Q = s.data) != null && Q.endDate && s.range === "range" && (V.value = new Date(h(s.data.endDate)), W.value = V.value.getFullYear(), q.value = V.value.getMonth());
48
- const G = () => {
49
- o.value = [], N.value = 0;
50
- const a = new Date(u.value, n.value, 0);
51
- for (let t = a.getDate() - a.getDay() + S; t <= a.getDate(); t++)
52
- a.getDay() !== 6 + S && (o.value.push({ day: t, month: a.getMonth(), year: a.getFullYear(), class: [] }), N.value++);
53
- const e = new Date(u.value, n.value + 1, 0).getDate();
54
- for (let t = 1; t <= e; t++)
55
- o.value.push({ day: t, month: n.value, year: u.value, class: [] }), N.value++;
56
- if (s.range === "range") {
57
- const t = new Date(u.value, n.value + 1, 1), l = new Date(u.value, n.value + 2, 0).getDate();
58
- for (let d = 1; d <= l; d++)
59
- o.value.push({ day: d, month: t.getMonth(), year: t.getFullYear(), class: [] });
60
- }
61
- K();
62
- }, K = () => {
63
- var e;
64
- if (!((e = s.data) != null && e.holiday)) return;
65
- const a = (t, l) => {
66
- t.forEach((d) => {
67
- const [k, p, b] = d.split("-").map(Number), E = o.value.findIndex((R) => R.year === k && R.month + 1 === p && R.day === b);
68
- E !== -1 && (o.value[E].class[0] = l);
69
- });
70
- };
71
- a(s.data.holiday.preholidays, "preholiday"), a(s.data.holiday.holidays, "weekend"), a(s.data.holiday.holiday, "holiday"), a(s.data.holiday.nowork, "nowork");
72
- }, ee = () => {
73
- if (!s.limitation || s.limitation.length < 2) return !1;
74
- const a = [...s.limitation].sort(
75
- (e, t) => new Date(h(e.startDate)).getTime() - new Date(h(t.startDate)).getTime()
76
- );
77
- for (let e = 1; e < a.length; e++) {
78
- const t = new Date(h(a[e - 1].endDate));
79
- if (new Date(h(a[e].startDate)) <= t)
80
- return console.warn("Warning: Диапазоны пересекаются:", a[e - 1], a[e]), !0;
81
- }
82
- return !1;
83
- }, O = (a, e, t) => {
84
- if (!s.limitation || s.limitation.length === 0) return !0;
85
- const l = new Date(a, e, t).getTime();
86
- for (let d of s.limitation) {
87
- const { startDate: k, endDate: p } = d;
88
- if (!k && p) {
89
- const b = new Date(h(p)).getTime();
90
- if (l <= b) return !1;
91
- }
92
- if (k && !p) {
93
- const b = new Date(h(k)).getTime();
94
- if (l >= b) return !1;
95
- }
96
- if (k && p) {
97
- const b = new Date(h(k)).getTime(), E = new Date(h(p)).getTime();
98
- if (b <= E) {
99
- if (l >= b && l <= E) return !1;
100
- } else if (l >= b || l <= E) return !1;
101
- }
102
- }
103
- return !0;
104
- }, P = (a, e) => {
105
- const t = j(new Date(a.year, a.month, a.day), "{dd}.{m}.{Y}");
106
- s.range === "range" ? $.value !== -1 ? (te(), f.value = e, o.value[e].class[1] = "active") : f.value !== -1 ? ($.value = e, ae(f.value, $.value, t)) : (f.value = e, o.value[e].class[1] = "active") : (f.value !== -1 && (o.value[f.value].class[1] = ""), f.value = e, o.value[e].class[1] = "active", z("input", { dateStart: t, count: 1 }));
107
- }, te = () => {
108
- o.value.forEach((a) => a.class[1] = ""), f.value = -1, $.value = -1;
109
- }, ae = (a, e, t) => {
110
- let l = j(new Date(o.value[a].year, o.value[a].month, o.value[a].day), "{dd}.{m}.{Y}");
111
- if (e >= a) {
112
- for (let d = a + 1; d < e; d++)
113
- o.value[d].class[1] = "select";
114
- z("input", { dateStart: l, dateEnd: t, count: H(a, e) });
115
- } else {
116
- for (let d = e + 1; d < a; d++)
117
- o.value[d].class[1] = "select";
118
- z("input", { dateStart: t, dateEnd: l, count: H(e, a) });
119
- }
120
- o.value[e].class[1] = "active";
121
- }, H = (a, e) => {
122
- var k;
123
- let t = Math.abs(a - e) + 1, [l, d] = [Math.min(a, e), Math.max(a, e)];
124
- for (let p = l; p <= d; p++)
125
- ((k = o.value[p]) == null ? void 0 : k.class[0]) === "holiday" && t--;
126
- return t;
127
- }, m = (a, e) => {
128
- O(a, e) && (y.value = new Date(a, e, 1), u.value = y.value.getFullYear(), n.value = y.value.getMonth(), A.value = new Date(a, e + 1, 1).getMonth(), s.range === "year" && c.value === 0 ? P({ year: a, month: e, day: 1 }, 8) : G());
129
- };
130
- if (G(), ee(), (U = s.data) != null && U.startDate && (f.value = o.value.findIndex((a) => a.day === y.value.getDate() && a.month === n.value && a.year === u.value), f.value !== -1 && (o.value[f.value].class[1] = "active")), (X = s.data) != null && X.endDate && s.range === "range" && ($.value = o.value.findIndex((a) => a.day === V.value.getDate() && a.month === q.value && a.year === W.value), $.value !== -1)) {
131
- o.value[$.value].class[1] = "active";
132
- for (let a = f.value + 1; a < $.value; a++)
133
- o.value[a].class[1] = "select";
134
- }
135
- return (a, e) => (v(), r("div", ne, [
136
- i("div", null, [
137
- i("p", se, [
138
- i("span", null, [
139
- i("button", {
140
- onClick: e[0] || (e[0] = g((t) => m(u.value - 1, n.value), ["prevent"]))
141
- }, [
142
- M(a.$slots, "double-arrow", {}, () => [
143
- e[12] || (e[12] = F("«"))
144
- ])
145
- ]),
146
- i("button", {
147
- onClick: e[1] || (e[1] = g((t) => {
148
- c.value = 0, m(u.value, n.value - 1);
149
- }, ["prevent"]))
150
- }, [
151
- M(a.$slots, "arrow", {}, () => [
152
- e[13] || (e[13] = F("‹"))
153
- ])
154
- ])
155
- ]),
156
- i("span", oe, [
157
- i("button", {
158
- onClick: e[2] || (e[2] = g((t) => c.value = 1, ["prevent"]))
159
- }, w(u.value), 1),
160
- i("button", {
161
- onClick: e[3] || (e[3] = g((t) => c.value = 1, ["prevent"]))
162
- }, w(T(j)(y.value.setMonth(n.value), "{F}")), 1)
163
- ]),
164
- i("span", null, [
165
- i("button", {
166
- class: "sw-revers",
167
- onClick: e[4] || (e[4] = g((t) => {
168
- c.value = 0, m(u.value, n.value + 1);
169
- }, ["prevent"]))
170
- }, [
171
- M(a.$slots, "arrow", {}, () => [
172
- e[14] || (e[14] = F("‹"))
173
- ])
174
- ]),
175
- i("button", {
176
- class: "sw-revers",
177
- onClick: e[5] || (e[5] = g((t) => m(u.value + 1, n.value), ["prevent"]))
178
- }, [
179
- M(a.$slots, "double-arrow", {}, () => [
180
- e[15] || (e[15] = F("«"))
181
- ])
182
- ])
183
- ])
184
- ]),
185
- s.range === "year" || c.value === 1 ? I("", !0) : (v(), r("div", ue, [
186
- (v(), r(C, null, Y(7, (t, l) => i("button", {
187
- key: l,
188
- class: "disabled"
189
- }, w(T(j)(new Date(1970, 1, t + T(S)), "{D}")), 1)), 64))
190
- ])),
191
- s.range === "year" || c.value === 1 ? (v(), r("div", re, [
192
- (v(!0), r(C, null, Y(L.value, (t, l) => (v(), r("button", {
193
- key: l,
194
- onClick: g((d) => {
195
- c.value = 0, m(u.value, l);
196
- }, ["prevent"]),
197
- class: B(l === n.value ? "active" : "")
198
- }, w(t), 11, ve))), 128))
199
- ])) : (v(), r("div", ie, [
200
- (v(!0), r(C, null, Y(o.value, (t, l) => (v(), r(C, { key: l }, [
201
- l < N.value + (7 - new Date(u.value, n.value + 1, 1).getDay() + T(S)) % 7 ? (v(), r("button", {
202
- key: 0,
203
- class: B(t.month === n.value && O(t.year, t.month, t.day) ? t.class : "disabled"),
204
- onClick: g(() => {
205
- t.month === n.value && P(t, l);
206
- }, ["prevent"])
207
- }, w(t.day), 11, de)) : I("", !0)
208
- ], 64))), 128))
209
- ])),
210
- s.range === "year" || c.value === 1 ? (v(), r("div", ce, [
211
- (v(!0), r(C, null, Y(L.value, (t, l) => (v(), r("button", {
212
- key: l,
213
- onClick: g((d) => {
214
- c.value = 0, m(u.value, l);
215
- }, ["prevent"]),
216
- class: B(l === n.value ? "active" : "")
217
- }, w(t), 11, ge))), 128))
218
- ])) : I("", !0)
219
- ]),
220
- s.range === "range" ? (v(), r("div", De, [
221
- i("p", fe, [
222
- i("span", null, [
223
- i("button", {
224
- onClick: e[6] || (e[6] = g((t) => m(u.value - 1, n.value), ["prevent"]))
225
- }, [
226
- M(a.$slots, "double-arrow", {}, () => [
227
- e[16] || (e[16] = F("«"))
228
- ])
229
- ]),
230
- i("button", {
231
- onClick: e[7] || (e[7] = g((t) => {
232
- c.value = 0, m(u.value, n.value - 1);
233
- }, ["prevent"]))
234
- }, [
235
- M(a.$slots, "arrow", {}, () => [
236
- e[17] || (e[17] = F("‹"))
237
- ])
238
- ])
239
- ]),
240
- i("span", me, [
241
- i("button", {
242
- onClick: e[8] || (e[8] = g((t) => c.value = 2, ["prevent"]))
243
- }, w(new Date(u.value, n.value + 1).getFullYear()), 1),
244
- i("button", {
245
- onClick: e[9] || (e[9] = g((t) => c.value = 2, ["prevent"]))
246
- }, w(T(j)(y.value.setMonth(n.value + 1), "{F}")), 1)
247
- ]),
248
- i("span", null, [
249
- i("button", {
250
- class: "sw-revers",
251
- onClick: e[10] || (e[10] = g((t) => {
252
- c.value = 0, m(u.value, n.value + 1);
253
- }, ["prevent"]))
254
- }, [
255
- M(a.$slots, "arrow", {}, () => [
256
- e[18] || (e[18] = F("‹"))
257
- ])
258
- ]),
259
- i("button", {
260
- class: "sw-revers",
261
- onClick: e[11] || (e[11] = g((t) => m(u.value + 1, n.value), ["prevent"]))
262
- }, [
263
- M(a.$slots, "double-arrow", {}, () => [
264
- e[19] || (e[19] = F("«"))
265
- ])
266
- ])
267
- ])
268
- ]),
269
- c.value !== 2 ? (v(), r("div", pe, [
270
- (v(), r(C, null, Y(7, (t, l) => i("button", {
271
- key: l,
272
- class: "disabled"
273
- }, w(T(j)(new Date(1970, 1, t + T(S)), "{D}")), 1)), 64))
274
- ])) : I("", !0),
275
- c.value === 2 ? (v(), r("div", we, [
276
- (v(!0), r(C, null, Y(L.value, (t, l) => (v(), r("button", {
277
- key: l,
278
- onClick: g((d) => {
279
- c.value = 0, m(u.value, l - 1);
280
- }, ["prevent"]),
281
- class: B(l === (n.value + 1) % 12 ? "active" : "")
282
- }, w(t), 11, he))), 128))
283
- ])) : (v(), r("div", ke, [
284
- (v(!0), r(C, null, Y(o.value, (t, l) => (v(), r(C, { key: l }, [
285
- l >= N.value - (7 + new Date(u.value, n.value + 1, 1).getDay() - T(S)) % 7 ? (v(), r("button", {
286
- key: 0,
287
- class: B(t.month === A.value && O(t.year, t.month, t.day) ? t.class : "disabled"),
288
- onClick: g(() => {
289
- t.month === A.value && P(t, l);
290
- }, ["prevent"])
291
- }, w(t.day), 11, ye)) : I("", !0)
292
- ], 64))), 128))
293
- ]))
294
- ])) : I("", !0)
295
- ]));
296
- }
297
- };
298
- export {
299
- $e as default
300
- };