@krds.ui/vue 0.0.14 → 0.0.15

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 (211) hide show
  1. package/dist/components/KrdsAccordionGroup/KrdsAccordionGroup.d.ts +7 -0
  2. package/dist/components/KrdsAccordionGroup/KrdsAccordionGroup.d.ts.map +1 -0
  3. package/dist/components/KrdsAccordionGroup/index.d.ts +5 -0
  4. package/dist/components/KrdsAccordionGroup/index.d.ts.map +1 -0
  5. package/dist/components/KrdsAccordionItem/KrdsAccordionItem.d.ts +22 -0
  6. package/dist/components/KrdsAccordionItem/KrdsAccordionItem.d.ts.map +1 -0
  7. package/dist/components/KrdsAccordionItem/index.d.ts +5 -0
  8. package/dist/components/KrdsAccordionItem/index.d.ts.map +1 -0
  9. package/dist/components/KrdsBadge/KrdsBadge.d.ts +24 -0
  10. package/dist/components/KrdsBadge/KrdsBadge.d.ts.map +1 -0
  11. package/dist/components/KrdsBadge/index.d.ts +5 -0
  12. package/dist/components/KrdsBadge/index.d.ts.map +1 -0
  13. package/dist/components/KrdsBreadcrumb/KrdsBreadcrumb.d.ts +33 -0
  14. package/dist/components/KrdsBreadcrumb/KrdsBreadcrumb.d.ts.map +1 -0
  15. package/dist/components/KrdsBreadcrumb/index.d.ts +5 -0
  16. package/dist/components/KrdsBreadcrumb/index.d.ts.map +1 -0
  17. package/dist/components/KrdsButton/KrdsButton.d.ts +31 -0
  18. package/dist/components/KrdsButton/KrdsButton.d.ts.map +1 -0
  19. package/dist/components/KrdsButton/index.d.ts +5 -0
  20. package/dist/components/KrdsButton/index.d.ts.map +1 -0
  21. package/dist/components/KrdsButtonGroup/KrdsButtonGroup.d.ts +8 -0
  22. package/dist/components/KrdsButtonGroup/KrdsButtonGroup.d.ts.map +1 -0
  23. package/dist/components/KrdsButtonGroup/index.d.ts +3 -0
  24. package/dist/components/KrdsButtonGroup/index.d.ts.map +1 -0
  25. package/dist/components/KrdsCheckArea/KrdsCheckArea.d.ts +12 -0
  26. package/dist/components/KrdsCheckArea/KrdsCheckArea.d.ts.map +1 -0
  27. package/dist/components/KrdsCheckArea/index.d.ts +5 -0
  28. package/dist/components/KrdsCheckArea/index.d.ts.map +1 -0
  29. package/dist/components/KrdsCheckbox/KrdsCheckbox.d.ts +23 -0
  30. package/dist/components/KrdsCheckbox/KrdsCheckbox.d.ts.map +1 -0
  31. package/dist/components/KrdsCheckbox/index.d.ts +5 -0
  32. package/dist/components/KrdsCheckbox/index.d.ts.map +1 -0
  33. package/dist/components/KrdsCoachMark/KrdsCoachMark.d.ts +29 -0
  34. package/dist/components/KrdsCoachMark/KrdsCoachMark.d.ts.map +1 -0
  35. package/dist/components/KrdsCoachMark/index.d.ts +5 -0
  36. package/dist/components/KrdsCoachMark/index.d.ts.map +1 -0
  37. package/dist/components/KrdsContextualHelp/KrdsContextualHelp.d.ts +15 -0
  38. package/dist/components/KrdsContextualHelp/KrdsContextualHelp.d.ts.map +1 -0
  39. package/dist/components/KrdsContextualHelp/index.d.ts +5 -0
  40. package/dist/components/KrdsContextualHelp/index.d.ts.map +1 -0
  41. package/dist/components/KrdsCriticalAlerts/KrdsCriticalAlerts.d.ts +27 -0
  42. package/dist/components/KrdsCriticalAlerts/KrdsCriticalAlerts.d.ts.map +1 -0
  43. package/dist/components/KrdsCriticalAlerts/index.d.ts +5 -0
  44. package/dist/components/KrdsCriticalAlerts/index.d.ts.map +1 -0
  45. package/dist/components/KrdsDateInput/KrdsDateInput.d.ts +39 -0
  46. package/dist/components/KrdsDateInput/KrdsDateInput.d.ts.map +1 -0
  47. package/dist/components/KrdsDateInput/index.d.ts +5 -0
  48. package/dist/components/KrdsDateInput/index.d.ts.map +1 -0
  49. package/dist/components/KrdsDisclosure/KrdsDisclosure.d.ts +19 -0
  50. package/dist/components/KrdsDisclosure/KrdsDisclosure.d.ts.map +1 -0
  51. package/dist/components/KrdsDisclosure/index.d.ts +5 -0
  52. package/dist/components/KrdsDisclosure/index.d.ts.map +1 -0
  53. package/dist/components/KrdsFileUpload/KrdsFileUpload.d.ts +285 -0
  54. package/dist/components/KrdsFileUpload/KrdsFileUpload.d.ts.map +1 -0
  55. package/dist/components/KrdsFileUpload/index.d.ts +5 -0
  56. package/dist/components/KrdsFileUpload/index.d.ts.map +1 -0
  57. package/dist/components/KrdsFooter/KrdsFooter.d.ts +11 -0
  58. package/dist/components/KrdsFooter/KrdsFooter.d.ts.map +1 -0
  59. package/dist/components/KrdsFooter/index.d.ts +5 -0
  60. package/dist/components/KrdsFooter/index.d.ts.map +1 -0
  61. package/dist/components/KrdsFormGroup/KrdsFormGroup.d.ts +8 -0
  62. package/dist/components/KrdsFormGroup/KrdsFormGroup.d.ts.map +1 -0
  63. package/dist/components/KrdsFormGroup/index.d.ts +5 -0
  64. package/dist/components/KrdsFormGroup/index.d.ts.map +1 -0
  65. package/dist/components/KrdsFormHint/KrdsFormHint.d.ts +17 -0
  66. package/dist/components/KrdsFormHint/KrdsFormHint.d.ts.map +1 -0
  67. package/dist/components/KrdsFormHint/index.d.ts +5 -0
  68. package/dist/components/KrdsFormHint/index.d.ts.map +1 -0
  69. package/dist/components/KrdsFormLabel/KrdsFormLabel.d.ts +17 -0
  70. package/dist/components/KrdsFormLabel/KrdsFormLabel.d.ts.map +1 -0
  71. package/dist/components/KrdsFormLabel/index.d.ts +5 -0
  72. package/dist/components/KrdsFormLabel/index.d.ts.map +1 -0
  73. package/dist/components/KrdsHeader/KrdsHeader.d.ts +56 -0
  74. package/dist/components/KrdsHeader/KrdsHeader.d.ts.map +1 -0
  75. package/dist/components/KrdsHeader/index.d.ts +5 -0
  76. package/dist/components/KrdsHeader/index.d.ts.map +1 -0
  77. package/dist/components/KrdsIcon/KrdsIcon.d.ts +11 -0
  78. package/dist/components/KrdsIcon/KrdsIcon.d.ts.map +1 -0
  79. package/dist/components/KrdsIcon/index.d.ts +3 -0
  80. package/dist/components/KrdsIcon/index.d.ts.map +1 -0
  81. package/dist/components/KrdsIdentifier/KrdsIdentifier.d.ts +16 -0
  82. package/dist/components/KrdsIdentifier/KrdsIdentifier.d.ts.map +1 -0
  83. package/dist/components/KrdsIdentifier/index.d.ts +5 -0
  84. package/dist/components/KrdsIdentifier/index.d.ts.map +1 -0
  85. package/dist/components/KrdsInPageNavigation/KrdsInPageNavigation.d.ts +38 -0
  86. package/dist/components/KrdsInPageNavigation/KrdsInPageNavigation.d.ts.map +1 -0
  87. package/dist/components/KrdsInPageNavigation/index.d.ts +5 -0
  88. package/dist/components/KrdsInPageNavigation/index.d.ts.map +1 -0
  89. package/dist/components/KrdsInput/KrdsInput.d.ts +51 -0
  90. package/dist/components/KrdsInput/KrdsInput.d.ts.map +1 -0
  91. package/dist/components/KrdsInput/index.d.ts +5 -0
  92. package/dist/components/KrdsInput/index.d.ts.map +1 -0
  93. package/dist/components/KrdsLanguageSwitcher/KrdsLanguageSwitcher.d.ts +30 -0
  94. package/dist/components/KrdsLanguageSwitcher/KrdsLanguageSwitcher.d.ts.map +1 -0
  95. package/dist/components/KrdsLanguageSwitcher/index.d.ts +5 -0
  96. package/dist/components/KrdsLanguageSwitcher/index.d.ts.map +1 -0
  97. package/dist/components/KrdsLayout/KrdsLayout.d.ts +37 -0
  98. package/dist/components/KrdsLayout/KrdsLayout.d.ts.map +1 -0
  99. package/dist/components/KrdsLayout/index.d.ts +5 -0
  100. package/dist/components/KrdsLayout/index.d.ts.map +1 -0
  101. package/dist/components/KrdsLink/KrdsLink.d.ts +33 -0
  102. package/dist/components/KrdsLink/KrdsLink.d.ts.map +1 -0
  103. package/dist/components/KrdsLink/index.d.ts +3 -0
  104. package/dist/components/KrdsLink/index.d.ts.map +1 -0
  105. package/dist/components/KrdsMasthead/KrdsMasthead.d.ts +14 -0
  106. package/dist/components/KrdsMasthead/KrdsMasthead.d.ts.map +1 -0
  107. package/dist/components/KrdsMasthead/index.d.ts +5 -0
  108. package/dist/components/KrdsMasthead/index.d.ts.map +1 -0
  109. package/dist/components/KrdsModal/KrdsModal.d.ts +88 -0
  110. package/dist/components/KrdsModal/KrdsModal.d.ts.map +1 -0
  111. package/dist/components/KrdsModal/index.d.ts +5 -0
  112. package/dist/components/KrdsModal/index.d.ts.map +1 -0
  113. package/dist/components/KrdsPagination/KrdsPagination.d.ts +27 -0
  114. package/dist/components/KrdsPagination/KrdsPagination.d.ts.map +1 -0
  115. package/dist/components/KrdsPagination/index.d.ts +5 -0
  116. package/dist/components/KrdsPagination/index.d.ts.map +1 -0
  117. package/dist/components/KrdsPanel/KrdsPanel.d.ts +16 -0
  118. package/dist/components/KrdsPanel/KrdsPanel.d.ts.map +1 -0
  119. package/dist/components/KrdsPanel/index.d.ts +5 -0
  120. package/dist/components/KrdsPanel/index.d.ts.map +1 -0
  121. package/dist/components/KrdsRadio/KrdsRadio.d.ts +25 -0
  122. package/dist/components/KrdsRadio/KrdsRadio.d.ts.map +1 -0
  123. package/dist/components/KrdsRadio/index.d.ts +5 -0
  124. package/dist/components/KrdsRadio/index.d.ts.map +1 -0
  125. package/dist/components/KrdsResize/KrdsResize.d.ts +15 -0
  126. package/dist/components/KrdsResize/KrdsResize.d.ts.map +1 -0
  127. package/dist/components/KrdsResize/index.d.ts +5 -0
  128. package/dist/components/KrdsResize/index.d.ts.map +1 -0
  129. package/dist/components/KrdsSelect/KrdsSelect.d.ts +44 -0
  130. package/dist/components/KrdsSelect/KrdsSelect.d.ts.map +1 -0
  131. package/dist/components/KrdsSelect/index.d.ts +5 -0
  132. package/dist/components/KrdsSelect/index.d.ts.map +1 -0
  133. package/dist/components/KrdsSideNavigation/KrdsSideNavigation.d.ts +74 -0
  134. package/dist/components/KrdsSideNavigation/KrdsSideNavigation.d.ts.map +1 -0
  135. package/dist/components/KrdsSideNavigation/index.d.ts +5 -0
  136. package/dist/components/KrdsSideNavigation/index.d.ts.map +1 -0
  137. package/dist/components/KrdsSkipLink/KrdsSkipLink.d.ts +77 -0
  138. package/dist/components/KrdsSkipLink/KrdsSkipLink.d.ts.map +1 -0
  139. package/dist/components/KrdsSkipLink/index.d.ts +5 -0
  140. package/dist/components/KrdsSkipLink/index.d.ts.map +1 -0
  141. package/dist/components/KrdsSpinner/KrdsSpinner.d.ts +15 -0
  142. package/dist/components/KrdsSpinner/KrdsSpinner.d.ts.map +1 -0
  143. package/dist/components/KrdsSpinner/index.d.ts +4 -0
  144. package/dist/components/KrdsSpinner/index.d.ts.map +1 -0
  145. package/dist/components/KrdsStep/KrdsStep.d.ts +21 -0
  146. package/dist/components/KrdsStep/KrdsStep.d.ts.map +1 -0
  147. package/dist/components/KrdsStep/index.d.ts +5 -0
  148. package/dist/components/KrdsStep/index.d.ts.map +1 -0
  149. package/dist/components/KrdsStepIndicator/KrdsStepIndicator.d.ts +17 -0
  150. package/dist/components/KrdsStepIndicator/KrdsStepIndicator.d.ts.map +1 -0
  151. package/dist/components/KrdsStepIndicator/index.d.ts +5 -0
  152. package/dist/components/KrdsStepIndicator/index.d.ts.map +1 -0
  153. package/dist/components/KrdsStructuredList/KrdsStructuredList.d.ts +11 -0
  154. package/dist/components/KrdsStructuredList/KrdsStructuredList.d.ts.map +1 -0
  155. package/dist/components/KrdsStructuredList/index.d.ts +5 -0
  156. package/dist/components/KrdsStructuredList/index.d.ts.map +1 -0
  157. package/dist/components/KrdsTable/KrdsTable.d.ts +48 -0
  158. package/dist/components/KrdsTable/KrdsTable.d.ts.map +1 -0
  159. package/dist/components/KrdsTable/index.d.ts +5 -0
  160. package/dist/components/KrdsTable/index.d.ts.map +1 -0
  161. package/dist/components/KrdsTag/KrdsTag.d.ts +23 -0
  162. package/dist/components/KrdsTag/KrdsTag.d.ts.map +1 -0
  163. package/dist/components/KrdsTag/index.d.ts +5 -0
  164. package/dist/components/KrdsTag/index.d.ts.map +1 -0
  165. package/dist/components/KrdsTagGroup/KrdsTagGroup.d.ts +15 -0
  166. package/dist/components/KrdsTagGroup/KrdsTagGroup.d.ts.map +1 -0
  167. package/dist/components/KrdsTagGroup/index.d.ts +5 -0
  168. package/dist/components/KrdsTagGroup/index.d.ts.map +1 -0
  169. package/dist/components/KrdsTextList/KrdsTextList.d.ts +13 -0
  170. package/dist/components/KrdsTextList/KrdsTextList.d.ts.map +1 -0
  171. package/dist/components/KrdsTextList/index.d.ts +5 -0
  172. package/dist/components/KrdsTextList/index.d.ts.map +1 -0
  173. package/dist/components/KrdsTextarea/KrdsTextarea.d.ts +209 -0
  174. package/dist/components/KrdsTextarea/KrdsTextarea.d.ts.map +1 -0
  175. package/dist/components/KrdsTextarea/index.d.ts +5 -0
  176. package/dist/components/KrdsTextarea/index.d.ts.map +1 -0
  177. package/dist/components/KrdsToggleSwitch/KrdsToggleSwitch.d.ts +24 -0
  178. package/dist/components/KrdsToggleSwitch/KrdsToggleSwitch.d.ts.map +1 -0
  179. package/dist/components/KrdsToggleSwitch/index.d.ts +5 -0
  180. package/dist/components/KrdsToggleSwitch/index.d.ts.map +1 -0
  181. package/dist/components/KrdsTooltip/KrdsTooltip.d.ts +20 -0
  182. package/dist/components/KrdsTooltip/KrdsTooltip.d.ts.map +1 -0
  183. package/dist/components/KrdsTooltip/index.d.ts +5 -0
  184. package/dist/components/KrdsTooltip/index.d.ts.map +1 -0
  185. package/dist/components/KrdsTts/KrdsTts.d.ts +36 -0
  186. package/dist/components/KrdsTts/KrdsTts.d.ts.map +1 -0
  187. package/dist/components/KrdsTts/index.d.ts +5 -0
  188. package/dist/components/KrdsTts/index.d.ts.map +1 -0
  189. package/dist/components/index.d.ts +97 -0
  190. package/dist/components/index.d.ts.map +1 -0
  191. package/dist/composables/index.d.ts +5 -0
  192. package/dist/composables/index.d.ts.map +1 -0
  193. package/dist/composables/useClickOutside.d.ts +22 -0
  194. package/dist/composables/useClickOutside.d.ts.map +1 -0
  195. package/dist/composables/useDatePicker.d.ts +26 -0
  196. package/dist/composables/useDatePicker.d.ts.map +1 -0
  197. package/dist/directives/index.d.ts +15 -0
  198. package/dist/directives/index.d.ts.map +1 -0
  199. package/dist/directives/vSrOnly.d.ts +8 -0
  200. package/dist/directives/vSrOnly.d.ts.map +1 -0
  201. package/dist/index.d.ts +20 -0
  202. package/dist/index.d.ts.map +1 -0
  203. package/dist/krds-vue.es.js +1677 -1558
  204. package/dist/krds-vue.es.js.map +1 -1
  205. package/dist/tokens/index.d.ts +6 -0
  206. package/dist/tokens/index.d.ts.map +1 -0
  207. package/dist/types/index.d.ts +115 -2079
  208. package/dist/types/index.d.ts.map +1 -0
  209. package/dist/utils/index.d.ts +26 -0
  210. package/dist/utils/index.d.ts.map +1 -0
  211. package/package.json +30 -30
