@studio-west/component-sw 0.3.26 → 0.3.27

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.
@@ -0,0 +1,104 @@
1
+ import { computed as b, ref as u, watch as W, nextTick as M, onMounted as B, onUnmounted as T, createElementBlock as k, openBlock as f, withModifiers as p, normalizeClass as x, renderSlot as $, createBlock as H, Teleport as O, createCommentVNode as P, normalizeStyle as N, unref as q } from "vue";
2
+ const A = ["id"], U = {
3
+ __name: "SwDropdown",
4
+ props: {
5
+ class: { type: String, default: "" },
6
+ size: { type: String, default: "" },
7
+ type: { type: String, default: "" },
8
+ trigger: { type: String, default: "click" },
9
+ placement: { type: String, default: "bottom-left" },
10
+ maxWidth: { type: Number, default: 0 },
11
+ manual: { type: Boolean, default: !1 }
12
+ },
13
+ setup(S) {
14
+ const n = S;
15
+ b(() => "dropdown" + Array.from(document.body.children).indexOf(document.querySelector("ul")));
16
+ const e = u(!1), m = u(null), a = u(null), v = u({}), g = Math.ceil(Math.random() * 1e3), E = b(
17
+ () => {
18
+ let t = ["sw-dropdown"];
19
+ return n.size.length > 0 && t.push("sw-" + n.size), n.type.length > 0 && t.push("sw-" + n.type), t;
20
+ }
21
+ );
22
+ W(() => n.manual, (t) => {
23
+ e.value = t, console.log("watch", e.value), e.value && d();
24
+ });
25
+ const d = async () => {
26
+ if (await M(), !a.value) return;
27
+ const t = window.pageYOffset || document.documentElement.scrollTop, l = window.pageXOffset || document.documentElement.scrollLeft;
28
+ document.body.style.position = "fixed", document.body.style.top = `-${t}px`, document.body.style.left = `-${l}px`, document.body.style.position = "", document.body.style.top = "", document.body.style.left = "", document.documentElement.scrollTop = t, document.documentElement.scrollLeft = l;
29
+ const o = m.value.getBoundingClientRect(), r = a.value.offsetHeight, c = a.value.offsetWidth;
30
+ console.log("popupHeight", r), console.log("popupWidth", c);
31
+ let s = o.left + o.width / 2 + l, i = o.top + o.height / 2 + t;
32
+ const [L, R] = n.placement.split("-", 2);
33
+ switch (console.log(n.placement), L) {
34
+ case "bottom":
35
+ i = i + o.height / 2 + 8;
36
+ break;
37
+ case "top":
38
+ i = i - o.height / 2 - 8 - r;
39
+ break;
40
+ case "left":
41
+ s = s - c - o.width / 2 - 8, i = i - r / 2;
42
+ break;
43
+ case "right":
44
+ s = s + o.width / 2 + 8, i = i - r / 2;
45
+ break;
46
+ }
47
+ switch (R) {
48
+ case "left":
49
+ s = s - o.width / 2;
50
+ break;
51
+ case "right":
52
+ s = s - c + o.width / 2;
53
+ break;
54
+ }
55
+ s < 0 && (s = 0), i < 0 && (i = 0), v.value = {
56
+ position: "absolute",
57
+ top: `${i}px`,
58
+ left: `${s}px`,
59
+ maxWidth: n.maxWidth === 0 ? "" : `${n.maxWidth}px`
60
+ };
61
+ }, z = () => {
62
+ n.trigger === "click" && (e.value = !e.value), e.value && d();
63
+ }, w = () => {
64
+ n.trigger === "hover" && (e.value = !e.value), e.value && d();
65
+ }, C = () => {
66
+ n.trigger === "context" && (e.value = !e.value), e.value && d();
67
+ }, y = () => {
68
+ e.value && d();
69
+ }, h = (t) => {
70
+ t.target.closest(`[id="${g}"]`) || (e.value = !1);
71
+ };
72
+ return B(() => {
73
+ window.addEventListener("resize", y), window.addEventListener("click", h);
74
+ }), T(() => {
75
+ window.removeEventListener("resize", y), window.removeEventListener("click", h);
76
+ }), (t, l) => (f(), k("div", {
77
+ class: x(E.value),
78
+ onClick: l[0] || (l[0] = p((o) => z(), ["prevent"])),
79
+ onMouseover: l[1] || (l[1] = p((o) => w(), ["stop"])),
80
+ onMouseleave: l[2] || (l[2] = p((o) => w(), ["stop"])),
81
+ onContextmenu: l[3] || (l[3] = p((o) => C(), ["stop"])),
82
+ ref_key: "dropdownRef",
83
+ ref: m
84
+ }, [
85
+ $(t.$slots, "default"),
86
+ (f(), H(O, { to: "body" }, [
87
+ e.value ? (f(), k("ul", {
88
+ key: 0,
89
+ ref_key: "popupRef",
90
+ ref: a,
91
+ id: q(g),
92
+ class: x(["sw-dropdown-popup", n.class]),
93
+ style: N(v.value),
94
+ tabindex: "-1"
95
+ }, [
96
+ $(t.$slots, "dropdown")
97
+ ], 14, A)) : P("", !0)
98
+ ]))
99
+ ], 34));
100
+ }
101
+ };
102
+ export {
103
+ U as default
104
+ };
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";const j={__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 d=null;const p=()=>{t.value=!0,m()},k=()=>{t.value=!1,n("closed")},h=()=>{d&&(clearTimeout(d),d=null)},r=()=>{m()},m=()=>{d=setTimeout(k,l.duration)};e.onMounted(()=>{p()}),e.onUnmounted(()=>{d&&clearTimeout(d)});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)=>{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($.value),onMouseenter:h,onMouseleave:r},[l.before.length>0?(e.openBlock(),e.createBlock(u,{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(u,{key:2,"icon-class":l.after,onClick:k},null,8,["icon-class"])):e.renderSlot(w.$slots,"suffix",{key:3})],34)):e.createCommentVNode("",!0)]),_:3})}}},U=Object.freeze(Object.defineProperty({__proto__:null,default:j},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(j,{...a,onClose:()=>{z.removeChild(t._container),t.unmount()}})}}),d=t.mount(document.createElement("div"));z.appendChild(d.$el)}const P=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(()=>me),"./components/SwDropdownItem.vue":()=>Promise.resolve().then(()=>fe),"./components/SwFormItem.vue":()=>Promise.resolve().then(()=>ue),"./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(()=>Ne),"./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)}),v={};for(const a in P){const o=a.split("/").pop().replace(".vue","").replace(/-(\w)/g,(l,n)=>n.toUpperCase());v[o]=e.defineAsyncComponent(()=>P[a]())}const G={install(a){Object.keys(v).forEach(o=>{a.component(o,v[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,d)=>(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,d)=>(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",d={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,(p,k)=>d[k])}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,q,R,H;const l=e.ref(new Date),n=e.ref(new Date),t=a,d=o,p=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),u=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=g=>{const i=g.split(g.match(/\D.*?\D?/));return i[0].length>2?i.join("-")+"T00:00:01":i.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(C(t.data.startDate)),p.value=l.value.getFullYear(),r.value=l.value.getMonth()),typeof((L=t.data)==null?void 0:L.endDate)<"u"&&((q=t.data)==null?void 0:q.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 g=new Date(p.value,r.value,0);for(let c=g.getDate()-g.getDay()+y;c<=g.getDate()&&g.getDay()!==6+y;c++)$.value++,m.value.push({day:c,month:g.getMonth(),year:g.getFullYear(),class:[]});for(let c=1;c<=new Date(p.value,r.value+1,0).getDate();c++)$.value++,m.value.push({day:c,month:r.value,year:p.value,class:[]});if(t.range==="range"){w.value=new Date(p.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(p.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=(g,i)=>{let s=g-i+1;for(let c=0;c<=g-i;c++)m.value[c+i].class[0]==="holiday"&&s--;return s},x=(g,i)=>{console.log(i);const s=N(new Date(g.year,g.month,g.day),"{dd}.{m}.{Y}");if(t.range==="range")if(console.log(f.value),u.value!==-1){if(u.value<=f.value)for(let c=u.value;c<=f.value;c++)m.value[c].class[1]="";else for(let c=f.value;c<=u.value;c++)m.value[c].class[1]="";f.value=i,u.value=-1,m.value[i].class[1]="active"}else if(f.value!==-1){if(u.value=i,u.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=N(new Date(m.value[f.value].year,m.value[f.value].month,m.value[f.value].day),"{dd}.{m}.{Y}");f.value>i?d("input",{dateStart:s,dateEnd:c,count:b(f.value,i)}):d("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",d("input",{dateStart:s,count:1})};if(E(),typeof((R=t.data)==null?void 0:R.startDate)<"u"&&(f.value=m.value.findIndex(g=>g.day===l.value.getDate()&&g.month===r.value&&g.year===p.value),m.value[f.value].class[1]="active"),typeof((H=t.data)==null?void 0:H.endDate)<"u"&&t.range==="range"){u.value=m.value.findIndex(g=>g.day===n.value.getDate()&&g.month===k.value&&g.year===h.value),m.value[u.value].class[1]="active";for(let g=f.value+1;g<u.value;g++)m.value[g].class[1]="select"}const T=(g,i)=>{He(g,i)&&(m.value=[],$.value=0,l.value=new Date(g,i,1),p.value=l.value.getFullYear(),r.value=l.value.getMonth(),E())},He=(g,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])>g||parseInt(s[2])===g&&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])<g||parseInt(s[2])===g&&parseInt(s[1])<i+B)return!1}return!0};return(g,i)=>(e.openBlock(),e.createElementBlock("div",Q,[e.createElementVNode("div",null,[e.createElementVNode("p",Z,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:i[0]||(i[0]=e.withModifiers(s=>T(p.value-1,r.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:i[1]||(i[1]=e.withModifiers(s=>T(p.value,r.value-1),["prevent"]))},"‹")]),e.createElementVNode("span",ee,[e.createElementVNode("button",null,e.toDisplayString(p.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:i[2]||(i[2]=e.withModifiers(s=>T(p.value,r.value+1),["prevent"]))},"›"),e.createElementVNode("button",{onClick:i[3]||(i[3]=e.withModifiers(s=>T(p.value+1,r.value),["prevent"]))},"»")])]),e.createElementVNode("div",te,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(s,c)=>e.createElementVNode("button",{key:c,class:"disabled"},e.toDisplayString(e.unref(N)(new Date(1970,1,s+e.unref(y)),"{D}")),1)),64))]),e.createElementVNode("div",le,[(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(p.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&&x(s,c)}},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:i[4]||(i[4]=e.withModifiers(s=>T(p.value-1,r.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:i[5]||(i[5]=e.withModifiers(s=>T(p.value,r.value-1),["prevent"]))},"‹")]),e.createElementVNode("span",se,[e.createElementVNode("button",null,e.toDisplayString(new Date(p.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:i[6]||(i[6]=e.withModifiers(s=>T(p.value,r.value+1),["prevent"]))},"›"),e.createElementVNode("button",{onClick:i[7]||(i[7]=e.withModifiers(s=>T(p.value+1,r.value),["prevent"]))},"»")])]),e.createElementVNode("div",re,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(s,c)=>e.createElementVNode("button",{key:c,class:"disabled"},e.toDisplayString(e.unref(N)(new Date(1970,1,s+e.unref(y)),"{D}")),1)),64))]),e.createElementVNode("div",ie,[(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(p.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()&&x(s,c)}},e.toDisplayString(s.day),11,ce)):e.createCommentVNode("",!0)],64))),128))])])):e.createCommentVNode("",!0)]))}}},Symbol.toStringTag,{value:"Module"})),pe=["id"],me=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),d=e.ref({}),p=Math.ceil(Math.random()*1e3),k=e.computed(()=>{let u=["sw-dropdown"];return o.size.length>0&&u.push("sw-"+o.size),o.type.length>0&&u.push("sw-"+o.type),u});e.watch(()=>o.manual,u=>{l.value=u,console.log("watch",l.value),l.value&&h()});const h=async()=>{if(await e.nextTick(),!t.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 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+u;const[x,T]=o.placement.split("-",2);switch(console.log(o.placement),x){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),d.value={position:"absolute",top:`${b}px`,left:`${E}px`,maxWidth:o.maxWidth===0?"":`${o.maxWidth}px`}},r=u=>{o.trigger==="click"&&(l.value=!l.value),f(u),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=u=>{u.target.closest(`[id="${p}"]`)||(l.value=!1)};return e.onMounted(()=>{window.addEventListener("resize",w),window.addEventListener("click",f)}),e.onUnmounted(()=>{window.removeEventListener("resize",w),window.removeEventListener("click",f)}),(u,S)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(k.value),onClick:S[0]||(S[0]=e.withModifiers(y=>r(),["stop"])),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(u.$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(p),class:e.normalizeClass(["sw-dropdown-popup",o.class]),style:e.normalizeStyle(d.value),tabindex:"-1"},[e.renderSlot(u.$slots,"dropdown")],14,pe)):e.createCommentVNode("",!0)]))],34))}}},Symbol.toStringTag,{value:"Module"})),fe=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 d=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(l.value)},[e.createVNode(d,{"icon-class":a.iconBefore},null,8,["icon-class"]),e.renderSlot(n.$slots,"default")],2)}}}},Symbol.toStringTag,{value:"Module"})),ue=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"})),ge=(a,o)=>{const l=a.__vccOpts||a;for(const[n,t]of o)l[n]=t;return l},he={name:"SvgIcon",props:{prefix:{type:String,default:"icon"},iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExt(){return K(this.iconClass)}}},ye=["href"];function _e(a,o,l,n,t,d){return d.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,ye)],16))}const I=ge(he,[["render",_e]]),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),d=o,p=f=>{d("focusInput"),f.target.setSelectionRange(l.value.length,l.value.length),t.value!==null&&(t.value.style.top="-.6em")},k=f=>{var u;((u=l.value)==null?void 0:u.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=()=>{d("suffix")},r=()=>{d("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,u)=>{n.type==="phone"&&(l.value=$(f,u))});const $=(f,u)=>{if(/^\+[0-9]\s/.test(u)&&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 x=y.slice(0,S.length).replace(/_+/g,T=>`\\d{1,${T.length}}`).replace(/[+()]/g,"\\$&");if(x=new RegExp(`^${x}$`),b=b.replace(/[-—]$|(\) )$/g,""),!x.test(S)||S.length<5)return b};return(f,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(m.value)},[n.before.length>0?(e.openBlock(),e.createBlock(I,{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":u[0]||(u[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:p,onBlur:k,maxlength:"128"},null,40,be),[[e.vModelDynamic,l.value]]),n.after.length>0?(e.openBlock(),e.createBlock(I,{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,d)=>{const p=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(O,{link:"",type:"primary",onClick:d[0]||(d[0]=k=>o.value=!1)},{default:e.withCtx(()=>[e.createVNode(p,{"icon-class":l.iconAfter},null,8,["icon-class"])]),_:1})])])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"default",{},()=>[d[1]||(d[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"),d=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&&p()});const p=()=>{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 "+d.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"})),xe={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,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value),style:e.normalizeStyle(n.value)},[o.animate?(e.openBlock(),e.createElementBlock("div",xe)):e.createCommentVNode("",!0)],6))}},Ne=Object.freeze(Object.defineProperty({__proto__:null,default:F},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(F,{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,d)=>(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":d[0]||(d[0]=p=>o.value=p)},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"),d=o;return l.value=e.useSlots().default().filter(p=>p.type.__name==="SwTabsPane"),e.provide("activeTab",t),e.provide("tabs",l),(p,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,d("tab-click",r)}},e.toDisplayString(h.props.label||h.props.title),11,Oe))),128))]),e.renderSlot(p.$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"),d=o;return e.provide("activeTab",t),e.provide("tabs",l),e.provide("registerTab",p=>{l.value.push(p)}),(p,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,d("tab-click",r)}},e.toDisplayString(h.props.label||h.props.title),11,Fe))),128))]),e.renderSlot(p.$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 d=n.value.findIndex(p=>p.props.title===o.title);return l.value===d});return(d,p)=>t.value?(e.openBlock(),e.createElementBlock("div",Ye,[e.renderSlot(d.$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 d=e.inject("tabs").value.length-1;return(p,k)=>e.unref(n)===d?(e.openBlock(),e.createElementBlock("div",qe,[e.renderSlot(p.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"}));V.components=v,V.default=G,Object.defineProperties(V,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(V,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(V=typeof globalThis<"u"?globalThis:V||self,e(V["component-sw"]={},V.vue))})(this,function(V,e){"use strict";const j={__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 d=null;const p=()=>{t.value=!0,m()},k=()=>{t.value=!1,n("closed")},h=()=>{d&&(clearTimeout(d),d=null)},r=()=>{m()},m=()=>{d=setTimeout(k,l.duration)};e.onMounted(()=>{p()}),e.onUnmounted(()=>{d&&clearTimeout(d)});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)=>{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($.value),onMouseenter:h,onMouseleave:r},[l.before.length>0?(e.openBlock(),e.createBlock(u,{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(u,{key:2,"icon-class":l.after,onClick:k},null,8,["icon-class"])):e.renderSlot(w.$slots,"suffix",{key:3})],34)):e.createCommentVNode("",!0)]),_:3})}}},U=Object.freeze(Object.defineProperty({__proto__:null,default:j},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(j,{...a,onClose:()=>{z.removeChild(t._container),t.unmount()}})}}),d=t.mount(document.createElement("div"));z.appendChild(d.$el)}const P=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(()=>me),"./components/SwDropdownItem.vue":()=>Promise.resolve().then(()=>fe),"./components/SwFormItem.vue":()=>Promise.resolve().then(()=>ue),"./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(()=>Ne),"./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)}),v={};for(const a in P){const o=a.split("/").pop().replace(".vue","").replace(/-(\w)/g,(l,n)=>n.toUpperCase());v[o]=e.defineAsyncComponent(()=>P[a]())}const G={install(a){Object.keys(v).forEach(o=>{a.component(o,v[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,d)=>(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,d)=>(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",d={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,(p,k)=>d[k])}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,q,R,H;const l=e.ref(new Date),n=e.ref(new Date),t=a,d=o,p=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),u=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=g=>{const i=g.split(g.match(/\D.*?\D?/));return i[0].length>2?i.join("-")+"T00:00:01":i.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(C(t.data.startDate)),p.value=l.value.getFullYear(),r.value=l.value.getMonth()),typeof((L=t.data)==null?void 0:L.endDate)<"u"&&((q=t.data)==null?void 0:q.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 g=new Date(p.value,r.value,0);for(let c=g.getDate()-g.getDay()+y;c<=g.getDate()&&g.getDay()!==6+y;c++)$.value++,m.value.push({day:c,month:g.getMonth(),year:g.getFullYear(),class:[]});for(let c=1;c<=new Date(p.value,r.value+1,0).getDate();c++)$.value++,m.value.push({day:c,month:r.value,year:p.value,class:[]});if(t.range==="range"){w.value=new Date(p.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(p.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=(g,i)=>{let s=g-i+1;for(let c=0;c<=g-i;c++)m.value[c+i].class[0]==="holiday"&&s--;return s},x=(g,i)=>{console.log(i);const s=N(new Date(g.year,g.month,g.day),"{dd}.{m}.{Y}");if(t.range==="range")if(console.log(f.value),u.value!==-1){if(u.value<=f.value)for(let c=u.value;c<=f.value;c++)m.value[c].class[1]="";else for(let c=f.value;c<=u.value;c++)m.value[c].class[1]="";f.value=i,u.value=-1,m.value[i].class[1]="active"}else if(f.value!==-1){if(u.value=i,u.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=N(new Date(m.value[f.value].year,m.value[f.value].month,m.value[f.value].day),"{dd}.{m}.{Y}");f.value>i?d("input",{dateStart:s,dateEnd:c,count:b(f.value,i)}):d("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",d("input",{dateStart:s,count:1})};if(E(),typeof((R=t.data)==null?void 0:R.startDate)<"u"&&(f.value=m.value.findIndex(g=>g.day===l.value.getDate()&&g.month===r.value&&g.year===p.value),m.value[f.value].class[1]="active"),typeof((H=t.data)==null?void 0:H.endDate)<"u"&&t.range==="range"){u.value=m.value.findIndex(g=>g.day===n.value.getDate()&&g.month===k.value&&g.year===h.value),m.value[u.value].class[1]="active";for(let g=f.value+1;g<u.value;g++)m.value[g].class[1]="select"}const T=(g,i)=>{He(g,i)&&(m.value=[],$.value=0,l.value=new Date(g,i,1),p.value=l.value.getFullYear(),r.value=l.value.getMonth(),E())},He=(g,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])>g||parseInt(s[2])===g&&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])<g||parseInt(s[2])===g&&parseInt(s[1])<i+B)return!1}return!0};return(g,i)=>(e.openBlock(),e.createElementBlock("div",Q,[e.createElementVNode("div",null,[e.createElementVNode("p",Z,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:i[0]||(i[0]=e.withModifiers(s=>T(p.value-1,r.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:i[1]||(i[1]=e.withModifiers(s=>T(p.value,r.value-1),["prevent"]))},"‹")]),e.createElementVNode("span",ee,[e.createElementVNode("button",null,e.toDisplayString(p.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:i[2]||(i[2]=e.withModifiers(s=>T(p.value,r.value+1),["prevent"]))},"›"),e.createElementVNode("button",{onClick:i[3]||(i[3]=e.withModifiers(s=>T(p.value+1,r.value),["prevent"]))},"»")])]),e.createElementVNode("div",te,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(s,c)=>e.createElementVNode("button",{key:c,class:"disabled"},e.toDisplayString(e.unref(N)(new Date(1970,1,s+e.unref(y)),"{D}")),1)),64))]),e.createElementVNode("div",le,[(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(p.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&&x(s,c)}},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:i[4]||(i[4]=e.withModifiers(s=>T(p.value-1,r.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:i[5]||(i[5]=e.withModifiers(s=>T(p.value,r.value-1),["prevent"]))},"‹")]),e.createElementVNode("span",se,[e.createElementVNode("button",null,e.toDisplayString(new Date(p.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:i[6]||(i[6]=e.withModifiers(s=>T(p.value,r.value+1),["prevent"]))},"›"),e.createElementVNode("button",{onClick:i[7]||(i[7]=e.withModifiers(s=>T(p.value+1,r.value),["prevent"]))},"»")])]),e.createElementVNode("div",re,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(s,c)=>e.createElementVNode("button",{key:c,class:"disabled"},e.toDisplayString(e.unref(N)(new Date(1970,1,s+e.unref(y)),"{D}")),1)),64))]),e.createElementVNode("div",ie,[(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(p.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()&&x(s,c)}},e.toDisplayString(s.day),11,ce)):e.createCommentVNode("",!0)],64))),128))])])):e.createCommentVNode("",!0)]))}}},Symbol.toStringTag,{value:"Module"})),pe=["id"],me=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),d=e.ref({}),p=Math.ceil(Math.random()*1e3),k=e.computed(()=>{let u=["sw-dropdown"];return o.size.length>0&&u.push("sw-"+o.size),o.type.length>0&&u.push("sw-"+o.type),u});e.watch(()=>o.manual,u=>{l.value=u,console.log("watch",l.value),l.value&&h()});const h=async()=>{if(await e.nextTick(),!t.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 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+u;const[x,T]=o.placement.split("-",2);switch(console.log(o.placement),x){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),d.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=u=>{u.target.closest(`[id="${p}"]`)||(l.value=!1)};return e.onMounted(()=>{window.addEventListener("resize",w),window.addEventListener("click",f)}),e.onUnmounted(()=>{window.removeEventListener("resize",w),window.removeEventListener("click",f)}),(u,S)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(k.value),onClick:S[0]||(S[0]=e.withModifiers(y=>r(),["prevent"])),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(u.$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(p),class:e.normalizeClass(["sw-dropdown-popup",o.class]),style:e.normalizeStyle(d.value),tabindex:"-1"},[e.renderSlot(u.$slots,"dropdown")],14,pe)):e.createCommentVNode("",!0)]))],34))}}},Symbol.toStringTag,{value:"Module"})),fe=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 d=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(l.value)},[e.createVNode(d,{"icon-class":a.iconBefore},null,8,["icon-class"]),e.renderSlot(n.$slots,"default")],2)}}}},Symbol.toStringTag,{value:"Module"})),ue=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"})),ge=(a,o)=>{const l=a.__vccOpts||a;for(const[n,t]of o)l[n]=t;return l},he={name:"SvgIcon",props:{prefix:{type:String,default:"icon"},iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExt(){return K(this.iconClass)}}},ye=["href"];function _e(a,o,l,n,t,d){return d.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,ye)],16))}const I=ge(he,[["render",_e]]),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),d=o,p=f=>{d("focusInput"),f.target.setSelectionRange(l.value.length,l.value.length),t.value!==null&&(t.value.style.top="-.6em")},k=f=>{var u;((u=l.value)==null?void 0:u.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=()=>{d("suffix")},r=()=>{d("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,u)=>{n.type==="phone"&&(l.value=$(f,u))});const $=(f,u)=>{if(/^\+[0-9]\s/.test(u)&&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 x=y.slice(0,S.length).replace(/_+/g,T=>`\\d{1,${T.length}}`).replace(/[+()]/g,"\\$&");if(x=new RegExp(`^${x}$`),b=b.replace(/[-—]$|(\) )$/g,""),!x.test(S)||S.length<5)return b};return(f,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(m.value)},[n.before.length>0?(e.openBlock(),e.createBlock(I,{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":u[0]||(u[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:p,onBlur:k,maxlength:"128"},null,40,be),[[e.vModelDynamic,l.value]]),n.after.length>0?(e.openBlock(),e.createBlock(I,{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,d)=>{const p=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(O,{link:"",type:"primary",onClick:d[0]||(d[0]=k=>o.value=!1)},{default:e.withCtx(()=>[e.createVNode(p,{"icon-class":l.iconAfter},null,8,["icon-class"])]),_:1})])])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"default",{},()=>[d[1]||(d[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"),d=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&&p()});const p=()=>{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 "+d.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"})),xe={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,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value),style:e.normalizeStyle(n.value)},[o.animate?(e.openBlock(),e.createElementBlock("div",xe)):e.createCommentVNode("",!0)],6))}},Ne=Object.freeze(Object.defineProperty({__proto__:null,default:F},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(F,{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,d)=>(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":d[0]||(d[0]=p=>o.value=p)},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"),d=o;return l.value=e.useSlots().default().filter(p=>p.type.__name==="SwTabsPane"),e.provide("activeTab",t),e.provide("tabs",l),(p,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,d("tab-click",r)}},e.toDisplayString(h.props.label||h.props.title),11,Oe))),128))]),e.renderSlot(p.$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"),d=o;return e.provide("activeTab",t),e.provide("tabs",l),e.provide("registerTab",p=>{l.value.push(p)}),(p,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,d("tab-click",r)}},e.toDisplayString(h.props.label||h.props.title),11,Fe))),128))]),e.renderSlot(p.$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 d=n.value.findIndex(p=>p.props.title===o.title);return l.value===d});return(d,p)=>t.value?(e.openBlock(),e.createElementBlock("div",Ye,[e.renderSlot(d.$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 d=e.inject("tabs").value.length-1;return(p,k)=>e.unref(n)===d?(e.openBlock(),e.createElementBlock("div",qe,[e.renderSlot(p.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"}));V.components=v,V.default=G,Object.defineProperties(V,{__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-sluTaq5V.js"), "./components/SwDropdown.vue": () => import("./SwDropdown-u2sSl8Eg.js"), "./components/SwDropdownItem.vue": () => import("./SwDropdownItem-C3_wJ1DL.js"), "./components/SwFormItem.vue": () => import("./SwFormItem-CfnEis1u.js"), "./components/SwInput.vue": () => import("./SwInput-BsZFNRzn.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-sluTaq5V.js"), "./components/SwDropdown.vue": () => import("./SwDropdown-CDkk29RF.js"), "./components/SwDropdownItem.vue": () => import("./SwDropdownItem-C3_wJ1DL.js"), "./components/SwFormItem.vue": () => import("./SwFormItem-CfnEis1u.js"), "./components/SwInput.vue": () => import("./SwInput-BsZFNRzn.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]());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studio-west/component-sw",
3
- "version": "0.3.26",
3
+ "version": "0.3.27",
4
4
  "description": "Vue components of Component SW collection.",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -1,104 +0,0 @@
1
- import { computed as b, ref as r, watch as W, nextTick as M, onMounted as B, onUnmounted as T, createElementBlock as k, openBlock as m, withModifiers as p, normalizeClass as x, renderSlot as $, createBlock as H, Teleport as O, createCommentVNode as P, normalizeStyle as N, unref as q } from "vue";
2
- const A = ["id"], U = {
3
- __name: "SwDropdown",
4
- props: {
5
- class: { type: String, default: "" },
6
- size: { type: String, default: "" },
7
- type: { type: String, default: "" },
8
- trigger: { type: String, default: "click" },
9
- placement: { type: String, default: "bottom-left" },
10
- maxWidth: { type: Number, default: 0 },
11
- manual: { type: Boolean, default: !1 }
12
- },
13
- setup(S) {
14
- const l = S;
15
- b(() => "dropdown" + Array.from(document.body.children).indexOf(document.querySelector("ul")));
16
- const t = r(!1), g = r(null), a = r(null), v = r({}), w = Math.ceil(Math.random() * 1e3), E = b(
17
- () => {
18
- let e = ["sw-dropdown"];
19
- return l.size.length > 0 && e.push("sw-" + l.size), l.type.length > 0 && e.push("sw-" + l.type), e;
20
- }
21
- );
22
- W(() => l.manual, (e) => {
23
- t.value = e, console.log("watch", t.value), t.value && d();
24
- });
25
- const d = async () => {
26
- if (await M(), !a.value) return;
27
- const e = window.pageYOffset || document.documentElement.scrollTop, n = window.pageXOffset || document.documentElement.scrollLeft;
28
- document.body.style.position = "fixed", document.body.style.top = `-${e}px`, document.body.style.left = `-${n}px`, document.body.style.position = "", document.body.style.top = "", document.body.style.left = "", document.documentElement.scrollTop = e, document.documentElement.scrollLeft = n;
29
- const o = g.value.getBoundingClientRect(), u = a.value.offsetHeight, f = a.value.offsetWidth;
30
- console.log("popupHeight", u), console.log("popupWidth", f);
31
- let s = o.left + o.width / 2 + n, i = o.top + o.height / 2 + e;
32
- const [L, R] = l.placement.split("-", 2);
33
- switch (console.log(l.placement), L) {
34
- case "bottom":
35
- i = i + o.height / 2 + 8;
36
- break;
37
- case "top":
38
- i = i - o.height / 2 - 8 - u;
39
- break;
40
- case "left":
41
- s = s - f - o.width / 2 - 8, i = i - u / 2;
42
- break;
43
- case "right":
44
- s = s + o.width / 2 + 8, i = i - u / 2;
45
- break;
46
- }
47
- switch (R) {
48
- case "left":
49
- s = s - o.width / 2;
50
- break;
51
- case "right":
52
- s = s - f + o.width / 2;
53
- break;
54
- }
55
- s < 0 && (s = 0), i < 0 && (i = 0), v.value = {
56
- position: "absolute",
57
- top: `${i}px`,
58
- left: `${s}px`,
59
- maxWidth: l.maxWidth === 0 ? "" : `${l.maxWidth}px`
60
- };
61
- }, z = (e) => {
62
- l.trigger === "click" && (t.value = !t.value), c(e), t.value && d();
63
- }, y = () => {
64
- l.trigger === "hover" && (t.value = !t.value), t.value && d();
65
- }, C = () => {
66
- l.trigger === "context" && (t.value = !t.value), t.value && d();
67
- }, h = () => {
68
- t.value && d();
69
- }, c = (e) => {
70
- e.target.closest(`[id="${w}"]`) || (t.value = !1);
71
- };
72
- return B(() => {
73
- window.addEventListener("resize", h), window.addEventListener("click", c);
74
- }), T(() => {
75
- window.removeEventListener("resize", h), window.removeEventListener("click", c);
76
- }), (e, n) => (m(), k("div", {
77
- class: x(E.value),
78
- onClick: n[0] || (n[0] = p((o) => z(), ["stop"])),
79
- onMouseover: n[1] || (n[1] = p((o) => y(), ["stop"])),
80
- onMouseleave: n[2] || (n[2] = p((o) => y(), ["stop"])),
81
- onContextmenu: n[3] || (n[3] = p((o) => C(), ["stop"])),
82
- ref_key: "dropdownRef",
83
- ref: g
84
- }, [
85
- $(e.$slots, "default"),
86
- (m(), H(O, { to: "body" }, [
87
- t.value ? (m(), k("ul", {
88
- key: 0,
89
- ref_key: "popupRef",
90
- ref: a,
91
- id: q(w),
92
- class: x(["sw-dropdown-popup", l.class]),
93
- style: N(v.value),
94
- tabindex: "-1"
95
- }, [
96
- $(e.$slots, "dropdown")
97
- ], 14, A)) : P("", !0)
98
- ]))
99
- ], 34));
100
- }
101
- };
102
- export {
103
- U as default
104
- };