@studio-west/component-sw 0.8.3 → 0.8.4

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 f, computed as K, createElementBlock as r, openBlock as v, createElementVNode as o, createCommentVNode as V, withModifiers as c, renderSlot as w, createTextVNode as k, toDisplayString as D, unref as T, Fragment as $, renderList as Y, normalizeClass as N } from "vue";
2
- import { p as A } from "./index-DYpLDbrv.js";
2
+ import { p as A } from "./index-DOH9EGY_.js";
3
3
  const oe = { class: "sw-data-picker" }, ue = {
4
4
  key: 0,
5
5
  class: "month_year"
@@ -14,10 +14,10 @@ const A = ["id"], G = {
14
14
  }),
15
15
  emits: ["update:modelValue"],
16
16
  setup(b, { expose: S }) {
17
- const r = b, u = B(b, "modelValue"), f = v(null), p = v(null), E = v({}), k = Math.ceil(Math.random() * 1e3), a = v(0), C = V(
17
+ const d = b, u = B(b, "modelValue"), f = v(null), p = v(null), E = v({}), k = Math.ceil(Math.random() * 1e3), a = v(0), C = V(
18
18
  () => {
19
19
  let n = ["sw-dropdown"];
20
- return r.size.length > 0 && n.push("sw-" + r.size), r.type.length > 0 && n.push("sw-" + r.type), n;
20
+ return d.size.length > 0 && n.push("sw-" + d.size), d.type.length > 0 && n.push("sw-" + d.type), n;
21
21
  }
22
22
  ), x = new ResizeObserver(() => {
23
23
  u.value && a.value++, a.value > 99 && (a.value = 1);
@@ -30,20 +30,20 @@ const A = ["id"], G = {
30
30
  let n = window.pageYOffset || document.documentElement.scrollTop, i = window.pageXOffset || document.documentElement.scrollLeft;
31
31
  document.body.style.position = "fixed", document.body.style.top = `-${n}px`, document.body.style.left = `-${i}px`, document.body.style.position = "", document.body.style.top = "", document.body.style.left = "", document.documentElement.scrollTop = n, document.documentElement.scrollLeft = i;
32
32
  const o = f.value.getBoundingClientRect();
33
- let w = window.innerWidth, T = window.innerHeight, d = p.value.offsetHeight, l = p.value.offsetWidth, e = o.left + o.width / 2 + i, t = o.top + o.height / 2 + n, s = o.height / 2 + 8;
34
- const [H, h] = r.placement.split("-", 2);
33
+ let w = window.innerWidth, T = window.innerHeight, s = p.value.offsetHeight, l = p.value.offsetWidth, e = o.left + o.width / 2 + i, t = o.top + o.height / 2 + n, r = o.height / 2 + 8;
34
+ const [H, h] = d.placement.split("-", 2);
35
35
  switch (H) {
36
36
  case "bottom":
37
- t = n + T - d - s - 8 < t ? t - s - d : t + s, h === void 0 && (e -= l / 2);
37
+ t = n + T - s - r - 8 < t ? t - r - s : t + r, h === void 0 && (e -= l / 2);
38
38
  break;
39
39
  case "top":
40
- t = n + d + s + 8 > t ? t + s : t - s - d, h === void 0 && (e -= l / 2);
40
+ t = n + s + r + 8 > t ? t + r : t - r - s, h === void 0 && (e -= l / 2);
41
41
  break;
42
42
  case "left":
43
- e - l - o.width / 2 - 8 < 0 ? e + o.width / 2 + 8 + l < w ? (e = e + o.width / 2 + 8, t = t - d / 2) : (t = n + d + s + 8 > t ? t + s : t - s - d, e = e + o.width / 2 < w ? e + o.width / 2 - l : e - l / 2) : (e = e - l - o.width / 2 - 8, t = t - d / 2);
43
+ e - l - o.width / 2 - 8 < 0 ? e + o.width / 2 + 8 + l < w ? (e = e + o.width / 2 + 8, t = t - s / 2) : (t = n + s + r + 8 > t ? t + r : t - r - s, e = e + o.width / 2 < w ? e + o.width / 2 - l : e - l / 2) : (e = e - l - o.width / 2 - 8, t = t - s / 2);
44
44
  break;
45
45
  case "right":
46
- e + o.width / 2 + 8 + l > w ? e - l - o.width / 2 - 8 > 0 ? (e = e - l - o.width / 2 - 8, t = t - d / 2) : (t = n + d + s + 8 > t ? t + s : t - s - d, e = e - o.width / 2) : (e = e + o.width / 2 + 8, t = t - d / 2);
46
+ e + o.width / 2 + 8 + l > w ? e - l - o.width / 2 - 8 > 0 ? (e = e - l - o.width / 2 - 8, t = t - s / 2) : (t = n + s + r + 8 > t ? t + r : t - r - s, e = e - o.width / 2) : (e = e + o.width / 2 + 8, t = t - s / 2);
47
47
  break;
48
48
  }
49
49
  switch (h) {
@@ -58,23 +58,23 @@ const A = ["id"], G = {
58
58
  position: "absolute",
59
59
  top: `${t}px`,
60
60
  left: `${e}px`,
61
- maxWidth: r.maxWidth > 0 ? `${r.maxWidth}px` : ""
61
+ maxWidth: d.maxWidth > 0 ? `${d.maxWidth}px` : ""
62
62
  };
63
63
  },
64
64
  { flush: "post" }
65
65
  );
66
66
  const R = () => {
67
- r.trigger === "click" && (u.value = !u.value);
67
+ d.trigger === "click" && (u.value = !u.value);
68
68
  }, L = () => {
69
- r.trigger === "hover" && (u.value = !u.value);
69
+ d.trigger === "hover" && (u.value = !u.value);
70
70
  }, W = () => {
71
- r.trigger === "context" && (u.value = !u.value);
71
+ d.trigger === "context" && (u.value = !u.value);
72
72
  }, c = () => {
73
73
  u.value && a.value++, a.value > 99 && (a.value = 1);
74
74
  };
75
75
  S({ handleResize: c });
76
76
  const m = (n) => {
77
- !n.target.closest(`[id="${k}"]`) && f.value && !f.value.contains(n.target) && (u.value = !1);
77
+ d.trigger !== "none" && !n.target.closest(`[id="${k}"]`) && f.value && !f.value.contains(n.target) && (u.value = !1);
78
78
  };
79
79
  return P(() => {
80
80
  window.addEventListener("resize", c), document.documentElement.ontouchstart !== void 0 ? document.documentElement.addEventListener("touchstart", m, !0) : document.documentElement.addEventListener("click", m, !0), window.onscrollend !== void 0 ? window.addEventListener("scrollend", c) : window.addEventListener("scroll", c);
@@ -96,7 +96,7 @@ const A = ["id"], G = {
96
96
  ref_key: "popupRef",
97
97
  ref: p,
98
98
  id: q(k),
99
- class: z(["sw-dropdown-popup", r.class]),
99
+ class: z(["sw-dropdown-popup", d.class]),
100
100
  style: j(E.value),
101
101
  tabindex: "-1"
102
102
  }, [
@@ -1,5 +1,5 @@
1
1
  import { mergeModels as C, ref as f, useModel as b, watchEffect as L, onMounted as N, resolveComponent as R, createElementBlock as z, openBlock as M, createElementVNode as i, createVNode as a, withCtx as d, renderSlot as m, createTextVNode as w, toDisplayString as k, normalizeClass as B } from "vue";
2
- import G from "./SwDropdown-BfZtvUq-.js";
2
+ import G from "./SwDropdown-DQGTnnKw.js";
3
3
  import g from "./SwButton-85-tKHA7.js";
4
4
  const H = ["src"], q = {
5
5
  __name: "SwGide",
@@ -1,5 +1,5 @@
1
1
  import { mergeModels as y, useModel as w, ref as D, computed as V, watch as C, createElementBlock as d, openBlock as s, normalizeClass as I, 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-DYpLDbrv.js";
2
+ import { S } from "./index-DOH9EGY_.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 y = /* @__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-BdKVqb_W.js"), "./components/SwDropdown.vue": () => import("./SwDropdown-BfZtvUq-.js"), "./components/SwDropdownItem.vue": () => import("./SwDropdownItem-wFMHwJJk.js"), "./components/SwFormItem.vue": () => import("./SwFormItem-CaA4jsoa.js"), "./components/SwGide.vue": () => import("./SwGide-2z8XCCsl.js"), "./components/SwInput.vue": () => import("./SwInput-B_S1R9hF.js"), "./components/SwMessage.vue": () => import("./SwMessage-DKatZOJ6.js"), "./components/SwSection.vue": () => import("./SwSection-D8ooQ21I.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-6rl1IT4p.js"), "./components/SwTable.vue": () => import("./SwTable-BLrFhlyO.js"), "./components/SwTableColumn.vue": () => import("./SwTableColumn-BLF5bPuJ.js"), "./components/SwTabs.vue": () => import("./SwTabs-DkSI4oAh.js"), "./components/SwTabsPane.vue": () => import("./SwTabsPane-Dwtj8g7T.js") }), d = {};
147
+ const y = /* @__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-D_B09ZjH.js"), "./components/SwDropdown.vue": () => import("./SwDropdown-DQGTnnKw.js"), "./components/SwDropdownItem.vue": () => import("./SwDropdownItem-wFMHwJJk.js"), "./components/SwFormItem.vue": () => import("./SwFormItem-CaA4jsoa.js"), "./components/SwGide.vue": () => import("./SwGide-bGEA_XgQ.js"), "./components/SwInput.vue": () => import("./SwInput-CwSIxOIl.js"), "./components/SwMessage.vue": () => import("./SwMessage-DKatZOJ6.js"), "./components/SwSection.vue": () => import("./SwSection-D8ooQ21I.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-6rl1IT4p.js"), "./components/SwTable.vue": () => import("./SwTable-BLrFhlyO.js"), "./components/SwTableColumn.vue": () => import("./SwTableColumn-BLF5bPuJ.js"), "./components/SwTabs.vue": () => import("./SwTabs-DkSI4oAh.js"), "./components/SwTabsPane.vue": () => import("./SwTabsPane-Dwtj8g7T.js") }), d = {};
148
148
  for (const e in y) {
149
149
  const n = e.split("/").pop().replace(".vue", "").replace(/-(\w)/g, (t, o) => o.toUpperCase());
150
150
  d[n] = P(() => y[e]());
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- (function(O,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(O=typeof globalThis<"u"?globalThis:O||self,e(O["component-sw"]={},O.vue))})(this,function(O,e){"use strict";function ne(r){return/^(https?:|mailto:|tel:)/.test(r)}function A(r,a){if(arguments.length===0||!r)return null;const t=a||"{Y}-{m}-{d} {G}:{i}:{s}";let l;typeof r=="object"?l=r:(typeof r=="string"&&(/^[0-9]+$/.test(r)?r=parseInt(r):r=r.replace(new RegExp(/-/gm),"/")),typeof r=="number"&&r.toString().length===10&&(r=r*1e3),l=new Date(r));const n="ru-RU",i={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(n,{weekday:"short"}).format(l),F:new Intl.DateTimeFormat(n,{month:"long"}).format(l),M:new Intl.DateTimeFormat(n,{month:"short"}).format(l)};return t.replace(/{(dd|[YmdGHisDFM])+}/g,($,m)=>i[m])}const ae=(r,a)=>{const t=r.__vccOpts||r;for(const[l,n]of a)t[l]=n;return t},se={name:"SvgIcon",props:{prefix:{type:String,default:"icon"},iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExt(){return ne(this.iconClass)}}},re=["href"];function ie(r,a,t,l,n,i){return i.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"},r.$attrs),null,16)):(e.openBlock(),e.createElementBlock("svg",e.mergeProps({key:1,class:"svg-icon icon-"+(t.className||t.iconClass),"aria-hidden":"true"},r.$attrs),[e.createElementVNode("use",{href:"#"+t.prefix+"-"+t.iconClass},null,8,re)],16))}const W=ae(se,[["render",ie]]),Z={__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:r=>["success","warning","error","info"].includes(r)}},emits:["closed"],setup(r,{emit:a}){const t=r,l=a,n=e.ref(!1);let i=null;const $=()=>{n.value=!0,V()},m=()=>{n.value=!1,l("closed")},c=()=>{i&&(clearTimeout(i),i=null)},B=()=>{V()},V=()=>{i=setTimeout(m,t.duration)};e.onMounted(()=>{$()}),e.onUnmounted(()=>{i&&clearTimeout(i)});const M=e.computed(()=>{const y=["sw-alert"];return t.size.length>0&&y.push(`sw-${t.size}`),t.type.length>0&&y.push(`sw-${t.type}`),t.class.length>0&&y.push(t.class),y});return(y,w)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade"},{default:e.withCtx(()=>[n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(M.value),onMouseenter:c,onMouseleave:B},[t.before.length>0?(e.openBlock(),e.createBlock(W,{key:0,"icon-class":t.before},null,8,["icon-class"])):e.renderSlot(y.$slots,"prefix",{key:1}),e.renderSlot(y.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)]),t.after.length>0?(e.openBlock(),e.createBlock(W,{key:2,"icon-class":t.after,onClick:m},null,8,["icon-class"])):e.renderSlot(y.$slots,"suffix",{key:3})],34)):e.createCommentVNode("",!0)]),_:3}))}},ce=Object.freeze(Object.defineProperty({__proto__:null,default:Z},Symbol.toStringTag,{value:"Module"}));let I=document.querySelector("div.sw-alert-wrapper");function J(r={}){I||(I=document.createElement("div"),I.className="sw-alert-wrapper",document.body.appendChild(I));const a=e.createApp({setup(){return()=>e.h(Z,{...r,onClose:()=>{I.removeChild(a._container),a.unmount()}})}}),t=a.mount(document.createElement("div"));I.appendChild(t.$el)}const K=Object.assign({"./components/SwAlert.vue":()=>Promise.resolve().then(()=>ce),"./components/SwButton.vue":()=>Promise.resolve().then(()=>pe),"./components/SwCollapse.vue":()=>Promise.resolve().then(()=>me),"./components/SwDatePicker.vue":()=>Promise.resolve().then(()=>Pe),"./components/SwDropdown.vue":()=>Promise.resolve().then(()=>Fe),"./components/SwDropdownItem.vue":()=>Promise.resolve().then(()=>Re),"./components/SwFormItem.vue":()=>Promise.resolve().then(()=>Ae),"./components/SwGide.vue":()=>Promise.resolve().then(()=>He),"./components/SwInput.vue":()=>Promise.resolve().then(()=>Ue),"./components/SwMessage.vue":()=>Promise.resolve().then(()=>Je),"./components/SwSection.vue":()=>Promise.resolve().then(()=>Qe),"./components/SwSelect.vue":()=>Promise.resolve().then(()=>lt),"./components/SwSkeleton.vue":()=>Promise.resolve().then(()=>at),"./components/SwSkeletonItem.vue":()=>Promise.resolve().then(()=>nt),"./components/SwSwitch.vue":()=>Promise.resolve().then(()=>it),"./components/SwTable.vue":()=>Promise.resolve().then(()=>ut),"./components/SwTableColumn.vue":()=>Promise.resolve().then(()=>dt),"./components/SwTabs.vue":()=>Promise.resolve().then(()=>yt),"./components/SwTabsPane.vue":()=>Promise.resolve().then(()=>kt)}),U={};for(const r in K){const a=r.split("/").pop().replace(".vue","").replace(/-(\w)/g,(t,l)=>l.toUpperCase());U[a]=e.defineAsyncComponent(()=>K[r]())}const de={install(r){Object.keys(U).forEach(a=>{r.component(a,U[a])}),r.config.globalProperties.$Alert=J,r.provide("Alert",J)}},Y={__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(r){const a=r,t=()=>{if(a.href.length>0){const n=document.createElement("a");n.setAttribute("href",a.href),n.setAttribute("target","_blank"),n.click()}},l=e.computed(()=>{let n=["sw-button"];return a.size.length>0&&n.push("sw-"+a.size),a.type.length>0&&n.push("sw-"+a.type),a.round&&n.push("sw-round"),a.text&&n.push("sw-text"),a.link&&n.push("sw-link"),a.class.length>0&&n.push(a.class),n});return(n,i)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(l.value),onClick:t},[e.renderSlot(n.$slots,"default")],2))}},pe=Object.freeze(Object.defineProperty({__proto__:null,default:Y},Symbol.toStringTag,{value:"Module"})),me=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwCollapse",props:{visual:{type:Boolean,default:!0}},setup(r){e.onMounted(()=>{l.value="0px"});const a=e.ref(null),t=r;e.watch(()=>t.visual,()=>n());const l=e.ref("0px"),n=()=>{a.value&&(l.value=t.visual?a.value.scrollHeight+"px":"0px")};let i;return e.onMounted(()=>{n(),a.value&&(i=new ResizeObserver(n),i.observe(a.value))}),e.onBeforeUnmount(()=>{i&&i.disconnect()}),($,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sw-collapse",{open:t.visual}]),style:e.normalizeStyle({maxHeight:l.value}),ref_key:"collapse",ref:a},[e.renderSlot($.$slots,"default")],6))}}},Symbol.toStringTag,{value:"Module"})),fe={class:"sw-data-picker"},ue={key:0,class:"month_year"},ge={class:"text"},he={key:1,class:"month_year"},ye={class:"text"},we={key:2,class:"week"},ke={key:3,class:"year"},Se=["onClick"],be={key:4,class:"year"},_e=["onClick"],Ee={key:5,class:"month"},Be=["onClick"],$e={key:0},Ce={key:0,class:"month_year"},De={class:"text"},Ve={key:1,class:"month_year"},Me={class:"text"},Te={key:2,class:"week"},Ne={key:3,class:"year"},xe=["onClick"],ze={key:4,class:"year"},ve=["onClick"],Oe={key:5,class:"month"},je=["onClick"],Pe=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(r,{emit:a}){var F,R,q,oe;const t=r,l=a,n=e.ref(5),i=e.ref(new Date),$=e.ref(new Date),m=e.ref(new Date().getFullYear()),c=e.ref(new Date().getMonth()),B=e.ref(new Date().getFullYear()),V=e.ref(new Date().getMonth()),M=e.ref(new Date(m.value,c.value+1,1).getMonth()),y=e.ref([]),w=e.ref(0),s=e.ref(-1),g=e.ref(-1),u=e.ref(navigator.language||"ru"),h=/en|zh|ja|he/.test(u.value)?0:1,f=e.computed(()=>Array.from({length:12},(p,o)=>{const d=new Date(2024,o);return new Intl.DateTimeFormat(u.value,{month:"long"}).format(d)})),C=e.ref(Math.floor(m.value/10)*10),D=e.computed(()=>Array.from({length:12},(p,o)=>C.value+o-1)),E=p=>{let o=p.split(p.match(/\D.*?\D?/));return o[0].length>2?o.join("-")+"T00:00:01":o.reverse().join("-")+"T00:00:01"};(F=t.data)!=null&&F.startDate&&(i.value=new Date(E(t.data.startDate)),m.value=i.value.getFullYear(),c.value=i.value.getMonth()),(R=t.data)!=null&&R.endDate&&t.range==="range"&&($.value=new Date(E(t.data.endDate)),B.value=$.value.getFullYear(),V.value=$.value.getMonth());const _=()=>{y.value=[],w.value=0;const p=new Date(m.value,c.value,0);for(let d=p.getDate()-p.getDay()+h;d<=p.getDate();d++)p.getDay()!==6+h&&(y.value.push({day:d,month:p.getMonth(),year:p.getFullYear(),class:[]}),w.value++);const o=new Date(m.value,c.value+1,0).getDate();for(let d=1;d<=o;d++)y.value.push({day:d,month:c.value,year:m.value,class:[]}),w.value++;if(t.range==="range"){const d=new Date(m.value,c.value+1,1),k=new Date(m.value,c.value+2,0).getDate();for(let T=1;T<=k;T++)y.value.push({day:T,month:d.getMonth(),year:d.getFullYear(),class:[]})}b()},b=()=>{var o;if(!((o=t.data)!=null&&o.holiday))return;const p=(d,k)=>{d.forEach(T=>{const[v,z,L]=T.split("-").map(Number),H=y.value.findIndex(Q=>Q.year===v&&Q.month+1===z&&Q.day===L);H!==-1&&(y.value[H].class[0]=k)})};p(t.data.holiday.preholidays,"preholiday"),p(t.data.holiday.holidays,"weekend"),p(t.data.holiday.holiday,"holiday"),p(t.data.holiday.nowork,"nowork")},S=()=>{if(!t.limitation||t.limitation.length<2)return!1;const p=[...t.limitation].sort((o,d)=>new Date(E(o.startDate)).getTime()-new Date(E(d.startDate)).getTime());for(let o=1;o<p.length;o++){const d=new Date(E(p[o-1].endDate));if(new Date(E(p[o].startDate))<=d)return console.warn("Warning: Диапазоны пересекаются:",p[o-1],p[o]),!0}return!1},N=(p,o,d)=>{if(!t.limitation||t.limitation.length===0)return!0;const k=new Date(p,o,d).getTime();for(let T of t.limitation){const{startDate:v,endDate:z}=T;if(!v&&z){const L=new Date(E(z)).getTime();if(k<=L)return!1}if(v&&!z){const L=new Date(E(v)).getTime();if(k>=L)return!1}if(v&&z){const L=new Date(E(v)).getTime(),H=new Date(E(z)).getTime();if(L<=H){if(k>=L&&k<=H)return!1}else if(k>=L||k<=H)return!1}}return!0},j=(p,o)=>{const d=A(new Date(p.year,p.month,p.day),"{dd}.{m}.{Y}");t.range==="range"?g.value!==-1?(P(),s.value=o,y.value[o].class[1]="active"):s.value!==-1?(g.value=o,G(s.value,g.value,d)):(s.value=o,y.value[o].class[1]="active"):(s.value!==-1&&(y.value[s.value].class[1]=""),s.value=o,y.value[o].class[1]="active",l("input",{dateStart:d,count:1}))},P=()=>{y.value.forEach(p=>p.class[1]=""),s.value=-1,g.value=-1},G=(p,o,d)=>{let k=A(new Date(y.value[p].year,y.value[p].month,y.value[p].day),"{dd}.{m}.{Y}");if(o>=p){for(let T=p+1;T<o;T++)y.value[T].class[1]="select";l("input",{dateStart:k,dateEnd:d,count:X(p,o)})}else{for(let T=o+1;T<p;T++)y.value[T].class[1]="select";l("input",{dateStart:d,dateEnd:k,count:X(o,p)})}y.value[o].class[1]="active"},X=(p,o)=>{var v;let d=Math.abs(p-o)+1,[k,T]=[Math.min(p,o),Math.max(p,o)];for(let z=k;z<=T;z++)((v=y.value[z])==null?void 0:v.class[0])==="holiday"&&d--;return d},x=(p,o)=>{N(p,o)&&(i.value=new Date(p,o,1),m.value=i.value.getFullYear(),c.value=i.value.getMonth(),M.value=new Date(p,o+1,1).getMonth(),(t.range==="year"||t.range==="decades")&&n.value===0?j({year:p,month:o,day:1},8):_())};if(_(),S(),(q=t.data)!=null&&q.startDate&&(s.value=y.value.findIndex(p=>p.day===i.value.getDate()&&p.month===c.value&&p.year===m.value),s.value!==-1&&(y.value[s.value].class[1]="active")),(oe=t.data)!=null&&oe.endDate&&t.range==="range"&&(g.value=y.value.findIndex(p=>p.day===$.value.getDate()&&p.month===V.value&&p.year===B.value),g.value!==-1)){y.value[g.value].class[1]="active";for(let p=s.value+1;p<g.value;p++)y.value[p].class[1]="select"}return(p,o)=>(e.openBlock(),e.createElementBlock("div",fe,[e.createElementVNode("div",null,[t.range==="decades"||n.value===3?(e.openBlock(),e.createElementBlock("p",ue,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:o[0]||(o[0]=e.withModifiers(d=>{C.value-=10,x(m.value,c.value)},["prevent"]))},[e.renderSlot(p.$slots,"double-arrow",{},()=>[o[16]||(o[16]=e.createTextVNode("«"))])])]),e.createElementVNode("span",ge,e.toDisplayString(D.value[0])+" - "+e.toDisplayString(D.value[11]),1),e.createElementVNode("span",null,[e.createElementVNode("button",{class:"sw-revers",onClick:o[1]||(o[1]=e.withModifiers(d=>{C.value+=10,x(m.value,c.value)},["prevent"]))},[e.renderSlot(p.$slots,"double-arrow",{},()=>[o[17]||(o[17]=e.createTextVNode("«"))])])])])):(e.openBlock(),e.createElementBlock("p",he,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:o[2]||(o[2]=e.withModifiers(d=>x(m.value-1,c.value),["prevent"]))},[e.renderSlot(p.$slots,"double-arrow",{},()=>[o[18]||(o[18]=e.createTextVNode("«"))])]),e.createElementVNode("button",{onClick:o[3]||(o[3]=e.withModifiers(d=>{n.value=0,x(m.value,c.value-1)},["prevent"]))},[e.renderSlot(p.$slots,"arrow",{},()=>[o[19]||(o[19]=e.createTextVNode("‹"))])])]),e.createElementVNode("span",ye,[e.createElementVNode("button",{onClick:o[4]||(o[4]=e.withModifiers(d=>n.value=3,["prevent"]))},e.toDisplayString(m.value),1),e.createElementVNode("button",{onClick:o[5]||(o[5]=e.withModifiers(d=>n.value=1,["prevent"]))},e.toDisplayString(e.unref(A)(i.value.setMonth(c.value),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{class:"sw-revers",onClick:o[6]||(o[6]=e.withModifiers(d=>{n.value=0,x(m.value,c.value+1)},["prevent"]))},[e.renderSlot(p.$slots,"arrow",{},()=>[o[20]||(o[20]=e.createTextVNode("‹"))])]),e.createElementVNode("button",{class:"sw-revers",onClick:o[7]||(o[7]=e.withModifiers(d=>x(m.value+1,c.value),["prevent"]))},[e.renderSlot(p.$slots,"double-arrow",{},()=>[o[21]||(o[21]=e.createTextVNode("«"))])])])])),t.range==="year"||t.range==="decades"||n.value===1||n.value===3?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",we,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(d,k)=>e.createElementVNode("button",{key:k,class:"disabled"},e.toDisplayString(e.unref(A)(new Date(1970,1,d+e.unref(h)),"{D}")),1)),64))])),n.value!==3&&t.range==="year"||n.value===1?(e.openBlock(),e.createElementBlock("div",ke,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(d,k)=>(e.openBlock(),e.createElementBlock("button",{key:k,onClick:e.withModifiers(T=>{n.value=0,x(m.value,k)},["prevent"]),class:e.normalizeClass(k===c.value?"active":"")},e.toDisplayString(d),11,Se))),128))])):t.range==="decades"||n.value===3?(e.openBlock(),e.createElementBlock("div",be,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(D.value,(d,k)=>(e.openBlock(),e.createElementBlock("button",{key:k,onClick:e.withModifiers(T=>{n.value=t.range==="year"?1:0,x(d,c.value)},["prevent"]),class:e.normalizeClass(C.value+k-1===m.value?"active":"")},e.toDisplayString(d),11,_e))),128))])):(e.openBlock(),e.createElementBlock("div",Ee,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(d,k)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:k},[k<w.value+(7-new Date(m.value,c.value+1,1).getDay()+e.unref(h))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(d.month===c.value&&N(d.year,d.month,d.day)?d.class:"disabled"),onClick:e.withModifiers(()=>{d.month===c.value&&j(d,k)},["prevent"])},e.toDisplayString(d.day),11,Be)):e.createCommentVNode("",!0)],64))),128))]))]),t.range==="range"?(e.openBlock(),e.createElementBlock("div",$e,[t.range==="decades"||n.value===4?(e.openBlock(),e.createElementBlock("p",Ce,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:o[8]||(o[8]=e.withModifiers(d=>{C.value-=10,x(m.value,c.value)},["prevent"]))},[e.renderSlot(p.$slots,"double-arrow",{},()=>[o[22]||(o[22]=e.createTextVNode("«"))])])]),e.createElementVNode("span",De,e.toDisplayString(D.value[0])+" - "+e.toDisplayString(D.value[11]),1),e.createElementVNode("span",null,[e.createElementVNode("button",{class:"sw-revers",onClick:o[9]||(o[9]=e.withModifiers(d=>{C.value+=10,x(m.value,c.value)},["prevent"]))},[e.renderSlot(p.$slots,"double-arrow",{},()=>[o[23]||(o[23]=e.createTextVNode("«"))])])])])):(e.openBlock(),e.createElementBlock("p",Ve,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:o[10]||(o[10]=e.withModifiers(d=>x(m.value-1,c.value),["prevent"]))},[e.renderSlot(p.$slots,"double-arrow",{},()=>[o[24]||(o[24]=e.createTextVNode("«"))])]),e.createElementVNode("button",{onClick:o[11]||(o[11]=e.withModifiers(d=>{n.value=0,x(m.value,c.value-1)},["prevent"]))},[e.renderSlot(p.$slots,"arrow",{},()=>[o[25]||(o[25]=e.createTextVNode("‹"))])])]),e.createElementVNode("span",Me,[e.createElementVNode("button",{onClick:o[12]||(o[12]=e.withModifiers(d=>n.value=4,["prevent"]))},e.toDisplayString(new Date(m.value,c.value+1).getFullYear()),1),e.createElementVNode("button",{onClick:o[13]||(o[13]=e.withModifiers(d=>n.value=2,["prevent"]))},e.toDisplayString(e.unref(A)(i.value.setMonth(c.value+1),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{class:"sw-revers",onClick:o[14]||(o[14]=e.withModifiers(d=>{n.value=0,x(m.value,c.value+1)},["prevent"]))},[e.renderSlot(p.$slots,"arrow",{},()=>[o[26]||(o[26]=e.createTextVNode("‹"))])]),e.createElementVNode("button",{class:"sw-revers",onClick:o[15]||(o[15]=e.withModifiers(d=>x(m.value+1,c.value),["prevent"]))},[e.renderSlot(p.$slots,"double-arrow",{},()=>[o[27]||(o[27]=e.createTextVNode("«"))])])])])),n.value===2||n.value===4?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Te,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(d,k)=>e.createElementVNode("button",{key:k,class:"disabled"},e.toDisplayString(e.unref(A)(new Date(1970,1,d+e.unref(h)),"{D}")),1)),64))])),n.value===2?(e.openBlock(),e.createElementBlock("div",Ne,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(d,k)=>(e.openBlock(),e.createElementBlock("button",{key:k,onClick:e.withModifiers(T=>{n.value=0,x(m.value,k-1)},["prevent"]),class:e.normalizeClass(k===(c.value+1)%12?"active":"")},e.toDisplayString(d),11,xe))),128))])):n.value===4?(e.openBlock(),e.createElementBlock("div",ze,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(D.value,(d,k)=>(e.openBlock(),e.createElementBlock("button",{key:k,onClick:e.withModifiers(T=>{n.value=0,x(d,c.value)},["prevent"]),class:e.normalizeClass(C.value+k-1===m.value?"active":"")},e.toDisplayString(d),11,ve))),128))])):(e.openBlock(),e.createElementBlock("div",Oe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(d,k)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:k},[k>=w.value-(7+new Date(m.value,c.value+1,1).getDay()-e.unref(h))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(d.month===M.value&&N(d.year,d.month,d.day)?d.class:"disabled"),onClick:e.withModifiers(()=>{d.month===M.value&&j(d,k)},["prevent"])},e.toDisplayString(d.day),11,je)):e.createCommentVNode("",!0)],64))),128))]))])):e.createCommentVNode("",!0)]))}}},Symbol.toStringTag,{value:"Module"})),Le=["id"],ee={__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(r,{expose:a}){const t=r,l=e.useModel(r,"modelValue"),n=e.ref(null),i=e.ref(null),$=e.ref({}),m=Math.ceil(Math.random()*1e3),c=e.ref(0),B=e.computed(()=>{let u=["sw-dropdown"];return t.size.length>0&&u.push("sw-"+t.size),t.type.length>0&&u.push("sw-"+t.type),u}),V=new ResizeObserver(()=>{l.value&&c.value++,c.value>99&&(c.value=1)});e.watchEffect(()=>{if(!l.value||!i.value||!n.value)return;c.value<2&&V.observe(i.value);let u=window.pageYOffset||document.documentElement.scrollTop,h=window.pageXOffset||document.documentElement.scrollLeft;document.body.style.position="fixed",document.body.style.top=`-${u}px`,document.body.style.left=`-${h}px`,document.body.style.position="",document.body.style.top="",document.body.style.left="",document.documentElement.scrollTop=u,document.documentElement.scrollLeft=h;const f=n.value.getBoundingClientRect();let C=window.innerWidth,D=window.innerHeight,E=i.value.offsetHeight,_=i.value.offsetWidth,b=f.left+f.width/2+h,S=f.top+f.height/2+u,N=f.height/2+8;const[j,P]=t.placement.split("-",2);switch(j){case"bottom":S=u+D-E-N-8<S?S-N-E:S+N,P===void 0&&(b-=_/2);break;case"top":S=u+E+N+8>S?S+N:S-N-E,P===void 0&&(b-=_/2);break;case"left":b-_-f.width/2-8<0?b+f.width/2+8+_<C?(b=b+f.width/2+8,S=S-E/2):(S=u+E+N+8>S?S+N:S-N-E,b=b+f.width/2<C?b+f.width/2-_:b-_/2):(b=b-_-f.width/2-8,S=S-E/2);break;case"right":b+f.width/2+8+_>C?b-_-f.width/2-8>0?(b=b-_-f.width/2-8,S=S-E/2):(S=u+E+N+8>S?S+N:S-N-E,b=b-f.width/2):(b=b+f.width/2+8,S=S-E/2);break}switch(P){case"left":b=h+C-8>b-f.width/2+_?b-f.width/2:b-_+f.width/2;break;case"right":b=8<b+f.width/2-_?b-_+f.width/2:b-f.width/2;break}b<0&&(b=0),S<0&&(S=0),$.value={position:"absolute",top:`${S}px`,left:`${b}px`,maxWidth:t.maxWidth>0?`${t.maxWidth}px`:""}},{flush:"post"});const M=()=>{t.trigger==="click"&&(l.value=!l.value)},y=()=>{t.trigger==="hover"&&(l.value=!l.value)},w=()=>{t.trigger==="context"&&(l.value=!l.value)},s=()=>{l.value&&c.value++,c.value>99&&(c.value=1)};a({handleResize:s});const g=u=>{!u.target.closest(`[id="${m}"]`)&&n.value&&!n.value.contains(u.target)&&(l.value=!1)};return e.onMounted(()=>{window.addEventListener("resize",s),document.documentElement.ontouchstart!==void 0?document.documentElement.addEventListener("touchstart",g,!0):document.documentElement.addEventListener("click",g,!0),window.onscrollend!==void 0?window.addEventListener("scrollend",s):window.addEventListener("scroll",s)}),e.onUnmounted(()=>{V.disconnect(),window.removeEventListener("resize",s),document.documentElement.ontouchstart!==void 0?document.documentElement.removeEventListener("touchstart",g):document.documentElement.removeEventListener("click",g),window.onscrollend!==void 0?window.removeEventListener("scrollend",s):window.removeEventListener("scroll",s)}),(u,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(B.value),onClick:h[0]||(h[0]=f=>M()),onMouseover:h[1]||(h[1]=e.withModifiers(f=>y(),["stop"])),onMouseleave:h[2]||(h[2]=e.withModifiers(f=>y(),["stop"])),onContextmenu:h[3]||(h[3]=e.withModifiers(f=>w(),["stop"])),ref_key:"dropdownRef",ref:n},[e.renderSlot(u.$slots,"default"),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[l.value?(e.openBlock(),e.createElementBlock("ul",{key:0,ref_key:"popupRef",ref:i,id:e.unref(m),class:e.normalizeClass(["sw-dropdown-popup",t.class]),style:e.normalizeStyle($.value),tabindex:"-1"},[e.renderSlot(u.$slots,"dropdown")],14,Le)):e.createCommentVNode("",!0)]))],34))}},Fe=Object.freeze(Object.defineProperty({__proto__:null,default:ee},Symbol.toStringTag,{value:"Module"})),Re=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(r){const a=r,t=e.computed(()=>{let l=["sw-dropdown-item"];return a.size.length>0&&l.push("sw-"+a.size),a.type.length>0&&l.push("sw-"+a.type),a.class.length>0&&l.push(a.class),l});return(l,n)=>{const i=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(t.value)},[e.createVNode(i,{"icon-class":r.iconBefore},null,8,["icon-class"]),e.renderSlot(l.$slots,"default")],2)}}}},Symbol.toStringTag,{value:"Module"})),Ae=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwFormItem",props:{class:{type:String,default:""},type:{type:String,default:""}},setup(r){const a=r,t=e.computed(()=>{let l=["sw-form-item"];return a.type.length>0&&l.push("sw-"+a.type),a.class.length>0&&l.push(a.class),l});return(l,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value)},[e.renderSlot(l.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Ie=["src"],He=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwGide",props:e.mergeModels({steps:{type:Array,default:()=>[]},iconClose:{type:String,default:""},maxWidth:{type:Number,default:250}},{modelValue:{type:Number,default:0},modelModifiers:{}}),emits:e.mergeModels(["close"],["update:modelValue"]),setup(r,{emit:a}){const t=e.ref(null),l=e.ref(!0),n=e.ref(null),i=e.useModel(r,"modelValue"),$=a,m=r,c=()=>$("close"),B=w=>{const s=i.value+w;s<0?i.value=0:s>=m.steps.length?c():i.value=s};let V=!1;const M=w=>{const s=w.getBoundingClientRect(),g=window.innerHeight;s.top<5?(V=!0,document.documentElement.scrollTop+=s.top-5):s.bottom>g-5&&(V=!0,document.documentElement.scrollTop+=s.bottom-g+5)},y=()=>{if(!n.value||!t.value)return;const w=n.value.getBoundingClientRect(),s=window.pageYOffset||document.documentElement.scrollTop,g=window.pageXOffset||document.documentElement.scrollLeft;t.value.style.gridTemplateRows=`${w.top+s-5}px ${w.height+10}px 1fr`,t.value.style.gridTemplateColumns=`${w.left+g-5}px ${w.width+10}px 1fr`,t.value.style.height=document.documentElement.scrollHeight+"px"};return e.watchEffect(w=>{var h;if(!t.value)return;const s=(h=m.steps[i.value])==null?void 0:h.tag;if(!s||!s.trim()){t.value.style.gridTemplateRows="40% 0 1fr",t.value.style.gridTemplateColumns="1fr 0 1fr",t.value.style.height=document.documentElement.scrollHeight+"px";return}if(n.value=document.querySelector(s),!n.value){console.warn(`[SwGuide] Элемент не найден: ${s}`);return}M(n.value);const g=()=>{if(V){V=!1;return}y()};y();const u=new ResizeObserver(y);u.observe(n.value),window.addEventListener("resize",g),window.addEventListener("scroll",g,{passive:!0}),w(()=>{u.disconnect(),window.removeEventListener("resize",g),window.removeEventListener("scroll",g)})}),e.onMounted(()=>window.onload=()=>{var w;return n.value=document.querySelector((w=m.steps[i.value])==null?void 0:w.tag)}),(w,s)=>{const g=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("div",{class:"sw-gide",ref_key:"swGide",ref:t,onClick:s[3]||(s[3]=u=>c())},[s[7]||(s[7]=e.createElementVNode("div",{class:"overlay0"},null,-1)),s[8]||(s[8]=e.createElementVNode("div",{class:"overlay1"},null,-1)),e.createVNode(ee,{class:"gide",trigger:"none",placement:m.steps[i.value].placement,modelValue:l.value,"onUpdate:modelValue":s[2]||(s[2]=u=>l.value=u),maxWidth:m.maxWidth},{dropdown:e.withCtx(()=>[e.createElementVNode("header",null,[e.renderSlot(w.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(m.steps[i.value].header)+" ",1),e.createVNode(Y,{type:"primary",link:"",onClick:c},{default:e.withCtx(()=>[e.createVNode(g,{"icon-class":m.iconClose},null,8,["icon-class"])]),_:1})])]),e.renderSlot(w.$slots,"default",{},()=>{var u;return[e.createElementVNode("div",null,e.toDisplayString(m.steps[i.value].text),1),e.createElementVNode("img",{class:e.normalizeClass(/left/.test((u=m.steps[i.value])==null?void 0:u.placement)?"reflect":null),src:m.steps[i.value].img},null,10,Ie)]}),e.createElementVNode("footer",null,[e.renderSlot(w.$slots,"footer",{},()=>[e.createVNode(Y,{type:i.value===0?"info":"warning",text:"",link:"",onClick:s[0]||(s[0]=u=>B(-1))},{default:e.withCtx(()=>[e.renderSlot(w.$slots,"arrow",{},()=>[s[4]||(s[4]=e.createTextVNode("‹"))])]),_:3},8,["type"]),e.createVNode(Y,{type:"success",onClick:s[1]||(s[1]=u=>B(1)),text:"",link:"",class:"sw-revers"},{default:e.withCtx(()=>[e.renderSlot(w.$slots,"arrow",{},()=>[s[5]||(s[5]=e.createTextVNode("‹"))])]),_:3})])])]),default:e.withCtx(()=>[s[6]||(s[6]=e.createElementVNode("div",{class:"hole"},null,-1))]),_:3},8,["placement","modelValue","maxWidth"]),s[9]||(s[9]=e.createElementVNode("div",{class:"overlay2"},null,-1)),s[10]||(s[10]=e.createElementVNode("div",{class:"overlay3"},null,-1))],512)}}}},Symbol.toStringTag,{value:"Module"})),Ye=["for"],qe={key:0,title:"Это поле обязательно для заполнения."},We=["required","placeholder","type","id","name","size","maxlength","minlength","autofocus","readonly","inputmode"],Ue=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"},inputMode:{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(r,{emit:a}){var y;const t=e.useModel(r,"modelValue"),l=r,n=e.ref(null),i=a,$=w=>{i("focusInput"),w.target.setSelectionRange(t.value.length,t.value.length),n.value!==null&&(n.value.style.top="-.6em")},m=w=>{var s;((s=t.value)==null?void 0:s.length)===0&&n.value!==null&&n.value.removeAttribute("style")};((y=t.value)==null?void 0:y.length)>0&&n.value!==null&&(n.value.style.top="-.6em");const c=()=>{i("suffix")},B=()=>{i("prefix")},V=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=M(w,s))});const M=(w,s)=>{if(/^\+[0-9]\s/.test(s)&&w.length===2||/^\+0\s/.test(w))return"";const g=w;if(typeof g>"u"||g.length===0)return g;const u="+0 (___) ___-__-__";let h=0;const f=u.replace(/\D/g,""),C=g.replace(/\D/g,"");let D=u.replace(/[_\d]/g,_=>h<C.length?C.charAt(h++)||f.charAt(h):_);h=D.indexOf("_"),h!==-1&&(h=h<5?3:h,D=D.slice(0,h));let E=u.slice(0,g.length).replace(/_+/g,_=>`\\d{1,${_.length}}`).replace(/[+()]/g,"\\$&");if(E=new RegExp(`^${E}$`),D=D.replace(/[-—]$|(\) )$/g,""),!E.test(g)||g.length<5)return D};return(w,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(V.value)},[l.before.length>0?(e.openBlock(),e.createBlock(W,{key:0,"icon-class":l.before,onClick:B},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:n},[e.createTextVNode(e.toDisplayString(l.label),1),l.required?(e.openBlock(),e.createElementBlock("span",qe,"*")):e.createCommentVNode("",!0)],8,Ye)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":s[0]||(s[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:$,onBlur:m,maxlength:l.maxlength,minlength:l.minlength,autofocus:l.autofocus,readonly:l.readonly,inputmode:l.inputMode},null,40,We),[[e.vModelDynamic,t.value]]),l.after.length>0?(e.openBlock(),e.createBlock(W,{key:3,"icon-class":l.after,onClick:c},null,8,["icon-class"])):e.renderSlot(w.$slots,"suffix",{key:4})],2))}}},Symbol.toStringTag,{value:"Module"})),Ge=["open"],Xe={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(r){const a=e.useModel(r,"modelValue"),t=r,l=e.ref(null),n=e.useSlots(),i=$=>{l.value&&!l.value.contains($.target)&&(a.value=!1)};return e.watch(()=>a.value,async $=>{$?(await e.nextTick(),window.addEventListener("click",i,!0)):window.removeEventListener("click",i)}),e.onUnmounted(()=>{window.removeEventListener("click",i)}),($,m)=>{var B;const c=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("dialog",{open:a.value,class:e.normalizeClass(["sw-message",t.class]),ref_key:"messageRef",ref:l},[t.name.length>0||(B=e.unref(n))!=null&&B.header?(e.openBlock(),e.createElementBlock("header",Xe,[e.renderSlot($.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createVNode(Y,{link:"",type:"primary",onClick:m[0]||(m[0]=V=>a.value=!1)},{default:e.withCtx(()=>[e.createVNode(c,{"icon-class":t.iconAfter},null,8,["icon-class"])]),_:1})])])):e.createCommentVNode("",!0),e.renderSlot($.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot($.$slots,"footer")])],10,Ge)}}}},Symbol.toStringTag,{value:"Module"})),Qe=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(r,{emit:a}){const t=r,l=a,n=()=>{l("header")};return(i,$)=>{const m=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass("sw-section "+t.class)},[e.createElementVNode("header",{onClick:n},[e.renderSlot(i.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createVNode(m,{"icon-class":t.iconAfter},null,8,["icon-class"])])]),e.renderSlot(i.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(i.$slots,"footer")])],2)}}}},Symbol.toStringTag,{value:"Module"})),Ze={class:"popup"},Ke={class:"wrapper"},et={class:"scrollbar"},tt=["onClick"],lt=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(r){const a=e.ref({fullText:""}),t=e.ref(!1),l=e.ref([]),n=e.useModel(r,"modelValue"),i=r;e.watch(n.text,c=>{c.length>3&&(a.value.fullText=c)}),e.watch(a.value.fullText,(c,B)=>{t.value=c.length>3&&c.length>B.length,c.length>3&&$()});const $=()=>{let c="https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address";console.log(a.value.fullText),axios.post(c,{query:a.value.fullText},{headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:"Token "+i.token}}).then(B=>{console.log(B.data.suggestions),l.value=B.data.suggestions,l.value.length===1&&m(l.value[0])}).catch(B=>{console.log(B)})},m=c=>{a.value.fullText=c.value,t.value=!1;const B={};B.text=c.value,B.coords=[Number(c.data.geo_lat),Number(c.data.geo_lon)],B.suggestion=c.data,n.value=B};return(c,B)=>{const V=e.resolveComponent("sw-input");return e.openBlock(),e.createElementBlock("div",Ze,[e.createVNode(V,{size:i.size,modelValue:a.value.fullText,"onUpdate:modelValue":B[0]||(B[0]=M=>a.value.fullText=M),placeholder:r.placeholder},null,8,["size","modelValue","placeholder"]),e.withDirectives(e.createElementVNode("div",Ke,[e.createElementVNode("ul",et,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(M,y)=>(e.openBlock(),e.createElementBlock("li",{tabindex:"1",key:y,onClick:w=>m(M)},e.toDisplayString(M.value),9,tt))),128))])],512),[[e.vShow,t.value]])])}}}},Symbol.toStringTag,{value:"Module"})),ot={key:0},te={__name:"SwSkeletonItem",props:{width:{type:String,default:"100"},class:{type:String,default:""},animate:{type:Boolean,default:!1},size:{type:String,default:""}},setup(r){const a=r,t=e.computed(()=>{let n=["sw-skeleton-item"];return a.size.length>0&&n.push("sw-"+a.size),a.animate&&n.push("sw-animate"),a.class.length>0&&n.push(a.class),n}),l=e.computed(()=>({width:a.width+"%"}));return(n,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value),style:e.normalizeStyle(l.value)},[a.animate?(e.openBlock(),e.createElementBlock("div",ot)):e.createCommentVNode("",!0)],6))}},nt=Object.freeze(Object.defineProperty({__proto__:null,default:te},Symbol.toStringTag,{value:"Module"})),at=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSkeleton",props:{class:{type:String,default:""},visual:{type:Boolean,default:!1}},setup(r){const a=r;return(t,l)=>a.visual?e.renderSlot(t.$slots,"default",{key:0}):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["sw-skeleton",a.class])},[e.renderSlot(t.$slots,"skeleton",{},()=>[e.createVNode(te,{animate:"",size:"small"})])],2))}}},Symbol.toStringTag,{value:"Module"})),st=["name","id","checked"],rt=["for","data-onlabel","data-offlabel"],it=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(r){const a=e.useModel(r,"modelValue"),t=r,l=e.computed(()=>{let i=["sw-switch"];return t.size.length>0&&i.push("sw-"+t.size),t.checkbox&&i.push("sw-checkbox"),t.class.length>0&&i.push(t.class),i}),n=i=>{a.value=i.target.checked};return(i,$)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value)},[e.createElementVNode("input",{type:"checkbox",name:t.name,class:"sw-control",id:t.id,checked:a.value,onChange:n},null,40,st),e.createElementVNode("label",{for:t.id,class:"sw-label","data-onlabel":t.on,"data-offlabel":t.off},null,8,rt),e.renderSlot(i.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),ct={style:{display:"none"}},le={__name:"SwTableColumn",props:{prop:{type:String,required:!0},label:{type:String,default:""},width:{type:String,default:"auto"},height:{type:String,default:"auto"}},setup(r){return(a,t)=>(e.openBlock(),e.createElementBlock("div",ct))}},dt=Object.freeze(Object.defineProperty({__proto__:null,default:le},Symbol.toStringTag,{value:"Module"})),pt={class:"sw-table"},mt=["colspan","rowspan"],ft=["colspan","rowspan"],ut=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTable",props:{data:{type:Array,required:!0}},setup(r){const a=r,t=e.useSlots(),l=e.ref([]);function n(s){var u,h;const g=[];for(const f of s)if(f.type===le){const C={...f.props,children:[]},D=(h=(u=f.children)==null?void 0:u.default)==null?void 0:h.call(u);D&&D.length>0&&(C.children=n(D)),g.push(C)}return g}function i(s){if(!s||s.length===0)return 1;let g=1;for(const u of s)if(u.children&&u.children.length>0){const h=i(u.children);g=Math.max(g,1+h)}return g}function $(s,g){const u=Array.from({length:g},()=>[]);function h(f,C,D=""){for(let E=0;E<f.length;E++){const _=f[E],b=D?`${D}-${_.prop||E}`:_.prop||E;if(_.children&&_.children.length>0){const S=m(_.children);u[C].push({key:b,label:_.label,colspan:S,rowspan:1,width:_.width,height:_.height}),h(_.children,C+1,b)}else u[C].push({key:_.prop,label:_.label,colspan:1,rowspan:g-C,width:_.width,height:_.height,prop:_.prop})}}return h(s,0),u}function m(s){let g=0;function u(h){for(const f of h)f.children&&f.children.length>0?u(f.children):g++}return u(s),g}function c(s){const g=[];function u(h){for(const f of h)f.children&&f.children.length>0?u(f.children):g.push(f)}return u(s),g}function B(s,g){const u=[],h=new Map;return s.forEach((f,C)=>{const D=[];g.forEach((E,_)=>{var x;const b=`${C}-${E.prop}`;if(h.has(b))return;const S=f[E.prop];let N=S,j=1,P=1,G={};S&&typeof S=="object"&&S!==null&&(N=S.label||S.value||"",j=S.colspan||1,P=S.rowspan||1,G=S.style||{});const X={key:b,label:N,prop:E.prop,colspan:j,rowspan:P,style:G,originalRow:f,rowIndex:C};D.push(X);for(let F=0;F<P;F++)for(let R=0;R<j;R++){if(F===0&&R===0)continue;const q=`${C+F}-${(x=g[_+R])==null?void 0:x.prop}`;q&&h.set(q,!0)}}),D.length>0&&u.push(D)}),u}e.onMounted(()=>{var g;const s=((g=t.default)==null?void 0:g.call(t))||[];l.value=n(s)});const V=e.computed(()=>i(l.value)),M=e.computed(()=>$(l.value,V.value)),y=e.computed(()=>c(l.value)),w=e.computed(()=>B(a.data,y.value));return(s,g)=>(e.openBlock(),e.createElementBlock("table",pt,[e.createElementVNode("thead",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M.value,(u,h)=>(e.openBlock(),e.createElementBlock("tr",{key:h},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u,f=>(e.openBlock(),e.createElementBlock("th",{key:f.key,colspan:f.colspan,rowspan:f.rowspan,style:e.normalizeStyle({minWidth:f.width,minHeight:f.height})},e.toDisplayString(f.label),13,mt))),128))]))),128))]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,(u,h)=>(e.openBlock(),e.createElementBlock("tr",{key:h},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u,f=>(e.openBlock(),e.createElementBlock("td",{key:f.key,colspan:f.colspan,rowspan:f.rowspan,style:e.normalizeStyle(f.style)},[e.renderSlot(s.$slots,f.prop,{row:f.originalRow,$index:f.rowIndex},()=>[e.createTextVNode(e.toDisplayString(f.label),1)])],12,ft))),128))]))),128))])]))}}},Symbol.toStringTag,{value:"Module"})),gt={key:0},ht=["onClick"],yt=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(r,{emit:a}){e.ref(0);const t=e.ref([]),l=r,n=e.useModel(r,"modelValue"),i=a;function $(c){t.value.push(c)}function m(c){t.value=t.value.filter(B=>B!==c)}return e.provide("registerTab",$),e.provide("unregisterTab",m),e.provide("activeTab",n),e.provide("tabs",t),(c,B)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("sw-tabs "+l.class)},[t.value.length!==0?(e.openBlock(),e.createElementBlock("header",gt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(V,M)=>(e.openBlock(),e.createElementBlock("span",{key:M,class:e.normalizeClass([{active:n.value===M}]),onClick:y=>{n.value=M,i("tab-click",M)}},e.toDisplayString(V.label||V.title),11,ht))),128))])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),wt={key:0,class:"tab-content"},kt=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPane",props:{title:{type:String,required:!0},label:{type:String,default:""}},setup(r){const a=r,t=e.inject("registerTab"),l=e.inject("unregisterTab");e.onMounted(()=>{t({title:a.title,label:a.label})}),e.onUnmounted(()=>{l({title:a.title,label:a.label})});const n=e.inject("activeTab"),i=e.inject("tabs"),$=e.computed(()=>i.value.findIndex(c=>c.title===a.title)),m=e.computed(()=>n.value===$.value);return(c,B)=>m.value?(e.openBlock(),e.createElementBlock("div",wt,[e.renderSlot(c.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"}));O.Alert=J,O.Library=de,O.components=U,Object.defineProperty(O,Symbol.toStringTag,{value:"Module"})});
1
+ (function(O,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(O=typeof globalThis<"u"?globalThis:O||self,e(O["component-sw"]={},O.vue))})(this,function(O,e){"use strict";function ne(r){return/^(https?:|mailto:|tel:)/.test(r)}function A(r,a){if(arguments.length===0||!r)return null;const t=a||"{Y}-{m}-{d} {G}:{i}:{s}";let l;typeof r=="object"?l=r:(typeof r=="string"&&(/^[0-9]+$/.test(r)?r=parseInt(r):r=r.replace(new RegExp(/-/gm),"/")),typeof r=="number"&&r.toString().length===10&&(r=r*1e3),l=new Date(r));const n="ru-RU",i={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(n,{weekday:"short"}).format(l),F:new Intl.DateTimeFormat(n,{month:"long"}).format(l),M:new Intl.DateTimeFormat(n,{month:"short"}).format(l)};return t.replace(/{(dd|[YmdGHisDFM])+}/g,($,m)=>i[m])}const ae=(r,a)=>{const t=r.__vccOpts||r;for(const[l,n]of a)t[l]=n;return t},se={name:"SvgIcon",props:{prefix:{type:String,default:"icon"},iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExt(){return ne(this.iconClass)}}},re=["href"];function ie(r,a,t,l,n,i){return i.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"},r.$attrs),null,16)):(e.openBlock(),e.createElementBlock("svg",e.mergeProps({key:1,class:"svg-icon icon-"+(t.className||t.iconClass),"aria-hidden":"true"},r.$attrs),[e.createElementVNode("use",{href:"#"+t.prefix+"-"+t.iconClass},null,8,re)],16))}const W=ae(se,[["render",ie]]),Z={__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:r=>["success","warning","error","info"].includes(r)}},emits:["closed"],setup(r,{emit:a}){const t=r,l=a,n=e.ref(!1);let i=null;const $=()=>{n.value=!0,V()},m=()=>{n.value=!1,l("closed")},c=()=>{i&&(clearTimeout(i),i=null)},B=()=>{V()},V=()=>{i=setTimeout(m,t.duration)};e.onMounted(()=>{$()}),e.onUnmounted(()=>{i&&clearTimeout(i)});const M=e.computed(()=>{const y=["sw-alert"];return t.size.length>0&&y.push(`sw-${t.size}`),t.type.length>0&&y.push(`sw-${t.type}`),t.class.length>0&&y.push(t.class),y});return(y,w)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade"},{default:e.withCtx(()=>[n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(M.value),onMouseenter:c,onMouseleave:B},[t.before.length>0?(e.openBlock(),e.createBlock(W,{key:0,"icon-class":t.before},null,8,["icon-class"])):e.renderSlot(y.$slots,"prefix",{key:1}),e.renderSlot(y.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.message),1)]),t.after.length>0?(e.openBlock(),e.createBlock(W,{key:2,"icon-class":t.after,onClick:m},null,8,["icon-class"])):e.renderSlot(y.$slots,"suffix",{key:3})],34)):e.createCommentVNode("",!0)]),_:3}))}},ce=Object.freeze(Object.defineProperty({__proto__:null,default:Z},Symbol.toStringTag,{value:"Module"}));let I=document.querySelector("div.sw-alert-wrapper");function J(r={}){I||(I=document.createElement("div"),I.className="sw-alert-wrapper",document.body.appendChild(I));const a=e.createApp({setup(){return()=>e.h(Z,{...r,onClose:()=>{I.removeChild(a._container),a.unmount()}})}}),t=a.mount(document.createElement("div"));I.appendChild(t.$el)}const K=Object.assign({"./components/SwAlert.vue":()=>Promise.resolve().then(()=>ce),"./components/SwButton.vue":()=>Promise.resolve().then(()=>pe),"./components/SwCollapse.vue":()=>Promise.resolve().then(()=>me),"./components/SwDatePicker.vue":()=>Promise.resolve().then(()=>Pe),"./components/SwDropdown.vue":()=>Promise.resolve().then(()=>Fe),"./components/SwDropdownItem.vue":()=>Promise.resolve().then(()=>Re),"./components/SwFormItem.vue":()=>Promise.resolve().then(()=>Ae),"./components/SwGide.vue":()=>Promise.resolve().then(()=>He),"./components/SwInput.vue":()=>Promise.resolve().then(()=>Ue),"./components/SwMessage.vue":()=>Promise.resolve().then(()=>Je),"./components/SwSection.vue":()=>Promise.resolve().then(()=>Qe),"./components/SwSelect.vue":()=>Promise.resolve().then(()=>lt),"./components/SwSkeleton.vue":()=>Promise.resolve().then(()=>at),"./components/SwSkeletonItem.vue":()=>Promise.resolve().then(()=>nt),"./components/SwSwitch.vue":()=>Promise.resolve().then(()=>it),"./components/SwTable.vue":()=>Promise.resolve().then(()=>ut),"./components/SwTableColumn.vue":()=>Promise.resolve().then(()=>dt),"./components/SwTabs.vue":()=>Promise.resolve().then(()=>yt),"./components/SwTabsPane.vue":()=>Promise.resolve().then(()=>kt)}),U={};for(const r in K){const a=r.split("/").pop().replace(".vue","").replace(/-(\w)/g,(t,l)=>l.toUpperCase());U[a]=e.defineAsyncComponent(()=>K[r]())}const de={install(r){Object.keys(U).forEach(a=>{r.component(a,U[a])}),r.config.globalProperties.$Alert=J,r.provide("Alert",J)}},Y={__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(r){const a=r,t=()=>{if(a.href.length>0){const n=document.createElement("a");n.setAttribute("href",a.href),n.setAttribute("target","_blank"),n.click()}},l=e.computed(()=>{let n=["sw-button"];return a.size.length>0&&n.push("sw-"+a.size),a.type.length>0&&n.push("sw-"+a.type),a.round&&n.push("sw-round"),a.text&&n.push("sw-text"),a.link&&n.push("sw-link"),a.class.length>0&&n.push(a.class),n});return(n,i)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(l.value),onClick:t},[e.renderSlot(n.$slots,"default")],2))}},pe=Object.freeze(Object.defineProperty({__proto__:null,default:Y},Symbol.toStringTag,{value:"Module"})),me=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwCollapse",props:{visual:{type:Boolean,default:!0}},setup(r){e.onMounted(()=>{l.value="0px"});const a=e.ref(null),t=r;e.watch(()=>t.visual,()=>n());const l=e.ref("0px"),n=()=>{a.value&&(l.value=t.visual?a.value.scrollHeight+"px":"0px")};let i;return e.onMounted(()=>{n(),a.value&&(i=new ResizeObserver(n),i.observe(a.value))}),e.onBeforeUnmount(()=>{i&&i.disconnect()}),($,m)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sw-collapse",{open:t.visual}]),style:e.normalizeStyle({maxHeight:l.value}),ref_key:"collapse",ref:a},[e.renderSlot($.$slots,"default")],6))}}},Symbol.toStringTag,{value:"Module"})),fe={class:"sw-data-picker"},ue={key:0,class:"month_year"},ge={class:"text"},he={key:1,class:"month_year"},ye={class:"text"},we={key:2,class:"week"},ke={key:3,class:"year"},Se=["onClick"],be={key:4,class:"year"},_e=["onClick"],Ee={key:5,class:"month"},Be=["onClick"],$e={key:0},Ce={key:0,class:"month_year"},De={class:"text"},Ve={key:1,class:"month_year"},Me={class:"text"},Te={key:2,class:"week"},Ne={key:3,class:"year"},xe=["onClick"],ze={key:4,class:"year"},ve=["onClick"],Oe={key:5,class:"month"},je=["onClick"],Pe=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(r,{emit:a}){var F,R,q,oe;const t=r,l=a,n=e.ref(5),i=e.ref(new Date),$=e.ref(new Date),m=e.ref(new Date().getFullYear()),c=e.ref(new Date().getMonth()),B=e.ref(new Date().getFullYear()),V=e.ref(new Date().getMonth()),M=e.ref(new Date(m.value,c.value+1,1).getMonth()),y=e.ref([]),w=e.ref(0),s=e.ref(-1),g=e.ref(-1),u=e.ref(navigator.language||"ru"),h=/en|zh|ja|he/.test(u.value)?0:1,f=e.computed(()=>Array.from({length:12},(p,o)=>{const d=new Date(2024,o);return new Intl.DateTimeFormat(u.value,{month:"long"}).format(d)})),C=e.ref(Math.floor(m.value/10)*10),D=e.computed(()=>Array.from({length:12},(p,o)=>C.value+o-1)),E=p=>{let o=p.split(p.match(/\D.*?\D?/));return o[0].length>2?o.join("-")+"T00:00:01":o.reverse().join("-")+"T00:00:01"};(F=t.data)!=null&&F.startDate&&(i.value=new Date(E(t.data.startDate)),m.value=i.value.getFullYear(),c.value=i.value.getMonth()),(R=t.data)!=null&&R.endDate&&t.range==="range"&&($.value=new Date(E(t.data.endDate)),B.value=$.value.getFullYear(),V.value=$.value.getMonth());const _=()=>{y.value=[],w.value=0;const p=new Date(m.value,c.value,0);for(let d=p.getDate()-p.getDay()+h;d<=p.getDate();d++)p.getDay()!==6+h&&(y.value.push({day:d,month:p.getMonth(),year:p.getFullYear(),class:[]}),w.value++);const o=new Date(m.value,c.value+1,0).getDate();for(let d=1;d<=o;d++)y.value.push({day:d,month:c.value,year:m.value,class:[]}),w.value++;if(t.range==="range"){const d=new Date(m.value,c.value+1,1),k=new Date(m.value,c.value+2,0).getDate();for(let T=1;T<=k;T++)y.value.push({day:T,month:d.getMonth(),year:d.getFullYear(),class:[]})}b()},b=()=>{var o;if(!((o=t.data)!=null&&o.holiday))return;const p=(d,k)=>{d.forEach(T=>{const[v,z,L]=T.split("-").map(Number),H=y.value.findIndex(Q=>Q.year===v&&Q.month+1===z&&Q.day===L);H!==-1&&(y.value[H].class[0]=k)})};p(t.data.holiday.preholidays,"preholiday"),p(t.data.holiday.holidays,"weekend"),p(t.data.holiday.holiday,"holiday"),p(t.data.holiday.nowork,"nowork")},S=()=>{if(!t.limitation||t.limitation.length<2)return!1;const p=[...t.limitation].sort((o,d)=>new Date(E(o.startDate)).getTime()-new Date(E(d.startDate)).getTime());for(let o=1;o<p.length;o++){const d=new Date(E(p[o-1].endDate));if(new Date(E(p[o].startDate))<=d)return console.warn("Warning: Диапазоны пересекаются:",p[o-1],p[o]),!0}return!1},N=(p,o,d)=>{if(!t.limitation||t.limitation.length===0)return!0;const k=new Date(p,o,d).getTime();for(let T of t.limitation){const{startDate:v,endDate:z}=T;if(!v&&z){const L=new Date(E(z)).getTime();if(k<=L)return!1}if(v&&!z){const L=new Date(E(v)).getTime();if(k>=L)return!1}if(v&&z){const L=new Date(E(v)).getTime(),H=new Date(E(z)).getTime();if(L<=H){if(k>=L&&k<=H)return!1}else if(k>=L||k<=H)return!1}}return!0},j=(p,o)=>{const d=A(new Date(p.year,p.month,p.day),"{dd}.{m}.{Y}");t.range==="range"?g.value!==-1?(P(),s.value=o,y.value[o].class[1]="active"):s.value!==-1?(g.value=o,G(s.value,g.value,d)):(s.value=o,y.value[o].class[1]="active"):(s.value!==-1&&(y.value[s.value].class[1]=""),s.value=o,y.value[o].class[1]="active",l("input",{dateStart:d,count:1}))},P=()=>{y.value.forEach(p=>p.class[1]=""),s.value=-1,g.value=-1},G=(p,o,d)=>{let k=A(new Date(y.value[p].year,y.value[p].month,y.value[p].day),"{dd}.{m}.{Y}");if(o>=p){for(let T=p+1;T<o;T++)y.value[T].class[1]="select";l("input",{dateStart:k,dateEnd:d,count:X(p,o)})}else{for(let T=o+1;T<p;T++)y.value[T].class[1]="select";l("input",{dateStart:d,dateEnd:k,count:X(o,p)})}y.value[o].class[1]="active"},X=(p,o)=>{var v;let d=Math.abs(p-o)+1,[k,T]=[Math.min(p,o),Math.max(p,o)];for(let z=k;z<=T;z++)((v=y.value[z])==null?void 0:v.class[0])==="holiday"&&d--;return d},x=(p,o)=>{N(p,o)&&(i.value=new Date(p,o,1),m.value=i.value.getFullYear(),c.value=i.value.getMonth(),M.value=new Date(p,o+1,1).getMonth(),(t.range==="year"||t.range==="decades")&&n.value===0?j({year:p,month:o,day:1},8):_())};if(_(),S(),(q=t.data)!=null&&q.startDate&&(s.value=y.value.findIndex(p=>p.day===i.value.getDate()&&p.month===c.value&&p.year===m.value),s.value!==-1&&(y.value[s.value].class[1]="active")),(oe=t.data)!=null&&oe.endDate&&t.range==="range"&&(g.value=y.value.findIndex(p=>p.day===$.value.getDate()&&p.month===V.value&&p.year===B.value),g.value!==-1)){y.value[g.value].class[1]="active";for(let p=s.value+1;p<g.value;p++)y.value[p].class[1]="select"}return(p,o)=>(e.openBlock(),e.createElementBlock("div",fe,[e.createElementVNode("div",null,[t.range==="decades"||n.value===3?(e.openBlock(),e.createElementBlock("p",ue,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:o[0]||(o[0]=e.withModifiers(d=>{C.value-=10,x(m.value,c.value)},["prevent"]))},[e.renderSlot(p.$slots,"double-arrow",{},()=>[o[16]||(o[16]=e.createTextVNode("«"))])])]),e.createElementVNode("span",ge,e.toDisplayString(D.value[0])+" - "+e.toDisplayString(D.value[11]),1),e.createElementVNode("span",null,[e.createElementVNode("button",{class:"sw-revers",onClick:o[1]||(o[1]=e.withModifiers(d=>{C.value+=10,x(m.value,c.value)},["prevent"]))},[e.renderSlot(p.$slots,"double-arrow",{},()=>[o[17]||(o[17]=e.createTextVNode("«"))])])])])):(e.openBlock(),e.createElementBlock("p",he,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:o[2]||(o[2]=e.withModifiers(d=>x(m.value-1,c.value),["prevent"]))},[e.renderSlot(p.$slots,"double-arrow",{},()=>[o[18]||(o[18]=e.createTextVNode("«"))])]),e.createElementVNode("button",{onClick:o[3]||(o[3]=e.withModifiers(d=>{n.value=0,x(m.value,c.value-1)},["prevent"]))},[e.renderSlot(p.$slots,"arrow",{},()=>[o[19]||(o[19]=e.createTextVNode("‹"))])])]),e.createElementVNode("span",ye,[e.createElementVNode("button",{onClick:o[4]||(o[4]=e.withModifiers(d=>n.value=3,["prevent"]))},e.toDisplayString(m.value),1),e.createElementVNode("button",{onClick:o[5]||(o[5]=e.withModifiers(d=>n.value=1,["prevent"]))},e.toDisplayString(e.unref(A)(i.value.setMonth(c.value),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{class:"sw-revers",onClick:o[6]||(o[6]=e.withModifiers(d=>{n.value=0,x(m.value,c.value+1)},["prevent"]))},[e.renderSlot(p.$slots,"arrow",{},()=>[o[20]||(o[20]=e.createTextVNode("‹"))])]),e.createElementVNode("button",{class:"sw-revers",onClick:o[7]||(o[7]=e.withModifiers(d=>x(m.value+1,c.value),["prevent"]))},[e.renderSlot(p.$slots,"double-arrow",{},()=>[o[21]||(o[21]=e.createTextVNode("«"))])])])])),t.range==="year"||t.range==="decades"||n.value===1||n.value===3?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",we,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(d,k)=>e.createElementVNode("button",{key:k,class:"disabled"},e.toDisplayString(e.unref(A)(new Date(1970,1,d+e.unref(h)),"{D}")),1)),64))])),n.value!==3&&t.range==="year"||n.value===1?(e.openBlock(),e.createElementBlock("div",ke,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(d,k)=>(e.openBlock(),e.createElementBlock("button",{key:k,onClick:e.withModifiers(T=>{n.value=0,x(m.value,k)},["prevent"]),class:e.normalizeClass(k===c.value?"active":"")},e.toDisplayString(d),11,Se))),128))])):t.range==="decades"||n.value===3?(e.openBlock(),e.createElementBlock("div",be,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(D.value,(d,k)=>(e.openBlock(),e.createElementBlock("button",{key:k,onClick:e.withModifiers(T=>{n.value=t.range==="year"?1:0,x(d,c.value)},["prevent"]),class:e.normalizeClass(C.value+k-1===m.value?"active":"")},e.toDisplayString(d),11,_e))),128))])):(e.openBlock(),e.createElementBlock("div",Ee,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(d,k)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:k},[k<w.value+(7-new Date(m.value,c.value+1,1).getDay()+e.unref(h))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(d.month===c.value&&N(d.year,d.month,d.day)?d.class:"disabled"),onClick:e.withModifiers(()=>{d.month===c.value&&j(d,k)},["prevent"])},e.toDisplayString(d.day),11,Be)):e.createCommentVNode("",!0)],64))),128))]))]),t.range==="range"?(e.openBlock(),e.createElementBlock("div",$e,[t.range==="decades"||n.value===4?(e.openBlock(),e.createElementBlock("p",Ce,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:o[8]||(o[8]=e.withModifiers(d=>{C.value-=10,x(m.value,c.value)},["prevent"]))},[e.renderSlot(p.$slots,"double-arrow",{},()=>[o[22]||(o[22]=e.createTextVNode("«"))])])]),e.createElementVNode("span",De,e.toDisplayString(D.value[0])+" - "+e.toDisplayString(D.value[11]),1),e.createElementVNode("span",null,[e.createElementVNode("button",{class:"sw-revers",onClick:o[9]||(o[9]=e.withModifiers(d=>{C.value+=10,x(m.value,c.value)},["prevent"]))},[e.renderSlot(p.$slots,"double-arrow",{},()=>[o[23]||(o[23]=e.createTextVNode("«"))])])])])):(e.openBlock(),e.createElementBlock("p",Ve,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:o[10]||(o[10]=e.withModifiers(d=>x(m.value-1,c.value),["prevent"]))},[e.renderSlot(p.$slots,"double-arrow",{},()=>[o[24]||(o[24]=e.createTextVNode("«"))])]),e.createElementVNode("button",{onClick:o[11]||(o[11]=e.withModifiers(d=>{n.value=0,x(m.value,c.value-1)},["prevent"]))},[e.renderSlot(p.$slots,"arrow",{},()=>[o[25]||(o[25]=e.createTextVNode("‹"))])])]),e.createElementVNode("span",Me,[e.createElementVNode("button",{onClick:o[12]||(o[12]=e.withModifiers(d=>n.value=4,["prevent"]))},e.toDisplayString(new Date(m.value,c.value+1).getFullYear()),1),e.createElementVNode("button",{onClick:o[13]||(o[13]=e.withModifiers(d=>n.value=2,["prevent"]))},e.toDisplayString(e.unref(A)(i.value.setMonth(c.value+1),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{class:"sw-revers",onClick:o[14]||(o[14]=e.withModifiers(d=>{n.value=0,x(m.value,c.value+1)},["prevent"]))},[e.renderSlot(p.$slots,"arrow",{},()=>[o[26]||(o[26]=e.createTextVNode("‹"))])]),e.createElementVNode("button",{class:"sw-revers",onClick:o[15]||(o[15]=e.withModifiers(d=>x(m.value+1,c.value),["prevent"]))},[e.renderSlot(p.$slots,"double-arrow",{},()=>[o[27]||(o[27]=e.createTextVNode("«"))])])])])),n.value===2||n.value===4?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Te,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(d,k)=>e.createElementVNode("button",{key:k,class:"disabled"},e.toDisplayString(e.unref(A)(new Date(1970,1,d+e.unref(h)),"{D}")),1)),64))])),n.value===2?(e.openBlock(),e.createElementBlock("div",Ne,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(d,k)=>(e.openBlock(),e.createElementBlock("button",{key:k,onClick:e.withModifiers(T=>{n.value=0,x(m.value,k-1)},["prevent"]),class:e.normalizeClass(k===(c.value+1)%12?"active":"")},e.toDisplayString(d),11,xe))),128))])):n.value===4?(e.openBlock(),e.createElementBlock("div",ze,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(D.value,(d,k)=>(e.openBlock(),e.createElementBlock("button",{key:k,onClick:e.withModifiers(T=>{n.value=0,x(d,c.value)},["prevent"]),class:e.normalizeClass(C.value+k-1===m.value?"active":"")},e.toDisplayString(d),11,ve))),128))])):(e.openBlock(),e.createElementBlock("div",Oe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,(d,k)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:k},[k>=w.value-(7+new Date(m.value,c.value+1,1).getDay()-e.unref(h))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(d.month===M.value&&N(d.year,d.month,d.day)?d.class:"disabled"),onClick:e.withModifiers(()=>{d.month===M.value&&j(d,k)},["prevent"])},e.toDisplayString(d.day),11,je)):e.createCommentVNode("",!0)],64))),128))]))])):e.createCommentVNode("",!0)]))}}},Symbol.toStringTag,{value:"Module"})),Le=["id"],ee={__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(r,{expose:a}){const t=r,l=e.useModel(r,"modelValue"),n=e.ref(null),i=e.ref(null),$=e.ref({}),m=Math.ceil(Math.random()*1e3),c=e.ref(0),B=e.computed(()=>{let u=["sw-dropdown"];return t.size.length>0&&u.push("sw-"+t.size),t.type.length>0&&u.push("sw-"+t.type),u}),V=new ResizeObserver(()=>{l.value&&c.value++,c.value>99&&(c.value=1)});e.watchEffect(()=>{if(!l.value||!i.value||!n.value)return;c.value<2&&V.observe(i.value);let u=window.pageYOffset||document.documentElement.scrollTop,h=window.pageXOffset||document.documentElement.scrollLeft;document.body.style.position="fixed",document.body.style.top=`-${u}px`,document.body.style.left=`-${h}px`,document.body.style.position="",document.body.style.top="",document.body.style.left="",document.documentElement.scrollTop=u,document.documentElement.scrollLeft=h;const f=n.value.getBoundingClientRect();let C=window.innerWidth,D=window.innerHeight,E=i.value.offsetHeight,_=i.value.offsetWidth,b=f.left+f.width/2+h,S=f.top+f.height/2+u,N=f.height/2+8;const[j,P]=t.placement.split("-",2);switch(j){case"bottom":S=u+D-E-N-8<S?S-N-E:S+N,P===void 0&&(b-=_/2);break;case"top":S=u+E+N+8>S?S+N:S-N-E,P===void 0&&(b-=_/2);break;case"left":b-_-f.width/2-8<0?b+f.width/2+8+_<C?(b=b+f.width/2+8,S=S-E/2):(S=u+E+N+8>S?S+N:S-N-E,b=b+f.width/2<C?b+f.width/2-_:b-_/2):(b=b-_-f.width/2-8,S=S-E/2);break;case"right":b+f.width/2+8+_>C?b-_-f.width/2-8>0?(b=b-_-f.width/2-8,S=S-E/2):(S=u+E+N+8>S?S+N:S-N-E,b=b-f.width/2):(b=b+f.width/2+8,S=S-E/2);break}switch(P){case"left":b=h+C-8>b-f.width/2+_?b-f.width/2:b-_+f.width/2;break;case"right":b=8<b+f.width/2-_?b-_+f.width/2:b-f.width/2;break}b<0&&(b=0),S<0&&(S=0),$.value={position:"absolute",top:`${S}px`,left:`${b}px`,maxWidth:t.maxWidth>0?`${t.maxWidth}px`:""}},{flush:"post"});const M=()=>{t.trigger==="click"&&(l.value=!l.value)},y=()=>{t.trigger==="hover"&&(l.value=!l.value)},w=()=>{t.trigger==="context"&&(l.value=!l.value)},s=()=>{l.value&&c.value++,c.value>99&&(c.value=1)};a({handleResize:s});const g=u=>{t.trigger!=="none"&&!u.target.closest(`[id="${m}"]`)&&n.value&&!n.value.contains(u.target)&&(l.value=!1)};return e.onMounted(()=>{window.addEventListener("resize",s),document.documentElement.ontouchstart!==void 0?document.documentElement.addEventListener("touchstart",g,!0):document.documentElement.addEventListener("click",g,!0),window.onscrollend!==void 0?window.addEventListener("scrollend",s):window.addEventListener("scroll",s)}),e.onUnmounted(()=>{V.disconnect(),window.removeEventListener("resize",s),document.documentElement.ontouchstart!==void 0?document.documentElement.removeEventListener("touchstart",g):document.documentElement.removeEventListener("click",g),window.onscrollend!==void 0?window.removeEventListener("scrollend",s):window.removeEventListener("scroll",s)}),(u,h)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(B.value),onClick:h[0]||(h[0]=f=>M()),onMouseover:h[1]||(h[1]=e.withModifiers(f=>y(),["stop"])),onMouseleave:h[2]||(h[2]=e.withModifiers(f=>y(),["stop"])),onContextmenu:h[3]||(h[3]=e.withModifiers(f=>w(),["stop"])),ref_key:"dropdownRef",ref:n},[e.renderSlot(u.$slots,"default"),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[l.value?(e.openBlock(),e.createElementBlock("ul",{key:0,ref_key:"popupRef",ref:i,id:e.unref(m),class:e.normalizeClass(["sw-dropdown-popup",t.class]),style:e.normalizeStyle($.value),tabindex:"-1"},[e.renderSlot(u.$slots,"dropdown")],14,Le)):e.createCommentVNode("",!0)]))],34))}},Fe=Object.freeze(Object.defineProperty({__proto__:null,default:ee},Symbol.toStringTag,{value:"Module"})),Re=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(r){const a=r,t=e.computed(()=>{let l=["sw-dropdown-item"];return a.size.length>0&&l.push("sw-"+a.size),a.type.length>0&&l.push("sw-"+a.type),a.class.length>0&&l.push(a.class),l});return(l,n)=>{const i=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(t.value)},[e.createVNode(i,{"icon-class":r.iconBefore},null,8,["icon-class"]),e.renderSlot(l.$slots,"default")],2)}}}},Symbol.toStringTag,{value:"Module"})),Ae=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwFormItem",props:{class:{type:String,default:""},type:{type:String,default:""}},setup(r){const a=r,t=e.computed(()=>{let l=["sw-form-item"];return a.type.length>0&&l.push("sw-"+a.type),a.class.length>0&&l.push(a.class),l});return(l,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value)},[e.renderSlot(l.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Ie=["src"],He=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwGide",props:e.mergeModels({steps:{type:Array,default:()=>[]},iconClose:{type:String,default:""},maxWidth:{type:Number,default:250}},{modelValue:{type:Number,default:0},modelModifiers:{}}),emits:e.mergeModels(["close"],["update:modelValue"]),setup(r,{emit:a}){const t=e.ref(null),l=e.ref(!0),n=e.ref(null),i=e.useModel(r,"modelValue"),$=a,m=r,c=()=>$("close"),B=w=>{const s=i.value+w;s<0?i.value=0:s>=m.steps.length?c():i.value=s};let V=!1;const M=w=>{const s=w.getBoundingClientRect(),g=window.innerHeight;s.top<5?(V=!0,document.documentElement.scrollTop+=s.top-5):s.bottom>g-5&&(V=!0,document.documentElement.scrollTop+=s.bottom-g+5)},y=()=>{if(!n.value||!t.value)return;const w=n.value.getBoundingClientRect(),s=window.pageYOffset||document.documentElement.scrollTop,g=window.pageXOffset||document.documentElement.scrollLeft;t.value.style.gridTemplateRows=`${w.top+s-5}px ${w.height+10}px 1fr`,t.value.style.gridTemplateColumns=`${w.left+g-5}px ${w.width+10}px 1fr`,t.value.style.height=document.documentElement.scrollHeight+"px"};return e.watchEffect(w=>{var h;if(!t.value)return;const s=(h=m.steps[i.value])==null?void 0:h.tag;if(!s||!s.trim()){t.value.style.gridTemplateRows="40% 0 1fr",t.value.style.gridTemplateColumns="1fr 0 1fr",t.value.style.height=document.documentElement.scrollHeight+"px";return}if(n.value=document.querySelector(s),!n.value){console.warn(`[SwGuide] Элемент не найден: ${s}`);return}M(n.value);const g=()=>{if(V){V=!1;return}y()};y();const u=new ResizeObserver(y);u.observe(n.value),window.addEventListener("resize",g),window.addEventListener("scroll",g,{passive:!0}),w(()=>{u.disconnect(),window.removeEventListener("resize",g),window.removeEventListener("scroll",g)})}),e.onMounted(()=>window.onload=()=>{var w;return n.value=document.querySelector((w=m.steps[i.value])==null?void 0:w.tag)}),(w,s)=>{const g=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("div",{class:"sw-gide",ref_key:"swGide",ref:t,onClick:s[3]||(s[3]=u=>c())},[s[7]||(s[7]=e.createElementVNode("div",{class:"overlay0"},null,-1)),s[8]||(s[8]=e.createElementVNode("div",{class:"overlay1"},null,-1)),e.createVNode(ee,{class:"gide",trigger:"none",placement:m.steps[i.value].placement,modelValue:l.value,"onUpdate:modelValue":s[2]||(s[2]=u=>l.value=u),maxWidth:m.maxWidth},{dropdown:e.withCtx(()=>[e.createElementVNode("header",null,[e.renderSlot(w.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(m.steps[i.value].header)+" ",1),e.createVNode(Y,{type:"primary",link:"",onClick:c},{default:e.withCtx(()=>[e.createVNode(g,{"icon-class":m.iconClose},null,8,["icon-class"])]),_:1})])]),e.renderSlot(w.$slots,"default",{},()=>{var u;return[e.createElementVNode("div",null,e.toDisplayString(m.steps[i.value].text),1),e.createElementVNode("img",{class:e.normalizeClass(/left/.test((u=m.steps[i.value])==null?void 0:u.placement)?"reflect":null),src:m.steps[i.value].img},null,10,Ie)]}),e.createElementVNode("footer",null,[e.renderSlot(w.$slots,"footer",{},()=>[e.createVNode(Y,{type:i.value===0?"info":"warning",text:"",link:"",onClick:s[0]||(s[0]=u=>B(-1))},{default:e.withCtx(()=>[e.renderSlot(w.$slots,"arrow",{},()=>[s[4]||(s[4]=e.createTextVNode("‹"))])]),_:3},8,["type"]),e.createVNode(Y,{type:"success",onClick:s[1]||(s[1]=u=>B(1)),text:"",link:"",class:"sw-revers"},{default:e.withCtx(()=>[e.renderSlot(w.$slots,"arrow",{},()=>[s[5]||(s[5]=e.createTextVNode("‹"))])]),_:3})])])]),default:e.withCtx(()=>[s[6]||(s[6]=e.createElementVNode("div",{class:"hole"},null,-1))]),_:3},8,["placement","modelValue","maxWidth"]),s[9]||(s[9]=e.createElementVNode("div",{class:"overlay2"},null,-1)),s[10]||(s[10]=e.createElementVNode("div",{class:"overlay3"},null,-1))],512)}}}},Symbol.toStringTag,{value:"Module"})),Ye=["for"],qe={key:0,title:"Это поле обязательно для заполнения."},We=["required","placeholder","type","id","name","size","maxlength","minlength","autofocus","readonly","inputmode"],Ue=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"},inputMode:{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(r,{emit:a}){var y;const t=e.useModel(r,"modelValue"),l=r,n=e.ref(null),i=a,$=w=>{i("focusInput"),w.target.setSelectionRange(t.value.length,t.value.length),n.value!==null&&(n.value.style.top="-.6em")},m=w=>{var s;((s=t.value)==null?void 0:s.length)===0&&n.value!==null&&n.value.removeAttribute("style")};((y=t.value)==null?void 0:y.length)>0&&n.value!==null&&(n.value.style.top="-.6em");const c=()=>{i("suffix")},B=()=>{i("prefix")},V=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=M(w,s))});const M=(w,s)=>{if(/^\+[0-9]\s/.test(s)&&w.length===2||/^\+0\s/.test(w))return"";const g=w;if(typeof g>"u"||g.length===0)return g;const u="+0 (___) ___-__-__";let h=0;const f=u.replace(/\D/g,""),C=g.replace(/\D/g,"");let D=u.replace(/[_\d]/g,_=>h<C.length?C.charAt(h++)||f.charAt(h):_);h=D.indexOf("_"),h!==-1&&(h=h<5?3:h,D=D.slice(0,h));let E=u.slice(0,g.length).replace(/_+/g,_=>`\\d{1,${_.length}}`).replace(/[+()]/g,"\\$&");if(E=new RegExp(`^${E}$`),D=D.replace(/[-—]$|(\) )$/g,""),!E.test(g)||g.length<5)return D};return(w,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(V.value)},[l.before.length>0?(e.openBlock(),e.createBlock(W,{key:0,"icon-class":l.before,onClick:B},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:n},[e.createTextVNode(e.toDisplayString(l.label),1),l.required?(e.openBlock(),e.createElementBlock("span",qe,"*")):e.createCommentVNode("",!0)],8,Ye)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":s[0]||(s[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:$,onBlur:m,maxlength:l.maxlength,minlength:l.minlength,autofocus:l.autofocus,readonly:l.readonly,inputmode:l.inputMode},null,40,We),[[e.vModelDynamic,t.value]]),l.after.length>0?(e.openBlock(),e.createBlock(W,{key:3,"icon-class":l.after,onClick:c},null,8,["icon-class"])):e.renderSlot(w.$slots,"suffix",{key:4})],2))}}},Symbol.toStringTag,{value:"Module"})),Ge=["open"],Xe={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(r){const a=e.useModel(r,"modelValue"),t=r,l=e.ref(null),n=e.useSlots(),i=$=>{l.value&&!l.value.contains($.target)&&(a.value=!1)};return e.watch(()=>a.value,async $=>{$?(await e.nextTick(),window.addEventListener("click",i,!0)):window.removeEventListener("click",i)}),e.onUnmounted(()=>{window.removeEventListener("click",i)}),($,m)=>{var B;const c=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("dialog",{open:a.value,class:e.normalizeClass(["sw-message",t.class]),ref_key:"messageRef",ref:l},[t.name.length>0||(B=e.unref(n))!=null&&B.header?(e.openBlock(),e.createElementBlock("header",Xe,[e.renderSlot($.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createVNode(Y,{link:"",type:"primary",onClick:m[0]||(m[0]=V=>a.value=!1)},{default:e.withCtx(()=>[e.createVNode(c,{"icon-class":t.iconAfter},null,8,["icon-class"])]),_:1})])])):e.createCommentVNode("",!0),e.renderSlot($.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot($.$slots,"footer")])],10,Ge)}}}},Symbol.toStringTag,{value:"Module"})),Qe=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(r,{emit:a}){const t=r,l=a,n=()=>{l("header")};return(i,$)=>{const m=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass("sw-section "+t.class)},[e.createElementVNode("header",{onClick:n},[e.renderSlot(i.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createVNode(m,{"icon-class":t.iconAfter},null,8,["icon-class"])])]),e.renderSlot(i.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(i.$slots,"footer")])],2)}}}},Symbol.toStringTag,{value:"Module"})),Ze={class:"popup"},Ke={class:"wrapper"},et={class:"scrollbar"},tt=["onClick"],lt=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(r){const a=e.ref({fullText:""}),t=e.ref(!1),l=e.ref([]),n=e.useModel(r,"modelValue"),i=r;e.watch(n.text,c=>{c.length>3&&(a.value.fullText=c)}),e.watch(a.value.fullText,(c,B)=>{t.value=c.length>3&&c.length>B.length,c.length>3&&$()});const $=()=>{let c="https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address";console.log(a.value.fullText),axios.post(c,{query:a.value.fullText},{headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:"Token "+i.token}}).then(B=>{console.log(B.data.suggestions),l.value=B.data.suggestions,l.value.length===1&&m(l.value[0])}).catch(B=>{console.log(B)})},m=c=>{a.value.fullText=c.value,t.value=!1;const B={};B.text=c.value,B.coords=[Number(c.data.geo_lat),Number(c.data.geo_lon)],B.suggestion=c.data,n.value=B};return(c,B)=>{const V=e.resolveComponent("sw-input");return e.openBlock(),e.createElementBlock("div",Ze,[e.createVNode(V,{size:i.size,modelValue:a.value.fullText,"onUpdate:modelValue":B[0]||(B[0]=M=>a.value.fullText=M),placeholder:r.placeholder},null,8,["size","modelValue","placeholder"]),e.withDirectives(e.createElementVNode("div",Ke,[e.createElementVNode("ul",et,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(M,y)=>(e.openBlock(),e.createElementBlock("li",{tabindex:"1",key:y,onClick:w=>m(M)},e.toDisplayString(M.value),9,tt))),128))])],512),[[e.vShow,t.value]])])}}}},Symbol.toStringTag,{value:"Module"})),ot={key:0},te={__name:"SwSkeletonItem",props:{width:{type:String,default:"100"},class:{type:String,default:""},animate:{type:Boolean,default:!1},size:{type:String,default:""}},setup(r){const a=r,t=e.computed(()=>{let n=["sw-skeleton-item"];return a.size.length>0&&n.push("sw-"+a.size),a.animate&&n.push("sw-animate"),a.class.length>0&&n.push(a.class),n}),l=e.computed(()=>({width:a.width+"%"}));return(n,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value),style:e.normalizeStyle(l.value)},[a.animate?(e.openBlock(),e.createElementBlock("div",ot)):e.createCommentVNode("",!0)],6))}},nt=Object.freeze(Object.defineProperty({__proto__:null,default:te},Symbol.toStringTag,{value:"Module"})),at=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSkeleton",props:{class:{type:String,default:""},visual:{type:Boolean,default:!1}},setup(r){const a=r;return(t,l)=>a.visual?e.renderSlot(t.$slots,"default",{key:0}):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["sw-skeleton",a.class])},[e.renderSlot(t.$slots,"skeleton",{},()=>[e.createVNode(te,{animate:"",size:"small"})])],2))}}},Symbol.toStringTag,{value:"Module"})),st=["name","id","checked"],rt=["for","data-onlabel","data-offlabel"],it=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(r){const a=e.useModel(r,"modelValue"),t=r,l=e.computed(()=>{let i=["sw-switch"];return t.size.length>0&&i.push("sw-"+t.size),t.checkbox&&i.push("sw-checkbox"),t.class.length>0&&i.push(t.class),i}),n=i=>{a.value=i.target.checked};return(i,$)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value)},[e.createElementVNode("input",{type:"checkbox",name:t.name,class:"sw-control",id:t.id,checked:a.value,onChange:n},null,40,st),e.createElementVNode("label",{for:t.id,class:"sw-label","data-onlabel":t.on,"data-offlabel":t.off},null,8,rt),e.renderSlot(i.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),ct={style:{display:"none"}},le={__name:"SwTableColumn",props:{prop:{type:String,required:!0},label:{type:String,default:""},width:{type:String,default:"auto"},height:{type:String,default:"auto"}},setup(r){return(a,t)=>(e.openBlock(),e.createElementBlock("div",ct))}},dt=Object.freeze(Object.defineProperty({__proto__:null,default:le},Symbol.toStringTag,{value:"Module"})),pt={class:"sw-table"},mt=["colspan","rowspan"],ft=["colspan","rowspan"],ut=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTable",props:{data:{type:Array,required:!0}},setup(r){const a=r,t=e.useSlots(),l=e.ref([]);function n(s){var u,h;const g=[];for(const f of s)if(f.type===le){const C={...f.props,children:[]},D=(h=(u=f.children)==null?void 0:u.default)==null?void 0:h.call(u);D&&D.length>0&&(C.children=n(D)),g.push(C)}return g}function i(s){if(!s||s.length===0)return 1;let g=1;for(const u of s)if(u.children&&u.children.length>0){const h=i(u.children);g=Math.max(g,1+h)}return g}function $(s,g){const u=Array.from({length:g},()=>[]);function h(f,C,D=""){for(let E=0;E<f.length;E++){const _=f[E],b=D?`${D}-${_.prop||E}`:_.prop||E;if(_.children&&_.children.length>0){const S=m(_.children);u[C].push({key:b,label:_.label,colspan:S,rowspan:1,width:_.width,height:_.height}),h(_.children,C+1,b)}else u[C].push({key:_.prop,label:_.label,colspan:1,rowspan:g-C,width:_.width,height:_.height,prop:_.prop})}}return h(s,0),u}function m(s){let g=0;function u(h){for(const f of h)f.children&&f.children.length>0?u(f.children):g++}return u(s),g}function c(s){const g=[];function u(h){for(const f of h)f.children&&f.children.length>0?u(f.children):g.push(f)}return u(s),g}function B(s,g){const u=[],h=new Map;return s.forEach((f,C)=>{const D=[];g.forEach((E,_)=>{var x;const b=`${C}-${E.prop}`;if(h.has(b))return;const S=f[E.prop];let N=S,j=1,P=1,G={};S&&typeof S=="object"&&S!==null&&(N=S.label||S.value||"",j=S.colspan||1,P=S.rowspan||1,G=S.style||{});const X={key:b,label:N,prop:E.prop,colspan:j,rowspan:P,style:G,originalRow:f,rowIndex:C};D.push(X);for(let F=0;F<P;F++)for(let R=0;R<j;R++){if(F===0&&R===0)continue;const q=`${C+F}-${(x=g[_+R])==null?void 0:x.prop}`;q&&h.set(q,!0)}}),D.length>0&&u.push(D)}),u}e.onMounted(()=>{var g;const s=((g=t.default)==null?void 0:g.call(t))||[];l.value=n(s)});const V=e.computed(()=>i(l.value)),M=e.computed(()=>$(l.value,V.value)),y=e.computed(()=>c(l.value)),w=e.computed(()=>B(a.data,y.value));return(s,g)=>(e.openBlock(),e.createElementBlock("table",pt,[e.createElementVNode("thead",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M.value,(u,h)=>(e.openBlock(),e.createElementBlock("tr",{key:h},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u,f=>(e.openBlock(),e.createElementBlock("th",{key:f.key,colspan:f.colspan,rowspan:f.rowspan,style:e.normalizeStyle({minWidth:f.width,minHeight:f.height})},e.toDisplayString(f.label),13,mt))),128))]))),128))]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,(u,h)=>(e.openBlock(),e.createElementBlock("tr",{key:h},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u,f=>(e.openBlock(),e.createElementBlock("td",{key:f.key,colspan:f.colspan,rowspan:f.rowspan,style:e.normalizeStyle(f.style)},[e.renderSlot(s.$slots,f.prop,{row:f.originalRow,$index:f.rowIndex},()=>[e.createTextVNode(e.toDisplayString(f.label),1)])],12,ft))),128))]))),128))])]))}}},Symbol.toStringTag,{value:"Module"})),gt={key:0},ht=["onClick"],yt=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(r,{emit:a}){e.ref(0);const t=e.ref([]),l=r,n=e.useModel(r,"modelValue"),i=a;function $(c){t.value.push(c)}function m(c){t.value=t.value.filter(B=>B!==c)}return e.provide("registerTab",$),e.provide("unregisterTab",m),e.provide("activeTab",n),e.provide("tabs",t),(c,B)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("sw-tabs "+l.class)},[t.value.length!==0?(e.openBlock(),e.createElementBlock("header",gt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(V,M)=>(e.openBlock(),e.createElementBlock("span",{key:M,class:e.normalizeClass([{active:n.value===M}]),onClick:y=>{n.value=M,i("tab-click",M)}},e.toDisplayString(V.label||V.title),11,ht))),128))])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),wt={key:0,class:"tab-content"},kt=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPane",props:{title:{type:String,required:!0},label:{type:String,default:""}},setup(r){const a=r,t=e.inject("registerTab"),l=e.inject("unregisterTab");e.onMounted(()=>{t({title:a.title,label:a.label})}),e.onUnmounted(()=>{l({title:a.title,label:a.label})});const n=e.inject("activeTab"),i=e.inject("tabs"),$=e.computed(()=>i.value.findIndex(c=>c.title===a.title)),m=e.computed(()=>n.value===$.value);return(c,B)=>m.value?(e.openBlock(),e.createElementBlock("div",wt,[e.renderSlot(c.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"}));O.Alert=J,O.Library=de,O.components=U,Object.defineProperty(O,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-DYpLDbrv.js";
2
+ import { A as s, L as t, c as e } from "./index-DOH9EGY_.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.8.3",
3
+ "version": "0.8.4",
4
4
  "description": "Vue components of Component SW collection.",
5
5
  "type": "module",
6
6
  "keywords": [