@krds.ui/vue 0.0.15 → 0.0.17

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