@studio-west/component-sw 0.3.4 → 0.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -44,7 +44,6 @@ The `Component SW` library provides a set of ready-to-use UI components on Vue 3
44
44
  - [SwTabs](#swtabs)
45
45
 
46
46
  - [SwTabsPane](#swtabspane)
47
-
48
47
  ---
49
48
 
50
49
  ### Установка / Install
@@ -97,13 +96,12 @@ const darkMode = () => {
97
96
 
98
97
  ```js
99
98
  // в main:
100
- import { swAlert } from "@studio-west/component-sw/swAlert.js";
99
+ import {Alert} from "@studio-west/component-sw/Alert.js";
101
100
 
102
- swAlert({ message: 'Предупреждение!', type: 'warning' });
101
+ alert({message: 'Предупреждение!', type: 'warning'});
103
102
  // --
104
- app.provide('swAlert', swAlert) // 💡 Пробросили через provide
103
+ app.provide('swAlert', alert) // 💡 Пробросили через provide
105
104
  ```
106
-
107
105
  ---
108
106
 
109
107
  ## SwButton
@@ -146,11 +144,11 @@ app.provide('swAlert', swAlert) // 💡 Пробросили через provide
146
144
 
147
145
  ### Свойства / Properties
148
146
 
149
- | Имя | Тип | Значения/Описание |
150
- |--------------|------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
151
- | `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х месяцев. |
152
- | `limitation` | `Boolean, Array` | Ограничение дат: `'large'`, `'small'`. |
153
- | `range` | `String` | Тип календаря: `'range'`, `'solid'` - по умолчанию. |
147
+ | Имя | Тип | Значения/Описание |
148
+ |--------------|------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
149
+ | `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х месяцев. |
150
+ | `limitation` | `Boolean, Array` | Ограничение дат: [{endDate: '14-04-2025', startDate:'30-03-2025'}], false - по умолчанию, реализовано пока только [0]. |
151
+ | `range` | `String` | Тип календаря: `'range'`, `'solid'` - по умолчанию. |
154
152
 
155
153
  ### События / Events
156
154
 
@@ -163,12 +161,45 @@ input - событие выбора с данными {dateStart: "11.11.2011",
163
161
  :data="{startDate: '11.11.2011' endDate: '14-12-2011'}"
164
162
  limitation="large"
165
163
  range="range"
166
- @input.prevent="processing"
164
+ @input.stop="processing"
167
165
  />
168
166
  ```
169
167
 
170
168
  ---
171
169
 
170
+ ## SwDropdown
171
+
172
+ Компонент SwDropdown это всплывающее меню с возможностью настройки места относительного всплытия и типа Тригера.
173
+
174
+ ### Свойства / Properties
175
+
176
+
177
+ | Имя | Тип | Значения/Описание |
178
+ |-------------|-----------|-------------------------------------------------------------------------------------------------------------------------------------------------------|
179
+ | `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
180
+ | `size` | `String` | Размер поля: `'large'`, `'small'`. |
181
+ | `type` | `String` | `'primary'`, `'success'`, `'info'`, `'warning'`, `'danger'`. |
182
+ | `trigger` | `String` | `'click'` - по умолчанию, `'hover'`, `'context'`,`'none'`. |
183
+ | `placement` | `String` | Относительное место всплытия `'bottom-left'` - по умолчанию, `'bottom'`, `'bottom-right'`, `'top-left'`, `'top'`, `'top-right'`, `'left'`, `'right'`. |
184
+ | `manual` | `Boolean` | Ручное управление показом по умолчанию `false`. |
185
+ | `maxWidth` | `Number` | Максимальная ширина меню в пикселях. |
186
+
187
+
188
+ ### Пример использования / Example Usage
189
+
190
+ ```html
191
+ <script>let visual = false </script>
192
+ <sw-dropdown
193
+ class="custom-class"
194
+ trigger="none"
195
+ :manual="visual"
196
+ maxWidth="o250"
197
+ >
198
+ <button @cick="visual = true">Описание</button>
199
+ </sw-dropdown>
200
+ ```
201
+ ---
202
+
172
203
  ## SwInput
173
204
 
174
205
  Компонент SwInput представляет собой поле ввода с возможностью настройки внешнего вида и поведения.
@@ -200,7 +231,7 @@ prefix - клик иконке before
200
231
 
201
232
  suffix - клик иконке after
202
233
 
203
- ### Пример использования
234
+ ### Пример использования / Example Usage
204
235
 
205
236
  ```html
206
237
  <sw-input
@@ -236,7 +267,7 @@ suffix - клик иконке after
236
267
  | `off` | `String` | Текст при false. |
237
268
  | `checkbox` | `Boolean` | Визуализирует как обычный чекбокс. |
238
269
 
239
- ### Пример использования
270
+ ### Пример использования / Example Usage
240
271
 
241
272
  ```html
242
273
  <sw-switch
@@ -1,6 +1,6 @@
1
- import { ref as f, createElementBlock as g, openBlock as h, createElementVNode as o, createCommentVNode as k, withModifiers as p, toDisplayString as b, unref as M, Fragment as C, renderList as F, normalizeClass as G } from "vue";
1
+ import { ref as f, createElementBlock as g, openBlock as h, createElementVNode as u, createCommentVNode as k, withModifiers as p, toDisplayString as b, unref as M, Fragment as C, renderList as F, normalizeClass as G } from "vue";
2
2
  import { p as E } from "./index-gmNtBsqX.js";
3
- const R = { class: "sw-data-picker" }, U = { class: "month_year" }, W = { class: "text" }, X = { class: "week" }, Z = { class: "month" }, ee = ["onClick"], te = { key: 0 }, ae = { class: "month_year" }, le = { class: "text" }, ne = { class: "week" }, ue = { class: "month" }, oe = ["onClick"], ve = {
3
+ const R = { class: "sw-data-picker" }, U = { class: "month_year" }, W = { class: "text" }, X = { class: "week" }, Z = { class: "month" }, ee = ["onClick"], te = { key: 0 }, ae = { class: "month_year" }, le = { class: "text" }, ne = { class: "week" }, oe = { class: "month" }, ue = ["onClick"], ve = {
4
4
  __name: "SwDatePicker",
5
5
  props: {
6
6
  data: Object,
@@ -12,48 +12,48 @@ const R = { class: "sw-data-picker" }, U = { class: "month_year" }, W = { class:
12
12
  emits: ["input"],
13
13
  setup(H, { emit: J }) {
14
14
  var V, A, L, O, P, q;
15
- const D = f(/* @__PURE__ */ new Date()), Y = f(/* @__PURE__ */ new Date()), l = H, S = J, r = f((/* @__PURE__ */ new Date()).getFullYear()), T = f((/* @__PURE__ */ new Date()).getMonth()), $ = f((/* @__PURE__ */ new Date()).getFullYear()), s = f((/* @__PURE__ */ new Date()).getMonth()), u = f([]), I = f(0), _ = f(0), v = f(-1), m = f(-1), K = f(navigator.languages || "ru"), w = /en|zh|ja|he/.test(K.value) ? 0 : 1, j = l.range === "range" ? 2 : 1, x = (n) => {
15
+ const D = f(/* @__PURE__ */ new Date()), Y = f(/* @__PURE__ */ new Date()), l = H, S = J, r = f((/* @__PURE__ */ new Date()).getFullYear()), T = f((/* @__PURE__ */ new Date()).getMonth()), $ = f((/* @__PURE__ */ new Date()).getFullYear()), i = f((/* @__PURE__ */ new Date()).getMonth()), o = f([]), I = f(0), _ = f(0), v = f(-1), m = f(-1), K = f(navigator.languages || "ru"), w = /en|zh|ja|he/.test(K.value) ? 0 : 1, j = l.range === "range" ? 2 : 1, x = (n) => {
16
16
  const t = n.split(n.match(/\D.*?\D?/));
17
17
  return t[0].length > 2 ? t.join("-") + "T00:00:01" : t.reverse().join("-") + "T00:00:01";
18
18
  };
19
- typeof ((V = l.data) == null ? void 0 : V.startDate) < "u" && ((A = l.data) == null ? void 0 : A.startDate) !== null && (D.value = new Date(x(l.data.startDate)), r.value = D.value.getFullYear(), s.value = D.value.getMonth()), typeof ((L = l.data) == null ? void 0 : L.endDate) < "u" && ((O = l.data) == null ? void 0 : O.endDate) !== null && (Y.value = new Date(x(l.data.endDate)), $.value = Y.value.getFullYear(), T.value = Y.value.getMonth());
19
+ typeof ((V = l.data) == null ? void 0 : V.startDate) < "u" && ((A = l.data) == null ? void 0 : A.startDate) !== null && (D.value = new Date(x(l.data.startDate)), r.value = D.value.getFullYear(), i.value = D.value.getMonth()), typeof ((L = l.data) == null ? void 0 : L.endDate) < "u" && ((O = l.data) == null ? void 0 : O.endDate) !== null && (Y.value = new Date(x(l.data.endDate)), $.value = Y.value.getFullYear(), T.value = Y.value.getMonth());
20
20
  const B = () => {
21
21
  var e;
22
- let n = new Date(r.value, s.value, 0);
22
+ let n = new Date(r.value, i.value, 0);
23
23
  for (let a = n.getDate() - n.getDay() + w; a <= n.getDate() && n.getDay() !== 6 + w; a++)
24
- I.value++, u.value.push({ day: a, month: n.getMonth(), year: n.getFullYear(), class: [] });
25
- for (let a = 1; a <= new Date(r.value, s.value + 1, 0).getDate(); a++)
26
- I.value++, u.value.push({ day: a, month: s.value, year: r.value, class: [] });
24
+ I.value++, o.value.push({ day: a, month: n.getMonth(), year: n.getFullYear(), class: [] });
25
+ for (let a = 1; a <= new Date(r.value, i.value + 1, 0).getDate(); a++)
26
+ I.value++, o.value.push({ day: a, month: i.value, year: r.value, class: [] });
27
27
  if (l.range === "range") {
28
- _.value = new Date(r.value, s.value + 2, 0);
28
+ _.value = new Date(r.value, i.value + 2, 0);
29
29
  for (let a = 1; a <= _.value.getDate(); a++)
30
- u.value.push({ day: a, month: _.value.getMonth(), year: _.value.getFullYear(), class: [] });
30
+ o.value.push({ day: a, month: _.value.getMonth(), year: _.value.getFullYear(), class: [] });
31
31
  }
32
- let t = new Date(r.value, s.value + j, 1);
32
+ let t = new Date(r.value, i.value + j, 1);
33
33
  console.log(t.getDay());
34
34
  for (let a = 1; a <= (7 - t.getDay() + w) % 7 && t.getDay() !== w; a++)
35
- u.value.push({ day: a, month: t.getMonth(), year: t.getFullYear(), class: [] });
35
+ o.value.push({ day: a, month: t.getMonth(), year: t.getFullYear(), class: [] });
36
36
  typeof ((e = l.data) == null ? void 0 : e.holiday) < "u" && l.data.holiday.length !== 0 && (l.data.holiday.preholidays.forEach((a) => {
37
- let i = a.split("-");
38
- const c = u.value.findIndex((d) => d.year == i[0] && d.month + 1 == i[1] && d.day == i[2]);
39
- c !== -1 && (u.value[c].class[0] = "preholiday");
37
+ let s = a.split("-");
38
+ const c = o.value.findIndex((d) => d.year == s[0] && d.month + 1 == s[1] && d.day == s[2]);
39
+ c !== -1 && (o.value[c].class[0] = "preholiday");
40
40
  }), l.data.holiday.holidays.forEach((a) => {
41
- let i = a.split("-");
42
- const c = u.value.findIndex((d) => d.year == i[0] && d.month + 1 == i[1] && d.day == i[2]);
43
- c !== -1 && (u.value[c].class[0] = "weekend");
41
+ let s = a.split("-");
42
+ const c = o.value.findIndex((d) => d.year == s[0] && d.month + 1 == s[1] && d.day == s[2]);
43
+ c !== -1 && (o.value[c].class[0] = "weekend");
44
44
  }), l.data.holiday.holiday.forEach((a) => {
45
- let i = a.split("-");
46
- const c = u.value.findIndex((d) => d.year == i[0] && d.month + 1 == i[1] && d.day == i[2]);
47
- c !== -1 && (u.value[c].class[0] = "holiday");
45
+ let s = a.split("-");
46
+ const c = o.value.findIndex((d) => d.year == s[0] && d.month + 1 == s[1] && d.day == s[2]);
47
+ c !== -1 && (o.value[c].class[0] = "holiday");
48
48
  }), l.data.holiday.nowork.forEach((a) => {
49
- let i = a.split("-");
50
- const c = u.value.findIndex((d) => d.year == i[0] && d.month + 1 == i[1] && d.day == i[2]);
51
- c !== -1 && (u.value[c].class[0] = "nowork");
49
+ let s = a.split("-");
50
+ const c = o.value.findIndex((d) => d.year == s[0] && d.month + 1 == s[1] && d.day == s[2]);
51
+ c !== -1 && (o.value[c].class[0] = "nowork");
52
52
  }));
53
53
  }, z = (n, t) => {
54
54
  let e = n - t + 1;
55
55
  for (let a = 0; a <= n - t; a++)
56
- u.value[a + t].class[0] === "holiday" && e--;
56
+ o.value[a + t].class[0] === "holiday" && e--;
57
57
  return e;
58
58
  }, N = (n, t) => {
59
59
  console.log(t);
@@ -61,27 +61,27 @@ const R = { class: "sw-data-picker" }, U = { class: "month_year" }, W = { class:
61
61
  if (l.range === "range")
62
62
  if (console.log(v.value), m.value !== -1) {
63
63
  if (m.value <= v.value)
64
- for (let a = m.value; a <= v.value; a++) u.value[a].class[1] = "";
65
- else for (let a = v.value; a <= m.value; a++) u.value[a].class[1] = "";
66
- v.value = t, m.value = -1, u.value[t].class[1] = "active";
64
+ for (let a = m.value; a <= v.value; a++) o.value[a].class[1] = "";
65
+ else for (let a = v.value; a <= m.value; a++) o.value[a].class[1] = "";
66
+ v.value = t, m.value = -1, o.value[t].class[1] = "active";
67
67
  } else if (v.value !== -1) {
68
68
  if (m.value = t, m.value >= v.value)
69
- for (let i = v.value + 1; i < t; i++) u.value[i].class[1] = "select";
70
- else for (let i = t + 1; i < v.value; i++) u.value[i].class[1] = "select";
71
- u.value[t].class[1] = "active";
72
- let a = E(new Date(u.value[v.value].year, u.value[v.value].month, u.value[v.value].day), "{dd}.{m}.{Y}");
69
+ for (let s = v.value + 1; s < t; s++) o.value[s].class[1] = "select";
70
+ else for (let s = t + 1; s < v.value; s++) o.value[s].class[1] = "select";
71
+ o.value[t].class[1] = "active";
72
+ let a = E(new Date(o.value[v.value].year, o.value[v.value].month, o.value[v.value].day), "{dd}.{m}.{Y}");
73
73
  v.value > t ? S("input", { dateStart: e, dateEnd: a, count: z(v.value, t) }) : S("input", { dateStart: a, dateEnd: e, count: z(t, v.value) });
74
74
  } else
75
- v.value = t, u.value[t].class[1] = "active";
75
+ v.value = t, o.value[t].class[1] = "active";
76
76
  else
77
- v.value !== -1 && (u.value[v.value].class[1] = ""), v.value = t, u.value[t].class[1] = "active", S("input", { dateStart: e, count: 1 });
77
+ v.value !== -1 && (o.value[v.value].class[1] = ""), v.value = t, o.value[t].class[1] = "active", S("input", { dateStart: e, count: 1 });
78
78
  };
79
- if (B(), typeof ((P = l.data) == null ? void 0 : P.startDate) < "u" && (v.value = u.value.findIndex((n) => n.day === D.value.getDate() && n.month === s.value && n.year === r.value), u.value[v.value].class[1] = "active"), typeof ((q = l.data) == null ? void 0 : q.endDate) < "u" && l.range === "range") {
80
- m.value = u.value.findIndex((n) => n.day === Y.value.getDate() && n.month === T.value && n.year === $.value), u.value[m.value].class[1] = "active";
81
- for (let n = v.value + 1; n < m.value; n++) u.value[n].class[1] = "select";
79
+ if (B(), typeof ((P = l.data) == null ? void 0 : P.startDate) < "u" && (v.value = o.value.findIndex((n) => n.day === D.value.getDate() && n.month === i.value && n.year === r.value), o.value[v.value].class[1] = "active"), typeof ((q = l.data) == null ? void 0 : q.endDate) < "u" && l.range === "range") {
80
+ m.value = o.value.findIndex((n) => n.day === Y.value.getDate() && n.month === T.value && n.year === $.value), o.value[m.value].class[1] = "active";
81
+ for (let n = v.value + 1; n < m.value; n++) o.value[n].class[1] = "select";
82
82
  }
83
83
  const y = (n, t) => {
84
- Q(n, t) && (u.value = [], I.value = 0, D.value = new Date(n, t, 1), r.value = D.value.getFullYear(), s.value = D.value.getMonth(), B());
84
+ Q(n, t) && (o.value = [], I.value = 0, D.value = new Date(n, t, 1), r.value = D.value.getFullYear(), i.value = D.value.getMonth(), B());
85
85
  }, Q = (n, t) => {
86
86
  if (!l.limitation) return !0;
87
87
  if (l.limitation[0].dateStart) {
@@ -97,88 +97,88 @@ const R = { class: "sw-data-picker" }, U = { class: "month_year" }, W = { class:
97
97
  return !0;
98
98
  };
99
99
  return (n, t) => (h(), g("div", R, [
100
- o("div", null, [
101
- o("p", U, [
102
- o("span", null, [
103
- o("button", {
104
- onClick: t[0] || (t[0] = p((e) => y(r.value - 1, s.value), ["prevent"]))
100
+ u("div", null, [
101
+ u("p", U, [
102
+ u("span", null, [
103
+ u("button", {
104
+ onClick: t[0] || (t[0] = p((e) => y(r.value - 1, i.value), ["stop"]))
105
105
  }, "«"),
106
- o("button", {
107
- onClick: t[1] || (t[1] = p((e) => y(r.value, s.value - 1), ["prevent"]))
106
+ u("button", {
107
+ onClick: t[1] || (t[1] = p((e) => y(r.value, i.value - 1), ["stop"]))
108
108
  }, "‹")
109
109
  ]),
110
- o("span", W, [
111
- o("button", null, b(r.value), 1),
112
- o("button", null, b(M(E)(D.value.setMonth(s.value), "{F}")), 1)
110
+ u("span", W, [
111
+ u("button", null, b(r.value), 1),
112
+ u("button", null, b(M(E)(D.value.setMonth(i.value), "{F}")), 1)
113
113
  ]),
114
- o("span", null, [
115
- o("button", {
116
- onClick: t[2] || (t[2] = p((e) => y(r.value, s.value + 1), ["prevent"]))
114
+ u("span", null, [
115
+ u("button", {
116
+ onClick: t[2] || (t[2] = p((e) => y(r.value, i.value + 1), ["stop"]))
117
117
  }, "›"),
118
- o("button", {
119
- onClick: t[3] || (t[3] = p((e) => y(r.value + 1, s.value), ["prevent"]))
118
+ u("button", {
119
+ onClick: t[3] || (t[3] = p((e) => y(r.value + 1, i.value), ["stop"]))
120
120
  }, "»")
121
121
  ])
122
122
  ]),
123
- o("div", X, [
124
- (h(), g(C, null, F(7, (e, a) => o("button", {
123
+ u("div", X, [
124
+ (h(), g(C, null, F(7, (e, a) => u("button", {
125
125
  key: a,
126
126
  class: "disabled"
127
127
  }, b(M(E)(new Date(1970, 1, e + M(w)), "{D}")), 1)), 64))
128
128
  ]),
129
- o("div", Z, [
130
- (h(!0), g(C, null, F(u.value, (e, a) => {
131
- var i, c;
129
+ u("div", Z, [
130
+ (h(!0), g(C, null, F(o.value, (e, a) => {
131
+ var s, c;
132
132
  return h(), g(C, { key: a }, [
133
- a < I.value + (7 - new Date(r.value, s.value + 1, 1).getDay() + M(w)) % 7 ? (h(), g("button", {
133
+ a < I.value + (7 - new Date(r.value, i.value + 1, 1).getDay() + M(w)) % 7 ? (h(), g("button", {
134
134
  key: 0,
135
- class: G(e.month === s.value && (!l.limitation || new Date(e.year, e.month, e.day + 1).getTime() > new Date(x((i = l.limitation[0]) == null ? void 0 : i.dateStart)).getTime() && new Date(e.year, e.month, e.day).getTime() < new Date(x((c = l.limitation[0]) == null ? void 0 : c.dateEnd)).getTime()) ? e.class : "disabled"),
135
+ class: G(e.month === i.value && (!l.limitation || new Date(e.year, e.month, e.day + 1).getTime() > new Date(x((s = l.limitation[0]) == null ? void 0 : s.dateStart)).getTime() && new Date(e.year, e.month, e.day).getTime() < new Date(x((c = l.limitation[0]) == null ? void 0 : c.dateEnd)).getTime()) ? e.class : "disabled"),
136
136
  onClick: p(() => {
137
- e.month === s.value && N(e, a);
138
- }, ["prevent"])
137
+ e.month === i.value && N(e, a);
138
+ }, ["stop"])
139
139
  }, b(e.day), 11, ee)) : k("", !0)
140
140
  ], 64);
141
141
  }), 128))
142
142
  ])
143
143
  ]),
144
144
  l.range === "range" ? (h(), g("div", te, [
145
- o("p", ae, [
146
- o("span", null, [
147
- o("button", {
148
- onClick: t[4] || (t[4] = p((e) => y(r.value - 1, s.value), ["prevent"]))
145
+ u("p", ae, [
146
+ u("span", null, [
147
+ u("button", {
148
+ onClick: t[4] || (t[4] = p((e) => y(r.value - 1, i.value), ["stop"]))
149
149
  }, "«"),
150
- o("button", {
151
- onClick: t[5] || (t[5] = p((e) => y(r.value, s.value - 1), ["prevent"]))
150
+ u("button", {
151
+ onClick: t[5] || (t[5] = p((e) => y(r.value, i.value - 1), ["stop"]))
152
152
  }, "‹")
153
153
  ]),
154
- o("span", le, [
155
- o("button", null, b(new Date(r.value, s.value + 1).getFullYear()), 1),
156
- o("button", null, b(M(E)(D.value.setMonth(s.value + 1), "{F}")), 1)
154
+ u("span", le, [
155
+ u("button", null, b(new Date(r.value, i.value + 1).getFullYear()), 1),
156
+ u("button", null, b(M(E)(D.value.setMonth(i.value + 1), "{F}")), 1)
157
157
  ]),
158
- o("span", null, [
159
- o("button", {
160
- onClick: t[6] || (t[6] = p((e) => y(r.value, s.value + 1), ["prevent"]))
158
+ u("span", null, [
159
+ u("button", {
160
+ onClick: t[6] || (t[6] = p((e) => y(r.value, i.value + 1), ["stop"]))
161
161
  }, "›"),
162
- o("button", {
163
- onClick: t[7] || (t[7] = p((e) => y(r.value + 1, s.value), ["prevent"]))
162
+ u("button", {
163
+ onClick: t[7] || (t[7] = p((e) => y(r.value + 1, i.value), ["stop"]))
164
164
  }, "»")
165
165
  ])
166
166
  ]),
167
- o("div", ne, [
168
- (h(), g(C, null, F(7, (e, a) => o("button", {
167
+ u("div", ne, [
168
+ (h(), g(C, null, F(7, (e, a) => u("button", {
169
169
  key: a,
170
170
  class: "disabled"
171
171
  }, b(M(E)(new Date(1970, 1, e + M(w)), "{D}")), 1)), 64))
172
172
  ]),
173
- o("div", ue, [
174
- (h(!0), g(C, null, F(u.value, (e, a) => (h(), g(C, { key: a }, [
175
- a >= I.value - (7 + new Date(r.value, s.value + 1, 1).getDay() - M(w)) % 7 ? (h(), g("button", {
173
+ u("div", oe, [
174
+ (h(!0), g(C, null, F(o.value, (e, a) => (h(), g(C, { key: a }, [
175
+ a >= I.value - (7 + new Date(r.value, i.value + 1, 1).getDay() - M(w)) % 7 ? (h(), g("button", {
176
176
  key: 0,
177
177
  class: G(e.month === _.value.getMonth() && (!l.limitation || new Date(e.year, e.month, e.day + 1).getTime() > new Date(x(l.limitation[0].dateStart)).getTime() && new Date(e.year, e.month, e.day).getTime() < new Date(x(l.limitation[0].dateEnd)).getTime()) ? e.class : "disabled"),
178
178
  onClick: p(() => {
179
179
  e.month === _.value.getMonth() && N(e, a);
180
- }, ["prevent"])
181
- }, b(e.day), 11, oe)) : k("", !0)
180
+ }, ["stop"])
181
+ }, b(e.day), 11, ue)) : k("", !0)
182
182
  ], 64))), 128))
183
183
  ])
184
184
  ])) : k("", !0)
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- (function(e,V){typeof exports=="object"&&typeof module<"u"?module.exports=V(require("vue")):typeof define=="function"&&define.amd?define(["vue"],V):(e=typeof globalThis<"u"?globalThis:e||self,e["component-sw"]=V(e.vue))})(this,function(e){"use strict";const V={__name:"SwAlert",props:{message:{type:String,default:"Default message"},before:{type:String,default:""},class:{type:String,default:""},after:{type:String,default:""},size:{type:String,default:""},duration:{type:Number,default:6e3},type:{type:String,default:"info",validator:a=>["success","warning","error","info"].includes(a)}},emits:["closed"],setup(a,{emit:n}){const l=a,o=n,t=e.ref(!1);let p=null;const m=()=>{t.value=!0,f()},w=()=>{t.value=!1,o("closed")},y=()=>{p&&(clearTimeout(p),p=null)},r=()=>{f()},f=()=>{p=setTimeout(w,l.duration)};e.onMounted(()=>{m()}),e.onUnmounted(()=>{p&&clearTimeout(p)});const k=e.computed(()=>{const h=["sw-alert"];return l.size.length>0&&h.push(`sw-${l.size}`),l.type.length>0&&h.push(`sw-${l.type}`),l.class.length>0&&h.push(l.class),h});return(h,i)=>{const u=e.resolveComponent("svg-icon");return e.openBlock(),e.createBlock(e.Transition,{name:"fade"},{default:e.withCtx(()=>[t.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(k.value),onMouseenter:y,onMouseleave:r},[l.before.length>0?(e.openBlock(),e.createBlock(u,{key:0,"icon-class":l.before},null,8,["icon-class"])):e.renderSlot(h.$slots,"prefix",{key:1}),e.renderSlot(h.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(l.message),1)]),l.after.length>0?(e.openBlock(),e.createBlock(u,{key:2,"icon-class":l.after,onClick:w},null,8,["icon-class"])):e.renderSlot(h.$slots,"suffix",{key:3})],34)):e.createCommentVNode("",!0)]),_:3})}}},H=Object.freeze(Object.defineProperty({__proto__:null,default:V},Symbol.toStringTag,{value:"Module"}));let z=null;function U(a={}){z||(z=document.createElement("div"),document.body.appendChild(z));const{message:n,type:l="info",duration:o=3e3}=a,t=e.createApp({setup(){return()=>e.h(V,{...a,onClose:()=>{z.removeChild(t._container),t.unmount()}})}}),p=t.mount(document.createElement("div"));z.appendChild(p.$el)}const j=Object.assign({"./components/SwAlert.vue":()=>Promise.resolve().then(()=>H),"./components/SwButton.vue":()=>Promise.resolve().then(()=>G),"./components/SwCollapse.vue":()=>Promise.resolve().then(()=>X),"./components/SwDatePicker.vue":()=>Promise.resolve().then(()=>ce),"./components/SwDropdown.vue":()=>Promise.resolve().then(()=>de),"./components/SwDropdownItem.vue":()=>Promise.resolve().then(()=>pe),"./components/SwFormItem.vue":()=>Promise.resolve().then(()=>me),"./components/SwInput.vue":()=>Promise.resolve().then(()=>we),"./components/SwMessage.vue":()=>Promise.resolve().then(()=>ke),"./components/SwSection.vue":()=>Promise.resolve().then(()=>Be),"./components/SwSelect.vue":()=>Promise.resolve().then(()=>Me),"./components/SwSkeleton.vue":()=>Promise.resolve().then(()=>xe),"./components/SwSkeletonItem.vue":()=>Promise.resolve().then(()=>Ve),"./components/SwSwitch.vue":()=>Promise.resolve().then(()=>ve),"./components/SwTabs.vue":()=>Promise.resolve().then(()=>Pe),"./components/SwTabsNew.vue":()=>Promise.resolve().then(()=>Ie),"./components/SwTabsPane.vue":()=>Promise.resolve().then(()=>Ae),"./components/SwTabsPaneNew.vue":()=>Promise.resolve().then(()=>Le)}),v={};for(const a in j){const n=a.split("/").pop().replace(".vue","").replace(/-(\w)/g,(l,o)=>o.toUpperCase());v[n]=e.defineAsyncComponent(()=>j[a]())}const W={install(a){Object.keys(v).forEach(n=>{a.component(n,v[n]),console.log(n)}),a.config.globalProperties.$message=U}},P={__name:"SwButton",props:{class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:""},round:{type:Boolean,default:!1},text:{type:Boolean,default:!1},link:{type:Boolean,default:!1},href:{type:String,default:""}},setup(a){const n=a,l=()=>{if(n.href.length>0){const t=document.createElement("a");t.setAttribute("href",n.href),t.setAttribute("target","_blank"),t.click()}},o=e.computed(()=>{let t=["sw-button"];return n.size.length>0&&t.push("sw-"+n.size),n.type.length>0&&t.push("sw-"+n.type),n.round&&t.push("sw-round"),n.text&&t.push("sw-text"),n.link&&t.push("sw-link"),n.class.length>0&&t.push(n.class),t});return(t,p)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(o.value),onClick:l},[e.renderSlot(t.$slots,"default")],2))}},G=Object.freeze(Object.defineProperty({__proto__:null,default:P},Symbol.toStringTag,{value:"Module"})),X=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwCollapse",props:{visual:{type:Boolean,default:!0}},setup(a){e.onMounted(()=>{o.value="0px"});const n=e.ref(null),l=a,o=e.computed(()=>{var t;return l.visual?((t=n.value)==null?void 0:t.scrollHeight)+"px":"0px"});return(t,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sw-collapse",{open:l.visual}]),style:e.normalizeStyle({height:o.value}),ref_key:"collapse",ref:n},[e.renderSlot(t.$slots,"default")],6))}}},Symbol.toStringTag,{value:"Module"}));function J(a){return/^(https?:|mailto:|tel:)/.test(a)}function x(a,n){if(arguments.length===0||!a)return null;const l=n||"{Y}-{m}-{d} {G}:{i}:{s}";let o;typeof a=="object"?o=a:(typeof a=="string"&&(/^[0-9]+$/.test(a)?a=parseInt(a):a=a.replace(new RegExp(/-/gm),"/")),typeof a=="number"&&a.toString().length===10&&(a=a*1e3),o=new Date(a));const t="ru-RU",p={Y:o.getFullYear(),m:(o.getMonth()+1).toString().padStart(2,"0"),d:o.getDate(),dd:o.getDate().toString().padStart(2,"0"),G:o.getHours(),H:o.getHours().toString().padStart(2,"0"),i:o.getMinutes().toString().padStart(2,"0"),s:o.getSeconds().toString().padStart(2,"0"),D:new Intl.DateTimeFormat(t,{weekday:"short"}).format(o),F:new Intl.DateTimeFormat(t,{month:"long"}).format(o),M:new Intl.DateTimeFormat(t,{month:"short"}).format(o)};return l.replace(/{(dd|[YmdGHisDFM])+}/g,(m,w)=>p[w])}const K={class:"sw-data-picker"},Q={class:"month_year"},Z={class:"text"},ee={class:"week"},te={class:"month"},le=["onClick"],ne={key:0},oe={class:"month_year"},ae={class:"text"},se={class:"week"},re={class:"month"},ie=["onClick"],ce=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDatePicker",props:{data:Object,limitation:{type:[Boolean,Array],default:()=>!1},range:{type:String,default:()=>"solid"}},emits:["input"],setup(a,{emit:n}){var F,A,Y,L,R,q;const l=e.ref(new Date),o=e.ref(new Date),t=a,p=n,m=e.ref(new Date().getFullYear()),w=e.ref(new Date().getMonth()),y=e.ref(new Date().getFullYear()),r=e.ref(new Date().getMonth()),f=e.ref([]),k=e.ref(0),h=e.ref(0),i=e.ref(-1),u=e.ref(-1),B=e.ref(navigator.languages||"ru"),E=/en|zh|ja|he/.test(B.value)?0:1,S=t.range==="range"?2:1,b=g=>{const c=g.split(g.match(/\D.*?\D?/));return c[0].length>2?c.join("-")+"T00:00:01":c.reverse().join("-")+"T00:00:01"};typeof((F=t.data)==null?void 0:F.startDate)<"u"&&((A=t.data)==null?void 0:A.startDate)!==null&&(l.value=new Date(b(t.data.startDate)),m.value=l.value.getFullYear(),r.value=l.value.getMonth()),typeof((Y=t.data)==null?void 0:Y.endDate)<"u"&&((L=t.data)==null?void 0:L.endDate)!==null&&(o.value=new Date(b(t.data.endDate)),y.value=o.value.getFullYear(),w.value=o.value.getMonth());const C=()=>{var s;let g=new Date(m.value,r.value,0);for(let d=g.getDate()-g.getDay()+E;d<=g.getDate()&&g.getDay()!==6+E;d++)k.value++,f.value.push({day:d,month:g.getMonth(),year:g.getFullYear(),class:[]});for(let d=1;d<=new Date(m.value,r.value+1,0).getDate();d++)k.value++,f.value.push({day:d,month:r.value,year:m.value,class:[]});if(t.range==="range"){h.value=new Date(m.value,r.value+2,0);for(let d=1;d<=h.value.getDate();d++)f.value.push({day:d,month:h.value.getMonth(),year:h.value.getFullYear(),class:[]})}let c=new Date(m.value,r.value+S,1);console.log(c.getDay());for(let d=1;d<=(7-c.getDay()+E)%7&&c.getDay()!==E;d++)f.value.push({day:d,month:c.getMonth(),year:c.getFullYear(),class:[]});typeof((s=t.data)==null?void 0:s.holiday)<"u"&&t.data.holiday.length!==0&&(t.data.holiday.preholidays.forEach(d=>{let _=d.split("-");const D=f.value.findIndex($=>$.year==_[0]&&$.month+1==_[1]&&$.day==_[2]);D!==-1&&(f.value[D].class[0]="preholiday")}),t.data.holiday.holidays.forEach(d=>{let _=d.split("-");const D=f.value.findIndex($=>$.year==_[0]&&$.month+1==_[1]&&$.day==_[2]);D!==-1&&(f.value[D].class[0]="weekend")}),t.data.holiday.holiday.forEach(d=>{let _=d.split("-");const D=f.value.findIndex($=>$.year==_[0]&&$.month+1==_[1]&&$.day==_[2]);D!==-1&&(f.value[D].class[0]="holiday")}),t.data.holiday.nowork.forEach(d=>{let _=d.split("-");const D=f.value.findIndex($=>$.year==_[0]&&$.month+1==_[1]&&$.day==_[2]);D!==-1&&(f.value[D].class[0]="nowork")}))},M=(g,c)=>{let s=g-c+1;for(let d=0;d<=g-c;d++)f.value[d+c].class[0]==="holiday"&&s--;return s},N=(g,c)=>{console.log(c);const s=x(new Date(g.year,g.month,g.day),"{dd}.{m}.{Y}");if(t.range==="range")if(console.log(i.value),u.value!==-1){if(u.value<=i.value)for(let d=u.value;d<=i.value;d++)f.value[d].class[1]="";else for(let d=i.value;d<=u.value;d++)f.value[d].class[1]="";i.value=c,u.value=-1,f.value[c].class[1]="active"}else if(i.value!==-1){if(u.value=c,u.value>=i.value)for(let _=i.value+1;_<c;_++)f.value[_].class[1]="select";else for(let _=c+1;_<i.value;_++)f.value[_].class[1]="select";f.value[c].class[1]="active";let d=x(new Date(f.value[i.value].year,f.value[i.value].month,f.value[i.value].day),"{dd}.{m}.{Y}");i.value>c?p("input",{dateStart:s,dateEnd:d,count:M(i.value,c)}):p("input",{dateStart:d,dateEnd:s,count:M(c,i.value)})}else i.value=c,f.value[c].class[1]="active";else i.value!==-1&&(f.value[i.value].class[1]=""),i.value=c,f.value[c].class[1]="active",p("input",{dateStart:s,count:1})};if(C(),typeof((R=t.data)==null?void 0:R.startDate)<"u"&&(i.value=f.value.findIndex(g=>g.day===l.value.getDate()&&g.month===r.value&&g.year===m.value),f.value[i.value].class[1]="active"),typeof((q=t.data)==null?void 0:q.endDate)<"u"&&t.range==="range"){u.value=f.value.findIndex(g=>g.day===o.value.getDate()&&g.month===w.value&&g.year===y.value),f.value[u.value].class[1]="active";for(let g=i.value+1;g<u.value;g++)f.value[g].class[1]="select"}const T=(g,c)=>{Re(g,c)&&(f.value=[],k.value=0,l.value=new Date(g,c,1),m.value=l.value.getFullYear(),r.value=l.value.getMonth(),C())},Re=(g,c)=>{if(!t.limitation)return!0;if(t.limitation[0].dateStart){console.log(t.limitation[0].dateStart);let s=t.limitation[0].dateStart.split(t.limitation[0].dateStart.match(/\D.*?\D?/));if(s[0].length>2&&s.reverse(),parseInt(s[2])>g||parseInt(s[2])===g&&parseInt(s[1])>c+1)return!1}if(t.limitation[t.limitation.length-1].dateEnd){console.log(t.limitation[t.limitation.length-1].dateEnd);let s=t.limitation[t.limitation.length-1].dateEnd.split(t.limitation[t.limitation.length-1].dateEnd.match(/\D.*?\D?/));if(s[0].length>2&&s.reverse(),parseInt(s[2])<g||parseInt(s[2])===g&&parseInt(s[1])<c+S)return!1}return!0};return(g,c)=>(e.openBlock(),e.createElementBlock("div",K,[e.createElementVNode("div",null,[e.createElementVNode("p",Q,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:c[0]||(c[0]=e.withModifiers(s=>T(m.value-1,r.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:c[1]||(c[1]=e.withModifiers(s=>T(m.value,r.value-1),["prevent"]))},"‹")]),e.createElementVNode("span",Z,[e.createElementVNode("button",null,e.toDisplayString(m.value),1),e.createElementVNode("button",null,e.toDisplayString(e.unref(x)(l.value.setMonth(r.value),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:c[2]||(c[2]=e.withModifiers(s=>T(m.value,r.value+1),["prevent"]))},"›"),e.createElementVNode("button",{onClick:c[3]||(c[3]=e.withModifiers(s=>T(m.value+1,r.value),["prevent"]))},"»")])]),e.createElementVNode("div",ee,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(s,d)=>e.createElementVNode("button",{key:d,class:"disabled"},e.toDisplayString(e.unref(x)(new Date(1970,1,s+e.unref(E)),"{D}")),1)),64))]),e.createElementVNode("div",te,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(s,d)=>{var _,D;return e.openBlock(),e.createElementBlock(e.Fragment,{key:d},[d<k.value+(7-new Date(m.value,r.value+1,1).getDay()+e.unref(E))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(s.month===r.value&&(!t.limitation||new Date(s.year,s.month,s.day+1).getTime()>new Date(b((_=t.limitation[0])==null?void 0:_.dateStart)).getTime()&&new Date(s.year,s.month,s.day).getTime()<new Date(b((D=t.limitation[0])==null?void 0:D.dateEnd)).getTime())?s.class:"disabled"),onClick:e.withModifiers(()=>{s.month===r.value&&N(s,d)},["prevent"])},e.toDisplayString(s.day),11,le)):e.createCommentVNode("",!0)],64)}),128))])]),t.range==="range"?(e.openBlock(),e.createElementBlock("div",ne,[e.createElementVNode("p",oe,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:c[4]||(c[4]=e.withModifiers(s=>T(m.value-1,r.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:c[5]||(c[5]=e.withModifiers(s=>T(m.value,r.value-1),["prevent"]))},"‹")]),e.createElementVNode("span",ae,[e.createElementVNode("button",null,e.toDisplayString(new Date(m.value,r.value+1).getFullYear()),1),e.createElementVNode("button",null,e.toDisplayString(e.unref(x)(l.value.setMonth(r.value+1),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:c[6]||(c[6]=e.withModifiers(s=>T(m.value,r.value+1),["prevent"]))},"›"),e.createElementVNode("button",{onClick:c[7]||(c[7]=e.withModifiers(s=>T(m.value+1,r.value),["prevent"]))},"»")])]),e.createElementVNode("div",se,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(s,d)=>e.createElementVNode("button",{key:d,class:"disabled"},e.toDisplayString(e.unref(x)(new Date(1970,1,s+e.unref(E)),"{D}")),1)),64))]),e.createElementVNode("div",re,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(s,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:d},[d>=k.value-(7+new Date(m.value,r.value+1,1).getDay()-e.unref(E))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(s.month===h.value.getMonth()&&(!t.limitation||new Date(s.year,s.month,s.day+1).getTime()>new Date(b(t.limitation[0].dateStart)).getTime()&&new Date(s.year,s.month,s.day).getTime()<new Date(b(t.limitation[0].dateEnd)).getTime())?s.class:"disabled"),onClick:e.withModifiers(()=>{s.month===h.value.getMonth()&&N(s,d)},["prevent"])},e.toDisplayString(s.day),11,ie)):e.createCommentVNode("",!0)],64))),128))])])):e.createCommentVNode("",!0)]))}}},Symbol.toStringTag,{value:"Module"})),de=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDropdown",props:{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},manual:{type:Boolean,default:!1}},setup(a){const n=a,l=e.ref(!1),o=e.ref(null),t=e.ref(null),p=e.ref({}),m=e.computed(()=>{let h=["sw-dropdown"];return n.size.length>0&&h.push("sw-"+n.size),n.type.length>0&&h.push("sw-"+n.type),h});e.watch(()=>n.manual,h=>{l.value=h,console.log("watch",l.value)});const w=async()=>{if(await e.nextTick(),!t.value)return;const h=window.pageYOffset||document.documentElement.scrollTop,i=window.pageXOffset||document.documentElement.scrollLeft;document.body.style.position="fixed",document.body.style.top=`-${h}px`,document.body.style.left=`-${i}px`,t.value.focus(),t.value.addEventListener("blur",()=>l.value=!1),document.body.style.position="",document.body.style.top="",document.body.style.left="",document.documentElement.scrollTop=h,document.documentElement.scrollLeft=i;const u=o.value.getBoundingClientRect(),B=t.value.offsetHeight,E=t.value.offsetWidth;console.log("popupHeight",B),console.log("popupWidth",E);let S=u.left+u.width/2+i,b=u.top+u.height/2+h;const[C,M]=n.placement.split("-",2);switch(console.log(n.placement),C){case"bottom":b=b+u.height/2+8;break;case"top":b=b-u.height/2-8-B;break;case"left":S=S-E-u.width/2-8,b=b-B/2;break;case"right":S=S+u.width/2+8,b=b-B/2;break}switch(M){case"left":S=S-u.width/2;break;case"right":S=S-E+u.width/2;break}S<0&&(S=0),b<0&&(b=0),p.value={position:"absolute",top:`${b}px`,left:`${S}px`,maxWidth:n.maxWidth===0?"":`${n.maxWidth}px`}},y=async()=>{n.trigger==="click"&&(l.value=!l.value),l.value&&await w()},r=async()=>{n.trigger==="hover"&&(l.value=!l.value),l.value&&await w()},f=async()=>{n.trigger==="context"&&(l.value=!l.value),l.value&&await w()},k=()=>{l.value&&w()};return e.onMounted(()=>window.addEventListener("resize",k)),e.onUnmounted(()=>window.removeEventListener("resize",k)),(h,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(m.value),onClick:i[0]||(i[0]=e.withModifiers(u=>y(),["stop"])),onMouseover:i[1]||(i[1]=e.withModifiers(u=>r(),["stop"])),onMouseleave:i[2]||(i[2]=e.withModifiers(u=>r(),["stop"])),onContextmenu:i[3]||(i[3]=e.withModifiers(u=>f(),["stop"])),ref_key:"dropdownRef",ref:o},[e.renderSlot(h.$slots,"default"),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[l.value?(e.openBlock(),e.createElementBlock("ul",{key:0,ref_key:"popupRef",ref:t,class:e.normalizeClass(["sw-dropdown-popup",n.class]),style:e.normalizeStyle(p.value),tabindex:"-1"},[e.renderSlot(h.$slots,"dropdown")],6)):e.createCommentVNode("",!0)]))],34))}}},Symbol.toStringTag,{value:"Module"})),pe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDropdownItem",props:{class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:""},iconBefore:{type:String,default:""}},setup(a){const n=a,l=e.computed(()=>{let o=["sw-dropdown-item"];return n.size.length>0&&o.push("sw-"+n.size),n.type.length>0&&o.push("sw-"+n.type),n.class.length>0&&o.push(n.class),o});return(o,t)=>{const p=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(l.value)},[e.createVNode(p,{"icon-class":a.iconBefore},null,8,["icon-class"]),e.renderSlot(o.$slots,"default")],2)}}}},Symbol.toStringTag,{value:"Module"})),me=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwFormItem",props:{class:{type:String,default:""},type:{type:String,default:""}},setup(a){const n=a,l=e.computed(()=>{let o=["sw-form-item"];return n.type.length>0&&o.push("sw-"+n.type),n.class.length>0&&o.push(n.class),o});return(o,t)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value)},[e.renderSlot(o.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),fe=(a,n)=>{const l=a.__vccOpts||a;for(const[o,t]of n)l[o]=t;return l},ue={name:"SvgIcon",props:{prefix:{type:String,default:"icon"},iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExt(){return J(this.iconClass)}}},ge=["href"];function he(a,n,l,o,t,p){return p.isExt?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,style:"mask: url("+l.iconClass+") no-repeat 50% 50%;",class:"svg-external-icon svg-icon"},a.$attrs),null,16)):(e.openBlock(),e.createElementBlock("svg",e.mergeProps({key:1,class:"svg-icon "+l.className,"aria-hidden":"true"},a.$attrs),[e.createElementVNode("use",{href:"#"+l.prefix+"-"+l.iconClass},null,8,ge)],16))}const O=fe(ue,[["render",he]]),ye=["for"],_e={key:0,title:"Это поле обязательно для заполнения."},Se=["required","placeholder","type","id","name"],we=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwInput",props:e.mergeModels({before:{type:String,default:""},after:{type:String,default:""},placeholder:{type:String,default:""},label:{type:String,default:""},name:{type:String,required:!0},class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:"text"},required:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["suffix","prefix"],["update:modelValue"]),setup(a,{emit:n}){var h;const l=e.useModel(a,"modelValue"),o=a,t=e.ref(null),p=n,m=i=>{i.target.setSelectionRange(l.value.length,l.value.length),t.value!==null&&(t.value.style.top="-.6em")},w=i=>{var u;((u=l.value)==null?void 0:u.length)===0&&t.value!==null&&t.value.removeAttribute("style")};((h=l.value)==null?void 0:h.length)>0&&t.value!==null&&(t.value.style.top="-.6em");const y=()=>{p("suffix")},r=()=>{p("prefix")},f=e.computed(()=>{let i=["sw-input"];return o.size.length>0&&i.push("sw-"+o.size),o.class.length>0&&i.push(o.class),i});e.watch(l,(i,u)=>{o.type==="phone"&&(l.value=k(i,u))});const k=(i,u)=>{if(/^\+[0-9]\s/.test(u)&&i.length===2||/^\+0\s/.test(i))return"";const B=i;if(typeof B>"u"||B.length===0)return B;const E="+0 (___) ___-__-__";let S=0;const b=E.replace(/\D/g,""),C=B.replace(/\D/g,"");let M=E.replace(/[_\d]/g,T=>S<C.length?C.charAt(S++)||b.charAt(S):T);S=M.indexOf("_"),S!==-1&&(S=S<5?3:S,M=M.slice(0,S));let N=E.slice(0,B.length).replace(/_+/g,T=>`\\d{1,${T.length}}`).replace(/[+()]/g,"\\$&");if(N=new RegExp(`^${N}$`),M=M.replace(/[-—]$|(\) )$/g,""),!N.test(B)||B.length<5)return M};return(i,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(f.value)},[o.before.length>0?(e.openBlock(),e.createBlock(O,{key:0,"icon-class":o.before,onClick:r},null,8,["icon-class"])):e.renderSlot(i.$slots,"prefix",{key:1}),o.label.length>0?(e.openBlock(),e.createElementBlock("label",{key:2,for:o.name,ref_key:"lab",ref:t},[e.createTextVNode(e.toDisplayString(o.label),1),o.required?(e.openBlock(),e.createElementBlock("span",_e,"*")):e.createCommentVNode("",!0)],8,ye)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":u[0]||(u[0]=B=>l.value=B),required:o.required,placeholder:o.required&&o.label.length===0?o.placeholder+"*":o.placeholder,type:o.type,id:o.name,name:o.name,size:"60",onFocus:m,onBlur:w,maxlength:"128"},null,40,Se),[[e.vModelDynamic,l.value]]),o.after.length>0?(e.openBlock(),e.createBlock(O,{key:3,"icon-class":o.after,onClick:y},null,8,["icon-class"])):e.renderSlot(i.$slots,"suffix",{key:4})],2))}}},Symbol.toStringTag,{value:"Module"})),be={key:0},ke=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwMessage",props:e.mergeModels({name:{type:String,default:""},class:{type:String,default:""},iconAfter:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=e.useModel(a,"modelValue"),l=a,o=e.ref(null);return(t,p)=>{const m=e.resolveComponent("svg-icon");return n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["sw-message",l.class]),ref_key:"messageRef",ref:o},[l.name.length>0?(e.openBlock(),e.createElementBlock("header",be,[e.renderSlot(t.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(l.name)+" ",1),e.createVNode(P,{link:"",type:"primary",onClick:p[0]||(p[0]=w=>n.value=!1)},{default:e.withCtx(()=>[e.createVNode(m,{"icon-class":l.iconAfter},null,8,["icon-class"])]),_:1})])])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"default",{},()=>[p[1]||(p[1]=e.createTextVNode("111222"))]),e.createElementVNode("footer",null,[e.renderSlot(t.$slots,"footer")])],2)):e.createCommentVNode("",!0)}}}},Symbol.toStringTag,{value:"Module"})),Be=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSection",props:{name:{type:String,default:""},class:{type:String,default:""},iconAfter:{type:String,default:""}},setup(a){const n=a;return(l,o)=>{const t=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(n.class)},[e.createElementVNode("header",null,[e.renderSlot(l.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(n.name)+" ",1),e.createVNode(t,{"icon-class":n.iconAfter},null,8,["icon-class"])])]),e.renderSlot(l.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(l.$slots,"footer")])],2)}}}},Symbol.toStringTag,{value:"Module"})),Ee={class:"popup"},$e={class:"wrapper"},De={class:"scrollbar"},Te=["onClick"],Me=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSelect",props:e.mergeModels({name:{type:String,default:""},class:{type:String,default:""},placeholder:{type:String,default:""},token:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=e.ref({fullText:""}),l=e.ref(!1),o=e.ref([]),t=e.useModel(a,"modelValue"),p=a;e.watch(t.text,y=>{y.length>3&&(n.value.fullText=y)}),e.watch(n.value.fullText,(y,r)=>{l.value=y.length>3&&y.length>r.length,y.length>3&&m()});const m=()=>{let y="https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address";console.log(n.value.fullText),axios.post(y,{query:n.value.fullText},{headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:"Token "+p.token}}).then(r=>{console.log(r.data.suggestions),o.value=r.data.suggestions,o.value.length===1&&w(o.value[0])}).catch(r=>{console.log(r)})},w=y=>{n.value.fullText=y.value,l.value=!1;const r={};r.text=y.value,r.coords=[Number(y.data.geo_lat),Number(y.data.geo_lon)],r.suggestion=y.data,t.value=r};return(y,r)=>{const f=e.resolveComponent("sw-input");return e.openBlock(),e.createElementBlock("div",Ee,[e.createVNode(f,{size:"large",modelValue:n.value.fullText,"onUpdate:modelValue":r[0]||(r[0]=k=>n.value.fullText=k),placeholder:a.placeholder},null,8,["modelValue","placeholder"]),e.withDirectives(e.createElementVNode("div",$e,[e.createElementVNode("ul",De,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(k,h)=>(e.openBlock(),e.createElementBlock("li",{tabindex:"1",key:h,onClick:i=>w(k)},e.toDisplayString(k.value),9,Te))),128))])],512),[[e.vShow,l.value]])])}}}},Symbol.toStringTag,{value:"Module"})),Ce={key:0},I={__name:"SwSkeletonItem",props:{width:{type:String,default:"100"},class:{type:String,default:""},animate:{type:Boolean,default:!1},size:{type:String,default:""}},setup(a){const n=a,l=e.computed(()=>{let t=["sw-skeleton-item"];return n.size.length>0&&t.push("sw-"+n.size),n.animate&&t.push("sw-animate"),n.class.length>0&&t.push(n.class),t}),o=e.computed(()=>({width:n.width+"%"}));return(t,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value),style:e.normalizeStyle(o.value)},[n.animate?(e.openBlock(),e.createElementBlock("div",Ce)):e.createCommentVNode("",!0)],6))}},Ve=Object.freeze(Object.defineProperty({__proto__:null,default:I},Symbol.toStringTag,{value:"Module"})),xe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSkeleton",props:{class:{type:String,default:""},visual:{type:Boolean,default:!1}},setup(a){const n=a;return(l,o)=>n.visual?e.renderSlot(l.$slots,"default",{key:0},()=>[o[0]||(o[0]=e.createTextVNode("1"))]):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["sw-skeleton",n.class])},[e.renderSlot(l.$slots,"skeleton",{},()=>[e.createVNode(I,{animate:"",size:"small"})])],2))}}},Symbol.toStringTag,{value:"Module"})),Ne=["name","id"],ze=["for","data-onlabel","data-offlabel"],ve=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSwitch",props:e.mergeModels({id:{type:String,default:"checkbox"},class:{type:String,default:""},name:{type:String,default:""},on:{type:String,default:""},off:{type:String,default:""},size:{type:String,default:""},checkbox:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=e.useModel(a,"modelValue"),l=a,o=e.computed(()=>{let t=["sw-switch"];return l.size.length>0&&t.push("sw-"+l.size),l.checkbox&&t.push("sw-checkbox"),l.class.length>0&&t.push(l.class),t});return(t,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[e.withDirectives(e.createElementVNode("input",{type:"checkbox",name:l.name,class:"sw-control",id:l.id,"onUpdate:modelValue":p[0]||(p[0]=m=>n.value=m)},null,8,Ne),[[e.vModelCheckbox,n.value]]),e.createElementVNode("label",{for:l.id,class:"sw-label","data-onlabel":l.on,"data-offlabel":l.off},null,8,ze),e.renderSlot(t.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),je=["onClick"],Pe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabs",props:e.mergeModels({name:{type:String},class:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["tab-click"],["update:modelValue"]),setup(a,{emit:n}){e.ref(0);const l=e.ref([]),o=a,t=e.useModel(a,"modelValue"),p=n;return l.value=e.useSlots().default().filter(m=>m.type.__name==="SwTabsPane"),e.provide("activeTab",t),e.provide("tabs",l),(m,w)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("sw-tabs "+o.class)},[e.createElementVNode("header",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(y,r)=>(e.openBlock(),e.createElementBlock("span",{key:r,class:e.normalizeClass([{active:t.value===r}]),onClick:f=>{t.value=r,p("tab-click",r)}},e.toDisplayString(y.props.label||y.props.title),11,je))),128))]),e.renderSlot(m.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Oe=["onClick"],Ie=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsNew",props:e.mergeModels({name:{type:String},class:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["tab-click"],["update:modelValue"]),setup(a,{emit:n}){e.ref(0);const l=e.ref([]),o=a,t=e.useModel(a,"modelValue"),p=n;return e.provide("activeTab",t),e.provide("tabs",l),e.provide("registerTab",m=>{l.value.push(m)}),(m,w)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("sw-tabs "+o.class)},[e.createElementVNode("header",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(y,r)=>(e.openBlock(),e.createElementBlock("span",{key:r,class:e.normalizeClass([{active:t.value===r}]),onClick:f=>{t.value=r,p("tab-click",r)}},e.toDisplayString(y.props.label||y.props.title),11,Oe))),128))]),e.renderSlot(m.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Fe={key:0,class:"tab-content"},Ae=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPane",props:{title:{type:String,required:!0}},setup(a){const n=a,l=e.inject("activeTab"),o=e.inject("tabs"),t=e.computed(()=>{const p=o.value.findIndex(m=>m.props.title===n.title);return l.value===p});return(p,m)=>t.value?(e.openBlock(),e.createElementBlock("div",Fe,[e.renderSlot(p.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"})),Ye={key:0,class:"tab-content"},Le=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPaneNew",props:{label:{type:String,required:!0},title:{type:String}},setup(a){const n=a,l=e.inject("registerTab");if(!l)throw new Error("SwTabsPane must be used inside SwTabs");l({props:n});const o=e.inject("activeTab");if(!e.inject("tabs"))throw new Error("Tabs array is not provided by SwTabs");const p=e.inject("tabs").value.length-1;return(m,w)=>e.unref(o)===p?(e.openBlock(),e.createElementBlock("div",Ye,[e.renderSlot(m.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"}));return W});
1
+ (function(C,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(C=typeof globalThis<"u"?globalThis:C||self,e(C["component-sw"]={},C.vue))})(this,function(C,e){"use strict";const P={__name:"SwAlert",props:{message:{type:String,default:"Default message"},before:{type:String,default:""},class:{type:String,default:""},after:{type:String,default:""},size:{type:String,default:""},duration:{type:Number,default:6e3},type:{type:String,default:"info",validator:a=>["success","warning","error","info"].includes(a)}},emits:["closed"],setup(a,{emit:o}){const l=a,n=o,t=e.ref(!1);let p=null;const m=()=>{t.value=!0,f()},w=()=>{t.value=!1,n("closed")},y=()=>{p&&(clearTimeout(p),p=null)},r=()=>{f()},f=()=>{p=setTimeout(w,l.duration)};e.onMounted(()=>{m()}),e.onUnmounted(()=>{p&&clearTimeout(p)});const k=e.computed(()=>{const h=["sw-alert"];return l.size.length>0&&h.push(`sw-${l.size}`),l.type.length>0&&h.push(`sw-${l.type}`),l.class.length>0&&h.push(l.class),h});return(h,i)=>{const u=e.resolveComponent("svg-icon");return e.openBlock(),e.createBlock(e.Transition,{name:"fade"},{default:e.withCtx(()=>[t.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(k.value),onMouseenter:y,onMouseleave:r},[l.before.length>0?(e.openBlock(),e.createBlock(u,{key:0,"icon-class":l.before},null,8,["icon-class"])):e.renderSlot(h.$slots,"prefix",{key:1}),e.renderSlot(h.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(l.message),1)]),l.after.length>0?(e.openBlock(),e.createBlock(u,{key:2,"icon-class":l.after,onClick:w},null,8,["icon-class"])):e.renderSlot(h.$slots,"suffix",{key:3})],34)):e.createCommentVNode("",!0)]),_:3})}}},U=Object.freeze(Object.defineProperty({__proto__:null,default:P},Symbol.toStringTag,{value:"Module"}));let z=null;function W(a={}){z||(z=document.createElement("div"),document.body.appendChild(z));const{message:o,type:l="info",duration:n=3e3}=a,t=e.createApp({setup(){return()=>e.h(P,{...a,onClose:()=>{z.removeChild(t._container),t.unmount()}})}}),p=t.mount(document.createElement("div"));z.appendChild(p.$el)}const v=Object.assign({"./components/SwAlert.vue":()=>Promise.resolve().then(()=>U),"./components/SwButton.vue":()=>Promise.resolve().then(()=>X),"./components/SwCollapse.vue":()=>Promise.resolve().then(()=>J),"./components/SwDatePicker.vue":()=>Promise.resolve().then(()=>de),"./components/SwDropdown.vue":()=>Promise.resolve().then(()=>pe),"./components/SwDropdownItem.vue":()=>Promise.resolve().then(()=>me),"./components/SwFormItem.vue":()=>Promise.resolve().then(()=>fe),"./components/SwInput.vue":()=>Promise.resolve().then(()=>be),"./components/SwMessage.vue":()=>Promise.resolve().then(()=>Be),"./components/SwSection.vue":()=>Promise.resolve().then(()=>Ee),"./components/SwSelect.vue":()=>Promise.resolve().then(()=>Ce),"./components/SwSkeleton.vue":()=>Promise.resolve().then(()=>xe),"./components/SwSkeletonItem.vue":()=>Promise.resolve().then(()=>Ne),"./components/SwSwitch.vue":()=>Promise.resolve().then(()=>Pe),"./components/SwTabs.vue":()=>Promise.resolve().then(()=>Oe),"./components/SwTabsNew.vue":()=>Promise.resolve().then(()=>Fe),"./components/SwTabsPane.vue":()=>Promise.resolve().then(()=>Ye),"./components/SwTabsPaneNew.vue":()=>Promise.resolve().then(()=>Re)}),j={};for(const a in v){const o=a.split("/").pop().replace(".vue","").replace(/-(\w)/g,(l,n)=>n.toUpperCase());j[o]=e.defineAsyncComponent(()=>v[a]())}const G={install(a){Object.keys(j).forEach(o=>{a.component(o,j[o]),console.log(o)}),a.config.globalProperties.$message=W}},O={__name:"SwButton",props:{class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:""},round:{type:Boolean,default:!1},text:{type:Boolean,default:!1},link:{type:Boolean,default:!1},href:{type:String,default:""}},setup(a){const o=a,l=()=>{if(o.href.length>0){const t=document.createElement("a");t.setAttribute("href",o.href),t.setAttribute("target","_blank"),t.click()}},n=e.computed(()=>{let t=["sw-button"];return o.size.length>0&&t.push("sw-"+o.size),o.type.length>0&&t.push("sw-"+o.type),o.round&&t.push("sw-round"),o.text&&t.push("sw-text"),o.link&&t.push("sw-link"),o.class.length>0&&t.push(o.class),t});return(t,p)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(n.value),onClick:l},[e.renderSlot(t.$slots,"default")],2))}},X=Object.freeze(Object.defineProperty({__proto__:null,default:O},Symbol.toStringTag,{value:"Module"})),J=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwCollapse",props:{visual:{type:Boolean,default:!0}},setup(a){e.onMounted(()=>{n.value="0px"});const o=e.ref(null),l=a,n=e.computed(()=>{var t;return l.visual?((t=o.value)==null?void 0:t.scrollHeight)+"px":"0px"});return(t,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sw-collapse",{open:l.visual}]),style:e.normalizeStyle({height:n.value}),ref_key:"collapse",ref:o},[e.renderSlot(t.$slots,"default")],6))}}},Symbol.toStringTag,{value:"Module"}));function K(a){return/^(https?:|mailto:|tel:)/.test(a)}function N(a,o){if(arguments.length===0||!a)return null;const l=o||"{Y}-{m}-{d} {G}:{i}:{s}";let n;typeof a=="object"?n=a:(typeof a=="string"&&(/^[0-9]+$/.test(a)?a=parseInt(a):a=a.replace(new RegExp(/-/gm),"/")),typeof a=="number"&&a.toString().length===10&&(a=a*1e3),n=new Date(a));const t="ru-RU",p={Y:n.getFullYear(),m:(n.getMonth()+1).toString().padStart(2,"0"),d:n.getDate(),dd:n.getDate().toString().padStart(2,"0"),G:n.getHours(),H:n.getHours().toString().padStart(2,"0"),i:n.getMinutes().toString().padStart(2,"0"),s:n.getSeconds().toString().padStart(2,"0"),D:new Intl.DateTimeFormat(t,{weekday:"short"}).format(n),F:new Intl.DateTimeFormat(t,{month:"long"}).format(n),M:new Intl.DateTimeFormat(t,{month:"short"}).format(n)};return l.replace(/{(dd|[YmdGHisDFM])+}/g,(m,w)=>p[w])}const Q={class:"sw-data-picker"},Z={class:"month_year"},ee={class:"text"},te={class:"week"},le={class:"month"},oe=["onClick"],ne={key:0},ae={class:"month_year"},se={class:"text"},re={class:"week"},ie={class:"month"},ce=["onClick"],de=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDatePicker",props:{data:Object,limitation:{type:[Boolean,Array],default:()=>!1},range:{type:String,default:()=>"solid"}},emits:["input"],setup(a,{emit:o}){var A,Y,L,R,q,H;const l=e.ref(new Date),n=e.ref(new Date),t=a,p=o,m=e.ref(new Date().getFullYear()),w=e.ref(new Date().getMonth()),y=e.ref(new Date().getFullYear()),r=e.ref(new Date().getMonth()),f=e.ref([]),k=e.ref(0),h=e.ref(0),i=e.ref(-1),u=e.ref(-1),B=e.ref(navigator.languages||"ru"),E=/en|zh|ja|he/.test(B.value)?0:1,S=t.range==="range"?2:1,b=g=>{const c=g.split(g.match(/\D.*?\D?/));return c[0].length>2?c.join("-")+"T00:00:01":c.reverse().join("-")+"T00:00:01"};typeof((A=t.data)==null?void 0:A.startDate)<"u"&&((Y=t.data)==null?void 0:Y.startDate)!==null&&(l.value=new Date(b(t.data.startDate)),m.value=l.value.getFullYear(),r.value=l.value.getMonth()),typeof((L=t.data)==null?void 0:L.endDate)<"u"&&((R=t.data)==null?void 0:R.endDate)!==null&&(n.value=new Date(b(t.data.endDate)),y.value=n.value.getFullYear(),w.value=n.value.getMonth());const V=()=>{var s;let g=new Date(m.value,r.value,0);for(let d=g.getDate()-g.getDay()+E;d<=g.getDate()&&g.getDay()!==6+E;d++)k.value++,f.value.push({day:d,month:g.getMonth(),year:g.getFullYear(),class:[]});for(let d=1;d<=new Date(m.value,r.value+1,0).getDate();d++)k.value++,f.value.push({day:d,month:r.value,year:m.value,class:[]});if(t.range==="range"){h.value=new Date(m.value,r.value+2,0);for(let d=1;d<=h.value.getDate();d++)f.value.push({day:d,month:h.value.getMonth(),year:h.value.getFullYear(),class:[]})}let c=new Date(m.value,r.value+S,1);console.log(c.getDay());for(let d=1;d<=(7-c.getDay()+E)%7&&c.getDay()!==E;d++)f.value.push({day:d,month:c.getMonth(),year:c.getFullYear(),class:[]});typeof((s=t.data)==null?void 0:s.holiday)<"u"&&t.data.holiday.length!==0&&(t.data.holiday.preholidays.forEach(d=>{let _=d.split("-");const D=f.value.findIndex($=>$.year==_[0]&&$.month+1==_[1]&&$.day==_[2]);D!==-1&&(f.value[D].class[0]="preholiday")}),t.data.holiday.holidays.forEach(d=>{let _=d.split("-");const D=f.value.findIndex($=>$.year==_[0]&&$.month+1==_[1]&&$.day==_[2]);D!==-1&&(f.value[D].class[0]="weekend")}),t.data.holiday.holiday.forEach(d=>{let _=d.split("-");const D=f.value.findIndex($=>$.year==_[0]&&$.month+1==_[1]&&$.day==_[2]);D!==-1&&(f.value[D].class[0]="holiday")}),t.data.holiday.nowork.forEach(d=>{let _=d.split("-");const D=f.value.findIndex($=>$.year==_[0]&&$.month+1==_[1]&&$.day==_[2]);D!==-1&&(f.value[D].class[0]="nowork")}))},M=(g,c)=>{let s=g-c+1;for(let d=0;d<=g-c;d++)f.value[d+c].class[0]==="holiday"&&s--;return s},x=(g,c)=>{console.log(c);const s=N(new Date(g.year,g.month,g.day),"{dd}.{m}.{Y}");if(t.range==="range")if(console.log(i.value),u.value!==-1){if(u.value<=i.value)for(let d=u.value;d<=i.value;d++)f.value[d].class[1]="";else for(let d=i.value;d<=u.value;d++)f.value[d].class[1]="";i.value=c,u.value=-1,f.value[c].class[1]="active"}else if(i.value!==-1){if(u.value=c,u.value>=i.value)for(let _=i.value+1;_<c;_++)f.value[_].class[1]="select";else for(let _=c+1;_<i.value;_++)f.value[_].class[1]="select";f.value[c].class[1]="active";let d=N(new Date(f.value[i.value].year,f.value[i.value].month,f.value[i.value].day),"{dd}.{m}.{Y}");i.value>c?p("input",{dateStart:s,dateEnd:d,count:M(i.value,c)}):p("input",{dateStart:d,dateEnd:s,count:M(c,i.value)})}else i.value=c,f.value[c].class[1]="active";else i.value!==-1&&(f.value[i.value].class[1]=""),i.value=c,f.value[c].class[1]="active",p("input",{dateStart:s,count:1})};if(V(),typeof((q=t.data)==null?void 0:q.startDate)<"u"&&(i.value=f.value.findIndex(g=>g.day===l.value.getDate()&&g.month===r.value&&g.year===m.value),f.value[i.value].class[1]="active"),typeof((H=t.data)==null?void 0:H.endDate)<"u"&&t.range==="range"){u.value=f.value.findIndex(g=>g.day===n.value.getDate()&&g.month===w.value&&g.year===y.value),f.value[u.value].class[1]="active";for(let g=i.value+1;g<u.value;g++)f.value[g].class[1]="select"}const T=(g,c)=>{qe(g,c)&&(f.value=[],k.value=0,l.value=new Date(g,c,1),m.value=l.value.getFullYear(),r.value=l.value.getMonth(),V())},qe=(g,c)=>{if(!t.limitation)return!0;if(t.limitation[0].dateStart){console.log(t.limitation[0].dateStart);let s=t.limitation[0].dateStart.split(t.limitation[0].dateStart.match(/\D.*?\D?/));if(s[0].length>2&&s.reverse(),parseInt(s[2])>g||parseInt(s[2])===g&&parseInt(s[1])>c+1)return!1}if(t.limitation[t.limitation.length-1].dateEnd){console.log(t.limitation[t.limitation.length-1].dateEnd);let s=t.limitation[t.limitation.length-1].dateEnd.split(t.limitation[t.limitation.length-1].dateEnd.match(/\D.*?\D?/));if(s[0].length>2&&s.reverse(),parseInt(s[2])<g||parseInt(s[2])===g&&parseInt(s[1])<c+S)return!1}return!0};return(g,c)=>(e.openBlock(),e.createElementBlock("div",Q,[e.createElementVNode("div",null,[e.createElementVNode("p",Z,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:c[0]||(c[0]=e.withModifiers(s=>T(m.value-1,r.value),["stop"]))},"«"),e.createElementVNode("button",{onClick:c[1]||(c[1]=e.withModifiers(s=>T(m.value,r.value-1),["stop"]))},"‹")]),e.createElementVNode("span",ee,[e.createElementVNode("button",null,e.toDisplayString(m.value),1),e.createElementVNode("button",null,e.toDisplayString(e.unref(N)(l.value.setMonth(r.value),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:c[2]||(c[2]=e.withModifiers(s=>T(m.value,r.value+1),["stop"]))},"›"),e.createElementVNode("button",{onClick:c[3]||(c[3]=e.withModifiers(s=>T(m.value+1,r.value),["stop"]))},"»")])]),e.createElementVNode("div",te,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(s,d)=>e.createElementVNode("button",{key:d,class:"disabled"},e.toDisplayString(e.unref(N)(new Date(1970,1,s+e.unref(E)),"{D}")),1)),64))]),e.createElementVNode("div",le,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(s,d)=>{var _,D;return e.openBlock(),e.createElementBlock(e.Fragment,{key:d},[d<k.value+(7-new Date(m.value,r.value+1,1).getDay()+e.unref(E))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(s.month===r.value&&(!t.limitation||new Date(s.year,s.month,s.day+1).getTime()>new Date(b((_=t.limitation[0])==null?void 0:_.dateStart)).getTime()&&new Date(s.year,s.month,s.day).getTime()<new Date(b((D=t.limitation[0])==null?void 0:D.dateEnd)).getTime())?s.class:"disabled"),onClick:e.withModifiers(()=>{s.month===r.value&&x(s,d)},["stop"])},e.toDisplayString(s.day),11,oe)):e.createCommentVNode("",!0)],64)}),128))])]),t.range==="range"?(e.openBlock(),e.createElementBlock("div",ne,[e.createElementVNode("p",ae,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:c[4]||(c[4]=e.withModifiers(s=>T(m.value-1,r.value),["stop"]))},"«"),e.createElementVNode("button",{onClick:c[5]||(c[5]=e.withModifiers(s=>T(m.value,r.value-1),["stop"]))},"‹")]),e.createElementVNode("span",se,[e.createElementVNode("button",null,e.toDisplayString(new Date(m.value,r.value+1).getFullYear()),1),e.createElementVNode("button",null,e.toDisplayString(e.unref(N)(l.value.setMonth(r.value+1),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:c[6]||(c[6]=e.withModifiers(s=>T(m.value,r.value+1),["stop"]))},"›"),e.createElementVNode("button",{onClick:c[7]||(c[7]=e.withModifiers(s=>T(m.value+1,r.value),["stop"]))},"»")])]),e.createElementVNode("div",re,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(s,d)=>e.createElementVNode("button",{key:d,class:"disabled"},e.toDisplayString(e.unref(N)(new Date(1970,1,s+e.unref(E)),"{D}")),1)),64))]),e.createElementVNode("div",ie,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(s,d)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:d},[d>=k.value-(7+new Date(m.value,r.value+1,1).getDay()-e.unref(E))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(s.month===h.value.getMonth()&&(!t.limitation||new Date(s.year,s.month,s.day+1).getTime()>new Date(b(t.limitation[0].dateStart)).getTime()&&new Date(s.year,s.month,s.day).getTime()<new Date(b(t.limitation[0].dateEnd)).getTime())?s.class:"disabled"),onClick:e.withModifiers(()=>{s.month===h.value.getMonth()&&x(s,d)},["stop"])},e.toDisplayString(s.day),11,ce)):e.createCommentVNode("",!0)],64))),128))])])):e.createCommentVNode("",!0)]))}}},Symbol.toStringTag,{value:"Module"})),pe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDropdown",props:{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},manual:{type:Boolean,default:!1}},setup(a){const o=a,l=e.ref(!1),n=e.ref(null),t=e.ref(null),p=e.ref({}),m=e.computed(()=>{let h=["sw-dropdown"];return o.size.length>0&&h.push("sw-"+o.size),o.type.length>0&&h.push("sw-"+o.type),h});e.watch(()=>o.manual,h=>{l.value=h,console.log("watch",l.value)});const w=async()=>{if(await e.nextTick(),!t.value)return;const h=window.pageYOffset||document.documentElement.scrollTop,i=window.pageXOffset||document.documentElement.scrollLeft;document.body.style.position="fixed",document.body.style.top=`-${h}px`,document.body.style.left=`-${i}px`,t.value.focus(),t.value.addEventListener("blur",()=>l.value=!1),document.body.style.position="",document.body.style.top="",document.body.style.left="",document.documentElement.scrollTop=h,document.documentElement.scrollLeft=i;const u=n.value.getBoundingClientRect(),B=t.value.offsetHeight,E=t.value.offsetWidth;console.log("popupHeight",B),console.log("popupWidth",E);let S=u.left+u.width/2+i,b=u.top+u.height/2+h;const[V,M]=o.placement.split("-",2);switch(console.log(o.placement),V){case"bottom":b=b+u.height/2+8;break;case"top":b=b-u.height/2-8-B;break;case"left":S=S-E-u.width/2-8,b=b-B/2;break;case"right":S=S+u.width/2+8,b=b-B/2;break}switch(M){case"left":S=S-u.width/2;break;case"right":S=S-E+u.width/2;break}S<0&&(S=0),b<0&&(b=0),p.value={position:"absolute",top:`${b}px`,left:`${S}px`,maxWidth:o.maxWidth===0?"":`${o.maxWidth}px`}},y=async()=>{o.trigger==="click"&&(l.value=!l.value),l.value&&await w()},r=async()=>{o.trigger==="hover"&&(l.value=!l.value),l.value&&await w()},f=async()=>{o.trigger==="context"&&(l.value=!l.value),l.value&&await w()},k=()=>{l.value&&w()};return e.onMounted(()=>window.addEventListener("resize",k)),e.onUnmounted(()=>window.removeEventListener("resize",k)),(h,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(m.value),onClick:i[0]||(i[0]=e.withModifiers(u=>y(),["stop"])),onMouseover:i[1]||(i[1]=e.withModifiers(u=>r(),["stop"])),onMouseleave:i[2]||(i[2]=e.withModifiers(u=>r(),["stop"])),onContextmenu:i[3]||(i[3]=e.withModifiers(u=>f(),["stop"])),ref_key:"dropdownRef",ref:n},[e.renderSlot(h.$slots,"default"),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[l.value?(e.openBlock(),e.createElementBlock("ul",{key:0,ref_key:"popupRef",ref:t,class:e.normalizeClass(["sw-dropdown-popup",o.class]),style:e.normalizeStyle(p.value),tabindex:"-1"},[e.renderSlot(h.$slots,"dropdown")],6)):e.createCommentVNode("",!0)]))],34))}}},Symbol.toStringTag,{value:"Module"})),me=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDropdownItem",props:{class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:""},iconBefore:{type:String,default:""}},setup(a){const o=a,l=e.computed(()=>{let n=["sw-dropdown-item"];return o.size.length>0&&n.push("sw-"+o.size),o.type.length>0&&n.push("sw-"+o.type),o.class.length>0&&n.push(o.class),n});return(n,t)=>{const p=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(l.value)},[e.createVNode(p,{"icon-class":a.iconBefore},null,8,["icon-class"]),e.renderSlot(n.$slots,"default")],2)}}}},Symbol.toStringTag,{value:"Module"})),fe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwFormItem",props:{class:{type:String,default:""},type:{type:String,default:""}},setup(a){const o=a,l=e.computed(()=>{let n=["sw-form-item"];return o.type.length>0&&n.push("sw-"+o.type),o.class.length>0&&n.push(o.class),n});return(n,t)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value)},[e.renderSlot(n.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),ue=(a,o)=>{const l=a.__vccOpts||a;for(const[n,t]of o)l[n]=t;return l},ge={name:"SvgIcon",props:{prefix:{type:String,default:"icon"},iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExt(){return K(this.iconClass)}}},he=["href"];function ye(a,o,l,n,t,p){return p.isExt?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,style:"mask: url("+l.iconClass+") no-repeat 50% 50%;",class:"svg-external-icon svg-icon"},a.$attrs),null,16)):(e.openBlock(),e.createElementBlock("svg",e.mergeProps({key:1,class:"svg-icon "+l.className,"aria-hidden":"true"},a.$attrs),[e.createElementVNode("use",{href:"#"+l.prefix+"-"+l.iconClass},null,8,he)],16))}const I=ue(ge,[["render",ye]]),_e=["for"],Se={key:0,title:"Это поле обязательно для заполнения."},we=["required","placeholder","type","id","name"],be=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwInput",props:e.mergeModels({before:{type:String,default:""},after:{type:String,default:""},placeholder:{type:String,default:""},label:{type:String,default:""},name:{type:String,required:!0},class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:"text"},required:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["suffix","prefix"],["update:modelValue"]),setup(a,{emit:o}){var h;const l=e.useModel(a,"modelValue"),n=a,t=e.ref(null),p=o,m=i=>{i.target.setSelectionRange(l.value.length,l.value.length),t.value!==null&&(t.value.style.top="-.6em")},w=i=>{var u;((u=l.value)==null?void 0:u.length)===0&&t.value!==null&&t.value.removeAttribute("style")};((h=l.value)==null?void 0:h.length)>0&&t.value!==null&&(t.value.style.top="-.6em");const y=()=>{p("suffix")},r=()=>{p("prefix")},f=e.computed(()=>{let i=["sw-input"];return n.size.length>0&&i.push("sw-"+n.size),n.class.length>0&&i.push(n.class),i});e.watch(l,(i,u)=>{n.type==="phone"&&(l.value=k(i,u))});const k=(i,u)=>{if(/^\+[0-9]\s/.test(u)&&i.length===2||/^\+0\s/.test(i))return"";const B=i;if(typeof B>"u"||B.length===0)return B;const E="+0 (___) ___-__-__";let S=0;const b=E.replace(/\D/g,""),V=B.replace(/\D/g,"");let M=E.replace(/[_\d]/g,T=>S<V.length?V.charAt(S++)||b.charAt(S):T);S=M.indexOf("_"),S!==-1&&(S=S<5?3:S,M=M.slice(0,S));let x=E.slice(0,B.length).replace(/_+/g,T=>`\\d{1,${T.length}}`).replace(/[+()]/g,"\\$&");if(x=new RegExp(`^${x}$`),M=M.replace(/[-—]$|(\) )$/g,""),!x.test(B)||B.length<5)return M};return(i,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(f.value)},[n.before.length>0?(e.openBlock(),e.createBlock(I,{key:0,"icon-class":n.before,onClick:r},null,8,["icon-class"])):e.renderSlot(i.$slots,"prefix",{key:1}),n.label.length>0?(e.openBlock(),e.createElementBlock("label",{key:2,for:n.name,ref_key:"lab",ref:t},[e.createTextVNode(e.toDisplayString(n.label),1),n.required?(e.openBlock(),e.createElementBlock("span",Se,"*")):e.createCommentVNode("",!0)],8,_e)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":u[0]||(u[0]=B=>l.value=B),required:n.required,placeholder:n.required&&n.label.length===0?n.placeholder+"*":n.placeholder,type:n.type,id:n.name,name:n.name,size:"60",onFocus:m,onBlur:w,maxlength:"128"},null,40,we),[[e.vModelDynamic,l.value]]),n.after.length>0?(e.openBlock(),e.createBlock(I,{key:3,"icon-class":n.after,onClick:y},null,8,["icon-class"])):e.renderSlot(i.$slots,"suffix",{key:4})],2))}}},Symbol.toStringTag,{value:"Module"})),ke={key:0},Be=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwMessage",props:e.mergeModels({name:{type:String,default:""},class:{type:String,default:""},iconAfter:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const o=e.useModel(a,"modelValue"),l=a,n=e.ref(null);return(t,p)=>{const m=e.resolveComponent("svg-icon");return o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["sw-message",l.class]),ref_key:"messageRef",ref:n},[l.name.length>0?(e.openBlock(),e.createElementBlock("header",ke,[e.renderSlot(t.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(l.name)+" ",1),e.createVNode(O,{link:"",type:"primary",onClick:p[0]||(p[0]=w=>o.value=!1)},{default:e.withCtx(()=>[e.createVNode(m,{"icon-class":l.iconAfter},null,8,["icon-class"])]),_:1})])])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"default",{},()=>[p[1]||(p[1]=e.createTextVNode("111222"))]),e.createElementVNode("footer",null,[e.renderSlot(t.$slots,"footer")])],2)):e.createCommentVNode("",!0)}}}},Symbol.toStringTag,{value:"Module"})),Ee=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSection",props:{name:{type:String,default:""},class:{type:String,default:""},iconAfter:{type:String,default:""}},setup(a){const o=a;return(l,n)=>{const t=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(o.class)},[e.createElementVNode("header",null,[e.renderSlot(l.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(o.name)+" ",1),e.createVNode(t,{"icon-class":o.iconAfter},null,8,["icon-class"])])]),e.renderSlot(l.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(l.$slots,"footer")])],2)}}}},Symbol.toStringTag,{value:"Module"})),$e={class:"popup"},De={class:"wrapper"},Te={class:"scrollbar"},Me=["onClick"],Ce=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSelect",props:e.mergeModels({name:{type:String,default:""},class:{type:String,default:""},placeholder:{type:String,default:""},token:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const o=e.ref({fullText:""}),l=e.ref(!1),n=e.ref([]),t=e.useModel(a,"modelValue"),p=a;e.watch(t.text,y=>{y.length>3&&(o.value.fullText=y)}),e.watch(o.value.fullText,(y,r)=>{l.value=y.length>3&&y.length>r.length,y.length>3&&m()});const m=()=>{let y="https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address";console.log(o.value.fullText),axios.post(y,{query:o.value.fullText},{headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:"Token "+p.token}}).then(r=>{console.log(r.data.suggestions),n.value=r.data.suggestions,n.value.length===1&&w(n.value[0])}).catch(r=>{console.log(r)})},w=y=>{o.value.fullText=y.value,l.value=!1;const r={};r.text=y.value,r.coords=[Number(y.data.geo_lat),Number(y.data.geo_lon)],r.suggestion=y.data,t.value=r};return(y,r)=>{const f=e.resolveComponent("sw-input");return e.openBlock(),e.createElementBlock("div",$e,[e.createVNode(f,{size:"large",modelValue:o.value.fullText,"onUpdate:modelValue":r[0]||(r[0]=k=>o.value.fullText=k),placeholder:a.placeholder},null,8,["modelValue","placeholder"]),e.withDirectives(e.createElementVNode("div",De,[e.createElementVNode("ul",Te,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,(k,h)=>(e.openBlock(),e.createElementBlock("li",{tabindex:"1",key:h,onClick:i=>w(k)},e.toDisplayString(k.value),9,Me))),128))])],512),[[e.vShow,l.value]])])}}}},Symbol.toStringTag,{value:"Module"})),Ve={key:0},F={__name:"SwSkeletonItem",props:{width:{type:String,default:"100"},class:{type:String,default:""},animate:{type:Boolean,default:!1},size:{type:String,default:""}},setup(a){const o=a,l=e.computed(()=>{let t=["sw-skeleton-item"];return o.size.length>0&&t.push("sw-"+o.size),o.animate&&t.push("sw-animate"),o.class.length>0&&t.push(o.class),t}),n=e.computed(()=>({width:o.width+"%"}));return(t,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value),style:e.normalizeStyle(n.value)},[o.animate?(e.openBlock(),e.createElementBlock("div",Ve)):e.createCommentVNode("",!0)],6))}},Ne=Object.freeze(Object.defineProperty({__proto__:null,default:F},Symbol.toStringTag,{value:"Module"})),xe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSkeleton",props:{class:{type:String,default:""},visual:{type:Boolean,default:!1}},setup(a){const o=a;return(l,n)=>o.visual?e.renderSlot(l.$slots,"default",{key:0},()=>[n[0]||(n[0]=e.createTextVNode("1"))]):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["sw-skeleton",o.class])},[e.renderSlot(l.$slots,"skeleton",{},()=>[e.createVNode(F,{animate:"",size:"small"})])],2))}}},Symbol.toStringTag,{value:"Module"})),ze=["name","id"],je=["for","data-onlabel","data-offlabel"],Pe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSwitch",props:e.mergeModels({id:{type:String,default:"checkbox"},class:{type:String,default:""},name:{type:String,default:""},on:{type:String,default:""},off:{type:String,default:""},size:{type:String,default:""},checkbox:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const o=e.useModel(a,"modelValue"),l=a,n=e.computed(()=>{let t=["sw-switch"];return l.size.length>0&&t.push("sw-"+l.size),l.checkbox&&t.push("sw-checkbox"),l.class.length>0&&t.push(l.class),t});return(t,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(n.value)},[e.withDirectives(e.createElementVNode("input",{type:"checkbox",name:l.name,class:"sw-control",id:l.id,"onUpdate:modelValue":p[0]||(p[0]=m=>o.value=m)},null,8,ze),[[e.vModelCheckbox,o.value]]),e.createElementVNode("label",{for:l.id,class:"sw-label","data-onlabel":l.on,"data-offlabel":l.off},null,8,je),e.renderSlot(t.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),ve=["onClick"],Oe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabs",props:e.mergeModels({name:{type:String},class:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["tab-click"],["update:modelValue"]),setup(a,{emit:o}){e.ref(0);const l=e.ref([]),n=a,t=e.useModel(a,"modelValue"),p=o;return l.value=e.useSlots().default().filter(m=>m.type.__name==="SwTabsPane"),e.provide("activeTab",t),e.provide("tabs",l),(m,w)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("sw-tabs "+n.class)},[e.createElementVNode("header",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(y,r)=>(e.openBlock(),e.createElementBlock("span",{key:r,class:e.normalizeClass([{active:t.value===r}]),onClick:f=>{t.value=r,p("tab-click",r)}},e.toDisplayString(y.props.label||y.props.title),11,ve))),128))]),e.renderSlot(m.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Ie=["onClick"],Fe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsNew",props:e.mergeModels({name:{type:String},class:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["tab-click"],["update:modelValue"]),setup(a,{emit:o}){e.ref(0);const l=e.ref([]),n=a,t=e.useModel(a,"modelValue"),p=o;return e.provide("activeTab",t),e.provide("tabs",l),e.provide("registerTab",m=>{l.value.push(m)}),(m,w)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("sw-tabs "+n.class)},[e.createElementVNode("header",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(y,r)=>(e.openBlock(),e.createElementBlock("span",{key:r,class:e.normalizeClass([{active:t.value===r}]),onClick:f=>{t.value=r,p("tab-click",r)}},e.toDisplayString(y.props.label||y.props.title),11,Ie))),128))]),e.renderSlot(m.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Ae={key:0,class:"tab-content"},Ye=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPane",props:{title:{type:String,required:!0}},setup(a){const o=a,l=e.inject("activeTab"),n=e.inject("tabs"),t=e.computed(()=>{const p=n.value.findIndex(m=>m.props.title===o.title);return l.value===p});return(p,m)=>t.value?(e.openBlock(),e.createElementBlock("div",Ae,[e.renderSlot(p.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"})),Le={key:0,class:"tab-content"},Re=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPaneNew",props:{label:{type:String,required:!0},title:{type:String}},setup(a){const o=a,l=e.inject("registerTab");if(!l)throw new Error("SwTabsPane must be used inside SwTabs");l({props:o});const n=e.inject("activeTab");if(!e.inject("tabs"))throw new Error("Tabs array is not provided by SwTabs");const p=e.inject("tabs").value.length-1;return(m,w)=>e.unref(n)===p?(e.openBlock(),e.createElementBlock("div",Le,[e.renderSlot(m.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"}));C.components=j,C.default=G,Object.defineProperties(C,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/dist/index.js CHANGED
@@ -85,7 +85,7 @@ function O(t = {}) {
85
85
  }), n = r.mount(document.createElement("div"));
86
86
  c.appendChild(n.$el);
87
87
  }
88
- const v = /* @__PURE__ */ Object.assign({ "./components/SwAlert.vue": () => Promise.resolve().then(() => I), "./components/SwButton.vue": () => import("./SwButton-0uPLNlAn.js"), "./components/SwCollapse.vue": () => import("./SwCollapse-DxAVOWF1.js"), "./components/SwDatePicker.vue": () => import("./SwDatePicker-BunsCZt1.js"), "./components/SwDropdown.vue": () => import("./SwDropdown-oRNlcfUs.js"), "./components/SwDropdownItem.vue": () => import("./SwDropdownItem-C3_wJ1DL.js"), "./components/SwFormItem.vue": () => import("./SwFormItem-CfnEis1u.js"), "./components/SwInput.vue": () => import("./SwInput-veZYiPvK.js"), "./components/SwMessage.vue": () => import("./SwMessage-BB2yKYsR.js"), "./components/SwSection.vue": () => import("./SwSection-CaY8OFmf.js"), "./components/SwSelect.vue": () => import("./SwSelect-0vcmQ8qv.js"), "./components/SwSkeleton.vue": () => import("./SwSkeleton-DWILNFfF.js"), "./components/SwSkeletonItem.vue": () => import("./SwSkeletonItem-CU7LvihY.js"), "./components/SwSwitch.vue": () => import("./SwSwitch-BxSLWRTx.js"), "./components/SwTabs.vue": () => import("./SwTabs-DgvDpw7u.js"), "./components/SwTabsNew.vue": () => import("./SwTabsNew-Dr5Vyz6M.js"), "./components/SwTabsPane.vue": () => import("./SwTabsPane-BUUmFjh7.js"), "./components/SwTabsPaneNew.vue": () => import("./SwTabsPaneNew-DFPu-sRT.js") }), m = {};
88
+ const v = /* @__PURE__ */ Object.assign({ "./components/SwAlert.vue": () => Promise.resolve().then(() => I), "./components/SwButton.vue": () => import("./SwButton-0uPLNlAn.js"), "./components/SwCollapse.vue": () => import("./SwCollapse-DxAVOWF1.js"), "./components/SwDatePicker.vue": () => import("./SwDatePicker-w-_v2i4C.js"), "./components/SwDropdown.vue": () => import("./SwDropdown-oRNlcfUs.js"), "./components/SwDropdownItem.vue": () => import("./SwDropdownItem-C3_wJ1DL.js"), "./components/SwFormItem.vue": () => import("./SwFormItem-CfnEis1u.js"), "./components/SwInput.vue": () => import("./SwInput-veZYiPvK.js"), "./components/SwMessage.vue": () => import("./SwMessage-BB2yKYsR.js"), "./components/SwSection.vue": () => import("./SwSection-CaY8OFmf.js"), "./components/SwSelect.vue": () => import("./SwSelect-0vcmQ8qv.js"), "./components/SwSkeleton.vue": () => import("./SwSkeleton-DWILNFfF.js"), "./components/SwSkeletonItem.vue": () => import("./SwSkeletonItem-CU7LvihY.js"), "./components/SwSwitch.vue": () => import("./SwSwitch-BxSLWRTx.js"), "./components/SwTabs.vue": () => import("./SwTabs-DgvDpw7u.js"), "./components/SwTabsNew.vue": () => import("./SwTabsNew-Dr5Vyz6M.js"), "./components/SwTabsPane.vue": () => import("./SwTabsPane-BUUmFjh7.js"), "./components/SwTabsPaneNew.vue": () => import("./SwTabsPaneNew-DFPu-sRT.js") }), m = {};
89
89
  for (const t in v) {
90
90
  const o = t.split("/").pop().replace(".vue", "").replace(/-(\w)/g, (e, l) => l.toUpperCase());
91
91
  m[o] = E(() => v[t]());
@@ -98,5 +98,6 @@ const V = {
98
98
  }
99
99
  };
100
100
  export {
101
+ m as components,
101
102
  V as default
102
103
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studio-west/component-sw",
3
- "version": "0.3.4",
3
+ "version": "0.3.5",
4
4
  "description": "Vue components of Component SW collection.",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -34,7 +34,7 @@
34
34
  "@vitejs/plugin-vue": "^5.2.1",
35
35
  "sass": "^1.86.0",
36
36
  "sass-embedded": "^1.83.0",
37
- "vite": "^6.2.0"
37
+ "vite": "6.3.4"
38
38
  },
39
39
  "author": "Alexander Efimov",
40
40
  "license": "MIT"