@krds.ui/vue 0.0.12 → 0.0.13

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,5 +1,5 @@
1
- import { defineComponent as _, computed as h, h as u, ref as B, onMounted as le, onBeforeUnmount as Se, createElementBlock as S, openBlock as k, createElementVNode as r, normalizeClass as E, withDirectives as Q, unref as A, toDisplayString as V, Fragment as F, renderList as N, vShow as te, createBlock as ie, withCtx as de, createTextVNode as P, watch as ae, provide as Ve, inject as Ie, createCommentVNode as Y, onUnmounted as J, resolveDirective as ze, resolveDynamicComponent as ye, renderSlot as G, normalizeStyle as ne, nextTick as we, withModifiers as re, getCurrentInstance as Ee, Teleport as Le } from "vue";
2
- const Ce = _({
1
+ import { defineComponent as K, computed as b, h as s, ref as D, onMounted as ae, onBeforeUnmount as ce, createElementBlock as x, openBlock as w, createElementVNode as c, normalizeClass as M, withDirectives as ee, unref as q, toDisplayString as E, Fragment as j, renderList as G, vShow as le, createBlock as ie, withCtx as re, createTextVNode as H, watch as ne, provide as ze, inject as Ve, createCommentVNode as X, onUnmounted as Z, resolveDirective as Ie, resolveDynamicComponent as ge, renderSlot as J, normalizeStyle as se, nextTick as we, withModifiers as de, getCurrentInstance as Ee, Teleport as Le } from "vue";
2
+ const Ce = K({
3
3
  name: "KrdsButton",
4
4
  props: {
5
5
  type: {
@@ -40,14 +40,14 @@ const Ce = _({
40
40
  }
41
41
  },
42
42
  emits: ["click"],
43
- setup(e, { emit: o, slots: a }) {
44
- const l = h(() => {
45
- const n = ["krds-btn"];
46
- return e.icon && n.push("icon"), e.border && n.push("border"), e.pure && n.push("pure"), e.text && n.push("text"), e.variant && !e.icon && n.push(e.variant), e.size && n.push(e.size), e.class && n.push(e.class), n;
47
- }), t = (n) => {
48
- e.disabled || o("click", n);
43
+ setup(e, { emit: n, slots: a }) {
44
+ const l = b(() => {
45
+ const o = ["krds-btn"];
46
+ return e.icon && o.push("icon"), e.border && o.push("border"), e.pure && o.push("pure"), e.text && o.push("text"), e.variant && !e.icon && o.push(e.variant), e.size && o.push(e.size), e.class && o.push(e.class), o;
47
+ }), t = (o) => {
48
+ e.disabled || n("click", o);
49
49
  };
50
- return () => u(
50
+ return () => s(
51
51
  "button",
52
52
  {
53
53
  type: e.type,
@@ -58,19 +58,19 @@ const Ce = _({
58
58
  a.default?.()
59
59
  );
60
60
  }
61
- }), Me = _({
61
+ }), Me = K({
62
62
  name: "KrdsButtonGroup",
63
63
  props: {},
64
- setup(e, { slots: o }) {
65
- return () => u(
64
+ setup(e, { slots: n }) {
65
+ return () => s(
66
66
  "div",
67
67
  {
68
68
  class: "btn-group"
69
69
  },
70
- o.default?.()
70
+ n.default?.()
71
71
  );
72
72
  }
73
- }), Re = _({
73
+ }), Te = K({
74
74
  name: "KrdsIcon",
75
75
  props: {
76
76
  name: {
@@ -83,11 +83,11 @@ const Ce = _({
83
83
  }
84
84
  },
85
85
  setup(e) {
86
- return () => u("i", {
86
+ return () => s("i", {
87
87
  class: ["svg-icon", e.name, e.class].filter(Boolean).join(" ")
88
88
  });
89
89
  }
90
- }), Te = _({
90
+ }), Re = K({
91
91
  name: "KrdsLink",
92
92
  props: {
93
93
  href: {
@@ -124,29 +124,29 @@ const Ce = _({
124
124
  }
125
125
  },
126
126
  emits: ["click"],
127
- setup(e, { emit: o, slots: a }) {
128
- const l = h(() => {
129
- const i = ["krds-btn"];
130
- return e.size && i.push(e.size), e.link && i.push("link"), e.basic && i.push("basic"), e.pure && i.push("pure"), e.class && i.push(e.class), i;
131
- }), t = h(() => {
132
- const i = {
127
+ setup(e, { emit: n, slots: a }) {
128
+ const l = b(() => {
129
+ const r = ["krds-btn"];
130
+ return e.size && r.push(e.size), e.link && r.push("link"), e.basic && r.push("basic"), e.pure && r.push("pure"), e.class && r.push(e.class), r;
131
+ }), t = b(() => {
132
+ const r = {
133
133
  href: e.href,
134
134
  class: l.value
135
135
  };
136
- return e.target && (i.target = e.target), e.title && (i.title = e.title), e.target === "_blank" && (i.rel = "noopener noreferrer"), i;
137
- }), n = (i) => {
138
- o("click", i);
136
+ return e.target && (r.target = e.target), e.title && (r.title = e.title), e.target === "_blank" && (r.rel = "noopener noreferrer"), r;
137
+ }), o = (r) => {
138
+ n("click", r);
139
139
  };
140
- return () => u(
140
+ return () => s(
141
141
  "a",
142
142
  {
143
143
  ...t.value,
144
- onClick: n
144
+ onClick: o
145
145
  },
146
146
  a.default?.()
147
147
  );
148
148
  }
149
- }), xe = _({
149
+ }), xe = K({
150
150
  name: "KrdsSpinner",
151
151
  props: {
152
152
  label: {
@@ -155,10 +155,10 @@ const Ce = _({
155
155
  }
156
156
  },
157
157
  render() {
158
- const e = [u("span", { class: "sr-only" }, "로딩 중")];
159
- return this.label && e.push(u("span", this.label)), u("div", { class: "krds-spinner", role: "status" }, e);
158
+ const e = [s("span", { class: "sr-only" }, "로딩 중")];
159
+ return this.label && e.push(s("span", this.label)), s("div", { class: "krds-spinner", role: "status" }, e);
160
160
  }
161
- }), Ae = _({
161
+ }), Ae = K({
162
162
  name: "KrdsInput",
163
163
  props: {
164
164
  modelValue: {
@@ -247,25 +247,25 @@ const Ce = _({
247
247
  }
248
248
  },
249
249
  emits: ["update:modelValue", "input", "change", "focus", "blur", "keydown", "keyup"],
250
- setup(e, { emit: o, slots: a }) {
251
- const l = h(() => {
252
- const b = ["krds-input"];
253
- return e.size && b.push(e.size), e.class && b.push(e.class), b;
254
- }), t = (b) => {
255
- const D = b.target, m = e.type === "number" ? Number(D.value) : D.value;
256
- o("update:modelValue", m), o("input", b);
257
- }, n = (b) => {
258
- o("change", b);
259
- }, i = (b) => {
260
- o("focus", b);
261
- }, v = (b) => {
262
- o("blur", b);
263
- }, p = (b) => {
264
- o("keydown", b);
265
- }, y = (b) => {
266
- o("keyup", b);
267
- }, g = h(() => {
268
- const b = {
250
+ setup(e, { emit: n, slots: a }) {
251
+ const l = b(() => {
252
+ const S = ["krds-input"];
253
+ return e.size && S.push(e.size), e.class && S.push(e.class), S;
254
+ }), t = (S) => {
255
+ const V = S.target, m = e.type === "number" ? Number(V.value) : V.value;
256
+ n("update:modelValue", m), n("input", S);
257
+ }, o = (S) => {
258
+ n("change", S);
259
+ }, r = (S) => {
260
+ n("focus", S);
261
+ }, h = (S) => {
262
+ n("blur", S);
263
+ }, u = (S) => {
264
+ n("keydown", S);
265
+ }, g = (S) => {
266
+ n("keyup", S);
267
+ }, y = b(() => {
268
+ const S = {
269
269
  type: e.type,
270
270
  class: l.value,
271
271
  value: e.modelValue,
@@ -278,23 +278,23 @@ const Ce = _({
278
278
  autocomplete: e.autocomplete,
279
279
  autofocus: e.autofocus,
280
280
  onInput: t,
281
- onChange: n,
282
- onFocus: i,
283
- onBlur: v,
284
- onKeydown: p,
285
- onKeyup: y
281
+ onChange: o,
282
+ onFocus: r,
283
+ onBlur: h,
284
+ onKeydown: u,
285
+ onKeyup: g
286
286
  };
287
- return e.maxlength !== void 0 && (b.maxlength = e.maxlength), e.minlength !== void 0 && (b.minlength = e.minlength), e.type === "number" && (e.max !== void 0 && (b.max = e.max), e.min !== void 0 && (b.min = e.min), e.step !== void 0 && (b.step = e.step)), b;
288
- }), w = h(() => {
289
- const b = ["form-conts"];
290
- return e.state !== "default" && b.push(`is-${e.state}`), e.icon && b.push("btn-ico-wrap"), b;
287
+ 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;
288
+ }), C = b(() => {
289
+ const S = ["form-conts"];
290
+ return e.state !== "default" && S.push(`is-${e.state}`), e.icon && S.push("btn-ico-wrap"), S;
291
291
  });
292
292
  return () => {
293
- const b = [u("input", g.value)];
294
- return e.loading ? u("div", { class: w.value }, [u("div", { class: "form-spinner" }, [...b, u(xe)])]) : (a.default && b.push(...a.default()), u("div", { class: w.value }, b));
293
+ const S = [s("input", y.value)];
294
+ return e.loading ? s("div", { class: C.value }, [s("div", { class: "form-spinner" }, [...S, s(xe)])]) : (a.default && S.push(...a.default()), s("div", { class: C.value }, S));
295
295
  };
296
296
  }
297
- }), Pe = _({
297
+ }), Fe = K({
298
298
  name: "KrdsFormLabel",
299
299
  props: {
300
300
  for: {
@@ -315,12 +315,12 @@ const Ce = _({
315
315
  }
316
316
  },
317
317
  emits: ["click"],
318
- setup(e, { emit: o, slots: a }) {
318
+ setup(e, { emit: n, slots: a }) {
319
319
  const l = (t) => {
320
- o("click", t);
320
+ n("click", t);
321
321
  };
322
- return () => u("div", { class: "form-tit" }, [
323
- u(
322
+ return () => s("div", { class: "form-tit" }, [
323
+ s(
324
324
  "label",
325
325
  {
326
326
  for: e.for,
@@ -333,7 +333,7 @@ const Ce = _({
333
333
  )
334
334
  ]);
335
335
  }
336
- }), Fe = _({
336
+ }), Pe = K({
337
337
  name: "KrdsFormHint",
338
338
  props: {
339
339
  type: {
@@ -354,28 +354,28 @@ const Ce = _({
354
354
  }
355
355
  },
356
356
  emits: ["click"],
357
- setup(e, { emit: o, slots: a }) {
358
- const l = (n) => {
359
- o("click", n);
357
+ setup(e, { emit: n, slots: a }) {
358
+ const l = (o) => {
359
+ n("click", o);
360
360
  }, t = () => {
361
- let n;
361
+ let o;
362
362
  switch (e.type) {
363
363
  case "error":
364
- n = "form-hint-invalid";
364
+ o = "form-hint-invalid";
365
365
  break;
366
366
  case "success":
367
- n = "form-hint-success";
367
+ o = "form-hint-success";
368
368
  break;
369
369
  case "information":
370
- n = "form-hint-information";
370
+ o = "form-hint-information";
371
371
  break;
372
372
  default:
373
- n = "form-hint";
373
+ o = "form-hint";
374
374
  break;
375
375
  }
376
- return e.class ? `${n} ${e.class}` : n;
376
+ return e.class ? `${o} ${e.class}` : o;
377
377
  };
378
- return () => u(
378
+ return () => s(
379
379
  "p",
380
380
  {
381
381
  id: e.id,
@@ -386,7 +386,7 @@ const Ce = _({
386
386
  a.default?.()
387
387
  );
388
388
  }
389
- }), Oe = _({
389
+ }), Oe = K({
390
390
  name: "KrdsFormGroup",
391
391
  props: {
392
392
  class: {
@@ -402,94 +402,94 @@ const Ce = _({
402
402
  default: void 0
403
403
  }
404
404
  },
405
- setup(e, { slots: o }) {
406
- const a = h(() => {
405
+ setup(e, { slots: n }) {
406
+ const a = b(() => {
407
407
  const l = ["form-group"];
408
408
  return e.class && l.push(e.class), l;
409
409
  });
410
- return () => u(
410
+ return () => s(
411
411
  "div",
412
412
  {
413
413
  id: e.id,
414
414
  class: a.value,
415
415
  style: e.style
416
416
  },
417
- o.default?.()
417
+ n.default?.()
418
418
  );
419
419
  }
420
420
  });
421
- function qe(e, o) {
422
- const a = /* @__PURE__ */ new Date(), l = B(e || a.getFullYear()), t = B(o || a.getMonth() + 1), n = B(null), i = B(null), v = B(null), p = h(() => {
423
- const c = a.getFullYear(), d = [];
424
- for (let f = c - 10; f <= c + 10; f++)
425
- d.push(f);
421
+ function qe(e, n) {
422
+ const a = /* @__PURE__ */ new Date(), l = D(e || a.getFullYear()), t = D(n || a.getMonth() + 1), o = D(null), r = D(null), h = D(null), u = b(() => {
423
+ const f = a.getFullYear(), d = [];
424
+ for (let v = f - 10; v <= f + 10; v++)
425
+ d.push(v);
426
426
  return d;
427
- }), y = h(() => Array.from({ length: 12 }, (c, d) => d + 1)), g = () => {
428
- n.value = null, i.value = null;
429
- }, w = () => {
427
+ }), g = b(() => Array.from({ length: 12 }, (f, d) => d + 1)), y = () => {
428
+ o.value = null, r.value = null;
429
+ }, C = () => {
430
430
  t.value === 1 ? (t.value = 12, l.value -= 1) : t.value -= 1;
431
- }, b = () => {
431
+ }, S = () => {
432
432
  t.value === 12 ? (t.value = 1, l.value += 1) : t.value += 1;
433
- }, D = (c, d = !1) => {
433
+ }, V = (f, d = !1) => {
434
434
  if (d)
435
- n.value = c, i.value = c;
436
- else if (!n.value || n.value && i.value)
437
- n.value = c, i.value = null;
435
+ o.value = f, r.value = f;
436
+ else if (!o.value || o.value && r.value)
437
+ o.value = f, r.value = null;
438
438
  else {
439
- const f = new Date(n.value.replace(/\./g, "-"));
440
- new Date(c.replace(/\./g, "-")) < f ? (n.value = c, i.value = null) : i.value = c;
439
+ const v = new Date(o.value.replace(/\./g, "-"));
440
+ new Date(f.replace(/\./g, "-")) < v ? (o.value = f, r.value = null) : r.value = f;
441
441
  }
442
442
  };
443
443
  return {
444
444
  // State
445
445
  currentYear: l,
446
446
  currentMonth: t,
447
- selectedStartDate: n,
448
- selectedEndDate: i,
449
- activeDateSelector: v,
447
+ selectedStartDate: o,
448
+ selectedEndDate: r,
449
+ activeDateSelector: h,
450
450
  // Computed
451
- yearOptions: p,
452
- monthOptions: y,
451
+ yearOptions: u,
452
+ monthOptions: g,
453
453
  // Methods
454
- clearDateSelection: g,
455
- prevMonth: w,
456
- nextMonth: b,
457
- handleDateSelection: D,
454
+ clearDateSelection: y,
455
+ prevMonth: C,
456
+ nextMonth: S,
457
+ handleDateSelection: V,
458
458
  selectToday: () => {
459
- const c = `${a.getFullYear()}.${String(a.getMonth() + 1).padStart(2, "0")}.${String(a.getDate()).padStart(2, "0")}`;
460
- D(c, !0);
459
+ const f = `${a.getFullYear()}.${String(a.getMonth() + 1).padStart(2, "0")}.${String(a.getDate()).padStart(2, "0")}`;
460
+ V(f, !0);
461
461
  },
462
- isDateInSelectedRange: (c) => {
463
- if (!n.value || !i.value)
462
+ isDateInSelectedRange: (f) => {
463
+ if (!o.value || !r.value)
464
464
  return { isInRange: !1, isStart: !1, isEnd: !1 };
465
- const d = new Date(c.replace(/\./g, "-")), f = new Date(n.value.replace(/\./g, "-")), x = new Date(i.value.replace(/\./g, "-")), R = c === n.value, L = c === i.value;
466
- return { isInRange: d >= f && d <= x, isStart: R, isEnd: L };
465
+ const d = new Date(f.replace(/\./g, "-")), v = new Date(o.value.replace(/\./g, "-")), $ = new Date(r.value.replace(/\./g, "-")), F = f === o.value, T = f === r.value;
466
+ return { isInRange: d >= v && d <= $, isStart: F, isEnd: T };
467
467
  }
468
468
  };
469
469
  }
470
- function Ne(e, o, a = {}) {
470
+ function Ne(e, n, a = {}) {
471
471
  let l = null;
472
- const t = typeof a == "string" ? { ignore: a } : a, { ignore: n, event: i = "click" } = t, v = () => {
473
- l = (y) => {
474
- const g = y.target;
475
- e.value?.contains(g) || n && g.closest(n) || o();
476
- }, document.addEventListener(i, l);
477
- }, p = () => {
472
+ const t = typeof a == "string" ? { ignore: a } : a, { ignore: o, event: r = "click" } = t, h = () => {
473
+ l = (g) => {
474
+ const y = g.target;
475
+ e.value?.contains(y) || o && y.closest(o) || n();
476
+ }, document.addEventListener(r, l);
477
+ }, u = () => {
478
478
  if (l) {
479
- const y = typeof a == "string" ? "click" : a.event || "click";
480
- document.removeEventListener(y, l), l = null;
479
+ const g = typeof a == "string" ? "click" : a.event || "click";
480
+ document.removeEventListener(g, l), l = null;
481
481
  }
482
482
  };
483
- return le(() => {
484
- v();
485
- }), Se(() => {
486
- p();
483
+ return ae(() => {
484
+ h();
485
+ }), ce(() => {
486
+ u();
487
487
  }), {
488
- setupGlobalListeners: v,
489
- removeGlobalListeners: p
488
+ setupGlobalListeners: h,
489
+ removeGlobalListeners: u
490
490
  };
491
491
  }
492
- const He = { class: "form-conts" }, je = { class: "calendar-input" }, We = ["id", "name", "placeholder", "value", "readonly", "disabled", "required", "autofocus"], Ye = ["disabled", "aria-expanded"], Ge = { class: "calendar-head" }, Ue = { class: "calendar-switch-wrap" }, Xe = { class: "calendar-drop-down" }, Je = ["aria-expanded"], Qe = { class: "calendar-select calendar-year-wrap" }, Ze = { class: "sel year" }, et = ["onClick"], tt = { class: "calendar-drop-down" }, lt = ["aria-expanded"], at = { class: "calendar-select calendar-mon-wrap" }, nt = { class: "sel month" }, st = ["onClick"], ot = { class: "calendar-body" }, it = { class: "calendar-table-wrap" }, dt = { class: "calendar-tbl" }, rt = ["data-date"], ct = ["aria-pressed", "onClick"], ut = { class: "calendar-footer" }, ft = { class: "calendar-btn-wrap" }, vt = /* @__PURE__ */ _({
492
+ const He = { class: "form-conts" }, We = { class: "calendar-input" }, je = ["id", "name", "placeholder", "value", "readonly", "disabled", "required", "autofocus"], Ye = ["disabled", "aria-expanded"], Ge = { class: "calendar-head" }, Ue = { class: "calendar-switch-wrap" }, Xe = { class: "calendar-drop-down" }, Je = ["aria-expanded"], Qe = { class: "calendar-select calendar-year-wrap" }, Ze = { class: "sel year" }, et = ["onClick"], tt = { class: "calendar-drop-down" }, lt = ["aria-expanded"], at = { class: "calendar-select calendar-mon-wrap" }, nt = { class: "sel month" }, st = ["onClick"], ot = { class: "calendar-body" }, it = { class: "calendar-table-wrap" }, rt = { class: "calendar-tbl" }, dt = ["data-date"], ct = ["aria-pressed", "onClick"], ut = { class: "calendar-footer" }, ft = { class: "calendar-btn-wrap" }, vt = /* @__PURE__ */ K({
493
493
  __name: "KrdsDateInput",
494
494
  props: {
495
495
  modelValue: { default: void 0 },
@@ -509,59 +509,59 @@ const He = { class: "form-conts" }, je = { class: "calendar-input" }, We = ["id"
509
509
  id: { default: void 0 }
510
510
  },
511
511
  emits: ["update:modelValue", "input", "change", "focus", "blur"],
512
- setup(e, { emit: o }) {
513
- const a = e, l = o, t = B(), n = B(), i = B(!1), v = B(null), {
514
- currentYear: p,
515
- currentMonth: y,
516
- selectedStartDate: g,
517
- selectedEndDate: w,
518
- yearOptions: b,
519
- monthOptions: D,
512
+ setup(e, { emit: n }) {
513
+ const a = e, l = n, t = D(), o = D(), r = D(!1), h = D(null), {
514
+ currentYear: u,
515
+ currentMonth: g,
516
+ selectedStartDate: y,
517
+ selectedEndDate: C,
518
+ yearOptions: S,
519
+ monthOptions: V,
520
520
  prevMonth: m,
521
- nextMonth: s,
522
- handleDateSelection: c,
521
+ nextMonth: i,
522
+ handleDateSelection: f,
523
523
  selectToday: d,
524
- isDateInSelectedRange: f
525
- } = qe(a.initialYear, a.initialMonth), x = () => {
526
- i.value && n.value?.focus(), i.value = !1, v.value = null;
524
+ isDateInSelectedRange: v
525
+ } = qe(a.initialYear, a.initialMonth), $ = () => {
526
+ r.value && o.value?.focus(), r.value = !1, h.value = null;
527
527
  };
528
- Ne(t, x, ".calendar-conts");
529
- const R = h(() => {
530
- const C = ["krds-input", "datepicker", "cal"];
531
- return a.size && C.push(a.size), a.class && C.push(a.class), C;
532
- }), L = h(() => ["form-conts", "calendar-conts"]), M = h(() => ({
528
+ Ne(t, $, ".calendar-conts");
529
+ const F = b(() => {
530
+ const B = ["krds-input", "datepicker", "cal"];
531
+ return a.size && B.push(a.size), a.class && B.push(a.class), B;
532
+ }), T = b(() => ["form-conts", "calendar-conts"]), R = b(() => ({
533
533
  "krds-calendar-area": !0,
534
- active: i.value
535
- })), z = h(() => {
536
- const C = p.value, $ = y.value, K = new Date(C, $ - 1, 1), U = new Date(K);
537
- U.setDate(U.getDate() - K.getDay());
538
- const W = [], T = new Date(U);
534
+ active: r.value
535
+ })), I = b(() => {
536
+ const B = u.value, _ = g.value, z = new Date(B, _ - 1, 1), Q = new Date(z);
537
+ Q.setDate(Q.getDate() - z.getDay());
538
+ const U = [], O = new Date(Q);
539
539
  for (let oe = 0; oe < 6; oe++) {
540
- const pe = [];
541
- for (let me = 0; me < 7; me++) {
542
- const De = `${T.getFullYear()}.${String(T.getMonth() + 1).padStart(2, "0")}.${String(T.getDate()).padStart(2, "0")}`, he = T.getDay();
543
- pe.push({
544
- day: T.getDate(),
540
+ const me = [];
541
+ for (let pe = 0; pe < 7; pe++) {
542
+ const De = `${O.getFullYear()}.${String(O.getMonth() + 1).padStart(2, "0")}.${String(O.getDate()).padStart(2, "0")}`, ye = O.getDay();
543
+ me.push({
544
+ day: O.getDate(),
545
545
  dateString: De,
546
- isCurrentMonth: T.getMonth() === $ - 1,
547
- isToday: T.toDateString() === (/* @__PURE__ */ new Date()).toDateString(),
548
- isPrevMonth: T.getMonth() < $ - 1 || T.getMonth() === 11 && $ === 1,
549
- isNextMonth: T.getMonth() > $ - 1 || T.getMonth() === 0 && $ === 12,
550
- isSunday: he === 0,
551
- isSaturday: he === 6
552
- }), T.setDate(T.getDate() + 1);
546
+ isCurrentMonth: O.getMonth() === _ - 1,
547
+ isToday: O.toDateString() === (/* @__PURE__ */ new Date()).toDateString(),
548
+ isPrevMonth: O.getMonth() < _ - 1 || O.getMonth() === 11 && _ === 1,
549
+ isNextMonth: O.getMonth() > _ - 1 || O.getMonth() === 0 && _ === 12,
550
+ isSunday: ye === 0,
551
+ isSaturday: ye === 6
552
+ }), O.setDate(O.getDate() + 1);
553
553
  }
554
- W.push(pe);
554
+ U.push(me);
555
555
  }
556
- return W;
557
- }), H = (C) => {
558
- const $ = [];
559
- if (C.isPrevMonth && $.push("old"), C.isNextMonth && $.push("new"), C.isToday && $.push("today"), C.isSunday && $.push("day-off"), a.holidays?.includes(C.dateString) && $.push("day-off"), a.eventDates?.includes(C.dateString) && $.push("day-event"), C.isCurrentMonth) {
560
- const K = f(C.dateString);
561
- K.isInRange && ($.push("period"), K.isStart && $.push("start"), K.isEnd && $.push("end"));
556
+ return U;
557
+ }), p = (B) => {
558
+ const _ = [];
559
+ if (B.isPrevMonth && _.push("old"), B.isNextMonth && _.push("new"), B.isToday && _.push("today"), B.isSunday && _.push("day-off"), a.holidays?.includes(B.dateString) && _.push("day-off"), a.eventDates?.includes(B.dateString) && _.push("day-event"), B.isCurrentMonth) {
560
+ const z = v(B.dateString);
561
+ z.isInRange && (_.push("period"), z.isStart && _.push("start"), z.isEnd && _.push("end"));
562
562
  }
563
- return $;
564
- }, I = h(() => [
563
+ return _;
564
+ }, k = b(() => [
565
565
  {
566
566
  id: "get-today",
567
567
  label: "오늘",
@@ -576,7 +576,7 @@ const He = { class: "form-conts" }, je = { class: "calendar-input" }, We = ["id"
576
576
  class: void 0,
577
577
  variant: "tertiary",
578
578
  size: "small",
579
- handler: x
579
+ handler: $
580
580
  },
581
581
  {
582
582
  id: "confirm-btn",
@@ -584,50 +584,50 @@ const He = { class: "form-conts" }, je = { class: "calendar-input" }, We = ["id"
584
584
  class: void 0,
585
585
  variant: "primary",
586
586
  size: "small",
587
- handler: X
587
+ handler: W
588
588
  }
589
- ]), j = (C) => {
590
- v.value === C ? v.value = null : v.value = C;
591
- }, Z = (C) => {
592
- p.value = C, v.value = null;
593
- }, se = (C) => {
594
- y.value = C, v.value = null;
595
- }, X = () => {
596
- if (g.value) {
597
- if (w.value && g.value !== w.value) {
598
- const C = `${g.value} ~ ${w.value}`;
599
- l("update:modelValue", C);
589
+ ]), L = (B) => {
590
+ h.value === B ? h.value = null : h.value = B;
591
+ }, P = (B) => {
592
+ u.value = B, h.value = null;
593
+ }, A = (B) => {
594
+ g.value = B, h.value = null;
595
+ }, W = () => {
596
+ if (y.value) {
597
+ if (C.value && y.value !== C.value) {
598
+ const B = `${y.value} ~ ${C.value}`;
599
+ l("update:modelValue", B);
600
600
  } else
601
- l("update:modelValue", g.value);
602
- x();
601
+ l("update:modelValue", y.value);
602
+ $();
603
603
  }
604
- }, O = () => {
605
- i.value = !0, v.value = null, setTimeout(() => {
604
+ }, N = () => {
605
+ r.value = !0, h.value = null, setTimeout(() => {
606
606
  t.value?.querySelector(".calendar-wrap")?.focus();
607
607
  }, 50);
608
- }, q = () => {
609
- i.value ? x() : O();
610
- }, ve = (C) => {
611
- C.code === "Escape" && (v.value ? v.value = null : i.value && x());
612
- }, ee = (C) => {
613
- const $ = C.target;
614
- l("update:modelValue", $.value), l("input", C);
615
- }, _e = (C) => {
616
- l("change", C);
617
- }, Be = (C) => {
618
- l("focus", C);
619
- }, Ke = (C) => {
620
- l("blur", C);
608
+ }, Y = () => {
609
+ r.value ? $() : N();
610
+ }, he = (B) => {
611
+ B.code === "Escape" && (h.value ? h.value = null : r.value && $());
612
+ }, te = (B) => {
613
+ const _ = B.target;
614
+ l("update:modelValue", _.value), l("input", B);
615
+ }, Be = (B) => {
616
+ l("change", B);
617
+ }, Ke = (B) => {
618
+ l("focus", B);
619
+ }, _e = (B) => {
620
+ l("blur", B);
621
621
  };
622
- return (C, $) => (k(), S("div", He, [
623
- r("div", {
624
- class: E(L.value)
622
+ return (B, _) => (w(), x("div", He, [
623
+ c("div", {
624
+ class: M(T.value)
625
625
  }, [
626
- r("div", je, [
627
- r("input", {
626
+ c("div", We, [
627
+ c("input", {
628
628
  id: e.id,
629
629
  name: e.name,
630
- class: E(R.value),
630
+ class: M(F.value),
631
631
  placeholder: e.placeholder,
632
632
  value: e.modelValue,
633
633
  readonly: e.readonly,
@@ -635,160 +635,160 @@ const He = { class: "form-conts" }, je = { class: "calendar-input" }, We = ["id"
635
635
  required: e.required,
636
636
  autofocus: e.autofocus,
637
637
  type: "text",
638
- onInput: ee,
639
- onChange: _e,
640
- onFocus: Be,
641
- onBlur: Ke
642
- }, null, 42, We),
643
- r("button", {
638
+ onInput: te,
639
+ onChange: Be,
640
+ onFocus: Ke,
641
+ onBlur: _e
642
+ }, null, 42, je),
643
+ c("button", {
644
644
  ref_key: "datePickerButtonRef",
645
- ref: n,
646
- class: E(`krds-btn ${e.size || "medium"} icon form-btn-datepicker`),
645
+ ref: o,
646
+ class: M(`krds-btn ${e.size || "medium"} icon form-btn-datepicker`),
647
647
  disabled: e.disabled,
648
- "aria-expanded": i.value,
648
+ "aria-expanded": r.value,
649
649
  type: "button",
650
- onClick: q
651
- }, [...$[4] || ($[4] = [
652
- r("span", { class: "sr-only" }, "달력 열기", -1),
653
- r("i", { class: "svg-icon ico-calendar" }, null, -1)
650
+ onClick: Y
651
+ }, [..._[4] || (_[4] = [
652
+ c("span", { class: "sr-only" }, "달력 열기", -1),
653
+ c("i", { class: "svg-icon ico-calendar" }, null, -1)
654
654
  ])], 10, Ye)
655
655
  ]),
656
- r("div", {
656
+ c("div", {
657
657
  ref_key: "datePickerAreaRef",
658
658
  ref: t,
659
- class: E(M.value)
659
+ class: M(R.value)
660
660
  }, [
661
- Q(r("div", {
661
+ ee(c("div", {
662
662
  class: "calendar-wrap bottom",
663
663
  "aria-label": "달력",
664
664
  tabindex: "0",
665
- onKeydown: ve
665
+ onKeydown: he
666
666
  }, [
667
- r("div", Ge, [
668
- r("button", {
667
+ c("div", Ge, [
668
+ c("button", {
669
669
  type: "button",
670
670
  class: "btn-cal-move prev",
671
- onClick: $[0] || ($[0] = //@ts-ignore
672
- (...K) => A(m) && A(m)(...K))
673
- }, [...$[5] || ($[5] = [
674
- r("span", { class: "sr-only" }, "이전 달", -1)
671
+ onClick: _[0] || (_[0] = //@ts-ignore
672
+ (...z) => q(m) && q(m)(...z))
673
+ }, [..._[5] || (_[5] = [
674
+ c("span", { class: "sr-only" }, "이전 달", -1)
675
675
  ])]),
676
- r("div", Ue, [
677
- r("div", Xe, [
678
- r("button", {
676
+ c("div", Ue, [
677
+ c("div", Xe, [
678
+ c("button", {
679
679
  type: "button",
680
680
  class: "btn-cal-switch year",
681
681
  "aria-label": "연도 선택",
682
- "aria-expanded": v.value === "year",
683
- onClick: $[1] || ($[1] = (K) => j("year"))
684
- }, V(A(p)) + "년 ", 9, Je),
685
- Q(r("div", Qe, [
686
- r("ul", Ze, [
687
- (k(!0), S(F, null, N(A(b), (K) => (k(), S("li", { key: K }, [
688
- r("button", {
682
+ "aria-expanded": h.value === "year",
683
+ onClick: _[1] || (_[1] = (z) => L("year"))
684
+ }, E(q(u)) + "년 ", 9, Je),
685
+ ee(c("div", Qe, [
686
+ c("ul", Ze, [
687
+ (w(!0), x(j, null, G(q(S), (z) => (w(), x("li", { key: z }, [
688
+ c("button", {
689
689
  type: "button",
690
- class: E({ active: K === A(p) }),
691
- onClick: (U) => Z(K)
692
- }, V(K) + "년", 11, et)
690
+ class: M({ active: z === q(u) }),
691
+ onClick: (Q) => P(z)
692
+ }, E(z) + "년", 11, et)
693
693
  ]))), 128))
694
694
  ])
695
695
  ], 512), [
696
- [te, v.value === "year"]
696
+ [le, h.value === "year"]
697
697
  ])
698
698
  ]),
699
- r("div", tt, [
700
- r("button", {
699
+ c("div", tt, [
700
+ c("button", {
701
701
  type: "button",
702
702
  class: "btn-cal-switch month",
703
703
  "aria-label": "월 선택",
704
- "aria-expanded": v.value === "month",
705
- onClick: $[2] || ($[2] = (K) => j("month"))
706
- }, V(A(y).toString().padStart(2, "0")) + "월 ", 9, lt),
707
- Q(r("div", at, [
708
- r("ul", nt, [
709
- (k(!0), S(F, null, N(A(D), (K) => (k(), S("li", { key: K }, [
710
- r("button", {
704
+ "aria-expanded": h.value === "month",
705
+ onClick: _[2] || (_[2] = (z) => L("month"))
706
+ }, E(q(g).toString().padStart(2, "0")) + "월 ", 9, lt),
707
+ ee(c("div", at, [
708
+ c("ul", nt, [
709
+ (w(!0), x(j, null, G(q(V), (z) => (w(), x("li", { key: z }, [
710
+ c("button", {
711
711
  type: "button",
712
- class: E({ active: K === A(y) }),
713
- onClick: (U) => se(K)
714
- }, V(K.toString().padStart(2, "0")) + "월 ", 11, st)
712
+ class: M({ active: z === q(g) }),
713
+ onClick: (Q) => A(z)
714
+ }, E(z.toString().padStart(2, "0")) + "월 ", 11, st)
715
715
  ]))), 128))
716
716
  ])
717
717
  ], 512), [
718
- [te, v.value === "month"]
718
+ [le, h.value === "month"]
719
719
  ])
720
720
  ])
721
721
  ]),
722
- r("button", {
722
+ c("button", {
723
723
  type: "button",
724
724
  class: "btn-cal-move next",
725
- onClick: $[3] || ($[3] = //@ts-ignore
726
- (...K) => A(s) && A(s)(...K))
727
- }, [...$[6] || ($[6] = [
728
- r("span", { class: "sr-only" }, "다음 달", -1)
725
+ onClick: _[3] || (_[3] = //@ts-ignore
726
+ (...z) => q(i) && q(i)(...z))
727
+ }, [..._[6] || (_[6] = [
728
+ c("span", { class: "sr-only" }, "다음 달", -1)
729
729
  ])])
730
730
  ]),
731
- r("div", ot, [
732
- r("div", it, [
733
- r("table", dt, [
734
- r("caption", null, V(A(p)) + "년 " + V(A(y).toString().padStart(2, "0")) + "월", 1),
735
- $[7] || ($[7] = r("thead", null, [
736
- r("tr", null, [
737
- r("th", null, "일"),
738
- r("th", null, "월"),
739
- r("th", null, "화"),
740
- r("th", null, "수"),
741
- r("th", null, "목"),
742
- r("th", null, "금"),
743
- r("th", null, "토")
731
+ c("div", ot, [
732
+ c("div", it, [
733
+ c("table", rt, [
734
+ c("caption", null, E(q(u)) + "년 " + E(q(g).toString().padStart(2, "0")) + "월", 1),
735
+ _[7] || (_[7] = c("thead", null, [
736
+ c("tr", null, [
737
+ c("th", null, "일"),
738
+ c("th", null, "월"),
739
+ c("th", null, "화"),
740
+ c("th", null, "수"),
741
+ c("th", null, "목"),
742
+ c("th", null, "금"),
743
+ c("th", null, "토")
744
744
  ])
745
745
  ], -1)),
746
- r("tbody", null, [
747
- (k(!0), S(F, null, N(z.value, (K, U) => (k(), S("tr", { key: U }, [
748
- (k(!0), S(F, null, N(K, (W, T) => (k(), S("td", {
749
- key: T,
750
- class: E(H(W)),
751
- "data-date": W.dateString
746
+ c("tbody", null, [
747
+ (w(!0), x(j, null, G(I.value, (z, Q) => (w(), x("tr", { key: Q }, [
748
+ (w(!0), x(j, null, G(z, (U, O) => (w(), x("td", {
749
+ key: O,
750
+ class: M(p(U)),
751
+ "data-date": U.dateString
752
752
  }, [
753
- r("button", {
753
+ c("button", {
754
754
  type: "button",
755
755
  class: "btn-set-date",
756
- "aria-pressed": A(f)(W.dateString).isInRange ? "true" : "false",
757
- onClick: (oe) => A(c)(W.dateString)
756
+ "aria-pressed": q(v)(U.dateString).isInRange ? "true" : "false",
757
+ onClick: (oe) => q(f)(U.dateString)
758
758
  }, [
759
- r("span", null, V(W.day), 1)
759
+ c("span", null, E(U.day), 1)
760
760
  ], 8, ct)
761
- ], 10, rt))), 128))
761
+ ], 10, dt))), 128))
762
762
  ]))), 128))
763
763
  ])
764
764
  ])
765
765
  ])
766
766
  ]),
767
- r("div", ut, [
768
- r("div", ft, [
769
- (k(!0), S(F, null, N(I.value, (K) => (k(), ie(A(Ce), {
770
- id: K.id,
771
- key: K.id,
772
- class: E(K.class),
773
- variant: K.variant,
774
- size: K.size,
775
- onClick: K.handler
767
+ c("div", ut, [
768
+ c("div", ft, [
769
+ (w(!0), x(j, null, G(k.value, (z) => (w(), ie(q(Ce), {
770
+ id: z.id,
771
+ key: z.id,
772
+ class: M(z.class),
773
+ variant: z.variant,
774
+ size: z.size,
775
+ onClick: z.handler
776
776
  }, {
777
- default: de(() => [
778
- P(V(K.label), 1)
777
+ default: re(() => [
778
+ H(E(z.label), 1)
779
779
  ]),
780
780
  _: 2
781
781
  }, 1032, ["id", "class", "variant", "size", "onClick"]))), 128))
782
782
  ])
783
783
  ])
784
784
  ], 544), [
785
- [te, i.value]
785
+ [le, r.value]
786
786
  ])
787
787
  ], 2)
788
788
  ], 2)
789
789
  ]));
790
790
  }
791
- }), pt = _({
791
+ }), ht = K({
792
792
  name: "KrdsTextarea",
793
793
  props: {
794
794
  modelValue: {
@@ -862,36 +862,36 @@ const He = { class: "form-conts" }, je = { class: "calendar-input" }, We = ["id"
862
862
  }
863
863
  },
864
864
  emits: ["update:modelValue", "input", "change", "focus", "blur", "keydown", "keyup"],
865
- setup(e, { emit: o }) {
866
- const a = B(0);
867
- ae(
865
+ setup(e, { emit: n }) {
866
+ const a = D(0);
867
+ ne(
868
868
  () => e.modelValue,
869
- (s) => {
870
- a.value = (s || "").length;
869
+ (i) => {
870
+ a.value = (i || "").length;
871
871
  },
872
872
  { immediate: !0 }
873
873
  );
874
- const l = h(() => {
875
- const s = ["krds-input"];
876
- return e.size && s.push(e.size), e.class && s.push(e.class), s;
877
- }), t = h(() => {
878
- const s = {};
879
- return e.resize && (s.resize = e.resize), s;
880
- }), n = (s) => {
881
- const d = s.target.value;
882
- a.value = d.length, o("update:modelValue", d), o("input", s);
883
- }, i = (s) => {
884
- o("change", s);
885
- }, v = (s) => {
886
- o("focus", s);
887
- }, p = (s) => {
888
- o("blur", s);
889
- }, y = (s) => {
890
- o("keydown", s);
891
- }, g = (s) => {
892
- o("keyup", s);
893
- }, w = h(() => {
894
- const s = {
874
+ const l = b(() => {
875
+ const i = ["krds-input"];
876
+ return e.size && i.push(e.size), e.class && i.push(e.class), i;
877
+ }), t = b(() => {
878
+ const i = {};
879
+ return e.resize && (i.resize = e.resize), i;
880
+ }), o = (i) => {
881
+ const d = i.target.value;
882
+ a.value = d.length, n("update:modelValue", d), n("input", i);
883
+ }, r = (i) => {
884
+ n("change", i);
885
+ }, h = (i) => {
886
+ n("focus", i);
887
+ }, u = (i) => {
888
+ n("blur", i);
889
+ }, g = (i) => {
890
+ n("keydown", i);
891
+ }, y = (i) => {
892
+ n("keyup", i);
893
+ }, C = b(() => {
894
+ const i = {
895
895
  class: l.value,
896
896
  style: t.value,
897
897
  value: e.modelValue,
@@ -904,33 +904,33 @@ const He = { class: "form-conts" }, je = { class: "calendar-input" }, We = ["id"
904
904
  autofocus: e.autofocus,
905
905
  rows: e.rows,
906
906
  cols: e.cols,
907
- onInput: n,
908
- onChange: i,
909
- onFocus: v,
910
- onBlur: p,
911
- onKeydown: y,
912
- onKeyup: g
907
+ onInput: o,
908
+ onChange: r,
909
+ onFocus: h,
910
+ onBlur: u,
911
+ onKeydown: g,
912
+ onKeyup: y
913
913
  };
914
- return e.maxlength !== void 0 && (s.maxlength = e.maxlength), e.minlength !== void 0 && (s.minlength = e.minlength), s;
915
- }), b = h(() => ["form-conts"]), D = h(() => ["textarea-wrap"]), m = h(() => {
914
+ return e.maxlength !== void 0 && (i.maxlength = e.maxlength), e.minlength !== void 0 && (i.minlength = e.minlength), i;
915
+ }), S = b(() => ["form-conts"]), V = b(() => ["textarea-wrap"]), m = b(() => {
916
916
  if (!e.showCount) return null;
917
- const s = a.value, c = e.maxlength;
917
+ const i = a.value, f = e.maxlength;
918
918
  return {
919
- current: s,
920
- max: c || ""
919
+ current: i,
920
+ max: f || ""
921
921
  };
922
922
  });
923
923
  return () => {
924
- const s = [u("textarea", w.value)];
925
- return m.value && s.push(
926
- u("p", { class: "textarea-count" }, [
927
- u("span", { class: "count-now" }, m.value.current),
928
- u("span", { class: "count-total" }, m.value.max ? `/${m.value.max}` : "")
924
+ const i = [s("textarea", C.value)];
925
+ return m.value && i.push(
926
+ s("p", { class: "textarea-count" }, [
927
+ s("span", { class: "count-now" }, m.value.current),
928
+ s("span", { class: "count-total" }, m.value.max ? `/${m.value.max}` : "")
929
929
  ])
930
- ), u("div", { class: b.value }, [u("div", { class: D.value }, s)]);
930
+ ), s("div", { class: S.value }, [s("div", { class: V.value }, i)]);
931
931
  };
932
932
  }
933
- }), mt = _({
933
+ }), mt = K({
934
934
  name: "KrdsSelect",
935
935
  props: {
936
936
  modelValue: {
@@ -979,18 +979,18 @@ const He = { class: "form-conts" }, je = { class: "calendar-input" }, We = ["id"
979
979
  }
980
980
  },
981
981
  emits: ["update:modelValue", "focus", "blur"],
982
- setup(e, { emit: o, slots: a }) {
983
- const l = h(() => {
984
- const g = [];
985
- return e.sort ? g.push("krds-form-select-sort") : g.push("krds-form-select"), e.size && g.push(e.size), e.class && g.push(e.class), g;
986
- }), t = (g) => {
987
- const w = g.target, b = w.value === "" ? null : w.value;
988
- o("update:modelValue", b);
989
- }, n = (g) => {
990
- o("focus", g);
991
- }, i = (g) => {
992
- o("blur", g);
993
- }, v = h(() => ({
982
+ setup(e, { emit: n, slots: a }) {
983
+ const l = b(() => {
984
+ const y = [];
985
+ return e.sort ? y.push("krds-form-select-sort") : y.push("krds-form-select"), e.size && y.push(e.size), e.class && y.push(e.class), y;
986
+ }), t = (y) => {
987
+ const C = y.target, S = C.value === "" ? null : C.value;
988
+ n("update:modelValue", S);
989
+ }, o = (y) => {
990
+ n("focus", y);
991
+ }, r = (y) => {
992
+ n("blur", y);
993
+ }, h = b(() => ({
994
994
  class: l.value,
995
995
  value: e.modelValue ?? "",
996
996
  title: e.title || e.placeholder,
@@ -998,33 +998,35 @@ const He = { class: "form-conts" }, je = { class: "calendar-input" }, We = ["id"
998
998
  id: e.id,
999
999
  disabled: e.disabled || e.readonly,
1000
1000
  onChange: t,
1001
- onFocus: n,
1002
- onBlur: i
1003
- })), p = h(() => {
1004
- const g = ["form-conts"];
1005
- return e.state !== "default" && g.push(`is-${e.state}`), g;
1006
- }), y = () => {
1007
- const g = [];
1008
- return e.placeholder && !e.modelValue && g.push(u("option", { value: "", disabled: !0, selected: !0 }, e.placeholder)), e.options && e.options.length > 0 && e.options.forEach((w) => {
1009
- g.push(
1010
- u(
1001
+ onFocus: o,
1002
+ onBlur: r
1003
+ })), u = b(() => {
1004
+ const y = ["form-conts"];
1005
+ return e.state !== "default" && y.push(`is-${e.state}`), y;
1006
+ }), g = () => {
1007
+ const y = [];
1008
+ return e.placeholder && !e.modelValue && y.push(s("option", { value: "", disabled: !0, selected: !0 }, e.placeholder)), e.options && e.options.length > 0 && e.options.forEach((C) => {
1009
+ y.push(
1010
+ s(
1011
1011
  "option",
1012
1012
  {
1013
- value: w.value,
1014
- disabled: w.disabled,
1015
- selected: w.value === e.modelValue
1013
+ value: C.value,
1014
+ disabled: C.disabled,
1015
+ selected: C.value === e.modelValue
1016
1016
  },
1017
- w.label
1017
+ C.label
1018
1018
  )
1019
1019
  );
1020
- }), a.default && g.push(...a.default()), g;
1020
+ }), a.default && y.push(...a.default()), y;
1021
1021
  };
1022
1022
  return () => {
1023
- const g = u("select", v.value, y());
1024
- return e.sort ? g : u("div", { class: p.value }, [g]);
1023
+ const y = s("select", h.value, g());
1024
+ return e.sort ? y : s("div", { class: u.value }, [y]);
1025
1025
  };
1026
1026
  }
1027
- }), ht = _({
1027
+ });
1028
+ let pt = 0;
1029
+ const yt = K({
1028
1030
  name: "KrdsFileUpload",
1029
1031
  props: {
1030
1032
  modelValue: {
@@ -1127,15 +1129,191 @@ const He = { class: "form-conts" }, je = { class: "calendar-input" }, We = ["id"
1127
1129
  "download",
1128
1130
  "preview"
1129
1131
  ],
1130
- setup(e, { emit: o }) {
1131
- B(!1), h(() => {
1132
- const l = ["krds-file-upload", "line"];
1133
- return e.class && l.push(e.class), l;
1134
- });
1135
- const a = h(() => e.modelValue?.length || 0);
1136
- return h(() => !e.disabled && a.value < e.maxFiles), () => null;
1132
+ setup(e, { emit: n }) {
1133
+ const a = D(!1), l = D(null), t = e.id ? `${e.id}-input` : `krds-file-upload-${++pt}`, o = (p) => p < 1024 ? `${p}B` : p < 1024 * 1024 ? `${Math.round(p / 1024)}KB` : `${(p / (1024 * 1024)).toFixed(1)}MB`, r = (p) => {
1134
+ const k = p.split(".");
1135
+ return k.length > 1 ? k.pop().toLowerCase() : "";
1136
+ }, h = (p) => {
1137
+ const k = r(p.name), L = k ? p.name.slice(0, -(k.length + 1)) : p.name;
1138
+ return k ? `${L} [${k}, ${o(p.size)}]` : `${p.name} [${o(p.size)}]`;
1139
+ }, u = () => `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`, g = (p) => {
1140
+ if (e.maxFileSize && p.size > e.maxFileSize)
1141
+ return `등록 가능한 파일 용량을 초과하였습니다.
1142
+ ${o(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
1143
+ if (e.accept) {
1144
+ const k = e.accept.split(",").map((A) => A.trim().toLowerCase()), L = `.${r(p.name)}`, P = p.type;
1145
+ if (!k.some((A) => A.startsWith(".") ? L === A : A.endsWith("/*") ? P.startsWith(A.replace("/*", "/")) : P === A))
1146
+ return "허용되지 않는 파일 형식입니다.";
1147
+ }
1148
+ return null;
1149
+ }, y = (p) => {
1150
+ if (e.disabled || e.readonly) return;
1151
+ let k = [...e.modelValue || []];
1152
+ !e.multiple && k.length > 0 && (k = []);
1153
+ const L = [];
1154
+ for (let P = 0; P < p.length && !(k.length + L.length >= e.maxFiles); P++) {
1155
+ const A = p[P], W = g(A), N = {
1156
+ id: u(),
1157
+ file: A,
1158
+ name: A.name,
1159
+ size: A.size,
1160
+ type: A.type,
1161
+ status: W ? "error" : "pending",
1162
+ errorMessage: W || void 0
1163
+ };
1164
+ L.push(N), W ? n("file-error", N, W) : n("file-added", N);
1165
+ }
1166
+ L.length > 0 && n("update:modelValue", [...k, ...L]);
1167
+ }, C = (p) => {
1168
+ const k = p.target;
1169
+ k.files?.length && (y(k.files), k.value = "");
1170
+ }, S = (p) => {
1171
+ e.disabled || e.readonly || !e.dragAndDrop || (p.preventDefault(), a.value = !0);
1172
+ }, V = () => {
1173
+ a.value = !1;
1174
+ }, m = (p) => {
1175
+ p.preventDefault(), a.value = !1, !(e.disabled || e.readonly || !e.dragAndDrop) && p.dataTransfer?.files && y(p.dataTransfer.files);
1176
+ }, i = () => {
1177
+ e.disabled || e.readonly || l.value?.click();
1178
+ }, f = (p) => {
1179
+ e.disabled || e.readonly || (n(
1180
+ "update:modelValue",
1181
+ (e.modelValue || []).filter((k) => k.id !== p)
1182
+ ), n("file-removed", p));
1183
+ }, d = () => {
1184
+ e.disabled || e.readonly || (n("update:modelValue", []), n("clear-all"));
1185
+ }, v = b(() => {
1186
+ const p = ["krds-file-upload", "line"];
1187
+ return e.class && p.push(e.class), p;
1188
+ }), $ = () => s("div", { class: "file-head" }, [s("h3", { class: "tit" }, e.title), s("div", null, [s("p", null, e.description)])]), F = () => s(
1189
+ "div",
1190
+ {
1191
+ class: "file-upload",
1192
+ onDragover: S,
1193
+ onDragleave: V,
1194
+ onDrop: m
1195
+ },
1196
+ [
1197
+ s("p", { class: "txt" }, e.placeholder),
1198
+ s("div", { class: "file-upload-btn-wrap" }, [
1199
+ s("input", {
1200
+ ref: l,
1201
+ type: "file",
1202
+ name: e.name || "myFile",
1203
+ id: t,
1204
+ hidden: !0,
1205
+ accept: e.accept || void 0,
1206
+ multiple: e.multiple,
1207
+ onChange: C
1208
+ }),
1209
+ s("label", { for: t }, [
1210
+ s(
1211
+ "button",
1212
+ {
1213
+ type: "button",
1214
+ class: ["krds-btn", e.size],
1215
+ disabled: e.disabled || void 0,
1216
+ onClick: i
1217
+ },
1218
+ [s("i", { class: "svg-icon ico-upload" }), "파일선택"]
1219
+ )
1220
+ ])
1221
+ ])
1222
+ ]
1223
+ ), T = (p) => {
1224
+ const k = [];
1225
+ return p.status === "uploading" ? k.push(s("span", { class: "krds-spinner", role: "status" }, [s("span", { class: "sr-only" }, "업로드 중")])) : p.downloadUrl ? (e.showDownload && k.push(
1226
+ s(
1227
+ "button",
1228
+ {
1229
+ type: "button",
1230
+ class: "krds-btn medium text",
1231
+ onClick: () => n("download", p)
1232
+ },
1233
+ ["다운로드 ", s("i", { class: "svg-icon ico-down" })]
1234
+ )
1235
+ ), e.showPreviewButton && k.push(
1236
+ s(
1237
+ "button",
1238
+ {
1239
+ type: "button",
1240
+ class: "krds-btn medium text",
1241
+ onClick: () => n("preview", p)
1242
+ },
1243
+ ["바로보기 ", s("i", { class: "svg-icon ico-angle right" })]
1244
+ )
1245
+ )) : p.status === "completed" ? k.push(s("span", { class: "ico-invalid complete" }, [s("em", { class: "sr-only" }, "업로드 완료")])) : e.readonly || k.push(
1246
+ s(
1247
+ "button",
1248
+ {
1249
+ type: "button",
1250
+ class: "krds-btn medium text",
1251
+ disabled: e.disabled || void 0,
1252
+ onClick: () => f(p.id)
1253
+ },
1254
+ ["삭제 ", s("i", { class: "svg-icon ico-delete-fill" })]
1255
+ )
1256
+ ), k;
1257
+ }, R = (p) => {
1258
+ const k = [
1259
+ s(
1260
+ "div",
1261
+ {
1262
+ class: p.downloadUrl ? "file-info m-column" : "file-info"
1263
+ },
1264
+ [s("div", { class: "file-name" }, h(p)), s("div", { class: "btn-wrap" }, T(p))]
1265
+ )
1266
+ ];
1267
+ if (p.status === "error" && p.errorMessage) {
1268
+ const L = p.errorMessage.split(`
1269
+ `), P = [];
1270
+ L.forEach((A, W) => {
1271
+ W > 0 && P.push(s("br")), P.push(A);
1272
+ }), k.push(s("p", { class: "file-hint-invalid" }, P));
1273
+ }
1274
+ return s(
1275
+ "li",
1276
+ {
1277
+ key: p.id,
1278
+ class: p.status === "error" ? "is-error" : void 0
1279
+ },
1280
+ k
1281
+ );
1282
+ }, I = (p) => {
1283
+ const k = p.filter((P) => P.status !== "error").length, L = [
1284
+ s("div", { class: "total" }, [s("span", { class: "current" }, `${k}개`), ` / ${e.maxFiles}개`]),
1285
+ s("ul", { class: "upload-list" }, p.map(R))
1286
+ ];
1287
+ return e.showClearAll && !e.readonly && L.push(
1288
+ s("div", { class: "upload-delete-btn" }, [
1289
+ s(
1290
+ "button",
1291
+ {
1292
+ type: "button",
1293
+ class: "krds-btn xsmall tertiary",
1294
+ disabled: e.disabled || void 0,
1295
+ onClick: d
1296
+ },
1297
+ ["전체 파일 삭제", s("i", { class: "svg-icon ico-angle right" })]
1298
+ )
1299
+ ])
1300
+ ), s("div", { class: "file-list" }, L);
1301
+ };
1302
+ return () => {
1303
+ const p = [$()];
1304
+ e.readonly || p.push(F());
1305
+ const k = e.modelValue || [];
1306
+ return k.length > 0 && p.push(I(k)), s(
1307
+ "div",
1308
+ {
1309
+ class: v.value,
1310
+ style: e.style || void 0
1311
+ },
1312
+ p
1313
+ );
1314
+ };
1137
1315
  }
1138
- }), yt = _({
1316
+ }), gt = K({
1139
1317
  name: "KrdsBadge",
1140
1318
  props: {
1141
1319
  type: {
@@ -1160,14 +1338,14 @@ const He = { class: "form-conts" }, je = { class: "calendar-input" }, We = ["id"
1160
1338
  }
1161
1339
  },
1162
1340
  emits: ["click"],
1163
- setup(e, { emit: o, slots: a }) {
1164
- const l = h(() => {
1165
- const n = ["krds-badge"];
1166
- return n.push(`${e.type}-${e.color}`), e.size && n.push(e.size), e.number && n.push("number"), e.class && n.push(e.class), n;
1167
- }), t = (n) => {
1168
- o("click", n);
1341
+ setup(e, { emit: n, slots: a }) {
1342
+ const l = b(() => {
1343
+ const o = ["krds-badge"];
1344
+ return o.push(`${e.type}-${e.color}`), e.size && o.push(e.size), e.number && o.push("number"), e.class && o.push(e.class), o;
1345
+ }), t = (o) => {
1346
+ n("click", o);
1169
1347
  };
1170
- return () => u(
1348
+ return () => s(
1171
1349
  "span",
1172
1350
  {
1173
1351
  type: e.type,
@@ -1180,7 +1358,7 @@ const He = { class: "form-conts" }, je = { class: "calendar-input" }, We = ["id"
1180
1358
  a.default?.()
1181
1359
  );
1182
1360
  }
1183
- }), gt = _({
1361
+ }), bt = K({
1184
1362
  name: "KrdsTag",
1185
1363
  props: {
1186
1364
  link: {
@@ -1205,40 +1383,40 @@ const He = { class: "form-conts" }, je = { class: "calendar-input" }, We = ["id"
1205
1383
  }
1206
1384
  },
1207
1385
  emits: ["remove"],
1208
- setup(e, { emit: o, slots: a }) {
1209
- const l = h(() => {
1210
- const i = ["krds-btn-tag"];
1211
- return e.link && i.push("link"), e.class && i.push(e.class), i;
1212
- }), t = (i) => {
1213
- o("remove", i);
1214
- }, n = () => u(
1386
+ setup(e, { emit: n, slots: a }) {
1387
+ const l = b(() => {
1388
+ const r = ["krds-btn-tag"];
1389
+ return e.link && r.push("link"), e.class && r.push(e.class), r;
1390
+ }), t = (r) => {
1391
+ n("remove", r);
1392
+ }, o = () => s(
1215
1393
  "button",
1216
1394
  {
1217
1395
  type: "button",
1218
1396
  class: "btn-delete",
1219
1397
  onClick: t
1220
1398
  },
1221
- [u("span", { class: "sr-only" }, "삭제")]
1399
+ [s("span", { class: "sr-only" }, "삭제")]
1222
1400
  );
1223
1401
  return () => {
1224
- const i = [], v = a.default?.();
1225
- if (v && i.push(v), e.link || i.push(n()), e.link) {
1226
- const p = {
1402
+ const r = [], h = a.default?.();
1403
+ if (h && r.push(h), e.link || r.push(o()), e.link) {
1404
+ const u = {
1227
1405
  href: e.href,
1228
1406
  class: l.value
1229
1407
  };
1230
- return e.target && (p.target = e.target), e.rel && (p.rel = e.rel), u("a", p, i);
1408
+ return e.target && (u.target = e.target), e.rel && (u.rel = e.rel), s("a", u, r);
1231
1409
  }
1232
- return u(
1410
+ return s(
1233
1411
  "span",
1234
1412
  {
1235
1413
  class: l.value
1236
1414
  },
1237
- i
1415
+ r
1238
1416
  );
1239
1417
  };
1240
1418
  }
1241
- }), bt = _({
1419
+ }), kt = K({
1242
1420
  name: "KrdsTagGroup",
1243
1421
  props: {
1244
1422
  size: {
@@ -1250,20 +1428,20 @@ const He = { class: "form-conts" }, je = { class: "calendar-input" }, We = ["id"
1250
1428
  default: void 0
1251
1429
  }
1252
1430
  },
1253
- setup(e, { slots: o }) {
1254
- const a = h(() => {
1431
+ setup(e, { slots: n }) {
1432
+ const a = b(() => {
1255
1433
  const l = ["krds-tag-wrap"];
1256
1434
  return e.size && l.push(e.size), e.class && l.push(e.class), l;
1257
1435
  });
1258
- return () => u(
1436
+ return () => s(
1259
1437
  "div",
1260
1438
  {
1261
1439
  class: a.value
1262
1440
  },
1263
- o.default?.()
1441
+ n.default?.()
1264
1442
  );
1265
1443
  }
1266
- }), kt = _({
1444
+ }), St = K({
1267
1445
  name: "KrdsMasthead",
1268
1446
  props: {
1269
1447
  class: {
@@ -1272,14 +1450,14 @@ const He = { class: "form-conts" }, je = { class: "calendar-input" }, We = ["id"
1272
1450
  }
1273
1451
  },
1274
1452
  emits: ["click"],
1275
- setup(e, { emit: o, slots: a }) {
1276
- const l = h(() => {
1277
- const n = [""];
1278
- return e.class && n.push(e.class), n;
1279
- }), t = (n) => {
1280
- o("click", n);
1453
+ setup(e, { emit: n, slots: a }) {
1454
+ const l = b(() => {
1455
+ const o = [""];
1456
+ return e.class && o.push(e.class), o;
1457
+ }), t = (o) => {
1458
+ n("click", o);
1281
1459
  };
1282
- return () => u(
1460
+ return () => s(
1283
1461
  "div",
1284
1462
  {
1285
1463
  id: "krds-masthead",
@@ -1287,25 +1465,25 @@ const He = { class: "form-conts" }, je = { class: "calendar-input" }, We = ["id"
1287
1465
  onClick: t
1288
1466
  },
1289
1467
  [
1290
- u("div", { class: "toggle-wrap" }, [
1291
- u("div", { class: "toggle-head" }, [u("div", { class: "inner" }, [u("span", { class: "nuri-txt" }, a.default?.())])])
1468
+ s("div", { class: "toggle-wrap" }, [
1469
+ s("div", { class: "toggle-head" }, [s("div", { class: "inner" }, [s("span", { class: "nuri-txt" }, a.default?.())])])
1292
1470
  ])
1293
1471
  ]
1294
1472
  );
1295
1473
  }
1296
1474
  });
1297
- let St = 0;
1298
- function ce(e = "krds") {
1299
- return `${e}-${++St}`;
1475
+ let wt = 0;
1476
+ function ue(e = "krds") {
1477
+ return `${e}-${++wt}`;
1300
1478
  }
1301
- function Il() {
1302
- const e = Date.now().toString(36).slice(-4), o = Math.random().toString(36).substring(2, 5);
1303
- return `${e}${o}`;
1479
+ function El() {
1480
+ const e = Date.now().toString(36).slice(-4), n = Math.random().toString(36).substring(2, 5);
1481
+ return `${e}${n}`;
1304
1482
  }
1305
- function ue(...e) {
1483
+ function fe(...e) {
1306
1484
  return e.filter(Boolean).join(" ");
1307
1485
  }
1308
- const wt = _({
1486
+ const Ct = K({
1309
1487
  name: "KrdsToggleSwitch",
1310
1488
  props: {
1311
1489
  modelValue: {
@@ -1347,40 +1525,40 @@ const wt = _({
1347
1525
  }
1348
1526
  },
1349
1527
  emits: ["update:modelValue", "change"],
1350
- setup(e, { emit: o, attrs: a }) {
1351
- const l = h(() => e.modelValue), t = h(() => ue("krds-form-toggle-switch", e.size, e.class)), n = (v) => {
1528
+ setup(e, { emit: n, attrs: a }) {
1529
+ const l = b(() => e.modelValue), t = b(() => fe("krds-form-toggle-switch", e.size, e.class)), o = (h) => {
1352
1530
  if (e.disabled)
1353
1531
  return;
1354
- const y = v.target.checked;
1355
- o("update:modelValue", y), o("change", y);
1356
- }, i = h(() => e.id || ce("toggle-switch"));
1357
- return () => u(
1532
+ const g = h.target.checked;
1533
+ n("update:modelValue", g), n("change", g);
1534
+ }, r = b(() => e.id || ue("toggle-switch"));
1535
+ return () => s(
1358
1536
  "div",
1359
1537
  {
1360
1538
  class: t.value
1361
1539
  },
1362
1540
  [
1363
- u("input", {
1541
+ s("input", {
1364
1542
  type: "checkbox",
1365
- id: i.value,
1543
+ id: r.value,
1366
1544
  name: e.name,
1367
1545
  checked: l.value,
1368
1546
  disabled: e.disabled,
1369
- onChange: n,
1547
+ onChange: o,
1370
1548
  ...a
1371
1549
  }),
1372
- u(
1550
+ s(
1373
1551
  "label",
1374
1552
  {
1375
- for: i.value
1553
+ for: r.value
1376
1554
  },
1377
1555
  [
1378
- u(
1556
+ s(
1379
1557
  "span",
1380
1558
  {
1381
1559
  class: "switch-toggle"
1382
1560
  },
1383
- [u("i")]
1561
+ [s("i")]
1384
1562
  ),
1385
1563
  e.label || ""
1386
1564
  ]
@@ -1388,7 +1566,7 @@ const wt = _({
1388
1566
  ]
1389
1567
  );
1390
1568
  }
1391
- }), Ct = _({
1569
+ }), xt = K({
1392
1570
  name: "KrdsCheckArea",
1393
1571
  props: {
1394
1572
  class: {
@@ -1400,19 +1578,19 @@ const wt = _({
1400
1578
  default: !1
1401
1579
  }
1402
1580
  },
1403
- setup(e, { slots: o }) {
1581
+ setup(e, { slots: n }) {
1404
1582
  return () => {
1405
1583
  const a = ["krds-check-area"];
1406
- return e.column && a.push("chk-column"), e.class && a.push(e.class), u(
1584
+ return e.column && a.push("chk-column"), e.class && a.push(e.class), s(
1407
1585
  "div",
1408
1586
  {
1409
1587
  class: a
1410
1588
  },
1411
- o.default?.()
1589
+ n.default?.()
1412
1590
  );
1413
1591
  };
1414
1592
  }
1415
- }), xt = _({
1593
+ }), $t = K({
1416
1594
  name: "KrdsCheckbox",
1417
1595
  props: {
1418
1596
  modelValue: {
@@ -1443,44 +1621,44 @@ const wt = _({
1443
1621
  },
1444
1622
  emits: ["update:modelValue"],
1445
1623
  slots: Object,
1446
- setup(e, { emit: o, attrs: a, slots: l }) {
1447
- const t = h(() => e.modelValue), n = h(() => {
1448
- const p = e.chip ? "krds-form-chip" : "krds-form-check";
1449
- return ue(p, e.size, e.class);
1450
- }), i = (p) => {
1624
+ setup(e, { emit: n, attrs: a, slots: l }) {
1625
+ const t = b(() => e.modelValue), o = b(() => {
1626
+ const u = e.chip ? "krds-form-chip" : "krds-form-check";
1627
+ return fe(u, e.size, e.class);
1628
+ }), r = (u) => {
1451
1629
  if (e.disabled)
1452
1630
  return;
1453
- const g = p.target.checked;
1454
- o("update:modelValue", g);
1455
- }, v = h(() => e.id || ce("checkbox"));
1631
+ const y = u.target.checked;
1632
+ n("update:modelValue", y);
1633
+ }, h = b(() => e.id || ue("checkbox"));
1456
1634
  return () => {
1457
- const p = [
1458
- u("input", {
1635
+ const u = [
1636
+ s("input", {
1459
1637
  type: "checkbox",
1460
- id: v.value,
1638
+ id: h.value,
1461
1639
  checked: t.value,
1462
1640
  disabled: e.disabled,
1463
- onChange: i,
1641
+ onChange: r,
1464
1642
  ...a
1465
1643
  }),
1466
- u(
1644
+ s(
1467
1645
  "label",
1468
1646
  {
1469
- for: v.value
1647
+ for: h.value
1470
1648
  },
1471
1649
  l.default?.()
1472
1650
  )
1473
1651
  ];
1474
- return l.description && !e.chip && p.push(u("div", { class: "krds-form-check-cnt" }, u("p", { class: "krds-form-check-p" }, l.description()))), u(
1652
+ return l.description && !e.chip && u.push(s("div", { class: "krds-form-check-cnt" }, s("p", { class: "krds-form-check-p" }, l.description()))), s(
1475
1653
  "div",
1476
1654
  {
1477
- class: n.value
1655
+ class: o.value
1478
1656
  },
1479
- p
1657
+ u
1480
1658
  );
1481
1659
  };
1482
1660
  }
1483
- }), $t = _({
1661
+ }), Bt = K({
1484
1662
  name: "KrdsRadio",
1485
1663
  props: {
1486
1664
  modelValue: {
@@ -1519,45 +1697,45 @@ const wt = _({
1519
1697
  },
1520
1698
  emits: ["update:modelValue"],
1521
1699
  slots: Object,
1522
- setup(e, { emit: o, attrs: a, slots: l }) {
1523
- const t = h(() => e.modelValue === e.value), n = h(() => {
1524
- const y = e.chip ? "krds-form-chip" : "krds-form-check";
1525
- return ue(y, e.size, e.class);
1526
- }), i = (y) => {
1700
+ setup(e, { emit: n, attrs: a, slots: l }) {
1701
+ const t = b(() => e.modelValue === e.value), o = b(() => {
1702
+ const g = e.chip ? "krds-form-chip" : "krds-form-check";
1703
+ return fe(g, e.size, e.class);
1704
+ }), r = (g) => {
1527
1705
  if (e.disabled)
1528
1706
  return;
1529
- y.target.checked && o("update:modelValue", e.value);
1530
- }, v = h(() => e.id || ce("radio")), p = h(() => e.name);
1707
+ g.target.checked && n("update:modelValue", e.value);
1708
+ }, h = b(() => e.id || ue("radio")), u = b(() => e.name);
1531
1709
  return () => {
1532
- const y = [
1533
- u("input", {
1710
+ const g = [
1711
+ s("input", {
1534
1712
  type: "radio",
1535
- id: v.value,
1536
- name: p.value,
1713
+ id: h.value,
1714
+ name: u.value,
1537
1715
  value: String(e.value),
1538
1716
  checked: t.value,
1539
1717
  disabled: e.disabled,
1540
- onChange: i,
1718
+ onChange: r,
1541
1719
  ...a
1542
1720
  }),
1543
- u(
1721
+ s(
1544
1722
  "label",
1545
1723
  {
1546
- for: v.value
1724
+ for: h.value
1547
1725
  },
1548
1726
  l.default?.()
1549
1727
  )
1550
1728
  ];
1551
- return l.description && !e.chip && y.push(u("div", { class: "krds-form-check-cnt" }, u("p", { class: "krds-form-check-p" }, l.description()))), u(
1729
+ return l.description && !e.chip && g.push(s("div", { class: "krds-form-check-cnt" }, s("p", { class: "krds-form-check-p" }, l.description()))), s(
1552
1730
  "div",
1553
1731
  {
1554
- class: n.value
1732
+ class: o.value
1555
1733
  },
1556
- y
1734
+ g
1557
1735
  );
1558
1736
  };
1559
1737
  }
1560
- }), _t = _({
1738
+ }), Kt = K({
1561
1739
  name: "KrdsStepIndicator",
1562
1740
  props: {
1563
1741
  modelValue: {
@@ -1570,30 +1748,30 @@ const wt = _({
1570
1748
  }
1571
1749
  },
1572
1750
  emits: ["update:modelValue"],
1573
- setup(e, { slots: o }) {
1574
- const a = h(() => {
1575
- const v = ["krds-step-wrap"];
1576
- return e.class && v.push(e.class), v;
1577
- }), l = (v) => {
1578
- const p = e.modelValue || 0;
1579
- return v < p ? "done" : v === p ? "active" : "pending";
1580
- }, t = B(0), n = () => {
1751
+ setup(e, { slots: n }) {
1752
+ const a = b(() => {
1753
+ const h = ["krds-step-wrap"];
1754
+ return e.class && h.push(e.class), h;
1755
+ }), l = (h) => {
1756
+ const u = e.modelValue || 0;
1757
+ return h < u ? "done" : h === u ? "active" : "pending";
1758
+ }, t = D(0), o = () => {
1581
1759
  t.value = 0;
1582
- }, i = () => t.value++;
1583
- return Ve("stepIndicator", {
1584
- activeStep: h(() => e.modelValue || 0),
1760
+ }, r = () => t.value++;
1761
+ return ze("stepIndicator", {
1762
+ activeStep: b(() => e.modelValue || 0),
1585
1763
  getStepStatus: l,
1586
- getNextStepIndex: i,
1587
- resetStepIndex: n
1588
- }), () => (n(), u(
1764
+ getNextStepIndex: r,
1765
+ resetStepIndex: o
1766
+ }), () => (o(), s(
1589
1767
  "ol",
1590
1768
  {
1591
1769
  class: a.value
1592
1770
  },
1593
- o.default?.()
1771
+ n.default?.()
1594
1772
  ));
1595
1773
  }
1596
- }), Bt = _({
1774
+ }), _t = K({
1597
1775
  name: "KrdsStep",
1598
1776
  props: {
1599
1777
  step: {
@@ -1614,29 +1792,29 @@ const wt = _({
1614
1792
  }
1615
1793
  },
1616
1794
  emits: ["click"],
1617
- setup(e, { emit: o, slots: a }) {
1618
- const l = Ie("stepIndicator"), t = l ? l.getNextStepIndex() : -1, n = h(() => e.status ? e.status : l && t >= 0 ? l.getStepStatus(t) : "pending"), i = h(() => {
1619
- const p = [n.value];
1620
- return e.class && p.push(e.class), p;
1621
- }), v = (p) => {
1622
- o("click", p, e.step);
1795
+ setup(e, { emit: n, slots: a }) {
1796
+ const l = Ve("stepIndicator"), t = l ? l.getNextStepIndex() : -1, o = b(() => e.status ? e.status : l && t >= 0 ? l.getStepStatus(t) : "pending"), r = b(() => {
1797
+ const u = [o.value];
1798
+ return e.class && u.push(e.class), u;
1799
+ }), h = (u) => {
1800
+ n("click", u, e.step);
1623
1801
  };
1624
1802
  return () => {
1625
- const p = n.value === "active";
1626
- return u(
1803
+ const u = o.value === "active";
1804
+ return s(
1627
1805
  "li",
1628
1806
  {
1629
- class: i.value,
1630
- onClick: v
1807
+ class: r.value,
1808
+ onClick: h
1631
1809
  },
1632
1810
  [
1633
- u("span", [
1811
+ s("span", [
1634
1812
  // 현재 단계 표시 (활성 상태일 때만)
1635
- p && u("em", { class: "sr-only" }, "현재단계"),
1813
+ u && s("em", { class: "sr-only" }, "현재단계"),
1636
1814
  // 단계 번호
1637
- u("i", { class: "step" }, e.step),
1815
+ s("i", { class: "step" }, e.step),
1638
1816
  // 단계 제목
1639
- u("span", { class: "step-tit" }, e.title),
1817
+ s("span", { class: "step-tit" }, e.title),
1640
1818
  // 슬롯 내용 (추가 콘텐츠가 있는 경우)
1641
1819
  a.default?.()
1642
1820
  ])
@@ -1644,7 +1822,7 @@ const wt = _({
1644
1822
  );
1645
1823
  };
1646
1824
  }
1647
- }), Kt = _({
1825
+ }), Dt = K({
1648
1826
  name: "KrdsSkipLink",
1649
1827
  props: {
1650
1828
  /**
@@ -1671,25 +1849,25 @@ const wt = _({
1671
1849
  default: "krds-skip-link"
1672
1850
  }
1673
1851
  },
1674
- setup(e, { slots: o }) {
1675
- return () => u(
1852
+ setup(e, { slots: n }) {
1853
+ return () => s(
1676
1854
  "div",
1677
1855
  {
1678
1856
  id: e.id,
1679
1857
  class: e.class
1680
1858
  },
1681
1859
  [
1682
- u(
1860
+ s(
1683
1861
  "a",
1684
1862
  {
1685
1863
  href: e.href
1686
1864
  },
1687
- o.default?.()
1865
+ n.default?.()
1688
1866
  )
1689
1867
  ]
1690
1868
  );
1691
1869
  }
1692
- }), Dt = ["id", "aria-label"], Vt = { class: "breadcrumb" }, It = ["href", "aria-current", "onClick"], zt = { key: 0 }, Et = /* @__PURE__ */ _({
1870
+ }), zt = ["id", "aria-label"], Vt = { class: "breadcrumb" }, It = ["href", "aria-current", "onClick"], Et = { key: 0 }, Lt = /* @__PURE__ */ K({
1693
1871
  __name: "KrdsBreadcrumb",
1694
1872
  props: {
1695
1873
  items: {},
@@ -1698,33 +1876,33 @@ const wt = _({
1698
1876
  showHomeIcon: { type: Boolean, default: !0 }
1699
1877
  },
1700
1878
  emits: ["item-click"],
1701
- setup(e, { emit: o }) {
1702
- const a = e, l = o, t = (i) => i === a.items.length - 1, n = (i, v) => {
1703
- i.onClick && i.onClick(v), l("item-click", i, v);
1879
+ setup(e, { emit: n }) {
1880
+ const a = e, l = n, t = (r) => r === a.items.length - 1, o = (r, h) => {
1881
+ r.onClick && r.onClick(h), l("item-click", r, h);
1704
1882
  };
1705
- return (i, v) => (k(), S("nav", {
1883
+ return (r, h) => (w(), x("nav", {
1706
1884
  id: e.id,
1707
1885
  class: "krds-breadcrumb-wrap",
1708
1886
  "aria-label": e.ariaLabel
1709
1887
  }, [
1710
- r("ol", Vt, [
1711
- (k(!0), S(F, null, N(e.items, (p, y) => (k(), S("li", {
1712
- key: `breadcrumb-${y}`,
1713
- class: E({ home: y === 0 && e.showHomeIcon })
1888
+ c("ol", Vt, [
1889
+ (w(!0), x(j, null, G(e.items, (u, g) => (w(), x("li", {
1890
+ key: `breadcrumb-${g}`,
1891
+ class: M({ home: g === 0 && e.showHomeIcon })
1714
1892
  }, [
1715
- r("a", {
1716
- href: p.href || "#",
1893
+ c("a", {
1894
+ href: u.href || "#",
1717
1895
  class: "txt",
1718
- "aria-current": t(y) ? "page" : void 0,
1719
- onClick: (g) => n(p, g)
1896
+ "aria-current": t(g) ? "page" : void 0,
1897
+ onClick: (y) => o(u, y)
1720
1898
  }, [
1721
- y === 0 && e.showHomeIcon ? Y("", !0) : (k(), S("span", zt, V(p.text), 1))
1899
+ g === 0 && e.showHomeIcon ? X("", !0) : (w(), x("span", Et, E(u.text), 1))
1722
1900
  ], 8, It)
1723
1901
  ], 2))), 128))
1724
1902
  ])
1725
- ], 8, Dt));
1903
+ ], 8, zt));
1726
1904
  }
1727
- }), Lt = _({
1905
+ }), Mt = K({
1728
1906
  name: "KrdsInPageNavigation",
1729
1907
  props: {
1730
1908
  title: {
@@ -1758,107 +1936,107 @@ const wt = _({
1758
1936
  },
1759
1937
  emits: ["itemClick"],
1760
1938
  slots: Object,
1761
- setup(e, { emit: o, slots: a }) {
1762
- const l = B(""), t = B(/* @__PURE__ */ new Map()), n = h(() => {
1939
+ setup(e, { emit: n, slots: a }) {
1940
+ const l = D(""), t = D(/* @__PURE__ */ new Map()), o = b(() => {
1763
1941
  const m = ["krds-in-page-navigation-type"];
1764
1942
  return e.class && m.push(e.class), m;
1765
- }), i = () => {
1766
- const m = e.headerTopSelector, s = e.headerInnerSelector, c = document.querySelector(m)?.clientHeight || 0, d = document.querySelector(s)?.clientHeight || 0;
1767
- return c + d;
1768
- }, v = (m, s) => {
1769
- if (o("itemClick", m, s), m.href.startsWith("#")) {
1770
- s.preventDefault();
1771
- const c = document.querySelector(m.href);
1772
- if (c) {
1773
- const d = i();
1943
+ }), r = () => {
1944
+ const m = e.headerTopSelector, i = e.headerInnerSelector, f = document.querySelector(m)?.clientHeight || 0, d = document.querySelector(i)?.clientHeight || 0;
1945
+ return f + d;
1946
+ }, h = (m, i) => {
1947
+ if (n("itemClick", m, i), m.href.startsWith("#")) {
1948
+ i.preventDefault();
1949
+ const f = document.querySelector(m.href);
1950
+ if (f) {
1951
+ const d = r();
1774
1952
  if (window.scrollTo({
1775
1953
  left: 0,
1776
- top: c.getBoundingClientRect().top + window.scrollY - d,
1954
+ top: f.getBoundingClientRect().top + window.scrollY - d,
1777
1955
  behavior: "smooth"
1778
- }), l.value = m.href, s instanceof KeyboardEvent) {
1779
- const f = c.querySelector(".sec-tit, h1, h2, h3, h4, h5, h6");
1780
- f && f instanceof HTMLElement && (f.setAttribute("tabindex", "-1"), f.focus({ preventScroll: !0 }));
1956
+ }), l.value = m.href, i instanceof KeyboardEvent) {
1957
+ const v = f.querySelector(".sec-tit, h1, h2, h3, h4, h5, h6");
1958
+ v && v instanceof HTMLElement && (v.setAttribute("tabindex", "-1"), v.focus({ preventScroll: !0 }));
1781
1959
  }
1782
1960
  }
1783
1961
  }
1784
- }, p = () => {
1962
+ }, u = () => {
1785
1963
  t.value.clear(), e.items && e.items.filter((m) => m.href.startsWith("#")).forEach((m) => {
1786
- const s = document.querySelector(m.href);
1787
- s && t.value.set(m.href, s);
1964
+ const i = document.querySelector(m.href);
1965
+ i && t.value.set(m.href, i);
1788
1966
  });
1789
- }, y = () => {
1967
+ }, g = () => {
1790
1968
  if (!e.autoActive || !e.items || t.value.size === 0) return;
1791
- const m = window.innerHeight, s = Math.ceil(m / 5), c = window.scrollY + m, d = document.body.scrollHeight, f = e.items.filter((z) => z.href.startsWith("#") && t.value.has(z.href)).map((z) => ({
1792
- href: z.href,
1793
- element: t.value.get(z.href),
1794
- item: z
1969
+ const m = window.innerHeight, i = Math.ceil(m / 5), f = window.scrollY + m, d = document.body.scrollHeight, v = e.items.filter((I) => I.href.startsWith("#") && t.value.has(I.href)).map((I) => ({
1970
+ href: I.href,
1971
+ element: t.value.get(I.href),
1972
+ item: I
1795
1973
  }));
1796
- if (f.length === 0) return;
1797
- const x = f[0], R = f[f.length - 1], L = x.element.offsetTop;
1798
- let M = "";
1799
- if (c >= d)
1800
- M = R.href;
1801
- else if (window.scrollY <= L)
1802
- M = x.href;
1974
+ if (v.length === 0) return;
1975
+ const $ = v[0], F = v[v.length - 1], T = $.element.offsetTop;
1976
+ let R = "";
1977
+ if (f >= d)
1978
+ R = F.href;
1979
+ else if (window.scrollY <= T)
1980
+ R = $.href;
1803
1981
  else
1804
- for (const z of f) {
1805
- const H = z.element.offsetHeight, I = z.element.offsetTop - s;
1806
- if (window.scrollY > I && window.scrollY <= I + H) {
1807
- M = z.href;
1982
+ for (const I of v) {
1983
+ const p = I.element.offsetHeight, k = I.element.offsetTop - i;
1984
+ if (window.scrollY > k && window.scrollY <= k + p) {
1985
+ R = I.href;
1808
1986
  break;
1809
1987
  }
1810
1988
  }
1811
- M && M !== l.value && (l.value = M);
1812
- }, g = () => {
1989
+ R && R !== l.value && (l.value = R);
1990
+ }, y = () => {
1813
1991
  if (!e.items) return;
1814
- const m = e.items.find((s) => s.active);
1992
+ const m = e.items.find((i) => i.active);
1815
1993
  m ? l.value = m.href : e.items.length > 0 && (l.value = e.items[0].href);
1816
1994
  };
1817
- le(() => {
1818
- if (g(), e.autoActive) {
1819
- p(), y(), window.addEventListener("scroll", y, { passive: !0 });
1995
+ ae(() => {
1996
+ if (y(), e.autoActive) {
1997
+ u(), g(), window.addEventListener("scroll", g, { passive: !0 });
1820
1998
  const m = new MutationObserver(() => {
1821
- p();
1999
+ u();
1822
2000
  });
1823
2001
  m.observe(document.body, {
1824
2002
  childList: !0,
1825
2003
  subtree: !0
1826
- }), J(() => {
2004
+ }), Z(() => {
1827
2005
  m.disconnect();
1828
2006
  });
1829
2007
  }
1830
- }), J(() => {
1831
- e.autoActive && (window.removeEventListener("scroll", y), t.value.clear());
2008
+ }), Z(() => {
2009
+ e.autoActive && (window.removeEventListener("scroll", g), t.value.clear());
1832
2010
  });
1833
- const w = () => !e.caption && !e.title ? null : u("div", { class: "in-page-navigation-header" }, [
1834
- e.caption && u("p", { class: "quick-caption" }, e.caption),
1835
- e.title && u("p", { class: "quick-title" }, e.title)
1836
- ]), b = () => {
2011
+ const C = () => !e.caption && !e.title ? null : s("div", { class: "in-page-navigation-header" }, [
2012
+ e.caption && s("p", { class: "quick-caption" }, e.caption),
2013
+ e.title && s("p", { class: "quick-title" }, e.title)
2014
+ ]), S = () => {
1837
2015
  if (!e.items) return null;
1838
- const m = e.items.map((s) => {
1839
- const c = l.value === s.href || !e.autoActive && s.active;
1840
- return u("li", { key: s.href }, [
1841
- u(
2016
+ const m = e.items.map((i) => {
2017
+ const f = l.value === i.href || !e.autoActive && i.active;
2018
+ return s("li", { key: i.href }, [
2019
+ s(
1842
2020
  "a",
1843
2021
  {
1844
- href: s.href,
1845
- class: c ? "active" : "",
1846
- onClick: (d) => v(s, d),
2022
+ href: i.href,
2023
+ class: f ? "active" : "",
2024
+ onClick: (d) => h(i, d),
1847
2025
  onKeydown: (d) => {
1848
- (d.key === "Enter" || d.key === " ") && (d.preventDefault(), v(s, d));
2026
+ (d.key === "Enter" || d.key === " ") && (d.preventDefault(), h(i, d));
1849
2027
  }
1850
2028
  },
1851
- s.text
2029
+ i.text
1852
2030
  )
1853
2031
  ]);
1854
2032
  });
1855
- return u("nav", { class: "in-page-navigation-list" }, [u("ul", {}, m)]);
1856
- }, D = () => a.action ? u("div", { class: "in-page-navigation-action" }, [a.action()]) : null;
1857
- return () => u("div", { class: n.value }, [
1858
- u("div", { class: "krds-in-page-navigation-area" }, [w(), b(), D()].filter(Boolean))
2033
+ return s("nav", { class: "in-page-navigation-list" }, [s("ul", {}, m)]);
2034
+ }, V = () => a.action ? s("div", { class: "in-page-navigation-action" }, [a.action()]) : null;
2035
+ return () => s("div", { class: o.value }, [
2036
+ s("div", { class: "krds-in-page-navigation-area" }, [C(), S(), V()].filter(Boolean))
1859
2037
  ]);
1860
2038
  }
1861
- }), Mt = ["id"], Rt = { class: "page-links" }, Tt = ["href", "aria-current", "onClick"], At = { key: 0 }, Pt = ["aria-label"], Ft = /* @__PURE__ */ _({
2039
+ }), Tt = ["id"], Rt = { class: "page-links" }, At = ["href", "aria-current", "onClick"], Ft = { key: 0 }, Pt = ["aria-label"], Ot = /* @__PURE__ */ K({
1862
2040
  __name: "KrdsPagination",
1863
2041
  props: {
1864
2042
  modelValue: { default: 1 },
@@ -1869,184 +2047,184 @@ const wt = _({
1869
2047
  pageRange: { default: 8 }
1870
2048
  },
1871
2049
  emits: ["update:modelValue"],
1872
- setup(e, { emit: o }) {
1873
- const a = e, l = o, t = h(() => Math.max(1, a.min)), n = h(() => a.modelValue ?? t.value), i = h(() => n.value <= t.value), v = h(() => n.value >= a.max), p = h(() => {
1874
- if (!i.value)
2050
+ setup(e, { emit: n }) {
2051
+ const a = e, l = n, t = b(() => Math.max(1, a.min)), o = b(() => a.modelValue ?? t.value), r = b(() => o.value <= t.value), h = b(() => o.value >= a.max), u = b(() => {
2052
+ if (!r.value)
1875
2053
  return "#";
1876
- }), y = h(() => {
1877
- if (!v.value)
2054
+ }), g = b(() => {
2055
+ if (!h.value)
1878
2056
  return "#";
1879
- }), g = h(() => {
1880
- const { pageRange: m, max: s } = a, c = 1, d = [];
1881
- if (s <= m + 2 * c)
1882
- for (let f = t.value; f <= s; f++)
2057
+ }), y = b(() => {
2058
+ const { pageRange: m, max: i } = a, f = 1, d = [];
2059
+ if (i <= m + 2 * f)
2060
+ for (let v = t.value; v <= i; v++)
1883
2061
  d.push({
1884
2062
  type: "page",
1885
- key: `page-${f}`,
1886
- page: f,
2063
+ key: `page-${v}`,
2064
+ page: v,
1887
2065
  href: "#"
1888
2066
  });
1889
2067
  else {
1890
- const f = Math.min(c, s), x = Math.max(s - c + 1, 1), R = Math.max(t.value, n.value - Math.floor(m / 2)), L = Math.min(s, R + m - 1), M = Math.max(t.value, L - m + 1);
1891
- for (let I = t.value; I <= f; I++)
2068
+ const v = Math.min(f, i), $ = Math.max(i - f + 1, 1), F = Math.max(t.value, o.value - Math.floor(m / 2)), T = Math.min(i, F + m - 1), R = Math.max(t.value, T - m + 1);
2069
+ for (let k = t.value; k <= v; k++)
1892
2070
  d.push({
1893
2071
  type: "page",
1894
- key: `page-${I}`,
1895
- page: I,
2072
+ key: `page-${k}`,
2073
+ page: k,
1896
2074
  href: "#"
1897
2075
  });
1898
- M > f + 1 && d.push({
2076
+ R > v + 1 && d.push({
1899
2077
  type: "ellipsis",
1900
2078
  key: "ellipsis-left",
1901
2079
  ariaLabel: "페이지 생략"
1902
2080
  });
1903
- const z = Math.max(M, f + 1), H = Math.min(L, x - 1);
1904
- for (let I = z; I <= H; I++)
2081
+ const I = Math.max(R, v + 1), p = Math.min(T, $ - 1);
2082
+ for (let k = I; k <= p; k++)
1905
2083
  d.push({
1906
2084
  type: "page",
1907
- key: `page-${I}`,
1908
- page: I,
2085
+ key: `page-${k}`,
2086
+ page: k,
1909
2087
  href: "#"
1910
2088
  });
1911
- L < x - 1 && d.push({
2089
+ T < $ - 1 && d.push({
1912
2090
  type: "ellipsis",
1913
2091
  key: "ellipsis-right",
1914
2092
  ariaLabel: "페이지 생략"
1915
2093
  });
1916
- for (let I = x; I <= s; I++)
2094
+ for (let k = $; k <= i; k++)
1917
2095
  d.push({
1918
2096
  type: "page",
1919
- key: `page-${I}`,
1920
- page: I,
2097
+ key: `page-${k}`,
2098
+ page: k,
1921
2099
  href: "#"
1922
2100
  });
1923
2101
  }
1924
2102
  return d;
1925
- }), w = (m, s) => {
1926
- if (m === n.value) {
1927
- s.preventDefault();
2103
+ }), C = (m, i) => {
2104
+ if (m === o.value) {
2105
+ i.preventDefault();
1928
2106
  return;
1929
2107
  }
1930
2108
  l("update:modelValue", m);
1931
- }, b = (m) => {
1932
- if (i.value) {
2109
+ }, S = (m) => {
2110
+ if (r.value) {
1933
2111
  m.preventDefault();
1934
2112
  return;
1935
2113
  }
1936
- const s = n.value - 1;
1937
- l("update:modelValue", s);
1938
- }, D = (m) => {
1939
- if (v.value) {
2114
+ const i = o.value - 1;
2115
+ l("update:modelValue", i);
2116
+ }, V = (m) => {
2117
+ if (h.value) {
1940
2118
  m.preventDefault();
1941
2119
  return;
1942
2120
  }
1943
- const s = n.value + 1;
1944
- l("update:modelValue", s);
2121
+ const i = o.value + 1;
2122
+ l("update:modelValue", i);
1945
2123
  };
1946
- return (m, s) => {
1947
- const c = ze("sr-only");
1948
- return k(), S("div", {
2124
+ return (m, i) => {
2125
+ const f = Ie("sr-only");
2126
+ return w(), x("div", {
1949
2127
  id: e.id,
1950
2128
  class: "krds-pagination"
1951
2129
  }, [
1952
- (k(), ie(ye(i.value ? "span" : "a"), {
1953
- href: i.value ? void 0 : p.value,
1954
- class: E(["page-navi", "prev", { disabled: i.value }]),
1955
- onClick: b
2130
+ (w(), ie(ge(r.value ? "span" : "a"), {
2131
+ href: r.value ? void 0 : u.value,
2132
+ class: M(["page-navi", "prev", { disabled: r.value }]),
2133
+ onClick: S
1956
2134
  }, {
1957
- default: de(() => [...s[0] || (s[0] = [
1958
- P(" 이전 ", -1)
2135
+ default: re(() => [...i[0] || (i[0] = [
2136
+ H(" 이전 ", -1)
1959
2137
  ])]),
1960
2138
  _: 1
1961
2139
  }, 8, ["href", "class"])),
1962
- r("div", Rt, [
1963
- (k(!0), S(F, null, N(g.value, (d) => (k(), S(F, {
2140
+ c("div", Rt, [
2141
+ (w(!0), x(j, null, G(y.value, (d) => (w(), x(j, {
1964
2142
  key: d.key
1965
2143
  }, [
1966
- d.type === "page" ? (k(), S("a", {
2144
+ d.type === "page" ? (w(), x("a", {
1967
2145
  key: 0,
1968
2146
  href: d.href || "#",
1969
- class: E(["page-link", { active: d.page === n.value }]),
1970
- "aria-current": d.page === n.value ? "page" : void 0,
1971
- onClick: (f) => w(d.page, f)
2147
+ class: M(["page-link", { active: d.page === o.value }]),
2148
+ "aria-current": d.page === o.value ? "page" : void 0,
2149
+ onClick: (v) => C(d.page, v)
1972
2150
  }, [
1973
- d.page === n.value ? Q((k(), S("span", At, [...s[1] || (s[1] = [
1974
- P("현재페이지", -1)
2151
+ d.page === o.value ? ee((w(), x("span", Ft, [...i[1] || (i[1] = [
2152
+ H("현재페이지", -1)
1975
2153
  ])])), [
1976
- [c]
1977
- ]) : Y("", !0),
1978
- P(" " + V(d.page), 1)
1979
- ], 10, Tt)) : d.type === "ellipsis" ? (k(), S("span", {
2154
+ [f]
2155
+ ]) : X("", !0),
2156
+ H(" " + E(d.page), 1)
2157
+ ], 10, At)) : d.type === "ellipsis" ? (w(), x("span", {
1980
2158
  key: 1,
1981
2159
  class: "page-link link-dot",
1982
2160
  "aria-label": d.ariaLabel
1983
- }, null, 8, Pt)) : Y("", !0)
2161
+ }, null, 8, Pt)) : X("", !0)
1984
2162
  ], 64))), 128))
1985
2163
  ]),
1986
- (k(), ie(ye(v.value ? "span" : "a"), {
1987
- href: v.value ? void 0 : y.value,
1988
- class: E(["page-navi", "next", { disabled: v.value }]),
1989
- onClick: D
2164
+ (w(), ie(ge(h.value ? "span" : "a"), {
2165
+ href: h.value ? void 0 : g.value,
2166
+ class: M(["page-navi", "next", { disabled: h.value }]),
2167
+ onClick: V
1990
2168
  }, {
1991
- default: de(() => [...s[2] || (s[2] = [
1992
- P(" 다음 ", -1)
2169
+ default: re(() => [...i[2] || (i[2] = [
2170
+ H(" 다음 ", -1)
1993
2171
  ])]),
1994
2172
  _: 1
1995
2173
  }, 8, ["href", "class"]))
1996
- ], 8, Mt);
2174
+ ], 8, Tt);
1997
2175
  };
1998
2176
  }
1999
- }), Ot = { class: "inner help-panel-flexible" }, qt = { class: "help-panel-wrap" }, Nt = { class: "help-conts-area" }, Ht = /* @__PURE__ */ _({
2177
+ }), qt = { class: "inner help-panel-flexible" }, Nt = { class: "help-panel-wrap" }, Ht = { class: "help-conts-area" }, Wt = /* @__PURE__ */ K({
2000
2178
  __name: "KrdsPanel",
2001
2179
  props: {
2002
2180
  modelValue: { type: Boolean, default: !1 }
2003
2181
  },
2004
2182
  emits: ["update:modelValue"],
2005
- setup(e, { emit: o }) {
2006
- const a = e, l = o, t = h({
2183
+ setup(e, { emit: n }) {
2184
+ const a = e, l = n, t = b({
2007
2185
  get: () => a.modelValue,
2008
- set: (v) => l("update:modelValue", v)
2009
- }), n = () => {
2186
+ set: (h) => l("update:modelValue", h)
2187
+ }), o = () => {
2010
2188
  t.value = !0;
2011
- }, i = () => {
2189
+ }, r = () => {
2012
2190
  t.value = !1;
2013
2191
  };
2014
- return (v, p) => (k(), S("div", Ot, [
2015
- r("button", {
2192
+ return (h, u) => (w(), x("div", qt, [
2193
+ c("button", {
2016
2194
  type: "button",
2017
2195
  class: "krds-btn small tertiary btn-help-panel expand btn-help-exec",
2018
- onClick: n
2019
- }, [...p[0] || (p[0] = [
2020
- r("i", { class: "svg-icon ico-fold" }, null, -1),
2021
- P(" 도움말 ", -1)
2196
+ onClick: o
2197
+ }, [...u[0] || (u[0] = [
2198
+ c("i", { class: "svg-icon ico-fold" }, null, -1),
2199
+ H(" 도움말 ", -1)
2022
2200
  ])]),
2023
- r("div", {
2024
- class: E(["krds-help-panel", { expand: t.value }])
2201
+ c("div", {
2202
+ class: M(["krds-help-panel", { expand: t.value }])
2025
2203
  }, [
2026
- r("div", qt, [
2027
- r("div", Nt, [
2028
- G(v.$slots, "default"),
2029
- r("button", {
2204
+ c("div", Nt, [
2205
+ c("div", Ht, [
2206
+ J(h.$slots, "default"),
2207
+ c("button", {
2030
2208
  type: "button",
2031
2209
  class: "krds-btn small tertiary btn-help-panel fold",
2032
- onClick: i
2033
- }, [...p[1] || (p[1] = [
2034
- r("span", { class: "sr-only" }, "도움말", -1),
2035
- P(" 접어두기 ", -1),
2036
- r("i", { class: "svg-icon ico-angle right" }, null, -1)
2210
+ onClick: r
2211
+ }, [...u[1] || (u[1] = [
2212
+ c("span", { class: "sr-only" }, "도움말", -1),
2213
+ H(" 접어두기 ", -1),
2214
+ c("i", { class: "svg-icon ico-angle right" }, null, -1)
2037
2215
  ])])
2038
2216
  ])
2039
2217
  ])
2040
2218
  ], 2)
2041
2219
  ]));
2042
2220
  }
2043
- }), jt = { class: "tooltip-action" }, Wt = {
2221
+ }), jt = { class: "tooltip-action" }, Yt = {
2044
2222
  key: 0,
2045
2223
  class: "svg-icon ico-help"
2046
- }, Yt = {
2224
+ }, Gt = {
2047
2225
  key: 1,
2048
2226
  class: "svg-icon ico-tooltip"
2049
- }, Gt = { class: "tooltip-title" }, Ut = { class: "tooltip-contents" }, Xt = /* @__PURE__ */ _({
2227
+ }, Ut = { class: "tooltip-title" }, Xt = { class: "tooltip-contents" }, Jt = /* @__PURE__ */ K({
2050
2228
  __name: "KrdsContextualHelp",
2051
2229
  props: {
2052
2230
  tooltipTitle: { default: "도움말 제목" },
@@ -2054,84 +2232,84 @@ const wt = _({
2054
2232
  position: { default: "top left" }
2055
2233
  },
2056
2234
  setup(e) {
2057
- const o = e, a = B(), l = B(), t = B(), n = B(), i = B(!1), v = () => {
2058
- const s = i.value;
2059
- g(), s || p();
2060
- }, p = () => {
2235
+ const n = e, a = D(), l = D(), t = D(), o = D(), r = D(!1), h = () => {
2236
+ const i = r.value;
2237
+ y(), i || u();
2238
+ }, u = () => {
2061
2239
  if (!t.value || !l.value) return;
2062
- i.value = !0, t.value.style.display = "block", l.value.setAttribute("aria-expanded", "true"), t.value.querySelector('a, button, [tabindex="0"], input, textarea, select')?.focus(), w();
2063
- }, y = () => {
2064
- !t.value || !l.value || (i.value = !1, t.value.style.display = "none", l.value.setAttribute("aria-expanded", "false"));
2240
+ r.value = !0, t.value.style.display = "block", l.value.setAttribute("aria-expanded", "true"), t.value.querySelector('a, button, [tabindex="0"], input, textarea, select')?.focus(), C();
2065
2241
  }, g = () => {
2066
- const s = document.querySelectorAll(".krds-contextual-help .tooltip-popover"), c = document.querySelectorAll(".krds-contextual-help .tooltip-btn");
2067
- s.forEach((d) => {
2242
+ !t.value || !l.value || (r.value = !1, t.value.style.display = "none", l.value.setAttribute("aria-expanded", "false"));
2243
+ }, y = () => {
2244
+ const i = document.querySelectorAll(".krds-contextual-help .tooltip-popover"), f = document.querySelectorAll(".krds-contextual-help .tooltip-btn");
2245
+ i.forEach((d) => {
2068
2246
  d.style.display = "none";
2069
- }), c.forEach((d) => {
2247
+ }), f.forEach((d) => {
2070
2248
  d.setAttribute("aria-expanded", "false");
2071
- }), i.value = !1;
2072
- }, w = () => {
2249
+ }), r.value = !1;
2250
+ }, C = () => {
2073
2251
  if (!a.value || !t.value) return;
2074
- const s = window.innerWidth <= 768, c = a.value.querySelector(".tooltip-action");
2075
- if (s) {
2076
- const f = getComputedStyle(document.querySelector(":root")).getPropertyValue("--krds-contents-padding-x").trim().split("px")[0], R = c.getBoundingClientRect().left - parseInt(f), L = document.body.clientWidth - parseInt(f) * 2;
2077
- t.value.style.left = `-${R}px`, t.value.style.width = `${L}px`;
2252
+ const i = window.innerWidth <= 768, f = a.value.querySelector(".tooltip-action");
2253
+ if (i) {
2254
+ const v = getComputedStyle(document.querySelector(":root")).getPropertyValue("--krds-contents-padding-x").trim().split("px")[0], F = f.getBoundingClientRect().left - parseInt(v), T = document.body.clientWidth - parseInt(v) * 2;
2255
+ t.value.style.left = `-${F}px`, t.value.style.width = `${T}px`;
2078
2256
  } else
2079
2257
  t.value.style.left = "", t.value.style.right = "", t.value.style.width = "360px";
2080
- }, b = (s) => {
2081
- (s.key === "Escape" || s.key === "Esc") && g();
2082
- }, D = (s) => {
2083
- s.target.closest(".tooltip-action") || g();
2258
+ }, S = (i) => {
2259
+ (i.key === "Escape" || i.key === "Esc") && y();
2260
+ }, V = (i) => {
2261
+ i.target.closest(".tooltip-action") || y();
2084
2262
  }, m = () => {
2085
- i.value && w();
2263
+ r.value && C();
2086
2264
  };
2087
- return le(() => {
2088
- a.value && (l.value && l.value.setAttribute("aria-expanded", "false"), t.value && t.value.setAttribute("role", "tooltip"), document.addEventListener("keydown", b), document.addEventListener("click", D), window.addEventListener("resize", m));
2089
- }), J(() => {
2090
- document.removeEventListener("keydown", b), document.removeEventListener("click", D), window.removeEventListener("resize", m);
2091
- }), (s, c) => (k(), S("div", {
2265
+ return ae(() => {
2266
+ a.value && (l.value && l.value.setAttribute("aria-expanded", "false"), t.value && t.value.setAttribute("role", "tooltip"), document.addEventListener("keydown", S), document.addEventListener("click", V), window.addEventListener("resize", m));
2267
+ }), Z(() => {
2268
+ document.removeEventListener("keydown", S), document.removeEventListener("click", V), window.removeEventListener("resize", m);
2269
+ }), (i, f) => (w(), x("div", {
2092
2270
  ref_key: "containerRef",
2093
2271
  ref: a,
2094
- class: E(["krds-contextual-help", o.position])
2272
+ class: M(["krds-contextual-help", n.position])
2095
2273
  }, [
2096
- r("div", jt, [
2097
- r("button", {
2274
+ c("div", jt, [
2275
+ c("button", {
2098
2276
  ref_key: "tooltipBtnRef",
2099
2277
  ref: l,
2100
2278
  type: "button",
2101
2279
  class: "krds-btn medium icon tooltip-btn",
2102
- onClick: v
2280
+ onClick: h
2103
2281
  }, [
2104
- c[0] || (c[0] = r("span", { class: "sr-only" }, "도움말", -1)),
2105
- o.helpIcon ? (k(), S("i", Wt)) : (k(), S("i", Yt))
2282
+ f[0] || (f[0] = c("span", { class: "sr-only" }, "도움말", -1)),
2283
+ n.helpIcon ? (w(), x("i", Yt)) : (w(), x("i", Gt))
2106
2284
  ], 512),
2107
- r("div", {
2285
+ c("div", {
2108
2286
  ref_key: "tooltipPopoverRef",
2109
2287
  ref: t,
2110
2288
  class: "tooltip-popover",
2111
2289
  role: "tooltip"
2112
2290
  }, [
2113
- r("h4", Gt, V(o.tooltipTitle), 1),
2114
- r("div", Ut, [
2115
- G(s.$slots, "default")
2291
+ c("h4", Ut, E(n.tooltipTitle), 1),
2292
+ c("div", Xt, [
2293
+ J(i.$slots, "default")
2116
2294
  ]),
2117
- r("button", {
2295
+ c("button", {
2118
2296
  ref_key: "closeBtnRef",
2119
- ref: n,
2297
+ ref: o,
2120
2298
  type: "button",
2121
2299
  class: "krds-btn xsmall icon tooltip-close",
2122
- onClick: y
2123
- }, [...c[1] || (c[1] = [
2124
- r("span", { class: "sr-only" }, "닫기", -1),
2125
- r("i", { class: "svg-icon ico-modal-close" }, null, -1)
2300
+ onClick: g
2301
+ }, [...f[1] || (f[1] = [
2302
+ c("span", { class: "sr-only" }, "닫기", -1),
2303
+ c("i", { class: "svg-icon ico-modal-close" }, null, -1)
2126
2304
  ])], 512)
2127
2305
  ], 512)
2128
2306
  ])
2129
2307
  ], 2));
2130
2308
  }
2131
- }), Jt = {
2309
+ }), Qt = {
2132
2310
  key: 0,
2133
2311
  class: "coach-balloon"
2134
- }, Qt = { class: "coach-tit" }, Zt = { class: "desc" }, el = { class: "coach-controls" }, tl = { class: "num" }, ll = { class: "btn-wrap" }, al = /* @__PURE__ */ _({
2312
+ }, Zt = { class: "coach-tit" }, el = { class: "desc" }, tl = { class: "coach-controls" }, ll = { class: "num" }, al = { class: "btn-wrap" }, nl = /* @__PURE__ */ K({
2135
2313
  __name: "KrdsCoachMark",
2136
2314
  props: {
2137
2315
  coachMarkClass: { default: "" },
@@ -2143,57 +2321,57 @@ const wt = _({
2143
2321
  id: {}
2144
2322
  },
2145
2323
  emits: ["update:modelValue", "close"],
2146
- setup(e, { emit: o }) {
2147
- const a = e, l = h(() => {
2148
- const p = a.activeStep - 1;
2149
- return a.stepsData && p >= 0 && p < a.stepsData.length ? a.stepsData[p] : null;
2150
- }), t = o, n = () => {
2324
+ setup(e, { emit: n }) {
2325
+ const a = e, l = b(() => {
2326
+ const u = a.activeStep - 1;
2327
+ return a.stepsData && u >= 0 && u < a.stepsData.length ? a.stepsData[u] : null;
2328
+ }), t = n, o = () => {
2151
2329
  a.activeStep > 1 && t("update:modelValue", a.activeStep - 1);
2152
- }, i = () => {
2330
+ }, r = () => {
2153
2331
  a.activeStep < a.stepsData.length && t("update:modelValue", a.activeStep + 1);
2154
- }, v = () => {
2332
+ }, h = () => {
2155
2333
  t("close");
2156
2334
  };
2157
- return (p, y) => (k(), S("div", {
2158
- class: E(["krds-coach-mark", e.coachMarkClass]),
2159
- style: ne(e.style)
2335
+ return (u, g) => (w(), x("div", {
2336
+ class: M(["krds-coach-mark", e.coachMarkClass]),
2337
+ style: se(e.style)
2160
2338
  }, [
2161
- e.modelValue === e.activeStep && l.value ? (k(), S("div", Jt, [
2162
- y[2] || (y[2] = r("h5", { class: "sr-only" }, "따라하기 가이드", -1)),
2163
- r("h6", Qt, V(e.activeStep) + "단계 : " + V(l.value.title), 1),
2164
- r("p", Zt, V(l.value.description), 1),
2165
- r("div", el, [
2166
- r("div", tl, [
2167
- y[0] || (y[0] = r("span", { class: "sr-only" }, "현재 단계", -1)),
2168
- r("strong", null, V(e.activeStep), 1),
2169
- y[1] || (y[1] = r("span", { class: "sr-only" }, "총 단계", -1)),
2170
- r("span", null, V(e.stepsData.length), 1)
2339
+ e.modelValue === e.activeStep && l.value ? (w(), x("div", Qt, [
2340
+ g[2] || (g[2] = c("h5", { class: "sr-only" }, "따라하기 가이드", -1)),
2341
+ c("h6", Zt, E(e.activeStep) + "단계 : " + E(l.value.title), 1),
2342
+ c("p", el, E(l.value.description), 1),
2343
+ c("div", tl, [
2344
+ c("div", ll, [
2345
+ g[0] || (g[0] = c("span", { class: "sr-only" }, "현재 단계", -1)),
2346
+ c("strong", null, E(e.activeStep), 1),
2347
+ g[1] || (g[1] = c("span", { class: "sr-only" }, "총 단계", -1)),
2348
+ c("span", null, E(e.stepsData.length), 1)
2171
2349
  ]),
2172
- r("div", ll, [
2173
- r("button", {
2350
+ c("div", al, [
2351
+ c("button", {
2174
2352
  type: "button",
2175
2353
  class: "krds-btn small text",
2176
- onClick: v
2354
+ onClick: h
2177
2355
  }, "그만보기"),
2178
- e.activeStep !== 1 ? (k(), S("button", {
2356
+ e.activeStep !== 1 ? (w(), x("button", {
2179
2357
  key: 0,
2180
2358
  type: "button",
2181
2359
  class: "krds-btn small text",
2182
- onClick: n
2183
- }, "이전으로")) : Y("", !0),
2184
- e.activeStep !== e.stepsData.length ? (k(), S("button", {
2360
+ onClick: o
2361
+ }, "이전으로")) : X("", !0),
2362
+ e.activeStep !== e.stepsData.length ? (w(), x("button", {
2185
2363
  key: 1,
2186
2364
  type: "button",
2187
2365
  class: "krds-btn small tertiary",
2188
- onClick: i
2189
- }, "다음으로")) : Y("", !0)
2366
+ onClick: r
2367
+ }, "다음으로")) : X("", !0)
2190
2368
  ])
2191
2369
  ])
2192
- ])) : Y("", !0),
2193
- G(p.$slots, "coach-mark-content")
2370
+ ])) : X("", !0),
2371
+ J(u.$slots, "coach-mark-content")
2194
2372
  ], 6));
2195
2373
  }
2196
- }), nl = ["disabled", "aria-labelledby"], sl = ["id", "aria-hidden"], ol = { class: "sr-only" }, il = /* @__PURE__ */ _({
2374
+ }), sl = ["disabled", "aria-labelledby"], ol = ["id", "aria-hidden"], il = { class: "sr-only" }, rl = /* @__PURE__ */ K({
2197
2375
  __name: "KrdsTooltip",
2198
2376
  props: {
2199
2377
  type: { default: "default" },
@@ -2206,83 +2384,83 @@ const wt = _({
2206
2384
  id: {}
2207
2385
  },
2208
2386
  setup(e) {
2209
- const o = e, a = B(null), l = B(null), t = B(!1), n = B({}), i = B(`tooltip-popover-${Math.random().toString(36).substring(2, 9)}`), v = B(!1), p = h(() => {
2210
- const f = ["krds-btn", "krds-tooltip"];
2211
- return o.type === "default" ? f.push("small", "text") : o.type === "icon" ? f.push("icon") : o.type === "button" && f.push(""), !o.box && o.vertical && f.push("tooltip-vertical"), o.box && !o.vertical && f.push("tooltip-box"), f.join(" ");
2212
- }), y = h(() => {
2213
- const f = [];
2214
- return o.box && f.push("tooltip-box"), o.vertical && f.push("tooltip-vertical"), t.value && f.push("active"), f;
2215
- }), g = h(() => a.value?.querySelector("button")?.textContent?.trim() || ""), w = () => window.innerWidth <= 768, b = () => {
2387
+ const n = e, a = D(null), l = D(null), t = D(!1), o = D({}), r = D(`tooltip-popover-${Math.random().toString(36).substring(2, 9)}`), h = D(!1), u = b(() => {
2388
+ const v = ["krds-btn", "krds-tooltip"];
2389
+ return n.type === "default" ? v.push("small", "text") : n.type === "icon" ? v.push("icon") : n.type === "button" && v.push(""), !n.box && n.vertical && v.push("tooltip-vertical"), n.box && !n.vertical && v.push("tooltip-box"), v.join(" ");
2390
+ }), g = b(() => {
2391
+ const v = [];
2392
+ return n.box && v.push("tooltip-box"), n.vertical && v.push("tooltip-vertical"), t.value && v.push("active"), v;
2393
+ }), y = b(() => a.value?.querySelector("button")?.textContent?.trim() || ""), C = () => window.innerWidth <= 768, S = () => {
2216
2394
  if (!a.value || !l.value) return;
2217
- const f = a.value.querySelector("button");
2218
- if (!f) return;
2219
- const x = 12, { clientHeight: R, clientWidth: L } = l.value, { top: M, left: z, right: H, height: I, width: j } = f.getBoundingClientRect(), Z = window.innerWidth / 2, se = window.innerHeight / 2;
2220
- let X, O;
2221
- const q = [];
2222
- v.value || o.box || o.vertical ? (M + I > se ? (X = M - R - x, q.push("top")) : (X = M + I + x, q.push("bottom")), z + j > Z ? (O = H - L, q.push("right"), window.innerWidth - (z + j) > L / 2 && (O = z + (j - L) / 2, q.splice(q.indexOf("right"), 1))) : (O = z + (j - L) / 2, O < 0 && (O = z, q.push("left")))) : (X = M + (I - R) / 2, z + j > Z ? (O = z - L - x, q.push("right")) : O = H + x);
2223
- const ee = window.innerWidth <= 420;
2224
- n.value = {
2225
- top: `${X}px`,
2226
- left: ee ? "50%" : `${O}px`,
2227
- transform: ee ? "translateX(-50%)" : "none"
2228
- }, l.value && (l.value.className = `krds-tooltip-popover ${q.join(" ")} ${y.value.join(" ")}`);
2229
- }, D = async () => {
2230
- o.disabled || !o.tooltipContent || (t.value = !0, await we(), b());
2395
+ const v = a.value.querySelector("button");
2396
+ if (!v) return;
2397
+ const $ = 12, { clientHeight: F, clientWidth: T } = l.value, { top: R, left: I, right: p, height: k, width: L } = v.getBoundingClientRect(), P = window.innerWidth / 2, A = window.innerHeight / 2;
2398
+ let W, N;
2399
+ const Y = [];
2400
+ h.value || n.box || n.vertical ? (R + k > A ? (W = R - F - $, Y.push("top")) : (W = R + k + $, Y.push("bottom")), I + L > P ? (N = p - T, Y.push("right"), window.innerWidth - (I + L) > T / 2 && (N = I + (L - T) / 2, Y.splice(Y.indexOf("right"), 1))) : (N = I + (L - T) / 2, N < 0 && (N = I, Y.push("left")))) : (W = R + (k - F) / 2, I + L > P ? (N = I - T - $, Y.push("right")) : N = p + $);
2401
+ const te = window.innerWidth <= 420;
2402
+ o.value = {
2403
+ top: `${W}px`,
2404
+ left: te ? "50%" : `${N}px`,
2405
+ transform: te ? "translateX(-50%)" : "none"
2406
+ }, l.value && (l.value.className = `krds-tooltip-popover ${Y.join(" ")} ${g.value.join(" ")}`);
2407
+ }, V = async () => {
2408
+ n.disabled || !n.tooltipContent || (t.value = !0, await we(), S());
2231
2409
  }, m = () => {
2232
- t.value = !1, n.value = {};
2233
- }, s = (f) => {
2234
- (f.key === "Escape" || f.key === "Esc") && t.value && m();
2235
- }, c = () => {
2236
- v.value = w(), t.value && m();
2410
+ t.value = !1, o.value = {};
2411
+ }, i = (v) => {
2412
+ (v.key === "Escape" || v.key === "Esc") && t.value && m();
2413
+ }, f = () => {
2414
+ h.value = C(), t.value && m();
2237
2415
  }, d = () => {
2238
2416
  t.value && m();
2239
2417
  };
2240
- return le(() => {
2241
- v.value = w(), document.addEventListener("keydown", s), window.addEventListener("scroll", d), window.addEventListener("resize", c);
2242
- }), J(() => {
2243
- document.removeEventListener("keydown", s), window.removeEventListener("scroll", d), window.removeEventListener("resize", c);
2244
- }), (f, x) => (k(), S("div", {
2418
+ return ae(() => {
2419
+ h.value = C(), document.addEventListener("keydown", i), window.addEventListener("scroll", d), window.addEventListener("resize", f);
2420
+ }), Z(() => {
2421
+ document.removeEventListener("keydown", i), window.removeEventListener("scroll", d), window.removeEventListener("resize", f);
2422
+ }), (v, $) => (w(), x("div", {
2245
2423
  ref_key: "containerRef",
2246
2424
  ref: a
2247
2425
  }, [
2248
- r("button", {
2426
+ c("button", {
2249
2427
  type: "button",
2250
- class: E(p.value),
2428
+ class: M(u.value),
2251
2429
  disabled: e.disabled,
2252
- "aria-labelledby": i.value,
2253
- onMouseover: D,
2430
+ "aria-labelledby": r.value,
2431
+ onMouseover: V,
2254
2432
  onMouseout: m,
2255
- onFocusin: D,
2433
+ onFocusin: V,
2256
2434
  onFocusout: m
2257
2435
  }, [
2258
- G(f.$slots, "default")
2259
- ], 42, nl),
2260
- Q(r("div", {
2261
- id: i.value,
2436
+ J(v.$slots, "default")
2437
+ ], 42, sl),
2438
+ ee(c("div", {
2439
+ id: r.value,
2262
2440
  ref_key: "popoverRef",
2263
2441
  ref: l,
2264
- class: E(["krds-tooltip-popover", y.value]),
2265
- style: ne(n.value),
2442
+ class: M(["krds-tooltip-popover", g.value]),
2443
+ style: se(o.value),
2266
2444
  "aria-hidden": !t.value,
2267
2445
  role: "tooltip"
2268
2446
  }, [
2269
- r("span", ol, V(g.value), 1),
2270
- P(" " + V(e.tooltipContent), 1)
2271
- ], 14, sl), [
2272
- [te, t.value]
2447
+ c("span", il, E(y.value), 1),
2448
+ H(" " + E(e.tooltipContent), 1)
2449
+ ], 14, ol), [
2450
+ [le, t.value]
2273
2451
  ])
2274
2452
  ], 512));
2275
2453
  }
2276
- }), dl = ["aria-expanded"], rl = { class: "drop-in" }, cl = {
2454
+ }), dl = ["aria-expanded"], cl = { class: "drop-in" }, ul = {
2277
2455
  key: 0,
2278
2456
  class: "drop-top"
2279
- }, ul = {
2457
+ }, fl = {
2280
2458
  key: 1,
2281
2459
  class: "drop-list"
2282
- }, fl = ["lang", "aria-selected", "onClick"], vl = { class: "sr-only" }, pl = {
2460
+ }, vl = ["lang", "aria-selected", "onClick"], hl = { class: "sr-only" }, ml = {
2283
2461
  key: 2,
2284
2462
  class: "drop-list"
2285
- }, ml = ["href", "lang"], hl = /* @__PURE__ */ _({
2463
+ }, pl = ["href", "lang"], yl = /* @__PURE__ */ K({
2286
2464
  __name: "KrdsLanguageSwitcher",
2287
2465
  props: {
2288
2466
  languageList: {},
@@ -2294,88 +2472,88 @@ const wt = _({
2294
2472
  id: {}
2295
2473
  },
2296
2474
  emits: ["update:modelValue", "close"],
2297
- setup(e, { emit: o }) {
2298
- const a = e, l = o, t = B(!1), n = B(), i = B(), v = () => {
2299
- t.value = !t.value, t.value && n.value && g();
2300
- }, p = () => {
2475
+ setup(e, { emit: n }) {
2476
+ const a = e, l = n, t = D(!1), o = D(), r = D(), h = () => {
2477
+ t.value = !t.value, t.value && o.value && y();
2478
+ }, u = () => {
2301
2479
  t.value = !1;
2302
- }, y = (s) => {
2303
- l("update:modelValue", s), p(), l("close"), i.value?.focus();
2304
- }, g = () => {
2305
- if (!n.value) return;
2306
- const s = n.value.querySelector(".drop-menu");
2307
- if (!s) return;
2308
- const c = s.getBoundingClientRect(), d = window.innerWidth;
2309
- n.value.classList.remove("drop-left", "drop-right"), c.left < 0 ? n.value.classList.add("drop-left") : d < c.left + c.width && n.value.classList.add("drop-right");
2310
- }, w = (s) => {
2311
- s.key === "Escape" && (p(), i.value?.focus());
2312
- }, b = (s) => {
2313
- n.value?.contains(s.target) || p();
2314
- }, D = (s) => {
2315
- n.value?.contains(s.relatedTarget) || p();
2316
- }, m = (s) => {
2317
- if (!n.value) return;
2318
- n.value.querySelectorAll(".drop-list .item-link").forEach((f) => {
2319
- f.style.position = "relative", f.style.zIndex = "0";
2480
+ }, g = (i) => {
2481
+ l("update:modelValue", i), u(), l("close"), r.value?.focus();
2482
+ }, y = () => {
2483
+ if (!o.value) return;
2484
+ const i = o.value.querySelector(".drop-menu");
2485
+ if (!i) return;
2486
+ const f = i.getBoundingClientRect(), d = window.innerWidth;
2487
+ o.value.classList.remove("drop-left", "drop-right"), f.left < 0 ? o.value.classList.add("drop-left") : d < f.left + f.width && o.value.classList.add("drop-right");
2488
+ }, C = (i) => {
2489
+ i.key === "Escape" && (u(), r.value?.focus());
2490
+ }, S = (i) => {
2491
+ o.value?.contains(i.target) || u();
2492
+ }, V = (i) => {
2493
+ o.value?.contains(i.relatedTarget) || u();
2494
+ }, m = (i) => {
2495
+ if (!o.value) return;
2496
+ o.value.querySelectorAll(".drop-list .item-link").forEach((v) => {
2497
+ v.style.position = "relative", v.style.zIndex = "0";
2320
2498
  });
2321
- const d = s.target;
2499
+ const d = i.target;
2322
2500
  d.style.zIndex = "1";
2323
2501
  };
2324
- return ae(t, (s) => {
2325
- s ? (document.addEventListener("keydown", w), document.addEventListener("click", b)) : (document.removeEventListener("keydown", w), document.removeEventListener("click", b));
2326
- }), J(() => {
2327
- document.removeEventListener("keydown", w), document.removeEventListener("click", b);
2328
- }), (s, c) => (k(), S("div", {
2502
+ return ne(t, (i) => {
2503
+ i ? (document.addEventListener("keydown", C), document.addEventListener("click", S)) : (document.removeEventListener("keydown", C), document.removeEventListener("click", S));
2504
+ }), Z(() => {
2505
+ document.removeEventListener("keydown", C), document.removeEventListener("click", S);
2506
+ }), (i, f) => (w(), x("div", {
2329
2507
  ref_key: "dropdownRef",
2330
- ref: n,
2331
- class: E(["krds-drop-wrap krds-language", {
2508
+ ref: o,
2509
+ class: M(["krds-drop-wrap krds-language", {
2332
2510
  active: t.value,
2333
2511
  "drop-left": a.dropPosition === "left",
2334
2512
  "drop-right": a.dropPosition === "right"
2335
2513
  }]),
2336
- onFocusout: D
2514
+ onFocusout: V
2337
2515
  }, [
2338
- r("button", {
2516
+ c("button", {
2339
2517
  ref_key: "buttonRef",
2340
- ref: i,
2518
+ ref: r,
2341
2519
  type: "button",
2342
- class: E(["krds-btn small text drop-btn", { active: t.value }]),
2520
+ class: M(["krds-btn small text drop-btn", { active: t.value }]),
2343
2521
  "aria-expanded": t.value,
2344
- onClick: v
2522
+ onClick: h
2345
2523
  }, [
2346
- c[0] || (c[0] = r("i", { class: "svg-icon ico-global" }, null, -1)),
2347
- G(s.$slots, "default"),
2348
- c[1] || (c[1] = r("i", { class: "svg-icon ico-toggle" }, null, -1))
2524
+ f[0] || (f[0] = c("i", { class: "svg-icon ico-global" }, null, -1)),
2525
+ J(i.$slots, "default"),
2526
+ f[1] || (f[1] = c("i", { class: "svg-icon ico-toggle" }, null, -1))
2349
2527
  ], 10, dl),
2350
- r("div", {
2528
+ c("div", {
2351
2529
  class: "drop-menu",
2352
- style: ne({ display: t.value ? "block" : "none" })
2530
+ style: se({ display: t.value ? "block" : "none" })
2353
2531
  }, [
2354
- r("div", rl, [
2355
- s.$slots["prev-item"] ? (k(), S("div", cl, [
2356
- G(s.$slots, "prev-item")
2357
- ])) : Y("", !0),
2358
- a.type === "default" ? (k(), S("ul", ul, [
2359
- (k(!0), S(F, null, N(e.languageList, (d) => (k(), S("li", {
2532
+ c("div", cl, [
2533
+ i.$slots["prev-item"] ? (w(), x("div", ul, [
2534
+ J(i.$slots, "prev-item")
2535
+ ])) : X("", !0),
2536
+ a.type === "default" ? (w(), x("ul", fl, [
2537
+ (w(!0), x(j, null, G(e.languageList, (d) => (w(), x("li", {
2360
2538
  key: d.code
2361
2539
  }, [
2362
- r("a", {
2540
+ c("a", {
2363
2541
  href: "#",
2364
- class: E(["item-link", { active: a.modelValue === d.code }]),
2542
+ class: M(["item-link", { active: a.modelValue === d.code }]),
2365
2543
  lang: d.code,
2366
2544
  "aria-selected": a.modelValue === d.code,
2367
- onClick: re((f) => y(d.code), ["prevent"]),
2545
+ onClick: de((v) => g(d.code), ["prevent"]),
2368
2546
  onFocus: m
2369
2547
  }, [
2370
- P(V(d.name) + " ", 1),
2371
- r("span", vl, V(a.modelValue === d.code ? "선택됨" : ""), 1)
2372
- ], 42, fl)
2548
+ H(E(d.name) + " ", 1),
2549
+ c("span", hl, E(a.modelValue === d.code ? "선택됨" : ""), 1)
2550
+ ], 42, vl)
2373
2551
  ]))), 128))
2374
- ])) : a.type === "external" ? (k(), S("ul", pl, [
2375
- (k(!0), S(F, null, N(e.languageList, (d) => (k(), S("li", {
2552
+ ])) : a.type === "external" ? (w(), x("ul", ml, [
2553
+ (w(!0), x(j, null, G(e.languageList, (d) => (w(), x("li", {
2376
2554
  key: d.code
2377
2555
  }, [
2378
- r("a", {
2556
+ c("a", {
2379
2557
  href: d.url || "#",
2380
2558
  class: "item-link",
2381
2559
  lang: d.code,
@@ -2383,110 +2561,110 @@ const wt = _({
2383
2561
  title: "새 창 열림",
2384
2562
  onFocus: m
2385
2563
  }, [
2386
- P(V(d.name) + " ", 1),
2387
- c[2] || (c[2] = r("i", { class: "svg-icon ico-go" }, null, -1))
2388
- ], 40, ml)
2564
+ H(E(d.name) + " ", 1),
2565
+ f[2] || (f[2] = c("i", { class: "svg-icon ico-go" }, null, -1))
2566
+ ], 40, pl)
2389
2567
  ]))), 128))
2390
- ])) : Y("", !0)
2568
+ ])) : X("", !0)
2391
2569
  ])
2392
2570
  ], 4)
2393
2571
  ], 34));
2394
2572
  }
2395
- }), yl = { class: "drop-in" }, gl = { class: "drop-list" }, bl = ["data-adjust-scale", "onClick"], kl = { class: "drop-bottom" }, Sl = /* @__PURE__ */ _({
2573
+ }), gl = { class: "drop-in" }, bl = { class: "drop-list" }, kl = ["data-adjust-scale", "onClick"], Sl = { class: "drop-bottom" }, wl = /* @__PURE__ */ K({
2396
2574
  __name: "KrdsResize",
2397
2575
  emits: ["update:modelValue", "close"],
2398
- setup(e, { emit: o }) {
2399
- const a = o, l = B(!1), t = B(), n = B(), i = B("md"), v = [
2576
+ setup(e, { emit: n }) {
2577
+ const a = n, l = D(!1), t = D(), o = D(), r = D("md"), h = [
2400
2578
  { key: "sm", label: "작게", zoom: "0.9" },
2401
2579
  { key: "md", label: "보통", zoom: "1" },
2402
2580
  { key: "lg", label: "조금 크게", zoom: "1.1" },
2403
2581
  { key: "xlg", label: "크게", zoom: "1.3" },
2404
2582
  { key: "xxlg", label: "가장 크게", zoom: "1.5" }
2405
- ], p = () => {
2406
- l.value = !l.value, l.value && t.value && b();
2407
- }, y = () => {
2583
+ ], u = () => {
2584
+ l.value = !l.value, l.value && t.value && S();
2585
+ }, g = () => {
2408
2586
  l.value = !1;
2409
- }, g = (d) => {
2410
- y(), a("close"), n.value?.focus(), i.value = d.key, document.body.style.zoom = d?.zoom;
2411
- }, w = () => {
2412
- const d = v.find((f) => f.key === "md");
2413
- d && g(d);
2414
- }, b = () => {
2587
+ }, y = (d) => {
2588
+ g(), a("close"), o.value?.focus(), r.value = d.key, document.body.style.zoom = d?.zoom;
2589
+ }, C = () => {
2590
+ const d = h.find((v) => v.key === "md");
2591
+ d && y(d);
2592
+ }, S = () => {
2415
2593
  if (!t.value) return;
2416
2594
  const d = t.value.querySelector(".drop-menu");
2417
2595
  if (!d) return;
2418
- const f = d.getBoundingClientRect(), x = window.innerWidth;
2419
- t.value.classList.remove("drop-left", "drop-right"), f.left < 0 ? t.value.classList.add("drop-left") : x < f.left + f.width && t.value.classList.add("drop-right");
2420
- }, D = (d) => {
2421
- d.key === "Escape" && (y(), n.value?.focus());
2596
+ const v = d.getBoundingClientRect(), $ = window.innerWidth;
2597
+ t.value.classList.remove("drop-left", "drop-right"), v.left < 0 ? t.value.classList.add("drop-left") : $ < v.left + v.width && t.value.classList.add("drop-right");
2598
+ }, V = (d) => {
2599
+ d.key === "Escape" && (g(), o.value?.focus());
2422
2600
  }, m = (d) => {
2423
- t.value?.contains(d.target) || y();
2424
- }, s = (d) => {
2425
- t.value?.contains(d.relatedTarget) || y();
2426
- }, c = (d) => {
2601
+ t.value?.contains(d.target) || g();
2602
+ }, i = (d) => {
2603
+ t.value?.contains(d.relatedTarget) || g();
2604
+ }, f = (d) => {
2427
2605
  if (!t.value) return;
2428
- t.value.querySelectorAll(".drop-list .item-link").forEach((R) => {
2429
- R.style.position = "relative", R.style.zIndex = "0";
2606
+ t.value.querySelectorAll(".drop-list .item-link").forEach((F) => {
2607
+ F.style.position = "relative", F.style.zIndex = "0";
2430
2608
  });
2431
- const x = d.target;
2432
- x.style.zIndex = "1";
2609
+ const $ = d.target;
2610
+ $.style.zIndex = "1";
2433
2611
  };
2434
- return ae(l, (d) => {
2435
- d ? (document.addEventListener("keydown", D), document.addEventListener("click", m)) : (document.removeEventListener("keydown", D), document.removeEventListener("click", m));
2436
- }), J(() => {
2437
- document.removeEventListener("keydown", D), document.removeEventListener("click", m);
2438
- }), (d, f) => (k(), S("div", {
2612
+ return ne(l, (d) => {
2613
+ d ? (document.addEventListener("keydown", V), document.addEventListener("click", m)) : (document.removeEventListener("keydown", V), document.removeEventListener("click", m));
2614
+ }), Z(() => {
2615
+ document.removeEventListener("keydown", V), document.removeEventListener("click", m);
2616
+ }), (d, v) => (w(), x("div", {
2439
2617
  ref_key: "dropdownRef",
2440
2618
  ref: t,
2441
2619
  class: "krds-drop-wrap krds-resize",
2442
2620
  "data-adjust": "scale",
2443
- onFocusout: s
2621
+ onFocusout: i
2444
2622
  }, [
2445
- r("button", {
2623
+ c("button", {
2446
2624
  ref_key: "buttonRef",
2447
- ref: n,
2625
+ ref: o,
2448
2626
  type: "button",
2449
2627
  class: "krds-btn small text drop-btn",
2450
- onClick: p
2451
- }, [...f[0] || (f[0] = [
2452
- P(" 화면크기 ", -1),
2453
- r("i", { class: "svg-icon ico-toggle" }, null, -1)
2628
+ onClick: u
2629
+ }, [...v[0] || (v[0] = [
2630
+ H(" 화면크기 ", -1),
2631
+ c("i", { class: "svg-icon ico-toggle" }, null, -1)
2454
2632
  ])], 512),
2455
- r("div", {
2633
+ c("div", {
2456
2634
  class: "drop-menu",
2457
- style: ne({ display: l.value ? "block" : "none" })
2635
+ style: se({ display: l.value ? "block" : "none" })
2458
2636
  }, [
2459
- r("div", yl, [
2460
- r("ul", gl, [
2461
- (k(), S(F, null, N(v, (x) => r("li", {
2462
- key: x.key
2637
+ c("div", gl, [
2638
+ c("ul", bl, [
2639
+ (w(), x(j, null, G(h, ($) => c("li", {
2640
+ key: $.key
2463
2641
  }, [
2464
- r("button", {
2642
+ c("button", {
2465
2643
  type: "button",
2466
- class: E(["item-link", [x.key, x.key === i.value ? "active" : ""]]),
2467
- "data-adjust-scale": x.key,
2468
- onClick: re((R) => g(x), ["prevent"]),
2469
- onFocus: c
2470
- }, V(x.label), 43, bl)
2644
+ class: M(["item-link", [$.key, $.key === r.value ? "active" : ""]]),
2645
+ "data-adjust-scale": $.key,
2646
+ onClick: de((F) => y($), ["prevent"]),
2647
+ onFocus: f
2648
+ }, E($.label), 43, kl)
2471
2649
  ])), 64))
2472
2650
  ]),
2473
- r("div", kl, [
2474
- r("button", {
2651
+ c("div", Sl, [
2652
+ c("button", {
2475
2653
  type: "button",
2476
2654
  class: "krds-btn medium text",
2477
2655
  "data-adjust-scale": "md",
2478
- onClick: re(w, ["prevent"]),
2479
- onFocus: c
2480
- }, [...f[1] || (f[1] = [
2481
- r("i", { class: "svg-icon ico-reset" }, null, -1),
2482
- P(" 초기화 ", -1)
2656
+ onClick: de(C, ["prevent"]),
2657
+ onFocus: f
2658
+ }, [...v[1] || (v[1] = [
2659
+ c("i", { class: "svg-icon ico-reset" }, null, -1),
2660
+ H(" 초기화 ", -1)
2483
2661
  ])], 32)
2484
2662
  ])
2485
2663
  ])
2486
2664
  ], 4)
2487
2665
  ], 544));
2488
2666
  }
2489
- }), wl = _({
2667
+ }), Cl = K({
2490
2668
  name: "KrdsModal",
2491
2669
  props: {
2492
2670
  modelValue: {
@@ -2519,98 +2697,100 @@ const wt = _({
2519
2697
  }
2520
2698
  },
2521
2699
  emits: ["update:modelValue"],
2700
+ /* eslint-disable @typescript-eslint/no-explicit-any -- Vue SlotsType requires `any` for h() children compatibility */
2522
2701
  slots: Object,
2523
- setup(e, { slots: o, emit: a }) {
2524
- const l = Ee()?.uid, t = h(() => e.modalId ?? `krds-modal-${l}`), n = h({
2702
+ /* eslint-enable @typescript-eslint/no-explicit-any */
2703
+ setup(e, { slots: n, emit: a }) {
2704
+ const l = Ee()?.uid, t = b(() => e.modalId ?? `krds-modal-${l}`), o = b({
2525
2705
  get: () => e.modelValue,
2526
- set: (c) => a("update:modelValue", c)
2527
- }), i = h(() => `tit_${t.value}`), v = h(() => ({
2706
+ set: (f) => a("update:modelValue", f)
2707
+ }), r = b(() => `tit_${t.value}`), h = b(() => ({
2528
2708
  small: "modal-sm",
2529
2709
  medium: "modal-md",
2530
2710
  large: "modal-lg"
2531
- })[e.size]), p = () => {
2532
- n.value = !1;
2711
+ })[e.size]), u = () => {
2712
+ o.value = !1;
2533
2713
  };
2534
- let y = "", g = null;
2535
- const w = B(null), b = (c) => Array.from(c.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')).filter(
2536
- (f) => !f.hasAttribute("disabled") && f.getAttribute("tabindex") !== "-1"
2537
- ), D = (c) => {
2538
- if (!w.value || c.key !== "Tab") return;
2539
- const d = b(w.value);
2714
+ let g = "", y = null;
2715
+ const C = D(null), S = (f) => Array.from(f.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')).filter(
2716
+ (v) => !v.hasAttribute("disabled") && v.getAttribute("tabindex") !== "-1"
2717
+ ), V = (f) => {
2718
+ if (!C.value || f.key !== "Tab") return;
2719
+ const d = S(C.value);
2540
2720
  if (d.length === 0) {
2541
- c.preventDefault();
2721
+ f.preventDefault();
2542
2722
  return;
2543
2723
  }
2544
- const f = d[0], x = d[d.length - 1];
2545
- c.shiftKey && document.activeElement === f ? (c.preventDefault(), x.focus()) : !c.shiftKey && document.activeElement === x && (c.preventDefault(), f.focus());
2546
- }, m = (c) => {
2547
- c.key === "Escape" && !e.persistent && p();
2548
- }, s = () => {
2549
- document.body.style.overflow = y, document.removeEventListener("keydown", D), document.removeEventListener("keydown", m), g && (g.focus(), g = null), w.value = null;
2724
+ const v = d[0], $ = d[d.length - 1];
2725
+ f.shiftKey && document.activeElement === v ? (f.preventDefault(), $.focus()) : !f.shiftKey && document.activeElement === $ && (f.preventDefault(), v.focus());
2726
+ }, m = (f) => {
2727
+ f.key === "Escape" && !e.persistent && u();
2728
+ }, i = () => {
2729
+ document.body.style.overflow = g, document.removeEventListener("keydown", V), document.removeEventListener("keydown", m), y && (y.focus(), y = null), C.value = null;
2550
2730
  };
2551
- return ae(
2731
+ return ne(
2552
2732
  () => e.modelValue,
2553
- async (c) => {
2554
- if (c) {
2555
- y = document.body.style.overflow, document.body.style.overflow = "hidden", g = document.activeElement, await we();
2733
+ async (f) => {
2734
+ if (f) {
2735
+ g = document.body.style.overflow, document.body.style.overflow = "hidden", y = document.activeElement, await we();
2556
2736
  const d = document.getElementById(t.value);
2557
2737
  if (d) {
2558
- w.value = d;
2559
- const f = d.querySelector(".modal-conts");
2560
- f && (f.setAttribute("tabindex", "-1"), f.focus()), document.addEventListener("keydown", D), document.addEventListener("keydown", m);
2738
+ C.value = d;
2739
+ const v = d.querySelector(".modal-conts");
2740
+ v && (v.setAttribute("tabindex", "-1"), v.focus()), document.addEventListener("keydown", V), document.addEventListener("keydown", m);
2561
2741
  }
2562
2742
  } else
2563
- s();
2743
+ i();
2564
2744
  },
2565
2745
  { immediate: !0 }
2566
- ), Se(() => {
2567
- e.modelValue && s();
2746
+ ), ce(() => {
2747
+ e.modelValue && i();
2568
2748
  }), () => {
2569
- if (!n.value) return null;
2570
- const c = {
2749
+ if (!o.value) return null;
2750
+ const f = {
2571
2751
  id: t.value,
2572
2752
  class: "krds-modal fade in shown",
2573
2753
  role: "dialog",
2574
2754
  "aria-modal": !0,
2575
- "aria-labelledby": i.value
2755
+ "aria-labelledby": r.value
2576
2756
  };
2577
- return e.full ? c["data-type"] = "full" : e.bottomSheet && (c["data-type"] = "bottom-sheet"), u(
2757
+ return e.full ? f["data-type"] = "full" : e.bottomSheet && (f["data-type"] = "bottom-sheet"), s(
2578
2758
  Le,
2579
2759
  { to: "body" },
2580
- u("section", c, [
2581
- u("div", { class: `modal-dialog ${v.value}` }, [
2582
- u(
2760
+ s("section", f, [
2761
+ s("div", { class: `modal-dialog ${h.value}` }, [
2762
+ s(
2583
2763
  "div",
2584
2764
  { class: "modal-content" },
2585
2765
  [
2586
2766
  // modal title
2587
- o.title ? u("div", { class: "modal-header" }, [u("h2", { id: i.value, class: "modal-title" }, o.title())]) : null,
2767
+ n.title ? s("div", { class: "modal-header" }, [s("h2", { id: r.value, class: "modal-title" }, n.title())]) : null,
2588
2768
  // modal contents
2589
- u("div", { class: "modal-conts" }, [u("div", { class: "conts-area" }, o.default?.())]),
2769
+ s("div", { class: "modal-conts" }, [s("div", { class: "conts-area" }, n.default?.())]),
2590
2770
  // modal btn
2591
- o.footer ? u("div", { class: "modal-btn btn-wrap" }, o.footer()) : null,
2771
+ n.footer ? s("div", { class: "modal-btn btn-wrap" }, n.footer()) : null,
2592
2772
  // close button
2593
- u(
2773
+ s(
2594
2774
  "button",
2595
2775
  {
2596
2776
  type: "button",
2597
2777
  class: "krds-btn medium icon btn-close close-modal",
2598
- onClick: p
2778
+ onClick: u
2599
2779
  },
2600
- [u("span", { class: "sr-only" }, "닫기"), u("i", { class: "svg-icon ico-popup-close" })]
2780
+ [s("span", { class: "sr-only" }, "닫기"), s("i", { class: "svg-icon ico-popup-close" })]
2601
2781
  )
2602
2782
  ].filter(Boolean)
2603
2783
  )
2604
2784
  ]),
2605
- u("div", {
2785
+ s("div", {
2606
2786
  class: e.backdrop ? "modal-back in" : "modal-back",
2607
- onClick: e.persistent ? void 0 : p
2787
+ onClick: e.persistent ? void 0 : u
2608
2788
  })
2609
2789
  ])
2610
2790
  );
2611
2791
  };
2612
2792
  }
2613
- }), Cl = _({
2793
+ }), xl = K({
2614
2794
  name: "KrdsAccordionGroup",
2615
2795
  props: {
2616
2796
  typeLine: {
@@ -2622,20 +2802,20 @@ const wt = _({
2622
2802
  default: void 0
2623
2803
  }
2624
2804
  },
2625
- setup(e, { slots: o }) {
2626
- const a = h(() => {
2805
+ setup(e, { slots: n }) {
2806
+ const a = b(() => {
2627
2807
  const l = ["krds-accordion"];
2628
2808
  return e.typeLine && l.push("type-line"), e.class && l.push(e.class), l;
2629
2809
  });
2630
- return () => u(
2810
+ return () => s(
2631
2811
  "div",
2632
2812
  {
2633
2813
  class: a.value
2634
2814
  },
2635
- o.default?.()
2815
+ n.default?.()
2636
2816
  );
2637
2817
  }
2638
- }), xl = ["id"], $l = { class: "accordion-header" }, _l = ["id", "aria-expanded", "aria-controls"], Bl = ["id", "aria-labelledby"], Kl = { class: "accordion-body" }, Dl = /* @__PURE__ */ _({
2818
+ }), $l = ["id"], Bl = { class: "accordion-header" }, Kl = ["id", "aria-expanded", "aria-controls"], _l = ["id", "aria-labelledby"], Dl = { class: "accordion-body" }, zl = /* @__PURE__ */ K({
2639
2819
  __name: "KrdsAccordionItem",
2640
2820
  props: {
2641
2821
  id: {},
@@ -2644,152 +2824,226 @@ const wt = _({
2644
2824
  content: {}
2645
2825
  },
2646
2826
  emits: ["toggle"],
2647
- setup(e, { emit: o }) {
2648
- const a = e, l = o, t = h(() => a.openItem === a.id), n = () => {
2827
+ setup(e, { emit: n }) {
2828
+ const a = e, l = n, t = b(() => a.openItem === a.id), o = () => {
2649
2829
  l("toggle", a.id);
2650
2830
  };
2651
- return (i, v) => (k(), S("div", {
2831
+ return (r, h) => (w(), x("div", {
2652
2832
  id: e.id,
2653
- class: E(["accordion-item", { active: t.value }])
2833
+ class: M(["accordion-item", { active: t.value }])
2654
2834
  }, [
2655
- r("h5", $l, [
2656
- r("button", {
2835
+ c("h5", Bl, [
2836
+ c("button", {
2657
2837
  id: `accordion-header-${e.id}`,
2658
2838
  type: "button",
2659
2839
  class: "btn-accordion",
2660
2840
  "aria-expanded": t.value,
2661
2841
  "aria-controls": `accordion-collapse-${e.id}`,
2662
- onClick: v[0] || (v[0] = (p) => n())
2842
+ onClick: h[0] || (h[0] = (u) => o())
2663
2843
  }, [
2664
- G(i.$slots, "title", {}, () => [
2665
- P(V(e.title), 1)
2844
+ J(r.$slots, "title", {}, () => [
2845
+ H(E(e.title), 1)
2666
2846
  ])
2667
- ], 8, _l)
2847
+ ], 8, Kl)
2668
2848
  ]),
2669
- r("div", {
2849
+ c("div", {
2670
2850
  id: `accordion-collapse-${e.id}`,
2671
2851
  class: "accordion-collapse collapse",
2672
2852
  "aria-labelledby": `accordion-header-${e.id}`
2673
2853
  }, [
2674
- r("div", Kl, [
2675
- G(i.$slots, "content", {}, () => [
2676
- P(V(e.content), 1)
2854
+ c("div", Dl, [
2855
+ J(r.$slots, "content", {}, () => [
2856
+ H(E(e.content), 1)
2677
2857
  ])
2678
2858
  ])
2679
- ], 8, Bl)
2680
- ], 10, xl));
2859
+ ], 8, _l)
2860
+ ], 10, $l));
2861
+ }
2862
+ }), Vl = K({
2863
+ name: "KrdsTts",
2864
+ props: {
2865
+ text: {
2866
+ type: String,
2867
+ required: !0
2868
+ },
2869
+ label: {
2870
+ type: String,
2871
+ default: void 0
2872
+ },
2873
+ size: {
2874
+ type: String,
2875
+ default: "medium"
2876
+ },
2877
+ icon: {
2878
+ type: String,
2879
+ default: "volume"
2880
+ },
2881
+ disabled: {
2882
+ type: Boolean,
2883
+ default: !1
2884
+ },
2885
+ class: {
2886
+ type: String,
2887
+ default: void 0
2888
+ }
2889
+ },
2890
+ emits: ["play", "pause", "end", "error"],
2891
+ setup(e, { emit: n }) {
2892
+ const a = D(!1);
2893
+ let l = null;
2894
+ const t = () => {
2895
+ typeof window < "u" && window.speechSynthesis && window.speechSynthesis.cancel(), a.value = !1, l = null;
2896
+ }, o = () => {
2897
+ if (!e.disabled) {
2898
+ if (a.value) {
2899
+ t(), n("pause");
2900
+ return;
2901
+ }
2902
+ if (typeof window > "u" || !window.speechSynthesis) {
2903
+ n("error", new Error("SpeechSynthesis API is not supported"));
2904
+ return;
2905
+ }
2906
+ window.speechSynthesis.cancel(), l = new SpeechSynthesisUtterance(e.text), l.lang = "ko-KR", l.onstart = () => {
2907
+ a.value = !0;
2908
+ }, l.onend = () => {
2909
+ a.value = !1, l = null, n("end");
2910
+ }, l.onerror = (u) => {
2911
+ a.value = !1, l = null, u.error !== "canceled" && n("error", new Error(u.error));
2912
+ }, window.speechSynthesis.speak(l), n("play", e.text);
2913
+ }
2914
+ }, r = b(() => {
2915
+ const u = ["krds-tts"];
2916
+ return e.size && u.push(e.size), a.value ? u.push("pause") : e.icon === "play" && u.push("play"), e.class && u.push(e.class), u;
2917
+ }), h = b(() => a.value ? "ico-stop" : e.icon === "play" ? "ico-play" : "ico-volume");
2918
+ return ce(() => {
2919
+ t();
2920
+ }), () => {
2921
+ const u = [s("span", { class: "krds-tts-icon", "aria-hidden": "true" }, [s("i", { class: `svg-icon ${h.value}` })])];
2922
+ return e.label && u.push(s("span", { class: "krds-tts-text" }, e.label)), s(
2923
+ "button",
2924
+ {
2925
+ type: "button",
2926
+ class: r.value,
2927
+ disabled: e.disabled || void 0,
2928
+ onClick: o
2929
+ },
2930
+ u
2931
+ );
2932
+ };
2681
2933
  }
2682
- }), ge = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2934
+ }), be = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2683
2935
  __proto__: null,
2684
- KrdsAccordionGroup: Cl,
2685
- KrdsAccordionItem: Dl,
2686
- KrdsBadge: yt,
2687
- KrdsBreadcrumb: Et,
2936
+ KrdsAccordionGroup: xl,
2937
+ KrdsAccordionItem: zl,
2938
+ KrdsBadge: gt,
2939
+ KrdsBreadcrumb: Lt,
2688
2940
  KrdsButton: Ce,
2689
2941
  KrdsButtonGroup: Me,
2690
- KrdsCheckArea: Ct,
2691
- KrdsCheckbox: xt,
2692
- KrdsCoachMark: al,
2693
- KrdsContextualHelp: Xt,
2942
+ KrdsCheckArea: xt,
2943
+ KrdsCheckbox: $t,
2944
+ KrdsCoachMark: nl,
2945
+ KrdsContextualHelp: Jt,
2694
2946
  KrdsDateInput: vt,
2695
- KrdsFileUpload: ht,
2947
+ KrdsFileUpload: yt,
2696
2948
  KrdsFormGroup: Oe,
2697
- KrdsFormHint: Fe,
2698
- KrdsFormLabel: Pe,
2699
- KrdsIcon: Re,
2700
- KrdsInPageNavigation: Lt,
2949
+ KrdsFormHint: Pe,
2950
+ KrdsFormLabel: Fe,
2951
+ KrdsIcon: Te,
2952
+ KrdsInPageNavigation: Mt,
2701
2953
  KrdsInput: Ae,
2702
- KrdsLanguageSwitcher: hl,
2703
- KrdsLink: Te,
2704
- KrdsMasthead: kt,
2705
- KrdsModal: wl,
2706
- KrdsPagination: Ft,
2707
- KrdsPanel: Ht,
2708
- KrdsRadio: $t,
2709
- KrdsResize: Sl,
2954
+ KrdsLanguageSwitcher: yl,
2955
+ KrdsLink: Re,
2956
+ KrdsMasthead: St,
2957
+ KrdsModal: Cl,
2958
+ KrdsPagination: Ot,
2959
+ KrdsPanel: Wt,
2960
+ KrdsRadio: Bt,
2961
+ KrdsResize: wl,
2710
2962
  KrdsSelect: mt,
2711
- KrdsSkipLink: Kt,
2963
+ KrdsSkipLink: Dt,
2712
2964
  KrdsSpinner: xe,
2713
- KrdsStep: Bt,
2714
- KrdsStepIndicator: _t,
2715
- KrdsTag: gt,
2716
- KrdsTagGroup: bt,
2717
- KrdsTextarea: pt,
2718
- KrdsToggleSwitch: wt,
2719
- KrdsTooltip: il
2720
- }, Symbol.toStringTag, { value: "Module" })), fe = {
2721
- mounted(e, o) {
2722
- o.value !== !1 && e.classList.add("sr-only");
2965
+ KrdsStep: _t,
2966
+ KrdsStepIndicator: Kt,
2967
+ KrdsTag: bt,
2968
+ KrdsTagGroup: kt,
2969
+ KrdsTextarea: ht,
2970
+ KrdsToggleSwitch: Ct,
2971
+ KrdsTooltip: rl,
2972
+ KrdsTts: Vl
2973
+ }, Symbol.toStringTag, { value: "Module" })), ve = {
2974
+ mounted(e, n) {
2975
+ n.value !== !1 && e.classList.add("sr-only");
2723
2976
  },
2724
- updated(e, o) {
2725
- o.value === !1 ? e.classList.remove("sr-only") : e.classList.add("sr-only");
2977
+ updated(e, n) {
2978
+ n.value === !1 ? e.classList.remove("sr-only") : e.classList.add("sr-only");
2726
2979
  },
2727
2980
  unmounted(e) {
2728
2981
  e.classList.remove("sr-only");
2729
2982
  }
2730
- }, be = {
2731
- "sr-only": fe
2983
+ }, ke = {
2984
+ "sr-only": ve
2732
2985
  }, $e = (e) => {
2733
- e.directive("sr-only", fe);
2734
- }, ke = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2986
+ e.directive("sr-only", ve);
2987
+ }, Se = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2735
2988
  __proto__: null,
2736
- default: be,
2737
- directives: be,
2989
+ default: ke,
2990
+ directives: ke,
2738
2991
  installDirectives: $e,
2739
- vSrOnly: fe
2740
- }, Symbol.toStringTag, { value: "Module" })), zl = {
2741
- install(e, o = {}) {
2742
- e.provide("krds:config", o);
2743
- const a = o.components || Object.keys(ge);
2992
+ vSrOnly: ve
2993
+ }, Symbol.toStringTag, { value: "Module" })), Ll = {
2994
+ install(e, n = {}) {
2995
+ e.provide("krds:config", n);
2996
+ const a = n.components || Object.keys(be);
2744
2997
  a.forEach((l) => {
2745
- const t = ge[l];
2998
+ const t = be[l];
2746
2999
  t && e.component(l, t);
2747
- }), typeof ke == "object" && ke !== null && $e(e), e.config.globalProperties.$krds = {
3000
+ }), typeof Se == "object" && Se !== null && $e(e), e.config.globalProperties.$krds = {
2748
3001
  version: "__VERSION__"
2749
3002
  }, process.env.NODE_ENV !== "production" && console.log(`[KRDS Vue] v__VERSION__ 설치 완료 - 컴포넌트: ${a.length}개`);
2750
3003
  }
2751
- }, El = "__VERSION__";
3004
+ }, Ml = "__VERSION__";
2752
3005
  export {
2753
- Cl as KrdsAccordionGroup,
2754
- Dl as KrdsAccordionItem,
2755
- yt as KrdsBadge,
2756
- Et as KrdsBreadcrumb,
3006
+ xl as KrdsAccordionGroup,
3007
+ zl as KrdsAccordionItem,
3008
+ gt as KrdsBadge,
3009
+ Lt as KrdsBreadcrumb,
2757
3010
  Ce as KrdsButton,
2758
3011
  Me as KrdsButtonGroup,
2759
- Ct as KrdsCheckArea,
2760
- xt as KrdsCheckbox,
2761
- al as KrdsCoachMark,
2762
- Xt as KrdsContextualHelp,
3012
+ xt as KrdsCheckArea,
3013
+ $t as KrdsCheckbox,
3014
+ nl as KrdsCoachMark,
3015
+ Jt as KrdsContextualHelp,
2763
3016
  vt as KrdsDateInput,
2764
- ht as KrdsFileUpload,
3017
+ yt as KrdsFileUpload,
2765
3018
  Oe as KrdsFormGroup,
2766
- Fe as KrdsFormHint,
2767
- Pe as KrdsFormLabel,
2768
- Re as KrdsIcon,
2769
- Lt as KrdsInPageNavigation,
3019
+ Pe as KrdsFormHint,
3020
+ Fe as KrdsFormLabel,
3021
+ Te as KrdsIcon,
3022
+ Mt as KrdsInPageNavigation,
2770
3023
  Ae as KrdsInput,
2771
- hl as KrdsLanguageSwitcher,
2772
- Te as KrdsLink,
2773
- kt as KrdsMasthead,
2774
- wl as KrdsModal,
2775
- Ft as KrdsPagination,
2776
- Ht as KrdsPanel,
2777
- $t as KrdsRadio,
2778
- Sl as KrdsResize,
3024
+ yl as KrdsLanguageSwitcher,
3025
+ Re as KrdsLink,
3026
+ St as KrdsMasthead,
3027
+ Cl as KrdsModal,
3028
+ Ot as KrdsPagination,
3029
+ Wt as KrdsPanel,
3030
+ Bt as KrdsRadio,
3031
+ wl as KrdsResize,
2779
3032
  mt as KrdsSelect,
2780
- Kt as KrdsSkipLink,
3033
+ Dt as KrdsSkipLink,
2781
3034
  xe as KrdsSpinner,
2782
- Bt as KrdsStep,
2783
- _t as KrdsStepIndicator,
2784
- gt as KrdsTag,
2785
- bt as KrdsTagGroup,
2786
- pt as KrdsTextarea,
2787
- wt as KrdsToggleSwitch,
2788
- il as KrdsTooltip,
2789
- ue as classNames,
2790
- zl as default,
2791
- ce as generateId,
2792
- Il as generateUid,
2793
- El as version
3035
+ _t as KrdsStep,
3036
+ Kt as KrdsStepIndicator,
3037
+ bt as KrdsTag,
3038
+ kt as KrdsTagGroup,
3039
+ ht as KrdsTextarea,
3040
+ Ct as KrdsToggleSwitch,
3041
+ rl as KrdsTooltip,
3042
+ Vl as KrdsTts,
3043
+ fe as classNames,
3044
+ Ll as default,
3045
+ ue as generateId,
3046
+ El as generateUid,
3047
+ Ml as version
2794
3048
  };
2795
3049
  //# sourceMappingURL=krds-vue.es.js.map