@krds.ui/vue 0.0.19 → 0.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,13 +1,13 @@
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
- var be = Object.defineProperty, Je = (e, a) => {
1
+ import { Comment as Xe, Fragment as Qe, Teleport as Ce, Text as Je, computed as k, defineComponent as A, getCurrentInstance as xe, h as t, inject as Ze, nextTick as pe, onBeforeUnmount as fe, onMounted as ie, onUnmounted as ve, provide as et, ref as E, useId as ce, vShow as we, watch as re, withDirectives as ke, withModifiers as Ke } from "vue";
2
+ var Be = Object.defineProperty, tt = (e, a) => {
3
3
  let r = {};
4
4
  for (var l in e)
5
- be(r, l, {
5
+ Be(r, l, {
6
6
  get: e[l],
7
7
  enumerable: !0
8
8
  });
9
- return a || be(r, Symbol.toStringTag, { value: "Module" }), r;
10
- }, $e = M({
9
+ return a || Be(r, Symbol.toStringTag, { value: "Module" }), r;
10
+ }, Me = /* @__PURE__ */ A({
11
11
  name: "KrdsButton",
12
12
  props: {
13
13
  type: {
@@ -49,7 +49,7 @@ var be = Object.defineProperty, Je = (e, a) => {
49
49
  },
50
50
  emits: { click: (e) => !0 },
51
51
  setup(e, { emit: a, slots: r }) {
52
- const l = b(() => {
52
+ const l = k(() => {
53
53
  const s = ["krds-btn"];
54
54
  return e.icon && s.push("icon"), e.border && s.push("border"), e.pure && s.push("pure"), e.text && s.push("text"), e.variant && !e.icon && s.push(e.variant), e.size && s.push(e.size), e.class && s.push(e.class), s;
55
55
  }), n = (s) => {
@@ -62,13 +62,13 @@ var be = Object.defineProperty, Je = (e, a) => {
62
62
  onClick: n
63
63
  }, r.default?.());
64
64
  }
65
- }), Ze = $e, et = M({
65
+ }), at = Me, lt = /* @__PURE__ */ A({
66
66
  name: "KrdsButtonGroup",
67
67
  props: {},
68
68
  setup(e, { slots: a }) {
69
69
  return () => t("div", { class: "btn-group" }, a.default?.());
70
70
  }
71
- }), tt = M({
71
+ }), nt = /* @__PURE__ */ A({
72
72
  name: "KrdsIcon",
73
73
  props: {
74
74
  name: {
@@ -87,7 +87,7 @@ var be = Object.defineProperty, Je = (e, a) => {
87
87
  e.class
88
88
  ].filter(Boolean).join(" ") });
89
89
  }
90
- }), at = M({
90
+ }), st = /* @__PURE__ */ A({
91
91
  name: "KrdsLink",
92
92
  props: {
93
93
  href: {
@@ -125,10 +125,10 @@ var be = Object.defineProperty, Je = (e, a) => {
125
125
  },
126
126
  emits: { click: (e) => !0 },
127
127
  setup(e, { emit: a, slots: r }) {
128
- const l = b(() => {
128
+ const l = k(() => {
129
129
  const d = ["krds-btn"];
130
130
  return e.size && d.push(e.size), e.link && d.push("link"), e.basic && d.push("basic"), e.pure && d.push("pure"), e.class && d.push(e.class), d;
131
- }), n = b(() => {
131
+ }), n = k(() => {
132
132
  const d = {
133
133
  href: e.href,
134
134
  class: l.value
@@ -142,7 +142,7 @@ var be = Object.defineProperty, Je = (e, a) => {
142
142
  onClick: s
143
143
  }, r.default?.());
144
144
  }
145
- }), Le = M({
145
+ }), Ve = /* @__PURE__ */ A({
146
146
  name: "KrdsSpinner",
147
147
  props: { label: {
148
148
  type: String,
@@ -155,7 +155,7 @@ var be = Object.defineProperty, Je = (e, a) => {
155
155
  role: "status"
156
156
  }, e);
157
157
  }
158
- }), lt = M({
158
+ }), rt = /* @__PURE__ */ A({
159
159
  name: "KrdsInput",
160
160
  props: {
161
161
  modelValue: {
@@ -249,23 +249,23 @@ var be = Object.defineProperty, Je = (e, a) => {
249
249
  keyup: (e) => !0
250
250
  },
251
251
  setup(e, { emit: a, slots: r }) {
252
- const l = b(() => {
252
+ const l = k(() => {
253
253
  const S = ["krds-input"];
254
254
  return e.size && S.push(e.size), e.class && S.push(e.class), S;
255
255
  }), n = (S) => {
256
- const $ = S.target;
257
- a("update:modelValue", e.type === "number" ? Number($.value) : $.value), a("input", S);
256
+ const D = S.target;
257
+ a("update:modelValue", e.type === "number" ? Number(D.value) : D.value), a("input", S);
258
258
  }, s = (S) => {
259
259
  a("change", S);
260
260
  }, d = (S) => {
261
261
  a("focus", S);
262
262
  }, h = (S) => {
263
263
  a("blur", S);
264
- }, p = (S) => {
264
+ }, v = (S) => {
265
265
  a("keydown", S);
266
- }, w = (S) => {
266
+ }, C = (S) => {
267
267
  a("keyup", S);
268
- }, c = b(() => {
268
+ }, c = k(() => {
269
269
  const S = {
270
270
  type: e.type,
271
271
  class: l.value,
@@ -282,20 +282,20 @@ var be = Object.defineProperty, Je = (e, a) => {
282
282
  onChange: s,
283
283
  onFocus: d,
284
284
  onBlur: h,
285
- onKeydown: p,
286
- onKeyup: w
285
+ onKeydown: v,
286
+ onKeyup: C
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;
289
- }), B = b(() => {
289
+ }), _ = k(() => {
290
290
  const S = ["form-conts"];
291
291
  return e.state !== "default" && S.push(`is-${e.state}`), e.icon && S.push("btn-ico-wrap"), S;
292
292
  });
293
293
  return () => {
294
294
  const S = [t("input", c.value)];
295
- return e.loading ? t("div", { class: B.value }, [t("div", { class: "form-spinner" }, [...S, t(Le)])]) : (r.default && S.push(...r.default()), t("div", { class: B.value }, S));
295
+ return e.loading ? t("div", { class: _.value }, [t("div", { class: "form-spinner" }, [...S, t(Ve)])]) : (r.default && S.push(...r.default()), t("div", { class: _.value }, S));
296
296
  };
297
297
  }
298
- }), nt = lt, st = M({
298
+ }), it = rt, ot = /* @__PURE__ */ A({
299
299
  name: "KrdsFormLabel",
300
300
  props: {
301
301
  for: {
@@ -328,7 +328,7 @@ var be = Object.defineProperty, Je = (e, a) => {
328
328
  onClick: l
329
329
  }, r.default?.())]);
330
330
  }
331
- }), rt = st, it = M({
331
+ }), ut = ot, dt = /* @__PURE__ */ A({
332
332
  name: "KrdsFormHint",
333
333
  props: {
334
334
  type: {
@@ -376,7 +376,7 @@ var be = Object.defineProperty, Je = (e, a) => {
376
376
  onClick: l
377
377
  }, r.default?.());
378
378
  }
379
- }), ot = it, ut = M({
379
+ }), ct = dt, ft = /* @__PURE__ */ A({
380
380
  name: "KrdsFormGroup",
381
381
  props: {
382
382
  class: {
@@ -393,7 +393,7 @@ var be = Object.defineProperty, Je = (e, a) => {
393
393
  }
394
394
  },
395
395
  setup(e, { slots: a }) {
396
- const r = b(() => {
396
+ const r = k(() => {
397
397
  const l = ["form-group"];
398
398
  return e.class && l.push(e.class), l;
399
399
  });
@@ -403,26 +403,26 @@ var be = Object.defineProperty, Je = (e, a) => {
403
403
  style: e.style
404
404
  }, a.default?.());
405
405
  }
406
- }), dt = ut;
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), 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 = () => {
406
+ }), vt = ft;
407
+ function pt(e, a) {
408
+ const r = /* @__PURE__ */ new Date(), l = E(e || r.getFullYear()), n = E(a || r.getMonth() + 1), s = E(null), d = E(null), h = E(null), v = k(() => {
409
+ const i = r.getFullYear(), o = [];
410
+ for (let g = i - 10; g <= i + 10; g++) o.push(g);
411
+ return o;
412
+ }), C = k(() => Array.from({ length: 12 }, (i, o) => o + 1)), c = () => {
413
413
  s.value = null, d.value = null;
414
- }, B = () => {
414
+ }, _ = () => {
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, v = !1) => {
419
- if (v)
418
+ }, D = (i, o = !1) => {
419
+ if (o)
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;
423
423
  else {
424
- const m = new Date(s.value.replace(/\./g, "-"));
425
- new Date(i.replace(/\./g, "-")) < m ? (s.value = i, d.value = null) : d.value = i;
424
+ const g = new Date(s.value.replace(/\./g, "-"));
425
+ new Date(i.replace(/\./g, "-")) < g ? (s.value = i, d.value = null) : d.value = i;
426
426
  }
427
427
  };
428
428
  return {
@@ -431,45 +431,51 @@ function ct(e, a) {
431
431
  selectedStartDate: s,
432
432
  selectedEndDate: d,
433
433
  activeDateSelector: h,
434
- yearOptions: p,
435
- monthOptions: w,
434
+ yearOptions: v,
435
+ monthOptions: C,
436
436
  clearDateSelection: c,
437
- prevMonth: B,
437
+ prevMonth: _,
438
438
  nextMonth: S,
439
- handleDateSelection: $,
439
+ handleDateSelection: D,
440
440
  selectToday: () => {
441
441
  const i = `${r.getFullYear()}.${String(r.getMonth() + 1).padStart(2, "0")}.${String(r.getDate()).padStart(2, "0")}`;
442
- $(i, !0);
442
+ D(i, !0);
443
443
  },
444
444
  isDateInSelectedRange: (i) => {
445
- if (!s.value || !d.value) return {
445
+ if (!s.value) return {
446
446
  isInRange: !1,
447
447
  isStart: !1,
448
448
  isEnd: !1
449
449
  };
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;
450
+ const o = i === s.value;
451
+ if (!d.value) return {
452
+ isInRange: o,
453
+ isStart: o,
454
+ isEnd: !1
455
+ };
456
+ const g = new Date(i.replace(/\./g, "-")), z = new Date(s.value.replace(/\./g, "-")), T = new Date(d.value.replace(/\./g, "-")), L = i === d.value;
451
457
  return {
452
- isInRange: v >= m && v <= x,
453
- isStart: K,
454
- isEnd: E
458
+ isInRange: g >= z && g <= T,
459
+ isStart: o,
460
+ isEnd: L
455
461
  };
456
462
  }
457
463
  };
458
464
  }
459
- function ft(e, a, r = {}) {
465
+ function gt(e, a, r = {}) {
460
466
  let l = null;
461
467
  const { ignore: n, event: s = "click" } = typeof r == "string" ? { ignore: r } : r, d = () => {
462
- l = (p) => {
463
- const w = p.target;
464
- e.value?.contains(w) || n && w.closest(n) || a();
468
+ l = (v) => {
469
+ const C = v.target;
470
+ e.value?.contains(C) || n && C.closest(n) || a();
465
471
  }, document.addEventListener(s, l);
466
472
  }, h = () => {
467
473
  if (l) {
468
- const p = typeof r == "string" ? "click" : r.event || "click";
469
- document.removeEventListener(p, l), l = null;
474
+ const v = typeof r == "string" ? "click" : r.event || "click";
475
+ document.removeEventListener(v, l), l = null;
470
476
  }
471
477
  };
472
- return re(() => {
478
+ return ie(() => {
473
479
  d();
474
480
  }), fe(() => {
475
481
  h();
@@ -478,7 +484,7 @@ function ft(e, a, r = {}) {
478
484
  removeGlobalListeners: h
479
485
  };
480
486
  }
481
- var vt = [
487
+ var ht = [
482
488
  "일",
483
489
  "월",
484
490
  "화",
@@ -486,7 +492,7 @@ var vt = [
486
492
  "목",
487
493
  "금",
488
494
  "토"
489
- ], pt = M({
495
+ ], be = /* @__PURE__ */ new Set(), yt = /* @__PURE__ */ A({
490
496
  name: "KrdsDateInput",
491
497
  props: {
492
498
  modelValue: {
@@ -537,6 +543,10 @@ var vt = [
537
543
  type: Number,
538
544
  default: void 0
539
545
  },
546
+ teleport: {
547
+ type: Boolean,
548
+ default: !1
549
+ },
540
550
  class: {
541
551
  type: String,
542
552
  default: void 0
@@ -554,57 +564,79 @@ var vt = [
554
564
  blur: (e) => !0
555
565
  },
556
566
  setup(e, { emit: a }) {
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
- n.value && l.value?.focus(), n.value = !1, s.value = null;
567
+ const r = E(), l = E(), n = E(!1), s = E(null), d = E(!0), h = E(), v = E(!1);
568
+ ie(() => v.value = !0);
569
+ const C = () => {
570
+ const b = l.value?.parentElement?.getBoundingClientRect();
571
+ b && (h.value = {
572
+ position: "absolute",
573
+ top: `${b.bottom + window.scrollY}px`,
574
+ left: `${b.left + window.scrollX}px`,
575
+ width: `${b.width}px`
576
+ });
577
+ }, c = () => {
578
+ const b = l.value?.parentElement?.getBoundingClientRect(), M = r.value?.querySelector(".calendar-wrap");
579
+ if (!b || !M) return;
580
+ const I = b.top, J = window.innerHeight - b.bottom;
581
+ d.value = I >= M.offsetHeight || I >= J, e.teleport && C();
582
+ }, _ = (b) => {
583
+ const M = b ? "addEventListener" : "removeEventListener";
584
+ window[M]("scroll", C, { capture: !0 }), window[M]("resize", C);
559
585
  };
560
- ft(r, v, ".calendar-conts");
561
- const m = b(() => {
562
- const L = [
586
+ re(n, async (b) => {
587
+ e.teleport && _(b), b && (await pe(), c());
588
+ }), fe(() => _(!1));
589
+ const { currentYear: S, currentMonth: D, selectedStartDate: m, selectedEndDate: p, yearOptions: i, monthOptions: o, prevMonth: g, nextMonth: z, handleDateSelection: T, selectToday: L, isDateInSelectedRange: x } = pt(e.initialYear, e.initialMonth), K = () => {
590
+ n.value && l.value?.focus(), n.value = !1, s.value = null, be.delete(K);
591
+ };
592
+ fe(() => be.delete(K)), gt(r, K, ".calendar-conts");
593
+ const f = k(() => {
594
+ const b = [
563
595
  "krds-input",
564
596
  "datepicker",
565
597
  "cal"
566
598
  ];
567
- return e.size && L.push(e.size), e.class && L.push(e.class), L;
568
- }), x = b(() => ["form-conts", "calendar-conts"]), K = b(() => ({
599
+ return e.size && b.push(e.size), e.class && b.push(e.class), b;
600
+ }), B = k(() => ["form-conts", "calendar-conts"]), R = k(() => ({
569
601
  "krds-calendar-area": !0,
570
602
  active: n.value
571
- })), E = b(() => {
572
- const L = d.value, R = h.value, Y = new Date(L, R - 1, 1), V = new Date(Y);
573
- V.setDate(V.getDate() - Y.getDay());
574
- const F = [], z = new Date(V);
575
- for (let N = 0; N < 6; N++) {
576
- const U = [];
577
- for (let J = 0; J < 7; J++) {
578
- const ee = `${z.getFullYear()}.${String(z.getMonth() + 1).padStart(2, "0")}.${String(z.getDate()).padStart(2, "0")}`, ue = z.getDay();
579
- U.push({
580
- day: z.getDate(),
581
- dateString: ee,
582
- isCurrentMonth: z.getMonth() === R - 1,
583
- isToday: z.toDateString() === (/* @__PURE__ */ new Date()).toDateString(),
584
- isPrevMonth: z.getMonth() < R - 1 || z.getMonth() === 11 && R === 1,
585
- isNextMonth: z.getMonth() > R - 1 || z.getMonth() === 0 && R === 12,
586
- isSunday: ue === 0,
587
- isSaturday: ue === 6
588
- }), z.setDate(z.getDate() + 1);
603
+ })), H = k(() => {
604
+ const b = S.value, M = D.value, I = new Date(b, M - 1, 1), J = new Date(I);
605
+ J.setDate(J.getDate() - I.getDay());
606
+ const se = [], X = new Date(J);
607
+ for (let te = 0; te < 6; te++) {
608
+ const he = [];
609
+ for (let ye = 0; ye < 7; ye++) {
610
+ const Se = `${X.getFullYear()}.${String(X.getMonth() + 1).padStart(2, "0")}.${String(X.getDate()).padStart(2, "0")}`, me = X.getDay();
611
+ he.push({
612
+ day: X.getDate(),
613
+ dateString: Se,
614
+ isCurrentMonth: X.getMonth() === M - 1,
615
+ isToday: X.toDateString() === (/* @__PURE__ */ new Date()).toDateString(),
616
+ isPrevMonth: X < I,
617
+ isNextMonth: X.getMonth() !== M - 1 && X > I,
618
+ isSunday: me === 0,
619
+ isSaturday: me === 6
620
+ }), X.setDate(X.getDate() + 1);
589
621
  }
590
- F.push(U);
622
+ se.push(he);
591
623
  }
592
- return F;
593
- }), T = (L) => {
594
- const R = [];
595
- if (L.isPrevMonth && R.push("old"), L.isNextMonth && R.push("new"), L.isToday && R.push("today"), L.isSunday && R.push("day-off"), e.holidays?.includes(L.dateString) && R.push("day-off"), e.eventDates?.includes(L.dateString) && R.push("day-event"), L.isCurrentMonth) {
596
- const Y = i(L.dateString);
597
- Y.isInRange && (R.push("period"), Y.isStart && R.push("start"), Y.isEnd && R.push("end"));
624
+ return se;
625
+ }), N = (b) => {
626
+ const M = [];
627
+ if (b.isPrevMonth && M.push("old"), b.isNextMonth && M.push("new"), b.isToday && M.push("today"), b.isSunday && M.push("day-off"), e.holidays?.includes(b.dateString) && M.push("day-off"), e.eventDates?.includes(b.dateString) && M.push("day-event"), b.isCurrentMonth) {
628
+ const I = x(b.dateString);
629
+ I.isInRange && (M.push("period"), I.isStart && M.push("start"), I.isEnd && M.push("end"));
598
630
  }
599
- return R;
600
- }, _ = b(() => [
631
+ return M;
632
+ }, O = k(() => [
601
633
  {
602
634
  id: "get-today",
603
635
  label: "오늘",
604
636
  class: "text",
605
637
  variant: void 0,
606
638
  size: "small",
607
- handler: o
639
+ handler: L
608
640
  },
609
641
  {
610
642
  id: "cancel-btn",
@@ -612,7 +644,7 @@ var vt = [
612
644
  class: void 0,
613
645
  variant: "tertiary",
614
646
  size: "small",
615
- handler: v
647
+ handler: K
616
648
  },
617
649
  {
618
650
  id: "confirm-btn",
@@ -620,64 +652,72 @@ var vt = [
620
652
  class: void 0,
621
653
  variant: "primary",
622
654
  size: "small",
623
- handler: O
655
+ handler: ne
624
656
  }
625
- ]), g = (L) => {
626
- s.value === L ? s.value = null : s.value = L;
627
- }, A = (L) => {
628
- d.value = L, s.value = null;
629
- }, I = (L) => {
630
- h.value = L, s.value = null;
631
- }, O = () => {
632
- p.value && (w.value && p.value !== w.value ? a("update:modelValue", `${p.value} ~ ${w.value}`) : a("update:modelValue", p.value), v());
633
- }, H = () => {
634
- n.value = !0, s.value = null, setTimeout(() => {
657
+ ]), j = (b) => {
658
+ r.value?.querySelector(`.btn-cal-switch.${b}`)?.focus();
659
+ }, U = (b) => {
660
+ s.value === b ? s.value = null : s.value = b;
661
+ }, oe = (b) => {
662
+ S.value = b, s.value = null;
663
+ }, ge = (b) => {
664
+ D.value = b, s.value = null;
665
+ }, ne = () => {
666
+ m.value && (p.value && m.value !== p.value ? a("update:modelValue", `${m.value} ~ ${p.value}`) : a("update:modelValue", m.value), K());
667
+ }, Q = () => {
668
+ be.forEach((b) => b()), be.add(K), n.value = !0, s.value = null, setTimeout(() => {
635
669
  r.value?.querySelector(".calendar-wrap")?.focus();
636
670
  }, 50);
637
- }, G = () => {
638
- n.value ? v() : H();
639
- }, j = (L) => {
640
- L.code === "Escape" && (s.value ? s.value = null : n.value && v());
641
- }, X = (L) => {
642
- const R = L.target;
643
- a("update:modelValue", R.value), a("input", L);
644
- }, le = (L) => {
645
- a("change", L);
646
- }, de = (L) => {
647
- a("focus", L);
648
- }, ae = (L) => {
649
- a("blur", L);
650
- }, Q = (L) => {
651
- const R = L === "year", Y = R ? c.value : B.value, V = R ? d.value : h.value, F = (z) => R ? `${z}년` : `${z.toString().padStart(2, "0")}월`;
671
+ }, ue = () => {
672
+ n.value ? K() : Q();
673
+ }, ee = (b) => {
674
+ b.code === "Escape" && (s.value ? s.value = null : n.value && K());
675
+ }, de = (b) => {
676
+ const M = b.target;
677
+ a("update:modelValue", M.value), a("input", b);
678
+ }, le = (b) => {
679
+ a("change", b);
680
+ }, P = (b) => {
681
+ a("focus", b);
682
+ }, F = (b) => {
683
+ a("blur", b);
684
+ }, G = (b) => {
685
+ const M = b === "year", I = M ? i.value : o.value, J = M ? S.value : D.value, se = (te) => M ? `${te}년` : `${te.toString().padStart(2, "0")}월`, X = s.value === b;
652
686
  return t("div", { class: "calendar-drop-down" }, [t("button", {
653
687
  type: "button",
654
- class: `btn-cal-switch ${L}`,
655
- "aria-label": R ? "연도 선택" : "월 선택",
656
- "aria-expanded": s.value === L,
657
- onClick: () => g(L)
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", {
688
+ class: `btn-cal-switch ${b}`,
689
+ "aria-label": M ? "연도 선택" : "월 선택",
690
+ "aria-expanded": X,
691
+ onClick: () => U(b)
692
+ }, se(J)), ke(t("div", { class: [
693
+ "calendar-select",
694
+ M ? "calendar-year-wrap" : "calendar-mon-wrap",
695
+ { active: X }
696
+ ] }, [t("ul", { class: `sel ${b}` }, I.map((te) => t("li", { key: te }, [t("button", {
659
697
  type: "button",
660
- class: { active: z === V },
661
- onClick: () => R ? A(z) : I(z)
662
- }, F(z))])))]), [[pe, s.value === L]])]);
663
- }, ne = () => t("table", { class: "calendar-tbl" }, [
664
- t("caption", null, `${d.value}년 ${h.value.toString().padStart(2, "0")}월`),
665
- t("thead", null, [t("tr", null, vt.map((L) => t("th", null, L)))]),
666
- t("tbody", null, E.value.map((L, R) => t("tr", { key: R }, L.map((Y, V) => t("td", {
667
- key: V,
668
- class: T(Y),
669
- "data-date": Y.dateString
698
+ class: { active: te === J },
699
+ onClick: () => {
700
+ M ? oe(te) : ge(te), j(b);
701
+ }
702
+ }, se(te))])))]), [[we, X]])]);
703
+ }, q = () => t("table", { class: "calendar-tbl" }, [
704
+ t("caption", null, `${S.value}년 ${D.value.toString().padStart(2, "0")}월`),
705
+ t("thead", null, [t("tr", null, ht.map((b) => t("th", null, b)))]),
706
+ t("tbody", null, H.value.map((b, M) => t("tr", { key: M }, b.map((I, J) => t("td", {
707
+ key: J,
708
+ class: N(I),
709
+ "data-date": I.dateString
670
710
  }, [t("button", {
671
711
  type: "button",
672
712
  class: "btn-set-date",
673
- "aria-pressed": i(Y.dateString).isInRange ? "true" : "false",
674
- onClick: () => f(Y.dateString)
675
- }, [t("span", null, String(Y.day))])])))))
713
+ "aria-pressed": x(I.dateString).isInRange ? "true" : "false",
714
+ onClick: () => T(I.dateString)
715
+ }, [t("span", null, String(I.day))])])))))
676
716
  ]);
677
- return () => t("div", { class: "form-conts" }, [t("div", { class: x.value }, [t("div", { class: "calendar-input" }, [t("input", {
717
+ return () => t("div", { class: "form-conts" }, [t("div", { class: B.value }, [t("div", { class: "calendar-input" }, [t("input", {
678
718
  id: e.id,
679
719
  name: e.name,
680
- class: m.value,
720
+ class: f.value,
681
721
  placeholder: e.placeholder,
682
722
  value: e.modelValue,
683
723
  readonly: e.readonly,
@@ -685,51 +725,55 @@ var vt = [
685
725
  required: e.required,
686
726
  autofocus: e.autofocus,
687
727
  type: "text",
688
- onInput: X,
728
+ onInput: de,
689
729
  onChange: le,
690
- onFocus: de,
691
- onBlur: ae
730
+ onFocus: P,
731
+ onBlur: F
692
732
  }), t("button", {
693
733
  ref: l,
694
734
  class: `krds-btn ${e.size || "medium"} icon form-btn-datepicker`,
695
735
  disabled: e.disabled,
696
736
  "aria-expanded": n.value,
697
737
  type: "button",
698
- onClick: G
699
- }, [t("span", { class: "sr-only" }, "달력 열기"), t("i", { class: "svg-icon ico-calendar" })])]), t("div", {
738
+ onClick: ue
739
+ }, [t("span", { class: "sr-only" }, "달력 열기"), t("i", { class: "svg-icon ico-calendar" })])]), t(Ce, {
740
+ to: "body",
741
+ disabled: !(e.teleport && v.value)
742
+ }, [t("div", {
700
743
  ref: r,
701
- class: K.value
702
- }, [ve(t("div", {
703
- class: "calendar-wrap bottom",
744
+ class: R.value,
745
+ style: e.teleport ? h.value : void 0
746
+ }, [ke(t("div", {
747
+ class: ["calendar-wrap", { bottom: d.value }],
704
748
  "aria-label": "달력",
705
749
  tabindex: "0",
706
- onKeydown: j
750
+ onKeydown: ee
707
751
  }, [
708
752
  t("div", { class: "calendar-head" }, [
709
753
  t("button", {
710
754
  type: "button",
711
755
  class: "btn-cal-move prev",
712
- onClick: S
756
+ onClick: g
713
757
  }, [t("span", { class: "sr-only" }, "이전 달")]),
714
- t("div", { class: "calendar-switch-wrap" }, [Q("year"), Q("month")]),
758
+ t("div", { class: "calendar-switch-wrap" }, [G("year"), G("month")]),
715
759
  t("button", {
716
760
  type: "button",
717
761
  class: "btn-cal-move next",
718
- onClick: $
762
+ onClick: z
719
763
  }, [t("span", { class: "sr-only" }, "다음 달")])
720
764
  ]),
721
- t("div", { class: "calendar-body" }, [t("div", { class: "calendar-table-wrap" }, [ne()])]),
722
- t("div", { class: "calendar-footer" }, [t("div", { class: "calendar-btn-wrap" }, _.value.map((L) => t($e, {
723
- id: L.id,
724
- key: L.id,
725
- class: L.class,
726
- variant: L.variant,
727
- size: L.size,
728
- onClick: L.handler
729
- }, { default: () => L.label })))])
730
- ]), [[pe, n.value]])])])]);
765
+ t("div", { class: "calendar-body" }, [t("div", { class: "calendar-table-wrap" }, [q()])]),
766
+ t("div", { class: "calendar-footer" }, [t("div", { class: "calendar-btn-wrap" }, O.value.map((b) => t(Me, {
767
+ id: b.id,
768
+ key: b.id,
769
+ class: b.class,
770
+ variant: b.variant,
771
+ size: b.size,
772
+ onClick: b.handler
773
+ }, { default: () => b.label })))])
774
+ ]), [[we, n.value]])])])])]);
731
775
  }
732
- }), gt = pt, ht = M({
776
+ }), mt = yt, bt = /* @__PURE__ */ A({
733
777
  name: "KrdsTextarea",
734
778
  props: {
735
779
  modelValue: {
@@ -807,31 +851,31 @@ var vt = [
807
851
  keyup: (e) => !0
808
852
  },
809
853
  setup(e, { emit: a }) {
810
- const r = D(0);
811
- se(() => e.modelValue, (o) => {
812
- r.value = (o || "").length;
854
+ const r = E(0);
855
+ re(() => e.modelValue, (p) => {
856
+ r.value = (p || "").length;
813
857
  }, { immediate: !0 });
814
- const l = b(() => {
815
- const o = ["krds-input"];
816
- return e.size && o.push(e.size), e.class && o.push(e.class), o;
817
- }), n = b(() => {
818
- const o = {};
819
- return e.resize && (o.resize = e.resize), o;
820
- }), s = (o) => {
821
- const i = o.target.value;
822
- r.value = i.length, a("update:modelValue", i), a("input", o);
823
- }, d = (o) => {
824
- a("change", o);
825
- }, h = (o) => {
826
- a("focus", o);
827
- }, p = (o) => {
828
- a("blur", o);
829
- }, w = (o) => {
830
- a("keydown", o);
831
- }, c = (o) => {
832
- a("keyup", o);
833
- }, B = b(() => {
834
- const o = {
858
+ const l = k(() => {
859
+ const p = ["krds-input"];
860
+ return e.size && p.push(e.size), e.class && p.push(e.class), p;
861
+ }), n = k(() => {
862
+ const p = {};
863
+ return e.resize && (p.resize = e.resize), p;
864
+ }), s = (p) => {
865
+ const i = p.target.value;
866
+ r.value = i.length, a("update:modelValue", i), a("input", p);
867
+ }, d = (p) => {
868
+ a("change", p);
869
+ }, h = (p) => {
870
+ a("focus", p);
871
+ }, v = (p) => {
872
+ a("blur", p);
873
+ }, C = (p) => {
874
+ a("keydown", p);
875
+ }, c = (p) => {
876
+ a("keyup", p);
877
+ }, _ = k(() => {
878
+ const p = {
835
879
  class: l.value,
836
880
  style: n.value,
837
881
  value: e.modelValue,
@@ -847,21 +891,21 @@ var vt = [
847
891
  onInput: s,
848
892
  onChange: d,
849
893
  onFocus: h,
850
- onBlur: p,
851
- onKeydown: w,
894
+ onBlur: v,
895
+ onKeydown: C,
852
896
  onKeyup: c
853
897
  };
854
- return e.maxlength !== void 0 && (o.maxlength = e.maxlength), e.minlength !== void 0 && (o.minlength = e.minlength), o;
855
- }), S = b(() => ["form-conts"]), $ = b(() => ["textarea-wrap"]), f = b(() => e.showCount ? {
898
+ return e.maxlength !== void 0 && (p.maxlength = e.maxlength), e.minlength !== void 0 && (p.minlength = e.minlength), p;
899
+ }), S = k(() => ["form-conts"]), D = k(() => ["textarea-wrap"]), m = k(() => e.showCount ? {
856
900
  current: r.value,
857
901
  max: e.maxlength || ""
858
902
  } : null);
859
903
  return () => {
860
- const o = [t("textarea", B.value)];
861
- return f.value && o.push(t("p", { class: "textarea-count" }, [t("span", { class: "count-now" }, f.value.current), t("span", { class: "count-total" }, f.value.max ? `/${f.value.max}` : "")])), t("div", { class: S.value }, [t("div", { class: $.value }, o)]);
904
+ const p = [t("textarea", _.value)];
905
+ return m.value && p.push(t("p", { class: "textarea-count" }, [t("span", { class: "count-now" }, m.value.current), t("span", { class: "count-total" }, m.value.max ? `/${m.value.max}` : "")])), t("div", { class: S.value }, [t("div", { class: D.value }, p)]);
862
906
  };
863
907
  }
864
- }), yt = ht, mt = M({
908
+ }), kt = bt, St = /* @__PURE__ */ A({
865
909
  name: "KrdsSelect",
866
910
  props: {
867
911
  modelValue: {
@@ -923,17 +967,17 @@ var vt = [
923
967
  blur: (e) => !0
924
968
  },
925
969
  setup(e, { emit: a, slots: r }) {
926
- const l = b(() => {
970
+ const l = k(() => {
927
971
  const c = [];
928
972
  return e.sort ? c.push("krds-form-select-sort") : c.push("krds-form-select"), e.size && c.push(e.size), e.class && c.push(e.class), c;
929
973
  }), n = (c) => {
930
- const B = c.target;
931
- a("update:modelValue", B.value === "" ? null : B.value);
974
+ const _ = c.target;
975
+ a("update:modelValue", _.value === "" ? null : _.value);
932
976
  }, s = (c) => {
933
977
  a("focus", c);
934
978
  }, d = (c) => {
935
979
  a("blur", c);
936
- }, h = b(() => ({
980
+ }, h = k(() => ({
937
981
  class: l.value,
938
982
  value: e.modelValue ?? "",
939
983
  title: e.title || e.placeholder,
@@ -943,29 +987,29 @@ var vt = [
943
987
  onChange: n,
944
988
  onFocus: s,
945
989
  onBlur: d
946
- })), p = b(() => {
990
+ })), v = k(() => {
947
991
  const c = ["form-conts"];
948
992
  return e.state !== "default" && c.push(`is-${e.state}`), c;
949
- }), w = () => {
993
+ }), C = () => {
950
994
  const c = [];
951
995
  return e.placeholder && !e.modelValue && c.push(t("option", {
952
996
  value: "",
953
997
  disabled: !0,
954
998
  selected: !0
955
- }, e.placeholder)), e.options && e.options.length > 0 && e.options.forEach((B) => {
999
+ }, e.placeholder)), e.options && e.options.length > 0 && e.options.forEach((_) => {
956
1000
  c.push(t("option", {
957
- value: B.value,
958
- disabled: B.disabled,
959
- selected: B.value === e.modelValue
960
- }, B.label));
1001
+ value: _.value,
1002
+ disabled: _.disabled,
1003
+ selected: _.value === e.modelValue
1004
+ }, _.label));
961
1005
  }), r.default && c.push(...r.default()), c;
962
1006
  };
963
1007
  return () => {
964
- const c = t("select", h.value, w());
965
- return e.sort ? c : t("div", { class: p.value }, [c]);
1008
+ const c = t("select", h.value, C());
1009
+ return e.sort ? c : t("div", { class: v.value }, [c]);
966
1010
  };
967
1011
  }
968
- }), bt = mt, kt = 0, St = M({
1012
+ }), wt = St, Kt = 0, Ct = /* @__PURE__ */ A({
969
1013
  name: "KrdsFileUpload",
970
1014
  props: {
971
1015
  modelValue: {
@@ -1067,61 +1111,66 @@ var vt = [
1067
1111
  preview: (e) => !0
1068
1112
  },
1069
1113
  setup(e, { emit: 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
- return A.length > 1 ? A.pop().toLowerCase() : "";
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 `등록 가능한 파일 용량을 초과하였습니다.
1114
+ const r = E(!1), l = E(null), n = e.id ? `${e.id}-input` : `krds-file-upload-${++Kt}`, s = (f) => f < 1024 ? `${f}B` : f < 1048576 ? `${Math.round(f / 1024)}KB` : `${Number((f / 1048576).toFixed(1))}MB`, d = (f) => {
1115
+ const B = f.split(".");
1116
+ return B.length > 1 ? B.pop().toLowerCase() : "";
1117
+ }, h = (f) => {
1118
+ const B = d(f.name), R = B ? f.name.slice(0, -(B.length + 1)) : f.name;
1119
+ return B ? `${R} [${B}, ${s(f.size)}]` : `${f.name} [${s(f.size)}]`;
1120
+ }, v = () => `${Date.now()}-${Math.random().toString(36).slice(2, 11)}`, C = (f) => {
1121
+ if (e.maxFileSize && f.size >= e.maxFileSize) return `등록 가능한 파일 용량을 초과하였습니다.
1078
1122
  ${s(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
1079
1123
  if (e.accept) {
1080
- const A = e.accept.split(",").map((H) => H.trim().toLowerCase()), I = `.${d(g.name)}`, O = g.type;
1081
- if (!A.some((H) => H.startsWith(".") ? I === H : H.endsWith("/*") ? O.startsWith(H.replace("/*", "/")) : O === H)) return "허용되지 않는 파일 형식입니다.";
1124
+ const B = e.accept.split(",").map((N) => N.trim().toLowerCase()), R = `.${d(f.name)}`, H = f.type;
1125
+ if (!B.some((N) => N.startsWith(".") ? R === N : N.endsWith("/*") ? H.startsWith(N.replace("/*", "/")) : H === N)) return "허용되지 않는 파일 형식입니다.";
1082
1126
  }
1083
1127
  return null;
1084
- }, c = (g) => {
1128
+ }, c = (f) => {
1085
1129
  if (e.disabled || e.readonly) return;
1086
- let A = [...e.modelValue || []];
1087
- !e.multiple && A.length > 0 && (A = []);
1088
- const I = [];
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
- file: H,
1093
- name: H.name,
1094
- size: H.size,
1095
- type: H.type,
1096
- status: G ? "error" : "pending",
1097
- errorMessage: G || void 0
1130
+ let B = [...e.modelValue || []];
1131
+ !e.multiple && B.length > 0 && (B = []);
1132
+ const R = [];
1133
+ let H = B.filter((O) => O.status !== "error").length;
1134
+ const N = e.multiple ? Array.from(f) : Array.from(f).slice(0, 1);
1135
+ for (const O of N) {
1136
+ if (H >= e.maxFiles) break;
1137
+ const j = C(O);
1138
+ j || H++;
1139
+ const U = {
1140
+ id: v(),
1141
+ file: O,
1142
+ name: O.name,
1143
+ size: O.size,
1144
+ type: O.type,
1145
+ status: j ? "error" : "pending",
1146
+ errorMessage: j || void 0
1098
1147
  };
1099
- I.push(j), G ? a("file-error", j, G) : a("file-added", j);
1148
+ R.push(U), j ? a("file-error", U, j) : a("file-added", U);
1100
1149
  }
1101
- I.length > 0 && a("update:modelValue", [...A, ...I]);
1102
- }, B = (g) => {
1103
- const A = g.target;
1104
- A.files?.length && (c(A.files), A.value = "");
1105
- }, S = (g) => {
1106
- e.disabled || e.readonly || !e.dragAndDrop || (g.preventDefault(), r.value = !0);
1107
- }, $ = () => {
1150
+ R.length > 0 && a("update:modelValue", [...B, ...R]);
1151
+ }, _ = (f) => {
1152
+ const B = f.target;
1153
+ B.files?.length && (c(B.files), B.value = "");
1154
+ }, S = (f) => {
1155
+ e.disabled || e.readonly || !e.dragAndDrop || (f.preventDefault(), r.value = !0);
1156
+ }, D = () => {
1108
1157
  r.value = !1;
1109
- }, f = (g) => {
1110
- g.preventDefault(), r.value = !1, !(e.disabled || e.readonly || !e.dragAndDrop) && g.dataTransfer?.files && c(g.dataTransfer.files);
1111
- }, o = () => {
1158
+ }, m = (f) => {
1159
+ f.preventDefault(), r.value = !1, !(e.disabled || e.readonly || !e.dragAndDrop) && f.dataTransfer?.files && c(f.dataTransfer.files);
1160
+ }, p = () => {
1112
1161
  e.disabled || e.readonly || l.value?.click();
1113
- }, i = (g) => {
1114
- e.disabled || e.readonly || (a("update:modelValue", (e.modelValue || []).filter((A) => A.id !== g)), a("file-removed", g));
1115
- }, v = () => {
1162
+ }, i = (f) => {
1163
+ e.disabled || e.readonly || (a("update:modelValue", (e.modelValue || []).filter((B) => B.id !== f)), a("file-removed", f));
1164
+ }, o = () => {
1116
1165
  e.disabled || e.readonly || (a("update:modelValue", []), a("clear-all"));
1117
- }, m = b(() => {
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
- class: "file-upload",
1166
+ }, g = k(() => {
1167
+ const f = ["krds-file-upload", "line"];
1168
+ return e.class && f.push(e.class), f;
1169
+ }), z = () => t("div", { class: "file-head" }, [t("h3", { class: "tit" }, e.title), t("div", null, [t("p", null, e.description)])]), T = () => t("div", {
1170
+ class: ["file-upload", { active: r.value }],
1122
1171
  onDragover: S,
1123
- onDragleave: $,
1124
- onDrop: f
1172
+ onDragleave: D,
1173
+ onDrop: m
1125
1174
  }, [t("p", { class: "txt" }, e.placeholder), t("div", { class: "file-upload-btn-wrap" }, [t("input", {
1126
1175
  ref: l,
1127
1176
  type: "file",
@@ -1130,64 +1179,64 @@ ${s(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
1130
1179
  hidden: !0,
1131
1180
  accept: e.accept || void 0,
1132
1181
  multiple: e.multiple,
1133
- onChange: B
1182
+ onChange: _
1134
1183
  }), t("label", { for: n }, [t("button", {
1135
1184
  type: "button",
1136
1185
  class: ["krds-btn", e.size],
1137
1186
  disabled: e.disabled || void 0,
1138
- onClick: o
1139
- }, [t("i", { class: "svg-icon ico-upload" }), "파일선택"])])])]), E = (g) => {
1140
- const A = [];
1141
- return g.status === "uploading" ? A.push(t("span", {
1187
+ onClick: p
1188
+ }, [t("i", { class: "svg-icon ico-upload" }), "파일선택"])])])]), L = (f) => {
1189
+ const B = [];
1190
+ return f.status === "uploading" ? B.push(t("span", {
1142
1191
  class: "krds-spinner",
1143
1192
  role: "status"
1144
- }, [t("span", { class: "sr-only" }, "업로드 중")])) : g.downloadUrl ? (e.showDownload && A.push(t("button", {
1193
+ }, [t("span", { class: "sr-only" }, "업로드 중")])) : f.downloadUrl ? (e.showDownload && B.push(t("button", {
1145
1194
  type: "button",
1146
1195
  class: "krds-btn medium text",
1147
- onClick: () => a("download", g)
1148
- }, ["다운로드 ", t("i", { class: "svg-icon ico-down" })])), e.showPreviewButton && A.push(t("button", {
1196
+ onClick: () => a("download", f)
1197
+ }, ["다운로드 ", t("i", { class: "svg-icon ico-down" })])), e.showPreviewButton && B.push(t("button", {
1149
1198
  type: "button",
1150
1199
  class: "krds-btn medium text",
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", {
1200
+ onClick: () => a("preview", f)
1201
+ }, ["바로보기 ", t("i", { class: "svg-icon ico-angle right" })]))) : f.status === "completed" ? B.push(t("span", { class: "ico-invalid complete" }, [t("em", { class: "sr-only" }, "업로드 완료")])) : e.readonly || B.push(t("button", {
1153
1202
  type: "button",
1154
1203
  class: "krds-btn medium text",
1155
1204
  disabled: e.disabled || void 0,
1156
- onClick: () => i(g.id)
1157
- }, ["삭제 ", t("i", { class: "svg-icon ico-delete-fill" })])), A;
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
- `), O = [];
1163
- I.forEach((H, G) => {
1164
- G > 0 && O.push(t("br")), O.push(H);
1165
- }), A.push(t("p", { class: "file-hint-invalid" }, O));
1205
+ onClick: () => i(f.id)
1206
+ }, ["삭제 ", t("i", { class: "svg-icon ico-delete-fill" })])), B;
1207
+ }, x = (f) => {
1208
+ const B = [t("div", { class: f.downloadUrl ? "file-info m-column" : "file-info" }, [t("div", { class: "file-name" }, h(f)), t("div", { class: "btn-wrap" }, L(f))])];
1209
+ if (f.status === "error" && f.errorMessage) {
1210
+ const R = f.errorMessage.split(`
1211
+ `), H = [];
1212
+ R.forEach((N, O) => {
1213
+ O > 0 && H.push(t("br")), H.push(N);
1214
+ }), B.push(t("p", { class: "file-hint-invalid" }, H));
1166
1215
  }
1167
1216
  return t("li", {
1168
- key: g.id,
1169
- class: g.status === "error" ? "is-error" : void 0
1170
- }, 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
- return e.showClearAll && !e.readonly && I.push(t("div", { class: "upload-delete-btn" }, [t("button", {
1217
+ key: f.id,
1218
+ class: f.status === "error" ? "is-error" : void 0
1219
+ }, B);
1220
+ }, K = (f) => {
1221
+ const B = f.filter((H) => H.status !== "error").length, R = [t("div", { class: "total" }, [t("span", { class: "current" }, `${B}개`), ` / ${e.maxFiles}개`]), t("ul", { class: "upload-list" }, f.map(x))];
1222
+ return e.showClearAll && !e.readonly && R.push(t("div", { class: "upload-delete-btn" }, [t("button", {
1174
1223
  type: "button",
1175
1224
  class: "krds-btn xsmall tertiary",
1176
1225
  disabled: e.disabled || void 0,
1177
- onClick: v
1178
- }, ["전체 파일 삭제", t("i", { class: "svg-icon ico-angle right" })])])), t("div", { class: "file-list" }, I);
1226
+ onClick: o
1227
+ }, ["전체 파일 삭제", t("i", { class: "svg-icon ico-angle right" })])])), t("div", { class: "file-list" }, R);
1179
1228
  };
1180
1229
  return () => {
1181
- const g = [x()];
1182
- e.readonly || g.push(K());
1183
- const A = e.modelValue || [];
1184
- return A.length > 0 && g.push(_(A)), t("div", {
1185
- class: m.value,
1230
+ const f = [z()];
1231
+ e.readonly || f.push(T());
1232
+ const B = e.modelValue || [];
1233
+ return B.length > 0 && f.push(K(B)), t("div", {
1234
+ class: g.value,
1186
1235
  style: e.style || void 0
1187
- }, g);
1236
+ }, f);
1188
1237
  };
1189
1238
  }
1190
- }), wt = St, Kt = M({
1239
+ }), xt = Ct, $t = /* @__PURE__ */ A({
1191
1240
  name: "KrdsBadge",
1192
1241
  props: {
1193
1242
  type: {
@@ -1213,7 +1262,7 @@ ${s(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
1213
1262
  },
1214
1263
  emits: { click: (e) => !0 },
1215
1264
  setup(e, { emit: a, slots: r }) {
1216
- const l = b(() => {
1265
+ const l = k(() => {
1217
1266
  const s = ["krds-badge"];
1218
1267
  return s.push(`${e.type}-${e.color}`), e.size && s.push(e.size), e.number && s.push("number"), e.class && s.push(e.class), s;
1219
1268
  }), n = (s) => {
@@ -1228,7 +1277,7 @@ ${s(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
1228
1277
  onClick: n
1229
1278
  }, r.default?.());
1230
1279
  }
1231
- }), Ct = Kt, xt = M({
1280
+ }), Lt = $t, Dt = /* @__PURE__ */ A({
1232
1281
  name: "KrdsTag",
1233
1282
  props: {
1234
1283
  link: {
@@ -1254,7 +1303,7 @@ ${s(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
1254
1303
  },
1255
1304
  emits: { remove: (e) => !0 },
1256
1305
  setup(e, { emit: a, slots: r }) {
1257
- const l = b(() => {
1306
+ const l = k(() => {
1258
1307
  const d = ["krds-btn-tag"];
1259
1308
  return e.link && d.push("link"), e.class && d.push(e.class), d;
1260
1309
  }), n = (d) => {
@@ -1267,16 +1316,16 @@ ${s(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
1267
1316
  return () => {
1268
1317
  const d = [], h = r.default?.();
1269
1318
  if (h && d.push(h), e.link || d.push(s()), e.link) {
1270
- const p = {
1319
+ const v = {
1271
1320
  href: e.href,
1272
1321
  class: l.value
1273
1322
  };
1274
- return e.target && (p.target = e.target), e.rel && (p.rel = e.rel), t("a", p, d);
1323
+ return e.target && (v.target = e.target), e.rel && (v.rel = e.rel), t("a", v, d);
1275
1324
  }
1276
1325
  return t("span", { class: l.value }, d);
1277
1326
  };
1278
1327
  }
1279
- }), $t = xt, Lt = M({
1328
+ }), Bt = Dt, Et = /* @__PURE__ */ A({
1280
1329
  name: "KrdsTagGroup",
1281
1330
  props: {
1282
1331
  size: {
@@ -1289,13 +1338,13 @@ ${s(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
1289
1338
  }
1290
1339
  },
1291
1340
  setup(e, { slots: a }) {
1292
- const r = b(() => {
1341
+ const r = k(() => {
1293
1342
  const l = ["krds-tag-wrap"];
1294
1343
  return e.size && l.push(e.size), e.class && l.push(e.class), l;
1295
1344
  });
1296
1345
  return () => t("div", { class: r.value }, a.default?.());
1297
1346
  }
1298
- }), Dt = Lt, Bt = M({
1347
+ }), Tt = Et, _t = /* @__PURE__ */ A({
1299
1348
  name: "KrdsMasthead",
1300
1349
  props: { class: {
1301
1350
  type: String,
@@ -1303,7 +1352,7 @@ ${s(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
1303
1352
  } },
1304
1353
  emits: { click: (e) => !0 },
1305
1354
  setup(e, { emit: a, slots: r }) {
1306
- const l = b(() => {
1355
+ const l = k(() => {
1307
1356
  const s = [""];
1308
1357
  return e.class && s.push(e.class), s;
1309
1358
  }), n = (s) => {
@@ -1315,17 +1364,17 @@ ${s(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
1315
1364
  onClick: n
1316
1365
  }, [t("div", { class: "toggle-wrap" }, [t("div", { class: "toggle-head" }, [t("div", { class: "inner" }, [t("span", { class: "nuri-txt" }, r.default?.())])])])]);
1317
1366
  }
1318
- }), Tt = Bt, Et = 0;
1319
- function tl(e = "krds") {
1320
- return `${e}-${++Et}`;
1367
+ }), At = _t, Mt = 0;
1368
+ function nl(e = "krds") {
1369
+ return `${e}-${++Mt}`;
1321
1370
  }
1322
- function al() {
1371
+ function sl() {
1323
1372
  return `${Date.now().toString(36).slice(-4)}${Math.random().toString(36).substring(2, 5)}`;
1324
1373
  }
1325
- function he(...e) {
1374
+ function $e(...e) {
1326
1375
  return e.filter(Boolean).join(" ");
1327
1376
  }
1328
- var _t = M({
1377
+ var Vt = /* @__PURE__ */ A({
1329
1378
  name: "KrdsToggleSwitch",
1330
1379
  props: {
1331
1380
  modelValue: {
@@ -1371,11 +1420,11 @@ var _t = M({
1371
1420
  change: (e) => !0
1372
1421
  },
1373
1422
  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 = (p) => {
1423
+ const l = `toggle-switch-${ce()}`, n = k(() => e.modelValue), s = k(() => $e("krds-form-toggle-switch", e.size, e.class)), d = (v) => {
1375
1424
  if (e.disabled) return;
1376
- const w = p.target.checked;
1377
- a("update:modelValue", w), a("change", w);
1378
- }, h = b(() => e.id || l);
1425
+ const C = v.target.checked;
1426
+ a("update:modelValue", C), a("change", C);
1427
+ }, h = k(() => e.id || l);
1379
1428
  return () => t("div", { class: s.value }, [t("input", {
1380
1429
  type: "checkbox",
1381
1430
  id: h.value,
@@ -1386,7 +1435,7 @@ var _t = M({
1386
1435
  ...r
1387
1436
  }), t("label", { for: h.value }, [t("span", { class: "switch-toggle" }, [t("i")]), e.label || ""])]);
1388
1437
  }
1389
- }), At = _t, Mt = M({
1438
+ }), Pt = Vt, zt = /* @__PURE__ */ A({
1390
1439
  name: "KrdsCheckArea",
1391
1440
  props: {
1392
1441
  class: {
@@ -1404,7 +1453,7 @@ var _t = M({
1404
1453
  return e.column && r.push("chk-column"), e.class && r.push(e.class), t("div", { class: r }, a.default?.());
1405
1454
  };
1406
1455
  }
1407
- }), Vt = Mt, Pt = M({
1456
+ }), Ft = zt, Rt = /* @__PURE__ */ A({
1408
1457
  name: "KrdsCheckbox",
1409
1458
  props: {
1410
1459
  modelValue: {
@@ -1436,27 +1485,27 @@ var _t = M({
1436
1485
  emits: { "update:modelValue": (e) => !0 },
1437
1486
  slots: Object,
1438
1487
  setup(e, { emit: a, attrs: r, slots: l }) {
1439
- const n = `checkbox-${oe()}`, s = b(() => e.modelValue), d = b(() => {
1440
- const w = e.chip ? "krds-form-chip" : "krds-form-check";
1441
- return he(w, e.size, e.class);
1442
- }), h = (w) => {
1488
+ const n = `checkbox-${ce()}`, s = k(() => e.modelValue), d = k(() => {
1489
+ const C = e.chip ? "krds-form-chip" : "krds-form-check";
1490
+ return $e(C, e.size, e.class);
1491
+ }), h = (C) => {
1443
1492
  if (e.disabled) return;
1444
- const c = w.target.checked;
1493
+ const c = C.target.checked;
1445
1494
  a("update:modelValue", c);
1446
- }, p = b(() => e.id || n);
1495
+ }, v = k(() => e.id || n);
1447
1496
  return () => {
1448
- const w = [t("input", {
1497
+ const C = [t("input", {
1449
1498
  type: "checkbox",
1450
- id: p.value,
1499
+ id: v.value,
1451
1500
  checked: s.value,
1452
1501
  disabled: e.disabled,
1453
1502
  onChange: h,
1454
1503
  ...r
1455
- }), t("label", { for: p.value }, l.default?.())];
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);
1504
+ }), t("label", { for: v.value }, l.default?.())];
1505
+ 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);
1457
1506
  };
1458
1507
  }
1459
- }), zt = Pt, Ft = M({
1508
+ }), It = Rt, Ht = /* @__PURE__ */ A({
1460
1509
  name: "KrdsRadio",
1461
1510
  props: {
1462
1511
  modelValue: {
@@ -1504,27 +1553,27 @@ var _t = M({
1504
1553
  emits: { "update:modelValue": (e) => !0 },
1505
1554
  slots: Object,
1506
1555
  setup(e, { emit: a, attrs: r, slots: l }) {
1507
- const n = `radio-${oe()}`, s = b(() => e.modelValue === e.value), d = b(() => {
1556
+ const n = `radio-${ce()}`, s = k(() => e.modelValue === e.value), d = k(() => {
1508
1557
  const c = e.chip ? "krds-form-chip" : "krds-form-check";
1509
- return he(c, e.size, e.class);
1558
+ return $e(c, e.size, e.class);
1510
1559
  }), h = (c) => {
1511
1560
  e.disabled || c.target.checked && a("update:modelValue", e.value);
1512
- }, p = b(() => e.id || n), w = b(() => e.name);
1561
+ }, v = k(() => e.id || n), C = k(() => e.name);
1513
1562
  return () => {
1514
1563
  const c = [t("input", {
1515
1564
  type: "radio",
1516
- id: p.value,
1517
- name: w.value,
1565
+ id: v.value,
1566
+ name: C.value,
1518
1567
  value: String(e.value),
1519
1568
  checked: s.value,
1520
1569
  disabled: e.disabled,
1521
1570
  onChange: h,
1522
1571
  ...r
1523
- }), t("label", { for: p.value }, l.default?.())];
1572
+ }), t("label", { for: v.value }, l.default?.())];
1524
1573
  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
1574
  };
1526
1575
  }
1527
- }), Rt = Ft, It = Le, Ht = M({
1576
+ }), Nt = Ht, qt = Ve, Ot = /* @__PURE__ */ A({
1528
1577
  name: "KrdsStepIndicator",
1529
1578
  props: {
1530
1579
  modelValue: {
@@ -1538,23 +1587,23 @@ var _t = M({
1538
1587
  },
1539
1588
  emits: { "update:modelValue": (e) => !0 },
1540
1589
  setup(e, { slots: a }) {
1541
- const r = b(() => {
1590
+ const r = k(() => {
1542
1591
  const h = ["krds-step-wrap"];
1543
1592
  return e.class && h.push(e.class), h;
1544
1593
  }), l = (h) => {
1545
- const p = e.modelValue || 0;
1546
- return h < p ? "done" : h === p ? "active" : "pending";
1547
- }, n = D(0), s = () => {
1594
+ const v = e.modelValue || 0;
1595
+ return h < v ? "done" : h === v ? "active" : "pending";
1596
+ }, n = E(0), s = () => {
1548
1597
  n.value = 0;
1549
1598
  }, d = () => n.value++;
1550
- return Qe("stepIndicator", {
1551
- activeStep: b(() => e.modelValue || 0),
1599
+ return et("stepIndicator", {
1600
+ activeStep: k(() => e.modelValue || 0),
1552
1601
  getStepStatus: l,
1553
1602
  getNextStepIndex: d,
1554
1603
  resetStepIndex: s
1555
1604
  }), () => (s(), t("ol", { class: r.value }, a.default?.()));
1556
1605
  }
1557
- }), Nt = Ht, Ot = M({
1606
+ }), Wt = Ot, Yt = /* @__PURE__ */ A({
1558
1607
  name: "KrdsStep",
1559
1608
  props: {
1560
1609
  step: {
@@ -1576,33 +1625,38 @@ var _t = M({
1576
1625
  },
1577
1626
  emits: { click: (e, a) => !0 },
1578
1627
  setup(e, { emit: a, slots: r }) {
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 p = [s.value];
1581
- return e.class && p.push(e.class), p;
1582
- }), h = (p) => {
1583
- a("click", p, e.step);
1628
+ const l = Ze("stepIndicator"), n = l ? l.getNextStepIndex() : -1, s = k(() => e.status ? e.status : l && n >= 0 ? l.getStepStatus(n) : "pending"), d = k(() => {
1629
+ const v = [s.value];
1630
+ return e.class && v.push(e.class), v;
1631
+ }), h = (v) => {
1632
+ a("click", v, e.step);
1584
1633
  };
1585
1634
  return () => {
1586
- const p = s.value === "active";
1635
+ const v = s.value === "active";
1587
1636
  return t("li", {
1588
1637
  class: d.value,
1589
1638
  onClick: h
1590
1639
  }, [t("span", [
1591
- p && t("em", { class: "sr-only" }, "현재단계"),
1640
+ v && t("em", { class: "sr-only" }, "현재단계"),
1592
1641
  t("i", { class: "step" }, e.step),
1593
1642
  t("span", { class: "step-tit" }, e.title),
1594
1643
  r.default?.()
1595
1644
  ])]);
1596
1645
  };
1597
1646
  }
1598
- }), qt = Ot, Wt = M({
1647
+ }), jt = Yt, Gt = /* @__PURE__ */ A({
1599
1648
  name: "KrdsSkipLink",
1600
1649
  props: {
1601
1650
  href: {
1602
1651
  type: String,
1603
- required: !0,
1652
+ default: void 0,
1604
1653
  validator: (e) => e.startsWith("#")
1605
1654
  },
1655
+ links: {
1656
+ type: Array,
1657
+ default: void 0,
1658
+ validator: (e) => e.every((a) => a.href.startsWith("#"))
1659
+ },
1606
1660
  class: {
1607
1661
  type: [
1608
1662
  String,
@@ -1620,9 +1674,9 @@ var _t = M({
1620
1674
  return () => t("div", {
1621
1675
  id: e.id,
1622
1676
  class: e.class
1623
- }, [t("a", { href: e.href }, a.default?.())]);
1677
+ }, e.links ? e.links.map((r) => t("a", { href: r.href }, r.label)) : [t("a", { href: e.href }, a.default?.())]);
1624
1678
  }
1625
- }), Yt = Wt, jt = M({
1679
+ }), Ut = Gt, Xt = /* @__PURE__ */ A({
1626
1680
  name: "KrdsBreadcrumb",
1627
1681
  props: {
1628
1682
  items: {
@@ -1664,7 +1718,7 @@ var _t = M({
1664
1718
  }, [t("span", null, n.text)])]);
1665
1719
  }))]);
1666
1720
  }
1667
- }), Gt = jt, Ut = M({
1721
+ }), Qt = Xt, Jt = /* @__PURE__ */ A({
1668
1722
  name: "KrdsInPageNavigation",
1669
1723
  props: {
1670
1724
  title: {
@@ -1699,96 +1753,96 @@ var _t = M({
1699
1753
  emits: { itemClick: (e, a) => !0 },
1700
1754
  slots: Object,
1701
1755
  setup(e, { emit: a, slots: r }) {
1702
- const l = D(""), n = D(/* @__PURE__ */ new Map()), s = b(() => {
1703
- const f = ["krds-in-page-navigation-type"];
1704
- return e.class && f.push(e.class), f;
1756
+ const l = E(""), n = E(/* @__PURE__ */ new Map()), s = k(() => {
1757
+ const m = ["krds-in-page-navigation-type"];
1758
+ return e.class && m.push(e.class), m;
1705
1759
  }), d = () => {
1706
- const f = e.headerTopSelector, o = e.headerInnerSelector;
1707
- return (document.querySelector(f)?.clientHeight || 0) + (document.querySelector(o)?.clientHeight || 0);
1708
- }, h = (f, o) => {
1709
- if (a("itemClick", f, o), f.href.startsWith("#")) {
1710
- o.preventDefault();
1711
- const i = document.querySelector(f.href);
1760
+ const m = e.headerTopSelector, p = e.headerInnerSelector;
1761
+ return (document.querySelector(m)?.clientHeight || 0) + (document.querySelector(p)?.clientHeight || 0);
1762
+ }, h = (m, p) => {
1763
+ if (a("itemClick", m, p), m.href.startsWith("#")) {
1764
+ p.preventDefault();
1765
+ const i = document.querySelector(m.href);
1712
1766
  if (i) {
1713
- const v = d();
1767
+ const o = d();
1714
1768
  if (window.scrollTo({
1715
1769
  left: 0,
1716
- top: i.getBoundingClientRect().top + window.scrollY - v,
1770
+ top: i.getBoundingClientRect().top + window.scrollY - o,
1717
1771
  behavior: "smooth"
1718
- }), l.value = f.href, o instanceof KeyboardEvent) {
1719
- const m = i.querySelector(".sec-tit, h1, h2, h3, h4, h5, h6");
1720
- m && m instanceof HTMLElement && (m.setAttribute("tabindex", "-1"), m.focus({ preventScroll: !0 }));
1772
+ }), l.value = m.href, p instanceof KeyboardEvent) {
1773
+ const g = i.querySelector(".sec-tit, h1, h2, h3, h4, h5, h6");
1774
+ g && g instanceof HTMLElement && (g.setAttribute("tabindex", "-1"), g.focus({ preventScroll: !0 }));
1721
1775
  }
1722
1776
  }
1723
1777
  }
1724
- }, p = () => {
1725
- n.value.clear(), e.items && e.items.filter((f) => f.href.startsWith("#")).forEach((f) => {
1726
- const o = document.querySelector(f.href);
1727
- o && n.value.set(f.href, o);
1778
+ }, v = () => {
1779
+ n.value.clear(), e.items && e.items.filter((m) => m.href.startsWith("#")).forEach((m) => {
1780
+ const p = document.querySelector(m.href);
1781
+ p && n.value.set(m.href, p);
1728
1782
  });
1729
- }, w = () => {
1783
+ }, C = () => {
1730
1784
  if (!e.autoActive || !e.items || n.value.size === 0) return;
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
- href: _.href,
1733
- element: n.value.get(_.href),
1734
- item: _
1785
+ const m = window.innerHeight, p = Math.ceil(m / 5), i = window.scrollY + m, o = document.body.scrollHeight, g = e.items.filter((K) => K.href.startsWith("#") && n.value.has(K.href)).map((K) => ({
1786
+ href: K.href,
1787
+ element: n.value.get(K.href),
1788
+ item: K
1735
1789
  }));
1736
- if (m.length === 0) return;
1737
- const x = m[0], K = m[m.length - 1], E = x.element.offsetTop;
1738
- let T = "";
1739
- if (i >= v) T = K.href;
1740
- else if (window.scrollY <= E) T = x.href;
1741
- else for (const _ of m) {
1742
- const g = _.element.offsetHeight, A = _.element.offsetTop - o;
1743
- if (window.scrollY > A && window.scrollY <= A + g) {
1744
- T = _.href;
1790
+ if (g.length === 0) return;
1791
+ const z = g[0], T = g[g.length - 1], L = z.element.offsetTop;
1792
+ let x = "";
1793
+ if (i >= o) x = T.href;
1794
+ else if (window.scrollY <= L) x = z.href;
1795
+ else for (const K of g) {
1796
+ const f = K.element.offsetHeight, B = K.element.offsetTop - p;
1797
+ if (window.scrollY > B && window.scrollY <= B + f) {
1798
+ x = K.href;
1745
1799
  break;
1746
1800
  }
1747
1801
  }
1748
- T && T !== l.value && (l.value = T);
1802
+ x && x !== l.value && (l.value = x);
1749
1803
  }, c = () => {
1750
1804
  if (!e.items) return;
1751
- const f = e.items.find((o) => o.active);
1752
- f ? l.value = f.href : e.items.length > 0 && (l.value = e.items[0].href);
1805
+ const m = e.items.find((p) => p.active);
1806
+ m ? l.value = m.href : e.items.length > 0 && (l.value = e.items[0].href);
1753
1807
  };
1754
- re(() => {
1808
+ ie(() => {
1755
1809
  if (c(), e.autoActive) {
1756
- p(), w(), window.addEventListener("scroll", w, { passive: !0 });
1757
- const f = new MutationObserver(() => {
1758
- p();
1810
+ v(), C(), window.addEventListener("scroll", C, { passive: !0 });
1811
+ const m = new MutationObserver(() => {
1812
+ v();
1759
1813
  });
1760
- f.observe(document.body, {
1814
+ m.observe(document.body, {
1761
1815
  childList: !0,
1762
1816
  subtree: !0
1763
- }), ie(() => {
1764
- f.disconnect();
1817
+ }), ve(() => {
1818
+ m.disconnect();
1765
1819
  });
1766
1820
  }
1767
- }), ie(() => {
1768
- e.autoActive && (window.removeEventListener("scroll", w), n.value.clear());
1821
+ }), ve(() => {
1822
+ e.autoActive && (window.removeEventListener("scroll", C), n.value.clear());
1769
1823
  });
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 = () => {
1824
+ const _ = () => !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 = () => {
1771
1825
  if (!e.items) return null;
1772
- const f = e.items.map((o) => {
1773
- const i = l.value === o.href || !e.autoActive && o.active;
1774
- return t("li", { key: o.href }, [t("a", {
1775
- href: o.href,
1826
+ const m = e.items.map((p) => {
1827
+ const i = l.value === p.href || !e.autoActive && p.active;
1828
+ return t("li", { key: p.href }, [t("a", {
1829
+ href: p.href,
1776
1830
  class: i ? "active" : "",
1777
- onClick: (v) => h(o, v),
1778
- onKeydown: (v) => {
1779
- (v.key === "Enter" || v.key === " ") && (v.preventDefault(), h(o, v));
1831
+ onClick: (o) => h(p, o),
1832
+ onKeydown: (o) => {
1833
+ (o.key === "Enter" || o.key === " ") && (o.preventDefault(), h(p, o));
1780
1834
  }
1781
- }, o.text)]);
1835
+ }, p.text)]);
1782
1836
  });
1783
- return t("nav", { class: "in-page-navigation-list" }, [t("ul", {}, f)]);
1784
- }, $ = () => r.action ? t("div", { class: "in-page-navigation-action" }, [r.action()]) : null;
1837
+ return t("nav", { class: "in-page-navigation-list" }, [t("ul", {}, m)]);
1838
+ }, D = () => r.action ? t("div", { class: "in-page-navigation-action" }, [r.action()]) : null;
1785
1839
  return () => t("div", { class: s.value }, [t("div", { class: "krds-in-page-navigation-area" }, [
1786
- B(),
1840
+ _(),
1787
1841
  S(),
1788
- $()
1842
+ D()
1789
1843
  ].filter(Boolean))]);
1790
1844
  }
1791
- }), Xt = Ut, De = {
1845
+ }), Zt = Jt, Pe = {
1792
1846
  mounted(e, a) {
1793
1847
  a.value !== !1 && e.classList.add("sr-only");
1794
1848
  },
@@ -1798,9 +1852,9 @@ var _t = M({
1798
1852
  unmounted(e) {
1799
1853
  e.classList.remove("sr-only");
1800
1854
  }
1801
- }, Qt = (e) => {
1802
- e.directive("sr-only", De);
1803
- }, ke = 1, Se = 8, Jt = M({
1855
+ }, ea = (e) => {
1856
+ e.directive("sr-only", Pe);
1857
+ }, Ee = 1, Te = 8, ta = /* @__PURE__ */ A({
1804
1858
  name: "KrdsPagination",
1805
1859
  props: {
1806
1860
  modelValue: {
@@ -1809,7 +1863,7 @@ var _t = M({
1809
1863
  },
1810
1864
  min: {
1811
1865
  type: Number,
1812
- default: ke
1866
+ default: Ee
1813
1867
  },
1814
1868
  max: {
1815
1869
  type: Number,
@@ -1825,87 +1879,87 @@ var _t = M({
1825
1879
  },
1826
1880
  pageRange: {
1827
1881
  type: Number,
1828
- default: Se
1882
+ default: Te
1829
1883
  }
1830
1884
  },
1831
1885
  emits: { "update:modelValue": (e) => !0 },
1832
1886
  setup(e, { emit: a }) {
1833
- const r = b(() => Math.max(1, e.min ?? ke)), l = b(() => e.modelValue ?? r.value), n = b(() => l.value <= r.value), s = b(() => l.value >= e.max), d = b(() => {
1887
+ const r = k(() => Math.max(1, e.min ?? Ee)), l = k(() => e.modelValue ?? r.value), n = k(() => l.value <= r.value), s = k(() => l.value >= e.max), d = k(() => {
1834
1888
  if (!n.value)
1835
1889
  return "#";
1836
- }), h = b(() => {
1890
+ }), h = k(() => {
1837
1891
  if (!s.value)
1838
1892
  return "#";
1839
- }), p = b(() => {
1840
- const { max: $ } = e, f = e.pageRange ?? Se, o = 1, i = [];
1841
- if ($ <= f + 2) for (let v = r.value; v <= $; v++) i.push({
1893
+ }), v = k(() => {
1894
+ const { max: D } = e, m = e.pageRange ?? Te, p = 1, i = [];
1895
+ if (D <= m + 2) for (let o = r.value; o <= D; o++) i.push({
1842
1896
  type: "page",
1843
- key: `page-${v}`,
1844
- page: v,
1897
+ key: `page-${o}`,
1898
+ page: o,
1845
1899
  href: "#"
1846
1900
  });
1847
1901
  else {
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({
1902
+ const o = Math.min(p, D), g = Math.max(D - p + 1, 1), z = Math.max(r.value, l.value - Math.floor(m / 2)), T = Math.min(D, z + m - 1), L = Math.max(r.value, T - m + 1);
1903
+ for (let f = r.value; f <= o; f++) i.push({
1850
1904
  type: "page",
1851
- key: `page-${g}`,
1852
- page: g,
1905
+ key: `page-${f}`,
1906
+ page: f,
1853
1907
  href: "#"
1854
1908
  });
1855
- E > v + 1 && i.push({
1909
+ L > o + 1 && i.push({
1856
1910
  type: "ellipsis",
1857
1911
  key: "ellipsis-left"
1858
1912
  });
1859
- const T = Math.max(E, v + 1), _ = Math.min(K, m - 1);
1860
- for (let g = T; g <= _; g++) i.push({
1913
+ const x = Math.max(L, o + 1), K = Math.min(T, g - 1);
1914
+ for (let f = x; f <= K; f++) i.push({
1861
1915
  type: "page",
1862
- key: `page-${g}`,
1863
- page: g,
1916
+ key: `page-${f}`,
1917
+ page: f,
1864
1918
  href: "#"
1865
1919
  });
1866
- K < m - 1 && i.push({
1920
+ T < g - 1 && i.push({
1867
1921
  type: "ellipsis",
1868
1922
  key: "ellipsis-right"
1869
1923
  });
1870
- for (let g = m; g <= $; g++) i.push({
1924
+ for (let f = g; f <= D; f++) i.push({
1871
1925
  type: "page",
1872
- key: `page-${g}`,
1873
- page: g,
1926
+ key: `page-${f}`,
1927
+ page: f,
1874
1928
  href: "#"
1875
1929
  });
1876
1930
  }
1877
1931
  return i;
1878
- }), w = ($, f) => {
1879
- if ($ === l.value) {
1880
- f.preventDefault();
1932
+ }), C = (D, m) => {
1933
+ if (D === l.value) {
1934
+ m.preventDefault();
1881
1935
  return;
1882
1936
  }
1883
- a("update:modelValue", $);
1884
- }, c = ($) => {
1937
+ a("update:modelValue", D);
1938
+ }, c = (D) => {
1885
1939
  if (n.value) {
1886
- $.preventDefault();
1940
+ D.preventDefault();
1887
1941
  return;
1888
1942
  }
1889
1943
  a("update:modelValue", l.value - 1);
1890
- }, B = ($) => {
1944
+ }, _ = (D) => {
1891
1945
  if (s.value) {
1892
- $.preventDefault();
1946
+ D.preventDefault();
1893
1947
  return;
1894
1948
  }
1895
1949
  a("update:modelValue", l.value + 1);
1896
- }, S = ($) => {
1897
- if ($.type === "page") {
1898
- const f = $.page === l.value;
1950
+ }, S = (D) => {
1951
+ if (D.type === "page") {
1952
+ const m = D.page === l.value;
1899
1953
  return t("a", {
1900
- key: $.key,
1901
- href: $.href || "#",
1902
- class: ["page-link", { active: f }],
1903
- "aria-current": f ? "page" : void 0,
1904
- onClick: (o) => w($.page, o)
1905
- }, [f ? ve(t("span", null, "현재페이지"), [[De]]) : null, ` ${$.page} `]);
1954
+ key: D.key,
1955
+ href: D.href || "#",
1956
+ class: ["page-link", { active: m }],
1957
+ "aria-current": m ? "page" : void 0,
1958
+ onClick: (p) => C(D.page, p)
1959
+ }, [m ? ke(t("span", null, "현재페이지"), [[Pe]]) : null, ` ${D.page} `]);
1906
1960
  }
1907
1961
  return t("span", {
1908
- key: $.key,
1962
+ key: D.key,
1909
1963
  class: "page-link link-dot"
1910
1964
  });
1911
1965
  };
@@ -1922,7 +1976,7 @@ var _t = M({
1922
1976
  ],
1923
1977
  onClick: c
1924
1978
  }, "이전"),
1925
- t("div", { class: "page-links" }, p.value.map(S)),
1979
+ t("div", { class: "page-links" }, v.value.map(S)),
1926
1980
  t(s.value ? "span" : "a", {
1927
1981
  href: s.value ? void 0 : h.value,
1928
1982
  class: [
@@ -1930,11 +1984,11 @@ var _t = M({
1930
1984
  "next",
1931
1985
  { disabled: s.value }
1932
1986
  ],
1933
- onClick: B
1987
+ onClick: _
1934
1988
  }, "다음")
1935
1989
  ]);
1936
1990
  }
1937
- }), Zt = Jt, ea = M({
1991
+ }), aa = ta, la = /* @__PURE__ */ A({
1938
1992
  name: "KrdsPanel",
1939
1993
  props: { modelValue: {
1940
1994
  type: Boolean,
@@ -1942,7 +1996,7 @@ var _t = M({
1942
1996
  } },
1943
1997
  emits: { "update:modelValue": (e) => !0 },
1944
1998
  setup(e, { emit: a, slots: r }) {
1945
- const l = b({
1999
+ const l = k({
1946
2000
  get: () => e.modelValue,
1947
2001
  set: (d) => a("update:modelValue", d)
1948
2002
  }), n = () => {
@@ -1964,7 +2018,7 @@ var _t = M({
1964
2018
  t("i", { class: "svg-icon ico-angle right" })
1965
2019
  ])])])])]);
1966
2020
  }
1967
- }), ta = ea, aa = M({
2021
+ }), na = la, sa = /* @__PURE__ */ A({
1968
2022
  name: "KrdsContextualHelp",
1969
2023
  props: {
1970
2024
  tooltipTitle: {
@@ -1981,39 +2035,39 @@ var _t = M({
1981
2035
  }
1982
2036
  },
1983
2037
  setup(e, { slots: a }) {
1984
- const r = D(), l = D(), n = D(), s = D(), d = D(!1), h = () => {
1985
- const o = d.value;
1986
- c(), o || p();
1987
- }, p = () => {
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
- }, w = () => {
2038
+ const r = E(), l = E(), n = E(), s = E(), d = E(!1), h = () => {
2039
+ const p = d.value;
2040
+ c(), p || v();
2041
+ }, v = () => {
2042
+ !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(), _());
2043
+ }, C = () => {
1990
2044
  !n.value || !l.value || (d.value = !1, n.value.style.display = "none", l.value.setAttribute("aria-expanded", "false"));
1991
2045
  }, c = () => {
1992
- const o = document.querySelectorAll(".krds-contextual-help .tooltip-popover"), i = document.querySelectorAll(".krds-contextual-help .tooltip-btn");
1993
- o.forEach((v) => {
1994
- v.style.display = "none";
1995
- }), i.forEach((v) => {
1996
- v.setAttribute("aria-expanded", "false");
2046
+ const p = document.querySelectorAll(".krds-contextual-help .tooltip-popover"), i = document.querySelectorAll(".krds-contextual-help .tooltip-btn");
2047
+ p.forEach((o) => {
2048
+ o.style.display = "none";
2049
+ }), i.forEach((o) => {
2050
+ o.setAttribute("aria-expanded", "false");
1997
2051
  }), d.value = !1;
1998
- }, B = () => {
2052
+ }, _ = () => {
1999
2053
  if (!r.value || !n.value) return;
2000
- const o = window.innerWidth <= 768, i = r.value.querySelector(".tooltip-action");
2001
- if (o) {
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
- n.value.style.left = `-${m}px`, n.value.style.width = `${x}px`;
2054
+ const p = window.innerWidth <= 768, i = r.value.querySelector(".tooltip-action");
2055
+ if (p) {
2056
+ const o = getComputedStyle(document.querySelector(":root")).getPropertyValue("--krds-contents-padding-x").trim().split("px")[0], g = i.getBoundingClientRect().left - parseInt(o), z = document.body.clientWidth - parseInt(o) * 2;
2057
+ n.value.style.left = `-${g}px`, n.value.style.width = `${z}px`;
2004
2058
  } else
2005
2059
  n.value.style.left = "", n.value.style.right = "", n.value.style.width = "360px";
2006
- }, S = (o) => {
2007
- (o.key === "Escape" || o.key === "Esc") && c();
2008
- }, $ = (o) => {
2009
- o.target.closest(".tooltip-action") || c();
2010
- }, f = () => {
2011
- d.value && B();
2060
+ }, S = (p) => {
2061
+ (p.key === "Escape" || p.key === "Esc") && c();
2062
+ }, D = (p) => {
2063
+ p.target.closest(".tooltip-action") || c();
2064
+ }, m = () => {
2065
+ d.value && _();
2012
2066
  };
2013
- return re(() => {
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
- }), ie(() => {
2016
- document.removeEventListener("keydown", S), document.removeEventListener("click", $), window.removeEventListener("resize", f);
2067
+ return ie(() => {
2068
+ r.value && (l.value && l.value.setAttribute("aria-expanded", "false"), n.value && n.value.setAttribute("role", "tooltip"), document.addEventListener("keydown", S), document.addEventListener("click", D), window.addEventListener("resize", m));
2069
+ }), ve(() => {
2070
+ document.removeEventListener("keydown", S), document.removeEventListener("click", D), window.removeEventListener("resize", m);
2017
2071
  }), () => t("div", {
2018
2072
  ref: r,
2019
2073
  class: ["krds-contextual-help", e.position]
@@ -2033,11 +2087,11 @@ var _t = M({
2033
2087
  ref: s,
2034
2088
  type: "button",
2035
2089
  class: "krds-btn xsmall icon tooltip-close",
2036
- onClick: w
2090
+ onClick: C
2037
2091
  }, [t("span", { class: "sr-only" }, "닫기"), t("i", { class: "svg-icon ico-modal-close" })])
2038
2092
  ])])]);
2039
2093
  }
2040
- }), la = aa, na = M({
2094
+ }), ra = sa, ia = /* @__PURE__ */ A({
2041
2095
  name: "KrdsCoachMark",
2042
2096
  props: {
2043
2097
  coachMarkClass: {
@@ -2066,9 +2120,9 @@ var _t = M({
2066
2120
  close: () => !0
2067
2121
  },
2068
2122
  setup(e, { emit: a, slots: r }) {
2069
- const l = b(() => {
2070
- const p = e.activeStep - 1;
2071
- return e.stepsData && p >= 0 && p < e.stepsData.length ? e.stepsData[p] : null;
2123
+ const l = k(() => {
2124
+ const v = e.activeStep - 1;
2125
+ return e.stepsData && v >= 0 && v < e.stepsData.length ? e.stepsData[v] : null;
2072
2126
  }), n = () => {
2073
2127
  e.activeStep > 1 && a("update:modelValue", e.activeStep - 1);
2074
2128
  }, s = () => {
@@ -2076,11 +2130,11 @@ var _t = M({
2076
2130
  }, d = () => {
2077
2131
  a("close");
2078
2132
  }, h = () => {
2079
- const p = l.value;
2080
- return e.modelValue !== e.activeStep || !p ? null : t("div", { class: "coach-balloon" }, [
2133
+ const v = l.value;
2134
+ return e.modelValue !== e.activeStep || !v ? null : t("div", { class: "coach-balloon" }, [
2081
2135
  t("h5", { class: "sr-only" }, "따라하기 가이드"),
2082
- t("h6", { class: "coach-tit" }, `${e.activeStep}단계 : ${p.title}`),
2083
- t("p", { class: "desc" }, p.description),
2136
+ t("h6", { class: "coach-tit" }, `${e.activeStep}단계 : ${v.title}`),
2137
+ t("p", { class: "desc" }, v.description),
2084
2138
  t("div", { class: "coach-controls" }, [t("div", { class: "num" }, [
2085
2139
  t("span", { class: "sr-only" }, "현재 단계"),
2086
2140
  t("strong", null, String(e.activeStep)),
@@ -2110,7 +2164,7 @@ var _t = M({
2110
2164
  style: e.style
2111
2165
  }, [h(), r["coach-mark-content"]?.()]);
2112
2166
  }
2113
- }), sa = na, ra = M({
2167
+ }), oa = ia, ua = /* @__PURE__ */ A({
2114
2168
  name: "KrdsTooltip",
2115
2169
  props: {
2116
2170
  type: {
@@ -2135,54 +2189,54 @@ var _t = M({
2135
2189
  }
2136
2190
  },
2137
2191
  setup(e, { slots: a }) {
2138
- const r = D(null), l = D(null), n = D(!1), s = D({}), d = `tooltip-popover-${oe()}`, h = D(!1), p = b(() => {
2139
- const m = ["krds-btn", "krds-tooltip"];
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
- }), w = b(() => {
2142
- const m = [];
2143
- return e.box && m.push("tooltip-box"), e.vertical && m.push("tooltip-vertical"), n.value && m.push("active"), m;
2144
- }), c = b(() => r.value?.querySelector("button")?.textContent?.trim() || ""), B = () => window.innerWidth <= 768, S = () => {
2192
+ const r = E(null), l = E(null), n = E(!1), s = E({}), d = `tooltip-popover-${ce()}`, h = E(!1), v = k(() => {
2193
+ const g = ["krds-btn", "krds-tooltip"];
2194
+ return e.type === "default" ? g.push("small", "text") : e.type === "icon" ? g.push("icon") : e.type === "button" && g.push(""), !e.box && e.vertical && g.push("tooltip-vertical"), e.box && !e.vertical && g.push("tooltip-box"), g.join(" ");
2195
+ }), C = k(() => {
2196
+ const g = [];
2197
+ return e.box && g.push("tooltip-box"), e.vertical && g.push("tooltip-vertical"), n.value && g.push("active"), g;
2198
+ }), c = k(() => r.value?.querySelector("button")?.textContent?.trim() || ""), _ = () => window.innerWidth <= 768, S = () => {
2145
2199
  if (!r.value || !l.value) return;
2146
- const m = r.value.querySelector("button");
2147
- if (!m) return;
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
- let G, j;
2150
- const X = [];
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
- const le = window.innerWidth <= 420;
2200
+ const g = r.value.querySelector("button");
2201
+ if (!g) return;
2202
+ const z = 12, { clientHeight: T, clientWidth: L } = l.value, { top: x, left: K, right: f, height: B, width: R } = g.getBoundingClientRect(), H = window.innerWidth / 2, N = window.innerHeight / 2;
2203
+ let O, j;
2204
+ const U = [];
2205
+ h.value || e.box || e.vertical ? (x + B > N ? (O = x - T - z, U.push("top")) : (O = x + B + z, U.push("bottom")), K + R > H ? (j = f - L, U.push("right"), window.innerWidth - (K + R) > L / 2 && (j = K + (R - L) / 2, U.splice(U.indexOf("right"), 1))) : (j = K + (R - L) / 2, j < 0 && (j = K, U.push("left")))) : (O = x + (B - T) / 2, K + R > H ? (j = K - L - z, U.push("right")) : j = f + z);
2206
+ const oe = window.innerWidth <= 420;
2153
2207
  s.value = {
2154
- top: `${G}px`,
2155
- left: le ? "50%" : `${j}px`,
2156
- transform: le ? "translateX(-50%)" : "none"
2157
- }, l.value && (l.value.className = `krds-tooltip-popover ${X.join(" ")} ${w.value.join(" ")}`);
2158
- }, $ = async () => {
2159
- e.disabled || !e.tooltipContent || (n.value = !0, await ce(), S());
2160
- }, f = () => {
2208
+ top: `${O}px`,
2209
+ left: oe ? "50%" : `${j}px`,
2210
+ transform: oe ? "translateX(-50%)" : "none"
2211
+ }, l.value && (l.value.className = `krds-tooltip-popover ${U.join(" ")} ${C.value.join(" ")}`);
2212
+ }, D = async () => {
2213
+ e.disabled || !e.tooltipContent || (n.value = !0, await pe(), S());
2214
+ }, m = () => {
2161
2215
  n.value = !1, s.value = {};
2162
- }, o = (m) => {
2163
- (m.key === "Escape" || m.key === "Esc") && n.value && f();
2216
+ }, p = (g) => {
2217
+ (g.key === "Escape" || g.key === "Esc") && n.value && m();
2164
2218
  }, i = () => {
2165
- h.value = B(), n.value && f();
2166
- }, v = () => {
2167
- n.value && f();
2219
+ h.value = _(), n.value && m();
2220
+ }, o = () => {
2221
+ n.value && m();
2168
2222
  };
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);
2223
+ return ie(() => {
2224
+ h.value = _(), document.addEventListener("keydown", p), window.addEventListener("scroll", o), window.addEventListener("resize", i);
2225
+ }), ve(() => {
2226
+ document.removeEventListener("keydown", p), window.removeEventListener("scroll", o), window.removeEventListener("resize", i);
2173
2227
  }), () => t("div", { ref: r }, [t("button", {
2174
2228
  type: "button",
2175
- class: p.value,
2229
+ class: v.value,
2176
2230
  disabled: e.disabled,
2177
2231
  "aria-labelledby": d,
2178
- onMouseover: $,
2179
- onMouseout: f,
2180
- onFocusin: $,
2181
- onFocusout: f
2182
- }, a.default?.()), ve(t("div", {
2232
+ onMouseover: D,
2233
+ onMouseout: m,
2234
+ onFocusin: D,
2235
+ onFocusout: m
2236
+ }, a.default?.()), ke(t("div", {
2183
2237
  id: d,
2184
2238
  ref: l,
2185
- class: ["krds-tooltip-popover", w.value],
2239
+ class: ["krds-tooltip-popover", C.value],
2186
2240
  style: s.value,
2187
2241
  "aria-hidden": !n.value,
2188
2242
  role: "tooltip"
@@ -2190,9 +2244,9 @@ var _t = M({
2190
2244
  t("span", { class: "sr-only" }, c.value),
2191
2245
  " ",
2192
2246
  e.tooltipContent
2193
- ]), [[pe, n.value]])]);
2247
+ ]), [[we, n.value]])]);
2194
2248
  }
2195
- }), ia = ra, oa = M({
2249
+ }), da = ua, ca = /* @__PURE__ */ A({
2196
2250
  name: "KrdsLanguageSwitcher",
2197
2251
  props: {
2198
2252
  languageList: {
@@ -2217,55 +2271,55 @@ var _t = M({
2217
2271
  close: () => !0
2218
2272
  },
2219
2273
  setup(e, { emit: a, slots: r }) {
2220
- const l = D(!1), n = D(), s = D(), d = () => {
2221
- l.value = !l.value, l.value && n.value && w();
2274
+ const l = E(!1), n = E(), s = E(), d = () => {
2275
+ l.value = !l.value, l.value && n.value && C();
2222
2276
  }, h = () => {
2223
2277
  l.value = !1;
2224
- }, p = (i) => {
2278
+ }, v = (i) => {
2225
2279
  a("update:modelValue", i), h(), a("close"), s.value?.focus();
2226
- }, w = () => {
2280
+ }, C = () => {
2227
2281
  if (!n.value) return;
2228
2282
  const i = n.value.querySelector(".drop-menu");
2229
2283
  if (!i) return;
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");
2284
+ const o = i.getBoundingClientRect(), g = window.innerWidth;
2285
+ n.value.classList.remove("drop-left", "drop-right"), o.left < 0 ? n.value.classList.add("drop-left") : g < o.left + o.width && n.value.classList.add("drop-right");
2232
2286
  }, c = (i) => {
2233
2287
  i.key === "Escape" && (h(), s.value?.focus());
2234
- }, B = (i) => {
2288
+ }, _ = (i) => {
2235
2289
  n.value?.contains(i.target) || h();
2236
2290
  }, S = (i) => {
2237
2291
  n.value?.contains(i.relatedTarget) || h();
2238
- }, $ = (i) => {
2292
+ }, D = (i) => {
2239
2293
  if (!n.value) return;
2240
- n.value.querySelectorAll(".drop-list .item-link").forEach((m) => {
2241
- m.style.position = "relative", m.style.zIndex = "0";
2294
+ n.value.querySelectorAll(".drop-list .item-link").forEach((g) => {
2295
+ g.style.position = "relative", g.style.zIndex = "0";
2242
2296
  });
2243
- const v = i.target;
2244
- v.style.zIndex = "1";
2297
+ const o = i.target;
2298
+ o.style.zIndex = "1";
2245
2299
  };
2246
- se(l, (i) => {
2247
- i ? (document.addEventListener("keydown", c), document.addEventListener("click", B)) : (document.removeEventListener("keydown", c), document.removeEventListener("click", B));
2248
- }), ie(() => {
2249
- document.removeEventListener("keydown", c), document.removeEventListener("click", B);
2300
+ re(l, (i) => {
2301
+ i ? (document.addEventListener("keydown", c), document.addEventListener("click", _)) : (document.removeEventListener("keydown", c), document.removeEventListener("click", _));
2302
+ }), ve(() => {
2303
+ document.removeEventListener("keydown", c), document.removeEventListener("click", _);
2250
2304
  });
2251
- const f = () => t("ul", { class: "drop-list" }, e.languageList.map((i) => t("li", { key: i.code }, [t("a", {
2305
+ const m = () => t("ul", { class: "drop-list" }, e.languageList.map((i) => t("li", { key: i.code }, [t("a", {
2252
2306
  href: "#",
2253
2307
  class: ["item-link", { active: e.modelValue === i.code }],
2254
2308
  lang: i.code,
2255
2309
  "aria-selected": e.modelValue === i.code,
2256
- onClick: ge(() => p(i.code), ["prevent"]),
2257
- onFocus: $
2310
+ onClick: Ke(() => v(i.code), ["prevent"]),
2311
+ onFocus: D
2258
2312
  }, [
2259
2313
  i.name,
2260
2314
  " ",
2261
2315
  t("span", { class: "sr-only" }, e.modelValue === i.code ? "선택됨" : "")
2262
- ])]))), o = () => t("ul", { class: "drop-list" }, e.languageList.map((i) => t("li", { key: i.code }, [t("a", {
2316
+ ])]))), p = () => t("ul", { class: "drop-list" }, e.languageList.map((i) => t("li", { key: i.code }, [t("a", {
2263
2317
  href: i.url || "#",
2264
2318
  class: "item-link",
2265
2319
  lang: i.code,
2266
2320
  target: "_blank",
2267
2321
  title: "새 창 열림",
2268
- onFocus: $
2322
+ onFocus: D
2269
2323
  }, [
2270
2324
  i.name,
2271
2325
  " ",
@@ -2296,16 +2350,16 @@ var _t = M({
2296
2350
  ]), t("div", {
2297
2351
  class: "drop-menu",
2298
2352
  style: { display: l.value ? "block" : "none" }
2299
- }, [t("div", { class: "drop-in" }, [r["prev-item"] ? t("div", { class: "drop-top" }, r["prev-item"]()) : null, e.type === "default" ? f() : e.type === "external" ? o() : null])])]);
2353
+ }, [t("div", { class: "drop-in" }, [r["prev-item"] ? t("div", { class: "drop-top" }, r["prev-item"]()) : null, e.type === "default" ? m() : e.type === "external" ? p() : null])])]);
2300
2354
  }
2301
- }), ua = oa, da = M({
2355
+ }), fa = ca, va = /* @__PURE__ */ A({
2302
2356
  name: "KrdsResize",
2303
2357
  emits: {
2304
2358
  "update:modelValue": (e) => !0,
2305
2359
  close: () => !0
2306
2360
  },
2307
2361
  setup(e, { emit: a }) {
2308
- const r = D(!1), l = D(), n = D(), s = D("md"), d = [
2362
+ const r = E(!1), l = E(), n = E(), s = E("md"), d = [
2309
2363
  {
2310
2364
  key: "sm",
2311
2365
  label: "작게",
@@ -2332,43 +2386,43 @@ var _t = M({
2332
2386
  zoom: "1.5"
2333
2387
  }
2334
2388
  ], h = () => {
2335
- r.value = !r.value, r.value && l.value && B();
2336
- }, p = () => {
2389
+ r.value = !r.value, r.value && l.value && _();
2390
+ }, v = () => {
2337
2391
  r.value = !1;
2338
- }, w = (i) => {
2339
- p(), a("close"), n.value?.focus(), s.value = i.key, document.body.style.zoom = i?.zoom;
2392
+ }, C = (i) => {
2393
+ v(), a("close"), n.value?.focus(), s.value = i.key, document.body.style.zoom = i?.zoom;
2340
2394
  }, c = () => {
2341
- const i = d.find((v) => v.key === "md");
2342
- i && w(i);
2343
- }, B = () => {
2395
+ const i = d.find((o) => o.key === "md");
2396
+ i && C(i);
2397
+ }, _ = () => {
2344
2398
  if (!l.value) return;
2345
2399
  const i = l.value.querySelector(".drop-menu");
2346
2400
  if (!i) return;
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");
2401
+ const o = i.getBoundingClientRect(), g = window.innerWidth;
2402
+ l.value.classList.remove("drop-left", "drop-right"), o.left < 0 ? l.value.classList.add("drop-left") : g < o.left + o.width && l.value.classList.add("drop-right");
2349
2403
  }, S = (i) => {
2350
- i.key === "Escape" && (p(), n.value?.focus());
2351
- }, $ = (i) => {
2352
- l.value?.contains(i.target) || p();
2353
- }, f = (i) => {
2354
- l.value?.contains(i.relatedTarget) || p();
2355
- }, o = (i) => {
2404
+ i.key === "Escape" && (v(), n.value?.focus());
2405
+ }, D = (i) => {
2406
+ l.value?.contains(i.target) || v();
2407
+ }, m = (i) => {
2408
+ l.value?.contains(i.relatedTarget) || v();
2409
+ }, p = (i) => {
2356
2410
  if (!l.value) return;
2357
- l.value.querySelectorAll(".drop-list .item-link").forEach((m) => {
2358
- m.style.position = "relative", m.style.zIndex = "0";
2411
+ l.value.querySelectorAll(".drop-list .item-link").forEach((g) => {
2412
+ g.style.position = "relative", g.style.zIndex = "0";
2359
2413
  });
2360
- const v = i.target;
2361
- v.style.zIndex = "1";
2414
+ const o = i.target;
2415
+ o.style.zIndex = "1";
2362
2416
  };
2363
- return se(r, (i) => {
2364
- i ? (document.addEventListener("keydown", S), document.addEventListener("click", $)) : (document.removeEventListener("keydown", S), document.removeEventListener("click", $));
2365
- }), ie(() => {
2366
- document.removeEventListener("keydown", S), document.removeEventListener("click", $);
2417
+ return re(r, (i) => {
2418
+ i ? (document.addEventListener("keydown", S), document.addEventListener("click", D)) : (document.removeEventListener("keydown", S), document.removeEventListener("click", D));
2419
+ }), ve(() => {
2420
+ document.removeEventListener("keydown", S), document.removeEventListener("click", D);
2367
2421
  }), () => t("div", {
2368
2422
  ref: l,
2369
2423
  class: "krds-drop-wrap krds-resize",
2370
2424
  "data-adjust": "scale",
2371
- onFocusout: f
2425
+ onFocusout: m
2372
2426
  }, [t("button", {
2373
2427
  ref: n,
2374
2428
  type: "button",
@@ -2385,17 +2439,17 @@ var _t = M({
2385
2439
  i.key === s.value ? "active" : ""
2386
2440
  ],
2387
2441
  "data-adjust-scale": i.key,
2388
- onClick: ge(() => w(i), ["prevent"]),
2389
- onFocus: o
2442
+ onClick: Ke(() => C(i), ["prevent"]),
2443
+ onFocus: p
2390
2444
  }, i.label)]))), t("div", { class: "drop-bottom" }, [t("button", {
2391
2445
  type: "button",
2392
2446
  class: "krds-btn medium text",
2393
2447
  "data-adjust-scale": "md",
2394
- onClick: ge(c, ["prevent"]),
2395
- onFocus: o
2448
+ onClick: Ke(c, ["prevent"]),
2449
+ onFocus: p
2396
2450
  }, [t("i", { class: "svg-icon ico-reset" }), " 초기화"])])])])]);
2397
2451
  }
2398
- }), ca = da, fa = M({
2452
+ }), pa = va, ga = /* @__PURE__ */ A({
2399
2453
  name: "KrdsModal",
2400
2454
  props: {
2401
2455
  modelValue: {
@@ -2430,53 +2484,53 @@ var _t = M({
2430
2484
  emits: { "update:modelValue": (e) => !0 },
2431
2485
  slots: Object,
2432
2486
  setup(e, { slots: a, emit: r }) {
2433
- const l = xe()?.uid, n = b(() => e.modalId ?? `krds-modal-${l}`), s = b({
2487
+ const l = xe()?.uid, n = k(() => e.modalId ?? `krds-modal-${l}`), s = k({
2434
2488
  get: () => e.modelValue,
2435
- set: (v) => r("update:modelValue", v)
2436
- }), d = b(() => `tit_${n.value}`), h = b(() => ({
2489
+ set: (o) => r("update:modelValue", o)
2490
+ }), d = k(() => `tit_${n.value}`), h = k(() => ({
2437
2491
  small: "modal-sm",
2438
2492
  medium: "modal-md",
2439
2493
  large: "modal-lg"
2440
- })[e.size]), p = () => {
2494
+ })[e.size]), v = () => {
2441
2495
  s.value = !1;
2442
2496
  };
2443
- let w = "", c = null;
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();
2497
+ let C = "", c = null;
2498
+ const _ = E(null), S = (o) => Array.from(o.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')).filter((g) => !g.hasAttribute("disabled") && g.getAttribute("tabindex") !== "-1"), D = (o) => {
2499
+ if (!_.value || o.key !== "Tab") return;
2500
+ const g = S(_.value);
2501
+ if (g.length === 0) {
2502
+ o.preventDefault();
2449
2503
  return;
2450
2504
  }
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
- }, o = () => {
2456
- document.body.style.overflow = w, document.removeEventListener("keydown", $), document.removeEventListener("keydown", f), c && (c.focus(), c = null), B.value = null;
2505
+ const z = g[0], T = g[g.length - 1];
2506
+ o.shiftKey && document.activeElement === z ? (o.preventDefault(), T.focus()) : !o.shiftKey && document.activeElement === T && (o.preventDefault(), z.focus());
2507
+ }, m = (o) => {
2508
+ o.key === "Escape" && !e.persistent && v();
2509
+ }, p = () => {
2510
+ document.body.style.overflow = C, document.removeEventListener("keydown", D), document.removeEventListener("keydown", m), c && (c.focus(), c = null), _.value = null;
2457
2511
  }, 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);
2512
+ C = document.body.style.overflow, document.body.style.overflow = "hidden", c = document.activeElement, await pe();
2513
+ const o = document.getElementById(n.value);
2514
+ if (o) {
2515
+ _.value = o;
2516
+ const g = o.querySelector(".modal-conts");
2517
+ g && (g.setAttribute("tabindex", "-1"), g.focus()), document.addEventListener("keydown", D), document.addEventListener("keydown", m);
2464
2518
  }
2465
2519
  };
2466
- return se(() => e.modelValue, (v) => v ? i() : o()), re(() => {
2520
+ return re(() => e.modelValue, (o) => o ? i() : p()), ie(() => {
2467
2521
  e.modelValue && i();
2468
2522
  }), fe(() => {
2469
- e.modelValue && o();
2523
+ e.modelValue && p();
2470
2524
  }), () => {
2471
2525
  if (!s.value) return null;
2472
- const v = {
2526
+ const o = {
2473
2527
  id: n.value,
2474
2528
  class: "krds-modal fade in shown",
2475
2529
  role: "dialog",
2476
2530
  "aria-modal": !0,
2477
2531
  "aria-labelledby": d.value
2478
2532
  };
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" }, [
2533
+ return e.full ? o["data-type"] = "full" : e.bottomSheet && (o["data-type"] = "bottom-sheet"), t(Ce, { to: "body" }, t("section", o, [t("div", { class: `modal-dialog ${h.value}` }, [t("div", { class: "modal-content" }, [
2480
2534
  a.title ? t("div", { class: "modal-header" }, [t("h2", {
2481
2535
  id: d.value,
2482
2536
  class: "modal-title"
@@ -2486,15 +2540,15 @@ var _t = M({
2486
2540
  t("button", {
2487
2541
  type: "button",
2488
2542
  class: "krds-btn medium icon btn-close close-modal",
2489
- onClick: p
2543
+ onClick: v
2490
2544
  }, [t("span", { class: "sr-only" }, "닫기"), t("i", { class: "svg-icon ico-popup-close" })])
2491
2545
  ].filter(Boolean))]), t("div", {
2492
2546
  class: e.backdrop ? "modal-back in" : "modal-back",
2493
- onClick: e.persistent ? void 0 : p
2547
+ onClick: e.persistent ? void 0 : v
2494
2548
  })]));
2495
2549
  };
2496
2550
  }
2497
- }), va = fa, pa = M({
2551
+ }), ha = ga, ya = /* @__PURE__ */ A({
2498
2552
  name: "KrdsAccordionGroup",
2499
2553
  props: {
2500
2554
  typeLine: {
@@ -2507,13 +2561,13 @@ var _t = M({
2507
2561
  }
2508
2562
  },
2509
2563
  setup(e, { slots: a }) {
2510
- const r = b(() => {
2564
+ const r = k(() => {
2511
2565
  const l = ["krds-accordion"];
2512
2566
  return e.typeLine && l.push("type-line"), e.class && l.push(e.class), l;
2513
2567
  });
2514
2568
  return () => t("div", { class: r.value }, a.default?.());
2515
2569
  }
2516
- }), ga = pa, ha = M({
2570
+ }), ma = ya, ba = /* @__PURE__ */ A({
2517
2571
  name: "KrdsAccordionItem",
2518
2572
  props: {
2519
2573
  id: {
@@ -2535,7 +2589,7 @@ var _t = M({
2535
2589
  },
2536
2590
  emits: { toggle: (e) => !0 },
2537
2591
  setup(e, { emit: a, slots: r }) {
2538
- const l = b(() => e.openItem === e.id), n = () => {
2592
+ const l = k(() => e.openItem === e.id), n = () => {
2539
2593
  a("toggle", e.id);
2540
2594
  };
2541
2595
  return () => t("div", {
@@ -2555,7 +2609,7 @@ var _t = M({
2555
2609
  "aria-labelledby": `accordion-header-${e.id}`
2556
2610
  }, [t("div", { class: "accordion-body" }, r.content?.() ?? e.content)])]);
2557
2611
  }
2558
- }), ya = ha, ma = M({
2612
+ }), ka = ba, Sa = /* @__PURE__ */ A({
2559
2613
  name: "KrdsTts",
2560
2614
  props: {
2561
2615
  text: {
@@ -2590,7 +2644,7 @@ var _t = M({
2590
2644
  error: (e) => !0
2591
2645
  },
2592
2646
  setup(e, { emit: a }) {
2593
- const r = D(!1);
2647
+ const r = E(!1);
2594
2648
  let l = null;
2595
2649
  const n = () => {
2596
2650
  typeof window < "u" && window.speechSynthesis && window.speechSynthesis.cancel(), r.value = !1, l = null;
@@ -2608,30 +2662,30 @@ var _t = M({
2608
2662
  r.value = !0;
2609
2663
  }, l.onend = () => {
2610
2664
  r.value = !1, l = null, a("end");
2611
- }, l.onerror = (p) => {
2612
- r.value = !1, l = null, p.error !== "canceled" && a("error", new Error(p.error));
2665
+ }, l.onerror = (v) => {
2666
+ r.value = !1, l = null, v.error !== "canceled" && a("error", new Error(v.error));
2613
2667
  }, window.speechSynthesis.speak(l), a("play", e.text);
2614
2668
  }
2615
- }, d = b(() => {
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
- }), h = b(() => r.value ? "ico-stop" : e.icon === "play" ? "ico-play" : "ico-volume");
2669
+ }, d = k(() => {
2670
+ const v = ["krds-tts"];
2671
+ return e.size && v.push(e.size), r.value ? v.push("pause") : e.icon === "play" && v.push("play"), e.class && v.push(e.class), v;
2672
+ }), h = k(() => r.value ? "ico-stop" : e.icon === "play" ? "ico-play" : "ico-volume");
2619
2673
  return fe(() => {
2620
2674
  n();
2621
2675
  }), () => {
2622
- const p = [t("span", {
2676
+ const v = [t("span", {
2623
2677
  class: "krds-tts-icon",
2624
2678
  "aria-hidden": "true"
2625
2679
  }, [t("i", { class: `svg-icon ${h.value}` })])];
2626
- return e.label && p.push(t("span", { class: "krds-tts-text" }, e.label)), t("button", {
2680
+ return e.label && v.push(t("span", { class: "krds-tts-text" }, e.label)), t("button", {
2627
2681
  type: "button",
2628
2682
  class: d.value,
2629
2683
  disabled: e.disabled || void 0,
2630
2684
  onClick: s
2631
- }, p);
2685
+ }, v);
2632
2686
  };
2633
2687
  }
2634
- }), ba = ma, ka = M({
2688
+ }), wa = Sa, Ka = /* @__PURE__ */ A({
2635
2689
  name: "KrdsTable",
2636
2690
  props: {
2637
2691
  caption: {
@@ -2654,65 +2708,71 @@ var _t = M({
2654
2708
  emits: { "row-click": (e, a) => !0 },
2655
2709
  slots: Object,
2656
2710
  setup(e, { emit: a, slots: r }) {
2657
- const l = b(() => {
2658
- const f = ["tbl"];
2659
- return e.class && f.push(e.class), f;
2660
- }), n = b(() => ["krds-table-wrap"]), s = (f) => f.headerStyle || void 0, d = (f) => {
2711
+ const l = xe(), n = k(() => {
2712
+ const i = ["tbl"];
2713
+ return e.class && i.push(e.class), i;
2714
+ }), s = k(() => ["krds-table-wrap"]), d = (i) => i.headerStyle || void 0, h = (i) => {
2661
2715
  const o = [];
2662
- return f.align && o.push(`text-${f.align}`), f.headerClasses && o.push(f.headerClasses), o.length > 0 ? o : void 0;
2663
- }, h = (f, o) => {
2716
+ return i.align && o.push(`text-${i.align}`), i.headerClasses && o.push(i.headerClasses), o.length > 0 ? o : void 0;
2717
+ }, v = (i, o) => {
2664
2718
  if (o.style)
2665
- return typeof o.style == "function" ? o.style(f) : o.style;
2666
- }, p = (f, o) => {
2667
- const i = [];
2668
- if (o.align && i.push(`text-${o.align}`), o.classes) {
2669
- const v = typeof o.classes == "function" ? o.classes(f) : o.classes;
2670
- i.push(v);
2719
+ return typeof o.style == "function" ? o.style(i) : o.style;
2720
+ }, C = (i, o) => {
2721
+ const g = [];
2722
+ if (o.align && g.push(`text-${o.align}`), o.classes) {
2723
+ const z = typeof o.classes == "function" ? o.classes(i) : o.classes;
2724
+ g.push(z);
2671
2725
  }
2672
- return i.length > 0 ? i : void 0;
2673
- }, w = () => !e.columns.length || !e.columns.some((f) => f.headerStyle && f.headerStyle.includes("width")) ? null : t("colgroup", e.columns.map((f) => {
2674
- if (!f.headerStyle) return t("col");
2675
- const o = f.headerStyle.match(/width\s*:\s*([^;]+)/i);
2726
+ return g.length > 0 ? g : void 0;
2727
+ }, c = () => !e.columns.length || !e.columns.some((i) => i.headerStyle && i.headerStyle.includes("width")) ? null : t("colgroup", e.columns.map((i) => {
2728
+ if (!i.headerStyle) return t("col");
2729
+ const o = i.headerStyle.match(/width\s*:\s*([^;]+)/i);
2676
2730
  return t("col", { style: o ? { width: o[1].trim() } : void 0 });
2677
- })), c = () => {
2731
+ })), _ = () => {
2678
2732
  if (!e.columns.length) return null;
2679
- const f = e.columns.map((o) => {
2680
- const i = s(o), v = d(o);
2733
+ const i = e.columns.map((o) => {
2734
+ const g = d(o), z = h(o);
2681
2735
  return t("th", {
2682
2736
  scope: "col",
2683
- class: v,
2684
- style: i
2737
+ class: z,
2738
+ style: g
2685
2739
  }, o.label);
2686
2740
  });
2687
- return t("thead", [t("tr", f)]);
2688
- }, B = (f, o) => typeof o.field == "function" ? o.field(f) : f[o.field], S = () => {
2741
+ return t("thead", [t("tr", i)]);
2742
+ }, S = (i, o) => typeof o.field == "function" ? o.field(i) : i[o.field], D = () => {
2689
2743
  if (!e.rows.length) return t("tbody", [t("tr", [t("td", {
2690
2744
  colspan: e.columns.length || 1,
2691
2745
  class: "text-center"
2692
2746
  }, r["no-data"] ? r["no-data"]() : "데이터가 없습니다.")])]);
2693
- const f = e.rows.map((o, i) => {
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
- return t(x === 0 ? "th" : "td", {
2697
- scope: x === 0 ? "row" : void 0,
2698
- class: _,
2699
- style: T
2700
- }, E);
2747
+ const i = l?.vnode.props, o = !!(i?.onRowClick || i?.["onRow-click"]), g = e.rows.map((z, T) => {
2748
+ const L = e.columns.map((x, K) => {
2749
+ const f = S(z, x), B = typeof f == "function" ? f() : f, R = v(z, x), H = C(z, x);
2750
+ return t(K === 0 ? "th" : "td", {
2751
+ scope: K === 0 ? "row" : void 0,
2752
+ class: H,
2753
+ style: R
2754
+ }, B);
2701
2755
  });
2702
- return t("tr", { onClick: () => $(o, i) }, v);
2756
+ return t("tr", o ? {
2757
+ tabindex: 0,
2758
+ onClick: () => m(z, T),
2759
+ onKeydown: (x) => p(x, z, T)
2760
+ } : null, L);
2703
2761
  });
2704
- return t("tbody", f);
2705
- }, $ = (f, o) => {
2706
- a("row-click", f, o);
2762
+ return t("tbody", g);
2763
+ }, m = (i, o) => {
2764
+ a("row-click", i, o);
2765
+ }, p = (i, o, g) => {
2766
+ i.target !== i.currentTarget || i.key !== "Enter" && i.key !== " " || (i.preventDefault(), m(o, g));
2707
2767
  };
2708
- return () => t("div", { class: n.value }, [t("table", { class: l.value }, [
2768
+ return () => t("div", { class: s.value }, [t("table", { class: n.value }, [
2709
2769
  e.caption && t("caption", e.caption),
2710
- w(),
2711
2770
  c(),
2712
- S()
2771
+ _(),
2772
+ D()
2713
2773
  ])]);
2714
2774
  }
2715
- }), Sa = ka, wa = M({
2775
+ }), Ca = Ka, xa = /* @__PURE__ */ A({
2716
2776
  name: "KrdsHeader",
2717
2777
  props: {
2718
2778
  id: {
@@ -2726,7 +2786,7 @@ var _t = M({
2726
2786
  },
2727
2787
  slots: Object,
2728
2788
  setup(e, { slots: a }) {
2729
- const r = b(() => {
2789
+ const r = k(() => {
2730
2790
  const l = [];
2731
2791
  return e.class && l.push(e.class), l;
2732
2792
  });
@@ -2744,7 +2804,7 @@ var _t = M({
2744
2804
  }, n);
2745
2805
  };
2746
2806
  }
2747
- }), Ka = wa, Ca = M({
2807
+ }), $a = xa, La = /* @__PURE__ */ A({
2748
2808
  name: "KrdsFooter",
2749
2809
  props: {
2750
2810
  id: {
@@ -2757,21 +2817,21 @@ var _t = M({
2757
2817
  }
2758
2818
  },
2759
2819
  setup(e, { slots: a }) {
2760
- const r = b(() => {
2820
+ const r = k(() => {
2761
2821
  const h = [];
2762
2822
  return e.class && h.push(e.class), h;
2763
2823
  }), 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
2824
  return () => {
2765
- const h = l(), p = n(), w = s(), c = d(), B = [];
2766
- p && B.push(p), w && B.push(w), c && B.push(c);
2825
+ const h = l(), v = n(), C = s(), c = d(), _ = [];
2826
+ v && _.push(v), C && _.push(C), c && _.push(c);
2767
2827
  const S = [];
2768
- return h && S.push(h), B.length > 0 && S.push(t("div", { class: "inner" }, B)), t("footer", {
2828
+ return h && S.push(h), _.length > 0 && S.push(t("div", { class: "inner" }, _)), t("footer", {
2769
2829
  id: e.id,
2770
2830
  class: r.value
2771
2831
  }, S);
2772
2832
  };
2773
2833
  }
2774
- }), xa = Ca, $a = M({
2834
+ }), Da = La, Ba = /* @__PURE__ */ A({
2775
2835
  name: "KrdsDisclosure",
2776
2836
  props: {
2777
2837
  title: {
@@ -2785,7 +2845,7 @@ var _t = M({
2785
2845
  },
2786
2846
  emits: { "update:modelValue": (e) => !0 },
2787
2847
  setup(e, { emit: a, slots: r }) {
2788
- const l = `disclosure-${oe()}`, n = b(() => e.modelValue), s = () => {
2848
+ const l = `disclosure-${ce()}`, n = k(() => e.modelValue), s = () => {
2789
2849
  a("update:modelValue", !e.modelValue);
2790
2850
  };
2791
2851
  return () => t("div", { class: [
@@ -2804,7 +2864,7 @@ var _t = M({
2804
2864
  inert: !n.value
2805
2865
  }, [t("div", { class: "expand-in" }, r.default?.())])]);
2806
2866
  }
2807
- }), La = $a, Da = M({
2867
+ }), Ea = Ba, Ta = /* @__PURE__ */ A({
2808
2868
  name: "KrdsIdentifier",
2809
2869
  props: {
2810
2870
  class: {
@@ -2818,7 +2878,7 @@ var _t = M({
2818
2878
  },
2819
2879
  emits: { click: (e) => !0 },
2820
2880
  setup(e, { emit: a, slots: r }) {
2821
- const l = b(() => {
2881
+ const l = k(() => {
2822
2882
  const s = ["krds-identifier"];
2823
2883
  return e.class && s.push(e.class), s;
2824
2884
  }), n = (s) => {
@@ -2829,7 +2889,7 @@ var _t = M({
2829
2889
  onClick: n
2830
2890
  }, [t("span", { class: "logo" }, [t("span", { class: "sr-only" }, e.logoLabel)]), t("span", { class: "ban-txt" }, r.default?.())]);
2831
2891
  }
2832
- }), Ba = Da, Ta = 50, Ea = M({
2892
+ }), _a = Ta, Aa = 50, Ma = /* @__PURE__ */ A({
2833
2893
  name: "KrdsLayout",
2834
2894
  props: {
2835
2895
  id: {
@@ -2851,45 +2911,45 @@ var _t = M({
2851
2911
  "scroll-height": (e) => !0
2852
2912
  },
2853
2913
  setup(e, { slots: a, emit: r }) {
2854
- const l = D(0), n = D(0), s = D(0), d = D(null), h = D(null), p = D(null), w = () => {
2855
- const f = n.value;
2856
- l.value = window.scrollY, n.value = document.body.scrollHeight, f !== n.value && f > 0 && r("scroll-height", n.value);
2914
+ const l = E(0), n = E(0), s = E(0), d = E(null), h = E(null), v = E(null), C = () => {
2915
+ const m = n.value;
2916
+ l.value = window.scrollY, n.value = document.body.scrollHeight, m !== n.value && m > 0 && r("scroll-height", n.value);
2857
2917
  }, c = () => {
2858
2918
  if (!h.value || !e.enableScrollDetection) return;
2859
- const f = document.querySelector("#container");
2860
- if (!f) return;
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
- }, B = () => {
2864
- w(), c(), r("scroll", {
2919
+ const m = document.querySelector("#container");
2920
+ if (!m) return;
2921
+ const p = m.offsetTop, i = window.scrollY, o = i > s.value, g = i < s.value;
2922
+ i > p + Aa ? o ? (h.value.classList.add("scroll-down"), h.value.classList.remove("scroll-up"), d.value = "down") : g && (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;
2923
+ }, _ = () => {
2924
+ C(), c(), r("scroll", {
2865
2925
  scrollY: l.value,
2866
2926
  scrollHeight: n.value,
2867
2927
  direction: d.value,
2868
2928
  timestamp: Date.now()
2869
2929
  });
2870
- }, S = (f) => {
2871
- for (const o of f) {
2872
- const { width: i, height: v } = o.contentRect;
2930
+ }, S = (m) => {
2931
+ for (const p of m) {
2932
+ const { width: i, height: o } = p.contentRect;
2873
2933
  r("resize", {
2874
2934
  width: i,
2875
- height: v
2935
+ height: o
2876
2936
  });
2877
2937
  }
2878
- }, $ = b(() => {
2879
- const f = ["g-wrap"];
2880
- return e.class && f.push(e.class), f;
2938
+ }, D = k(() => {
2939
+ const m = ["g-wrap"];
2940
+ return e.class && m.push(e.class), m;
2881
2941
  });
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);
2942
+ return ie(() => {
2943
+ e.enableScrollDetection && (C(), window.addEventListener("scroll", _, { passive: !0 })), h.value && typeof ResizeObserver < "u" && (v.value = new ResizeObserver(S), v.value.observe(h.value));
2944
+ }), ve(() => {
2945
+ e.enableScrollDetection && window.removeEventListener("scroll", _), v.value && (v.value.disconnect(), v.value = null);
2886
2946
  }), () => t("div", {
2887
2947
  id: e.id,
2888
- class: $.value,
2948
+ class: D.value,
2889
2949
  ref: h
2890
2950
  }, a.default?.());
2891
2951
  }
2892
- }), _a = Ea, Aa = M({
2952
+ }), Va = Ma, Pa = /* @__PURE__ */ A({
2893
2953
  name: "KrdsSideNavigation",
2894
2954
  props: {
2895
2955
  title: {
@@ -2903,142 +2963,149 @@ var _t = M({
2903
2963
  },
2904
2964
  emits: { "update:modelValue": (e) => !0 },
2905
2965
  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, K, E) => {
2907
- const T = `${K}-${E}`;
2908
- x ? l.value.set(T, x) : l.value.delete(T);
2909
- }, p = (x, K, E) => {
2910
- const T = `${K}-${E}`;
2911
- x ? n.value.set(T, x) : n.value.delete(T);
2912
- }, w = (x, K, E) => {
2913
- const T = `${K}-${E}`;
2914
- x ? s.value.set(T, x) : s.value.delete(T);
2915
- }, c = (x) => {
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
2966
+ const r = k(() => e.modelValue || []), l = ce(), n = E(/* @__PURE__ */ new Map()), s = E(/* @__PURE__ */ new Map()), d = E(/* @__PURE__ */ new Map()), h = E(null), v = (T, L, x) => {
2967
+ const K = `${L}-${x}`;
2968
+ T ? n.value.set(K, T) : n.value.delete(K);
2969
+ }, C = (T, L, x) => {
2970
+ const K = `${L}-${x}`;
2971
+ T ? s.value.set(K, T) : s.value.delete(K);
2972
+ }, c = (T, L, x) => {
2973
+ const K = `${L}-${x}`;
2974
+ T ? d.value.set(K, T) : d.value.delete(K);
2975
+ }, _ = (T) => {
2976
+ a("update:modelValue", r.value.map((L, x) => {
2977
+ if (x === T && L.subItems) {
2978
+ const K = L.expanded, f = {
2979
+ ...L,
2980
+ expanded: !L.expanded
2921
2981
  };
2922
- return T && !_.expanded && (_.subItems = K.subItems.map((g) => ({
2923
- ...g,
2982
+ return K && !f.expanded && (f.subItems = L.subItems.map((B) => ({
2983
+ ...B,
2924
2984
  expanded: !1
2925
- })), d.value = null), _;
2985
+ })), h.value = null), f;
2926
2986
  }
2927
- return K;
2987
+ return L;
2928
2988
  }));
2929
- }, B = (x, K) => {
2930
- a("update:modelValue", r.value.map((E, T) => T === x && E.subItems ? {
2931
- ...E,
2932
- subItems: E.subItems.map((_, g) => {
2933
- if (g === K && _.subItems) {
2934
- const A = {
2935
- ..._,
2936
- expanded: !_.expanded
2989
+ }, S = (T, L) => {
2990
+ a("update:modelValue", r.value.map((x, K) => K === T && x.subItems ? {
2991
+ ...x,
2992
+ subItems: x.subItems.map((f, B) => {
2993
+ if (B === L && f.subItems) {
2994
+ const R = {
2995
+ ...f,
2996
+ expanded: !f.expanded
2937
2997
  };
2938
- if (A.expanded) {
2939
- const I = `${x}-${K}`;
2940
- d.value = l.value.get(I) || null;
2941
- const O = n.value.get(I), H = s.value.get(I);
2942
- O && H && O.addEventListener("transitionend", () => {
2943
- H.focus();
2944
- }, { once: !0 });
2998
+ if (R.expanded) {
2999
+ const H = `${T}-${L}`;
3000
+ h.value = n.value.get(H) || null;
3001
+ const N = s.value.get(H), O = d.value.get(H);
3002
+ N && O && (N.addEventListener("transitionend", () => {
3003
+ O.focus();
3004
+ }, { once: !0 }), requestAnimationFrame(() => {
3005
+ N.getAnimations({ subtree: !0 }).length || O.focus();
3006
+ }));
2945
3007
  }
2946
- return A;
3008
+ return R;
2947
3009
  }
2948
- return _;
3010
+ return f;
2949
3011
  })
2950
- } : E));
2951
- }, S = (x, K) => {
2952
- a("update:modelValue", r.value.map((E, T) => T === x && E.subItems ? {
2953
- ...E,
2954
- subItems: E.subItems.map((_, g) => {
2955
- if (g === K && _.subItems && _.expanded) {
2956
- if (d.value) {
2957
- const A = d.value;
3012
+ } : x));
3013
+ }, D = (T, L) => {
3014
+ a("update:modelValue", r.value.map((x, K) => K === T && x.subItems ? {
3015
+ ...x,
3016
+ subItems: x.subItems.map((f, B) => {
3017
+ if (B === L && f.subItems && f.expanded) {
3018
+ if (h.value) {
3019
+ const R = h.value;
2958
3020
  requestAnimationFrame(() => {
2959
- A.focus();
2960
- }), d.value = null;
3021
+ R.focus();
3022
+ }), h.value = null;
2961
3023
  }
2962
3024
  return {
2963
- ..._,
3025
+ ...f,
2964
3026
  expanded: !1
2965
3027
  };
2966
3028
  }
2967
- return _;
3029
+ return f;
2968
3030
  })
2969
- } : E));
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}-${_}`,
3031
+ } : x));
3032
+ }, m = (T, L, x) => {
3033
+ const K = `${L}-${x}`, f = s.value.get(K);
3034
+ f && !f.contains(T.relatedTarget) && D(L, x);
3035
+ }, p = (T, L) => {
3036
+ D(T, L);
3037
+ }, i = (T, L) => {
3038
+ T.onClick && T.onClick(L);
3039
+ }, o = (T, L, x) => T.map((K, f) => t("li", {
3040
+ key: `popup-item-${L}-${x}-${f}`,
2979
3041
  role: "none"
2980
3042
  }, t("a", {
2981
- href: T.href || "#",
3043
+ href: K.href || "#",
2982
3044
  class: "lnb-btn",
2983
3045
  role: "menuitem",
2984
- onClick: (g) => o(T, g)
2985
- }, T.text))), v = (x, K) => x.map((E, T) => {
2986
- const _ = `lnb-subitem-${K}-${T}`;
3046
+ onClick: (B) => i(K, B)
3047
+ }, K.text))), g = (T, L) => T.map((x, K) => {
3048
+ const f = `lnb-subitem-${L}-${K}`;
2987
3049
  return t("li", {
2988
- key: _,
2989
- class: ["lnb-subitem", { active: E.expanded }],
3050
+ key: f,
3051
+ class: ["lnb-subitem", { active: x.expanded }],
2990
3052
  role: "none"
2991
- }, [E.subItems ? [t("button", {
2992
- ref: (g) => h(g, K, T),
3053
+ }, [x.subItems ? [t("button", {
3054
+ ref: (B) => v(B, L, K),
2993
3055
  type: "button",
2994
3056
  class: "lnb-btn lnb-toggle-popup",
2995
3057
  role: "menuitem",
2996
- "aria-controls": `lnbmenu-${K}-${T}`,
2997
- "aria-expanded": E.expanded ? "true" : "false",
3058
+ "aria-controls": `${l}-lnbmenu-${L}-${K}`,
3059
+ "aria-expanded": x.expanded ? "true" : "false",
2998
3060
  "aria-haspopup": "true",
2999
- onClick: () => B(K, T)
3000
- }, E.text), t("div", {
3001
- ref: (g) => p(g, K, T),
3002
- id: `lnbmenu-${K}-${T}`,
3003
- class: ["lnb-submenu-lv2", { active: E.expanded }],
3061
+ onClick: () => S(L, K)
3062
+ }, x.text), t("div", {
3063
+ ref: (B) => C(B, L, K),
3064
+ id: `${l}-lnbmenu-${L}-${K}`,
3065
+ class: ["lnb-submenu-lv2", { active: x.expanded }],
3004
3066
  role: "menu",
3005
- onFocusout: (g) => $(g, K, T)
3067
+ onFocusout: (B) => m(B, L, K)
3006
3068
  }, [t("button", {
3007
- ref: (g) => w(g, K, T),
3069
+ ref: (B) => c(B, L, K),
3008
3070
  type: "button",
3009
3071
  class: "lnb-btn-tit",
3010
- onClick: () => f(K, T)
3011
- }, E.popupTitle || E.text), t("ul", {}, i(E.subItems || [], K, T))])] : t("a", {
3012
- href: E.href || "#",
3072
+ onClick: () => p(L, K)
3073
+ }, x.popupTitle || x.text), t("ul", {}, o(x.subItems || [], L, K))])] : t("a", {
3074
+ href: x.href || "#",
3013
3075
  class: ["lnb-btn", "lnb-link"],
3014
3076
  role: "menuitem",
3015
- onClick: (g) => o(E, g)
3016
- }, E.text)]);
3017
- }), m = () => r.value.map((x, K) => t("li", {
3018
- key: `lnb-item-${K}`,
3019
- class: ["lnb-item", { active: x.expanded }],
3077
+ onClick: (B) => i(x, B)
3078
+ }, x.text)]);
3079
+ }), z = () => r.value.map((T, L) => t("li", {
3080
+ key: `lnb-item-${L}`,
3081
+ class: ["lnb-item", { active: T.expanded }],
3020
3082
  role: "none"
3021
- }, [t("button", {
3083
+ }, [T.subItems ? t("button", {
3022
3084
  type: "button",
3023
3085
  class: [
3024
3086
  "lnb-btn",
3025
3087
  "lnb-toggle",
3026
- { active: x.expanded }
3088
+ { active: T.expanded }
3027
3089
  ],
3028
3090
  role: "menuitem",
3029
- "aria-controls": `lnbmenu-${K}`,
3030
- "aria-expanded": x.expanded ? "true" : "false",
3031
- onClick: () => c(K)
3032
- }, x.text), x.subItems ? t("div", { class: "lnb-submenu" }, [t("ul", {
3033
- id: `lnbmenu-${K}`,
3091
+ "aria-controls": `${l}-lnbmenu-${L}`,
3092
+ "aria-expanded": T.expanded ? "true" : "false",
3093
+ onClick: () => _(L)
3094
+ }, T.text) : t("a", {
3095
+ href: T.href || "#",
3096
+ class: ["lnb-btn", "lnb-link"],
3097
+ role: "menuitem",
3098
+ onClick: (x) => i(T, x)
3099
+ }, T.text), T.subItems ? t("div", { class: "lnb-submenu" }, [t("ul", {
3100
+ id: `${l}-lnbmenu-${L}`,
3034
3101
  role: "menu"
3035
- }, v(x.subItems, K))]) : null]));
3102
+ }, g(T.subItems, L))]) : null]));
3036
3103
  return () => t("nav", { class: "krds-side-navigation" }, [t("h2", { class: "lnb-tit" }, e.title), t("ul", {
3037
3104
  class: "lnb-list",
3038
3105
  role: "menubar"
3039
- }, m())]);
3106
+ }, z())]);
3040
3107
  }
3041
- }), Ma = Aa, Va = M({
3108
+ }), za = Pa, Fa = /* @__PURE__ */ A({
3042
3109
  name: "KrdsStructuredList",
3043
3110
  props: { full: {
3044
3111
  type: Boolean,
@@ -3056,7 +3123,7 @@ var _t = M({
3056
3123
  return t("ul", { class: ["krds-structured-list", e.full ? "type-full" : ""] }, [d]);
3057
3124
  };
3058
3125
  }
3059
- }), Pa = Va, za = M({
3126
+ }), Ra = Fa, Ia = /* @__PURE__ */ A({
3060
3127
  name: "KrdsTextList",
3061
3128
  props: {
3062
3129
  type: {
@@ -3071,7 +3138,7 @@ var _t = M({
3071
3138
  setup(e, { slots: a }) {
3072
3139
  return () => t(e.type, { class: ["krds-info-list", e.variant] }, a.default?.());
3073
3140
  }
3074
- }), Fa = za, Ra = M({
3141
+ }), Ha = Ia, Na = /* @__PURE__ */ A({
3075
3142
  name: "KrdsCriticalAlerts",
3076
3143
  props: {
3077
3144
  type: {
@@ -3110,7 +3177,7 @@ var _t = M({
3110
3177
  }, [t("span", { class: "m-hide" }, e.linkText), t("i", { class: "svg-icon ico-angle right" })])
3111
3178
  ])])]);
3112
3179
  }
3113
- }), Ia = Ra, Ha = "새 창 열림", Na = 100, we = 400, Oa = 'a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])', qa = M({
3180
+ }), qa = Na, Oa = "새 창 열림", Wa = 100, _e = 400, Ya = 'a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])', ja = /* @__PURE__ */ A({
3114
3181
  name: "KrdsMainMenu",
3115
3182
  props: {
3116
3183
  items: {
@@ -3149,172 +3216,177 @@ var _t = M({
3149
3216
  },
3150
3217
  slots: Object,
3151
3218
  setup(e, { emit: a, slots: r }) {
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 ? {
3219
+ const l = ce(), n = E(null), s = E(null), d = E(null), h = k(() => e.variant === "pc"), v = (u) => `${l}-gnb-panel-${u}`, C = (u, y) => `${l}-gnb-sub-${u}-${y}`, c = (u) => `${l}-gnb-tab-${u}`, _ = (u, y) => `${l}-gnb-depth3-${u}-${y}`, S = (u) => !!u?.subItems?.length, D = (u) => !S(u) && !!u?.items?.length, m = (u) => S(u) || D(u), p = (u) => !u.items?.length, i = (u) => u ? {
3153
3220
  target: "_blank",
3154
3221
  rel: "noopener noreferrer",
3155
- title: Ha
3156
- } : {}, v = (u, y) => {
3222
+ title: Oa
3223
+ } : {}, o = (u, y) => {
3157
3224
  u.onClick?.(y), a("item-click", u, y);
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));
3225
+ }, g = E(-1), z = E({}), T = E(0), L = /* @__PURE__ */ new Map(), x = /* @__PURE__ */ new Map(), K = (u, y, $) => {
3226
+ y ? u.set($, y) : u.delete($);
3227
+ }, f = (u) => {
3228
+ const y = u?.subItems?.findIndex(($) => !p($));
3162
3229
  return y === void 0 ? -1 : y;
3163
- }, A = (u) => {
3164
- const y = x.value[u];
3165
- return y === void 0 ? g(e.items[u]) : y;
3166
- }, I = (u) => {
3230
+ }, B = (u) => {
3231
+ const y = z.value[u];
3232
+ return y === void 0 ? f(e.items[u]) : y;
3233
+ }, R = (u) => {
3167
3234
  if (typeof document > "u") return;
3168
3235
  document.body.classList.toggle("is-gnb-web", u);
3169
3236
  const y = document.body.scrollHeight > window.innerHeight;
3170
3237
  document.body.classList.toggle("hasScrollY", u && y);
3171
- }, O = async () => {
3172
- await ce();
3173
- const u = E.get(m.value)?.querySelector(".gnb-sub-list.active");
3174
- K.value = u?.scrollHeight ?? 0;
3175
- }, H = (u = !1) => {
3176
- if (m.value === -1) return;
3177
- const y = m.value;
3178
- m.value = -1, K.value = 0, I(!1), a("menu-toggle", y, !1), u && T.get(y)?.focus();
3179
- }, G = (u) => {
3180
- if (f(e.items[u])) {
3181
- if (m.value === u) {
3182
- H();
3238
+ }, H = async () => {
3239
+ await pe();
3240
+ const u = L.get(g.value)?.querySelector(".gnb-sub-list.active");
3241
+ T.value = u?.scrollHeight ?? 0;
3242
+ }, N = (u = !1) => {
3243
+ if (g.value === -1) return;
3244
+ const y = g.value;
3245
+ g.value = -1, T.value = 0, R(!1), a("menu-toggle", y, !1), u && x.get(y)?.focus();
3246
+ }, O = (u) => {
3247
+ if (m(e.items[u])) {
3248
+ if (g.value === u) {
3249
+ N();
3183
3250
  return;
3184
3251
  }
3185
- m.value = u, I(!0), a("menu-toggle", u, !0), O();
3252
+ N(), g.value = u, R(!0), a("menu-toggle", u, !0), H();
3186
3253
  }
3187
3254
  }, j = (u, y) => {
3188
- x.value = {
3189
- ...x.value,
3255
+ z.value = {
3256
+ ...z.value,
3190
3257
  [u]: y
3191
- }, O();
3192
- }, X = (u) => {
3258
+ }, H();
3259
+ }, U = (u) => {
3193
3260
  const y = n.value;
3194
- !y || y.contains(u.target) || H();
3195
- }, le = (u) => {
3196
- const y = n.value, C = u.relatedTarget;
3197
- !y || !C || y.contains(C) || H();
3198
- }, de = (u) => {
3261
+ !y || y.contains(u.target) || N();
3262
+ }, oe = (u) => {
3263
+ const y = n.value, $ = u.relatedTarget;
3264
+ !y || !$ || y.contains($) || N();
3265
+ }, ge = (u) => {
3199
3266
  if (u.key === "Escape") {
3200
- H(!0);
3267
+ N(!0);
3201
3268
  return;
3202
3269
  }
3203
3270
  const y = u.target;
3204
3271
  if (!y?.dataset.trigger) return;
3205
- const C = (k) => {
3206
- const P = y.closest("li");
3207
- (k === "next" ? P?.nextElementSibling : P?.previousElementSibling)?.querySelector("[data-trigger]")?.focus();
3272
+ const $ = (w) => {
3273
+ const V = y.closest("li");
3274
+ (w === "next" ? V?.nextElementSibling : V?.previousElementSibling)?.querySelector("[data-trigger]")?.focus();
3208
3275
  };
3209
3276
  switch (u.key) {
3210
3277
  case "Home":
3211
- u.preventDefault(), T.get(0)?.focus();
3278
+ u.preventDefault(), x.get(0)?.focus();
3212
3279
  break;
3213
3280
  case "End":
3214
- u.preventDefault(), T.get(e.items.length - 1)?.focus();
3281
+ u.preventDefault(), x.get(e.items.length - 1)?.focus();
3215
3282
  break;
3216
3283
  case "ArrowRight":
3217
3284
  case "ArrowDown":
3218
- u.preventDefault(), C("next");
3285
+ u.preventDefault(), $("next");
3219
3286
  break;
3220
3287
  case "ArrowLeft":
3221
3288
  case "ArrowUp":
3222
- u.preventDefault(), C("prev");
3289
+ u.preventDefault(), $("prev");
3223
3290
  }
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);
3291
+ }, ne = E(0), Q = E({}), ue = E(null), ee = E(null), de = E(e.open), le = E(e.open), P = /* @__PURE__ */ new Map(), F = /* @__PURE__ */ new Map(), G = /* @__PURE__ */ new Map(), q = /* @__PURE__ */ new Map(), b = (u, y, $) => {
3292
+ y ? u.set($, y) : u.delete($);
3226
3293
  };
3227
- let J, ee;
3228
- const ue = (u) => {
3294
+ let M, I, J = null;
3295
+ const se = (u) => {
3229
3296
  typeof document > "u" || document.body.classList.toggle("is-gnb-mobile", u);
3230
- }, Ee = () => {
3231
- ee && clearTimeout(ee), R.value = !0, J = setTimeout(() => {
3232
- Y.value = !0, ue(!0), s.value?.focus();
3233
- }, Na);
3234
- }, _e = () => {
3235
- J && clearTimeout(J), Y.value = !1, ee = setTimeout(() => {
3236
- R.value = !1, ue(!1);
3237
- }, we);
3297
+ }, X = () => {
3298
+ le.value && s.value?.focus();
3299
+ }, te = () => {
3300
+ I && clearTimeout(I), J = document.activeElement, de.value = !0, M = setTimeout(() => {
3301
+ le.value = !0, se(!0), n.value?.addEventListener("transitionend", X, { once: !0 }), requestAnimationFrame(() => {
3302
+ n.value?.getAnimations().length || X();
3303
+ });
3304
+ }, Wa);
3305
+ }, he = () => {
3306
+ M && clearTimeout(M), le.value = !1, J?.focus(), J = null, I = setTimeout(() => {
3307
+ de.value = !1, se(!1);
3308
+ }, _e);
3238
3309
  };
3239
- se(() => e.open, (u) => {
3240
- u ? Ee() : _e();
3310
+ re(() => e.open, (u) => {
3311
+ u ? te() : he();
3241
3312
  });
3242
- const Ae = (u, y) => {
3243
- u.preventDefault(), ae.value = y;
3244
- const C = d.value, k = V.get(y);
3245
- C && k && C.scrollTo({
3313
+ const ye = (u, y) => {
3314
+ u.preventDefault(), ne.value = y;
3315
+ const $ = d.value, w = P.get(y);
3316
+ $ && w && $.scrollTo({
3246
3317
  left: 0,
3247
- top: k.offsetTop,
3318
+ top: w.offsetTop,
3248
3319
  behavior: "smooth"
3249
3320
  });
3250
- }, Me = () => {
3321
+ }, Se = () => {
3251
3322
  const u = d.value;
3252
3323
  if (!u) return;
3253
- const { scrollTop: y, scrollHeight: C, clientHeight: k } = u;
3254
- let P = ae.value;
3255
- V.forEach((q, W) => {
3256
- (y >= q.offsetTop || y + k >= C) && (P = W);
3257
- }), ae.value = P;
3258
- }, Ve = (u, y) => {
3324
+ const { scrollTop: y, scrollHeight: $, clientHeight: w } = u;
3325
+ let V = ne.value;
3326
+ P.forEach((W, Y) => {
3327
+ (y >= W.offsetTop || y + w >= $) && (V = Y);
3328
+ }), ne.value = V;
3329
+ }, me = (u, y) => {
3259
3330
  u.preventDefault(), Q.value = {
3260
3331
  ...Q.value,
3261
3332
  [y]: !Q.value[y]
3262
3333
  };
3263
- }, Pe = async (u, y) => {
3264
- u.preventDefault(), ne.value = y, await ce(), L.value = y, await ce(), N.get(y)?.focus();
3265
- }, ye = (u) => {
3266
- L.value = null, F.get(u)?.focus(), setTimeout(() => {
3267
- L.value || (ne.value = null);
3268
- }, we);
3269
- }, ze = (u, y) => {
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
- y.shiftKey && (q === k || q === u) ? (y.preventDefault(), P.focus()) : !y.shiftKey && q === P && (y.preventDefault(), k.focus());
3274
- }, Fe = (u) => {
3334
+ }, Re = async (u, y) => {
3335
+ u.preventDefault(), ue.value = y, await pe(), ee.value = y, await pe(), q.get(y)?.focus();
3336
+ }, Le = (u) => {
3337
+ ee.value = null, F.get(u)?.focus(), setTimeout(() => {
3338
+ ee.value || (ue.value = null);
3339
+ }, _e);
3340
+ }, Ie = (u, y) => {
3341
+ const $ = Array.from(u.querySelectorAll(Ya));
3342
+ if (!$.length) return;
3343
+ const w = $[0], V = $[$.length - 1], W = document.activeElement;
3344
+ y.shiftKey && (W === w || W === u) ? (y.preventDefault(), V.focus()) : !y.shiftKey && W === V && (y.preventDefault(), w.focus());
3345
+ }, He = (u) => {
3275
3346
  if (u.key === "Escape") {
3276
- L.value ? ye(L.value) : a("update:open", !1);
3347
+ ee.value ? Le(ee.value) : a("update:open", !1);
3277
3348
  return;
3278
3349
  }
3279
3350
  if (u.key !== "Tab") return;
3280
- const y = L.value ? z.get(L.value) : s.value;
3281
- y && ze(y, u);
3351
+ const y = ee.value ? G.get(ee.value) : s.value;
3352
+ y && Ie(y, u);
3282
3353
  };
3283
- re(() => {
3354
+ ie(() => {
3284
3355
  if (h.value) {
3285
- document.addEventListener("click", X);
3356
+ document.addEventListener("click", U);
3286
3357
  return;
3287
3358
  }
3288
- e.open && (R.value = !0, Y.value = !0, ue(!0));
3359
+ e.open && (de.value = !0, le.value = !0, se(!0));
3289
3360
  const u = {};
3290
- e.items.forEach((y, C) => {
3291
- y.subItems?.forEach((k, P) => {
3292
- k.expanded && (u[`${C}-${P}`] = !0);
3361
+ e.items.forEach((y, $) => {
3362
+ y.subItems?.forEach((w, V) => {
3363
+ w.expanded && (u[`${$}-${V}`] = !0);
3293
3364
  });
3294
3365
  }), Q.value = u;
3295
3366
  }), fe(() => {
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);
3367
+ typeof document < "u" && (document.removeEventListener("click", U), document.body.classList.remove("is-gnb-web", "hasScrollY", "is-gnb-mobile")), M && clearTimeout(M), I && clearTimeout(I);
3297
3368
  });
3298
- const Re = (u) => {
3299
- const y = u.some((k) => !!k.description), C = u.map((k, P) => {
3300
- const q = i(k.external), W = k.external ? t("i", { class: "svg-icon ico-go" }) : null;
3301
- if (y) return t("li", { key: `link-${P}` }, [t("h3", { class: "tit" }, [t("a", {
3302
- href: k.href || "#",
3303
- ...q,
3304
- onClick: (te) => v(k, te)
3305
- }, [k.text, W])]), k.description ? t("p", { class: "txt" }, k.description) : null]);
3306
- const Z = k.href ? "a" : "button";
3307
- return t("li", { key: `link-${P}` }, [t(Z, {
3308
- ...k.href ? {
3309
- href: k.href,
3310
- ...q
3369
+ const Ne = (u) => {
3370
+ const y = u.some((w) => !!w.description), $ = u.map((w, V) => {
3371
+ const W = i(w.external), Y = w.external ? t("i", { class: "svg-icon ico-go" }) : null;
3372
+ if (y) return t("li", { key: `link-${V}` }, [t("h3", { class: "tit" }, [t("a", {
3373
+ href: w.href || "#",
3374
+ ...W,
3375
+ class: { active: w.selected },
3376
+ onClick: (ae) => o(w, ae)
3377
+ }, [w.text, Y])]), w.description ? t("p", { class: "txt" }, w.description) : null]);
3378
+ const Z = w.href ? "a" : "button";
3379
+ return t("li", { key: `link-${V}` }, [t(Z, {
3380
+ ...w.href ? {
3381
+ href: w.href,
3382
+ ...W
3311
3383
  } : { type: "button" },
3312
- class: { active: k.selected },
3313
- onClick: (te) => v(k, te)
3314
- }, [k.text, W])]);
3384
+ class: { active: w.selected },
3385
+ onClick: (ae) => o(w, ae)
3386
+ }, [w.text, Y])]);
3315
3387
  });
3316
- return t("ul", { class: y ? "type-description" : void 0 }, C);
3317
- }, me = (u) => {
3388
+ return t("ul", { class: y ? "type-description" : void 0 }, $);
3389
+ }, De = (u) => {
3318
3390
  const y = u.titleLink ? [u.title, t("a", {
3319
3391
  href: u.titleLink.href,
3320
3392
  class: "krds-btn link basic small"
@@ -3326,57 +3398,57 @@ var _t = M({
3326
3398
  between: u.layout === "between",
3327
3399
  "single-list": u.single
3328
3400
  }]
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((C, k) => {
3331
- if (o(C)) {
3332
- const W = C.href ? "a" : "button";
3333
- return t("li", { key: `sub-${k}` }, [t(W, {
3334
- ...C.href ? {
3335
- href: C.href,
3336
- ...i(C.external)
3401
+ }, [t("div", { class: "gnb-sub-content" }, [t("h2", { class: "sub-title" }, y), Ne(u.linkItems)]), u.banner]);
3402
+ }, qe = (u, y) => (u.subItems ?? []).map(($, w) => {
3403
+ if (p($)) {
3404
+ const Y = $.href ? "a" : "button";
3405
+ return t("li", { key: `sub-${w}` }, [t(Y, {
3406
+ ...$.href ? {
3407
+ href: $.href,
3408
+ ...i($.external)
3337
3409
  } : { type: "button" },
3338
3410
  class: [
3339
3411
  "gnb-sub-trigger",
3340
3412
  "is-link",
3341
3413
  {
3342
- "external-link": C.external,
3343
- selected: C.selected
3414
+ "external-link": $.external,
3415
+ selected: $.selected
3344
3416
  }
3345
3417
  ],
3346
3418
  "data-trigger": "gnb",
3347
- onClick: (Z) => v(C, Z)
3348
- }, C.text)]);
3419
+ onClick: (Z) => o($, Z)
3420
+ }, $.text)]);
3349
3421
  }
3350
- const P = A(y) === k, q = C.banner && r.banner ? t("div", { class: "gnb-sub-banner" }, r.banner({
3422
+ const V = B(y) === w, W = $.banner && r.banner ? t("div", { class: "gnb-sub-banner" }, r.banner({
3351
3423
  item: u,
3352
- subItem: C,
3424
+ subItem: $,
3353
3425
  index: y,
3354
- subIndex: k
3426
+ subIndex: w
3355
3427
  })) : null;
3356
- return t("li", { key: `sub-${k}` }, [t("button", {
3428
+ return t("li", { key: `sub-${w}` }, [t("button", {
3357
3429
  type: "button",
3358
3430
  class: ["gnb-sub-trigger", {
3359
- active: P,
3360
- selected: C.selected
3431
+ active: V,
3432
+ selected: $.selected
3361
3433
  }],
3362
3434
  "data-trigger": "gnb",
3363
- "aria-controls": w(y, k),
3364
- "aria-expanded": P ? "true" : "false",
3435
+ "aria-controls": C(y, w),
3436
+ "aria-expanded": V ? "true" : "false",
3365
3437
  "aria-haspopup": "true",
3366
- onClick: (W) => {
3367
- j(y, k), v(C, W);
3438
+ onClick: (Y) => {
3439
+ j(y, w), o($, Y);
3368
3440
  }
3369
- }, C.text), me({
3370
- id: w(y, k),
3371
- title: C.title || C.text,
3372
- titleLink: C.titleLink,
3373
- linkItems: C.items ?? [],
3374
- layout: C.layout,
3375
- active: P,
3376
- banner: q
3441
+ }, $.text), De({
3442
+ id: C(y, w),
3443
+ title: $.title || $.text,
3444
+ titleLink: $.titleLink,
3445
+ linkItems: $.items ?? [],
3446
+ layout: $.layout,
3447
+ active: V,
3448
+ banner: W
3377
3449
  })]);
3378
- }), He = (u, y) => {
3379
- const C = m.value === y, k = S(u), P = k ? [t("ul", {}, Ie(u, y))] : [me({
3450
+ }), Oe = (u, y) => {
3451
+ const $ = g.value === y, w = S(u), V = w ? [t("ul", {}, qe(u, y))] : [De({
3380
3452
  title: u.title || u.text,
3381
3453
  linkItems: u.items ?? [],
3382
3454
  layout: u.layout,
@@ -3388,39 +3460,39 @@ var _t = M({
3388
3460
  })) : null
3389
3461
  })];
3390
3462
  return t("div", {
3391
- id: p(y),
3392
- class: ["gnb-toggle-wrap", { "is-open": C }]
3463
+ id: v(y),
3464
+ class: ["gnb-toggle-wrap", { "is-open": $ }]
3393
3465
  }, [t("div", {
3394
- ref: (q) => _(E, q, y),
3466
+ ref: (W) => K(L, W, y),
3395
3467
  class: "gnb-main-list",
3396
- ...k ? { "data-has-submenu": "true" } : {},
3397
- style: C && K.value ? { minHeight: `${K.value}px` } : void 0
3398
- }, P)]);
3399
- }, Ne = () => {
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
- ref: (te) => _(T, te, k),
3403
- ...W === "a" ? {
3404
- href: C.href,
3405
- ...i(C.external)
3468
+ ...w ? { "data-has-submenu": "true" } : {},
3469
+ style: $ && T.value ? { minHeight: `${T.value}px` } : void 0
3470
+ }, V)]);
3471
+ }, We = () => {
3472
+ const u = e.items.map(($, w) => {
3473
+ const V = m($), W = g.value === w, Y = !V && $.href ? "a" : "button", Z = t(Y, {
3474
+ ref: (ae) => K(x, ae, w),
3475
+ ...Y === "a" ? {
3476
+ href: $.href,
3477
+ ...i($.external)
3406
3478
  } : { type: "button" },
3407
3479
  class: ["gnb-main-trigger", {
3408
- active: q,
3409
- "is-link": !P,
3410
- selected: C.selected
3480
+ active: W,
3481
+ "is-link": !V,
3482
+ selected: $.selected
3411
3483
  }],
3412
3484
  "data-trigger": "gnb",
3413
- ...P ? {
3414
- "aria-controls": p(k),
3415
- "aria-expanded": q ? "true" : "false",
3485
+ ...V ? {
3486
+ "aria-controls": v(w),
3487
+ "aria-expanded": W ? "true" : "false",
3416
3488
  "aria-haspopup": "true"
3417
3489
  } : {},
3418
- onClick: (te) => {
3419
- P && G(k), v(C, te);
3490
+ onClick: (ae) => {
3491
+ V && O(w), o($, ae);
3420
3492
  }
3421
- }, C.text);
3422
- return t("li", { key: `main-${k}` }, [Z, P ? He(C, k) : null]);
3423
- }), y = e.backdrop && m.value !== -1 ? t(Ce, { to: "body" }, [t("div", {
3493
+ }, $.text);
3494
+ return t("li", { key: `main-${w}` }, [Z, V ? Oe($, w) : null]);
3495
+ }), y = e.backdrop && g.value !== -1 ? t(Ce, { to: "body" }, [t("div", {
3424
3496
  class: "gnb-backdrop active",
3425
3497
  "aria-hidden": "true"
3426
3498
  })]) : null;
@@ -3428,108 +3500,111 @@ var _t = M({
3428
3500
  ref: n,
3429
3501
  class: "krds-main-menu",
3430
3502
  "aria-label": e.ariaLabel,
3431
- onKeydown: de,
3432
- onFocusout: le
3503
+ onKeydown: ge,
3504
+ onFocusout: oe
3433
3505
  }, [t("div", { class: "inner" }, [t("ul", {
3434
3506
  class: "gnb-menu",
3435
3507
  "aria-label": e.ariaLabel
3436
3508
  }, u)]), y]);
3437
- }, Oe = (u, y) => {
3438
- const C = () => ye(y);
3509
+ }, Ye = (u, y) => {
3510
+ const $ = () => Le(y);
3439
3511
  return t("div", {
3440
- ref: (k) => U(z, k, y),
3441
- class: ["depth4-wrap", { "is-open": L.value === y }],
3442
- style: ne.value === y ? { display: "block" } : void 0
3512
+ ref: (w) => b(G, w, y),
3513
+ class: ["depth4-wrap", { "is-open": ee.value === y }],
3514
+ style: ue.value === y ? { display: "block" } : void 0
3443
3515
  }, [t("div", { class: "depth4-head" }, [t("button", {
3444
- ref: (k) => U(N, k, y),
3516
+ ref: (w) => b(q, w, y),
3445
3517
  type: "button",
3446
3518
  class: "krds-btn icon trigger-prev",
3447
- onClick: C
3519
+ onClick: $
3448
3520
  }, [t("span", { class: "sr-only" }, "이전화면"), t("i", { class: "svg-icon ico-angle left" })]), t("button", {
3449
3521
  type: "button",
3450
3522
  class: "krds-btn icon trigger-close",
3451
- onClick: C
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
- href: k.href || "#",
3454
- ...i(k.external),
3455
- class: { selected: k.selected },
3456
- onClick: (q) => v(k, q)
3457
- }, k.text)])))])]);
3458
- }, qe = (u, y, C) => {
3459
- const k = (u.items ?? []).map((P, q) => {
3460
- const W = `${y}-${C}-${q}`, Z = !!P.items?.length;
3461
- return t("li", { key: `depth3-${q}` }, [t("a", {
3462
- ref: (te) => U(F, te, W),
3463
- href: P.href || "#",
3464
- ...Z ? {} : i(P.external),
3523
+ onClick: $
3524
+ }, [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((w, V) => t("li", { key: `depth4-${V}` }, [t("a", {
3525
+ href: w.href || "#",
3526
+ ...i(w.external),
3527
+ class: { selected: w.selected },
3528
+ onClick: (W) => o(w, W)
3529
+ }, w.text)])))])]);
3530
+ }, je = (u, y, $) => {
3531
+ const w = (u.items ?? []).map((V, W) => {
3532
+ const Y = `${y}-${$}-${W}`, Z = !!V.items?.length;
3533
+ return t("li", { key: `depth3-${W}` }, [t("a", {
3534
+ ref: (ae) => b(F, ae, Y),
3535
+ href: V.href || "#",
3536
+ ...Z ? {} : i(V.external),
3465
3537
  class: ["depth3-trigger", {
3466
3538
  "has-depth4": Z,
3467
- selected: P.selected
3539
+ selected: V.selected
3468
3540
  }],
3469
3541
  ...Z ? {
3470
3542
  "aria-haspopup": "true",
3471
- "aria-expanded": L.value === W ? "true" : "false"
3543
+ "aria-expanded": ee.value === Y ? "true" : "false"
3472
3544
  } : {},
3473
- onClick: (te) => {
3474
- Z && Pe(te, W), v(P, te);
3545
+ onClick: (ae) => {
3546
+ Z && Re(ae, Y), o(V, ae);
3475
3547
  }
3476
- }, P.text), Z ? Oe(P, W) : null]);
3548
+ }, V.text), Z ? Ye(V, Y) : null]);
3477
3549
  });
3478
- return t("div", { class: ["depth3-wrap", { "is-open": Q.value[`${y}-${C}`] }] }, [t("ul", {}, k)]);
3479
- }, We = (u, y) => {
3480
- const C = (u.subItems ?? []).map((k, P) => {
3481
- const q = `${y}-${P}`, W = !!k.items?.length;
3482
- return t("li", { key: `sub-${P}` }, [t("a", {
3483
- href: k.href || "#",
3484
- ...W ? {} : i(k.external),
3550
+ return t("div", {
3551
+ id: _(y, $),
3552
+ class: ["depth3-wrap", { "is-open": Q.value[`${y}-${$}`] }]
3553
+ }, [t("ul", {}, w)]);
3554
+ }, Ge = (u, y) => {
3555
+ const $ = (u.subItems ?? []).map((w, V) => {
3556
+ const W = `${y}-${V}`, Y = !!w.items?.length;
3557
+ return t("li", { key: `sub-${V}` }, [t("a", {
3558
+ href: w.href || "#",
3559
+ ...Y ? {} : i(w.external),
3485
3560
  class: ["gnb-sub-trigger", {
3486
- "has-depth3": W,
3487
- active: W && Q.value[q],
3488
- selected: k.selected
3561
+ "has-depth3": Y,
3562
+ active: Y && Q.value[W],
3563
+ selected: w.selected
3489
3564
  }],
3490
- ...W ? {
3491
- "aria-controls": B(y, P),
3492
- "aria-expanded": Q.value[q] ? "true" : "false"
3565
+ ...Y ? {
3566
+ "aria-controls": _(y, V),
3567
+ "aria-expanded": Q.value[W] ? "true" : "false"
3493
3568
  } : {},
3494
3569
  onClick: (Z) => {
3495
- W && Ve(Z, q), v(k, Z);
3570
+ Y && me(Z, W), o(w, Z);
3496
3571
  }
3497
- }, k.text), W ? qe(k, y, P) : null]);
3572
+ }, w.text), Y ? je(w, y, V) : null]);
3498
3573
  });
3499
3574
  return t("div", {
3500
- ref: (k) => _(V, k, y),
3501
- id: p(y),
3575
+ ref: (w) => K(P, w, y),
3576
+ id: v(y),
3502
3577
  class: "gnb-sub-list",
3503
3578
  role: "tabpanel",
3504
3579
  "aria-labelledby": c(y)
3505
- }, [t("h2", { class: "sub-title" }, u.title || u.text), t("ul", {}, C)]);
3506
- }, Ye = () => {
3507
- const u = e.items.map((C, k) => t("li", {
3508
- key: `tab-${k}`,
3580
+ }, [t("h2", { class: "sub-title" }, u.title || u.text), t("ul", {}, $)]);
3581
+ }, Ue = () => {
3582
+ const u = e.items.map(($, w) => t("li", {
3583
+ key: `tab-${w}`,
3509
3584
  role: "none"
3510
3585
  }, [t("a", {
3511
- id: c(k),
3512
- href: `#${p(k)}`,
3513
- class: ["gnb-main-trigger", { active: ae.value === k }],
3586
+ id: c(w),
3587
+ href: `#${v(w)}`,
3588
+ class: ["gnb-main-trigger", { active: ne.value === w }],
3514
3589
  role: "tab",
3515
- "aria-controls": p(k),
3516
- "aria-selected": ae.value === k ? "true" : "false",
3517
- onClick: (P) => {
3518
- Ae(P, k), v(C, P);
3590
+ "aria-controls": v(w),
3591
+ "aria-selected": ne.value === w ? "true" : "false",
3592
+ onClick: (V) => {
3593
+ ye(V, w), o($, V);
3519
3594
  }
3520
- }, C.text)])), y = [t("div", { class: "gnb-menu" }, [t("div", { class: "menu-wrap" }, [t("ul", {
3595
+ }, $.text)])), y = [t("div", { class: "gnb-menu" }, [t("div", { class: "menu-wrap" }, [t("ul", {
3521
3596
  role: "tablist",
3522
3597
  "aria-label": e.ariaLabel
3523
- }, u)]), t("div", { class: "submenu-wrap" }, e.items.map(We))]), r.bottom ? t("div", { class: "gnb-bottom" }, r.bottom()) : null];
3598
+ }, u)]), t("div", { class: "submenu-wrap" }, e.items.map(Ge))]), r.bottom ? t("div", { class: "gnb-bottom" }, r.bottom()) : null];
3524
3599
  return t("div", {
3525
3600
  ref: n,
3526
3601
  id: e.mobileId,
3527
3602
  class: ["krds-main-menu-mobile", {
3528
- "is-open": Y.value,
3529
- "is-backdrop": Y.value
3603
+ "is-open": le.value,
3604
+ "is-backdrop": le.value
3530
3605
  }],
3531
- style: R.value ? void 0 : { display: "none" },
3532
- onKeydown: Fe
3606
+ style: de.value ? void 0 : { display: "none" },
3607
+ onKeydown: He
3533
3608
  }, [t("div", {
3534
3609
  ref: s,
3535
3610
  class: "gnb-wrap",
@@ -3539,7 +3614,7 @@ var _t = M({
3539
3614
  t("div", {
3540
3615
  ref: d,
3541
3616
  class: "gnb-body",
3542
- onScroll: Me
3617
+ onScroll: Se
3543
3618
  }, y),
3544
3619
  t("button", {
3545
3620
  type: "button",
@@ -3549,9 +3624,9 @@ var _t = M({
3549
3624
  }, [t("span", { class: "sr-only" }, e.closeLabel), t("i", { class: "svg-icon ico-popup-close" })])
3550
3625
  ])]);
3551
3626
  };
3552
- return () => h.value ? Ne() : Ye();
3627
+ return () => h.value ? We() : Ue();
3553
3628
  }
3554
- }), Wa = qa, Ya = 400, ja = 2500, Ga = 0, Ua = 16, Be = (e) => e ? e.flatMap((a) => a.type === Ge ? Array.isArray(a.children) ? Be(a.children) : [] : a.type === je ? [] : a.type === Ue && typeof a.children == "string" && a.children.trim() === "" ? [] : [a]) : [], Xa = M({
3629
+ }), Ga = ja, Ua = 400, Xa = 2500, Qa = 0, Ja = 16, ze = (e) => e ? e.flatMap((a) => a.type === Qe ? Array.isArray(a.children) ? ze(a.children) : [] : a.type === Xe ? [] : a.type === Je && typeof a.children == "string" && a.children.trim() === "" ? [] : [a]) : [], Za = /* @__PURE__ */ A({
3555
3630
  name: "KrdsCarousel",
3556
3631
  props: {
3557
3632
  variant: {
@@ -3572,7 +3647,7 @@ var _t = M({
3572
3647
  },
3573
3648
  autoplayDelay: {
3574
3649
  type: Number,
3575
- default: ja
3650
+ default: Xa
3576
3651
  },
3577
3652
  pauseOnHover: {
3578
3653
  type: Boolean,
@@ -3580,7 +3655,7 @@ var _t = M({
3580
3655
  },
3581
3656
  speed: {
3582
3657
  type: Number,
3583
- default: Ya
3658
+ default: Ua
3584
3659
  },
3585
3660
  spaceBetween: {
3586
3661
  type: Number,
@@ -3635,171 +3710,171 @@ var _t = M({
3635
3710
  "more-click": (e) => !0
3636
3711
  },
3637
3712
  setup(e, { emit: a, slots: r }) {
3638
- const l = xe()?.uid, n = b(() => `${e.id ?? `krds-carousel-${l}`}-wrapper`);
3713
+ const l = xe()?.uid, n = k(() => `${e.id ?? `krds-carousel-${l}`}-wrapper`);
3639
3714
  let s = 0;
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
- let $;
3642
- const f = () => {
3643
- $ !== void 0 && (clearInterval($), $ = void 0);
3644
- }, o = (V) => {
3715
+ const d = E(e.activeIndex ?? 0), h = k(() => e.spaceBetween ?? (e.variant === "banner" ? Ja : Qa)), v = k(() => e.pagination ?? (e.variant === "banner" ? "fraction" : "bullets")), C = E(!1), c = E(!1), _ = E(!1), S = k(() => c.value || _.value);
3716
+ let D;
3717
+ const m = () => {
3718
+ D !== void 0 && (clearInterval(D), D = void 0);
3719
+ }, p = (P) => {
3645
3720
  if (s <= 0) return;
3646
- const F = e.loop ? (V % s + s) % s : Math.min(Math.max(V, 0), s - 1);
3721
+ const F = e.loop ? (P % s + s) % s : Math.min(Math.max(P, 0), s - 1);
3647
3722
  F !== d.value && (d.value = F, a("update:activeIndex", F), a("change", F));
3648
- }, i = () => o(d.value - 1), v = () => o(d.value + 1), m = () => {
3649
- w.value || (w.value = !0, a("play"));
3650
- }, x = () => {
3651
- w.value && (w.value = !1, a("stop"));
3723
+ }, i = () => p(d.value - 1), o = () => p(d.value + 1), g = () => {
3724
+ C.value || (C.value = !0, a("play"));
3725
+ }, z = () => {
3726
+ C.value && (C.value = !1, a("stop"));
3652
3727
  };
3653
- se([
3654
- w,
3728
+ re([
3729
+ C,
3655
3730
  S,
3656
3731
  () => e.autoplayDelay
3657
3732
  ], () => {
3658
- f(), !(!w.value || S.value) && ($ = setInterval(() => {
3733
+ m(), !(!C.value || S.value) && (D = setInterval(() => {
3659
3734
  if (!e.loop && s > 0 && d.value >= s - 1) {
3660
- x();
3735
+ z();
3661
3736
  return;
3662
3737
  }
3663
- v();
3738
+ o();
3664
3739
  }, e.autoplayDelay));
3665
- }), se(() => e.autoplay, (V) => {
3666
- V ? m() : x();
3667
- }), se(() => e.activeIndex, (V) => {
3668
- typeof V != "number" || V === d.value || (d.value = s > 0 ? Math.min(Math.max(V, 0), s - 1) : V);
3740
+ }), re(() => e.autoplay, (P) => {
3741
+ P ? g() : z();
3742
+ }), re(() => e.activeIndex, (P) => {
3743
+ typeof P != "number" || P === d.value || (d.value = s > 0 ? Math.min(Math.max(P, 0), s - 1) : P);
3669
3744
  });
3670
- const E = D(!1);
3671
- let T;
3672
- const _ = (V) => {
3673
- E.value = V.matches;
3674
- }, g = b(() => E.value ? 0 : e.speed);
3675
- re(() => {
3676
- typeof window < "u" && window.matchMedia && (T = window.matchMedia("(prefers-reduced-motion: reduce)"), E.value = T.matches, T.addEventListener("change", _)), e.autoplay && m();
3745
+ const L = E(!1);
3746
+ let x;
3747
+ const K = (P) => {
3748
+ L.value = P.matches;
3749
+ }, f = k(() => L.value ? 0 : e.speed);
3750
+ ie(() => {
3751
+ typeof window < "u" && window.matchMedia && (x = window.matchMedia("(prefers-reduced-motion: reduce)"), L.value = x.matches, x.addEventListener("change", K)), e.autoplay && g();
3677
3752
  }), fe(() => {
3678
- f(), T?.removeEventListener("change", _);
3753
+ m(), x?.removeEventListener("change", K);
3679
3754
  });
3680
- const A = () => {
3755
+ const B = () => {
3681
3756
  e.pauseOnHover && (c.value = !0);
3682
- }, I = () => {
3757
+ }, R = () => {
3683
3758
  c.value = !1;
3684
- }, O = () => {
3685
- B.value = !0;
3686
- }, H = (V) => {
3687
- const F = V.currentTarget;
3688
- F && F.contains(V.relatedTarget) || (B.value = !1);
3689
- }, G = (V) => {
3690
- a("more-click", V);
3759
+ }, H = () => {
3760
+ _.value = !0;
3761
+ }, N = (P) => {
3762
+ const F = P.currentTarget;
3763
+ F && F.contains(P.relatedTarget) || (_.value = !1);
3764
+ }, O = (P) => {
3765
+ a("more-click", P);
3691
3766
  }, j = {
3692
3767
  position: "relative",
3693
3768
  overflow: "hidden",
3694
3769
  width: "100%"
3695
- }, X = {
3770
+ }, U = {
3696
3771
  flex: "0 0 100%",
3697
3772
  width: "100%"
3698
- }, le = (V) => ({
3773
+ }, oe = (P) => ({
3699
3774
  display: "flex",
3700
3775
  width: "100%",
3701
3776
  gap: h.value > 0 ? `${h.value}px` : void 0,
3702
- transform: `translate3d(calc(${-V} * (100% + ${h.value}px)), 0, 0)`,
3777
+ transform: `translate3d(calc(${-P} * (100% + ${h.value}px)), 0, 0)`,
3703
3778
  transitionProperty: "transform",
3704
- transitionDuration: `${g.value}ms`,
3779
+ transitionDuration: `${f.value}ms`,
3705
3780
  transitionTimingFunction: "ease-out",
3706
3781
  willChange: "transform"
3707
- }), de = (V) => ({
3782
+ }), ge = (P) => ({
3708
3783
  position: "absolute",
3709
3784
  top: "50%",
3710
- left: V ? "0" : void 0,
3711
- right: V ? void 0 : "0",
3785
+ left: P ? "0" : void 0,
3786
+ right: P ? void 0 : "0",
3712
3787
  transform: "translateY(-50%)",
3713
3788
  zIndex: 10
3714
- }), ae = (V, F) => V.map((z, N) => {
3715
- const U = N === F;
3789
+ }), ne = (P, F) => P.map((G, q) => {
3790
+ const b = q === F;
3716
3791
  return t("li", {
3717
- key: z.key ?? `krds-carousel-slide-${N}`,
3718
- class: ["swiper-slide", { "swiper-slide-active": U }],
3719
- style: X,
3792
+ key: G.key ?? `krds-carousel-slide-${q}`,
3793
+ class: ["swiper-slide", { "swiper-slide-active": b }],
3794
+ style: U,
3720
3795
  "aria-roledescription": "slide",
3721
- "aria-label": `${N + 1} / ${V.length}`,
3722
- "aria-hidden": U ? void 0 : "true",
3723
- inert: U ? void 0 : !0
3724
- }, [z]);
3725
- }), Q = (V, F, z) => {
3726
- const N = V === "prev", U = !e.loop && (N ? F <= 0 : F >= s - 1);
3796
+ "aria-label": `${q + 1} / ${P.length}`,
3797
+ "aria-hidden": b ? void 0 : "true",
3798
+ inert: b ? void 0 : !0
3799
+ }, [G]);
3800
+ }), Q = (P, F, G) => {
3801
+ const q = P === "prev", b = !e.loop && (q ? F <= 0 : F >= s - 1);
3727
3802
  return t("button", {
3728
3803
  type: "button",
3729
- class: [`swiper-button-${V}`, { "swiper-button-disabled": U }],
3730
- style: z ? de(N) : void 0,
3731
- disabled: U,
3804
+ class: [`swiper-button-${P}`, { "swiper-button-disabled": b }],
3805
+ style: G ? ge(q) : void 0,
3806
+ disabled: b,
3732
3807
  "aria-controls": n.value,
3733
- onClick: N ? i : v
3734
- }, [t("span", { class: "sr-only" }, N ? e.prevLabel : e.nextLabel)]);
3735
- }, ne = () => t("a", {
3808
+ onClick: q ? i : o
3809
+ }, [t("span", { class: "sr-only" }, q ? e.prevLabel : e.nextLabel)]);
3810
+ }, ue = () => t("a", {
3736
3811
  href: e.moreHref,
3737
3812
  class: "swiper-button-more",
3738
- onClick: G
3739
- }, [t("span", { class: "sr-only" }, e.moreLabel)]), L = (V, F) => p.value === "fraction" ? t("div", { class: "swiper-pagination swiper-pagination-fraction" }, [
3813
+ onClick: O
3814
+ }, [t("span", { class: "sr-only" }, e.moreLabel)]), ee = (P, F) => v.value === "fraction" ? t("div", { class: "swiper-pagination swiper-pagination-fraction" }, [
3740
3815
  t("span", { class: "swiper-pagination-current" }, String(F + 1)),
3741
3816
  t("span", { "aria-hidden": "true" }, "/"),
3742
- t("span", { class: "swiper-pagination-total" }, String(V))
3743
- ]) : t("div", { class: "swiper-pagination" }, Array.from({ length: V }, (z, N) => t("button", {
3744
- key: `krds-carousel-bullet-${N}`,
3817
+ t("span", { class: "swiper-pagination-total" }, String(P))
3818
+ ]) : t("div", { class: "swiper-pagination" }, Array.from({ length: P }, (G, q) => t("button", {
3819
+ key: `krds-carousel-bullet-${q}`,
3745
3820
  type: "button",
3746
- class: ["swiper-pagination-bullet", { "swiper-pagination-bullet-active": N === F }],
3747
- "aria-label": `${N + 1}번째 슬라이드로 이동`,
3748
- "aria-current": N === F ? "true" : void 0,
3821
+ class: ["swiper-pagination-bullet", { "swiper-pagination-bullet-active": q === F }],
3822
+ "aria-label": `${q + 1}번째 슬라이드로 이동`,
3823
+ "aria-current": q === F ? "true" : void 0,
3749
3824
  "aria-controls": n.value,
3750
- onClick: () => o(N)
3751
- }))), R = () => t("div", { class: "swiper-controller" }, [t("button", {
3825
+ onClick: () => p(q)
3826
+ }))), de = () => t("div", { class: "swiper-controller" }, [t("button", {
3752
3827
  type: "button",
3753
3828
  class: "swiper-button-play",
3754
- style: w.value ? { display: "none" } : void 0,
3829
+ style: C.value ? { display: "none" } : void 0,
3755
3830
  "aria-controls": n.value,
3756
- onClick: m
3831
+ onClick: g
3757
3832
  }, [t("span", { class: "sr-only" }, e.playLabel)]), t("button", {
3758
3833
  type: "button",
3759
3834
  class: "swiper-button-stop",
3760
- style: w.value ? void 0 : { display: "none" },
3835
+ style: C.value ? void 0 : { display: "none" },
3761
3836
  "aria-controls": n.value,
3762
- onClick: x
3763
- }, [t("span", { class: "sr-only" }, e.stopLabel)])]), Y = (V, F) => {
3764
- const z = e.variant === "banner", N = p.value !== "none", U = !!e.moreHref, J = [];
3765
- if (N && J.push(L(V, F)), e.autoplay && J.push(R()), z) {
3766
- const ee = [];
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));
3768
- } else U && J.push(ne());
3769
- return J.length === 0 ? null : t("div", { class: ["swiper-indicator", { "text-center": !z }] }, J);
3837
+ onClick: z
3838
+ }, [t("span", { class: "sr-only" }, e.stopLabel)])]), le = (P, F) => {
3839
+ const G = e.variant === "banner", q = v.value !== "none", b = !!e.moreHref, M = [];
3840
+ if (q && M.push(ee(P, F)), e.autoplay && M.push(de()), G) {
3841
+ const I = [];
3842
+ e.navigation && I.push(Q("prev", F, !1), Q("next", F, !1)), b && I.push(ue()), I.length > 0 && M.push(t("div", { class: "swiper-navigation" }, I));
3843
+ } else b && M.push(ue());
3844
+ return M.length === 0 ? null : t("div", { class: ["swiper-indicator", { "text-center": !G }] }, M);
3770
3845
  };
3771
3846
  return () => {
3772
- const V = Be(r.default?.()), F = V.length;
3847
+ const P = ze(r.default?.()), F = P.length;
3773
3848
  s = F;
3774
- const z = F > 0 ? Math.min(Math.max(d.value, 0), F - 1) : 0, N = e.variant === "banner";
3849
+ const G = F > 0 ? Math.min(Math.max(d.value, 0), F - 1) : 0, q = e.variant === "banner";
3775
3850
  return t("div", {
3776
3851
  id: e.id,
3777
- class: ["krds-carousel", N ? "main-d-ban-swiper" : "vb-swiper"],
3852
+ class: ["krds-carousel", q ? "main-d-ban-swiper" : "vb-swiper"],
3778
3853
  style: { position: "relative" },
3779
3854
  role: "region",
3780
3855
  "aria-roledescription": "carousel",
3781
3856
  "aria-label": e.ariaLabel,
3782
- onMouseenter: A,
3783
- onMouseleave: I,
3784
- onFocusin: O,
3785
- onFocusout: H
3857
+ onMouseenter: B,
3858
+ onMouseleave: R,
3859
+ onFocusin: H,
3860
+ onFocusout: N
3786
3861
  }, [
3787
3862
  t("div", {
3788
3863
  class: "swiper",
3789
3864
  style: j,
3790
- "aria-live": w.value ? "off" : "polite"
3865
+ "aria-live": C.value ? "off" : "polite"
3791
3866
  }, [t("ul", {
3792
3867
  id: n.value,
3793
3868
  class: "swiper-wrapper",
3794
- style: le(z)
3795
- }, ae(V, z))]),
3796
- !N && e.navigation && F > 0 ? Q("prev", z, !0) : null,
3797
- !N && e.navigation && F > 0 ? Q("next", z, !0) : null,
3798
- F > 0 ? Y(F, z) : null
3869
+ style: oe(G)
3870
+ }, ne(P, G))]),
3871
+ !q && e.navigation && F > 0 ? Q("prev", G, !0) : null,
3872
+ !q && e.navigation && F > 0 ? Q("next", G, !0) : null,
3873
+ F > 0 ? le(F, G) : null
3799
3874
  ]);
3800
3875
  };
3801
3876
  }
3802
- }), Qa = Xa, Ja = M({
3877
+ }), el = Za, tl = /* @__PURE__ */ A({
3803
3878
  name: "KrdsTabs",
3804
3879
  props: {
3805
3880
  tabs: {
@@ -3832,13 +3907,13 @@ var _t = M({
3832
3907
  change: (e) => !0
3833
3908
  },
3834
3909
  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), p = (c) => {
3910
+ const l = ce(), n = (c) => `tab-${l}-${c}`, s = (c) => `panel-${l}-${c}`, d = E(e.tabs.find((c) => !c.disabled)?.id), h = k(() => e.modelValue ?? d.value), v = (c) => {
3836
3911
  c.disabled || c.id === h.value || (d.value = c.id, a("update:modelValue", c.id), a("change", c.id));
3837
- }, w = (c) => {
3912
+ }, C = (c) => {
3838
3913
  if (c.key !== "ArrowRight" && c.key !== "ArrowLeft") return;
3839
3914
  c.preventDefault();
3840
- const B = c.currentTarget;
3841
- (c.key === "ArrowRight" ? B.nextElementSibling : B.previousElementSibling)?.querySelector("button")?.focus();
3915
+ const _ = c.currentTarget;
3916
+ (c.key === "ArrowRight" ? _.nextElementSibling : _.previousElementSibling)?.querySelector("button")?.focus();
3842
3917
  };
3843
3918
  return () => t("div", { class: [
3844
3919
  "krds-tab-area",
@@ -3855,12 +3930,12 @@ var _t = M({
3855
3930
  "aria-selected": c.id === h.value,
3856
3931
  "aria-controls": s(c.id),
3857
3932
  class: { active: c.id === h.value },
3858
- onKeydown: w
3933
+ onKeydown: C
3859
3934
  }, [t("button", {
3860
3935
  type: "button",
3861
3936
  class: "btn-tab",
3862
3937
  disabled: c.disabled || void 0,
3863
- onClick: () => p(c)
3938
+ onClick: () => v(c)
3864
3939
  }, [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
3940
  key: c.id,
3866
3941
  id: s(c.id),
@@ -3869,119 +3944,119 @@ var _t = M({
3869
3944
  class: ["tab-conts", { active: c.id === h.value }]
3870
3945
  }, r[c.id]?.())))]);
3871
3946
  }
3872
- }), Za = Ja, Ke = /* @__PURE__ */ Je({
3873
- KrdsAccordionGroup: () => ga,
3874
- KrdsAccordionItem: () => ya,
3875
- KrdsBadge: () => Ct,
3876
- KrdsBreadcrumb: () => Gt,
3877
- KrdsButton: () => Ze,
3878
- KrdsButtonGroup: () => et,
3879
- KrdsCarousel: () => Qa,
3880
- KrdsCheckArea: () => Vt,
3881
- KrdsCheckbox: () => zt,
3882
- KrdsCoachMark: () => sa,
3883
- KrdsContextualHelp: () => la,
3884
- KrdsCriticalAlerts: () => Ia,
3885
- KrdsDateInput: () => gt,
3886
- KrdsDisclosure: () => La,
3887
- KrdsFileUpload: () => wt,
3888
- KrdsFooter: () => xa,
3889
- KrdsFormGroup: () => dt,
3890
- KrdsFormHint: () => ot,
3891
- KrdsFormLabel: () => rt,
3892
- KrdsHeader: () => Ka,
3893
- KrdsIcon: () => tt,
3894
- KrdsIdentifier: () => Ba,
3895
- KrdsInPageNavigation: () => Xt,
3896
- KrdsInput: () => nt,
3897
- KrdsLanguageSwitcher: () => ua,
3898
- KrdsLayout: () => _a,
3899
- KrdsLink: () => at,
3900
- KrdsMainMenu: () => Wa,
3901
- KrdsMasthead: () => Tt,
3902
- KrdsModal: () => va,
3903
- KrdsPagination: () => Zt,
3904
- KrdsPanel: () => ta,
3905
- KrdsRadio: () => Rt,
3906
- KrdsResize: () => ca,
3907
- KrdsSelect: () => bt,
3908
- KrdsSideNavigation: () => Ma,
3909
- KrdsSkipLink: () => Yt,
3910
- KrdsSpinner: () => It,
3911
- KrdsStep: () => qt,
3912
- KrdsStepIndicator: () => Nt,
3913
- KrdsStructuredList: () => Pa,
3914
- KrdsTable: () => Sa,
3915
- KrdsTabs: () => Za,
3916
- KrdsTag: () => $t,
3917
- KrdsTagGroup: () => Dt,
3918
- KrdsTextList: () => Fa,
3919
- KrdsTextarea: () => yt,
3920
- KrdsToggleSwitch: () => At,
3921
- KrdsTooltip: () => ia,
3922
- KrdsTts: () => ba
3923
- }), Te = "0.0.19", ll = { install(e, a = {}) {
3924
- e.provide("krds:config", a), (a.components || Object.keys(Ke)).forEach((r) => {
3925
- const l = Ke[r];
3947
+ }), al = tl, Ae = /* @__PURE__ */ tt({
3948
+ KrdsAccordionGroup: () => ma,
3949
+ KrdsAccordionItem: () => ka,
3950
+ KrdsBadge: () => Lt,
3951
+ KrdsBreadcrumb: () => Qt,
3952
+ KrdsButton: () => at,
3953
+ KrdsButtonGroup: () => lt,
3954
+ KrdsCarousel: () => el,
3955
+ KrdsCheckArea: () => Ft,
3956
+ KrdsCheckbox: () => It,
3957
+ KrdsCoachMark: () => oa,
3958
+ KrdsContextualHelp: () => ra,
3959
+ KrdsCriticalAlerts: () => qa,
3960
+ KrdsDateInput: () => mt,
3961
+ KrdsDisclosure: () => Ea,
3962
+ KrdsFileUpload: () => xt,
3963
+ KrdsFooter: () => Da,
3964
+ KrdsFormGroup: () => vt,
3965
+ KrdsFormHint: () => ct,
3966
+ KrdsFormLabel: () => ut,
3967
+ KrdsHeader: () => $a,
3968
+ KrdsIcon: () => nt,
3969
+ KrdsIdentifier: () => _a,
3970
+ KrdsInPageNavigation: () => Zt,
3971
+ KrdsInput: () => it,
3972
+ KrdsLanguageSwitcher: () => fa,
3973
+ KrdsLayout: () => Va,
3974
+ KrdsLink: () => st,
3975
+ KrdsMainMenu: () => Ga,
3976
+ KrdsMasthead: () => At,
3977
+ KrdsModal: () => ha,
3978
+ KrdsPagination: () => aa,
3979
+ KrdsPanel: () => na,
3980
+ KrdsRadio: () => Nt,
3981
+ KrdsResize: () => pa,
3982
+ KrdsSelect: () => wt,
3983
+ KrdsSideNavigation: () => za,
3984
+ KrdsSkipLink: () => Ut,
3985
+ KrdsSpinner: () => qt,
3986
+ KrdsStep: () => jt,
3987
+ KrdsStepIndicator: () => Wt,
3988
+ KrdsStructuredList: () => Ra,
3989
+ KrdsTable: () => Ca,
3990
+ KrdsTabs: () => al,
3991
+ KrdsTag: () => Bt,
3992
+ KrdsTagGroup: () => Tt,
3993
+ KrdsTextList: () => Ha,
3994
+ KrdsTextarea: () => kt,
3995
+ KrdsToggleSwitch: () => Pt,
3996
+ KrdsTooltip: () => da,
3997
+ KrdsTts: () => wa
3998
+ }), Fe = "0.0.20", rl = { install(e, a = {}) {
3999
+ e.provide("krds:config", a), (a.components || Object.keys(Ae)).forEach((r) => {
4000
+ const l = Ae[r];
3926
4001
  l && e.component(r, l);
3927
- }), Qt(e), e.config.globalProperties.$krds = { version: Te };
3928
- } }, nl = Te;
4002
+ }), ea(e), e.config.globalProperties.$krds = { version: Fe };
4003
+ } }, il = Fe;
3929
4004
  export {
3930
- ga as KrdsAccordionGroup,
3931
- ya as KrdsAccordionItem,
3932
- Ct as KrdsBadge,
3933
- Gt as KrdsBreadcrumb,
3934
- Ze as KrdsButton,
3935
- et as KrdsButtonGroup,
3936
- Qa as KrdsCarousel,
3937
- Vt as KrdsCheckArea,
3938
- zt as KrdsCheckbox,
3939
- sa as KrdsCoachMark,
3940
- la as KrdsContextualHelp,
3941
- Ia as KrdsCriticalAlerts,
3942
- gt as KrdsDateInput,
3943
- La as KrdsDisclosure,
3944
- wt as KrdsFileUpload,
3945
- xa as KrdsFooter,
3946
- dt as KrdsFormGroup,
3947
- ot as KrdsFormHint,
3948
- rt as KrdsFormLabel,
3949
- Ka as KrdsHeader,
3950
- tt as KrdsIcon,
3951
- Ba as KrdsIdentifier,
3952
- Xt as KrdsInPageNavigation,
3953
- nt as KrdsInput,
3954
- ua as KrdsLanguageSwitcher,
3955
- _a as KrdsLayout,
3956
- at as KrdsLink,
3957
- Wa as KrdsMainMenu,
3958
- Tt as KrdsMasthead,
3959
- va as KrdsModal,
3960
- Zt as KrdsPagination,
3961
- ta as KrdsPanel,
3962
- Rt as KrdsRadio,
3963
- ca as KrdsResize,
3964
- bt as KrdsSelect,
3965
- Ma as KrdsSideNavigation,
3966
- Yt as KrdsSkipLink,
3967
- It as KrdsSpinner,
3968
- qt as KrdsStep,
3969
- Nt as KrdsStepIndicator,
3970
- Pa as KrdsStructuredList,
3971
- Sa as KrdsTable,
3972
- Za as KrdsTabs,
3973
- $t as KrdsTag,
3974
- Dt as KrdsTagGroup,
3975
- Fa as KrdsTextList,
3976
- yt as KrdsTextarea,
3977
- At as KrdsToggleSwitch,
3978
- ia as KrdsTooltip,
3979
- ba as KrdsTts,
3980
- he as classNames,
3981
- ll as default,
3982
- tl as generateId,
3983
- al as generateUid,
3984
- nl as version
4005
+ ma as KrdsAccordionGroup,
4006
+ ka as KrdsAccordionItem,
4007
+ Lt as KrdsBadge,
4008
+ Qt as KrdsBreadcrumb,
4009
+ at as KrdsButton,
4010
+ lt as KrdsButtonGroup,
4011
+ el as KrdsCarousel,
4012
+ Ft as KrdsCheckArea,
4013
+ It as KrdsCheckbox,
4014
+ oa as KrdsCoachMark,
4015
+ ra as KrdsContextualHelp,
4016
+ qa as KrdsCriticalAlerts,
4017
+ mt as KrdsDateInput,
4018
+ Ea as KrdsDisclosure,
4019
+ xt as KrdsFileUpload,
4020
+ Da as KrdsFooter,
4021
+ vt as KrdsFormGroup,
4022
+ ct as KrdsFormHint,
4023
+ ut as KrdsFormLabel,
4024
+ $a as KrdsHeader,
4025
+ nt as KrdsIcon,
4026
+ _a as KrdsIdentifier,
4027
+ Zt as KrdsInPageNavigation,
4028
+ it as KrdsInput,
4029
+ fa as KrdsLanguageSwitcher,
4030
+ Va as KrdsLayout,
4031
+ st as KrdsLink,
4032
+ Ga as KrdsMainMenu,
4033
+ At as KrdsMasthead,
4034
+ ha as KrdsModal,
4035
+ aa as KrdsPagination,
4036
+ na as KrdsPanel,
4037
+ Nt as KrdsRadio,
4038
+ pa as KrdsResize,
4039
+ wt as KrdsSelect,
4040
+ za as KrdsSideNavigation,
4041
+ Ut as KrdsSkipLink,
4042
+ qt as KrdsSpinner,
4043
+ jt as KrdsStep,
4044
+ Wt as KrdsStepIndicator,
4045
+ Ra as KrdsStructuredList,
4046
+ Ca as KrdsTable,
4047
+ al as KrdsTabs,
4048
+ Bt as KrdsTag,
4049
+ Tt as KrdsTagGroup,
4050
+ Ha as KrdsTextList,
4051
+ kt as KrdsTextarea,
4052
+ Pt as KrdsToggleSwitch,
4053
+ da as KrdsTooltip,
4054
+ wa as KrdsTts,
4055
+ $e as classNames,
4056
+ rl as default,
4057
+ nl as generateId,
4058
+ sl as generateUid,
4059
+ il as version
3985
4060
  };
3986
4061
 
3987
4062
  //# sourceMappingURL=krds-vue.es.js.map