@studio-west/component-sw 0.4.20 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -1
- package/dist/{SwDatePicker-DCH725_h.js → SwDatePicker-BislPTOy.js} +1 -1
- package/dist/{SwInput-BFqXEXVm.js → SwInput-DMeENkpg.js} +1 -1
- package/dist/SwTabs-DkSI4oAh.js +38 -0
- package/dist/{index-C-TPL1Ac.js → index-JRCAfjBc.js} +22 -22
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/dist/SwTabs-DrhULPm8.js +0 -39
- package/dist/SwTabsNew-Dr5Vyz6M.js +0 -35
- package/dist/SwTabsPaneNew-DFPu-sRT.js +0 -29
package/README.md
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
Находится в разработке !
|
|
2
1
|
# Component SW - UI компоненты с поддержкой светлой и темной системной темы
|
|
3
2
|
|
|
4
3
|
Библиотека компонентов `Component SW` предоставляет набор готовых UI-компонентов на vue 3 для быстрой разработки интерфейсов. Каждый компонент имеет набор свойств, которые можно настраивать для достижения желаемого поведения и внешнего вида. Имеет поддержку светлой и темной системной темы. А также имеет поддержку мобильных систем разработки
|
|
@@ -512,6 +511,61 @@ Default - текст описания
|
|
|
512
511
|
```
|
|
513
512
|
---
|
|
514
513
|
|
|
514
|
+
## SwTabs
|
|
515
|
+
|
|
516
|
+
Компонент SwTabs представляет собой панель вкладок SwTabsPane.
|
|
517
|
+
|
|
518
|
+
### Свойства / Properties
|
|
519
|
+
|
|
520
|
+
|
|
521
|
+
| Имя | Тип | Значения/Описание |
|
|
522
|
+
|---------|-----------|---------------------------------------------------------|
|
|
523
|
+
| `class` | `String` | Добавляет пользовательский CSS-класс к компоненту. |
|
|
524
|
+
|
|
525
|
+
### Слоты / Slots
|
|
526
|
+
|
|
527
|
+
Default - для компонентов SwTabsPane
|
|
528
|
+
|
|
529
|
+
### Пример использования / Example Usage
|
|
530
|
+
|
|
531
|
+
```html
|
|
532
|
+
<sw-tabs
|
|
533
|
+
v-model="activeTabId"
|
|
534
|
+
class="custom-class"
|
|
535
|
+
>
|
|
536
|
+
<sw-tabs-pane label="Label" title="Title">Вкладка / Tab</sw-tabs-pane>
|
|
537
|
+
</sw-tabs>
|
|
538
|
+
```
|
|
539
|
+
---
|
|
540
|
+
|
|
541
|
+
## SwTabsPane
|
|
542
|
+
|
|
543
|
+
Компонент SwTabsPane представляет собой оболочку для вкладок.
|
|
544
|
+
|
|
545
|
+
### Свойства / Properties
|
|
546
|
+
|
|
547
|
+
|
|
548
|
+
| Имя | Тип | Значения/Описание |
|
|
549
|
+
|---------|-----------|-----------------------------------------------------------------------------------------|
|
|
550
|
+
| `title` | `String` | название унификатор - обязателен при отсутствии `label` будет взят за название вкладки. |
|
|
551
|
+
| `label` | `String` | название вкладки при отсутствии возьмется из `title`. |
|
|
552
|
+
|
|
553
|
+
### Слоты / Slots
|
|
554
|
+
|
|
555
|
+
Default - для вкладок
|
|
556
|
+
|
|
557
|
+
### Пример использования / Example Usage
|
|
558
|
+
|
|
559
|
+
```html
|
|
560
|
+
<sw-tabs
|
|
561
|
+
v-model="activeTabId"
|
|
562
|
+
class="custom-class"
|
|
563
|
+
>
|
|
564
|
+
<sw-tabs-pane label="Label" title="Title">Вкладка / Tab</sw-tabs-pane>
|
|
565
|
+
</sw-tabs>
|
|
566
|
+
```
|
|
567
|
+
---
|
|
568
|
+
|
|
515
569
|
### Лицензия / License
|
|
516
570
|
|
|
517
571
|
Этот проект распространяется под лицензией MIT. Подробности см. в файле LICENSE . /
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ref as f, computed as te, createElementBlock as v, openBlock as i, createElementVNode as s, createCommentVNode as S, withModifiers as g, toDisplayString as y, unref as M, Fragment as _, renderList as Y, normalizeClass as H } from "vue";
|
|
2
|
-
import { p as x } from "./index-
|
|
2
|
+
import { p as x } from "./index-JRCAfjBc.js";
|
|
3
3
|
const ae = { class: "sw-data-picker" }, ne = { class: "month_year" }, le = { class: "text" }, oe = {
|
|
4
4
|
key: 0,
|
|
5
5
|
class: "week"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { mergeModels as y, useModel as V, ref as C, computed as I, watch as M, createElementBlock as d, openBlock as i, normalizeClass as A, createBlock as v, renderSlot as _, createCommentVNode as x, withDirectives as E, createTextVNode as N, toDisplayString as R, createElementVNode as T, vModelDynamic as F } from "vue";
|
|
2
|
-
import { S } from "./index-
|
|
2
|
+
import { S } from "./index-JRCAfjBc.js";
|
|
3
3
|
const O = ["for"], U = {
|
|
4
4
|
key: 0,
|
|
5
5
|
title: "Это поле обязательно для заполнения."
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { mergeModels as u, ref as m, useModel as k, provide as l, createElementBlock as s, openBlock as r, normalizeClass as d, createCommentVNode as _, renderSlot as h, Fragment as T, renderList as y, toDisplayString as C } from "vue";
|
|
2
|
+
const S = { key: 0 }, V = ["onClick"], B = {
|
|
3
|
+
__name: "SwTabs",
|
|
4
|
+
props: /* @__PURE__ */ u({
|
|
5
|
+
class: { type: String, default: "" }
|
|
6
|
+
}, {
|
|
7
|
+
modelValue: {},
|
|
8
|
+
modelModifiers: {}
|
|
9
|
+
}),
|
|
10
|
+
emits: /* @__PURE__ */ u(["tab-click"], ["update:modelValue"]),
|
|
11
|
+
setup(n, { emit: p }) {
|
|
12
|
+
m(0);
|
|
13
|
+
const e = m([]), v = n, o = k(n, "modelValue"), b = p;
|
|
14
|
+
function f(t) {
|
|
15
|
+
e.value.push(t);
|
|
16
|
+
}
|
|
17
|
+
function g(t) {
|
|
18
|
+
e.value = e.value.filter((c) => c !== t);
|
|
19
|
+
}
|
|
20
|
+
return l("registerTab", f), l("unregisterTab", g), l("activeTab", o), l("tabs", e), (t, c) => (r(), s("div", {
|
|
21
|
+
class: d("sw-tabs " + v.class)
|
|
22
|
+
}, [
|
|
23
|
+
e.value.length !== 0 ? (r(), s("header", S, [
|
|
24
|
+
(r(!0), s(T, null, y(e.value, (i, a) => (r(), s("span", {
|
|
25
|
+
key: a,
|
|
26
|
+
class: d([{ active: o.value === a }]),
|
|
27
|
+
onClick: (M) => {
|
|
28
|
+
o.value = a, b("tab-click", a);
|
|
29
|
+
}
|
|
30
|
+
}, C(i.label || i.title), 11, V))), 128))
|
|
31
|
+
])) : _("", !0),
|
|
32
|
+
h(t.$slots, "default")
|
|
33
|
+
], 2));
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
export {
|
|
37
|
+
B as default
|
|
38
|
+
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createElementBlock as m, openBlock as c, mergeProps as S, createElementVNode as
|
|
1
|
+
import { createElementBlock as m, openBlock as c, mergeProps as S, createElementVNode as C, ref as T, onMounted as D, onUnmounted as x, computed as I, createBlock as u, Transition as $, withCtx as A, createCommentVNode as E, normalizeClass as M, renderSlot as p, createTextVNode as N, toDisplayString as F, createApp as j, h as O, defineAsyncComponent as P } from "vue";
|
|
2
2
|
function z(e) {
|
|
3
3
|
return /^(https?:|mailto:|tel:)/.test(e);
|
|
4
4
|
}
|
|
@@ -60,7 +60,7 @@ function G(e, n, t, o, s, r) {
|
|
|
60
60
|
class: "svg-icon " + t.className,
|
|
61
61
|
"aria-hidden": "true"
|
|
62
62
|
}, e.$attrs), [
|
|
63
|
-
|
|
63
|
+
C("use", {
|
|
64
64
|
href: "#" + t.prefix + "-" + t.iconClass
|
|
65
65
|
}, null, 8, Y)
|
|
66
66
|
], 16));
|
|
@@ -82,15 +82,15 @@ const v = /* @__PURE__ */ B(H, [["render", G]]), y = {
|
|
|
82
82
|
},
|
|
83
83
|
emits: ["closed"],
|
|
84
84
|
setup(e, { emit: n }) {
|
|
85
|
-
const t = e, o = n, s =
|
|
85
|
+
const t = e, o = n, s = T(!1);
|
|
86
86
|
let r = null;
|
|
87
87
|
const f = () => {
|
|
88
88
|
s.value = !0, g();
|
|
89
89
|
}, i = () => {
|
|
90
90
|
s.value = !1, o("closed");
|
|
91
|
-
}, b = () => {
|
|
92
|
-
r && (clearTimeout(r), r = null);
|
|
93
91
|
}, _ = () => {
|
|
92
|
+
r && (clearTimeout(r), r = null);
|
|
93
|
+
}, b = () => {
|
|
94
94
|
g();
|
|
95
95
|
}, g = () => {
|
|
96
96
|
r = setTimeout(i, t.duration);
|
|
@@ -100,31 +100,31 @@ const v = /* @__PURE__ */ B(H, [["render", G]]), y = {
|
|
|
100
100
|
}), x(() => {
|
|
101
101
|
r && clearTimeout(r);
|
|
102
102
|
});
|
|
103
|
-
const
|
|
103
|
+
const k = I(() => {
|
|
104
104
|
const a = ["sw-alert"];
|
|
105
105
|
return t.size.length > 0 && a.push(`sw-${t.size}`), t.type.length > 0 && a.push(`sw-${t.type}`), t.class.length > 0 && a.push(t.class), a;
|
|
106
106
|
});
|
|
107
|
-
return (a, V) => (c(),
|
|
108
|
-
default:
|
|
107
|
+
return (a, V) => (c(), u($, { name: "fade" }, {
|
|
108
|
+
default: A(() => [
|
|
109
109
|
s.value ? (c(), m("div", {
|
|
110
110
|
key: 0,
|
|
111
|
-
class:
|
|
112
|
-
onMouseenter:
|
|
113
|
-
onMouseleave:
|
|
111
|
+
class: M(k.value),
|
|
112
|
+
onMouseenter: _,
|
|
113
|
+
onMouseleave: b
|
|
114
114
|
}, [
|
|
115
|
-
t.before.length > 0 ? (c(),
|
|
115
|
+
t.before.length > 0 ? (c(), u(v, {
|
|
116
116
|
key: 0,
|
|
117
117
|
"icon-class": t.before
|
|
118
|
-
}, null, 8, ["icon-class"])) :
|
|
119
|
-
|
|
120
|
-
|
|
118
|
+
}, null, 8, ["icon-class"])) : p(a.$slots, "prefix", { key: 1 }),
|
|
119
|
+
p(a.$slots, "default", {}, () => [
|
|
120
|
+
N(F(t.message), 1)
|
|
121
121
|
]),
|
|
122
|
-
t.after.length > 0 ? (c(),
|
|
122
|
+
t.after.length > 0 ? (c(), u(v, {
|
|
123
123
|
key: 2,
|
|
124
124
|
"icon-class": t.after,
|
|
125
125
|
onClick: i
|
|
126
|
-
}, null, 8, ["icon-class"])) :
|
|
127
|
-
], 34)) :
|
|
126
|
+
}, null, 8, ["icon-class"])) : p(a.$slots, "suffix", { key: 3 })
|
|
127
|
+
], 34)) : E("", !0)
|
|
128
128
|
]),
|
|
129
129
|
_: 3
|
|
130
130
|
}));
|
|
@@ -136,9 +136,9 @@ const v = /* @__PURE__ */ B(H, [["render", G]]), y = {
|
|
|
136
136
|
let l = document.querySelector("div.sw-alert-wrapper");
|
|
137
137
|
function w(e = {}) {
|
|
138
138
|
l || (l = document.createElement("div"), l.className = "sw-alert-wrapper", document.body.appendChild(l));
|
|
139
|
-
const n =
|
|
139
|
+
const n = j({
|
|
140
140
|
setup() {
|
|
141
|
-
return () =>
|
|
141
|
+
return () => O(y, {
|
|
142
142
|
...e,
|
|
143
143
|
onClose: () => {
|
|
144
144
|
l.removeChild(n._container), n.unmount();
|
|
@@ -148,10 +148,10 @@ function w(e = {}) {
|
|
|
148
148
|
}), t = n.mount(document.createElement("div"));
|
|
149
149
|
l.appendChild(t.$el);
|
|
150
150
|
}
|
|
151
|
-
const h = /* @__PURE__ */ Object.assign({ "./components/SwAlert.vue": () => Promise.resolve().then(() => U), "./components/SwButton.vue": () => import("./SwButton-0uPLNlAn.js"), "./components/SwCollapse.vue": () => import("./SwCollapse-ByvwHeVt.js"), "./components/SwDatePicker.vue": () => import("./SwDatePicker-
|
|
151
|
+
const h = /* @__PURE__ */ Object.assign({ "./components/SwAlert.vue": () => Promise.resolve().then(() => U), "./components/SwButton.vue": () => import("./SwButton-0uPLNlAn.js"), "./components/SwCollapse.vue": () => import("./SwCollapse-ByvwHeVt.js"), "./components/SwDatePicker.vue": () => import("./SwDatePicker-BislPTOy.js"), "./components/SwDropdown.vue": () => import("./SwDropdown-DT-3bTwS.js"), "./components/SwDropdownItem.vue": () => import("./SwDropdownItem-C3_wJ1DL.js"), "./components/SwFormItem.vue": () => import("./SwFormItem-CfnEis1u.js"), "./components/SwInput.vue": () => import("./SwInput-DMeENkpg.js"), "./components/SwMessage.vue": () => import("./SwMessage-DQcnzMZB.js"), "./components/SwSection.vue": () => import("./SwSection-CQfw3-el.js"), "./components/SwSelect.vue": () => import("./SwSelect-C2RKinez.js"), "./components/SwSkeleton.vue": () => import("./SwSkeleton-B7ysp8L9.js"), "./components/SwSkeletonItem.vue": () => import("./SwSkeletonItem-CU7LvihY.js"), "./components/SwSwitch.vue": () => import("./SwSwitch-BxSLWRTx.js"), "./components/SwTabs.vue": () => import("./SwTabs-DkSI4oAh.js"), "./components/SwTabsPane.vue": () => import("./SwTabsPane-Dwtj8g7T.js") }), d = {};
|
|
152
152
|
for (const e in h) {
|
|
153
153
|
const n = e.split("/").pop().replace(".vue", "").replace(/-(\w)/g, (t, o) => o.toUpperCase());
|
|
154
|
-
d[n] =
|
|
154
|
+
d[n] = P(() => h[e]());
|
|
155
155
|
}
|
|
156
156
|
const R = {
|
|
157
157
|
install(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 Q(a){return/^(https?:|mailto:|tel:)/.test(a)}function j(a,n){if(arguments.length===0||!a)return null;const t=n||"{Y}-{m}-{d} {G}:{i}:{s}";let l;typeof a=="object"?l=a:(typeof a=="string"&&(/^[0-9]+$/.test(a)?a=parseInt(a):a=a.replace(new RegExp(/-/gm),"/")),typeof a=="number"&&a.toString().length===10&&(a=a*1e3),l=new Date(a));const o="ru-RU",c={Y:l.getFullYear(),m:(l.getMonth()+1).toString().padStart(2,"0"),d:l.getDate(),dd:l.getDate().toString().padStart(2,"0"),G:l.getHours(),H:l.getHours().toString().padStart(2,"0"),i:l.getMinutes().toString().padStart(2,"0"),s:l.getSeconds().toString().padStart(2,"0"),D:new Intl.DateTimeFormat(o,{weekday:"short"}).format(l),F:new Intl.DateTimeFormat(o,{month:"long"}).format(l),M:new Intl.DateTimeFormat(o,{month:"short"}).format(l)};return t.replace(/{(dd|[YmdGHisDFM])+}/g,(h,p)=>c[p])}const Z=(a,n)=>{const t=a.__vccOpts||a;for(const[l,o]of n)t[l]=o;return t},K={name:"SvgIcon",props:{prefix:{type:String,default:"icon"},iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExt(){return Q(this.iconClass)}}},ee=["href"];function te(a,n,t,l,o,c){return c.isExt?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,style:"mask: url("+t.iconClass+") no-repeat 50% 50%;",class:"svg-external-icon svg-icon"},a.$attrs),null,16)):(e.openBlock(),e.createElementBlock("svg",e.mergeProps({key:1,class:"svg-icon "+t.className,"aria-hidden":"true"},a.$attrs),[e.createElementVNode("use",{href:"#"+t.prefix+"-"+t.iconClass},null,8,ee)],16))}const F=Z(K,[["render",te]]),R={__name:"SwAlert",props:{message:{type:String,default:"Default message"},before:{type:String,default:""},class:{type:String,default:""},after:{type:String,default:""},size:{type:String,default:""},duration:{type:Number,default:6e3},type:{type:String,default:"info",validator:a=>["success","warning","error","info"].includes(a)}},emits:["closed"],setup(a,{emit:n}){const t=a,l=n,o=e.ref(!1);let c=null;const h=()=>{o.value=!0,w()},p=()=>{o.value=!1,l("closed")},i=()=>{c&&(clearTimeout(c),c=null)},f=()=>{w()},w=()=>{c=setTimeout(p,t.duration)};e.onMounted(()=>{h()}),e.onUnmounted(()=>{c&&clearTimeout(c)});const b=e.computed(()=>{const m=["sw-alert"];return t.size.length>0&&m.push(`sw-${t.size}`),t.type.length>0&&m.push(`sw-${t.type}`),t.class.length>0&&m.push(t.class),m});return(m,_)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(b.value),onMouseenter:i,onMouseleave:f},[t.before.length>0?(e.openBlock(),e.createBlock(F,{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(F,{key:2,"icon-class":t.after,onClick:p},null,8,["icon-class"])):e.renderSlot(m.$slots,"suffix",{key:3})],34)):e.createCommentVNode("",!0)]),_:3}))}},le=Object.freeze(Object.defineProperty({__proto__:null,default:R},Symbol.toStringTag,{value:"Module"}));let P=document.querySelector("div.sw-alert-wrapper");function A(a={}){P||(P=document.createElement("div"),P.className="sw-alert-wrapper",document.body.appendChild(P));const n=e.createApp({setup(){return()=>e.h(R,{...a,onClose:()=>{P.removeChild(n._container),n.unmount()}})}}),t=n.mount(document.createElement("div"));P.appendChild(t.$el)}const q=Object.assign({"./components/SwAlert.vue":()=>Promise.resolve().then(()=>le),"./components/SwButton.vue":()=>Promise.resolve().then(()=>ne),"./components/SwCollapse.vue":()=>Promise.resolve().then(()=>ae),"./components/SwDatePicker.vue":()=>Promise.resolve().then(()=>be),"./components/SwDropdown.vue":()=>Promise.resolve().then(()=>$e),"./components/SwDropdownItem.vue":()=>Promise.resolve().then(()=>De),"./components/SwFormItem.vue":()=>Promise.resolve().then(()=>Ee),"./components/SwInput.vue":()=>Promise.resolve().then(()=>Ve),"./components/SwMessage.vue":()=>Promise.resolve().then(()=>Ne),"./components/SwSection.vue":()=>Promise.resolve().then(()=>xe),"./components/SwSelect.vue":()=>Promise.resolve().then(()=>Fe),"./components/SwSkeleton.vue":()=>Promise.resolve().then(()=>Le),"./components/SwSkeletonItem.vue":()=>Promise.resolve().then(()=>Ae),"./components/SwSwitch.vue":()=>Promise.resolve().then(()=>qe),"./components/SwTabs.vue":()=>Promise.resolve().then(()=>We),"./components/SwTabsNew.vue":()=>Promise.resolve().then(()=>Xe),"./components/SwTabsPane.vue":()=>Promise.resolve().then(()=>Qe),"./components/SwTabsPaneNew.vue":()=>Promise.resolve().then(()=>Ke)}),I={};for(const a in q){const n=a.split("/").pop().replace(".vue","").replace(/-(\w)/g,(t,l)=>l.toUpperCase());I[n]=e.defineAsyncComponent(()=>q[a]())}const oe={install(a){Object.keys(I).forEach(n=>{a.component(n,I[n]),console.log(n)}),a.config.globalProperties.$Alert=A,a.provide("Alert",A)}},H={__name:"SwButton",props:{class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:""},round:{type:Boolean,default:!1},text:{type:Boolean,default:!1},link:{type:Boolean,default:!1},href:{type:String,default:""}},setup(a){const n=a,t=()=>{if(n.href.length>0){const o=document.createElement("a");o.setAttribute("href",n.href),o.setAttribute("target","_blank"),o.click()}},l=e.computed(()=>{let o=["sw-button"];return n.size.length>0&&o.push("sw-"+n.size),n.type.length>0&&o.push("sw-"+n.type),n.round&&o.push("sw-round"),n.text&&o.push("sw-text"),n.link&&o.push("sw-link"),n.class.length>0&&o.push(n.class),o});return(o,c)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(l.value),onClick:t},[e.renderSlot(o.$slots,"default")],2))}},ne=Object.freeze(Object.defineProperty({__proto__:null,default:H},Symbol.toStringTag,{value:"Module"})),ae=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwCollapse",props:{visual:{type:Boolean,default:!0}},setup(a){e.onMounted(()=>{l.value="0px"});const n=e.ref(null),t=a;e.watch(()=>t.visual,()=>o());const l=e.ref("0px"),o=()=>{n.value&&(l.value=t.visual?n.value.scrollHeight+"px":"0px")};let c;return e.onMounted(()=>{o(),n.value&&(c=new ResizeObserver(o),c.observe(n.value))}),e.onBeforeUnmount(()=>{c&&c.disconnect()}),(h,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sw-collapse",{open:t.visual}]),style:e.normalizeStyle({height:l.value}),ref_key:"collapse",ref:n},[e.renderSlot(h.$slots,"default")],6))}}},Symbol.toStringTag,{value:"Module"})),se={class:"sw-data-picker"},re={class:"month_year"},ce={class:"text"},ie={key:0,class:"week"},de={key:1,class:"year"},pe=["onClick"],me={key:2,class:"month"},fe=["onClick"],ue={key:0},ge={class:"month_year"},he={class:"text"},ye={key:0,class:"week"},_e={key:1,class:"year"},Se=["onClick"],ke={key:2,class:"month"},we=["onClick"],be=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDatePicker",props:{data:Object,limitation:{type:[Boolean,Array],default:()=>!1},range:{type:String,default:"solid"}},emits:["input"],setup(a,{emit:n}){var W,G,X,J;const t=a,l=n,o=e.ref(3),c=e.ref(new Date),h=e.ref(new Date),p=e.ref(new Date().getFullYear()),i=e.ref(new Date().getMonth()),f=e.ref(new Date().getFullYear()),w=e.ref(new Date().getMonth()),b=e.ref(new Date().getMonth()+1),m=e.ref([]),_=e.ref(0),S=e.ref(-1),g=e.ref(-1),B=e.ref(navigator.languages||"ru"),y=/en|zh|ja|he/.test(B.value)?0:1,z=e.computed(()=>Array.from({length:12},(d,s)=>{const r=new Date(2024,s);return new Intl.DateTimeFormat(B.value,{month:"long"}).format(r)})),D=d=>{let s=d.split(d.match(/\D.*?\D?/));return s[0].length>2?s.join("-")+"T00:00:01":s.reverse().join("-")+"T00:00:01"};(W=t.data)!=null&&W.startDate&&(c.value=new Date(D(t.data.startDate)),p.value=c.value.getFullYear(),i.value=c.value.getMonth()),(G=t.data)!=null&&G.endDate&&t.range==="range"&&(h.value=new Date(D(t.data.endDate)),f.value=h.value.getFullYear(),w.value=h.value.getMonth());const k=()=>{m.value=[],_.value=0;const d=new Date(p.value,i.value,0);for(let r=d.getDate()-d.getDay()+y;r<=d.getDate();r++)d.getDay()!==6+y&&(m.value.push({day:r,month:d.getMonth(),year:d.getFullYear(),class:[]}),_.value++);const s=new Date(p.value,i.value+1,0).getDate();for(let r=1;r<=s;r++)m.value.push({day:r,month:i.value,year:p.value,class:[]}),_.value++;if(t.range==="range"){const r=new Date(p.value,i.value+1,1),u=new Date(p.value,i.value+2,0).getDate();for(let M=1;M<=u;M++)m.value.push({day:M,month:r.getMonth(),year:r.getFullYear(),class:[]})}E()},E=()=>{var s;if(!((s=t.data)!=null&&s.holiday))return;const d=(r,u)=>{r.forEach(M=>{const[$,C,N]=M.split("-").map(Number),O=m.value.findIndex(Y=>Y.year===$&&Y.month+1===C&&Y.day===N);O!==-1&&(m.value[O].class[0]=u)})};d(t.data.holiday.preholidays,"preholiday"),d(t.data.holiday.holidays,"weekend"),d(t.data.holiday.holiday,"holiday"),d(t.data.holiday.nowork,"nowork")},x=()=>{if(!t.limitation||t.limitation.length<2)return!1;const d=[...t.limitation].sort((s,r)=>new Date(D(s.startDate)).getTime()-new Date(D(r.startDate)).getTime());for(let s=1;s<d.length;s++){const r=new Date(D(d[s-1].endDate));if(new Date(D(d[s].startDate))<=r)return console.warn("Warning: Диапазоны пересекаются:",d[s-1],d[s]),!0}return!1},v=(d,s,r)=>{if(!t.limitation||t.limitation.length===0)return!0;const u=new Date(d,s,r).getTime();for(let M of t.limitation){const{startDate:$,endDate:C}=M;if(!$&&C){const N=new Date(D(C)).getTime();if(u<=N)return!1}if($&&!C){const N=new Date(D($)).getTime();if(u>=N)return!1}if($&&C){const N=new Date(D($)).getTime(),O=new Date(D(C)).getTime();if(N<=O){if(u>=N&&u<=O)return!1}else if(u>=N||u<=O)return!1}}return!0},L=(d,s)=>{const r=j(new Date(d.year,d.month,d.day),"{dd}.{m}.{Y}");t.range==="range"?g.value!==-1?(et(),S.value=s,m.value[s].class[1]="active"):S.value!==-1?(g.value=s,tt(S.value,g.value,r)):(S.value=s,m.value[s].class[1]="active"):(S.value!==-1&&(m.value[S.value].class[1]=""),S.value=s,m.value[s].class[1]="active",l("input",{dateStart:r,count:1}))},et=()=>{m.value.forEach(d=>d.class[1]=""),S.value=-1,g.value=-1},tt=(d,s,r)=>{let u=j(new Date(m.value[d].year,m.value[d].month,m.value[d].day),"{dd}.{m}.{Y}"),M=lt(d,s);if(s>=d)for(let $=d+1;$<s;$++)m.value[$].class[1]="select";else for(let $=s+1;$<d;$++)m.value[$].class[1]="select";m.value[s].class[1]="active",l("input",{dateStart:u,dateEnd:r,count:M})},lt=(d,s)=>{var $;let r=Math.abs(d-s)+1,[u,M]=[Math.min(d,s),Math.max(d,s)];for(let C=u;C<=M;C++)(($=m.value[C])==null?void 0:$.class[0])==="holiday"&&r--;return r},T=(d,s)=>{v(d,s)&&(c.value=new Date(d,s,1),p.value=c.value.getFullYear(),i.value=c.value.getMonth(),console.log(o.value),t.range==="year"&&o.value===0?L({year:d,month:s,day:1},8):k())};if(k(),x()&&console.error("Ошибка: Найдены пересекающиеся диапазоны!"),(X=t.data)!=null&&X.startDate&&(S.value=m.value.findIndex(d=>d.day===c.value.getDate()&&d.month===i.value&&d.year===p.value),S.value!==-1&&(m.value[S.value].class[1]="active")),(J=t.data)!=null&&J.endDate&&t.range==="range"&&(g.value=m.value.findIndex(d=>d.day===h.value.getDate()&&d.month===w.value&&d.year===f.value),g.value!==-1)){m.value[g.value].class[1]="active";for(let d=S.value+1;d<g.value;d++)m.value[d].class[1]="select"}return(d,s)=>(e.openBlock(),e.createElementBlock("div",se,[e.createElementVNode("div",null,[e.createElementVNode("p",re,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[0]||(s[0]=e.withModifiers(r=>T(p.value-1,i.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:s[1]||(s[1]=e.withModifiers(r=>{o.value=0,T(p.value,i.value-1)},["prevent"]))},"‹")]),e.createElementVNode("span",ce,[e.createElementVNode("button",{onClick:s[2]||(s[2]=e.withModifiers(r=>o.value=1,["prevent"]))},e.toDisplayString(p.value),1),e.createElementVNode("button",{onClick:s[3]||(s[3]=e.withModifiers(r=>o.value=1,["prevent"]))},e.toDisplayString(e.unref(j)(c.value.setMonth(i.value),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[4]||(s[4]=e.withModifiers(r=>{o.value=0,T(p.value,i.value+1)},["prevent"]))},"›"),e.createElementVNode("button",{onClick:s[5]||(s[5]=e.withModifiers(r=>T(p.value+1,i.value),["prevent"]))},"»")])]),t.range==="year"||o.value===1?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ie,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(r,u)=>e.createElementVNode("button",{key:u,class:"disabled"},e.toDisplayString(e.unref(j)(new Date(1970,1,r+e.unref(y)),"{D}")),1)),64))])),t.range==="year"||o.value===1?(e.openBlock(),e.createElementBlock("div",de,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(z.value,(r,u)=>(e.openBlock(),e.createElementBlock("button",{key:u,onClick:e.withModifiers(M=>{o.value=0,T(p.value,u)},["prevent"])},e.toDisplayString(r),9,pe))),128))])):(e.openBlock(),e.createElementBlock("div",me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(r,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:u},[u<_.value+(7-new Date(p.value,i.value+1,1).getDay()+e.unref(y))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(r.month===i.value&&v(r.year,r.month,r.day)?r.class:"disabled"),onClick:e.withModifiers(()=>{r.month===i.value&&L(r,u)},["prevent"])},e.toDisplayString(r.day),11,fe)):e.createCommentVNode("",!0)],64))),128))]))]),t.range==="range"?(e.openBlock(),e.createElementBlock("div",ue,[e.createElementVNode("p",ge,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[6]||(s[6]=e.withModifiers(r=>T(p.value-1,i.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:s[7]||(s[7]=e.withModifiers(r=>{o.value=0,T(p.value,i.value-1)},["prevent"]))},"‹")]),e.createElementVNode("span",he,[e.createElementVNode("button",{onClick:s[8]||(s[8]=e.withModifiers(r=>o.value=2,["prevent"]))},e.toDisplayString(new Date(p.value,i.value+1).getFullYear()),1),e.createElementVNode("button",{onClick:s[9]||(s[9]=e.withModifiers(r=>o.value=2,["prevent"]))},e.toDisplayString(e.unref(j)(c.value.setMonth(i.value+1),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[10]||(s[10]=e.withModifiers(r=>{o.value=0,T(p.value,i.value+1)},["prevent"]))},"›"),e.createElementVNode("button",{onClick:s[11]||(s[11]=e.withModifiers(r=>T(p.value+1,i.value),["prevent"]))},"»")])]),o.value!==2?(e.openBlock(),e.createElementBlock("div",ye,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(r,u)=>e.createElementVNode("button",{key:u,class:"disabled"},e.toDisplayString(e.unref(j)(new Date(1970,1,r+e.unref(y)),"{D}")),1)),64))])):e.createCommentVNode("",!0),o.value===2?(e.openBlock(),e.createElementBlock("div",_e,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(z.value,(r,u)=>(e.openBlock(),e.createElementBlock("button",{key:u,onClick:e.withModifiers(M=>{o.value=0,T(p.value,u-1)},["prevent"])},e.toDisplayString(r),9,Se))),128))])):(e.openBlock(),e.createElementBlock("div",ke,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(r,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:u},[u>=_.value-(7+new Date(p.value,i.value+1,1).getDay()-e.unref(y))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(r.month===b.value&&v(r.year,r.month,r.day)?r.class:"disabled"),onClick:e.withModifiers(()=>{r.month===b.value&&L(r,u)},["prevent"])},e.toDisplayString(r.day),11,we)):e.createCommentVNode("",!0)],64))),128))]))])):e.createCommentVNode("",!0)]))}}},Symbol.toStringTag,{value:"Module"})),Be=["id"],$e=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDropdown",props:e.mergeModels({class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:""},trigger:{type:String,default:"click"},placement:{type:String,default:"bottom-left"},maxWidth:{type:Number,default:0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a,{expose:n}){const t=a;e.computed(()=>"dropdown"+Array.from(document.body.children).indexOf(document.querySelector("ul")));const l=e.useModel(a,"modelValue"),o=e.ref(null),c=e.ref(null),h=e.ref({}),p=Math.ceil(Math.random()*1e3),i=e.computed(()=>{let g=["sw-dropdown"];return t.size.length>0&&g.push("sw-"+t.size),t.type.length>0&&g.push("sw-"+t.type),g}),f=async()=>{if(await e.nextTick(),!c.value)return;const g=window.pageYOffset||document.documentElement.scrollTop,B=window.pageXOffset||document.documentElement.scrollLeft;document.body.style.position="fixed",document.body.style.top=`-${g}px`,document.body.style.left=`-${B}px`,document.body.style.position="",document.body.style.top="",document.body.style.left="",document.documentElement.scrollTop=g,document.documentElement.scrollLeft=B;const y=o.value.getBoundingClientRect(),z=c.value.offsetHeight,D=c.value.offsetWidth;console.log("popupHeight",z),console.log("popupWidth",D);let k=y.left+y.width/2+B,E=y.top+y.height/2+g;const[x,v]=t.placement.split("-",2);switch(console.log(t.placement),x){case"bottom":E=E+y.height/2+8;break;case"top":E=E-y.height/2-8-z;break;case"left":k=k-D-y.width/2-8,E=E-z/2;break;case"right":k=k+y.width/2+8,E=E-z/2;break}switch(v){case"left":k=k-y.width/2;break;case"right":k=k-D+y.width/2;break}k<0&&(k=0),E<0&&(E=0),h.value={position:"absolute",top:`${E}px`,left:`${k}px`,maxWidth:t.maxWidth===0?"":`${t.maxWidth}px`}};n({positionPopup:f});const w=()=>{t.trigger==="click"&&(l.value=!l.value),l.value&&f()},b=()=>{t.trigger==="hover"&&(l.value=!l.value),l.value&&f()},m=()=>{t.trigger==="context"&&(l.value=!l.value),l.value&&f()},_=()=>{l.value&&f()},S=g=>{!g.target.closest(`[id="${p}"]`)&&o.value&&!o.value.contains(g.target)&&(l.value=!1)};return e.onMounted(()=>{window.addEventListener("resize",_),window.addEventListener("click",S)}),e.onUnmounted(()=>{window.removeEventListener("resize",_),window.removeEventListener("click",S)}),(g,B)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(i.value),onClick:B[0]||(B[0]=y=>w()),onMouseover:B[1]||(B[1]=e.withModifiers(y=>b(),["stop"])),onMouseleave:B[2]||(B[2]=e.withModifiers(y=>b(),["stop"])),onContextmenu:B[3]||(B[3]=e.withModifiers(y=>m(),["stop"])),ref_key:"dropdownRef",ref:o},[e.renderSlot(g.$slots,"default"),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[l.value?(e.openBlock(),e.createElementBlock("ul",{key:0,ref_key:"popupRef",ref:c,id:e.unref(p),class:e.normalizeClass(["sw-dropdown-popup",t.class]),style:e.normalizeStyle(h.value),tabindex:"-1"},[e.renderSlot(g.$slots,"dropdown")],14,Be)):e.createCommentVNode("",!0)]))],34))}}},Symbol.toStringTag,{value:"Module"})),De=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDropdownItem",props:{class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:""},iconBefore:{type:String,default:""}},setup(a){const n=a,t=e.computed(()=>{let l=["sw-dropdown-item"];return n.size.length>0&&l.push("sw-"+n.size),n.type.length>0&&l.push("sw-"+n.type),n.class.length>0&&l.push(n.class),l});return(l,o)=>{const c=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(t.value)},[e.createVNode(c,{"icon-class":a.iconBefore},null,8,["icon-class"]),e.renderSlot(l.$slots,"default")],2)}}}},Symbol.toStringTag,{value:"Module"})),Ee=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwFormItem",props:{class:{type:String,default:""},type:{type:String,default:""}},setup(a){const n=a,t=e.computed(()=>{let l=["sw-form-item"];return n.type.length>0&&l.push("sw-"+n.type),n.class.length>0&&l.push(n.class),l});return(l,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value)},[e.renderSlot(l.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Me=["for"],Ce={key:0,title:"Это поле обязательно для заполнения."},Te=["required","placeholder","type","id","name"],Ve=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwInput",props:e.mergeModels({before:{type:String,default:""},after:{type:String,default:""},placeholder:{type:String,default:""},label:{type:String,default:""},name:{type:String,required:!0},class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:"text"},required:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["suffix","prefix","focusInput"],["update:modelValue"]),setup(a,{emit:n}){var m;const t=e.useModel(a,"modelValue"),l=a,o=e.ref(null),c=n,h=_=>{c("focusInput"),_.target.setSelectionRange(t.value.length,t.value.length),o.value!==null&&(o.value.style.top="-.6em")},p=_=>{var S;((S=t.value)==null?void 0:S.length)===0&&o.value!==null&&o.value.removeAttribute("style")};((m=t.value)==null?void 0:m.length)>0&&o.value!==null&&(o.value.style.top="-.6em");const i=()=>{c("suffix")},f=()=>{c("prefix")},w=e.computed(()=>{let _=["sw-input"];return l.size.length>0&&_.push("sw-"+l.size),l.class.length>0&&_.push(l.class),_});e.watch(t,(_,S)=>{l.type==="phone"&&(t.value=b(_,S))});const b=(_,S)=>{if(/^\+[0-9]\s/.test(S)&&_.length===2||/^\+0\s/.test(_))return"";const g=_;if(typeof g>"u"||g.length===0)return g;const B="+0 (___) ___-__-__";let y=0;const z=B.replace(/\D/g,""),D=g.replace(/\D/g,"");let k=B.replace(/[_\d]/g,x=>y<D.length?D.charAt(y++)||z.charAt(y):x);y=k.indexOf("_"),y!==-1&&(y=y<5?3:y,k=k.slice(0,y));let E=B.slice(0,g.length).replace(/_+/g,x=>`\\d{1,${x.length}}`).replace(/[+()]/g,"\\$&");if(E=new RegExp(`^${E}$`),k=k.replace(/[-—]$|(\) )$/g,""),!E.test(g)||g.length<5)return k};return(_,S)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(w.value)},[l.before.length>0?(e.openBlock(),e.createBlock(F,{key:0,"icon-class":l.before,onClick:f},null,8,["icon-class"])):e.renderSlot(_.$slots,"prefix",{key:1}),l.label.length>0?(e.openBlock(),e.createElementBlock("label",{key:2,for:l.name,ref_key:"lab",ref:o},[e.createTextVNode(e.toDisplayString(l.label),1),l.required?(e.openBlock(),e.createElementBlock("span",Ce,"*")):e.createCommentVNode("",!0)],8,Me)):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:"60",onFocus:h,onBlur:p,maxlength:"128"},null,40,Te),[[e.vModelDynamic,t.value]]),l.after.length>0?(e.openBlock(),e.createBlock(F,{key:3,"icon-class":l.after,onClick:i},null,8,["icon-class"])):e.renderSlot(_.$slots,"suffix",{key:4})],2))}}},Symbol.toStringTag,{value:"Module"})),ze={key:0},Ne=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwMessage",props:e.mergeModels({name:{type:String,default:""},class:{type:String,default:""},iconAfter:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=e.useModel(a,"modelValue"),t=a,l=e.ref(null);return(o,c)=>{const h=e.resolveComponent("svg-icon");return n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["sw-message",t.class]),ref_key:"messageRef",ref:l},[t.name.length>0?(e.openBlock(),e.createElementBlock("header",ze,[e.renderSlot(o.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createVNode(H,{link:"",type:"primary",onClick:c[0]||(c[0]=p=>n.value=!1)},{default:e.withCtx(()=>[e.createVNode(h,{"icon-class":t.iconAfter},null,8,["icon-class"])]),_:1})])])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(o.$slots,"footer")])],2)):e.createCommentVNode("",!0)}}}},Symbol.toStringTag,{value:"Module"})),xe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSection",props:{name:{type:String,default:""},class:{type:String,default:""},iconAfter:{type:String,default:""}},emits:["header"],setup(a,{emit:n}){const t=a,l=n,o=()=>{l("header")};return(c,h)=>{const p=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(t.class)},[e.createElementVNode("header",{onClick:o},[e.renderSlot(c.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createVNode(p,{"icon-class":t.iconAfter},null,8,["icon-class"])])]),e.renderSlot(c.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(c.$slots,"footer")])],2)}}}},Symbol.toStringTag,{value:"Module"})),je={class:"popup"},Pe={class:"wrapper"},Oe={class:"scrollbar"},ve=["onClick"],Fe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSelect",props:e.mergeModels({class:{type:String,default:""},size:{type:String,default:"large"},placeholder:{type:String,default:""},token:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=e.ref({fullText:""}),t=e.ref(!1),l=e.ref([]),o=e.useModel(a,"modelValue"),c=a;e.watch(o.text,i=>{i.length>3&&(n.value.fullText=i)}),e.watch(n.value.fullText,(i,f)=>{t.value=i.length>3&&i.length>f.length,i.length>3&&h()});const h=()=>{let i="https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address";console.log(n.value.fullText),axios.post(i,{query:n.value.fullText},{headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:"Token "+c.token}}).then(f=>{console.log(f.data.suggestions),l.value=f.data.suggestions,l.value.length===1&&p(l.value[0])}).catch(f=>{console.log(f)})},p=i=>{n.value.fullText=i.value,t.value=!1;const f={};f.text=i.value,f.coords=[Number(i.data.geo_lat),Number(i.data.geo_lon)],f.suggestion=i.data,o.value=f};return(i,f)=>{const w=e.resolveComponent("sw-input");return e.openBlock(),e.createElementBlock("div",je,[e.createVNode(w,{size:c.size,modelValue:n.value.fullText,"onUpdate:modelValue":f[0]||(f[0]=b=>n.value.fullText=b),placeholder:a.placeholder},null,8,["size","modelValue","placeholder"]),e.withDirectives(e.createElementVNode("div",Pe,[e.createElementVNode("ul",Oe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(b,m)=>(e.openBlock(),e.createElementBlock("li",{tabindex:"1",key:m,onClick:_=>p(b)},e.toDisplayString(b.value),9,ve))),128))])],512),[[e.vShow,t.value]])])}}}},Symbol.toStringTag,{value:"Module"})),Ie={key:0},U={__name:"SwSkeletonItem",props:{width:{type:String,default:"100"},class:{type:String,default:""},animate:{type:Boolean,default:!1},size:{type:String,default:""}},setup(a){const n=a,t=e.computed(()=>{let o=["sw-skeleton-item"];return n.size.length>0&&o.push("sw-"+n.size),n.animate&&o.push("sw-animate"),n.class.length>0&&o.push(n.class),o}),l=e.computed(()=>({width:n.width+"%"}));return(o,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value),style:e.normalizeStyle(l.value)},[n.animate?(e.openBlock(),e.createElementBlock("div",Ie)):e.createCommentVNode("",!0)],6))}},Ae=Object.freeze(Object.defineProperty({__proto__:null,default:U},Symbol.toStringTag,{value:"Module"})),Le=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSkeleton",props:{class:{type:String,default:""},visual:{type:Boolean,default:!1}},setup(a){const n=a;return(t,l)=>n.visual?e.renderSlot(t.$slots,"default",{key:0}):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["sw-skeleton",n.class])},[e.renderSlot(t.$slots,"skeleton",{},()=>[e.createVNode(U,{animate:"",size:"small"})])],2))}}},Symbol.toStringTag,{value:"Module"})),Ye=["name","id"],Re=["for","data-onlabel","data-offlabel"],qe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSwitch",props:e.mergeModels({id:{type:String,default:"checkbox"},class:{type:String,default:""},name:{type:String,default:""},on:{type:String,default:""},off:{type:String,default:""},size:{type:String,default:""},checkbox:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=e.useModel(a,"modelValue"),t=a,l=e.computed(()=>{let o=["sw-switch"];return t.size.length>0&&o.push("sw-"+t.size),t.checkbox&&o.push("sw-checkbox"),t.class.length>0&&o.push(t.class),o});return(o,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value)},[e.withDirectives(e.createElementVNode("input",{type:"checkbox",name:t.name,class:"sw-control",id:t.id,"onUpdate:modelValue":c[0]||(c[0]=h=>n.value=h)},null,8,Ye),[[e.vModelCheckbox,n.value]]),e.createElementVNode("label",{for:t.id,class:"sw-label","data-onlabel":t.on,"data-offlabel":t.off},null,8,Re),e.renderSlot(o.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),He={key:0},Ue=["onClick"],We=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabs",props:e.mergeModels({name:{type:String},class:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["tab-click"],["update:modelValue"]),setup(a,{emit:n}){e.ref(0);const t=e.ref([]),l=a,o=e.useModel(a,"modelValue"),c=n;function h(i){t.value.push(i)}function p(i){t.value=t.value.filter(f=>f!==i)}return e.provide("registerTab",h),e.provide("unregisterTab",p),e.provide("activeTab",o),e.provide("tabs",t),(i,f)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("sw-tabs "+l.class)},[t.value.length!==0?(e.openBlock(),e.createElementBlock("header",He,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(w,b)=>(e.openBlock(),e.createElementBlock("span",{key:b,class:e.normalizeClass([{active:o.value===b}]),onClick:m=>{o.value=b,c("tab-click",b)}},e.toDisplayString((w==null?void 0:w.props.label)||(w==null?void 0:w.props.title)),11,Ue))),128))])):e.createCommentVNode("",!0),e.renderSlot(i.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Ge=["onClick"],Xe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsNew",props:e.mergeModels({name:{type:String},class:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["tab-click"],["update:modelValue"]),setup(a,{emit:n}){e.ref(0);const t=e.ref([]),l=a,o=e.useModel(a,"modelValue"),c=n;return e.provide("activeTab",o),e.provide("tabs",t),e.provide("registerTab",h=>{t.value.push(h)}),(h,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("sw-tabs "+l.class)},[e.createElementVNode("header",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(i,f)=>(e.openBlock(),e.createElementBlock("span",{key:f,class:e.normalizeClass([{active:o.value===f}]),onClick:w=>{o.value=f,c("tab-click",f)}},e.toDisplayString(i.props.label||i.props.title),11,Ge))),128))]),e.renderSlot(h.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Je={key:0,class:"tab-content"},Qe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPane",props:{title:{type:String,required:!0},label:{type:String,default:""}},setup(a){const n=a,t=e.inject("registerTab"),l=e.inject("unregisterTab");e.onMounted(()=>{t({title:n.title,label:n.label})}),e.onUnmounted(()=>{l({title:n.title,label:n.label})});const o=e.inject("activeTab"),c=e.inject("tabs"),h=e.computed(()=>c.value.findIndex(i=>i.title===n.title)),p=e.computed(()=>o.value===h.value);return(i,f)=>p.value?(e.openBlock(),e.createElementBlock("div",Je,[e.renderSlot(i.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"})),Ze={key:0,class:"tab-content"},Ke=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPaneNew",props:{label:{type:String,required:!0},title:{type:String}},setup(a){const n=a,t=e.inject("registerTab");if(!t)throw new Error("SwTabsPane must be used inside SwTabs");t({props:n});const l=e.inject("activeTab");if(!e.inject("tabs"))throw new Error("Tabs array is not provided by SwTabs");const c=e.inject("tabs").value.length-1;return(h,p)=>e.unref(l)===c?(e.openBlock(),e.createElementBlock("div",Ze,[e.renderSlot(h.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"}));V.Alert=A,V.Library=oe,V.components=I,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 Q(a){return/^(https?:|mailto:|tel:)/.test(a)}function v(a,n){if(arguments.length===0||!a)return null;const t=n||"{Y}-{m}-{d} {G}:{i}:{s}";let l;typeof a=="object"?l=a:(typeof a=="string"&&(/^[0-9]+$/.test(a)?a=parseInt(a):a=a.replace(new RegExp(/-/gm),"/")),typeof a=="number"&&a.toString().length===10&&(a=a*1e3),l=new Date(a));const o="ru-RU",c={Y:l.getFullYear(),m:(l.getMonth()+1).toString().padStart(2,"0"),d:l.getDate(),dd:l.getDate().toString().padStart(2,"0"),G:l.getHours(),H:l.getHours().toString().padStart(2,"0"),i:l.getMinutes().toString().padStart(2,"0"),s:l.getSeconds().toString().padStart(2,"0"),D:new Intl.DateTimeFormat(o,{weekday:"short"}).format(l),F:new Intl.DateTimeFormat(o,{month:"long"}).format(l),M:new Intl.DateTimeFormat(o,{month:"short"}).format(l)};return t.replace(/{(dd|[YmdGHisDFM])+}/g,(k,p)=>c[p])}const Z=(a,n)=>{const t=a.__vccOpts||a;for(const[l,o]of n)t[l]=o;return t},K={name:"SvgIcon",props:{prefix:{type:String,default:"icon"},iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExt(){return Q(this.iconClass)}}},ee=["href"];function te(a,n,t,l,o,c){return c.isExt?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,style:"mask: url("+t.iconClass+") no-repeat 50% 50%;",class:"svg-external-icon svg-icon"},a.$attrs),null,16)):(e.openBlock(),e.createElementBlock("svg",e.mergeProps({key:1,class:"svg-icon "+t.className,"aria-hidden":"true"},a.$attrs),[e.createElementVNode("use",{href:"#"+t.prefix+"-"+t.iconClass},null,8,ee)],16))}const F=Z(K,[["render",te]]),R={__name:"SwAlert",props:{message:{type:String,default:"Default message"},before:{type:String,default:""},class:{type:String,default:""},after:{type:String,default:""},size:{type:String,default:""},duration:{type:Number,default:6e3},type:{type:String,default:"info",validator:a=>["success","warning","error","info"].includes(a)}},emits:["closed"],setup(a,{emit:n}){const t=a,l=n,o=e.ref(!1);let c=null;const k=()=>{o.value=!0,E()},p=()=>{o.value=!1,l("closed")},d=()=>{c&&(clearTimeout(c),c=null)},g=()=>{E()},E=()=>{c=setTimeout(p,t.duration)};e.onMounted(()=>{k()}),e.onUnmounted(()=>{c&&clearTimeout(c)});const w=e.computed(()=>{const m=["sw-alert"];return t.size.length>0&&m.push(`sw-${t.size}`),t.type.length>0&&m.push(`sw-${t.type}`),t.class.length>0&&m.push(t.class),m});return(m,y)=>(e.openBlock(),e.createBlock(e.Transition,{name:"fade"},{default:e.withCtx(()=>[o.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(w.value),onMouseenter:d,onMouseleave:g},[t.before.length>0?(e.openBlock(),e.createBlock(F,{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(F,{key:2,"icon-class":t.after,onClick:p},null,8,["icon-class"])):e.renderSlot(m.$slots,"suffix",{key:3})],34)):e.createCommentVNode("",!0)]),_:3}))}},le=Object.freeze(Object.defineProperty({__proto__:null,default:R},Symbol.toStringTag,{value:"Module"}));let j=document.querySelector("div.sw-alert-wrapper");function A(a={}){j||(j=document.createElement("div"),j.className="sw-alert-wrapper",document.body.appendChild(j));const n=e.createApp({setup(){return()=>e.h(R,{...a,onClose:()=>{j.removeChild(n._container),n.unmount()}})}}),t=n.mount(document.createElement("div"));j.appendChild(t.$el)}const q=Object.assign({"./components/SwAlert.vue":()=>Promise.resolve().then(()=>le),"./components/SwButton.vue":()=>Promise.resolve().then(()=>ne),"./components/SwCollapse.vue":()=>Promise.resolve().then(()=>ae),"./components/SwDatePicker.vue":()=>Promise.resolve().then(()=>be),"./components/SwDropdown.vue":()=>Promise.resolve().then(()=>De),"./components/SwDropdownItem.vue":()=>Promise.resolve().then(()=>$e),"./components/SwFormItem.vue":()=>Promise.resolve().then(()=>Ee),"./components/SwInput.vue":()=>Promise.resolve().then(()=>Ve),"./components/SwMessage.vue":()=>Promise.resolve().then(()=>ze),"./components/SwSection.vue":()=>Promise.resolve().then(()=>Ne),"./components/SwSelect.vue":()=>Promise.resolve().then(()=>Fe),"./components/SwSkeleton.vue":()=>Promise.resolve().then(()=>Le),"./components/SwSkeletonItem.vue":()=>Promise.resolve().then(()=>Ae),"./components/SwSwitch.vue":()=>Promise.resolve().then(()=>qe),"./components/SwTabs.vue":()=>Promise.resolve().then(()=>We),"./components/SwTabsPane.vue":()=>Promise.resolve().then(()=>Xe)}),I={};for(const a in q){const n=a.split("/").pop().replace(".vue","").replace(/-(\w)/g,(t,l)=>l.toUpperCase());I[n]=e.defineAsyncComponent(()=>q[a]())}const oe={install(a){Object.keys(I).forEach(n=>{a.component(n,I[n]),console.log(n)}),a.config.globalProperties.$Alert=A,a.provide("Alert",A)}},H={__name:"SwButton",props:{class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:""},round:{type:Boolean,default:!1},text:{type:Boolean,default:!1},link:{type:Boolean,default:!1},href:{type:String,default:""}},setup(a){const n=a,t=()=>{if(n.href.length>0){const o=document.createElement("a");o.setAttribute("href",n.href),o.setAttribute("target","_blank"),o.click()}},l=e.computed(()=>{let o=["sw-button"];return n.size.length>0&&o.push("sw-"+n.size),n.type.length>0&&o.push("sw-"+n.type),n.round&&o.push("sw-round"),n.text&&o.push("sw-text"),n.link&&o.push("sw-link"),n.class.length>0&&o.push(n.class),o});return(o,c)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(l.value),onClick:t},[e.renderSlot(o.$slots,"default")],2))}},ne=Object.freeze(Object.defineProperty({__proto__:null,default:H},Symbol.toStringTag,{value:"Module"})),ae=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwCollapse",props:{visual:{type:Boolean,default:!0}},setup(a){e.onMounted(()=>{l.value="0px"});const n=e.ref(null),t=a;e.watch(()=>t.visual,()=>o());const l=e.ref("0px"),o=()=>{n.value&&(l.value=t.visual?n.value.scrollHeight+"px":"0px")};let c;return e.onMounted(()=>{o(),n.value&&(c=new ResizeObserver(o),c.observe(n.value))}),e.onBeforeUnmount(()=>{c&&c.disconnect()}),(k,p)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sw-collapse",{open:t.visual}]),style:e.normalizeStyle({height:l.value}),ref_key:"collapse",ref:n},[e.renderSlot(k.$slots,"default")],6))}}},Symbol.toStringTag,{value:"Module"})),se={class:"sw-data-picker"},re={class:"month_year"},ie={class:"text"},ce={key:0,class:"week"},de={key:1,class:"year"},pe=["onClick"],me={key:2,class:"month"},fe=["onClick"],ue={key:0},ge={class:"month_year"},he={class:"text"},ye={key:0,class:"week"},ke={key:1,class:"year"},_e=["onClick"],Se={key:2,class:"month"},we=["onClick"],be=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDatePicker",props:{data:Object,limitation:{type:[Boolean,Array],default:()=>!1},range:{type:String,default:"solid"}},emits:["input"],setup(a,{emit:n}){var W,G,X,J;const t=a,l=n,o=e.ref(3),c=e.ref(new Date),k=e.ref(new Date),p=e.ref(new Date().getFullYear()),d=e.ref(new Date().getMonth()),g=e.ref(new Date().getFullYear()),E=e.ref(new Date().getMonth()),w=e.ref(new Date().getMonth()+1),m=e.ref([]),y=e.ref(0),_=e.ref(-1),u=e.ref(-1),b=e.ref(navigator.languages||"ru"),h=/en|zh|ja|he/.test(b.value)?0:1,x=e.computed(()=>Array.from({length:12},(i,s)=>{const r=new Date(2024,s);return new Intl.DateTimeFormat(b.value,{month:"long"}).format(r)})),D=i=>{let s=i.split(i.match(/\D.*?\D?/));return s[0].length>2?s.join("-")+"T00:00:01":s.reverse().join("-")+"T00:00:01"};(W=t.data)!=null&&W.startDate&&(c.value=new Date(D(t.data.startDate)),p.value=c.value.getFullYear(),d.value=c.value.getMonth()),(G=t.data)!=null&&G.endDate&&t.range==="range"&&(k.value=new Date(D(t.data.endDate)),g.value=k.value.getFullYear(),E.value=k.value.getMonth());const S=()=>{m.value=[],y.value=0;const i=new Date(p.value,d.value,0);for(let r=i.getDate()-i.getDay()+h;r<=i.getDate();r++)i.getDay()!==6+h&&(m.value.push({day:r,month:i.getMonth(),year:i.getFullYear(),class:[]}),y.value++);const s=new Date(p.value,d.value+1,0).getDate();for(let r=1;r<=s;r++)m.value.push({day:r,month:d.value,year:p.value,class:[]}),y.value++;if(t.range==="range"){const r=new Date(p.value,d.value+1,1),f=new Date(p.value,d.value+2,0).getDate();for(let M=1;M<=f;M++)m.value.push({day:M,month:r.getMonth(),year:r.getFullYear(),class:[]})}$()},$=()=>{var s;if(!((s=t.data)!=null&&s.holiday))return;const i=(r,f)=>{r.forEach(M=>{const[B,C,z]=M.split("-").map(Number),O=m.value.findIndex(Y=>Y.year===B&&Y.month+1===C&&Y.day===z);O!==-1&&(m.value[O].class[0]=f)})};i(t.data.holiday.preholidays,"preholiday"),i(t.data.holiday.holidays,"weekend"),i(t.data.holiday.holiday,"holiday"),i(t.data.holiday.nowork,"nowork")},N=()=>{if(!t.limitation||t.limitation.length<2)return!1;const i=[...t.limitation].sort((s,r)=>new Date(D(s.startDate)).getTime()-new Date(D(r.startDate)).getTime());for(let s=1;s<i.length;s++){const r=new Date(D(i[s-1].endDate));if(new Date(D(i[s].startDate))<=r)return console.warn("Warning: Диапазоны пересекаются:",i[s-1],i[s]),!0}return!1},P=(i,s,r)=>{if(!t.limitation||t.limitation.length===0)return!0;const f=new Date(i,s,r).getTime();for(let M of t.limitation){const{startDate:B,endDate:C}=M;if(!B&&C){const z=new Date(D(C)).getTime();if(f<=z)return!1}if(B&&!C){const z=new Date(D(B)).getTime();if(f>=z)return!1}if(B&&C){const z=new Date(D(B)).getTime(),O=new Date(D(C)).getTime();if(z<=O){if(f>=z&&f<=O)return!1}else if(f>=z||f<=O)return!1}}return!0},L=(i,s)=>{const r=v(new Date(i.year,i.month,i.day),"{dd}.{m}.{Y}");t.range==="range"?u.value!==-1?(Je(),_.value=s,m.value[s].class[1]="active"):_.value!==-1?(u.value=s,Qe(_.value,u.value,r)):(_.value=s,m.value[s].class[1]="active"):(_.value!==-1&&(m.value[_.value].class[1]=""),_.value=s,m.value[s].class[1]="active",l("input",{dateStart:r,count:1}))},Je=()=>{m.value.forEach(i=>i.class[1]=""),_.value=-1,u.value=-1},Qe=(i,s,r)=>{let f=v(new Date(m.value[i].year,m.value[i].month,m.value[i].day),"{dd}.{m}.{Y}"),M=Ze(i,s);if(s>=i)for(let B=i+1;B<s;B++)m.value[B].class[1]="select";else for(let B=s+1;B<i;B++)m.value[B].class[1]="select";m.value[s].class[1]="active",l("input",{dateStart:f,dateEnd:r,count:M})},Ze=(i,s)=>{var B;let r=Math.abs(i-s)+1,[f,M]=[Math.min(i,s),Math.max(i,s)];for(let C=f;C<=M;C++)((B=m.value[C])==null?void 0:B.class[0])==="holiday"&&r--;return r},T=(i,s)=>{P(i,s)&&(c.value=new Date(i,s,1),p.value=c.value.getFullYear(),d.value=c.value.getMonth(),console.log(o.value),t.range==="year"&&o.value===0?L({year:i,month:s,day:1},8):S())};if(S(),N()&&console.error("Ошибка: Найдены пересекающиеся диапазоны!"),(X=t.data)!=null&&X.startDate&&(_.value=m.value.findIndex(i=>i.day===c.value.getDate()&&i.month===d.value&&i.year===p.value),_.value!==-1&&(m.value[_.value].class[1]="active")),(J=t.data)!=null&&J.endDate&&t.range==="range"&&(u.value=m.value.findIndex(i=>i.day===k.value.getDate()&&i.month===E.value&&i.year===g.value),u.value!==-1)){m.value[u.value].class[1]="active";for(let i=_.value+1;i<u.value;i++)m.value[i].class[1]="select"}return(i,s)=>(e.openBlock(),e.createElementBlock("div",se,[e.createElementVNode("div",null,[e.createElementVNode("p",re,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[0]||(s[0]=e.withModifiers(r=>T(p.value-1,d.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:s[1]||(s[1]=e.withModifiers(r=>{o.value=0,T(p.value,d.value-1)},["prevent"]))},"‹")]),e.createElementVNode("span",ie,[e.createElementVNode("button",{onClick:s[2]||(s[2]=e.withModifiers(r=>o.value=1,["prevent"]))},e.toDisplayString(p.value),1),e.createElementVNode("button",{onClick:s[3]||(s[3]=e.withModifiers(r=>o.value=1,["prevent"]))},e.toDisplayString(e.unref(v)(c.value.setMonth(d.value),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[4]||(s[4]=e.withModifiers(r=>{o.value=0,T(p.value,d.value+1)},["prevent"]))},"›"),e.createElementVNode("button",{onClick:s[5]||(s[5]=e.withModifiers(r=>T(p.value+1,d.value),["prevent"]))},"»")])]),t.range==="year"||o.value===1?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",ce,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(r,f)=>e.createElementVNode("button",{key:f,class:"disabled"},e.toDisplayString(e.unref(v)(new Date(1970,1,r+e.unref(h)),"{D}")),1)),64))])),t.range==="year"||o.value===1?(e.openBlock(),e.createElementBlock("div",de,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,(r,f)=>(e.openBlock(),e.createElementBlock("button",{key:f,onClick:e.withModifiers(M=>{o.value=0,T(p.value,f)},["prevent"])},e.toDisplayString(r),9,pe))),128))])):(e.openBlock(),e.createElementBlock("div",me,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(r,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:f},[f<y.value+(7-new Date(p.value,d.value+1,1).getDay()+e.unref(h))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(r.month===d.value&&P(r.year,r.month,r.day)?r.class:"disabled"),onClick:e.withModifiers(()=>{r.month===d.value&&L(r,f)},["prevent"])},e.toDisplayString(r.day),11,fe)):e.createCommentVNode("",!0)],64))),128))]))]),t.range==="range"?(e.openBlock(),e.createElementBlock("div",ue,[e.createElementVNode("p",ge,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[6]||(s[6]=e.withModifiers(r=>T(p.value-1,d.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:s[7]||(s[7]=e.withModifiers(r=>{o.value=0,T(p.value,d.value-1)},["prevent"]))},"‹")]),e.createElementVNode("span",he,[e.createElementVNode("button",{onClick:s[8]||(s[8]=e.withModifiers(r=>o.value=2,["prevent"]))},e.toDisplayString(new Date(p.value,d.value+1).getFullYear()),1),e.createElementVNode("button",{onClick:s[9]||(s[9]=e.withModifiers(r=>o.value=2,["prevent"]))},e.toDisplayString(e.unref(v)(c.value.setMonth(d.value+1),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:s[10]||(s[10]=e.withModifiers(r=>{o.value=0,T(p.value,d.value+1)},["prevent"]))},"›"),e.createElementVNode("button",{onClick:s[11]||(s[11]=e.withModifiers(r=>T(p.value+1,d.value),["prevent"]))},"»")])]),o.value!==2?(e.openBlock(),e.createElementBlock("div",ye,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(r,f)=>e.createElementVNode("button",{key:f,class:"disabled"},e.toDisplayString(e.unref(v)(new Date(1970,1,r+e.unref(h)),"{D}")),1)),64))])):e.createCommentVNode("",!0),o.value===2?(e.openBlock(),e.createElementBlock("div",ke,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(x.value,(r,f)=>(e.openBlock(),e.createElementBlock("button",{key:f,onClick:e.withModifiers(M=>{o.value=0,T(p.value,f-1)},["prevent"])},e.toDisplayString(r),9,_e))),128))])):(e.openBlock(),e.createElementBlock("div",Se,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.value,(r,f)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:f},[f>=y.value-(7+new Date(p.value,d.value+1,1).getDay()-e.unref(h))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(r.month===w.value&&P(r.year,r.month,r.day)?r.class:"disabled"),onClick:e.withModifiers(()=>{r.month===w.value&&L(r,f)},["prevent"])},e.toDisplayString(r.day),11,we)):e.createCommentVNode("",!0)],64))),128))]))])):e.createCommentVNode("",!0)]))}}},Symbol.toStringTag,{value:"Module"})),Be=["id"],De=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDropdown",props:e.mergeModels({class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:""},trigger:{type:String,default:"click"},placement:{type:String,default:"bottom-left"},maxWidth:{type:Number,default:0}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a,{expose:n}){const t=a;e.computed(()=>"dropdown"+Array.from(document.body.children).indexOf(document.querySelector("ul")));const l=e.useModel(a,"modelValue"),o=e.ref(null),c=e.ref(null),k=e.ref({}),p=Math.ceil(Math.random()*1e3),d=e.computed(()=>{let u=["sw-dropdown"];return t.size.length>0&&u.push("sw-"+t.size),t.type.length>0&&u.push("sw-"+t.type),u}),g=async()=>{if(await e.nextTick(),!c.value)return;const u=window.pageYOffset||document.documentElement.scrollTop,b=window.pageXOffset||document.documentElement.scrollLeft;document.body.style.position="fixed",document.body.style.top=`-${u}px`,document.body.style.left=`-${b}px`,document.body.style.position="",document.body.style.top="",document.body.style.left="",document.documentElement.scrollTop=u,document.documentElement.scrollLeft=b;const h=o.value.getBoundingClientRect(),x=c.value.offsetHeight,D=c.value.offsetWidth;console.log("popupHeight",x),console.log("popupWidth",D);let S=h.left+h.width/2+b,$=h.top+h.height/2+u;const[N,P]=t.placement.split("-",2);switch(console.log(t.placement),N){case"bottom":$=$+h.height/2+8;break;case"top":$=$-h.height/2-8-x;break;case"left":S=S-D-h.width/2-8,$=$-x/2;break;case"right":S=S+h.width/2+8,$=$-x/2;break}switch(P){case"left":S=S-h.width/2;break;case"right":S=S-D+h.width/2;break}S<0&&(S=0),$<0&&($=0),k.value={position:"absolute",top:`${$}px`,left:`${S}px`,maxWidth:t.maxWidth===0?"":`${t.maxWidth}px`}};n({positionPopup:g});const E=()=>{t.trigger==="click"&&(l.value=!l.value),l.value&&g()},w=()=>{t.trigger==="hover"&&(l.value=!l.value),l.value&&g()},m=()=>{t.trigger==="context"&&(l.value=!l.value),l.value&&g()},y=()=>{l.value&&g()},_=u=>{!u.target.closest(`[id="${p}"]`)&&o.value&&!o.value.contains(u.target)&&(l.value=!1)};return e.onMounted(()=>{window.addEventListener("resize",y),window.addEventListener("click",_)}),e.onUnmounted(()=>{window.removeEventListener("resize",y),window.removeEventListener("click",_)}),(u,b)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(d.value),onClick:b[0]||(b[0]=h=>E()),onMouseover:b[1]||(b[1]=e.withModifiers(h=>w(),["stop"])),onMouseleave:b[2]||(b[2]=e.withModifiers(h=>w(),["stop"])),onContextmenu:b[3]||(b[3]=e.withModifiers(h=>m(),["stop"])),ref_key:"dropdownRef",ref:o},[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:c,id:e.unref(p),class:e.normalizeClass(["sw-dropdown-popup",t.class]),style:e.normalizeStyle(k.value),tabindex:"-1"},[e.renderSlot(u.$slots,"dropdown")],14,Be)):e.createCommentVNode("",!0)]))],34))}}},Symbol.toStringTag,{value:"Module"})),$e=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDropdownItem",props:{class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:""},iconBefore:{type:String,default:""}},setup(a){const n=a,t=e.computed(()=>{let l=["sw-dropdown-item"];return n.size.length>0&&l.push("sw-"+n.size),n.type.length>0&&l.push("sw-"+n.type),n.class.length>0&&l.push(n.class),l});return(l,o)=>{const c=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(t.value)},[e.createVNode(c,{"icon-class":a.iconBefore},null,8,["icon-class"]),e.renderSlot(l.$slots,"default")],2)}}}},Symbol.toStringTag,{value:"Module"})),Ee=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwFormItem",props:{class:{type:String,default:""},type:{type:String,default:""}},setup(a){const n=a,t=e.computed(()=>{let l=["sw-form-item"];return n.type.length>0&&l.push("sw-"+n.type),n.class.length>0&&l.push(n.class),l});return(l,o)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value)},[e.renderSlot(l.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Me=["for"],Ce={key:0,title:"Это поле обязательно для заполнения."},Te=["required","placeholder","type","id","name"],Ve=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwInput",props:e.mergeModels({before:{type:String,default:""},after:{type:String,default:""},placeholder:{type:String,default:""},label:{type:String,default:""},name:{type:String,required:!0},class:{type:String,default:""},size:{type:String,default:""},type:{type:String,default:"text"},required:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["suffix","prefix","focusInput"],["update:modelValue"]),setup(a,{emit:n}){var m;const t=e.useModel(a,"modelValue"),l=a,o=e.ref(null),c=n,k=y=>{c("focusInput"),y.target.setSelectionRange(t.value.length,t.value.length),o.value!==null&&(o.value.style.top="-.6em")},p=y=>{var _;((_=t.value)==null?void 0:_.length)===0&&o.value!==null&&o.value.removeAttribute("style")};((m=t.value)==null?void 0:m.length)>0&&o.value!==null&&(o.value.style.top="-.6em");const d=()=>{c("suffix")},g=()=>{c("prefix")},E=e.computed(()=>{let y=["sw-input"];return l.size.length>0&&y.push("sw-"+l.size),l.class.length>0&&y.push(l.class),y});e.watch(t,(y,_)=>{l.type==="phone"&&(t.value=w(y,_))});const w=(y,_)=>{if(/^\+[0-9]\s/.test(_)&&y.length===2||/^\+0\s/.test(y))return"";const u=y;if(typeof u>"u"||u.length===0)return u;const b="+0 (___) ___-__-__";let h=0;const x=b.replace(/\D/g,""),D=u.replace(/\D/g,"");let S=b.replace(/[_\d]/g,N=>h<D.length?D.charAt(h++)||x.charAt(h):N);h=S.indexOf("_"),h!==-1&&(h=h<5?3:h,S=S.slice(0,h));let $=b.slice(0,u.length).replace(/_+/g,N=>`\\d{1,${N.length}}`).replace(/[+()]/g,"\\$&");if($=new RegExp(`^${$}$`),S=S.replace(/[-—]$|(\) )$/g,""),!$.test(u)||u.length<5)return S};return(y,_)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(E.value)},[l.before.length>0?(e.openBlock(),e.createBlock(F,{key:0,"icon-class":l.before,onClick:g},null,8,["icon-class"])):e.renderSlot(y.$slots,"prefix",{key:1}),l.label.length>0?(e.openBlock(),e.createElementBlock("label",{key:2,for:l.name,ref_key:"lab",ref:o},[e.createTextVNode(e.toDisplayString(l.label),1),l.required?(e.openBlock(),e.createElementBlock("span",Ce,"*")):e.createCommentVNode("",!0)],8,Me)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":_[0]||(_[0]=u=>t.value=u),required:l.required,placeholder:l.required&&l.label.length===0?l.placeholder+"*":l.placeholder,type:l.type,id:l.name,name:l.name,size:"60",onFocus:k,onBlur:p,maxlength:"128"},null,40,Te),[[e.vModelDynamic,t.value]]),l.after.length>0?(e.openBlock(),e.createBlock(F,{key:3,"icon-class":l.after,onClick:d},null,8,["icon-class"])):e.renderSlot(y.$slots,"suffix",{key:4})],2))}}},Symbol.toStringTag,{value:"Module"})),xe={key:0},ze=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwMessage",props:e.mergeModels({name:{type:String,default:""},class:{type:String,default:""},iconAfter:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=e.useModel(a,"modelValue"),t=a,l=e.ref(null);return(o,c)=>{const k=e.resolveComponent("svg-icon");return n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["sw-message",t.class]),ref_key:"messageRef",ref:l},[t.name.length>0?(e.openBlock(),e.createElementBlock("header",xe,[e.renderSlot(o.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createVNode(H,{link:"",type:"primary",onClick:c[0]||(c[0]=p=>n.value=!1)},{default:e.withCtx(()=>[e.createVNode(k,{"icon-class":t.iconAfter},null,8,["icon-class"])]),_:1})])])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(o.$slots,"footer")])],2)):e.createCommentVNode("",!0)}}}},Symbol.toStringTag,{value:"Module"})),Ne=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSection",props:{name:{type:String,default:""},class:{type:String,default:""},iconAfter:{type:String,default:""}},emits:["header"],setup(a,{emit:n}){const t=a,l=n,o=()=>{l("header")};return(c,k)=>{const p=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(t.class)},[e.createElementVNode("header",{onClick:o},[e.renderSlot(c.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(t.name)+" ",1),e.createVNode(p,{"icon-class":t.iconAfter},null,8,["icon-class"])])]),e.renderSlot(c.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(c.$slots,"footer")])],2)}}}},Symbol.toStringTag,{value:"Module"})),ve={class:"popup"},je={class:"wrapper"},Oe={class:"scrollbar"},Pe=["onClick"],Fe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSelect",props:e.mergeModels({class:{type:String,default:""},size:{type:String,default:"large"},placeholder:{type:String,default:""},token:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=e.ref({fullText:""}),t=e.ref(!1),l=e.ref([]),o=e.useModel(a,"modelValue"),c=a;e.watch(o.text,d=>{d.length>3&&(n.value.fullText=d)}),e.watch(n.value.fullText,(d,g)=>{t.value=d.length>3&&d.length>g.length,d.length>3&&k()});const k=()=>{let d="https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest/address";console.log(n.value.fullText),axios.post(d,{query:n.value.fullText},{headers:{"Content-Type":"application/json",Accept:"application/json",Authorization:"Token "+c.token}}).then(g=>{console.log(g.data.suggestions),l.value=g.data.suggestions,l.value.length===1&&p(l.value[0])}).catch(g=>{console.log(g)})},p=d=>{n.value.fullText=d.value,t.value=!1;const g={};g.text=d.value,g.coords=[Number(d.data.geo_lat),Number(d.data.geo_lon)],g.suggestion=d.data,o.value=g};return(d,g)=>{const E=e.resolveComponent("sw-input");return e.openBlock(),e.createElementBlock("div",ve,[e.createVNode(E,{size:c.size,modelValue:n.value.fullText,"onUpdate:modelValue":g[0]||(g[0]=w=>n.value.fullText=w),placeholder:a.placeholder},null,8,["size","modelValue","placeholder"]),e.withDirectives(e.createElementVNode("div",je,[e.createElementVNode("ul",Oe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,(w,m)=>(e.openBlock(),e.createElementBlock("li",{tabindex:"1",key:m,onClick:y=>p(w)},e.toDisplayString(w.value),9,Pe))),128))])],512),[[e.vShow,t.value]])])}}}},Symbol.toStringTag,{value:"Module"})),Ie={key:0},U={__name:"SwSkeletonItem",props:{width:{type:String,default:"100"},class:{type:String,default:""},animate:{type:Boolean,default:!1},size:{type:String,default:""}},setup(a){const n=a,t=e.computed(()=>{let o=["sw-skeleton-item"];return n.size.length>0&&o.push("sw-"+n.size),n.animate&&o.push("sw-animate"),n.class.length>0&&o.push(n.class),o}),l=e.computed(()=>({width:n.width+"%"}));return(o,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(t.value),style:e.normalizeStyle(l.value)},[n.animate?(e.openBlock(),e.createElementBlock("div",Ie)):e.createCommentVNode("",!0)],6))}},Ae=Object.freeze(Object.defineProperty({__proto__:null,default:U},Symbol.toStringTag,{value:"Module"})),Le=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSkeleton",props:{class:{type:String,default:""},visual:{type:Boolean,default:!1}},setup(a){const n=a;return(t,l)=>n.visual?e.renderSlot(t.$slots,"default",{key:0}):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["sw-skeleton",n.class])},[e.renderSlot(t.$slots,"skeleton",{},()=>[e.createVNode(U,{animate:"",size:"small"})])],2))}}},Symbol.toStringTag,{value:"Module"})),Ye=["name","id"],Re=["for","data-onlabel","data-offlabel"],qe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSwitch",props:e.mergeModels({id:{type:String,default:"checkbox"},class:{type:String,default:""},name:{type:String,default:""},on:{type:String,default:""},off:{type:String,default:""},size:{type:String,default:""},checkbox:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(a){const n=e.useModel(a,"modelValue"),t=a,l=e.computed(()=>{let o=["sw-switch"];return t.size.length>0&&o.push("sw-"+t.size),t.checkbox&&o.push("sw-checkbox"),t.class.length>0&&o.push(t.class),o});return(o,c)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value)},[e.withDirectives(e.createElementVNode("input",{type:"checkbox",name:t.name,class:"sw-control",id:t.id,"onUpdate:modelValue":c[0]||(c[0]=k=>n.value=k)},null,8,Ye),[[e.vModelCheckbox,n.value]]),e.createElementVNode("label",{for:t.id,class:"sw-label","data-onlabel":t.on,"data-offlabel":t.off},null,8,Re),e.renderSlot(o.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),He={key:0},Ue=["onClick"],We=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabs",props:e.mergeModels({class:{type:String,default:""}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["tab-click"],["update:modelValue"]),setup(a,{emit:n}){e.ref(0);const t=e.ref([]),l=a,o=e.useModel(a,"modelValue"),c=n;function k(d){t.value.push(d)}function p(d){t.value=t.value.filter(g=>g!==d)}return e.provide("registerTab",k),e.provide("unregisterTab",p),e.provide("activeTab",o),e.provide("tabs",t),(d,g)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass("sw-tabs "+l.class)},[t.value.length!==0?(e.openBlock(),e.createElementBlock("header",He,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(E,w)=>(e.openBlock(),e.createElementBlock("span",{key:w,class:e.normalizeClass([{active:o.value===w}]),onClick:m=>{o.value=w,c("tab-click",w)}},e.toDisplayString(E.label||E.title),11,Ue))),128))])):e.createCommentVNode("",!0),e.renderSlot(d.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Ge={key:0,class:"tab-content"},Xe=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPane",props:{title:{type:String,required:!0},label:{type:String,default:""}},setup(a){const n=a,t=e.inject("registerTab"),l=e.inject("unregisterTab");e.onMounted(()=>{t({title:n.title,label:n.label})}),e.onUnmounted(()=>{l({title:n.title,label:n.label})});const o=e.inject("activeTab"),c=e.inject("tabs"),k=e.computed(()=>c.value.findIndex(d=>d.title===n.title)),p=e.computed(()=>o.value===k.value);return(d,g)=>p.value?(e.openBlock(),e.createElementBlock("div",Ge,[e.renderSlot(d.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"}));V.Alert=A,V.Library=oe,V.components=I,Object.defineProperty(V,Symbol.toStringTag,{value:"Module"})});
|
package/dist/index.js
CHANGED
package/package.json
CHANGED
package/dist/SwTabs-DrhULPm8.js
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { mergeModels as u, ref as m, useModel as _, provide as r, createElementBlock as o, openBlock as a, normalizeClass as d, createCommentVNode as h, renderSlot as T, Fragment as y, renderList as S, toDisplayString as C } from "vue";
|
|
2
|
-
const V = { key: 0 }, b = ["onClick"], B = {
|
|
3
|
-
__name: "SwTabs",
|
|
4
|
-
props: /* @__PURE__ */ u({
|
|
5
|
-
name: { type: String },
|
|
6
|
-
class: { type: String, default: "" }
|
|
7
|
-
}, {
|
|
8
|
-
modelValue: {},
|
|
9
|
-
modelModifiers: {}
|
|
10
|
-
}),
|
|
11
|
-
emits: /* @__PURE__ */ u(["tab-click"], ["update:modelValue"]),
|
|
12
|
-
setup(c, { emit: p }) {
|
|
13
|
-
m(0);
|
|
14
|
-
const e = m([]), v = c, n = _(c, "modelValue"), f = p;
|
|
15
|
-
function g(s) {
|
|
16
|
-
e.value.push(s);
|
|
17
|
-
}
|
|
18
|
-
function k(s) {
|
|
19
|
-
e.value = e.value.filter((i) => i !== s);
|
|
20
|
-
}
|
|
21
|
-
return r("registerTab", g), r("unregisterTab", k), r("activeTab", n), r("tabs", e), (s, i) => (a(), o("div", {
|
|
22
|
-
class: d("sw-tabs " + v.class)
|
|
23
|
-
}, [
|
|
24
|
-
e.value.length !== 0 ? (a(), o("header", V, [
|
|
25
|
-
(a(!0), o(y, null, S(e.value, (t, l) => (a(), o("span", {
|
|
26
|
-
key: l,
|
|
27
|
-
class: d([{ active: n.value === l }]),
|
|
28
|
-
onClick: (M) => {
|
|
29
|
-
n.value = l, f("tab-click", l);
|
|
30
|
-
}
|
|
31
|
-
}, C((t == null ? void 0 : t.props.label) || (t == null ? void 0 : t.props.title)), 11, b))), 128))
|
|
32
|
-
])) : h("", !0),
|
|
33
|
-
T(s.$slots, "default")
|
|
34
|
-
], 2));
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
export {
|
|
38
|
-
B as default
|
|
39
|
-
};
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { mergeModels as i, ref as u, useModel as b, provide as a, createElementBlock as o, openBlock as r, normalizeClass as m, createElementVNode as f, renderSlot as k, Fragment as g, renderList as S, toDisplayString as _ } from "vue";
|
|
2
|
-
const h = ["onClick"], C = {
|
|
3
|
-
__name: "SwTabsNew",
|
|
4
|
-
props: /* @__PURE__ */ i({
|
|
5
|
-
name: { type: String },
|
|
6
|
-
class: { type: String, default: "" }
|
|
7
|
-
}, {
|
|
8
|
-
modelValue: {},
|
|
9
|
-
modelModifiers: {}
|
|
10
|
-
}),
|
|
11
|
-
emits: /* @__PURE__ */ i(["tab-click"], ["update:modelValue"]),
|
|
12
|
-
setup(c, { emit: p }) {
|
|
13
|
-
u(0);
|
|
14
|
-
const t = u([]), d = c, l = b(c, "modelValue"), v = p;
|
|
15
|
-
return a("activeTab", l), a("tabs", t), a("registerTab", (s) => {
|
|
16
|
-
t.value.push(s);
|
|
17
|
-
}), (s, y) => (r(), o("div", {
|
|
18
|
-
class: m("sw-tabs " + d.class)
|
|
19
|
-
}, [
|
|
20
|
-
f("header", null, [
|
|
21
|
-
(r(!0), o(g, null, S(t.value, (n, e) => (r(), o("span", {
|
|
22
|
-
key: e,
|
|
23
|
-
class: m([{ active: l.value === e }]),
|
|
24
|
-
onClick: (V) => {
|
|
25
|
-
l.value = e, v("tab-click", e);
|
|
26
|
-
}
|
|
27
|
-
}, _(n.props.label || n.props.title), 11, h))), 128))
|
|
28
|
-
]),
|
|
29
|
-
k(s.$slots, "default")
|
|
30
|
-
], 2));
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
export {
|
|
34
|
-
C as default
|
|
35
|
-
};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { inject as e, createElementBlock as i, createCommentVNode as c, unref as b, openBlock as l, renderSlot as d } from "vue";
|
|
2
|
-
const u = {
|
|
3
|
-
key: 0,
|
|
4
|
-
class: "tab-content"
|
|
5
|
-
}, m = {
|
|
6
|
-
__name: "SwTabsPaneNew",
|
|
7
|
-
props: {
|
|
8
|
-
label: { type: String, required: !0 },
|
|
9
|
-
// Текст вкладки
|
|
10
|
-
title: { type: String }
|
|
11
|
-
// Альтернативный текст (если label не задан)
|
|
12
|
-
},
|
|
13
|
-
setup(r) {
|
|
14
|
-
const s = r, t = e("registerTab");
|
|
15
|
-
if (!t)
|
|
16
|
-
throw new Error("SwTabsPane must be used inside SwTabs");
|
|
17
|
-
t({ props: s });
|
|
18
|
-
const a = e("activeTab");
|
|
19
|
-
if (!e("tabs"))
|
|
20
|
-
throw new Error("Tabs array is not provided by SwTabs");
|
|
21
|
-
const n = e("tabs").value.length - 1;
|
|
22
|
-
return (o, w) => b(a) === n ? (l(), i("div", u, [
|
|
23
|
-
d(o.$slots, "default")
|
|
24
|
-
])) : c("", !0);
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
export {
|
|
28
|
-
m as default
|
|
29
|
-
};
|