@krds.ui/vue 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
- import { defineComponent as b, computed as v, h as d, ref as B, onMounted as fe, onBeforeUnmount as ve, createElementBlock as x, openBlock as D, createElementVNode as o, normalizeClass as $, withDirectives as q, unref as C, toDisplayString as F, Fragment as O, renderList as T, vShow as L, createBlock as he, withCtx as ye, createTextVNode as ge, watch as me } from "vue";
2
- const U = b({
1
+ import { defineComponent as C, computed as g, h as r, ref as M, onMounted as re, onBeforeUnmount as _e, createElementBlock as D, openBlock as w, createElementVNode as h, normalizeClass as L, withDirectives as Y, unref as I, toDisplayString as N, Fragment as E, renderList as F, vShow as G, createBlock as W, withCtx as U, createTextVNode as R, watch as De, provide as Be, inject as Ke, createCommentVNode as J, onUnmounted as ae, resolveDirective as xe, resolveDynamicComponent as ne } from "vue";
2
+ const oe = C({
3
3
  name: "KrdsButton",
4
4
  props: {
5
5
  type: {
@@ -36,37 +36,37 @@ const U = b({
36
36
  }
37
37
  },
38
38
  emits: ["click"],
39
- setup(e, { emit: s, slots: a }) {
40
- const l = v(() => {
39
+ setup(e, { emit: i, slots: s }) {
40
+ const l = g(() => {
41
41
  const t = ["krds-btn"];
42
42
  return e.icon && t.push("icon"), e.border && t.push("border"), e.pure && t.push("pure"), e.variant && !e.icon && t.push(e.variant), e.size && t.push(e.size), e.class && t.push(e.class), t;
43
- }), i = (t) => {
44
- e.disabled || s("click", t);
43
+ }), o = (t) => {
44
+ e.disabled || i("click", t);
45
45
  };
46
- return () => d(
46
+ return () => r(
47
47
  "button",
48
48
  {
49
49
  type: e.type,
50
50
  class: l.value,
51
51
  disabled: e.disabled,
52
- onClick: i
52
+ onClick: o
53
53
  },
54
- a.default?.()
54
+ s.default?.()
55
55
  );
56
56
  }
57
- }), pe = b({
57
+ }), Ie = C({
58
58
  name: "KrdsButtonGroup",
59
59
  props: {},
60
- setup(e, { slots: s }) {
61
- return () => d(
60
+ setup(e, { slots: i }) {
61
+ return () => r(
62
62
  "div",
63
63
  {
64
64
  class: "btn-group"
65
65
  },
66
- s.default?.()
66
+ i.default?.()
67
67
  );
68
68
  }
69
- }), be = b({
69
+ }), Ve = C({
70
70
  name: "KrdsIcon",
71
71
  props: {
72
72
  name: {
@@ -79,11 +79,11 @@ const U = b({
79
79
  }
80
80
  },
81
81
  setup(e) {
82
- return () => d("i", {
82
+ return () => r("i", {
83
83
  class: ["svg-icon", e.name, e.class].filter(Boolean).join(" ")
84
84
  });
85
85
  }
86
- }), ke = b({
86
+ }), ze = C({
87
87
  name: "KrdsLink",
88
88
  props: {
89
89
  href: {
@@ -120,29 +120,41 @@ const U = b({
120
120
  }
121
121
  },
122
122
  emits: ["click"],
123
- setup(e, { emit: s, slots: a }) {
124
- const l = v(() => {
125
- const n = ["krds-btn"];
126
- return e.size && n.push(e.size), e.link && n.push("link"), e.basic && n.push("basic"), e.pure && n.push("pure"), e.class && n.push(e.class), n;
127
- }), i = v(() => {
128
- const n = {
123
+ setup(e, { emit: i, slots: s }) {
124
+ const l = g(() => {
125
+ const a = ["krds-btn"];
126
+ return e.size && a.push(e.size), e.link && a.push("link"), e.basic && a.push("basic"), e.pure && a.push("pure"), e.class && a.push(e.class), a;
127
+ }), o = g(() => {
128
+ const a = {
129
129
  href: e.href,
130
130
  class: l.value
131
131
  };
132
- return e.target && (n.target = e.target), e.title && (n.title = e.title), e.target === "_blank" && (n.rel = "noopener noreferrer"), n;
133
- }), t = (n) => {
134
- s("click", n);
132
+ return e.target && (a.target = e.target), e.title && (a.title = e.title), e.target === "_blank" && (a.rel = "noopener noreferrer"), a;
133
+ }), t = (a) => {
134
+ i("click", a);
135
135
  };
136
- return () => d(
136
+ return () => r(
137
137
  "a",
138
138
  {
139
- ...i.value,
139
+ ...o.value,
140
140
  onClick: t
141
141
  },
142
- a.default?.()
142
+ s.default?.()
143
143
  );
144
144
  }
145
- }), Se = b({
145
+ }), ue = C({
146
+ name: "KrdsSpinner",
147
+ props: {
148
+ label: {
149
+ type: String,
150
+ default: void 0
151
+ }
152
+ },
153
+ render() {
154
+ const e = [r("span", { class: "sr-only" }, "로딩 중")];
155
+ return this.label && e.push(r("span", this.label)), r("div", { class: "krds-spinner", role: "status" }, e);
156
+ }
157
+ }), Me = C({
146
158
  name: "KrdsInput",
147
159
  props: {
148
160
  modelValue: {
@@ -217,6 +229,10 @@ const U = b({
217
229
  type: Boolean,
218
230
  default: !1
219
231
  },
232
+ loading: {
233
+ type: Boolean,
234
+ default: !1
235
+ },
220
236
  class: {
221
237
  type: String,
222
238
  default: void 0
@@ -227,25 +243,25 @@ const U = b({
227
243
  }
228
244
  },
229
245
  emits: ["update:modelValue", "input", "change", "focus", "blur", "keydown", "keyup"],
230
- setup(e, { emit: s, slots: a }) {
231
- const l = v(() => {
232
- const r = ["krds-input"];
233
- return e.size && r.push(e.size), e.class && r.push(e.class), r;
234
- }), i = (r) => {
235
- const V = r.target, _ = e.type === "number" ? Number(V.value) : V.value;
236
- s("update:modelValue", _), s("input", r);
237
- }, t = (r) => {
238
- s("change", r);
239
- }, n = (r) => {
240
- s("focus", r);
241
- }, y = (r) => {
242
- s("blur", r);
243
- }, g = (r) => {
244
- s("keydown", r);
245
- }, p = (r) => {
246
- s("keyup", r);
247
- }, k = v(() => {
248
- const r = {
246
+ setup(e, { emit: i, slots: s }) {
247
+ const l = g(() => {
248
+ const y = ["krds-input"];
249
+ return e.size && y.push(e.size), e.class && y.push(e.class), y;
250
+ }), o = (y) => {
251
+ const $ = y.target, d = e.type === "number" ? Number($.value) : $.value;
252
+ i("update:modelValue", d), i("input", y);
253
+ }, t = (y) => {
254
+ i("change", y);
255
+ }, a = (y) => {
256
+ i("focus", y);
257
+ }, u = (y) => {
258
+ i("blur", y);
259
+ }, v = (y) => {
260
+ i("keydown", y);
261
+ }, S = (y) => {
262
+ i("keyup", y);
263
+ }, _ = g(() => {
264
+ const y = {
249
265
  type: e.type,
250
266
  class: l.value,
251
267
  value: e.modelValue,
@@ -257,24 +273,24 @@ const U = b({
257
273
  disabled: e.disabled,
258
274
  autocomplete: e.autocomplete,
259
275
  autofocus: e.autofocus,
260
- onInput: i,
276
+ onInput: o,
261
277
  onChange: t,
262
- onFocus: n,
263
- onBlur: y,
264
- onKeydown: g,
265
- onKeyup: p
278
+ onFocus: a,
279
+ onBlur: u,
280
+ onKeydown: v,
281
+ onKeyup: S
266
282
  };
267
- return e.maxlength !== void 0 && (r.maxlength = e.maxlength), e.minlength !== void 0 && (r.minlength = e.minlength), e.type === "number" && (e.max !== void 0 && (r.max = e.max), e.min !== void 0 && (r.min = e.min), e.step !== void 0 && (r.step = e.step)), r;
268
- }), z = v(() => {
269
- const r = ["form-conts"];
270
- return e.state !== "default" && r.push(`is-${e.state}`), e.icon && r.push("btn-ico-wrap"), r;
283
+ return e.maxlength !== void 0 && (y.maxlength = e.maxlength), e.minlength !== void 0 && (y.minlength = e.minlength), e.type === "number" && (e.max !== void 0 && (y.max = e.max), e.min !== void 0 && (y.min = e.min), e.step !== void 0 && (y.step = e.step)), y;
284
+ }), V = g(() => {
285
+ const y = ["form-conts"];
286
+ return e.state !== "default" && y.push(`is-${e.state}`), e.icon && y.push("btn-ico-wrap"), y;
271
287
  });
272
288
  return () => {
273
- const r = [d("input", k.value)];
274
- return a.default && r.push(...a.default()), d("div", { class: z.value }, r);
289
+ const y = [r("input", _.value)];
290
+ return e.loading ? r("div", { class: V.value }, [r("div", { class: "form-spinner" }, [...y, r(ue)])]) : (s.default && y.push(...s.default()), r("div", { class: V.value }, y));
275
291
  };
276
292
  }
277
- }), Ce = b({
293
+ }), $e = C({
278
294
  name: "KrdsFormLabel",
279
295
  props: {
280
296
  for: {
@@ -295,12 +311,12 @@ const U = b({
295
311
  }
296
312
  },
297
313
  emits: ["click"],
298
- setup(e, { emit: s, slots: a }) {
299
- const l = (i) => {
300
- s("click", i);
314
+ setup(e, { emit: i, slots: s }) {
315
+ const l = (o) => {
316
+ i("click", o);
301
317
  };
302
- return () => d("div", { class: "form-tit" }, [
303
- d(
318
+ return () => r("div", { class: "form-tit" }, [
319
+ r(
304
320
  "label",
305
321
  {
306
322
  for: e.for,
@@ -309,11 +325,11 @@ const U = b({
309
325
  style: e.style,
310
326
  onClick: l
311
327
  },
312
- a.default?.()
328
+ s.default?.()
313
329
  )
314
330
  ]);
315
331
  }
316
- }), we = b({
332
+ }), Pe = C({
317
333
  name: "KrdsFormHint",
318
334
  props: {
319
335
  type: {
@@ -334,10 +350,10 @@ const U = b({
334
350
  }
335
351
  },
336
352
  emits: ["click"],
337
- setup(e, { emit: s, slots: a }) {
353
+ setup(e, { emit: i, slots: s }) {
338
354
  const l = (t) => {
339
- s("click", t);
340
- }, i = () => {
355
+ i("click", t);
356
+ }, o = () => {
341
357
  let t;
342
358
  switch (e.type) {
343
359
  case "error":
@@ -355,18 +371,18 @@ const U = b({
355
371
  }
356
372
  return e.class ? `${t} ${e.class}` : t;
357
373
  };
358
- return () => d(
374
+ return () => r(
359
375
  "p",
360
376
  {
361
377
  id: e.id,
362
- class: i(),
378
+ class: o(),
363
379
  style: e.style,
364
380
  onClick: l
365
381
  },
366
- a.default?.()
382
+ s.default?.()
367
383
  );
368
384
  }
369
- }), De = b({
385
+ }), Le = C({
370
386
  name: "KrdsFormGroup",
371
387
  props: {
372
388
  class: {
@@ -382,94 +398,94 @@ const U = b({
382
398
  default: void 0
383
399
  }
384
400
  },
385
- setup(e, { slots: s }) {
386
- const a = v(() => {
401
+ setup(e, { slots: i }) {
402
+ const s = g(() => {
387
403
  const l = ["form-group"];
388
404
  return e.class && l.push(e.class), l;
389
405
  });
390
- return () => d(
406
+ return () => r(
391
407
  "div",
392
408
  {
393
409
  id: e.id,
394
- class: a.value,
410
+ class: s.value,
395
411
  style: e.style
396
412
  },
397
- s.default?.()
413
+ i.default?.()
398
414
  );
399
415
  }
400
416
  });
401
- function Be(e, s) {
402
- const a = /* @__PURE__ */ new Date(), l = B(e || a.getFullYear()), i = B(s || a.getMonth() + 1), t = B(null), n = B(null), y = B(null), g = v(() => {
403
- const m = a.getFullYear(), w = [];
404
- for (let K = m - 10; K <= m + 10; K++)
405
- w.push(K);
406
- return w;
407
- }), p = v(() => Array.from({ length: 12 }, (m, w) => w + 1)), k = () => {
408
- t.value = null, n.value = null;
409
- }, z = () => {
410
- i.value === 1 ? (i.value = 12, l.value -= 1) : i.value -= 1;
411
- }, r = () => {
412
- i.value === 12 ? (i.value = 1, l.value += 1) : i.value += 1;
413
- }, V = (m, w = !1) => {
414
- if (w)
415
- t.value = m, n.value = m;
416
- else if (!t.value || t.value && n.value)
417
- t.value = m, n.value = null;
417
+ function Ne(e, i) {
418
+ const s = /* @__PURE__ */ new Date(), l = M(e || s.getFullYear()), o = M(i || s.getMonth() + 1), t = M(null), a = M(null), u = M(null), v = g(() => {
419
+ const p = s.getFullYear(), f = [];
420
+ for (let b = p - 10; b <= p + 10; b++)
421
+ f.push(b);
422
+ return f;
423
+ }), S = g(() => Array.from({ length: 12 }, (p, f) => f + 1)), _ = () => {
424
+ t.value = null, a.value = null;
425
+ }, V = () => {
426
+ o.value === 1 ? (o.value = 12, l.value -= 1) : o.value -= 1;
427
+ }, y = () => {
428
+ o.value === 12 ? (o.value = 1, l.value += 1) : o.value += 1;
429
+ }, $ = (p, f = !1) => {
430
+ if (f)
431
+ t.value = p, a.value = p;
432
+ else if (!t.value || t.value && a.value)
433
+ t.value = p, a.value = null;
418
434
  else {
419
- const K = new Date(t.value.replace(/\./g, "-"));
420
- new Date(m.replace(/\./g, "-")) < K ? (t.value = m, n.value = null) : n.value = m;
435
+ const b = new Date(t.value.replace(/\./g, "-"));
436
+ new Date(p.replace(/\./g, "-")) < b ? (t.value = p, a.value = null) : a.value = p;
421
437
  }
422
438
  };
423
439
  return {
424
440
  // State
425
441
  currentYear: l,
426
- currentMonth: i,
442
+ currentMonth: o,
427
443
  selectedStartDate: t,
428
- selectedEndDate: n,
429
- activeDateSelector: y,
444
+ selectedEndDate: a,
445
+ activeDateSelector: u,
430
446
  // Computed
431
- yearOptions: g,
432
- monthOptions: p,
447
+ yearOptions: v,
448
+ monthOptions: S,
433
449
  // Methods
434
- clearDateSelection: k,
435
- prevMonth: z,
436
- nextMonth: r,
437
- handleDateSelection: V,
450
+ clearDateSelection: _,
451
+ prevMonth: V,
452
+ nextMonth: y,
453
+ handleDateSelection: $,
438
454
  selectToday: () => {
439
- const m = `${a.getFullYear()}.${String(a.getMonth() + 1).padStart(2, "0")}.${String(a.getDate()).padStart(2, "0")}`;
440
- V(m, !0);
455
+ const p = `${s.getFullYear()}.${String(s.getMonth() + 1).padStart(2, "0")}.${String(s.getDate()).padStart(2, "0")}`;
456
+ $(p, !0);
441
457
  },
442
- isDateInSelectedRange: (m) => {
443
- if (!t.value || !n.value)
458
+ isDateInSelectedRange: (p) => {
459
+ if (!t.value || !a.value)
444
460
  return { isInRange: !1, isStart: !1, isEnd: !1 };
445
- const w = new Date(m.replace(/\./g, "-")), K = new Date(t.value.replace(/\./g, "-")), I = new Date(n.value.replace(/\./g, "-")), E = m === t.value, P = m === n.value;
446
- return { isInRange: w >= K && w <= I, isStart: E, isEnd: P };
461
+ const f = new Date(p.replace(/\./g, "-")), b = new Date(t.value.replace(/\./g, "-")), K = new Date(a.value.replace(/\./g, "-")), O = p === t.value, T = p === a.value;
462
+ return { isInRange: f >= b && f <= K, isStart: O, isEnd: T };
447
463
  }
448
464
  };
449
465
  }
450
- function _e(e, s, a = {}) {
466
+ function Te(e, i, s = {}) {
451
467
  let l = null;
452
- const i = typeof a == "string" ? { ignore: a } : a, { ignore: t, event: n = "click" } = i, y = () => {
453
- l = (p) => {
454
- const k = p.target;
455
- e.value?.contains(k) || t && k.closest(t) || s();
456
- }, document.addEventListener(n, l);
457
- }, g = () => {
468
+ const o = typeof s == "string" ? { ignore: s } : s, { ignore: t, event: a = "click" } = o, u = () => {
469
+ l = (S) => {
470
+ const _ = S.target;
471
+ e.value?.contains(_) || t && _.closest(t) || i();
472
+ }, document.addEventListener(a, l);
473
+ }, v = () => {
458
474
  if (l) {
459
- const p = typeof a == "string" ? "click" : a.event || "click";
460
- document.removeEventListener(p, l), l = null;
475
+ const S = typeof s == "string" ? "click" : s.event || "click";
476
+ document.removeEventListener(S, l), l = null;
461
477
  }
462
478
  };
463
- return fe(() => {
464
- y();
465
- }), ve(() => {
466
- g();
479
+ return re(() => {
480
+ u();
481
+ }), _e(() => {
482
+ v();
467
483
  }), {
468
- setupGlobalListeners: y,
469
- removeGlobalListeners: g
484
+ setupGlobalListeners: u,
485
+ removeGlobalListeners: v
470
486
  };
471
487
  }
472
- const Ke = { class: "form-conts" }, xe = { class: "calendar-input" }, ze = ["id", "name", "placeholder", "value", "readonly", "disabled", "required", "autofocus"], Ve = ["disabled", "aria-expanded"], Ie = { class: "calendar-head" }, Me = { class: "calendar-switch-wrap" }, $e = { class: "calendar-drop-down" }, Fe = ["aria-expanded"], Ne = { class: "calendar-select calendar-year-wrap" }, Oe = { class: "sel year" }, Te = ["onClick"], Ee = { class: "calendar-drop-down" }, Pe = ["aria-expanded"], Re = { class: "calendar-select calendar-mon-wrap" }, qe = { class: "sel month" }, Le = ["onClick"], Ye = { class: "calendar-body" }, Ae = { class: "calendar-table-wrap" }, je = { class: "calendar-tbl" }, Ge = ["data-date"], We = ["aria-pressed", "onClick"], He = { class: "calendar-footer" }, Ue = { class: "calendar-btn-wrap" }, Je = /* @__PURE__ */ b({
488
+ const Ae = { class: "form-conts" }, Ee = { class: "calendar-input" }, Oe = ["id", "name", "placeholder", "value", "readonly", "disabled", "required", "autofocus"], qe = ["disabled", "aria-expanded"], Fe = { class: "calendar-head" }, He = { class: "calendar-switch-wrap" }, Re = { class: "calendar-drop-down" }, Ye = ["aria-expanded"], je = { class: "calendar-select calendar-year-wrap" }, Ge = { class: "sel year" }, We = ["onClick"], Ue = { class: "calendar-drop-down" }, Je = ["aria-expanded"], Qe = { class: "calendar-select calendar-mon-wrap" }, Xe = { class: "sel month" }, Ze = ["onClick"], et = { class: "calendar-body" }, tt = { class: "calendar-table-wrap" }, at = { class: "calendar-tbl" }, nt = ["data-date"], lt = ["aria-pressed", "onClick"], st = { class: "calendar-footer" }, it = { class: "calendar-btn-wrap" }, rt = /* @__PURE__ */ C({
473
489
  __name: "KrdsDateInput",
474
490
  props: {
475
491
  modelValue: { default: void 0 },
@@ -489,66 +505,66 @@ const Ke = { class: "form-conts" }, xe = { class: "calendar-input" }, ze = ["id"
489
505
  id: { default: void 0 }
490
506
  },
491
507
  emits: ["update:modelValue", "input", "change", "focus", "blur"],
492
- setup(e, { emit: s }) {
493
- const a = e, l = s, i = B(), t = B(), n = B(!1), y = B(null), {
494
- currentYear: g,
495
- currentMonth: p,
496
- selectedStartDate: k,
497
- selectedEndDate: z,
498
- yearOptions: r,
499
- monthOptions: V,
500
- prevMonth: _,
501
- nextMonth: f,
502
- handleDateSelection: m,
503
- selectToday: w,
504
- isDateInSelectedRange: K
505
- } = Be(a.initialYear, a.initialMonth), I = () => {
506
- n.value && t.value?.focus(), n.value = !1, y.value = null;
508
+ setup(e, { emit: i }) {
509
+ const s = e, l = i, o = M(), t = M(), a = M(!1), u = M(null), {
510
+ currentYear: v,
511
+ currentMonth: S,
512
+ selectedStartDate: _,
513
+ selectedEndDate: V,
514
+ yearOptions: y,
515
+ monthOptions: $,
516
+ prevMonth: d,
517
+ nextMonth: n,
518
+ handleDateSelection: p,
519
+ selectToday: f,
520
+ isDateInSelectedRange: b
521
+ } = Ne(s.initialYear, s.initialMonth), K = () => {
522
+ a.value && t.value?.focus(), a.value = !1, u.value = null;
507
523
  };
508
- _e(i, I, ".calendar-conts");
509
- const E = v(() => {
510
- const u = ["krds-input", "datepicker", "cal"];
511
- return a.size && u.push(a.size), a.class && u.push(a.class), u;
512
- }), P = v(() => ["form-conts", "calendar-conts"]), Y = v(() => ({
524
+ Te(o, K, ".calendar-conts");
525
+ const O = g(() => {
526
+ const c = ["krds-input", "datepicker", "cal"];
527
+ return s.size && c.push(s.size), s.class && c.push(s.class), c;
528
+ }), T = g(() => ["form-conts", "calendar-conts"]), P = g(() => ({
513
529
  "krds-calendar-area": !0,
514
- active: n.value
515
- })), X = v(() => {
516
- const u = g.value, c = p.value, h = new Date(u, c - 1, 1), N = new Date(h);
517
- N.setDate(N.getDate() - h.getDay());
518
- const M = [], S = new Date(N);
519
- for (let R = 0; R < 6; R++) {
520
- const j = [];
521
- for (let G = 0; G < 7; G++) {
522
- const ce = `${S.getFullYear()}.${String(S.getMonth() + 1).padStart(2, "0")}.${String(S.getDate()).padStart(2, "0")}`, W = S.getDay();
523
- j.push({
524
- day: S.getDate(),
525
- dateString: ce,
526
- isCurrentMonth: S.getMonth() === c - 1,
527
- isToday: S.toDateString() === (/* @__PURE__ */ new Date()).toDateString(),
528
- isPrevMonth: S.getMonth() < c - 1 || S.getMonth() === 11 && c === 1,
529
- isNextMonth: S.getMonth() > c - 1 || S.getMonth() === 0 && c === 12,
530
- isSunday: W === 0,
531
- isSaturday: W === 6
532
- }), S.setDate(S.getDate() + 1);
530
+ active: a.value
531
+ })), z = g(() => {
532
+ const c = v.value, m = S.value, k = new Date(c, m - 1, 1), q = new Date(k);
533
+ q.setDate(q.getDate() - k.getDay());
534
+ const A = [], x = new Date(q);
535
+ for (let j = 0; j < 6; j++) {
536
+ const Z = [];
537
+ for (let ee = 0; ee < 7; ee++) {
538
+ const we = `${x.getFullYear()}.${String(x.getMonth() + 1).padStart(2, "0")}.${String(x.getDate()).padStart(2, "0")}`, te = x.getDay();
539
+ Z.push({
540
+ day: x.getDate(),
541
+ dateString: we,
542
+ isCurrentMonth: x.getMonth() === m - 1,
543
+ isToday: x.toDateString() === (/* @__PURE__ */ new Date()).toDateString(),
544
+ isPrevMonth: x.getMonth() < m - 1 || x.getMonth() === 11 && m === 1,
545
+ isNextMonth: x.getMonth() > m - 1 || x.getMonth() === 0 && m === 12,
546
+ isSunday: te === 0,
547
+ isSaturday: te === 6
548
+ }), x.setDate(x.getDate() + 1);
533
549
  }
534
- M.push(j);
550
+ A.push(Z);
535
551
  }
536
- return M;
537
- }), Z = (u) => {
538
- const c = [];
539
- if (u.isPrevMonth && c.push("old"), u.isNextMonth && c.push("new"), u.isToday && c.push("today"), u.isSunday && c.push("day-off"), a.holidays?.includes(u.dateString) && c.push("day-off"), a.eventDates?.includes(u.dateString) && c.push("day-event"), u.isCurrentMonth) {
540
- const h = K(u.dateString);
541
- h.isInRange && (c.push("period"), h.isStart && c.push("start"), h.isEnd && c.push("end"));
552
+ return A;
553
+ }), H = (c) => {
554
+ const m = [];
555
+ if (c.isPrevMonth && m.push("old"), c.isNextMonth && m.push("new"), c.isToday && m.push("today"), c.isSunday && m.push("day-off"), s.holidays?.includes(c.dateString) && m.push("day-off"), s.eventDates?.includes(c.dateString) && m.push("day-event"), c.isCurrentMonth) {
556
+ const k = b(c.dateString);
557
+ k.isInRange && (m.push("period"), k.isStart && m.push("start"), k.isEnd && m.push("end"));
542
558
  }
543
- return c;
544
- }, ee = v(() => [
559
+ return m;
560
+ }, B = g(() => [
545
561
  {
546
562
  id: "get-today",
547
563
  label: "오늘",
548
564
  class: "text",
549
565
  variant: void 0,
550
566
  size: "small",
551
- handler: w
567
+ handler: f
552
568
  },
553
569
  {
554
570
  id: "cancel-btn",
@@ -556,7 +572,7 @@ const Ke = { class: "form-conts" }, xe = { class: "calendar-input" }, ze = ["id"
556
572
  class: void 0,
557
573
  variant: "tertiary",
558
574
  size: "small",
559
- handler: I
575
+ handler: K
560
576
  },
561
577
  {
562
578
  id: "confirm-btn",
@@ -564,211 +580,211 @@ const Ke = { class: "form-conts" }, xe = { class: "calendar-input" }, ze = ["id"
564
580
  class: void 0,
565
581
  variant: "primary",
566
582
  size: "small",
567
- handler: le
583
+ handler: ge
568
584
  }
569
- ]), A = (u) => {
570
- y.value === u ? y.value = null : y.value = u;
571
- }, te = (u) => {
572
- g.value = u, y.value = null;
573
- }, ae = (u) => {
574
- p.value = u, y.value = null;
575
- }, le = () => {
576
- if (k.value) {
577
- if (z.value && k.value !== z.value) {
578
- const u = `${k.value} ~ ${z.value}`;
579
- l("update:modelValue", u);
585
+ ]), X = (c) => {
586
+ u.value === c ? u.value = null : u.value = c;
587
+ }, ve = (c) => {
588
+ v.value = c, u.value = null;
589
+ }, he = (c) => {
590
+ S.value = c, u.value = null;
591
+ }, ge = () => {
592
+ if (_.value) {
593
+ if (V.value && _.value !== V.value) {
594
+ const c = `${_.value} ~ ${V.value}`;
595
+ l("update:modelValue", c);
580
596
  } else
581
- l("update:modelValue", k.value);
582
- I();
597
+ l("update:modelValue", _.value);
598
+ K();
583
599
  }
584
- }, ne = () => {
585
- n.value = !0, y.value = null, setTimeout(() => {
586
- i.value?.querySelector(".calendar-wrap")?.focus();
600
+ }, ye = () => {
601
+ a.value = !0, u.value = null, setTimeout(() => {
602
+ o.value?.querySelector(".calendar-wrap")?.focus();
587
603
  }, 50);
588
- }, se = () => {
589
- n.value ? I() : ne();
590
- }, ue = (u) => {
591
- u.code === "Escape" && (y.value ? y.value = null : n.value && I());
592
- }, oe = (u) => {
593
- const c = u.target;
594
- l("update:modelValue", c.value), l("input", u);
595
- }, ie = (u) => {
596
- l("change", u);
597
- }, de = (u) => {
598
- l("focus", u);
599
- }, re = (u) => {
600
- l("blur", u);
604
+ }, pe = () => {
605
+ a.value ? K() : ye();
606
+ }, me = (c) => {
607
+ c.code === "Escape" && (u.value ? u.value = null : a.value && K());
608
+ }, be = (c) => {
609
+ const m = c.target;
610
+ l("update:modelValue", m.value), l("input", c);
611
+ }, ke = (c) => {
612
+ l("change", c);
613
+ }, Se = (c) => {
614
+ l("focus", c);
615
+ }, Ce = (c) => {
616
+ l("blur", c);
601
617
  };
602
- return (u, c) => (D(), x("div", Ke, [
603
- o("div", {
604
- class: $(P.value)
618
+ return (c, m) => (w(), D("div", Ae, [
619
+ h("div", {
620
+ class: L(T.value)
605
621
  }, [
606
- o("div", xe, [
607
- o("input", {
608
- id: u.id,
609
- name: u.name,
610
- class: $(E.value),
611
- placeholder: u.placeholder,
612
- value: u.modelValue,
613
- readonly: u.readonly,
614
- disabled: u.disabled,
615
- required: u.required,
616
- autofocus: u.autofocus,
622
+ h("div", Ee, [
623
+ h("input", {
624
+ id: c.id,
625
+ name: c.name,
626
+ class: L(O.value),
627
+ placeholder: c.placeholder,
628
+ value: c.modelValue,
629
+ readonly: c.readonly,
630
+ disabled: c.disabled,
631
+ required: c.required,
632
+ autofocus: c.autofocus,
617
633
  type: "text",
618
- onInput: oe,
619
- onChange: ie,
620
- onFocus: de,
621
- onBlur: re
622
- }, null, 42, ze),
623
- o("button", {
634
+ onInput: be,
635
+ onChange: ke,
636
+ onFocus: Se,
637
+ onBlur: Ce
638
+ }, null, 42, Oe),
639
+ h("button", {
624
640
  ref_key: "datePickerButtonRef",
625
641
  ref: t,
626
- class: $(`krds-btn ${u.size || "medium"} icon form-btn-datepicker`),
627
- disabled: u.disabled,
628
- "aria-expanded": n.value,
642
+ class: L(`krds-btn ${c.size || "medium"} icon form-btn-datepicker`),
643
+ disabled: c.disabled,
644
+ "aria-expanded": a.value,
629
645
  type: "button",
630
- onClick: se
631
- }, [...c[4] || (c[4] = [
632
- o("span", { class: "sr-only" }, "달력 열기", -1),
633
- o("i", { class: "svg-icon ico-calendar" }, null, -1)
634
- ])], 10, Ve)
646
+ onClick: pe
647
+ }, [...m[4] || (m[4] = [
648
+ h("span", { class: "sr-only" }, "달력 열기", -1),
649
+ h("i", { class: "svg-icon ico-calendar" }, null, -1)
650
+ ])], 10, qe)
635
651
  ]),
636
- o("div", {
652
+ h("div", {
637
653
  ref_key: "datePickerAreaRef",
638
- ref: i,
639
- class: $(Y.value)
654
+ ref: o,
655
+ class: L(P.value)
640
656
  }, [
641
- q(o("div", {
657
+ Y(h("div", {
642
658
  class: "calendar-wrap bottom",
643
659
  "aria-label": "달력",
644
660
  tabindex: "0",
645
- onKeydown: ue
661
+ onKeydown: me
646
662
  }, [
647
- o("div", Ie, [
648
- o("button", {
663
+ h("div", Fe, [
664
+ h("button", {
649
665
  type: "button",
650
666
  class: "btn-cal-move prev",
651
- onClick: c[0] || (c[0] = //@ts-ignore
652
- (...h) => C(_) && C(_)(...h))
653
- }, [...c[5] || (c[5] = [
654
- o("span", { class: "sr-only" }, "이전 달", -1)
667
+ onClick: m[0] || (m[0] = //@ts-ignore
668
+ (...k) => I(d) && I(d)(...k))
669
+ }, [...m[5] || (m[5] = [
670
+ h("span", { class: "sr-only" }, "이전 달", -1)
655
671
  ])]),
656
- o("div", Me, [
657
- o("div", $e, [
658
- o("button", {
672
+ h("div", He, [
673
+ h("div", Re, [
674
+ h("button", {
659
675
  type: "button",
660
676
  class: "btn-cal-switch year",
661
677
  "aria-label": "연도 선택",
662
- "aria-expanded": y.value === "year",
663
- onClick: c[1] || (c[1] = (h) => A("year"))
664
- }, F(C(g)) + "년 ", 9, Fe),
665
- q(o("div", Ne, [
666
- o("ul", Oe, [
667
- (D(!0), x(O, null, T(C(r), (h) => (D(), x("li", { key: h }, [
668
- o("button", {
678
+ "aria-expanded": u.value === "year",
679
+ onClick: m[1] || (m[1] = (k) => X("year"))
680
+ }, N(I(v)) + "년 ", 9, Ye),
681
+ Y(h("div", je, [
682
+ h("ul", Ge, [
683
+ (w(!0), D(E, null, F(I(y), (k) => (w(), D("li", { key: k }, [
684
+ h("button", {
669
685
  type: "button",
670
- class: $({ active: h === C(g) }),
671
- onClick: (N) => te(h)
672
- }, F(h) + "년", 11, Te)
686
+ class: L({ active: k === I(v) }),
687
+ onClick: (q) => ve(k)
688
+ }, N(k) + "년", 11, We)
673
689
  ]))), 128))
674
690
  ])
675
691
  ], 512), [
676
- [L, y.value === "year"]
692
+ [G, u.value === "year"]
677
693
  ])
678
694
  ]),
679
- o("div", Ee, [
680
- o("button", {
695
+ h("div", Ue, [
696
+ h("button", {
681
697
  type: "button",
682
698
  class: "btn-cal-switch month",
683
699
  "aria-label": "월 선택",
684
- "aria-expanded": y.value === "month",
685
- onClick: c[2] || (c[2] = (h) => A("month"))
686
- }, F(C(p).toString().padStart(2, "0")) + "월 ", 9, Pe),
687
- q(o("div", Re, [
688
- o("ul", qe, [
689
- (D(!0), x(O, null, T(C(V), (h) => (D(), x("li", { key: h }, [
690
- o("button", {
700
+ "aria-expanded": u.value === "month",
701
+ onClick: m[2] || (m[2] = (k) => X("month"))
702
+ }, N(I(S).toString().padStart(2, "0")) + "월 ", 9, Je),
703
+ Y(h("div", Qe, [
704
+ h("ul", Xe, [
705
+ (w(!0), D(E, null, F(I($), (k) => (w(), D("li", { key: k }, [
706
+ h("button", {
691
707
  type: "button",
692
- class: $({ active: h === C(p) }),
693
- onClick: (N) => ae(h)
694
- }, F(h.toString().padStart(2, "0")) + "월 ", 11, Le)
708
+ class: L({ active: k === I(S) }),
709
+ onClick: (q) => he(k)
710
+ }, N(k.toString().padStart(2, "0")) + "월 ", 11, Ze)
695
711
  ]))), 128))
696
712
  ])
697
713
  ], 512), [
698
- [L, y.value === "month"]
714
+ [G, u.value === "month"]
699
715
  ])
700
716
  ])
701
717
  ]),
702
- o("button", {
718
+ h("button", {
703
719
  type: "button",
704
720
  class: "btn-cal-move next",
705
- onClick: c[3] || (c[3] = //@ts-ignore
706
- (...h) => C(f) && C(f)(...h))
707
- }, [...c[6] || (c[6] = [
708
- o("span", { class: "sr-only" }, "다음 달", -1)
721
+ onClick: m[3] || (m[3] = //@ts-ignore
722
+ (...k) => I(n) && I(n)(...k))
723
+ }, [...m[6] || (m[6] = [
724
+ h("span", { class: "sr-only" }, "다음 달", -1)
709
725
  ])])
710
726
  ]),
711
- o("div", Ye, [
712
- o("div", Ae, [
713
- o("table", je, [
714
- o("caption", null, F(C(g)) + "년 " + F(C(p).toString().padStart(2, "0")) + "월", 1),
715
- c[7] || (c[7] = o("thead", null, [
716
- o("tr", null, [
717
- o("th", null, "일"),
718
- o("th", null, "월"),
719
- o("th", null, "화"),
720
- o("th", null, "수"),
721
- o("th", null, "목"),
722
- o("th", null, "금"),
723
- o("th", null, "토")
727
+ h("div", et, [
728
+ h("div", tt, [
729
+ h("table", at, [
730
+ h("caption", null, N(I(v)) + "년 " + N(I(S).toString().padStart(2, "0")) + "월", 1),
731
+ m[7] || (m[7] = h("thead", null, [
732
+ h("tr", null, [
733
+ h("th", null, "일"),
734
+ h("th", null, "월"),
735
+ h("th", null, "화"),
736
+ h("th", null, "수"),
737
+ h("th", null, "목"),
738
+ h("th", null, "금"),
739
+ h("th", null, "토")
724
740
  ])
725
741
  ], -1)),
726
- o("tbody", null, [
727
- (D(!0), x(O, null, T(X.value, (h, N) => (D(), x("tr", { key: N }, [
728
- (D(!0), x(O, null, T(h, (M, S) => (D(), x("td", {
729
- key: S,
730
- class: $(Z(M)),
731
- "data-date": M.dateString
742
+ h("tbody", null, [
743
+ (w(!0), D(E, null, F(z.value, (k, q) => (w(), D("tr", { key: q }, [
744
+ (w(!0), D(E, null, F(k, (A, x) => (w(), D("td", {
745
+ key: x,
746
+ class: L(H(A)),
747
+ "data-date": A.dateString
732
748
  }, [
733
- o("button", {
749
+ h("button", {
734
750
  type: "button",
735
751
  class: "btn-set-date",
736
- "aria-pressed": C(K)(M.dateString).isInRange ? "true" : "false",
737
- onClick: (R) => C(m)(M.dateString)
752
+ "aria-pressed": I(b)(A.dateString).isInRange ? "true" : "false",
753
+ onClick: (j) => I(p)(A.dateString)
738
754
  }, [
739
- o("span", null, F(M.day), 1)
740
- ], 8, We)
741
- ], 10, Ge))), 128))
755
+ h("span", null, N(A.day), 1)
756
+ ], 8, lt)
757
+ ], 10, nt))), 128))
742
758
  ]))), 128))
743
759
  ])
744
760
  ])
745
761
  ])
746
762
  ]),
747
- o("div", He, [
748
- o("div", Ue, [
749
- (D(!0), x(O, null, T(ee.value, (h) => (D(), he(C(U), {
750
- id: h.id,
751
- key: h.id,
752
- class: $(h.class),
753
- variant: h.variant,
754
- size: h.size,
755
- onClick: h.handler
763
+ h("div", st, [
764
+ h("div", it, [
765
+ (w(!0), D(E, null, F(B.value, (k) => (w(), W(I(oe), {
766
+ id: k.id,
767
+ key: k.id,
768
+ class: L(k.class),
769
+ variant: k.variant,
770
+ size: k.size,
771
+ onClick: k.handler
756
772
  }, {
757
- default: ye(() => [
758
- ge(F(h.label), 1)
773
+ default: U(() => [
774
+ R(N(k.label), 1)
759
775
  ]),
760
776
  _: 2
761
777
  }, 1032, ["id", "class", "variant", "size", "onClick"]))), 128))
762
778
  ])
763
779
  ])
764
780
  ], 544), [
765
- [L, n.value]
781
+ [G, a.value]
766
782
  ])
767
783
  ], 2)
768
784
  ], 2)
769
785
  ]));
770
786
  }
771
- }), Qe = b({
787
+ }), ot = C({
772
788
  name: "KrdsTextarea",
773
789
  props: {
774
790
  modelValue: {
@@ -842,38 +858,38 @@ const Ke = { class: "form-conts" }, xe = { class: "calendar-input" }, ze = ["id"
842
858
  }
843
859
  },
844
860
  emits: ["update:modelValue", "input", "change", "focus", "blur", "keydown", "keyup"],
845
- setup(e, { emit: s }) {
846
- const a = B(0);
847
- me(
861
+ setup(e, { emit: i }) {
862
+ const s = M(0);
863
+ De(
848
864
  () => e.modelValue,
849
- (f) => {
850
- a.value = (f || "").length;
865
+ (n) => {
866
+ s.value = (n || "").length;
851
867
  },
852
868
  { immediate: !0 }
853
869
  );
854
- const l = v(() => {
855
- const f = ["krds-input"];
856
- return e.size && f.push(e.size), e.class && f.push(e.class), f;
857
- }), i = v(() => {
858
- const f = {};
859
- return e.resize && (f.resize = e.resize), f;
860
- }), t = (f) => {
861
- const w = f.target.value;
862
- a.value = w.length, s("update:modelValue", w), s("input", f);
863
- }, n = (f) => {
864
- s("change", f);
865
- }, y = (f) => {
866
- s("focus", f);
867
- }, g = (f) => {
868
- s("blur", f);
869
- }, p = (f) => {
870
- s("keydown", f);
871
- }, k = (f) => {
872
- s("keyup", f);
873
- }, z = v(() => {
874
- const f = {
870
+ const l = g(() => {
871
+ const n = ["krds-input"];
872
+ return e.size && n.push(e.size), e.class && n.push(e.class), n;
873
+ }), o = g(() => {
874
+ const n = {};
875
+ return e.resize && (n.resize = e.resize), n;
876
+ }), t = (n) => {
877
+ const f = n.target.value;
878
+ s.value = f.length, i("update:modelValue", f), i("input", n);
879
+ }, a = (n) => {
880
+ i("change", n);
881
+ }, u = (n) => {
882
+ i("focus", n);
883
+ }, v = (n) => {
884
+ i("blur", n);
885
+ }, S = (n) => {
886
+ i("keydown", n);
887
+ }, _ = (n) => {
888
+ i("keyup", n);
889
+ }, V = g(() => {
890
+ const n = {
875
891
  class: l.value,
876
- style: i.value,
892
+ style: o.value,
877
893
  value: e.modelValue,
878
894
  placeholder: e.placeholder,
879
895
  name: e.name,
@@ -885,32 +901,32 @@ const Ke = { class: "form-conts" }, xe = { class: "calendar-input" }, ze = ["id"
885
901
  rows: e.rows,
886
902
  cols: e.cols,
887
903
  onInput: t,
888
- onChange: n,
889
- onFocus: y,
890
- onBlur: g,
891
- onKeydown: p,
892
- onKeyup: k
904
+ onChange: a,
905
+ onFocus: u,
906
+ onBlur: v,
907
+ onKeydown: S,
908
+ onKeyup: _
893
909
  };
894
- return e.maxlength !== void 0 && (f.maxlength = e.maxlength), e.minlength !== void 0 && (f.minlength = e.minlength), f;
895
- }), r = v(() => ["form-conts"]), V = v(() => ["textarea-wrap"]), _ = v(() => {
910
+ return e.maxlength !== void 0 && (n.maxlength = e.maxlength), e.minlength !== void 0 && (n.minlength = e.minlength), n;
911
+ }), y = g(() => ["form-conts"]), $ = g(() => ["textarea-wrap"]), d = g(() => {
896
912
  if (!e.showCount) return null;
897
- const f = a.value, m = e.maxlength;
913
+ const n = s.value, p = e.maxlength;
898
914
  return {
899
- current: f,
900
- max: m || ""
915
+ current: n,
916
+ max: p || ""
901
917
  };
902
918
  });
903
919
  return () => {
904
- const f = [d("textarea", z.value)];
905
- return _.value && f.push(
906
- d("p", { class: "textarea-count" }, [
907
- d("span", { class: "count-now" }, _.value.current),
908
- d("span", { class: "count-total" }, _.value.max ? `/${_.value.max}` : "")
920
+ const n = [r("textarea", V.value)];
921
+ return d.value && n.push(
922
+ r("p", { class: "textarea-count" }, [
923
+ r("span", { class: "count-now" }, d.value.current),
924
+ r("span", { class: "count-total" }, d.value.max ? `/${d.value.max}` : "")
909
925
  ])
910
- ), d("div", { class: r.value }, [d("div", { class: V.value }, f)]);
926
+ ), r("div", { class: y.value }, [r("div", { class: $.value }, n)]);
911
927
  };
912
928
  }
913
- }), Xe = b({
929
+ }), ut = C({
914
930
  name: "KrdsFileUpload",
915
931
  props: {
916
932
  modelValue: {
@@ -1013,15 +1029,15 @@ const Ke = { class: "form-conts" }, xe = { class: "calendar-input" }, ze = ["id"
1013
1029
  "download",
1014
1030
  "preview"
1015
1031
  ],
1016
- setup(e, { emit: s }) {
1017
- B(!1), v(() => {
1032
+ setup(e, { emit: i }) {
1033
+ M(!1), g(() => {
1018
1034
  const l = ["krds-file-upload", "line"];
1019
1035
  return e.class && l.push(e.class), l;
1020
1036
  });
1021
- const a = v(() => e.modelValue?.length || 0);
1022
- return v(() => !e.disabled && a.value < e.maxFiles), () => null;
1037
+ const s = g(() => e.modelValue?.length || 0);
1038
+ return g(() => !e.disabled && s.value < e.maxFiles), () => null;
1023
1039
  }
1024
- }), Ze = b({
1040
+ }), dt = C({
1025
1041
  name: "KrdsBadge",
1026
1042
  props: {
1027
1043
  type: {
@@ -1046,14 +1062,14 @@ const Ke = { class: "form-conts" }, xe = { class: "calendar-input" }, ze = ["id"
1046
1062
  }
1047
1063
  },
1048
1064
  emits: ["click"],
1049
- setup(e, { emit: s, slots: a }) {
1050
- const l = v(() => {
1065
+ setup(e, { emit: i, slots: s }) {
1066
+ const l = g(() => {
1051
1067
  const t = ["krds-badge"];
1052
1068
  return t.push(`${e.type}-${e.color}`), e.size && t.push(e.size), e.number && t.push("number"), e.class && t.push(e.class), t;
1053
- }), i = (t) => {
1054
- s("click", t);
1069
+ }), o = (t) => {
1070
+ i("click", t);
1055
1071
  };
1056
- return () => d(
1072
+ return () => r(
1057
1073
  "span",
1058
1074
  {
1059
1075
  type: e.type,
@@ -1061,12 +1077,12 @@ const Ke = { class: "form-conts" }, xe = { class: "calendar-input" }, ze = ["id"
1061
1077
  size: e.size,
1062
1078
  number: e.number,
1063
1079
  class: l.value,
1064
- onClick: i
1080
+ onClick: o
1065
1081
  },
1066
- a.default?.()
1082
+ s.default?.()
1067
1083
  );
1068
1084
  }
1069
- }), et = b({
1085
+ }), ct = C({
1070
1086
  name: "KrdsTag",
1071
1087
  props: {
1072
1088
  link: {
@@ -1091,40 +1107,40 @@ const Ke = { class: "form-conts" }, xe = { class: "calendar-input" }, ze = ["id"
1091
1107
  }
1092
1108
  },
1093
1109
  emits: ["remove"],
1094
- setup(e, { emit: s, slots: a }) {
1095
- const l = v(() => {
1096
- const n = ["krds-btn-tag"];
1097
- return e.link && n.push("link"), e.class && n.push(e.class), n;
1098
- }), i = (n) => {
1099
- s("remove", n);
1100
- }, t = () => d(
1110
+ setup(e, { emit: i, slots: s }) {
1111
+ const l = g(() => {
1112
+ const a = ["krds-btn-tag"];
1113
+ return e.link && a.push("link"), e.class && a.push(e.class), a;
1114
+ }), o = (a) => {
1115
+ i("remove", a);
1116
+ }, t = () => r(
1101
1117
  "button",
1102
1118
  {
1103
1119
  type: "button",
1104
1120
  class: "btn-delete",
1105
- onClick: i
1121
+ onClick: o
1106
1122
  },
1107
- [d("span", { class: "sr-only" }, "삭제")]
1123
+ [r("span", { class: "sr-only" }, "삭제")]
1108
1124
  );
1109
1125
  return () => {
1110
- const n = [], y = a.default?.();
1111
- if (y && n.push(y), e.link || n.push(t()), e.link) {
1112
- const g = {
1126
+ const a = [], u = s.default?.();
1127
+ if (u && a.push(u), e.link || a.push(t()), e.link) {
1128
+ const v = {
1113
1129
  href: e.href,
1114
1130
  class: l.value
1115
1131
  };
1116
- return e.target && (g.target = e.target), e.rel && (g.rel = e.rel), d("a", g, n);
1132
+ return e.target && (v.target = e.target), e.rel && (v.rel = e.rel), r("a", v, a);
1117
1133
  }
1118
- return d(
1134
+ return r(
1119
1135
  "span",
1120
1136
  {
1121
1137
  class: l.value
1122
1138
  },
1123
- n
1139
+ a
1124
1140
  );
1125
1141
  };
1126
1142
  }
1127
- }), tt = b({
1143
+ }), ft = C({
1128
1144
  name: "KrdsTagGroup",
1129
1145
  props: {
1130
1146
  size: {
@@ -1136,20 +1152,20 @@ const Ke = { class: "form-conts" }, xe = { class: "calendar-input" }, ze = ["id"
1136
1152
  default: void 0
1137
1153
  }
1138
1154
  },
1139
- setup(e, { slots: s }) {
1140
- const a = v(() => {
1155
+ setup(e, { slots: i }) {
1156
+ const s = g(() => {
1141
1157
  const l = ["krds-tag-wrap"];
1142
1158
  return e.size && l.push(e.size), e.class && l.push(e.class), l;
1143
1159
  });
1144
- return () => d(
1160
+ return () => r(
1145
1161
  "div",
1146
1162
  {
1147
- class: a.value
1163
+ class: s.value
1148
1164
  },
1149
- s.default?.()
1165
+ i.default?.()
1150
1166
  );
1151
1167
  }
1152
- }), at = b({
1168
+ }), vt = C({
1153
1169
  name: "KrdsMasthead",
1154
1170
  props: {
1155
1171
  class: {
@@ -1158,36 +1174,40 @@ const Ke = { class: "form-conts" }, xe = { class: "calendar-input" }, ze = ["id"
1158
1174
  }
1159
1175
  },
1160
1176
  emits: ["click"],
1161
- setup(e, { emit: s, slots: a }) {
1162
- const l = v(() => {
1177
+ setup(e, { emit: i, slots: s }) {
1178
+ const l = g(() => {
1163
1179
  const t = [""];
1164
1180
  return e.class && t.push(e.class), t;
1165
- }), i = (t) => {
1166
- s("click", t);
1181
+ }), o = (t) => {
1182
+ i("click", t);
1167
1183
  };
1168
- return () => d(
1184
+ return () => r(
1169
1185
  "div",
1170
1186
  {
1171
1187
  id: "krds-masthead",
1172
1188
  class: l.value,
1173
- onClick: i
1189
+ onClick: o
1174
1190
  },
1175
1191
  [
1176
- d("div", { class: "toggle-wrap" }, [
1177
- d("div", { class: "toggle-head" }, [d("div", { class: "inner" }, [d("span", { class: "nuri-txt" }, a.default?.())])])
1192
+ r("div", { class: "toggle-wrap" }, [
1193
+ r("div", { class: "toggle-head" }, [r("div", { class: "inner" }, [r("span", { class: "nuri-txt" }, s.default?.())])])
1178
1194
  ])
1179
1195
  ]
1180
1196
  );
1181
1197
  }
1182
1198
  });
1183
- let lt = 0;
1184
- function J(e = "krds") {
1185
- return `${e}-${++lt}`;
1199
+ let ht = 0;
1200
+ function de(e = "krds") {
1201
+ return `${e}-${++ht}`;
1202
+ }
1203
+ function Pt() {
1204
+ const e = Date.now().toString(36).slice(-4), i = Math.random().toString(36).substring(2, 5);
1205
+ return `${e}${i}`;
1186
1206
  }
1187
- function Q(...e) {
1207
+ function ce(...e) {
1188
1208
  return e.filter(Boolean).join(" ");
1189
1209
  }
1190
- const nt = b({
1210
+ const gt = C({
1191
1211
  name: "KrdsToggleSwitch",
1192
1212
  props: {
1193
1213
  modelValue: {
@@ -1229,40 +1249,40 @@ const nt = b({
1229
1249
  }
1230
1250
  },
1231
1251
  emits: ["update:modelValue", "change"],
1232
- setup(e, { emit: s, attrs: a }) {
1233
- const l = v(() => e.modelValue), i = v(() => Q("krds-form-toggle-switch", e.size, e.class)), t = (y) => {
1252
+ setup(e, { emit: i, attrs: s }) {
1253
+ const l = g(() => e.modelValue), o = g(() => ce("krds-form-toggle-switch", e.size, e.class)), t = (u) => {
1234
1254
  if (e.disabled)
1235
1255
  return;
1236
- const p = y.target.checked;
1237
- s("update:modelValue", p), s("change", p);
1238
- }, n = v(() => e.id || J("toggle-switch"));
1239
- return () => d(
1256
+ const S = u.target.checked;
1257
+ i("update:modelValue", S), i("change", S);
1258
+ }, a = g(() => e.id || de("toggle-switch"));
1259
+ return () => r(
1240
1260
  "div",
1241
1261
  {
1242
- class: i.value
1262
+ class: o.value
1243
1263
  },
1244
1264
  [
1245
- d("input", {
1265
+ r("input", {
1246
1266
  type: "checkbox",
1247
- id: n.value,
1267
+ id: a.value,
1248
1268
  name: e.name,
1249
1269
  checked: l.value,
1250
1270
  disabled: e.disabled,
1251
1271
  onChange: t,
1252
- ...a
1272
+ ...s
1253
1273
  }),
1254
- d(
1274
+ r(
1255
1275
  "label",
1256
1276
  {
1257
- for: n.value
1277
+ for: a.value
1258
1278
  },
1259
1279
  [
1260
- d(
1280
+ r(
1261
1281
  "span",
1262
1282
  {
1263
1283
  class: "switch-toggle"
1264
1284
  },
1265
- [d("i")]
1285
+ [r("i")]
1266
1286
  ),
1267
1287
  e.label || ""
1268
1288
  ]
@@ -1270,7 +1290,7 @@ const nt = b({
1270
1290
  ]
1271
1291
  );
1272
1292
  }
1273
- }), st = b({
1293
+ }), yt = C({
1274
1294
  name: "KrdsCheckArea",
1275
1295
  props: {
1276
1296
  class: {
@@ -1278,19 +1298,19 @@ const nt = b({
1278
1298
  default: void 0
1279
1299
  }
1280
1300
  },
1281
- setup(e, { slots: s }) {
1301
+ setup(e, { slots: i }) {
1282
1302
  return () => {
1283
- const a = ["krds-check-area"];
1284
- return e.class && a.push(e.class), d(
1303
+ const s = ["krds-check-area"];
1304
+ return e.class && s.push(e.class), r(
1285
1305
  "div",
1286
1306
  {
1287
- class: a
1307
+ class: s
1288
1308
  },
1289
- s.default?.()
1309
+ i.default?.()
1290
1310
  );
1291
1311
  };
1292
1312
  }
1293
- }), ut = b({
1313
+ }), pt = C({
1294
1314
  name: "KrdsCheckbox",
1295
1315
  props: {
1296
1316
  modelValue: {
@@ -1321,97 +1341,571 @@ const nt = b({
1321
1341
  },
1322
1342
  emits: ["update:modelValue", "change"],
1323
1343
  slots: Object,
1324
- setup(e, { emit: s, attrs: a, slots: l }) {
1325
- const i = v(() => e.modelValue), t = v(() => {
1326
- const g = e.chip ? "krds-form-chip" : "krds-form-check";
1327
- return Q(g, e.size, e.class);
1328
- }), n = (g) => {
1344
+ setup(e, { emit: i, attrs: s, slots: l }) {
1345
+ const o = g(() => e.modelValue), t = g(() => {
1346
+ const v = e.chip ? "krds-form-chip" : "krds-form-check";
1347
+ return ce(v, e.size, e.class);
1348
+ }), a = (v) => {
1329
1349
  if (e.disabled)
1330
1350
  return;
1331
- const k = g.target.checked;
1332
- s("update:modelValue", k), s("change", k);
1333
- }, y = v(() => e.id || J("checkbox"));
1351
+ const _ = v.target.checked;
1352
+ i("update:modelValue", _), i("change", _);
1353
+ }, u = g(() => e.id || de("checkbox"));
1334
1354
  return () => {
1335
- const g = [
1336
- d("input", {
1355
+ const v = [
1356
+ r("input", {
1337
1357
  type: "checkbox",
1338
- id: y.value,
1339
- checked: i.value,
1358
+ id: u.value,
1359
+ checked: o.value,
1340
1360
  disabled: e.disabled,
1341
- onChange: n,
1342
- ...a
1361
+ onChange: a,
1362
+ ...s
1343
1363
  }),
1344
- d(
1364
+ r(
1345
1365
  "label",
1346
1366
  {
1347
- for: y.value
1367
+ for: u.value
1348
1368
  },
1349
1369
  l.default?.()
1350
1370
  )
1351
1371
  ];
1352
- return l.description && !e.chip && g.push(d("div", { class: "krds-form-check-cnt" }, d("p", { class: "krds-form-check-p" }, l.description()))), d(
1372
+ return l.description && !e.chip && v.push(r("div", { class: "krds-form-check-cnt" }, r("p", { class: "krds-form-check-p" }, l.description()))), r(
1353
1373
  "div",
1354
1374
  {
1355
1375
  class: t.value
1356
1376
  },
1357
- g
1377
+ v
1378
+ );
1379
+ };
1380
+ }
1381
+ }), mt = C({
1382
+ name: "KrdsStepIndicator",
1383
+ props: {
1384
+ modelValue: {
1385
+ type: Number,
1386
+ default: 0
1387
+ },
1388
+ class: {
1389
+ type: String,
1390
+ default: void 0
1391
+ }
1392
+ },
1393
+ emits: ["update:modelValue"],
1394
+ setup(e, { slots: i }) {
1395
+ const s = g(() => {
1396
+ const u = ["krds-step-wrap"];
1397
+ return e.class && u.push(e.class), u;
1398
+ }), l = (u) => {
1399
+ const v = e.modelValue || 0;
1400
+ return u < v ? "done" : u === v ? "active" : "pending";
1401
+ }, o = M(0), t = () => {
1402
+ o.value = 0;
1403
+ }, a = () => o.value++;
1404
+ return Be("stepIndicator", {
1405
+ activeStep: g(() => e.modelValue || 0),
1406
+ getStepStatus: l,
1407
+ getNextStepIndex: a,
1408
+ resetStepIndex: t
1409
+ }), () => (t(), r(
1410
+ "ol",
1411
+ {
1412
+ class: s.value
1413
+ },
1414
+ i.default?.()
1415
+ ));
1416
+ }
1417
+ }), bt = C({
1418
+ name: "KrdsStep",
1419
+ props: {
1420
+ step: {
1421
+ type: [String, Number],
1422
+ required: !0
1423
+ },
1424
+ title: {
1425
+ type: String,
1426
+ required: !0
1427
+ },
1428
+ status: {
1429
+ type: String,
1430
+ default: void 0
1431
+ },
1432
+ class: {
1433
+ type: String,
1434
+ default: void 0
1435
+ }
1436
+ },
1437
+ emits: ["click"],
1438
+ setup(e, { emit: i, slots: s }) {
1439
+ const l = Ke("stepIndicator"), o = l ? l.getNextStepIndex() : -1, t = g(() => e.status ? e.status : l && o >= 0 ? l.getStepStatus(o) : "pending"), a = g(() => {
1440
+ const v = [t.value];
1441
+ return e.class && v.push(e.class), v;
1442
+ }), u = (v) => {
1443
+ i("click", v, e.step);
1444
+ };
1445
+ return () => {
1446
+ const v = t.value === "active";
1447
+ return r(
1448
+ "li",
1449
+ {
1450
+ class: a.value,
1451
+ onClick: u
1452
+ },
1453
+ [
1454
+ r("span", [
1455
+ // 현재 단계 표시 (활성 상태일 때만)
1456
+ v && r("em", { class: "sr-only" }, "현재단계"),
1457
+ // 단계 번호
1458
+ r("i", { class: "step" }, e.step),
1459
+ // 단계 제목
1460
+ r("span", { class: "step-tit" }, e.title),
1461
+ // 슬롯 내용 (추가 콘텐츠가 있는 경우)
1462
+ s.default?.()
1463
+ ])
1464
+ ]
1358
1465
  );
1359
1466
  };
1360
1467
  }
1361
- }), H = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1468
+ }), kt = C({
1469
+ name: "KrdsSkipLink",
1470
+ props: {
1471
+ /**
1472
+ * 건너뛸 대상 요소의 ID
1473
+ * @example '#main-content', '#breadcrumb'
1474
+ */
1475
+ href: {
1476
+ type: String,
1477
+ required: !0,
1478
+ validator: (e) => e.startsWith("#")
1479
+ },
1480
+ /**
1481
+ * 추가 CSS 클래스
1482
+ */
1483
+ class: {
1484
+ type: [String, Array, Object],
1485
+ default: void 0
1486
+ },
1487
+ /**
1488
+ * 요소 ID
1489
+ */
1490
+ id: {
1491
+ type: String,
1492
+ default: "krds-skip-link"
1493
+ }
1494
+ },
1495
+ setup(e, { slots: i }) {
1496
+ return () => r(
1497
+ "div",
1498
+ {
1499
+ id: e.id,
1500
+ class: e.class
1501
+ },
1502
+ [
1503
+ r(
1504
+ "a",
1505
+ {
1506
+ href: e.href
1507
+ },
1508
+ i.default?.()
1509
+ )
1510
+ ]
1511
+ );
1512
+ }
1513
+ }), St = ["id", "aria-label"], Ct = { class: "breadcrumb" }, wt = ["href", "aria-current", "onClick"], _t = { key: 0 }, Dt = /* @__PURE__ */ C({
1514
+ __name: "KrdsBreadcrumb",
1515
+ props: {
1516
+ items: {},
1517
+ id: { default: void 0 },
1518
+ ariaLabel: { default: "현재 경로" },
1519
+ showHomeIcon: { type: Boolean, default: !0 }
1520
+ },
1521
+ emits: ["item-click"],
1522
+ setup(e, { emit: i }) {
1523
+ const s = e, l = i, o = (a) => a === s.items.length - 1, t = (a, u) => {
1524
+ a.onClick && a.onClick(u), l("item-click", a, u);
1525
+ };
1526
+ return (a, u) => (w(), D("nav", {
1527
+ id: a.id,
1528
+ class: "krds-breadcrumb-wrap",
1529
+ "aria-label": a.ariaLabel
1530
+ }, [
1531
+ h("ol", Ct, [
1532
+ (w(!0), D(E, null, F(a.items, (v, S) => (w(), D("li", {
1533
+ key: `breadcrumb-${S}`,
1534
+ class: L({ home: S === 0 && a.showHomeIcon })
1535
+ }, [
1536
+ h("a", {
1537
+ href: v.href || "#",
1538
+ class: "txt",
1539
+ "aria-current": o(S) ? "page" : void 0,
1540
+ onClick: (_) => t(v, _)
1541
+ }, [
1542
+ S === 0 && a.showHomeIcon ? J("", !0) : (w(), D("span", _t, N(v.text), 1))
1543
+ ], 8, wt)
1544
+ ], 2))), 128))
1545
+ ])
1546
+ ], 8, St));
1547
+ }
1548
+ }), Bt = C({
1549
+ name: "KrdsInPageNavigation",
1550
+ props: {
1551
+ title: {
1552
+ type: String,
1553
+ default: void 0
1554
+ },
1555
+ caption: {
1556
+ type: String,
1557
+ default: "이 페이지의 구성"
1558
+ },
1559
+ items: {
1560
+ type: Array,
1561
+ default: () => []
1562
+ },
1563
+ autoActive: {
1564
+ type: Boolean,
1565
+ default: !0
1566
+ },
1567
+ headerTopSelector: {
1568
+ type: String,
1569
+ default: "#krds-masthead"
1570
+ },
1571
+ headerInnerSelector: {
1572
+ type: String,
1573
+ default: "#krds-header .header-in"
1574
+ },
1575
+ class: {
1576
+ type: String,
1577
+ default: void 0
1578
+ }
1579
+ },
1580
+ emits: ["itemClick"],
1581
+ slots: Object,
1582
+ setup(e, { emit: i, slots: s }) {
1583
+ const l = M(""), o = M(/* @__PURE__ */ new Map()), t = g(() => {
1584
+ const d = ["krds-in-page-navigation-type"];
1585
+ return e.class && d.push(e.class), d;
1586
+ }), a = () => {
1587
+ const d = e.headerTopSelector, n = e.headerInnerSelector, p = document.querySelector(d)?.clientHeight || 0, f = document.querySelector(n)?.clientHeight || 0;
1588
+ return p + f;
1589
+ }, u = (d, n) => {
1590
+ if (i("itemClick", d, n), d.href.startsWith("#")) {
1591
+ n.preventDefault();
1592
+ const p = document.querySelector(d.href);
1593
+ if (p) {
1594
+ const f = a();
1595
+ if (window.scrollTo({
1596
+ left: 0,
1597
+ top: p.getBoundingClientRect().top + window.scrollY - f,
1598
+ behavior: "smooth"
1599
+ }), l.value = d.href, n instanceof KeyboardEvent) {
1600
+ const b = p.querySelector(".sec-tit, h1, h2, h3, h4, h5, h6");
1601
+ b && b instanceof HTMLElement && (b.setAttribute("tabindex", "-1"), b.focus({ preventScroll: !0 }));
1602
+ }
1603
+ }
1604
+ }
1605
+ }, v = () => {
1606
+ o.value.clear(), e.items && e.items.filter((d) => d.href.startsWith("#")).forEach((d) => {
1607
+ const n = document.querySelector(d.href);
1608
+ n && o.value.set(d.href, n);
1609
+ });
1610
+ }, S = () => {
1611
+ if (!e.autoActive || !e.items || o.value.size === 0) return;
1612
+ const d = window.innerHeight, n = Math.ceil(d / 5), p = window.scrollY + d, f = document.body.scrollHeight, b = e.items.filter((z) => z.href.startsWith("#") && o.value.has(z.href)).map((z) => ({
1613
+ href: z.href,
1614
+ element: o.value.get(z.href),
1615
+ item: z
1616
+ }));
1617
+ if (b.length === 0) return;
1618
+ const K = b[0], O = b[b.length - 1], T = K.element.offsetTop;
1619
+ let P = "";
1620
+ if (p >= f)
1621
+ P = O.href;
1622
+ else if (window.scrollY <= T)
1623
+ P = K.href;
1624
+ else
1625
+ for (const z of b) {
1626
+ const H = z.element.offsetHeight, B = z.element.offsetTop - n;
1627
+ if (window.scrollY > B && window.scrollY <= B + H) {
1628
+ P = z.href;
1629
+ break;
1630
+ }
1631
+ }
1632
+ P && P !== l.value && (l.value = P);
1633
+ }, _ = () => {
1634
+ if (!e.items) return;
1635
+ const d = e.items.find((n) => n.active);
1636
+ d ? l.value = d.href : e.items.length > 0 && (l.value = e.items[0].href);
1637
+ };
1638
+ re(() => {
1639
+ if (_(), e.autoActive) {
1640
+ v(), S(), window.addEventListener("scroll", S, { passive: !0 });
1641
+ const d = new MutationObserver(() => {
1642
+ v();
1643
+ });
1644
+ d.observe(document.body, {
1645
+ childList: !0,
1646
+ subtree: !0
1647
+ }), ae(() => {
1648
+ d.disconnect();
1649
+ });
1650
+ }
1651
+ }), ae(() => {
1652
+ e.autoActive && (window.removeEventListener("scroll", S), o.value.clear());
1653
+ });
1654
+ const V = () => !e.caption && !e.title ? null : r("div", { class: "in-page-navigation-header" }, [
1655
+ e.caption && r("p", { class: "quick-caption" }, e.caption),
1656
+ e.title && r("p", { class: "quick-title" }, e.title)
1657
+ ]), y = () => {
1658
+ if (!e.items) return null;
1659
+ const d = e.items.map((n) => {
1660
+ const p = l.value === n.href || !e.autoActive && n.active;
1661
+ return r("li", { key: n.href }, [
1662
+ r(
1663
+ "a",
1664
+ {
1665
+ href: n.href,
1666
+ class: p ? "active" : "",
1667
+ onClick: (f) => u(n, f),
1668
+ onKeydown: (f) => {
1669
+ (f.key === "Enter" || f.key === " ") && (f.preventDefault(), u(n, f));
1670
+ }
1671
+ },
1672
+ n.text
1673
+ )
1674
+ ]);
1675
+ });
1676
+ return r("nav", { class: "in-page-navigation-list" }, [r("ul", {}, d)]);
1677
+ }, $ = () => s.action ? r("div", { class: "in-page-navigation-action" }, [s.action()]) : null;
1678
+ return () => r("div", { class: t.value }, [
1679
+ r("div", { class: "krds-in-page-navigation-area" }, [V(), y(), $()].filter(Boolean))
1680
+ ]);
1681
+ }
1682
+ }), Kt = ["id"], xt = { class: "page-links" }, It = ["href", "aria-current", "onClick"], Vt = { key: 0 }, zt = ["aria-label"], Mt = /* @__PURE__ */ C({
1683
+ __name: "KrdsPagination",
1684
+ props: {
1685
+ modelValue: { default: 1 },
1686
+ min: { default: 1 },
1687
+ max: {},
1688
+ id: { default: void 0 },
1689
+ ariaLabel: { default: "페이지 내비게이션" },
1690
+ pageRange: { default: 8 }
1691
+ },
1692
+ emits: ["update:modelValue"],
1693
+ setup(e, { emit: i }) {
1694
+ const s = e, l = i, o = g(() => Math.max(1, s.min)), t = g(() => s.modelValue ?? o.value), a = g(() => t.value <= o.value), u = g(() => t.value >= s.max), v = g(() => {
1695
+ if (!a.value)
1696
+ return "#";
1697
+ }), S = g(() => {
1698
+ if (!u.value)
1699
+ return "#";
1700
+ }), _ = g(() => {
1701
+ const { pageRange: d, max: n } = s, p = 1, f = [];
1702
+ if (n <= d + 2 * p)
1703
+ for (let b = o.value; b <= n; b++)
1704
+ f.push({
1705
+ type: "page",
1706
+ key: `page-${b}`,
1707
+ page: b,
1708
+ href: "#"
1709
+ });
1710
+ else {
1711
+ const b = Math.min(p, n), K = Math.max(n - p + 1, 1), O = Math.max(o.value, t.value - Math.floor(d / 2)), T = Math.min(n, O + d - 1), P = Math.max(o.value, T - d + 1);
1712
+ for (let B = o.value; B <= b; B++)
1713
+ f.push({
1714
+ type: "page",
1715
+ key: `page-${B}`,
1716
+ page: B,
1717
+ href: "#"
1718
+ });
1719
+ P > b + 1 && f.push({
1720
+ type: "ellipsis",
1721
+ key: "ellipsis-left",
1722
+ ariaLabel: "페이지 생략"
1723
+ });
1724
+ const z = Math.max(P, b + 1), H = Math.min(T, K - 1);
1725
+ for (let B = z; B <= H; B++)
1726
+ f.push({
1727
+ type: "page",
1728
+ key: `page-${B}`,
1729
+ page: B,
1730
+ href: "#"
1731
+ });
1732
+ T < K - 1 && f.push({
1733
+ type: "ellipsis",
1734
+ key: "ellipsis-right",
1735
+ ariaLabel: "페이지 생략"
1736
+ });
1737
+ for (let B = K; B <= n; B++)
1738
+ f.push({
1739
+ type: "page",
1740
+ key: `page-${B}`,
1741
+ page: B,
1742
+ href: "#"
1743
+ });
1744
+ }
1745
+ return f;
1746
+ }), V = (d, n) => {
1747
+ if (d === t.value) {
1748
+ n.preventDefault();
1749
+ return;
1750
+ }
1751
+ l("update:modelValue", d);
1752
+ }, y = (d) => {
1753
+ if (a.value) {
1754
+ d.preventDefault();
1755
+ return;
1756
+ }
1757
+ const n = t.value - 1;
1758
+ l("update:modelValue", n);
1759
+ }, $ = (d) => {
1760
+ if (u.value) {
1761
+ d.preventDefault();
1762
+ return;
1763
+ }
1764
+ const n = t.value + 1;
1765
+ l("update:modelValue", n);
1766
+ };
1767
+ return (d, n) => {
1768
+ const p = xe("sr-only");
1769
+ return w(), D("div", {
1770
+ id: d.id,
1771
+ class: "krds-pagination"
1772
+ }, [
1773
+ (w(), W(ne(a.value ? "span" : "a"), {
1774
+ href: a.value ? void 0 : v.value,
1775
+ class: L(["page-navi", "prev", { disabled: a.value }]),
1776
+ onClick: y
1777
+ }, {
1778
+ default: U(() => [...n[0] || (n[0] = [
1779
+ R(" 이전 ", -1)
1780
+ ])]),
1781
+ _: 1
1782
+ }, 8, ["href", "class"])),
1783
+ h("div", xt, [
1784
+ (w(!0), D(E, null, F(_.value, (f) => (w(), D(E, {
1785
+ key: f.key
1786
+ }, [
1787
+ f.type === "page" ? (w(), D("a", {
1788
+ key: 0,
1789
+ href: f.href || "#",
1790
+ class: L(["page-link", { active: f.page === t.value }]),
1791
+ "aria-current": f.page === t.value ? "page" : void 0,
1792
+ onClick: (b) => V(f.page, b)
1793
+ }, [
1794
+ f.page === t.value ? Y((w(), D("span", Vt, [...n[1] || (n[1] = [
1795
+ R("현재페이지", -1)
1796
+ ])])), [
1797
+ [p]
1798
+ ]) : J("", !0),
1799
+ R(" " + N(f.page), 1)
1800
+ ], 10, It)) : f.type === "ellipsis" ? (w(), D("span", {
1801
+ key: 1,
1802
+ class: "page-link link-dot",
1803
+ "aria-label": f.ariaLabel
1804
+ }, null, 8, zt)) : J("", !0)
1805
+ ], 64))), 128))
1806
+ ]),
1807
+ (w(), W(ne(u.value ? "span" : "a"), {
1808
+ href: u.value ? void 0 : S.value,
1809
+ class: L(["page-navi", "next", { disabled: u.value }]),
1810
+ onClick: $
1811
+ }, {
1812
+ default: U(() => [...n[2] || (n[2] = [
1813
+ R(" 다음 ", -1)
1814
+ ])]),
1815
+ _: 1
1816
+ }, 8, ["href", "class"]))
1817
+ ], 8, Kt);
1818
+ };
1819
+ }
1820
+ }), le = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1821
+ __proto__: null,
1822
+ KrdsBadge: dt,
1823
+ KrdsBreadcrumb: Dt,
1824
+ KrdsButton: oe,
1825
+ KrdsButtonGroup: Ie,
1826
+ KrdsCheckArea: yt,
1827
+ KrdsCheckbox: pt,
1828
+ KrdsDateInput: rt,
1829
+ KrdsFileUpload: ut,
1830
+ KrdsFormGroup: Le,
1831
+ KrdsFormHint: Pe,
1832
+ KrdsFormLabel: $e,
1833
+ KrdsIcon: Ve,
1834
+ KrdsInPageNavigation: Bt,
1835
+ KrdsInput: Me,
1836
+ KrdsLink: ze,
1837
+ KrdsMasthead: vt,
1838
+ KrdsPagination: Mt,
1839
+ KrdsSkipLink: kt,
1840
+ KrdsSpinner: ue,
1841
+ KrdsStep: bt,
1842
+ KrdsStepIndicator: mt,
1843
+ KrdsTag: ct,
1844
+ KrdsTagGroup: ft,
1845
+ KrdsTextarea: ot,
1846
+ KrdsToggleSwitch: gt
1847
+ }, Symbol.toStringTag, { value: "Module" })), Q = {
1848
+ mounted(e, i) {
1849
+ i.value !== !1 && e.classList.add("sr-only");
1850
+ },
1851
+ updated(e, i) {
1852
+ i.value === !1 ? e.classList.remove("sr-only") : e.classList.add("sr-only");
1853
+ },
1854
+ unmounted(e) {
1855
+ e.classList.remove("sr-only");
1856
+ }
1857
+ }, se = {
1858
+ "sr-only": Q
1859
+ }, fe = (e) => {
1860
+ e.directive("sr-only", Q);
1861
+ }, ie = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1362
1862
  __proto__: null,
1363
- KrdsBadge: Ze,
1364
- KrdsButton: U,
1365
- KrdsButtonGroup: pe,
1366
- KrdsCheckArea: st,
1367
- KrdsCheckbox: ut,
1368
- KrdsDateInput: Je,
1369
- KrdsFileUpload: Xe,
1370
- KrdsFormGroup: De,
1371
- KrdsFormHint: we,
1372
- KrdsFormLabel: Ce,
1373
- KrdsIcon: be,
1374
- KrdsInput: Se,
1375
- KrdsLink: ke,
1376
- KrdsMasthead: at,
1377
- KrdsTag: et,
1378
- KrdsTagGroup: tt,
1379
- KrdsTextarea: Qe,
1380
- KrdsToggleSwitch: nt
1381
- }, Symbol.toStringTag, { value: "Module" })), it = {
1382
- install(e, s = {}) {
1383
- e.provide("krds:config", s);
1384
- const a = s.components || Object.keys(H);
1385
- a.forEach((l) => {
1386
- const i = H[l];
1387
- i && e.component(l, i);
1388
- }), e.config.globalProperties.$krds = {
1863
+ default: se,
1864
+ directives: se,
1865
+ installDirectives: fe,
1866
+ vSrOnly: Q
1867
+ }, Symbol.toStringTag, { value: "Module" })), Lt = {
1868
+ install(e, i = {}) {
1869
+ e.provide("krds:config", i);
1870
+ const s = i.components || Object.keys(le);
1871
+ s.forEach((l) => {
1872
+ const o = le[l];
1873
+ o && e.component(l, o);
1874
+ }), typeof ie == "object" && ie !== null && fe(e), e.config.globalProperties.$krds = {
1389
1875
  version: "__VERSION__"
1390
- }, process.env.NODE_ENV !== "production" && console.log(`[KRDS Vue] v__VERSION__ 설치 완료 - 컴포넌트: ${a.length}개`);
1876
+ }, process.env.NODE_ENV !== "production" && console.log(`[KRDS Vue] v__VERSION__ 설치 완료 - 컴포넌트: ${s.length}개`);
1391
1877
  }
1392
- }, dt = "__VERSION__";
1878
+ }, Nt = "__VERSION__";
1393
1879
  export {
1394
- Ze as KrdsBadge,
1395
- U as KrdsButton,
1396
- pe as KrdsButtonGroup,
1397
- st as KrdsCheckArea,
1398
- ut as KrdsCheckbox,
1399
- Je as KrdsDateInput,
1400
- Xe as KrdsFileUpload,
1401
- De as KrdsFormGroup,
1402
- we as KrdsFormHint,
1403
- Ce as KrdsFormLabel,
1404
- be as KrdsIcon,
1405
- Se as KrdsInput,
1406
- ke as KrdsLink,
1407
- at as KrdsMasthead,
1408
- et as KrdsTag,
1409
- tt as KrdsTagGroup,
1410
- Qe as KrdsTextarea,
1411
- nt as KrdsToggleSwitch,
1412
- Q as classNames,
1413
- it as default,
1414
- J as generateId,
1415
- dt as version
1880
+ dt as KrdsBadge,
1881
+ Dt as KrdsBreadcrumb,
1882
+ oe as KrdsButton,
1883
+ Ie as KrdsButtonGroup,
1884
+ yt as KrdsCheckArea,
1885
+ pt as KrdsCheckbox,
1886
+ rt as KrdsDateInput,
1887
+ ut as KrdsFileUpload,
1888
+ Le as KrdsFormGroup,
1889
+ Pe as KrdsFormHint,
1890
+ $e as KrdsFormLabel,
1891
+ Ve as KrdsIcon,
1892
+ Bt as KrdsInPageNavigation,
1893
+ Me as KrdsInput,
1894
+ ze as KrdsLink,
1895
+ vt as KrdsMasthead,
1896
+ Mt as KrdsPagination,
1897
+ kt as KrdsSkipLink,
1898
+ ue as KrdsSpinner,
1899
+ bt as KrdsStep,
1900
+ mt as KrdsStepIndicator,
1901
+ ct as KrdsTag,
1902
+ ft as KrdsTagGroup,
1903
+ ot as KrdsTextarea,
1904
+ gt as KrdsToggleSwitch,
1905
+ ce as classNames,
1906
+ Lt as default,
1907
+ de as generateId,
1908
+ Pt as generateUid,
1909
+ Nt as version
1416
1910
  };
1417
1911
  //# sourceMappingURL=krds-vue.es.js.map