@studio-west/component-sw 0.5.1 → 0.5.3
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/dist/{SwDatePicker-DjhJWx47.js → SwDatePicker-CGC0_v51.js} +1 -1
- package/dist/SwDropdown-CKg8uOOQ.js +105 -0
- package/dist/{SwInput-DHoKvPrF.js → SwInput-CEhU1mf6.js} +1 -1
- package/dist/{index-Byt6ef6P.js → index-BL-HtnNr.js} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/SwDropdown-BoaWEEyR.js +0 -105
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ref as f, computed as te, createElementBlock as v, openBlock as i, createElementVNode as s, createCommentVNode as S, withModifiers as g, toDisplayString as y, unref as M, Fragment as _, renderList as Y, normalizeClass as H } from "vue";
|
|
2
|
-
import { p as x } from "./index-
|
|
2
|
+
import { p as x } from "./index-BL-HtnNr.js";
|
|
3
3
|
const ae = { class: "sw-data-picker" }, ne = { class: "month_year" }, le = { class: "text" }, oe = {
|
|
4
4
|
key: 0,
|
|
5
5
|
class: "week"
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { mergeModels as B, computed as x, useModel as O, ref as f, onMounted as V, onUnmounted as P, createElementBlock as $, openBlock as m, withModifiers as w, normalizeClass as S, renderSlot as E, createBlock as N, Teleport as q, createCommentVNode as A, normalizeStyle as D, unref as U, nextTick as X } from "vue";
|
|
2
|
+
const Y = ["id"], F = {
|
|
3
|
+
__name: "SwDropdown",
|
|
4
|
+
props: /* @__PURE__ */ B({
|
|
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
|
+
}, {
|
|
12
|
+
modelValue: {},
|
|
13
|
+
modelModifiers: {}
|
|
14
|
+
}),
|
|
15
|
+
emits: ["update:modelValue"],
|
|
16
|
+
setup(g, { expose: M }) {
|
|
17
|
+
const i = g;
|
|
18
|
+
x(() => "dropdown" + Array.from(document.body.children).indexOf(document.querySelector("ul")));
|
|
19
|
+
const s = O(g, "modelValue"), p = f(null), c = f(null), v = f({}), h = Math.ceil(Math.random() * 1e3), W = x(
|
|
20
|
+
() => {
|
|
21
|
+
let t = ["sw-dropdown"];
|
|
22
|
+
return i.size.length > 0 && t.push("sw-" + i.size), i.type.length > 0 && t.push("sw-" + i.type), t;
|
|
23
|
+
}
|
|
24
|
+
), a = async () => {
|
|
25
|
+
if (await X(), !c.value) return;
|
|
26
|
+
const t = window.pageYOffset || document.documentElement.scrollTop, l = window.pageXOffset || document.documentElement.scrollLeft;
|
|
27
|
+
document.body.style.position = "fixed", document.body.style.top = `-${t}px`, document.body.style.left = `-${l}px`, document.body.style.position = "", document.body.style.top = "", document.body.style.left = "", document.documentElement.scrollTop = t, document.documentElement.scrollLeft = l;
|
|
28
|
+
const e = p.value.getBoundingClientRect(), L = window.innerWidth, R = window.innerHeight, d = c.value.offsetHeight, r = c.value.offsetWidth;
|
|
29
|
+
console.log("popupHeight", d), console.log("popupWidth", r);
|
|
30
|
+
let o = e.left + e.width / 2 + l, n = e.top + e.height / 2 + t, u = e.height / 2 + 8;
|
|
31
|
+
const [H, T] = i.placement.split("-", 2);
|
|
32
|
+
switch (console.log(i.placement), H) {
|
|
33
|
+
case "bottom":
|
|
34
|
+
n = t + R - d - u - 8 < n ? n - u - d : n + u;
|
|
35
|
+
break;
|
|
36
|
+
case "top":
|
|
37
|
+
n = t + d + u + 8 > n ? n + u : n - u - d;
|
|
38
|
+
break;
|
|
39
|
+
case "left":
|
|
40
|
+
o = o - r - e.width / 2 - 8, n = n - d / 2;
|
|
41
|
+
break;
|
|
42
|
+
case "right":
|
|
43
|
+
o = o + e.width / 2 + 8, n = n - d / 2;
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
switch (T) {
|
|
47
|
+
case "left":
|
|
48
|
+
o = l + L - 8 > o - e.width / 2 + r ? o - e.width / 2 : o - r + e.width / 2;
|
|
49
|
+
break;
|
|
50
|
+
case "right":
|
|
51
|
+
o = 8 < o + e.width / 2 - r ? o - r + e.width / 2 : o - e.width / 2;
|
|
52
|
+
break;
|
|
53
|
+
}
|
|
54
|
+
o < 0 && (o = 0), n < 0 && (n = 0), v.value = {
|
|
55
|
+
position: "absolute",
|
|
56
|
+
top: `${n}px`,
|
|
57
|
+
left: `${o}px`,
|
|
58
|
+
maxWidth: i.maxWidth === 0 ? "" : `${i.maxWidth}px`
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
M({ positionPopup: a });
|
|
62
|
+
const z = () => {
|
|
63
|
+
i.trigger === "click" && (s.value = !s.value), s.value && a();
|
|
64
|
+
}, y = () => {
|
|
65
|
+
i.trigger === "hover" && (s.value = !s.value), s.value && a();
|
|
66
|
+
}, C = () => {
|
|
67
|
+
i.trigger === "context" && (s.value = !s.value), s.value && a();
|
|
68
|
+
}, b = () => {
|
|
69
|
+
s.value && a();
|
|
70
|
+
}, k = (t) => {
|
|
71
|
+
!t.target.closest(`[id="${h}"]`) && p.value && !p.value.contains(t.target) && (s.value = !1);
|
|
72
|
+
};
|
|
73
|
+
return V(() => {
|
|
74
|
+
window.addEventListener("resize", b), window.addEventListener("click", k);
|
|
75
|
+
}), P(() => {
|
|
76
|
+
window.removeEventListener("resize", b), window.removeEventListener("click", k);
|
|
77
|
+
}), (t, l) => (m(), $("div", {
|
|
78
|
+
class: S(W.value),
|
|
79
|
+
onClick: l[0] || (l[0] = (e) => z()),
|
|
80
|
+
onMouseover: l[1] || (l[1] = w((e) => y(), ["stop"])),
|
|
81
|
+
onMouseleave: l[2] || (l[2] = w((e) => y(), ["stop"])),
|
|
82
|
+
onContextmenu: l[3] || (l[3] = w((e) => C(), ["stop"])),
|
|
83
|
+
ref_key: "dropdownRef",
|
|
84
|
+
ref: p
|
|
85
|
+
}, [
|
|
86
|
+
E(t.$slots, "default"),
|
|
87
|
+
(m(), N(q, { to: "body" }, [
|
|
88
|
+
s.value ? (m(), $("ul", {
|
|
89
|
+
key: 0,
|
|
90
|
+
ref_key: "popupRef",
|
|
91
|
+
ref: c,
|
|
92
|
+
id: U(h),
|
|
93
|
+
class: S(["sw-dropdown-popup", i.class]),
|
|
94
|
+
style: D(v.value),
|
|
95
|
+
tabindex: "-1"
|
|
96
|
+
}, [
|
|
97
|
+
E(t.$slots, "dropdown")
|
|
98
|
+
], 14, Y)) : A("", !0)
|
|
99
|
+
]))
|
|
100
|
+
], 34));
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
export {
|
|
104
|
+
F as default
|
|
105
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { mergeModels as y, useModel as V, ref as C, computed as I, watch as M, createElementBlock as d, openBlock as i, normalizeClass as A, createBlock as v, renderSlot as _, createCommentVNode as x, withDirectives as E, createTextVNode as N, toDisplayString as R, createElementVNode as T, vModelDynamic as F } from "vue";
|
|
2
|
-
import { S } from "./index-
|
|
2
|
+
import { S } from "./index-BL-HtnNr.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-ByvwHeVt.js"), "./components/SwDatePicker.vue": () => import("./SwDatePicker-
|
|
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-ByvwHeVt.js"), "./components/SwDatePicker.vue": () => import("./SwDatePicker-CGC0_v51.js"), "./components/SwDropdown.vue": () => import("./SwDropdown-CKg8uOOQ.js"), "./components/SwDropdownItem.vue": () => import("./SwDropdownItem-C3_wJ1DL.js"), "./components/SwFormItem.vue": () => import("./SwFormItem-CfnEis1u.js"), "./components/SwInput.vue": () => import("./SwInput-CEhU1mf6.js"), "./components/SwMessage.vue": () => import("./SwMessage-DQcnzMZB.js"), "./components/SwSection.vue": () => import("./SwSection-CQfw3-el.js"), "./components/SwSelect.vue": () => import("./SwSelect-C2RKinez.js"), "./components/SwSkeleton.vue": () => import("./SwSkeleton-B7ysp8L9.js"), "./components/SwSkeletonItem.vue": () => import("./SwSkeletonItem-CU7LvihY.js"), "./components/SwSwitch.vue": () => import("./SwSwitch-BxSLWRTx.js"), "./components/SwTabs.vue": () => import("./SwTabs-DkSI4oAh.js"), "./components/SwTabsPane.vue": () => import("./SwTabsPane-Dwtj8g7T.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] = P(() => h[e]());
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(z,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(z=typeof globalThis<"u"?globalThis:z||self,e(z["component-sw"]={},z.vue))})(this,function(z,e){"use strict";function Z(a){return/^(https?:|mailto:|tel:)/.test(a)}function v(a,n){if(arguments.length===0||!a)return null;const t=n||"{Y}-{m}-{d} {G}:{i}:{s}";let l;typeof a=="object"?l=a:(typeof a=="string"&&(/^[0-9]+$/.test(a)?a=parseInt(a):a=a.replace(new RegExp(/-/gm),"/")),typeof a=="number"&&a.toString().length===10&&(a=a*1e3),l=new Date(a));const o="ru-RU",c={Y:l.getFullYear(),m:(l.getMonth()+1).toString().padStart(2,"0"),d:l.getDate(),dd:l.getDate().toString().padStart(2,"0"),G:l.getHours(),H:l.getHours().toString().padStart(2,"0"),i:l.getMinutes().toString().padStart(2,"0"),s:l.getSeconds().toString().padStart(2,"0"),D:new Intl.DateTimeFormat(o,{weekday:"short"}).format(l),F:new Intl.DateTimeFormat(o,{month:"long"}).format(l),M:new Intl.DateTimeFormat(o,{month:"short"}).format(l)};return t.replace(/{(dd|[YmdGHisDFM])+}/g,(k,p)=>c[p])}const K=(a,n)=>{const t=a.__vccOpts||a;for(const[l,o]of n)t[l]=o;return t},ee={name:"SvgIcon",props:{prefix:{type:String,default:"icon"},iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExt(){return Z(this.iconClass)}}},te=["href"];function le(a,n,t,l,o,c){return c.isExt?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,style:"mask: url("+t.iconClass+") no-repeat 50% 50%;",class:"svg-external-icon svg-icon"},a.$attrs),null,16)):(e.openBlock(),e.createElementBlock("svg",e.mergeProps({key:1,class:"svg-icon "+t.className,"aria-hidden":"true"},a.$attrs),[e.createElementVNode("use",{href:"#"+t.prefix+"-"+t.iconClass},null,8,te)],16))}const I=K(ee,[["render",le]]),q={__name:"SwAlert",props:{message:{type:String,default:"Default message"},before:{type:String,default:""},class:{type:String,default:""},after:{type:String,default:""},size:{type:String,default:""},duration:{type:Number,default:6e3},type:{type:String,default:"info",validator:a=>["success","warning","error","info"].includes(a)}},emits:["closed"],setup(a,{emit:n}){const t=a,l=n,o=e.ref(!1);let c=null;const k=()=>{o.value=!0,E()},p=()=>{o.value=!1,l("closed")},d=()=>{c&&(clearTimeout(c),c=null)},g=()=>{E()},E=()=>{c=setTimeout(p,t.duration)};e.onMounted(()=>{k()}),e.onUnmounted(()=>{c&&clearTimeout(c)});const b=e.computed(()=>{const m=["sw-alert"];return t.size.length>0&&m.push(`sw-${t.size}`),t.type.length>0&&m.push(`sw-${t.type}`),t.class.length>0&&m.push(t.class),m});return(m,y)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(b.value),onMouseenter:d,onMouseleave:g},[t.before.length>0?(e.openBlock(),e.createBlock(I,{key:0,"icon-class":t.before},null,8,["icon-class"])):e.renderSlot(m.$slots,"prefix",{key:1}),e.renderSlot(m.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)]),t.after.length>0?(e.openBlock(),e.createBlock(I,{key:2,"icon-class":t.after,onClick:p},null,8,["icon-class"])):e.renderSlot(m.$slots,"suffix",{key:3})],34)):e.createCommentVNode("",!0)]),_:3}))}},oe=Object.freeze(Object.defineProperty({__proto__:null,default:q},Symbol.toStringTag,{value:"Module"}));let j=document.querySelector("div.sw-alert-wrapper");function L(a={}){j||(j=document.createElement("div"),j.className="sw-alert-wrapper",document.body.appendChild(j));const n=e.createApp({setup(){return()=>e.h(q,{...a,onClose:()=>{j.removeChild(n._container),n.unmount()}})}}),t=n.mount(document.createElement("div"));j.appendChild(t.$el)}const H=Object.assign({"./components/SwAlert.vue":()=>Promise.resolve().then(()=>oe),"./components/SwButton.vue":()=>Promise.resolve().then(()=>ae),"./components/SwCollapse.vue":()=>Promise.resolve().then(()=>se),"./components/SwDatePicker.vue":()=>Promise.resolve().then(()=>Be),"./components/SwDropdown.vue":()=>Promise.resolve().then(()=>$e),"./components/SwDropdownItem.vue":()=>Promise.resolve().then(()=>Ee),"./components/SwFormItem.vue":()=>Promise.resolve().then(()=>Me),"./components/SwInput.vue":()=>Promise.resolve().then(()=>xe),"./components/SwMessage.vue":()=>Promise.resolve().then(()=>Ne),"./components/SwSection.vue":()=>Promise.resolve().then(()=>ve),"./components/SwSelect.vue":()=>Promise.resolve().then(()=>Ie),"./components/SwSkeleton.vue":()=>Promise.resolve().then(()=>Ye),"./components/SwSkeletonItem.vue":()=>Promise.resolve().then(()=>Le),"./components/SwSwitch.vue":()=>Promise.resolve().then(()=>He),"./components/SwTabs.vue":()=>Promise.resolve().then(()=>Ge),"./components/SwTabsPane.vue":()=>Promise.resolve().then(()=>Je)}),A={};for(const a in H){const n=a.split("/").pop().replace(".vue","").replace(/-(\w)/g,(t,l)=>l.toUpperCase());A[n]=e.defineAsyncComponent(()=>H[a]())}const ne={install(a){Object.keys(A).forEach(n=>{a.component(n,A[n]),console.log(n)}),a.config.globalProperties.$Alert=L,a.provide("Alert",L)}},U={__name:"SwButton",props:{class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:""},round:{type:Boolean,default:!1},text:{type:Boolean,default:!1},link:{type:Boolean,default:!1},href:{type:String,default:""}},setup(a){const n=a,t=()=>{if(n.href.length>0){const o=document.createElement("a");o.setAttribute("href",n.href),o.setAttribute("target","_blank"),o.click()}},l=e.computed(()=>{let o=["sw-button"];return n.size.length>0&&o.push("sw-"+n.size),n.type.length>0&&o.push("sw-"+n.type),n.round&&o.push("sw-round"),n.text&&o.push("sw-text"),n.link&&o.push("sw-link"),n.class.length>0&&o.push(n.class),o});return(o,c)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(l.value),onClick:t},[e.renderSlot(o.$slots,"default")],2))}},ae=Object.freeze(Object.defineProperty({__proto__:null,default:U},Symbol.toStringTag,{value:"Module"})),se=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwCollapse",props:{visual:{type:Boolean,default:!0}},setup(a){e.onMounted(()=>{l.value="0px"});const n=e.ref(null),t=a;e.watch(()=>t.visual,()=>o());const l=e.ref("0px"),o=()=>{n.value&&(l.value=t.visual?n.value.scrollHeight+"px":"0px")};let c;return e.onMounted(()=>{o(),n.value&&(c=new ResizeObserver(o),c.observe(n.value))}),e.onBeforeUnmount(()=>{c&&c.disconnect()}),(k,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sw-collapse",{open:t.visual}]),style:e.normalizeStyle({height:l.value}),ref_key:"collapse",ref:n},[e.renderSlot(k.$slots,"default")],6))}}},Symbol.toStringTag,{value:"Module"})),re={class:"sw-data-picker"},ie={class:"month_year"},ce={class:"text"},de={key:0,class:"week"},pe={key:1,class:"year"},me=["onClick"],fe={key:2,class:"month"},ue=["onClick"],ge={key:0},he={class:"month_year"},ye={class:"text"},ke={key:0,class:"week"},_e={key:1,class:"year"},Se=["onClick"],we={key:2,class:"month"},be=["onClick"],Be=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDatePicker",props:{data:Object,limitation:{type:[Boolean,Array],default:()=>!1},range:{type:String,default:"solid"}},emits:["input"],setup(a,{emit:n}){var G,X,J,Q;const t=a,l=n,o=e.ref(3),c=e.ref(new Date),k=e.ref(new Date),p=e.ref(new Date().getFullYear()),d=e.ref(new Date().getMonth()),g=e.ref(new Date().getFullYear()),E=e.ref(new Date().getMonth()),b=e.ref(new Date().getMonth()+1),m=e.ref([]),y=e.ref(0),_=e.ref(-1),f=e.ref(-1),B=e.ref(navigator.languages||"ru"),h=/en|zh|ja|he/.test(B.value)?0:1,O=e.computed(()=>Array.from({length:12},(i,s)=>{const r=new Date(2024,s);return new Intl.DateTimeFormat(B.value,{month:"long"}).format(r)})),S=i=>{let s=i.split(i.match(/\D.*?\D?/));return s[0].length>2?s.join("-")+"T00:00:01":s.reverse().join("-")+"T00:00:01"};(G=t.data)!=null&&G.startDate&&(c.value=new Date(S(t.data.startDate)),p.value=c.value.getFullYear(),d.value=c.value.getMonth()),(X=t.data)!=null&&X.endDate&&t.range==="range"&&(k.value=new Date(S(t.data.endDate)),g.value=k.value.getFullYear(),E.value=k.value.getMonth());const M=()=>{m.value=[],y.value=0;const i=new Date(p.value,d.value,0);for(let r=i.getDate()-i.getDay()+h;r<=i.getDate();r++)i.getDay()!==6+h&&(m.value.push({day:r,month:i.getMonth(),year:i.getFullYear(),class:[]}),y.value++);const s=new Date(p.value,d.value+1,0).getDate();for(let r=1;r<=s;r++)m.value.push({day:r,month:d.value,year:p.value,class:[]}),y.value++;if(t.range==="range"){const r=new Date(p.value,d.value+1,1),u=new Date(p.value,d.value+2,0).getDate();for(let C=1;C<=u;C++)m.value.push({day:C,month:r.getMonth(),year:r.getFullYear(),class:[]})}$()},$=()=>{var s;if(!((s=t.data)!=null&&s.holiday))return;const i=(r,u)=>{r.forEach(C=>{const[D,T,N]=C.split("-").map(Number),P=m.value.findIndex(R=>R.year===D&&R.month+1===T&&R.day===N);P!==-1&&(m.value[P].class[0]=u)})};i(t.data.holiday.preholidays,"preholiday"),i(t.data.holiday.holidays,"weekend"),i(t.data.holiday.holiday,"holiday"),i(t.data.holiday.nowork,"nowork")},w=()=>{if(!t.limitation||t.limitation.length<2)return!1;const i=[...t.limitation].sort((s,r)=>new Date(S(s.startDate)).getTime()-new Date(S(r.startDate)).getTime());for(let s=1;s<i.length;s++){const r=new Date(S(i[s-1].endDate));if(new Date(S(i[s].startDate))<=r)return console.warn("Warning: Диапазоны пересекаются:",i[s-1],i[s]),!0}return!1},V=(i,s,r)=>{if(!t.limitation||t.limitation.length===0)return!0;const u=new Date(i,s,r).getTime();for(let C of t.limitation){const{startDate:D,endDate:T}=C;if(!D&&T){const N=new Date(S(T)).getTime();if(u<=N)return!1}if(D&&!T){const N=new Date(S(D)).getTime();if(u>=N)return!1}if(D&&T){const N=new Date(S(D)).getTime(),P=new Date(S(T)).getTime();if(N<=P){if(u>=N&&u<=P)return!1}else if(u>=N||u<=P)return!1}}return!0},F=(i,s)=>{const r=v(new Date(i.year,i.month,i.day),"{dd}.{m}.{Y}");t.range==="range"?f.value!==-1?(Y(),_.value=s,m.value[s].class[1]="active"):_.value!==-1?(f.value=s,Qe(_.value,f.value,r)):(_.value=s,m.value[s].class[1]="active"):(_.value!==-1&&(m.value[_.value].class[1]=""),_.value=s,m.value[s].class[1]="active",l("input",{dateStart:r,count:1}))},Y=()=>{m.value.forEach(i=>i.class[1]=""),_.value=-1,f.value=-1},Qe=(i,s,r)=>{let u=v(new Date(m.value[i].year,m.value[i].month,m.value[i].day),"{dd}.{m}.{Y}"),C=Ze(i,s);if(s>=i)for(let D=i+1;D<s;D++)m.value[D].class[1]="select";else for(let D=s+1;D<i;D++)m.value[D].class[1]="select";m.value[s].class[1]="active",l("input",{dateStart:u,dateEnd:r,count:C})},Ze=(i,s)=>{var D;let r=Math.abs(i-s)+1,[u,C]=[Math.min(i,s),Math.max(i,s)];for(let T=u;T<=C;T++)((D=m.value[T])==null?void 0:D.class[0])==="holiday"&&r--;return r},x=(i,s)=>{V(i,s)&&(c.value=new Date(i,s,1),p.value=c.value.getFullYear(),d.value=c.value.getMonth(),console.log(o.value),t.range==="year"&&o.value===0?F({year:i,month:s,day:1},8):M())};if(M(),w()&&console.error("Ошибка: Найдены пересекающиеся диапазоны!"),(J=t.data)!=null&&J.startDate&&(_.value=m.value.findIndex(i=>i.day===c.value.getDate()&&i.month===d.value&&i.year===p.value),_.value!==-1&&(m.value[_.value].class[1]="active")),(Q=t.data)!=null&&Q.endDate&&t.range==="range"&&(f.value=m.value.findIndex(i=>i.day===k.value.getDate()&&i.month===E.value&&i.year===g.value),f.value!==-1)){m.value[f.value].class[1]="active";for(let i=_.value+1;i<f.value;i++)m.value[i].class[1]="select"}return(i,s)=>(e.openBlock(),e.createElementBlock("div",re,[e.createElementVNode("div",null,[e.createElementVNode("p",ie,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[0]||(s[0]=e.withModifiers(r=>x(p.value-1,d.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:s[1]||(s[1]=e.withModifiers(r=>{o.value=0,x(p.value,d.value-1)},["prevent"]))},"‹")]),e.createElementVNode("span",ce,[e.createElementVNode("button",{onClick:s[2]||(s[2]=e.withModifiers(r=>o.value=1,["prevent"]))},e.toDisplayString(p.value),1),e.createElementVNode("button",{onClick:s[3]||(s[3]=e.withModifiers(r=>o.value=1,["prevent"]))},e.toDisplayString(e.unref(v)(c.value.setMonth(d.value),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[4]||(s[4]=e.withModifiers(r=>{o.value=0,x(p.value,d.value+1)},["prevent"]))},"›"),e.createElementVNode("button",{onClick:s[5]||(s[5]=e.withModifiers(r=>x(p.value+1,d.value),["prevent"]))},"»")])]),t.range==="year"||o.value===1?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",de,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(r,u)=>e.createElementVNode("button",{key:u,class:"disabled"},e.toDisplayString(e.unref(v)(new Date(1970,1,r+e.unref(h)),"{D}")),1)),64))])),t.range==="year"||o.value===1?(e.openBlock(),e.createElementBlock("div",pe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(O.value,(r,u)=>(e.openBlock(),e.createElementBlock("button",{key:u,onClick:e.withModifiers(C=>{o.value=0,x(p.value,u)},["prevent"])},e.toDisplayString(r),9,me))),128))])):(e.openBlock(),e.createElementBlock("div",fe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(r,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:u},[u<y.value+(7-new Date(p.value,d.value+1,1).getDay()+e.unref(h))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(r.month===d.value&&V(r.year,r.month,r.day)?r.class:"disabled"),onClick:e.withModifiers(()=>{r.month===d.value&&F(r,u)},["prevent"])},e.toDisplayString(r.day),11,ue)):e.createCommentVNode("",!0)],64))),128))]))]),t.range==="range"?(e.openBlock(),e.createElementBlock("div",ge,[e.createElementVNode("p",he,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[6]||(s[6]=e.withModifiers(r=>x(p.value-1,d.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:s[7]||(s[7]=e.withModifiers(r=>{o.value=0,x(p.value,d.value-1)},["prevent"]))},"‹")]),e.createElementVNode("span",ye,[e.createElementVNode("button",{onClick:s[8]||(s[8]=e.withModifiers(r=>o.value=2,["prevent"]))},e.toDisplayString(new Date(p.value,d.value+1).getFullYear()),1),e.createElementVNode("button",{onClick:s[9]||(s[9]=e.withModifiers(r=>o.value=2,["prevent"]))},e.toDisplayString(e.unref(v)(c.value.setMonth(d.value+1),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[10]||(s[10]=e.withModifiers(r=>{o.value=0,x(p.value,d.value+1)},["prevent"]))},"›"),e.createElementVNode("button",{onClick:s[11]||(s[11]=e.withModifiers(r=>x(p.value+1,d.value),["prevent"]))},"»")])]),o.value!==2?(e.openBlock(),e.createElementBlock("div",ke,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(r,u)=>e.createElementVNode("button",{key:u,class:"disabled"},e.toDisplayString(e.unref(v)(new Date(1970,1,r+e.unref(h)),"{D}")),1)),64))])):e.createCommentVNode("",!0),o.value===2?(e.openBlock(),e.createElementBlock("div",_e,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(O.value,(r,u)=>(e.openBlock(),e.createElementBlock("button",{key:u,onClick:e.withModifiers(C=>{o.value=0,x(p.value,u-1)},["prevent"])},e.toDisplayString(r),9,Se))),128))])):(e.openBlock(),e.createElementBlock("div",we,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(r,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:u},[u>=y.value-(7+new Date(p.value,d.value+1,1).getDay()-e.unref(h))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(r.month===b.value&&V(r.year,r.month,r.day)?r.class:"disabled"),onClick:e.withModifiers(()=>{r.month===b.value&&F(r,u)},["prevent"])},e.toDisplayString(r.day),11,be)):e.createCommentVNode("",!0)],64))),128))]))])):e.createCommentVNode("",!0)]))}}},Symbol.toStringTag,{value:"Module"})),De=["id"],$e=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDropdown",props:e.mergeModels({class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:""},trigger:{type:String,default:"click"},placement:{type:String,default:"bottom-left"},maxWidth:{type:Number,default:0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a,{expose:n}){const t=a;e.computed(()=>"dropdown"+Array.from(document.body.children).indexOf(document.querySelector("ul")));const l=e.useModel(a,"modelValue"),o=e.ref(null),c=e.ref(null),k=e.ref({}),p=Math.ceil(Math.random()*1e3),d=e.computed(()=>{let f=["sw-dropdown"];return t.size.length>0&&f.push("sw-"+t.size),t.type.length>0&&f.push("sw-"+t.type),f}),g=async()=>{if(await e.nextTick(),!c.value)return;const f=window.pageYOffset||document.documentElement.scrollTop,B=window.pageXOffset||document.documentElement.scrollLeft;document.body.style.position="fixed",document.body.style.top=`-${f}px`,document.body.style.left=`-${B}px`,document.body.style.position="",document.body.style.top="",document.body.style.left="",document.documentElement.scrollTop=f,document.documentElement.scrollLeft=B;const h=o.value.getBoundingClientRect(),O=window.innerHeight,S=c.value.offsetHeight,M=c.value.offsetWidth;console.log("popupHeight",S),console.log("popupWidth",M);let $=h.left+h.width/2+B,w=h.top+h.height/2+f,V=h.height/2+8;const[F,Y]=t.placement.split("-",2);switch(console.log(t.placement),F){case"bottom":w=f+O-S-V<w?w-V-S:w+V;break;case"top":w=f+S+V>w?w-V-S:w+V;break;case"left":$=$-M-h.width/2-8,w=w-S/2;break;case"right":$=$+h.width/2+8,w=w-S/2;break}switch(Y){case"left":$=$-h.width/2;break;case"right":$=$-M+h.width/2;break}$<0&&($=0),w<0&&(w=0),k.value={position:"absolute",top:`${w}px`,left:`${$}px`,maxWidth:t.maxWidth===0?"":`${t.maxWidth}px`}};n({positionPopup:g});const E=()=>{t.trigger==="click"&&(l.value=!l.value),l.value&&g()},b=()=>{t.trigger==="hover"&&(l.value=!l.value),l.value&&g()},m=()=>{t.trigger==="context"&&(l.value=!l.value),l.value&&g()},y=()=>{l.value&&g()},_=f=>{!f.target.closest(`[id="${p}"]`)&&o.value&&!o.value.contains(f.target)&&(l.value=!1)};return e.onMounted(()=>{window.addEventListener("resize",y),window.addEventListener("click",_)}),e.onUnmounted(()=>{window.removeEventListener("resize",y),window.removeEventListener("click",_)}),(f,B)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(d.value),onClick:B[0]||(B[0]=h=>E()),onMouseover:B[1]||(B[1]=e.withModifiers(h=>b(),["stop"])),onMouseleave:B[2]||(B[2]=e.withModifiers(h=>b(),["stop"])),onContextmenu:B[3]||(B[3]=e.withModifiers(h=>m(),["stop"])),ref_key:"dropdownRef",ref:o},[e.renderSlot(f.$slots,"default"),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[l.value?(e.openBlock(),e.createElementBlock("ul",{key:0,ref_key:"popupRef",ref:c,id:e.unref(p),class:e.normalizeClass(["sw-dropdown-popup",t.class]),style:e.normalizeStyle(k.value),tabindex:"-1"},[e.renderSlot(f.$slots,"dropdown")],14,De)):e.createCommentVNode("",!0)]))],34))}}},Symbol.toStringTag,{value:"Module"})),Ee=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDropdownItem",props:{class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:""},iconBefore:{type:String,default:""}},setup(a){const n=a,t=e.computed(()=>{let l=["sw-dropdown-item"];return n.size.length>0&&l.push("sw-"+n.size),n.type.length>0&&l.push("sw-"+n.type),n.class.length>0&&l.push(n.class),l});return(l,o)=>{const c=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(t.value)},[e.createVNode(c,{"icon-class":a.iconBefore},null,8,["icon-class"]),e.renderSlot(l.$slots,"default")],2)}}}},Symbol.toStringTag,{value:"Module"})),Me=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwFormItem",props:{class:{type:String,default:""},type:{type:String,default:""}},setup(a){const n=a,t=e.computed(()=>{let l=["sw-form-item"];return n.type.length>0&&l.push("sw-"+n.type),n.class.length>0&&l.push(n.class),l});return(l,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value)},[e.renderSlot(l.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Ce=["for"],Te={key:0,title:"Это поле обязательно для заполнения."},Ve=["required","placeholder","type","id","name"],xe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwInput",props:e.mergeModels({before:{type:String,default:""},after:{type:String,default:""},placeholder:{type:String,default:""},label:{type:String,default:""},name:{type:String,required:!0},class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:"text"},required:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["suffix","prefix","focusInput"],["update:modelValue"]),setup(a,{emit:n}){var m;const t=e.useModel(a,"modelValue"),l=a,o=e.ref(null),c=n,k=y=>{c("focusInput"),y.target.setSelectionRange(t.value.length,t.value.length),o.value!==null&&(o.value.style.top="-.6em")},p=y=>{var _;((_=t.value)==null?void 0:_.length)===0&&o.value!==null&&o.value.removeAttribute("style")};((m=t.value)==null?void 0:m.length)>0&&o.value!==null&&(o.value.style.top="-.6em");const d=()=>{c("suffix")},g=()=>{c("prefix")},E=e.computed(()=>{let y=["sw-input"];return l.size.length>0&&y.push("sw-"+l.size),l.class.length>0&&y.push(l.class),y});e.watch(t,(y,_)=>{l.type==="phone"&&(t.value=b(y,_))});const b=(y,_)=>{if(/^\+[0-9]\s/.test(_)&&y.length===2||/^\+0\s/.test(y))return"";const f=y;if(typeof f>"u"||f.length===0)return f;const B="+0 (___) ___-__-__";let h=0;const O=B.replace(/\D/g,""),S=f.replace(/\D/g,"");let M=B.replace(/[_\d]/g,w=>h<S.length?S.charAt(h++)||O.charAt(h):w);h=M.indexOf("_"),h!==-1&&(h=h<5?3:h,M=M.slice(0,h));let $=B.slice(0,f.length).replace(/_+/g,w=>`\\d{1,${w.length}}`).replace(/[+()]/g,"\\$&");if($=new RegExp(`^${$}$`),M=M.replace(/[-—]$|(\) )$/g,""),!$.test(f)||f.length<5)return M};return(y,_)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(E.value)},[l.before.length>0?(e.openBlock(),e.createBlock(I,{key:0,"icon-class":l.before,onClick:g},null,8,["icon-class"])):e.renderSlot(y.$slots,"prefix",{key:1}),l.label.length>0?(e.openBlock(),e.createElementBlock("label",{key:2,for:l.name,ref_key:"lab",ref:o},[e.createTextVNode(e.toDisplayString(l.label),1),l.required?(e.openBlock(),e.createElementBlock("span",Te,"*")):e.createCommentVNode("",!0)],8,Ce)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":_[0]||(_[0]=f=>t.value=f),required:l.required,placeholder:l.required&&l.label.length===0?l.placeholder+"*":l.placeholder,type:l.type,id:l.name,name:l.name,size:"60",onFocus:k,onBlur:p,maxlength:"128"},null,40,Ve),[[e.vModelDynamic,t.value]]),l.after.length>0?(e.openBlock(),e.createBlock(I,{key:3,"icon-class":l.after,onClick:d},null,8,["icon-class"])):e.renderSlot(y.$slots,"suffix",{key:4})],2))}}},Symbol.toStringTag,{value:"Module"})),ze={key:0},Ne=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwMessage",props:e.mergeModels({name:{type:String,default:""},class:{type:String,default:""},iconAfter:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=e.useModel(a,"modelValue"),t=a,l=e.ref(null);return(o,c)=>{const k=e.resolveComponent("svg-icon");return n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["sw-message",t.class]),ref_key:"messageRef",ref:l},[t.name.length>0?(e.openBlock(),e.createElementBlock("header",ze,[e.renderSlot(o.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createVNode(U,{link:"",type:"primary",onClick:c[0]||(c[0]=p=>n.value=!1)},{default:e.withCtx(()=>[e.createVNode(k,{"icon-class":t.iconAfter},null,8,["icon-class"])]),_:1})])])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(o.$slots,"footer")])],2)):e.createCommentVNode("",!0)}}}},Symbol.toStringTag,{value:"Module"})),ve=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSection",props:{name:{type:String,default:""},class:{type:String,default:""},iconAfter:{type:String,default:""}},emits:["header"],setup(a,{emit:n}){const t=a,l=n,o=()=>{l("header")};return(c,k)=>{const p=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(t.class)},[e.createElementVNode("header",{onClick:o},[e.renderSlot(c.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createVNode(p,{"icon-class":t.iconAfter},null,8,["icon-class"])])]),e.renderSlot(c.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(c.$slots,"footer")])],2)}}}},Symbol.toStringTag,{value:"Module"})),je={class:"popup"},Oe={class:"wrapper"},Pe={class:"scrollbar"},Fe=["onClick"],Ie=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSelect",props:e.mergeModels({class:{type:String,default:""},size:{type:String,default:"large"},placeholder:{type:String,default:""},token:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=e.ref({fullText:""}),t=e.ref(!1),l=e.ref([]),o=e.useModel(a,"modelValue"),c=a;e.watch(o.text,d=>{d.length>3&&(n.value.fullText=d)}),e.watch(n.value.fullText,(d,g)=>{t.value=d.length>3&&d.length>g.length,d.length>3&&k()});const k=()=>{let d="https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address";console.log(n.value.fullText),axios.post(d,{query:n.value.fullText},{headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:"Token "+c.token}}).then(g=>{console.log(g.data.suggestions),l.value=g.data.suggestions,l.value.length===1&&p(l.value[0])}).catch(g=>{console.log(g)})},p=d=>{n.value.fullText=d.value,t.value=!1;const g={};g.text=d.value,g.coords=[Number(d.data.geo_lat),Number(d.data.geo_lon)],g.suggestion=d.data,o.value=g};return(d,g)=>{const E=e.resolveComponent("sw-input");return e.openBlock(),e.createElementBlock("div",je,[e.createVNode(E,{size:c.size,modelValue:n.value.fullText,"onUpdate:modelValue":g[0]||(g[0]=b=>n.value.fullText=b),placeholder:a.placeholder},null,8,["size","modelValue","placeholder"]),e.withDirectives(e.createElementVNode("div",Oe,[e.createElementVNode("ul",Pe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(b,m)=>(e.openBlock(),e.createElementBlock("li",{tabindex:"1",key:m,onClick:y=>p(b)},e.toDisplayString(b.value),9,Fe))),128))])],512),[[e.vShow,t.value]])])}}}},Symbol.toStringTag,{value:"Module"})),Ae={key:0},W={__name:"SwSkeletonItem",props:{width:{type:String,default:"100"},class:{type:String,default:""},animate:{type:Boolean,default:!1},size:{type:String,default:""}},setup(a){const n=a,t=e.computed(()=>{let o=["sw-skeleton-item"];return n.size.length>0&&o.push("sw-"+n.size),n.animate&&o.push("sw-animate"),n.class.length>0&&o.push(n.class),o}),l=e.computed(()=>({width:n.width+"%"}));return(o,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value),style:e.normalizeStyle(l.value)},[n.animate?(e.openBlock(),e.createElementBlock("div",Ae)):e.createCommentVNode("",!0)],6))}},Le=Object.freeze(Object.defineProperty({__proto__:null,default:W},Symbol.toStringTag,{value:"Module"})),Ye=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSkeleton",props:{class:{type:String,default:""},visual:{type:Boolean,default:!1}},setup(a){const n=a;return(t,l)=>n.visual?e.renderSlot(t.$slots,"default",{key:0}):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["sw-skeleton",n.class])},[e.renderSlot(t.$slots,"skeleton",{},()=>[e.createVNode(W,{animate:"",size:"small"})])],2))}}},Symbol.toStringTag,{value:"Module"})),Re=["name","id"],qe=["for","data-onlabel","data-offlabel"],He=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSwitch",props:e.mergeModels({id:{type:String,default:"checkbox"},class:{type:String,default:""},name:{type:String,default:""},on:{type:String,default:""},off:{type:String,default:""},size:{type:String,default:""},checkbox:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=e.useModel(a,"modelValue"),t=a,l=e.computed(()=>{let o=["sw-switch"];return t.size.length>0&&o.push("sw-"+t.size),t.checkbox&&o.push("sw-checkbox"),t.class.length>0&&o.push(t.class),o});return(o,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value)},[e.withDirectives(e.createElementVNode("input",{type:"checkbox",name:t.name,class:"sw-control",id:t.id,"onUpdate:modelValue":c[0]||(c[0]=k=>n.value=k)},null,8,Re),[[e.vModelCheckbox,n.value]]),e.createElementVNode("label",{for:t.id,class:"sw-label","data-onlabel":t.on,"data-offlabel":t.off},null,8,qe),e.renderSlot(o.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Ue={key:0},We=["onClick"],Ge=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabs",props:e.mergeModels({class:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["tab-click"],["update:modelValue"]),setup(a,{emit:n}){e.ref(0);const t=e.ref([]),l=a,o=e.useModel(a,"modelValue"),c=n;function k(d){t.value.push(d)}function p(d){t.value=t.value.filter(g=>g!==d)}return e.provide("registerTab",k),e.provide("unregisterTab",p),e.provide("activeTab",o),e.provide("tabs",t),(d,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("sw-tabs "+l.class)},[t.value.length!==0?(e.openBlock(),e.createElementBlock("header",Ue,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(E,b)=>(e.openBlock(),e.createElementBlock("span",{key:b,class:e.normalizeClass([{active:o.value===b}]),onClick:m=>{o.value=b,c("tab-click",b)}},e.toDisplayString(E.label||E.title),11,We))),128))])):e.createCommentVNode("",!0),e.renderSlot(d.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Xe={key:0,class:"tab-content"},Je=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPane",props:{title:{type:String,required:!0},label:{type:String,default:""}},setup(a){const n=a,t=e.inject("registerTab"),l=e.inject("unregisterTab");e.onMounted(()=>{t({title:n.title,label:n.label})}),e.onUnmounted(()=>{l({title:n.title,label:n.label})});const o=e.inject("activeTab"),c=e.inject("tabs"),k=e.computed(()=>c.value.findIndex(d=>d.title===n.title)),p=e.computed(()=>o.value===k.value);return(d,g)=>p.value?(e.openBlock(),e.createElementBlock("div",Xe,[e.renderSlot(d.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"}));z.Alert=L,z.Library=ne,z.components=A,Object.defineProperty(z,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(N,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(N=typeof globalThis<"u"?globalThis:N||self,e(N["component-sw"]={},N.vue))})(this,function(N,e){"use strict";function K(a){return/^(https?:|mailto:|tel:)/.test(a)}function j(a,n){if(arguments.length===0||!a)return null;const t=n||"{Y}-{m}-{d} {G}:{i}:{s}";let l;typeof a=="object"?l=a:(typeof a=="string"&&(/^[0-9]+$/.test(a)?a=parseInt(a):a=a.replace(new RegExp(/-/gm),"/")),typeof a=="number"&&a.toString().length===10&&(a=a*1e3),l=new Date(a));const o="ru-RU",c={Y:l.getFullYear(),m:(l.getMonth()+1).toString().padStart(2,"0"),d:l.getDate(),dd:l.getDate().toString().padStart(2,"0"),G:l.getHours(),H:l.getHours().toString().padStart(2,"0"),i:l.getMinutes().toString().padStart(2,"0"),s:l.getSeconds().toString().padStart(2,"0"),D:new Intl.DateTimeFormat(o,{weekday:"short"}).format(l),F:new Intl.DateTimeFormat(o,{month:"long"}).format(l),M:new Intl.DateTimeFormat(o,{month:"short"}).format(l)};return t.replace(/{(dd|[YmdGHisDFM])+}/g,(k,p)=>c[p])}const ee=(a,n)=>{const t=a.__vccOpts||a;for(const[l,o]of n)t[l]=o;return t},te={name:"SvgIcon",props:{prefix:{type:String,default:"icon"},iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExt(){return K(this.iconClass)}}},le=["href"];function oe(a,n,t,l,o,c){return c.isExt?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,style:"mask: url("+t.iconClass+") no-repeat 50% 50%;",class:"svg-external-icon svg-icon"},a.$attrs),null,16)):(e.openBlock(),e.createElementBlock("svg",e.mergeProps({key:1,class:"svg-icon "+t.className,"aria-hidden":"true"},a.$attrs),[e.createElementVNode("use",{href:"#"+t.prefix+"-"+t.iconClass},null,8,le)],16))}const I=ee(te,[["render",oe]]),H={__name:"SwAlert",props:{message:{type:String,default:"Default message"},before:{type:String,default:""},class:{type:String,default:""},after:{type:String,default:""},size:{type:String,default:""},duration:{type:Number,default:6e3},type:{type:String,default:"info",validator:a=>["success","warning","error","info"].includes(a)}},emits:["closed"],setup(a,{emit:n}){const t=a,l=n,o=e.ref(!1);let c=null;const k=()=>{o.value=!0,M()},p=()=>{o.value=!1,l("closed")},d=()=>{c&&(clearTimeout(c),c=null)},h=()=>{M()},M=()=>{c=setTimeout(p,t.duration)};e.onMounted(()=>{k()}),e.onUnmounted(()=>{c&&clearTimeout(c)});const b=e.computed(()=>{const m=["sw-alert"];return t.size.length>0&&m.push(`sw-${t.size}`),t.type.length>0&&m.push(`sw-${t.type}`),t.class.length>0&&m.push(t.class),m});return(m,y)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(b.value),onMouseenter:d,onMouseleave:h},[t.before.length>0?(e.openBlock(),e.createBlock(I,{key:0,"icon-class":t.before},null,8,["icon-class"])):e.renderSlot(m.$slots,"prefix",{key:1}),e.renderSlot(m.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)]),t.after.length>0?(e.openBlock(),e.createBlock(I,{key:2,"icon-class":t.after,onClick:p},null,8,["icon-class"])):e.renderSlot(m.$slots,"suffix",{key:3})],34)):e.createCommentVNode("",!0)]),_:3}))}},ne=Object.freeze(Object.defineProperty({__proto__:null,default:H},Symbol.toStringTag,{value:"Module"}));let O=document.querySelector("div.sw-alert-wrapper");function L(a={}){O||(O=document.createElement("div"),O.className="sw-alert-wrapper",document.body.appendChild(O));const n=e.createApp({setup(){return()=>e.h(H,{...a,onClose:()=>{O.removeChild(n._container),n.unmount()}})}}),t=n.mount(document.createElement("div"));O.appendChild(t.$el)}const W=Object.assign({"./components/SwAlert.vue":()=>Promise.resolve().then(()=>ne),"./components/SwButton.vue":()=>Promise.resolve().then(()=>se),"./components/SwCollapse.vue":()=>Promise.resolve().then(()=>re),"./components/SwDatePicker.vue":()=>Promise.resolve().then(()=>De),"./components/SwDropdown.vue":()=>Promise.resolve().then(()=>Ee),"./components/SwDropdownItem.vue":()=>Promise.resolve().then(()=>Me),"./components/SwFormItem.vue":()=>Promise.resolve().then(()=>Ce),"./components/SwInput.vue":()=>Promise.resolve().then(()=>ze),"./components/SwMessage.vue":()=>Promise.resolve().then(()=>ve),"./components/SwSection.vue":()=>Promise.resolve().then(()=>je),"./components/SwSelect.vue":()=>Promise.resolve().then(()=>Ae),"./components/SwSkeleton.vue":()=>Promise.resolve().then(()=>Re),"./components/SwSkeletonItem.vue":()=>Promise.resolve().then(()=>Ye),"./components/SwSwitch.vue":()=>Promise.resolve().then(()=>We),"./components/SwTabs.vue":()=>Promise.resolve().then(()=>Xe),"./components/SwTabsPane.vue":()=>Promise.resolve().then(()=>Qe)}),A={};for(const a in W){const n=a.split("/").pop().replace(".vue","").replace(/-(\w)/g,(t,l)=>l.toUpperCase());A[n]=e.defineAsyncComponent(()=>W[a]())}const ae={install(a){Object.keys(A).forEach(n=>{a.component(n,A[n]),console.log(n)}),a.config.globalProperties.$Alert=L,a.provide("Alert",L)}},U={__name:"SwButton",props:{class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:""},round:{type:Boolean,default:!1},text:{type:Boolean,default:!1},link:{type:Boolean,default:!1},href:{type:String,default:""}},setup(a){const n=a,t=()=>{if(n.href.length>0){const o=document.createElement("a");o.setAttribute("href",n.href),o.setAttribute("target","_blank"),o.click()}},l=e.computed(()=>{let o=["sw-button"];return n.size.length>0&&o.push("sw-"+n.size),n.type.length>0&&o.push("sw-"+n.type),n.round&&o.push("sw-round"),n.text&&o.push("sw-text"),n.link&&o.push("sw-link"),n.class.length>0&&o.push(n.class),o});return(o,c)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(l.value),onClick:t},[e.renderSlot(o.$slots,"default")],2))}},se=Object.freeze(Object.defineProperty({__proto__:null,default:U},Symbol.toStringTag,{value:"Module"})),re=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwCollapse",props:{visual:{type:Boolean,default:!0}},setup(a){e.onMounted(()=>{l.value="0px"});const n=e.ref(null),t=a;e.watch(()=>t.visual,()=>o());const l=e.ref("0px"),o=()=>{n.value&&(l.value=t.visual?n.value.scrollHeight+"px":"0px")};let c;return e.onMounted(()=>{o(),n.value&&(c=new ResizeObserver(o),c.observe(n.value))}),e.onBeforeUnmount(()=>{c&&c.disconnect()}),(k,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sw-collapse",{open:t.visual}]),style:e.normalizeStyle({height:l.value}),ref_key:"collapse",ref:n},[e.renderSlot(k.$slots,"default")],6))}}},Symbol.toStringTag,{value:"Module"})),ie={class:"sw-data-picker"},ce={class:"month_year"},de={class:"text"},pe={key:0,class:"week"},me={key:1,class:"year"},fe=["onClick"],ue={key:2,class:"month"},ge=["onClick"],he={key:0},ye={class:"month_year"},ke={class:"text"},_e={key:0,class:"week"},Se={key:1,class:"year"},we=["onClick"],be={key:2,class:"month"},Be=["onClick"],De=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDatePicker",props:{data:Object,limitation:{type:[Boolean,Array],default:()=>!1},range:{type:String,default:"solid"}},emits:["input"],setup(a,{emit:n}){var X,J,Q,Z;const t=a,l=n,o=e.ref(3),c=e.ref(new Date),k=e.ref(new Date),p=e.ref(new Date().getFullYear()),d=e.ref(new Date().getMonth()),h=e.ref(new Date().getFullYear()),M=e.ref(new Date().getMonth()),b=e.ref(new Date().getMonth()+1),m=e.ref([]),y=e.ref(0),_=e.ref(-1),f=e.ref(-1),w=e.ref(navigator.languages||"ru"),u=/en|zh|ja|he/.test(w.value)?0:1,P=e.computed(()=>Array.from({length:12},(i,s)=>{const r=new Date(2024,s);return new Intl.DateTimeFormat(w.value,{month:"long"}).format(r)})),E=i=>{let s=i.split(i.match(/\D.*?\D?/));return s[0].length>2?s.join("-")+"T00:00:01":s.reverse().join("-")+"T00:00:01"};(X=t.data)!=null&&X.startDate&&(c.value=new Date(E(t.data.startDate)),p.value=c.value.getFullYear(),d.value=c.value.getMonth()),(J=t.data)!=null&&J.endDate&&t.range==="range"&&(k.value=new Date(E(t.data.endDate)),h.value=k.value.getFullYear(),M.value=k.value.getMonth());const $=()=>{m.value=[],y.value=0;const i=new Date(p.value,d.value,0);for(let r=i.getDate()-i.getDay()+u;r<=i.getDate();r++)i.getDay()!==6+u&&(m.value.push({day:r,month:i.getMonth(),year:i.getFullYear(),class:[]}),y.value++);const s=new Date(p.value,d.value+1,0).getDate();for(let r=1;r<=s;r++)m.value.push({day:r,month:d.value,year:p.value,class:[]}),y.value++;if(t.range==="range"){const r=new Date(p.value,d.value+1,1),g=new Date(p.value,d.value+2,0).getDate();for(let C=1;C<=g;C++)m.value.push({day:C,month:r.getMonth(),year:r.getFullYear(),class:[]})}T()},T=()=>{var s;if(!((s=t.data)!=null&&s.holiday))return;const i=(r,g)=>{r.forEach(C=>{const[D,V,v]=C.split("-").map(Number),F=m.value.findIndex(q=>q.year===D&&q.month+1===V&&q.day===v);F!==-1&&(m.value[F].class[0]=g)})};i(t.data.holiday.preholidays,"preholiday"),i(t.data.holiday.holidays,"weekend"),i(t.data.holiday.holiday,"holiday"),i(t.data.holiday.nowork,"nowork")},S=()=>{if(!t.limitation||t.limitation.length<2)return!1;const i=[...t.limitation].sort((s,r)=>new Date(E(s.startDate)).getTime()-new Date(E(r.startDate)).getTime());for(let s=1;s<i.length;s++){const r=new Date(E(i[s-1].endDate));if(new Date(E(i[s].startDate))<=r)return console.warn("Warning: Диапазоны пересекаются:",i[s-1],i[s]),!0}return!1},B=(i,s,r)=>{if(!t.limitation||t.limitation.length===0)return!0;const g=new Date(i,s,r).getTime();for(let C of t.limitation){const{startDate:D,endDate:V}=C;if(!D&&V){const v=new Date(E(V)).getTime();if(g<=v)return!1}if(D&&!V){const v=new Date(E(D)).getTime();if(g>=v)return!1}if(D&&V){const v=new Date(E(D)).getTime(),F=new Date(E(V)).getTime();if(v<=F){if(g>=v&&g<=F)return!1}else if(g>=v||g<=F)return!1}}return!0},x=(i,s)=>{const r=j(new Date(i.year,i.month,i.day),"{dd}.{m}.{Y}");t.range==="range"?f.value!==-1?(Y(),_.value=s,m.value[s].class[1]="active"):_.value!==-1?(f.value=s,R(_.value,f.value,r)):(_.value=s,m.value[s].class[1]="active"):(_.value!==-1&&(m.value[_.value].class[1]=""),_.value=s,m.value[s].class[1]="active",l("input",{dateStart:r,count:1}))},Y=()=>{m.value.forEach(i=>i.class[1]=""),_.value=-1,f.value=-1},R=(i,s,r)=>{let g=j(new Date(m.value[i].year,m.value[i].month,m.value[i].day),"{dd}.{m}.{Y}"),C=Ze(i,s);if(s>=i)for(let D=i+1;D<s;D++)m.value[D].class[1]="select";else for(let D=s+1;D<i;D++)m.value[D].class[1]="select";m.value[s].class[1]="active",l("input",{dateStart:g,dateEnd:r,count:C})},Ze=(i,s)=>{var D;let r=Math.abs(i-s)+1,[g,C]=[Math.min(i,s),Math.max(i,s)];for(let V=g;V<=C;V++)((D=m.value[V])==null?void 0:D.class[0])==="holiday"&&r--;return r},z=(i,s)=>{B(i,s)&&(c.value=new Date(i,s,1),p.value=c.value.getFullYear(),d.value=c.value.getMonth(),console.log(o.value),t.range==="year"&&o.value===0?x({year:i,month:s,day:1},8):$())};if($(),S()&&console.error("Ошибка: Найдены пересекающиеся диапазоны!"),(Q=t.data)!=null&&Q.startDate&&(_.value=m.value.findIndex(i=>i.day===c.value.getDate()&&i.month===d.value&&i.year===p.value),_.value!==-1&&(m.value[_.value].class[1]="active")),(Z=t.data)!=null&&Z.endDate&&t.range==="range"&&(f.value=m.value.findIndex(i=>i.day===k.value.getDate()&&i.month===M.value&&i.year===h.value),f.value!==-1)){m.value[f.value].class[1]="active";for(let i=_.value+1;i<f.value;i++)m.value[i].class[1]="select"}return(i,s)=>(e.openBlock(),e.createElementBlock("div",ie,[e.createElementVNode("div",null,[e.createElementVNode("p",ce,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[0]||(s[0]=e.withModifiers(r=>z(p.value-1,d.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:s[1]||(s[1]=e.withModifiers(r=>{o.value=0,z(p.value,d.value-1)},["prevent"]))},"‹")]),e.createElementVNode("span",de,[e.createElementVNode("button",{onClick:s[2]||(s[2]=e.withModifiers(r=>o.value=1,["prevent"]))},e.toDisplayString(p.value),1),e.createElementVNode("button",{onClick:s[3]||(s[3]=e.withModifiers(r=>o.value=1,["prevent"]))},e.toDisplayString(e.unref(j)(c.value.setMonth(d.value),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[4]||(s[4]=e.withModifiers(r=>{o.value=0,z(p.value,d.value+1)},["prevent"]))},"›"),e.createElementVNode("button",{onClick:s[5]||(s[5]=e.withModifiers(r=>z(p.value+1,d.value),["prevent"]))},"»")])]),t.range==="year"||o.value===1?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",pe,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(r,g)=>e.createElementVNode("button",{key:g,class:"disabled"},e.toDisplayString(e.unref(j)(new Date(1970,1,r+e.unref(u)),"{D}")),1)),64))])),t.range==="year"||o.value===1?(e.openBlock(),e.createElementBlock("div",me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,(r,g)=>(e.openBlock(),e.createElementBlock("button",{key:g,onClick:e.withModifiers(C=>{o.value=0,z(p.value,g)},["prevent"])},e.toDisplayString(r),9,fe))),128))])):(e.openBlock(),e.createElementBlock("div",ue,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(r,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:g},[g<y.value+(7-new Date(p.value,d.value+1,1).getDay()+e.unref(u))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(r.month===d.value&&B(r.year,r.month,r.day)?r.class:"disabled"),onClick:e.withModifiers(()=>{r.month===d.value&&x(r,g)},["prevent"])},e.toDisplayString(r.day),11,ge)):e.createCommentVNode("",!0)],64))),128))]))]),t.range==="range"?(e.openBlock(),e.createElementBlock("div",he,[e.createElementVNode("p",ye,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[6]||(s[6]=e.withModifiers(r=>z(p.value-1,d.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:s[7]||(s[7]=e.withModifiers(r=>{o.value=0,z(p.value,d.value-1)},["prevent"]))},"‹")]),e.createElementVNode("span",ke,[e.createElementVNode("button",{onClick:s[8]||(s[8]=e.withModifiers(r=>o.value=2,["prevent"]))},e.toDisplayString(new Date(p.value,d.value+1).getFullYear()),1),e.createElementVNode("button",{onClick:s[9]||(s[9]=e.withModifiers(r=>o.value=2,["prevent"]))},e.toDisplayString(e.unref(j)(c.value.setMonth(d.value+1),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[10]||(s[10]=e.withModifiers(r=>{o.value=0,z(p.value,d.value+1)},["prevent"]))},"›"),e.createElementVNode("button",{onClick:s[11]||(s[11]=e.withModifiers(r=>z(p.value+1,d.value),["prevent"]))},"»")])]),o.value!==2?(e.openBlock(),e.createElementBlock("div",_e,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(r,g)=>e.createElementVNode("button",{key:g,class:"disabled"},e.toDisplayString(e.unref(j)(new Date(1970,1,r+e.unref(u)),"{D}")),1)),64))])):e.createCommentVNode("",!0),o.value===2?(e.openBlock(),e.createElementBlock("div",Se,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.value,(r,g)=>(e.openBlock(),e.createElementBlock("button",{key:g,onClick:e.withModifiers(C=>{o.value=0,z(p.value,g-1)},["prevent"])},e.toDisplayString(r),9,we))),128))])):(e.openBlock(),e.createElementBlock("div",be,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(r,g)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:g},[g>=y.value-(7+new Date(p.value,d.value+1,1).getDay()-e.unref(u))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(r.month===b.value&&B(r.year,r.month,r.day)?r.class:"disabled"),onClick:e.withModifiers(()=>{r.month===b.value&&x(r,g)},["prevent"])},e.toDisplayString(r.day),11,Be)):e.createCommentVNode("",!0)],64))),128))]))])):e.createCommentVNode("",!0)]))}}},Symbol.toStringTag,{value:"Module"})),$e=["id"],Ee=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDropdown",props:e.mergeModels({class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:""},trigger:{type:String,default:"click"},placement:{type:String,default:"bottom-left"},maxWidth:{type:Number,default:0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a,{expose:n}){const t=a;e.computed(()=>"dropdown"+Array.from(document.body.children).indexOf(document.querySelector("ul")));const l=e.useModel(a,"modelValue"),o=e.ref(null),c=e.ref(null),k=e.ref({}),p=Math.ceil(Math.random()*1e3),d=e.computed(()=>{let f=["sw-dropdown"];return t.size.length>0&&f.push("sw-"+t.size),t.type.length>0&&f.push("sw-"+t.type),f}),h=async()=>{if(await e.nextTick(),!c.value)return;const f=window.pageYOffset||document.documentElement.scrollTop,w=window.pageXOffset||document.documentElement.scrollLeft;document.body.style.position="fixed",document.body.style.top=`-${f}px`,document.body.style.left=`-${w}px`,document.body.style.position="",document.body.style.top="",document.body.style.left="",document.documentElement.scrollTop=f,document.documentElement.scrollLeft=w;const u=o.value.getBoundingClientRect(),P=window.innerWidth,E=window.innerHeight,$=c.value.offsetHeight,T=c.value.offsetWidth;console.log("popupHeight",$),console.log("popupWidth",T);let S=u.left+u.width/2+w,B=u.top+u.height/2+f,x=u.height/2+8;const[Y,R]=t.placement.split("-",2);switch(console.log(t.placement),Y){case"bottom":B=f+E-$-x-8<B?B-x-$:B+x;break;case"top":B=f+$+x+8>B?B+x:B-x-$;break;case"left":S=S-T-u.width/2-8,B=B-$/2;break;case"right":S=S+u.width/2+8,B=B-$/2;break}switch(R){case"left":S=w+P-8>S-u.width/2+T?S-u.width/2:S-T+u.width/2;break;case"right":S=8<S+u.width/2-T?S-T+u.width/2:S-u.width/2;break}S<0&&(S=0),B<0&&(B=0),k.value={position:"absolute",top:`${B}px`,left:`${S}px`,maxWidth:t.maxWidth===0?"":`${t.maxWidth}px`}};n({positionPopup:h});const M=()=>{t.trigger==="click"&&(l.value=!l.value),l.value&&h()},b=()=>{t.trigger==="hover"&&(l.value=!l.value),l.value&&h()},m=()=>{t.trigger==="context"&&(l.value=!l.value),l.value&&h()},y=()=>{l.value&&h()},_=f=>{!f.target.closest(`[id="${p}"]`)&&o.value&&!o.value.contains(f.target)&&(l.value=!1)};return e.onMounted(()=>{window.addEventListener("resize",y),window.addEventListener("click",_)}),e.onUnmounted(()=>{window.removeEventListener("resize",y),window.removeEventListener("click",_)}),(f,w)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(d.value),onClick:w[0]||(w[0]=u=>M()),onMouseover:w[1]||(w[1]=e.withModifiers(u=>b(),["stop"])),onMouseleave:w[2]||(w[2]=e.withModifiers(u=>b(),["stop"])),onContextmenu:w[3]||(w[3]=e.withModifiers(u=>m(),["stop"])),ref_key:"dropdownRef",ref:o},[e.renderSlot(f.$slots,"default"),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[l.value?(e.openBlock(),e.createElementBlock("ul",{key:0,ref_key:"popupRef",ref:c,id:e.unref(p),class:e.normalizeClass(["sw-dropdown-popup",t.class]),style:e.normalizeStyle(k.value),tabindex:"-1"},[e.renderSlot(f.$slots,"dropdown")],14,$e)):e.createCommentVNode("",!0)]))],34))}}},Symbol.toStringTag,{value:"Module"})),Me=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDropdownItem",props:{class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:""},iconBefore:{type:String,default:""}},setup(a){const n=a,t=e.computed(()=>{let l=["sw-dropdown-item"];return n.size.length>0&&l.push("sw-"+n.size),n.type.length>0&&l.push("sw-"+n.type),n.class.length>0&&l.push(n.class),l});return(l,o)=>{const c=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(t.value)},[e.createVNode(c,{"icon-class":a.iconBefore},null,8,["icon-class"]),e.renderSlot(l.$slots,"default")],2)}}}},Symbol.toStringTag,{value:"Module"})),Ce=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwFormItem",props:{class:{type:String,default:""},type:{type:String,default:""}},setup(a){const n=a,t=e.computed(()=>{let l=["sw-form-item"];return n.type.length>0&&l.push("sw-"+n.type),n.class.length>0&&l.push(n.class),l});return(l,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value)},[e.renderSlot(l.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Te=["for"],Ve={key:0,title:"Это поле обязательно для заполнения."},xe=["required","placeholder","type","id","name"],ze=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwInput",props:e.mergeModels({before:{type:String,default:""},after:{type:String,default:""},placeholder:{type:String,default:""},label:{type:String,default:""},name:{type:String,required:!0},class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:"text"},required:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["suffix","prefix","focusInput"],["update:modelValue"]),setup(a,{emit:n}){var m;const t=e.useModel(a,"modelValue"),l=a,o=e.ref(null),c=n,k=y=>{c("focusInput"),y.target.setSelectionRange(t.value.length,t.value.length),o.value!==null&&(o.value.style.top="-.6em")},p=y=>{var _;((_=t.value)==null?void 0:_.length)===0&&o.value!==null&&o.value.removeAttribute("style")};((m=t.value)==null?void 0:m.length)>0&&o.value!==null&&(o.value.style.top="-.6em");const d=()=>{c("suffix")},h=()=>{c("prefix")},M=e.computed(()=>{let y=["sw-input"];return l.size.length>0&&y.push("sw-"+l.size),l.class.length>0&&y.push(l.class),y});e.watch(t,(y,_)=>{l.type==="phone"&&(t.value=b(y,_))});const b=(y,_)=>{if(/^\+[0-9]\s/.test(_)&&y.length===2||/^\+0\s/.test(y))return"";const f=y;if(typeof f>"u"||f.length===0)return f;const w="+0 (___) ___-__-__";let u=0;const P=w.replace(/\D/g,""),E=f.replace(/\D/g,"");let $=w.replace(/[_\d]/g,S=>u<E.length?E.charAt(u++)||P.charAt(u):S);u=$.indexOf("_"),u!==-1&&(u=u<5?3:u,$=$.slice(0,u));let T=w.slice(0,f.length).replace(/_+/g,S=>`\\d{1,${S.length}}`).replace(/[+()]/g,"\\$&");if(T=new RegExp(`^${T}$`),$=$.replace(/[-—]$|(\) )$/g,""),!T.test(f)||f.length<5)return $};return(y,_)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(M.value)},[l.before.length>0?(e.openBlock(),e.createBlock(I,{key:0,"icon-class":l.before,onClick:h},null,8,["icon-class"])):e.renderSlot(y.$slots,"prefix",{key:1}),l.label.length>0?(e.openBlock(),e.createElementBlock("label",{key:2,for:l.name,ref_key:"lab",ref:o},[e.createTextVNode(e.toDisplayString(l.label),1),l.required?(e.openBlock(),e.createElementBlock("span",Ve,"*")):e.createCommentVNode("",!0)],8,Te)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":_[0]||(_[0]=f=>t.value=f),required:l.required,placeholder:l.required&&l.label.length===0?l.placeholder+"*":l.placeholder,type:l.type,id:l.name,name:l.name,size:"60",onFocus:k,onBlur:p,maxlength:"128"},null,40,xe),[[e.vModelDynamic,t.value]]),l.after.length>0?(e.openBlock(),e.createBlock(I,{key:3,"icon-class":l.after,onClick:d},null,8,["icon-class"])):e.renderSlot(y.$slots,"suffix",{key:4})],2))}}},Symbol.toStringTag,{value:"Module"})),Ne={key:0},ve=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwMessage",props:e.mergeModels({name:{type:String,default:""},class:{type:String,default:""},iconAfter:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=e.useModel(a,"modelValue"),t=a,l=e.ref(null);return(o,c)=>{const k=e.resolveComponent("svg-icon");return n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["sw-message",t.class]),ref_key:"messageRef",ref:l},[t.name.length>0?(e.openBlock(),e.createElementBlock("header",Ne,[e.renderSlot(o.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createVNode(U,{link:"",type:"primary",onClick:c[0]||(c[0]=p=>n.value=!1)},{default:e.withCtx(()=>[e.createVNode(k,{"icon-class":t.iconAfter},null,8,["icon-class"])]),_:1})])])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(o.$slots,"footer")])],2)):e.createCommentVNode("",!0)}}}},Symbol.toStringTag,{value:"Module"})),je=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSection",props:{name:{type:String,default:""},class:{type:String,default:""},iconAfter:{type:String,default:""}},emits:["header"],setup(a,{emit:n}){const t=a,l=n,o=()=>{l("header")};return(c,k)=>{const p=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(t.class)},[e.createElementVNode("header",{onClick:o},[e.renderSlot(c.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createVNode(p,{"icon-class":t.iconAfter},null,8,["icon-class"])])]),e.renderSlot(c.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(c.$slots,"footer")])],2)}}}},Symbol.toStringTag,{value:"Module"})),Oe={class:"popup"},Pe={class:"wrapper"},Fe={class:"scrollbar"},Ie=["onClick"],Ae=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSelect",props:e.mergeModels({class:{type:String,default:""},size:{type:String,default:"large"},placeholder:{type:String,default:""},token:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=e.ref({fullText:""}),t=e.ref(!1),l=e.ref([]),o=e.useModel(a,"modelValue"),c=a;e.watch(o.text,d=>{d.length>3&&(n.value.fullText=d)}),e.watch(n.value.fullText,(d,h)=>{t.value=d.length>3&&d.length>h.length,d.length>3&&k()});const k=()=>{let d="https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address";console.log(n.value.fullText),axios.post(d,{query:n.value.fullText},{headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:"Token "+c.token}}).then(h=>{console.log(h.data.suggestions),l.value=h.data.suggestions,l.value.length===1&&p(l.value[0])}).catch(h=>{console.log(h)})},p=d=>{n.value.fullText=d.value,t.value=!1;const h={};h.text=d.value,h.coords=[Number(d.data.geo_lat),Number(d.data.geo_lon)],h.suggestion=d.data,o.value=h};return(d,h)=>{const M=e.resolveComponent("sw-input");return e.openBlock(),e.createElementBlock("div",Oe,[e.createVNode(M,{size:c.size,modelValue:n.value.fullText,"onUpdate:modelValue":h[0]||(h[0]=b=>n.value.fullText=b),placeholder:a.placeholder},null,8,["size","modelValue","placeholder"]),e.withDirectives(e.createElementVNode("div",Pe,[e.createElementVNode("ul",Fe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(b,m)=>(e.openBlock(),e.createElementBlock("li",{tabindex:"1",key:m,onClick:y=>p(b)},e.toDisplayString(b.value),9,Ie))),128))])],512),[[e.vShow,t.value]])])}}}},Symbol.toStringTag,{value:"Module"})),Le={key:0},G={__name:"SwSkeletonItem",props:{width:{type:String,default:"100"},class:{type:String,default:""},animate:{type:Boolean,default:!1},size:{type:String,default:""}},setup(a){const n=a,t=e.computed(()=>{let o=["sw-skeleton-item"];return n.size.length>0&&o.push("sw-"+n.size),n.animate&&o.push("sw-animate"),n.class.length>0&&o.push(n.class),o}),l=e.computed(()=>({width:n.width+"%"}));return(o,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value),style:e.normalizeStyle(l.value)},[n.animate?(e.openBlock(),e.createElementBlock("div",Le)):e.createCommentVNode("",!0)],6))}},Ye=Object.freeze(Object.defineProperty({__proto__:null,default:G},Symbol.toStringTag,{value:"Module"})),Re=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSkeleton",props:{class:{type:String,default:""},visual:{type:Boolean,default:!1}},setup(a){const n=a;return(t,l)=>n.visual?e.renderSlot(t.$slots,"default",{key:0}):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["sw-skeleton",n.class])},[e.renderSlot(t.$slots,"skeleton",{},()=>[e.createVNode(G,{animate:"",size:"small"})])],2))}}},Symbol.toStringTag,{value:"Module"})),qe=["name","id"],He=["for","data-onlabel","data-offlabel"],We=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSwitch",props:e.mergeModels({id:{type:String,default:"checkbox"},class:{type:String,default:""},name:{type:String,default:""},on:{type:String,default:""},off:{type:String,default:""},size:{type:String,default:""},checkbox:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=e.useModel(a,"modelValue"),t=a,l=e.computed(()=>{let o=["sw-switch"];return t.size.length>0&&o.push("sw-"+t.size),t.checkbox&&o.push("sw-checkbox"),t.class.length>0&&o.push(t.class),o});return(o,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value)},[e.withDirectives(e.createElementVNode("input",{type:"checkbox",name:t.name,class:"sw-control",id:t.id,"onUpdate:modelValue":c[0]||(c[0]=k=>n.value=k)},null,8,qe),[[e.vModelCheckbox,n.value]]),e.createElementVNode("label",{for:t.id,class:"sw-label","data-onlabel":t.on,"data-offlabel":t.off},null,8,He),e.renderSlot(o.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Ue={key:0},Ge=["onClick"],Xe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabs",props:e.mergeModels({class:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["tab-click"],["update:modelValue"]),setup(a,{emit:n}){e.ref(0);const t=e.ref([]),l=a,o=e.useModel(a,"modelValue"),c=n;function k(d){t.value.push(d)}function p(d){t.value=t.value.filter(h=>h!==d)}return e.provide("registerTab",k),e.provide("unregisterTab",p),e.provide("activeTab",o),e.provide("tabs",t),(d,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("sw-tabs "+l.class)},[t.value.length!==0?(e.openBlock(),e.createElementBlock("header",Ue,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(M,b)=>(e.openBlock(),e.createElementBlock("span",{key:b,class:e.normalizeClass([{active:o.value===b}]),onClick:m=>{o.value=b,c("tab-click",b)}},e.toDisplayString(M.label||M.title),11,Ge))),128))])):e.createCommentVNode("",!0),e.renderSlot(d.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Je={key:0,class:"tab-content"},Qe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPane",props:{title:{type:String,required:!0},label:{type:String,default:""}},setup(a){const n=a,t=e.inject("registerTab"),l=e.inject("unregisterTab");e.onMounted(()=>{t({title:n.title,label:n.label})}),e.onUnmounted(()=>{l({title:n.title,label:n.label})});const o=e.inject("activeTab"),c=e.inject("tabs"),k=e.computed(()=>c.value.findIndex(d=>d.title===n.title)),p=e.computed(()=>o.value===k.value);return(d,h)=>p.value?(e.openBlock(),e.createElementBlock("div",Je,[e.renderSlot(d.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"}));N.Alert=L,N.Library=ae,N.components=A,Object.defineProperty(N,Symbol.toStringTag,{value:"Module"})});
|
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { mergeModels as T, computed as x, useModel as B, ref as f, onMounted as O, onUnmounted as V, createElementBlock as $, openBlock as m, withModifiers as g, normalizeClass as S, renderSlot as E, createBlock as P, Teleport as N, createCommentVNode as q, normalizeStyle as A, unref as D, nextTick as U } from "vue";
|
|
2
|
-
const X = ["id"], j = {
|
|
3
|
-
__name: "SwDropdown",
|
|
4
|
-
props: /* @__PURE__ */ T({
|
|
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
|
-
}, {
|
|
12
|
-
modelValue: {},
|
|
13
|
-
modelModifiers: {}
|
|
14
|
-
}),
|
|
15
|
-
emits: ["update:modelValue"],
|
|
16
|
-
setup(v, { expose: M }) {
|
|
17
|
-
const l = v;
|
|
18
|
-
x(() => "dropdown" + Array.from(document.body.children).indexOf(document.querySelector("ul")));
|
|
19
|
-
const n = B(v, "modelValue"), a = f(null), p = f(null), w = f({}), y = Math.ceil(Math.random() * 1e3), z = x(
|
|
20
|
-
() => {
|
|
21
|
-
let e = ["sw-dropdown"];
|
|
22
|
-
return l.size.length > 0 && e.push("sw-" + l.size), l.type.length > 0 && e.push("sw-" + l.type), e;
|
|
23
|
-
}
|
|
24
|
-
), u = async () => {
|
|
25
|
-
if (await U(), !p.value) return;
|
|
26
|
-
const e = window.pageYOffset || document.documentElement.scrollTop, s = window.pageXOffset || document.documentElement.scrollLeft;
|
|
27
|
-
document.body.style.position = "fixed", document.body.style.top = `-${e}px`, document.body.style.left = `-${s}px`, document.body.style.position = "", document.body.style.top = "", document.body.style.left = "", document.documentElement.scrollTop = e, document.documentElement.scrollLeft = s;
|
|
28
|
-
const o = a.value.getBoundingClientRect(), R = window.innerHeight, d = p.value.offsetHeight, c = p.value.offsetWidth;
|
|
29
|
-
console.log("popupHeight", d), console.log("popupWidth", c);
|
|
30
|
-
let i = o.left + o.width / 2 + s, t = o.top + o.height / 2 + e, r = o.height / 2 + 8;
|
|
31
|
-
const [W, H] = l.placement.split("-", 2);
|
|
32
|
-
switch (console.log(l.placement), W) {
|
|
33
|
-
case "bottom":
|
|
34
|
-
t = e + R - d - r < t ? t - r - d : t + r;
|
|
35
|
-
break;
|
|
36
|
-
case "top":
|
|
37
|
-
t = e + d + r > t ? t - r - d : t + r;
|
|
38
|
-
break;
|
|
39
|
-
case "left":
|
|
40
|
-
i = i - c - o.width / 2 - 8, t = t - d / 2;
|
|
41
|
-
break;
|
|
42
|
-
case "right":
|
|
43
|
-
i = i + o.width / 2 + 8, t = t - d / 2;
|
|
44
|
-
break;
|
|
45
|
-
}
|
|
46
|
-
switch (H) {
|
|
47
|
-
case "left":
|
|
48
|
-
i = i - o.width / 2;
|
|
49
|
-
break;
|
|
50
|
-
case "right":
|
|
51
|
-
i = i - c + o.width / 2;
|
|
52
|
-
break;
|
|
53
|
-
}
|
|
54
|
-
i < 0 && (i = 0), t < 0 && (t = 0), w.value = {
|
|
55
|
-
position: "absolute",
|
|
56
|
-
top: `${t}px`,
|
|
57
|
-
left: `${i}px`,
|
|
58
|
-
maxWidth: l.maxWidth === 0 ? "" : `${l.maxWidth}px`
|
|
59
|
-
};
|
|
60
|
-
};
|
|
61
|
-
M({ positionPopup: u });
|
|
62
|
-
const C = () => {
|
|
63
|
-
l.trigger === "click" && (n.value = !n.value), n.value && u();
|
|
64
|
-
}, h = () => {
|
|
65
|
-
l.trigger === "hover" && (n.value = !n.value), n.value && u();
|
|
66
|
-
}, L = () => {
|
|
67
|
-
l.trigger === "context" && (n.value = !n.value), n.value && u();
|
|
68
|
-
}, b = () => {
|
|
69
|
-
n.value && u();
|
|
70
|
-
}, k = (e) => {
|
|
71
|
-
!e.target.closest(`[id="${y}"]`) && a.value && !a.value.contains(e.target) && (n.value = !1);
|
|
72
|
-
};
|
|
73
|
-
return O(() => {
|
|
74
|
-
window.addEventListener("resize", b), window.addEventListener("click", k);
|
|
75
|
-
}), V(() => {
|
|
76
|
-
window.removeEventListener("resize", b), window.removeEventListener("click", k);
|
|
77
|
-
}), (e, s) => (m(), $("div", {
|
|
78
|
-
class: S(z.value),
|
|
79
|
-
onClick: s[0] || (s[0] = (o) => C()),
|
|
80
|
-
onMouseover: s[1] || (s[1] = g((o) => h(), ["stop"])),
|
|
81
|
-
onMouseleave: s[2] || (s[2] = g((o) => h(), ["stop"])),
|
|
82
|
-
onContextmenu: s[3] || (s[3] = g((o) => L(), ["stop"])),
|
|
83
|
-
ref_key: "dropdownRef",
|
|
84
|
-
ref: a
|
|
85
|
-
}, [
|
|
86
|
-
E(e.$slots, "default"),
|
|
87
|
-
(m(), P(N, { to: "body" }, [
|
|
88
|
-
n.value ? (m(), $("ul", {
|
|
89
|
-
key: 0,
|
|
90
|
-
ref_key: "popupRef",
|
|
91
|
-
ref: p,
|
|
92
|
-
id: D(y),
|
|
93
|
-
class: S(["sw-dropdown-popup", l.class]),
|
|
94
|
-
style: A(w.value),
|
|
95
|
-
tabindex: "-1"
|
|
96
|
-
}, [
|
|
97
|
-
E(e.$slots, "dropdown")
|
|
98
|
-
], 14, X)) : q("", !0)
|
|
99
|
-
]))
|
|
100
|
-
], 34));
|
|
101
|
-
}
|
|
102
|
-
};
|
|
103
|
-
export {
|
|
104
|
-
j as default
|
|
105
|
-
};
|