@studio-west/component-sw 0.1.40 → 0.1.42

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.
@@ -0,0 +1,87 @@
1
+ import { ref as c, computed as R, onMounted as E, createElementBlock as h, openBlock as r, withModifiers as W, normalizeClass as g, renderSlot as w, createBlock as $, Teleport as C, createCommentVNode as L, normalizeStyle as B, nextTick as T } from "vue";
2
+ const O = {
3
+ __name: "SwDropdown",
4
+ props: {
5
+ class: { type: String, default: "" },
6
+ size: { type: String, default: "" },
7
+ type: { type: String, default: "" },
8
+ trigger: { type: String, default: "click" },
9
+ placement: { type: String, default: "bottom-left" },
10
+ maxWidth: { type: Number, default: 0 }
11
+ },
12
+ setup(v) {
13
+ const l = v, a = c(!1), s = c(null), n = c(null), u = c({}), y = R(
14
+ () => {
15
+ let e = ["sw-dropdown"];
16
+ return l.size.length > 0 && e.push("sw-" + l.size), l.type.length > 0 && e.push("sw-" + l.type), e;
17
+ }
18
+ ), d = async () => {
19
+ if (await T(), !n.value) return;
20
+ s.value.focus(), s.value.addEventListener("blur", () => a.value = !1);
21
+ const e = s.value.getBoundingClientRect(), i = window.pageYOffset || document.documentElement.scrollTop, f = window.pageXOffset || document.documentElement.scrollLeft, p = n.value.offsetHeight, m = n.value.offsetWidth;
22
+ let t = e.left + e.width / 2 + f, o = e.bottom - e.height / 2 + i;
23
+ const [S, z] = l.placement.split("-", 2);
24
+ switch (console.log(l.placement), S) {
25
+ case "bottom":
26
+ o = o + e.height / 2 + 8;
27
+ break;
28
+ case "top":
29
+ o = o - e.height / 2 - 8 - p;
30
+ break;
31
+ case "left":
32
+ t = t - m - e.width / 2 - 10, o = o - p / 2;
33
+ break;
34
+ case "right":
35
+ t = t + e.width / 2 + 8, o = o - p / 2;
36
+ break;
37
+ }
38
+ switch (z) {
39
+ case "left":
40
+ t = t - m + e.width / 2;
41
+ break;
42
+ case "right":
43
+ t = t - e.width / 2;
44
+ break;
45
+ }
46
+ t < 0 && (t = 0), o < 0 && (o = 0), u.value = {
47
+ position: "absolute",
48
+ top: `${o}px`,
49
+ left: `${t}px`,
50
+ maxWidth: l.maxWidth === 0 ? "" : `${l.maxWidth}px`
51
+ };
52
+ }, k = async () => {
53
+ a.value = !a.value, a.value && await d();
54
+ }, b = () => {
55
+ a.value && d();
56
+ }, x = (e) => {
57
+ // dropdownRef.value &&
58
+ // !dropdownRef.value.contains(event.target) &&
59
+ n.value && n.value.contains(e.target), console.log(n.value && !n.value.contains(e.target)), console.log(s.value && !s.value.contains(e.target));
60
+ };
61
+ return E(() => {
62
+ s.value.addEventListener("click", x, !0), window.addEventListener("resize", b);
63
+ }), (e, i) => (r(), h("div", {
64
+ class: g(y.value),
65
+ onClick: i[0] || (i[0] = W((f) => k(), ["stop"])),
66
+ ref_key: "dropdownRef",
67
+ ref: s
68
+ }, [
69
+ w(e.$slots, "default"),
70
+ (r(), $(C, { to: "body" }, [
71
+ a.value ? (r(), h("ul", {
72
+ key: 0,
73
+ ref_key: "popupRef",
74
+ ref: n,
75
+ class: g(["sw-dropdown-popup", l.class]),
76
+ style: B(u.value),
77
+ tabindex: "-1"
78
+ }, [
79
+ w(e.$slots, "dropdown")
80
+ ], 6)) : L("", !0)
81
+ ]))
82
+ ], 2));
83
+ }
84
+ };
85
+ export {
86
+ O as default
87
+ };
@@ -4,7 +4,7 @@ const m = {
4
4
  props: {
5
5
  class: { type: String, default: "" },
6
6
  type: { type: String, default: "" }
7
- // start, end, around
7
+ // start, end, around, center
8
8
  },
9
9
  setup(s) {
10
10
  const t = s, l = r(
@@ -1 +1 @@
1
- :root{--sw-color-default: #DFDFDF;--sw-color-primary: #3EAF4E;--sw-color-success: #FFE603;--sw-color-info: #C0C0C0;--sw-color-warning: #FF7A00;--sw-color-danger: #CC2D4A;--sw-color-preholiday: #FFE78070;--sw-color-weekend: #ff808070;--sw-color-select: #007bff70;--sw-color-holiday: #ff0000;--sw-color-nowork: #ff0000;--sw-color-active: #007bff;--sw-text-color-primary: #333333;--sw-text-color-secondary: #4C4C4C;--sw-text-color-third: #818181;--sw-text-color-revers: white;--sw-bg-color: #f4f4f4;--sw-bg-color-page: white;--sw-bg-color-second: #FAFAFA;--sw-border-color: #D6D6D6;--sw-border-color-input: #CECECE;--sw-font-size: 1rem;--sw-font-size-small: .875rem;--sw-font-size-large: 1.125rem;--sw-font-size-big: 2.8rem;--sw-border-radius: .625rem;--sw-border-round: 3.625rem;--sw-component-size-base: 3rem;--sw-component-size-small: 1.625rem;--sw-component-size-large: 3.5rem;--sw-component-size-big: 10.5rem;font-family:Montserrat,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--sw-text-color-primary);background-color:var(--sw-bg-color);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme: dark){:root{--sw-color-default: #4E4E4E;--sw-color-primary: #38A151;--sw-color-success: #FFE603;--sw-color-info: #808185;--sw-color-warning: #FF7A00;--sw-color-danger: #CC2D4A;--sw-text-color-primary: white;--sw-text-color-secondary: #FAFAFA;--sw-text-color-third: #FAFAFA;--sw-text-color-revers: white;--sw-bg-color: #182127;--sw-bg-color-page: #323741;--sw-bg-color-second: #232832;--sw-border-color: #4E4E4E;--sw-border-color-input: #5C5E63;--sw-shadow: 0 100px 80px rgba(0, 0, 0, .03), 0 41.7776px 33.4221px rgba(0, 0, 0, .0215656), 0 22.3363px 17.869px rgba(0, 0, 0, .0178832), 0 12.5216px 10.0172px rgba(0, 0, 0, .015), 0 6.6501px 5.32008px rgba(0, 0, 0, .0121168), 0 2.76726px 2.21381px rgba(0, 0, 0, .00843437)}}.sw-tabs{-webkit-user-select:none;user-select:none}.sw-tabs>header{display:flex;border-bottom:2px solid var(--sw-color-info);color:var(--sw-color-info);-webkit-user-select:none;user-select:none;font-size:var(--sw-font-size-small);font-weight:400;margin-bottom:1.25rem;transition:all .6s ease-out}.sw-tabs>header span{position:relative;top:2px;border-radius:0;padding:5px;cursor:pointer;border:none;background:none;outline:none}.sw-tabs>header span.active{border-bottom:2px solid var(--sw-color-primary);color:var(--sw-color-primary);font-weight:700}.sw-tabs>header span:hover:not(.active){color:var(--sw-border-color)}.sw-input{display:flex;align-items:center;position:relative;gap:0 1.75rem;padding:0 1.2em;border:1px solid var(--sw-border-color-input);border-radius:var(--sw-border-radius)}.sw-input input{line-height:var(--sw-component-size-base);border:none;width:100%;font-size:var(--sw-font-size-large);background:none;outline:none}.sw-input .svg-icon{font-size:20px;color:var(--sw-text-color-third)}.sw-input>svg+label{left:4rem}.sw-input.sw-small input{line-height:var(--sw-component-size-small)}.sw-input.sw-large input{line-height:var(--sw-component-size-large)}.sw-button{border-radius:1rem;border:1px solid var(--sw-color-default);padding:0 1.2em;min-height:var(--sw-component-size-base);font-size:var(--sw-font-size);font-weight:500;cursor:pointer;transition:border-color .25s;background-color:var(--sw-color-default);color:var(--sw-text-color-revers)}.sw-form-item{display:flex;justify-content:space-between;font-size:var(--sw-font-size-small);color:var(--sw-text-color-secondary);gap:1rem}.sw-form-item.sw-start{justify-content:flex-start}.sw-form-item.sw-end{justify-content:flex-end}.sw-form-item.sw-around{justify-content:space-around}.sw-dropdown{position:relative;display:inline-block}.sw-dropdown-popup{z-index:3;padding:8px;min-width:200px;margin:0;background-color:var(--sw-bg-color-second);border:1px solid var(--sw-border-color);border-radius:4px;box-shadow:0 2px 8px #0000001a}.sw-dropdown-item{display:block}.sw-dropdown-item svg{margin-right:.5rem}.sw-dropdown-item:hover{color:var(--sw-color-primary)}.sw-collapse{transition:all .3s ease-out;overflow:hidden;box-sizing:border-box;margin:0}.sw-switch{display:inline-flex;align-items:center;box-sizing:border-box;-webkit-user-select:none;user-select:none}.sw-switch>input{display:none}.sw-switch>input:checked+label{background-color:var(--sw-color-primary)}.sw-switch>input:checked+label:before{color:var(--sw-text-color-revers);content:attr(data-onlabel);left:.5rem;right:auto}.sw-switch>input:checked+label:after{background:#f7f7f7;left:2.125rem}.sw-switch>label{background-color:var(--sw-color-info);border-radius:1rem;cursor:pointer;flex:0 0 4rem;height:1.75rem;margin:.5rem;position:relative;transition:all .3s;width:4rem}.sw-switch>label:before{color:var(--sw-text-color-revers);content:attr(data-offlabel);display:block;font-size:1rem;position:absolute;right:.5rem;transition:all .3s}.sw-switch>label:after{background:var(--sw-text-color-revers);border:1px solid var(--sw-color-info);border-radius:50%;content:"";height:2rem;left:-.125rem;position:absolute;top:-.125rem;transition:all .3s;width:2rem}.sw-switch.sw-small>label{width:3.125rem;flex:0 0 3.125rem}.sw-switch.sw-small>label:before{content:""}.sw-switch.sw-small>label:after{content:"";left:.15rem;top:.125rem;width:1.375rem;height:1.375rem}.sw-switch.sw-small>input:checked+label:before{content:""}.sw-switch.sw-small>input:checked+label:after{left:1.475rem}.sw-skeleton{display:flex;gap:.5rem;flex-wrap:wrap;align-items:flex-end}.sw-skeleton-item{min-height:var(--sw-component-size-base);width:100%;background:var(--sw-bg-color-second);border-radius:var(--sw-border-radius);border:1px solid var(--sw-bg-color);box-sizing:border-box;overflow:hidden;position:relative}.sw-skeleton-item>div{height:100%;width:10px;background:var(--sw-border-color-input);display:inline-block;animation:sw-skeleton 3s linear infinite normal;position:absolute;transform:skew(-20deg);box-shadow:0 0 20px 20px var(--sw-border-color-input)}.sw-message{position:fixed;z-index:3;background-color:var(--sw-bg-color-page);border:1px solid var(--sw-border-color);border-radius:var(--sw-border-radius);padding:1.875rem;box-sizing:border-box;top:50%;left:50%;transform:translateY(-50%) translate(-50%);min-width:20rem;max-width:95%;max-height:95%}.sw-message>header{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.sw-message>footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.sw-modal-footer{margin-top:1rem;display:flex;gap:.5rem;justify-content:flex-end}.sw-data-picker{display:flex}.sw-data-picker .month_year{display:flex;justify-content:space-around;align-items:center}.sw-data-picker .month_year span:not(.text) button{font-size:1.3em}.sw-data-picker>div:not(:first-child){margin-left:2rem}.sw-data-picker button{height:30px;text-align:center;line-height:30px;cursor:pointer;background:none;border:none;border-radius:.2rem;transition:all .3s ease}.sw-data-picker button:hover:not(.disabled):not(.active){color:var(--sw-color-primary)}.sw-data-picker .week{border-bottom:1px solid var(--sw-color-info);margin-bottom:.5rem}.sw-data-picker .month,.sw-data-picker .week{width:250px;display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr;gap:.2rem}.sw-data-picker .month>button,.sw-data-picker .week>button{width:30px}.sw-data-picker .month>button.disabled,.sw-data-picker .week>button.disabled{color:var(--el-color-info);cursor:not-allowed}.sw-data-picker .month>button.preholiday,.sw-data-picker .week>button.preholiday{background-color:var(--sw-color-preholiday)}.sw-data-picker .month>button.weekend,.sw-data-picker .week>button.weekend{background-color:var(--sw-color-weekend)}.sw-data-picker .month>button.select,.sw-data-picker .week>button.select{background-color:var(--sw-color-select)}.sw-data-picker .month>button.holiday,.sw-data-picker .week>button.holiday{background-color:var(--sw-color-holiday)}.sw-data-picker .month>button.nowork,.sw-data-picker .week>button.nowork{background-color:var(--sw-color-nowork)}.sw-data-picker .month>button.active,.sw-data-picker .week>button.active{background-color:var(--sw-color-active)}.sw-round{border-radius:var(--sw-border-round)}.sw-small{min-height:var(--sw-component-size-small)}.sw-large{min-height:var(--sw-component-size-large)}.sw-big{min-height:var(--sw-component-size-big)}.sw-primary{background-color:var(--sw-color-primary);border-color:var(--sw-color-primary)}.sw-success{background-color:var(--sw-color-success);border-color:var(--sw-color-success)}.sw-info{background-color:var(--sw-color-info);border-color:var(--sw-color-info)}.sw-warning{background-color:var(--sw-color-warning);border-color:var(--sw-color-warning)}.sw-danger{background-color:var(--sw-color-danger);border-color:var(--sw-color-danger)}.sw-text{color:var(--sw-color-default);background:none}.sw-text.sw-primary{color:var(--sw-color-primary)}.sw-text.sw-success{color:var(--sw-color-success)}.sw-text.sw-info{color:var(--sw-color-info)}.sw-text.sw-warning{color:var(--sw-color-warning)}.sw-text.sw-danger{color:var(--sw-color-danger)}.sw-link{background:none;border:none;padding:0;color:var(--sw-text-color-secondary);min-height:1em}.sw-link:hover.sw-primary{color:var(--sw-color-primary)}.sw-link:hover.sw-success{color:var(--sw-color-success)}.sw-link:hover.sw-info{color:var(--sw-color-info)}.sw-link:hover.sw-warning{color:var(--sw-color-warning)}.sw-link:hover.sw-danger{color:var(--sw-color-danger)}@keyframes sw-skeleton{0%{left:-50px}to{left:calc(50px + 100%)}}
1
+ :root{--sw-color-default: #DFDFDF;--sw-color-primary: #3EAF4E;--sw-color-success: #FFE603;--sw-color-info: #C0C0C0;--sw-color-warning: #FF7A00;--sw-color-danger: #CC2D4A;--sw-color-preholiday: #FFE78070;--sw-color-weekend: #ff808070;--sw-color-select: #007bff70;--sw-color-holiday: #ff0000;--sw-color-nowork: #ff0000;--sw-color-active: #007bff;--sw-text-color-primary: #333333;--sw-text-color-secondary: #4C4C4C;--sw-text-color-third: #818181;--sw-text-color-revers: white;--sw-bg-color: #f4f4f4;--sw-bg-color-page: white;--sw-bg-color-second: #FAFAFA;--sw-border-color: #D6D6D6;--sw-border-color-input: #CECECE;--sw-font-size: 1rem;--sw-font-size-small: .875rem;--sw-font-size-large: 1.125rem;--sw-font-size-big: 2.8rem;--sw-border-radius: .625rem;--sw-border-round: 3.625rem;--sw-component-size-base: 3rem;--sw-component-size-small: 1.625rem;--sw-component-size-large: 3.5rem;--sw-component-size-big: 10.5rem;font-family:Montserrat,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:var(--sw-text-color-primary);background-color:var(--sw-bg-color);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme: dark){:root{--sw-color-default: #4E4E4E;--sw-color-primary: #38A151;--sw-color-success: #FFE603;--sw-color-info: #808185;--sw-color-warning: #FF7A00;--sw-color-danger: #CC2D4A;--sw-text-color-primary: white;--sw-text-color-secondary: #FAFAFA;--sw-text-color-third: #FAFAFA;--sw-text-color-revers: white;--sw-bg-color: #182127;--sw-bg-color-page: #323741;--sw-bg-color-second: #232832;--sw-border-color: #4E4E4E;--sw-border-color-input: #5C5E63;--sw-shadow: 0 100px 80px rgba(0, 0, 0, .03), 0 41.7776px 33.4221px rgba(0, 0, 0, .0215656), 0 22.3363px 17.869px rgba(0, 0, 0, .0178832), 0 12.5216px 10.0172px rgba(0, 0, 0, .015), 0 6.6501px 5.32008px rgba(0, 0, 0, .0121168), 0 2.76726px 2.21381px rgba(0, 0, 0, .00843437)}}.sw-tabs{-webkit-user-select:none;user-select:none}.sw-tabs>header{display:flex;border-bottom:2px solid var(--sw-color-info);color:var(--sw-color-info);-webkit-user-select:none;user-select:none;font-size:var(--sw-font-size-small);font-weight:400;margin-bottom:1.25rem;transition:all .6s ease-out}.sw-tabs>header span{position:relative;top:2px;border-radius:0;padding:5px;cursor:pointer;border:none;background:none;outline:none}.sw-tabs>header span.active{border-bottom:2px solid var(--sw-color-primary);color:var(--sw-color-primary);font-weight:700}.sw-tabs>header span:hover:not(.active){color:var(--sw-border-color)}.sw-input{display:flex;align-items:center;position:relative;gap:0 1.75rem;padding:0 1.2em;border:1px solid var(--sw-border-color-input);border-radius:var(--sw-border-radius)}.sw-input input{line-height:var(--sw-component-size-base);border:none;width:100%;font-size:var(--sw-font-size-large);background:none;outline:none}.sw-input .svg-icon{font-size:20px;color:var(--sw-text-color-third)}.sw-input>svg+label{left:4rem}.sw-input.sw-small input{line-height:var(--sw-component-size-small)}.sw-input.sw-large input{line-height:var(--sw-component-size-large)}.sw-button{border-radius:1rem;border:1px solid var(--sw-color-default);padding:0 1.2em;min-height:var(--sw-component-size-base);font-size:var(--sw-font-size);font-weight:500;cursor:pointer;transition:border-color .25s;background-color:var(--sw-color-default);color:var(--sw-text-color-revers)}.sw-form-item{display:flex;justify-content:space-between;font-size:var(--sw-font-size-small);color:var(--sw-text-color-secondary);gap:1rem}.sw-form-item.sw-start{justify-content:flex-start}.sw-form-item.sw-end{justify-content:flex-end}.sw-form-item.sw-around{justify-content:space-around}.sw-form-item.sw-center{justify-content:center}.sw-dropdown{position:relative;display:inline-block}.sw-dropdown-popup{z-index:3;padding:8px;min-width:200px;margin:0;background-color:var(--sw-bg-color-second);border:1px solid var(--sw-border-color);border-radius:4px;box-shadow:0 2px 8px #0000001a}.sw-dropdown-item{display:block}.sw-dropdown-item svg{margin-right:.5rem}.sw-dropdown-item:hover{color:var(--sw-color-primary)}.sw-collapse{transition:all .3s ease-out;overflow:hidden;box-sizing:border-box;margin:0}.sw-switch{display:inline-flex;align-items:center;box-sizing:border-box;-webkit-user-select:none;user-select:none}.sw-switch>input{display:none}.sw-switch>input:checked+label{background-color:var(--sw-color-primary)}.sw-switch>input:checked+label:before{color:var(--sw-text-color-revers);content:attr(data-onlabel);left:.5rem;right:auto}.sw-switch>input:checked+label:after{background:#f7f7f7;left:2.125rem}.sw-switch>label{background-color:var(--sw-color-info);border-radius:1rem;cursor:pointer;flex:0 0 4rem;height:1.75rem;margin:.5rem;position:relative;transition:all .3s;width:4rem}.sw-switch>label:before{color:var(--sw-text-color-revers);content:attr(data-offlabel);display:block;font-size:1rem;position:absolute;right:.5rem;transition:all .3s}.sw-switch>label:after{background:var(--sw-text-color-revers);border:1px solid var(--sw-color-info);border-radius:50%;content:"";height:2rem;left:-.125rem;position:absolute;top:-.125rem;transition:all .3s;width:2rem}.sw-switch.sw-small>label{width:3.125rem;flex:0 0 3.125rem}.sw-switch.sw-small>label:before{content:""}.sw-switch.sw-small>label:after{content:"";left:.15rem;top:.125rem;width:1.375rem;height:1.375rem}.sw-switch.sw-small>input:checked+label:before{content:""}.sw-switch.sw-small>input:checked+label:after{left:1.475rem}.sw-skeleton{display:flex;gap:.5rem;flex-wrap:wrap;align-items:flex-end}.sw-skeleton-item{min-height:var(--sw-component-size-base);width:100%;background:var(--sw-bg-color-second);border-radius:var(--sw-border-radius);border:1px solid var(--sw-bg-color);box-sizing:border-box;overflow:hidden;position:relative}.sw-skeleton-item>div{height:100%;width:10px;background:var(--sw-border-color-input);display:inline-block;animation:sw-skeleton 3s linear infinite normal;position:absolute;transform:skew(-20deg);box-shadow:0 0 20px 20px var(--sw-border-color-input)}.sw-message{position:fixed;z-index:3;background-color:var(--sw-bg-color-page);border:1px solid var(--sw-border-color);border-radius:var(--sw-border-radius);padding:1.875rem;box-sizing:border-box;top:50%;left:50%;transform:translateY(-50%) translate(-50%);min-width:20rem;max-width:95%;max-height:95%}.sw-message>header{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.sw-message>footer{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.sw-modal-footer{margin-top:1rem;display:flex;gap:.5rem;justify-content:flex-end}.sw-data-picker{display:flex}.sw-data-picker .month_year{display:flex;justify-content:space-around;align-items:center}.sw-data-picker .month_year span:not(.text) button{font-size:1.3em}.sw-data-picker>div:not(:first-child){margin-left:2rem}.sw-data-picker button{height:30px;text-align:center;line-height:30px;cursor:pointer;background:none;border:none;border-radius:.2rem;transition:all .3s ease}.sw-data-picker button:hover:not(.disabled):not(.active){color:var(--sw-color-primary)}.sw-data-picker .week{border-bottom:1px solid var(--sw-color-info);margin-bottom:.5rem}.sw-data-picker .month,.sw-data-picker .week{width:250px;display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr;gap:.2rem}.sw-data-picker .month>button,.sw-data-picker .week>button{width:30px}.sw-data-picker .month>button.disabled,.sw-data-picker .week>button.disabled{color:var(--el-color-info);cursor:not-allowed}.sw-data-picker .month>button.preholiday,.sw-data-picker .week>button.preholiday{background-color:var(--sw-color-preholiday)}.sw-data-picker .month>button.weekend,.sw-data-picker .week>button.weekend{background-color:var(--sw-color-weekend)}.sw-data-picker .month>button.select,.sw-data-picker .week>button.select{background-color:var(--sw-color-select)}.sw-data-picker .month>button.holiday,.sw-data-picker .week>button.holiday{background-color:var(--sw-color-holiday)}.sw-data-picker .month>button.nowork,.sw-data-picker .week>button.nowork{background-color:var(--sw-color-nowork)}.sw-data-picker .month>button.active,.sw-data-picker .week>button.active{background-color:var(--sw-color-active)}.sw-round{border-radius:var(--sw-border-round)}.sw-small{min-height:var(--sw-component-size-small)}.sw-large{min-height:var(--sw-component-size-large)}.sw-big{min-height:var(--sw-component-size-big)}.sw-primary{background-color:var(--sw-color-primary);border-color:var(--sw-color-primary)}.sw-success{background-color:var(--sw-color-success);border-color:var(--sw-color-success)}.sw-info{background-color:var(--sw-color-info);border-color:var(--sw-color-info)}.sw-warning{background-color:var(--sw-color-warning);border-color:var(--sw-color-warning)}.sw-danger{background-color:var(--sw-color-danger);border-color:var(--sw-color-danger)}.sw-text{color:var(--sw-color-default);background:none}.sw-text.sw-primary{color:var(--sw-color-primary)}.sw-text.sw-success{color:var(--sw-color-success)}.sw-text.sw-info{color:var(--sw-color-info)}.sw-text.sw-warning{color:var(--sw-color-warning)}.sw-text.sw-danger{color:var(--sw-color-danger)}.sw-link{background:none;border:none;padding:0;color:var(--sw-text-color-secondary);min-height:1em}.sw-link:hover.sw-primary{color:var(--sw-color-primary)}.sw-link:hover.sw-success{color:var(--sw-color-success)}.sw-link:hover.sw-info{color:var(--sw-color-info)}.sw-link:hover.sw-warning{color:var(--sw-color-warning)}.sw-link:hover.sw-danger{color:var(--sw-color-danger)}@keyframes sw-skeleton{0%{left:-50px}to{left:calc(50px + 100%)}}
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- (function(B,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(B=typeof globalThis<"u"?globalThis:B||self,e(B["component-sw"]={},B.vue))})(this,function(B,e){"use strict";const z=Object.assign({"./components/SwButton.vue":()=>Promise.resolve().then(()=>q),"./components/SwCollapse.vue":()=>Promise.resolve().then(()=>W),"./components/SwDataPicker.vue":()=>Promise.resolve().then(()=>se),"./components/SwDropdown.vue":()=>Promise.resolve().then(()=>re),"./components/SwDropdownItem.vue":()=>Promise.resolve().then(()=>ie),"./components/SwFormItem.vue":()=>Promise.resolve().then(()=>ce),"./components/SwInput.vue":()=>Promise.resolve().then(()=>he),"./components/SwMessage.vue":()=>Promise.resolve().then(()=>ye),"./components/SwSection.vue":()=>Promise.resolve().then(()=>_e),"./components/SwSkeleton.vue":()=>Promise.resolve().then(()=>ke),"./components/SwSkeletonItem.vue":()=>Promise.resolve().then(()=>be),"./components/SwSwitch.vue":()=>Promise.resolve().then(()=>Be),"./components/SwTabs.vue":()=>Promise.resolve().then(()=>Ve),"./components/SwTabsNew.vue":()=>Promise.resolve().then(()=>Te),"./components/SwTabsPane.vue":()=>Promise.resolve().then(()=>Ce),"./components/SwTabsPaneNew.vue":()=>Promise.resolve().then(()=>ve)}),T={};for(const a in z){const n=a.split("/").pop().replace(".vue","").replace(/-(\w)/g,(o,l)=>l.toUpperCase());T[n]=e.defineAsyncComponent(()=>z[a]())}const H={install(a){Object.keys(T).forEach(n=>{a.component(n,T[n]),console.log(n)})}},v={__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,o=()=>{if(n.href.length>0){const t=document.createElement("a");t.setAttribute("href",n.href),t.setAttribute("target","_blank"),t.click()}},l=e.computed(()=>{let t=["sw-button"];return n.size.length>0&&t.push("sw-"+n.size),n.type.length>0&&t.push("sw-"+n.type),n.round&&t.push("sw-round"),n.text&&t.push("sw-text"),n.link&&t.push("sw-link"),n.class.length>0&&t.push(n.class),t});return(t,u)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(l.value),onClick:o},[e.renderSlot(t.$slots,"default")],2))}},q=Object.freeze(Object.defineProperty({__proto__:null,default:v},Symbol.toStringTag,{value:"Module"})),W=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("0px"),o=a,l=e.computed(()=>o.visual?`${n.value.scrollHeight}px`:"0px");return(t,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sw-collapse",{open:o.visual}]),style:e.normalizeStyle({height:l.value}),ref_key:"collapse",ref:n},[e.renderSlot(t.$slots,"default")],6))}}},Symbol.toStringTag,{value:"Module"}));function U(a){return/^(https?:|mailto:|tel:)/.test(a)}function M(a,n){if(arguments.length===0||!a)return null;const o=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 t="ru-RU",u={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(t,{weekday:"short"}).format(l),F:new Intl.DateTimeFormat(t,{month:"long"}).format(l),M:new Intl.DateTimeFormat(t,{month:"short"}).format(l)};return o.replace(/{(dd|[YmdGHisDFM])+}/g,(c,E)=>u[E])}const G={class:"sw-data-picker"},X={class:"month_year"},J={class:"text"},K={class:"week"},Q={class:"month"},Z=["onClick"],ee={key:0},te={class:"month_year"},le={class:"text"},ne={class:"week"},oe={class:"month"},ae=["onClick"],se=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDataPicker",props:{data:Object,limitation:{type:[Boolean,Array],default:()=>!1},range:{type:String,default:()=>"solid"}},emits:["input"],setup(a,{emit:n}){var I,F,Y,L,R,A;const o=e.ref(new Date),l=e.ref(new Date),t=a,u=n,c=e.ref(new Date().getFullYear()),E=e.ref(new Date().getMonth()),D=e.ref(new Date().getFullYear()),p=e.ref(new Date().getMonth()),d=e.ref([]),m=e.ref(0),y=e.ref(0),g=e.ref(-1),w=e.ref(-1),N=e.ref(navigator.languages||"ru"),S=/en|zh|ja|he/.test(N.value)?0:1,b=t.range==="range"?2:1,$=f=>{const r=f.split(f.match(/\D.*?\D?/));return r[0].length>2?r.join("-")+"T00:00:01":r.reverse().join("-")+"T00:00:01"};typeof((I=t.data)==null?void 0:I.startDate)<"u"&&((F=t.data)==null?void 0:F.startDate)!==null&&(o.value=new Date($(t.data.startDate)),c.value=o.value.getFullYear(),p.value=o.value.getMonth()),typeof((Y=t.data)==null?void 0:Y.endDate)<"u"&&((L=t.data)==null?void 0:L.endDate)!==null&&(l.value=new Date($(t.data.endDate)),D.value=l.value.getFullYear(),E.value=l.value.getMonth());const C=()=>{var s;let f=new Date(c.value,p.value,0);for(let i=f.getDate()-f.getDay()+S;i<=f.getDate()&&f.getDay()!==6+S;i++)m.value++,d.value.push({day:i,month:f.getMonth(),year:f.getFullYear(),class:[]});for(let i=1;i<=new Date(c.value,p.value+1,0).getDate();i++)m.value++,d.value.push({day:i,month:p.value,year:c.value,class:[]});if(t.range==="range"){y.value=new Date(c.value,p.value+2,0);for(let i=1;i<=y.value.getDate();i++)d.value.push({day:i,month:y.value.getMonth(),year:y.value.getFullYear(),class:[]})}let r=new Date(c.value,p.value+b,1);console.log(r.getDay());for(let i=1;i<=(7-r.getDay()+S)%7&&r.getDay()!==S;i++)d.value.push({day:i,month:r.getMonth(),year:r.getFullYear(),class:[]});typeof((s=t.data)==null?void 0:s.holiday)<"u"&&t.data.holiday.length!==0&&(t.data.holiday.preholidays.forEach(i=>{let h=i.split("-");const k=d.value.findIndex(_=>_.year==h[0]&&_.month+1==h[1]&&_.day==h[2]);k!==-1&&(d.value[k].class[0]="preholiday")}),t.data.holiday.holidays.forEach(i=>{let h=i.split("-");const k=d.value.findIndex(_=>_.year==h[0]&&_.month+1==h[1]&&_.day==h[2]);k!==-1&&(d.value[k].class[0]="weekend")}),t.data.holiday.holiday.forEach(i=>{let h=i.split("-");const k=d.value.findIndex(_=>_.year==h[0]&&_.month+1==h[1]&&_.day==h[2]);k!==-1&&(d.value[k].class[0]="holiday")}),t.data.holiday.nowork.forEach(i=>{let h=i.split("-");const k=d.value.findIndex(_=>_.year==h[0]&&_.month+1==h[1]&&_.day==h[2]);k!==-1&&(d.value[k].class[0]="nowork")}))},x=(f,r)=>{let s=f-r+1;for(let i=0;i<=f-r;i++)d.value[i+r].class[0]==="holiday"&&s--;return s},O=(f,r)=>{console.log(r);const s=M(new Date(f.year,f.month,f.day),"{dd}.{m}.{Y}");if(t.range==="range")if(console.log(g.value),w.value!==-1){if(w.value<=g.value)for(let i=w.value;i<=g.value;i++)d.value[i].class[1]="";else for(let i=g.value;i<=w.value;i++)d.value[i].class[1]="";g.value=r,w.value=-1,d.value[r].class[1]="active"}else if(g.value!==-1){if(w.value=r,w.value>=g.value)for(let h=g.value+1;h<r;h++)d.value[h].class[1]="select";else for(let h=r+1;h<g.value;h++)d.value[h].class[1]="select";d.value[r].class[1]="active";let i=M(new Date(d.value[g.value].year,d.value[g.value].month,d.value[g.value].day),"{dd}.{m}.{Y}");g.value>r?u("input",{dateStart:s,dateEnd:i,count:x(g.value,r)}):u("input",{dateStart:i,dateEnd:s,count:x(r,g.value)})}else g.value=r,d.value[r].class[1]="active";else g.value!==-1&&(d.value[g.value].class[1]=""),g.value=r,d.value[r].class[1]="active",u("input",{dateStart:s,count:1})};if(C(),typeof((R=t.data)==null?void 0:R.startDate)<"u"&&(g.value=d.value.findIndex(f=>f.day===o.value.getDate()&&f.month===p.value&&f.year===c.value),d.value[g.value].class[1]="active"),typeof((A=t.data)==null?void 0:A.endDate)<"u"&&t.range==="range"){w.value=d.value.findIndex(f=>f.day===l.value.getDate()&&f.month===E.value&&f.year===D.value),d.value[w.value].class[1]="active";for(let f=g.value+1;f<w.value;f++)d.value[f].class[1]="select"}const V=(f,r)=>{Pe(f,r)&&(d.value=[],m.value=0,o.value=new Date(f,r,1),c.value=o.value.getFullYear(),p.value=o.value.getMonth(),C())},Pe=(f,r)=>{if(!t.limitation)return!0;if(t.limitation[0].dateStart){console.log(t.limitation[0].dateStart);let s=t.limitation[0].dateStart.split(t.limitation[0].dateStart.match(/\D.*?\D?/));if(s[0].length>2&&s.reverse(),parseInt(s[2])>f||parseInt(s[2])===f&&parseInt(s[1])>r+1)return!1}if(t.limitation[t.limitation.length-1].dateEnd){console.log(t.limitation[t.limitation.length-1].dateEnd);let s=t.limitation[t.limitation.length-1].dateEnd.split(t.limitation[t.limitation.length-1].dateEnd.match(/\D.*?\D?/));if(s[0].length>2&&s.reverse(),parseInt(s[2])<f||parseInt(s[2])===f&&parseInt(s[1])<r+b)return!1}return!0};return(f,r)=>(e.openBlock(),e.createElementBlock("div",G,[e.createElementVNode("div",null,[e.createElementVNode("p",X,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:r[0]||(r[0]=e.withModifiers(s=>V(c.value-1,p.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:r[1]||(r[1]=e.withModifiers(s=>V(c.value,p.value-1),["prevent"]))},"‹")]),e.createElementVNode("span",J,[e.createElementVNode("button",null,e.toDisplayString(c.value),1),e.createElementVNode("button",null,e.toDisplayString(e.unref(M)(o.value.setMonth(p.value),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:r[2]||(r[2]=e.withModifiers(s=>V(c.value,p.value+1),["prevent"]))},"›"),e.createElementVNode("button",{onClick:r[3]||(r[3]=e.withModifiers(s=>V(c.value+1,p.value),["prevent"]))},"»")])]),e.createElementVNode("div",K,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(s,i)=>e.createElementVNode("button",{key:i,class:"disabled"},e.toDisplayString(e.unref(M)(new Date(1970,1,s+e.unref(S)),"{D}")),1)),64))]),e.createElementVNode("div",Q,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(s,i)=>{var h,k;return e.openBlock(),e.createElementBlock(e.Fragment,{key:i},[i<m.value+(7-new Date(c.value,p.value+1,1).getDay()+e.unref(S))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(s.month===p.value&&(!t.limitation||new Date(s.year,s.month,s.day+1).getTime()>new Date($((h=t.limitation[0])==null?void 0:h.dateStart)).getTime()&&new Date(s.year,s.month,s.day).getTime()<new Date($((k=t.limitation[0])==null?void 0:k.dateEnd)).getTime())?s.class:"disabled"),onClick:()=>{s.month===p.value&&O(s,i)}},e.toDisplayString(s.day),11,Z)):e.createCommentVNode("",!0)],64)}),128))])]),t.range==="range"?(e.openBlock(),e.createElementBlock("div",ee,[e.createElementVNode("p",te,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:r[4]||(r[4]=s=>V(c.value-1,p.value))},"«"),e.createElementVNode("button",{onClick:r[5]||(r[5]=s=>V(c.value,p.value-1))},"‹")]),e.createElementVNode("span",le,[e.createElementVNode("button",null,e.toDisplayString(new Date(c.value,p.value+1).getFullYear()),1),e.createElementVNode("button",null,e.toDisplayString(e.unref(M)(o.value.setMonth(p.value+1),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:r[6]||(r[6]=s=>V(c.value,p.value+1))},"›"),e.createElementVNode("button",{onClick:r[7]||(r[7]=s=>V(c.value+1,p.value))},"»")])]),e.createElementVNode("div",ne,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(s,i)=>e.createElementVNode("button",{key:i,class:"disabled"},e.toDisplayString(e.unref(M)(new Date(1970,1,s+e.unref(S)),"{D}")),1)),64))]),e.createElementVNode("div",oe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(s,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:i},[i>=m.value-(7+new Date(c.value,p.value+1,1).getDay()-e.unref(S))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(s.month===y.value.getMonth()&&(!t.limitation||new Date(s.year,s.month,s.day+1).getTime()>new Date($(t.limitation[0].dateStart)).getTime()&&new Date(s.year,s.month,s.day).getTime()<new Date($(t.limitation[0].dateEnd)).getTime())?s.class:"disabled"),onClick:()=>{s.month===y.value.getMonth()&&O(s,i)}},e.toDisplayString(s.day),11,ae)):e.createCommentVNode("",!0)],64))),128))])])):e.createCommentVNode("",!0)]))}}},Symbol.toStringTag,{value:"Module"})),re=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDropdown",props:{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}},setup(a){const n=a,o=e.ref(!1),l=e.ref(null),t=e.ref(null),u=e.ref({}),c=e.computed(()=>{let m=["sw-dropdown"];return n.size.length>0&&m.push("sw-"+n.size),n.type.length>0&&m.push("sw-"+n.type),m}),E=async()=>{if(await e.nextTick(),!t.value)return;l.value.focus(),l.value.addEventListener("blur",()=>o.value=!1);const m=l.value.getBoundingClientRect(),y=window.pageYOffset||document.documentElement.scrollTop,g=window.pageXOffset||document.documentElement.scrollLeft,w=t.value.offsetHeight,N=t.value.offsetWidth;let S=m.left+m.width/2+g,b=m.bottom-m.height/2+y;const[$,C]=n.placement.split("-",2);switch(console.log(n.placement),$){case"bottom":b=b+m.height/2+8;break;case"top":b=b-m.height/2-8-w;break;case"left":S=S-N-m.width/2-10,b=b-w/2;break;case"right":S=S+m.width/2+8,b=b-w/2;break}switch(C){case"left":S=S-N+m.width/2;break;case"right":S=S-m.width/2;break}S<0&&(S=0),b<0&&(b=0),u.value={position:"absolute",top:`${b}px`,left:`${S}px`,maxWidth:n.maxWidth===0?"":`${n.maxWidth}px`}},D=async()=>{o.value=!o.value,o.value&&await E()},p=()=>{o.value&&E()},d=m=>{t.value&&t.value.contains(m.target),console.log(t.value&&!t.value.contains(m.target)),console.log(l.value&&!l.value.contains(m.target))};return e.onMounted(()=>{l.value.addEventListener("click",d,!0),window.addEventListener("resize",p)}),e.onUnmounted(()=>{l.value.removeEventListener("click",d,!0),window.removeEventListener("resize",p)}),(m,y)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(c.value),onClick:y[0]||(y[0]=e.withModifiers(g=>D(),["stop"])),ref_key:"dropdownRef",ref:l},[e.renderSlot(m.$slots,"default"),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[o.value?(e.openBlock(),e.createElementBlock("ul",{key:0,ref_key:"popupRef",ref:t,class:e.normalizeClass(["sw-dropdown-popup",n.class]),style:e.normalizeStyle(u.value),tabindex:"-1"},[e.renderSlot(m.$slots,"dropdown")],6)):e.createCommentVNode("",!0)]))],2))}}},Symbol.toStringTag,{value:"Module"})),ie=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,o=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,t)=>{const u=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(o.value)},[e.createVNode(u,{"icon-class":a.iconBefore},null,8,["icon-class"]),e.renderSlot(l.$slots,"default")],2)}}}},Symbol.toStringTag,{value:"Module"})),ce=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwFormItem",props:{class:{type:String,default:""},type:{type:String,default:""}},setup(a){const n=a,o=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,t)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[e.renderSlot(l.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),de=(a,n)=>{const o=a.__vccOpts||a;for(const[l,t]of n)o[l]=t;return o},pe={name:"SvgIcon",props:{prefix:{type:String,default:"icon"},iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExt(){return U(this.iconClass)}}},me=["href"];function fe(a,n,o,l,t,u){return u.isExt?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,style:"mask: url("+o.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 "+o.className,"aria-hidden":"true"},a.$attrs),[e.createElementVNode("use",{href:"#"+o.prefix+"-"+o.iconClass},null,8,me)],16))}const P=de(pe,[["render",fe]]),ue=["for"],ge=["placeholder","type","id","name"],he=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"}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["suffix"],["update:modelValue"]),setup(a,{emit:n}){var d;const o=e.useModel(a,"modelValue"),l=a,t=e.ref(null),u=n,c=()=>{t.value!==null&&(t.value.style.top="-.6em")},E=()=>{var m;((m=o.value)==null?void 0:m.length)===0&&t.value!==null&&t.value.removeAttribute("style")};((d=o.value)==null?void 0:d.length)>0&&t.value!==null&&(t.value.style.top="-.6em");const D=()=>{u("suffix")},p=e.computed(()=>{let m=["sw-input"];return l.size.length>0&&m.push("sw-"+l.size),l.class.length>0&&m.push(l.class),m});return(m,y)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(p.value)},[l.before.length>0?(e.openBlock(),e.createBlock(P,{key:0,"icon-class":l.before},null,8,["icon-class"])):e.renderSlot(m.$slots,"prefix",{key:1}),l.label.length>0?(e.openBlock(),e.createElementBlock("label",{key:2,for:l.name,ref_key:"lab",ref:t},[e.createTextVNode(e.toDisplayString(l.label),1),y[1]||(y[1]=e.createElementVNode("span",{title:"Это поле обязательно для заполнения."},"*",-1))],8,ue)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":y[0]||(y[0]=g=>o.value=g),required:"required",placeholder:l.placeholder,type:l.type,id:l.name,name:l.name,size:"60",onFocus:c,onBlur:E,maxlength:"128"},null,40,ge),[[e.vModelDynamic,o.value]]),l.after.length>0?(e.openBlock(),e.createBlock(P,{key:3,"icon-class":l.after,onClick:D},null,8,["icon-class"])):e.renderSlot(m.$slots,"suffix",{key:4})],2))}}},Symbol.toStringTag,{value:"Module"})),Se={key:0},ye=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"),o=a,l=e.ref(null);return(t,u)=>{const c=e.resolveComponent("svg-icon");return n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["sw-message",o.class]),ref_key:"messageRef",ref:l},[o.name.length>0?(e.openBlock(),e.createElementBlock("header",Se,[e.renderSlot(t.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(o.name)+" ",1),e.createVNode(v,{link:"",type:"primary",onClick:u[0]||(u[0]=E=>n.value=!1)},{default:e.withCtx(()=>[e.createVNode(c,{"icon-class":o.iconAfter},null,8,["icon-class"])]),_:1})])])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"default",{},()=>[u[1]||(u[1]=e.createTextVNode("111222"))]),e.createElementVNode("footer",null,[e.renderSlot(t.$slots,"footer")])],2)):e.createCommentVNode("",!0)}}}},Symbol.toStringTag,{value:"Module"})),_e=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSection",props:{name:{type:String,default:""},class:{type:String,default:""},iconAfter:{type:String,default:""}},setup(a){const n=a;return(o,l)=>{const t=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(n.class)},[e.createElementVNode("header",null,[e.renderSlot(o.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(n.name)+" ",1),e.createVNode(t,{"icon-class":n.iconAfter},null,8,["icon-class"])])]),e.renderSlot(o.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(o.$slots,"footer")])],2)}}}},Symbol.toStringTag,{value:"Module"})),we={key:0},j={__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,o=e.computed(()=>{let t=["sw-skeleton-item"];return n.size.length>0&&t.push("sw-"+n.size),n.animate&&t.push("sw-animate"),n.class.length>0&&t.push(n.class),t}),l=e.computed(()=>({width:n.width+"%"}));return(t,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value),style:e.normalizeStyle(l.value)},[n.animate?(e.openBlock(),e.createElementBlock("div",we)):e.createCommentVNode("",!0)],6))}},be=Object.freeze(Object.defineProperty({__proto__:null,default:j},Symbol.toStringTag,{value:"Module"})),ke=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(o,l)=>n.visual?e.renderSlot(o.$slots,"default",{key:0},()=>[l[0]||(l[0]=e.createTextVNode("1"))]):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["sw-skeleton",n.class])},[e.renderSlot(o.$slots,"skeleton",{},()=>[e.createVNode(j,{animate:"",size:"small"})])],2))}}},Symbol.toStringTag,{value:"Module"})),Ee=["name","id"],De=["for","data-onlabel","data-offlabel"],Be=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"),o=a,l=e.computed(()=>{let t=["sw-switch"];return o.size.length>0&&t.push("sw-"+o.size),o.checkbox&&t.push("sw-checkbox"),o.class.length>0&&t.push(o.class),t});return(t,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value)},[e.withDirectives(e.createElementVNode("input",{type:"checkbox",name:o.name,class:"sw-control",id:o.id,"onUpdate:modelValue":u[0]||(u[0]=c=>n.value=c)},null,8,Ee),[[e.vModelCheckbox,n.value]]),e.createElementVNode("label",{for:o.id,class:"sw-label","data-onlabel":o.on,"data-offlabel":o.off},null,8,De),e.renderSlot(t.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),$e=["onClick"],Ve=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 o=e.ref([]),l=a,t=e.useModel(a,"modelValue"),u=n;return o.value=e.useSlots().default().filter(c=>c.type.__name==="SwTabsPane"),e.provide("activeTab",t),e.provide("tabs",o),(c,E)=>(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(o.value,(D,p)=>(e.openBlock(),e.createElementBlock("span",{key:p,class:e.normalizeClass([{active:t.value===p}]),onClick:d=>{t.value=p,u("tab-click",p)}},e.toDisplayString(D.props.label||D.props.title),11,$e))),128))]),e.renderSlot(c.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Me=["onClick"],Te=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 o=e.ref([]),l=a,t=e.useModel(a,"modelValue"),u=n;return e.provide("activeTab",t),e.provide("tabs",o),e.provide("registerTab",c=>{o.value.push(c)}),(c,E)=>(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(o.value,(D,p)=>(e.openBlock(),e.createElementBlock("span",{key:p,class:e.normalizeClass([{active:t.value===p}]),onClick:d=>{t.value=p,u("tab-click",p)}},e.toDisplayString(D.props.label||D.props.title),11,Me))),128))]),e.renderSlot(c.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Ne={key:0,class:"tab-content"},Ce=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPane",props:{title:{type:String,required:!0}},setup(a){const n=a,o=e.inject("activeTab"),l=e.inject("tabs"),t=e.computed(()=>{const u=l.value.findIndex(c=>c.props.title===n.title);return o.value===u});return(u,c)=>t.value?(e.openBlock(),e.createElementBlock("div",Ne,[e.renderSlot(u.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"})),ze={key:0,class:"tab-content"},ve=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPaneNew",props:{label:{type:String,required:!0},title:{type:String}},setup(a){const n=a,o=e.inject("registerTab");if(!o)throw new Error("SwTabsPane must be used inside SwTabs");o({props:n});const l=e.inject("activeTab");if(!e.inject("tabs"))throw new Error("Tabs array is not provided by SwTabs");const u=e.inject("tabs").value.length-1;return(c,E)=>e.unref(l)===u?(e.openBlock(),e.createElementBlock("div",ze,[e.renderSlot(c.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"}));B.components=T,B.default=H,Object.defineProperties(B,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
1
+ (function(B,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(B=typeof globalThis<"u"?globalThis:B||self,e(B["component-sw"]={},B.vue))})(this,function(B,e){"use strict";const z=Object.assign({"./components/SwButton.vue":()=>Promise.resolve().then(()=>q),"./components/SwCollapse.vue":()=>Promise.resolve().then(()=>W),"./components/SwDataPicker.vue":()=>Promise.resolve().then(()=>se),"./components/SwDropdown.vue":()=>Promise.resolve().then(()=>re),"./components/SwDropdownItem.vue":()=>Promise.resolve().then(()=>ie),"./components/SwFormItem.vue":()=>Promise.resolve().then(()=>ce),"./components/SwInput.vue":()=>Promise.resolve().then(()=>he),"./components/SwMessage.vue":()=>Promise.resolve().then(()=>ye),"./components/SwSection.vue":()=>Promise.resolve().then(()=>_e),"./components/SwSkeleton.vue":()=>Promise.resolve().then(()=>ke),"./components/SwSkeletonItem.vue":()=>Promise.resolve().then(()=>be),"./components/SwSwitch.vue":()=>Promise.resolve().then(()=>Be),"./components/SwTabs.vue":()=>Promise.resolve().then(()=>Ve),"./components/SwTabsNew.vue":()=>Promise.resolve().then(()=>Te),"./components/SwTabsPane.vue":()=>Promise.resolve().then(()=>Ce),"./components/SwTabsPaneNew.vue":()=>Promise.resolve().then(()=>ve)}),T={};for(const a in z){const n=a.split("/").pop().replace(".vue","").replace(/-(\w)/g,(o,l)=>l.toUpperCase());T[n]=e.defineAsyncComponent(()=>z[a]())}const H={install(a){Object.keys(T).forEach(n=>{a.component(n,T[n]),console.log(n)})}},v={__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,o=()=>{if(n.href.length>0){const t=document.createElement("a");t.setAttribute("href",n.href),t.setAttribute("target","_blank"),t.click()}},l=e.computed(()=>{let t=["sw-button"];return n.size.length>0&&t.push("sw-"+n.size),n.type.length>0&&t.push("sw-"+n.type),n.round&&t.push("sw-round"),n.text&&t.push("sw-text"),n.link&&t.push("sw-link"),n.class.length>0&&t.push(n.class),t});return(t,u)=>(e.openBlock(),e.createElementBlock("button",{class:e.normalizeClass(l.value),onClick:o},[e.renderSlot(t.$slots,"default")],2))}},q=Object.freeze(Object.defineProperty({__proto__:null,default:v},Symbol.toStringTag,{value:"Module"})),W=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("0px"),o=a,l=e.computed(()=>o.visual?`${n.value.scrollHeight}px`:"0px");return(t,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["sw-collapse",{open:o.visual}]),style:e.normalizeStyle({height:l.value}),ref_key:"collapse",ref:n},[e.renderSlot(t.$slots,"default")],6))}}},Symbol.toStringTag,{value:"Module"}));function U(a){return/^(https?:|mailto:|tel:)/.test(a)}function M(a,n){if(arguments.length===0||!a)return null;const o=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 t="ru-RU",u={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(t,{weekday:"short"}).format(l),F:new Intl.DateTimeFormat(t,{month:"long"}).format(l),M:new Intl.DateTimeFormat(t,{month:"short"}).format(l)};return o.replace(/{(dd|[YmdGHisDFM])+}/g,(c,E)=>u[E])}const G={class:"sw-data-picker"},X={class:"month_year"},J={class:"text"},K={class:"week"},Q={class:"month"},Z=["onClick"],ee={key:0},te={class:"month_year"},le={class:"text"},ne={class:"week"},oe={class:"month"},ae=["onClick"],se=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDataPicker",props:{data:Object,limitation:{type:[Boolean,Array],default:()=>!1},range:{type:String,default:()=>"solid"}},emits:["input"],setup(a,{emit:n}){var I,F,Y,L,R,A;const o=e.ref(new Date),l=e.ref(new Date),t=a,u=n,c=e.ref(new Date().getFullYear()),E=e.ref(new Date().getMonth()),D=e.ref(new Date().getFullYear()),p=e.ref(new Date().getMonth()),d=e.ref([]),m=e.ref(0),y=e.ref(0),g=e.ref(-1),w=e.ref(-1),N=e.ref(navigator.languages||"ru"),S=/en|zh|ja|he/.test(N.value)?0:1,b=t.range==="range"?2:1,$=f=>{const r=f.split(f.match(/\D.*?\D?/));return r[0].length>2?r.join("-")+"T00:00:01":r.reverse().join("-")+"T00:00:01"};typeof((I=t.data)==null?void 0:I.startDate)<"u"&&((F=t.data)==null?void 0:F.startDate)!==null&&(o.value=new Date($(t.data.startDate)),c.value=o.value.getFullYear(),p.value=o.value.getMonth()),typeof((Y=t.data)==null?void 0:Y.endDate)<"u"&&((L=t.data)==null?void 0:L.endDate)!==null&&(l.value=new Date($(t.data.endDate)),D.value=l.value.getFullYear(),E.value=l.value.getMonth());const C=()=>{var s;let f=new Date(c.value,p.value,0);for(let i=f.getDate()-f.getDay()+S;i<=f.getDate()&&f.getDay()!==6+S;i++)m.value++,d.value.push({day:i,month:f.getMonth(),year:f.getFullYear(),class:[]});for(let i=1;i<=new Date(c.value,p.value+1,0).getDate();i++)m.value++,d.value.push({day:i,month:p.value,year:c.value,class:[]});if(t.range==="range"){y.value=new Date(c.value,p.value+2,0);for(let i=1;i<=y.value.getDate();i++)d.value.push({day:i,month:y.value.getMonth(),year:y.value.getFullYear(),class:[]})}let r=new Date(c.value,p.value+b,1);console.log(r.getDay());for(let i=1;i<=(7-r.getDay()+S)%7&&r.getDay()!==S;i++)d.value.push({day:i,month:r.getMonth(),year:r.getFullYear(),class:[]});typeof((s=t.data)==null?void 0:s.holiday)<"u"&&t.data.holiday.length!==0&&(t.data.holiday.preholidays.forEach(i=>{let h=i.split("-");const k=d.value.findIndex(_=>_.year==h[0]&&_.month+1==h[1]&&_.day==h[2]);k!==-1&&(d.value[k].class[0]="preholiday")}),t.data.holiday.holidays.forEach(i=>{let h=i.split("-");const k=d.value.findIndex(_=>_.year==h[0]&&_.month+1==h[1]&&_.day==h[2]);k!==-1&&(d.value[k].class[0]="weekend")}),t.data.holiday.holiday.forEach(i=>{let h=i.split("-");const k=d.value.findIndex(_=>_.year==h[0]&&_.month+1==h[1]&&_.day==h[2]);k!==-1&&(d.value[k].class[0]="holiday")}),t.data.holiday.nowork.forEach(i=>{let h=i.split("-");const k=d.value.findIndex(_=>_.year==h[0]&&_.month+1==h[1]&&_.day==h[2]);k!==-1&&(d.value[k].class[0]="nowork")}))},x=(f,r)=>{let s=f-r+1;for(let i=0;i<=f-r;i++)d.value[i+r].class[0]==="holiday"&&s--;return s},O=(f,r)=>{console.log(r);const s=M(new Date(f.year,f.month,f.day),"{dd}.{m}.{Y}");if(t.range==="range")if(console.log(g.value),w.value!==-1){if(w.value<=g.value)for(let i=w.value;i<=g.value;i++)d.value[i].class[1]="";else for(let i=g.value;i<=w.value;i++)d.value[i].class[1]="";g.value=r,w.value=-1,d.value[r].class[1]="active"}else if(g.value!==-1){if(w.value=r,w.value>=g.value)for(let h=g.value+1;h<r;h++)d.value[h].class[1]="select";else for(let h=r+1;h<g.value;h++)d.value[h].class[1]="select";d.value[r].class[1]="active";let i=M(new Date(d.value[g.value].year,d.value[g.value].month,d.value[g.value].day),"{dd}.{m}.{Y}");g.value>r?u("input",{dateStart:s,dateEnd:i,count:x(g.value,r)}):u("input",{dateStart:i,dateEnd:s,count:x(r,g.value)})}else g.value=r,d.value[r].class[1]="active";else g.value!==-1&&(d.value[g.value].class[1]=""),g.value=r,d.value[r].class[1]="active",u("input",{dateStart:s,count:1})};if(C(),typeof((R=t.data)==null?void 0:R.startDate)<"u"&&(g.value=d.value.findIndex(f=>f.day===o.value.getDate()&&f.month===p.value&&f.year===c.value),d.value[g.value].class[1]="active"),typeof((A=t.data)==null?void 0:A.endDate)<"u"&&t.range==="range"){w.value=d.value.findIndex(f=>f.day===l.value.getDate()&&f.month===E.value&&f.year===D.value),d.value[w.value].class[1]="active";for(let f=g.value+1;f<w.value;f++)d.value[f].class[1]="select"}const V=(f,r)=>{Pe(f,r)&&(d.value=[],m.value=0,o.value=new Date(f,r,1),c.value=o.value.getFullYear(),p.value=o.value.getMonth(),C())},Pe=(f,r)=>{if(!t.limitation)return!0;if(t.limitation[0].dateStart){console.log(t.limitation[0].dateStart);let s=t.limitation[0].dateStart.split(t.limitation[0].dateStart.match(/\D.*?\D?/));if(s[0].length>2&&s.reverse(),parseInt(s[2])>f||parseInt(s[2])===f&&parseInt(s[1])>r+1)return!1}if(t.limitation[t.limitation.length-1].dateEnd){console.log(t.limitation[t.limitation.length-1].dateEnd);let s=t.limitation[t.limitation.length-1].dateEnd.split(t.limitation[t.limitation.length-1].dateEnd.match(/\D.*?\D?/));if(s[0].length>2&&s.reverse(),parseInt(s[2])<f||parseInt(s[2])===f&&parseInt(s[1])<r+b)return!1}return!0};return(f,r)=>(e.openBlock(),e.createElementBlock("div",G,[e.createElementVNode("div",null,[e.createElementVNode("p",X,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:r[0]||(r[0]=e.withModifiers(s=>V(c.value-1,p.value),["prevent"]))},"«"),e.createElementVNode("button",{onClick:r[1]||(r[1]=e.withModifiers(s=>V(c.value,p.value-1),["prevent"]))},"‹")]),e.createElementVNode("span",J,[e.createElementVNode("button",null,e.toDisplayString(c.value),1),e.createElementVNode("button",null,e.toDisplayString(e.unref(M)(o.value.setMonth(p.value),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:r[2]||(r[2]=e.withModifiers(s=>V(c.value,p.value+1),["prevent"]))},"›"),e.createElementVNode("button",{onClick:r[3]||(r[3]=e.withModifiers(s=>V(c.value+1,p.value),["prevent"]))},"»")])]),e.createElementVNode("div",K,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(s,i)=>e.createElementVNode("button",{key:i,class:"disabled"},e.toDisplayString(e.unref(M)(new Date(1970,1,s+e.unref(S)),"{D}")),1)),64))]),e.createElementVNode("div",Q,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(s,i)=>{var h,k;return e.openBlock(),e.createElementBlock(e.Fragment,{key:i},[i<m.value+(7-new Date(c.value,p.value+1,1).getDay()+e.unref(S))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(s.month===p.value&&(!t.limitation||new Date(s.year,s.month,s.day+1).getTime()>new Date($((h=t.limitation[0])==null?void 0:h.dateStart)).getTime()&&new Date(s.year,s.month,s.day).getTime()<new Date($((k=t.limitation[0])==null?void 0:k.dateEnd)).getTime())?s.class:"disabled"),onClick:()=>{s.month===p.value&&O(s,i)}},e.toDisplayString(s.day),11,Z)):e.createCommentVNode("",!0)],64)}),128))])]),t.range==="range"?(e.openBlock(),e.createElementBlock("div",ee,[e.createElementVNode("p",te,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:r[4]||(r[4]=s=>V(c.value-1,p.value))},"«"),e.createElementVNode("button",{onClick:r[5]||(r[5]=s=>V(c.value,p.value-1))},"‹")]),e.createElementVNode("span",le,[e.createElementVNode("button",null,e.toDisplayString(new Date(c.value,p.value+1).getFullYear()),1),e.createElementVNode("button",null,e.toDisplayString(e.unref(M)(o.value.setMonth(p.value+1),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:r[6]||(r[6]=s=>V(c.value,p.value+1))},"›"),e.createElementVNode("button",{onClick:r[7]||(r[7]=s=>V(c.value+1,p.value))},"»")])]),e.createElementVNode("div",ne,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(s,i)=>e.createElementVNode("button",{key:i,class:"disabled"},e.toDisplayString(e.unref(M)(new Date(1970,1,s+e.unref(S)),"{D}")),1)),64))]),e.createElementVNode("div",oe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,(s,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:i},[i>=m.value-(7+new Date(c.value,p.value+1,1).getDay()-e.unref(S))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(s.month===y.value.getMonth()&&(!t.limitation||new Date(s.year,s.month,s.day+1).getTime()>new Date($(t.limitation[0].dateStart)).getTime()&&new Date(s.year,s.month,s.day).getTime()<new Date($(t.limitation[0].dateEnd)).getTime())?s.class:"disabled"),onClick:()=>{s.month===y.value.getMonth()&&O(s,i)}},e.toDisplayString(s.day),11,ae)):e.createCommentVNode("",!0)],64))),128))])])):e.createCommentVNode("",!0)]))}}},Symbol.toStringTag,{value:"Module"})),re=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwDropdown",props:{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}},setup(a){const n=a,o=e.ref(!1),l=e.ref(null),t=e.ref(null),u=e.ref({}),c=e.computed(()=>{let m=["sw-dropdown"];return n.size.length>0&&m.push("sw-"+n.size),n.type.length>0&&m.push("sw-"+n.type),m}),E=async()=>{if(await e.nextTick(),!t.value)return;l.value.focus(),l.value.addEventListener("blur",()=>o.value=!1);const m=l.value.getBoundingClientRect(),y=window.pageYOffset||document.documentElement.scrollTop,g=window.pageXOffset||document.documentElement.scrollLeft,w=t.value.offsetHeight,N=t.value.offsetWidth;let S=m.left+m.width/2+g,b=m.bottom-m.height/2+y;const[$,C]=n.placement.split("-",2);switch(console.log(n.placement),$){case"bottom":b=b+m.height/2+8;break;case"top":b=b-m.height/2-8-w;break;case"left":S=S-N-m.width/2-10,b=b-w/2;break;case"right":S=S+m.width/2+8,b=b-w/2;break}switch(C){case"left":S=S-N+m.width/2;break;case"right":S=S-m.width/2;break}S<0&&(S=0),b<0&&(b=0),u.value={position:"absolute",top:`${b}px`,left:`${S}px`,maxWidth:n.maxWidth===0?"":`${n.maxWidth}px`}},D=async()=>{o.value=!o.value,o.value&&await E()},p=()=>{o.value&&E()},d=m=>{t.value&&t.value.contains(m.target),console.log(t.value&&!t.value.contains(m.target)),console.log(l.value&&!l.value.contains(m.target))};return e.onMounted(()=>{l.value.addEventListener("click",d,!0),window.addEventListener("resize",p)}),(m,y)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(c.value),onClick:y[0]||(y[0]=e.withModifiers(g=>D(),["stop"])),ref_key:"dropdownRef",ref:l},[e.renderSlot(m.$slots,"default"),(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[o.value?(e.openBlock(),e.createElementBlock("ul",{key:0,ref_key:"popupRef",ref:t,class:e.normalizeClass(["sw-dropdown-popup",n.class]),style:e.normalizeStyle(u.value),tabindex:"-1"},[e.renderSlot(m.$slots,"dropdown")],6)):e.createCommentVNode("",!0)]))],2))}}},Symbol.toStringTag,{value:"Module"})),ie=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,o=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,t)=>{const u=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("li",{class:e.normalizeClass(o.value)},[e.createVNode(u,{"icon-class":a.iconBefore},null,8,["icon-class"]),e.renderSlot(l.$slots,"default")],2)}}}},Symbol.toStringTag,{value:"Module"})),ce=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwFormItem",props:{class:{type:String,default:""},type:{type:String,default:""}},setup(a){const n=a,o=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,t)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value)},[e.renderSlot(l.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),de=(a,n)=>{const o=a.__vccOpts||a;for(const[l,t]of n)o[l]=t;return o},pe={name:"SvgIcon",props:{prefix:{type:String,default:"icon"},iconClass:{type:String,required:!0},className:{type:String,default:""}},computed:{isExt(){return U(this.iconClass)}}},me=["href"];function fe(a,n,o,l,t,u){return u.isExt?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,style:"mask: url("+o.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 "+o.className,"aria-hidden":"true"},a.$attrs),[e.createElementVNode("use",{href:"#"+o.prefix+"-"+o.iconClass},null,8,me)],16))}const P=de(pe,[["render",fe]]),ue=["for"],ge=["placeholder","type","id","name"],he=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"}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["suffix"],["update:modelValue"]),setup(a,{emit:n}){var d;const o=e.useModel(a,"modelValue"),l=a,t=e.ref(null),u=n,c=()=>{t.value!==null&&(t.value.style.top="-.6em")},E=()=>{var m;((m=o.value)==null?void 0:m.length)===0&&t.value!==null&&t.value.removeAttribute("style")};((d=o.value)==null?void 0:d.length)>0&&t.value!==null&&(t.value.style.top="-.6em");const D=()=>{u("suffix")},p=e.computed(()=>{let m=["sw-input"];return l.size.length>0&&m.push("sw-"+l.size),l.class.length>0&&m.push(l.class),m});return(m,y)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(p.value)},[l.before.length>0?(e.openBlock(),e.createBlock(P,{key:0,"icon-class":l.before},null,8,["icon-class"])):e.renderSlot(m.$slots,"prefix",{key:1}),l.label.length>0?(e.openBlock(),e.createElementBlock("label",{key:2,for:l.name,ref_key:"lab",ref:t},[e.createTextVNode(e.toDisplayString(l.label),1),y[1]||(y[1]=e.createElementVNode("span",{title:"Это поле обязательно для заполнения."},"*",-1))],8,ue)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":y[0]||(y[0]=g=>o.value=g),required:"required",placeholder:l.placeholder,type:l.type,id:l.name,name:l.name,size:"60",onFocus:c,onBlur:E,maxlength:"128"},null,40,ge),[[e.vModelDynamic,o.value]]),l.after.length>0?(e.openBlock(),e.createBlock(P,{key:3,"icon-class":l.after,onClick:D},null,8,["icon-class"])):e.renderSlot(m.$slots,"suffix",{key:4})],2))}}},Symbol.toStringTag,{value:"Module"})),Se={key:0},ye=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"),o=a,l=e.ref(null);return(t,u)=>{const c=e.resolveComponent("svg-icon");return n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["sw-message",o.class]),ref_key:"messageRef",ref:l},[o.name.length>0?(e.openBlock(),e.createElementBlock("header",Se,[e.renderSlot(t.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(o.name)+" ",1),e.createVNode(v,{link:"",type:"primary",onClick:u[0]||(u[0]=E=>n.value=!1)},{default:e.withCtx(()=>[e.createVNode(c,{"icon-class":o.iconAfter},null,8,["icon-class"])]),_:1})])])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"default",{},()=>[u[1]||(u[1]=e.createTextVNode("111222"))]),e.createElementVNode("footer",null,[e.renderSlot(t.$slots,"footer")])],2)):e.createCommentVNode("",!0)}}}},Symbol.toStringTag,{value:"Module"})),_e=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwSection",props:{name:{type:String,default:""},class:{type:String,default:""},iconAfter:{type:String,default:""}},setup(a){const n=a;return(o,l)=>{const t=e.resolveComponent("svg-icon");return e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(n.class)},[e.createElementVNode("header",null,[e.renderSlot(o.$slots,"header",{},()=>[e.createTextVNode(e.toDisplayString(n.name)+" ",1),e.createVNode(t,{"icon-class":n.iconAfter},null,8,["icon-class"])])]),e.renderSlot(o.$slots,"default"),e.createElementVNode("footer",null,[e.renderSlot(o.$slots,"footer")])],2)}}}},Symbol.toStringTag,{value:"Module"})),we={key:0},j={__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,o=e.computed(()=>{let t=["sw-skeleton-item"];return n.size.length>0&&t.push("sw-"+n.size),n.animate&&t.push("sw-animate"),n.class.length>0&&t.push(n.class),t}),l=e.computed(()=>({width:n.width+"%"}));return(t,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(o.value),style:e.normalizeStyle(l.value)},[n.animate?(e.openBlock(),e.createElementBlock("div",we)):e.createCommentVNode("",!0)],6))}},be=Object.freeze(Object.defineProperty({__proto__:null,default:j},Symbol.toStringTag,{value:"Module"})),ke=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(o,l)=>n.visual?e.renderSlot(o.$slots,"default",{key:0},()=>[l[0]||(l[0]=e.createTextVNode("1"))]):(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["sw-skeleton",n.class])},[e.renderSlot(o.$slots,"skeleton",{},()=>[e.createVNode(j,{animate:"",size:"small"})])],2))}}},Symbol.toStringTag,{value:"Module"})),Ee=["name","id"],De=["for","data-onlabel","data-offlabel"],Be=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"),o=a,l=e.computed(()=>{let t=["sw-switch"];return o.size.length>0&&t.push("sw-"+o.size),o.checkbox&&t.push("sw-checkbox"),o.class.length>0&&t.push(o.class),t});return(t,u)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(l.value)},[e.withDirectives(e.createElementVNode("input",{type:"checkbox",name:o.name,class:"sw-control",id:o.id,"onUpdate:modelValue":u[0]||(u[0]=c=>n.value=c)},null,8,Ee),[[e.vModelCheckbox,n.value]]),e.createElementVNode("label",{for:o.id,class:"sw-label","data-onlabel":o.on,"data-offlabel":o.off},null,8,De),e.renderSlot(t.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),$e=["onClick"],Ve=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 o=e.ref([]),l=a,t=e.useModel(a,"modelValue"),u=n;return o.value=e.useSlots().default().filter(c=>c.type.__name==="SwTabsPane"),e.provide("activeTab",t),e.provide("tabs",o),(c,E)=>(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(o.value,(D,p)=>(e.openBlock(),e.createElementBlock("span",{key:p,class:e.normalizeClass([{active:t.value===p}]),onClick:d=>{t.value=p,u("tab-click",p)}},e.toDisplayString(D.props.label||D.props.title),11,$e))),128))]),e.renderSlot(c.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Me=["onClick"],Te=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 o=e.ref([]),l=a,t=e.useModel(a,"modelValue"),u=n;return e.provide("activeTab",t),e.provide("tabs",o),e.provide("registerTab",c=>{o.value.push(c)}),(c,E)=>(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(o.value,(D,p)=>(e.openBlock(),e.createElementBlock("span",{key:p,class:e.normalizeClass([{active:t.value===p}]),onClick:d=>{t.value=p,u("tab-click",p)}},e.toDisplayString(D.props.label||D.props.title),11,Me))),128))]),e.renderSlot(c.$slots,"default")],2))}}},Symbol.toStringTag,{value:"Module"})),Ne={key:0,class:"tab-content"},Ce=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPane",props:{title:{type:String,required:!0}},setup(a){const n=a,o=e.inject("activeTab"),l=e.inject("tabs"),t=e.computed(()=>{const u=l.value.findIndex(c=>c.props.title===n.title);return o.value===u});return(u,c)=>t.value?(e.openBlock(),e.createElementBlock("div",Ne,[e.renderSlot(u.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"})),ze={key:0,class:"tab-content"},ve=Object.freeze(Object.defineProperty({__proto__:null,default:{__name:"SwTabsPaneNew",props:{label:{type:String,required:!0},title:{type:String}},setup(a){const n=a,o=e.inject("registerTab");if(!o)throw new Error("SwTabsPane must be used inside SwTabs");o({props:n});const l=e.inject("activeTab");if(!e.inject("tabs"))throw new Error("Tabs array is not provided by SwTabs");const u=e.inject("tabs").value.length-1;return(c,E)=>e.unref(l)===u?(e.openBlock(),e.createElementBlock("div",ze,[e.renderSlot(c.$slots,"default")])):e.createCommentVNode("",!0)}}},Symbol.toStringTag,{value:"Module"}));B.components=T,B.default=H,Object.defineProperties(B,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { defineAsyncComponent as m } from "vue";
2
- const n = /* @__PURE__ */ Object.assign({ "./components/SwButton.vue": () => import("./SwButton-0uPLNlAn.js"), "./components/SwCollapse.vue": () => import("./SwCollapse-CjL9dpO-.js"), "./components/SwDataPicker.vue": () => import("./SwDataPicker-Zxy4Lv1v.js"), "./components/SwDropdown.vue": () => import("./SwDropdown-B-MCzAkv.js"), "./components/SwDropdownItem.vue": () => import("./SwDropdownItem-C3_wJ1DL.js"), "./components/SwFormItem.vue": () => import("./SwFormItem-CgahR93o.js"), "./components/SwInput.vue": () => import("./SwInput-VZogDySW.js"), "./components/SwMessage.vue": () => import("./SwMessage-BB2yKYsR.js"), "./components/SwSection.vue": () => import("./SwSection-CaY8OFmf.js"), "./components/SwSkeleton.vue": () => import("./SwSkeleton-DWILNFfF.js"), "./components/SwSkeletonItem.vue": () => import("./SwSkeletonItem-CU7LvihY.js"), "./components/SwSwitch.vue": () => import("./SwSwitch-FMwJbEH7.js"), "./components/SwTabs.vue": () => import("./SwTabs-DgvDpw7u.js"), "./components/SwTabsNew.vue": () => import("./SwTabsNew-Dr5Vyz6M.js"), "./components/SwTabsPane.vue": () => import("./SwTabsPane-BUUmFjh7.js"), "./components/SwTabsPaneNew.vue": () => import("./SwTabsPaneNew-DFPu-sRT.js") }), t = {};
2
+ const n = /* @__PURE__ */ Object.assign({ "./components/SwButton.vue": () => import("./SwButton-0uPLNlAn.js"), "./components/SwCollapse.vue": () => import("./SwCollapse-CjL9dpO-.js"), "./components/SwDataPicker.vue": () => import("./SwDataPicker-Zxy4Lv1v.js"), "./components/SwDropdown.vue": () => import("./SwDropdown-D2W9Glgy.js"), "./components/SwDropdownItem.vue": () => import("./SwDropdownItem-C3_wJ1DL.js"), "./components/SwFormItem.vue": () => import("./SwFormItem-CfnEis1u.js"), "./components/SwInput.vue": () => import("./SwInput-VZogDySW.js"), "./components/SwMessage.vue": () => import("./SwMessage-BB2yKYsR.js"), "./components/SwSection.vue": () => import("./SwSection-CaY8OFmf.js"), "./components/SwSkeleton.vue": () => import("./SwSkeleton-DWILNFfF.js"), "./components/SwSkeletonItem.vue": () => import("./SwSkeletonItem-CU7LvihY.js"), "./components/SwSwitch.vue": () => import("./SwSwitch-FMwJbEH7.js"), "./components/SwTabs.vue": () => import("./SwTabs-DgvDpw7u.js"), "./components/SwTabsNew.vue": () => import("./SwTabsNew-Dr5Vyz6M.js"), "./components/SwTabsPane.vue": () => import("./SwTabsPane-BUUmFjh7.js"), "./components/SwTabsPaneNew.vue": () => import("./SwTabsPaneNew-DFPu-sRT.js") }), t = {};
3
3
  for (const e in n) {
4
4
  const o = e.split("/").pop().replace(".vue", "").replace(/-(\w)/g, (s, p) => p.toUpperCase());
5
5
  t[o] = m(() => n[e]());
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studio-west/component-sw",
3
- "version": "0.1.40",
3
+ "version": "0.1.42",
4
4
  "description": "Vue components of Component SW collection.",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -1,89 +0,0 @@
1
- import { ref as r, computed as E, onMounted as L, onUnmounted as R, createElementBlock as h, openBlock as u, withModifiers as W, normalizeClass as g, renderSlot as y, createBlock as $, Teleport as C, createCommentVNode as B, normalizeStyle as T, nextTick as _ } from "vue";
2
- const P = {
3
- __name: "SwDropdown",
4
- props: {
5
- class: { type: String, default: "" },
6
- size: { type: String, default: "" },
7
- type: { type: String, default: "" },
8
- trigger: { type: String, default: "click" },
9
- placement: { type: String, default: "bottom-left" },
10
- maxWidth: { type: Number, default: 0 }
11
- },
12
- setup(k) {
13
- const l = k, a = r(!1), n = r(null), s = r(null), p = r({}), b = E(
14
- () => {
15
- let e = ["sw-dropdown"];
16
- return l.size.length > 0 && e.push("sw-" + l.size), l.type.length > 0 && e.push("sw-" + l.type), e;
17
- }
18
- ), d = async () => {
19
- if (await _(), !s.value) return;
20
- n.value.focus(), n.value.addEventListener("blur", () => a.value = !1);
21
- const e = n.value.getBoundingClientRect(), i = window.pageYOffset || document.documentElement.scrollTop, v = window.pageXOffset || document.documentElement.scrollLeft, c = s.value.offsetHeight, w = s.value.offsetWidth;
22
- let t = e.left + e.width / 2 + v, o = e.bottom - e.height / 2 + i;
23
- const [S, z] = l.placement.split("-", 2);
24
- switch (console.log(l.placement), S) {
25
- case "bottom":
26
- o = o + e.height / 2 + 8;
27
- break;
28
- case "top":
29
- o = o - e.height / 2 - 8 - c;
30
- break;
31
- case "left":
32
- t = t - w - e.width / 2 - 10, o = o - c / 2;
33
- break;
34
- case "right":
35
- t = t + e.width / 2 + 8, o = o - c / 2;
36
- break;
37
- }
38
- switch (z) {
39
- case "left":
40
- t = t - w + e.width / 2;
41
- break;
42
- case "right":
43
- t = t - e.width / 2;
44
- break;
45
- }
46
- t < 0 && (t = 0), o < 0 && (o = 0), p.value = {
47
- position: "absolute",
48
- top: `${o}px`,
49
- left: `${t}px`,
50
- maxWidth: l.maxWidth === 0 ? "" : `${l.maxWidth}px`
51
- };
52
- }, x = async () => {
53
- a.value = !a.value, a.value && await d();
54
- }, f = () => {
55
- a.value && d();
56
- }, m = (e) => {
57
- // dropdownRef.value &&
58
- // !dropdownRef.value.contains(event.target) &&
59
- s.value && s.value.contains(e.target), console.log(s.value && !s.value.contains(e.target)), console.log(n.value && !n.value.contains(e.target));
60
- };
61
- return L(() => {
62
- n.value.addEventListener("click", m, !0), window.addEventListener("resize", f);
63
- }), R(() => {
64
- n.value.removeEventListener("click", m, !0), window.removeEventListener("resize", f);
65
- }), (e, i) => (u(), h("div", {
66
- class: g(b.value),
67
- onClick: i[0] || (i[0] = W((v) => x(), ["stop"])),
68
- ref_key: "dropdownRef",
69
- ref: n
70
- }, [
71
- y(e.$slots, "default"),
72
- (u(), $(C, { to: "body" }, [
73
- a.value ? (u(), h("ul", {
74
- key: 0,
75
- ref_key: "popupRef",
76
- ref: s,
77
- class: g(["sw-dropdown-popup", l.class]),
78
- style: T(p.value),
79
- tabindex: "-1"
80
- }, [
81
- y(e.$slots, "dropdown")
82
- ], 6)) : B("", !0)
83
- ]))
84
- ], 2));
85
- }
86
- };
87
- export {
88
- P as default
89
- };