@krds.ui/vue 0.0.18 → 0.0.19
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 +39 -1
- package/dist/krds-vue.es.js +363 -363
- package/dist/krds-vue.es.js.map +1 -1
- package/dist/types/index.d.ts +173 -17
- package/global.d.ts +22 -0
- package/package.json +13 -15
package/dist/krds-vue.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Comment as je, Fragment as Ge, Teleport as Ce, Text as Ue, computed as b, defineComponent as M, getCurrentInstance as xe, h as t, inject as Xe, nextTick as ce, onBeforeUnmount as fe, onMounted as
|
|
1
|
+
import { Comment as je, Fragment as Ge, Teleport as Ce, Text as Ue, computed as b, defineComponent as M, getCurrentInstance as xe, h as t, inject as Xe, nextTick as ce, onBeforeUnmount as fe, onMounted as re, onUnmounted as ie, provide as Qe, ref as D, useId as oe, vShow as pe, watch as se, withDirectives as ve, withModifiers as ge } from "vue";
|
|
2
2
|
var be = Object.defineProperty, Je = (e, a) => {
|
|
3
3
|
let r = {};
|
|
4
4
|
for (var l in e)
|
|
@@ -261,7 +261,7 @@ var be = Object.defineProperty, Je = (e, a) => {
|
|
|
261
261
|
a("focus", S);
|
|
262
262
|
}, h = (S) => {
|
|
263
263
|
a("blur", S);
|
|
264
|
-
},
|
|
264
|
+
}, p = (S) => {
|
|
265
265
|
a("keydown", S);
|
|
266
266
|
}, w = (S) => {
|
|
267
267
|
a("keyup", S);
|
|
@@ -282,7 +282,7 @@ var be = Object.defineProperty, Je = (e, a) => {
|
|
|
282
282
|
onChange: s,
|
|
283
283
|
onFocus: d,
|
|
284
284
|
onBlur: h,
|
|
285
|
-
onKeydown:
|
|
285
|
+
onKeydown: p,
|
|
286
286
|
onKeyup: w
|
|
287
287
|
};
|
|
288
288
|
return e.maxlength !== void 0 && (S.maxlength = e.maxlength), e.minlength !== void 0 && (S.minlength = e.minlength), e.type === "number" && (e.max !== void 0 && (S.max = e.max), e.min !== void 0 && (S.min = e.min), e.step !== void 0 && (S.step = e.step)), S;
|
|
@@ -405,18 +405,18 @@ var be = Object.defineProperty, Je = (e, a) => {
|
|
|
405
405
|
}
|
|
406
406
|
}), dt = ut;
|
|
407
407
|
function ct(e, a) {
|
|
408
|
-
const r = /* @__PURE__ */ new Date(), l = D(e || r.getFullYear()), n = D(a || r.getMonth() + 1), s = D(null), d = D(null), h = D(null),
|
|
409
|
-
const i = r.getFullYear(),
|
|
410
|
-
for (let m = i - 10; m <= i + 10; m++)
|
|
411
|
-
return
|
|
412
|
-
}), w = b(() => Array.from({ length: 12 }, (i,
|
|
408
|
+
const r = /* @__PURE__ */ new Date(), l = D(e || r.getFullYear()), n = D(a || r.getMonth() + 1), s = D(null), d = D(null), h = D(null), p = b(() => {
|
|
409
|
+
const i = r.getFullYear(), v = [];
|
|
410
|
+
for (let m = i - 10; m <= i + 10; m++) v.push(m);
|
|
411
|
+
return v;
|
|
412
|
+
}), w = b(() => Array.from({ length: 12 }, (i, v) => v + 1)), c = () => {
|
|
413
413
|
s.value = null, d.value = null;
|
|
414
414
|
}, B = () => {
|
|
415
415
|
n.value === 1 ? (n.value = 12, l.value -= 1) : n.value -= 1;
|
|
416
416
|
}, S = () => {
|
|
417
417
|
n.value === 12 ? (n.value = 1, l.value += 1) : n.value += 1;
|
|
418
|
-
}, $ = (i,
|
|
419
|
-
if (
|
|
418
|
+
}, $ = (i, v = !1) => {
|
|
419
|
+
if (v)
|
|
420
420
|
s.value = i, d.value = i;
|
|
421
421
|
else if (!s.value || s.value && d.value)
|
|
422
422
|
s.value = i, d.value = null;
|
|
@@ -431,7 +431,7 @@ function ct(e, a) {
|
|
|
431
431
|
selectedStartDate: s,
|
|
432
432
|
selectedEndDate: d,
|
|
433
433
|
activeDateSelector: h,
|
|
434
|
-
yearOptions:
|
|
434
|
+
yearOptions: p,
|
|
435
435
|
monthOptions: w,
|
|
436
436
|
clearDateSelection: c,
|
|
437
437
|
prevMonth: B,
|
|
@@ -447,10 +447,10 @@ function ct(e, a) {
|
|
|
447
447
|
isStart: !1,
|
|
448
448
|
isEnd: !1
|
|
449
449
|
};
|
|
450
|
-
const
|
|
450
|
+
const v = new Date(i.replace(/\./g, "-")), m = new Date(s.value.replace(/\./g, "-")), x = new Date(d.value.replace(/\./g, "-")), K = i === s.value, E = i === d.value;
|
|
451
451
|
return {
|
|
452
|
-
isInRange:
|
|
453
|
-
isStart:
|
|
452
|
+
isInRange: v >= m && v <= x,
|
|
453
|
+
isStart: K,
|
|
454
454
|
isEnd: E
|
|
455
455
|
};
|
|
456
456
|
}
|
|
@@ -459,17 +459,17 @@ function ct(e, a) {
|
|
|
459
459
|
function ft(e, a, r = {}) {
|
|
460
460
|
let l = null;
|
|
461
461
|
const { ignore: n, event: s = "click" } = typeof r == "string" ? { ignore: r } : r, d = () => {
|
|
462
|
-
l = (
|
|
463
|
-
const w =
|
|
462
|
+
l = (p) => {
|
|
463
|
+
const w = p.target;
|
|
464
464
|
e.value?.contains(w) || n && w.closest(n) || a();
|
|
465
465
|
}, document.addEventListener(s, l);
|
|
466
466
|
}, h = () => {
|
|
467
467
|
if (l) {
|
|
468
|
-
const
|
|
469
|
-
document.removeEventListener(
|
|
468
|
+
const p = typeof r == "string" ? "click" : r.event || "click";
|
|
469
|
+
document.removeEventListener(p, l), l = null;
|
|
470
470
|
}
|
|
471
471
|
};
|
|
472
|
-
return
|
|
472
|
+
return re(() => {
|
|
473
473
|
d();
|
|
474
474
|
}), fe(() => {
|
|
475
475
|
h();
|
|
@@ -554,10 +554,10 @@ var vt = [
|
|
|
554
554
|
blur: (e) => !0
|
|
555
555
|
},
|
|
556
556
|
setup(e, { emit: a }) {
|
|
557
|
-
const r = D(), l = D(), n = D(!1), s = D(null), { currentYear: d, currentMonth: h, selectedStartDate:
|
|
557
|
+
const r = D(), l = D(), n = D(!1), s = D(null), { currentYear: d, currentMonth: h, selectedStartDate: p, selectedEndDate: w, yearOptions: c, monthOptions: B, prevMonth: S, nextMonth: $, handleDateSelection: f, selectToday: o, isDateInSelectedRange: i } = ct(e.initialYear, e.initialMonth), v = () => {
|
|
558
558
|
n.value && l.value?.focus(), n.value = !1, s.value = null;
|
|
559
559
|
};
|
|
560
|
-
ft(r,
|
|
560
|
+
ft(r, v, ".calendar-conts");
|
|
561
561
|
const m = b(() => {
|
|
562
562
|
const L = [
|
|
563
563
|
"krds-input",
|
|
@@ -565,7 +565,7 @@ var vt = [
|
|
|
565
565
|
"cal"
|
|
566
566
|
];
|
|
567
567
|
return e.size && L.push(e.size), e.class && L.push(e.class), L;
|
|
568
|
-
}), x = b(() => ["form-conts", "calendar-conts"]),
|
|
568
|
+
}), x = b(() => ["form-conts", "calendar-conts"]), K = b(() => ({
|
|
569
569
|
"krds-calendar-area": !0,
|
|
570
570
|
active: n.value
|
|
571
571
|
})), E = b(() => {
|
|
@@ -612,7 +612,7 @@ var vt = [
|
|
|
612
612
|
class: void 0,
|
|
613
613
|
variant: "tertiary",
|
|
614
614
|
size: "small",
|
|
615
|
-
handler:
|
|
615
|
+
handler: v
|
|
616
616
|
},
|
|
617
617
|
{
|
|
618
618
|
id: "confirm-btn",
|
|
@@ -622,22 +622,22 @@ var vt = [
|
|
|
622
622
|
size: "small",
|
|
623
623
|
handler: O
|
|
624
624
|
}
|
|
625
|
-
]),
|
|
625
|
+
]), g = (L) => {
|
|
626
626
|
s.value === L ? s.value = null : s.value = L;
|
|
627
627
|
}, A = (L) => {
|
|
628
628
|
d.value = L, s.value = null;
|
|
629
629
|
}, I = (L) => {
|
|
630
630
|
h.value = L, s.value = null;
|
|
631
631
|
}, O = () => {
|
|
632
|
-
|
|
632
|
+
p.value && (w.value && p.value !== w.value ? a("update:modelValue", `${p.value} ~ ${w.value}`) : a("update:modelValue", p.value), v());
|
|
633
633
|
}, H = () => {
|
|
634
634
|
n.value = !0, s.value = null, setTimeout(() => {
|
|
635
635
|
r.value?.querySelector(".calendar-wrap")?.focus();
|
|
636
636
|
}, 50);
|
|
637
637
|
}, G = () => {
|
|
638
|
-
n.value ?
|
|
638
|
+
n.value ? v() : H();
|
|
639
639
|
}, j = (L) => {
|
|
640
|
-
L.code === "Escape" && (s.value ? s.value = null : n.value &&
|
|
640
|
+
L.code === "Escape" && (s.value ? s.value = null : n.value && v());
|
|
641
641
|
}, X = (L) => {
|
|
642
642
|
const R = L.target;
|
|
643
643
|
a("update:modelValue", R.value), a("input", L);
|
|
@@ -654,7 +654,7 @@ var vt = [
|
|
|
654
654
|
class: `btn-cal-switch ${L}`,
|
|
655
655
|
"aria-label": R ? "연도 선택" : "월 선택",
|
|
656
656
|
"aria-expanded": s.value === L,
|
|
657
|
-
onClick: () =>
|
|
657
|
+
onClick: () => g(L)
|
|
658
658
|
}, F(V)), ve(t("div", { class: `calendar-select ${R ? "calendar-year-wrap" : "calendar-mon-wrap"}` }, [t("ul", { class: `sel ${L}` }, Y.map((z) => t("li", { key: z }, [t("button", {
|
|
659
659
|
type: "button",
|
|
660
660
|
class: { active: z === V },
|
|
@@ -698,7 +698,7 @@ var vt = [
|
|
|
698
698
|
onClick: G
|
|
699
699
|
}, [t("span", { class: "sr-only" }, "달력 열기"), t("i", { class: "svg-icon ico-calendar" })])]), t("div", {
|
|
700
700
|
ref: r,
|
|
701
|
-
class:
|
|
701
|
+
class: K.value
|
|
702
702
|
}, [ve(t("div", {
|
|
703
703
|
class: "calendar-wrap bottom",
|
|
704
704
|
"aria-label": "달력",
|
|
@@ -824,7 +824,7 @@ var vt = [
|
|
|
824
824
|
a("change", o);
|
|
825
825
|
}, h = (o) => {
|
|
826
826
|
a("focus", o);
|
|
827
|
-
},
|
|
827
|
+
}, p = (o) => {
|
|
828
828
|
a("blur", o);
|
|
829
829
|
}, w = (o) => {
|
|
830
830
|
a("keydown", o);
|
|
@@ -847,7 +847,7 @@ var vt = [
|
|
|
847
847
|
onInput: s,
|
|
848
848
|
onChange: d,
|
|
849
849
|
onFocus: h,
|
|
850
|
-
onBlur:
|
|
850
|
+
onBlur: p,
|
|
851
851
|
onKeydown: w,
|
|
852
852
|
onKeyup: c
|
|
853
853
|
};
|
|
@@ -943,7 +943,7 @@ var vt = [
|
|
|
943
943
|
onChange: n,
|
|
944
944
|
onFocus: s,
|
|
945
945
|
onBlur: d
|
|
946
|
-
})),
|
|
946
|
+
})), p = b(() => {
|
|
947
947
|
const c = ["form-conts"];
|
|
948
948
|
return e.state !== "default" && c.push(`is-${e.state}`), c;
|
|
949
949
|
}), w = () => {
|
|
@@ -962,7 +962,7 @@ var vt = [
|
|
|
962
962
|
};
|
|
963
963
|
return () => {
|
|
964
964
|
const c = t("select", h.value, w());
|
|
965
|
-
return e.sort ? c : t("div", { class:
|
|
965
|
+
return e.sort ? c : t("div", { class: p.value }, [c]);
|
|
966
966
|
};
|
|
967
967
|
}
|
|
968
968
|
}), bt = mt, kt = 0, St = M({
|
|
@@ -1067,28 +1067,28 @@ var vt = [
|
|
|
1067
1067
|
preview: (e) => !0
|
|
1068
1068
|
},
|
|
1069
1069
|
setup(e, { emit: a }) {
|
|
1070
|
-
const r = D(!1), l = D(null), n = e.id ? `${e.id}-input` : `krds-file-upload-${++kt}`, s = (
|
|
1071
|
-
const A =
|
|
1070
|
+
const r = D(!1), l = D(null), n = e.id ? `${e.id}-input` : `krds-file-upload-${++kt}`, s = (g) => g < 1024 ? `${g}B` : g < 1048576 ? `${Math.round(g / 1024)}KB` : `${(g / 1048576).toFixed(1)}MB`, d = (g) => {
|
|
1071
|
+
const A = g.split(".");
|
|
1072
1072
|
return A.length > 1 ? A.pop().toLowerCase() : "";
|
|
1073
|
-
}, h = (
|
|
1074
|
-
const A = d(
|
|
1075
|
-
return A ? `${I} [${A}, ${s(
|
|
1076
|
-
},
|
|
1077
|
-
if (e.maxFileSize &&
|
|
1073
|
+
}, h = (g) => {
|
|
1074
|
+
const A = d(g.name), I = A ? g.name.slice(0, -(A.length + 1)) : g.name;
|
|
1075
|
+
return A ? `${I} [${A}, ${s(g.size)}]` : `${g.name} [${s(g.size)}]`;
|
|
1076
|
+
}, p = () => `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`, w = (g) => {
|
|
1077
|
+
if (e.maxFileSize && g.size > e.maxFileSize) return `등록 가능한 파일 용량을 초과하였습니다.
|
|
1078
1078
|
${s(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
|
|
1079
1079
|
if (e.accept) {
|
|
1080
|
-
const A = e.accept.split(",").map((H) => H.trim().toLowerCase()), I = `.${d(
|
|
1080
|
+
const A = e.accept.split(",").map((H) => H.trim().toLowerCase()), I = `.${d(g.name)}`, O = g.type;
|
|
1081
1081
|
if (!A.some((H) => H.startsWith(".") ? I === H : H.endsWith("/*") ? O.startsWith(H.replace("/*", "/")) : O === H)) return "허용되지 않는 파일 형식입니다.";
|
|
1082
1082
|
}
|
|
1083
1083
|
return null;
|
|
1084
|
-
}, c = (
|
|
1084
|
+
}, c = (g) => {
|
|
1085
1085
|
if (e.disabled || e.readonly) return;
|
|
1086
1086
|
let A = [...e.modelValue || []];
|
|
1087
1087
|
!e.multiple && A.length > 0 && (A = []);
|
|
1088
1088
|
const I = [];
|
|
1089
|
-
for (let O = 0; O <
|
|
1090
|
-
const H =
|
|
1091
|
-
id:
|
|
1089
|
+
for (let O = 0; O < g.length && !(A.length + I.length >= e.maxFiles); O++) {
|
|
1090
|
+
const H = g[O], G = w(H), j = {
|
|
1091
|
+
id: p(),
|
|
1092
1092
|
file: H,
|
|
1093
1093
|
name: H.name,
|
|
1094
1094
|
size: H.size,
|
|
@@ -1099,25 +1099,25 @@ ${s(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
|
|
|
1099
1099
|
I.push(j), G ? a("file-error", j, G) : a("file-added", j);
|
|
1100
1100
|
}
|
|
1101
1101
|
I.length > 0 && a("update:modelValue", [...A, ...I]);
|
|
1102
|
-
}, B = (
|
|
1103
|
-
const A =
|
|
1102
|
+
}, B = (g) => {
|
|
1103
|
+
const A = g.target;
|
|
1104
1104
|
A.files?.length && (c(A.files), A.value = "");
|
|
1105
|
-
}, S = (
|
|
1106
|
-
e.disabled || e.readonly || !e.dragAndDrop || (
|
|
1105
|
+
}, S = (g) => {
|
|
1106
|
+
e.disabled || e.readonly || !e.dragAndDrop || (g.preventDefault(), r.value = !0);
|
|
1107
1107
|
}, $ = () => {
|
|
1108
1108
|
r.value = !1;
|
|
1109
|
-
}, f = (
|
|
1110
|
-
|
|
1109
|
+
}, f = (g) => {
|
|
1110
|
+
g.preventDefault(), r.value = !1, !(e.disabled || e.readonly || !e.dragAndDrop) && g.dataTransfer?.files && c(g.dataTransfer.files);
|
|
1111
1111
|
}, o = () => {
|
|
1112
1112
|
e.disabled || e.readonly || l.value?.click();
|
|
1113
|
-
}, i = (
|
|
1114
|
-
e.disabled || e.readonly || (a("update:modelValue", (e.modelValue || []).filter((A) => A.id !==
|
|
1115
|
-
},
|
|
1113
|
+
}, i = (g) => {
|
|
1114
|
+
e.disabled || e.readonly || (a("update:modelValue", (e.modelValue || []).filter((A) => A.id !== g)), a("file-removed", g));
|
|
1115
|
+
}, v = () => {
|
|
1116
1116
|
e.disabled || e.readonly || (a("update:modelValue", []), a("clear-all"));
|
|
1117
1117
|
}, m = b(() => {
|
|
1118
|
-
const
|
|
1119
|
-
return e.class &&
|
|
1120
|
-
}), x = () => t("div", { class: "file-head" }, [t("h3", { class: "tit" }, e.title), t("div", null, [t("p", null, e.description)])]),
|
|
1118
|
+
const g = ["krds-file-upload", "line"];
|
|
1119
|
+
return e.class && g.push(e.class), g;
|
|
1120
|
+
}), x = () => t("div", { class: "file-head" }, [t("h3", { class: "tit" }, e.title), t("div", null, [t("p", null, e.description)])]), K = () => t("div", {
|
|
1121
1121
|
class: "file-upload",
|
|
1122
1122
|
onDragover: S,
|
|
1123
1123
|
onDragleave: $,
|
|
@@ -1136,55 +1136,55 @@ ${s(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
|
|
|
1136
1136
|
class: ["krds-btn", e.size],
|
|
1137
1137
|
disabled: e.disabled || void 0,
|
|
1138
1138
|
onClick: o
|
|
1139
|
-
}, [t("i", { class: "svg-icon ico-upload" }), "파일선택"])])])]), E = (
|
|
1139
|
+
}, [t("i", { class: "svg-icon ico-upload" }), "파일선택"])])])]), E = (g) => {
|
|
1140
1140
|
const A = [];
|
|
1141
|
-
return
|
|
1141
|
+
return g.status === "uploading" ? A.push(t("span", {
|
|
1142
1142
|
class: "krds-spinner",
|
|
1143
1143
|
role: "status"
|
|
1144
|
-
}, [t("span", { class: "sr-only" }, "업로드 중")])) :
|
|
1144
|
+
}, [t("span", { class: "sr-only" }, "업로드 중")])) : g.downloadUrl ? (e.showDownload && A.push(t("button", {
|
|
1145
1145
|
type: "button",
|
|
1146
1146
|
class: "krds-btn medium text",
|
|
1147
|
-
onClick: () => a("download",
|
|
1147
|
+
onClick: () => a("download", g)
|
|
1148
1148
|
}, ["다운로드 ", t("i", { class: "svg-icon ico-down" })])), e.showPreviewButton && A.push(t("button", {
|
|
1149
1149
|
type: "button",
|
|
1150
1150
|
class: "krds-btn medium text",
|
|
1151
|
-
onClick: () => a("preview",
|
|
1152
|
-
}, ["바로보기 ", t("i", { class: "svg-icon ico-angle right" })]))) :
|
|
1151
|
+
onClick: () => a("preview", g)
|
|
1152
|
+
}, ["바로보기 ", t("i", { class: "svg-icon ico-angle right" })]))) : g.status === "completed" ? A.push(t("span", { class: "ico-invalid complete" }, [t("em", { class: "sr-only" }, "업로드 완료")])) : e.readonly || A.push(t("button", {
|
|
1153
1153
|
type: "button",
|
|
1154
1154
|
class: "krds-btn medium text",
|
|
1155
1155
|
disabled: e.disabled || void 0,
|
|
1156
|
-
onClick: () => i(
|
|
1156
|
+
onClick: () => i(g.id)
|
|
1157
1157
|
}, ["삭제 ", t("i", { class: "svg-icon ico-delete-fill" })])), A;
|
|
1158
|
-
}, T = (
|
|
1159
|
-
const A = [t("div", { class:
|
|
1160
|
-
if (
|
|
1161
|
-
const I =
|
|
1158
|
+
}, T = (g) => {
|
|
1159
|
+
const A = [t("div", { class: g.downloadUrl ? "file-info m-column" : "file-info" }, [t("div", { class: "file-name" }, h(g)), t("div", { class: "btn-wrap" }, E(g))])];
|
|
1160
|
+
if (g.status === "error" && g.errorMessage) {
|
|
1161
|
+
const I = g.errorMessage.split(`
|
|
1162
1162
|
`), O = [];
|
|
1163
1163
|
I.forEach((H, G) => {
|
|
1164
1164
|
G > 0 && O.push(t("br")), O.push(H);
|
|
1165
1165
|
}), A.push(t("p", { class: "file-hint-invalid" }, O));
|
|
1166
1166
|
}
|
|
1167
1167
|
return t("li", {
|
|
1168
|
-
key:
|
|
1169
|
-
class:
|
|
1168
|
+
key: g.id,
|
|
1169
|
+
class: g.status === "error" ? "is-error" : void 0
|
|
1170
1170
|
}, A);
|
|
1171
|
-
}, _ = (
|
|
1172
|
-
const A =
|
|
1171
|
+
}, _ = (g) => {
|
|
1172
|
+
const A = g.filter((O) => O.status !== "error").length, I = [t("div", { class: "total" }, [t("span", { class: "current" }, `${A}개`), ` / ${e.maxFiles}개`]), t("ul", { class: "upload-list" }, g.map(T))];
|
|
1173
1173
|
return e.showClearAll && !e.readonly && I.push(t("div", { class: "upload-delete-btn" }, [t("button", {
|
|
1174
1174
|
type: "button",
|
|
1175
1175
|
class: "krds-btn xsmall tertiary",
|
|
1176
1176
|
disabled: e.disabled || void 0,
|
|
1177
|
-
onClick:
|
|
1177
|
+
onClick: v
|
|
1178
1178
|
}, ["전체 파일 삭제", t("i", { class: "svg-icon ico-angle right" })])])), t("div", { class: "file-list" }, I);
|
|
1179
1179
|
};
|
|
1180
1180
|
return () => {
|
|
1181
|
-
const
|
|
1182
|
-
e.readonly ||
|
|
1181
|
+
const g = [x()];
|
|
1182
|
+
e.readonly || g.push(K());
|
|
1183
1183
|
const A = e.modelValue || [];
|
|
1184
|
-
return A.length > 0 &&
|
|
1184
|
+
return A.length > 0 && g.push(_(A)), t("div", {
|
|
1185
1185
|
class: m.value,
|
|
1186
1186
|
style: e.style || void 0
|
|
1187
|
-
},
|
|
1187
|
+
}, g);
|
|
1188
1188
|
};
|
|
1189
1189
|
}
|
|
1190
1190
|
}), wt = St, Kt = M({
|
|
@@ -1267,11 +1267,11 @@ ${s(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
|
|
|
1267
1267
|
return () => {
|
|
1268
1268
|
const d = [], h = r.default?.();
|
|
1269
1269
|
if (h && d.push(h), e.link || d.push(s()), e.link) {
|
|
1270
|
-
const
|
|
1270
|
+
const p = {
|
|
1271
1271
|
href: e.href,
|
|
1272
1272
|
class: l.value
|
|
1273
1273
|
};
|
|
1274
|
-
return e.target && (
|
|
1274
|
+
return e.target && (p.target = e.target), e.rel && (p.rel = e.rel), t("a", p, d);
|
|
1275
1275
|
}
|
|
1276
1276
|
return t("span", { class: l.value }, d);
|
|
1277
1277
|
};
|
|
@@ -1371,9 +1371,9 @@ var _t = M({
|
|
|
1371
1371
|
change: (e) => !0
|
|
1372
1372
|
},
|
|
1373
1373
|
setup(e, { emit: a, attrs: r }) {
|
|
1374
|
-
const l = `toggle-switch-${oe()}`, n = b(() => e.modelValue), s = b(() => he("krds-form-toggle-switch", e.size, e.class)), d = (
|
|
1374
|
+
const l = `toggle-switch-${oe()}`, n = b(() => e.modelValue), s = b(() => he("krds-form-toggle-switch", e.size, e.class)), d = (p) => {
|
|
1375
1375
|
if (e.disabled) return;
|
|
1376
|
-
const w =
|
|
1376
|
+
const w = p.target.checked;
|
|
1377
1377
|
a("update:modelValue", w), a("change", w);
|
|
1378
1378
|
}, h = b(() => e.id || l);
|
|
1379
1379
|
return () => t("div", { class: s.value }, [t("input", {
|
|
@@ -1443,16 +1443,16 @@ var _t = M({
|
|
|
1443
1443
|
if (e.disabled) return;
|
|
1444
1444
|
const c = w.target.checked;
|
|
1445
1445
|
a("update:modelValue", c);
|
|
1446
|
-
},
|
|
1446
|
+
}, p = b(() => e.id || n);
|
|
1447
1447
|
return () => {
|
|
1448
1448
|
const w = [t("input", {
|
|
1449
1449
|
type: "checkbox",
|
|
1450
|
-
id:
|
|
1450
|
+
id: p.value,
|
|
1451
1451
|
checked: s.value,
|
|
1452
1452
|
disabled: e.disabled,
|
|
1453
1453
|
onChange: h,
|
|
1454
1454
|
...r
|
|
1455
|
-
}), t("label", { for:
|
|
1455
|
+
}), t("label", { for: p.value }, l.default?.())];
|
|
1456
1456
|
return l.description && !e.chip && w.push(t("div", { class: "krds-form-check-cnt" }, t("p", { class: "krds-form-check-p" }, l.description()))), t("div", { class: d.value }, w);
|
|
1457
1457
|
};
|
|
1458
1458
|
}
|
|
@@ -1509,18 +1509,18 @@ var _t = M({
|
|
|
1509
1509
|
return he(c, e.size, e.class);
|
|
1510
1510
|
}), h = (c) => {
|
|
1511
1511
|
e.disabled || c.target.checked && a("update:modelValue", e.value);
|
|
1512
|
-
},
|
|
1512
|
+
}, p = b(() => e.id || n), w = b(() => e.name);
|
|
1513
1513
|
return () => {
|
|
1514
1514
|
const c = [t("input", {
|
|
1515
1515
|
type: "radio",
|
|
1516
|
-
id:
|
|
1516
|
+
id: p.value,
|
|
1517
1517
|
name: w.value,
|
|
1518
1518
|
value: String(e.value),
|
|
1519
1519
|
checked: s.value,
|
|
1520
1520
|
disabled: e.disabled,
|
|
1521
1521
|
onChange: h,
|
|
1522
1522
|
...r
|
|
1523
|
-
}), t("label", { for:
|
|
1523
|
+
}), t("label", { for: p.value }, l.default?.())];
|
|
1524
1524
|
return l.description && !e.chip && c.push(t("div", { class: "krds-form-check-cnt" }, t("p", { class: "krds-form-check-p" }, l.description()))), t("div", { class: d.value }, c);
|
|
1525
1525
|
};
|
|
1526
1526
|
}
|
|
@@ -1542,8 +1542,8 @@ var _t = M({
|
|
|
1542
1542
|
const h = ["krds-step-wrap"];
|
|
1543
1543
|
return e.class && h.push(e.class), h;
|
|
1544
1544
|
}), l = (h) => {
|
|
1545
|
-
const
|
|
1546
|
-
return h <
|
|
1545
|
+
const p = e.modelValue || 0;
|
|
1546
|
+
return h < p ? "done" : h === p ? "active" : "pending";
|
|
1547
1547
|
}, n = D(0), s = () => {
|
|
1548
1548
|
n.value = 0;
|
|
1549
1549
|
}, d = () => n.value++;
|
|
@@ -1577,18 +1577,18 @@ var _t = M({
|
|
|
1577
1577
|
emits: { click: (e, a) => !0 },
|
|
1578
1578
|
setup(e, { emit: a, slots: r }) {
|
|
1579
1579
|
const l = Xe("stepIndicator"), n = l ? l.getNextStepIndex() : -1, s = b(() => e.status ? e.status : l && n >= 0 ? l.getStepStatus(n) : "pending"), d = b(() => {
|
|
1580
|
-
const
|
|
1581
|
-
return e.class &&
|
|
1582
|
-
}), h = (
|
|
1583
|
-
a("click",
|
|
1580
|
+
const p = [s.value];
|
|
1581
|
+
return e.class && p.push(e.class), p;
|
|
1582
|
+
}), h = (p) => {
|
|
1583
|
+
a("click", p, e.step);
|
|
1584
1584
|
};
|
|
1585
1585
|
return () => {
|
|
1586
|
-
const
|
|
1586
|
+
const p = s.value === "active";
|
|
1587
1587
|
return t("li", {
|
|
1588
1588
|
class: d.value,
|
|
1589
1589
|
onClick: h
|
|
1590
1590
|
}, [t("span", [
|
|
1591
|
-
|
|
1591
|
+
p && t("em", { class: "sr-only" }, "현재단계"),
|
|
1592
1592
|
t("i", { class: "step" }, e.step),
|
|
1593
1593
|
t("span", { class: "step-tit" }, e.title),
|
|
1594
1594
|
r.default?.()
|
|
@@ -1710,10 +1710,10 @@ var _t = M({
|
|
|
1710
1710
|
o.preventDefault();
|
|
1711
1711
|
const i = document.querySelector(f.href);
|
|
1712
1712
|
if (i) {
|
|
1713
|
-
const
|
|
1713
|
+
const v = d();
|
|
1714
1714
|
if (window.scrollTo({
|
|
1715
1715
|
left: 0,
|
|
1716
|
-
top: i.getBoundingClientRect().top + window.scrollY -
|
|
1716
|
+
top: i.getBoundingClientRect().top + window.scrollY - v,
|
|
1717
1717
|
behavior: "smooth"
|
|
1718
1718
|
}), l.value = f.href, o instanceof KeyboardEvent) {
|
|
1719
1719
|
const m = i.querySelector(".sec-tit, h1, h2, h3, h4, h5, h6");
|
|
@@ -1721,26 +1721,26 @@ var _t = M({
|
|
|
1721
1721
|
}
|
|
1722
1722
|
}
|
|
1723
1723
|
}
|
|
1724
|
-
},
|
|
1724
|
+
}, p = () => {
|
|
1725
1725
|
n.value.clear(), e.items && e.items.filter((f) => f.href.startsWith("#")).forEach((f) => {
|
|
1726
1726
|
const o = document.querySelector(f.href);
|
|
1727
1727
|
o && n.value.set(f.href, o);
|
|
1728
1728
|
});
|
|
1729
1729
|
}, w = () => {
|
|
1730
1730
|
if (!e.autoActive || !e.items || n.value.size === 0) return;
|
|
1731
|
-
const f = window.innerHeight, o = Math.ceil(f / 5), i = window.scrollY + f,
|
|
1731
|
+
const f = window.innerHeight, o = Math.ceil(f / 5), i = window.scrollY + f, v = document.body.scrollHeight, m = e.items.filter((_) => _.href.startsWith("#") && n.value.has(_.href)).map((_) => ({
|
|
1732
1732
|
href: _.href,
|
|
1733
1733
|
element: n.value.get(_.href),
|
|
1734
1734
|
item: _
|
|
1735
1735
|
}));
|
|
1736
1736
|
if (m.length === 0) return;
|
|
1737
|
-
const x = m[0],
|
|
1737
|
+
const x = m[0], K = m[m.length - 1], E = x.element.offsetTop;
|
|
1738
1738
|
let T = "";
|
|
1739
|
-
if (i >=
|
|
1739
|
+
if (i >= v) T = K.href;
|
|
1740
1740
|
else if (window.scrollY <= E) T = x.href;
|
|
1741
1741
|
else for (const _ of m) {
|
|
1742
|
-
const
|
|
1743
|
-
if (window.scrollY > A && window.scrollY <= A +
|
|
1742
|
+
const g = _.element.offsetHeight, A = _.element.offsetTop - o;
|
|
1743
|
+
if (window.scrollY > A && window.scrollY <= A + g) {
|
|
1744
1744
|
T = _.href;
|
|
1745
1745
|
break;
|
|
1746
1746
|
}
|
|
@@ -1751,20 +1751,20 @@ var _t = M({
|
|
|
1751
1751
|
const f = e.items.find((o) => o.active);
|
|
1752
1752
|
f ? l.value = f.href : e.items.length > 0 && (l.value = e.items[0].href);
|
|
1753
1753
|
};
|
|
1754
|
-
|
|
1754
|
+
re(() => {
|
|
1755
1755
|
if (c(), e.autoActive) {
|
|
1756
|
-
|
|
1756
|
+
p(), w(), window.addEventListener("scroll", w, { passive: !0 });
|
|
1757
1757
|
const f = new MutationObserver(() => {
|
|
1758
|
-
|
|
1758
|
+
p();
|
|
1759
1759
|
});
|
|
1760
1760
|
f.observe(document.body, {
|
|
1761
1761
|
childList: !0,
|
|
1762
1762
|
subtree: !0
|
|
1763
|
-
}),
|
|
1763
|
+
}), ie(() => {
|
|
1764
1764
|
f.disconnect();
|
|
1765
1765
|
});
|
|
1766
1766
|
}
|
|
1767
|
-
}),
|
|
1767
|
+
}), ie(() => {
|
|
1768
1768
|
e.autoActive && (window.removeEventListener("scroll", w), n.value.clear());
|
|
1769
1769
|
});
|
|
1770
1770
|
const B = () => !e.caption && !e.title ? null : t("div", { class: "in-page-navigation-header" }, [e.caption && t("p", { class: "quick-caption" }, e.caption), e.title && t("p", { class: "quick-title" }, e.title)]), S = () => {
|
|
@@ -1774,9 +1774,9 @@ var _t = M({
|
|
|
1774
1774
|
return t("li", { key: o.href }, [t("a", {
|
|
1775
1775
|
href: o.href,
|
|
1776
1776
|
class: i ? "active" : "",
|
|
1777
|
-
onClick: (
|
|
1778
|
-
onKeydown: (
|
|
1779
|
-
(
|
|
1777
|
+
onClick: (v) => h(o, v),
|
|
1778
|
+
onKeydown: (v) => {
|
|
1779
|
+
(v.key === "Enter" || v.key === " ") && (v.preventDefault(), h(o, v));
|
|
1780
1780
|
}
|
|
1781
1781
|
}, o.text)]);
|
|
1782
1782
|
});
|
|
@@ -1836,41 +1836,41 @@ var _t = M({
|
|
|
1836
1836
|
}), h = b(() => {
|
|
1837
1837
|
if (!s.value)
|
|
1838
1838
|
return "#";
|
|
1839
|
-
}),
|
|
1839
|
+
}), p = b(() => {
|
|
1840
1840
|
const { max: $ } = e, f = e.pageRange ?? Se, o = 1, i = [];
|
|
1841
|
-
if ($ <= f + 2) for (let
|
|
1841
|
+
if ($ <= f + 2) for (let v = r.value; v <= $; v++) i.push({
|
|
1842
1842
|
type: "page",
|
|
1843
|
-
key: `page-${
|
|
1844
|
-
page:
|
|
1843
|
+
key: `page-${v}`,
|
|
1844
|
+
page: v,
|
|
1845
1845
|
href: "#"
|
|
1846
1846
|
});
|
|
1847
1847
|
else {
|
|
1848
|
-
const
|
|
1849
|
-
for (let
|
|
1848
|
+
const v = Math.min(o, $), m = Math.max($ - o + 1, 1), x = Math.max(r.value, l.value - Math.floor(f / 2)), K = Math.min($, x + f - 1), E = Math.max(r.value, K - f + 1);
|
|
1849
|
+
for (let g = r.value; g <= v; g++) i.push({
|
|
1850
1850
|
type: "page",
|
|
1851
|
-
key: `page-${
|
|
1852
|
-
page:
|
|
1851
|
+
key: `page-${g}`,
|
|
1852
|
+
page: g,
|
|
1853
1853
|
href: "#"
|
|
1854
1854
|
});
|
|
1855
|
-
E >
|
|
1855
|
+
E > v + 1 && i.push({
|
|
1856
1856
|
type: "ellipsis",
|
|
1857
1857
|
key: "ellipsis-left"
|
|
1858
1858
|
});
|
|
1859
|
-
const T = Math.max(E,
|
|
1860
|
-
for (let
|
|
1859
|
+
const T = Math.max(E, v + 1), _ = Math.min(K, m - 1);
|
|
1860
|
+
for (let g = T; g <= _; g++) i.push({
|
|
1861
1861
|
type: "page",
|
|
1862
|
-
key: `page-${
|
|
1863
|
-
page:
|
|
1862
|
+
key: `page-${g}`,
|
|
1863
|
+
page: g,
|
|
1864
1864
|
href: "#"
|
|
1865
1865
|
});
|
|
1866
|
-
|
|
1866
|
+
K < m - 1 && i.push({
|
|
1867
1867
|
type: "ellipsis",
|
|
1868
1868
|
key: "ellipsis-right"
|
|
1869
1869
|
});
|
|
1870
|
-
for (let
|
|
1870
|
+
for (let g = m; g <= $; g++) i.push({
|
|
1871
1871
|
type: "page",
|
|
1872
|
-
key: `page-${
|
|
1873
|
-
page:
|
|
1872
|
+
key: `page-${g}`,
|
|
1873
|
+
page: g,
|
|
1874
1874
|
href: "#"
|
|
1875
1875
|
});
|
|
1876
1876
|
}
|
|
@@ -1922,7 +1922,7 @@ var _t = M({
|
|
|
1922
1922
|
],
|
|
1923
1923
|
onClick: c
|
|
1924
1924
|
}, "이전"),
|
|
1925
|
-
t("div", { class: "page-links" },
|
|
1925
|
+
t("div", { class: "page-links" }, p.value.map(S)),
|
|
1926
1926
|
t(s.value ? "span" : "a", {
|
|
1927
1927
|
href: s.value ? void 0 : h.value,
|
|
1928
1928
|
class: [
|
|
@@ -1983,23 +1983,23 @@ var _t = M({
|
|
|
1983
1983
|
setup(e, { slots: a }) {
|
|
1984
1984
|
const r = D(), l = D(), n = D(), s = D(), d = D(!1), h = () => {
|
|
1985
1985
|
const o = d.value;
|
|
1986
|
-
c(), o ||
|
|
1987
|
-
},
|
|
1986
|
+
c(), o || p();
|
|
1987
|
+
}, p = () => {
|
|
1988
1988
|
!n.value || !l.value || (d.value = !0, n.value.style.display = "block", l.value.setAttribute("aria-expanded", "true"), n.value.querySelector('a, button, [tabindex="0"], input, textarea, select')?.focus(), B());
|
|
1989
1989
|
}, w = () => {
|
|
1990
1990
|
!n.value || !l.value || (d.value = !1, n.value.style.display = "none", l.value.setAttribute("aria-expanded", "false"));
|
|
1991
1991
|
}, c = () => {
|
|
1992
1992
|
const o = document.querySelectorAll(".krds-contextual-help .tooltip-popover"), i = document.querySelectorAll(".krds-contextual-help .tooltip-btn");
|
|
1993
|
-
o.forEach((
|
|
1994
|
-
|
|
1995
|
-
}), i.forEach((
|
|
1996
|
-
|
|
1993
|
+
o.forEach((v) => {
|
|
1994
|
+
v.style.display = "none";
|
|
1995
|
+
}), i.forEach((v) => {
|
|
1996
|
+
v.setAttribute("aria-expanded", "false");
|
|
1997
1997
|
}), d.value = !1;
|
|
1998
1998
|
}, B = () => {
|
|
1999
1999
|
if (!r.value || !n.value) return;
|
|
2000
2000
|
const o = window.innerWidth <= 768, i = r.value.querySelector(".tooltip-action");
|
|
2001
2001
|
if (o) {
|
|
2002
|
-
const
|
|
2002
|
+
const v = getComputedStyle(document.querySelector(":root")).getPropertyValue("--krds-contents-padding-x").trim().split("px")[0], m = i.getBoundingClientRect().left - parseInt(v), x = document.body.clientWidth - parseInt(v) * 2;
|
|
2003
2003
|
n.value.style.left = `-${m}px`, n.value.style.width = `${x}px`;
|
|
2004
2004
|
} else
|
|
2005
2005
|
n.value.style.left = "", n.value.style.right = "", n.value.style.width = "360px";
|
|
@@ -2010,9 +2010,9 @@ var _t = M({
|
|
|
2010
2010
|
}, f = () => {
|
|
2011
2011
|
d.value && B();
|
|
2012
2012
|
};
|
|
2013
|
-
return
|
|
2013
|
+
return re(() => {
|
|
2014
2014
|
r.value && (l.value && l.value.setAttribute("aria-expanded", "false"), n.value && n.value.setAttribute("role", "tooltip"), document.addEventListener("keydown", S), document.addEventListener("click", $), window.addEventListener("resize", f));
|
|
2015
|
-
}),
|
|
2015
|
+
}), ie(() => {
|
|
2016
2016
|
document.removeEventListener("keydown", S), document.removeEventListener("click", $), window.removeEventListener("resize", f);
|
|
2017
2017
|
}), () => t("div", {
|
|
2018
2018
|
ref: r,
|
|
@@ -2067,8 +2067,8 @@ var _t = M({
|
|
|
2067
2067
|
},
|
|
2068
2068
|
setup(e, { emit: a, slots: r }) {
|
|
2069
2069
|
const l = b(() => {
|
|
2070
|
-
const
|
|
2071
|
-
return e.stepsData &&
|
|
2070
|
+
const p = e.activeStep - 1;
|
|
2071
|
+
return e.stepsData && p >= 0 && p < e.stepsData.length ? e.stepsData[p] : null;
|
|
2072
2072
|
}), n = () => {
|
|
2073
2073
|
e.activeStep > 1 && a("update:modelValue", e.activeStep - 1);
|
|
2074
2074
|
}, s = () => {
|
|
@@ -2076,11 +2076,11 @@ var _t = M({
|
|
|
2076
2076
|
}, d = () => {
|
|
2077
2077
|
a("close");
|
|
2078
2078
|
}, h = () => {
|
|
2079
|
-
const
|
|
2080
|
-
return e.modelValue !== e.activeStep || !
|
|
2079
|
+
const p = l.value;
|
|
2080
|
+
return e.modelValue !== e.activeStep || !p ? null : t("div", { class: "coach-balloon" }, [
|
|
2081
2081
|
t("h5", { class: "sr-only" }, "따라하기 가이드"),
|
|
2082
|
-
t("h6", { class: "coach-tit" }, `${e.activeStep}단계 : ${
|
|
2083
|
-
t("p", { class: "desc" },
|
|
2082
|
+
t("h6", { class: "coach-tit" }, `${e.activeStep}단계 : ${p.title}`),
|
|
2083
|
+
t("p", { class: "desc" }, p.description),
|
|
2084
2084
|
t("div", { class: "coach-controls" }, [t("div", { class: "num" }, [
|
|
2085
2085
|
t("span", { class: "sr-only" }, "현재 단계"),
|
|
2086
2086
|
t("strong", null, String(e.activeStep)),
|
|
@@ -2135,7 +2135,7 @@ var _t = M({
|
|
|
2135
2135
|
}
|
|
2136
2136
|
},
|
|
2137
2137
|
setup(e, { slots: a }) {
|
|
2138
|
-
const r = D(null), l = D(null), n = D(!1), s = D({}), d = `tooltip-popover-${oe()}`, h = D(!1),
|
|
2138
|
+
const r = D(null), l = D(null), n = D(!1), s = D({}), d = `tooltip-popover-${oe()}`, h = D(!1), p = b(() => {
|
|
2139
2139
|
const m = ["krds-btn", "krds-tooltip"];
|
|
2140
2140
|
return e.type === "default" ? m.push("small", "text") : e.type === "icon" ? m.push("icon") : e.type === "button" && m.push(""), !e.box && e.vertical && m.push("tooltip-vertical"), e.box && !e.vertical && m.push("tooltip-box"), m.join(" ");
|
|
2141
2141
|
}), w = b(() => {
|
|
@@ -2145,10 +2145,10 @@ var _t = M({
|
|
|
2145
2145
|
if (!r.value || !l.value) return;
|
|
2146
2146
|
const m = r.value.querySelector("button");
|
|
2147
2147
|
if (!m) return;
|
|
2148
|
-
const x = 12, { clientHeight:
|
|
2148
|
+
const x = 12, { clientHeight: K, clientWidth: E } = l.value, { top: T, left: _, right: g, height: A, width: I } = m.getBoundingClientRect(), O = window.innerWidth / 2, H = window.innerHeight / 2;
|
|
2149
2149
|
let G, j;
|
|
2150
2150
|
const X = [];
|
|
2151
|
-
h.value || e.box || e.vertical ? (T + A > H ? (G = T -
|
|
2151
|
+
h.value || e.box || e.vertical ? (T + A > H ? (G = T - K - x, X.push("top")) : (G = T + A + x, X.push("bottom")), _ + I > O ? (j = g - E, X.push("right"), window.innerWidth - (_ + I) > E / 2 && (j = _ + (I - E) / 2, X.splice(X.indexOf("right"), 1))) : (j = _ + (I - E) / 2, j < 0 && (j = _, X.push("left")))) : (G = T + (A - K) / 2, _ + I > O ? (j = _ - E - x, X.push("right")) : j = g + x);
|
|
2152
2152
|
const le = window.innerWidth <= 420;
|
|
2153
2153
|
s.value = {
|
|
2154
2154
|
top: `${G}px`,
|
|
@@ -2163,16 +2163,16 @@ var _t = M({
|
|
|
2163
2163
|
(m.key === "Escape" || m.key === "Esc") && n.value && f();
|
|
2164
2164
|
}, i = () => {
|
|
2165
2165
|
h.value = B(), n.value && f();
|
|
2166
|
-
},
|
|
2166
|
+
}, v = () => {
|
|
2167
2167
|
n.value && f();
|
|
2168
2168
|
};
|
|
2169
|
-
return
|
|
2170
|
-
h.value = B(), document.addEventListener("keydown", o), window.addEventListener("scroll",
|
|
2171
|
-
}),
|
|
2172
|
-
document.removeEventListener("keydown", o), window.removeEventListener("scroll",
|
|
2169
|
+
return re(() => {
|
|
2170
|
+
h.value = B(), document.addEventListener("keydown", o), window.addEventListener("scroll", v), window.addEventListener("resize", i);
|
|
2171
|
+
}), ie(() => {
|
|
2172
|
+
document.removeEventListener("keydown", o), window.removeEventListener("scroll", v), window.removeEventListener("resize", i);
|
|
2173
2173
|
}), () => t("div", { ref: r }, [t("button", {
|
|
2174
2174
|
type: "button",
|
|
2175
|
-
class:
|
|
2175
|
+
class: p.value,
|
|
2176
2176
|
disabled: e.disabled,
|
|
2177
2177
|
"aria-labelledby": d,
|
|
2178
2178
|
onMouseover: $,
|
|
@@ -2221,14 +2221,14 @@ var _t = M({
|
|
|
2221
2221
|
l.value = !l.value, l.value && n.value && w();
|
|
2222
2222
|
}, h = () => {
|
|
2223
2223
|
l.value = !1;
|
|
2224
|
-
},
|
|
2224
|
+
}, p = (i) => {
|
|
2225
2225
|
a("update:modelValue", i), h(), a("close"), s.value?.focus();
|
|
2226
2226
|
}, w = () => {
|
|
2227
2227
|
if (!n.value) return;
|
|
2228
2228
|
const i = n.value.querySelector(".drop-menu");
|
|
2229
2229
|
if (!i) return;
|
|
2230
|
-
const
|
|
2231
|
-
n.value.classList.remove("drop-left", "drop-right"),
|
|
2230
|
+
const v = i.getBoundingClientRect(), m = window.innerWidth;
|
|
2231
|
+
n.value.classList.remove("drop-left", "drop-right"), v.left < 0 ? n.value.classList.add("drop-left") : m < v.left + v.width && n.value.classList.add("drop-right");
|
|
2232
2232
|
}, c = (i) => {
|
|
2233
2233
|
i.key === "Escape" && (h(), s.value?.focus());
|
|
2234
2234
|
}, B = (i) => {
|
|
@@ -2240,12 +2240,12 @@ var _t = M({
|
|
|
2240
2240
|
n.value.querySelectorAll(".drop-list .item-link").forEach((m) => {
|
|
2241
2241
|
m.style.position = "relative", m.style.zIndex = "0";
|
|
2242
2242
|
});
|
|
2243
|
-
const
|
|
2244
|
-
|
|
2243
|
+
const v = i.target;
|
|
2244
|
+
v.style.zIndex = "1";
|
|
2245
2245
|
};
|
|
2246
2246
|
se(l, (i) => {
|
|
2247
2247
|
i ? (document.addEventListener("keydown", c), document.addEventListener("click", B)) : (document.removeEventListener("keydown", c), document.removeEventListener("click", B));
|
|
2248
|
-
}),
|
|
2248
|
+
}), ie(() => {
|
|
2249
2249
|
document.removeEventListener("keydown", c), document.removeEventListener("click", B);
|
|
2250
2250
|
});
|
|
2251
2251
|
const f = () => t("ul", { class: "drop-list" }, e.languageList.map((i) => t("li", { key: i.code }, [t("a", {
|
|
@@ -2253,7 +2253,7 @@ var _t = M({
|
|
|
2253
2253
|
class: ["item-link", { active: e.modelValue === i.code }],
|
|
2254
2254
|
lang: i.code,
|
|
2255
2255
|
"aria-selected": e.modelValue === i.code,
|
|
2256
|
-
onClick: ge(() =>
|
|
2256
|
+
onClick: ge(() => p(i.code), ["prevent"]),
|
|
2257
2257
|
onFocus: $
|
|
2258
2258
|
}, [
|
|
2259
2259
|
i.name,
|
|
@@ -2333,36 +2333,36 @@ var _t = M({
|
|
|
2333
2333
|
}
|
|
2334
2334
|
], h = () => {
|
|
2335
2335
|
r.value = !r.value, r.value && l.value && B();
|
|
2336
|
-
},
|
|
2336
|
+
}, p = () => {
|
|
2337
2337
|
r.value = !1;
|
|
2338
2338
|
}, w = (i) => {
|
|
2339
|
-
|
|
2339
|
+
p(), a("close"), n.value?.focus(), s.value = i.key, document.body.style.zoom = i?.zoom;
|
|
2340
2340
|
}, c = () => {
|
|
2341
|
-
const i = d.find((
|
|
2341
|
+
const i = d.find((v) => v.key === "md");
|
|
2342
2342
|
i && w(i);
|
|
2343
2343
|
}, B = () => {
|
|
2344
2344
|
if (!l.value) return;
|
|
2345
2345
|
const i = l.value.querySelector(".drop-menu");
|
|
2346
2346
|
if (!i) return;
|
|
2347
|
-
const
|
|
2348
|
-
l.value.classList.remove("drop-left", "drop-right"),
|
|
2347
|
+
const v = i.getBoundingClientRect(), m = window.innerWidth;
|
|
2348
|
+
l.value.classList.remove("drop-left", "drop-right"), v.left < 0 ? l.value.classList.add("drop-left") : m < v.left + v.width && l.value.classList.add("drop-right");
|
|
2349
2349
|
}, S = (i) => {
|
|
2350
|
-
i.key === "Escape" && (
|
|
2350
|
+
i.key === "Escape" && (p(), n.value?.focus());
|
|
2351
2351
|
}, $ = (i) => {
|
|
2352
|
-
l.value?.contains(i.target) ||
|
|
2352
|
+
l.value?.contains(i.target) || p();
|
|
2353
2353
|
}, f = (i) => {
|
|
2354
|
-
l.value?.contains(i.relatedTarget) ||
|
|
2354
|
+
l.value?.contains(i.relatedTarget) || p();
|
|
2355
2355
|
}, o = (i) => {
|
|
2356
2356
|
if (!l.value) return;
|
|
2357
2357
|
l.value.querySelectorAll(".drop-list .item-link").forEach((m) => {
|
|
2358
2358
|
m.style.position = "relative", m.style.zIndex = "0";
|
|
2359
2359
|
});
|
|
2360
|
-
const
|
|
2361
|
-
|
|
2360
|
+
const v = i.target;
|
|
2361
|
+
v.style.zIndex = "1";
|
|
2362
2362
|
};
|
|
2363
2363
|
return se(r, (i) => {
|
|
2364
2364
|
i ? (document.addEventListener("keydown", S), document.addEventListener("click", $)) : (document.removeEventListener("keydown", S), document.removeEventListener("click", $));
|
|
2365
|
-
}),
|
|
2365
|
+
}), ie(() => {
|
|
2366
2366
|
document.removeEventListener("keydown", S), document.removeEventListener("click", $);
|
|
2367
2367
|
}), () => t("div", {
|
|
2368
2368
|
ref: l,
|
|
@@ -2432,51 +2432,51 @@ var _t = M({
|
|
|
2432
2432
|
setup(e, { slots: a, emit: r }) {
|
|
2433
2433
|
const l = xe()?.uid, n = b(() => e.modalId ?? `krds-modal-${l}`), s = b({
|
|
2434
2434
|
get: () => e.modelValue,
|
|
2435
|
-
set: (
|
|
2435
|
+
set: (v) => r("update:modelValue", v)
|
|
2436
2436
|
}), d = b(() => `tit_${n.value}`), h = b(() => ({
|
|
2437
2437
|
small: "modal-sm",
|
|
2438
2438
|
medium: "modal-md",
|
|
2439
2439
|
large: "modal-lg"
|
|
2440
|
-
})[e.size]),
|
|
2440
|
+
})[e.size]), p = () => {
|
|
2441
2441
|
s.value = !1;
|
|
2442
2442
|
};
|
|
2443
2443
|
let w = "", c = null;
|
|
2444
|
-
const B = D(null), S = (
|
|
2445
|
-
if (!B.value ||
|
|
2446
|
-
const
|
|
2447
|
-
if (
|
|
2448
|
-
|
|
2444
|
+
const B = D(null), S = (v) => Array.from(v.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')).filter((m) => !m.hasAttribute("disabled") && m.getAttribute("tabindex") !== "-1"), $ = (v) => {
|
|
2445
|
+
if (!B.value || v.key !== "Tab") return;
|
|
2446
|
+
const m = S(B.value);
|
|
2447
|
+
if (m.length === 0) {
|
|
2448
|
+
v.preventDefault();
|
|
2449
2449
|
return;
|
|
2450
2450
|
}
|
|
2451
|
-
const
|
|
2452
|
-
|
|
2453
|
-
}, f = (
|
|
2454
|
-
|
|
2451
|
+
const x = m[0], K = m[m.length - 1];
|
|
2452
|
+
v.shiftKey && document.activeElement === x ? (v.preventDefault(), K.focus()) : !v.shiftKey && document.activeElement === K && (v.preventDefault(), x.focus());
|
|
2453
|
+
}, f = (v) => {
|
|
2454
|
+
v.key === "Escape" && !e.persistent && p();
|
|
2455
2455
|
}, o = () => {
|
|
2456
2456
|
document.body.style.overflow = w, document.removeEventListener("keydown", $), document.removeEventListener("keydown", f), c && (c.focus(), c = null), B.value = null;
|
|
2457
|
+
}, i = async () => {
|
|
2458
|
+
w = document.body.style.overflow, document.body.style.overflow = "hidden", c = document.activeElement, await ce();
|
|
2459
|
+
const v = document.getElementById(n.value);
|
|
2460
|
+
if (v) {
|
|
2461
|
+
B.value = v;
|
|
2462
|
+
const m = v.querySelector(".modal-conts");
|
|
2463
|
+
m && (m.setAttribute("tabindex", "-1"), m.focus()), document.addEventListener("keydown", $), document.addEventListener("keydown", f);
|
|
2464
|
+
}
|
|
2457
2465
|
};
|
|
2458
|
-
return se(() => e.modelValue,
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
const g = document.getElementById(n.value);
|
|
2462
|
-
if (g) {
|
|
2463
|
-
B.value = g;
|
|
2464
|
-
const m = g.querySelector(".modal-conts");
|
|
2465
|
-
m && (m.setAttribute("tabindex", "-1"), m.focus()), document.addEventListener("keydown", $), document.addEventListener("keydown", f);
|
|
2466
|
-
}
|
|
2467
|
-
} else o();
|
|
2468
|
-
}, { immediate: !0 }), fe(() => {
|
|
2466
|
+
return se(() => e.modelValue, (v) => v ? i() : o()), re(() => {
|
|
2467
|
+
e.modelValue && i();
|
|
2468
|
+
}), fe(() => {
|
|
2469
2469
|
e.modelValue && o();
|
|
2470
2470
|
}), () => {
|
|
2471
2471
|
if (!s.value) return null;
|
|
2472
|
-
const
|
|
2472
|
+
const v = {
|
|
2473
2473
|
id: n.value,
|
|
2474
2474
|
class: "krds-modal fade in shown",
|
|
2475
2475
|
role: "dialog",
|
|
2476
2476
|
"aria-modal": !0,
|
|
2477
2477
|
"aria-labelledby": d.value
|
|
2478
2478
|
};
|
|
2479
|
-
return e.full ?
|
|
2479
|
+
return e.full ? v["data-type"] = "full" : e.bottomSheet && (v["data-type"] = "bottom-sheet"), t(Ce, { to: "body" }, t("section", v, [t("div", { class: `modal-dialog ${h.value}` }, [t("div", { class: "modal-content" }, [
|
|
2480
2480
|
a.title ? t("div", { class: "modal-header" }, [t("h2", {
|
|
2481
2481
|
id: d.value,
|
|
2482
2482
|
class: "modal-title"
|
|
@@ -2486,11 +2486,11 @@ var _t = M({
|
|
|
2486
2486
|
t("button", {
|
|
2487
2487
|
type: "button",
|
|
2488
2488
|
class: "krds-btn medium icon btn-close close-modal",
|
|
2489
|
-
onClick:
|
|
2489
|
+
onClick: p
|
|
2490
2490
|
}, [t("span", { class: "sr-only" }, "닫기"), t("i", { class: "svg-icon ico-popup-close" })])
|
|
2491
2491
|
].filter(Boolean))]), t("div", {
|
|
2492
2492
|
class: e.backdrop ? "modal-back in" : "modal-back",
|
|
2493
|
-
onClick: e.persistent ? void 0 :
|
|
2493
|
+
onClick: e.persistent ? void 0 : p
|
|
2494
2494
|
})]));
|
|
2495
2495
|
};
|
|
2496
2496
|
}
|
|
@@ -2608,27 +2608,27 @@ var _t = M({
|
|
|
2608
2608
|
r.value = !0;
|
|
2609
2609
|
}, l.onend = () => {
|
|
2610
2610
|
r.value = !1, l = null, a("end");
|
|
2611
|
-
}, l.onerror = (
|
|
2612
|
-
r.value = !1, l = null,
|
|
2611
|
+
}, l.onerror = (p) => {
|
|
2612
|
+
r.value = !1, l = null, p.error !== "canceled" && a("error", new Error(p.error));
|
|
2613
2613
|
}, window.speechSynthesis.speak(l), a("play", e.text);
|
|
2614
2614
|
}
|
|
2615
2615
|
}, d = b(() => {
|
|
2616
|
-
const
|
|
2617
|
-
return e.size &&
|
|
2616
|
+
const p = ["krds-tts"];
|
|
2617
|
+
return e.size && p.push(e.size), r.value ? p.push("pause") : e.icon === "play" && p.push("play"), e.class && p.push(e.class), p;
|
|
2618
2618
|
}), h = b(() => r.value ? "ico-stop" : e.icon === "play" ? "ico-play" : "ico-volume");
|
|
2619
2619
|
return fe(() => {
|
|
2620
2620
|
n();
|
|
2621
2621
|
}), () => {
|
|
2622
|
-
const
|
|
2622
|
+
const p = [t("span", {
|
|
2623
2623
|
class: "krds-tts-icon",
|
|
2624
2624
|
"aria-hidden": "true"
|
|
2625
2625
|
}, [t("i", { class: `svg-icon ${h.value}` })])];
|
|
2626
|
-
return e.label &&
|
|
2626
|
+
return e.label && p.push(t("span", { class: "krds-tts-text" }, e.label)), t("button", {
|
|
2627
2627
|
type: "button",
|
|
2628
2628
|
class: d.value,
|
|
2629
2629
|
disabled: e.disabled || void 0,
|
|
2630
2630
|
onClick: s
|
|
2631
|
-
},
|
|
2631
|
+
}, p);
|
|
2632
2632
|
};
|
|
2633
2633
|
}
|
|
2634
2634
|
}), ba = ma, ka = M({
|
|
@@ -2663,11 +2663,11 @@ var _t = M({
|
|
|
2663
2663
|
}, h = (f, o) => {
|
|
2664
2664
|
if (o.style)
|
|
2665
2665
|
return typeof o.style == "function" ? o.style(f) : o.style;
|
|
2666
|
-
},
|
|
2666
|
+
}, p = (f, o) => {
|
|
2667
2667
|
const i = [];
|
|
2668
2668
|
if (o.align && i.push(`text-${o.align}`), o.classes) {
|
|
2669
|
-
const
|
|
2670
|
-
i.push(
|
|
2669
|
+
const v = typeof o.classes == "function" ? o.classes(f) : o.classes;
|
|
2670
|
+
i.push(v);
|
|
2671
2671
|
}
|
|
2672
2672
|
return i.length > 0 ? i : void 0;
|
|
2673
2673
|
}, w = () => !e.columns.length || !e.columns.some((f) => f.headerStyle && f.headerStyle.includes("width")) ? null : t("colgroup", e.columns.map((f) => {
|
|
@@ -2677,10 +2677,10 @@ var _t = M({
|
|
|
2677
2677
|
})), c = () => {
|
|
2678
2678
|
if (!e.columns.length) return null;
|
|
2679
2679
|
const f = e.columns.map((o) => {
|
|
2680
|
-
const i = s(o),
|
|
2680
|
+
const i = s(o), v = d(o);
|
|
2681
2681
|
return t("th", {
|
|
2682
2682
|
scope: "col",
|
|
2683
|
-
class:
|
|
2683
|
+
class: v,
|
|
2684
2684
|
style: i
|
|
2685
2685
|
}, o.label);
|
|
2686
2686
|
});
|
|
@@ -2691,15 +2691,15 @@ var _t = M({
|
|
|
2691
2691
|
class: "text-center"
|
|
2692
2692
|
}, r["no-data"] ? r["no-data"]() : "데이터가 없습니다.")])]);
|
|
2693
2693
|
const f = e.rows.map((o, i) => {
|
|
2694
|
-
const
|
|
2695
|
-
const
|
|
2694
|
+
const v = e.columns.map((m, x) => {
|
|
2695
|
+
const K = B(o, m), E = typeof K == "function" ? K() : K, T = h(o, m), _ = p(o, m);
|
|
2696
2696
|
return t(x === 0 ? "th" : "td", {
|
|
2697
2697
|
scope: x === 0 ? "row" : void 0,
|
|
2698
2698
|
class: _,
|
|
2699
2699
|
style: T
|
|
2700
2700
|
}, E);
|
|
2701
2701
|
});
|
|
2702
|
-
return t("tr", { onClick: () => $(o, i) },
|
|
2702
|
+
return t("tr", { onClick: () => $(o, i) }, v);
|
|
2703
2703
|
});
|
|
2704
2704
|
return t("tbody", f);
|
|
2705
2705
|
}, $ = (f, o) => {
|
|
@@ -2762,8 +2762,8 @@ var _t = M({
|
|
|
2762
2762
|
return e.class && h.push(e.class), h;
|
|
2763
2763
|
}), l = () => a.top ? t("div", { class: "foot-quick" }, [t("div", { class: "inner" }, a.top())]) : null, n = () => a.logo ? t("div", { class: "f-logo" }, a.logo()) : null, s = () => a.content ? t("div", { class: "f-cnt" }, a.content()) : null, d = () => a.bottom ? t("div", { class: "f-btm" }, a.bottom()) : null;
|
|
2764
2764
|
return () => {
|
|
2765
|
-
const h = l(),
|
|
2766
|
-
|
|
2765
|
+
const h = l(), p = n(), w = s(), c = d(), B = [];
|
|
2766
|
+
p && B.push(p), w && B.push(w), c && B.push(c);
|
|
2767
2767
|
const S = [];
|
|
2768
2768
|
return h && S.push(h), B.length > 0 && S.push(t("div", { class: "inner" }, B)), t("footer", {
|
|
2769
2769
|
id: e.id,
|
|
@@ -2851,15 +2851,15 @@ var _t = M({
|
|
|
2851
2851
|
"scroll-height": (e) => !0
|
|
2852
2852
|
},
|
|
2853
2853
|
setup(e, { slots: a, emit: r }) {
|
|
2854
|
-
const l = D(0), n = D(0), s = D(0), d = D(null), h = D(null),
|
|
2854
|
+
const l = D(0), n = D(0), s = D(0), d = D(null), h = D(null), p = D(null), w = () => {
|
|
2855
2855
|
const f = n.value;
|
|
2856
2856
|
l.value = window.scrollY, n.value = document.body.scrollHeight, f !== n.value && f > 0 && r("scroll-height", n.value);
|
|
2857
2857
|
}, c = () => {
|
|
2858
2858
|
if (!h.value || !e.enableScrollDetection) return;
|
|
2859
2859
|
const f = document.querySelector("#container");
|
|
2860
2860
|
if (!f) return;
|
|
2861
|
-
const o = f.offsetTop, i = window.scrollY,
|
|
2862
|
-
i > o + Ta ?
|
|
2861
|
+
const o = f.offsetTop, i = window.scrollY, v = i > s.value, m = i < s.value;
|
|
2862
|
+
i > o + Ta ? v ? (h.value.classList.add("scroll-down"), h.value.classList.remove("scroll-up"), d.value = "down") : m && (h.value.classList.add("scroll-up"), h.value.classList.remove("scroll-down"), d.value = "up") : (h.value.classList.remove("scroll-down", "scroll-up"), d.value = null), s.value = i;
|
|
2863
2863
|
}, B = () => {
|
|
2864
2864
|
w(), c(), r("scroll", {
|
|
2865
2865
|
scrollY: l.value,
|
|
@@ -2869,20 +2869,20 @@ var _t = M({
|
|
|
2869
2869
|
});
|
|
2870
2870
|
}, S = (f) => {
|
|
2871
2871
|
for (const o of f) {
|
|
2872
|
-
const { width: i, height:
|
|
2872
|
+
const { width: i, height: v } = o.contentRect;
|
|
2873
2873
|
r("resize", {
|
|
2874
2874
|
width: i,
|
|
2875
|
-
height:
|
|
2875
|
+
height: v
|
|
2876
2876
|
});
|
|
2877
2877
|
}
|
|
2878
2878
|
}, $ = b(() => {
|
|
2879
2879
|
const f = ["g-wrap"];
|
|
2880
2880
|
return e.class && f.push(e.class), f;
|
|
2881
2881
|
});
|
|
2882
|
-
return
|
|
2883
|
-
e.enableScrollDetection && (w(), window.addEventListener("scroll", B, { passive: !0 })), h.value && typeof ResizeObserver < "u" && (
|
|
2884
|
-
}),
|
|
2885
|
-
e.enableScrollDetection && window.removeEventListener("scroll", B),
|
|
2882
|
+
return re(() => {
|
|
2883
|
+
e.enableScrollDetection && (w(), window.addEventListener("scroll", B, { passive: !0 })), h.value && typeof ResizeObserver < "u" && (p.value = new ResizeObserver(S), p.value.observe(h.value));
|
|
2884
|
+
}), ie(() => {
|
|
2885
|
+
e.enableScrollDetection && window.removeEventListener("scroll", B), p.value && (p.value.disconnect(), p.value = null);
|
|
2886
2886
|
}), () => t("div", {
|
|
2887
2887
|
id: e.id,
|
|
2888
2888
|
class: $.value,
|
|
@@ -2903,40 +2903,40 @@ var _t = M({
|
|
|
2903
2903
|
},
|
|
2904
2904
|
emits: { "update:modelValue": (e) => !0 },
|
|
2905
2905
|
setup(e, { emit: a }) {
|
|
2906
|
-
const r = b(() => e.modelValue || []), l = D(/* @__PURE__ */ new Map()), n = D(/* @__PURE__ */ new Map()), s = D(/* @__PURE__ */ new Map()), d = D(null), h = (x,
|
|
2907
|
-
const T = `${
|
|
2906
|
+
const r = b(() => e.modelValue || []), l = D(/* @__PURE__ */ new Map()), n = D(/* @__PURE__ */ new Map()), s = D(/* @__PURE__ */ new Map()), d = D(null), h = (x, K, E) => {
|
|
2907
|
+
const T = `${K}-${E}`;
|
|
2908
2908
|
x ? l.value.set(T, x) : l.value.delete(T);
|
|
2909
|
-
},
|
|
2910
|
-
const T = `${
|
|
2909
|
+
}, p = (x, K, E) => {
|
|
2910
|
+
const T = `${K}-${E}`;
|
|
2911
2911
|
x ? n.value.set(T, x) : n.value.delete(T);
|
|
2912
|
-
}, w = (x,
|
|
2913
|
-
const T = `${
|
|
2912
|
+
}, w = (x, K, E) => {
|
|
2913
|
+
const T = `${K}-${E}`;
|
|
2914
2914
|
x ? s.value.set(T, x) : s.value.delete(T);
|
|
2915
2915
|
}, c = (x) => {
|
|
2916
|
-
a("update:modelValue", r.value.map((
|
|
2917
|
-
if (E === x &&
|
|
2918
|
-
const T =
|
|
2919
|
-
...
|
|
2920
|
-
expanded: !
|
|
2916
|
+
a("update:modelValue", r.value.map((K, E) => {
|
|
2917
|
+
if (E === x && K.subItems) {
|
|
2918
|
+
const T = K.expanded, _ = {
|
|
2919
|
+
...K,
|
|
2920
|
+
expanded: !K.expanded
|
|
2921
2921
|
};
|
|
2922
|
-
return T && !_.expanded && (_.subItems =
|
|
2923
|
-
...
|
|
2922
|
+
return T && !_.expanded && (_.subItems = K.subItems.map((g) => ({
|
|
2923
|
+
...g,
|
|
2924
2924
|
expanded: !1
|
|
2925
2925
|
})), d.value = null), _;
|
|
2926
2926
|
}
|
|
2927
|
-
return
|
|
2927
|
+
return K;
|
|
2928
2928
|
}));
|
|
2929
|
-
}, B = (x,
|
|
2929
|
+
}, B = (x, K) => {
|
|
2930
2930
|
a("update:modelValue", r.value.map((E, T) => T === x && E.subItems ? {
|
|
2931
2931
|
...E,
|
|
2932
|
-
subItems: E.subItems.map((_,
|
|
2933
|
-
if (
|
|
2932
|
+
subItems: E.subItems.map((_, g) => {
|
|
2933
|
+
if (g === K && _.subItems) {
|
|
2934
2934
|
const A = {
|
|
2935
2935
|
..._,
|
|
2936
2936
|
expanded: !_.expanded
|
|
2937
2937
|
};
|
|
2938
2938
|
if (A.expanded) {
|
|
2939
|
-
const I = `${x}-${
|
|
2939
|
+
const I = `${x}-${K}`;
|
|
2940
2940
|
d.value = l.value.get(I) || null;
|
|
2941
2941
|
const O = n.value.get(I), H = s.value.get(I);
|
|
2942
2942
|
O && H && O.addEventListener("transitionend", () => {
|
|
@@ -2948,11 +2948,11 @@ var _t = M({
|
|
|
2948
2948
|
return _;
|
|
2949
2949
|
})
|
|
2950
2950
|
} : E));
|
|
2951
|
-
}, S = (x,
|
|
2951
|
+
}, S = (x, K) => {
|
|
2952
2952
|
a("update:modelValue", r.value.map((E, T) => T === x && E.subItems ? {
|
|
2953
2953
|
...E,
|
|
2954
|
-
subItems: E.subItems.map((_,
|
|
2955
|
-
if (
|
|
2954
|
+
subItems: E.subItems.map((_, g) => {
|
|
2955
|
+
if (g === K && _.subItems && _.expanded) {
|
|
2956
2956
|
if (d.value) {
|
|
2957
2957
|
const A = d.value;
|
|
2958
2958
|
requestAnimationFrame(() => {
|
|
@@ -2967,55 +2967,55 @@ var _t = M({
|
|
|
2967
2967
|
return _;
|
|
2968
2968
|
})
|
|
2969
2969
|
} : E));
|
|
2970
|
-
}, $ = (x,
|
|
2971
|
-
const T = `${
|
|
2972
|
-
_ && !_.contains(x.relatedTarget) && S(
|
|
2973
|
-
}, f = (x,
|
|
2974
|
-
S(x,
|
|
2975
|
-
}, o = (x,
|
|
2976
|
-
x.onClick && x.onClick(
|
|
2977
|
-
}, i = (x,
|
|
2978
|
-
key: `popup-item-${
|
|
2970
|
+
}, $ = (x, K, E) => {
|
|
2971
|
+
const T = `${K}-${E}`, _ = n.value.get(T);
|
|
2972
|
+
_ && !_.contains(x.relatedTarget) && S(K, E);
|
|
2973
|
+
}, f = (x, K) => {
|
|
2974
|
+
S(x, K);
|
|
2975
|
+
}, o = (x, K) => {
|
|
2976
|
+
x.onClick && x.onClick(K);
|
|
2977
|
+
}, i = (x, K, E) => x.map((T, _) => t("li", {
|
|
2978
|
+
key: `popup-item-${K}-${E}-${_}`,
|
|
2979
2979
|
role: "none"
|
|
2980
2980
|
}, t("a", {
|
|
2981
2981
|
href: T.href || "#",
|
|
2982
2982
|
class: "lnb-btn",
|
|
2983
2983
|
role: "menuitem",
|
|
2984
|
-
onClick: (
|
|
2985
|
-
}, T.text))),
|
|
2986
|
-
const _ = `lnb-subitem-${
|
|
2984
|
+
onClick: (g) => o(T, g)
|
|
2985
|
+
}, T.text))), v = (x, K) => x.map((E, T) => {
|
|
2986
|
+
const _ = `lnb-subitem-${K}-${T}`;
|
|
2987
2987
|
return t("li", {
|
|
2988
2988
|
key: _,
|
|
2989
2989
|
class: ["lnb-subitem", { active: E.expanded }],
|
|
2990
2990
|
role: "none"
|
|
2991
2991
|
}, [E.subItems ? [t("button", {
|
|
2992
|
-
ref: (
|
|
2992
|
+
ref: (g) => h(g, K, T),
|
|
2993
2993
|
type: "button",
|
|
2994
2994
|
class: "lnb-btn lnb-toggle-popup",
|
|
2995
2995
|
role: "menuitem",
|
|
2996
|
-
"aria-controls": `lnbmenu-${
|
|
2996
|
+
"aria-controls": `lnbmenu-${K}-${T}`,
|
|
2997
2997
|
"aria-expanded": E.expanded ? "true" : "false",
|
|
2998
2998
|
"aria-haspopup": "true",
|
|
2999
|
-
onClick: () => B(
|
|
2999
|
+
onClick: () => B(K, T)
|
|
3000
3000
|
}, E.text), t("div", {
|
|
3001
|
-
ref: (
|
|
3002
|
-
id: `lnbmenu-${
|
|
3001
|
+
ref: (g) => p(g, K, T),
|
|
3002
|
+
id: `lnbmenu-${K}-${T}`,
|
|
3003
3003
|
class: ["lnb-submenu-lv2", { active: E.expanded }],
|
|
3004
3004
|
role: "menu",
|
|
3005
|
-
onFocusout: (
|
|
3005
|
+
onFocusout: (g) => $(g, K, T)
|
|
3006
3006
|
}, [t("button", {
|
|
3007
|
-
ref: (
|
|
3007
|
+
ref: (g) => w(g, K, T),
|
|
3008
3008
|
type: "button",
|
|
3009
3009
|
class: "lnb-btn-tit",
|
|
3010
|
-
onClick: () => f(
|
|
3011
|
-
}, E.popupTitle || E.text), t("ul", {}, i(E.subItems || [],
|
|
3010
|
+
onClick: () => f(K, T)
|
|
3011
|
+
}, E.popupTitle || E.text), t("ul", {}, i(E.subItems || [], K, T))])] : t("a", {
|
|
3012
3012
|
href: E.href || "#",
|
|
3013
3013
|
class: ["lnb-btn", "lnb-link"],
|
|
3014
3014
|
role: "menuitem",
|
|
3015
|
-
onClick: (
|
|
3015
|
+
onClick: (g) => o(E, g)
|
|
3016
3016
|
}, E.text)]);
|
|
3017
|
-
}), m = () => r.value.map((x,
|
|
3018
|
-
key: `lnb-item-${
|
|
3017
|
+
}), m = () => r.value.map((x, K) => t("li", {
|
|
3018
|
+
key: `lnb-item-${K}`,
|
|
3019
3019
|
class: ["lnb-item", { active: x.expanded }],
|
|
3020
3020
|
role: "none"
|
|
3021
3021
|
}, [t("button", {
|
|
@@ -3026,13 +3026,13 @@ var _t = M({
|
|
|
3026
3026
|
{ active: x.expanded }
|
|
3027
3027
|
],
|
|
3028
3028
|
role: "menuitem",
|
|
3029
|
-
"aria-controls": `lnbmenu-${
|
|
3029
|
+
"aria-controls": `lnbmenu-${K}`,
|
|
3030
3030
|
"aria-expanded": x.expanded ? "true" : "false",
|
|
3031
|
-
onClick: () => c(
|
|
3031
|
+
onClick: () => c(K)
|
|
3032
3032
|
}, x.text), x.subItems ? t("div", { class: "lnb-submenu" }, [t("ul", {
|
|
3033
|
-
id: `lnbmenu-${
|
|
3033
|
+
id: `lnbmenu-${K}`,
|
|
3034
3034
|
role: "menu"
|
|
3035
|
-
},
|
|
3035
|
+
}, v(x.subItems, K))]) : null]));
|
|
3036
3036
|
return () => t("nav", { class: "krds-side-navigation" }, [t("h2", { class: "lnb-tit" }, e.title), t("ul", {
|
|
3037
3037
|
class: "lnb-list",
|
|
3038
3038
|
role: "menubar"
|
|
@@ -3149,20 +3149,20 @@ var _t = M({
|
|
|
3149
3149
|
},
|
|
3150
3150
|
slots: Object,
|
|
3151
3151
|
setup(e, { emit: a, slots: r }) {
|
|
3152
|
-
const l = oe(), n = D(null), s = D(null), d = D(null), h = b(() => e.variant === "pc"),
|
|
3152
|
+
const l = oe(), n = D(null), s = D(null), d = D(null), h = b(() => e.variant === "pc"), p = (u) => `${l}-gnb-panel-${u}`, w = (u, y) => `${l}-gnb-sub-${u}-${y}`, c = (u) => `${l}-gnb-tab-${u}`, B = (u, y) => `${l}-gnb-depth3-${u}-${y}`, S = (u) => !!u?.subItems?.length, $ = (u) => !S(u) && !!u?.items?.length, f = (u) => S(u) || $(u), o = (u) => !u.items?.length, i = (u) => u ? {
|
|
3153
3153
|
target: "_blank",
|
|
3154
3154
|
rel: "noopener noreferrer",
|
|
3155
3155
|
title: Ha
|
|
3156
|
-
} : {},
|
|
3156
|
+
} : {}, v = (u, y) => {
|
|
3157
3157
|
u.onClick?.(y), a("item-click", u, y);
|
|
3158
|
-
}, m = D(-1), x = D({}),
|
|
3159
|
-
y ? u.set(
|
|
3160
|
-
},
|
|
3161
|
-
const y = u?.subItems?.findIndex((
|
|
3158
|
+
}, m = D(-1), x = D({}), K = D(0), E = /* @__PURE__ */ new Map(), T = /* @__PURE__ */ new Map(), _ = (u, y, C) => {
|
|
3159
|
+
y ? u.set(C, y) : u.delete(C);
|
|
3160
|
+
}, g = (u) => {
|
|
3161
|
+
const y = u?.subItems?.findIndex((C) => !o(C));
|
|
3162
3162
|
return y === void 0 ? -1 : y;
|
|
3163
3163
|
}, A = (u) => {
|
|
3164
3164
|
const y = x.value[u];
|
|
3165
|
-
return y === void 0 ?
|
|
3165
|
+
return y === void 0 ? g(e.items[u]) : y;
|
|
3166
3166
|
}, I = (u) => {
|
|
3167
3167
|
if (typeof document > "u") return;
|
|
3168
3168
|
document.body.classList.toggle("is-gnb-web", u);
|
|
@@ -3171,11 +3171,11 @@ var _t = M({
|
|
|
3171
3171
|
}, O = async () => {
|
|
3172
3172
|
await ce();
|
|
3173
3173
|
const u = E.get(m.value)?.querySelector(".gnb-sub-list.active");
|
|
3174
|
-
|
|
3174
|
+
K.value = u?.scrollHeight ?? 0;
|
|
3175
3175
|
}, H = (u = !1) => {
|
|
3176
3176
|
if (m.value === -1) return;
|
|
3177
3177
|
const y = m.value;
|
|
3178
|
-
m.value = -1,
|
|
3178
|
+
m.value = -1, K.value = 0, I(!1), a("menu-toggle", y, !1), u && T.get(y)?.focus();
|
|
3179
3179
|
}, G = (u) => {
|
|
3180
3180
|
if (f(e.items[u])) {
|
|
3181
3181
|
if (m.value === u) {
|
|
@@ -3193,8 +3193,8 @@ var _t = M({
|
|
|
3193
3193
|
const y = n.value;
|
|
3194
3194
|
!y || y.contains(u.target) || H();
|
|
3195
3195
|
}, le = (u) => {
|
|
3196
|
-
const y = n.value,
|
|
3197
|
-
!y || !
|
|
3196
|
+
const y = n.value, C = u.relatedTarget;
|
|
3197
|
+
!y || !C || y.contains(C) || H();
|
|
3198
3198
|
}, de = (u) => {
|
|
3199
3199
|
if (u.key === "Escape") {
|
|
3200
3200
|
H(!0);
|
|
@@ -3202,7 +3202,7 @@ var _t = M({
|
|
|
3202
3202
|
}
|
|
3203
3203
|
const y = u.target;
|
|
3204
3204
|
if (!y?.dataset.trigger) return;
|
|
3205
|
-
const
|
|
3205
|
+
const C = (k) => {
|
|
3206
3206
|
const P = y.closest("li");
|
|
3207
3207
|
(k === "next" ? P?.nextElementSibling : P?.previousElementSibling)?.querySelector("[data-trigger]")?.focus();
|
|
3208
3208
|
};
|
|
@@ -3215,14 +3215,14 @@ var _t = M({
|
|
|
3215
3215
|
break;
|
|
3216
3216
|
case "ArrowRight":
|
|
3217
3217
|
case "ArrowDown":
|
|
3218
|
-
u.preventDefault(),
|
|
3218
|
+
u.preventDefault(), C("next");
|
|
3219
3219
|
break;
|
|
3220
3220
|
case "ArrowLeft":
|
|
3221
3221
|
case "ArrowUp":
|
|
3222
|
-
u.preventDefault(),
|
|
3222
|
+
u.preventDefault(), C("prev");
|
|
3223
3223
|
}
|
|
3224
|
-
}, ae = D(0), Q = D({}), ne = D(null), L = D(null), R = D(e.open), Y = D(e.open), V = /* @__PURE__ */ new Map(), F = /* @__PURE__ */ new Map(), z = /* @__PURE__ */ new Map(), N = /* @__PURE__ */ new Map(), U = (u, y,
|
|
3225
|
-
y ? u.set(
|
|
3224
|
+
}, ae = D(0), Q = D({}), ne = D(null), L = D(null), R = D(e.open), Y = D(e.open), V = /* @__PURE__ */ new Map(), F = /* @__PURE__ */ new Map(), z = /* @__PURE__ */ new Map(), N = /* @__PURE__ */ new Map(), U = (u, y, C) => {
|
|
3225
|
+
y ? u.set(C, y) : u.delete(C);
|
|
3226
3226
|
};
|
|
3227
3227
|
let J, ee;
|
|
3228
3228
|
const ue = (u) => {
|
|
@@ -3241,8 +3241,8 @@ var _t = M({
|
|
|
3241
3241
|
});
|
|
3242
3242
|
const Ae = (u, y) => {
|
|
3243
3243
|
u.preventDefault(), ae.value = y;
|
|
3244
|
-
const
|
|
3245
|
-
|
|
3244
|
+
const C = d.value, k = V.get(y);
|
|
3245
|
+
C && k && C.scrollTo({
|
|
3246
3246
|
left: 0,
|
|
3247
3247
|
top: k.offsetTop,
|
|
3248
3248
|
behavior: "smooth"
|
|
@@ -3250,10 +3250,10 @@ var _t = M({
|
|
|
3250
3250
|
}, Me = () => {
|
|
3251
3251
|
const u = d.value;
|
|
3252
3252
|
if (!u) return;
|
|
3253
|
-
const { scrollTop: y, scrollHeight:
|
|
3253
|
+
const { scrollTop: y, scrollHeight: C, clientHeight: k } = u;
|
|
3254
3254
|
let P = ae.value;
|
|
3255
3255
|
V.forEach((q, W) => {
|
|
3256
|
-
(y >= q.offsetTop || y + k >=
|
|
3256
|
+
(y >= q.offsetTop || y + k >= C) && (P = W);
|
|
3257
3257
|
}), ae.value = P;
|
|
3258
3258
|
}, Ve = (u, y) => {
|
|
3259
3259
|
u.preventDefault(), Q.value = {
|
|
@@ -3267,9 +3267,9 @@ var _t = M({
|
|
|
3267
3267
|
L.value || (ne.value = null);
|
|
3268
3268
|
}, we);
|
|
3269
3269
|
}, ze = (u, y) => {
|
|
3270
|
-
const
|
|
3271
|
-
if (!
|
|
3272
|
-
const k =
|
|
3270
|
+
const C = Array.from(u.querySelectorAll(Oa));
|
|
3271
|
+
if (!C.length) return;
|
|
3272
|
+
const k = C[0], P = C[C.length - 1], q = document.activeElement;
|
|
3273
3273
|
y.shiftKey && (q === k || q === u) ? (y.preventDefault(), P.focus()) : !y.shiftKey && q === P && (y.preventDefault(), k.focus());
|
|
3274
3274
|
}, Fe = (u) => {
|
|
3275
3275
|
if (u.key === "Escape") {
|
|
@@ -3280,28 +3280,28 @@ var _t = M({
|
|
|
3280
3280
|
const y = L.value ? z.get(L.value) : s.value;
|
|
3281
3281
|
y && ze(y, u);
|
|
3282
3282
|
};
|
|
3283
|
-
|
|
3283
|
+
re(() => {
|
|
3284
3284
|
if (h.value) {
|
|
3285
3285
|
document.addEventListener("click", X);
|
|
3286
3286
|
return;
|
|
3287
3287
|
}
|
|
3288
3288
|
e.open && (R.value = !0, Y.value = !0, ue(!0));
|
|
3289
3289
|
const u = {};
|
|
3290
|
-
e.items.forEach((y,
|
|
3290
|
+
e.items.forEach((y, C) => {
|
|
3291
3291
|
y.subItems?.forEach((k, P) => {
|
|
3292
|
-
k.expanded && (u[`${
|
|
3292
|
+
k.expanded && (u[`${C}-${P}`] = !0);
|
|
3293
3293
|
});
|
|
3294
3294
|
}), Q.value = u;
|
|
3295
3295
|
}), fe(() => {
|
|
3296
3296
|
typeof document < "u" && (document.removeEventListener("click", X), document.body.classList.remove("is-gnb-web", "hasScrollY", "is-gnb-mobile")), J && clearTimeout(J), ee && clearTimeout(ee);
|
|
3297
3297
|
});
|
|
3298
3298
|
const Re = (u) => {
|
|
3299
|
-
const y = u.some((k) => !!k.description),
|
|
3299
|
+
const y = u.some((k) => !!k.description), C = u.map((k, P) => {
|
|
3300
3300
|
const q = i(k.external), W = k.external ? t("i", { class: "svg-icon ico-go" }) : null;
|
|
3301
3301
|
if (y) return t("li", { key: `link-${P}` }, [t("h3", { class: "tit" }, [t("a", {
|
|
3302
3302
|
href: k.href || "#",
|
|
3303
3303
|
...q,
|
|
3304
|
-
onClick: (te) =>
|
|
3304
|
+
onClick: (te) => v(k, te)
|
|
3305
3305
|
}, [k.text, W])]), k.description ? t("p", { class: "txt" }, k.description) : null]);
|
|
3306
3306
|
const Z = k.href ? "a" : "button";
|
|
3307
3307
|
return t("li", { key: `link-${P}` }, [t(Z, {
|
|
@@ -3310,10 +3310,10 @@ var _t = M({
|
|
|
3310
3310
|
...q
|
|
3311
3311
|
} : { type: "button" },
|
|
3312
3312
|
class: { active: k.selected },
|
|
3313
|
-
onClick: (te) =>
|
|
3313
|
+
onClick: (te) => v(k, te)
|
|
3314
3314
|
}, [k.text, W])]);
|
|
3315
3315
|
});
|
|
3316
|
-
return t("ul", { class: y ? "type-description" : void 0 },
|
|
3316
|
+
return t("ul", { class: y ? "type-description" : void 0 }, C);
|
|
3317
3317
|
}, me = (u) => {
|
|
3318
3318
|
const y = u.titleLink ? [u.title, t("a", {
|
|
3319
3319
|
href: u.titleLink.href,
|
|
@@ -3327,29 +3327,29 @@ var _t = M({
|
|
|
3327
3327
|
"single-list": u.single
|
|
3328
3328
|
}]
|
|
3329
3329
|
}, [t("div", { class: "gnb-sub-content" }, [t("h2", { class: "sub-title" }, y), Re(u.linkItems)]), u.banner]);
|
|
3330
|
-
}, Ie = (u, y) => (u.subItems ?? []).map((
|
|
3331
|
-
if (o(
|
|
3332
|
-
const W =
|
|
3330
|
+
}, Ie = (u, y) => (u.subItems ?? []).map((C, k) => {
|
|
3331
|
+
if (o(C)) {
|
|
3332
|
+
const W = C.href ? "a" : "button";
|
|
3333
3333
|
return t("li", { key: `sub-${k}` }, [t(W, {
|
|
3334
|
-
...
|
|
3335
|
-
href:
|
|
3336
|
-
...i(
|
|
3334
|
+
...C.href ? {
|
|
3335
|
+
href: C.href,
|
|
3336
|
+
...i(C.external)
|
|
3337
3337
|
} : { type: "button" },
|
|
3338
3338
|
class: [
|
|
3339
3339
|
"gnb-sub-trigger",
|
|
3340
3340
|
"is-link",
|
|
3341
3341
|
{
|
|
3342
|
-
"external-link":
|
|
3343
|
-
selected:
|
|
3342
|
+
"external-link": C.external,
|
|
3343
|
+
selected: C.selected
|
|
3344
3344
|
}
|
|
3345
3345
|
],
|
|
3346
3346
|
"data-trigger": "gnb",
|
|
3347
|
-
onClick: (Z) =>
|
|
3348
|
-
},
|
|
3347
|
+
onClick: (Z) => v(C, Z)
|
|
3348
|
+
}, C.text)]);
|
|
3349
3349
|
}
|
|
3350
|
-
const P = A(y) === k, q =
|
|
3350
|
+
const P = A(y) === k, q = C.banner && r.banner ? t("div", { class: "gnb-sub-banner" }, r.banner({
|
|
3351
3351
|
item: u,
|
|
3352
|
-
subItem:
|
|
3352
|
+
subItem: C,
|
|
3353
3353
|
index: y,
|
|
3354
3354
|
subIndex: k
|
|
3355
3355
|
})) : null;
|
|
@@ -3357,26 +3357,26 @@ var _t = M({
|
|
|
3357
3357
|
type: "button",
|
|
3358
3358
|
class: ["gnb-sub-trigger", {
|
|
3359
3359
|
active: P,
|
|
3360
|
-
selected:
|
|
3360
|
+
selected: C.selected
|
|
3361
3361
|
}],
|
|
3362
3362
|
"data-trigger": "gnb",
|
|
3363
3363
|
"aria-controls": w(y, k),
|
|
3364
3364
|
"aria-expanded": P ? "true" : "false",
|
|
3365
3365
|
"aria-haspopup": "true",
|
|
3366
3366
|
onClick: (W) => {
|
|
3367
|
-
j(y, k),
|
|
3367
|
+
j(y, k), v(C, W);
|
|
3368
3368
|
}
|
|
3369
|
-
},
|
|
3369
|
+
}, C.text), me({
|
|
3370
3370
|
id: w(y, k),
|
|
3371
|
-
title:
|
|
3372
|
-
titleLink:
|
|
3373
|
-
linkItems:
|
|
3374
|
-
layout:
|
|
3371
|
+
title: C.title || C.text,
|
|
3372
|
+
titleLink: C.titleLink,
|
|
3373
|
+
linkItems: C.items ?? [],
|
|
3374
|
+
layout: C.layout,
|
|
3375
3375
|
active: P,
|
|
3376
3376
|
banner: q
|
|
3377
3377
|
})]);
|
|
3378
3378
|
}), He = (u, y) => {
|
|
3379
|
-
const
|
|
3379
|
+
const C = m.value === y, k = S(u), P = k ? [t("ul", {}, Ie(u, y))] : [me({
|
|
3380
3380
|
title: u.title || u.text,
|
|
3381
3381
|
linkItems: u.items ?? [],
|
|
3382
3382
|
layout: u.layout,
|
|
@@ -3388,38 +3388,38 @@ var _t = M({
|
|
|
3388
3388
|
})) : null
|
|
3389
3389
|
})];
|
|
3390
3390
|
return t("div", {
|
|
3391
|
-
id:
|
|
3392
|
-
class: ["gnb-toggle-wrap", { "is-open":
|
|
3391
|
+
id: p(y),
|
|
3392
|
+
class: ["gnb-toggle-wrap", { "is-open": C }]
|
|
3393
3393
|
}, [t("div", {
|
|
3394
3394
|
ref: (q) => _(E, q, y),
|
|
3395
3395
|
class: "gnb-main-list",
|
|
3396
3396
|
...k ? { "data-has-submenu": "true" } : {},
|
|
3397
|
-
style:
|
|
3397
|
+
style: C && K.value ? { minHeight: `${K.value}px` } : void 0
|
|
3398
3398
|
}, P)]);
|
|
3399
3399
|
}, Ne = () => {
|
|
3400
|
-
const u = e.items.map((
|
|
3401
|
-
const P = f(
|
|
3400
|
+
const u = e.items.map((C, k) => {
|
|
3401
|
+
const P = f(C), q = m.value === k, W = !P && C.href ? "a" : "button", Z = t(W, {
|
|
3402
3402
|
ref: (te) => _(T, te, k),
|
|
3403
3403
|
...W === "a" ? {
|
|
3404
|
-
href:
|
|
3405
|
-
...i(
|
|
3404
|
+
href: C.href,
|
|
3405
|
+
...i(C.external)
|
|
3406
3406
|
} : { type: "button" },
|
|
3407
3407
|
class: ["gnb-main-trigger", {
|
|
3408
3408
|
active: q,
|
|
3409
3409
|
"is-link": !P,
|
|
3410
|
-
selected:
|
|
3410
|
+
selected: C.selected
|
|
3411
3411
|
}],
|
|
3412
3412
|
"data-trigger": "gnb",
|
|
3413
3413
|
...P ? {
|
|
3414
|
-
"aria-controls":
|
|
3414
|
+
"aria-controls": p(k),
|
|
3415
3415
|
"aria-expanded": q ? "true" : "false",
|
|
3416
3416
|
"aria-haspopup": "true"
|
|
3417
3417
|
} : {},
|
|
3418
3418
|
onClick: (te) => {
|
|
3419
|
-
P && G(k),
|
|
3419
|
+
P && G(k), v(C, te);
|
|
3420
3420
|
}
|
|
3421
|
-
},
|
|
3422
|
-
return t("li", { key: `main-${k}` }, [Z, P ? He(
|
|
3421
|
+
}, C.text);
|
|
3422
|
+
return t("li", { key: `main-${k}` }, [Z, P ? He(C, k) : null]);
|
|
3423
3423
|
}), y = e.backdrop && m.value !== -1 ? t(Ce, { to: "body" }, [t("div", {
|
|
3424
3424
|
class: "gnb-backdrop active",
|
|
3425
3425
|
"aria-hidden": "true"
|
|
@@ -3435,7 +3435,7 @@ var _t = M({
|
|
|
3435
3435
|
"aria-label": e.ariaLabel
|
|
3436
3436
|
}, u)]), y]);
|
|
3437
3437
|
}, Oe = (u, y) => {
|
|
3438
|
-
const
|
|
3438
|
+
const C = () => ye(y);
|
|
3439
3439
|
return t("div", {
|
|
3440
3440
|
ref: (k) => U(z, k, y),
|
|
3441
3441
|
class: ["depth4-wrap", { "is-open": L.value === y }],
|
|
@@ -3444,20 +3444,20 @@ var _t = M({
|
|
|
3444
3444
|
ref: (k) => U(N, k, y),
|
|
3445
3445
|
type: "button",
|
|
3446
3446
|
class: "krds-btn icon trigger-prev",
|
|
3447
|
-
onClick:
|
|
3447
|
+
onClick: C
|
|
3448
3448
|
}, [t("span", { class: "sr-only" }, "이전화면"), t("i", { class: "svg-icon ico-angle left" })]), t("button", {
|
|
3449
3449
|
type: "button",
|
|
3450
3450
|
class: "krds-btn icon trigger-close",
|
|
3451
|
-
onClick:
|
|
3451
|
+
onClick: C
|
|
3452
3452
|
}, [t("span", { class: "sr-only" }, e.closeLabel), t("i", { class: "svg-icon ico-popup-close" })])]), t("div", { class: "depth4-body" }, [t("h4", { class: "sub-title" }, u.panelTitle || u.text), t("ul", { class: "depth4-ul" }, (u.items ?? []).map((k, P) => t("li", { key: `depth4-${P}` }, [t("a", {
|
|
3453
3453
|
href: k.href || "#",
|
|
3454
3454
|
...i(k.external),
|
|
3455
3455
|
class: { selected: k.selected },
|
|
3456
|
-
onClick: (q) =>
|
|
3456
|
+
onClick: (q) => v(k, q)
|
|
3457
3457
|
}, k.text)])))])]);
|
|
3458
|
-
}, qe = (u, y,
|
|
3458
|
+
}, qe = (u, y, C) => {
|
|
3459
3459
|
const k = (u.items ?? []).map((P, q) => {
|
|
3460
|
-
const W = `${y}-${
|
|
3460
|
+
const W = `${y}-${C}-${q}`, Z = !!P.items?.length;
|
|
3461
3461
|
return t("li", { key: `depth3-${q}` }, [t("a", {
|
|
3462
3462
|
ref: (te) => U(F, te, W),
|
|
3463
3463
|
href: P.href || "#",
|
|
@@ -3471,13 +3471,13 @@ var _t = M({
|
|
|
3471
3471
|
"aria-expanded": L.value === W ? "true" : "false"
|
|
3472
3472
|
} : {},
|
|
3473
3473
|
onClick: (te) => {
|
|
3474
|
-
Z && Pe(te, W),
|
|
3474
|
+
Z && Pe(te, W), v(P, te);
|
|
3475
3475
|
}
|
|
3476
3476
|
}, P.text), Z ? Oe(P, W) : null]);
|
|
3477
3477
|
});
|
|
3478
|
-
return t("div", { class: ["depth3-wrap", { "is-open": Q.value[`${y}-${
|
|
3478
|
+
return t("div", { class: ["depth3-wrap", { "is-open": Q.value[`${y}-${C}`] }] }, [t("ul", {}, k)]);
|
|
3479
3479
|
}, We = (u, y) => {
|
|
3480
|
-
const
|
|
3480
|
+
const C = (u.subItems ?? []).map((k, P) => {
|
|
3481
3481
|
const q = `${y}-${P}`, W = !!k.items?.length;
|
|
3482
3482
|
return t("li", { key: `sub-${P}` }, [t("a", {
|
|
3483
3483
|
href: k.href || "#",
|
|
@@ -3492,32 +3492,32 @@ var _t = M({
|
|
|
3492
3492
|
"aria-expanded": Q.value[q] ? "true" : "false"
|
|
3493
3493
|
} : {},
|
|
3494
3494
|
onClick: (Z) => {
|
|
3495
|
-
W && Ve(Z, q),
|
|
3495
|
+
W && Ve(Z, q), v(k, Z);
|
|
3496
3496
|
}
|
|
3497
3497
|
}, k.text), W ? qe(k, y, P) : null]);
|
|
3498
3498
|
});
|
|
3499
3499
|
return t("div", {
|
|
3500
3500
|
ref: (k) => _(V, k, y),
|
|
3501
|
-
id:
|
|
3501
|
+
id: p(y),
|
|
3502
3502
|
class: "gnb-sub-list",
|
|
3503
3503
|
role: "tabpanel",
|
|
3504
3504
|
"aria-labelledby": c(y)
|
|
3505
|
-
}, [t("h2", { class: "sub-title" }, u.title || u.text), t("ul", {},
|
|
3505
|
+
}, [t("h2", { class: "sub-title" }, u.title || u.text), t("ul", {}, C)]);
|
|
3506
3506
|
}, Ye = () => {
|
|
3507
|
-
const u = e.items.map((
|
|
3507
|
+
const u = e.items.map((C, k) => t("li", {
|
|
3508
3508
|
key: `tab-${k}`,
|
|
3509
3509
|
role: "none"
|
|
3510
3510
|
}, [t("a", {
|
|
3511
3511
|
id: c(k),
|
|
3512
|
-
href: `#${
|
|
3512
|
+
href: `#${p(k)}`,
|
|
3513
3513
|
class: ["gnb-main-trigger", { active: ae.value === k }],
|
|
3514
3514
|
role: "tab",
|
|
3515
|
-
"aria-controls":
|
|
3515
|
+
"aria-controls": p(k),
|
|
3516
3516
|
"aria-selected": ae.value === k ? "true" : "false",
|
|
3517
3517
|
onClick: (P) => {
|
|
3518
|
-
Ae(P, k),
|
|
3518
|
+
Ae(P, k), v(C, P);
|
|
3519
3519
|
}
|
|
3520
|
-
},
|
|
3520
|
+
}, C.text)])), y = [t("div", { class: "gnb-menu" }, [t("div", { class: "menu-wrap" }, [t("ul", {
|
|
3521
3521
|
role: "tablist",
|
|
3522
3522
|
"aria-label": e.ariaLabel
|
|
3523
3523
|
}, u)]), t("div", { class: "submenu-wrap" }, e.items.map(We))]), r.bottom ? t("div", { class: "gnb-bottom" }, r.bottom()) : null];
|
|
@@ -3637,7 +3637,7 @@ var _t = M({
|
|
|
3637
3637
|
setup(e, { emit: a, slots: r }) {
|
|
3638
3638
|
const l = xe()?.uid, n = b(() => `${e.id ?? `krds-carousel-${l}`}-wrapper`);
|
|
3639
3639
|
let s = 0;
|
|
3640
|
-
const d = D(e.activeIndex ?? 0), h = b(() => e.spaceBetween ?? (e.variant === "banner" ? Ua : Ga)),
|
|
3640
|
+
const d = D(e.activeIndex ?? 0), h = b(() => e.spaceBetween ?? (e.variant === "banner" ? Ua : Ga)), p = b(() => e.pagination ?? (e.variant === "banner" ? "fraction" : "bullets")), w = D(!1), c = D(!1), B = D(!1), S = b(() => c.value || B.value);
|
|
3641
3641
|
let $;
|
|
3642
3642
|
const f = () => {
|
|
3643
3643
|
$ !== void 0 && (clearInterval($), $ = void 0);
|
|
@@ -3645,7 +3645,7 @@ var _t = M({
|
|
|
3645
3645
|
if (s <= 0) return;
|
|
3646
3646
|
const F = e.loop ? (V % s + s) % s : Math.min(Math.max(V, 0), s - 1);
|
|
3647
3647
|
F !== d.value && (d.value = F, a("update:activeIndex", F), a("change", F));
|
|
3648
|
-
}, i = () => o(d.value - 1),
|
|
3648
|
+
}, i = () => o(d.value - 1), v = () => o(d.value + 1), m = () => {
|
|
3649
3649
|
w.value || (w.value = !0, a("play"));
|
|
3650
3650
|
}, x = () => {
|
|
3651
3651
|
w.value && (w.value = !1, a("stop"));
|
|
@@ -3660,7 +3660,7 @@ var _t = M({
|
|
|
3660
3660
|
x();
|
|
3661
3661
|
return;
|
|
3662
3662
|
}
|
|
3663
|
-
|
|
3663
|
+
v();
|
|
3664
3664
|
}, e.autoplayDelay));
|
|
3665
3665
|
}), se(() => e.autoplay, (V) => {
|
|
3666
3666
|
V ? m() : x();
|
|
@@ -3671,8 +3671,8 @@ var _t = M({
|
|
|
3671
3671
|
let T;
|
|
3672
3672
|
const _ = (V) => {
|
|
3673
3673
|
E.value = V.matches;
|
|
3674
|
-
},
|
|
3675
|
-
|
|
3674
|
+
}, g = b(() => E.value ? 0 : e.speed);
|
|
3675
|
+
re(() => {
|
|
3676
3676
|
typeof window < "u" && window.matchMedia && (T = window.matchMedia("(prefers-reduced-motion: reduce)"), E.value = T.matches, T.addEventListener("change", _)), e.autoplay && m();
|
|
3677
3677
|
}), fe(() => {
|
|
3678
3678
|
f(), T?.removeEventListener("change", _);
|
|
@@ -3701,7 +3701,7 @@ var _t = M({
|
|
|
3701
3701
|
gap: h.value > 0 ? `${h.value}px` : void 0,
|
|
3702
3702
|
transform: `translate3d(calc(${-V} * (100% + ${h.value}px)), 0, 0)`,
|
|
3703
3703
|
transitionProperty: "transform",
|
|
3704
|
-
transitionDuration: `${
|
|
3704
|
+
transitionDuration: `${g.value}ms`,
|
|
3705
3705
|
transitionTimingFunction: "ease-out",
|
|
3706
3706
|
willChange: "transform"
|
|
3707
3707
|
}), de = (V) => ({
|
|
@@ -3730,13 +3730,13 @@ var _t = M({
|
|
|
3730
3730
|
style: z ? de(N) : void 0,
|
|
3731
3731
|
disabled: U,
|
|
3732
3732
|
"aria-controls": n.value,
|
|
3733
|
-
onClick: N ? i :
|
|
3733
|
+
onClick: N ? i : v
|
|
3734
3734
|
}, [t("span", { class: "sr-only" }, N ? e.prevLabel : e.nextLabel)]);
|
|
3735
3735
|
}, ne = () => t("a", {
|
|
3736
3736
|
href: e.moreHref,
|
|
3737
3737
|
class: "swiper-button-more",
|
|
3738
3738
|
onClick: G
|
|
3739
|
-
}, [t("span", { class: "sr-only" }, e.moreLabel)]), L = (V, F) =>
|
|
3739
|
+
}, [t("span", { class: "sr-only" }, e.moreLabel)]), L = (V, F) => p.value === "fraction" ? t("div", { class: "swiper-pagination swiper-pagination-fraction" }, [
|
|
3740
3740
|
t("span", { class: "swiper-pagination-current" }, String(F + 1)),
|
|
3741
3741
|
t("span", { "aria-hidden": "true" }, "/"),
|
|
3742
3742
|
t("span", { class: "swiper-pagination-total" }, String(V))
|
|
@@ -3761,7 +3761,7 @@ var _t = M({
|
|
|
3761
3761
|
"aria-controls": n.value,
|
|
3762
3762
|
onClick: x
|
|
3763
3763
|
}, [t("span", { class: "sr-only" }, e.stopLabel)])]), Y = (V, F) => {
|
|
3764
|
-
const z = e.variant === "banner", N =
|
|
3764
|
+
const z = e.variant === "banner", N = p.value !== "none", U = !!e.moreHref, J = [];
|
|
3765
3765
|
if (N && J.push(L(V, F)), e.autoplay && J.push(R()), z) {
|
|
3766
3766
|
const ee = [];
|
|
3767
3767
|
e.navigation && ee.push(Q("prev", F, !1), Q("next", F, !1)), U && ee.push(ne()), ee.length > 0 && J.push(t("div", { class: "swiper-navigation" }, ee));
|
|
@@ -3832,7 +3832,7 @@ var _t = M({
|
|
|
3832
3832
|
change: (e) => !0
|
|
3833
3833
|
},
|
|
3834
3834
|
setup(e, { emit: a, slots: r }) {
|
|
3835
|
-
const l = oe(), n = (c) => `tab-${l}-${c}`, s = (c) => `panel-${l}-${c}`, d = D(e.tabs.find((c) => !c.disabled)?.id), h = b(() => e.modelValue ?? d.value),
|
|
3835
|
+
const l = oe(), n = (c) => `tab-${l}-${c}`, s = (c) => `panel-${l}-${c}`, d = D(e.tabs.find((c) => !c.disabled)?.id), h = b(() => e.modelValue ?? d.value), p = (c) => {
|
|
3836
3836
|
c.disabled || c.id === h.value || (d.value = c.id, a("update:modelValue", c.id), a("change", c.id));
|
|
3837
3837
|
}, w = (c) => {
|
|
3838
3838
|
if (c.key !== "ArrowRight" && c.key !== "ArrowLeft") return;
|
|
@@ -3860,7 +3860,7 @@ var _t = M({
|
|
|
3860
3860
|
type: "button",
|
|
3861
3861
|
class: "btn-tab",
|
|
3862
3862
|
disabled: c.disabled || void 0,
|
|
3863
|
-
onClick: () =>
|
|
3863
|
+
onClick: () => p(c)
|
|
3864
3864
|
}, [c.label, c.id === h.value ? t("i", { class: "sr-only" }, ` ${e.selectedText}`) : null])])))]), t("div", { class: "tab-conts-wrap" }, e.tabs.map((c) => t("section", {
|
|
3865
3865
|
key: c.id,
|
|
3866
3866
|
id: s(c.id),
|
|
@@ -3920,7 +3920,7 @@ var _t = M({
|
|
|
3920
3920
|
KrdsToggleSwitch: () => At,
|
|
3921
3921
|
KrdsTooltip: () => ia,
|
|
3922
3922
|
KrdsTts: () => ba
|
|
3923
|
-
}), Te = "0.0.
|
|
3923
|
+
}), Te = "0.0.19", ll = { install(e, a = {}) {
|
|
3924
3924
|
e.provide("krds:config", a), (a.components || Object.keys(Ke)).forEach((r) => {
|
|
3925
3925
|
const l = Ke[r];
|
|
3926
3926
|
l && e.component(r, l);
|