@@ -1,13 +1,13 @@
1
- import { Fragment as W, Teleport as ze, computed as k, createBlock as de, createCommentVNode as X, createElementBlock as T, createElementVNode as p, createTextVNode as N, defineComponent as B, getCurrentInstance as Ie, h as t, inject as Ee, nextTick as Ke, normalizeClass as R, normalizeStyle as ne, onBeforeUnmount as fe, onMounted as te, onUnmounted as Z, openBlock as D, provide as Fe, ref as L, renderList as Y, renderSlot as J, resolveDirective as Me, resolveDynamicComponent as ge, toDisplayString as M, unref as q, useId as ae, vShow as se, watch as re, withCtx as ue, withDirectives as ee, withModifiers as ce } from "vue";
2
- var be = Object.defineProperty, we = (e, a) => {
3
- let n = {};
4
- for (var l in e)
5
- be(n, l, {
6
- get: e[l],
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) => {
3
+ let r = {};
4
+ for (var a in e)
5
+ se(r, a, {
6
+ get: e[a],
7
7
  enumerable: !0
8
8
  });
9
- return a || be(n, Symbol.toStringTag, { value: "Module" }), n;
10
- }, _e = B({
9
+ return l || se(r, Symbol.toStringTag, { value: "Module" }), r;
10
+ }, fe = D({
11
11
  name: "KrdsButton",
12
12
  props: {
13
13
  type: {
@@ -48,27 +48,27 @@ var be = Object.defineProperty, we = (e, a) => {
48
48
  }
49
49
  },
50
50
  emits: ["click"],
51
- setup(e, { emit: a, slots: n }) {
52
- const l = k(() => {
53
- const r = ["krds-btn"];
54
- return e.icon && r.push("icon"), e.border && r.push("border"), e.pure && r.push("pure"), e.text && r.push("text"), e.variant && !e.icon && r.push(e.variant), e.size && r.push(e.size), e.class && r.push(e.class), r;
55
- }), s = (r) => {
56
- e.disabled || a("click", r);
51
+ setup(e, { emit: l, slots: r }) {
52
+ const a = g(() => {
53
+ const s = ["krds-btn"];
54
+ return e.icon && s.push("icon"), e.border && s.push("border"), e.pure && s.push("pure"), e.text && s.push("text"), e.variant && !e.icon && s.push(e.variant), e.size && s.push(e.size), e.class && s.push(e.class), s;
55
+ }), n = (s) => {
56
+ e.disabled || l("click", s);
57
57
  };
58
58
  return () => t("button", {
59
59
  type: e.type,
60
- class: l.value,
60
+ class: a.value,
61
61
  disabled: e.disabled,
62
- onClick: s
63
- }, n.default?.());
62
+ onClick: n
63
+ }, r.default?.());
64
64
  }
65
- }), Ae = _e, Re = B({
65
+ }), Ce = fe, xe = D({
66
66
  name: "KrdsButtonGroup",
67
67
  props: {},
68
- setup(e, { slots: a }) {
69
- return () => t("div", { class: "btn-group" }, a.default?.());
68
+ setup(e, { slots: l }) {
69
+ return () => t("div", { class: "btn-group" }, l.default?.());
70
70
  }
71
- }), Pe = B({
71
+ }), $e = D({
72
72
  name: "KrdsIcon",
73
73
  props: {
74
74
  name: {
@@ -87,7 +87,7 @@ var be = Object.defineProperty, we = (e, a) => {
87
87
  e.class
88
88
  ].filter(Boolean).join(" ") });
89
89
  }
90
- }), He = B({
90
+ }), Be = D({
91
91
  name: "KrdsLink",
92
92
  props: {
93
93
  href: {
@@ -124,25 +124,25 @@ var be = Object.defineProperty, we = (e, a) => {
124
124
  }
125
125
  },
126
126
  emits: ["click"],
127
- setup(e, { emit: a, slots: n }) {
128
- const l = k(() => {
129
- const o = ["krds-btn"];
130
- return e.size && o.push(e.size), e.link && o.push("link"), e.basic && o.push("basic"), e.pure && o.push("pure"), e.class && o.push(e.class), o;
131
- }), s = k(() => {
132
- const o = {
127
+ setup(e, { emit: 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 = {
133
133
  href: e.href,
134
- class: l.value
134
+ class: a.value
135
135
  };
136
- return e.target && (o.target = e.target), e.title && (o.title = e.title), e.target === "_blank" && (o.rel = "noopener noreferrer"), o;
137
- }), r = (o) => {
138
- a("click", o);
136
+ return e.target && (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);
139
139
  };
140
140
  return () => t("a", {
141
- ...s.value,
142
- onClick: r
143
- }, n.default?.());
141
+ ...n.value,
142
+ onClick: s
143
+ }, r.default?.());
144
144
  }
145
- }), Ce = B({
145
+ }), ve = D({
146
146
  name: "KrdsSpinner",
147
147
  props: { label: {
148
148
  type: String,
@@ -155,7 +155,7 @@ var be = Object.defineProperty, we = (e, a) => {
155
155
  role: "status"
156
156
  }, e);
157
157
  }
158
- }), qe = B({
158
+ }), Le = D({
159
159
  name: "KrdsInput",
160
160
  props: {
161
161
  modelValue: {
@@ -252,27 +252,27 @@ var be = Object.defineProperty, we = (e, a) => {
252
252
  "keydown",
253
253
  "keyup"
254
254
  ],
255
- setup(e, { emit: a, slots: n }) {
256
- const l = k(() => {
257
- const S = ["krds-input"];
258
- return e.size && S.push(e.size), e.class && S.push(e.class), S;
259
- }), s = (S) => {
260
- const V = S.target;
261
- a("update:modelValue", e.type === "number" ? Number(V.value) : V.value), a("input", S);
262
- }, r = (S) => {
263
- a("change", S);
264
- }, o = (S) => {
265
- a("focus", S);
266
- }, v = (S) => {
267
- a("blur", S);
268
- }, f = (S) => {
269
- a("keydown", S);
270
- }, b = (S) => {
271
- a("keyup", S);
272
- }, g = k(() => {
273
- const S = {
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 = {
274
274
  type: e.type,
275
- class: l.value,
275
+ class: a.value,
276
276
  value: e.modelValue,
277
277
  placeholder: e.placeholder,
278
278
  name: e.name,
@@ -282,24 +282,24 @@ var be = Object.defineProperty, we = (e, a) => {
282
282
  disabled: e.disabled,
283
283
  autocomplete: e.autocomplete,
284
284
  autofocus: e.autofocus,
285
- onInput: s,
286
- onChange: r,
287
- onFocus: o,
288
- onBlur: v,
285
+ onInput: n,
286
+ onChange: s,
287
+ onFocus: d,
288
+ onBlur: h,
289
289
  onKeydown: f,
290
- onKeyup: b
290
+ onKeyup: S
291
291
  };
292
- return e.maxlength !== void 0 && (S.maxlength = e.maxlength), e.minlength !== void 0 && (S.minlength = e.minlength), e.type === "number" && (e.max !== void 0 && (S.max = e.max), e.min !== void 0 && (S.min = e.min), e.step !== void 0 && (S.step = e.step)), S;
293
- }), _ = k(() => {
294
- const S = ["form-conts"];
295
- return e.state !== "default" && S.push(`is-${e.state}`), e.icon && S.push("btn-ico-wrap"), S;
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;
296
296
  });
297
297
  return () => {
298
- const S = [t("input", g.value)];
299
- return e.loading ? t("div", { class: _.value }, [t("div", { class: "form-spinner" }, [...S, t(Ce)])]) : (n.default && S.push(...n.default()), t("div", { class: _.value }, S));
298
+ const 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));
300
300
  };
301
301
  }
302
- }), Oe = qe, Ne = B({
302
+ }), De = Le, _e = D({
303
303
  name: "KrdsFormLabel",
304
304
  props: {
305
305
  for: {
@@ -320,19 +320,19 @@ var be = Object.defineProperty, we = (e, a) => {
320
320
  }
321
321
  },
322
322
  emits: ["click"],
323
- setup(e, { emit: a, slots: n }) {
324
- const l = (s) => {
325
- a("click", s);
323
+ setup(e, { emit: l, slots: r }) {
324
+ const a = (n) => {
325
+ l("click", n);
326
326
  };
327
327
  return () => t("div", { class: "form-tit" }, [t("label", {
328
328
  for: e.for,
329
329
  id: e.id,
330
330
  class: e.class,
331
331
  style: e.style,
332
- onClick: l
333
- }, n.default?.())]);
332
+ onClick: a
333
+ }, r.default?.())]);
334
334
  }
335
- }), je = Ne, We = B({
335
+ }), Te = _e, Ve = D({
336
336
  name: "KrdsFormHint",
337
337
  props: {
338
338
  type: {
@@ -353,35 +353,34 @@ var be = Object.defineProperty, we = (e, a) => {
353
353
  }
354
354
  },
355
355
  emits: ["click"],
356
- setup(e, { emit: a, slots: n }) {
357
- const l = (r) => {
358
- a("click", r);
359
- }, s = () => {
360
- let r;
356
+ setup(e, { emit: l, slots: r }) {
357
+ const a = (s) => {
358
+ l("click", s);
359
+ }, n = () => {
360
+ let s;
361
361
  switch (e.type) {
362
362
  case "error":
363
- r = "form-hint-invalid";
363
+ s = "form-hint-invalid";
364
364
  break;
365
365
  case "success":
366
- r = "form-hint-success";
366
+ s = "form-hint-success";
367
367
  break;
368
368
  case "information":
369
- r = "form-hint-information";
369
+ s = "form-hint-information";
370
370
  break;
371
371
  default:
372
- r = "form-hint";
373
- break;
372
+ s = "form-hint";
374
373
  }
375
- return e.class ? `${r} ${e.class}` : r;
374
+ return e.class ? `${s} ${e.class}` : s;
376
375
  };
377
376
  return () => t("p", {
378
377
  id: e.id,
379
- class: s(),
378
+ class: n(),
380
379
  style: e.style,
381
- onClick: l
382
- }, n.default?.());
380
+ onClick: a
381
+ }, r.default?.());
383
382
  }
384
- }), Ge = We, Ye = B({
383
+ }), Ee = Ve, ze = D({
385
384
  name: "KrdsFormGroup",
386
385
  props: {
387
386
  class: {
@@ -397,107 +396,120 @@ var be = Object.defineProperty, we = (e, a) => {
397
396
  default: void 0
398
397
  }
399
398
  },
400
- setup(e, { slots: a }) {
401
- const n = k(() => {
402
- const l = ["form-group"];
403
- return e.class && l.push(e.class), l;
399
+ setup(e, { slots: l }) {
400
+ const r = g(() => {
401
+ const a = ["form-group"];
402
+ return e.class && a.push(e.class), a;
404
403
  });
405
404
  return () => t("div", {
406
405
  id: e.id,
407
- class: n.value,
406
+ class: r.value,
408
407
  style: e.style
409
- }, a.default?.());
408
+ }, l.default?.());
410
409
  }
411
- }), Ue = Ye;
412
- function Xe(e, a) {
413
- const n = /* @__PURE__ */ new Date(), l = L(e || n.getFullYear()), s = L(a || n.getMonth() + 1), r = L(null), o = L(null), v = L(null), f = k(() => {
414
- const c = n.getFullYear(), u = [];
415
- for (let h = c - 10; h <= c + 10; h++) u.push(h);
416
- return u;
417
- }), b = k(() => Array.from({ length: 12 }, (c, u) => u + 1)), g = () => {
418
- r.value = null, o.value = null;
419
- }, _ = () => {
420
- s.value === 1 ? (s.value = 12, l.value -= 1) : s.value -= 1;
421
- }, S = () => {
422
- s.value === 12 ? (s.value = 1, l.value += 1) : s.value += 1;
423
- }, V = (c, u = !1) => {
424
- if (u)
425
- r.value = c, o.value = c;
426
- else if (!r.value || r.value && o.value)
427
- r.value = c, o.value = null;
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;
428
427
  else {
429
- const h = new Date(r.value.replace(/\./g, "-"));
430
- new Date(c.replace(/\./g, "-")) < h ? (r.value = c, o.value = null) : o.value = c;
428
+ const m = new Date(s.value.replace(/\./g, "-"));
429
+ new Date(i.replace(/\./g, "-")) < m ? (s.value = i, d.value = null) : d.value = i;
431
430
  }
432
431
  };
433
432
  return {
434
- currentYear: l,
435
- currentMonth: s,
436
- selectedStartDate: r,
437
- selectedEndDate: o,
438
- activeDateSelector: v,
433
+ currentYear: a,
434
+ currentMonth: n,
435
+ selectedStartDate: s,
436
+ selectedEndDate: d,
437
+ activeDateSelector: h,
439
438
  yearOptions: f,
440
- monthOptions: b,
441
- clearDateSelection: g,
442
- prevMonth: _,
443
- nextMonth: S,
444
- handleDateSelection: V,
439
+ monthOptions: S,
440
+ clearDateSelection: p,
441
+ prevMonth: C,
442
+ nextMonth: y,
443
+ handleDateSelection: k,
445
444
  selectToday: () => {
446
- V(`${n.getFullYear()}.${String(n.getMonth() + 1).padStart(2, "0")}.${String(n.getDate()).padStart(2, "0")}`, !0);
445
+ const i = `${r.getFullYear()}.${String(r.getMonth() + 1).padStart(2, "0")}.${String(r.getDate()).padStart(2, "0")}`;
446
+ k(i, !0);
447
447
  },
448
- isDateInSelectedRange: (c) => {
449
- if (!r.value || !o.value) return {
448
+ isDateInSelectedRange: (i) => {
449
+ if (!s.value || !d.value) return {
450
450
  isInRange: !1,
451
451
  isStart: !1,
452
452
  isEnd: !1
453
453
  };
454
- const u = new Date(c.replace(/\./g, "-")), h = new Date(r.value.replace(/\./g, "-")), m = new Date(o.value.replace(/\./g, "-")), w = c === r.value, C = c === o.value;
454
+ const 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;
455
455
  return {
456
- isInRange: u >= h && u <= m,
457
- isStart: w,
458
- isEnd: C
456
+ isInRange: v >= m && v <= K,
457
+ isStart: b,
458
+ isEnd: w
459
459
  };
460
460
  }
461
461
  };
462
462
  }
463
- function Je(e, a, n = {}) {
464
- let l = null;
465
- const { ignore: s, event: r = "click" } = typeof n == "string" ? { ignore: n } : n, o = () => {
466
- l = (f) => {
467
- const b = f.target;
468
- e.value?.contains(b) || s && b.closest(s) || a();
469
- }, document.addEventListener(r, l);
470
- }, v = () => {
471
- if (l) {
472
- const f = typeof n == "string" ? "click" : n.event || "click";
473
- document.removeEventListener(f, l), l = null;
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);
470
+ }, h = () => {
471
+ if (a) {
472
+ const f = typeof r == "string" ? "click" : r.event || "click";
473
+ document.removeEventListener(f, a), a = null;
474
474
  }
475
475
  };
476
- return te(() => {
477
- o();
478
- }), fe(() => {
479
- v();
476
+ return N(() => {
477
+ d();
478
+ }), Q(() => {
479
+ h();
480
480
  }), {
481
- setupGlobalListeners: o,
482
- removeGlobalListeners: v
481
+ setupGlobalListeners: d,
482
+ removeGlobalListeners: h
483
483
  };
484
484
  }
485
- var Qe = { class: "form-conts" }, Ze = { class: "calendar-input" }, et = [
486
- "id",
487
- "name",
488
- "placeholder",
489
- "value",
490
- "readonly",
491
- "disabled",
492
- "required",
493
- "autofocus"
494
- ], tt = ["disabled", "aria-expanded"], at = { class: "calendar-head" }, lt = { class: "calendar-switch-wrap" }, st = { class: "calendar-drop-down" }, nt = ["aria-expanded"], rt = { class: "calendar-select calendar-year-wrap" }, it = { class: "sel year" }, ot = ["onClick"], dt = { class: "calendar-drop-down" }, ut = ["aria-expanded"], ct = { class: "calendar-select calendar-mon-wrap" }, ft = { class: "sel month" }, vt = ["onClick"], pt = { class: "calendar-body" }, ht = { class: "calendar-table-wrap" }, mt = { class: "calendar-tbl" }, yt = ["data-date"], gt = ["aria-pressed", "onClick"], bt = { class: "calendar-footer" }, kt = { class: "calendar-btn-wrap" }, St = /* @__PURE__ */ B({
495
- __name: "KrdsDateInput",
485
+ var Me = [
486
+ "일",
487
+ "월",
488
+ "화",
489
+ "수",
490
+ "목",
491
+ "금",
492
+ "토"
493
+ ], Pe = D({
494
+ name: "KrdsDateInput",
496
495
  props: {
497
- modelValue: { default: void 0 },
498
- size: { default: "medium" },
499
- placeholder: { default: "YYYY.MM.DD" },
500
- disabled: {
496
+ modelValue: {
497
+ type: String,
498
+ default: void 0
499
+ },
500
+ size: {
501
+ type: String,
502
+ default: "medium"
503
+ },
504
+ placeholder: {
505
+ type: String,
506
+ default: "YYYY.MM.DD"
507
+ },
508
+ name: {
509
+ type: String,
510
+ default: void 0
511
+ },
512
+ required: {
501
513
  type: Boolean,
502
514
  default: !1
503
515
  },
@@ -505,22 +517,42 @@ var Qe = { class: "form-conts" }, Ze = { class: "calendar-input" }, et = [
505
517
  type: Boolean,
506
518
  default: !1
507
519
  },
508
- autofocus: {
520
+ disabled: {
509
521
  type: Boolean,
510
522
  default: !1
511
523
  },
512
- eventDates: { default: () => [] },
513
- holidays: { default: () => [] },
514
- initialYear: { default: void 0 },
515
- initialMonth: { default: void 0 },
516
- name: { default: void 0 },
517
- required: {
524
+ autofocus: {
518
525
  type: Boolean,
519
526
  default: !1
520
527
  },
521
- class: { default: void 0 },
522
- style: {},
523
- id: { default: void 0 }
528
+ eventDates: {
529
+ type: Array,
530
+ default: () => []
531
+ },
532
+ holidays: {
533
+ type: Array,
534
+ default: () => []
535
+ },
536
+ initialYear: {
537
+ type: Number,
538
+ default: void 0
539
+ },
540
+ initialMonth: {
541
+ type: Number,
542
+ default: void 0
543
+ },
544
+ class: {
545
+ type: String,
546
+ default: void 0
547
+ },
548
+ style: {
549
+ type: [String, Object],
550
+ default: void 0
551
+ },
552
+ id: {
553
+ type: String,
554
+ default: void 0
555
+ }
524
556
  },
525
557
  emits: [
526
558
  "update:modelValue",
@@ -529,58 +561,58 @@ var Qe = { class: "form-conts" }, Ze = { class: "calendar-input" }, et = [
529
561
  "focus",
530
562
  "blur"
531
563
  ],
532
- setup(e, { emit: a }) {
533
- const n = e, l = a, s = L(), r = L(), o = L(!1), v = L(null), { currentYear: f, currentMonth: b, selectedStartDate: g, selectedEndDate: _, yearOptions: S, monthOptions: V, prevMonth: d, nextMonth: i, handleDateSelection: c, selectToday: u, isDateInSelectedRange: h } = Xe(n.initialYear, n.initialMonth), m = () => {
534
- o.value && r.value?.focus(), o.value = !1, v.value = null;
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;
535
567
  };
536
- Je(s, m, ".calendar-conts");
537
- const w = k(() => {
538
- const I = [
568
+ Fe(r, v, ".calendar-conts");
569
+ const m = g(() => {
570
+ const $ = [
539
571
  "krds-input",
540
572
  "datepicker",
541
573
  "cal"
542
574
  ];
543
- return n.size && I.push(n.size), n.class && I.push(n.class), I;
544
- }), C = k(() => ["form-conts", "calendar-conts"]), x = k(() => ({
575
+ return e.size && $.push(e.size), e.class && $.push(e.class), $;
576
+ }), K = g(() => ["form-conts", "calendar-conts"]), b = g(() => ({
545
577
  "krds-calendar-area": !0,
546
- active: o.value
547
- })), $ = k(() => {
548
- const I = f.value, z = b.value, E = new Date(I, z - 1, 1), Q = new Date(E);
549
- Q.setDate(Q.getDate() - E.getDay());
550
- const U = [], H = new Date(Q);
551
- for (let ie = 0; ie < 6; ie++) {
552
- const he = [];
553
- for (let me = 0; me < 7; me++) {
554
- const Ve = `${H.getFullYear()}.${String(H.getMonth() + 1).padStart(2, "0")}.${String(H.getDate()).padStart(2, "0")}`, ye = H.getDay();
555
- he.push({
556
- day: H.getDate(),
557
- dateString: Ve,
558
- isCurrentMonth: H.getMonth() === z - 1,
559
- isToday: H.toDateString() === (/* @__PURE__ */ new Date()).toDateString(),
560
- isPrevMonth: H.getMonth() < z - 1 || H.getMonth() === 11 && z === 1,
561
- isNextMonth: H.getMonth() > z - 1 || H.getMonth() === 0 && z === 12,
562
- isSunday: ye === 0,
563
- isSaturday: ye === 6
564
- }), H.setDate(H.getDate() + 1);
578
+ active: n.value
579
+ })), 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({
588
+ day: z.getDate(),
589
+ dateString: be,
590
+ isCurrentMonth: z.getMonth() === T - 1,
591
+ 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
596
+ }), z.setDate(z.getDate() + 1);
565
597
  }
566
- U.push(he);
598
+ H.push(ae);
567
599
  }
568
- return U;
569
- }), y = (I) => {
570
- const z = [];
571
- if (I.isPrevMonth && z.push("old"), I.isNextMonth && z.push("new"), I.isToday && z.push("today"), I.isSunday && z.push("day-off"), n.holidays?.includes(I.dateString) && z.push("day-off"), n.eventDates?.includes(I.dateString) && z.push("day-event"), I.isCurrentMonth) {
572
- const E = h(I.dateString);
573
- E.isInRange && (z.push("period"), E.isStart && z.push("start"), E.isEnd && z.push("end"));
600
+ return 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"));
574
606
  }
575
- return z;
576
- }, K = k(() => [
607
+ return T;
608
+ }, L = g(() => [
577
609
  {
578
610
  id: "get-today",
579
611
  label: "오늘",
580
612
  class: "text",
581
613
  variant: void 0,
582
614
  size: "small",
583
- handler: u
615
+ handler: o
584
616
  },
585
617
  {
586
618
  id: "cancel-btn",
@@ -588,7 +620,7 @@ var Qe = { class: "form-conts" }, Ze = { class: "calendar-input" }, et = [
588
620
  class: void 0,
589
621
  variant: "tertiary",
590
622
  size: "small",
591
- handler: m
623
+ handler: v
592
624
  },
593
625
  {
594
626
  id: "confirm-btn",
@@ -596,38 +628,64 @@ var Qe = { class: "form-conts" }, Ze = { class: "calendar-input" }, et = [
596
628
  class: void 0,
597
629
  variant: "primary",
598
630
  size: "small",
599
- handler: j
631
+ handler: I
600
632
  }
601
- ]), F = (I) => {
602
- v.value === I ? v.value = null : v.value = I;
603
- }, P = (I) => {
604
- f.value = I, v.value = null;
605
- }, A = (I) => {
606
- b.value = I, v.value = null;
607
- }, j = () => {
608
- g.value && (_.value && g.value !== _.value ? l("update:modelValue", `${g.value} ~ ${_.value}`) : l("update:modelValue", g.value), m());
609
- }, O = () => {
610
- o.value = !0, v.value = null, setTimeout(() => {
611
- s.value?.querySelector(".calendar-wrap")?.focus();
633
+ ]), 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 = () => {
642
+ n.value = !0, s.value = null, setTimeout(() => {
643
+ r.value?.querySelector(".calendar-wrap")?.focus();
612
644
  }, 50);
613
- }, G = () => {
614
- o.value ? m() : O();
615
- }, le = (I) => {
616
- I.code === "Escape" && (v.value ? v.value = null : o.value && m());
617
- }, Be = (I) => {
618
- const z = I.target;
619
- l("update:modelValue", z.value), l("input", I);
620
- }, Le = (I) => {
621
- l("change", I);
622
- }, De = (I) => {
623
- l("focus", I);
624
- }, Te = (I) => {
625
- l("blur", I);
626
- };
627
- return (I, z) => (D(), T("div", Qe, [p("div", { class: R(C.value) }, [p("div", Ze, [p("input", {
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")}월`;
660
+ return t("div", { class: "calendar-drop-down" }, [t("button", {
661
+ 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", {
667
+ 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
678
+ }, [t("button", {
679
+ type: "button",
680
+ 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))])])))))
684
+ ]);
685
+ return () => t("div", { class: "form-conts" }, [t("div", { class: K.value }, [t("div", { class: "calendar-input" }, [t("input", {
628
686
  id: e.id,
629
687
  name: e.name,
630
- class: R(w.value),
688
+ class: m.value,
631
689
  placeholder: e.placeholder,
632
690
  value: e.modelValue,
633
691
  readonly: e.readonly,
@@ -635,103 +693,51 @@ var Qe = { class: "form-conts" }, Ze = { class: "calendar-input" }, et = [
635
693
  required: e.required,
636
694
  autofocus: e.autofocus,
637
695
  type: "text",
638
- onInput: Be,
639
- onChange: Le,
640
- onFocus: De,
641
- onBlur: Te
642
- }, null, 42, et), p("button", {
643
- ref_key: "datePickerButtonRef",
644
- ref: r,
645
- class: R(`krds-btn ${e.size || "medium"} icon form-btn-datepicker`),
696
+ onInput: P,
697
+ onChange: j,
698
+ onFocus: me,
699
+ onBlur: ge
700
+ }), t("button", {
701
+ ref: a,
702
+ class: `krds-btn ${e.size || "medium"} icon form-btn-datepicker`,
646
703
  disabled: e.disabled,
647
- "aria-expanded": o.value,
704
+ "aria-expanded": n.value,
648
705
  type: "button",
649
- onClick: G
650
- }, [...z[4] || (z[4] = [p("span", { class: "sr-only" }, "달력 열기", -1), p("i", { class: "svg-icon ico-calendar" }, null, -1)])], 10, tt)]), p("div", {
651
- ref_key: "datePickerAreaRef",
652
- ref: s,
653
- class: R(x.value)
654
- }, [ee(p("div", {
706
+ onClick: M
707
+ }, [t("span", { class: "sr-only" }, "달력 열기"), t("i", { class: "svg-icon ico-calendar" })])]), t("div", {
708
+ ref: r,
709
+ class: b.value
710
+ }, [W(t("div", {
655
711
  class: "calendar-wrap bottom",
656
712
  "aria-label": "달력",
657
713
  tabindex: "0",
658
- onKeydown: le
714
+ onKeydown: A
659
715
  }, [
660
- p("div", at, [
661
- p("button", {
716
+ t("div", { class: "calendar-head" }, [
717
+ t("button", {
662
718
  type: "button",
663
719
  class: "btn-cal-move prev",
664
- onClick: z[0] || (z[0] = (...E) => q(d) && q(d)(...E))
665
- }, [...z[5] || (z[5] = [p("span", { class: "sr-only" }, "이전 달", -1)])]),
666
- p("div", lt, [p("div", st, [p("button", {
667
- type: "button",
668
- class: "btn-cal-switch year",
669
- "aria-label": "연도 선택",
670
- "aria-expanded": v.value === "year",
671
- onClick: z[1] || (z[1] = (E) => F("year"))
672
- }, M(q(f)) + "년 ", 9, nt), ee(p("div", rt, [p("ul", it, [(D(!0), T(W, null, Y(q(S), (E) => (D(), T("li", { key: E }, [p("button", {
673
- type: "button",
674
- class: R({ active: E === q(f) }),
675
- onClick: (Q) => P(E)
676
- }, M(E) + "년", 11, ot)]))), 128))])], 512), [[se, v.value === "year"]])]), p("div", dt, [p("button", {
677
- type: "button",
678
- class: "btn-cal-switch month",
679
- "aria-label": "월 선택",
680
- "aria-expanded": v.value === "month",
681
- onClick: z[2] || (z[2] = (E) => F("month"))
682
- }, M(q(b).toString().padStart(2, "0")) + "월 ", 9, ut), ee(p("div", ct, [p("ul", ft, [(D(!0), T(W, null, Y(q(V), (E) => (D(), T("li", { key: E }, [p("button", {
683
- type: "button",
684
- class: R({ active: E === q(b) }),
685
- onClick: (Q) => A(E)
686
- }, M(E.toString().padStart(2, "0")) + "월 ", 11, vt)]))), 128))])], 512), [[se, v.value === "month"]])])]),
687
- p("button", {
720
+ onClick: y
721
+ }, [t("span", { class: "sr-only" }, "이전 달")]),
722
+ t("div", { class: "calendar-switch-wrap" }, [ee("year"), ee("month")]),
723
+ t("button", {
688
724
  type: "button",
689
725
  class: "btn-cal-move next",
690
- onClick: z[3] || (z[3] = (...E) => q(i) && q(i)(...E))
691
- }, [...z[6] || (z[6] = [p("span", { class: "sr-only" }, "다음 달", -1)])])
726
+ onClick: k
727
+ }, [t("span", { class: "sr-only" }, "다음 달")])
692
728
  ]),
693
- p("div", pt, [p("div", ht, [p("table", mt, [
694
- p("caption", null, M(q(f)) + "년 " + M(q(b).toString().padStart(2, "0")) + "월", 1),
695
- z[7] || (z[7] = p("thead", null, [p("tr", null, [
696
- p("th", null, "일"),
697
- p("th", null, "월"),
698
- p("th", null, "화"),
699
- p("th", null, "수"),
700
- p("th", null, "목"),
701
- p("th", null, "금"),
702
- p("th", null, "토")
703
- ])], -1)),
704
- p("tbody", null, [(D(!0), T(W, null, Y($.value, (E, Q) => (D(), T("tr", { key: Q }, [(D(!0), T(W, null, Y(E, (U, H) => (D(), T("td", {
705
- key: H,
706
- class: R(y(U)),
707
- "data-date": U.dateString
708
- }, [p("button", {
709
- type: "button",
710
- class: "btn-set-date",
711
- "aria-pressed": q(h)(U.dateString).isInRange ? "true" : "false",
712
- onClick: (ie) => q(c)(U.dateString)
713
- }, [p("span", null, M(U.day), 1)], 8, gt)], 10, yt))), 128))]))), 128))])
714
- ])])]),
715
- p("div", bt, [p("div", kt, [(D(!0), T(W, null, Y(K.value, (E) => (D(), de(q(_e), {
716
- id: E.id,
717
- key: E.id,
718
- class: R(E.class),
719
- variant: E.variant,
720
- size: E.size,
721
- onClick: E.handler
722
- }, {
723
- default: ue(() => [N(M(E.label), 1)]),
724
- _: 2
725
- }, 1032, [
726
- "id",
727
- "class",
728
- "variant",
729
- "size",
730
- "onClick"
731
- ]))), 128))])])
732
- ], 544), [[se, o.value]])], 2)], 2)]));
729
+ t("div", { class: "calendar-body" }, [t("div", { class: "calendar-table-wrap" }, [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]])])])]);
733
739
  }
734
- }), Kt = St, wt = Kt, _t = B({
740
+ }), Re = Pe, qe = D({
735
741
  name: "KrdsTextarea",
736
742
  props: {
737
743
  modelValue: {
@@ -812,34 +818,34 @@ var Qe = { class: "form-conts" }, Ze = { class: "calendar-input" }, et = [
812
818
  "keydown",
813
819
  "keyup"
814
820
  ],
815
- setup(e, { emit: a }) {
816
- const n = L(0);
817
- re(() => e.modelValue, (i) => {
818
- n.value = (i || "").length;
821
+ setup(e, { emit: l }) {
822
+ const r = _(0);
823
+ G(() => e.modelValue, (o) => {
824
+ r.value = (o || "").length;
819
825
  }, { immediate: !0 });
820
- const l = k(() => {
821
- const i = ["krds-input"];
822
- return e.size && i.push(e.size), e.class && i.push(e.class), i;
823
- }), s = k(() => {
824
- const i = {};
825
- return e.resize && (i.resize = e.resize), i;
826
- }), r = (i) => {
827
- const c = i.target.value;
828
- n.value = c.length, a("update:modelValue", c), a("input", i);
829
- }, o = (i) => {
830
- a("change", i);
831
- }, v = (i) => {
832
- a("focus", i);
833
- }, f = (i) => {
834
- a("blur", i);
835
- }, b = (i) => {
836
- a("keydown", i);
837
- }, g = (i) => {
838
- a("keyup", i);
839
- }, _ = k(() => {
840
- const i = {
841
- class: l.value,
842
- style: s.value,
826
+ const a = g(() => {
827
+ const o = ["krds-input"];
828
+ return e.size && o.push(e.size), e.class && o.push(e.class), o;
829
+ }), n = g(() => {
830
+ const o = {};
831
+ return e.resize && (o.resize = e.resize), o;
832
+ }), s = (o) => {
833
+ const i = o.target.value;
834
+ r.value = i.length, l("update:modelValue", i), l("input", o);
835
+ }, d = (o) => {
836
+ l("change", o);
837
+ }, 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(() => {
846
+ const o = {
847
+ class: a.value,
848
+ style: n.value,
843
849
  value: e.modelValue,
844
850
  placeholder: e.placeholder,
845
851
  name: e.name,
@@ -850,24 +856,24 @@ var Qe = { class: "form-conts" }, Ze = { class: "calendar-input" }, et = [
850
856
  autofocus: e.autofocus,
851
857
  rows: e.rows,
852
858
  cols: e.cols,
853
- onInput: r,
854
- onChange: o,
855
- onFocus: v,
859
+ onInput: s,
860
+ onChange: d,
861
+ onFocus: h,
856
862
  onBlur: f,
857
- onKeydown: b,
858
- onKeyup: g
863
+ onKeydown: S,
864
+ onKeyup: p
859
865
  };
860
- return e.maxlength !== void 0 && (i.maxlength = e.maxlength), e.minlength !== void 0 && (i.minlength = e.minlength), i;
861
- }), S = k(() => ["form-conts"]), V = k(() => ["textarea-wrap"]), d = k(() => e.showCount ? {
862
- current: n.value,
866
+ return e.maxlength !== void 0 && (o.maxlength = e.maxlength), e.minlength !== void 0 && (o.minlength = e.minlength), o;
867
+ }), y = g(() => ["form-conts"]), k = g(() => ["textarea-wrap"]), u = g(() => e.showCount ? {
868
+ current: r.value,
863
869
  max: e.maxlength || ""
864
870
  } : null);
865
871
  return () => {
866
- const i = [t("textarea", _.value)];
867
- return d.value && i.push(t("p", { class: "textarea-count" }, [t("span", { class: "count-now" }, d.value.current), t("span", { class: "count-total" }, d.value.max ? `/${d.value.max}` : "")])), t("div", { class: S.value }, [t("div", { class: V.value }, i)]);
872
+ const o = [t("textarea", 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)]);
868
874
  };
869
875
  }
870
- }), Ct = _t, $t = B({
876
+ }), He = qe, Ne = D({
871
877
  name: "KrdsSelect",
872
878
  props: {
873
879
  modelValue: {
@@ -924,50 +930,50 @@ var Qe = { class: "form-conts" }, Ze = { class: "calendar-input" }, et = [
924
930
  "focus",
925
931
  "blur"
926
932
  ],
927
- setup(e, { emit: a, slots: n }) {
928
- const l = k(() => {
929
- const g = [];
930
- return e.sort ? g.push("krds-form-select-sort") : g.push("krds-form-select"), e.size && g.push(e.size), e.class && g.push(e.class), g;
931
- }), s = (g) => {
932
- const _ = g.target;
933
- a("update:modelValue", _.value === "" ? null : _.value);
934
- }, r = (g) => {
935
- a("focus", g);
936
- }, o = (g) => {
937
- a("blur", g);
938
- }, v = k(() => ({
939
- class: l.value,
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,
940
946
  value: e.modelValue ?? "",
941
947
  title: e.title || e.placeholder,
942
948
  name: e.name,
943
949
  id: e.id,
944
950
  disabled: e.disabled || e.readonly,
945
- onChange: s,
946
- onFocus: r,
947
- onBlur: o
948
- })), f = k(() => {
949
- const g = ["form-conts"];
950
- return e.state !== "default" && g.push(`is-${e.state}`), g;
951
- }), b = () => {
952
- const g = [];
953
- return e.placeholder && !e.modelValue && g.push(t("option", {
951
+ onChange: n,
952
+ onFocus: s,
953
+ onBlur: 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", {
954
960
  value: "",
955
961
  disabled: !0,
956
962
  selected: !0
957
- }, e.placeholder)), e.options && e.options.length > 0 && e.options.forEach((_) => {
958
- g.push(t("option", {
959
- value: _.value,
960
- disabled: _.disabled,
961
- selected: _.value === e.modelValue
962
- }, _.label));
963
- }), n.default && g.push(...n.default()), g;
963
+ }, e.placeholder)), e.options && e.options.length > 0 && e.options.forEach((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;
964
970
  };
965
971
  return () => {
966
- const g = t("select", v.value, b());
967
- return e.sort ? g : t("div", { class: f.value }, [g]);
972
+ const p = t("select", h.value, S());
973
+ return e.sort ? p : t("div", { class: f.value }, [p]);
968
974
  };
969
975
  }
970
- }), xt = $t, Bt = 0, Lt = B({
976
+ }), Oe = Ne, je = 0, We = D({
971
977
  name: "KrdsFileUpload",
972
978
  props: {
973
979
  modelValue: {
@@ -988,7 +994,7 @@ var Qe = { class: "form-conts" }, Ze = { class: "calendar-input" }, et = [
988
994
  },
989
995
  maxFileSize: {
990
996
  type: Number,
991
- default: 20 * 1024 * 1024
997
+ default: 20971520
992
998
  },
993
999
  multiple: {
994
1000
  type: Boolean,
@@ -1068,128 +1074,128 @@ var Qe = { class: "form-conts" }, Ze = { class: "calendar-input" }, et = [
1068
1074
  "download",
1069
1075
  "preview"
1070
1076
  ],
1071
- setup(e, { emit: a }) {
1072
- const n = L(!1), l = L(null), s = e.id ? `${e.id}-input` : `krds-file-upload-${++Bt}`, r = (y) => y < 1024 ? `${y}B` : y < 1024 * 1024 ? `${Math.round(y / 1024)}KB` : `${(y / (1024 * 1024)).toFixed(1)}MB`, o = (y) => {
1073
- const K = y.split(".");
1074
- return K.length > 1 ? K.pop().toLowerCase() : "";
1075
- }, v = (y) => {
1076
- const K = o(y.name), F = K ? y.name.slice(0, -(K.length + 1)) : y.name;
1077
- return K ? `${F} [${K}, ${r(y.size)}]` : `${y.name} [${r(y.size)}]`;
1078
- }, f = () => `${Date.now()}-${Math.random().toString(36).substr(2, 9)}`, b = (y) => {
1079
- if (e.maxFileSize && y.size > e.maxFileSize) return `등록 가능한 파일 용량을 초과하였습니다.
1080
- ${r(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
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 `등록 가능한 파일 용량을 초과하였습니다.
1086
+ ${s(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
1081
1087
  if (e.accept) {
1082
- const K = e.accept.split(",").map((A) => A.trim().toLowerCase()), F = `.${o(y.name)}`, P = y.type;
1083
- if (!K.some((A) => A.startsWith(".") ? F === A : A.endsWith("/*") ? P.startsWith(A.replace("/*", "/")) : P === A)) return "허용되지 않는 파일 형식입니다.";
1088
+ const 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 "허용되지 않는 파일 형식입니다.";
1084
1090
  }
1085
1091
  return null;
1086
- }, g = (y) => {
1092
+ }, p = (c) => {
1087
1093
  if (e.disabled || e.readonly) return;
1088
- let K = [...e.modelValue || []];
1089
- !e.multiple && K.length > 0 && (K = []);
1090
- const F = [];
1091
- for (let P = 0; P < y.length && !(K.length + F.length >= e.maxFiles); P++) {
1092
- const A = y[P], j = b(A), O = {
1094
+ let 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 = {
1093
1099
  id: f(),
1094
- file: A,
1095
- name: A.name,
1096
- size: A.size,
1097
- type: A.type,
1098
- status: j ? "error" : "pending",
1099
- errorMessage: j || void 0
1100
+ file: E,
1101
+ name: E.name,
1102
+ size: E.size,
1103
+ type: E.type,
1104
+ status: M ? "error" : "pending",
1105
+ errorMessage: M || void 0
1100
1106
  };
1101
- F.push(O), j ? a("file-error", O, j) : a("file-added", O);
1107
+ V.push(A), M ? l("file-error", A, M) : l("file-added", A);
1102
1108
  }
1103
- F.length > 0 && a("update:modelValue", [...K, ...F]);
1104
- }, _ = (y) => {
1105
- const K = y.target;
1106
- K.files?.length && (g(K.files), K.value = "");
1107
- }, S = (y) => {
1108
- e.disabled || e.readonly || !e.dragAndDrop || (y.preventDefault(), n.value = !0);
1109
- }, V = () => {
1110
- n.value = !1;
1111
- }, d = (y) => {
1112
- y.preventDefault(), n.value = !1, !(e.disabled || e.readonly || !e.dragAndDrop) && y.dataTransfer?.files && g(y.dataTransfer.files);
1113
- }, i = () => {
1114
- e.disabled || e.readonly || l.value?.click();
1115
- }, c = (y) => {
1116
- e.disabled || e.readonly || (a("update:modelValue", (e.modelValue || []).filter((K) => K.id !== y)), a("file-removed", y));
1117
- }, u = () => {
1118
- e.disabled || e.readonly || (a("update:modelValue", []), a("clear-all"));
1119
- }, h = k(() => {
1120
- const y = ["krds-file-upload", "line"];
1121
- return e.class && y.push(e.class), y;
1122
- }), m = () => t("div", { class: "file-head" }, [t("h3", { class: "tit" }, e.title), t("div", null, [t("p", null, e.description)])]), w = () => t("div", {
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 = () => {
1116
+ 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);
1119
+ }, 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", {
1123
1129
  class: "file-upload",
1124
- onDragover: S,
1125
- onDragleave: V,
1126
- onDrop: d
1130
+ onDragover: y,
1131
+ onDragleave: k,
1132
+ onDrop: u
1127
1133
  }, [t("p", { class: "txt" }, e.placeholder), t("div", { class: "file-upload-btn-wrap" }, [t("input", {
1128
- ref: l,
1134
+ ref: a,
1129
1135
  type: "file",
1130
1136
  name: e.name || "myFile",
1131
- id: s,
1137
+ id: n,
1132
1138
  hidden: !0,
1133
1139
  accept: e.accept || void 0,
1134
1140
  multiple: e.multiple,
1135
- onChange: _
1136
- }), t("label", { for: s }, [t("button", {
1141
+ onChange: C
1142
+ }), t("label", { for: n }, [t("button", {
1137
1143
  type: "button",
1138
1144
  class: ["krds-btn", e.size],
1139
1145
  disabled: e.disabled || void 0,
1140
- onClick: i
1141
- }, [t("i", { class: "svg-icon ico-upload" }), "파일선택"])])])]), C = (y) => {
1142
- const K = [];
1143
- return y.status === "uploading" ? K.push(t("span", {
1146
+ onClick: o
1147
+ }, [t("i", { class: "svg-icon ico-upload" }), "파일선택"])])])]), w = (c) => {
1148
+ const B = [];
1149
+ return c.status === "uploading" ? B.push(t("span", {
1144
1150
  class: "krds-spinner",
1145
1151
  role: "status"
1146
- }, [t("span", { class: "sr-only" }, "업로드 중")])) : y.downloadUrl ? (e.showDownload && K.push(t("button", {
1152
+ }, [t("span", { class: "sr-only" }, "업로드 중")])) : c.downloadUrl ? (e.showDownload && B.push(t("button", {
1147
1153
  type: "button",
1148
1154
  class: "krds-btn medium text",
1149
- onClick: () => a("download", y)
1150
- }, ["다운로드 ", t("i", { class: "svg-icon ico-down" })])), e.showPreviewButton && K.push(t("button", {
1155
+ onClick: () => l("download", c)
1156
+ }, ["다운로드 ", t("i", { class: "svg-icon ico-down" })])), e.showPreviewButton && B.push(t("button", {
1151
1157
  type: "button",
1152
1158
  class: "krds-btn medium text",
1153
- onClick: () => a("preview", y)
1154
- }, ["바로보기 ", t("i", { class: "svg-icon ico-angle right" })]))) : y.status === "completed" ? K.push(t("span", { class: "ico-invalid complete" }, [t("em", { class: "sr-only" }, "업로드 완료")])) : e.readonly || K.push(t("button", {
1159
+ onClick: () => 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", {
1155
1161
  type: "button",
1156
1162
  class: "krds-btn medium text",
1157
1163
  disabled: e.disabled || void 0,
1158
- onClick: () => c(y.id)
1159
- }, ["삭제 ", t("i", { class: "svg-icon ico-delete-fill" })])), K;
1160
- }, x = (y) => {
1161
- const K = [t("div", { class: y.downloadUrl ? "file-info m-column" : "file-info" }, [t("div", { class: "file-name" }, v(y)), t("div", { class: "btn-wrap" }, C(y))])];
1162
- if (y.status === "error" && y.errorMessage) {
1163
- const F = y.errorMessage.split(`
1164
- `), P = [];
1165
- F.forEach((A, j) => {
1166
- j > 0 && P.push(t("br")), P.push(A);
1167
- }), K.push(t("p", { class: "file-hint-invalid" }, P));
1164
+ onClick: () => i(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));
1168
1174
  }
1169
1175
  return t("li", {
1170
- key: y.id,
1171
- class: y.status === "error" ? "is-error" : void 0
1172
- }, K);
1173
- }, $ = (y) => {
1174
- const K = y.filter((P) => P.status !== "error").length, F = [t("div", { class: "total" }, [t("span", { class: "current" }, `${K}개`), ` / ${e.maxFiles}개`]), t("ul", { class: "upload-list" }, y.map(x))];
1175
- return e.showClearAll && !e.readonly && F.push(t("div", { class: "upload-delete-btn" }, [t("button", {
1176
+ key: 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", {
1176
1182
  type: "button",
1177
1183
  class: "krds-btn xsmall tertiary",
1178
1184
  disabled: e.disabled || void 0,
1179
- onClick: u
1180
- }, ["전체 파일 삭제", t("i", { class: "svg-icon ico-angle right" })])])), t("div", { class: "file-list" }, F);
1185
+ onClick: v
1186
+ }, ["전체 파일 삭제", t("i", { class: "svg-icon ico-angle right" })])])), t("div", { class: "file-list" }, V);
1181
1187
  };
1182
1188
  return () => {
1183
- const y = [m()];
1184
- e.readonly || y.push(w());
1185
- const K = e.modelValue || [];
1186
- return K.length > 0 && y.push($(K)), t("div", {
1187
- class: h.value,
1189
+ const c = [K()];
1190
+ e.readonly || c.push(b());
1191
+ const B = e.modelValue || [];
1192
+ return B.length > 0 && c.push(L(B)), t("div", {
1193
+ class: m.value,
1188
1194
  style: e.style || void 0
1189
- }, y);
1195
+ }, c);
1190
1196
  };
1191
1197
  }
1192
- }), Dt = Lt, Tt = B({
1198
+ }), Ge = We, Ye = D({
1193
1199
  name: "KrdsBadge",
1194
1200
  props: {
1195
1201
  type: {
@@ -1214,23 +1220,23 @@ ${r(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
1214
1220
  }
1215
1221
  },
1216
1222
  emits: ["click"],
1217
- setup(e, { emit: a, slots: n }) {
1218
- const l = k(() => {
1219
- const r = ["krds-badge"];
1220
- return r.push(`${e.type}-${e.color}`), e.size && r.push(e.size), e.number && r.push("number"), e.class && r.push(e.class), r;
1221
- }), s = (r) => {
1222
- a("click", r);
1223
+ setup(e, { emit: l, slots: r }) {
1224
+ const a = g(() => {
1225
+ const s = ["krds-badge"];
1226
+ return s.push(`${e.type}-${e.color}`), e.size && s.push(e.size), e.number && s.push("number"), e.class && s.push(e.class), s;
1227
+ }), n = (s) => {
1228
+ l("click", s);
1223
1229
  };
1224
1230
  return () => t("span", {
1225
1231
  type: e.type,
1226
1232
  color: e.color,
1227
1233
  size: e.size,
1228
1234
  number: e.number,
1229
- class: l.value,
1230
- onClick: s
1231
- }, n.default?.());
1235
+ class: a.value,
1236
+ onClick: n
1237
+ }, r.default?.());
1232
1238
  }
1233
- }), Vt = Tt, zt = B({
1239
+ }), Ue = Ye, Xe = D({
1234
1240
  name: "KrdsTag",
1235
1241
  props: {
1236
1242
  link: {
@@ -1255,30 +1261,30 @@ ${r(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
1255
1261
  }
1256
1262
  },
1257
1263
  emits: ["remove"],
1258
- setup(e, { emit: a, slots: n }) {
1259
- const l = k(() => {
1260
- const o = ["krds-btn-tag"];
1261
- return e.link && o.push("link"), e.class && o.push(e.class), o;
1262
- }), s = (o) => {
1263
- a("remove", o);
1264
- }, r = () => t("button", {
1264
+ setup(e, { emit: 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);
1270
+ }, s = () => t("button", {
1265
1271
  type: "button",
1266
1272
  class: "btn-delete",
1267
- onClick: s
1273
+ onClick: n
1268
1274
  }, [t("span", { class: "sr-only" }, "삭제")]);
1269
1275
  return () => {
1270
- const o = [], v = n.default?.();
1271
- if (v && o.push(v), e.link || o.push(r()), e.link) {
1276
+ const d = [], h = r.default?.();
1277
+ if (h && d.push(h), e.link || d.push(s()), e.link) {
1272
1278
  const f = {
1273
1279
  href: e.href,
1274
- class: l.value
1280
+ class: a.value
1275
1281
  };
1276
- return e.target && (f.target = e.target), e.rel && (f.rel = e.rel), t("a", f, o);
1282
+ return e.target && (f.target = e.target), e.rel && (f.rel = e.rel), t("a", f, d);
1277
1283
  }
1278
- return t("span", { class: l.value }, o);
1284
+ return t("span", { class: a.value }, d);
1279
1285
  };
1280
1286
  }
1281
- }), It = zt, Et = B({
1287
+ }), Je = Xe, Qe = D({
1282
1288
  name: "KrdsTagGroup",
1283
1289
  props: {
1284
1290
  size: {
@@ -1290,44 +1296,44 @@ ${r(e.maxFileSize)} 미만의 파일만 등록할 수 있습니다.`;
1290
1296
  default: void 0
1291
1297
  }
1292
1298
  },
1293
- setup(e, { slots: a }) {
1294
- const n = k(() => {
1295
- const l = ["krds-tag-wrap"];
1296
- return e.size && l.push(e.size), e.class && l.push(e.class), l;
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;
1297
1303
  });
1298
- return () => t("div", { class: n.value }, a.default?.());
1304
+ return () => t("div", { class: r.value }, l.default?.());
1299
1305
  }
1300
- }), Ft = Et, Mt = B({
1306
+ }), Ze = Qe, et = D({
1301
1307
  name: "KrdsMasthead",
1302
1308
  props: { class: {
1303
1309
  type: String,
1304
1310
  default: void 0
1305
1311
  } },
1306
1312
  emits: ["click"],
1307
- setup(e, { emit: a, slots: n }) {
1308
- const l = k(() => {
1309
- const r = [""];
1310
- return e.class && r.push(e.class), r;
1311
- }), s = (r) => {
1312
- a("click", r);
1313
+ setup(e, { emit: l, slots: r }) {
1314
+ const a = g(() => {
1315
+ const s = [""];
1316
+ return e.class && s.push(e.class), s;
1317
+ }), n = (s) => {
1318
+ l("click", s);
1313
1319
  };
1314
1320
  return () => t("div", {
1315
1321
  id: "krds-masthead",
1316
- class: l.value,
1317
- onClick: s
1318
- }, [t("div", { class: "toggle-wrap" }, [t("div", { class: "toggle-head" }, [t("div", { class: "inner" }, [t("span", { class: "nuri-txt" }, n.default?.())])])])]);
1322
+ class: a.value,
1323
+ onClick: n
1324
+ }, [t("div", { class: "toggle-wrap" }, [t("div", { class: "toggle-head" }, [t("div", { class: "inner" }, [t("span", { class: "nuri-txt" }, r.default?.())])])])]);
1319
1325
  }
1320
- }), At = Mt, Rt = 0;
1321
- function Gl(e = "krds") {
1322
- return `${e}-${++Rt}`;
1326
+ }), tt = et, at = 0;
1327
+ function fa(e = "krds") {
1328
+ return `${e}-${++at}`;
1323
1329
  }
1324
- function Yl() {
1330
+ function va() {
1325
1331
  return `${Date.now().toString(36).slice(-4)}${Math.random().toString(36).substring(2, 5)}`;
1326
1332
  }
1327
- function ve(...e) {
1333
+ function Z(...e) {
1328
1334
  return e.filter(Boolean).join(" ");
1329
1335
  }
1330
- var Pt = B({
1336
+ var lt = D({
1331
1337
  name: "KrdsToggleSwitch",
1332
1338
  props: {
1333
1339
  modelValue: {
@@ -1369,23 +1375,23 @@ var Pt = B({
1369
1375
  }
1370
1376
  },
1371
1377
  emits: ["update:modelValue", "change"],
1372
- setup(e, { emit: a, attrs: n }) {
1373
- const l = `toggle-switch-${ae()}`, s = k(() => e.modelValue), r = k(() => ve("krds-form-toggle-switch", e.size, e.class)), o = (f) => {
1378
+ setup(e, { emit: 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) => {
1374
1380
  if (e.disabled) return;
1375
- const b = f.target.checked;
1376
- a("update:modelValue", b), a("change", b);
1377
- }, v = k(() => e.id || l);
1378
- return () => t("div", { class: r.value }, [t("input", {
1381
+ const S = f.target.checked;
1382
+ l("update:modelValue", S), l("change", S);
1383
+ }, h = g(() => e.id || a);
1384
+ return () => t("div", { class: s.value }, [t("input", {
1379
1385
  type: "checkbox",
1380
- id: v.value,
1386
+ id: h.value,
1381
1387
  name: e.name,
1382
- checked: s.value,
1388
+ checked: n.value,
1383
1389
  disabled: e.disabled,
1384
- onChange: o,
1385
- ...n
1386
- }), t("label", { for: v.value }, [t("span", { class: "switch-toggle" }, [t("i")]), e.label || ""])]);
1390
+ onChange: d,
1391
+ ...r
1392
+ }), t("label", { for: h.value }, [t("span", { class: "switch-toggle" }, [t("i")]), e.label || ""])]);
1387
1393
  }
1388
- }), Ht = Pt, qt = B({
1394
+ }), nt = lt, st = D({
1389
1395
  name: "KrdsCheckArea",
1390
1396
  props: {
1391
1397
  class: {
@@ -1397,13 +1403,13 @@ var Pt = B({
1397
1403
  default: !1
1398
1404
  }
1399
1405
  },
1400
- setup(e, { slots: a }) {
1406
+ setup(e, { slots: l }) {
1401
1407
  return () => {
1402
- const n = ["krds-check-area"];
1403
- return e.column && n.push("chk-column"), e.class && n.push(e.class), t("div", { class: n }, a.default?.());
1408
+ const r = ["krds-check-area"];
1409
+ return e.column && r.push("chk-column"), e.class && r.push(e.class), t("div", { class: r }, l.default?.());
1404
1410
  };
1405
1411
  }
1406
- }), Ot = qt, Nt = B({
1412
+ }), rt = st, it = D({
1407
1413
  name: "KrdsCheckbox",
1408
1414
  props: {
1409
1415
  modelValue: {
@@ -1434,25 +1440,28 @@ var Pt = B({
1434
1440
  },
1435
1441
  emits: ["update:modelValue"],
1436
1442
  slots: Object,
1437
- setup(e, { emit: a, attrs: n, slots: l }) {
1438
- const s = `checkbox-${ae()}`, r = k(() => e.modelValue), o = k(() => ve(e.chip ? "krds-form-chip" : "krds-form-check", e.size, e.class)), v = (b) => {
1443
+ setup(e, { emit: 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) => {
1439
1448
  if (e.disabled) return;
1440
- const g = b.target.checked;
1441
- a("update:modelValue", g);
1442
- }, f = k(() => e.id || s);
1449
+ const p = S.target.checked;
1450
+ l("update:modelValue", p);
1451
+ }, f = g(() => e.id || n);
1443
1452
  return () => {
1444
- const b = [t("input", {
1453
+ const S = [t("input", {
1445
1454
  type: "checkbox",
1446
1455
  id: f.value,
1447
- checked: r.value,
1456
+ checked: s.value,
1448
1457
  disabled: e.disabled,
1449
- onChange: v,
1450
- ...n
1451
- }), t("label", { for: f.value }, l.default?.())];
1452
- return l.description && !e.chip && b.push(t("div", { class: "krds-form-check-cnt" }, t("p", { class: "krds-form-check-p" }, l.description()))), t("div", { class: o.value }, b);
1458
+ onChange: h,
1459
+ ...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);
1453
1462
  };
1454
1463
  }
1455
- }), jt = Nt, Wt = B({
1464
+ }), ot = it, dt = D({
1456
1465
  name: "KrdsRadio",
1457
1466
  props: {
1458
1467
  modelValue: {
@@ -1499,25 +1508,28 @@ var Pt = B({
1499
1508
  },
1500
1509
  emits: ["update:modelValue"],
1501
1510
  slots: Object,
1502
- setup(e, { emit: a, attrs: n, slots: l }) {
1503
- const s = `radio-${ae()}`, r = k(() => e.modelValue === e.value), o = k(() => ve(e.chip ? "krds-form-chip" : "krds-form-check", e.size, e.class)), v = (g) => {
1504
- e.disabled || g.target.checked && a("update:modelValue", e.value);
1505
- }, f = k(() => e.id || s), b = k(() => e.name);
1511
+ setup(e, { emit: 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
1518
  return () => {
1507
- const g = [t("input", {
1519
+ const p = [t("input", {
1508
1520
  type: "radio",
1509
1521
  id: f.value,
1510
- name: b.value,
1522
+ name: S.value,
1511
1523
  value: String(e.value),
1512
- checked: r.value,
1524
+ checked: s.value,
1513
1525
  disabled: e.disabled,
1514
- onChange: v,
1515
- ...n
1516
- }), t("label", { for: f.value }, l.default?.())];
1517
- return l.description && !e.chip && g.push(t("div", { class: "krds-form-check-cnt" }, t("p", { class: "krds-form-check-p" }, l.description()))), t("div", { class: o.value }, g);
1526
+ onChange: h,
1527
+ ...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);
1518
1530
  };
1519
1531
  }
1520
- }), Gt = Wt, Yt = Ce, Ut = B({
1532
+ }), ut = dt, ct = ve, ft = D({
1521
1533
  name: "KrdsStepIndicator",
1522
1534
  props: {
1523
1535
  modelValue: {
@@ -1530,24 +1542,24 @@ var Pt = B({
1530
1542
  }
1531
1543
  },
1532
1544
  emits: ["update:modelValue"],
1533
- setup(e, { slots: a }) {
1534
- const n = k(() => {
1535
- const v = ["krds-step-wrap"];
1536
- return e.class && v.push(e.class), v;
1537
- }), l = (v) => {
1545
+ setup(e, { slots: l }) {
1546
+ const r = g(() => {
1547
+ const h = ["krds-step-wrap"];
1548
+ return e.class && h.push(e.class), h;
1549
+ }), a = (h) => {
1538
1550
  const f = e.modelValue || 0;
1539
- return v < f ? "done" : v === f ? "active" : "pending";
1540
- }, s = L(0), r = () => {
1541
- s.value = 0;
1542
- }, o = () => s.value++;
1543
- return Fe("stepIndicator", {
1544
- activeStep: k(() => e.modelValue || 0),
1545
- getStepStatus: l,
1546
- getNextStepIndex: o,
1547
- resetStepIndex: r
1548
- }), () => (r(), t("ol", { class: n.value }, a.default?.()));
1551
+ return h < f ? "done" : h === f ? "active" : "pending";
1552
+ }, n = _(0), s = () => {
1553
+ n.value = 0;
1554
+ }, d = () => n.value++;
1555
+ return we("stepIndicator", {
1556
+ activeStep: g(() => e.modelValue || 0),
1557
+ getStepStatus: a,
1558
+ getNextStepIndex: d,
1559
+ resetStepIndex: s
1560
+ }), () => (s(), t("ol", { class: r.value }, l.default?.()));
1549
1561
  }
1550
- }), Xt = Ut, Jt = B({
1562
+ }), vt = ft, ht = D({
1551
1563
  name: "KrdsStep",
1552
1564
  props: {
1553
1565
  step: {
@@ -1568,27 +1580,27 @@ var Pt = B({
1568
1580
  }
1569
1581
  },
1570
1582
  emits: ["click"],
1571
- setup(e, { emit: a, slots: n }) {
1572
- const l = Ee("stepIndicator"), s = l ? l.getNextStepIndex() : -1, r = k(() => e.status ? e.status : l && s >= 0 ? l.getStepStatus(s) : "pending"), o = k(() => {
1573
- const f = [r.value];
1583
+ setup(e, { emit: 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];
1574
1586
  return e.class && f.push(e.class), f;
1575
- }), v = (f) => {
1576
- a("click", f, e.step);
1587
+ }), h = (f) => {
1588
+ l("click", f, e.step);
1577
1589
  };
1578
1590
  return () => {
1579
- const f = r.value === "active";
1591
+ const f = s.value === "active";
1580
1592
  return t("li", {
1581
- class: o.value,
1582
- onClick: v
1593
+ class: d.value,
1594
+ onClick: h
1583
1595
  }, [t("span", [
1584
1596
  f && t("em", { class: "sr-only" }, "현재단계"),
1585
1597
  t("i", { class: "step" }, e.step),
1586
1598
  t("span", { class: "step-tit" }, e.title),
1587
- n.default?.()
1599
+ r.default?.()
1588
1600
  ])]);
1589
1601
  };
1590
1602
  }
1591
- }), Qt = Jt, Zt = B({
1603
+ }), pt = ht, mt = D({
1592
1604
  name: "KrdsSkipLink",
1593
1605
  props: {
1594
1606
  href: {
@@ -1609,47 +1621,55 @@ var Pt = B({
1609
1621
  default: "krds-skip-link"
1610
1622
  }
1611
1623
  },
1612
- setup(e, { slots: a }) {
1624
+ setup(e, { slots: l }) {
1613
1625
  return () => t("div", {
1614
1626
  id: e.id,
1615
1627
  class: e.class
1616
- }, [t("a", { href: e.href }, a.default?.())]);
1628
+ }, [t("a", { href: e.href }, l.default?.())]);
1617
1629
  }
1618
- }), ea = Zt, ta = ["id", "aria-label"], aa = { class: "breadcrumb" }, la = [
1619
- "href",
1620
- "aria-current",
1621
- "onClick"
1622
- ], sa = { key: 0 }, na = /* @__PURE__ */ B({
1623
- __name: "KrdsBreadcrumb",
1630
+ }), gt = mt, yt = D({
1631
+ name: "KrdsBreadcrumb",
1624
1632
  props: {
1625
- items: {},
1626
- id: { default: void 0 },
1627
- ariaLabel: { default: "현재 경로" },
1633
+ items: {
1634
+ type: Array,
1635
+ required: !0
1636
+ },
1637
+ id: {
1638
+ type: String,
1639
+ default: void 0
1640
+ },
1641
+ ariaLabel: {
1642
+ type: String,
1643
+ default: "현재 경로"
1644
+ },
1628
1645
  showHomeIcon: {
1629
1646
  type: Boolean,
1630
1647
  default: !0
1631
1648
  }
1632
1649
  },
1633
1650
  emits: ["item-click"],
1634
- setup(e, { emit: a }) {
1635
- const n = e, l = a, s = (o) => o === n.items.length - 1, r = (o, v) => {
1636
- o.onClick && o.onClick(v), l("item-click", o, v);
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);
1637
1654
  };
1638
- return (o, v) => (D(), T("nav", {
1655
+ return () => t("nav", {
1639
1656
  id: e.id,
1640
1657
  class: "krds-breadcrumb-wrap",
1641
1658
  "aria-label": e.ariaLabel
1642
- }, [p("ol", aa, [(D(!0), T(W, null, Y(e.items, (f, b) => (D(), T("li", {
1643
- key: `breadcrumb-${b}`,
1644
- class: R({ home: b === 0 && e.showHomeIcon })
1645
- }, [p("a", {
1646
- href: f.href || "#",
1647
- class: "txt",
1648
- "aria-current": s(b) ? "page" : void 0,
1649
- onClick: (g) => r(f, g)
1650
- }, [b === 0 && e.showHomeIcon ? X("", !0) : (D(), T("span", sa, M(f.text), 1))], 8, la)], 2))), 128))])], 8, ta));
1659
+ }, [t("ol", { class: "breadcrumb" }, e.items.map((n, s) => {
1660
+ const d = s === 0 && e.showHomeIcon;
1661
+ return t("li", {
1662
+ key: `breadcrumb-${s}`,
1663
+ class: { home: d }
1664
+ }, [t("a", {
1665
+ href: n.href || "#",
1666
+ class: "txt",
1667
+ "aria-current": r(s) ? "page" : void 0,
1668
+ onClick: (h) => a(n, h)
1669
+ }, d ? [] : [t("span", null, n.text)])]);
1670
+ }))]);
1651
1671
  }
1652
- }), ra = na, ia = ra, oa = B({
1672
+ }), bt = yt, kt = D({
1653
1673
  name: "KrdsInPageNavigation",
1654
1674
  props: {
1655
1675
  title: {
@@ -1683,554 +1703,645 @@ var Pt = B({
1683
1703
  },
1684
1704
  emits: ["itemClick"],
1685
1705
  slots: Object,
1686
- setup(e, { emit: a, slots: n }) {
1687
- const l = L(""), s = L(/* @__PURE__ */ new Map()), r = k(() => {
1688
- const d = ["krds-in-page-navigation-type"];
1689
- return e.class && d.push(e.class), d;
1690
- }), o = () => {
1691
- const d = e.headerTopSelector, i = e.headerInnerSelector;
1692
- return (document.querySelector(d)?.clientHeight || 0) + (document.querySelector(i)?.clientHeight || 0);
1693
- }, v = (d, i) => {
1694
- if (a("itemClick", d, i), d.href.startsWith("#")) {
1695
- i.preventDefault();
1696
- const c = document.querySelector(d.href);
1697
- if (c) {
1698
- const u = o();
1706
+ setup(e, { emit: 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("#")) {
1715
+ o.preventDefault();
1716
+ const i = document.querySelector(u.href);
1717
+ if (i) {
1718
+ const v = d();
1699
1719
  if (window.scrollTo({
1700
1720
  left: 0,
1701
- top: c.getBoundingClientRect().top + window.scrollY - u,
1721
+ top: i.getBoundingClientRect().top + window.scrollY - v,
1702
1722
  behavior: "smooth"
1703
- }), l.value = d.href, i instanceof KeyboardEvent) {
1704
- const h = c.querySelector(".sec-tit, h1, h2, h3, h4, h5, h6");
1705
- h && h instanceof HTMLElement && (h.setAttribute("tabindex", "-1"), h.focus({ preventScroll: !0 }));
1723
+ }), a.value = u.href, o instanceof KeyboardEvent) {
1724
+ const m = i.querySelector(".sec-tit, h1, h2, h3, h4, h5, h6");
1725
+ m && m instanceof HTMLElement && (m.setAttribute("tabindex", "-1"), m.focus({ preventScroll: !0 }));
1706
1726
  }
1707
1727
  }
1708
1728
  }
1709
1729
  }, f = () => {
1710
- s.value.clear(), e.items && e.items.filter((d) => d.href.startsWith("#")).forEach((d) => {
1711
- const i = document.querySelector(d.href);
1712
- i && s.value.set(d.href, i);
1730
+ n.value.clear(), e.items && e.items.filter((u) => u.href.startsWith("#")).forEach((u) => {
1731
+ const o = document.querySelector(u.href);
1732
+ o && n.value.set(u.href, o);
1713
1733
  });
1714
- }, b = () => {
1715
- if (!e.autoActive || !e.items || s.value.size === 0) return;
1716
- const d = window.innerHeight, i = Math.ceil(d / 5), c = window.scrollY + d, u = document.body.scrollHeight, h = e.items.filter(($) => $.href.startsWith("#") && s.value.has($.href)).map(($) => ({
1717
- href: $.href,
1718
- element: s.value.get($.href),
1719
- item: $
1734
+ }, S = () => {
1735
+ 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
1720
1740
  }));
1721
- if (h.length === 0) return;
1722
- const m = h[0], w = h[h.length - 1], C = m.element.offsetTop;
1741
+ if (m.length === 0) return;
1742
+ const K = m[0], b = m[m.length - 1], w = K.element.offsetTop;
1723
1743
  let x = "";
1724
- if (c >= u) x = w.href;
1725
- else if (window.scrollY <= C) x = m.href;
1726
- else for (const $ of h) {
1727
- const y = $.element.offsetHeight, K = $.element.offsetTop - i;
1728
- if (window.scrollY > K && window.scrollY <= K + y) {
1729
- x = $.href;
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;
1730
1750
  break;
1731
1751
  }
1732
1752
  }
1733
- x && x !== l.value && (l.value = x);
1734
- }, g = () => {
1753
+ x && x !== a.value && (a.value = x);
1754
+ }, p = () => {
1735
1755
  if (!e.items) return;
1736
- const d = e.items.find((i) => i.active);
1737
- d ? l.value = d.href : e.items.length > 0 && (l.value = e.items[0].href);
1756
+ const u = e.items.find((o) => o.active);
1757
+ u ? a.value = u.href : e.items.length > 0 && (a.value = e.items[0].href);
1738
1758
  };
1739
- te(() => {
1740
- if (g(), e.autoActive) {
1741
- f(), b(), window.addEventListener("scroll", b, { passive: !0 });
1742
- const d = new MutationObserver(() => {
1759
+ N(() => {
1760
+ if (p(), e.autoActive) {
1761
+ f(), S(), window.addEventListener("scroll", S, { passive: !0 });
1762
+ const u = new MutationObserver(() => {
1743
1763
  f();
1744
1764
  });
1745
- d.observe(document.body, {
1765
+ u.observe(document.body, {
1746
1766
  childList: !0,
1747
1767
  subtree: !0
1748
- }), Z(() => {
1749
- d.disconnect();
1768
+ }), q(() => {
1769
+ u.disconnect();
1750
1770
  });
1751
1771
  }
1752
- }), Z(() => {
1753
- e.autoActive && (window.removeEventListener("scroll", b), s.value.clear());
1772
+ }), q(() => {
1773
+ e.autoActive && (window.removeEventListener("scroll", S), n.value.clear());
1754
1774
  });
1755
- const _ = () => !e.caption && !e.title ? null : t("div", { class: "in-page-navigation-header" }, [e.caption && t("p", { class: "quick-caption" }, e.caption), e.title && t("p", { class: "quick-title" }, e.title)]), S = () => e.items ? t("nav", { class: "in-page-navigation-list" }, [t("ul", {}, e.items.map((d) => {
1756
- const i = l.value === d.href || !e.autoActive && d.active;
1757
- return t("li", { key: d.href }, [t("a", {
1758
- href: d.href,
1759
- class: i ? "active" : "",
1760
- onClick: (c) => v(d, c),
1761
- onKeydown: (c) => {
1762
- (c.key === "Enter" || c.key === " ") && (c.preventDefault(), v(d, c));
1763
- }
1764
- }, d.text)]);
1765
- }))]) : null, V = () => n.action ? t("div", { class: "in-page-navigation-action" }, [n.action()]) : null;
1766
- return () => t("div", { class: r.value }, [t("div", { class: "krds-in-page-navigation-area" }, [
1767
- _(),
1768
- S(),
1769
- V()
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 = () => {
1776
+ if (!e.items) return null;
1777
+ const u = e.items.map((o) => {
1778
+ const i = a.value === o.href || !e.autoActive && o.active;
1779
+ return t("li", { key: o.href }, [t("a", {
1780
+ href: o.href,
1781
+ class: i ? "active" : "",
1782
+ onClick: (v) => h(o, v),
1783
+ onKeydown: (v) => {
1784
+ (v.key === "Enter" || v.key === " ") && (v.preventDefault(), h(o, v));
1785
+ }
1786
+ }, o.text)]);
1787
+ });
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;
1790
+ return () => t("div", { class: s.value }, [t("div", { class: "krds-in-page-navigation-area" }, [
1791
+ C(),
1792
+ y(),
1793
+ k()
1770
1794
  ].filter(Boolean))]);
1771
1795
  }
1772
- }), da = oa, ua = ["id"], ca = { class: "page-links" }, fa = [
1773
- "href",
1774
- "aria-current",
1775
- "onClick"
1776
- ], va = { key: 0 }, pa = ["aria-label"], ha = /* @__PURE__ */ B({
1777
- __name: "KrdsPagination",
1796
+ }), St = kt, Y = {
1797
+ mounted(e, l) {
1798
+ l.value !== !1 && e.classList.add("sr-only");
1799
+ },
1800
+ updated(e, l) {
1801
+ l.value === !1 ? e.classList.remove("sr-only") : e.classList.add("sr-only");
1802
+ },
1803
+ unmounted(e) {
1804
+ e.classList.remove("sr-only");
1805
+ }
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({
1814
+ name: "KrdsPagination",
1778
1815
  props: {
1779
- modelValue: { default: 1 },
1780
- min: { default: 1 },
1781
- max: {},
1782
- id: { default: void 0 },
1783
- ariaLabel: { default: "페이지 내비게이션" },
1784
- pageRange: { default: 8 }
1816
+ modelValue: {
1817
+ type: Number,
1818
+ default: 1
1819
+ },
1820
+ min: {
1821
+ type: Number,
1822
+ default: ie
1823
+ },
1824
+ max: {
1825
+ type: Number,
1826
+ required: !0
1827
+ },
1828
+ id: {
1829
+ type: String,
1830
+ default: void 0
1831
+ },
1832
+ ariaLabel: {
1833
+ type: String,
1834
+ default: "페이지 내비게이션"
1835
+ },
1836
+ pageRange: {
1837
+ type: Number,
1838
+ default: oe
1839
+ }
1785
1840
  },
1786
1841
  emits: ["update:modelValue"],
1787
- setup(e, { emit: a }) {
1788
- const n = e, l = a, s = k(() => Math.max(1, n.min)), r = k(() => n.modelValue ?? s.value), o = k(() => r.value <= s.value), v = k(() => r.value >= n.max), f = k(() => {
1789
- if (!o.value)
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(() => {
1844
+ if (!n.value)
1790
1845
  return "#";
1791
- }), b = k(() => {
1792
- if (!v.value)
1846
+ }), h = g(() => {
1847
+ if (!s.value)
1793
1848
  return "#";
1794
- }), g = k(() => {
1795
- const { pageRange: d, max: i } = n, c = 1, u = [];
1796
- if (i <= d + 2 * c) for (let h = s.value; h <= i; h++) u.push({
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({
1797
1852
  type: "page",
1798
- key: `page-${h}`,
1799
- page: h,
1853
+ key: `page-${v}`,
1854
+ page: v,
1800
1855
  href: "#"
1801
1856
  });
1802
1857
  else {
1803
- const h = Math.min(c, i), m = Math.max(i - c + 1, 1), w = Math.max(s.value, r.value - Math.floor(d / 2)), C = Math.min(i, w + d - 1), x = Math.max(s.value, C - d + 1);
1804
- for (let K = s.value; K <= h; K++) u.push({
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({
1805
1860
  type: "page",
1806
- key: `page-${K}`,
1807
- page: K,
1861
+ key: `page-${c}`,
1862
+ page: c,
1808
1863
  href: "#"
1809
1864
  });
1810
- x > h + 1 && u.push({
1865
+ w > v + 1 && i.push({
1811
1866
  type: "ellipsis",
1812
1867
  key: "ellipsis-left",
1813
1868
  ariaLabel: "페이지 생략"
1814
1869
  });
1815
- const $ = Math.max(x, h + 1), y = Math.min(C, m - 1);
1816
- for (let K = $; K <= y; K++) u.push({
1870
+ const x = Math.max(w, v + 1), L = Math.min(b, m - 1);
1871
+ for (let c = x; c <= L; c++) i.push({
1817
1872
  type: "page",
1818
- key: `page-${K}`,
1819
- page: K,
1873
+ key: `page-${c}`,
1874
+ page: c,
1820
1875
  href: "#"
1821
1876
  });
1822
- C < m - 1 && u.push({
1877
+ b < m - 1 && i.push({
1823
1878
  type: "ellipsis",
1824
1879
  key: "ellipsis-right",
1825
1880
  ariaLabel: "페이지 생략"
1826
1881
  });
1827
- for (let K = m; K <= i; K++) u.push({
1882
+ for (let c = m; c <= k; c++) i.push({
1828
1883
  type: "page",
1829
- key: `page-${K}`,
1830
- page: K,
1884
+ key: `page-${c}`,
1885
+ page: c,
1831
1886
  href: "#"
1832
1887
  });
1833
1888
  }
1834
- return u;
1835
- }), _ = (d, i) => {
1836
- if (d === r.value) {
1837
- i.preventDefault();
1889
+ return i;
1890
+ }), S = (k, u) => {
1891
+ if (k === a.value) {
1892
+ u.preventDefault();
1838
1893
  return;
1839
1894
  }
1840
- l("update:modelValue", d);
1841
- }, S = (d) => {
1842
- if (o.value) {
1843
- d.preventDefault();
1895
+ l("update:modelValue", k);
1896
+ }, p = (k) => {
1897
+ if (n.value) {
1898
+ k.preventDefault();
1844
1899
  return;
1845
1900
  }
1846
- l("update:modelValue", r.value - 1);
1847
- }, V = (d) => {
1848
- if (v.value) {
1849
- d.preventDefault();
1901
+ l("update:modelValue", a.value - 1);
1902
+ }, C = (k) => {
1903
+ if (s.value) {
1904
+ k.preventDefault();
1850
1905
  return;
1851
1906
  }
1852
- l("update:modelValue", r.value + 1);
1853
- };
1854
- return (d, i) => {
1855
- const c = Me("sr-only");
1856
- return D(), T("div", {
1857
- id: e.id,
1858
- class: "krds-pagination"
1859
- }, [
1860
- (D(), de(ge(o.value ? "span" : "a"), {
1861
- href: o.value ? void 0 : f.value,
1862
- class: R([
1863
- "page-navi",
1864
- "prev",
1865
- { disabled: o.value }
1866
- ]),
1867
- onClick: S
1868
- }, {
1869
- default: ue(() => [...i[0] || (i[0] = [N(" 이전 ", -1)])]),
1870
- _: 1
1871
- }, 8, ["href", "class"])),
1872
- p("div", ca, [(D(!0), T(W, null, Y(g.value, (u) => (D(), T(W, { key: u.key }, [u.type === "page" ? (D(), T("a", {
1873
- key: 0,
1874
- href: u.href || "#",
1875
- class: R(["page-link", { active: u.page === r.value }]),
1876
- "aria-current": u.page === r.value ? "page" : void 0,
1877
- onClick: (h) => _(u.page, h)
1878
- }, [u.page === r.value ? ee((D(), T("span", va, [...i[1] || (i[1] = [N("현재페이지", -1)])])), [[c]]) : X("", !0), N(" " + M(u.page), 1)], 10, fa)) : u.type === "ellipsis" ? (D(), T("span", {
1879
- key: 1,
1880
- class: "page-link link-dot",
1881
- "aria-label": u.ariaLabel
1882
- }, null, 8, pa)) : X("", !0)], 64))), 128))]),
1883
- (D(), de(ge(v.value ? "span" : "a"), {
1884
- href: v.value ? void 0 : b.value,
1885
- class: R([
1886
- "page-navi",
1887
- "next",
1888
- { disabled: v.value }
1889
- ]),
1890
- onClick: V
1891
- }, {
1892
- default: ue(() => [...i[2] || (i[2] = [N(" 다음 ", -1)])]),
1893
- _: 1
1894
- }, 8, ["href", "class"]))
1895
- ], 8, ua);
1907
+ l("update:modelValue", a.value + 1);
1908
+ }, y = (k) => {
1909
+ if (k.type === "page") {
1910
+ const u = k.page === a.value;
1911
+ 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} `]);
1918
+ }
1919
+ return t("span", {
1920
+ key: k.key,
1921
+ class: "page-link link-dot",
1922
+ "aria-label": k.ariaLabel
1923
+ });
1896
1924
  };
1925
+ return () => t("div", {
1926
+ id: e.id,
1927
+ class: "krds-pagination"
1928
+ }, [
1929
+ t(n.value ? "span" : "a", {
1930
+ href: n.value ? void 0 : d.value,
1931
+ class: [
1932
+ "page-navi",
1933
+ "prev",
1934
+ { disabled: n.value }
1935
+ ],
1936
+ onClick: p
1937
+ }, "이전"),
1938
+ t("div", { class: "page-links" }, f.value.map(y)),
1939
+ t(s.value ? "span" : "a", {
1940
+ href: s.value ? void 0 : h.value,
1941
+ class: [
1942
+ "page-navi",
1943
+ "next",
1944
+ { disabled: s.value }
1945
+ ],
1946
+ onClick: C
1947
+ }, "다음")
1948
+ ]);
1897
1949
  }
1898
- }), ma = ha, ya = ma, ga = { class: "inner help-panel-flexible" }, ba = { class: "help-panel-wrap" }, ka = { class: "help-conts-area" }, Sa = /* @__PURE__ */ B({
1899
- __name: "KrdsPanel",
1950
+ }), wt = Kt, Ct = D({
1951
+ name: "KrdsPanel",
1900
1952
  props: { modelValue: {
1901
1953
  type: Boolean,
1902
1954
  default: !1
1903
1955
  } },
1904
1956
  emits: ["update:modelValue"],
1905
- setup(e, { emit: a }) {
1906
- const n = e, l = a, s = k({
1907
- get: () => n.modelValue,
1908
- set: (v) => l("update:modelValue", v)
1909
- }), r = () => {
1910
- s.value = !0;
1911
- }, o = () => {
1912
- s.value = !1;
1957
+ setup(e, { emit: l, slots: r }) {
1958
+ const a = g({
1959
+ get: () => e.modelValue,
1960
+ set: (d) => l("update:modelValue", d)
1961
+ }), n = () => {
1962
+ a.value = !0;
1963
+ }, s = () => {
1964
+ a.value = !1;
1913
1965
  };
1914
- return (v, f) => (D(), T("div", ga, [p("button", {
1966
+ return () => t("div", { class: "inner help-panel-flexible" }, [t("button", {
1915
1967
  type: "button",
1916
1968
  class: "krds-btn small tertiary btn-help-panel expand btn-help-exec",
1917
- onClick: r
1918
- }, [...f[0] || (f[0] = [p("i", { class: "svg-icon ico-fold" }, null, -1), N(" 도움말 ", -1)])]), p("div", { class: R(["krds-help-panel", { expand: s.value }]) }, [p("div", ba, [p("div", ka, [J(v.$slots, "default"), p("button", {
1969
+ 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", {
1919
1971
  type: "button",
1920
1972
  class: "krds-btn small tertiary btn-help-panel fold",
1921
- onClick: o
1922
- }, [...f[1] || (f[1] = [
1923
- p("span", { class: "sr-only" }, "도움말", -1),
1924
- N(" 접어두기 ", -1),
1925
- p("i", { class: "svg-icon ico-angle right" }, null, -1)
1926
- ])])])])], 2)]));
1973
+ onClick: s
1974
+ }, [
1975
+ t("span", { class: "sr-only" }, "도움말"),
1976
+ " 접어두기 ",
1977
+ t("i", { class: "svg-icon ico-angle right" })
1978
+ ])])])])]);
1927
1979
  }
1928
- }), Ka = Sa, wa = Ka, _a = { class: "tooltip-action" }, Ca = {
1929
- key: 0,
1930
- class: "svg-icon ico-help"
1931
- }, $a = {
1932
- key: 1,
1933
- class: "svg-icon ico-tooltip"
1934
- }, xa = { class: "tooltip-title" }, Ba = { class: "tooltip-contents" }, La = /* @__PURE__ */ B({
1935
- __name: "KrdsContextualHelp",
1980
+ }), xt = Ct, $t = D({
1981
+ name: "KrdsContextualHelp",
1936
1982
  props: {
1937
- tooltipTitle: { default: "도움말 제목" },
1938
- helpIcon: { type: Boolean },
1939
- position: { default: "top left" }
1983
+ tooltipTitle: {
1984
+ type: String,
1985
+ default: "도움말 제목"
1986
+ },
1987
+ helpIcon: {
1988
+ type: Boolean,
1989
+ default: !1
1990
+ },
1991
+ position: {
1992
+ type: String,
1993
+ default: "top left"
1994
+ }
1940
1995
  },
1941
- setup(e) {
1942
- const a = e, n = L(), l = L(), s = L(), r = L(), o = L(!1), v = () => {
1943
- const i = o.value;
1944
- g(), i || f();
1996
+ setup(e, { slots: l }) {
1997
+ const r = _(), a = _(), n = _(), s = _(), d = _(!1), h = () => {
1998
+ const o = d.value;
1999
+ p(), o || f();
1945
2000
  }, f = () => {
1946
- !s.value || !l.value || (o.value = !0, s.value.style.display = "block", l.value.setAttribute("aria-expanded", "true"), s.value.querySelector('a, button, [tabindex="0"], input, textarea, select')?.focus(), _());
1947
- }, b = () => {
1948
- !s.value || !l.value || (o.value = !1, s.value.style.display = "none", l.value.setAttribute("aria-expanded", "false"));
1949
- }, g = () => {
1950
- const i = document.querySelectorAll(".krds-contextual-help .tooltip-popover"), c = document.querySelectorAll(".krds-contextual-help .tooltip-btn");
1951
- i.forEach((u) => {
1952
- u.style.display = "none";
1953
- }), c.forEach((u) => {
1954
- u.setAttribute("aria-expanded", "false");
1955
- }), o.value = !1;
1956
- }, _ = () => {
1957
- if (!n.value || !s.value) return;
1958
- const i = window.innerWidth <= 768, c = n.value.querySelector(".tooltip-action");
1959
- if (i) {
1960
- const u = getComputedStyle(document.querySelector(":root")).getPropertyValue("--krds-contents-padding-x").trim().split("px")[0], h = c.getBoundingClientRect().left - parseInt(u), m = document.body.clientWidth - parseInt(u) * 2;
1961
- s.value.style.left = `-${h}px`, s.value.style.width = `${m}px`;
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 = () => {
2005
+ 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 = () => {
2012
+ if (!r.value || !n.value) return;
2013
+ const o = window.innerWidth <= 768, i = r.value.querySelector(".tooltip-action");
2014
+ 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`;
1962
2017
  } else
1963
- s.value.style.left = "", s.value.style.right = "", s.value.style.width = "360px";
1964
- }, S = (i) => {
1965
- (i.key === "Escape" || i.key === "Esc") && g();
1966
- }, V = (i) => {
1967
- i.target.closest(".tooltip-action") || g();
1968
- }, d = () => {
1969
- o.value && _();
2018
+ 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();
1970
2025
  };
1971
- return te(() => {
1972
- n.value && (l.value && l.value.setAttribute("aria-expanded", "false"), s.value && s.value.setAttribute("role", "tooltip"), document.addEventListener("keydown", S), document.addEventListener("click", V), window.addEventListener("resize", d));
1973
- }), Z(() => {
1974
- document.removeEventListener("keydown", S), document.removeEventListener("click", V), window.removeEventListener("resize", d);
1975
- }), (i, c) => (D(), T("div", {
1976
- ref_key: "containerRef",
1977
- ref: n,
1978
- class: R(["krds-contextual-help", a.position])
1979
- }, [p("div", _a, [p("button", {
1980
- ref_key: "tooltipBtnRef",
1981
- ref: l,
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);
2030
+ }), () => t("div", {
2031
+ ref: r,
2032
+ class: ["krds-contextual-help", e.position]
2033
+ }, [t("div", { class: "tooltip-action" }, [t("button", {
2034
+ ref: a,
1982
2035
  type: "button",
1983
2036
  class: "krds-btn medium icon tooltip-btn",
1984
- onClick: v
1985
- }, [c[0] || (c[0] = p("span", { class: "sr-only" }, "도움말", -1)), a.helpIcon ? (D(), T("i", Ca)) : (D(), T("i", $a))], 512), p("div", {
1986
- ref_key: "tooltipPopoverRef",
1987
- ref: s,
2037
+ onClick: h
2038
+ }, [t("span", { class: "sr-only" }, "도움말"), e.helpIcon ? t("i", { class: "svg-icon ico-help" }) : t("i", { class: "svg-icon ico-tooltip" })]), t("div", {
2039
+ ref: n,
1988
2040
  class: "tooltip-popover",
1989
2041
  role: "tooltip"
1990
2042
  }, [
1991
- p("h4", xa, M(a.tooltipTitle), 1),
1992
- p("div", Ba, [J(i.$slots, "default")]),
1993
- p("button", {
1994
- ref_key: "closeBtnRef",
1995
- ref: r,
2043
+ t("h4", { class: "tooltip-title" }, e.tooltipTitle),
2044
+ t("div", { class: "tooltip-contents" }, l.default?.()),
2045
+ t("button", {
2046
+ ref: s,
1996
2047
  type: "button",
1997
2048
  class: "krds-btn xsmall icon tooltip-close",
1998
- onClick: b
1999
- }, [...c[1] || (c[1] = [p("span", { class: "sr-only" }, "닫기", -1), p("i", { class: "svg-icon ico-modal-close" }, null, -1)])], 512)
2000
- ], 512)])], 2));
2049
+ onClick: S
2050
+ }, [t("span", { class: "sr-only" }, "닫기"), t("i", { class: "svg-icon ico-modal-close" })])
2051
+ ])])]);
2001
2052
  }
2002
- }), Da = La, Ta = Da, Va = {
2003
- key: 0,
2004
- class: "coach-balloon"
2005
- }, za = { class: "coach-tit" }, Ia = { class: "desc" }, Ea = { class: "coach-controls" }, Fa = { class: "num" }, Ma = { class: "btn-wrap" }, Aa = /* @__PURE__ */ B({
2006
- __name: "KrdsCoachMark",
2053
+ }), Bt = $t, Lt = D({
2054
+ name: "KrdsCoachMark",
2007
2055
  props: {
2008
- coachMarkClass: { default: "" },
2009
- stepsData: {},
2010
- activeStep: {},
2011
- modelValue: { default: null },
2012
- class: {},
2013
- style: {},
2014
- id: {}
2056
+ coachMarkClass: {
2057
+ type: [String, Array],
2058
+ default: ""
2059
+ },
2060
+ stepsData: {
2061
+ type: Array,
2062
+ required: !0
2063
+ },
2064
+ activeStep: {
2065
+ type: Number,
2066
+ required: !0
2067
+ },
2068
+ modelValue: {
2069
+ type: Number,
2070
+ default: null
2071
+ },
2072
+ class: {
2073
+ type: String,
2074
+ default: void 0
2075
+ },
2076
+ style: {
2077
+ type: [String, Object],
2078
+ default: void 0
2079
+ },
2080
+ id: {
2081
+ type: String,
2082
+ default: void 0
2083
+ }
2015
2084
  },
2016
2085
  emits: ["update:modelValue", "close"],
2017
- setup(e, { emit: a }) {
2018
- const n = e, l = k(() => {
2019
- const f = n.activeStep - 1;
2020
- return n.stepsData && f >= 0 && f < n.stepsData.length ? n.stepsData[f] : null;
2021
- }), s = a, r = () => {
2022
- n.activeStep > 1 && s("update:modelValue", n.activeStep - 1);
2023
- }, o = () => {
2024
- n.activeStep < n.stepsData.length && s("update:modelValue", n.activeStep + 1);
2025
- }, v = () => {
2026
- s("close");
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;
2090
+ }), n = () => {
2091
+ e.activeStep > 1 && l("update:modelValue", e.activeStep - 1);
2092
+ }, s = () => {
2093
+ e.activeStep < e.stepsData.length && l("update:modelValue", e.activeStep + 1);
2094
+ }, d = () => {
2095
+ l("close");
2096
+ }, h = () => {
2097
+ const f = a.value;
2098
+ return e.modelValue !== e.activeStep || !f ? null : t("div", { class: "coach-balloon" }, [
2099
+ t("h5", { class: "sr-only" }, "따라하기 가이드"),
2100
+ t("h6", { class: "coach-tit" }, `${e.activeStep}단계 : ${f.title}`),
2101
+ t("p", { class: "desc" }, f.description),
2102
+ t("div", { class: "coach-controls" }, [t("div", { class: "num" }, [
2103
+ t("span", { class: "sr-only" }, "현재 단계"),
2104
+ t("strong", null, String(e.activeStep)),
2105
+ t("span", { class: "sr-only" }, "총 단계"),
2106
+ t("span", null, String(e.stepsData.length))
2107
+ ]), t("div", { class: "btn-wrap" }, [
2108
+ t("button", {
2109
+ type: "button",
2110
+ class: "krds-btn small text",
2111
+ onClick: d
2112
+ }, "그만보기"),
2113
+ e.activeStep !== 1 ? t("button", {
2114
+ type: "button",
2115
+ class: "krds-btn small text",
2116
+ onClick: n
2117
+ }, "이전으로") : null,
2118
+ e.activeStep !== e.stepsData.length ? t("button", {
2119
+ type: "button",
2120
+ class: "krds-btn small tertiary",
2121
+ onClick: s
2122
+ }, "다음으로") : null
2123
+ ])])
2124
+ ]);
2027
2125
  };
2028
- return (f, b) => (D(), T("div", {
2029
- class: R(["krds-coach-mark", e.coachMarkClass]),
2030
- style: ne(e.style)
2031
- }, [e.modelValue === e.activeStep && l.value ? (D(), T("div", Va, [
2032
- b[2] || (b[2] = p("h5", { class: "sr-only" }, "따라하기 가이드", -1)),
2033
- p("h6", za, M(e.activeStep) + "단계 : " + M(l.value.title), 1),
2034
- p("p", Ia, M(l.value.description), 1),
2035
- p("div", Ea, [p("div", Fa, [
2036
- b[0] || (b[0] = p("span", { class: "sr-only" }, "현재 단계", -1)),
2037
- p("strong", null, M(e.activeStep), 1),
2038
- b[1] || (b[1] = p("span", { class: "sr-only" }, "총 단계", -1)),
2039
- p("span", null, M(e.stepsData.length), 1)
2040
- ]), p("div", Ma, [
2041
- p("button", {
2042
- type: "button",
2043
- class: "krds-btn small text",
2044
- onClick: v
2045
- }, "그만보기"),
2046
- e.activeStep !== 1 ? (D(), T("button", {
2047
- key: 0,
2048
- type: "button",
2049
- class: "krds-btn small text",
2050
- onClick: r
2051
- }, "이전으로")) : X("", !0),
2052
- e.activeStep !== e.stepsData.length ? (D(), T("button", {
2053
- key: 1,
2054
- type: "button",
2055
- class: "krds-btn small tertiary",
2056
- onClick: o
2057
- }, "다음으로")) : X("", !0)
2058
- ])])
2059
- ])) : X("", !0), J(f.$slots, "coach-mark-content")], 6));
2126
+ return () => t("div", {
2127
+ class: ["krds-coach-mark", e.coachMarkClass],
2128
+ style: e.style
2129
+ }, [h(), r["coach-mark-content"]?.()]);
2060
2130
  }
2061
- }), Ra = Aa, Pa = Ra, Ha = ["disabled"], qa = ["aria-hidden"], Oa = { class: "sr-only" }, Na = /* @__PURE__ */ B({
2062
- __name: "KrdsTooltip",
2131
+ }), Dt = Lt, _t = D({
2132
+ name: "KrdsTooltip",
2063
2133
  props: {
2064
- type: { default: "default" },
2065
- tooltipContent: {},
2066
- vertical: { type: Boolean },
2067
- box: { type: Boolean },
2134
+ type: {
2135
+ type: String,
2136
+ default: "default"
2137
+ },
2138
+ tooltipContent: {
2139
+ type: String,
2140
+ required: !0
2141
+ },
2142
+ vertical: {
2143
+ type: Boolean,
2144
+ default: !1
2145
+ },
2146
+ box: {
2147
+ type: Boolean,
2148
+ default: !1
2149
+ },
2068
2150
  disabled: {
2069
2151
  type: Boolean,
2070
2152
  default: !1
2071
2153
  },
2072
- class: {},
2073
- style: {},
2074
- id: {}
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
+ }
2075
2166
  },
2076
- setup(e) {
2077
- const a = e, n = L(null), l = L(null), s = L(!1), r = L({}), o = `tooltip-popover-${ae()}`, v = L(!1), f = k(() => {
2078
- const h = ["krds-btn", "krds-tooltip"];
2079
- return a.type === "default" ? h.push("small", "text") : a.type === "icon" ? h.push("icon") : a.type === "button" && h.push(""), !a.box && a.vertical && h.push("tooltip-vertical"), a.box && !a.vertical && h.push("tooltip-box"), h.join(" ");
2080
- }), b = k(() => {
2081
- const h = [];
2082
- return a.box && h.push("tooltip-box"), a.vertical && h.push("tooltip-vertical"), s.value && h.push("active"), h;
2083
- }), g = k(() => n.value?.querySelector("button")?.textContent?.trim() || ""), _ = () => window.innerWidth <= 768, S = () => {
2084
- if (!n.value || !l.value) return;
2085
- const h = n.value.querySelector("button");
2086
- if (!h) return;
2087
- const m = 12, { clientHeight: w, clientWidth: C } = l.value, { top: x, left: $, right: y, height: K, width: F } = h.getBoundingClientRect(), P = window.innerWidth / 2, A = window.innerHeight / 2;
2088
- let j, O;
2089
- const G = [];
2090
- v.value || a.box || a.vertical ? (x + K > A ? (j = x - w - m, G.push("top")) : (j = x + K + m, G.push("bottom")), $ + F > P ? (O = y - C, G.push("right"), window.innerWidth - ($ + F) > C / 2 && (O = $ + (F - C) / 2, G.splice(G.indexOf("right"), 1))) : (O = $ + (F - C) / 2, O < 0 && (O = $, G.push("left")))) : (j = x + (K - w) / 2, $ + F > P ? (O = $ - C - m, G.push("right")) : O = y + m);
2091
- const le = window.innerWidth <= 420;
2092
- r.value = {
2093
- top: `${j}px`,
2094
- left: le ? "50%" : `${O}px`,
2095
- transform: le ? "translateX(-50%)" : "none"
2096
- }, l.value && (l.value.className = `krds-tooltip-popover ${G.join(" ")} ${b.value.join(" ")}`);
2097
- }, V = async () => {
2098
- a.disabled || !a.tooltipContent || (s.value = !0, await Ke(), S());
2099
- }, d = () => {
2100
- s.value = !1, r.value = {};
2101
- }, i = (h) => {
2102
- (h.key === "Escape" || h.key === "Esc") && s.value && d();
2103
- }, c = () => {
2104
- v.value = _(), s.value && d();
2167
+ setup(e, { slots: l }) {
2168
+ const r = _(null), a = _(null), n = _(!1), s = _({}), d = `tooltip-popover-${O()}`, h = _(!1), f = g(() => {
2169
+ const m = ["krds-btn", "krds-tooltip"];
2170
+ 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(() => {
2172
+ const m = [];
2173
+ 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;
2176
+ const m = r.value.querySelector("button");
2177
+ 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;
2183
+ 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());
2105
2190
  }, u = () => {
2106
- s.value && d();
2191
+ n.value = !1, s.value = {};
2192
+ }, o = (m) => {
2193
+ (m.key === "Escape" || m.key === "Esc") && n.value && u();
2194
+ }, i = () => {
2195
+ h.value = C(), n.value && u();
2196
+ }, v = () => {
2197
+ n.value && u();
2107
2198
  };
2108
- return te(() => {
2109
- v.value = _(), document.addEventListener("keydown", i), window.addEventListener("scroll", u), window.addEventListener("resize", c);
2110
- }), Z(() => {
2111
- document.removeEventListener("keydown", i), window.removeEventListener("scroll", u), window.removeEventListener("resize", c);
2112
- }), (h, m) => (D(), T("div", {
2113
- ref_key: "containerRef",
2114
- ref: n
2115
- }, [p("button", {
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);
2203
+ }), () => t("div", { ref: r }, [t("button", {
2116
2204
  type: "button",
2117
- class: R(f.value),
2205
+ class: f.value,
2118
2206
  disabled: e.disabled,
2119
- "aria-labelledby": o,
2120
- onMouseover: V,
2121
- onMouseout: d,
2122
- onFocusin: V,
2123
- onFocusout: d
2124
- }, [J(h.$slots, "default")], 42, Ha), ee(p("div", {
2125
- id: o,
2126
- ref_key: "popoverRef",
2127
- ref: l,
2128
- class: R(["krds-tooltip-popover", b.value]),
2129
- style: ne(r.value),
2130
- "aria-hidden": !s.value,
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],
2216
+ style: s.value,
2217
+ "aria-hidden": !n.value,
2131
2218
  role: "tooltip"
2132
- }, [p("span", Oa, M(g.value), 1), N(" " + M(e.tooltipContent), 1)], 14, qa), [[se, s.value]])], 512));
2219
+ }, [
2220
+ t("span", { class: "sr-only" }, p.value),
2221
+ " ",
2222
+ e.tooltipContent
2223
+ ]), [[X, n.value]])]);
2133
2224
  }
2134
- }), ja = Na, Wa = ja, Ga = ["aria-expanded"], Ya = { class: "drop-in" }, Ua = {
2135
- key: 0,
2136
- class: "drop-top"
2137
- }, Xa = {
2138
- key: 1,
2139
- class: "drop-list"
2140
- }, Ja = [
2141
- "lang",
2142
- "aria-selected",
2143
- "onClick"
2144
- ], Qa = { class: "sr-only" }, Za = {
2145
- key: 2,
2146
- class: "drop-list"
2147
- }, el = ["href", "lang"], tl = /* @__PURE__ */ B({
2148
- __name: "KrdsLanguageSwitcher",
2225
+ }), Tt = _t, Vt = D({
2226
+ name: "KrdsLanguageSwitcher",
2149
2227
  props: {
2150
- languageList: {},
2151
- modelValue: { default: "" },
2152
- type: { default: "default" },
2153
- dropPosition: { default: "center" },
2154
- class: {},
2155
- style: {},
2156
- id: {}
2228
+ languageList: {
2229
+ type: Array,
2230
+ required: !0
2231
+ },
2232
+ modelValue: {
2233
+ type: String,
2234
+ default: ""
2235
+ },
2236
+ type: {
2237
+ type: String,
2238
+ default: "default"
2239
+ },
2240
+ dropPosition: {
2241
+ type: String,
2242
+ 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
+ }
2157
2256
  },
2158
2257
  emits: ["update:modelValue", "close"],
2159
- setup(e, { emit: a }) {
2160
- const n = e, l = a, s = L(!1), r = L(), o = L(), v = () => {
2161
- s.value = !s.value, s.value && r.value && g();
2162
- }, f = () => {
2163
- s.value = !1;
2164
- }, b = (i) => {
2165
- l("update:modelValue", i), f(), l("close"), o.value?.focus();
2166
- }, g = () => {
2167
- if (!r.value) return;
2168
- const i = r.value.querySelector(".drop-menu");
2258
+ setup(e, { emit: l, slots: r }) {
2259
+ const a = _(!1), n = _(), s = _(), d = () => {
2260
+ a.value = !a.value, a.value && n.value && S();
2261
+ }, h = () => {
2262
+ a.value = !1;
2263
+ }, f = (i) => {
2264
+ l("update:modelValue", i), h(), l("close"), s.value?.focus();
2265
+ }, S = () => {
2266
+ if (!n.value) return;
2267
+ const i = n.value.querySelector(".drop-menu");
2169
2268
  if (!i) return;
2170
- const c = i.getBoundingClientRect(), u = window.innerWidth;
2171
- r.value.classList.remove("drop-left", "drop-right"), c.left < 0 ? r.value.classList.add("drop-left") : u < c.left + c.width && r.value.classList.add("drop-right");
2172
- }, _ = (i) => {
2173
- i.key === "Escape" && (f(), o.value?.focus());
2174
- }, S = (i) => {
2175
- r.value?.contains(i.target) || f();
2176
- }, V = (i) => {
2177
- r.value?.contains(i.relatedTarget) || f();
2178
- }, d = (i) => {
2179
- if (!r.value) return;
2180
- r.value.querySelectorAll(".drop-list .item-link").forEach((u) => {
2181
- u.style.position = "relative", u.style.zIndex = "0";
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) => {
2272
+ i.key === "Escape" && (h(), s.value?.focus());
2273
+ }, C = (i) => {
2274
+ n.value?.contains(i.target) || h();
2275
+ }, y = (i) => {
2276
+ n.value?.contains(i.relatedTarget) || h();
2277
+ }, k = (i) => {
2278
+ if (!n.value) return;
2279
+ n.value.querySelectorAll(".drop-list .item-link").forEach((m) => {
2280
+ m.style.position = "relative", m.style.zIndex = "0";
2182
2281
  });
2183
- const c = i.target;
2184
- c.style.zIndex = "1";
2282
+ const v = i.target;
2283
+ v.style.zIndex = "1";
2185
2284
  };
2186
- return re(s, (i) => {
2187
- i ? (document.addEventListener("keydown", _), document.addEventListener("click", S)) : (document.removeEventListener("keydown", _), document.removeEventListener("click", S));
2188
- }), Z(() => {
2189
- document.removeEventListener("keydown", _), document.removeEventListener("click", S);
2190
- }), (i, c) => (D(), T("div", {
2191
- ref_key: "dropdownRef",
2192
- ref: r,
2193
- class: R(["krds-drop-wrap krds-language", {
2194
- active: s.value,
2195
- "drop-left": n.dropPosition === "left",
2196
- "drop-right": n.dropPosition === "right"
2197
- }]),
2198
- onFocusout: V
2199
- }, [p("button", {
2200
- ref_key: "buttonRef",
2201
- ref: o,
2202
- type: "button",
2203
- class: R(["krds-btn small text drop-btn", { active: s.value }]),
2204
- "aria-expanded": s.value,
2205
- onClick: v
2206
- }, [
2207
- c[0] || (c[0] = p("i", { class: "svg-icon ico-global" }, null, -1)),
2208
- J(i.$slots, "default"),
2209
- c[1] || (c[1] = p("i", { class: "svg-icon ico-toggle" }, null, -1))
2210
- ], 10, Ga), p("div", {
2211
- class: "drop-menu",
2212
- style: ne({ display: s.value ? "block" : "none" })
2213
- }, [p("div", Ya, [i.$slots["prev-item"] ? (D(), T("div", Ua, [J(i.$slots, "prev-item")])) : X("", !0), n.type === "default" ? (D(), T("ul", Xa, [(D(!0), T(W, null, Y(e.languageList, (u) => (D(), T("li", { key: u.code }, [p("a", {
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);
2289
+ });
2290
+ const u = () => t("ul", { class: "drop-list" }, e.languageList.map((i) => t("li", { key: i.code }, [t("a", {
2214
2291
  href: "#",
2215
- class: R(["item-link", { active: n.modelValue === u.code }]),
2216
- lang: u.code,
2217
- "aria-selected": n.modelValue === u.code,
2218
- onClick: ce((h) => b(u.code), ["prevent"]),
2219
- onFocus: d
2220
- }, [N(M(u.name) + " ", 1), p("span", Qa, M(n.modelValue === u.code ? "선택됨" : ""), 1)], 42, Ja)]))), 128))])) : n.type === "external" ? (D(), T("ul", Za, [(D(!0), T(W, null, Y(e.languageList, (u) => (D(), T("li", { key: u.code }, [p("a", {
2221
- href: u.url || "#",
2292
+ class: ["item-link", { active: e.modelValue === i.code }],
2293
+ lang: i.code,
2294
+ "aria-selected": e.modelValue === i.code,
2295
+ onClick: J(() => f(i.code), ["prevent"]),
2296
+ onFocus: k
2297
+ }, [
2298
+ i.name,
2299
+ " ",
2300
+ t("span", { class: "sr-only" }, e.modelValue === i.code ? "선택됨" : "")
2301
+ ])]))), o = () => t("ul", { class: "drop-list" }, e.languageList.map((i) => t("li", { key: i.code }, [t("a", {
2302
+ href: i.url || "#",
2222
2303
  class: "item-link",
2223
- lang: u.code,
2304
+ lang: i.code,
2224
2305
  target: "_blank",
2225
2306
  title: "새 창 열림",
2226
- onFocus: d
2227
- }, [N(M(u.name) + " ", 1), c[2] || (c[2] = p("i", { class: "svg-icon ico-go" }, null, -1))], 40, el)]))), 128))])) : X("", !0)])], 4)], 34));
2307
+ onFocus: k
2308
+ }, [
2309
+ i.name,
2310
+ " ",
2311
+ t("i", { class: "svg-icon ico-go" })
2312
+ ])])));
2313
+ return () => t("div", {
2314
+ ref: n,
2315
+ class: [
2316
+ "krds-drop-wrap",
2317
+ "krds-language",
2318
+ {
2319
+ active: a.value,
2320
+ "drop-left": e.dropPosition === "left",
2321
+ "drop-right": e.dropPosition === "right"
2322
+ }
2323
+ ],
2324
+ onFocusout: y
2325
+ }, [t("button", {
2326
+ ref: s,
2327
+ type: "button",
2328
+ class: ["krds-btn small text drop-btn", { active: a.value }],
2329
+ "aria-expanded": a.value,
2330
+ onClick: d
2331
+ }, [
2332
+ t("i", { class: "svg-icon ico-global" }),
2333
+ r.default?.(),
2334
+ t("i", { class: "svg-icon ico-toggle" })
2335
+ ]), t("div", {
2336
+ 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])])]);
2228
2339
  }
2229
- }), al = tl, ll = al, sl = { class: "drop-in" }, nl = { class: "drop-list" }, rl = ["data-adjust-scale", "onClick"], il = { class: "drop-bottom" }, ol = /* @__PURE__ */ B({
2230
- __name: "KrdsResize",
2340
+ }), Et = Vt, zt = D({
2341
+ name: "KrdsResize",
2231
2342
  emits: ["update:modelValue", "close"],
2232
- setup(e, { emit: a }) {
2233
- const n = a, l = L(!1), s = L(), r = L(), o = L("md"), v = [
2343
+ setup(e, { emit: l }) {
2344
+ const r = _(!1), a = _(), n = _(), s = _("md"), d = [
2234
2345
  {
2235
2346
  key: "sm",
2236
2347
  label: "작게",
@@ -2256,69 +2367,71 @@ var Pt = B({
2256
2367
  label: "가장 크게",
2257
2368
  zoom: "1.5"
2258
2369
  }
2259
- ], f = () => {
2260
- l.value = !l.value, l.value && s.value && S();
2261
- }, b = () => {
2262
- l.value = !1;
2263
- }, g = (u) => {
2264
- b(), n("close"), r.value?.focus(), o.value = u.key, document.body.style.zoom = u?.zoom;
2265
- }, _ = () => {
2266
- const u = v.find((h) => h.key === "md");
2267
- u && g(u);
2268
- }, S = () => {
2269
- if (!s.value) return;
2270
- const u = s.value.querySelector(".drop-menu");
2271
- if (!u) return;
2272
- const h = u.getBoundingClientRect(), m = window.innerWidth;
2273
- s.value.classList.remove("drop-left", "drop-right"), h.left < 0 ? s.value.classList.add("drop-left") : m < h.left + h.width && s.value.classList.add("drop-right");
2274
- }, V = (u) => {
2275
- u.key === "Escape" && (b(), r.value?.focus());
2276
- }, d = (u) => {
2277
- s.value?.contains(u.target) || b();
2278
- }, i = (u) => {
2279
- s.value?.contains(u.relatedTarget) || b();
2280
- }, c = (u) => {
2281
- if (!s.value) return;
2282
- s.value.querySelectorAll(".drop-list .item-link").forEach((m) => {
2370
+ ], h = () => {
2371
+ r.value = !r.value, r.value && a.value && C();
2372
+ }, f = () => {
2373
+ 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");
2382
+ 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();
2391
+ }, o = (i) => {
2392
+ if (!a.value) return;
2393
+ a.value.querySelectorAll(".drop-list .item-link").forEach((m) => {
2283
2394
  m.style.position = "relative", m.style.zIndex = "0";
2284
2395
  });
2285
- const h = u.target;
2286
- h.style.zIndex = "1";
2396
+ const v = i.target;
2397
+ v.style.zIndex = "1";
2287
2398
  };
2288
- return re(l, (u) => {
2289
- u ? (document.addEventListener("keydown", V), document.addEventListener("click", d)) : (document.removeEventListener("keydown", V), document.removeEventListener("click", d));
2290
- }), Z(() => {
2291
- document.removeEventListener("keydown", V), document.removeEventListener("click", d);
2292
- }), (u, h) => (D(), T("div", {
2293
- ref_key: "dropdownRef",
2294
- ref: s,
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);
2403
+ }), () => t("div", {
2404
+ ref: a,
2295
2405
  class: "krds-drop-wrap krds-resize",
2296
2406
  "data-adjust": "scale",
2297
- onFocusout: i
2298
- }, [p("button", {
2299
- ref_key: "buttonRef",
2300
- ref: r,
2407
+ onFocusout: u
2408
+ }, [t("button", {
2409
+ ref: n,
2301
2410
  type: "button",
2302
2411
  class: "krds-btn small text drop-btn",
2303
- onClick: f
2304
- }, [...h[0] || (h[0] = [N(" 화면크기 ", -1), p("i", { class: "svg-icon ico-toggle" }, null, -1)])], 512), p("div", {
2412
+ onClick: h
2413
+ }, ["화면크기 ", t("i", { class: "svg-icon ico-toggle" })]), t("div", {
2305
2414
  class: "drop-menu",
2306
- style: ne({ display: l.value ? "block" : "none" })
2307
- }, [p("div", sl, [p("ul", nl, [(D(), T(W, null, Y(v, (m) => p("li", { key: m.key }, [p("button", {
2415
+ 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", {
2308
2417
  type: "button",
2309
- class: R(["item-link", [m.key, m.key === o.value ? "active" : ""]]),
2310
- "data-adjust-scale": m.key,
2311
- onClick: ce((w) => g(m), ["prevent"]),
2312
- onFocus: c
2313
- }, M(m.label), 43, rl)])), 64))]), p("div", il, [p("button", {
2418
+ class: [
2419
+ "item-link",
2420
+ i.key,
2421
+ i.key === s.value ? "active" : ""
2422
+ ],
2423
+ "data-adjust-scale": i.key,
2424
+ onClick: J(() => S(i), ["prevent"]),
2425
+ onFocus: o
2426
+ }, i.label)]))), t("div", { class: "drop-bottom" }, [t("button", {
2314
2427
  type: "button",
2315
2428
  class: "krds-btn medium text",
2316
2429
  "data-adjust-scale": "md",
2317
- onClick: ce(_, ["prevent"]),
2318
- onFocus: c
2319
- }, [...h[1] || (h[1] = [p("i", { class: "svg-icon ico-reset" }, null, -1), N(" 초기화 ", -1)])], 32)])])], 4)], 544));
2430
+ onClick: J(p, ["prevent"]),
2431
+ onFocus: o
2432
+ }, [t("i", { class: "svg-icon ico-reset" }), " 초기화"])])])])]);
2320
2433
  }
2321
- }), dl = ol, ul = dl, cl = B({
2434
+ }), It = zt, At = D({
2322
2435
  name: "KrdsModal",
2323
2436
  props: {
2324
2437
  modelValue: {
@@ -2352,60 +2465,60 @@ var Pt = B({
2352
2465
  },
2353
2466
  emits: ["update:modelValue"],
2354
2467
  slots: Object,
2355
- setup(e, { slots: a, emit: n }) {
2356
- const l = Ie()?.uid, s = k(() => e.modalId ?? `krds-modal-${l}`), r = k({
2468
+ setup(e, { slots: l, emit: r }) {
2469
+ const a = Se()?.uid, n = g(() => e.modalId ?? `krds-modal-${a}`), s = g({
2357
2470
  get: () => e.modelValue,
2358
- set: (c) => n("update:modelValue", c)
2359
- }), o = k(() => `tit_${s.value}`), v = k(() => ({
2471
+ set: (i) => r("update:modelValue", i)
2472
+ }), d = g(() => `tit_${n.value}`), h = g(() => ({
2360
2473
  small: "modal-sm",
2361
2474
  medium: "modal-md",
2362
2475
  large: "modal-lg"
2363
2476
  })[e.size]), f = () => {
2364
- r.value = !1;
2477
+ s.value = !1;
2365
2478
  };
2366
- let b = "", g = null;
2367
- const _ = L(null), S = (c) => Array.from(c.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])')).filter((u) => !u.hasAttribute("disabled") && u.getAttribute("tabindex") !== "-1"), V = (c) => {
2368
- if (!_.value || c.key !== "Tab") return;
2369
- const u = S(_.value);
2370
- if (u.length === 0) {
2371
- c.preventDefault();
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) {
2484
+ i.preventDefault();
2372
2485
  return;
2373
2486
  }
2374
- const h = u[0], m = u[u.length - 1];
2375
- c.shiftKey && document.activeElement === h ? (c.preventDefault(), m.focus()) : !c.shiftKey && document.activeElement === m && (c.preventDefault(), h.focus());
2376
- }, d = (c) => {
2377
- c.key === "Escape" && !e.persistent && f();
2378
- }, i = () => {
2379
- document.body.style.overflow = b, document.removeEventListener("keydown", V), document.removeEventListener("keydown", d), g && (g.focus(), g = null), _.value = null;
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();
2491
+ }, o = () => {
2492
+ document.body.style.overflow = S, document.removeEventListener("keydown", k), document.removeEventListener("keydown", u), p && (p.focus(), p = null), C.value = null;
2380
2493
  };
2381
- return re(() => e.modelValue, async (c) => {
2382
- if (c) {
2383
- b = document.body.style.overflow, document.body.style.overflow = "hidden", g = document.activeElement, await Ke();
2384
- const u = document.getElementById(s.value);
2385
- if (u) {
2386
- _.value = u;
2387
- const h = u.querySelector(".modal-conts");
2388
- h && (h.setAttribute("tabindex", "-1"), h.focus()), document.addEventListener("keydown", V), document.addEventListener("keydown", d);
2494
+ return G(() => e.modelValue, async (i) => {
2495
+ 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);
2389
2502
  }
2390
- } else i();
2391
- }, { immediate: !0 }), fe(() => {
2392
- e.modelValue && i();
2503
+ } else o();
2504
+ }, { immediate: !0 }), Q(() => {
2505
+ e.modelValue && o();
2393
2506
  }), () => {
2394
- if (!r.value) return null;
2395
- const c = {
2396
- id: s.value,
2507
+ if (!s.value) return null;
2508
+ const i = {
2509
+ id: n.value,
2397
2510
  class: "krds-modal fade in shown",
2398
2511
  role: "dialog",
2399
2512
  "aria-modal": !0,
2400
- "aria-labelledby": o.value
2513
+ "aria-labelledby": d.value
2401
2514
  };
2402
- return e.full ? c["data-type"] = "full" : e.bottomSheet && (c["data-type"] = "bottom-sheet"), t(ze, { to: "body" }, t("section", c, [t("div", { class: `modal-dialog ${v.value}` }, [t("div", { class: "modal-content" }, [
2403
- a.title ? t("div", { class: "modal-header" }, [t("h2", {
2404
- id: o.value,
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,
2405
2518
  class: "modal-title"
2406
- }, a.title())]) : null,
2407
- t("div", { class: "modal-conts" }, [t("div", { class: "conts-area" }, a.default?.())]),
2408
- a.footer ? t("div", { class: "modal-btn btn-wrap" }, a.footer()) : null,
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,
2409
2522
  t("button", {
2410
2523
  type: "button",
2411
2524
  class: "krds-btn medium icon btn-close close-modal",
@@ -2417,7 +2530,7 @@ var Pt = B({
2417
2530
  })]));
2418
2531
  };
2419
2532
  }
2420
- }), fl = cl, vl = B({
2533
+ }), Ft = At, Mt = D({
2421
2534
  name: "KrdsAccordionGroup",
2422
2535
  props: {
2423
2536
  typeLine: {
@@ -2429,47 +2542,56 @@ var Pt = B({
2429
2542
  default: void 0
2430
2543
  }
2431
2544
  },
2432
- setup(e, { slots: a }) {
2433
- const n = k(() => {
2434
- const l = ["krds-accordion"];
2435
- return e.typeLine && l.push("type-line"), e.class && l.push(e.class), l;
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;
2436
2549
  });
2437
- return () => t("div", { class: n.value }, a.default?.());
2550
+ return () => t("div", { class: r.value }, l.default?.());
2438
2551
  }
2439
- }), pl = vl, hl = ["id"], ml = { class: "accordion-header" }, yl = [
2440
- "id",
2441
- "aria-expanded",
2442
- "aria-controls"
2443
- ], gl = ["id", "aria-labelledby"], bl = { class: "accordion-body" }, kl = /* @__PURE__ */ B({
2444
- __name: "KrdsAccordionItem",
2552
+ }), Pt = Mt, Rt = D({
2553
+ name: "KrdsAccordionItem",
2445
2554
  props: {
2446
- id: {},
2447
- openItem: {},
2448
- title: {},
2449
- content: {}
2555
+ id: {
2556
+ type: String,
2557
+ required: !0
2558
+ },
2559
+ openItem: {
2560
+ type: String,
2561
+ default: void 0
2562
+ },
2563
+ title: {
2564
+ type: String,
2565
+ default: void 0
2566
+ },
2567
+ content: {
2568
+ type: String,
2569
+ default: void 0
2570
+ }
2450
2571
  },
2451
2572
  emits: ["toggle"],
2452
- setup(e, { emit: a }) {
2453
- const n = e, l = a, s = k(() => n.openItem === n.id), r = () => {
2454
- l("toggle", n.id);
2573
+ setup(e, { emit: l, slots: r }) {
2574
+ const a = g(() => e.openItem === e.id), n = () => {
2575
+ l("toggle", e.id);
2455
2576
  };
2456
- return (o, v) => (D(), T("div", {
2577
+ return () => t("div", {
2457
2578
  id: e.id,
2458
- class: R(["accordion-item", { active: s.value }])
2459
- }, [p("h5", ml, [p("button", {
2579
+ class: ["accordion-item", { active: a.value }]
2580
+ }, [t("h5", { class: "accordion-header" }, [t("button", {
2460
2581
  id: `accordion-header-${e.id}`,
2461
2582
  type: "button",
2462
- class: "btn-accordion",
2463
- "aria-expanded": s.value,
2583
+ class: ["btn-accordion", { active: a.value }],
2584
+ "aria-expanded": a.value,
2464
2585
  "aria-controls": `accordion-collapse-${e.id}`,
2465
- onClick: v[0] || (v[0] = (f) => r())
2466
- }, [J(o.$slots, "title", {}, () => [N(M(e.title), 1)])], 8, yl)]), p("div", {
2586
+ onClick: n
2587
+ }, r.title?.() ?? e.title)]), t("div", {
2467
2588
  id: `accordion-collapse-${e.id}`,
2468
2589
  class: "accordion-collapse collapse",
2590
+ role: "region",
2469
2591
  "aria-labelledby": `accordion-header-${e.id}`
2470
- }, [p("div", bl, [J(o.$slots, "content", {}, () => [N(M(e.content), 1)])])], 8, gl)], 10, hl));
2592
+ }, [t("div", { class: "accordion-body" }, r.content?.() ?? e.content)])]);
2471
2593
  }
2472
- }), Sl = kl, Kl = Sl, wl = B({
2594
+ }), qt = Rt, Ht = D({
2473
2595
  name: "KrdsTts",
2474
2596
  props: {
2475
2597
  text: {
@@ -2503,49 +2625,49 @@ var Pt = B({
2503
2625
  "end",
2504
2626
  "error"
2505
2627
  ],
2506
- setup(e, { emit: a }) {
2507
- const n = L(!1);
2508
- let l = null;
2509
- const s = () => {
2510
- typeof window < "u" && window.speechSynthesis && window.speechSynthesis.cancel(), n.value = !1, l = null;
2511
- }, r = () => {
2628
+ setup(e, { emit: l }) {
2629
+ const r = _(!1);
2630
+ let a = null;
2631
+ const n = () => {
2632
+ typeof window < "u" && window.speechSynthesis && window.speechSynthesis.cancel(), r.value = !1, a = null;
2633
+ }, s = () => {
2512
2634
  if (!e.disabled) {
2513
- if (n.value) {
2514
- s(), a("pause");
2635
+ if (r.value) {
2636
+ n(), l("pause");
2515
2637
  return;
2516
2638
  }
2517
2639
  if (typeof window > "u" || !window.speechSynthesis) {
2518
- a("error", /* @__PURE__ */ new Error("SpeechSynthesis API is not supported"));
2640
+ l("error", /* @__PURE__ */ new Error("SpeechSynthesis API is not supported"));
2519
2641
  return;
2520
2642
  }
2521
- window.speechSynthesis.cancel(), l = new SpeechSynthesisUtterance(e.text), l.lang = "ko-KR", l.onstart = () => {
2522
- n.value = !0;
2523
- }, l.onend = () => {
2524
- n.value = !1, l = null, a("end");
2525
- }, l.onerror = (f) => {
2526
- n.value = !1, l = null, f.error !== "canceled" && a("error", new Error(f.error));
2527
- }, window.speechSynthesis.speak(l), a("play", e.text);
2643
+ window.speechSynthesis.cancel(), a = new SpeechSynthesisUtterance(e.text), a.lang = "ko-KR", a.onstart = () => {
2644
+ 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);
2528
2650
  }
2529
- }, o = k(() => {
2651
+ }, d = g(() => {
2530
2652
  const f = ["krds-tts"];
2531
- return e.size && f.push(e.size), n.value ? f.push("pause") : e.icon === "play" && f.push("play"), e.class && f.push(e.class), f;
2532
- }), v = k(() => n.value ? "ico-stop" : e.icon === "play" ? "ico-play" : "ico-volume");
2533
- return fe(() => {
2534
- s();
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(() => {
2656
+ n();
2535
2657
  }), () => {
2536
2658
  const f = [t("span", {
2537
2659
  class: "krds-tts-icon",
2538
2660
  "aria-hidden": "true"
2539
- }, [t("i", { class: `svg-icon ${v.value}` })])];
2661
+ }, [t("i", { class: `svg-icon ${h.value}` })])];
2540
2662
  return e.label && f.push(t("span", { class: "krds-tts-text" }, e.label)), t("button", {
2541
2663
  type: "button",
2542
- class: o.value,
2664
+ class: d.value,
2543
2665
  disabled: e.disabled || void 0,
2544
- onClick: r
2666
+ onClick: s
2545
2667
  }, f);
2546
2668
  };
2547
2669
  }
2548
- }), _l = wl, Cl = B({
2670
+ }), Nt = Ht, Ot = D({
2549
2671
  name: "KrdsTable",
2550
2672
  props: {
2551
2673
  caption: {
@@ -2567,55 +2689,66 @@ var Pt = B({
2567
2689
  },
2568
2690
  emits: ["row-click"],
2569
2691
  slots: Object,
2570
- setup(e, { emit: a, slots: n }) {
2571
- const l = k(() => {
2572
- const d = ["tbl"];
2573
- return e.class && d.push(e.class), d;
2574
- }), s = k(() => ["krds-table-wrap"]), r = (d) => d.headerStyle || void 0, o = (d) => {
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) => {
2697
+ 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) => {
2700
+ if (o.style)
2701
+ return typeof o.style == "function" ? o.style(u) : o.style;
2702
+ }, f = (u, o) => {
2575
2703
  const i = [];
2576
- return d.align && i.push(`text-${d.align}`), d.headerClasses && i.push(d.headerClasses), i.length > 0 ? i : void 0;
2577
- }, v = (d, i) => {
2578
- if (i.style)
2579
- return typeof i.style == "function" ? i.style(d) : i.style;
2580
- }, f = (d, i) => {
2581
- const c = [];
2582
- if (i.align && c.push(`text-${i.align}`), i.classes) {
2583
- const u = typeof i.classes == "function" ? i.classes(d) : i.classes;
2584
- c.push(u);
2704
+ 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);
2585
2707
  }
2586
- return c.length > 0 ? c : void 0;
2587
- }, b = () => !e.columns.length || !e.columns.some((d) => d.headerStyle && d.headerStyle.includes("width")) ? null : t("colgroup", e.columns.map((d) => {
2588
- if (!d.headerStyle) return t("col");
2589
- const i = d.headerStyle.match(/width\s*:\s*([^;]+)/i);
2590
- return t("col", { style: i ? { width: i[1].trim() } : void 0 });
2591
- })), g = () => e.columns.length ? t("thead", [t("tr", e.columns.map((d) => {
2592
- const i = r(d);
2593
- return t("th", {
2594
- scope: "col",
2595
- class: o(d),
2596
- style: i
2597
- }, d.label);
2598
- }))]) : null, _ = (d, i) => typeof i.field == "function" ? i.field(d) : d[i.field], S = () => e.rows.length ? t("tbody", e.rows.map((d, i) => t("tr", { onClick: () => V(d, i) }, e.columns.map((c, u) => {
2599
- const h = _(d, c), m = typeof h == "function" ? h() : h, w = v(d, c), C = f(d, c);
2600
- return t(u === 0 ? "th" : "td", {
2601
- scope: u === 0 ? "row" : void 0,
2602
- class: C,
2603
- style: w
2604
- }, m);
2605
- })))) : t("tbody", [t("tr", [t("td", {
2606
- colspan: e.columns.length || 1,
2607
- class: "text-center"
2608
- }, n["no-data"] ? n["no-data"]() : "데이터가 없습니다.")])]), V = (d, i) => {
2609
- a("row-click", d, i);
2708
+ 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);
2712
+ return t("col", { style: o ? { width: o[1].trim() } : void 0 });
2713
+ })), p = () => {
2714
+ if (!e.columns.length) return null;
2715
+ const u = e.columns.map((o) => {
2716
+ const i = s(o), v = d(o);
2717
+ return t("th", {
2718
+ scope: "col",
2719
+ class: v,
2720
+ style: i
2721
+ }, o.label);
2722
+ });
2723
+ return t("thead", [t("tr", u)]);
2724
+ }, C = (u, o) => typeof o.field == "function" ? o.field(u) : u[o.field], y = () => {
2725
+ if (!e.rows.length) return t("tbody", [t("tr", [t("td", {
2726
+ colspan: e.columns.length || 1,
2727
+ class: "text-center"
2728
+ }, 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);
2737
+ });
2738
+ return t("tr", { onClick: () => k(o, i) }, v);
2739
+ });
2740
+ return t("tbody", u);
2741
+ }, k = (u, o) => {
2742
+ l("row-click", u, o);
2610
2743
  };
2611
- return () => t("div", { class: s.value }, [t("table", { class: l.value }, [
2744
+ return () => t("div", { class: n.value }, [t("table", { class: a.value }, [
2612
2745
  e.caption && t("caption", e.caption),
2613
- b(),
2614
- g(),
2615
- S()
2746
+ S(),
2747
+ p(),
2748
+ y()
2616
2749
  ])]);
2617
2750
  }
2618
- }), $l = Cl, xl = B({
2751
+ }), jt = Ot, Wt = D({
2619
2752
  name: "KrdsHeader",
2620
2753
  props: {
2621
2754
  id: {
@@ -2632,29 +2765,29 @@ var Pt = B({
2632
2765
  }
2633
2766
  },
2634
2767
  slots: Object,
2635
- setup(e, { slots: a }) {
2636
- const n = k(() => {
2637
- const l = [];
2638
- return e.class && l.push(e.class), l;
2768
+ setup(e, { slots: l }) {
2769
+ const r = g(() => {
2770
+ const a = [];
2771
+ return e.class && a.push(e.class), a;
2639
2772
  });
2640
2773
  return () => {
2641
- const l = [];
2642
- if (a.utility || a.branding) {
2643
- const r = [];
2644
- a.utility && r.push(t("div", { class: "header-utility" }, a.utility())), a.branding && r.push(t("div", { class: "header-branding" }, a.branding())), l.push(t("div", { class: "header-container" }, [t("div", { class: "inner" }, r)]));
2774
+ const a = [];
2775
+ if (l.utility || l.branding) {
2776
+ 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)]));
2645
2778
  }
2646
- a.navigation && l.push(t("nav", { class: "krds-main-menu" }, [t("div", { class: "inner" }, a.navigation())]));
2647
- const s = [t("div", { class: "header-in" }, l)];
2648
- return a.mobileNavigation && s.push(t("div", {
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", {
2649
2782
  id: e.mobileNavId,
2650
2783
  class: "krds-main-menu-mobile"
2651
- }, a.mobileNavigation())), t("header", {
2784
+ }, l.mobileNavigation())), t("header", {
2652
2785
  id: e.id,
2653
- class: n.value
2654
- }, s);
2786
+ class: r.value
2787
+ }, n);
2655
2788
  };
2656
2789
  }
2657
- }), Bl = xl, Ll = B({
2790
+ }), Gt = Wt, Yt = D({
2658
2791
  name: "KrdsFooter",
2659
2792
  props: {
2660
2793
  id: {
@@ -2666,22 +2799,22 @@ var Pt = B({
2666
2799
  default: void 0
2667
2800
  }
2668
2801
  },
2669
- setup(e, { slots: a }) {
2670
- const n = k(() => {
2671
- const v = [];
2672
- return e.class && v.push(e.class), v;
2673
- }), l = () => a.top ? t("div", { class: "foot-quick" }, [t("div", { class: "inner" }, a.top())]) : null, s = () => a.logo ? t("div", { class: "f-logo" }, a.logo()) : null, r = () => a.content ? t("div", { class: "f-cnt" }, a.content()) : null, o = () => a.bottom ? t("div", { class: "f-btm" }, a.bottom()) : null;
2802
+ setup(e, { slots: l }) {
2803
+ const r = g(() => {
2804
+ const h = [];
2805
+ 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;
2674
2807
  return () => {
2675
- const v = l(), f = s(), b = r(), g = o(), _ = [];
2676
- f && _.push(f), b && _.push(b), g && _.push(g);
2677
- const S = [];
2678
- return v && S.push(v), _.length > 0 && S.push(t("div", { class: "inner" }, _)), t("footer", {
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", {
2679
2812
  id: e.id,
2680
- class: n.value
2681
- }, S);
2813
+ class: r.value
2814
+ }, y);
2682
2815
  };
2683
2816
  }
2684
- }), Dl = Ll, Tl = B({
2817
+ }), Ut = Yt, Xt = D({
2685
2818
  name: "KrdsDisclosure",
2686
2819
  props: {
2687
2820
  title: {
@@ -2694,27 +2827,27 @@ var Pt = B({
2694
2827
  }
2695
2828
  },
2696
2829
  emits: ["update:modelValue"],
2697
- setup(e, { emit: a, slots: n }) {
2698
- const l = `disclosure-${ae()}`, s = k(() => e.modelValue), r = () => {
2699
- a("update:modelValue", !e.modelValue);
2830
+ setup(e, { emit: l, slots: r }) {
2831
+ const a = `disclosure-${O()}`, n = g(() => e.modelValue), s = () => {
2832
+ l("update:modelValue", !e.modelValue);
2700
2833
  };
2701
2834
  return () => t("div", { class: [
2702
2835
  "krds-disclosure",
2703
2836
  "conts-expand-area",
2704
- s.value && "active"
2837
+ n.value && "active"
2705
2838
  ] }, [t("button", {
2706
2839
  type: "button",
2707
2840
  class: "btn-conts-expand",
2708
- onClick: r,
2709
- "aria-expanded": s.value,
2710
- "aria-controls": l
2841
+ onClick: s,
2842
+ "aria-expanded": n.value,
2843
+ "aria-controls": a
2711
2844
  }, e.title), t("div", {
2712
- id: l,
2845
+ id: a,
2713
2846
  class: "expand-wrap",
2714
- inert: !s.value
2715
- }, [t("div", { class: "expand-in" }, n.default?.())])]);
2847
+ inert: !n.value
2848
+ }, [t("div", { class: "expand-in" }, r.default?.())])]);
2716
2849
  }
2717
- }), Vl = Tl, zl = B({
2850
+ }), Jt = Xt, Qt = D({
2718
2851
  name: "KrdsIdentifier",
2719
2852
  props: {
2720
2853
  class: {
@@ -2727,19 +2860,19 @@ var Pt = B({
2727
2860
  }
2728
2861
  },
2729
2862
  emits: ["click"],
2730
- setup(e, { emit: a, slots: n }) {
2731
- const l = k(() => {
2732
- const r = ["krds-identifier"];
2733
- return e.class && r.push(e.class), r;
2734
- }), s = (r) => {
2735
- a("click", r);
2863
+ setup(e, { emit: l, slots: r }) {
2864
+ const a = g(() => {
2865
+ const s = ["krds-identifier"];
2866
+ return e.class && s.push(e.class), s;
2867
+ }), n = (s) => {
2868
+ l("click", s);
2736
2869
  };
2737
2870
  return () => t("div", {
2738
- class: l.value,
2739
- onClick: s
2740
- }, [t("span", { class: "logo" }, [t("span", { class: "sr-only" }, e.logoLabel)]), t("span", { class: "ban-txt" }, n.default?.())]);
2871
+ class: a.value,
2872
+ onClick: n
2873
+ }, [t("span", { class: "logo" }, [t("span", { class: "sr-only" }, e.logoLabel)]), t("span", { class: "ban-txt" }, r.default?.())]);
2741
2874
  }
2742
- }), Il = zl, El = 50, Fl = B({
2875
+ }), Zt = Qt, ea = 50, ta = D({
2743
2876
  name: "KrdsLayout",
2744
2877
  props: {
2745
2878
  id: {
@@ -2760,46 +2893,46 @@ var Pt = B({
2760
2893
  scroll: (e) => !0,
2761
2894
  "scroll-height": (e) => !0
2762
2895
  },
2763
- setup(e, { slots: a, emit: n }) {
2764
- const l = L(0), s = L(0), r = L(0), o = L(null), v = L(null), f = L(null), b = () => {
2765
- const d = s.value;
2766
- l.value = window.scrollY, s.value = document.body.scrollHeight, d !== s.value && d > 0 && n("scroll-height", s.value);
2767
- }, g = () => {
2768
- if (!v.value || !e.enableScrollDetection) return;
2769
- const d = document.querySelector("#container");
2770
- if (!d) return;
2771
- const i = d.offsetTop, c = window.scrollY, u = c > r.value, h = c < r.value;
2772
- c > i + El ? u ? (v.value.classList.add("scroll-down"), v.value.classList.remove("scroll-up"), o.value = "down") : h && (v.value.classList.add("scroll-up"), v.value.classList.remove("scroll-down"), o.value = "up") : (v.value.classList.remove("scroll-down", "scroll-up"), o.value = null), r.value = c;
2773
- }, _ = () => {
2774
- b(), g(), n("scroll", {
2775
- scrollY: l.value,
2776
- scrollHeight: s.value,
2777
- direction: o.value,
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 = () => {
2901
+ 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,
2909
+ scrollHeight: n.value,
2910
+ direction: d.value,
2778
2911
  timestamp: Date.now()
2779
2912
  });
2780
- }, S = (d) => {
2781
- for (const i of d) {
2782
- const { width: c, height: u } = i.contentRect;
2783
- n("resize", {
2784
- width: c,
2785
- height: u
2913
+ }, y = (u) => {
2914
+ for (const o of u) {
2915
+ const { width: i, height: v } = o.contentRect;
2916
+ r("resize", {
2917
+ width: i,
2918
+ height: v
2786
2919
  });
2787
2920
  }
2788
- }, V = k(() => {
2789
- const d = ["g-wrap"];
2790
- return e.class && d.push(e.class), d;
2921
+ }, k = g(() => {
2922
+ const u = ["g-wrap"];
2923
+ return e.class && u.push(e.class), u;
2791
2924
  });
2792
- return te(() => {
2793
- e.enableScrollDetection && (b(), window.addEventListener("scroll", _, { passive: !0 })), v.value && typeof ResizeObserver < "u" && (f.value = new ResizeObserver(S), f.value.observe(v.value));
2794
- }), Z(() => {
2795
- e.enableScrollDetection && window.removeEventListener("scroll", _), f.value && (f.value.disconnect(), f.value = null);
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);
2796
2929
  }), () => t("div", {
2797
2930
  id: e.id,
2798
- class: V.value,
2799
- ref: v
2800
- }, a.default?.());
2931
+ class: k.value,
2932
+ ref: h
2933
+ }, l.default?.());
2801
2934
  }
2802
- }), Ml = Fl, Al = B({
2935
+ }), aa = ta, la = D({
2803
2936
  name: "KrdsSideNavigation",
2804
2937
  props: {
2805
2938
  title: {
@@ -2812,158 +2945,161 @@ var Pt = B({
2812
2945
  }
2813
2946
  },
2814
2947
  emits: ["update:modelValue"],
2815
- setup(e, { emit: a }) {
2816
- const n = k(() => e.modelValue || []), l = L(/* @__PURE__ */ new Map()), s = L(/* @__PURE__ */ new Map()), r = L(/* @__PURE__ */ new Map()), o = L(null), v = (m, w, C) => {
2817
- const x = `${w}-${C}`;
2818
- m ? l.value.set(x, m) : l.value.delete(x);
2819
- }, f = (m, w, C) => {
2820
- const x = `${w}-${C}`;
2821
- m ? s.value.set(x, m) : s.value.delete(x);
2822
- }, b = (m, w, C) => {
2823
- const x = `${w}-${C}`;
2824
- m ? r.value.set(x, m) : r.value.delete(x);
2825
- }, g = (m) => {
2826
- a("update:modelValue", n.value.map((w, C) => {
2827
- if (C === m && w.subItems) {
2828
- const x = w.expanded, $ = {
2829
- ...w,
2830
- expanded: !w.expanded
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
2831
2964
  };
2832
- return x && !$.expanded && ($.subItems = w.subItems.map((y) => ({
2833
- ...y,
2965
+ return x && !L.expanded && (L.subItems = b.subItems.map((c) => ({
2966
+ ...c,
2834
2967
  expanded: !1
2835
- })), o.value = null), $;
2968
+ })), d.value = null), L;
2836
2969
  }
2837
- return w;
2970
+ return b;
2838
2971
  }));
2839
- }, _ = (m, w) => {
2840
- a("update:modelValue", n.value.map((C, x) => x === m && C.subItems ? {
2841
- ...C,
2842
- subItems: C.subItems.map(($, y) => {
2843
- if (y === w && $.subItems) {
2844
- const K = {
2845
- ...$,
2846
- expanded: !$.expanded
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
2847
2980
  };
2848
- if (K.expanded) {
2849
- const F = `${m}-${w}`;
2850
- o.value = l.value.get(F) || null;
2851
- const P = s.value.get(F), A = r.value.get(F);
2852
- P && A && P.addEventListener("transitionend", () => {
2853
- A.focus();
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();
2854
2987
  }, { once: !0 });
2855
2988
  }
2856
- return K;
2989
+ return B;
2857
2990
  }
2858
- return $;
2991
+ return L;
2859
2992
  })
2860
- } : C));
2861
- }, S = (m, w) => {
2862
- a("update:modelValue", n.value.map((C, x) => x === m && C.subItems ? {
2863
- ...C,
2864
- subItems: C.subItems.map(($, y) => {
2865
- if (y === w && $.subItems && $.expanded) {
2866
- if (o.value) {
2867
- const K = o.value;
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;
2868
3001
  requestAnimationFrame(() => {
2869
- K.focus();
2870
- }), o.value = null;
3002
+ B.focus();
3003
+ }), d.value = null;
2871
3004
  }
2872
3005
  return {
2873
- ...$,
3006
+ ...L,
2874
3007
  expanded: !1
2875
3008
  };
2876
3009
  }
2877
- return $;
3010
+ return L;
2878
3011
  })
2879
- } : C));
2880
- }, V = (m, w, C) => {
2881
- const x = `${w}-${C}`, $ = s.value.get(x);
2882
- $ && !$.contains(m.relatedTarget) && S(w, C);
2883
- }, d = (m, w) => {
2884
- S(m, w);
2885
- }, i = (m, w) => {
2886
- m.onClick && m.onClick(w);
2887
- }, c = (m, w, C) => m.map((x, $) => t("li", {
2888
- key: `popup-item-${w}-${C}-${$}`,
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}`,
2889
3022
  role: "none"
2890
3023
  }, t("a", {
2891
3024
  href: x.href || "#",
2892
3025
  class: "lnb-btn",
2893
3026
  role: "menuitem",
2894
- onClick: (y) => i(x, y)
2895
- }, x.text))), u = (m, w) => m.map((C, x) => t("li", {
2896
- key: `lnb-subitem-${w}-${x}`,
2897
- class: ["lnb-subitem", { active: C.expanded }],
2898
- role: "none"
2899
- }, [C.subItems ? [t("button", {
2900
- ref: ($) => v($, w, x),
2901
- type: "button",
2902
- class: "lnb-btn lnb-toggle-popup",
2903
- role: "menuitem",
2904
- "aria-controls": `lnbmenu-${w}-${x}`,
2905
- "aria-expanded": C.expanded ? "true" : "false",
2906
- "aria-haspopup": "true",
2907
- onClick: () => _(w, x)
2908
- }, C.text), t("div", {
2909
- ref: ($) => f($, w, x),
2910
- id: `lnbmenu-${w}-${x}`,
2911
- class: ["lnb-submenu-lv2", { active: C.expanded }],
2912
- role: "menu",
2913
- onFocusout: ($) => V($, w, x)
2914
- }, [t("button", {
2915
- ref: ($) => b($, w, x),
2916
- type: "button",
2917
- class: "lnb-btn-tit",
2918
- onClick: () => d(w, x)
2919
- }, C.popupTitle || C.text), t("ul", {}, c(C.subItems || [], w, x))])] : t("a", {
2920
- href: C.href || "#",
2921
- class: ["lnb-btn", "lnb-link"],
2922
- role: "menuitem",
2923
- onClick: ($) => i(C, $)
2924
- }, C.text)])), h = () => n.value.map((m, w) => t("li", {
2925
- key: `lnb-item-${w}`,
2926
- class: ["lnb-item", { active: m.expanded }],
3027
+ onClick: (c) => o(x, c)
3028
+ }, x.text))), v = (K, b) => K.map((w, x) => {
3029
+ const L = `lnb-subitem-${b}-${x}`;
3030
+ return t("li", {
3031
+ key: L,
3032
+ class: ["lnb-subitem", { active: w.expanded }],
3033
+ role: "none"
3034
+ }, [w.subItems ? [t("button", {
3035
+ ref: (c) => h(c, b, x),
3036
+ type: "button",
3037
+ class: "lnb-btn lnb-toggle-popup",
3038
+ role: "menuitem",
3039
+ "aria-controls": `lnbmenu-${b}-${x}`,
3040
+ "aria-expanded": w.expanded ? "true" : "false",
3041
+ "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 }],
3047
+ role: "menu",
3048
+ onFocusout: (c) => k(c, b, x)
3049
+ }, [t("button", {
3050
+ ref: (c) => S(c, b, x),
3051
+ type: "button",
3052
+ 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 || "#",
3056
+ class: ["lnb-btn", "lnb-link"],
3057
+ 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 }],
2927
3063
  role: "none"
2928
3064
  }, [t("button", {
2929
3065
  type: "button",
2930
3066
  class: [
2931
3067
  "lnb-btn",
2932
3068
  "lnb-toggle",
2933
- { active: m.expanded }
3069
+ { active: K.expanded }
2934
3070
  ],
2935
3071
  role: "menuitem",
2936
- "aria-controls": `lnbmenu-${w}`,
2937
- "aria-expanded": m.expanded ? "true" : "false",
2938
- onClick: () => g(w)
2939
- }, m.text), m.subItems ? t("div", { class: "lnb-submenu" }, [t("ul", {
2940
- id: `lnbmenu-${w}`,
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}`,
2941
3077
  role: "menu"
2942
- }, u(m.subItems, w))]) : null]));
3078
+ }, v(K.subItems, b))]) : null]));
2943
3079
  return () => t("nav", { class: "krds-side-navigation" }, [t("h2", { class: "lnb-tit" }, e.title), t("ul", {
2944
3080
  class: "lnb-list",
2945
3081
  role: "menubar"
2946
- }, h())]);
3082
+ }, m())]);
2947
3083
  }
2948
- }), Rl = Al, Pl = B({
3084
+ }), na = la, sa = D({
2949
3085
  name: "KrdsStructuredList",
2950
3086
  props: { full: {
2951
3087
  type: Boolean,
2952
3088
  default: !0
2953
3089
  } },
2954
3090
  slots: Object,
2955
- setup(e, { slots: a }) {
3091
+ setup(e, { slots: l }) {
2956
3092
  return () => {
2957
- const n = a.cardTop?.(), l = a.cardBody?.(), s = a.cardBtm?.(), r = a.cardBtn?.(), o = t("li", { class: "structured-item" }, [t("div", { class: "in" }, [
2958
- n && t("div", { class: "card-top" }, n),
2959
- l && t("div", { class: "card-body" }, l),
2960
- s && t("div", { class: "card-btm" }, s),
2961
- r && t("div", { class: "card-btn" }, r)
3093
+ const r = l.cardTop?.(), a = l.cardBody?.(), n = l.cardBtm?.(), s = l.cardBtn?.(), d = t("li", { class: "structured-item" }, [t("div", { class: "in" }, [
3094
+ r && t("div", { class: "card-top" }, r),
3095
+ a && t("div", { class: "card-body" }, a),
3096
+ n && t("div", { class: "card-btm" }, n),
3097
+ s && t("div", { class: "card-btn" }, s)
2962
3098
  ].filter(Boolean))]);
2963
- return t("ul", { class: ["krds-structured-list", e.full ? "type-full" : ""] }, [o]);
3099
+ return t("ul", { class: ["krds-structured-list", e.full ? "type-full" : ""] }, [d]);
2964
3100
  };
2965
3101
  }
2966
- }), Hl = Pl, ql = B({
3102
+ }), ra = sa, ia = D({
2967
3103
  name: "KrdsTextList",
2968
3104
  props: {
2969
3105
  type: {
@@ -2975,10 +3111,10 @@ var Pt = B({
2975
3111
  default: "dash"
2976
3112
  }
2977
3113
  },
2978
- setup(e, { slots: a }) {
2979
- return () => t(e.type, { class: ["krds-info-list", e.variant] }, a.default?.());
3114
+ setup(e, { slots: l }) {
3115
+ return () => t(e.type, { class: ["krds-info-list", e.variant] }, l.default?.());
2980
3116
  }
2981
- }), Ol = ql, Nl = B({
3117
+ }), oa = ia, da = D({
2982
3118
  name: "KrdsCriticalAlerts",
2983
3119
  props: {
2984
3120
  type: {
@@ -2999,148 +3135,131 @@ var Pt = B({
2999
3135
  }
3000
3136
  },
3001
3137
  emits: ["link-click"],
3002
- setup(e, { emit: a }) {
3003
- const n = (s) => ({
3138
+ setup(e, { emit: l }) {
3139
+ const r = (n) => ({
3004
3140
  danger: "긴급",
3005
3141
  ok: "안전",
3006
3142
  info: "안내"
3007
- })[s], l = (s) => {
3008
- a("link-click", s);
3143
+ })[n], a = (n) => {
3144
+ l("link-click", n);
3009
3145
  };
3010
3146
  return () => t("ul", { class: "krds-critical-alerts" }, [t("li", [t("div", { class: "critical-ban" }, [
3011
- t("span", { class: ["critical-badge", e.type] }, n(e.type)),
3147
+ t("span", { class: ["critical-badge", e.type] }, r(e.type)),
3012
3148
  t("p", { class: "critical-txt" }, e.message),
3013
3149
  e.linkHref && t("a", {
3014
3150
  href: e.linkHref,
3015
3151
  class: "krds-btn medium link basic",
3016
- onClick: l
3152
+ onClick: a
3017
3153
  }, [t("span", { class: "m-hide" }, e.linkText), t("i", { class: "svg-icon ico-angle right" })])
3018
3154
  ])])]);
3019
3155
  }
3020
- }), jl = Nl, ke = /* @__PURE__ */ we({
3021
- KrdsAccordionGroup: () => pl,
3022
- KrdsAccordionItem: () => Kl,
3023
- KrdsBadge: () => Vt,
3024
- KrdsBreadcrumb: () => ia,
3025
- KrdsButton: () => Ae,
3026
- KrdsButtonGroup: () => Re,
3027
- KrdsCheckArea: () => Ot,
3028
- KrdsCheckbox: () => jt,
3029
- KrdsCoachMark: () => Pa,
3030
- KrdsContextualHelp: () => Ta,
3031
- KrdsCriticalAlerts: () => jl,
3032
- KrdsDateInput: () => wt,
3033
- KrdsDisclosure: () => Vl,
3034
- KrdsFileUpload: () => Dt,
3035
- KrdsFooter: () => Dl,
3036
- KrdsFormGroup: () => Ue,
3037
- KrdsFormHint: () => Ge,
3038
- KrdsFormLabel: () => je,
3039
- KrdsHeader: () => Bl,
3040
- KrdsIcon: () => Pe,
3041
- KrdsIdentifier: () => Il,
3042
- KrdsInPageNavigation: () => da,
3043
- KrdsInput: () => Oe,
3044
- KrdsLanguageSwitcher: () => ll,
3045
- KrdsLayout: () => Ml,
3046
- KrdsLink: () => He,
3047
- KrdsMasthead: () => At,
3048
- KrdsModal: () => fl,
3049
- KrdsPagination: () => ya,
3050
- KrdsPanel: () => wa,
3051
- KrdsRadio: () => Gt,
3052
- KrdsResize: () => ul,
3053
- KrdsSelect: () => xt,
3054
- KrdsSideNavigation: () => Rl,
3055
- KrdsSkipLink: () => ea,
3056
- KrdsSpinner: () => Yt,
3057
- KrdsStep: () => Qt,
3058
- KrdsStepIndicator: () => Xt,
3059
- KrdsStructuredList: () => Hl,
3060
- KrdsTable: () => $l,
3061
- KrdsTag: () => It,
3062
- KrdsTagGroup: () => Ft,
3063
- KrdsTextList: () => Ol,
3064
- KrdsTextarea: () => Ct,
3065
- KrdsToggleSwitch: () => Ht,
3066
- KrdsTooltip: () => Wa,
3067
- KrdsTts: () => _l
3068
- }), pe = {
3069
- mounted(e, a) {
3070
- a.value !== !1 && e.classList.add("sr-only");
3071
- },
3072
- updated(e, a) {
3073
- a.value === !1 ? e.classList.remove("sr-only") : e.classList.add("sr-only");
3074
- },
3075
- unmounted(e) {
3076
- e.classList.remove("sr-only");
3077
- }
3078
- }, oe = /* @__PURE__ */ we({
3079
- default: () => Se,
3080
- directives: () => Se,
3081
- installDirectives: () => $e,
3082
- vSrOnly: () => pe
3083
- }), Se = { "sr-only": pe }, $e = (e) => {
3084
- e.directive("sr-only", pe);
3085
- }, xe = "0.0.14", Ul = { install(e, a = {}) {
3086
- e.provide("krds:config", a), (a.components || Object.keys(ke)).forEach((n) => {
3087
- const l = ke[n];
3088
- l && e.component(n, l);
3089
- }), typeof oe == "object" && oe !== null && "installDirectives" in oe && $e(e), e.config.globalProperties.$krds = { version: xe };
3090
- } }, Xl = xe;
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;
3091
3210
  export {
3092
- pl as KrdsAccordionGroup,
3093
- Kl as KrdsAccordionItem,
3094
- Vt as KrdsBadge,
3095
- ia as KrdsBreadcrumb,
3096
- Ae as KrdsButton,
3097
- Re as KrdsButtonGroup,
3098
- Ot as KrdsCheckArea,
3099
- jt as KrdsCheckbox,
3100
- Pa as KrdsCoachMark,
3101
- Ta as KrdsContextualHelp,
3102
- jl as KrdsCriticalAlerts,
3103
- wt as KrdsDateInput,
3104
- Vl as KrdsDisclosure,
3105
- Dt as KrdsFileUpload,
3106
- Dl as KrdsFooter,
3107
- Ue as KrdsFormGroup,
3108
- Ge as KrdsFormHint,
3109
- je as KrdsFormLabel,
3110
- Bl as KrdsHeader,
3111
- Pe as KrdsIcon,
3112
- Il as KrdsIdentifier,
3113
- da as KrdsInPageNavigation,
3114
- Oe as KrdsInput,
3115
- ll as KrdsLanguageSwitcher,
3116
- Ml as KrdsLayout,
3117
- He as KrdsLink,
3118
- At as KrdsMasthead,
3119
- fl as KrdsModal,
3120
- ya as KrdsPagination,
3121
- wa as KrdsPanel,
3122
- Gt as KrdsRadio,
3123
- ul as KrdsResize,
3124
- xt as KrdsSelect,
3125
- Rl as KrdsSideNavigation,
3126
- ea as KrdsSkipLink,
3127
- Yt as KrdsSpinner,
3128
- Qt as KrdsStep,
3129
- Xt as KrdsStepIndicator,
3130
- Hl as KrdsStructuredList,
3131
- $l as KrdsTable,
3132
- It as KrdsTag,
3133
- Ft as KrdsTagGroup,
3134
- Ol as KrdsTextList,
3135
- Ct as KrdsTextarea,
3136
- Ht as KrdsToggleSwitch,
3137
- Wa as KrdsTooltip,
3138
- _l as KrdsTts,
3139
- ve as classNames,
3140
- Ul as default,
3141
- Gl as generateId,
3142
- Yl as generateUid,
3143
- Xl as version
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
3144
3263
  };
3145
3264
 
3146
3265
  //# sourceMappingURL=krds-vue.es.js.map