@studio-west/component-sw 0.5.30 → 0.5.32

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