@studio-west/component-sw 0.5.59 → 0.5.60

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