@krds.ui/vue 0.0.14 → 0.0.16

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