@krds.ui/vue 0.0.20 → 0.0.22

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 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) => {
1
+ import { Comment as Je, Fragment as Ze, Teleport as Ce, Text as et, computed as C, defineComponent as M, getCurrentInstance as xe, h as t, inject as tt, mergeProps as Ee, nextTick as pe, onActivated as at, onBeforeUnmount as ie, onMounted as te, onUnmounted as ue, onUpdated as lt, provide as nt, ref as B, shallowRef as st, useId as de, vShow as Se, watch as se, withDirectives as ge, withModifiers as Ke } from "vue";
2
+ var De = Object.defineProperty, rt = (e, a) => {
3
3
  let r = {};
4
4
  for (var l in e)
5
- Be(r, l, {
5
+ De(r, l, {
6
6
  get: e[l],
7
7
  enumerable: !0
8
8
  });
9
- return a || Be(r, Symbol.toStringTag, { value: "Module" }), r;
10
- }, Me = /* @__PURE__ */ A({
9
+ return a || De(r, Symbol.toStringTag, { value: "Module" }), r;
10
+ }, Fe = /* @__PURE__ */ M({
11
11
  name: "KrdsButton",
12
12
  props: {
13
13
  type: {
@@ -48,8 +48,9 @@ var Be = Object.defineProperty, tt = (e, a) => {
48
48
  }
49
49
  },
50
50
  emits: { click: (e) => !0 },
51
+ slots: Object,
51
52
  setup(e, { emit: a, slots: r }) {
52
- const l = k(() => {
53
+ const l = C(() => {
53
54
  const s = ["krds-btn"];
54
55
  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
56
  }), n = (s) => {
@@ -62,13 +63,14 @@ var Be = Object.defineProperty, tt = (e, a) => {
62
63
  onClick: n
63
64
  }, r.default?.());
64
65
  }
65
- }), at = Me, lt = /* @__PURE__ */ A({
66
+ }), ot = Fe, it = /* @__PURE__ */ M({
66
67
  name: "KrdsButtonGroup",
67
68
  props: {},
69
+ slots: Object,
68
70
  setup(e, { slots: a }) {
69
71
  return () => t("div", { class: "btn-group" }, a.default?.());
70
72
  }
71
- }), nt = /* @__PURE__ */ A({
73
+ }), ut = /* @__PURE__ */ M({
72
74
  name: "KrdsIcon",
73
75
  props: {
74
76
  name: {
@@ -87,7 +89,115 @@ var Be = Object.defineProperty, tt = (e, a) => {
87
89
  e.class
88
90
  ].filter(Boolean).join(" ") });
89
91
  }
90
- }), st = /* @__PURE__ */ A({
92
+ }), dt = /* @__PURE__ */ M({
93
+ name: "KrdsFloatingButton",
94
+ inheritAttrs: !1,
95
+ props: {
96
+ label: {
97
+ type: String,
98
+ required: !0
99
+ },
100
+ icon: {
101
+ type: String,
102
+ default: "ico-plus"
103
+ },
104
+ href: {
105
+ type: String,
106
+ default: void 0
107
+ },
108
+ external: {
109
+ type: Boolean,
110
+ default: !1
111
+ },
112
+ hideLabel: {
113
+ type: Boolean,
114
+ default: !1
115
+ },
116
+ items: {
117
+ type: Array,
118
+ default: void 0
119
+ }
120
+ },
121
+ emits: {
122
+ click: (e) => !0,
123
+ select: (e, a, r) => !0
124
+ },
125
+ setup(e, { emit: a, attrs: r }) {
126
+ const l = B(null), n = B(null), s = `floating-list-${de()}`, u = B(!1), g = (S = !1) => {
127
+ u.value = !1, S && n.value?.focus();
128
+ }, h = (S) => {
129
+ S.key === "Escape" && u.value && g(!0);
130
+ };
131
+ te(() => document.addEventListener("keydown", h)), ue(() => document.removeEventListener("keydown", h));
132
+ const y = (S) => {
133
+ const k = S.relatedTarget;
134
+ k && !l.value?.contains(k) && g();
135
+ }, c = (S, k, K = !1, m = {}) => t(S.href ? "a" : "button", Ee({
136
+ class: "floating-action",
137
+ ...S.href ? {
138
+ href: S.href,
139
+ ...S.external && {
140
+ target: "_blank",
141
+ rel: "noopener noreferrer",
142
+ title: "새 창 열림"
143
+ }
144
+ } : { type: "button" },
145
+ onClick: k
146
+ }, m), [t("span", { class: "floating-icon" }, [t("i", {
147
+ class: ["svg-icon", S.icon],
148
+ "aria-hidden": "true"
149
+ })]), t("span", { class: K ? "sr-only" : "floating-label" }, S.label)]);
150
+ return () => {
151
+ const { items: S } = e;
152
+ if (!S) {
153
+ const { class: k, style: K, ...m } = r;
154
+ return t("div", {
155
+ class: ["krds-floating-button", k],
156
+ style: K
157
+ }, [c({
158
+ label: e.label,
159
+ icon: e.icon,
160
+ href: e.href,
161
+ external: e.external
162
+ }, (v) => a("click", v), e.hideLabel, m)]);
163
+ }
164
+ return t("div", Ee(r, {
165
+ ref: l,
166
+ class: [
167
+ "krds-floating-button",
168
+ "expand",
169
+ { active: u.value }
170
+ ],
171
+ onFocusout: y
172
+ }), [
173
+ u.value ? t("div", {
174
+ class: "floating-dim",
175
+ "aria-hidden": "true",
176
+ onClick: () => g()
177
+ }) : null,
178
+ t("button", {
179
+ ref: n,
180
+ type: "button",
181
+ class: "floating-toggle",
182
+ "aria-expanded": u.value,
183
+ "aria-controls": s,
184
+ onClick: () => u.value = !u.value
185
+ }, [t("span", { class: "floating-icon" }, [t("i", {
186
+ class: "svg-icon ico-plus",
187
+ "aria-hidden": "true"
188
+ })]), t("span", { class: "sr-only" }, e.label)]),
189
+ ge(t("ul", {
190
+ id: s,
191
+ class: "floating-list"
192
+ }, S.map((k, K) => t("li", { key: K }, [c(k, (m) => {
193
+ g(!0), a("select", k, K, m);
194
+ const v = k.href?.startsWith("#") ? decodeURIComponent(k.href.slice(1)) : "";
195
+ v && !m.defaultPrevented && document.getElementById(v) && document.activeElement === n.value && n.value?.blur();
196
+ })]))), [[Se, u.value]])
197
+ ]);
198
+ };
199
+ }
200
+ }), ct = dt, ft = /* @__PURE__ */ M({
91
201
  name: "KrdsLink",
92
202
  props: {
93
203
  href: {
@@ -124,25 +234,26 @@ var Be = Object.defineProperty, tt = (e, a) => {
124
234
  }
125
235
  },
126
236
  emits: { click: (e) => !0 },
237
+ slots: Object,
127
238
  setup(e, { emit: a, slots: r }) {
128
- const l = k(() => {
129
- const d = ["krds-btn"];
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 = k(() => {
132
- const d = {
239
+ const l = C(() => {
240
+ const u = ["krds-btn"];
241
+ return e.size && u.push(e.size), e.link && u.push("link"), e.basic && u.push("basic"), e.pure && u.push("pure"), e.class && u.push(e.class), u;
242
+ }), n = C(() => {
243
+ const u = {
133
244
  href: e.href,
134
245
  class: l.value
135
246
  };
136
- return e.target && (d.target = e.target), e.title && (d.title = e.title), e.target === "_blank" && (d.rel = "noopener noreferrer"), d;
137
- }), s = (d) => {
138
- a("click", d);
247
+ return e.target && (u.target = e.target), e.title && (u.title = e.title), e.target === "_blank" && (u.rel = "noopener noreferrer"), u;
248
+ }), s = (u) => {
249
+ a("click", u);
139
250
  };
140
251
  return () => t("a", {
141
252
  ...n.value,
142
253
  onClick: s
143
254
  }, r.default?.());
144
255
  }
145
- }), Ve = /* @__PURE__ */ A({
256
+ }), Pe = /* @__PURE__ */ M({
146
257
  name: "KrdsSpinner",
147
258
  props: { label: {
148
259
  type: String,
@@ -155,7 +266,7 @@ var Be = Object.defineProperty, tt = (e, a) => {
155
266
  role: "status"
156
267
  }, e);
157
268
  }
158
- }), rt = /* @__PURE__ */ A({
269
+ }), vt = /* @__PURE__ */ M({
159
270
  name: "KrdsInput",
160
271
  props: {
161
272
  modelValue: {
@@ -248,25 +359,26 @@ var Be = Object.defineProperty, tt = (e, a) => {
248
359
  keydown: (e) => !0,
249
360
  keyup: (e) => !0
250
361
  },
362
+ slots: Object,
251
363
  setup(e, { emit: a, slots: r }) {
252
- const l = k(() => {
253
- const S = ["krds-input"];
254
- return e.size && S.push(e.size), e.class && S.push(e.class), S;
255
- }), n = (S) => {
256
- const D = S.target;
257
- a("update:modelValue", e.type === "number" ? Number(D.value) : D.value), a("input", S);
258
- }, s = (S) => {
259
- a("change", S);
260
- }, d = (S) => {
261
- a("focus", S);
262
- }, h = (S) => {
263
- a("blur", S);
264
- }, v = (S) => {
265
- a("keydown", S);
266
- }, C = (S) => {
267
- a("keyup", S);
268
- }, c = k(() => {
269
- const S = {
364
+ const l = C(() => {
365
+ const k = ["krds-input"];
366
+ return e.size && k.push(e.size), e.class && k.push(e.class), k;
367
+ }), n = (k) => {
368
+ const K = k.target;
369
+ a("update:modelValue", e.type === "number" ? Number(K.value) : K.value), a("input", k);
370
+ }, s = (k) => {
371
+ a("change", k);
372
+ }, u = (k) => {
373
+ a("focus", k);
374
+ }, g = (k) => {
375
+ a("blur", k);
376
+ }, h = (k) => {
377
+ a("keydown", k);
378
+ }, y = (k) => {
379
+ a("keyup", k);
380
+ }, c = C(() => {
381
+ const k = {
270
382
  type: e.type,
271
383
  class: l.value,
272
384
  value: e.modelValue,
@@ -280,22 +392,22 @@ var Be = Object.defineProperty, tt = (e, a) => {
280
392
  autofocus: e.autofocus,
281
393
  onInput: n,
282
394
  onChange: s,
283
- onFocus: d,
284
- onBlur: h,
285
- onKeydown: v,
286
- onKeyup: C
395
+ onFocus: u,
396
+ onBlur: g,
397
+ onKeydown: h,
398
+ onKeyup: y
287
399
  };
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
- }), _ = k(() => {
290
- const S = ["form-conts"];
291
- return e.state !== "default" && S.push(`is-${e.state}`), e.icon && S.push("btn-ico-wrap"), S;
400
+ return e.maxlength !== void 0 && (k.maxlength = e.maxlength), e.minlength !== void 0 && (k.minlength = e.minlength), e.type === "number" && (e.max !== void 0 && (k.max = e.max), e.min !== void 0 && (k.min = e.min), e.step !== void 0 && (k.step = e.step)), k;
401
+ }), S = C(() => {
402
+ const k = ["form-conts"];
403
+ return e.state !== "default" && k.push(`is-${e.state}`), e.icon && k.push("btn-ico-wrap"), k;
292
404
  });
293
405
  return () => {
294
- const S = [t("input", c.value)];
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));
406
+ const k = [t("input", c.value)];
407
+ return e.loading ? t("div", { class: S.value }, [t("div", { class: "form-spinner" }, [...k, t(Pe)])]) : (r.default && k.push(...r.default()), t("div", { class: S.value }, k));
296
408
  };
297
409
  }
298
- }), it = rt, ot = /* @__PURE__ */ A({
410
+ }), pt = vt, ht = /* @__PURE__ */ M({
299
411
  name: "KrdsFormLabel",
300
412
  props: {
301
413
  for: {
@@ -316,6 +428,7 @@ var Be = Object.defineProperty, tt = (e, a) => {
316
428
  }
317
429
  },
318
430
  emits: { click: (e) => !0 },
431
+ slots: Object,
319
432
  setup(e, { emit: a, slots: r }) {
320
433
  const l = (n) => {
321
434
  a("click", n);
@@ -328,7 +441,7 @@ var Be = Object.defineProperty, tt = (e, a) => {
328
441
  onClick: l
329
442
  }, r.default?.())]);
330
443
  }
331
- }), ut = ot, dt = /* @__PURE__ */ A({
444
+ }), gt = ht, yt = /* @__PURE__ */ M({
332
445
  name: "KrdsFormHint",
333
446
  props: {
334
447
  type: {
@@ -349,6 +462,7 @@ var Be = Object.defineProperty, tt = (e, a) => {
349
462
  }
350
463
  },
351
464
  emits: { click: (e) => !0 },
465
+ slots: Object,
352
466
  setup(e, { emit: a, slots: r }) {
353
467
  const l = (s) => {
354
468
  a("click", s);
@@ -376,7 +490,7 @@ var Be = Object.defineProperty, tt = (e, a) => {
376
490
  onClick: l
377
491
  }, r.default?.());
378
492
  }
379
- }), ct = dt, ft = /* @__PURE__ */ A({
493
+ }), mt = yt, bt = /* @__PURE__ */ M({
380
494
  name: "KrdsFormGroup",
381
495
  props: {
382
496
  class: {
@@ -392,8 +506,9 @@ var Be = Object.defineProperty, tt = (e, a) => {
392
506
  default: void 0
393
507
  }
394
508
  },
509
+ slots: Object,
395
510
  setup(e, { slots: a }) {
396
- const r = k(() => {
511
+ const r = C(() => {
397
512
  const l = ["form-group"];
398
513
  return e.class && l.push(e.class), l;
399
514
  });
@@ -403,43 +518,43 @@ var Be = Object.defineProperty, tt = (e, a) => {
403
518
  style: e.style
404
519
  }, a.default?.());
405
520
  }
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(() => {
521
+ }), kt = bt;
522
+ function St(e, a) {
523
+ const r = /* @__PURE__ */ new Date(), l = B(e || r.getFullYear()), n = B(a || r.getMonth() + 1), s = B(null), u = B(null), g = B(null), h = C(() => {
409
524
  const i = r.getFullYear(), o = [];
410
- for (let g = i - 10; g <= i + 10; g++) o.push(g);
525
+ for (let p = i - 10; p <= i + 10; p++) o.push(p);
411
526
  return o;
412
- }), C = k(() => Array.from({ length: 12 }, (i, o) => o + 1)), c = () => {
413
- s.value = null, d.value = null;
414
- }, _ = () => {
415
- n.value === 1 ? (n.value = 12, l.value -= 1) : n.value -= 1;
527
+ }), y = C(() => Array.from({ length: 12 }, (i, o) => o + 1)), c = () => {
528
+ s.value = null, u.value = null;
416
529
  }, S = () => {
530
+ n.value === 1 ? (n.value = 12, l.value -= 1) : n.value -= 1;
531
+ }, k = () => {
417
532
  n.value === 12 ? (n.value = 1, l.value += 1) : n.value += 1;
418
- }, D = (i, o = !1) => {
533
+ }, K = (i, o = !1) => {
419
534
  if (o)
420
- s.value = i, d.value = i;
421
- else if (!s.value || s.value && d.value)
422
- s.value = i, d.value = null;
535
+ s.value = i, u.value = i;
536
+ else if (!s.value || s.value && u.value)
537
+ s.value = i, u.value = null;
423
538
  else {
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;
539
+ const p = new Date(s.value.replace(/\./g, "-"));
540
+ new Date(i.replace(/\./g, "-")) < p ? (s.value = i, u.value = null) : u.value = i;
426
541
  }
427
542
  };
428
543
  return {
429
544
  currentYear: l,
430
545
  currentMonth: n,
431
546
  selectedStartDate: s,
432
- selectedEndDate: d,
433
- activeDateSelector: h,
434
- yearOptions: v,
435
- monthOptions: C,
547
+ selectedEndDate: u,
548
+ activeDateSelector: g,
549
+ yearOptions: h,
550
+ monthOptions: y,
436
551
  clearDateSelection: c,
437
- prevMonth: _,
438
- nextMonth: S,
439
- handleDateSelection: D,
552
+ prevMonth: S,
553
+ nextMonth: k,
554
+ handleDateSelection: K,
440
555
  selectToday: () => {
441
556
  const i = `${r.getFullYear()}.${String(r.getMonth() + 1).padStart(2, "0")}.${String(r.getDate()).padStart(2, "0")}`;
442
- D(i, !0);
557
+ K(i, !0);
443
558
  },
444
559
  isDateInSelectedRange: (i) => {
445
560
  if (!s.value) return {
@@ -448,43 +563,43 @@ function pt(e, a) {
448
563
  isEnd: !1
449
564
  };
450
565
  const o = i === s.value;
451
- if (!d.value) return {
566
+ if (!u.value) return {
452
567
  isInRange: o,
453
568
  isStart: o,
454
569
  isEnd: !1
455
570
  };
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;
571
+ const p = new Date(i.replace(/\./g, "-")), V = new Date(s.value.replace(/\./g, "-")), A = new Date(u.value.replace(/\./g, "-")), E = i === u.value;
457
572
  return {
458
- isInRange: g >= z && g <= T,
573
+ isInRange: p >= V && p <= A,
459
574
  isStart: o,
460
- isEnd: L
575
+ isEnd: E
461
576
  };
462
577
  }
463
578
  };
464
579
  }
465
- function gt(e, a, r = {}) {
580
+ function wt(e, a, r = {}) {
466
581
  let l = null;
467
- const { ignore: n, event: s = "click" } = typeof r == "string" ? { ignore: r } : r, d = () => {
468
- l = (v) => {
469
- const C = v.target;
470
- e.value?.contains(C) || n && C.closest(n) || a();
582
+ const { ignore: n, event: s = "click" } = typeof r == "string" ? { ignore: r } : r, u = () => {
583
+ l = (h) => {
584
+ const y = h.target;
585
+ e.value?.contains(y) || n && y.closest(n) || a();
471
586
  }, document.addEventListener(s, l);
472
- }, h = () => {
587
+ }, g = () => {
473
588
  if (l) {
474
- const v = typeof r == "string" ? "click" : r.event || "click";
475
- document.removeEventListener(v, l), l = null;
589
+ const h = typeof r == "string" ? "click" : r.event || "click";
590
+ document.removeEventListener(h, l), l = null;
476
591
  }
477
592
  };
478
- return ie(() => {
479
- d();
480
- }), fe(() => {
481
- h();
593
+ return te(() => {
594
+ u();
595
+ }), ie(() => {
596
+ g();
482
597
  }), {
483
- setupGlobalListeners: d,
484
- removeGlobalListeners: h
598
+ setupGlobalListeners: u,
599
+ removeGlobalListeners: g
485
600
  };
486
601
  }
487
- var ht = [
602
+ var Kt = [
488
603
  "일",
489
604
  "월",
490
605
  "화",
@@ -492,7 +607,7 @@ var ht = [
492
607
  "목",
493
608
  "금",
494
609
  "토"
495
- ], be = /* @__PURE__ */ new Set(), yt = /* @__PURE__ */ A({
610
+ ], ke = /* @__PURE__ */ new Set(), Ct = /* @__PURE__ */ M({
496
611
  name: "KrdsDateInput",
497
612
  props: {
498
613
  modelValue: {
@@ -564,79 +679,79 @@ var ht = [
564
679
  blur: (e) => !0
565
680
  },
566
681
  setup(e, { emit: a }) {
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 = {
682
+ const r = B(), l = B(), n = B(!1), s = B(null), u = B(!0), g = B(), h = B(!1);
683
+ te(() => h.value = !0);
684
+ const y = () => {
685
+ const w = l.value?.parentElement?.getBoundingClientRect();
686
+ w && (g.value = {
572
687
  position: "absolute",
573
- top: `${b.bottom + window.scrollY}px`,
574
- left: `${b.left + window.scrollX}px`,
575
- width: `${b.width}px`
688
+ top: `${w.bottom + window.scrollY}px`,
689
+ left: `${w.left + window.scrollX}px`,
690
+ width: `${w.width}px`
576
691
  });
577
692
  }, 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);
693
+ const w = l.value?.parentElement?.getBoundingClientRect(), F = r.value?.querySelector(".calendar-wrap");
694
+ if (!w || !F) return;
695
+ const R = w.top, ee = window.innerHeight - w.bottom;
696
+ u.value = R >= F.offsetHeight || R >= ee, e.teleport && y();
697
+ }, S = (w) => {
698
+ const F = w ? "addEventListener" : "removeEventListener";
699
+ window[F]("scroll", y, { capture: !0 }), window[F]("resize", y);
585
700
  };
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);
701
+ se(n, async (w) => {
702
+ e.teleport && S(w), w && (await pe(), c());
703
+ }), ie(() => S(!1));
704
+ const { currentYear: k, currentMonth: K, selectedStartDate: m, selectedEndDate: v, yearOptions: i, monthOptions: o, prevMonth: p, nextMonth: V, handleDateSelection: A, selectToday: E, isDateInSelectedRange: $ } = St(e.initialYear, e.initialMonth), x = () => {
705
+ n.value && l.value?.focus(), n.value = !1, s.value = null, ke.delete(x);
591
706
  };
592
- fe(() => be.delete(K)), gt(r, K, ".calendar-conts");
593
- const f = k(() => {
594
- const b = [
707
+ ie(() => ke.delete(x)), wt(r, x, ".calendar-conts");
708
+ const f = C(() => {
709
+ const w = [
595
710
  "krds-input",
596
711
  "datepicker",
597
712
  "cal"
598
713
  ];
599
- return e.size && b.push(e.size), e.class && b.push(e.class), b;
600
- }), B = k(() => ["form-conts", "calendar-conts"]), R = k(() => ({
714
+ return e.size && w.push(e.size), e.class && w.push(e.class), w;
715
+ }), D = C(() => ["form-conts", "calendar-conts"]), z = C(() => ({
601
716
  "krds-calendar-area": !0,
602
717
  active: n.value
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({
718
+ })), I = C(() => {
719
+ const w = k.value, F = K.value, R = new Date(w, F - 1, 1), ee = new Date(R);
720
+ ee.setDate(ee.getDate() - R.getDay());
721
+ const oe = [], X = new Date(ee);
722
+ for (let le = 0; le < 6; le++) {
723
+ const ye = [];
724
+ for (let me = 0; me < 7; me++) {
725
+ const we = `${X.getFullYear()}.${String(X.getMonth() + 1).padStart(2, "0")}.${String(X.getDate()).padStart(2, "0")}`, be = X.getDay();
726
+ ye.push({
612
727
  day: X.getDate(),
613
- dateString: Se,
614
- isCurrentMonth: X.getMonth() === M - 1,
728
+ dateString: we,
729
+ isCurrentMonth: X.getMonth() === F - 1,
615
730
  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
731
+ isPrevMonth: X < R,
732
+ isNextMonth: X.getMonth() !== F - 1 && X > R,
733
+ isSunday: be === 0,
734
+ isSaturday: be === 6
620
735
  }), X.setDate(X.getDate() + 1);
621
736
  }
622
- se.push(he);
737
+ oe.push(ye);
623
738
  }
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"));
739
+ return oe;
740
+ }), H = (w) => {
741
+ const F = [];
742
+ if (w.isPrevMonth && F.push("old"), w.isNextMonth && F.push("new"), w.isToday && F.push("today"), w.isSunday && F.push("day-off"), e.holidays?.includes(w.dateString) && F.push("day-off"), e.eventDates?.includes(w.dateString) && F.push("day-event"), w.isCurrentMonth) {
743
+ const R = $(w.dateString);
744
+ R.isInRange && (F.push("period"), R.isStart && F.push("start"), R.isEnd && F.push("end"));
630
745
  }
631
- return M;
632
- }, O = k(() => [
746
+ return F;
747
+ }, j = C(() => [
633
748
  {
634
749
  id: "get-today",
635
750
  label: "오늘",
636
751
  class: "text",
637
752
  variant: void 0,
638
753
  size: "small",
639
- handler: L
754
+ handler: E
640
755
  },
641
756
  {
642
757
  id: "cancel-btn",
@@ -644,7 +759,7 @@ var ht = [
644
759
  class: void 0,
645
760
  variant: "tertiary",
646
761
  size: "small",
647
- handler: K
762
+ handler: x
648
763
  },
649
764
  {
650
765
  id: "confirm-btn",
@@ -652,69 +767,69 @@ var ht = [
652
767
  class: void 0,
653
768
  variant: "primary",
654
769
  size: "small",
655
- handler: ne
770
+ handler: re
656
771
  }
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(() => {
772
+ ]), W = (w) => {
773
+ r.value?.querySelector(`.btn-cal-switch.${w}`)?.focus();
774
+ }, U = (w) => {
775
+ s.value === w ? s.value = null : s.value = w;
776
+ }, ce = (w) => {
777
+ k.value = w, s.value = null;
778
+ }, he = (w) => {
779
+ K.value = w, s.value = null;
780
+ }, re = () => {
781
+ m.value && (v.value && m.value !== v.value ? a("update:modelValue", `${m.value} ~ ${v.value}`) : a("update:modelValue", m.value), x());
782
+ }, Z = () => {
783
+ ke.forEach((w) => w()), ke.add(x), n.value = !0, s.value = null, setTimeout(() => {
669
784
  r.value?.querySelector(".calendar-wrap")?.focus();
670
785
  }, 50);
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;
786
+ }, fe = () => {
787
+ n.value ? x() : Z();
788
+ }, ae = (w) => {
789
+ w.code === "Escape" && (s.value ? s.value = null : n.value && x());
790
+ }, ve = (w) => {
791
+ const F = w.target;
792
+ a("update:modelValue", F.value), a("input", w);
793
+ }, ne = (w) => {
794
+ a("change", w);
795
+ }, P = (w) => {
796
+ a("focus", w);
797
+ }, O = (w) => {
798
+ a("blur", w);
799
+ }, Y = (w) => {
800
+ const F = w === "year", R = F ? i.value : o.value, ee = F ? k.value : K.value, oe = (le) => F ? `${le}년` : `${le.toString().padStart(2, "0")}월`, X = s.value === w;
686
801
  return t("div", { class: "calendar-drop-down" }, [t("button", {
687
802
  type: "button",
688
- class: `btn-cal-switch ${b}`,
689
- "aria-label": M ? "연도 선택" : "월 선택",
803
+ class: `btn-cal-switch ${w}`,
804
+ "aria-label": F ? "연도 선택" : "월 선택",
690
805
  "aria-expanded": X,
691
- onClick: () => U(b)
692
- }, se(J)), ke(t("div", { class: [
806
+ onClick: () => U(w)
807
+ }, oe(ee)), ge(t("div", { class: [
693
808
  "calendar-select",
694
- M ? "calendar-year-wrap" : "calendar-mon-wrap",
809
+ F ? "calendar-year-wrap" : "calendar-mon-wrap",
695
810
  { active: X }
696
- ] }, [t("ul", { class: `sel ${b}` }, I.map((te) => t("li", { key: te }, [t("button", {
811
+ ] }, [t("ul", { class: `sel ${w}` }, R.map((le) => t("li", { key: le }, [t("button", {
697
812
  type: "button",
698
- class: { active: te === J },
813
+ class: { active: le === ee },
699
814
  onClick: () => {
700
- M ? oe(te) : ge(te), j(b);
815
+ F ? ce(le) : he(le), W(w);
701
816
  }
702
- }, se(te))])))]), [[we, X]])]);
817
+ }, oe(le))])))]), [[Se, X]])]);
703
818
  }, 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
819
+ t("caption", null, `${k.value}년 ${K.value.toString().padStart(2, "0")}월`),
820
+ t("thead", null, [t("tr", null, Kt.map((w) => t("th", null, w)))]),
821
+ t("tbody", null, I.value.map((w, F) => t("tr", { key: F }, w.map((R, ee) => t("td", {
822
+ key: ee,
823
+ class: H(R),
824
+ "data-date": R.dateString
710
825
  }, [t("button", {
711
826
  type: "button",
712
827
  class: "btn-set-date",
713
- "aria-pressed": x(I.dateString).isInRange ? "true" : "false",
714
- onClick: () => T(I.dateString)
715
- }, [t("span", null, String(I.day))])])))))
828
+ "aria-pressed": $(R.dateString).isInRange ? "true" : "false",
829
+ onClick: () => A(R.dateString)
830
+ }, [t("span", null, String(R.day))])])))))
716
831
  ]);
717
- return () => t("div", { class: "form-conts" }, [t("div", { class: B.value }, [t("div", { class: "calendar-input" }, [t("input", {
832
+ return () => t("div", { class: "form-conts" }, [t("div", { class: D.value }, [t("div", { class: "calendar-input" }, [t("input", {
718
833
  id: e.id,
719
834
  name: e.name,
720
835
  class: f.value,
@@ -725,55 +840,55 @@ var ht = [
725
840
  required: e.required,
726
841
  autofocus: e.autofocus,
727
842
  type: "text",
728
- onInput: de,
729
- onChange: le,
843
+ onInput: ve,
844
+ onChange: ne,
730
845
  onFocus: P,
731
- onBlur: F
846
+ onBlur: O
732
847
  }), t("button", {
733
848
  ref: l,
734
849
  class: `krds-btn ${e.size || "medium"} icon form-btn-datepicker`,
735
850
  disabled: e.disabled,
736
851
  "aria-expanded": n.value,
737
852
  type: "button",
738
- onClick: ue
853
+ onClick: fe
739
854
  }, [t("span", { class: "sr-only" }, "달력 열기"), t("i", { class: "svg-icon ico-calendar" })])]), t(Ce, {
740
855
  to: "body",
741
- disabled: !(e.teleport && v.value)
856
+ disabled: !(e.teleport && h.value)
742
857
  }, [t("div", {
743
858
  ref: r,
744
- class: R.value,
745
- style: e.teleport ? h.value : void 0
746
- }, [ke(t("div", {
747
- class: ["calendar-wrap", { bottom: d.value }],
859
+ class: z.value,
860
+ style: e.teleport ? g.value : void 0
861
+ }, [ge(t("div", {
862
+ class: ["calendar-wrap", { bottom: u.value }],
748
863
  "aria-label": "달력",
749
864
  tabindex: "0",
750
- onKeydown: ee
865
+ onKeydown: ae
751
866
  }, [
752
867
  t("div", { class: "calendar-head" }, [
753
868
  t("button", {
754
869
  type: "button",
755
870
  class: "btn-cal-move prev",
756
- onClick: g
871
+ onClick: p
757
872
  }, [t("span", { class: "sr-only" }, "이전 달")]),
758
- t("div", { class: "calendar-switch-wrap" }, [G("year"), G("month")]),
873
+ t("div", { class: "calendar-switch-wrap" }, [Y("year"), Y("month")]),
759
874
  t("button", {
760
875
  type: "button",
761
876
  class: "btn-cal-move next",
762
- onClick: z
877
+ onClick: V
763
878
  }, [t("span", { class: "sr-only" }, "다음 달")])
764
879
  ]),
765
880
  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]])])])])]);
881
+ t("div", { class: "calendar-footer" }, [t("div", { class: "calendar-btn-wrap" }, j.value.map((w) => t(Fe, {
882
+ id: w.id,
883
+ key: w.id,
884
+ class: w.class,
885
+ variant: w.variant,
886
+ size: w.size,
887
+ onClick: w.handler
888
+ }, { default: () => w.label })))])
889
+ ]), [[Se, n.value]])])])])]);
775
890
  }
776
- }), mt = yt, bt = /* @__PURE__ */ A({
891
+ }), xt = Ct, $t = /* @__PURE__ */ M({
777
892
  name: "KrdsTextarea",
778
893
  props: {
779
894
  modelValue: {
@@ -851,31 +966,31 @@ var ht = [
851
966
  keyup: (e) => !0
852
967
  },
853
968
  setup(e, { emit: a }) {
854
- const r = E(0);
855
- re(() => e.modelValue, (p) => {
856
- r.value = (p || "").length;
969
+ const r = B(0);
970
+ se(() => e.modelValue, (v) => {
971
+ r.value = (v || "").length;
857
972
  }, { immediate: !0 });
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 = {
973
+ const l = C(() => {
974
+ const v = ["krds-input"];
975
+ return e.size && v.push(e.size), e.class && v.push(e.class), v;
976
+ }), n = C(() => {
977
+ const v = {};
978
+ return e.resize && (v.resize = e.resize), v;
979
+ }), s = (v) => {
980
+ const i = v.target.value;
981
+ r.value = i.length, a("update:modelValue", i), a("input", v);
982
+ }, u = (v) => {
983
+ a("change", v);
984
+ }, g = (v) => {
985
+ a("focus", v);
986
+ }, h = (v) => {
987
+ a("blur", v);
988
+ }, y = (v) => {
989
+ a("keydown", v);
990
+ }, c = (v) => {
991
+ a("keyup", v);
992
+ }, S = C(() => {
993
+ const v = {
879
994
  class: l.value,
880
995
  style: n.value,
881
996
  value: e.modelValue,
@@ -889,23 +1004,23 @@ var ht = [
889
1004
  rows: e.rows,
890
1005
  cols: e.cols,
891
1006
  onInput: s,
892
- onChange: d,
893
- onFocus: h,
894
- onBlur: v,
895
- onKeydown: C,
1007
+ onChange: u,
1008
+ onFocus: g,
1009
+ onBlur: h,
1010
+ onKeydown: y,
896
1011
  onKeyup: c
897
1012
  };
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 ? {
1013
+ return e.maxlength !== void 0 && (v.maxlength = e.maxlength), e.minlength !== void 0 && (v.minlength = e.minlength), v;
1014
+ }), k = C(() => ["form-conts"]), K = C(() => ["textarea-wrap"]), m = C(() => e.showCount ? {
900
1015
  current: r.value,
901
1016
  max: e.maxlength || ""
902
1017
  } : null);
903
1018
  return () => {
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)]);
1019
+ const v = [t("textarea", S.value)];
1020
+ return m.value && v.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: k.value }, [t("div", { class: K.value }, v)]);
906
1021
  };
907
1022
  }
908
- }), kt = bt, St = /* @__PURE__ */ A({
1023
+ }), Lt = $t, Bt = /* @__PURE__ */ M({
909
1024
  name: "KrdsSelect",
910
1025
  props: {
911
1026
  modelValue: {
@@ -966,18 +1081,19 @@ var ht = [
966
1081
  focus: (e) => !0,
967
1082
  blur: (e) => !0
968
1083
  },
1084
+ slots: Object,
969
1085
  setup(e, { emit: a, slots: r }) {
970
- const l = k(() => {
1086
+ const l = C(() => {
971
1087
  const c = [];
972
1088
  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;
973
1089
  }), n = (c) => {
974
- const _ = c.target;
975
- a("update:modelValue", _.value === "" ? null : _.value);
1090
+ const S = c.target;
1091
+ a("update:modelValue", S.value === "" ? null : S.value);
976
1092
  }, s = (c) => {
977
1093
  a("focus", c);
978
- }, d = (c) => {
1094
+ }, u = (c) => {
979
1095
  a("blur", c);
980
- }, h = k(() => ({
1096
+ }, g = C(() => ({
981
1097
  class: l.value,
982
1098
  value: e.modelValue ?? "",
983
1099
  title: e.title || e.placeholder,
@@ -986,30 +1102,30 @@ var ht = [
986
1102
  disabled: e.disabled || e.readonly,
987
1103
  onChange: n,
988
1104
  onFocus: s,
989
- onBlur: d
990
- })), v = k(() => {
1105
+ onBlur: u
1106
+ })), h = C(() => {
991
1107
  const c = ["form-conts"];
992
1108
  return e.state !== "default" && c.push(`is-${e.state}`), c;
993
- }), C = () => {
1109
+ }), y = () => {
994
1110
  const c = [];
995
1111
  return e.placeholder && !e.modelValue && c.push(t("option", {
996
1112
  value: "",
997
1113
  disabled: !0,
998
1114
  selected: !0
999
- }, e.placeholder)), e.options && e.options.length > 0 && e.options.forEach((_) => {
1115
+ }, e.placeholder)), e.options && e.options.length > 0 && e.options.forEach((S) => {
1000
1116
  c.push(t("option", {
1001
- value: _.value,
1002
- disabled: _.disabled,
1003
- selected: _.value === e.modelValue
1004
- }, _.label));
1117
+ value: S.value,
1118
+ disabled: S.disabled,
1119
+ selected: S.value === e.modelValue
1120
+ }, S.label));
1005
1121
  }), r.default && c.push(...r.default()), c;
1006
1122
  };
1007
1123
  return () => {
1008
- const c = t("select", h.value, C());
1009
- return e.sort ? c : t("div", { class: v.value }, [c]);
1124
+ const c = t("select", g.value, y());
1125
+ return e.sort ? c : t("div", { class: h.value }, [c]);
1010
1126
  };
1011
1127
  }
1012
- }), wt = St, Kt = 0, Ct = /* @__PURE__ */ A({
1128
+ }), Et = Bt, Dt = 0, Tt = /* @__PURE__ */ M({
1013
1129
  name: "KrdsFileUpload",
1014
1130
  props: {
1015
1131
  modelValue: {
@@ -1111,65 +1227,65 @@ var ht = [
1111
1227
  preview: (e) => !0
1112
1228
  },
1113
1229
  setup(e, { emit: a }) {
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) => {
1230
+ const r = B(!1), l = B(null), n = e.id ? `${e.id}-input` : `krds-file-upload-${++Dt}`, s = (f) => f < 1024 ? `${f}B` : f < 1048576 ? `${Math.round(f / 1024)}KB` : `${Number((f / 1048576).toFixed(1))}MB`, u = (f) => {
1231
+ const D = f.split(".");
1232
+ return D.length > 1 ? D.pop().toLowerCase() : "";
1233
+ }, g = (f) => {
1234
+ const D = u(f.name), z = D ? f.name.slice(0, -(D.length + 1)) : f.name;
1235
+ return D ? `${z} [${D}, ${s(f.size)}]` : `${f.name} [${s(f.size)}]`;
1236
+ }, h = () => `${Date.now()}-${Math.random().toString(36).slice(2, 11)}`, y = (f) => {
1121
1237
  if (e.maxFileSize && f.size >= e.maxFileSize) return `등록 가능한 파일 용량을 초과하였습니다.
1122
1238
  ${s(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
1123
1239
  if (e.accept) {
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 "허용되지 않는 파일 형식입니다.";
1240
+ const D = e.accept.split(",").map((H) => H.trim().toLowerCase()), z = `.${u(f.name)}`, I = f.type;
1241
+ if (!D.some((H) => H.startsWith(".") ? z === H : H.endsWith("/*") ? I.startsWith(H.replace("/*", "/")) : I === H)) return "허용되지 않는 파일 형식입니다.";
1126
1242
  }
1127
1243
  return null;
1128
1244
  }, c = (f) => {
1129
1245
  if (e.disabled || e.readonly) return;
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++;
1246
+ let D = [...e.modelValue || []];
1247
+ !e.multiple && D.length > 0 && (D = []);
1248
+ const z = [];
1249
+ let I = D.filter((j) => j.status !== "error").length;
1250
+ const H = e.multiple ? Array.from(f) : Array.from(f).slice(0, 1);
1251
+ for (const j of H) {
1252
+ if (I >= e.maxFiles) break;
1253
+ const W = y(j);
1254
+ W || I++;
1139
1255
  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
1256
+ id: h(),
1257
+ file: j,
1258
+ name: j.name,
1259
+ size: j.size,
1260
+ type: j.type,
1261
+ status: W ? "error" : "pending",
1262
+ errorMessage: W || void 0
1147
1263
  };
1148
- R.push(U), j ? a("file-error", U, j) : a("file-added", U);
1264
+ z.push(U), W ? a("file-error", U, W) : a("file-added", U);
1149
1265
  }
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 = "");
1266
+ z.length > 0 && a("update:modelValue", [...D, ...z]);
1154
1267
  }, S = (f) => {
1268
+ const D = f.target;
1269
+ D.files?.length && (c(D.files), D.value = "");
1270
+ }, k = (f) => {
1155
1271
  e.disabled || e.readonly || !e.dragAndDrop || (f.preventDefault(), r.value = !0);
1156
- }, D = () => {
1272
+ }, K = () => {
1157
1273
  r.value = !1;
1158
1274
  }, m = (f) => {
1159
1275
  f.preventDefault(), r.value = !1, !(e.disabled || e.readonly || !e.dragAndDrop) && f.dataTransfer?.files && c(f.dataTransfer.files);
1160
- }, p = () => {
1276
+ }, v = () => {
1161
1277
  e.disabled || e.readonly || l.value?.click();
1162
1278
  }, i = (f) => {
1163
- e.disabled || e.readonly || (a("update:modelValue", (e.modelValue || []).filter((B) => B.id !== f)), a("file-removed", f));
1279
+ e.disabled || e.readonly || (a("update:modelValue", (e.modelValue || []).filter((D) => D.id !== f)), a("file-removed", f));
1164
1280
  }, o = () => {
1165
1281
  e.disabled || e.readonly || (a("update:modelValue", []), a("clear-all"));
1166
- }, g = k(() => {
1282
+ }, p = C(() => {
1167
1283
  const f = ["krds-file-upload", "line"];
1168
1284
  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", {
1285
+ }), V = () => t("div", { class: "file-head" }, [t("h3", { class: "tit" }, e.title), t("div", null, [t("p", null, e.description)])]), A = () => t("div", {
1170
1286
  class: ["file-upload", { active: r.value }],
1171
- onDragover: S,
1172
- onDragleave: D,
1287
+ onDragover: k,
1288
+ onDragleave: K,
1173
1289
  onDrop: m
1174
1290
  }, [t("p", { class: "txt" }, e.placeholder), t("div", { class: "file-upload-btn-wrap" }, [t("input", {
1175
1291
  ref: l,
@@ -1179,64 +1295,64 @@ ${s(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
1179
1295
  hidden: !0,
1180
1296
  accept: e.accept || void 0,
1181
1297
  multiple: e.multiple,
1182
- onChange: _
1298
+ onChange: S
1183
1299
  }), t("label", { for: n }, [t("button", {
1184
1300
  type: "button",
1185
1301
  class: ["krds-btn", e.size],
1186
1302
  disabled: e.disabled || void 0,
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", {
1303
+ onClick: v
1304
+ }, [t("i", { class: "svg-icon ico-upload" }), "파일선택"])])])]), E = (f) => {
1305
+ const D = [];
1306
+ return f.status === "uploading" ? D.push(t("span", {
1191
1307
  class: "krds-spinner",
1192
1308
  role: "status"
1193
- }, [t("span", { class: "sr-only" }, "업로드 중")])) : f.downloadUrl ? (e.showDownload && B.push(t("button", {
1309
+ }, [t("span", { class: "sr-only" }, "업로드 중")])) : f.downloadUrl ? (e.showDownload && D.push(t("button", {
1194
1310
  type: "button",
1195
1311
  class: "krds-btn medium text",
1196
1312
  onClick: () => a("download", f)
1197
- }, ["다운로드 ", t("i", { class: "svg-icon ico-down" })])), e.showPreviewButton && B.push(t("button", {
1313
+ }, ["다운로드 ", t("i", { class: "svg-icon ico-down" })])), e.showPreviewButton && D.push(t("button", {
1198
1314
  type: "button",
1199
1315
  class: "krds-btn medium text",
1200
1316
  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", {
1317
+ }, ["바로보기 ", t("i", { class: "svg-icon ico-angle right" })]))) : f.status === "completed" ? D.push(t("span", { class: "ico-invalid complete" }, [t("em", { class: "sr-only" }, "업로드 완료")])) : e.readonly || D.push(t("button", {
1202
1318
  type: "button",
1203
1319
  class: "krds-btn medium text",
1204
1320
  disabled: e.disabled || void 0,
1205
1321
  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))])];
1322
+ }, ["삭제 ", t("i", { class: "svg-icon ico-delete-fill" })])), D;
1323
+ }, $ = (f) => {
1324
+ const D = [t("div", { class: f.downloadUrl ? "file-info m-column" : "file-info" }, [t("div", { class: "file-name" }, g(f)), t("div", { class: "btn-wrap" }, E(f))])];
1209
1325
  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));
1326
+ const z = f.errorMessage.split(`
1327
+ `), I = [];
1328
+ z.forEach((H, j) => {
1329
+ j > 0 && I.push(t("br")), I.push(H);
1330
+ }), D.push(t("p", { class: "file-hint-invalid" }, I));
1215
1331
  }
1216
1332
  return t("li", {
1217
1333
  key: f.id,
1218
1334
  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", {
1335
+ }, D);
1336
+ }, x = (f) => {
1337
+ const D = f.filter((I) => I.status !== "error").length, z = [t("div", { class: "total" }, [t("span", { class: "current" }, `${D}개`), ` / ${e.maxFiles}개`]), t("ul", { class: "upload-list" }, f.map($))];
1338
+ return e.showClearAll && !e.readonly && z.push(t("div", { class: "upload-delete-btn" }, [t("button", {
1223
1339
  type: "button",
1224
1340
  class: "krds-btn xsmall tertiary",
1225
1341
  disabled: e.disabled || void 0,
1226
1342
  onClick: o
1227
- }, ["전체 파일 삭제", t("i", { class: "svg-icon ico-angle right" })])])), t("div", { class: "file-list" }, R);
1343
+ }, ["전체 파일 삭제", t("i", { class: "svg-icon ico-angle right" })])])), t("div", { class: "file-list" }, z);
1228
1344
  };
1229
1345
  return () => {
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,
1346
+ const f = [V()];
1347
+ e.readonly || f.push(A());
1348
+ const D = e.modelValue || [];
1349
+ return D.length > 0 && f.push(x(D)), t("div", {
1350
+ class: p.value,
1235
1351
  style: e.style || void 0
1236
1352
  }, f);
1237
1353
  };
1238
1354
  }
1239
- }), xt = Ct, $t = /* @__PURE__ */ A({
1355
+ }), At = Tt, _t = /* @__PURE__ */ M({
1240
1356
  name: "KrdsBadge",
1241
1357
  props: {
1242
1358
  type: {
@@ -1261,8 +1377,9 @@ ${s(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
1261
1377
  }
1262
1378
  },
1263
1379
  emits: { click: (e) => !0 },
1380
+ slots: Object,
1264
1381
  setup(e, { emit: a, slots: r }) {
1265
- const l = k(() => {
1382
+ const l = C(() => {
1266
1383
  const s = ["krds-badge"];
1267
1384
  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;
1268
1385
  }), n = (s) => {
@@ -1277,7 +1394,7 @@ ${s(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
1277
1394
  onClick: n
1278
1395
  }, r.default?.());
1279
1396
  }
1280
- }), Lt = $t, Dt = /* @__PURE__ */ A({
1397
+ }), Mt = _t, Vt = /* @__PURE__ */ M({
1281
1398
  name: "KrdsTag",
1282
1399
  props: {
1283
1400
  link: {
@@ -1302,30 +1419,31 @@ ${s(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
1302
1419
  }
1303
1420
  },
1304
1421
  emits: { remove: (e) => !0 },
1422
+ slots: Object,
1305
1423
  setup(e, { emit: a, slots: r }) {
1306
- const l = k(() => {
1307
- const d = ["krds-btn-tag"];
1308
- return e.link && d.push("link"), e.class && d.push(e.class), d;
1309
- }), n = (d) => {
1310
- a("remove", d);
1424
+ const l = C(() => {
1425
+ const u = ["krds-btn-tag"];
1426
+ return e.link && u.push("link"), e.class && u.push(e.class), u;
1427
+ }), n = (u) => {
1428
+ a("remove", u);
1311
1429
  }, s = () => t("button", {
1312
1430
  type: "button",
1313
1431
  class: "btn-delete",
1314
1432
  onClick: n
1315
1433
  }, [t("span", { class: "sr-only" }, "삭제")]);
1316
1434
  return () => {
1317
- const d = [], h = r.default?.();
1318
- if (h && d.push(h), e.link || d.push(s()), e.link) {
1319
- const v = {
1435
+ const u = [], g = r.default?.();
1436
+ if (g && u.push(g), e.link || u.push(s()), e.link) {
1437
+ const h = {
1320
1438
  href: e.href,
1321
1439
  class: l.value
1322
1440
  };
1323
- return e.target && (v.target = e.target), e.rel && (v.rel = e.rel), t("a", v, d);
1441
+ return e.target && (h.target = e.target), e.rel && (h.rel = e.rel), t("a", h, u);
1324
1442
  }
1325
- return t("span", { class: l.value }, d);
1443
+ return t("span", { class: l.value }, u);
1326
1444
  };
1327
1445
  }
1328
- }), Bt = Dt, Et = /* @__PURE__ */ A({
1446
+ }), Ft = Vt, Pt = /* @__PURE__ */ M({
1329
1447
  name: "KrdsTagGroup",
1330
1448
  props: {
1331
1449
  size: {
@@ -1337,22 +1455,24 @@ ${s(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
1337
1455
  default: void 0
1338
1456
  }
1339
1457
  },
1458
+ slots: Object,
1340
1459
  setup(e, { slots: a }) {
1341
- const r = k(() => {
1460
+ const r = C(() => {
1342
1461
  const l = ["krds-tag-wrap"];
1343
1462
  return e.size && l.push(e.size), e.class && l.push(e.class), l;
1344
1463
  });
1345
1464
  return () => t("div", { class: r.value }, a.default?.());
1346
1465
  }
1347
- }), Tt = Et, _t = /* @__PURE__ */ A({
1466
+ }), Ot = Pt, zt = /* @__PURE__ */ M({
1348
1467
  name: "KrdsMasthead",
1349
1468
  props: { class: {
1350
1469
  type: String,
1351
1470
  default: void 0
1352
1471
  } },
1353
1472
  emits: { click: (e) => !0 },
1473
+ slots: Object,
1354
1474
  setup(e, { emit: a, slots: r }) {
1355
- const l = k(() => {
1475
+ const l = C(() => {
1356
1476
  const s = [""];
1357
1477
  return e.class && s.push(e.class), s;
1358
1478
  }), n = (s) => {
@@ -1364,17 +1484,17 @@ ${s(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
1364
1484
  onClick: n
1365
1485
  }, [t("div", { class: "toggle-wrap" }, [t("div", { class: "toggle-head" }, [t("div", { class: "inner" }, [t("span", { class: "nuri-txt" }, r.default?.())])])])]);
1366
1486
  }
1367
- }), At = _t, Mt = 0;
1368
- function nl(e = "krds") {
1369
- return `${e}-${++Mt}`;
1487
+ }), Rt = zt, It = 0;
1488
+ function cl(e = "krds") {
1489
+ return `${e}-${++It}`;
1370
1490
  }
1371
- function sl() {
1491
+ function fl() {
1372
1492
  return `${Date.now().toString(36).slice(-4)}${Math.random().toString(36).substring(2, 5)}`;
1373
1493
  }
1374
1494
  function $e(...e) {
1375
1495
  return e.filter(Boolean).join(" ");
1376
1496
  }
1377
- var Vt = /* @__PURE__ */ A({
1497
+ var Ht = /* @__PURE__ */ M({
1378
1498
  name: "KrdsToggleSwitch",
1379
1499
  props: {
1380
1500
  modelValue: {
@@ -1420,22 +1540,22 @@ var Vt = /* @__PURE__ */ A({
1420
1540
  change: (e) => !0
1421
1541
  },
1422
1542
  setup(e, { emit: a, attrs: r }) {
1423
- const l = `toggle-switch-${ce()}`, n = k(() => e.modelValue), s = k(() => $e("krds-form-toggle-switch", e.size, e.class)), d = (v) => {
1543
+ const l = `toggle-switch-${de()}`, n = C(() => e.modelValue), s = C(() => $e("krds-form-toggle-switch", e.size, e.class)), u = (h) => {
1424
1544
  if (e.disabled) return;
1425
- const C = v.target.checked;
1426
- a("update:modelValue", C), a("change", C);
1427
- }, h = k(() => e.id || l);
1545
+ const y = h.target.checked;
1546
+ a("update:modelValue", y), a("change", y);
1547
+ }, g = C(() => e.id || l);
1428
1548
  return () => t("div", { class: s.value }, [t("input", {
1429
1549
  type: "checkbox",
1430
- id: h.value,
1550
+ id: g.value,
1431
1551
  name: e.name,
1432
1552
  checked: n.value,
1433
1553
  disabled: e.disabled,
1434
- onChange: d,
1554
+ onChange: u,
1435
1555
  ...r
1436
- }), t("label", { for: h.value }, [t("span", { class: "switch-toggle" }, [t("i")]), e.label || ""])]);
1556
+ }), t("label", { for: g.value }, [t("span", { class: "switch-toggle" }, [t("i")]), e.label || ""])]);
1437
1557
  }
1438
- }), Pt = Vt, zt = /* @__PURE__ */ A({
1558
+ }), qt = Ht, Nt = /* @__PURE__ */ M({
1439
1559
  name: "KrdsCheckArea",
1440
1560
  props: {
1441
1561
  class: {
@@ -1447,13 +1567,14 @@ var Vt = /* @__PURE__ */ A({
1447
1567
  default: !1
1448
1568
  }
1449
1569
  },
1570
+ slots: Object,
1450
1571
  setup(e, { slots: a }) {
1451
1572
  return () => {
1452
1573
  const r = ["krds-check-area"];
1453
1574
  return e.column && r.push("chk-column"), e.class && r.push(e.class), t("div", { class: r }, a.default?.());
1454
1575
  };
1455
1576
  }
1456
- }), Ft = zt, Rt = /* @__PURE__ */ A({
1577
+ }), jt = Nt, Wt = /* @__PURE__ */ M({
1457
1578
  name: "KrdsCheckbox",
1458
1579
  props: {
1459
1580
  modelValue: {
@@ -1485,27 +1606,27 @@ var Vt = /* @__PURE__ */ A({
1485
1606
  emits: { "update:modelValue": (e) => !0 },
1486
1607
  slots: Object,
1487
1608
  setup(e, { emit: a, attrs: r, slots: l }) {
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) => {
1609
+ const n = `checkbox-${de()}`, s = C(() => e.modelValue), u = C(() => {
1610
+ const y = e.chip ? "krds-form-chip" : "krds-form-check";
1611
+ return $e(y, e.size, e.class);
1612
+ }), g = (y) => {
1492
1613
  if (e.disabled) return;
1493
- const c = C.target.checked;
1614
+ const c = y.target.checked;
1494
1615
  a("update:modelValue", c);
1495
- }, v = k(() => e.id || n);
1616
+ }, h = C(() => e.id || n);
1496
1617
  return () => {
1497
- const C = [t("input", {
1618
+ const y = [t("input", {
1498
1619
  type: "checkbox",
1499
- id: v.value,
1620
+ id: h.value,
1500
1621
  checked: s.value,
1501
1622
  disabled: e.disabled,
1502
- onChange: h,
1623
+ onChange: g,
1503
1624
  ...r
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);
1625
+ }), t("label", { for: h.value }, l.default?.())];
1626
+ return l.description && !e.chip && y.push(t("div", { class: "krds-form-check-cnt" }, t("p", { class: "krds-form-check-p" }, l.description()))), t("div", { class: u.value }, y);
1506
1627
  };
1507
1628
  }
1508
- }), It = Rt, Ht = /* @__PURE__ */ A({
1629
+ }), Yt = Wt, Gt = /* @__PURE__ */ M({
1509
1630
  name: "KrdsRadio",
1510
1631
  props: {
1511
1632
  modelValue: {
@@ -1553,27 +1674,27 @@ var Vt = /* @__PURE__ */ A({
1553
1674
  emits: { "update:modelValue": (e) => !0 },
1554
1675
  slots: Object,
1555
1676
  setup(e, { emit: a, attrs: r, slots: l }) {
1556
- const n = `radio-${ce()}`, s = k(() => e.modelValue === e.value), d = k(() => {
1677
+ const n = `radio-${de()}`, s = C(() => e.modelValue === e.value), u = C(() => {
1557
1678
  const c = e.chip ? "krds-form-chip" : "krds-form-check";
1558
1679
  return $e(c, e.size, e.class);
1559
- }), h = (c) => {
1680
+ }), g = (c) => {
1560
1681
  e.disabled || c.target.checked && a("update:modelValue", e.value);
1561
- }, v = k(() => e.id || n), C = k(() => e.name);
1682
+ }, h = C(() => e.id || n), y = C(() => e.name);
1562
1683
  return () => {
1563
1684
  const c = [t("input", {
1564
1685
  type: "radio",
1565
- id: v.value,
1566
- name: C.value,
1686
+ id: h.value,
1687
+ name: y.value,
1567
1688
  value: String(e.value),
1568
1689
  checked: s.value,
1569
1690
  disabled: e.disabled,
1570
- onChange: h,
1691
+ onChange: g,
1571
1692
  ...r
1572
- }), t("label", { for: v.value }, l.default?.())];
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);
1693
+ }), t("label", { for: h.value }, l.default?.())];
1694
+ 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: u.value }, c);
1574
1695
  };
1575
1696
  }
1576
- }), Nt = Ht, qt = Ve, Ot = /* @__PURE__ */ A({
1697
+ }), Ut = Gt, Xt = Pe, Qt = /* @__PURE__ */ M({
1577
1698
  name: "KrdsStepIndicator",
1578
1699
  props: {
1579
1700
  modelValue: {
@@ -1586,24 +1707,31 @@ var Vt = /* @__PURE__ */ A({
1586
1707
  }
1587
1708
  },
1588
1709
  emits: { "update:modelValue": (e) => !0 },
1710
+ slots: Object,
1589
1711
  setup(e, { slots: a }) {
1590
- const r = k(() => {
1591
- const h = ["krds-step-wrap"];
1592
- return e.class && h.push(e.class), h;
1593
- }), l = (h) => {
1594
- const v = e.modelValue || 0;
1595
- return h < v ? "done" : h === v ? "active" : "pending";
1596
- }, n = E(0), s = () => {
1597
- n.value = 0;
1598
- }, d = () => n.value++;
1599
- return et("stepIndicator", {
1600
- activeStep: k(() => e.modelValue || 0),
1601
- getStepStatus: l,
1602
- getNextStepIndex: d,
1603
- resetStepIndex: s
1604
- }), () => (s(), t("ol", { class: r.value }, a.default?.()));
1712
+ const r = B(null), l = C(() => e.modelValue || 0), n = st(null), s = /* @__PURE__ */ new WeakSet(), u = () => {
1713
+ n.value = r.value ? Array.from(r.value.children).filter((y) => s.has(y)) : null;
1714
+ };
1715
+ let g = 0, h;
1716
+ return te(() => {
1717
+ u(), h = new MutationObserver(u), h.observe(r.value, { childList: !0 });
1718
+ }), lt(u), ie(() => h?.disconnect()), nt("stepIndicator", {
1719
+ register: () => g++,
1720
+ track: (y) => s.add(y),
1721
+ untrack: (y) => {
1722
+ s.delete(y), u();
1723
+ },
1724
+ indexOf: (y, c) => {
1725
+ const S = y && n.value ? n.value.indexOf(y) : -1;
1726
+ return S >= 0 ? S : c;
1727
+ },
1728
+ statusAt: (y) => y < l.value ? "done" : y === l.value ? "active" : "pending"
1729
+ }), () => (g = 0, t("ol", {
1730
+ ref: r,
1731
+ class: ["krds-step-wrap", e.class]
1732
+ }, a.default?.()));
1605
1733
  }
1606
- }), Wt = Ot, Yt = /* @__PURE__ */ A({
1734
+ }), Jt = Qt, Zt = /* @__PURE__ */ M({
1607
1735
  name: "KrdsStep",
1608
1736
  props: {
1609
1737
  step: {
@@ -1624,27 +1752,31 @@ var Vt = /* @__PURE__ */ A({
1624
1752
  }
1625
1753
  },
1626
1754
  emits: { click: (e, a) => !0 },
1755
+ slots: Object,
1627
1756
  setup(e, { emit: a, slots: r }) {
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);
1757
+ const l = tt("stepIndicator", null), n = l ? l.register() : -1, s = B(null);
1758
+ te(() => s.value && l?.track(s.value)), ie(() => s.value && l?.untrack(s.value));
1759
+ const u = C(() => e.status || (l ? l.statusAt(l.indexOf(s.value, n)) : "pending")), g = C(() => {
1760
+ const y = [u.value];
1761
+ return e.class && y.push(e.class), y;
1762
+ }), h = (y) => {
1763
+ a("click", y, e.step);
1633
1764
  };
1634
1765
  return () => {
1635
- const v = s.value === "active";
1766
+ const y = u.value === "active";
1636
1767
  return t("li", {
1637
- class: d.value,
1768
+ ref: s,
1769
+ class: g.value,
1638
1770
  onClick: h
1639
1771
  }, [t("span", [
1640
- v && t("em", { class: "sr-only" }, "현재단계"),
1772
+ y && t("em", { class: "sr-only" }, "현재단계"),
1641
1773
  t("i", { class: "step" }, e.step),
1642
1774
  t("span", { class: "step-tit" }, e.title),
1643
1775
  r.default?.()
1644
1776
  ])]);
1645
1777
  };
1646
1778
  }
1647
- }), jt = Yt, Gt = /* @__PURE__ */ A({
1779
+ }), ea = Zt, ta = /* @__PURE__ */ M({
1648
1780
  name: "KrdsSkipLink",
1649
1781
  props: {
1650
1782
  href: {
@@ -1670,13 +1802,14 @@ var Vt = /* @__PURE__ */ A({
1670
1802
  default: "krds-skip-link"
1671
1803
  }
1672
1804
  },
1805
+ slots: Object,
1673
1806
  setup(e, { slots: a }) {
1674
1807
  return () => t("div", {
1675
1808
  id: e.id,
1676
1809
  class: e.class
1677
1810
  }, e.links ? e.links.map((r) => t("a", { href: r.href }, r.label)) : [t("a", { href: e.href }, a.default?.())]);
1678
1811
  }
1679
- }), Ut = Gt, Xt = /* @__PURE__ */ A({
1812
+ }), aa = ta, la = /* @__PURE__ */ M({
1680
1813
  name: "KrdsBreadcrumb",
1681
1814
  props: {
1682
1815
  items: {
@@ -1706,19 +1839,19 @@ var Vt = /* @__PURE__ */ A({
1706
1839
  class: "krds-breadcrumb-wrap",
1707
1840
  "aria-label": e.ariaLabel
1708
1841
  }, [t("ol", { class: "breadcrumb" }, e.items.map((n, s) => {
1709
- const d = s === 0 && e.showHomeIcon;
1842
+ const u = s === 0 && e.showHomeIcon;
1710
1843
  return t("li", {
1711
1844
  key: `breadcrumb-${s}`,
1712
- class: { home: d }
1845
+ class: { home: u }
1713
1846
  }, [t("a", {
1714
1847
  href: n.href || "#",
1715
1848
  class: "txt",
1716
1849
  "aria-current": r(s) ? "page" : void 0,
1717
- onClick: (h) => l(n, h)
1850
+ onClick: (g) => l(n, g)
1718
1851
  }, [t("span", null, n.text)])]);
1719
1852
  }))]);
1720
1853
  }
1721
- }), Qt = Xt, Jt = /* @__PURE__ */ A({
1854
+ }), na = la, sa = /* @__PURE__ */ M({
1722
1855
  name: "KrdsInPageNavigation",
1723
1856
  props: {
1724
1857
  title: {
@@ -1753,96 +1886,96 @@ var Vt = /* @__PURE__ */ A({
1753
1886
  emits: { itemClick: (e, a) => !0 },
1754
1887
  slots: Object,
1755
1888
  setup(e, { emit: a, slots: r }) {
1756
- const l = E(""), n = E(/* @__PURE__ */ new Map()), s = k(() => {
1889
+ const l = B(""), n = B(/* @__PURE__ */ new Map()), s = C(() => {
1757
1890
  const m = ["krds-in-page-navigation-type"];
1758
1891
  return e.class && m.push(e.class), m;
1759
- }), d = () => {
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();
1892
+ }), u = () => {
1893
+ const m = e.headerTopSelector, v = e.headerInnerSelector;
1894
+ return (document.querySelector(m)?.clientHeight || 0) + (document.querySelector(v)?.clientHeight || 0);
1895
+ }, g = (m, v) => {
1896
+ if (a("itemClick", m, v), m.href.startsWith("#")) {
1897
+ v.preventDefault();
1765
1898
  const i = document.querySelector(m.href);
1766
1899
  if (i) {
1767
- const o = d();
1900
+ const o = u();
1768
1901
  if (window.scrollTo({
1769
1902
  left: 0,
1770
1903
  top: i.getBoundingClientRect().top + window.scrollY - o,
1771
1904
  behavior: "smooth"
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 }));
1905
+ }), l.value = m.href, v instanceof KeyboardEvent) {
1906
+ const p = i.querySelector(".sec-tit, h1, h2, h3, h4, h5, h6");
1907
+ p && p instanceof HTMLElement && (p.setAttribute("tabindex", "-1"), p.focus({ preventScroll: !0 }));
1775
1908
  }
1776
1909
  }
1777
1910
  }
1778
- }, v = () => {
1911
+ }, h = () => {
1779
1912
  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);
1913
+ const v = document.querySelector(m.href);
1914
+ v && n.value.set(m.href, v);
1782
1915
  });
1783
- }, C = () => {
1916
+ }, y = () => {
1784
1917
  if (!e.autoActive || !e.items || n.value.size === 0) return;
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
1918
+ const m = window.innerHeight, v = Math.ceil(m / 5), i = window.scrollY + m, o = document.body.scrollHeight, p = e.items.filter((x) => x.href.startsWith("#") && n.value.has(x.href)).map((x) => ({
1919
+ href: x.href,
1920
+ element: n.value.get(x.href),
1921
+ item: x
1789
1922
  }));
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;
1923
+ if (p.length === 0) return;
1924
+ const V = p[0], A = p[p.length - 1], E = V.element.offsetTop;
1925
+ let $ = "";
1926
+ if (i >= o) $ = A.href;
1927
+ else if (window.scrollY <= E) $ = V.href;
1928
+ else for (const x of p) {
1929
+ const f = x.element.offsetHeight, D = x.element.offsetTop - v;
1930
+ if (window.scrollY > D && window.scrollY <= D + f) {
1931
+ $ = x.href;
1799
1932
  break;
1800
1933
  }
1801
1934
  }
1802
- x && x !== l.value && (l.value = x);
1935
+ $ && $ !== l.value && (l.value = $);
1803
1936
  }, c = () => {
1804
1937
  if (!e.items) return;
1805
- const m = e.items.find((p) => p.active);
1938
+ const m = e.items.find((v) => v.active);
1806
1939
  m ? l.value = m.href : e.items.length > 0 && (l.value = e.items[0].href);
1807
1940
  };
1808
- ie(() => {
1941
+ te(() => {
1809
1942
  if (c(), e.autoActive) {
1810
- v(), C(), window.addEventListener("scroll", C, { passive: !0 });
1943
+ h(), y(), window.addEventListener("scroll", y, { passive: !0 });
1811
1944
  const m = new MutationObserver(() => {
1812
- v();
1945
+ h();
1813
1946
  });
1814
1947
  m.observe(document.body, {
1815
1948
  childList: !0,
1816
1949
  subtree: !0
1817
- }), ve(() => {
1950
+ }), ue(() => {
1818
1951
  m.disconnect();
1819
1952
  });
1820
1953
  }
1821
- }), ve(() => {
1822
- e.autoActive && (window.removeEventListener("scroll", C), n.value.clear());
1954
+ }), ue(() => {
1955
+ e.autoActive && (window.removeEventListener("scroll", y), n.value.clear());
1823
1956
  });
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 = () => {
1957
+ const S = () => !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)]), k = () => {
1825
1958
  if (!e.items) return null;
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,
1959
+ const m = e.items.map((v) => {
1960
+ const i = l.value === v.href || !e.autoActive && v.active;
1961
+ return t("li", { key: v.href }, [t("a", {
1962
+ href: v.href,
1830
1963
  class: i ? "active" : "",
1831
- onClick: (o) => h(p, o),
1964
+ onClick: (o) => g(v, o),
1832
1965
  onKeydown: (o) => {
1833
- (o.key === "Enter" || o.key === " ") && (o.preventDefault(), h(p, o));
1966
+ (o.key === "Enter" || o.key === " ") && (o.preventDefault(), g(v, o));
1834
1967
  }
1835
- }, p.text)]);
1968
+ }, v.text)]);
1836
1969
  });
1837
1970
  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;
1971
+ }, K = () => r.action ? t("div", { class: "in-page-navigation-action" }, [r.action()]) : null;
1839
1972
  return () => t("div", { class: s.value }, [t("div", { class: "krds-in-page-navigation-area" }, [
1840
- _(),
1841
1973
  S(),
1842
- D()
1974
+ k(),
1975
+ K()
1843
1976
  ].filter(Boolean))]);
1844
1977
  }
1845
- }), Zt = Jt, Pe = {
1978
+ }), ra = sa, Oe = {
1846
1979
  mounted(e, a) {
1847
1980
  a.value !== !1 && e.classList.add("sr-only");
1848
1981
  },
@@ -1852,9 +1985,9 @@ var Vt = /* @__PURE__ */ A({
1852
1985
  unmounted(e) {
1853
1986
  e.classList.remove("sr-only");
1854
1987
  }
1855
- }, ea = (e) => {
1856
- e.directive("sr-only", Pe);
1857
- }, Ee = 1, Te = 8, ta = /* @__PURE__ */ A({
1988
+ }, oa = (e) => {
1989
+ e.directive("sr-only", Oe);
1990
+ }, Te = 1, Ae = 8, ia = /* @__PURE__ */ M({
1858
1991
  name: "KrdsPagination",
1859
1992
  props: {
1860
1993
  modelValue: {
@@ -1863,7 +1996,7 @@ var Vt = /* @__PURE__ */ A({
1863
1996
  },
1864
1997
  min: {
1865
1998
  type: Number,
1866
- default: Ee
1999
+ default: Te
1867
2000
  },
1868
2001
  max: {
1869
2002
  type: Number,
@@ -1879,49 +2012,49 @@ var Vt = /* @__PURE__ */ A({
1879
2012
  },
1880
2013
  pageRange: {
1881
2014
  type: Number,
1882
- default: Te
2015
+ default: Ae
1883
2016
  }
1884
2017
  },
1885
2018
  emits: { "update:modelValue": (e) => !0 },
1886
2019
  setup(e, { emit: a }) {
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(() => {
2020
+ const r = C(() => Math.max(1, e.min ?? Te)), l = C(() => e.modelValue ?? r.value), n = C(() => l.value <= r.value), s = C(() => l.value >= e.max), u = C(() => {
1888
2021
  if (!n.value)
1889
2022
  return "#";
1890
- }), h = k(() => {
2023
+ }), g = C(() => {
1891
2024
  if (!s.value)
1892
2025
  return "#";
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({
2026
+ }), h = C(() => {
2027
+ const { max: K } = e, m = e.pageRange ?? Ae, v = 1, i = [];
2028
+ if (K <= m + 2) for (let o = r.value; o <= K; o++) i.push({
1896
2029
  type: "page",
1897
2030
  key: `page-${o}`,
1898
2031
  page: o,
1899
2032
  href: "#"
1900
2033
  });
1901
2034
  else {
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);
2035
+ const o = Math.min(v, K), p = Math.max(K - v + 1, 1), V = Math.max(r.value, l.value - Math.floor(m / 2)), A = Math.min(K, V + m - 1), E = Math.max(r.value, A - m + 1);
1903
2036
  for (let f = r.value; f <= o; f++) i.push({
1904
2037
  type: "page",
1905
2038
  key: `page-${f}`,
1906
2039
  page: f,
1907
2040
  href: "#"
1908
2041
  });
1909
- L > o + 1 && i.push({
2042
+ E > o + 1 && i.push({
1910
2043
  type: "ellipsis",
1911
2044
  key: "ellipsis-left"
1912
2045
  });
1913
- const x = Math.max(L, o + 1), K = Math.min(T, g - 1);
1914
- for (let f = x; f <= K; f++) i.push({
2046
+ const $ = Math.max(E, o + 1), x = Math.min(A, p - 1);
2047
+ for (let f = $; f <= x; f++) i.push({
1915
2048
  type: "page",
1916
2049
  key: `page-${f}`,
1917
2050
  page: f,
1918
2051
  href: "#"
1919
2052
  });
1920
- T < g - 1 && i.push({
2053
+ A < p - 1 && i.push({
1921
2054
  type: "ellipsis",
1922
2055
  key: "ellipsis-right"
1923
2056
  });
1924
- for (let f = g; f <= D; f++) i.push({
2057
+ for (let f = p; f <= K; f++) i.push({
1925
2058
  type: "page",
1926
2059
  key: `page-${f}`,
1927
2060
  page: f,
@@ -1929,37 +2062,37 @@ var Vt = /* @__PURE__ */ A({
1929
2062
  });
1930
2063
  }
1931
2064
  return i;
1932
- }), C = (D, m) => {
1933
- if (D === l.value) {
2065
+ }), y = (K, m) => {
2066
+ if (K === l.value) {
1934
2067
  m.preventDefault();
1935
2068
  return;
1936
2069
  }
1937
- a("update:modelValue", D);
1938
- }, c = (D) => {
2070
+ a("update:modelValue", K);
2071
+ }, c = (K) => {
1939
2072
  if (n.value) {
1940
- D.preventDefault();
2073
+ K.preventDefault();
1941
2074
  return;
1942
2075
  }
1943
2076
  a("update:modelValue", l.value - 1);
1944
- }, _ = (D) => {
2077
+ }, S = (K) => {
1945
2078
  if (s.value) {
1946
- D.preventDefault();
2079
+ K.preventDefault();
1947
2080
  return;
1948
2081
  }
1949
2082
  a("update:modelValue", l.value + 1);
1950
- }, S = (D) => {
1951
- if (D.type === "page") {
1952
- const m = D.page === l.value;
2083
+ }, k = (K) => {
2084
+ if (K.type === "page") {
2085
+ const m = K.page === l.value;
1953
2086
  return t("a", {
1954
- key: D.key,
1955
- href: D.href || "#",
2087
+ key: K.key,
2088
+ href: K.href || "#",
1956
2089
  class: ["page-link", { active: m }],
1957
2090
  "aria-current": m ? "page" : void 0,
1958
- onClick: (p) => C(D.page, p)
1959
- }, [m ? ke(t("span", null, "현재페이지"), [[Pe]]) : null, ` ${D.page} `]);
2091
+ onClick: (v) => y(K.page, v)
2092
+ }, [m ? ge(t("span", null, "현재페이지"), [[Oe]]) : null, ` ${K.page} `]);
1960
2093
  }
1961
2094
  return t("span", {
1962
- key: D.key,
2095
+ key: K.key,
1963
2096
  class: "page-link link-dot"
1964
2097
  });
1965
2098
  };
@@ -1968,7 +2101,7 @@ var Vt = /* @__PURE__ */ A({
1968
2101
  class: "krds-pagination"
1969
2102
  }, [
1970
2103
  t(n.value ? "span" : "a", {
1971
- href: n.value ? void 0 : d.value,
2104
+ href: n.value ? void 0 : u.value,
1972
2105
  class: [
1973
2106
  "page-navi",
1974
2107
  "prev",
@@ -1976,37 +2109,68 @@ var Vt = /* @__PURE__ */ A({
1976
2109
  ],
1977
2110
  onClick: c
1978
2111
  }, "이전"),
1979
- t("div", { class: "page-links" }, v.value.map(S)),
2112
+ t("div", { class: "page-links" }, h.value.map(k)),
1980
2113
  t(s.value ? "span" : "a", {
1981
- href: s.value ? void 0 : h.value,
2114
+ href: s.value ? void 0 : g.value,
1982
2115
  class: [
1983
2116
  "page-navi",
1984
2117
  "next",
1985
2118
  { disabled: s.value }
1986
2119
  ],
1987
- onClick: _
2120
+ onClick: S
1988
2121
  }, "다음")
1989
2122
  ]);
1990
2123
  }
1991
- }), aa = ta, la = /* @__PURE__ */ A({
2124
+ }), ua = ia, _e = null, da = /* @__PURE__ */ M({
1992
2125
  name: "KrdsPanel",
1993
- props: { modelValue: {
1994
- type: Boolean,
1995
- default: !1
1996
- } },
2126
+ props: {
2127
+ modelValue: {
2128
+ type: Boolean,
2129
+ default: !1
2130
+ },
2131
+ headerTopSelector: {
2132
+ type: String,
2133
+ default: "#krds-masthead"
2134
+ },
2135
+ headerInnerSelector: {
2136
+ type: String,
2137
+ default: "#krds-header .header-in"
2138
+ }
2139
+ },
1997
2140
  emits: { "update:modelValue": (e) => !0 },
2141
+ slots: Object,
1998
2142
  setup(e, { emit: a, slots: r }) {
1999
- const l = k({
2143
+ const l = C({
2000
2144
  get: () => e.modelValue,
2001
- set: (d) => a("update:modelValue", d)
2145
+ set: (S) => a("update:modelValue", S)
2002
2146
  }), n = () => {
2003
2147
  l.value = !0;
2004
2148
  }, s = () => {
2005
2149
  l.value = !1;
2150
+ }, u = B(0), g = B(null), h = /* @__PURE__ */ Symbol("KrdsPanel");
2151
+ let y = 0;
2152
+ const c = () => {
2153
+ cancelAnimationFrame(y), y = requestAnimationFrame(() => {
2154
+ const S = document.querySelector(e.headerTopSelector), k = document.querySelector(e.headerInnerSelector), K = !!S && S.getBoundingClientRect().bottom > 0, m = !!document.querySelector(".g-wrap.scroll-down");
2155
+ u.value = k ? K ? S.offsetHeight + k.offsetHeight : m ? 0 : k.offsetHeight : 0;
2156
+ const v = g.value;
2157
+ if (!v?.isConnected) return;
2158
+ const i = parseFloat(getComputedStyle(v).top) + u.value + v.offsetHeight;
2159
+ Number.isFinite(i) && (document.documentElement.style.setProperty("--krds-help-panel--button-bottom", `${i}px`), _e = h);
2160
+ });
2006
2161
  };
2007
- return () => t("div", { class: "inner help-panel-flexible" }, [t("button", {
2162
+ return te(() => {
2163
+ c(), window.addEventListener("scroll", c, { passive: !0 }), window.addEventListener("resize", c);
2164
+ }), at(c), ue(() => {
2165
+ cancelAnimationFrame(y), _e === h && document.documentElement.style.removeProperty("--krds-help-panel--button-bottom"), window.removeEventListener("scroll", c), window.removeEventListener("resize", c);
2166
+ }), () => t("div", {
2167
+ class: "inner help-panel-flexible",
2168
+ style: { "--krds-help-panel--header-offset": `${u.value}px` }
2169
+ }, [t("button", {
2170
+ ref: g,
2008
2171
  type: "button",
2009
2172
  class: "krds-btn small tertiary btn-help-panel expand btn-help-exec",
2173
+ onTransitionend: c,
2010
2174
  onClick: n
2011
2175
  }, [t("i", { class: "svg-icon ico-fold" }), " 도움말"]), t("div", { class: ["krds-help-panel", { expand: l.value }] }, [t("div", { class: "help-panel-wrap" }, [t("div", { class: "help-conts-area" }, [r.default?.(), t("button", {
2012
2176
  type: "button",
@@ -2018,7 +2182,7 @@ var Vt = /* @__PURE__ */ A({
2018
2182
  t("i", { class: "svg-icon ico-angle right" })
2019
2183
  ])])])])]);
2020
2184
  }
2021
- }), na = la, sa = /* @__PURE__ */ A({
2185
+ }), ca = da, fa = /* @__PURE__ */ M({
2022
2186
  name: "KrdsContextualHelp",
2023
2187
  props: {
2024
2188
  tooltipTitle: {
@@ -2034,40 +2198,41 @@ var Vt = /* @__PURE__ */ A({
2034
2198
  default: "top left"
2035
2199
  }
2036
2200
  },
2201
+ slots: Object,
2037
2202
  setup(e, { slots: a }) {
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 = () => {
2044
- !n.value || !l.value || (d.value = !1, n.value.style.display = "none", l.value.setAttribute("aria-expanded", "false"));
2203
+ const r = B(), l = B(), n = B(), s = B(), u = B(!1), g = () => {
2204
+ const v = u.value;
2205
+ c(), v || h();
2206
+ }, h = () => {
2207
+ !n.value || !l.value || (u.value = !0, n.value.style.display = "block", l.value.setAttribute("aria-expanded", "true"), n.value.querySelector('a, button, [tabindex="0"], input, textarea, select')?.focus(), S());
2208
+ }, y = () => {
2209
+ !n.value || !l.value || (u.value = !1, n.value.style.display = "none", l.value.setAttribute("aria-expanded", "false"));
2045
2210
  }, c = () => {
2046
- const p = document.querySelectorAll(".krds-contextual-help .tooltip-popover"), i = document.querySelectorAll(".krds-contextual-help .tooltip-btn");
2047
- p.forEach((o) => {
2211
+ const v = document.querySelectorAll(".krds-contextual-help .tooltip-popover"), i = document.querySelectorAll(".krds-contextual-help .tooltip-btn");
2212
+ v.forEach((o) => {
2048
2213
  o.style.display = "none";
2049
2214
  }), i.forEach((o) => {
2050
2215
  o.setAttribute("aria-expanded", "false");
2051
- }), d.value = !1;
2052
- }, _ = () => {
2216
+ }), u.value = !1;
2217
+ }, S = () => {
2053
2218
  if (!r.value || !n.value) return;
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`;
2219
+ const v = window.innerWidth <= 768, i = r.value.querySelector(".tooltip-action");
2220
+ if (v) {
2221
+ const o = getComputedStyle(document.querySelector(":root")).getPropertyValue("--krds-contents-padding-x").trim().split("px")[0], p = i.getBoundingClientRect().left - parseInt(o), V = document.body.clientWidth - parseInt(o) * 2;
2222
+ n.value.style.left = `-${p}px`, n.value.style.width = `${V}px`;
2058
2223
  } else
2059
2224
  n.value.style.left = "", n.value.style.right = "", n.value.style.width = "360px";
2060
- }, S = (p) => {
2061
- (p.key === "Escape" || p.key === "Esc") && c();
2062
- }, D = (p) => {
2063
- p.target.closest(".tooltip-action") || c();
2225
+ }, k = (v) => {
2226
+ (v.key === "Escape" || v.key === "Esc") && c();
2227
+ }, K = (v) => {
2228
+ v.target.closest(".tooltip-action") || c();
2064
2229
  }, m = () => {
2065
- d.value && _();
2230
+ u.value && S();
2066
2231
  };
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);
2232
+ return te(() => {
2233
+ r.value && (l.value && l.value.setAttribute("aria-expanded", "false"), n.value && n.value.setAttribute("role", "tooltip"), document.addEventListener("keydown", k), document.addEventListener("click", K), window.addEventListener("resize", m));
2234
+ }), ue(() => {
2235
+ document.removeEventListener("keydown", k), document.removeEventListener("click", K), window.removeEventListener("resize", m);
2071
2236
  }), () => t("div", {
2072
2237
  ref: r,
2073
2238
  class: ["krds-contextual-help", e.position]
@@ -2075,7 +2240,7 @@ var Vt = /* @__PURE__ */ A({
2075
2240
  ref: l,
2076
2241
  type: "button",
2077
2242
  class: "krds-btn medium icon tooltip-btn",
2078
- onClick: h
2243
+ onClick: g
2079
2244
  }, [t("span", { class: "sr-only" }, "도움말"), e.helpIcon ? t("i", { class: "svg-icon ico-help" }) : t("i", { class: "svg-icon ico-tooltip" })]), t("div", {
2080
2245
  ref: n,
2081
2246
  class: "tooltip-popover",
@@ -2087,11 +2252,11 @@ var Vt = /* @__PURE__ */ A({
2087
2252
  ref: s,
2088
2253
  type: "button",
2089
2254
  class: "krds-btn xsmall icon tooltip-close",
2090
- onClick: C
2255
+ onClick: y
2091
2256
  }, [t("span", { class: "sr-only" }, "닫기"), t("i", { class: "svg-icon ico-modal-close" })])
2092
2257
  ])])]);
2093
2258
  }
2094
- }), ra = sa, ia = /* @__PURE__ */ A({
2259
+ }), va = fa, pa = /* @__PURE__ */ M({
2095
2260
  name: "KrdsCoachMark",
2096
2261
  props: {
2097
2262
  coachMarkClass: {
@@ -2119,22 +2284,23 @@ var Vt = /* @__PURE__ */ A({
2119
2284
  "update:modelValue": (e) => !0,
2120
2285
  close: () => !0
2121
2286
  },
2287
+ slots: Object,
2122
2288
  setup(e, { emit: a, slots: r }) {
2123
- const l = k(() => {
2124
- const v = e.activeStep - 1;
2125
- return e.stepsData && v >= 0 && v < e.stepsData.length ? e.stepsData[v] : null;
2289
+ const l = C(() => {
2290
+ const h = e.activeStep - 1;
2291
+ return e.stepsData && h >= 0 && h < e.stepsData.length ? e.stepsData[h] : null;
2126
2292
  }), n = () => {
2127
2293
  e.activeStep > 1 && a("update:modelValue", e.activeStep - 1);
2128
2294
  }, s = () => {
2129
2295
  e.activeStep < e.stepsData.length && a("update:modelValue", e.activeStep + 1);
2130
- }, d = () => {
2296
+ }, u = () => {
2131
2297
  a("close");
2132
- }, h = () => {
2133
- const v = l.value;
2134
- return e.modelValue !== e.activeStep || !v ? null : t("div", { class: "coach-balloon" }, [
2298
+ }, g = () => {
2299
+ const h = l.value;
2300
+ return e.modelValue !== e.activeStep || !h ? null : t("div", { class: "coach-balloon" }, [
2135
2301
  t("h5", { class: "sr-only" }, "따라하기 가이드"),
2136
- t("h6", { class: "coach-tit" }, `${e.activeStep}단계 : ${v.title}`),
2137
- t("p", { class: "desc" }, v.description),
2302
+ t("h6", { class: "coach-tit" }, `${e.activeStep}단계 : ${h.title}`),
2303
+ t("p", { class: "desc" }, h.description),
2138
2304
  t("div", { class: "coach-controls" }, [t("div", { class: "num" }, [
2139
2305
  t("span", { class: "sr-only" }, "현재 단계"),
2140
2306
  t("strong", null, String(e.activeStep)),
@@ -2144,7 +2310,7 @@ var Vt = /* @__PURE__ */ A({
2144
2310
  t("button", {
2145
2311
  type: "button",
2146
2312
  class: "krds-btn small text",
2147
- onClick: d
2313
+ onClick: u
2148
2314
  }, "그만보기"),
2149
2315
  e.activeStep !== 1 ? t("button", {
2150
2316
  type: "button",
@@ -2162,9 +2328,9 @@ var Vt = /* @__PURE__ */ A({
2162
2328
  return () => t("div", {
2163
2329
  class: ["krds-coach-mark", e.coachMarkClass],
2164
2330
  style: e.style
2165
- }, [h(), r["coach-mark-content"]?.()]);
2331
+ }, [g(), r["coach-mark-content"]?.()]);
2166
2332
  }
2167
- }), oa = ia, ua = /* @__PURE__ */ A({
2333
+ }), ha = pa, ga = /* @__PURE__ */ M({
2168
2334
  name: "KrdsTooltip",
2169
2335
  props: {
2170
2336
  type: {
@@ -2188,55 +2354,56 @@ var Vt = /* @__PURE__ */ A({
2188
2354
  default: !1
2189
2355
  }
2190
2356
  },
2357
+ slots: Object,
2191
2358
  setup(e, { slots: a }) {
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 = () => {
2359
+ const r = B(null), l = B(null), n = B(!1), s = B({}), u = `tooltip-popover-${de()}`, g = B(!1), h = C(() => {
2360
+ const p = ["krds-btn", "krds-tooltip"];
2361
+ return e.type === "default" ? p.push("small", "text") : e.type === "icon" ? p.push("icon") : e.type === "button" && p.push(""), !e.box && e.vertical && p.push("tooltip-vertical"), e.box && !e.vertical && p.push("tooltip-box"), p.join(" ");
2362
+ }), y = C(() => {
2363
+ const p = [];
2364
+ return e.box && p.push("tooltip-box"), e.vertical && p.push("tooltip-vertical"), n.value && p.push("active"), p;
2365
+ }), c = C(() => r.value?.querySelector("button")?.textContent?.trim() || ""), S = () => window.innerWidth <= 768, k = () => {
2199
2366
  if (!r.value || !l.value) return;
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;
2367
+ const p = r.value.querySelector("button");
2368
+ if (!p) return;
2369
+ const V = 12, { clientHeight: A, clientWidth: E } = l.value, { top: $, left: x, right: f, height: D, width: z } = p.getBoundingClientRect(), I = window.innerWidth / 2, H = window.innerHeight / 2;
2370
+ let j, W;
2204
2371
  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;
2372
+ g.value || e.box || e.vertical ? ($ + D > H ? (j = $ - A - V, U.push("top")) : (j = $ + D + V, U.push("bottom")), x + z > I ? (W = f - E, U.push("right"), window.innerWidth - (x + z) > E / 2 && (W = x + (z - E) / 2, U.splice(U.indexOf("right"), 1))) : (W = x + (z - E) / 2, W < 0 && (W = x, U.push("left")))) : (j = $ + (D - A) / 2, x + z > I ? (W = x - E - V, U.push("right")) : W = f + V);
2373
+ const ce = window.innerWidth <= 420;
2207
2374
  s.value = {
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());
2375
+ top: `${j}px`,
2376
+ left: ce ? "50%" : `${W}px`,
2377
+ transform: ce ? "translateX(-50%)" : "none"
2378
+ }, l.value && (l.value.className = `krds-tooltip-popover ${U.join(" ")} ${y.value.join(" ")}`);
2379
+ }, K = async () => {
2380
+ e.disabled || !e.tooltipContent || (n.value = !0, await pe(), k());
2214
2381
  }, m = () => {
2215
2382
  n.value = !1, s.value = {};
2216
- }, p = (g) => {
2217
- (g.key === "Escape" || g.key === "Esc") && n.value && m();
2383
+ }, v = (p) => {
2384
+ (p.key === "Escape" || p.key === "Esc") && n.value && m();
2218
2385
  }, i = () => {
2219
- h.value = _(), n.value && m();
2386
+ g.value = S(), n.value && m();
2220
2387
  }, o = () => {
2221
2388
  n.value && m();
2222
2389
  };
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);
2390
+ return te(() => {
2391
+ g.value = S(), document.addEventListener("keydown", v), window.addEventListener("scroll", o), window.addEventListener("resize", i);
2392
+ }), ue(() => {
2393
+ document.removeEventListener("keydown", v), window.removeEventListener("scroll", o), window.removeEventListener("resize", i);
2227
2394
  }), () => t("div", { ref: r }, [t("button", {
2228
2395
  type: "button",
2229
- class: v.value,
2396
+ class: h.value,
2230
2397
  disabled: e.disabled,
2231
- "aria-labelledby": d,
2232
- onMouseover: D,
2398
+ "aria-labelledby": u,
2399
+ onMouseover: K,
2233
2400
  onMouseout: m,
2234
- onFocusin: D,
2401
+ onFocusin: K,
2235
2402
  onFocusout: m
2236
- }, a.default?.()), ke(t("div", {
2237
- id: d,
2403
+ }, a.default?.()), ge(t("div", {
2404
+ id: u,
2238
2405
  ref: l,
2239
- class: ["krds-tooltip-popover", C.value],
2406
+ class: ["krds-tooltip-popover", y.value],
2240
2407
  style: s.value,
2241
2408
  "aria-hidden": !n.value,
2242
2409
  role: "tooltip"
@@ -2244,9 +2411,9 @@ var Vt = /* @__PURE__ */ A({
2244
2411
  t("span", { class: "sr-only" }, c.value),
2245
2412
  " ",
2246
2413
  e.tooltipContent
2247
- ]), [[we, n.value]])]);
2414
+ ]), [[Se, n.value]])]);
2248
2415
  }
2249
- }), da = ua, ca = /* @__PURE__ */ A({
2416
+ }), ya = ga, ma = /* @__PURE__ */ M({
2250
2417
  name: "KrdsLanguageSwitcher",
2251
2418
  props: {
2252
2419
  languageList: {
@@ -2270,56 +2437,57 @@ var Vt = /* @__PURE__ */ A({
2270
2437
  "update:modelValue": (e) => !0,
2271
2438
  close: () => !0
2272
2439
  },
2440
+ slots: Object,
2273
2441
  setup(e, { emit: a, slots: r }) {
2274
- const l = E(!1), n = E(), s = E(), d = () => {
2275
- l.value = !l.value, l.value && n.value && C();
2276
- }, h = () => {
2442
+ const l = B(!1), n = B(), s = B(), u = () => {
2443
+ l.value = !l.value, l.value && n.value && y();
2444
+ }, g = () => {
2277
2445
  l.value = !1;
2278
- }, v = (i) => {
2279
- a("update:modelValue", i), h(), a("close"), s.value?.focus();
2280
- }, C = () => {
2446
+ }, h = (i) => {
2447
+ a("update:modelValue", i), g(), a("close"), s.value?.focus();
2448
+ }, y = () => {
2281
2449
  if (!n.value) return;
2282
2450
  const i = n.value.querySelector(".drop-menu");
2283
2451
  if (!i) return;
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");
2452
+ const o = i.getBoundingClientRect(), p = window.innerWidth;
2453
+ n.value.classList.remove("drop-left", "drop-right"), o.left < 0 ? n.value.classList.add("drop-left") : p < o.left + o.width && n.value.classList.add("drop-right");
2286
2454
  }, c = (i) => {
2287
- i.key === "Escape" && (h(), s.value?.focus());
2288
- }, _ = (i) => {
2289
- n.value?.contains(i.target) || h();
2455
+ i.key === "Escape" && (g(), s.value?.focus());
2290
2456
  }, S = (i) => {
2291
- n.value?.contains(i.relatedTarget) || h();
2292
- }, D = (i) => {
2457
+ n.value?.contains(i.target) || g();
2458
+ }, k = (i) => {
2459
+ n.value?.contains(i.relatedTarget) || g();
2460
+ }, K = (i) => {
2293
2461
  if (!n.value) return;
2294
- n.value.querySelectorAll(".drop-list .item-link").forEach((g) => {
2295
- g.style.position = "relative", g.style.zIndex = "0";
2462
+ n.value.querySelectorAll(".drop-list .item-link").forEach((p) => {
2463
+ p.style.position = "relative", p.style.zIndex = "0";
2296
2464
  });
2297
2465
  const o = i.target;
2298
2466
  o.style.zIndex = "1";
2299
2467
  };
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", _);
2468
+ se(l, (i) => {
2469
+ i ? (document.addEventListener("keydown", c), document.addEventListener("click", S)) : (document.removeEventListener("keydown", c), document.removeEventListener("click", S));
2470
+ }), ue(() => {
2471
+ document.removeEventListener("keydown", c), document.removeEventListener("click", S);
2304
2472
  });
2305
2473
  const m = () => t("ul", { class: "drop-list" }, e.languageList.map((i) => t("li", { key: i.code }, [t("a", {
2306
2474
  href: "#",
2307
2475
  class: ["item-link", { active: e.modelValue === i.code }],
2308
2476
  lang: i.code,
2309
2477
  "aria-selected": e.modelValue === i.code,
2310
- onClick: Ke(() => v(i.code), ["prevent"]),
2311
- onFocus: D
2478
+ onClick: Ke(() => h(i.code), ["prevent"]),
2479
+ onFocus: K
2312
2480
  }, [
2313
2481
  i.name,
2314
2482
  " ",
2315
2483
  t("span", { class: "sr-only" }, e.modelValue === i.code ? "선택됨" : "")
2316
- ])]))), p = () => t("ul", { class: "drop-list" }, e.languageList.map((i) => t("li", { key: i.code }, [t("a", {
2484
+ ])]))), v = () => t("ul", { class: "drop-list" }, e.languageList.map((i) => t("li", { key: i.code }, [t("a", {
2317
2485
  href: i.url || "#",
2318
2486
  class: "item-link",
2319
2487
  lang: i.code,
2320
2488
  target: "_blank",
2321
2489
  title: "새 창 열림",
2322
- onFocus: D
2490
+ onFocus: K
2323
2491
  }, [
2324
2492
  i.name,
2325
2493
  " ",
@@ -2336,13 +2504,13 @@ var Vt = /* @__PURE__ */ A({
2336
2504
  "drop-right": e.dropPosition === "right"
2337
2505
  }
2338
2506
  ],
2339
- onFocusout: S
2507
+ onFocusout: k
2340
2508
  }, [t("button", {
2341
2509
  ref: s,
2342
2510
  type: "button",
2343
2511
  class: ["krds-btn small text drop-btn", { active: l.value }],
2344
2512
  "aria-expanded": l.value,
2345
- onClick: d
2513
+ onClick: u
2346
2514
  }, [
2347
2515
  t("i", { class: "svg-icon ico-global" }),
2348
2516
  r.default?.(),
@@ -2350,16 +2518,20 @@ var Vt = /* @__PURE__ */ A({
2350
2518
  ]), t("div", {
2351
2519
  class: "drop-menu",
2352
2520
  style: { display: l.value ? "block" : "none" }
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])])]);
2521
+ }, [t("div", { class: "drop-in" }, [r["prev-item"] ? t("div", { class: "drop-top" }, r["prev-item"]()) : null, e.type === "default" ? m() : e.type === "external" ? v() : null])])]);
2354
2522
  }
2355
- }), fa = ca, va = /* @__PURE__ */ A({
2523
+ }), ba = ma, ka = /* @__PURE__ */ M({
2356
2524
  name: "KrdsResize",
2525
+ props: { modelValue: {
2526
+ type: String,
2527
+ default: void 0
2528
+ } },
2357
2529
  emits: {
2358
2530
  "update:modelValue": (e) => !0,
2359
2531
  close: () => !0
2360
2532
  },
2361
2533
  setup(e, { emit: a }) {
2362
- const r = E(!1), l = E(), n = E(), s = E("md"), d = [
2534
+ const r = B(!1), l = B(), n = B(), s = B(e.modelValue ?? "md"), u = [
2363
2535
  {
2364
2536
  key: "sm",
2365
2537
  label: "작게",
@@ -2385,71 +2557,76 @@ var Vt = /* @__PURE__ */ A({
2385
2557
  label: "가장 크게",
2386
2558
  zoom: "1.5"
2387
2559
  }
2388
- ], h = () => {
2389
- r.value = !r.value, r.value && l.value && _();
2390
- }, v = () => {
2560
+ ], g = () => {
2561
+ r.value = !r.value, r.value && l.value && k();
2562
+ }, h = () => {
2391
2563
  r.value = !1;
2392
- }, C = (i) => {
2393
- v(), a("close"), n.value?.focus(), s.value = i.key, document.body.style.zoom = i?.zoom;
2394
- }, c = () => {
2395
- const i = d.find((o) => o.key === "md");
2396
- i && C(i);
2397
- }, _ = () => {
2564
+ }, y = (o) => {
2565
+ const p = u.find((V) => V.key === o);
2566
+ p && (s.value = p.key, document.body.style.zoom = p.zoom);
2567
+ }, c = (o) => {
2568
+ h(), a("close"), n.value?.focus(), y(o.key), a("update:modelValue", o.key);
2569
+ };
2570
+ te(() => e.modelValue && y(e.modelValue)), se(() => e.modelValue, (o) => o && y(o));
2571
+ const S = () => {
2572
+ const o = u.find((p) => p.key === "md");
2573
+ o && c(o);
2574
+ }, k = () => {
2398
2575
  if (!l.value) return;
2399
- const i = l.value.querySelector(".drop-menu");
2400
- if (!i) return;
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");
2403
- }, S = (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) => {
2576
+ const o = l.value.querySelector(".drop-menu");
2577
+ if (!o) return;
2578
+ const p = o.getBoundingClientRect(), V = window.innerWidth;
2579
+ l.value.classList.remove("drop-left", "drop-right"), p.left < 0 ? l.value.classList.add("drop-left") : V < p.left + p.width && l.value.classList.add("drop-right");
2580
+ }, K = (o) => {
2581
+ o.key === "Escape" && (h(), n.value?.focus());
2582
+ }, m = (o) => {
2583
+ l.value?.contains(o.target) || h();
2584
+ }, v = (o) => {
2585
+ l.value?.contains(o.relatedTarget) || h();
2586
+ }, i = (o) => {
2410
2587
  if (!l.value) return;
2411
- l.value.querySelectorAll(".drop-list .item-link").forEach((g) => {
2412
- g.style.position = "relative", g.style.zIndex = "0";
2588
+ l.value.querySelectorAll(".drop-list .item-link").forEach((V) => {
2589
+ V.style.position = "relative", V.style.zIndex = "0";
2413
2590
  });
2414
- const o = i.target;
2415
- o.style.zIndex = "1";
2591
+ const p = o.target;
2592
+ p.style.zIndex = "1";
2416
2593
  };
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);
2594
+ return se(r, (o) => {
2595
+ o ? (document.addEventListener("keydown", K), document.addEventListener("click", m)) : (document.removeEventListener("keydown", K), document.removeEventListener("click", m));
2596
+ }), ue(() => {
2597
+ document.removeEventListener("keydown", K), document.removeEventListener("click", m);
2421
2598
  }), () => t("div", {
2422
2599
  ref: l,
2423
2600
  class: "krds-drop-wrap krds-resize",
2424
2601
  "data-adjust": "scale",
2425
- onFocusout: m
2602
+ onFocusout: v
2426
2603
  }, [t("button", {
2427
2604
  ref: n,
2428
2605
  type: "button",
2429
2606
  class: "krds-btn small text drop-btn",
2430
- onClick: h
2607
+ onClick: g
2431
2608
  }, ["화면크기 ", t("i", { class: "svg-icon ico-toggle" })]), t("div", {
2432
2609
  class: "drop-menu",
2433
2610
  style: { display: r.value ? "block" : "none" }
2434
- }, [t("div", { class: "drop-in" }, [t("ul", { class: "drop-list" }, d.map((i) => t("li", { key: i.key }, [t("button", {
2611
+ }, [t("div", { class: "drop-in" }, [t("ul", { class: "drop-list" }, u.map((o) => t("li", { key: o.key }, [t("button", {
2435
2612
  type: "button",
2436
2613
  class: [
2437
2614
  "item-link",
2438
- i.key,
2439
- i.key === s.value ? "active" : ""
2615
+ o.key,
2616
+ o.key === s.value ? "active" : ""
2440
2617
  ],
2441
- "data-adjust-scale": i.key,
2442
- onClick: Ke(() => C(i), ["prevent"]),
2443
- onFocus: p
2444
- }, i.label)]))), t("div", { class: "drop-bottom" }, [t("button", {
2618
+ "data-adjust-scale": o.key,
2619
+ onClick: Ke(() => c(o), ["prevent"]),
2620
+ onFocus: i
2621
+ }, o.label)]))), t("div", { class: "drop-bottom" }, [t("button", {
2445
2622
  type: "button",
2446
2623
  class: "krds-btn medium text",
2447
2624
  "data-adjust-scale": "md",
2448
- onClick: Ke(c, ["prevent"]),
2449
- onFocus: p
2625
+ onClick: Ke(S, ["prevent"]),
2626
+ onFocus: i
2450
2627
  }, [t("i", { class: "svg-icon ico-reset" }), " 초기화"])])])])]);
2451
2628
  }
2452
- }), pa = va, ga = /* @__PURE__ */ A({
2629
+ }), Sa = ka, wa = /* @__PURE__ */ M({
2453
2630
  name: "KrdsModal",
2454
2631
  props: {
2455
2632
  modelValue: {
@@ -2484,43 +2661,43 @@ var Vt = /* @__PURE__ */ A({
2484
2661
  emits: { "update:modelValue": (e) => !0 },
2485
2662
  slots: Object,
2486
2663
  setup(e, { slots: a, emit: r }) {
2487
- const l = xe()?.uid, n = k(() => e.modalId ?? `krds-modal-${l}`), s = k({
2664
+ const l = xe()?.uid, n = C(() => e.modalId ?? `krds-modal-${l}`), s = C({
2488
2665
  get: () => e.modelValue,
2489
2666
  set: (o) => r("update:modelValue", o)
2490
- }), d = k(() => `tit_${n.value}`), h = k(() => ({
2667
+ }), u = C(() => `tit_${n.value}`), g = C(() => ({
2491
2668
  small: "modal-sm",
2492
2669
  medium: "modal-md",
2493
2670
  large: "modal-lg"
2494
- })[e.size]), v = () => {
2671
+ })[e.size]), h = () => {
2495
2672
  s.value = !1;
2496
2673
  };
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) {
2674
+ let y = "", c = null;
2675
+ const S = B(null), k = (o) => Array.from(o.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')).filter((p) => !p.hasAttribute("disabled") && p.getAttribute("tabindex") !== "-1"), K = (o) => {
2676
+ if (!S.value || o.key !== "Tab") return;
2677
+ const p = k(S.value);
2678
+ if (p.length === 0) {
2502
2679
  o.preventDefault();
2503
2680
  return;
2504
2681
  }
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());
2682
+ const V = p[0], A = p[p.length - 1];
2683
+ o.shiftKey && document.activeElement === V ? (o.preventDefault(), A.focus()) : !o.shiftKey && document.activeElement === A && (o.preventDefault(), V.focus());
2507
2684
  }, 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;
2685
+ o.key === "Escape" && !e.persistent && h();
2686
+ }, v = () => {
2687
+ document.body.style.overflow = y, document.removeEventListener("keydown", K), document.removeEventListener("keydown", m), c && (c.focus(), c = null), S.value = null;
2511
2688
  }, i = async () => {
2512
- C = document.body.style.overflow, document.body.style.overflow = "hidden", c = document.activeElement, await pe();
2689
+ y = document.body.style.overflow, document.body.style.overflow = "hidden", c = document.activeElement, await pe();
2513
2690
  const o = document.getElementById(n.value);
2514
2691
  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);
2692
+ S.value = o;
2693
+ const p = o.querySelector(".modal-conts");
2694
+ p && (p.setAttribute("tabindex", "-1"), p.focus()), document.addEventListener("keydown", K), document.addEventListener("keydown", m);
2518
2695
  }
2519
2696
  };
2520
- return re(() => e.modelValue, (o) => o ? i() : p()), ie(() => {
2697
+ return se(() => e.modelValue, (o) => o ? i() : v()), te(() => {
2521
2698
  e.modelValue && i();
2522
- }), fe(() => {
2523
- e.modelValue && p();
2699
+ }), ie(() => {
2700
+ e.modelValue && v();
2524
2701
  }), () => {
2525
2702
  if (!s.value) return null;
2526
2703
  const o = {
@@ -2528,11 +2705,11 @@ var Vt = /* @__PURE__ */ A({
2528
2705
  class: "krds-modal fade in shown",
2529
2706
  role: "dialog",
2530
2707
  "aria-modal": !0,
2531
- "aria-labelledby": d.value
2708
+ "aria-labelledby": u.value
2532
2709
  };
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" }, [
2710
+ 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 ${g.value}` }, [t("div", { class: "modal-content" }, [
2534
2711
  a.title ? t("div", { class: "modal-header" }, [t("h2", {
2535
- id: d.value,
2712
+ id: u.value,
2536
2713
  class: "modal-title"
2537
2714
  }, a.title())]) : null,
2538
2715
  t("div", { class: "modal-conts" }, [t("div", { class: "conts-area" }, a.default?.())]),
@@ -2540,15 +2717,15 @@ var Vt = /* @__PURE__ */ A({
2540
2717
  t("button", {
2541
2718
  type: "button",
2542
2719
  class: "krds-btn medium icon btn-close close-modal",
2543
- onClick: v
2720
+ onClick: h
2544
2721
  }, [t("span", { class: "sr-only" }, "닫기"), t("i", { class: "svg-icon ico-popup-close" })])
2545
2722
  ].filter(Boolean))]), t("div", {
2546
2723
  class: e.backdrop ? "modal-back in" : "modal-back",
2547
- onClick: e.persistent ? void 0 : v
2724
+ onClick: e.persistent ? void 0 : h
2548
2725
  })]));
2549
2726
  };
2550
2727
  }
2551
- }), ha = ga, ya = /* @__PURE__ */ A({
2728
+ }), Ka = wa, Ca = /* @__PURE__ */ M({
2552
2729
  name: "KrdsAccordionGroup",
2553
2730
  props: {
2554
2731
  typeLine: {
@@ -2560,14 +2737,15 @@ var Vt = /* @__PURE__ */ A({
2560
2737
  default: void 0
2561
2738
  }
2562
2739
  },
2740
+ slots: Object,
2563
2741
  setup(e, { slots: a }) {
2564
- const r = k(() => {
2742
+ const r = C(() => {
2565
2743
  const l = ["krds-accordion"];
2566
2744
  return e.typeLine && l.push("type-line"), e.class && l.push(e.class), l;
2567
2745
  });
2568
2746
  return () => t("div", { class: r.value }, a.default?.());
2569
2747
  }
2570
- }), ma = ya, ba = /* @__PURE__ */ A({
2748
+ }), xa = Ca, $a = /* @__PURE__ */ M({
2571
2749
  name: "KrdsAccordionItem",
2572
2750
  props: {
2573
2751
  id: {
@@ -2588,8 +2766,9 @@ var Vt = /* @__PURE__ */ A({
2588
2766
  }
2589
2767
  },
2590
2768
  emits: { toggle: (e) => !0 },
2769
+ slots: Object,
2591
2770
  setup(e, { emit: a, slots: r }) {
2592
- const l = k(() => e.openItem === e.id), n = () => {
2771
+ const l = C(() => e.openItem === e.id), n = () => {
2593
2772
  a("toggle", e.id);
2594
2773
  };
2595
2774
  return () => t("div", {
@@ -2609,7 +2788,7 @@ var Vt = /* @__PURE__ */ A({
2609
2788
  "aria-labelledby": `accordion-header-${e.id}`
2610
2789
  }, [t("div", { class: "accordion-body" }, r.content?.() ?? e.content)])]);
2611
2790
  }
2612
- }), ka = ba, Sa = /* @__PURE__ */ A({
2791
+ }), La = $a, Ba = /* @__PURE__ */ M({
2613
2792
  name: "KrdsTts",
2614
2793
  props: {
2615
2794
  text: {
@@ -2644,7 +2823,7 @@ var Vt = /* @__PURE__ */ A({
2644
2823
  error: (e) => !0
2645
2824
  },
2646
2825
  setup(e, { emit: a }) {
2647
- const r = E(!1);
2826
+ const r = B(!1);
2648
2827
  let l = null;
2649
2828
  const n = () => {
2650
2829
  typeof window < "u" && window.speechSynthesis && window.speechSynthesis.cancel(), r.value = !1, l = null;
@@ -2662,30 +2841,30 @@ var Vt = /* @__PURE__ */ A({
2662
2841
  r.value = !0;
2663
2842
  }, l.onend = () => {
2664
2843
  r.value = !1, l = null, a("end");
2665
- }, l.onerror = (v) => {
2666
- r.value = !1, l = null, v.error !== "canceled" && a("error", new Error(v.error));
2844
+ }, l.onerror = (h) => {
2845
+ r.value = !1, l = null, h.error !== "canceled" && a("error", new Error(h.error));
2667
2846
  }, window.speechSynthesis.speak(l), a("play", e.text);
2668
2847
  }
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");
2673
- return fe(() => {
2848
+ }, u = C(() => {
2849
+ const h = ["krds-tts"];
2850
+ return e.size && h.push(e.size), r.value ? h.push("pause") : e.icon === "play" && h.push("play"), e.class && h.push(e.class), h;
2851
+ }), g = C(() => r.value ? "ico-stop" : e.icon === "play" ? "ico-play" : "ico-volume");
2852
+ return ie(() => {
2674
2853
  n();
2675
2854
  }), () => {
2676
- const v = [t("span", {
2855
+ const h = [t("span", {
2677
2856
  class: "krds-tts-icon",
2678
2857
  "aria-hidden": "true"
2679
- }, [t("i", { class: `svg-icon ${h.value}` })])];
2680
- return e.label && v.push(t("span", { class: "krds-tts-text" }, e.label)), t("button", {
2858
+ }, [t("i", { class: `svg-icon ${g.value}` })])];
2859
+ return e.label && h.push(t("span", { class: "krds-tts-text" }, e.label)), t("button", {
2681
2860
  type: "button",
2682
- class: d.value,
2861
+ class: u.value,
2683
2862
  disabled: e.disabled || void 0,
2684
2863
  onClick: s
2685
- }, v);
2864
+ }, h);
2686
2865
  };
2687
2866
  }
2688
- }), wa = Sa, Ka = /* @__PURE__ */ A({
2867
+ }), Ea = Ba, Da = /* @__PURE__ */ M({
2689
2868
  name: "KrdsTable",
2690
2869
  props: {
2691
2870
  caption: {
@@ -2708,71 +2887,71 @@ var Vt = /* @__PURE__ */ A({
2708
2887
  emits: { "row-click": (e, a) => !0 },
2709
2888
  slots: Object,
2710
2889
  setup(e, { emit: a, slots: r }) {
2711
- const l = xe(), n = k(() => {
2890
+ const l = xe(), n = C(() => {
2712
2891
  const i = ["tbl"];
2713
2892
  return e.class && i.push(e.class), i;
2714
- }), s = k(() => ["krds-table-wrap"]), d = (i) => i.headerStyle || void 0, h = (i) => {
2893
+ }), s = C(() => ["krds-table-wrap"]), u = (i) => i.headerStyle || void 0, g = (i) => {
2715
2894
  const o = [];
2716
2895
  return i.align && o.push(`text-${i.align}`), i.headerClasses && o.push(i.headerClasses), o.length > 0 ? o : void 0;
2717
- }, v = (i, o) => {
2896
+ }, h = (i, o) => {
2718
2897
  if (o.style)
2719
2898
  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);
2899
+ }, y = (i, o) => {
2900
+ const p = [];
2901
+ if (o.align && p.push(`text-${o.align}`), o.classes) {
2902
+ const V = typeof o.classes == "function" ? o.classes(i) : o.classes;
2903
+ p.push(V);
2725
2904
  }
2726
- return g.length > 0 ? g : void 0;
2905
+ return p.length > 0 ? p : void 0;
2727
2906
  }, c = () => !e.columns.length || !e.columns.some((i) => i.headerStyle && i.headerStyle.includes("width")) ? null : t("colgroup", e.columns.map((i) => {
2728
2907
  if (!i.headerStyle) return t("col");
2729
2908
  const o = i.headerStyle.match(/width\s*:\s*([^;]+)/i);
2730
2909
  return t("col", { style: o ? { width: o[1].trim() } : void 0 });
2731
- })), _ = () => {
2910
+ })), S = () => {
2732
2911
  if (!e.columns.length) return null;
2733
2912
  const i = e.columns.map((o) => {
2734
- const g = d(o), z = h(o);
2913
+ const p = u(o), V = g(o);
2735
2914
  return t("th", {
2736
2915
  scope: "col",
2737
- class: z,
2738
- style: g
2916
+ class: V,
2917
+ style: p
2739
2918
  }, o.label);
2740
2919
  });
2741
2920
  return t("thead", [t("tr", i)]);
2742
- }, S = (i, o) => typeof o.field == "function" ? o.field(i) : i[o.field], D = () => {
2921
+ }, k = (i, o) => typeof o.field == "function" ? o.field(i) : i[o.field], K = () => {
2743
2922
  if (!e.rows.length) return t("tbody", [t("tr", [t("td", {
2744
2923
  colspan: e.columns.length || 1,
2745
2924
  class: "text-center"
2746
2925
  }, r["no-data"] ? r["no-data"]() : "데이터가 없습니다.")])]);
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);
2926
+ const i = l?.vnode.props, o = !!(i?.onRowClick || i?.["onRow-click"]), p = e.rows.map((V, A) => {
2927
+ const E = e.columns.map(($, x) => {
2928
+ const f = k(V, $), D = typeof f == "function" ? f() : f, z = h(V, $), I = y(V, $);
2929
+ return t(x === 0 ? "th" : "td", {
2930
+ scope: x === 0 ? "row" : void 0,
2931
+ class: I,
2932
+ style: z
2933
+ }, D);
2755
2934
  });
2756
2935
  return t("tr", o ? {
2757
2936
  tabindex: 0,
2758
- onClick: () => m(z, T),
2759
- onKeydown: (x) => p(x, z, T)
2760
- } : null, L);
2937
+ onClick: () => m(V, A),
2938
+ onKeydown: ($) => v($, V, A)
2939
+ } : null, E);
2761
2940
  });
2762
- return t("tbody", g);
2941
+ return t("tbody", p);
2763
2942
  }, m = (i, o) => {
2764
2943
  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));
2944
+ }, v = (i, o, p) => {
2945
+ i.target !== i.currentTarget || i.key !== "Enter" && i.key !== " " || (i.preventDefault(), m(o, p));
2767
2946
  };
2768
2947
  return () => t("div", { class: s.value }, [t("table", { class: n.value }, [
2769
2948
  e.caption && t("caption", e.caption),
2770
2949
  c(),
2771
- _(),
2772
- D()
2950
+ S(),
2951
+ K()
2773
2952
  ])]);
2774
2953
  }
2775
- }), Ca = Ka, xa = /* @__PURE__ */ A({
2954
+ }), Ta = Da, Aa = /* @__PURE__ */ M({
2776
2955
  name: "KrdsHeader",
2777
2956
  props: {
2778
2957
  id: {
@@ -2786,7 +2965,7 @@ var Vt = /* @__PURE__ */ A({
2786
2965
  },
2787
2966
  slots: Object,
2788
2967
  setup(e, { slots: a }) {
2789
- const r = k(() => {
2968
+ const r = C(() => {
2790
2969
  const l = [];
2791
2970
  return e.class && l.push(e.class), l;
2792
2971
  });
@@ -2804,7 +2983,7 @@ var Vt = /* @__PURE__ */ A({
2804
2983
  }, n);
2805
2984
  };
2806
2985
  }
2807
- }), $a = xa, La = /* @__PURE__ */ A({
2986
+ }), _a = Aa, Ma = /* @__PURE__ */ M({
2808
2987
  name: "KrdsFooter",
2809
2988
  props: {
2810
2989
  id: {
@@ -2816,22 +2995,23 @@ var Vt = /* @__PURE__ */ A({
2816
2995
  default: void 0
2817
2996
  }
2818
2997
  },
2998
+ slots: Object,
2819
2999
  setup(e, { slots: a }) {
2820
- const r = k(() => {
2821
- const h = [];
2822
- return e.class && h.push(e.class), h;
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;
3000
+ const r = C(() => {
3001
+ const g = [];
3002
+ return e.class && g.push(e.class), g;
3003
+ }), 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, u = () => a.bottom ? t("div", { class: "f-btm" }, a.bottom()) : null;
2824
3004
  return () => {
2825
- const h = l(), v = n(), C = s(), c = d(), _ = [];
2826
- v && _.push(v), C && _.push(C), c && _.push(c);
2827
- const S = [];
2828
- return h && S.push(h), _.length > 0 && S.push(t("div", { class: "inner" }, _)), t("footer", {
3005
+ const g = l(), h = n(), y = s(), c = u(), S = [];
3006
+ h && S.push(h), y && S.push(y), c && S.push(c);
3007
+ const k = [];
3008
+ return g && k.push(g), S.length > 0 && k.push(t("div", { class: "inner" }, S)), t("footer", {
2829
3009
  id: e.id,
2830
3010
  class: r.value
2831
- }, S);
3011
+ }, k);
2832
3012
  };
2833
3013
  }
2834
- }), Da = La, Ba = /* @__PURE__ */ A({
3014
+ }), Va = Ma, Fa = /* @__PURE__ */ M({
2835
3015
  name: "KrdsDisclosure",
2836
3016
  props: {
2837
3017
  title: {
@@ -2844,8 +3024,9 @@ var Vt = /* @__PURE__ */ A({
2844
3024
  }
2845
3025
  },
2846
3026
  emits: { "update:modelValue": (e) => !0 },
3027
+ slots: Object,
2847
3028
  setup(e, { emit: a, slots: r }) {
2848
- const l = `disclosure-${ce()}`, n = k(() => e.modelValue), s = () => {
3029
+ const l = `disclosure-${de()}`, n = C(() => e.modelValue), s = () => {
2849
3030
  a("update:modelValue", !e.modelValue);
2850
3031
  };
2851
3032
  return () => t("div", { class: [
@@ -2864,7 +3045,7 @@ var Vt = /* @__PURE__ */ A({
2864
3045
  inert: !n.value
2865
3046
  }, [t("div", { class: "expand-in" }, r.default?.())])]);
2866
3047
  }
2867
- }), Ea = Ba, Ta = /* @__PURE__ */ A({
3048
+ }), Pa = Fa, Oa = /* @__PURE__ */ M({
2868
3049
  name: "KrdsIdentifier",
2869
3050
  props: {
2870
3051
  class: {
@@ -2877,8 +3058,9 @@ var Vt = /* @__PURE__ */ A({
2877
3058
  }
2878
3059
  },
2879
3060
  emits: { click: (e) => !0 },
3061
+ slots: Object,
2880
3062
  setup(e, { emit: a, slots: r }) {
2881
- const l = k(() => {
3063
+ const l = C(() => {
2882
3064
  const s = ["krds-identifier"];
2883
3065
  return e.class && s.push(e.class), s;
2884
3066
  }), n = (s) => {
@@ -2889,7 +3071,7 @@ var Vt = /* @__PURE__ */ A({
2889
3071
  onClick: n
2890
3072
  }, [t("span", { class: "logo" }, [t("span", { class: "sr-only" }, e.logoLabel)]), t("span", { class: "ban-txt" }, r.default?.())]);
2891
3073
  }
2892
- }), _a = Ta, Aa = 50, Ma = /* @__PURE__ */ A({
3074
+ }), za = Oa, Ra = 50, Ia = /* @__PURE__ */ M({
2893
3075
  name: "KrdsLayout",
2894
3076
  props: {
2895
3077
  id: {
@@ -2910,46 +3092,47 @@ var Vt = /* @__PURE__ */ A({
2910
3092
  scroll: (e) => !0,
2911
3093
  "scroll-height": (e) => !0
2912
3094
  },
3095
+ slots: Object,
2913
3096
  setup(e, { slots: a, emit: r }) {
2914
- const l = E(0), n = E(0), s = E(0), d = E(null), h = E(null), v = E(null), C = () => {
3097
+ const l = B(0), n = B(0), s = B(0), u = B(null), g = B(null), h = B(null), y = () => {
2915
3098
  const m = n.value;
2916
3099
  l.value = window.scrollY, n.value = document.body.scrollHeight, m !== n.value && m > 0 && r("scroll-height", n.value);
2917
3100
  }, c = () => {
2918
- if (!h.value || !e.enableScrollDetection) return;
3101
+ if (!g.value || !e.enableScrollDetection) return;
2919
3102
  const m = document.querySelector("#container");
2920
3103
  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", {
3104
+ const v = m.offsetTop, i = window.scrollY, o = i > s.value, p = i < s.value;
3105
+ i > v + Ra ? o ? (g.value.classList.add("scroll-down"), g.value.classList.remove("scroll-up"), u.value = "down") : p && (g.value.classList.add("scroll-up"), g.value.classList.remove("scroll-down"), u.value = "up") : (g.value.classList.remove("scroll-down", "scroll-up"), u.value = null), s.value = i;
3106
+ }, S = () => {
3107
+ y(), c(), r("scroll", {
2925
3108
  scrollY: l.value,
2926
3109
  scrollHeight: n.value,
2927
- direction: d.value,
3110
+ direction: u.value,
2928
3111
  timestamp: Date.now()
2929
3112
  });
2930
- }, S = (m) => {
2931
- for (const p of m) {
2932
- const { width: i, height: o } = p.contentRect;
3113
+ }, k = (m) => {
3114
+ for (const v of m) {
3115
+ const { width: i, height: o } = v.contentRect;
2933
3116
  r("resize", {
2934
3117
  width: i,
2935
3118
  height: o
2936
3119
  });
2937
3120
  }
2938
- }, D = k(() => {
3121
+ }, K = C(() => {
2939
3122
  const m = ["g-wrap"];
2940
3123
  return e.class && m.push(e.class), m;
2941
3124
  });
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);
3125
+ return te(() => {
3126
+ e.enableScrollDetection && (y(), window.addEventListener("scroll", S, { passive: !0 })), g.value && typeof ResizeObserver < "u" && (h.value = new ResizeObserver(k), h.value.observe(g.value));
3127
+ }), ue(() => {
3128
+ e.enableScrollDetection && window.removeEventListener("scroll", S), h.value && (h.value.disconnect(), h.value = null);
2946
3129
  }), () => t("div", {
2947
3130
  id: e.id,
2948
- class: D.value,
2949
- ref: h
3131
+ class: K.value,
3132
+ ref: g
2950
3133
  }, a.default?.());
2951
3134
  }
2952
- }), Va = Ma, Pa = /* @__PURE__ */ A({
3135
+ }), Ha = Ia, qa = /* @__PURE__ */ M({
2953
3136
  name: "KrdsSideNavigation",
2954
3137
  props: {
2955
3138
  title: {
@@ -2963,63 +3146,63 @@ var Vt = /* @__PURE__ */ A({
2963
3146
  },
2964
3147
  emits: { "update:modelValue": (e) => !0 },
2965
3148
  setup(e, { emit: a }) {
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
3149
+ const r = C(() => e.modelValue || []), l = de(), n = B(/* @__PURE__ */ new Map()), s = B(/* @__PURE__ */ new Map()), u = B(/* @__PURE__ */ new Map()), g = B(null), h = (A, E, $) => {
3150
+ const x = `${E}-${$}`;
3151
+ A ? n.value.set(x, A) : n.value.delete(x);
3152
+ }, y = (A, E, $) => {
3153
+ const x = `${E}-${$}`;
3154
+ A ? s.value.set(x, A) : s.value.delete(x);
3155
+ }, c = (A, E, $) => {
3156
+ const x = `${E}-${$}`;
3157
+ A ? u.value.set(x, A) : u.value.delete(x);
3158
+ }, S = (A) => {
3159
+ a("update:modelValue", r.value.map((E, $) => {
3160
+ if ($ === A && E.subItems) {
3161
+ const x = E.expanded, f = {
3162
+ ...E,
3163
+ expanded: !E.expanded
2981
3164
  };
2982
- return K && !f.expanded && (f.subItems = L.subItems.map((B) => ({
2983
- ...B,
3165
+ return x && !f.expanded && (f.subItems = E.subItems.map((D) => ({
3166
+ ...D,
2984
3167
  expanded: !1
2985
- })), h.value = null), f;
3168
+ })), g.value = null), f;
2986
3169
  }
2987
- return L;
3170
+ return E;
2988
3171
  }));
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 = {
3172
+ }, k = (A, E) => {
3173
+ a("update:modelValue", r.value.map(($, x) => x === A && $.subItems ? {
3174
+ ...$,
3175
+ subItems: $.subItems.map((f, D) => {
3176
+ if (D === E && f.subItems) {
3177
+ const z = {
2995
3178
  ...f,
2996
3179
  expanded: !f.expanded
2997
3180
  };
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();
3181
+ if (z.expanded) {
3182
+ const I = `${A}-${E}`;
3183
+ g.value = n.value.get(I) || null;
3184
+ const H = s.value.get(I), j = u.value.get(I);
3185
+ H && j && (H.addEventListener("transitionend", () => {
3186
+ j.focus();
3004
3187
  }, { once: !0 }), requestAnimationFrame(() => {
3005
- N.getAnimations({ subtree: !0 }).length || O.focus();
3188
+ H.getAnimations({ subtree: !0 }).length || j.focus();
3006
3189
  }));
3007
3190
  }
3008
- return R;
3191
+ return z;
3009
3192
  }
3010
3193
  return f;
3011
3194
  })
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;
3195
+ } : $));
3196
+ }, K = (A, E) => {
3197
+ a("update:modelValue", r.value.map(($, x) => x === A && $.subItems ? {
3198
+ ...$,
3199
+ subItems: $.subItems.map((f, D) => {
3200
+ if (D === E && f.subItems && f.expanded) {
3201
+ if (g.value) {
3202
+ const z = g.value;
3020
3203
  requestAnimationFrame(() => {
3021
- R.focus();
3022
- }), h.value = null;
3204
+ z.focus();
3205
+ }), g.value = null;
3023
3206
  }
3024
3207
  return {
3025
3208
  ...f,
@@ -3028,84 +3211,84 @@ var Vt = /* @__PURE__ */ A({
3028
3211
  }
3029
3212
  return f;
3030
3213
  })
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}`,
3214
+ } : $));
3215
+ }, m = (A, E, $) => {
3216
+ const x = `${E}-${$}`, f = s.value.get(x);
3217
+ f && !f.contains(A.relatedTarget) && K(E, $);
3218
+ }, v = (A, E) => {
3219
+ K(A, E);
3220
+ }, i = (A, E) => {
3221
+ A.onClick && A.onClick(E);
3222
+ }, o = (A, E, $) => A.map((x, f) => t("li", {
3223
+ key: `popup-item-${E}-${$}-${f}`,
3041
3224
  role: "none"
3042
3225
  }, t("a", {
3043
- href: K.href || "#",
3226
+ href: x.href || "#",
3044
3227
  class: "lnb-btn",
3045
3228
  role: "menuitem",
3046
- onClick: (B) => i(K, B)
3047
- }, K.text))), g = (T, L) => T.map((x, K) => {
3048
- const f = `lnb-subitem-${L}-${K}`;
3229
+ onClick: (D) => i(x, D)
3230
+ }, x.text))), p = (A, E) => A.map(($, x) => {
3231
+ const f = `lnb-subitem-${E}-${x}`;
3049
3232
  return t("li", {
3050
3233
  key: f,
3051
- class: ["lnb-subitem", { active: x.expanded }],
3234
+ class: ["lnb-subitem", { active: $.expanded }],
3052
3235
  role: "none"
3053
- }, [x.subItems ? [t("button", {
3054
- ref: (B) => v(B, L, K),
3236
+ }, [$.subItems ? [t("button", {
3237
+ ref: (D) => h(D, E, x),
3055
3238
  type: "button",
3056
3239
  class: "lnb-btn lnb-toggle-popup",
3057
3240
  role: "menuitem",
3058
- "aria-controls": `${l}-lnbmenu-${L}-${K}`,
3059
- "aria-expanded": x.expanded ? "true" : "false",
3241
+ "aria-controls": `${l}-lnbmenu-${E}-${x}`,
3242
+ "aria-expanded": $.expanded ? "true" : "false",
3060
3243
  "aria-haspopup": "true",
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 }],
3244
+ onClick: () => k(E, x)
3245
+ }, $.text), t("div", {
3246
+ ref: (D) => y(D, E, x),
3247
+ id: `${l}-lnbmenu-${E}-${x}`,
3248
+ class: ["lnb-submenu-lv2", { active: $.expanded }],
3066
3249
  role: "menu",
3067
- onFocusout: (B) => m(B, L, K)
3250
+ onFocusout: (D) => m(D, E, x)
3068
3251
  }, [t("button", {
3069
- ref: (B) => c(B, L, K),
3252
+ ref: (D) => c(D, E, x),
3070
3253
  type: "button",
3071
3254
  class: "lnb-btn-tit",
3072
- onClick: () => p(L, K)
3073
- }, x.popupTitle || x.text), t("ul", {}, o(x.subItems || [], L, K))])] : t("a", {
3074
- href: x.href || "#",
3255
+ onClick: () => v(E, x)
3256
+ }, $.popupTitle || $.text), t("ul", {}, o($.subItems || [], E, x))])] : t("a", {
3257
+ href: $.href || "#",
3075
3258
  class: ["lnb-btn", "lnb-link"],
3076
3259
  role: "menuitem",
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 }],
3260
+ onClick: (D) => i($, D)
3261
+ }, $.text)]);
3262
+ }), V = () => r.value.map((A, E) => t("li", {
3263
+ key: `lnb-item-${E}`,
3264
+ class: ["lnb-item", { active: A.expanded }],
3082
3265
  role: "none"
3083
- }, [T.subItems ? t("button", {
3266
+ }, [A.subItems ? t("button", {
3084
3267
  type: "button",
3085
3268
  class: [
3086
3269
  "lnb-btn",
3087
3270
  "lnb-toggle",
3088
- { active: T.expanded }
3271
+ { active: A.expanded }
3089
3272
  ],
3090
3273
  role: "menuitem",
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 || "#",
3274
+ "aria-controls": `${l}-lnbmenu-${E}`,
3275
+ "aria-expanded": A.expanded ? "true" : "false",
3276
+ onClick: () => S(E)
3277
+ }, A.text) : t("a", {
3278
+ href: A.href || "#",
3096
3279
  class: ["lnb-btn", "lnb-link"],
3097
3280
  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}`,
3281
+ onClick: ($) => i(A, $)
3282
+ }, A.text), A.subItems ? t("div", { class: "lnb-submenu" }, [t("ul", {
3283
+ id: `${l}-lnbmenu-${E}`,
3101
3284
  role: "menu"
3102
- }, g(T.subItems, L))]) : null]));
3285
+ }, p(A.subItems, E))]) : null]));
3103
3286
  return () => t("nav", { class: "krds-side-navigation" }, [t("h2", { class: "lnb-tit" }, e.title), t("ul", {
3104
3287
  class: "lnb-list",
3105
3288
  role: "menubar"
3106
- }, z())]);
3289
+ }, V())]);
3107
3290
  }
3108
- }), za = Pa, Fa = /* @__PURE__ */ A({
3291
+ }), Na = qa, ja = /* @__PURE__ */ M({
3109
3292
  name: "KrdsStructuredList",
3110
3293
  props: { full: {
3111
3294
  type: Boolean,
@@ -3114,16 +3297,16 @@ var Vt = /* @__PURE__ */ A({
3114
3297
  slots: Object,
3115
3298
  setup(e, { slots: a }) {
3116
3299
  return () => {
3117
- const r = a.cardTop?.(), l = a.cardBody?.(), n = a.cardBtm?.(), s = a.cardBtn?.(), d = t("li", { class: "structured-item" }, [t("div", { class: "in" }, [
3300
+ const r = a.cardTop?.(), l = a.cardBody?.(), n = a.cardBtm?.(), s = a.cardBtn?.(), u = t("li", { class: "structured-item" }, [t("div", { class: "in" }, [
3118
3301
  r && t("div", { class: "card-top" }, r),
3119
3302
  l && t("div", { class: "card-body" }, l),
3120
3303
  n && t("div", { class: "card-btm" }, n),
3121
3304
  s && t("div", { class: "card-btn" }, s)
3122
3305
  ].filter(Boolean))]);
3123
- return t("ul", { class: ["krds-structured-list", e.full ? "type-full" : ""] }, [d]);
3306
+ return t("ul", { class: ["krds-structured-list", e.full ? "type-full" : ""] }, [u]);
3124
3307
  };
3125
3308
  }
3126
- }), Ra = Fa, Ia = /* @__PURE__ */ A({
3309
+ }), Wa = ja, Ya = /* @__PURE__ */ M({
3127
3310
  name: "KrdsTextList",
3128
3311
  props: {
3129
3312
  type: {
@@ -3135,10 +3318,11 @@ var Vt = /* @__PURE__ */ A({
3135
3318
  default: "dash"
3136
3319
  }
3137
3320
  },
3321
+ slots: Object,
3138
3322
  setup(e, { slots: a }) {
3139
3323
  return () => t(e.type, { class: ["krds-info-list", e.variant] }, a.default?.());
3140
3324
  }
3141
- }), Ha = Ia, Na = /* @__PURE__ */ A({
3325
+ }), Ga = Ya, Ua = /* @__PURE__ */ M({
3142
3326
  name: "KrdsCriticalAlerts",
3143
3327
  props: {
3144
3328
  type: {
@@ -3177,7 +3361,7 @@ var Vt = /* @__PURE__ */ A({
3177
3361
  }, [t("span", { class: "m-hide" }, e.linkText), t("i", { class: "svg-icon ico-angle right" })])
3178
3362
  ])])]);
3179
3363
  }
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({
3364
+ }), Xa = Ua, Qa = "새 창 열림", Ja = 100, Me = 400, Za = 'a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])', el = /* @__PURE__ */ M({
3181
3365
  name: "KrdsMainMenu",
3182
3366
  props: {
3183
3367
  items: {
@@ -3216,283 +3400,283 @@ var Vt = /* @__PURE__ */ A({
3216
3400
  },
3217
3401
  slots: Object,
3218
3402
  setup(e, { emit: a, slots: r }) {
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 ? {
3403
+ const l = de(), n = B(null), s = B(null), u = B(null), g = C(() => e.variant === "pc"), h = (d) => `${l}-gnb-panel-${d}`, y = (d, b) => `${l}-gnb-sub-${d}-${b}`, c = (d) => `${l}-gnb-tab-${d}`, S = (d, b) => `${l}-gnb-depth3-${d}-${b}`, k = (d) => !!d?.subItems?.length, K = (d) => !k(d) && !!d?.items?.length, m = (d) => k(d) || K(d), v = (d) => !d.items?.length, i = (d) => d ? {
3220
3404
  target: "_blank",
3221
3405
  rel: "noopener noreferrer",
3222
- title: Oa
3223
- } : {}, o = (u, y) => {
3224
- u.onClick?.(y), a("item-click", u, y);
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($));
3229
- return y === void 0 ? -1 : y;
3230
- }, B = (u) => {
3231
- const y = z.value[u];
3232
- return y === void 0 ? f(e.items[u]) : y;
3233
- }, R = (u) => {
3406
+ title: Qa
3407
+ } : {}, o = (d, b) => {
3408
+ d.onClick?.(b), a("item-click", d, b);
3409
+ }, p = B(-1), V = B({}), A = B(0), E = /* @__PURE__ */ new Map(), $ = /* @__PURE__ */ new Map(), x = (d, b, L) => {
3410
+ b ? d.set(L, b) : d.delete(L);
3411
+ }, f = (d) => {
3412
+ const b = d?.subItems?.findIndex((L) => !v(L));
3413
+ return b === void 0 ? -1 : b;
3414
+ }, D = (d) => {
3415
+ const b = V.value[d];
3416
+ return b === void 0 ? f(e.items[d]) : b;
3417
+ }, z = (d) => {
3234
3418
  if (typeof document > "u") return;
3235
- document.body.classList.toggle("is-gnb-web", u);
3236
- const y = document.body.scrollHeight > window.innerHeight;
3237
- document.body.classList.toggle("hasScrollY", u && y);
3238
- }, H = async () => {
3419
+ document.body.classList.toggle("is-gnb-web", d);
3420
+ const b = document.body.scrollHeight > window.innerHeight;
3421
+ document.body.classList.toggle("hasScrollY", d && b);
3422
+ }, I = async () => {
3239
3423
  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();
3424
+ const d = E.get(p.value)?.querySelector(".gnb-sub-list.active");
3425
+ A.value = d?.scrollHeight ?? 0;
3426
+ }, H = (d = !1) => {
3427
+ if (p.value === -1) return;
3428
+ const b = p.value;
3429
+ p.value = -1, A.value = 0, z(!1), a("menu-toggle", b, !1), d && $.get(b)?.focus();
3430
+ }, j = (d) => {
3431
+ if (m(e.items[d])) {
3432
+ if (p.value === d) {
3433
+ H();
3250
3434
  return;
3251
3435
  }
3252
- N(), g.value = u, R(!0), a("menu-toggle", u, !0), H();
3436
+ H(), p.value = d, z(!0), a("menu-toggle", d, !0), I();
3253
3437
  }
3254
- }, j = (u, y) => {
3255
- z.value = {
3256
- ...z.value,
3257
- [u]: y
3258
- }, H();
3259
- }, U = (u) => {
3260
- const y = n.value;
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) => {
3266
- if (u.key === "Escape") {
3267
- N(!0);
3438
+ }, W = (d, b) => {
3439
+ V.value = {
3440
+ ...V.value,
3441
+ [d]: b
3442
+ }, I();
3443
+ }, U = (d) => {
3444
+ const b = n.value;
3445
+ !b || b.contains(d.target) || H();
3446
+ }, ce = (d) => {
3447
+ const b = n.value, L = d.relatedTarget;
3448
+ !b || !L || b.contains(L) || H();
3449
+ }, he = (d) => {
3450
+ if (d.key === "Escape") {
3451
+ H(!0);
3268
3452
  return;
3269
3453
  }
3270
- const y = u.target;
3271
- if (!y?.dataset.trigger) return;
3272
- const $ = (w) => {
3273
- const V = y.closest("li");
3274
- (w === "next" ? V?.nextElementSibling : V?.previousElementSibling)?.querySelector("[data-trigger]")?.focus();
3454
+ const b = d.target;
3455
+ if (!b?.dataset.trigger) return;
3456
+ const L = (T) => {
3457
+ const _ = b.closest("li");
3458
+ (T === "next" ? _?.nextElementSibling : _?.previousElementSibling)?.querySelector("[data-trigger]")?.focus();
3275
3459
  };
3276
- switch (u.key) {
3460
+ switch (d.key) {
3277
3461
  case "Home":
3278
- u.preventDefault(), x.get(0)?.focus();
3462
+ d.preventDefault(), $.get(0)?.focus();
3279
3463
  break;
3280
3464
  case "End":
3281
- u.preventDefault(), x.get(e.items.length - 1)?.focus();
3465
+ d.preventDefault(), $.get(e.items.length - 1)?.focus();
3282
3466
  break;
3283
3467
  case "ArrowRight":
3284
3468
  case "ArrowDown":
3285
- u.preventDefault(), $("next");
3469
+ d.preventDefault(), L("next");
3286
3470
  break;
3287
3471
  case "ArrowLeft":
3288
3472
  case "ArrowUp":
3289
- u.preventDefault(), $("prev");
3473
+ d.preventDefault(), L("prev");
3290
3474
  }
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($);
3475
+ }, re = B(0), Z = B({}), fe = B(null), ae = B(null), ve = B(e.open), ne = B(e.open), P = /* @__PURE__ */ new Map(), O = /* @__PURE__ */ new Map(), Y = /* @__PURE__ */ new Map(), q = /* @__PURE__ */ new Map(), w = (d, b, L) => {
3476
+ b ? d.set(L, b) : d.delete(L);
3293
3477
  };
3294
- let M, I, J = null;
3295
- const se = (u) => {
3296
- typeof document > "u" || document.body.classList.toggle("is-gnb-mobile", u);
3478
+ let F, R, ee = null;
3479
+ const oe = (d) => {
3480
+ typeof document > "u" || document.body.classList.toggle("is-gnb-mobile", d);
3297
3481
  }, 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(() => {
3482
+ ne.value && s.value?.focus();
3483
+ }, le = () => {
3484
+ R && clearTimeout(R), ee = document.activeElement, ve.value = !0, F = setTimeout(() => {
3485
+ ne.value = !0, oe(!0), n.value?.addEventListener("transitionend", X, { once: !0 }), requestAnimationFrame(() => {
3302
3486
  n.value?.getAnimations().length || X();
3303
3487
  });
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);
3488
+ }, Ja);
3489
+ }, ye = () => {
3490
+ F && clearTimeout(F), ne.value = !1, ee?.focus(), ee = null, R = setTimeout(() => {
3491
+ ve.value = !1, oe(!1);
3492
+ }, Me);
3309
3493
  };
3310
- re(() => e.open, (u) => {
3311
- u ? te() : he();
3494
+ se(() => e.open, (d) => {
3495
+ d ? le() : ye();
3312
3496
  });
3313
- const ye = (u, y) => {
3314
- u.preventDefault(), ne.value = y;
3315
- const $ = d.value, w = P.get(y);
3316
- $ && w && $.scrollTo({
3497
+ const me = (d, b) => {
3498
+ d.preventDefault(), re.value = b;
3499
+ const L = u.value, T = P.get(b);
3500
+ L && T && L.scrollTo({
3317
3501
  left: 0,
3318
- top: w.offsetTop,
3502
+ top: T.offsetTop,
3319
3503
  behavior: "smooth"
3320
3504
  });
3321
- }, Se = () => {
3322
- const u = d.value;
3323
- if (!u) return;
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) => {
3330
- u.preventDefault(), Q.value = {
3331
- ...Q.value,
3332
- [y]: !Q.value[y]
3505
+ }, we = () => {
3506
+ const d = u.value;
3507
+ if (!d) return;
3508
+ const { scrollTop: b, scrollHeight: L, clientHeight: T } = d;
3509
+ let _ = re.value;
3510
+ P.forEach((N, G) => {
3511
+ (b >= N.offsetTop || b + T >= L) && (_ = G);
3512
+ }), re.value = _;
3513
+ }, be = (d, b) => {
3514
+ d.preventDefault(), Z.value = {
3515
+ ...Z.value,
3516
+ [b]: !Z.value[b]
3333
3517
  };
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) => {
3346
- if (u.key === "Escape") {
3347
- ee.value ? Le(ee.value) : a("update:open", !1);
3518
+ }, Ie = async (d, b) => {
3519
+ d.preventDefault(), fe.value = b, await pe(), ae.value = b, await pe(), q.get(b)?.focus();
3520
+ }, Le = (d) => {
3521
+ ae.value = null, O.get(d)?.focus(), setTimeout(() => {
3522
+ ae.value || (fe.value = null);
3523
+ }, Me);
3524
+ }, He = (d, b) => {
3525
+ const L = Array.from(d.querySelectorAll(Za));
3526
+ if (!L.length) return;
3527
+ const T = L[0], _ = L[L.length - 1], N = document.activeElement;
3528
+ b.shiftKey && (N === T || N === d) ? (b.preventDefault(), _.focus()) : !b.shiftKey && N === _ && (b.preventDefault(), T.focus());
3529
+ }, qe = (d) => {
3530
+ if (d.key === "Escape") {
3531
+ ae.value ? Le(ae.value) : a("update:open", !1);
3348
3532
  return;
3349
3533
  }
3350
- if (u.key !== "Tab") return;
3351
- const y = ee.value ? G.get(ee.value) : s.value;
3352
- y && Ie(y, u);
3534
+ if (d.key !== "Tab") return;
3535
+ const b = ae.value ? Y.get(ae.value) : s.value;
3536
+ b && He(b, d);
3353
3537
  };
3354
- ie(() => {
3355
- if (h.value) {
3538
+ te(() => {
3539
+ if (g.value) {
3356
3540
  document.addEventListener("click", U);
3357
3541
  return;
3358
3542
  }
3359
- e.open && (de.value = !0, le.value = !0, se(!0));
3360
- const u = {};
3361
- e.items.forEach((y, $) => {
3362
- y.subItems?.forEach((w, V) => {
3363
- w.expanded && (u[`${$}-${V}`] = !0);
3543
+ e.open && (ve.value = !0, ne.value = !0, oe(!0));
3544
+ const d = {};
3545
+ e.items.forEach((b, L) => {
3546
+ b.subItems?.forEach((T, _) => {
3547
+ T.expanded && (d[`${L}-${_}`] = !0);
3364
3548
  });
3365
- }), Q.value = u;
3366
- }), fe(() => {
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);
3549
+ }), Z.value = d;
3550
+ }), ie(() => {
3551
+ typeof document < "u" && (document.removeEventListener("click", U), document.body.classList.remove("is-gnb-web", "hasScrollY", "is-gnb-mobile")), F && clearTimeout(F), R && clearTimeout(R);
3368
3552
  });
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
3553
+ const Ne = (d) => {
3554
+ const b = d.some((T) => !!T.description), L = d.map((T, _) => {
3555
+ const N = i(T.external), G = T.external ? t("i", { class: "svg-icon ico-go" }) : null;
3556
+ if (b) return t("li", { key: `link-${_}` }, [t("h3", { class: "tit" }, [t("a", {
3557
+ href: T.href || "#",
3558
+ ...N,
3559
+ class: { active: T.selected },
3560
+ onClick: (J) => o(T, J)
3561
+ }, [T.text, G])]), T.description ? t("p", { class: "txt" }, T.description) : null]);
3562
+ const Q = T.href ? "a" : "button";
3563
+ return t("li", { key: `link-${_}` }, [t(Q, {
3564
+ ...T.href ? {
3565
+ href: T.href,
3566
+ ...N
3383
3567
  } : { type: "button" },
3384
- class: { active: w.selected },
3385
- onClick: (ae) => o(w, ae)
3386
- }, [w.text, Y])]);
3568
+ class: { active: T.selected },
3569
+ onClick: (J) => o(T, J)
3570
+ }, [T.text, G])]);
3387
3571
  });
3388
- return t("ul", { class: y ? "type-description" : void 0 }, $);
3389
- }, De = (u) => {
3390
- const y = u.titleLink ? [u.title, t("a", {
3391
- href: u.titleLink.href,
3572
+ return t("ul", { class: b ? "type-description" : void 0 }, L);
3573
+ }, Be = (d) => {
3574
+ const b = d.titleLink ? [d.title, t("a", {
3575
+ href: d.titleLink.href,
3392
3576
  class: "krds-btn link basic small"
3393
- }, [t("span", { class: "underline" }, u.titleLink.text || "바로가기"), t("i", { class: "svg-icon ico-angle right" })])] : [t("span", u.title)];
3577
+ }, [t("span", { class: "underline" }, d.titleLink.text || "바로가기"), t("i", { class: "svg-icon ico-angle right" })])] : [t("span", d.title)];
3394
3578
  return t("div", {
3395
- id: u.id,
3579
+ id: d.id,
3396
3580
  class: ["gnb-sub-list", {
3397
- active: u.active,
3398
- between: u.layout === "between",
3399
- "single-list": u.single
3581
+ active: d.active,
3582
+ between: d.layout === "between",
3583
+ "single-list": d.single
3400
3584
  }]
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)
3585
+ }, [t("div", { class: "gnb-sub-content" }, [t("h2", { class: "sub-title" }, b), Ne(d.linkItems)]), d.banner]);
3586
+ }, je = (d, b) => (d.subItems ?? []).map((L, T) => {
3587
+ if (v(L)) {
3588
+ const G = L.href ? "a" : "button";
3589
+ return t("li", { key: `sub-${T}` }, [t(G, {
3590
+ ...L.href ? {
3591
+ href: L.href,
3592
+ ...i(L.external)
3409
3593
  } : { type: "button" },
3410
3594
  class: [
3411
3595
  "gnb-sub-trigger",
3412
3596
  "is-link",
3413
3597
  {
3414
- "external-link": $.external,
3415
- selected: $.selected
3598
+ "external-link": L.external,
3599
+ selected: L.selected
3416
3600
  }
3417
3601
  ],
3418
3602
  "data-trigger": "gnb",
3419
- onClick: (Z) => o($, Z)
3420
- }, $.text)]);
3603
+ onClick: (Q) => o(L, Q)
3604
+ }, L.text)]);
3421
3605
  }
3422
- const V = B(y) === w, W = $.banner && r.banner ? t("div", { class: "gnb-sub-banner" }, r.banner({
3423
- item: u,
3424
- subItem: $,
3425
- index: y,
3426
- subIndex: w
3606
+ const _ = D(b) === T, N = L.banner && r.banner ? t("div", { class: "gnb-sub-banner" }, r.banner({
3607
+ item: d,
3608
+ subItem: L,
3609
+ index: b,
3610
+ subIndex: T
3427
3611
  })) : null;
3428
- return t("li", { key: `sub-${w}` }, [t("button", {
3612
+ return t("li", { key: `sub-${T}` }, [t("button", {
3429
3613
  type: "button",
3430
3614
  class: ["gnb-sub-trigger", {
3431
- active: V,
3432
- selected: $.selected
3615
+ active: _,
3616
+ selected: L.selected
3433
3617
  }],
3434
3618
  "data-trigger": "gnb",
3435
- "aria-controls": C(y, w),
3436
- "aria-expanded": V ? "true" : "false",
3619
+ "aria-controls": y(b, T),
3620
+ "aria-expanded": _ ? "true" : "false",
3437
3621
  "aria-haspopup": "true",
3438
- onClick: (Y) => {
3439
- j(y, w), o($, Y);
3622
+ onClick: (G) => {
3623
+ W(b, T), o(L, G);
3440
3624
  }
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
3625
+ }, L.text), Be({
3626
+ id: y(b, T),
3627
+ title: L.title || L.text,
3628
+ titleLink: L.titleLink,
3629
+ linkItems: L.items ?? [],
3630
+ layout: L.layout,
3631
+ active: _,
3632
+ banner: N
3449
3633
  })]);
3450
- }), Oe = (u, y) => {
3451
- const $ = g.value === y, w = S(u), V = w ? [t("ul", {}, qe(u, y))] : [De({
3452
- title: u.title || u.text,
3453
- linkItems: u.items ?? [],
3454
- layout: u.layout,
3634
+ }), We = (d, b) => {
3635
+ const L = p.value === b, T = k(d), _ = T ? [t("ul", {}, je(d, b))] : [Be({
3636
+ title: d.title || d.text,
3637
+ linkItems: d.items ?? [],
3638
+ layout: d.layout,
3455
3639
  single: !0,
3456
- banner: u.banner && r.banner ? t("div", { class: "gnb-sub-banner" }, r.banner({
3457
- item: u,
3458
- index: y,
3640
+ banner: d.banner && r.banner ? t("div", { class: "gnb-sub-banner" }, r.banner({
3641
+ item: d,
3642
+ index: b,
3459
3643
  subIndex: -1
3460
3644
  })) : null
3461
3645
  })];
3462
3646
  return t("div", {
3463
- id: v(y),
3464
- class: ["gnb-toggle-wrap", { "is-open": $ }]
3647
+ id: h(b),
3648
+ class: ["gnb-toggle-wrap", { "is-open": L }]
3465
3649
  }, [t("div", {
3466
- ref: (W) => K(L, W, y),
3650
+ ref: (N) => x(E, N, b),
3467
3651
  class: "gnb-main-list",
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)
3652
+ ...T ? { "data-has-submenu": "true" } : {},
3653
+ style: L && A.value ? { minHeight: `${A.value}px` } : void 0
3654
+ }, _)]);
3655
+ }, Ye = () => {
3656
+ const d = e.items.map((L, T) => {
3657
+ const _ = m(L), N = p.value === T, G = !_ && L.href ? "a" : "button", Q = t(G, {
3658
+ ref: (J) => x($, J, T),
3659
+ ...G === "a" ? {
3660
+ href: L.href,
3661
+ ...i(L.external)
3478
3662
  } : { type: "button" },
3479
3663
  class: ["gnb-main-trigger", {
3480
- active: W,
3481
- "is-link": !V,
3482
- selected: $.selected
3664
+ active: N,
3665
+ "is-link": !_,
3666
+ selected: L.selected
3483
3667
  }],
3484
3668
  "data-trigger": "gnb",
3485
- ...V ? {
3486
- "aria-controls": v(w),
3487
- "aria-expanded": W ? "true" : "false",
3669
+ ..._ ? {
3670
+ "aria-controls": h(T),
3671
+ "aria-expanded": N ? "true" : "false",
3488
3672
  "aria-haspopup": "true"
3489
3673
  } : {},
3490
- onClick: (ae) => {
3491
- V && O(w), o($, ae);
3674
+ onClick: (J) => {
3675
+ _ && j(T), o(L, J);
3492
3676
  }
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", {
3677
+ }, L.text);
3678
+ return t("li", { key: `main-${T}` }, [Q, _ ? We(L, T) : null]);
3679
+ }), b = e.backdrop && p.value !== -1 ? t(Ce, { to: "body" }, [t("div", {
3496
3680
  class: "gnb-backdrop active",
3497
3681
  "aria-hidden": "true"
3498
3682
  })]) : null;
@@ -3500,111 +3684,116 @@ var Vt = /* @__PURE__ */ A({
3500
3684
  ref: n,
3501
3685
  class: "krds-main-menu",
3502
3686
  "aria-label": e.ariaLabel,
3503
- onKeydown: ge,
3504
- onFocusout: oe
3687
+ onKeydown: he,
3688
+ onFocusout: ce
3505
3689
  }, [t("div", { class: "inner" }, [t("ul", {
3506
3690
  class: "gnb-menu",
3507
3691
  "aria-label": e.ariaLabel
3508
- }, u)]), y]);
3509
- }, Ye = (u, y) => {
3510
- const $ = () => Le(y);
3692
+ }, d)]), b]);
3693
+ }, Ge = (d, b) => {
3694
+ const L = () => Le(b);
3511
3695
  return t("div", {
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
3696
+ ref: (T) => w(Y, T, b),
3697
+ class: ["depth4-wrap", { "is-open": ae.value === b }],
3698
+ style: fe.value === b ? { display: "block" } : void 0
3515
3699
  }, [t("div", { class: "depth4-head" }, [t("button", {
3516
- ref: (w) => b(q, w, y),
3700
+ ref: (T) => w(q, T, b),
3517
3701
  type: "button",
3518
3702
  class: "krds-btn icon trigger-prev",
3519
- onClick: $
3703
+ onClick: L
3520
3704
  }, [t("span", { class: "sr-only" }, "이전화면"), t("i", { class: "svg-icon ico-angle left" })]), t("button", {
3521
3705
  type: "button",
3522
3706
  class: "krds-btn icon trigger-close",
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),
3707
+ onClick: L
3708
+ }, [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" }, d.panelTitle || d.text), t("ul", { class: "depth4-ul" }, (d.items ?? []).map((T, _) => t("li", { key: `depth4-${_}` }, [t("a", {
3709
+ href: T.href || "#",
3710
+ ...i(T.external),
3711
+ class: { selected: T.selected },
3712
+ onClick: (N) => o(T, N)
3713
+ }, T.text)])))])]);
3714
+ }, Ue = (d, b, L) => {
3715
+ const T = (d.items ?? []).map((_, N) => {
3716
+ const G = `${b}-${L}-${N}`, Q = !!_.items?.length;
3717
+ return t("li", { key: `depth3-${N}` }, [t("a", {
3718
+ ref: (J) => w(O, J, G),
3719
+ href: _.href || "#",
3720
+ ...Q ? {} : i(_.external),
3537
3721
  class: ["depth3-trigger", {
3538
- "has-depth4": Z,
3539
- selected: V.selected
3722
+ "has-depth4": Q,
3723
+ selected: _.selected
3540
3724
  }],
3541
- ...Z ? {
3725
+ ...Q ? {
3542
3726
  "aria-haspopup": "true",
3543
- "aria-expanded": ee.value === Y ? "true" : "false"
3727
+ "aria-expanded": ae.value === G ? "true" : "false"
3544
3728
  } : {},
3545
- onClick: (ae) => {
3546
- Z && Re(ae, Y), o(V, ae);
3729
+ onClick: (J) => {
3730
+ Q && Ie(J, G), o(_, J);
3547
3731
  }
3548
- }, V.text), Z ? Ye(V, Y) : null]);
3732
+ }, _.text), Q ? Ge(_, G) : null]);
3549
3733
  });
3550
3734
  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),
3735
+ id: S(b, L),
3736
+ class: ["depth3-wrap", { "is-open": Z.value[`${b}-${L}`] }]
3737
+ }, [t("ul", {}, T)]);
3738
+ }, Xe = (d, b) => {
3739
+ const L = (_) => ({
3740
+ text: _.text,
3741
+ href: _.href,
3742
+ external: _.external,
3743
+ selected: _.selected
3744
+ }), T = (d.subItems ?? (d.items ?? (d.href ? [d] : [])).map(L)).map((_, N) => {
3745
+ const G = `${b}-${N}`, Q = !!_.items?.length;
3746
+ return t("li", { key: `sub-${N}` }, [t("a", {
3747
+ href: _.href || "#",
3748
+ ...Q ? {} : i(_.external),
3560
3749
  class: ["gnb-sub-trigger", {
3561
- "has-depth3": Y,
3562
- active: Y && Q.value[W],
3563
- selected: w.selected
3750
+ "has-depth3": Q,
3751
+ active: Q && Z.value[G],
3752
+ selected: _.selected
3564
3753
  }],
3565
- ...Y ? {
3566
- "aria-controls": _(y, V),
3567
- "aria-expanded": Q.value[W] ? "true" : "false"
3754
+ ...Q ? {
3755
+ "aria-controls": S(b, N),
3756
+ "aria-expanded": Z.value[G] ? "true" : "false"
3568
3757
  } : {},
3569
- onClick: (Z) => {
3570
- Y && me(Z, W), o(w, Z);
3758
+ onClick: (J) => {
3759
+ Q && be(J, G), o(_, J);
3571
3760
  }
3572
- }, w.text), Y ? je(w, y, V) : null]);
3761
+ }, _.text), Q ? Ue(_, b, N) : null]);
3573
3762
  });
3574
3763
  return t("div", {
3575
- ref: (w) => K(P, w, y),
3576
- id: v(y),
3764
+ ref: (_) => x(P, _, b),
3765
+ id: h(b),
3577
3766
  class: "gnb-sub-list",
3578
3767
  role: "tabpanel",
3579
- "aria-labelledby": c(y)
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}`,
3768
+ "aria-labelledby": c(b)
3769
+ }, [t("h2", { class: "sub-title" }, d.title || d.text), t("ul", {}, T)]);
3770
+ }, Qe = () => {
3771
+ const d = e.items.map((L, T) => t("li", {
3772
+ key: `tab-${T}`,
3584
3773
  role: "none"
3585
3774
  }, [t("a", {
3586
- id: c(w),
3587
- href: `#${v(w)}`,
3588
- class: ["gnb-main-trigger", { active: ne.value === w }],
3775
+ id: c(T),
3776
+ href: `#${h(T)}`,
3777
+ class: ["gnb-main-trigger", { active: re.value === T }],
3589
3778
  role: "tab",
3590
- "aria-controls": v(w),
3591
- "aria-selected": ne.value === w ? "true" : "false",
3592
- onClick: (V) => {
3593
- ye(V, w), o($, V);
3779
+ "aria-controls": h(T),
3780
+ "aria-selected": re.value === T ? "true" : "false",
3781
+ onClick: (_) => {
3782
+ me(_, T), o(L, _);
3594
3783
  }
3595
- }, $.text)])), y = [t("div", { class: "gnb-menu" }, [t("div", { class: "menu-wrap" }, [t("ul", {
3784
+ }, L.text)])), b = [t("div", { class: "gnb-menu" }, [t("div", { class: "menu-wrap" }, [t("ul", {
3596
3785
  role: "tablist",
3597
3786
  "aria-label": e.ariaLabel
3598
- }, u)]), t("div", { class: "submenu-wrap" }, e.items.map(Ge))]), r.bottom ? t("div", { class: "gnb-bottom" }, r.bottom()) : null];
3787
+ }, d)]), t("div", { class: "submenu-wrap" }, e.items.map(Xe))]), r.bottom ? t("div", { class: "gnb-bottom" }, r.bottom()) : null];
3599
3788
  return t("div", {
3600
3789
  ref: n,
3601
3790
  id: e.mobileId,
3602
3791
  class: ["krds-main-menu-mobile", {
3603
- "is-open": le.value,
3604
- "is-backdrop": le.value
3792
+ "is-open": ne.value,
3793
+ "is-backdrop": ne.value
3605
3794
  }],
3606
- style: de.value ? void 0 : { display: "none" },
3607
- onKeydown: He
3795
+ style: ve.value ? void 0 : { display: "none" },
3796
+ onKeydown: qe
3608
3797
  }, [t("div", {
3609
3798
  ref: s,
3610
3799
  class: "gnb-wrap",
@@ -3612,10 +3801,10 @@ var Vt = /* @__PURE__ */ A({
3612
3801
  }, [
3613
3802
  t("div", { class: "gnb-header" }, r.header ? r.header() : []),
3614
3803
  t("div", {
3615
- ref: d,
3804
+ ref: u,
3616
3805
  class: "gnb-body",
3617
- onScroll: Se
3618
- }, y),
3806
+ onScroll: we
3807
+ }, b),
3619
3808
  t("button", {
3620
3809
  type: "button",
3621
3810
  id: "close-nav",
@@ -3624,9 +3813,9 @@ var Vt = /* @__PURE__ */ A({
3624
3813
  }, [t("span", { class: "sr-only" }, e.closeLabel), t("i", { class: "svg-icon ico-popup-close" })])
3625
3814
  ])]);
3626
3815
  };
3627
- return () => h.value ? We() : Ue();
3816
+ return () => g.value ? Ye() : Qe();
3628
3817
  }
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({
3818
+ }), tl = el, al = 400, ll = 2500, nl = 0, sl = 16, ze = (e) => e ? e.flatMap((a) => a.type === Ze ? Array.isArray(a.children) ? ze(a.children) : [] : a.type === Je ? [] : a.type === et && typeof a.children == "string" && a.children.trim() === "" ? [] : [a]) : [], rl = /* @__PURE__ */ M({
3630
3819
  name: "KrdsCarousel",
3631
3820
  props: {
3632
3821
  variant: {
@@ -3647,7 +3836,7 @@ var Vt = /* @__PURE__ */ A({
3647
3836
  },
3648
3837
  autoplayDelay: {
3649
3838
  type: Number,
3650
- default: Xa
3839
+ default: ll
3651
3840
  },
3652
3841
  pauseOnHover: {
3653
3842
  type: Boolean,
@@ -3655,7 +3844,7 @@ var Vt = /* @__PURE__ */ A({
3655
3844
  },
3656
3845
  speed: {
3657
3846
  type: Number,
3658
- default: Ua
3847
+ default: al
3659
3848
  },
3660
3849
  spaceBetween: {
3661
3850
  type: Number,
@@ -3709,144 +3898,145 @@ var Vt = /* @__PURE__ */ A({
3709
3898
  stop: () => !0,
3710
3899
  "more-click": (e) => !0
3711
3900
  },
3901
+ slots: Object,
3712
3902
  setup(e, { emit: a, slots: r }) {
3713
- const l = xe()?.uid, n = k(() => `${e.id ?? `krds-carousel-${l}`}-wrapper`);
3903
+ const l = xe()?.uid, n = C(() => `${e.id ?? `krds-carousel-${l}`}-wrapper`);
3714
3904
  let s = 0;
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;
3905
+ const u = B(e.activeIndex ?? 0), g = C(() => e.spaceBetween ?? (e.variant === "banner" ? sl : nl)), h = C(() => e.pagination ?? (e.variant === "banner" ? "fraction" : "bullets")), y = B(!1), c = B(!1), S = B(!1), k = C(() => c.value || S.value);
3906
+ let K;
3717
3907
  const m = () => {
3718
- D !== void 0 && (clearInterval(D), D = void 0);
3719
- }, p = (P) => {
3908
+ K !== void 0 && (clearInterval(K), K = void 0);
3909
+ }, v = (P) => {
3720
3910
  if (s <= 0) return;
3721
- const F = e.loop ? (P % s + s) % s : Math.min(Math.max(P, 0), s - 1);
3722
- F !== d.value && (d.value = F, a("update:activeIndex", F), a("change", F));
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"));
3911
+ const O = e.loop ? (P % s + s) % s : Math.min(Math.max(P, 0), s - 1);
3912
+ O !== u.value && (u.value = O, a("update:activeIndex", O), a("change", O));
3913
+ }, i = () => v(u.value - 1), o = () => v(u.value + 1), p = () => {
3914
+ y.value || (y.value = !0, a("play"));
3915
+ }, V = () => {
3916
+ y.value && (y.value = !1, a("stop"));
3727
3917
  };
3728
- re([
3729
- C,
3730
- S,
3918
+ se([
3919
+ y,
3920
+ k,
3731
3921
  () => e.autoplayDelay
3732
3922
  ], () => {
3733
- m(), !(!C.value || S.value) && (D = setInterval(() => {
3734
- if (!e.loop && s > 0 && d.value >= s - 1) {
3735
- z();
3923
+ m(), !(!y.value || k.value) && (K = setInterval(() => {
3924
+ if (!e.loop && s > 0 && u.value >= s - 1) {
3925
+ V();
3736
3926
  return;
3737
3927
  }
3738
3928
  o();
3739
3929
  }, e.autoplayDelay));
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);
3930
+ }), se(() => e.autoplay, (P) => {
3931
+ P ? p() : V();
3932
+ }), se(() => e.activeIndex, (P) => {
3933
+ typeof P != "number" || P === u.value || (u.value = s > 0 ? Math.min(Math.max(P, 0), s - 1) : P);
3744
3934
  });
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();
3752
- }), fe(() => {
3753
- m(), x?.removeEventListener("change", K);
3935
+ const E = B(!1);
3936
+ let $;
3937
+ const x = (P) => {
3938
+ E.value = P.matches;
3939
+ }, f = C(() => E.value ? 0 : e.speed);
3940
+ te(() => {
3941
+ typeof window < "u" && window.matchMedia && ($ = window.matchMedia("(prefers-reduced-motion: reduce)"), E.value = $.matches, $.addEventListener("change", x)), e.autoplay && p();
3942
+ }), ie(() => {
3943
+ m(), $?.removeEventListener("change", x);
3754
3944
  });
3755
- const B = () => {
3945
+ const D = () => {
3756
3946
  e.pauseOnHover && (c.value = !0);
3757
- }, R = () => {
3947
+ }, z = () => {
3758
3948
  c.value = !1;
3759
- }, H = () => {
3760
- _.value = !0;
3761
- }, N = (P) => {
3762
- const F = P.currentTarget;
3763
- F && F.contains(P.relatedTarget) || (_.value = !1);
3764
- }, O = (P) => {
3949
+ }, I = () => {
3950
+ S.value = !0;
3951
+ }, H = (P) => {
3952
+ const O = P.currentTarget;
3953
+ O && O.contains(P.relatedTarget) || (S.value = !1);
3954
+ }, j = (P) => {
3765
3955
  a("more-click", P);
3766
- }, j = {
3956
+ }, W = {
3767
3957
  position: "relative",
3768
3958
  overflow: "hidden",
3769
3959
  width: "100%"
3770
3960
  }, U = {
3771
3961
  flex: "0 0 100%",
3772
3962
  width: "100%"
3773
- }, oe = (P) => ({
3963
+ }, ce = (P) => ({
3774
3964
  display: "flex",
3775
3965
  width: "100%",
3776
- gap: h.value > 0 ? `${h.value}px` : void 0,
3777
- transform: `translate3d(calc(${-P} * (100% + ${h.value}px)), 0, 0)`,
3966
+ gap: g.value > 0 ? `${g.value}px` : void 0,
3967
+ transform: `translate3d(calc(${-P} * (100% + ${g.value}px)), 0, 0)`,
3778
3968
  transitionProperty: "transform",
3779
3969
  transitionDuration: `${f.value}ms`,
3780
3970
  transitionTimingFunction: "ease-out",
3781
3971
  willChange: "transform"
3782
- }), ge = (P) => ({
3972
+ }), he = (P) => ({
3783
3973
  position: "absolute",
3784
3974
  top: "50%",
3785
3975
  left: P ? "0" : void 0,
3786
3976
  right: P ? void 0 : "0",
3787
3977
  transform: "translateY(-50%)",
3788
3978
  zIndex: 10
3789
- }), ne = (P, F) => P.map((G, q) => {
3790
- const b = q === F;
3979
+ }), re = (P, O) => P.map((Y, q) => {
3980
+ const w = q === O;
3791
3981
  return t("li", {
3792
- key: G.key ?? `krds-carousel-slide-${q}`,
3793
- class: ["swiper-slide", { "swiper-slide-active": b }],
3982
+ key: Y.key ?? `krds-carousel-slide-${q}`,
3983
+ class: ["swiper-slide", { "swiper-slide-active": w }],
3794
3984
  style: U,
3795
3985
  "aria-roledescription": "slide",
3796
3986
  "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);
3987
+ "aria-hidden": w ? void 0 : "true",
3988
+ inert: w ? void 0 : !0
3989
+ }, [Y]);
3990
+ }), Z = (P, O, Y) => {
3991
+ const q = P === "prev", w = !e.loop && (q ? O <= 0 : O >= s - 1);
3802
3992
  return t("button", {
3803
3993
  type: "button",
3804
- class: [`swiper-button-${P}`, { "swiper-button-disabled": b }],
3805
- style: G ? ge(q) : void 0,
3806
- disabled: b,
3994
+ class: [`swiper-button-${P}`, { "swiper-button-disabled": w }],
3995
+ style: Y ? he(q) : void 0,
3996
+ disabled: w,
3807
3997
  "aria-controls": n.value,
3808
3998
  onClick: q ? i : o
3809
3999
  }, [t("span", { class: "sr-only" }, q ? e.prevLabel : e.nextLabel)]);
3810
- }, ue = () => t("a", {
4000
+ }, fe = () => t("a", {
3811
4001
  href: e.moreHref,
3812
4002
  class: "swiper-button-more",
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" }, [
3815
- t("span", { class: "swiper-pagination-current" }, String(F + 1)),
4003
+ onClick: j
4004
+ }, [t("span", { class: "sr-only" }, e.moreLabel)]), ae = (P, O) => h.value === "fraction" ? t("div", { class: "swiper-pagination swiper-pagination-fraction" }, [
4005
+ t("span", { class: "swiper-pagination-current" }, String(O + 1)),
3816
4006
  t("span", { "aria-hidden": "true" }, "/"),
3817
4007
  t("span", { class: "swiper-pagination-total" }, String(P))
3818
- ]) : t("div", { class: "swiper-pagination" }, Array.from({ length: P }, (G, q) => t("button", {
4008
+ ]) : t("div", { class: "swiper-pagination" }, Array.from({ length: P }, (Y, q) => t("button", {
3819
4009
  key: `krds-carousel-bullet-${q}`,
3820
4010
  type: "button",
3821
- class: ["swiper-pagination-bullet", { "swiper-pagination-bullet-active": q === F }],
4011
+ class: ["swiper-pagination-bullet", { "swiper-pagination-bullet-active": q === O }],
3822
4012
  "aria-label": `${q + 1}번째 슬라이드로 이동`,
3823
- "aria-current": q === F ? "true" : void 0,
4013
+ "aria-current": q === O ? "true" : void 0,
3824
4014
  "aria-controls": n.value,
3825
- onClick: () => p(q)
3826
- }))), de = () => t("div", { class: "swiper-controller" }, [t("button", {
4015
+ onClick: () => v(q)
4016
+ }))), ve = () => t("div", { class: "swiper-controller" }, [t("button", {
3827
4017
  type: "button",
3828
4018
  class: "swiper-button-play",
3829
- style: C.value ? { display: "none" } : void 0,
4019
+ style: y.value ? { display: "none" } : void 0,
3830
4020
  "aria-controls": n.value,
3831
- onClick: g
4021
+ onClick: p
3832
4022
  }, [t("span", { class: "sr-only" }, e.playLabel)]), t("button", {
3833
4023
  type: "button",
3834
4024
  class: "swiper-button-stop",
3835
- style: C.value ? void 0 : { display: "none" },
4025
+ style: y.value ? void 0 : { display: "none" },
3836
4026
  "aria-controls": n.value,
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);
4027
+ onClick: V
4028
+ }, [t("span", { class: "sr-only" }, e.stopLabel)])]), ne = (P, O) => {
4029
+ const Y = e.variant === "banner", q = h.value !== "none", w = !!e.moreHref, F = [];
4030
+ if (q && F.push(ae(P, O)), e.autoplay && F.push(ve()), Y) {
4031
+ const R = [];
4032
+ e.navigation && R.push(Z("prev", O, !1), Z("next", O, !1)), w && R.push(fe()), R.length > 0 && F.push(t("div", { class: "swiper-navigation" }, R));
4033
+ } else w && F.push(fe());
4034
+ return F.length === 0 ? null : t("div", { class: ["swiper-indicator", { "text-center": !Y }] }, F);
3845
4035
  };
3846
4036
  return () => {
3847
- const P = ze(r.default?.()), F = P.length;
3848
- s = F;
3849
- const G = F > 0 ? Math.min(Math.max(d.value, 0), F - 1) : 0, q = e.variant === "banner";
4037
+ const P = ze(r.default?.()), O = P.length;
4038
+ s = O;
4039
+ const Y = O > 0 ? Math.min(Math.max(u.value, 0), O - 1) : 0, q = e.variant === "banner";
3850
4040
  return t("div", {
3851
4041
  id: e.id,
3852
4042
  class: ["krds-carousel", q ? "main-d-ban-swiper" : "vb-swiper"],
@@ -3854,27 +4044,27 @@ var Vt = /* @__PURE__ */ A({
3854
4044
  role: "region",
3855
4045
  "aria-roledescription": "carousel",
3856
4046
  "aria-label": e.ariaLabel,
3857
- onMouseenter: B,
3858
- onMouseleave: R,
3859
- onFocusin: H,
3860
- onFocusout: N
4047
+ onMouseenter: D,
4048
+ onMouseleave: z,
4049
+ onFocusin: I,
4050
+ onFocusout: H
3861
4051
  }, [
3862
4052
  t("div", {
3863
4053
  class: "swiper",
3864
- style: j,
3865
- "aria-live": C.value ? "off" : "polite"
4054
+ style: W,
4055
+ "aria-live": y.value ? "off" : "polite"
3866
4056
  }, [t("ul", {
3867
4057
  id: n.value,
3868
4058
  class: "swiper-wrapper",
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
4059
+ style: ce(Y)
4060
+ }, re(P, Y))]),
4061
+ !q && e.navigation && O > 0 ? Z("prev", Y, !0) : null,
4062
+ !q && e.navigation && O > 0 ? Z("next", Y, !0) : null,
4063
+ O > 0 ? ne(O, Y) : null
3874
4064
  ]);
3875
4065
  };
3876
4066
  }
3877
- }), el = Za, tl = /* @__PURE__ */ A({
4067
+ }), ol = rl, il = /* @__PURE__ */ M({
3878
4068
  name: "KrdsTabs",
3879
4069
  props: {
3880
4070
  tabs: {
@@ -3906,14 +4096,15 @@ var Vt = /* @__PURE__ */ A({
3906
4096
  "update:modelValue": (e) => !0,
3907
4097
  change: (e) => !0
3908
4098
  },
4099
+ slots: Object,
3909
4100
  setup(e, { emit: a, slots: r }) {
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) => {
3911
- c.disabled || c.id === h.value || (d.value = c.id, a("update:modelValue", c.id), a("change", c.id));
3912
- }, C = (c) => {
4101
+ const l = de(), n = (c) => `tab-${l}-${c}`, s = (c) => `panel-${l}-${c}`, u = B(e.tabs.find((c) => !c.disabled)?.id), g = C(() => e.modelValue ?? u.value), h = (c) => {
4102
+ c.disabled || c.id === g.value || (u.value = c.id, a("update:modelValue", c.id), a("change", c.id));
4103
+ }, y = (c) => {
3913
4104
  if (c.key !== "ArrowRight" && c.key !== "ArrowLeft") return;
3914
4105
  c.preventDefault();
3915
- const _ = c.currentTarget;
3916
- (c.key === "ArrowRight" ? _.nextElementSibling : _.previousElementSibling)?.querySelector("button")?.focus();
4106
+ const S = c.currentTarget;
4107
+ (c.key === "ArrowRight" ? S.nextElementSibling : S.previousElementSibling)?.querySelector("button")?.focus();
3917
4108
  };
3918
4109
  return () => t("div", { class: [
3919
4110
  "krds-tab-area",
@@ -3927,136 +4118,138 @@ var Vt = /* @__PURE__ */ A({
3927
4118
  key: c.id,
3928
4119
  id: n(c.id),
3929
4120
  role: "tab",
3930
- "aria-selected": c.id === h.value,
4121
+ "aria-selected": c.id === g.value,
3931
4122
  "aria-controls": s(c.id),
3932
- class: { active: c.id === h.value },
3933
- onKeydown: C
4123
+ class: { active: c.id === g.value },
4124
+ onKeydown: y
3934
4125
  }, [t("button", {
3935
4126
  type: "button",
3936
4127
  class: "btn-tab",
3937
4128
  disabled: c.disabled || void 0,
3938
- onClick: () => v(c)
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", {
4129
+ onClick: () => h(c)
4130
+ }, [c.label, c.id === g.value ? t("i", { class: "sr-only" }, ` ${e.selectedText}`) : null])])))]), t("div", { class: "tab-conts-wrap" }, e.tabs.map((c) => t("section", {
3940
4131
  key: c.id,
3941
4132
  id: s(c.id),
3942
4133
  role: "tabpanel",
3943
4134
  "aria-labelledby": n(c.id),
3944
- class: ["tab-conts", { active: c.id === h.value }]
4135
+ class: ["tab-conts", { active: c.id === g.value }]
3945
4136
  }, r[c.id]?.())))]);
3946
4137
  }
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];
4138
+ }), ul = il, Ve = /* @__PURE__ */ rt({
4139
+ KrdsAccordionGroup: () => xa,
4140
+ KrdsAccordionItem: () => La,
4141
+ KrdsBadge: () => Mt,
4142
+ KrdsBreadcrumb: () => na,
4143
+ KrdsButton: () => ot,
4144
+ KrdsButtonGroup: () => it,
4145
+ KrdsCarousel: () => ol,
4146
+ KrdsCheckArea: () => jt,
4147
+ KrdsCheckbox: () => Yt,
4148
+ KrdsCoachMark: () => ha,
4149
+ KrdsContextualHelp: () => va,
4150
+ KrdsCriticalAlerts: () => Xa,
4151
+ KrdsDateInput: () => xt,
4152
+ KrdsDisclosure: () => Pa,
4153
+ KrdsFileUpload: () => At,
4154
+ KrdsFloatingButton: () => ct,
4155
+ KrdsFooter: () => Va,
4156
+ KrdsFormGroup: () => kt,
4157
+ KrdsFormHint: () => mt,
4158
+ KrdsFormLabel: () => gt,
4159
+ KrdsHeader: () => _a,
4160
+ KrdsIcon: () => ut,
4161
+ KrdsIdentifier: () => za,
4162
+ KrdsInPageNavigation: () => ra,
4163
+ KrdsInput: () => pt,
4164
+ KrdsLanguageSwitcher: () => ba,
4165
+ KrdsLayout: () => Ha,
4166
+ KrdsLink: () => ft,
4167
+ KrdsMainMenu: () => tl,
4168
+ KrdsMasthead: () => Rt,
4169
+ KrdsModal: () => Ka,
4170
+ KrdsPagination: () => ua,
4171
+ KrdsPanel: () => ca,
4172
+ KrdsRadio: () => Ut,
4173
+ KrdsResize: () => Sa,
4174
+ KrdsSelect: () => Et,
4175
+ KrdsSideNavigation: () => Na,
4176
+ KrdsSkipLink: () => aa,
4177
+ KrdsSpinner: () => Xt,
4178
+ KrdsStep: () => ea,
4179
+ KrdsStepIndicator: () => Jt,
4180
+ KrdsStructuredList: () => Wa,
4181
+ KrdsTable: () => Ta,
4182
+ KrdsTabs: () => ul,
4183
+ KrdsTag: () => Ft,
4184
+ KrdsTagGroup: () => Ot,
4185
+ KrdsTextList: () => Ga,
4186
+ KrdsTextarea: () => Lt,
4187
+ KrdsToggleSwitch: () => qt,
4188
+ KrdsTooltip: () => ya,
4189
+ KrdsTts: () => Ea
4190
+ }), Re = "0.0.22", vl = { install(e, a = {}) {
4191
+ e.provide("krds:config", a), (a.components || Object.keys(Ve)).forEach((r) => {
4192
+ const l = Ve[r];
4001
4193
  l && e.component(r, l);
4002
- }), ea(e), e.config.globalProperties.$krds = { version: Fe };
4003
- } }, il = Fe;
4194
+ }), oa(e), e.config.globalProperties.$krds = { version: Re };
4195
+ } }, pl = Re;
4004
4196
  export {
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,
4197
+ xa as KrdsAccordionGroup,
4198
+ La as KrdsAccordionItem,
4199
+ Mt as KrdsBadge,
4200
+ na as KrdsBreadcrumb,
4201
+ ot as KrdsButton,
4202
+ it as KrdsButtonGroup,
4203
+ ol as KrdsCarousel,
4204
+ jt as KrdsCheckArea,
4205
+ Yt as KrdsCheckbox,
4206
+ ha as KrdsCoachMark,
4207
+ va as KrdsContextualHelp,
4208
+ Xa as KrdsCriticalAlerts,
4209
+ xt as KrdsDateInput,
4210
+ Pa as KrdsDisclosure,
4211
+ At as KrdsFileUpload,
4212
+ ct as KrdsFloatingButton,
4213
+ Va as KrdsFooter,
4214
+ kt as KrdsFormGroup,
4215
+ mt as KrdsFormHint,
4216
+ gt as KrdsFormLabel,
4217
+ _a as KrdsHeader,
4218
+ ut as KrdsIcon,
4219
+ za as KrdsIdentifier,
4220
+ ra as KrdsInPageNavigation,
4221
+ pt as KrdsInput,
4222
+ ba as KrdsLanguageSwitcher,
4223
+ Ha as KrdsLayout,
4224
+ ft as KrdsLink,
4225
+ tl as KrdsMainMenu,
4226
+ Rt as KrdsMasthead,
4227
+ Ka as KrdsModal,
4228
+ ua as KrdsPagination,
4229
+ ca as KrdsPanel,
4230
+ Ut as KrdsRadio,
4231
+ Sa as KrdsResize,
4232
+ Et as KrdsSelect,
4233
+ Na as KrdsSideNavigation,
4234
+ aa as KrdsSkipLink,
4235
+ Xt as KrdsSpinner,
4236
+ ea as KrdsStep,
4237
+ Jt as KrdsStepIndicator,
4238
+ Wa as KrdsStructuredList,
4239
+ Ta as KrdsTable,
4240
+ ul as KrdsTabs,
4241
+ Ft as KrdsTag,
4242
+ Ot as KrdsTagGroup,
4243
+ Ga as KrdsTextList,
4244
+ Lt as KrdsTextarea,
4245
+ qt as KrdsToggleSwitch,
4246
+ ya as KrdsTooltip,
4247
+ Ea as KrdsTts,
4055
4248
  $e as classNames,
4056
- rl as default,
4057
- nl as generateId,
4058
- sl as generateUid,
4059
- il as version
4249
+ vl as default,
4250
+ cl as generateId,
4251
+ fl as generateUid,
4252
+ pl as version
4060
4253
  };
4061
4254
 
4062
4255
  //# sourceMappingURL=krds-vue.es.js.map