@studio-west/component-sw 0.3.39 → 0.3.41

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
@@ -53,7 +53,7 @@ npm install @studio-west/component-sw
53
53
 
54
54
  ### Глобальное подключение / global add to main.js:
55
55
  ```js
56
- import Library from '@studio-west/component-sw';
56
+ import { Library } from '@studio-west/component-sw';
57
57
  import '@studio-west/component-sw/dist/component-sw.css';
58
58
 
59
59
  app.use(Library)
@@ -95,11 +95,16 @@ const darkMode = () => {
95
95
  ### Пример использования / Example Usage
96
96
 
97
97
  ```js
98
+ // .js addons
99
+ import { Alert } from "@studio-west/component-sw"
100
+ Alert({message: 'Message', type: 'danger', duration:10000, before:'bell'})
101
+
98
102
  // Composition API else <script setup>:
99
103
  import {inject} from "vue"
100
- Alert({message: 'Предупреждение!', type: 'warning'})
104
+ const Alert = inject('Alert')
105
+ Alert({message: 'Alarm!', type: 'warning'})
101
106
  //Options API:
102
- this.$swAlert({message: 'Предупреждение!', type: 'warning'});
107
+ this.$Alert({message: 'Welcome!', type: 'success'});
103
108
  ```
104
109
  ---
105
110
 
@@ -0,0 +1,187 @@
1
+ import { ref as D, computed as K, createElementBlock as m, openBlock as h, createElementVNode as l, createCommentVNode as S, withModifiers as w, toDisplayString as M, unref as b, Fragment as y, renderList as Y, normalizeClass as P } from "vue";
2
+ import { p as _ } from "./index-CULud2Pn.js";
3
+ const ee = { class: "sw-data-picker" }, te = { class: "month_year" }, ae = { class: "text" }, ne = { class: "week" }, le = { class: "month" }, oe = ["onClick"], se = { key: 0 }, ue = { class: "month_year" }, ie = { class: "text" }, re = { class: "week" }, ve = { class: "month" }, ce = ["onClick"], me = {
4
+ __name: "SwDatePicker",
5
+ props: {
6
+ data: Object,
7
+ limitation: {
8
+ type: [Boolean, Array],
9
+ default: () => !1
10
+ },
11
+ range: {
12
+ type: String,
13
+ default: "solid"
14
+ }
15
+ },
16
+ emits: ["input"],
17
+ setup(R, { emit: W }) {
18
+ var z, L, O, V;
19
+ const n = R, E = W, g = D(/* @__PURE__ */ new Date()), T = D(/* @__PURE__ */ new Date()), i = D((/* @__PURE__ */ new Date()).getFullYear()), s = D((/* @__PURE__ */ new Date()).getMonth()), $ = D((/* @__PURE__ */ new Date()).getFullYear()), I = D((/* @__PURE__ */ new Date()).getMonth()), j = D((/* @__PURE__ */ new Date()).getMonth() + 1), o = D([]), C = D(0), c = D(-1), f = D(-1), q = D(navigator.languages || "ru"), k = /en|zh|ja|he/.test(q.value) ? 0 : 1;
20
+ K(() => n.range === "range" ? 2 : 1);
21
+ const d = (a) => {
22
+ let t = a.split(a.match(/\D.*?\D?/));
23
+ return t[0].length > 2 ? t.join("-") + "T00:00:01" : t.reverse().join("-") + "T00:00:01";
24
+ };
25
+ (z = n.data) != null && z.startDate && (g.value = new Date(d(n.data.startDate)), i.value = g.value.getFullYear(), s.value = g.value.getMonth()), (L = n.data) != null && L.endDate && n.range === "range" && (T.value = new Date(d(n.data.endDate)), $.value = T.value.getFullYear(), I.value = T.value.getMonth());
26
+ const B = () => {
27
+ o.value = [], C.value = 0;
28
+ const a = new Date(i.value, s.value, 0);
29
+ for (let e = a.getDate() - a.getDay() + k; e <= a.getDate(); e++)
30
+ a.getDay() !== 6 + k && (o.value.push({ day: e, month: a.getMonth(), year: a.getFullYear(), class: [] }), C.value++);
31
+ const t = new Date(i.value, s.value + 1, 0).getDate();
32
+ for (let e = 1; e <= t; e++)
33
+ o.value.push({ day: e, month: s.value, year: i.value, class: [] }), C.value++;
34
+ if (n.range === "range") {
35
+ const e = new Date(i.value, s.value + 1, 1), u = new Date(i.value, s.value + 2, 0).getDate();
36
+ for (let v = 1; v <= u; v++)
37
+ o.value.push({ day: v, month: e.getMonth(), year: e.getFullYear(), class: [] });
38
+ }
39
+ G();
40
+ }, G = () => {
41
+ var t;
42
+ if (!((t = n.data) != null && t.holiday)) return;
43
+ const a = (e, u) => {
44
+ e.forEach((v) => {
45
+ const [r, x, Z] = v.split("-").map(Number), A = o.value.findIndex((F) => F.year === r && F.month + 1 === x && F.day === Z);
46
+ A !== -1 && (o.value[A].class[0] = u);
47
+ });
48
+ };
49
+ a(n.data.holiday.preholidays, "preholiday"), a(n.data.holiday.holidays, "weekend"), a(n.data.holiday.holiday, "holiday"), a(n.data.holiday.nowork, "nowork");
50
+ }, H = () => {
51
+ if (!n.limitation || n.limitation.length < 2) return !1;
52
+ const a = [...n.limitation].sort(
53
+ (t, e) => new Date(d(t.startDate)).getTime() - new Date(d(e.startDate)).getTime()
54
+ );
55
+ for (let t = 1; t < a.length; t++) {
56
+ const e = new Date(d(a[t - 1].endDate));
57
+ if (new Date(d(a[t].startDate)) <= e)
58
+ return console.warn("Warning: Диапазоны пересекаются:", a[t - 1], a[t]), !0;
59
+ }
60
+ return !1;
61
+ }, J = (a, t) => {
62
+ if (!n.limitation) return !0;
63
+ const e = new Date(a, t, 1);
64
+ return n.limitation.some((u) => {
65
+ const v = new Date(d(u.startDate)), r = new Date(d(u.endDate));
66
+ return e >= v && e <= r;
67
+ });
68
+ }, N = (a, t) => {
69
+ const e = _(new Date(a.year, a.month, a.day), "{dd}.{m}.{Y}");
70
+ n.range === "range" ? f.value !== -1 ? (Q(), c.value = t, o.value[t].class[1] = "active") : c.value !== -1 ? (f.value = t, U(c.value, f.value, e)) : (c.value = t, o.value[t].class[1] = "active") : (c.value !== -1 && (o.value[c.value].class[1] = ""), c.value = t, o.value[t].class[1] = "active", E("input", { dateStart: e, count: 1 }));
71
+ }, Q = () => {
72
+ o.value.forEach((a) => a.class[1] = ""), c.value = -1, f.value = -1;
73
+ }, U = (a, t, e) => {
74
+ let u = _(new Date(o.value[a].year, o.value[a].month, o.value[a].day), "{dd}.{m}.{Y}"), v = X(a, t);
75
+ if (t >= a)
76
+ for (let r = a + 1; r < t; r++)
77
+ o.value[r].class[1] = "select";
78
+ else
79
+ for (let r = t + 1; r < a; r++)
80
+ o.value[r].class[1] = "select";
81
+ o.value[t].class[1] = "active", E("input", { dateStart: u, dateEnd: e, count: v });
82
+ }, X = (a, t) => {
83
+ var r;
84
+ let e = Math.abs(a - t) + 1, [u, v] = [Math.min(a, t), Math.max(a, t)];
85
+ for (let x = u; x <= v; x++)
86
+ ((r = o.value[x]) == null ? void 0 : r.class[0]) === "holiday" && e--;
87
+ return e;
88
+ }, p = (a, t) => {
89
+ J(a, t) && (g.value = new Date(a, t, 1), i.value = g.value.getFullYear(), s.value = g.value.getMonth(), B());
90
+ };
91
+ if (B(), H() && console.error("Ошибка: Найдены пересекающиеся диапазоны!"), (O = n.data) != null && O.startDate && (c.value = o.value.findIndex((a) => a.day === g.value.getDate() && a.month === s.value && a.year === i.value), c.value !== -1 && (o.value[c.value].class[1] = "active")), (V = n.data) != null && V.endDate && n.range === "range" && (f.value = o.value.findIndex((a) => a.day === T.value.getDate() && a.month === I.value && a.year === $.value), f.value !== -1)) {
92
+ o.value[f.value].class[1] = "active";
93
+ for (let a = c.value + 1; a < f.value; a++)
94
+ o.value[a].class[1] = "select";
95
+ }
96
+ return (a, t) => (h(), m("div", ee, [
97
+ l("div", null, [
98
+ l("p", te, [
99
+ l("span", null, [
100
+ l("button", {
101
+ onClick: t[0] || (t[0] = w((e) => p(i.value - 1, s.value), ["prevent"]))
102
+ }, "«"),
103
+ l("button", {
104
+ onClick: t[1] || (t[1] = w((e) => p(i.value, s.value - 1), ["prevent"]))
105
+ }, "‹")
106
+ ]),
107
+ l("span", ae, [
108
+ l("button", null, M(i.value), 1),
109
+ l("button", null, M(b(_)(g.value.setMonth(s.value), "{F}")), 1)
110
+ ]),
111
+ l("span", null, [
112
+ l("button", {
113
+ onClick: t[2] || (t[2] = w((e) => p(i.value, s.value + 1), ["prevent"]))
114
+ }, "›"),
115
+ l("button", {
116
+ onClick: t[3] || (t[3] = w((e) => p(i.value + 1, s.value), ["prevent"]))
117
+ }, "»")
118
+ ])
119
+ ]),
120
+ l("div", ne, [
121
+ (h(), m(y, null, Y(7, (e, u) => l("button", {
122
+ key: u,
123
+ class: "disabled"
124
+ }, M(b(_)(new Date(1970, 1, e + b(k)), "{D}")), 1)), 64))
125
+ ]),
126
+ l("div", le, [
127
+ (h(!0), m(y, null, Y(o.value, (e, u) => {
128
+ var v, r;
129
+ return h(), m(y, { key: u }, [
130
+ u < C.value + (7 - new Date(i.value, s.value + 1, 1).getDay() + b(k)) % 7 ? (h(), m("button", {
131
+ key: 0,
132
+ class: P(e.month === s.value && (!n.limitation || new Date(e.year, e.month, e.day + 1).getTime() > new Date(d((v = n.limitation[0]) == null ? void 0 : v.dateStart)).getTime() && new Date(e.year, e.month, e.day).getTime() < new Date(d((r = n.limitation[0]) == null ? void 0 : r.dateEnd)).getTime()) ? e.class : "disabled"),
133
+ onClick: () => {
134
+ e.month === s.value && N(e, u);
135
+ }
136
+ }, M(e.day), 11, oe)) : S("", !0)
137
+ ], 64);
138
+ }), 128))
139
+ ])
140
+ ]),
141
+ n.range === "range" ? (h(), m("div", se, [
142
+ l("p", ue, [
143
+ l("span", null, [
144
+ l("button", {
145
+ onClick: t[4] || (t[4] = w((e) => p(i.value - 1, s.value), ["prevent"]))
146
+ }, "«"),
147
+ l("button", {
148
+ onClick: t[5] || (t[5] = w((e) => p(i.value, s.value - 1), ["prevent"]))
149
+ }, "‹")
150
+ ]),
151
+ l("span", ie, [
152
+ l("button", null, M(new Date(i.value, s.value + 1).getFullYear()), 1),
153
+ l("button", null, M(b(_)(g.value.setMonth(s.value + 1), "{F}")), 1)
154
+ ]),
155
+ l("span", null, [
156
+ l("button", {
157
+ onClick: t[6] || (t[6] = w((e) => p(i.value, s.value + 1), ["prevent"]))
158
+ }, "›"),
159
+ l("button", {
160
+ onClick: t[7] || (t[7] = w((e) => p(i.value + 1, s.value), ["prevent"]))
161
+ }, "»")
162
+ ])
163
+ ]),
164
+ l("div", re, [
165
+ (h(), m(y, null, Y(7, (e, u) => l("button", {
166
+ key: u,
167
+ class: "disabled"
168
+ }, M(b(_)(new Date(1970, 1, e + b(k)), "{D}")), 1)), 64))
169
+ ]),
170
+ l("div", ve, [
171
+ (h(!0), m(y, null, Y(o.value, (e, u) => (h(), m(y, { key: u }, [
172
+ u >= C.value - (7 + new Date(i.value, s.value + 1, 1).getDay() - b(k)) % 7 ? (h(), m("button", {
173
+ key: 0,
174
+ class: P(e.month === j.value.getMonth() && (!n.limitation || new Date(e.year, e.month, e.day + 1).getTime() > new Date(d(n.limitation[0].dateStart)).getTime() && new Date(e.year, e.month, e.day).getTime() < new Date(d(n.limitation[0].dateEnd)).getTime()) ? e.class : "disabled"),
175
+ onClick: () => {
176
+ e.month === j.value.getMonth() && N(e, u);
177
+ }
178
+ }, M(e.day), 11, ce)) : S("", !0)
179
+ ], 64))), 128))
180
+ ])
181
+ ])) : S("", !0)
182
+ ]));
183
+ }
184
+ };
185
+ export {
186
+ me as default
187
+ };
@@ -1,5 +1,5 @@
1
1
  import { mergeModels as y, useModel as V, ref as C, computed as I, watch as M, createElementBlock as d, openBlock as i, normalizeClass as A, createBlock as v, renderSlot as _, createCommentVNode as x, withDirectives as E, createTextVNode as N, toDisplayString as R, createElementVNode as T, vModelDynamic as F } from "vue";
2
- import { S } from "./index-D1c23IVy.js";
2
+ import { S } from "./index-CULud2Pn.js";
3
3
  const O = ["for"], U = {
4
4
  key: 0,
5
5
  title: "Это поле обязательно для заполнения."
@@ -148,7 +148,7 @@ function w(e = {}) {
148
148
  }), t = n.mount(document.createElement("div"));
149
149
  l.appendChild(t.$el);
150
150
  }
151
- const h = /* @__PURE__ */ Object.assign({ "./components/SwAlert.vue": () => Promise.resolve().then(() => U), "./components/SwButton.vue": () => import("./SwButton-0uPLNlAn.js"), "./components/SwCollapse.vue": () => import("./SwCollapse-DxAVOWF1.js"), "./components/SwDatePicker.vue": () => import("./SwDatePicker-K9hs3Atd.js"), "./components/SwDropdown.vue": () => import("./SwDropdown-HVAlEbEM.js"), "./components/SwDropdownItem.vue": () => import("./SwDropdownItem-C3_wJ1DL.js"), "./components/SwFormItem.vue": () => import("./SwFormItem-CfnEis1u.js"), "./components/SwInput.vue": () => import("./SwInput-P5zvrBv_.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") }), d = {};
151
+ const h = /* @__PURE__ */ Object.assign({ "./components/SwAlert.vue": () => Promise.resolve().then(() => U), "./components/SwButton.vue": () => import("./SwButton-0uPLNlAn.js"), "./components/SwCollapse.vue": () => import("./SwCollapse-DxAVOWF1.js"), "./components/SwDatePicker.vue": () => import("./SwDatePicker-CSHVqky2.js"), "./components/SwDropdown.vue": () => import("./SwDropdown-HVAlEbEM.js"), "./components/SwDropdownItem.vue": () => import("./SwDropdownItem-C3_wJ1DL.js"), "./components/SwFormItem.vue": () => import("./SwFormItem-CfnEis1u.js"), "./components/SwInput.vue": () => import("./SwInput-qId9G4pR.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") }), d = {};
152
152
  for (const e in h) {
153
153
  const n = e.split("/").pop().replace(".vue", "").replace(/-(\w)/g, (t, o) => o.toUpperCase());
154
154
  d[n] = O(() => h[e]());
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- (function(V,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(V=typeof globalThis<"u"?globalThis:V||self,e(V["component-sw"]={},V.vue))})(this,function(V,e){"use strict";function W(a){return/^(https?:|mailto:|tel:)/.test(a)}function x(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,(d,k)=>p[k])}const G=(a,o)=>{const l=a.__vccOpts||a;for(const[n,t]of o)l[n]=t;return l},X={name:"SvgIcon",props:{prefix:{type:String,default:"icon"},iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExt(){return W(this.iconClass)}}},J=["href"];function K(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,J)],16))}const v=G(X,[["render",K]]),O={__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 d=()=>{t.value=!0,m()},k=()=>{t.value=!1,n("closed")},h=()=>{p&&(clearTimeout(p),p=null)},r=()=>{m()},m=()=>{p=setTimeout(k,l.duration)};e.onMounted(()=>{d()}),e.onUnmounted(()=>{p&&clearTimeout(p)});const $=e.computed(()=>{const w=["sw-alert"];return l.size.length>0&&w.push(`sw-${l.size}`),l.type.length>0&&w.push(`sw-${l.type}`),l.class.length>0&&w.push(l.class),w});return(w,f)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade"},{default:e.withCtx(()=>[t.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass($.value),onMouseenter:h,onMouseleave:r},[l.before.length>0?(e.openBlock(),e.createBlock(v,{key:0,"icon-class":l.before},null,8,["icon-class"])):e.renderSlot(w.$slots,"prefix",{key:1}),e.renderSlot(w.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(l.message),1)]),l.after.length>0?(e.openBlock(),e.createBlock(v,{key:2,"icon-class":l.after,onClick:k},null,8,["icon-class"])):e.renderSlot(w.$slots,"suffix",{key:3})],34)):e.createCommentVNode("",!0)]),_:3}))}},Q=Object.freeze(Object.defineProperty({__proto__:null,default:O},Symbol.toStringTag,{value:"Module"}));let z=document.querySelector("div.sw-alert-wrapper");function P(a={}){z||(z=document.createElement("div"),z.className="sw-alert-wrapper",document.body.appendChild(z));const o=e.createApp({setup(){return()=>e.h(O,{...a,onClose:()=>{z.removeChild(o._container),o.unmount()}})}}),l=o.mount(document.createElement("div"));z.appendChild(l.$el)}const I=Object.assign({"./components/SwAlert.vue":()=>Promise.resolve().then(()=>Q),"./components/SwButton.vue":()=>Promise.resolve().then(()=>ee),"./components/SwCollapse.vue":()=>Promise.resolve().then(()=>te),"./components/SwDatePicker.vue":()=>Promise.resolve().then(()=>ue),"./components/SwDropdown.vue":()=>Promise.resolve().then(()=>he),"./components/SwDropdownItem.vue":()=>Promise.resolve().then(()=>ye),"./components/SwFormItem.vue":()=>Promise.resolve().then(()=>_e),"./components/SwInput.vue":()=>Promise.resolve().then(()=>ke),"./components/SwMessage.vue":()=>Promise.resolve().then(()=>Ee),"./components/SwSection.vue":()=>Promise.resolve().then(()=>$e),"./components/SwSelect.vue":()=>Promise.resolve().then(()=>Ve),"./components/SwSkeleton.vue":()=>Promise.resolve().then(()=>ze),"./components/SwSkeletonItem.vue":()=>Promise.resolve().then(()=>xe),"./components/SwSwitch.vue":()=>Promise.resolve().then(()=>Pe),"./components/SwTabs.vue":()=>Promise.resolve().then(()=>Ie),"./components/SwTabsNew.vue":()=>Promise.resolve().then(()=>Ae),"./components/SwTabsPane.vue":()=>Promise.resolve().then(()=>Le),"./components/SwTabsPaneNew.vue":()=>Promise.resolve().then(()=>Re)}),j={};for(const a in I){const o=a.split("/").pop().replace(".vue","").replace(/-(\w)/g,(l,n)=>n.toUpperCase());j[o]=e.defineAsyncComponent(()=>I[a]())}const Z={install(a){Object.keys(j).forEach(o=>{a.component(o,j[o]),console.log(o)}),a.config.globalProperties.$Alert=P,a.provide("Alert",P)}},F={__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))}},ee=Object.freeze(Object.defineProperty({__proto__:null,default:F},Symbol.toStringTag,{value:"Module"})),te=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"})),le={class:"sw-data-picker"},oe={class:"month_year"},ne={class:"text"},ae={class:"week"},se={class:"month"},re=["onClick"],ie={key:0},ce={class:"month_year"},de={class:"text"},pe={class:"week"},me={class:"month"},fe=["onClick"],ue=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 Y,L,q,R,H,U;const l=e.ref(new Date),n=e.ref(new Date),t=a,p=o,d=e.ref(new Date().getFullYear()),k=e.ref(new Date().getMonth()),h=e.ref(new Date().getFullYear()),r=e.ref(new Date().getMonth()),m=e.ref([]),$=e.ref(0),w=e.ref(0),f=e.ref(-1),g=e.ref(-1),S=e.ref(navigator.languages||"ru"),y=/en|zh|ja|he/.test(S.value)?0:1,B=t.range==="range"?2:1,C=u=>{const i=u.split(u.match(/\D.*?\D?/));return i[0].length>2?i.join("-")+"T00:00:01":i.reverse().join("-")+"T00:00:01"};typeof((Y=t.data)==null?void 0:Y.startDate)<"u"&&((L=t.data)==null?void 0:L.startDate)!==null&&(l.value=new Date(C(t.data.startDate)),d.value=l.value.getFullYear(),r.value=l.value.getMonth()),typeof((q=t.data)==null?void 0:q.endDate)<"u"&&((R=t.data)==null?void 0:R.endDate)!==null&&(n.value=new Date(C(t.data.endDate)),h.value=n.value.getFullYear(),k.value=n.value.getMonth());const E=()=>{var s;let u=new Date(d.value,r.value,0);for(let c=u.getDate()-u.getDay()+y;c<=u.getDate()&&u.getDay()!==6+y;c++)$.value++,m.value.push({day:c,month:u.getMonth(),year:u.getFullYear(),class:[]});for(let c=1;c<=new Date(d.value,r.value+1,0).getDate();c++)$.value++,m.value.push({day:c,month:r.value,year:d.value,class:[]});if(t.range==="range"){w.value=new Date(d.value,r.value+2,0);for(let c=1;c<=w.value.getDate();c++)m.value.push({day:c,month:w.value.getMonth(),year:w.value.getFullYear(),class:[]})}let i=new Date(d.value,r.value+B,1);console.log(i.getDay());for(let c=1;c<=(7-i.getDay()+y)%7&&i.getDay()!==y;c++)m.value.push({day:c,month:i.getMonth(),year:i.getFullYear(),class:[]});typeof((s=t.data)==null?void 0:s.holiday)<"u"&&t.data.holiday.length!==0&&(t.data.holiday.preholidays.forEach(c=>{let _=c.split("-");const M=m.value.findIndex(D=>D.year==_[0]&&D.month+1==_[1]&&D.day==_[2]);M!==-1&&(m.value[M].class[0]="preholiday")}),t.data.holiday.holidays.forEach(c=>{let _=c.split("-");const M=m.value.findIndex(D=>D.year==_[0]&&D.month+1==_[1]&&D.day==_[2]);M!==-1&&(m.value[M].class[0]="weekend")}),t.data.holiday.holiday.forEach(c=>{let _=c.split("-");const M=m.value.findIndex(D=>D.year==_[0]&&D.month+1==_[1]&&D.day==_[2]);M!==-1&&(m.value[M].class[0]="holiday")}),t.data.holiday.nowork.forEach(c=>{let _=c.split("-");const M=m.value.findIndex(D=>D.year==_[0]&&D.month+1==_[1]&&D.day==_[2]);M!==-1&&(m.value[M].class[0]="nowork")}))},b=(u,i)=>{let s=u-i+1;for(let c=0;c<=u-i;c++)m.value[c+i].class[0]==="holiday"&&s--;return s},N=(u,i)=>{console.log(i);const s=x(new Date(u.year,u.month,u.day),"{dd}.{m}.{Y}");if(t.range==="range")if(console.log(f.value),g.value!==-1){if(g.value<=f.value)for(let c=g.value;c<=f.value;c++)m.value[c].class[1]="";else for(let c=f.value;c<=g.value;c++)m.value[c].class[1]="";f.value=i,g.value=-1,m.value[i].class[1]="active"}else if(f.value!==-1){if(g.value=i,g.value>=f.value)for(let _=f.value+1;_<i;_++)m.value[_].class[1]="select";else for(let _=i+1;_<f.value;_++)m.value[_].class[1]="select";m.value[i].class[1]="active";let c=x(new Date(m.value[f.value].year,m.value[f.value].month,m.value[f.value].day),"{dd}.{m}.{Y}");f.value>i?p("input",{dateStart:s,dateEnd:c,count:b(f.value,i)}):p("input",{dateStart:c,dateEnd:s,count:b(i,f.value)})}else f.value=i,m.value[i].class[1]="active";else f.value!==-1&&(m.value[f.value].class[1]=""),f.value=i,m.value[i].class[1]="active",p("input",{dateStart:s,count:1})};if(E(),typeof((H=t.data)==null?void 0:H.startDate)<"u"&&(f.value=m.value.findIndex(u=>u.day===l.value.getDate()&&u.month===r.value&&u.year===d.value),m.value[f.value].class[1]="active"),typeof((U=t.data)==null?void 0:U.endDate)<"u"&&t.range==="range"){g.value=m.value.findIndex(u=>u.day===n.value.getDate()&&u.month===k.value&&u.year===h.value),m.value[g.value].class[1]="active";for(let u=f.value+1;u<g.value;u++)m.value[u].class[1]="select"}const T=(u,i)=>{He(u,i)&&(m.value=[],$.value=0,l.value=new Date(u,i,1),d.value=l.value.getFullYear(),r.value=l.value.getMonth(),E())},He=(u,i)=>{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])>u||parseInt(s[2])===u&&parseInt(s[1])>i+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])<u||parseInt(s[2])===u&&parseInt(s[1])<i+B)return!1}return!0};return(u,i)=>(e.openBlock(),e.createElementBlock("div",le,[e.createElementVNode("div",null,[e.createElementVNode("p",oe,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:i[0]||(i[0]=e.withModifiers(s=>T(d.value-1,r.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:i[1]||(i[1]=e.withModifiers(s=>T(d.value,r.value-1),["prevent"]))},"‹")]),e.createElementVNode("span",ne,[e.createElementVNode("button",null,e.toDisplayString(d.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:i[2]||(i[2]=e.withModifiers(s=>T(d.value,r.value+1),["prevent"]))},"›"),e.createElementVNode("button",{onClick:i[3]||(i[3]=e.withModifiers(s=>T(d.value+1,r.value),["prevent"]))},"»")])]),e.createElementVNode("div",ae,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(s,c)=>e.createElementVNode("button",{key:c,class:"disabled"},e.toDisplayString(e.unref(x)(new Date(1970,1,s+e.unref(y)),"{D}")),1)),64))]),e.createElementVNode("div",se,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(s,c)=>{var _,M;return e.openBlock(),e.createElementBlock(e.Fragment,{key:c},[c<$.value+(7-new Date(d.value,r.value+1,1).getDay()+e.unref(y))%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(C((_=t.limitation[0])==null?void 0:_.dateStart)).getTime()&&new Date(s.year,s.month,s.day).getTime()<new Date(C((M=t.limitation[0])==null?void 0:M.dateEnd)).getTime())?s.class:"disabled"),onClick:()=>{s.month===r.value&&N(s,c)}},e.toDisplayString(s.day),11,re)):e.createCommentVNode("",!0)],64)}),128))])]),t.range==="range"?(e.openBlock(),e.createElementBlock("div",ie,[e.createElementVNode("p",ce,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:i[4]||(i[4]=e.withModifiers(s=>T(d.value-1,r.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:i[5]||(i[5]=e.withModifiers(s=>T(d.value,r.value-1),["prevent"]))},"‹")]),e.createElementVNode("span",de,[e.createElementVNode("button",null,e.toDisplayString(new Date(d.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:i[6]||(i[6]=e.withModifiers(s=>T(d.value,r.value+1),["prevent"]))},"›"),e.createElementVNode("button",{onClick:i[7]||(i[7]=e.withModifiers(s=>T(d.value+1,r.value),["prevent"]))},"»")])]),e.createElementVNode("div",pe,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(s,c)=>e.createElementVNode("button",{key:c,class:"disabled"},e.toDisplayString(e.unref(x)(new Date(1970,1,s+e.unref(y)),"{D}")),1)),64))]),e.createElementVNode("div",me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(s,c)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:c},[c>=$.value-(7+new Date(d.value,r.value+1,1).getDay()-e.unref(y))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(s.month===w.value.getMonth()&&(!t.limitation||new Date(s.year,s.month,s.day+1).getTime()>new Date(C(t.limitation[0].dateStart)).getTime()&&new Date(s.year,s.month,s.day).getTime()<new Date(C(t.limitation[0].dateEnd)).getTime())?s.class:"disabled"),onClick:()=>{s.month===w.value.getMonth()&&N(s,c)}},e.toDisplayString(s.day),11,fe)):e.createCommentVNode("",!0)],64))),128))])])):e.createCommentVNode("",!0)]))}}},Symbol.toStringTag,{value:"Module"})),ge=["id"],he=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;e.computed(()=>"dropdown"+Array.from(document.body.children).indexOf(document.querySelector("ul")));const l=e.ref(!1),n=e.ref(null),t=e.ref(null),p=e.ref({}),d=Math.ceil(Math.random()*1e3),k=e.computed(()=>{let g=["sw-dropdown"];return o.size.length>0&&g.push("sw-"+o.size),o.type.length>0&&g.push("sw-"+o.type),g});e.watch(()=>o.manual,g=>{l.value=g,console.log("watch",l.value),l.value&&h()});const h=async()=>{if(await e.nextTick(),!t.value)return;const g=window.pageYOffset||document.documentElement.scrollTop,S=window.pageXOffset||document.documentElement.scrollLeft;document.body.style.position="fixed",document.body.style.top=`-${g}px`,document.body.style.left=`-${S}px`,document.body.style.position="",document.body.style.top="",document.body.style.left="",document.documentElement.scrollTop=g,document.documentElement.scrollLeft=S;const y=n.value.getBoundingClientRect(),B=t.value.offsetHeight,C=t.value.offsetWidth;console.log("popupHeight",B),console.log("popupWidth",C);let E=y.left+y.width/2+S,b=y.top+y.height/2+g;const[N,T]=o.placement.split("-",2);switch(console.log(o.placement),N){case"bottom":b=b+y.height/2+8;break;case"top":b=b-y.height/2-8-B;break;case"left":E=E-C-y.width/2-8,b=b-B/2;break;case"right":E=E+y.width/2+8,b=b-B/2;break}switch(T){case"left":E=E-y.width/2;break;case"right":E=E-C+y.width/2;break}E<0&&(E=0),b<0&&(b=0),p.value={position:"absolute",top:`${b}px`,left:`${E}px`,maxWidth:o.maxWidth===0?"":`${o.maxWidth}px`}},r=()=>{o.trigger==="click"&&(l.value=!l.value),l.value&&h()},m=()=>{o.trigger==="hover"&&(l.value=!l.value),l.value&&h()},$=()=>{o.trigger==="context"&&(l.value=!l.value),l.value&&h()},w=()=>{l.value&&h()},f=g=>{console.log(d),!g.target.closest(`[id="${d}"]`)&&n.value&&!n.value.contains(g.target)&&(l.value=!1)};return e.onMounted(()=>{window.addEventListener("resize",w),window.addEventListener("click",f)}),e.onUnmounted(()=>{window.removeEventListener("resize",w),window.removeEventListener("click",f)}),(g,S)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(k.value),onClick:S[0]||(S[0]=y=>r()),onMouseover:S[1]||(S[1]=e.withModifiers(y=>m(),["stop"])),onMouseleave:S[2]||(S[2]=e.withModifiers(y=>m(),["stop"])),onContextmenu:S[3]||(S[3]=e.withModifiers(y=>$(),["stop"])),ref_key:"dropdownRef",ref:n},[e.renderSlot(g.$slots,"default"),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[l.value?(e.openBlock(),e.createElementBlock("ul",{key:0,ref_key:"popupRef",ref:t,id:e.unref(d),class:e.normalizeClass(["sw-dropdown-popup",o.class]),style:e.normalizeStyle(p.value),tabindex:"-1"},[e.renderSlot(g.$slots,"dropdown")],14,ge)):e.createCommentVNode("",!0)]))],34))}}},Symbol.toStringTag,{value:"Module"})),ye=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"})),_e=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"})),Se=["for"],we={key:0,title:"Это поле обязательно для заполнения."},be=["required","placeholder","type","id","name"],ke=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwInput",props:e.mergeModels({before:{type:String,default:""},after:{type:String,default:""},placeholder:{type:String,default:""},label:{type:String,default:""},name:{type:String,required:!0},class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:"text"},required:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["suffix","prefix","focusInput"],["update:modelValue"]),setup(a,{emit:o}){var w;const l=e.useModel(a,"modelValue"),n=a,t=e.ref(null),p=o,d=f=>{p("focusInput"),f.target.setSelectionRange(l.value.length,l.value.length),t.value!==null&&(t.value.style.top="-.6em")},k=f=>{var g;((g=l.value)==null?void 0:g.length)===0&&t.value!==null&&t.value.removeAttribute("style")};((w=l.value)==null?void 0:w.length)>0&&t.value!==null&&(t.value.style.top="-.6em");const h=()=>{p("suffix")},r=()=>{p("prefix")},m=e.computed(()=>{let f=["sw-input"];return n.size.length>0&&f.push("sw-"+n.size),n.class.length>0&&f.push(n.class),f});e.watch(l,(f,g)=>{n.type==="phone"&&(l.value=$(f,g))});const $=(f,g)=>{if(/^\+[0-9]\s/.test(g)&&f.length===2||/^\+0\s/.test(f))return"";const S=f;if(typeof S>"u"||S.length===0)return S;const y="+0 (___) ___-__-__";let B=0;const C=y.replace(/\D/g,""),E=S.replace(/\D/g,"");let b=y.replace(/[_\d]/g,T=>B<E.length?E.charAt(B++)||C.charAt(B):T);B=b.indexOf("_"),B!==-1&&(B=B<5?3:B,b=b.slice(0,B));let N=y.slice(0,S.length).replace(/_+/g,T=>`\\d{1,${T.length}}`).replace(/[+()]/g,"\\$&");if(N=new RegExp(`^${N}$`),b=b.replace(/[-—]$|(\) )$/g,""),!N.test(S)||S.length<5)return b};return(f,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(m.value)},[n.before.length>0?(e.openBlock(),e.createBlock(v,{key:0,"icon-class":n.before,onClick:r},null,8,["icon-class"])):e.renderSlot(f.$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",we,"*")):e.createCommentVNode("",!0)],8,Se)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":g[0]||(g[0]=S=>l.value=S),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:d,onBlur:k,maxlength:"128"},null,40,be),[[e.vModelDynamic,l.value]]),n.after.length>0?(e.openBlock(),e.createBlock(v,{key:3,"icon-class":n.after,onClick:h},null,8,["icon-class"])):e.renderSlot(f.$slots,"suffix",{key:4})],2))}}},Symbol.toStringTag,{value:"Module"})),Be={key:0},Ee=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 d=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",Be,[e.renderSlot(t.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(l.name)+" ",1),e.createVNode(F,{link:"",type:"primary",onClick:p[0]||(p[0]=k=>o.value=!1)},{default:e.withCtx(()=>[e.createVNode(d,{"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"})),$e=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"})),De={class:"popup"},Te={class:"wrapper"},Me={class:"scrollbar"},Ce=["onClick"],Ve=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,h=>{h.length>3&&(o.value.fullText=h)}),e.watch(o.value.fullText,(h,r)=>{l.value=h.length>3&&h.length>r.length,h.length>3&&d()});const d=()=>{let h="https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address";console.log(o.value.fullText),axios.post(h,{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&&k(n.value[0])}).catch(r=>{console.log(r)})},k=h=>{o.value.fullText=h.value,l.value=!1;const r={};r.text=h.value,r.coords=[Number(h.data.geo_lat),Number(h.data.geo_lon)],r.suggestion=h.data,t.value=r};return(h,r)=>{const m=e.resolveComponent("sw-input");return e.openBlock(),e.createElementBlock("div",De,[e.createVNode(m,{size:"large",modelValue:o.value.fullText,"onUpdate:modelValue":r[0]||(r[0]=$=>o.value.fullText=$),placeholder:a.placeholder},null,8,["modelValue","placeholder"]),e.withDirectives(e.createElementVNode("div",Te,[e.createElementVNode("ul",Me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,($,w)=>(e.openBlock(),e.createElementBlock("li",{tabindex:"1",key:w,onClick:f=>k($)},e.toDisplayString($.value),9,Ce))),128))])],512),[[e.vShow,l.value]])])}}}},Symbol.toStringTag,{value:"Module"})),Ne={key:0},A={__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",Ne)):e.createCommentVNode("",!0)],6))}},xe=Object.freeze(Object.defineProperty({__proto__:null,default:A},Symbol.toStringTag,{value:"Module"})),ze=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(A,{animate:"",size:"small"})])],2))}}},Symbol.toStringTag,{value:"Module"})),ve=["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]=d=>o.value=d)},null,8,ve),[[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"})),Oe=["onClick"],Ie=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(d=>d.type.__name==="SwTabsPane"),e.provide("activeTab",t),e.provide("tabs",l),(d,k)=>(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,(h,r)=>(e.openBlock(),e.createElementBlock("span",{key:r,class:e.normalizeClass([{active:t.value===r}]),onClick:m=>{t.value=r,p("tab-click",r)}},e.toDisplayString(h.props.label||h.props.title),11,Oe))),128))]),e.renderSlot(d.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Fe=["onClick"],Ae=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",d=>{l.value.push(d)}),(d,k)=>(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,(h,r)=>(e.openBlock(),e.createElementBlock("span",{key:r,class:e.normalizeClass([{active:t.value===r}]),onClick:m=>{t.value=r,p("tab-click",r)}},e.toDisplayString(h.props.label||h.props.title),11,Fe))),128))]),e.renderSlot(d.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Ye={key:0,class:"tab-content"},Le=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(d=>d.props.title===o.title);return l.value===p});return(p,d)=>t.value?(e.openBlock(),e.createElementBlock("div",Ye,[e.renderSlot(p.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"})),qe={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(d,k)=>e.unref(n)===p?(e.openBlock(),e.createElementBlock("div",qe,[e.renderSlot(d.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"}));V.Alert=P,V.Library=Z,V.components=j,Object.defineProperty(V,Symbol.toStringTag,{value:"Module"})});
1
+ (function(T,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(T=typeof globalThis<"u"?globalThis:T||self,e(T["component-sw"]={},T.vue))})(this,function(T,e){"use strict";function G(a){return/^(https?:|mailto:|tel:)/.test(a)}function x(a,l){if(arguments.length===0||!a)return null;const t=l||"{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 n="ru-RU",d={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(n,{weekday:"short"}).format(o),F:new Intl.DateTimeFormat(n,{month:"long"}).format(o),M:new Intl.DateTimeFormat(n,{month:"short"}).format(o)};return t.replace(/{(dd|[YmdGHisDFM])+}/g,(i,p)=>d[p])}const X=(a,l)=>{const t=a.__vccOpts||a;for(const[o,n]of l)t[o]=n;return t},J={name:"SvgIcon",props:{prefix:{type:String,default:"icon"},iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExt(){return G(this.iconClass)}}},Q=["href"];function Z(a,l,t,o,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"},a.$attrs),null,16)):(e.openBlock(),e.createElementBlock("svg",e.mergeProps({key:1,class:"svg-icon "+t.className,"aria-hidden":"true"},a.$attrs),[e.createElementVNode("use",{href:"#"+t.prefix+"-"+t.iconClass},null,8,Q)],16))}const P=X(J,[["render",Z]]),I={__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:l}){const t=a,o=l,n=e.ref(!1);let d=null;const i=()=>{n.value=!0,$()},p=()=>{n.value=!1,o("closed")},f=()=>{d&&(clearTimeout(d),d=null)},g=()=>{$()},$=()=>{d=setTimeout(p,t.duration)};e.onMounted(()=>{i()}),e.onUnmounted(()=>{d&&clearTimeout(d)});const m=e.computed(()=>{const k=["sw-alert"];return t.size.length>0&&k.push(`sw-${t.size}`),t.type.length>0&&k.push(`sw-${t.type}`),t.class.length>0&&k.push(t.class),k});return(k,h)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade"},{default:e.withCtx(()=>[n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(m.value),onMouseenter:f,onMouseleave:g},[t.before.length>0?(e.openBlock(),e.createBlock(P,{key:0,"icon-class":t.before},null,8,["icon-class"])):e.renderSlot(k.$slots,"prefix",{key:1}),e.renderSlot(k.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)]),t.after.length>0?(e.openBlock(),e.createBlock(P,{key:2,"icon-class":t.after,onClick:p},null,8,["icon-class"])):e.renderSlot(k.$slots,"suffix",{key:3})],34)):e.createCommentVNode("",!0)]),_:3}))}},K=Object.freeze(Object.defineProperty({__proto__:null,default:I},Symbol.toStringTag,{value:"Module"}));let z=document.querySelector("div.sw-alert-wrapper");function v(a={}){z||(z=document.createElement("div"),z.className="sw-alert-wrapper",document.body.appendChild(z));const l=e.createApp({setup(){return()=>e.h(I,{...a,onClose:()=>{z.removeChild(l._container),l.unmount()}})}}),t=l.mount(document.createElement("div"));z.appendChild(t.$el)}const A=Object.assign({"./components/SwAlert.vue":()=>Promise.resolve().then(()=>K),"./components/SwButton.vue":()=>Promise.resolve().then(()=>te),"./components/SwCollapse.vue":()=>Promise.resolve().then(()=>le),"./components/SwDatePicker.vue":()=>Promise.resolve().then(()=>ge),"./components/SwDropdown.vue":()=>Promise.resolve().then(()=>ye),"./components/SwDropdownItem.vue":()=>Promise.resolve().then(()=>_e),"./components/SwFormItem.vue":()=>Promise.resolve().then(()=>Se),"./components/SwInput.vue":()=>Promise.resolve().then(()=>De),"./components/SwMessage.vue":()=>Promise.resolve().then(()=>$e),"./components/SwSection.vue":()=>Promise.resolve().then(()=>Ee),"./components/SwSelect.vue":()=>Promise.resolve().then(()=>Ne),"./components/SwSkeleton.vue":()=>Promise.resolve().then(()=>je),"./components/SwSkeletonItem.vue":()=>Promise.resolve().then(()=>ze),"./components/SwSwitch.vue":()=>Promise.resolve().then(()=>ve),"./components/SwTabs.vue":()=>Promise.resolve().then(()=>Ie),"./components/SwTabsNew.vue":()=>Promise.resolve().then(()=>Le),"./components/SwTabsPane.vue":()=>Promise.resolve().then(()=>qe),"./components/SwTabsPaneNew.vue":()=>Promise.resolve().then(()=>He)}),O={};for(const a in A){const l=a.split("/").pop().replace(".vue","").replace(/-(\w)/g,(t,o)=>o.toUpperCase());O[l]=e.defineAsyncComponent(()=>A[a]())}const ee={install(a){Object.keys(O).forEach(l=>{a.component(l,O[l]),console.log(l)}),a.config.globalProperties.$Alert=v,a.provide("Alert",v)}},L={__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 l=a,t=()=>{if(l.href.length>0){const n=document.createElement("a");n.setAttribute("href",l.href),n.setAttribute("target","_blank"),n.click()}},o=e.computed(()=>{let n=["sw-button"];return l.size.length>0&&n.push("sw-"+l.size),l.type.length>0&&n.push("sw-"+l.type),l.round&&n.push("sw-round"),l.text&&n.push("sw-text"),l.link&&n.push("sw-link"),l.class.length>0&&n.push(l.class),n});return(n,d)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(o.value),onClick:t},[e.renderSlot(n.$slots,"default")],2))}},te=Object.freeze(Object.defineProperty({__proto__:null,default:L},Symbol.toStringTag,{value:"Module"})),le=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwCollapse",props:{visual:{type:Boolean,default:!0}},setup(a){e.onMounted(()=>{o.value="0px"});const l=e.ref(null),t=a,o=e.computed(()=>{var n;return t.visual?((n=l.value)==null?void 0:n.scrollHeight)+"px":"0px"});return(n,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sw-collapse",{open:t.visual}]),style:e.normalizeStyle({height:o.value}),ref_key:"collapse",ref:l},[e.renderSlot(n.$slots,"default")],6))}}},Symbol.toStringTag,{value:"Module"})),oe={class:"sw-data-picker"},ne={class:"month_year"},ae={class:"text"},se={class:"week"},re={class:"month"},ce=["onClick"],ie={key:0},de={class:"month_year"},pe={class:"text"},me={class:"week"},fe={class:"month"},ue=["onClick"],ge=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:l}){var q,R,H,W;const t=a,o=l,n=e.ref(new Date),d=e.ref(new Date),i=e.ref(new Date().getFullYear()),p=e.ref(new Date().getMonth()),f=e.ref(new Date().getFullYear()),g=e.ref(new Date().getMonth()),$=e.ref(new Date().getMonth()+1),m=e.ref([]),k=e.ref(0),h=e.ref(-1),u=e.ref(-1),S=e.ref(navigator.languages||"ru"),_=/en|zh|ja|he/.test(S.value)?0:1;e.computed(()=>t.range==="range"?2:1);const y=c=>{let r=c.split(c.match(/\D.*?\D?/));return r[0].length>2?r.join("-")+"T00:00:01":r.reverse().join("-")+"T00:00:01"};(q=t.data)!=null&&q.startDate&&(n.value=new Date(y(t.data.startDate)),i.value=n.value.getFullYear(),p.value=n.value.getMonth()),(R=t.data)!=null&&R.endDate&&t.range==="range"&&(d.value=new Date(y(t.data.endDate)),f.value=d.value.getFullYear(),g.value=d.value.getMonth());const M=()=>{m.value=[],k.value=0;const c=new Date(i.value,p.value,0);for(let s=c.getDate()-c.getDay()+_;s<=c.getDate();s++)c.getDay()!==6+_&&(m.value.push({day:s,month:c.getMonth(),year:c.getFullYear(),class:[]}),k.value++);const r=new Date(i.value,p.value+1,0).getDate();for(let s=1;s<=r;s++)m.value.push({day:s,month:p.value,year:i.value,class:[]}),k.value++;if(t.range==="range"){const s=new Date(i.value,p.value+1,1),w=new Date(i.value,p.value+2,0).getDate();for(let E=1;E<=w;E++)m.value.push({day:E,month:s.getMonth(),year:s.getFullYear(),class:[]})}B()},B=()=>{var r;if(!((r=t.data)!=null&&r.holiday))return;const c=(s,w)=>{s.forEach(E=>{const[D,j,Xe]=E.split("-").map(Number),U=m.value.findIndex(F=>F.year===D&&F.month+1===j&&F.day===Xe);U!==-1&&(m.value[U].class[0]=w)})};c(t.data.holiday.preholidays,"preholiday"),c(t.data.holiday.holidays,"weekend"),c(t.data.holiday.holiday,"holiday"),c(t.data.holiday.nowork,"nowork")},b=()=>{if(!t.limitation||t.limitation.length<2)return!1;const c=[...t.limitation].sort((r,s)=>new Date(y(r.startDate)).getTime()-new Date(y(s.startDate)).getTime());for(let r=1;r<c.length;r++){const s=new Date(y(c[r-1].endDate));if(new Date(y(c[r].startDate))<=s)return console.warn("Warning: Диапазоны пересекаются:",c[r-1],c[r]),!0}return!1},N=(c,r)=>{if(!t.limitation)return!0;const s=new Date(c,r,1);return t.limitation.some(w=>{const E=new Date(y(w.startDate)),D=new Date(y(w.endDate));return s>=E&&s<=D})},C=(c,r)=>{const s=x(new Date(c.year,c.month,c.day),"{dd}.{m}.{Y}");t.range==="range"?u.value!==-1?(We(),h.value=r,m.value[r].class[1]="active"):h.value!==-1?(u.value=r,Ue(h.value,u.value,s)):(h.value=r,m.value[r].class[1]="active"):(h.value!==-1&&(m.value[h.value].class[1]=""),h.value=r,m.value[r].class[1]="active",o("input",{dateStart:s,count:1}))},We=()=>{m.value.forEach(c=>c.class[1]=""),h.value=-1,u.value=-1},Ue=(c,r,s)=>{let w=x(new Date(m.value[c].year,m.value[c].month,m.value[c].day),"{dd}.{m}.{Y}"),E=Ge(c,r);if(r>=c)for(let D=c+1;D<r;D++)m.value[D].class[1]="select";else for(let D=r+1;D<c;D++)m.value[D].class[1]="select";m.value[r].class[1]="active",o("input",{dateStart:w,dateEnd:s,count:E})},Ge=(c,r)=>{var D;let s=Math.abs(c-r)+1,[w,E]=[Math.min(c,r),Math.max(c,r)];for(let j=w;j<=E;j++)((D=m.value[j])==null?void 0:D.class[0])==="holiday"&&s--;return s},V=(c,r)=>{N(c,r)&&(n.value=new Date(c,r,1),i.value=n.value.getFullYear(),p.value=n.value.getMonth(),M())};if(M(),b()&&console.error("Ошибка: Найдены пересекающиеся диапазоны!"),(H=t.data)!=null&&H.startDate&&(h.value=m.value.findIndex(c=>c.day===n.value.getDate()&&c.month===p.value&&c.year===i.value),h.value!==-1&&(m.value[h.value].class[1]="active")),(W=t.data)!=null&&W.endDate&&t.range==="range"&&(u.value=m.value.findIndex(c=>c.day===d.value.getDate()&&c.month===g.value&&c.year===f.value),u.value!==-1)){m.value[u.value].class[1]="active";for(let c=h.value+1;c<u.value;c++)m.value[c].class[1]="select"}return(c,r)=>(e.openBlock(),e.createElementBlock("div",oe,[e.createElementVNode("div",null,[e.createElementVNode("p",ne,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:r[0]||(r[0]=e.withModifiers(s=>V(i.value-1,p.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:r[1]||(r[1]=e.withModifiers(s=>V(i.value,p.value-1),["prevent"]))},"‹")]),e.createElementVNode("span",ae,[e.createElementVNode("button",null,e.toDisplayString(i.value),1),e.createElementVNode("button",null,e.toDisplayString(e.unref(x)(n.value.setMonth(p.value),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:r[2]||(r[2]=e.withModifiers(s=>V(i.value,p.value+1),["prevent"]))},"›"),e.createElementVNode("button",{onClick:r[3]||(r[3]=e.withModifiers(s=>V(i.value+1,p.value),["prevent"]))},"»")])]),e.createElementVNode("div",se,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(s,w)=>e.createElementVNode("button",{key:w,class:"disabled"},e.toDisplayString(e.unref(x)(new Date(1970,1,s+e.unref(_)),"{D}")),1)),64))]),e.createElementVNode("div",re,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(s,w)=>{var E,D;return e.openBlock(),e.createElementBlock(e.Fragment,{key:w},[w<k.value+(7-new Date(i.value,p.value+1,1).getDay()+e.unref(_))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(s.month===p.value&&(!t.limitation||new Date(s.year,s.month,s.day+1).getTime()>new Date(y((E=t.limitation[0])==null?void 0:E.dateStart)).getTime()&&new Date(s.year,s.month,s.day).getTime()<new Date(y((D=t.limitation[0])==null?void 0:D.dateEnd)).getTime())?s.class:"disabled"),onClick:()=>{s.month===p.value&&C(s,w)}},e.toDisplayString(s.day),11,ce)):e.createCommentVNode("",!0)],64)}),128))])]),t.range==="range"?(e.openBlock(),e.createElementBlock("div",ie,[e.createElementVNode("p",de,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:r[4]||(r[4]=e.withModifiers(s=>V(i.value-1,p.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:r[5]||(r[5]=e.withModifiers(s=>V(i.value,p.value-1),["prevent"]))},"‹")]),e.createElementVNode("span",pe,[e.createElementVNode("button",null,e.toDisplayString(new Date(i.value,p.value+1).getFullYear()),1),e.createElementVNode("button",null,e.toDisplayString(e.unref(x)(n.value.setMonth(p.value+1),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:r[6]||(r[6]=e.withModifiers(s=>V(i.value,p.value+1),["prevent"]))},"›"),e.createElementVNode("button",{onClick:r[7]||(r[7]=e.withModifiers(s=>V(i.value+1,p.value),["prevent"]))},"»")])]),e.createElementVNode("div",me,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(s,w)=>e.createElementVNode("button",{key:w,class:"disabled"},e.toDisplayString(e.unref(x)(new Date(1970,1,s+e.unref(_)),"{D}")),1)),64))]),e.createElementVNode("div",fe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(s,w)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:w},[w>=k.value-(7+new Date(i.value,p.value+1,1).getDay()-e.unref(_))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(s.month===$.value.getMonth()&&(!t.limitation||new Date(s.year,s.month,s.day+1).getTime()>new Date(y(t.limitation[0].dateStart)).getTime()&&new Date(s.year,s.month,s.day).getTime()<new Date(y(t.limitation[0].dateEnd)).getTime())?s.class:"disabled"),onClick:()=>{s.month===$.value.getMonth()&&C(s,w)}},e.toDisplayString(s.day),11,ue)):e.createCommentVNode("",!0)],64))),128))])])):e.createCommentVNode("",!0)]))}}},Symbol.toStringTag,{value:"Module"})),he=["id"],ye=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 l=a;e.computed(()=>"dropdown"+Array.from(document.body.children).indexOf(document.querySelector("ul")));const t=e.ref(!1),o=e.ref(null),n=e.ref(null),d=e.ref({}),i=Math.ceil(Math.random()*1e3),p=e.computed(()=>{let u=["sw-dropdown"];return l.size.length>0&&u.push("sw-"+l.size),l.type.length>0&&u.push("sw-"+l.type),u});e.watch(()=>l.manual,u=>{t.value=u,console.log("watch",t.value),t.value&&f()});const f=async()=>{if(await e.nextTick(),!n.value)return;const u=window.pageYOffset||document.documentElement.scrollTop,S=window.pageXOffset||document.documentElement.scrollLeft;document.body.style.position="fixed",document.body.style.top=`-${u}px`,document.body.style.left=`-${S}px`,document.body.style.position="",document.body.style.top="",document.body.style.left="",document.documentElement.scrollTop=u,document.documentElement.scrollLeft=S;const _=o.value.getBoundingClientRect(),y=n.value.offsetHeight,M=n.value.offsetWidth;console.log("popupHeight",y),console.log("popupWidth",M);let B=_.left+_.width/2+S,b=_.top+_.height/2+u;const[N,C]=l.placement.split("-",2);switch(console.log(l.placement),N){case"bottom":b=b+_.height/2+8;break;case"top":b=b-_.height/2-8-y;break;case"left":B=B-M-_.width/2-8,b=b-y/2;break;case"right":B=B+_.width/2+8,b=b-y/2;break}switch(C){case"left":B=B-_.width/2;break;case"right":B=B-M+_.width/2;break}B<0&&(B=0),b<0&&(b=0),d.value={position:"absolute",top:`${b}px`,left:`${B}px`,maxWidth:l.maxWidth===0?"":`${l.maxWidth}px`}},g=()=>{l.trigger==="click"&&(t.value=!t.value),t.value&&f()},$=()=>{l.trigger==="hover"&&(t.value=!t.value),t.value&&f()},m=()=>{l.trigger==="context"&&(t.value=!t.value),t.value&&f()},k=()=>{t.value&&f()},h=u=>{console.log(i),!u.target.closest(`[id="${i}"]`)&&o.value&&!o.value.contains(u.target)&&(t.value=!1)};return e.onMounted(()=>{window.addEventListener("resize",k),window.addEventListener("click",h)}),e.onUnmounted(()=>{window.removeEventListener("resize",k),window.removeEventListener("click",h)}),(u,S)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(p.value),onClick:S[0]||(S[0]=_=>g()),onMouseover:S[1]||(S[1]=e.withModifiers(_=>$(),["stop"])),onMouseleave:S[2]||(S[2]=e.withModifiers(_=>$(),["stop"])),onContextmenu:S[3]||(S[3]=e.withModifiers(_=>m(),["stop"])),ref_key:"dropdownRef",ref:o},[e.renderSlot(u.$slots,"default"),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[t.value?(e.openBlock(),e.createElementBlock("ul",{key:0,ref_key:"popupRef",ref:n,id:e.unref(i),class:e.normalizeClass(["sw-dropdown-popup",l.class]),style:e.normalizeStyle(d.value),tabindex:"-1"},[e.renderSlot(u.$slots,"dropdown")],14,he)):e.createCommentVNode("",!0)]))],34))}}},Symbol.toStringTag,{value:"Module"})),_e=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 l=a,t=e.computed(()=>{let o=["sw-dropdown-item"];return l.size.length>0&&o.push("sw-"+l.size),l.type.length>0&&o.push("sw-"+l.type),l.class.length>0&&o.push(l.class),o});return(o,n)=>{const d=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(t.value)},[e.createVNode(d,{"icon-class":a.iconBefore},null,8,["icon-class"]),e.renderSlot(o.$slots,"default")],2)}}}},Symbol.toStringTag,{value:"Module"})),Se=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwFormItem",props:{class:{type:String,default:""},type:{type:String,default:""}},setup(a){const l=a,t=e.computed(()=>{let o=["sw-form-item"];return l.type.length>0&&o.push("sw-"+l.type),l.class.length>0&&o.push(l.class),o});return(o,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value)},[e.renderSlot(o.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),we=["for"],ke={key:0,title:"Это поле обязательно для заполнения."},be=["required","placeholder","type","id","name"],De=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwInput",props:e.mergeModels({before:{type:String,default:""},after:{type:String,default:""},placeholder:{type:String,default:""},label:{type:String,default:""},name:{type:String,required:!0},class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:"text"},required:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["suffix","prefix","focusInput"],["update:modelValue"]),setup(a,{emit:l}){var k;const t=e.useModel(a,"modelValue"),o=a,n=e.ref(null),d=l,i=h=>{d("focusInput"),h.target.setSelectionRange(t.value.length,t.value.length),n.value!==null&&(n.value.style.top="-.6em")},p=h=>{var u;((u=t.value)==null?void 0:u.length)===0&&n.value!==null&&n.value.removeAttribute("style")};((k=t.value)==null?void 0:k.length)>0&&n.value!==null&&(n.value.style.top="-.6em");const f=()=>{d("suffix")},g=()=>{d("prefix")},$=e.computed(()=>{let h=["sw-input"];return o.size.length>0&&h.push("sw-"+o.size),o.class.length>0&&h.push(o.class),h});e.watch(t,(h,u)=>{o.type==="phone"&&(t.value=m(h,u))});const m=(h,u)=>{if(/^\+[0-9]\s/.test(u)&&h.length===2||/^\+0\s/.test(h))return"";const S=h;if(typeof S>"u"||S.length===0)return S;const _="+0 (___) ___-__-__";let y=0;const M=_.replace(/\D/g,""),B=S.replace(/\D/g,"");let b=_.replace(/[_\d]/g,C=>y<B.length?B.charAt(y++)||M.charAt(y):C);y=b.indexOf("_"),y!==-1&&(y=y<5?3:y,b=b.slice(0,y));let N=_.slice(0,S.length).replace(/_+/g,C=>`\\d{1,${C.length}}`).replace(/[+()]/g,"\\$&");if(N=new RegExp(`^${N}$`),b=b.replace(/[-—]$|(\) )$/g,""),!N.test(S)||S.length<5)return b};return(h,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass($.value)},[o.before.length>0?(e.openBlock(),e.createBlock(P,{key:0,"icon-class":o.before,onClick:g},null,8,["icon-class"])):e.renderSlot(h.$slots,"prefix",{key:1}),o.label.length>0?(e.openBlock(),e.createElementBlock("label",{key:2,for:o.name,ref_key:"lab",ref:n},[e.createTextVNode(e.toDisplayString(o.label),1),o.required?(e.openBlock(),e.createElementBlock("span",ke,"*")):e.createCommentVNode("",!0)],8,we)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":u[0]||(u[0]=S=>t.value=S),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:i,onBlur:p,maxlength:"128"},null,40,be),[[e.vModelDynamic,t.value]]),o.after.length>0?(e.openBlock(),e.createBlock(P,{key:3,"icon-class":o.after,onClick:f},null,8,["icon-class"])):e.renderSlot(h.$slots,"suffix",{key:4})],2))}}},Symbol.toStringTag,{value:"Module"})),Be={key:0},$e=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 l=e.useModel(a,"modelValue"),t=a,o=e.ref(null);return(n,d)=>{const i=e.resolveComponent("svg-icon");return l.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["sw-message",t.class]),ref_key:"messageRef",ref:o},[t.name.length>0?(e.openBlock(),e.createElementBlock("header",Be,[e.renderSlot(n.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createVNode(L,{link:"",type:"primary",onClick:d[0]||(d[0]=p=>l.value=!1)},{default:e.withCtx(()=>[e.createVNode(i,{"icon-class":t.iconAfter},null,8,["icon-class"])]),_:1})])])):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"default",{},()=>[d[1]||(d[1]=e.createTextVNode("111222"))]),e.createElementVNode("footer",null,[e.renderSlot(n.$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 l=a;return(t,o)=>{const n=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(l.class)},[e.createElementVNode("header",null,[e.renderSlot(t.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(l.name)+" ",1),e.createVNode(n,{"icon-class":l.iconAfter},null,8,["icon-class"])])]),e.renderSlot(t.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(t.$slots,"footer")])],2)}}}},Symbol.toStringTag,{value:"Module"})),Te={class:"popup"},Me={class:"wrapper"},Ce={class:"scrollbar"},Ve=["onClick"],Ne=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 l=e.ref({fullText:""}),t=e.ref(!1),o=e.ref([]),n=e.useModel(a,"modelValue"),d=a;e.watch(n.text,f=>{f.length>3&&(l.value.fullText=f)}),e.watch(l.value.fullText,(f,g)=>{t.value=f.length>3&&f.length>g.length,f.length>3&&i()});const i=()=>{let f="https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address";console.log(l.value.fullText),axios.post(f,{query:l.value.fullText},{headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:"Token "+d.token}}).then(g=>{console.log(g.data.suggestions),o.value=g.data.suggestions,o.value.length===1&&p(o.value[0])}).catch(g=>{console.log(g)})},p=f=>{l.value.fullText=f.value,t.value=!1;const g={};g.text=f.value,g.coords=[Number(f.data.geo_lat),Number(f.data.geo_lon)],g.suggestion=f.data,n.value=g};return(f,g)=>{const $=e.resolveComponent("sw-input");return e.openBlock(),e.createElementBlock("div",Te,[e.createVNode($,{size:"large",modelValue:l.value.fullText,"onUpdate:modelValue":g[0]||(g[0]=m=>l.value.fullText=m),placeholder:a.placeholder},null,8,["modelValue","placeholder"]),e.withDirectives(e.createElementVNode("div",Me,[e.createElementVNode("ul",Ce,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,(m,k)=>(e.openBlock(),e.createElementBlock("li",{tabindex:"1",key:k,onClick:h=>p(m)},e.toDisplayString(m.value),9,Ve))),128))])],512),[[e.vShow,t.value]])])}}}},Symbol.toStringTag,{value:"Module"})),xe={key:0},Y={__name:"SwSkeletonItem",props:{width:{type:String,default:"100"},class:{type:String,default:""},animate:{type:Boolean,default:!1},size:{type:String,default:""}},setup(a){const l=a,t=e.computed(()=>{let n=["sw-skeleton-item"];return l.size.length>0&&n.push("sw-"+l.size),l.animate&&n.push("sw-animate"),l.class.length>0&&n.push(l.class),n}),o=e.computed(()=>({width:l.width+"%"}));return(n,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value),style:e.normalizeStyle(o.value)},[l.animate?(e.openBlock(),e.createElementBlock("div",xe)):e.createCommentVNode("",!0)],6))}},ze=Object.freeze(Object.defineProperty({__proto__:null,default:Y},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(a){const l=a;return(t,o)=>l.visual?e.renderSlot(t.$slots,"default",{key:0},()=>[o[0]||(o[0]=e.createTextVNode("1"))]):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["sw-skeleton",l.class])},[e.renderSlot(t.$slots,"skeleton",{},()=>[e.createVNode(Y,{animate:"",size:"small"})])],2))}}},Symbol.toStringTag,{value:"Module"})),Pe=["name","id"],Oe=["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 l=e.useModel(a,"modelValue"),t=a,o=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(o.value)},[e.withDirectives(e.createElementVNode("input",{type:"checkbox",name:t.name,class:"sw-control",id:t.id,"onUpdate:modelValue":d[0]||(d[0]=i=>l.value=i)},null,8,Pe),[[e.vModelCheckbox,l.value]]),e.createElementVNode("label",{for:t.id,class:"sw-label","data-onlabel":t.on,"data-offlabel":t.off},null,8,Oe),e.renderSlot(n.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Fe=["onClick"],Ie=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:l}){e.ref(0);const t=e.ref([]),o=a,n=e.useModel(a,"modelValue"),d=l;return t.value=e.useSlots().default().filter(i=>i.type.__name==="SwTabsPane"),e.provide("activeTab",n),e.provide("tabs",t),(i,p)=>(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(t.value,(f,g)=>(e.openBlock(),e.createElementBlock("span",{key:g,class:e.normalizeClass([{active:n.value===g}]),onClick:$=>{n.value=g,d("tab-click",g)}},e.toDisplayString(f.props.label||f.props.title),11,Fe))),128))]),e.renderSlot(i.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Ae=["onClick"],Le=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:l}){e.ref(0);const t=e.ref([]),o=a,n=e.useModel(a,"modelValue"),d=l;return e.provide("activeTab",n),e.provide("tabs",t),e.provide("registerTab",i=>{t.value.push(i)}),(i,p)=>(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(t.value,(f,g)=>(e.openBlock(),e.createElementBlock("span",{key:g,class:e.normalizeClass([{active:n.value===g}]),onClick:$=>{n.value=g,d("tab-click",g)}},e.toDisplayString(f.props.label||f.props.title),11,Ae))),128))]),e.renderSlot(i.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Ye={key:0,class:"tab-content"},qe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPane",props:{title:{type:String,required:!0}},setup(a){const l=a,t=e.inject("activeTab"),o=e.inject("tabs"),n=e.computed(()=>{const d=o.value.findIndex(i=>i.props.title===l.title);return t.value===d});return(d,i)=>n.value?(e.openBlock(),e.createElementBlock("div",Ye,[e.renderSlot(d.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"})),Re={key:0,class:"tab-content"},He=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPaneNew",props:{label:{type:String,required:!0},title:{type:String}},setup(a){const l=a,t=e.inject("registerTab");if(!t)throw new Error("SwTabsPane must be used inside SwTabs");t({props:l});const o=e.inject("activeTab");if(!e.inject("tabs"))throw new Error("Tabs array is not provided by SwTabs");const d=e.inject("tabs").value.length-1;return(i,p)=>e.unref(o)===d?(e.openBlock(),e.createElementBlock("div",Re,[e.renderSlot(i.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"}));T.Alert=v,T.Library=ee,T.components=O,Object.defineProperty(T,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-D1c23IVy.js";
2
+ import { A as s, L as t, c as e } from "./index-CULud2Pn.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.3.39",
3
+ "version": "0.3.41",
4
4
  "description": "Vue components of Component SW collection.",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -1,190 +0,0 @@
1
- import { ref as f, createElementBlock as g, openBlock as h, createElementVNode as o, createCommentVNode as k, withModifiers as y, toDisplayString as b, unref as M, Fragment as C, renderList as F, normalizeClass as G } from "vue";
2
- import { p as E } from "./index-D1c23IVy.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 = {
4
- __name: "SwDatePicker",
5
- props: {
6
- data: Object,
7
- limitation: { type: [Boolean, Array], default: () => !1 },
8
- // {endDate: '14-04-2025', startDate:'30-03-2025'}
9
- range: { type: String, default: () => "solid" }
10
- // range | solid
11
- },
12
- emits: ["input"],
13
- setup(H, { emit: J }) {
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"), p = /en|zh|ja|he/.test(K.value) ? 0 : 1, j = l.range === "range" ? 2 : 1, x = (n) => {
16
- const t = n.split(n.match(/\D.*?\D?/));
17
- return t[0].length > 2 ? t.join("-") + "T00:00:01" : t.reverse().join("-") + "T00:00:01";
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());
20
- const B = () => {
21
- var e;
22
- let n = new Date(r.value, s.value, 0);
23
- for (let a = n.getDate() - n.getDay() + p; a <= n.getDate() && n.getDay() !== 6 + p; 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: [] });
27
- if (l.range === "range") {
28
- _.value = new Date(r.value, s.value + 2, 0);
29
- for (let a = 1; a <= _.value.getDate(); a++)
30
- u.value.push({ day: a, month: _.value.getMonth(), year: _.value.getFullYear(), class: [] });
31
- }
32
- let t = new Date(r.value, s.value + j, 1);
33
- console.log(t.getDay());
34
- for (let a = 1; a <= (7 - t.getDay() + p) % 7 && t.getDay() !== p; a++)
35
- u.value.push({ day: a, month: t.getMonth(), year: t.getFullYear(), class: [] });
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");
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");
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");
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");
52
- }));
53
- }, z = (n, t) => {
54
- let e = n - t + 1;
55
- for (let a = 0; a <= n - t; a++)
56
- u.value[a + t].class[0] === "holiday" && e--;
57
- return e;
58
- }, N = (n, t) => {
59
- console.log(t);
60
- const e = E(new Date(n.year, n.month, n.day), "{dd}.{m}.{Y}");
61
- if (l.range === "range")
62
- if (console.log(v.value), m.value !== -1) {
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";
67
- } else if (v.value !== -1) {
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}");
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
- } else
75
- v.value = t, u.value[t].class[1] = "active";
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 });
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";
82
- }
83
- const w = (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());
85
- }, Q = (n, t) => {
86
- if (!l.limitation) return !0;
87
- if (l.limitation[0].dateStart) {
88
- console.log(l.limitation[0].dateStart);
89
- let e = l.limitation[0].dateStart.split(l.limitation[0].dateStart.match(/\D.*?\D?/));
90
- if (e[0].length > 2 && e.reverse(), parseInt(e[2]) > n || parseInt(e[2]) === n && parseInt(e[1]) > t + 1) return !1;
91
- }
92
- if (l.limitation[l.limitation.length - 1].dateEnd) {
93
- console.log(l.limitation[l.limitation.length - 1].dateEnd);
94
- let e = l.limitation[l.limitation.length - 1].dateEnd.split(l.limitation[l.limitation.length - 1].dateEnd.match(/\D.*?\D?/));
95
- if (e[0].length > 2 && e.reverse(), parseInt(e[2]) < n || parseInt(e[2]) === n && parseInt(e[1]) < t + j) return !1;
96
- }
97
- return !0;
98
- };
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] = y((e) => w(r.value - 1, s.value), ["prevent"]))
105
- }, "«"),
106
- o("button", {
107
- onClick: t[1] || (t[1] = y((e) => w(r.value, s.value - 1), ["prevent"]))
108
- }, "‹")
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)
113
- ]),
114
- o("span", null, [
115
- o("button", {
116
- onClick: t[2] || (t[2] = y((e) => w(r.value, s.value + 1), ["prevent"]))
117
- }, "›"),
118
- o("button", {
119
- onClick: t[3] || (t[3] = y((e) => w(r.value + 1, s.value), ["prevent"]))
120
- }, "»")
121
- ])
122
- ]),
123
- o("div", X, [
124
- (h(), g(C, null, F(7, (e, a) => o("button", {
125
- key: a,
126
- class: "disabled"
127
- }, b(M(E)(new Date(1970, 1, e + M(p)), "{D}")), 1)), 64))
128
- ]),
129
- o("div", Z, [
130
- (h(!0), g(C, null, F(u.value, (e, a) => {
131
- var i, c;
132
- return h(), g(C, { key: a }, [
133
- a < I.value + (7 - new Date(r.value, s.value + 1, 1).getDay() + M(p)) % 7 ? (h(), g("button", {
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"),
136
- onClick: () => {
137
- e.month === s.value && N(e, a);
138
- }
139
- }, b(e.day), 11, ee)) : k("", !0)
140
- ], 64);
141
- }), 128))
142
- ])
143
- ]),
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] = y((e) => w(r.value - 1, s.value), ["prevent"]))
149
- }, "«"),
150
- o("button", {
151
- onClick: t[5] || (t[5] = y((e) => w(r.value, s.value - 1), ["prevent"]))
152
- }, "‹")
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)
157
- ]),
158
- o("span", null, [
159
- o("button", {
160
- onClick: t[6] || (t[6] = y((e) => w(r.value, s.value + 1), ["prevent"]))
161
- }, "›"),
162
- o("button", {
163
- onClick: t[7] || (t[7] = y((e) => w(r.value + 1, s.value), ["prevent"]))
164
- }, "»")
165
- ])
166
- ]),
167
- o("div", ne, [
168
- (h(), g(C, null, F(7, (e, a) => o("button", {
169
- key: a,
170
- class: "disabled"
171
- }, b(M(E)(new Date(1970, 1, e + M(p)), "{D}")), 1)), 64))
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(p)) % 7 ? (h(), g("button", {
176
- key: 0,
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
- onClick: () => {
179
- e.month === _.value.getMonth() && N(e, a);
180
- }
181
- }, b(e.day), 11, oe)) : k("", !0)
182
- ], 64))), 128))
183
- ])
184
- ])) : k("", !0)
185
- ]));
186
- }
187
- };
188
- export {
189
- ve as default
190
- };